* Set default loader mode on fresh install to Wii+Gamecube.

* Set video width to 694px (instead of 640px) when Wii set to 4:3
  694 should look better. If you have crop issue, please report. 
* Updated French, German and Portuguese_br.

Nintendont:
* Updated Nintendont detection function (thanks Airline38)
* Added Native controller setting.
* Added Video Deflicker setting.
* Removed forced MC Emu size when using a single card 
  for multi games.
* Added a warning when selecting a 2043 blocs MC Emu.
* Removed forced Maxpad setting on WiiU
* Removed forced controller.ini check on WiiU
* Added controllers folder check (controller.ini has priority)
* Fixed Video mode auto.
This commit is contained in:
Cyan 2014-11-10 21:47:13 +00:00
parent 48b3ab3324
commit 6ae72b2487
36 changed files with 1176 additions and 881 deletions

View File

@ -2,8 +2,8 @@
<app version="1">
<name> USB Loader GX</name>
<coder>USB Loader GX Team</coder>
<version>3.0 r1231</version>
<release_date>20140818182641</release_date>
<version>3.0 r1233</version>
<release_date>20141110211657</release_date>
<!-- // remove this line to enable arguments
<arguments>
<arg>--ios=250</arg>

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:26+0100\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: David Jelinek (djelinek@hotmail.com) e->e,r->r,u->u, c->c \n"
"Language-Team: r1056 - last version on http://djelinek.sweb.cz/_USBLoderGX/czech.lang \n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr "Aktualizace nástenky"
@ -1432,6 +1435,9 @@ msgstr ""
msgid "Nand Saves Emulation"
msgstr ""
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "Žádný"
@ -1997,6 +2003,9 @@ msgstr "Tento IOS nebyl nalezen na seznamu. Pokud si jste jisti ze jej máte nai
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr ""
msgid "Version: %s"
msgstr "Verze: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Video mód"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:26+0100\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: Fox888[dk]\n"
"Language-Team: [dk]\n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr "Messageboard opdatering"
@ -1432,6 +1435,9 @@ msgstr "Nand emulering virker kun med FAT/FAT32 partitioner!"
msgid "Nand Saves Emulation"
msgstr ""
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "Ingen"
@ -1997,6 +2003,9 @@ msgstr "Denne IOS var ikke fundet i titel listen. Hvis du er sikker på at den e
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr ""
msgid "Version: %s"
msgstr ""
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Video-mode"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:26+0100\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr "Memory Card Emulatie"
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr "Prikbord Update"
@ -1432,6 +1435,9 @@ msgstr "Nand Emulatie werkt alleen op FAT/FAT32 partities!"
msgid "Nand Saves Emulation"
msgstr "Nand Opslag Emulatie"
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "Geen"
@ -1997,6 +2003,9 @@ msgstr "Deze IOS is niet gevonden in de titel lijst. Als je zeker weet dat deze
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr "Dit spel heeft meerdere disks. Geef aub aan welke er gestart dient te worden."
@ -2165,6 +2174,9 @@ msgstr "Versie:"
msgid "Version: %s"
msgstr "Versie: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Video Modus"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:26+0100\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr ""
@ -1432,6 +1435,9 @@ msgstr ""
msgid "Nand Saves Emulation"
msgstr ""
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr ""
@ -1997,6 +2003,9 @@ msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr ""
msgid "Version: %s"
msgstr ""
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:26+0100\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: c64rmx\n"
"Language-Team: \n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr ""
@ -1432,6 +1435,9 @@ msgstr ""
msgid "Nand Saves Emulation"
msgstr ""
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "Ei kumpikaan"
@ -1997,6 +2003,9 @@ msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr ""
msgid "Version: %s"
msgstr "Versio: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Videotila"

View File

@ -1,11 +1,11 @@
# USB Loader GX language source file.
# French.lang - r1231
# French.lang - r1233
# don't delete/change this line (é).
msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:26+0100\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: Cyan\n"
"Language-Team: Badablek, Amour, ikya, Cyan & Kin8\n"
@ -1384,6 +1384,9 @@ msgstr "Taille carte mémoire (Blocs)"
msgid "Memory Card Emulation"
msgstr "Emulation carte mémoire"
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr "Les cartes mémoires de 2043 blocs peuvent poser des problèmes avec Nintendont. Utilisez cette taille à vos propres risques."
msgid "Messageboard Update"
msgstr "Mise à jour carnet Wii"
@ -1432,6 +1435,9 @@ msgstr "L'Émulation Nand ne fonctionne qu'avec une partition FAT/FAT32!"
msgid "Nand Saves Emulation"
msgstr "Émul. Nand Sauvegardes"
msgid "Native Controller"
msgstr "Port manettes natif"
msgid "Neither"
msgstr "Aucun"
@ -1997,6 +2003,9 @@ msgstr "Cet IOS n'a pas été trouvé dans la liste des titres. Si vous êtes ce
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 Nintendont version is not correctly supported. Auto boot disabled."
msgstr "Cette version de Nintendont n'est pas correctement supportée. Démarrage automatique désactivé."
msgid "This game has multiple discs. Please select the disc to launch."
msgstr "Ce jeu a plusieurs disques, choisissez celui que vous souhaitez lancer."
@ -2165,6 +2174,9 @@ msgstr ""
msgid "Version: %s"
msgstr ""
msgid "Video Deflicker"
msgstr "Vidéo Deflicker"
msgid "Video Mode"
msgstr "Mode vidéo"

View File

