21,403 Commits over 1,552 Days - 0.57cph!
Squashed commit of the following:
-GTAO
-Aoproxy removal
Split between SSAO and GTAO
Remove cs_surface_interactions
Always output combo count if it's over 1000
Strip some lesser used stuff from spritecard to get the compile time/size under control
Remove old broken water shader
spritecard compile fixes
Revert "Remove old broken water shader"
This reverts commit 839701b6fc80e9ef6663f8540820545e5d39f490.
Fix water shader not compiling
Add * option to vfxcompile
Create Shaders-Build.bat
Create Shaders-BuildForced.bat
Delete old shader build scripts
Fix network scene load race condition. Fix spamming Join Game trying to connect to a lobby after we're already in a game
Composite SSAO on Lighting rather than Blitting (#1677)
Update shaders, might get stumped with AO changes but i'll just build them back
fix nre, cleanup unused, order, CommandList.Release -> CommandList.ReleaseRenderTarget
Tweak EventManager flushing
Services Update
Address case when trying to package.GetMeta<string> something that isn't a string, to ensure backwards compatibility
- Resolves legacy game issue where InputSettings has not been moved to Input.config
- Output a warning if we fail, instead of hiding it
Asset Browser: Everything location excludes cloud cache, non-project assets when 'Show Base Content' is disabled
Asset Browser: only hide compiled versions of source files when they both would have been shown under the asset filter (don't hide .sounds because we have a .wav etc)
Remove any existing package files when updating to new cloud asset version
Fix DispatchCompute capturing
Fix record struct not using primary constructor
Make action graph prefab variables sort of work
They don't set the right ISourceLocation yet, so they'll open the wrong asset when editing
Fixes Facepunch/sbox-issues#6880
Clear the temporary RenderTarget cache after Present. It should be okay to grab one of these and not free it.
Add ComputeShader.DispatchWithAttributes
Remove unused
commandlist.Dispatch uses the attributes from the commandlist, rather than the computeshader
Fix RenderAttributes setting doubles as float2 😵
Clean CommandList RenderTarget api
Add action graph clean up tool
Fix checking for IsNull instead of NotNull
Convert to use CommandList properly
ActionGraph: disable way of creating invalid references
Was possible to reference components etc as constant values for properties, should use scene.ref nodes instead
Squashed commit of the following:
commit 8b28be7427ce545fc522cc32ba26825de66ec7db
Author: kurozael <kurozael@gmail.com>
Date: Mon Nov 25 11:51:06 2024 +0000
Make it easier for those who don't know the command line options to spawn their local instances in windowed mode ( https://files.facepunch.com/conna/1b2511b1/sbox-dev_sxEprjThtS.png )
commit 9429d94c3816fea2e354a24d33e89d632ff933cd
Author: kurozael <kurozael@gmail.com>
Date: Sun Nov 24 22:12:15 2024 +0000
Some exceptions to help diagnose issue
commit 7622f5f50e31b05c03bbaad55d0f5c8dac446c3d
Author: kurozael <kurozael@gmail.com>
Date: Wed Nov 20 15:26:19 2024 +0000
More cleanup, early out if disbaned or toxic
commit 0b484581c951969daed0cde3e51775ed0a0a4517
Author: kurozael <kurozael@gmail.com>
Date: Wed Nov 20 15:19:43 2024 +0000
Some cleanup
commit b76f3fa7dfa6b973d31424e79ca777652cd2e207
Author: kurozael <kurozael@gmail.com>
Date: Wed Nov 20 15:00:34 2024 +0000
More fixes
commit ff4ad7dfc4ec25125a1753aaf6a3470a3c0ce043
Author: kurozael <kurozael@gmail.com>
Date: Wed Nov 20 14:02:58 2024 +0000
Unique handshake id tests - if we restart a handshake its possible two could be running in parallel, this'll stop that
commit 8d7a08cff2c9641a3c96f5a777f89dbea5c1ba1f
Author: kurozael <kurozael@gmail.com>
Date: Wed Nov 20 13:32:08 2024 +0000
Testing with handshake process fixes if host changes during handshakes...
commit 301685cf930858a1074d3b3add085c52379f4664
Author: kurozael <kurozael@gmail.com>
Date: Wed Nov 20 12:49:27 2024 +0000
First fix map override task when using launcharguments.map
Make it easier for those who don't know the command line options to spawn their local instances in windowed mode ( https://files.facepunch.com/conna/1b2511b1/sbox-dev_sxEprjThtS.png )
Rename Obstacle -> Area
In the future the defined Areas defined maybe used for other purposes beyond blocking/obstructing
Editor: adjust minimum/maximum camera speed (8 -> 100), determine increment/decrement based on current speed instead of flat rate
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
SampleScreenSsMSAA to composite non-MSAA screen effects ( SSR, AO, etc ) into an MSAA buffer
https://files.facepunch.com/sampavlovic/1b1711b1/05csVIYZJM.png
Fix AO compositing for custom shaders
https://files.facepunch.com/sampavlovic/1b2111b1/CRqx99maFj.png
Add compiled shaders for AO including for Material shaders
Composite AO to pipeline rather than blitting, cleanup
AddHookAfterTranslucent > AddHookAfterDepthPrepass
[Pick] Add internal Graphics.FrameAttributes, up to review
Remove hack for clearing AO and use FrameAttributes instead
[pick] GetBindlessRWTextureXXX if compute shader
Move all ambient occlusion sampling to AmbientOcclusion.hlsl, bindless sampling
RWTextureCubeArray doesnt exist, should just be a RWTexture2DArray
[pick] Fog.hlsl cant be sampled from compute shaders in compute shaders that also ref lighting.fxc
[pick] Fix include guards for hlsl classes, fixes declaration in both standard and material shaders, fix AO sampling
Update shaders with bindless SSAO sampling
Do a simple texture fetch for AmbientOcclusion::Sample, simplify SampleScreenSsMSAA
Compile shaders without MSAA sampling for AO
Child camera executes command lists from camera it's taking attributes from
Internal CommandList with calling action directly
Temp pass RenderEffect inside the command list directly
Fix validaiton error in old AO where we were writing normals when never bound
Execute procedural layers ( managed hooks ) before threaded action to set up geometry, this fixes race condition in viewattributes from hooks
Previously FrameAttributes/ViewAttributes were working to pass to the rest of the pipeline merely because of a race condition and would break down in low framerates and wouldn't actually pass changed view attributes to those partitions in the correct order ( https://i.imgur.com/fW4VPVJ.mp4 ), this does it properly
Be very careful about when we load assemblies in LoadNetworkTables
Facepunch/sbox-issues#6984
Only warn once if Json serialization happens during a hotload
Facepunch/sbox-issues#6984
Expose BoneCollection / Bone to ActionGraph
Fixes Facepunch/sbox-issues#6878
Give each scene dock a unique name and fix load order so we maintain layout positions
Move window layout to project cookie, will fallback to importing from editor cookie for now
Lazy-initialize NavMesh GeneratorPool
Restore AssertNoGraphErrorsInScene test
Fixes #1709
Asset Browser: Show 'Open File Location' in context menu when searching too
Asset Browser: Disable flat/recursive toggle button when searching or in meta location
Hook up Package.Data
GameModal now correctly uses GameConfig from backend
Fix "no screenshots" being thin
After purchase, keep refreshing until we have the item
Indicate when you already own items
Fix NRE in NavMesh Dispose
Restore colliders on rigidbody disable if the collider is still active
Don't let collider dictate body type when there's a rigidbody, colliders could have a mix of statics so rigidbody should be the authority on this
Load Model.Plane
Add Graphics.DrawModelInstanced with count for procedural instancing, document other instanced methods
Add DrawModelInstanced methods to CommandList
Add CommandList.Set for ComputeBuffer<T>
Update default JSON ignore condition to use JsonIgnoreCondition.Never
Resolves Facepunch/sbox-issues#6995,
Resolves Facepunch/sbox-issues#6953,
Resolves Facepunch/sbox-issues#6349
Add Graphics.ResourceBarrierTransition supports transitioning Textures and ComputeBuffers states currently, e.g if you wanted to signal a resource should be readable in fragment after a compute write to it
Fixed .config files not being added to appropriate string table for clients to receive changes
Scene collision events (#1707)
An interface to listen for all collision events that happen during a physics step
Fixed NRE when trying to delete non-asset files, resolves Facepunch/sbox-issues#7002
Support drag data for GameObjectControlWidget, resolves Facepunch/sbox-issues#6998
https://files.facepunch.com/tony/1b2311b1/sbox-dev_xLjcpe9xed.mp4
Organisation -> Organization where necessary
Resolves Facepunch/sbox-issues#6822
Delete view_shared, move CViewSetup to camerarenderer and start removing unused junk from it
Add CameraComponent.CustomSize to override aspect ratio. When rendering to a render target, sometimes you want the aspect of the screen and not the texture
Add CameraComponent.ProjectionMatrix
Add CameraComponent.CalculateObliqueMatrix to clip projection with a worldspace clip-plane
Remove SCENEOBJECTTYPEFLAG_IS_PROCEDURAL - it does nothing
Envmap feathering defaults to much tighter
SkyIndirectLighting param in hammer env_sky since it seems it never was there
Bail Model.Load early with error model for null or whitespace filename
Revert "Add recast/detour tile cache"
This reverts commit 0b2e398df82b304b23f7ddd2485b943ba1fe20ab.
We will use a custom caching solution instead.
Merge branch 'master' into navmesh-dynamic-obstacles
Fix test
Revert "Add recast/detour tile cache"
This reverts commit 0b2e398df82b304b23f7ddd2485b943ba1fe20ab.
We will use a custom caching solution instead.
Adjustments to cubemap normalization, make cubemap feathering happen from center of cubemap, and in world units, rather than inner, math is much simpler
Clamp cube box parallax projection to actual bounds box the box, cleanup
Our both our envmap filters uses linear roughness instead of sqrt roughness
Gizmo for scale in envmaps, adjust default for feathering in world units
Sort envmaps also by size, giving higher priority to smaller ones if it's in a draw condition
tiled light culling with edge feathering additions
Bail Model.Load early with error model for null or whitespace filename
Envmap feathering defaults to much tighter
SkyIndirectLighting param in hammer env_sky since it seems it never was there
Some exceptions to help diagnose issue
Remove SCENEOBJECTTYPEFLAG_IS_PROCEDURAL - it does nothing
Cleanup obstacle components
Integrate heightfield building into the tile cache
Refactor NavMesh class structure
Improve navmesh initialization
Remove dead code
Fix tiny memory leak
Fix validaiton error in old AO where we were writing normals when never bound
Execute procedural layers ( managed hooks ) before threaded action to set up geometry, this fixes race condition in viewattributes from hooks
Previously FrameAttributes/ViewAttributes were working to pass to the rest of the pipeline merely because of a race condition and would break down in low framerates and wouldn't actually pass changed view attributes to those partitions in the correct order ( https://i.imgur.com/fW4VPVJ.mp4 ), this does it properly
Rename CNavMeshCachedData -> CNavMeshHeightFieldData
More resilient native memory pooling
Add CameraComponent.CustomSize to override aspect ratio. When rendering to a render target, sometimes you want the aspect of the screen and not the texture
Add CameraComponent.ProjectionMatrix
Add CameraComponent.CalculateObliqueMatrix to clip projection with a worldspace clip-plane
Delete view_shared, move CViewSetup to camerarenderer and start removing unused junk from it
Organisation -> Organization where necessary
Resolves Facepunch/sbox-issues#6822
Support drag data for GameObjectControlWidget, resolves Facepunch/sbox-issues#6998
https://files.facepunch.com/tony/1b2311b1/sbox-dev_xLjcpe9xed.mp4
Fixed NRE when trying to delete non-asset files, resolves Facepunch/sbox-issues#7002
Scene collision events (#1707)
An interface to listen for all collision events that happen during a physics step
Make navmesh generator pools static
Pool memory for native tile heightfields
First fix map override task when using launcharguments.map
Testing with handshake process fixes if host changes during handshakes...
Unique handshake id tests - if we restart a handshake its possible two could be running in parallel, this'll stop that
More fixes
Some cleanup
More cleanup, early out if disbaned or toxic
Fixed .config files not being added to appropriate string table for clients to receive changes
Internal CommandList with calling action directly
Temp pass RenderEffect inside the command list directly
Add Graphics.ResourceBarrierTransition supports transitioning Textures and ComputeBuffers states currently, e.g if you wanted to signal a resource should be readable in fragment after a compute write to it
Update default JSON ignore condition to use JsonIgnoreCondition.Never
Resolves Facepunch/sbox-issues#6995,
Resolves Facepunch/sbox-issues#6953,
Resolves Facepunch/sbox-issues#6349
Revert marking the entire navmesh as unwarkable