diff --git a/Source/engine.cpp b/Source/engine.cpp index 4e8c73bec..baf781a51 100644 --- a/Source/engine.cpp +++ b/Source/engine.cpp @@ -71,18 +71,7 @@ void CelDrawDatOnly(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSize, int nWidth) void CelDecodeOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth) { - int nDataSize; - BYTE *pRLEBytes; - - /// ASSERT: assert(gpBuffer); - if (!gpBuffer) - return; - /// ASSERT: assert(pCelBuff != NULL); - if (!pCelBuff) - return; - - pRLEBytes = CelGetFrame(pCelBuff, nCel, &nDataSize); - CelDrawDatOnly(&gpBuffer[sx + PitchTbl[sy]], pRLEBytes, nDataSize, nWidth); + CelDecDatOnly(&gpBuffer[sx + PitchTbl[sy]], pCelBuff, nCel, nWidth); } void CelDecDatOnly(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth) diff --git a/Source/town.cpp b/Source/town.cpp index 17de9a5de..be0f3970e 100644 --- a/Source/town.cpp +++ b/Source/town.cpp @@ -61,28 +61,21 @@ void town_special_lower(BYTE *pBuff, int nCel) #if 0 int nDataSize; BYTE *pRLEBytes; - DWORD *pFrameTable; - pFrameTable = (DWORD *)pSpecialCels; - pRLEBytes = &pSpecialCels[pFrameTable[nCel]]; - nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; + pRLEBytes = CelGetFrame(pSpecialCels, nCel, &nDataSize); Cel2DecDatOnly(pBuff, pRLEBytes, nDataSize, 64); #endif } -void town_special_upper(BYTE *pBuff, int nCel) +void town_special_upper(BYTE *dst, int nCel) { #if 0 int w; - BYTE *end; + BYTE *end, *src; BYTE width; - BYTE *src, *dst; - DWORD *pFrameTable; - pFrameTable = (DWORD *)pSpecialCels; - src = &pSpecialCels[pFrameTable[nCel]]; - dst = pBuff; - end = &src[pFrameTable[nCel + 1] - pFrameTable[nCel]]; + src = CelGetFrame(pSpecialCels, nCel, &nDataSize); + end = &src[nDataSize]; for(; src != end; dst -= BUFFER_WIDTH + 64) { for(w = 64; w;) {