Browse Source

AddRhino bin exact

pull/41/head
qndel 7 years ago
parent
commit
0c2940a807
  1. 71
      Source/missiles.cpp

71
Source/missiles.cpp

@ -2571,50 +2571,37 @@ void __fastcall miss_null_13(int mi, int sx, int sy, int dx, int dy, int midir,
void __fastcall AddRhino(int mi, int sx, int sy, int dx, int dy, int midir, int mienemy, int id, int dam)
{
int v9; // esi
CMonster *v10; // eax
char v11; // cl
AnimStruct *v12; // edi
int v13; // eax
CMonster *v14; // ecx
char v15; // cl
BOOLEAN v16; // zf
int i; // [esp+8h] [ebp-4h]
AnimStruct *anim;
v9 = id;
i = mi;
v10 = monster[id].MType;
v11 = v10->mtype;
if (v10->mtype < MT_HORNED || v11 > MT_OBLORD) {
if (v11 < MT_NSNAKE || (v12 = &v10->Anims[MA_ATTACK], v11 > MT_GSNAKE))
v12 = &v10->Anims[MA_WALK];
if (monster[id].MType->mtype < MT_HORNED || monster[id].MType->mtype > MT_OBLORD) {
if (monster[id].MType->mtype < MT_NSNAKE || monster[id].MType->mtype > MT_GSNAKE) {
anim = &monster[id].MType->Anims[MA_WALK];
} else {
anim = &monster[id].MType->Anims[MA_ATTACK];
}
} else {
v12 = &v10->Anims[MA_SPECIAL];
}
GetMissileVel(i, sx, sy, dx, dy, 18);
v13 = i;
missile[v13]._miAnimFlags = 0;
missile[v13]._mimfnum = midir;
missile[v13]._miAnimData = v12->Data[midir];
missile[v13]._miAnimDelay = v12->Rate;
missile[v13]._miAnimLen = v12->Frames;
v14 = monster[v9].MType;
missile[v13]._miAnimWidth = v14->width;
missile[v13]._miAnimWidth2 = v14->width2;
missile[v13]._miAnimAdd = 1;
v15 = v14->mtype;
if (v15 >= MT_NSNAKE && v15 <= MT_GSNAKE)
missile[v13]._miAnimFrame = 7;
missile[v13]._miVar1 = 0;
missile[v13]._miVar2 = 0;
v16 = monster[v9]._uniqtype == 0;
missile[v13]._miLightFlag = 1;
if (!v16) {
missile[v13]._miUniqTrans = (unsigned char)monster[v9]._uniqtrans + 1;
missile[v13]._mlid = (unsigned char)monster[v9].mlid;
}
missile[v13]._mirange = 256;
PutMissile(i);
anim = &monster[id].MType->Anims[MA_SPECIAL];
}
GetMissileVel(mi, sx, sy, dx, dy, 18);
missile[mi]._miAnimFlags = 0;
missile[mi]._mimfnum = midir;
missile[mi]._miAnimData = anim->Data[midir];
missile[mi]._miAnimDelay = anim->Rate;
missile[mi]._miAnimLen = anim->Frames;
missile[mi]._miAnimWidth = monster[id].MType->width;
missile[mi]._miAnimWidth2 = monster[id].MType->width2;
missile[mi]._miAnimAdd = 1;
if (monster[id].MType->mtype >= MT_NSNAKE && monster[id].MType->mtype <= MT_GSNAKE)
missile[mi]._miAnimFrame = 7;
missile[mi]._miVar1 = 0;
missile[mi]._miVar2 = 0;
missile[mi]._miLightFlag = 1;
if (monster[id]._uniqtype != 0) {
missile[mi]._miUniqTrans = monster[id]._uniqtrans + 1;
missile[mi]._mlid = monster[id].mlid;
}
missile[mi]._mirange = 256;
PutMissile(mi);
}
void __fastcall miss_null_32(int mi, int sx, int sy, int dx, int dy, int midir, int mienemy, int id, int dam)

Loading…
Cancel
Save