From 6fdfee56a38be28aecd432333de695006a8bfb0a Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Wed, 17 Apr 2019 00:52:24 +0200 Subject: [PATCH] Clean up GetSuperItemLoc --- Source/items.cpp | 46 +++++++++++----------------------------------- 1 file changed, 11 insertions(+), 35 deletions(-) diff --git a/Source/items.cpp b/Source/items.cpp index 4141a0984..a8ee344bd 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -1534,41 +1534,17 @@ void GetSuperItemSpace(int x, int y, char inum) void GetSuperItemLoc(int x, int y, int *xx, int *yy) { - signed int v4; // edi - signed int v5; // ebx - int v6; // esi - int v8; // [esp+Ch] [ebp-10h] - int v9; // [esp+10h] [ebp-Ch] - signed int v10; // [esp+14h] [ebp-8h] - signed int v11; // [esp+18h] [ebp-4h] - - v9 = y; - v8 = x; - v11 = 1; - v4 = -1; - while (1) { - v5 = v4; - if (v4 <= v11) - break; - LABEL_7: - ++v11; - if (--v4 <= -50) - return; - } -LABEL_3: - v10 = v4; - *yy = v5 + v9; - v6 = v4 + v8; - while (1) { - *xx = v6; - if (ItemSpaceOk(v6, *yy)) - break; - ++v10; - ++v6; - if (v10 > v11) { - if (++v5 <= v11) - goto LABEL_3; - goto LABEL_7; + int i, j, k; + + for (k = 1; k < 50; k++) { + for (j = -k; j <= k; j++) { + *yy = y + j; + for (i = -k; i <= k; i++) { + *xx = i + x; + if (ItemSpaceOk(*xx, *yy)) { + return; + } + } } } }