From e5db72b71db6afba82a62e324ce77a459e06bc6e Mon Sep 17 00:00:00 2001 From: dimok321 <15055714+dimok789@users.noreply.github.com> Date: Fri, 21 Jan 2011 19:43:59 +0000 Subject: [PATCH] *Fixed the parental control settings code dump *Reworked almost everything about alternate DOL loading (I am wondering how loading from SD/USB even worked) *Added new Option "Default" for alternate DOL which is now the default settings. This setting will select the alternate DOL automatically for games like Red Steel 1 because this alt. DOL is always needed to play the game. On games where the alt dol option is not needed the option "Default" = "OFF". This is just an attempt to make this option more automatic. Games like Metroid Prime (the only game right now) will have a prompt on game start where you choose between 1, 2 or 3 on this option because this game always requires either of these. *Small source cleanups/fixes --- HBC/META.XML | 4 +- Languages/czech.lang | 26 +- Languages/danish.lang | 26 +- Languages/dutch.lang | 26 +- Languages/english.lang | 20 +- Languages/finnish.lang | 26 +- Languages/french.lang | 26 +- Languages/german.lang | 26 +- Languages/hungarian.lang | 26 +- Languages/italian.lang | 26 +- Languages/japanese.lang | 26 +- Languages/korean.lang | 26 +- Languages/norwegian.lang | 26 +- Languages/polish.lang | 26 +- Languages/portuguese_br.lang | 26 +- Languages/portuguese_pt.lang | 26 +- Languages/russian.lang | 26 +- Languages/schinese.lang | 26 +- Languages/spanish.lang | 26 +- Languages/swedish.lang | 26 +- Languages/tchinese.lang | 26 +- Languages/thai.lang | 26 +- Languages/turkish.lang | 26 +- gui.pnproj | 2 +- source/GameBootProcess.cpp | 101 ++++--- source/menu.cpp | 3 +- source/menu/GameBrowseMenu.cpp | 73 ++--- source/menu/GameBrowseMenu.hpp | 2 +- source/menu/menu_disclist.cpp | 19 -- source/menu/menus.h | 1 - source/patches/fst.c | 9 +- source/prompts/DiscBrowser.cpp | 244 ---------------- source/prompts/DiscBrowser.h | 2 - source/settings/CGameSettings.cpp | 22 ++ source/settings/CGameSettings.h | 3 + source/settings/SettingsEnums.h | 9 + source/settings/menus/GameLoadSM.cpp | 69 ++--- source/settings/menus/ParentalControlSM.cpp | 32 +-- source/usbloader/AlternateDOLOffsets.cpp | 242 ++++++++++++++++ source/usbloader/AlternateDOLOffsets.h | 8 + source/usbloader/alternatedol.c | 303 ++++++++------------ source/usbloader/alternatedol.h | 11 +- source/usbloader/apploader.c | 15 +- 43 files changed, 957 insertions(+), 783 deletions(-) delete mode 100644 source/menu/menu_disclist.cpp create mode 100644 source/usbloader/AlternateDOLOffsets.cpp create mode 100644 source/usbloader/AlternateDOLOffsets.h diff --git a/HBC/META.XML b/HBC/META.XML index fe92fb20..a3aae819 100644 --- a/HBC/META.XML +++ b/HBC/META.XML @@ -2,8 +2,8 @@ USB Loader GX USB Loader GX Team - 2.0 r1048 - 201101201504 + 2.0 r1049 + 201101201831 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/Languages/czech.lang b/Languages/czech.lang index a202695d..8c4708b9 100644 --- a/Languages/czech.lang +++ b/Languages/czech.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: David Jelinek (djelinek@hotmail.com) e->e,r->r,u->u, c->c \n" "Language-Team: r1043 - last version on http://djelinek.sweb.cz/_USBLoderGX/czech.lang \n" @@ -421,9 +421,6 @@ msgstr "Zobrait jako seznam" msgid "Display favorites only" msgstr "Zobrazit pouze oblíbené" -msgid "Do you really want to delete:" -msgstr "Opravdu smazat:" - msgid "Do you want to apply it now?" msgstr "Prejete si aplikovat zmeny hned?" @@ -445,9 +442,6 @@ msgstr "Prejete si nahrát toto téma?" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Prejete si použít jiný DOL, který je správný?" - msgid "Do you wish to update/download all language files?" msgstr "Prejete si zaktualizovat vsechny jazykové soubory?" @@ -643,6 +637,9 @@ msgstr "Nahrání hry" msgid "Game Lock" msgstr "Zámek hry" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Region hry" @@ -856,6 +853,9 @@ msgstr "Aktualizace nástenky" msgid "Missing files" msgstr "Chybející soubory" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "Spustit z DVD" @@ -1298,6 +1298,9 @@ msgstr "Odinstalace hry" msgid "Uninstall Menu" msgstr "Menu odinstalací" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Odinstalace WAD" @@ -1371,6 +1374,9 @@ msgstr "Varování:" msgid "What do you want to update?" msgstr "Co si prejete zaktualizovat?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "WiFi možnosti" @@ -1467,6 +1473,12 @@ msgstr "z " msgid "seconds left" msgstr "sekund zbývá" +#~ msgid "Do you really want to delete:" +#~ msgstr "Opravdu smazat:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Prejete si použít jiný DOL, který je správný?" + #~ msgid "0 (Locked and Unlocked Games)" #~ msgstr "0 (Zamcené a odemcené hry)" diff --git a/Languages/danish.lang b/Languages/danish.lang index a4952629..6468006b 100644 --- a/Languages/danish.lang +++ b/Languages/danish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: Fox88[dk]\n" "Language-Team: [dk]\n" @@ -421,9 +421,6 @@ msgstr "Vis som liste" msgid "Display favorites only" msgstr "Vis kun favoritter" -msgid "Do you really want to delete:" -msgstr "Vil du slette:" - msgid "Do you want to apply it now?" msgstr "Skal det aktiveres nu?" @@ -445,9 +442,6 @@ msgstr "Vil du indlæse dette tema?" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "Vil du synkronisere fri plads info sector på alle FAT32 Partitioner?" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Skal den alternative DOL, der med sikkerhed er korrekt, bruges?" - msgid "Do you wish to update/download all language files?" msgstr "Skal alle sprogfiler opdateres/downloades?" @@ -643,6 +637,9 @@ msgstr "Spilindstillinger" msgid "Game Lock" msgstr "Spil låst" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Region" @@ -856,6 +853,9 @@ msgstr "Messageboard opdatering" msgid "Missing files" msgstr "Manglende filer" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "Mount DVD-drev" @@ -1298,6 +1298,9 @@ msgstr "Afinstallér spil" msgid "Uninstall Menu" msgstr "Afinstallationsmenu" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Afinstallerer WAD" @@ -1371,6 +1374,9 @@ msgstr "Advarsel:" msgid "What do you want to update?" msgstr "Hvad skal opdateres?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "WiFi-indstillinger" @@ -1467,6 +1473,12 @@ msgstr "af" msgid "seconds left" msgstr "sekunder tilbage" +#~ msgid "Do you really want to delete:" +#~ msgstr "Vil du slette:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Skal den alternative DOL, der med sikkerhed er korrekt, bruges?" + #~ msgid "0 (Locked and Unlocked Games)" #~ msgstr "0 (låste og oplåste spil)" diff --git a/Languages/dutch.lang b/Languages/dutch.lang index 2c9e5d2a..8e03ee87 100644 --- a/Languages/dutch.lang +++ b/Languages/dutch.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2011-01-18 11:19+0100\n" "Last-Translator: glowy\n" "Language-Team: tj_cool, glowy\n" @@ -421,9 +421,6 @@ msgstr "Lijstweergave" msgid "Display favorites only" msgstr "Alleen favorieten weergeven" -msgid "Do you really want to delete:" -msgstr "Wil je echt verwijderen:" - msgid "Do you want to apply it now?" msgstr "Wil je dit nu toepassen?" @@ -445,9 +442,6 @@ msgstr "Wil je dit thema laden?" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "Wil je de vrije ruimte informatie sector synchroniseren op alle FAT32 partities?" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Wil je de alt DOL gebruiken waarvan is bevestigd dat deze werkt?" - msgid "Do you wish to update/download all language files?" msgstr "Wil je alle taalbestanden updaten/downloaden?" @@ -643,6 +637,9 @@ msgstr "Spel opties" msgid "Game Lock" msgstr "Spel vergrendelen" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Spel Regio" @@ -856,6 +853,9 @@ msgstr "" msgid "Missing files" msgstr "Missende bestanden" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "DVD Laden" @@ -1298,6 +1298,9 @@ msgstr "Spel verwijderen" msgid "Uninstall Menu" msgstr "Verwijderen" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Wad verwijderen" @@ -1371,6 +1374,9 @@ msgstr "Waarschuwing:" msgid "What do you want to update?" msgstr "Wat wil je updaten?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "WiFi functies" @@ -1467,6 +1473,12 @@ msgstr "van" msgid "seconds left" msgstr "seconden over" +#~ msgid "Do you really want to delete:" +#~ msgstr "Wil je echt verwijderen:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Wil je de alt DOL gebruiken waarvan is bevestigd dat deze werkt?" + #~ msgid "0 (Locked and Unlocked Games)" #~ msgstr "0 (Vergrendelde en Ontgrendelde spellen)" diff --git a/Languages/english.lang b/Languages/english.lang index 442f35bb..702d5cda 100644 --- a/Languages/english.lang +++ b/Languages/english.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:41+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -421,9 +421,6 @@ msgstr "" msgid "Display favorites only" msgstr "" -msgid "Do you really want to delete:" -msgstr "" - msgid "Do you want to apply it now?" msgstr "" @@ -445,9 +442,6 @@ msgstr "" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "" - msgid "Do you wish to update/download all language files?" msgstr "" @@ -643,6 +637,9 @@ msgstr "" msgid "Game Lock" msgstr "" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "" @@ -856,6 +853,9 @@ msgstr "" msgid "Missing files" msgstr "" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "" @@ -1298,6 +1298,9 @@ msgstr "" msgid "Uninstall Menu" msgstr "" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "" @@ -1371,6 +1374,9 @@ msgstr "" msgid "What do you want to update?" msgstr "" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "" diff --git a/Languages/finnish.lang b/Languages/finnish.lang index 042fea7a..33451df3 100644 --- a/Languages/finnish.lang +++ b/Languages/finnish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:41+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: c64rmx\n" "Language-Team: \n" @@ -421,9 +421,6 @@ msgstr "Näytä listana" msgid "Display favorites only" msgstr "" -msgid "Do you really want to delete:" -msgstr "Haluatko varmasti formatoida:" - msgid "Do you want to apply it now?" msgstr "" @@ -445,9 +442,6 @@ msgstr "" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Haluatko käyttää vaihtoehtoista DOL tiedostoa jonka tiedetään toimivan?" - msgid "Do you wish to update/download all language files?" msgstr "Haluatko päivittää/ladata kaikki kielitiedostot?" @@ -643,6 +637,9 @@ msgstr "Pelin lataus" msgid "Game Lock" msgstr "" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Alue" @@ -856,6 +853,9 @@ msgstr "" msgid "Missing files" msgstr "tiedostoja puuttuu" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "" @@ -1298,6 +1298,9 @@ msgstr "Poista peli" msgid "Uninstall Menu" msgstr "Poistomenu" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Poistetaan wad:ia" @@ -1371,6 +1374,9 @@ msgstr "" msgid "What do you want to update?" msgstr "Mitä haluat päivittää?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "WiFi ominaisuudet" @@ -1467,6 +1473,12 @@ msgstr "josta" msgid "seconds left" msgstr "sekuntia jäljellä" +#~ msgid "Do you really want to delete:" +#~ msgstr "Haluatko varmasti formatoida:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Haluatko käyttää vaihtoehtoista DOL tiedostoa jonka tiedetään toimivan?" + #~ msgid "Unlock console to use this option." #~ msgstr "Avaa konsoli käyttääksesi tätä vaihtoehtoa" diff --git a/Languages/french.lang b/Languages/french.lang index e6fdf643..2fe202b3 100644 --- a/Languages/french.lang +++ b/Languages/french.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:41+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: Cyan\n" "Language-Team: Badablek, Amour, ikya & Kin8\n" @@ -421,9 +421,6 @@ msgstr "Liste" msgid "Display favorites only" msgstr "Seulement les favoris" -msgid "Do you really want to delete:" -msgstr "Voulez-vous vraiment supprimer:" - msgid "Do you want to apply it now?" msgstr "L'appliquer maintenant ?" @@ -445,9 +442,6 @@ msgstr "Voulez-vous charger ce thème ?" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "Voulez-vous synchroniser l'information d'espace libre disponible sur toutes les partitions FAT32 ?" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Voulez-vous utiliser le DOL alternatif actuellement connu comme correct ?" - msgid "Do you wish to update/download all language files?" msgstr "Voulez-vous actualiser/télécharger tous les fichiers langue ?" @@ -643,6 +637,9 @@ msgstr "Paramètres du jeu" msgid "Game Lock" msgstr "Verrouiller le jeu" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Région" @@ -856,6 +853,9 @@ msgstr "Mise à jour carnet Wii" msgid "Missing files" msgstr "Fichier(s) manquant(s)" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "Lancer DVD" @@ -1298,6 +1298,9 @@ msgstr "Désinstaller le jeu" msgid "Uninstall Menu" msgstr "Menu suppression" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Désinstallation wad" @@ -1371,6 +1374,9 @@ msgstr "Attention:" msgid "What do you want to update?" msgstr "Choix de la mise à jour" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "Connexion WiFi" @@ -1467,6 +1473,12 @@ msgstr "sur" msgid "seconds left" msgstr "secondes restantes" +#~ msgid "Do you really want to delete:" +#~ msgstr "Voulez-vous vraiment supprimer:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Voulez-vous utiliser le DOL alternatif actuellement connu comme correct ?" + #~ msgid "0 (Locked and Unlocked Games)" #~ msgstr "0 (Affiche les jeux verrouillés et non verrouillés)" diff --git a/Languages/german.lang b/Languages/german.lang index 6bdde041..b7dd6ba4 100644 --- a/Languages/german.lang +++ b/Languages/german.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:41+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2010-07-03 17:35-0800\n" "Last-Translator: TheRealVisitor\n" "Language-Team: Bertilax, Snoozer, wishmasterf, ZEN.13, TheRealVisitor\n" @@ -421,9 +421,6 @@ msgstr "Listen-Ansicht" msgid "Display favorites only" msgstr "Zeige nur Favoriten" -msgid "Do you really want to delete:" -msgstr "Löschvorgang bestätigen:" - msgid "Do you want to apply it now?" msgstr "Jetzt übernehmen?" @@ -445,9 +442,6 @@ msgstr "Soll dieses Theme geladen werden?" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Die bekannte Alternative DOL verwenden?" - msgid "Do you wish to update/download all language files?" msgstr "Alle Sprachdateien aktualisieren?" @@ -643,6 +637,9 @@ msgstr "Spieleinstellungen" msgid "Game Lock" msgstr "Spielsprerre" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Region" @@ -856,6 +853,9 @@ msgstr "Nachrichtenboard Update" msgid "Missing files" msgstr "Fehlende Dateien" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "Spiel starten" @@ -1298,6 +1298,9 @@ msgstr "Spiel deinstallieren" msgid "Uninstall Menu" msgstr "Deinstallationsmenü" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Deinstalliere WAD" @@ -1371,6 +1374,9 @@ msgstr "Warnung:" msgid "What do you want to update?" msgstr "Was möchtest du aktualisieren?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "WiFi Fähigkeiten" @@ -1467,6 +1473,12 @@ msgstr "von" msgid "seconds left" msgstr "Sekunden verbleiben" +#~ msgid "Do you really want to delete:" +#~ msgstr "Löschvorgang bestätigen:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Die bekannte Alternative DOL verwenden?" + #~ msgid "0 (Locked and Unlocked Games)" #~ msgstr "0 (Gesperrte und nichtgesperrte Spiele)" diff --git a/Languages/hungarian.lang b/Languages/hungarian.lang index 4b8a1bea..eaef2463 100644 --- a/Languages/hungarian.lang +++ b/Languages/hungarian.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:41+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-12-29 11:05+0100\n" "Last-Translator: Springdale\n" "Language-Team: Tusk, Springdale\n" @@ -421,9 +421,6 @@ msgstr "Lista megjelenítés" msgid "Display favorites only" msgstr "" -msgid "Do you really want to delete:" -msgstr "Biztosan törlöd?" - msgid "Do you want to apply it now?" msgstr "Alkalmazás most?" @@ -445,9 +442,6 @@ msgstr "" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Köztudottan működõ alternatív DOL használata?" - msgid "Do you wish to update/download all language files?" msgstr "Minden nyelvi fájl letöltése/frissítése?" @@ -643,6 +637,9 @@ msgstr "Játék Betöltés" msgid "Game Lock" msgstr "" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Játék Régió" @@ -856,6 +853,9 @@ msgstr "" msgid "Missing files" msgstr "Hiányzó fájl" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "DVD meghajtó felcsatolása" @@ -1298,6 +1298,9 @@ msgstr "Játék törlése" msgid "Uninstall Menu" msgstr "Adatkezelés" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Wad törlése" @@ -1371,6 +1374,9 @@ msgstr "" msgid "What do you want to update?" msgstr "Mit szeretnél frissíteni?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "WiFi Sajátosságok" @@ -1467,6 +1473,12 @@ msgstr "./" msgid "seconds left" msgstr "hátralévõ másodperc" +#~ msgid "Do you really want to delete:" +#~ msgstr "Biztosan törlöd?" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Köztudottan működõ alternatív DOL használata?" + #~ msgid "BETA revisions" #~ msgstr "Béta változatok" diff --git a/Languages/italian.lang b/Languages/italian.lang index cd67fa38..63f8a3b5 100644 --- a/Languages/italian.lang +++ b/Languages/italian.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:41+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2011-01-16 16:00+0200\n" "Last-Translator: Cambo \n" "Language-Team: Cambo\n" @@ -421,9 +421,6 @@ msgstr "Visualizzazione a Elenco" msgid "Display favorites only" msgstr "Mostra solo i preferiti" -msgid "Do you really want to delete:" -msgstr "Vuoi veramente eliminare:" - msgid "Do you want to apply it now?" msgstr "Applicare immediatamente?" @@ -445,9 +442,6 @@ msgstr "Vuoi caricare questo tema?" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "Vuoi sincronizzare le informazioni sullo spazio libero in tutte le partizioni FAT32?" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Vuoi utilizzare il DOL alternativo funzionante?" - msgid "Do you wish to update/download all language files?" msgstr "Vuoi scaricare/aggiornare tutti i file delle lingue?" @@ -643,6 +637,9 @@ msgstr "Impostazioni Gioco" msgid "Game Lock" msgstr "Bloccaggio Gioco" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Regione Gioco" @@ -856,6 +853,9 @@ msgstr "Aggiorna Messaggi" msgid "Missing files" msgstr "File Mancante/i" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "Avvia DVD" @@ -1298,6 +1298,9 @@ msgstr "Disinstalla il gioco" msgid "Uninstall Menu" msgstr "Menu Disinstallazioni" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Disinstalla WAD" @@ -1371,6 +1374,9 @@ msgstr "Attenzione:" msgid "What do you want to update?" msgstr "Che cosa vuoi aggiornare?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "Caratteristiche WiFi" @@ -1467,6 +1473,12 @@ msgstr "di" msgid "seconds left" msgstr "secondi mancanti" +#~ msgid "Do you really want to delete:" +#~ msgstr "Vuoi veramente eliminare:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Vuoi utilizzare il DOL alternativo funzionante?" + #~ msgid "0 (Locked and Unlocked Games)" #~ msgstr "0 (Tutti i Giochi)" diff --git a/Languages/japanese.lang b/Languages/japanese.lang index 777f300a..016fc55b 100644 --- a/Languages/japanese.lang +++ b/Languages/japanese.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: papa\n" "Language-Team: hosigumayuugi, papa\n" @@ -421,9 +421,6 @@ msgstr "リスト表示" msgid "Display favorites only" msgstr "お気に入り" -msgid "Do you really want to delete:" -msgstr "本当に削除しますか:" - msgid "Do you want to apply it now?" msgstr "適用しますか?" @@ -445,9 +442,6 @@ msgstr "このテーマに変更しますか?" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "全てのFAT32領域のセクタで空き容量情報を同期しますか?" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "既知の代替DOLを利用しますか?" - msgid "Do you wish to update/download all language files?" msgstr "すべての言語をダウンロードしますか?" @@ -643,6 +637,9 @@ msgstr "ゲームの起動方法" msgid "Game Lock" msgstr "ロック" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "リージョンのみ" @@ -856,6 +853,9 @@ msgstr "Wii伝言板" msgid "Missing files" msgstr "個の画像" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "DVDを起動" @@ -1298,6 +1298,9 @@ msgstr "ゲームをアンインストール" msgid "Uninstall Menu" msgstr "アンインストール" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "WADをアンインストール" @@ -1371,6 +1374,9 @@ msgstr "警告:" msgid "What do you want to update?" msgstr "更新の選択" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "WiFi機能" @@ -1467,6 +1473,12 @@ msgstr "中" msgid "seconds left" msgstr "秒で完了" +#~ msgid "Do you really want to delete:" +#~ msgstr "本当に削除しますか:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "既知の代替DOLを利用しますか?" + #~ msgid "0 (Locked and Unlocked Games)" #~ msgstr "全ゲーム" diff --git a/Languages/korean.lang b/Languages/korean.lang index 2a0cf850..a549d800 100644 --- a/Languages/korean.lang +++ b/Languages/korean.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: nextos@korea.com\n" "Language-Team: \n" @@ -421,9 +421,6 @@ msgstr "리스트로 표시" msgid "Display favorites only" msgstr "" -msgid "Do you really want to delete:" -msgstr "정말로 삭제하겠습니까:" - msgid "Do you want to apply it now?" msgstr "" @@ -445,9 +442,6 @@ msgstr "" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "정말로 Alt. DOL을 사용할까요?" - msgid "Do you wish to update/download all language files?" msgstr "정말로 모든 언어화일을 업데이트하고 다운로드 할까요?" @@ -643,6 +637,9 @@ msgstr "게임 로드" msgid "Game Lock" msgstr "" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "지역" @@ -856,6 +853,9 @@ msgstr "" msgid "Missing files" msgstr "파일 누락" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "" @@ -1298,6 +1298,9 @@ msgstr "게임 언인스톨" msgid "Uninstall Menu" msgstr "메뉴 언인스톨" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "WAD 언인스톨" @@ -1371,6 +1374,9 @@ msgstr "" msgid "What do you want to update?" msgstr "무엇을 업데이트 할까요?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "WiFi 형태" @@ -1467,6 +1473,12 @@ msgstr "중" msgid "seconds left" msgstr "초 남았습니다" +#~ msgid "Do you really want to delete:" +#~ msgstr "정말로 삭제하겠습니까:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "정말로 Alt. DOL을 사용할까요?" + #~ msgid "Unlock console to use this option." #~ msgstr "이 옵션을 사용하기 위해 콘솔을 잠금해제" diff --git a/Languages/norwegian.lang b/Languages/norwegian.lang index c82349c3..d674e166 100644 --- a/Languages/norwegian.lang +++ b/Languages/norwegian.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: raschi\n" "Language-Team: raschi\n" @@ -421,9 +421,6 @@ msgstr "Vis som liste" msgid "Display favorites only" msgstr "" -msgid "Do you really want to delete:" -msgstr "Er du sikker på at du vil slette:" - msgid "Do you want to apply it now?" msgstr "" @@ -445,9 +442,6 @@ msgstr "" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Vil du bruke alt DOL filen som er kjent for å være riktig?" - msgid "Do you wish to update/download all language files?" msgstr "Vil du oppdatere/laste ned alle språkfiler?" @@ -643,6 +637,9 @@ msgstr "Lasting av spill" msgid "Game Lock" msgstr "" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Region" @@ -856,6 +853,9 @@ msgstr "" msgid "Missing files" msgstr "Manglende filer" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "Last DVD stasjon" @@ -1298,6 +1298,9 @@ msgstr "Avinstallér spill" msgid "Uninstall Menu" msgstr "Avinstallér Meny" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Avinstallerer WAD" @@ -1371,6 +1374,9 @@ msgstr "" msgid "What do you want to update?" msgstr "Hva vil du oppdatere?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "WiFi egenskaper" @@ -1467,6 +1473,12 @@ msgstr "av" msgid "seconds left" msgstr "sekunder gjenstår" +#~ msgid "Do you really want to delete:" +#~ msgstr "Er du sikker på at du vil slette:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Vil du bruke alt DOL filen som er kjent for å være riktig?" + #~ msgid "Unlock console to use this option." #~ msgstr "Lås opp konsollen for å bruke denne innstillingen." diff --git a/Languages/polish.lang b/Languages/polish.lang index 2785a011..295a944d 100644 --- a/Languages/polish.lang +++ b/Languages/polish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: ziom666 (zadania_prog@vp.pl)\n" "Language-Team: \n" @@ -421,9 +421,6 @@ msgstr "Wyswietl jako liste" msgid "Display favorites only" msgstr "" -msgid "Do you really want to delete:" -msgstr "Na pewno usunac: " - msgid "Do you want to apply it now?" msgstr "Czy chcesz to teraz zastosowac?" @@ -445,9 +442,6 @@ msgstr "" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Uzyc alternatywnego pliku DOL?" - msgid "Do you wish to update/download all language files?" msgstr "Zaktualizowac wszystkie pliki jezykowe?" @@ -643,6 +637,9 @@ msgstr "Zaladuj gre" msgid "Game Lock" msgstr "" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Region" @@ -856,6 +853,9 @@ msgstr "" msgid "Missing files" msgstr "Brakuje plikow" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "Uruchom naped DVD" @@ -1298,6 +1298,9 @@ msgstr "Odinstaluj gre" msgid "Uninstall Menu" msgstr "Odinstaluj Menu" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Odinstalowywanie wad" @@ -1371,6 +1374,9 @@ msgstr "" msgid "What do you want to update?" msgstr "Rodzaj aktualizacji" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "Opcje WiFi" @@ -1467,6 +1473,12 @@ msgstr "z" msgid "seconds left" msgstr "sekund pozostalo" +#~ msgid "Do you really want to delete:" +#~ msgstr "Na pewno usunac: " + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Uzyc alternatywnego pliku DOL?" + #~ msgid "BETA revisions" #~ msgstr "Wersje beta" diff --git a/Languages/portuguese_br.lang b/Languages/portuguese_br.lang index d765e14c..cc9115d3 100644 --- a/Languages/portuguese_br.lang +++ b/Languages/portuguese_br.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-23 18:52+0200\n" "Last-Translator: aniemotion\n" "Language-Team: boto12, aniemotion\n" @@ -421,9 +421,6 @@ msgstr "Mostrar como lista" msgid "Display favorites only" msgstr "" -msgid "Do you really want to delete:" -msgstr "Tem a certeza que quer eliminar o jogo:" - msgid "Do you want to apply it now?" msgstr "Deseja aplicar agora?" @@ -445,9 +442,6 @@ msgstr "" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Deseja usar o DOL alternativo que pensa ser o correcto?" - msgid "Do you wish to update/download all language files?" msgstr "Deseja atualizar todos os arquivos de idioma?" @@ -643,6 +637,9 @@ msgstr "Carregando Jogos" msgid "Game Lock" msgstr "" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Região" @@ -856,6 +853,9 @@ msgstr "" msgid "Missing files" msgstr "Faltando arquivos" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "Carregar leitor DVD" @@ -1298,6 +1298,9 @@ msgstr "Desinstalar jogo" msgid "Uninstall Menu" msgstr "Menu de Desinstalação" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Desinstalando wad" @@ -1371,6 +1374,9 @@ msgstr "" msgid "What do you want to update?" msgstr "O que deseja atualizar?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "Rede sem fios" @@ -1467,6 +1473,12 @@ msgstr "de" msgid "seconds left" msgstr "segundos restantes" +#~ msgid "Do you really want to delete:" +#~ msgstr "Tem a certeza que quer eliminar o jogo:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Deseja usar o DOL alternativo que pensa ser o correcto?" + #~ msgid "BETA revisions" #~ msgstr "Revisões BETA" diff --git a/Languages/portuguese_pt.lang b/Languages/portuguese_pt.lang index 0ebebe5b..10929efd 100644 --- a/Languages/portuguese_pt.lang +++ b/Languages/portuguese_pt.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2010-03-22 10:55-0000\n" "Last-Translator: Sky8000\n" "Language-Team: Sky8000 \n" @@ -421,9 +421,6 @@ msgstr "Mostrar como lista" msgid "Display favorites only" msgstr "" -msgid "Do you really want to delete:" -msgstr "Tem a certeza que quer eliminar o jogo:" - msgid "Do you want to apply it now?" msgstr "Deseja aplicar agora?" @@ -445,9 +442,6 @@ msgstr "" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Pretende usar o DOL alternativo que se pensa ser o correcto?" - msgid "Do you wish to update/download all language files?" msgstr "Queres actualizar todos os ficheiros de idioma?" @@ -643,6 +637,9 @@ msgstr "Carregamento de Jogos" msgid "Game Lock" msgstr "" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Região" @@ -856,6 +853,9 @@ msgstr "" msgid "Missing files" msgstr "Ficheiros em falta" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "Montar Unidade de DVD" @@ -1298,6 +1298,9 @@ msgstr "Desinstalar jogo" msgid "Uninstall Menu" msgstr "Menu de Desinstalação" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Desinstalando wad" @@ -1371,6 +1374,9 @@ msgstr "" msgid "What do you want to update?" msgstr "Que componente deseja actualizar?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "Rede sem fios" @@ -1467,6 +1473,12 @@ msgstr "de" msgid "seconds left" msgstr "segundos restantes" +#~ msgid "Do you really want to delete:" +#~ msgstr "Tem a certeza que quer eliminar o jogo:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Pretende usar o DOL alternativo que se pensa ser o correcto?" + #~ msgid "BETA revisions" #~ msgstr "Revisões BETA" diff --git a/Languages/russian.lang b/Languages/russian.lang index 53d7f7cd..c3b5a490 100644 --- a/Languages/russian.lang +++ b/Languages/russian.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: nikolai_ca\n" "Language-Team: Kir, alendit, nikolai_ca\n" @@ -421,9 +421,6 @@ msgstr "Показать в виде списка" msgid "Display favorites only" msgstr "" -msgid "Do you really want to delete:" -msgstr "Вы хотите удалить:" - msgid "Do you want to apply it now?" msgstr "Вы действительно хотите использовать это?" @@ -445,9 +442,6 @@ msgstr "" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Вы хотите использовать DOL, который считается правильным?" - msgid "Do you wish to update/download all language files?" msgstr "Вы действительно хотите обновить/загрузить все языковые файлы?" @@ -643,6 +637,9 @@ msgstr "загрузка игры" msgid "Game Lock" msgstr "" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Регион игры" @@ -856,6 +853,9 @@ msgstr "" msgid "Missing files" msgstr "Отсутствующие файлы" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "Монтировать DVD" @@ -1298,6 +1298,9 @@ msgstr "Деинсталлировать игру" msgid "Uninstall Menu" msgstr "Деинсталлировать меню" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Деинсталлируется wad" @@ -1371,6 +1374,9 @@ msgstr "" msgid "What do you want to update?" msgstr "Что Вы хотите обновить?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "свойства WiFi" @@ -1467,6 +1473,12 @@ msgstr "из" msgid "seconds left" msgstr "секунд осталось" +#~ msgid "Do you really want to delete:" +#~ msgstr "Вы хотите удалить:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Вы хотите использовать DOL, который считается правильным?" + #~ msgid "BETA revisions" #~ msgstr "BETA-версии" diff --git a/Languages/schinese.lang b/Languages/schinese.lang index e75ebd62..b9e3826d 100644 --- a/Languages/schinese.lang +++ b/Languages/schinese.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: knife.hu kavid emul8ion\n" "Language-Team: kavid\n" @@ -421,9 +421,6 @@ msgstr "列表模式" msgid "Display favorites only" msgstr "收藏夹模式" -msgid "Do you really want to delete:" -msgstr "确定删除:" - msgid "Do you want to apply it now?" msgstr "要现在应用吗?" @@ -445,9 +442,6 @@ msgstr "是否载入这个主题?" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "是否同步剩余空间信息扇区到所有FAT32分区?" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "使用这个已知是正确的 Alt DOL 文件?" - msgid "Do you wish to update/download all language files?" msgstr "升级/下载语言文件?" @@ -643,6 +637,9 @@ msgstr "游戏载入" msgid "Game Lock" msgstr "锁定游戏" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "游戏区域" @@ -856,6 +853,9 @@ msgstr "留言板更新" msgid "Missing files" msgstr "缺少的文件" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "挂载DVD光驱" @@ -1298,6 +1298,9 @@ msgstr "删除游戏" msgid "Uninstall Menu" msgstr "删除菜单" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "卸载 WAD" @@ -1371,6 +1374,9 @@ msgstr "警告:" msgid "What do you want to update?" msgstr "要升级什么?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "WiFi 功能" @@ -1467,6 +1473,12 @@ msgstr "的" msgid "seconds left" msgstr "剩余秒数" +#~ msgid "Do you really want to delete:" +#~ msgstr "确定删除:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "使用这个已知是正确的 Alt DOL 文件?" + #~ msgid "0 (Locked and Unlocked Games)" #~ msgstr "0 (锁定和未锁定游戏)" diff --git a/Languages/spanish.lang b/Languages/spanish.lang index 82c5d4b1..b64f04ae 100644 --- a/Languages/spanish.lang +++ b/Languages/spanish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: SirPalax\n" "Language-Team: Penn, SirPalax\n" @@ -421,9 +421,6 @@ msgstr "Mostrar como lista" msgid "Display favorites only" msgstr "" -msgid "Do you really want to delete:" -msgstr "¿Realmente quieres borrar?:" - msgid "Do you want to apply it now?" msgstr "¿Quieres aplicarlo ahora?" @@ -445,9 +442,6 @@ msgstr "" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "¿Quieres usar el DOL Alternativo que se sabe es correcto?" - msgid "Do you wish to update/download all language files?" msgstr "¿Quieres actualizar/descargar todos los archivos de idiomas?" @@ -643,6 +637,9 @@ msgstr "Configuración de los Juegos" msgid "Game Lock" msgstr "" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Región" @@ -856,6 +853,9 @@ msgstr "" msgid "Missing files" msgstr "Archivo(s) pendiente(s)" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "Montar unidad DVD" @@ -1298,6 +1298,9 @@ msgstr "Borrar Juego" msgid "Uninstall Menu" msgstr "Menú de Desinstalación" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Desinstalando el WAD" @@ -1371,6 +1374,9 @@ msgstr "" msgid "What do you want to update?" msgstr "¿Qué quieres actualizar?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "Características WiFi" @@ -1467,6 +1473,12 @@ msgstr "de" msgid "seconds left" msgstr "segundos restantes" +#~ msgid "Do you really want to delete:" +#~ msgstr "¿Realmente quieres borrar?:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "¿Quieres usar el DOL Alternativo que se sabe es correcto?" + #~ msgid "BETA revisions" #~ msgstr "Revisiones BETA" diff --git a/Languages/swedish.lang b/Languages/swedish.lang index 3a81c5e0..76d29703 100644 --- a/Languages/swedish.lang +++ b/Languages/swedish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2010-01-19 17:39+0200\n" "Last-Translator: Katsurou\n" "Language-Team: Katsurou, pirateX\n" @@ -421,9 +421,6 @@ msgstr "Visa som en lista" msgid "Display favorites only" msgstr "" -msgid "Do you really want to delete:" -msgstr "Vill du verkligen radera:" - msgid "Do you want to apply it now?" msgstr "Vill du tillämpa det nu?" @@ -445,9 +442,6 @@ msgstr "" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Vill du använda en alternativ DOL som är känd att fungera?" - msgid "Do you wish to update/download all language files?" msgstr "Vill du uppdatera/ladda ner alla språkfiler?" @@ -643,6 +637,9 @@ msgstr "Spelinställningar" msgid "Game Lock" msgstr "" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Spelregion" @@ -856,6 +853,9 @@ msgstr "" msgid "Missing files" msgstr "Filer som saknas" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "Montera DVD läsare" @@ -1298,6 +1298,9 @@ msgstr "Avinstallera spel" msgid "Uninstall Menu" msgstr "Avinstallerings meny" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Avinstallerar wad" @@ -1371,6 +1374,9 @@ msgstr "" msgid "What do you want to update?" msgstr "Vad vill du uppdatera?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "WiFi funktioner" @@ -1467,6 +1473,12 @@ msgstr "av" msgid "seconds left" msgstr "sekunder kvar" +#~ msgid "Do you really want to delete:" +#~ msgstr "Vill du verkligen radera:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Vill du använda en alternativ DOL som är känd att fungera?" + #~ msgid "BETA revisions" #~ msgstr "BETA version" diff --git a/Languages/tchinese.lang b/Languages/tchinese.lang index c94fcc65..134b6ecb 100644 --- a/Languages/tchinese.lang +++ b/Languages/tchinese.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2010-02-15 21:00+0800\n" "Last-Translator: Jane.H\n" "Language-Team: kyogc, Miller, Mika Li, Jane.H\n" @@ -421,9 +421,6 @@ msgstr "表單模式" msgid "Display favorites only" msgstr "只顯示最愛模式" -msgid "Do you really want to delete:" -msgstr "確定刪除:" - msgid "Do you want to apply it now?" msgstr "要套用設定嗎?" @@ -445,9 +442,6 @@ msgstr "是否要載入這佈景主題嗎?" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "是否要同步所有FAT32磁區可用空間資訊?" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "是否要使用這個已知是正確的 Alt DOL 檔案嗎?" - msgid "Do you wish to update/download all language files?" msgstr "是否要更新/下載所有語言檔案嗎?" @@ -643,6 +637,9 @@ msgstr "遊戲載入設定" msgid "Game Lock" msgstr "遊戲上鎖" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "遊戲區碼" @@ -856,6 +853,9 @@ msgstr "留言板更新" msgid "Missing files" msgstr "缺少的檔案" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "掛載DVD光碟" @@ -1298,6 +1298,9 @@ msgstr "刪除遊戲" msgid "Uninstall Menu" msgstr "刪除選單" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "移除 WAD" @@ -1371,6 +1374,9 @@ msgstr "警告:" msgid "What do you want to update?" msgstr "更新何者?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "WiFi功能設定" @@ -1467,6 +1473,12 @@ msgstr "的" msgid "seconds left" msgstr "剩餘秒數" +#~ msgid "Do you really want to delete:" +#~ msgstr "確定刪除:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "是否要使用這個已知是正確的 Alt DOL 檔案嗎?" + #~ msgid "0 (Locked and Unlocked Games)" #~ msgstr "0 (鎖上及解鎖遊戲)" diff --git a/Languages/thai.lang b/Languages/thai.lang index 4108bca3..6de320df 100644 --- a/Languages/thai.lang +++ b/Languages/thai.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: Nitro_subzero \n" "Language-Team: Nitro_subzero\n" @@ -421,9 +421,6 @@ msgstr "แสดงผลแบบ รายการ" msgid "Display favorites only" msgstr "" -msgid "Do you really want to delete:" -msgstr "ต้องการที่จะลบใช่ไหม:" - msgid "Do you want to apply it now?" msgstr "" @@ -445,9 +442,6 @@ msgstr "" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "ต้องการจะใช้ alt DOL เฉพาะที่รู้ว่าถูกต้อง?" - msgid "Do you wish to update/download all language files?" msgstr "ต้องการอัพเดทหรือดาวน์โหลด ไฟล์ภาษา ทั้งหมด?" @@ -643,6 +637,9 @@ msgstr "โหลดเกมส์" msgid "Game Lock" msgstr "" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "โซนของเกมส์" @@ -856,6 +853,9 @@ msgstr "" msgid "Missing files" msgstr "ไฟล์ที่หาไม่พบ" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "เชื่อม DVD ไดร์ฟ" @@ -1298,6 +1298,9 @@ msgstr "ถอนการติดตั้ง" msgid "Uninstall Menu" msgstr "ถอนการติดตั้ง" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "ถอนการติดตั้ง wad" @@ -1371,6 +1374,9 @@ msgstr "" msgid "What do you want to update?" msgstr "คุณต้องการอัพเดทอะไร ?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "ความสามารถของ Wi Fi" @@ -1467,6 +1473,12 @@ msgstr "จาก" msgid "seconds left" msgstr "วินาทีที่เหลือ" +#~ msgid "Do you really want to delete:" +#~ msgstr "ต้องการที่จะลบใช่ไหม:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "ต้องการจะใช้ alt DOL เฉพาะที่รู้ว่าถูกต้อง?" + #~ msgid "Unlock console to use this option." #~ msgstr "ปลดล๊อค Console ก่อน เพื่อใช้ตัวเลือกนี้" diff --git a/Languages/turkish.lang b/Languages/turkish.lang index dfe6785c..ffd101ca 100644 --- a/Languages/turkish.lang +++ b/Languages/turkish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-20 15:43+0100\n" +"POT-Creation-Date: 2011-01-21 19:48+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: omercigingelini\n" "Language-Team: omercigingelini\n" @@ -421,9 +421,6 @@ msgstr "Liste görünümü" msgid "Display favorites only" msgstr "" -msgid "Do you really want to delete:" -msgstr "Gerçekten silmek istiyor musunuz:" - msgid "Do you want to apply it now?" msgstr "" @@ -445,9 +442,6 @@ msgstr "" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "" -msgid "Do you want to use the alternate DOL that is known to be correct?" -msgstr "Doğru olduğu bilinen alternatif DOL ü kullanmak ister misiniz?" - msgid "Do you wish to update/download all language files?" msgstr "Tüm dil dosyalarını indirmek/güncellemek istiyor musunuz?" @@ -643,6 +637,9 @@ msgstr "Oyun Yükle" msgid "Game Lock" msgstr "" +msgid "Game Only" +msgstr "" + msgid "Game Region" msgstr "Oyun Bölgesi" @@ -856,6 +853,9 @@ msgstr "" msgid "Missing files" msgstr "Kayıp dosyalar" +msgid "Motion+ Video" +msgstr "" + msgid "Mount DVD drive" msgstr "DVD sürücüsü bağla" @@ -1298,6 +1298,9 @@ msgstr "Oyun Kaldır" msgid "Uninstall Menu" msgstr "Kaldırma Menüsü" +msgid "Uninstall all" +msgstr "" + msgid "Uninstalling wad" msgstr "Wad Kaldırılıyor" @@ -1371,6 +1374,9 @@ msgstr "" msgid "What do you want to update?" msgstr "Neyi güncelleme istiyorsun?" +msgid "What should be deleted for this game title:" +msgstr "" + msgid "WiFi Features" msgstr "WiFi Özellikleri" @@ -1467,6 +1473,12 @@ msgstr "./" msgid "seconds left" msgstr "saniye kaldı" +#~ msgid "Do you really want to delete:" +#~ msgstr "Gerçekten silmek istiyor musunuz:" + +#~ msgid "Do you want to use the alternate DOL that is known to be correct?" +#~ msgstr "Doğru olduğu bilinen alternatif DOL ü kullanmak ister misiniz?" + #~ msgid "Unlock console to use this option." #~ msgstr "Bu seçeneği kullanmak için konsol kilidini açın" diff --git a/gui.pnproj b/gui.pnproj index 86d47f64..3ab3b43d 100644 --- a/gui.pnproj +++ b/gui.pnproj @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/source/GameBootProcess.cpp b/source/GameBootProcess.cpp index abebd1b2..3b643130 100644 --- a/source/GameBootProcess.cpp +++ b/source/GameBootProcess.cpp @@ -14,6 +14,7 @@ #include "usbloader/wbfs.h" #include "usbloader/playlog.h" #include "usbloader/MountGamePartition.h" +#include "usbloader/AlternateDOLOffsets.h" #include "settings/newtitles.h" #include "patches/fst.h" #include "patches/gamepatches.h" @@ -112,37 +113,32 @@ int BootGame(const char * gameID) int ret = 0; - u8 videoChoice = Settings.videomode; - u8 languageChoice = Settings.language; - u8 ocarinaChoice = Settings.ocarina; - u8 viChoice = Settings.videopatch; - u8 iosChoice = Settings.cios; - u8 fix002 = Settings.error002; - u8 countrystrings = Settings.patchcountrystrings; - u8 alternatedol = OFF; - u32 alternatedoloffset = 0; - u8 reloadblock = OFF; - u8 returnToLoaderGV = 1; - GameCFG * game_cfg = GameSettings.GetGameCFG(gameHeader.id); + if(!game_cfg) + game_cfg = GameSettings.GetDefault(); - if (game_cfg) + u8 videoChoice = game_cfg->video; + u8 languageChoice = game_cfg->language; + u8 ocarinaChoice = game_cfg->ocarina; + u8 viChoice = game_cfg->vipatch; + u8 iosChoice = game_cfg->ios; + u8 fix002 = game_cfg->errorfix002; + u8 countrystrings = game_cfg->patchcountrystrings; + u8 alternatedol = game_cfg->loadalternatedol; + u32 alternatedoloffset = game_cfg->alternatedolstart; + u8 reloadblock = game_cfg->iosreloadblock; + u8 returnToLoaderGV = game_cfg->returnTo; + + if(alternatedol == ALT_DOL_ON_LAUNCH) { - videoChoice = game_cfg->video; - languageChoice = game_cfg->language; - ocarinaChoice = game_cfg->ocarina; - viChoice = game_cfg->vipatch; - fix002 = game_cfg->errorfix002; - iosChoice = game_cfg->ios; - countrystrings = game_cfg->patchcountrystrings; - alternatedol = game_cfg->loadalternatedol; - alternatedoloffset = game_cfg->alternatedolstart; - reloadblock = game_cfg->iosreloadblock; - returnToLoaderGV = game_cfg->returnTo; - } - - if(alternatedol == 3) + alternatedol = ALT_DOL_FROM_GAME; alternatedoloffset = WDMMenu::GetAlternateDolOffset(); + } + else if(alternatedol == ALT_DOL_DEFAULT) + { + alternatedol = ALT_DOL_FROM_GAME; + alternatedoloffset = defaultAltDol((char *) gameHeader.id); + } if(iosChoice != IOS_GetVersion()) { @@ -210,34 +206,33 @@ int BootGame(const char * gameID) AppEntrypoint = BootPartition(Settings.dolpath, videoChoice, languageChoice, ocarinaChoice, viChoice, countrystrings, alternatedol, alternatedoloffset, channel, fix002); - if(AppEntrypoint != 0) + if(AppEntrypoint == 0) { - bool enablecheat = false; - - if (ocarinaChoice) - { - // OCARINA STUFF - FISHEARS - if (ocarina_load_code((u8 *) Disc_ID) > 0) - { - ocarina_do_code(); - enablecheat = true; - } - } - - shadow_mload(); - WBFS_Close(); - DeviceHandler::DestroyInstance(); - USB_Deinitialize(); - - if(Settings.PlaylogUpdate) - Playlog_Update((char *) Disc_ID, BNRInstance::Instance()->GetIMETTitle(CONF_GetLanguage())); - - gprintf("Jumping to game entrypoint: 0x%08X.\n", AppEntrypoint); - - return Disc_JumpToEntrypoint(videoChoice, enablecheat, WDMMenu::GetDolParameter()); + WDVD_ClosePartition(); + Sys_BackToLoader(); } - WDVD_ClosePartition(); + bool enablecheat = false; - return -1; + if (ocarinaChoice) + { + // OCARINA STUFF - FISHEARS + if (ocarina_load_code((u8 *) Disc_ID) > 0) + { + ocarina_do_code(); + enablecheat = true; + } + } + + shadow_mload(); + WBFS_Close(); + DeviceHandler::DestroyInstance(); + USB_Deinitialize(); + + if(Settings.PlaylogUpdate) + Playlog_Update((char *) Disc_ID, BNRInstance::Instance()->GetIMETTitle(CONF_GetLanguage())); + + gprintf("Jumping to game entrypoint: 0x%08X.\n", AppEntrypoint); + + return Disc_JumpToEntrypoint(videoChoice, enablecheat, WDMMenu::GetDolParameter()); } diff --git a/source/menu.cpp b/source/menu.cpp index c5819efe..9aafeed9 100644 --- a/source/menu.cpp +++ b/source/menu.cpp @@ -13,6 +13,7 @@ #include "homebrewboot/BootHomebrew.h" #include "homebrewboot/HomebrewBrowse.h" #include "prompts/ProgressWindow.h" +#include "menu/GameBrowseMenu.hpp" #include "menu/menus.h" #include "mload/mload.h" #include "mload/mload_modules.h" @@ -224,7 +225,7 @@ int MainMenu(int menu) break; case MENU_DISCLIST: default: // unrecognized menu - currentMenu = MenuDiscList(); + currentMenu = GameBrowseMenu::Execute(); break; } } diff --git a/source/menu/GameBrowseMenu.cpp b/source/menu/GameBrowseMenu.cpp index fa19b2f8..e094a42c 100644 --- a/source/menu/GameBrowseMenu.cpp +++ b/source/menu/GameBrowseMenu.cpp @@ -11,6 +11,7 @@ #include "usbloader/wbfs.h" #include "usbloader/wdvd.h" #include "usbloader/GameList.h" +#include "usbloader/AlternateDOLOffsets.h" #include "network/networkops.h" #include "network/update.h" #include "network/CoverDownload.h" @@ -452,6 +453,37 @@ GameBrowseMenu::~GameBrowseMenu() ResumeGui(); } +int GameBrowseMenu::Execute() +{ + int retMenu = MENU_NONE; + + GameBrowseMenu * Menu = new GameBrowseMenu(); + mainWindow->Append(Menu); + + if(Settings.ShowFreeSpace) + { + Menu->HDDSizeCallback.SetCallback(Menu, &GameBrowseMenu::UpdateFreeSpace); + ThreadedTask::Instance()->AddCallback(&Menu->HDDSizeCallback); + ThreadedTask::Instance()->Execute(); + } + + while(retMenu == MENU_NONE) + { + usleep(100); + + if (shutdown) + Sys_Shutdown(); + if (reset) + Sys_Reboot(); + + retMenu = Menu->MainLoop(); + } + + delete Menu; + + return retMenu; +} + void GameBrowseMenu::ReloadBrowser() { ResumeGui(); @@ -700,33 +732,6 @@ void GameBrowseMenu::ReloadBrowser() while(parentElement && this->GetEffect() > 0) usleep(100); } -int GameBrowseMenu::Show() -{ - int menu = MENU_NONE; - - if(Settings.ShowFreeSpace) - { - HDDSizeCallback.SetCallback(this, &GameBrowseMenu::UpdateFreeSpace); - ThreadedTask::Instance()->AddCallback(&HDDSizeCallback); - ThreadedTask::Instance()->Execute(); - } - - while(menu == MENU_NONE) - { - usleep(100); - - if (shutdown) - Sys_Shutdown(); - if (reset) - Sys_Reboot(); - - menu = MainLoop(); - } - - return menu; -} - - int GameBrowseMenu::MainLoop() { time_t rawtime = time(0); @@ -1289,15 +1294,15 @@ int GameBrowseMenu::OpenClickedGame() ocarinaChoice = game_cfg->ocarina; } - if(alternatedol == 3) - if(WDMMenu::Show(header) == 0) - { - RunGame = false; - returnHere = true; - } - if (alternatedol == 2) CheckAlternativeDOL(IDfull); + else if(alternatedol == 3 && WDMMenu::Show(header) == 0) + { + RunGame = false; + returnHere = true; + } + else if(alternatedol == 4) + defaultDolPrompt((char *) header->id); if (RunGame && ocarinaChoice != OFF) CheckOcarina(IDfull); diff --git a/source/menu/GameBrowseMenu.hpp b/source/menu/GameBrowseMenu.hpp index 846ce6e6..b3c314d3 100644 --- a/source/menu/GameBrowseMenu.hpp +++ b/source/menu/GameBrowseMenu.hpp @@ -13,7 +13,7 @@ class GameBrowseMenu : public GuiWindow public: GameBrowseMenu(); ~GameBrowseMenu(); - int Show(); + static int Execute(); protected: int MainLoop(); void ReloadBrowser(); diff --git a/source/menu/menu_disclist.cpp b/source/menu/menu_disclist.cpp deleted file mode 100644 index 4060b7a6..00000000 --- a/source/menu/menu_disclist.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include "GameBrowseMenu.hpp" -#include "menus.h" - -/**************************************************************************** - * MenuDiscList - ***************************************************************************/ -int MenuDiscList() -{ - int retMenu = MENU_NONE; - - GameBrowseMenu * Menu = new GameBrowseMenu(); - mainWindow->Append(Menu); - - retMenu = Menu->Show(); - - delete Menu; - - return retMenu; -} diff --git a/source/menu/menus.h b/source/menu/menus.h index 0137b780..0733afdc 100644 --- a/source/menu/menus.h +++ b/source/menu/menus.h @@ -12,7 +12,6 @@ extern u8 shutdown; extern u8 reset; int MenuInstall(); -int MenuDiscList(); int SelectPartitionMenu(); #endif // _MENUS_H diff --git a/source/patches/fst.c b/source/patches/fst.c index 92458774..4a4924b6 100644 --- a/source/patches/fst.c +++ b/source/patches/fst.c @@ -133,9 +133,12 @@ void app_loadgameconfig(char *discid) { snprintf(filepath, sizeof(filepath), "sd:/gameconfig.txt"); fp = fopen(filepath, "rb"); - if (!fp) + + for(i = 1; i <= 8; ++i) { - snprintf(filepath, sizeof(filepath), "usb:/gameconfig.txt"); + if(fp) break; + + snprintf(filepath, sizeof(filepath), "usb%i:/gameconfig.txt", i); fp = fopen(filepath, "rb"); } } @@ -544,7 +547,7 @@ int ocarina_load_code(u8 *id) gprintf("Ocarina: Searching codes..."); gprintf("\n"); - sprintf(filepath, "%s%s", CheatFilepath, (char *) id); + sprintf(filepath, "%s%.6s", CheatFilepath, (char *) id); filepath[strlen(CheatFilepath) + 6] = 0x2E; filepath[strlen(CheatFilepath) + 7] = 0x67; filepath[strlen(CheatFilepath) + 8] = 0x63; diff --git a/source/prompts/DiscBrowser.cpp b/source/prompts/DiscBrowser.cpp index 7514acb9..548b3d04 100644 --- a/source/prompts/DiscBrowser.cpp +++ b/source/prompts/DiscBrowser.cpp @@ -182,250 +182,6 @@ int DiscBrowse(const char * GameID, char * alternatedname, int alternatedname_si return ret; } -int autoSelectDol(const char *id, bool force) -{ - gprintf("\nautoSelectDol() started"); - - char id4[10]; - sprintf(id4, "%c%c%c%c", id[0], id[1], id[2], id[3]); - - ////// games that can be forced (always need alt dol) - - //Boogie - if (strcmp(id, "RBOP69") == 0) return 675;//previous value was 657 - 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 - - //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 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 - - //Mortal Kombat - if (strcmp(id, "RKMP5D") == 0) return 290;//from isostar - if (strcmp(id, "RKME5D") == 0) return 290;//starstremr - - //NBA 08 - if (strcmp(id, "RNBX69") == 0) return 964;//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 - - //Madden NFL 07 - if (strcmp(id, "RMDE69") == 0) return 39; //from TwEbErIs - - //Madden NFL 08 - if (strcmp(id, "RNFE69") == 0) return 1079; //from TwEbErIs - - //Super Swing Golf - if (strcmp(id, "RPYE9B") == 0) return 10617; //from TwEbErIs - - //NBA Live 08 - if (strcmp(id, "RNBE69") == 0) return 936; //from TwEbErIs - - ///// games that can't be forced (alt dol is not always needed) - if (!force) - { - //Grand Slam Tennis - if (strcmp(id, "R5TP69") == 0) return 1493;//from isostar - if (strcmp(id, "R5TE69") == 0) return 1493;//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 - - //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 - } - - return -1; -} - -int autoSelectDolMenu(const char *id, bool force) -{ - - //Indiana Jones and the Staff of Kings (Fate of Atlantis) - if (strcmp(id, "RJ8E64") == 0) - { - int choice = WindowPrompt(tr( "Select a DOL" ), 0, "Fate of Atlantis", tr( "Cancel" )); - switch (choice) - { - case 1: - choice = 8; //from starstremr - break; - default: // no alt dol - choice = 0; - break; - } - return choice; - } - if (strcmp(id, "RJ8P64") == 0) - { - int choice = WindowPrompt(tr( "Select a DOL" ), 0, "Fate of Atlantis", tr( "Cancel" )); - switch (choice) - { - case 1: - choice = 8; //from isostar - break; - default: // no alt dol - choice = 0; - break; - } - return choice; - } - - //Metal Slug Anthology (Metal Slug 6) - if (strcmp(id, "RMLEH4") == 0) - { - int choice = WindowPrompt(tr( "Select a DOL" ), 0, "Metal Slug 6", tr( "Cancel" )); - switch (choice) - { - case 1: - choice = 54; //from lustar - break; - default: // no alt dol - choice = 0; - break; - } - return choice; - } - if (strcmp(id, "RMLP7U") == 0) - { - int choice = WindowPrompt(tr( "Select a DOL" ), 0, "Metal Slug 6", tr( "Cancel" )); - switch (choice) - { - case 1: - choice = 56; //from isostar - break; - default: // no alt dol - choice = 0; - break; - } - return choice; - } - - //Metroid Prime Trilogy - if (strcmp(id, "R3ME01") == 0) - { - int choice = WindowPrompt(tr( "Select a DOL" ), 0, "Metroid Prime", "Metroid Prime 2", "Metroid Prime 3", tr( "Cancel" )); - switch (choice) - { - case 1: - choice = 780; - break; - case 2: - choice = 781; - break; - case 3: - choice = 782; - break; - default: // no alt dol - choice = 0; - break; - } - return choice; - } - if (strcmp(id, "R3MP01") == 0) - { - int choice = WindowPrompt(tr( "Select a DOL" ), 0, "Metroid Prime", "Metroid Prime 2", "Metroid Prime 3", tr( "Cancel" )); - switch (choice) - { - case 1: - choice = 782; - break; - case 2: - choice = 783; - break; - case 3: - choice = 784; - break; - default: // no alt dol - choice = 0; - break; - } - return choice; - } - - //Rampage: Total Destruction (M1.dol=Rampage, jarvos.dol=Rampage World Tour) - if (strcmp(id, "RPGP5D") == 0) - { - int choice = WindowPrompt(tr( "Select a DOL" ), 0, "Rampage", "World Tour", tr( "Cancel" )); - switch (choice) - { - case 1: - choice = 369; //from Ramzee - break; - case 2: - choice = 368; //from Ramzee - break; - default: // no alt dol - choice = 0; - break; - } - return choice; - } - - //The House Of The Dead 2 & 3 Return (only to play 2) - if (strcmp(id, "RHDE8P") == 0) - { - int choice = WindowPrompt(tr( "Select a DOL" ), 0, "HotD 2", tr( "Cancel" )); - switch (choice) - { - case 1: - choice = 149; //from starstremr - break; - default: // no alt dol - choice = 0; - break; - } - return choice; - } - if (strcmp(id, "RHDP8P") == 0) - { - int choice = WindowPrompt(tr( "Select a DOL" ), 0, "HotD 2", tr( "Cancel" )); - switch (choice) - { - case 1: - choice = 149; //from isostar - break; - default: // no alt dol - choice = 0; - break; - } - return choice; - } - - return -1; -} - /******************************************************************************** * Mount a DVD, get the type and ID. *********************************************************************************/ diff --git a/source/prompts/DiscBrowser.h b/source/prompts/DiscBrowser.h index d285ff9d..2d613385 100644 --- a/source/prompts/DiscBrowser.h +++ b/source/prompts/DiscBrowser.h @@ -12,8 +12,6 @@ #include "usbloader/disc.h" int DiscBrowse(const char * GameID, char * dolname, int dolname_size); -int autoSelectDol(const char *id, bool force); -int autoSelectDolMenu(const char *id, bool force); u8 DiscMount(struct discHdr * header); #endif diff --git a/source/settings/CGameSettings.cpp b/source/settings/CGameSettings.cpp index 705cf161..0c6074e3 100644 --- a/source/settings/CGameSettings.cpp +++ b/source/settings/CGameSettings.cpp @@ -26,6 +26,7 @@ #include #include +#include "CSettings.h" #include "CGameSettings.h" #include "FileOperations/fileops.h" #include "svnrev.h" @@ -402,3 +403,24 @@ int CGameSettings::GetPartenalPEGI(int parental) default: return -1; } } + +GameCFG * CGameSettings::GetDefault() +{ + memset(DefaultConfig.id, 0, sizeof(DefaultConfig.id)); + DefaultConfig.video = Settings.videomode; + DefaultConfig.language = Settings.language; + DefaultConfig.ocarina = Settings.ocarina; + DefaultConfig.vipatch = Settings.videopatch; + DefaultConfig.ios = Settings.cios; + DefaultConfig.parentalcontrol = PARENTAL_LVL_EVERYONE; + DefaultConfig.errorfix002 = Settings.error002; + DefaultConfig.patchcountrystrings = Settings.patchcountrystrings; + DefaultConfig.loadalternatedol = ALT_DOL_DEFAULT; + DefaultConfig.alternatedolstart = 0; + DefaultConfig.iosreloadblock = OFF; + memset(DefaultConfig.alternatedolname, 0, sizeof(DefaultConfig.alternatedolname)); + DefaultConfig.returnTo = 1; + DefaultConfig.Locked = OFF; + + return &DefaultConfig; +} diff --git a/source/settings/CGameSettings.h b/source/settings/CGameSettings.h index 85ff6f10..1d5e427f 100644 --- a/source/settings/CGameSettings.h +++ b/source/settings/CGameSettings.h @@ -53,6 +53,8 @@ class CGameSettings GameCFG * GetGameCFG(const struct discHdr * game) { if(!game) return NULL; else return GetGameCFG(game->id); }; //!Quick settings to PEGI conversion static int GetPartenalPEGI(int parentalsetting); + //!Get the default configuration block + GameCFG * GetDefault(); protected: bool ReadGameID(const char * src, char * GameID, int size); bool SetSetting(GameCFG & game, char *name, char *value); @@ -64,6 +66,7 @@ class CGameSettings void TrimLine(char *dest, const char *src, int size); std::string ConfigPath; std::vector GameList; + GameCFG DefaultConfig; }; extern CGameSettings GameSettings; diff --git a/source/settings/SettingsEnums.h b/source/settings/SettingsEnums.h index e7f3d508..e30b2086 100644 --- a/source/settings/SettingsEnums.h +++ b/source/settings/SettingsEnums.h @@ -164,4 +164,13 @@ enum BLOCK_ALL = 0xFFFFFFFF, }; +enum +{ + ALT_DOL_OFF, + ALT_DOL_FROM_GAME, + ALT_DOL_FROM_SD_USB, + ALT_DOL_ON_LAUNCH, + ALT_DOL_DEFAULT, +}; + #endif diff --git a/source/settings/menus/GameLoadSM.cpp b/source/settings/menus/GameLoadSM.cpp index e583f47c..783f216e 100644 --- a/source/settings/menus/GameLoadSM.cpp +++ b/source/settings/menus/GameLoadSM.cpp @@ -27,6 +27,7 @@ #include "themes/CTheme.h" #include "prompts/PromptWindows.h" #include "prompts/DiscBrowser.h" +#include "usbloader/AlternateDOLOffsets.h" #include "language/gettext.h" #include "wad/nandtitle.h" #include "GameLoadSM.hpp" @@ -84,6 +85,7 @@ static const char * AlternateDOLText[] = trNOOP( "Select a DOL from Game" ), trNOOP( "Load From SD/USB" ), trNOOP( "List on Gamelaunch" ), + trNOOP( "Default" ), }; GameLoadSM::GameLoadSM(const char * GameID) @@ -134,20 +136,10 @@ GameLoadSM::~GameLoadSM() void GameLoadSM::SetDefaultConfig() { - GameConfig.video = Settings.videomode; - GameConfig.language = Settings.language; - GameConfig.ocarina = Settings.ocarina; - GameConfig.vipatch = Settings.videopatch; - GameConfig.ios = Settings.cios; - GameConfig.parentalcontrol = PARENTAL_LVL_EVERYONE; - GameConfig.errorfix002 = Settings.error002; - GameConfig.patchcountrystrings = Settings.patchcountrystrings; - GameConfig.loadalternatedol = OFF; - GameConfig.alternatedolstart = 0; - GameConfig.iosreloadblock = OFF; - strcpy(GameConfig.alternatedolname, ""); - GameConfig.returnTo = 1; - GameConfig.Locked = OFF; + char id[7]; + snprintf(id, sizeof(id), GameConfig.id); + memcpy(&GameConfig, GameSettings.GetDefault(), sizeof(GameCFG)); + snprintf(GameConfig.id, sizeof(GameConfig.id), id); } void GameLoadSM::SetOptionNames() @@ -327,18 +319,17 @@ int GameLoadSM::GetMenuInternal() //! Settings: Alternate DOL else if (ret == ++Idx) { - if (++GameConfig.loadalternatedol > 3) + if (++GameConfig.loadalternatedol > 4) GameConfig.loadalternatedol = 0; } //! Settings: Select DOL Offset from Game else if (ret == ++Idx && GameConfig.loadalternatedol == 1) { - char filename[10]; - snprintf(filename, 7, "%s", GameConfig.id); - //alt dol menu for games that require more than a single alt dol - int autodol = autoSelectDolMenu(filename, false); + int autodol = autoSelectDolPrompt((char *) GameConfig.id); + if(autodol == 0) + return MENU_NONE; //Cancel Button pressed if (autodol > 0) { @@ -347,42 +338,14 @@ int GameLoadSM::GetMenuInternal() SetOptionValues(); return MENU_NONE; } - else if (autodol == 0) - { - GameConfig.loadalternatedol = 0; - SetOptionValues(); - return MENU_NONE; - } - //check to see if we already know the offset of the correct dol - autodol = autoSelectDol(filename, false); - //if we do know that offset ask if they want to use it - if (autodol > 0) + int res = DiscBrowse(GameConfig.id, GameConfig.alternatedolname, sizeof(GameConfig.alternatedolname)); + if (res >= 0) { - int dolchoice = WindowPrompt(0, tr( "Do you want to use the alternate DOL that is known to be correct?" ), - tr( "Yes" ), tr( "Pick from a list" ), tr( "Cancel" )); - if (dolchoice == 1) - { - GameConfig.alternatedolstart = autodol; - snprintf(GameConfig.alternatedolname, sizeof(GameConfig.alternatedolname), "%s <%i>", tr( "AUTO" ), autodol); - } - else if (dolchoice == 2) //they want to search for the correct dol themselves - { - int res = DiscBrowse(GameConfig.id, GameConfig.alternatedolname, sizeof(GameConfig.alternatedolname)); - if (res >= 0) - GameConfig.alternatedolstart = res; - } - } - else - { - int res = DiscBrowse(GameConfig.id, GameConfig.alternatedolname, sizeof(GameConfig.alternatedolname)); - if (res >= 0) - { - GameConfig.alternatedolstart = res; - char tmp[170]; - snprintf(tmp, sizeof(tmp), "%s %s - %i", tr( "It seems that you have some information that will be helpful to us. Please pass this information along to the DEV team." ), filename, GameConfig.alternatedolstart); - WindowPrompt(0, tmp, tr( "OK" )); - } + GameConfig.alternatedolstart = res; + char tmp[170]; + snprintf(tmp, sizeof(tmp), "%s %.6s - %i", tr( "It seems that you have some information that will be helpful to us. Please pass this information along to the DEV team." ), (char *) GameConfig.id, GameConfig.alternatedolstart); + WindowPrompt(0, tmp, tr( "OK" )); } if(GameConfig.alternatedolstart == 0) diff --git a/source/settings/menus/ParentalControlSM.cpp b/source/settings/menus/ParentalControlSM.cpp index 778cf5dd..d7c81a9c 100644 --- a/source/settings/menus/ParentalControlSM.cpp +++ b/source/settings/menus/ParentalControlSM.cpp @@ -101,52 +101,52 @@ void ParentalControlSM::SetOptionValues() Options->SetValue(Idx++, "%s", tr(ParentalText[Settings.parentalcontrol])); //! Settings: Block Global Settings - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_GLOBAL_SETTINGS])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_GLOBAL_SETTINGS) != 0)])); //! Settings: Block Gui Settings - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_GUI_SETTINGS])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_GUI_SETTINGS) != 0)])); //! Settings: Block Loader Settings - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_LOADER_SETTINGS])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_LOADER_SETTINGS) != 0)])); //! Settings: Block Parental Settings - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_PARENTAL_SETTINGS])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_PARENTAL_SETTINGS) != 0)])); //! Settings: Block Sound Settings - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_SOUND_SETTINGS])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_SOUND_SETTINGS) != 0)])); //! Settings: Block Custom Paths - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_CUSTOMPATH_SETTINGS])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_CUSTOMPATH_SETTINGS) != 0)])); //! Settings: Block Updates - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_UPDATES])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_UPDATES) != 0)])); //! Settings: Block Reset Settings - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_RESET_SETTINGS])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_RESET_SETTINGS) != 0)])); //! Settings: Block Theme Downloader - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_THEME_DOWNLOADER])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_THEME_DOWNLOADER) != 0)])); //! Settings: Block Theme Menu - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_THEME_MENU])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_THEME_MENU) != 0)])); //! Settings: Block Game Settings - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_GAME_SETTINGS])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_GAME_SETTINGS) != 0)])); //! Settings: Block HBC Menu - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_HBC_MENU])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_HBC_MENU) != 0)])); //! Settings: Block Title Launcher - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_TITLE_LAUNCHER_MENU])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_TITLE_LAUNCHER_MENU) != 0)])); //! Settings: Block Cover Downloads - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_COVER_DOWNLOADS])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_COVER_DOWNLOADS) != 0)])); //! Settings: Block Game Install - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_GAME_INSTALL])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_GAME_INSTALL) != 0)])); //! Settings: Block GameID Change - Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.ParentalBlocks & BLOCK_GAMEID_CHANGE])); + Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_GAMEID_CHANGE) != 0)])); } int ParentalControlSM::GetMenuInternal() diff --git a/source/usbloader/AlternateDOLOffsets.cpp b/source/usbloader/AlternateDOLOffsets.cpp new file mode 100644 index 00000000..1a7431f7 --- /dev/null +++ b/source/usbloader/AlternateDOLOffsets.cpp @@ -0,0 +1,242 @@ +#include "prompts/PromptWindows.h" +#include "language/gettext.h" +#include "gecko.h" + +static int defaultDolSelected = 0; + +void defaultDolPrompt(const char *gameid) +{ + char id[7]; + snprintf(id, sizeof(id), gameid); + defaultDolSelected = 0; + + //Metroid Prime Trilogy + if (strcmp(id, "R3ME01") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, "Metroid Prime", "Metroid Prime 2", "Metroid Prime 3", tr("Pick from a list")); + if(choice == 1) + defaultDolSelected = 780; + + else if(choice == 2) + defaultDolSelected = 781; + + else if(choice == 3) + defaultDolSelected = 782; + } + //Metroid Prime Trilogy + else if (strcmp(id, "R3MP01") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, "Metroid Prime", "Metroid Prime 2", "Metroid Prime 3", tr("Pick from a list")); + if(choice == 1) + defaultDolSelected = 782; + + else if(choice == 2) + defaultDolSelected = 783; + + else if(choice == 3) + defaultDolSelected = 784; + } +} + +int defaultAltDol(const char *gameid) +{ + //! If one dol was selected in the defaultDolPrompt on game start + //! return that dol offset + if(defaultDolSelected) + return defaultDolSelected; + + gprintf("\nautoSelectDol() started"); + + char id[7]; + snprintf(id, sizeof(id), gameid); + + //Boogie + if (strcmp(id, "RBOP69") == 0) return 675;//previous value was 657 + 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 + + //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 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 + + //Mortal Kombat + if (strcmp(id, "RKMP5D") == 0) return 290;//from isostar + if (strcmp(id, "RKME5D") == 0) return 290;//starstremr + + //NBA 08 + if (strcmp(id, "RNBX69") == 0) return 964;//from isostar + + //Pangya! Golf with Style + if (strcmp(id, "RPYP9B") == 0) return 12490;//from isostar + + //Redsteel + if (strncmp(id, "RED", 3) == 0) return 1957;//from isostar + + //SSX + if (strcmp(id, "RSXP69") == 0) return 377;//previous value was 337 + if (strcmp(id, "RSXE69") == 0) return 377;//previous value was 337 + + //Madden NFL 07 + if (strcmp(id, "RMDE69") == 0) return 39; //from TwEbErIs + + //Madden NFL 08 + if (strcmp(id, "RNFE69") == 0) return 1079; //from TwEbErIs + + //Super Swing Golf + if (strcmp(id, "RPYE9B") == 0) return 10617; //from TwEbErIs + + //NBA Live 08 + if (strcmp(id, "RNBE69") == 0) return 936; //from TwEbErIs + + return 0; //none found +} + +int autoSelectDolPrompt(const char *gameid) +{ + char id[7]; + snprintf(id, sizeof(id), gameid); + + //Indiana Jones and the Staff of Kings (Fate of Atlantis) + if (strcmp(id, "RJ8E64") == 0 || strcmp(id, "RJ8P64") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, "Fate of Atlantis", tr("Pick from a list"), tr( "Cancel" )); + if(choice == 1) + return 8; //from starstremr + else if(choice == 0) + return 0; + } + //Metal Slug Anthology (Metal Slug 6) + else if (strcmp(id, "RMLEH4") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, "Metal Slug 6", tr("Pick from a list"), tr( "Cancel" )); + if(choice == 1) + return 54; + else if(choice == 0) + return 0; + } + //Metal Slug Anthology (Metal Slug 6) + else if (strcmp(id, "RMLP7U") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, "Metal Slug 6", tr("Pick from a list"), tr( "Cancel" )); + if(choice == 1) + return 56; + else if(choice == 0) + return 0; + } + //Rampage: Total Destruction (M1.dol=Rampage, jarvos.dol=Rampage World Tour) + else if (strcmp(id, "RPGP5D") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, "Rampage", "World Tour", tr("Pick from a list"), tr( "Cancel" )); + if(choice == 1) + return 369; + + else if(choice == 2) + return 368; + + else if(choice == 0) + return 0; + } + //The House Of The Dead 2 & 3 Return (only to play 2) + else if (strcmp(id, "RHDE8P") == 0 || strcmp(id, "RHDP8P") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, "HotD 2", tr("Pick from a list"), tr( "Cancel" )); + if(choice == 1) + return 149; + else if(choice == 2) + return 0; + else if(choice == 0) + return 0; + } + //Grand Slam Tennis + else if (strcmp(id, "R5TP69") == 0 || strcmp(id, "R5TE69") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, tr("Motion+ Video"), tr("Pick from a list"), tr( "Cancel" )); + if(choice == 1) + return 1493;//from isostar + else if(choice == 0) + return 0; + } + //Medal of Honor Heroes + else if (strcmp(id, "RMZX69") == 0 || strcmp(id, "RMZP69") == 0 || strcmp(id, "RMZE69") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, tr("Motion+ Video"), tr("Pick from a list"), tr( "Cancel" )); + if(choice == 1) + return 492;//from isostar + else if(choice == 0) + return 0; + } + //Tiger Woods 10 + else if(strcmp(id, "R9OP69") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, tr("Motion+ Video"), tr("Pick from a list"), tr( "Cancel" )); + if(choice == 1) + return 1991;//from isostar + else if(choice == 0) + return 0; + } + //Tiger Woods 10 + else if(strcmp(id, "R9OE69") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, tr("Motion+ Video"), tr("Pick from a list"), tr( "Cancel" )); + if(choice == 1) + return 1973;//starstremr + else if(choice == 0) + return 0; + } + //Virtual Tennis 2009 + else if (strcmp(id, "RVUP8P") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, tr("Motion+ Video"), tr("Pick from a list"), tr( "Cancel" )); + if(choice == 1) + return 16426;//from isostar + } + //Virtual Tennis 2009 + else if (strcmp(id, "RVUE8P") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, tr("Motion+ Video"), tr("Pick from a list"), tr( "Cancel" )); + if(choice == 1) + return 16405;//from isostar + else if(choice == 0) + return 0; + } + //Wii Sports Resort + else if (strcmp(id, "RZTP01") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, tr("Motion+ Video"), tr("Pick from a list"), tr( "Cancel" )); + if(choice == 1) + return 952;//from isostar + else if(choice == 0) + return 0; + } + //Wii Sports Resort + else if (strcmp(id, "RZTE01") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, tr("Motion+ Video"), tr("Pick from a list"), tr( "Cancel" )); + if(choice == 1) + return 674;//from starstremr + else if(choice == 0) + return 0; + } + //Red Steel 2 + else if (strcmp(id, "RD2X41") == 0) + { + int choice = WindowPrompt(tr( "Select a DOL" ), 0, tr("Motion+ Video"), tr("Pick from a list"), tr( "Cancel" )); + if(choice == 1) + return 301;//from Cyan + else if(choice == 0) + return 0; + } + + return -1; +} diff --git a/source/usbloader/AlternateDOLOffsets.h b/source/usbloader/AlternateDOLOffsets.h new file mode 100644 index 00000000..a56f5140 --- /dev/null +++ b/source/usbloader/AlternateDOLOffsets.h @@ -0,0 +1,8 @@ +#ifndef ALTERNATEDOLOFFSETS_H_ +#define ALTERNATEDOLOFFSETS_H_ + +int defaultAltDol(const char *id); +int defaultDolPrompt(const char *id); +int autoSelectDolPrompt(const char *id); + +#endif diff --git a/source/usbloader/alternatedol.c b/source/usbloader/alternatedol.c index 6d770c7c..3022e0a7 100644 --- a/source/usbloader/alternatedol.c +++ b/source/usbloader/alternatedol.c @@ -7,12 +7,41 @@ #include "apploader.h" #include "wdvd.h" #include "fstfile.h" -#include "../patches/dvd_broadway.h" -extern u8 mountMethod; +typedef struct _dolheader +{ + u32 text_pos[7]; + u32 data_pos[11]; + u32 text_start[7]; + u32 data_start[11]; + u32 text_size[7]; + u32 data_size[11]; + u32 bss_start; + u32 bss_size; + u32 entry_point; +} dolheader; -/** Alternate dolloader made by WiiPower modified by dimok **/ -bool Load_Dol(void **buffer, int* dollen, char * filepath) +static bool Remove_001_Protection(void *Address, int Size) +{ + u8 SearchPattern[16] = { 0x40, 0x82, 0x00, 0x0C, 0x38, 0x60, 0x00, 0x01, 0x48, 0x00, 0x02, 0x44, 0x38, 0x61, 0x00, 0x18 }; + u8 PatchData[16] = { 0x40, 0x82, 0x00, 0x04, 0x38, 0x60, 0x00, 0x01, 0x48, 0x00, 0x02, 0x44, 0x38, 0x61, 0x00, 0x18 }; + + void *Addr = Address; + void *Addr_end = Address + Size; + + while (Addr <= Addr_end - sizeof(SearchPattern)) + { + if (memcmp(Addr, SearchPattern, sizeof(SearchPattern)) == 0) + { + memcpy(Addr, PatchData, sizeof(PatchData)); + return true; + } + Addr += 4; + } + return false; +} + +bool Load_Dol(void **buffer, int* dollen, const char * filepath) { int ret; FILE* file; @@ -25,7 +54,6 @@ bool Load_Dol(void **buffer, int* dollen, char * filepath) snprintf(fullpath, 200, "%s%s.dol", filepath, gameidbuffer6); file = fopen(fullpath, "rb"); - if (file == NULL) { fclose(file); @@ -57,211 +85,112 @@ bool Load_Dol(void **buffer, int* dollen, char * filepath) return true; } -bool Remove_001_Protection(void *Address, int Size) -{ - u8 SearchPattern[16] = { 0x40, 0x82, 0x00, 0x0C, 0x38, 0x60, 0x00, 0x01, 0x48, 0x00, 0x02, 0x44, 0x38, 0x61, 0x00, - 0x18 }; - u8 PatchData[16] = - { 0x40, 0x82, 0x00, 0x04, 0x38, 0x60, 0x00, 0x01, 0x48, 0x00, 0x02, 0x44, 0x38, 0x61, 0x00, 0x18 }; - - void *Addr = Address; - void *Addr_end = Address + Size; - - while (Addr <= Addr_end - sizeof(SearchPattern)) - { - if (memcmp(Addr, SearchPattern, sizeof(SearchPattern)) == 0) - { - memcpy(Addr, PatchData, sizeof(PatchData)); - return true; - } - Addr += 4; - } - return false; -} - -typedef struct _dolheader -{ - u32 text_pos[7]; - u32 data_pos[11]; - u32 text_start[7]; - u32 data_start[11]; - u32 text_size[7]; - u32 data_size[11]; - u32 bss_start; - u32 bss_size; - u32 entry_point; -} dolheader; - -static dolheader *dolfile; - -u32 load_dol_image(void *dolstart, u8 videoSelected, u8 languageChoice, u8 patchcountrystring, u8 vipatch, u8 cheat, u32 returnTo, u8 fix002) +u32 load_dol_image(void *dolstart, u8 videoSelected, u8 languageChoice, u8 patchcountrystring, u8 vipatch, u8 cheat, u8 fix002, u32 returnTo) { + if (!dolstart) + return 0; u32 i; + dolheader *dolfile = (dolheader *) dolstart; - if (dolstart) + for (i = 0; i < 7; i++) { - dolfile = (dolheader *) dolstart; - for (i = 0; i < 7; i++) - { - if ((!dolfile->text_size[i]) || (dolfile->text_start[i] < 0x100)) continue; + if ((!dolfile->text_size[i]) || (dolfile->text_start[i] < 0x100)) continue; - ICInvalidateRange((void *) dolfile->text_start[i], dolfile->text_size[i]); - memmove((void *) dolfile->text_start[i], dolstart + dolfile->text_pos[i], dolfile->text_size[i]); - gamepatches((void *) dolfile->text_start[i], dolfile->text_size[i], videoSelected, languageChoice, patchcountrystring, - vipatch, cheat, returnTo, fix002); - Remove_001_Protection((void *) dolfile->data_start[i], dolfile->data_size[i]); - } - - for (i = 0; i < 11; i++) - { - if ((!dolfile->data_size[i]) || (dolfile->data_start[i] < 0x100)) continue; - - memmove((void *) dolfile->data_start[i], dolstart + dolfile->data_pos[i], dolfile->data_size[i]); - gamepatches((void *) dolfile->data_start[i], dolfile->data_size[i], videoSelected, languageChoice, patchcountrystring, - vipatch, cheat, returnTo, fix002); - Remove_001_Protection((void *) dolfile->data_start[i], dolfile->data_size[i]); - DCFlushRangeNoSync((void *) dolfile->data_start[i], dolfile->data_size[i]); - } - /* - memset ((void *) dolfile->bss_start, 0, dolfile->bss_size); - DCFlushRange((void *) dolfile->bss_start, dolfile->bss_size); - */ - return dolfile->entry_point; + memmove((void *) dolfile->text_start[i], dolstart + dolfile->text_pos[i], dolfile->text_size[i]); + gamepatches((void *) dolfile->text_start[i], dolfile->text_size[i], videoSelected, languageChoice, patchcountrystring, + vipatch, cheat, returnTo, fix002); + Remove_001_Protection((void *) dolfile->data_start[i], dolfile->data_size[i]); + DCFlushRange((void *) dolfile->data_start[i], dolfile->data_size[i]); + ICInvalidateRange((void *) dolfile->text_start[i], dolfile->text_size[i]); } - return 0; + + for (i = 0; i < 11; i++) + { + if ((!dolfile->data_size[i]) || (dolfile->data_start[i] < 0x100)) continue; + + memmove((void *) dolfile->data_start[i], dolstart + dolfile->data_pos[i], dolfile->data_size[i]); + gamepatches((void *) dolfile->data_start[i], dolfile->data_size[i], videoSelected, languageChoice, patchcountrystring, + vipatch, cheat, returnTo, fix002); + Remove_001_Protection((void *) dolfile->data_start[i], dolfile->data_size[i]); + DCFlushRange((void *) dolfile->data_start[i], dolfile->data_size[i]); + } + + return dolfile->entry_point; } -static int i; -static int phase; - -u32 load_dol_start(void *dolstart) +u32 Load_Dol_from_disc(u32 offset, u8 videoSelected, u8 languageChoice, u8 patchcountrystring, u8 vipatch, u8 cheat, u8 fix002, u32 returnTo) { - if (dolstart) - { - dolfile = (dolheader *) dolstart; - return dolfile->entry_point; - } - else + s32 ret; + dolheader * dolfile; + u8 * buffer; + u32 pos, size; + u32 i; + u32 entrypoint; + u64 doloffset = ((u64) offset) << 2; + + dolfile = (dolheader *) memalign(32, sizeof(dolheader)); + if (dolfile == NULL) + return 0; + + memset(dolfile, 0, sizeof(dolheader)); + + ret = WDVD_Read(dolfile, sizeof(dolheader), doloffset); + if(ret < 0) { + free(dolfile); return 0; } - memset((void *) dolfile->bss_start, 0, dolfile->bss_size); - DCFlushRange((void *) dolfile->bss_start, dolfile->bss_size); - - phase = 0; - i = 0; -} - -bool load_dol_image_modified(void **offset, u32 *pos, u32 *len) -{ - if (phase == 0) - { - if (i == 7) - { - phase = 1; - i = 0; - } - else - { - if ((!dolfile->text_size[i]) || (dolfile->text_start[i] < 0x100)) - { - *offset = 0; - *pos = 0; - *len = 0; - } - else - { - *offset = (void *) dolfile->text_start[i]; - *pos = dolfile->text_pos[i]; - *len = dolfile->text_size[i]; - } - i++; - return true; - } - } - - if (phase == 1) - { - if (i == 11) - { - phase = 2; - return false; - } - - if ((!dolfile->data_size[i]) || (dolfile->data_start[i] < 0x100)) - { - *offset = 0; - *pos = 0; - *len = 0; - } - else - { - *offset = (void *) dolfile->data_start[i]; - *pos = dolfile->data_pos[i]; - *len = dolfile->data_size[i]; - } - i++; - return true; - } - return false; -} -static vu32 dvddone = 0; -void __dvd_readidcb(s32 result) -{ - dvddone = result; -} -u32 Load_Dol_from_disc(u32 doloffset, u8 videoSelected, u8 languageChoice, u8 patchcountrystring, u8 vipatch, u8 cheat, u32 returnTo, u8 fix002) -{ - int ret; - void *dol_header; - u32 entrypoint; - - dol_header = memalign(32, sizeof(dolheader)); - if (dol_header == NULL) - { - return -1; - } - - if (!mountMethod) - ret = WDVD_Read(dol_header, sizeof(dolheader), (doloffset << 2)); - - else - { - dvddone = 0; - ret = bwDVD_LowRead(dol_header, sizeof(dolheader), doloffset, __dvd_readidcb); - while (ret >= 0 && dvddone == 0) - ; - } - - entrypoint = load_dol_start(dol_header); - + entrypoint = dolfile->entry_point; if (entrypoint == 0) { - free(dol_header); - return -1; + free(dolfile); + return 0; } - void *offset; - u32 pos; - u32 len; - - while (load_dol_image_modified(&offset, &pos, &len)) + for (i = 0; i < 7; ++i) { - if (len != 0) + if ((!dolfile->text_size[i]) || (dolfile->text_start[i] < 0x100)) continue; + + buffer = (u8 *) dolfile->text_start[i]; + size = dolfile->text_size[i]; + pos = dolfile->text_pos[i]; + + ret = WDVD_Read(buffer, size, doloffset+pos); + if(ret < 0) { - ret = WDVD_Read(offset, len, (doloffset << 2) + pos); - - gamepatches(offset, len, videoSelected, languageChoice, patchcountrystring, vipatch, cheat, returnTo, fix002); - - Remove_001_Protection(offset, len); - - DCFlushRange(offset, len); + free(dolfile); + return 0; } + + gamepatches(buffer, size, videoSelected, languageChoice, patchcountrystring, vipatch, cheat, returnTo, fix002); + Remove_001_Protection(buffer, size); + DCFlushRange(buffer, size); + ICInvalidateRange(buffer, size); } - free(dol_header); + for (i = 0; i < 11; ++i) + { + if ((!dolfile->data_size[i]) || (dolfile->data_start[i] < 0x100)) continue; + + buffer = (u8 *) dolfile->data_start[i]; + size = dolfile->data_size[i]; + pos = dolfile->data_pos[i]; + + ret = WDVD_Read(buffer, size, doloffset+pos); + if(ret < 0) + { + free(dolfile); + return 0; + } + + gamepatches(buffer, size, videoSelected, languageChoice, patchcountrystring, vipatch, cheat, returnTo, fix002); + Remove_001_Protection(buffer, size); + DCFlushRange(buffer, size); + } + + free(dolfile); return entrypoint; diff --git a/source/usbloader/alternatedol.h b/source/usbloader/alternatedol.h index 006fd783..3c434c46 100644 --- a/source/usbloader/alternatedol.h +++ b/source/usbloader/alternatedol.h @@ -6,13 +6,10 @@ extern "C" { #endif - /* not the full path is needed here, the path where the dol is */ - - bool Load_Dol(void **buffer, int* dollen, char * path, u8 videoSelected, u8 languageChoice, u8 patchcountrystring, u8 vipatch, - u8 cheat, u32 returnTo); - bool Remove_001_Protection(void *Address, int Size); - u32 load_dol_image(void * dolstart); - u32 Load_Dol_from_disc(u32 doloffset, u8 videoSelected, u8 languageChoice, u8 patchcountrystring, u8 vipatch, u8 cheat, u32 returnTo); +/* not the full path is needed here, the path where the dol is */ +bool Load_Dol(void **buffer, int* dollen, const char * filepath); +u32 load_dol_image(void *dolstart, u8 videoSelected, u8 languageChoice, u8 patchcountrystring, u8 vipatch, u8 cheat, u8 fix002, u32 returnTo); +u32 Load_Dol_from_disc(u32 offset, u8 videoSelected, u8 languageChoice, u8 patchcountrystring, u8 vipatch, u8 cheat, u8 fix002, u32 returnTo); #ifdef __cplusplus } diff --git a/source/usbloader/apploader.c b/source/usbloader/apploader.c index b9444062..51bf6201 100644 --- a/source/usbloader/apploader.c +++ b/source/usbloader/apploader.c @@ -14,6 +14,7 @@ #include "patches/wip.h" #include "patches/dolpatcher.h" #include "patches/gamepatches.h" +#include "settings/SettingsEnums.h" extern bool geckoinit; @@ -116,27 +117,31 @@ s32 Apploader_Run(entry_point *entry, char * dolpath, u8 cheat, u8 videoSelected *entry = appldr_final(); /** Load alternate dol if set **/ - if (alternatedol == 2) + if (alternatedol == ALT_DOL_FROM_SD_USB) { wip_reset_counter(); void *dolbuffer = NULL; int dollen = 0; - bool dolloaded = Load_Dol(&dolbuffer, &dollen, dolpath, videoSelected, languageChoice, patchcountrystring, vipatch, cheat, returnTo); + bool dolloaded = Load_Dol(&dolbuffer, &dollen, dolpath); if (dolloaded) { - *entry = (entry_point) load_dol_image(dolbuffer); + *entry = (entry_point) load_dol_image(dolbuffer, videoSelected, languageChoice, patchcountrystring, vipatch, cheat, fix002, returnTo); } if (dolbuffer) free(dolbuffer); } - else if ((alternatedol == 1 || alternatedol == 3) && alternatedoloffset != 0) + else if (alternatedol == ALT_DOL_FROM_GAME && alternatedoloffset != 0) { wip_reset_counter(); FST_ENTRY *fst = (FST_ENTRY *) *(u32 *) 0x80000038; + //! Check if it's inside the limits + if(alternatedoloffset >= fst[0].filelen) + return 0; + *entry = (entry_point) Load_Dol_from_disc(fst[alternatedoloffset].fileoffset, videoSelected, languageChoice, - patchcountrystring, vipatch, cheat, returnTo); + patchcountrystring, vipatch, cheat, fix002, returnTo); } return 0;