diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index 6c38b33783521..d2075021ec345 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -489,6 +489,7 @@ /obj/effect/turf_decal/plaque{ icon_state = "L2" }, +/obj/structure/sign/clock/directional/south, /turf/open/floor/iron, /area/station/commons/storage/primary) "dr" = ( @@ -621,11 +622,6 @@ "dV" = ( /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"dW" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/directional/north, -/turf/open/floor/iron, -/area/station/construction) "dX" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -666,10 +662,6 @@ /obj/structure/sign/warning/pods, /turf/closed/wall/r_wall, /area/station/hallway/secondary/entry) -"ef" = ( -/obj/machinery/door/airlock, -/turf/open/floor/iron, -/area/station/construction) "eh" = ( /turf/open/floor/iron, /area/station/hallway/secondary/entry) @@ -744,7 +736,10 @@ dir = 8; id = "cargounload" }, -/obj/structure/plasticflaps, +/obj/structure/plasticflaps{ + dir = 4 + }, +/obj/machinery/status_display/supply/directional/north, /turf/open/floor/plating, /area/station/cargo/storage) "eE" = ( @@ -759,7 +754,9 @@ /turf/open/space/basic, /area/space) "eF" = ( -/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/power/apc/auto_name/directional/east{ + pixel_x = 11 + }, /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/entry) @@ -817,7 +814,8 @@ }, /obj/machinery/door/poddoor{ id = "cargounload"; - name = "Supply Dock Unloading Door" + name = "Supply Dock Unloading Door"; + dir = 4 }, /turf/open/floor/plating, /area/station/cargo/storage) @@ -836,7 +834,8 @@ }, /obj/machinery/door/poddoor{ id = "cargoload"; - name = "Supply Dock Loading Door" + name = "Supply Dock Loading Door"; + dir = 4 }, /turf/open/floor/plating, /area/station/cargo/storage) @@ -871,7 +870,9 @@ dir = 4; id = "cargoload" }, -/obj/structure/plasticflaps, +/obj/structure/plasticflaps{ + dir = 4 + }, /turf/open/floor/plating, /area/station/cargo/storage) "fm" = ( @@ -921,10 +922,6 @@ /obj/structure/fans/tiny, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"fB" = ( -/obj/machinery/status_display/supply, -/turf/closed/wall/r_wall, -/area/station/cargo/storage) "fI" = ( /obj/machinery/door/airlock, /turf/open/floor/plating, @@ -1141,6 +1138,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/storage/primary) +"jv" = ( +/obj/structure/sign/poster/official/report_crimes/directional/north, +/turf/open/floor/plating, +/area/station/construction) "jz" = ( /obj/structure/table/glass, /obj/item/disk/surgery/debug, @@ -1194,6 +1195,9 @@ /obj/structure/server, /turf/open/floor/iron/dark, /area/station/science/explab) +"kJ" = ( +/turf/open/floor/iron, +/area/station/construction) "kS" = ( /turf/closed/wall/r_wall, /area/station/medical/chemistry) @@ -1207,6 +1211,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/central) +"lV" = ( +/obj/structure/sign/clock/directional/west, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "mb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -1218,6 +1226,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) +"mq" = ( +/obj/structure/sink/directional/east, +/obj/structure/sink/directional/north, +/obj/structure/sink/directional/south, +/obj/structure/sink/directional/west, +/turf/open/floor/plating, +/area/station/construction) "mC" = ( /turf/open/floor/iron/dark, /area/station/medical/medbay) @@ -1236,6 +1251,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/cargo/storage) +"np" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/plating, +/area/station/construction) "nq" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -1323,7 +1343,9 @@ /turf/open/floor/plating, /area/station/engineering/atmos) "qg" = ( -/obj/machinery/door/airlock/external/glass/ruin, +/obj/machinery/door/airlock/external/glass/ruin{ + dir = 4 + }, /obj/effect/turf_decal/stripes/full, /turf/open/floor/iron/dark, /area/station/cargo/storage) @@ -1382,6 +1404,10 @@ "rT" = ( /turf/open/floor/circuit/green, /area/station/cargo/bitrunning/den) +"sc" = ( +/obj/structure/sign/poster/official/report_crimes/directional/east, +/turf/open/floor/plating, +/area/station/construction) "sr" = ( /obj/machinery/door/airlock/shell, /turf/open/floor/iron/dark, @@ -1405,10 +1431,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/medical/chemistry) -"tz" = ( -/obj/machinery/status_display/supply, -/turf/closed/wall/r_wall, -/area/station/commons/storage/primary) "tE" = ( /obj/machinery/door/airlock/research, /turf/open/floor/iron/dark, @@ -1452,6 +1474,10 @@ /obj/machinery/light/directional/north, /turf/open/floor/plating, /area/station/engineering/atmos) +"uK" = ( +/obj/machinery/digital_clock/directional/east, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "uL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1512,6 +1538,10 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"vV" = ( +/obj/structure/sign/poster/official/report_crimes/directional/west, +/turf/open/floor/plating, +/area/station/construction) "wa" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -1565,6 +1595,14 @@ "wU" = ( /turf/closed/wall/r_wall, /area/station/science/explab) +"xq" = ( +/obj/structure/sign/clock/directional/east, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"xs" = ( +/obj/machinery/digital_clock/directional/west, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "xD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/blue/half/contrasted, @@ -1575,6 +1613,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) +"xM" = ( +/obj/machinery/shower/directional/east, +/obj/machinery/shower/directional/west, +/obj/machinery/shower/directional/north, +/obj/machinery/shower/directional/south, +/turf/open/floor/plating, +/area/station/construction) "xY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -1636,6 +1681,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos) +"zG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/digital_clock/directional/south, +/turf/open/floor/iron, +/area/station/construction) "zS" = ( /obj/machinery/rnd/destructive_analyzer, /obj/machinery/airalarm/directional/north, @@ -1667,6 +1719,9 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"Bg" = ( +/turf/closed/wall, +/area/station/commons/storage/primary) "Bp" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/stripes/line{ @@ -1720,6 +1775,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"Cn" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"Cr" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "cargounload" + }, +/obj/structure/plasticflaps{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "Ct" = ( /obj/structure/closet/syndicate/resources/everything, /turf/open/floor/iron, @@ -1761,6 +1830,10 @@ /obj/structure/rack, /turf/open/floor/iron/dark, /area/station/science/explab) +"Ds" = ( +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/iron, +/area/station/construction) "DC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/stripes/corner, @@ -1785,7 +1858,9 @@ /turf/open/floor/iron, /area/station/hallway/primary/central) "DT" = ( -/obj/machinery/door/airlock/external/glass/ruin, +/obj/machinery/door/airlock/external/glass/ruin{ + dir = 4 + }, /obj/effect/turf_decal/stripes/full, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -1917,7 +1992,6 @@ /turf/open/floor/iron, /area/station/medical/chemistry) "Hb" = ( -/obj/machinery/door/airlock, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -2063,6 +2137,11 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/white/corner, /area/station/medical/medbay) +"LN" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "LS" = ( /obj/machinery/quantum_server, /turf/open/floor/iron, @@ -2120,6 +2199,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) +"MO" = ( +/obj/structure/sign/poster/official/report_crimes/directional/south, +/turf/open/floor/plating, +/area/station/construction) "Nb" = ( /obj/machinery/bci_implanter, /turf/open/floor/iron/dark, @@ -2134,6 +2217,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/science/explab) +"Nj" = ( +/obj/machinery/airalarm/directional/west, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "Ns" = ( /obj/machinery/door/airlock/public/glass, /obj/structure/cable, @@ -2326,7 +2414,9 @@ }, /area/station/medical/medbay) "RE" = ( -/obj/machinery/door/airlock/external/glass/ruin, +/obj/machinery/door/airlock/external/glass/ruin{ + dir = 4 + }, /obj/effect/turf_decal/stripes/full, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -2441,6 +2531,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) +"VH" = ( +/obj/structure/sign/clock/directional/north, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"VV" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/plating, +/area/station/construction) "We" = ( /obj/machinery/newscaster/directional/west, /turf/open/floor/iron, @@ -2604,7 +2703,6 @@ }, /area/station/medical/medbay) "Zz" = ( -/obj/machinery/power/apc/auto_name/directional/west, /obj/effect/turf_decal/stripes/line, /obj/structure/cable, /obj/machinery/airalarm/directional/north, @@ -5618,7 +5716,7 @@ eh eh eh eV -eh +xs BM eh dY @@ -5796,7 +5894,7 @@ HW fM eh eh -eh +uK eh eh eh @@ -5886,13 +5984,13 @@ cN cN cN cN -ef -ef -cN -cN +kJ +kJ cN cN +Ds cN +kJ cN os en @@ -6064,7 +6162,7 @@ bA XK xK Mh -cN +kJ ou dn dn @@ -6159,7 +6257,7 @@ FA Hb Es dn -dn +mq dn dn dn @@ -6248,13 +6346,13 @@ gd bE QV bE -ef +kJ cY dn dn dn dn -dn +sc dn dn dn @@ -6340,19 +6438,19 @@ bA OS QV bE -cN -dW -dn -dn -dn +kJ +cY dn dn +MO +cN +cN dn dn dn dn dn -dL +zG cN ZP Df @@ -6432,13 +6530,13 @@ bu Ef QV bE -cN +kJ cY dn dn dn -dn -dn +cN +np dn dn dn @@ -6524,7 +6622,7 @@ bu Hc QV hp -cN +kJ cY dn dn @@ -6532,8 +6630,8 @@ dn dn dn dn -dn -dn +VV +cN dn dn dZ @@ -6616,17 +6714,17 @@ bv Hc QV bE -cN +kJ cY dn +xM dn dn dn dn -dn -dn -dn -dn +cN +cN +jv dn dL cN @@ -6708,15 +6806,15 @@ bu Hc QV bE -cN +kJ cY dn dn dn +cN dn dn -dn -dn +vV dn dn dn @@ -6800,13 +6898,13 @@ io lu QV bE -ef +kJ cY dn dn -dn -dn -dn +cN +cN +cN dn dn dn @@ -6892,12 +6990,12 @@ bu XG QV bE -ef +kJ cY dn dn dn -dn +cN dn dn dn @@ -6984,7 +7082,7 @@ bv XG QV bE -cN +kJ dK do dz @@ -7076,19 +7174,19 @@ bu DO QV bE +dJ cS -cS -cS -cS +dJ +dJ cS cS dG dG cS +dJ +dJ cS -cS -cS -cS +dJ cS Tt Rb @@ -7356,6 +7454,7 @@ cS qv dJ dJ +xq dJ dJ dJ @@ -7363,8 +7462,7 @@ dJ dJ dJ dJ -dJ -dJ +Cn cS Tt bL @@ -7447,8 +7545,8 @@ bE cS jg dq -dJ -dJ +Bg +Bg dJ dI dJ @@ -7539,12 +7637,12 @@ Vg cS rC dr -dJ -dJ +Bg +Nj dJ dI -dJ -dJ +LN +Bg dJ dJ dJ @@ -7635,9 +7733,9 @@ dJ dJ dJ dI -dJ -dJ -dJ +Bg +Bg +VH dJ dJ jU @@ -7727,7 +7825,7 @@ dJ dD dJ dI -dJ +lV XZ dJ dJ @@ -8372,7 +8470,7 @@ cS cS Is Jd -tz +cS cS cS cS @@ -8921,7 +9019,7 @@ aa aa aa fh -eC +Cr An ya An @@ -9015,7 +9113,7 @@ aa et eY qg -fB +et qg fc et diff --git a/code/__DEFINES/directional.dm b/code/__DEFINES/directional.dm index 8c64cf434c429..cac41d8d3c0ad 100644 --- a/code/__DEFINES/directional.dm +++ b/code/__DEFINES/directional.dm @@ -28,6 +28,33 @@ /// Inverse direction, taking into account UP|DOWN if necessary. #define REVERSE_DIR(dir) ( ((dir & 85) << 1) | ((dir & 170) >> 1) ) +#define _WALL_MOUNT_OFFSET(path, north_offset, south_offset, physical_south_offset, east_offset, west_offset, horizontal_up_offset) \ +##path/wall_mount_offset(direction) { \ + pixel_x = 0; \ + pixel_z = 0; \ + pixel_y = 0; \ + switch(direction) { \ + if(NORTH) { \ + pixel_z = north_offset; \ + } \ + if(SOUTH) { \ + pixel_z = south_offset; \ + pixel_y = physical_south_offset; \ + } \ + if(EAST) { \ + pixel_x = east_offset; \ + pixel_z = horizontal_up_offset; \ + } \ + if(WEST) { \ + pixel_x = west_offset; \ + pixel_z = horizontal_up_offset; \ + } \ + } \ +} + +#define _INVERTED_WALL_MOUNT_OFFSET(path, north_offset, physical_north_offset, south_offset, east_offset, west_offset, horizontal_up_offset) \ +_WALL_MOUNT_OFFSET(path, south_offset, north_offset, physical_north_offset, west_offset, east_offset, horizontal_up_offset) + // Wallening todo: temporary helper, until we finish fleshing things out and can convert the main one // Why are we not just changing the sprites agian? #define INVERT_MAPPING_DIRECTIONAL_HELPERS(path, offset) \ @@ -46,24 +73,21 @@ ##path/directional/west {\ dir = EAST; \ pixel_x = -offset; \ -} +} \ +_INVERTED_WALL_MOUNT_OFFSET(path, offset, 0, -offset, offset, -offset, 0) /// Directional helpers for things that use the wall_mount element -#define WALL_MOUNT_DIRECTIONAL_HELPERS(path) _WALL_MOUNT_DIRECTIONAL_HELPERS(path, 35, -8, 11, -11, 16) +#define WALL_MOUNT_DIRECTIONAL_HELPERS(path) _WALL_MOUNT_DIRECTIONAL_HELPERS(path, 35, 0, -8, 11, -11, 16) -#define SHOWER_DIRECTIONAL_HELPERS(path) _WALL_MOUNT_DIRECTIONAL_HELPERS(path, 32, -4, 16, -16, 12) +#define SHOWER_DIRECTIONAL_HELPERS(path) _WALL_MOUNT_DIRECTIONAL_HELPERS(path, 32, 0, -4, 16, -16, 12) // Sinks need to be shifted down so they layer correctly when north due to their unique status -#define SINK_DIRECTIONAL_HELPERS(path) \ -_WALL_MOUNT_DIRECTIONAL_HELPERS(path, 16, 24, 16, -16, 12) \ -##path/directional/north {\ - pixel_y = -32; \ -} +#define SINK_DIRECTIONAL_HELPERS(path) _WALL_MOUNT_DIRECTIONAL_HELPERS(path, 24, -32, 24, 16, -16, 12) -#define _WALL_MOUNT_DIRECTIONAL_HELPERS(path, north_offset, south_offset, east_offset, west_offset, horizontal_up_offset) \ +#define _WALL_MOUNT_DIRECTIONAL_HELPERS(path, north_offset, physical_north_offset, south_offset, east_offset, west_offset, horizontal_up_offset) \ ##path/directional/north {\ dir = SOUTH; \ - MAP_SWITCH(pixel_z, pixel_y) = north_offset; \ + MAP_SWITCH(pixel_z, pixel_y) = north_offset + physical_north_offset; \ } \ ##path/directional/south {\ dir = NORTH; \ @@ -78,7 +102,8 @@ _WALL_MOUNT_DIRECTIONAL_HELPERS(path, 16, 24, 16, -16, 12) \ dir = EAST; \ pixel_x = west_offset; \ MAP_SWITCH(pixel_z, pixel_y) = horizontal_up_offset; \ -} +} \ +_INVERTED_WALL_MOUNT_OFFSET(path, north_offset, physical_north_offset, south_offset, east_offset, west_offset, horizontal_up_offset) /// Directional helpers for cameras (cameras are really annoying) /// They have diagonal dirs and also offset south differently @@ -118,9 +143,31 @@ _WALL_MOUNT_DIRECTIONAL_HELPERS(path, 16, 24, 16, -16, 12) \ dir = SOUTHEAST; \ pixel_x = -11; \ MAP_SWITCH(pixel_z, pixel_y) = 16; \ +} \ +##path/wall_mount_offset(direction) { \ + /* Exists because cameras have more then the normal dir count so we're doin this manually */ \ + /* Fit the usual offsets except SOUTH is different, because cameras want to jut out from the wall */ \ + /* Also cameras have weird offsets because lmao camera sprites dies */ \ + pixel_x = 0; \ + pixel_z = 0; \ + switch(direction) { \ + if(NORTH, NORTHWEST) { \ + pixel_z = 16; \ + } \ + if(SOUTH, NORTHEAST) { \ + pixel_z = 35; \ + } \ + if(EAST, SOUTHEAST) { \ + pixel_x = -11; \ + pixel_z = 16; \ + } \ + if(WEST, SOUTHWEST) { \ + pixel_x = 11; \ + pixel_z = 16; \ + } \ + } \ } - /// Create directional subtypes for a path to simplify mapping. #define MAPPING_DIRECTIONAL_HELPERS(path, offset) \ @@ -139,7 +186,8 @@ _WALL_MOUNT_DIRECTIONAL_HELPERS(path, 16, 24, 16, -16, 12) \ ##path/directional/west {\ dir = WEST; \ pixel_x = -offset; \ -} +} \ +_WALL_MOUNT_OFFSET(path, offset, 0, -offset, offset, -offset, 0) #define MAPPING_DIRECTIONAL_HELPERS_EMPTY(path) \ ##path/directional/north {\ @@ -153,7 +201,8 @@ _WALL_MOUNT_DIRECTIONAL_HELPERS(path, 16, 24, 16, -16, 12) \ } \ ##path/directional/west {\ dir = WEST; \ -} +} \ +_WALL_MOUNT_OFFSET(path, 0, 0, 0, 0, 0, 0) #define BUTTON_DIRECTIONAL_HELPERS(path) \ ##path/table { \ diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 033d358be03a4..7c2eb755a5f03 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -1733,22 +1733,9 @@ /// Offsets this movable based on dir (in context of wallmounts) /// Yes yes mothblocks I know this is not modular but I don't want to make the element bespoke /// Insert ranting about element key generation here +/// This proc is filled in by the directional macros, should not need to manually touch it unless something is wrong /atom/movable/proc/wall_mount_offset(direction) - //These magic offsets are chosen for no particular reason - //The wall mount template is made to work with them - pixel_x = 0 - pixel_z = 0 - switch(direction) - if(NORTH) - pixel_z = -8 - if(SOUTH) - pixel_z = 35 - if(EAST) - pixel_x = -11 - pixel_z = 16 - if(WEST) - pixel_x = 11 - pixel_z = 16 + return /// Returns true if we should layer in common with the general game /// If false, render over the frill plane insted diff --git a/code/game/machinery/barsigns.dm b/code/game/machinery/barsigns.dm index fbdd8b2e7aa57..6ab16a95d3ce0 100644 --- a/code/game/machinery/barsigns.dm +++ b/code/game/machinery/barsigns.dm @@ -46,15 +46,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/barsign, 32) /obj/machinery/barsign/wall_mount_common_plane(direction) return TRUE -/obj/machinery/barsign/wall_mount_offset(direction) - pixel_x = 0 - pixel_z = 0 - switch(direction) - if(NORTH) - pixel_z = 32 - if(SOUTH) - pixel_z = -32 - /obj/machinery/barsign/update_icon_state() if(!(machine_stat & BROKEN) && (!(machine_stat & NOPOWER) || machine_stat & EMPED) && chosen_sign && chosen_sign.icon_state) icon_state = chosen_sign.icon_state diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 5c04e44962c0f..4601e0c20d79d 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -338,23 +338,6 @@ CAMERA_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray) icon_state = "[xray_module][base_icon_state][in_use_lights ? "_in_use" : ""]" return ..() -/obj/machinery/camera/wall_mount_offset(direction) - // Fit the usual offsets except SOUTH is different, because cameras want to jut out from the wall - // Also cameras have weird offsets because lmao camera sprites dies - pixel_x = 0 - pixel_z = 0 - switch(direction) - if(NORTH, NORTHWEST) - pixel_z = 16 - if(SOUTH, NORTHEAST) - pixel_z = 35 - if(EAST, SOUTHEAST) - pixel_x = -11 - pixel_z = 16 - if(WEST, SOUTHWEST) - pixel_x = 11 - pixel_z = 16 - /obj/machinery/camera/wall_mount_common_plane(direction) if(direction == SOUTH || direction == NORTHEAST) return TRUE diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index a5de80d4167c3..9ceffa2c6d5fd 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -544,6 +544,8 @@ WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/status_display/evac) text_color = COLOR_DISPLAY_ORANGE header_text_color = COLOR_DISPLAY_YELLOW +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/status_display/supply) + /obj/machinery/status_display/supply/process() if(machine_stat & NOPOWER) // No power, no processing. @@ -579,6 +581,8 @@ WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/status_display/evac) text_color = COLOR_DISPLAY_GREEN header_text_color = COLOR_DISPLAY_CYAN +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/status_display/shuttle) + /obj/machinery/status_display/shuttle/process() if(!shuttle_id || (machine_stat & NOPOWER)) // No power, no processing. diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm index 5f1f464928161..cf28f2026b618 100644 --- a/code/game/objects/structures/shower.dm +++ b/code/game/objects/structures/shower.dm @@ -86,22 +86,6 @@ SHOWER_DIRECTIONAL_HELPERS(/obj/machinery/shower) . += span_notice("The auto shut-off is programmed to [GLOB.shower_mode_descriptions["[mode]"]].") . += span_notice("[reagents.total_volume]/[reagents.maximum_volume] liquids remaining.") -/obj/machinery/shower/wall_mount_offset(direction) - pixel_x = 0 - pixel_z = 0 - pixel_y = 0 - switch(direction) - if(NORTH) - pixel_z = 32 - if(SOUTH) - pixel_z = -4 - if(EAST) - pixel_x = 16 - pixel_z = 12 - if(WEST) - pixel_x = -16 - pixel_z = 12 - /obj/machinery/shower/Destroy() QDEL_NULL(soundloop) QDEL_NULL(reagents) diff --git a/code/game/objects/structures/signs/signs_interactive.dm b/code/game/objects/structures/signs/signs_interactive.dm index 1e407034f4a71..b5f14362289b4 100644 --- a/code/game/objects/structures/signs/signs_interactive.dm +++ b/code/game/objects/structures/signs/signs_interactive.dm @@ -3,7 +3,7 @@ desc = "It's your run-of-the-mill wall clock showing both the local Coalition Standard Time and the galactic Treaty Coordinated Time. Perfect for staring at instead of working." icon_state = "clock" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/clock, 32) +_WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/clock, 35, 0, -8, 24, -24, 16) /obj/structure/sign/clock/examine(mob/user) . = ..() @@ -15,7 +15,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/clock, 32) desc = "It's an old-school wall calendar. Sure, it might be obsolete with modern technology, but it's still hard to imagine an office without one." icon_state = "calendar" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/calendar, 32) +_WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/calendar, 35, 0, -8, 24, -24, 16) /obj/structure/sign/calendar/examine(mob/user) . = ..() diff --git a/code/game/objects/structures/water_structures/sink.dm b/code/game/objects/structures/water_structures/sink.dm index 440442b46ab5c..565798cc9f815 100644 --- a/code/game/objects/structures/water_structures/sink.dm +++ b/code/game/objects/structures/water_structures/sink.dm @@ -45,24 +45,6 @@ SINK_DIRECTIONAL_HELPERS(/obj/structure/sink) /obj/structure/sink/wall_mount_common_plane(direction) return TRUE -/obj/structure/sink/wall_mount_offset(direction) - pixel_x = 0 - pixel_z = 0 - pixel_y = 0 - switch(direction) - if(NORTH) - pixel_z = 16 - if(SOUTH) - pixel_z = 24 - // shift down so we layer correctly - pixel_y = -32 - if(EAST) - pixel_x = 16 - pixel_z = 12 - if(WEST) - pixel_x = -16 - pixel_z = 12 - /obj/structure/sink/attack_hand(mob/living/user, list/modifiers) . = ..() if(.) diff --git a/code/modules/power/apc/apc_main.dm b/code/modules/power/apc/apc_main.dm index 57515235ec19c..db19ed5034568 100644 --- a/code/modules/power/apc/apc_main.dm +++ b/code/modules/power/apc/apc_main.dm @@ -159,20 +159,7 @@ SSmachines.processing_apcs += src //Pixel offset its appearance based on its direction - dir = ndir - switch(dir) - if(NORTH) - offset_old = pixel_z - pixel_z = APC_PIXEL_OFFSET - if(SOUTH) - offset_old = pixel_z - pixel_z = -APC_PIXEL_OFFSET - if(EAST) - offset_old = pixel_x - pixel_x = APC_PIXEL_OFFSET - if(WEST) - offset_old = pixel_x - pixel_x = -APC_PIXEL_OFFSET + setDir(ndir) hud_list = list( MALF_APC_HUD = image(icon = 'icons/mob/huds/hud.dmi', icon_state = "apc_hacked", pixel_x = src.pixel_x, pixel_y = src.pixel_y) @@ -272,6 +259,7 @@ if(auto_name) name = "\improper [get_area_name(area, TRUE)] APC" + /obj/machinery/power/apc/proc/assign_to_area(area/target_area = get_area(src)) if(area == target_area) return diff --git a/code/modules/power/apc/apc_mapping.dm b/code/modules/power/apc/apc_mapping.dm index fd2887a492bbb..fd02021a89ad7 100644 --- a/code/modules/power/apc/apc_mapping.dm +++ b/code/modules/power/apc/apc_mapping.dm @@ -5,7 +5,7 @@ /obj/machinery/power/apc/auto_name auto_name = TRUE -#define APC_DIRECTIONAL_HELPERS(path) _WALL_MOUNT_DIRECTIONAL_HELPERS(path, -APC_PIXEL_OFFSET, APC_PIXEL_OFFSET, -APC_PIXEL_OFFSET, APC_PIXEL_OFFSET, 16) +#define APC_DIRECTIONAL_HELPERS(path) _WALL_MOUNT_DIRECTIONAL_HELPERS(path, 35, 0, -8, 11, -11, 16) APC_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/worn_out) APC_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name) diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm index f49ecb4849fd1..eaf5d941ed98b 100644 --- a/code/modules/security_levels/keycard_authentication.dm +++ b/code/modules/security_levels/keycard_authentication.dm @@ -159,27 +159,12 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new) /obj/machinery/keycard_auth/wall_mounted icon = 'icons/obj/machines/keycard.dmi' -_WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/keycard_auth/wall_mounted, 34, 2, 12, -14, 16) +_WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/keycard_auth/wall_mounted, 34, 0, 2, 12, -14, 16) /obj/machinery/keycard_auth/wall_mounted/Initialize(mapload) . = ..() find_and_hang_on_wall() -/obj/machinery/keycard_auth/wall_mounted/wall_mount_offset(newdir) - pixel_x = 0 - pixel_z = 0 - switch(newdir) - if(NORTH) - pixel_z = 2 - if(SOUTH) - pixel_z = 34 - if(EAST) - pixel_x = -14 - pixel_z = 16 - if(WEST) - pixel_x = 12 - pixel_z = 16 - GLOBAL_VAR_INIT(emergency_access, FALSE) /proc/make_maint_all_access() for(var/area/station/maintenance/area in GLOB.areas) diff --git a/icons/obj/watercloset.dmi b/icons/obj/watercloset.dmi index 3f2a4e2d8b690..d315fe0851ace 100644 Binary files a/icons/obj/watercloset.dmi and b/icons/obj/watercloset.dmi differ