156,105 Commits over 4,566 Days - 1.42cph!
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
Implement maximum amount of TCs placed IN SOFTCORE ONLY
- maximum 3 for now
- follows how the "maximum sleeping bag" system works with the amount shown on the icon & toast when you reach the limit
Only consume electricity when actively generating fuel
██ ▌▅▋▊▉ ▄▌▇▅▅▆ ▋▊ ▇▌▌▆▆▌ ▄▆▊█▅▊█▄ ▆▇▌ ▇▊▌▆▉▊ ██▋ ▋▄▉▋▉▉▇▄▌▊▆▆ ▌█▇▅ ▅▊▊▄ ▅▍▊▄▆▌ ▉▌▇▋▆▇▌█ ▅▄▋▍ ▍▉▆ █▆▉▅ ▉█▆▉ ▅▇▍▌▇▊▌▇▉█▊▄█ ▊▄█▌█▇ ▆▆█▅ ▊▅▌▊▋ ▄▍▋ ▇▆▇▆▇▆▉█▌ ▆▋ ▅█▆▉▋▋▅▅▆ ▄▅▍▆ ▋▆▇ ▋▉ ▍▄▆▊ ▋▇▋▄█ ▊▅▇▍ █▍▉ ▆▊ █▉▄▌ ▉▍▊▊▆▆▅█▅
Fix livestock age regressing when calf grows up into adult, and age being more and more incorrect over time because of the random variance
merge from drinkingpoint_optims
merge from drinkingpoint_optims
Bring back multiline input support to the console
merge from qol_loadout_inventory_preview -> main
Fixed UpdateWaterDrinkingPoint running when not needed:
- now runs in the entity looking at tick every 0.1s
- skipped when mounted, or when move speed is above drinkMovementSpeed
Its a trace so it wasnt scaling well in big bases
Cache vending machines and skip rebuilding all their markers when opening the map
Saves around 80ms on a server with 170 vending machines
merge from fix_apartment_teammate_door -> main
merge from fix_apartment_transfer_items -> main