From 4149ad39f5dfd21bd51a665182da803b20b03fdd Mon Sep 17 00:00:00 2001 From: Blackhawk Date: Sun, 26 Dec 2021 13:30:12 +0100 Subject: [PATCH] Fix mipmap boundary check --- 32blit/types/map.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/32blit/types/map.cpp b/32blit/types/map.cpp index 85dfb2c4d..06a928f51 100644 --- a/32blit/types/map.cpp +++ b/32blit/types/map.cpp @@ -35,8 +35,9 @@ namespace blit { uint16_t mipmap_index = floorf(mipmap); uint8_t blend = (mipmap - floorf(mipmap)) * 255; - mipmap_index = mipmap_index >= sprites->mipmaps.size() ? uint16_t(sprites->mipmaps.size() - 1) : mipmap_index; - mipmap_index = mipmap_index < 0 ? 0 : mipmap_index; + if (mipmap_index >= sprites->mipmaps.size()) { + mipmap_index = int32_t(sprites->mipmaps.size()) - 1 < 0 ? 0 : uint16_t(sprites->mipmaps.size() - 1); + } dest->alpha = 255; texture_span(dest, s, c, sprites->mipmaps[mipmap_index], swc, ewc, mipmap_index);