Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3843,8 +3843,13 @@ GameFont *ControlBar::overrideTooltipGadgetFont( GameWindow *win )
if( TheGlobalLanguageData && TheGlobalLanguageData->m_unicodeFontName.isNotEmpty() )
fontName = TheGlobalLanguageData->m_unicodeFontName;

// Get the font from the font library (12pt, not bold)
GameFont *newFont = TheFontLibrary->getFont( fontName, 12, FALSE );
// Scale the font size for high resolutions (Issue #183)
int baseSize = 12;
float scaleY = TheDisplay ? ((float)TheDisplay->getHeight() / 600.0f) : 1.0f;
int scaledSize = (scaleY > 1.0f) ? (int)(baseSize * scaleY) : baseSize;

// Get the font from the font library (scaled size, not bold)
GameFont *newFont = TheFontLibrary->getFont( fontName, scaledSize, FALSE );
if( !newFont )
return nullptr;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -433,7 +433,10 @@ static void initLabelVersion()
if (fallbackCreditLabel)
{
// GeneralsX @tweak BenderAI 31/03/2026 Keep fallback watermark subtle and aligned to bottom-left target placement.
fallbackCreditLabel->winSetFont(TheWindowManager->winFindFont("Arial", 12, FALSE));
int baseSize = 12;
float scaleY = TheDisplay ? ((float)TheDisplay->getHeight() / 600.0f) : 1.0f;
int scaledSize = (scaleY > 1.0f) ? (int)(baseSize * scaleY) : baseSize;
fallbackCreditLabel->winSetFont(TheWindowManager->winFindFont("Arial", scaledSize, FALSE));
fallbackCreditLabel->winSetEnabledTextColors(GameMakeColor(255, 220, 60, 255), GameMakeColor(0, 0, 0, 0));
GadgetStaticTextSetText(fallbackCreditLabel, creditText);
}
Expand Down Expand Up @@ -852,7 +855,10 @@ void MainMenuUpdate( WindowLayout *layout, void *userData )

if (updateNotifyButton)
{
GameFont* font = TheWindowManager->winFindFont("Arial", 10, FALSE);
int baseSize = 10;
float scaleY = TheDisplay ? ((float)TheDisplay->getHeight() / 600.0f) : 1.0f;
int scaledSize = (scaleY > 1.0f) ? (int)(baseSize * scaleY) : baseSize;
GameFont* font = TheWindowManager->winFindFont("Arial", scaledSize, FALSE);
if (font)
updateNotifyButton->winSetFont(font);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,10 @@ static void initLabelVersion()
if (fallbackCreditLabel)
{
// GeneralsX @tweak BenderAI 31/03/2026 Keep fallback watermark subtle and aligned to bottom-left target placement.
fallbackCreditLabel->winSetFont(TheWindowManager->winFindFont("Arial", 12, FALSE));
int baseSize = 12;
float scaleY = TheDisplay ? ((float)TheDisplay->getHeight() / 600.0f) : 1.0f;
int scaledSize = (scaleY > 1.0f) ? (int)(baseSize * scaleY) : baseSize;
fallbackCreditLabel->winSetFont(TheWindowManager->winFindFont("Arial", scaledSize, FALSE));
fallbackCreditLabel->winSetEnabledTextColors(GameMakeColor(255, 220, 60, 255), GameMakeColor(0, 0, 0, 0));
GadgetStaticTextSetText(fallbackCreditLabel, creditText);
}
Expand Down Expand Up @@ -895,7 +898,10 @@ void MainMenuUpdate( WindowLayout *layout, void *userData )

if (updateNotifyButton)
{
GameFont* font = TheWindowManager->winFindFont("Arial", 10, FALSE);
int baseSize = 10;
float scaleY = TheDisplay ? ((float)TheDisplay->getHeight() / 600.0f) : 1.0f;
int scaledSize = (scaleY > 1.0f) ? (int)(baseSize * scaleY) : baseSize;
GameFont* font = TheWindowManager->winFindFont("Arial", scaledSize, FALSE);
if (font)
updateNotifyButton->winSetFont(font);

Expand Down
5 changes: 5 additions & 0 deletions docs/WORKLOG/2026-07-DIARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,12 @@ Both issues have been resolved by adding proper counting filters in MiniAudio an
- Preserved bone positioning logic in `SlavedUpdate.cpp` and fixed pointer dereferencing for `Coord3D` operations (`*obj->getPosition()`).
- Accepted the upstream re-organization of GameClient UI code and removed deprecated ControlBar files.
- Ensured deterministic math usage and successfully built the macOS target (`macos-vulkan`).

## 13/07/2026
### UI Font Scaling at High Resolutions
- Addressed issue #183 where tooltip fonts, the update button, and the GeneralsX credits label appeared too small at resolutions > 1280x800.
- Implemented dynamic scaling in `ControlBar::overrideTooltipGadgetFont` and `MainMenu.cpp` based on the display height relative to the design height of 600.

### Update Checker Fixes for GitHub Actions
- Fixed `UpdateChecker` not showing up in GitHub Actions deployments due to missing Git metadata in Flatpak builds and `actions/checkout` not fetching tags.
- Fixed a logic bug where a newly compiled release would immediately flag itself as outdated.
Loading