diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 3135f7997d3..b5eb062aa2a 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -1505,3 +1505,18 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects) var/size = size_check.Width() / world.icon_size return size + +/** + * Updates the bounds of a rotated object + * This ensures that the bounds are always correct, + * even if the object is rotated after init. + */ +/obj/proc/set_bounds() + var/size = get_size_in_tiles(src) + + if(dir in list(NORTH, SOUTH)) + bound_width = size * world.icon_size + bound_height = world.icon_size + else + bound_width = world.icon_size + bound_height = size * world.icon_size diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index e7120bfa599..af983c1e8d9 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -2391,7 +2391,6 @@ multi_tile = TRUE opacity = FALSE glass = TRUE - bound_width = 64 // 2x1 /obj/structure/fluff/airlock_filler name = "airlock fluff" diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index ed6079699e6..b99b9f40246 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -70,8 +70,8 @@ AddElement(/datum/element/blocks_explosives) . = ..() set_init_door_layer() - if(bound_width > world.icon_size) - multi_tile = TRUE + if(multi_tile) + set_bounds() set_filler() update_overlays() update_freelook_sight() diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index fc31549cf51..ce000e91e69 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -393,18 +393,3 @@ qdel(src) return TRUE return FALSE - -/** - * Updates the bounds of the airlock assembly - * Sets the bounds of the airlock assembly according to the direction. - * This ensures that the bounds are always correct, even if the airlock is rotated. - */ -/obj/structure/door_assembly/multi_tile/proc/set_bounds() - var/size = get_size_in_tiles(src) - - if(dir in list(NORTH, SOUTH)) - bound_width = size * world.icon_size - bound_height = world.icon_size - else - bound_width = world.icon_size - bound_height = size * world.icon_size diff --git a/icons/obj/doors/airlocks/multi_tile/public/glass.dmi b/icons/obj/doors/airlocks/multi_tile/public/glass.dmi index 9dbcb9d0f1a..33420a77b11 100644 Binary files a/icons/obj/doors/airlocks/multi_tile/public/glass.dmi and b/icons/obj/doors/airlocks/multi_tile/public/glass.dmi differ diff --git a/icons/obj/doors/airlocks/multi_tile/public/overlays.dmi b/icons/obj/doors/airlocks/multi_tile/public/overlays.dmi index bc9cc86c107..b0d10c8945d 100644 Binary files a/icons/obj/doors/airlocks/multi_tile/public/overlays.dmi and b/icons/obj/doors/airlocks/multi_tile/public/overlays.dmi differ