Browse Source

AddL2Torches (bin exact)

pull/88/head
Sergey Semushin 7 years ago committed by Anders Jenbo
parent
commit
6fbea4654e
  1. 65
      Source/objects.cpp

65
Source/objects.cpp

@ -713,52 +713,27 @@ BOOL WallTrapLocOk(int xp, int yp)
void AddL2Torches()
{
int v0; // esi
int v1; // edi
char *v2; // ebx
//int v3; // eax
int(*v5)[112]; // [esp+Ch] [ebp-Ch]
int v6; // [esp+10h] [ebp-8h]
int(*v7)[112]; // [esp+14h] [ebp-4h]
int i, j, pn;
v0 = 0;
v7 = dPiece;
do {
v1 = 0;
v2 = &dObject[0][v0 - 1]; /* &dungeon[39][v0 + 39]; */
v5 = v7;
do {
//_LOBYTE(v3) = WallTrapLocOk(v1, v0);
if (!WallTrapLocOk(v1, v0))
goto LABEL_18;
v6 = (*v5)[0];
if ((*v5)[0] == 1) {
if (random(145, 3))
goto LABEL_18;
AddObject(OBJ_TORCHL2, v1, v0);
}
if (v6 == 5) {
if (random(145, 3))
goto LABEL_18;
AddObject(OBJ_TORCHR2, v1, v0);
}
if (v6 == 37) {
if (random(145, 10) || *(v2 - 111))
goto LABEL_18;
AddObject(OBJ_TORCHL, v1 - 1, v0);
}
if (v6 == 41) {
if (!random(145, 10) && !*v2)
AddObject(OBJ_TORCHR, v1, v0 - 1);
}
LABEL_18:
++v5;
++v1;
v2 += 112;
} while (v1 < 112);
v7 = (int(*)[112])((char *)v7 + 4);
++v0;
} while ((signed int)v7 < (signed int)dPiece[1]);
for (j = 0; j < MAXDUNY; j++) {
for (i = 0; i < MAXDUNX; i++) {
if (!WallTrapLocOk(i, j))
continue;
pn = dPiece[i][j];
if (pn == 1 && random(145, 3) == 0)
AddObject(OBJ_TORCHL2, i, j);
if (pn == 5 && random(145, 3) == 0)
AddObject(OBJ_TORCHR2, i, j);
if (pn == 37 && random(145, 10) == 0 && dObject[i - 1][j] == 0)
AddObject(OBJ_TORCHL, i - 1, j);
if (pn == 41 && random(145, 10) == 0 && dObject[i][j - 1] == 0)
AddObject(OBJ_TORCHR, i, j - 1);
}
}
}
BOOL TorchLocOK(int xp, int yp)

Loading…
Cancel
Save