1,149 Commits over 1,310 Days - 0.04cph!
Check index is >= 0 or <= Count when using ObservableCollection<T>.Insert in NetList - otherwise use Add instead
Inspector Advanced Network Settings (#1617)
* Start adding support to edit Network Orphaned and Owner Transfer options in Inspector (visible when Network Mode is set to Object) https://files.facepunch.com/conna/1b0311b1/sbox-dev_I7Fk7tfs6K.png
* Make sure NetworkOrphaned and OwnerTransfer modes get serialized / deserialized
* Move over to setting NetworkOrphaned/OwnerTransfer on the GameObject directly (with multi-select)
* Move out to its own widget - this is gonna be a button that drops down for advanced network settings
* Adv network settings button next to Network Mode in inspector - opens drop down menu to set net orphaned mode / owner transfer mode
* Store current val outside scope
* Modify style
* Add RadioSelect widget for use with advanced network settings as it makes sense ( https://files.facepunch.com/conna/1b0911b1/sbox-dev_Ej9Kk8WU3y.mp4 )
* Disable the option to open the menu if NetworkMode is not Object - no point allowing to change these settings for objects that arent networked
Disable the option to open the menu if NetworkMode is not Object - no point allowing to change these settings for objects that arent networked
Add RadioSelect widget for use with advanced network settings as it makes sense ( https://files.facepunch.com/conna/1b0911b1/sbox-dev_Ej9Kk8WU3y.mp4 )
Store current val outside scope
Adv network settings button next to Network Mode in inspector - opens drop down menu to set net orphaned mode / owner transfer mode
Move out to its own widget - this is gonna be a button that drops down for advanced network settings
Make sure NetworkOrphaned and OwnerTransfer modes get serialized / deserialized
Move over to setting NetworkOrphaned/OwnerTransfer on the GameObject directly (with multi-select)
Start adding support to edit Network Orphaned and Owner Transfer options in Inspector (visible when Network Mode is set to Object) https://files.facepunch.com/conna/1b0311b1/sbox-dev_I7Fk7tfs6K.png
Start adding support to edit Network Orphaned and Owner Transfer options in Inspector (visible when Network Mode is set to Object) https://files.facepunch.com/conna/1b0311b1/sbox-dev_I7Fk7tfs6K.png
Ensure we properly network ownership changes during network orphaned actions
Keep project loading stuff together and make sure we load initial collision rules after project settings file system is mounted (Fixes Facepunch/sbox-issues#5739)
Closes Facepunch/sbox-issues#5566
Throw exception when sending RPC on non-networked Game Objects (Closes Facepunch/sbox-issues#5504)
Fixed potential NRE in AudioListener component when scene camera isn't valid (yet)
Fix overlapping Reset to Default on ControlSheet with Reset Transform context menu. Add individual reset Position/Scale/Rotation on Transform context menu (Fixes Facepunch/sbox-issues#4867)
Fix issue with new local instance on "local" package to do with small network files
Fixed logic for motion enabled and root only networking
Network body type as well
CustomEditorAttribute now orders by number of parent classes so most relevant editor is always found. Resolves Facepunch/sbox-issues#5647
Merge branch 'master' into net-model-phys
Reapply changes from old branch
Remove from interpolation system on GameObject destroy
Call TransformChanged() once again in InterpolateFixedUpdate
Clear pending updates in SceneNetworkUpdate too
Make sure we use TargetLocal in any transform changed callbacks called from within interpolation phase to fix physics bodies using wrong values. Add internal InterpolationWorld getter in GameTransform and use that in ModelRenderer OnTransformChanged for updating scene object position (fixes broken interp.)
PhysicsWorld.CollisionRules Refactor - Project Settings Small Network Files Support (#1604)
* Add PhysicsWorld.CollisionRules getter. Delete ServerConfig. Update collision rules json on world if hash changes before physics step. Project Settings (.config) are networked via Small Network Files - can react to changes
* Do GetHashCode this way
* Initialize CollisionRules
* Handle small network files from different file systems this way?
* Fix
* Fix documentation
* Reset config files
* Kind of genericize SmallNetworkFiles - push / add / remove files from it externally - mount its MemoryFileSystem externally as well to desired file system
* Fix - but obviously it can't be done this way it's absolutely awful
* Add all files from network when mounting on client side
* Method name update
* Remove some duplication
* Cleanup
* Fix inverted condition
* Unnecessary arg
* ToHashCode
* ReadWithFallback will return new T() if package is null too
* Store CollisionRules from Project Settings in ProjectSettings static class - update it when project settings change. Physics worlds using this reference should update automatically
* Call ProjectSettings.Reset in ResetEnvironment
* Clean up
* Swap these
Call ProjectSettings.Reset in ResetEnvironment
Store CollisionRules from Project Settings in ProjectSettings static class - update it when project settings change. Physics worlds using this reference should update automatically
ReadWithFallback will return new T() if package is null too
Add all files from network when mounting on client side
Fix - but obviously it can't be done this way it's absolutely awful
Kind of genericize SmallNetworkFiles - push / add / remove files from it externally - mount its MemoryFileSystem externally as well to desired file system
Do GetHashCode this way
Initialize CollisionRules
Handle small network files from different file systems this way?
When deserializing a GameObject create components in a try/catch and log an error if it fails. If no component could be created, add a missing component. Fixes not being able to open a prefab if there's an error in the constructor of a component. Closes Facepunch/sbox-issues#4397
Add Package.FileSize (MB) ( Closes Facepunch/sbox-issues#4908 )
Add PhysicsWorld.CollisionRules getter. Delete ServerConfig. Update collision rules json on world if hash changes before physics step. Project Settings (.config) are networked via Small Network Files - can react to changes
Ignore packets from non-host until we're fully connected ( Fixes Facepunch/sbox-issues#1595 )
When calling NetworkSpawn we break from prefabs in all of our ancestors ( Fixes Facepunch/sbox-issues#5046 )