* Changed priority to cIOS instead of "IOS58 + AHB access"

at launch if no argument is set in meta.xml.
* Added an option to choose if HDD should be mounted on
  Loader's launch
* Fixed installing games with no_split on NTFS partition 
  if SD Card is inserted (Thanks Dimok)
* Fixed a crash issue when plugging HDD after launch and
  mounting WBFS partition for the first time in HDD menu.
* Fixed gamecube game's list when mounting HDD after launch.
* Fixed automatic switching to channel mode if no USB device
  is detected.
* Updated Gamecube custom banner's default URL for new install.
* Added support for 302 Redirect HTTP error code 
  (for users still using the old banner URL).
* Updated runtimeiospatch to 1.5.2
* Replaced integer values with vector in credit page.

Nintendont : 
* Removed SRAM patch (unused)
* Added Nintendont svn support. (Tested up to r84)
* Added Nintendont USB support.
* Added a check for kenobi file presence when using Ocarina
  with DM/DML/NIN.
* Added a check for controller.ini presence when using HID 
  with Nintendont.
* Added support for Nintendont "loader.dol" filename
* Added support for r39 bootusb.dol and loaderusb.dol
This commit is contained in:
Cyan 2014-04-25 15:34:53 +00:00
parent fa4b1d162b
commit 18edba07a0
39 changed files with 1651 additions and 898 deletions

View File

@ -2,25 +2,25 @@
<app version="1"> <app version="1">
<name> USB Loader GX</name> <name> USB Loader GX</name>
<coder>USB Loader GX Team</coder> <coder>USB Loader GX Team</coder>
<version>3.0 r1218</version> <version>3.0 r1219</version>
<release_date>20131001201020</release_date> <release_date>20140425130603</release_date>
<!-- // remove this line to enable arguments <!-- // remove this line to enable arguments
<arguments> <arguments>
<arg>--ios=250</arg> <arg>--ios=250</arg>
<arg>--usbport=0</arg> <arg>--usbport=0</arg>
</arguments> </arguments>
// remove this line to enable arguments --> // remove this line to enable arguments -->
<no_ios_reload/> <ahb_access/>
<short_description>Loads games from USB-devices</short_description> <short_description>Loads games from USB-devices</short_description>
<long_description>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. <long_description>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.
The interactive GUI is completely controllable with WiiMote, Classic Controller or GC Controller. The interactive GUI is completely controllable with WiiMote, Classic Controller or GC Controller.
Features are automatic widescreen detection, coverdownload, parental control, theme support and many more. Features are automatic widescreen detection, coverdownload, parental control, theme support and many more.
Credits: Credits:
Coding: Dimok, nIxx, giantpune, ardi, Hungyip84, DrayX7, Lustar, r-win, WiiShizzza Coding: Cyan, Dimok, nIxx, giantpune, ardi, Hungyip84, DrayX7, Lustar, r-win, WiiShizzza
Artworks: cyrex, NeoRame Artworks: cyrex, NeoRame
Validation: Cyan and many others Validation: Cyan and many others
Issue management: Cyan / Dimok Issue management: Cyan
WiiTDB / Hosting covers: Lustar WiiTDB / Hosting covers: Lustar
USBLoader sources: Waninkoko, Kwiirk, Hermes USBLoader sources: Waninkoko, Kwiirk, Hermes
cIOS maintenance: davebaol, xabby666, XFlak and Rodries cIOS maintenance: davebaol, xabby666, XFlak and Rodries

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\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" "Last-Translator: David Jelinek (djelinek@hotmail.com) e->e,r->r,u->u, c->c \n"
"Language-Team: r1056 - last version on http://djelinek.sweb.cz/_USBLoderGX/czech.lang \n" "Language-Team: r1056 - last version on http://djelinek.sweb.cz/_USBLoderGX/czech.lang \n"
@ -1360,9 +1360,6 @@ msgstr ""
msgid "Main Path" msgid "Main Path"
msgstr "" msgstr ""
msgid "Main tester:"
msgstr "Muj tester:"
msgid "Mar" msgid "Mar"
msgstr "Brez" msgstr "Brez"
@ -1384,6 +1381,9 @@ msgstr "WiiMotion+ Video"
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "Spustit z DVD" msgstr "Spustit z DVD"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "" msgstr ""
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "Ne" msgstr "Ne"
@ -1567,6 +1564,9 @@ msgstr "Oficiální místo:"
msgid "Offset" msgid "Offset"
msgstr "Ofset" msgstr "Ofset"
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "Pouze oddíl s hrami" msgstr "Pouze oddíl s hrami"
@ -1973,6 +1973,9 @@ msgstr "Tento IOS je BootMii IOS. Pokud si jste jisti ze toto není BootMii a m
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "Tento IOS nebyl nalezen na seznamu. Pokud si jste jisti ze jej máte nainstalován, pak ignorujte toto varování." msgstr "Tento IOS nebyl nalezen na seznamu. Pokud si jste jisti ze jej máte nainstalován, pak ignorujte toto varování."
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "" msgstr ""
@ -2033,7 +2044,7 @@ msgstr "Popisky"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "Prenos selhal" msgstr "Prenos selhal"
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "Odinstalace" msgstr "Odinstalace"
@ -2296,6 +2310,9 @@ msgstr "z "
msgid "seconds left" msgid "seconds left"
msgstr "sekund zbývá" msgstr "sekund zbývá"
#~ msgid "Main tester:"
#~ msgstr "Muj tester:"
#~ msgid "Rename Game on WBFS" #~ msgid "Rename Game on WBFS"
#~ msgstr "Prejmenovat hru na WBFS" #~ msgstr "Prejmenovat hru na WBFS"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: Fox888[dk]\n" "Last-Translator: Fox888[dk]\n"
"Language-Team: [dk]\n" "Language-Team: [dk]\n"
@ -1360,9 +1360,6 @@ msgstr ""
msgid "Main Path" msgid "Main Path"
msgstr "" msgstr ""
msgid "Main tester:"
msgstr "Hoved tester:"
msgid "Mar" msgid "Mar"
msgstr "" msgstr ""
@ -1384,6 +1381,9 @@ msgstr ""
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "Mount DVD-drev" msgstr "Mount DVD-drev"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "Multiple Partitioner" msgstr "Multiple Partitioner"
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "Nej" msgstr "Nej"
@ -1567,6 +1564,9 @@ msgstr "Officiel side:"
msgid "Offset" msgid "Offset"
msgstr "" msgstr ""
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "Kun spil Partition" msgstr "Kun spil Partition"
@ -1973,6 +1973,9 @@ msgstr "Denne IOS er BootMii ios. Hvis du er sikker på at det ikke er BootMii o
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "Denne IOS var ikke fundet i titel listen. Hvis du er sikker på at den er installeret ignorer denne advarsel." msgstr "Denne IOS var ikke fundet i titel listen. Hvis du er sikker på at den er installeret ignorer denne advarsel."
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "" msgstr ""
@ -2033,8 +2044,8 @@ msgstr "Værktøjstips"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "Overførelse fejlede" msgstr "Overførelse fejlede"
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "USB enhed blev ikke fundet." msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
msgstr "USB Loader GX er beskyttet" msgstr "USB Loader GX er beskyttet"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "Afinstaller" msgstr "Afinstaller"
@ -2296,6 +2310,12 @@ msgstr "af"
msgid "seconds left" msgid "seconds left"
msgstr "sekunder tilbage" msgstr "sekunder tilbage"
#~ msgid "Main tester:"
#~ msgstr "Hoved tester:"
#~ msgid "USB Device not found."
#~ msgstr "USB enhed blev ikke fundet."
#~ msgid "Custom Discarts" #~ msgid "Custom Discarts"
#~ msgstr "Tilpasset DVD billeder" #~ msgstr "Tilpasset DVD billeder"

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -1360,9 +1360,6 @@ msgstr ""
msgid "Main Path" msgid "Main Path"
msgstr "" msgstr ""
msgid "Main tester:"
msgstr ""
msgid "Mar" msgid "Mar"
msgstr "" msgstr ""
@ -1384,6 +1381,9 @@ msgstr ""
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "" msgstr ""
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "" msgstr ""
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "" msgstr ""
@ -1567,6 +1564,9 @@ msgstr ""
msgid "Offset" msgid "Offset"
msgstr "" msgstr ""
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "" msgstr ""
@ -1973,6 +1973,9 @@ msgstr ""
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "" msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "" msgstr ""
@ -2033,7 +2044,7 @@ msgstr ""
msgid "Transfer failed" msgid "Transfer failed"
msgstr "" msgstr ""
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "" msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: c64rmx\n" "Last-Translator: c64rmx\n"
"Language-Team: \n" "Language-Team: \n"
@ -1360,9 +1360,6 @@ msgstr ""
msgid "Main Path" msgid "Main Path"
msgstr "" msgstr ""
msgid "Main tester:"
msgstr ""
msgid "Mar" msgid "Mar"
msgstr "maalis" msgstr "maalis"
@ -1384,6 +1381,9 @@ msgstr ""
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "" msgstr ""
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "" msgstr ""
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "Ei" msgstr "Ei"
@ -1567,6 +1564,9 @@ msgstr "Virallinen sivusto:"
msgid "Offset" msgid "Offset"
msgstr "" msgstr ""
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "" msgstr ""
@ -1973,6 +1973,9 @@ msgstr ""
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "" msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "" msgstr ""
@ -2033,7 +2044,7 @@ msgstr "Vinkit"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "" msgstr ""
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "Poista" msgstr "Poista"

View File

