Variable names, QDEL remove from list, misc fixes

This commit is contained in:
Alphas00
2025-01-28 23:28:34 +01:00
parent 557a3b3ef3
commit 3a69e2597c

View File

@@ -19,21 +19,50 @@ GLOBAL_LIST_EMPTY(see_toggle_smallsprite)
set name = "Toggle Others' Giant Sprite"
set category = "Preferences.GS13"
set desc = "Change display settings to and from displaying others' giant sprites."
var/list/remove_from_list = new()
mob.see_resized_others = !mob.see_resized_others
if(mob.see_resized_others)
GLOB.see_toggle_smallsprite += mob
for(var/mob/living/L in GLOB.enabled_smallsprite)
if(L && L != mob && L.alternate_appearances && L.alternate_appearances["gscode_smallsprite"])
var/datum/atom_hud/alternate_appearance/AA = L.alternate_appearances["gscode_smallsprite"]
AA.add_to_single_hud(mob, L)
for(var/mob/living/resize_mob in GLOB.enabled_smallsprite)
if(QDELETED(resize_mob))
remove_from_list += resize_mob
continue
if(resize_mob && resize_mob != mob && resize_mob.alternate_appearances && resize_mob.alternate_appearances["gscode_smallsprite"])
var/datum/atom_hud/alternate_appearance/appearance = resize_mob.alternate_appearances["gscode_smallsprite"]
appearance.add_to_single_hud(mob, resize_mob)
GLOB.enabled_smallsprite -= remove_from_list
to_chat(src, "Resize others view toggled ON.")
else
GLOB.see_toggle_smallsprite -= mob
for(var/mob/living/L in GLOB.enabled_smallsprite)
if(L && L.alternate_appearances && L.alternate_appearances["gscode_smallsprite"])
var/datum/atom_hud/alternate_appearance/AA = L.alternate_appearances["gscode_smallsprite"]
AA.remove_from_single_hud(mob, L)
to_chat(src, "Resize others view toggled OFF.")
return
GLOB.see_toggle_smallsprite -= mob
for(var/mob/living/resize_mob in GLOB.enabled_smallsprite)
if(QDELETED(resize_mob))
remove_from_list += resize_mob
continue
if(resize_mob && resize_mob.alternate_appearances && resize_mob.alternate_appearances["gscode_smallsprite"])
var/datum/atom_hud/alternate_appearance/appearance = resize_mob.alternate_appearances["gscode_smallsprite"]
appearance.remove_from_single_hud(mob, resize_mob)
GLOB.enabled_smallsprite -= remove_from_list
to_chat(src, "Resize others view toggled OFF.")
///Generate the image based on the mob's current icon and apply matrix transformations to adjust its position and angle
/mob/living/proc/create_smallsprite()
var/image/smallsprite = image(icon=icon, icon_state=icon_state, loc=src, layer=layer, pixel_x=pixel_x, pixel_y=pixel_y)
smallsprite.overlays += overlays
smallsprite.override = TRUE
var/matrix/ntransform = matrix(lying, MATRIX_ROTATE)
if(lying != 0)
ntransform.Translate(0, -get_standard_pixel_y_offset(lying))
smallsprite.transform = ntransform
return smallsprite
/**
* Call to regenerate the sprites and update huds.
@@ -43,37 +72,42 @@ GLOBAL_LIST_EMPTY(see_toggle_smallsprite)
* * If the size_multiplier was not higher than one then remove the mob from the list of smallsprite mobs
*/
/mob/living/proc/regenerate_smallsprite()
var/list/remove_from_list = new()
if(length(alternate_appearances) && alternate_appearances["gscode_smallsprite"])
for(var/mob/M in GLOB.see_toggle_smallsprite)
var/datum/atom_hud/alternate_appearance/AA = alternate_appearances["gscode_smallsprite"]
AA.remove_from_single_hud(M, src)
for(var/mob/viewer_mob in GLOB.see_toggle_smallsprite)
if(QDELETED(viewer_mob))
remove_from_list += viewer_mob
continue
var/datum/atom_hud/alternate_appearance/appearance = alternate_appearances["gscode_smallsprite"]
appearance.remove_from_single_hud(viewer_mob, src)
remove_alt_appearance("gscode_smallsprite")
if(size_multiplier > 1)
if(!GLOB.enabled_smallsprite[src])
GLOB.enabled_smallsprite += src
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/showSmall, "gscode_smallsprite", generate_smallsprite(), FALSE)
for(var/mob/M in GLOB.see_toggle_smallsprite)
if(M != src)
var/datum/atom_hud/alternate_appearance/AA = alternate_appearances["gscode_smallsprite"]
AA.add_to_single_hud(M, src)
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/showSmall, "gscode_smallsprite", create_smallsprite(), FALSE)
for(var/mob/viewer_mob in GLOB.see_toggle_smallsprite)
if(QDELETED(viewer_mob))
remove_from_list += viewer_mob
continue
if(viewer_mob != src)
var/datum/atom_hud/alternate_appearance/appearance = alternate_appearances["gscode_smallsprite"]
appearance.add_to_single_hud(viewer_mob, src)
return TRUE
else
if(GLOB.enabled_smallsprite[src])
GLOB.enabled_smallsprite -= src
return FALSE
///Generate the image based on the mob's current icon and apply matrix transformations to adjust its position and angle
/mob/living/proc/generate_smallsprite()
var/image/I = image(icon=icon, icon_state=icon_state, loc=src, layer=layer, pixel_x=pixel_x, pixel_y=pixel_y)
I.overlays += overlays
I.override = TRUE
var/matrix/ntransform = matrix(lying, MATRIX_ROTATE)
if(lying != 0)
ntransform.Translate(0, -get_standard_pixel_y_offset(lying))
I.transform = ntransform
return I
GLOB.see_toggle_smallsprite -= remove_from_list
return FALSE
//Called periodically to regenerate the mob's smallsprite
/mob/living/BiologicalLife(delta_time, times_fired)
/mob/living/carbon/human/BiologicalLife(delta_time, times_fired)
. = ..()
regenerate_smallsprite()