branchrust_reboot/main/hackweek_iorewritecancel
112 Commits over 92 Days - 0.05cph!
Fixed some circuit system leaks and oobs
Fixed fuel generator aux inputs draining batteries using the downstream demand
Added a test
Fixed elevator billing batteries from the wrong slot
Converted reactive target
Circuit system tests, just two tests checking the throttling works
Throttle everything to 30 ticks a frame so server fps variations doesnt change the io speed too much
Flickering circuits are throttled to 10 flips/s (equivalent to old IO)
Can press E to configure test generators and change the power amount they output
Elevator Power In input set as main power slot
Converted ChargeUpIOEntity, set the second inputs as non main power slots
Converted Elevator and PowegridIOAccessPoint
Fixed error with monument toggle switches
Fixed battery ReceiveAdditionalData client rpc
Converted cctv cameras and windmills
Tesla coil and igniter tests
Converted water wheel, added some tests
Simplified battery console commands
Set main power slots for EngineListener and AlarmSystem prefabs (DummySwitch from monuments)
TeslaCoil, SolarPanel, FuelGenerator cleanup
Removed all the old IO code from the battery class (feels amazing)
Converted DummySwitch (monument specific switches)
Test list
Reapplied discarded network range changes
Converted card reader, added new tests
BaseDetector cleanup
Tests improvements, some fixes
Drain pass optimisation, evaluators now set what kind of update (input, state or persistent state) can set the drain as dirty
Fixed save load path registeringcomponents twice
Updated all IO tests to the new syntax
IOTestFixture, helpers for IO2 automated tests
Updated AND switch tests
Converted more stuff: seismic sensor, some audio entities, fuse box
Converted door controller: had to set the monument door controller prefab inputs as main power slots, will need some S2P
Converted most lights, fridge and car lift
Converted sam site, rf devices cleanup
Converted igniter and tesla coil, fixed some flag stuff
Battery tick optims: merge the drain and charge into one loop
Circuit rebuild pass optims, we have a collection of dirty circuits instead of looping all circuits to check a bool, much better at scale
Evaluation pass optims, use buffers instead of pooling collections every tick