Browse Source

Merge remote-tracking branch 'devilution/master'

pull/4/head
Dennis Duda 8 years ago
parent
commit
2a492cf9c3
  1. 4
      Source/dead.cpp
  2. 6
      Source/engine.cpp
  3. 2
      Source/engine.h
  4. 6
      Source/items.cpp
  5. 2
      Source/items.h
  6. 20
      Source/missiles.cpp
  7. 156
      Source/monster.cpp
  8. 36
      Source/msg.cpp
  9. 2
      Source/msg.h
  10. 2
      Source/multi.cpp
  11. 6
      Source/objects.cpp
  12. 2
      Source/objects.h
  13. 28
      Source/player.cpp
  14. 2
      Source/player.h
  15. 20
      Source/scrollrt.cpp
  16. 4
      Source/scrollrt.h
  17. 40
      Source/towners.cpp
  18. 2
      Source/towners.h
  19. 62
      structs.h

4
Source/dead.cpp

@ -56,10 +56,10 @@ void __cdecl InitDead()
}
v16 = 0;
v4 = v0;
memset32(&dead[v0], misfiledata[16].mAnimData[0], 8u);
memset32(&dead[v0], (unsigned int)misfiledata[16].mAnimData[0], 8u);
_LOBYTE(dead[v4]._deadtrans) = 0;
dead[v4]._deadFrame = 8;
v5 = misfiledata[18].mAnimData[0];
v5 = (unsigned int)misfiledata[18].mAnimData[0];
dead[v4].field_24 = 128;
dead[v4].field_28 = 32;
v6 = v0 + 1;

6
Source/engine.cpp

