14,019 Commits over 1,583 Days - 0.37cph!
Add Rotation.ClosestAxis - Will give you the axis most aligned with the given normal
Add Gizmo.Nudge - Will give you a nudge vector along the most aligned left and up axis of the rotation
quick fix to skeleton gib vmdl
Fixed TransformTest randomly failing
Fixed Facepunch/sbox-issues#4947
Correct text-decoration thickness default value
Action Graphs can reference the GameResource they're embedded in
Ctrl+S in an embedded Action Graph saves its host scene
Asset Drag & Drop into Action Graph Editor (#1468)
Soundscape map hammer entity
info_player_start tint
Fix PositionEditorTool not snapping properly in localspace
Node input context menu signal fixes
Fixed nullable parameters in nodes
Fix warning when dragging non-text
Package.FormatIdent
Added default Resource.ToString(), Component.ToString()
Format matches GameObject.ToString(): "<type>:<name>"
Pass mouse events from labels to the plug, fixes #1465
https://files.facepunch.com/ziks/2024-02-22/sbox-dev_30vniCtdgM.mp4
Can create variables by right-clicking inputs
Add "Use Labeled Output" menu on input context menu
https://files.facepunch.com/ziks/2024-02-22/sbox-dev_5qn6eAweBY.mp4
Fixes #1464
Screen Panels are rendered after all cameras, instead of being overlays of main cameras - fixes sbox-issues/issues/4664
https://files.facepunch.com/tony/1b2211b1/sbox-dev_3GOBPSIXii.png
Clear dirty framebuffer region when popping a UI layer
sbox/issues/1461
Editor tools can create subtools, move, rotation, scale become subtools
Don't update Project.LastOpened when adding it from file
Support for tabs in text drawing (#1460)
* Fixes tabs drawing as boxes
* Nicely spaces tabs to line up columns
* Requires `white-space: pre` in razor
https://files.facepunch.com/crayz/1b2111b1/sbox-dev_HbcLhN7N6C.png
Fix saving links to the prefab instead of the root object when editing a prefab
Don't destroy particles until they're all dead
Lightbinner handle exceeding max envmaps
Fix clothing editor sceneobject leaks
Fix broken surface
Tweak GameObject.Clone, so we don't stomp the incoming transform
Make everything that uses gametags use the same restriction logic
Basic support for RangedFloat in SerializedObject
SoundEvent's sounds are sounds instead of strings
MinMax to Range, string[] to List<string> in our Resource definitions
Add sound preview button to ResourceControlWidget
GameResource inspector uses new ControlWidgets instead of PropertySheet
SerializedObjects, share type conversion code more
Add SerializedDictionary + unit tests
Add DictionaryControlWidget
Update ClothingEditor to use SerializedObject
Fixed Sync vars on derived component types not working
Drag references to GameObjects / Components from scene view
https://files.facepunch.com/ziks/2024-02-21/devenv_pNaqhLJEaQ.mp4
Host Sync Vars (#1462)
* NetworkTable.Entry.HasControl test. Separate sending network table changes from main update. Host or Owner can send table changes (only send entries they _control_)
* When using WriteAll always write all regardless of control. Make it so unless YOU control a Sync property you can't physically change its value
* Revert that for now - let people change Sync var value locally as it was before, we can try to find a better way to prevent this later. Complication comes from INetworkCustom
* Remove redundant call
* Let''s have each entry define if it has changes now that each one can be potentially controlled by different clients. Make sure we clear changed flag on entry when reading it. NetworkTable.HasChanges will now return true if any entry we have control over is dirty
* Clarify comment
* Let's call it HostSync
* Prevent actual setting of Sync property, modification of NetList, or NetDictionary if you don't have control over it. Non-owner, non-host can't change the values locally, they _must_ be what the synchronized value is
* We can always set the property if network not initialized
* Default HasControl to true for NetList/NetDictionary in-case not set
Place cursor at the lineedit when not editing (fixes sbox-issues/issues/4898)
Fix prefab cloning not obeying startenabled, added unit tests (fixes sbox-issues/issues/4871)
Apply GameTags straight away, instead of deferring
Fix NavMeshAgent exception (fixes sbox-issues/issues/4901)
NavMesh.GetRandomPoint does more what you would expect (fixes sbox-issues/issues/4897)
In tools don't demote exclusive fullscreen to cooperative fullscreen, these behave the same way on Nvidia's Vulkan drivers and a game window in a Qt widget acting like it's exclusive fullscreen will make your screen black
Change Gizmo.Contol.BoundingBox to new box resize gizmo because this function isn't being used anymore
Fix ParticleBoxEmitter not rotating/scaling properly (fixes sbox-issues/issues/4653)
Add ParticleRingEmitter
When saving a GameResource - reregister it with ResourceLibrary. When Scene/PrefabFile save they create a new GameResource, so the old one needs to be stomped out.
Add RenderAttributes.GetMatrix
Save off and restore clipping values before/after drawing box shadows
Should fix sbox/issues/1453
Remove log
Test reproducing Facepunch/sbox-issues#4688
Fixed Facepunch/sbox-issues#4688
More property getter / setter fast path tests
Fixed a bunch of navmesh functions not working because I didn't full in ToNav
Fix NavMeshAgent.SetAgentPosition not working
Add NavMeshAgent.UpdateRotation option, NavMeshAgent.GetLookAhead
ResourceControlWidget allows drag drop cloud assets
Make game resources compile again when saved
AssetBrowser: Can delete assets/directories by hitting delete key with an active selection
Hotload skip NodeDefinition
Allow deleting parameterless output nodes
AssetBrowser: Add "Delete Folder" option to Folders
Add ability to asset pick a prefab from a GameObjectControlWidget (https://files.facepunch.com/tony/1b2011b1/sbox-dev_o0AQpv1DWV.mp4)
Make shortcuts very obvious by including them in tooltips
SceneTabList: middle mouse destroys scene session
Set GameTransform.LocalScale default so resetting it doesn't set it to zero