Removes a very large amount of world loops.
Adds a macro to painlessly generate a global list, and the needed code to modify the list when an object is made or deleted automatically.
Cleans up some commented out code.
* Creates the SSair subsystem which replaces the Setup, Start(), and Tick() procs of air_master.
* It may be best to have SSair completely replace air_master, but for now we are having them work together. It does completely replace the old processScheduer air ticker however.
* Remove the obsolete Setup and Tick procs.
* Adjust admin and debug verbs that dealt with some ZAS internals to work with the new implementation.
* Creates the SSair subsystem which replaces the Setup, Start(), and Tick() procs of air_master.
* It may be best to have SSair completely replace air_master, but for now we are having them work together. It does completely replace the old processScheduer air ticker however.
* Remove the obsolete Setup and Tick procs.
* Adjust admin and debug verbs that dealt with some ZAS internals to work with the new implementation.
* Adds a verb for debugging any of the running process controllers. Unlike the old debug controller verb, this one is not hard coded, so any present and future processes will be included. Requires R_DEBUG (and R_ADMIN if in paranoid mode)
* Adds a verb for debugging the process scheduler itself. This is hidden by default until debug verbs are shown. Requires R_DEBUG (and R_ADMIN if in paranoid mode)
New turf proc: assume_gas(). Maps to air.adjust_gas_temp().
Lots of optimizations to processing, fire, lighting, HasEntered() and
more.
Zones now process all fire data and existance in one go, fire objects
only handle spreading.
Most code has been ported straight so some of it mightn't be ideally
structured for the new gas_mixtures.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Before: Supermatter would raise the temperature without taking into account how many moles it grabbed in it's "breath" meaning it was better that you had a lower pressure inside your engine chamber so the engine would spit back out it's "breath" and it couldn't heat up the engine room as much.
Now: Supermatter will take into account the heat_capacity of the breath it takes and will heat up it up accordingly and proportional to how much energy it has.
Gone are the days you could run the supermatter engine without adding coolant.
Also: Added a debugverb that setups the engine for you, the verb is based off of baystations map and areas and shouldn't require too much change to bring it in line for other servers.
Applys a client side only layer of colors over the various zones to show if they are connected or not.
Green is your current zone
Blue is adjacent zones that are connected.
yellow is zones that are connected but not adjacent to your current zone.
Red is for zones that aren't connected at all.
Sped up air equalization between zones
Fixed an issue where space tiles were not removed from the zone.
Made ZAS debug functions accessible when the mapping verbs are toggled on.