Browse Source

Clean up CelDecodeHdrLightTrans

pull/88/head
Anders Jenbo 7 years ago
parent
commit
eb90aa182a
  1. 26
      Source/engine.cpp

26
Source/engine.cpp

@ -654,8 +654,8 @@ void __fastcall CelDecodeHdrLightOnly(int sx, int sy, BYTE *pCelBuff, int nCel,
*/ */
void __fastcall CelDecodeHdrLightTrans(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap) void __fastcall CelDecodeHdrLightTrans(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap)
{ {
int hdr, nDataSize, v1, v2; int nDataStart, nDataCap, nDataSize;
BYTE *pRLEBytes, *v9; BYTE *pRLEBytes;
DWORD *pFrameTable; DWORD *pFrameTable;
/// ASSERT: assert(pCelBuff != NULL); /// ASSERT: assert(pCelBuff != NULL);
@ -665,23 +665,23 @@ void __fastcall CelDecodeHdrLightTrans(BYTE *pBuff, BYTE *pCelBuff, int nCel, in
if (!pBuff) if (!pBuff)
return; return;
pFrameTable = (DWORD *)&pCelBuff[4 * nCel]; pFrameTable = (DWORD *)pCelBuff;
v9 = &pCelBuff[pFrameTable[0]]; pRLEBytes = &pCelBuff[pFrameTable[nCel]];
hdr = *(WORD *)&v9[CelSkip]; nDataStart = *(WORD *)&pRLEBytes[CelSkip];
if (!hdr) if (!nDataStart)
return; return;
v1 = pFrameTable[1] - pFrameTable[0]; nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel];
if (CelCap == 8) if (CelCap == 8)
v2 = 0; nDataCap = 0;
else else
v2 = *(WORD *)&v9[CelCap]; nDataCap = *(WORD *)&pRLEBytes[CelCap];
if (v2) if (nDataCap)
nDataSize = v2 - hdr; nDataSize = nDataCap - nDataStart;
else else
nDataSize = v1 - hdr; nDataSize -= nDataStart;
pRLEBytes = &v9[hdr]; pRLEBytes = &pRLEBytes[nDataStart];
if (cel_transparency_active) if (cel_transparency_active)
CelDecDatLightTrans(pBuff, pRLEBytes, nDataSize, nWidth); CelDecDatLightTrans(pBuff, pRLEBytes, nDataSize, nWidth);

Loading…
Cancel
Save