20,806 Commits over 1,522 Days - 0.57cph!
Remove unneeded command line args
Make sure the first time a sound is played, random is actually random, not starting at zero, only forward and backward start at zero
Support SoundEvent selection modes (forward, backward, random, random exclusive)
Bone null checks in TryGetBoneTransform
SkinnedModelRenderer - add string based bone getters
Fix GetPlayerStats caching wrong
LocalFileSystem cleanup
Update shaders with stencil state versioning https://files.facepunch.com/sam/1b2111b1/ZCuq7swn9v.png
Reverse-Z Compatibility: Serialize depth stencil state version and reverse the depth comparison of old shaders
Generate AssemblyDefinitions
Component editor
Added type definition records
Property, Method emitting
Emit events
WIP generate AssemblyDefinitions
Default ambient color on SceneThumbnails
Add padding to buffer
Fix IBL not applying to transmissive
renderdevicevulkan: enable reverse depth
Reverse the DepthFunc on all shaders GREATER <-> LESS
gizmo_grid: reverse manual depth bias
We need to change the depth clear value from 1->0 (in 3 different places of course)
Recompiled core shaders
Fix r_depth_debug
Default RenderState DepthFunc to RS_CMP_GREATER_EQUAL, makes shaders without a RenderState set default to it
https://files.facepunch.com/sam/1b0711b1/tt3.png
Readjust depth bias on debug shaders for reverse depth
Fix shadow in reversed depth
https://files.facepunch.com/sam/1b0711b1/tt2.png
Adjust depth bias for gizmo shaders for the increased depth precision
Tiled light culling with reverse-z
SSR with inverted z ( Way more stable )
Fix (3D) Skybox with inverse depth range
Fix SSR backtracing on reverse depth
Remove shadow depth bias from shader, it should be controlled by shadow matrix on lightbinner
DoF with reverse depth
Shaders for reverse depth
Fix glass and decal overlays depth bias
Shaders with depth bias fixes
Add shadow depth bias on matrix
Compile UI shaders for inverse depth
Reverse depth comparison on the sampler rather than on the shader for shadows, makes this more lean
Fix SSR backtracing and confidence check ( and Depth::GetLinear() )
https://files.facepunch.com/sam/1b1111b1/cxXjDfQ2g5.png
Update shaders
Update Zio to 0.18.1
Fixes Facepunch/sbox-issues#5683
Fix load/delete window layout menus being swapped around (lol)
Default ambient color on SceneThumbnails
Null checks on Scene.AmbientLightColor
AmbientLight component is killed, update Obsolete documentation
Add padding to buffer
Fix IBL not applying to transmissive
Remove AmbientLight component, just pass to scene, make it a property
Scene view: whack up 2d view zoom speed, properly clamp zoom to sane limits
Support tga and psd image loading
Bring back image asset preview with fixed tga and psd support https://files.facepunch.com/layla/1b2111b1/sbox-dev_t0gYLg8tdd.mp4
Add angle/grid snap increment spinboxes for custom values, Facepunch/sbox-issues#5691
FPArms: move_groundspeed to move_bob (0,1)
Fix NRE when removing a element from a collection, resolves Facepunch/sbox-issues#5621
DictionaryControlWidget: fix not being able to create new dictionary element if the key hasn't been initialized
Add "Clear Console on Play" preference, resolves Facepunch/sbox-issues#5615
Fix shift click multi-select no longer working in viewport, resolves Facepunch/sbox-issues#5698
Scale lod switch distances by scene object largest component scale so that lods work properly when things are scaled
ModelDoc: Report errors for missing prefab target files
Remove remains of CSoundEvent
Don't transform rigidbody physics on interp transform change (why are we calling this?) we only want to directly set physics body transform if someone directly changed the game object transform !!
Move collider keyframe body move to fixed update
EditorPreferences.CameraZNear minimum range 1 please stop
Resolves Facepunch/sbox-issues#5696
Box select works in ToolVis modes (ui_cssbox shader)
Resolves Facepunch/sbox-issues#5699
FPArms: improved shared jump/airborne/land animations
Possible fix for some code changes being ignored when using VS
Facepunch/sbox-issues#5683
Add Application.HoveredWidget
Hide EngineOverlay if the game isn't visible
Fix SceneViewport hasmouseinput logic
Initial VR scene for main menu
https://files.facepunch.com/alexguthrie/1b2011b1/sbox_pKFaTyqkgq.png
Add Transform.ForwardRay
Fix editor not finding resources in libraries
Add GameObject.Clone( prefabPath )
Add copy/paste by right clicking property labels
Can set animgraph bool params using numbers
GameEditorSession stores the session that spawned it
Add SceneEditorSession.Resolve, GetParentSession
Can right click properties in game session and apply their tweaked values to editor session
Scene view: proper icons for layout buttons Facepunch/sbox-issues#5676
OpenXR backend for VR (#1600)
Treat Facepunch.XR fail results as warnings
Update Facepunch.XR to 1.0.0
Restore object de-select by clicking empty space, and not dragging, resolves Facepunch/sbox-issues#5680
Use camera frustum depth for dragdrop trace, fixes Facepunch/sbox-issues#5678
Warn when a FileSystemWatcher emits an error
This can happen when the internal buffer is exceeded, causing changes to be dropped.
Increase/Decrease grid size shortcuts were the wrong way around
Add grid axis selection in perspective viewport
Shutdown Tools properly on launcher exit
Add Close On Launch option to launcher
fix debug compile
Simplify how RecentScenes works
Load editor MRU and tags after all assets have been imported
Move Scene.Save to EditorSession.Save, update scene name/path on saveas, record asset as opened
Loading a prefab in editor loads the cloud assets
Call TransformChanged() once again in InterpolateFixedUpdate
Clear pending updates in SceneNetworkUpdate too
Make sure we use TargetLocal in any transform changed callbacks called from within interpolation phase to fix physics bodies using wrong values. Add internal InterpolationWorld getter in GameTransform and use that in ModelRenderer OnTransformChanged for updating scene object position (fixes broken interp.)
Remove AmbientLightSH from lightbinner, Directional Light doesn't control ambient color anymore, this is a visually breaking change, I'll see to put a better replacement to existing things
Set skybox as global cubemap
Be able to sample cubemaps from any resolution, use diffuse cubemap as diffuse indirect illumination if no GI in scene
[Pick] Implement "GGXCubeMapBlur" filter on CPU, previously it did not work at all in CI since require RenderSystem which isn't ideal since it's the only thing that did so and is completely different from our Cubemapper GGX filter, this makes all filters consistent and much cleaner, remove Convolve Envmap shader
I want to start using GGX filtering on skyboxes but this wouldn't work on CI because of that requirement
Skyboxes compile wid GGXCubeMapBlur instead of Box filter, adjustments for GGXCubemapBlurHelper
Cubemap fog just takes material from current skybox
https://files.facepunch.com/sam/1b1511b1/sbox-dev_k6CScBsqcF.mp4
Make CubemapFog material still be configurable, take it straight from the skybox if it's null
Separate Ambient Light into it's own component from Directional Light, add upgrader for it
Use black cube if texture passed to lightbinner is invalid (eg non-sky material from SceneSkybox )
Fix World.AmbientLight, make flat ambient light lerp between IBL and what we have, make it artist accessible with ambientlight component
Delete these skybox vtexes
Remove convolve_environment_map.shader from shader ci
Don't change flTargetLuminanceOfCubemap, it's bullshit
Skybox envmap has lowest priority
https://files.facepunch.com/sam/1b1911b1/yipICq2VMI.jpg
Swap tools stuff that uses DirectionalLight.SkyColor to either IBL or AmbientLight
Better description of obsolecence
Swap tools stuff that uses DirectionalLight.SkyColor to either IBL or AmbientLight
Skybox envmap has lowest priority
https://files.facepunch.com/sam/1b1911b1/yipICq2VMI.jpg
Don't change flTargetLuminanceOfCubemap, it's bullshit
PhysicsWorld.CollisionRules Refactor - Project Settings Small Network Files Support (#1604)
* Add PhysicsWorld.CollisionRules getter. Delete ServerConfig. Update collision rules json on world if hash changes before physics step. Project Settings (.config) are networked via Small Network Files - can react to changes
* Do GetHashCode this way
* Initialize CollisionRules
* Handle small network files from different file systems this way?
* Fix
* Fix documentation
* Reset config files
* Kind of genericize SmallNetworkFiles - push / add / remove files from it externally - mount its MemoryFileSystem externally as well to desired file system
* Fix - but obviously it can't be done this way it's absolutely awful
* Add all files from network when mounting on client side
* Method name update
* Remove some duplication
* Cleanup
* Fix inverted condition
* Unnecessary arg
* ToHashCode
* ReadWithFallback will return new T() if package is null too
* Store CollisionRules from Project Settings in ProjectSettings static class - update it when project settings change. Physics worlds using this reference should update automatically
* Call ProjectSettings.Reset in ResetEnvironment
* Clean up
* Swap these
Remove convolve_environment_map.shader from shader ci
Animgraph: Log anim error when single frame node doesn't have a valid sequence