248,635 Commits over 3,928 Days - 2.64cph!
manifesti_fix -> primitive
Merge: from amvienceemitter_recycle
Fixes an inconsistent bug on client disconnect from a server trying to reactivate a gameobject.
Tests: validated it doesn't affect entity pool warmup sequence (as we create->retire there). Using `log.level Audio 2` and a bit of 100% code-forcing the issue, disconnected 3 times:
- without the fix, it was 100% generating an error on disconnect
- with the fix, had 0 error reports
Bugfix: don't try to reactivate a destroyed spawnpoing in SERVER+CLIENT
- Reimplemented the spawn point status based on new internal state - this retains original behavior
Editor-only bug caused by my previous change of pooling behavior (destroy object instead of trying to pool it on scene unload).
Tests: on Craggy spawned and disconnected - no errors. Checked BaseSpawnPoint inheritance hierarchy to ensure there's no other places trying to activate gameobjects
edited player animation.controller so the shield impact animations work correctly
Battering ram compile fix
Merge: from main
Tests: compiled in editor
Don't use bind system for these control widgets, feels like the old way of doing things
change approach to be parallel friendly, triangles are found in parallel and then vertices are found in serial (cached by triangle edge to re-use between triangles that share an edge)
- flat array layout of the SDF array is terrible for caching in this setup, but still see a benefit from this approach
Fixed physics issue when building the ballista
Added a position offset setting for deployable guide mesh
Siege tower deployable on rocks too
Catapult and battering ram deployable on rocks
TerrainTexturing now monitors individual terrain related settings for change, instead of the Unity QualitySettings level
Fix foliage grid bounds calculations, basic implementation of terrain maps in compute foliage placement
There's a typo here in ModelRenderer.LocalBounds
Get safer sceneobject bounds, return zero size bounds for infinite sceneobject bounds - getting infinite bounds is not desired
Change default filename.
Fix export button appearing when it shouldn't.
Wipe my ass layer doing nothing
Unused Occlusion query layer
Remove r_tiled_rendering toggle, it is a requirement of any forward+ pipeline
Tiled culling in managed render pipeline
Depth only prepass very likely doesn't need lighting constants
Lightbinner layer managed
Fix ObjectHighlight.shader
Make sure turning direct/indirect lighting off still works on managed lightbinner layer
memdbgon.h doesn't belong in a .h file
Santa jacket/trousers lods (citizen version)
Searching by filename with extension will test correctly with assets too, fixes Facepunch/sbox-issues#7174
Navigate to project root instead of selecting engine asset when ShowBaseContent is disabled, fixes Facepunch/sbox-issues#7175
Move 'Show Base Content' toggle to asset browser toolbar so people stop acting like I've stolen their car keys
https://files.facepunch.com/solw/2024/December/17_16-46-AquamarineHound.png
Humans: add temporary intercardinal movement animations derived from offset cardinal directions + use new mixed animgraph setup
Santa jacket/trousers lods (human version)
Allow AssetType to get all file extensions, primary and additional
Remove hacky fix for image extension tags, do it properly
Make this readonly list so it can't be fucked with
Santa jacket uses neck_clothing bone to minimise twist deformation
Merge branch 'master' into shadercompiler
Fix SoundTool using propertysheet instead of controlsheet
Fix obsoletes while I'm here
No longer should pre-process in CompileShaderAndGetVariables
Refactoring
Refactoring to expose a simple mode
Leaderboard backup, run #
16205
Remove crumbs of ToolsShadingComplexity, we can replicate quad overdraw in almost every material without a special mode, shading complexity itself is on toolsvis now, toolsvis class
There's also a duplicate shading complexity shader
Lightmapping combos go on shadingmodel
Fix typos
Remove ToolsVis() and ToolsShadingComplexity() ( & ToolsWireframe ) mode from everything
EnvironmentMap::From to calculate all envmaps on a position
PerViewLightingConstantBuffer_t completely unused
environmentmapped bool is bullshit now that cubemaps are gpu driven, add stub EnvironmentMapping.hlsl
Detangle all of this, vr_lighting never directly referenced from any of our hlsls now
Fuck of with light.environment, light.dynamic and light.static are just in Light.hlsl instead of own internal files
Move shadow functions to Shadow.hlsl, much like BRDF.hlsl, will make it easy for us to upgrade, move LightMap definitions to Light.hlsl
Lightmapping definiton should be in shadingmodel.hlsl not Material.hlsl, that works only as a contract to shadingmodels, fix toolvis on shadingmodelstandard
day night light color
day night light movement
zombie night spawn
crates
DynamicLight refactor
Refactor StaticLight class, can do Light::From() to get all lights (static/dynamic) at once
https://i.imgur.com/jqko5ON.mp4
Remove more crumbs off S_MODE_TOOLS_VIS
Be able to fetch all light information with Light::Count() and Light::From(), while doing all optimization from tiled lighting etc
Move light.hlsl to common/classes/Light.hlsl, start unfucking it, make it have same structure as everything else
Cherrypick from the smoothstep
Antihack kicks reserve a slot for queue bypass
Nag message to remove S_MODE_TOOLS_VIS
Use single path for vr_common_ps_code to match what's on shadingmodel, eventually to just delete all of it, remove unused DISABLE_TONEMAPPING
Move BRDF stuff to BRDF.hlsl, organizes it and makes it easier to move to CS2's one with multiscatter
Fuck off with LightingTerms for toolsvis, we should be accepting any structure
Remove unused ShadingModel postprocessing ( handle it better )
ToolVis in a class
Single ToolsVis.hlsl, tidy it up
Initial ToolsVis without ToolsVis mode, cleanup some unsued
Remove last LOD from excavator bucket wheel so the wheel can always be seen spinning
- allows you to see if excavator is active from >100m away
Goodbye S_MODE_TOOLS_VIS combo
Enumize ToolVis modes, dont keep this logic on shared_standard_ps_code
Shadingmodel uses Fog::Apply instead of duplicate DoAtmospherics
Add namespace_name to antlr grammar so that we can do "type Class::Function()" definition instead of defining all in class itself, we should just let it accept any HLSL
Handle AmbientLightKind::LightMapProbeVolume and AmbientLightKind::LightMap
Shading Complexity in ToolVis, quad overdraw isn't even working now, and certainly doesnt need it's own shading mode, can make all materials use same shader
Remove CUSTOM_MATERIAL_INPUTS and CUSTOM_TEXTURE_FILTERING, vfx optimizes it out if not used
Remove D_BAKED_LIGHTING_FROM_VERTEX_STREAM, never used
Rewrite AmbientLight into a class, stub
▉▄▅▇▅ ▆▉▆▊ ▌▆█_▅▉▋▄█▍▄█_▄▌▇▆_▋▆▍▅▆▉ -> ▅█▌▇
▄▋█ ▄▊█▄▋▉▉▉ & ▊█▍▄▇▄▆▍▄ ▍▉▆ ▍▊▉▄▉▍▋ ▌▅ █▆▆ ▊▊▄▉▉▌ ▍▄ █▉▆▊▇▅▄ & ▅▄▍▄▊█▉ ▉█▅▇