@ -1,13 +1,13 @@
# USB Loader GX
# german.lang - r1203
# german.lang - r1231
# don't delete/change this line (é).
msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:26+0100\n"
"PO-Revision-Date: 2010-07-03 17:35-0800\n"
"Last-Translator: TheRealVisitor\n"
"Last-Translator: Sabykos\n"
"Language-Team: Bertilax, Snoozer, wishmasterf, ZEN.13, TheRealVisitor\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
@ -33,11 +33,11 @@ msgstr "%i fehlende Dateien"
#, c-format
msgid "%s only accepts GameCube backups in ISO format."
msgstr ""
msgstr "%s benötigt GameCube Backups im ISO Format."
#, c-format
msgid "%s requires AHB access! Please launch USBLoaderGX from HBC or from an updated channel or forwarder."
msgstr ""
msgstr "%s benötigt AHB Zugriff! Bitte starte USBLoaderGX vom HBC, einem geupdateten Channel oder Forwarder aus."
msgid "--== Devolution"
msgstr ""
@ -94,7 +94,7 @@ msgid "5 min"
msgstr "5 Minuten"
msgid "=== GameCube Settings"
msgstr ""
msgstr "=== GameCube Einstellungen"
msgid "AUTO"
msgstr "AUTO"
@ -142,7 +142,7 @@ msgid "App Language"
msgstr "Sprache"
msgid "Apply"
msgstr "Anwenden"
msgstr "Übernehmen"
msgid "Apr"
msgstr "April"
@ -503,7 +503,7 @@ msgid "Credits"
msgstr "Danksagungen"
msgid "Crop Overscan"
msgstr ""
msgstr "Overscan abschneiden"
msgid "Custom Banners"
msgstr "Community Banner"
@ -596,10 +596,10 @@ msgid "Directory does not exist!"
msgstr "Verzeichnis existiert nicht!"
msgid "Disc 1"
msgstr ""
msgstr "Disk 1"
msgid "Disc 2"
msgstr ""
msgstr "Disk 2"
msgid "Disc Artwork Download"
msgstr "Disk Cover Download"
@ -614,13 +614,13 @@ msgid "Disc Insert Detected"
msgstr "Disk erkannt"
msgid "Disc Read Delay"
msgstr ""
msgstr "Disc Leseverzögerung"
msgid "Disc read error."
msgstr "Disk Lese-Fehler"
msgstr "Disk Lesefehler"
msgid "Disc2 needs to be installed in uncompressed format to work with DM(L) v2.6+, are you sure you want to install in compressed format?"
msgstr ""
msgstr "Disk 2 muss unkomprimiert sein, um mit DM(L) 2.6+ zu funktionieren. Sicher, dass du die Disk komprimiert installieren möchtest?"
msgid "Discarts"
msgstr "Diskbilder"
@ -698,7 +698,7 @@ msgid "Do you want to sync free space info sector on all FAT32 partitions?"
msgstr "Soll die freier Speicher Info auf allen Partitionen synchronisiert werden?"
msgid "Do you want to update this file?"
msgstr ""
msgstr "Diese Datei updaten?"
msgid "Do you wish to update/download all language files?"
msgstr "Alle Sprachdateien aktualisieren?"
@ -959,7 +959,7 @@ msgid "Force Titles from Disc"
msgstr "Erzwinge DVD-Titel"
msgid "Force Widescreen"
msgstr ""
msgstr "Erzwinge Widescreen"
msgid "Format"
msgstr "Formatieren"
@ -1088,7 +1088,7 @@ msgid "Game is already installed:"
msgstr "Spiel ist bereits installiert:"
msgid "Game's IOS"
msgstr ""
msgstr "Spiel IOS"
msgid "Game/Install Partition"
msgstr "Spiel/Instal. Partition"
@ -1103,7 +1103,7 @@ msgid "GameCube Mode"
msgstr "GameCube Modus"
msgid "GameCube Source"
msgstr ""
msgstr "GameCube Quelle"
msgid "GameTDB Path"
msgstr "GameTDB"
@ -1252,7 +1252,7 @@ msgid "Japanese"
msgstr "Japanisch"
msgid "Japanese Patch"
msgstr ""
msgstr "Japanisch Patch"
msgid "Joypad"
msgstr "Gamepad"
@ -1273,7 +1273,7 @@ msgid "Korean"
msgstr "Koreanisch"
msgid "LED Activity"
msgstr ""
msgstr "Laufwerk LED"
msgid "Language Files"
msgstr "Sprachdateien"
@ -1288,7 +1288,7 @@ msgid "Languagepath changed."
msgstr "Pfad geändert"
msgid "Launching Wii games with emulated nand only works on d2x cIOS! Change game IOS to a d2x cIOS first."
msgstr ""
msgstr "Wii Spiele im emulierten NAND funktionieren nur mit d2x cIOS! Ändere das Spiel IOS zu einem d2x cIOS."
msgid "Launching emulated nand channels only works on d2x cIOS! Change game IOS to a d2x cIOS first."
msgstr "Das Aufrufen von EmuNand-Kanälen funktioniert nur mit dem d2x cIOS! Wechsele dein Spiele-IOS zu einem d2x cIOS zuerst."
@ -1319,7 +1319,7 @@ msgid "Loader Settings"
msgstr "Loader Einstellungen"
msgid "Loader's IOS"
msgstr ""
msgstr "Loader IOS"
msgid "Loading standard language."
msgstr "Lade Standardsprache."
@ -1337,7 +1337,7 @@ msgid "Locked"
msgstr "Gesperrt"
msgid "Log to file"
msgstr ""
msgstr "Debug Log"
msgid "Loop Directory"
msgstr "Verzeichnis wiederholen"
@ -1379,11 +1379,14 @@ msgid "May"
msgstr "Mai"
msgid "Memory Card Blocks Size"
msgstr ""
msgstr "Memory Card Blockgröße"
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr "Forum Update"
@ -1394,7 +1397,7 @@ msgid "Mount DVD drive"
msgstr "Spiel starten"
msgid "Mount USB at launch"
msgstr ""
msgstr "USB beim Start mounten"
msgid "Multiple Partitions"
msgstr "Mehrere Partitionen"
@ -1406,7 +1409,7 @@ msgid "Music Volume"
msgstr "Musik Lautstärke"
msgid "NMM Mode"
msgstr ""
msgstr "NMM Modus"
msgid "Nand Chan. Emulation"
msgstr "Nand Kan. Emulation"
@ -1432,6 +1435,9 @@ msgstr "Nand Emulation funktionier nut mit FAT/FAT32 Partitionen!"
msgid "Nand Saves Emulation"
msgstr "Nand Save-Emulation"
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "Keine"
@ -1445,7 +1451,7 @@ msgid "Nintendont"
msgstr ""
msgid "Nintendont Loader Path"
msgstr ""
msgstr "Nintendont Loader Pfad"
msgid "No"
msgstr "Nein"
@ -1502,7 +1508,7 @@ msgid "No themes found."
msgstr "Keine Themes gefunden."
msgid "NoSSL only"
msgstr ""
msgstr "Nur NoSSL"
msgid "None"
msgstr "Keine"
@ -1583,7 +1589,7 @@ msgid "Offset"
msgstr "Offset"
msgid "Ok"
msgstr ""
msgstr "OK"
msgid "Only Game Partition"
msgstr "Nur Spiele Partition"
@ -1661,7 +1667,7 @@ msgid "Prev"
msgstr "Zurück"
msgid "Private Server"
msgstr ""
msgstr "Privater Server"
msgid "Process finished."
msgstr "Vorgang abgeschlossen."
@ -1995,10 +2001,13 @@ msgid "This IOS was not found on the titles list. If you are sure you have it in
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 "Diese Nintendont Version unterstützt USB nicht."
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
msgstr "Dieses Spiel hat mehrere Disks. Bitte wähle, welche Disk gestartet werden soll."
msgid "This path must be on SD!"
msgstr "Dieser Pfad muss auf der SD sein!"
@ -2020,41 +2029,41 @@ msgstr "Um GameCube Spiele von DVD zu starten, muss der GameCube Modus in den Sp
#, c-format
msgid "To run GameCube games with %s you need to place them on an USB FAT32 partition."
msgstr ""
msgstr "Deine Festplatte muss auf FAT32 formatiert sein, um GameCube Spiele mit %s% starten zu können."
#, c-format
msgid "To run GameCube games with %s you need to set your 'Main GameCube Path' on a primary partition."
msgstr ""
msgstr "Dein GameCube Hauptpfad muss auf eine primäre Partition verweisen, um GameCube Spiele mit %s% starten zu können."
#, c-format
msgid "To run GameCube games with %s you need to set your 'Main GameCube Path' on the first partition of the Hard Drive."
msgstr ""
msgstr "Dein GameCube Hauptpfad muss auf die erste Partition deiner Festplatte verweisen, um GameCube Spiele mit %s% starten zu können."
#, c-format
msgid "To run GameCube games with %s you need to set your 'Main GameCube Path' to an USB FAT32 partition."
msgstr ""
msgstr "Dein GameCube Hauptpfad muss auf eine FAT32 formatierte Festplatte verweisen, um GameCube Spiele mit %s% starten zu können."
#, c-format
msgid "To run GameCube games with %s you need to use a 512 bytes/sector Hard Drive."
msgstr ""
msgstr "Dein Festplatte muss 512 Bytes Sektorgröße haben, um GameCube Spiele mit %s% starten zu können."
#, c-format
msgid "To run GameCube games with %s you need to use a partition with 32k bytes/cluster or less."
msgstr ""
msgstr "Dein Festplatte muss 32 Kilobytes Clustergröße oder weniger haben, um GameCube Spiele mit %s% starten zu können."
msgid "To run GameCube games with Devolution you need the loader.bin file in your Devolution Loader Path."
msgstr ""
msgstr "Deine loader.bin Datei muss im Devolution Loader Pfad liegen, um GameCube Spiele mit Devolution starten zu können."
msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path."
msgstr ""
msgstr "Deine boot.dol Datei muss im Nintendont Loader Pfad liegen, um GameCube Spiele mit Nintendont starten zu können."
#, c-format
msgid "To use HID with %s you need the %s file."
msgstr ""
msgstr "Um %s mit HID zu verwenden, wird %s benötig."
#, c-format
msgid "To use ocarina with %s you need the %s file."
msgstr ""
msgstr "Um Ocarina Cheats mit %s zu verwenden, wird %s benötigt."
msgid "Tooltip Delay"
msgstr "Tooltip Verzögerung"
@ -2066,7 +2075,7 @@ msgid "Transfer failed"
msgstr "Transfer fehlgeschlagen"
msgid "USB Device not initialized."
msgstr ""
msgstr "USB Gerät nicht initialisiert."
msgid "USB Loader GX is protected"
msgstr "USB Loader GX ist jetzt geschützt."
@ -2081,13 +2090,13 @@ msgid "USB-HID Controller"
msgstr ""
msgid "USBloaderGX couldn't verify Nintendont boot.dol file. Launch this boot.dol anyway?"
msgstr ""
msgstr "USBLoaderGX konnte die Nintendont boot.dol nicht verifizieren. Trotzdem starten?"
msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?"
msgstr ""
msgstr "USBLoaderGX konnte die Nintendont config Dateien nicht ändern. Nintendont trotzdem starten?"
msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."
msgstr ""
msgstr "USBLoaderGX r1218 wird benötigt um Nintendont Alpha v0.1 starten zu können. Bitte aktualisiere deine Nintendont Version."
msgid "Uninstall"
msgstr "Deinstallieren"
@ -2126,7 +2135,7 @@ msgid "Update Files"
msgstr "Aktualisieren"
msgid "Update Nintendont"
msgstr ""
msgstr "Aktualisiere Nintendont"
msgid "Update Path"
msgstr "Updates"
@ -2165,6 +2174,9 @@ msgstr "Version:"
msgid "Version: %s"
msgstr "Version: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Videomodus"
@ -2272,7 +2284,7 @@ msgid "You need to install DIOS MIOS Lite v1.2 or a newer version."
msgstr "Es wird DIOS MIOS Lite v1.2 oder neuer benötigt."
msgid "You need to install an additional GameCube loader or select a different GameCube Mode to launch GameCube games from USB or SD card."
msgstr ""
msgstr "Du musst einen GameCube Loader installieren oder einen anderen GameCube Modus auswählen um GameCube Spiele von USB oder SD starten zu können."
msgid "Zoom Duration (Speed)"
msgstr "Zoom Dauer"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:26+0100\n"
"Last-Translator: nakata6790\n"
"Language-Team: nakata6790 (aka0107@gmail.com)\n"
"MIME-Version: 1.0\n"
@ -1383,6 +1383,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr "ÅíçìÝñùóç messageboard ôïõ Wii"
@ -1431,6 +1434,9 @@ msgstr "ç åîïìïßùóç åéêïíéêÞò NAND åßíáé åöéêôÞ ì
msgid "Nand Saves Emulation"
msgstr "saves óôçí åéêïíéêÞ NAND"
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "ÊáíÝíá áðü ôá äõï"
@ -1996,6 +2002,9 @@ msgstr "Ôï ÉÏS áõôü äåí âñÝèçêå óôçí ëßóôá. Áí åß
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2164,6 +2173,9 @@ msgstr "¸êäïóç:"
msgid "Version: %s"
msgstr "¸êäïóç: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Ñýèìéóç âßíôåï"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:26+0100\n"
"PO-Revision-Date: 2009-12-29 11:05+0100\n"
"Last-Translator: Springdale\n"
"Language-Team: Tusk, Springdale\n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr ""
@ -1432,6 +1435,9 @@ msgstr ""
msgid "Nand Saves Emulation"
msgstr ""
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "Egyik sem"
@ -1997,6 +2003,9 @@ msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr ""
msgid "Version: %s"
msgstr "Verzió: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Videó Mód"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:26+0100\n"
"PO-Revision-Date: 2011-09-11 12:19+0100\n"
"Last-Translator: xFede\n"
"Language-Team: xFede (fedeanto11@gmail.com)\n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr "Aggiorna messaggi"
@ -1432,6 +1435,9 @@ msgstr "L'emulazione della NAND funziona solo con partizioni FAT/FAT32!"
msgid "Nand Saves Emulation"
msgstr "Emulazione salvataggi"
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "Neanche"
@ -1997,6 +2003,9 @@ msgstr "Questo IOS non è stato trovato nella lista dei titoli. Se sei sicuro di
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr "Questo gioco contiene più di un disco. Selezione quello da avviare."
@ -2165,6 +2174,9 @@ msgstr "Versione:"
msgid "Version: %s"
msgstr "Versione: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Modalità video"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:26+0100\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: hosigumayuugi\n"
"Language-Team: hosigumayuugi\n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr "Wii伝言板の更新"
@ -1432,6 +1435,9 @@ msgstr "NANDエミュはFAT/FAT32領域のみで動作します!"
msgid "Nand Saves Emulation"
msgstr "NANDセーブエミュ"
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "非表示"
@ -1997,6 +2003,9 @@ msgstr "このIOSはタイトルリストにありませんでした"
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr "バージョン:"
msgid "Version: %s"
msgstr "バージョン: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "映像の出力方法"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:26+0100\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: nextos@korea.com\n"
"Language-Team: \n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr ""
@ -1432,6 +1435,9 @@ msgstr ""
msgid "Nand Saves Emulation"
msgstr ""
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "표시 없음"
@ -1997,6 +2003,9 @@ msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr ""
msgid "Version: %s"
msgstr "버전: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "비디오 모드"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:26+0100\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: raschi\n"
"Language-Team: raschi\n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr "Messageboard oppdatering"
@ -1432,6 +1435,9 @@ msgstr ""
msgid "Nand Saves Emulation"
msgstr ""
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "Ingen"
@ -1997,6 +2003,9 @@ msgstr "Dette IOS ble ikke funnet i tittel listen. Hvis du er sikker på at du h
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr "Versjon:"
msgid "Version: %s"
msgstr "Versjon: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Video modus"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:26+0100\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: ziom666 (zadania_prog@vp.pl)\n"
"Language-Team: \n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr ""
@ -1432,6 +1435,9 @@ msgstr ""
msgid "Nand Saves Emulation"
msgstr ""
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "zadne"
@ -1997,6 +2003,9 @@ msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr ""
msgid "Version: %s"
msgstr "Wersja: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Tryb video"

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:28+0100\n"
"PO-Revision-Date: 2011-11-03 11:00+0000\n"
"Last-Translator: pplucky <pplucky@gmail.com>\n"
"Language-Team: Sky8000, pplucky\n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr "Update Placard Mensagens"
@ -1432,6 +1435,9 @@ msgstr "Emulação Nand apenas funciona em partições FAT/FAT32!"
msgid "Nand Saves Emulation"
msgstr ""
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "Nenhum"
@ -1997,6 +2003,9 @@ msgstr "Este IOS não foi encontrado na lista de títulos. Se tem a certeza que
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr "Versão:"
msgid "Version: %s"
msgstr "Versão: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Modo de Vídeo"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:28+0100\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: nikolai_ca\n"
"Language-Team: Kir, alendit, nikolai_ca\n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr ""
@ -1432,6 +1435,9 @@ msgstr ""
msgid "Nand Saves Emulation"
msgstr ""
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "Ни то, ни другое"
@ -1997,6 +2003,9 @@ msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr ""
msgid "Version: %s"
msgstr "Версия: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Видео режим"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:28+0100\n"
"PO-Revision-Date: 2013-08-13 07:03+0800\n"
"Last-Translator: \n"
"Language-Team: oCameLo\n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr "记忆卡模拟"
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr "留言板更新"
@ -1432,6 +1435,9 @@ msgstr "Nand 模拟器只能工作于 FAT/FAT32 分区!"
msgid "Nand Saves Emulation"
msgstr "Nand 存档模拟器"
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "全不"
@ -1997,6 +2003,9 @@ msgstr "在 titles 列表中未找到该 IOS 。如果你确定已安装则可
msgid "This Nintendont version does not support games on USB."
msgstr "Nintendont版本不支持在USB上运行游戏。"
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr "该游戏有多张光盘。请选择想要加载的光盘。"
@ -2165,6 +2174,9 @@ msgstr "版本:"
msgid "Version: %s"
msgstr "版本: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "视频制式"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:28+0100\n"
"PO-Revision-Date: 2011-07-25 16:40+0200\n"
"Last-Translator: Galen/xFede\n"
"Language-Team: Penn, SirPalax, hvy109\n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr "Actualizar Tablón Wii"
@ -1432,6 +1435,9 @@ msgstr "¡La emulación Nand solo funciona en particiones FAT/FAT32!"
msgid "Nand Saves Emulation"
msgstr "Emul. partidas Nand"
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "Ninguno"
@ -1997,6 +2003,9 @@ msgstr "No se encontró este IOS en la lista de títulos. Si estás seguro de qu
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr "Versión:"
msgid "Version: %s"
msgstr "Versión: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Modo Vídeo"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:28+0100\n"
"PO-Revision-Date: 2010-01-19 17:39+0200\n"
"Last-Translator: Katsurou\n"
"Language-Team: Katsurou, pirateX\n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr ""
@ -1432,6 +1435,9 @@ msgstr ""
msgid "Nand Saves Emulation"
msgstr ""
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "Inget"
@ -1997,6 +2003,9 @@ msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr ""
msgid "Version: %s"
msgstr ""
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Video-läge"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:28+0100\n"
"PO-Revision-Date: 2010-02-15 21:00+0800\n"
"Last-Translator: Jane.H\n"
"Language-Team: kyogc, Miller, Mika Li, Jane.H\n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr "留言板更新"
@ -1432,6 +1435,9 @@ msgstr "Nand 模擬器僅能在 FAT/FAT32 格式磁區執行!"
msgid "Nand Saves Emulation"
msgstr "Nand 儲存模擬器"
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "皆不顯示"
@ -1997,6 +2003,9 @@ msgstr "標題清單找不到這IOS。若你確定已安裝它請忽略這警
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr "此遊戲為多重光碟。請選擇光碟啟動。"
@ -2165,6 +2174,9 @@ msgstr "版本:"
msgid "Version: %s"
msgstr "版本: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "視訊格式"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:28+0100\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: Nitro_subzero \n"
"Language-Team: Nitro_subzero\n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr ""
@ -1432,6 +1435,9 @@ msgstr ""
msgid "Nand Saves Emulation"
msgstr ""
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "ไม่ทั้งสอง"
@ -1997,6 +2003,9 @@ msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr ""
msgid "Version: %s"
msgstr "เวอร์ชั่น: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "โหมดการแสดงผลภาพ"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-18 20:27+0200\n"
"POT-Creation-Date: 2014-11-10 19:28+0100\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: omercigingelini\n"
"Language-Team: omercigingelini\n"
@ -1384,6 +1384,9 @@ msgstr ""
msgid "Memory Card Emulation"
msgstr ""
msgid "Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."
msgstr ""
msgid "Messageboard Update"
msgstr ""
@ -1432,6 +1435,9 @@ msgstr ""
msgid "Nand Saves Emulation"
msgstr ""
msgid "Native Controller"
msgstr ""
msgid "Neither"
msgstr "Hiçbiri"
@ -1997,6 +2003,9 @@ msgstr ""
msgid "This Nintendont version does not support games on USB."
msgstr ""
msgid "This Nintendont version is not correctly supported. Auto boot disabled."
msgstr ""
msgid "This game has multiple discs. Please select the disc to launch."
msgstr ""
@ -2165,6 +2174,9 @@ msgstr ""
msgid "Version: %s"
msgstr "Vesiyon: %s"
msgid "Video Deflicker"
msgstr ""
msgid "Video Mode"
msgstr "Video Modu"

