Steals and fixes a memory leak fix from the freeloaders

-Up-ports a memory leak fix related to preview mannequins.
-Also fixes the forementioned fix breaking fuzzy/sharp previews on setup.
-Also makes the fuzzy/sharp toggle button update the char setup preview.
This commit is contained in:
Verkister
2021-02-27 12:47:16 +02:00
parent 96115d20fd
commit 4ea4eecf28
3 changed files with 11 additions and 9 deletions
+7 -7
View File
@@ -94,13 +94,13 @@ var/global/list/string_slot_flags = list(
"holster" = SLOT_HOLSTER
)
/proc/get_mannequin(var/ckey)
if(!mannequins_)
mannequins_ = new()
. = mannequins_[ckey]
if(!.)
. = new/mob/living/carbon/human/dummy/mannequin()
mannequins_[ckey] = .
GLOBAL_LIST_EMPTY(mannequins)
/proc/get_mannequin(var/ckey = "NULL")
var/mob/living/carbon/human/dummy/mannequin/M = GLOB.mannequins[ckey]
if(!istype(M))
GLOB.mannequins[ckey] = new /mob/living/carbon/human/dummy/mannequin(null)
M = GLOB.mannequins[ckey]
return M
//////////////////////////
/////Initial Building/////
@@ -45,7 +45,6 @@
character.weight_gain = pref.weight_gain
character.weight_loss = pref.weight_loss
character.fuzzy = pref.fuzzy
character.appearance_flags -= pref.fuzzy*PIXEL_SCALE
character.resize(pref.size_multiplier, animate = FALSE)
/datum/category_item/player_setup_item/vore/size/content(var/mob/user)
@@ -70,7 +69,7 @@
else if(href_list["toggle_fuzzy"])
pref.fuzzy = pref.fuzzy ? 0 : 1;
return TOPIC_REFRESH
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["weight"])
var/new_weight = input(user, "Choose your character's relative body weight.\n\
@@ -141,6 +141,9 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
var/desired_scale_y = size_multiplier * icon_scale_y
desired_scale_x *= species.icon_scale_x
desired_scale_y *= species.icon_scale_y
appearance_flags |= PIXEL_SCALE
if(fuzzy)
appearance_flags &= ~PIXEL_SCALE
//VOREStation Edit End
// Regular stuff again.