Moving catwalks from turf to obj

Major code improvement that has been long overdue. The changes have been
thoroughly tested and everything appears to be working fine

- Move catwalks from turf/[retarded path]/catwalk to
obj/structure/catwalk. A dm file has been added to that effect
- Remove iscatwalk() helper check (not needed for an obj/)
- Lattice code has been used -to great effect- to recode catwalks. No
more hardcored nonsense to "make it like there's a space tile
underneath", now there IS space underneath. This should also fix trace
gas problems often witnessed during Derelict plasma floods
- Use relativewall method. There should have been no functional changes.
Catwalks update when new catwalks are added (not when surrounding
catwalks are destroyed, but it still seems logical)
- Add a in-house ex_act system to boot (to compensate for the fact
catwalks no longer use floor's ex_act). The catwalk is either destroyed,
replaced with lattice (add lattice at location, delete catwalk) or
unscathed
- Remove a lot of spaghetti code that has creeped up into ZAS/Atmos
systems and even into tile painter code since catwalks no longer run ZAS
loops and aren't considered turfs anymore
- All maps have been updated to the new catwalk system (otherwise the
map doesn't load, duh)
- Bit of spaghetti code in cable.dm (both item and structure) since
until then cable was NEVER laid on "objects". Works as intended
- Space has been changed to intact = 0. There's no reason for space to
be "intact" because there is only one version of space tiles, and it
fucks with wire placement

Confirmed working :

- Space automatically appears under the tile, catwalks tiles thus act
100 % like space tiles without hardcoding
- Construction and deconstruction works flawlessly. You do need to
precisely click the catwalk grating to deconstruct since the obj/
catwalk uses transparency correctly, but lo and behold, it's a feature
- Explosions function as intended when targetting catwalks (lots of hole
at the center, pepperoni at a distance)
- Cable-related stuff working (laying cable on catwalk, having cable on
catwalks in general)
- Boxstation, Defficiency and Metaclub updated
- Include list updated

Everything should be functional and was tested, but please outline
anything that looks like it'd work badly
This commit is contained in:
dylanstrategie
2015-03-09 20:11:57 +01:00
parent 621d52268e
commit 4b101e38a6
20 changed files with 12684 additions and 12651 deletions

View File

@@ -33,7 +33,6 @@
gasGraphics = overlayGraphics.Copy()
/turf/proc/update_air_properties()
if(iscatwalk(src)) return
var/block = c_airblock(src)
if(block & AIR_BLOCKED)
//dbg(blocked)
@@ -61,7 +60,7 @@
if(r_block & AIR_BLOCKED)
continue
if(istype(unsim, /turf/simulated) && !iscatwalk(unsim))
if(istype(unsim, /turf/simulated))
var/turf/simulated/sim = unsim
if(air_master.has_valid_zone(sim))
@@ -69,7 +68,6 @@
air_master.connect(sim, src)
/turf/simulated/update_air_properties()
if(iscatwalk(src)) return
if(zone && zone.invalid)
c_copy_air()
zone = null //Easier than iterating through the list at the zone.
@@ -124,7 +122,7 @@
//Check that our zone hasn't been cut off recently.
//This happens when windows move or are constructed. We need to rebuild.
if((previously_open & d) && istype(unsim, /turf/simulated) && !iscatwalk(unsim))
if((previously_open & d) && istype(unsim, /turf/simulated))
var/turf/simulated/sim = unsim
if(sim.zone == zone)
zone.rebuild()
@@ -134,7 +132,7 @@
open_directions |= d
if(istype(unsim, /turf/simulated) && !iscatwalk(unsim))
if(istype(unsim, /turf/simulated))
var/turf/simulated/sim = unsim
if(air_master.has_valid_zone(sim))