20,764 Commits over 1,522 Days - 0.57cph!
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
Fix model physics positioning physics from render bones without the renderer world transform when scene model doesn't exist yet
Only enable physics system in editor while using physics tool
Auto start simulation on grab https://files.facepunch.com/layla/1b1911b1/sbox-dev_8C4a7S0Nfm.mp4
Block tool switches to object mode after creation
Add space shortcut to toggle simulation
Stop simulation on selection change
Add physics tool to manipulate physics in editor https://files.facepunch.com/layla/1b1911b1/sbox-dev_d719Yy9fe4.mp4
Editor support for scene.run nodes
https://files.facepunch.com/ziks/2024-09-19/devenv_VvsrGGEi2v.png
https://files.facepunch.com/ziks/2024-09-19/sbox-dev_JdyfR5LSEQ.mp4
Nicer display info for interfaces, default icon for event methods
Implement chip tag filtering
https://files.facepunch.com/alexguthrie/1b1911b1/sbox-dev_0quPxgWO64.mp4
Reverse recent locations & limit to 10 to match Windows Explorer functionality
Added Filter Settings to Add Component Popup. Can hide base components. Resolves Facepunch/sbox-issues#6428
https://files.facepunch.com/CarsonKompon/2024/September/19_11-10-TransparentAmethystinepython.mp4
Prefabs marked as `ShowInMenu` will actually show in menu without having to be in `templates/gameobject/` subfolder.
If a Prefab is marked `ShowInMenu` then you can give it `DontBreakAsTemplate` so it maintains the prefab reference when created via the GameObject Menu. Resolves Facepunch/sbox-issues#6035
Recent locations button
Tweak styling, move current project to top of asset locations list
https://files.facepunch.com/alexguthrie/1b1911b1/sbox-dev_cY35ptbOcb.png
Show particle count like this so it doesn't show up as a prefab variable
Catch possible NRE
This isn't needed anymore
Add .source2/ to gitignore template
If package is on disk just use asset directly when dragging into scene
Add GetBoneTransforms and GetBoneVelocities to SkinnedModelRenderer
Doesn't make a difference, but run ApplyStoredParameters here
Add ModelPhysics.CopyBonesFrom( SkinnedModelRenderer )
Add Component.Invoke( seconds, action )
Add Renderer.CopyFrom( Renderer )
GameObject.Network.OwnerConnection becomes GameObject.Network.Owner
Add particle editor tool to debug playback in editor https://files.facepunch.com/layla/1b1911b1/sbox-dev_gymPdlXVD6.mp4
Fill up _renderTarget on Graphics Scope so that we can fetch the immediate color/depth textures also without a copy
Fetch depth and color directly for DoF so that we can do pixel perfect fetches, start making near dof not shit
Human: removed Rust animations
Update Facepunch.ActionGraphs
Human: move staging to main
Chip count
Tag friendly names
Split left / split right copies path
Split left / split right
Chips from tags
Add Panel.Style.ResetAnimation and Panel.Style.StartAnimation
Add Panel.FlashClass - which will add a class for a specified number of seconds
Add Scene.RunEvent<T>
Refactor
Asset locations - remove duplicated nodes, target Assets dir only, tweak styling
https://files.facepunch.com/alexguthrie/1b1811b1/NVIDIA_Overlay_Uk3MO0IfOp.png
Fix Depth::GetLinear, be expressive about it for correctness before all, precompute these values later
Start fixing up dof https://files.facepunch.com/sam/1b2211b1/ombChoX97P.png
Iterate DoF
Smooth fade DoF from composite shader
Iterate dof, needs cleanup, almost perfect
Wave intrinsics to do early out for far dof
DoF2 Downsample with bias based on depth, cleanup
https://files.facepunch.com/sam/1b0211b1/sbox-dev_rXaN2wxsmC.mp4
Front blur, tweaks
Final tweaks, add depth gap for adding an area where u might want more focus
https://files.facepunch.com/sam/1b0211b1/sbox-dev_VBIoPeaBWP.mp4
Depth Resolve writes to both channels correctly
Final cleanups for dof2
Make sure we've got the right package version installed, update if not
Bin global tools package cache, replace with per-project store
Redownload package manifests if they're dodgy instead of breaking a download
Fix pinned version # getting dropped when installing package
Prevent trying to install different versions of the same package
Add manual cloud asset updating
Update asset package refs when updating dependency, fix when broken (yuck)
Basic 'in project' filter for installed cloud assets, show as asset location
Check revision matches when we're checking for an installed package at a specific #
Don't redownload a package we've already got installed
Can now pause SoundHandles the same way you can MusicPlayers. Resolves Facepunch/sbox-issues#5581
Fixed mix-blend-mode not working
Fix mix-blend-mode not applying to layer if using filter:
Fix filter: blur box cropping