Browse Source

Clena up M_ClearSquares

pull/25/head
Anders Jenbo 8 years ago committed by Dennis Duda
parent
commit
0413ca8ee9
  1. 54
      Source/monster.cpp

54
Source/monster.cpp

@ -2039,50 +2039,24 @@ void __fastcall M_StartEat(int i)
void __fastcall M_ClearSquares(int i)
{
int v1; // edx
int v2; // eax
int v3; // esi
int v4; // ecx
int v5; // edi
int v6; // [esp+8h] [ebp-Ch]
_DWORD *v7; // [esp+Ch] [ebp-8h]
int v8; // [esp+10h] [ebp-4h]
int mx = monster[i]._moldx;
int my = monster[i]._moldy;
int m1 = -1 - i;
int m2 = i + 1;
v1 = monster[i]._moldx;
v2 = monster[i]._moldy;
v3 = -1 - i;
v6 = i + 1;
v4 = v2 - 1;
v5 = v2 + 1;
if ( (unsigned char)(__OFSUB__(v2 - 1, v2 + 1) ^ 1) | (v2 - 1 == v2 + 1) )
{
do
{
if ( v4 >= 0 && v4 < 112 )
{
v8 = v1 - 1;
if ( (unsigned char)(__OFSUB__(v1 - 1, v1 + 1) ^ 1) | (v1 - 1 == v1 + 1) )
{
v7 = (_DWORD *)((char *)dMonster + 4 * (v4 + 112 * (v1 - 1)));
do
{
if ( v8 >= 0 && v8 < 112 && (*v7 == v3 || *v7 == v6) )
*v7 = 0;
++v8;
v7 += 112;
}
while ( v8 <= v1 + 1 );
}
for ( int y = my - 1; y <= my + 1; y++ ) {
if ( y >= 0 && y < MAXDUNY ) {
for ( int x = mx - 1; x <= mx + 1; x++ ) {
if ( x >= 0 && x < MAXDUNX && (dMonster[x][y] == m1 || dMonster[x][y] == m2) )
dMonster[x][y] = 0;
}
++v4;
v5 = v2 + 1;
}
while ( v4 <= v2 + 1 );
}
if ( v1 + 1 < 112 )
dFlags[v1 + 1][v2] &= ~DFLAG_MONSTER;
if ( v5 < 112 )
dFlags[v1][v2 + 1] &= ~DFLAG_MONSTER;
if ( mx + 1 < MAXDUNX )
dFlags[mx + 1][my] &= ~DFLAG_MONSTER;
if ( my + 1 < MAXDUNY )
dFlags[mx][my + 1] &= ~DFLAG_MONSTER;
}
void __fastcall M_GetKnockback(int i)

Loading…
Cancel
Save