@@ -56,7 +56,7 @@ void SettingsTab::DrawMenu(const SettingsTab::SubMenu M, const int AddOffs) {
5656 StackMill3DS::App->GData ->DrawStone (Idx, this ->XPos [Idx] + Tab::SettingsOffset, 45 + AddOffs);
5757 }
5858
59- StackMill3DS::App->GData ->DrawSprite (sprites_selector_0_idx + SettingsTab::StoneColors[2 ], this ->XPos [SettingsTab::StoneColors[0 ]] + Tab::SettingsOffset, 45 + AddOffs);
59+ StackMill3DS::App->GData ->DrawSprite (sprites_selector_0_idx + SettingsTab::StoneColors[0 ], this ->XPos [SettingsTab::StoneColors[0 ]] + Tab::SettingsOffset, 45 + AddOffs);
6060 if (this ->SelectedOption == 0 ) Gui::drawGrid (5 + Tab::SettingsOffset, 25 + AddOffs, 310 , 50 , BAR_COLOR_OUTLINE);
6161
6262 /* Player 2 Stone Color. */
@@ -65,7 +65,7 @@ void SettingsTab::DrawMenu(const SettingsTab::SubMenu M, const int AddOffs) {
6565 StackMill3DS::App->GData ->DrawStone (Idx, this ->XPos [Idx] + Tab::SettingsOffset, 100 + AddOffs);
6666 }
6767
68- StackMill3DS::App->GData ->DrawSprite (sprites_selector_0_idx + SettingsTab::StoneColors[2 ], this ->XPos [SettingsTab::StoneColors[1 ]] + Tab::SettingsOffset, 100 + AddOffs);
68+ StackMill3DS::App->GData ->DrawSprite (sprites_selector_0_idx + SettingsTab::StoneColors[1 ], this ->XPos [SettingsTab::StoneColors[1 ]] + Tab::SettingsOffset, 100 + AddOffs);
6969 if (this ->SelectedOption == 1 ) Gui::drawGrid (5 + Tab::SettingsOffset, 80 + AddOffs, 310 , 50 , BAR_COLOR_OUTLINE);
7070
7171 /* Possibly Play Color. */
@@ -83,7 +83,7 @@ void SettingsTab::DrawMenu(const SettingsTab::SubMenu M, const int AddOffs) {
8383 StackMill3DS::App->GData ->DrawStone (4 , this ->XPos [5 ] - 15 + Tab::SettingsOffset, 210 + AddOffs); // Yellow.
8484 StackMill3DS::App->GData ->DrawStone (7 , this ->XPos [6 ] - 15 + Tab::SettingsOffset, 210 + AddOffs); // Green.
8585
86- StackMill3DS::App->GData ->DrawSprite (sprites_selector_0_idx + SettingsTab::StoneColors[ 2 ] , this ->XPos [4 + SettingsTab::AI] - 15 + Tab::SettingsOffset, 210 + AddOffs);
86+ StackMill3DS::App->GData ->DrawSprite (sprites_selector_0_idx + this -> AIModeClr () , this ->XPos [4 + SettingsTab::AI] - 15 + Tab::SettingsOffset, 210 + AddOffs);
8787 if (this ->SelectedOption == 3 ) Gui::drawGrid (5 + Tab::SettingsOffset, 190 + AddOffs, 310 , 45 , BAR_COLOR_OUTLINE);
8888 break ;
8989
@@ -97,13 +97,13 @@ void SettingsTab::DrawMenu(const SettingsTab::SubMenu M, const int AddOffs) {
9797 else ClrIdx = 0 ;
9898
9999 StackMill3DS::App->GData ->DrawStone (ClrIdx, this ->LanguagePos [Lang].x + Tab::SettingsOffset, this ->LanguagePos [Lang].y + AddOffs);
100- if (this ->Language == Lang) StackMill3DS::App->GData ->DrawSprite (sprites_selector_0_idx + SettingsTab::StoneColors[ 2 ] , this ->LanguagePos [Lang].x + Tab::SettingsOffset, this ->LanguagePos [Lang].y + AddOffs);
100+ if (this ->Language == Lang) StackMill3DS::App->GData ->DrawSprite (sprites_selector_0_idx + ClrIdx , this ->LanguagePos [Lang].x + Tab::SettingsOffset, this ->LanguagePos [Lang].y + AddOffs);
101101 }
102102
103- Gui::DrawString (this ->LanguagePos [0 ].x + 25 + Tab::SettingsOffset, this ->LanguagePos [0 ].y - 1 + AddOffs, 0 .6f , TEXT_BG_COLOR, " English " );
104- Gui::DrawString (this ->LanguagePos [1 ].x + 25 + Tab::SettingsOffset, this ->LanguagePos [1 ].y - 1 + AddOffs, 0 .6f , TEXT_BG_COLOR, " Deutsch " );
105- Gui::DrawString (this ->LanguagePos [2 ].x + 25 + Tab::SettingsOffset, this ->LanguagePos [2 ].y - 1 + AddOffs, 0 .6f , TEXT_BG_COLOR, " 日本語 " );
106- Gui::DrawString (this ->LanguagePos [3 ].x + 25 + Tab::SettingsOffset, this ->LanguagePos [3 ].y - 1 + AddOffs, 0 .6f , TEXT_BG_COLOR, " Italiano " );
103+ Gui::DrawString (this ->LanguagePos [0 ].x + 25 + Tab::SettingsOffset, this ->LanguagePos [0 ].y - 1 + AddOffs, 0 .6f , TEXT_BG_COLOR, " Deutsch " );
104+ Gui::DrawString (this ->LanguagePos [1 ].x + 25 + Tab::SettingsOffset, this ->LanguagePos [1 ].y - 1 + AddOffs, 0 .6f , TEXT_BG_COLOR, " English " );
105+ Gui::DrawString (this ->LanguagePos [2 ].x + 25 + Tab::SettingsOffset, this ->LanguagePos [2 ].y - 1 + AddOffs, 0 .6f , TEXT_BG_COLOR, " Italiano " );
106+ Gui::DrawString (this ->LanguagePos [3 ].x + 25 + Tab::SettingsOffset, this ->LanguagePos [3 ].y - 1 + AddOffs, 0 .6f , TEXT_BG_COLOR, " 日本語 " );
107107 break ;
108108 }
109109
@@ -152,7 +152,7 @@ void SettingsTab::MainHandle() {
152152 if (this ->MainPos [Idx - 1 ].Touched (StackMill3DS::App->T )) {
153153 this ->Menu = (SettingsTab::SubMenu)Idx;
154154 this ->In = true , this ->SelectedOption = 0 ;
155- if (this ->Menu == SettingsTab::SubMenu::Language) this ->Language = StackMill3DS::App-> LH -> GetLang ();
155+ if (this ->Menu == SettingsTab::SubMenu::Language) this ->Language = this -> LangHandlerToSelection ();
156156 SettingsTab::Swipe = true ;
157157 break ;
158158 }
@@ -169,7 +169,7 @@ void SettingsTab::MainHandle() {
169169
170170 case 1 :
171171 this ->Menu = SettingsTab::SubMenu::Language;
172- this ->In = true , this ->Language = StackMill3DS::App-> LH -> GetLang ();
172+ this ->In = true , this ->Language = this -> LangHandlerToSelection ();
173173 SettingsTab::Swipe = true ;
174174 break ;
175175
@@ -191,6 +191,16 @@ void SettingsTab::MainHandle() {
191191};
192192
193193
194+ int8_t SettingsTab::AIModeClr () const {
195+ switch (SettingsTab::AI) {
196+ default :
197+ case 0 : return 9 ; // Mode 0 => Red.
198+ case 1 : return 4 ; // Mode 1 => Yellow.
199+ case 2 : return 7 ; // Mode 2 => Green.
200+ }
201+ };
202+
203+
194204void SettingsTab::GameSettingsHandle () {
195205 if (StackMill3DS::App->Down & KEY_B) {
196206 this ->In = false , this ->SelectedOption = 0 ;
@@ -267,6 +277,28 @@ void SettingsTab::GameSettingsHandle() {
267277};
268278
269279
280+ int8_t SettingsTab::LangHandlerToSelection () const {
281+ switch (StackMill3DS::App->LH ->GetLangEnum ()) {
282+ case LangHandler::Langs::German: return 0 ;
283+ default :
284+ case LangHandler::Langs::English: return 1 ;
285+ case LangHandler::Langs::Italian: return 2 ;
286+ case LangHandler::Langs::Japanese: return 3 ;
287+ }
288+ };
289+
290+
291+ int8_t SettingsTab::SelectionToLangHandler (const int8_t Slt) const {
292+ switch (Slt) {
293+ case 0 : return 1 ; // German.
294+ default :
295+ case 1 : return 0 ; // English.
296+ case 2 : return 3 ; // Italian.
297+ case 3 : return 2 ; // Japanese.
298+ }
299+ };
300+
301+
270302void SettingsTab::LanguageHandle () {
271303 if (StackMill3DS::App->Down & KEY_B) {
272304 this ->In = false , this ->SelectedOption = 1 ;
@@ -283,7 +315,7 @@ void SettingsTab::LanguageHandle() {
283315
284316 if (StackMill3DS::App->Down & KEY_A) {
285317 /* Load Language. */
286- StackMill3DS::App->LH ->LoadLang ((LangHandler::Langs)this ->Language );
318+ StackMill3DS::App->LH ->LoadLang ((LangHandler::Langs)this ->SelectionToLangHandler ( this -> Language ) );
287319 StackMill3DS::App->ConfigChanged ();
288320
289321 this ->In = false , this ->SelectedOption = 1 ;
@@ -296,7 +328,7 @@ void SettingsTab::LanguageHandle() {
296328 this ->Language = Idx;
297329
298330 /* Load Language. */
299- StackMill3DS::App->LH ->LoadLang ((LangHandler::Langs)this ->Language );
331+ StackMill3DS::App->LH ->LoadLang ((LangHandler::Langs)this ->SelectionToLangHandler ( this -> Language ) );
300332 StackMill3DS::App->ConfigChanged ();
301333
302334 this ->In = false , this ->SelectedOption = 1 ;
0 commit comments