From cfbe27f3b8e9ca48a54cc03886c4ee93660536ff Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Tue, 15 Jan 2019 10:15:48 +0100 Subject: [PATCH] Clean up (#568) * Clean up mana checks * Don't expose static globals --- Source/control.h | 9 ++------- Source/diablo.h | 13 ++++++------- Source/dthread.h | 2 -- Source/dx.h | 2 -- Source/effects.h | 2 -- Source/engine.h | 2 -- Source/gamemenu.h | 3 --- Source/gmenu.h | 2 -- Source/interfac.h | 2 -- Source/inv.h | 6 ------ Source/minitext.h | 7 +++---- Source/monster.h | 1 - Source/mpqapi.h | 7 +------ Source/msgcmd.h | 3 --- Source/multi.h | 16 ++-------------- Source/nthread.h | 13 +++++-------- Source/objects.cpp | 12 ++++++------ Source/palette.h | 1 - Source/scrollrt.h | 15 +++------------ Source/sound.h | 7 ------- Source/sync.h | 1 - Source/towners.h | 6 ++---- 22 files changed, 30 insertions(+), 102 deletions(-) diff --git a/Source/control.h b/Source/control.h index 198be07e5..6beb3d172 100644 --- a/Source/control.h +++ b/Source/control.h @@ -2,8 +2,6 @@ #ifndef __CONTROL_H__ #define __CONTROL_H__ -extern char sgbNextTalkSave; // weak -extern char sgbTalkSavePos; // weak extern void *pDurIcons; extern void *pChrButtons; extern BOOL drawhpflag; // idb @@ -13,12 +11,10 @@ extern int chrbtn[4]; extern void *pMultiBtns; extern void *pPanelButtons; extern void *pChrPanel; -extern int lvlbtndown; // weak -extern char sgszTalkSave[8][80]; +extern int lvlbtndown; // weak extern int dropGoldValue; // idb extern BOOL drawmanaflag; // idb extern BOOL chrbtnactive; -extern char sgszTalkMsg[80]; extern void *pPanelText; extern int frame_4B8800; // idb extern char *pLifeBuff; @@ -30,8 +26,7 @@ extern BOOL pinfoflag; extern int talkbtndown[3]; extern int pSpell; // weak extern char *pManaBuff; -extern int infoclr; // weak -extern int sgbPlrTalkTbl; // weak // should be char [4] +extern int infoclr; // weak extern void *pGBoxBuff; extern void *pSBkBtnCel; extern char tempstr[256]; diff --git a/Source/diablo.h b/Source/diablo.h index d9547f5aa..0990e32da 100644 --- a/Source/diablo.h +++ b/Source/diablo.h @@ -24,13 +24,12 @@ extern int drawpanflag; // weak extern int visiondebug; // weak extern int scrollflag; /* unused */ extern BOOL light4flag; -extern int leveldebug; // weak -extern int monstdebug; // weak -extern int trigdebug; /* unused */ -extern int setseed; // weak -extern int debugmonsttypes; // weak -extern int PauseMode; // weak -extern int sgnTimeoutCurs; +extern int leveldebug; // weak +extern int monstdebug; // weak +extern int trigdebug; /* unused */ +extern int setseed; // weak +extern int debugmonsttypes; // weak +extern int PauseMode; // weak extern char sgbMouseDown; // weak extern int color_cycle_timer; // weak diff --git a/Source/dthread.h b/Source/dthread.h index a2b89967f..a0cf63e2a 100644 --- a/Source/dthread.h +++ b/Source/dthread.h @@ -3,9 +3,7 @@ #define __DTHREAD_H__ extern unsigned int glpDThreadId; // idb -extern TMegaPkt *sgpInfoHead; /* may not be right struct */ extern BOOLEAN dthread_running; -extern HANDLE sghWorkToDoEvent; void __cdecl dthread_init_mutex(); void __cdecl dthread_cleanup_mutex_atexit(); diff --git a/Source/dx.h b/Source/dx.h index b1e9e8144..8597def2d 100644 --- a/Source/dx.h +++ b/Source/dx.h @@ -2,10 +2,8 @@ #ifndef __DX_H__ #define __DX_H__ -extern Screen *sgpBackBuf; extern IDirectDraw *lpDDInterface; extern IDirectDrawPalette *lpDDPalette; // idb -extern int sgdwLockCount; extern Screen *gpBuffer; extern IDirectDrawSurface *lpDDSBackBuf; extern IDirectDrawSurface *lpDDSPrimary; diff --git a/Source/effects.h b/Source/effects.h index 1da799dc1..2bb158d46 100644 --- a/Source/effects.h +++ b/Source/effects.h @@ -34,6 +34,4 @@ extern const char monster_action_sounds[]; // idb /* data */ -extern TSFX sgSFX[NUM_SFX]; - #endif /* __EFFECTS_H__ */ diff --git a/Source/engine.h b/Source/engine.h index 905a5c598..6ad87180f 100644 --- a/Source/engine.h +++ b/Source/engine.h @@ -8,8 +8,6 @@ extern char gbPixelCol; // automap pixel color 8-bit (palette entry) extern int dword_52B970; // bool flip - if y < x extern int orgseed; // weak -extern int sgnWidth; -extern int sglGameSeed; // weak extern int SeedCount; // weak extern int dword_52B99C; // bool valid - if x/y are in bounds diff --git a/Source/gamemenu.h b/Source/gamemenu.h index 192a09308..12ffc1248 100644 --- a/Source/gamemenu.h +++ b/Source/gamemenu.h @@ -26,9 +26,6 @@ int __cdecl gamemenu_slider_gamma(); void __cdecl gamemenu_color_cycling(); /* rdata */ -extern TMenuItem sgSingleMenu[6]; -extern TMenuItem sgMultiMenu[5]; -extern TMenuItem sgOptionMenu[6]; extern char *music_toggle_names[]; extern char *sound_toggle_names[]; extern char *color_cycling_toggle_names[]; diff --git a/Source/gmenu.h b/Source/gmenu.h index b08ee39e1..f719a819d 100644 --- a/Source/gmenu.h +++ b/Source/gmenu.h @@ -5,14 +5,12 @@ extern void *optbar_cel; extern BOOLEAN byte_634464; // weak extern void *PentSpin_cel; -extern TMenuItem *sgpCurrItem; extern void *BigTGold_cel; extern int dword_634474; // weak extern char byte_634478; // weak extern void(__cdecl *dword_63447C)(); extern TMenuItem *dword_634480; // idb extern void *option_cel; -extern void *sgpLogo; extern int dword_63448C; // weak void __cdecl gmenu_draw_pause(); diff --git a/Source/interfac.h b/Source/interfac.h index 507fd9b35..ca395a1ec 100644 --- a/Source/interfac.h +++ b/Source/interfac.h @@ -2,8 +2,6 @@ #ifndef __INTERFAC_H__ #define __INTERFAC_H__ -extern void *sgpBackCel; -extern int sgdwProgress; extern int progress_id; // idb void __cdecl interface_msg_pump(); diff --git a/Source/inv.h b/Source/inv.h index 5cf45901b..3984834ca 100644 --- a/Source/inv.h +++ b/Source/inv.h @@ -3,9 +3,7 @@ #define __INV_H__ extern BOOL invflag; -extern void *pInvCels; extern int drawsbarflag; // idb -extern int sgdwLastTime; // check name void __cdecl FreeInvGFX(); void __cdecl InitInv(); @@ -48,10 +46,6 @@ void __cdecl DoTelekinesis(); int __fastcall CalculateGold(int pnum); int __cdecl DropItemBeforeTrig(); -/* rdata */ - -extern const InvXY InvRect[73]; - /* data */ extern int AP2x2Tbl[10]; // weak diff --git a/Source/minitext.h b/Source/minitext.h index 5e0be0a04..8c7797047 100644 --- a/Source/minitext.h +++ b/Source/minitext.h @@ -4,10 +4,9 @@ extern int qtexty; // weak extern char *qtextptr; -extern int qtextSpd; // weak -extern char qtextflag; // weak -extern int scrolltexty; // weak -extern int sgLastScroll; // weak +extern int qtextSpd; // weak +extern char qtextflag; // weak +extern int scrolltexty; // weak extern void *pMedTextCels; extern void *pTextBoxCels; diff --git a/Source/monster.h b/Source/monster.h index 4bb81b9a1..9eff64e08 100644 --- a/Source/monster.h +++ b/Source/monster.h @@ -6,7 +6,6 @@ extern int MissileFileFlag; // weak extern int monstkills[MAXMONSTERS]; extern int monstactive[MAXMONSTERS]; extern int nummonsters; -extern int sgbSaveSoundOn; // weak extern MonsterStruct monster[MAXMONSTERS]; extern int totalmonsters; // weak extern CMonster Monsters[16]; diff --git a/Source/mpqapi.h b/Source/mpqapi.h index 0b15d7ef5..5d6046ea8 100644 --- a/Source/mpqapi.h +++ b/Source/mpqapi.h @@ -2,12 +2,9 @@ #ifndef __MPQAPI_H__ #define __MPQAPI_H__ -extern int sgdwMpqOffset; // idb extern char mpq_buf[4096]; -extern _HASHENTRY *sgpHashTbl; extern BOOLEAN save_archive_modified; // weak -extern _BLOCKENTRY *sgpBlockTbl; -extern BOOLEAN save_archive_open; // weak +extern BOOLEAN save_archive_open; // weak BOOL __fastcall mpqapi_set_hidden(const char *pszArchive, BOOL hidden); void __fastcall mpqapi_store_creation_time(const char *pszArchive, int dwChar); @@ -42,6 +39,4 @@ BOOLEAN __cdecl mpqapi_can_seek(); /* data */ -extern HANDLE sghArchive; // idb - #endif /* __MPQAPI_H__ */ diff --git a/Source/msgcmd.h b/Source/msgcmd.h index 3ed93732e..9f2b71734 100644 --- a/Source/msgcmd.h +++ b/Source/msgcmd.h @@ -2,9 +2,6 @@ #ifndef __MSGCMD_H__ #define __MSGCMD_H__ -extern ChatCmd sgChat_Cmd; -extern int sgdwMsgCmdTimer; - void __cdecl msgcmd_init_event(); void __cdecl msgcmd_cleanup_chatcmd_atexit(); void __cdecl msgcmd_cleanup_chatcmd(void); diff --git a/Source/multi.h b/Source/multi.h index 0b939688e..f13643506 100644 --- a/Source/multi.h +++ b/Source/multi.h @@ -3,28 +3,16 @@ #define __MULTI_H__ extern char gbSomebodyWonGameKludge; // weak -extern TBuffer sgHiPriBuf; extern char szPlayerDescript[128]; extern short sgwPackPlrOffsetTbl[MAX_PLRS]; extern PkPlayerStruct netplr[MAX_PLRS]; -extern char sgbPlayerTurnBitTbl[MAX_PLRS]; -extern char sgbPlayerLeftGameTbl[MAX_PLRS]; -extern int sgbSentThisCycle; // idb -extern int dword_678628; // weak +extern int dword_678628; // weak extern BYTE gbActivePlayers; extern char gbGameDestroyed; // weak -extern char sgbSendDeltaTbl[MAX_PLRS]; -extern _gamedata sgGameInitInfo; -extern char byte_678640; // weak -extern int sglTimeoutStart; // weak -extern int sgdwPlayerLeftReasonTbl[MAX_PLRS]; -extern TBuffer sgLoPriBuf; -extern unsigned int sgdwGameLoops; // idb +extern char byte_678640; // weak extern BYTE gbMaxPlayers; -extern char sgbTimeout; // weak extern char szPlayerName[128]; extern BYTE gbDeltaSender; // weak -extern int sgbNetInited; // weak extern int player_state[MAX_PLRS]; void __fastcall multi_msg_add(BYTE *a1, unsigned char a2); diff --git a/Source/nthread.h b/Source/nthread.h index d690b4976..bbb48941f 100644 --- a/Source/nthread.h +++ b/Source/nthread.h @@ -9,14 +9,11 @@ extern char nthread_should_run; // weak extern DWORD gdwTurnsInTransit; // weak extern int glpMsgTbl[4]; extern unsigned int glpNThreadId; -extern char sgbSyncCountdown; // weak -extern int turn_upper_bit; // weak -extern char byte_679758; // weak -extern char sgbPacketCountdown; // weak -extern char sgbThreadIsRunning; // weak -extern int gdwLargestMsgSize; // weak -extern int gdwNormalMsgSize; // weak -extern int last_tick; // weak +extern int turn_upper_bit; // weak +extern char byte_679758; // weak +extern int gdwLargestMsgSize; // weak +extern int gdwNormalMsgSize; // weak +extern int last_tick; // weak void __cdecl nthread_init_mutex(); void __cdecl nthread_cleanup_mutex_atexit(); diff --git a/Source/objects.cpp b/Source/objects.cpp index 588440015..1aa3ce7aa 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -4191,11 +4191,11 @@ void __fastcall OperateShrine(int pnum, int i, int sType) plr[pnum]._pMana -= v72; plr[pnum]._pMaxManaBase -= v72; plr[pnum]._pMaxMana -= v72; - if ((signed int)(plr[pnum]._pMana & 0xFFFFFFC0) <= 0) { + if (plr[pnum]._pMana >> 6 <= 0) { plr[pnum]._pMana = min; plr[pnum]._pManaBase = 0; } - if ((signed int)(plr[pnum]._pMaxMana & 0xFFFFFFC0) <= 0) { + if (plr[pnum]._pMaxMana >> 6 <= 0) { plr[pnum]._pMaxMana = max; plr[pnum]._pMaxManaBase = 0; } @@ -4316,11 +4316,11 @@ void __fastcall OperateShrine(int pnum, int i, int sType) plr[pnum]._pMana -= v72; plr[pnum]._pMaxManaBase -= v72; plr[pnum]._pMaxMana -= v72; - if ((signed int)(plr[pnum]._pMana & 0xFFFFFFC0) <= 0) { + if (plr[pnum]._pMana >> 6 <= 0) { plr[pnum]._pMana = min; plr[pnum]._pManaBase = 0; } - if ((signed int)(plr[pnum]._pMaxMana & 0xFFFFFFC0) <= 0) { + if (plr[pnum]._pMaxMana >> 6 <= 0) { plr[pnum]._pMaxMana = max; plr[pnum]._pMaxManaBase = 0; } @@ -4408,11 +4408,11 @@ void __fastcall OperateShrine(int pnum, int i, int sType) plr[pnum]._pMana -= v72; plr[pnum]._pMaxManaBase -= v72; plr[pnum]._pMaxMana -= v72; - if ((signed int)(plr[pnum]._pMana & 0xFFFFFFC0) <= 0) { + if (plr[pnum]._pMana >> 6 <= 0) { plr[pnum]._pMana = min; plr[pnum]._pManaBase = 0; } - if ((signed int)(plr[pnum]._pMaxMana & 0xFFFFFFC0) <= 0) { + if (plr[pnum]._pMaxMana >> 6 <= 0) { plr[pnum]._pMaxMana = max; plr[pnum]._pMaxManaBase = 0; } diff --git a/Source/palette.h b/Source/palette.h index 0c51e413a..35c5157ae 100644 --- a/Source/palette.h +++ b/Source/palette.h @@ -34,6 +34,5 @@ void __fastcall palette_set_color_cycling(BOOLEAN enabled); extern int gamma_correction; // idb extern BOOL color_cycling_enabled; -extern BOOLEAN sgbFadedIn; #endif /* __PALETTE_H__ */ diff --git a/Source/scrollrt.h b/Source/scrollrt.h index 4be39a5d9..9c3a2fc17 100644 --- a/Source/scrollrt.h +++ b/Source/scrollrt.h @@ -4,23 +4,14 @@ extern int light_table_index; // weak extern int screen_y_times_768[1024]; -extern unsigned int sgdwCursWdtOld; // idb -extern int sgdwCursX; // idb -extern int sgdwCursY; // idb -extern unsigned char *gpBufEnd; // weak -extern int sgdwCursHgt; -extern DWORD level_cel_block; // weak -extern int sgdwCursXOld; // idb -extern int sgdwCursYOld; // idb -extern char arch_draw_type; // weak +extern unsigned char *gpBufEnd; // weak +extern DWORD level_cel_block; // weak +extern char arch_draw_type; // weak extern DDSURFACEDESC DDS_desc; extern int cel_transparency_active; // weak extern int level_piece_id; // weak -extern int sgdwCursWdt; extern int(__fastcall *DrawPlrProc)(int player_num, int x, int y, int screen_x, int screen_y, void *cl2_buf, int frame, int frame_width, int a9, int a10); -extern char sgSaveBack[8192]; extern int draw_monster_num; // weak -extern int sgdwCursHgtOld; // idb void __cdecl ClearCursor(); void __fastcall DrawMissile(int x, int y, int sx, int sy, int a5, int a6, int del_flag); diff --git a/Source/sound.h b/Source/sound.h index 045a0e04b..9ef9a2f2d 100644 --- a/Source/sound.h +++ b/Source/sound.h @@ -3,13 +3,8 @@ #define __SOUND_H__ extern IDirectSoundBuffer *DSBs[8]; -extern LPDIRECTSOUND sglpDS; extern char gbSndInited; -extern int sglMusicVolume; -extern int sglSoundVolume; extern HMODULE hDsound_dll; -extern void *sgpMusicTrack; -extern IDirectSoundBuffer *sglpDSB; void __fastcall snd_update(BOOL bStopAll); void __fastcall snd_stop_snd(TSnd *pSnd); @@ -39,8 +34,6 @@ int __fastcall sound_get_or_set_sound_volume(int volume); extern BYTE gbMusicOn; extern BYTE gbSoundOn; extern BYTE gbDupSounds; -extern int sgnMusicTrack; -extern char *sgszMusicTracks[6]; extern char unk_volume[4][2]; #endif /* __SOUND_H__ */ diff --git a/Source/sync.h b/Source/sync.h index b0d717ca9..88d0f83eb 100644 --- a/Source/sync.h +++ b/Source/sync.h @@ -6,7 +6,6 @@ extern short sync_word_6AA708[MAXMONSTERS]; extern int syncmonsters; // weak extern short sync_word_6AA89C[MAXMONSTERS]; extern int syncitems; -extern int sgnSyncPInv; // weak int __fastcall sync_all_monsters(TSyncHeader *packet, int size); void __cdecl sync_one_monster(); diff --git a/Source/towners.h b/Source/towners.h index af8307c55..677818795 100644 --- a/Source/towners.h +++ b/Source/towners.h @@ -2,10 +2,8 @@ #ifndef __TOWNERS_H__ #define __TOWNERS_H__ -extern int storeflag; // weak -extern int sgnCowMsg; -extern int numtowners; // idb -extern DWORD sgdwCowClicks; +extern int storeflag; // weak +extern int numtowners; // idb extern int bannerflag; // weak // unused 0x6AAC28 extern int boyloadflag; // weak extern void *pCowCels; // idb