From feb446c3f8aae20b8be29cef0e3160e3d17185a1 Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Wed, 13 Jul 2016 17:14:29 +0600 Subject: [PATCH] Fix checksum calculation for mip-mapped textures. --- src/Textures.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Textures.cpp b/src/Textures.cpp index d9bcaaea..2526ed85 100644 --- a/src/Textures.cpp +++ b/src/Textures.cpp @@ -1170,6 +1170,10 @@ struct TextureParams static u32 _calculateCRC(u32 _t, const TextureParams & _params, u32 _bytes) { + if (_bytes == 0) { + const u32 lineBytes = gSP.textureTile[_t]->line << 3; + _bytes = _params.height*lineBytes; + } const u64 *src = (u64*)&TMEM[gSP.textureTile[_t]->tmem]; u32 crc = 0xFFFFFFFF; crc = CRC_Calculate(crc, src, _bytes);