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.
 
 
 
 
 
 

77 lines
1.6 KiB

#include "all.h"
#include "controls/menu_controls.h"
#include "DiabloUI/diabloui.h"
namespace dvl {
std::vector<UiItemBase *> vecTitleScreen;
void title_Load()
{
#ifdef HELLFIRE
LoadBackgroundArt("ui_art\\hf_logo1.pcx", 16);
#else
LoadBackgroundArt("ui_art\\title.pcx");
LoadMaskedArt("ui_art\\logo.pcx", &ArtLogos[LOGO_BIG], 15);
#endif
}
void title_Free()
{
ArtBackground.Unload();
ArtLogos[LOGO_BIG].Unload();
for (std::size_t i = 0; i < vecTitleScreen.size(); i++) {
UiItemBase *pUIItem = vecTitleScreen[i];
delete pUIItem;
}
vecTitleScreen.clear();
}
void UiTitleDialog()
{
#ifdef HELLFIRE
SDL_Rect rect = { 0, UI_OFFSET_Y, 0, 0 };
vecTitleScreen.push_back(new UiImage(&ArtBackground, /*animated=*/true, /*frame=*/0, rect, UIS_CENTER));
#else
UiAddBackground(&vecTitleScreen);
UiAddLogo(&vecTitleScreen, LOGO_BIG, 182);
SDL_Rect rect = { PANEL_LEFT + 49, (UI_OFFSET_Y + 410), 550, 26 };
vecTitleScreen.push_back(new UiArtText("Copyright \xA9 1996-2001 Blizzard Entertainment", rect, UIS_MED | UIS_CENTER));
#endif
title_Load();
bool endMenu = false;
Uint32 timeOut = SDL_GetTicks() + 7000;
SDL_Event event;
while (!endMenu && SDL_GetTicks() < timeOut) {
UiRenderItems(vecTitleScreen);
UiFadeIn();
while (SDL_PollEvent(&event)) {
if (GetMenuAction(event) != MenuAction_NONE) {
endMenu = true;
break;
}
switch (event.type) {
case SDL_KEYDOWN:
case SDL_MOUSEBUTTONDOWN:
endMenu = true;
break;
}
UiHandleEvents(&event);
}
}
title_Free();
}
void UiSetSpawned(BOOL bSpawned)
{
gbSpawned = bSpawned;
}
} // namespace dvl