138,699 Commits over 4,474 Days - 1.29cph!
Bugfix: avoid resolving transformHandle on an optional BatteringRam.doorPhysicsHinge
Checked other cases I've modified, rest are required
Tests: none, trivial change
Bugfix: resolve game controlelr at init of BaseCardGameEntity
- use cached controller instead of trying to lazy create it in Save
Avoids invoking non MT-safe APIs in save
Tests: visited bandit camp on procgen, no errors. Ran TestMTSave tests
Bugfix: avoid NRE if bike doesn't have a sidecar
Tests: spawned a motorbike
spawning baseplate properly in sculpt ui
▍█▍▄▋▆█▄▇▄▉ ▍▄▄▌▉▋▉▄ ▊█▉▉▇ ▅▉▊▋▇▋ ▄▍▌▉▄▆▍ ▍▇▍▅ ▇▉▋▆ ▌▆▌██▋▊
Nest egg hat T1 workbench (To match wolf headdress as it has the same stats)
Update(tests): TestServer now also creates a dummy BiomeMap
Not sure why pre-merge TestMTSave(GrowableEntity) didn't trip over, but sorted now
Tests: all TestMTSave
Boat vendor now sells an actual Kayak and Paddle, not a blueprint
adjusted msg length limit
sanity limits on sculpt update rpc msg
Clean: add comments for new perf test
Tests: none, trivial change
New(tests): SendEntityUpdates perf test, creates a bunch(100, 1000, 10000) of players that get sent to 10 players
Runs Jobs 3(parallelize dependency chains) vs Jobs 4(parallelize queues) serialization modes and whether to use network cache. Doesn't create any entity hierarchy (best case for Jobs 3). With network cache, Jobs 4 beats by ~2x (10k: 16ms vs 9ms), without cache Jobs 4 scales much better, up to 3x faster (10k: 62ms vs 14ms).
Tests: ran SendEntityUpdates
Update(tests): assign prefabIDs to entities created in TestServer
Avoids tests derping out trying to save global managers/players
Tests: SendEntityUpdates perf test passes
Bugfix: fix double-free on a pooled buffer
This was causing a buffer to be shared between 2 tasks when it was fetched from the pool, leading to chaos
Tests: ran SendEntityUpdates perf test (gonna submit in a bit)
Flare animator and animation updates
Field rename for the OnClanUpdate event
Wolf headdress (And lunar mask skins) require T1 workbench to craft
check for buffer failure in sculpture update
cleaned up semi-useless chunk prefab
merge from siegeweapon_firedamage
Made siege weapon vulnerable to fire (as intended initially)
- Added vehicle world layer to all fireball prefabs
- Set heat protection to 1 for all vehicles except siege weapons
Merge from sign_build_fix
Remvoed standalone rentable shop sign prefabs, unused and throwing errors in builds due to incorrect DeferredMeshDecal setup
Add 2nd return to util.IntersectRayWithPlane/WithTriangle - dist
Adjust TextEntry scrolling to take into account language ID box
Prevent invisible Projected Textures from rendering shadows
Block, cheat and remove some cvars & commands
* Blocked some more archived commands
* Removed hud_jeephint_numentries, hud_takesshots, filesystem_report_buffered_io, r_shader_srgbread
* Remove some stub XBox related presence system, removes `user_context` and `user_property` concommands
Remove PyroVision leftovers
* Removed shader, removed the overlay render code, removed CReplacementProxy material proxy (`replace_proxy`)
* Removed a bunch of pyro_ convars
Merge from lootspawn_stack_fix
LootSpawn can no longer create item stacks in loot containers that are greater than the max stackable amount of an item
Will now split the item into multiple stacks if needed
merge from codegen_timings -> main
Merge from bag_compass_marker
Include the time taken for SyncVar weaving in the "SyncVar weaving Sucess" log message that already exists
Add Profiler.BeginSample() for code generator
Rename the convar for toggling the new ui to `demo.newui` off by default, saves.
- Fix not being able to duplicate scenes with puppets in it.
- Add countdown to shot director
- Show a preview of the dolly cam's current position in dolly edit mode
- Snap current time to a keyframe's time when editing a dolly node
- Add dof.debug to the demo options panel
- Fix color grading sliders
- Add a way to change the seed of any puppet.
- Show demo filename instead of just the name in the UI..
Merge from satellite_crash
merge from high_wall_upkeep -> main
Fix high walls that are connected to a building block without a TC not updating when the building block is destroyed
- update during decay if the TC is destroyed or doesn't match their existing building
- this could have happened with other deployables like shotgun traps but didn't really because it was only 1.5m range, not 16m range
Added "repeatlast" console command, bind to a key and it repeats the last console command you manually used.
Add "drawnearbybuildings <duration> <radius>" to show what building decay entities belong to
Add "forcedecaytick" to force every decay entity on the server to run it's decay tick (to see if walls will reconnect to a building when decay is ran)
Add ability to manually run decay ticks and bypass the "once per 10m limit"