From 025f467ed2654d2cea4bda9905c7f385015eab9a Mon Sep 17 00:00:00 2001 From: Trevor Finney <8711258+finneyt@users.noreply.github.com> Date: Mon, 20 Feb 2023 12:32:47 -0500 Subject: [PATCH] Use special sprite for Invisible color --- resources/g2/icons/colour_invisible.png | Bin 0 -> 153 bytes resources/g2/sprites.json | 3 +++ src/openrct2-ui/windows/Dropdown.cpp | 6 +++++- src/openrct2/drawing/Drawing.cpp | 2 +- src/openrct2/interface/Colour.cpp | 2 +- src/openrct2/sprites.h | 3 ++- 6 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 resources/g2/icons/colour_invisible.png diff --git a/resources/g2/icons/colour_invisible.png b/resources/g2/icons/colour_invisible.png new file mode 100644 index 0000000000000000000000000000000000000000..af1c4fd57a07971cb7f32726ec7d82c1c8c9db9f GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!pq{6TV~9p@GDG9_&(Hs}CmOJGaD4P+Uh;xv tWopwVc43K+bqt&e(hcX*6A}^_81C^HwVR8S1_O06c)I$ztaD0e0syV-D7pXu literal 0 HcmV?d00001 diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index d47d64bc25..82c4e825c2 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -20588,6 +20588,9 @@ "x_offset": -5, "y_offset": -20, "palette": "keep" + }, + { + "path": "icons/colour_invisible.png" }, { "path": "palette_map/palette_map_dark_olive_dark.png" diff --git a/src/openrct2-ui/windows/Dropdown.cpp b/src/openrct2-ui/windows/Dropdown.cpp index 67aa3832d8..cfa070c6c7 100644 --- a/src/openrct2-ui/windows/Dropdown.cpp +++ b/src/openrct2-ui/windows/Dropdown.cpp @@ -467,8 +467,12 @@ void WindowDropdownShowColour(WindowBase* w, Widget* widget, uint8_t dropdownCol if (selectedColour == COLOUR_UI_ORDER[i]) defaultIndex = selectedColour; + // Use special graphic for Invisible color + auto imageId = (i == COLOUR_INVISIBLE) ? ImageId(SPR_G2_ICON_PALETTE_INVISIBLE, COLOUR_BORDEAUX_RED) + : ImageId(SPR_PALETTE_BTN, COLOUR_UI_ORDER[i]); + gDropdownItems[i].Format = Dropdown::FormatColourPicker; - gDropdownItems[i].Args = (i << 32) | ImageId(SPR_PALETTE_BTN, COLOUR_UI_ORDER[i]).ToUInt32(); + gDropdownItems[i].Args = (i << 32) | imageId.ToUInt32(); } // Show dropdown diff --git a/src/openrct2/drawing/Drawing.cpp b/src/openrct2/drawing/Drawing.cpp index 821b205244..ba66caed90 100644 --- a/src/openrct2/drawing/Drawing.cpp +++ b/src/openrct2/drawing/Drawing.cpp @@ -296,7 +296,7 @@ enum // Start of G2 Palettes - SPR_PALETTE_DARK_OLIVE_DARK = 32607, + SPR_PALETTE_DARK_OLIVE_DARK = SPR_G2_PAL_REMAP_DARK_OLIVE_DARK, SPR_PALETTE_DARK_OLIVE_LIGHT, SPR_PALETTE_SATURATED_BROWN_LIGHT, SPR_PALETTE_BORDEAUX_RED_DARK, diff --git a/src/openrct2/interface/Colour.cpp b/src/openrct2/interface/Colour.cpp index 04981f08c9..bf6acc8e77 100644 --- a/src/openrct2/interface/Colour.cpp +++ b/src/openrct2/interface/Colour.cpp @@ -59,7 +59,7 @@ void ColoursInitMaps() // G2 Palette Init for (int32_t i = COLOUR_NUM_ORIGINAL; i < COLOUR_COUNT; i++) { - const G1Element* g1 = GfxGetG1Element(SPR_G2_PALETTE_BEGIN + i - COLOUR_NUM_ORIGINAL); + const G1Element* g1 = GfxGetG1Element(SPR_G2_PALETTE_BEGIN + i - (COLOUR_NUM_ORIGINAL - 1)); if (g1 != nullptr) { ColourMapA[i].colour_0 = g1->offset[INDEX_COLOUR_0]; diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index 2da7fba9d5..76eba2ebbd 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -1364,7 +1364,8 @@ enum SPR_G2_ALPINE_LIFT_TRACK_GENTLE_DIAGONAL = SPR_G2_ALPINE_LIFT_TRACK_FLAT_DIAGONAL + 4, SPR_G2_ALPINE_END = SPR_G2_ALPINE_LIFT_TRACK_GENTLE_DIAGONAL + 12, - SPR_G2_PALETTE_BEGIN = SPR_G2_ALPINE_END, + SPR_G2_ICON_PALETTE_INVISIBLE, + SPR_G2_PALETTE_BEGIN = SPR_G2_ICON_PALETTE_INVISIBLE, SPR_G2_PAL_REMAP_DARK_OLIVE_DARK, SPR_G2_PAL_REMAP_DARK_OLIVE_LIGHT, SPR_G2_PAL_REMAP_SATURATED_BROWN_LIGHT,