Browse Source

Format recently cleaned code

pull/189/head^2
Anders Jenbo 7 years ago
parent
commit
7c071924ad
  1. 1048
      Source/drlg_l2.cpp
  2. 244
      Source/drlg_l2.h
  3. 2
      Source/drlg_l3.h
  4. 64
      Source/drlg_l4.cpp
  5. 32
      Source/drlg_l4.h
  6. 28
      Source/dx.cpp
  7. 10
      Source/dx.h
  8. 75
      Source/gendung.cpp
  9. 44
      Source/gendung.h
  10. 4
      Source/gmenu.cpp
  11. 18
      Source/gmenu.h
  12. 9
      Source/init.cpp
  13. 20
      Source/inv.cpp
  14. 2
      Source/inv.h
  15. 15
      Source/items.cpp
  16. 14
      Source/items.h
  17. 15
      Source/logging.cpp
  18. 14
      Source/logging.h
  19. 22
      Source/minitext.cpp
  20. 8
      Source/minitext.h
  21. 233
      Source/missiles.cpp
  22. 6
      Source/missiles.h
  23. 4
      Source/mpqapi.cpp
  24. 4
      Source/mpqapi.h
  25. 47
      Source/msg.cpp
  26. 21
      Source/multi.cpp
  27. 8
      Source/multi.h
  28. 84
      Source/quests.cpp
  29. 18
      Source/quests.h

1048
Source/drlg_l2.cpp

File diff suppressed because it is too large Load Diff

244
Source/drlg_l2.h

@ -3,11 +3,11 @@
#define __DRLG_L2_H__
extern int nSx1;
extern int nSx2; // weak
extern int nSx2;
extern int nSy1;
extern int nSy2; // weak
extern int nSy2;
extern int nRoomCnt;
extern unsigned char predungeon[DMAXX][DMAXX];
extern BYTE predungeon[DMAXX][DMAXY];
extern ROOMNODE RoomList[81];
extern HALLNODE *pHallList;
@ -17,12 +17,12 @@ void L2DoorFix();
void LoadL2Dungeon(char *sFileName, int vx, int vy);
void DRLG_L2Pass3();
void LoadPreL2Dungeon(char *sFileName, int vx, int vy);
void CreateL2Dungeon(unsigned int rseed, int entry);
void CreateL2Dungeon(int rseed, int entry);
void DRLG_LoadL2SP();
void DRLG_FreeL2SP();
void DRLG_L2(int entry);
BOOL DRLG_L2PlaceMiniSet(unsigned char *miniset, int tmin, int tmax, int cx, int cy, BOOL setview, int ldir);
void DRLG_L2PlaceRndSet(unsigned char *miniset, int rndper);
BOOL DRLG_L2PlaceMiniSet(BYTE *miniset, int tmin, int tmax, int cx, int cy, BOOL setview, int ldir);
void DRLG_L2PlaceRndSet(BYTE *miniset, int rndper);
void DRLG_L2Subs();
void DRLG_L2Shadows();
void DRLG_L2SetRoom(int rx1, int ry1);
@ -48,126 +48,126 @@ void L2DirtFix();
void DRLG_InitL2Vals();
/* rdata */
extern int Area_Min; // weak
extern int Room_Max; // weak
extern int Room_Min; // weak
extern int Area_Min;
extern int Room_Max;
extern int Room_Min;
extern int Dir_Xadd[5];
extern int Dir_Yadd[5];
extern ShadowStruct SPATSL2[2];
//short word_48489A;
extern unsigned char BTYPESL2[161];
extern unsigned char BSTYPESL2[161];
extern unsigned char VARCH1[];
extern unsigned char VARCH2[];
extern unsigned char VARCH3[];
extern unsigned char VARCH4[];
extern unsigned char VARCH5[];
extern unsigned char VARCH6[];
extern unsigned char VARCH7[];
extern unsigned char VARCH8[];
extern unsigned char VARCH9[];
extern unsigned char VARCH10[];
extern unsigned char VARCH11[];
extern unsigned char VARCH12[];
extern unsigned char VARCH13[];
extern unsigned char VARCH14[];
extern unsigned char VARCH15[];
extern unsigned char VARCH16[];
extern unsigned char VARCH17[];
extern unsigned char VARCH18[];
extern unsigned char VARCH19[];
extern unsigned char VARCH20[];
extern unsigned char VARCH21[];
extern unsigned char VARCH22[];
extern unsigned char VARCH23[];
extern unsigned char VARCH24[];
extern unsigned char VARCH25[];
extern unsigned char VARCH26[];
extern unsigned char VARCH27[];
extern unsigned char VARCH28[];
extern unsigned char VARCH29[];
extern unsigned char VARCH30[];
extern unsigned char VARCH31[];
extern unsigned char VARCH32[];
extern unsigned char VARCH33[];
extern unsigned char VARCH34[];
extern unsigned char VARCH35[];
extern unsigned char VARCH36[];
extern unsigned char VARCH37[];
extern unsigned char VARCH38[];
extern unsigned char VARCH39[];
extern unsigned char VARCH40[];
extern unsigned char HARCH1[];
extern unsigned char HARCH2[];
extern unsigned char HARCH3[];
extern unsigned char HARCH4[];
extern unsigned char HARCH5[];
extern unsigned char HARCH6[];
extern unsigned char HARCH7[];
extern unsigned char HARCH8[];
extern unsigned char HARCH9[];
extern unsigned char HARCH10[];
extern unsigned char HARCH11[];
extern unsigned char HARCH12[];
extern unsigned char HARCH13[];
extern unsigned char HARCH14[];
extern unsigned char HARCH15[];
extern unsigned char HARCH16[];
extern unsigned char HARCH17[];
extern unsigned char HARCH18[];
extern unsigned char HARCH19[];
extern unsigned char HARCH20[];
extern unsigned char HARCH21[];
extern unsigned char HARCH22[];
extern unsigned char HARCH23[];
extern unsigned char HARCH24[];
extern unsigned char HARCH25[];
extern unsigned char HARCH26[];
extern unsigned char HARCH27[];
extern unsigned char HARCH28[];
extern unsigned char HARCH29[];
extern unsigned char HARCH30[];
extern unsigned char HARCH31[];
extern unsigned char HARCH32[];
extern unsigned char HARCH33[];
extern unsigned char HARCH34[];
extern unsigned char HARCH35[];
extern unsigned char HARCH36[];
extern unsigned char HARCH37[];
extern unsigned char HARCH38[];
extern unsigned char HARCH39[];
extern unsigned char HARCH40[];
extern unsigned char USTAIRS[];
extern unsigned char DSTAIRS[];
extern unsigned char WARPSTAIRS[];
extern unsigned char CRUSHCOL[];
extern unsigned char BIG1[];
extern unsigned char BIG2[];
extern unsigned char BIG3[];
extern unsigned char BIG4[];
extern unsigned char BIG5[];
extern unsigned char BIG6[];
extern unsigned char BIG7[];
extern unsigned char BIG8[];
extern unsigned char BIG9[];
extern unsigned char BIG10[];
extern unsigned char RUINS1[];
extern unsigned char RUINS2[];
extern unsigned char RUINS3[];
extern unsigned char RUINS4[];
extern unsigned char RUINS5[];
extern unsigned char RUINS6[];
extern unsigned char RUINS7[];
extern unsigned char PANCREAS1[];
extern unsigned char PANCREAS2[];
extern unsigned char CTRDOOR1[];
extern unsigned char CTRDOOR2[];
extern unsigned char CTRDOOR3[];
extern unsigned char CTRDOOR4[];
extern unsigned char CTRDOOR5[];
extern unsigned char CTRDOOR6[];
extern unsigned char CTRDOOR7[];
extern unsigned char CTRDOOR8[];
extern BYTE BTYPESL2[161];
extern BYTE BSTYPESL2[161];
extern BYTE VARCH1[];
extern BYTE VARCH2[];
extern BYTE VARCH3[];
extern BYTE VARCH4[];
extern BYTE VARCH5[];
extern BYTE VARCH6[];
extern BYTE VARCH7[];
extern BYTE VARCH8[];
extern BYTE VARCH9[];
extern BYTE VARCH10[];
extern BYTE VARCH11[];
extern BYTE VARCH12[];
extern BYTE VARCH13[];
extern BYTE VARCH14[];
extern BYTE VARCH15[];
extern BYTE VARCH16[];
extern BYTE VARCH17[];
extern BYTE VARCH18[];
extern BYTE VARCH19[];
extern BYTE VARCH20[];
extern BYTE VARCH21[];
extern BYTE VARCH22[];
extern BYTE VARCH23[];
extern BYTE VARCH24[];
extern BYTE VARCH25[];
extern BYTE VARCH26[];
extern BYTE VARCH27[];
extern BYTE VARCH28[];
extern BYTE VARCH29[];
extern BYTE VARCH30[];
extern BYTE VARCH31[];
extern BYTE VARCH32[];
extern BYTE VARCH33[];
extern BYTE VARCH34[];
extern BYTE VARCH35[];
extern BYTE VARCH36[];
extern BYTE VARCH37[];
extern BYTE VARCH38[];
extern BYTE VARCH39[];
extern BYTE VARCH40[];
extern BYTE HARCH1[];
extern BYTE HARCH2[];
extern BYTE HARCH3[];
extern BYTE HARCH4[];
extern BYTE HARCH5[];
extern BYTE HARCH6[];
extern BYTE HARCH7[];
extern BYTE HARCH8[];
extern BYTE HARCH9[];
extern BYTE HARCH10[];
extern BYTE HARCH11[];
extern BYTE HARCH12[];
extern BYTE HARCH13[];
extern BYTE HARCH14[];
extern BYTE HARCH15[];
extern BYTE HARCH16[];
extern BYTE HARCH17[];
extern BYTE HARCH18[];
extern BYTE HARCH19[];
extern BYTE HARCH20[];
extern BYTE HARCH21[];
extern BYTE HARCH22[];
extern BYTE HARCH23[];
extern BYTE HARCH24[];
extern BYTE HARCH25[];
extern BYTE HARCH26[];
extern BYTE HARCH27[];
extern BYTE HARCH28[];
extern BYTE HARCH29[];
extern BYTE HARCH30[];
extern BYTE HARCH31[];
extern BYTE HARCH32[];
extern BYTE HARCH33[];
extern BYTE HARCH34[];
extern BYTE HARCH35[];
extern BYTE HARCH36[];
extern BYTE HARCH37[];
extern BYTE HARCH38[];
extern BYTE HARCH39[];
extern BYTE HARCH40[];
extern BYTE USTAIRS[];
extern BYTE DSTAIRS[];
extern BYTE WARPSTAIRS[];
extern BYTE CRUSHCOL[];
extern BYTE BIG1[];
extern BYTE BIG2[];
extern BYTE BIG3[];
extern BYTE BIG4[];
extern BYTE BIG5[];
extern BYTE BIG6[];
extern BYTE BIG7[];
extern BYTE BIG8[];
extern BYTE BIG9[];
extern BYTE BIG10[];
extern BYTE RUINS1[];
extern BYTE RUINS2[];
extern BYTE RUINS3[];
extern BYTE RUINS4[];
extern BYTE RUINS5[];
extern BYTE RUINS6[];
extern BYTE RUINS7[];
extern BYTE PANCREAS1[];
extern BYTE PANCREAS2[];
extern BYTE CTRDOOR1[];
extern BYTE CTRDOOR2[];
extern BYTE CTRDOOR3[];
extern BYTE CTRDOOR4[];
extern BYTE CTRDOOR5[];
extern BYTE CTRDOOR6[];
extern BYTE CTRDOOR7[];
extern BYTE CTRDOOR8[];
extern int Patterns[100][10];
#endif /* __DRLG_L2_H__ */

2
Source/drlg_l3.h

@ -14,7 +14,7 @@ void FixL3Warp();
void FixL3HallofHeroes();
void DRLG_L3LockRec(int x, int y);
BOOL DRLG_L3Lockout();
void CreateL3Dungeon( int rseed, int entry);
void CreateL3Dungeon(int rseed, int entry);
void DRLG_L3(int entry);
void InitL3Dungeon();
BOOL DRLG_L3FillRoom(int x1, int y1, int x2, int y2);

