summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2021-02-12 18:00:20 +0200
committerSergeanur <s.anureev@yandex.ua>2021-02-12 18:00:20 +0200
commite98164ec41c3629c592bb31d8b110d85626c5e3c (patch)
treef4e345af3889cbec4d2a9239b6570ee21ee1e9f4
parentb1698948e6fcd57f7f41206b3b85b1f88cbaa6e2 (diff)
Sync aspect ratio setting with master
-rw-r--r--gamefiles/TEXT/american.gxtbin423974 -> 423994 bytes
-rw-r--r--gamefiles/TEXT/french.gxtbin469972 -> 469996 bytes
-rw-r--r--gamefiles/TEXT/german.gxtbin461770 -> 461790 bytes
-rw-r--r--gamefiles/TEXT/italian.gxtbin458926 -> 458946 bytes
-rw-r--r--gamefiles/TEXT/spanish.gxtbin455258 -> 455278 bytes
-rw-r--r--src/core/Frontend.cpp28
-rw-r--r--src/render/Draw.cpp36
-rw-r--r--src/render/Draw.h6
-rw-r--r--utils/gxt/american.txt3
-rw-r--r--utils/gxt/french.txt3
-rw-r--r--utils/gxt/german.txt3
-rw-r--r--utils/gxt/italian.txt3
-rw-r--r--utils/gxt/spanish.txt3
13 files changed, 70 insertions, 15 deletions
diff --git a/gamefiles/TEXT/american.gxt b/gamefiles/TEXT/american.gxt
index 077590fb..4db81fc6 100644
--- a/gamefiles/TEXT/american.gxt
+++ b/gamefiles/TEXT/american.gxt
Binary files differ
diff --git a/gamefiles/TEXT/french.gxt b/gamefiles/TEXT/french.gxt
index 541f98e6..36f4225c 100644
--- a/gamefiles/TEXT/french.gxt
+++ b/gamefiles/TEXT/french.gxt
Binary files differ
diff --git a/gamefiles/TEXT/german.gxt b/gamefiles/TEXT/german.gxt
index fe42078c..772865db 100644
--- a/gamefiles/TEXT/german.gxt
+++ b/gamefiles/TEXT/german.gxt
Binary files differ
diff --git a/gamefiles/TEXT/italian.gxt b/gamefiles/TEXT/italian.gxt
index e9ff1cc0..fd087c0d 100644
--- a/gamefiles/TEXT/italian.gxt
+++ b/gamefiles/TEXT/italian.gxt
Binary files differ
diff --git a/gamefiles/TEXT/spanish.gxt b/gamefiles/TEXT/spanish.gxt
index 1f163162..7a71144c 100644
--- a/gamefiles/TEXT/spanish.gxt
+++ b/gamefiles/TEXT/spanish.gxt
Binary files 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_AUTO,
AR_4_3,
+ AR_5_4,
+ AR_16_10,
AR_16_9,
+ AR_21_9,
- AR_AUTO,
+ 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 !!!