Prerequisites
Game Version
Operating System
Bug Description
Hi, fbraz3
At resolution 2560×1600 on macOS (Apple M1), tooltip text in the command bar popup (unit name, cost, description) is extremely small and barely readable.
Investigation:
I modified ControlBarPopupDescription.wnd (both as loose file override and directly in WindowZH.big) trying sizes 14, 24, 48, 64 for Arial — no visual change. I also changed the font name to Times New Roman — still no change. This confirms that overrideTooltipGadgetFont() in ControlBar.cpp completely overrides the .wnd font, using oldFont->pointSize which always resolves to the design-resolution value (8pt).
Root cause:
overrideTooltipGadgetFont() preserves oldFont->pointSize from the .wnd file without scaling it to the current display resolution. At 2560×1600, this makes 8pt render as roughly 8 physical pixels.
Suggested fix:
Scale the point size by currentHeight / 600.0f (design resolution height) in overrideTooltipGadgetFont:
cppfloat scaleY = (float)TheDisplay->getHeight() / 600.0f;
int scaledSize = max(oldFont->pointSize, (int)(oldFont->pointSize * scaleY));
GameFont *newFont = TheFontLibrary->getFont(kUnicodeFonts[i], scaledSize, oldFont->bold);
Workaround: Resolution 1280×800 makes text readable.
System: macOS, Apple M1, GeneralsX Beta 12
Reproduction Steps
- Set resolution to 2560×1600 in Options.ini
- Start any skirmish or campaign mission
- Hover mouse over any unit or building button in the command bar
- Observe tooltip popup — text (unit name, cost, description) is extremely small and barely readable
Additional Context
No response
Prerequisites
Game Version
Operating System
Bug Description
Hi, fbraz3
At resolution 2560×1600 on macOS (Apple M1), tooltip text in the command bar popup (unit name, cost, description) is extremely small and barely readable.
Investigation:
I modified ControlBarPopupDescription.wnd (both as loose file override and directly in WindowZH.big) trying sizes 14, 24, 48, 64 for Arial — no visual change. I also changed the font name to Times New Roman — still no change. This confirms that overrideTooltipGadgetFont() in ControlBar.cpp completely overrides the .wnd font, using oldFont->pointSize which always resolves to the design-resolution value (8pt).
Root cause:
overrideTooltipGadgetFont() preserves oldFont->pointSize from the .wnd file without scaling it to the current display resolution. At 2560×1600, this makes 8pt render as roughly 8 physical pixels.
Suggested fix:
Scale the point size by currentHeight / 600.0f (design resolution height) in overrideTooltipGadgetFont:
cppfloat scaleY = (float)TheDisplay->getHeight() / 600.0f;
int scaledSize = max(oldFont->pointSize, (int)(oldFont->pointSize * scaleY));
GameFont *newFont = TheFontLibrary->getFont(kUnicodeFonts[i], scaledSize, oldFont->bold);
Workaround: Resolution 1280×800 makes text readable.
System: macOS, Apple M1, GeneralsX Beta 12
Reproduction Steps
Additional Context
No response