14,872 Commits over 1,642 Days - 0.38cph!
Standalone: Add `materials/error.vmat_c` to core whitelist
Cubemapper can accept multiple resolutions
Use a single scratch texture for cubemapper staging texture and use rects to copy to/from
Hammer area lights
Capsule desc for lightmapper takes half length
Baked lighting for area lights + some falloff, LTC was taking reverse units compared to previous implementation
Update shaders
Remove point light size and adjust area light hammer values
Make a copy of the entries we're gonna iterate when installing server packages during handshaking - will stop the connection crashing if the entries table is modified while installing the packages - this could happen if the server / host adds a server package requirement during this process
Fix line light being darkened and warnings
update shaders
Directional lights was using the logic to null transform directions, putting it back
Replace fuckload of if statement from LTC::ClipQuadToHorizon with a lookup table, fast analytic line/capsule light implementation
Pass light rotations to point lightbinned lights
Cleanup LTC
Add analyzers for non-static usage of ConVar/ConCmd
Add fixers to both ConCmd and ConVar analyzers
https://files.facepunch.com/devultj/1b2611b1/mspaint_vX3TmshE7B.png
Add upper limit to Input Actions in InputPage, disables the button and adds a tooltip
Added "Jump to Code" for inspector [Button]s
Clean up and fix NRE in ComponentSheetHeader.GetTooltip
NetList/NetDictionary can use their control widgets, resolves Facepunch/sbox-issues#6759
Add Steam Relay Service status information to the "status" command output. Add analytics when session fails or is established
Menu: ServerList overflows properly, resolves Facepunch/sbox-issues#7927
Fix snapshot id difference tolerance
Remove WM_GETMINMAXINFO handler because it wasn't helping (was probably making things worse)
Simplify window titlebar bounds check
Support Localization on TextRenderer https://files.facepunch.com/layla/1b2511b1/sbox-dev_BmcGsgJpPO.mp4
Ignore null keys in net dictionary read
Don't send invalid keys in reset change
Handle WM_GETMINMAXINFO to prevent maximizing issues
Ignore resize handles when window is maximized
Expand non-client frame bottom by 1 pixel to fix auto-hiding taskbar not being shown
Clean up fb copy logic
Don't do threaded fullsorting if we have a framebuffer copy, we want to capture the first copy when the object is ready to draw and there's no good way for us to do synchronization from these threads before they're joined
If we want multiple fb copies per layer, don't try to batch primitives, draw themindividually
https://files.facepunch.com/sampavlovic/1b2511b1/5lQrZuR0X3.png
Do a fbcopy when needed when we issue the drawcall instead of start of layer
https://files.facepunch.com/sampavlovic/1b2411b1/TelPfAoEb1.png
Fix wrong blending modes being set on glass wtf
Fix video recorder crash when vulkan video fails to initialize on AMD cards
Properly cleanup resources if video or audio context creation fails at any point.
Fix model renderers not reloading attachment hierarchy on model reload https://files.facepunch.com/layla/1b2411b1/sbox-dev_M5JquhxEDq.mp4
Protocol++, remove logs I left in accidentally
RPCs and Sync Var Support for GameObjectSystems
Make sure correct context local scope is pushed when running console command - Fixes incorrect TypeLibrary being used when running commands
rendersystemvulkan: remove unused legacy descriptor set update path to simplify further descriptor set changes
VK_KHR_descriptor_update_template was promoted to Vulkan 1.1 and we
target 1.2 minimum so descriptor update templates are always avaliable.
Meaning we can remove the very complicated legacy path.
Also removed KHR suffixes from the fast path to clarify it's not an extension.
UI: Allow both spellings of `grayscale`/`greyscale` inside `filter( ... )`
Fix network table corruption when writing entry that throws exception
Don't instant output dedicated server logs, queue them too - suspect crash fix
Restore the CONTENT search paths to fix models missing materials
Even though 99% of searches no longer use it and still work fine.
I suspect CDmFbxSerializer::FindMaterialResource has very specific
behaviour for "GAME" vs "CONTENT" that makes it not resolve relative
paths properly, this only occurs when there is no compiled file yet.
Add connection pre info so that connection has valid info while checking AcceptConnection - Fixes SteamId is not properly initialized in INetworkListener.AcceptConnection
Try not to wake physics bodies when setting identical transforms, fixes proxy bodies not falling asleep
Readd disable backface culling
Remove exposure bias entirely from colorgrading, uses exposure compensation value from ToneMapLinear instead
Make shared postprocess not write to depth; we corrected a behavior that postprocess was using wrong depth buffer ( things like DoF are meant to use it even on PP layer ), but this caused some user PP effects to only be written to skybox when correcting it
Do autoexposure before we do postprocessing and use HDR color for it, adjust rate for HDR compensation, adjust autoexposure adaptation scale, fixes autoexposure wobbliness & gives a much better range to it
Every tonemap type has exposure bias
Remove bullshit RenderState initialization, we get these from the renderer already
Clear alpha if we're rendering directly to screen, same behavior as before native postprocess removal
Remove Exposure Bias from tonemapper, this doesn't make much sense since it's tied to only HableFilmic and does the same thing as ExposureCompensation
Fix EnumDescription.GetEntry(object)
Validate AssetBrowser location before trying to navigate, tidy up a bit
NetDictionary implements IReadOnlyDictionary
Our Dictionary.GetValueOrDefault extension doesn't need to exist
g_pApplication can be nullptr very early on
ci: upload symbols before build shaders to diagnose crash
Check Managed::SandboxEngine::IsReady() before spewing log
ShaderCompiler: Output failures at the end, cleanup garbage before exiting
Console apps don't buffer native log messages
Remove random include from envmap_filtering_cs
Revert "Mark as Dirty if physics body transform did change"
This reverts commit e493682a3343f8eed75fd50e7b437505915e64fd.
Reapply "Store external descriptor set name hashes, otherwise these aren't being refed properly which could very well be the Intel crash"
ExternalDescriptorSet needs to be described across VS/PS stages, put it in common.fxc (there are some shaders that will/can never use it like unlit)
Fixup descriptor name hash for outdated ugc shaders
Build shaders
# Conflicts:
# game/addons/base/Assets/shaders/terrain/cs_terrain_sculpt.shader_c
Revert "DictionaryExtensions use IDictionary so they work with whatever"
This reverts commit 6d3e964af97afe619b715b358bb66cbe61246208.
Account for more floating point imprecissions
Further, reduce goal overshooting for nav agents