diff --git a/gamefiles/TEXT/american.gxt b/gamefiles/TEXT/american.gxt index 077590fb..4db81fc6 100644 Binary files a/gamefiles/TEXT/american.gxt and b/gamefiles/TEXT/american.gxt differ diff --git a/gamefiles/TEXT/french.gxt b/gamefiles/TEXT/french.gxt index 541f98e6..36f4225c 100644 Binary files a/gamefiles/TEXT/french.gxt and b/gamefiles/TEXT/french.gxt differ diff --git a/gamefiles/TEXT/german.gxt b/gamefiles/TEXT/german.gxt index fe42078c..772865db 100644 Binary files a/gamefiles/TEXT/german.gxt and b/gamefiles/TEXT/german.gxt differ diff --git a/gamefiles/TEXT/italian.gxt b/gamefiles/TEXT/italian.gxt index e9ff1cc0..fd087c0d 100644 Binary files a/gamefiles/TEXT/italian.gxt and b/gamefiles/TEXT/italian.gxt differ diff --git a/gamefiles/TEXT/spanish.gxt b/gamefiles/TEXT/spanish.gxt index 1f163162..7a71144c 100644 Binary files a/gamefiles/TEXT/spanish.gxt and b/gamefiles/TEXT/spanish.gxt differ diff --git a/src/core/Frontend.cpp b/src/core/Frontend.cpp index 4c847596..861e67d1 100644 --- a/src/core/Frontend.cpp +++ b/src/core/Frontend.cpp @@ -1138,18 +1138,34 @@ CMenuManager::DrawStandardMenus(bool activeScreen) #else switch (m_PrefsUseWideScreen) { case AR_AUTO: - sprintf(asciiTemp, "AUTO"); + rightText = TheText.Get("FEM_AUT"); break; case AR_4_3: sprintf(asciiTemp, "4:3"); + AsciiToUnicode(asciiTemp, unicodeTemp); + rightText = unicodeTemp; + break; + case AR_5_4: + sprintf(asciiTemp, "5:4"); + AsciiToUnicode(asciiTemp, unicodeTemp); + rightText = unicodeTemp; + break; + case AR_16_10: + sprintf(asciiTemp, "16:10"); + AsciiToUnicode(asciiTemp, unicodeTemp); + rightText = unicodeTemp; break; case AR_16_9: sprintf(asciiTemp, "16:9"); + AsciiToUnicode(asciiTemp, unicodeTemp); + rightText = unicodeTemp; + break; + case AR_21_9: + sprintf(asciiTemp, "21:9"); + AsciiToUnicode(asciiTemp, unicodeTemp); + rightText = unicodeTemp; break; } - - AsciiToUnicode(asciiTemp, unicodeTemp); - rightText = unicodeTemp; #endif break; @@ -4951,12 +4967,12 @@ CMenuManager::ProcessUserInput(uint8 goDown, uint8 goUp, uint8 optionSelected, u case MENUACTION_WIDESCREEN: if (changeAmount > 0) { m_PrefsUseWideScreen++; - if (m_PrefsUseWideScreen > 2) + if (m_PrefsUseWideScreen > AR_MAX - 1) m_PrefsUseWideScreen = 0; } else { m_PrefsUseWideScreen--; if (m_PrefsUseWideScreen < 0) - m_PrefsUseWideScreen = 2; + m_PrefsUseWideScreen = AR_MAX - 1; } SaveSettings(); break; diff --git a/src/render/Draw.cpp b/src/render/Draw.cpp index 13cbd1b3..9c5921c3 100644 --- a/src/render/Draw.cpp +++ b/src/render/Draw.cpp @@ -30,28 +30,48 @@ bool CDraw::ms_bFixRadar = true; bool CDraw::ms_bFixSprites = true; #endif +#ifdef ASPECT_RATIO_SCALE +float +FindAspectRatio(void) +{ + switch (FrontEndMenuManager.m_PrefsUseWideScreen) { + case AR_AUTO: + return SCREEN_WIDTH / SCREEN_HEIGHT; + default: + case AR_4_3: + return 4.0f / 3.0f; + case AR_5_4: + return 5.0f / 4.0f; + case AR_16_10: + return 16.0f / 10.0f; + case AR_16_9: + return 16.0f / 9.0f; + case AR_21_9: + return 21.0f / 9.0f; + }; +} +#endif + float CDraw::CalculateAspectRatio(void) { - if (FrontEndMenuManager.m_PrefsUseWideScreen) { #ifdef ASPECT_RATIO_SCALE - if (TheCamera.m_WideScreenOn) - CDraw::ms_fAspectRatio = FrontEndMenuManager.m_PrefsUseWideScreen == AR_AUTO ? - (5.f / 3.f) * (SCREEN_WIDTH / SCREEN_HEIGHT) / (16.f / 9.f) : - 5.f / 3.f; // It's used on theatrical showings according to Wiki - else - CDraw::ms_fAspectRatio = FrontEndMenuManager.m_PrefsUseWideScreen == AR_AUTO ? SCREEN_WIDTH / SCREEN_HEIGHT : 16.f / 9.f; + if (TheCamera.m_WideScreenOn) + CDraw::ms_fAspectRatio = (5.f / 3.f) * FindAspectRatio() / (16.f / 9.f); // It's used on theatrical showings according to Wiki + else + CDraw::ms_fAspectRatio = FindAspectRatio(); #else + if(FrontEndMenuManager.m_PrefsUseWideScreen) { if (TheCamera.m_WideScreenOn) CDraw::ms_fAspectRatio = 5.f / 3.f; // It's used on theatrical showings according to Wiki else CDraw::ms_fAspectRatio = 16.f / 9.f; -#endif } else if (TheCamera.m_WideScreenOn) { CDraw::ms_fAspectRatio = 5.f/4.f; } else { CDraw::ms_fAspectRatio = 4.f/3.f; } +#endif return CDraw::ms_fAspectRatio; } diff --git a/src/render/Draw.h b/src/render/Draw.h index e67ab42b..b96fa813 100644 --- a/src/render/Draw.h +++ b/src/render/Draw.h @@ -4,10 +4,14 @@ enum eAspectRatio { // Make sure these work the same as FrontEndMenuManager.m_PrefsUseWideScreen // without widescreen support - AR_4_3, - AR_16_9, - AR_AUTO, + AR_4_3, + AR_5_4, + AR_16_10, + AR_16_9, + AR_21_9, + + AR_MAX, }; class CDraw diff --git a/utils/gxt/american.txt b/utils/gxt/american.txt index b39d9a1b..2507d388 100644 --- a/utils/gxt/american.txt +++ b/utils/gxt/american.txt @@ -14420,6 +14420,9 @@ GAMEPAD TYPE [FET_AGS] GAMEPAD SETTINGS +[FEM_AUT] { aspect ratio related } +AUTO + { end of file } [DUMMY] THIS LABEL NEEDS TO BE HERE !!! diff --git a/utils/gxt/french.txt b/utils/gxt/french.txt index f88a9158..d5983e95 100644 --- a/utils/gxt/french.txt +++ b/utils/gxt/french.txt @@ -14709,6 +14709,9 @@ GAMEPAD TYPE [FET_AGS] GAMEPAD SETTINGS +[FEM_AUT] { aspect ratio related } +AUTO + [DUMMY] THIS LABEL NEEDS TO BE HERE !!! AS THE LAST LABEL DOES NOT GET COMPILED \ No newline at end of file diff --git a/utils/gxt/german.txt b/utils/gxt/german.txt index 9350366d..f5ff5e24 100644 --- a/utils/gxt/german.txt +++ b/utils/gxt/german.txt @@ -14709,6 +14709,9 @@ GAMEPAD TYPE [FET_AGS] GAMEPAD SETTINGS +[FEM_AUT] { aspect ratio related } +AUTO + [DUMMY] THIS LABEL NEEDS TO BE HERE !!! AS THE LAST LABEL DOES NOT GET COMPILED \ No newline at end of file diff --git a/utils/gxt/italian.txt b/utils/gxt/italian.txt index 08c30e06..4773cde8 100644 --- a/utils/gxt/italian.txt +++ b/utils/gxt/italian.txt @@ -14718,6 +14718,9 @@ GAMEPAD TYPE [FET_AGS] GAMEPAD SETTINGS +[FEM_AUT] { aspect ratio related } +AUTO + [DUMMY] THIS LABEL NEEDS TO BE HERE !!! AS THE LAST LABEL DOES NOT GET COMPILED \ No newline at end of file diff --git a/utils/gxt/spanish.txt b/utils/gxt/spanish.txt index e63721df..82c1958c 100644 --- a/utils/gxt/spanish.txt +++ b/utils/gxt/spanish.txt @@ -14404,6 +14404,9 @@ TIPO DE MANDO [FET_AGS] AJUSTES DE MANDO +[FEM_AUT] { aspect ratio related } +AUTO + { end of file } [DUMMY] THIS LABEL NEEDS TO BE HERE !!!