155,940 Commits over 4,566 Days - 1.42cph!
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
merge from main -> fix_apartment_teammate_door
▊▌▊██▆█▍ █▅▊▄█▄█ ▌▋▉▆▆▄ ▆▅▅▍ ▍ ▊▅▅▆▄▇▌ ▋▇▋▋▄▇ ▍▄▋██▋ ▌▇▋▉▄ █▄▅▉▅█▊▉█▉▉ ▆▌▅▄▆▆▊ ▋▋▅▊▆▆▅ ▇▌▋▇▅▊▌ ▊▄▋▄▆▇▉▍ ▄▅▊ ▋█▋▍▆█▉▊▊
merge from fix_custom_item_drag -> main
merge from fix_jungle_plant_water -> main
merge from fix_sentry_modded_tag -> main
merge from fix_motorcycle_dismount_order -> main
merge from fix_client_sail_wind -> main
█▍ ▊▇▍█▍ ▍▅█▆ ▆▊▌█▉▉▇▄█▋▌█▊▍▉▄▍▇▅▇▋▌▉ ▌▆ █▆▊▇
Reapplied the fix after the post-merge conflicts
merge from prototype_arctic_trail_path_fix
- New Character Creator Layout
- Stop the icon preview characters looking dead (they had no eyes in their sockets)
- Fix numerous build errors
- Remove eyebrows category
- Add underwear category
merge from console_autocomplete_improvements