Files
AlanandGitHub 392202d691 Add new sprites and coloring methods for basic jumpsuits. (#31568)
* Add new sprites and coloring methods for basic jumpsuits.

* Move palettes to dye_registry.dm. Add palette keys to jumpskirts.

* Add colored inhands, inventory sprites, icon and palette updates.

* Add jumpskirt item sprite.

* Add prisoner jumpsuit, psychedelic jumpsuit, random jumpskirt.
- Add new sprites for prisoner jumpsuits, skirts, and their rolldowns.
- Generate psychedelic jumpsuit icon in code, using colors it was originally composed of overlayed on the white jumpsuit.
- Add psychedelic jumpskirt, rolldowns, and inhands, since they are now easy to generate.
- Add a subtype for random jumpskirts patterned after random jumpsuits.
- Tweak orange color palette.
- Ensure randomized jumpsuits and skirts get the proper names and descriptions.

* Add dummy psychedelic suit sprites to satisfy linters.

* Attempt dyeing. Cleanup icon states. Update references.
- Moves jumpsuit coloring out of human_update_icons.dm to color.dm and updates dyeing.dm to hopefully enable dyeing. In the current state it only colors object sprites properly.
- Deletes icon states that will no longer be used for each solid color jumpsuit.
- Updates references to old icon states in datacore.dm, character.dm, and chameleon.dm to the white icon with a swapped palette where possible.

* Thanks, linters.

* Thanks, linters. part 2

* Fix dyeing. Add misc prison jumpsuit sprites.

* Dye chameleon jumpsuit when it mimics colored jumpsuit.

* Eliminate chameleon lag by caching jumpsuit icons.

* Add missing keyword args. Thanks, linters.

* Replace resistance flags in black jumpsuit.

Signed-off-by: Alan <alfalfascout@users.noreply.github.com>

* Tweak jumpskirt shading on south humans and greys.

---------

Signed-off-by: Alan <alfalfascout@users.noreply.github.com>
2026-03-22 22:24:02 +00:00

393 lines
19 KiB
Plaintext

/*
* Dye Registry
*
* This is the easiest way to expand the range of dyeable clothes in-game.
* Adding an entry to one of the registry lists allows all types with that dyeing_key to
* be dyed to one of the included paths (given a specific dye key) unless otherwise precluded
* by setting dyeable to FALSE
*
* For example, /obj/item/clothing/under dyeing_key is set to
*/
//dye registry, add dye colors and their resulting output here if you want the sprite to change
GLOBAL_LIST_INIT(dye_registry, list(
DYE_REGISTRY_UNDER = list(
DYE_RED = /obj/item/clothing/under/color/red,
DYE_ORANGE = /obj/item/clothing/under/color/orange,
DYE_YELLOW = /obj/item/clothing/under/color/yellow,
DYE_GREEN = /obj/item/clothing/under/color/green,
DYE_BLUE = /obj/item/clothing/under/color/blue,
DYE_LIGHTPURPLE = /obj/item/clothing/under/color/lightpurple,
DYE_BLACK = /obj/item/clothing/under/color/black,
DYE_WHITE = /obj/item/clothing/under/color/white,
DYE_PURPLE = /obj/item/clothing/under/color/purple,
DYE_PINK = /obj/item/clothing/under/color/pink,
DYE_YELLOWGREEN = /obj/item/clothing/under/color/yellowgreen,
DYE_LIGHTBLUE = /obj/item/clothing/under/color/lightblue,
DYE_LIGHTRED = /obj/item/clothing/under/color/lightred,
DYE_RAINBOW = /obj/item/clothing/under/color/rainbow,
DYE_MIME = /obj/item/clothing/under/rank/civilian/mime,
DYE_CLOWN = /obj/item/clothing/under/rank/civilian/clown,
DYE_QM = /obj/item/clothing/under/rank/cargo/qm,
DYE_LAW = /obj/item/clothing/under/suit/black,
DYE_CAPTAIN = /obj/item/clothing/under/rank/captain,
DYE_HOP = /obj/item/clothing/under/rank/civilian/hop,
DYE_HOS = /obj/item/clothing/under/rank/security/head_of_security,
DYE_CE = /obj/item/clothing/under/rank/engineering/chief_engineer,
DYE_RD = /obj/item/clothing/under/rank/rnd/rd,
DYE_CMO = /obj/item/clothing/under/rank/medical/cmo,
DYE_SYNDICATE = /obj/item/clothing/under/syndicate,
DYE_CENTCOM = /obj/item/clothing/under/rank/centcom/commander,
),
DYE_REGISTRY_JUMPSKIRT = list(
DYE_RED = /obj/item/clothing/under/color/jumpskirt/red,
DYE_ORANGE = /obj/item/clothing/under/color/jumpskirt/orange,
DYE_YELLOW = /obj/item/clothing/under/color/jumpskirt/yellow,
DYE_GREEN = /obj/item/clothing/under/color/jumpskirt/green,
DYE_BLUE = /obj/item/clothing/under/color/jumpskirt/blue,
DYE_LIGHTPURPLE = /obj/item/clothing/under/color/jumpskirt/lightpurple,
DYE_BLACK = /obj/item/clothing/under/color/jumpskirt/black,
DYE_WHITE = /obj/item/clothing/under/color/jumpskirt/white,
DYE_PURPLE = /obj/item/clothing/under/color/jumpskirt/purple,
DYE_PINK = /obj/item/clothing/under/color/jumpskirt/pink,
DYE_YELLOWGREEN = /obj/item/clothing/under/color/jumpskirt/yellowgreen,
DYE_LIGHTBLUE = /obj/item/clothing/under/color/jumpskirt/lightblue,
DYE_LIGHTRED = /obj/item/clothing/under/color/jumpskirt/lightred,
DYE_RAINBOW = /obj/item/clothing/under/color/jumpskirt/rainbow,
DYE_MIME = /obj/item/clothing/under/rank/civilian/mime/skirt,
DYE_QM = /obj/item/clothing/under/rank/cargo/qm/skirt,
DYE_CAPTAIN = /obj/item/clothing/under/rank/captain/skirt,
DYE_HOP = /obj/item/clothing/under/rank/civilian/hop/skirt,
DYE_HOS = /obj/item/clothing/under/rank/security/head_of_security/skirt,
DYE_CE = /obj/item/clothing/under/rank/engineering/chief_engineer/skirt,
DYE_RD = /obj/item/clothing/under/rank/rnd/rd/skirt,
DYE_CMO = /obj/item/clothing/under/rank/medical/cmo/skirt,
),
DYE_REGISTRY_GLOVES = list(
DYE_RED = /obj/item/clothing/gloves/color/red,
DYE_LIGHTRED = /obj/item/clothing/gloves/color/red,
DYE_ORANGE = /obj/item/clothing/gloves/color/orange,
DYE_YELLOW = /obj/item/clothing/gloves/color/yellow,
DYE_GREEN = /obj/item/clothing/gloves/color/green,
DYE_BLUE = /obj/item/clothing/gloves/color/blue,
DYE_LIGHTBLUE = /obj/item/clothing/gloves/color/blue,
DYE_PURPLE = /obj/item/clothing/gloves/color/purple,
DYE_LIGHTPURPLE = /obj/item/clothing/gloves/color/purple,
DYE_BLACK = /obj/item/clothing/gloves/color/black,
DYE_WHITE = /obj/item/clothing/gloves/color/white,
DYE_RAINBOW = /obj/item/clothing/gloves/color/rainbow,
DYE_MIME = /obj/item/clothing/gloves/color/white,
DYE_CLOWN = /obj/item/clothing/gloves/color/rainbow,
DYE_QM = /obj/item/clothing/gloves/color/brown,
DYE_CAPTAIN = /obj/item/clothing/gloves/color/blue,
DYE_HOP = /obj/item/clothing/gloves/color/grey,
DYE_HOS = /obj/item/clothing/gloves/color/black,
DYE_CE = /obj/item/clothing/gloves/color/yellow,
DYE_RD = /obj/item/clothing/gloves/color/grey,
DYE_CMO = /obj/item/clothing/gloves/color/blue,
DYE_SYNDICATE = /obj/item/clothing/gloves/combat,
DYE_CENTCOM = /obj/item/clothing/gloves/combat,
),
DYE_REGISTRY_BANDANA = list(
DYE_RED = /obj/item/clothing/mask/bandana/red,
DYE_LIGHTRED = /obj/item/clothing/mask/bandana/red,
DYE_ORANGE = /obj/item/clothing/mask/bandana/orange,
DYE_YELLOW = /obj/item/clothing/mask/bandana/gold,
DYE_GREEN = /obj/item/clothing/mask/bandana/green,
DYE_BLUE = /obj/item/clothing/mask/bandana/blue,
DYE_LIGHTBLUE = /obj/item/clothing/mask/bandana/blue,
DYE_PURPLE = /obj/item/clothing/mask/bandana/purple,
DYE_LIGHTPURPLE = /obj/item/clothing/mask/bandana/purple,
DYE_BLACK = /obj/item/clothing/mask/bandana/black,
),
DYE_REGISTRY_BEANIE = list(
DYE_BLACK = /obj/item/clothing/head/beanie/black,
DYE_WHITE = /obj/item/clothing/head/beanie,
DYE_RED = /obj/item/clothing/head/beanie/red,
DYE_LIGHTRED = /obj/item/clothing/head/beanie/stripedred,
DYE_GREEN = /obj/item/clothing/head/beanie/green,
DYE_CAPTAIN = /obj/item/clothing/head/beanie/darkblue,
DYE_NTREP = /obj/item/clothing/head/beanie/darkblue,
DYE_PURPLE = /obj/item/clothing/head/beanie/purple,
DYE_LIGHTPURPLE = /obj/item/clothing/head/beanie/purple,
DYE_RD = /obj/item/clothing/head/beanie/purple,
DYE_YELLOW = /obj/item/clothing/head/beanie/yellow,
DYE_CE = /obj/item/clothing/head/beanie/orange,
DYE_ORANGE = /obj/item/clothing/head/beanie/orange,
DYE_CMO = /obj/item/clothing/head/beanie/cyan,
DYE_BLUE = /obj/item/clothing/head/beanie/cyan,
DYE_LIGHTBLUE = /obj/item/clothing/head/beanie/stripedblue,
DYE_YELLOWGREEN = /obj/item/clothing/head/beanie/stripedgreen,
),
DYE_REGISTRY_HEADSCARF = list(
DYE_BLACK = /obj/item/clothing/head/headscarf/black,
DYE_WHITE = /obj/item/clothing/head/headscarf,
DYE_RED = /obj/item/clothing/head/headscarf/red,
DYE_LIGHTRED = /obj/item/clothing/head/headscarf/red,
DYE_GREEN = /obj/item/clothing/head/headscarf/green,
DYE_CAPTAIN = /obj/item/clothing/head/headscarf/darkblue,
DYE_NTREP = /obj/item/clothing/head/headscarf/darkblue,
DYE_PURPLE = /obj/item/clothing/head/headscarf/purple,
DYE_LIGHTPURPLE = /obj/item/clothing/head/headscarf/purple,
DYE_RD = /obj/item/clothing/head/headscarf/purple,
DYE_YELLOW = /obj/item/clothing/head/headscarf/yellow,
DYE_CE = /obj/item/clothing/head/headscarf/orange,
DYE_ORANGE = /obj/item/clothing/head/headscarf/orange,
DYE_CMO = /obj/item/clothing/head/headscarf/cyan,
DYE_BLUE = /obj/item/clothing/head/headscarf/cyan,
DYE_LIGHTBLUE = /obj/item/clothing/head/headscarf/cyan,
),
DYE_REGISTRY_SHOES = list(
DYE_RED = /obj/item/clothing/shoes/red,
DYE_LIGHTRED = /obj/item/clothing/shoes/red,
DYE_ORANGE = /obj/item/clothing/shoes/orange,
DYE_YELLOW = /obj/item/clothing/shoes/yellow,
DYE_GREEN = /obj/item/clothing/shoes/green,
DYE_BLUE = /obj/item/clothing/shoes/blue,
DYE_LIGHTBLUE = /obj/item/clothing/shoes/blue,
DYE_PURPLE = /obj/item/clothing/shoes/purple,
DYE_LIGHTPURPLE = /obj/item/clothing/shoes/purple,
DYE_PINK = /obj/item/clothing/shoes/purple,
DYE_BLACK = /obj/item/clothing/shoes/black,
DYE_WHITE = /obj/item/clothing/shoes/white,
DYE_RAINBOW = /obj/item/clothing/shoes/rainbow,
DYE_MIME = /obj/item/clothing/shoes/black,
DYE_CLOWN = /obj/item/clothing/shoes/rainbow,
DYE_QM = /obj/item/clothing/shoes/brown,
DYE_CAPTAIN = /obj/item/clothing/shoes/brown,
DYE_HOP = /obj/item/clothing/shoes/brown,
DYE_CE = /obj/item/clothing/shoes/brown,
DYE_RD = /obj/item/clothing/shoes/brown,
DYE_CMO = /obj/item/clothing/shoes/brown,
DYE_SYNDICATE = /obj/item/clothing/shoes/combat,
DYE_CENTCOM = /obj/item/clothing/shoes/combat,
),
DYE_REGISTRY_FANNYPACK = list(
DYE_RED = /obj/item/storage/belt/fannypack/red,
DYE_LIGHTRED = /obj/item/storage/belt/fannypack/red,
DYE_ORANGE = /obj/item/storage/belt/fannypack/orange,
DYE_YELLOW = /obj/item/storage/belt/fannypack/yellow,
DYE_GREEN = /obj/item/storage/belt/fannypack/green,
DYE_BLUE = /obj/item/storage/belt/fannypack/blue,
DYE_LIGHTBLUE = /obj/item/storage/belt/fannypack/cyan,
DYE_PURPLE = /obj/item/storage/belt/fannypack/purple,
DYE_LIGHTPURPLE = /obj/item/storage/belt/fannypack/purple,
DYE_PINK = /obj/item/storage/belt/fannypack/pink,
DYE_BLACK = /obj/item/storage/belt/fannypack/black,
DYE_WHITE = /obj/item/storage/belt/fannypack/white,
DYE_SYNDICATE = /obj/item/storage/belt/military,
),
DYE_REGISTRY_BEDSHEET = list(
DYE_RED = /obj/item/bedsheet/red,
DYE_LIGHTRED = /obj/item/bedsheet/red,
DYE_ORANGE = /obj/item/bedsheet/orange,
DYE_YELLOW = /obj/item/bedsheet/yellow,
DYE_GREEN = /obj/item/bedsheet/green,
DYE_BLUE = /obj/item/bedsheet/blue,
DYE_LIGHTBLUE = /obj/item/bedsheet/blue,
DYE_PURPLE = /obj/item/bedsheet/purple,
DYE_LIGHTPURPLE = /obj/item/bedsheet/purple,
DYE_BLACK = /obj/item/bedsheet/black,
DYE_WHITE = /obj/item/bedsheet,
DYE_RAINBOW = /obj/item/bedsheet/rainbow,
DYE_MIME = /obj/item/bedsheet/mime,
DYE_CLOWN = /obj/item/bedsheet/clown,
DYE_QM = /obj/item/bedsheet/qm,
DYE_LAW = /obj/item/bedsheet/black,
DYE_CAPTAIN = /obj/item/bedsheet/captain,
DYE_HOP = /obj/item/bedsheet/hop,
DYE_HOS = /obj/item/bedsheet/hos,
DYE_CE = /obj/item/bedsheet/ce,
DYE_RD = /obj/item/bedsheet/rd,
DYE_CMO = /obj/item/bedsheet/cmo,
DYE_SYNDICATE = /obj/item/bedsheet/syndie,
DYE_CENTCOM = /obj/item/bedsheet/centcom,
),
DYE_REGISTRY_BOMBER = list(
DYE_RED = /obj/item/clothing/suit/jacket/bomber/sec,
DYE_LIGHTRED = /obj/item/clothing/suit/jacket/bomber/chem,
DYE_ORANGE = /obj/item/clothing/suit/jacket/bomber/chem,
DYE_YELLOW = /obj/item/clothing/suit/jacket/bomber/engi,
DYE_GREEN = /obj/item/clothing/suit/jacket/bomber/hydro,
DYE_BLUE = /obj/item/clothing/suit/jacket/bomber/atmos,
DYE_PURPLE = /obj/item/clothing/suit/jacket/bomber/sci,
DYE_LIGHTPURPLE = /obj/item/clothing/suit/jacket/bomber/sci,
DYE_BLACK = /obj/item/clothing/suit/jacket/bomber/coroner,
DYE_WHITE = /obj/item/clothing/suit/jacket/bomber/med,
DYE_LIGHTBLUE = /obj/item/clothing/suit/jacket/bomber/med,
DYE_SYNDICATE = /obj/item/clothing/suit/jacket/bomber/syndicate
),
DYE_REGISTRY_PLASMAMEN = list(
DYE_RED = /obj/item/clothing/under/plasmaman/security,
DYE_ORANGE = /obj/item/clothing/under/plasmaman,
DYE_YELLOW = /obj/item/clothing/under/plasmaman/engineering,
DYE_GREEN = /obj/item/clothing/under/plasmaman/botany,
DYE_BLUE = /obj/item/clothing/under/plasmaman/atmospherics,
DYE_PURPLE = /obj/item/clothing/under/plasmaman/janitor,
DYE_LIGHTPURPLE = /obj/item/clothing/under/plasmaman/janitor,
DYE_BLACK = /obj/item/clothing/under/plasmaman/robotics,
DYE_WHITE = /obj/item/clothing/under/plasmaman/chef/bw,
DYE_LIGHTRED = /obj/item/clothing/under/plasmaman/chef,
DYE_LIGHTBLUE = /obj/item/clothing/under/plasmaman/chaplain/blue,
DYE_PINK = /obj/item/clothing/under/plasmaman/genetics,
DYE_MIME = /obj/item/clothing/under/plasmaman/mime,
DYE_CLOWN = /obj/item/clothing/under/plasmaman/clown,
DYE_QM = /obj/item/clothing/under/plasmaman/cargo,
DYE_LAW = /obj/item/clothing/under/plasmaman/security/warden,
DYE_CAPTAIN = /obj/item/clothing/under/plasmaman/captain,
DYE_HOP = /obj/item/clothing/under/plasmaman/hop,
DYE_HOS =/obj/item/clothing/under/plasmaman/security/hos,
DYE_CE = /obj/item/clothing/under/plasmaman/engineering/ce,
DYE_RD = /obj/item/clothing/under/plasmaman/rd,
DYE_CMO = /obj/item/clothing/under/plasmaman/cmo,
),
DYE_REGISTRY_PLASMAMEN_HELMET = list(
DYE_RED = /obj/item/clothing/head/helmet/space/plasmaman/security,
DYE_ORANGE = /obj/item/clothing/head/helmet/space/plasmaman,
DYE_YELLOW = /obj/item/clothing/head/helmet/space/plasmaman/engineering,
DYE_GREEN = /obj/item/clothing/head/helmet/space/plasmaman/botany,
DYE_BLUE = /obj/item/clothing/head/helmet/space/plasmaman/atmospherics,
DYE_PURPLE = /obj/item/clothing/head/helmet/space/plasmaman/janitor,
DYE_LIGHTPURPLE = /obj/item/clothing/head/helmet/space/plasmaman/janitor,
DYE_BLACK = /obj/item/clothing/head/helmet/space/plasmaman/robotics,
DYE_WHITE = /obj/item/clothing/head/helmet/space/plasmaman/chef,
DYE_LIGHTRED = /obj/item/clothing/head/helmet/space/plasmaman/chaplain/orange,
DYE_LIGHTBLUE = /obj/item/clothing/head/helmet/space/plasmaman/medical,
DYE_PINK = /obj/item/clothing/head/helmet/space/plasmaman/genetics,
DYE_MIME = /obj/item/clothing/head/helmet/space/plasmaman/mime,
DYE_CLOWN = /obj/item/clothing/head/helmet/space/plasmaman/clown,
DYE_QM = /obj/item/clothing/head/helmet/space/plasmaman/cargo,
DYE_LAW = /obj/item/clothing/head/helmet/space/plasmaman/security/warden,
DYE_CAPTAIN = /obj/item/clothing/head/helmet/space/plasmaman/captain,
DYE_HOP = /obj/item/clothing/head/helmet/space/plasmaman/hop,
DYE_HOS =/obj/item/clothing/head/helmet/space/plasmaman/security/hos,
DYE_CE = /obj/item/clothing/head/helmet/space/plasmaman/engineering/ce,
DYE_RD = /obj/item/clothing/head/helmet/space/plasmaman/rd,
DYE_CMO = /obj/item/clothing/head/helmet/space/plasmaman/cmo,
),
DYE_REGISTRY_VOID_SUIT = list(
DYE_RED = /obj/item/clothing/suit/space/void,
DYE_LIGHTRED = /obj/item/clothing/suit/space/void,
DYE_GREEN = /obj/item/clothing/suit/space/void/green,
DYE_BLUE = /obj/item/clothing/suit/space/void/ltblue,
DYE_LIGHTBLUE = /obj/item/clothing/suit/space/void/ltblue,
DYE_PURPLE = /obj/item/clothing/suit/space/void/purple,
DYE_LIGHTPURPLE = /obj/item/clothing/suit/space/void/purple,
DYE_YELLOW = /obj/item/clothing/suit/space/void/yellow,
DYE_CAPTAIN = /obj/item/clothing/suit/space/void/captain,
DYE_SYNDICATE = /obj/item/clothing/suit/space/void/syndi,
DYE_HOP = /obj/item/clothing/suit/space/void/ntblue,
DYE_NTREP = /obj/item/clothing/suit/space/void/ntblue,
),
DYE_REGISTRY_VOID_HELMET = list(
DYE_RED = /obj/item/clothing/head/helmet/space/void,
DYE_LIGHTRED = /obj/item/clothing/head/helmet/space/void,
DYE_GREEN = /obj/item/clothing/head/helmet/space/void/green,
DYE_BLUE = /obj/item/clothing/head/helmet/space/void/ltblue,
DYE_LIGHTBLUE = /obj/item/clothing/head/helmet/space/void/ltblue,
DYE_PURPLE = /obj/item/clothing/head/helmet/space/void/purple,
DYE_LIGHTPURPLE = /obj/item/clothing/head/helmet/space/void/purple,
DYE_YELLOW = /obj/item/clothing/head/helmet/space/void/yellow,
DYE_CAPTAIN = /obj/item/clothing/head/helmet/space/void/captain,
DYE_SYNDICATE = /obj/item/clothing/head/helmet/space/void/syndi,
DYE_HOP = /obj/item/clothing/head/helmet/space/void/ntblue,
DYE_NTREP = /obj/item/clothing/head/helmet/space/void/ntblue,
),
DYE_REGISTRY_SYNDICATE_SUIT = list(
DYE_RED = /obj/item/clothing/suit/space/syndicate,
DYE_LIGHTRED = /obj/item/clothing/suit/space/syndicate,
DYE_GREEN = /obj/item/clothing/suit/space/syndicate/green,
DYE_ORANGE = /obj/item/clothing/suit/space/syndicate/orange,
DYE_BLUE = /obj/item/clothing/suit/space/syndicate/blue,
DYE_LIGHTBLUE = /obj/item/clothing/suit/space/syndicate/blue,
DYE_YELLOW = /obj/item/clothing/suit/space/syndicate/black/engie,
DYE_BLACK = /obj/item/clothing/suit/space/syndicate/black,
DYE_CMO = /obj/item/clothing/suit/space/syndicate/black/med,
DYE_CE = /obj/item/clothing/suit/space/syndicate/black/engie,
DYE_NTREP = /obj/item/clothing/suit/space/syndicate/blue,
),
DYE_REGISTRY_SYNDICATE_HELMET = list(
DYE_RED = /obj/item/clothing/head/helmet/space/syndicate,
DYE_LIGHTRED = /obj/item/clothing/head/helmet/space/syndicate,
DYE_GREEN = /obj/item/clothing/head/helmet/space/syndicate/green,
DYE_ORANGE = /obj/item/clothing/head/helmet/space/syndicate/orange,
DYE_BLUE = /obj/item/clothing/head/helmet/space/syndicate/blue,
DYE_LIGHTBLUE = /obj/item/clothing/head/helmet/space/syndicate/blue,
DYE_YELLOW = /obj/item/clothing/head/helmet/space/syndicate/black/engie,
DYE_BLACK = /obj/item/clothing/head/helmet/space/syndicate/black,
DYE_CMO = /obj/item/clothing/head/helmet/space/syndicate/black/med,
DYE_CE = /obj/item/clothing/head/helmet/space/syndicate/black/engie,
DYE_NTREP = /obj/item/clothing/head/helmet/space/syndicate/blue,
),
))
// Palettes for clothing
#define PALETTE_JS_RED list("#4d0d1d", "#7e111e", "#ab312c", "#cb4836")
#define PALETTE_JS_ORANGE list("#651d22", "#9d3720", "#c05425", "#d67a2f")
#define PALETTE_JS_YELLOW list("#733b22", "#9d6025", "#c48c1a", "#d9b114")
#define PALETTE_JS_GREEN list("#112624", "#1c492c", "#2a7330", "#3d9339")
#define PALETTE_JS_BLUE list("#0d1a4d", "#0c3473", "#0e56af", "#2771cb")
#define PALETTE_JS_PURPLE list("#2f0f54", "#571485", "#7f2ea8", "#a043bf")
#define PALETTE_JS_BLACK list("#151414", "#212022", "#2f2e31", "#424144")
#define PALETTE_JS_WHITE list("#6f6f75", "#9da3a3", "#caccca", "#f0efed")
#define PALETTE_JS_DARKBLUE list("#131426", "#1c2649", "#203d65", "#28527a")
#define PALETTE_JS_LIGHTBLUE list("#355780", "#477eb3", "#5fa4cc", "#85c1e6")
#define PALETTE_JS_AQUA list("#285081", "#2d7b9d", "#3badb6", "#5ad2ca")
#define PALETTE_JS_BROWN list("#270806", "#44150e", "#632f18", "#7b4323")
#define PALETTE_JS_LIGHTBROWN list("#814537", "#a86141", "#cb8857", "#dca26a")
#define PALETTE_JS_DARKRED list("#2a0611", "#50091a", "#77161c", "#962525")
#define PALETTE_JS_LIGHTRED list("#853236", "#bd4b4b", "#d9755f", "#ea9275")
#define PALETTE_JS_LIGHTGREEN list("#356241", "#429349", "#66bd5c", "#8dd97e")
#define PALETTE_JS_YELLOWGREEN list("#776934", "#938d45", "#acbd57", "#bddc6e")
#define PALETTE_JS_LIGHTPURPLE list("#564788", "#7e5ac4", "#af77e0", "#ce91ee")
#define PALETTE_JS_PINK list("#853d5b", "#bd5379", "#e07791", "#ee919c")
#define PALETTE_JS_GREY list("#3b363d", "#62626e", "#7e8789", "#9dabab")
GLOBAL_LIST_INIT(palette_registry, list(
DYE_REGISTRY_UNDER = list(
DYE_RED = PALETTE_JS_RED,
DYE_ORANGE = PALETTE_JS_ORANGE,
DYE_YELLOW = PALETTE_JS_YELLOW,
DYE_GREEN = PALETTE_JS_GREEN,
DYE_BLUE = PALETTE_JS_BLUE,
DYE_PURPLE = PALETTE_JS_PURPLE,
DYE_BLACK = PALETTE_JS_BLACK,
DYE_WHITE = PALETTE_JS_WHITE,
DYE_DARKBLUE = PALETTE_JS_DARKBLUE,
DYE_LIGHTBLUE = PALETTE_JS_LIGHTBLUE,
DYE_AQUA = PALETTE_JS_AQUA,
DYE_BROWN = PALETTE_JS_BROWN,
DYE_LIGHTBROWN = PALETTE_JS_LIGHTBROWN,
DYE_DARKRED = PALETTE_JS_DARKRED,
DYE_LIGHTRED = PALETTE_JS_LIGHTRED,
DYE_LIGHTGREEN = PALETTE_JS_LIGHTGREEN,
DYE_YELLOWGREEN = PALETTE_JS_YELLOWGREEN,
DYE_LIGHTPURPLE = PALETTE_JS_LIGHTPURPLE,
DYE_PINK = PALETTE_JS_PINK,
DYE_GREY = PALETTE_JS_GREY,
),
DYE_REGISTRY_JUMPSKIRT = list(
DYE_RED = PALETTE_JS_RED,
DYE_ORANGE = PALETTE_JS_ORANGE,
DYE_YELLOW = PALETTE_JS_YELLOW,
DYE_GREEN = PALETTE_JS_GREEN,
DYE_BLUE = PALETTE_JS_BLUE,
DYE_PURPLE = PALETTE_JS_PURPLE,
DYE_BLACK = PALETTE_JS_BLACK,
DYE_WHITE = PALETTE_JS_WHITE,
DYE_DARKBLUE = PALETTE_JS_DARKBLUE,
DYE_LIGHTBLUE = PALETTE_JS_LIGHTBLUE,
DYE_AQUA = PALETTE_JS_AQUA,
DYE_BROWN = PALETTE_JS_BROWN,
DYE_LIGHTBROWN = PALETTE_JS_LIGHTBROWN,
DYE_DARKRED = PALETTE_JS_DARKRED,
DYE_LIGHTRED = PALETTE_JS_LIGHTRED,
DYE_LIGHTGREEN = PALETTE_JS_LIGHTGREEN,
DYE_YELLOWGREEN = PALETTE_JS_YELLOWGREEN,
DYE_LIGHTPURPLE = PALETTE_JS_LIGHTPURPLE,
DYE_PINK = PALETTE_JS_PINK,
DYE_GREY = PALETTE_JS_GREY,
),
))