From 16b3a96e66c41bb25fd171b06a418ca53684cce1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Fri, 4 Sep 2020 13:40:08 +0200 Subject: [PATCH] Change palette size to PoT square --- .../drawing/engines/opengl/TextureCache.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp b/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp index 51a5dd8f91..db0b7d18dc 100644 --- a/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp +++ b/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp @@ -170,10 +170,13 @@ void TextureCache::CreateTextures() void TextureCache::GeneratePaletteTexture() { - rct_drawpixelinfo dpi = CreateDPI(256, PALETTE_TO_G1_OFFSET_COUNT + 5); + static_assert(PALETTE_TO_G1_OFFSET_COUNT + 5 < 256, "Height of palette too large!"); + constexpr int32_t height = 256; + constexpr int32_t width = height; + rct_drawpixelinfo dpi = CreateDPI(width, height); // Init no-op palette - for (int i = 0; i < 256; ++i) + for (int i = 0; i < width; ++i) { dpi.bits[i] = i; } @@ -191,8 +194,7 @@ void TextureCache::GeneratePaletteTexture() } glBindTexture(GL_TEXTURE_RECTANGLE, _paletteTexture); - glTexImage2D( - GL_TEXTURE_RECTANGLE, 0, GL_R8UI, 256, PALETTE_TO_G1_OFFSET_COUNT + 5, 0, GL_RED_INTEGER, GL_UNSIGNED_BYTE, dpi.bits); + glTexImage2D(GL_TEXTURE_RECTANGLE, 0, GL_R8UI, width, height, 0, GL_RED_INTEGER, GL_UNSIGNED_BYTE, dpi.bits); DeleteDPI(dpi); }