|
|
|
|
@ -156,14 +156,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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -199,11 +199,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 { |
|
|
|
|
@ -227,11 +227,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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -268,11 +268,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 { |
|
|
|
|
@ -296,11 +296,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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -342,7 +342,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) |
|
|
|
|
@ -352,9 +352,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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -395,7 +395,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) |
|
|
|
|
@ -405,9 +405,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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -439,12 +439,12 @@ 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); |
|
|
|
|
#ifndef HELLFIRE |
|
|
|
|
if (plr[pnum].pManaShield) |
|
|
|
|
Cl2DecodeFrm1( |
|
|
|
|
Cl2Draw( |
|
|
|
|
px + plr[pnum]._pAnimWidth2 - misfiledata[MFILE_MANASHLD].mAnimWidth2[0], |
|
|
|
|
py, |
|
|
|
|
misfiledata[MFILE_MANASHLD].mAnimData[0], |
|
|
|
|
@ -454,10 +454,10 @@ static void DrawPlayer(int pnum, int x, int y, int px, int py, BYTE *pCelBuff, i
|
|
|
|
|
CelCap); |
|
|
|
|
#endif |
|
|
|
|
} 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); |
|
|
|
|
#ifndef HELLFIRE |
|
|
|
|
if (plr[pnum].pManaShield) |
|
|
|
|
Cl2DecodeFrm3( |
|
|
|
|
Cl2DrawLightTbl( |
|
|
|
|
px + plr[pnum]._pAnimWidth2 - misfiledata[MFILE_MANASHLD].mAnimWidth2[0], |
|
|
|
|
py, |
|
|
|
|
misfiledata[MFILE_MANASHLD].mAnimData[0], |
|
|
|
|
@ -473,10 +473,10 @@ 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); |
|
|
|
|
#ifndef HELLFIRE |
|
|
|
|
if (plr[pnum].pManaShield) |
|
|
|
|
Cl2DecodeLightTbl( |
|
|
|
|
Cl2DrawLight( |
|
|
|
|
px + plr[pnum]._pAnimWidth2 - misfiledata[MFILE_MANASHLD].mAnimWidth2[0], |
|
|
|
|
py, |
|
|
|
|
misfiledata[MFILE_MANASHLD].mAnimData[0], |
|
|
|
|
@ -518,12 +518,12 @@ 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); |
|
|
|
|
#ifndef HELLFIRE |
|
|
|
|
if (plr[pnum].pManaShield) |
|
|
|
|
Cl2DecodeFrm4( |
|
|
|
|
Cl2DrawSafe( |
|
|
|
|
px + plr[pnum]._pAnimWidth2 - misfiledata[MFILE_MANASHLD].mAnimWidth2[0], |
|
|
|
|
py, |
|
|
|
|
misfiledata[MFILE_MANASHLD].mAnimData[0], |
|
|
|
|
@ -533,10 +533,10 @@ static void DrawClippedPlayer(int pnum, int x, int y, int px, int py, BYTE *pCel
|
|
|
|
|
CelCap); |
|
|
|
|
#endif |
|
|
|
|
} 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); |
|
|
|
|
#ifndef HELLFIRE |
|
|
|
|
if (plr[pnum].pManaShield) |
|
|
|
|
Cl2DecodeFrm5( |
|
|
|
|
Cl2DrawLightTblSafe( |
|
|
|
|
px + plr[pnum]._pAnimWidth2 - misfiledata[MFILE_MANASHLD].mAnimWidth2[0], |
|
|
|
|
py, |
|
|
|
|
misfiledata[MFILE_MANASHLD].mAnimData[0], |
|
|
|
|
@ -552,10 +552,10 @@ 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); |
|
|
|
|
#ifndef HELLFIRE |
|
|
|
|
if (plr[pnum].pManaShield) |
|
|
|
|
Cl2DecodeFrm6( |
|
|
|
|
Cl2DrawLightSafe( |
|
|
|
|
px + plr[pnum]._pAnimWidth2 - misfiledata[MFILE_MANASHLD].mAnimWidth2[0], |
|
|
|
|
py, |
|
|
|
|
misfiledata[MFILE_MANASHLD].mAnimData[0], |
|
|
|
|
@ -655,13 +655,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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -712,11 +712,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); |
|
|
|
|
@ -796,7 +796,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); |
|
|
|
|
@ -813,9 +813,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);
|
|
|
|
|
@ -838,9 +838,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( |
|
|
|
|
@ -883,7 +883,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) { |
|
|
|
|
@ -926,7 +926,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) { |
|
|
|
|
@ -958,9 +958,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( |
|
|
|
|
@ -979,7 +979,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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -1228,7 +1228,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); |
|
|
|
|
@ -1245,9 +1245,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);
|
|
|
|
|
@ -1270,9 +1270,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( |
|
|
|
|
@ -1315,7 +1315,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) { |
|
|
|
|
@ -1358,7 +1358,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) { |
|
|
|
|
@ -1390,9 +1390,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( |
|
|
|
|
@ -1411,7 +1411,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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -1593,7 +1593,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; |
|
|
|
|
@ -1614,9 +1614,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);
|
|
|
|
|
@ -1639,9 +1639,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);
|
|
|
|
|
} |
|
|
|
|
@ -1677,7 +1677,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) { |
|
|
|
|
@ -1720,7 +1720,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) { |
|
|
|
|
@ -1752,9 +1752,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);
|
|
|
|
|
} |
|
|
|
|
@ -1766,7 +1766,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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|