@ -1876,15 +1876,15 @@ void __cdecl mem_free_mutex()
DeleteCriticalSection(&sgMemCrit);
}
void *__fastcall DiabloAllocPtr(int dwBytes)
unsigned char *__fastcall DiabloAllocPtr(int dwBytes)
{
int v1; // ebx
void *v2; // ebx
unsigned char *v2; // ebx
int v3; // eax
v1 = dwBytes;
EnterCriticalSection(&sgMemCrit);
v2 = SMemAlloc(v1, "C:\\Src\\Diablo\\Source\\ENGINE.CPP", 2236, 0);
v2 = (unsigned char *)SMemAlloc(v1, "C:\\Src\\Diablo\\Source\\ENGINE.CPP", 2236, 0);
LeaveCriticalSection(&sgMemCrit);
if ( !v2 )
{

2
Source/engine.h

@ -50,7 +50,7 @@ void __cdecl engine_cpp_init_2();
void __cdecl mem_init_mutex();
void __cdecl mem_atexit_mutex();
void __cdecl mem_free_mutex();
void *__fastcall DiabloAllocPtr(int dwBytes);
unsigned char *__fastcall DiabloAllocPtr(int dwBytes);
void __fastcall mem_free_dbg(void *p);
unsigned char *__fastcall LoadFileInMem(char *pszName, int *pdwFileLen);
void __fastcall LoadFileWithMem(char *pszName, void *buf);

6
Source/items.cpp

@ -10,7 +10,7 @@ ItemGetRecordStruct itemrecord[MAXITEMS];
ItemStruct item[MAXITEMS+1];
char itemhold[3][3];
char byte_641234[28]; /* check if part of above */
int Item2Frm[35];
unsigned char *Item2Frm[35];
int UniqueItemFlag[128];
int numitems;
int gnNumGetRecords;
@ -644,7 +644,7 @@ void __cdecl InitItemGFX()
do
{
sprintf(arglist, "Items\\%s.CEL", ItemDropStrs[v0]);
Item2Frm[v0] = (int)LoadFileInMem(arglist, 0);
Item2Frm[v0] = LoadFileInMem(arglist, 0);
++v0;
}
while ( v0 < 35 );
@ -786,7 +786,7 @@ void __fastcall CalcPlrItemVals(int p, bool Loadgfx)
int v28; // eax
int v29; // ebx
int v30; // ecx
int v31; // eax
unsigned char *v31; // eax
int v32; // eax
int v33; // ecx
int i; // edx

2
Source/items.h

@ -10,7 +10,7 @@ extern ItemGetRecordStruct itemrecord[MAXITEMS];
extern ItemStruct item[MAXITEMS+1];
extern char itemhold[3][3];
extern char byte_641234[28]; /* check if part of above */
extern int Item2Frm[35];
extern unsigned char *Item2Frm[35];
extern int UniqueItemFlag[128];
extern int numitems;
extern int gnNumGetRecords;

20
Source/missiles.cpp

@ -2089,7 +2089,7 @@ void __fastcall SetMissAnim(int mi, int animtype)
int v7; // esi
int v8; // eax
int v9; // eax
int v10; // edi
unsigned char *v10; // edi
int v11; // eax
v2 = mi;
@ -2143,7 +2143,7 @@ void __fastcall LoadMissileGFX(int mi)
v3 = 0;
if ( v1->mAnimFAmt )
{
v4 = v1->mAnimData;
v4 = (int *)v1->mAnimData;
do
{
v5 = (int)&v2[*(_DWORD *)&v2[4 * v3++]];
@ -2160,7 +2160,7 @@ void __fastcall LoadMissileGFX(int mi)
{
sprintf(arglist, "Missiles\\%s.CL2", v1->mName);
if ( !v1->mAnimData[0] )
v1->mAnimData[0] = (int)LoadFileInMem(arglist, 0);
v1->mAnimData[0] = LoadFileInMem(arglist, 0);
}
else
{
@ -2206,7 +2206,7 @@ void __cdecl InitMissileGFX()
void __fastcall FreeMissileGFX(int mi)
{
int v1; // esi
int v2; // ecx
unsigned char *v2; // ecx
signed int v3; // ebx
void **v4; // edi
void *v5; // ecx
@ -2217,7 +2217,7 @@ void __fastcall FreeMissileGFX(int mi)
v2 = misfiledata[v1].mAnimData[0];
if ( v2 )
{
mem_free_dbg((void *)(v2 - 4 * misfiledata[v1].mAnimFAmt));
mem_free_dbg(&v2[-4 * misfiledata[v1].mAnimFAmt]);
misfiledata[v1].mAnimData[0] = 0;
}
}
@ -3457,7 +3457,7 @@ void __fastcall AddRhino(int mi, int sx, int sy, int dx, int dy, int midir, int
v13 = i;
missile[v13]._miAnimFlags = 0;
missile[v13]._mimfnum = midir;
missile[v13]._miAnimData = (int)v12->Frames[midir];
missile[v13]._miAnimData = v12->Frames[midir];
missile[v13]._miAnimDelay = v12->Delay;
missile[v13]._miAnimLen = v12->Rate;
v14 = monster[v9].MType;
@ -3497,7 +3497,7 @@ void __fastcall miss_null_32(int mi, int sx, int sy, int dx, int dy, int midir,
v12 = v10;
missile[v12]._mimfnum = midir;
missile[v12]._miAnimFlags = 0;
missile[v12]._miAnimData = (int)v11->Frames[midir];
missile[v12]._miAnimData = v11->Frames[midir];
missile[v12]._miAnimDelay = v11->Delay;
missile[v12]._miAnimLen = v11->Rate;
v13 = monster[id].MType;
@ -6457,7 +6457,7 @@ void __fastcall mi_null_32(int i)
//int v12; // eax
int v13; // ecx
int v14; // ecx
int v15; // eax
unsigned char *v15; // eax
int v16; // [esp+Ch] [ebp-14h]
int arglist; // [esp+10h] [ebp-10h]
int x; // [esp+14h] [ebp-Ch]
@ -6514,7 +6514,7 @@ void __fastcall mi_null_32(int i)
missile[v2]._miyvel = -missile[v2]._miyvel;
v14 = opposite[v13];
missile[v2]._mimfnum = v14;
v15 = (int)monster[v4].MType->Anims[1].Frames[v14];
v15 = monster[v4].MType->Anims[1].Frames[v14];
++missile[v2]._miVar2;
missile[v2]._miAnimData = v15;
if ( v10 > 0 )
@ -7482,7 +7482,7 @@ void __cdecl missiles_process_charge()
{
v7 = &v5->Anims[5];
}
missile[v2]._miAnimData = (int)v7->Frames[v3];
missile[v2]._miAnimData = v7->Frames[v3];
}
}
}

156
Source/monster.cpp

@ -705,7 +705,7 @@ void __fastcall InitMonster(int i, int rd, int mtype, int x, int y)
monster[i].mName = mdata->mName;
monster[i].MType = monst;
monster[i].MData = mdata;
monster[i]._mAFNum = (int)monst->Anims[0].Frames[rd];
monster[i]._mAnimData = monst->Anims[0].Frames[rd];
monster[i]._mAnimDelay = monst->Anims[0].Delay;
monster[i]._mAnimCnt = random(88, monst->Anims[0].Delay - 1);
monster[i]._mAnimLen = monst->Anims[0].Rate;
@ -762,7 +762,7 @@ void __fastcall InitMonster(int i, int rd, int mtype, int x, int y)
if ( monster[i]._mAi == AI_GARG )
{
monster[i]._mFlags |= 4u;
monster[i]._mAFNum = (int)monst->Anims[5].Frames[rd];
monster[i]._mAnimData = monst->Anims[5].Frames[rd];
monster[i]._mAnimFrame = 1;
monster[i]._mmode = MM_SATTACK;
}
@ -821,7 +821,7 @@ void __cdecl ClrAllMonsters()
Monst->_mdir = random(89, 8);
Monst->_mxvel = 0;
Monst->_myvel = 0;
Monst->_mAFNum = 0;
Monst->_mAnimData = NULL;
Monst->_mAnimDelay = 0;
Monst->_mAnimCnt = 0;
Monst->_mAnimLen = 0;
@ -1089,7 +1089,7 @@ void __fastcall PlaceUniqueMonst(int uniqindex, int miniontype, int unpackfilesi
if ( Monst->_mAi != AI_GARG )
{
Monst->_mAFNum = (int)Monst->MType->Anims[0].Frames[Monst->_mdir];
Monst->_mAnimData = Monst->MType->Anims[0].Frames[Monst->_mdir];
Monst->_mFlags &= 0xFFFFFFFB;
Monst->_mmode = 0;
Monst->_mAnimFrame = random(88, Monst->_mAnimLen - 1) + 1;
@ -1257,7 +1257,7 @@ void __fastcall PlaceGroup(int mtype, int num, int leaderf, int leader)
if ( monster[nummonsters]._mAi != AI_GARG )
{
monster[nummonsters]._mAFNum = (int)monster[nummonsters].MType->Anims[0].Frames[monster[nummonsters]._mdir];
monster[nummonsters]._mAnimData = monster[nummonsters].MType->Anims[0].Frames[monster[nummonsters]._mdir];
monster[nummonsters]._mAnimFrame = random(88, monster[nummonsters]._mAnimLen - 1) + 1;
monster[nummonsters]._mFlags &= 0xFFFFFFFB;
monster[nummonsters]._mmode = MM_STAND;
@ -1637,7 +1637,7 @@ void __fastcall NewMonsterAnim(int i, AnimStruct *anim, int md)
int v5; // edx
v3 = &monster[i];
v3->_mAFNum = (int)anim->Frames[md];
v3->_mAnimData = anim->Frames[md];
v4 = anim->Rate;
v3->_mAnimCnt = 0;
v3->_mAnimLen = v4;
@ -2752,7 +2752,7 @@ void __fastcall M_StartHeal(int i)
int v1; // edi
int v2; // esi
CMonster *v3; // eax
int v4; // ecx
unsigned char *v4; // ecx
int v5; // eax
v1 = i;
@ -2762,8 +2762,8 @@ void __fastcall M_StartHeal(int i)
if ( !monster[v1].MType )
TermMsg("M_StartHeal: Monster %d \"%s\" MType NULL", v1, monster[v2].mName);
v3 = monster[v2].MType;
v4 = (int)v3->Anims[5].Frames[monster[v2]._mdir];
monster[v2]._mAFNum = v4;
v4 = v3->Anims[5].Frames[monster[v2]._mdir];
monster[v2]._mAnimData = v4;
v5 = v3->Anims[5].Rate;
monster[v2]._mFlags |= 2u;
monster[v2]._mAnimFrame = v5;
@ -2820,7 +2820,7 @@ int __fastcall M_DoStand(int i)
int v2; // esi
CMonster *v3; // eax
int v4; // ecx
int v5; // eax
unsigned char *v5; // eax
v1 = i;
if ( (unsigned int)i >= MAXMONSTERS )
@ -2831,10 +2831,10 @@ int __fastcall M_DoStand(int i)
v3 = monster[v2].MType;
v4 = monster[v2]._mdir;
if ( v3->mtype == MT_GOLEM )
v5 = (int)v3->Anims[1].Frames[v4];
v5 = v3->Anims[1].Frames[v4];
else
v5 = (int)v3->Anims[0].Frames[v4];
monster[v2]._mAFNum = v5;
v5 = v3->Anims[0].Frames[v4];
monster[v2]._mAnimData = v5;
if ( monster[v2]._mAnimFrame == monster[v2]._mAnimLen )
M_Enemy(v1);
++monster[v2]._mVar2;
@ -3987,7 +3987,7 @@ int __fastcall M_DoDelay(int i)
TermMsg("M_DoDelay: Monster %d \"%s\" MType NULL", v1, monster[v2].mName);
v3 = M_GetDir(v1);
v4 = monster[v2]._mAi == AI_LAZURUS;
monster[v2]._mAFNum = (int)monster[v2].MType->Anims[0].Frames[v3];
monster[v2]._mAnimData = monster[v2].MType->Anims[0].Frames[v3];
if ( v4 )
{
v5 = monster[v2]._mVar2;
@ -4503,7 +4503,7 @@ void __fastcall MAI_Zombie(int i)
M_StartAttack(arglist);
}
if ( v3->_mmode == MM_STAND )
v3->_mAFNum = (int)v3->MType->Anims[0].Frames[v3->_mdir];
v3->_mAnimData = v3->MType->Anims[0].Frames[v3->_mdir];
}
}
}
@ -4575,7 +4575,7 @@ void __fastcall MAI_SkelSd(int i)
}
LABEL_16:
if ( v2->_mmode == MM_STAND )
v2->_mAFNum = (int)v2->MType->Anims[0].Frames[v7];
v2->_mAnimData = v2->MType->Anims[0].Frames[v7];
}
}
@ -4705,7 +4705,7 @@ void __fastcall MAI_Snake(int i)
M_StartAttack(arglist);
LABEL_49:
if ( esi3->_mmode == MM_STAND )
esi3->_mAFNum = (int)esi3->MType->Anims[0].Frames[esi3->_mdir];
esi3->_mAnimData = esi3->MType->Anims[0].Frames[esi3->_mdir];
return;
}
v17 = 10 - (unsigned char)esi3->_mint + random(105, 10);
@ -4925,7 +4925,7 @@ void __fastcall MAI_Bat(int i)
}
}
if ( esi3->_mmode == MM_STAND )
esi3->_mAFNum = (int)esi3->MType->Anims[0].Frames[midir];
esi3->_mAnimData = esi3->MType->Anims[0].Frames[midir];
}
}
}
@ -4996,7 +4996,7 @@ void __fastcall MAI_SkelBow(int i)
}
}
if ( v2->_mmode == MM_STAND )
v2->_mAFNum = (int)v2->MType->Anims[0].Frames[v17];
v2->_mAnimData = v2->MType->Anims[0].Frames[v17];
}
}
@ -5050,7 +5050,7 @@ void __fastcall MAI_Fat(int i)
}
}
if ( v2->_mmode == MM_STAND )
v2->_mAFNum = (int)v2->MType->Anims[0].Frames[md];
v2->_mAnimData = v2->MType->Anims[0].Frames[md];
}
}
@ -5147,7 +5147,7 @@ void __fastcall MAI_Sneak(int i)
if ( v2->_mmode == MM_STAND )
{
if ( abs(v17) >= 2 || abs(v4) >= 2 || v15 >= 4 * (unsigned char)v2->_mint + 10 )
v2->_mAFNum = (int)v2->MType->Anims[0].Frames[md];
v2->_mAnimData = v2->MType->Anims[0].Frames[md];
else
M_StartAttack(arglist);
}
@ -5417,7 +5417,7 @@ void __fastcall MAI_Cleaver(int i)
else
M_StartAttack(arglist);
if ( v2->_mmode == MM_STAND )
v2->_mAFNum = (int)v2->MType->Anims[0].Frames[v7];
v2->_mAnimData = v2->MType->Anims[0].Frames[v7];
}
}
@ -5541,7 +5541,7 @@ void __fastcall MAI_Round(int i, unsigned char special)
}
}
if ( v3->_mmode == MM_STAND )
v3->_mAFNum = (int)v3->MType->Anims[0].Frames[md];
v3->_mAnimData = v3->MType->Anims[0].Frames[md];
}
}
@ -5618,7 +5618,7 @@ void __fastcall MAI_Ranged(int i, int missile_type, unsigned char special)
}
else
{
monster[v4]._mAFNum = (int)monster[v4].MType->Anims[0].Frames[v20];
monster[v4]._mAnimData = monster[v4].MType->Anims[0].Frames[v20];
}
}
}
@ -6465,7 +6465,7 @@ void __fastcall MAI_SkelKing(int i)
}
}
if ( v2->_mmode == MM_STAND )
v2->_mAFNum = (int)v2->MType->Anims[0].Frames[md];
v2->_mAnimData = v2->MType->Anims[0].Frames[md];
}
}
// 679660: using guessed type char gbMaxPlayers;
@ -6619,7 +6619,7 @@ void __fastcall MAI_Rhino(int i)
}
}
if ( esi3->_mmode == MM_STAND )
esi3->_mAFNum = (int)esi3->MType->Anims[0].Frames[esi3->_mdir];
esi3->_mAnimData = esi3->MType->Anims[0].Frames[esi3->_mdir];
}
}
@ -6844,7 +6844,7 @@ void __fastcall MAI_Garbud(int i)
MAI_Round(arglist, 1u);
monster[v2]._mdir = v8;
if ( monster[v2]._mmode == MM_STAND )
monster[v2]._mAFNum = (int)monster[v2].MType->Anims[0].Frames[v8];
monster[v2]._mAnimData = monster[v2].MType->Anims[0].Frames[v8];
}
}
@ -6902,7 +6902,7 @@ void __fastcall MAI_Zhar(int i)
MAI_Counselor(arglist);
monster[v2]._mdir = v11;
if ( monster[v2]._mmode == MM_STAND )
monster[v2]._mAFNum = (int)monster[v2].MType->Anims[0].Frames[v11];
monster[v2]._mAnimData = monster[v2].MType->Anims[0].Frames[v11];
}
}
@ -6961,7 +6961,7 @@ void __fastcall MAI_SnotSpil(int i)
}
monster[v2]._mdir = v5;
if ( monster[v2]._mmode == MM_STAND )
monster[v2]._mAFNum = (int)monster[v2].MType->Anims[0].Frames[v5];
monster[v2]._mAnimData = monster[v2].MType->Anims[0].Frames[v5];
}
}
// 5CF330: using guessed type int setpc_h;
@ -7031,7 +7031,7 @@ void __fastcall MAI_Lazurus(int i)
monster[v2]._mdir = v5;
v8 = monster[v2]._mmode;
if ( v8 == MM_STAND || v8 == MM_TALK )
monster[v2]._mAFNum = (int)monster[v2].MType->Anims[0].Frames[v5];
monster[v2]._mAnimData = monster[v2].MType->Anims[0].Frames[v5];
}
}
// 679660: using guessed type char gbMaxPlayers;
@ -7073,7 +7073,7 @@ void __fastcall MAI_Lazhelp(int i)
MAI_Succ(ia);
monster[v2]._mdir = v5;
if ( monster[v2]._mmode == MM_STAND )
monster[v2]._mAFNum = (int)monster[v2].MType->Anims[0].Frames[v5];
monster[v2]._mAnimData = monster[v2].MType->Anims[0].Frames[v5];
}
}
// 679660: using guessed type char gbMaxPlayers;
@ -7116,7 +7116,7 @@ void __fastcall MAI_Lachdanan(int i)
}
monster[v2]._mdir = v6;
if ( monster[v2]._mmode == MM_STAND )
monster[v2]._mAFNum = (int)monster[v2].MType->Anims[0].Frames[v6];
monster[v2]._mAnimData = monster[v2].MType->Anims[0].Frames[v6];
}
}
@ -7158,7 +7158,7 @@ void __fastcall MAI_Warlord(int i)
monster[v2]._mdir = v5;
v7 = monster[v2]._mmode;
if ( v7 == MM_STAND || v7 == MM_TALK )
monster[v2]._mAFNum = (int)monster[v2].MType->Anims[0].Frames[v5];
monster[v2]._mAnimData = monster[v2].MType->Anims[0].Frames[v5];
}
}
@ -7868,10 +7868,10 @@ void __fastcall SyncMonsterAnim(int i)
char *v7; // edx
int v8; // esi
int v9; // edx
int v10; // ecx
int v11; // edx
unsigned char *v10; // ecx
unsigned char *v11; // edx
int v12; // ecx
int v13; // edx
unsigned char *v13; // edx
v1 = i;
if ( (unsigned int)i >= MAXMONSTERS )
@ -7892,48 +7892,48 @@ void __fastcall SyncMonsterAnim(int i)
v9 = monster[v2]._mdir;
switch ( v8 )
{
case MM_STAND:
case MM_DELAY:
case MM_TALK:
v10 = (int)v5->Anims[0].Frames[v9];
goto LABEL_13;
case MM_WALK:
case MM_WALK2:
case MM_WALK3:
v10 = (int)v5->Anims[1].Frames[v9];
goto LABEL_13;
case MM_ATTACK:
case MM_RATTACK:
v10 = (int)v5->Anims[2].Frames[v9];
goto LABEL_13;
case MM_GOTHIT:
v10 = (int)v5->Anims[3].Frames[v9];
goto LABEL_13;
case MM_DEATH:
v10 = (int)v5->Anims[4].Frames[v9];
goto LABEL_13;
case MM_SATTACK:
case MM_FADEIN:
case MM_FADEOUT:
case MM_SPSTAND:
case MM_RSPATTACK:
case MM_HEAL:
v10 = (int)v5->Anims[5].Frames[v9];
LABEL_13:
monster[v2]._mAFNum = v10;
return;
case MM_CHARGE:
v11 = (int)v5->Anims[2].Frames[v9];
monster[v2]._mAnimFrame = 1;
monster[v2]._mAFNum = v11;
v12 = v5->Anims[2].Rate;
break;
default:
v13 = (int)v5->Anims[0].Frames[v9];
monster[v2]._mAnimFrame = 1;
monster[v2]._mAFNum = v13;
v12 = v5->Anims[0].Rate;
break;
case MM_STAND:
case MM_DELAY:
case MM_TALK:
v10 = v5->Anims[0].Frames[v9];
goto LABEL_13;
case MM_WALK:
case MM_WALK2:
case MM_WALK3:
v10 = v5->Anims[1].Frames[v9];
goto LABEL_13;
case MM_ATTACK:
case MM_RATTACK:
v10 = v5->Anims[2].Frames[v9];
goto LABEL_13;
case MM_GOTHIT:
v10 = v5->Anims[3].Frames[v9];
goto LABEL_13;
case MM_DEATH:
v10 = v5->Anims[4].Frames[v9];
goto LABEL_13;
case MM_SATTACK:
case MM_FADEIN:
case MM_FADEOUT:
case MM_SPSTAND:
case MM_RSPATTACK:
case MM_HEAL:
v10 = v5->Anims[5].Frames[v9];
LABEL_13:
monster[v2]._mAnimData = v10;
return;
case MM_CHARGE:
v11 = v5->Anims[2].Frames[v9];
monster[v2]._mAnimFrame = 1;
monster[v2]._mAnimData = v11;
v12 = v5->Anims[2].Rate;
break;
default:
v13 = v5->Anims[0].Frames[v9];
monster[v2]._mAnimFrame = 1;
monster[v2]._mAnimData = v13;
v12 = v5->Anims[0].Rate;
break;
}
monster[v2]._mAnimLen = v12;
}

