diff --git a/Source/engine.cpp b/Source/engine.cpp index 709e5af9f..4e1184a62 100644 --- a/Source/engine.cpp +++ b/Source/engine.cpp @@ -5,15 +5,15 @@ #pragma warning(disable : 4731) // frame pointer register 'ebp' modified by inline assembly code #endif -char gbPixelCol; // automap pixel color 8-bit (palette entry) +char gbPixelCol; // automap pixel color 8-bit (palette entry) int gbRotateMap; // BOOLEAN flip - if y < x -int orgseed; // weak +int orgseed; // weak int sgnWidth; int sglGameSeed; // weak #ifdef __cplusplus static CCritSect sgMemCrit; #endif -int SeedCount; // weak +int SeedCount; // weak int gbNotInView; // BOOLEAN valid - if x/y are in bounds const int rand_increment = 1; @@ -164,7 +164,7 @@ void CelDecDatOnly(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth) */ void CelDrawHdrOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap) { - int nDataStart, nDataCap, nDataSize; + int nDataStart, nDataSize, nDataCap; BYTE *pRLEBytes; DWORD *pFrameTable; @@ -176,13 +176,14 @@ void CelDrawHdrOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int Ce return; pFrameTable = (DWORD *)pCelBuff; + /// ASSERT: assert(nCel <= (int) pFrameTable[0]); + pRLEBytes = &pCelBuff[pFrameTable[nCel]]; nDataStart = *(WORD *)&pRLEBytes[CelSkip]; if (!nDataStart) return; nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; - if (CelCap == 8) nDataCap = 0; else @@ -205,7 +206,7 @@ void CelDrawHdrOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int Ce */ void CelDecodeHdrOnly(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap) { - int nDataStart, nDataCap, nDataSize; + int nDataStart, nDataSize, nDataCap; BYTE *pRLEBytes; DWORD *pFrameTable; @@ -217,13 +218,14 @@ void CelDecodeHdrOnly(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth, int Cel return; pFrameTable = (DWORD *)pCelBuff; + /// ASSERT: assert(nCel <= (int) pFrameTable[0]); + pRLEBytes = &pCelBuff[pFrameTable[nCel]]; nDataStart = *(WORD *)&pRLEBytes[CelSkip]; if (!nDataStart) return; nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; - if (CelCap == 8) nDataCap = 0; else @@ -610,7 +612,7 @@ void CelDecodeLightOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth) */ void CelDecodeHdrLightOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap) { - int nDataStart, nDataCap, nDataSize; + int nDataStart, nDataSize, nDataCap; BYTE *pRLEBytes, *pDecodeTo; DWORD *pFrameTable; @@ -622,13 +624,14 @@ void CelDecodeHdrLightOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, return; pFrameTable = (DWORD *)pCelBuff; + /// ASSERT: assert(nCel <= (int) pFrameTable[0]); + pRLEBytes = &pCelBuff[pFrameTable[nCel]]; nDataStart = *(WORD *)&pRLEBytes[CelSkip]; if (!nDataStart) return; nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; - if (CelCap == 8) nDataCap = 0; else @@ -654,7 +657,7 @@ void CelDecodeHdrLightOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, */ void CelDecodeHdrLightTrans(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap) { - int nDataStart, nDataCap, nDataSize; + int nDataStart, nDataSize, nDataCap; BYTE *pRLEBytes; DWORD *pFrameTable; @@ -666,13 +669,14 @@ void CelDecodeHdrLightTrans(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth, i return; pFrameTable = (DWORD *)pCelBuff; + /// ASSERT: assert(nCel <= (int) pFrameTable[0]); + pRLEBytes = &pCelBuff[pFrameTable[nCel]]; nDataStart = *(WORD *)&pRLEBytes[CelSkip]; if (!nDataStart) return; nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; - if (CelCap == 8) nDataCap = 0; else @@ -700,8 +704,8 @@ void CelDecodeHdrLightTrans(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth, i */ void CelDrawHdrLightRed(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap, char light) { - int w, idx, nDataStart, nDataCap, nDataSize; - BYTE *src, *dst, *tbl; + int nDataStart, nDataSize, nDataCap, w, idx; + BYTE *pRLEBytes, *dst, *tbl; DWORD *pFrameTable; /// ASSERT: assert(gpBuffer); @@ -712,23 +716,24 @@ void CelDrawHdrLightRed(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, in return; pFrameTable = (DWORD *)pCelBuff; - src = &pCelBuff[pFrameTable[nCel]]; - nDataStart = *(WORD *)&src[CelSkip]; + /// ASSERT: assert(nCel <= (int) pFrameTable[0]); + + pRLEBytes = &pCelBuff[pFrameTable[nCel]]; + nDataStart = *(WORD *)&pRLEBytes[CelSkip]; if (!nDataStart) return; nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; - if (CelCap == 8) nDataCap = 0; else - nDataCap = *(WORD *)&src[CelCap]; + nDataCap = *(WORD *)&pRLEBytes[CelCap]; if (nDataCap) nDataSize = nDataCap - nDataStart; else nDataSize -= nDataStart; - src += nDataStart; + pRLEBytes += nDataStart; dst = &gpBuffer[sx + PitchTbl[sy - 16 * CelSkip]]; idx = light4flag ? 1024 : 4096; @@ -741,7 +746,7 @@ void CelDrawHdrLightRed(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, in #ifdef USE_ASM __asm { - mov esi, src + mov esi, pRLEBytes mov edi, dst mov eax, BUFFER_WIDTH add eax, nWidth @@ -786,16 +791,16 @@ void CelDrawHdrLightRed(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, in BYTE width; BYTE *end; - end = &src[nDataSize]; + end = &pRLEBytes[nDataSize]; - for (; src != end; dst -= BUFFER_WIDTH + nWidth) { + for (; pRLEBytes != end; dst -= BUFFER_WIDTH + nWidth) { for (w = nWidth; w;) { - width = *src++; + width = *pRLEBytes++; if (!(width & 0x80)) { w -= width; while (width) { - *dst = tbl[*src]; - src++; + *dst = tbl[*pRLEBytes]; + pRLEBytes++; dst++; width--; } @@ -930,7 +935,7 @@ void Cel2DecDatOnly(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSize, int nWidth) */ void Cel2DrawHdrOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap) { - int nDataStart, nDataCap, nDataSize; + int nDataStart, nDataSize, nDataCap; BYTE *pRLEBytes; DWORD *pFrameTable; @@ -942,13 +947,14 @@ void Cel2DrawHdrOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int C return; pFrameTable = (DWORD *)pCelBuff; + /// ASSERT: assert(nCel <= (int) pFrameTable[0]); + pRLEBytes = &pCelBuff[pFrameTable[nCel]]; nDataStart = *(WORD *)&pRLEBytes[CelSkip]; if (!nDataStart) return; nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; - if (CelCap == 8) nDataCap = 0; else @@ -971,7 +977,7 @@ void Cel2DrawHdrOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int C */ void Cel2DecodeHdrOnly(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap) { - int nDataStart, nDataCap, nDataSize; + int nDataStart, nDataSize, nDataCap; BYTE *pRLEBytes; DWORD *pFrameTable; @@ -983,6 +989,8 @@ void Cel2DecodeHdrOnly(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth, int Ce return; pFrameTable = (DWORD *)pCelBuff; + /// ASSERT: assert(nCel <= (int) pFrameTable[0]); + pRLEBytes = &pCelBuff[pFrameTable[nCel]]; nDataStart = *(WORD *)&pRLEBytes[CelSkip]; if (!nDataStart) @@ -1380,7 +1388,7 @@ void Cel2DecDatLightTrans(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSize, int n */ void Cel2DecodeHdrLight(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap) { - int nDataStart, nDataCap, nDataSize; + int nDataStart, nDataSize, nDataCap; BYTE *pRLEBytes, *pDecodeTo; DWORD *pFrameTable; @@ -1392,6 +1400,8 @@ void Cel2DecodeHdrLight(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, in return; pFrameTable = (DWORD *)pCelBuff; + /// ASSERT: assert(nCel <= (int) pFrameTable[0]); + pRLEBytes = &pCelBuff[pFrameTable[nCel]]; nDataStart = *(WORD *)&pRLEBytes[CelSkip]; if (!nDataStart) @@ -1423,7 +1433,7 @@ void Cel2DecodeHdrLight(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, in */ void Cel2DecodeLightTrans(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap) { - int nDataStart, nDataCap, nDataSize; + int nDataStart, nDataSize, nDataCap; BYTE *pRLEBytes; DWORD *pFrameTable; @@ -1432,6 +1442,8 @@ void Cel2DecodeLightTrans(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth, int return; pFrameTable = (DWORD *)pCelBuff; + /// ASSERT: assert(nCel <= (int) pFrameTable[0]); + pRLEBytes = &pCelBuff[pFrameTable[nCel]]; nDataStart = *(WORD *)&pRLEBytes[CelSkip]; if (!nDataStart) @@ -1465,8 +1477,8 @@ void Cel2DecodeLightTrans(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth, int */ void Cel2DrawHdrLightRed(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap, char light) { - int w, hdr, idx, nDataSize, v1; - BYTE *src, *dst, *tbl; + int nDataStart, nDataSize, nDataCap, w, idx; + BYTE *pRLEBytes, *dst, *tbl; DWORD *pFrameTable; /// ASSERT: assert(gpBuffer); @@ -1477,22 +1489,22 @@ void Cel2DrawHdrLightRed(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, i return; pFrameTable = (DWORD *)pCelBuff; - src = &pCelBuff[pFrameTable[nCel]]; - hdr = *(WORD *)&src[CelSkip]; - if (!hdr) + pRLEBytes = &pCelBuff[pFrameTable[nCel]]; + nDataStart = *(WORD *)&pRLEBytes[CelSkip]; + if (!nDataStart) return; nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; if (CelCap == 8) - v1 = 0; + nDataCap = 0; else - v1 = *(WORD *)&src[CelCap]; - if (v1) - nDataSize = v1 - hdr; + nDataCap = *(WORD *)&pRLEBytes[CelCap]; + if (nDataCap) + nDataSize = nDataCap - nDataStart; else - nDataSize -= hdr; + nDataSize -= nDataStart; - src += hdr; + pRLEBytes += nDataStart; dst = &gpBuffer[sx + PitchTbl[sy - 16 * CelSkip]]; idx = light4flag ? 1024 : 4096; @@ -1507,7 +1519,7 @@ void Cel2DrawHdrLightRed(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, i w = BUFFER_WIDTH + nWidth; __asm { - mov esi, src + mov esi, pRLEBytes mov edi, dst mov ecx, nDataSize add ecx, esi @@ -1555,22 +1567,22 @@ void Cel2DrawHdrLightRed(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, i BYTE width; BYTE *end; - end = &src[nDataSize]; + end = &pRLEBytes[nDataSize]; - for (; src != end; dst -= BUFFER_WIDTH + nWidth) { + for (; pRLEBytes != end; dst -= BUFFER_WIDTH + nWidth) { for (w = nWidth; w;) { - width = *src++; + width = *pRLEBytes++; if (!(width & 0x80)) { w -= width; if (dst < gpBufEnd) { while (width) { - *dst = tbl[*src]; - src++; + *dst = tbl[*pRLEBytes]; + pRLEBytes++; dst++; width--; } } else { - src += width; + pRLEBytes += width; dst += width; } } else { @@ -1587,7 +1599,7 @@ void Cel2DrawHdrLightRed(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, i void CelDecodeRect(BYTE *pBuff, int CelSkip, int hgt, int wdt, BYTE *pCelBuff, int nCel, int nWidth) { - BYTE *src, *dst, *end; + BYTE *pRLEBytes, *dst, *end; /// ASSERT: assert(pCelBuff != NULL); if (!pCelBuff) @@ -1607,13 +1619,13 @@ void CelDecodeRect(BYTE *pBuff, int CelSkip, int hgt, int wdt, BYTE *pCelBuff, i mov end, eax mov eax, pCelBuff add eax, [ebx] - mov src, eax + mov pRLEBytes, eax } dst = &pBuff[hgt * wdt + CelSkip]; __asm { - mov esi, src + mov esi, pRLEBytes mov edi, dst mov eax, wdt add eax, nWidth @@ -1660,34 +1672,34 @@ void CelDecodeRect(BYTE *pBuff, int CelSkip, int hgt, int wdt, BYTE *pCelBuff, i DWORD *pFrameTable; pFrameTable = (DWORD *)&pCelBuff[4 * nCel]; - src = &pCelBuff[pFrameTable[0]]; - end = &src[pFrameTable[1] - pFrameTable[0]]; + pRLEBytes = &pCelBuff[pFrameTable[0]]; + end = &pRLEBytes[pFrameTable[1] - pFrameTable[0]]; dst = &pBuff[hgt * wdt + CelSkip]; - for (; src != end; dst -= wdt + nWidth) { + for (; pRLEBytes != end; dst -= wdt + nWidth) { for (i = nWidth; i;) { - width = *src++; + width = *pRLEBytes++; if (!(width & 0x80)) { i -= width; if (width & 1) { - dst[0] = src[0]; - src++; + dst[0] = pRLEBytes[0]; + pRLEBytes++; dst++; } width >>= 1; if (width & 1) { - dst[0] = src[0]; - dst[1] = src[1]; - src += 2; + dst[0] = pRLEBytes[0]; + dst[1] = pRLEBytes[1]; + pRLEBytes += 2; dst += 2; } width >>= 1; while (width) { - dst[0] = src[0]; - dst[1] = src[1]; - dst[2] = src[2]; - dst[3] = src[3]; - src += 4; + dst[0] = pRLEBytes[0]; + dst[1] = pRLEBytes[1]; + dst[2] = pRLEBytes[2]; + dst[3] = pRLEBytes[3]; + pRLEBytes += 4; dst += 4; width--; } @@ -1707,8 +1719,8 @@ void CelDecodeRect(BYTE *pBuff, int CelSkip, int hgt, int wdt, BYTE *pCelBuff, i */ void CelDecodeClr(char col, int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap) { - int w, nDataStart, nDataCap, nDataSize; - BYTE *src, *dst; + int nDataStart, nDataSize, nDataCap, w; + BYTE *pRLEBytes, *dst; /// ASSERT: assert(pCelBuff != NULL); if (!pCelBuff) @@ -1728,12 +1740,12 @@ void CelDecodeClr(char col, int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth mov nDataSize, eax mov edx, pCelBuff add edx, [ebx] - mov src, edx + mov pRLEBytes, edx add edx, CelSkip xor eax, eax mov ax, [edx] mov nDataStart, eax - mov edx, src + mov edx, pRLEBytes add edx, CelCap mov ax, [edx] mov nDataCap, eax @@ -1748,11 +1760,11 @@ void CelDecodeClr(char col, int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth else nDataSize -= nDataStart; - src += nDataStart; + pRLEBytes += nDataStart; dst = &gpBuffer[sx + PitchTbl[sy - 16 * CelSkip]]; __asm { - mov esi, src + mov esi, pRLEBytes mov edi, dst mov eax, BUFFER_WIDTH add eax, nWidth @@ -1795,7 +1807,7 @@ void CelDecodeClr(char col, int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth } #else BYTE width; - BYTE *end, *pRLEBytes; + BYTE *end, *src; DWORD *pFrameTable; pFrameTable = (DWORD *)&pCelBuff[4 * nCel]; @@ -1848,8 +1860,8 @@ void CelDecodeClr(char col, int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth */ void CelDrawHdrClrHL(char col, int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap) { - int w, nDataStart, nDataCap, nDataSize; - BYTE *src, *dst; + int nDataStart, nDataSize, nDataCap, w; + BYTE *pRLEBytes, *dst; /// ASSERT: assert(pCelBuff != NULL); if (!pCelBuff) @@ -1869,12 +1881,12 @@ void CelDrawHdrClrHL(char col, int sx, int sy, BYTE *pCelBuff, int nCel, int nWi mov nDataSize, eax mov edx, pCelBuff add edx, [ebx] - mov src, edx + mov pRLEBytes, edx add edx, CelSkip xor eax, eax mov ax, [edx] mov nDataStart, eax - mov edx, src + mov edx, pRLEBytes add edx, CelCap mov ax, [edx] mov nDataCap, eax @@ -1889,11 +1901,11 @@ void CelDrawHdrClrHL(char col, int sx, int sy, BYTE *pCelBuff, int nCel, int nWi else nDataSize -= nDataStart; - src += nDataStart; + pRLEBytes += nDataStart; dst = &gpBuffer[sx + PitchTbl[sy - 16 * CelSkip]]; __asm { - mov esi, src + mov esi, pRLEBytes mov edi, dst mov eax, BUFFER_WIDTH add eax, nWidth @@ -1961,7 +1973,7 @@ void CelDrawHdrClrHL(char col, int sx, int sy, BYTE *pCelBuff, int nCel, int nWi } #else BYTE width; - BYTE *end, *pRLEBytes; + BYTE *end, *src; DWORD *pFrameTable; pFrameTable = (DWORD *)&pCelBuff[4 * nCel]; @@ -2370,7 +2382,7 @@ int random(BYTE idx, int v) void engine_debug_trap(BOOL show_cursor) { -/* + /* TMemBlock *pCurr; sgMemCrit.Enter(); @@ -2444,14 +2456,14 @@ DWORD LoadFileWithMem(const char *pszName, void *p) HANDLE hsFile; /// ASSERT: assert(pszName); - if(p == NULL) { + if (p == NULL) { app_fatal("LoadFileWithMem(NULL):\n%s", pszName); } WOpenFile(pszName, &hsFile, FALSE); dwFileLen = WGetFileSize(hsFile, NULL); - if(dwFileLen == 0) { + if (dwFileLen == 0) { app_fatal("Zero length SFILE:\n%s", pszName); } @@ -2894,8 +2906,8 @@ void Cl2DecDatFrm2(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSize, int nWidth, */ void Cl2DecodeFrm3(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap, char light) { - int hdr, idx, nDataSize; - BYTE *pRLEBytes; + int nDataStart, nDataSize, nDataCap, idx; + BYTE *pRLEBytes, *pDecodeTo; DWORD *pFrameTable; /// ASSERT: assert(gpBuffer != NULL); @@ -2912,8 +2924,8 @@ void Cl2DecodeFrm3(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int Cel /// ASSERT: assert(nCel <= (int) pFrameTable[0]); pRLEBytes = &pCelBuff[pFrameTable[nCel]]; - hdr = *(WORD *)&pRLEBytes[CelSkip]; - if (!hdr) + nDataStart = *(WORD *)&pRLEBytes[CelSkip]; + if (!nDataStart) return; if (CelCap == 8) @@ -2931,8 +2943,8 @@ void Cl2DecodeFrm3(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int Cel Cl2DecDatLightTbl1( &gpBuffer[sx + PitchTbl[sy - 16 * CelSkip]], - &pRLEBytes[hdr], - nDataSize - hdr, + &pRLEBytes[nDataStart], + nDataSize - nDataStart, nWidth, &pLightTbl[idx]); } @@ -3095,7 +3107,7 @@ void Cl2DecDatLightTbl1(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSize, int nWi */ void Cl2DecodeLightTbl(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap) { - int hdr, nDataSize; + int nDataStart, nDataSize; BYTE *pRLEBytes, *pDecodeTo; DWORD *pFrameTable; @@ -3113,8 +3125,8 @@ void Cl2DecodeLightTbl(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int /// ASSERT: assert(nCel <= (int) pFrameTable[0]); pRLEBytes = &pCelBuff[pFrameTable[nCel]]; - hdr = *(WORD *)&pRLEBytes[CelSkip]; - if (!hdr) + nDataStart = *(WORD *)&pRLEBytes[CelSkip]; + if (!nDataStart) return; if (CelCap == 8) @@ -3127,9 +3139,9 @@ void Cl2DecodeLightTbl(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int pDecodeTo = &gpBuffer[sx + PitchTbl[sy - 16 * CelSkip]]; if (light_table_index) - Cl2DecDatLightTbl1(pDecodeTo, &pRLEBytes[hdr], nDataSize - hdr, nWidth, &pLightTbl[light_table_index * 256]); + Cl2DecDatLightTbl1(pDecodeTo, &pRLEBytes[nDataStart], nDataSize - nDataStart, nWidth, &pLightTbl[light_table_index * 256]); else - Cl2DecDatFrm1(pDecodeTo, &pRLEBytes[hdr], nDataSize - hdr, nWidth); + Cl2DecDatFrm1(pDecodeTo, &pRLEBytes[nDataStart], nDataSize - nDataStart, nWidth); } // 69BEF8: using guessed type int light_table_index; @@ -3556,7 +3568,7 @@ void Cl2DecDatClrHL(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSize, int nWidth, */ void Cl2DecodeFrm5(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap, char light) { - int hdr, idx, nDataSize; + int nDataStart, nDataSize, idx; BYTE *pRLEBytes; DWORD *pFrameTable; @@ -3574,8 +3586,8 @@ void Cl2DecodeFrm5(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int Cel /// ASSERT: assert(nCel <= (int) pFrameTable[0]); pRLEBytes = &pCelBuff[pFrameTable[nCel]]; - hdr = *(WORD *)&pRLEBytes[CelSkip]; - if (!hdr) + nDataStart = *(WORD *)&pRLEBytes[CelSkip]; + if (!nDataStart) return; if (CelCap == 8) @@ -3593,8 +3605,8 @@ void Cl2DecodeFrm5(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int Cel Cl2DecDatLightTbl2( &gpBuffer[sx + PitchTbl[sy - 16 * CelSkip]], - &pRLEBytes[hdr], - nDataSize - hdr, + &pRLEBytes[nDataStart], + nDataSize - nDataStart, nWidth, &pLightTbl[idx]); } @@ -3771,7 +3783,7 @@ void Cl2DecDatLightTbl2(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSize, int nWi */ void Cl2DecodeFrm6(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap) { - int hdr, nDataSize; + int nDataStart, nDataSize; BYTE *pRLEBytes, *pDecodeTo; DWORD *pFrameTable; @@ -3789,8 +3801,8 @@ void Cl2DecodeFrm6(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int Cel /// ASSERT: assert(nCel <= (int) pFrameTable[0]); pRLEBytes = &pCelBuff[pFrameTable[nCel]]; - hdr = *(WORD *)&pRLEBytes[CelSkip]; - if (!hdr) + nDataStart = *(WORD *)&pRLEBytes[CelSkip]; + if (!nDataStart) return; if (CelCap == 8) @@ -3803,9 +3815,9 @@ void Cl2DecodeFrm6(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int Cel pDecodeTo = &gpBuffer[sx + PitchTbl[sy - 16 * CelSkip]]; if (light_table_index) - Cl2DecDatLightTbl2(pDecodeTo, &pRLEBytes[hdr], nDataSize - hdr, nWidth, &pLightTbl[light_table_index * 256]); + Cl2DecDatLightTbl2(pDecodeTo, &pRLEBytes[nDataStart], nDataSize - nDataStart, nWidth, &pLightTbl[light_table_index * 256]); else - Cl2DecDatFrm4(pDecodeTo, &pRLEBytes[hdr], nDataSize - hdr, nWidth); + Cl2DecDatFrm4(pDecodeTo, &pRLEBytes[nDataStart], nDataSize - nDataStart, nWidth); } // 69BEF8: using guessed type int light_table_index;