134,085 Commits over 4,262 Days - 1.31cph!

14 Minutes Ago
Only show the deep sea toggle map button if the deep sea is open
24 Minutes Ago
merge from naval_update
25 Minutes Ago
Fixed PatrolHelicopter.UpdateEffects NRE when entering/leaving deep sea with patrol heli active
36 Minutes Ago
The "Follow player" map button now automatically switches to the correct view (deepsea/mainland)
40 Minutes Ago
Merge: from triggerparentdelayedexit_optim - Bugfix: properly cleanup TriggerParent and TriggerParentDelayedExit to avoid invalid invokes running Tests: built & finished a boat, jumped around while moving, put it into edit, finished, jumped around - no errors, no extra invokes
40 Minutes Ago
Bugfix: properly clean-up TriggerParent and TriggerParentDelayedExit when it gets disabled Reimplements intents of `139965`. Tests: built & finished a boat, jumped around while moving, put it into edit, finished, jumped around - no errors, no extra invokes
1 Hour Ago
Merge: from triggerparentdelayedexit_optim - Bugfix: mitigate double trigger exit call on TriggerParent - Bugfix: TriggerParentDelayedExit leaving invalid invokes when editing already existing boat Tests: built a boat, spawned a player on it, edited - no more errors, no extra invokes running
1 Hour Ago
Undo of Undo: 139927 (merge: from triggerparentdelayedexit_optim) Will apply the fixes on top with merge
1 Hour Ago
Bugfix: TriggerParentDelayedExit - skip entity-delay logic when trigger gets disabled This left invalid invokes running when editing existing player boat, inflating the perf cost Tests: edited existing boat, checked profiler - saw no perf samples gor persistent queue
1 Hour Ago
(WIP) Large refactor: Make BaseEntity responsible for calling StartMotion / StopMotion with (potentially) a single array of numbers to mitigate spikes when large entities set into motion.
1 Hour Ago
Bugfix: early out when double-remove happens Not sure why yet, but saw the same with double-add before, so going to replicate. Also noticed that we can be tracked, but have null-entitycontents, which leads to wasted Invokes, adding overhead - checking Tests: built boat, spawned npc, went to edit mode - no more errors
2 Hours Ago
Fixed slim gap in half wall hard side
2 Hours Ago
Added brutalist skin roof top line mesh and conditional prefabs
2 Hours Ago
merge from naval_update
2 Hours Ago
Flagged steering wheel lock model and effects as dynamic
5 Hours Ago
Merge from naval_update
5 Hours Ago
Make cooking tests editor only for now
6 Hours Ago
Merge from naval_update
6 Hours Ago
Industrial NRE checks
Today
Update tests to better reflect new update flow
Today
Cache HasAttachedStorageAdaptor Don't mark items as dirty every update, only when they pass a 5s increment Eliminates most of the MarkDirty calls and brings the 1000 oven test case under the 0.25ms budget some of the time
Split Autoturret into multiple work queues: Ammo, Scan, Tick Keep Aiming/Rotating code in the 66hz loop Move TargetAquisition/Thinking/Firing to a 10hz work queue scheduling loop Around a 0.3ms in improvement (in spikes) on idle with 500 turrets.
Today
Convert ovens to a persistent work queue, budgeted to 0.25ms by default In the 1000 oven test case this caps out at processing around 40-50 ovens a frame
Today
Added quick add paths for creating byproducts (charcoal) and cooking results (cooked meat or frags, sulphur, etc) This skips creating a new item and triggering the MoveToContainer process if there is already a stack of that item that we can stack onto Reorder ConsumeFuel so that the fuel item is only marked dirty once (was happening twice) Takes the worst case oven cycle for 1000 ovens creating a new item in the same frame from 270kb alloc and 18.3ms to 0b alloc and 4.62ms
Split off autoturret ammo updating into its own queue
No need to sort rays - we are looping over them all anyway I'm sure theres some minor concerns with the relevant collider 'usually' being first, but the loop isnt the expensive bit The scale of the sorting is
Minor cleanup
More profiling
Don't need to check peekers if the target isn't a player. Should save us some cycles
main -> autoturret_improvements
Today
Added debug.spawnOvenStressTest, spawns 1000 ovens with wood and metal ore and turns them on
Today
Undo: `139927` (merge: from triggerparentdelayedexit_optim)
Today
Basic cooking tests, checks smelting ore and cooking food on all ovens
Today
Enable on foundation & triangle foundation
Today
Add ability for certain SocketMod_TerrainCheck to count as in-ground when clipped into rock (so we don't introduce bugs on other deployables)
Today
* Make instances identifiable by a single never changing integer * Speed up adding/removing instances by using various look up tables to find instances instead of staged linear searching
Today
Merge from naval_update
Today
Fixed tutorial island error
Today
Use Antihack.IsInsideMesh() to determine if a terrain corner is clipped into a rock, fixing foundations placed on top of tall rocks and clipped into it not being buildable
Introduce some inaccuracy and bursts when Scientists are firing the mounted weapons on the PT Boat - Codegen
scientist_boat_ai_inaccuracy -> main
- Setup customizable properties (servervars) - Codegen
adjust bouyancy pausing step
Today
nil check undo Entities table when cleaning them up Remove unused pooled string Fix hook.Add name in main menu Added flags arg to PostDrawViewModel/PreDrawViewModel Fixed VOX map id replacing not working at all Fixes certain sentences.txt stuff not working properly Player.Spawn will also force exit the player from their vehicle Apply NOTEAMCOLLIDE in serverside ShouldCollide as well * This will run BEFORE Lua ShouldCollide * Fixes severe performance loss when many no collided players stand in the same spot Fixes for some potential crashes Allow Pre/PostPlayerDraw recursion up to 10 deep
Set y height to 0 now instead of trying to grab the water level (failing and giving us -16?)
Today
Block pickup of easel when painting is socketed
Today
Convert to interface for easel paintables, add photoframe support
Today
Merge: from triggerparentdelayedexit_optim - Optim: triggerparent.tickmode 0-3 (0 default) - various implementations for TriggerParent.OnTick execution, can be switched at runtime. Tests: unit tests + building a boat, jumping around on it, trying going under it and climbing ladders and stairs.
Today
Update: Codegen Tests: ran "check compile errors"
Today
Merge: from main