From 4cce4bcf10aabec33f0652b07034bfe71bfca66a Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Tue, 20 Dec 2022 01:18:41 +0100 Subject: [PATCH] [MIRROR] Minor plane cube cleanup [MDB IGNORE] (#18223) * Minor plane cube cleanup (#72038) ## About The Pull Request [Fixes area lighting not working on turf change in multiz cases](https://github.com/tgstation/tgstation/commit/7b92deffbca92a834cb0a361fd685de51a12ea53) If you modify a area lit turf when using multiz, it'd end up using the wrong plane for its light, because of stupid shit on my part. Stupid shit resolved [Fixes some uses of plane masters that only specified one rather then all](https://github.com/tgstation/tgstation/commit/a59ec96d29710b967bf8b3ffe8210b230cb194b3) We almost never only want to show SOME hidden planes. Should really make a helper for this someday * Minor plane cube cleanup Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> --- code/datums/components/seethrough.dm | 13 +++++++------ code/game/machinery/computer/camera_advanced.dm | 7 +++---- code/game/turfs/change_turf.dm | 2 +- code/modules/lighting/lighting_turf.dm | 2 +- code/modules/mod/modules/modules_supply.dm | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/code/datums/components/seethrough.dm b/code/datums/components/seethrough.dm index 4ffb3b93a74..b5675904cdf 100644 --- a/code/datums/components/seethrough.dm +++ b/code/datums/components/seethrough.dm @@ -99,8 +99,8 @@ ///Apply the trickery image and animation /datum/component/seethrough/proc/trick_mob(mob/fool) var/datum/hud/our_hud = fool.hud_used - var/atom/movable/screen/plane_master/seethrough = our_hud.get_plane_master(SEETHROUGH_PLANE) - seethrough.unhide_plane(fool) + for(var/atom/movable/screen/plane_master/seethrough in our_hud.get_true_plane_masters(SEETHROUGH_PLANE)) + seethrough.unhide_plane(fool) var/image/user_overlay = new(parent) user_overlay.loc = parent @@ -145,8 +145,9 @@ fool.client?.images -= trickery_image UnregisterSignal(fool, COMSIG_MOB_LOGOUT) var/datum/hud/our_hud = fool.hud_used - var/atom/movable/screen/plane_master/seethrough = our_hud.get_plane_master(SEETHROUGH_PLANE) - seethrough.hide_plane(fool) + + for(var/atom/movable/screen/plane_master/seethrough in our_hud.get_true_plane_masters(SEETHROUGH_PLANE)) + seethrough.hide_plane(fool) tricked_mobs.Cut() @@ -158,5 +159,5 @@ UnregisterSignal(fool, COMSIG_MOB_LOGOUT) RegisterSignal(fool, COMSIG_MOB_LOGIN, PROC_REF(trick_mob)) var/datum/hud/our_hud = fool.hud_used - var/atom/movable/screen/plane_master/seethrough = our_hud.get_plane_master(SEETHROUGH_PLANE) - seethrough.hide_plane(fool) + for(var/atom/movable/screen/plane_master/seethrough in our_hud.get_true_plane_masters(SEETHROUGH_PLANE)) + seethrough.hide_plane(fool) diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index 923fe652796..984c02c2768 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -92,8 +92,8 @@ user.remote_control = null current_user = null user.unset_machine() - var/atom/movable/screen/plane_master/plane_static = user.hud_used?.get_plane_master(CAMERA_STATIC_PLANE) - if(plane_static) + + for(var/atom/movable/screen/plane_master/plane_static in user.hud_used?.get_true_plane_masters(CAMERA_STATIC_PLANE)) plane_static.hide_plane(user) playsound(src, 'sound/machines/terminal_off.ogg', 25, FALSE) @@ -180,8 +180,7 @@ if(should_supress_view_changes) user.client.view_size.supress() // Who passes control like this god I hate static code - var/atom/movable/screen/plane_master/plane_static = user.hud_used?.get_plane_master(CAMERA_STATIC_PLANE) - if(plane_static) + for(var/atom/movable/screen/plane_master/plane_static in user.hud_used?.get_true_plane_masters(CAMERA_STATIC_PLANE)) plane_static.unhide_plane(user) /mob/camera/ai_eye/remote diff --git a/code/game/turfs/change_turf.dm b/code/game/turfs/change_turf.dm index fdb9a84642a..b64d86449c8 100644 --- a/code/game/turfs/change_turf.dm +++ b/code/game/turfs/change_turf.dm @@ -178,7 +178,7 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list( if(SSmapping.z_level_to_plane_offset[z]) var/area/thisarea = get_area(W) if(thisarea.lighting_effects) - W.add_overlay(thisarea.lighting_effects[SSmapping.z_level_to_plane_offset[z]]) + W.add_overlay(thisarea.lighting_effects[SSmapping.z_level_to_plane_offset[z] + 1]) QUEUE_SMOOTH_NEIGHBORS(src) QUEUE_SMOOTH(src) diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm index a6ea50c5769..8692fc475dc 100644 --- a/code/modules/lighting/lighting_turf.dm +++ b/code/modules/lighting/lighting_turf.dm @@ -103,7 +103,7 @@ // We will only run this logic on turfs off the prime z layer // Since on the prime z layer, we use an overlay on the area instead, to save time if(SSmapping.z_level_to_plane_offset[z]) - var/index = SSmapping.z_level_to_plane_offset[z] + var/index = SSmapping.z_level_to_plane_offset[z] + 1 //Inherit overlay of new area if(old_area.lighting_effects) cut_overlay(old_area.lighting_effects[index]) diff --git a/code/modules/mod/modules/modules_supply.dm b/code/modules/mod/modules/modules_supply.dm index c98b76a82b9..92e1ecce8aa 100644 --- a/code/modules/mod/modules/modules_supply.dm +++ b/code/modules/mod/modules/modules_supply.dm @@ -237,7 +237,7 @@ . = ..() if(!.) return - var/atom/game_renderer = mod.wearer.hud_used.get_plane_master(RENDER_PLANE_GAME) + var/atom/game_renderer = mod.wearer.hud_used.get_plane_master(MUTATE_PLANE(RENDER_PLANE_GAME, mod.wearer)) var/matrix/render_matrix = matrix(game_renderer.transform) render_matrix.Scale(1.25, 1.25) animate(game_renderer, launch_time, transform = render_matrix)