138,398 Commits over 4,474 Days - 1.29cph!
Merge from attachment_fx_fix
Refactor ItemModSound to apply it's sounds client side based on UI drag/drop as opposed to after the fact on the server side
Fixes attachment equip/unequip sounds being audible by other players - no other item movement logic in the inventory causes sounds like this
Also saves a message being sent from the server every time an attachment is equipped so a mild bandwidth improvement as well
Fix puppets not compiling in client-only mode
merge from shield on back
Turn shield on back into a bind
merge from shield_on_back
...don't allow for toggling it too quickly.
Add `client.shieldonback` setting to keep your shield always on your back rather than taking it out.
Merge from bag_compass_marker
Add the option to display a sleeping bag/bed/etc on the compass
Only one can be shown on the compass at once, can be toggled by looking at the bag (not via the map)
Increased stack size 10 > 20
Disable gestures on roundabouts/swings
Pool: fix the cue not sitting properly in 3p (right hand) (again)
Fixed loadout not refreshing correctly when deleted/created by another admin when the f1 menu is closed
Add decal related safeguard
* Some people apparently crash there sometimes? Don't know how, so this is the best I can do for now
Enforce NOLOD and NOMIP for .vtf files without mipmaps
Minor cleanups
Fixed complains about LuaParticles refcount
Minor compile warning fixes
merge from steaminventory_nre_fix
Fixed Steamworks.SteamInventory.GetAllItems NRE
Steam inventory screen fails gracefully when Steam is not reachable
merge from demofolder_macos_fix
Add UV1 channel to the 100x450 barrels blocker for use with a new beveled rubble detail normal, to reduce low poly look on the rocks
remove SyncVar checking against Vector3 zero, breaks coming into network range
merge from hackweek_sv_pie_menu
Added pie test commands (`pietest`), closing callback to ContextMenuUI
Updated CommunityEntity.OpenPie to use disposed pooling
add refreshing from syncvars on client load
Bugfix: BuildingPrivlidge(sic) - add GetOrUpdateProtectedMinutes that's MT safe and does a bit of a cheeky
If we end up sending this entity to many players in 1 frame, it will update the cached protected minutes only for 1 player, and the rest are in limbo if they got old or new value. This gives us same perf as original lazy-eval solution.
Tests: TestMTSave - got 0 fails!
attempt network range fix by disabling SyncVar RequireChange flag and processing throw even if the dart is flagged as not being thrown while in range
monument blocker blast door gib fixes
merge from hackweek_cui_slice_scaling_ppu (manual)
fix dartboard being able to have roll during placement
merge from hackweek_cui_color_tweening_fix
Crude pump variant with on/off states.
merge from shield anim subsystems
merge from automated_testing
merge from hackweek_cui_interactables
Better log for the test list step when building the bundles
merge from shield anim subsystems
One more fix for the shield on other players
merge from hackweek_cui_canvas_group
merge from hackweek_cui_mask