- If GZDoom is in fullscreen, the above options will change the HUD size only every 2 increments (resolution or aspect ratio don't matter)
- If GZDoom is in a window, the above options will change the HUD size only every 4 increments (I have a 21:9 screen so I could only test on that)
Here's a video I posted earlier in ZDoom Discord that showcases the fullscreen issue: https://cdn.discordapp.com/attachments/ ... -04-02.mp4
This can be recreated with the attached HUD (which is a copy of DoomStatusBar but with only the fullscreen bit; it calls BeginHUD() with 640x400 instead of the default values).
STR:
- Load GZDoom with -file HUDScaleIssue.zip
- Make sure you're using fullscreen HUD, and the Alternative HUD is disabled
- Navigate to Scaling Options > User interface scale or Fullscreen HUD
- Change the values
Note, this bug (or whatever it is) is fixed if I apply scaling to the BeginHUD() call manually by reading the hud_scale value:
Code: Select all
// in the HUD's Draw() call:
vector2 hudres = (640, 400);
CVar userHudScale = CVar.GetCVar('hud_scale', CPlayer);
int userscale = Clamp(userHudScale.GetInt(), -1, 8);
if (userscale > 0.)
hudres /= userscale;
BeginHUD(1., true, int(hudres.x), int(hudres.y));