5,121 Commits over 1,552 Days - 0.14cph!
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
Remove Scene.Save - way too confusing
Fix prefab changes not updating after save
UI tweaks
PrefabVariable UI https://files.facepunch.com/garry/83829991-476d-4934-ad39-099fc0f7ce6d.png
Variable star opens a menu instead
Store variables in the prefab's RootObject, makes most sense
Fix ControlSheet stretching horizontally
Show variable names when inspecting prefab
Prefab variables widget, editing, grouping, deleting
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
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
Change how escape button works, so it has a set path from game => menu -> tools
Input.EscapePressed is no longer accumulated
Input.EscapePressed has a setter, so you can prevent it doing further things
Break game window focus in editor if escape is pressed
Delete ILobby
Add softsplit.donut to codearchive test