mirror of
https://github.com/ZDoom/Raze.git
synced 2025-05-30 17:01:03 +00:00
- the status bars work as objects.
# Conflicts: # source/common/menu/menudef.cpp
This commit is contained in:
parent
3b7ce26c86
commit
7de6528a1f
19 changed files with 630 additions and 307 deletions
|
@ -132,6 +132,8 @@ void LoadScripts();
|
|||
void MainLoop();
|
||||
void SetConsoleNotifyBuffer();
|
||||
|
||||
DBaseStatusBar* StatusBar;
|
||||
|
||||
|
||||
bool AppActive = true;
|
||||
|
||||
|
@ -536,6 +538,8 @@ int GameMain()
|
|||
}
|
||||
DeleteScreenJob();
|
||||
DeinitMenus();
|
||||
if (StatusBar) StatusBar->Destroy();
|
||||
StatusBar = nullptr;
|
||||
if (gi)
|
||||
{
|
||||
gi->FreeGameData(); // Must be done before taking down any subsystems.
|
||||
|
@ -745,6 +749,7 @@ static TArray<GrpEntry> SetupGame()
|
|||
|
||||
currentGame = LumpFilter;
|
||||
currentGame.Truncate(currentGame.IndexOf("."));
|
||||
PClass::StaticInit();
|
||||
CheckFrontend(g_gameType);
|
||||
gameinfo.gametype = g_gameType;
|
||||
return usedgroups;
|
||||
|
@ -761,6 +766,36 @@ void InitLanguages()
|
|||
GStrings.LoadStrings(language);
|
||||
}
|
||||
|
||||
|
||||
void CreateStatusBar()
|
||||
{
|
||||
int flags = g_gameType;
|
||||
PClass* stbarclass = nullptr;
|
||||
|
||||
if (flags & GAMEFLAG_BLOOD)
|
||||
{
|
||||
stbarclass = PClass::FindClass("BloodStatusBar");
|
||||
}
|
||||
else if (flags & GAMEFLAG_SW)
|
||||
{
|
||||
stbarclass = PClass::FindClass("SWStatusBar");
|
||||
}
|
||||
else if (flags & GAMEFLAG_PSEXHUMED)
|
||||
{
|
||||
stbarclass = PClass::FindClass("ExhumedStatusBar");
|
||||
}
|
||||
else
|
||||
{
|
||||
stbarclass = PClass::FindClass(isRR() ? "RedneckStatusBar" : "DukeStatusBar");
|
||||
}
|
||||
if (!stbarclass)
|
||||
{
|
||||
I_FatalError("No status bar defined");
|
||||
}
|
||||
StatusBar = static_cast<DBaseStatusBar*>(stbarclass->CreateNew());
|
||||
GC::AddMarkerFunc([]() { GC::Mark(StatusBar); });
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
//
|
||||
|
@ -871,6 +906,7 @@ int RunGame()
|
|||
SetupGameButtons();
|
||||
gameinfo.mBackButton = "engine/graphics/m_back.png";
|
||||
gi->app_init();
|
||||
CreateStatusBar();
|
||||
SetDefaultMenuColors();
|
||||
M_Init();
|
||||
BuildGameMenus();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue