Some Preview Stuff (#19308)

* Added more backgrounds to choose from in the character preview screen.
* You can now selectively hide your job uniform, suit, or hat.

---------

Signed-off-by: Geeves <ggrobler447@gmail.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
This commit is contained in:
Geeves
2024-06-10 11:54:20 +00:00
committed by GitHub
co-authored by Fluffy
parent 6b30f10cce
commit c40a37db22
8 changed files with 105 additions and 24 deletions
@@ -214,8 +214,8 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
if (!pref.disabilities || !islist(pref.disabilities))
pref.disabilities = list()
if(!pref.bgstate || !(pref.bgstate in pref.bgstate_options))
pref.bgstate = "000000"
if(!pref.bgstate || !(pref.bgstate in list_values(pref.bgstate_options)))
pref.bgstate = "plain_black"
/datum/category_item/player_setup_item/general/body/content(var/mob/user)
var/list/out = list()
@@ -283,10 +283,14 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
out += "<br><br>"
out += "</td><td><b>Preview</b>"
out += "<br><a href='?src=\ref[src];cycle_bg=1'>Cycle background</a>"
out += "<br><a href='?src=\ref[src];cycle_bg=1'>Cycle Background</a>"
out += "<br><a href='?src=\ref[src];select_bg=1'>Select Background</a>"
out += "<br><a href='?src=\ref[src];set_preview_scale=1'>Set Preview Scale - [pref.scale_x] - [pref.scale_y]</a>"
out += "<br><a href='?src=\ref[src];toggle_preview_value=[EQUIP_PREVIEW_LOADOUT]'>[pref.equip_preview_mob & EQUIP_PREVIEW_LOADOUT ? "Hide loadout" : "Show loadout"]</a>"
out += "<br><a href='?src=\ref[src];toggle_preview_value=[EQUIP_PREVIEW_JOB]'>[pref.equip_preview_mob & EQUIP_PREVIEW_JOB ? "Hide job gear" : "Show job gear"]</a>"
out += "<br><a href='?src=\ref[src];toggle_preview_value=[EQUIP_PREVIEW_JOB_HAT]'>[pref.equip_preview_mob & EQUIP_PREVIEW_JOB_HAT ? "Hide job hat" : "Show job hat"]</a>"
out += "<br><a href='?src=\ref[src];toggle_preview_value=[EQUIP_PREVIEW_JOB_UNIFORM]'>[pref.equip_preview_mob & EQUIP_PREVIEW_JOB_UNIFORM ? "Hide job uniform" : "Show job uniform"]</a>"
out += "<br><a href='?src=\ref[src];toggle_preview_value=[EQUIP_PREVIEW_JOB_SUIT]'>[pref.equip_preview_mob & EQUIP_PREVIEW_JOB_SUIT ? "Hide job suit" : "Show job suit"]</a>"
out += "</td></tr></table>"
var/tail_spacing = FALSE
@@ -894,7 +898,13 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["cycle_bg"])
pref.bgstate = next_in_list(pref.bgstate, pref.bgstate_options)
pref.bgstate = next_in_assoc_list(pref.bgstate, pref.bgstate_options)
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["select_bg"])
var/choice = tgui_input_list(user, "Which background would you like for your preview?", "Select Preview Background", pref.bgstate_options)
if(choice)
pref.bgstate = pref.bgstate_options[choice]
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["set_preview_scale"])
+23 -15
View File
@@ -180,21 +180,29 @@ var/list/preferences_datums = list()
var/savefile/loaded_character
var/datum/category_collection/player_setup_collection/player_setup
var/bgstate = "000000"
var/bgstate = "plain_black"
var/list/bgstate_options = list(
"FFFFFF",
"000000",
"tiled_preview",
"monotile_preview",
"dark_preview",
"wood",
"grass",
"reinforced",
"white_preview",
"freezer",
"carpet",
"reinforced"
)
"Plain Black" = "plain_black",
"Plain White" = "plain_white",
"Monotile" = "monotile",
"Tiles" = "tile",
"Dark Tiles" = "dark_tile",
"Freezer Tiles" = "freezer_tile",
"Reinforced Tiles" = "reinforced",
"Wood Floor" = "wood",
"Grass" = "grass",
"Red Carpet" = "carpet_red",
"Cyan Carpet" = "carpet_cyan",
"Green Carpet" = "carpet_green",
"Purple Carpet" = "carpet_purple",
"Magenta Carpet" = "carpet_magenta",
"Rubber Carpet" = "carpet_rubber",
"Blue Circuits" = "circuit_blue",
"Green Circuits" = "circuit_green",
"Asteroid Turf" = "asteroid",
"Desert Turf" = "desert",
"Space" = "space"
)
var/fov_cone_alpha = 255
@@ -283,7 +291,7 @@ var/list/preferences_datums = list()
BG = new
BG.appearance_flags = TILE_BOUND|PIXEL_SCALE|NO_CLIENT_COLOR
BG.layer = TURF_LAYER
BG.icon = 'icons/turf/flooring/tiles.dmi'
BG.icon = 'icons/turf/flooring/character_preview.dmi'
LAZYSET(char_render_holders, "BG", BG)
client.screen |= BG
BG.icon_state = bgstate