@ -1,11 +1,11 @@
# USB Loader GX language source file. # USB Loader GX language source file.
# French.lang - r1218 # French.lang - r1219
# don't delete/change this line (é). # don't delete/change this line (é).
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: Cyan\n" "Last-Translator: Cyan\n"
"Language-Team: Badablek, Amour, ikya, Cyan & Kin8\n" "Language-Team: Badablek, Amour, ikya, Cyan & Kin8\n"
@ -518,7 +518,7 @@ msgid "Customs/Original"
msgstr "Persos/Originaux" msgstr "Persos/Originaux"
msgid "D Buttons" msgid "D Buttons"
msgstr "" msgstr "Boutons directs"
msgid "DOL Path" msgid "DOL Path"
msgstr "Dossier DOL alternatif" msgstr "Dossier DOL alternatif"
@ -1360,9 +1360,6 @@ msgstr "Dossier GameCube principal"
msgid "Main Path" msgid "Main Path"
msgstr "Dossier principal" msgstr "Dossier principal"
msgid "Main tester:"
msgstr "Testeur:"
msgid "Mar" msgid "Mar"
msgstr "Mars" msgstr "Mars"
@ -1384,6 +1381,9 @@ msgstr "Vidéo Motion+"
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "Charger le DVD" msgstr "Charger le DVD"
msgid "Mount USB at launch"
msgstr "Charger USB au démarrage"
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "Partitions multiples" msgstr "Partitions multiples"
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "Dossier Loader Nintendont" msgstr "Dossier Loader Nintendont"
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr "Nintendont n'est actuellement compatible qu'avec les cartes SD."
msgid "No" msgid "No"
msgstr "Non" msgstr "Non"
@ -1567,6 +1564,9 @@ msgstr "Site officiel:"
msgid "Offset" msgid "Offset"
msgstr "" msgstr ""
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "Uniquement la partition de jeu" msgstr "Uniquement la partition de jeu"
@ -1973,6 +1973,9 @@ msgstr "Cet IOS est l'IOS de BootMii. Si vous étes certain que ce n'est pas Boo
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "Cet IOS n'a pas été trouvé dans la liste des titres. Si vous êtes certain de l'avoir installé, ignorez cet avertissement." msgstr "Cet IOS n'a pas été trouvé dans la liste des titres. Si vous êtes certain de l'avoir installé, ignorez cet avertissement."
msgid "This Nintendont version does not support games on USB."
msgstr "Cette version de Nintendont n'est pas compatible avec les jeux sur USB."
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "Ce jeu a plusieurs disques, choisissez celui que vous souhaitez lancer." msgstr "Ce jeu a plusieurs disques, choisissez celui que vous souhaitez lancer."
@ -2022,7 +2025,15 @@ msgid "To run GameCube games with Devolution you need the loader.bin file in you
msgstr "Pour lancer les jeux GameCube avec Devolution vous devez placer le fichier loader.bin dans le Dossier Loader Devolution." msgstr "Pour lancer les jeux GameCube avec Devolution vous devez placer le fichier loader.bin dans le Dossier Loader Devolution."
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "Pour lancer les jeux GameCube avec Nintendont vous devez placer le fichier loader.bin dans le Dossier Loader Nintendont." msgstr "Pour lancer les jeux GameCube avec Nintendont vous devez placer le fichier boot.dol dans le Dossier Loader Nintendont."
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr "Pour utiliser HID avec %s vous avez besoin du fichier %s."
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr "Pour utiliser Ocarina avec %s vous avez besoin du fichier %s."
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "Délai des Info-bulles" msgstr "Délai des Info-bulles"
@ -2033,8 +2044,8 @@ msgstr "Info-bulles"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "Échec du transfert" msgstr "Échec du transfert"
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "Périphérique USB introuvable." msgstr "Périphérique USB non initialisé."
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
msgstr "USB Loader GX est verrouillé" msgstr "USB Loader GX est verrouillé"
@ -2054,6 +2065,9 @@ msgstr "USBLoaderGX n'a pas pu vérifier le fichier boot.dol de nintendont. Voul
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "USBLoaderGX n'a pas pu créer le fichier de configuration de Nintendont. Voulez-vous quand même lancer Nintendont ?" msgstr "USBLoaderGX n'a pas pu créer le fichier de configuration de Nintendont. Voulez-vous quand même lancer Nintendont ?"
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr "Nintendont Alpha v0.1 ne fonctionne qu'avec USBLoaderGX r1218. Veuillez mettre à jour votre version de Nintendont."
msgid "Uninstall" msgid "Uninstall"
msgstr "Désinstaller" msgstr "Désinstaller"
@ -2296,6 +2310,15 @@ msgstr "sur"
msgid "seconds left" msgid "seconds left"
msgstr "secondes restantes" msgstr "secondes restantes"
#~ msgid "Main tester:"
#~ msgstr "Testeur:"
#~ msgid "Nintendont currently only supports GameCube games on SD card."
#~ msgstr "Nintendont n'est actuellement compatible qu'avec les cartes SD."
#~ msgid "USB Device not found."
#~ msgstr "Périphérique USB introuvable."
#~ msgid "Boot/Standard" #~ msgid "Boot/Standard"
#~ msgstr "IOS par défaut" #~ msgstr "IOS par défaut"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2010-07-03 17:35-0800\n" "PO-Revision-Date: 2010-07-03 17:35-0800\n"
"Last-Translator: TheRealVisitor\n" "Last-Translator: TheRealVisitor\n"
"Language-Team: Bertilax, Snoozer, wishmasterf, ZEN.13, TheRealVisitor\n" "Language-Team: Bertilax, Snoozer, wishmasterf, ZEN.13, TheRealVisitor\n"
@ -1360,9 +1360,6 @@ msgstr "GameCube"
msgid "Main Path" msgid "Main Path"
msgstr "Haupt Pfad" msgstr "Haupt Pfad"
msgid "Main tester:"
msgstr "Haupttester:"
msgid "Mar" msgid "Mar"
msgstr "März" msgstr "März"
@ -1384,6 +1381,9 @@ msgstr "Motion+ Video"
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "Spiel starten" msgstr "Spiel starten"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "Mehrere Partitionen" msgstr "Mehrere Partitionen"
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "Nein" msgstr "Nein"
@ -1567,6 +1564,9 @@ msgstr "Offizielle Seite:"
msgid "Offset" msgid "Offset"
msgstr "Offset" msgstr "Offset"
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "Nur Spiele Partition" msgstr "Nur Spiele Partition"
@ -1973,6 +1973,9 @@ msgstr "Dieses IOS ist das BootMii IOS. Solltest du sicher sein, dass es nicht d
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "Dieses IOS wurde nicht in der Titelliste gefunden. Wenn du sicher bist es installiert zu haben, ignoriere die Warnung." msgstr "Dieses IOS wurde nicht in der Titelliste gefunden. Wenn du sicher bist es installiert zu haben, ignoriere die Warnung."
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "Tooltip Verzögerung" msgstr "Tooltip Verzögerung"
@ -2033,8 +2044,8 @@ msgstr "Quickinfo"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "Transfer fehlgeschlagen" msgstr "Transfer fehlgeschlagen"
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "USB-Gerät nicht gefunden." msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
msgstr "USB Loader GX ist jetzt geschützt." msgstr "USB Loader GX ist jetzt geschützt."
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "Deinstallieren" msgstr "Deinstallieren"
@ -2296,6 +2310,12 @@ msgstr "von"
msgid "seconds left" msgid "seconds left"
msgstr "Sekunden verbleiben" msgstr "Sekunden verbleiben"
#~ msgid "Main tester:"
#~ msgstr "Haupttester:"
#~ msgid "USB Device not found."
#~ msgstr "USB-Gerät nicht gefunden."
#~ msgid "Boot/Standard" #~ msgid "Boot/Standard"
#~ msgstr "Bootstandard (cIOS)" #~ msgstr "Bootstandard (cIOS)"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"Last-Translator: nakata6790\n" "Last-Translator: nakata6790\n"
"Language-Team: nakata6790 (aka0107@gmail.com)\n" "Language-Team: nakata6790 (aka0107@gmail.com)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -1359,9 +1359,6 @@ msgstr "ÂáóéêÞ ôïðïèåóßá GameCube"
msgid "Main Path" msgid "Main Path"
msgstr "ÂáóéêÞ ôïðïèåóßá" msgstr "ÂáóéêÞ ôïðïèåóßá"
msgid "Main tester:"
msgstr "Kýñéïò äïêéìáóôÞò:"
msgid "Mar" msgid "Mar"
msgstr "MÜñôéïò" msgstr "MÜñôéïò"
@ -1383,6 +1380,9 @@ msgstr "âéíôåï motion+"
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "Öüñôùóç DVD" msgstr "Öüñôùóç DVD"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "ðïëëáðëÜ partitions" msgstr "ðïëëáðëÜ partitions"
@ -1434,9 +1434,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "Ï÷é" msgstr "Ï÷é"
@ -1566,6 +1563,9 @@ msgstr "Åðßóçìï Site:"
msgid "Offset" msgid "Offset"
msgstr "Offset" msgstr "Offset"
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "Müíï ôï partition ôùí ðáé÷íéäéþí" msgstr "Müíï ôï partition ôùí ðáé÷íéäéþí"
@ -1972,6 +1972,9 @@ msgstr "Ôï ÉÏS áõôü åßíáé ôïõ ëåéôïõñãéêïý BootMii.
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "Ôï ÉÏS áõôü äåí âñÝèçêå óôçí ëßóôá. Áí åßóôå âÝâáéïò-ç üôé ôï Ý÷åôå åãêáôåóôçìÝíï, ðáñáêáëþ áãíïÞóôå áõôÞ ôçí ðñïåéäïðïßçóç." msgstr "Ôï ÉÏS áõôü äåí âñÝèçêå óôçí ëßóôá. Áí åßóôå âÝâáéïò-ç üôé ôï Ý÷åôå åãêáôåóôçìÝíï, ðáñáêáëþ áãíïÞóôå áõôÞ ôçí ðñïåéäïðïßçóç."
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2023,6 +2026,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "ÊáèõóôÝñçóç åìöÜíéóçò åôéêåôþí" msgstr "ÊáèõóôÝñçóç åìöÜíéóçò åôéêåôþí"
@ -2032,8 +2043,8 @@ msgstr "ÅôéêÝôåò"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "Áíåðéôõ÷Þò ìåôáöïñÜ áñ÷åßùí" msgstr "Áíåðéôõ÷Þò ìåôáöïñÜ áñ÷åßùí"
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "Äåí âñÝèçêå ç óõóêåõÞ USB." msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
msgstr "Ôï USB Loader GX åßíáé ðñïóôáôåõìÝíï" msgstr "Ôï USB Loader GX åßíáé ðñïóôáôåõìÝíï"
@ -2053,6 +2064,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "ÁðåãêáôÜóôáóç" msgstr "ÁðåãêáôÜóôáóç"
@ -2295,6 +2309,12 @@ msgstr "áðü"
msgid "seconds left" msgid "seconds left"
msgstr "äåõôåñüëåðôá áðïìÝíïõí" msgstr "äåõôåñüëåðôá áðïìÝíïõí"
#~ msgid "Main tester:"
#~ msgstr "Kýñéïò äïêéìáóôÞò:"
#~ msgid "USB Device not found."
#~ msgstr "Äåí âñÝèçêå ç óõóêåõÞ USB."
#~ msgid "Boot/Standard" #~ msgid "Boot/Standard"
#~ msgstr "Åêêéíçóç/Âáóéêü" #~ msgstr "Åêêéíçóç/Âáóéêü"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2009-12-29 11:05+0100\n" "PO-Revision-Date: 2009-12-29 11:05+0100\n"
"Last-Translator: Springdale\n" "Last-Translator: Springdale\n"
"Language-Team: Tusk, Springdale\n" "Language-Team: Tusk, Springdale\n"
@ -1360,9 +1360,6 @@ msgstr ""
msgid "Main Path" msgid "Main Path"
msgstr "" msgstr ""
msgid "Main tester:"
msgstr ""
msgid "Mar" msgid "Mar"
msgstr "Már" msgstr "Már"
@ -1384,6 +1381,9 @@ msgstr ""
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "DVD meghajtó felcsatolása" msgstr "DVD meghajtó felcsatolása"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "" msgstr ""
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "Nem" msgstr "Nem"
@ -1567,6 +1564,9 @@ msgstr "Hivatalos oldal:"
msgid "Offset" msgid "Offset"
msgstr "" msgstr ""
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "" msgstr ""
@ -1973,6 +1973,9 @@ msgstr ""
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "" msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "" msgstr ""
@ -2033,7 +2044,7 @@ msgstr "Súgók"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "" msgstr ""
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "Törlés" msgstr "Törlés"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2011-09-11 12:19+0100\n" "PO-Revision-Date: 2011-09-11 12:19+0100\n"
"Last-Translator: xFede\n" "Last-Translator: xFede\n"
"Language-Team: xFede (fedeanto11@gmail.com)\n" "Language-Team: xFede (fedeanto11@gmail.com)\n"
@ -1360,9 +1360,6 @@ msgstr "Percorso GameCube"
msgid "Main Path" msgid "Main Path"
msgstr "Percorso principale" msgstr "Percorso principale"
msgid "Main tester:"
msgstr "Tester principale:"
msgid "Mar" msgid "Mar"
msgstr "Marzo" msgstr "Marzo"
@ -1384,6 +1381,9 @@ msgstr "Video motion+"
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "Avvia DVD" msgstr "Avvia DVD"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "Partizioni multiple" msgstr "Partizioni multiple"
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "No" msgstr "No"
@ -1567,6 +1564,9 @@ msgstr "Sito ufficiale:"
msgid "Offset" msgid "Offset"
msgstr "Offset" msgstr "Offset"
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "Solo Partizione Gioco" msgstr "Solo Partizione Gioco"
@ -1973,6 +1973,9 @@ msgstr "Questo IOS è quello del BootMii. Se sei sicuro di aver installato qualc
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "Questo IOS non è stato trovato nella lista dei titoli. Se sei sicuro di averlo installato ignora questo avvertimento." msgstr "Questo IOS non è stato trovato nella lista dei titoli. Se sei sicuro di averlo installato ignora questo avvertimento."
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "Questo gioco contiene più di un disco. Selezione quello da avviare." msgstr "Questo gioco contiene più di un disco. Selezione quello da avviare."
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "Ritardo suggerimenti" msgstr "Ritardo suggerimenti"
@ -2033,8 +2044,8 @@ msgstr "Suggerimenti"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "Trasferimento fallito" msgstr "Trasferimento fallito"
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "Periferica USB non trovata." msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
msgstr "USB Loader GX è protetto" msgstr "USB Loader GX è protetto"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "Disinstalla" msgstr "Disinstalla"
@ -2296,6 +2310,12 @@ msgstr "di"
msgid "seconds left" msgid "seconds left"
msgstr "secondi rimasti" msgstr "secondi rimasti"
#~ msgid "Main tester:"
#~ msgstr "Tester principale:"
#~ msgid "USB Device not found."
#~ msgstr "Periferica USB non trovata."
#~ msgid "Boot/Standard" #~ msgid "Boot/Standard"
#~ msgstr "cIOS predefinito" #~ msgstr "cIOS predefinito"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: hosigumayuugi\n" "Last-Translator: hosigumayuugi\n"
"Language-Team: hosigumayuugi\n" "Language-Team: hosigumayuugi\n"
@ -1360,9 +1360,6 @@ msgstr "ゲームキューブ"
msgid "Main Path" msgid "Main Path"
msgstr "メインパス" msgstr "メインパス"
msgid "Main tester:"
msgstr "メインテスター:"
msgid "Mar" msgid "Mar"
msgstr "3月" msgstr "3月"
@ -1384,6 +1381,9 @@ msgstr "モーション+説明ムービー"
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "DVDを起動" msgstr "DVDを起動"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "マルチ領域" msgstr "マルチ領域"
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "いいえ" msgstr "いいえ"
@ -1567,6 +1564,9 @@ msgstr "公式サイト:"
msgid "Offset" msgid "Offset"
msgstr "代替" msgstr "代替"
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "ゲーム領域のみ" msgstr "ゲーム領域のみ"
@ -1973,6 +1973,9 @@ msgstr "このIOSはBootMiiのIOSです"
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "このIOSはタイトルリストにありませんでした" msgstr "このIOSはタイトルリストにありませんでした"
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "ヒントバルーンの遅延" msgstr "ヒントバルーンの遅延"
@ -2033,8 +2044,8 @@ msgstr "ヒントバルーン"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "転送に失敗しました" msgstr "転送に失敗しました"
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "USB機器が見つかりません" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
msgstr "GXは保護されています" msgstr "GXは保護されています"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "アンインストール" msgstr "アンインストール"
@ -2296,6 +2310,12 @@ msgstr "中"
msgid "seconds left" msgid "seconds left"
msgstr "秒で完了" msgstr "秒で完了"
#~ msgid "Main tester:"
#~ msgstr "メインテスター:"
#~ msgid "USB Device not found."
#~ msgstr "USB機器が見つかりません"
#~ msgid "Boot/Standard" #~ msgid "Boot/Standard"
#~ msgstr "使用するcIOS" #~ msgstr "使用するcIOS"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: nextos@korea.com\n" "Last-Translator: nextos@korea.com\n"
"Language-Team: \n" "Language-Team: \n"
@ -1360,9 +1360,6 @@ msgstr ""
msgid "Main Path" msgid "Main Path"
msgstr "" msgstr ""
msgid "Main tester:"
msgstr ""
msgid "Mar" msgid "Mar"
msgstr "4월" msgstr "4월"
@ -1384,6 +1381,9 @@ msgstr ""
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "" msgstr ""
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "" msgstr ""
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "아니오" msgstr "아니오"
@ -1567,6 +1564,9 @@ msgstr "공식 사이트:"
msgid "Offset" msgid "Offset"
msgstr "" msgstr ""
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "" msgstr ""
@ -1973,6 +1973,9 @@ msgstr ""
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "" msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "" msgstr ""
@ -2033,7 +2044,7 @@ msgstr "Tooltips"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "" msgstr ""
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "제거" msgstr "제거"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: raschi\n" "Last-Translator: raschi\n"
"Language-Team: raschi\n" "Language-Team: raschi\n"
@ -1360,9 +1360,6 @@ msgstr ""
msgid "Main Path" msgid "Main Path"
msgstr "" msgstr ""
msgid "Main tester:"
msgstr "Hovedtester:"
msgid "Mar" msgid "Mar"
msgstr "" msgstr ""
@ -1384,6 +1381,9 @@ msgstr "Motion+ film"
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "Last DVD stasjon" msgstr "Last DVD stasjon"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "Flere partisjoner" msgstr "Flere partisjoner"
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "Nei" msgstr "Nei"
@ -1567,6 +1564,9 @@ msgstr "Offisiell nettside:"
msgid "Offset" msgid "Offset"
msgstr "" msgstr ""
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "Kun spill partisjon" msgstr "Kun spill partisjon"
@ -1973,6 +1973,9 @@ msgstr "Dette IOS er vanligvis BootMii IOS. Hvis du er sikker på at dette ikke
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "Dette IOS ble ikke funnet i tittel listen. Hvis du er sikker på at du har det installert, kan du ignorere denne advarselen." msgstr "Dette IOS ble ikke funnet i tittel listen. Hvis du er sikker på at du har det installert, kan du ignorere denne advarselen."
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "" msgstr ""
@ -2033,7 +2044,7 @@ msgstr "Verktøystips"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "Overføring feilet" msgstr "Overføring feilet"
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "" msgstr ""
@ -2296,6 +2310,9 @@ msgstr "av"
msgid "seconds left" msgid "seconds left"
msgstr "sekunder gjenstår" msgstr "sekunder gjenstår"
#~ msgid "Main tester:"
#~ msgstr "Hovedtester:"
#~ msgid "Boot/Standard" #~ msgid "Boot/Standard"
#~ msgstr "Boot/Standard" #~ msgstr "Boot/Standard"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: ziom666 (zadania_prog@vp.pl)\n" "Last-Translator: ziom666 (zadania_prog@vp.pl)\n"
"Language-Team: \n" "Language-Team: \n"
@ -1360,9 +1360,6 @@ msgstr ""
msgid "Main Path" msgid "Main Path"
msgstr "" msgstr ""
msgid "Main tester:"
msgstr ""
msgid "Mar" msgid "Mar"
msgstr "Marzec" msgstr "Marzec"
@ -1384,6 +1381,9 @@ msgstr ""
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "Uruchom naped DVD" msgstr "Uruchom naped DVD"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "" msgstr ""
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "Nie" msgstr "Nie"
@ -1567,6 +1564,9 @@ msgstr "Strona oficjalna:"
msgid "Offset" msgid "Offset"
msgstr "" msgstr ""
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "" msgstr ""
@ -1973,6 +1973,9 @@ msgstr ""
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "" msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "" msgstr ""
@ -2033,7 +2044,7 @@ msgstr "Chmurki z podpowiedziami"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "" msgstr ""
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "Odinstaluj" msgstr "Odinstaluj"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2009-10-23 18:52+0200\n" "PO-Revision-Date: 2009-10-23 18:52+0200\n"
"Last-Translator: aniemotion\n" "Last-Translator: aniemotion\n"
"Language-Team: boto12, aniemotion\n" "Language-Team: boto12, aniemotion\n"
@ -1360,9 +1360,6 @@ msgstr ""
msgid "Main Path" msgid "Main Path"
msgstr "" msgstr ""
msgid "Main tester:"
msgstr ""
msgid "Mar" msgid "Mar"
msgstr "" msgstr ""
@ -1384,6 +1381,9 @@ msgstr ""
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "Carregar leitor DVD" msgstr "Carregar leitor DVD"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "" msgstr ""
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "Não" msgstr "Não"
@ -1567,6 +1564,9 @@ msgstr "Site Oficial:"
msgid "Offset" msgid "Offset"
msgstr "" msgstr ""
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "" msgstr ""
@ -1973,6 +1973,9 @@ msgstr ""
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "" msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "" msgstr ""
@ -2033,7 +2044,7 @@ msgstr "Dicas"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "" msgstr ""
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "" msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2011-11-03 11:00+0000\n" "PO-Revision-Date: 2011-11-03 11:00+0000\n"
"Last-Translator: pplucky <pplucky@gmail.com>\n" "Last-Translator: pplucky <pplucky@gmail.com>\n"
"Language-Team: Sky8000, pplucky\n" "Language-Team: Sky8000, pplucky\n"
@ -1360,9 +1360,6 @@ msgstr ""
msgid "Main Path" msgid "Main Path"
msgstr "" msgstr ""
msgid "Main tester:"
msgstr "Tester principal:"
msgid "Mar" msgid "Mar"
msgstr "Mar" msgstr "Mar"
@ -1384,6 +1381,9 @@ msgstr "Vídeo Motion+"
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "Montar Unidade de DVD" msgstr "Montar Unidade de DVD"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "Partições múltiplas" msgstr "Partições múltiplas"
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "Não" msgstr "Não"
@ -1567,6 +1564,9 @@ msgstr "Site Oficial:"
msgid "Offset" msgid "Offset"
msgstr "Offset" msgstr "Offset"
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "Apenas Partição Jogos" msgstr "Apenas Partição Jogos"
@ -1973,6 +1973,9 @@ msgstr "Este IOS é o ios BootMii. Se tem a certeza que não é o BootMii e tem
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "Este IOS não foi encontrado na lista de títulos. Se tem a certeza que o tem instalado então ignore este aviso." msgstr "Este IOS não foi encontrado na lista de títulos. Se tem a certeza que o tem instalado então ignore este aviso."
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "" msgstr ""
@ -2033,7 +2044,7 @@ msgstr "Dicas"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "Transferência falhada" msgstr "Transferência falhada"
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "" msgstr ""
@ -2296,6 +2310,9 @@ msgstr "de"
msgid "seconds left" msgid "seconds left"
msgstr "segundos restantes" msgstr "segundos restantes"
#~ msgid "Main tester:"
#~ msgstr "Tester principal:"
#~ msgid "Boot/Standard" #~ msgid "Boot/Standard"
#~ msgstr "Arranque/Std" #~ msgstr "Arranque/Std"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: nikolai_ca\n" "Last-Translator: nikolai_ca\n"
"Language-Team: Kir, alendit, nikolai_ca\n" "Language-Team: Kir, alendit, nikolai_ca\n"
@ -1360,9 +1360,6 @@ msgstr ""
msgid "Main Path" msgid "Main Path"
msgstr "" msgstr ""
msgid "Main tester:"
msgstr ""
msgid "Mar" msgid "Mar"
msgstr "Мар" msgstr "Мар"
@ -1384,6 +1381,9 @@ msgstr ""
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "Монтировать DVD" msgstr "Монтировать DVD"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "" msgstr ""
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "Нет" msgstr "Нет"
@ -1567,6 +1564,9 @@ msgstr "Оф. сайт:"
msgid "Offset" msgid "Offset"
msgstr "" msgstr ""
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "" msgstr ""
@ -1973,6 +1973,9 @@ msgstr ""
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "" msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "" msgstr ""
@ -2033,7 +2044,7 @@ msgstr "Подсказки"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "" msgstr ""
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "Деинсталлировать" msgstr "Деинсталлировать"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2013-08-13 07:03+0800\n" "PO-Revision-Date: 2013-08-13 07:03+0800\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: oCameLo\n" "Language-Team: oCameLo\n"
@ -1360,9 +1360,6 @@ msgstr "首选 GameCube 路径"
msgid "Main Path" msgid "Main Path"
msgstr "首选路径" msgstr "首选路径"
msgid "Main tester:"
msgstr "主要测试员:"
msgid "Mar" msgid "Mar"
msgstr "三月" msgstr "三月"
@ -1384,6 +1381,9 @@ msgstr "移动+视频"
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "挂载 DVD 光驱" msgstr "挂载 DVD 光驱"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "多分区" msgstr "多分区"
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "否" msgstr "否"
@ -1567,6 +1564,9 @@ msgstr "官方网址:"
msgid "Offset" msgid "Offset"
msgstr "偏移位" msgstr "偏移位"
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "仅游戏分区" msgstr "仅游戏分区"
@ -1973,6 +1973,9 @@ msgstr "该 IOS 是BootMii IOS 。如果你确定它不是 BootMii 并且安装
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "在 titles 列表中未找到该 IOS 。如果你确定已安装则可忽略该警告。" msgstr "在 titles 列表中未找到该 IOS 。如果你确定已安装则可忽略该警告。"
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "该游戏有多张光盘。请选择想要加载的光盘。" msgstr "该游戏有多张光盘。请选择想要加载的光盘。"
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "提示信息延迟时间" msgstr "提示信息延迟时间"
@ -2033,8 +2044,8 @@ msgstr "提示信息"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "传输失败" msgstr "传输失败"
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "未找到 USB 设备。" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
msgstr "USB Loader GX 被锁定" msgstr "USB Loader GX 被锁定"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "删除" msgstr "删除"
@ -2296,6 +2310,12 @@ msgstr "的"
msgid "seconds left" msgid "seconds left"
msgstr "剩余秒数" msgstr "剩余秒数"
#~ msgid "Main tester:"
#~ msgstr "主要测试员:"
#~ msgid "USB Device not found."
#~ msgstr "未找到 USB 设备。"
#~ msgid "Boot/Standard" #~ msgid "Boot/Standard"
#~ msgstr "启动/标准" #~ msgstr "启动/标准"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2011-07-25 16:40+0200\n" "PO-Revision-Date: 2011-07-25 16:40+0200\n"
"Last-Translator: Galen/xFede\n" "Last-Translator: Galen/xFede\n"
"Language-Team: Penn, SirPalax, hvy109\n" "Language-Team: Penn, SirPalax, hvy109\n"
@ -1360,9 +1360,6 @@ msgstr "Ruta principal GameCube"
msgid "Main Path" msgid "Main Path"
msgstr "Ruta principal" msgstr "Ruta principal"
msgid "Main tester:"
msgstr "Probador principal:"
msgid "Mar" msgid "Mar"
msgstr "" msgstr ""
@ -1384,6 +1381,9 @@ msgstr "Vídeo Motion+"
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "Montar unidad DVD" msgstr "Montar unidad DVD"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "Múltiples Particiones" msgstr "Múltiples Particiones"
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "" msgstr ""
@ -1567,6 +1564,9 @@ msgstr "Página Oficial:"
msgid "Offset" msgid "Offset"
msgstr "" msgstr ""
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "Solo Partición de Juegos" msgstr "Solo Partición de Juegos"
@ -1973,6 +1973,9 @@ msgstr "Este IOS es el ios de BootMii. Si estás seguro de que no está BootMii
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "No se encontró este IOS en la lista de títulos. Si estás seguro de que lo tienes instalado, ignora esta advertencia." msgstr "No se encontró este IOS en la lista de títulos. Si estás seguro de que lo tienes instalado, ignora esta advertencia."
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "Retraso de ayuda rapida" msgstr "Retraso de ayuda rapida"
@ -2033,8 +2044,8 @@ msgstr "Descripción"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "Transferencia fallida" msgstr "Transferencia fallida"
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "Dispositivo USB no encontrado" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
msgstr "USB Loader GX está protegido" msgstr "USB Loader GX está protegido"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "Desinstalar" msgstr "Desinstalar"
@ -2296,6 +2310,12 @@ msgstr "de"
msgid "seconds left" msgid "seconds left"
msgstr "segundos restantes" msgstr "segundos restantes"
#~ msgid "Main tester:"
#~ msgstr "Probador principal:"
#~ msgid "USB Device not found."
#~ msgstr "Dispositivo USB no encontrado"
#~ msgid "Boot/Standard" #~ msgid "Boot/Standard"
#~ msgstr "Inicio/Estándar" #~ msgstr "Inicio/Estándar"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2010-01-19 17:39+0200\n" "PO-Revision-Date: 2010-01-19 17:39+0200\n"
"Last-Translator: Katsurou\n" "Last-Translator: Katsurou\n"
"Language-Team: Katsurou, pirateX\n" "Language-Team: Katsurou, pirateX\n"
@ -1360,9 +1360,6 @@ msgstr ""
msgid "Main Path" msgid "Main Path"
msgstr "" msgstr ""
msgid "Main tester:"
msgstr ""
msgid "Mar" msgid "Mar"
msgstr "" msgstr ""
@ -1384,6 +1381,9 @@ msgstr ""
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "Montera DVD läsare" msgstr "Montera DVD läsare"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "" msgstr ""
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "Nej" msgstr "Nej"
@ -1567,6 +1564,9 @@ msgstr "Officiell sida:"
msgid "Offset" msgid "Offset"
msgstr "" msgstr ""
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "" msgstr ""
@ -1973,6 +1973,9 @@ msgstr ""
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "" msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "" msgstr ""
@ -2033,7 +2044,7 @@ msgstr "Verktygstips"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "" msgstr ""
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "Avinstallera" msgstr "Avinstallera"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2010-02-15 21:00+0800\n" "PO-Revision-Date: 2010-02-15 21:00+0800\n"
"Last-Translator: Jane.H\n" "Last-Translator: Jane.H\n"
"Language-Team: kyogc, Miller, Mika Li, Jane.H\n" "Language-Team: kyogc, Miller, Mika Li, Jane.H\n"
@ -1360,9 +1360,6 @@ msgstr "主要的 GameCube路徑"
msgid "Main Path" msgid "Main Path"
msgstr "主要路徑" msgstr "主要路徑"
msgid "Main tester:"
msgstr "主要測試者:"
msgid "Mar" msgid "Mar"
msgstr "三月" msgstr "三月"
@ -1384,6 +1381,9 @@ msgstr "移動+視訊"
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "掛載DVD光碟" msgstr "掛載DVD光碟"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "多重磁區" msgstr "多重磁區"
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "否" msgstr "否"
@ -1567,6 +1564,9 @@ msgstr "官方網址:"
msgid "Offset" msgid "Offset"
msgstr "偏移" msgstr "偏移"
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "僅遊戲分區" msgstr "僅遊戲分區"
@ -1973,6 +1973,9 @@ msgstr "這IOS是BootMii的ios。若你確定不是BootMii的IOS而你在這安
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "標題清單找不到這IOS。若你確定已安裝它請忽略這警告。" msgstr "標題清單找不到這IOS。若你確定已安裝它請忽略這警告。"
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "此遊戲為多重光碟。請選擇光碟啟動。" msgstr "此遊戲為多重光碟。請選擇光碟啟動。"
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "提示訊息 延遲時間" msgstr "提示訊息 延遲時間"
@ -2033,8 +2044,8 @@ msgstr "提示訊息"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "傳輸失敗" msgstr "傳輸失敗"
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "找不到 USB 裝置" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
msgstr "USB Loader GX 被上鎖保護" msgstr "USB Loader GX 被上鎖保護"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "移除" msgstr "移除"
@ -2296,6 +2310,12 @@ msgstr "的"
msgid "seconds left" msgid "seconds left"
msgstr "剩餘秒數" msgstr "剩餘秒數"
#~ msgid "Main tester:"
#~ msgstr "主要測試者:"
#~ msgid "USB Device not found."
#~ msgstr "找不到 USB 裝置"
#~ msgid "Boot/Standard" #~ msgid "Boot/Standard"
#~ msgstr "啟動/標準" #~ msgstr "啟動/標準"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: Nitro_subzero \n" "Last-Translator: Nitro_subzero \n"
"Language-Team: Nitro_subzero\n" "Language-Team: Nitro_subzero\n"
@ -1360,9 +1360,6 @@ msgstr ""
msgid "Main Path" msgid "Main Path"
msgstr "" msgstr ""
msgid "Main tester:"
msgstr ""
msgid "Mar" msgid "Mar"
msgstr "มีค." msgstr "มีค."
@ -1384,6 +1381,9 @@ msgstr ""
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "เชื่อม DVD ไดร์ฟ" msgstr "เชื่อม DVD ไดร์ฟ"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "" msgstr ""
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "ไม่" msgstr "ไม่"
@ -1567,6 +1564,9 @@ msgstr "เวบไซต์อย่างเป็นทางการ:"
msgid "Offset" msgid "Offset"
msgstr "" msgstr ""
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "" msgstr ""
@ -1973,6 +1973,9 @@ msgstr ""
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "" msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "" msgstr ""
@ -2033,7 +2044,7 @@ msgstr "คำแนะนำ"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "" msgstr ""
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "ถอนการติดตั้ง" msgstr "ถอนการติดตั้ง"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 22:10+0200\n" "POT-Creation-Date: 2014-04-25 15:06+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: omercigingelini\n" "Last-Translator: omercigingelini\n"
"Language-Team: omercigingelini\n" "Language-Team: omercigingelini\n"
@ -1360,9 +1360,6 @@ msgstr ""
msgid "Main Path" msgid "Main Path"
msgstr "" msgstr ""
msgid "Main tester:"
msgstr ""
msgid "Mar" msgid "Mar"
msgstr "" msgstr ""
@ -1384,6 +1381,9 @@ msgstr ""
msgid "Mount DVD drive" msgid "Mount DVD drive"
msgstr "DVD sürücüsü bağla" msgstr "DVD sürücüsü bağla"
msgid "Mount USB at launch"
msgstr ""
msgid "Multiple Partitions" msgid "Multiple Partitions"
msgstr "" msgstr ""
@ -1435,9 +1435,6 @@ msgstr ""
msgid "Nintendont Loader Path" msgid "Nintendont Loader Path"
msgstr "" msgstr ""
msgid "Nintendont currently only supports GameCube games on SD card."
msgstr ""
msgid "No" msgid "No"
msgstr "Hayır" msgstr "Hayır"
@ -1567,6 +1564,9 @@ msgstr "Resmi Site:"
msgid "Offset" msgid "Offset"
msgstr "" msgstr ""
msgid "Ok"
msgstr ""
msgid "Only Game Partition" msgid "Only Game Partition"
msgstr "" msgstr ""
@ -1973,6 +1973,9 @@ msgstr ""
msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning."
msgstr "" msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch." msgid "This game has multiple discs. Please select the disc to launch."
msgstr "" msgstr ""
@ -2024,6 +2027,14 @@ msgstr ""
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr "" msgstr ""
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgid "Tooltip Delay" msgid "Tooltip Delay"
msgstr "" msgstr ""
@ -2033,7 +2044,7 @@ msgstr "Yardımlar"
msgid "Transfer failed" msgid "Transfer failed"
msgstr "" msgstr ""
msgid "USB Device not found." msgid "USB Device not initialized."
msgstr "" msgstr ""
msgid "USB Loader GX is protected" msgid "USB Loader GX is protected"
@ -2054,6 +2065,9 @@ msgstr ""
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr "" msgstr ""
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgid "Uninstall" msgid "Uninstall"
msgstr "Kaldır" msgstr "Kaldır"

