From e98164ec41c3629c592bb31d8b110d85626c5e3c Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Fri, 12 Feb 2021 18:00:20 +0200 Subject: [PATCH] Sync aspect ratio setting with master --- gamefiles/TEXT/american.gxt | Bin 423974 -> 423994 bytes gamefiles/TEXT/french.gxt | Bin 469972 -> 469996 bytes gamefiles/TEXT/german.gxt | Bin 461770 -> 461790 bytes gamefiles/TEXT/italian.gxt | Bin 458926 -> 458946 bytes gamefiles/TEXT/spanish.gxt | Bin 455258 -> 455278 bytes src/core/Frontend.cpp | 28 ++++++++++++++++++++++------ src/render/Draw.cpp | 36 ++++++++++++++++++++++++++++-------- src/render/Draw.h | 10 +++++++--- utils/gxt/american.txt | 3 +++ utils/gxt/french.txt | 3 +++ utils/gxt/german.txt | 3 +++ utils/gxt/italian.txt | 3 +++ utils/gxt/spanish.txt | 3 +++ 13 files changed, 72 insertions(+), 17 deletions(-) diff --git a/gamefiles/TEXT/american.gxt b/gamefiles/TEXT/american.gxt index 077590fb0976acafbf2272ce47e92441fc32b50c..4db81fc6e878ff9e43d0c1e18f6fae4364124bd9 100644 GIT binary patch delta 1013 zcmXxiPe>F|90%~PyE7)~(ZdP`1ribj?jH*x!sj^djx#&6%+C6+#1s!6L==qn5RK5m zh&>osCn_ouwdBcta#Xac+uzVn$1Rnp8P62hlq}zcTe{nt|;$LUz6q-jux1%zxAj1s)ZfKkp=992W!h8~K_sEW?Tjcpg1%{?;F3oQ1iEzQA zPqwDOH*C*!C~5PB0#gqf#zKW`XlCB?Futq6VtoTTP3ZU6&6%v^ia=E)`BMvs@#My0nU1#;~XXA2CNPcnABvWMgoUk!MH9j>{(vZ&H}& zw9N|hE<5fB)1*;(NOqlIDsNVWgZ#2E&yQ`ZaG9p($=e^vnxD}vBaZi9_#$W7G@^+; zZk`rL%K_QZO#Tv^--P+5b$^8UriVu=^17SmIjtva1M{4jGr~OQX|fg`>!*|GzsU=0 z^bH!$j)_Gd{Rgqh&F|90%~PyE77}aQe={@Zxx|QJr?Y``UMNxFKDwM9MR@s)$6pAwONa{8_Fz2`Ia(Ev37^fl`hGg zXVbJV!p`CV()Z)AL_Ug_9!Uo>jHbCtw8)DffsF;)&+{Fy|3bRxh1_X>Nt>rFe4vZ$ znemgKwHeQR*XAwqzqQ%GyJ{TWjwf6jn2#HDV242#8%GWF*q$9!L;~eDy%0&br|V8( zue0tn4h+}bfz>es8R5vgaqh};5@+ry%Sp66r2Wu#>6^0#9Lu%>&TiqkaxrA-l7Wij zg@Mnc`8Ni#cGNH?ztE1AErcP$9|l~}KVWl0KY!Jo#Efa`IFCD4cN#M(6FEoZ91eR` z&^d0-Uu%~MzfZV<(}P;KiG0R!*+2z`uNJa{jXv5L92E4mVcHMmq;Y;!S?07%D$6e0 z?<#ZBSbahVel(R=FO{SG_sTNgSThj_%P!E1Uumn7v0W#D*IROtcRh}%v@I>u5@_0? zeJd+3F~6%UH?93qmYeSWGf}XE9+`8fwK1~H89J^kb7oVG2t|n}@w+J~Tl^39Ph3`u zetrkWXx&L{jn$n(d4kT`1GS0ekMZ79%ZJY{o@;n~d%ZlhUT#=fFUOvaOpR~G_{8}b KE90Byr`iAK`tDo+ diff --git a/gamefiles/TEXT/french.gxt b/gamefiles/TEXT/french.gxt index 541f98e6b5da0952b96abe7a0fc636ab9af64fb4..36f4225cc4cb9ee8724d84ad25b43a1f9322c13e 100644 GIT binary patch delta 1013 zcmXxiPiWIn90&04)}{^>(Stg$=nexBICI3Y#!Q(1XH+VZjU> zPH+bg9x8emvO@(A;tm^QV10Y2P62l;~jB8Zen2@I0#!YFe?VgpU z+Rb@k#};RG)dKsrMFl(Wc7I(o<+ z^-S@OK52^A^U`#SLr(U9or;{nlgE*>sJ@A;qPC`>$XSuou%|we zi?liYPJUKk4>Qx@d8l6$lnUIW27J_;;X-tvek1eoaYnBFAlr_ZG&cW)7CCcA6G2>b znK~1iCXMYLvSSBRIlLNL-Jji$+wvFD%m1 zcr{D5HA7rt<3VV#Y2RXKv8h^3psYK2k<+&wTI6)LLW`WOy#!n~N+$vHu_J*s`Ua`g z>2NVZ|AURL$QeBEj-18ZMY5rfb*_AjRdUB>*4r_p7bltLt_<|QU~LZ{H7g6vO519) b(muQ10S_+dlP>UFjGj0>$|}z#p8oz1nKA0y delta 992 zcmXxiO=uHA6bJBsO*V=YL8w}A(H;a5Dww2=P>V2K$7J2jZk%lTc~B3PB0VTXC`Q6bU;~7;?WVZA8?mkKW@ObxFu+Ity9XC0H|gRgtiw5 zpOTvA3^+V$7(18Aw&j$A0F4O)E*lx+G@-$(u`{@NKXw-NC$am`Xc;KltZ37)3vbCq z+MIrW-Wl+RnJer(%nt@i1>2dp2b&7lWd1O>lop*g5fK@m}?px~j{3RQX%6FmUTePoQ`i^Nc+d=61CRMBv_pg8dbCEjjtQ5YfOdMOE7NJKyUAs$ zndaN~Dbu`tM44_8oKmI&>IDrwro(IwjGPtrdEi@kcU?n)JKPUh3b|1=U}<=FB4?1F ziJZla*O9yM;j@NbW{SJv#j3RE#Ofbu(TQ9C$Zo)GGBh2g!402!x4Bcg8~}@ZbcCi8 z_%6j{J9JpQRWR00lTE`a1p&NX9X9K)a_UgN7&(pPmB<-1Cn9Gta#u&uWJQyjz4(M& z6gL1aJlEm&G21r_7@pHf5u^Q;7F9ml zl%`H&aaRJK@3y+qaZp;sBP}iB2Tvs6GlQ4N4V!F)z1%iam@0{ZXFJrQYkk5ZEQLmu z>>8H1#M+>=*mVCTX|ZW%ErAmE3nJ$DV`&j{v>`2G?kyw`unL_-@8gHGLH{7%xgiJr z^bUTbtrgTy@1Utg&S0vIZ1HMtb|L=o*p7|q7?G0fcDs*P>cw#{$V aV$JC`hB5-UW9!K{eHwlG{CYC+<=206|LuqX delta 993 zcmXxiO=uHA6bJCXO*WOFAnHLRm5Mz{k)%mQB}k{+ZL;oWcbRP3q!zr0C&4Nn#1{5o zpuHJEX%8M+2`Gq)w9p=^P(dl8P$35o;s-?WP^1MZ0R?@NnO#`;&Fp(K^WM(q*~Ht~ zL@g1t5)rUs(R5P4&{5?+pxUFH27Vt`&Hyw0%KgClU<8BAvCdKM*03_=+FY4(lb4h! zxA&Sbcg0@ox7!X}hZ4r;)CWpvK2)ZJch8h*vx%2v(=sR*6R)Ky74`Shl!~d3W8$tB09mF{cGwA;o3 za*1lD`PLC-nm=_ynNBf~Ri*-}xhRHBhuH>DJ}=A-pIca(iXvw?1`k*Yy;U_}eaPMm zoksFO=nO8u3f+&DMihBwinHNSQ(AOlV_RBu;`$%5>l-$CGor!N4V_c(e(sen`M~O7 z4T0(S+@+xI9u1b!E*OooWK*|_zK?8PgUv=O26ZS|2;GO>S3{@Kyc0Tu^1OzE$qFVl zd-W-~K#SAkKiA-nFq@k>*h?C`ylGPb0lXJ-AS&p7LpI0882R7_vdcxMG4w@R#B6O# ziz?^-N>it?x<3YwyX~&*J0>mSH&fCgK7Tp}&UB+luG?fi$Q!nq!c0*NJlmlbT^tb> zVJXxrWLLMuAsXY-V$nTUq{X6#ZpKhFcuvIhJdqYLi4|!PQ(KF{XJy)n?#Fj&o&G_x zcSjCJ=^lJSXFF(=?m;seI*pl5vSm~F|90%~PyEEHD9=a3;OP7#}B-%elmQc^}sk8H!*_m8DfPP&#azm=r$STumzYdTi>Y4Vn z!^*V(HLpy!SU;ys4J?#3445vnIn}%<9Plu(@N`w8g|F z%&jNxM)iY+A!drZA^SyIOrrinT1?{fKe88co4lLSVH(^BXm%6r(oqOB_v?sFHw-)q zdU;5P#aj)dqewOls}hE|)~my2!y}v~RAY$?urDX3i{4IL!oGPOj>#O8hCRDTcBnZ0 zdY5!~7nmKGgBY*t@P|yB8i=vEDi@*yzd<%fM;W>Kmh1&$(rDk17BS5&Y0+i&r!-9( z?b!_cz-vuKJ18yU`;SPA_?ss(2$;bu`=|Dnmr@wu&KQfrmCBiitSy}0nVi{~Y+KuzOgT$?7$Su5 TW_mi)^l0?xYdxKr8=w9IpPlHw delta 992 zcmXxiPe>F|90%~P?#$+)V}%Ea2&EzkcUMD7sOR|7w>vvCyq(QIMD0PULlA_Az{4mC zN++SBB@7BG6eI*C_t2q#bm$}%5mey8B&vggflD6xy?t*M20ri2@ArG}_nUn^-t=s| zX{IUaYDs_<3c^bPrDMivVEVXm2C&k`?LctaxC2<{33M|rm!(`QYfQN}i^h~&x@=6j zcWx+4U!661x8}(AC}He@c|i%Y3&xZ%w`@#@b-p2s9H(5gzSpKyOn%U&R6P7n&JSEt zF@JuLeHL~X2T|Ebz+pjcf8@8aRNH9WjcSX4$rM)WEjWHa?|?R2x#)#dX|BPTPFp)b zE>h35zj@f0_CKYJ=@yG;jH!X?tc7#JV=kwf7nLOsWezhF7J9kIWyDe_-!co9#=iTp zGuV6*yB%Y1V|SqEvxPn;)ZMVXuB|3f-qKc+X#Pj`L++A)*4q#ccO=bjc&~Ob1S}@B;p7TohzngdT-HCxX+i;uokr)C*mTk9*zMT8XCp6IUeK^d zo|5xaoPI~=ZTRPzD@89#3pRp2;Zg$;R+sfcb{x$=(eOEqcieAHGkl?`px z<@S~~O&U9Uk_e<(Pkj^2#bK zg=+!XcXH|yvr=0XJv6MXiZ)(PqQGUZiYY(RRxyhU+A1b^o-$i?&1G;B4zJ zz38X^LHIXz8pGAt88qyYb9}IQ=~d$P$)(b%GONo@R7a<(qjf9Q(fa)Sl-H7=$D+qx K@mi82U;hK=9_Xk5 diff --git a/gamefiles/TEXT/spanish.gxt b/gamefiles/TEXT/spanish.gxt index 1f1631625627bfbb98353206f4db78d83ded46c7..7a71144c176ac5129e3dd0f5479d0221193c9f56 100644 GIT binary patch delta 1025 zcmXxiT}TvB6bJBs?#%Y(Lk}$}P7t(I4_5AnVbIrg9NlSVXO`L7T%|BV`T!q_UX~EI zC{W+FkP2DILa?9*!BBgNf(Q|z1fde69yWT2M2Ny5sB`z;Ss3`8JLlYc&zW7WG^|z{ zN?Nfg5(3L+O(zDNt(T4i{hD+F&~{5F0qmD<1|GMB(8?U^B-MU7B2BeJDQT*Wo{^^7 zzDwMm%g<7Vt1h|@6>PsPUr@pQF=;CJFd3k2* zdH0d*GQTy~g}&twbe5^E7d~@)d>L3PR)Y-lVp#Z1b~E%2*!G7z=lHbK>|bd*Ex$#9 zo}->=ecujgTJPN>O}99ml%@tQ9#_zAI?OhJQkL5@e9wY*RY8a07+#UZ&~{A*ERM=> z-~^iP22P@HI&d>ea|%+-l-$C>6ZdiH*}9?SNuWej~dy3hf*@4RwDl#e4rUr`0Pl|wd(Da;ac6T#!^flS__@uG4D9m$C zd==(hj;#sPq%jf>BjdT%sYL69d4B(1VV++)5QfKeBTKH+$$Bwm*k%mtCJ!>ULnB(T zxp`U)b1vD{Eq)0tE6g|DbzYcn+IuC8tl@R=oW>Dho})bw<~g-b!thz1P6Afug?0J{ zcH@c&I_ZCaZ-L{8eh-|0wo0~)uGy(qp~RuBkIFS@H_|;U=TH4SeB;>Wr?fDD3mCZf nc23=SbF?rxTG%i%TBx~R-pG)H4|lLW5~4?;N1dsUgxRP6>Idy= delta 991 zcmXxiPe>F|90%~P?aZ=-hds1pxVNA#V(uS9!u~wR$$ic2%rG;Xs}w;**fH`Tu`r5( z8+5RcPC^!j9Xv#Z8blaKNOZ_kBt@64OJ*J_JP7rB``#=Je130!zxUqnH@n?v-)yu` zXQON;0Tu+@$pQ8ufi_-dAX(~nU2Dx0lBywJT zBD*Z?s|=yKnSjB(=K7Vd!oFC>)~~1;c+AgXmOIQgfm$H!o1t$Zbwk5|>6m`Ra_G9L0+z>z+p!DC z-j7{Gbt!f?YU>(GjElRW{!v;?VzD7DCeipwc0`sw3h~ z=)07Z&gihrX2VDyBXh$F!Vt4PI&3yLWYUCcCu8TadO3Chzb9iCv2ssGnX@vdVUIo} zmuYkQb&UR0g7h>`O8q9%kh98rk*5q_MgoEpj@(NsBJ; z>`2q3F`i7q^WElD(rwZrf8?mN$gg!K;WNVw$eKYmqLOLz92#5%p6$?x)@@;tmct8| z>>8H1L@JOLo3>t+7Mpt4lL$;u?t9TlPz;-@%fuX;rO!? 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 !!!