From e5985d2c398674eb5bdb4945e4fdf677498c5cca Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Sun, 1 Aug 2021 15:10:56 +0200 Subject: [PATCH] add country flags --- config/ConfigFormUnit.cpp | 42 +++++++++--------- config/ConfigFormUnit.dfm | 62 +++++++++++++++++++++------ config/ConfigFormUnit.h | 5 ++- config/Resources/CN.png | Bin 0 -> 531 bytes config/Resources/DE.png | Bin 0 -> 191 bytes config/Resources/ES.png | Bin 0 -> 682 bytes config/Resources/US.png | Bin 0 -> 1307 bytes config/cnc-ddraw config.cbproj | 40 +++++++++++++++++ config/cnc-ddraw config_resources.rc | 4 ++ 9 files changed, 117 insertions(+), 36 deletions(-) create mode 100644 config/Resources/CN.png create mode 100644 config/Resources/DE.png create mode 100644 config/Resources/ES.png create mode 100644 config/Resources/US.png create mode 100644 config/cnc-ddraw config_resources.rc diff --git a/config/ConfigFormUnit.cpp b/config/ConfigFormUnit.cpp index 07d4554..48a8f96 100644 --- a/config/ConfigFormUnit.cpp +++ b/config/ConfigFormUnit.cpp @@ -27,7 +27,7 @@ __fastcall TConfigForm::TConfigForm(TComponent* Owner) { } -void __fastcall TConfigForm::LanguageLblClick(TObject *Sender) +void __fastcall TConfigForm::LanguageImgClick(TObject *Sender) { auto *ini = new TIniFile(".\\ddraw.ini"); ini->WriteString("ddraw", "configlang", IsEnglish ? "auto" : "english"); @@ -50,7 +50,7 @@ void TConfigForm::ApplyTranslation(TIniFile *ini) int priID = SysLocale.PriLangID; if (lang == "chinese" || (lang == "auto" && priID == LANG_CHINESE)) { - LanguageLbl->Visible = true; + LanguageImg->Visible = true; /* -Chinese Simplified- made by universal963 @ github */ @@ -100,7 +100,7 @@ void TConfigForm::ApplyTranslation(TIniFile *ini) MaxgameticksCbx->AddItem(L"15tick每秒", NULL); } else if (lang == "spanish" || (lang == "auto" && priID == LANG_SPANISH)) { - LanguageLbl->Visible = true; + LanguageImg->Visible = true; /* -Spanish- made by c-sanchez @ github */ @@ -150,7 +150,7 @@ void TConfigForm::ApplyTranslation(TIniFile *ini) MaxgameticksCbx->AddItem(L"15 tics por segundo", NULL); } else if (lang == "german" || (lang == "auto" && priID == LANG_GERMAN)) { - LanguageLbl->Visible = true; + LanguageImg->Visible = true; /* -German- made by helgo1506 @ github */ @@ -201,27 +201,29 @@ void TConfigForm::ApplyTranslation(TIniFile *ini) } else { IsEnglish = true; - UnicodeString name = ""; try { - int lcid = Languages()->IndexOf(SysLocale.DefaultLCID); - name = SplitString(Languages()->Name[lcid].w_str(), L" (")[0]; + if (priID == LANG_CHINESE) { + TPngImage *png = new TPngImage(); + png->LoadFromResourceName((int)HInstance, "PngImage_CN"); + LanguageImg->Picture->Graphic = png; + LanguageImg->Visible = true; + } + else if (priID == LANG_SPANISH) { + TPngImage *png = new TPngImage(); + png->LoadFromResourceName((int)HInstance, "PngImage_ES"); + LanguageImg->Picture->Graphic = png; + LanguageImg->Visible = true; + } + else if (priID == LANG_GERMAN) { + TPngImage *png = new TPngImage(); + png->LoadFromResourceName((int)HInstance, "PngImage_DE"); + LanguageImg->Picture->Graphic = png; + LanguageImg->Visible = true; + } } catch (...) { } - if (priID == LANG_CHINESE) { - LanguageLbl->Visible = true; - LanguageLbl->Caption = name == "" ? "Chinese" : name; - } - else if (priID == LANG_SPANISH) { - LanguageLbl->Visible = true; - LanguageLbl->Caption = name == "" ? "Spanish" : name; - } - else if (priID == LANG_GERMAN) { - LanguageLbl->Visible = true; - LanguageLbl->Caption = name == "" ? "German" : name; - } - /* ConfigForm->Caption = L"cnc-ddraw config"; DisplayBtn->Caption = L"Display Settings"; diff --git a/config/ConfigFormUnit.dfm b/config/ConfigFormUnit.dfm index ba802eb..48f8420 100644 --- a/config/ConfigFormUnit.dfm +++ b/config/ConfigFormUnit.dfm @@ -3151,22 +3151,56 @@ object ConfigForm: TConfigForm Height = 31 OnPaint = PboxPaint end - object LanguageLbl: TLabel - Left = 453 + object LanguageImg: TImage + Left = 433 Top = 8 - Width = 38 - Height = 13 - Alignment = taRightJustify - Caption = 'English' - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Segoe UI' - Font.Style = [] - ParentFont = False + Width = 57 + Height = 30 + Picture.Data = { + 0954506E67496D61676589504E470D0A1A0A0000000D49484452000000390000 + 001E080600000096B1B60B00000006624B474400FF00FF00FFA0BDA793000000 + 097048597300000DD700000DD70142289B780000000774494D4507E508010B3B + 338DA66DFA0000048B4944415478DAE5976B4C9B6514C7FFE556EED79612284E + A1328DA2832173832186C9069A30B3E10C6E91B54B4CBC2CFA6126029B71AC68 + E6078D533FAD1DC974D9350EA3C0D850D8BA3191010E2F1BEB5006452AF77B0B + B4F539C7748DFA711FDAB4E7CBF33EEDFB9CBCBFF739E7FF7F5E496ECE6E4750 + 5020161797E08C7B993BAF154BB37879F43A3C21240459BE73136EDE1C40DB95 + 5FE0E7E7878ACA32D41E69C4E0E0284243A5A8DABB0307AA8F627EDE0AA55206 + BABF467B0C76BB1D6BD73D82952B93F97E0A67AEBED61F3C0B323232942EA148 + 88C1C09DBF045830ACD6452426C9D0FF87193259244647A7B1E27E05864CA390 + 4A8304B005C9F7C5C33C3C21D63A780D05FDEE7000B2F0201C7CA5C0DD7C2E48 + 8944221ECC819DEA4DB8D6D18B9E9EDFC58E4AF04E45193E3D7416535373888A + 0AC3EB6F6CC6FB35B4830EA4A73F80D5596938A26F04AD2F2CCCE2844D4D1D9C + 2B2D4D099D7E8FBBF95C905B4B9F82F19609DDDD46F8FBFB41A329467DFD552E + D7F0F01094976F446DED39CCCE2E70B916173F099DAE1E369B1DAB56A9A07A30 + 09A74FB5724267AE499319DAB26C77F3B920535313B1B0606588E9E9796464A8 + 60340E891D026666169093FB282E1B7E4644440897A24A9588AE2E23A8CCE925 + 848448C50B19E1844AA59C73D9FAFB3DAB279D9337DFDA8AE60B9DA25CFB1010 + E08F9A1A0DB4DA2FEF966B65E54BA8A8D06179D926CA3505051B32F1F147A779 + 6D49490E8F757597794CB02F6097B5CFDD7C2EC8356B1E8649088AD93CCEEABA + 4E286677F76DCCCD59842504203BFB21B4B7DF10D6B08CB0B06051A2A9B82294 + 98D455A188459210A8CECE5E4E989999C6B948953DAA277345398E8DCFA05748 + 3FF5D9962DEBD1D2F2132627675964D49A22E8750D2C46D1D1E1C8CF7F1C67CE + 5CE2FE4D13F611171BC1D014F48228974DECB64741F28568C0575F2BC185F3D7 + D8E7C8D4F7BCBD0D9F7F5687898919C4C444F0FF1F1E3CC1664FDEB8E199D5FC + 3FA96951D13F22D3D0D0CE6362A00DBBE51677F3B920E5F1D1181F9B865C1ECD + A24142323C3C8E1421480377CC888B8BC2D8D894F04505FA6E0F212121F6EE7D + 232393888D8B845D5400859FD85DCA25B34C7B96F0A8D54518348DA0E95C0797 + 6065D5769C38FE3DEF28A9A756AB16A2A367F5A51DDCF6E2D3D01EF8824BBB70 + 6316944972E8F50D9CD099EBC6D51E54E525BB9BCF05E99C6C7E3E173F0A8121 + E120752D7D211FDF7ED3C6B64276F1EC736B71EA640BAB2B89CD134290CE7E65 + E0B5244E142450141E7718A0B2A3F2237F2440F2469A171464E0E2C5EB023840 + 802D232FEF31343777719992671228F925CDE99A82D6D35AD58A781CAADEEE6E + 3E17241DAA8D46130C977A5841F7EEDB01DDE106367802786F7F39DEDD57CB0F + 4F66AFD95584EAFD47597973D7A78BC341D2BF0EE894EBD6776D9ED593C1C141 + 3CB1581679248FA37EB35A975875E9204007025251A93490FB96BE4828FEBBD6 + 398F9A19F71CC8DF0C5D8E7B4FF3FF080CF487427CBD7842481CB43D5E1E925F + 3FF8C4FB21BF4EC9F27E4843A9C6FB217DA2277D02B231B3C0FB217D4278FA4F + D6793FA44FF4E49FE75BBD1FD2277AD21720FF069A073A277FD5E8B800000000 + 49454E44AE426082} + Stretch = True Visible = False - StyleElements = [seClient, seBorder] - OnClick = LanguageLblClick + OnClick = LanguageImgClick end object PresentationCbx: TComboBox Left = 41 diff --git a/config/ConfigFormUnit.h b/config/ConfigFormUnit.h index 45e9c39..689f83f 100644 --- a/config/ConfigFormUnit.h +++ b/config/ConfigFormUnit.h @@ -11,6 +11,7 @@ #include #include #include +#include //--------------------------------------------------------------------------- class TConfigForm : public TForm { @@ -60,7 +61,7 @@ __published: // Von der IDE verwaltete Komponenten TPaintBox *RendererPbox; TPaintBox *ShaderPbox; TPaintBox *MaxgameticksPbox; - TLabel *LanguageLbl; + TImage *LanguageImg; void __fastcall DisplayBtnClick(TObject *Sender); void __fastcall AdvancedBtnClick(TObject *Sender); void __fastcall CompatibilityBtnClick(TObject *Sender); @@ -83,7 +84,7 @@ __published: // Von der IDE verwaltete Komponenten void __fastcall FixpitchChkClick(TObject *Sender); void __fastcall NonexclusiveChkClick(TObject *Sender); void __fastcall PboxPaint(TObject *Sender); - void __fastcall LanguageLblClick(TObject *Sender); + void __fastcall LanguageImgClick(TObject *Sender); private: // Benutzer-Deklarationen void SaveSettings(); bool GetBool(TIniFile *ini, System::UnicodeString key, bool defValue); diff --git a/config/Resources/CN.png b/config/Resources/CN.png new file mode 100644 index 0000000000000000000000000000000000000000..8c1a9ca55fc33a3a98c5a80acf423d4a06832ef1 GIT binary patch literal 531 zcmV+u0_^>XP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGh)&Kwv)&Y=jd7JWPGG(yeq}l@txhZCZ)tE+$>i|`@5zBWVD&tq!W2F7s>ck?12! z>+j*!S2U9nR3V!5z!HC&iAib&31_z*)bGfyhPx9B_oqdOXAQc=E1H<3wdTR7NLZ_0 zI5UiR(t@hm)}i)AZ#Z^h?XHC-KS)1y3nik{$`m{uiB*hzo zWTiWP)7VFd=?Kj3w^3aAOwheD(LA)_wSI0CCE8DwgV^n=L>|uy;i$(0jiUq=oPvr( z)}&3ls@K$Udqn9`joM}VMmW002ovPDHLkV1i#k>cs#6 literal 0 HcmV?d00001 diff --git a/config/Resources/DE.png b/config/Resources/DE.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d757a78d2017cefc38deffa008866850ed52aa GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^mOw1W!3HF!ZQRBUq!^2X+?^QKos)S9a~60+76Ub317XGq`IU2kf+3zRjv*25Z?7#BWia4467b^R?$YLUPQJQd zpFEXj(R#OO)uPEW{}xa9syAz*h+B|^XQIl{@{cm&=Vc(A)`=qbj|$&DYTO2sc0R(o XG@AFJOU51}p!p1*u6{1-oD!M<4sAX1 literal 0 HcmV?d00001 diff --git a/config/Resources/ES.png b/config/Resources/ES.png new file mode 100644 index 0000000000000000000000000000000000000000..116e81d3c0c88d12e96df0ed30c07e875bdd069a GIT binary patch literal 682 zcmV;b0#*HqP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGh)&Kwv)&Y=jd7Jf=9B_Mro)?T)j1tN2FF~aNPFtX@7^IyJ&Wt2^>;{LfT*bO@n@&e(zN+K8 zL6Aa}Nb0)3EsK-H5*l+alC+LEY|I(xLz5WO*I3!ShaQcf74KshL6Aa}NUksHEI(^A z`!v3o;Woe2!{kHGm8A35hu(;3o`Z4Eu{VcnX*Dye_-D3NT&{b#W@$!g2= zS1Q|U6C#J6D`5QaQ%Gi*I(}cROe10S`cVQ`Wi&4VOJFB;iuN$2!BcLP(sN;A(R{xc7Y`P23Bj*F0dO@ Q(f|Me07*qoM6N<$f+poRrvLx| literal 0 HcmV?d00001 diff --git a/config/Resources/US.png b/config/Resources/US.png new file mode 100644 index 0000000000000000000000000000000000000000..a2eff5a748e43c580b887bfc41d566545529d29b GIT binary patch literal 1307 zcmV+$1?2jPP)1A>dqFWpv52V(xC&7!B{6}d;sYQw zqJYJS51Jr6+0w*ITkOHOH7+NTm(r)Q>%kFmXJ2O5s+Yn!k$yoTF&VS~d zFZuGF|K$j!CDp3YXdoJmk-)!+6YKQY7;A?AKnoB7R;@0hsCe%92T^4678g#Z9RNu( z@$QZ_NRkNvr_;{nEiOb+1fZyRE~{3TO%UG6r49Es%V*tC|!tk(<`yWWB&pnLEWF#02lX>5C2Kq+<6-i10AQ%jzs$fqsvgh?OO^DP3 z`28VNRb}~#g$ZD<+Es z7v%i;cD&vo7K?=6AENd0bpnAf7K?<}JN{pm6)YBs!NF1d{valkfjhb6zFS;=YnOJM zOavR>T)_{gT4-zQLa*1cdv_JJwO`=%2C!O_si|4bwrzF9<1%@9S(Gg<;Ny>u08mj; z0zhNq?*L>dA=X8@v?FrCf`@RshZz{~Ac`Wz#dB$G9e2-Y)KgeEhvw#XqR}|X$w}nr z&*sdTKT#Bg^mH2zhn<#|s{j-fBS|Le>Njbpg%}JvQY{jSq7sS3u-Q@(MFCls z2?WB-%9=qS5Jr||L{Y$IOC=JCp(rY;772qvhb$||vNFM?xfTK-2mli=rm3kJfSCrF z>a?(SM5axjf@j1>TG|vsp$KNPiT-{MS+i%-b8~=c)2xh)c*(pkov!PBWMtST_6-f) z#x~7@A}ixpLnq=H@nH}9G&Aw&0iIn}M6Y{@lP4~q(}}#XaXAOS`iYK?9#T@wY~A`Y zH8u5gUGF0|Hxt)OPf+{b=XkvVo?0>=rz4H}`X&I@t}Un6Jw*GtHnLxMReRO-x#vqc z-`tMdJ&azjW95sB`0m@Y_=ZU-PI z$ElgZqX#gXO@u-bx^MIoi^V76!2!?2wM@kExQy9sA{L9&eWRbmd5_1>om@&J%2-#o zcATty?P)qY-JJfd4N(+$d;2TYecD8C?+|9Qi5)vDd1reAp-=>;GmWZsRaGWA^jALEJJ~fNe3LbQ@;hmp z_weL*@@~jUk-GrG@q)6+pOews-pTJ|_o2o~@8sPv4D_G+_1-XWuZ8?i@HZBu9|lwM Rw)Ox3002ovPDHLkV1iE7Ys&xt literal 0 HcmV?d00001 diff --git a/config/cnc-ddraw config.cbproj b/config/cnc-ddraw config.cbproj index bf6ffe5..fb62e9b 100644 --- a/config/cnc-ddraw config.cbproj +++ b/config/cnc-ddraw config.cbproj @@ -131,6 +131,22 @@ ConfigFormUnit.h 2 + + RCDATA + PngImage_CN + + + RCDATA + PngImage_DE + + + RCDATA + PngImage_ES + + + RCDATA + PngImage_US + Cfg_2 @@ -215,12 +231,36 @@ true + + + .\ + true + + + + + .\ + true + + + + + .\ + true + + cnc-ddraw_config.exe true + + + .\ + true + + true diff --git a/config/cnc-ddraw config_resources.rc b/config/cnc-ddraw config_resources.rc new file mode 100644 index 0000000..b737b81 --- /dev/null +++ b/config/cnc-ddraw config_resources.rc @@ -0,0 +1,4 @@ +PngImage_CN RCDATA "Resources\\CN.png" +PngImage_DE RCDATA "Resources\\DE.png" +PngImage_ES RCDATA "Resources\\ES.png" +PngImage_US RCDATA "Resources\\US.png"