From 0413ca8ee9799d13e89a867e75122b0991e1ba4a Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Fri, 12 Oct 2018 03:28:19 +0200 Subject: [PATCH] Clena up M_ClearSquares --- Source/monster.cpp | 54 ++++++++++++---------------------------------- 1 file changed, 14 insertions(+), 40 deletions(-) diff --git a/Source/monster.cpp b/Source/monster.cpp index 7783debe0..bd3b9cfc3 100644 --- a/Source/monster.cpp +++ b/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)