MCPcopy Create free account
hub / github.com/diasurgical/devilution / UiMainMenuDialog

Function UiMainMenuDialog

SourceX/DiabloUI/mainmenu.cpp:63–89  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

61}
62
63BOOL UiMainMenuDialog(char *name, int *pdwResult, void (*fnSound)(char *file), int attractTimeOut)
64{
65 MainMenuResult = 0;
66 while (MainMenuResult == 0) {
67 mainmenu_attract_time_out = attractTimeOut;
68 mainmenu_Load(name, fnSound);
69
70 mainmenu_restart_repintro(); // for automatic starts
71
72 while (MainMenuResult == 0) {
73 UiPollAndRender();
74 if (!gbSpawned && SDL_GetTicks() >= dwAttractTicks) {
75 MainMenuResult = MAINMENU_ATTRACT_MODE;
76 }
77 }
78
79 mainmenu_Free();
80
81 if (gbSpawned && MainMenuResult == MAINMENU_REPLAY_INTRO) {
82 UiSelOkDialog(nullptr, "The Diablo introduction cinematic is only available in the full retail version of Diablo. Visit https://www.gog.com/game/diablo to purchase.", true);
83 MainMenuResult = 0;
84 }
85 }
86
87 *pdwResult = MainMenuResult;
88 return true;
89}
90
91} // namespace dvl

Callers 1

mainmenu_loopFunction · 0.85

Calls 5

mainmenu_LoadFunction · 0.85
UiPollAndRenderFunction · 0.85
mainmenu_FreeFunction · 0.85
UiSelOkDialogFunction · 0.85

Tested by

no test coverage detected