View File

@ -31,6 +31,8 @@
#include "menu.h"
#include "gecko.h"
static char NINBuildDate[21];
GCGames *GCGames::instance = NULL;
inline bool isGameID(const u8 *id)
@ -567,3 +569,66 @@ bool GCGames::CopyUSB2SD(const struct discHdr *header)
}
}
const char *nintendontBuildDate(const char *NIN_loader_path)
{
char NIN_loader[100];
snprintf(NIN_loader, sizeof(NIN_loader), "%sboot.dol", NIN_loader_path);
if(!CheckFile(NIN_loader))
snprintf(NIN_loader, sizeof(NIN_loader), "%sloader.dol", NIN_loader_path);
if(CheckFile(NIN_loader))
{
u8 *buffer = NULL;
u32 filesize = 0;
bool found = false;
if(LoadFileToMem(NIN_loader, &buffer, &filesize))
{
for(u32 i = 0; i < filesize-60; ++i)
{
if((*(u32*)(buffer+i+2)) == 'nten' && (*(u32*)(buffer+i+6)) == 'dont' && (*(u32*)(buffer+i+11)) == 'Load')
{
// Write buffer in NINheader
char NINHeader[61];
for(int j = 0 ; j < 60 ; j++)
NINHeader[j] = *(u8*)(buffer+i+j) == 0 ? ' ' : *(u8*)(buffer+i+j); // replace \0 with a space.
NINHeader[60] = '\0';
// Search month string start position in header
char *dateStart = NULL;
const char * month[] = {"Jan ", "Feb ", "Mar ", "Apr ", "May ", "Jun ", "Jui ", "Aug ", "Sep ", "Oct ", "Nov ", "Dec "};
for(int m = 0 ; m < 12 ; m++)
{
dateStart = strstr(NINHeader, month[m]);
if(dateStart != NULL)
break;
}
if(dateStart == NULL)
break;
dateStart[20] = '\0';
snprintf(NINBuildDate, sizeof(NINBuildDate), "%.20s", dateStart);
gprintf("Nintendont Build date : %s \n", dateStart);
found = true;
break;
}
}
free(buffer);
}
if(found)
return NINBuildDate;
}
return "";
}