36
Source/msg.cpp

@ -12,7 +12,7 @@ TMegaPkt *sgpCurrPkt;
char sgRecvBuf[4722];
unsigned char sgbRecvCmd; // idb
LocalLevel sgLocals[NUMLEVELS];
DJunk sgJunk[4];
DJunk sgJunk;
TMegaPkt *sgpMegaPkt;
char sgbDeltaChanged; // weak
char sgbDeltaChunks; // weak
@ -352,11 +352,11 @@ char *__fastcall DeltaExportJunk(char *a1)
int *v5; // ebp
v1 = a1;
v2 = sgJunk;
v3 = sgJunk[0].quests;
v2 = &sgJunk;
v3 = sgJunk.quests;
do
{
if ( v2->portal[0].x == -1 )
if ( v2->portal[0].x == LOBYTE(-1) )
{
*v1++ = -1;
}
@ -367,7 +367,7 @@ char *__fastcall DeltaExportJunk(char *a1)
}
v2 = (DJunk *)((char *)v2 + 5);
}
while ( (signed int)v2 < (signed int)sgJunk[0].quests );
while ( (signed int)v2 < (signed int)sgJunk.quests );
v4 = &quests[0]._qactive;
v5 = &questlist[0]._qflags;
do
@ -404,7 +404,7 @@ int __fastcall msg_comp_level(char *buffer, int size)
void __cdecl delta_init()
{
sgbDeltaChanged = 0;
memset(sgJunk, 255, 0x20u);
memset(&sgJunk, 255, 0x20u);
memset(sgLevels, 255, 0x13981u);
memset(sgLocals, 0, 0x6A40u);
deltaload = 0;
@ -537,12 +537,12 @@ void __fastcall delta_leave_sync(unsigned char bLevel)
bool __fastcall delta_portal_inited(int i)
{
return sgJunk[0].portal[i].x == -1;
return sgJunk.portal[i].x == LOBYTE(-1);
}
bool __fastcall delta_quest_inited(int i)
{
return sgJunk[0].quests[i].qstate != -1;
return sgJunk.quests[i].qstate != LOBYTE(-1);
}
void __fastcall DeltaAddItem(int ii)
@ -1353,7 +1353,7 @@ void __fastcall NetSendCmdString(int a1, const char *pszStr)
void __fastcall RemovePlrPortal(int pnum)
{
memset((char *)sgJunk + 5 * pnum, 255, 5u);
memset(&sgJunk.portal[pnum], 255, 5u);
sgbDeltaChanged = 1;
}
// 67618C: using guessed type char sgbDeltaChanged;
@ -1697,7 +1697,7 @@ char __fastcall DeltaImportJunk(int a1)
v1 = (_BYTE *)a1;
v2 = 0;
v3 = sgJunk;
v3 = &sgJunk;
do
{
if ( *v1 == -1 )
@ -1721,8 +1721,8 @@ char __fastcall DeltaImportJunk(int a1)
v3 = (DJunk *)((char *)v3 + 5);
++v2;
}
while ( (signed int)v3 < (signed int)sgJunk[0].quests );
v5 = sgJunk[0].quests;
while ( (signed int)v3 < (signed int)sgJunk.quests );
v5 = sgJunk.quests;
v6 = &quests[0]._qactive;
v7 = &questlist[0]._qflags;
do
@ -3430,7 +3430,7 @@ int __fastcall On_PLAYER_JOINLEVEL(struct TCmdLocParam1 *pCmd, int pnum)
int v4; // esi
int v5; // ecx
int v6; // ST08_4
int v7; // edx
unsigned char *v7; // edx
int v8; // eax
int v9; // ecx
int v10; // eax
@ -3579,11 +3579,11 @@ void __fastcall delta_open_portal(int pnum, int x, int y, int bLevel, int bLType
v6 = pnum;
sgbDeltaChanged = 1;
sgJunk[0].portal[v6].y = y;
sgJunk[0].portal[v6].level = bLevel;
sgJunk[0].portal[v6].ltype = bLType;
sgJunk[0].portal[v6].x = x;
sgJunk[0].portal[v6].setlvl = bSetLvl;
sgJunk.portal[v6].y = y;
sgJunk.portal[v6].level = bLevel;
sgJunk.portal[v6].ltype = bLType;
sgJunk.portal[v6].x = x;
sgJunk.portal[v6].setlvl = bSetLvl;
}
// 67618C: using guessed type char sgbDeltaChanged;

2
Source/msg.h

@ -12,7 +12,7 @@ extern TMegaPkt *sgpCurrPkt;
extern char sgRecvBuf[4722];
extern unsigned char sgbRecvCmd; // idb
extern LocalLevel sgLocals[NUMLEVELS];
extern DJunk sgJunk[4];
extern DJunk sgJunk;
extern TMegaPkt *sgpMegaPkt;
extern char sgbDeltaChanged; // weak
extern char sgbDeltaChunks; // weak

2
Source/multi.cpp

@ -1091,7 +1091,7 @@ void __fastcall multi_player_joins(int pnum, TCmdPlrInfoHdr *cmd, int a3)
bool v7; // zf
char *v8; // eax
int v9; // ST08_4
int v10; // edx
unsigned char *v10; // edx
int v11; // eax
int v12; // ecx
int v13; // eax

6
Source/objects.cpp

@ -4,7 +4,7 @@
int trapid; // weak
int trapdir; // weak
int pObjCels[40];
unsigned char *pObjCels[40];
char ObjFileList[40];
int objectactive[MAXOBJECTS];
int nobjects; // idb
@ -415,7 +415,7 @@ void __cdecl InitObjectGFX()
sprintf(filestr, "Objects\\%s.CEL", v8);
v9 = LoadFileInMem(filestr, 0);
v10 = numobjfiles++;
pObjCels[v10] = (int)v9;
pObjCels[v10] = v9;
}
++v7;
}
@ -1713,7 +1713,7 @@ void __fastcall SetMapObjects(unsigned char *pMap, int startx, int starty)
sprintf(filestr, "Objects\\%s.CEL", v16);
v17 = LoadFileInMem(filestr, 0);
v18 = numobjfiles++;
pObjCels[v18] = (int)v17;
pObjCels[v18] = v17;
}
++v15;
}

