* Unit Test rework & Master/Ticker update
* Fixes and working unit testing
* Fixes
* Test fixes and FA update
* Fixed runtimes
* Radio subsystem
* move that glob wherever later
* ident
* CIBUILDING compile option
* Fixed runtimes
* Some changes to the workflow
* CI Split
* More split
* Pathing
* Linters and Annotators
* ci dir fix
* Missing undef fixed
* Enable grep checks
* More test conversions
* More split
* Correct file
* Removes unneeded inputs
* oop
* More dependency changes
* More conversions
* Conversion fixes
* Fixes
* Some assert fixes
* Corrects start gate
* Converted some README.dms to README.mds
* Removes duplicate proc
* Removes unused defines
* Example configs
* fix dll access viol by double calling
* Post-rebase fixes
* Cleans up names global list
* Undef restart counter
* More code/game/ cleanup
* Statpanel update
* Skybox
* add
* Fix ticker
* Roundend fix
* Persistence dependency update
* Reordering
* Reordering
* Reordering
* Initstage fix
* .
* .
* Reorder
* Reorder
* Circle
* Mobs
* Air
* Test fix
* CI Script Fix
* Configs
* More ticker stuff
* This is now in 'reboot world'
* Restart world announcements
* no glob in PreInit
* to define
* Update
* Removed old include
* Make this file normal again
* moved
* test
* shared unit testing objects
* Updates batched_spritesheets and universal_icon
* .
* job data debug
* rm that
* init order
* show us
* .
* i wonder
* .
* .
* urg
* do we not have a job ID?
* .
* rm sleep for now
* updated rust-g linux binaries
* binaries update 2
* binaries update 3
* testing something
* change that
* test something
* .
* .
* .
* locavar
* test
* move that
* .
* debug
* don't run this test
* strack trace it
* cleaner
* .
* .
* cras again
* also comment this out
* return to official rust g
* Update robot_icons.dm
* monitor the generation
* .
---------
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
- Instead of independently spawn'd while/sleep loops, it stores its state and lets the MC fire it.
- Convert relative path indentation procs to absolute path as per modern style standards.
- Break apart the inner loops into separate procs so you can see what is actually going on.
- It now shows up in MC tab, along with stats about what phase it is in.
* From tgstation/tgstation#27196
* The mc will now punish subsystems that overrun their tick allotment with less allotment in later fires.
* The punisher also delays the next fire of subsystems that overrun. Because of how this is ends up being calculated, this will almost never actually kick in, but sometimes subsystems like garbage will overrun into multiple ticks, so delaying their next fire is needed.
* The punisher does not delay the next fire of SS_TICKER subsystems (tgstation/tgstation#34964)
Note: SS_KEEP_TIMING subsystems do not get their next fire delayed.
* This is PHASE 1 of a multi-phase conversion. In this first phase we implement the subsystem, but leave it processing the existing global list variables. In the next phase we will switch to use datum variables in the subsystem. The main reason for splitting into two phases is ease of code review; change the meaningful code without the hundreds of machines -> SSmachines.machinery substitutions.
* We did declare macros for adding/removing things to the processing lists, and convert everywhere to use the macros.
* Added var/is_processing to /datum to keep track of whether an instance is already in a processing list (prevents it being in the list twice!) and also debugging, making sure its not in two lists etc.
* NOTE: The global machines list is **no longer sorted** for performance reasons. As far as I know, the only module that actually ever cared was cameras. Our camera system already handles its own sorting in the cameranets anyway, so it should no longer be needed.
* Adds defines for world.tick_usage
* This provides no useful benefit whatsoever, but /tg and Baystation12 have done it, so it will make porting future code easier if we do too. No real harm done either.
* Based on https://github.com/tgstation/tgstation/pull/25386
* Create macro for defining new subsystem types.
* Create PreInit proc to handle setup that needs to be done before the map loads
* Rename garbage_controller subsystem to garbage so it matches its global SSgarbage variable name.