View File

@ -25,6 +25,8 @@
using namespace std;
const char *nintendontBuildDate(const char *NIN_loader_path);
class GCGames
{
public:

View File

@ -52,15 +52,17 @@ enum ninconfig
NIN_CFG_LED = (1<<11), // v1.45
NIN_CFG_LOG = (1<<12), // v1.109
NIN_CFG_MC_MULTI = (1<<13), // v1.135
NIN_CFG_NATIVE_SI = (1<<14), // v2.189
};
enum ninvideomode
{
NIN_VID_AUTO = (0<<16),
NIN_VID_FORCE = (1<<16),
NIN_VID_NONE = (2<<16),
NIN_VID_NONE = (2<<16), // replaced by FORCE_DF in v2.200 - v2.207
NIN_VID_FORCE_DF = (4<<16), // v2.208+
NIN_VID_MASK = NIN_VID_AUTO|NIN_VID_FORCE|NIN_VID_NONE,
NIN_VID_MASK = NIN_VID_AUTO|NIN_VID_FORCE|NIN_VID_NONE|NIN_VID_FORCE_DF,
NIN_VID_FORCE_PAL50 = (1<<0),
NIN_VID_FORCE_PAL60 = (1<<1),

View File

@ -12,6 +12,7 @@
#include "usbloader/wdvd.h"
#include "usbloader/usbstorage2.h"
#include "usbloader/GameList.h"
#include "GameCube/GCGames.h"
#include "language/gettext.h"
#include "GUI/gui.h"
#include "GUI/gui_numpad.h"
@ -328,36 +329,9 @@ void WindowCredits()
// Check if Nintendont is available
char GCInfo2[80] = "";
char NIN_loader_path[100];
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))
{
u8 *buffer = NULL;
u32 filesize = 0;
if(LoadFileToMem(NIN_loader_path, &buffer, &filesize))
{
char NINversion[21];
for(u32 i = 0; i < filesize-60; ++i)
{
// Nintendont Loader..Built : %s %s..Sep 20 2013.15:27:01 // alpha0.1
if((*(u32*)(buffer+i+2)) == 'nten' && (*(u32*)(buffer+i+6)) == 'dont' && (*(u32*)(buffer+i+11)) == 'Load')
{
u8 offset = *(u32*)(buffer+i+17) == ' USB' ? 40 : 36; // r39 only
if(buffer[i+17] == '\r') offset += 2; //v1.20+
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;
snprintf(GCInfo2, sizeof(GCInfo2), "Nintendont Built %.20s", NINversion );
break;
}
}
free(buffer);
}
}
const char* NINBuildDate = nintendontBuildDate(Settings.NINLoaderPath);
if(strlen(NINBuildDate) > 0)
snprintf(GCInfo2, sizeof(GCInfo2), "Nintendont Built %.20s", NINBuildDate );
// Header - Top left
currentTxt = new GuiText(GCInfo2, 16, ( GXColor ) {255, 255, 255, 255});

