Added selection prompt for a game that requires 3 alt dols. Network is initialized only when artwork is missing (issue 862). Fixed rotating disc when powering down (issue 744). Fixed Settings/SD and Homebrew/Wii icons overlap (issue 925).
2
gui.pnps
@ -1 +1 @@
|
||||
<pd><ViewState><e p="gui\source\mload" x="false"></e><e p="gui\source\settings" x="true"></e><e p="gui\source\images" x="false"></e><e p="gui\source\prompts" x="false"></e><e p="gui\source\banner" x="false"></e><e p="gui\source\cheats" x="true"></e><e p="gui\source\network" x="false"></e><e p="gui\source\unzip" x="false"></e><e p="gui\source\usbloader" x="false"></e><e p="gui\source\xml" x="true"></e><e p="gui\source\fonts" x="false"></e><e p="gui\source\ramdisc" x="false"></e><e p="gui\source\sounds" x="false"></e><e p="gui\source\wad" x="false"></e><e p="gui" x="true"></e><e p="gui\source\homebrewboot" x="false"></e><e p="gui\source\language" x="false"></e><e p="gui\source" x="true"></e><e p="gui\source\libwbfs" x="false"></e><e p="gui\source\libwiigui" x="false"></e><e p="gui\source\patches" x="false"></e></ViewState></pd>
|
||||
<pd><ViewState><e p="gui\source\mload" x="false"></e><e p="gui\source\settings" x="true"></e><e p="gui\source\images" x="false"></e><e p="gui\source\prompts" x="true"></e><e p="gui\source\banner" x="false"></e><e p="gui\source\cheats" x="true"></e><e p="gui\source\network" x="false"></e><e p="gui\source\unzip" x="false"></e><e p="gui\source\usbloader" x="false"></e><e p="gui\source\xml" x="true"></e><e p="gui\source\fonts" x="false"></e><e p="gui\source\ramdisc" x="false"></e><e p="gui\source\sounds" x="false"></e><e p="gui\source\wad" x="false"></e><e p="gui" x="true"></e><e p="gui\source\homebrewboot" x="false"></e><e p="gui\source\language" x="false"></e><e p="gui\source" x="true"></e><e p="gui\source\libwbfs" x="false"></e><e p="gui\source\libwiigui" x="false"></e><e p="gui\source\patches" x="false"></e></ViewState></pd>
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |
@ -870,22 +870,15 @@ int MenuDiscList() {
|
||||
//if(isSdInserted()) {
|
||||
if (isInserted(bootDevice)) {
|
||||
choice = WindowPrompt(tr("Cover Download"), 0, tr("Normal Covers"), tr("3D Covers"), tr("Disc Images"), tr("Back")); // ask for download choice
|
||||
|
||||
if (choice != 0) {
|
||||
int choice2 = choice;
|
||||
|
||||
SearchMissingImages(choice2);
|
||||
|
||||
if (IsNetworkInit() == false) {
|
||||
bool missing;
|
||||
missing = SearchMissingImages(choice2);
|
||||
if (IsNetworkInit() == false && missing == true) {
|
||||
WindowPrompt(tr("Network init error"), 0, tr("OK"));
|
||||
|
||||
} else {
|
||||
|
||||
if (GetMissingFiles() != NULL && cntMissFiles > 0)
|
||||
|
||||
{
|
||||
if (GetMissingFiles() != NULL && cntMissFiles > 0) {
|
||||
char tempCnt[40];
|
||||
|
||||
sprintf(tempCnt,"%i %s",cntMissFiles,tr("Missing files"));
|
||||
if (choice!=3)choice = WindowPrompt(tr("Download Boxart image?"),tempCnt,tr("Yes"),tr("No"));
|
||||
else if (choice==3)choice = WindowPrompt(tr("Download Discart image?"),tempCnt,tr("Yes"),tr("No"));
|
||||
@ -898,8 +891,6 @@ int MenuDiscList() {
|
||||
WindowPrompt(tr("Download finished"),tempCnt,tr("OK"));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
WindowPrompt(tr("No file missing!"),0,tr("OK"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -35,22 +35,18 @@ int DiscBrowse(struct discHdr * header) {
|
||||
int ret, choice;
|
||||
u64 offset;
|
||||
|
||||
|
||||
ret = Disc_SetUSB(header->id);
|
||||
if (ret < 0) {
|
||||
WindowPrompt(tr("ERROR:"), tr("Could not set USB."), tr("OK"));
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
ret = Disc_Open();
|
||||
if (ret < 0) {
|
||||
WindowPrompt(tr("ERROR:"), tr("Could not open disc."), tr("OK"));
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
ret = __Disc_FindPartition(&offset);
|
||||
if (ret < 0) {
|
||||
WindowPrompt(tr("ERROR:"), tr("Could not find a WBFS partition."), tr("OK"));
|
||||
@ -204,15 +200,13 @@ int DiscBrowse(struct discHdr * header) {
|
||||
if (choice) {
|
||||
//ret = offsetselect[ret];
|
||||
snprintf(alternatedname, sizeof(alternatedname), "%s", temp);
|
||||
exit = true;
|
||||
break;
|
||||
exit = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (cancelBtn.GetState() == STATE_CLICKED) {
|
||||
exit = true;
|
||||
ret = 696969;
|
||||
//break;
|
||||
ret = 696969;
|
||||
exit = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -230,92 +224,108 @@ int DiscBrowse(struct discHdr * header) {
|
||||
int autoSelectDol(const char *id) {
|
||||
//still not done//
|
||||
//////////ID6/////////////////
|
||||
|
||||
//Boogie
|
||||
if (strcmp(id,"RBOP69") == 0) return 657;//from isostar
|
||||
if (strcmp(id,"RBOE69") == 0) return 675;//starstremr
|
||||
|
||||
//Fifa 08
|
||||
if (strcmp(id,"RF8E69") == 0) return 439;//from isostar
|
||||
if (strcmp(id,"RF8P69") == 0) return 463;//from isostar
|
||||
if (strcmp(id,"RF8X69") == 0) return 464;//from isostar
|
||||
|
||||
//Grand Slam Tennis
|
||||
if (strcmp(id,"R5TP69") == 0) return 1493;//from isostar
|
||||
if (strcmp(id,"R5TE69") == 0) return 1493;//starstremr
|
||||
|
||||
//Indiana Jones and the Staff of Kings (Fate of Atlantis)
|
||||
if (strcmp(id,"RJ8P64") == 0) return 8;//from isostar
|
||||
if (strcmp(id,"RJ8E64") == 0) return 8;//starstremr
|
||||
|
||||
if (strcmp(id,"RZTP01") == 0) return 952;//from isostar
|
||||
if (strcmp(id,"RZTE01") == 0) return 674;//from starstremr
|
||||
|
||||
//Madden NFL07
|
||||
if (strcmp(id,"RMDP69") == 0) return 39;//from isostar
|
||||
|
||||
//Madden NFL08
|
||||
if (strcmp(id,"RNFP69") == 0) return 1079;//from isostar
|
||||
|
||||
//Medal of Honor Heroes
|
||||
if (strcmp(id,"RMZX69") == 0) return 492;//from isostar
|
||||
if (strcmp(id,"RMZP69") == 0) return 492;//from isostar
|
||||
if (strcmp(id,"RMZE69") == 0) return 492;//starstremr
|
||||
|
||||
if (strcmp(id,"REDP41") == 0) return 1957;//from isostar
|
||||
if (strcmp(id,"REDE41") == 0) return 1957;//starstremr
|
||||
|
||||
if (strcmp(id,"RSXP69") == 0) return 377;//previous value was 337
|
||||
if (strcmp(id,"RSXE69") == 0) return 377;//previous value was 337
|
||||
//Medal of Honor: Heroes 2
|
||||
if (strcmp(id,"RM2X69") == 0)return 601;//dj_skual
|
||||
|
||||
if (strcmp(id,"RNBX69") == 0) return 964;//from isostar
|
||||
|
||||
if (strcmp(id,"RNFP69") == 0) return 1079;//from isostar
|
||||
|
||||
//Metal Slug Anthology
|
||||
if (strcmp(id,"RMLP7U") == 0) return 56;//from isostar
|
||||
|
||||
//Metroid Prime Trilogy
|
||||
if (strcmp(id,"R3ME01") == 0) {
|
||||
int choice = WindowPrompt(tr("Select a DOL"), 0, "Metroid Prime", "Metroid Prime 2", "Metroid Prime 3");
|
||||
switch (choice) {
|
||||
case 1:
|
||||
choice = 780;
|
||||
break;
|
||||
case 2:
|
||||
choice = 781;
|
||||
break;
|
||||
default:
|
||||
choice = 782;
|
||||
break;
|
||||
}
|
||||
return choice;
|
||||
}
|
||||
if (strcmp(id,"R3MP01") == 0) {
|
||||
int choice = WindowPrompt(tr("Select a DOL"), 0, "Metroid Prime", "Metroid Prime 2", "Metroid Prime 3");
|
||||
switch (choice) {
|
||||
case 1:
|
||||
choice = 782;
|
||||
break;
|
||||
case 2:
|
||||
choice = 783;
|
||||
break;
|
||||
default:
|
||||
choice = 784;
|
||||
break;
|
||||
}
|
||||
return choice;
|
||||
}
|
||||
//if (strcmp(id,"R3ME01 ") == 0) return 780; mp1: 780, mp2: 781, mp3: 782
|
||||
//if (strcmp(id,"R3MP01 ") == 0) return;
|
||||
|
||||
//Mortal Kombat
|
||||
if (strcmp(id,"RKMP5D") == 0) return 290;//from isostar
|
||||
if (strcmp(id,"RKME5D") == 0) return 290;//starstremr
|
||||
|
||||
if (strcmp(id,"R5TP69") == 0) return 1493;//from isostar
|
||||
if (strcmp(id,"R5TE69") == 0) return 1493;//starstremr
|
||||
//NBA 08
|
||||
if (strcmp(id,"RNBX69") == 0) return 964;//from isostar
|
||||
|
||||
if (strcmp(id,"R9OP69") == 0) return 1991;//from isostar
|
||||
if (strcmp(id,"R9OE69") == 0) return 1973;//starstremr
|
||||
|
||||
if (strcmp(id,"RVUP8P") == 0) return 16426;//from isostar
|
||||
if (strcmp(id,"RVUE8P") == 0) return 16405;//from isostar
|
||||
|
||||
if (strcmp(id,"RJ8P64") == 0) return 8;//from isostar
|
||||
//Pangya! Golf with Style
|
||||
if (strcmp(id,"RPYP9B") == 0) return 12490;//from isostar
|
||||
|
||||
//Redsteel
|
||||
if (strcmp(id,"REDP41") == 0) return 1957;//from isostar
|
||||
if (strcmp(id,"REDE41") == 0) return 1957;//starstremr
|
||||
|
||||
//SSX
|
||||
if (strcmp(id,"RSXP69") == 0) return 377;//previous value was 337
|
||||
if (strcmp(id,"RSXE69") == 0) return 377;//previous value was 337
|
||||
|
||||
//The House Of The Dead 2 & 3 Return
|
||||
if (strcmp(id,"RHDP8P") == 0) return 149;//from isostar
|
||||
if (strcmp(id,"RHDE8P") == 0) return 149;//starstremr
|
||||
|
||||
if (strcmp(id,"RJ8P64") == 0) return 8;//from isostar
|
||||
if (strcmp(id,"RJ8E64") == 0) return 8;//starstremr
|
||||
|
||||
if (strcmp(id,"RHDP8P") == 0) return 149;//from isostar
|
||||
|
||||
if (strcmp(id,"RMDP69") == 0) return 39;//from isostar
|
||||
|
||||
if (strcmp(id,"RBOP69") == 0) return 657;//from isostar
|
||||
if (strcmp(id,"RBOE69") == 0) return 675;//starstremr
|
||||
|
||||
if (strcmp(id,"RPYP9B") == 0) return 12490;//from isostar
|
||||
|
||||
if (strcmp(id,"RM2X69") == 0)return 601;//dj_skual
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
Tiger Woods10 R9OP69 1991
|
||||
Virtual Tennis 2009 RVUP8P 16426
|
||||
Fate of Atlantis"Indianer Jones" RJ8P64 8
|
||||
Madden NFL07 RMDP69 39
|
||||
Boogie RBOP69 657
|
||||
Pangya! Golf with Sryle RPYP9B 12490
|
||||
Grand Slam R5TP69 1493
|
||||
Madden NFL08 RNFP69 1079
|
||||
|
||||
rboe69 = boogie ntsc = (675)
|
||||
|
||||
601 rm2x69
|
||||
|
||||
RZTE01 = WSR = 674
|
||||
|
||||
Fifa08 RF8P69 463
|
||||
Fifa08 RF8X69 464
|
||||
Wii Sports Resort RZTP01 952
|
||||
Medal of Honor Heroes RMZX69 492
|
||||
Medal of Honor Heroes RMZP69 492
|
||||
Redsteel REDP41 1957
|
||||
SSX RSXP69 337
|
||||
NBA08 RNBX69 964
|
||||
Metal Slug Anthology RMLP7U 56
|
||||
Mortal Kombat RKMP5D 290
|
||||
House of Dead 2+3 RHDP8P 149
|
||||
Metroid Prime 1 and/or 2? listed on the alt dol list but not on lustar's site
|
||||
*/
|
||||
|
||||
//Tiger Woods 10
|
||||
if (strcmp(id,"R9OP69") == 0) return 1991;//from isostar
|
||||
if (strcmp(id,"R9OE69") == 0) return 1973;//starstremr
|
||||
|
||||
//Virtual Tennis 2009
|
||||
if (strcmp(id,"RVUP8P") == 0) return 16426;//from isostar
|
||||
if (strcmp(id,"RVUE8P") == 0) return 16405;//from isostar
|
||||
|
||||
//Wii Sports Resort
|
||||
if (strcmp(id,"RZTP01") == 0) return 952;//from isostar
|
||||
if (strcmp(id,"RZTE01") == 0) return 674;//from starstremr
|
||||
|
||||
//if (strcmp(id,"") == 0) return ; //blank line for more dols
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
#ifndef _DISCBROWSER_H_
|
||||
#define _DISCBROWSER_H_
|
||||
|
||||
int DiscBrowse(struct discHdr * headerc);
|
||||
int DiscBrowse(struct discHdr * header);
|
||||
int autoSelectDol(const char *id);
|
||||
|
||||
#endif
|
||||
|
@ -424,8 +424,8 @@ int WindowScreensaver() {
|
||||
* Displays a prompt window to user, with information, an error message, or
|
||||
* presenting a user with a choice of up to 4 Buttons.
|
||||
*
|
||||
* Give him 1 Titel, 1 Subtitel and 4 Buttons
|
||||
* If titel/subtitle or one of the buttons is not needed give him a 0 on that
|
||||
* Give him 1 Title, 1 Subtitle and 4 Buttons
|
||||
* If title/subtitle or one of the buttons is not needed give him a 0 on that
|
||||
* place.
|
||||
***************************************************************************/
|
||||
int
|
||||
@ -1282,6 +1282,12 @@ int GameWindowPrompt() {
|
||||
diskImg.SetSpin(btn1.GetState() == STATE_SELECTED);
|
||||
diskImg2.SetSpin(btn1.GetState() == STATE_SELECTED);
|
||||
if (shutdown == 1) { //for power button
|
||||
promptWindow.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 50);
|
||||
mainWindow->SetState(STATE_DEFAULT);
|
||||
while (promptWindow.GetEffect() > 0) usleep(50);
|
||||
HaltGui();
|
||||
mainWindow->Remove(&promptWindow);
|
||||
ResumeGui();
|
||||
wiilight(0);
|
||||
Sys_Shutdown();
|
||||
}
|
||||
@ -1370,7 +1376,7 @@ int GameWindowPrompt() {
|
||||
break;
|
||||
}
|
||||
|
||||
else if ((btnLeft.GetState() == STATE_CLICKED) && (Settings.xflip == yes)) {//netx game
|
||||
else if ((btnLeft.GetState() == STATE_CLICKED) && (Settings.xflip == yes)) {//next game
|
||||
promptWindow.SetEffect(EFFECT_SLIDE_RIGHT | EFFECT_SLIDE_OUT, 50);
|
||||
changed = 1;
|
||||
btnClick.Play();
|
||||
@ -1388,7 +1394,7 @@ int GameWindowPrompt() {
|
||||
break;
|
||||
}
|
||||
|
||||
else if ((btnLeft.GetState() == STATE_CLICKED) && (Settings.xflip == sysmenu)) {//netx game
|
||||
else if ((btnLeft.GetState() == STATE_CLICKED) && (Settings.xflip == sysmenu)) {//next game
|
||||
promptWindow.SetEffect(EFFECT_SLIDE_RIGHT | EFFECT_SLIDE_OUT, 50);
|
||||
changed = 1;
|
||||
btnClick.Play();
|
||||
@ -1406,7 +1412,7 @@ int GameWindowPrompt() {
|
||||
break;
|
||||
}
|
||||
|
||||
else if ((btnLeft.GetState() == STATE_CLICKED) && (Settings.xflip == wtf)) {//netx game
|
||||
else if ((btnLeft.GetState() == STATE_CLICKED) && (Settings.xflip == wtf)) {//next game
|
||||
promptWindow.SetEffect(EFFECT_SLIDE_LEFT | EFFECT_SLIDE_OUT, 50);
|
||||
changed = 2;
|
||||
btnClick.Play();
|
||||
@ -1647,10 +1653,9 @@ FormatingPartition(const char *title, partitionEntry *entry) {
|
||||
/****************************************************************************
|
||||
* SearchMissingImages
|
||||
***************************************************************************/
|
||||
void SearchMissingImages(int choice2) {
|
||||
//make sure that all games are added to the gamelist
|
||||
__Menu_GetEntries(1);
|
||||
GuiWindow promptWindow(472,320);
|
||||
bool SearchMissingImages(int choice2) {
|
||||
|
||||
GuiWindow promptWindow(472,320);
|
||||
promptWindow.SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE);
|
||||
promptWindow.SetPosition(0, -10);
|
||||
|
||||
@ -1666,11 +1671,12 @@ void SearchMissingImages(int choice2) {
|
||||
trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A);
|
||||
|
||||
GuiImage dialogBoxImg(&dialogBox);
|
||||
|
||||
if (Settings.wsprompt == yes) {
|
||||
dialogBoxImg.SetWidescreen(CFG.widescreen);
|
||||
}
|
||||
|
||||
GuiText titleTxt(tr("Initializing Network"), 26, (GXColor) {THEME.prompttxt_r, THEME.prompttxt_g, THEME.prompttxt_b, 255});
|
||||
GuiText titleTxt(tr("Checking existing artwork"), 26, (GXColor) {THEME.prompttxt_r, THEME.prompttxt_g, THEME.prompttxt_b, 255});
|
||||
titleTxt.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
|
||||
titleTxt.SetPosition(0,60);
|
||||
|
||||
@ -1679,100 +1685,80 @@ void SearchMissingImages(int choice2) {
|
||||
msgTxt.SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE);
|
||||
msgTxt.SetPosition(0,-40);
|
||||
|
||||
GuiText btn1Txt(tr("Cancel"), 22, (GXColor) {THEME.prompttxt_r, THEME.prompttxt_g, THEME.prompttxt_b, 255});
|
||||
GuiImage btn1Img(&btnOutline);
|
||||
if (Settings.wsprompt == yes) {
|
||||
btn1Txt.SetWidescreen(CFG.widescreen);
|
||||
btn1Img.SetWidescreen(CFG.widescreen);
|
||||
}
|
||||
GuiButton btn1(&btn1Img,&btn1Img, 2, 4, 0, -45, &trigA, &btnSoundOver, &btnClick,1);
|
||||
btn1.SetLabel(&btn1Txt);
|
||||
btn1.SetState(STATE_SELECTED);
|
||||
|
||||
if ((Settings.wsprompt == yes) && (CFG.widescreen)) {/////////////adjust buttons for widescreen
|
||||
btn1.SetAlignment(ALIGN_CENTRE, ALIGN_BOTTOM);
|
||||
btn1.SetPosition(0, -80);
|
||||
}
|
||||
|
||||
promptWindow.Append(&dialogBoxImg);
|
||||
promptWindow.Append(&titleTxt);
|
||||
promptWindow.Append(&msgTxt);
|
||||
promptWindow.Append(&btn1);
|
||||
|
||||
promptWindow.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_IN, 50);
|
||||
HaltGui();
|
||||
mainWindow->SetState(STATE_DISABLED);
|
||||
mainWindow->Append(&promptWindow);
|
||||
mainWindow->ChangeFocus(&promptWindow);
|
||||
|
||||
ResumeGui();
|
||||
|
||||
//make sure that all games are added to the gamelist
|
||||
__Menu_GetEntries(1);
|
||||
|
||||
while (!IsNetworkInit()) {
|
||||
cntMissFiles = 0;
|
||||
u32 i = 0;
|
||||
char filename[11];
|
||||
|
||||
//add IDs of games that are missing covers to cntMissFiles
|
||||
bool found1 = false;
|
||||
bool found2 = false;
|
||||
bool found3 = false;
|
||||
for (i = 0; i < gameCnt && cntMissFiles < 500; i++) {
|
||||
struct discHdr* header = &gameList[i];
|
||||
if (choice2 != 3) {
|
||||
|
||||
VIDEO_WaitVSync();
|
||||
snprintf (filename,sizeof(filename),"%c%c%c.png", header->id[0], header->id[1], header->id[2]);
|
||||
found2 = findfile(filename, Settings.covers_path);
|
||||
|
||||
Initialize_Network();
|
||||
snprintf (filename,sizeof(filename),"%c%c%c%c.png", header->id[0], header->id[1], header->id[2], header->id[3]);
|
||||
found3 = findfile(filename, Settings.covers_path);
|
||||
|
||||
if (!IsNetworkInit()) {
|
||||
msgTxt.SetText(tr("Could not initialize network!"));
|
||||
}
|
||||
|
||||
if (btn1.GetState() == STATE_CLICKED) {
|
||||
btn1.ResetState();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (IsNetworkInit()) {
|
||||
msgTxt.SetTextf("IP: %s", GetNetworkIP());
|
||||
cntMissFiles = 0;
|
||||
u32 i = 0;
|
||||
char filename[11];
|
||||
|
||||
bool found1 = false;/////add Ids of games that are missing covers to cntMissFiles
|
||||
bool found2 = false;
|
||||
bool found3 = false;
|
||||
for (i = 0; i < gameCnt && cntMissFiles < 500; i++) {
|
||||
struct discHdr* header = &gameList[i];
|
||||
if (choice2 != 3) {
|
||||
|
||||
snprintf (filename,sizeof(filename),"%c%c%c.png", header->id[0], header->id[1], header->id[2]);
|
||||
found2 = findfile(filename, Settings.covers_path);
|
||||
|
||||
snprintf (filename,sizeof(filename),"%c%c%c%c.png", header->id[0], header->id[1], header->id[2], header->id[3]);
|
||||
found3 = findfile(filename, Settings.covers_path);
|
||||
|
||||
snprintf(filename,sizeof(filename),"%c%c%c%c%c%c.png",header->id[0], header->id[1], header->id[2],
|
||||
header->id[3], header->id[4], header->id[5]); //full id
|
||||
found1 = findfile(filename, Settings.covers_path);
|
||||
if (!found1 && !found2 && !found3) { //if could not find any image
|
||||
snprintf(missingFiles[cntMissFiles],11,"%s",filename);
|
||||
cntMissFiles++;
|
||||
}
|
||||
} else if (choice2 == 3) {
|
||||
snprintf (filename,sizeof(filename),"%c%c%c.png", header->id[0], header->id[1], header->id[2]);
|
||||
found2 = findfile(filename, Settings.disc_path);
|
||||
snprintf(filename,sizeof(filename),"%c%c%c%c%c%c.png",header->id[0], header->id[1], header->id[2],
|
||||
header->id[3], header->id[4], header->id[5]); //full id
|
||||
found1 = findfile(filename,Settings.disc_path);
|
||||
if (!found1 && !found2) {
|
||||
snprintf(missingFiles[cntMissFiles],11,"%s",filename);
|
||||
cntMissFiles++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
promptWindow.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 50);
|
||||
snprintf(filename,sizeof(filename),"%c%c%c%c%c%c.png",header->id[0], header->id[1], header->id[2],
|
||||
header->id[3], header->id[4], header->id[5]); //full id
|
||||
found1 = findfile(filename, Settings.covers_path);
|
||||
if (!found1 && !found2 && !found3) { //if could not find any image
|
||||
snprintf(missingFiles[cntMissFiles],11,"%s",filename);
|
||||
cntMissFiles++;
|
||||
}
|
||||
} else if (choice2 == 3) {
|
||||
snprintf (filename,sizeof(filename),"%c%c%c.png", header->id[0], header->id[1], header->id[2]);
|
||||
found2 = findfile(filename, Settings.disc_path);
|
||||
snprintf(filename,sizeof(filename),"%c%c%c%c%c%c.png",header->id[0], header->id[1], header->id[2],
|
||||
header->id[3], header->id[4], header->id[5]); //full id
|
||||
found1 = findfile(filename,Settings.disc_path);
|
||||
if (!found1 && !found2) {
|
||||
snprintf(missingFiles[cntMissFiles],11,"%s",filename);
|
||||
cntMissFiles++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (cntMissFiles == 0) {
|
||||
msgTxt.SetText(tr("No file missing!"));
|
||||
sleep(1);
|
||||
}
|
||||
|
||||
promptWindow.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 50);
|
||||
while (promptWindow.GetEffect() > 0) usleep(50);
|
||||
|
||||
HaltGui();
|
||||
mainWindow->Remove(&promptWindow);
|
||||
mainWindow->SetState(STATE_DEFAULT);
|
||||
//change the gamelist backto how it was before this function
|
||||
__Menu_GetEntries();
|
||||
__Menu_GetEntries();
|
||||
ResumeGui();
|
||||
|
||||
if (cntMissFiles > 0 && !IsNetworkInit()) {
|
||||
NetworkInitPrompt();
|
||||
}
|
||||
|
||||
return;
|
||||
if (cntMissFiles == 0) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
/****************************************************************************
|
||||
* NetworkInitPrompt
|
||||
@ -2018,7 +2004,7 @@ ProgressDownloadWindow(int choice2) {
|
||||
msg2Txt.SetTextf("http://wiitdb.com : %s", missingFiles[i]);
|
||||
|
||||
|
||||
//download boxart image
|
||||
//download cover
|
||||
char imgPath[100];
|
||||
char URLFile[100];
|
||||
char tmp[75];
|
||||
@ -2852,17 +2838,29 @@ int ProgressUpdateWindow() {
|
||||
if (choice == 1) {
|
||||
titleTxt.SetTextf("%s USB Loader GX", tr("Updating"));
|
||||
msgTxt.SetPosition(0,100);
|
||||
msgTxt.SetTextf("%s", tr("Updating WiiTDB.zip"));//download the wad but it is saved as a genaric file.
|
||||
|
||||
msgTxt.SetTextf("%s", tr("Updating WiiTDB.zip"));
|
||||
|
||||
char wiitdbpath[200];
|
||||
char wiitdbpathtmp[200];
|
||||
struct block file = downloadfile(XMLurl);
|
||||
char xmliconpath[100];
|
||||
if (file.data != NULL) {
|
||||
sprintf(xmliconpath, "%swiitdb.zip", Settings.titlestxt_path);
|
||||
pfile = fopen(xmliconpath, "wb");
|
||||
fwrite(file.data,1,file.size,pfile);
|
||||
fclose(pfile);
|
||||
free(file.data);
|
||||
}
|
||||
snprintf(wiitdbpath, sizeof(wiitdbpath), "%swiitdb.zip", Settings.titlestxt_path);
|
||||
snprintf(wiitdbpathtmp, sizeof(wiitdbpathtmp), "%swiitmp.zip", Settings.titlestxt_path);
|
||||
rename(wiitdbpath,wiitdbpathtmp);
|
||||
pfile = fopen(wiitdbpath, "wb");
|
||||
fwrite(file.data,1,file.size,pfile);
|
||||
fclose(pfile);
|
||||
free(file.data);
|
||||
CloseXMLDatabase();
|
||||
if (OpenXMLDatabase(Settings.titlestxt_path, Settings.db_language, Settings.db_JPtoEN, true, Settings.titlesOverride==1?true:false, true)) { // open file, reload titles, keep in memory
|
||||
remove(wiitdbpathtmp);
|
||||
} else {
|
||||
remove(wiitdbpath);
|
||||
rename(wiitdbpathtmp,wiitdbpath);
|
||||
OpenXMLDatabase(Settings.titlestxt_path, Settings.db_language, Settings.db_JPtoEN, true, Settings.titlesOverride==1?true:false, true); // open file, reload titles, keep in memory
|
||||
}
|
||||
}
|
||||
|
||||
msgTxt.SetTextf("%s", tr("Updating Language Files:"));
|
||||
updateLanguageFiles();
|
||||
promptWindow.Append(&progressbarEmptyImg);
|
||||
|
@ -21,7 +21,7 @@ int WindowExitPrompt(const char *title, const char *msg, const char *btn1Label,
|
||||
int GameWindowPrompt();
|
||||
int DiscWait(const char *title, const char *msg, const char *btn1Label, const char *btn2Label, int IsDeviceWait);
|
||||
int FormatingPartition(const char *title, partitionEntry *entry);
|
||||
void SearchMissingImages(int choice2);
|
||||
bool SearchMissingImages(int choice2);
|
||||
int ProgressDownloadWindow(int choice2);
|
||||
int ProgressUpdateWindow();
|
||||
bool NetworkInitPrompt();
|
||||
|
@ -131,8 +131,9 @@ int showGameInfo(char *ID) {
|
||||
GuiText * synopsisTxt = NULL;
|
||||
GuiText ** genreTxt = NULL;
|
||||
GuiText ** wifiTxt = NULL;
|
||||
GuiText * betaTxt = NULL;
|
||||
GuiText * beta1Txt = NULL;
|
||||
GuiText * wiitdb1Txt = NULL;
|
||||
GuiText * wiitdb2Txt = NULL;
|
||||
GuiText * wiitdb3Txt = NULL;
|
||||
GuiText * memTxt = NULL;
|
||||
|
||||
GuiWindow gameinfoWindow(600,308);
|
||||
@ -760,18 +761,22 @@ int showGameInfo(char *ID) {
|
||||
gameinfoWindow2.Append(&txtWindow);
|
||||
}
|
||||
|
||||
//don't bother us txt
|
||||
snprintf(linebuf, sizeof(linebuf), "http://wiitdb.com");
|
||||
//snprintf(linebuf, sizeof(linebuf), tr("Don't bother the USB Loader GX Team about errors in this file."));
|
||||
betaTxt = new GuiText(linebuf, 17, (GXColor) {0,0,0, 255});
|
||||
betaTxt->SetAlignment(ALIGN_LEFT, ALIGN_BOTTOM);
|
||||
betaTxt->SetPosition(40,-15);
|
||||
gameinfoWindow.Append(betaTxt);
|
||||
wiitdb1Txt = new GuiText(linebuf, 16, (GXColor) {0,0,0, 255});
|
||||
wiitdb1Txt->SetAlignment(ALIGN_LEFT, ALIGN_BOTTOM);
|
||||
wiitdb1Txt->SetPosition(40,-15);
|
||||
gameinfoWindow.Append(wiitdb1Txt);
|
||||
snprintf(linebuf, sizeof(linebuf), tr("If you don't have WiFi, press 1 to get an URL to get your WiiTDB.zip"));
|
||||
beta1Txt = new GuiText(linebuf, 14, (GXColor) {0,0,0, 255});
|
||||
beta1Txt->SetAlignment(ALIGN_RIGHT, ALIGN_BOTTOM);
|
||||
beta1Txt->SetPosition(-17,-15);
|
||||
gameinfoWindow.Append(beta1Txt);
|
||||
wiitdb2Txt = new GuiText(linebuf, 14, (GXColor) {0,0,0, 255});
|
||||
wiitdb2Txt->SetAlignment(ALIGN_LEFT, ALIGN_BOTTOM);
|
||||
wiitdb2Txt->SetPosition(202,-15);
|
||||
gameinfoWindow.Append(wiitdb2Txt);
|
||||
snprintf(linebuf, sizeof(linebuf), " ");
|
||||
wiitdb3Txt = new GuiText(linebuf, 14, (GXColor) {0,0,0, 255});
|
||||
wiitdb3Txt->SetAlignment(ALIGN_LEFT, ALIGN_BOTTOM);
|
||||
wiitdb3Txt->SetPosition(202,-4);
|
||||
gameinfoWindow.Append(wiitdb3Txt);
|
||||
|
||||
gameinfoWindow.SetEffect(EFFECT_SLIDE_LEFT | EFFECT_SLIDE_IN, 100);
|
||||
HaltGui();
|
||||
@ -874,11 +879,11 @@ int showGameInfo(char *ID) {
|
||||
} else if (urlBtn.GetState()==STATE_CLICKED) {
|
||||
if (save_XML_URL()) {
|
||||
snprintf(linebuf, sizeof(linebuf), tr("Your URL has been saved in %sWiiTDB_URL.txt."), Settings.update_path);
|
||||
betaTxt->SetText(linebuf);
|
||||
gameinfoWindow.Append(betaTxt);
|
||||
wiitdb2Txt->SetText(linebuf);
|
||||
gameinfoWindow.Append(wiitdb2Txt);
|
||||
snprintf(linebuf, sizeof(linebuf), tr("Paste it into your browser to get your WiiTDB.zip."));
|
||||
beta1Txt->SetText(linebuf);
|
||||
gameinfoWindow.Append(beta1Txt);
|
||||
wiitdb3Txt->SetText(linebuf);
|
||||
gameinfoWindow.Append(wiitdb3Txt);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -942,8 +947,9 @@ int showGameInfo(char *ID) {
|
||||
delete developerTxt;
|
||||
delete titleTxt;
|
||||
delete synopsisTxt;
|
||||
delete betaTxt;
|
||||
delete beta1Txt;
|
||||
delete wiitdb1Txt;
|
||||
delete wiitdb2Txt;
|
||||
delete wiitdb3Txt;
|
||||
delete memTxt;
|
||||
if (gameinfo.genreCnt>0) {
|
||||
for (int i=1;i<=gameinfo.genreCnt;i++) {
|
||||
@ -1005,13 +1011,13 @@ bool save_XML_URL() { // save xml url as as txt file for people without wifi
|
||||
}
|
||||
|
||||
fprintf(f, "# USB Loader Has Saved this file\n");
|
||||
fprintf(f, "# This url was created based on your list of games and language settings\n");
|
||||
fprintf(f, "# This URL was created based on your list of games and language settings.\n");
|
||||
fclose(f);
|
||||
/* Closing and reopening because of a write issue we are having right now */
|
||||
f = fopen(tmp, "w");
|
||||
fprintf(f, "# USB Loader Has Saved this file\n");
|
||||
fprintf(f, "# This url was created based on your list of games and language settings.\n");
|
||||
fprintf(f, "# If copy and paste this URL into your web browser and you should get a zip file that will work for you.\n");
|
||||
fprintf(f, "# This URL was created based on your list of games and language settings.\n");
|
||||
fprintf(f, "# Copy and paste this URL into your web browser and you should get a zip file that will work for you.\n");
|
||||
fprintf(f, "%s\n\n\n ", XMLurl);
|
||||
|
||||
fclose(f);
|
||||
|
@ -2104,7 +2104,7 @@ int GameSettings(struct discHdr * header) {
|
||||
if (alternatedol == 2) options2.SetValue(8,tr("Select a DOL"));
|
||||
else if (alternatedol == off) options2.SetValue(8,tr("OFF"));
|
||||
|
||||
if (alternatedol == on) options2.SetValue(9,tr("SD selected"));
|
||||
if (alternatedol == on) options2.SetValue(9,tr("SD/USB selected"));
|
||||
else if (alternatedol == off) options2.SetValue(9,tr("OFF"));
|
||||
else options2.SetValue(9, alternatedname);
|
||||
|
||||
@ -2186,7 +2186,7 @@ int GameSettings(struct discHdr * header) {
|
||||
char filename[10];
|
||||
snprintf(filename,sizeof(filename),"%c%c%c%c%c%c",header->id[0], header->id[1], header->id[2],
|
||||
header->id[3],header->id[4], header->id[5]);
|
||||
int dolchoice =0;
|
||||
int dolchoice = 0;
|
||||
//check to see if we already know the offset of the correct dol
|
||||
int autodol = autoSelectDol(filename);
|
||||
|
||||
@ -2195,16 +2195,18 @@ int GameSettings(struct discHdr * header) {
|
||||
dolchoice = WindowPrompt(0,tr("Do you want to use the alt dol that is known to be correct?"),tr("Yes"),tr("Pick from a list"));
|
||||
if (dolchoice==1) {
|
||||
alternatedoloffset = autodol;
|
||||
snprintf(alternatedname, sizeof(alternatedname), "%s <%i>", tr("AUTO"),autodol);
|
||||
snprintf(alternatedname, sizeof(alternatedname), "%s <%i>", tr("AUTO"),autodol);
|
||||
} else {//they want to search for the correct dol themselves
|
||||
int res = DiscBrowse(header);
|
||||
if ((res >= 0)&&(res !=696969))//if res==6969696 they pressed the back button
|
||||
if ((res >= 0)&&(res !=696969)) {//if res==696969 they pressed the back button
|
||||
alternatedoloffset = res;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
int res = DiscBrowse(header);
|
||||
if ((res >= 0)&&(res !=696969))
|
||||
if ((res >= 0)&&(res !=696969)){
|
||||
alternatedoloffset = res;
|
||||
}
|
||||
char tmp[170];
|
||||
snprintf(tmp,sizeof(tmp),"%s %s - %i",tr("It seems that you have some information that will we helpfull to us. Please pass this information along to the DEV team.") ,filename,alternatedoloffset);
|
||||
WindowPrompt(0,tmp,tr("Ok"));
|
||||
|
@ -228,8 +228,8 @@ void CFG_Default(int widescreen) { // -1 = non forced Mode
|
||||
THEME.settingsTxt_b = 0;
|
||||
THEME.cover_x = 26;
|
||||
THEME.cover_y = 58;
|
||||
THEME.homebrew_x = 425;
|
||||
THEME.homebrew_y = 400;
|
||||
THEME.homebrew_x = 410;
|
||||
THEME.homebrew_y = 405;
|
||||
THEME.showID = 1;
|
||||
// THEME.maxcharacters = 36;
|
||||
THEME.id_x = 68;
|
||||
@ -239,10 +239,10 @@ void CFG_Default(int widescreen) { // -1 = non forced Mode
|
||||
THEME.power_x = 576;
|
||||
THEME.tooltipAlpha = 255;
|
||||
THEME.power_y = 355;
|
||||
THEME.home_x = 485;//215;
|
||||
THEME.home_y = 367;
|
||||
THEME.setting_x = 60;//-210
|
||||
THEME.setting_y = 367;
|
||||
THEME.home_x = 489;//215;
|
||||
THEME.home_y = 371;
|
||||
THEME.setting_x = 64;//-210
|
||||
THEME.setting_y = 371;
|
||||
THEME.showHDD = 1; //default
|
||||
THEME.showGameCnt = 1; //default
|
||||
THEME.showToolTip = 1; //1 means use settings, 0 means force turn off
|
||||
@ -251,10 +251,10 @@ void CFG_Default(int widescreen) { // -1 = non forced Mode
|
||||
THEME.showBattery = 1;
|
||||
THEME.showRegion = 1;
|
||||
THEME.hddInfo_x = 0;
|
||||
THEME.hddInfo_y = 410;
|
||||
THEME.hddInfo_y = 400;
|
||||
THEME.hddInfoAlign = CFG_ALIGN_CENTRE;
|
||||
THEME.gameCnt_x = 0;
|
||||
THEME.gameCnt_y = 430;
|
||||
THEME.gameCnt_y = 420;
|
||||
THEME.gameCntAlign = CFG_ALIGN_CENTRE;
|
||||
THEME.battery1_x = 245;
|
||||
THEME.battery1_y = 400;
|
||||
@ -273,8 +273,8 @@ void CFG_Default(int widescreen) { // -1 = non forced Mode
|
||||
THEME.clock_x = 0;
|
||||
THEME.clock_y = 335;//330;
|
||||
THEME.clockAlign = CFG_ALIGN_CENTRE;
|
||||
THEME.sdcard_x = 150;
|
||||
THEME.sdcard_y = 390;
|
||||
THEME.sdcard_x = 160;
|
||||
THEME.sdcard_y = 395;
|
||||
THEME.gameText_r = 0;
|
||||
THEME.gameText_g = 0;
|
||||
THEME.gameText_b = 0;
|
||||
|