2
Source/objects.h

@ -4,7 +4,7 @@
extern int trapid; // weak
extern int trapdir; // weak
extern int pObjCels[40];
extern unsigned char *pObjCels[40];
extern char ObjFileList[40];
extern int objectactive[MAXOBJECTS];
extern int nobjects; // idb

28
Source/player.cpp

@ -315,19 +315,19 @@ void __fastcall InitPlrGFXMem(int pnum)
unsigned int v3; // eax
char *v4; // ecx
int v5; // esi
void *v6; // eax
unsigned char *v6; // eax
bool v7; // zf
unsigned int v8; // ebx
unsigned int v9; // eax
char *v10; // ecx
void *v11; // eax
void *v12; // eax
void *v13; // eax
void *v14; // eax
void *v15; // eax
void *v16; // eax
void *v17; // eax
void *v18; // eax
unsigned char *v11; // eax
unsigned char *v12; // eax
unsigned char *v13; // eax
unsigned char *v14; // eax
unsigned char *v15; // eax
unsigned char *v16; // eax
unsigned char *v17; // eax
unsigned char *v18; // eax
v1 = pnum;
if ( (unsigned int)pnum >= MAX_PLRS )
@ -514,10 +514,10 @@ void __fastcall FreePlayerGFX(int pnum)
plr[v2]._pGFXLoad = 0;
}
void __fastcall NewPlrAnim(int pnum, int Peq, int numFrames, int Delay, int width)
void __fastcall NewPlrAnim(int pnum, unsigned char *Peq, int numFrames, int Delay, int width)
{
int v5; // edi
int v6; // esi
unsigned char *v6; // esi
int v7; // eax
v5 = pnum;
@ -1046,7 +1046,7 @@ void __fastcall InitPlayer(int pnum, bool FirstTime)
int v6; // ST08_4
int v8; // eax
int v10; // ST08_4
int v11; // edx
unsigned char *v11; // edx
int v12; // eax
unsigned int v13; // edi
bool v14; // zf
@ -2039,7 +2039,7 @@ void __fastcall StartSpell(int pnum, int d, int cx, int cy)
{
int v4; // edi
int v5; // esi
int v6; // edx
unsigned char *v6; // edx
int v7; // ST08_4
int v8; // edx
int a2; // [esp+Ch] [ebp-4h]
@ -5041,7 +5041,7 @@ void __fastcall SyncPlrAnim(int pnum)
int v1; // esi
int v2; // eax
int v3; // ecx
int v4; // ecx
unsigned char *v4; // ecx
int v5; // edx
v1 = pnum;

2
Source/player.h

@ -26,7 +26,7 @@ void __fastcall InitPlayerGFX(int pnum);
void __fastcall InitPlrGFXMem(int pnum);
int __fastcall GetPlrGFXSize(char *szCel);
void __fastcall FreePlayerGFX(int pnum);
void __fastcall NewPlrAnim(int pnum, int Peq, int numFrames, int Delay, int width);
void __fastcall NewPlrAnim(int pnum, unsigned char *Peq, int numFrames, int Delay, int width);
void __fastcall ClearPlrPVars(int pnum);
void __fastcall SetPlrAnims(int pnum);
void __fastcall ClearPlrRVars(PlayerStruct *p);

20
Source/scrollrt.cpp

@ -318,7 +318,7 @@ LABEL_14:
while ( (signed int)v8 < (signed int)&plr[4]._pHitPoints );
}
void __fastcall DrawPlayer(int pnum, int x, int y, int px, int py, int animdata, int animframe, int animwidth, int a9, int a10)
void __fastcall DrawPlayer(int pnum, int x, int y, int px, int py, unsigned char *animdata, int animframe, int animwidth, int a9, int a10)
{
char *v10; // edx
int v11; // eax
@ -399,7 +399,7 @@ void __fastcall DrawPlayer(int pnum, int x, int y, int px, int py, int animdata,
// 5CF31D: using guessed type char setlevel;
// 69BEF8: using guessed type int light_table_index;
void __fastcall DrawClippedPlayer(int pnum, int x, int y, int px, int py, int animdata, int animframe, int animwidth, int a9, int a10)
void __fastcall DrawClippedPlayer(int pnum, int x, int y, int px, int py, unsigned char *animdata, int animframe, int animwidth, int a9, int a10)
{
char *v10; // edx
int v11; // eax
@ -1060,7 +1060,7 @@ void __fastcall scrollrt_draw_clipped_dungeon(char *a1, int sx, int sy, int a4,
v27 = a4 + v24->_mxoff - v25->flags_2;
if ( v23 == pcursmonst )
{
Cl2DecodeClrHL(233, v27, v26, (char *)v24->_mAFNum, v24->_mAnimFrame, v25->flags_1, 0, 8);
Cl2DecodeClrHL(233, v27, v26, (char *)v24->_mAnimData, v24->_mAnimFrame, v25->flags_1, 0, 8);
v23 = draw_monster_num;
}
DrawClippedMonster(a1a, sy, v27, v26, v23, 0, 8);
@ -1117,7 +1117,7 @@ void __fastcall scrollrt_draw_clipped_dungeon(char *a1, int sx, int sy, int a4,
v35 = a4 + v32->_mxoff - v33->flags_2;
if ( v31 == pcursmonst )
{
Cl2DecodeClrHL(233, v35, v34, (char *)v32->_mAFNum, v32->_mAnimFrame, v33->flags_1, 0, 8);
Cl2DecodeClrHL(233, v35, v34, (char *)v32->_mAnimData, v32->_mAnimFrame, v33->flags_1, 0, 8);
v31 = draw_monster_num;
}
DrawClippedMonster(a1a, sy, v35, v34, v31, 0, 8);
@ -1186,7 +1186,7 @@ void __fastcall DrawClippedMonster(int x, int y, int a3, int a4, int mon_id, int
if ( (unsigned int)mon_id < 0xC8 )
{
v7 = mon_id;
v8 = (char *)monster[mon_id]._mAFNum;
v8 = (char *)monster[mon_id]._mAnimData;
if ( v8 )
{
v9 = monster[v7]._mAnimFrame;
@ -1733,7 +1733,7 @@ void __fastcall scrollrt_draw_clipped_dungeon_2(char *buffer, int x, int y, int
v30 = sx + v27->_mxoff - v28->flags_2;
if ( v26 == pcursmonst )
{
Cl2DecodeClrHL(233, v30, v29, (char *)v27->_mAFNum, v27->_mAnimFrame, v28->flags_1, a5, 8);
Cl2DecodeClrHL(233, v30, v29, (char *)v27->_mAnimData, v27->_mAnimFrame, v28->flags_1, a5, 8);
v26 = draw_monster_num;
}
DrawClippedMonster(a1, y, v30, v29, v26, a5, 8);
@ -1791,7 +1791,7 @@ void __fastcall scrollrt_draw_clipped_dungeon_2(char *buffer, int x, int y, int
v38 = sx + v35->_mxoff - v36->flags_2;
if ( v34 == pcursmonst )
{
Cl2DecodeClrHL(233, v38, v37, (char *)v35->_mAFNum, v35->_mAnimFrame, v36->flags_1, a5, 8);
Cl2DecodeClrHL(233, v38, v37, (char *)v35->_mAnimData, v35->_mAnimFrame, v36->flags_1, a5, 8);
v34 = draw_monster_num;
}
DrawClippedMonster(a1, y, v38, v37, v34, a5, 8);
@ -2335,7 +2335,7 @@ void __fastcall scrollrt_draw_dungeon(char *buffer, int x, int y, int a4, int a5
v29 = sx + v26->_mxoff - v27->flags_2;
if ( v25 == pcursmonst )
{
Cl2DecodeFrm2(233, v29, v28, (char *)v26->_mAFNum, v26->_mAnimFrame, v27->flags_1, 0, a5);
Cl2DecodeFrm2(233, v29, v28, (char *)v26->_mAnimData, v26->_mAnimFrame, v27->flags_1, 0, a5);
v25 = draw_monster_num;
}
DrawMonster(xa, y, v29, v28, v25, 0, a5);
@ -2392,7 +2392,7 @@ void __fastcall scrollrt_draw_dungeon(char *buffer, int x, int y, int a4, int a5
v37 = sx + v34->_mxoff - v35->flags_2;
if ( v33 == pcursmonst )
{
Cl2DecodeFrm2(233, v37, v36, (char *)v34->_mAFNum, v34->_mAnimFrame, v35->flags_1, 0, a5);
Cl2DecodeFrm2(233, v37, v36, (char *)v34->_mAnimData, v34->_mAnimFrame, v35->flags_1, 0, a5);
v33 = draw_monster_num;
}
DrawMonster(xa, y, v37, v36, v33, 0, a5);
@ -2461,7 +2461,7 @@ void __fastcall DrawMonster(int x, int y, int a3, int a4, int mon_id, int a6, in
if ( (unsigned int)mon_id < 0xC8 )
{
v7 = mon_id;
v8 = (char *)monster[mon_id]._mAFNum;
v8 = (char *)monster[mon_id]._mAnimData;
if ( v8 )
{
v9 = monster[v7]._mAnimFrame;

4
Source/scrollrt.h

@ -28,8 +28,8 @@ void __cdecl ClearCursor();
void __fastcall DrawMissile(int x, int y, int sx, int sy, int a5, int a6, int del_flag);
void __fastcall DrawClippedMissile(int x, int y, int sx, int sy, int a5, int a6, int a7);
void __fastcall DrawDeadPlayer(int x, int y, int sx, int sy, int a5, int a6, bool clipped);
void __fastcall DrawPlayer(int pnum, int x, int y, int px, int py, int animdata, int animframe, int animwidth, int a9, int a10);
void __fastcall DrawClippedPlayer(int pnum, int x, int y, int px, int py, int animdata, int animframe, int animwidth, int a9, int a10);
void __fastcall DrawPlayer(int pnum, int x, int y, int px, int py, unsigned char *animdata, int animframe, int animwidth, int a9, int a10);
void __fastcall DrawClippedPlayer(int pnum, int x, int y, int px, int py, unsigned char *animdata, int animframe, int animwidth, int a9, int a10);
void __fastcall DrawView(int StartX, int StartY);
void __fastcall DrawGame(int x, int y);
void __fastcall scrollrt_draw_lower(int x, int y, int sx, int sy, int a5, int some_flag);

40
Source/towners.cpp

@ -343,7 +343,7 @@ void __fastcall SetTownerGPtrs(void *pData, void **pAnim)
while ( v5 < 8 );
}
void __fastcall NewTownerAnim(int tnum, void *pAnim, int numFrames, int Delay)
void __fastcall NewTownerAnim(int tnum, unsigned char *pAnim, int numFrames, int Delay)
{
int v4; // ecx
@ -419,7 +419,7 @@ void __cdecl InitSmith()
v0 = numtowners;
InitQstSnds(numtowners);
v1 = v0;
towner[v1]._tNData = (char *)LoadFileInMem("Towners\\Smith\\SmithN.CEL", 0);
towner[v1]._tNData = LoadFileInMem("Towners\\Smith\\SmithN.CEL", 0);
v2 = (unsigned int *)towner[v1]._tNAnim;
v3 = 8;
do
@ -431,7 +431,7 @@ void __cdecl InitSmith()
while ( v3 );
v4 = numtowners;
towner[v1]._tNFrames = 16;
NewTownerAnim(v4, (void *)towner[v1]._tNAnim[1], 16, 3);
NewTownerAnim(v4, towner[v1]._tNAnim[1], 16, 3);
strcpy(towner[v1]._tName, "Griswold the Blacksmith");
++numtowners;
}
@ -449,7 +449,7 @@ void __cdecl InitBarOwner()
v0 = numtowners;
InitQstSnds(numtowners);
v1 = v0;
towner[v1]._tNData = (char *)LoadFileInMem("Towners\\TwnF\\TwnFN.CEL", 0);
towner[v1]._tNData = LoadFileInMem("Towners\\TwnF\\TwnFN.CEL", 0);
v2 = (unsigned int *)towner[v1]._tNAnim;
v3 = 8;
do
@ -461,7 +461,7 @@ void __cdecl InitBarOwner()
while ( v3 );
v4 = numtowners;
towner[v1]._tNFrames = 16;
NewTownerAnim(v4, (void *)towner[v1]._tNAnim[1], 16, 3);
NewTownerAnim(v4, towner[v1]._tNAnim[1], 16, 3);
strcpy(towner[v1]._tName, "Ogden the Tavern owner");
++numtowners;
}
@ -479,7 +479,7 @@ void __cdecl InitTownDead()
v0 = numtowners;
InitQstSnds(numtowners);
v1 = v0;
towner[v1]._tNData = (char *)LoadFileInMem("Towners\\Butch\\Deadguy.CEL", 0);
towner[v1]._tNData = LoadFileInMem("Towners\\Butch\\Deadguy.CEL", 0);
v2 = (unsigned int *)towner[v1]._tNAnim;
v3 = 8;
do
@ -491,7 +491,7 @@ void __cdecl InitTownDead()
while ( v3 );
v4 = numtowners;
towner[v1]._tNFrames = 8;
NewTownerAnim(v4, (void *)towner[v1]._tNAnim[4], 8, 6);
NewTownerAnim(v4, towner[v1]._tNAnim[4], 8, 6);
strcpy(towner[v1]._tName, "Wounded Townsman");
++numtowners;
}
@ -507,7 +507,7 @@ void __cdecl InitWitch()
v0 = numtowners;
InitQstSnds(numtowners);
v1 = v0;
towner[v1]._tNData = (char *)LoadFileInMem("Towners\\TownWmn1\\Witch.CEL", 0);
towner[v1]._tNData = LoadFileInMem("Towners\\TownWmn1\\Witch.CEL", 0);
v2 = (unsigned int *)towner[v1]._tNAnim;
v3 = 8;
do
@ -518,7 +518,7 @@ void __cdecl InitWitch()
}
while ( v3 );
towner[v1]._tNFrames = 19;
NewTownerAnim(numtowners, (void *)towner[v1]._tNAnim[0], 19, 6);
NewTownerAnim(numtowners, towner[v1]._tNAnim[0], 19, 6);
strcpy(towner[v1]._tName, "Adria the Witch");
++numtowners;
}
@ -534,7 +534,7 @@ void __cdecl InitBarmaid()
v0 = numtowners;
InitQstSnds(numtowners);
v1 = v0;
towner[v1]._tNData = (char *)LoadFileInMem("Towners\\TownWmn1\\WmnN.CEL", 0);
towner[v1]._tNData = LoadFileInMem("Towners\\TownWmn1\\WmnN.CEL", 0);
v2 = (unsigned int *)towner[v1]._tNAnim;
v3 = 8;
do
@ -545,7 +545,7 @@ void __cdecl InitBarmaid()
}
while ( v3 );
towner[v1]._tNFrames = 18;
NewTownerAnim(numtowners, (void *)towner[v1]._tNAnim[0], 18, 6);
NewTownerAnim(numtowners, towner[v1]._tNAnim[0], 18, 6);
strcpy(towner[v1]._tName, "Gillian the Barmaid");
++numtowners;
}
@ -562,7 +562,7 @@ void __cdecl InitBoy()
v0 = numtowners;
InitQstSnds(numtowners);
v1 = v0;
towner[v1]._tNData = (char *)LoadFileInMem("Towners\\TownBoy\\PegKid1.CEL", 0);
towner[v1]._tNData = LoadFileInMem("Towners\\TownBoy\\PegKid1.CEL", 0);
v2 = (unsigned int *)towner[v1]._tNAnim;
v3 = 8;
do
@ -573,7 +573,7 @@ void __cdecl InitBoy()
}
while ( v3 );
towner[v1]._tNFrames = 20;
NewTownerAnim(numtowners, (void *)towner[v1]._tNAnim[0], 20, 6);
NewTownerAnim(numtowners, towner[v1]._tNAnim[0], 20, 6);
strcpy(towner[v1]._tName, "Wirt the Peg-legged boy");
++numtowners;
}
@ -591,7 +591,7 @@ void __cdecl InitHealer()
v0 = numtowners;
InitQstSnds(numtowners);
v1 = v0;
towner[v1]._tNData = (char *)LoadFileInMem("Towners\\Healer\\Healer.CEL", 0);
towner[v1]._tNData = LoadFileInMem("Towners\\Healer\\Healer.CEL", 0);
v2 = (unsigned int *)towner[v1]._tNAnim;
v3 = 8;
do
@ -603,7 +603,7 @@ void __cdecl InitHealer()
while ( v3 );
v4 = numtowners;
towner[v1]._tNFrames = 20;
NewTownerAnim(v4, (void *)towner[v1]._tNAnim[7], 20, 6);
NewTownerAnim(v4, towner[v1]._tNAnim[7], 20, 6);
strcpy(towner[v1]._tName, "Pepin the Healer");
++numtowners;
}
@ -619,7 +619,7 @@ void __cdecl InitTeller()
v0 = numtowners;
InitQstSnds(numtowners);
v1 = v0;
towner[v1]._tNData = (char *)LoadFileInMem("Towners\\Strytell\\Strytell.CEL", 0);
towner[v1]._tNData = LoadFileInMem("Towners\\Strytell\\Strytell.CEL", 0);
v2 = (unsigned int *)towner[v1]._tNAnim;
v3 = 8;
do
@ -630,7 +630,7 @@ void __cdecl InitTeller()
}
while ( v3 );
towner[v1]._tNFrames = 25;
NewTownerAnim(numtowners, (void *)towner[v1]._tNAnim[0], 25, 3);
NewTownerAnim(numtowners, towner[v1]._tNAnim[0], 25, 3);
strcpy(towner[v1]._tName, "Cain the Elder");
++numtowners;
}
@ -646,7 +646,7 @@ void __cdecl InitDrunk()
v0 = numtowners;
InitQstSnds(numtowners);
v1 = v0;
towner[v1]._tNData = (char *)LoadFileInMem("Towners\\Drunk\\TwnDrunk.CEL", 0);
towner[v1]._tNData = LoadFileInMem("Towners\\Drunk\\TwnDrunk.CEL", 0);
v2 = (unsigned int *)towner[v1]._tNAnim;
v3 = 8;
do
@ -657,7 +657,7 @@ void __cdecl InitDrunk()
}
while ( v3 );
towner[v1]._tNFrames = 18;
NewTownerAnim(numtowners, (void *)towner[v1]._tNAnim[0], 18, 3);
NewTownerAnim(numtowners, towner[v1]._tNAnim[0], 18, 3);
strcpy(towner[v1]._tName, "Farnham the Drunk");
++numtowners;
}
@ -697,7 +697,7 @@ void __cdecl InitCows()
SetTownerGPtrs(*v6, (void **)towner[v5]._tNAnim);
v7 = numtowners;
towner[numtowners]._tNFrames = 12;
NewTownerAnim(v7, (void *)towner[0]._tNAnim[v4 + 58 * v7], 12, 3);
NewTownerAnim(v7, towner[0]._tNAnim[v4 + 58 * v7], 12, 3);
v7 *= 232;
*(int *)((char *)&towner[0]._tAnimFrame + v7) = random(0, 11) + 1;
*(int *)((char *)&towner[0]._tSelFlag + v7) = 1;

2
Source/towners.h

@ -13,7 +13,7 @@ extern TownerStruct towner[16];
int __fastcall GetActiveTowner(int t);
void __fastcall SetTownerGPtrs(void *pData, void **pAnim); /* unsigned char *+** */
void __fastcall NewTownerAnim(int tnum, void *pAnim, int numFrames, int Delay); /* unsigned char * */
void __fastcall NewTownerAnim(int tnum, unsigned char *pAnim, int numFrames, int Delay);
void __fastcall InitTownerInfo(int i, int w, bool sel, int t, int x, int y, int ao, int tp);
void __fastcall InitQstSnds(int i);
void __cdecl InitSmith();

62
structs.h

@ -127,7 +127,7 @@ struct MisFileData
unsigned char mAnimFAmt;
char *mName;
int mFlags;
int mAnimData[16]; // unsigned char *
unsigned char *mAnimData[16];
unsigned char mAnimDelay[16];
unsigned char mAnimLen[16];
int mAnimWidth[16];
@ -309,7 +309,7 @@ struct ItemStruct
int _ix;
int _iy;
int _iAnimFlag;
int _iAnimData; // unsigned char * (PSX name -> ItemFrame)
unsigned char *_iAnimData; // PSX name -> ItemFrame
int _iAnimLen;
int _iAnimFrame;
int _iAnimWidth;
@ -375,7 +375,7 @@ struct ItemStruct
struct DeadStruct
{
int _deadData[8]; // unsigned char *
unsigned char *_deadData[8];
int _deadFrame;
int field_24; // width
int field_28; // cel or fnum _deadtype?
@ -448,7 +448,7 @@ struct MissileStruct
int _miDelFlag;
int _miAnimType;
int _miAnimFlags;
int _miAnimData; // unsigned char *
unsigned char *_miAnimData;
int _miAnimDelay;
int _miAnimLen;
int _miAnimWidth;
@ -478,10 +478,10 @@ struct MissileStruct
int _miVar8;
};
struct AnimStruct
struct AnimStruct // note: wrong names
{
unsigned char *CMem;
unsigned char *Frames[8]; // TODO: to CelBuf struct?
unsigned char *Frames[8]; // probably Data[8]
int Rate;
int Delay;
};
@ -506,7 +506,7 @@ struct CMonster
unsigned char *trans_file;
};
struct MonsterStruct
struct MonsterStruct // note: missing field _mAFNum
{
int _mMTidx;
int _mmode;
@ -531,7 +531,7 @@ struct MonsterStruct
unsigned char _menemyx;
unsigned char _menemyy;
short falign_52;
int _mAFNum;
unsigned char *_mAnimData;
int _mAnimDelay;
int _mAnimCnt;
int _mAnimLen;
@ -723,7 +723,7 @@ struct ObjectStruct
int _oy;
int _oLight;
int _oAnimFlag;
int _oAnimData; // unsigned char *
unsigned char *_oAnimData;
int _oAnimDelay;
int _oAnimCnt;
int _oAnimLen;
@ -790,7 +790,7 @@ struct PlayerStruct
int _pdir;
int _nextdir;
int _pgfxnum;
int _pAnimData; // unsigned char *
unsigned char *_pAnimData;
int _pAnimDelay;
int _pAnimCnt;
int _pAnimLen;
@ -868,29 +868,29 @@ struct PlayerStruct
unsigned char _pSLvlVisited[10];
char gap20F[9];
int _pGFXLoad;
int _pNAnim[8]; // unsigned char *
unsigned char *_pNAnim[8];
int _pNFrames;
int _pNWidth;
int _pWAnim[8]; // unsigned char *
unsigned char *_pWAnim[8];
int _pWFrames;
int _pWWidth;
int _pAAnim[8]; // unsigned char *
unsigned char *_pAAnim[8];
int _pAFrames;
int _pAWidth;
int _pAFNum;
int _pLAnim[8]; // unsigned char *
int _pFAnim[8]; // unsigned char *
int _pTAnim[8]; // unsigned char *
unsigned char *_pLAnim[8];
unsigned char *_pFAnim[8];
unsigned char *_pTAnim[8];
int _pSFrames;
int _pSWidth;
int _pSFNum;
int _pHAnim[8]; // unsigned char *
unsigned char *_pHAnim[8];
int _pHFrames;
int _pHWidth;
int _pDAnim[8]; // unsigned char *
unsigned char *_pDAnim[8];
int _pDFrames;
int _pDWidth;
int _pBAnim[8]; // unsigned char *
unsigned char *_pBAnim[8];
int _pBFrames;
int _pBWidth;
ItemStruct InvBody[7];
@ -928,15 +928,15 @@ struct PlayerStruct
short wReserved[8];
int pDiabloKillLevel;
int dwReserved[7];
void *_pNData;
void *_pWData;
void *_pAData;
void *_pLData;
void *_pFData;
void *_pTData;
void *_pHData;
void *_pDData;
void *_pBData;
unsigned char *_pNData;
unsigned char *_pWData;
unsigned char *_pAData;
unsigned char *_pLData;
unsigned char *_pFData;
unsigned char *_pTData;
unsigned char *_pHData;
unsigned char *_pDData;
unsigned char *_pBData;
int unused_54D4;
};
@ -1000,7 +1000,7 @@ struct TownerStruct
int _txvel;
int _tyvel;
int _tdir;
void *_tAnimData; // unsigned char *
unsigned char *_tAnimData;
int _tAnimDelay;
int _tAnimCnt;
int _tAnimLen;
@ -1021,9 +1021,9 @@ struct TownerStruct
int _tVar3;
int _tVar4;
char _tName[32];
int _tNAnim[8]; // unsigned char *
unsigned char *_tNAnim[8];
int _tNFrames;
char *_tNData; // unsigned char *
unsigned char *_tNData;
};
struct _SNETUIDATA

Loading…
Cancel
Save