branchrust_reboot/main/hackweek_iorewritecancel

131 Commits over 92 Days - 0.06cph!

46 Days Ago
Drain pass optimisation, evaluators now set what kind of update (input, state or persistent state) can set the drain as dirty
46 Days Ago
Fixed save load path registeringcomponents twice
46 Days Ago
Updated all IO tests to the new syntax
46 Days Ago
merge from main
47 Days Ago
IOTestFixture, helpers for IO2 automated tests Updated AND switch tests
47 Days Ago
Converted more stuff: seismic sensor, some audio entities, fuse box
47 Days Ago
Converted door controller: had to set the monument door controller prefab inputs as main power slots, will need some S2P
47 Days Ago
Converted most lights, fridge and car lift
47 Days Ago
Converted auto turret
47 Days Ago
Converted sam site, rf devices cleanup
48 Days Ago
Compile fix
48 Days Ago
Converted igniter and tesla coil, fixed some flag stuff
48 Days Ago
merge from main
48 Days Ago
Battery tick optims: merge the drain and charge into one loop
49 Days Ago
Drain pass optims
49 Days Ago
Circuit rebuild pass optims, we have a collection of dirty circuits instead of looping all circuits to check a bool, much better at scale
50 Days Ago
Evaluation pass optims, use buffers instead of pooling collections every tick
50 Days Ago
Manifest
53 Days Ago
merge from main
4 Months Ago
Converted ceiling light, smart switch, fuse
4 Months Ago
Cleanup, remove legacy IO code of already converted entities
4 Months Ago
Converted NeonSign to the new IO system
4 Months Ago
Removed the legacy electricity IO queue
4 Months Ago
merge from main
4 Months Ago
Lazy create the IOCircuitSystem when registering the first io entity Converted computer station, digital clock and command block
4 Months Ago
merge from main
4 Months Ago
PressButton merge, compile fix
4 Months Ago
merge from main
5 Months Ago
Blocker evaluator micro optims
5 Months Ago
IOCircuitSystem indentation fix
5 Months Ago
Allow root combiners to be connected to non root entities. Renamed it to 'combiner' Prevent feedback loops by discarding power from back edge wires
5 Months Ago
Some fixes, refactoring and new evaluators. Cache consumption amount at register time so we don't rely on entities anymore Fixed signs registering themselves in circuits Started removing old IO code to IO entities code
5 Months Ago
Reduced the amount of flags OR AND and XOR switches are setting
5 Months Ago
Reduced the amount of TryGetComponentRecord calls
5 Months Ago
Circuit merge do not set the whole circuit as dirty + eval pass micro optims
5 Months Ago
No allocations when running the flood fill when rebuilding circuits
5 Months Ago
Updated all SimpleLight prefabs to use the HasPower flag instead of On
5 Months Ago
Simple light don't switch the ON flag anymore, we can just use HasPower and save a setflag when turning a light on/off (they're batched but that saves some overhead)
5 Months Ago
Added a max flag flip per tick per circuit budget too (too many flag changes can stall the client)
5 Months Ago
Circuit budgeting: all circuits share a 0.25ms budget per frame to evaluate. When the budget is depleted mid circuit, we save where we stopped and continue later. The starting circuit is never the same so a single circuit can't eat the whole budget and clog everything Also moved the drain pass to the 1hz battery tick, it doesnt have to run on every tick
5 Months Ago
Optimised the evaluation pass. we now starts from the dirty components specifically instead of evaluating the entire circuit from start to finish When evaluating, if a component output didnt change, we stop there
5 Months Ago
switch out batched packet send storage for HashSet to avoid multiple sends from an entity within a circuit tick
5 Months Ago
Cleanup
5 Months Ago
Ceiling lights just use the HasPower flag instead of On
5 Months Ago
fixed wrong conditional
5 Months Ago
moved SendBufferedFlagChanges outside of circuit loop
5 Months Ago
More io entities using the new flag update Auto turret is not sending full network update when turned on or off
5 Months Ago
using HasSubscribers method instead of manual check
5 Months Ago
skip sending batched packets to groups with no subscribers
5 Months Ago
SimpleLight sends on/off flags through batched system