20,839 Commits over 1,522 Days - 0.57cph!
Fix NRE when running Game.Close in the editor
Toggle play when running Game.Close in the editor
Set InputState.Ignore if game isn't being played
CMaterialSystem2::GetVfxPlatformType default to SPIRV
Remove HLSL/GLSL compatibility funcs
Delete unused Gather4Red macros
Use normal precise keyword
Piss off Dx9Sampler
What the fuck is SV_ScreenPosition, delete pre SM 4.0 semantics
Unused tessellation macros
vr_cubemap_fog include common_samplers
Fuck these Front/BackFace macros
Useless redefines
vfx_vulkan: actually fail if any of this validation fails, add another validation check for binding ids
vfx_vulkan: improve error feedback
Remove domain/hull shaders (they weren't working, Valve already deleted them, compute better)
vfx_vulkan: never disable optimizations, this was fucking spirv-reflect and the compile time difference is minuscule
Don't have a different fastMode shader compile, it doesn't do anything now
Matching register offset check in AddSamplerStateVariableToCommandBuffer, same as SetSamplerStateValueFromVariable (prevent oob write)
Bind some default shader resources to prevent crashes, this stuff shouldn't be hit normally so warn/assert it's likely solved by a shader recompile otherwise yell at me
Add BodyGroups and MaterialGroups in Prop Component
If collision source can't get game object from collider, try to get it from body
Add collision events to ModelPhysics
Mesh Editor: Add snap to vertex
Mesh Editor: Add edit logs to face operations
Mesh Editor: Clear selection on tool disable
Mesh Editor: Add new faces to selection on DetachFaces
Mesh Editor: Add snap edge to edge https://files.facepunch.com/layla/1b2311b1/sbox-dev_47gpBlC2me-00.00.00.000-00.00.21.192.mp4
Don't switch to object tool after creating block
Block tool saves last material used
Add PrimitiveBuilder.Material
Mesh tool selection and block tool are inspector widgets like they should have been in the first place
Clean up mesh control widget
CreateModelFromPolygonMesh add mesh collision automatically
Add modeldoc PhysicsMeshFromRender
Physics hull from render works on render primitive meshes
Add RenderPrimitiveMesh to modeldoc (not created in editor) that can serialize a CModelMesh to allow for inline meshes in vmdl
Add SaveToKV3 and LoadFromKV3 to CModelMesh
Add EditorUtility.CreateModelFromPolygonMesh
Add button to MeshComponent to convert to vmdl
Allow alpha on MeshComponent
ActionControlWidget: show graph errors in widget
https://files.facepunch.com/ziks/1b2211b1/sbox-dev_DUsekC8GAK.png
Even nicer stack traces for logs / exceptions in Action Graphs
https://files.facepunch.com/ziks/1b2211b1/sbox-dev_pFRBSK1ykL.png
Use high quality GGX filtering if baking cubemap as OnEnabled
Adjust things on fast envmap filtering, major cleanup, rename shader to envmap_filtering
Wip fast cubemap filtering ( 2.5ms > 0.09ms 😱 )
Whitelist common_samplers.fxc (hate this)
PresentYUV420Texture sets its sampler state (this whole func is manual?), fix random crash from using an unbound sampler
Revert verifying bound samplers & images until I fix these bad bindings
Compiled shaders with normalization brightness fixes for cubes without SH, reenable cube normalization
Debug string for CTextureManagerVulkan::GetTextureResource
Whitelist some more common exception types
Vulkan: Verify bound samplers and images
Nicer exception logging / stack trace for Action Graph exceptions
Push EditorNodeLibrary in Asset.TryLoadGameResource()
Clean up opening editor for a given action graph
Implement inspecting action graph elements
Make sure ActionGraph GUIDs are unique too
Make sure embedded expression graphs have an input node
Fixes Facepunch/sbox-issues#5253
Hide input node for expression graphs with no inputs
CI fails building shaders when machine is coming from a branch that was deleted, full checkout action should be enough for pulling?
If cubemap has no normalization set, don't consider it for NormalizeCubeBrightness
Push NodeLibrary scope for ActionGraphResource
Facepunch/sbox-issues#5244
Make sure NodeLibrary scope is pushed when deserializing components
Facepunch/sbox-issues#5244
VFX_MAX_SAMPLERS is 16 (matches VFX_MAX_SAMPLERS_PER_STAGE and RENDERSYSTEM_MAX_SAMPLERS ) - there is no reason a shader should have more samplers than this
These sanity checks aren't sane, textures aren't samplerstates. A proper sanity check already exists in CVfxVulkan::CompileSource
Use more common samplers for volume fog, vr lighting. Add g_sBilinearClamp & g_sPointClamp common samplers
Fix error texture spam by making sure "EnvironmentMap" is always valid
Dark mode non editor window
Vulkan: Aftermath is opt-in with -aftermath, costly callstack info with -aftermath_full
Recompile sprite shader
CreateModelFromMeshFile uses modeldoc directly to create the document and save instead of using a vmdl template. This has huge potential now that I know it works.
CI fails building shaders when machine is coming from a branch that was deleted, full checkout action should be enough for pulling?
Be able to disable cubemap normalization without S_TOOLS_VIS on shader
Add HandlePendingSwapChainResize for explicitly handling swapchain resize events before doing any work, fixes NativeRenderingWidget.RenderScene rendering on a frame with different window size than the actual swapchain ( and then having invalid color/depth buffers)
Don't check require component while deserializing, wait until post deserialize
Debug view for scene ref nodes
Warn Nvidia driver 551.23 for known issues
Stop compiling rendersystemdx11, remove -dx11 switch
Clean up IRenderHardwareConfig no need for all this DX8/360 crap, remove dxsupport.cfg override
vfxcompile: stop compiling dxbc, remove vfx_dx11
Remove "Compile Optimized Shaders", spirv-opt always runs
Set bindpose transforms before applying physics bones
ModelBoneTransformProxy.SetWorldTransform needs to set the bone transform local to the renderer transform, fixes bones blowing up when moving them in editor
Parse commandline properly to prevent projects with `-test` in the name breaking
sbox-issues/issues/5208
Test for multiple keyframe percentages (sbox-issues/issues/5168)
Support multiple keyframe percentages
e.g.
```scss
@keyframes tilt {
0%, 10% {
transform: rotate(0deg) scale(1);
transform-origin: center;
}
}
```
sbox-issues/issues/5168
Vector2Int, Vector3Int
sbox-issues/issues/4995