Commit Graph

13 Commits

Author SHA1 Message Date
Leshana
2d0301c6e4 Fix bug in ZAS can_atmos_pass optimization.
Check the *atom's* density, not the turf's!
2020-04-30 19:25:57 -04:00
Leshana
10b0323d6f Use can_atmos_pass to reduce proc-calls in c_airblock()
- Add additional can_atmos_pass value ATMOS_PASS_PROC which indicates custom behavior requiring calling the CanZASPass proc.
  - The benefit being for the other three values we DON'T need to call CanZASPass at all!  We already know the behavior without the overhead of a proc call.
  - Obviously any atom with can_atmos_pass = ATMOS_PASS_PROC cannot now call ..() in CanZASPass() since the default behavior would be to (recursively) call CanZASPass()
  - This required re-numbering the constants, so I also fixed all code that assumed particular values for the constants.
- Switched all types which overrode CanZASPass with custom logic to be can_atmos_pass = ATMOS_PASS_PROC
- Changed /turf/c_airblock() to skip calling /atom/movable/c_airblock() for the three can_atmos_pass values that don't require calling the proc.
2020-04-30 14:50:57 -04:00
Leshana
5c752e79f4 Remove /turf/var/can_atmos_pass as it is unused (and redundant with /turf/var/blocks_air anyway. 2020-04-30 14:50:57 -04:00
Anewbe
8ed384b38c Rewrites Atmospherics 2019-03-28 19:25:11 -04:00
Leshana
0c41ae9630 Convert ZAS "Airflow" into a subsystem plus fixes
* Port of the "Airflow" portions of Yonaguni/EuropaStation#618
* The "airflow" part of ZAS used to be handled by a sleep'd loop.   This has the potential to bunch up and lag.  Switching to a StonedMC managed subsystem improves it.
* Fixed to ensure that zshadow mobs cannot be blown around by the wind no matter how fierce.
* Added a message to mobs informing them when their boots save them from being wind-thwapped.
* Check w_class on non-item objects if they have it defined (might as well since var/w_class is on /obj)
* Tiny optimization of c_airblock
2018-01-27 20:31:04 -05:00
Anewbe
cce1fcc1f5 Ports MultiZAS 2017-05-04 19:51:54 -04:00
SkyMarshal
772c320303 Multi-Z. 2015-08-30 14:15:20 -07:00
mwerezak
fbede7a193 Minor ZAS-related cleanup 2015-04-28 23:00:56 -04:00
mwerezak
b84bb4ff23 Fixes bubble/hull shield generators not updating air zones, update_nearby_tiles() cleanup. 2014-11-28 19:37:31 -05:00
Mloc
28e0539359 fix an issue with ZAS geometry not re-forming
Signed-off-by: Mloc <colmohici@gmail.com>
2014-10-14 11:57:31 +01:00
Aryn
4c27af0bb9 Added Z-level support. 2014-02-21 08:38:44 -07:00
Aryn
0814bdb36f Added some documentation. 2014-02-19 18:24:37 -07:00
Aryn
bc971b01ea New ZAS version, stable and efficient. Git broke the everything so it's in one commit. 2014-02-19 16:47:53 -07:00