From 7b39bcd412d06f345ca5bf2afddc1deece1fe17d Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 10 Jul 2026 14:30:22 -0400 Subject: [PATCH] Refactor expression for clarity `tileData[realY + 1 % options.bitDepth]` relied on order of operations and the fact that `1 % 1 == 0` but `1 % 2 == 1` for correct indexing. However, it was not obvious at first glance, and confusable with the more common `(base + offset) % size` pattern. (And would need changing anyway if we ever support 4bpp.) --- src/gfx/reverse.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gfx/reverse.cpp b/src/gfx/reverse.cpp index 2054e6e1..30eb97c6 100644 --- a/src/gfx/reverse.cpp +++ b/src/gfx/reverse.cpp @@ -531,7 +531,7 @@ void reverse() { // If vertically mirrored, fetch the bytes from the other end uint8_t realY = (attribute & 0x40 ? 7 - y : y) * options.bitDepth; uint8_t bitplane0 = tileData[realY]; - uint8_t bitplane1 = tileData[realY + 1 % options.bitDepth]; + uint8_t bitplane1 = options.bitDepth == 2 ? tileData[realY + 1] : bitplane0; if (attribute & 0x20) { // Handle horizontal flip bitplane0 = flipTable[bitplane0]; bitplane1 = flipTable[bitplane1];