From a0c87cc1fffc70c14f0580bfc5b4ef780c63824e Mon Sep 17 00:00:00 2001 From: giantpune Date: Tue, 16 Jun 2009 13:42:52 +0000 Subject: [PATCH] added custom path for replacement dol. added a few entries into language.h & cpp made title tooltips on the gamewall transparent. made a readmii file. --- readMii.doc | Bin 0 -> 64512 bytes source/language/language.c | 25 ++++++++++++++---- source/language/language.h | 5 +++- source/libwiigui/gui_gamegrid.cpp | 2 ++ source/settings/Settings.cpp | 29 +++++++++++++++++++++ source/settings/cfg.c | 6 +++++ source/settings/cfg.h | 1 + source/usbloader/apploader.c | 9 +++++-- source/xml/xml.h | 42 +++++++++++++++--------------- 9 files changed, 90 insertions(+), 29 deletions(-) create mode 100644 readMii.doc diff --git a/readMii.doc b/readMii.doc new file mode 100644 index 0000000000000000000000000000000000000000..6ca0891a729356108c6202678732830dd25ea2be GIT binary patch literal 64512 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, ALIGN_TOP); titleTT->SetPosition(-100,0); + titleTT->SetAlpha(175); // if (Settings.wsprompt == yes) // installBtnTT.SetWidescreen(CFG.widescreen); @@ -1355,6 +1356,7 @@ void GuiGameGrid::Update(GuiTrigger * t) if (selected!=selectedOld){ delete titleTT; titleTT = new GuiTooltip(titlebuffer); + titleTT->SetAlpha(175); wait=0;wait1=0; } selectedOld=selected; diff --git a/source/settings/Settings.cpp b/source/settings/Settings.cpp index 4a165e3d..8ff54c73 100644 --- a/source/settings/Settings.cpp +++ b/source/settings/Settings.cpp @@ -1191,6 +1191,7 @@ int MenuSettings() options2.SetName(3, "%s", LANGUAGE.Titlestxtpath); options2.SetName(4, "%s", LANGUAGE.Updatepath); options2.SetName(5, "%s", LANGUAGE.Cheatcodespath); + options2.SetName(6, "%s", LANGUAGE.DolPath); for(int i = 0; i <= MAXOPTIONS; i++) options2.SetValue(i, NULL); w.Append(&optionBrowser2); optionBrowser2.SetClickable(true); @@ -1212,6 +1213,7 @@ int MenuSettings() options2.SetValue(3, "%s", Settings.titlestxt_path); options2.SetValue(4, "%s", Settings.update_path); options2.SetValue(5, "%s", Settings.Cheatcodespath); + options2.SetValue(6, "%s", Settings.dolpath); if(backBtn.GetState() == STATE_CLICKED) { @@ -1438,6 +1440,33 @@ int MenuSettings() else WindowPrompt(0,LANGUAGE.Consoleshouldbeunlockedtomodifyit,LANGUAGE.ok,0,0,0); break; + case 6: + if ( Settings.godmode == 1) + { + w.Remove(&optionBrowser2); + w.Remove(&backBtn); + char entered[43] = ""; + strncpy(entered, Settings.dolpath, sizeof(entered)); + int result = OnScreenKeyboard(entered,43,0); + w.Append(&optionBrowser2); + w.Append(&backBtn); + if ( result == 1 ) + { + int len = (strlen(entered)-1); + if(entered[len] !='/') + strncat (entered, "/", 1); + strncpy(Settings.dolpath, entered, sizeof(Settings.dolpath)); + WindowPrompt(LANGUAGE.DolpathChanged,0,LANGUAGE.ok,0,0,0); +// if(!isSdInserted()) { + if(!isInserted(bootDevice)) { + WindowPrompt(LANGUAGE.NoSDcardinserted, LANGUAGE.InsertaSDCardtosave, LANGUAGE.ok, 0,0,0); + } + } + } else { + WindowPrompt(LANGUAGE.Dolpathchange,LANGUAGE.Consoleshouldbeunlockedtomodifyit,LANGUAGE.ok,0,0,0); + } + break; + } } /** If not godmode don't let him inside **/ diff --git a/source/settings/cfg.c b/source/settings/cfg.c index ad6576ef..c1a898b9 100644 --- a/source/settings/cfg.c +++ b/source/settings/cfg.c @@ -223,6 +223,7 @@ void CFG_Default(int widescreen) // -1 = non forced Mode snprintf(Settings.oggload_path, sizeof(Settings.oggload_path), "%s/config/backgroundmusic/", bootDevice); snprintf(Settings.update_path, sizeof(Settings.update_path), "%s/apps/usbloader_gx/", bootDevice); snprintf(Settings.Cheatcodespath, sizeof(Settings.Cheatcodespath), "%s/codes/", bootDevice); + snprintf(Settings.dolpath, sizeof(Settings.dolpath), "%s/", bootDevice); sprintf(Settings.ogg_path, "notset"); //all alignments are left top here @@ -490,6 +491,10 @@ void path_set(char *name, char *val) strcopy(Settings.oggload_path, val, sizeof(Settings.oggload_path)); return; } + if (strcmp(name, "dolpath") == 0) { + strcopy(Settings.dolpath, val, sizeof(Settings.dolpath)); + return; + } if (strcmp(name, "ogg_path") == 0) { strcopy(Settings.ogg_path, val, sizeof(Settings.ogg_path)); return; @@ -1212,6 +1217,7 @@ bool cfg_save_global()// save global settings } else { fprintf(f, "godmode = %d\n ", 0); } + fprintf(f, "dolpath = %s\n ", Settings.dolpath); fprintf(f, "ogg_path = %s\n ", Settings.ogg_path); fprintf(f, "wiilight = %d\n ", Settings.wiilight); fprintf(f, "gameDisplay = %d\n ", Settings.gameDisplay); diff --git a/source/settings/cfg.h b/source/settings/cfg.h index 342d2002..ef58b3bf 100644 --- a/source/settings/cfg.h +++ b/source/settings/cfg.h @@ -334,6 +334,7 @@ struct SSettings { char languagefiles_path[100]; char oggload_path[100]; char ogg_path[150]; + char dolpath[150]; char update_path[150]; char Cheatcodespath[100]; int titlesOverride; diff --git a/source/usbloader/apploader.c b/source/usbloader/apploader.c index 73dceaeb..c2f4967f 100644 --- a/source/usbloader/apploader.c +++ b/source/usbloader/apploader.c @@ -9,6 +9,7 @@ #include "wpad.h" #include "disc.h" #include "alternatedol.h" +#include "settings/cfg.h" /*KENOBI! - FISHEARS*/ extern const unsigned char kenobiwii[]; @@ -30,7 +31,7 @@ static u8 *appldr = (u8 *)0x81200000; /* Variables */ static u32 buffer[0x20] ATTRIBUTE_ALIGN(32); - +struct SSettings Settings; static void __noprint(const char *fmt, ...) { @@ -340,7 +341,11 @@ s32 Apploader_Run(entry_point *entry, u8 cheat, u8 videoSelected, u8 vipatch, u8 if(alternatedol == 1) { void *dolbuffer; int dollen; - char * path = "SD:/"; + + char * path = Settings.dolpath; + //snprintf(path, sizeof(path), Settings.dolpath); + + //char * path = "SD:/"; bool dolloaded = Load_Dol(&dolbuffer, &dollen, path); if(dolloaded) { Remove_001_Protection(dolbuffer, dollen); diff --git a/source/xml/xml.h b/source/xml/xml.h index 00e2a345..203000cc 100644 --- a/source/xml/xml.h +++ b/source/xml/xml.h @@ -12,33 +12,33 @@ extern "C" struct gameXMLinfo { - char id[10]; - char version[500]; + char id[8]; + char version[50]; char region[10]; - char title[500]; + char title[100]; char synopsis[2000]; - char title_EN[500]; + char title_EN[100]; char synopsis_EN[2000]; - char locales[100][500]; - char developer[500]; - char publisher[500]; - char publisherfromid[500]; + char locales[15][50]; + char developer[75]; + char publisher[75]; + char publisherfromid[75]; char year[10]; char month[10]; char day[10]; - char genre[500]; - char genresplit[100][500]; - char ratingtype[10]; - char ratingvalue[10]; - char ratingdescriptors[100][500]; - char ratingvalueCERO[10]; - char ratingvalueESRB[10]; - char ratingvaluePEGI[10]; - char wifiplayers[10]; - char wififeatures[100][500]; - char players[10]; - char accessories[100][500]; - char accessories_required[100][500]; + char genre[40]; + char genresplit[10][15]; + char ratingtype[6]; + char ratingvalue[6]; + char ratingdescriptors[20][15]; + char ratingvalueCERO[6]; + char ratingvalueESRB[6]; + char ratingvaluePEGI[6]; + char wifiplayers[4]; + char wififeatures[10][15]; + char players[4]; + char accessories[10][15]; + char accessories_required[10][15]; char iso_crc[10]; char iso_md5[50]; char iso_sha1[50];