mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-02-02 03:35:09 +01:00
Rename PaletteBGRA and its members
This commit is contained in:
@@ -183,7 +183,7 @@ public:
|
||||
{
|
||||
for (int32_t i = 0; i < 256; i++)
|
||||
{
|
||||
_paletteHWMapped[i] = SDL_MapRGB(_screenTextureFormat, palette[i].Red, palette[i].Green, palette[i].Blue);
|
||||
_paletteHWMapped[i] = SDL_MapRGB(_screenTextureFormat, palette[i].red, palette[i].green, palette[i].blue);
|
||||
}
|
||||
|
||||
if (Config::Get().general.enableLightFx)
|
||||
@@ -192,7 +192,7 @@ public:
|
||||
for (int32_t i = 0; i < 256; i++)
|
||||
{
|
||||
const auto& src = lightPalette[i];
|
||||
_lightPaletteHWMapped[i] = SDL_MapRGBA(_screenTextureFormat, src.Red, src.Green, src.Blue, src.Alpha);
|
||||
_lightPaletteHWMapped[i] = SDL_MapRGBA(_screenTextureFormat, src.red, src.green, src.blue, src.alpha);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -294,9 +294,9 @@ public:
|
||||
for (int32_t i = 0; i < 256; i++)
|
||||
{
|
||||
SDL_Color colour;
|
||||
colour.r = palette[i].Red;
|
||||
colour.g = palette[i].Green;
|
||||
colour.b = palette[i].Blue;
|
||||
colour.r = palette[i].red;
|
||||
colour.g = palette[i].green;
|
||||
colour.b = palette[i].blue;
|
||||
colour.a = i == 0 ? 0 : 255;
|
||||
|
||||
Palette[i] = colour;
|
||||
|
||||
@@ -209,9 +209,9 @@ namespace OpenRCT2::Imaging
|
||||
for (size_t i = 0; i < PNG_MAX_PALETTE_LENGTH; i++)
|
||||
{
|
||||
const auto& entry = (*image.Palette)[i];
|
||||
png_palette[i].blue = entry.Blue;
|
||||
png_palette[i].green = entry.Green;
|
||||
png_palette[i].red = entry.Red;
|
||||
png_palette[i].blue = entry.blue;
|
||||
png_palette[i].green = entry.green;
|
||||
png_palette[i].red = entry.red;
|
||||
}
|
||||
png_set_PLTE(png_ptr, info_ptr, png_palette, PNG_MAX_PALETTE_LENGTH);
|
||||
}
|
||||
|
||||
@@ -12,16 +12,16 @@ namespace OpenRCT2::Drawing
|
||||
uint8_t red{};
|
||||
};
|
||||
|
||||
struct PaletteBGRA
|
||||
struct BGRAColour
|
||||
{
|
||||
uint8_t Blue{};
|
||||
uint8_t Green{};
|
||||
uint8_t Red{};
|
||||
uint8_t Alpha{};
|
||||
uint8_t blue{};
|
||||
uint8_t green{};
|
||||
uint8_t red{};
|
||||
uint8_t alpha{};
|
||||
};
|
||||
|
||||
constexpr auto kGamePaletteSize = 256u;
|
||||
|
||||
using GamePalette = std::array<PaletteBGRA, kGamePaletteSize>;
|
||||
using GamePalette = std::array<BGRAColour, kGamePaletteSize>;
|
||||
|
||||
} // namespace OpenRCT2::Drawing
|
||||
|
||||
@@ -712,9 +712,9 @@ void GfxTransposePalette(ImageIndex pal, uint8_t product)
|
||||
auto& dst = gGamePalette[index];
|
||||
// Make sure the image never gets darker than the void colour (not-quite-black), to avoid the background colour
|
||||
// jumping between void and 100% black.
|
||||
dst.Blue = std::max<uint8_t>(35, ((src->blue * product) >> 8));
|
||||
dst.Green = std::max<uint8_t>(35, ((src->green * product) >> 8));
|
||||
dst.Red = std::max<uint8_t>(23, ((src->red * product) >> 8));
|
||||
dst.blue = std::max<uint8_t>(35, ((src->blue * product) >> 8));
|
||||
dst.green = std::max<uint8_t>(35, ((src->green * product) >> 8));
|
||||
dst.red = std::max<uint8_t>(23, ((src->red * product) >> 8));
|
||||
src++;
|
||||
|
||||
index++;
|
||||
@@ -750,9 +750,9 @@ void LoadPalette()
|
||||
for (auto numColours = g1->numColours; numColours > 0; numColours--)
|
||||
{
|
||||
auto& dst = gGamePalette[index];
|
||||
dst.Blue = src->blue;
|
||||
dst.Green = src->green;
|
||||
dst.Red = src->red;
|
||||
dst.blue = src->blue;
|
||||
dst.green = src->green;
|
||||
dst.red = src->red;
|
||||
src++;
|
||||
index++;
|
||||
}
|
||||
@@ -882,14 +882,14 @@ FilterPaletteID GetGlassPaletteId(colour_t c)
|
||||
return kGlassPaletteIds[c];
|
||||
}
|
||||
|
||||
void UpdatePalette(std::span<const PaletteBGRA> palette, PaletteIndex startIndex, int32_t numColours)
|
||||
void UpdatePalette(std::span<const BGRAColour> palette, PaletteIndex startIndex, int32_t numColours)
|
||||
{
|
||||
for (int32_t i = EnumValue(startIndex); i < numColours + EnumValue(startIndex); i++)
|
||||
{
|
||||
const auto& colour = palette[i];
|
||||
uint8_t b = colour.Blue;
|
||||
uint8_t g = colour.Green;
|
||||
uint8_t r = colour.Red;
|
||||
uint8_t b = colour.blue;
|
||||
uint8_t g = colour.green;
|
||||
uint8_t r = colour.red;
|
||||
|
||||
if (LightFx::IsAvailable())
|
||||
{
|
||||
@@ -906,17 +906,17 @@ void UpdatePalette(std::span<const PaletteBGRA> palette, PaletteIndex startIndex
|
||||
}
|
||||
}
|
||||
|
||||
gPalette[i].Blue = b;
|
||||
gPalette[i].Green = g;
|
||||
gPalette[i].Red = r;
|
||||
gPalette[i].Alpha = 0;
|
||||
gPalette[i].blue = b;
|
||||
gPalette[i].green = g;
|
||||
gPalette[i].red = r;
|
||||
gPalette[i].alpha = 0;
|
||||
}
|
||||
|
||||
// Fix #1749 and #6535: rainbow path, donut shop and pause button contain black spots that should be white.
|
||||
gPalette[255].Blue = 255;
|
||||
gPalette[255].Green = 255;
|
||||
gPalette[255].Red = 255;
|
||||
gPalette[255].Alpha = 0;
|
||||
gPalette[255].blue = 255;
|
||||
gPalette[255].green = 255;
|
||||
gPalette[255].red = 255;
|
||||
gPalette[255].alpha = 0;
|
||||
|
||||
if (!gOpenRCT2Headless)
|
||||
{
|
||||
@@ -964,9 +964,9 @@ void UpdatePaletteEffects()
|
||||
{
|
||||
auto& paletteOffset = gGamePalette[startIndex + i];
|
||||
const auto& g1PaletteEntry = g1->palette[i];
|
||||
paletteOffset.Blue = -((0xFF - g1PaletteEntry.blue) / 2) - 1;
|
||||
paletteOffset.Green = -((0xFF - g1PaletteEntry.green) / 2) - 1;
|
||||
paletteOffset.Red = -((0xFF - g1PaletteEntry.red) / 2) - 1;
|
||||
paletteOffset.blue = -((0xFF - g1PaletteEntry.blue) / 2) - 1;
|
||||
paletteOffset.green = -((0xFF - g1PaletteEntry.green) / 2) - 1;
|
||||
paletteOffset.red = -((0xFF - g1PaletteEntry.red) / 2) - 1;
|
||||
}
|
||||
|
||||
UpdatePalette(gGamePalette, kPaletteOffsetDynamic, kPaletteLengthDynamic);
|
||||
@@ -994,9 +994,9 @@ void UpdatePaletteEffects()
|
||||
{
|
||||
auto& paletteOffset = gGamePalette[startIndex + i];
|
||||
const auto& g1PaletteEntry = g1->palette[i];
|
||||
paletteOffset.Blue = g1PaletteEntry.blue;
|
||||
paletteOffset.Green = g1PaletteEntry.green;
|
||||
paletteOffset.Red = g1PaletteEntry.red;
|
||||
paletteOffset.blue = g1PaletteEntry.blue;
|
||||
paletteOffset.green = g1PaletteEntry.green;
|
||||
paletteOffset.red = g1PaletteEntry.red;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1030,9 +1030,9 @@ void UpdatePaletteEffects()
|
||||
for (int32_t i = 0; i < n; i++)
|
||||
{
|
||||
auto& vd = gGamePalette[EnumValue(kPaletteOffsetWaterWaves) + i];
|
||||
vd.Blue = g1PaletteEntry->blue;
|
||||
vd.Green = g1PaletteEntry->green;
|
||||
vd.Red = g1PaletteEntry->red;
|
||||
vd.blue = g1PaletteEntry->blue;
|
||||
vd.green = g1PaletteEntry->green;
|
||||
vd.red = g1PaletteEntry->red;
|
||||
g1PaletteEntry += 3;
|
||||
if (g1PaletteEntry >= &g1->palette[3 * n])
|
||||
{
|
||||
@@ -1055,9 +1055,9 @@ void UpdatePaletteEffects()
|
||||
for (int32_t i = 0; i < n; i++)
|
||||
{
|
||||
auto& vd = gGamePalette[EnumValue(kPaletteOffsetWaterSparkles) + i];
|
||||
vd.Blue = src->blue;
|
||||
vd.Green = src->green;
|
||||
vd.Red = src->red;
|
||||
vd.blue = src->blue;
|
||||
vd.green = src->green;
|
||||
vd.red = src->red;
|
||||
src += 3;
|
||||
if (src >= &g1->palette[3 * n])
|
||||
{
|
||||
@@ -1076,9 +1076,9 @@ void UpdatePaletteEffects()
|
||||
for (int32_t i = 0; i < n; i++)
|
||||
{
|
||||
auto& vd = gGamePalette[EnumValue(PaletteIndex::pi243) + i];
|
||||
vd.Blue = src->blue;
|
||||
vd.Green = src->green;
|
||||
vd.Red = src->red;
|
||||
vd.blue = src->blue;
|
||||
vd.green = src->green;
|
||||
vd.red = src->red;
|
||||
src++;
|
||||
if (src >= &g1->palette[3])
|
||||
{
|
||||
|
||||
@@ -333,7 +333,7 @@ void MaskFn(
|
||||
std::optional<uint32_t> GetPaletteG1Index(OpenRCT2::Drawing::FilterPaletteID paletteId);
|
||||
std::optional<PaletteMap> GetPaletteMapForColour(OpenRCT2::Drawing::FilterPaletteID paletteId);
|
||||
void UpdatePalette(
|
||||
std::span<const OpenRCT2::Drawing::PaletteBGRA> palette, OpenRCT2::Drawing::PaletteIndex startIndex, int32_t numColours);
|
||||
std::span<const OpenRCT2::Drawing::BGRAColour> palette, OpenRCT2::Drawing::PaletteIndex startIndex, int32_t numColours);
|
||||
void UpdatePaletteEffects();
|
||||
|
||||
void RefreshVideo();
|
||||
|
||||
@@ -242,9 +242,9 @@ namespace OpenRCT2::Drawing
|
||||
paletteIndex = GetClosestPaletteIndex(palette, rgbaSrc);
|
||||
if (mode == ImportMode::Dithering)
|
||||
{
|
||||
auto dr = rgbaSrc[0] - static_cast<int16_t>(palette[paletteIndex].Red);
|
||||
auto dg = rgbaSrc[1] - static_cast<int16_t>(palette[paletteIndex].Green);
|
||||
auto db = rgbaSrc[2] - static_cast<int16_t>(palette[paletteIndex].Blue);
|
||||
auto dr = rgbaSrc[0] - static_cast<int16_t>(palette[paletteIndex].red);
|
||||
auto dg = rgbaSrc[1] - static_cast<int16_t>(palette[paletteIndex].green);
|
||||
auto db = rgbaSrc[2] - static_cast<int16_t>(palette[paletteIndex].blue);
|
||||
|
||||
// We don't want to dither remappable colours with nonremappable colours, etc
|
||||
PaletteIndexType thisIndexType = GetPaletteIndexType(paletteIndex);
|
||||
@@ -308,8 +308,8 @@ namespace OpenRCT2::Drawing
|
||||
{
|
||||
for (uint32_t i = 0; i < kGamePaletteSize; i++)
|
||||
{
|
||||
if (static_cast<int16_t>(palette[i].Red) == colour[0] && static_cast<int16_t>(palette[i].Green) == colour[1]
|
||||
&& static_cast<int16_t>(palette[i].Blue) == colour[2])
|
||||
if (static_cast<int16_t>(palette[i].red) == colour[0] && static_cast<int16_t>(palette[i].green) == colour[1]
|
||||
&& static_cast<int16_t>(palette[i].blue) == colour[2])
|
||||
{
|
||||
return i;
|
||||
}
|
||||
@@ -368,11 +368,11 @@ namespace OpenRCT2::Drawing
|
||||
{
|
||||
if (IsChangablePixel(x))
|
||||
{
|
||||
uint32_t error = (static_cast<int16_t>(palette[x].Red) - colour[0])
|
||||
* (static_cast<int16_t>(palette[x].Red) - colour[0])
|
||||
+ (static_cast<int16_t>(palette[x].Green) - colour[1])
|
||||
* (static_cast<int16_t>(palette[x].Green) - colour[1])
|
||||
+ (static_cast<int16_t>(palette[x].Blue) - colour[2]) * (static_cast<int16_t>(palette[x].Blue) - colour[2]);
|
||||
uint32_t error = (static_cast<int16_t>(palette[x].red) - colour[0])
|
||||
* (static_cast<int16_t>(palette[x].red) - colour[0])
|
||||
+ (static_cast<int16_t>(palette[x].green) - colour[1])
|
||||
* (static_cast<int16_t>(palette[x].green) - colour[1])
|
||||
+ (static_cast<int16_t>(palette[x].blue) - colour[2]) * (static_cast<int16_t>(palette[x].blue) - colour[2]);
|
||||
|
||||
if (smallestError == static_cast<uint32_t>(-1) || smallestError > error)
|
||||
{
|
||||
|
||||
@@ -1006,11 +1006,11 @@ namespace OpenRCT2::Drawing::LightFx
|
||||
(-overExpose + static_cast<float>(*b) * reduceColourNat * natLightB + envFog * fogB + addLightNatB))));
|
||||
|
||||
auto dstEntry = &gPalette_light[i];
|
||||
dstEntry->Red = static_cast<uint8_t>(
|
||||
dstEntry->red = static_cast<uint8_t>(
|
||||
std::min<float>(0xFF, (static_cast<float>(*r) * reduceColourLit * boost + lightFog) * elecMultR));
|
||||
dstEntry->Green = static_cast<uint8_t>(
|
||||
dstEntry->green = static_cast<uint8_t>(
|
||||
std::min<float>(0xFF, (static_cast<float>(*g) * reduceColourLit * boost + lightFog) * elecMultG));
|
||||
dstEntry->Blue = static_cast<uint8_t>(
|
||||
dstEntry->blue = static_cast<uint8_t>(
|
||||
std::min<float>(0xFF, (static_cast<float>(*b) * reduceColourLit * boost + lightFog) * elecMultB));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,8 +153,8 @@ static PaletteIndex FindClosestPaletteIndex(uint8_t red, uint8_t green, uint8_t
|
||||
for (auto i = PaletteIndex::pi0; i < PaletteIndex::pi230; i = static_cast<PaletteIndex>(EnumValue(i) + 1))
|
||||
{
|
||||
const auto& paletteEntry = gPalette[EnumValue(i)];
|
||||
const int32_t distance = std::pow(paletteEntry.Red - red, 2) + std::pow(paletteEntry.Green - green, 2)
|
||||
+ std::pow(paletteEntry.Blue - blue, 2);
|
||||
const int32_t distance = std::pow(paletteEntry.red - red, 2) + std::pow(paletteEntry.green - green, 2)
|
||||
+ std::pow(paletteEntry.blue - blue, 2);
|
||||
|
||||
if (distance < closestDistance)
|
||||
{
|
||||
@@ -172,9 +172,9 @@ static void InitBlendColourMap()
|
||||
{
|
||||
for (size_t j = i; j < kGamePaletteSize; j++)
|
||||
{
|
||||
uint8_t red = (gPalette[i].Red + gPalette[j].Red) / 2;
|
||||
uint8_t green = (gPalette[i].Green + gPalette[j].Green) / 2;
|
||||
uint8_t blue = (gPalette[i].Blue + gPalette[j].Blue) / 2;
|
||||
uint8_t red = (gPalette[i].red + gPalette[j].red) / 2;
|
||||
uint8_t green = (gPalette[i].green + gPalette[j].green) / 2;
|
||||
uint8_t blue = (gPalette[i].blue + gPalette[j].blue) / 2;
|
||||
|
||||
auto colour = FindClosestPaletteIndex(red, green, blue);
|
||||
BlendColourMap[i][j] = colour;
|
||||
|
||||
Reference in New Issue
Block a user