mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-11-22 19:29:18 +01:00
Fix for games that don't always need an alt dol. Empty .gct files won't be loaded now.
This commit is contained in:
parent
370a332fcc
commit
9a112e9834
@ -1409,7 +1409,7 @@ int MenuDiscList() {
|
||||
altdoldefault = false;
|
||||
}
|
||||
if (altdoldefault) {
|
||||
int autodol = autoSelectDol((char*)header->id);
|
||||
int autodol = autoSelectDol((char*)header->id, true);
|
||||
if (autodol>0) {
|
||||
alternatedol = 2;
|
||||
alternatedoloffset = autodol;
|
||||
|
@ -64,6 +64,13 @@ u32 do_sd_code(char *filename)
|
||||
|
||||
fseek(fp, 0, SEEK_END);
|
||||
filesize = ftell(fp);
|
||||
if(filesize <= 16){
|
||||
fclose(fp);
|
||||
sleep(2);
|
||||
USBDevice_deInit();
|
||||
SDCard_deInit();
|
||||
return 0;
|
||||
}
|
||||
fseek(fp, 0, SEEK_SET);
|
||||
|
||||
filebuff = (u8*) malloc (filesize);
|
||||
|
@ -231,8 +231,9 @@ int DiscBrowse(struct discHdr * header) {
|
||||
}
|
||||
|
||||
|
||||
int autoSelectDol(const char *id) {
|
||||
//////////ID6/////////////////
|
||||
int autoSelectDol(const char *id, bool force) {
|
||||
|
||||
// games that always need alt dol, can be forced
|
||||
|
||||
//Boogie
|
||||
if (strcmp(id,"RBOP69") == 0) return 657;//from isostar
|
||||
@ -247,29 +248,12 @@ int autoSelectDol(const char *id) {
|
||||
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
|
||||
|
||||
//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
|
||||
|
||||
//Medal of Honor: Heroes 2
|
||||
if (strcmp(id,"RM2X69") == 0)return 601;//dj_skual
|
||||
if (strcmp(id,"RM2P69") == 0)return 517;//MZottel
|
||||
if (strcmp(id,"RM2E69") == 0) return 492;//Old8oy
|
||||
|
||||
//Metal Slug Anthology
|
||||
if (strcmp(id,"RMLP7U") == 0) return 56;//from isostar
|
||||
|
||||
//Mortal Kombat
|
||||
if (strcmp(id,"RKMP5D") == 0) return 290;//from isostar
|
||||
if (strcmp(id,"RKME5D") == 0) return 290;//starstremr
|
||||
@ -288,10 +272,6 @@ int autoSelectDol(const char *id) {
|
||||
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
|
||||
|
||||
//Tiger Woods 10
|
||||
if (strcmp(id,"R9OP69") == 0) return 1991;//from isostar
|
||||
if (strcmp(id,"R9OE69") == 0) return 1973;//starstremr
|
||||
@ -300,11 +280,35 @@ int autoSelectDol(const char *id) {
|
||||
if (strcmp(id,"RVUP8P") == 0) return 16426;//from isostar
|
||||
if (strcmp(id,"RVUE8P") == 0) return 16405;//from isostar
|
||||
|
||||
|
||||
// for games that can't be forced, when the alt dol is not always needed
|
||||
if (!force) {
|
||||
|
||||
//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
|
||||
|
||||
//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
|
||||
|
||||
//Medal of Honor: Heroes 2
|
||||
if (strcmp(id,"RM2X69") == 0)return 601;//dj_skual
|
||||
if (strcmp(id,"RM2P69") == 0)return 517;//MZottel
|
||||
if (strcmp(id,"RM2E69") == 0) return 492;//Old8oy
|
||||
|
||||
//Metal Slug Anthology
|
||||
if (strcmp(id,"RMLP7U") == 0) return 56;//from isostar
|
||||
|
||||
//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
|
||||
|
||||
//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
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
#define _DISCBROWSER_H_
|
||||
|
||||
int DiscBrowse(struct discHdr * header);
|
||||
int autoSelectDol(const char *id);
|
||||
int autoSelectDol(const char *id, bool force);
|
||||
int autoSelectDolMenu(const char *id);
|
||||
|
||||
#endif
|
||||
|
@ -2192,7 +2192,7 @@ int GameSettings(struct discHdr * header) {
|
||||
snprintf(alternatedname, sizeof(alternatedname), "%s <%i>", tr("AUTO"),autodol);
|
||||
} else if (autodol!=0) {
|
||||
//check to see if we already know the offset of the correct dol
|
||||
int autodol = autoSelectDol(filename);
|
||||
int autodol = autoSelectDol(filename, false);
|
||||
//if we do know that offset ask if they want to use it
|
||||
if (autodol>0) {
|
||||
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"));
|
||||
|
Loading…
Reference in New Issue
Block a user