diff --git a/source/language/language.c b/source/language/language.c index db015eaa..a00cb00a 100644 --- a/source/language/language.c +++ b/source/language/language.c @@ -40,7 +40,7 @@ snprintf(LANGUAGE.t3Covers, sizeof(LANGUAGE.t3Covers), "3D Covers"); snprintf(LANGUAGE.Areyousure, sizeof(LANGUAGE.Areyousure), "Are you sure?"); snprintf(LANGUAGE.available, sizeof(LANGUAGE.available), "available"); snprintf(LANGUAGE.AutoPatch, sizeof(LANGUAGE.AutoPatch), "AutoPatch"); -snprintf(LANGUAGE.Always, sizeof(LANGUAGE.Always), "0 (Always)"); +snprintf(LANGUAGE.Adultsonly, sizeof(LANGUAGE.Adultsonly), "4 (Adults Only 18+)"); snprintf(LANGUAGE.awesometool, sizeof(LANGUAGE.awesometool), "for his awesome tool"); snprintf(LANGUAGE.Back, sizeof(LANGUAGE.Back), "Back"); snprintf(LANGUAGE.Backgroundmusic, sizeof(LANGUAGE.Backgroundmusic), "Backgroundmusic"); @@ -56,6 +56,7 @@ snprintf(LANGUAGE.Cantbeformated, sizeof(LANGUAGE.Cantbeformated), "Can't be for snprintf(LANGUAGE.CheckingforUpdates, sizeof(LANGUAGE.CheckingforUpdates), "Checking for Updates"); snprintf(LANGUAGE.Cantdelete, sizeof(LANGUAGE.Cantdelete), "Can't delete:"); snprintf(LANGUAGE.ClicktoDownloadCovers, sizeof(LANGUAGE.ClicktoDownloadCovers), "Click to Download Covers"); +snprintf(LANGUAGE.Child, sizeof(LANGUAGE.Child), "1 (Child 7+)"); snprintf(LANGUAGE.Clock, sizeof(LANGUAGE.Clock), "Clock"); snprintf(LANGUAGE.Close, sizeof(LANGUAGE.Close), "Close"); snprintf(LANGUAGE.Continueinstallgame, sizeof(LANGUAGE.Continueinstallgame), "Continue to install game?"); @@ -102,6 +103,7 @@ snprintf(LANGUAGE.Homemenu, sizeof(LANGUAGE.Homemenu), "HOME Menu"); snprintf(LANGUAGE.BOOTERROR, sizeof(LANGUAGE.BOOTERROR), "BOOT ERROR"); snprintf(LANGUAGE.ErrorreadingDisc, sizeof(LANGUAGE.ErrorreadingDisc), "Error reading Disc"); snprintf(LANGUAGE.ExitUSBISOLoader, sizeof(LANGUAGE.ExitUSBISOLoader), "Exit USB Loader GX?"); +snprintf(LANGUAGE.Everyone, sizeof(LANGUAGE.Everyone), "0 (Everyone)"); snprintf(LANGUAGE.InitializingNetwork, sizeof(LANGUAGE.InitializingNetwork), "Initializing Network"); snprintf(LANGUAGE.InsertDisk, sizeof(LANGUAGE.InsertDisk), "Insert Disk"); snprintf(LANGUAGE.InsertaWiiDisc, sizeof(LANGUAGE.InsertaWiiDisc), "Insert a Wii Disc!"); @@ -153,7 +155,7 @@ snprintf(LANGUAGE.Locked, sizeof(LANGUAGE.Locked), "Locked"); snprintf(LANGUAGE.LockConsole, sizeof(LANGUAGE.LockConsole), "Lock Console"); snprintf(LANGUAGE.Patchcountrystrings, sizeof(LANGUAGE.Patchcountrystrings), "Patch Country Strings"); snprintf(LANGUAGE.Missingfiles, sizeof(LANGUAGE.Missingfiles), "Missing files"); -snprintf(LANGUAGE.Mature, sizeof(LANGUAGE.Mature), "3 (Mature)"); +snprintf(LANGUAGE.Mature, sizeof(LANGUAGE.Mature), "3 (Mature 16+)"); snprintf(LANGUAGE.Networkiniterror, sizeof(LANGUAGE.Networkiniterror), "Network init error"); snprintf(LANGUAGE.Neither, sizeof(LANGUAGE.Neither), "Neither"); snprintf(LANGUAGE.Next, sizeof(LANGUAGE.Next), "Next"); @@ -218,6 +220,7 @@ snprintf(LANGUAGE.Successfullyupdated, sizeof(LANGUAGE.Successfullyupdated), "Su snprintf(LANGUAGE.Successfullydeleted, sizeof(LANGUAGE.Successfullydeleted), "Successfully deleted:"); snprintf(LANGUAGE.SuccessfullySaved, sizeof(LANGUAGE.SuccessfullySaved), "Successfully Saved"); snprintf(LANGUAGE.SystemDefault, sizeof(LANGUAGE.SystemDefault), "System Default"); +snprintf(LANGUAGE.Teen, sizeof(LANGUAGE.Teen), "2 (Teen 12+)"); snprintf(LANGUAGE.Thanksto, sizeof(LANGUAGE.Thanksto), "Big thanks to:"); snprintf(LANGUAGE.ThemePath, sizeof(LANGUAGE.ThemePath), "ThemePath"); snprintf(LANGUAGE.ThemepathChanged, sizeof(LANGUAGE.ThemepathChanged), "Themepath Changed"); @@ -303,6 +306,10 @@ void language_set(char *name, char *val) strcopy(LANGUAGE.all, val, sizeof(LANGUAGE.all)); return; } + if (strcmp(name, "Teen") == 0) { + strcopy(LANGUAGE.Teen, val, sizeof(LANGUAGE.Teen)); + return; + } if (strcmp(name, "Specialthanksto") == 0) { strcopy(LANGUAGE.Specialthanksto, val, sizeof(LANGUAGE.Specialthanksto)); return; @@ -323,8 +330,8 @@ void language_set(char *name, char *val) strcopy(LANGUAGE.AutoPatch, val, sizeof(LANGUAGE.AutoPatch)); return; } - if (strcmp(name, "Always") == 0) { - strcopy(LANGUAGE.Always, val, sizeof(LANGUAGE.Always)); + if (strcmp(name, "Adultsonly") == 0) { + strcopy(LANGUAGE.Adultsonly, val, sizeof(LANGUAGE.Adultsonly)); return; } if (strcmp(name, "awesometool") == 0) { @@ -555,6 +562,10 @@ void language_set(char *name, char *val) strcopy(LANGUAGE.ExitUSBISOLoader, val, sizeof(LANGUAGE.ExitUSBISOLoader)); return; } + if (strcmp(name, "Everyone") == 0) { + strcopy(LANGUAGE.Everyone, val, sizeof(LANGUAGE.Everyone)); + return; + } if (strcmp(name, "fave") == 0) { strcopy(LANGUAGE.fave, val, sizeof(LANGUAGE.fave)); return; diff --git a/source/language/language.h b/source/language/language.h index 211c3d3e..df51d486 100644 --- a/source/language/language.h +++ b/source/language/language.h @@ -36,7 +36,7 @@ struct LANGUAGE char available[20]; char Areyousure[50]; char AutoPatch[30]; - char Always[50]; + char Adultsonly[50]; char awesometool[50]; char Back[20]; char Backgroundmusic[80]; @@ -52,6 +52,7 @@ struct LANGUAGE char Cantdelete[50]; char CheckingforUpdates[40]; char ClicktoDownloadCovers[50]; + char Child[40]; char Clock[20]; char Close[20]; char Continueinstallgame[50]; @@ -96,6 +97,7 @@ struct LANGUAGE char BOOTERROR[50]; char ErrorreadingDisc[50]; char ExitUSBISOLoader[50]; + char Everyone[50]; char InitializingNetwork[50]; char InsertDisk[50]; char InsertaWiiDisc[50]; @@ -216,6 +218,7 @@ struct LANGUAGE char Successfullydeleted[60]; char SuccessfullySaved[50]; char SystemDefault[50]; + char Teen[50]; char Thanksto[50]; char ThemePath[50]; char ThemepathChanged[50]; diff --git a/source/menu.cpp b/source/menu.cpp index 0dc1b31b..1986db0c 100644 --- a/source/menu.cpp +++ b/source/menu.cpp @@ -1827,6 +1827,7 @@ int MainMenu(int menu) fix002 = game_cfg->errorfix002; onlinefix = game_cfg->onlinegame; iosChoice = game_cfg->ios; + countrystrings = game_cfg->patchcountrystrings; } else { videoChoice = Settings.video; languageChoice = Settings.language; @@ -1837,8 +1838,9 @@ int MainMenu(int menu) } else { iosChoice = i249; } - fix002 = off; + fix002 = Settings.error002; onlinefix = off; + countrystrings = Settings.patchcountrystrings; } int ios2; switch(iosChoice) { @@ -2000,7 +2002,7 @@ int MainMenu(int menu) break; } - ret = Disc_WiiBoot(videoselected, cheat, vipatch, Settings.patchcountrystrings, errorfixer002); + ret = Disc_WiiBoot(videoselected, cheat, vipatch, countrystrings, errorfixer002); if (ret < 0) { Sys_LoadMenu(); } diff --git a/source/settings/Settings.cpp b/source/settings/Settings.cpp index 5226051d..e5443974 100644 --- a/source/settings/Settings.cpp +++ b/source/settings/Settings.cpp @@ -717,6 +717,7 @@ int MenuSettings() options2.SetName(4, "Ocarina"); options2.SetName(5,"%s", LANGUAGE.BootStandard); options2.SetName(6, "%s",LANGUAGE.QuickBoot); + options2.SetName(7, "%s",LANGUAGE.Error002fix); for(int i = 0; i <= MAXOPTIONS; i++) options2.SetValue(i, NULL); w.Append(&optionBrowser2); optionBrowser2.SetClickable(true); @@ -743,6 +744,8 @@ int MenuSettings() Settings.cios = 0; if ( Settings.language >= settings_language_max) Settings.language = 0; + if(Settings.ocarina >= settings_off_on_max) + Settings.ocarina = 0; if (Settings.video == discdefault) options2.SetValue(0,"%s",LANGUAGE.DiscDefault); else if (Settings.video == systemdefault) options2.SetValue(0,"%s",LANGUAGE.SystemDefault); @@ -779,6 +782,9 @@ int MenuSettings() if (Settings.qboot == no) options2.SetValue(6,"%s",LANGUAGE.No); else if (Settings.qboot == yes) options2.SetValue(6,"%s",LANGUAGE.Yes); + if (Settings.error002 == no) options2.SetValue(7,"%s",LANGUAGE.No); + else if (Settings.error002 == yes) options2.SetValue(7,"%s",LANGUAGE.Yes); + if(backBtn.GetState() == STATE_CLICKED) { backBtn.ResetState(); @@ -842,6 +848,9 @@ int MenuSettings() case 6: Settings.qboot++; break; + case 7: + Settings.error002++; + break; } } optionBrowser2.SetEffect(EFFECT_FADE, -20); @@ -887,7 +896,7 @@ int MenuSettings() { VIDEO_WaitVSync (); - if (Settings.parentalcontrol > 3 ) + if (Settings.parentalcontrol > 4 ) Settings.parentalcontrol = 0; if( Settings.godmode == 1 ) options2.SetValue(0, LANGUAGE.Unlocked); @@ -898,10 +907,11 @@ int MenuSettings() else options2.SetValue(1, Settings.unlockCode); if (Settings.godmode != 1) options2.SetValue(2, "********"); - else if(Settings.parentalcontrol == 0) options2.SetValue(2, "%s", LANGUAGE.OFF); - else if(Settings.parentalcontrol == 1) options2.SetValue(2, "1"); - else if(Settings.parentalcontrol == 2) options2.SetValue(2, "2"); - else if(Settings.parentalcontrol == 3) options2.SetValue(2, "3"); + else if(Settings.parentalcontrol == 0) options2.SetValue(2, LANGUAGE.Everyone); + else if(Settings.parentalcontrol == 1) options2.SetValue(2, LANGUAGE.Child); + else if(Settings.parentalcontrol == 2) options2.SetValue(2, LANGUAGE.Teen); + else if(Settings.parentalcontrol == 3) options2.SetValue(2, LANGUAGE.Mature); + else if(Settings.parentalcontrol == 4) options2.SetValue(2, LANGUAGE.Adultsonly); if(backBtn.GetState() == STATE_CLICKED) { @@ -1671,7 +1681,7 @@ int GameSettings(struct discHdr * header) strncat(gameName, "...", 3); } - customOptionList options3(9); + customOptionList options3(10); options3.SetName(0,"%s", LANGUAGE.VideoMode); options3.SetName(1,"%s", LANGUAGE.VIDTVPatch); options3.SetName(2,"%s", LANGUAGE.Language); @@ -1680,7 +1690,8 @@ int GameSettings(struct discHdr * header) options3.SetName(5,"%s", LANGUAGE.Parentalcontrol); options3.SetName(6,"%s", LANGUAGE.Error002fix); options3.SetName(7,"%s", LANGUAGE.Onlinefix); - options3.SetName(8,"%s", LANGUAGE.Defaultgamesettings); + options3.SetName(8,"%s", LANGUAGE.Patchcountrystrings); + options3.SetName(9,"%s", LANGUAGE.Defaultgamesettings); GuiSound btnSoundOver(button_over_pcm, button_over_pcm_size, SOUND_PCM, Settings.sfxvolume); GuiSound btnClick(button_click2_pcm, button_click2_pcm_size, SOUND_PCM, Settings.sfxvolume); @@ -1741,7 +1752,7 @@ int GameSettings(struct discHdr * header) deleteBtn.SetScale(0.9); deleteBtn.SetLabel(&deleteBtnTxt); - GuiCustomOptionBrowser optionBrowser3(396, 280, &options3, CFG.theme_path, "bg_options_gamesettings.png", bg_options_settings_png, 0, 200); + GuiCustomOptionBrowser optionBrowser3(396, 280, &options3, CFG.theme_path, "bg_options_gamesettings.png", bg_options_settings_png, 1, 200); optionBrowser3.SetPosition(0, 90); optionBrowser3.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); @@ -1768,6 +1779,7 @@ int GameSettings(struct discHdr * header) parentalcontrolChoice = game_cfg->parentalcontrol; fix002 = game_cfg->errorfix002; onlinefix = game_cfg->onlinegame; + countrystrings = game_cfg->patchcountrystrings; } else { @@ -1781,8 +1793,9 @@ int GameSettings(struct discHdr * header) iosChoice = i249; } parentalcontrolChoice = 0; - fix002 = off; + fix002 = Settings.error002; onlinefix = off; + countrystrings = Settings.patchcountrystrings; } int opt_lang = languageChoice; // backup language setting @@ -1822,10 +1835,11 @@ int GameSettings(struct discHdr * header) else if (iosChoice == i222) options3.SetValue(4,"222"); else if (iosChoice == i223) options3.SetValue(4,"223"); - if (parentalcontrolChoice == 0) options3.SetValue(5, LANGUAGE.Always); - else if (parentalcontrolChoice == 1) options3.SetValue(5,"1"); - else if (parentalcontrolChoice == 2) options3.SetValue(5,"2"); + if (parentalcontrolChoice == 0) options3.SetValue(5, LANGUAGE.Everyone); + else if (parentalcontrolChoice == 1) options3.SetValue(5, LANGUAGE.Child); + else if (parentalcontrolChoice == 2) options3.SetValue(5, LANGUAGE.Teen); else if (parentalcontrolChoice == 3) options3.SetValue(5, LANGUAGE.Mature); + else if (parentalcontrolChoice == 4) options3.SetValue(5, LANGUAGE.Adultsonly); if (fix002 == on) options3.SetValue(6,LANGUAGE.ON); else if (fix002 == off) options3.SetValue(6,LANGUAGE.OFF); @@ -1833,7 +1847,10 @@ int GameSettings(struct discHdr * header) if (onlinefix == on) options3.SetValue(7,LANGUAGE.ON); else if (onlinefix == off) options3.SetValue(7,LANGUAGE.OFF); - options3.SetValue(8, NULL); + if (countrystrings == on) options3.SetValue(8,LANGUAGE.ON); + else if (countrystrings == off) options3.SetValue(8,LANGUAGE.OFF); + + options3.SetValue(9, NULL); if(shutdown == 1) Sys_Shutdown(); @@ -1860,7 +1877,7 @@ int GameSettings(struct discHdr * header) iosChoice = (iosChoice + 1) % 3; break; case 5: - parentalcontrolChoice = (parentalcontrolChoice + 1) % 4; + parentalcontrolChoice = (parentalcontrolChoice + 1) % 5; break; case 6: fix002 = (fix002+1) % 2; @@ -1869,6 +1886,9 @@ int GameSettings(struct discHdr * header) onlinefix = (onlinefix+1) % 2; break; case 8: + countrystrings = (countrystrings+1) % 2; + break; + case 9: int choice = WindowPrompt(LANGUAGE.Areyousure,0,LANGUAGE.Yes,LANGUAGE.Cancel,0,0); if(choice == 1) { videoChoice = discdefault; @@ -1877,6 +1897,7 @@ int GameSettings(struct discHdr * header) ocarinaChoice = off; fix002 = off; onlinefix = off; + countrystrings = off; if(Settings.cios == ios222) { iosChoice = i222; } else { diff --git a/source/settings/cfg.c b/source/settings/cfg.c index 3f16be37..e20dd3d8 100644 --- a/source/settings/cfg.c +++ b/source/settings/cfg.c @@ -36,6 +36,7 @@ u8 viChoice = 0; u8 iosChoice = 0; u8 parentalcontrolChoice = 0; u8 fix002 = 0; +u8 countrystrings = 0; u8 onlinefix = 0; u8 xflip = 0; u8 sort = 0; @@ -360,6 +361,7 @@ void Global_Default(void) Settings.wiilight = 1; Settings.patchcountrystrings = 0; Settings.titlesOverride = 0; + Settings.error002 = 0; } @@ -985,6 +987,13 @@ void global_cfg_set(char *name, char *val) } return; } + else if (strcmp(name, "error002") == 0) { + int i; + if (sscanf(val, "%d", &i) == 1) { + Settings.error002 = i; + } + return; + } else if (strcmp(name, "titlesOverride") == 0) { int i; if (sscanf(val, "%d", &i) == 1) { @@ -1142,6 +1151,7 @@ void cfg_set_game_opt(struct Game_CFG *game, u8 *id) game->ios = iosChoice; game->parentalcontrol = parentalcontrolChoice; game->errorfix002 = fix002; + game->patchcountrystrings = countrystrings; game->onlinegame = onlinefix; } @@ -1231,6 +1241,7 @@ bool cfg_save_global()// save global settings fprintf(f, "Cheatcodespath = %s\n ", Settings.Cheatcodespath); fprintf(f, "titlesOverride = %d\n ", Settings.titlesOverride); fprintf(f, "patchcountrystrings = %d\n ", Settings.patchcountrystrings); + fprintf(f, "error002 = %d\n ", Settings.error002); fclose(f); return true; } @@ -1298,6 +1309,11 @@ void game_set(char *name, char *val) game->errorfix002 = opt_c; } } + if (strcmp("patchcountrystrings", opt_name) == 0) { + if (sscanf(opt_val, "%hd", &opt_c) == 1) { + game->patchcountrystrings = opt_c; + } + } if (strcmp("onlinegame", opt_name) == 0) { if (sscanf(opt_val, "%hd", &opt_c) == 1) { game->onlinegame = opt_c; @@ -1449,6 +1465,7 @@ bool cfg_save_games() fprintf(f, "ios:%d; ", cfg_game[i].ios); fprintf(f, "pctrl:%d; ", cfg_game[i].parentalcontrol); fprintf(f, "errorfix002:%d; ", cfg_game[i].errorfix002); + fprintf(f, "patchcountrystrings:%d; ", cfg_game[i].patchcountrystrings); fprintf(f, "onlinegame:%d;\n", cfg_game[i].onlinegame); } fprintf(f, "# END\n"); diff --git a/source/settings/cfg.h b/source/settings/cfg.h index 7f0216df..de75bc44 100644 --- a/source/settings/cfg.h +++ b/source/settings/cfg.h @@ -155,6 +155,7 @@ extern u8 iosChoice; extern u8 faveChoice; extern u8 parentalcontrolChoice; extern u8 fix002; +extern u8 countrystrings; extern u8 onlinefix; extern u8 xflip; extern u8 qboot; @@ -175,6 +176,7 @@ struct Game_CFG u8 ios; u8 parentalcontrol; u8 errorfix002; + u8 patchcountrystrings; u8 onlinegame; }; struct Game_NUM @@ -334,6 +336,7 @@ struct SSettings { char update_path[150]; char Cheatcodespath[100]; int titlesOverride; + short error002; }; void CFG_LoadGlobal(void);