Browse Source

Clean StartWalkStand

pull/4/head
Anders Jenbo 8 years ago committed by Dennis Duda
parent
commit
b3154efee4
  1. 69
      Source/player.cpp

69
Source/player.cpp

@ -1088,61 +1088,46 @@ void __fastcall FixPlayerLocation(int pnum, int dir)
void __fastcall StartStand(int pnum, int dir) void __fastcall StartStand(int pnum, int dir)
{ {
int v2; // ebx if ( (DWORD)pnum >= MAX_PLRS ) {
int v3; // edi
int v4; // esi
v2 = pnum;
v3 = dir;
if ( (unsigned int)pnum >= MAX_PLRS )
TermMsg("StartStand: illegal player %d", pnum); TermMsg("StartStand: illegal player %d", pnum);
v4 = v2; }
if ( !plr[v2]._pInvincible || plr[v4]._pHitPoints || v2 != myplr )
{ if ( !plr[pnum]._pInvincible || plr[pnum]._pHitPoints || pnum != myplr ) {
if ( !(plr[pnum]._pGFXLoad & PFILE_STAND) ) { if ( !(plr[pnum]._pGFXLoad & PFILE_STAND) ) {
LoadPlrGFX(pnum, PFILE_STAND); LoadPlrGFX(pnum, PFILE_STAND);
} }
NewPlrAnim(v2, plr[0]._pNAnim[v3 + 5430 * v2], plr[v4]._pNFrames, 3, plr[v4]._pNWidth);
plr[v4]._pmode = PM_STAND; NewPlrAnim(pnum, plr[pnum]._pNAnim[dir], plr[pnum]._pNFrames, 3, plr[pnum]._pNWidth);
FixPlayerLocation(v2, v3); plr[pnum]._pmode = PM_STAND;
FixPlrWalkTags(v2); FixPlayerLocation(pnum, dir);
dPlayer[plr[v4].WorldX][plr[v4].WorldY] = v2 + 1; FixPlrWalkTags(pnum);
SetPlayerOld(v2); dPlayer[plr[pnum].WorldX][plr[pnum].WorldY] = pnum + 1;
} SetPlayerOld(pnum);
else } else {
{ SyncPlrKill(pnum, -1);
SyncPlrKill(v2, -1);
} }
} }
void __fastcall StartWalkStand(int pnum) void __fastcall StartWalkStand(int pnum)
{ {
int v1; // edi if ( (DWORD)pnum >= MAX_PLRS ) {
int v2; // esi
int v3; // eax
int v4; // eax
int v5; // eax
v1 = pnum;
if ( (unsigned int)pnum >= MAX_PLRS )
TermMsg("StartWalkStand: illegal player %d", pnum); TermMsg("StartWalkStand: illegal player %d", pnum);
v2 = v1; }
v3 = plr[v1].WorldX;
plr[v2]._pmode = 0; plr[pnum]._pmode = 0;
plr[v2]._px = v3; plr[pnum]._px = plr[pnum].WorldX;
plr[v2]._py = plr[v1].WorldY; plr[pnum]._py = plr[pnum].WorldY;
plr[v2]._pxoff = 0; plr[pnum]._pxoff = 0;
plr[v2]._pyoff = 0; plr[pnum]._pyoff = 0;
InitPlayerLoc(v1, 0);
if ( v1 == myplr ) InitPlayerLoc(pnum, 0);
{
v4 = plr[v2].WorldX; if ( pnum == myplr ) {
ScrollInfo._sxoff = 0; ScrollInfo._sxoff = 0;
ViewX = v4;
v5 = plr[v2].WorldY;
ScrollInfo._syoff = 0; ScrollInfo._syoff = 0;
ScrollInfo._sdir = 0; ScrollInfo._sdir = 0;
ViewY = v5; ViewX = plr[pnum].WorldX;
ViewY = plr[pnum].WorldY;
} }
} }

Loading…
Cancel
Save