20,841 Commits over 1,522 Days - 0.57cph!
NetworkMode can't be changed from NetworkMode.Object if we are actually a networked object (_net is valid)
Also unregister/register sync properties accordingly when GameObject id changes
Null checks in RefreshContacts
And some more
Allow turning off sound air absorption, turn it off on 2d sounds by default
Put in guards against people having a property name of "id" (case-insensitive) on a component. Warn them if they do, don't serialize that property or try to deserialize it. Catch exception if trying to deserialize Id as a Guid but it isn't one.
Unforseen but when we link component reference from a prefab to property on something else in scene, we should still store component reference like we used to. We'll try to find the component in the scene directory by id if we can, but revert to old behavior if not
Revert "Put in guards against people having a property name of "id" (case-insensitive) on a component. Warn them if they do, don't serialize that property or try to deserialize it. Catch exception if trying to deserialize Id as a Guid but it isn't one."
This reverts commit 55d6e5c51d2fd6b663391d9e22c191a6a810603f.
Switch GameObject/Component.Id to be serialized as __guid
Upgrade PrefabFile on load
Merge fix
Set hitbox surface
Update SceneEditorMenus to use MakeIdGuidsUnique instead of MakeGameObjectsUnique
When a component is added to a GameObject after it has been network spawned, and it has Sync vars we should register them with the network table
Don't do on the root though save that for the multi-comp PR
Make PhysicsBody Enable and Disable actually work, remove shapes from broadphase and insert them back on enable
Don't trace disabled bodies
Merge branch 'master' into snapshot-refresh
Izabu: Don't try to destroy null proxy
Squashed commit of the following:
commit 47efeaea0bb81576b52ff4d89a54ee7af5fdc388
Author: kurozael <kurozael@gmail.com>
Date: Wed Mar 13 20:52:12 2024 +0000
Don't do on the root though save that for the multi-comp PR
commit 76e46e982b6a4c8ead92ecc885d1f749ec395b92
Author: kurozael <kurozael@gmail.com>
Date: Wed Mar 13 20:51:20 2024 +0000
When a component is added to a GameObject after it has been network spawned, and it has Sync vars we should register them with the network table
commit 18afc037988b12788b42f248370388cde0902e58
Author: kurozael <kurozael@gmail.com>
Date: Wed Mar 13 16:18:25 2024 +0000
Use Id not __id as that is what was settled with for Component Ids
commit b7c1219ae1446ed68cec1097c4ab1303d26540f4
Merge: 7ae3c58036 776383e111
Author: kurozael <kurozael@gmail.com>
Date: Wed Mar 13 16:16:11 2024 +0000
Merge branch 'master' into snapshot-refresh
commit 7ae3c580369d949873ad17a074e5e46b2b11d5a5
Author: kurozael <kurozael@gmail.com>
Date: Wed Mar 13 16:14:00 2024 +0000
Revert comp ids on this branch
commit 646c24eecde1a02bf245e29b37f7829fa2ee3426
Author: kurozael <kurozael@gmail.com>
Date: Mon Mar 11 20:10:27 2024 +0000
Fix refresh for bones
commit cae184ca981106f4a8ae36dd9047cebe372904c9
Author: kurozael <kurozael@gmail.com>
Date: Mon Mar 11 19:31:16 2024 +0000
OnRefresh
commit bfe4c11914f8ec7b823a86efb12c31936e3e7de4
Author: kurozael <kurozael@gmail.com>
Date: Mon Mar 11 18:24:43 2024 +0000
Serialize id properly
commit 1bc68fc59d9705669cad886f29509be9eda7af9c
Author: kurozael <kurozael@gmail.com>
Date: Mon Mar 11 17:46:18 2024 +0000
Component id + prune those for refresh as well
commit 273b8af9cc310bfc762be3c72874b9678b73fe6e
Author: kurozael <kurozael@gmail.com>
Date: Mon Mar 11 17:14:56 2024 +0000
Initial commit
It goes here
Include latest table snapshot with full refresh. Update to support __guid
Cubemapper tests
Remove all ggx code for now & just copy directly to cubemap array
TextureCube with mipmaps and arrays and mipmaps
Move texture logic from cubemapper to c#
Register and unregister Sync properties for child gos/comps appropriately
Make PhysicsBody Enable and Disable actually work, remove shapes from broadphase and insert them back on enable
Don't trace disabled bodies
Put in guards against people having a property name of "id" (case-insensitive) on a component. Warn them if they do, don't serialize that property or try to deserialize it. Catch exception if trying to deserialize Id as a Guid but it isn't one.
Unforseen but when we link component reference from a prefab to property on something else in scene, we should still store component reference like we used to. We'll try to find the component in the scene directory by id if we can, but revert to old behavior if not
Revert "Put in guards against people having a property name of "id" (case-insensitive) on a component. Warn them if they do, don't serialize that property or try to deserialize it. Catch exception if trying to deserialize Id as a Guid but it isn't one."
This reverts commit 55d6e5c51d2fd6b663391d9e22c191a6a810603f.
Switch GameObject/Component.Id to be serialized as __guid
Upgrade PrefabFile on load
Merge fix
Set hitbox surface
Update SceneEditorMenus to use MakeIdGuidsUnique instead of MakeGameObjectsUnique
When a component is added to a GameObject after it has been network spawned, and it has Sync vars we should register them with the network table
Don't do on the root though save that for the multi-comp PR
Merge branch 'master' into multi-comp-synvar
When a component is added to a GameObject after it has been network spawned, and it has Sync vars we should register them with the network table
Don't do on the root though save that for the multi-comp PR
When a component is added to a GameObject after it has been network spawned, and it has Sync vars we should register them with the network table
Don't do on the root though save that for the multi-comp PR
Update SceneEditorMenus to use MakeIdGuidsUnique instead of MakeGameObjectsUnique
Revert "Put in guards against people having a property name of "id" (case-insensitive) on a component. Warn them if they do, don't serialize that property or try to deserialize it. Catch exception if trying to deserialize Id as a Guid but it isn't one."
This reverts commit 55d6e5c51d2fd6b663391d9e22c191a6a810603f.
Switch GameObject/Component.Id to be serialized as __guid
Upgrade PrefabFile on load
Merge fix
Unforseen but when we link component reference from a prefab to property on something else in scene, we should still store component reference like we used to. We'll try to find the component in the scene directory by id if we can, but revert to old behavior if not
Put in guards against people having a property name of "id" (case-insensitive) on a component. Warn them if they do, don't serialize that property or try to deserialize it. Catch exception if trying to deserialize Id as a Guid but it isn't one.
Support for multiple components of the same type on a Network Object to have sync vars. Adding support for children of a network object that aren't themselves network objects to have components with Sync vars too
Use Id not __id as that is what was settled with for Component Ids
IzTriangleHull calculates center with doubles, I have no idea why this fixes triangle collision but it does
handlebar_moustache small adjustments
studdle colour adjustments
Allow easy access to graph inputs from node menu, including "This"
https://files.facepunch.com/ziks/2024-03-11/RkOMLQmLlN.png
Facepunch/sbox-issues#5082
Fix copy/pasting nodes referencing graph target input.
Fix NRE when deleting items from serialized list in inspector
Fix removing dictionary entries not marking scene unsaved
Get rid of redraw flicker when adding/removing from lists and dicts
Proper fix for hull vs mesh at large coordinates (thanks dirk)
Handle exceptions thrown when discovering reflection-based nodes
Fixes Facepunch/sbox-issues#5157
Remove last references to lightbinnervr
Readd Dynamic/Baked light settings on hammer
Add Scene.Render to unify scene rendering - should fix sbox-issues/issues/4924
Strip out menu resources/startup resources - more trouble than it's worth
Fix OnPreRender always getting called, even if execute in editor is false
Tick UI right before render, after other updates
Make ComponentTypeSelector slightly taller (fixes sbox-issues/issues/5155)
Component selector search is scored, uses classname and description too
Add tooltip to component selector
Rename Particle System to Legacy Particle System
Asset preview for fbx, obj, smd https://files.facepunch.com/layla/1b1211b1/sbox-dev_uPe3bKuNAh.png
Don't preview smd for now
SerializedProperty and ControlSheet support nullable values
BoolControlWidget fade property when disabled
Fbx serializer is too spammy
Ignore unknown color formats in CMesh::CalculateInputLayoutFromAttributes
Don't create model for preview mesh if there's no valid meshes
Add Vector3.CatmullRomSpline, Vector3.TcbSpline
Add SceneLineObject
Add LineRenderer component
Add line prefab
Fix NRE
Make joint more robust in finding physics bodies, improve the gizmos a bit
Better anchor points for spring joint
Fix async warning in PreviewMesh
Izabu: Move triangle shifting further up the callstack so the fix gets applied to sphere and capsules too
ICollisionListener & ITriggerListener have default interface methods + docs
Resolves sbox-issues/issues/4852
Fix game setup's Launch Mode always falling back to default LaunchMode.Normal
Resolves sbox-issues/issues/4923
Add RigidBody.MotionEnabled
Fix prismatic disabling limit when it shouldn't
Create slider with 2 pivots and an axis, this makes the most sense
Base joint passes two physics points for joint creation
Do a pass on all joints to make sure their local frames make sense
Fixed joint keeps the bodies fixed where they are at the moment of joint creation instead of snapping
Joint gizmo just draws a line from self to target game object
Drag & drop components to change their order
Resolves sbox-issues/issues/4254
EditLogs for when a component is moved
Tick UI before resetting input - fixes sbox-issues/issues/5169
Fix ParticleGradient defaults not saving properly - fixes sbox-issues/issues/5144
Store lobby owner in lobby data, for access from list - fixes sbox-issues/issues/5141
Try to store package revision id in lobby
Completely strip PackageDownloadMode
Cancelling loading cancels properly - fixes sbox-issues/issues/4623
Make download cancelling more convincing, add more download lanes
Add Panel.TooltipClass - fixes sbox-issues/issues/4746
FileSystem.Write/ReadJson - add AllowNamedFloatingPointLiterals to options
Fix some Assets not loading properly from cloud folder on startup
Allow both Sync and HostSync on a property. It means that both the Owner and the Host can control the value. Fixes Facepunch/sbox-issues#5153
Fix exception when deleting object in update
SoundPoint can override distance attenuation, occlusion, reflection
Refresh physics contacts on tag change https://files.facepunch.com/layla/1b1311b1/sbox-dev_PEDseyvLqF.mp4
Don't include special name methods in TypeLibrary (getter/setterr spam)
SerializedObject can handle methods
ControlSheet supports buttons/methods
Add [Button]
https://files.facepunch.com/garry/85519e72-553c-4d0c-9ece-42f371fd31d3.png
Add break button to Prop component
Simplified ComponentSheet, makes use of ControlSheet logic more
Editor style tweaks
Fix unit tests, add SerializedProperty method test
Component Ids (#1501)
* Component id + prune those for refresh as well
* Serialize id properly
* Add unit tests for component id serialization / deserialization - make sure references to Components with Property are properly restored to the correct components by id
* Update GameObjectInspector to use Component.Id to determine already seen components. This makes it rebuild properly for multiple components of the same type
* Serialize as Id not __id so also picked up by MakeGameObjectsUnique
* Scene unique component ids - update serialization test accordingly
* Phase out storing GO guid and component type
* MakeGameObjectsUnique -> MakeIdGuidsUnique (make old method Obsolete and redirect to MakeIdGuidsUnique)
* Unit test for clone with references
* When adding component or game object to Directory - check is there a component or game object with that id already, if so, force change it to a new one and spit a warning out. No component or game object should ever be able to share the same guid anyway but this makes sure
* Add test for loading old reference model type from prefab / json
* Test both old and new formats
* Let's not make this elseif - always check both
Revert comp ids on this branch
Merge branch 'master' into snapshot-refresh
Allow turning off sound air absorption, turn it off on 2d sounds by default
Null checks in RefreshContacts
Component Ids (#1501)
* Component id + prune those for refresh as well
* Serialize id properly
* Add unit tests for component id serialization / deserialization - make sure references to Components with Property are properly restored to the correct components by id
* Update GameObjectInspector to use Component.Id to determine already seen components. This makes it rebuild properly for multiple components of the same type
* Serialize as Id not __id so also picked up by MakeGameObjectsUnique
* Scene unique component ids - update serialization test accordingly
* Phase out storing GO guid and component type
* MakeGameObjectsUnique -> MakeIdGuidsUnique (make old method Obsolete and redirect to MakeIdGuidsUnique)
* Unit test for clone with references
* When adding component or game object to Directory - check is there a component or game object with that id already, if so, force change it to a new one and spit a warning out. No component or game object should ever be able to share the same guid anyway but this makes sure
* Add test for loading old reference model type from prefab / json
* Test both old and new formats
* Let's not make this elseif - always check both
Fix unit tests, add SerializedProperty method test
Don't include special name methods in TypeLibrary (getter/setterr spam)
SerializedObject can handle methods
ControlSheet supports buttons/methods
Add [Button]
https://files.facepunch.com/garry/85519e72-553c-4d0c-9ece-42f371fd31d3.png
Add break button to Prop component
Simplified ComponentSheet, makes use of ControlSheet logic more
Editor style tweaks
Refresh physics contacts on tag change https://files.facepunch.com/layla/1b1311b1/sbox-dev_PEDseyvLqF.mp4
Fix exception when deleting object in update
SoundPoint can override distance attenuation, occlusion, reflection
Remove all ggx code for now & just copy directly to cubemap array
Let's not make this elseif - always check both
Test both old and new formats
Add test for loading old reference model type from prefab / json
Allow both Sync and HostSync on a property. It means that both the Owner and the Host can control the value. Fixes Facepunch/sbox-issues#5153
Fix some Assets not loading properly from cloud folder on startup
Phase out storing GO guid and component type
MakeGameObjectsUnique -> MakeIdGuidsUnique (make old method Obsolete and redirect to MakeIdGuidsUnique)
Unit test for clone with references
When adding component or game object to Directory - check is there a component or game object with that id already, if so, force change it to a new one and spit a warning out. No component or game object should ever be able to share the same guid anyway but this makes sure
FileSystem.Write/ReadJson - add AllowNamedFloatingPointLiterals to options
Add Panel.TooltipClass - fixes sbox-issues/issues/4746
Completely strip PackageDownloadMode
Cancelling loading cancels properly - fixes sbox-issues/issues/4623
Make download cancelling more convincing, add more download lanes
Fixes local interpolation jitter
Game Object Network Mode Selection https://files.facepunch.com/conna/1b0711b1/sbox-dev_G97N4pdA3q.png (#1495)
[ActionGraphInclude] implies [Expose]
Rename "Game Object" node category to "Scene"
Expose scene tracing to Action Graph
https://files.facepunch.com/ziks/2024-03-11/sbox-dev_rirZ1oi97u.mp4
Fixes Facepunch/sbox-issues#5120
ActionGraph node menu respects [ReadOnly] attributes
Check all conditionals in SerializedProperty.ShouldShow, should make multiple ShowIf's work again
Update Facepunch.ActionGraph
Facepunch/sbox-issues#5066
Facepunch/sbox-issues#5128
OnDestroyInternal should be internal
IzTriangleHull calculates center with doubles, I have no idea why this fixes triangle collision but it does
handlebar_moustache small adjustments
studdle colour adjustments
Allow easy access to graph inputs from node menu, including "This"
https://files.facepunch.com/ziks/2024-03-11/RkOMLQmLlN.png
Facepunch/sbox-issues#5082
Fix copy/pasting nodes referencing graph target input.
Fix NRE when deleting items from serialized list in inspector
Fix removing dictionary entries not marking scene unsaved
Get rid of redraw flicker when adding/removing from lists and dicts
Proper fix for hull vs mesh at large coordinates (thanks dirk)
Handle exceptions thrown when discovering reflection-based nodes
Fixes Facepunch/sbox-issues#5157
Remove last references to lightbinnervr
Readd Dynamic/Baked light settings on hammer
Add Scene.Render to unify scene rendering - should fix sbox-issues/issues/4924
Strip out menu resources/startup resources - more trouble than it's worth
Fix OnPreRender always getting called, even if execute in editor is false
Tick UI right before render, after other updates
Make ComponentTypeSelector slightly taller (fixes sbox-issues/issues/5155)
Component selector search is scored, uses classname and description too
Add tooltip to component selector
Rename Particle System to Legacy Particle System
Asset preview for fbx, obj, smd https://files.facepunch.com/layla/1b1211b1/sbox-dev_uPe3bKuNAh.png
Don't preview smd for now
SerializedProperty and ControlSheet support nullable values
BoolControlWidget fade property when disabled
Fbx serializer is too spammy
Ignore unknown color formats in CMesh::CalculateInputLayoutFromAttributes
Don't create model for preview mesh if there's no valid meshes
Add Vector3.CatmullRomSpline, Vector3.TcbSpline
Add SceneLineObject
Add LineRenderer component
Add line prefab
Fix NRE
Make joint more robust in finding physics bodies, improve the gizmos a bit
Better anchor points for spring joint
Fix async warning in PreviewMesh
Izabu: Move triangle shifting further up the callstack so the fix gets applied to sphere and capsules too
ICollisionListener & ITriggerListener have default interface methods + docs
Resolves sbox-issues/issues/4852
Fix game setup's Launch Mode always falling back to default LaunchMode.Normal
Resolves sbox-issues/issues/4923
Add RigidBody.MotionEnabled
Fix prismatic disabling limit when it shouldn't
Create slider with 2 pivots and an axis, this makes the most sense
Base joint passes two physics points for joint creation
Do a pass on all joints to make sure their local frames make sense
Fixed joint keeps the bodies fixed where they are at the moment of joint creation instead of snapping
Joint gizmo just draws a line from self to target game object
Drag & drop components to change their order
Resolves sbox-issues/issues/4254
EditLogs for when a component is moved
Tick UI before resetting input - fixes sbox-issues/issues/5169
Fix ParticleGradient defaults not saving properly - fixes sbox-issues/issues/5144
Store lobby owner in lobby data, for access from list - fixes sbox-issues/issues/5141
Try to store package revision id in lobby
Cubemapper tests
Merge branch 'cubemapper' of sbox into cubemapper
Try to store package revision id in lobby
Serialize as Id not __id so also picked up by MakeGameObjectsUnique
Scene unique component ids - update serialization test accordingly
Store lobby owner in lobby data, for access from list - fixes sbox-issues/issues/5141
Fix ParticleGradient defaults not saving properly - fixes sbox-issues/issues/5144
Tick UI before resetting input - fixes sbox-issues/issues/5169
Update GameObjectInspector to use Component.Id to determine already seen components. This makes it rebuild properly for multiple components of the same type
Add unit tests for component id serialization / deserialization - make sure references to Components with Property are properly restored to the correct components by id
Component id + prune those for refresh as well
Serialize id properly
Drag & drop components to change their order
Resolves sbox-issues/issues/4254
EditLogs for when a component is moved