You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.6 KiB
62 lines
1.6 KiB
#include "pch.h" |
|
|
|
namespace dvl { |
|
|
|
int MainMenuResult; |
|
UI_Item MAINMENU_DIALOG[] = { |
|
{ { 0, 0, 640, 480 }, UI_IMAGE, 0, 0, NULL, &ArtBackground }, |
|
{ { 64, 192, 510, 43 }, UI_LIST, UIS_HUGE | UIS_GOLD | UIS_CENTER, MAINMENU_SINGLE_PLAYER, "Single Player" }, |
|
{ { 64, 235, 510, 43 }, UI_LIST, UIS_HUGE | UIS_GOLD | UIS_CENTER, MAINMENU_MULTIPLAYER, "Multi Player" }, |
|
{ { 64, 277, 510, 43 }, UI_LIST, UIS_HUGE | UIS_GOLD | UIS_CENTER, MAINMENU_REPLAY_INTRO, "Replay Intro" }, |
|
{ { 64, 320, 510, 43 }, UI_LIST, UIS_HUGE | UIS_GOLD | UIS_CENTER, MAINMENU_SHOW_CREDITS, "Show Credits" }, |
|
{ { 64, 363, 510, 43 }, UI_LIST, UIS_HUGE | UIS_GOLD | UIS_CENTER, MAINMENU_EXIT_DIABLO, "Exit Diablo" }, |
|
{ { 17, 444, 605, 21 }, UI_TEXT, UIS_SMALL }, |
|
}; |
|
|
|
void UiMainMenuSelect(int value) |
|
{ |
|
MainMenuResult = value; |
|
} |
|
|
|
void mainmenu_Esc() |
|
{ |
|
UiMainMenuSelect(MAINMENU_EXIT_DIABLO); |
|
} |
|
|
|
void mainmenu_Load(char *name, void(__stdcall *fnSound)(char *file)) |
|
{ |
|
gfnSoundFunction = fnSound; |
|
MAINMENU_DIALOG[6].caption = name; |
|
|
|
MainMenuResult = 0; |
|
|
|
char *pszFile = "ui_art\\mainmenu.pcx"; |
|
if (false) //DiabloUI_GetSpawned() |
|
pszFile = "ui_art\\swmmenu.pcx"; |
|
LoadBackgroundArt(pszFile); |
|
|
|
UiInitList(MAINMENU_SINGLE_PLAYER, MAINMENU_EXIT_DIABLO, NULL, UiMainMenuSelect, mainmenu_Esc, MAINMENU_DIALOG, size(MAINMENU_DIALOG), true); |
|
} |
|
|
|
void mainmenu_Free() |
|
{ |
|
mem_free_dbg(ArtBackground.data); |
|
ArtBackground.data = NULL; |
|
} |
|
|
|
BOOL __stdcall UiMainMenuDialog(char *name, int *pdwResult, void(__stdcall *fnSound)(char *file), int a4) |
|
{ |
|
mainmenu_Load(name, fnSound); |
|
|
|
while (MainMenuResult == 0) { |
|
UiRender(); |
|
} |
|
|
|
BlackPalette(); |
|
mainmenu_Free(); |
|
|
|
*pdwResult = MainMenuResult; |
|
return TRUE; |
|
} |
|
|
|
}
|
|
|