Rebrand the launcher to make it more distinctly GZDoom

- Use a Light theme to clearly differentiate GZDoom from VKDoom
- Moved the version label to not visually clash with the banner graphics
- Added unique graphics for the banner and the BOOTLOGO
- Changed the loading bar color to match GZDoom's logo
This commit is contained in:
nashmuhandes 2025-06-21 16:50:03 +08:00 committed by Rachael Alexanderson
commit 00a5bce5d7
9 changed files with 10 additions and 16 deletions

View file

@ -106,7 +106,7 @@ bool FGenericStartScreen::DoProgress(int advance)
if (CurPos < MaxPos)
{
RgbQuad bcolor = { 2, 25, 87, 255 }; // todo: make configurable
RgbQuad bcolor = { 177, 77, 16, 255 }; // [Nash June 2025] don't merge this color into VKDoom! // todo: make configurable
int numnotches = 200 * 2;
notch_pos = ((CurPos + 1) * numnotches) / MaxPos;
if (notch_pos != NotchPos)

View file

@ -23,7 +23,7 @@ void InitWidgetResources(const char* filename)
if (!WidgetResources)
I_FatalError("Unable to open %s", filename);
WidgetTheme::SetTheme(std::make_unique<DarkWidgetTheme>());
WidgetTheme::SetTheme(std::make_unique<LightWidgetTheme>()); // GZDoom uses a different theme than VKDoom
}
void CloseWidgetResources()

View file

@ -9,19 +9,9 @@
LauncherBanner::LauncherBanner(Widget* parent) : Widget(parent)
{
Logo = new ImageBox(this);
VersionLabel = new TextLabel(this);
VersionLabel->SetTextAlignment(TextLabelAlignment::Right);
Logo->SetImage(Image::LoadResource("widgets/banner.png"));
}
void LauncherBanner::UpdateLanguage()
{
FString versionText = GStrings.GetString("PICKER_VERSION");
versionText.Substitute("%s", GetVersionString());
VersionLabel->SetText(versionText.GetChars());
}
double LauncherBanner::GetPreferredHeight() const
{
return Logo->GetPreferredHeight();
@ -30,5 +20,4 @@ double LauncherBanner::GetPreferredHeight() const
void LauncherBanner::OnGeometryChanged()
{
Logo->SetFrameGeometry(0.0, 0.0, GetWidth(), Logo->GetPreferredHeight());
VersionLabel->SetFrameGeometry(20.0, GetHeight() - 10.0 - VersionLabel->GetPreferredHeight(), GetWidth() - 40.0, VersionLabel->GetPreferredHeight());
}

View file

@ -9,7 +9,6 @@ class LauncherBanner : public Widget
{
public:
LauncherBanner(Widget* parent);
void UpdateLanguage();
double GetPreferredHeight() const;
@ -17,5 +16,4 @@ private:
void OnGeometryChanged() override;
ImageBox* Logo = nullptr;
TextLabel* VersionLabel = nullptr;
};

View file

@ -68,7 +68,6 @@ void LauncherWindow::UpdateLanguage()
{
Pages->SetTabText(PlayGame, GStrings.GetString("PICKER_TAB_PLAY"));
Pages->SetTabText(Settings, GStrings.GetString("OPTMNU_TITLE"));
Banner->UpdateLanguage();
PlayGame->UpdateLanguage();
Settings->UpdateLanguage();
Buttonbar->UpdateLanguage();

View file

@ -11,6 +11,8 @@
PlayGamePage::PlayGamePage(LauncherWindow* launcher, WadStuff* wads, int numwads, int defaultiwad) : Widget(nullptr), Launcher(launcher)
{
WelcomeLabel = new TextLabel(this);
VersionLabel = new TextLabel(this);
VersionLabel->SetTextAlignment(TextLabelAlignment::Right);
SelectLabel = new TextLabel(this);
ParametersLabel = new TextLabel(this);
GamesList = new ListView(this);
@ -62,6 +64,9 @@ void PlayGamePage::UpdateLanguage()
FString welcomeText = GStrings.GetString("PICKER_WELCOME");
welcomeText.Substitute("%s", GAMENAME);
WelcomeLabel->SetText(welcomeText.GetChars());
FString versionText = GStrings.GetString("PICKER_VERSION");
versionText.Substitute("%s", GetVersionString());
VersionLabel->SetText(versionText.GetChars());
}
void PlayGamePage::OnGamesListActivated()
@ -81,6 +86,8 @@ void PlayGamePage::OnGeometryChanged()
WelcomeLabel->SetFrameGeometry(0.0, y, GetWidth(), WelcomeLabel->GetPreferredHeight());
y += WelcomeLabel->GetPreferredHeight();
VersionLabel->SetFrameGeometry(20.0, y - VersionLabel->GetPreferredHeight(), GetWidth() - 19.0, VersionLabel->GetPreferredHeight());
y += 10.0;
SelectLabel->SetFrameGeometry(0.0, y, GetWidth(), SelectLabel->GetPreferredHeight());

View file

@ -27,6 +27,7 @@ private:
LauncherWindow* Launcher = nullptr;
TextLabel* WelcomeLabel = nullptr;
TextLabel* VersionLabel = nullptr;
TextLabel* SelectLabel = nullptr;
TextLabel* ParametersLabel = nullptr;
ListView* GamesList = nullptr;

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 387 KiB

Before After
Before After