Browse Source

Clean up attract mode

pull/235/head
Anders Jenbo 7 years ago
parent
commit
b58b3300c4
  1. 2
      DiabloUI/diabloui.h
  2. 17
      SourceX/DiabloUI/mainmenu.cpp

2
DiabloUI/diabloui.h

@ -40,7 +40,7 @@ BOOL __fastcall UiValidPlayerName(char *name); /* check __stdcall */
BOOL __stdcall UiSelHeroMultDialog(BOOL(__stdcall *fninfo)(BOOL(__stdcall *fninfofunc)(_uiheroinfo *)), BOOL(__stdcall *fncreate)(_uiheroinfo *), BOOL(__stdcall *fnremove)(_uiheroinfo *), BOOL(__stdcall *fnstats)(unsigned int, _uidefaultstats *), int *dlgresult, int *a6, char *name);
BOOL __stdcall UiSelHeroSingDialog(BOOL(__stdcall *fninfo)(BOOL(__stdcall *fninfofunc)(_uiheroinfo *)), BOOL(__stdcall *fncreate)(_uiheroinfo *), BOOL(__stdcall *fnremove)(_uiheroinfo *), BOOL(__stdcall *fnstats)(unsigned int, _uidefaultstats *), int *dlgresult, char *name, int *difficulty);
BOOL __stdcall UiCreditsDialog(int a1);
BOOL __stdcall UiMainMenuDialog(char *name, int *pdwResult, void(__stdcall *fnSound)(char *file), int a4);
BOOL __stdcall UiMainMenuDialog(char *name, int *pdwResult, void(__stdcall *fnSound)(char *file), int attractTimeOut);
BOOL __stdcall UiProgressDialog(HWND window, char *msg, int enable, int(*fnfunc)(), int rate);
int __stdcall UiProfileGetString();
void __cdecl UiProfileCallback();

17
SourceX/DiabloUI/mainmenu.cpp

@ -3,8 +3,8 @@
namespace dvl {
int mainmenu_repintro_delay; //seconds
DWORD dwTicks;
int mainmenu_attract_time_out; //seconds
DWORD dwAttractTicks;
int MainMenuResult;
UI_Item MAINMENU_DIALOG[] = {
@ -29,7 +29,7 @@ void mainmenu_Esc()
void mainmenu_restart_repintro()
{
dwTicks = GetTickCount() + mainmenu_repintro_delay * 1000;
dwAttractTicks = GetTickCount() + mainmenu_attract_time_out * 1000;
}
void mainmenu_Load(char *name, void(*fnSound)(char *file))
@ -53,19 +53,18 @@ void mainmenu_Free()
ArtBackground.data = NULL;
}
BOOL UiMainMenuDialog(char *name, int *pdwResult, void(*fnSound)(char *file), int a4)
BOOL UiMainMenuDialog(char *name, int *pdwResult, void(*fnSound)(char *file), int attractTimeOut)
{
mainmenu_repintro_delay = a4;
mainmenu_attract_time_out = attractTimeOut;
mainmenu_Load(name, fnSound);
mainmenu_restart_repintro(); // for automatic starts
while (MainMenuResult == 0) {
if (GetTickCount() >= dwTicks) {
mainmenu_play_intro();
break;
}
UiRender();
if (GetTickCount() >= dwAttractTicks) {
MainMenuResult = MAINMENU_ATTRACT_MODE;
}
}
BlackPalette();

Loading…
Cancel
Save