|
|
|
|
@ -153,14 +153,14 @@ static void scrollrt_draw_cursor_item()
|
|
|
|
|
if (!plr[myplr].HoldItem._iStatFlag) { |
|
|
|
|
col = PAL16_RED + 5; |
|
|
|
|
} |
|
|
|
|
CelDrawHdrClrHL(col, mx + SCREEN_X, my + cursH + SCREEN_Y - 1, pCursCels, pcurs, cursW, 0, 8); |
|
|
|
|
CelBlitOutlineSafe(col, mx + SCREEN_X, my + cursH + SCREEN_Y - 1, pCursCels, pcurs, cursW, 0, 8); |
|
|
|
|
if (col != PAL16_RED + 5) { |
|
|
|
|
Cel2DrawHdrOnly(mx + SCREEN_X, my + cursH + SCREEN_Y - 1, pCursCels, pcurs, cursW, 0, 8); |
|
|
|
|
CelClippedDrawSafe(mx + SCREEN_X, my + cursH + SCREEN_Y - 1, pCursCels, pcurs, cursW, 0, 8); |
|
|
|
|
} else { |
|
|
|
|
Cel2DrawHdrLightRed(mx + SCREEN_X, my + cursH + SCREEN_Y - 1, pCursCels, pcurs, cursW, 0, 8, 1); |
|
|
|
|
CelDrawLightRedSafe(mx + SCREEN_X, my + cursH + SCREEN_Y - 1, pCursCels, pcurs, cursW, 0, 8, 1); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
Cel2DrawHdrOnly(mx + SCREEN_X, my + cursH + SCREEN_Y - 1, pCursCels, pcurs, cursW, 0, 8); |
|
|
|
|
CelClippedDrawSafe(mx + SCREEN_X, my + cursH + SCREEN_Y - 1, pCursCels, pcurs, cursW, 0, 8); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -192,11 +192,11 @@ void DrawMissile(int x, int y, int sx, int sy, int CelSkip, int CelCap, BOOL pre
|
|
|
|
|
mx = sx + m->_mixoff - m->_miAnimWidth2; |
|
|
|
|
my = sy + m->_miyoff; |
|
|
|
|
if (m->_miUniqTrans) |
|
|
|
|
Cl2DecodeFrm3(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap, m->_miUniqTrans + 3); |
|
|
|
|
Cl2DrawLightTbl(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap, m->_miUniqTrans + 3); |
|
|
|
|
else if (m->_miLightFlag) |
|
|
|
|
Cl2DecodeLightTbl(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
Cl2DrawLight(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
else |
|
|
|
|
Cl2DecodeFrm1(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
Cl2Draw(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
@ -216,11 +216,11 @@ void DrawMissile(int x, int y, int sx, int sy, int CelSkip, int CelCap, BOOL pre
|
|
|
|
|
mx = sx + m->_mixoff - m->_miAnimWidth2; |
|
|
|
|
my = sy + m->_miyoff; |
|
|
|
|
if (m->_miUniqTrans) |
|
|
|
|
Cl2DecodeFrm3(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap, m->_miUniqTrans + 3); |
|
|
|
|
Cl2DrawLightTbl(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap, m->_miUniqTrans + 3); |
|
|
|
|
else if (m->_miLightFlag) |
|
|
|
|
Cl2DecodeLightTbl(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
Cl2DrawLight(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
else |
|
|
|
|
Cl2DecodeFrm1(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
Cl2Draw(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -253,11 +253,11 @@ void DrawClippedMissile(int x, int y, int sx, int sy, int CelSkip, int CelCap, B
|
|
|
|
|
mx = sx + m->_mixoff - m->_miAnimWidth2; |
|
|
|
|
my = sy + m->_miyoff; |
|
|
|
|
if (m->_miUniqTrans) |
|
|
|
|
Cl2DecodeFrm5(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap, m->_miUniqTrans + 3); |
|
|
|
|
Cl2DrawLightTblSafe(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap, m->_miUniqTrans + 3); |
|
|
|
|
else if (m->_miLightFlag) |
|
|
|
|
Cl2DecodeFrm6(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
Cl2DrawLightSafe(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
else |
|
|
|
|
Cl2DecodeFrm4(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
Cl2DrawSafe(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
@ -277,11 +277,11 @@ void DrawClippedMissile(int x, int y, int sx, int sy, int CelSkip, int CelCap, B
|
|
|
|
|
mx = sx + m->_mixoff - m->_miAnimWidth2; |
|
|
|
|
my = sy + m->_miyoff; |
|
|
|
|
if (m->_miUniqTrans) |
|
|
|
|
Cl2DecodeFrm5(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap, m->_miUniqTrans + 3); |
|
|
|
|
Cl2DrawLightTblSafe(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap, m->_miUniqTrans + 3); |
|
|
|
|
else if (m->_miLightFlag) |
|
|
|
|
Cl2DecodeFrm6(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
Cl2DrawLightSafe(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
else |
|
|
|
|
Cl2DecodeFrm4(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
Cl2DrawSafe(mx, my, m->_miAnimData, m->_miAnimFrame, m->_miAnimWidth, CelSkip, CelCap); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -323,7 +323,7 @@ static void DrawMonster(int x, int y, int mx, int my, int m, int CelSkip, int Ce
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!(dFlags[x][y] & BFLAG_LIT)) { |
|
|
|
|
Cl2DecodeFrm3(mx, my, monster[m]._mAnimData, monster[m]._mAnimFrame, monster[m].MType->width, CelSkip, CelCap, 1); |
|
|
|
|
Cl2DrawLightTbl(mx, my, monster[m]._mAnimData, monster[m]._mAnimFrame, monster[m].MType->width, CelSkip, CelCap, 1); |
|
|
|
|
} else { |
|
|
|
|
trans = 0; |
|
|
|
|
if (monster[m]._uniqtype) |
|
|
|
|
@ -333,9 +333,9 @@ static void DrawMonster(int x, int y, int mx, int my, int m, int CelSkip, int Ce
|
|
|
|
|
if (plr[myplr]._pInfraFlag && light_table_index > 8) |
|
|
|
|
trans = 1; |
|
|
|
|
if (trans) |
|
|
|
|
Cl2DecodeFrm3(mx, my, monster[m]._mAnimData, monster[m]._mAnimFrame, monster[m].MType->width, CelSkip, CelCap, trans); |
|
|
|
|
Cl2DrawLightTbl(mx, my, monster[m]._mAnimData, monster[m]._mAnimFrame, monster[m].MType->width, CelSkip, CelCap, trans); |
|
|
|
|
else |
|
|
|
|
Cl2DecodeLightTbl(mx, my, monster[m]._mAnimData, monster[m]._mAnimFrame, monster[m].MType->width, CelSkip, CelCap); |
|
|
|
|
Cl2DrawLight(mx, my, monster[m]._mAnimData, monster[m]._mAnimFrame, monster[m].MType->width, CelSkip, CelCap); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -376,7 +376,7 @@ static void DrawClippedMonster(int x, int y, int mx, int my, int m, int CelSkip,
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!(dFlags[x][y] & BFLAG_LIT)) { |
|
|
|
|
Cl2DecodeFrm5(mx, my, monster[m]._mAnimData, monster[m]._mAnimFrame, monster[m].MType->width, CelSkip, CelCap, 1); |
|
|
|
|
Cl2DrawLightTblSafe(mx, my, monster[m]._mAnimData, monster[m]._mAnimFrame, monster[m].MType->width, CelSkip, CelCap, 1); |
|
|
|
|
} else { |
|
|
|
|
trans = 0; |
|
|
|
|
if (monster[m]._uniqtype) |
|
|
|
|
@ -386,9 +386,9 @@ static void DrawClippedMonster(int x, int y, int mx, int my, int m, int CelSkip,
|
|
|
|
|
if (plr[myplr]._pInfraFlag && light_table_index > 8) |
|
|
|
|
trans = 1; |
|
|
|
|
if (trans) |
|
|
|
|
Cl2DecodeFrm5(mx, my, monster[m]._mAnimData, monster[m]._mAnimFrame, monster[m].MType->width, CelSkip, CelCap, trans); |
|
|
|
|
Cl2DrawLightTblSafe(mx, my, monster[m]._mAnimData, monster[m]._mAnimFrame, monster[m].MType->width, CelSkip, CelCap, trans); |
|
|
|
|
else |
|
|
|
|
Cl2DecodeFrm6(mx, my, monster[m]._mAnimData, monster[m]._mAnimFrame, monster[m].MType->width, CelSkip, CelCap); |
|
|
|
|
Cl2DrawLightSafe(mx, my, monster[m]._mAnimData, monster[m]._mAnimFrame, monster[m].MType->width, CelSkip, CelCap); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -420,11 +420,11 @@ static void DrawPlayer(int pnum, int x, int y, int px, int py, BYTE *pCelBuff, i
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (pnum == pcursplr) |
|
|
|
|
Cl2DecodeFrm2(165, px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap); |
|
|
|
|
Cl2DrawOutline(165, px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap); |
|
|
|
|
if (pnum == myplr) { |
|
|
|
|
Cl2DecodeFrm1(px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap); |
|
|
|
|
Cl2Draw(px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap); |
|
|
|
|
if (plr[pnum].pManaShield) |
|
|
|
|
Cl2DecodeFrm1( |
|
|
|
|
Cl2Draw( |
|
|
|
|
px + plr[pnum]._pAnimWidth2 - misfiledata[MFILE_MANASHLD].mAnimWidth2[0], |
|
|
|
|
py, |
|
|
|
|
misfiledata[MFILE_MANASHLD].mAnimData[0], |
|
|
|
|
@ -433,9 +433,9 @@ static void DrawPlayer(int pnum, int x, int y, int px, int py, BYTE *pCelBuff, i
|
|
|
|
|
CelSkip, |
|
|
|
|
CelCap); |
|
|
|
|
} else if (!(dFlags[x][y] & BFLAG_LIT) || plr[myplr]._pInfraFlag && light_table_index > 8) { |
|
|
|
|
Cl2DecodeFrm3(px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap, 1); |
|
|
|
|
Cl2DrawLightTbl(px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap, 1); |
|
|
|
|
if (plr[pnum].pManaShield) |
|
|
|
|
Cl2DecodeFrm3( |
|
|
|
|
Cl2DrawLightTbl( |
|
|
|
|
px + plr[pnum]._pAnimWidth2 - misfiledata[MFILE_MANASHLD].mAnimWidth2[0], |
|
|
|
|
py, |
|
|
|
|
misfiledata[MFILE_MANASHLD].mAnimData[0], |
|
|
|
|
@ -450,9 +450,9 @@ static void DrawPlayer(int pnum, int x, int y, int px, int py, BYTE *pCelBuff, i
|
|
|
|
|
light_table_index = 0; |
|
|
|
|
else |
|
|
|
|
light_table_index -= 5; |
|
|
|
|
Cl2DecodeLightTbl(px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap); |
|
|
|
|
Cl2DrawLight(px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap); |
|
|
|
|
if (plr[pnum].pManaShield) |
|
|
|
|
Cl2DecodeLightTbl( |
|
|
|
|
Cl2DrawLight( |
|
|
|
|
px + plr[pnum]._pAnimWidth2 - misfiledata[MFILE_MANASHLD].mAnimWidth2[0], |
|
|
|
|
py, |
|
|
|
|
misfiledata[MFILE_MANASHLD].mAnimData[0], |
|
|
|
|
@ -493,11 +493,11 @@ static void DrawClippedPlayer(int pnum, int x, int y, int px, int py, BYTE *pCel
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (pnum == pcursplr) |
|
|
|
|
Cl2DecodeClrHL(165, px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap); |
|
|
|
|
Cl2DrawOutlineSafe(165, px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap); |
|
|
|
|
if (pnum == myplr) { |
|
|
|
|
Cl2DecodeFrm4(px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap); |
|
|
|
|
Cl2DrawSafe(px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap); |
|
|
|
|
if (plr[pnum].pManaShield) |
|
|
|
|
Cl2DecodeFrm4( |
|
|
|
|
Cl2DrawSafe( |
|
|
|
|
px + plr[pnum]._pAnimWidth2 - misfiledata[MFILE_MANASHLD].mAnimWidth2[0], |
|
|
|
|
py, |
|
|
|
|
misfiledata[MFILE_MANASHLD].mAnimData[0], |
|
|
|
|
@ -506,9 +506,9 @@ static void DrawClippedPlayer(int pnum, int x, int y, int px, int py, BYTE *pCel
|
|
|
|
|
CelSkip, |
|
|
|
|
CelCap); |
|
|
|
|
} else if (!(dFlags[x][y] & BFLAG_LIT) || plr[myplr]._pInfraFlag && light_table_index > 8) { |
|
|
|
|
Cl2DecodeFrm5(px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap, 1); |
|
|
|
|
Cl2DrawLightTblSafe(px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap, 1); |
|
|
|
|
if (plr[pnum].pManaShield) |
|
|
|
|
Cl2DecodeFrm5( |
|
|
|
|
Cl2DrawLightTblSafe( |
|
|
|
|
px + plr[pnum]._pAnimWidth2 - misfiledata[MFILE_MANASHLD].mAnimWidth2[0], |
|
|
|
|
py, |
|
|
|
|
misfiledata[MFILE_MANASHLD].mAnimData[0], |
|
|
|
|
@ -523,9 +523,9 @@ static void DrawClippedPlayer(int pnum, int x, int y, int px, int py, BYTE *pCel
|
|
|
|
|
light_table_index = 0; |
|
|
|
|
else |
|
|
|
|
light_table_index -= 5; |
|
|
|
|
Cl2DecodeFrm6(px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap); |
|
|
|
|
Cl2DrawLightSafe(px, py, pCelBuff, nCel, nWidth, CelSkip, CelCap); |
|
|
|
|
if (plr[pnum].pManaShield) |
|
|
|
|
Cl2DecodeFrm6( |
|
|
|
|
Cl2DrawLightSafe( |
|
|
|
|
px + plr[pnum]._pAnimWidth2 - misfiledata[MFILE_MANASHLD].mAnimWidth2[0], |
|
|
|
|
py, |
|
|
|
|
misfiledata[MFILE_MANASHLD].mAnimData[0], |
|
|
|
|
@ -617,13 +617,13 @@ static void DrawObject(int x, int y, int ox, int oy, BOOL pre, int CelSkip, int
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (bv == pcursobj) |
|
|
|
|
CelDecodeClr(194, sx, sy, object[bv]._oAnimData, object[bv]._oAnimFrame, object[bv]._oAnimWidth, CelSkip, CelCap); |
|
|
|
|
CelBlitOutline(194, sx, sy, object[bv]._oAnimData, object[bv]._oAnimFrame, object[bv]._oAnimWidth, CelSkip, CelCap); |
|
|
|
|
if (object[bv]._oLight) { |
|
|
|
|
CelDecodeHdrLightOnly(sx, sy, object[bv]._oAnimData, object[bv]._oAnimFrame, object[bv]._oAnimWidth, CelSkip, CelCap); |
|
|
|
|
CelClippedDrawLight(sx, sy, object[bv]._oAnimData, object[bv]._oAnimFrame, object[bv]._oAnimWidth, CelSkip, CelCap); |
|
|
|
|
} else { |
|
|
|
|
/// ASSERT: assert(object[bv]._oAnimData);
|
|
|
|
|
if (object[bv]._oAnimData) // BUGFIX: _oAnimData was already checked, this is redundant
|
|
|
|
|
CelDrawHdrOnly(sx, sy, object[bv]._oAnimData, object[bv]._oAnimFrame, object[bv]._oAnimWidth, CelSkip, CelCap); |
|
|
|
|
CelClippedDraw(sx, sy, object[bv]._oAnimData, object[bv]._oAnimFrame, object[bv]._oAnimWidth, CelSkip, CelCap); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -670,11 +670,11 @@ static void DrawClippedObject(int x, int y, int ox, int oy, BOOL pre, int CelSki
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (bv == pcursobj) |
|
|
|
|
CelDrawHdrClrHL(194, sx, sy, object[bv]._oAnimData, object[bv]._oAnimFrame, object[bv]._oAnimWidth, CelSkip, CelCap); |
|
|
|
|
CelBlitOutlineSafe(194, sx, sy, object[bv]._oAnimData, object[bv]._oAnimFrame, object[bv]._oAnimWidth, CelSkip, CelCap); |
|
|
|
|
if (object[bv]._oLight) |
|
|
|
|
Cel2DecodeHdrLight(sx, sy, object[bv]._oAnimData, object[bv]._oAnimFrame, object[bv]._oAnimWidth, CelSkip, CelCap); |
|
|
|
|
CelDrawLightSafe(sx, sy, object[bv]._oAnimData, object[bv]._oAnimFrame, object[bv]._oAnimWidth, CelSkip, CelCap); |
|
|
|
|
else |
|
|
|
|
Cel2DrawHdrOnly(sx, sy, object[bv]._oAnimData, object[bv]._oAnimFrame, object[bv]._oAnimWidth, CelSkip, CelCap); |
|
|
|
|
CelClippedDrawSafe(sx, sy, object[bv]._oAnimData, object[bv]._oAnimFrame, object[bv]._oAnimWidth, CelSkip, CelCap); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void scrollrt_draw_clipped_dungeon(BYTE *pBuff, int sx, int sy, int dx, int dy, int eflag); |
|
|
|
|
@ -754,7 +754,7 @@ static void scrollrt_draw_clipped_dungeon(BYTE *pBuff, int sx, int sy, int dx, i
|
|
|
|
|
negMon = dMonster[sx][sy - 1]; |
|
|
|
|
|
|
|
|
|
if (visiondebug && bFlag & BFLAG_LIT) { |
|
|
|
|
Cel2DecodeHdrOnly(pBuff, pSquareCel, 1, 64, 0, 8); |
|
|
|
|
CelClippedBlitSafe(pBuff, pSquareCel, 1, 64, 0, 8); |
|
|
|
|
} |
|
|
|
|
if (MissilePreFlag && bFlag & BFLAG_MISSILE) { |
|
|
|
|
DrawClippedMissile(sx, sy, dx, dy, 0, 8, 1); |
|
|
|
|
@ -771,9 +771,9 @@ static void scrollrt_draw_clipped_dungeon(BYTE *pBuff, int sx, int sy, int dx, i
|
|
|
|
|
nCel = pDeadGuy->_deadFrame; |
|
|
|
|
if (nCel >= 1 && pFrameTable[0] <= 50 && nCel <= (int)pFrameTable[0]) { |
|
|
|
|
if (pDeadGuy->_deadtrans != 0) { |
|
|
|
|
Cl2DecodeFrm5(px, dy, pCelBuff, nCel, pDeadGuy->_deadWidth, 0, 8, pDeadGuy->_deadtrans); |
|
|
|
|
Cl2DrawLightTblSafe(px, dy, pCelBuff, nCel, pDeadGuy->_deadWidth, 0, 8, pDeadGuy->_deadtrans); |
|
|
|
|
} else { |
|
|
|
|
Cl2DecodeFrm6(px, dy, pCelBuff, pDeadGuy->_deadFrame, pDeadGuy->_deadWidth, 0, 8); |
|
|
|
|
Cl2DrawLightSafe(px, dy, pCelBuff, pDeadGuy->_deadFrame, pDeadGuy->_deadWidth, 0, 8); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
// app_fatal("Clipped dead sub: frame %d of %d, deadnum==%d", nCel, pFrameTable[0], (bDead & 0x1F) - 1);
|
|
|
|
|
@ -796,9 +796,9 @@ static void scrollrt_draw_clipped_dungeon(BYTE *pBuff, int sx, int sy, int dx, i
|
|
|
|
|
if (nCel >= 1 && pFrameTable[0] <= 50 && nCel <= (int)pFrameTable[0]) { |
|
|
|
|
px = dx - pItem->_iAnimWidth2; |
|
|
|
|
if (bItem - 1 == pcursitem) { |
|
|
|
|
CelDrawHdrClrHL(181, px, dy, pCelBuff, nCel, pItem->_iAnimWidth, 0, 8); |
|
|
|
|
CelBlitOutlineSafe(181, px, dy, pCelBuff, nCel, pItem->_iAnimWidth, 0, 8); |
|
|
|
|
} |
|
|
|
|
Cel2DecodeHdrLight(px, dy, pItem->_iAnimData, pItem->_iAnimFrame, pItem->_iAnimWidth, 0, 8); |
|
|
|
|
CelDrawLightSafe(px, dy, pItem->_iAnimData, pItem->_iAnimFrame, pItem->_iAnimWidth, 0, 8); |
|
|
|
|
} else { |
|
|
|
|
/*
|
|
|
|
|
app_fatal( |
|
|
|
|
@ -841,7 +841,7 @@ static void scrollrt_draw_clipped_dungeon(BYTE *pBuff, int sx, int sy, int dx, i
|
|
|
|
|
px = dx + pMonster->_mxoff - pMonster->MType->width2; |
|
|
|
|
py = dy + pMonster->_myoff; |
|
|
|
|
if (draw_monster_num == pcursmonst) { |
|
|
|
|
Cl2DecodeClrHL(233, px, py, pMonster->_mAnimData, pMonster->_mAnimFrame, pMonster->MType->width, 0, 8); |
|
|
|
|
Cl2DrawOutlineSafe(233, px, py, pMonster->_mAnimData, pMonster->_mAnimFrame, pMonster->MType->width, 0, 8); |
|
|
|
|
} |
|
|
|
|
DrawClippedMonster(sx, sy, px, py, draw_monster_num, 0, 8); |
|
|
|
|
if (eflag && pMonster->_meflag) { |
|
|
|
|
@ -884,7 +884,7 @@ static void scrollrt_draw_clipped_dungeon(BYTE *pBuff, int sx, int sy, int dx, i
|
|
|
|
|
px = dx + pMonster->_mxoff - pMonster->MType->width2; |
|
|
|
|
py = dy + pMonster->_myoff; |
|
|
|
|
if (draw_monster_num == pcursmonst) { |
|
|
|
|
Cl2DecodeClrHL(233, px, py, pMonster->_mAnimData, pMonster->_mAnimFrame, pMonster->MType->width, 0, 8); |
|
|
|
|
Cl2DrawOutlineSafe(233, px, py, pMonster->_mAnimData, pMonster->_mAnimFrame, pMonster->MType->width, 0, 8); |
|
|
|
|
} |
|
|
|
|
DrawClippedMonster(sx, sy, px, py, draw_monster_num, 0, 8); |
|
|
|
|
if (eflag && pMonster->_meflag) { |
|
|
|
|
@ -916,9 +916,9 @@ static void scrollrt_draw_clipped_dungeon(BYTE *pBuff, int sx, int sy, int dx, i
|
|
|
|
|
if (nCel >= 1 && pFrameTable[0] <= 50 && nCel <= (int)pFrameTable[0]) { |
|
|
|
|
px = dx - pItem->_iAnimWidth2; |
|
|
|
|
if (bItem - 1 == pcursitem) { |
|
|
|
|
CelDrawHdrClrHL(181, px, dy, pCelBuff, nCel, pItem->_iAnimWidth, 0, 8); |
|
|
|
|
CelBlitOutlineSafe(181, px, dy, pCelBuff, nCel, pItem->_iAnimWidth, 0, 8); |
|
|
|
|
} |
|
|
|
|
Cel2DecodeHdrLight(px, dy, pItem->_iAnimData, pItem->_iAnimFrame, pItem->_iAnimWidth, 0, 8); |
|
|
|
|
CelDrawLightSafe(px, dy, pItem->_iAnimData, pItem->_iAnimFrame, pItem->_iAnimWidth, 0, 8); |
|
|
|
|
} else { |
|
|
|
|
/*
|
|
|
|
|
app_fatal( |
|
|
|
|
@ -937,7 +937,7 @@ static void scrollrt_draw_clipped_dungeon(BYTE *pBuff, int sx, int sy, int dx, i
|
|
|
|
|
} |
|
|
|
|
if (bArch != 0) { |
|
|
|
|
cel_transparency_active = TransList[bMap]; |
|
|
|
|
Cel2DecodeLightTrans(pBuff, pSpecialCels, bArch, 64, 0, 8); |
|
|
|
|
CelClippedBlitLightTransSafe(pBuff, pSpecialCels, bArch, 64, 0, 8); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -1186,7 +1186,7 @@ static void scrollrt_draw_clipped_dungeon_2(BYTE *pBuff, int sx, int sy, int ski
|
|
|
|
|
negMon = dMonster[sx][sy - 1]; |
|
|
|
|
|
|
|
|
|
if (visiondebug && bFlag & BFLAG_LIT) { |
|
|
|
|
Cel2DecodeHdrOnly(pBuff, pSquareCel, 1, 64, CelSkip, 8); |
|
|
|
|
CelClippedBlitSafe(pBuff, pSquareCel, 1, 64, CelSkip, 8); |
|
|
|
|
} |
|
|
|
|
if (MissilePreFlag && bFlag & BFLAG_MISSILE) { |
|
|
|
|
DrawClippedMissile(sx, sy, dx, dy, CelSkip, 8, 1); |
|
|
|
|
@ -1203,9 +1203,9 @@ static void scrollrt_draw_clipped_dungeon_2(BYTE *pBuff, int sx, int sy, int ski
|
|
|
|
|
nCel = pDeadGuy->_deadFrame; |
|
|
|
|
if (nCel >= 1 && pFrameTable[0] <= 50 && nCel <= (int)pFrameTable[0]) { |
|
|
|
|
if (pDeadGuy->_deadtrans != 0) { |
|
|
|
|
Cl2DecodeFrm5(px, dy, pCelBuff, nCel, pDeadGuy->_deadWidth, CelSkip, 8, pDeadGuy->_deadtrans); |
|
|
|
|
Cl2DrawLightTblSafe(px, dy, pCelBuff, nCel, pDeadGuy->_deadWidth, CelSkip, 8, pDeadGuy->_deadtrans); |
|
|
|
|
} else { |
|
|
|
|
Cl2DecodeFrm6(px, dy, pCelBuff, pDeadGuy->_deadFrame, pDeadGuy->_deadWidth, CelSkip, 8); |
|
|
|
|
Cl2DrawLightSafe(px, dy, pCelBuff, pDeadGuy->_deadFrame, pDeadGuy->_deadWidth, CelSkip, 8); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
// app_fatal("Clipped dead sub2: frame %d of %d, deadnum==%d", nCel, pFrameTable[0], (bDead & 0x1F) - 1);
|
|
|
|
|
@ -1228,9 +1228,9 @@ static void scrollrt_draw_clipped_dungeon_2(BYTE *pBuff, int sx, int sy, int ski
|
|
|
|
|
if (nCel >= 1 && pFrameTable[0] <= 50 && nCel <= (int)pFrameTable[0]) { |
|
|
|
|
px = dx - pItem->_iAnimWidth2; |
|
|
|
|
if (bItem - 1 == pcursitem) { |
|
|
|
|
CelDrawHdrClrHL(181, px, dy, pCelBuff, nCel, pItem->_iAnimWidth, CelSkip, 8); |
|
|
|
|
CelBlitOutlineSafe(181, px, dy, pCelBuff, nCel, pItem->_iAnimWidth, CelSkip, 8); |
|
|
|
|
} |
|
|
|
|
Cel2DecodeHdrLight(px, dy, pItem->_iAnimData, pItem->_iAnimFrame, pItem->_iAnimWidth, CelSkip, 8); |
|
|
|
|
CelDrawLightSafe(px, dy, pItem->_iAnimData, pItem->_iAnimFrame, pItem->_iAnimWidth, CelSkip, 8); |
|
|
|
|
} else { |
|
|
|
|
/*
|
|
|
|
|
app_fatal( |
|
|
|
|
@ -1273,7 +1273,7 @@ static void scrollrt_draw_clipped_dungeon_2(BYTE *pBuff, int sx, int sy, int ski
|
|
|
|
|
px = dx + pMonster->_mxoff - pMonster->MType->width2; |
|
|
|
|
py = dy + pMonster->_myoff; |
|
|
|
|
if (draw_monster_num == pcursmonst) { |
|
|
|
|
Cl2DecodeClrHL(233, px, py, pMonster->_mAnimData, pMonster->_mAnimFrame, pMonster->MType->width, CelSkip, 8); |
|
|
|
|
Cl2DrawOutlineSafe(233, px, py, pMonster->_mAnimData, pMonster->_mAnimFrame, pMonster->MType->width, CelSkip, 8); |
|
|
|
|
} |
|
|
|
|
DrawClippedMonster(sx, sy, px, py, draw_monster_num, CelSkip, 8); |
|
|
|
|
if (eflag && !pMonster->_meflag) { |
|
|
|
|
@ -1316,7 +1316,7 @@ static void scrollrt_draw_clipped_dungeon_2(BYTE *pBuff, int sx, int sy, int ski
|
|
|
|
|
px = dx + pMonster->_mxoff - pMonster->MType->width2; |
|
|
|
|
py = dy + pMonster->_myoff; |
|
|
|
|
if (draw_monster_num == pcursmonst) { |
|
|
|
|
Cl2DecodeClrHL(233, px, py, pMonster->_mAnimData, pMonster->_mAnimFrame, pMonster->MType->width, CelSkip, 8); |
|
|
|
|
Cl2DrawOutlineSafe(233, px, py, pMonster->_mAnimData, pMonster->_mAnimFrame, pMonster->MType->width, CelSkip, 8); |
|
|
|
|
} |
|
|
|
|
DrawClippedMonster(sx, sy, px, py, draw_monster_num, CelSkip, 8); |
|
|
|
|
if (eflag && !pMonster->_meflag) { |
|
|
|
|
@ -1348,9 +1348,9 @@ static void scrollrt_draw_clipped_dungeon_2(BYTE *pBuff, int sx, int sy, int ski
|
|
|
|
|
if (nCel >= 1 && pFrameTable[0] <= 50 && nCel <= (int)pFrameTable[0]) { |
|
|
|
|
px = dx - pItem->_iAnimWidth2; |
|
|
|
|
if (bItem - 1 == pcursitem) { |
|
|
|
|
CelDrawHdrClrHL(181, px, dy, pCelBuff, nCel, pItem->_iAnimWidth, CelSkip, 8); |
|
|
|
|
CelBlitOutlineSafe(181, px, dy, pCelBuff, nCel, pItem->_iAnimWidth, CelSkip, 8); |
|
|
|
|
} |
|
|
|
|
Cel2DecodeHdrLight(px, dy, pItem->_iAnimData, pItem->_iAnimFrame, pItem->_iAnimWidth, CelSkip, 8); |
|
|
|
|
CelDrawLightSafe(px, dy, pItem->_iAnimData, pItem->_iAnimFrame, pItem->_iAnimWidth, CelSkip, 8); |
|
|
|
|
} else { |
|
|
|
|
/*
|
|
|
|
|
app_fatal( |
|
|
|
|
@ -1369,7 +1369,7 @@ static void scrollrt_draw_clipped_dungeon_2(BYTE *pBuff, int sx, int sy, int ski
|
|
|
|
|
} |
|
|
|
|
if (bArch != 0) { |
|
|
|
|
cel_transparency_active = TransList[bMap]; |
|
|
|
|
Cel2DecodeLightTrans(pBuff, pSpecialCels, bArch, 64, CelSkip, 8); |
|
|
|
|
CelClippedBlitLightTransSafe(pBuff, pSpecialCels, bArch, 64, CelSkip, 8); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -1551,7 +1551,7 @@ static void scrollrt_draw_dungeon(BYTE *pBuff, int sx, int sy, int capChunks, in
|
|
|
|
|
negMon = dMonster[sx][sy - 1]; |
|
|
|
|
|
|
|
|
|
if (visiondebug && bFlag & BFLAG_LIT) { |
|
|
|
|
CelDecodeHdrOnly(pBuff, pSquareCel, 1, 64, 0, CelCap); |
|
|
|
|
CelClippedBlit(pBuff, pSquareCel, 1, 64, 0, CelCap); |
|
|
|
|
} |
|
|
|
|
tx = dx - 96; |
|
|
|
|
ty = dy - 16; |
|
|
|
|
@ -1572,9 +1572,9 @@ static void scrollrt_draw_dungeon(BYTE *pBuff, int sx, int sy, int capChunks, in
|
|
|
|
|
nCel = pDeadGuy->_deadFrame; |
|
|
|
|
if (nCel >= 1 && pFrameTable[0] <= 50 && nCel <= (int)pFrameTable[0]) { |
|
|
|
|
if (pDeadGuy->_deadtrans != 0) { |
|
|
|
|
Cl2DecodeFrm3(px, dy, pCelBuff, nCel, pDeadGuy->_deadWidth, 0, CelCap, pDeadGuy->_deadtrans); |
|
|
|
|
Cl2DrawLightTbl(px, dy, pCelBuff, nCel, pDeadGuy->_deadWidth, 0, CelCap, pDeadGuy->_deadtrans); |
|
|
|
|
} else { |
|
|
|
|
Cl2DecodeLightTbl(px, dy, pCelBuff, pDeadGuy->_deadFrame, pDeadGuy->_deadWidth, 0, CelCap); |
|
|
|
|
Cl2DrawLight(px, dy, pCelBuff, pDeadGuy->_deadFrame, pDeadGuy->_deadWidth, 0, CelCap); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
// app_fatal("Unclipped dead: frame %d of %d, deadnum==%d", nCel, pFrameTable[0], (bDead & 0x1F) - 1);
|
|
|
|
|
@ -1597,9 +1597,9 @@ static void scrollrt_draw_dungeon(BYTE *pBuff, int sx, int sy, int capChunks, in
|
|
|
|
|
if (nCel >= 1 && pFrameTable[0] <= 50 && nCel <= (int)pFrameTable[0]) { |
|
|
|
|
px = dx - pItem->_iAnimWidth2; |
|
|
|
|
if (bItem - 1 == pcursitem) { |
|
|
|
|
CelDecodeClr(181, px, dy, pCelBuff, nCel, pItem->_iAnimWidth, 0, CelCap); |
|
|
|
|
CelBlitOutline(181, px, dy, pCelBuff, nCel, pItem->_iAnimWidth, 0, CelCap); |
|
|
|
|
} |
|
|
|
|
CelDecodeHdrLightOnly(px, dy, pItem->_iAnimData, pItem->_iAnimFrame, pItem->_iAnimWidth, 0, CelCap); |
|
|
|
|
CelClippedDrawLight(px, dy, pItem->_iAnimData, pItem->_iAnimFrame, pItem->_iAnimWidth, 0, CelCap); |
|
|
|
|
} else { |
|
|
|
|
// app_fatal("Draw \"%s\" Item 1: frame %d of %d, item type==%d", pItem->_iIName, nCel, pFrameTable[0], pItem->_itype);
|
|
|
|
|
} |
|
|
|
|
@ -1635,7 +1635,7 @@ static void scrollrt_draw_dungeon(BYTE *pBuff, int sx, int sy, int capChunks, in
|
|
|
|
|
px = dx + pMonster->_mxoff - pMonster->MType->width2; |
|
|
|
|
py = dy + pMonster->_myoff; |
|
|
|
|
if (draw_monster_num == pcursmonst) { |
|
|
|
|
Cl2DecodeFrm2(233, px, py, pMonster->_mAnimData, pMonster->_mAnimFrame, pMonster->MType->width, 0, CelCap); |
|
|
|
|
Cl2DrawOutline(233, px, py, pMonster->_mAnimData, pMonster->_mAnimFrame, pMonster->MType->width, 0, CelCap); |
|
|
|
|
} |
|
|
|
|
DrawMonster(sx, sy, px, py, draw_monster_num, 0, CelCap); |
|
|
|
|
if (eflag && !pMonster->_meflag) { |
|
|
|
|
@ -1678,7 +1678,7 @@ static void scrollrt_draw_dungeon(BYTE *pBuff, int sx, int sy, int capChunks, in
|
|
|
|
|
px = dx + pMonster->_mxoff - pMonster->MType->width2; |
|
|
|
|
py = dy + pMonster->_myoff; |
|
|
|
|
if (draw_monster_num == pcursmonst) { |
|
|
|
|
Cl2DecodeFrm2(233, px, py, pMonster->_mAnimData, pMonster->_mAnimFrame, pMonster->MType->width, 0, CelCap); |
|
|
|
|
Cl2DrawOutline(233, px, py, pMonster->_mAnimData, pMonster->_mAnimFrame, pMonster->MType->width, 0, CelCap); |
|
|
|
|
} |
|
|
|
|
DrawMonster(sx, sy, px, py, draw_monster_num, 0, CelCap); |
|
|
|
|
if (eflag && !pMonster->_meflag) { |
|
|
|
|
@ -1710,9 +1710,9 @@ static void scrollrt_draw_dungeon(BYTE *pBuff, int sx, int sy, int capChunks, in
|
|
|
|
|
if (nCel >= 1 && pFrameTable[0] <= 50 && nCel <= (int)pFrameTable[0]) { |
|
|
|
|
px = dx - pItem->_iAnimWidth2; |
|
|
|
|
if (bItem - 1 == pcursitem) { |
|
|
|
|
CelDecodeClr(181, px, dy, pCelBuff, nCel, pItem->_iAnimWidth, 0, CelCap); |
|
|
|
|
CelBlitOutline(181, px, dy, pCelBuff, nCel, pItem->_iAnimWidth, 0, CelCap); |
|
|
|
|
} |
|
|
|
|
CelDecodeHdrLightOnly(px, dy, pItem->_iAnimData, pItem->_iAnimFrame, pItem->_iAnimWidth, 0, CelCap); |
|
|
|
|
CelClippedDrawLight(px, dy, pItem->_iAnimData, pItem->_iAnimFrame, pItem->_iAnimWidth, 0, CelCap); |
|
|
|
|
} else { |
|
|
|
|
// app_fatal("Draw \"%s\" Item 2: frame %d of %d, item type==%d", pItem->_iIName, nCel, pFrameTable[0], pItem->_itype);
|
|
|
|
|
} |
|
|
|
|
@ -1724,7 +1724,7 @@ static void scrollrt_draw_dungeon(BYTE *pBuff, int sx, int sy, int capChunks, in
|
|
|
|
|
} |
|
|
|
|
if (bArch != 0) { |
|
|
|
|
cel_transparency_active = TransList[bMap]; |
|
|
|
|
CelDecodeHdrLightTrans(pBuff, pSpecialCels, bArch, 64, 0, CelCap); |
|
|
|
|
CelClippedBlitLightTrans(pBuff, pSpecialCels, bArch, 64, 0, CelCap); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|