158,926 Commits over 4,566 Days - 1.45cph!
▆ ▋ ▆█▍▄▋ ▇▋▅▆ ▌▋▇▍▇ ▊▅▅ █▍▅▌ ▇▍▄▌▄▋▌ ▅▊▆▉▇▇█ ▇▌▉▅▋ ▊█▇▆▆▆ ▇▄▊▍▉▍▄ ▅▍▌ █▌▆▊▊▍▄▊▊ ▅▍▊▍▇▇ ▉▇ ▆▉█ ▄▋▌▊ ▊▋▅▆▅▆▉▆█ ▉▍▍▇█ ▄▊▇▊▉ ▄▆▊▄ ▇▉▍▊▋▊█▌▊▄▊▄▍▋▋██ ▉▋▆▇
▆ ▉█▉▅▉ ▍▇▆▊ ▇▋▍▆ ▅▌▍▊▄▍█ ▅ ▅▍▊██▉▊▉ ▊▊▊█ ▍▅▄▊ ▅▇▄ ▉▇▍▅ ▊ ▌▅▍█ ▅▅ ▉▅▆▄██▍▊ ▅▇▋▊▄
merge from render_pipeline_testing
remove the Rust Render Pipeline text when RRP is enabled, instead show Built-In Render Pipeline when RRP is disabled
Try/catch the gamepad update loop, disable on any error errors.
Fixed quick craft spending ~1.6ms rebuilding after almost every shot (inventory update)
Only rebuilds when the inventory is open now
fix stale frame on subsystems without fade in, fix flare not having a predict release event, remove fade in on flare subsystem to fix weird flipping artifact on flare
merge from cache_entity_links -> main
merge from automated_testing
Get rid of some debug logs spamming related to halloween dungeon spawning
Re-add the "Restoring X/100,000 links" for cases where the cache links aren't used
merge from render_pipeline_testing
fix RRP drawing ocean after water bodies
Halloween stringlights
Improve deployment, stop clipping, fix groundwatch, reduce network range, remove snapping
All tests pass
Pool 3 copies of thrown melee weapon and tool projectiles instead of 100. No point in filling our pool with 3900 copies you'll rarely see more than 3 of at the same time
Saves around 50MB of memory and gives me some leeway to eat that with gun effects next
▍ ▌▇▉▆▋ ▅▌▅▉▄▍▆ ▅▄▆▅▆ ▅▅▄▄ ▉█ ▇▆▄▄█ ▄█▍▇▊█▋ ▋▅ █▉▋██▆▋▊▊ ▊▋▅▇▆▊█▊▍▇▍ ▅▍▊▄ ▇▅▄ ▅▊▊▊ ▇█▍ ▋▊ █▊▊▇▊▋ ▊▇▇▇▊▆▆ ▌▄▉█▌ ▍▉▌ ▊▅▇▅▊▍▄▄▇▊▇█ ▄▄▍ ▆▍▇█▇ ▇▊▍ █▋▌▋ ▊▅▍▊ ▄▆▋▋█ ▇▅▍▋▊▇▍▋▇▋▆
Pass `serverStartup` parameter into RestoringLoadedEntityLinks() so we don't call RCON.Update() when pasting with copypaste
- probably harmless but it bugged me
Increase stick move distance required to activate gamepad
merge from cache_ocean_path -> main
Optimize server startup time by caching the ocean patrol path on disk (158s -> 138s)
- same idea as server occlusion grid being saved
- can increase version number to regenerate next restart
- convar `regenerate_ocean_path` will cause it to regenerate it next startup too
Remove three unused floats (skincol, skintex, skinmesh) from all player net messages that havent been used since 2016
Defaults were set to -1 so included in the proto
Saves 17 bytes per player
Prewarm 5 copies of each ricochet effect instead of 1, first magazine dumped after connecting created up to 2 more per prefab at ~0.5ms each
Stop networking IO wire origin data and duplicate slack levels to clients
Saves ~34 B per wired slot + ~5 B per wire point on network load
Fix flame turret sending two updates per trigger change instead of one
Saves 60 B~ per nearby player each time the turret turns on or off
Stop water purifier sending two unchanged network updates per boil tick
30 B/s~ per nearby player
Dont send environment rainGraceStartTicks (only used on the server)
Sends every 5 seconds.
54 → 44 B per update, so saves 10 B~ every per player every 5s
Door.SetOpen no longer sends a full network update when the door is already in the requested state (door closers re-close shut doors 3 s after every open/close cycle)
Saves ~76 B per nearby player per call
merge from main -> cache_entity_links
Only send search light network updates when aim/flags change rather than per tick when mounted
▄ ▉▄▉▆▄ ▇▋▍▄ ▄▅▇▆▊▍█▅▄▌█▋█▋▆▆▍▄▌▅▍▌█▉▋▌▍▉
█▆▇▇▌▅ ▌▆▌▊ ▇█▋▋▍▇▄▉▄█▇▉▇█▅▉▄█▊▇▊▉▄▉█▌▅▌
merge from optimize_duplicate_player_check -> main
▍ ▇▆▋ █ ▉▉▋█▉▅ ▄▊▅▌█ ▋▋▍▇▍▋▌▇▌ ▊█▉▋ ▍▉▋▌█▇▋▊▋▊█ ▇▊ ▅▄▉▅▍▍▆▄▄▉ ▅▄▇▅▉▌▌▋▄ ▍▍ █▄▇ ▆▅▋▅▌▄▅█▍▆ ▊▌▌▋▊▉▇▋▍▍▊ ▋▄▆▅ ▋▍ ▌██ ▋▊▍▅▍▌▅▄▅▄█▋▅▅▉▋▄▅▅ █▉ ▅▉▄▋█▄▉ ▄▄▄ ▆▄█▉▄▌ ▊▌▌ ▇▆▉▍▉▍ ▊▍▋▇▋▌
Dont send travelling vendor map marker updates 20 frames a second
Saves 160 bytes per network tick when the vendor is out
merge from optimize_enforce_limits -> main
Create the pools LaunchProjectileClientside uses at bootstrap instead of on the first shot, avoids a ~365KB alloc when the first projectile of the session is fired
Remove old mortar prototype code
Means we can remove an mortarCooldown float with every BasePlayer update
Saves 6 bytes per player update
merge from fix_steam_setkey_crash -> main
Reduce number of unique keys set to prolong time until limit is hit
- round entities to nearest 1000
- round FPS to nearest whole number (and clamp to 512)
- round RAM to nearest 100MB
- round GC count to 2 significant figures (1-9,10-90,100-900,etc)
- round uptime to nearest 15m interval instead of every 30s
- increases time before limit is hit from 7d -> 365d+
Prevent server from crashing if too many keys are set
- stop setting new keys after 50k unique values have been set (it can still assign to previous values)
- prevents server from getting enough unique values to cause the crash
Compile fix, missed a file..
Add a test to ensure that networkLookDirection is false for NPCs that dont have a look animator
Better way to go than toggling in preprocess
Fixed
150531 not working in builds (Mega hack to bypass the PlayerUpdateCanvases call when unity renders the realtime cubemap, saving some time wasted on UI for nothing)
merge from cubemap_ui_optims2
Fix the editor freezing for like 5s when you first die
This was due to us loading the prefab for pretty much every item that can kill you when you die in editor. This load happens at preprocess in builds
Add PrefabInformation to some deployed thrown weapons so they still display correctly in the death screen
Merge from deathscreen_editor_fix