/** * @file diablo.h * * Interface of the main game initialization functions. */ #ifndef __DIABLO_H__ #define __DIABLO_H__ extern HWND ghMainWnd; extern int glMid1Seed[NUMLEVELS]; extern int glMid2Seed[NUMLEVELS]; extern int gnLevelTypeTbl[NUMLEVELS]; extern int MouseY; extern int MouseX; extern BOOL gbGameLoopStartup; extern DWORD glSeedTbl[NUMLEVELS]; extern BOOL gbRunGame; extern int glMid3Seed[NUMLEVELS]; extern BOOL gbRunGameResult; extern BOOL zoomflag; extern BOOL gbProcessPlayers; extern int glEndSeed[NUMLEVELS]; extern BOOL gbLoadGame; extern HINSTANCE ghInst; extern int DebugMonsters[10]; extern BOOLEAN cineflag; extern int force_redraw; extern BOOL visiondebug; /** unused */ extern BOOL scrollflag; extern BOOL light4flag; extern BOOL leveldebug; extern BOOL monstdebug; /** unused */ extern BOOL trigdebug; extern int setseed; extern int debugmonsttypes; extern int PauseMode; extern char sgbMouseDown; extern int color_cycle_timer; void FreeGameMem(); BOOL StartGame(BOOL bNewGame, BOOL bSinglePlayer); void run_game_loop(unsigned int uMsg); void start_game(unsigned int uMsg); void free_game(); BOOL diablo_get_not_running(); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow); void diablo_parse_flags(char *args); void diablo_init_screen(); BOOL diablo_find_window(LPCSTR lpClassName); void diablo_reload_process(HINSTANCE hInstance); BOOL PressEscKey(); LRESULT CALLBACK DisableInputWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK GM_Game(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); BOOL LeftMouseDown(int wParam); BOOL LeftMouseCmd(BOOL bShift); BOOL TryIconCurs(); void LeftMouseUp(); void RightMouseDown(); void j_gmenu_on_mouse_move(LPARAM lParam); BOOL PressSysKey(int wParam); void diablo_hotkey_msg(DWORD dwMsg); void ReleaseKey(int vkey); void PressKey(int vkey); void diablo_pause_game(); void PressChar(int vkey); void LoadLvlGFX(); void LoadAllGFX(); void CreateLevel(int lvldir); void LoadGameLevel(BOOL firstflag, int lvldir); void game_loop(BOOL bStartup); void game_logic(); void timeout_cursor(BOOL bTimeout); void diablo_color_cyc_logic(); /* data */ /* rdata */ extern BOOL fullscreen; #ifdef _DEBUG extern int showintrodebug; extern int questdebug; extern int debug_mode_key_s; extern int debug_mode_key_w; extern int debug_mode_key_inverted_v; extern int debug_mode_dollar_sign; extern int debug_mode_key_d; extern int debug_mode_key_i; extern int dbgplr; extern int dbgqst; extern int dbgmon; extern int arrowdebug; extern int frameflag; extern int frameend; extern int framerate; extern int framestart; #endif extern BOOL FriendlyMode; extern char *spszMsgTbl[4]; extern char *spszMsgHotKeyTbl[4]; #endif /* __DIABLO_H__ */