|
|
|
|
@ -119,7 +119,6 @@ void __fastcall CelDrawDatOnly(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSize,
|
|
|
|
|
|
|
|
|
|
void __fastcall CelDecodeOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth) |
|
|
|
|
{ |
|
|
|
|
BYTE *tmp; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer);
|
|
|
|
|
@ -129,11 +128,10 @@ void __fastcall CelDecodeOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWid
|
|
|
|
|
if(!pCelBuff) |
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
pFrameTable = (DWORD *)pCelBuff; |
|
|
|
|
|
|
|
|
|
CelDrawDatOnly( |
|
|
|
|
&tmp[sx + screen_y_times_768[sy]], |
|
|
|
|
&gpBuffer[sx + screen_y_times_768[sy]], |
|
|
|
|
&pCelBuff[pFrameTable[nCel]], |
|
|
|
|
pFrameTable[nCel + 1] - pFrameTable[nCel], |
|
|
|
|
nWidth); |
|
|
|
|
@ -162,7 +160,7 @@ void __fastcall CelDecDatOnly(BYTE *pBuff, BYTE *pCelBuff, int nCel, int nWidth)
|
|
|
|
|
void __fastcall CelDrawHdrOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir) |
|
|
|
|
{ |
|
|
|
|
int v1, v2, nDataSize; |
|
|
|
|
BYTE *pRLEBytes, *tmp; |
|
|
|
|
BYTE *pRLEBytes; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer);
|
|
|
|
|
@ -190,9 +188,8 @@ void __fastcall CelDrawHdrOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWi
|
|
|
|
|
else |
|
|
|
|
nDataSize -= v1; |
|
|
|
|
|
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
CelDrawDatOnly( |
|
|
|
|
&tmp[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&pRLEBytes[v1], |
|
|
|
|
nDataSize, |
|
|
|
|
nWidth); |
|
|
|
|
@ -575,7 +572,7 @@ L_ODD:
|
|
|
|
|
void __fastcall CelDecodeLightOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth) |
|
|
|
|
{ |
|
|
|
|
int nDataSize; |
|
|
|
|
BYTE *pDecodeTo, *pRLEBytes, *tmp; |
|
|
|
|
BYTE *pDecodeTo, *pRLEBytes; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer);
|
|
|
|
|
@ -585,12 +582,11 @@ void __fastcall CelDecodeLightOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int
|
|
|
|
|
if(!pCelBuff) |
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
pFrameTable = (DWORD *)pCelBuff; |
|
|
|
|
|
|
|
|
|
nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; |
|
|
|
|
pRLEBytes = &pCelBuff[pFrameTable[nCel]]; |
|
|
|
|
pDecodeTo = &tmp[sx + screen_y_times_768[sy]]; |
|
|
|
|
pDecodeTo = &gpBuffer[sx + screen_y_times_768[sy]]; |
|
|
|
|
|
|
|
|
|
if(light_table_index) |
|
|
|
|
CelDecDatLightOnly(pDecodeTo, pRLEBytes, nDataSize, nWidth); |
|
|
|
|
@ -602,7 +598,7 @@ void __fastcall CelDecodeLightOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int
|
|
|
|
|
void __fastcall CelDecodeHdrLightOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir) |
|
|
|
|
{ |
|
|
|
|
int hdr, nDataSize, v1, v2; |
|
|
|
|
BYTE *pRLEBytes, *pDecodeTo, *tmp, *v9; |
|
|
|
|
BYTE *pRLEBytes, *pDecodeTo, *v9; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer);
|
|
|
|
|
@ -629,8 +625,7 @@ void __fastcall CelDecodeHdrLightOnly(int sx, int sy, BYTE *pCelBuff, int nCel,
|
|
|
|
|
nDataSize = v1 - hdr; |
|
|
|
|
|
|
|
|
|
pRLEBytes = &v9[hdr]; |
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
pDecodeTo = &tmp[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
pDecodeTo = &gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
|
|
|
|
|
if(light_table_index) |
|
|
|
|
CelDecDatLightOnly(pDecodeTo, pRLEBytes, nDataSize, nWidth); |
|
|
|
|
@ -683,7 +678,7 @@ void __fastcall CelDecodeHdrLightTrans(BYTE *pBuff, BYTE *pCelBuff, int nCel, in
|
|
|
|
|
void __fastcall CelDrawHdrLightRed(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir, char light) |
|
|
|
|
{ |
|
|
|
|
int w, hdr, idx, nDataSize, v1; |
|
|
|
|
BYTE *src, *dst, *tbl, *tmp, *pRLEBytes; |
|
|
|
|
BYTE *src, *dst, *tbl, *pRLEBytes; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer);
|
|
|
|
|
@ -709,8 +704,7 @@ void __fastcall CelDrawHdrLightRed(int sx, int sy, BYTE *pCelBuff, int nCel, int
|
|
|
|
|
nDataSize = pFrameTable[1] - pFrameTable[0] - hdr; |
|
|
|
|
|
|
|
|
|
src = &pRLEBytes[hdr]; |
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
dst = &tmp[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
dst = &gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
|
|
|
|
|
idx = light4flag ? 1024 : 4096; |
|
|
|
|
if(light == 2) |
|
|
|
|
@ -908,7 +902,7 @@ void __fastcall Cel2DecDatOnly(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSize,
|
|
|
|
|
void __fastcall Cel2DrawHdrOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir) |
|
|
|
|
{ |
|
|
|
|
int v1, v2, nDataSize; |
|
|
|
|
BYTE *pRLEBytes, *tmp; |
|
|
|
|
BYTE *pRLEBytes; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer);
|
|
|
|
|
@ -936,9 +930,8 @@ void __fastcall Cel2DrawHdrOnly(int sx, int sy, BYTE *pCelBuff, int nCel, int nW
|
|
|
|
|
else |
|
|
|
|
nDataSize -= v1; |
|
|
|
|
|
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
Cel2DecDatOnly( |
|
|
|
|
&tmp[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&pRLEBytes[v1], |
|
|
|
|
nDataSize, |
|
|
|
|
nWidth); |
|
|
|
|
@ -1351,7 +1344,7 @@ L_ODD:
|
|
|
|
|
void __fastcall Cel2DecodeHdrLight(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir) |
|
|
|
|
{ |
|
|
|
|
int hdr, nDataSize, v1; |
|
|
|
|
BYTE *pRLEBytes, *pDecodeTo, *tmp, *v9; |
|
|
|
|
BYTE *pRLEBytes, *pDecodeTo, *v9; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer);
|
|
|
|
|
@ -1376,8 +1369,7 @@ void __fastcall Cel2DecodeHdrLight(int sx, int sy, BYTE *pCelBuff, int nCel, int
|
|
|
|
|
nDataSize = pFrameTable[1] - pFrameTable[0] - hdr; |
|
|
|
|
|
|
|
|
|
pRLEBytes = &v9[hdr]; |
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
pDecodeTo = &tmp[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
pDecodeTo = &gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
|
|
|
|
|
if(light_table_index) |
|
|
|
|
Cel2DecDatLightOnly(pDecodeTo, pRLEBytes, nDataSize, nWidth); |
|
|
|
|
@ -1426,7 +1418,7 @@ void __fastcall Cel2DecodeLightTrans(BYTE *pBuff, BYTE *pCelBuff, int nCel, int
|
|
|
|
|
void __fastcall Cel2DrawHdrLightRed(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir, char light) |
|
|
|
|
{ |
|
|
|
|
int w, hdr, idx, nDataSize, v1; |
|
|
|
|
BYTE *src, *dst, *tbl, *tmp, *pRLEBytes; |
|
|
|
|
BYTE *src, *dst, *tbl, *pRLEBytes; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer);
|
|
|
|
|
@ -1452,8 +1444,7 @@ void __fastcall Cel2DrawHdrLightRed(int sx, int sy, BYTE *pCelBuff, int nCel, in
|
|
|
|
|
nDataSize = pFrameTable[1] - pFrameTable[0] - hdr; |
|
|
|
|
|
|
|
|
|
src = &pRLEBytes[hdr]; |
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
dst = &tmp[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
dst = &gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
|
|
|
|
|
idx = light4flag ? 1024 : 4096; |
|
|
|
|
if(light == 2) |
|
|
|
|
@ -1665,7 +1656,7 @@ void __fastcall CelDecodeRect(BYTE *pBuff, int always_0, int hgt, int wdt, BYTE
|
|
|
|
|
void __fastcall CelDecodeClr(char col, int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir) |
|
|
|
|
{ |
|
|
|
|
int w, hdr, nDataSize, v1; |
|
|
|
|
BYTE *src, *dst, *tmp; |
|
|
|
|
BYTE *src, *dst; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(pCelBuff != NULL);
|
|
|
|
|
if(!pCelBuff) |
|
|
|
|
@ -1707,8 +1698,7 @@ void __fastcall CelDecodeClr(char col, int sx, int sy, BYTE *pCelBuff, int nCel,
|
|
|
|
|
nDataSize -= hdr; |
|
|
|
|
|
|
|
|
|
src += hdr; |
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
dst = &tmp[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
dst = &gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
|
|
|
|
|
__asm { |
|
|
|
|
mov esi, src |
|
|
|
|
@ -1773,8 +1763,7 @@ void __fastcall CelDecodeClr(char col, int sx, int sy, BYTE *pCelBuff, int nCel,
|
|
|
|
|
|
|
|
|
|
src = &pRLEBytes[hdr]; |
|
|
|
|
end = &src[nDataSize]; |
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
dst = &tmp[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
dst = &gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
|
|
|
|
|
for(; src != end; dst -= 768 + nWidth) { |
|
|
|
|
for(w = nWidth; w;) { |
|
|
|
|
@ -1804,7 +1793,7 @@ void __fastcall CelDecodeClr(char col, int sx, int sy, BYTE *pCelBuff, int nCel,
|
|
|
|
|
void __fastcall CelDrawHdrClrHL(char col, int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir) |
|
|
|
|
{ |
|
|
|
|
int w, hdr, nDataSize, v1; |
|
|
|
|
BYTE *src, *dst, *tmp; |
|
|
|
|
BYTE *src, *dst; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(pCelBuff != NULL);
|
|
|
|
|
if(!pCelBuff) |
|
|
|
|
@ -1846,8 +1835,7 @@ void __fastcall CelDrawHdrClrHL(char col, int sx, int sy, BYTE *pCelBuff, int nC
|
|
|
|
|
nDataSize -= hdr; |
|
|
|
|
|
|
|
|
|
src += hdr; |
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
dst = &tmp[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
dst = &gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
|
|
|
|
|
__asm { |
|
|
|
|
mov esi, src |
|
|
|
|
@ -1937,8 +1925,7 @@ void __fastcall CelDrawHdrClrHL(char col, int sx, int sy, BYTE *pCelBuff, int nC
|
|
|
|
|
|
|
|
|
|
src = &pRLEBytes[hdr]; |
|
|
|
|
end = &src[nDataSize]; |
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
dst = &tmp[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
dst = &gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
|
|
|
|
|
for(; src != end; dst -= 768 + nWidth) { |
|
|
|
|
for(w = nWidth; w;) { |
|
|
|
|
@ -2457,7 +2444,7 @@ void __fastcall Cl2ApplyTrans(BYTE *p, BYTE *ttbl, int nCel)
|
|
|
|
|
void __fastcall Cl2DecodeFrm1(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir) |
|
|
|
|
{ |
|
|
|
|
int hdr, nDataSize; |
|
|
|
|
BYTE *pRLEBytes, *tmp; |
|
|
|
|
BYTE *pRLEBytes; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer != NULL);
|
|
|
|
|
@ -2485,9 +2472,8 @@ void __fastcall Cl2DecodeFrm1(int sx, int sy, BYTE *pCelBuff, int nCel, int nWid
|
|
|
|
|
if(!nDataSize) |
|
|
|
|
nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; |
|
|
|
|
|
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
Cl2DecDatFrm1( |
|
|
|
|
&tmp[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&pRLEBytes[hdr], |
|
|
|
|
nDataSize - hdr, |
|
|
|
|
nWidth); |
|
|
|
|
@ -2637,7 +2623,7 @@ void __fastcall Cl2DecDatFrm1(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSize, i
|
|
|
|
|
void __fastcall Cl2DecodeFrm2(char col, int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir) |
|
|
|
|
{ |
|
|
|
|
int hdr, nDataSize; |
|
|
|
|
BYTE *pRLEBytes, *tmp; |
|
|
|
|
BYTE *pRLEBytes; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer != NULL);
|
|
|
|
|
@ -2665,9 +2651,8 @@ void __fastcall Cl2DecodeFrm2(char col, int sx, int sy, BYTE *pCelBuff, int nCel
|
|
|
|
|
if(!nDataSize) |
|
|
|
|
nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; |
|
|
|
|
|
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
Cl2DecDatFrm2( |
|
|
|
|
&tmp[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&pRLEBytes[hdr], |
|
|
|
|
nDataSize - hdr, |
|
|
|
|
nWidth, |
|
|
|
|
@ -2839,7 +2824,7 @@ void __fastcall Cl2DecDatFrm2(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSize, i
|
|
|
|
|
void __fastcall Cl2DecodeFrm3(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir, char light) |
|
|
|
|
{ |
|
|
|
|
int hdr, idx, nDataSize; |
|
|
|
|
BYTE *pRLEBytes, *tmp; |
|
|
|
|
BYTE *pRLEBytes; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer != NULL);
|
|
|
|
|
@ -2873,9 +2858,8 @@ void __fastcall Cl2DecodeFrm3(int sx, int sy, BYTE *pCelBuff, int nCel, int nWid
|
|
|
|
|
if(light >= 4) |
|
|
|
|
idx += (light - 1) << 8; |
|
|
|
|
|
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
Cl2DecDatLightTbl1( |
|
|
|
|
&tmp[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&pRLEBytes[hdr], |
|
|
|
|
nDataSize - hdr, |
|
|
|
|
nWidth, |
|
|
|
|
@ -3037,7 +3021,7 @@ void __fastcall Cl2DecDatLightTbl1(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSi
|
|
|
|
|
void __fastcall Cl2DecodeLightTbl(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir) |
|
|
|
|
{ |
|
|
|
|
int hdr, nDataSize; |
|
|
|
|
BYTE *pRLEBytes, *pDecodeTo, *tmp; |
|
|
|
|
BYTE *pRLEBytes, *pDecodeTo; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer != NULL);
|
|
|
|
|
@ -3065,8 +3049,7 @@ void __fastcall Cl2DecodeLightTbl(int sx, int sy, BYTE *pCelBuff, int nCel, int
|
|
|
|
|
if(!nDataSize) |
|
|
|
|
nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; |
|
|
|
|
|
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
pDecodeTo = &tmp[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
pDecodeTo = &gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
|
|
|
|
|
if(light_table_index) |
|
|
|
|
Cl2DecDatLightTbl1(pDecodeTo, &pRLEBytes[hdr], nDataSize - hdr, nWidth, (BYTE *)&pLightTbl[light_table_index * 256]); |
|
|
|
|
@ -3078,7 +3061,7 @@ void __fastcall Cl2DecodeLightTbl(int sx, int sy, BYTE *pCelBuff, int nCel, int
|
|
|
|
|
void __fastcall Cl2DecodeFrm4(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir) |
|
|
|
|
{ |
|
|
|
|
int hdr, nDataSize; |
|
|
|
|
BYTE *pRLEBytes, *tmp; |
|
|
|
|
BYTE *pRLEBytes; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer != NULL);
|
|
|
|
|
@ -3106,9 +3089,8 @@ void __fastcall Cl2DecodeFrm4(int sx, int sy, BYTE *pCelBuff, int nCel, int nWid
|
|
|
|
|
if(!nDataSize) |
|
|
|
|
nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; |
|
|
|
|
|
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
Cl2DecDatFrm4( |
|
|
|
|
&tmp[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&pRLEBytes[hdr], |
|
|
|
|
nDataSize - hdr, |
|
|
|
|
nWidth); |
|
|
|
|
@ -3272,7 +3254,7 @@ void __fastcall Cl2DecDatFrm4(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSize, i
|
|
|
|
|
void __fastcall Cl2DecodeClrHL(char col, int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir) |
|
|
|
|
{ |
|
|
|
|
int hdr, nDataSize; |
|
|
|
|
BYTE *pRLEBytes, *tmp; |
|
|
|
|
BYTE *pRLEBytes; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer != NULL);
|
|
|
|
|
@ -3300,10 +3282,9 @@ void __fastcall Cl2DecodeClrHL(char col, int sx, int sy, BYTE *pCelBuff, int nCe
|
|
|
|
|
if(!nDataSize) |
|
|
|
|
nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; |
|
|
|
|
|
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
gpBufEnd -= 768; |
|
|
|
|
Cl2DecDatClrHL( |
|
|
|
|
&tmp[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&pRLEBytes[hdr], |
|
|
|
|
nDataSize - hdr, |
|
|
|
|
nWidth, |
|
|
|
|
@ -3489,7 +3470,7 @@ void __fastcall Cl2DecDatClrHL(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSize,
|
|
|
|
|
void __fastcall Cl2DecodeFrm5(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir, char light) |
|
|
|
|
{ |
|
|
|
|
int hdr, idx, nDataSize; |
|
|
|
|
BYTE *pRLEBytes, *tmp; |
|
|
|
|
BYTE *pRLEBytes; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer != NULL);
|
|
|
|
|
@ -3523,9 +3504,8 @@ void __fastcall Cl2DecodeFrm5(int sx, int sy, BYTE *pCelBuff, int nCel, int nWid
|
|
|
|
|
if(light >= 4) |
|
|
|
|
idx += (light - 1) << 8; |
|
|
|
|
|
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
Cl2DecDatLightTbl2( |
|
|
|
|
&tmp[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]], |
|
|
|
|
&pRLEBytes[hdr], |
|
|
|
|
nDataSize - hdr, |
|
|
|
|
nWidth, |
|
|
|
|
@ -3701,7 +3681,7 @@ void __fastcall Cl2DecDatLightTbl2(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSi
|
|
|
|
|
void __fastcall Cl2DecodeFrm6(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int always_0, int dir) |
|
|
|
|
{ |
|
|
|
|
int hdr, nDataSize; |
|
|
|
|
BYTE *pRLEBytes, *pDecodeTo, *tmp; |
|
|
|
|
BYTE *pRLEBytes, *pDecodeTo; |
|
|
|
|
DWORD *pFrameTable; |
|
|
|
|
|
|
|
|
|
/// ASSERT: assert(gpBuffer != NULL);
|
|
|
|
|
@ -3729,8 +3709,7 @@ void __fastcall Cl2DecodeFrm6(int sx, int sy, BYTE *pCelBuff, int nCel, int nWid
|
|
|
|
|
if(!nDataSize) |
|
|
|
|
nDataSize = pFrameTable[nCel + 1] - pFrameTable[nCel]; |
|
|
|
|
|
|
|
|
|
tmp = (BYTE *)gpBuffer; |
|
|
|
|
pDecodeTo = &tmp[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
pDecodeTo = &gpBuffer[sx + screen_y_times_768[sy - 16 * always_0]]; |
|
|
|
|
|
|
|
|
|
if(light_table_index) |
|
|
|
|
Cl2DecDatLightTbl2(pDecodeTo, &pRLEBytes[hdr], nDataSize - hdr, nWidth, (BYTE *)&pLightTbl[light_table_index * 256]); |
|
|
|
|
|