64
Source/drlg_l4.cpp

@ -1,26 +1,26 @@
#include "diablo.h"
int diabquad1x; // weak
int diabquad1y; // weak
int diabquad3x; // idb
int diabquad3y; // idb
int diabquad2x; // idb
int diabquad2y; // idb
int diabquad4x; // idb
int diabquad4y; // idb
int diabquad1x;
int diabquad1y;
int diabquad3x;
int diabquad3y;
int diabquad2x;
int diabquad2y;
int diabquad4x;
int diabquad4y;
BOOL hallok[20];
int l4holdx; // weak
int l4holdy; // weak
int SP4x1; // idb
int SP4x2; // weak
int SP4y1; // idb
int SP4y2; // weak
unsigned char L4dungeon[80][80];
unsigned char dung[20][20];
int l4holdx;
int l4holdy;
int SP4x1;
int SP4x2;
int SP4y1;
int SP4y2;
BYTE L4dungeon[80][80];
BYTE dung[20][20];
//int dword_52A4DC; // weak
const unsigned char L4ConvTbl[16] = { 30u, 6u, 1u, 6u, 2u, 6u, 6u, 6u, 9u, 6u, 1u, 6u, 2u, 6u, 3u, 6u };
const unsigned char L4USTAIRS[42] = {
const BYTE L4ConvTbl[16] = { 30u, 6u, 1u, 6u, 2u, 6u, 6u, 6u, 9u, 6u, 1u, 6u, 2u, 6u, 3u, 6u };
const BYTE L4USTAIRS[42] = {
4u,
5u,
6u,
@ -64,7 +64,7 @@ const unsigned char L4USTAIRS[42] = {
0u,
0u
};
const unsigned char L4TWARP[42] = {
const BYTE L4TWARP[42] = {
4u,
5u,
6u,
@ -108,7 +108,7 @@ const unsigned char L4TWARP[42] = {
0u,
0u
};
const unsigned char L4DSTAIRS[52] = {
const BYTE L4DSTAIRS[52] = {
5u,
5u,
6u,
@ -162,7 +162,7 @@ const unsigned char L4DSTAIRS[52] = {
0u,
0u
};
const unsigned char L4PENTA[52] = {
const BYTE L4PENTA[52] = {
5u,
5u,
6u,
@ -216,7 +216,7 @@ const unsigned char L4PENTA[52] = {
0u,
0u
};
const unsigned char L4PENTA2[52] = {
const BYTE L4PENTA2[52] = {
5u,
5u,
6u,
@ -270,7 +270,7 @@ const unsigned char L4PENTA2[52] = {
0u,
0u
};
const unsigned char L4BTYPES[140] = {
const BYTE L4BTYPES[140] = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@ -299,8 +299,6 @@ void DRLG_LoadL4SP()
setloadflag_2 = 1;
}
}
// 5B50D8: using guessed type int setloadflag_2;
// 679660: using guessed type char gbMaxPlayers;
void DRLG_FreeL4SP()
{
@ -310,17 +308,17 @@ void DRLG_FreeL4SP()
void DRLG_L4SetSPRoom(int rx1, int ry1)
{
int rw, rh, i, j;
unsigned char *sp;
BYTE *sp;
rw = (unsigned char)pSetPiece_2[0];
rh = (unsigned char)pSetPiece_2[2];
rw = (BYTE)pSetPiece_2[0];
rh = (BYTE)pSetPiece_2[2];
setpc_x = rx1;
setpc_y = ry1;
setpc_w = rw;
setpc_h = rh;
sp = (unsigned char *)&pSetPiece_2[4];
sp = (BYTE *)&pSetPiece_2[4];
for (j = 0; j < rh; j++) {
for (i = 0; i < rw; i++) {
@ -334,8 +332,6 @@ void DRLG_L4SetSPRoom(int rx1, int ry1)
}
}
}
// 5CF330: using guessed type int setpc_h;
// 5CF334: using guessed type int setpc_w;
void L4SaveQuads()
{
@ -354,8 +350,6 @@ void L4SaveQuads()
y++;
}
}
// 528A34: using guessed type int l4holdx;
// 528A38: using guessed type int l4holdy;
void DRLG_L4SetRoom(BYTE *pSetPiece, int rx1, int ry1)
{
@ -475,7 +469,7 @@ void DRLG_L4GeneralFix()
}
}
void CreateL4Dungeon(unsigned int rseed, int entry)
void CreateL4Dungeon(int rseed, int entry)
{
SetRndSeed(rseed);
@ -1678,7 +1672,7 @@ BOOL L4checkRoom(int x, int y, int width, int height)
return TRUE;
}
BOOL DRLG_L4PlaceMiniSet(const unsigned char *miniset, int tmin, int tmax, int cx, int cy, BOOL setview, int ldir)
BOOL DRLG_L4PlaceMiniSet(const BYTE *miniset, int tmin, int tmax, int cx, int cy, BOOL setview, int ldir)
{
int sx, sy, sw, sh, xx, yy, i, ii, numt, bailcnt;
BOOL found;

32
Source/drlg_l4.h

@ -2,21 +2,21 @@
#ifndef __DRLG_L4_H__
#define __DRLG_L4_H__
extern int diabquad1x; // weak
extern int diabquad1y; // weak
extern int diabquad3x; // idb
extern int diabquad3y; // idb
extern int diabquad2x; // idb
extern int diabquad2y; // idb
extern int diabquad4x; // idb
extern int diabquad4y; // idb
extern int diabquad1x;
extern int diabquad1y;
extern int diabquad3x;
extern int diabquad3y;
extern int diabquad2x;
extern int diabquad2y;
extern int diabquad4x;
extern int diabquad4y;
extern BOOL hallok[20];
extern int l4holdx; // weak
extern int l4holdy; // weak
extern int SP4x1; // idb
extern int SP4x2; // weak
extern int SP4y1; // idb
extern int SP4y2; // weak
extern int l4holdx;
extern int l4holdy;
extern int SP4x1;
extern int SP4x2;
extern int SP4y1;
extern int SP4y2;
extern unsigned char L4dungeon[80][80];
extern unsigned char dung[20][20];
//int dword_52A4DC; // weak
@ -25,13 +25,13 @@ void DRLG_LoadL4SP();
void DRLG_FreeL4SP();
void DRLG_L4SetSPRoom(int rx1, int ry1);
void L4SaveQuads();
void DRLG_L4SetRoom(unsigned char *pSetPiece, int rx1, int ry1);
void DRLG_L4SetRoom(BYTE *pSetPiece, int rx1, int ry1);
void DRLG_LoadDiabQuads(BOOL preflag);
BOOL IsDURWall(char d);
BOOL IsDLLWall(char dd);
void L4FixRim();
void DRLG_L4GeneralFix();
void CreateL4Dungeon(unsigned int rseed, int entry);
void CreateL4Dungeon(int rseed, int entry);
void DRLG_L4(int entry);
void DRLG_L4Shadows();
void InitL4Dungeon();

28
Source/dx.cpp

@ -3,7 +3,7 @@
BYTE *sgpBackBuf;
LPDIRECTDRAW lpDDInterface;
IDirectDrawPalette *lpDDPalette; // idb
IDirectDrawPalette *lpDDPalette;
int sgdwLockCount;
BYTE *gpBuffer;
IDirectDrawSurface *lpDDSBackBuf;
@ -14,9 +14,9 @@ int locktbl[256];
#ifdef __cplusplus
static CCritSect sgMemCrit;
#endif
char gbBackBuf; // weak
char gbEmulate; // weak
HMODULE ghDiabMod; // idb
char gbBackBuf;
char gbEmulate;
HMODULE ghDiabMod;
void dx_init(HWND hWnd)
{
@ -33,11 +33,11 @@ void dx_init(HWND hWnd)
ShowWindow(hWnd, SW_SHOWNORMAL);
lpGUID = NULL;
if(gbEmulate) {
if (gbEmulate) {
lpGUID = (GUID *)DDCREATE_EMULATIONONLY;
}
hDDVal = dx_DirectDrawCreate(lpGUID, &lpDDInterface, NULL);
if(hDDVal != DD_OK) {
if (hDDVal != DD_OK) {
ErrDlg(IDD_DIALOG1, hDDVal, "C:\\Src\\Diablo\\Source\\dx.cpp", 149);
}
@ -52,15 +52,15 @@ void dx_init(HWND hWnd)
#ifndef _DEBUG
fullscreen = TRUE;
#endif
if(!fullscreen) {
if (!fullscreen) {
#ifdef __cplusplus
hDDVal = lpDDInterface->SetCooperativeLevel(hWnd, DDSCL_NORMAL | DDSCL_ALLOWREBOOT);
#else
hDDVal = lpDDInterface->lpVtbl->SetCooperativeLevel(lpDDInterface, hWnd, DDSCL_NORMAL | DDSCL_ALLOWREBOOT);
#endif
if(hDDVal == DDERR_EXCLUSIVEMODEALREADYSET) {
if (hDDVal == DDERR_EXCLUSIVEMODEALREADYSET) {
TriggerBreak();
} else if(hDDVal != DD_OK) {
} else if (hDDVal != DD_OK) {
ErrDlg(IDD_DIALOG1, hDDVal, "C:\\Diablo\\Direct\\dx.cpp", 155);
}
SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
@ -70,9 +70,9 @@ void dx_init(HWND hWnd)
#else
hDDVal = lpDDInterface->lpVtbl->SetCooperativeLevel(lpDDInterface, hWnd, DDSCL_EXCLUSIVE | DDSCL_ALLOWREBOOT | DDSCL_FULLSCREEN);
#endif
if(hDDVal == DDERR_EXCLUSIVEMODEALREADYSET) {
if (hDDVal == DDERR_EXCLUSIVEMODEALREADYSET) {
TriggerBreak();
} else if(hDDVal != DD_OK) {
} else if (hDDVal != DD_OK) {
ErrDlg(IDD_DIALOG1, hDDVal, "C:\\Src\\Diablo\\Source\\dx.cpp", 170);
}
#ifdef __cplusplus
@ -80,7 +80,7 @@ void dx_init(HWND hWnd)
#else
hDDVal = lpDDInterface->lpVtbl->SetDisplayMode(lpDDInterface, SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP);
#endif
if(hDDVal != DD_OK) {
if (hDDVal != DD_OK) {
winw = GetSystemMetrics(SM_CXSCREEN);
winh = GetSystemMetrics(SM_CYSCREEN);
#ifdef __cplusplus
@ -89,7 +89,7 @@ void dx_init(HWND hWnd)
hDDVal = lpDDInterface->lpVtbl->SetDisplayMode(lpDDInterface, winw, winh, SCREEN_BPP);
#endif
}
if(hDDVal != DD_OK) {
if (hDDVal != DD_OK) {
ErrDlg(IDD_DIALOG1, hDDVal, "C:\\Src\\Diablo\\Source\\dx.cpp", 183);
}
}
@ -101,7 +101,6 @@ void dx_init(HWND hWnd)
bSuccess = SDrawManualInitialize(hWnd, lpDDInterface, lpDDSPrimary, NULL, NULL, lpDDSBackBuf, lpDDPalette, NULL);
/// ASSERT: assert(bSuccess);
}
// 52A549: using guessed type char gbEmulate;
void dx_create_back_buffer()
{
@ -160,7 +159,6 @@ void dx_create_back_buffer()
if (error_code != DD_OK)
ErrDlg(IDD_DIALOG1, error_code, "C:\\Src\\Diablo\\Source\\dx.cpp", 96);
}
// 52A548: using guessed type char gbBackBuf;
void dx_create_primary_surface()
{

10
Source/dx.h

@ -3,13 +3,13 @@
#define __DX_H__
extern IDirectDraw *lpDDInterface;
extern IDirectDrawPalette *lpDDPalette; // idb
extern IDirectDrawPalette *lpDDPalette;
extern BYTE *gpBuffer;
extern IDirectDrawSurface *lpDDSBackBuf;
extern IDirectDrawSurface *lpDDSPrimary;
extern char gbBackBuf; // weak
extern char gbEmulate; // weak
extern HMODULE ghDiabMod; // idb
extern char gbBackBuf;
extern char gbEmulate;
extern HMODULE ghDiabMod;
void dx_init(HWND hWnd);
void dx_create_back_buffer();
@ -25,6 +25,6 @@ void j_dx_reinit();
/* data */
extern int dx_inf; // weak
extern int dx_inf;
#endif /* __DX_H__ */

75
Source/gendung.cpp

@ -8,7 +8,7 @@ int dMonster[MAXDUNX][MAXDUNY];
BYTE dungeon[DMAXX][DMAXY];
char dObject[MAXDUNX][MAXDUNY];
BYTE *pSpeedCels;
int nlevel_frames; // weak
int nlevel_frames;
char pdungeon[DMAXX][DMAXY];
char dDead[MAXDUNX][MAXDUNY];
MICROS dpiece_defs_map_1[MAXDUNX * MAXDUNY];
@ -18,17 +18,17 @@ int MicroTileLen;
char dflags[DMAXX][DMAXY];
int dPiece[MAXDUNX][MAXDUNY];
char dLight[MAXDUNX][MAXDUNY];
int setloadflag_2; // weak
int setloadflag_2;
int tile_defs[MAXTILES];
BYTE *pMegaTiles;
BYTE *pLevelPieces;
int gnDifficulty; // idb
int gnDifficulty;
char block_lvid[2049];
//char byte_5B78EB;
char dTransVal[MAXDUNX][MAXDUNY];
BOOLEAN nTrapTable[2049];
BYTE leveltype;
unsigned char currlevel; // idb
BYTE currlevel;
char TransList[256];
BOOLEAN nSolidTable[2049];
int level_frame_count[MAXTILES];
@ -37,10 +37,10 @@ BYTE *pDungeonCels;
int SpeedFrameTbl[128][16];
THEME_LOC themeLoc[MAXTHEMES];
char dPlayer[MAXDUNX][MAXDUNY];
int dword_5C2FF8; // weak
int dword_5C2FFC; // weak
int scr_pix_width; // weak
int scr_pix_height; // weak
int dword_5C2FF8;
int dword_5C2FFC;
int scr_pix_width;
int scr_pix_height;
char dArch[MAXDUNX][MAXDUNY];
char nBlockTable[2049];
BYTE *pSpecialCels;
@ -50,28 +50,28 @@ BYTE setlvlnum;
int level_frame_sizes[MAXTILES];
char nMissileTable[2049];
char *pSetPiece_2;
char setlvltype; // weak
char setlvltype;
BOOLEAN setlevel;
int LvlViewY; // weak
int LvlViewX; // weak
int dmaxx; // weak
int dmaxy; // weak
int setpc_h; // weak
int setpc_w; // weak
int setpc_x; // idb
int ViewX; // idb
int ViewY; // idb
int setpc_y; // idb
int LvlViewY;
int LvlViewX;
int dmaxx;
int dmaxy;
int setpc_h;
int setpc_w;
int setpc_x;
int ViewX;
int ViewY;
int setpc_y;
char dMissile[MAXDUNX][MAXDUNY];
int dminx; // weak
int dminy; // weak
int dminx;
int dminy;
MICROS dpiece_defs_map_2[MAXDUNX][MAXDUNY];
void FillSolidBlockTbls()
{
unsigned char bv;
unsigned int dwTiles;
unsigned char *pSBFile, *pTmp;
BYTE bv;
DWORD dwTiles;
BYTE *pSBFile, *pTmp;
int i;
memset(nBlockTable, 0, sizeof(nBlockTable));
@ -445,8 +445,6 @@ void MakeSpeedCels()
}
}
}
// 525728: using guessed type int light4flag;
// 53CD4C: using guessed type int nlevel_frames;
void SortTiles(int frames)
{
@ -553,11 +551,6 @@ void SetDungeonMicros()
dword_5C2FFC = 7;
}
}
// 52569C: using guessed type int zoomflag;
// 5C2FF8: using guessed type int dword_5C2FF8;
// 5C2FFC: using guessed type int dword_5C2FFC;
// 5C3000: using guessed type int scr_pix_width;
// 5C3004: using guessed type int scr_pix_height;
void DRLG_InitTrans()
{
@ -565,7 +558,6 @@ void DRLG_InitTrans()
memset(TransList, 0, sizeof(TransList));
TransVal = 1;
}
// 5A5590: using guessed type char TransVal;
void DRLG_MRectTrans(int x1, int y1, int x2, int y2)
{
@ -584,7 +576,6 @@ void DRLG_MRectTrans(int x1, int y1, int x2, int y2)
TransVal++;
}
// 5A5590: using guessed type char TransVal;
void DRLG_RectTrans(int x1, int y1, int x2, int y2)
{
@ -597,17 +588,16 @@ void DRLG_RectTrans(int x1, int y1, int x2, int y2)
}
TransVal++;
}
// 5A5590: using guessed type char TransVal;
void DRLG_CopyTrans(int sx, int sy, int dx, int dy)
{
dTransVal[dx][dy] = dTransVal[sx][sy];
}
void DRLG_ListTrans(int num, unsigned char *List)
void DRLG_ListTrans(int num, BYTE *List)
{
int i;
unsigned char x1, x2, y1, y2;
BYTE x1, x2, y1, y2;
for (i = 0; i < num; i++) {
x1 = *List++;
@ -618,10 +608,10 @@ void DRLG_ListTrans(int num, unsigned char *List)
}
}
void DRLG_AreaTrans(int num, unsigned char *List)
void DRLG_AreaTrans(int num, BYTE *List)
{
int i;
unsigned char x1, x2, y1, y2;
BYTE x1, x2, y1, y2;
for (i = 0; i < num; i++) {
x1 = *List++;
@ -633,7 +623,6 @@ void DRLG_AreaTrans(int num, unsigned char *List)
}
++TransVal;
}
// 5A5590: using guessed type char TransVal;
void DRLG_InitSetPC()
{
@ -642,8 +631,6 @@ void DRLG_InitSetPC()
setpc_w = 0;
setpc_h = 0;
}
// 5CF330: using guessed type int setpc_h;
// 5CF334: using guessed type int setpc_w;
void DRLG_SetPC()
{
@ -660,8 +647,6 @@ void DRLG_SetPC()
}
}
}
// 5CF330: using guessed type int setpc_h;
// 5CF334: using guessed type int setpc_w;
void Make_SetPC(int x, int y, int w, int h)
{
@ -762,8 +747,6 @@ BOOL DRLG_WillThemeRoomFit(int floor, int x, int y, int minSize, int maxSize, in
*height = ySmallest - 2;
return TRUE;
}
// 41965B: using guessed type int var_6C[20];
// 41965B: using guessed type int var_BC[20];
void DRLG_CreateThemeRoom(int themeIndex)
{
@ -969,5 +952,3 @@ void InitLevels()
setlevel = 0;
}
}
// 52572C: using guessed type int leveldebug;
// 5CF31D: using guessed type char setlevel;

44
Source/gendung.h

@ -10,27 +10,27 @@ extern int dMonster[MAXDUNX][MAXDUNY];
extern BYTE dungeon[DMAXX][DMAXY];
extern char dObject[MAXDUNX][MAXDUNY];
extern BYTE *pSpeedCels;
extern int nlevel_frames; // weak
extern int nlevel_frames;
extern char pdungeon[DMAXX][DMAXY];
extern char dDead[MAXDUNX][MAXDUNY];
extern MICROS dpiece_defs_map_1[MAXDUNX * MAXDUNY];
extern char dPreLight[MAXDUNX][MAXDUNY];
extern char TransVal; // weak
extern char TransVal;
extern int MicroTileLen;
extern char dflags[DMAXX][DMAXY];
extern int dPiece[MAXDUNX][MAXDUNY];
extern char dLight[MAXDUNX][MAXDUNY];
extern int setloadflag_2; // weak
extern int setloadflag_2;
extern int tile_defs[MAXTILES];
extern BYTE *pMegaTiles;
extern BYTE *pLevelPieces;
extern int gnDifficulty; // idb
extern int gnDifficulty;
extern char block_lvid[2049];
//char byte_5B78EB;
extern char dTransVal[MAXDUNX][MAXDUNY];
extern BOOLEAN nTrapTable[2049];
extern BYTE leveltype;
extern unsigned char currlevel; // idb
extern unsigned char currlevel;
extern char TransList[256];
extern BOOLEAN nSolidTable[2049];
extern int level_frame_count[MAXTILES];
@ -39,10 +39,10 @@ extern BYTE *pDungeonCels;
extern int SpeedFrameTbl[128][16];
extern THEME_LOC themeLoc[MAXTHEMES];
extern char dPlayer[MAXDUNX][MAXDUNY];
extern int dword_5C2FF8; // weak
extern int dword_5C2FFC; // weak
extern int scr_pix_width; // weak
extern int scr_pix_height; // weak
extern int dword_5C2FF8;
extern int dword_5C2FFC;
extern int scr_pix_width;
extern int scr_pix_height;
extern char dArch[MAXDUNX][MAXDUNY];
extern char nBlockTable[2049];
extern BYTE *pSpecialCels;
@ -52,21 +52,21 @@ extern BYTE setlvlnum;
extern int level_frame_sizes[MAXTILES];
extern char nMissileTable[2049];
extern char *pSetPiece_2;
extern char setlvltype; // weak
extern char setlvltype;
extern BOOLEAN setlevel;
extern int LvlViewY; // weak
extern int LvlViewX; // weak
extern int dmaxx; // weak
extern int dmaxy; // weak
extern int setpc_h; // weak
extern int setpc_w; // weak
extern int setpc_x; // idb
extern int ViewX; // idb
extern int ViewY; // idb
extern int setpc_y; // idb
extern int LvlViewY;
extern int LvlViewX;
extern int dmaxx;
extern int dmaxy;
extern int setpc_h;
extern int setpc_w;
extern int setpc_x;
extern int ViewX;
extern int ViewY;
extern int setpc_y;
extern char dMissile[MAXDUNX][MAXDUNY];
extern int dminx; // weak
extern int dminy; // weak
extern int dminx;
extern int dminy;
extern MICROS dpiece_defs_map_2[MAXDUNX][MAXDUNY];
void FillSolidBlockTbls();

4
Source/gmenu.cpp

@ -13,7 +13,7 @@ BYTE *option_cel;
BYTE *sgpLogo;
int sgCurrentMenuIdx;
const unsigned char lfontframe[127] = {
const BYTE lfontframe[127] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@ -28,7 +28,7 @@ const unsigned char lfontframe[127] = {
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 20, 0, 21, 0
};
const unsigned char lfontkern[56] = {
const BYTE lfontkern[56] = {
18, 33, 21, 26, 28, 19, 19, 26, 25, 11,
12, 25, 19, 34, 28, 32, 20, 32, 28, 20,
28, 36, 35, 46, 33, 33, 24, 11, 23, 22,

18
Source/gmenu.h

@ -3,22 +3,22 @@
#define __GMENU_H__
extern BYTE *optbar_cel;
extern BOOLEAN mouseNavigation; // weak
extern BOOLEAN mouseNavigation;
extern BYTE *PentSpin_cel;
extern BYTE *BigTGold_cel;
extern int dword_634474; // weak
extern char byte_634478; // weak
extern void(*dword_63447C)(TMenuItem *);
extern TMenuItem *sgpCurrentMenu; // idb
extern int dword_634474;
extern char byte_634478;
extern void (*dword_63447C)(TMenuItem *);
extern TMenuItem *sgpCurrentMenu;
extern BYTE *option_cel;
extern int sgCurrentMenuIdx; // weak
extern int sgCurrentMenuIdx;
void gmenu_draw_pause();
void gmenu_print_text(int x, int y, char *pszStr);
void FreeGMenu();
void gmenu_init_menu();
BOOL gmenu_exception();
void gmenu_call_proc(TMenuItem *pItem, void(*gmFunc)(TMenuItem *));
void gmenu_call_proc(TMenuItem *pItem, void (*gmFunc)(TMenuItem *));
void gmenu_up_down(BOOL isDown);
void gmenu_draw();
void gmenu_draw_menu_item(TMenuItem *pItem, int a2);
@ -36,7 +36,7 @@ void gmenu_slider_steps(TMenuItem *pItem, int dwTicks);
/* rdata */
extern const unsigned char lfontframe[127];
extern const unsigned char lfontkern[56];
extern const BYTE lfontframe[127];
extern const BYTE lfontkern[56];
#endif /* __GMENU_H__ */

9
Source/init.cpp

@ -3,7 +3,7 @@
#include "../DiabloUI/diabloui.h"
_SNETVERSIONDATA fileinfo;
int gbActive; // weak
int gbActive;
char diablo_exe_path[MAX_PATH];
HANDLE unused_mpq;
char patch_rt_mpq_path[MAX_PATH];
@ -11,7 +11,7 @@ WNDPROC CurrentProc;
HANDLE diabdat_mpq;
char diabdat_mpq_path[MAX_PATH];
HANDLE patch_rt_mpq;
BOOL killed_mom_parent; // weak
BOOL killed_mom_parent;
BOOLEAN screensaver_enabled_prev;
/* data */
@ -67,7 +67,6 @@ void init_run_office_from_start_menu()
init_run_office(szPath);
}
}
// 634CA0: using guessed type int killed_mom_parent;
void init_run_office(char *dir)
{
@ -189,7 +188,6 @@ void init_kill_mom_parent()
killed_mom_parent = TRUE;
}
}
// 634CA0: using guessed type int killed_mom_parent;
HWND init_find_mom_parent()
{
@ -415,7 +413,6 @@ LRESULT __stdcall MainWndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
return DefWindowProc(hWnd, Msg, wParam, lParam);
}
// 52571C: using guessed type int drawpanflag;
void init_activate_window(HWND hWnd, BOOL bActive)
{
@ -437,8 +434,6 @@ void init_activate_window(HWND hWnd, BOOL bActive)
ResetPal();
}
}
// 52571C: using guessed type int drawpanflag;
// 634980: using guessed type int gbActive;
LRESULT __stdcall WindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{

20
Source/inv.cpp

@ -86,7 +86,7 @@ const InvXY InvRect[73] = {
/* data */
int AP2x2Tbl[10] = { 8, 28, 6, 26, 4, 24, 2, 22, 0, 20 }; // weak
int AP2x2Tbl[10] = { 8, 28, 6, 26, 4, 24, 2, 22, 0, 20 };
void FreeInvGFX()
{
@ -407,10 +407,6 @@ void DrawInv()
}
}
}
// 4B8CB8: using guessed type char pcursinvitem;
// 69BEF8: using guessed type int light_table_index;
// 69CF94: using guessed type int cel_transparency_active;
// 41B8C4: using guessed type int var_A0[40];
void DrawInvBelt()
{
@ -455,8 +451,6 @@ void DrawInvBelt()
}
}
}
// 4B8960: using guessed type int talkflag;
// 4B8CB8: using guessed type char pcursinvitem;
BOOL AutoPlace(int pnum, int ii, int sx, int sy, BOOL saveflag)
{
@ -1464,7 +1458,6 @@ void CheckQuestItem(int pnum)
}
}
}
// 52A554: using guessed type int sfxdelay;
void InvGetItem(int pnum, int ii)
{
@ -1497,7 +1490,6 @@ void InvGetItem(int pnum, int ii)
SetCursor_(plr[pnum].HoldItem._iCurs + CURSOR_FIRSTITEM);
}
}
// 4B8CC0: using guessed type char pcursitem;
void AutoGetItem(int pnum, int ii)
{
@ -1628,7 +1620,6 @@ void AutoGetItem(int pnum, int ii)
plr[pnum].HoldItem._itype = ITYPE_NONE;
}
}
// 48E9A8: using guessed type int AP2x2Tbl[10];
int FindGetItem(int indx, WORD ci, int iseed)
{
@ -1991,7 +1982,6 @@ char CheckInvHLight()
return rv;
}
// 4B883C: using guessed type int infoclr;
void RemoveScroll(int pnum)
{
@ -2081,8 +2071,6 @@ void StartGoldDrop()
if (talkflag)
control_reset_talk();
}
// 4B8960: using guessed type int talkflag;
// 4B8CB8: using guessed type char pcursinvitem;
BOOL UseInvItem(int pnum, int cii)
{
@ -2181,9 +2169,6 @@ BOOL UseInvItem(int pnum, int cii)
return TRUE;
}
// 4B8960: using guessed type int talkflag;
// 52A554: using guessed type int sfxdelay;
// 6AA705: using guessed type char stextflag;
void DoTelekinesis()
{
@ -2195,8 +2180,6 @@ void DoTelekinesis()
NetSendCmdParam1(TRUE, CMD_KNOCKBACK, pcursmonst);
SetCursor_(CURSOR_HAND);
}
// 4B8CC0: using guessed type char pcursitem;
// 4B8CC1: using guessed type char pcursobj;
int CalculateGold(int pnum)
{
@ -2216,7 +2199,6 @@ int CalculateGold(int pnum)
return gold;
}
// 52571C: using guessed type int drawpanflag;
BOOL DropItemBeforeTrig()
{

2
Source/inv.h

@ -48,6 +48,6 @@ BOOL DropItemBeforeTrig();
/* data */
extern int AP2x2Tbl[10]; // weak
extern int AP2x2Tbl[10];
#endif /* __INV_H__ */

15
Source/items.cpp

@ -7,14 +7,14 @@ ItemStruct curruitem;
ItemGetRecordStruct itemrecord[MAXITEMS];
ItemStruct item[MAXITEMS + 1];
BOOL itemhold[3][3];
unsigned char *itemanims[35];
BYTE *itemanims[35];
BOOL UniqueItemFlag[128];
int numitems;
int gnNumGetRecords;
/* data */
unsigned char ItemCAnimTbl[169] = {
BYTE ItemCAnimTbl[169] = {
20, 16, 16, 16, 4, 4, 4, 12, 12, 12,
12, 12, 12, 12, 12, 21, 21, 25, 12, 28,
28, 28, 0, 0, 0, 32, 0, 0, 0, 24,
@ -70,7 +70,7 @@ char *ItemDropStrs[35] = {
"Fanvil",
"FLazStaf"
};
unsigned char ItemAnimLs[35] = {
BYTE ItemAnimLs[35] = {
15u,
13u,
16u,
@ -181,7 +181,7 @@ int ItemInvSnds[35] = {
IS_IANVL,
IS_ISTAF
};
int idoppely = 16; // weak
int idoppely = 16;
int premiumlvladd[6] = { -1, -1, 0, 0, 1, 2 };
void InitItemGFX()
@ -1733,7 +1733,6 @@ void GetItemPower(int i, int minlvl, int maxlvl, int flgs, BOOL onlygood)
if (preidx != -1 || sufidx != -1)
CalcItemValue(i);
}
// 4215EF: using guessed type int var_494[256];
void GetItemBonus(int i, int idata, int minlvl, int maxlvl, int onlygood)
{
@ -2218,7 +2217,7 @@ void CreateTypeItem(int x, int y, BOOL onlygood, int itype, int imisc, BOOL send
}
}
void RecreateItem(int ii, int idx, unsigned short ic, int iseed, int ivalue)
void RecreateItem(int ii, int idx, WORD ic, int iseed, int ivalue)
{
int uper, onlygood, recreate, pregen;
@ -2263,7 +2262,7 @@ void RecreateItem(int ii, int idx, unsigned short ic, int iseed, int ivalue)
}
}
void RecreateEar(int ii, unsigned short ic, int iseed, int Id, int dur, int mdur, int ch, int mch, int ivalue, int ibuff)
void RecreateEar(int ii, WORD ic, int iseed, int Id, int dur, int mdur, int ch, int mch, int ivalue, int ibuff)
{
SetPlrHandItem(&item[ii], IDI_EAR);
tempstr[0] = (ic >> 8) & 0x7F;
@ -3863,7 +3862,7 @@ void RecreateHealerItem(int ii, int idx, int lvl, int iseed)
item[ii]._iIdentified = TRUE;
}
void RecreateTownItem(int ii, int idx, unsigned short icreateinfo, int iseed, int ivalue)
void RecreateTownItem(int ii, int idx, WORD icreateinfo, int iseed, int ivalue)
{
if (icreateinfo & 0x400)
RecreateSmithItem(ii, idx, icreateinfo & 0x3F, iseed);

14
Source/items.h

@ -9,7 +9,7 @@ extern ItemStruct curruitem;
extern ItemGetRecordStruct itemrecord[MAXITEMS];
extern ItemStruct item[MAXITEMS + 1];
extern BOOL itemhold[3][3];
extern unsigned char *itemanims[35];
extern BYTE *itemanims[35];
extern BOOL UniqueItemFlag[128];
extern int numitems;
extern int gnNumGetRecords;
@ -62,8 +62,8 @@ void CreateRndItem(int x, int y, BOOL onlygood, BOOL sendmsg, int delta);
void SetupAllUseful(int ii, int iseed, int lvl);
void CreateRndUseful(int pnum, int x, int y, BOOL sendmsg);
void CreateTypeItem(int x, int y, BOOL onlygood, int itype, int imisc, BOOL sendmsg, int delta);
void RecreateItem(int ii, int idx, unsigned short ic, int iseed, int ivalue);
void RecreateEar(int ii, unsigned short ic, int iseed, int Id, int dur, int mdur, int ch, int mch, int ivalue, int ibuff);
void RecreateItem(int ii, int idx, WORD ic, int iseed, int ivalue);
void RecreateEar(int ii, WORD ic, int iseed, int Id, int dur, int mdur, int ch, int mch, int ivalue, int ibuff);
void SpawnQuestItem(int itemid, int x, int y, int randarea, int selflag);
void SpawnRock();
void RespawnItem(int i, BOOL FlipFlag);
@ -115,7 +115,7 @@ void RecreatePremiumItem(int ii, int idx, int lvl, int iseed);
void RecreateBoyItem(int ii, int idx, int lvl, int iseed);
void RecreateWitchItem(int ii, int idx, int lvl, int iseed);
void RecreateHealerItem(int ii, int idx, int lvl, int iseed);
void RecreateTownItem(int ii, int idx, unsigned short icreateinfo, int iseed, int ivalue);
void RecreateTownItem(int ii, int idx, WORD icreateinfo, int iseed, int ivalue);
void RecalcStoreStats();
int ItemNoFlippy();
void CreateSpellBook(int x, int y, int ispell, BOOL sendmsg, int delta);
@ -128,12 +128,12 @@ void PutItemRecord(int nSeed, WORD wCI, int nIndex);
/* data */
extern unsigned char ItemCAnimTbl[169];
extern BYTE ItemCAnimTbl[169];
extern char *ItemDropStrs[35];
extern unsigned char ItemAnimLs[35];
extern BYTE ItemAnimLs[35];
extern int ItemDropSnds[35];
extern int ItemInvSnds[35];
extern int idoppely; // weak
extern int idoppely;
extern int premiumlvladd[6];
#endif /* __ITEMS_H__ */

15
Source/logging.cpp

@ -4,10 +4,10 @@
#ifdef __cplusplus
static CCritSect sgMemCrit;
#endif
CHAR FileName[MAX_PATH]; // idb
CHAR FileName[MAX_PATH];
char log_buffer[388];
LPCVOID lpAddress; // idb
DWORD nNumberOfBytesToWrite; // idb
LPCVOID lpAddress;
DWORD nNumberOfBytesToWrite;
/* data */
@ -93,7 +93,6 @@ HANDLE log_create()
log_not_created = FALSE;
return fh;
}
// 4947D4: using guessed type int log_not_created;
void log_get_version(VS_FIXEDFILEINFO *file_info)
{
@ -155,10 +154,10 @@ void __cdecl log_printf(const char *pszFmt, ...)
void log_dump_computer_info()
{
char Buffer[64]; // [esp+0h] [ebp-88h]
VS_FIXEDFILEINFO file_info; // [esp+40h] [ebp-48h]
SYSTEMTIME SystemTime; // [esp+74h] [ebp-14h]
DWORD pcbBuffer; // [esp+84h] [ebp-4h]
char Buffer[64];
VS_FIXEDFILEINFO file_info;
SYSTEMTIME SystemTime;
DWORD pcbBuffer;
GetLocalTime(&SystemTime);
pcbBuffer = 64;

14
Source/logging.h

@ -2,24 +2,24 @@
#ifndef __LOGGING_H__
#define __LOGGING_H__
extern CHAR FileName[MAX_PATH]; // idb
extern CHAR FileName[MAX_PATH];
extern char log_buffer[388];
extern LPCVOID lpAddress; // idb
extern DWORD nNumberOfBytesToWrite; // idb
extern LPCVOID lpAddress;
extern DWORD nNumberOfBytesToWrite;
void __cdecl log_flush(BOOL force_close);
HANDLE log_create(); // should be HANDLE
HANDLE log_create();
void log_get_version(VS_FIXEDFILEINFO *file_info);
void __cdecl log_printf(const char *pszFmt, ...); // LogMessage
void log_dump_computer_info();
/* rdata */
extern const int log_inf; // weak
extern const int log_inf;
/* data */
extern int log_not_created; // weak
extern HANDLE log_file; // idb
extern int log_not_created;
extern HANDLE log_file;
#endif /* __LOGGING_H__ */

22
Source/minitext.cpp

@ -1,11 +1,11 @@
#include "diablo.h"
int qtexty; // weak
int qtexty;
char *qtextptr;
int qtextSpd; // weak
char qtextflag; // weak
int scrolltexty; // weak
int sgLastScroll; // weak
int qtextSpd;
char qtextflag;
int scrolltexty;
int sgLastScroll;
void *pMedTextCels;
void *pTextBoxCels;
@ -49,7 +49,6 @@ void InitQuestText()
pTextBoxCels = LoadFileInMem("Data\\TextBox.CEL", 0);
qtextflag = FALSE;
}
// 646D00: using guessed type char qtextflag;
void InitQTextMsg(int m)
{
@ -64,11 +63,6 @@ void InitQTextMsg(int m)
}
PlaySFX(alltext[m].sfxnr);
}
// 646CF4: using guessed type int qtexty;
// 646CFC: using guessed type int qtextSpd;
// 646D00: using guessed type char qtextflag;
// 646D04: using guessed type int scrolltexty;
// 646D08: using guessed type int sgLastScroll;
void DrawQTextBack()
{
@ -289,9 +283,3 @@ void DrawQText()
}
}
}
// 646CF4: using guessed type int qtexty;
// 646CFC: using guessed type int qtextSpd;
// 646D00: using guessed type char qtextflag;
// 646D04: using guessed type int scrolltexty;
// 646D08: using guessed type int sgLastScroll;
// 428202: using guessed type char qstr[128];

8
Source/minitext.h

@ -2,11 +2,11 @@
#ifndef __MINITEXT_H__
#define __MINITEXT_H__
extern int qtexty; // weak
extern int qtexty;
extern char *qtextptr;
extern int qtextSpd; // weak
extern char qtextflag; // weak
extern int scrolltexty; // weak
extern int qtextSpd;
extern char qtextflag;
extern int scrolltexty;
extern void *pMedTextCels;
extern void *pTextBoxCels;

233
Source/missiles.cpp

@ -3,11 +3,11 @@
int missileactive[MAXMISSILES];
int missileavail[MAXMISSILES];
MissileStruct missile[MAXMISSILES];
int nummissiles; // idb
int nummissiles;
int ManashieldFlag;
ChainStruct chain[MAXMISSILES];
int MissilePreFlag; // weak
int numchains; // weak
int MissilePreFlag;
int numchains;
int XDirAdd[8] = { 1, 0, -1, -1, -1, 0, 1, 1 };
int YDirAdd[8] = { 1, 1, 1, 0, -1, -1, -1, 0 };
@ -20,30 +20,30 @@ void GetDamageAmt(int i, int *mind, int *maxd)
/// ASSERT: assert((DWORD)i < 64);
sl = plr[myplr]._pSplLvl[i] + plr[myplr]._pISplLvlAdd;
switch(i) {
switch (i) {
case SPL_FIREBOLT:
*mind = (plr[myplr]._pMagic >> 3) + sl + 1;
*maxd = (plr[myplr]._pMagic >> 3) + sl + 10;
break;
case SPL_HEAL: /// BUGFIX: healing calculation is unused
*mind = plr[myplr]._pLevel + sl + 1;
if(plr[myplr]._pClass == PC_WARRIOR) {
if (plr[myplr]._pClass == PC_WARRIOR) {
*mind *= 2;
}
if(plr[myplr]._pClass == PC_ROGUE) {
if (plr[myplr]._pClass == PC_ROGUE) {
*mind += *mind >> 1;
}
*maxd = 10;
for(k = 0; k < plr[myplr]._pLevel; k++) {
for (k = 0; k < plr[myplr]._pLevel; k++) {
*maxd += 4;
}
for(k = 0; k < sl; k++) {
for (k = 0; k < sl; k++) {
*maxd += 6;
}
if(plr[myplr]._pClass == PC_WARRIOR) {
if (plr[myplr]._pClass == PC_WARRIOR) {
*maxd *= 2;
}
if(plr[myplr]._pClass == PC_ROGUE) {
if (plr[myplr]._pClass == PC_ROGUE) {
*maxd += *maxd >> 1;
}
*mind = -1;
@ -55,7 +55,7 @@ void GetDamageAmt(int i, int *mind, int *maxd)
break;
case SPL_FLASH:
*mind = plr[myplr]._pLevel;
for(k = 0; k < sl; k++) {
for (k = 0; k < sl; k++) {
*mind += *mind >> 3;
}
*mind += *mind >> 1;
@ -88,21 +88,21 @@ void GetDamageAmt(int i, int *mind, int *maxd)
break;
case SPL_FIREBALL:
*mind = 2 * plr[myplr]._pLevel + 4;
for(k = 0; k < sl; k++) {
for (k = 0; k < sl; k++) {
*mind += *mind >> 3;
}
*maxd = 2 * plr[myplr]._pLevel + 40;
for(k = 0; k < sl; k++) {
for (k = 0; k < sl; k++) {
*maxd += *maxd >> 3;
}
break;
case SPL_GUARDIAN:
*mind = (plr[myplr]._pLevel >> 1) + 1;
for(k = 0; k < sl; k++) {
for (k = 0; k < sl; k++) {
*mind += *mind >> 3;
}
*maxd = (plr[myplr]._pLevel >> 1) + 10;
for(k = 0; k < sl; k++) {
for (k = 0; k < sl; k++) {
*maxd += *maxd >> 3;
}
break;
@ -116,12 +116,12 @@ void GetDamageAmt(int i, int *mind, int *maxd)
break;
case SPL_NOVA:
*mind = (plr[myplr]._pLevel + 5) >> 1;
for(k = 0; k < sl; k++) {
for (k = 0; k < sl; k++) {
*mind += *mind >> 3;
}
*mind *= 5;
*maxd = (plr[myplr]._pLevel + 30) >> 1;
for(k = 0; k < sl; k++) {
for (k = 0; k < sl; k++) {
*maxd += *maxd >> 3;
}
*maxd *= 5;
@ -137,22 +137,22 @@ void GetDamageAmt(int i, int *mind, int *maxd)
break;
case SPL_APOCA:
*mind = 0;
for(k = 0; k < plr[myplr]._pLevel; k++) {
for (k = 0; k < plr[myplr]._pLevel; k++) {
*mind += 1;
}
*maxd = 0;
for(k = 0; k < plr[myplr]._pLevel; k++) {
for (k = 0; k < plr[myplr]._pLevel; k++) {
*maxd += 6;
}
break;
case SPL_ELEMENT:
*mind = 2 * plr[myplr]._pLevel + 4;
for(k = 0; k < sl; k++) {
for (k = 0; k < sl; k++) {
*mind += *mind >> 3;
}
/// BUGFIX: add here '*mind >>= 1;'
*maxd = 2 * plr[myplr]._pLevel + 40;
for(k = 0; k < sl; k++) {
for (k = 0; k < sl; k++) {
*maxd += *maxd >> 3;
}
/// BUGFIX: add here '*maxd >>= 1;'
@ -167,23 +167,23 @@ void GetDamageAmt(int i, int *mind, int *maxd)
break;
case SPL_HEALOTHER: /// BUGFIX: healing calculation is unused
*mind = plr[myplr]._pLevel + sl + 1;
if(plr[myplr]._pClass == PC_WARRIOR) {
if (plr[myplr]._pClass == PC_WARRIOR) {
*mind *= 2;
}
if(plr[myplr]._pClass == PC_ROGUE) {
if (plr[myplr]._pClass == PC_ROGUE) {
*mind += *mind >> 1;
}
*maxd = 10;
for(k = 0; k < plr[myplr]._pLevel; k++) {
for (k = 0; k < plr[myplr]._pLevel; k++) {
*maxd += 4;
}
for(k = 0; k < sl; k++) {
for (k = 0; k < sl; k++) {
*maxd += 6;
}
if(plr[myplr]._pClass == PC_WARRIOR) {
if (plr[myplr]._pClass == PC_WARRIOR) {
*maxd *= 2;
}
if(plr[myplr]._pClass == PC_ROGUE) {
if (plr[myplr]._pClass == PC_ROGUE) {
*maxd += *maxd >> 1;
}
*mind = -1;
@ -223,7 +223,7 @@ int FindClosest(int sx, int sy, int rad)
for (i = 1; i < rad; i++) {
cr = CrawlNum[i] + 2;
for (j = (unsigned char)CrawlTable[CrawlNum[i]]; j > 0; j--) {
for (j = (BYTE)CrawlTable[CrawlNum[i]]; j > 0; j--) {
tx = sx + CrawlTable[cr - 1];
ty = sy + CrawlTable[cr];
if (tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) {
@ -254,7 +254,7 @@ int GetSpellLevel(int id, int sn)
int GetDirection8(int x1, int y1, int x2, int y2)
{
unsigned char Dirs[16][16] = {
BYTE Dirs[16][16] = {
{ 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
@ -274,9 +274,9 @@ int GetDirection8(int x1, int y1, int x2, int y2)
};
int mx, my, md;
ALIGN_BY_1 BYTE urtoll[] = { 3, 4, 5 },
ultolr[] = { 3, 2, 1 },
lrtoul[] = { 7, 6, 5 },
lltour[] = { 7, 0, 1 };
ultolr[] = { 3, 2, 1 },
lrtoul[] = { 7, 6, 5 },
lltour[] = { 7, 0, 1 };
mx = abs(x2 - x1);
if (mx > 15)
@ -393,7 +393,6 @@ void PutMissile(int i)
MissilePreFlag = 1;
}
}
// 64CCD4: using guessed type int MissilePreFlag;
void GetMissilePos(int i)
{
@ -803,7 +802,7 @@ BOOL PlayerMHit(int pnum, int m, int dist, int mind, int maxd, int mtype, BOOLEA
if (plr[pnum]._pHitPoints >> 6 <= 0) {
SyncPlrKill(pnum, earflag);
} else{
} else {
if (plr[pnum]._pClass == PC_WARRIOR) {
PlaySfxLoc(PS_WARR69, plr[pnum].WorldX, plr[pnum].WorldY);
} else if (plr[pnum]._pClass == PC_ROGUE) {
@ -812,15 +811,15 @@ BOOL PlayerMHit(int pnum, int m, int dist, int mind, int maxd, int mtype, BOOLEA
PlaySfxLoc(PS_MAGE69, plr[pnum].WorldX, plr[pnum].WorldY);
}
drawhpflag = TRUE;
}
}
} else {
if (blk < blkper) {
if (m != -1) {
tac = GetDirection(plr[pnum].WorldX, plr[pnum].WorldY, monster[m]._mx, monster[m]._my);
} else {
} else {
tac = plr[pnum]._pdir;
}
StartPlrBlock(pnum, tac);
}
StartPlrBlock(pnum, tac);
} else {
if (pnum == myplr) {
plr[pnum]._pHitPoints -= dam;
@ -1207,7 +1206,6 @@ void InitMissiles()
}
}
}
// 64CCD8: using guessed type int numchains;
void AddLArrow(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam)
{
@ -1316,7 +1314,6 @@ void AddRndTeleport(int mi, int sx, int sy, int dx, int dy, int midir, char mien
}
}
}
// 5CF31D: using guessed type char setlevel;
void AddFirebolt(int mi, int sx, int sy, int dx, int dy, int midir, char micaster, int id, int dam)
{
@ -1382,7 +1379,7 @@ void AddTeleport(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy
for (i = 0; i < 6; i++) {
k = CrawlNum[i];
pn = k + 2;
for (j = (unsigned char)CrawlTable[k]; j > 0; j--) {
for (j = (BYTE)CrawlTable[k]; j > 0; j--) {
tx = dx + CrawlTable[pn - 1];
ty = dy + CrawlTable[pn];
if (0 < tx && tx < MAXDUNX && 0 < ty && ty < MAXDUNY) {
@ -1570,11 +1567,11 @@ void AddTown(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, in
missile[mi]._miDelFlag = TRUE;
for (j = 0; j < 6; j++) {
k = CrawlNum[j] + 2;
for (i = (unsigned char)CrawlTable[CrawlNum[j]]; i > 0; i--) {
for (i = (BYTE)CrawlTable[CrawlNum[j]]; i > 0; i--) {
tx = dx + CrawlTable[k - 1];
ty = dy + CrawlTable[k];
if (tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) {
if (!(dObject[tx][ty] | dPlayer[tx][ty] | dMissile[tx][ty] | nSolidTable[dPiece[tx][ty]] | (unsigned char)nMissileTable[dPiece[tx][ty]])) {
if (!(dObject[tx][ty] | dPlayer[tx][ty] | dMissile[tx][ty] | nSolidTable[dPiece[tx][ty]] | (BYTE)nMissileTable[dPiece[tx][ty]])) {
if (!CheckIfTrig(tx, ty)) {
missile[mi]._miDelFlag = FALSE;
missile[mi]._mix = tx;
@ -1614,7 +1611,6 @@ void AddTown(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, in
}
}
}
// 5CF31D: using guessed type char setlevel;
void AddFlash(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam)
{
@ -1701,13 +1697,13 @@ void AddGuardian(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy
for (i = 0; i < 6; i++) {
pn = CrawlNum[i];
k = pn + 2;
for (j = (unsigned char)CrawlTable[pn]; j > 0; j--) {
for (j = (BYTE)CrawlTable[pn]; j > 0; j--) {
tx = dx + CrawlTable[k - 1];
ty = dy + CrawlTable[k];
pn = dPiece[tx][ty];
if (tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) {
if (LineClear(sx, sy, tx, ty)) {
if (!(dMonster[tx][ty] | dObject[tx][ty] | dMissile[tx][ty] | nSolidTable[pn] | (unsigned char)nMissileTable[pn])) {
if (!(dMonster[tx][ty] | dObject[tx][ty] | dMissile[tx][ty] | nSolidTable[pn] | (BYTE)nMissileTable[pn])) {
missile[mi]._miDelFlag = FALSE;
missile[mi]._mix = tx;
missile[mi]._miy = ty;
@ -1914,7 +1910,7 @@ void AddStone(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, i
for (i = 0; i < 6; i++) {
k = CrawlNum[i];
l = k + 2;
for (j = (unsigned char)CrawlTable[k]; j > 0; j--) {
for (j = (BYTE)CrawlTable[k]; j > 0; j--) {
tx = dx + CrawlTable[l - 1];
ty = dy + CrawlTable[l];
if (tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) {
@ -2103,7 +2099,6 @@ void AddIdentify(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy
SetCursor_(CURSOR_IDENTIFY);
}
}
// 4B8968: using guessed type int sbookflag;
void AddFirewallC(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam)
{
@ -2114,7 +2109,7 @@ void AddFirewallC(int mi, int sx, int sy, int dx, int dy, int midir, char mienem
for (i = 0; i < 6; i++) {
k = CrawlNum[i];
pn = k + 2;
for (j = (unsigned char)CrawlTable[k]; j > 0; j--) {
for (j = (BYTE)CrawlTable[k]; j > 0; j--) {
tx = dx + CrawlTable[pn - 1];
ty = dy + CrawlTable[pn];
if (0 < tx && tx < MAXDUNX && 0 < ty && ty < MAXDUNY) {
@ -2200,7 +2195,6 @@ void AddRepair(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy,
SetCursor_(CURSOR_REPAIR);
}
}
// 4B8968: using guessed type int sbookflag;
void AddRecharge(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam)
{
@ -2214,7 +2208,6 @@ void AddRecharge(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy
SetCursor_(CURSOR_RECHARGE);
}
}
// 4B8968: using guessed type int sbookflag;
void AddDisarm(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, int id, int dam)
{
@ -2291,11 +2284,11 @@ void AddFlamec(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy,
void AddCbolt(int mi, int sx, int sy, int dx, int dy, int midir, char micaster, int id, int dam)
{
if (micaster == 0) {
if (id != -1)
missile[mi]._mirnd = random(63, 15) + 1;
else
missile[mi]._mirnd = random(63, 15) + 1;
missile[mi]._midam = random(68, plr[id]._pMagic >> 2) + 1;
if (id != -1)
missile[mi]._mirnd = random(63, 15) + 1;
else
missile[mi]._mirnd = random(63, 15) + 1;
missile[mi]._midam = random(68, plr[id]._pMagic >> 2) + 1;
} else {
missile[mi]._mirnd = random(63, 15) + 1;
missile[mi]._midam = 15;
@ -2304,11 +2297,11 @@ void AddCbolt(int mi, int sx, int sy, int dx, int dy, int midir, char micaster,
if (sx == dx && sy == dy) {
dx += XDirAdd[midir];
dy += YDirAdd[midir];
}
}
missile[mi]._miAnimFrame = random(63, 8) + 1;
missile[mi]._mlid = AddLight(sx, sy, 5);
missile[mi]._mlid = AddLight(sx, sy, 5);
GetMissileVel(mi, sx, sy, dx, dy, 8);
missile[mi]._miVar1 = 5;
missile[mi]._miVar2 = midir;
@ -2420,7 +2413,6 @@ void AddDiabApoca(int mi, int sx, int sy, int dx, int dy, int midir, char mienem
}
missile[mi]._miDelFlag = TRUE;
}
// 679660: using guessed type char gbMaxPlayers;
int AddMissile(int sx, int sy, int dx, int dy, int midir, int mitype, char micaster, int id, int midam, int spllvl)
{
@ -2521,7 +2513,7 @@ void MI_Golem(int i)
for (l = 0; l < 6; l++) {
k = CrawlNum[l];
tid = k + 2;
for (m = (unsigned char)CrawlTable[k]; m > 0; m--) {
for (m = (BYTE)CrawlTable[k]; m > 0; m--) {
tx = missile[i]._miVar4 + CrawlTable[tid - 1];
ty = missile[i]._miVar5 + CrawlTable[tid];
if (0 < tx && tx < MAXDUNX && 0 < ty && ty < MAXDUNY) {
@ -2883,12 +2875,12 @@ void MI_Fireball(int i)
}
if (missile[i]._miyvel > 0
&& (TransList[dTransVal[mx + 1][my]] && nSolidTable[dPiece[mx + 1][my]]
|| TransList[dTransVal[mx - 1][my]] && nSolidTable[dPiece[mx - 1][my]])) {
|| TransList[dTransVal[mx - 1][my]] && nSolidTable[dPiece[mx - 1][my]])) {
missile[i]._miyoff -= 32;
}
if (missile[i]._mixvel > 0
&& (TransList[dTransVal[mx][my + 1]] && nSolidTable[dPiece[mx][my + 1]]
|| TransList[dTransVal[mx][my - 1]] && nSolidTable[dPiece[mx][my - 1]])) {
|| TransList[dTransVal[mx][my - 1]] && nSolidTable[dPiece[mx][my - 1]])) {
missile[i]._mixoff -= 32;
}
missile[i]._mimfnum = 0;
@ -2912,8 +2904,8 @@ void MI_Lightctrl(int i)
missile[i]._mirange--;
p = missile[i]._misource;
if(p != -1) {
if(missile[i]._micaster == 0) {
if (p != -1) {
if (missile[i]._micaster == 0) {
dam = (random(79, 2) + random(79, plr[p]._pLevel) + 2) << 6;
} else {
dam = 2 * (monster[p].mMinDamage + random(80, monster[p].mMaxDamage - monster[p].mMinDamage + 1));
@ -2933,61 +2925,61 @@ void MI_Lightctrl(int i)
pn = dPiece[mx][my];
/// ASSERT: assert((DWORD)pn <= MAXTILES);
if(missile[i]._misource == -1) {
if((mx != missile[i]._misx || my != missile[i]._misy) && nMissileTable[pn] != 0) {
if (missile[i]._misource == -1) {
if ((mx != missile[i]._misx || my != missile[i]._misy) && nMissileTable[pn] != 0) {
missile[i]._mirange = 0;
}
} else if(nMissileTable[pn] != 0) {
} else if (nMissileTable[pn] != 0) {
missile[i]._mirange = 0;
}
if(nMissileTable[pn] == 0) {
if((mx != missile[i]._miVar1 || my != missile[i]._miVar2) && mx > 0 && my > 0 && mx < MAXDUNX && my < MAXDUNY) {
if(missile[i]._misource != -1) {
if(missile[i]._micaster == 1
&& monster[missile[i]._misource].MType->mtype >= MT_STORM
&& monster[missile[i]._misource].MType->mtype <= MT_MAEL) {
if (nMissileTable[pn] == 0) {
if ((mx != missile[i]._miVar1 || my != missile[i]._miVar2) && mx > 0 && my > 0 && mx < MAXDUNX && my < MAXDUNY) {
if (missile[i]._misource != -1) {
if (missile[i]._micaster == 1
&& monster[missile[i]._misource].MType->mtype >= MT_STORM
&& monster[missile[i]._misource].MType->mtype <= MT_MAEL) {
AddMissile(
mx,
my,
missile[i]._misx,
missile[i]._misy,
i,
MIS_LIGHTNING2,
missile[i]._micaster,
missile[i]._misource,
dam,
missile[i]._mispllvl);
mx,
my,
missile[i]._misx,
missile[i]._misy,
i,
MIS_LIGHTNING2,
missile[i]._micaster,
missile[i]._misource,
dam,
missile[i]._mispllvl);
} else {
AddMissile(
mx,
my,
missile[i]._misx,
missile[i]._misy,
i,
MIS_LIGHTNING,
missile[i]._micaster,
missile[i]._misource,
dam,
missile[i]._mispllvl);
mx,
my,
missile[i]._misx,
missile[i]._misy,
i,
MIS_LIGHTNING,
missile[i]._micaster,
missile[i]._misource,
dam,
missile[i]._mispllvl);
}
} else {
AddMissile(
mx,
my,
missile[i]._misx,
missile[i]._misy,
i,
MIS_LIGHTNING,
missile[i]._micaster,
missile[i]._misource,
dam,
missile[i]._mispllvl);
mx,
my,
missile[i]._misx,
missile[i]._misy,
i,
MIS_LIGHTNING,
missile[i]._micaster,
missile[i]._misource,
dam,
missile[i]._mispllvl);
}
missile[i]._miVar1 = missile[i]._mix;
missile[i]._miVar2 = missile[i]._miy;
}
}
if(missile[i]._mirange == 0 || mx <= 0 || my <= 0 || mx >= MAXDUNX || my > MAXDUNY) {
if (missile[i]._mirange == 0 || mx <= 0 || my <= 0 || mx >= MAXDUNX || my > MAXDUNY) {
missile[i]._miDelFlag = TRUE;
}
}
@ -3244,42 +3236,42 @@ void MI_Guardian(int i)
sy1 = 0;
missile[i]._mirange--;
if(missile[i]._miVar2 > 0) {
if (missile[i]._miVar2 > 0) {
missile[i]._miVar2--;
}
if(missile[i]._mirange == missile[i]._miVar1 || missile[i]._mimfnum == MFILE_GUARD && missile[i]._miVar2 == 0) {
if (missile[i]._mirange == missile[i]._miVar1 || missile[i]._mimfnum == MFILE_GUARD && missile[i]._miVar2 == 0) {
SetMissDir(i, 1);
}
if(!(missile[i]._mirange % 16)) {
if (!(missile[i]._mirange % 16)) {
ex = 0;
for(j = 0; j < 23 && ex != -1; j++) {
for(k = 10; k >= 0 && ex != -1 && (vCrawlTable[j][k] != 0 || vCrawlTable[j][k + 1] != 0); k -= 2) {
if(sx1 == vCrawlTable[j][k] && sy1 == vCrawlTable[j][k + 1]) {
for (j = 0; j < 23 && ex != -1; j++) {
for (k = 10; k >= 0 && ex != -1 && (vCrawlTable[j][k] != 0 || vCrawlTable[j][k + 1] != 0); k -= 2) {
if (sx1 == vCrawlTable[j][k] && sy1 == vCrawlTable[j][k + 1]) {
continue;
}
sx = missile[i]._mix + vCrawlTable[j][k];
sy = missile[i]._miy + vCrawlTable[j][k + 1];
ex = Sentfire(i, sx, sy);
if(ex == -1) {
if (ex == -1) {
break;
}
sx = missile[i]._mix - vCrawlTable[j][k];
sy = missile[i]._miy - vCrawlTable[j][k + 1];
ex = Sentfire(i, sx, sy);
if(ex == -1) {
if (ex == -1) {
break;
}
sx = missile[i]._mix + vCrawlTable[j][k];
sy = missile[i]._miy - vCrawlTable[j][k + 1];
ex = Sentfire(i, sx, sy);
if(ex == -1) {
if (ex == -1) {
break;
}
sx = missile[i]._mix - vCrawlTable[j][k];
sy = missile[i]._miy + vCrawlTable[j][k + 1];
ex = Sentfire(i, sx, sy);
if(ex == -1) {
if (ex == -1) {
break;
}
sx1 = vCrawlTable[j][k];
@ -3288,7 +3280,7 @@ void MI_Guardian(int i)
}
}
if(missile[i]._mirange == 14) {
if (missile[i]._mirange == 14) {
SetMissDir(i, 0);
missile[i]._miAnimFrame = 15;
missile[i]._miAnimAdd = -1;
@ -3296,13 +3288,13 @@ void MI_Guardian(int i)
missile[i]._miVar3 += missile[i]._miAnimAdd;
if(missile[i]._miVar3 > 15) {
if (missile[i]._miVar3 > 15) {
missile[i]._miVar3 = 15;
} else if(missile[i]._miVar3 > 0) {
} else if (missile[i]._miVar3 > 0) {
ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, missile[i]._miVar3);
}
if(missile[i]._mirange == 0) {
if (missile[i]._mirange == 0) {
missile[i]._miDelFlag = TRUE;
AddUnLight(missile[i]._mlid);
}
@ -3326,7 +3318,7 @@ void MI_Chain(int i)
for (m = 1; m < rad; m++) {
k = CrawlNum[m];
l = k + 2;
for (n = (unsigned char)CrawlTable[k]; n > 0; n--) {
for (n = (BYTE)CrawlTable[k]; n > 0; n--) {
tx = sx + CrawlTable[l - 1];
ty = sy + CrawlTable[l];
if (tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY && dMonster[tx][ty] > 0) {
@ -4080,7 +4072,6 @@ void ProcessMissiles()
}
}
}
// 64CCD4: using guessed type int MissilePreFlag;
void missiles_process_charge()
{

6
Source/missiles.h

@ -5,11 +5,11 @@
extern int missileactive[MAXMISSILES];
extern int missileavail[MAXMISSILES];
extern MissileStruct missile[MAXMISSILES];
extern int nummissiles; // idb
extern int nummissiles;
extern int ManashieldFlag;
extern ChainStruct chain[MAXMISSILES];
extern int MissilePreFlag; // weak
extern int numchains; // weak
extern int MissilePreFlag;
extern int numchains;
void GetDamageAmt(int i, int *mind, int *maxd);
BOOL CheckBlock(int fx, int fy, int tx, int ty);

4
Source/mpqapi.cpp

@ -6,7 +6,7 @@ char mpq_buf[4096];
_HASHENTRY *sgpHashTbl;
BOOL save_archive_modified;
_BLOCKENTRY *sgpBlockTbl;
BOOLEAN save_archive_open; // weak
BOOLEAN save_archive_open;
//note: 32872 = 32768 + 104 (sizeof(_FILEHEADER))
@ -120,7 +120,7 @@ BOOLEAN mpqapi_reg_store_modification_time(char *pbData, DWORD dwLen)
} while (i);
}
return SRegSaveData("Diablo", "Video Player ", 0, (unsigned char *)pbData, dwLen);
return SRegSaveData("Diablo", "Video Player ", 0, (BYTE *)pbData, dwLen);
}
void mpqapi_remove_hash_entry(const char *pszName)

4
Source/mpqapi.h

@ -3,8 +3,8 @@
#define __MPQAPI_H__
extern char mpq_buf[4096];
extern BOOL save_archive_modified; // weak
extern BOOLEAN save_archive_open; // weak
extern BOOL save_archive_modified;
extern BOOLEAN save_archive_open;
BOOL mpqapi_set_hidden(const char *pszArchive, BOOL hidden);
void mpqapi_store_creation_time(const char *pszArchive, DWORD dwChar);

47
Source/msg.cpp

@ -48,7 +48,6 @@ void msg_send_packet(int pnum, const void *packet, DWORD dwSize)
memcpy((char *)&packeta[1] - packeta->dwSpaceLeft, packet, dwSize);
sgpCurrPkt->dwSpaceLeft -= dwSize;
}
// 65AB24: using guessed type int sgnCurrMegaPlayer;
TMegaPkt *msg_get_next_packet()
{
@ -98,11 +97,6 @@ BOOL msg_wait_resync()
return TRUE;
}
// 65AB18: using guessed type int sgdwOwnerWait;
// 65AB24: using guessed type int sgnCurrMegaPlayer;
// 67618D: using guessed type char sgbDeltaChunks;
// 676194: using guessed type char gbBufferMsgs;
// 67862D: using guessed type char gbGameDestroyed;
void msg_free_packets()
{
@ -145,10 +139,6 @@ int msg_wait_for_turns()
}
return 100 * sgbDeltaChunks / 21;
}
// 65AB18: using guessed type int sgdwOwnerWait;
// 67618D: using guessed type char sgbDeltaChunks;
// 67862D: using guessed type char gbGameDestroyed;
// 6796E4: using guessed type char gbDeltaSender;
void msg_process_net_packets()
{
@ -159,8 +149,6 @@ void msg_process_net_packets()
msg_free_packets();
}
}
// 676194: using guessed type char gbBufferMsgs;
// 679660: using guessed type char gbMaxPlayers;
void msg_pre_packet()
{
@ -313,7 +301,6 @@ void delta_init()
memset(sgLocals, 0, sizeof(sgLocals));
deltaload = FALSE;
}
// 676190: using guessed type int deltaload;
void delta_kill_monster(int mi, BYTE x, BYTE y, BYTE bLevel)
{
@ -328,7 +315,6 @@ void delta_kill_monster(int mi, BYTE x, BYTE y, BYTE bLevel)
pD->_mhitpoints = 0;
}
}
// 679660: using guessed type char gbMaxPlayers;
void delta_monster_hp(int mi, int hp, BYTE bLevel)
{
@ -341,7 +327,6 @@ void delta_monster_hp(int mi, int hp, BYTE bLevel)
pD->_mhitpoints = hp;
}
}
// 679660: using guessed type char gbMaxPlayers;
void delta_sync_monster(const TSyncMonster *pSync, BYTE bLevel)
{
@ -363,7 +348,6 @@ void delta_sync_monster(const TSyncMonster *pSync, BYTE bLevel)
pD->_menemy = pSync->_menemy;
}
}
// 679660: using guessed type char gbMaxPlayers;
void delta_sync_golem(TCmdGolem *pG, int pnum, BYTE bLevel)
{
@ -380,7 +364,6 @@ void delta_sync_golem(TCmdGolem *pG, int pnum, BYTE bLevel)
pD->_mhitpoints = pG->_mhitpoints;
}
}
// 679660: using guessed type char gbMaxPlayers;
void delta_leave_sync(BYTE bLevel)
{
@ -409,8 +392,6 @@ void delta_leave_sync(BYTE bLevel)
}
}
}
// 43C17D: could not find valid save-restore pair for edi
// 679660: using guessed type char gbMaxPlayers;
BOOL delta_portal_inited(int i)
{
@ -431,7 +412,7 @@ void DeltaAddItem(int ii)
return;
}
pD = sgLevels[currlevel].item;
for (i = 0; i < MAXITEMS; i++,pD++) {
for (i = 0; i < MAXITEMS; i++, pD++) {
if (pD->bCmd != 0xFF
&& pD->wIndx == item[ii].IDidx
&& pD->wCI == item[ii]._iCreateInfo
@ -475,7 +456,6 @@ void DeltaSaveLevel()
delta_leave_sync(currlevel);
}
}
// 679660: using guessed type char gbMaxPlayers;
void DeltaLoadLevel()
{
@ -626,7 +606,6 @@ void DeltaLoadLevel()
}
deltaload = FALSE;
}
// 679660: using guessed type char gbMaxPlayers;
void NetSendCmd(BOOL bHiPri, BYTE bCmd)
{
@ -1159,9 +1138,6 @@ int ParseCmd(int pnum, TCmd *pCmd)
return On_DLEVEL(pnum, pCmd);
}
// 66E4A9: using guessed type char sbLastCmd;
// 67618D: using guessed type char sgbDeltaChunks;
// 6796E4: using guessed type char gbDeltaSender;
int On_DLEVEL(int pnum, TCmd *pCmd)
{
@ -1169,30 +1145,30 @@ int On_DLEVEL(int pnum, TCmd *pCmd)
p = (TCmdPlrInfoHdr *)pCmd;
if(gbDeltaSender != pnum) {
if(p->bCmd == CMD_DLEVEL_END) {
if (gbDeltaSender != pnum) {
if (p->bCmd == CMD_DLEVEL_END) {
gbDeltaSender = pnum;
sgbRecvCmd = CMD_DLEVEL_END;
} else if(p->bCmd == CMD_DLEVEL_0 && p->wOffset == 0) {
} else if (p->bCmd == CMD_DLEVEL_0 && p->wOffset == 0) {
gbDeltaSender = pnum;
sgbRecvCmd = CMD_DLEVEL_END;
} else {
return p->wBytes + sizeof(*p);
}
}
if(sgbRecvCmd == CMD_DLEVEL_END) {
if(p->bCmd == CMD_DLEVEL_END) {
if (sgbRecvCmd == CMD_DLEVEL_END) {
if (p->bCmd == CMD_DLEVEL_END) {
sgbDeltaChunks = 20;
return p->wBytes + sizeof(*p);
} else if(p->bCmd == CMD_DLEVEL_0 && p->wOffset == 0) {
} else if (p->bCmd == CMD_DLEVEL_0 && p->wOffset == 0) {
sgdwRecvOffset = 0;
sgbRecvCmd = p->bCmd;
} else {
return p->wBytes + sizeof(*p);
}
} else if(sgbRecvCmd != p->bCmd) {
} else if (sgbRecvCmd != p->bCmd) {
DeltaImportData(sgbRecvCmd, sgdwRecvOffset);
if(p->bCmd == CMD_DLEVEL_END) {
if (p->bCmd == CMD_DLEVEL_END) {
sgbDeltaChunks = 20;
sgbRecvCmd = CMD_DLEVEL_END;
return p->wBytes + sizeof(*p);
@ -1231,7 +1207,6 @@ void DeltaImportData(BYTE cmd, DWORD recv_offset)
sgbDeltaChunks++;
sgbDeltaChanged = TRUE;
}
// 67618D: using guessed type char sgbDeltaChunks;
BYTE *DeltaImportItem(BYTE *src, TCmdPItem *dst)
{
@ -1444,7 +1419,6 @@ BOOL i_own_level(int nReqLevel)
return i == myplr;
}
// 676194: using guessed type char gbBufferMsgs;
int On_GETITEM(TCmdGItem *pCmd, int pnum)
{
@ -1530,7 +1504,6 @@ BOOL delta_get_item(TCmdGItem *pI, BYTE bLevel)
}
return result;
}
// 679660: using guessed type char gbMaxPlayers;
int On_GOTOAGETITEM(TCmdLocParam1 *pCmd, int pnum)
{
@ -1665,7 +1638,6 @@ void check_update_plr(int pnum)
if (gbMaxPlayers != 1 && pnum == myplr)
pfile_update(1);
}
// 679660: using guessed type char gbMaxPlayers;
int On_SYNCPUTITEM(TCmdPItem *pCmd, int pnum)
{
@ -2142,7 +2114,6 @@ void delta_sync_object(int oi, BYTE bCmd, BYTE bLevel)
sgLevels[bLevel].object[oi].bCmd = bCmd;
}
}
// 679660: using guessed type char gbMaxPlayers;
int On_CLOSEDOOR(TCmdParam1 *pCmd, int pnum)
{

21
Source/multi.cpp

@ -2,7 +2,7 @@
#include "../3rdParty/Storm/Source/storm.h"
#include "../DiabloUI/diabloui.h"
BOOLEAN gbSomebodyWonGameKludge; // weak
BOOLEAN gbSomebodyWonGameKludge;
#ifdef _DEBUG
DWORD gdwHistTicks;
#endif
@ -12,22 +12,22 @@ WORD sgwPackPlrOffsetTbl[MAX_PLRS];
PkPlayerStruct netplr[MAX_PLRS];
BOOLEAN sgbPlayerTurnBitTbl[MAX_PLRS];
BOOLEAN sgbPlayerLeftGameTbl[MAX_PLRS];
int sgbSentThisCycle; // idb
int sgbSentThisCycle;
BOOL gbShouldValidatePackage;
BYTE gbActivePlayers; // weak
BYTE gbActivePlayers;
BOOLEAN gbGameDestroyed;
BOOLEAN sgbSendDeltaTbl[MAX_PLRS];
_gamedata sgGameInitInfo;
char byte_678640; // weak
int sglTimeoutStart; // weak
char byte_678640;
int sglTimeoutStart;
int sgdwPlayerLeftReasonTbl[MAX_PLRS];
TBuffer sgLoPriBuf;
unsigned int sgdwGameLoops; // idb
unsigned int sgdwGameLoops;
BYTE gbMaxPlayers;
BOOLEAN sgbTimeout;
char szPlayerName[128];
BYTE gbDeltaSender;
BOOL sgbNetInited; // weak
BOOL sgbNetInited;
int player_state[MAX_PLRS];
const int event_types[3] = {
@ -151,7 +151,6 @@ void NetSendHiPri(BYTE *pbMsg, BYTE bLen)
nthread_terminate_game("SNetSendMessage");
}
}
// 679760: using guessed type int gdwNormalMsgSize;
BYTE *multi_recv_packet(TBuffer *packet, BYTE *body, int *size)
{
@ -425,9 +424,6 @@ void multi_begin_timeout()
multi_check_drop_player();
}
}
// 67862D: using guessed type char gbGameDestroyed;
// 678644: using guessed type int sglTimeoutStart;
// 679661: using guessed type char sgbTimeout;
void multi_check_drop_player()
{
@ -510,8 +506,6 @@ void multi_process_network_packets()
if (SErrGetLastError() != STORM_ERROR_NO_MESSAGES_WAITING)
nthread_terminate_game("SNetReceiveMsg");
}
// 676194: using guessed type char gbBufferMsgs;
// 676198: using guessed type int pkt_counter;
void multi_handle_all_packets(int pnum, BYTE *pData, int nSize)
{
@ -572,7 +566,6 @@ void multi_send_zero_packet(DWORD pnum, char a2, void *pbSrc, DWORD dwLen)
v5 += *(WORD *)&pkt.body[3];
}
}
// 67975C: using guessed type int gdwLargestMsgSize;
void NetClose()
{

8
Source/multi.h

@ -2,17 +2,17 @@
#ifndef __MULTI_H__
#define __MULTI_H__
extern BOOLEAN gbSomebodyWonGameKludge; // weak
extern BOOLEAN gbSomebodyWonGameKludge;
extern char szPlayerDescript[128];
extern WORD sgwPackPlrOffsetTbl[MAX_PLRS];
extern PkPlayerStruct netplr[MAX_PLRS];
extern BOOL gbShouldValidatePackage;
extern BYTE gbActivePlayers;
extern BOOLEAN gbGameDestroyed; // weak
extern char byte_678640; // weak
extern BOOLEAN gbGameDestroyed;
extern char byte_678640;
extern BYTE gbMaxPlayers;
extern char szPlayerName[128];
extern BYTE gbDeltaSender; // weak
extern BYTE gbDeltaSender;
extern int player_state[MAX_PLRS];
#ifdef _DEBUG

84
Source/quests.cpp

@ -1,18 +1,18 @@
#include "diablo.h"
int qtopline; // idb
int qtopline;
BOOL questlog;
BYTE *pQLogCel;
QuestStruct quests[MAXQUESTS];
int qline; // weak
int qline;
int qlist[MAXQUESTS];
int numqlines; // weak
int WaterDone; // idb
int ReturnLvlY; // idb
int ReturnLvlX; // idb
int ReturnLvlT; // idb
int ALLQUESTS; // idb
int ReturnLvl; // idb
int numqlines;
int WaterDone;
int ReturnLvlY;
int ReturnLvlX;
int ReturnLvlT;
int ALLQUESTS;
int ReturnLvl;
QuestData questlist[MAXQUESTS] = {
// clang-format off
@ -128,65 +128,65 @@ void CheckQuests()
{
int i, rportx, rporty;
if(QuestStatus(QTYPE_VB) && gbMaxPlayers != 1 && quests[QTYPE_VB]._qvar1 == 2) {
if (QuestStatus(QTYPE_VB) && gbMaxPlayers != 1 && quests[QTYPE_VB]._qvar1 == 2) {
AddObject(OBJ_ALTBOY, 2 * setpc_x + 20, 2 * setpc_y + 22);
quests[QTYPE_VB]._qvar1 = 3;
NetSendCmdQuest(TRUE, QTYPE_VB);
}
if(gbMaxPlayers != 1) {
if (gbMaxPlayers != 1) {
return;
}
if(currlevel == quests[QTYPE_VB]._qlevel
&& !setlevel
&& quests[QTYPE_VB]._qvar1 >= 2
&& (quests[QTYPE_VB]._qactive == 2 || quests[QTYPE_VB]._qactive == 3)
&& (quests[QTYPE_VB]._qvar2 == 0 || quests[QTYPE_VB]._qvar2 == 2)) {
if (currlevel == quests[QTYPE_VB]._qlevel
&& !setlevel
&& quests[QTYPE_VB]._qvar1 >= 2
&& (quests[QTYPE_VB]._qactive == 2 || quests[QTYPE_VB]._qactive == 3)
&& (quests[QTYPE_VB]._qvar2 == 0 || quests[QTYPE_VB]._qvar2 == 2)) {
quests[QTYPE_VB]._qtx = 2 * quests[QTYPE_VB]._qtx + 16;
quests[QTYPE_VB]._qty = 2 * quests[QTYPE_VB]._qty + 16;
rportx = quests[QTYPE_VB]._qtx;
rporty = quests[QTYPE_VB]._qty;
AddMissile(rportx, rporty, rportx, rporty, 0, MIS_RPORTAL, 0, myplr, 0, 0);
quests[QTYPE_VB]._qvar2 = 1;
if(quests[QTYPE_VB]._qactive == 2) {
if (quests[QTYPE_VB]._qactive == 2) {
quests[QTYPE_VB]._qvar1 = 3;
}
}
if(quests[QTYPE_VB]._qactive == 3
&& setlevel
&& setlvlnum == SL_VILEBETRAYER
&& quests[QTYPE_VB]._qvar2 == 4) {
if (quests[QTYPE_VB]._qactive == 3
&& setlevel
&& setlvlnum == SL_VILEBETRAYER
&& quests[QTYPE_VB]._qvar2 == 4) {
rportx = 35;
rporty = 32;
AddMissile(rportx, rporty, rportx, rporty, 0, MIS_RPORTAL, 0, myplr, 0, 0);
quests[QTYPE_VB]._qvar2 = 3;
}
if(setlevel) {
if(setlvlnum == quests[QTYPE_PW]._qslvl
&& quests[QTYPE_PW]._qactive != 1
&& leveltype == quests[QTYPE_PW]._qlvltype
&& nummonsters == 4
&& quests[QTYPE_PW]._qactive != 3) {
if (setlevel) {
if (setlvlnum == quests[QTYPE_PW]._qslvl
&& quests[QTYPE_PW]._qactive != 1
&& leveltype == quests[QTYPE_PW]._qlvltype
&& nummonsters == 4
&& quests[QTYPE_PW]._qactive != 3) {
quests[QTYPE_PW]._qactive = 3;
PlaySfxLoc(IS_QUESTDN, plr[myplr].WorldX, plr[myplr].WorldY);
LoadPalette("Levels\\L3Data\\L3pwater.pal");
WaterDone = 32;
}
if(WaterDone > 0) {
if (WaterDone > 0) {
palette_update_quest_palette(WaterDone);
WaterDone--;
}
} else if(plr[myplr]._pmode == PM_STAND) {
for(i = 0; i < MAXQUESTS; i++) {
if(currlevel == quests[i]._qlevel
&& quests[i]._qslvl != 0
&& quests[i]._qactive != 0
&& plr[myplr].WorldX == quests[i]._qtx
&& plr[myplr].WorldY == quests[i]._qty) {
if(quests[i]._qlvltype != 255) {
} else if (plr[myplr]._pmode == PM_STAND) {
for (i = 0; i < MAXQUESTS; i++) {
if (currlevel == quests[i]._qlevel
&& quests[i]._qslvl != 0
&& quests[i]._qactive != 0
&& plr[myplr].WorldX == quests[i]._qtx
&& plr[myplr].WorldY == quests[i]._qty) {
if (quests[i]._qlvltype != 255) {
setlvltype = quests[i]._qlvltype;
}
StartNewLvl(myplr, WM_DIABSETLVL, quests[i]._qslvl);
@ -194,11 +194,6 @@ void CheckQuests()
}
}
}
// 5BB1ED: using guessed type char leveltype;
// 5CF31C: using guessed type char setlvltype;
// 5CF31D: using guessed type char setlevel;
// 679660: using guessed type char gbMaxPlayers;
// 69BE90: using guessed type int qline;
BOOL ForceQuests()
{
@ -683,11 +678,6 @@ void ResyncQuests()
quests[QTYPE_VB]._qvar2 = 2;
}
}
// 5A5590: using guessed type char TransVal;
// 5BB1ED: using guessed type char leveltype;
// 5CF31D: using guessed type char setlevel;
// 5CF330: using guessed type int setpc_h;
// 5CF334: using guessed type int setpc_w;
void PrintQLString(int x, int y, BOOL cjustflag, char *str, int col)
{
@ -718,7 +708,7 @@ void PrintQLString(int x, int y, BOOL cjustflag, char *str, int col)
off += fontkern[c] + 1;
}
if (qline == y) {
CelDecodeOnly(cjustflag ? x + k + 100 : 340 - x, s + 205, pCelBuff, ALLQUESTS, 12);
CelDecodeOnly(cjustflag ? x + k + 100 : 340 - x, s + 205, pCelBuff, ALLQUESTS, 12);
}
}

18
Source/quests.h

@ -2,19 +2,19 @@
#ifndef __QUESTS_H__
#define __QUESTS_H__
extern int qtopline; // idb
extern int qtopline;
extern BOOL questlog;
extern BYTE *pQLogCel;
extern QuestStruct quests[MAXQUESTS];
extern int qline; // weak
extern int qline;
extern int qlist[MAXQUESTS];
extern int numqlines; // weak
extern int WaterDone; // idb
extern int ReturnLvlY; // idb
extern int ReturnLvlX; // idb
extern int ReturnLvlT; // idb
extern int ALLQUESTS; // idb
extern int ReturnLvl; // idb
extern int numqlines;
extern int WaterDone;
extern int ReturnLvlY;
extern int ReturnLvlX;
extern int ReturnLvlT;
extern int ALLQUESTS;
extern int ReturnLvl;
void InitQuests();
void CheckQuests();

Loading…
Cancel
Save