View File

@ -47,8 +47,7 @@ public:
vector<struct discHdr> & GetHeaders(void) vector<struct discHdr> & GetHeaders(void)
{ {
if(HeaderList.empty()) LoadAllGames();
LoadAllGames();
return HeaderList; return HeaderList;
} }

View File

@ -20,17 +20,19 @@
#include <gctypes.h> #include <gctypes.h>
#define NIN_MAGIC 0x01070CF6 #define NIN_MAGIC 0x01070CF6
#define NIN_CFG_VERSION 0x00000001 #define NIN_CFG_VERSION 0x00000002
typedef struct NIN_CFG typedef struct NIN_CFG
{ {
u32 Magicbytes; // 0x01070CF6 u32 Magicbytes; // 0x01070CF6
u32 Version; // 0x00000001 u32 Version; // 0x00000002 since r42
u32 Config; u32 Config;
u32 VideoMode; u32 VideoMode;
u32 Language; u32 Language;
char GamePath[255]; char GamePath[255];
char CheatPath[255]; char CheatPath[255];
u32 MaxPads;
u32 GameID;
} NIN_CFG; } NIN_CFG;
enum ninconfig enum ninconfig
@ -39,13 +41,13 @@ enum ninconfig
NIN_CFG_DEBUGGER = (1<<1), // Only for Wii Version NIN_CFG_DEBUGGER = (1<<1), // Only for Wii Version
NIN_CFG_DEBUGWAIT = (1<<2), // Only for Wii Version NIN_CFG_DEBUGWAIT = (1<<2), // Only for Wii Version
NIN_CFG_MEMCARDEMU = (1<<3), NIN_CFG_MEMCARDEMU = (1<<3),
NIN_CFG_GAME_PATH = (1<<4), NIN_CFG_CHEAT_PATH = (1<<4),
NIN_CFG_CHEAT_PATH = (1<<5), NIN_CFG_FORCE_WIDE = (1<<5),
NIN_CFG_FORCE_WIDE = (1<<6), NIN_CFG_FORCE_PROG = (1<<6),
NIN_CFG_FORCE_PROG = (1<<7), NIN_CFG_AUTO_BOOT = (1<<7),
NIN_CFG_AUTO_BOOT = (1<<8), NIN_CFG_HID = (1<<8),
NIN_CFG_HID = (1<<9), NIN_CFG_OSREPORT = (1<<9),
NIN_CFG_OSREPORT = (1<<10), // Only for Wii Version NIN_CFG_USB = (1<<10),
}; };
enum ninvideomode enum ninvideomode
@ -59,8 +61,10 @@ enum ninvideomode
NIN_VID_FORCE_PAL50 = (1<<0), NIN_VID_FORCE_PAL50 = (1<<0),
NIN_VID_FORCE_PAL60 = (1<<1), NIN_VID_FORCE_PAL60 = (1<<1),
NIN_VID_FORCE_NTSC = (1<<2), NIN_VID_FORCE_NTSC = (1<<2),
NIN_VID_FORCE_MPAL = (1<<3),
NIN_VID_PROG = (1<<4),
NIN_VID_FORCE_MASK = NIN_VID_FORCE_PAL50|NIN_VID_FORCE_PAL60|NIN_VID_FORCE_NTSC, NIN_VID_FORCE_MASK = NIN_VID_FORCE_PAL50|NIN_VID_FORCE_PAL60|NIN_VID_FORCE_NTSC|NIN_VID_FORCE_MPAL,
}; };
enum ninlanguage enum ninlanguage

