diff --git a/HBC/META.XML b/HBC/META.XML index 28127552..c434e81f 100644 --- a/HBC/META.XML +++ b/HBC/META.XML @@ -2,25 +2,25 @@ USB Loader GX USB Loader GX Team - 3.0 r1218 - 20131001201020 + 3.0 r1219 + 20140425130603 - + Loads games from USB-devices USB Loader GX is a libwiigui based USB iso loader with a wii-like GUI. You can install games to your HDDs and boot them with shorter loading times. 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. 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 Validation: Cyan and many others -Issue management: Cyan / Dimok +Issue management: Cyan WiiTDB / Hosting covers: Lustar USBLoader sources: Waninkoko, Kwiirk, Hermes cIOS maintenance: davebaol, xabby666, XFlak and Rodries diff --git a/Languages/czech.lang b/Languages/czech.lang index eeed4f85..fc232a80 100644 --- a/Languages/czech.lang +++ b/Languages/czech.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "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" @@ -1360,9 +1360,6 @@ msgstr "" msgid "Main Path" msgstr "" -msgid "Main tester:" -msgstr "Muj tester:" - msgid "Mar" msgstr "Brez" @@ -1384,6 +1381,9 @@ msgstr "WiiMotion+ Video" msgid "Mount DVD drive" msgstr "Spustit z DVD" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "Ne" @@ -1567,6 +1564,9 @@ msgstr "Oficiální místo:" msgid "Offset" msgstr "Ofset" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." 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." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "" @@ -2033,7 +2044,7 @@ msgstr "Popisky" msgid "Transfer failed" msgstr "Prenos selhal" -msgid "USB Device not found." +msgid "USB Device not initialized." msgstr "" msgid "USB Loader GX is protected" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "Odinstalace" @@ -2296,6 +2310,9 @@ msgstr "z " msgid "seconds left" msgstr "sekund zbývá" +#~ msgid "Main tester:" +#~ msgstr "Muj tester:" + #~ msgid "Rename Game on WBFS" #~ msgstr "Prejmenovat hru na WBFS" diff --git a/Languages/danish.lang b/Languages/danish.lang index 37720c7a..f4ffe7a1 100644 --- a/Languages/danish.lang +++ b/Languages/danish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: Fox888[dk]\n" "Language-Team: [dk]\n" @@ -1360,9 +1360,6 @@ msgstr "" msgid "Main Path" msgstr "" -msgid "Main tester:" -msgstr "Hoved tester:" - msgid "Mar" msgstr "" @@ -1384,6 +1381,9 @@ msgstr "" msgid "Mount DVD drive" msgstr "Mount DVD-drev" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "Multiple Partitioner" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "Nej" @@ -1567,6 +1564,9 @@ msgstr "Officiel side:" msgid "Offset" msgstr "" +msgid "Ok" +msgstr "" + msgid "Only Game 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." 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." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "" @@ -2033,8 +2044,8 @@ msgstr "Værktøjstips" msgid "Transfer failed" msgstr "Overførelse fejlede" -msgid "USB Device not found." -msgstr "USB enhed blev ikke fundet." +msgid "USB Device not initialized." +msgstr "" msgid "USB Loader GX is protected" msgstr "USB Loader GX er beskyttet" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "Afinstaller" @@ -2296,6 +2310,12 @@ msgstr "af" msgid "seconds left" msgstr "sekunder tilbage" +#~ msgid "Main tester:" +#~ msgstr "Hoved tester:" + +#~ msgid "USB Device not found." +#~ msgstr "USB enhed blev ikke fundet." + #~ msgid "Custom Discarts" #~ msgstr "Tilpasset DVD billeder" diff --git a/Languages/dutch.lang b/Languages/dutch.lang index 944bfb9e..251f1d2b 100644 --- a/Languages/dutch.lang +++ b/Languages/dutch.lang @@ -1,24 +1,24 @@ # USB Loader GX language source file. -# dutch.lang - r1100 +# dutch.lang - r1217 # don't delete/change this line (é). msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-10-01 22:10+0200\n" -"PO-Revision-Date: 2011-12-17 14:22+0100\n" -"Last-Translator: Arthur117\n" -"Language-Team: tj_cool, glowy, Arthur117\n" +"POT-Creation-Date: 2014-04-25 15:06+0200\n" +"PO-Revision-Date: 2009-10-01 01:00+0200\n" +"Last-Translator: \n" +"Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: Dutch (Nederlands)\n" +"Language: \n" msgid " could not be downloaded." -msgstr " kon niet worden gedownload." +msgstr " kon niet worden gedownload" msgid " 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." -msgstr " is opgeslagen. De tekst is niet gecontroleerd. Delen van de code kunnen elkaar tegenwerken. Als je moeilijkheden ondervind, open de tekst in een echte tekstverwerker voor meer informatie." +msgstr " is opgeslagen. De tekst is niet gecontroleerd. Delen van de code kunnen elkaar tegenwerken.. Als je moeilijkheden ondervind, open dan de tekst in een echte tekstverwerker voor meer informatie." msgid " is not on the server." msgstr " staat niet op de server." @@ -33,11 +33,11 @@ msgstr "%i missende bestanden" #, c-format msgid "%s only accepts GameCube backups in ISO format." -msgstr "" +msgstr "%s accepteerd alleen GameCube backups in ISO formaat." #, c-format msgid "%s requires AHB access! Please launch USBLoaderGX from HBC or from an updated channel or forwarder." -msgstr "" +msgstr "%s benodigd AHB toegang! Laad USBLoaderGX vanuit HBC of vanuit een geüpdatete channel of forwarder." msgid "--== Devolution" msgstr "" @@ -106,10 +106,10 @@ msgid "Add category" msgstr "Categorie toevoegen" msgid "Adjust Overscan X" -msgstr "" +msgstr "Aanpassen Overscan X" msgid "Adjust Overscan Y" -msgstr "" +msgstr "Aanpassen Overscan Y" msgid "After zoom" msgstr "" @@ -121,7 +121,7 @@ msgid "All Partitions" msgstr "Alle partities" msgid "All files extracted." -msgstr "ALle bestanden uitgepakt." +msgstr "Alle bestanden uitgepakt." msgid "All images downloaded successfully." msgstr "Alle plaatjes succesvol gedownload." @@ -136,7 +136,7 @@ msgid "An example file was created here:" msgstr "Er is hier een voorbeeldbestand gemaakt:" msgid "Animation Start" -msgstr "" +msgstr "Animatie Start" msgid "Anti" msgstr "" @@ -151,7 +151,7 @@ msgid "Apr" msgstr "" msgid "Are you really sure you want to delete all selected games from the SD card?" -msgstr "" +msgstr "Weet je zeker dat je alle geselecteerde games van de SD kaart wilt verwijderen?" msgid "Are you sure you want to delete this category?" msgstr "Weet je zeker dat je deze categorie wilt verwijderen?" @@ -160,13 +160,13 @@ msgid "Are you sure you want to import game categories from GameTDB?" msgstr "Weet je zeker dat je spel categorieën wilt importeren van GameTBD?" msgid "Are you sure you want to install on SD?" -msgstr "" +msgstr "Weet je zeker dat je wilt installeren op SD?" msgid "Are you sure you want to lock USB Loader GX?" msgstr "Weet je zeker dat je USB Loader GX wilt vergrendelen?" msgid "Are you sure you want to remount SD?" -msgstr "" +msgstr "Weet je zeker dat je de SD wilt hermounten?" msgid "Are you sure you want to reset?" msgstr "Wet je zeker dat je wilt resetten?" @@ -175,10 +175,10 @@ msgid "Are you sure?" msgstr "Zeker weten?" msgid "Aspect Ratio" -msgstr "" +msgstr "verhouding ratio" msgid "Attention!" -msgstr "" +msgstr "Opgelet!" msgid "Aug" msgstr "" @@ -187,13 +187,13 @@ msgid "Author(s):" msgstr "Auteur(s):" msgid "Auto" -msgstr "Automatisch" +msgstr "Auto" msgid "Auto Boot" -msgstr "" +msgstr "Auto Opstart" msgid "AutoInit Network" -msgstr "Netwerk Auto init." +msgstr "Netwerk AutoStart" msgid "BCA Codes Path" msgstr "Locatie BCA codes" @@ -208,19 +208,19 @@ msgid "Backgroundmusic" msgstr "Achtergrondmuziek" msgid "Banner Animation" -msgstr "" +msgstr "Banner Animatie" msgid "Banner Animation Settings" -msgstr "" +msgstr "Banner Animatie Instellingen" msgid "Banner On Channels" -msgstr "" +msgstr "Banner Bij Kanalen" msgid "Banner grid layout is only available with AHBPROT! Please consider installing new HBC version." -msgstr "" +msgstr "Banner raster indeling is alleen beschikbaar met AHBPROT! Overweeg het updaten van HBC." msgid "Banner window is only available with AHBPROT! Please consider installing new HBC version." -msgstr "" +msgstr "Banner scherm is alleen beschikbaar met AHBPROT! Overweeg het updaten van HBC." msgid "Big thanks to:" msgstr "Grote dank aan:" @@ -229,16 +229,16 @@ msgid "Block Categories Menu" msgstr "Blokkeer Categorie Menu" msgid "Block Categories Modify" -msgstr "Blokkeer categorieën wijzigen" +msgstr "Blokkeer Categorieën Wijzigen" msgid "Block Cover Downloads" -msgstr "Blokkeer Downloads van Hoesjes" +msgstr "Blokkeer Downloads Van Hoesjes" msgid "Block Custom Paths" -msgstr "Blokkeer Aangepaste Paden" +msgstr "Blokkeer Aangepaste Locaties" msgid "Block Feature Settings" -msgstr "Blokkeer functie instellingen" +msgstr "Blokkeer Functie Instellingen" msgid "Block Game Install" msgstr "Blokkeer Spel Installatie" @@ -259,10 +259,10 @@ msgid "Block HBC Menu" msgstr "Blokkeer HBC Menu" msgid "Block Hard Drive Settings" -msgstr "Blokkeer Harddisk instellingen" +msgstr "Blokkeer Harddisk Instellingen" msgid "Block IOS Reload" -msgstr "Stop IOS herladen" +msgstr "Blokkeer IOS Herladen" msgid "Block Loader Mode Button" msgstr "" @@ -271,10 +271,10 @@ msgid "Block Loader Settings" msgstr "Blokkeer Loader Instellingen" msgid "Block Parental Settings" -msgstr "Blokkeer Ouderlijk toezicht" +msgstr "Blokkeer Ouderlijk Toezicht" msgid "Block Priiloader Override" -msgstr "" +msgstr "Blokkeer Priiloader Override" msgid "Block Reset Settings" msgstr "Blokkeer Reset Instellingen" @@ -298,7 +298,7 @@ msgid "Block Updates" msgstr "Blokkeer Updates" msgid "Boot Content" -msgstr "" +msgstr "Start Content" msgid "Boot?" msgstr "Start?" @@ -310,10 +310,10 @@ msgid "Both Ports" msgstr "Beide poorten" msgid "Cache BNR Files" -msgstr "" +msgstr "Cache BNR Bestanden" msgid "Cache BNR Files Path" -msgstr "" +msgstr "Cache BNR Bestandspad" msgid "Cache Titles" msgstr "Titels cachen" @@ -326,7 +326,7 @@ msgstr "Kan map niet aanmaken" #, c-format msgid "Can't create file: %s" -msgstr "" +msgstr "Kan bestand niet aanmaken: %s" #, c-format msgid "Can't create path: %s" @@ -336,19 +336,19 @@ msgid "Can't delete:" msgstr "Kan niet verwijderen:" msgid "Can't mount or unknown disc format." -msgstr "" +msgstr "Kan niet mounten of onbekend schijf formaat." #, c-format msgid "Can't open file for write: %s" -msgstr "" +msgstr "Kan bestand niet openen voor schrijven: %s" #, c-format msgid "Can't open file: %s" -msgstr "" +msgstr "Kan bestand niet openen: %s" #, c-format msgid "Can't read file: %s" -msgstr "" +msgstr "Kan bestand niet lezen: %s" msgid "Cancel" msgstr "Annuleren" @@ -366,10 +366,10 @@ msgid "Change Play Path" msgstr "Verander afspeel locatie" msgid "Channel Launcher" -msgstr "" +msgstr "Kanaal Launcher" msgid "Channels" -msgstr "" +msgstr "Kanalen" msgid "Cheatfile is blank" msgstr "Cheatbestand is leeg" @@ -387,13 +387,13 @@ msgid "Clock" msgstr "Klok" msgid "Clock Scale Factor" -msgstr "" +msgstr "Klok Schaal Factor" msgid "Close" msgstr "Sluiten" msgid "Code Download" -msgstr "" +msgstr "Code Download" #, c-format msgid "Coded by: %s" @@ -406,7 +406,7 @@ msgid "Connection to server timed out." msgstr "Verbinding met de server duurt te lang." msgid "Console" -msgstr "" +msgstr "Console" msgid "Console Default" msgstr "Console standaard" @@ -424,7 +424,7 @@ msgid "Console should be unlocked to modify it." msgstr "Console moet worden vrijgegeven om te wijzigen." msgid "Continue" -msgstr "" +msgstr "Doorgaan" msgid "Continue to install game?" msgstr "Installatie spel voortzetten?" @@ -436,16 +436,16 @@ msgid "Controllevel" msgstr "Controle niveau" msgid "Copy" -msgstr "" +msgstr "Kopie" msgid "Copying Canceled" -msgstr "" +msgstr "Kopiëren geannuleerd" msgid "Copying GC game..." -msgstr "" +msgstr "GC game kopiëren..." msgid "Copying files..." -msgstr "" +msgstr "Bestanden kopiëren..." msgid "Correct Password" msgstr "Juiste Wachtwoord" @@ -467,7 +467,7 @@ msgid "Could not find info for this game in the wiitdb.xml." msgstr "Kan geen info over dit spel vinden in de wiitdb.xml." msgid "Could not get free device space for game." -msgstr "" +msgstr "Kon geen vrije ruimte krijgen voor het spel." msgid "Could not initialize DIP module!" msgstr "Kan DIP module niet initialiseren!" @@ -476,7 +476,7 @@ msgid "Could not initialize network!" msgstr "Kan netwerk niet initialiseren!" msgid "Could not initialize network, time out!" -msgstr "" +msgstr "Kan netwerk niet initialiseren, time-out!" msgid "Could not open Disc" msgstr "Kan disk niet openen" @@ -494,7 +494,7 @@ msgid "Could not write file." msgstr "Kan niet naar bestand schrijven." msgid "Could not write to:" -msgstr "Kon niet schrijven naar:" +msgstr "Kan niet schrijven naar:" msgid "Cover Download" msgstr "Download hoesjes" @@ -503,34 +503,34 @@ msgid "Create" msgstr "Maak" msgid "Credits" -msgstr "" +msgstr "Credits" msgid "Custom Banners" -msgstr "" +msgstr "Aangepaste Banners" msgid "Custom Paths" -msgstr "Bestandslocaties" +msgstr "Aangepaste Locaties" msgid "Customs" -msgstr "" +msgstr "Aangepaste" msgid "Customs/Original" msgstr "Aangepast/Origineel" msgid "D Buttons" -msgstr "" +msgstr "D Knoppen" msgid "DOL Path" -msgstr "Locatie DOL" +msgstr "DOL Pad" msgid "Debug" -msgstr "" +msgstr "Debug" msgid "Debug Wait" -msgstr "" +msgstr "Debug Wachttijd" msgid "Debugger Paused Start" -msgstr "Debugger gepauzeerd starten" +msgstr "Debugger Gepauseerd Start" msgid "Dec" msgstr "" @@ -548,7 +548,7 @@ msgid "Delete" msgstr "Verwijderen" msgid "Delete Cached Banner" -msgstr "" +msgstr "Verwijder Gecachete Banner" msgid "Delete Cheat GCT" msgstr "Cheat GCT verwijderen" @@ -566,40 +566,40 @@ msgid "Delete category" msgstr "Verwijder categorie" msgid "Deleting directories..." -msgstr "" +msgstr "Mappen verwijderen..." msgid "Deleting files..." -msgstr "" +msgstr "Bestanden verwijderen..." msgid "Design:" msgstr "Ontwerp:" msgid "Details" -msgstr "" +msgstr "Details" msgid "Developed by" msgstr "Ontwikkeld door" msgid "Developer:" -msgstr "" +msgstr "Ontwikkelaar:" msgid "Devolution" -msgstr "" +msgstr "Devolution" msgid "Devolution Loader Path" -msgstr "" +msgstr "Devolution Loader Locatie" msgid "Devolution's loader.bin file can't be loaded." -msgstr "" +msgstr "Devolution's loader.bin bestand kan niet worden geladen." msgid "Directory does not exist!" msgstr "Map bestaat niet!" msgid "Disc 1" -msgstr "" +msgstr "Disc 1" msgid "Disc 2" -msgstr "" +msgstr "Disc 2" msgid "Disc Artwork Download" msgstr "Download disk labels" @@ -611,16 +611,16 @@ msgid "Disc Default" msgstr "Disk standaard" msgid "Disc Insert Detected" -msgstr "" +msgstr "Disk invoer gedetecteerd" msgid "Disc read error." -msgstr "" +msgstr "Disk leesfout." 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 "Disc2 moet in een ongecomprimeerd formaat worden opgeslagen om te werken met DM (L) V2.6+, weet je zeker dat je wilt installeren in een gecomprimeerd formaat?" msgid "Discarts" -msgstr "" +msgstr "Disk afbeeldingen" msgid "DiskFlip" msgstr "" @@ -632,7 +632,7 @@ msgid "Display as a carousel" msgstr "Carrouselweergave" msgid "Display as a channel grid" -msgstr "" +msgstr "Kanaalrasterweergave" msgid "Display as a grid" msgstr "Rasterweergave" @@ -653,19 +653,19 @@ msgid "Do you want to change language?" msgstr "Wil je de taal wijzigen?" msgid "Do you want to continue with next game?" -msgstr "" +msgstr "Wil je doorgaan met het volgende spel?" msgid "Do you want to copy now?" -msgstr "" +msgstr "Wil je nu kopiëren?" msgid "Do you want to copy the game to SD or delete a game on SD?" -msgstr "" +msgstr "Wil je een spel naar de SD kopiëren of er een van verwijderen?" msgid "Do you want to delete a game on SD?" -msgstr "" +msgstr "Wil je een spel verwijderen van de SD" msgid "Do you want to discard changes?" -msgstr "" +msgstr "Wil je alle gemaakte wijzigingen verwerpen?" msgid "Do you want to download this theme?" msgstr "Wil je dit thema downloaden?" @@ -680,7 +680,7 @@ msgid "Do you want to format:" msgstr "Wil je formatteren:" msgid "Do you want to install selected games?" -msgstr "" +msgstr "Wil je de geselecteerde spellen installeren?" msgid "Do you want to load the default theme?" msgstr "Wil je het standaard thema laden?" @@ -689,7 +689,7 @@ msgid "Do you want to re-init network?" msgstr "Wil je het netwerk herinitialiseren?" msgid "Do you want to start the game now?" -msgstr "" +msgstr "Wil je het spel nu starten?" msgid "Do you want to sync free space info sector on all FAT32 partitions?" msgstr "Wil je de vrije ruimte informatie sector synchroniseren op alle FAT32 partities?" @@ -698,10 +698,10 @@ msgid "Do you wish to update/download all language files?" msgstr "Wil je alle taalbestanden updaten/downloaden?" msgid "Dol Video Patch" -msgstr "" +msgstr "DOL Video Patch" msgid "Download" -msgstr "" +msgstr "Download" msgid "Download Now" msgstr "Download nu" @@ -713,7 +713,7 @@ msgid "Downloading 3D Covers" msgstr "3D hoesjes aan het downloaden" msgid "Downloading Custom Banners" -msgstr "" +msgstr "Aangepaste banners aan het downloaden" msgid "Downloading Flat Covers" msgstr "Platte hoesjes aan het downloaden" @@ -743,7 +743,7 @@ msgid "Dump NAND to EmuNand" msgstr "NAND Dumpen naar EmuNand" msgid "During zoom" -msgstr "" +msgstr "Tijdens zoom" msgid "Dutch" msgstr "Nederlands" @@ -758,10 +758,10 @@ msgid "ERROR: Can't set up theme." msgstr "FOUT: Kan thema niet instellen" msgid "EmuNand Channels" -msgstr "" +msgstr "EmuNand Kanalen" msgid "Emulated Nand" -msgstr "" +msgstr "Geëmuleerd Nand" msgid "English" msgstr "Engels" @@ -814,13 +814,13 @@ msgid "Error:" msgstr "Fout:" msgid "Error: Not enough space on SD." -msgstr "" +msgstr "Fout: Niet genoeg ruimte op SD." msgid "Errors occured." msgstr "Fouten opgetreden." msgid "Everything" -msgstr "ALles" +msgstr "Alles" msgid "Exit" msgstr "Stoppen" @@ -832,16 +832,16 @@ msgid "Export All Saves to EmuNand" msgstr "Alle Saves exporteren naar EmuNand" msgid "Export Miis to EmuNand" -msgstr "" +msgstr "Exporteer Miis naar EmuNand" msgid "Export SYSCONF to EmuNand" -msgstr "" +msgstr "Exporteerd SYSCONF naar EmuNand" msgid "Extract Miis to the Emu NAND?" -msgstr "" +msgstr "Miis naar EmuNand uitpakken?" msgid "Extract SYSCONF to the Emu NAND?" -msgstr "" +msgstr "SYSCONF naar EmuNand uitpakken?" msgid "Extract Save to EmuNand" msgstr "Save Exporteren naar EmuNand" @@ -865,7 +865,7 @@ msgid "Failed" msgstr "Mislukt" msgid "Failed copying file" -msgstr "" +msgstr "Kopiëren van bestand mislukt" msgid "Failed formating" msgstr "Formatteren mislukt" @@ -877,25 +877,25 @@ msgid "Failed to extract." msgstr "Uitpakken mislukt." msgid "Failed to initialize the USB storage device." -msgstr "" +msgstr "USB apparaat niet kunnen initialiseren." msgid "Failed to open partition" msgstr "Partitie openen mislukt" msgid "Failed to read ticket." -msgstr "" +msgstr "Kon ticket niet lezen" msgid "Failed to read tmd file." -msgstr "" +msgstr "Kon tmd bestand niet lezen" msgid "Failed to read wad header." -msgstr "" +msgstr "Kon wad header niet lezen" msgid "Failed updating" msgstr "Updaten mislukt" msgid "Favorite Level" -msgstr "" +msgstr "Favoriete Level" msgid "Features" msgstr "Functies" @@ -910,7 +910,7 @@ msgid "File not found." msgstr "Bestand niet gevonden." msgid "File read/write error." -msgstr "" +msgstr "Bestand lees/schrijf fout." msgid "Files extracted successfully." msgstr "Bestanden succesvol uitgepakt." @@ -932,10 +932,10 @@ msgid "Font Scale Factor" msgstr "Lettertype Schaal Factor" msgid "Force 16:9" -msgstr "" +msgstr "Forceer 16:9" msgid "Force 4:3" -msgstr "" +msgstr "Forceer 4:3" msgid "Force NTSC" msgstr "Forceer NTSC" @@ -953,10 +953,10 @@ msgid "Force PAL60" msgstr "Forceer PAL60" msgid "Force Titles from Disc" -msgstr "" +msgstr "Forceer titels van Disk" msgid "Force Widescreen" -msgstr "" +msgstr "Forceer Breedbeeld" msgid "Format" msgstr "Formatteer" @@ -968,22 +968,22 @@ msgid "Found missing images." msgstr "Missende plaatje gevonden." msgid "Frame" -msgstr "" +msgstr "Rand" msgid "Frame Projection Height" -msgstr "" +msgstr "Rand projectie hoogte" msgid "Frame Projection Width" -msgstr "" +msgstr "Rand projectie breedte" msgid "Frame Projection X-Offset" -msgstr "" +msgstr "Rand projectie X-compensatie" msgid "Frame Projection Y-Offset" -msgstr "" +msgstr "Rand projectie Y-compensatie" msgid "Frames" -msgstr "" +msgstr "Randen" msgid "Free Space" msgstr "Vrije ruimte" @@ -998,13 +998,13 @@ msgid "Full Cover Path" msgstr "Volledige hoesjes pad" msgid "Full Covers" -msgstr "" +msgstr "Volledige Hoesjes" msgid "Full Menu" msgstr "Volledig Menu" msgid "Full covers Download" -msgstr "" +msgstr "Volledige hoesjes download" msgid "Full shutdown" msgstr "Volledig uitzetten" @@ -1013,16 +1013,16 @@ msgid "GAMEID_Gamename" msgstr "SPELID_Spelnaam" msgid "GC Banner Scale" -msgstr "" +msgstr "GC Banner Schaal" msgid "GC Games" -msgstr "" +msgstr "GC Spellen" msgid "GC Install 32K Aligned" -msgstr "" +msgstr "GC Installeer 32K Aligned" msgid "GC Install Compressed" -msgstr "" +msgstr "GC Installeer Gecomprimeerd" msgid "GCT Cheatcodes Path" msgstr "Locatie GCT cheatcodes" @@ -1040,10 +1040,10 @@ msgid "GXFlush" msgstr "" msgid "Game Cube Games Delete" -msgstr "" +msgstr "GameCube Spel Verwijderen" msgid "Game Cube Install Menu" -msgstr "" +msgstr "GameCube Installatie Menu" msgid "Game ID" msgstr "Spel ID" @@ -1079,25 +1079,25 @@ msgid "Game Split Size" msgstr "Spel splits grootte" msgid "Game Window Mode" -msgstr "" +msgstr "Spel Scherm Modus" msgid "Game is already installed:" msgstr "Spel is al geïnstalleerd:" msgid "Game's IOS" -msgstr "" +msgstr "Spel's IOS" msgid "Game/Install Partition" msgstr "Spel/Installatie partitie" msgid "GameCube" -msgstr "" +msgstr "GameCube" msgid "GameCube Mode" -msgstr "" +msgstr "GameCube Modus" msgid "GameCube Source" -msgstr "" +msgstr "GameCube Bron" msgid "GameTDB Path" msgstr "Map naar GameTBD" @@ -1112,43 +1112,43 @@ msgid "Generating GXGameCategories.xml" msgstr "Genereren GXGameCategories.xml" msgid "Genre:" -msgstr "" +msgstr "Genre:" msgid "German" msgstr "Duits" msgid "Getting file list..." -msgstr "" +msgstr "Bestandenlijst laden..." msgid "Getting game folder size..." -msgstr "" +msgstr "Spelmap grote berekenen..." msgid "Global Settings" msgstr "Globale instellingen" msgid "Grid Scroll Speed" -msgstr "" +msgstr "Raster Scroll Snelheid" msgid "HOME Menu" -msgstr "" +msgstr "HOME Menu" msgid "Hard Drive Settings" msgstr "Harddisk Instellingen" msgid "High Quality" -msgstr "" +msgstr "Hoge Kwaliteit" msgid "High/Low" -msgstr "" +msgstr "Hoog/Laag" msgid "Homebrew Apps Path" msgstr "Locatie homebrew apps" msgid "Homebrew Channel" -msgstr "" +msgstr "Homebrew Kanaal" msgid "Homebrew Launcher" -msgstr "Homebrew starter" +msgstr "Homebrew Launcher" msgid "Hooktype" msgstr "" @@ -1166,7 +1166,7 @@ msgid "Import Categories" msgstr "Importeer Categorieën" msgid "Import operation successfully completed." -msgstr "Importeren succesvol afgerond" +msgstr "Importeren succesvol afgerond." msgid "Importing categories" msgstr "Categorieën importeren" @@ -1180,7 +1180,7 @@ msgid "Incoming file %0.2fMB" msgstr "Binnenkomend bestand %0.2fMB" msgid "Individual" -msgstr "" +msgstr "Individueel" msgid "Initializing Network" msgstr "Netwerk initialiseren" @@ -1189,13 +1189,13 @@ msgid "Insert Disk" msgstr "Voer een disk in" msgid "Insert a Wii or a Game Cube Disc!" -msgstr "" +msgstr "Voer een Wii of GameCube Disk in!" msgid "Install" msgstr "Installeer" msgid "Install Canceled" -msgstr "" +msgstr "Installatie geannuleerd" msgid "Install Directories" msgstr "Installeer mappen" @@ -1207,7 +1207,7 @@ msgid "Install Partitions" msgstr "Installatie Partitie" msgid "Install WAD to EmuNand" -msgstr "" +msgstr "Installeer WAD naar EmuNand" msgid "Install a game" msgstr "Spel installeren" @@ -1216,22 +1216,22 @@ msgid "Install finished" msgstr "Installatie voltooid" msgid "Installing Game Cube Game..." -msgstr "" +msgstr "GameCube Spel Installeren..." msgid "Installing content" -msgstr "" +msgstr "Content Installeren" msgid "Installing game:" msgstr "Bezig met installeren:" msgid "Installing title..." -msgstr "" +msgstr "Titel installeren..." msgid "Invalid IOS number entered. Number must be -1 for inherit or 200 - 255." -msgstr "" +msgstr "Foutief IOS nummer ingevoerd. Het nummer moet -1 zijn voor volgen origineel of 200 - 255." msgid "Invalid wad file." -msgstr "" +msgstr "Fout wad bestand" msgid "It seems that you have some information that will be helpful to us. Please pass this information along to the DEV team." msgstr "Je hebt informatie gevonden die ons kan helpen. Geeft u alstublieft deze info door aan ons ontwikkelingsteam." @@ -1246,10 +1246,10 @@ msgid "Japanese" msgstr "Japans" msgid "Japanese Patch" -msgstr "" +msgstr "Japanse Patch" msgid "Joypad" -msgstr "" +msgstr "Joypad" msgid "July" msgstr "Jul" @@ -1267,7 +1267,7 @@ msgid "Korean" msgstr "Koreaans" msgid "LED Activity" -msgstr "" +msgstr "LED Activiteit" msgid "Language Files" msgstr "Taalbestanden" @@ -1282,10 +1282,10 @@ msgid "Languagepath changed." msgstr "Locatie taal gewijzigd." msgid "Launching Wii games with emulated nand only works on d2x cIOS! Change game IOS to a d2x cIOS first." -msgstr "" +msgstr "Spellen met EmuNand werken alleen op een d2x cIOS! Verander eerst de spel IOS naar een d2x cIOS." msgid "Launching emulated nand channels only works on d2x cIOS! Change game IOS to a d2x cIOS first." -msgstr "" +msgstr "Nand kanalen met EmuNand werken alleen op een d2x cIOS! Verander eerst de spel IOS naar een d2x cIOS." msgid "Left" msgstr "Links" @@ -1304,7 +1304,7 @@ msgstr "Laden van SD/USB" #, c-format msgid "Load file from: %s ?" -msgstr "Laad bestand van %s ?" +msgstr "Laad bestand van: %s ?" msgid "Load this DOL as alternate DOL?" msgstr "Deze DOL als alternatieve DOL gebruiken?" @@ -1313,7 +1313,7 @@ msgid "Loader Settings" msgstr "Loader Instellingen" msgid "Loader's IOS" -msgstr "" +msgstr "Loader's IOS" msgid "Loading standard language." msgstr "Standaardtaal laden." @@ -1340,28 +1340,25 @@ msgid "Loop Sound" msgstr "Geluid herhalen" msgid "Low Quality" -msgstr "" +msgstr "Lage kwaliteit" msgid "Low/High" -msgstr "" +msgstr "Laag/Hoog" msgid "MIOS (Default & Customs)" -msgstr "" +msgstr "MIOS (Standaard & Aangepast)" msgid "Main DOL" -msgstr "" +msgstr "Hoofd DOL" msgid "Main GameCube Games Path" -msgstr "" +msgstr "Hoofd GameCube Spellen Locatie" msgid "Main GameCube Path" -msgstr "" +msgstr "Hoofd GameCube Locatie" msgid "Main Path" -msgstr "" - -msgid "Main tester:" -msgstr "Hoofd tester:" +msgstr "Hoofd Locatie" msgid "Mar" msgstr "Mrt" @@ -1373,17 +1370,20 @@ msgid "May" msgstr "Mei" msgid "Memory Card Emulation" -msgstr "" +msgstr "Memory Card Emulatie" msgid "Messageboard Update" msgstr "Prikbord Update" msgid "Motion+ Video" -msgstr "" +msgstr "Mation+ Video" msgid "Mount DVD drive" msgstr "DVD Laden" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "Meerdere partities" @@ -1394,31 +1394,31 @@ msgid "Music Volume" msgstr "Muziekvolume" msgid "NMM Mode" -msgstr "" +msgstr "NMM Modus" msgid "Nand Chan. Emulation" -msgstr "" +msgstr "Nand Kan. Emulatie" msgid "Nand Channels" -msgstr "" +msgstr "Nand Kanalen" msgid "Nand Emu Channel Path" -msgstr "" +msgstr "Nand Emu Kanaal Locatie" msgid "Nand Emu Path" -msgstr "NAND Emu Pad" +msgstr "Nand Emu Locatie" msgid "Nand Emulation" -msgstr "NAND Emulatie" +msgstr "Nand Emulatie" msgid "Nand Emulation is only available on D2X cIOS!" -msgstr "NAND Emulatie is alleen mogelijk met D2X cIOS!" +msgstr "Nand Emulatie is alleen mogelijk met D2X cIOS" msgid "Nand Emulation only works on FAT/FAT32 partitions!" -msgstr "NAND Emulatie werkt alleen met FAT/FAT32 partities!" +msgstr "Nand Emulatie werkt alleen op FAT/FAT32 partities!" msgid "Nand Saves Emulation" -msgstr "" +msgstr "Nand Opslag Emulatie" msgid "Neither" msgstr "Geen" @@ -1433,10 +1433,7 @@ msgid "Nintendont" msgstr "" msgid "Nintendont Loader Path" -msgstr "" - -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" +msgstr "Nintendont Loader Locatie" msgid "No" msgstr "Nee" @@ -1448,7 +1445,7 @@ msgid "No DOL file found on disc." msgstr "Geen DOL bestand gevonden op disk." msgid "No Disc+" -msgstr "" +msgstr "Geen Disk+" msgid "No Splitting" msgstr "Niet splitsen" @@ -1463,7 +1460,7 @@ msgid "No Wiinnertag.xml found in the config path. Do you want an example file c msgstr "Geen Wiinertag.xml gevonden in het configuratie pad. Wil je een voorbeeld bestand maken?" msgid "No cheats were selected! Should the GCT file be deleted?" -msgstr "" +msgstr "Geen cheats geselecteerd! Moet het GCT bestand worden verwijderd?" msgid "No data could be read." msgstr "Data kon niet gelezen worden." @@ -1478,10 +1475,10 @@ msgid "No file missing!" msgstr "Geen missende bestanden!" msgid "No games found on the disc" -msgstr "" +msgstr "Geen spellen gevonden op disk" msgid "No language files to update on your devices! Do you want to download new language files?" -msgstr "" +msgstr "Geen taalbestanden om te updateten op je apparaten! Wil je nieuwe taalbestanden downloaden?" msgid "No new updates." msgstr "Geen nieuwe updates." @@ -1499,10 +1496,10 @@ msgid "Normal" msgstr "Normaal" msgid "Not Initialized" -msgstr "" +msgstr "Niet Geïnitialiseerd" msgid "Not a Wii or a Game Cube Disc" -msgstr "" +msgstr "Geen Wii of GameCube Disk" msgid "Not a valid URL" msgstr "Geen geldige URL" @@ -1517,13 +1514,13 @@ msgid "Not enough free memory." msgstr "Niet genoeg vrije ruimte." msgid "Not enough free space on device." -msgstr "" +msgstr "Niet genoeg vrije ruimte op apparaat." msgid "Not enough free space!" msgstr "Niet genoeg vrije ruimte!" msgid "Not enough memory for FST." -msgstr "" +msgstr "Niet genoeg ruimte voor FST." msgid "Not enough memory." msgstr "Onvoldoende geheugen." @@ -1535,10 +1532,10 @@ msgid "Not supported format!" msgstr "Formaat niet ondersteund!" msgid "Nothing selected to delete." -msgstr "" +msgstr "Niets geselecteerd om te verwijderen." msgid "Nothing selected to install." -msgstr "" +msgstr "Niets geselecteerd om te installeren." msgid "Nov" msgstr "" @@ -1565,6 +1562,9 @@ msgid "Official Site:" msgstr "Officiële site:" msgid "Offset" +msgstr "Compensatie" + +msgid "Ok" msgstr "" msgid "Only Game Partition" @@ -1574,7 +1574,7 @@ msgid "Only for Install" msgstr "Alleen bij installeren" msgid "Original" -msgstr "" +msgstr "Origineel" msgid "Original/Customs" msgstr "Origineel/Aangepast" @@ -1601,7 +1601,7 @@ msgid "Password has been changed" msgstr "Wachtwoord is gewijzigd" msgid "Patch Country Strings" -msgstr "Regio's herstellen" +msgstr "Land Teksten Patchen" msgid "Path Changed" msgstr "Pad gewijzigd" @@ -1610,7 +1610,7 @@ msgid "Permission denied." msgstr "Toegang geweigerd." msgid "Pick from a list" -msgstr "Kiezen van lijst" +msgstr "Kiezen uit lijst" msgid "Pixels" msgstr "" @@ -1631,7 +1631,7 @@ msgid "Playing Music:" msgstr "Speelt nu:" msgid "Please wait" -msgstr "" +msgstr "Even geduld" msgid "Please wait..." msgstr "Even geduld..." @@ -1661,7 +1661,7 @@ msgid "Random Directory Music" msgstr "Willekeurige Map Muziek" msgid "Real Nand" -msgstr "" +msgstr "Echte Nand" msgid "Receiving file from:" msgstr "Bestand ontvangen van:" @@ -1685,13 +1685,13 @@ msgid "Remove update" msgstr "Verwijder update" msgid "Rename Game Title" -msgstr "" +msgstr "Speltitel veranderen" msgid "Rename category" msgstr "Hernoem categorie" msgid "Reset" -msgstr "" +msgstr "Resetten" msgid "Reset BG Music" msgstr "Reset achtergrond muziek" @@ -1718,7 +1718,7 @@ msgid "Right" msgstr "Rechts" msgid "Rotating Disc" -msgstr "" +msgstr "Draaiende Disk" msgid "Rumble" msgstr "Trilfunctie" @@ -1727,16 +1727,16 @@ msgid "SChinese" msgstr "SChinees" msgid "SD Card could not be accessed." -msgstr "" +msgstr "Geen toegang tot SD kaart." msgid "SD GameCube Games Path" -msgstr "" +msgstr "SD GameCube Spellen Pad" msgid "SD GameCube Path" -msgstr "" +msgstr "SD GameCube Pad" msgid "SD Path" -msgstr "" +msgstr "SD Pad" msgid "SFX Volume" msgstr "Volume geluidseffecten" @@ -1781,10 +1781,10 @@ msgid "Select game categories" msgstr "Selecteer spel categorieën" msgid "Select loader mode" -msgstr "" +msgstr "Selecteer loader modus" msgid "Select titles sources." -msgstr "" +msgstr "Selecteer titels bron." msgid "Sept" msgstr "Sep" @@ -1802,10 +1802,10 @@ msgid "Show Free Space" msgstr "Vrije ruimte weergeven" msgid "Show Play Count" -msgstr "" +msgstr "Geef speelteller weer" msgid "Show SD" -msgstr "" +msgstr "Geef SD weer" msgid "Shutdown System" msgstr "Systeem uitzetten" @@ -1829,7 +1829,7 @@ msgid "Sort by rank" msgstr "Sorteren op rang" msgid "Sort order by most played" -msgstr "Sorteren op meest gespeeld" +msgstr "Sorteer op meest gespeeld" msgid "Sound" msgstr "Geluid" @@ -1877,25 +1877,25 @@ msgid "Successfully Updated" msgstr "Met succes ge-update!" msgid "Successfully copied" -msgstr "" +msgstr "Met succes gekopiëerd" msgid "Successfully deleted:" -msgstr "Met succes verwijderd:" +msgstr "Met succes gedelete" msgid "Successfully extracted theme." -msgstr "Thema succesvol uitgepakt." +msgstr "Thema succesvol uitgepakt" msgid "Successfully installed:" -msgstr "Met succes geïnstalleerd:" +msgstr "Met succes geïnstalleerd" msgid "Successfully updated." -msgstr "" +msgstr "Met succes geüpdate" msgid "Switching to channel list mode." -msgstr "" +msgstr "Schakel naar kanaal lijst modus" msgid "Sync FAT32 FS Info" -msgstr "FAT32 FS Info sync" +msgstr "" msgid "Synchronizing..." msgstr "Synchroniseren..." @@ -1913,37 +1913,37 @@ msgid "The .them file was not found in the zip." msgstr "Het .them bestand is niet gevonden in het zip bestand." msgid "The Force Widescreen setting requires DIOS MIOS v2.1 or more. This setting will be ignored." -msgstr "" +msgstr "De optie Forceer Breedbeeld benodigd DIOS MIOS v2.1 of hoger. Deze instelling word genegeerd." msgid "The Miis will be extracted to your emu nand path and emu nand channel path. Attention: All existing files will be overwritten." -msgstr "" +msgstr "De Miis zullen worden uitgepakt naar EmuNand pad en EmuNand kanaalpad. Let op: Alle bestaande bestanden worden overschreven." msgid "The No Disc+ setting requires DIOS MIOS 2.2 update2. This setting will be ignored." -msgstr "" +msgstr "De optie Geen Disk+ benodigd DIOS MIOS 2.2 update2. Deze instelling word genegeerd." msgid "The SYSCONF file will be extracted to your emu nand path and emu nand channel path. Attention: All existing files will be overwritten." -msgstr "" +msgstr "Het SYSCONF bestand zal uitgepakt worden naar EmuNand pad en EmuNand kanaal pad. Let op: Alle bestaande bestanden worden overschreven." msgid "The application might crash if there is currently a read/write access to the SD card!" -msgstr "" +msgstr "De applicatie kan crashen als er al schrijf/lees rechten zijn voor de SD kaart!" msgid "The entered directory does not exist. Would you like to create it?" msgstr "De opgegeven map bestaat niet. Wil je deze aanmaken?" msgid "The files will be extracted to your emu nand save and channel path. Attention: All existing files will be overwritten." -msgstr "" +msgstr "De bestanden worden uitgepakt naar je EmuNand Save en Kanaal pad. Let op: Alle bestaande bestanden worden overschreven." msgid "The game is on SD Card." -msgstr "" +msgstr "Het spel is op de SD kaart." msgid "The game is on USB." -msgstr "" +msgstr "Het spel is op USB." msgid "The save game will be extracted to your emu nand path." msgstr "De Savegame wordt geëxporteerd naar uw EmuNand Pad." msgid "The save games will be extracted to your emu nand save and channel path. Attention: All existing files will be overwritten." -msgstr "" +msgstr "De opgeslagen spellen worden uitgepakt naar je EmuNand Save en Kanaal pad. Let op: Alle bestaande bestanden worden overschreven." msgid "The wad file was installed" msgstr "Het wad bestand is geïnstalleerd." @@ -1973,67 +1973,78 @@ msgstr "Deze IOS is de BootMii IOS. Als je zeker weet dat dit niet BootMii is en msgid "This IOS was not found on the titles list. If you are sure you have it installed than ignore this warning." msgstr "Deze IOS is niet gevonden in de titel lijst. Als je zeker weet dat deze geïnstalleerd is kun je deze waarschuwing negeren." -msgid "This game has multiple discs. Please select the disc to launch." +msgid "This Nintendont version does not support games on USB." 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." + msgid "This path must be on SD!" -msgstr "" +msgstr "Dit pad moet op de SD kaart zijn!" msgid "Time left:" -msgstr "Tijd over:" +msgstr "Tijd resterend:" msgid "Timer Fix" -msgstr "" +msgstr "Timer Fix" msgid "Title Launcher" -msgstr "Titel starter" +msgstr "Titel Launcher" msgid "Titles from GameTDB" msgstr "Titels van GameTDB" msgid "To run GameCube games from Disc you need to set the GameCube mode to MIOS in the game settings." -msgstr "" +msgstr "Om GameCube spellen vanaf disk te spelen moet je de GameCube modus op MIOS zetten in de spel instellingen." #, c-format msgid "To run GameCube games with %s you need to place them on an USB FAT32 partition." -msgstr "" +msgstr "Om GameCube games met %s te spelen moet je ze op een USB FAT32 partitie plaatsen." #, c-format msgid "To run GameCube games with %s you need to set your 'Main GameCube Path' on a primary partition." -msgstr "" +msgstr "Om GameCube spellen met %s te spelen moet je je 'Hoofd GameCube Pad' op een primary partitie zetten." #, 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 "Om GameCube spellen met %s te spelen moet je je 'Hoofd GameCube Pad' op de eerste partitie van de hardeschijf zetten." #, c-format msgid "To run GameCube games with %s you need to set your 'Main GameCube Path' to an USB FAT32 partition." -msgstr "" +msgstr "Om GameCube spellen met %s te spelen moet je je 'Hoofd GameCube Pad' op een USB FAT32 partitie instellen." #, c-format msgid "To run GameCube games with %s you need to use a 512 bytes/sector Hard Drive." -msgstr "" +msgstr "Om GameCube spellen met %s te spelen moet je gebruik maken van een 512 bytes/sector schijf." #, c-format msgid "To run GameCube games with %s you need to use a partition with 32k bytes/cluster or less." -msgstr "" +msgstr "Om GameCube spellen met %s te spelen moet je gebruik maken van een partitie met 32k bytes/cluster of minder." msgid "To run GameCube games with Devolution you need the loader.bin file in your Devolution Loader Path." -msgstr "" +msgstr "Om GameCube spellen met Devolution te spelen moet heb je het loader.bin bestand nodig in je Devolution Loader Locatie" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." +msgstr "Om GameCube spellen met Nintendont te spelen heb je boot.dol nodig in je Nintendont Loader Pad" + +#, 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" -msgstr "" +msgstr "Hulpballon Vertraging" msgid "Tooltips" -msgstr "Knopinfo" +msgstr "Hulpballonnen" msgid "Transfer failed" msgstr "Overdracht mislukt." -msgid "USB Device not found." +msgid "USB Device not initialized." msgstr "" msgid "USB Loader GX is protected" @@ -2046,22 +2057,25 @@ msgid "USB Port changing is only supported on Hermes cIOS." msgstr "USB Poort wisselen word alleen door Hermes cIOS ondersteund." msgid "USB-HID Controller" -msgstr "" +msgstr "USB-HID Controller" msgid "USBloaderGX couldn't verify Nintendont boot.dol file. Launch this boot.dol anyway?" -msgstr "" +msgstr "USBLoaderGX kon Nintendont boot.dol niet verifiëren. Deze boot.dol toch starten?" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" +msgstr "USBLoaderGX kon Nintendont config bestand niet schrijven. Nintendont toch starten?" + +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." msgstr "" msgid "Uninstall" -msgstr "" +msgstr "Verwijderen" msgid "Uninstall Game" msgstr "Spel verwijderen" msgid "Uninstall Menu" -msgstr "Verwijderen" +msgstr "Menu Verwijderen" msgid "Uninstall all" msgstr "Verwijder alle" @@ -2088,7 +2102,7 @@ msgid "Update DOL" msgstr "DOL updaten" msgid "Update Files" -msgstr "Updaten" +msgstr "Bestanden Updaten" msgid "Update Path" msgstr "Updatelocatie" @@ -2100,7 +2114,7 @@ msgid "Update failed" msgstr "Update mislukt" msgid "Update successfull" -msgstr "Succesvol" +msgstr "Update succesvol" msgid "Updating Language Files:" msgstr "Taalbestanden updaten:" @@ -2109,7 +2123,7 @@ msgid "Uploaded ZIP file installed to homebrew directory." msgstr "Geuploade ZIP is geïnstalleerd in je homebrew locatie." msgid "Use Game Settings" -msgstr "" +msgstr "Gebruik spel instellingen" msgid "Use System Font" msgstr "Gebruik Systeem lettertype" @@ -2121,7 +2135,7 @@ msgid "VBI (Default)" msgstr "" msgid "VIDTV Patch" -msgstr "VIDTV patchen" +msgstr "VIDTV Patch" msgid "Version:" msgstr "Versie:" @@ -2131,13 +2145,13 @@ msgid "Version: %s" msgstr "Versie: %s" msgid "Video Mode" -msgstr "" +msgstr "Video Modus" msgid "Virtual Pointer Speed" -msgstr "" +msgstr "Virtuele Muis Snelheid" msgid "WAD Installation" -msgstr "" +msgstr "WAD Installatie" msgid "WDM Files Path" msgstr "Locatie WDM bestanden" @@ -2155,62 +2169,62 @@ msgid "Warning:" msgstr "Waarschuwing:" msgid "What do you want to do?" -msgstr "" +msgstr "Wat wil je doen?" msgid "What do you want to update?" msgstr "Wat wil je updaten?" msgid "What should be deleted for this game title:" -msgstr "Wat er verwijderd moet worden voor deze spel titel:" +msgstr "Wat moet er verwijderd worden voor deze spel titel:" msgid "What to extract from NAND?" msgstr "Wat uitpakken van NAND?" msgid "Where should the game be installed to?" -msgstr "" +msgstr "Waar moet het spel naar geïnstelleerd worden?" msgid "WiFi Features" -msgstr "WiFi functies" +msgstr "WiFi Functies" msgid "Widescreen Factor" msgstr "Breedbeeld Factor" msgid "Widescreen Fix" -msgstr "Breedbeeld" +msgstr "Breedbeeld Fix" msgid "Wii Games" -msgstr "" +msgstr "Wii Spellen" msgid "Wii Menu" -msgstr "" +msgstr "Wii Menu" msgid "Wii Settings" -msgstr "Wii instellingen" +msgstr "Wii Instellingen" msgid "WiiTDB.xml" msgstr "" msgid "WiiTDB.xml is up to date." -msgstr "" +msgstr "WiiTDB.xml is up to date." msgid "Wiilight" -msgstr "Wii verlichting" +msgstr "WiiLight" msgid "Wiinnertag" msgstr "" msgid "Wiinnertag Path" -msgstr "Wiinnertag Pad" +msgstr "Wiinertag Pad" msgid "Wiinnertag requires you to enable automatic network connect on application start. Do you want to enable it now?" msgstr "Wiinnertag vereist dat automatisch netwerk verbinden bij applicatie start aan staat. Wil je dit nu aanzetten?" msgid "Wiird Debugger" -msgstr "" +msgstr "Wiird Debugger" #, c-format msgid "Write error on file: %s" -msgstr "" +msgstr "Schrijf fout bij bestand: %s" msgid "Writing GXGameCategories.xml" msgstr "GXGameCategories.xml schrijven" @@ -2225,19 +2239,19 @@ msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 1 msgstr "Je probeert een FAT32/NTFS/EXT partitie te selecteren met cIOS 249 Rev < 18. Dit word niet ondersteund. Verder gaan is op eigen risico." msgid "You can select or format a partition or use the channel loader mode." -msgstr "" +msgstr "Je kunt een een partitie selecteren of formateren of gebruik maken van de kanaal loader modus." msgid "You cannot delete this category." msgstr "Je kunt deze categorie niet verwijderen." msgid "You need to install DIOS MIOS Lite v1.2 or a newer version." -msgstr "" +msgstr "Je moet DIOS MIOS Lite v1.2 of hoger installeren." 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 "Je moet een extra GameCube loader installeren of selecteer een andere GameCube Modus om GameCube spellen te spelen vanaf USB of SD kaart." msgid "Zoom Duration (Speed)" -msgstr "" +msgstr "Zoom tijd (snelheid)" msgid "and translators for language files updates" msgstr "en vertalers voor taalbestand updates" @@ -2249,10 +2263,10 @@ msgid "does not exist!" msgstr "bestaat niet!" msgid "does not exist! Loading game without cheats." -msgstr "bestaat niet! Spel laden zonder cheats." +msgstr "bestaat niet! Spel word geladen zonder cheats." msgid "files left" -msgstr "Bestanden resterend" +msgstr "bestanden resterend" msgid "for FAT/NTFS support" msgstr "voor FAT/NTFS ondersteuning" @@ -2276,7 +2290,7 @@ msgid "for the USB Loader source" msgstr "voor USB Loader source" msgid "for their work on the wiki page" -msgstr "" +msgstr "voor hun werk op de wiki pagina" msgid "formatted!" msgstr "geformatteerd!" @@ -2294,151 +2308,13 @@ msgid "of" msgstr "van" msgid "seconds left" -msgstr "seconden over" +msgstr "seconde resterend" -#~ msgid "Boot/Standard" -#~ msgstr "Start/Standaard" +#~ msgid "Main tester:" +#~ msgstr "Hoofd tester:" -#~ msgid "Custom Discarts" -#~ msgstr "Aangepaste Disk Labels" +#~ msgid "Nintendont currently only supports GameCube games on SD card." +#~ msgstr "Nintendont ondersteund momenteel alleen GameCube games op SD kaart." -#~ msgid "Full HQ Covers" -#~ msgstr "HQ volledige hoesjes" - -#~ msgid "Full LQ Covers" -#~ msgstr "LQ volledige hoesjes" - -#~ msgid "Original Discarts" -#~ msgstr "Originele Disk Labels" - -#~ msgid "Rename Game on WBFS" -#~ msgstr "Spel hernoemen op WBFS" - -#~ msgid "Successfully Updated thanks to www.techjawa.com" -#~ msgstr "Met succes ge-update met dank aan www.techjawa.com" - -#~ msgid "for hosting the update files" -#~ msgstr "voor het hosten van update bestanden" - -#~ msgid "Insert a Wii Disc!" -#~ msgstr "Voer een Wii disk in!" - -#~ msgid "No cheats were selected" -#~ msgstr "Geen cheats geselecteerd" - -#~ msgid "Not a Wii Disc" -#~ msgstr "Geen Wii disk" - -#~ msgid "The files will be extracted to your emu nand path. Attention: All existing files will be overwritten." -#~ msgstr "De bestanden worden geëxporteerd naar uw EmuNand pad. Alle bestaande bestanden worden overschreven!" - -#~ msgid "The save games will be extracted to your emu nand path. Attention: All existing saves will be overwritten." -#~ msgstr "De Savegame wordt geëxporteerd naar uw EmuNand Pad. Alle bestaande bestanden worden overschreven!" - -#~ msgid ">> Deleting tickets..." -#~ msgstr ">> Tickets verwijderen..." - -#~ msgid ">> Deleting tickets...ERROR! " -#~ msgstr ">> Tickets verwijderen...FOUT! " - -#~ msgid ">> Deleting tickets...Ok! " -#~ msgstr ">> Tickets verwijderen...Ok! " - -#~ msgid ">> Deleting title ...ERROR! " -#~ msgstr ">> Titel verwijderen ...FOUT! " - -#~ msgid ">> Deleting title ...Ok!" -#~ msgstr ">> Titel verwijderen ...Ok!" - -#~ msgid ">> Deleting title contents..." -#~ msgstr ">> Titel inhoud verwijderen..." - -#~ msgid ">> Deleting title contents...ERROR! " -#~ msgstr ">> Titel inhoud verwijderen...FOUT! " - -#~ msgid ">> Deleting title contents...Ok!" -#~ msgstr ">> Titel inhoud verwijderen...Ok!" - -#~ msgid ">> Deleting title..." -#~ msgstr ">> Titel verwijderen..." - -#~ msgid ">> Finishing installation..." -#~ msgstr ">> Installatie afronden..." - -#~ msgid ">> Installing content #" -#~ msgstr ">> Installeren inhoud #" - -#~ msgid ">> Installing ticket..." -#~ msgstr ">> Ticket installeren..." - -#~ msgid ">> Installing title..." -#~ msgstr ">> Titel installeren..." - -#~ msgid ">> Reading WAD data..." -#~ msgstr ">> WAD data lezen..." - -#~ msgid ">> Reading WAD data...ERROR! " -#~ msgstr ">> WAD data lezen...FOUT! " - -#~ msgid ">> Reading WAD data...Ok!" -#~ msgstr ">> WAD data lezen...Ok!" - -#~ msgid "Done!" -#~ msgstr "Klaar!" - -#~ msgid "Error..." -#~ msgstr "Fout..." - -#~ msgid "Finishing installation... Ok!" -#~ msgstr "Installatie afronden... Ok!" - -#~ msgid "Installing content... Ok!" -#~ msgstr "Installeren inhoud... Ok!" - -#~ msgid "Installing ticket... Ok!" -#~ msgstr "Ticket installeren... Ok!" - -#~ msgid "Installing title... Ok!" -#~ msgstr "Titel installeren... Ok!" - -#~ msgid "Installing wad" -#~ msgstr "Wad installeren" - -#~ msgid "New Disc Detected" -#~ msgstr "Nieuwe disk gevonden" - -#~ msgid "Reading WAD data... Ok!" -#~ msgstr "WAD data lezen... Ok!" - -#~ msgid "The game installation is disabled under this IOS because of instability in usb write." -#~ msgstr "Het installeren van spellen is uitgeschakeld met deze IOS door onstabiliteit met USB schrijven" - -#~ msgid "USB Device not found" -#~ msgstr "USB Apparaat niet gevonden" - -#~ msgid "Uninstalling wad" -#~ msgstr "Wad verwijderen" - -#~ msgid "You are currently using IOS" -#~ msgstr "Je gebruikt op dit moment IOS" - -#~ msgid "You need to select or format a partition" -#~ msgstr "Je moet een partitie selecteren of formatteren" - -#~ msgid "Language File" -#~ msgstr "Taal bestand" - -#~ msgid "Are you sure you want to import game categories from WiiTDB?" -#~ msgstr "Weet je zeker dat je spel categorieën wilt importeren van WiiTDB?" - -#~ msgid "Titles from WiiTDB" -#~ msgstr "WiiTDB titels" - -#~ msgid "WiiTDB Files" -#~ msgstr "WiiTDB bestanden" - -#~ msgid "WiiTDB Path" -#~ msgstr "Locatie WiiTDB" - -#~ msgid "for WiiTDB and hosting covers / disc images" -#~ msgstr "voor WiiTDB en upload afbeeldingen" +#~ msgid "USB Device not found." +#~ msgstr "USB Apparaat niet gevonden." diff --git a/Languages/english.lang b/Languages/english.lang index 20d04f88..f2f0bb9a 100644 --- a/Languages/english.lang +++ b/Languages/english.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: \n" "Language-Team: \n" @@ -1360,9 +1360,6 @@ msgstr "" msgid "Main Path" msgstr "" -msgid "Main tester:" -msgstr "" - msgid "Mar" msgstr "" @@ -1384,6 +1381,9 @@ msgstr "" msgid "Mount DVD drive" msgstr "" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "" @@ -1567,6 +1564,9 @@ msgstr "" msgid "Offset" msgstr "" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." msgstr "" +msgid "This Nintendont version does not support games on USB." +msgstr "" + msgid "This game has multiple discs. Please select the disc to launch." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "" @@ -2033,7 +2044,7 @@ msgstr "" msgid "Transfer failed" msgstr "" -msgid "USB Device not found." +msgid "USB Device not initialized." msgstr "" msgid "USB Loader GX is protected" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "" diff --git a/Languages/finnish.lang b/Languages/finnish.lang index c56bb307..c88eaf67 100644 --- a/Languages/finnish.lang +++ b/Languages/finnish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: c64rmx\n" "Language-Team: \n" @@ -1360,9 +1360,6 @@ msgstr "" msgid "Main Path" msgstr "" -msgid "Main tester:" -msgstr "" - msgid "Mar" msgstr "maalis" @@ -1384,6 +1381,9 @@ msgstr "" msgid "Mount DVD drive" msgstr "" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "Ei" @@ -1567,6 +1564,9 @@ msgstr "Virallinen sivusto:" msgid "Offset" msgstr "" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." msgstr "" +msgid "This Nintendont version does not support games on USB." +msgstr "" + msgid "This game has multiple discs. Please select the disc to launch." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "" @@ -2033,7 +2044,7 @@ msgstr "Vinkit" msgid "Transfer failed" msgstr "" -msgid "USB Device not found." +msgid "USB Device not initialized." msgstr "" msgid "USB Loader GX is protected" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "Poista" diff --git a/Languages/french.lang b/Languages/french.lang index a8a3b8f8..b463875c 100644 --- a/Languages/french.lang +++ b/Languages/french.lang @@ -1,11 +1,11 @@ # USB Loader GX language source file. -# French.lang - r1218 +# French.lang - r1219 # don't delete/change this line (é). msgid "" msgstr "" "Project-Id-Version: USB Loader GX\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" "Last-Translator: Cyan\n" "Language-Team: Badablek, Amour, ikya, Cyan & Kin8\n" @@ -518,7 +518,7 @@ msgid "Customs/Original" msgstr "Persos/Originaux" msgid "D Buttons" -msgstr "" +msgstr "Boutons directs" msgid "DOL Path" msgstr "Dossier DOL alternatif" @@ -1360,9 +1360,6 @@ msgstr "Dossier GameCube principal" msgid "Main Path" msgstr "Dossier principal" -msgid "Main tester:" -msgstr "Testeur:" - msgid "Mar" msgstr "Mars" @@ -1384,6 +1381,9 @@ msgstr "Vidéo Motion+" msgid "Mount DVD drive" msgstr "Charger le DVD" +msgid "Mount USB at launch" +msgstr "Charger USB au démarrage" + msgid "Multiple Partitions" msgstr "Partitions multiples" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" 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" msgstr "Non" @@ -1567,6 +1564,9 @@ msgstr "Site officiel:" msgid "Offset" msgstr "" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." 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." 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." 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" msgstr "Délai des Info-bulles" @@ -2033,8 +2044,8 @@ msgstr "Info-bulles" msgid "Transfer failed" msgstr "Échec du transfert" -msgid "USB Device not found." -msgstr "Périphérique USB introuvable." +msgid "USB Device not initialized." +msgstr "Périphérique USB non initialisé." msgid "USB Loader GX is protected" 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?" 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" msgstr "Désinstaller" @@ -2296,6 +2310,15 @@ msgstr "sur" msgid "seconds left" 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" #~ msgstr "IOS par défaut" diff --git a/Languages/german.lang b/Languages/german.lang index f65e2efd..7e341b4c 100644 --- a/Languages/german.lang +++ b/Languages/german.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: TheRealVisitor\n" "Language-Team: Bertilax, Snoozer, wishmasterf, ZEN.13, TheRealVisitor\n" @@ -1360,9 +1360,6 @@ msgstr "GameCube" msgid "Main Path" msgstr "Haupt Pfad" -msgid "Main tester:" -msgstr "Haupttester:" - msgid "Mar" msgstr "März" @@ -1384,6 +1381,9 @@ msgstr "Motion+ Video" msgid "Mount DVD drive" msgstr "Spiel starten" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "Mehrere Partitionen" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "Nein" @@ -1567,6 +1564,9 @@ msgstr "Offizielle Seite:" msgid "Offset" msgstr "Offset" +msgid "Ok" +msgstr "" + msgid "Only Game 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." 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." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "Tooltip Verzögerung" @@ -2033,8 +2044,8 @@ msgstr "Quickinfo" msgid "Transfer failed" msgstr "Transfer fehlgeschlagen" -msgid "USB Device not found." -msgstr "USB-Gerät nicht gefunden." +msgid "USB Device not initialized." +msgstr "" msgid "USB Loader GX is protected" msgstr "USB Loader GX ist jetzt geschützt." @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "Deinstallieren" @@ -2296,6 +2310,12 @@ msgstr "von" msgid "seconds left" msgstr "Sekunden verbleiben" +#~ msgid "Main tester:" +#~ msgstr "Haupttester:" + +#~ msgid "USB Device not found." +#~ msgstr "USB-Gerät nicht gefunden." + #~ msgid "Boot/Standard" #~ msgstr "Bootstandard (cIOS)" diff --git a/Languages/greek.lang b/Languages/greek.lang index 4a96011b..8ca111b0 100644 --- a/Languages/greek.lang +++ b/Languages/greek.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\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" "Language-Team: nakata6790 (aka0107@gmail.com)\n" "MIME-Version: 1.0\n" @@ -1359,9 +1359,6 @@ msgstr "ÂáóéêÞ ôïðïèåóßá GameCube" msgid "Main Path" msgstr "ÂáóéêÞ ôïðïèåóßá" -msgid "Main tester:" -msgstr "Kýñéïò äïêéìáóôÞò:" - msgid "Mar" msgstr "MÜñôéïò" @@ -1383,6 +1380,9 @@ msgstr "âéíôåï motion+" msgid "Mount DVD drive" msgstr "Öüñôùóç DVD" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "ðïëëáðëÜ partitions" @@ -1434,9 +1434,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "Ï÷é" @@ -1566,6 +1563,9 @@ msgstr "Åðßóçìï Site:" msgid "Offset" msgstr "Offset" +msgid "Ok" +msgstr "" + msgid "Only Game 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." 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." msgstr "" @@ -2023,6 +2026,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "ÊáèõóôÝñçóç åìöÜíéóçò åôéêåôþí" @@ -2032,8 +2043,8 @@ msgstr "ÅôéêÝôåò" msgid "Transfer failed" msgstr "Áíåðéôõ÷Þò ìåôáöïñÜ áñ÷åßùí" -msgid "USB Device not found." -msgstr "Äåí âñÝèçêå ç óõóêåõÞ USB." +msgid "USB Device not initialized." +msgstr "" msgid "USB Loader GX is protected" msgstr "Ôï USB Loader GX åßíáé ðñïóôáôåõìÝíï" @@ -2053,6 +2064,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "ÁðåãêáôÜóôáóç" @@ -2295,6 +2309,12 @@ msgstr "áðü" msgid "seconds left" msgstr "äåõôåñüëåðôá áðïìÝíïõí" +#~ msgid "Main tester:" +#~ msgstr "Kýñéïò äïêéìáóôÞò:" + +#~ msgid "USB Device not found." +#~ msgstr "Äåí âñÝèçêå ç óõóêåõÞ USB." + #~ msgid "Boot/Standard" #~ msgstr "Åêêéíçóç/Âáóéêü" diff --git a/Languages/hungarian.lang b/Languages/hungarian.lang index d2bf67da..7cc08bc6 100644 --- a/Languages/hungarian.lang +++ b/Languages/hungarian.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: Springdale\n" "Language-Team: Tusk, Springdale\n" @@ -1360,9 +1360,6 @@ msgstr "" msgid "Main Path" msgstr "" -msgid "Main tester:" -msgstr "" - msgid "Mar" msgstr "Már" @@ -1384,6 +1381,9 @@ msgstr "" msgid "Mount DVD drive" msgstr "DVD meghajtó felcsatolása" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "Nem" @@ -1567,6 +1564,9 @@ msgstr "Hivatalos oldal:" msgid "Offset" msgstr "" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." msgstr "" +msgid "This Nintendont version does not support games on USB." +msgstr "" + msgid "This game has multiple discs. Please select the disc to launch." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "" @@ -2033,7 +2044,7 @@ msgstr "Súgók" msgid "Transfer failed" msgstr "" -msgid "USB Device not found." +msgid "USB Device not initialized." msgstr "" msgid "USB Loader GX is protected" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "Törlés" diff --git a/Languages/italian.lang b/Languages/italian.lang index 2288970c..12e54b96 100644 --- a/Languages/italian.lang +++ b/Languages/italian.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: xFede\n" "Language-Team: xFede (fedeanto11@gmail.com)\n" @@ -1360,9 +1360,6 @@ msgstr "Percorso GameCube" msgid "Main Path" msgstr "Percorso principale" -msgid "Main tester:" -msgstr "Tester principale:" - msgid "Mar" msgstr "Marzo" @@ -1384,6 +1381,9 @@ msgstr "Video motion+" msgid "Mount DVD drive" msgstr "Avvia DVD" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "Partizioni multiple" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "No" @@ -1567,6 +1564,9 @@ msgstr "Sito ufficiale:" msgid "Offset" msgstr "Offset" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." 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." 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." 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" msgstr "Ritardo suggerimenti" @@ -2033,8 +2044,8 @@ msgstr "Suggerimenti" msgid "Transfer failed" msgstr "Trasferimento fallito" -msgid "USB Device not found." -msgstr "Periferica USB non trovata." +msgid "USB Device not initialized." +msgstr "" msgid "USB Loader GX is protected" msgstr "USB Loader GX è protetto" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "Disinstalla" @@ -2296,6 +2310,12 @@ msgstr "di" msgid "seconds left" msgstr "secondi rimasti" +#~ msgid "Main tester:" +#~ msgstr "Tester principale:" + +#~ msgid "USB Device not found." +#~ msgstr "Periferica USB non trovata." + #~ msgid "Boot/Standard" #~ msgstr "cIOS predefinito" diff --git a/Languages/japanese.lang b/Languages/japanese.lang index b1bbcde0..faa9361a 100644 --- a/Languages/japanese.lang +++ b/Languages/japanese.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: hosigumayuugi\n" "Language-Team: hosigumayuugi\n" @@ -1360,9 +1360,6 @@ msgstr "ゲームキューブ" msgid "Main Path" msgstr "メインパス" -msgid "Main tester:" -msgstr "メインテスター:" - msgid "Mar" msgstr "3月" @@ -1384,6 +1381,9 @@ msgstr "モーション+説明ムービー" msgid "Mount DVD drive" msgstr "DVDを起動" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "マルチ領域" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "いいえ" @@ -1567,6 +1564,9 @@ msgstr "公式サイト:" msgid "Offset" msgstr "代替" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." 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." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "ヒントバルーンの遅延" @@ -2033,8 +2044,8 @@ msgstr "ヒントバルーン" msgid "Transfer failed" msgstr "転送に失敗しました" -msgid "USB Device not found." -msgstr "USB機器が見つかりません" +msgid "USB Device not initialized." +msgstr "" msgid "USB Loader GX is protected" msgstr "GXは保護されています" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "アンインストール" @@ -2296,6 +2310,12 @@ msgstr "中" msgid "seconds left" msgstr "秒で完了" +#~ msgid "Main tester:" +#~ msgstr "メインテスター:" + +#~ msgid "USB Device not found." +#~ msgstr "USB機器が見つかりません" + #~ msgid "Boot/Standard" #~ msgstr "使用するcIOS" diff --git a/Languages/korean.lang b/Languages/korean.lang index 4562924f..2aad008a 100644 --- a/Languages/korean.lang +++ b/Languages/korean.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: nextos@korea.com\n" "Language-Team: \n" @@ -1360,9 +1360,6 @@ msgstr "" msgid "Main Path" msgstr "" -msgid "Main tester:" -msgstr "" - msgid "Mar" msgstr "4월" @@ -1384,6 +1381,9 @@ msgstr "" msgid "Mount DVD drive" msgstr "" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "아니오" @@ -1567,6 +1564,9 @@ msgstr "공식 사이트:" msgid "Offset" msgstr "" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." msgstr "" +msgid "This Nintendont version does not support games on USB." +msgstr "" + msgid "This game has multiple discs. Please select the disc to launch." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "" @@ -2033,7 +2044,7 @@ msgstr "Tooltips" msgid "Transfer failed" msgstr "" -msgid "USB Device not found." +msgid "USB Device not initialized." msgstr "" msgid "USB Loader GX is protected" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "제거" diff --git a/Languages/norwegian.lang b/Languages/norwegian.lang index 0c5e514c..95f01e87 100644 --- a/Languages/norwegian.lang +++ b/Languages/norwegian.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: raschi\n" "Language-Team: raschi\n" @@ -1360,9 +1360,6 @@ msgstr "" msgid "Main Path" msgstr "" -msgid "Main tester:" -msgstr "Hovedtester:" - msgid "Mar" msgstr "" @@ -1384,6 +1381,9 @@ msgstr "Motion+ film" msgid "Mount DVD drive" msgstr "Last DVD stasjon" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "Flere partisjoner" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "Nei" @@ -1567,6 +1564,9 @@ msgstr "Offisiell nettside:" msgid "Offset" msgstr "" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." 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." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "" @@ -2033,7 +2044,7 @@ msgstr "Verktøystips" msgid "Transfer failed" msgstr "Overføring feilet" -msgid "USB Device not found." +msgid "USB Device not initialized." msgstr "" msgid "USB Loader GX is protected" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "" @@ -2296,6 +2310,9 @@ msgstr "av" msgid "seconds left" msgstr "sekunder gjenstår" +#~ msgid "Main tester:" +#~ msgstr "Hovedtester:" + #~ msgid "Boot/Standard" #~ msgstr "Boot/Standard" diff --git a/Languages/polish.lang b/Languages/polish.lang index 9d9ca308..513fec66 100644 --- a/Languages/polish.lang +++ b/Languages/polish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: ziom666 (zadania_prog@vp.pl)\n" "Language-Team: \n" @@ -1360,9 +1360,6 @@ msgstr "" msgid "Main Path" msgstr "" -msgid "Main tester:" -msgstr "" - msgid "Mar" msgstr "Marzec" @@ -1384,6 +1381,9 @@ msgstr "" msgid "Mount DVD drive" msgstr "Uruchom naped DVD" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "Nie" @@ -1567,6 +1564,9 @@ msgstr "Strona oficjalna:" msgid "Offset" msgstr "" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." msgstr "" +msgid "This Nintendont version does not support games on USB." +msgstr "" + msgid "This game has multiple discs. Please select the disc to launch." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "" @@ -2033,7 +2044,7 @@ msgstr "Chmurki z podpowiedziami" msgid "Transfer failed" msgstr "" -msgid "USB Device not found." +msgid "USB Device not initialized." msgstr "" msgid "USB Loader GX is protected" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "Odinstaluj" diff --git a/Languages/portuguese_br.lang b/Languages/portuguese_br.lang index 842609b9..8a73ea54 100644 --- a/Languages/portuguese_br.lang +++ b/Languages/portuguese_br.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: aniemotion\n" "Language-Team: boto12, aniemotion\n" @@ -1360,9 +1360,6 @@ msgstr "" msgid "Main Path" msgstr "" -msgid "Main tester:" -msgstr "" - msgid "Mar" msgstr "" @@ -1384,6 +1381,9 @@ msgstr "" msgid "Mount DVD drive" msgstr "Carregar leitor DVD" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "Não" @@ -1567,6 +1564,9 @@ msgstr "Site Oficial:" msgid "Offset" msgstr "" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." msgstr "" +msgid "This Nintendont version does not support games on USB." +msgstr "" + msgid "This game has multiple discs. Please select the disc to launch." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "" @@ -2033,7 +2044,7 @@ msgstr "Dicas" msgid "Transfer failed" msgstr "" -msgid "USB Device not found." +msgid "USB Device not initialized." msgstr "" msgid "USB Loader GX is protected" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "" diff --git a/Languages/portuguese_pt.lang b/Languages/portuguese_pt.lang index 13970b38..b6584dbf 100644 --- a/Languages/portuguese_pt.lang +++ b/Languages/portuguese_pt.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: pplucky \n" "Language-Team: Sky8000, pplucky\n" @@ -1360,9 +1360,6 @@ msgstr "" msgid "Main Path" msgstr "" -msgid "Main tester:" -msgstr "Tester principal:" - msgid "Mar" msgstr "Mar" @@ -1384,6 +1381,9 @@ msgstr "Vídeo Motion+" msgid "Mount DVD drive" msgstr "Montar Unidade de DVD" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "Partições múltiplas" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "Não" @@ -1567,6 +1564,9 @@ msgstr "Site Oficial:" msgid "Offset" msgstr "Offset" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." 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." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "" @@ -2033,7 +2044,7 @@ msgstr "Dicas" msgid "Transfer failed" msgstr "Transferência falhada" -msgid "USB Device not found." +msgid "USB Device not initialized." msgstr "" msgid "USB Loader GX is protected" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "" @@ -2296,6 +2310,9 @@ msgstr "de" msgid "seconds left" msgstr "segundos restantes" +#~ msgid "Main tester:" +#~ msgstr "Tester principal:" + #~ msgid "Boot/Standard" #~ msgstr "Arranque/Std" diff --git a/Languages/russian.lang b/Languages/russian.lang index b4e71f9c..70c82605 100644 --- a/Languages/russian.lang +++ b/Languages/russian.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: nikolai_ca\n" "Language-Team: Kir, alendit, nikolai_ca\n" @@ -1360,9 +1360,6 @@ msgstr "" msgid "Main Path" msgstr "" -msgid "Main tester:" -msgstr "" - msgid "Mar" msgstr "Мар" @@ -1384,6 +1381,9 @@ msgstr "" msgid "Mount DVD drive" msgstr "Монтировать DVD" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "Нет" @@ -1567,6 +1564,9 @@ msgstr "Оф. сайт:" msgid "Offset" msgstr "" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." msgstr "" +msgid "This Nintendont version does not support games on USB." +msgstr "" + msgid "This game has multiple discs. Please select the disc to launch." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "" @@ -2033,7 +2044,7 @@ msgstr "Подсказки" msgid "Transfer failed" msgstr "" -msgid "USB Device not found." +msgid "USB Device not initialized." msgstr "" msgid "USB Loader GX is protected" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "Деинсталлировать" diff --git a/Languages/schinese.lang b/Languages/schinese.lang index a4f376a2..3498b526 100644 --- a/Languages/schinese.lang +++ b/Languages/schinese.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: \n" "Language-Team: oCameLo\n" @@ -1360,9 +1360,6 @@ msgstr "首选 GameCube 路径" msgid "Main Path" msgstr "首选路径" -msgid "Main tester:" -msgstr "主要测试员:" - msgid "Mar" msgstr "三月" @@ -1384,6 +1381,9 @@ msgstr "移动+视频" msgid "Mount DVD drive" msgstr "挂载 DVD 光驱" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "多分区" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "否" @@ -1567,6 +1564,9 @@ msgstr "官方网址:" msgid "Offset" msgstr "偏移位" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." 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." msgstr "该游戏有多张光盘。请选择想要加载的光盘。" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "提示信息延迟时间" @@ -2033,8 +2044,8 @@ msgstr "提示信息" msgid "Transfer failed" msgstr "传输失败" -msgid "USB Device not found." -msgstr "未找到 USB 设备。" +msgid "USB Device not initialized." +msgstr "" msgid "USB Loader GX is protected" msgstr "USB Loader GX 被锁定" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "删除" @@ -2296,6 +2310,12 @@ msgstr "的" msgid "seconds left" msgstr "剩余秒数" +#~ msgid "Main tester:" +#~ msgstr "主要测试员:" + +#~ msgid "USB Device not found." +#~ msgstr "未找到 USB 设备。" + #~ msgid "Boot/Standard" #~ msgstr "启动/标准" diff --git a/Languages/spanish.lang b/Languages/spanish.lang index 4f29535f..43553bba 100644 --- a/Languages/spanish.lang +++ b/Languages/spanish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: Galen/xFede\n" "Language-Team: Penn, SirPalax, hvy109\n" @@ -1360,9 +1360,6 @@ msgstr "Ruta principal GameCube" msgid "Main Path" msgstr "Ruta principal" -msgid "Main tester:" -msgstr "Probador principal:" - msgid "Mar" msgstr "" @@ -1384,6 +1381,9 @@ msgstr "Vídeo Motion+" msgid "Mount DVD drive" msgstr "Montar unidad DVD" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "Múltiples Particiones" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "" @@ -1567,6 +1564,9 @@ msgstr "Página Oficial:" msgid "Offset" msgstr "" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." 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." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "Retraso de ayuda rapida" @@ -2033,8 +2044,8 @@ msgstr "Descripción" msgid "Transfer failed" msgstr "Transferencia fallida" -msgid "USB Device not found." -msgstr "Dispositivo USB no encontrado" +msgid "USB Device not initialized." +msgstr "" msgid "USB Loader GX is protected" msgstr "USB Loader GX está protegido" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "Desinstalar" @@ -2296,6 +2310,12 @@ msgstr "de" msgid "seconds left" msgstr "segundos restantes" +#~ msgid "Main tester:" +#~ msgstr "Probador principal:" + +#~ msgid "USB Device not found." +#~ msgstr "Dispositivo USB no encontrado" + #~ msgid "Boot/Standard" #~ msgstr "Inicio/Estándar" diff --git a/Languages/swedish.lang b/Languages/swedish.lang index 9804a3f9..0bbdf3e5 100644 --- a/Languages/swedish.lang +++ b/Languages/swedish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: Katsurou\n" "Language-Team: Katsurou, pirateX\n" @@ -1360,9 +1360,6 @@ msgstr "" msgid "Main Path" msgstr "" -msgid "Main tester:" -msgstr "" - msgid "Mar" msgstr "" @@ -1384,6 +1381,9 @@ msgstr "" msgid "Mount DVD drive" msgstr "Montera DVD läsare" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "Nej" @@ -1567,6 +1564,9 @@ msgstr "Officiell sida:" msgid "Offset" msgstr "" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." msgstr "" +msgid "This Nintendont version does not support games on USB." +msgstr "" + msgid "This game has multiple discs. Please select the disc to launch." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "" @@ -2033,7 +2044,7 @@ msgstr "Verktygstips" msgid "Transfer failed" msgstr "" -msgid "USB Device not found." +msgid "USB Device not initialized." msgstr "" msgid "USB Loader GX is protected" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "Avinstallera" diff --git a/Languages/tchinese.lang b/Languages/tchinese.lang index 7190b734..12756aa3 100644 --- a/Languages/tchinese.lang +++ b/Languages/tchinese.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: Jane.H\n" "Language-Team: kyogc, Miller, Mika Li, Jane.H\n" @@ -1360,9 +1360,6 @@ msgstr "主要的 GameCube路徑" msgid "Main Path" msgstr "主要路徑" -msgid "Main tester:" -msgstr "主要測試者:" - msgid "Mar" msgstr "三月" @@ -1384,6 +1381,9 @@ msgstr "移動+視訊" msgid "Mount DVD drive" msgstr "掛載DVD光碟" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "多重磁區" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "否" @@ -1567,6 +1564,9 @@ msgstr "官方網址:" msgid "Offset" msgstr "偏移" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." 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." msgstr "此遊戲為多重光碟。請選擇光碟啟動。" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "提示訊息 延遲時間" @@ -2033,8 +2044,8 @@ msgstr "提示訊息" msgid "Transfer failed" msgstr "傳輸失敗" -msgid "USB Device not found." -msgstr "找不到 USB 裝置" +msgid "USB Device not initialized." +msgstr "" msgid "USB Loader GX is protected" msgstr "USB Loader GX 被上鎖保護" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "移除" @@ -2296,6 +2310,12 @@ msgstr "的" msgid "seconds left" msgstr "剩餘秒數" +#~ msgid "Main tester:" +#~ msgstr "主要測試者:" + +#~ msgid "USB Device not found." +#~ msgstr "找不到 USB 裝置" + #~ msgid "Boot/Standard" #~ msgstr "啟動/標準" diff --git a/Languages/thai.lang b/Languages/thai.lang index 14ff7cb2..72bdd232 100644 --- a/Languages/thai.lang +++ b/Languages/thai.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: Nitro_subzero \n" "Language-Team: Nitro_subzero\n" @@ -1360,9 +1360,6 @@ msgstr "" msgid "Main Path" msgstr "" -msgid "Main tester:" -msgstr "" - msgid "Mar" msgstr "มีค." @@ -1384,6 +1381,9 @@ msgstr "" msgid "Mount DVD drive" msgstr "เชื่อม DVD ไดร์ฟ" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "ไม่" @@ -1567,6 +1564,9 @@ msgstr "เวบไซต์อย่างเป็นทางการ:" msgid "Offset" msgstr "" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." msgstr "" +msgid "This Nintendont version does not support games on USB." +msgstr "" + msgid "This game has multiple discs. Please select the disc to launch." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "" @@ -2033,7 +2044,7 @@ msgstr "คำแนะนำ" msgid "Transfer failed" msgstr "" -msgid "USB Device not found." +msgid "USB Device not initialized." msgstr "" msgid "USB Loader GX is protected" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "ถอนการติดตั้ง" diff --git a/Languages/turkish.lang b/Languages/turkish.lang index 0fa38660..59d201cb 100644 --- a/Languages/turkish.lang +++ b/Languages/turkish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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" "Last-Translator: omercigingelini\n" "Language-Team: omercigingelini\n" @@ -1360,9 +1360,6 @@ msgstr "" msgid "Main Path" msgstr "" -msgid "Main tester:" -msgstr "" - msgid "Mar" msgstr "" @@ -1384,6 +1381,9 @@ msgstr "" msgid "Mount DVD drive" msgstr "DVD sürücüsü bağla" +msgid "Mount USB at launch" +msgstr "" + msgid "Multiple Partitions" msgstr "" @@ -1435,9 +1435,6 @@ msgstr "" msgid "Nintendont Loader Path" msgstr "" -msgid "Nintendont currently only supports GameCube games on SD card." -msgstr "" - msgid "No" msgstr "Hayır" @@ -1567,6 +1564,9 @@ msgstr "Resmi Site:" msgid "Offset" msgstr "" +msgid "Ok" +msgstr "" + msgid "Only Game Partition" 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." msgstr "" +msgid "This Nintendont version does not support games on USB." +msgstr "" + msgid "This game has multiple discs. Please select the disc to launch." msgstr "" @@ -2024,6 +2027,14 @@ msgstr "" msgid "To run GameCube games with Nintendont you need the boot.dol file in your Nintendont Loader Path." 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" msgstr "" @@ -2033,7 +2044,7 @@ msgstr "Yardımlar" msgid "Transfer failed" msgstr "" -msgid "USB Device not found." +msgid "USB Device not initialized." msgstr "" msgid "USB Loader GX is protected" @@ -2054,6 +2065,9 @@ msgstr "" msgid "USBloaderGX couldn't write Nintendont config file. Launch Nintendont anyway?" msgstr "" +msgid "USBloaderGX r1218 is required for Nintendont Alpha v0.1. Please update your Nintendont boot.dol version." +msgstr "" + msgid "Uninstall" msgstr "Kaldır" diff --git a/source/GameCube/GCGames.h b/source/GameCube/GCGames.h index fd942c91..a343d91a 100644 --- a/source/GameCube/GCGames.h +++ b/source/GameCube/GCGames.h @@ -47,8 +47,7 @@ public: vector & GetHeaders(void) { - if(HeaderList.empty()) - LoadAllGames(); + LoadAllGames(); return HeaderList; } diff --git a/source/GameCube/NIN_Config.h b/source/GameCube/NIN_Config.h index 7f8cfc4a..5b57365a 100644 --- a/source/GameCube/NIN_Config.h +++ b/source/GameCube/NIN_Config.h @@ -20,17 +20,19 @@ #include #define NIN_MAGIC 0x01070CF6 -#define NIN_CFG_VERSION 0x00000001 +#define NIN_CFG_VERSION 0x00000002 typedef struct NIN_CFG { u32 Magicbytes; // 0x01070CF6 - u32 Version; // 0x00000001 + u32 Version; // 0x00000002 since r42 u32 Config; u32 VideoMode; u32 Language; char GamePath[255]; char CheatPath[255]; + u32 MaxPads; + u32 GameID; } NIN_CFG; enum ninconfig @@ -39,13 +41,13 @@ enum ninconfig NIN_CFG_DEBUGGER = (1<<1), // Only for Wii Version NIN_CFG_DEBUGWAIT = (1<<2), // Only for Wii Version NIN_CFG_MEMCARDEMU = (1<<3), - NIN_CFG_GAME_PATH = (1<<4), - NIN_CFG_CHEAT_PATH = (1<<5), - NIN_CFG_FORCE_WIDE = (1<<6), - NIN_CFG_FORCE_PROG = (1<<7), - NIN_CFG_AUTO_BOOT = (1<<8), - NIN_CFG_HID = (1<<9), - NIN_CFG_OSREPORT = (1<<10), // Only for Wii Version + NIN_CFG_CHEAT_PATH = (1<<4), + NIN_CFG_FORCE_WIDE = (1<<5), + NIN_CFG_FORCE_PROG = (1<<6), + NIN_CFG_AUTO_BOOT = (1<<7), + NIN_CFG_HID = (1<<8), + NIN_CFG_OSREPORT = (1<<9), + NIN_CFG_USB = (1<<10), }; enum ninvideomode @@ -59,8 +61,10 @@ enum ninvideomode NIN_VID_FORCE_PAL50 = (1<<0), NIN_VID_FORCE_PAL60 = (1<<1), 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 diff --git a/source/StartUpProcess.cpp b/source/StartUpProcess.cpp index e28e7bd8..9a5e6475 100644 --- a/source/StartUpProcess.cpp +++ b/source/StartUpProcess.cpp @@ -211,17 +211,32 @@ int StartUpProcess::Execute() Settings.EntryIOS = IOS_GetVersion(); // 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" : ""); - if(IosLoader::LoadAppCios() < 0) + SetTextf("Failed loading any cIOS. Trying with IOS58 + AHB access..."); + + // 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); - // 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()); SetupPads(); @@ -229,12 +244,21 @@ int StartUpProcess::Execute() SetTextf("Initialize sd card\n"); DeviceHandler::Instance()->MountSD(); - SetTextf("Initialize usb device\n"); - USBSpinUp(); - DeviceHandler::Instance()->MountAllUSB(false); - 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 game settings...%s\n", GameSettings.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 DeviceHandler::DestroyInstance(); - USBStorage2_Deinit(); + if(Settings.USBAutoMount == ON) + USBStorage2_Deinit(); // Shut down pads WPAD_Shutdown(); @@ -260,8 +285,11 @@ int StartUpProcess::Execute() // Re-Mount devices SetTextf("Reinitializing devices...\n"); DeviceHandler::Instance()->MountSD(); - USBSpinUp(); - DeviceHandler::Instance()->MountAllUSB(false); + if(Settings.USBAutoMount == ON) + { + USBSpinUp(); + DeviceHandler::Instance()->MountAllUSB(false); + } // Start pads again SetupPads(); @@ -273,14 +301,20 @@ int StartUpProcess::Execute() } else if(Settings.USBPort == 1 && USBStorage2_GetPort() != Settings.USBPort) { - SetTextf("Changing USB Port to %i\n", Settings.USBPort); - DeviceHandler::Instance()->UnMountAllUSB(); - DeviceHandler::Instance()->MountAllUSB(); + if(Settings.USBAutoMount == ON) + { + SetTextf("Changing USB Port to %i\n", Settings.USBPort); + DeviceHandler::Instance()->UnMountAllUSB(); + DeviceHandler::Instance()->MountAllUSB(); + } } else if(Settings.USBPort == 2) { - SetTextf("Mounting USB Port to 1\n"); - DeviceHandler::Instance()->MountUSBPort1(); + if(Settings.USBAutoMount == ON) + { + SetTextf("Mounting USB Port to 1\n"); + DeviceHandler::Instance()->MountUSBPort1(); + } } // enable isfs permission if using IOS+AHB or Hermes v4 diff --git a/source/menu/GameBrowseMenu.cpp b/source/menu/GameBrowseMenu.cpp index 40d4a4be..378133a4 100644 --- a/source/menu/GameBrowseMenu.cpp +++ b/source/menu/GameBrowseMenu.cpp @@ -1280,7 +1280,17 @@ int GameBrowseMenu::MainLoop() 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(); if(Settings.ShowFreeSpace) diff --git a/source/network/http.c b/source/network/http.c index 3597c2c7..67c765a2 100644 --- a/source/network/http.c +++ b/source/network/http.c @@ -1,7 +1,9 @@ #include "http.h" #include "../svnrev.h" +#include "gecko.h" extern char incommingIP[50]; +static u8 retryloop = 0; /** * 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; } + + //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 - 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]; sprintf(header, headerformat, path, domain, domain, GetRev()); + //gprintf("\nHTTP Request:\n"); + //gprintf("%s\n",header); //Do the request and get the response send_message(connection, header); struct block response = read_message(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) unsigned char *filestart = NULL; u32 filesize = 0; u32 i; + char newURL[512]; + bool redirect = false; + 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') { filestart = response.data + 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; } } + 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) { //printf("HTTP Response was without a file\n"); diff --git a/source/prompts/PromptWindows.cpp b/source/prompts/PromptWindows.cpp index 2b5e7d80..357a3106 100644 --- a/source/prompts/PromptWindows.cpp +++ b/source/prompts/PromptWindows.cpp @@ -253,7 +253,7 @@ void WindowCredits() creditsMusic->Play(); bool exit = false; - int i = 0; + u32 i = 0; int y = 20; float oldFontScale = Settings.FontScaleFactor; Settings.FontScaleFactor = 1.0f; @@ -273,23 +273,22 @@ void WindowCredits() starImg.SetAlignment(ALIGN_LEFT, ALIGN_TOP); starImg.SetPosition(505, 350); - const int numEntries = 26; - std::vector txt(numEntries); + std::vector txt; const u8 *creditsFont = Resources::GetFile("font.ttf"); u32 creditsFontSize = Resources::GetFileSize("font.ttf"); - txt[i] = new GuiText(tr( "Credits" ), 28, ( GXColor ) {255, 255, 255, 255}); - txt[i]->SetAlignment(ALIGN_CENTER, ALIGN_TOP); - txt[i]->SetPosition(0, 8); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + GuiText * currentTxt = new GuiText(tr( "Credits" ), 28, ( GXColor ) {255, 255, 255, 255}); + currentTxt->SetAlignment(ALIGN_CENTER, ALIGN_TOP); + currentTxt->SetPosition(0, 8); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); char SvnRev[80]; #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 - 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 char IosInfo[80] = ""; @@ -329,6 +328,8 @@ void WindowCredits() 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; @@ -355,190 +356,190 @@ void WindowCredits() } // Header - Top left - txt[i] = new GuiText(GCInfo2, 16, ( GXColor ) {255, 255, 255, 255}); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(0, strlen(GCInfo) > 0 ? y-10 : y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(GCInfo2, 16, ( GXColor ) {255, 255, 255, 255}); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(0, strlen(GCInfo) > 0 ? y-10 : y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); // Header - Bottom left - txt[i] = new GuiText(GCInfo, 16, ( GXColor ) {255, 255, 255, 255}); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(0, y+6); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(GCInfo, 16, ( GXColor ) {255, 255, 255, 255}); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(0, y+6); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); // Header - Top right - txt[i] = new GuiText(SvnRev, 16, ( GXColor ) {255, 255, 255, 255}); - txt[i]->SetAlignment(ALIGN_RIGHT, ALIGN_TOP); - txt[i]->SetPosition(0, (info || currentMIOS > DEFAULT_MIOS) ? y-10 : y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(SvnRev, 16, ( GXColor ) {255, 255, 255, 255}); + currentTxt->SetAlignment(ALIGN_RIGHT, ALIGN_TOP); + currentTxt->SetPosition(0, (info || currentMIOS > DEFAULT_MIOS) ? y-10 : y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); // Header - Bottom right - txt[i] = new GuiText(IosInfo, 16, ( GXColor ) {255, 255, 255, 255}); - txt[i]->SetAlignment(ALIGN_RIGHT, ALIGN_TOP); - txt[i]->SetPosition(0, y+6); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(IosInfo, 16, ( GXColor ) {255, 255, 255, 255}); + currentTxt->SetAlignment(ALIGN_RIGHT, ALIGN_TOP); + currentTxt->SetPosition(0, y+6); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 34; - txt[i] = new GuiText("USB Loader GX", 24, ( GXColor ) {255, 255, 255, 255}); - txt[i]->SetAlignment(ALIGN_CENTER, ALIGN_TOP); - txt[i]->SetPosition(0, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText("USB Loader GX", 24, ( GXColor ) {255, 255, 255, 255}); + currentTxt->SetAlignment(ALIGN_CENTER, ALIGN_TOP); + currentTxt->SetPosition(0, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 24; - txt[i] = new GuiText(tr( "Official Site:" ), 20, ( GXColor ) {255, 255, 255, 255}); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(10, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(tr( "Official Site:" ), 20, ( GXColor ) {255, 255, 255, 255}); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(10, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); - txt[i] = new GuiText("http://code.google.com/p/usbloader-gui/", 20, ( GXColor ) {255, 255, 255, 255}); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(160, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText("http://code.google.com/p/usbloader-gui/", 20, ( GXColor ) {255, 255, 255, 255}); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(160, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 22; 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:" )); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(10, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(tr( "Coding:" )); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(10, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); - txt[i] = new GuiText("Dimok / nIxx / giantpune / ardi"); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(160, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText("Cyan / Dimok / nIxx / giantpune / ardi"); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(160, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 20; - txt[i] = new GuiText("hungyip84 / DrayX7 / lustar / r-win"); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(160, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText("hungyip84 / DrayX7 / lustar / r-win"); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(160, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 22; char text[100]; - txt[i] = new GuiText(tr( "Design:" )); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(10, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(tr( "Design:" )); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(10, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); - txt[i] = new GuiText("cyrex / NeoRame"); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(160, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText("cyrex / NeoRame"); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(160, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 22; - txt[i] = new GuiText(tr( "Main tester:" )); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(10, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(""); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(10, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); - txt[i] = new GuiText("Cyan"); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(160, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(""); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(160, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 22; - txt[i] = new GuiText(tr( "Big thanks to:" )); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(10, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(tr( "Big thanks to:" )); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(10, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); sprintf(text, "lustar %s", tr( "for GameTDB and hosting covers / disc images" )); - txt[i] = new GuiText(text); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(160, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(text); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(160, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 20; sprintf(text, "Cyan and Shano56 %s", tr( "for their work on the wiki page" )); - txt[i] = new GuiText(text); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(160, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(text); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(160, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 20; sprintf(text, "Kinyo %s", tr( "and translators for language files updates" )); - txt[i] = new GuiText(text); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(160, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(text); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(160, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 20; sprintf(text, "Deak Phreak %s", tr( "for hosting the themes" )); - txt[i] = new GuiText(text); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(160, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(text); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(160, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 24; - txt[i] = new GuiText(tr( "Special thanks to:" )); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(10, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(tr( "Special thanks to:" )); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(10, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 20; sprintf(text, "Waninkoko, Kwiirk & Hermes %s", tr( "for the USB Loader source" )); - txt[i] = new GuiText(text); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(10, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(text); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(10, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 20; sprintf(text, "Tantric %s", tr( "for his awesome tool LibWiiGui" )); - txt[i] = new GuiText(text); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(10, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(text); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(10, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 20; sprintf(text, "Fishears/Nuke %s", tr( "for Ocarina" )); - txt[i] = new GuiText(text); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(10, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(text); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(10, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 20; sprintf(text, "WiiPower %s", tr( "for diverse patches" )); - txt[i] = new GuiText(text); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(10, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(text); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(10, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 20; sprintf(text, "Oggzee %s", tr( "for FAT/NTFS support" )); - txt[i] = new GuiText(text); - txt[i]->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - txt[i]->SetPosition(10, y); - txt[i]->SetFont(creditsFont, creditsFontSize); - i++; + currentTxt = new GuiText(text); + currentTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); + currentTxt->SetPosition(10, y); + currentTxt->SetFont(creditsFont, creditsFontSize); + txt.push_back(currentTxt); y += 20; - for (i = 0; i < numEntries; i++) + for (i = 0; i < txt.size(); i++) creditsWindowBox.Append(txt[i]); creditsWindow.Append(&creditsWindowBox); @@ -578,7 +579,7 @@ void WindowCredits() HaltGui(); mainWindow->Remove(&creditsWindow); mainWindow->SetState(STATE_DEFAULT); - for (i = 0; i < numEntries; i++) + for (i = 0; i < txt.size(); i++) { delete txt[i]; txt[i] = NULL; @@ -1368,7 +1369,13 @@ bool NetworkInitPrompt() 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) { if (!CreateSubfolder(Settings.TxtCheatcodespath)) @@ -1462,7 +1469,63 @@ int CodeDownload(const char *id) char codeurl[250]; 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); if (file.data != NULL) diff --git a/source/settings/CSettings.cpp b/source/settings/CSettings.cpp index 92f9d0dc..7309ba81 100644 --- a/source/settings/CSettings.cpp +++ b/source/settings/CSettings.cpp @@ -78,7 +78,7 @@ void CSettings::SetDefault() strlcpy(NandEmuChanPath, NandEmuPath, sizeof(NandEmuChanPath)); strlcpy(GameCubePath, "usb1:/games/", sizeof(GameCubePath)); 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; language_path[0] = 0; ogg_path[0] = 0; @@ -133,6 +133,7 @@ void CSettings::SetDefault() MultiplePartitions = OFF; BlockIOSReload = AUTO; USBPort = 0; + USBAutoMount = ON; CacheTitles = ON; 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 @@ -346,6 +347,7 @@ bool CSettings::Save() fprintf(file, "HomeMenu = %d\n", HomeMenu); fprintf(file, "MultiplePartitions = %d\n", MultiplePartitions); fprintf(file, "USBPort = %d\n", USBPort); + fprintf(file, "USBAutoMount = %d\n", USBAutoMount); fprintf(file, "CacheTitles = %d\n", CacheTitles); fprintf(file, "BlockIOSReload = %d\n", BlockIOSReload); fprintf(file, "WSFactor = %0.3f\n", WSFactor); @@ -642,6 +644,11 @@ bool CSettings::SetSetting(char *name, char *value) USBPort = atoi(value); return true; } + else if (strcmp(name, "USBAutoMount") == 0) + { + USBAutoMount = atoi(value); + return true; + } else if (strcmp(name, "CacheTitles") == 0) { CacheTitles = atoi(value); diff --git a/source/settings/CSettings.h b/source/settings/CSettings.h index 7a5e6cdf..97fbe334 100644 --- a/source/settings/CSettings.h +++ b/source/settings/CSettings.h @@ -132,6 +132,7 @@ class CSettings short HomeMenu; short MultiplePartitions; short USBPort; + short USBAutoMount; short CacheTitles; short BlockIOSReload; u32 InstallPartitions; diff --git a/source/settings/menus/HardDriveSM.cpp b/source/settings/menus/HardDriveSM.cpp index 87bc5544..cae2c4d1 100644 --- a/source/settings/menus/HardDriveSM.cpp +++ b/source/settings/menus/HardDriveSM.cpp @@ -75,6 +75,7 @@ HardDriveSM::HardDriveSM() Options->SetName(Idx++, "%s", tr( "Game/Install Partition" )); Options->SetName(Idx++, "%s", tr( "Multiple Partitions" )); 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( "Game Split Size" )); Options->SetName(Idx++, "%s", tr( "Install Partitions" )); @@ -108,6 +109,7 @@ HardDriveSM::~HardDriveSM() Settings.partition = 0; } + WBFS_Init(WBFS_DEVICE_USB); if(Settings.MultiplePartitions) WBFS_OpenAll(); else @@ -143,6 +145,9 @@ void HardDriveSM::SetOptionValues() else Options->SetValue(Idx++, "%i", NewSettingsUSBPort); + //! Settings: Auto Mount USB at launch + Options->SetValue(Idx++, "%s", tr( OnOffText[Settings.USBAutoMount] )); + //! Settings: Install directories Options->SetValue(Idx++, "%s", tr( InstallToText[Settings.InstallToDir] )); @@ -179,6 +184,11 @@ int HardDriveSM::GetMenuInternal() //! Settings: Game/Install Partition 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 int fs_type = 0; int ios = IOS_GetVersion(); @@ -214,6 +224,12 @@ int HardDriveSM::GetMenuInternal() NewSettingsUSBPort = 0; } + //! Settings: Auto mount USB at launch + else if (ret == ++Idx) + { + if (++Settings.USBAutoMount >= MAX_ON_OFF) Settings.USBAutoMount = 0; + } + //! Settings: Install directories else if (ret == ++Idx) { diff --git a/source/system/runtimeiospatch.c b/source/system/runtimeiospatch.c index ecff8ccc..66650576 100644 --- a/source/system/runtimeiospatch.c +++ b/source/system/runtimeiospatch.c @@ -10,6 +10,8 @@ // Copyright (C) 2010 Joseph Jordan // Copyright (C) 2012-2013 damysteryman // Copyright (C) 2012-2013 Christopher Bratusek +// Copyright (C) 2013 DarkMatterCore +// Copyright (C) 2014 megazig #include #include @@ -21,10 +23,8 @@ #define MEM_REG_BASE 0xd8b4000 #define MEM_PROT (MEM_REG_BASE + 0x20a) -//const u8 check_tmd_patch1[] = { 0x23, 0x01, 0x42, 0x5B }; - -static void disable_memory_protection() { +static inline void disable_memory_protection(void) { 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 }; -const u8 isfs_permissions_old[] = { 0x42, 0x8B, 0xD0, 0x01, 0x25, 0x66 }; -const u8 isfs_permissions_patch[] = { 0x42, 0x8B, 0xE0, 0x01, 0x25, 0x66 }; -const u8 setuid_old[] = { 0xD1, 0x2A, 0x1C, 0x39 }; -const u8 setuid_patch[] = { 0x46, 0xC0 }; -const u8 es_identify_old[] = { 0x28, 0x03, 0xD1, 0x23 }; -const u8 es_identify_patch[] = { 0x00, 0x00 }; -const u8 hash_old[] = { 0x20, 0x07, 0x4B, 0x0B }; -const u8 hash_patch[] = { 0x00 }; -const u8 new_hash_old[] = { 0x20, 0x07, 0x4B, 0x0B }; -const u8 addticket_vers_check[] = { 0xD2, 0x01, 0x4E, 0x56 }; -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 }; -const u8 es_set_ahbprot_patch[] = { 0x01 }; +static const u8 isfs_permissions_old[] = { 0x42, 0x8B, 0xD0, 0x01, 0x25, 0x66 }; +static const u8 isfs_permissions_patch[] = { 0x42, 0x8B, 0xE0, 0x01, 0x25, 0x66 }; +static const u8 setuid_old[] = { 0xD1, 0x2A, 0x1C, 0x39 }; +static const u8 setuid_patch[] = { 0x46, 0xC0 }; +static const u8 es_identify_old[] = { 0x28, 0x03, 0xD1, 0x23 }; +static const u8 es_identify_patch[] = { 0x00, 0x00 }; +static const u8 hash_old[] = { 0x20, 0x07, 0x23, 0xA2 }; +static const u8 hash_patch[] = { 0x00 }; +static const u8 new_hash_old[] = { 0x20, 0x07, 0x4B, 0x0B }; +static const u8 addticket_vers_check[] = { 0xD2, 0x01, 0x4E, 0x56 }; +static const u8 addticket_patch[] = { 0xE0 }; +static 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_patch[] = { 0x01 }; //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 }; -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 }; -const u8 ES_OpenTitleContent1_patch[] = { 0x9D, 0x05, 0x42, 0x9D, 0xE0, 0x03 }; -const u8 ES_OpenTitleContent2_old[] = { 0xD4, 0x01, 0x4C, 0x36, 0xE0, 0x3B }; -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, - 0x0E, 0x68, 0x9B, 0x2B, 0x00, 0xD0, 0x03, 0x29, 0x00, 0xDB, 0x01, - 0x29, 0x0F, 0xDD, 0x01 }; -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, - 0x29, 0x0F, 0xE0, 0x01 }; -const u8 ES_CloseContent_old[] = { 0xB5, 0x10, 0x4B, 0x10, 0x68, 0x9B, 0x2B, 0x00, 0xD0, - 0x03, 0x29, 0x00, 0xDB, 0x01, 0x29, 0x0F, 0xDD, 0x01 }; -const u8 ES_CloseContent_patch[] = { 0xB5, 0x10, 0x4B, 0x10, 0x68, 0x9B, 0x2B, 0x00, 0x46, - 0xC0, 0x29, 0x00, 0x46, 0xC0, 0x29, 0x0F, 0xE0, 0x01 }; -const u8 ES_TitleVersionCheck_old[] = { 0xD2, 0x01, 0x4E, 0x56 }; -const u8 ES_TitleVersionCheck_patch[] = { 0xE0, 0x01, 0x4E, 0x56 }; -const u8 ES_TitleDeleteCheck_old[] = { 0xD8, 0x00, 0x4A, 0x04 }; -const u8 ES_TitleDeleteCheck_patch[] = { 0xE0, 0x00, 0x4A, 0x04 }; +static const u8 MEM2_prot_old[] = { 0xB5, 0x00, 0x4B, 0x09, 0x22, 0x01, 0x80, 0x1A, 0x22, 0xF0 }; +static const u8 MEM2_prot_patch[] = { 0xB5, 0x00, 0x4B, 0x09, 0x22, 0x00, 0x80, 0x1A, 0x22, 0xF0 }; +static const u8 ES_OpenTitleContent1_old[] = { 0x9D, 0x05, 0x42, 0x9D, 0xD0, 0x03 }; +static const u8 ES_OpenTitleContent1_patch[] = { 0x9D, 0x05, 0x42, 0x9D, 0xE0, 0x03 }; +static const u8 ES_OpenTitleContent2_old[] = { 0xD4, 0x01, 0x4C, 0x36, 0xE0, 0x3B }; +static const u8 ES_OpenTitleContent2_patch[] = { 0xE0, 0x01, 0x4C, 0x36, 0xE0, 0x3B }; +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, + 0x29, 0x0F, 0xDD, 0x01 }; +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, + 0x29, 0x0F, 0xE0, 0x01 }; +static const u8 ES_CloseContent_old[] = { 0xB5, 0x10, 0x4B, 0x10, 0x68, 0x9B, 0x2B, 0x00, 0xD0, + 0x03, 0x29, 0x00, 0xDB, 0x01, 0x29, 0x0F, 0xDD, 0x01 }; +static const u8 ES_CloseContent_patch[] = { 0xB5, 0x10, 0x4B, 0x10, 0x68, 0x9B, 0x2B, 0x00, 0x46, + 0xC0, 0x29, 0x00, 0x46, 0xC0, 0x29, 0x0F, 0xE0, 0x01 }; +static const u8 ES_TitleVersionCheck_old[] = { 0xD2, 0x01, 0x4E, 0x56 }; +static const u8 ES_TitleVersionCheck_patch[] = { 0xE0, 0x01, 0x4E, 0x56 }; +static const u8 ES_TitleDeleteCheck_old[] = { 0xD8, 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 -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 -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 -const u8 Kill_AntiSysTitleInstallv3_pt3_old[] = { 0x68, 0xFB, 0x2B, 0x00, 0xDB, 0x01 }; -const u8 Kill_AntiSysTitleInstallv3_pt3_patch[] = { 0x68, 0xFB, 0x2B, 0x00, 0xDB, 0x10 }; +//Following set of patches made by damysteryman for use with Wii U's vWii +static const u8 Kill_AntiSysTitleInstallv3_pt1_old[] = { 0x68, 0x1A, 0x2A, 0x01, 0xD0, 0x05 }; // Make sure that the pt1 +static const u8 Kill_AntiSysTitleInstallv3_pt1_patch[] = { 0x68, 0x1A, 0x2A, 0x01, 0x46, 0xC0 }; // patch is applied twice. -dmm +static 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_patch[] = { 0x46, 0xC0, 0x33, 0x06, 0x42, 0x9A, 0xE0, 0x01 }; // is also applied twice. -dmm +static const u8 Kill_AntiSysTitleInstallv3_pt3_old[] = { 0x68, 0xFB, 0x2B, 0x00, 0xDB, 0x01 }; +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; - u32 found = 0; + u8 found = 0; if(verbose) printf(" Patching %-30s", name); 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) { if (AHBPROT_DISABLED) { 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); if (ret) return ret; @@ -141,19 +134,19 @@ s32 IosPatch_RUNTIME(bool wii, bool sciifii, bool vwii, bool verbose) { disable_memory_protection(); if(wii) { - if(verbose) - printf(">> Applying standard Wii patches:\n"); + if(verbose) 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("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_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("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(verbose) - printf(">> Applying Sciifii patches:\n"); + if(verbose) 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("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); @@ -164,13 +157,7 @@ s32 IosPatch_RUNTIME(bool wii, bool sciifii, bool vwii, bool verbose) { } if(vwii) { - if(verbose) - 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);*/ + if(verbose) printf(">> Applying vWii patches:\n"); 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_pt3", Kill_AntiSysTitleInstallv3_pt3_old, sizeof(Kill_AntiSysTitleInstallv3_pt3_old), Kill_AntiSysTitleInstallv3_pt3_patch, sizeof(Kill_AntiSysTitleInstallv3_pt3_patch), 0, verbose); diff --git a/source/system/runtimeiospatch.h b/source/system/runtimeiospatch.h index 31059ec3..167b4caa 100644 --- a/source/system/runtimeiospatch.h +++ b/source/system/runtimeiospatch.h @@ -7,30 +7,141 @@ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License 2.0 for more details. -// Copyright (C) 2010 Joseph Jordan -// Copyright (C) 2012 damysteryman -// Copyright (C) 2012 Christopher Bratusek +// Copyright (C) 2010 Joseph Jordan +// Copyright (C) 2012-2013 damysteryman +// Copyright (C) 2012-2013 Christopher Bratusek +// 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 - #ifdef __cplusplus - extern "C" { - #endif +/** + * This function applies patches on current IOS + * @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. + * @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 - } - #endif +/** + * This function combines IosPatch_AHBPROT + IOS_ReloadIOS + IosPatch_RUNTIME + * @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 diff --git a/source/usbloader/GameBooter.cpp b/source/usbloader/GameBooter.cpp index 635feced..af494df9 100644 --- a/source/usbloader/GameBooter.cpp +++ b/source/usbloader/GameBooter.cpp @@ -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. 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; } + + // 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 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)) { // 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")); return 0; } - + gprintf("NIN: Loader path = %s \n",NIN_loader_path); + // Check Nintendont version + u32 NIN_cfg_version = NIN_CFG_VERSION; u8 *buffer = NULL; u32 filesize = 0; 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') { - 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; } } @@ -995,19 +1109,6 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr) 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. 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 bool bootDisc2 = false; if(gameHdr->disc_no == 0) @@ -1059,7 +1218,7 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr) // Nintendont Config file path 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); // Nintendont Config file settings @@ -1076,11 +1235,10 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr) // Magic and CFG_Version for Nintendont nin_config->Magicbytes = NIN_MAGIC; - nin_config->Version = NIN_CFG_VERSION; + nin_config->Version = NIN_cfg_version; // Game path - nin_config->Config |= NIN_CFG_GAME_PATH; strncpy(nin_config->GamePath, gamePath, sizeof(nin_config->GamePath)); // 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 if(!IosLoader::isWiiU()) 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); + // 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 if(ninVideoChoice == DML_VIDEO_NONE) // No video mode { @@ -1164,11 +1330,8 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr) } } gprintf("NIN: Language 0x%08x \n", nin_config->Language); - - // Set Sram flags - PatchSram(languageChoice, true, nin_config->Config & NIN_CFG_FORCE_PROG); - //write config file to game's partition root. + //write config file to nintendont's partition root. FILE *fp = fopen(NINCfgPath, "wb"); if (fp) { @@ -1183,6 +1346,23 @@ int GameBooter::BootNintendont(struct discHdr *gameHdr) 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 return !(BootHomebrew(NIN_loader_path) < 0); } diff --git a/source/usbloader/MountGamePartition.cpp b/source/usbloader/MountGamePartition.cpp index 006a0ba9..e4aace8e 100644 --- a/source/usbloader/MountGamePartition.cpp +++ b/source/usbloader/MountGamePartition.cpp @@ -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" )); if (choice == 0) { - Settings.LoaderMode = MODE_ALL; + Settings.LoaderMode = MODE_NANDCHANNELS; return 0; } else if(choice == 1) @@ -130,9 +130,10 @@ int MountGamePartition(bool ShowGUI) if (wbfsinit < 0) { 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 { @@ -149,7 +150,7 @@ int MountGamePartition(bool ShowGUI) if(ShowGUI) PartitionChoice(); else - Settings.LoaderMode = MODE_ALL; + Settings.LoaderMode = MODE_NANDCHANNELS; } } } diff --git a/source/usbloader/wbfs/wbfs_fat.cpp b/source/usbloader/wbfs/wbfs_fat.cpp index 3ca812b5..f37eae17 100644 --- a/source/usbloader/wbfs/wbfs_fat.cpp +++ b/source/usbloader/wbfs/wbfs_fat.cpp @@ -744,7 +744,7 @@ wbfs_t* Wbfs_Fat::CreatePart(u8 *id, char *path) // 1 cluster less than 4gb 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; else if(Settings.GameSplit == GAMESPLIT_2GB) diff --git a/svnrev.sh b/svnrev.sh index 20b4579c..d61d40e3 100644 --- a/svnrev.sh +++ b/svnrev.sh @@ -53,17 +53,17 @@ cat < ./HBC/META.XML --usbport=0 // remove this line to enable arguments --> - + Loads games from USB-devices USB Loader GX is a libwiigui based USB iso loader with a wii-like GUI. You can install games to your HDDs and boot them with shorter loading times. 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. 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 Validation: Cyan and many others -Issue management: Cyan / Dimok +Issue management: Cyan WiiTDB / Hosting covers: Lustar USBLoader sources: Waninkoko, Kwiirk, Hermes cIOS maintenance: davebaol, xabby666, XFlak and Rodries