diff --git a/HBC/META.XML b/HBC/META.XML index e1fb5da3..fe42ce6e 100644 --- a/HBC/META.XML +++ b/HBC/META.XML @@ -2,8 +2,8 @@ USB Loader GX USB Loader GX Team - 2.0 r1070 - 201102111742 + 2.0 r1071 + 201102120952 Loads games from USB-devices USB Loader GX is a libwiigui based USB iso loader with a wii-like GUI. You can install games to your HDDs and boot them with shorter loading times. diff --git a/source/libwiigui/gui_gamecarousel.cpp b/source/libwiigui/gui_gamecarousel.cpp index 1b895812..58d5c1de 100644 --- a/source/libwiigui/gui_gamecarousel.cpp +++ b/source/libwiigui/gui_gamecarousel.cpp @@ -52,7 +52,7 @@ GuiGameCarousel::GuiGameCarousel(int w, int h, const char *themePath, int select width = w; height = h; pagesize = (gameList.size() < 11) ? gameList.size() : 11; - listOffset = (selectedGame >= 0 && selectedGame < gameList.size()) ? selectedGame : 0; + listOffset = (gameList.size() < 11) ? 0 : gameList.size()-2; selectable = true; selectedItem = -1; focus = 1; // allow focus diff --git a/source/menu/GameBrowseMenu.cpp b/source/menu/GameBrowseMenu.cpp index f3998998..1c7b3382 100644 --- a/source/menu/GameBrowseMenu.cpp +++ b/source/menu/GameBrowseMenu.cpp @@ -980,11 +980,8 @@ int GameBrowseMenu::MainLoop() if (SelectedGame >= 0 && SelectedGame < (s32) gameList.size()) { rockout(SelectedGame); - struct discHdr *header = gameList[SelectedGame]; - char IDfull[7]; - snprintf(IDfull, sizeof(IDfull), "%s", (char *) header->id); SetState(STATE_DISABLED); - int choice = showGameInfo(IDfull); + int choice = showGameInfo(SelectedGame); SetState(STATE_DEFAULT); rockout(SelectedGame, 2); if (choice == 2) diff --git a/source/prompts/GameWindow.cpp b/source/prompts/GameWindow.cpp index 2aeb85f8..d2a541c8 100644 --- a/source/prompts/GameWindow.cpp +++ b/source/prompts/GameWindow.cpp @@ -575,11 +575,8 @@ int GameWindow::MainLoop() } else if(detailsBtn->GetState() == STATE_CLICKED) { - char gameID[7]; - struct discHdr * header = (mountMethod ? dvdheader : gameList[gameSelected]); - snprintf(gameID, sizeof(gameID), (char *) header->id); diskImg->SetState(STATE_DISABLED); - showGameInfo(gameID); + showGameInfo(gameSelected); mainWindow->SetState(STATE_DISABLED); this->SetState(STATE_DEFAULT); diskImg->SetState(STATE_DEFAULT); diff --git a/source/prompts/gameinfo.cpp b/source/prompts/gameinfo.cpp index 26b933dd..2b17087c 100644 --- a/source/prompts/gameinfo.cpp +++ b/source/prompts/gameinfo.cpp @@ -25,10 +25,13 @@ #include "utils/ShowError.h" #include "BoxCover/BoxCover.hpp" +extern int mountMethod; +extern struct discHdr *dvdheader; + /**************************************************************************** * gameinfo ***************************************************************************/ -int showGameInfo(char *ID) +static int InternalShowGameInfo(char *ID) { HaltGui();//put this first to try to get rid of the code dump caused by loading this window at the same time as loading images from the SD card mainWindow->SetState(STATE_DISABLED); @@ -57,8 +60,6 @@ int showGameInfo(char *ID) XML_DB.CloseFile(); - bool showmeminfo = false; - int choice = -1; int titley = 10; int marginY = titley + 40; @@ -136,9 +137,8 @@ int showGameInfo(char *ID) gameinfoWindow.SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE); gameinfoWindow.SetPosition(0, -50); - GuiWindow gameinfoWindow2(600, 308); - gameinfoWindow2.SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE); - gameinfoWindow2.SetPosition(0, -50); + GuiWindow InfoWindow(600, 308); + InfoWindow.SetAlignment(ALIGN_LEFT, ALIGN_TOP); GuiWindow txtWindow(350, 270); txtWindow.SetAlignment(ALIGN_CENTRE, ALIGN_RIGHT); @@ -172,6 +172,20 @@ int showGameInfo(char *ID) GuiTrigger trigA_Simple; trigA_Simple.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); + GuiTrigger trigLeft; + trigLeft.SetButtonOnlyTrigger(-1, WPAD_BUTTON_LEFT | WPAD_CLASSIC_BUTTON_LEFT, PAD_BUTTON_LEFT); + + GuiTrigger trigRight; + trigRight.SetButtonOnlyTrigger(-1, WPAD_BUTTON_RIGHT | WPAD_CLASSIC_BUTTON_RIGHT, PAD_BUTTON_RIGHT); + + GuiButton LeftBtn(0, 0); + LeftBtn.SetTrigger(&trigLeft); + if(mountMethod == 0) gameinfoWindow.Append(&LeftBtn); + + GuiButton RightBtn(0, 0); + RightBtn.SetTrigger(&trigRight); + if(mountMethod == 0) gameinfoWindow.Append(&RightBtn); + GuiButton coverBtn(180, 250); coverBtn.SetPosition(20, 20); coverBtn.SetTrigger(&trigA_Simple); @@ -381,7 +395,7 @@ int showGameInfo(char *ID) playersImg->SetWidescreen(Settings.widescreen); playersImg->SetPosition(intputX, inputY); playersImg->SetAlignment(0, 4); - gameinfoWindow.Append(playersImg); + InfoWindow.Append(playersImg); intputX += (Settings.widescreen ? playersImg->GetWidth() * .8 : playersImg->GetWidth()) + 5; } @@ -392,7 +406,7 @@ int showGameInfo(char *ID) motionplusImg->SetWidescreen(Settings.widescreen); motionplusImg->SetPosition(intputX, inputY); motionplusImg->SetAlignment(0, 4); - gameinfoWindow.Append(motionplusImg); + InfoWindow.Append(motionplusImg); intputX += (Settings.widescreen ? motionplusImg->GetWidth() * .8 : motionplusImg->GetWidth()) + 5; } if (nunchuk == 1) @@ -401,7 +415,7 @@ int showGameInfo(char *ID) nunchukImg->SetWidescreen(Settings.widescreen); nunchukImg->SetPosition(intputX, inputY); nunchukImg->SetAlignment(0, 4); - gameinfoWindow.Append(nunchukImg); + InfoWindow.Append(nunchukImg); intputX += (Settings.widescreen ? nunchukImg->GetWidth() * .8 : nunchukImg->GetWidth()) + 5; } if (classiccontroller == 1) @@ -410,7 +424,7 @@ int showGameInfo(char *ID) classiccontrollerImg->SetWidescreen(Settings.widescreen); classiccontrollerImg->SetPosition(intputX, inputY); classiccontrollerImg->SetAlignment(0, 4); - gameinfoWindow.Append(classiccontrollerImg); + InfoWindow.Append(classiccontrollerImg); intputX += (Settings.widescreen ? classiccontrollerImg->GetWidth() * .8 : classiccontrollerImg->GetWidth()) + 5; } if (gamecube == 1) @@ -419,7 +433,7 @@ int showGameInfo(char *ID) gcImg->SetWidescreen(Settings.widescreen); gcImg->SetPosition(intputX, inputY); gcImg->SetAlignment(0, 4); - gameinfoWindow.Append(gcImg); + InfoWindow.Append(gcImg); intputX += (Settings.widescreen ? gcImg->GetWidth() * .8 : gcImg->GetWidth()) + 5; } if (wheel == 1) @@ -428,7 +442,7 @@ int showGameInfo(char *ID) wheelImg->SetWidescreen(Settings.widescreen); wheelImg->SetPosition(intputX, inputY); wheelImg->SetAlignment(0, 4); - gameinfoWindow.Append(wheelImg); + InfoWindow.Append(wheelImg); intputX += (Settings.widescreen ? wheelImg->GetWidth() * .8 : wheelImg->GetWidth()) + 5; } if (guitar == 1) @@ -437,7 +451,7 @@ int showGameInfo(char *ID) guitarImg->SetWidescreen(Settings.widescreen); guitarImg->SetPosition(intputX, inputY); guitarImg->SetAlignment(0, 4); - gameinfoWindow.Append(guitarImg); + InfoWindow.Append(guitarImg); intputX += (Settings.widescreen ? guitarImg->GetWidth() * .8 : guitarImg->GetWidth()) + 5; } if (drums == 1) @@ -446,7 +460,7 @@ int showGameInfo(char *ID) drumsImg->SetWidescreen(Settings.widescreen); drumsImg->SetPosition(intputX, inputY); drumsImg->SetAlignment(0, 4); - gameinfoWindow.Append(drumsImg); + InfoWindow.Append(drumsImg); intputX += (Settings.widescreen ? drumsImg->GetWidth() * .8 : drumsImg->GetWidth()) + 5; } if (microphone == 1) @@ -455,7 +469,7 @@ int showGameInfo(char *ID) microphoneImg->SetWidescreen(Settings.widescreen); microphoneImg->SetPosition(intputX, inputY); microphoneImg->SetAlignment(0, 4); - gameinfoWindow.Append(microphoneImg); + InfoWindow.Append(microphoneImg); intputX += (Settings.widescreen ? microphoneImg->GetWidth() * .8 : microphoneImg->GetWidth()) + 5; } if (zapper == 1) @@ -464,7 +478,7 @@ int showGameInfo(char *ID) zapperImg->SetWidescreen(Settings.widescreen); zapperImg->SetPosition(intputX, inputY); zapperImg->SetAlignment(0, 4); - gameinfoWindow.Append(zapperImg); + InfoWindow.Append(zapperImg); intputX += (Settings.widescreen ? zapperImg->GetWidth() * .8 : zapperImg->GetWidth()) + 5; } if (wiispeak == 1) @@ -473,7 +487,7 @@ int showGameInfo(char *ID) wiispeakImg->SetWidescreen(Settings.widescreen); wiispeakImg->SetPosition(intputX, inputY); wiispeakImg->SetAlignment(0, 4); - gameinfoWindow.Append(wiispeakImg); + InfoWindow.Append(wiispeakImg); intputX += (Settings.widescreen ? wiispeakImg->GetWidth() * .8 : wiispeakImg->GetWidth()) + 5; } if (nintendods == 1) @@ -482,7 +496,7 @@ int showGameInfo(char *ID) nintendodsImg->SetWidescreen(Settings.widescreen); nintendodsImg->SetPosition(intputX, inputY); nintendodsImg->SetAlignment(0, 4); - gameinfoWindow.Append(nintendodsImg); + InfoWindow.Append(nintendodsImg); intputX += (Settings.widescreen ? nintendodsImg->GetWidth() * .8 : nintendodsImg->GetWidth()) + 5; } if (dancepad == 1) @@ -491,7 +505,7 @@ int showGameInfo(char *ID) dancepadImg->SetWidescreen(Settings.widescreen); dancepadImg->SetPosition(intputX, inputY); dancepadImg->SetAlignment(0, 4); - gameinfoWindow.Append(dancepadImg); + InfoWindow.Append(dancepadImg); intputX += (Settings.widescreen ? dancepadImg->GetWidth() * .8 : dancepadImg->GetWidth()) + 5; } if (balanceboard == 1) @@ -500,7 +514,7 @@ int showGameInfo(char *ID) balanceboardImg->SetWidescreen(Settings.widescreen); balanceboardImg->SetPosition(intputX, inputY); balanceboardImg->SetAlignment(0, 4); - gameinfoWindow.Append(balanceboardImg); + InfoWindow.Append(balanceboardImg); intputX += (Settings.widescreen ? balanceboardImg->GetWidth() * .8 : balanceboardImg->GetWidth()) + 5; } @@ -532,7 +546,7 @@ int showGameInfo(char *ID) wifiplayersImg->SetWidescreen(Settings.widescreen); wifiplayersImg->SetPosition(intputX, inputY); wifiplayersImg->SetAlignment(0, 4); - gameinfoWindow.Append(wifiplayersImg); + InfoWindow.Append(wifiplayersImg); intputX += (Settings.widescreen ? wifiplayersImg->GetWidth() * .8 : wifiplayersImg->GetWidth()) + 5; } @@ -599,21 +613,10 @@ int showGameInfo(char *ID) ratingImg->SetWidescreen(Settings.widescreen); ratingImg->SetPosition(-25, inputY); ratingImg->SetAlignment(1, 4); - gameinfoWindow.Append(ratingImg); + InfoWindow.Append(ratingImg); intputX += (Settings.widescreen ? ratingImg->GetWidth() * .8 : ratingImg->GetWidth()) + 5; } - // memory info - if (showmeminfo) - { - char meminfotxt[200]; - strlcpy(meminfotxt, MemInfo(), sizeof(meminfotxt)); - memTxt = new GuiText(meminfotxt, 18, ( GXColor ) {0, 0, 0, 255}); - memTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - memTxt->SetPosition(0, 0); - gameinfoWindow.Append(memTxt); - } - // title int titlefontsize = 25; if (GameInfo.Title.size() > 0) @@ -622,7 +625,7 @@ int showGameInfo(char *ID) titleTxt->SetMaxWidth(350, SCROLL_HORIZONTAL); titleTxt->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); titleTxt->SetPosition(txtXOffset, 12 + titley); - gameinfoWindow.Append(titleTxt); + InfoWindow.Append(titleTxt); } //date @@ -682,7 +685,7 @@ int showGameInfo(char *ID) releasedTxt->SetPosition(-17, 12 + indexy); indexy += (20 * newline); newline = 1; - gameinfoWindow.Append(releasedTxt); + InfoWindow.Append(releasedTxt); } //publisher @@ -696,7 +699,7 @@ int showGameInfo(char *ID) publisherTxt->SetPosition(-17, 12 + indexy); indexy += (20 * newline); newline = 1; - gameinfoWindow.Append(publisherTxt); + InfoWindow.Append(publisherTxt); } //developer @@ -710,7 +713,7 @@ int showGameInfo(char *ID) developerTxt->SetPosition(-17, 12 + indexy); indexy += (20 * newline); newline = 1; - gameinfoWindow.Append(developerTxt); + InfoWindow.Append(developerTxt); } //genre @@ -721,7 +724,7 @@ int showGameInfo(char *ID) genreTitleTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); genreTitleTxt->SetPosition(205, 12 + genreY); genreY += 20; - gameinfoWindow.Append(genreTitleTxt); + InfoWindow.Append(genreTitleTxt); } genreTxt = new GuiText *[GameInfo.GenreList.size()+1]; //to not alloc a 0 vector @@ -731,7 +734,7 @@ int showGameInfo(char *ID) genreTxt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); genreTxt[i]->SetPosition(215, 12 + genreY); genreY += 20; - gameinfoWindow.Append(genreTxt[i]); + InfoWindow.Append(genreTxt[i]); } //online @@ -750,7 +753,7 @@ int showGameInfo(char *ID) wifiTxt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); wifiTxt[i]->SetPosition(215, 200 + wifiY); wifiY -= 20; - gameinfoWindow.Append(wifiTxt[i]); + InfoWindow.Append(wifiTxt[i]); } if (GameInfo.WifiFeatureList.size() > 0) { @@ -763,7 +766,7 @@ int showGameInfo(char *ID) wifiTxt[0] = new GuiText(linebuf2, 16, ( GXColor ) {0, 0, 0, 255}); wifiTxt[0]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); wifiTxt[0]->SetPosition(205, 200 + wifiY); - gameinfoWindow.Append(wifiTxt[0]); + InfoWindow.Append(wifiTxt[0]); //synopsis int pagesize = 12; @@ -776,31 +779,9 @@ int showGameInfo(char *ID) synopsisTxt->SetLinesToDraw(pagesize); synopsisTxt->Refresh(); - dialogBoxImg11 = new GuiImage(&dialogBox1); - dialogBoxImg11->SetAlignment(0, 3); - dialogBoxImg11->SetPosition(-9, 0); - - dialogBoxImg22 = new GuiImage(&dialogBox2); - dialogBoxImg22->SetAlignment(0, 3); - dialogBoxImg22->SetPosition(145, 0); - - dialogBoxImg33 = new GuiImage(&dialogBox3); - dialogBoxImg33->SetAlignment(0, 3); - dialogBoxImg33->SetPosition(301, 0); - - dialogBoxImg44 = new GuiImage(&dialogBox4); - dialogBoxImg44->SetAlignment(0, 3); - dialogBoxImg44->SetPosition(457, 0); - - gameinfoWindow2.Append(dialogBoxImg11); - gameinfoWindow2.Append(dialogBoxImg22); - gameinfoWindow2.Append(dialogBoxImg33); - gameinfoWindow2.Append(dialogBoxImg44); - txtWindow.Append(synopsisTxt); txtWindow.Append(&upBtn); txtWindow.Append(&dnBtn); - gameinfoWindow2.Append(&txtWindow); } wiitdb1Txt = new GuiText("http://wiitdb.com", 16, ( GXColor ) {0, 0, 0, 255}); @@ -809,6 +790,9 @@ int showGameInfo(char *ID) gameinfoWindow.Append(wiitdb1Txt); if(coverImg) gameinfoWindow.Append(coverImg); + // Set info window first + gameinfoWindow.Append(&InfoWindow); + HaltGui(); //mainWindow->SetState(STATE_DISABLED); mainWindow->Append(&gameinfoWindow); @@ -828,32 +812,31 @@ int showGameInfo(char *ID) else if (reset == 1) Sys_Reboot(); + else if(LeftBtn.GetState() == STATE_CLICKED) + { + choice = 3; + break; + } + + else if(RightBtn.GetState() == STATE_CLICKED) + { + choice = 4; + break; + } + else if ((backBtn.GetState() == STATE_CLICKED) || (backBtn.GetState() == STATE_HELD)) { backBtn.ResetState(); if (page == 1) { choice = 1; - if (synopsisTxt) delete synopsisTxt; - synopsisTxt = NULL; break; } else if (page == 2) { HaltGui(); - gameinfoWindow2.Remove(&nextBtn); - gameinfoWindow2.Remove(&backBtn); - gameinfoWindow2.Remove(&homeBtn); - gameinfoWindow2.Remove(&coverBtn); - gameinfoWindow2.Remove(coverImg); - gameinfoWindow2.SetVisible(false); - gameinfoWindow.SetVisible(true); - gameinfoWindow.Append(&backBtn); - gameinfoWindow.Append(&nextBtn); - gameinfoWindow.Append(&homeBtn); - gameinfoWindow.Append(&coverBtn); - gameinfoWindow.Append(coverImg); - mainWindow->Remove(&gameinfoWindow2); + gameinfoWindow.Remove(&txtWindow); + gameinfoWindow.Append(&InfoWindow); ResumeGui(); page = 1; } @@ -861,10 +844,10 @@ int showGameInfo(char *ID) else if(coverBtn.GetState() == STATE_CLICKED && boxCov) { boxCov->SetEffect(EFFECT_BOX_FLY_CENTRE, 100); - gameinfoWindow2.Remove(&nextBtn); - gameinfoWindow2.Remove(&homeBtn); gameinfoWindow.Remove(&nextBtn); gameinfoWindow.Remove(&homeBtn); + gameinfoWindow.Remove(&LeftBtn); + gameinfoWindow.Remove(&RightBtn); boxCov->SetZoomable(true); while(backBtn.GetState() != STATE_CLICKED && homeBtn.GetState() != STATE_CLICKED) @@ -876,16 +859,10 @@ int showGameInfo(char *ID) Sys_Reboot(); } - if (page == 1) - { - gameinfoWindow.Append(&nextBtn); - gameinfoWindow.Append(&homeBtn); - } - else - { - gameinfoWindow2.Append(&nextBtn); - gameinfoWindow2.Append(&homeBtn); - } + gameinfoWindow.Append(&nextBtn); + gameinfoWindow.Append(&homeBtn); + gameinfoWindow.Append(&LeftBtn); + gameinfoWindow.Append(&RightBtn); boxCov->SetZoomable(false); boxCov->SetEffect(EFFECT_BOX_FLY_BACK, 100); @@ -900,42 +877,16 @@ int showGameInfo(char *ID) if (page == 1) { HaltGui(); - gameinfoWindow.Remove(&nextBtn); - gameinfoWindow.Remove(&backBtn); - gameinfoWindow.Remove(&homeBtn); - gameinfoWindow.Remove(&coverBtn); - gameinfoWindow.Remove(wiitdb1Txt); - gameinfoWindow.Remove(coverImg); - gameinfoWindow.SetVisible(false); - gameinfoWindow2.SetVisible(true); - gameinfoWindow2.Append(&nextBtn); - gameinfoWindow2.Append(&backBtn); - gameinfoWindow2.Append(&homeBtn); - gameinfoWindow2.Append(&coverBtn); - gameinfoWindow2.Append(wiitdb1Txt); - gameinfoWindow2.Append(coverImg); - mainWindow->Append(&gameinfoWindow2); + gameinfoWindow.Remove(&InfoWindow); + gameinfoWindow.Append(&txtWindow); ResumeGui(); page = 2; } else { HaltGui(); - gameinfoWindow2.Remove(&nextBtn); - gameinfoWindow2.Remove(&backBtn); - gameinfoWindow2.Remove(&homeBtn); - gameinfoWindow2.Remove(&coverBtn); - gameinfoWindow2.Remove(wiitdb1Txt); - gameinfoWindow2.Remove(coverImg); - gameinfoWindow2.SetVisible(false); - gameinfoWindow.SetVisible(true); - gameinfoWindow.Append(&backBtn); - gameinfoWindow.Append(&nextBtn); - gameinfoWindow.Append(&homeBtn); - gameinfoWindow.Append(&coverBtn); - gameinfoWindow.Append(wiitdb1Txt); - gameinfoWindow.Append(coverImg); - mainWindow->Remove(&gameinfoWindow2); + gameinfoWindow.Remove(&txtWindow); + gameinfoWindow.Append(&InfoWindow); ResumeGui(); page = 1; } @@ -958,22 +909,8 @@ int showGameInfo(char *ID) } else if (homeBtn.GetState() == STATE_CLICKED) { - if (page == 1) - { - choice = 2; - if (synopsisTxt) delete synopsisTxt; - synopsisTxt = NULL; - break; - } - else if (page == 2) - { - HaltGui(); - gameinfoWindow2.SetVisible(false); - gameinfoWindow.SetVisible(true); - mainWindow->Remove(&gameinfoWindow2); - ResumeGui(); - page = 1; - } + choice = 2; + break; } } @@ -1055,6 +992,33 @@ int showGameInfo(char *ID) return choice; } +int showGameInfo(int gameSelected) +{ + char gameID[7]; + int choice = 5; + + while(choice > 2) + { + struct discHdr * header = (mountMethod ? dvdheader : gameList[gameSelected]); + snprintf(gameID, sizeof(gameID), (char *) header->id); + + choice = InternalShowGameInfo(gameID); + + if(choice == 3) + { + --gameSelected; + if(gameSelected < 0) + gameSelected = 0; + } + else if(choice == 4) + { + gameSelected = (gameSelected + 1) % gameList.size(); + } + } + + return choice; +} + bool save_gamelist(int txt) // save gamelist { mainWindow->SetState(STATE_DISABLED); @@ -1132,10 +1096,3 @@ bool save_gamelist(int txt) // save gamelist mainWindow->SetState(STATE_DEFAULT); return true; } - -void MemInfoPrompt() -{ - char meminfotxt[200]; - strlcpy(meminfotxt, MemInfo(), sizeof(meminfotxt)); - WindowPrompt(0, meminfotxt, tr( "OK" )); -} diff --git a/source/prompts/gameinfo.h b/source/prompts/gameinfo.h index dbdd70a9..4b9a4662 100644 --- a/source/prompts/gameinfo.h +++ b/source/prompts/gameinfo.h @@ -8,7 +8,7 @@ #ifndef _GAMEINFO_H_ #define _GAMEINFO_H_ -int showGameInfo(char *ID); +int showGameInfo(int selectedGame); bool save_gamelist(int txt); -void MemInfoPrompt(); + #endif diff --git a/source/settings/CSettings.cpp b/source/settings/CSettings.cpp index c4d34c54..9ce5ddab 100644 --- a/source/settings/CSettings.cpp +++ b/source/settings/CSettings.cpp @@ -258,6 +258,7 @@ bool CSettings::Save() fprintf(file, "HomeMenu = %d\n ", HomeMenu); fprintf(file, "MultiplePartitions = %d\n ", MultiplePartitions); fprintf(file, "USBPort = %d\n ", USBPort); + fprintf(file, "CacheTitles = %d\n ", CacheTitles); fclose(file); return true; @@ -470,6 +471,11 @@ bool CSettings::SetSetting(char *name, char *value) if (sscanf(value, "%d", &i) == 1) USBPort = i; return true; } + else if (strcmp(name, "CacheTitles") == 0) + { + if (sscanf(value, "%d", &i) == 1) CacheTitles = i; + return true; + } else if (strcmp(name, "patchcountrystrings") == 0) { if (sscanf(value, "%d", &i) == 1) patchcountrystrings = i; diff --git a/source/usbloader/usbstorage2.c b/source/usbloader/usbstorage2.c index 29007ad8..66bbd963 100644 --- a/source/usbloader/usbstorage2.c +++ b/source/usbloader/usbstorage2.c @@ -60,7 +60,7 @@ #define isMEM2Buffer(p) (((u32) p & 0x10000000) != 0) #define MAX_BUFFER_SECTORS 256 -#define UMS_HEAPSIZE 0x1000 +#define UMS_HEAPSIZE 0x8000 /* Variables */ static char fs[] ATTRIBUTE_ALIGN(32) = "/dev/usb2"; @@ -96,7 +96,6 @@ s32 USBStorage2_Init(void) /* Initialize USB storage */ ret = IOS_IoctlvFormat(hid, fd, USB_IOCTL_UMS_INIT, ":"); - if (ret < 0) goto err; /* Get device capacity */ if (USBStorage2_GetCapacity(&hdd_sector_size) == 0) @@ -105,7 +104,7 @@ s32 USBStorage2_Init(void) goto err; } - return ret; // 0->HDD, 1->DVD + return 0; // 0->HDD, 1->DVD err: /* Close USB device */