diff --git a/src/openrct2-ui/windows/Dropdown.cpp b/src/openrct2-ui/windows/Dropdown.cpp index 4d8ea3bad9..67aa3832d8 100644 --- a/src/openrct2-ui/windows/Dropdown.cpp +++ b/src/openrct2-ui/windows/Dropdown.cpp @@ -474,7 +474,7 @@ void WindowDropdownShowColour(WindowBase* w, Widget* widget, uint8_t dropdownCol // Show dropdown WindowDropdownShowImage( w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->height() + 1, dropdownColour, - Dropdown::Flag::StayOpen, COLOUR_COUNT, 12, 12, _appropriateImageDropdownItemsPerRow[COLOR_NUM_ORIGINAL]); + Dropdown::Flag::StayOpen, COLOUR_COUNT, 12, 12, _appropriateImageDropdownItemsPerRow[COLOUR_NUM_ORIGINAL]); gDropdownIsColour = true; gDropdownLastColourHover = -1; diff --git a/src/openrct2/interface/Colour.cpp b/src/openrct2/interface/Colour.cpp index 0c9befc8af..1c7f6e1039 100644 --- a/src/openrct2/interface/Colour.cpp +++ b/src/openrct2/interface/Colour.cpp @@ -37,7 +37,7 @@ enum void ColoursInitMaps() { // Get colour maps from g1 - for (int32_t i = 0; i < 32; i++) + for (int32_t i = 0; i < COLOUR_NUM_ORIGINAL; i++) { const G1Element* g1 = GfxGetG1Element(SPR_PALETTE_2_START + i); if (g1 != nullptr) @@ -56,6 +56,26 @@ void ColoursInitMaps() ColourMapA[i].colour_11 = g1->offset[INDEX_COLOUR_11]; } } + // G2 Palette Init + for (int32_t i = COLOUR_NUM_ORIGINAL; i < COLOUR_COUNT; i++) + { + const G1Element* g1 = GfxGetG1Element(SPR_G2_PAL_REMAP_BEGIN + i - COLOUR_NUM_ORIGINAL); + if (g1 != nullptr) + { + ColourMapA[i].colour_0 = g1->offset[INDEX_COLOUR_0]; + ColourMapA[i].colour_1 = g1->offset[INDEX_COLOUR_1]; + ColourMapA[i].darkest = g1->offset[INDEX_DARKEST]; + ColourMapA[i].darker = g1->offset[INDEX_DARKER]; + ColourMapA[i].dark = g1->offset[INDEX_DARK]; + ColourMapA[i].mid_dark = g1->offset[INDEX_MID_DARK]; + ColourMapA[i].mid_light = g1->offset[INDEX_MID_LIGHT]; + ColourMapA[i].light = g1->offset[INDEX_LIGHT]; + ColourMapA[i].lighter = g1->offset[INDEX_LIGHTER]; + ColourMapA[i].lightest = g1->offset[INDEX_LIGHTEST]; + ColourMapA[i].colour_10 = g1->offset[INDEX_COLOUR_10]; + ColourMapA[i].colour_11 = g1->offset[INDEX_COLOUR_11]; + } + } } namespace Colour diff --git a/src/openrct2/interface/Colour.h b/src/openrct2/interface/Colour.h index 6bea93cd73..0b67c6ad76 100644 --- a/src/openrct2/interface/Colour.h +++ b/src/openrct2/interface/Colour.h @@ -203,9 +203,7 @@ constexpr uint8_t PALETTE_LENGTH_REMAP = 12; constexpr uint8_t PALETTE_OFFSET_ANIMATED = PALETTE_INDEX_230; constexpr uint8_t PALETTE_LENGTH_ANIMATED = 16; -constexpr uint8_t COLOR_NUM_ORIGINAL = 32; -constexpr uint8_t COLOR_NUM_EXTENDED = 24; -constexpr uint8_t COLOR_NUM_SPECIAL = 2; +constexpr uint8_t COLOUR_NUM_ORIGINAL = 32; #define TEXT_COLOUR_254 (254) #define TEXT_COLOUR_255 (255)