22,846 Commits over 1,642 Days - 0.58cph!
Fix holding ALT not providing gizmo inputs. Resolves Facepunch/sbox-issues#6495
Make Resource IValid, not valid when not yet loaded/missing
Replacing deleted assets is treated as new, triggers reload events properly
Deleting/replacing prefabs updates instances in open scenes
Prefabs: register promise for missing source files, update inspector UI to show missing
Add chunky mode to ResourceControlWidget
Fix Close On Launch not being saved properly in Startup Window (Fixes Facepunch/sbox-issues#5718)
Fix logs being cleared too late when Clear Console On Play is checked (Fixes Facepunch/sbox-issues#6103)
Fix map fog sometimes not scaling by fogcontroller
Fix duplicate not working on NotSaved gameobjects
Don't print the name of every loaded resource
Only update sphere shape when changed
Cache transform origin for sphere collider when built, use that when resizing
Make sure resources created from native keep their correct path even when using fallback (error.vmdl etc)
Make missing resource references more obvious in inspector
https://files.facepunch.com/solw/2024/September/23_14-27-LawfulPika.png
Bullshit file filtering
Add option to show only assets
Refactor list drawing
Put type icon in top left
Move a bunch of shit from GameNetworkSystem.* to Networking.*
Revert that experiment, there is no benefit
HashSetEx actually doesn't need to defer adds
NetworkSpawn() with no arguments will use Connection.Local as the owner (like it used to)
External change detection for scenes and prefabs use the source, should resolve messy external change detection, especially on new projects
Revert "Remove GetAllComponents( Type type )"
This reverts commit 1df4c2e1841f058432fdb446fccd5dcb93e0648f.
Implement GetAllComponents( Type type )
Log files use the process name
Remove GetAllComponents( Type type )
Experiment: Does the boxing to object make any difference here
Fix hotload struct array block copy
Update TargetFramework to net9.0
Fix changed MemoryMarshal.Write
HotloadDll checks for net9.0
Replace FormatterServices.GetUninitializedObject with RuntimeHelpers.GetUninitializedObject
Package updates
Use ReadExactly instead of Read
Fix MemoryMarshal.Write usage
Comment out obsolete for now
Disable PatchAMSI
Update compiler embedded refs
Update embedded System.Runtime.Versioning.TargetFramework version
processor ignore net9 folder too
Whitelist System.Runtime.CompilerServices.NullableAttribute
Whitelist NullableContextAttribute
Whitelist RefSafetyRulesAttribute
AnimGraph: Keep track of cycle for updating state machine blend weights instead of calculating from anim time, should fix dodgy blends when playback speed fluctuates
ModelDoc: Fix obj loader not making use of object name, causing bad mesh names
Revert "Fix rigidbody transform change, check change against target local, not the interpolated transform, remove proxy check"
This reverts commit e08435cdc7b5412e81fa752af22c2eb35b48ce4c.
Revert "Experiment: batch transform change callbacks and run in one place, instead of whenever the transform changes"
This reverts commit 858eebcfd1e95eb0cd13cbf32043d39d8a4622b1.
Fix rigidbody transform change, check change against target local, not the interpolated transform, remove proxy check
Fix GameObject.NetworkSpawn(null) spawning as host instead of spawning with no owner. Fixes a few games.
GameTransform.DisableInterpolation is a static, remove AddToInterpolationSystem + RemoveFromInterpolationSystem
Reduce HashSetEx initial size
Experiment: batch transform change callbacks and run in one place, instead of whenever the transform changes
Test HashSetEx with iteration counter and deferred changes
Fix NRE in UndoGameObject
Lets try this "real" ConcurrentHashSet to see if it matches the performance of the old BufferedHashSet. I have a feeling we're going to be better off special casing the collections for our updates to maximize perf
Human: more skinning updates focused on polishing height scale squash & stretch as well as volume preservation on elbows & kneecaps
Fix "path cannot be empty" when opening object menu
Since BufferedHashSet is more expensive now, lets try to avoid it where we don't need the concurrency
Don't repeat NetworkSpawn logic, filter down to one function
Network the GameObject enabled status
Add ISceneLoadingEvents - Allows listening to events related to scene loading and creating loading tasks
Add Game.TakeScreenshot
ComponentFlags.NotSaved is ignored when networking
Move ShouldSave logic to SerializeOptions
Adding OnUpdate etc will refresh directory on hotload - avoiding the need to stop and start the game for them to start working
Change BufferedHashSet to use a ConcurrentDictionary under the hood
This hopefully fixes issues occurring when iterating multiple times, inside itself, and Count not changing until iterating. We should rename this to ConcurrentHashSet at some point.
Make objectindex a BufferedHashSet so Scene.GetAll<T> doesn't suffer from modified while iterating
Add GameObjectSystem<T>
Fix Custom Cursors not being cleared when returning to S&box Main Menu.
GameObjectSystems can implement scene events
* Replace Scene.GetAllComponents<T> with Scene.GetAll<T>
* GameObjectSystems can implement scene events (Scene.RunEvent<T>)
* GameObjectSystems can implement INetworkListener
Fixed joint sets linear angular spring maximum force to float max, this is the default, not zero
Fix prop gibs not making use of placementOrigin attachment when it exists, causing some gibs to be spawning at incorrect origin https://files.facepunch.com/layla/1b2111b1/sbox-dev_LApwRRrbZ8.mp4
Fix NRE caused by "Fix Duplicated Entries in Create GameObject Menu"
Improve search performance
List view shows time & modified date
Those folders should have been blue
Show file sizes in list view
https://files.facepunch.com/alexguthrie/1b2011b1/sbox-dev_fjHVEp2Awp.png
Just get rid of F_DISABLE_Z_PREPASS entirely, it's not applicable for users to set it, static overlay uses BoolAttribute( NoZPrepass, true ); directly
Fix action graph target types in resources
Nicer display info for interface types, icon for event methods
Added scene.run node
https://files.facepunch.com/ziks/2024-09-19/devenv_VvsrGGEi2v.png
https://files.facepunch.com/ziks/2024-09-19/sbox-dev_JdyfR5LSEQ.mp4
animation: none clears animation
Clear ragdoll bone initial positions after using them
use default depth_only combo for skin
Remove F_DISABLE_Z_PREPASS from shaders except if you want it explicit, remove it from eyeao until we recompile shaders
Remove aoproxies ambient occlusion, it never looked too right and it's stupid to have artists authoring them manually, almost no one did
I still think SDF AO works better than SSAO in most cases, but they should live as a renderhook and artists don't need to touch anything, the way it is now is very hard to maintain, it could be 10x simpler
VrMonitor goes long unused since we removed SceneMonitor & VR Multiview
Replace AO on shader with a single, non-directional AO but that composites properly, older shaders wont have incompatibility problems, also makes Dynamic Reflection work without ao
AO on lighting pass
GTAO stub, remove sdf.hlsl (until we meet again 🫡 )
Iterate gtao
Fix Duplicated Entries in Create GameObject Menu
Add sbyte, short, ushort to IntegerControlWidget