Files
VOREStation/code/modules/mob/new_player/preferences_setup_vr.dm
Leshana fffd922cde Fix character setup preview icons rendering prior to SSAtoms initialization
- Rendering the characters involved creating mannequin mobs, prior to SSAtoms init these would not be initialized and thus have no DNA.  This prints many warning messages, causes runtimes, and ultimately the icon does not render correctly.
- Its fixed here since it seems that needing to use mobs prior to initialization is a pretty unique edge case.  Comment added to explain to future us.
2020-02-04 16:33:22 -05:00

31 lines
1.4 KiB
Plaintext

/datum/preferences/update_preview_icon() // Lines up and un-overlaps character edit previews. Also un-splits taurs.
var/mob/living/carbon/human/dummy/mannequin/mannequin = get_mannequin(client_ckey)
if(!mannequin.dna) // Special handling for preview icons before SSAtoms has initailized.
mannequin.dna = new /datum/dna(null)
mannequin.delete_inventory(TRUE)
dress_preview_mob(mannequin)
COMPILE_OVERLAYS(mannequin)
preview_icon = icon('icons/effects/128x72_vr.dmi', bgstate)
preview_icon.Scale(128, 72)
mannequin.dir = NORTH
var/icon/stamp = getFlatIcon(mannequin)
stamp.Scale(stamp.Width()*size_multiplier,stamp.Height()*size_multiplier)
preview_icon.Blend(stamp, ICON_OVERLAY, 64-stamp.Width()/2, 5)
mannequin.dir = WEST
stamp = getFlatIcon(mannequin)
stamp.Scale(stamp.Width()*size_multiplier,stamp.Height()*size_multiplier)
preview_icon.Blend(stamp, ICON_OVERLAY, 16-stamp.Width()/2, 5)
mannequin.dir = SOUTH
stamp = getFlatIcon(mannequin)
stamp.Scale(stamp.Width()*size_multiplier,stamp.Height()*size_multiplier)
preview_icon.Blend(stamp, ICON_OVERLAY, 112-stamp.Width()/2, 5)
preview_icon.Scale(preview_icon.Width() * 2, preview_icon.Height() * 2) // Scaling here to prevent blurring in the browser.
//TFF 5/8/19 - add randomised sensor setting for random button clicking
/datum/preferences/randomize_appearance_and_body_for(var/mob/living/carbon/human/H)
sensorpref = rand(1,5)