mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 05:30:05 +01:00
Redoing Sprite Accessory (#28497)
* [MIRROR] Moves "sprite accessories" (e.g. Hair, Undergarments, Mutant Bits) from `GLOB` to a datasystem (#2278) * Moves "sprite accessories" (e.g. Hair, Undergarments, Mutant Bits) from `GLOB` to a datasystem * Ugh * . * Continuing merging 82847 to Novas codebase (#3136) done, i hope?? * Taur update * lowercase a in accessories --------- Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Mal <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: Iajret <8430839+Iajret@users.noreply.github.com> * fix * Let's see if this cuts it. * Guess we missed a thing long ago. --------- Co-authored-by: NovaBot <154629622+NovaBot13@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Mal <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: Iajret <8430839+Iajret@users.noreply.github.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
This commit is contained in:
co-authored by
san7890
Mal
Iajret
NovaBot
Useroth
parent
2af5e6ba07
commit
16dc3418ea
@@ -31,11 +31,16 @@ SUBSYSTEM_DEF(accessories) // just 'accessories' for brevity
|
||||
var/list/undershirt_m //! stores only undershirt name
|
||||
var/list/undershirt_f //! stores only undershirt name
|
||||
|
||||
// SKYRAT EDIT ADDITION START - Underwear/bra split
|
||||
var/list/bra_list
|
||||
var/list/bra_m
|
||||
var/list/bra_f
|
||||
// SKYRAT EDIT ADDITION END
|
||||
|
||||
//Socks
|
||||
var/list/socks_list //! stores /datum/sprite_accessory/socks indexed by name
|
||||
|
||||
//SKYRAT EDIT REMOVAL - CUSTOMIZATION
|
||||
/*
|
||||
/* SKYRAT EDIT REMOVAL START - Customization - Moved to sprite_accessories var
|
||||
//Lizard Bits (all datum lists indexed by name)
|
||||
var/list/lizard_markings_list
|
||||
var/list/snouts_list
|
||||
@@ -54,37 +59,32 @@ SUBSYSTEM_DEF(accessories) // just 'accessories' for brevity
|
||||
var/list/wings_open_list
|
||||
var/list/moth_wings_list
|
||||
var/list/moth_antennae_list
|
||||
var/list/moth_markings_list
|
||||
var/list/caps_list
|
||||
*/
|
||||
*/ //SKYRAT EDIT REMOVAL END
|
||||
var/list/moth_markings_list
|
||||
var/list/pod_hair_list
|
||||
|
||||
// SKYRAT EDIT ADDITION START - Customization
|
||||
var/list/sprite_accessories
|
||||
|
||||
/// Stores all /datum/sprite_accessory/bra indexed by name.
|
||||
var/list/bra_list
|
||||
/// Stores only the bra names for male-compatible bras.
|
||||
var/list/bra_m
|
||||
/// Stores only the bra names for female-compatible bras.
|
||||
var/list/bra_f
|
||||
|
||||
/// Shroom caps.
|
||||
var/list/caps_list
|
||||
/// Stores moth wings, both open and closed
|
||||
var/list/moth_wings_list
|
||||
/// Monkey tail list
|
||||
var/list/tails_list_monkey
|
||||
/// Lizard Marking list
|
||||
var/list/lizard_markings_list
|
||||
/// All the different scream types
|
||||
var/list/scream_types
|
||||
//SKYRAT EDIT END
|
||||
var/list/tails_list_monkey
|
||||
var/list/caps_list
|
||||
var/list/moth_wings_list
|
||||
|
||||
var/list/sprite_accessories = list()
|
||||
var/list/genetic_accessories = list()
|
||||
var/list/generic_accessories = list()
|
||||
|
||||
var/list/cached_mutant_icon_files = list()
|
||||
|
||||
// we are loading them along with sprite_accessories, so they can't be GLOB :(
|
||||
var/dna_total_feature_blocks = DNA_MANDATORY_COLOR_BLOCKS
|
||||
var/list/dna_mutant_bodypart_blocks = list()
|
||||
var/list/features_block_lengths = list()
|
||||
// SKYRAT EDIT ADDITION END
|
||||
|
||||
/datum/controller/subsystem/accessories/PreInit() // this stuff NEEDS to be set up before GLOB for preferences and stuff to work so this must go here. sorry
|
||||
setup_lists()
|
||||
init_hair_gradients()
|
||||
make_sprite_accessory_references() // SKYRAT EDIT ADDITION - Customization
|
||||
|
||||
/// Sets up all of the lists for later utilization in the round and building sprites.
|
||||
/// In an ideal world we could tack everything that just needed `DEFAULT_SPRITE_LIST` into static variables on the top, but due to the initialization order
|
||||
@@ -111,6 +111,13 @@ SUBSYSTEM_DEF(accessories) // just 'accessories' for brevity
|
||||
undershirt_m = undershirt_lists[MALE_SPRITE_LIST]
|
||||
undershirt_f = undershirt_lists[FEMALE_SPRITE_LIST]
|
||||
|
||||
// SKYRAT EDIT ADDITION START - Underwear/bra split
|
||||
var/bra_lists = init_sprite_accessory_subtypes(/datum/sprite_accessory/bra)
|
||||
bra_list = bra_lists[DEFAULT_SPRITE_LIST]
|
||||
bra_m = bra_lists[MALE_SPRITE_LIST]
|
||||
bra_f = bra_lists[FEMALE_SPRITE_LIST]
|
||||
// SKYRAT EDIT ADDITION END
|
||||
|
||||
socks_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/socks)[DEFAULT_SPRITE_LIST]
|
||||
|
||||
/* //SKYRAT EDIT REMOVAL - CUSTOMIZATION
|
||||
@@ -131,27 +138,21 @@ SUBSYSTEM_DEF(accessories) // just 'accessories' for brevity
|
||||
moth_wings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_wings)[DEFAULT_SPRITE_LIST]
|
||||
moth_antennae_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_antennae)[DEFAULT_SPRITE_LIST]
|
||||
moth_markings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_markings)[DEFAULT_SPRITE_LIST]
|
||||
*/ // SKYRAT EDIT REMOVAL END
|
||||
pod_hair_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair)[DEFAULT_SPRITE_LIST]
|
||||
*/
|
||||
// SKYRAT EDIT ADDITION START - Customization
|
||||
tails_list_monkey = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/monkey, add_blank = TRUE)[DEFAULT_SPRITE_LIST]
|
||||
caps_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/caps, add_blank = TRUE)[DEFAULT_SPRITE_LIST]
|
||||
moth_wings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_wings)[DEFAULT_SPRITE_LIST]
|
||||
|
||||
var/bra_lists = init_sprite_accessory_subtypes(/datum/sprite_accessory/bra) // SKYRAT EDIT ADDITION
|
||||
bra_list = bra_lists[DEFAULT_SPRITE_LIST]
|
||||
bra_m = bra_lists[MALE_SPRITE_LIST]
|
||||
bra_f = bra_lists[FEMALE_SPRITE_LIST]
|
||||
|
||||
moth_wings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/wings/moth)[DEFAULT_SPRITE_LIST] // SKYRAT EDIT ADDITION - Customization
|
||||
tails_list_monkey = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/monkey, add_blank = TRUE)[DEFAULT_SPRITE_LIST] // SKYRAT EDIT ADDITION - We don't want monkeys getting randomized non-monkey tails
|
||||
pod_hair_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair, add_blank = TRUE)[DEFAULT_SPRITE_LIST] // SKYRAT EDIT - Customization - ORIGINAL: init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair, GLOB.pod_hair_list)
|
||||
|
||||
caps_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/caps)[DEFAULT_SPRITE_LIST]
|
||||
//SKYRAT EDIT ADDITION BEGIN
|
||||
//Scream types
|
||||
SSaccessories.scream_types = list()
|
||||
for(var/spath in subtypesof(/datum/scream_type))
|
||||
var/datum/scream_type/S = new spath()
|
||||
SSaccessories.scream_types[S.name] = spath
|
||||
sort_list(SSaccessories.scream_types, GLOBAL_PROC_REF(cmp_typepaths_asc))
|
||||
//SKYRAT EDIT END
|
||||
features_block_lengths = list(
|
||||
"[DNA_MUTANT_COLOR_BLOCK]" = DNA_BLOCK_SIZE_COLOR,
|
||||
"[DNA_MUTANT_COLOR_2_BLOCK]" = DNA_BLOCK_SIZE_COLOR,
|
||||
"[DNA_MUTANT_COLOR_3_BLOCK]" = DNA_BLOCK_SIZE_COLOR,
|
||||
"[DNA_ETHEREAL_COLOR_BLOCK]" = DNA_BLOCK_SIZE_COLOR,
|
||||
"[DNA_SKIN_COLOR_BLOCK]" = DNA_BLOCK_SIZE_COLOR,
|
||||
)
|
||||
// SKYRAT EDIT ADDITION END
|
||||
|
||||
/// This proc just intializes all /datum/sprite_accessory/hair_gradient into an list indexed by gradient-style name
|
||||
/datum/controller/subsystem/accessories/proc/init_hair_gradients()
|
||||
|
||||
Reference in New Issue
Block a user