View File

@ -216,10 +216,12 @@ bool CGameSettings::Save()
fprintf(f, "DMLScreenshot:%d; ", GameList[i].DMLScreenshot);
fprintf(f, "DMLJPNPatch:%d; ", GameList[i].DMLJPNPatch);
fprintf(f, "DMLDebug:%d; ", GameList[i].DMLDebug);
fprintf(f, "NINDeflicker:%d; ", GameList[i].NINDeflicker);
fprintf(f, "NINMCEmulation:%d; ", GameList[i].NINMCEmulation);
fprintf(f, "NINMCSize:%d; ", GameList[i].NINMCSize);
fprintf(f, "NINUSBHID:%d; ", GameList[i].NINUSBHID);
fprintf(f, "NINMaxPads:%d; ", GameList[i].NINMaxPads);
fprintf(f, "NINNativeSI:%d; ", GameList[i].NINNativeSI);
fprintf(f, "NINOSReport:%d; ", GameList[i].NINOSReport);
fprintf(f, "NINLED:%d; ", GameList[i].NINLED);
fprintf(f, "NINLog:%d; ", GameList[i].NINLog);
@ -398,6 +400,11 @@ bool CGameSettings::SetSetting(GameCFG & game, const char *name, const char *val
game.DMLDebug = atoi(value);
return true;
}
else if(strcmp(name, "NINDeflicker") == 0)
{
game.NINDeflicker = atoi(value);
return true;
}
else if(strcmp(name, "NINMCEmulation") == 0)
{
game.NINMCEmulation = atoi(value);
@ -418,6 +425,11 @@ bool CGameSettings::SetSetting(GameCFG & game, const char *name, const char *val
game.NINMaxPads = atoi(value);
return true;
}
else if(strcmp(name, "NINNativeSI") == 0)
{
game.NINNativeSI = atoi(value);
return true;
}
else if(strcmp(name, "NINOSReport") == 0)
{
game.NINOSReport = atoi(value);
@ -614,10 +626,12 @@ void CGameSettings::SetDefault(GameCFG &game)
game.DMLScreenshot = INHERIT;
game.DMLJPNPatch = INHERIT;
game.DMLDebug = INHERIT;
game.NINDeflicker = INHERIT;
game.NINMCEmulation = INHERIT;
game.NINMCSize = INHERIT;
game.NINUSBHID = INHERIT;
game.NINMaxPads = INHERIT;
game.NINNativeSI = INHERIT;
game.NINOSReport = INHERIT;
game.NINLED = INHERIT;
game.NINLog = INHERIT;

View File

@ -40,10 +40,12 @@ typedef struct _GameCFG
short DMLScreenshot;
short DMLJPNPatch;
short DMLDebug;
short NINDeflicker;
short NINMCEmulation;
short NINMCSize;
short NINUSBHID;
short NINMaxPads;
short NINNativeSI;
short NINOSReport;
short NINLED;
short NINLog;
@ -92,10 +94,12 @@ typedef struct _GameCFG
this->DMLScreenshot = game.DMLScreenshot;
this->DMLJPNPatch = game.DMLJPNPatch;
this->DMLDebug = game.DMLDebug;
this->NINDeflicker = game.NINDeflicker;
this->NINMCEmulation = game.NINMCEmulation;
this->NINMCSize = game.NINMCSize;
this->NINUSBHID = game.NINUSBHID;
this->NINMaxPads = game.NINMaxPads;
this->NINNativeSI = game.NINNativeSI;
this->NINOSReport = game.NINOSReport;
this->NINLED = game.NINLED;
this->NINLog = game.NINLog;

View File

@ -153,7 +153,7 @@ void CSettings::SetDefault()
WiirdDebuggerPause = OFF;
ShowPlayCount = ON;
RememberUnlock = ON;
LoaderMode = MODE_WIIGAMES;
LoaderMode = MODE_WIIGAMES | MODE_GCGAMES;
SearchMode = SEARCH_BEGINNING;
GameAspectRatio = ASPECT_SYSTEM_DEFAULT;
PointerSpeed = 0.18f;
@ -183,11 +183,13 @@ void CSettings::SetDefault()
DMLScreenshot = OFF;
DMLJPNPatch = OFF;
DMLDebug = OFF;
NINDeflicker = OFF;
NINMCEmulation = ON;
NINMCSize = 2;
NINAutoboot = ON;
NINUSBHID = OFF;
NINMaxPads = 1;
NINNativeSI = OFF;
NINOSReport = OFF;
NINLED = OFF;
NINLog = OFF;
@ -429,11 +431,13 @@ bool CSettings::Save()
fprintf(file, "DMLScreenshot = %d\n", DMLScreenshot);
fprintf(file, "DMLJPNPatch = %d\n", DMLJPNPatch);
fprintf(file, "DMLDebug = %d\n", DMLDebug);
fprintf(file, "NINDeflicker = %d\n", NINDeflicker);
fprintf(file, "NINMCEmulation = %d\n", NINMCEmulation);
fprintf(file, "NINMCSize = %d\n", NINMCSize);
fprintf(file, "NINAutoboot = %d\n", NINAutoboot);
fprintf(file, "NINUSBHID = %d\n", NINUSBHID);
fprintf(file, "NINMaxPads = %d\n", NINMaxPads);
fprintf(file, "NINNativeSI = %d\n", NINNativeSI);
fprintf(file, "NINOSReport = %d\n", NINOSReport);
fprintf(file, "NINLED = %d\n", NINLED);
fprintf(file, "NINLog = %d\n", NINLog);
@ -907,6 +911,11 @@ bool CSettings::SetSetting(char *name, char *value)
DMLDebug = atoi(value);
return true;
}
else if (strcmp(name, "NINDeflicker") == 0)
{
NINDeflicker = atoi(value);
return true;
}
else if (strcmp(name, "NINMCEmulation") == 0)
{
NINMCEmulation = atoi(value);
@ -932,6 +941,11 @@ bool CSettings::SetSetting(char *name, char *value)
NINMaxPads = atoi(value);
return true;
}
else if (strcmp(name, "NINNativeSI") == 0)
{
NINNativeSI = atoi(value);
return true;
}
else if (strcmp(name, "NINOSReport") == 0)
{
NINOSReport = atoi(value);

View File

@ -187,11 +187,13 @@ class CSettings
short DMLScreenshot;
short DMLJPNPatch;
short DMLDebug;
short NINDeflicker;
short NINMCEmulation;
short NINMCSize;
short NINAutoboot;
short NINUSBHID;
short NINMaxPads;
short NINNativeSI;
short NINOSReport;
short NINLED;
short NINLog;

View File

@ -188,14 +188,16 @@ void GCGameLoadSM::SetOptionNames()
Options->SetName(Idx++, "%s", tr( "--== Nintendont" ));
Options->SetName(Idx++, "%s", tr( "Video Mode" ));
Options->SetName(Idx++, "%s", tr( "Progressive Patch" ));
Options->SetName(Idx++, "%s", tr( "Video Deflicker" ));
Options->SetName(Idx++, "%s", tr( "Force Widescreen" ));
Options->SetName(Idx++, "%s", tr( "Ocarina" ));
Options->SetName(Idx++, "%s", tr( "Memory Card Emulation" ));
Options->SetName(Idx++, "%s", tr( "Memory Card Blocks Size" ));
Options->SetName(Idx++, "%s", tr( "Debug" ));
Options->SetName(Idx++, "%s", tr( "USB-HID Controller" ));
Options->SetName(Idx++, "%s", tr( "GameCube Controller" ));
Options->SetName(Idx++, "%s", tr( "Native Controller" ));
Options->SetName(Idx++, "%s", tr( "LED Activity" ));
Options->SetName(Idx++, "%s", tr( "Debug" ));
Options->SetName(Idx++, "%s", tr( "OSReport" ));
Options->SetName(Idx++, "%s", tr( "Log to file" ));
Options->SetName(Idx++, "%s", tr( "Nintendont Loader Path" ));
@ -339,6 +341,12 @@ void GCGameLoadSM::SetOptionValues()
else
Options->SetValue(Idx++, "%s", tr(OnOffText[GameConfig.DMLProgPatch]));
//! Settings: NIN Video Deflicker
if(GameConfig.NINDeflicker == INHERIT)
Options->SetValue(Idx++, tr("Use global"));
else
Options->SetValue(Idx++, "%s", tr(OnOffText[GameConfig.NINDeflicker]));
//! Settings: DML + NIN Force Widescreen
if(GameConfig.DMLWidescreen == INHERIT)
Options->SetValue(Idx++, tr("Use global"));
@ -362,12 +370,6 @@ void GCGameLoadSM::SetOptionValues()
Options->SetValue(Idx++, tr("Use global"));
else
Options->SetValue(Idx++, "%d", MEM_CARD_BLOCKS(GameConfig.NINMCSize));
//! Settings: DML + NIN Debug
if(GameConfig.DMLDebug == INHERIT)
Options->SetValue(Idx++, tr("Use global"));
else
Options->SetValue(Idx++, "%s", tr(DMLDebug[GameConfig.DMLDebug]));
//! Settings: NIN USB-HID Controller
if(GameConfig.NINUSBHID == INHERIT)
@ -381,12 +383,24 @@ void GCGameLoadSM::SetOptionValues()
else
Options->SetValue(Idx++, "%i", GameConfig.NINMaxPads);
//! Settings: NIN Native Controller
if(GameConfig.NINNativeSI == INHERIT)
Options->SetValue(Idx++, tr("Use global"));
else
Options->SetValue(Idx++, "%s", tr(OnOffText[GameConfig.NINNativeSI]));
//! Settings: NIN LED Activity
if(GameConfig.NINLED == INHERIT)
Options->SetValue(Idx++, tr("Use global"));
else
Options->SetValue(Idx++, "%s", tr(OnOffText[GameConfig.NINLED]));
//! Settings: DML + NIN Debug
if(GameConfig.DMLDebug == INHERIT)
Options->SetValue(Idx++, tr("Use global"));
else
Options->SetValue(Idx++, "%s", tr(DMLDebug[GameConfig.DMLDebug]));
//! Settings: NIN OS Report
if(GameConfig.NINOSReport == INHERIT)
Options->SetValue(Idx++, tr("Use global"));
@ -619,6 +633,12 @@ int GCGameLoadSM::GetMenuInternal()
if (++GameConfig.DMLProgPatch >= MAX_ON_OFF) GameConfig.DMLProgPatch = INHERIT;
}
//! Settings: NIN Video Deflicker
if(currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx)
{
if (++GameConfig.NINDeflicker >= MAX_ON_OFF) GameConfig.NINDeflicker = INHERIT;
}
//! Settings: NIN Force Widescreen
else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx)
{
@ -641,12 +661,8 @@ int GCGameLoadSM::GetMenuInternal()
else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx)
{
if (++GameConfig.NINMCSize >= 6) GameConfig.NINMCSize = INHERIT;
}
//! Settings: NIN Debug
else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx)
{
if (++GameConfig.DMLDebug >= 3) GameConfig.DMLDebug = INHERIT;
if (GameConfig.NINMCSize == 5)
WindowPrompt(tr("Warning:"), tr("Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."), tr("Ok"));
}
//! Settings: NIN USB-HID Controller
@ -661,12 +677,24 @@ int GCGameLoadSM::GetMenuInternal()
if (++GameConfig.NINMaxPads >= 5) GameConfig.NINMaxPads = INHERIT;
}
//! Settings: NIN Native Controller
else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx)
{
if (++GameConfig.NINNativeSI >= MAX_ON_OFF) GameConfig.NINNativeSI = INHERIT;
}
//! Settings: NIN LED Activity
else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx)
{
if (++GameConfig.NINLED >= MAX_ON_OFF) GameConfig.NINLED = INHERIT;
}
//! Settings: NIN Debug
else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx)
{
if (++GameConfig.DMLDebug >= 3) GameConfig.DMLDebug = INHERIT;
}
//! Settings: NIN OS Report
else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx)
{

View File

@ -218,11 +218,13 @@ LoaderSettings::LoaderSettings()
Options->SetName(Idx++, "%s", tr( "LED Activity" ));
Options->SetName(Idx++, "%s", tr( "Japanese Patch" ));
Options->SetName(Idx++, "%s", tr( "--== Nintendont" ));
Options->SetName(Idx++, "%s", tr( "Auto Boot" ));
Options->SetName(Idx++, "%s", tr( "Video Deflicker" ));
Options->SetName(Idx++, "%s", tr( "Memory Card Emulation" ));
Options->SetName(Idx++, "%s", tr( "Memory Card Blocks Size" ));
Options->SetName(Idx++, "%s", tr( "Auto Boot" ));
Options->SetName(Idx++, "%s", tr( "USB-HID Controller" ));
Options->SetName(Idx++, "%s", tr( "GameCube Controller" ));
Options->SetName(Idx++, "%s", tr( "Native Controller" ));
Options->SetName(Idx++, "%s", tr( "LED Activity" ));
Options->SetName(Idx++, "%s", tr( "OSReport" ));
Options->SetName(Idx++, "%s", tr( "Log to file" ));
@ -393,21 +395,27 @@ void LoaderSettings::SetOptionValues()
//! Settings: TITLE - Nintendont
Options->SetValue(Idx++, "==-- ");
//! Settings: TITLE - NIN Auto Boot
Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.NINAutoboot]));
//! Settings: TITLE - NIN Video Deflicker
Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.NINDeflicker]));
//! Settings: TITLE - NIN Memory Card Emulation
Options->SetValue(Idx++, "%s", tr(NINMCText[Settings.NINMCEmulation]));
//! Settings: TITLE - NIN Memory Card Blocks Size
Options->SetValue(Idx++, "%d", MEM_CARD_BLOCKS(Settings.NINMCSize));
//! Settings: TITLE - NIN Auto Boot
Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.NINAutoboot]));
//! Settings: TITLE - NIN USB-HID controller
Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.NINUSBHID]));
//! Settings: TITLE - NIN MaxPads - Number of GameCube controllers
Options->SetValue(Idx++, "%i", Settings.NINMaxPads);
//! Settings: TITLE - NIN Native Controller
Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.NINNativeSI]));
//! Settings: TITLE - NIN LED Activity
Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.NINLED]));
@ -722,6 +730,18 @@ int LoaderSettings::GetMenuInternal()
// This one is a category title
}
//! Settings: NIN Auto Boot
else if (ret == ++Idx)
{
if (++Settings.NINAutoboot >= MAX_ON_OFF) Settings.NINAutoboot = 0;
}
//! Settings: NIN Video Deflicker
else if (ret == ++Idx)
{
if (++Settings.NINDeflicker >= MAX_ON_OFF) Settings.NINDeflicker = 0;
}
//! Settings: NIN Memory Card Emulation
else if (ret == ++Idx)
{
@ -732,12 +752,8 @@ int LoaderSettings::GetMenuInternal()
else if (ret == ++Idx)
{
if (++Settings.NINMCSize >= 6) Settings.NINMCSize = 0;
}
//! Settings: NIN Auto Boot
else if (ret == ++Idx)
{
if (++Settings.NINAutoboot >= MAX_ON_OFF) Settings.NINAutoboot = 0;
if (Settings.NINMCSize == 5)
WindowPrompt(tr("Warning:"), tr("Memory Card with 2043 blocs has issues with Nintendont. Use at your own risk."), tr("Ok"));
}
//! Settings: NIN USB-HID controller
@ -752,6 +768,12 @@ int LoaderSettings::GetMenuInternal()
if (++Settings.NINMaxPads >= 5) Settings.NINMaxPads = 0;
}
//! Settings: NIN Native Controller
else if (ret == ++Idx)
{
if (++Settings.NINNativeSI >= MAX_ON_OFF) Settings.NINNativeSI = 0;
}
//! Settings: NIN LED Activity
else if (ret == ++Idx)
{

View File

@ -933,14 +933,16 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
u8 ocarinaChoice = game_cfg->ocarina == INHERIT ? Settings.ocarina : game_cfg->ocarina;
u8 ninVideoChoice = game_cfg->DMLVideo == INHERIT ? Settings.DMLVideo : game_cfg->DMLVideo;
u8 ninProgressivePatch = game_cfg->DMLProgPatch == INHERIT ? Settings.DMLProgPatch : game_cfg->DMLProgPatch;
u8 ninDeflickerChoice = game_cfg->NINDeflicker == INHERIT ? Settings.NINDeflicker : game_cfg->NINDeflicker;
u8 ninWidescreenChoice = game_cfg->DMLWidescreen == INHERIT ? Settings.DMLWidescreen : game_cfg->DMLWidescreen;
u8 ninMCEmulationChoice = game_cfg->NINMCEmulation == INHERIT ? Settings.NINMCEmulation : game_cfg->NINMCEmulation;
u8 ninMCSizeChoice = game_cfg->NINMCSize == INHERIT ? Settings.NINMCSize : game_cfg->NINMCSize;
u8 ninDebugChoice = game_cfg->DMLDebug == INHERIT ? Settings.DMLDebug : game_cfg->DMLDebug;
u8 ninAutobootChoice = Settings.NINAutoboot;
u8 ninUSBHIDChoice = game_cfg->NINUSBHID == INHERIT ? Settings.NINUSBHID : game_cfg->NINUSBHID;
u8 ninMaxPadsChoice = game_cfg->NINMaxPads == INHERIT ? Settings.NINMaxPads : game_cfg->NINMaxPads;
u8 ninNativeSIChoice = game_cfg->NINNativeSI == INHERIT ? Settings.NINNativeSI : game_cfg->NINNativeSI;
u8 ninLEDChoice = game_cfg->NINLED == INHERIT ? Settings.NINLED : game_cfg->NINLED;
u8 ninDebugChoice = game_cfg->DMLDebug == INHERIT ? Settings.DMLDebug : game_cfg->DMLDebug;
u8 ninOSReportChoice = game_cfg->NINOSReport == INHERIT ? Settings.NINOSReport : game_cfg->NINOSReport;
u8 ninLogChoice = game_cfg->NINLog == INHERIT ? Settings.NINLog : game_cfg->NINLog;
const char *ninLoaderPath = game_cfg->NINLoaderPath.size() == 0 ? Settings.NINLoaderPath : game_cfg->NINLoaderPath.c_str();
@ -1013,88 +1015,78 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
// Check Nintendont version
u32 NIN_cfg_version = NIN_CFG_VERSION;
bool NINArgsboot = false;
u8 *buffer = NULL;
u32 filesize = 0;
if(LoadFileToMem(NIN_loader_path, &buffer, &filesize))
const char* NINBuildDate = nintendontBuildDate(ninLoaderPath);
if(strlen(NINBuildDate) > 1)
{
bool found = false;
for(u32 i = 0; i < filesize-60; ++i)
//Current build date
struct tm time;
strptime(NINBuildDate, "%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))
{
if((*(u32*)(buffer+i+2)) == 'nten' && (*(u32*)(buffer+i+6)) == 'dont' && (*(u32*)(buffer+i+11)) == 'Load')
WindowPrompt(tr("Error:"), tr("USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version."), tr("Ok"));
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)
{
// Get Nintendont version
char NINversion[21];
u8 offset = *(u32*)(buffer+i+17) == ' USB' ? 40 : 36; // r39 only
if(buffer[i+17] == '\r') offset += 2; //v1.20+
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("This Nintendont version does not support games on USB."), tr("Ok"));
return 0;
}
}
// v1.01 - v1.134
strptime("Aug 5 2014 22:38:21", "%b %d %Y %H:%M:%S", &time); // v1.135 - NIN_CFG_VERSION = 3
if(NINLoaderTime < mktime(&time) && NIN_cfg_version != 1)
{
gprintf("Nintendont v1.01 - v1.134 detected. Using CFG version 0x00000002\n");
NIN_cfg_version = 2;
// no need to fake NIN_CFG struct size, the size is checked in nintendont only since v1.143
}
// v2.200 to 2.207
strptime("Nov 6 2014.17:33:30", "%b %d %Y %H:%M:%S", &time); // v1.208
if(ninAutobootChoice && NINLoaderTime < mktime(&time))
{
strptime("Oct 31 2014 21:14:47", "%b %d %Y %H:%M:%S", &time); // v1.200
if(NINLoaderTime >= mktime(&time))
{
WindowPrompt(tr("Warning:"), tr("This Nintendont version is not correctly supported. Auto boot disabled."), tr("Ok"));
ninAutobootChoice = OFF;
}
}
// checks argsboot
if(ninAutobootChoice)
{
u8 *buffer = NULL;
u32 filesize = 0;
if(LoadFileToMem(NIN_loader_path, &buffer, &filesize))
{
for(u32 i = 0; i < filesize; i += 0x10)
{
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)
if((*(u32*)(buffer+i)) == 'args' && (*(u32*)(buffer+i+4)) == 'boot')
{
WindowPrompt(tr("Error:"), tr("This Nintendont version does not support games on USB."), tr("Ok"));
free(buffer);
return 0;
gprintf("NIN: argsboot found at %08x, using arguments instead of Nincfg.bin\n", i);
NINArgsboot = true;
break;
}
}
// v1.01 - v1.134
strptime("Aug 5 2014 22:38:21", "%b %d %Y %H:%M:%S", &time); // v1.135 - NIN_CFG_VERSION = 3
if(NINLoaderTime < mktime(&time) && NIN_cfg_version != 1)
{
gprintf("Nintendont v1.01 - v1.134 detected. Using CFG version 0x00000002\n");
NIN_cfg_version = 2;
// no need to fake NIN_CFG struct size, the size is checked in nintendont only since v1.143
}
found = true;
break;
free(buffer);
}
}
if(found && ninAutobootChoice)
{
for(u32 i = 0; i < filesize; i += 0x10)
{
if((*(u32*)(buffer+i)) == 'args' && (*(u32*)(buffer+i+4)) == 'boot')
{
gprintf("NIN: argsboot found at %08x, using arguments instead of Nincfg.bin\n", i);
NINArgsboot = true;
break;
}
}
}
free(buffer);
if(!found)
{
// Current file is not Nintendont?
int choice = WindowPrompt(tr("Warning:"), tr("USBloaderGX couldn't verify Nintendont boot.dol file. Launch this boot.dol anyway?"), tr("Yes"), tr("Cancel"));
if(choice == 0)
return 0;
}
}
else
{
@ -1151,8 +1143,9 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
}
// Check controller.ini
if(ninUSBHIDChoice || IosLoader::isWiiU())
if(ninUSBHIDChoice)
{
// Check controller.ini file in priority, then controllers folder, for compatibility with older nintendont versions.
char controllerini_path[30];
snprintf(controllerini_path, sizeof(controllerini_path), "%s:/controller.ini", DeviceHandler::GetDevicePrefix(RealPath));
if(!CheckFile(controllerini_path))
@ -1171,10 +1164,33 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
return 0;
}
}
else
else // check controllers folder if no controller.ini found on root.
{
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 gamepath:/controllers/ folder
snprintf(controllerini_path, sizeof(controllerini_path), "%s:/controllers/", DeviceHandler::GetDevicePrefix(RealPath));
if(!CheckFile(controllerini_path))
{
// try to copy controllers folder from the other device
char controllerini_srcpath[30];
snprintf(controllerini_srcpath, sizeof(controllerini_srcpath), "%s:/controllers/", strncmp(RealPath, "usb", 3) == 0 ? "sd" : "usb1");
gprintf("Controllers folder source path = %s \n", controllerini_srcpath);
if(CheckFile(controllerini_srcpath))
{
if(CopyDirectory(controllerini_srcpath, controllerini_path) < 0)
{
gprintf("NIN: Couldn't copy %s to %s.\n", controllerini_srcpath, controllerini_path);
RemoveDirectory(controllerini_path);
}
}
else
{
snprintf(controllerini_path, sizeof(controllerini_path), "%s:/controller.ini", DeviceHandler::GetDevicePrefix(RealPath));
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;
}
}
}
}
}
@ -1266,7 +1282,7 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
if(ninAutobootChoice)
nin_config->Config |= NIN_CFG_AUTO_BOOT;
if(ninUSBHIDChoice)
nin_config->Config |= NIN_CFG_HID; // auto enabled by nintendont on vWii
nin_config->Config |= NIN_CFG_HID; // auto enabled by nintendont v2.152 and less on vWii
if(ninOSReportChoice)
nin_config->Config |= NIN_CFG_OSREPORT;
if(strncmp(RealPath, "usb", 3) == 0)
@ -1277,9 +1293,11 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
nin_config->Config |= NIN_CFG_LOG; // v1.109+
if(ninMCEmulationChoice == NIN_MC_MULTI)
nin_config->Config |= NIN_CFG_MC_MULTI; // v1.135+
if(ninNativeSIChoice)
nin_config->Config |= NIN_CFG_NATIVE_SI; // v2.189+
// Max Pads - Auto disabled by nintendont on vWii
nin_config->MaxPads = (!IosLoader::isWiiU() && !ninUSBHIDChoice && ninMaxPadsChoice == 0) ? 4 : ninMaxPadsChoice; // NIN_CFG_VERSION 2 r42
// Max Pads
nin_config->MaxPads = ninMaxPadsChoice; // NIN_CFG_VERSION 2 r42
// GameID for MCEmu
memcpy(&nin_config->GameID, gameHdr->id, 4); // NIN_CFG_VERSION 2 r83
@ -1289,11 +1307,11 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
DCFlushRange((u8 *)Disc_ID, 6);
// Memory Card Emulation Blocks size
nin_config->MemCardBlocks = (ninMCEmulationChoice == NIN_MC_MULTI ? 5 : ninMCSizeChoice); // NIN_CFG_VERSION 3 v1.135 - Set maximum size if using single card for all games
nin_config->MemCardBlocks = ninMCSizeChoice; // NIN_CFG_VERSION 3 v1.135
// Setup Video Mode
if(ninVideoChoice == DML_VIDEO_NONE) // No video mode
if(ninVideoChoice == DML_VIDEO_NONE) // No video mode changes
{
nin_config->VideoMode = NIN_VID_NONE;
}
@ -1302,13 +1320,16 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
if(ninVideoChoice == DML_VIDEO_AUTO) // Auto select video mode
{
Disc_SelectVMode(VIDEO_MODE_DISCDEFAULT, false, NULL, &nin_config->VideoMode);
nin_config->VideoMode |= NIN_VID_AUTO;
nin_config->VideoMode = NIN_VID_AUTO;
}
else // Force user choice
{
Disc_SelectVMode(ninVideoChoice-1, false, NULL, &nin_config->VideoMode);
if(!(nin_config->VideoMode & NIN_VID_AUTO))
if(nin_config->VideoMode & NIN_VID_FORCE_MASK)
nin_config->VideoMode |= NIN_VID_FORCE;
if (ninDeflickerChoice)
nin_config->VideoMode |= NIN_VID_FORCE_DF; // v2.208+
if(nin_config->VideoMode & NIN_VID_PROG)
nin_config->Config |= NIN_CFG_FORCE_PROG; // Set Force_PROG bit in Config
@ -1349,8 +1370,8 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr)
if(NINArgsboot)
{
// initialize homebrew and arguments
buffer = NULL;
filesize = 0;
u8 *buffer = NULL;
u32 filesize = 0;
LoadFileToMem(NIN_loader_path, &buffer, &filesize);
if(!buffer)
{

View File

@ -114,7 +114,7 @@ void InitVideo()
VIDEO_Init();
vmode = VIDEO_GetPreferredMode(NULL); // get default video mode
vmode->viWidth = Settings.widescreen ? 708 : 640;
vmode->viWidth = Settings.widescreen ? 708 : 694;
if (Settings.PAL50)
{