252,172 Commits over 3,990 Days - 2.63cph!
Use conservative alphatest discard for depth prepass in goback_material instead of opaquefade, fixes blue stripes in overlays
Damage effects for motorbikes.
Road FX tweaks.
Envmap Ambient Lighting + Sky Envmaps (#1568)
Envmap Ambient Lighting + Sky Envmaps (#1568)
Update shaders with legacy ambient lighting padding
Don't create a death marker
Add padding for LegacyAmbientLightColor, let's not make our lovely existing community games have red ambient color
https://files.facepunch.com/sam/1b2811b1/FLkIjvjdgH.png
Milder throttle exhaust.
Will get more pronounced with damage.
Merge Travelling Vendor -> Main (yet again!)
Added client check for editor script
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
update shaders with IBL
Default ambient color on SceneThumbnails
Add padding to buffer
Fix IBL not applying to transmissive
Use faster Scene.GetAllComponents<SkyBox2D>() for fetching skybox texture on CubemapFog to not iterate over all gameobjects
Revert SkyColor to control ambient light on DirectionalLight again, but pipe it to scene's ambient light color
Sun prefab now comes with no skycolor ( Takes from IBL )
Travelling Vendor -> Main
Merge Travelling Vendor -> Main
Fixed override steering bug
Increased time between pullovers
Revert SkyColor to control ambient light on DirectionalLight again, but pipe it to scene's ambient light color
remove ambient sound from travelling vendor vending machines
TextureAtlas.FromSprites orders list by name so order doesnt matter
TextureAtlas.FromSpritesheet re-orders list so order doesn't matter
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
Reverse-Z Compatibility: Serialize depth stencil state version and reverse the depth comparison of old shaders
Update shaders with stencil state versioning https://files.facepunch.com/sam/1b2111b1/ZCuq7swn9v.png
Fix hot air balloon immediately deflating after server transfers
Remove alphatest layers and unused attributes, all done in opaque pass
Depth Fast Path was fucked up with material overrides, disable depth fast path on that batch if we're using material overrides then, this whole system seems complicated to begin with too, additionally material flags were not being updated when you did a SetMaterialOverride
This fixes translucent material overrides rendering as if they were opaque
https://files.facepunch.com/sam/1b2811b1/UNobtq1Qnd.png
Handle translucency flags for material overrides in renderingpipeline
Nullcheck bMaterialOverride
Fix player's parent incorrectly being removed in BasePlayer.EndSleeping
Greatly improved the performance of vendor position pull over collider check
Merge from runtime_profiling_update_markers -> main
Simplify StartOfFrameHook as the first of FixedUpdate() or Update()
Rename "CPU" in perf 6 -> "SCRIPTS"
Estimate time taken to measure Physics.Update()
- time taken between `FixedUpdate()` and `yield WaitForFixedUpdate`
- include physics update time in server runtime profiler
- add to perf 8 alongside FixedUpdate ms
Wallpaper pickable using a hammer
Drive for a bit before switching off indicators
Removed another sphere
Fixed unset indicators on pull off
Fix RSS news blogs
Fix rating button selection
Fixed another bug with hazards
Commented out debug spheres
Change asset.party org
Merge branch 'main' into spritesheet-importer
Reduced serverside max steer angle to a more realistic maximum
Swapped right indicator use flags that are actually free
Setup hazard lights on pull over
Prevent explosives from being able to be placed on the vendor
Fixed issues with right indicator
Add FlashColor and FlashAmount to SpriteComponent
Fixed sprite editor rendering the sprite with flash on
Implement IsLooping on SpriteComponent
BroadcastEvents pass the SpriteComponent as argument
Added OnAnimationComplete action to SpriteComponent
Update README.md
Merge branch 'main' into spritesheet-importer
Fixed DNumSlider reset to default via MMB not functioning correctly
Entity.GetBodyGroups returns "empty" for submodels with no meshes
Added Entity.GetFlexType ( id ) = string
Returns model defined flex controller "type" or the group
Added Color:Lerp( target, frac )
Small changes
* Fix DForm description
* DNumSlider.SetEnabled also affects its DLabel
* Finger poser and Faceposer correctly rebuilds UI on loss of entity
* DLabel.SetDark disables SetBright, and vice versa
* DLabel.SetHighlight always overrides SetDark AND SetBright
Added string.NiceName & use it for bodygroup names
It converts "names_likeThis" to "Names like This". There have been multiple implementation in the base game, which are not all using the same function.
IMaterial:GetColor returns an actual Color
Disabled DLabel has faded out colors
Fixed file.AsyncRead erroring after Lua shutdown
Faceposer flex groups
The groups are defined by the models themselves.
https://files.facepunch.com/rubat/2024/June28-263-UnwittingEthiopianwolf.jpg
Player marker will show for enemy players under certain circumstances, with minimal info
Merge from runtime_profiling_update_markers -> main
Add script execution time for Update(), LateUpdate() and FixedUpdate()
tdm map
added more spawns
added minimap
Merge branch 'main' of sbox-hc1
Added wallpaper conditional models to all stones building block prefabs
Damaging wall removes attached wallpaper (only one hit atm)
Set last wounded start time when handcuffs are broken out of
When spectating and the viewer dies, move to next player immediately, fixes #133
Fix voices showing up for disconnected players