View File

@ -211,17 +211,32 @@ int StartUpProcess::Execute()
Settings.EntryIOS = IOS_GetVersion(); Settings.EntryIOS = IOS_GetVersion();
// Reload app cios if needed // Reload app cios if needed
if(!AHBPROT_DISABLED || Settings.UseArgumentIOS) SetTextf("Loading application cIOS %s\n", Settings.UseArgumentIOS ? "requested in meta.xml" : "");
if(IosLoader::LoadAppCios() < 0)
{ {
SetTextf("Loading application cIOS %s\n", Settings.UseArgumentIOS ? "requested in meta.xml" : ""); SetTextf("Failed loading any cIOS. Trying with IOS58 + AHB access...");
if(IosLoader::LoadAppCios() < 0)
// We can allow now operation without cIOS in channel mode with AHB access
if(!AHBPROT_DISABLED || (AHBPROT_DISABLED && IOS_GetVersion() != 58))
{ {
SetTextf("Failed loading any cIOS. USB Loader GX requires a cIOS or AHB access to work properly.\n"); SetTextf("Failed loading IOS 58. USB Loader GX requires a cIOS or IOS 58 with AHB access. Exiting...\n");
sleep(5);
Sys_BackToLoader();
}
else
{
SetTextf("Running on IOS 58. Wii disc based games and some channels will not work.");
sleep(5); sleep(5);
// We can allow now operation without cIOS in channel mode with AHPPROT
// Sys_BackToLoader();
} }
} }
if(!AHBPROT_DISABLED && IOS_GetVersion() < 200)
{
SetTextf("Failed loading IOS %i. USB Loader GX requires a cIOS or IOS58 with AHB access. Exiting...\n", IOS_GetVersion());
sleep(5);
Sys_BackToLoader();
}
SetTextf("Using %sIOS %i\n", IOS_GetVersion() >= 200 ? "c" : "", IOS_GetVersion()); SetTextf("Using %sIOS %i\n", IOS_GetVersion() >= 200 ? "c" : "", IOS_GetVersion());
SetupPads(); SetupPads();
@ -229,12 +244,21 @@ int StartUpProcess::Execute()
SetTextf("Initialize sd card\n"); SetTextf("Initialize sd card\n");
DeviceHandler::Instance()->MountSD(); DeviceHandler::Instance()->MountSD();
SetTextf("Initialize usb device\n");
USBSpinUp();
DeviceHandler::Instance()->MountAllUSB(false);
SetTextf("Loading config files\n"); SetTextf("Loading config files\n");
gprintf("\tLoading config...%s\n", Settings.Load() ? "done" : "failed");
// Ugly, but let's load SD card first to allow users to disable USB Auto mounting.
gprintf("\tLoading config from SD...");
bool settingsLoaded = Settings.Load();
gprintf("%s\n", settingsLoaded ? "done" : "failed");
if(Settings.USBAutoMount == ON)
{
SetTextf("Initialize usb device\n");
USBSpinUp();
DeviceHandler::Instance()->MountAllUSB(false);
}
if(!settingsLoaded) gprintf("\tLoading config from USB...%s\n", Settings.Load() ? "done" : "failed");
gprintf("\tLoading language...%s\n", Settings.LoadLanguage(Settings.language_path, CONSOLE_DEFAULT) ? "done" : "failed"); gprintf("\tLoading language...%s\n", Settings.LoadLanguage(Settings.language_path, CONSOLE_DEFAULT) ? "done" : "failed");
gprintf("\tLoading game settings...%s\n", GameSettings.Load(Settings.ConfigPath) ? "done" : "failed"); gprintf("\tLoading game settings...%s\n", GameSettings.Load(Settings.ConfigPath) ? "done" : "failed");
gprintf("\tLoading game statistics...%s\n", GameStatistics.Load(Settings.ConfigPath) ? "done" : "failed"); gprintf("\tLoading game statistics...%s\n", GameStatistics.Load(Settings.ConfigPath) ? "done" : "failed");
@ -247,7 +271,8 @@ int StartUpProcess::Execute()
// Unmount devices // Unmount devices
DeviceHandler::DestroyInstance(); DeviceHandler::DestroyInstance();
USBStorage2_Deinit(); if(Settings.USBAutoMount == ON)
USBStorage2_Deinit();
// Shut down pads // Shut down pads
WPAD_Shutdown(); WPAD_Shutdown();
@ -260,8 +285,11 @@ int StartUpProcess::Execute()
// Re-Mount devices // Re-Mount devices
SetTextf("Reinitializing devices...\n"); SetTextf("Reinitializing devices...\n");
DeviceHandler::Instance()->MountSD(); DeviceHandler::Instance()->MountSD();
USBSpinUp(); if(Settings.USBAutoMount == ON)
DeviceHandler::Instance()->MountAllUSB(false); {
USBSpinUp();
DeviceHandler::Instance()->MountAllUSB(false);
}
// Start pads again // Start pads again
SetupPads(); SetupPads();
@ -273,14 +301,20 @@ int StartUpProcess::Execute()
} }
else if(Settings.USBPort == 1 && USBStorage2_GetPort() != Settings.USBPort) else if(Settings.USBPort == 1 && USBStorage2_GetPort() != Settings.USBPort)
{ {
SetTextf("Changing USB Port to %i\n", Settings.USBPort); if(Settings.USBAutoMount == ON)
DeviceHandler::Instance()->UnMountAllUSB(); {
DeviceHandler::Instance()->MountAllUSB(); SetTextf("Changing USB Port to %i\n", Settings.USBPort);
DeviceHandler::Instance()->UnMountAllUSB();
DeviceHandler::Instance()->MountAllUSB();
}
} }
else if(Settings.USBPort == 2) else if(Settings.USBPort == 2)
{ {
SetTextf("Mounting USB Port to 1\n"); if(Settings.USBAutoMount == ON)
DeviceHandler::Instance()->MountUSBPort1(); {
SetTextf("Mounting USB Port to 1\n");
DeviceHandler::Instance()->MountUSBPort1();
}
} }
// enable isfs permission if using IOS+AHB or Hermes v4 // enable isfs permission if using IOS+AHB or Hermes v4

View File

