Browse Source

Clean up M_CheckEFlag.

pull/100/head
Sergey Semushin 7 years ago committed by Anders Jenbo
parent
commit
e336f56a9d
  1. 39
      Source/monster.cpp
  2. 2
      structs.h

39
Source/monster.cpp

@ -1215,25 +1215,28 @@ int M_GetDir(int i)
void M_CheckEFlag(int i)
{
int v1; // ecx
int v2; // edi
char *v3; // eax
signed int v4; // edx
int f, j;
int x, y;
WORD *m;
v1 = i;
v2 = 0;
v3 = (char *)dpiece_defs_map_2 + 32 * (112 * (monster[v1]._mx - 1) + monster[v1]._my + 1);
if (v3 < (char *)dpiece_defs_map_2)
goto LABEL_9;
v4 = 2;
do
v2 |= *(unsigned short *)&v3[2 * v4++];
while (v4 < 10);
if (v2 | dArch[monster[v1]._mx - 1][monster[v1]._my + 1])
monster[v1]._meflag = 1;
else
LABEL_9:
monster[v1]._meflag = 0;
x = monster[i]._mx - 1;
y = monster[i]._my + 1;
f = 0;
m = dpiece_defs_map_2[x][y].mt;
if (m >= dpiece_defs_map_2[0][0].mt) {
for (j = 2; j < 10; j++) {
f |= m[j];
}
} else {
monster[i]._meflag = FALSE;
return;
}
if (f | dArch[x][y])
monster[i]._meflag = TRUE;
else {
monster[i]._meflag = FALSE;
}
}
void M_StartStand(int i, int md)

2
structs.h

@ -566,7 +566,7 @@ typedef struct MonsterStruct { // note: missing field _mAFNum
int _mAnimCnt;
int _mAnimLen;
int _mAnimFrame;
int _meflag;
BOOL _meflag;
BOOL _mDelFlag;
int _mVar1;
int _mVar2;

Loading…
Cancel
Save