121,463 Commits over 4,048 Days - 1.25cph!
WIP on reducing the number of layout components (156->93) as layouts can take anywhere from 0.3 to 0.8ms a frame
Removed layouts on item blueprint buttons (and improved sizing for non-english languages on New text)
Disabled contents of AI designer panel when not in use
Disabled layouts on conversation screen
Disabled contents of NetGraph when not in use
Don't scan for decoupling if the coupling point can't be locked
Don't update FlameJet LineRenderers if it's not active
Deleted my placeholder train engine and carriages. Moved some assets around.
Merge Rail Network -> Coupling
Separated the train coupling model and added them to the above-ground WorkCart
cherrypicking easter event
Finalized big lookout cliff area
Reorganized airfield lights
Added light switches to airfield
East of desert progress backup
If we lose references to sounds, remove them from the budget list.
initial files and animator
merge from easter2022 - enabling easter events
Only add ReverbZoneTriggers to SoundManager when they're in range.
Merge from easter2022)crash - testing shader revert
▄▊██▄▄ ▇▇▇▌▍▉ ▋█▊▊▌ ▍█▆▊▅█▉▆▇
Finalizing corner east of new desert WIP
Revert shader changes, switch egg suit to use the StandardWithDecal shader that signs etc use
cherrypicking
70101 70122 - easter crash tests continued
Merge from easter2022_crash - testing changes
Revert changes to EngineUI and GameUI
Change RequestFileFromServer behavior to work the same as main but add a flag to optionally respond if not found (only used by egg suit)
Added missing wait timers at waypoints for junkpile A.
Added negative base offset to junkpile NPC to more closely match the world terrain navmesh.
Fixed NPC respawns at junkpiles.
Fixed NPCs sometimes not correctly patrolling at junkpiles.
Subtract
70097 - taking another approach with the RequestFileFromServer changes
Add new PersistentObjectWorkQueue, similar to ObjectWorkQueue<T> but designed to iterate over a non-changing list of objects
Implemented new queue on LightgroupAtTime (consistently taking 0.6ms a frame, new limit is 0.1ms)
Fixed ObjectWorkQueues never actually starting the stopwatch (this will be causing performance impacts on clients and servers)
cherrypicking easter2022 changes for continued crash investigation
SegmentMaskPositioning no longer allocates 432 bytes every frame and is faster (this component is active whenever the inventory is open)
Remove a duplicate mounted check in BasePlayer.ClientUpdate
WIP refactoring train car collisions and coupling. Hoping to remove a lot of the old "workcarts pushing other work carts" code, and instead treat it as an unlocked coupling, even for train cars that don't actually have couplings (like the train tunnel WorkCarts)
Checking an animator bool and not assigning if necessary is slightly faster than setting it every frame, so do that in PlayerModel.UpdateParameters
Don't get voice processor volume on NPC's
Merge Rail Network -> Coupling
Made the snapshot prototypes static
A less confusing way to define ISnapshot<T>
Change PositionLerp back to using my generic interpolator, performance seems to be the same as before (and the garbage gen is now fixed)
Reduced garbage gen in my generic interpolator to zero but now it's even more complicated. Next step is simplifying if possible (and performance testing).
Merge Main -> MagnetCraneUpdates
Splatting progress backup
Merge from easter2022_crash (testing)
Delete sign.egg.suit (test item used for dev only)
Final satdish sculpts & cliffs
Update usages of RequestFileFromServer so it never retries if the image wasn't found on the server
Interaction foam shader update
Subtract
70091 - bring changes to a branch to investigate why it could cause crashes