6,785 Commits over 1,096 Days - 0.26cph!
pt_boat_rewrite -> turret_viewmodels
main -> pt_boat_turret_rewrite
Only send turret targets rather than every single turret movement
We are effectively predicting the turret movement on the client with the server reconcilling it
1.83 -> 0.20 aim messages/s per idle turret
~46 -> ~7 B/s per turret per player
On a 122 player server: roughly ~105 KB/s less outbound (~9GB a day). 6% reduction of all outbound game data
Wallpaper health was included with every building block, even those without wallpaper
Saves 10 B per building block
Pack the tree billboard lists sent to joining players
Each cell now sends its prefabs once, ids as deltas from the previous tree and positions as raw halves instead of a nested message per tree
~30 -> ~16 bytes per tree, roughly 1.8 MB -> 0.9 MB per player join on a full map
Send animal look direction in an RPC rather than with SendNetworkUpdate
Animals with look animators were running network updates crazy often rather than just sending the look over
This was especially bad with cows, wolfs, sheep and bulls
Worst offender is cow at ~144 bytes per look update (network update).
~350 B/s per cow per player -> ~60 B/s
Stop SpaceLR and M15 mags sticking to the bone
Only send waterwheel network updates when its actually changed (at low speed)
Saves ~76 B per skipped update per nearby player
▋ █▋█▊█▅▉ ▄▍▌▅ ▍▉ ▉▋▄▅▄▆ ▇▊▄▄▉█▋ ▍▉▋ ▄▅▊ ▆▄▍ ▌▍▇▌ ▄▋ █▊▆ ▇▍▍▍ ▆▆▉▍▍▊▄
▆ ▋ ▆█▍▄▋ ▇▋▅▆ ▌▋▇▍▇ ▊▅▅ █▍▅▌ ▇▍▄▌▄▋▌ ▅▊▆▉▇▇█ ▇▌▉▅▋ ▊█▇▆▆▆ ▇▄▊▍▉▍▄ ▅▍▌ █▌▆▊▊▍▄▊▊ ▅▍▊▍▇▇ ▉▇ ▆▉█ ▄▋▌▊ ▊▋▅▆▅▆▉▆█ ▉▍▍▇█ ▄▊▇▊▉ ▄▆▊▄ ▇▉▍▊▋▊█▌▊▄▊▄▍▋▋██ ▉▋▆▇
▆ ▉█▉▅▉ ▍▇▆▊ ▇▋▍▆ ▅▌▍▊▄▍█ ▅ ▅▍▊██▉▊▉ ▊▊▊█ ▍▅▄▊ ▅▇▄ ▉▇▍▅ ▊ ▌▅▍█ ▅▅ ▉▅▆▄██▍▊ ▅▇▋▊▄
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
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
Only send search light network updates when aim/flags change rather than per tick when mounted
Dont send travelling vendor map marker updates 20 frames a second
Saves 160 bytes per network tick when the vendor is out
Remove old mortar prototype code
Means we can remove an mortarCooldown float with every BasePlayer update
Saves 6 bytes per player update
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
Dont send full network updates every tick for for animals without a look animator.
bears, polar bears, boars, chickens, crabs, frogs, jellyfish, squirrels, rabbits, stags
Worst offender is bear costing 94 bytes~ per update when roaming.
~550 B/s → ~27 B/s per bear per player while roaming
pt_boat_target_fixes -> main
Fix bug causing PT boats to sometimes easily give up on targets up to 12 units above sea level. It should've been only 12 units below sea level
Hidden players rank behind every visible one, but can still be picked if nobody is visible
- All magazine drops now land on the ground for a little while
- Add some random angular velocity to the magazine as its removed. Ensures mags dont land bolt upright
Swap the rest of the mag drops over to the same system as the glass ak
Remove the cachedPostIK system - its not needed after spine IK has been moved into jobs
- Cleanup mag drops
- Add badges to DLC
- Show badge on dlc bound items in the character creator
- Add crappy sunburn badge
Don't allow nudity in the character creator - was a bit grim
- Convars to be able to skip body type/race restrictions
- Can click on a part to focus on it rather than using the menu
- Reset trigger support on playermodel
- Fix Pt boat turret 3p animation not cancelling when leaving
Fix pt boat rear turret viewmodel
Fix mountable tests not working with BaseMountedWeapon rewrite
pt_boat_turret_rewrite -> turret_viewmodel
pt_boat_turret_rewrite -> main
Ensure the empt flag works
- Fix PT turret ammo refilling on restart (caused by rewrite)
- Fix toast being removed
- Fix being able to show reload animation for other types of ammo
- Fix reload animation playing after dismounting mid reload
Fix 'add sell order' exceeding stack size
Fix always showing 1x when hovering over things in the vending ui
boomerang_damage_fix -> main
Fix boomerang not doing any real damage to BaseNPC2