Skip to content

Moving catwalks from turf to obj

Rob Nelson requested to merge pull/3370/Catwalk into Bleeding-Edge

Created by: dylanstrategie

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

Merge request reports