Browse Source

InitMissiles bin exact (#686)

pull/44/head
qndel 7 years ago committed by Anders Jenbo
parent
commit
e2090503e1
  1. 75
      Source/missiles.cpp

75
Source/missiles.cpp

@ -1503,12 +1503,12 @@ void __fastcall LoadMissileGFX(BYTE mi)
void __cdecl InitMissileGFX() void __cdecl InitMissileGFX()
{ {
int mi; int mi;
for (mi = 0; misfiledata[mi].mAnimFAmt; mi++) { for (mi = 0; misfiledata[mi].mAnimFAmt; mi++) {
if (!(misfiledata[mi].mFlags & MFLAG_HIDDEN)) if (!(misfiledata[mi].mFlags & MFLAG_HIDDEN))
LoadMissileGFX(mi); LoadMissileGFX(mi);
} }
} }
void __fastcall FreeMissileGFX(int mi) void __fastcall FreeMissileGFX(int mi)
@ -1565,54 +1565,35 @@ void __cdecl FreeMissiles2()
void __cdecl InitMissiles() void __cdecl InitMissiles()
{ {
int v0; // eax int mi, src, i, j;
int i; // esi
int v2; // eax plr[myplr]._pSpellFlags &= ~0x1;
int v3; // eax if (plr[myplr]._pInfraFlag == TRUE) {
int v4; // edx
int *v5; // eax
signed int v6; // ecx
_BYTE *v7; // eax
signed int v8; // edx
v0 = myplr;
_LOBYTE(plr[v0]._pSpellFlags) &= 0xFEu;
if (plr[v0]._pInfraFlag == 1) {
for (i = 0; i < nummissiles; ++i) { for (i = 0; i < nummissiles; ++i) {
v2 = missileactive[i]; mi = missileactive[i];
if (missile[v2]._mitype == MIS_INFRA) { if (missile[mi]._mitype == MIS_INFRA) {
v3 = missile[v2]._misource; src = missile[mi]._misource;
if (v3 == myplr) if (src == myplr)
CalcPlrItemVals(v3, 1); CalcPlrItemVals(src, 1);
} }
} }
} }
v4 = 0;
memset(missileactive, 0, sizeof(missileactive));
nummissiles = 0; nummissiles = 0;
do { for (i = 0; i < MAXMISSILES; i++) {
missileavail[v4] = v4; missileavail[i] = i;
++v4; missileactive[i] = 0;
} while (v4 < MAXMISSILES); }
numchains = 0; numchains = 0;
v5 = &chain[0]._mitype; for (i = 0; i < MAXMISSILES; i++) {
do { chain[i].idx = -1;
*(v5 - 1) = -1; chain[i]._mitype = 0;
*v5 = 0; chain[i]._mirange = 0;
v5[1] = 0; }
v5 += 3; for (j = 0; j < MAXDUNY; j++) {
} while ((signed int)v5 < (signed int)&chain[MAXMISSILES]._mitype); for (i = 0; i < MAXDUNX; i++) {
v6 = 0; dFlags[i][j] &= ~DFLAG_MISSILE;
do { }
v7 = (unsigned char *)dFlags + v6; }
v8 = 112;
do {
*v7 &= ~DFLAG_MISSILE;
v7 += 112;
--v8;
} while (v8);
++v6;
} while (v6 < 112);
} }
// 64CCD8: using guessed type int numchains; // 64CCD8: using guessed type int numchains;

Loading…
Cancel
Save