branchsbox/multi-comp-synvarcancel

13 Commits over 0 Days - ∞cph!

8 Months Ago
Suppress unknown slot
8 Months Ago
Suppress these warnings for now - there are legitimate reasons why we might not find these GOs
8 Months Ago
Add a test to make sure child sync vars are added to network table
8 Months Ago
Make PhysicsBody Enable and Disable actually work, remove shapes from broadphase and insert them back on enable Don't trace disabled bodies Izabu: Don't try to destroy null proxy Fixes unable to parse guid error when trying to load properties called "id" but the type is not a guid (Fixes Facepunch/sbox-issues#5181) ImageFormat.Default uses RGBA8888 Ensure PanelComponent finds its parent If PanelComponent gets enabled before WorldPanel it fails to find a valid parent Resolves sbox-issues/issues/5024 Fix NRE if destroying object in animation event In the PrefabFile upgrader, upgrade Id to __guid as well if possible, fixes corrupt prefabs from before when it was called Id Authority check for network destroy - can never arbitrarily destroy unnetworked objects Authority RPC now correctly uses invoke permissions from the AuthorityAttribute. When calling Authority RPC, if there's no owner, the target would be the host connection Move Json.Upgrader out of Sandbox,Game, have it filter by type Add GameResource.ResourceVersion Inject version into gameresource saves Change DeserializeToObject to use JsonNodes GameResources can define JsonUpgraders v1 upgraders for SceneFile and PrefabFile Add GameResource.LoadFromJson and use that anywhere we load a GameResource Fix PrefabFile upgrader doing nothing Fix tests, supply upgraders Add [RequireComponent] Postprocess components use [RequireComponent] https://files.facepunch.com/garry/436210e0-e5e0-44d2-86b5-3456d99bfa33.png Refactor Networking/Connection - fixes sbox-issues/issues/4676 Fix SerializedList/Dictionary not converting property - fixes sbox-issues/issues/5104 If we pass in an invalid transform to Steam Audio, just ignore it Fix path stretching asset browser size - fixes sbox-issues/issues/4609 Editor startup cleanup & remove Editor.Utility Support per triangle physics surfaces on mesh shapes https://files.facepunch.com/layla/1b1411b1/sbox-dev_WzjagCCSeA.mp4 Fix RedirectFileSystem DirectoryExists case sensitive Remove key when SetMeta a null value Add ConfigData type Save/load Collision data to ProjectSettings/Collision.config Remove obsolete calls Fix BaseSoundComponent NRE Fix stereo sounds playing one channel Fix terrain trace hit normal Fix all sounds being downmixed to mono ModelPhysics recreates physics on active model change, fixes some props not initializing physics when created in code Sprite shader flips with uv sign Add SpriteRenderer FlipHorizontal and FlipVertical ShaderGraph: Fix ScreenPosition.XY incorrect component count Fix asset browser not finding files on T and U drives Resolves sbox-issues/issues/4560 Created bone objects on skinned model renderer update on model reload and model change Move Networking.HostConnection to Connection.Host Whitelist TaskExtensions.Unwrap Style tweaks ControlWidget doesn't create a struct editor for readonly structs Fix gameobject multi-select editing (blame @kurozael) )( Resolve sbox-issues/issues/5171 by making dragValue match Add Model.Physics.Surfaces to get all physics surfaces used in a model editor Shortcut can be widget, window, or application scope, can have autorepeat, and can respond when input is ambiguous Show exception info in EventSystem errors Add TreeView.StartEditing, simulates pressing F2 Add object.GetSerialized() Fix AudioMeter exception due to being empty Add configurable version of Layout.AddSeparator In VirtualWidget.PaintBackground, only paint if alpha > 0 BaseItemWidget only stomp ShotcutPressed if it doesn't have any modifiers Switch mixers to be tree based, allow saving and loading Default reflection off, don't do any reflection processing if it's off Don't do SA simulate in unit tests Handle missing type in CheckRequireComponent nicer Style tweaks Remove unused sheets Fixed AssetBrowser disaster - Fixes sbox-issues/issues/5201 Rename ProjectSettings to ProjectSettingsWindow Blank off AudioReflections profile so we're not left with old data Expose the audio processors Serialize the processors Tweak NavigationView Allow adding audio processors Transform local bounds by scene object transform in CMeshSystem::ChangeModel, fixes incorrect bounds on mesh renderer model change Reset anim graph instance on model change These should be continue, not return Precache the sound before trying to preload it These refs aren't really for us Unused We don't really need this cache size logic, right Reconfigure this Give some warnings if we fail here, just so we know Tweak SoundFile.LoadAsync, GetSamplesAsync Fix crashes due to returning address to temporary locals Split this off Cubemap fog uses material inside hammer now MapInstance now loads Cubemap fog reference ModelDoc option to disable keyframe interpolation to allow for constant keyframe animations F1 brings up the game description modal Add to AnalogLook description, letting everyone know it's already scaled by sensitivity Remove unused Show info when entering a game Fix modal cursor when in game Improve animated sceneobject bounds, include render bone sphere radius, fallback on mesh bounds Include model view bounds too Don't show header/footer when viewing game info Vulkan: Show error message box and bail on VK_ERROR_DEVICE_LOST Vulkan: Enable Nvidia Aftermath for GPU crashdumps with VK_NV_device_diagnostic_checkpoints Vulkan: Add VK_EXT_device_fault support and dump info after device loss Vulkan: out-of-date or suboptimal swapchains are verbose logging Vulkan: Assert for absurd swapchain width/height that are happening during shutdown Vulkan: Log layers that are older than specified API version, these are the most likely cause of GPU device crashes Merge branch 'master' into multi-comp-synvar
8 Months Ago
Remove unused UnregisterProperties methods
8 Months Ago
Simplify a bunch - allow setting property if slot not registered
8 Months Ago
NetworkMode can't be changed from NetworkMode.Object if we are actually a networked object (_net is valid)
8 Months Ago
Also unregister/register sync properties accordingly when GameObject id changes
8 Months Ago
It goes here
8 Months Ago
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
8 Months Ago
Register and unregister Sync properties for child gos/comps appropriately
8 Months Ago
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
8 Months Ago
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