From ae7cb924379b628ee6da1b6bceee8f1a85376d24 Mon Sep 17 00:00:00 2001 From: erorcun Date: Sun, 20 Dec 2020 05:49:55 +0300 Subject: [PATCH] fixes to last HUD commits --- src/audio/MusicManager.cpp | 2 ++ src/core/Frontend.cpp | 1 + src/core/Game.cpp | 8 ++++++-- src/core/main.cpp | 3 +-- src/render/Font.cpp | 4 ++-- src/render/Hud.cpp | 15 ++++++++++----- 6 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/audio/MusicManager.cpp b/src/audio/MusicManager.cpp index 0663bbd9..cb4642b3 100644 --- a/src/audio/MusicManager.cpp +++ b/src/audio/MusicManager.cpp @@ -161,6 +161,8 @@ cMusicManager::DisplayRadioStationName() CFont::SetPropOn(); CFont::SetFontStyle(FONT_HEADING); CFont::SetCentreOn(); + // Reminder: Game doesn't have "scaling" at all, it just stretches, and it's team's decision here to not let centered text occupy all the screen. + // Disable ASPECT_RATIO_SCALE and it'll go back to default behaviour; stretching. CFont::SetCentreSize(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH)); CFont::SetColor(CRGBA(0, 0, 0, 255)); #ifdef FIX_BUGS diff --git a/src/core/Frontend.cpp b/src/core/Frontend.cpp index 0f725f7d..01820730 100644 --- a/src/core/Frontend.cpp +++ b/src/core/Frontend.cpp @@ -1129,6 +1129,7 @@ CMenuManager::Draw() #endif } + // Not a bug, we just want HFoV+ on menu #ifdef ASPECT_RATIO_SCALE CFont::SetCentreSize(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH)); #else diff --git a/src/core/Game.cpp b/src/core/Game.cpp index 0a6c3eec..8c14434a 100644 --- a/src/core/Game.cpp +++ b/src/core/Game.cpp @@ -134,7 +134,7 @@ void MessageScreen(char *msg) #endif CFont::SetFontStyle(FONT_BANK); CFont::SetBackgroundOff(); - CFont::SetWrapx(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH-190)); + CFont::SetWrapx(SCREEN_SCALE_FROM_RIGHT(190)); #ifdef FIX_BUGS CFont::SetScale(SCREEN_SCALE_X(1.0f), SCREEN_SCALE_Y(1.0f)); #else @@ -901,13 +901,17 @@ void CGame::InitialiseWhenRestarting(void) CSprite2d *splash = LoadSplash(NULL); splash->Draw(rect, color, color, color, color); #ifdef FIX_BUGS - splash->DrawRect(CRect(SCREEN_SCALE_X(20.0f), SCREEN_SCALE_Y(110.0f), SCREEN_WIDTH-SCREEN_SCALE_X(20.0f), SCREEN_SCALE_Y(300.0f)), CRGBA(50, 50, 50, 192)); + splash->DrawRect(CRect(SCREEN_SCALE_X(20.0f), SCREEN_SCALE_Y(110.0f), SCREEN_SCALE_FROM_RIGHT(20.0f), SCREEN_SCALE_Y(300.0f)), CRGBA(50, 50, 50, 192)); #else splash->DrawRect(CRect(20.0f, 110.0f, SCREEN_WIDTH-20.0f, 300.0f), CRGBA(50, 50, 50, 192)); #endif CFont::SetBackgroundOff(); +#ifdef ASPECT_RATIO_SCALE + CFont::SetWrapx(SCREEN_SCALE_FROM_RIGHT(160.0f)); // because SCREEN_SCALE_FROM_RIGHT(x) != SCREEN_SCALE_X(640-x) +#else CFont::SetWrapx(SCREEN_SCALE_X(480.0f)); +#endif CFont::SetScale(SCREEN_SCALE_X(1.0f), SCREEN_SCALE_Y(1.0f)); CFont::SetCentreOn(); CFont::SetCentreSize(SCREEN_SCALE_X(480.0f)); diff --git a/src/core/main.cpp b/src/core/main.cpp index 4b5d7004..14f1a055 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -1146,7 +1146,6 @@ DisplayGameDebugText() AsciiToUnicode(str, ustr); - // Let's not scale those numbers, they look better that way :eyes: CFont::SetPropOff(); CFont::SetBackgroundOff(); #ifdef FIX_BUGS @@ -1159,7 +1158,7 @@ DisplayGameDebugText() CFont::SetJustifyOff(); CFont::SetBackGroundOnlyTextOff(); #ifdef FIX_BUGS - CFont::SetWrapx(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH)); + CFont::SetWrapx(SCREEN_STRETCH_X(DEFAULT_SCREEN_WIDTH)); #else CFont::SetWrapx(DEFAULT_SCREEN_WIDTH); #endif diff --git a/src/render/Font.cpp b/src/render/Font.cpp index bb711ebd..8c183641 100644 --- a/src/render/Font.cpp +++ b/src/render/Font.cpp @@ -332,8 +332,8 @@ CFont::Initialise(void) SetJustifyOff(); SetCentreOff(); #ifdef FIX_BUGS - SetWrapx(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH)); - SetCentreSize(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH)); + SetWrapx(SCREEN_STRETCH_X(DEFAULT_SCREEN_WIDTH)); + SetCentreSize(SCREEN_STRETCH_X(DEFAULT_SCREEN_WIDTH)); #else SetWrapx(DEFAULT_SCREEN_WIDTH); SetCentreSize(DEFAULT_SCREEN_WIDTH); diff --git a/src/render/Hud.cpp b/src/render/Hud.cpp index eb152ca4..dcc703e9 100644 --- a/src/render/Hud.cpp +++ b/src/render/Hud.cpp @@ -516,9 +516,9 @@ void CHud::Draw() Sprites[WeaponType].Draw( CRect( - SCREEN_WIDTH-SCREEN_SCALE_X(WEAPON_X), + SCREEN_SCALE_FROM_RIGHT(WEAPON_X), SCREEN_SCALE_Y(27.0f), - SCREEN_WIDTH-SCREEN_SCALE_X(WEAPON_X)+SCREEN_SCALE_X(64.0f), + SCREEN_SCALE_FROM_RIGHT(WEAPON_X)+SCREEN_SCALE_X(64.0f), SCREEN_SCALE_Y(27.0f)+SCREEN_SCALE_Y(64.0f)), CRGBA(255, 255, 255, 255), 0.015f, @@ -1029,7 +1029,7 @@ void CHud::Draw() CFont::SetRightJustifyWrap(0.0f); CFont::SetFontStyle(FONT_LOCALE(FONT_HEADING)); CFont::SetColor(CRGBA(244, 20, 20, 255)); - CFont::SetWrapx(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH)); + CFont::SetWrapx(SCREEN_STRETCH_X(DEFAULT_SCREEN_WIDTH)); CFont::SetPropOff(); CFont::SetBackGroundOnlyTextOn(); @@ -1171,7 +1171,7 @@ void CHud::Draw() CFont::SetRightJustifyOff(); CFont::SetBackgroundOff(); CFont::SetCentreOff(); - CFont::SetWrapx(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH)); + CFont::SetWrapx(SCREEN_STRETCH_X(DEFAULT_SCREEN_WIDTH)); CFont::SetJustifyOff(); CFont::SetPropOff(); CFont::SetFontStyle(FONT_PAGER); @@ -1809,7 +1809,12 @@ void CHud::DrawAfterFade() CFont::SetScale(SCREEN_SCALE_X(1.0f), SCREEN_SCALE_Y(1.2f)); CFont::SetCentreOn(); CFont::SetPropOn(); - CFont::SetCentreSize(SCREEN_WIDTH-SCREEN_SCALE_X(20.0f)); + // Not bug, we just want these kind of texts to be wrapped at the center. +#ifdef ASPECT_RATIO_SCALE + CFont::SetCentreSize(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH - 20.0f)); +#else + CFont::SetCentreSize(SCREEN_SCALE_FROM_RIGHT(20.0f)); +#endif CFont::SetColor(CRGBA(0, 0, 0, 255)); CFont::SetFontStyle(FONT_LOCALE(FONT_BANK));