17,123 Commits over 1,308 Days - 0.55cph!
Move Networking.HostConnection to Connection.Host
Whitelist TaskExtensions.Unwrap
Don't bother with writing cubemap normalization right now (in fact disable it for now!), reuse previous mip so that we have more quality with less samples
Assert isn't valid anymore in ComputeImageViews since we can pass a cube array
Created bone objects on skinned model renderer update on model reload and model change
Fix cube orientation when copying, do texture per envmap probe instead of a singleton array, this will cause headaches with multiple envmaps intersecting but makes it much simpler
Fix asset browser not finding files on T and U drives
Resolves sbox-issues/issues/4560
Allow for single sliced cubemap array, needed to be able to render an independent texture in the renderer since it expects a TextureCubeArray, also allow TSPEC_CUBE_CAN_SAMPLE_AS_ARRAY if we want UAV
Also fix a problem where CTextureManagerVulkan::GetImageView wouldn't work with a cubemap array as a rwtexture2darray in compute shaders
ShaderGraph: Fix ScreenPosition.XY incorrect component count
Sprite shader flips with uv sign
Add SpriteRenderer FlipHorizontal and FlipVertical
ModelPhysics recreates physics on active model change, fixes some props not initializing physics when created in code
Fix all sounds being downmixed to mono
Fix terrain trace hit normal
Fix BaseSoundComponent NRE
Fix stereo sounds playing one channel
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
Support per triangle physics surfaces on mesh shapes https://files.facepunch.com/layla/1b1411b1/sbox-dev_WzjagCCSeA.mp4
Editor startup cleanup & remove Editor.Utility
Fix path stretching asset browser size - fixes sbox-issues/issues/4609
If we pass in an invalid transform to Steam Audio, just ignore it
Fix SerializedList/Dictionary not converting property - fixes sbox-issues/issues/5104
Refactor Networking/Connection - fixes sbox-issues/issues/4676
Add [RequireComponent]
Postprocess components use [RequireComponent]
https://files.facepunch.com/garry/436210e0-e5e0-44d2-86b5-3456d99bfa33.png
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
Remove unused UnregisterProperties methods
Simplify a bunch - allow setting property if slot not registered
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
Authority check for network destroy - can never arbitrarily destroy unnetworked objects
In the PrefabFile upgrader, upgrade Id to __guid as well if possible, fixes corrupt prefabs from before when it was called Id
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#
Stub for cubemapper_cs, will calculate both GGX and spherical harmonics all in GPU
Handle all array index stuff in cubemapper
Fix NRE if destroying object in animation event
Ensure PanelComponent finds its parent
If PanelComponent gets enabled before WorldPanel it fails to find a valid parent
Resolves sbox-issues/issues/5024
Stub for cubemapper_cs, will calculate both GGX and spherical harmonics all in GPU
Handle all array index stuff in cubemapper
ImageFormat.Default uses RGBA8888
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)
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