3,549 Commits over 1,522 Days - 0.10cph!
GameObjectFlags.DontDestroyOnLoad works
Session hash is a guid
Benchmark service
Remove debug
Benchmark api input
SkinnedModelRenderer - add string based bone getters
Fix GetPlayerStats caching wrong
LocalFileSystem cleanup
Add Application.HoveredWidget
Hide EngineOverlay if the game isn't visible
Fix SceneViewport hasmouseinput logic
Add Transform.ForwardRay
Fix editor not finding resources in libraries
Add GameObject.Clone( prefabPath )
Add copy/paste by right clicking property labels
Can set animgraph bool params using numbers
GameEditorSession stores the session that spawned it
Add SceneEditorSession.Resolve, GetParentSession
Can right click properties in game session and apply their tweaked values to editor session
Increase/Decrease grid size shortcuts were the wrong way around
Add grid axis selection in perspective viewport
Shutdown Tools properly on launcher exit
Add Close On Launch option to launcher
fix debug compile
Simplify how RecentScenes works
Load editor MRU and tags after all assets have been imported
Move Scene.Save to EditorSession.Save, update scene name/path on saveas, record asset as opened
Loading a prefab in editor loads the cloud assets
Fix NRE when setting border size to a %
Yoga3
* Latest version (fixes, additions)
* No longer relies on thirdparty facebook.yoga.dll
* Uses our interop system (faster)
* Much cleaner implementation
add support for multiple scene views, orthographic scene views, and configurable grid axis
add keybind to cycle camera plane around selection
refactor bits into SceneEditorViewport, re/store gizmo settings alongside viewport cookie
rework to single layout and splitter, disable new tab creation for now
add support for per-widget toolbar actions
save/restore sceneview layout
move viewport/instance gizmo settings to EditorCookie from ProjectCookie
move save/restore viewport cookies to addon space
no reason to copy+set camera transform anymore
use active SceneOverlayWidget directly
use a single toolmanager instance
fix nudging
remove some global gizmoinstance refs
tuck camera alignment shortcuts away in camera menu
maintain layout config when toggling viewport fullscreen
remove log
camera fixes: make orthographic clipping more predictable, add smooth(er) perspective/ortho transitions, fix gizmotest widget, reenable scene camera copy
add setting to lock scene camera rotation
fix incorrectly sized gizmo hitboxes in ortho view
replace remaining direct scene camera transform accessors
tweak sprite gizmo hitbox scale in ortho views
cleanup scene tick/draw flow with multiple viewports
replace legacy global GizmoInstance
snip unneeded multi-tab leftovers
use state/gizmo settings for scene view control
replace remaining ray length with Gizmo.RayDepth
don't try to save scene-specific viewport config for untitled scenes
use alternate check for IsUnderMouse
move viewport settings to ViewportState from GizmoSettings, use shared gizmo settings for all viewports
shift camera settings to EditorPreferences, simplify viewport options
restore single EditorScene gizmo settings
revert camera extension changes, fix pan and orbit zoom, tidy
use hammer's linked splitters for uniform viewport resizing
Misc fixes
Move EnablePostProcessing from GizmoSettings to ViewportState
Default each viewport to a unique perspective
Misc post-scenetab fixes
Hide skybox in 2d views
Split scene view layout/viewport classes into separate files
Tidy
Use frustum RayDepth for terrain, hitbox traces
Make 2d clipping less crap
Use black background for 2d views
We don't need to do this anymore
Fix perpendicular rotation handles being unusable in ortho views
Fix 2d box selection: Frustum.FromCorners does ortho properly, gizmo tweaks
Use correct gizmo settings for dragdrop
Use correct plane for 2d view drag drop
Prevent map cookie from overriding 2d viewmode rotation
Draw grid on top in 2d views
Merge branch 'master' into hackweek-multi-scene-view
Add Widget.GetAncestor<T>
Move Grid, Scene toolbars to header bar, remove SceneViewToolbar
Fix warnings
HeaderBar switch layout
Tweak viewport menu, so you can see the checkboxes
Merge pull request #1582 from Facepunch/hackweek-multi-scene-view
Multi-viewport and Ortho Scene views
Add BBox + Sphere GetVolume()
Call AudioProcessor.OnDestroy properly
Make DspProcessor public
Store and restore Mixer config when playing game in editor
Update Processors in mixer UI to show enabled status
catch and report exceptions when disposing GameObjectSystems
Dsp tweaks
Make Gizmo.Control.BoundingBox much more visually simple
Json Serialize Sphere properly (!)
Gizmo.Control.BoundingBox - adjust depth bias so we can always touch the handles through geo
This reverts
Expose Sphere
Add ControlSheet.CreateLabel( SerializedProperty property )
Add [InlineEditor], which will make structs editable inline when applied to a property
Add Editor.FileSystem.Config
Add string.GetFilenameSafe()
Layouts are stored in game/config/editor/layout/
Add/Update default layout
Add a small cache on Timings.Get
Extra checks in ByteStream
Where possible, cache DelegateFunctionPointer instead of calling GetFunctionPointerForDelegate every time
Completely avoid DelegateFunctionPointer.Get in PhysicsTrace
Fixed prefab scene bullshit
Fixes sbox-issues/issues/5636
Fixes sbox-issues/issues/5635
Fix bytestream overflows (and add test)
Make a bunch of stuff sealed
Fix SerializedPropertyProxy not forwarding TryGetAsObject, As (fixes sbox-issues/issues/5631)
Restore conversion from .object to .prefab
Fix NRE in SceneWidget when scene is deleted
Fix PrefabScene placeholder loading whole scene
Scenes free their SceneWorld/PhysicsWorld/GizmoInstance on close/destroy/finalize
Clean GetPrefabScene - actually load the prefab scene if not loaded (although I feel like this would already be doing that if it should be doing it)
Add TypeDescription.GetValue, SetValue - handles both properties and fields for QOL
TextDialog cleanup
ControlSheet.AddRow just creates a ControlWidgetRow (single path)
Move ComponentSheetHeader to its own file
Now GameObjectTransformControl uses the new path, we don't need to manually align margins
MakeIdGuidsUnique returns a translation dictionary
Store prefab guid to instance guid translation table on prefab instance root GameObject
Add EditorUtility.Prefabs.CreateAsset, obsolete GameObject.GetAsPrefab
Add CloneConfig.PrefabVariables
Add PrefabFile.VariableList
Simplify prefab instance lookup object by id
Add PrefabScene.VariableCollection
Prefab variables end to end
Show variable names when inspecting prefab
Prefab variables widget, editing, grouping, deleting
Fix ControlSheet stretching horizontally
Store variables in the prefab's RootObject, makes most sense
Variable star opens a menu instead
PrefabVariable UI https://files.facepunch.com/garry/83829991-476d-4934-ad39-099fc0f7ce6d.png
Fix prefab changes not updating after save
UI tweaks
Remove Scene.Save - way too confusing
Merge pull request #1603 from Facepunch/prefab-variables
Prefab Variables
Fixed scene selection not updating when switching active scene
Scene tab fixes
- Fix scene tabs being invisible when restoring layout
- Save/restore scene tab position in window state
- Place new scene tabs with existing scene tab when possible
Fixed ability to create an infinite destroy loop in QObject
ToolWindowManager: don't delete a window if we're removing it as a result of it being deleted
Add TypeLibrary.Create<T> that accepts args
Add GizmoInstance.Clear
Add DockManager.RaiseDock( Widget )
Move ShowCloseDialog to SceneEditorSession (it makes no sense on GameEditorSession)
EditorMainWindow exists during startup, but made visible after startup
Add Scene.Editor.FrameTo (replaces hacky "scene.frame" event) that doesn't work with multiple active scene sessions)
Make SceneEditorSession.Tick a member
Make SceneEditorSession .UpdateEditorTitle non static
Create a SceneDock for each open scene
Give playing scene tab a proper name
Add SceneEditorSession.BringToFront()
Don't try to save tool widget windows that have no name
Hide GameEditorSession + PrefabEditorSession , (its confusing people), refactor, document
Clean SceneViewWidget a bit
Use a different icon for prefab scenes
Add Gizmo.CursorMoveDelta , CursorDragDelta
If we move the mouse while pressing a GameObject, clear it as pressed
Move ObjectEditorTool to its own folder, to highlight that it's self contained
Feed ToolManager to current SceneCamera when updating
GameObject.GetBounds() returns a 1x1x1 square on the transform if no ModelRenderer's are found
Add Gizmo.Draw.ScreenRect
Cache ControlWidget type lookup
Add GameObject.HasGimzoHandle (this is gonna change at some point)
Get rid of this EntityPrefabEditor namespace
Add Rect.FromPoints
Add Frustum.FromCorners
Add SceneCamera.GetFrustum( rect )
Refactor Gizmo.Pressed
Move object selection to EditorTool
Remove Scene.HasUnsavedChanges
Open editor undo system up, debug dock
Delete SceneWorld objects when processing scene deletes
Components/GameObjects start disabled when creating, to avoid enable and quickly disable
Fix possible NRE when deleting camera
Call SceneWorld.DeletePendingObjects when clearing scene
Add Scene.Editor (ISceneEditorSession), allows game to talk to the EditorSession (gizmos etc)
Also make selection its own undo system - don't need to save the scene on every click
Fix undo system's snapshot system not complying with other undo actions
Add SoundHandle.Loopback, use voice_loopback to determine (for local voice)
Bounce talking party member
Mic icon when chatting
Switch to ServerGarbageCollection (we'll want to benchmark this when we have benchmarks)
Multiple threads to handle garbage collection, utilizing all available CPU cores.
Better performance in multi-core environments.
Reduced latency due to parallel processing.
Add Sound.UncompressVoiceData
Make Friend comparable
Basic party voice chat
PartyRoom - run tick at set interval, cache owner
Add Panel.ToggleClass
Remove ButtonGroupConstructor
Can change party title, capacity, public state
Fix enter/leave not updating chat box
Add party_id to rich presence
Add Connection.PartyId
Add more CompileCodeArchive tests
Fix buffer overrun (80% confidence)
Fix NotImplementedException in SteamLobbySocket - fixes sbox-issues/issues/5560
Sorry I'm an idiot
Switch from Marshal.SizeOf to Unsafe.SizeOf in a bunch of places where Marshal is wrong
Fix bone merged skinned model first frame being wrong
PartyRoom.SendChatMessage
Make lobby callbacks interface based, simpler, easier
Add retry resilience to DownloadString
When finding files to publish, also look in libraries
Highlight parties that are playing a game
Tweak to avoid game join timeout
Lets put a social bar on the pause menu
Fix not following leader into MP game
Validate download size in CodeArchive test
Retry downloads 3 times on non success status error
Follow party into network game
Move InterpolationBuffer to Sandbox.System
Cleanup Sandbox.Game
Remove unused steamworks stuff
Fix DelegateFunctionPointer making traces slow
Add pause menu
Add Game.Overlay.IsPauseMenuOpen