@@ -53,21 +53,68 @@ namespace CTRPluginFramework {
5353 return false ;
5454 }
5555
56+ Lang currLang = Lang::ENG;
57+
58+ void LangFile (Lang lang) {
59+ File file (path + " /Lang.txt" );
60+ string language;
61+
62+ if (File::Exists (path + " /Lang.txt" ) == 1 )
63+ File::Remove (path + " /Lang.txt" );
64+
65+ if (File::Exists (path + " /Lang.txt" ) == 0 )
66+ File::Create (path + " /Lang.txt" );
67+
68+ if (lang == Lang::ENG)
69+ language = " English" ;
70+
71+ if (lang == Lang::FRE)
72+ language = " Francais" ;
73+
74+ if (File::Exists (path + " /Lang.txt" ) == 1 ) {
75+ LineWriter writeFile (file);
76+ writeFile << language;
77+ writeFile.Flush ();
78+ writeFile.Close ();
79+ Message::Completed ();
80+ Process::ReturnToHomeMenu ();
81+ }
82+ }
83+
5684 void Settings (MenuEntry *entry) {
57- static const vector<string> options = {" Reset" };
85+ static const vector<string> options = {" Language " , " Reset" };
5886 KeyboardPlus keyboard;
5987 int settings;
6088
6189 if (keyboard.SetKeyboard (entry->Name () + " :" , true , options, settings) != -1 ) {
62- if (MessageBox (CenterAlign (" Would you like to reset settings?" ), DialogType::DialogYesNo, ClearScreen::Both)()) {
63- if (File::Exists (" Data.bin" )) {
64- File::Remove (" Data.bin" );
65- Message::Completed ();
66- Process::ReturnToHomeMenu ();
67- return ;
90+ if (settings == 0 ) {
91+ static const vector<string> langOption = {" English" , " French" };
92+ int chooseLang;
93+
94+ if (keyboard.SetKeyboard (" Language:\n\n Note: changing language will require a restart of the game!" , true , langOption, chooseLang) != -1 ) {
95+ if (chooseLang == 0 ) {
96+ LangFile (Lang::ENG);
97+ return ;
98+ }
99+
100+ if (chooseLang == 1 ) {
101+ LangFile (Lang::FRE);
102+ return ;
103+ }
68104 }
105+ }
106+
107+ if (settings == 1 ) {
108+ if (MessageBox (CenterAlign (" Would you like to reset settings?" ), DialogType::DialogYesNo, ClearScreen::Both)()) {
109+ if (File::Exists (" Data.bin" )) {
110+ File::Remove (" Data.bin" );
111+ Message::Completed ();
112+ Process::ReturnToHomeMenu ();
113+ return ;
114+ }
69115
70- Message::Warning ();
116+ Message::Warning ();
117+ }
71118 }
72119 }
73120 }
0 commit comments