@ -1280,7 +1280,17 @@ int GameBrowseMenu::MainLoop()
if((Settings.LoaderMode & MODE_WIIGAMES) && (gameList.GameCount() == 0)) if((Settings.LoaderMode & MODE_WIIGAMES) && (gameList.GameCount() == 0))
{ {
WBFS_ReInit(WBFS_DEVICE_USB); s32 wbfsinit = WBFS_Init(WBFS_DEVICE_USB);
if (wbfsinit < 0)
{
ShowError("%s %s", tr( "USB Device not initialized." ), tr("Switching to channel list mode."));
Settings.LoaderMode &= ~MODE_WIIGAMES;
Settings.LoaderMode |= MODE_NANDCHANNELS;
}
else
{
WBFS_ReInit(WBFS_DEVICE_USB);
}
gameList.ReadGameList(); gameList.ReadGameList();
if(Settings.ShowFreeSpace) if(Settings.ShowFreeSpace)

View File

@ -1,7 +1,9 @@
#include "http.h" #include "http.h"
#include "../svnrev.h" #include "../svnrev.h"
#include "gecko.h"
extern char incommingIP[50]; extern char incommingIP[50];
static u8 retryloop = 0;
/** /**
* Emptyblock is a statically defined variable for functions to return if they are unable * Emptyblock is a statically defined variable for functions to return if they are unable
@ -197,30 +199,118 @@ struct block downloadfile(const char *url)
return emptyblock; return emptyblock;
} }
//check if a cookie is set for this host and load it.
//strcpy(cookie, "Cookie: __cfduid=d8e517c1a10af75d01699adaa9c3d9ffd1398187687536\r\n");
//Form a nice request header to send to the webserver //Form a nice request header to send to the webserver
char* headerformat = "GET %s HTTP/1.0\r\nHost: %s\r\nReferer: %s\r\nUser-Agent: USBLoaderGX r%s\r\n\r\n"; char* headerformat = "GET %s HTTP/1.0\r\nHost: %s\r\nReferer: %s\r\n%sUser-Agent: USBLoaderGX r%s\r\n\r\n";
char header[strlen(headerformat) + strlen(path) + strlen(domain)*2 + 100]; char header[strlen(headerformat) + strlen(path) + strlen(domain)*2 + 100];
sprintf(header, headerformat, path, domain, domain, GetRev()); sprintf(header, headerformat, path, domain, domain, GetRev());
//gprintf("\nHTTP Request:\n");
//gprintf("%s\n",header);
//Do the request and get the response //Do the request and get the response
send_message(connection, header); send_message(connection, header);
struct block response = read_message(connection); struct block response = read_message(connection);
net_close(connection); net_close(connection);
// dump response
// hexdump(response.data, response.size);
//Search for the 4-character sequence \r\n\r\n in the response which signals the start of the http payload (file) //Search for the 4-character sequence \r\n\r\n in the response which signals the start of the http payload (file)
unsigned char *filestart = NULL; unsigned char *filestart = NULL;
u32 filesize = 0; u32 filesize = 0;
u32 i; u32 i;
char newURL[512];
bool redirect = false;
for (i = 3; i < response.size; i++) for (i = 3; i < response.size; i++)
{ {
if (response.data[i] == '\n' && response.data[i - 1] == '\r' && response.data[i - 2] == '\n' && response.data[i - 3] == '\r') if (response.data[i] == '\n' && response.data[i - 1] == '\r' && response.data[i - 2] == '\n' && response.data[i - 3] == '\r')
{ {
filestart = response.data + i + 1; filestart = response.data + i + 1;
filesize = response.size - i - 1; filesize = response.size - i - 1;
// Check the HTTP response code
if (response.size > 10 && strncmp((char*)response.data, "HTTP/", 5)==0)
{
char htstat[i];
strncpy(htstat, (char*)response.data, i);
htstat[i] = 0;
char *codep;
codep = strchr(htstat, ' ');
if (codep)
{
int code;
if (sscanf(codep+1, "%d", &code) == 1)
{
//gprintf("HTTP response code: %d\n", code);
if (code == 302) // 302 FOUND (redirected link)
{
char *ptr = strstr((char*)response.data, "ocation: "); // location or Location
if(ptr)
{
ptr += strlen("ocation: ");
strncpy(newURL, ptr, sizeof(newURL));
*(strchr(newURL, '\r'))=0;
redirect = true;
//gprintf("New URL to download = %s \n", newURL);
}
else
{
//gprintf("HTTP ERROR: %s\n", htstat);
free(response.data);
return emptyblock;
}
}
if (code >=400) // Not found
{
//gprintf("HTTP ERROR: %s\n", htstat);
//free(response.data);
//return emptyblock;
}
}
}
}
break; break;
} }
} }
if(redirect)
{
// Prevent endless loop
retryloop++;
if(retryloop > 3)
{
retryloop = 0;
free(response.data);
return emptyblock;
}
struct block redirected = downloadfile(newURL);
// copy the newURL data into the original data
u8 * tmp = realloc(response.data, redirected.size);
if (tmp == NULL)
{
//gprintf("Could not allocate enough memory for new URL. Download canceled.\n");
free(response.data);
free(redirected.data);
return emptyblock;
}
response.data = tmp;
memcpy(response.data, redirected.data, redirected.size);
// Set filestart's new size based on redirected file
filestart = response.data;
filesize = redirected.size;
free(redirected.data);
}
retryloop = 0;
if (filestart == NULL) if (filestart == NULL)
{ {
//printf("HTTP Response was without a file\n"); //printf("HTTP Response was without a file\n");

View File

@ -253,7 +253,7 @@ void WindowCredits()
creditsMusic->Play(); creditsMusic->Play();
bool exit = false; bool exit = false;
int i = 0; u32 i = 0;
int y = 20; int y = 20;
float oldFontScale = Settings.FontScaleFactor; float oldFontScale = Settings.FontScaleFactor;
Settings.FontScaleFactor = 1.0f; Settings.FontScaleFactor = 1.0f;
@ -273,23 +273,22 @@ void WindowCredits()
starImg.SetAlignment(ALIGN_LEFT, ALIGN_TOP); starImg.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
starImg.SetPosition(505, 350); starImg.SetPosition(505, 350);
const int numEntries = 26; std::vector<GuiText *> txt;
std::vector<GuiText *> txt(numEntries);
const u8 *creditsFont = Resources::GetFile("font.ttf"); const u8 *creditsFont = Resources::GetFile("font.ttf");
u32 creditsFontSize = Resources::GetFileSize("font.ttf"); u32 creditsFontSize = Resources::GetFileSize("font.ttf");
txt[i] = new GuiText(tr( "Credits" ), 28, ( GXColor ) {255, 255, 255, 255}); GuiText * currentTxt = new GuiText(tr( "Credits" ), 28, ( GXColor ) {255, 255, 255, 255});
txt[i]->SetAlignment(ALIGN_CENTER, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_CENTER, ALIGN_TOP);
txt[i]->SetPosition(0, 8); currentTxt->SetPosition(0, 8);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
char SvnRev[80]; char SvnRev[80];
#ifdef FULLCHANNEL #ifdef FULLCHANNEL
snprintf(SvnRev, sizeof(SvnRev), "Rev%sc IOS%u (Rev %u)", GetRev(), IOS_GetVersion(), IOS_GetRevision()); snprintf(SvnRev, sizeof(SvnRev), "Rev%sc IOS%u (Rev %u)%s", GetRev(), IOS_GetVersion(), IOS_GetRevision(), (*(vu32*)0xcd800064 == 0xFFFFFFFF)? " + AHB" : "" );
#else #else
snprintf(SvnRev, sizeof(SvnRev), "Rev%s IOS%u (Rev %u)", GetRev(), IOS_GetVersion(), IOS_GetRevision()); snprintf(SvnRev, sizeof(SvnRev), "Rev%s IOS%u (Rev %u)%s", GetRev(), IOS_GetVersion(), IOS_GetRevision(), (*(vu32*)0xcd800064 == 0xFFFFFFFF)? " + AHB" : "" );
#endif #endif
char IosInfo[80] = ""; char IosInfo[80] = "";
@ -329,6 +328,8 @@ void WindowCredits()
char GCInfo2[80] = ""; char GCInfo2[80] = "";
char NIN_loader_path[100]; char NIN_loader_path[100];
snprintf(NIN_loader_path, sizeof(NIN_loader_path), "%sboot.dol", Settings.NINLoaderPath); snprintf(NIN_loader_path, sizeof(NIN_loader_path), "%sboot.dol", Settings.NINLoaderPath);
if(!CheckFile(NIN_loader_path))
snprintf(NIN_loader_path, sizeof(NIN_loader_path), "%sloader.dol", Settings.NINLoaderPath);
if(CheckFile(NIN_loader_path)) if(CheckFile(NIN_loader_path))
{ {
u8 *buffer = NULL; u8 *buffer = NULL;
@ -355,190 +356,190 @@ void WindowCredits()
} }
// Header - Top left // Header - Top left
txt[i] = new GuiText(GCInfo2, 16, ( GXColor ) {255, 255, 255, 255}); currentTxt = new GuiText(GCInfo2, 16, ( GXColor ) {255, 255, 255, 255});
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(0, strlen(GCInfo) > 0 ? y-10 : y); currentTxt->SetPosition(0, strlen(GCInfo) > 0 ? y-10 : y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
// Header - Bottom left // Header - Bottom left
txt[i] = new GuiText(GCInfo, 16, ( GXColor ) {255, 255, 255, 255}); currentTxt = new GuiText(GCInfo, 16, ( GXColor ) {255, 255, 255, 255});
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(0, y+6); currentTxt->SetPosition(0, y+6);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
// Header - Top right // Header - Top right
txt[i] = new GuiText(SvnRev, 16, ( GXColor ) {255, 255, 255, 255}); currentTxt = new GuiText(SvnRev, 16, ( GXColor ) {255, 255, 255, 255});
txt[i]->SetAlignment(ALIGN_RIGHT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_RIGHT, ALIGN_TOP);
txt[i]->SetPosition(0, (info || currentMIOS > DEFAULT_MIOS) ? y-10 : y); currentTxt->SetPosition(0, (info || currentMIOS > DEFAULT_MIOS) ? y-10 : y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
// Header - Bottom right // Header - Bottom right
txt[i] = new GuiText(IosInfo, 16, ( GXColor ) {255, 255, 255, 255}); currentTxt = new GuiText(IosInfo, 16, ( GXColor ) {255, 255, 255, 255});
txt[i]->SetAlignment(ALIGN_RIGHT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_RIGHT, ALIGN_TOP);
txt[i]->SetPosition(0, y+6); currentTxt->SetPosition(0, y+6);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 34; y += 34;
txt[i] = new GuiText("USB Loader GX", 24, ( GXColor ) {255, 255, 255, 255}); currentTxt = new GuiText("USB Loader GX", 24, ( GXColor ) {255, 255, 255, 255});
txt[i]->SetAlignment(ALIGN_CENTER, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_CENTER, ALIGN_TOP);
txt[i]->SetPosition(0, y); currentTxt->SetPosition(0, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 24; y += 24;
txt[i] = new GuiText(tr( "Official Site:" ), 20, ( GXColor ) {255, 255, 255, 255}); currentTxt = new GuiText(tr( "Official Site:" ), 20, ( GXColor ) {255, 255, 255, 255});
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(10, y); currentTxt->SetPosition(10, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
txt[i] = new GuiText("http://code.google.com/p/usbloader-gui/", 20, ( GXColor ) {255, 255, 255, 255}); currentTxt = new GuiText("http://code.google.com/p/usbloader-gui/", 20, ( GXColor ) {255, 255, 255, 255});
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(160, y); currentTxt->SetPosition(160, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 22; y += 22;
GuiText::SetPresets(20, ( GXColor ) {255, 255, 255, 255}, 3000, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_TOP, ALIGN_LEFT, ALIGN_TOP); GuiText::SetPresets(20, ( GXColor ) {255, 255, 255, 255}, 3000, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_TOP, ALIGN_LEFT, ALIGN_TOP);
txt[i] = new GuiText(tr( "Coding:" )); currentTxt = new GuiText(tr( "Coding:" ));
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(10, y); currentTxt->SetPosition(10, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
txt[i] = new GuiText("Dimok / nIxx / giantpune / ardi"); currentTxt = new GuiText("Cyan / Dimok / nIxx / giantpune / ardi");
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(160, y); currentTxt->SetPosition(160, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 20; y += 20;
txt[i] = new GuiText("hungyip84 / DrayX7 / lustar / r-win"); currentTxt = new GuiText("hungyip84 / DrayX7 / lustar / r-win");
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(160, y); currentTxt->SetPosition(160, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 22; y += 22;
char text[100]; char text[100];
txt[i] = new GuiText(tr( "Design:" )); currentTxt = new GuiText(tr( "Design:" ));
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(10, y); currentTxt->SetPosition(10, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
txt[i] = new GuiText("cyrex / NeoRame"); currentTxt = new GuiText("cyrex / NeoRame");
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(160, y); currentTxt->SetPosition(160, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 22; y += 22;
txt[i] = new GuiText(tr( "Main tester:" )); currentTxt = new GuiText("");
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(10, y); currentTxt->SetPosition(10, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
txt[i] = new GuiText("Cyan"); currentTxt = new GuiText("");
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(160, y); currentTxt->SetPosition(160, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 22; y += 22;
txt[i] = new GuiText(tr( "Big thanks to:" )); currentTxt = new GuiText(tr( "Big thanks to:" ));
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(10, y); currentTxt->SetPosition(10, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
sprintf(text, "lustar %s", tr( "for GameTDB and hosting covers / disc images" )); sprintf(text, "lustar %s", tr( "for GameTDB and hosting covers / disc images" ));
txt[i] = new GuiText(text); currentTxt = new GuiText(text);
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(160, y); currentTxt->SetPosition(160, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 20; y += 20;
sprintf(text, "Cyan and Shano56 %s", tr( "for their work on the wiki page" )); sprintf(text, "Cyan and Shano56 %s", tr( "for their work on the wiki page" ));
txt[i] = new GuiText(text); currentTxt = new GuiText(text);
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(160, y); currentTxt->SetPosition(160, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 20; y += 20;
sprintf(text, "Kinyo %s", tr( "and translators for language files updates" )); sprintf(text, "Kinyo %s", tr( "and translators for language files updates" ));
txt[i] = new GuiText(text); currentTxt = new GuiText(text);
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(160, y); currentTxt->SetPosition(160, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 20; y += 20;
sprintf(text, "Deak Phreak %s", tr( "for hosting the themes" )); sprintf(text, "Deak Phreak %s", tr( "for hosting the themes" ));
txt[i] = new GuiText(text); currentTxt = new GuiText(text);
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(160, y); currentTxt->SetPosition(160, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 24; y += 24;
txt[i] = new GuiText(tr( "Special thanks to:" )); currentTxt = new GuiText(tr( "Special thanks to:" ));
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(10, y); currentTxt->SetPosition(10, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 20; y += 20;
sprintf(text, "Waninkoko, Kwiirk & Hermes %s", tr( "for the USB Loader source" )); sprintf(text, "Waninkoko, Kwiirk & Hermes %s", tr( "for the USB Loader source" ));
txt[i] = new GuiText(text); currentTxt = new GuiText(text);
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(10, y); currentTxt->SetPosition(10, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 20; y += 20;
sprintf(text, "Tantric %s", tr( "for his awesome tool LibWiiGui" )); sprintf(text, "Tantric %s", tr( "for his awesome tool LibWiiGui" ));
txt[i] = new GuiText(text); currentTxt = new GuiText(text);
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(10, y); currentTxt->SetPosition(10, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 20; y += 20;
sprintf(text, "Fishears/Nuke %s", tr( "for Ocarina" )); sprintf(text, "Fishears/Nuke %s", tr( "for Ocarina" ));
txt[i] = new GuiText(text); currentTxt = new GuiText(text);
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(10, y); currentTxt->SetPosition(10, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 20; y += 20;
sprintf(text, "WiiPower %s", tr( "for diverse patches" )); sprintf(text, "WiiPower %s", tr( "for diverse patches" ));
txt[i] = new GuiText(text); currentTxt = new GuiText(text);
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(10, y); currentTxt->SetPosition(10, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 20; y += 20;
sprintf(text, "Oggzee %s", tr( "for FAT/NTFS support" )); sprintf(text, "Oggzee %s", tr( "for FAT/NTFS support" ));
txt[i] = new GuiText(text); currentTxt = new GuiText(text);
txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
txt[i]->SetPosition(10, y); currentTxt->SetPosition(10, y);
txt[i]->SetFont(creditsFont, creditsFontSize); currentTxt->SetFont(creditsFont, creditsFontSize);
i++; txt.push_back(currentTxt);
y += 20; y += 20;
for (i = 0; i < numEntries; i++) for (i = 0; i < txt.size(); i++)
creditsWindowBox.Append(txt[i]); creditsWindowBox.Append(txt[i]);
creditsWindow.Append(&creditsWindowBox); creditsWindow.Append(&creditsWindowBox);
@ -578,7 +579,7 @@ void WindowCredits()
HaltGui(); HaltGui();
mainWindow->Remove(&creditsWindow); mainWindow->Remove(&creditsWindow);
mainWindow->SetState(STATE_DEFAULT); mainWindow->SetState(STATE_DEFAULT);
for (i = 0; i < numEntries; i++) for (i = 0; i < txt.size(); i++)
{ {
delete txt[i]; delete txt[i];
txt[i] = NULL; txt[i] = NULL;
@ -1368,7 +1369,13 @@ bool NetworkInitPrompt()
return success; return success;
} }
/*
static size_t writedata(void *ptr, size_t size, size_t nmemb, void *stream)
{
int written = fwrite(ptr, size, nmemb, (FILE *)stream);
return written;
}
*/
int CodeDownload(const char *id) int CodeDownload(const char *id)
{ {
if (!CreateSubfolder(Settings.TxtCheatcodespath)) if (!CreateSubfolder(Settings.TxtCheatcodespath))
@ -1462,6 +1469,62 @@ int CodeDownload(const char *id)
char codeurl[250]; char codeurl[250];
snprintf(codeurl, sizeof(codeurl), "http://geckocodes.org/txt.php?txt=%s", id); snprintf(codeurl, sizeof(codeurl), "http://geckocodes.org/txt.php?txt=%s", id);
//snprintf(codeurl, sizeof(codeurl), "http://geckocodes.org/codes/G/%s.txt", id);
/* //// preparation for lib cURL - Thanks airline38
CURL *curl_handle;
// Forge cURL header - needed for cloudflare proxy
char useragent[20];
snprintf(useragent, sizeof(useragent), "USBLoaderGX r%s", GetRev());
curl_handle = curl_easy_init();
curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, useragent);
curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl_handle, CURLOPT_URL, codeurl);
curl_easy_setopt(curl_handle, CURLOPT_HTTPGET, 1); // needed?
FILE * pfile = fopen(txtpath, "wb");
if(pfile)
{
curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, writedata);
curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)pfile);
curl_easy_perform(curl_handle);
fclose(pfile);
// verify downloaded content
pfile = fopen(txtpath, "rb");
char target[4];
fseek(pfile,0,SEEK_SET);
fread(target, sizeof(char), 4, pfile);
fclose(pfile);
//printf("target=%s game id=%s\n",target,id);
if (strncmp(target,id,4)== 0 )
{
snprintf(txtpath, sizeof(txtpath), "%s%s", txtpath, tr(" has been Saved. The text has not been verified. Some of the code may not work right with each other. If you experience trouble, open the text in a real text editor for more information." ));
WindowPrompt(0, txtpath, tr( "OK" ));
curl_easy_cleanup(curl_handle);
curl_global_cleanup();
ret = 0;
}
else
{
RemoveFile(txtpath);
snprintf(codeurl, sizeof(codeurl), "%s%s", codeurl, tr( " is not on the server." ));
WindowPrompt(tr( "Error" ), codeurl, tr( "OK" ));
}
}
else
{
snprintf(codeurl, sizeof(codeurl), "%s%s", codeurl, tr(" could not be downloaded."));
WindowPrompt(tr( "Error" ), codeurl, tr( "OK" ));
}
curl_easy_cleanup(curl_handle);
curl_global_cleanup();
/////
*/
struct block file = downloadfile(codeurl); struct block file = downloadfile(codeurl);

View File

@ -78,7 +78,7 @@ void CSettings::SetDefault()
strlcpy(NandEmuChanPath, NandEmuPath, sizeof(NandEmuChanPath)); strlcpy(NandEmuChanPath, NandEmuPath, sizeof(NandEmuChanPath));
strlcpy(GameCubePath, "usb1:/games/", sizeof(GameCubePath)); strlcpy(GameCubePath, "usb1:/games/", sizeof(GameCubePath));
strlcpy(GameCubeSDPath, "sd:/games/", sizeof(GameCubeSDPath)); strlcpy(GameCubeSDPath, "sd:/games/", sizeof(GameCubeSDPath));
strlcpy(CustomBannersURL, "http://dl.dropbox.com/u/101209384/", sizeof(CustomBannersURL)); strlcpy(CustomBannersURL, "http://dl.dropboxusercontent.com/u/101209384/", sizeof(CustomBannersURL));
theme[0] = 0; theme[0] = 0;
language_path[0] = 0; language_path[0] = 0;
ogg_path[0] = 0; ogg_path[0] = 0;
@ -133,6 +133,7 @@ void CSettings::SetDefault()
MultiplePartitions = OFF; MultiplePartitions = OFF;
BlockIOSReload = AUTO; BlockIOSReload = AUTO;
USBPort = 0; USBPort = 0;
USBAutoMount = ON;
CacheTitles = ON; CacheTitles = ON;
WSFactor = 0.8f; //actually should be 0.75 for real widescreen WSFactor = 0.8f; //actually should be 0.75 for real widescreen
FontScaleFactor = 0.8f; //it's a work around to not have to change ALL fonts now FontScaleFactor = 0.8f; //it's a work around to not have to change ALL fonts now
@ -346,6 +347,7 @@ bool CSettings::Save()
fprintf(file, "HomeMenu = %d\n", HomeMenu); fprintf(file, "HomeMenu = %d\n", HomeMenu);
fprintf(file, "MultiplePartitions = %d\n", MultiplePartitions); fprintf(file, "MultiplePartitions = %d\n", MultiplePartitions);
fprintf(file, "USBPort = %d\n", USBPort); fprintf(file, "USBPort = %d\n", USBPort);
fprintf(file, "USBAutoMount = %d\n", USBAutoMount);
fprintf(file, "CacheTitles = %d\n", CacheTitles); fprintf(file, "CacheTitles = %d\n", CacheTitles);
fprintf(file, "BlockIOSReload = %d\n", BlockIOSReload); fprintf(file, "BlockIOSReload = %d\n", BlockIOSReload);
fprintf(file, "WSFactor = %0.3f\n", WSFactor); fprintf(file, "WSFactor = %0.3f\n", WSFactor);
@ -642,6 +644,11 @@ bool CSettings::SetSetting(char *name, char *value)
USBPort = atoi(value); USBPort = atoi(value);
return true; return true;
} }
else if (strcmp(name, "USBAutoMount") == 0)
{
USBAutoMount = atoi(value);
return true;
}
else if (strcmp(name, "CacheTitles") == 0) else if (strcmp(name, "CacheTitles") == 0)
{ {
CacheTitles = atoi(value); CacheTitles = atoi(value);

View File

@ -132,6 +132,7 @@ class CSettings
short HomeMenu; short HomeMenu;
short MultiplePartitions; short MultiplePartitions;
short USBPort; short USBPort;
short USBAutoMount;
short CacheTitles; short CacheTitles;
short BlockIOSReload; short BlockIOSReload;
u32 InstallPartitions; u32 InstallPartitions;

View File

@ -75,6 +75,7 @@ HardDriveSM::HardDriveSM()
Options->SetName(Idx++, "%s", tr( "Game/Install Partition" )); Options->SetName(Idx++, "%s", tr( "Game/Install Partition" ));
Options->SetName(Idx++, "%s", tr( "Multiple Partitions" )); Options->SetName(Idx++, "%s", tr( "Multiple Partitions" ));
Options->SetName(Idx++, "%s", tr( "USB Port" )); Options->SetName(Idx++, "%s", tr( "USB Port" ));
Options->SetName(Idx++, "%s", tr( "Mount USB at launch" ));
Options->SetName(Idx++, "%s", tr( "Install Directories" )); Options->SetName(Idx++, "%s", tr( "Install Directories" ));
Options->SetName(Idx++, "%s", tr( "Game Split Size" )); Options->SetName(Idx++, "%s", tr( "Game Split Size" ));
Options->SetName(Idx++, "%s", tr( "Install Partitions" )); Options->SetName(Idx++, "%s", tr( "Install Partitions" ));
@ -108,6 +109,7 @@ HardDriveSM::~HardDriveSM()
Settings.partition = 0; Settings.partition = 0;
} }
WBFS_Init(WBFS_DEVICE_USB);
if(Settings.MultiplePartitions) if(Settings.MultiplePartitions)
WBFS_OpenAll(); WBFS_OpenAll();
else else
@ -143,6 +145,9 @@ void HardDriveSM::SetOptionValues()
else else
Options->SetValue(Idx++, "%i", NewSettingsUSBPort); Options->SetValue(Idx++, "%i", NewSettingsUSBPort);
//! Settings: Auto Mount USB at launch
Options->SetValue(Idx++, "%s", tr( OnOffText[Settings.USBAutoMount] ));
//! Settings: Install directories //! Settings: Install directories
Options->SetValue(Idx++, "%s", tr( InstallToText[Settings.InstallToDir] )); Options->SetValue(Idx++, "%s", tr( InstallToText[Settings.InstallToDir] ));
@ -179,6 +184,11 @@ int HardDriveSM::GetMenuInternal()
//! Settings: Game/Install Partition //! Settings: Game/Install Partition
if (ret == ++Idx) if (ret == ++Idx)
{ {
// Init the USB device if mounted after launch.
PartitionHandle * usbHandle = DeviceHandler::Instance()->GetUSBHandleFromPartition(Settings.partition);
if(usbHandle == NULL)
DeviceHandler::Instance()->MountAllUSB(true);
// Select the next valid partition, even if that's the same one // Select the next valid partition, even if that's the same one
int fs_type = 0; int fs_type = 0;
int ios = IOS_GetVersion(); int ios = IOS_GetVersion();
@ -214,6 +224,12 @@ int HardDriveSM::GetMenuInternal()
NewSettingsUSBPort = 0; NewSettingsUSBPort = 0;
} }
//! Settings: Auto mount USB at launch
else if (ret == ++Idx)
{
if (++Settings.USBAutoMount >= MAX_ON_OFF) Settings.USBAutoMount = 0;
}
//! Settings: Install directories //! Settings: Install directories
else if (ret == ++Idx) else if (ret == ++Idx)
{ {

View File

@ -10,6 +10,8 @@
// Copyright (C) 2010 Joseph Jordan <joe.ftpii@psychlaw.com.au> // Copyright (C) 2010 Joseph Jordan <joe.ftpii@psychlaw.com.au>
// Copyright (C) 2012-2013 damysteryman // Copyright (C) 2012-2013 damysteryman
// Copyright (C) 2012-2013 Christopher Bratusek <nano@tuxfamily.org> // Copyright (C) 2012-2013 Christopher Bratusek <nano@tuxfamily.org>
// Copyright (C) 2013 DarkMatterCore
// Copyright (C) 2014 megazig
#include <gccore.h> #include <gccore.h>
#include <ogc/machine/processor.h> #include <ogc/machine/processor.h>
@ -21,10 +23,8 @@
#define MEM_REG_BASE 0xd8b4000 #define MEM_REG_BASE 0xd8b4000
#define MEM_PROT (MEM_REG_BASE + 0x20a) #define MEM_PROT (MEM_REG_BASE + 0x20a)
//const u8 check_tmd_patch1[] = { 0x23, 0x01, 0x42, 0x5B };
static inline void disable_memory_protection(void) {
static void disable_memory_protection() {
write32(MEM_PROT, read32(MEM_PROT) & 0x0000FFFF); write32(MEM_PROT, read32(MEM_PROT) & 0x0000FFFF);
} }
@ -36,65 +36,59 @@ static const u8 di_readlimit_old[] = {
}; };
static const u8 di_readlimit_patch[] = { 0x7e, 0xd4 }; static const u8 di_readlimit_patch[] = { 0x7e, 0xd4 };
const u8 isfs_permissions_old[] = { 0x42, 0x8B, 0xD0, 0x01, 0x25, 0x66 }; static const u8 isfs_permissions_old[] = { 0x42, 0x8B, 0xD0, 0x01, 0x25, 0x66 };
const u8 isfs_permissions_patch[] = { 0x42, 0x8B, 0xE0, 0x01, 0x25, 0x66 }; static const u8 isfs_permissions_patch[] = { 0x42, 0x8B, 0xE0, 0x01, 0x25, 0x66 };
const u8 setuid_old[] = { 0xD1, 0x2A, 0x1C, 0x39 }; static const u8 setuid_old[] = { 0xD1, 0x2A, 0x1C, 0x39 };
const u8 setuid_patch[] = { 0x46, 0xC0 }; static const u8 setuid_patch[] = { 0x46, 0xC0 };
const u8 es_identify_old[] = { 0x28, 0x03, 0xD1, 0x23 }; static const u8 es_identify_old[] = { 0x28, 0x03, 0xD1, 0x23 };
const u8 es_identify_patch[] = { 0x00, 0x00 }; static const u8 es_identify_patch[] = { 0x00, 0x00 };
const u8 hash_old[] = { 0x20, 0x07, 0x4B, 0x0B }; static const u8 hash_old[] = { 0x20, 0x07, 0x23, 0xA2 };
const u8 hash_patch[] = { 0x00 }; static const u8 hash_patch[] = { 0x00 };
const u8 new_hash_old[] = { 0x20, 0x07, 0x4B, 0x0B }; static const u8 new_hash_old[] = { 0x20, 0x07, 0x4B, 0x0B };
const u8 addticket_vers_check[] = { 0xD2, 0x01, 0x4E, 0x56 }; static const u8 addticket_vers_check[] = { 0xD2, 0x01, 0x4E, 0x56 };
const u8 addticket_patch[] = { 0xE0 }; static const u8 addticket_patch[] = { 0xE0 };
const u8 es_set_ahbprot_old[] = { 0x68, 0x5B, 0x22, 0xEC, 0x00, 0x52, 0x18, 0x9B, 0x68, 0x1B, 0x46, 0x98, 0x07, 0xDB }; static const u8 es_set_ahbprot_old[] = { 0x68, 0x5B, 0x22, 0xEC, 0x00, 0x52, 0x18, 0x9B, 0x68, 0x1B, 0x46, 0x98, 0x07, 0xDB };
const u8 es_set_ahbprot_patch[] = { 0x01 }; static const u8 es_set_ahbprot_patch[] = { 0x01 };
//Following patches added to iospatch.c by damysteryman, taken from sciifii v5 //Following patches added to iospatch.c by damysteryman, taken from sciifii v5
const u8 MEM2_prot_old[] = { 0xB5, 0x00, 0x4B, 0x09, 0x22, 0x01, 0x80, 0x1A, 0x22, 0xF0 }; static const u8 MEM2_prot_old[] = { 0xB5, 0x00, 0x4B, 0x09, 0x22, 0x01, 0x80, 0x1A, 0x22, 0xF0 };
const u8 MEM2_prot_patch[] = { 0xB5, 0x00, 0x4B, 0x09, 0x22, 0x00, 0x80, 0x1A, 0x22, 0xF0 }; static const u8 MEM2_prot_patch[] = { 0xB5, 0x00, 0x4B, 0x09, 0x22, 0x00, 0x80, 0x1A, 0x22, 0xF0 };
const u8 ES_OpenTitleContent1_old[] = { 0x9D, 0x05, 0x42, 0x9D, 0xD0, 0x03 }; static const u8 ES_OpenTitleContent1_old[] = { 0x9D, 0x05, 0x42, 0x9D, 0xD0, 0x03 };
const u8 ES_OpenTitleContent1_patch[] = { 0x9D, 0x05, 0x42, 0x9D, 0xE0, 0x03 }; static const u8 ES_OpenTitleContent1_patch[] = { 0x9D, 0x05, 0x42, 0x9D, 0xE0, 0x03 };
const u8 ES_OpenTitleContent2_old[] = { 0xD4, 0x01, 0x4C, 0x36, 0xE0, 0x3B }; static const u8 ES_OpenTitleContent2_old[] = { 0xD4, 0x01, 0x4C, 0x36, 0xE0, 0x3B };
const u8 ES_OpenTitleContent2_patch[] = { 0xE0, 0x01, 0x4C, 0x36, 0xE0, 0x3B }; static const u8 ES_OpenTitleContent2_patch[] = { 0xE0, 0x01, 0x4C, 0x36, 0xE0, 0x3B };
const u8 ES_ReadContent_old[] = { 0xFC, 0x0F, 0xB5, 0x30, 0x1C, 0x14, 0x1C, 0x1D, 0x4B, static const u8 ES_ReadContent_old[] = { 0xFC, 0x0F, 0xB5, 0x30, 0x1C, 0x14, 0x1C, 0x1D, 0x4B,
0x0E, 0x68, 0x9B, 0x2B, 0x00, 0xD0, 0x03, 0x29, 0x00, 0xDB, 0x01, 0x0E, 0x68, 0x9B, 0x2B, 0x00, 0xD0, 0x03, 0x29, 0x00, 0xDB, 0x01,
0x29, 0x0F, 0xDD, 0x01 }; 0x29, 0x0F, 0xDD, 0x01 };
const u8 ES_ReadContent_patch[] = { 0xFC, 0x0F, 0xB5, 0x30, 0x1C, 0x14, 0x1C, 0x1D, 0x4B, static const u8 ES_ReadContent_patch[] = { 0xFC, 0x0F, 0xB5, 0x30, 0x1C, 0x14, 0x1C, 0x1D, 0x4B,
0x0E, 0x68, 0x9B, 0x2B, 0x00, 0x46, 0xC0, 0x29, 0x00, 0x46, 0xC0, 0x0E, 0x68, 0x9B, 0x2B, 0x00, 0x46, 0xC0, 0x29, 0x00, 0x46, 0xC0,
0x29, 0x0F, 0xE0, 0x01 }; 0x29, 0x0F, 0xE0, 0x01 };
const u8 ES_CloseContent_old[] = { 0xB5, 0x10, 0x4B, 0x10, 0x68, 0x9B, 0x2B, 0x00, 0xD0, static const u8 ES_CloseContent_old[] = { 0xB5, 0x10, 0x4B, 0x10, 0x68, 0x9B, 0x2B, 0x00, 0xD0,
0x03, 0x29, 0x00, 0xDB, 0x01, 0x29, 0x0F, 0xDD, 0x01 }; 0x03, 0x29, 0x00, 0xDB, 0x01, 0x29, 0x0F, 0xDD, 0x01 };
const u8 ES_CloseContent_patch[] = { 0xB5, 0x10, 0x4B, 0x10, 0x68, 0x9B, 0x2B, 0x00, 0x46, static const u8 ES_CloseContent_patch[] = { 0xB5, 0x10, 0x4B, 0x10, 0x68, 0x9B, 0x2B, 0x00, 0x46,
0xC0, 0x29, 0x00, 0x46, 0xC0, 0x29, 0x0F, 0xE0, 0x01 }; 0xC0, 0x29, 0x00, 0x46, 0xC0, 0x29, 0x0F, 0xE0, 0x01 };
const u8 ES_TitleVersionCheck_old[] = { 0xD2, 0x01, 0x4E, 0x56 }; static const u8 ES_TitleVersionCheck_old[] = { 0xD2, 0x01, 0x4E, 0x56 };
const u8 ES_TitleVersionCheck_patch[] = { 0xE0, 0x01, 0x4E, 0x56 }; static const u8 ES_TitleVersionCheck_patch[] = { 0xE0, 0x01, 0x4E, 0x56 };
const u8 ES_TitleDeleteCheck_old[] = { 0xD8, 0x00, 0x4A, 0x04 }; static const u8 ES_TitleDeleteCheck_old[] = { 0xD8, 0x00, 0x4A, 0x04 };
const u8 ES_TitleDeleteCheck_patch[] = { 0xE0, 0x00, 0x4A, 0x04 }; static const u8 ES_TitleDeleteCheck_patch[] = { 0xE0, 0x00, 0x4A, 0x04 };
//Following patches made my damysteryman for use with Wii U's vWii
/*const u8 Kill_AntiSysTitleInstallv2_pt1_old[] = { 0x68, 0x1A, 0x2A, 0x01, 0xD0, 0x05 }; // Make sure that the pt1
const u8 Kill_AntiSysTitleInstallv2_pt1_patch[] = { 0x68, 0x1A, 0x2A, 0x01, 0x46, 0xC0 }; // patch is applied twice. -dmm
const u8 Kill_AntiSysTitleInstallv2_pt2_old[] = { 0x4B, 0x29, 0x42, 0x9A, 0xD0, 0x02 };
const u8 Kill_AntiSysTitleInstallv2_pt2_patch[] = { 0x4B, 0x29, 0x42, 0x9A, 0x46, 0xC0 };
const u8 Kill_AntiSysTitleInstallv2_pt3_old[] = { 0xD0, 0x02, 0x33, 0x06 };
const u8 Kill_AntiSysTitleInstallv2_pt3_patch[] = { 0x46, 0xC0, 0x33, 0x06 };
const u8 Kill_AntiSysTitleInstallv2_pt4_old[] = { 0x2C, 0x01, 0xD0, 0x07};
const u8 Kill_AntiSysTitleInstallv2_pt4_patch[] = { 0x2C, 0x01, 0x46, 0xC0};
const u8 Kill_AntiSysTitleInstallv2_pt5_old[] = { 0x42, 0x94, 0xD0, 0x03, 0x9C, 0x03 };
const u8 Kill_AntiSysTitleInstallv2_pt5_patch[] = { 0x42, 0x94, 0x46, 0xC0, 0x9C, 0x03 };*/
//Following patches made my damysteryman for use with Wii U's vWii //Following set of patches made by damysteryman for use with Wii U's vWii
const u8 Kill_AntiSysTitleInstallv3_pt1_old[] = { 0x68, 0x1A, 0x2A, 0x01, 0xD0, 0x05 }; // Make sure that the pt1 static const u8 Kill_AntiSysTitleInstallv3_pt1_old[] = { 0x68, 0x1A, 0x2A, 0x01, 0xD0, 0x05 }; // Make sure that the pt1
const u8 Kill_AntiSysTitleInstallv3_pt1_patch[] = { 0x68, 0x1A, 0x2A, 0x01, 0x46, 0xC0 }; // patch is applied twice. -dmm static const u8 Kill_AntiSysTitleInstallv3_pt1_patch[] = { 0x68, 0x1A, 0x2A, 0x01, 0x46, 0xC0 }; // patch is applied twice. -dmm
const u8 Kill_AntiSysTitleInstallv3_pt2_old[] = { 0xD0, 0x02, 0x33, 0x06, 0x42, 0x9A, 0xD1, 0x01 }; // Make sure that the pt2 patch static const u8 Kill_AntiSysTitleInstallv3_pt2_old[] = { 0xD0, 0x02, 0x33, 0x06, 0x42, 0x9A, 0xD1, 0x01 }; // Make sure that the pt2 patch
const u8 Kill_AntiSysTitleInstallv3_pt2_patch[] = { 0x46, 0xC0, 0x33, 0x06, 0x42, 0x9A, 0xE0, 0x01 }; // is also applied twice. -dmm static const u8 Kill_AntiSysTitleInstallv3_pt2_patch[] = { 0x46, 0xC0, 0x33, 0x06, 0x42, 0x9A, 0xE0, 0x01 }; // is also applied twice. -dmm
const u8 Kill_AntiSysTitleInstallv3_pt3_old[] = { 0x68, 0xFB, 0x2B, 0x00, 0xDB, 0x01 }; static const u8 Kill_AntiSysTitleInstallv3_pt3_old[] = { 0x68, 0xFB, 0x2B, 0x00, 0xDB, 0x01 };
const u8 Kill_AntiSysTitleInstallv3_pt3_patch[] = { 0x68, 0xFB, 0x2B, 0x00, 0xDB, 0x10 }; static const u8 Kill_AntiSysTitleInstallv3_pt3_patch[] = { 0x68, 0xFB, 0x2B, 0x00, 0xDB, 0x10 };
static u32 apply_patch(char *name, const u8 *old, u32 old_size, const u8 *patch, u32 patch_size, u32 patch_offset, bool verbose) { static const u8 isfs_setattr_pt1_old[] = { 0x42, 0xAB, 0xD0, 0x02, 0x20, 0x66 };
static const u8 isfs_setattr_pt1_patch[] = { 0x42, 0xAB, 0xE0, 0x02, 0x20, 0x66 };
static const u8 isfs_setattr_pt2_old[] = { 0x2D, 0x00, 0xD0, 0x02, 0x20, 0x66 };
static const u8 isfs_setattr_pt2_patch[] = { 0x2D, 0x00, 0xE0, 0x02, 0x20, 0x66 };
static u8 apply_patch(const char *name, const u8 *old, u32 old_size, const u8 *patch, size_t patch_size, u32 patch_offset, bool verbose) {
u8 *ptr_start = (u8*)*((u32*)0x80003134), *ptr_end = (u8*)0x94000000; u8 *ptr_start = (u8*)*((u32*)0x80003134), *ptr_end = (u8*)0x94000000;
u32 found = 0; u8 found = 0;
if(verbose) if(verbose)
printf(" Patching %-30s", name); printf(" Patching %-30s", name);
u8 *location = NULL; u8 *location = NULL;
@ -124,7 +118,6 @@ static u32 apply_patch(char *name, const u8 *old, u32 old_size, const u8 *patch,
s32 IosPatch_AHBPROT(bool verbose) { s32 IosPatch_AHBPROT(bool verbose) {
if (AHBPROT_DISABLED) { if (AHBPROT_DISABLED) {
disable_memory_protection(); disable_memory_protection();
//return apply_patch("set_ahbprot", check_tmd_old, sizeof(check_tmd_old), check_tmd_patch, sizeof(check_tmd_patch), 6, verbose);
s32 ret = apply_patch("es_set_ahbprot", es_set_ahbprot_old, sizeof(es_set_ahbprot_old), es_set_ahbprot_patch, sizeof(es_set_ahbprot_patch), 25, verbose); s32 ret = apply_patch("es_set_ahbprot", es_set_ahbprot_old, sizeof(es_set_ahbprot_old), es_set_ahbprot_patch, sizeof(es_set_ahbprot_patch), 25, verbose);
if (ret) if (ret)
return ret; return ret;
@ -141,19 +134,19 @@ s32 IosPatch_RUNTIME(bool wii, bool sciifii, bool vwii, bool verbose) {
disable_memory_protection(); disable_memory_protection();
if(wii) if(wii)
{ {
if(verbose) if(verbose) printf(">> Applying standard Wii patches:\n");
printf(">> Applying standard Wii patches:\n");
count += apply_patch("di_readlimit", di_readlimit_old, sizeof(di_readlimit_old), di_readlimit_patch, sizeof(di_readlimit_patch), 12, verbose); count += apply_patch("di_readlimit", di_readlimit_old, sizeof(di_readlimit_old), di_readlimit_patch, sizeof(di_readlimit_patch), 12, verbose);
count += apply_patch("isfs_permissions", isfs_permissions_old, sizeof(isfs_permissions_old), isfs_permissions_patch, sizeof(isfs_permissions_patch), 0, verbose); count += apply_patch("isfs_permissions", isfs_permissions_old, sizeof(isfs_permissions_old), isfs_permissions_patch, sizeof(isfs_permissions_patch), 0, verbose);
count += apply_patch("es_setuid", setuid_old, sizeof(setuid_old), setuid_patch, sizeof(setuid_patch), 0, verbose); count += apply_patch("es_setuid", setuid_old, sizeof(setuid_old), setuid_patch, sizeof(setuid_patch), 0, verbose);
count += apply_patch("es_identify", es_identify_old, sizeof(es_identify_old), es_identify_patch, sizeof(es_identify_patch), 2, verbose); count += apply_patch("es_identify", es_identify_old, sizeof(es_identify_old), es_identify_patch, sizeof(es_identify_patch), 2, verbose);
count += apply_patch("hash_check", hash_old, sizeof(hash_old), hash_patch, sizeof(hash_patch), 1, verbose); count += apply_patch("hash_check", hash_old, sizeof(hash_old), hash_patch, sizeof(hash_patch), 1, verbose);
count += apply_patch("new_hash_check", new_hash_old, sizeof(new_hash_old), hash_patch, sizeof(hash_patch), 1, verbose); count += apply_patch("new_hash_check", new_hash_old, sizeof(new_hash_old), hash_patch, sizeof(hash_patch), 1, verbose);
count += apply_patch("isfs_setattr_pt1", isfs_setattr_pt1_old, sizeof(isfs_setattr_pt1_old), isfs_setattr_pt1_patch, sizeof(isfs_setattr_pt1_patch), 0, verbose);
count += apply_patch("isfs_setattr_pt2", isfs_setattr_pt2_old, sizeof(isfs_setattr_pt2_old), isfs_setattr_pt2_patch, sizeof(isfs_setattr_pt2_patch), 0, verbose);
} }
if(sciifii) if(sciifii)
{ {
if(verbose) if(verbose) printf(">> Applying Sciifii patches:\n");
printf(">> Applying Sciifii patches:\n");
count += apply_patch("MEM2_prot", MEM2_prot_old, sizeof(MEM2_prot_old), MEM2_prot_patch, sizeof(MEM2_prot_patch), 0, verbose); count += apply_patch("MEM2_prot", MEM2_prot_old, sizeof(MEM2_prot_old), MEM2_prot_patch, sizeof(MEM2_prot_patch), 0, verbose);
count += apply_patch("ES_OpenTitleContent1", ES_OpenTitleContent1_old, sizeof(ES_OpenTitleContent1_old), ES_OpenTitleContent1_patch, sizeof(ES_OpenTitleContent1_patch), 0, verbose); count += apply_patch("ES_OpenTitleContent1", ES_OpenTitleContent1_old, sizeof(ES_OpenTitleContent1_old), ES_OpenTitleContent1_patch, sizeof(ES_OpenTitleContent1_patch), 0, verbose);
count += apply_patch("ES_OpenTitleContent2", ES_OpenTitleContent2_old, sizeof(ES_OpenTitleContent2_old), ES_OpenTitleContent2_patch, sizeof(ES_OpenTitleContent2_patch), 0, verbose); count += apply_patch("ES_OpenTitleContent2", ES_OpenTitleContent2_old, sizeof(ES_OpenTitleContent2_old), ES_OpenTitleContent2_patch, sizeof(ES_OpenTitleContent2_patch), 0, verbose);
@ -164,13 +157,7 @@ s32 IosPatch_RUNTIME(bool wii, bool sciifii, bool vwii, bool verbose) {
} }
if(vwii) if(vwii)
{ {
if(verbose) if(verbose) printf(">> Applying vWii patches:\n");
printf(">> Applying vWii patches:\n");
/*count += apply_patch("Kill_AntiSysTitleInstallv2_pt1", Kill_AntiSysTitleInstallv2_pt1_old, sizeof(Kill_AntiSysTitleInstallv2_pt1_old), Kill_AntiSysTitleInstallv2_pt1_patch, sizeof(Kill_AntiSysTitleInstallv2_pt1_patch), 0, verbose);
count += apply_patch("Kill_AntiSysTitleInstallv2_pt2", Kill_AntiSysTitleInstallv2_pt2_old, sizeof(Kill_AntiSysTitleInstallv2_pt2_old), Kill_AntiSysTitleInstallv2_pt2_patch, sizeof(Kill_AntiSysTitleInstallv2_pt2_patch), 0, verbose);
count += apply_patch("Kill_AntiSysTitleInstallv2_pt3", Kill_AntiSysTitleInstallv2_pt3_old, sizeof(Kill_AntiSysTitleInstallv2_pt3_old), Kill_AntiSysTitleInstallv2_pt3_patch, sizeof(Kill_AntiSysTitleInstallv2_pt3_patch), 0, verbose);
count += apply_patch("Kill_AntiSysTitleInstallv2_pt4", Kill_AntiSysTitleInstallv2_pt4_old, sizeof(Kill_AntiSysTitleInstallv2_pt4_old), Kill_AntiSysTitleInstallv2_pt4_patch, sizeof(Kill_AntiSysTitleInstallv2_pt4_patch), 0, verbose);
count += apply_patch("Kill_AntiSysTitleInstallv2_pt5", Kill_AntiSysTitleInstallv2_pt5_old, sizeof(Kill_AntiSysTitleInstallv2_pt5_old), Kill_AntiSysTitleInstallv2_pt5_patch, sizeof(Kill_AntiSysTitleInstallv2_pt5_patch), 0, verbose);*/
count += apply_patch("Kill_AntiSysTitleInstallv3_pt1", Kill_AntiSysTitleInstallv3_pt1_old, sizeof(Kill_AntiSysTitleInstallv3_pt1_old), Kill_AntiSysTitleInstallv3_pt1_patch, sizeof(Kill_AntiSysTitleInstallv3_pt1_patch), 0, verbose); count += apply_patch("Kill_AntiSysTitleInstallv3_pt1", Kill_AntiSysTitleInstallv3_pt1_old, sizeof(Kill_AntiSysTitleInstallv3_pt1_old), Kill_AntiSysTitleInstallv3_pt1_patch, sizeof(Kill_AntiSysTitleInstallv3_pt1_patch), 0, verbose);
count += apply_patch("Kill_AntiSysTitleInstallv3_pt2", Kill_AntiSysTitleInstallv3_pt2_old, sizeof(Kill_AntiSysTitleInstallv3_pt2_old), Kill_AntiSysTitleInstallv3_pt2_patch, sizeof(Kill_AntiSysTitleInstallv3_pt2_patch), 0, verbose); count += apply_patch("Kill_AntiSysTitleInstallv3_pt2", Kill_AntiSysTitleInstallv3_pt2_old, sizeof(Kill_AntiSysTitleInstallv3_pt2_old), Kill_AntiSysTitleInstallv3_pt2_patch, sizeof(Kill_AntiSysTitleInstallv3_pt2_patch), 0, verbose);
count += apply_patch("Kill_AntiSysTitleInstallv3_pt3", Kill_AntiSysTitleInstallv3_pt3_old, sizeof(Kill_AntiSysTitleInstallv3_pt3_old), Kill_AntiSysTitleInstallv3_pt3_patch, sizeof(Kill_AntiSysTitleInstallv3_pt3_patch), 0, verbose); count += apply_patch("Kill_AntiSysTitleInstallv3_pt3", Kill_AntiSysTitleInstallv3_pt3_old, sizeof(Kill_AntiSysTitleInstallv3_pt3_old), Kill_AntiSysTitleInstallv3_pt3_patch, sizeof(Kill_AntiSysTitleInstallv3_pt3_patch), 0, verbose);

View File

@ -7,30 +7,141 @@
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License 2.0 for more details. // GNU General Public License 2.0 for more details.
// Copyright (C) 2010 Joseph Jordan <joe.ftpii@psychlaw.com.au> // Copyright (C) 2010 Joseph Jordan <joe.ftpii@psychlaw.com.au>
// Copyright (C) 2012 damysteryman // Copyright (C) 2012-2013 damysteryman
// Copyright (C) 2012 Christopher Bratusek <nano@tuxfamily.org> // Copyright (C) 2012-2013 Christopher Bratusek <nano@tuxfamily.org>
// Copyright (C) 2013 DarkMatterCore
// Copyright (C) 2014 megazig
#ifndef __RUNTIMEIOSPATCH_H__
#define __RUNTIMEIOSPATCH_H__
/**
* Version information for Libruntimeiospatch.
*/
#define LIB_RUNTIMEIOSPATCH_VERSION "1.5.2"
//==============================================================================
// HW_RVL header
//==============================================================================
#if defined(HW_RVL) /* defined(HW_RVL) */
/**
*Returns true when HW_AHBPROT access can be applied
*/
#define AHBPROT_DISABLED (*(vu32*)0xcd800064 == 0xFFFFFFFF)
//==============================================================================
// Error code definitions:
//==============================================================================
#define ERROR_AHBPROT -5
#define ERROR_PATCH -7
//==============================================================================
// C++ header
//==============================================================================
#ifdef __cplusplus
extern "C" {
#endif
/* __cplusplus */
//==============================================================================
// Extra standard declarations
//==============================================================================
typedef signed int s32;
//==============================================================================
//==============================================================================
// Patchsets:
//==============================================================================
/*
Wii:
* DI Readlimit
* ISFS Permissions
* ES SetUID
* ES SetIdentify
* Hash Check (aka Trucha)
* New Hash Check (aka New Trucha)
Sciifii:
* MEM2 Prot
* ES OpenTitleContent 1 & 2
* ES ReadContent Prot
* ES CloseContent
* ES TitleVersionCheck
* ES TitleDeleteCheck
vWii:
* Kill Anti-SystemTitle-Install 1, 2, 3, 4 & 5
*/
#ifndef _RUNTIMEIOSPATCH_H_ //==============================================================================
#define _RUNTIMEIOSPATCH_H_ // Functions:
//==============================================================================
#define LIB_RUNTIMEIOSPATCH_VERSION "1.3.0" /**
* This function can be used to keep HW_AHBPROT access when going to reload IOS
* @param verbose Flag determing whether or not to print messages on-screen
* @example
* if(AHBPROT_DISABLED) {
* s32 ret;
* ret = IosPatch_AHBPROT(false);
* if (ret) {
* IOS_ReloadIOS(36);
* } else {
* printf("IosPatch_AHBPROT failed.");
* }
* }
* @return Signed 32bit integer representing code
* > 0 : Success - return equals to number of applied patches
* ERROR_AHBPROT : Error - No HW_AHBPROT access
*/
s32 IosPatch_AHBPROT(bool verbose);
#define AHBPROT_DISABLED (*(vu32*)0xcd800064 == 0xFFFFFFFF)
#define ERROR_AHBPROT -5 /**
#define ERROR_PATCH -7 * This function applies patches on current IOS
#ifdef __cplusplus * @see Patchsets
extern "C" { * @param wii Flag determing whether or not to apply Wii patches.
#endif * @param sciifii Flag determing whether or not to apply extra Sciifii patches.
* @param vwii Flag determing whether or not to apply extra vWii patches.
* @param verbose Flag determing whether or not to print messages on-screen.
* @example if(AHBPROT_DISABLED) IosPatch_FULL(true, false, false, false);
* @return Signed 32bit integer representing code
* > 0 : Success - return equals to number of applied patches
* ERROR_AHBPROT : Error - No HW_AHBPROT access
* ERROR_PATCH : Error - Patching HW_AHBPROT access failed
*/
s32 IosPatch_RUNTIME(bool wii, bool sciifii, bool vwii, bool verbose);
s32 IosPatch_AHBPROT(bool verbose);
s32 IosPatch_RUNTIME(bool wii, bool sciifii, bool vwii, bool verbose);
s32 IosPatch_FULL(bool wii, bool sciifii, bool vwii, bool verbose, int IOS);
#ifdef __cplusplus /**
} * This function combines IosPatch_AHBPROT + IOS_ReloadIOS + IosPatch_RUNTIME
#endif * @see Patchsets
* @param wii Flag determing whether or not to apply Wii patches.
* @param sciifii Flag determing whether or not to apply extra Sciifii patches.
* @param vwii Flag determing whether or not to apply extra vWii patches.
* @param verbose Flag determing whether or not to print messages on-screen.
* @param IOS Which IOS to reload into.
* @example if(AHBPROT_DISABLED) IosPatch_FULL(true, false, false, false, 58);
* @return Signed 32bit integer representing code
* > 0 : Success - return equals to number of applied patches
* ERROR_AHBPROT : Error - No HW_AHBPROT access
* ERROR_PATCH : Error - Patching HW_AHBPROT access failed
*/
s32 IosPatch_FULL(bool wii, bool sciifii, bool vwii, bool verbose, int IOS);
//==============================================================================
// C++ footer
//==============================================================================
#ifdef __cplusplus
}
#endif /* __cplusplus */
//==============================================================================
// HW_RVL footer
//==============================================================================
#endif /* defined(HW_RVL) */
#endif #endif

View File

@ -530,6 +530,34 @@ int GameBooter::BootDIOSMIOS(struct discHdr *gameHdr)
} }
} }
// Check kenobigc.bin
if(ocarinaChoice)
{
char kenobigc_path[30];
snprintf(kenobigc_path, sizeof(kenobigc_path), "%s:/sneek/kenobigc.bin", DeviceHandler::GetDevicePrefix(RealPath));
if(!CheckFile(kenobigc_path))
{
// try to copy kenobigc from the other device
char kenobigc_srcpath[30];
snprintf(kenobigc_srcpath, sizeof(kenobigc_srcpath), "%s:/sneek/kenobigc.bin", strncmp(RealPath, "usb", 3) == 0 ? "sd" : "usb1");
if(CheckFile(kenobigc_srcpath))
{
if(CopyFile(kenobigc_srcpath, kenobigc_path) < 0)
{
gprintf("NIN: Couldn't copy %s to %s.\n", kenobigc_srcpath, kenobigc_path);
RemoveFile(kenobigc_path);
if(WindowPrompt(tr("Warning:"), fmt(tr("To use ocarina with %s you need the %s file."), LoaderName, kenobigc_path), tr("Continue"), tr("Cancel")) == 0)
return 0;
}
}
else
{
if(WindowPrompt(tr("Warning:"), fmt(tr("To use ocarina with %s you need the %s file."), LoaderName, kenobigc_path), tr("Continue"), tr("Cancel")) == 0)
return 0;
}
}
}
// Check Ocarina and cheat file location. the .gct file need to be located on the same partition than the game. // Check Ocarina and cheat file location. the .gct file need to be located on the same partition than the game.
if(gameHdr->type != TYPE_GAME_GC_DISC && ocarinaChoice && strcmp(DeviceHandler::GetDevicePrefix(RealPath), DeviceHandler::GetDevicePrefix(Settings.Cheatcodespath)) != 0) if(gameHdr->type != TYPE_GAME_GC_DISC && ocarinaChoice && strcmp(DeviceHandler::GetDevicePrefix(RealPath), DeviceHandler::GetDevicePrefix(Settings.Cheatcodespath)) != 0)
{ {
@ -953,17 +981,67 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
return 0; return 0;
} }
// Check USB device
if(strncmp(RealPath, "usb", 3) == 0)
{
// Check Main GameCube Path location
if(strncmp(DeviceHandler::PathToFSName(Settings.GameCubePath), "FAT", 3) != 0)
{
WindowPrompt(tr("Error:"), fmt(tr("To run GameCube games with %s you need to set your 'Main GameCube Path' to an USB FAT32 partition."),LoaderName), tr("OK"));
return 0;
}
// Check if the partition is the first partition on the drive
int part_num = atoi(Settings.GameCubePath+3);
int portPart = DeviceHandler::PartitionToPortPartition(part_num-USB1);
PartitionHandle * usbHandle = DeviceHandler::Instance()->GetUSBHandleFromPartition(part_num-USB1);
if(usbHandle->GetPartitionNum(portPart))
{
WindowPrompt(tr("Error:"), fmt(tr("To run GameCube games with %s you need to set your 'Main GameCube Path' on the first partition of the Hard Drive."),LoaderName), tr("OK"));
return 0;
}
// Check if the partition is primary
if(usbHandle->GetPartitionTableType(portPart) != MBR)
{
WindowPrompt(tr("Error:"), fmt(tr("To run GameCube games with %s you need to set your 'Main GameCube Path' on a primary partition."),LoaderName), tr("OK"));
return 0;
}
// Check cluster size
if(usbHandle->GetPartitionClusterSize(usbHandle->GetLBAStart(portPart)) > 32768)
{
WindowPrompt(tr("Error:"), fmt(tr("To run GameCube games with %s you need to use a partition with 32k bytes/cluster or less."),LoaderName), tr("OK"));
return 0;
}
}
// Check if Nintendont boot.dol is available // Check if Nintendont boot.dol is available
char NIN_loader_path[255]; char NIN_loader_path[255];
snprintf(NIN_loader_path, sizeof(NIN_loader_path), "%sboot.dol", Settings.NINLoaderPath); if(strncmp(RealPath, "usb", 3) == 0) // Nintendont r39 only
{
snprintf(NIN_loader_path, sizeof(NIN_loader_path), "%sloaderusb.dol", Settings.NINLoaderPath);
if(!CheckFile(NIN_loader_path))
snprintf(NIN_loader_path, sizeof(NIN_loader_path), "%sbootusb.dol", Settings.NINLoaderPath);
}
if(strncmp(RealPath, "sd", 2) == 0 || !CheckFile(NIN_loader_path))
{
snprintf(NIN_loader_path, sizeof(NIN_loader_path), "%sloader.dol", Settings.NINLoaderPath);
if(!CheckFile(NIN_loader_path))
snprintf(NIN_loader_path, sizeof(NIN_loader_path), "%sboot.dol", Settings.NINLoaderPath);
}
if(!CheckFile(NIN_loader_path)) if(!CheckFile(NIN_loader_path))
{ {
// Nintendont boot.dol not found // Nintendont boot.dol not found
WindowPrompt(tr("Error:"), tr("To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."), tr("OK")); WindowPrompt(tr("Error:"), tr("To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."), tr("OK"));
return 0; return 0;
} }
gprintf("NIN: Loader path = %s \n",NIN_loader_path);
// Check Nintendont version // Check Nintendont version
u32 NIN_cfg_version = NIN_CFG_VERSION;
u8 *buffer = NULL; u8 *buffer = NULL;
u32 filesize = 0; u32 filesize = 0;
if(LoadFileToMem(NIN_loader_path, &buffer, &filesize)) if(LoadFileToMem(NIN_loader_path, &buffer, &filesize))
@ -974,7 +1052,43 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
{ {
if((*(u32*)(buffer+i+2)) == 'nten' && (*(u32*)(buffer+i+6)) == 'dont' && (*(u32*)(buffer+i+11)) == 'Load') if((*(u32*)(buffer+i+2)) == 'nten' && (*(u32*)(buffer+i+6)) == 'dont' && (*(u32*)(buffer+i+11)) == 'Load')
{ {
found=true; // Get Nintendont version
char NINversion[21];
u8 offset = *(u32*)(buffer+i+17) == ' USB' ? 40 : 36;
for(int j = 0 ; j < 20 ; j++)
NINversion[j] = *(u8*)(buffer+i+offset+j);
NINversion[11] = ' '; // replace \0 between year and time with a space.
NINversion[20] = 0;
struct tm time;
strptime(NINversion, "%b %d %Y %H:%M:%S", &time);
const time_t NINLoaderTime = mktime(&time);
// Alpha0.1
strptime("Sep 20 2013 15:27:01", "%b %d %Y %H:%M:%S", &time);
if(NINLoaderTime == mktime(&time))
{
WindowPrompt(tr("Error:"), tr("USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."), tr("Ok"));
free(buffer);
return 0;
}
// r01 - r40
strptime("Mar 30 2014 12:33:44", "%b %d %Y %H:%M:%S", &time); // r42 - NIN_CFG_VERSION = 2
if(NINLoaderTime < mktime(&time))
{
gprintf("Nintendont r01 - r40 detected. Using CFG version 0x00000001\n");
NIN_cfg_version = 1;
strptime("Mar 29 2014 10:49:31", "%b %d %Y %H:%M:%S", &time); // r39
if(NINLoaderTime < mktime(&time) && strncmp(RealPath, "usb", 3) == 0)
{
WindowPrompt(tr("Error:"), tr("This Nintendont version does not support games on USB."), tr("Ok"));
free(buffer);
return 0;
}
}
found = true;
break; break;
} }
} }
@ -995,19 +1109,6 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
return 0; return 0;
} }
// Check USB device
if(strncmp(RealPath, "usb", 3) == 0)
{
WindowPrompt(tr("Warning:"), tr("Nintendont currently only supports GameCube games on SD card."), tr("OK"));
if(!GCGames::Instance()->CopyUSB2SD(gameHdr))
return 0;
RealPath = GCGames::Instance()->GetPath((const char *) gameHdr->id);
}
// Check Ocarina and cheat file location. the .gct file need to be located on the same partition than the game. // Check Ocarina and cheat file location. the .gct file need to be located on the same partition than the game.
if(ocarinaChoice && strcmp(DeviceHandler::GetDevicePrefix(RealPath), DeviceHandler::GetDevicePrefix(Settings.Cheatcodespath)) != 0) if(ocarinaChoice && strcmp(DeviceHandler::GetDevicePrefix(RealPath), DeviceHandler::GetDevicePrefix(Settings.Cheatcodespath)) != 0)
{ {
@ -1026,6 +1127,64 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
} }
} }
// Check kenobiwii.bin
if(ocarinaChoice)
{
char kenobiwii_path[30];
snprintf(kenobiwii_path, sizeof(kenobiwii_path), "%s:/sneek/kenobiwii.bin", DeviceHandler::GetDevicePrefix(RealPath));
if(!CheckFile(kenobiwii_path))
{
// try to copy kenobiwii from the other device
char kenobiwii_srcpath[30];
snprintf(kenobiwii_srcpath, sizeof(kenobiwii_srcpath), "%s:/sneek/kenobiwii.bin", strncmp(RealPath, "usb", 3) == 0 ? "sd" : "usb1");
gprintf("kenobiwii source path = %s \n", kenobiwii_srcpath);
if(CheckFile(kenobiwii_srcpath))
{
if(CopyFile(kenobiwii_srcpath, kenobiwii_path) < 0)
{
gprintf("NIN: Couldn't copy %s to %s.\n", kenobiwii_srcpath, kenobiwii_path);
RemoveFile(kenobiwii_path);
if(WindowPrompt(tr("Warning:"), fmt(tr("To use ocarina with %s you need the %s file."), LoaderName, kenobiwii_path), tr("Continue"), tr("Cancel")) == 0)
return 0;
}
}
else
{
if(WindowPrompt(tr("Warning:"), fmt(tr("To use ocarina with %s you need the %s file."), LoaderName, kenobiwii_path), tr("Continue"), tr("Cancel")) == 0)
return 0;
}
}
}
// Check controller.ini
if(ninUSBHIDChoice || IosLoader::isWiiU())
{
char controllerini_path[30];
snprintf(controllerini_path, sizeof(controllerini_path), "%s:/controller.ini", DeviceHandler::GetDevicePrefix(RealPath));
if(!CheckFile(controllerini_path))
{
// try to copy controller.ini from the other device
char controllerini_srcpath[30];
snprintf(controllerini_srcpath, sizeof(controllerini_srcpath), "%s:/controller.ini", strncmp(RealPath, "usb", 3) == 0 ? "sd" : "usb1");
gprintf("Controller.ini source path = %s \n", controllerini_srcpath);
if(CheckFile(controllerini_srcpath))
{
if(CopyFile(controllerini_srcpath, controllerini_path) < 0)
{
gprintf("NIN: Couldn't copy %s to %s.\n", controllerini_srcpath, controllerini_path);
RemoveFile(controllerini_path);
if(WindowPrompt(tr("Warning:"), fmt(tr("To use HID with %s you need the %s file."), LoaderName, controllerini_path), tr("Continue"), tr("Cancel")) == 0)
return 0;
}
}
else
{
if(WindowPrompt(tr("Warning:"), fmt(tr("To use HID with %s you need the %s file."), LoaderName, controllerini_path), tr("Continue"), tr("Cancel")) == 0)
return 0;
}
}
}
// Check if game has multi Discs // Check if game has multi Discs
bool bootDisc2 = false; bool bootDisc2 = false;
if(gameHdr->disc_no == 0) if(gameHdr->disc_no == 0)
@ -1059,7 +1218,7 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
// Nintendont Config file path // Nintendont Config file path
char NINCfgPath[17]; char NINCfgPath[17];
snprintf(NINCfgPath, sizeof(NINCfgPath), "%s:/nincfg.bin", DeviceHandler::GetDevicePrefix(RealPath)); snprintf(NINCfgPath, sizeof(NINCfgPath), "%s:/nincfg.bin", DeviceHandler::GetDevicePrefix(NIN_loader_path));
gprintf("NIN: Cfg path : %s \n", NINCfgPath); gprintf("NIN: Cfg path : %s \n", NINCfgPath);
// Nintendont Config file settings // Nintendont Config file settings
@ -1076,11 +1235,10 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
// Magic and CFG_Version for Nintendont // Magic and CFG_Version for Nintendont
nin_config->Magicbytes = NIN_MAGIC; nin_config->Magicbytes = NIN_MAGIC;
nin_config->Version = NIN_CFG_VERSION; nin_config->Version = NIN_cfg_version;
// Game path // Game path
nin_config->Config |= NIN_CFG_GAME_PATH;
strncpy(nin_config->GamePath, gamePath, sizeof(nin_config->GamePath)); strncpy(nin_config->GamePath, gamePath, sizeof(nin_config->GamePath));
// setup cheat and path // setup cheat and path
@ -1118,11 +1276,19 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
nin_config->Config |= NIN_CFG_HID; // auto enabled by nintendont on vWii nin_config->Config |= NIN_CFG_HID; // auto enabled by nintendont on vWii
if(!IosLoader::isWiiU()) if(!IosLoader::isWiiU())
nin_config->Config |= NIN_CFG_OSREPORT; // log OS reports only on Wii. todo: add a user setting? nin_config->Config |= NIN_CFG_OSREPORT; // log OS reports only on Wii. todo: add a user setting?
if(strncmp(RealPath, "usb", 3) == 0)
nin_config->Config |= NIN_CFG_USB; // r40+
gprintf("NIN: config 0x%08x\n", nin_config->Config); gprintf("NIN: config 0x%08x\n", nin_config->Config);
// Max Pads - Make a proper setting later
nin_config->MaxPads = 4; // NIN_CFG_VERSION 2 r42
// GameID for MCEmu
memcpy(&nin_config->GameID, gameHdr->id, 4); // NIN_CFG_VERSION 2 r83
// Setup Video Mode // Setup Video Mode
if(ninVideoChoice == DML_VIDEO_NONE) // No video mode if(ninVideoChoice == DML_VIDEO_NONE) // No video mode
{ {
@ -1165,10 +1331,7 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
} }
gprintf("NIN: Language 0x%08x \n", nin_config->Language); gprintf("NIN: Language 0x%08x \n", nin_config->Language);
// Set Sram flags //write config file to nintendont's partition root.
PatchSram(languageChoice, true, nin_config->Config & NIN_CFG_FORCE_PROG);
//write config file to game's partition root.
FILE *fp = fopen(NINCfgPath, "wb"); FILE *fp = fopen(NINCfgPath, "wb");
if (fp) if (fp)
{ {
@ -1183,6 +1346,23 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
return 0; return 0;
} }
// Copy Nintendont Config file to game path
if(strncmp(NINCfgPath, RealPath, 2) != 0)
{
char NINDestPath[17];
snprintf(NINDestPath, sizeof(NINDestPath), "%s:/nincfg.bin", DeviceHandler::GetDevicePrefix(RealPath));
gprintf("NIN: Copying %s to %s...", NINCfgPath, NINDestPath);
if(CopyFile(NINCfgPath, NINDestPath) < 0)
{
gprintf("\nError: Couldn't copy %s to %s.\n", NINCfgPath, NINDestPath);
RemoveFile(NINDestPath);
if(WindowPrompt(tr("Warning:"), tr("USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"), tr("Yes"), tr("Cancel")) == 0)
return 0;
}
gprintf("done\n");
}
// Launch Nintendont // Launch Nintendont
return !(BootHomebrew(NIN_loader_path) < 0); return !(BootHomebrew(NIN_loader_path) < 0);
} }

View File

@ -80,7 +80,7 @@ static int PartitionChoice()
int choice = WindowPrompt(tr( "No WBFS or FAT/NTFS/EXT partition found" ), tr( "You can select or format a partition or use the channel loader mode." ), tr( "Select" ), tr( "Format" ), tr( "Channels" )); int choice = WindowPrompt(tr( "No WBFS or FAT/NTFS/EXT partition found" ), tr( "You can select or format a partition or use the channel loader mode." ), tr( "Select" ), tr( "Format" ), tr( "Channels" ));
if (choice == 0) if (choice == 0)
{ {
Settings.LoaderMode = MODE_ALL; Settings.LoaderMode = MODE_NANDCHANNELS;
return 0; return 0;
} }
else if(choice == 1) else if(choice == 1)
@ -130,9 +130,10 @@ int MountGamePartition(bool ShowGUI)
if (wbfsinit < 0) if (wbfsinit < 0)
{ {
if(ShowGUI) if(ShowGUI)
ShowError("%s %s", tr( "USB Device not found." ), tr("Switching to channel list mode.")); ShowError("%s %s", tr( "USB Device not initialized." ), tr("Switching to channel list mode."));
Settings.LoaderMode = MODE_ALL; Settings.LoaderMode &= ~MODE_WIIGAMES;
Settings.LoaderMode |= MODE_NANDCHANNELS;
} }
else else
{ {
@ -149,7 +150,7 @@ int MountGamePartition(bool ShowGUI)
if(ShowGUI) if(ShowGUI)
PartitionChoice(); PartitionChoice();
else else
Settings.LoaderMode = MODE_ALL; Settings.LoaderMode = MODE_NANDCHANNELS;
} }
} }
} }

