userConnacancel
reposboxcancel

1,149 Commits over 1,310 Days - 0.04cph!

7 Months Ago
Hook up Interpolation enable/disable from Inspector. When Owner calls ClearInterpolation, set a bit on the update msg to have other clients do so as well. Hook up Network.Interpolation and Enable/DisableInterpolation() on the accessor.
7 Months Ago
Can't modify transform if we're a network object root and a proxy - we must stay true to network transform target
7 Months Ago
Test Clean up - use TransformInterpolate class
7 Months Ago
Clean up - use TransformInterpolate class
7 Months Ago
Test
7 Months Ago
Fixed NetPermission not working for static Rpcs (Fixes Facepunch/sbox-issues#5188)
7 Months Ago
Fix failing test, use float.PositiveInfinity not -1
7 Months Ago
NetList implements IList, IList<T> NetDictionary implements IDictionary, IDictionary<TKey,TValue>
7 Months Ago
Avoid collection modified error in NetworkPrune (Fixes Facepunch/sbox-issues#5280)
8 Months Ago
Temp comment out this line to fix tests
8 Months Ago
Object Snapshot Refresh (#1500) * Initial commit * Component id + prune those for refresh as well * Serialize id properly * OnRefresh * Fix refresh for bones * Revert comp ids on this branch * Use Id not __id as that is what was settled with for Component Ids * 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 * Include latest table snapshot with full refresh. Update to support __guid * Undo this bit * Added Connection.CanRefreshObjects permission (def: true) * Add checks for CanRefreshObjects to Network.Refresh() and when OnObjectRefresh is called * Register properties recursively when sending network refresh or receiving one * Test to re-register Sync props after Network.Refresh * Make docs clearer * If a Component isn't valid then just set the property anyway for a Sync var * By default, clients (except host) can NOT refresh network objects. Host can change this with Connection.CanRefreshObjects * Some additional validation checks * Better logic * Fix issue with nested types not having correct identity hash for wrapped property codegen
8 Months Ago
Fix NRE in GraphInputNodeType.GetPath Inflate heightfield query cell bounds by 0.5, fixes terrain collision Fix terrain collider not updating on heightmap import Terrain collision is per triangle again instead of per cell, should be 100% accurate https://files.facepunch.com/layla/1b1911b1/sbox-dev_bZpdwNGM3P.mp4 Vulkan: Fix validation errors with MSAA disabled, this should fix a lot of crashing problems for people playing without MSAA Actually set D_MSAA combo on depth_downsample Fix hair blue line Scene.Load ShowLoadingScreen actually works Update avatar scene Open avatar scene when you click the avatar button Rework terrain casting and sweeping Only clear contacts on tag change if the contacts should have no interaction Use faster _aligned_malloc in physics system Tweak citizen eye ao add compilled avatar scene (!) PanelComponent uses internal enable, disable, update Temporary fix for drag executing multiple times in one frame Expose render settings to tools https://files.facepunch.com/garry/0c9677be-c880-4ac5-8976-3c69143c9f5b.png Compile fix Max 8x msaa Fix deserializing ActionGraphs in Menu context (#1506) Nicer test for if nodes are operators OnDestroyInternal calls OnDisabledInternal instead of OnDisabled Reset panel parent before deleting it Include panel parent in hash, fixes panel not rendering when parent is disabled and enabled Don't flag SceneObject and SceneModel as ESceneObjectFlags.IS_OPAQUE, the materials should dictate it, fixes translucent materials drawing in opaque passes (& drawing twice) Messed with input action panel dialogs, fix Facepunch/sbox-issues#5232 Fixed delete prompt having no content Fixed editing input action group not showing visible changes until re-opening project settings menu. Fixes Facepunch/sbox-issues#5235 Better warning if we can't find ITagset Fixed ManualHitbox.HitboxTags being uneditable in the inspector (fixes Facepunch/sbox-issues#5231) Don't give gizmo mouse focus when it orbit mode Check if aaquality is a valid enum, users are likely to have outdated settings ModelCollider uses mass and damping properties from model physics parts Change Json.PushNodeLibrary() to NodeLibrary.Push() Call NodeLibrary.Push() instead of Scene.Push() if HostScene is null Fixes Facepunch/sbox-issues#5244 Remove unused Remove buttons Show icon if item has alternates Clothing container stores height SkinnedModelRenderer stores animgraph params, applies them OnEnabled CitizenAnimationHelper - make Height nullable Height option on avatar, can mess with and annoy citizen Normalize clothing before applying Reset input config in menu Remove unused UI system gets game buttons when no game is loaded VSync menu option Can switch between variants Merge branch 'master' into snapshot-refresh
8 Months Ago
Fix issue with nested types not having correct identity hash for wrapped property codegen
8 Months Ago
Better logic
8 Months Ago
Some additional validation checks
8 Months Ago
By default, clients (except host) can NOT refresh network objects. Host can change this with Connection.CanRefreshObjects
8 Months Ago
If a Component isn't valid then just set the property anyway for a Sync var
8 Months Ago
Make docs clearer
8 Months Ago
Test to re-register Sync props after Network.Refresh
8 Months Ago
Register properties recursively when sending network refresh or receiving one
8 Months Ago
Multi-Component Sync Vars + Sync Vars in Children (#1503) * 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 * Register and unregister Sync properties for child gos/comps appropriately * It goes here * Also unregister/register sync properties accordingly when GameObject id changes * NetworkMode can't be changed from NetworkMode.Object if we are actually a networked object (_net is valid) * Simplify a bunch - allow setting property if slot not registered * Remove unused UnregisterProperties methods * Add a test to make sure child sync vars are added to network table * Suppress these warnings for now - there are legitimate reasons why we might not find these GOs * Suppress unknown slot Merge branch 'master' into snapshot-refresh
8 Months Ago
Added Connection.CanRefreshObjects permission (def: true) Add checks for CanRefreshObjects to Network.Refresh() and when OnObjectRefresh is called
8 Months Ago
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 EnumControlWidget support for nullable Fixed title of scene.get target input Fix property panel handling nullable ActionGraph parameter types Fix warning when compiling Action Graph editor EnumDescription.Entry.Group Menu.AddOptions fixes for value type items Menu.AddMenu( Menu menu ) menu menu menu menu menu If icon is just a bunch of symbols, make sure it doesn't overflow https://files.facepunch.com/ziks/1b1811b1/kr69TajHB0.png Implement VectorControlWidget.StartEditing() Fix ControlSheet.AddObject return value regression Invalidate mesh selection on scene change Remove contacts and process intersections just before shape or body remove, this allows intersection end events to run before removal Group jam page by not played, updated Add test for warnings in built-in projects Facepunch/sbox-issues#5223 Fix warning in AG editor Facepunch/sbox-issues#5223 Map instance only creates skinned model renderer for props if the model has skinned meshes or morphs Asset inspector copy path uses RelativePath to stay consistent with asset browser copy path Merge branch 'master' into snapshot-refresh
8 Months Ago
Multi-Component Sync Vars + Sync Vars in Children (#1503) * 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 * Register and unregister Sync properties for child gos/comps appropriately * It goes here * Also unregister/register sync properties accordingly when GameObject id changes * NetworkMode can't be changed from NetworkMode.Object if we are actually a networked object (_net is valid) * Simplify a bunch - allow setting property if slot not registered * Remove unused UnregisterProperties methods * Add a test to make sure child sync vars are added to network table * Suppress these warnings for now - there are legitimate reasons why we might not find these GOs * Suppress unknown slot
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
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
8 Months Ago
Authority check for network destroy - can never arbitrarily destroy unnetworked objects
8 Months Ago
In the PrefabFile upgrader, upgrade Id to __guid as well if possible, fixes corrupt prefabs from before when it was called Id
8 Months Ago
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)
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
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
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
Undo this bit
8 Months Ago
Include latest table snapshot with full refresh. Update to support __guid
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
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
8 Months Ago
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
8 Months Ago
Update SceneEditorMenus to use MakeIdGuidsUnique instead of MakeGameObjectsUnique
8 Months Ago
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
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.
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
8 Months Ago
Use Id not __id as that is what was settled with for Component Ids