22,418 Commits over 1,614 Days - 0.58cph!
▇▅▆▉ ▆▋▊▍▇██▄▊▋ ▆▊▋█▊▆ █▅▄▉▅█▋▆▌▌█▇▅▊▉▆▋
World and shape userdata is void* now not intptr
Fix GetBody, AddBody, StepSimulation, StepUpdateManaged
Fix compile errors in physics joint
Add should collide callback
Ignore izShouldCollide(Body, Body) if one of the shapes is a sensor
Add joint break callback
Don't calculate mass for height shapes
Test max impulses for joint breaking
AddSpringJoint
Joint is enabled if it's active
Allow joint to become inactive
Linear slop is 0.03125 in sbox
Update to latest, update vpc, wrap any izabu changes in SBOX defines
Remove ProjectConfig.Tags
Add Package.UpdateValue( key, val )
Add debounce to Package.UpdateValue
Add SerializedProperty.Create()
Can edit some asset properties inline
Remove step results from physics interface, no longer used
Make BaseDropObject public so it's accessible to editor tools
Detect hand tracking, if not available (meta runtime) fallback to /input/grip/pose
Update Facepunch.XR to 915dcf5
Fix poses not working if you didn't have fully tracked hands
WIP - Added bloom color
ditto
Add BytePack handlers for Vector2Int, Vector3Int
WIP - Using Mips on downsamples. Plus other WIP misc. changes
ditto
Add json type converter safely through TypeLibrary
Remove unused convar refs
Disable launcher maximize button
LineEdit for creating new actions instead of having to edit the action afterwards
https://files.facepunch.com/tony/1b0411b1/sbox-dev_duZ3bhoZdb.png
When adding an input action, add it to the final group, not "Other", less annoying
Detangle all this from Cubemapper, make it able to render inline rather than on a render block
Redo update strategies from envmapprobe, much simpler, works everywhere now
Fix Depth::GetWorldPosition dividing by zero on skyboxes, pass epsilon to it
use Depth::GetWorldPosition on Motion Blur, fix darkening/overbrightening of it based on sample count
Remove VR suffixes from enums
Split Input.Vr.cs out into separate files within a VR folder
Don't try to compile shaders that have missing source files
Update menu scene
Hand tracking elements
Pull velocity up into TrackedObject, calculate manually
Move input related enums into their own files
VRController -> TrackedController
Remove TrackedControllerType, HMDType - not supported by OpenXR
VR anchor sets Input.VR.Scale based on transform scale (so that IPD matches)
Remove `Finger`, `FingerValue` already exists
Add ListControlWidget handle context menu with duplicate option
Reverse Z (#1581)
Every other modern engine uses a reversed depth buffer,
Unity DX11+
UE4+
Godot
It brings a massive improvement to depth buffer precision helping to prevent z-fighting and other depth precision issues.
Source 2 has always had support for it but was not forced because of DX9.
We should have turned this on long ago and will have to rip the band aid off at some point. It will break peoples custom shaders.
The other ways their shaders would break that I'm unsure if we could provide compatability are rare:
Interact with the depth buffer directly or through Depth::Get etc.
Perform operations in clip space like gizmo_grid.shader does.
I don't see why we'd ever change clip space direction again after this.
Bloom2 WIP
Work in progress C# component Bloom.
Process particles in a GameSystem, all at the same time, to benefit from multithreading
DynamicSceneObject can take vertex span instead of one at a time
Fix NRE in Collider.RebuildImmediately
Fix SoundEvent.GetNextSound random not using the full range of sounds
GameObjectSystem metrics
Look for eligible types in ResourceControlWidget, so it works with inherited types (resolves Facepunch/sbox-issues#5609)
https://files.facepunch.com/tony/1b0211b1/sbox-dev_YJS6hP69DC.png
Start pending components before physics step - fixes physics step running before joints are created
ByteStream Rewrite (#1610)
* Added failing ByteStream stress test
* Rewrite ByteStream to use Span / ReadOnlySpan where possible
Add basic support for using right CTRL/SHIFT keys for input actions, I didn't include RALT because my keyboard doesn't seem to work with it (resolves Facepunch/sbox-issues#5506)
Update Facepunch.ActionGraphs
* Optimization when cloning
* Nicer error messages with invalid pure methods (Facepunch/sbox-issues#5743)
Fixed Facepunch/sbox-issues#5752
Fix OnComponentUpdate / OnComponentFixedUpdate not running
Allow model inspector to preview animations https://files.facepunch.com/layla/1b0211b1/sbox-dev_fdrQka7PNG.mp4
Dictionary control widgets can't be edited when readonly
Hotload: Skip some System.Text.Json types
Fix some files (.razor) not opening in code editor from compile status window
Simplify scene ref gizmos, fix leak when closing scene
Terrain can import splatmap from png, tga, jpg, psd
Remove SceneFile.LastSaved, use existing hash check to check for external changes for scenes, much cleaner
Add algorithmVersion to vtex crc if GGXCubeMapBlur
Increment sky shader version, forces material rebuild, which forces a texture rebuild
Restore Toggle Gizmos shortcut (not sure if this was done on purpose)
Fix incorrect min max for int AnimParam
Add option names to enum AnimParam
Package.Type.Gamemode becomes Package.Type.Game
Can publish any asset, scene + prefab previewers
Published assets can optionally include source files
Fix Warnings
Fix GetParameterInt and GetParameterFloat not working for ANIMPARAM_ENUM
Preview animgraph parameters on model preview https://files.facepunch.com/layla/1b0311b1/sbox-dev_orVYPmENxI.mp4
Make sure any scene light properties ask native for their value so they can never go out of sync
Add binds we'll need for sceneobject serialization
Bind light desc so we can create a light directly from desc
Merge branch 'master' into reverse-z
Revert changes to sky.shader now that g_flFarPlane has the correct value in reverse-z
Add binds we'll need for sceneobject serialization
Bind light desc so we can create a light directly from desc
Make sure any scene light properties ask native for their value so they can never go out of sync
Preview animgraph parameters on model preview https://files.facepunch.com/layla/1b0311b1/sbox-dev_orVYPmENxI.mp4
Initial support for skeletal data, supports both SteamVR skeleton estimate (controllers) and full hand tracking (leap motion, virtual desktop)
https://files.facepunch.com/alexguthrie/1b0311b1/Desktop%202024.07.03%20-%2018.56.33.85.mp4
Fix GetParameterInt and GetParameterFloat not working for ANIMPARAM_ENUM
Bloom2 - new Bloom component C# - WIP
Intended to provide a more flexible bloom as C# component
Add support for finger curls, update Facepunch.XR to 98dab99
Hand joint data
Obsolte VR Model Renderer
Initial support for full hand skeleton on VR Hand component
Rename VRHand to VRHandSkeleton
Start adding support to edit Network Orphaned and Owner Transfer options in Inspector (visible when Network Mode is set to Object) https://files.facepunch.com/conna/1b0311b1/sbox-dev_I7Fk7tfs6K.png
Package.Type.Gamemode becomes Package.Type.Game
Can publish any asset, scene + prefab previewers
Published assets can optionally include source files
Fix incorrect min max for int AnimParam
Add option names to enum AnimParam
Restore Toggle Gizmos shortcut (not sure if this was done on purpose)
Add algorithmVersion to vtex crc if GGXCubeMapBlur
Increment sky shader version, forces material rebuild, which forces a texture rebuild
Remove SceneFile.LastSaved, use existing hash check to check for external changes for scenes, much cleaner
Terrain can import splatmap from png, tga, jpg, psd
Fix shadow bias with new Reverse-Z shadow compatibility
Fix SSAO with Reverse-Z
Update shaders with new Reverse-Z shadow compatibility
Fix shadow bias with new Reverse-Z shadow compatibility