View File

@ -744,7 +744,7 @@ wbfs_t* Wbfs_Fat::CreatePart(u8 *id, char *path)
// 1 cluster less than 4gb // 1 cluster less than 4gb
u64 OPT_split_size = 4LL * 1024 * 1024 * 1024 - 32 * 1024; u64 OPT_split_size = 4LL * 1024 * 1024 * 1024 - 32 * 1024;
if(Settings.GameSplit == GAMESPLIT_NONE && gameList.GetGameFS(id) != PART_FS_FAT) if(Settings.GameSplit == GAMESPLIT_NONE && DeviceHandler::GetFilesystemType(USB1+Settings.partition) != PART_FS_FAT)
OPT_split_size = (u64) 100LL * 1024 * 1024 * 1024 - 32 * 1024; OPT_split_size = (u64) 100LL * 1024 * 1024 * 1024 - 32 * 1024;
else if(Settings.GameSplit == GAMESPLIT_2GB) else if(Settings.GameSplit == GAMESPLIT_2GB)

View File

@ -53,17 +53,17 @@ cat <<EOF > ./HBC/META.XML
<arg>--usbport=0</arg> <arg>--usbport=0</arg>
</arguments> </arguments>
// remove this line to enable arguments --> // remove this line to enable arguments -->
<no_ios_reload/> <ahb_access/>
<short_description>Loads games from USB-devices</short_description> <short_description>Loads games from USB-devices</short_description>
<long_description>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. <long_description>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.
The interactive GUI is completely controllable with WiiMote, Classic Controller or GC Controller. The interactive GUI is completely controllable with WiiMote, Classic Controller or GC Controller.
Features are automatic widescreen detection, coverdownload, parental control, theme support and many more. Features are automatic widescreen detection, coverdownload, parental control, theme support and many more.
Credits: Credits:
Coding: Dimok, nIxx, giantpune, ardi, Hungyip84, DrayX7, Lustar, r-win, WiiShizzza Coding: Cyan, Dimok, nIxx, giantpune, ardi, Hungyip84, DrayX7, Lustar, r-win, WiiShizzza
Artworks: cyrex, NeoRame Artworks: cyrex, NeoRame
Validation: Cyan and many others Validation: Cyan and many others
Issue management: Cyan / Dimok Issue management: Cyan
WiiTDB / Hosting covers: Lustar WiiTDB / Hosting covers: Lustar
USBLoader sources: Waninkoko, Kwiirk, Hermes USBLoader sources: Waninkoko, Kwiirk, Hermes
cIOS maintenance: davebaol, xabby666, XFlak and Rodries cIOS maintenance: davebaol, xabby666, XFlak and Rodries