158,104 Commits over 4,566 Days - 1.44cph!
MeshLOD converter now copies across motion vector settings
Converted all of the RendererLODs/LODGroups to MeshLODs on 61 prefabs
Notably a lot of seasonal stuff was affected
- More RRP support
- Really lightened the scene
Merge from livestock_shader_review
Merge from rrp_ore_marker_fix
▆ ▇▇▋▍▌▉▅▉▅ ▉▄▌ ▇ ▆▄▊▆▇ █▆▆ █▍▅▆▊ ▌▊ ▄▅█▊▊ ▅▊▅▋▌▋▊█▊ ▇▌▆▅▉▊▅▋█▍▋ ▄▍▌█▊ ▊ ▅▋▉█▍▅ ▇▆▆▉▌▌▇▊▌▋▊▄▄▍▅▄▅█▇▋█▍▊▅▌▋▅▅▉▌ ▌▅█▊▌ ▍▇▄▆▌▄ ▇▍▆▇ ▋▇▋▉▄ ▉ ▄▅▆▋█▉▄ ▋▅ ▋▆▅▍▍█▊ █▄ ▆▋▄▆█▋▄▄█ ▋▄▇█▊ █▆▌▍ ▅▌█▇▆
Add support for clearing Rust+ auth to smart entities from in game
merge from animalanimation_optims
Fixed AnimalAnimation out of range errors
merge from notices_rtl_fix
Fixed item dropped and item pickup notices not working with RTL languages
Enabled animation compression on squirrel, sheep, frog, cow, sea turtle anims
- Dont send back the character proto on character lock, it's pointless
- Better splitting and safety nets with 'requested appearence' vs 'accepted appearence'
Fixed CraftingNotice allocating every frame when crafting an item
Also converted them to RustText so they can display RTL languages
Fixed conversation panel reappearing if we exit play mode mid conversation with domain reload disabled
Merge from HotbarScrollSaveZone
merge from boateffects_optims
Optimized MotorRowboat.Update, it has a slow water height check for its effects, around 0.10ms
- culled by distance
- skipped when stationnary for >3s
Fix the server not clearing unused World Serialization maps
- saves about 175MB on 4500 map
Merge from softcore_first_join_fix
Merge from bag_compass_icon_fix
Merge from softcore_trainyard_fixes
▋█▇▉▍▇▉ ▅▄▋▌ █▅▍▆▉▆▌▌▊▉▇▄▍▅
Merge from dome_pump_mt_save_fix
Fixed dome pump multi threaded saving issue
Fixed AnimalAnimation allocating 80 bytes for each footstep
Avoid alloc when cleaning up expired projectiles, fix projectiles leaking when baseplayer is destroyed
merge from animalanimation_optims
Remove planner linq when looking for sockets
- Add RRP support
- Fix various texture/icon errors
- Minor Cleanup
Avoid allocs when ticking hurt triggers
Fix linq every frame in cooking visuals
Reduce memory usage of the server's SpawnDistributions by 750MB (780MB -> 40MB) and make it 3x faster to sample (2.1 us -> 0.7 us)
- store in tiles of 16x16 values
- 85% of the tiles are all zeros (fun fact)
- tiles that are all the same value store as negative tile index so it can avoid looking up the tile (mainly all zeros)
- deduplicate the remaining tiles (saves a little more)
- palette packing on top for tiles that have mixed values (2 - 4 bits / value)
- reduces server startup time from 4s -> 2.5s
▊▉▉▋▋▋█ ▉ ▋▌▍ ▇▉▌▇▊▌ ▄▅ ▆▍▋▉ ▉▉▄▆▊▊▅ ▌▄ ▋█▋ ▊▆▋▋▄▉▇▋ ▄▄▌▅▌▄▍▆▆▌▅▊▍▍▍▆ ▋ ▉▌▍▉▍▍▉▄ ▅ ▋█▅▇▄▊▊▍ ██▋▍█▊ ▋▍▉▅▊▌▋▊▆▉▄▉▋█▆▄▅▆▄▊▇█▅▍▋█▍▄▉▉▉▋▄▅▆▉█▋▍▆█▄▆▉▆▉▍▅▋▇▇█▌▋▆▆▌▊█▅▌▋▄▊
merge from texturestreaming_texturepropertiescache_fix
Fixed TextureStreaming never filling its shader texture property cache, every belt swap was allocating all shader property names (18KB down to 1KB per swap)
Make ItemCraftTask properly pooled so its not allocating on every craft
Fix broken livestock sleep test
merge from lightlod_optims
Cache DistanceFlareLOD fading action
Fixed shadowlights convar handler stacking up across editor play sessions
Fixed LightLOD.Awake and OnDestroy allocating
The shadow caching convar callback was subscribed per light, every light spawn and destroy copied the whole handler list (had 1500 lights, 10KB every time)
Cache AmbientLightLOD fading action
merge from more_pool_attributes
▆▆ ▍▍▊▄█ ▉█▅▋ ▇▅▉▋█▇▍▊▆▊▆█▆▋█▋▉▊▊▅▆▉▄█▌▇█▋▌▋
merge from fix_scrapheli_dismounts
Make surface.DrawPoly throw an error when giving invalid data
* Specifically when giving it less than 3 verts
Stop ropes being invisible in specific mcore circumstance
* `r_queued_ropes 0; mat_queue_mode 2; gmod_mcore_test 1` is the exact scenario
Restore functionality of sk_auto_reload_time
* Requires gmod_suit set to 1. Value of 0 or below disables the feature.