Browse Source

Correct AnimStruct names (#417)

Fixes #384
pull/25/head
Anders Jenbo 8 years ago committed by Robin Eklind
parent
commit
2db187faf5
  1. 8
      Source/dead.cpp
  2. 16
      Source/missiles.cpp
  3. 110
      Source/monster.cpp
  4. 9
      structs.h

8
Source/dead.cpp

@ -21,8 +21,8 @@ void __cdecl InitDead()
for (i=0; i < nummtypes; i++) { for (i=0; i < nummtypes; i++) {
if (!mtypes[Monsters[i].mtype]) { if (!mtypes[Monsters[i].mtype]) {
for ( j=0; j < 8; j++) for ( j=0; j < 8; j++)
dead[idx]._deadData[j] = Monsters[i].Anims[MA_DEATH].Frames[j]; dead[idx]._deadData[j] = Monsters[i].Anims[MA_DEATH].Data[j];
dead[idx]._deadFrame = Monsters[i].Anims[MA_DEATH].Rate; dead[idx]._deadFrame = Monsters[i].Anims[MA_DEATH].Frames;
dead[idx]._deadWidth = Monsters[i].flags_1; dead[idx]._deadWidth = Monsters[i].flags_1;
dead[idx]._deadWidth2 = Monsters[i].flags_2; dead[idx]._deadWidth2 = Monsters[i].flags_2;
dead[idx]._deadtrans = 0; dead[idx]._deadtrans = 0;
@ -53,8 +53,8 @@ void __cdecl InitDead()
int ii = monstactive[i]; int ii = monstactive[i];
if ( monster[ii]._uniqtype ) { if ( monster[ii]._uniqtype ) {
for (j=0; j < 8; j++) for (j=0; j < 8; j++)
dead[idx]._deadData[j] = monster[ii].MType->Anims[MA_DEATH].Frames[j]; dead[idx]._deadData[j] = monster[ii].MType->Anims[MA_DEATH].Data[j];
dead[idx]._deadFrame = monster[ii].MType->Anims[MA_DEATH].Rate; dead[idx]._deadFrame = monster[ii].MType->Anims[MA_DEATH].Frames;
dead[idx]._deadWidth = monster[ii].MType->flags_1; dead[idx]._deadWidth = monster[ii].MType->flags_1;
dead[idx]._deadWidth2 = monster[ii].MType->flags_2; dead[idx]._deadWidth2 = monster[ii].MType->flags_2;
dead[idx]._deadtrans = monster[ii]._uniqtrans + 4; dead[idx]._deadtrans = monster[ii]._uniqtrans + 4;

16
Source/missiles.cpp

@ -3384,9 +3384,9 @@ void __fastcall AddRhino(int mi, int sx, int sy, int dx, int dy, int midir, int
v13 = i; v13 = i;
missile[v13]._miAnimFlags = 0; missile[v13]._miAnimFlags = 0;
missile[v13]._mimfnum = midir; missile[v13]._mimfnum = midir;
missile[v13]._miAnimData = v12->Frames[midir]; missile[v13]._miAnimData = v12->Data[midir];
missile[v13]._miAnimDelay = v12->Delay; missile[v13]._miAnimDelay = v12->Rate;
missile[v13]._miAnimLen = v12->Rate; missile[v13]._miAnimLen = v12->Frames;
v14 = monster[v9].MType; v14 = monster[v9].MType;
missile[v13]._miAnimWidth = v14->flags_1; missile[v13]._miAnimWidth = v14->flags_1;
missile[v13]._miAnimWidth2 = v14->flags_2; missile[v13]._miAnimWidth2 = v14->flags_2;
@ -3424,9 +3424,9 @@ void __fastcall miss_null_32(int mi, int sx, int sy, int dx, int dy, int midir,
v12 = v10; v12 = v10;
missile[v12]._mimfnum = midir; missile[v12]._mimfnum = midir;
missile[v12]._miAnimFlags = 0; missile[v12]._miAnimFlags = 0;
missile[v12]._miAnimData = v11->Frames[midir]; missile[v12]._miAnimData = v11->Data[midir];
missile[v12]._miAnimDelay = v11->Delay; missile[v12]._miAnimDelay = v11->Rate;
missile[v12]._miAnimLen = v11->Rate; missile[v12]._miAnimLen = v11->Frames;
v13 = monster[id].MType; v13 = monster[id].MType;
missile[v12]._miAnimWidth = v13->flags_1; missile[v12]._miAnimWidth = v13->flags_1;
missile[v12]._miAnimWidth2 = v13->flags_2; missile[v12]._miAnimWidth2 = v13->flags_2;
@ -6439,7 +6439,7 @@ void __fastcall mi_null_32(int i)
missile[v2]._miyvel = -missile[v2]._miyvel; missile[v2]._miyvel = -missile[v2]._miyvel;
v14 = opposite[v13]; v14 = opposite[v13];
missile[v2]._mimfnum = v14; missile[v2]._mimfnum = v14;
v15 = monster[v4].MType->Anims[MA_WALK].Frames[v14]; v15 = monster[v4].MType->Anims[MA_WALK].Data[v14];
++missile[v2]._miVar2; ++missile[v2]._miVar2;
missile[v2]._miAnimData = v15; missile[v2]._miAnimData = v15;
if ( v10 > 0 ) if ( v10 > 0 )
@ -7407,7 +7407,7 @@ void __cdecl missiles_process_charge()
{ {
v7 = &v5->Anims[MA_SPECIAL]; v7 = &v5->Anims[MA_SPECIAL];
} }
missile[v2]._miAnimData = v7->Frames[v3]; missile[v2]._miAnimData = v7->Data[v3];
} }
} }
} }

110
Source/monster.cpp

@ -379,9 +379,9 @@ void __fastcall InitMonsterTRN(int monst, BOOL special)
for ( int k = 0; k < 8; k++ ) for ( int k = 0; k < 8; k++ )
{ {
Cl2ApplyTrans( Cl2ApplyTrans(
Monsters[monst].Anims[j].Frames[k], Monsters[monst].Anims[j].Data[k],
Monsters[monst].trans_file, Monsters[monst].trans_file,
Monsters[monst].Anims[j].Rate); Monsters[monst].Anims[j].Frames);
} }
} }
} }
@ -577,7 +577,7 @@ void __fastcall InitMonsterGFX(int monst)
for ( int i = 0; i < 8; i++ ) for ( int i = 0; i < 8; i++ )
{ {
Monsters[monst].Anims[anim].Frames[i] = Monsters[monst].Anims[anim].Data[i] =
&celBuf[((int *)celBuf)[i]]; &celBuf[((int *)celBuf)[i]];
} }
} }
@ -585,14 +585,14 @@ void __fastcall InitMonsterGFX(int monst)
{ {
for ( int i = 0; i < 8; i++ ) for ( int i = 0; i < 8; i++ )
{ {
Monsters[monst].Anims[anim].Frames[i] = celBuf; Monsters[monst].Anims[anim].Data[i] = celBuf;
} }
} }
} }
// TODO: either the AnimStruct members have wrong naming or the MonsterData ones it seems // TODO: either the AnimStruct members have wrong naming or the MonsterData ones it seems
Monsters[monst].Anims[anim].Rate = monsterdata[mtype].Frames[anim]; Monsters[monst].Anims[anim].Frames = monsterdata[mtype].Frames[anim];
Monsters[monst].Anims[anim].Delay = monsterdata[mtype].Rate[anim]; Monsters[monst].Anims[anim].Rate = monsterdata[mtype].Rate[anim];
} }
Monsters[monst].flags_1 = monsterdata[mtype].flags; Monsters[monst].flags_1 = monsterdata[mtype].flags;
@ -702,11 +702,11 @@ void __fastcall InitMonster(int i, int rd, int mtype, int x, int y)
monster[i].mName = monst->MData->mName; monster[i].mName = monst->MData->mName;
monster[i].MType = monst; monster[i].MType = monst;
monster[i].MData = monst->MData; monster[i].MData = monst->MData;
monster[i]._mAnimData = monst->Anims[MA_STAND].Frames[rd]; monster[i]._mAnimData = monst->Anims[MA_STAND].Data[rd];
monster[i]._mAnimDelay = monst->Anims[MA_STAND].Delay; monster[i]._mAnimDelay = monst->Anims[MA_STAND].Rate;
monster[i]._mAnimCnt = random(88, monst->Anims[MA_STAND].Delay - 1); monster[i]._mAnimCnt = random(88, monst->Anims[MA_STAND].Rate - 1);
monster[i]._mAnimLen = monst->Anims[MA_STAND].Rate; monster[i]._mAnimLen = monst->Anims[MA_STAND].Frames;
monster[i]._mAnimFrame = random(88, monst->Anims[MA_STAND].Rate - 1) + 1; monster[i]._mAnimFrame = random(88, monst->Anims[MA_STAND].Frames - 1) + 1;
if ( monst->mtype == MT_DIABLO ) if ( monst->mtype == MT_DIABLO )
{ {
@ -758,7 +758,7 @@ void __fastcall InitMonster(int i, int rd, int mtype, int x, int y)
if ( monster[i]._mAi == AI_GARG ) if ( monster[i]._mAi == AI_GARG )
{ {
monster[i]._mAnimData = monst->Anims[MA_SPECIAL].Frames[rd]; monster[i]._mAnimData = monst->Anims[MA_SPECIAL].Data[rd];
monster[i]._mAnimFrame = 1; monster[i]._mAnimFrame = 1;
monster[i]._mFlags |= 4u; monster[i]._mFlags |= 4u;
monster[i]._mmode = MM_SATTACK; monster[i]._mmode = MM_SATTACK;
@ -1107,7 +1107,7 @@ void __fastcall PlaceUniqueMonst(int uniqindex, int miniontype, int unpackfilesi
if ( Monst->_mAi != AI_GARG ) if ( Monst->_mAi != AI_GARG )
{ {
Monst->_mAnimData = Monst->MType->Anims[MA_STAND].Frames[Monst->_mdir]; Monst->_mAnimData = Monst->MType->Anims[MA_STAND].Data[Monst->_mdir];
Monst->_mAnimFrame = random(88, Monst->_mAnimLen - 1) + 1; Monst->_mAnimFrame = random(88, Monst->_mAnimLen - 1) + 1;
Monst->_mFlags &= 0xFFFFFFFB; Monst->_mFlags &= 0xFFFFFFFB;
Monst->_mmode = MM_STAND; Monst->_mmode = MM_STAND;
@ -1271,7 +1271,7 @@ void __fastcall PlaceGroup(int mtype, int num, int leaderf, int leader)
if ( monster[nummonsters]._mAi != AI_GARG ) if ( monster[nummonsters]._mAi != AI_GARG )
{ {
monster[nummonsters]._mAnimData = monster[nummonsters].MType->Anims[MA_STAND].Frames[monster[nummonsters]._mdir]; monster[nummonsters]._mAnimData = monster[nummonsters].MType->Anims[MA_STAND].Data[monster[nummonsters]._mdir];
monster[nummonsters]._mAnimFrame = random(88, monster[nummonsters]._mAnimLen - 1) + 1; monster[nummonsters]._mAnimFrame = random(88, monster[nummonsters]._mAnimLen - 1) + 1;
monster[nummonsters]._mFlags &= 0xFFFFFFFB; monster[nummonsters]._mFlags &= 0xFFFFFFFB;
monster[nummonsters]._mmode = MM_STAND; monster[nummonsters]._mmode = MM_STAND;
@ -1642,12 +1642,12 @@ int __fastcall AddMonster(int x, int y, int dir, int mtype, int InMap)
void __fastcall NewMonsterAnim(int i, AnimStruct *anim, int md) void __fastcall NewMonsterAnim(int i, AnimStruct *anim, int md)
{ {
monster[i]._mAnimData = anim->Frames[md]; monster[i]._mAnimData = anim->Data[md];
monster[i]._mAnimCnt = 0; monster[i]._mAnimCnt = 0;
monster[i]._mAnimLen = anim->Rate; monster[i]._mAnimLen = anim->Frames;
monster[i]._mAnimFrame = 1; monster[i]._mAnimFrame = 1;
monster[i]._mFlags &= 0xFFFFFFF9; monster[i]._mFlags &= 0xFFFFFFF9;
monster[i]._mAnimDelay = anim->Delay; monster[i]._mAnimDelay = anim->Rate;
monster[i]._mdir = md; monster[i]._mdir = md;
} }
@ -2727,9 +2727,9 @@ void __fastcall M_StartHeal(int i)
if ( !monster[v1].MType ) if ( !monster[v1].MType )
TermMsg("M_StartHeal: Monster %d \"%s\" MType NULL", v1, monster[v2].mName); TermMsg("M_StartHeal: Monster %d \"%s\" MType NULL", v1, monster[v2].mName);
v3 = monster[v2].MType; v3 = monster[v2].MType;
v4 = v3->Anims[MA_SPECIAL].Frames[monster[v2]._mdir]; v4 = v3->Anims[MA_SPECIAL].Data[monster[v2]._mdir];
monster[v2]._mAnimData = v4; monster[v2]._mAnimData = v4;
v5 = v3->Anims[MA_SPECIAL].Rate; v5 = v3->Anims[MA_SPECIAL].Frames;
monster[v2]._mFlags |= 2u; monster[v2]._mFlags |= 2u;
monster[v2]._mAnimFrame = v5; monster[v2]._mAnimFrame = v5;
monster[v2]._mmode = MM_HEAL; monster[v2]._mmode = MM_HEAL;
@ -2796,9 +2796,9 @@ int __fastcall M_DoStand(int i)
v3 = monster[v2].MType; v3 = monster[v2].MType;
v4 = monster[v2]._mdir; v4 = monster[v2]._mdir;
if ( v3->mtype == MT_GOLEM ) if ( v3->mtype == MT_GOLEM )
v5 = v3->Anims[MA_WALK].Frames[v4]; v5 = v3->Anims[MA_WALK].Data[v4];
else else
v5 = v3->Anims[MA_STAND].Frames[v4]; v5 = v3->Anims[MA_STAND].Data[v4];
monster[v2]._mAnimData = v5; monster[v2]._mAnimData = v5;
if ( monster[v2]._mAnimFrame == monster[v2]._mAnimLen ) if ( monster[v2]._mAnimFrame == monster[v2]._mAnimLen )
M_Enemy(v1); M_Enemy(v1);
@ -2830,7 +2830,7 @@ int __fastcall M_DoWalk(int i)
if ( !monster[v1].MType ) if ( !monster[v1].MType )
TermMsg("M_DoWalk: Monster %d \"%s\" MType NULL", v1, monster[v2].mName); TermMsg("M_DoWalk: Monster %d \"%s\" MType NULL", v1, monster[v2].mName);
v4 = monster[v2]._mVar8; v4 = monster[v2]._mVar8;
if ( v4 == monster[v2].MType->Anims[MA_WALK].Rate ) if ( v4 == monster[v2].MType->Anims[MA_WALK].Frames )
{ {
v5 = monster[v2]._my; v5 = monster[v2]._my;
v6 = monster[v2]._mx; v6 = monster[v2]._mx;
@ -2882,7 +2882,7 @@ int __fastcall M_DoWalk2(int i)
if ( !monster[v1].MType ) if ( !monster[v1].MType )
TermMsg("M_DoWalk2: Monster %d \"%s\" MType NULL", v1, monster[v2].mName); TermMsg("M_DoWalk2: Monster %d \"%s\" MType NULL", v1, monster[v2].mName);
v3 = monster[v2]._mVar8; v3 = monster[v2]._mVar8;
if ( v3 == monster[v2].MType->Anims[MA_WALK].Rate ) if ( v3 == monster[v2].MType->Anims[MA_WALK].Frames )
{ {
v4 = monster[v2]._uniqtype == 0; v4 = monster[v2]._uniqtype == 0;
dMonster[0][monster[v2]._mVar2 + 112 * monster[v2]._mVar1] = 0; dMonster[0][monster[v2]._mVar2 + 112 * monster[v2]._mVar1] = 0;
@ -2936,7 +2936,7 @@ int __fastcall M_DoWalk3(int i)
if ( !monster[v1].MType ) if ( !monster[v1].MType )
TermMsg("M_DoWalk3: Monster %d \"%s\" MType NULL", v1, monster[v2].mName); TermMsg("M_DoWalk3: Monster %d \"%s\" MType NULL", v1, monster[v2].mName);
v3 = monster[v2]._mVar8; v3 = monster[v2]._mVar8;
if ( v3 == monster[v2].MType->Anims[MA_WALK].Rate ) if ( v3 == monster[v2].MType->Anims[MA_WALK].Frames )
{ {
v4 = monster[v2]._mVar2; v4 = monster[v2]._mVar2;
v5 = monster[v2]._my + 112 * monster[v2]._mx; v5 = monster[v2]._my + 112 * monster[v2]._mx;
@ -3940,7 +3940,7 @@ int __fastcall M_DoDelay(int i)
TermMsg("M_DoDelay: Monster %d \"%s\" MType NULL", v1, monster[v2].mName); TermMsg("M_DoDelay: Monster %d \"%s\" MType NULL", v1, monster[v2].mName);
v3 = M_GetDir(v1); v3 = M_GetDir(v1);
v4 = monster[v2]._mAi == AI_LAZURUS; v4 = monster[v2]._mAi == AI_LAZURUS;
monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Frames[v3]; monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Data[v3];
if ( v4 ) if ( v4 )
{ {
v5 = monster[v2]._mVar2; v5 = monster[v2]._mVar2;
@ -3999,7 +3999,7 @@ void __fastcall M_WalkDir(int i, int md)
v3 = md; v3 = md;
if ( (DWORD)i >= MAXMONSTERS ) if ( (DWORD)i >= MAXMONSTERS )
TermMsg("M_WalkDir: Invalid monster %d", i); TermMsg("M_WalkDir: Invalid monster %d", i);
v4 = monster[v2].MType->Anims[MA_WALK].Rate - 1; v4 = monster[v2].MType->Anims[MA_WALK].Frames - 1;
switch ( v3 ) switch ( v3 )
{ {
case DIR_S: case DIR_S:
@ -4456,7 +4456,7 @@ void __fastcall MAI_Zombie(int i)
M_StartAttack(arglist); M_StartAttack(arglist);
} }
if ( v3->_mmode == MM_STAND ) if ( v3->_mmode == MM_STAND )
v3->_mAnimData = v3->MType->Anims[MA_STAND].Frames[v3->_mdir]; v3->_mAnimData = v3->MType->Anims[MA_STAND].Data[v3->_mdir];
} }
} }
} }
@ -4528,7 +4528,7 @@ void __fastcall MAI_SkelSd(int i)
} }
LABEL_16: LABEL_16:
if ( v2->_mmode == MM_STAND ) if ( v2->_mmode == MM_STAND )
v2->_mAnimData = v2->MType->Anims[MA_STAND].Frames[v7]; v2->_mAnimData = v2->MType->Anims[MA_STAND].Data[v7];
} }
} }
@ -4658,7 +4658,7 @@ void __fastcall MAI_Snake(int i)
M_StartAttack(arglist); M_StartAttack(arglist);
LABEL_49: LABEL_49:
if ( esi3->_mmode == MM_STAND ) if ( esi3->_mmode == MM_STAND )
esi3->_mAnimData = esi3->MType->Anims[MA_STAND].Frames[esi3->_mdir]; esi3->_mAnimData = esi3->MType->Anims[MA_STAND].Data[esi3->_mdir];
return; return;
} }
v17 = 10 - (unsigned char)esi3->_mint + random(105, 10); v17 = 10 - (unsigned char)esi3->_mint + random(105, 10);
@ -4878,7 +4878,7 @@ void __fastcall MAI_Bat(int i)
} }
} }
if ( esi3->_mmode == MM_STAND ) if ( esi3->_mmode == MM_STAND )
esi3->_mAnimData = esi3->MType->Anims[MA_STAND].Frames[midir]; esi3->_mAnimData = esi3->MType->Anims[MA_STAND].Data[midir];
} }
} }
} }
@ -4949,7 +4949,7 @@ void __fastcall MAI_SkelBow(int i)
} }
} }
if ( v2->_mmode == MM_STAND ) if ( v2->_mmode == MM_STAND )
v2->_mAnimData = v2->MType->Anims[MA_STAND].Frames[v17]; v2->_mAnimData = v2->MType->Anims[MA_STAND].Data[v17];
} }
} }
@ -5003,7 +5003,7 @@ void __fastcall MAI_Fat(int i)
} }
} }
if ( v2->_mmode == MM_STAND ) if ( v2->_mmode == MM_STAND )
v2->_mAnimData = v2->MType->Anims[MA_STAND].Frames[md]; v2->_mAnimData = v2->MType->Anims[MA_STAND].Data[md];
} }
} }
@ -5099,7 +5099,7 @@ void __fastcall MAI_Sneak(int i)
if ( v2->_mmode == MM_STAND ) if ( v2->_mmode == MM_STAND )
{ {
if ( abs(v17) >= 2 || abs(v4) >= 2 || v15 >= 4 * (unsigned char)v2->_mint + 10 ) if ( abs(v17) >= 2 || abs(v4) >= 2 || v15 >= 4 * (unsigned char)v2->_mint + 10 )
v2->_mAnimData = v2->MType->Anims[MA_STAND].Frames[md]; v2->_mAnimData = v2->MType->Anims[MA_STAND].Data[md];
else else
M_StartAttack(arglist); M_StartAttack(arglist);
} }
@ -5369,7 +5369,7 @@ void __fastcall MAI_Cleaver(int i)
else else
M_StartAttack(arglist); M_StartAttack(arglist);
if ( v2->_mmode == MM_STAND ) if ( v2->_mmode == MM_STAND )
v2->_mAnimData = v2->MType->Anims[MA_STAND].Frames[v7]; v2->_mAnimData = v2->MType->Anims[MA_STAND].Data[v7];
} }
} }
@ -5493,7 +5493,7 @@ void __fastcall MAI_Round(int i, unsigned char special)
} }
} }
if ( v3->_mmode == MM_STAND ) if ( v3->_mmode == MM_STAND )
v3->_mAnimData = v3->MType->Anims[MA_STAND].Frames[md]; v3->_mAnimData = v3->MType->Anims[MA_STAND].Data[md];
} }
} }
@ -5570,7 +5570,7 @@ void __fastcall MAI_Ranged(int i, int missile_type, unsigned char special)
} }
else else
{ {
monster[v4]._mAnimData = monster[v4].MType->Anims[MA_STAND].Frames[v20]; monster[v4]._mAnimData = monster[v4].MType->Anims[MA_STAND].Data[v20];
} }
} }
} }
@ -6417,7 +6417,7 @@ void __fastcall MAI_SkelKing(int i)
} }
} }
if ( v2->_mmode == MM_STAND ) if ( v2->_mmode == MM_STAND )
v2->_mAnimData = v2->MType->Anims[MA_STAND].Frames[md]; v2->_mAnimData = v2->MType->Anims[MA_STAND].Data[md];
} }
} }
// 679660: using guessed type char gbMaxPlayers; // 679660: using guessed type char gbMaxPlayers;
@ -6571,7 +6571,7 @@ void __fastcall MAI_Rhino(int i)
} }
} }
if ( esi3->_mmode == MM_STAND ) if ( esi3->_mmode == MM_STAND )
esi3->_mAnimData = esi3->MType->Anims[MA_STAND].Frames[esi3->_mdir]; esi3->_mAnimData = esi3->MType->Anims[MA_STAND].Data[esi3->_mdir];
} }
} }
@ -6796,7 +6796,7 @@ void __fastcall MAI_Garbud(int i)
MAI_Round(arglist, 1u); MAI_Round(arglist, 1u);
monster[v2]._mdir = v8; monster[v2]._mdir = v8;
if ( monster[v2]._mmode == MM_STAND ) if ( monster[v2]._mmode == MM_STAND )
monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Frames[v8]; monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Data[v8];
} }
} }
@ -6854,7 +6854,7 @@ void __fastcall MAI_Zhar(int i)
MAI_Counselor(arglist); MAI_Counselor(arglist);
monster[v2]._mdir = v11; monster[v2]._mdir = v11;
if ( monster[v2]._mmode == MM_STAND ) if ( monster[v2]._mmode == MM_STAND )
monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Frames[v11]; monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Data[v11];
} }
} }
@ -6913,7 +6913,7 @@ void __fastcall MAI_SnotSpil(int i)
} }
monster[v2]._mdir = v5; monster[v2]._mdir = v5;
if ( monster[v2]._mmode == MM_STAND ) if ( monster[v2]._mmode == MM_STAND )
monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Frames[v5]; monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Data[v5];
} }
} }
// 5CF330: using guessed type int setpc_h; // 5CF330: using guessed type int setpc_h;
@ -6983,7 +6983,7 @@ void __fastcall MAI_Lazurus(int i)
monster[v2]._mdir = v5; monster[v2]._mdir = v5;
v8 = monster[v2]._mmode; v8 = monster[v2]._mmode;
if ( v8 == MM_STAND || v8 == MM_TALK ) if ( v8 == MM_STAND || v8 == MM_TALK )
monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Frames[v5]; monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Data[v5];
} }
} }
// 679660: using guessed type char gbMaxPlayers; // 679660: using guessed type char gbMaxPlayers;
@ -7025,7 +7025,7 @@ void __fastcall MAI_Lazhelp(int i)
MAI_Succ(ia); MAI_Succ(ia);
monster[v2]._mdir = v5; monster[v2]._mdir = v5;
if ( monster[v2]._mmode == MM_STAND ) if ( monster[v2]._mmode == MM_STAND )
monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Frames[v5]; monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Data[v5];
} }
} }
// 679660: using guessed type char gbMaxPlayers; // 679660: using guessed type char gbMaxPlayers;
@ -7068,7 +7068,7 @@ void __fastcall MAI_Lachdanan(int i)
} }
monster[v2]._mdir = v6; monster[v2]._mdir = v6;
if ( monster[v2]._mmode == MM_STAND ) if ( monster[v2]._mmode == MM_STAND )
monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Frames[v6]; monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Data[v6];
} }
} }
@ -7110,7 +7110,7 @@ void __fastcall MAI_Warlord(int i)
monster[v2]._mdir = v5; monster[v2]._mdir = v5;
v7 = monster[v2]._mmode; v7 = monster[v2]._mmode;
if ( v7 == MM_STAND || v7 == MM_TALK ) if ( v7 == MM_STAND || v7 == MM_TALK )
monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Frames[v5]; monster[v2]._mAnimData = monster[v2].MType->Anims[MA_STAND].Data[v5];
} }
} }
@ -7840,22 +7840,22 @@ void __fastcall SyncMonsterAnim(int i)
case MM_STAND: case MM_STAND:
case MM_DELAY: case MM_DELAY:
case MM_TALK: case MM_TALK:
v10 = v5->Anims[MA_STAND].Frames[v9]; v10 = v5->Anims[MA_STAND].Data[v9];
goto LABEL_13; goto LABEL_13;
case MM_WALK: case MM_WALK:
case MM_WALK2: case MM_WALK2:
case MM_WALK3: case MM_WALK3:
v10 = v5->Anims[MA_WALK].Frames[v9]; v10 = v5->Anims[MA_WALK].Data[v9];
goto LABEL_13; goto LABEL_13;
case MM_ATTACK: case MM_ATTACK:
case MM_RATTACK: case MM_RATTACK:
v10 = v5->Anims[MA_ATTACK].Frames[v9]; v10 = v5->Anims[MA_ATTACK].Data[v9];
goto LABEL_13; goto LABEL_13;
case MM_GOTHIT: case MM_GOTHIT:
v10 = v5->Anims[MA_GOTHIT].Frames[v9]; v10 = v5->Anims[MA_GOTHIT].Data[v9];
goto LABEL_13; goto LABEL_13;
case MM_DEATH: case MM_DEATH:
v10 = v5->Anims[MA_DEATH].Frames[v9]; v10 = v5->Anims[MA_DEATH].Data[v9];
goto LABEL_13; goto LABEL_13;
case MM_SATTACK: case MM_SATTACK:
case MM_FADEIN: case MM_FADEIN:
@ -7863,21 +7863,21 @@ void __fastcall SyncMonsterAnim(int i)
case MM_SPSTAND: case MM_SPSTAND:
case MM_RSPATTACK: case MM_RSPATTACK:
case MM_HEAL: case MM_HEAL:
v10 = v5->Anims[MA_SPECIAL].Frames[v9]; v10 = v5->Anims[MA_SPECIAL].Data[v9];
LABEL_13: LABEL_13:
monster[v2]._mAnimData = v10; monster[v2]._mAnimData = v10;
return; return;
case MM_CHARGE: case MM_CHARGE:
v11 = v5->Anims[MA_ATTACK].Frames[v9]; v11 = v5->Anims[MA_ATTACK].Data[v9];
monster[v2]._mAnimFrame = 1; monster[v2]._mAnimFrame = 1;
monster[v2]._mAnimData = v11; monster[v2]._mAnimData = v11;
v12 = v5->Anims[MA_ATTACK].Rate; v12 = v5->Anims[MA_ATTACK].Frames;
break; break;
default: default:
v13 = v5->Anims[MA_STAND].Frames[v9]; v13 = v5->Anims[MA_STAND].Data[v9];
monster[v2]._mAnimFrame = 1; monster[v2]._mAnimFrame = 1;
monster[v2]._mAnimData = v13; monster[v2]._mAnimData = v13;
v12 = v5->Anims[MA_STAND].Rate; v12 = v5->Anims[MA_STAND].Frames;
break; break;
} }
monster[v2]._mAnimLen = v12; monster[v2]._mAnimLen = v12;

9
structs.h

@ -459,12 +459,11 @@ struct TSFX {
// monster // monster
////////////////////////////////////////////////// //////////////////////////////////////////////////
struct AnimStruct // note: wrong names struct AnimStruct {
{ BYTE *CMem;
unsigned char *CMem; BYTE *Data[8];
unsigned char *Frames[8]; // probably Data[8] int Frames;
int Rate; int Rate;
int Delay;
}; };
struct MonsterData { struct MonsterData {

Loading…
Cancel
Save