138,636 Commits over 4,474 Days - 1.29cph!
In editor, reuse preprocessed persistent prefab instances instead of instantiating them again. Only applies to big prefabs like GameUI, MenuUI2, EngineUI2 and SkinViewer2
Saves ~500ms when entering playmode on average
Fix compile error by making high_wall_upkeep replicated (even though I don't think it needs to be all the code using it can run on the client)
Fix sqrDistance still being calculated for high walls despite not being used
Reworked loot spawning so it spawns more loot into crates instead of spawning more crates.
Reworked loot spawning locations. Added some helper locations and improved spawn handling.
Debug rendering.
Switch high walls to look for oldest building block (like building priv works) instead of closest block
Train tunnels control and transport room progress
Move the hardcoded "16m radius" for GetNearestBuildingBlock() and the high wall specific "GetNearbyBuildingBlock" into a shared constant
merge from PlayerMaintainedMonuments
merge from gas_station_maintainables
fix gas station maintainables being able to picked up
merge from PlayerMaintainedMonuments
merge from main -> high_wall_upkeep
Add upkeep component to the legacy & ice high walls
merge from water_treatment_plant_maintainables
fixed water pipe spawning absolutely everywhere
improved water pipe terrain meshing
fixed water effects playing at all times
added convar for testing water pipes "watertreatmentswitchbroadcast.senddebugbroadcast <bool>"
manifest
Move the upkeep multiplier selector (building percentage vs high wall convar) upwards into BuildingPrivlidge.Upkeep.cs
- fixes deltaTime being overwritten by the convar instead of swapping the convar <-> "20% upkeep" shown in TC
merge from hasunlocked_optims
PlayerBlueprints.HasUnlocked optims: we now cache owned workshop skin items, avoiding full steam definition scans during UI refresh and craft validation, save 1s on LocalPlayer.HasUnlocked when entering playmode
Also saves time in client and server call when validating craft and unlocking
merge from iteration_optims
Set up all of the lunar new year animal masks as skins of the wolf headdress, so you can reskin between them
Update: Jobs 4 - intercept exceptions from SendAsSnapshot/ShouldNetworkTo and log once per task
- Also if ToStream threw, don't save the resulting buffer as a network cache, as that would poison everything
Instead of bubling them all up to the top like usual, handle locally by just skipping sending the data, and report error once to avoid filling console
Tests: booted into craggy with CCTV fix reverted, no more spam
Fix newly updated art highlighting a bug where remains take damage and get instantly destroyed on impact.
Optim: Implement parallel serialization in Jobs 4 mode
- fix CCTV_RC doing GetComponentInParent on an MT path, cache on init
- add server.ParallelNetworkQueueBatchSize, controls how many players end up being batched in a task. Higher number - less tasks
Offloading ShouldNetworkTo, serialization and sending all to worker threads. Main thread steals last task to run on main thread before spinning for other task completion.
Tests: booted craggy, gathered resources, build a base, rode ahorse, shot a gun, drove a car, heli, zipline, built a boat, used codelock
merge from automated_testing
Jukebox collider convex + RW
Bar stools disable researchable
Dartboard assign place effect
manifest + testlist
merge from main -> high_wall_upkeep
merge from reduce_server_startup_yields -> main
Manually update the "reduce_editor_startup_yields" branch
- old branch adam made to skip 10x 100ms delays in server startup in the editor
- I think it might need a WaitForFixedUpdate() but not 100ms waits
- only affects editor: doesn't change standalone builds
Switch to AddField for impacted IDs with OnClanUpdate
Updated eye position for bar stool mounts
Added Disable Analytics Upload editor prefs
Saves a second when exiting playmode
Swapped a UnloadUnusedAssets in WorldSetup to ConVar.GC.unload, so it respects the Disable Unloading Assets editor pref
Was taking around 600ms when entering playground
merge from hackweek_parented_ddraw
Fix UI map zooming in forever
merge from editor_playmode_timing -> main
Print time taken to enter play mode in the editor (so we know what iteration speed is)
Cleanup spline movement a bit
Pooltable:
- Groundwatch fixes
- Various layer/setup fixes
- Rotation fixes
masterkey prefab set up WIP
-viewmodel with animator
-worldmodel prefab setup
- placeholder icon
- entity setup
- item setup (using keycard)
- 3p override controller
- placeholder viewmodel anims
Hackable crates correctly saveload their state (timer progress, whether its been looted, etc.)
Some cleanup on the script
Pooltable:
- Remade all colliders as primitives
- Better deploy and prevent build volumes
Creating avatar for keys rig
Adding keys world model rig
New events to cover basic clan usage and to reduce allocations in apartment events.