diff --git a/Source/Resource/Sprites/SpriteEncoding.cpp b/Source/Resource/Sprites/SpriteEncoding.cpp index f786e2e5d..288def3f4 100644 --- a/Source/Resource/Sprites/SpriteEncoding.cpp +++ b/Source/Resource/Sprites/SpriteEncoding.cpp @@ -13,16 +13,14 @@ std::uint8_t* CSprRes::EncodeSpriteRuns(const std::uint8_t* pixels, int width, i for (int y = 0; y < height; ++y) { for (int x = 0; x < width; ++x, ++index) { if (pixels[index] == 0) { - if (zeroRun) { - if (++zeroCount >= 255) { - encoded.push_back(static_cast(zeroCount)); - zeroRun = 0; - zeroCount = 0; - } - } else { + if (!zeroRun) { encoded.push_back(0); zeroRun = 1; ++zeroCount; + } else if (++zeroCount >= 255) { + encoded.push_back(static_cast(zeroCount)); + zeroRun = 0; + zeroCount = 0; } } else { if (zeroRun) {