Browse Source

Clean up StartAttack, StartRangeAttack & StartPlrBlock

pull/4/head
Anders Jenbo 8 years ago
parent
commit
f550b618ed
  1. 115
      Source/player.cpp

115
Source/player.cpp

@ -1666,92 +1666,69 @@ LABEL_22:
void __fastcall StartAttack(int pnum, int d)
{
int v2; // edi
int v3; // ebp
int v4; // esi
int v5; // ST08_4
v2 = pnum;
v3 = d;
if ( (unsigned int)pnum >= MAX_PLRS )
if ( (DWORD)pnum >= MAX_PLRS ) {
TermMsg("StartAttack: illegal player %d", pnum);
v4 = v2;
if ( !plr[v2]._pInvincible || plr[v4]._pHitPoints || v2 != myplr )
{
if ( !(plr[pnum]._pGFXLoad & PFILE_ATTACK) ) {
LoadPlrGFX(pnum, PFILE_ATTACK);
}
v5 = plr[v4]._pAWidth;
NewPlrAnim(v2, plr[0]._pAAnim[v3 + 5430 * v2], plr[v4]._pAFrames, 0, v5);
plr[v4]._pmode = 4;
FixPlayerLocation(v2, v3);
SetPlayerOld(v2);
}
else
{
SyncPlrKill(v2, -1);
if ( plr[pnum]._pInvincible && !plr[pnum]._pHitPoints && pnum == myplr ) {
SyncPlrKill(pnum, -1);
return;
}
if ( !(plr[pnum]._pGFXLoad & PFILE_ATTACK) ) {
LoadPlrGFX(pnum, PFILE_ATTACK);
}
NewPlrAnim(pnum, plr[pnum]._pAAnim[d], plr[pnum]._pAFrames, 0, plr[pnum]._pAWidth);
plr[pnum]._pmode = PM_ATTACK;
FixPlayerLocation(pnum, d);
SetPlayerOld(pnum);
}
void __fastcall StartRangeAttack(int pnum, int d, int cx, int cy)
{
int v4; // edi
int v5; // esi
int v6; // ST08_4
int a2a; // [esp+8h] [ebp-4h]
v4 = pnum;
a2a = d;
if ( (unsigned int)pnum >= MAX_PLRS )
if ( (DWORD)pnum >= MAX_PLRS ) {
TermMsg("StartRangeAttack: illegal player %d", pnum);
v5 = v4;
if ( !plr[v4]._pInvincible || plr[v5]._pHitPoints || v4 != myplr )
{
if ( !(plr[pnum]._pGFXLoad & PFILE_ATTACK) ) {
LoadPlrGFX(pnum, PFILE_ATTACK);
}
v6 = plr[v5]._pAWidth;
NewPlrAnim(v4, plr[0]._pAAnim[a2a + 5430 * v4], plr[v5]._pAFrames, 0, v6);
plr[v5]._pmode = PM_RATTACK;
FixPlayerLocation(v4, a2a);
SetPlayerOld(v4);
plr[v5]._pVar1 = cx;
plr[v5]._pVar2 = cy;
}
else
{
SyncPlrKill(v4, -1);
if ( plr[pnum]._pInvincible && !plr[pnum]._pHitPoints && pnum == myplr ) {
SyncPlrKill(pnum, -1);
return;
}
if ( !(plr[pnum]._pGFXLoad & PFILE_ATTACK) ) {
LoadPlrGFX(pnum, PFILE_ATTACK);
}
NewPlrAnim(pnum, plr[pnum]._pAAnim[d], plr[pnum]._pAFrames, 0, plr[pnum]._pAWidth);
plr[pnum]._pmode = PM_RATTACK;
FixPlayerLocation(pnum, d);
SetPlayerOld(pnum);
plr[pnum]._pVar1 = cx;
plr[pnum]._pVar2 = cy;
}
void __fastcall StartPlrBlock(int pnum, int dir)
{
int v2; // edi
int v3; // ebx
int v4; // esi
int v5; // ST08_4
v2 = pnum;
v3 = dir;
if ( (unsigned int)pnum >= MAX_PLRS )
if ( (DWORD)pnum >= MAX_PLRS ) {
TermMsg("StartPlrBlock: illegal player %d", pnum);
v4 = v2;
if ( !plr[v2]._pInvincible || plr[v4]._pHitPoints || v2 != myplr )
{
PlaySfxLoc(IS_ISWORD, plr[v4].WorldX, plr[v4].WorldY);
if ( !(plr[pnum]._pGFXLoad & PFILE_BLOCK) ) {
LoadPlrGFX(pnum, PFILE_BLOCK);
}
v5 = plr[v4]._pBWidth;
NewPlrAnim(v2, plr[0]._pBAnim[v3 + 5430 * v2], plr[v4]._pBFrames, 2, v5);
plr[v4]._pmode = PM_BLOCK;
FixPlayerLocation(v2, v3);
SetPlayerOld(v2);
}
else
{
SyncPlrKill(v2, -1);
if ( plr[pnum]._pInvincible && !plr[pnum]._pHitPoints && pnum == myplr ) {
SyncPlrKill(pnum, -1);
return;
}
PlaySfxLoc(IS_ISWORD, plr[pnum].WorldX, plr[pnum].WorldY);
if ( !(plr[pnum]._pGFXLoad & PFILE_BLOCK) ) {
LoadPlrGFX(pnum, PFILE_BLOCK);
}
NewPlrAnim(pnum, plr[pnum]._pBAnim[dir], plr[pnum]._pBFrames, 2, plr[pnum]._pBWidth);
plr[pnum]._pmode = PM_BLOCK;
FixPlayerLocation(pnum, dir);
SetPlayerOld(pnum);
}
void __fastcall StartSpell(int pnum, int d, int cx, int cy)

Loading…
Cancel
Save