From 1af8fc330f479ef4e886cf07ee882380495d8987 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Mon, 8 Apr 2019 00:10:07 +0200 Subject: [PATCH] Clean up Cel2DecodeLightTrans --- Source/engine.cpp | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/Source/engine.cpp b/Source/engine.cpp index 8d792aad4..840c71bf9 100644 --- a/Source/engine.cpp +++ b/Source/engine.cpp @@ -1421,30 +1421,31 @@ void __fastcall Cel2DecodeHdrLight(int sx, int sy, BYTE *pCelBuff, int nCel, int */ void __fastcall Cel2DecodeLightTrans(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap) { - int hdr, nDataSize, v1, v2; - BYTE *pRLEBytes, *v9; + int nDataStart, nDataSize, nDataCap; + BYTE *pRLEBytes; DWORD *pFrameTable; /// ASSERT: assert(pCelBuff != NULL); if (!pCelBuff) return; - pFrameTable = (DWORD *)&pCelBuff[4 * nCel]; - v9 = &pCelBuff[pFrameTable[0]]; - hdr = *(WORD *)&v9[CelSkip]; - if (!hdr) + pFrameTable = (DWORD *)pCelBuff; + pRLEBytes = &pCelBuff[pFrameTable[nCel]]; + nDataStart = *(WORD *)&pRLEBytes[CelSkip]; + if (!nDataStart) return; - v1 = pFrameTable[1] - pFrameTable[0]; - v2 = *(WORD *)&v9[CelCap]; + nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; + + nDataCap = *(WORD *)&pRLEBytes[CelCap]; if (CelCap == 8) - v2 = 0; - if (v2) - nDataSize = v2 - hdr; + nDataCap = 0; + if (nDataCap) + nDataSize = nDataCap - nDataStart; else - nDataSize = v1 - hdr; + nDataSize -= nDataStart; - pRLEBytes = &v9[hdr]; + pRLEBytes = &pRLEBytes[nDataStart]; if (cel_transparency_active) Cel2DecDatLightTrans(pBuff, pRLEBytes, nDataSize, nWidth);