mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-11-22 03:09:15 +01:00
* added nand channel emulation (big thanks to TriiForce guys and Miigotu for laying out the foundation)
* added direct list of emu nand channels without activating emu nand (for speed up) * removed autoclose of search bar and changed the search engine to have both methods * added setting for switching "Beginning" and "Content" search methods and a quick switch button on search window * added autocomplete if only one search character is available and more than one match * added seperate path and setting for emu nand channels/saves * added caching of emu nand channel titles * fixed a few alignment issues when activating emu nand (thanks daveboal) * some minor clean ups TODO/Next Rev: * add channels banner sounds * remove unneeded game settings options on channels
This commit is contained in:
parent
164889c917
commit
c51b2304c2
@ -2,8 +2,8 @@
|
|||||||
<app version="1">
|
<app version="1">
|
||||||
<name> USB Loader GX</name>
|
<name> USB Loader GX</name>
|
||||||
<coder>USB Loader GX Team</coder>
|
<coder>USB Loader GX Team</coder>
|
||||||
<version>2.3 r1127</version>
|
<version>2.3 r1128</version>
|
||||||
<release_date>201111111858</release_date>
|
<release_date>201111112324</release_date>
|
||||||
<!-- // remove this line to enable arguments
|
<!-- // remove this line to enable arguments
|
||||||
<arguments>
|
<arguments>
|
||||||
<arg>--ios=250</arg>
|
<arg>--ios=250</arg>
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-10-22 12:10+0200\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||||
"Last-Translator: David Jelinek (djelinek@hotmail.com) e->e,r->r,u->u, c->c \n"
|
"Last-Translator: David Jelinek (djelinek@hotmail.com) e->e,r->r,u->u, c->c \n"
|
||||||
"Language-Team: r1056 - last version on http://djelinek.sweb.cz/_USBLoderGX/czech.lang \n"
|
"Language-Team: r1056 - last version on http://djelinek.sweb.cz/_USBLoderGX/czech.lang \n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Zpet do HBC nebo Wii nabídky"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Hudba na pozadí"
|
msgstr "Hudba na pozadí"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Velké díky pro:"
|
msgstr "Velké díky pro:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr ""
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr "Zmena cesty prehrávání"
|
msgstr "Zmena cesty prehrávání"
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "Soubor s cheaty je prázdný"
|
msgstr "Soubor s cheaty je prázdný"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr ""
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "Konzole musí být odemcena pro tuto zmenu"
|
msgstr "Konzole musí být odemcena pro tuto zmenu"
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Pokracovat pri instalaci hry"
|
msgstr "Pokracovat pri instalaci hry"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Nahrát soubor z: %s ?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "Spustit tento DOL jako náhradní DOL?"
|
msgstr "Spustit tento DOL jako náhradní DOL?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr "Nstavení spoustení"
|
msgstr "Nstavení spoustení"
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr "Mód hudební smycky"
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Hlasitost hudby"
|
msgstr "Hlasitost hudby"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr ""
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Žádný"
|
msgstr "Žádný"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Sporic obrazovky"
|
msgstr "Sporic obrazovky"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "Vyber"
|
msgstr "Vyber"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-10-22 12:10+0200\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||||
"Last-Translator: Fox888[dk]\n"
|
"Last-Translator: Fox888[dk]\n"
|
||||||
"Language-Team: [dk]\n"
|
"Language-Team: [dk]\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Tilbage til HBC eller Wii-menuen"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Baggrundsmusik"
|
msgstr "Baggrundsmusik"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "En stor tak til:"
|
msgstr "En stor tak til:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr "Kategorier:"
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr "Ændre sti til musik"
|
msgstr "Ændre sti til musik"
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "Cheatfilen er tom"
|
msgstr "Cheatfilen er tom"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr "Konsollen skal være låst op for at kunne bruge dette."
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "Konsollen skal være låst op for ændre dette."
|
msgstr "Konsollen skal være låst op for ændre dette."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Fortsæt med at installere spillet?"
|
msgstr "Fortsæt med at installere spillet?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Indlæs fil fra %s ?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "Indlæs denne DOL som alternativ DOL?"
|
msgstr "Indlæs denne DOL som alternativ DOL?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr "Loader Indstillinger"
|
msgstr "Loader Indstillinger"
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr "Musik i løkke"
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Lydstyrke"
|
msgstr "Lydstyrke"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr "Sti til Nand Emu."
|
msgstr "Sti til Nand Emu."
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr "Nand emulering er kun mulig med d2x cIOS"
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr "Nand emulering virker kun med FAT/FAT32 partitioner!"
|
msgstr "Nand emulering virker kun med FAT/FAT32 partitioner!"
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Ingen"
|
msgstr "Ingen"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Pauseskærm"
|
msgstr "Pauseskærm"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "Vælg"
|
msgstr "Vælg"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-10-22 12:10+0200\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2011-06-30 14:22+0100\n"
|
"PO-Revision-Date: 2011-06-30 14:22+0100\n"
|
||||||
"Last-Translator: glowy\n"
|
"Last-Translator: glowy\n"
|
||||||
"Language-Team: tj_cool, glowy\n"
|
"Language-Team: tj_cool, glowy\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Terug naar HBC of Wii Menu"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Achtergrondmuziek"
|
msgstr "Achtergrondmuziek"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Grote dank aan:"
|
msgstr "Grote dank aan:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr "Categorieën:"
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr "Verander afspeel locatie"
|
msgstr "Verander afspeel locatie"
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "Cheatbestand is leeg"
|
msgstr "Cheatbestand is leeg"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr "Console moet worden vrijgegeven om dit te kunnen gebruiken."
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "Console moet worden vrijgegeven om te wijzigen."
|
msgstr "Console moet worden vrijgegeven om te wijzigen."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Installatie spel voortzetten?"
|
msgstr "Installatie spel voortzetten?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Laad bestand van %s ?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "Deze DOL als alt DOL gebruiken?"
|
msgstr "Deze DOL als alt DOL gebruiken?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr "Loader Instellingen"
|
msgstr "Loader Instellingen"
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr "Muziek Herhaal Mode"
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Muziekvolume"
|
msgstr "Muziekvolume"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr ""
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Geen"
|
msgstr "Geen"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Schermbeveiliging"
|
msgstr "Schermbeveiliging"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "Selecteer"
|
msgstr "Selecteer"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-10-22 12:10+0200\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
@ -202,6 +202,9 @@ msgstr ""
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr ""
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr ""
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr ""
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr ""
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr ""
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-10-22 12:10+0200\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||||
"Last-Translator: c64rmx\n"
|
"Last-Translator: c64rmx\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Takaisin HBC:hen tai Wii Menuun"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Taustamusiikki"
|
msgstr "Taustamusiikki"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Isot kiitokset:"
|
msgstr "Isot kiitokset:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr ""
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "Kooditiedosto tyhjä"
|
msgstr "Kooditiedosto tyhjä"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr ""
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "Avaa konsolin lukitus muokataksesi asetuksia."
|
msgstr "Avaa konsolin lukitus muokataksesi asetuksia."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Jatka pelin asennusta?"
|
msgstr "Jatka pelin asennusta?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Lataa tiedosto: %s ?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "Lataa tämä vaihtoehtoisesti tämä dol?"
|
msgstr "Lataa tämä vaihtoehtoisesti tämä dol?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr ""
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Voimakkuus"
|
msgstr "Voimakkuus"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr ""
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Ei kumpikaan"
|
msgstr "Ei kumpikaan"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Näytönsäästäjä"
|
msgstr "Näytönsäästäjä"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-11-08 20:25+0100\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||||
"Last-Translator: Cyan\n"
|
"Last-Translator: Cyan\n"
|
||||||
"Language-Team: Badablek, Amour, ikya, Cyan & Kin8\n"
|
"Language-Team: Badablek, Amour, ikya, Cyan & Kin8\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Retour HBC / Menu Wii"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Fond sonore"
|
msgstr "Fond sonore"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Grand merci à:"
|
msgstr "Grand merci à:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr "Catégories:"
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr "Changer dossier"
|
msgstr "Changer dossier"
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "Fichier de triche vide"
|
msgstr "Fichier de triche vide"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr "La console doit être déverrouillée."
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "La console doit être déverrouillée."
|
msgstr "La console doit être déverrouillée."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Continuer l'installation ?"
|
msgstr "Continuer l'installation ?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Charger le fichier de: %s ?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "Charger comme DOL alternatif ?"
|
msgstr "Charger comme DOL alternatif ?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr "Paramètres du Loader"
|
msgstr "Paramètres du Loader"
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr "Type de boucle"
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Volume musique"
|
msgstr "Volume musique"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr "Dossier Émulation Nand"
|
msgstr "Dossier Émulation Nand"
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr "L'Émulation Nand n'est disponible qu'avec le cIOS D2X!"
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr "L'Émulation Nand ne fonctionne qu'avec une partition FAT/FAT32!"
|
msgstr "L'Émulation Nand ne fonctionne qu'avec une partition FAT/FAT32!"
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Aucun"
|
msgstr "Aucun"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr "La sauvegarde de ce jeu est peut-être existante."
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Économiseur d'écran"
|
msgstr "Économiseur d'écran"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "Choisir"
|
msgstr "Choisir"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-10-22 16:15+0200\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2010-07-03 17:35-0800\n"
|
"PO-Revision-Date: 2010-07-03 17:35-0800\n"
|
||||||
"Last-Translator: TheRealVisitor\n"
|
"Last-Translator: TheRealVisitor\n"
|
||||||
"Language-Team: Bertilax, Snoozer, wishmasterf, ZEN.13, TheRealVisitor\n"
|
"Language-Team: Bertilax, Snoozer, wishmasterf, ZEN.13, TheRealVisitor\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Zurück zum Homebrewkanal oder Wii Menü"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Hintergrundmusik"
|
msgstr "Hintergrundmusik"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Großen Dank an:"
|
msgstr "Großen Dank an:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr "Kategorien:"
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr "Pfad ändern"
|
msgstr "Pfad ändern"
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "Cheatdatei ist leer"
|
msgstr "Cheatdatei ist leer"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr "Gerät muss für diese Nutzung entsperrt werden."
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "Konsole muss zum Bearbeiten entsperrt werden."
|
msgstr "Konsole muss zum Bearbeiten entsperrt werden."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Fortfahren um Spiel zu installieren?"
|
msgstr "Fortfahren um Spiel zu installieren?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Datei von %s laden?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "Diese DOL als Alternative DOL laden?"
|
msgstr "Diese DOL als Alternative DOL laden?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr "Loader Einstellungen"
|
msgstr "Loader Einstellungen"
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr "HGM Wiederholung"
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Musik Lautstärke"
|
msgstr "Musik Lautstärke"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr "Nand Emu Pfad"
|
msgstr "Nand Emu Pfad"
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr "Nand Emulation ist nur für D2X cIOS verfügbar!"
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr "Nand Emulation funktionier nut mit FAT/FAT32 Partitionen!"
|
msgstr "Nand Emulation funktionier nut mit FAT/FAT32 Partitionen!"
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Keine"
|
msgstr "Keine"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr "Möglicherweise existiert kein Spielstand für dieses Spiel."
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Bildschirmschoner"
|
msgstr "Bildschirmschoner"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "Auswählen"
|
msgstr "Auswählen"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-11-08 20:25+0100\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-12-29 11:05+0100\n"
|
"PO-Revision-Date: 2009-12-29 11:05+0100\n"
|
||||||
"Last-Translator: Springdale\n"
|
"Last-Translator: Springdale\n"
|
||||||
"Language-Team: Tusk, Springdale\n"
|
"Language-Team: Tusk, Springdale\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Visszatérés a HBC-be vagy Wii Menübe"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Háttérzene"
|
msgstr "Háttérzene"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Köszönet:"
|
msgstr "Köszönet:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr ""
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr "Csatornák"
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "A cheat-fájl üres"
|
msgstr "A cheat-fájl üres"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr ""
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "A konzol zárolva, ezért nem változtatható meg."
|
msgstr "A konzol zárolva, ezért nem változtatható meg."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Játék telepítésének folytatása?"
|
msgstr "Játék telepítésének folytatása?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Fájl betöltése innen: %s ?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "DOL betöltése alternatív DOL-ként?"
|
msgstr "DOL betöltése alternatív DOL-ként?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr ""
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Zene Hangerõ"
|
msgstr "Zene Hangerõ"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr ""
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Egyik sem"
|
msgstr "Egyik sem"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Képernyõkimélõ"
|
msgstr "Képernyõkimélõ"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "Válassz"
|
msgstr "Válassz"
|
||||||
|
|
||||||
@ -1965,9 +1989,6 @@ msgstr "hátralévõ másodperc"
|
|||||||
#~ msgid "Back to Wii Menu"
|
#~ msgid "Back to Wii Menu"
|
||||||
#~ msgstr "Visszatérés a Wii Menübe"
|
#~ msgstr "Visszatérés a Wii Menübe"
|
||||||
|
|
||||||
#~ msgid "Channels"
|
|
||||||
#~ msgstr "Csatornák"
|
|
||||||
|
|
||||||
#~ msgid "Checking existing artwork"
|
#~ msgid "Checking existing artwork"
|
||||||
#~ msgstr "Meglévõ képek ellenõrzése"
|
#~ msgstr "Meglévõ képek ellenõrzése"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-11-08 20:25+0100\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2011-09-11 12:19+0100\n"
|
"PO-Revision-Date: 2011-09-11 12:19+0100\n"
|
||||||
"Last-Translator: xFede, Bovirus \n"
|
"Last-Translator: xFede, Bovirus \n"
|
||||||
"Language-Team: Cambo\n"
|
"Language-Team: Cambo\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Torna a HBC/Menu Wii"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Musica di sottofondo"
|
msgstr "Musica di sottofondo"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Grazie mille a:"
|
msgstr "Grazie mille a:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr "Categorie:"
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr "Cambia Percorso Musica"
|
msgstr "Cambia Percorso Musica"
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "Il file dei trucchi è vuoto"
|
msgstr "Il file dei trucchi è vuoto"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr "La Wii deve essere sbloccata per usare questa opzione."
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "La Wii deve essere sbloccata per modificarla."
|
msgstr "La Wii deve essere sbloccata per modificarla."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Proseguire con l'installarazione del gioco?"
|
msgstr "Proseguire con l'installarazione del gioco?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Caricare il file da: %s ?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "Usare questo DOL come DOL alternativo?"
|
msgstr "Usare questo DOL come DOL alternativo?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr "Impostazioni Loader"
|
msgstr "Impostazioni Loader"
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr "Ripeti Musica Sottof."
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Volume Musica"
|
msgstr "Volume Musica"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr "Percorso NAND Emulata"
|
msgstr "Percorso NAND Emulata"
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr "L'emulazione della NAND è disponibile solo con i cIOS d2x!"
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr "L'emulazione della NAND funziona solo con le partizioni FAT/FAT32!"
|
msgstr "L'emulazione della NAND funziona solo con le partizioni FAT/FAT32!"
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Neanche"
|
msgstr "Neanche"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr "Il salvataggio potrebbe non esistere per questo gioco."
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Salvaschermo"
|
msgstr "Salvaschermo"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "Seleziona"
|
msgstr "Seleziona"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-11-08 20:25+0100\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||||
"Last-Translator: hosigumayuugi\n"
|
"Last-Translator: hosigumayuugi\n"
|
||||||
"Language-Team: hosigumayuugi, papa, ichiroling\n"
|
"Language-Team: hosigumayuugi, papa, ichiroling\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "HBC/Wiiメニューへ"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "BGM"
|
msgstr "BGM"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "協力:"
|
msgstr "協力:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr "カテゴリ:"
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr "パスの変更"
|
msgstr "パスの変更"
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "チートファイルがありません"
|
msgstr "チートファイルがありません"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr "これを使うにはロックの解除が必要です"
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "変更にはロックの解除が必要です"
|
msgstr "変更にはロックの解除が必要です"
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "このゲームをインストールしますか?"
|
msgstr "このゲームをインストールしますか?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "%sからファイルをロードしますか?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "このDOLを代替DOLとしてロードしますか?"
|
msgstr "このDOLを代替DOLとしてロードしますか?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr "ローダーの設定"
|
msgstr "ローダーの設定"
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr "ループ機能"
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "BGMの音量"
|
msgstr "BGMの音量"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr "NANDエミュ"
|
msgstr "NANDエミュ"
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr "NANDエミュレーションはd2x cIOSのみで動作します!"
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr "NANDエミュレーションはFAT/FAT32領域のみで動作します!"
|
msgstr "NANDエミュレーションはFAT/FAT32領域のみで動作します!"
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "非表示"
|
msgstr "非表示"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr "このゲームのセーブはありません"
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "スクリーンセーバー"
|
msgstr "スクリーンセーバー"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "選択"
|
msgstr "選択"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-11-08 20:25+0100\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||||
"Last-Translator: nextos@korea.com\n"
|
"Last-Translator: nextos@korea.com\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
@ -202,6 +202,9 @@ msgstr "홈브류 메뉴 또는 Wii 메뉴로"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "배경음악"
|
msgstr "배경음악"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "감사 :"
|
msgstr "감사 :"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr ""
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "치트화일 내용없음"
|
msgstr "치트화일 내용없음"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr ""
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "변경하려면 콘솔 잠김을 해제하세요."
|
msgstr "변경하려면 콘솔 잠김을 해제하세요."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "계속 설치하겠습니까?"
|
msgstr "계속 설치하겠습니까?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "화일 로드는 %s 에서?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "이 DOL화일을 alternate DOL로 로딩할까요?"
|
msgstr "이 DOL화일을 alternate DOL로 로딩할까요?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr ""
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "음량"
|
msgstr "음량"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr ""
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "표시 없음"
|
msgstr "표시 없음"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "화면보호기"
|
msgstr "화면보호기"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-11-08 20:25+0100\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||||
"Last-Translator: raschi\n"
|
"Last-Translator: raschi\n"
|
||||||
"Language-Team: raschi\n"
|
"Language-Team: raschi\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Tilbake til HBC eller Wii meny"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Bakgrunnsmusikk"
|
msgstr "Bakgrunnsmusikk"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Stor takk til:"
|
msgstr "Stor takk til:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr "Kategorier:"
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr "Endre spill sti"
|
msgstr "Endre spill sti"
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "Juksefil er tom"
|
msgstr "Juksefil er tom"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr "Konsoll må være opplåst for å bruke dette."
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "Konsoll må være opplåst for å modifisere."
|
msgstr "Konsoll må være opplåst for å modifisere."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Fortsett å installere spill?"
|
msgstr "Fortsett å installere spill?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Start fil fra: %s ?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "Last denne DOL som alternativ DOL?"
|
msgstr "Last denne DOL som alternativ DOL?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr "Loader innstillinger"
|
msgstr "Loader innstillinger"
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr "Musikk loop modus"
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Musikk volum"
|
msgstr "Musikk volum"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr ""
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Ingen"
|
msgstr "Ingen"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Skjermbeskytter"
|
msgstr "Skjermbeskytter"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "Velg"
|
msgstr "Velg"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-11-08 20:25+0100\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||||
"Last-Translator: ziom666 (zadania_prog@vp.pl)\n"
|
"Last-Translator: ziom666 (zadania_prog@vp.pl)\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Powrot do HBC/Wii Menu"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Muzyka w tle"
|
msgstr "Muzyka w tle"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Podziekowania dla"
|
msgstr "Podziekowania dla"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr ""
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr "Kanaly"
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "Plik z kodami pusty"
|
msgstr "Plik z kodami pusty"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr ""
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "Aby zmodyfikowac, odblokuj konsole"
|
msgstr "Aby zmodyfikowac, odblokuj konsole"
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Kontynuowac instalacje?"
|
msgstr "Kontynuowac instalacje?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Zaladowac plik z: %s ?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "Zaladowac ten DOL jako alternatywnt?"
|
msgstr "Zaladowac ten DOL jako alternatywnt?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr ""
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Poziom glosnosci"
|
msgstr "Poziom glosnosci"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr ""
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "zadne"
|
msgstr "zadne"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Wygaszacz ekranu"
|
msgstr "Wygaszacz ekranu"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "Wybierz"
|
msgstr "Wybierz"
|
||||||
|
|
||||||
@ -1968,9 +1992,6 @@ msgstr "sekund pozostalo"
|
|||||||
#~ msgid "Back to Wii Menu"
|
#~ msgid "Back to Wii Menu"
|
||||||
#~ msgstr "Powrit do Wii Menu"
|
#~ msgstr "Powrit do Wii Menu"
|
||||||
|
|
||||||
#~ msgid "Channels"
|
|
||||||
#~ msgstr "Kanaly"
|
|
||||||
|
|
||||||
#~ msgid "Checking existing artwork"
|
#~ msgid "Checking existing artwork"
|
||||||
#~ msgstr "Sprawdzam istniejace prace graficzne"
|
#~ msgstr "Sprawdzam istniejace prace graficzne"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-11-08 20:25+0100\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-10-23 18:52+0200\n"
|
"PO-Revision-Date: 2009-10-23 18:52+0200\n"
|
||||||
"Last-Translator: aniemotion\n"
|
"Last-Translator: aniemotion\n"
|
||||||
"Language-Team: boto12, aniemotion\n"
|
"Language-Team: boto12, aniemotion\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Voltar ao Loader/Menu do Wii"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Música de fundo"
|
msgstr "Música de fundo"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Agradecimentos:"
|
msgstr "Agradecimentos:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr "Categorias:"
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr "Alterar Caminho para Play"
|
msgstr "Alterar Caminho para Play"
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "arquivo de truques vazio"
|
msgstr "arquivo de truques vazio"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr "Configuração deve está destravada para habilitar esta."
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "É necessário desbloquear a configuração para poder modificar o parâmetro."
|
msgstr "É necessário desbloquear a configuração para poder modificar o parâmetro."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Continuar instalação do jogo?"
|
msgstr "Continuar instalação do jogo?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Carregar arquivo de: %s ?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "Carregar este DOL como DOL alternativo?"
|
msgstr "Carregar este DOL como DOL alternativo?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr "Modo Repetição de Música"
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Volume da Música"
|
msgstr "Volume da Música"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr ""
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Nenhum"
|
msgstr "Nenhum"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Proteção de tela"
|
msgstr "Proteção de tela"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "selecionar"
|
msgstr "selecionar"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-10-22 12:10+0200\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2011-11-03 11:00+0000\n"
|
"PO-Revision-Date: 2011-11-03 11:00+0000\n"
|
||||||
"Last-Translator: pplucky <pplucky@gmail.com>\n"
|
"Last-Translator: pplucky <pplucky@gmail.com>\n"
|
||||||
"Language-Team: Sky8000, pplucky\n"
|
"Language-Team: Sky8000, pplucky\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Voltar ao HBC ou Menu Wii"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Música de fundo"
|
msgstr "Música de fundo"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Agradecimentos:"
|
msgstr "Agradecimentos:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr "Categorias:"
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr "Alterar Caminho de Músicas"
|
msgstr "Alterar Caminho de Músicas"
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "Ficheiro de batota vazio"
|
msgstr "Ficheiro de batota vazio"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr "Consola tem de estar desbloqueada para usar isto."
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "Consola deve estar desbloqueada para modificar o parâmetro."
|
msgstr "Consola deve estar desbloqueada para modificar o parâmetro."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Continuar instalação do jogo?"
|
msgstr "Continuar instalação do jogo?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Carregar ficheiro de: %s ?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "Carregar este DOL como DOL alternativo?"
|
msgstr "Carregar este DOL como DOL alternativo?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr "Definições do Loader"
|
msgstr "Definições do Loader"
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr "Modo de Repetição"
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Volume Música"
|
msgstr "Volume Música"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr "Caminho Nand Emu"
|
msgstr "Caminho Nand Emu"
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr "Emulação Nand apenas disponível em cIOS D2X!"
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr "Emulação Nand apenas funciona em partições FAT/FAT32!"
|
msgstr "Emulação Nand apenas funciona em partições FAT/FAT32!"
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Nenhum"
|
msgstr "Nenhum"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr "Gravação pode não existir para este jogo."
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Protector de ecrã"
|
msgstr "Protector de ecrã"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "Seleccionar"
|
msgstr "Seleccionar"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-11-08 20:25+0100\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||||
"Last-Translator: nikolai_ca\n"
|
"Last-Translator: nikolai_ca\n"
|
||||||
"Language-Team: Kir, alendit, nikolai_ca\n"
|
"Language-Team: Kir, alendit, nikolai_ca\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Вернуться в HBC или меню Wii"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Фоновая музыка"
|
msgstr "Фоновая музыка"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Большое спасибо:"
|
msgstr "Большое спасибо:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr ""
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr "Каналы"
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "Файл с читами пустой"
|
msgstr "Файл с читами пустой"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr ""
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "Для изменения консоль должна быть разблокирована."
|
msgstr "Для изменения консоль должна быть разблокирована."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Продолжить установку игры ?"
|
msgstr "Продолжить установку игры ?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Загрузить файл из %s ?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "Загрузить этот DOL в качестве альтернативного ?"
|
msgstr "Загрузить этот DOL в качестве альтернативного ?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr ""
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Громкость"
|
msgstr "Громкость"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr ""
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Ни то, ни другое"
|
msgstr "Ни то, ни другое"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Скринсейвер"
|
msgstr "Скринсейвер"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1968,9 +1992,6 @@ msgstr "секунд осталось"
|
|||||||
#~ msgid "Back to Wii Menu"
|
#~ msgid "Back to Wii Menu"
|
||||||
#~ msgstr "Вернуться в меню Wii"
|
#~ msgstr "Вернуться в меню Wii"
|
||||||
|
|
||||||
#~ msgid "Channels"
|
|
||||||
#~ msgstr "Каналы"
|
|
||||||
|
|
||||||
#~ msgid "Checking existing artwork"
|
#~ msgid "Checking existing artwork"
|
||||||
#~ msgstr "Проверка существующей графики"
|
#~ msgstr "Проверка существующей графики"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-11-08 20:25+0100\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||||
"Last-Translator: knife.hu kavid emul8ion\n"
|
"Last-Translator: knife.hu kavid emul8ion\n"
|
||||||
"Language-Team: kavid\n"
|
"Language-Team: kavid\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "返回 HBC 或 Wii 系统菜单"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "背景音乐"
|
msgstr "背景音乐"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "非常感谢:"
|
msgstr "非常感谢:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr ""
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr "更改游戏路径"
|
msgstr "更改游戏路径"
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr "频道"
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "作弊码文件是空的"
|
msgstr "作弊码文件是空的"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr ""
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "需解锁以开启设定功能."
|
msgstr "需解锁以开启设定功能."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "继续安装游戏?"
|
msgstr "继续安装游戏?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "从%s 加载文件?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "加载这个 DOL 作为 ALT DOL?"
|
msgstr "加载这个 DOL 作为 ALT DOL?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr "Loader设置"
|
msgstr "Loader设置"
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr "音乐循环模式"
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "音量"
|
msgstr "音量"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr ""
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "全不"
|
msgstr "全不"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "屏幕保护"
|
msgstr "屏幕保护"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "选择"
|
msgstr "选择"
|
||||||
|
|
||||||
@ -1956,9 +1980,6 @@ msgstr "剩余秒数"
|
|||||||
#~ msgid "Back to Wii Menu"
|
#~ msgid "Back to Wii Menu"
|
||||||
#~ msgstr "返回 Wii 系统菜单"
|
#~ msgstr "返回 Wii 系统菜单"
|
||||||
|
|
||||||
#~ msgid "Channels"
|
|
||||||
#~ msgstr "频道"
|
|
||||||
|
|
||||||
#~ msgid "Checking existing artwork"
|
#~ msgid "Checking existing artwork"
|
||||||
#~ msgstr "检测已存在的插图"
|
#~ msgstr "检测已存在的插图"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-11-08 15:25+0200\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2011-07-25 16:40+0200\n"
|
"PO-Revision-Date: 2011-07-25 16:40+0200\n"
|
||||||
"Last-Translator: Galen/xFede\n"
|
"Last-Translator: Galen/xFede\n"
|
||||||
"Language-Team: Penn, SirPalax, hvy109\n"
|
"Language-Team: Penn, SirPalax, hvy109\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Volver a HBC o Menú Wii"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Música de fondo"
|
msgstr "Música de fondo"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Gracias a:"
|
msgstr "Gracias a:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr "Categorías:"
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr "Cambiar Ruta"
|
msgstr "Cambiar Ruta"
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "El archivo de Trucos está vacio"
|
msgstr "El archivo de Trucos está vacio"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr "Debes desbloquear la consola para poder usar esto."
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "Debes desbloquear la consola para modificarlo."
|
msgstr "Debes desbloquear la consola para modificarlo."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "¿Continuar instalando juego?"
|
msgstr "¿Continuar instalando juego?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "¿Cargar el archivo desde: %s ?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "¿Cargar este DOL como DOL Alternativo?"
|
msgstr "¿Cargar este DOL como DOL Alternativo?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr "Configuración del Cargador"
|
msgstr "Configuración del Cargador"
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr "Modo Bucle Musical"
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Volumen de la Música"
|
msgstr "Volumen de la Música"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr "Ruta Emul. Nand"
|
msgstr "Ruta Emul. Nand"
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr "¡La emulación Nand solo está disponible en cIOS D2X!"
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr "¡La emulación Nand solo funciona en particiones FAT/FAT32!"
|
msgstr "¡La emulación Nand solo funciona en particiones FAT/FAT32!"
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Ninguno"
|
msgstr "Ninguno"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr "Puede no existir partida guardada para este juego"
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Salvapantallas"
|
msgstr "Salvapantallas"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "Seleccionar"
|
msgstr "Seleccionar"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-11-08 20:25+0100\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2010-01-19 17:39+0200\n"
|
"PO-Revision-Date: 2010-01-19 17:39+0200\n"
|
||||||
"Last-Translator: Katsurou\n"
|
"Last-Translator: Katsurou\n"
|
||||||
"Language-Team: Katsurou, pirateX\n"
|
"Language-Team: Katsurou, pirateX\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "Tillbaka till HBC eller Wii-Menyn"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Bakgrundsmusik"
|
msgstr "Bakgrundsmusik"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Stort tack till:"
|
msgstr "Stort tack till:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr ""
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr "Ändra spel sökväg"
|
msgstr "Ändra spel sökväg"
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr "Kannaler"
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "Fuskfilen är blank"
|
msgstr "Fuskfilen är blank"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr ""
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "Konsolen måste vara upplåst för att kunna ändra det."
|
msgstr "Konsolen måste vara upplåst för att kunna ändra det."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Fortsätt installera spel?"
|
msgstr "Fortsätt installera spel?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Ladda fil från: %s?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "Ladda denna DOL som alternativ DOL?"
|
msgstr "Ladda denna DOL som alternativ DOL?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr "Musik Återuppspelningsläge"
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Volym"
|
msgstr "Volym"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr ""
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Inget"
|
msgstr "Inget"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Skärmsläckare"
|
msgstr "Skärmsläckare"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "Välj"
|
msgstr "Välj"
|
||||||
|
|
||||||
@ -1968,9 +1992,6 @@ msgstr "sekunder kvar"
|
|||||||
#~ msgid "Back to Wii Menu"
|
#~ msgid "Back to Wii Menu"
|
||||||
#~ msgstr "Tillbaka till Wii-menyn"
|
#~ msgstr "Tillbaka till Wii-menyn"
|
||||||
|
|
||||||
#~ msgid "Channels"
|
|
||||||
#~ msgstr "Kannaler"
|
|
||||||
|
|
||||||
#~ msgid "Checking existing artwork"
|
#~ msgid "Checking existing artwork"
|
||||||
#~ msgstr "Kontrollera befintliga konstverk"
|
#~ msgstr "Kontrollera befintliga konstverk"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-11-08 20:25+0100\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2010-02-15 21:00+0800\n"
|
"PO-Revision-Date: 2010-02-15 21:00+0800\n"
|
||||||
"Last-Translator: Jane.H\n"
|
"Last-Translator: Jane.H\n"
|
||||||
"Language-Team: kyogc, Miller, Mika Li, Jane.H\n"
|
"Language-Team: kyogc, Miller, Mika Li, Jane.H\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "返回 HBC 或 Wii 系統選單"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "背景音樂"
|
msgstr "背景音樂"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "非常感謝:"
|
msgstr "非常感謝:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr "類別:"
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr "變更執行路徑"
|
msgstr "變更執行路徑"
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "金手指檔是空的"
|
msgstr "金手指檔是空的"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr "控制台必須解鎖才可使用此項。"
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "控制台須解鎖才可變更設定。"
|
msgstr "控制台須解鎖才可變更設定。"
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "繼續安裝遊戲?"
|
msgstr "繼續安裝遊戲?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "檔案載入位置: %s"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "載入這個 DOL 作為替代 DOL?"
|
msgstr "載入這個 DOL 作為替代 DOL?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr "Loader設定"
|
msgstr "Loader設定"
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr "音樂循環模式"
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "音樂音量"
|
msgstr "音樂音量"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr "Nand 模擬器路徑"
|
msgstr "Nand 模擬器路徑"
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr "Nand 模擬器僅可用D2X cIOS!"
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr "Nand 模擬器僅能在 FAT/FAT32 格式磁區執行!"
|
msgstr "Nand 模擬器僅能在 FAT/FAT32 格式磁區執行!"
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "皆不顯示"
|
msgstr "皆不顯示"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr "這個遊戲的遊戲存檔可能不存在。"
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "螢幕保護"
|
msgstr "螢幕保護"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "選取"
|
msgstr "選取"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-10-22 12:10+0200\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||||
"Last-Translator: Nitro_subzero \n"
|
"Last-Translator: Nitro_subzero \n"
|
||||||
"Language-Team: Nitro_subzero\n"
|
"Language-Team: Nitro_subzero\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "กลับไป HBC หรือ เมนู Wii"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "ดนตรีเบื้องหลัง"
|
msgstr "ดนตรีเบื้องหลัง"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "ขอขอบคุณ:"
|
msgstr "ขอขอบคุณ:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr ""
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr "แชนแนล"
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "ไฟล์สูตรโกง ว่างเปล่า"
|
msgstr "ไฟล์สูตรโกง ว่างเปล่า"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr ""
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "ปลดล๊อคคอนโซลก่อน ถึงจะทำการเปลี่ยนแปลงได้"
|
msgstr "ปลดล๊อคคอนโซลก่อน ถึงจะทำการเปลี่ยนแปลงได้"
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "ทำต่อ เพื่อติดตั้งเกมส์?"
|
msgstr "ทำต่อ เพื่อติดตั้งเกมส์?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "โหลดไฟล์จาก: %s ?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "โหลด DOL นี้เป็น alternate DOL?"
|
msgstr "โหลด DOL นี้เป็น alternate DOL?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr ""
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "ความดังเสียงเพลง"
|
msgstr "ความดังเสียงเพลง"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr ""
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "ไม่ทั้งสอง"
|
msgstr "ไม่ทั้งสอง"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "รักษาหน้าจอ"
|
msgstr "รักษาหน้าจอ"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1926,9 +1950,6 @@ msgstr "วินาทีที่เหลือ"
|
|||||||
#~ msgid "Back to Wii Menu"
|
#~ msgid "Back to Wii Menu"
|
||||||
#~ msgstr "กลับไป เมนู Wii"
|
#~ msgstr "กลับไป เมนู Wii"
|
||||||
|
|
||||||
#~ msgid "Channels"
|
|
||||||
#~ msgstr "แชนแนล"
|
|
||||||
|
|
||||||
#~ msgid "Checking existing artwork"
|
#~ msgid "Checking existing artwork"
|
||||||
#~ msgstr "ตรวจหาอาร์ตเวิรค์"
|
#~ msgstr "ตรวจหาอาร์ตเวิรค์"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: USB Loader GX\n"
|
"Project-Id-Version: USB Loader GX\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-10-22 12:10+0200\n"
|
"POT-Creation-Date: 2011-11-12 18:58+0100\n"
|
||||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||||
"Last-Translator: omercigingelini\n"
|
"Last-Translator: omercigingelini\n"
|
||||||
"Language-Team: omercigingelini\n"
|
"Language-Team: omercigingelini\n"
|
||||||
@ -202,6 +202,9 @@ msgstr "HBC veya Wii Menüye dönüş"
|
|||||||
msgid "Backgroundmusic"
|
msgid "Backgroundmusic"
|
||||||
msgstr "Arkaplan müziği"
|
msgstr "Arkaplan müziği"
|
||||||
|
|
||||||
|
msgid "Beginning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Big thanks to:"
|
msgid "Big thanks to:"
|
||||||
msgstr "Teşekkürler:"
|
msgstr "Teşekkürler:"
|
||||||
|
|
||||||
@ -314,6 +317,9 @@ msgstr ""
|
|||||||
msgid "Change Play Path"
|
msgid "Change Play Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr "Kanallar"
|
||||||
|
|
||||||
msgid "Cheatfile is blank"
|
msgid "Cheatfile is blank"
|
||||||
msgstr "Hile dosyası boş"
|
msgstr "Hile dosyası boş"
|
||||||
|
|
||||||
@ -363,6 +369,9 @@ msgstr ""
|
|||||||
msgid "Console should be unlocked to modify it."
|
msgid "Console should be unlocked to modify it."
|
||||||
msgstr "Degiştirmek için konsolun kilidini açmalısın."
|
msgstr "Degiştirmek için konsolun kilidini açmalısın."
|
||||||
|
|
||||||
|
msgid "Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Continue to install game?"
|
msgid "Continue to install game?"
|
||||||
msgstr "Oyunu kurmaya devam et?"
|
msgstr "Oyunu kurmaya devam et?"
|
||||||
|
|
||||||
@ -1006,6 +1015,9 @@ msgstr "Dosya %s 'ten yüklensin mi?"
|
|||||||
msgid "Load this DOL as alternate DOL?"
|
msgid "Load this DOL as alternate DOL?"
|
||||||
msgstr "Bu DOL alternatif DOL olarak mı yüklensin?"
|
msgstr "Bu DOL alternatif DOL olarak mı yüklensin?"
|
||||||
|
|
||||||
|
msgid "Loader Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Loader Settings"
|
msgid "Loader Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1063,6 +1075,12 @@ msgstr ""
|
|||||||
msgid "Music Volume"
|
msgid "Music Volume"
|
||||||
msgstr "Ses Seviyesi"
|
msgstr "Ses Seviyesi"
|
||||||
|
|
||||||
|
msgid "Nand Channel Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Emu Channel Path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nand Emu Path"
|
msgid "Nand Emu Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1075,6 +1093,9 @@ msgstr ""
|
|||||||
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nand Saves Emulation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Neither"
|
msgid "Neither"
|
||||||
msgstr "Hiçbiri"
|
msgstr "Hiçbiri"
|
||||||
|
|
||||||
@ -1360,6 +1381,9 @@ msgstr ""
|
|||||||
msgid "Screensaver"
|
msgid "Screensaver"
|
||||||
msgstr "Ekran Koruyucu"
|
msgstr "Ekran Koruyucu"
|
||||||
|
|
||||||
|
msgid "Search Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr "Seç"
|
msgstr "Seç"
|
||||||
|
|
||||||
@ -1932,9 +1956,6 @@ msgstr "saniye kaldı"
|
|||||||
#~ msgid "Back to Wii Menu"
|
#~ msgid "Back to Wii Menu"
|
||||||
#~ msgstr "Wii Menüye dönüş"
|
#~ msgstr "Wii Menüye dönüş"
|
||||||
|
|
||||||
#~ msgid "Channels"
|
|
||||||
#~ msgstr "Kanallar"
|
|
||||||
|
|
||||||
#~ msgid "Checking existing artwork"
|
#~ msgid "Checking existing artwork"
|
||||||
#~ msgstr "Hazır görsel kontrol ediliyor"
|
#~ msgstr "Hazır görsel kontrol ediliyor"
|
||||||
|
|
||||||
|
1
Makefile
1
Makefile
@ -33,6 +33,7 @@ SOURCES := source \
|
|||||||
source/prompts \
|
source/prompts \
|
||||||
source/wad \
|
source/wad \
|
||||||
source/banner \
|
source/banner \
|
||||||
|
source/Channels \
|
||||||
source/BoxCover \
|
source/BoxCover \
|
||||||
source/cheats \
|
source/cheats \
|
||||||
source/homebrewboot \
|
source/homebrewboot \
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
|
#include <wctype.h>
|
||||||
#include "gui.h"
|
#include "gui.h"
|
||||||
#include "gui_searchbar.h"
|
#include "gui_searchbar.h"
|
||||||
|
|
||||||
#include "../wpad.h"
|
#include "../wpad.h"
|
||||||
#include "../main.h"
|
#include "../main.h"
|
||||||
#include "../settings/CSettings.h"
|
#include "../settings/CSettings.h"
|
||||||
|
#include "../settings/GameTitles.h"
|
||||||
#include "../themes/CTheme.h"
|
#include "../themes/CTheme.h"
|
||||||
#include "../usbloader/GameList.h"
|
#include "../usbloader/GameList.h"
|
||||||
|
|
||||||
@ -29,9 +31,11 @@ class cSearchButton
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
GuiSearchBar::GuiSearchBar(const std::set<wchar_t> &SearchChars) :
|
static wchar_t lastSearchChar = 0;
|
||||||
inSide(0), text((char *) NULL, 22, ( GXColor )
|
std::set<wchar_t> GuiSearchBar::SearchChars;
|
||||||
{ 0, 0, 0, 255}), buttons(0),
|
|
||||||
|
GuiSearchBar::GuiSearchBar() :
|
||||||
|
inSide(0), text((char *) NULL, 22, ( GXColor ) {0, 0, 0, 255}), buttons(0),
|
||||||
keyImageData(Resources::GetFile("keyboard_key.png"), Resources::GetFileSize("keyboard_key.png")),
|
keyImageData(Resources::GetFile("keyboard_key.png"), Resources::GetFileSize("keyboard_key.png")),
|
||||||
keyOverImageData(Resources::GetFile("keyboard_key_over.png"), Resources::GetFileSize("keyboard_key_over.png"))
|
keyOverImageData(Resources::GetFile("keyboard_key_over.png"), Resources::GetFileSize("keyboard_key_over.png"))
|
||||||
{
|
{
|
||||||
@ -63,11 +67,15 @@ GuiSearchBar::GuiSearchBar(const std::set<wchar_t> &SearchChars) :
|
|||||||
}
|
}
|
||||||
height = 10 + 42 + y * 42 + 10;
|
height = 10 + 42 + y * 42 + 10;
|
||||||
|
|
||||||
|
charstr[0] = Settings.SearchMode == SEARCH_BEGINNING ? L'=' : L'*';
|
||||||
|
searchModeBtn = new cSearchButton(charstr, &keyImageData, &keyOverImageData, 10, 10, &trig, btnSoundOver, btnSoundClick);
|
||||||
|
this->Append(&searchModeBtn->button);
|
||||||
|
|
||||||
text.SetText(gameList.GetCurrentFilter());
|
text.SetText(gameList.GetCurrentFilter());
|
||||||
text.SetPosition(10, 15);
|
text.SetPosition(55, 15);
|
||||||
text.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
|
text.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
|
||||||
text.SetWidescreen(Settings.widescreen);
|
text.SetWidescreen(Settings.widescreen);
|
||||||
text.SetMaxWidth(width - (10 + 2 * 42 + 10), SCROLL_HORIZONTAL);
|
text.SetMaxWidth(width - (55 + 2 * 42 + 10), SCROLL_HORIZONTAL);
|
||||||
this->Append(&text);
|
this->Append(&text);
|
||||||
|
|
||||||
imgBacspaceBtn = Resources::GetImageData("keyboard_backspace_over.png");
|
imgBacspaceBtn = Resources::GetImageData("keyboard_backspace_over.png");
|
||||||
@ -105,6 +113,7 @@ GuiSearchBar::~GuiSearchBar()
|
|||||||
delete imgClearBtn;
|
delete imgClearBtn;
|
||||||
|
|
||||||
delete CloseBtn;
|
delete CloseBtn;
|
||||||
|
delete searchModeBtn;
|
||||||
|
|
||||||
delete BacspaceBtn;
|
delete BacspaceBtn;
|
||||||
delete BacspaceBtnImg;
|
delete BacspaceBtnImg;
|
||||||
@ -114,10 +123,8 @@ GuiSearchBar::~GuiSearchBar()
|
|||||||
}
|
}
|
||||||
void GuiSearchBar::Draw()
|
void GuiSearchBar::Draw()
|
||||||
{
|
{
|
||||||
Menu_DrawRectangle(this->GetLeft(), this->GetTop(), width, height, ( GXColor )
|
Menu_DrawRectangle(this->GetLeft(), this->GetTop(), width, height, ( GXColor ) {0, 0, 0, 0xa0}, 1);
|
||||||
{ 0, 0, 0, 0xa0}, 1);
|
Menu_DrawRectangle(this->GetLeft() + 55, this->GetTop() + 15, width - (55 + 2 * 42 + 10), 22, ( GXColor ) {255, 255, 255, 255}, 1);
|
||||||
Menu_DrawRectangle(this->GetLeft() + 10, this->GetTop() + 15, width - (10 + 2 * 42 + 10), 22, ( GXColor )
|
|
||||||
{ 255, 255, 255, 255}, 1);
|
|
||||||
GuiWindow::Draw();
|
GuiWindow::Draw();
|
||||||
}
|
}
|
||||||
void GuiSearchBar::Update(GuiTrigger * t)
|
void GuiSearchBar::Update(GuiTrigger * t)
|
||||||
@ -146,6 +153,8 @@ void GuiSearchBar::Update(GuiTrigger * t)
|
|||||||
}
|
}
|
||||||
wchar_t GuiSearchBar::GetClicked()
|
wchar_t GuiSearchBar::GetClicked()
|
||||||
{
|
{
|
||||||
|
lastSearchChar = 0;
|
||||||
|
|
||||||
if (buttons)
|
if (buttons)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < cnt; i++)
|
for (int i = 0; i < cnt; i++)
|
||||||
@ -153,15 +162,96 @@ wchar_t GuiSearchBar::GetClicked()
|
|||||||
if (buttons[i]->button.GetState() == STATE_CLICKED)
|
if (buttons[i]->button.GetState() == STATE_CLICKED)
|
||||||
{
|
{
|
||||||
buttons[i]->button.ResetState();
|
buttons[i]->button.ResetState();
|
||||||
return buttons[i]->wchar;
|
lastSearchChar = buttons[i]->wchar;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (BacspaceBtn->GetState() == STATE_CLICKED) return 8;
|
|
||||||
else if (ClearBtn->GetState() == STATE_CLICKED) return 7;
|
|
||||||
else if (CloseBtn->GetState() == STATE_CLICKED) return 27;
|
|
||||||
|
|
||||||
return 0;
|
if (BacspaceBtn->GetState() == STATE_CLICKED) lastSearchChar = 8;
|
||||||
|
else if (ClearBtn->GetState() == STATE_CLICKED) lastSearchChar = 7;
|
||||||
|
else if (CloseBtn->GetState() == STATE_CLICKED) lastSearchChar = 27;
|
||||||
|
else if (searchModeBtn->button.GetState() == STATE_CLICKED) lastSearchChar = 6;
|
||||||
|
|
||||||
|
return lastSearchChar;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GuiSearchBar::FilterList(std::vector<struct discHdr *> &List, wString &GameFilter)
|
||||||
|
{
|
||||||
|
SearchChars.clear();
|
||||||
|
|
||||||
|
for (u32 i = 0; i < List.size(); ++i)
|
||||||
|
{
|
||||||
|
struct discHdr *header = List.at(i);
|
||||||
|
|
||||||
|
wchar_t *gameName = charToWideChar(GameTitles.GetTitle(header));
|
||||||
|
if (!gameName)
|
||||||
|
{
|
||||||
|
List.erase(List.begin()+i);
|
||||||
|
i--;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(Settings.SearchMode == SEARCH_BEGINNING)
|
||||||
|
{
|
||||||
|
if (GameFilter.size() > 0 && wcsncasecmp(gameName, GameFilter.c_str(), GameFilter.size()) != 0)
|
||||||
|
{
|
||||||
|
delete [] gameName;
|
||||||
|
List.erase(List.begin()+i);
|
||||||
|
i--;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( wcslen(gameName) > GameFilter.size()
|
||||||
|
&& SearchChars.find(towupper(gameName[GameFilter.size()])) == SearchChars.end()
|
||||||
|
&& SearchChars.find(towlower(gameName[GameFilter.size()])) == SearchChars.end())
|
||||||
|
{
|
||||||
|
SearchChars.insert(gameName[GameFilter.size()]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(Settings.SearchMode == SEARCH_CONTENT)
|
||||||
|
{
|
||||||
|
if(GameFilter.size() > 0)
|
||||||
|
{
|
||||||
|
if (wcscasestr(gameName, GameFilter.c_str()) == 0)
|
||||||
|
{
|
||||||
|
delete [] gameName;
|
||||||
|
List.erase(List.begin()+i);
|
||||||
|
i--;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
const wchar_t *found = gameName;
|
||||||
|
while((found = wcscasestr(found, GameFilter.c_str())) != 0)
|
||||||
|
{
|
||||||
|
found += GameFilter.size();
|
||||||
|
wchar_t ch = towupper(*found);
|
||||||
|
if(ch)
|
||||||
|
SearchChars.insert(ch);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for(const wchar_t *wPtr = gameName; *wPtr != 0; wPtr++)
|
||||||
|
{
|
||||||
|
wchar_t ch = towupper(*wPtr);
|
||||||
|
if(ch > L'@')
|
||||||
|
SearchChars.insert(ch);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
delete [] gameName;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(List.size() < 2)
|
||||||
|
SearchChars.clear();
|
||||||
|
|
||||||
|
// If the last character was not backslash try autocomplete
|
||||||
|
if(SearchChars.size() == 1 && GameFilter.size() > 0 && lastSearchChar != 8)
|
||||||
|
{
|
||||||
|
GameFilter += *SearchChars.begin();
|
||||||
|
FilterList(List, GameFilter);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1,19 +1,27 @@
|
|||||||
#ifndef GUI_SEARCHBAR_H_
|
#ifndef GUI_SEARCHBAR_H_
|
||||||
#define GUI_SEARCHBAR_H_
|
#define GUI_SEARCHBAR_H_
|
||||||
#include "gui.h"
|
|
||||||
#include <set>
|
#include <set>
|
||||||
|
#include <vector>
|
||||||
|
#include "gui.h"
|
||||||
|
#include "usbloader/disc.h"
|
||||||
|
#include "wstring.hpp"
|
||||||
|
|
||||||
class cSearchButton;
|
class cSearchButton;
|
||||||
|
|
||||||
class GuiSearchBar: public GuiWindow
|
class GuiSearchBar: public GuiWindow
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
GuiSearchBar(const std::set<wchar_t> &SearchChars);
|
GuiSearchBar();
|
||||||
virtual ~GuiSearchBar();
|
virtual ~GuiSearchBar();
|
||||||
void Draw();
|
void Draw();
|
||||||
void Update(GuiTrigger * t);
|
void Update(GuiTrigger * t);
|
||||||
wchar_t GetClicked();
|
wchar_t GetClicked();
|
||||||
|
|
||||||
|
static void FilterList(std::vector<struct discHdr *> &List, wString &GameFilter);
|
||||||
private:
|
private:
|
||||||
|
static std::set<wchar_t> SearchChars;
|
||||||
|
|
||||||
u16 inSide;
|
u16 inSide;
|
||||||
|
|
||||||
GuiText text;
|
GuiText text;
|
||||||
@ -30,6 +38,7 @@ class GuiSearchBar: public GuiWindow
|
|||||||
|
|
||||||
GuiButton* CloseBtn;
|
GuiButton* CloseBtn;
|
||||||
|
|
||||||
|
cSearchButton *searchModeBtn;
|
||||||
cSearchButton **buttons;
|
cSearchButton **buttons;
|
||||||
int cnt;
|
int cnt;
|
||||||
GuiImageData keyImageData;
|
GuiImageData keyImageData;
|
||||||
|
@ -1,26 +1,25 @@
|
|||||||
#include <gccore.h>
|
#include <gccore.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <stdarg.h>
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#include <sys/iosupport.h>
|
#include <sys/iosupport.h>
|
||||||
|
|
||||||
/* init-globals */
|
/* init-globals */
|
||||||
static bool geckoinit = false;
|
static bool geckoinit = false;
|
||||||
|
|
||||||
#ifndef NO_DEBUG
|
|
||||||
#include <stdarg.h>
|
|
||||||
|
|
||||||
void gprintf(const char *format, ...)
|
void gprintf(const char *format, ...)
|
||||||
{
|
{
|
||||||
if (!geckoinit)
|
if (!geckoinit)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
char * tmp = NULL;
|
static char stringBuf[4096];
|
||||||
|
int len;
|
||||||
va_list va;
|
va_list va;
|
||||||
va_start(va, format);
|
va_start(va, format);
|
||||||
if((vasprintf(&tmp, format, va) >= 0) && tmp)
|
if((len = vsnprintf(stringBuf, sizeof(stringBuf), format, va)) > 0)
|
||||||
{
|
{
|
||||||
usb_sendbuffer(1, tmp, strlen(tmp));
|
usb_sendbuffer(1, stringBuf, len);
|
||||||
#ifdef DEBUG_TO_FILE
|
#ifdef DEBUG_TO_FILE
|
||||||
FILE *debugF = fopen("sd:/debug.txt", "a");
|
FILE *debugF = fopen("sd:/debug.txt", "a");
|
||||||
if(!debugF)
|
if(!debugF)
|
||||||
@ -31,9 +30,6 @@ void gprintf(const char *format, ...)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
va_end(va);
|
va_end(va);
|
||||||
|
|
||||||
if(tmp)
|
|
||||||
free(tmp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool InitGecko()
|
bool InitGecko()
|
||||||
@ -84,7 +80,7 @@ void hexdump(void *d, int len)
|
|||||||
|
|
||||||
static ssize_t __out_write(struct _reent *r, int fd, const char *ptr, size_t len)
|
static ssize_t __out_write(struct _reent *r, int fd, const char *ptr, size_t len)
|
||||||
{
|
{
|
||||||
gprintf(ptr);
|
gprintf("%s", ptr);
|
||||||
|
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
@ -122,5 +118,3 @@ void USBGeckoOutput()
|
|||||||
devoptab_list[STD_OUT] = &gecko_out;
|
devoptab_list[STD_OUT] = &gecko_out;
|
||||||
devoptab_list[STD_ERR] = &gecko_out;
|
devoptab_list[STD_ERR] = &gecko_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* NO_DEBUG */
|
|
||||||
|
Binary file not shown.
@ -216,13 +216,13 @@ int MainMenu(int menu)
|
|||||||
currentMenu = MenuInstall();
|
currentMenu = MenuInstall();
|
||||||
break;
|
break;
|
||||||
case MENU_SETTINGS:
|
case MENU_SETTINGS:
|
||||||
currentMenu = GlobalSettings::Show();
|
currentMenu = GlobalSettings::Execute();
|
||||||
break;
|
break;
|
||||||
case MENU_THEMEMENU:
|
case MENU_THEMEMENU:
|
||||||
currentMenu = ThemeMenu::Run();
|
currentMenu = ThemeMenu::Execute();
|
||||||
break;
|
break;
|
||||||
case MENU_THEMEDOWNLOADER:
|
case MENU_THEMEDOWNLOADER:
|
||||||
currentMenu = ThemeDownloader::Run();
|
currentMenu = ThemeDownloader::Execute();
|
||||||
break;
|
break;
|
||||||
case MENU_HOMEBREWBROWSE:
|
case MENU_HOMEBREWBROWSE:
|
||||||
currentMenu = HomebrewBrowser::Execute();
|
currentMenu = HomebrewBrowser::Execute();
|
||||||
|
@ -59,8 +59,7 @@ GameBrowseMenu::GameBrowseMenu()
|
|||||||
GameIDTxt = NULL;
|
GameIDTxt = NULL;
|
||||||
GameRegionTxt = NULL;
|
GameRegionTxt = NULL;
|
||||||
WDVD_GetCoverStatus(&DiscDriveCoverOld);
|
WDVD_GetCoverStatus(&DiscDriveCoverOld);
|
||||||
wString oldFilter(gameList.GetCurrentFilter());
|
gameList.FilterList();
|
||||||
gameList.FilterList(oldFilter.c_str());
|
|
||||||
HDDSizeCallback.SetCallback(this, &GameBrowseMenu::UpdateFreeSpace);
|
HDDSizeCallback.SetCallback(this, &GameBrowseMenu::UpdateFreeSpace);
|
||||||
|
|
||||||
btnInstall = Resources::GetImageData("button_install.png");
|
btnInstall = Resources::GetImageData("button_install.png");
|
||||||
@ -763,7 +762,7 @@ void GameBrowseMenu::ReloadBrowser()
|
|||||||
|
|
||||||
if (show_searchwindow)
|
if (show_searchwindow)
|
||||||
{
|
{
|
||||||
searchBar = new GuiSearchBar(gameList.GetAvailableSearchChars());
|
searchBar = new GuiSearchBar;
|
||||||
mainWindow->Append(searchBar);
|
mainWindow->Append(searchBar);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -842,8 +841,7 @@ int GameBrowseMenu::MainLoop()
|
|||||||
gprintf("\tLoading font...%s\n", Theme::LoadFont(Settings.theme_path) ? "done" : "failed (using default)");
|
gprintf("\tLoading font...%s\n", Theme::LoadFont(Settings.theme_path) ? "done" : "failed (using default)");
|
||||||
gprintf("\tLoading theme...%s\n", Theme::Load(Settings.theme) ? "done" : "failed (using default)");
|
gprintf("\tLoading theme...%s\n", Theme::Load(Settings.theme) ? "done" : "failed (using default)");
|
||||||
bgMusic->Resume();
|
bgMusic->Resume();
|
||||||
wString oldFilter(gameList.GetCurrentFilter());
|
gameList.FilterList();
|
||||||
gameList.FilterList(oldFilter.c_str());
|
|
||||||
ReloadBrowser();
|
ReloadBrowser();
|
||||||
ResumeGui();
|
ResumeGui();
|
||||||
sdcardBtn->ResetState();
|
sdcardBtn->ResetState();
|
||||||
@ -879,13 +877,12 @@ int GameBrowseMenu::MainLoop()
|
|||||||
else
|
else
|
||||||
Settings.GameSort |= SORT_FAVORITE;
|
Settings.GameSort |= SORT_FAVORITE;
|
||||||
|
|
||||||
wString oldFilter(gameList.GetCurrentFilter());
|
gameList.FilterList();
|
||||||
gameList.FilterList(oldFilter.c_str());
|
|
||||||
|
|
||||||
if((Settings.GameSort & SORT_FAVORITE) && gameList.size() == 0)
|
if((Settings.GameSort & SORT_FAVORITE) && gameList.size() == 0)
|
||||||
{
|
{
|
||||||
Settings.GameSort &= ~SORT_FAVORITE;
|
Settings.GameSort &= ~SORT_FAVORITE;
|
||||||
gameList.FilterList(oldFilter.c_str());
|
gameList.FilterList();
|
||||||
ShowError(tr("No favorites selected."));
|
ShowError(tr("No favorites selected."));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -896,8 +893,7 @@ int GameBrowseMenu::MainLoop()
|
|||||||
{
|
{
|
||||||
gprintf("\tsearchBtn Clicked\n");
|
gprintf("\tsearchBtn Clicked\n");
|
||||||
show_searchwindow = !show_searchwindow;
|
show_searchwindow = !show_searchwindow;
|
||||||
wString oldFilter(gameList.GetCurrentFilter());
|
gameList.FilterList();
|
||||||
gameList.FilterList(oldFilter.c_str());
|
|
||||||
ReloadBrowser();
|
ReloadBrowser();
|
||||||
searchBtn->ResetState();
|
searchBtn->ResetState();
|
||||||
if(show_searchwindow && wcslen(gameList.GetCurrentFilter()) == 0)
|
if(show_searchwindow && wcslen(gameList.GetCurrentFilter()) == 0)
|
||||||
@ -908,39 +904,13 @@ int GameBrowseMenu::MainLoop()
|
|||||||
{
|
{
|
||||||
if (searchChar > 27) //! Character clicked
|
if (searchChar > 27) //! Character clicked
|
||||||
{
|
{
|
||||||
for(;;)
|
int len = gameList.GetCurrentFilter() ? wcslen(gameList.GetCurrentFilter()) : 0;
|
||||||
{
|
wchar_t newFilter[len + 2];
|
||||||
int len = wcslen(gameList.GetCurrentFilter());
|
if (gameList.GetCurrentFilter()) wcscpy(newFilter, gameList.GetCurrentFilter());
|
||||||
wchar_t newFilter[len + 2];
|
newFilter[len] = searchChar;
|
||||||
wcscpy(newFilter, gameList.GetCurrentFilter());
|
newFilter[len + 1] = 0;
|
||||||
newFilter[len] = searchChar;
|
|
||||||
newFilter[len + 1] = 0;
|
|
||||||
|
|
||||||
gameList.FilterList(newFilter);
|
gameList.FilterList(newFilter);
|
||||||
if(gameList.GetAvailableSearchChars().size() != 1)
|
|
||||||
break;
|
|
||||||
searchChar = *gameList.GetAvailableSearchChars().begin();
|
|
||||||
}
|
|
||||||
bool autoClose = false;
|
|
||||||
switch(Settings.gameDisplay)
|
|
||||||
{
|
|
||||||
case LIST_MODE:
|
|
||||||
autoClose = gameList.size()<=9;
|
|
||||||
break;
|
|
||||||
case CAROUSEL_MODE:
|
|
||||||
autoClose = gameList.size()<=5;
|
|
||||||
break;
|
|
||||||
case GRID_MODE:
|
|
||||||
autoClose = gameList.size()<=3;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(autoClose) // Close Searchwindow when less than 5 Games found
|
|
||||||
{
|
|
||||||
show_searchwindow = false;
|
|
||||||
searchBtn->StopEffect();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (searchChar == 27) //! Close
|
else if (searchChar == 27) //! Close
|
||||||
{
|
{
|
||||||
@ -956,16 +926,16 @@ int GameBrowseMenu::MainLoop()
|
|||||||
{
|
{
|
||||||
int len = wcslen(gameList.GetCurrentFilter());
|
int len = wcslen(gameList.GetCurrentFilter());
|
||||||
wchar_t newFilter[len + 1];
|
wchar_t newFilter[len + 1];
|
||||||
wcscpy(newFilter, gameList.GetCurrentFilter());
|
if (gameList.GetCurrentFilter()) wcscpy(newFilter, gameList.GetCurrentFilter());
|
||||||
int old_game_count = gameList.size();
|
newFilter[len > 0 ? len - 1 : 0] = 0;
|
||||||
for(; len > 0; len--)
|
gameList.FilterList(newFilter);
|
||||||
{
|
if(len == 1)
|
||||||
newFilter[len - 1] = 0; // remove last char
|
Settings.gridRows = GridRowsPreSearch; //! restore old rows amount so we don't stay on one row
|
||||||
if(len == 1)
|
}
|
||||||
Settings.gridRows = GridRowsPreSearch; //! restore old rows amount so we don't stay on one row
|
else if (searchChar == 6)
|
||||||
if(gameList.FilterList(newFilter) != old_game_count)
|
{
|
||||||
break;
|
Settings.SearchMode = Settings.SearchMode == SEARCH_BEGINNING ? SEARCH_CONTENT : SEARCH_BEGINNING;
|
||||||
}
|
gameList.FilterList();
|
||||||
}
|
}
|
||||||
ReloadBrowser();
|
ReloadBrowser();
|
||||||
return MENU_NONE;
|
return MENU_NONE;
|
||||||
@ -996,8 +966,7 @@ int GameBrowseMenu::MainLoop()
|
|||||||
Settings.GameSort |= SORT_ABC;
|
Settings.GameSort |= SORT_ABC;
|
||||||
}
|
}
|
||||||
|
|
||||||
wString oldFilter(gameList.GetCurrentFilter());
|
gameList.FilterList();
|
||||||
gameList.FilterList(oldFilter.c_str());
|
|
||||||
ReloadBrowser();
|
ReloadBrowser();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1065,8 +1034,7 @@ int GameBrowseMenu::MainLoop()
|
|||||||
if(WindowPrompt(tr( "Parental Control" ), tr( "Are you sure you want to lock USB Loader GX?" ), tr( "Yes" ), tr( "No" )) == 1)
|
if(WindowPrompt(tr( "Parental Control" ), tr( "Are you sure you want to lock USB Loader GX?" ), tr( "Yes" ), tr( "No" )) == 1)
|
||||||
{
|
{
|
||||||
Settings.godmode = 0;
|
Settings.godmode = 0;
|
||||||
wString oldFilter(gameList.GetCurrentFilter());
|
gameList.FilterList();
|
||||||
gameList.FilterList(oldFilter.c_str());
|
|
||||||
ReloadBrowser();
|
ReloadBrowser();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1081,8 +1049,7 @@ int GameBrowseMenu::MainLoop()
|
|||||||
if(result == 1)
|
if(result == 1)
|
||||||
WindowPrompt( tr( "Correct Password" ), tr( "All the features of USB Loader GX are unlocked." ), tr( "OK" ));
|
WindowPrompt( tr( "Correct Password" ), tr( "All the features of USB Loader GX are unlocked." ), tr( "OK" ));
|
||||||
Settings.godmode = 1;
|
Settings.godmode = 1;
|
||||||
wString oldFilter(gameList.GetCurrentFilter());
|
gameList.FilterList();
|
||||||
gameList.FilterList(oldFilter.c_str());
|
|
||||||
ReloadBrowser();
|
ReloadBrowser();
|
||||||
}
|
}
|
||||||
else if(result < 0)
|
else if(result < 0)
|
||||||
@ -1115,8 +1082,7 @@ int GameBrowseMenu::MainLoop()
|
|||||||
mainWindow->SetState(STATE_DEFAULT);
|
mainWindow->SetState(STATE_DEFAULT);
|
||||||
if(promptMenu.categoriesChanged())
|
if(promptMenu.categoriesChanged())
|
||||||
{
|
{
|
||||||
wString oldFilter(gameList.GetCurrentFilter());
|
gameList.FilterList();
|
||||||
gameList.FilterList(oldFilter.c_str());
|
|
||||||
ReloadBrowser();
|
ReloadBrowser();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -57,8 +57,6 @@ void gamepatches(u8 videoSelected, u8 languageChoice, u8 patchcountrystring,
|
|||||||
es_fd = IOS_Open(es_fs, 0);
|
es_fd = IOS_Open(es_fs, 0);
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
load_wip_code((u8*) Disc_ID);
|
|
||||||
|
|
||||||
/* If a wip file is loaded for this game this does nothing - Dimok */
|
/* If a wip file is loaded for this game this does nothing - Dimok */
|
||||||
PoPPatch();
|
PoPPatch();
|
||||||
NSMBPatch();
|
NSMBPatch();
|
||||||
|
@ -44,6 +44,8 @@ static int code_size = 0;
|
|||||||
|
|
||||||
static u32 gameconfsize = 0;
|
static u32 gameconfsize = 0;
|
||||||
static u32 *gameconf = NULL;
|
static u32 *gameconf = NULL;
|
||||||
|
static u32 tempgameconfsize = 0;
|
||||||
|
static u8 *tempgameconf = NULL;
|
||||||
|
|
||||||
extern void patchhook(u32 address, u32 len);
|
extern void patchhook(u32 address, u32 len);
|
||||||
|
|
||||||
@ -342,70 +344,29 @@ void app_pokevalues()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------
|
||||||
static void app_loadgameconfig(const char *CheatFilepath)
|
static void app_loadgameconfig()
|
||||||
//---------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------
|
||||||
{
|
{
|
||||||
gameconfsize = 0;
|
|
||||||
|
|
||||||
if (gameconf == NULL)
|
if (gameconf == NULL)
|
||||||
{
|
{
|
||||||
gameconf = (u32*) malloc(65536);
|
gameconf = (u32*) malloc(65536);
|
||||||
if (gameconf == NULL)
|
if (gameconf == NULL)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
FILE* fp;
|
|
||||||
const char *discid = (const char *) Disc_ID;
|
const char *discid = (const char *) Disc_ID;
|
||||||
|
if(!tempgameconf)
|
||||||
|
{
|
||||||
|
tempgameconf = (u8 *) defaultgameconfig;
|
||||||
|
tempgameconfsize = defaultgameconfig_size;
|
||||||
|
}
|
||||||
|
|
||||||
u32 ret;
|
u32 ret;
|
||||||
u32 filesize;
|
|
||||||
s32 gameidmatch, maxgameidmatch = -1, maxgameidmatch2 = -1;
|
s32 gameidmatch, maxgameidmatch = -1, maxgameidmatch2 = -1;
|
||||||
u32 i, numnonascii, parsebufpos;
|
u32 i, numnonascii, parsebufpos;
|
||||||
u32 codeaddr, codeval, codeaddr2, codeval2, codeoffset;
|
u32 codeaddr, codeval, codeaddr2, codeval2, codeoffset;
|
||||||
u32 temp, tempoffset = 0;
|
u32 temp, tempoffset = 0;
|
||||||
char parsebuffer[18];
|
char parsebuffer[18];
|
||||||
|
|
||||||
u8 *tempgameconf = (u8 *) defaultgameconfig;
|
|
||||||
u32 tempgameconfsize = defaultgameconfig_size;
|
|
||||||
|
|
||||||
char filepath[200];
|
|
||||||
snprintf(filepath, sizeof(filepath), "%s/gameconfig.txt", CheatFilepath);
|
|
||||||
|
|
||||||
fp = fopen(filepath, "rb");
|
|
||||||
|
|
||||||
if (!fp)
|
|
||||||
{
|
|
||||||
snprintf(filepath, sizeof(filepath), "sd:/gameconfig.txt");
|
|
||||||
fp = fopen(filepath, "rb");
|
|
||||||
|
|
||||||
for(i = 1; i <= 8; ++i)
|
|
||||||
{
|
|
||||||
if(fp) break;
|
|
||||||
|
|
||||||
snprintf(filepath, sizeof(filepath), "usb%i:/gameconfig.txt", i);
|
|
||||||
fp = fopen(filepath, "rb");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (fp)
|
|
||||||
{
|
|
||||||
fseek(fp, 0, SEEK_END);
|
|
||||||
filesize = ftell(fp);
|
|
||||||
fseek(fp, 0, SEEK_SET);
|
|
||||||
|
|
||||||
tempgameconf = (u8*) malloc(filesize);
|
|
||||||
if (tempgameconf == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
ret = fread((void*) tempgameconf, 1, filesize, fp);
|
|
||||||
fclose(fp);
|
|
||||||
if (ret != filesize)
|
|
||||||
{
|
|
||||||
free(tempgameconf);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
tempgameconfsize = filesize;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Remove non-ASCII characters
|
// Remove non-ASCII characters
|
||||||
numnonascii = 0;
|
numnonascii = 0;
|
||||||
for (i = 0; i < tempgameconfsize; i++)
|
for (i = 0; i < tempgameconfsize; i++)
|
||||||
@ -582,7 +543,7 @@ static void app_loadgameconfig(const char *CheatFilepath)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------
|
||||||
void load_handler(const char *gameconfigPath, u32 hooktype, u32 debugger, u32 pauseAtStart)
|
void load_handler(u32 hooktype, u32 debugger, u32 pauseAtStart)
|
||||||
//---------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------
|
||||||
{
|
{
|
||||||
if (hooktype != 0x00)
|
if (hooktype != 0x00)
|
||||||
@ -590,7 +551,7 @@ void load_handler(const char *gameconfigPath, u32 hooktype, u32 debugger, u32 pa
|
|||||||
if (debugger == 0x01)
|
if (debugger == 0x01)
|
||||||
codelist = (u8 *) 0x800028B8;
|
codelist = (u8 *) 0x800028B8;
|
||||||
codelistend = (u8 *) 0x80003000;
|
codelistend = (u8 *) 0x80003000;
|
||||||
app_loadgameconfig(gameconfigPath);
|
app_loadgameconfig();
|
||||||
|
|
||||||
if (debugger == 0x01)
|
if (debugger == 0x01)
|
||||||
{
|
{
|
||||||
@ -707,6 +668,60 @@ void load_handler(const char *gameconfigPath, u32 hooktype, u32 debugger, u32 pa
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int LoadGameConfig(const char *CheatFilepath)
|
||||||
|
{
|
||||||
|
int filesize = 0;
|
||||||
|
tempgameconf = (u8 *) defaultgameconfig;
|
||||||
|
tempgameconfsize = defaultgameconfig_size;
|
||||||
|
gameconfsize = 0;
|
||||||
|
|
||||||
|
FILE* fp;
|
||||||
|
char filepath[200];
|
||||||
|
snprintf(filepath, sizeof(filepath), "%s/gameconfig.txt", CheatFilepath);
|
||||||
|
|
||||||
|
fp = fopen(filepath, "rb");
|
||||||
|
|
||||||
|
if (!fp)
|
||||||
|
{
|
||||||
|
snprintf(filepath, sizeof(filepath), "sd:/gameconfig.txt");
|
||||||
|
fp = fopen(filepath, "rb");
|
||||||
|
int i;
|
||||||
|
for(i = 1; i <= 8; ++i)
|
||||||
|
{
|
||||||
|
if(fp) break;
|
||||||
|
|
||||||
|
snprintf(filepath, sizeof(filepath), "usb%i:/gameconfig.txt", i);
|
||||||
|
fp = fopen(filepath, "rb");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!fp)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
fseek(fp, 0, SEEK_END);
|
||||||
|
filesize = ftell(fp);
|
||||||
|
fseek(fp, 0, SEEK_SET);
|
||||||
|
|
||||||
|
tempgameconf = (u8*) malloc(filesize);
|
||||||
|
if (tempgameconf == NULL) {
|
||||||
|
fclose(fp);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ret = fread((void*) tempgameconf, 1, filesize, fp);
|
||||||
|
|
||||||
|
fclose(fp);
|
||||||
|
|
||||||
|
if (ret != filesize)
|
||||||
|
{
|
||||||
|
free(tempgameconf);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
tempgameconfsize = filesize;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int ocarina_load_code(const char *CheatFilepath)
|
int ocarina_load_code(const char *CheatFilepath)
|
||||||
{
|
{
|
||||||
char filepath[150];
|
char filepath[150];
|
||||||
@ -765,6 +780,8 @@ int ocarina_load_code(const char *CheatFilepath)
|
|||||||
|
|
||||||
gprintf("Ocarina: Codes found.\n");
|
gprintf("Ocarina: Codes found.\n");
|
||||||
|
|
||||||
|
LoadGameConfig(CheatFilepath);
|
||||||
|
|
||||||
return code_size;
|
return code_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ extern "C"
|
|||||||
|
|
||||||
// Function prototypes
|
// Function prototypes
|
||||||
void dogamehooks(u32 hooktype, void *addr, u32 len);
|
void dogamehooks(u32 hooktype, void *addr, u32 len);
|
||||||
void load_handler(const char *gameconfigPath, u32 hooktype, u32 debugger, u32 pauseAtStart);
|
void load_handler(u32 hooktype, u32 debugger, u32 pauseAtStart);
|
||||||
void langpatcher(void *addr, u32 len, u8 languageChoice);
|
void langpatcher(void *addr, u32 len, u8 languageChoice);
|
||||||
void vidolpatcher(void *addr, u32 len);
|
void vidolpatcher(void *addr, u32 len);
|
||||||
void patchdebug(void *addr, u32 len);
|
void patchdebug(void *addr, u32 len);
|
||||||
|
@ -174,7 +174,8 @@ GameWindow::GameWindow(int Selected)
|
|||||||
if (!mountMethod)//stuff we don't show if it is a DVD mounted
|
if (!mountMethod)//stuff we don't show if it is a DVD mounted
|
||||||
{
|
{
|
||||||
Append(nameBtn);
|
Append(nameBtn);
|
||||||
Append(sizeTxt);
|
if(Settings.LoaderMode != LOAD_CHANNELS)
|
||||||
|
Append(sizeTxt);
|
||||||
Append(btnLeft);
|
Append(btnLeft);
|
||||||
Append(btnRight);
|
Append(btnRight);
|
||||||
for(int i = 0; i < FAVORITE_STARS; ++i)
|
for(int i = 0; i < FAVORITE_STARS; ++i)
|
||||||
@ -411,13 +412,14 @@ void GameWindow::SetWindowEffect(int direction, int in_out)
|
|||||||
void GameWindow::ChangeGame(int EffectDirection)
|
void GameWindow::ChangeGame(int EffectDirection)
|
||||||
{
|
{
|
||||||
struct discHdr * header = (mountMethod ? dvdheader : gameList[gameSelected]);
|
struct discHdr * header = (mountMethod ? dvdheader : gameList[gameSelected]);
|
||||||
LoadGameSound(header->id);
|
if(Settings.LoaderMode != LOAD_CHANNELS)
|
||||||
|
LoadGameSound(header->id); // Temporary no sounds for channels, will be added later
|
||||||
LoadDiscImage(header->id);
|
LoadDiscImage(header->id);
|
||||||
SetWindowEffect(EffectDirection, OUT);
|
SetWindowEffect(EffectDirection, OUT);
|
||||||
|
|
||||||
HaltGui();
|
HaltGui();
|
||||||
|
|
||||||
if (!mountMethod)
|
if (!mountMethod && Settings.LoaderMode != LOAD_CHANNELS)
|
||||||
{
|
{
|
||||||
float size = 0.0f;
|
float size = 0.0f;
|
||||||
WBFS_GameSize(header->id, &size);
|
WBFS_GameSize(header->id, &size);
|
||||||
@ -486,7 +488,7 @@ int GameWindow::MainLoop()
|
|||||||
ResumeGui();
|
ResumeGui();
|
||||||
|
|
||||||
wiilight(0);
|
wiilight(0);
|
||||||
int settret = GameSettingsMenu::Show(browserMenu, mountMethod ? dvdheader : gameList[gameSelected]);
|
int settret = GameSettingsMenu::Execute(browserMenu, mountMethod ? dvdheader : gameList[gameSelected]);
|
||||||
|
|
||||||
SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_IN, 50);
|
SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_IN, 50);
|
||||||
if(parentElement)
|
if(parentElement)
|
||||||
|
@ -26,6 +26,8 @@
|
|||||||
#include "../usbloader/utils.h"
|
#include "../usbloader/utils.h"
|
||||||
#include "../gecko.h"
|
#include "../gecko.h"
|
||||||
|
|
||||||
|
#include "Controls/DeviceHandler.hpp"
|
||||||
|
#include "usbloader/NandEmu.h"
|
||||||
extern u8 shutdown;
|
extern u8 shutdown;
|
||||||
extern u8 reset;
|
extern u8 reset;
|
||||||
|
|
||||||
@ -199,7 +201,6 @@ bool TitleSelector(char output[])
|
|||||||
|
|
||||||
int TitleBrowser()
|
int TitleBrowser()
|
||||||
{
|
{
|
||||||
|
|
||||||
u32 num_titles;
|
u32 num_titles;
|
||||||
u32 num_sys_titles;
|
u32 num_sys_titles;
|
||||||
s32 ret = -1;
|
s32 ret = -1;
|
||||||
|
@ -300,7 +300,7 @@ void CGameCategories::RemoveCategory(const char *gameID, unsigned int id)
|
|||||||
if(!gameID) return;
|
if(!gameID) return;
|
||||||
|
|
||||||
string gameID6;
|
string gameID6;
|
||||||
for(int i = 0; i < 6; ++i)
|
for(int i = 0; i < 6 && gameID[i] != 0; ++i)
|
||||||
gameID6.push_back(gameID[i]);
|
gameID6.push_back(gameID[i]);
|
||||||
|
|
||||||
RemoveCategory(gameID6, id);
|
RemoveCategory(gameID6, id);
|
||||||
@ -333,7 +333,7 @@ bool CGameCategories::isInCategory(const char *gameID, unsigned int id)
|
|||||||
if(!gameID) return false;
|
if(!gameID) return false;
|
||||||
|
|
||||||
string gameID6;
|
string gameID6;
|
||||||
for(int i = 0; i < 6; ++i)
|
for(int i = 0; i < 6 && gameID[i] != 0; ++i)
|
||||||
gameID6.push_back(gameID[i]);
|
gameID6.push_back(gameID[i]);
|
||||||
|
|
||||||
for (map<string, vector<unsigned int> >::iterator itr = GameCategories.List.begin(); itr != GameCategories.List.end(); itr++)
|
for (map<string, vector<unsigned int> >::iterator itr = GameCategories.List.begin(); itr != GameCategories.List.end(); itr++)
|
||||||
|
@ -383,7 +383,7 @@ void CGameSettings::ParseLine(char *line)
|
|||||||
if(!ReadGameID(line, GameID, 6))
|
if(!ReadGameID(line, GameID, 6))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(strlen(GameID) != 6)
|
if(strlen(GameID) != 6 && strlen(GameID) != 4)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
GameCFG NewCFG;
|
GameCFG NewCFG;
|
||||||
|
@ -217,7 +217,7 @@ void CGameStatistics::ParseLine(char *line)
|
|||||||
if(!ReadGameID(line, GameID, 6))
|
if(!ReadGameID(line, GameID, 6))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(strlen(GameID) != 6)
|
if(strlen(GameID) != 6 && strlen(GameID) != 4)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
GameStatus NewGame;
|
GameStatus NewGame;
|
||||||
|
@ -71,6 +71,7 @@ void CSettings::SetDefault()
|
|||||||
snprintf(theme_path, sizeof(theme_path), "%stheme/", ConfigPath);
|
snprintf(theme_path, sizeof(theme_path), "%stheme/", ConfigPath);
|
||||||
snprintf(dolpath, sizeof(dolpath), "%s/", BootDevice);
|
snprintf(dolpath, sizeof(dolpath), "%s/", BootDevice);
|
||||||
snprintf(NandEmuPath, sizeof(NandEmuPath), "%s/nand/", BootDevice);
|
snprintf(NandEmuPath, sizeof(NandEmuPath), "%s/nand/", BootDevice);
|
||||||
|
strcpy(NandEmuChanPath, NandEmuPath);
|
||||||
strcpy(theme, "");
|
strcpy(theme, "");
|
||||||
strcpy(language_path, "");
|
strcpy(language_path, "");
|
||||||
strcpy(ogg_path, "");
|
strcpy(ogg_path, "");
|
||||||
@ -128,12 +129,15 @@ void CSettings::SetDefault()
|
|||||||
GameListOffset = 0;
|
GameListOffset = 0;
|
||||||
sneekVideoPatch = OFF;
|
sneekVideoPatch = OFF;
|
||||||
NandEmuMode = OFF;
|
NandEmuMode = OFF;
|
||||||
|
NandEmuChanMode = OFF;
|
||||||
UseSystemFont = ON;
|
UseSystemFont = ON;
|
||||||
Hooktype = 0;
|
Hooktype = 0;
|
||||||
WiirdDebugger = OFF;
|
WiirdDebugger = OFF;
|
||||||
WiirdDebuggerPause = OFF;
|
WiirdDebuggerPause = OFF;
|
||||||
ShowPlayCount = ON;
|
ShowPlayCount = ON;
|
||||||
RememberUnlock = ON;
|
RememberUnlock = ON;
|
||||||
|
LoaderMode = LOAD_GAMES;
|
||||||
|
SearchMode = SEARCH_BEGINNING;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CSettings::Load()
|
bool CSettings::Load()
|
||||||
@ -296,11 +300,15 @@ bool CSettings::Save()
|
|||||||
fprintf(file, "sneekVideoPatch = %d\n", sneekVideoPatch);
|
fprintf(file, "sneekVideoPatch = %d\n", sneekVideoPatch);
|
||||||
fprintf(file, "NandEmuMode = %d\n", NandEmuMode);
|
fprintf(file, "NandEmuMode = %d\n", NandEmuMode);
|
||||||
fprintf(file, "NandEmuPath = %s\n", NandEmuPath);
|
fprintf(file, "NandEmuPath = %s\n", NandEmuPath);
|
||||||
|
fprintf(file, "NandEmuChanMode = %d\n", NandEmuChanMode);
|
||||||
|
fprintf(file, "NandEmuChanPath = %s\n", NandEmuChanPath);
|
||||||
fprintf(file, "UseSystemFont = %d\n", UseSystemFont);
|
fprintf(file, "UseSystemFont = %d\n", UseSystemFont);
|
||||||
fprintf(file, "Hooktype = %d\n", Hooktype);
|
fprintf(file, "Hooktype = %d\n", Hooktype);
|
||||||
fprintf(file, "WiirdDebugger = %d\n", WiirdDebugger);
|
fprintf(file, "WiirdDebugger = %d\n", WiirdDebugger);
|
||||||
fprintf(file, "WiirdDebuggerPause = %d\n", WiirdDebuggerPause);
|
fprintf(file, "WiirdDebuggerPause = %d\n", WiirdDebuggerPause);
|
||||||
fprintf(file, "ShowPlayCount = %d\n", ShowPlayCount);
|
fprintf(file, "ShowPlayCount = %d\n", ShowPlayCount);
|
||||||
|
fprintf(file, "LoaderMode = %d\n", LoaderMode);
|
||||||
|
fprintf(file, "SearchMode = %d\n", SearchMode);
|
||||||
fclose(file);
|
fclose(file);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -610,6 +618,18 @@ bool CSettings::SetSetting(char *name, char *value)
|
|||||||
{
|
{
|
||||||
if (sscanf(value, "%d", &i) == 1) NandEmuMode = i;
|
if (sscanf(value, "%d", &i) == 1) NandEmuMode = i;
|
||||||
}
|
}
|
||||||
|
else if(strcmp(name, "NandEmuChanMode") == 0)
|
||||||
|
{
|
||||||
|
if (sscanf(value, "%d", &i) == 1) NandEmuChanMode = i;
|
||||||
|
}
|
||||||
|
else if(strcmp(name, "LoaderMode") == 0)
|
||||||
|
{
|
||||||
|
if (sscanf(value, "%d", &i) == 1) LoaderMode = i;
|
||||||
|
}
|
||||||
|
else if(strcmp(name, "SearchMode") == 0)
|
||||||
|
{
|
||||||
|
if (sscanf(value, "%d", &i) == 1) SearchMode = i;
|
||||||
|
}
|
||||||
else if (strcmp(name, "InstallPartitions") == 0)
|
else if (strcmp(name, "InstallPartitions") == 0)
|
||||||
{
|
{
|
||||||
InstallPartitions = strtoul(value, 0, 16);
|
InstallPartitions = strtoul(value, 0, 16);
|
||||||
@ -735,6 +755,11 @@ bool CSettings::SetSetting(char *name, char *value)
|
|||||||
strcpy(NandEmuPath, value);
|
strcpy(NandEmuPath, value);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
else if (strcmp(name, "NandEmuChanPath") == 0)
|
||||||
|
{
|
||||||
|
strcpy(NandEmuChanPath, value);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
else if (strcmp(name, "EnabledCategories") == 0)
|
else if (strcmp(name, "EnabledCategories") == 0)
|
||||||
{
|
{
|
||||||
EnabledCategories.clear();
|
EnabledCategories.clear();
|
||||||
|
@ -75,6 +75,7 @@ class CSettings
|
|||||||
char WDMpath[100];
|
char WDMpath[100];
|
||||||
char WiinnertagPath[100];
|
char WiinnertagPath[100];
|
||||||
char NandEmuPath[50];
|
char NandEmuPath[50];
|
||||||
|
char NandEmuChanPath[50];
|
||||||
short videomode;
|
short videomode;
|
||||||
short language;
|
short language;
|
||||||
short ocarina;
|
short ocarina;
|
||||||
@ -128,12 +129,15 @@ class CSettings
|
|||||||
std::vector<u32> EnabledCategories;
|
std::vector<u32> EnabledCategories;
|
||||||
u8 EntryIOS;
|
u8 EntryIOS;
|
||||||
short NandEmuMode;
|
short NandEmuMode;
|
||||||
|
short NandEmuChanMode;
|
||||||
short UseSystemFont;
|
short UseSystemFont;
|
||||||
short Hooktype;
|
short Hooktype;
|
||||||
short WiirdDebugger;
|
short WiirdDebugger;
|
||||||
short WiirdDebuggerPause;
|
short WiirdDebuggerPause;
|
||||||
short ShowPlayCount;
|
short ShowPlayCount;
|
||||||
short RememberUnlock;
|
short RememberUnlock;
|
||||||
|
short LoaderMode;
|
||||||
|
short SearchMode;
|
||||||
protected:
|
protected:
|
||||||
bool ValidVersion(FILE * file);
|
bool ValidVersion(FILE * file);
|
||||||
bool SetSetting(char *name, char *value);
|
bool SetSetting(char *name, char *value);
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#include "GameTitles.h"
|
#include "GameTitles.h"
|
||||||
#include "CSettings.h"
|
#include "CSettings.h"
|
||||||
#include "usbloader/GameList.h"
|
#include "usbloader/GameList.h"
|
||||||
|
#include "Channels/channels.h"
|
||||||
#include "xml/GameTDB.hpp"
|
#include "xml/GameTDB.hpp"
|
||||||
|
|
||||||
CGameTitles GameTitles;
|
CGameTitles GameTitles;
|
||||||
@ -38,10 +39,6 @@ const char * CGameTitles::GetTitle(const char * id) const
|
|||||||
return TitleList[i].Title.c_str();
|
return TitleList[i].Title.c_str();
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Since not found in the GameTDB search in the game header for a title
|
|
||||||
if(gameList.GameCount() != gameList.size())
|
|
||||||
gameList.LoadUnfiltered();
|
|
||||||
|
|
||||||
for(int i = 0; i < gameList.size(); ++i)
|
for(int i = 0; i < gameList.size(); ++i)
|
||||||
{
|
{
|
||||||
if(strncasecmp(id, (char *) gameList[i]->id, 6) == 0)
|
if(strncasecmp(id, (char *) gameList[i]->id, 6) == 0)
|
||||||
@ -178,15 +175,21 @@ void CGameTitles::WriteCachedTitles(const char * path)
|
|||||||
|
|
||||||
void CGameTitles::RemoveUnusedCache(std::vector<std::string> &MissingTitles)
|
void CGameTitles::RemoveUnusedCache(std::vector<std::string> &MissingTitles)
|
||||||
{
|
{
|
||||||
|
std::vector<struct discHdr> &FullList = gameList.GetFullGameList();
|
||||||
|
if(FullList.empty())
|
||||||
|
gameList.ReadGameList();
|
||||||
|
|
||||||
|
std::vector<struct discHdr> &ChanList = Channels::Instance()->GetDiscHeaderList();
|
||||||
|
|
||||||
std::vector<bool> UsedCachedList(TitleList.size(), false);
|
std::vector<bool> UsedCachedList(TitleList.size(), false);
|
||||||
|
|
||||||
for(int i = 0; i < gameList.GameCount(); ++i)
|
for(u32 i = 0; i < FullList.size(); ++i)
|
||||||
{
|
{
|
||||||
bool isCached = false;
|
bool isCached = false;
|
||||||
|
|
||||||
for(u32 n = 0; n < TitleList.size(); ++n)
|
for(u32 n = 0; n < TitleList.size(); ++n)
|
||||||
{
|
{
|
||||||
if(strncasecmp(TitleList[n].GameID, (const char *) gameList[i]->id, 6) == 0)
|
if(strncasecmp(TitleList[n].GameID, (const char *) FullList[i].id, 6) == 0)
|
||||||
{
|
{
|
||||||
UsedCachedList[n] = true;
|
UsedCachedList[n] = true;
|
||||||
isCached = true;
|
isCached = true;
|
||||||
@ -197,7 +200,29 @@ void CGameTitles::RemoveUnusedCache(std::vector<std::string> &MissingTitles)
|
|||||||
if(!isCached)
|
if(!isCached)
|
||||||
{
|
{
|
||||||
char gameID[7];
|
char gameID[7];
|
||||||
snprintf(gameID, sizeof(gameID), (const char *) gameList[i]->id);
|
snprintf(gameID, sizeof(gameID), (const char *) FullList[i].id);
|
||||||
|
MissingTitles.push_back(std::string(gameID));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(u32 i = 0; i < ChanList.size(); ++i)
|
||||||
|
{
|
||||||
|
bool isCached = false;
|
||||||
|
|
||||||
|
for(u32 n = 0; n < TitleList.size(); ++n)
|
||||||
|
{
|
||||||
|
if(strncasecmp(TitleList[n].GameID, (const char *) ChanList[i].id, 4) == 0)
|
||||||
|
{
|
||||||
|
UsedCachedList[n] = true;
|
||||||
|
isCached = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!isCached)
|
||||||
|
{
|
||||||
|
char gameID[7];
|
||||||
|
snprintf(gameID, sizeof(gameID), (const char *) ChanList[i].id);
|
||||||
MissingTitles.push_back(std::string(gameID));
|
MissingTitles.push_back(std::string(gameID));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,12 @@ enum
|
|||||||
AUTO = 2
|
AUTO = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
LOAD_GAMES = 0,
|
||||||
|
LOAD_CHANNELS = 1
|
||||||
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
JAPANESE,
|
JAPANESE,
|
||||||
@ -195,4 +201,11 @@ enum
|
|||||||
HOME_MENU_MAX_CHOICE,
|
HOME_MENU_MAX_CHOICE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
SEARCH_BEGINNING,
|
||||||
|
SEARCH_CONTENT,
|
||||||
|
SEARCH_MAX_CHOICE
|
||||||
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -22,10 +22,12 @@
|
|||||||
* distribution.
|
* distribution.
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include "Channels/channels.h"
|
||||||
#include "Controls/DeviceHandler.hpp"
|
#include "Controls/DeviceHandler.hpp"
|
||||||
#include "CustomPathsSM.hpp"
|
#include "CustomPathsSM.hpp"
|
||||||
#include "settings/SettingsPrompts.h"
|
#include "settings/SettingsPrompts.h"
|
||||||
#include "settings/CSettings.h"
|
#include "settings/CSettings.h"
|
||||||
|
#include "settings/SettingsEnums.h"
|
||||||
#include "prompts/PromptWindows.h"
|
#include "prompts/PromptWindows.h"
|
||||||
#include "language/gettext.h"
|
#include "language/gettext.h"
|
||||||
#include "prompts/filebrowser.h"
|
#include "prompts/filebrowser.h"
|
||||||
@ -53,6 +55,7 @@ CustomPathsSM::CustomPathsSM()
|
|||||||
Options->SetName(Idx++, tr("WDM Files Path"));
|
Options->SetName(Idx++, tr("WDM Files Path"));
|
||||||
Options->SetName(Idx++, tr("Wiinnertag Path"));
|
Options->SetName(Idx++, tr("Wiinnertag Path"));
|
||||||
Options->SetName(Idx++, tr("Nand Emu Path"));
|
Options->SetName(Idx++, tr("Nand Emu Path"));
|
||||||
|
Options->SetName(Idx++, tr("Nand Emu Channel Path"));
|
||||||
|
|
||||||
SetOptionValues();
|
SetOptionValues();
|
||||||
}
|
}
|
||||||
@ -111,6 +114,9 @@ void CustomPathsSM::SetOptionValues()
|
|||||||
|
|
||||||
//! Settings: Nand Emu Path
|
//! Settings: Nand Emu Path
|
||||||
Options->SetValue(Idx++, Settings.NandEmuPath);
|
Options->SetValue(Idx++, Settings.NandEmuPath);
|
||||||
|
|
||||||
|
//! Settings: Nand Emu Channel Path
|
||||||
|
Options->SetValue(Idx++, Settings.NandEmuChanPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
int CustomPathsSM::GetMenuInternal()
|
int CustomPathsSM::GetMenuInternal()
|
||||||
@ -249,6 +255,25 @@ int CustomPathsSM::GetMenuInternal()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! Settings: Nand Emu Channel Path
|
||||||
|
else if (ret == ++Idx)
|
||||||
|
{
|
||||||
|
char oldPath[sizeof(Settings.NandEmuChanPath)];
|
||||||
|
snprintf(oldPath, sizeof(oldPath), Settings.NandEmuChanPath);
|
||||||
|
|
||||||
|
titleTxt->SetText(tr( "Nand Emu Channel Path" ));
|
||||||
|
ChangePath(Settings.NandEmuChanPath, sizeof(Settings.NandEmuChanPath));
|
||||||
|
if(strncasecmp(DeviceHandler::PathToFSName(Settings.NandEmuChanPath), "FAT", 3) != 0)
|
||||||
|
{
|
||||||
|
snprintf(Settings.NandEmuChanPath, sizeof(Settings.NandEmuChanPath), oldPath);
|
||||||
|
WindowPrompt(tr("Error:"), tr("Nand Emulation only works on FAT/FAT32 partitions!"), tr("OK"));
|
||||||
|
}
|
||||||
|
else if(Settings.NandEmuChanMode != OFF)
|
||||||
|
{
|
||||||
|
Channels::Instance()->GetEmuChannelList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//! Global set back of the titleTxt after a change
|
//! Global set back of the titleTxt after a change
|
||||||
titleTxt->SetText(tr( "Custom Paths" ));
|
titleTxt->SetText(tr( "Custom Paths" ));
|
||||||
SetOptionValues();
|
SetOptionValues();
|
||||||
|
@ -96,6 +96,12 @@ static const char * HomeMenuText[HOME_MENU_MAX_CHOICE] =
|
|||||||
trNOOP( "Default" )
|
trNOOP( "Default" )
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const char * searchModeText[] =
|
||||||
|
{
|
||||||
|
trNOOP( "Beginning" ),
|
||||||
|
trNOOP( "Content" ),
|
||||||
|
};
|
||||||
|
|
||||||
GuiSettingsMenu::GuiSettingsMenu()
|
GuiSettingsMenu::GuiSettingsMenu()
|
||||||
: SettingsMenu(tr("GUI Settings"), &GuiOptions, MENU_NONE)
|
: SettingsMenu(tr("GUI Settings"), &GuiOptions, MENU_NONE)
|
||||||
{
|
{
|
||||||
@ -116,6 +122,7 @@ GuiSettingsMenu::GuiSettingsMenu()
|
|||||||
Options->SetName(Idx++, "%s", tr( "Show Free Space" ));
|
Options->SetName(Idx++, "%s", tr( "Show Free Space" ));
|
||||||
Options->SetName(Idx++, "%s", tr( "HOME Menu" ));
|
Options->SetName(Idx++, "%s", tr( "HOME Menu" ));
|
||||||
Options->SetName(Idx++, "%s", tr( "Use System Font" ));
|
Options->SetName(Idx++, "%s", tr( "Use System Font" ));
|
||||||
|
Options->SetName(Idx++, "%s", tr( "Search Mode" ));
|
||||||
|
|
||||||
SetOptionValues();
|
SetOptionValues();
|
||||||
}
|
}
|
||||||
@ -183,6 +190,9 @@ void GuiSettingsMenu::SetOptionValues()
|
|||||||
|
|
||||||
//! Settings: Use System Font
|
//! Settings: Use System Font
|
||||||
Options->SetValue(Idx++, "%s", tr( OnOffText[Settings.UseSystemFont] ));
|
Options->SetValue(Idx++, "%s", tr( OnOffText[Settings.UseSystemFont] ));
|
||||||
|
|
||||||
|
//! Settings: Search Mode
|
||||||
|
Options->SetValue(Idx++, "%s", tr( searchModeText[Settings.SearchMode] ));
|
||||||
}
|
}
|
||||||
|
|
||||||
int GuiSettingsMenu::GetMenuInternal()
|
int GuiSettingsMenu::GetMenuInternal()
|
||||||
@ -359,6 +369,12 @@ int GuiSettingsMenu::GetMenuInternal()
|
|||||||
Settings.FontScaleFactor = 1.0f;
|
Settings.FontScaleFactor = 1.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! Settings: Search Mode
|
||||||
|
else if (ret == ++Idx)
|
||||||
|
{
|
||||||
|
if (++Settings.SearchMode >= SEARCH_MAX_CHOICE) Settings.SearchMode = 0;
|
||||||
|
}
|
||||||
|
|
||||||
SetOptionValues();
|
SetOptionValues();
|
||||||
|
|
||||||
return MENU_NONE;
|
return MENU_NONE;
|
||||||
|
@ -47,7 +47,7 @@ GameSettingsMenu::~GameSettingsMenu()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
int GameSettingsMenu::Show(GameBrowseMenu *parent, struct discHdr * header)
|
int GameSettingsMenu::Execute(GameBrowseMenu *parent, struct discHdr * header)
|
||||||
{
|
{
|
||||||
GameSettingsMenu * Menu = new GameSettingsMenu(parent, header);
|
GameSettingsMenu * Menu = new GameSettingsMenu(parent, header);
|
||||||
mainWindow->Append(Menu);
|
mainWindow->Append(Menu);
|
||||||
@ -124,8 +124,7 @@ void GameSettingsMenu::CreateSettingsMenu(int menuNr)
|
|||||||
mainWindow->Remove(&promptMenu);
|
mainWindow->Remove(&promptMenu);
|
||||||
if(promptMenu.categoriesChanged())
|
if(promptMenu.categoriesChanged())
|
||||||
{
|
{
|
||||||
wString oldFilter(gameList.GetCurrentFilter());
|
gameList.FilterList();
|
||||||
gameList.FilterList(oldFilter.c_str());
|
|
||||||
browserMenu->ReloadBrowser();
|
browserMenu->ReloadBrowser();
|
||||||
}
|
}
|
||||||
mainWindow->SetState(STATE_DEFAULT);
|
mainWindow->SetState(STATE_DEFAULT);
|
||||||
|
@ -34,7 +34,7 @@ class GameSettingsMenu : public FlyingButtonsMenu
|
|||||||
public:
|
public:
|
||||||
GameSettingsMenu(GameBrowseMenu *parent, struct discHdr * header);
|
GameSettingsMenu(GameBrowseMenu *parent, struct discHdr * header);
|
||||||
virtual ~GameSettingsMenu();
|
virtual ~GameSettingsMenu();
|
||||||
static int Show(GameBrowseMenu *parent, struct discHdr *header);
|
static int Execute(GameBrowseMenu *parent, struct discHdr *header);
|
||||||
protected:
|
protected:
|
||||||
virtual void CreateSettingsMenu(int index);
|
virtual void CreateSettingsMenu(int index);
|
||||||
virtual void DeleteSettingsMenu();
|
virtual void DeleteSettingsMenu();
|
||||||
|
@ -49,7 +49,7 @@ GlobalSettings::~GlobalSettings()
|
|||||||
delete creditsImgOverData;
|
delete creditsImgOverData;
|
||||||
}
|
}
|
||||||
|
|
||||||
int GlobalSettings::Show()
|
int GlobalSettings::Execute()
|
||||||
{
|
{
|
||||||
GlobalSettings * Menu = new GlobalSettings();
|
GlobalSettings * Menu = new GlobalSettings();
|
||||||
mainWindow->Append(Menu);
|
mainWindow->Append(Menu);
|
||||||
|
@ -31,7 +31,7 @@ class GlobalSettings : public FlyingButtonsMenu
|
|||||||
public:
|
public:
|
||||||
GlobalSettings();
|
GlobalSettings();
|
||||||
virtual ~GlobalSettings();
|
virtual ~GlobalSettings();
|
||||||
static int Show();
|
static int Execute();
|
||||||
protected:
|
protected:
|
||||||
virtual void CreateSettingsMenu(int index);
|
virtual void CreateSettingsMenu(int index);
|
||||||
virtual void DeleteSettingsMenu();
|
virtual void DeleteSettingsMenu();
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
#include "LoaderSettings.hpp"
|
#include "LoaderSettings.hpp"
|
||||||
#include "usbloader/usbstorage2.h"
|
#include "usbloader/usbstorage2.h"
|
||||||
#include "settings/CSettings.h"
|
#include "settings/CSettings.h"
|
||||||
|
#include "settings/GameTitles.h"
|
||||||
#include "prompts/PromptWindows.h"
|
#include "prompts/PromptWindows.h"
|
||||||
#include "language/gettext.h"
|
#include "language/gettext.h"
|
||||||
#include "wad/nandtitle.h"
|
#include "wad/nandtitle.h"
|
||||||
@ -32,6 +33,12 @@
|
|||||||
#include "system/IosLoader.h"
|
#include "system/IosLoader.h"
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
|
|
||||||
|
static const char * dispMethText[] =
|
||||||
|
{
|
||||||
|
trNOOP( "Games" ),
|
||||||
|
trNOOP( "Channels" )
|
||||||
|
};
|
||||||
|
|
||||||
static const char * OnOffText[] =
|
static const char * OnOffText[] =
|
||||||
{
|
{
|
||||||
trNOOP( "OFF" ),
|
trNOOP( "OFF" ),
|
||||||
@ -97,6 +104,7 @@ LoaderSettings::LoaderSettings()
|
|||||||
{
|
{
|
||||||
int Idx = 0;
|
int Idx = 0;
|
||||||
|
|
||||||
|
Options->SetName(Idx++, "%s", tr( "Loader Mode" ));
|
||||||
Options->SetName(Idx++, "%s", tr( "Video Mode" ));
|
Options->SetName(Idx++, "%s", tr( "Video Mode" ));
|
||||||
Options->SetName(Idx++, "%s", tr( "VIDTV Patch" ));
|
Options->SetName(Idx++, "%s", tr( "VIDTV Patch" ));
|
||||||
Options->SetName(Idx++, "%s", tr( "Sneek Video Patch" ));
|
Options->SetName(Idx++, "%s", tr( "Sneek Video Patch" ));
|
||||||
@ -108,18 +116,30 @@ LoaderSettings::LoaderSettings()
|
|||||||
Options->SetName(Idx++, "%s", tr( "Error 002 fix" ));
|
Options->SetName(Idx++, "%s", tr( "Error 002 fix" ));
|
||||||
Options->SetName(Idx++, "%s", tr( "Block IOS Reload" ));
|
Options->SetName(Idx++, "%s", tr( "Block IOS Reload" ));
|
||||||
Options->SetName(Idx++, "%s", tr( "Return To" ));
|
Options->SetName(Idx++, "%s", tr( "Return To" ));
|
||||||
Options->SetName(Idx++, "%s", tr( "Nand Emulation" ));
|
Options->SetName(Idx++, "%s", tr( "Nand Saves Emulation" ));
|
||||||
|
Options->SetName(Idx++, "%s", tr( "Nand Channel Emulation" ));
|
||||||
Options->SetName(Idx++, "%s", tr( "Hooktype" ));
|
Options->SetName(Idx++, "%s", tr( "Hooktype" ));
|
||||||
Options->SetName(Idx++, "%s", tr( "Wiird Debugger" ));
|
Options->SetName(Idx++, "%s", tr( "Wiird Debugger" ));
|
||||||
Options->SetName(Idx++, "%s", tr( "Debugger Paused Start" ));
|
Options->SetName(Idx++, "%s", tr( "Debugger Paused Start" ));
|
||||||
|
|
||||||
SetOptionValues();
|
SetOptionValues();
|
||||||
|
|
||||||
|
oldLoaderMode = Settings.LoaderMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
LoaderSettings::~LoaderSettings()
|
||||||
|
{
|
||||||
|
if(oldLoaderMode != Settings.LoaderMode)
|
||||||
|
GameTitles.LoadTitlesFromGameTDB(Settings.titlestxt_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoaderSettings::SetOptionValues()
|
void LoaderSettings::SetOptionValues()
|
||||||
{
|
{
|
||||||
int Idx = 0;
|
int Idx = 0;
|
||||||
|
|
||||||
|
//! Settings: Loader Mode
|
||||||
|
Options->SetValue(Idx++, "%s", tr(dispMethText[Settings.LoaderMode]));
|
||||||
|
|
||||||
//! Settings: Video Mode
|
//! Settings: Video Mode
|
||||||
Options->SetValue(Idx++, "%s", tr(VideoModeText[Settings.videomode]));
|
Options->SetValue(Idx++, "%s", tr(VideoModeText[Settings.videomode]));
|
||||||
|
|
||||||
@ -165,6 +185,9 @@ void LoaderSettings::SetOptionValues()
|
|||||||
//! Settings: Nand Emulation
|
//! Settings: Nand Emulation
|
||||||
Options->SetValue(Idx++, "%s", tr( NandEmuText[Settings.NandEmuMode] ));
|
Options->SetValue(Idx++, "%s", tr( NandEmuText[Settings.NandEmuMode] ));
|
||||||
|
|
||||||
|
//! Settings: Nand Channel Emulation
|
||||||
|
Options->SetValue(Idx++, "%s", tr( NandEmuText[Settings.NandEmuChanMode] ));
|
||||||
|
|
||||||
//! Settings: Hooktype
|
//! Settings: Hooktype
|
||||||
Options->SetValue(Idx++, "%s", tr( HooktypeText[Settings.Hooktype] ));
|
Options->SetValue(Idx++, "%s", tr( HooktypeText[Settings.Hooktype] ));
|
||||||
|
|
||||||
@ -184,6 +207,12 @@ int LoaderSettings::GetMenuInternal()
|
|||||||
|
|
||||||
int Idx = -1;
|
int Idx = -1;
|
||||||
|
|
||||||
|
//! Settings: Loader Mode
|
||||||
|
if (ret == ++Idx)
|
||||||
|
{
|
||||||
|
if (++Settings.LoaderMode >= MAX_ON_OFF) Settings.LoaderMode = LOAD_GAMES;
|
||||||
|
}
|
||||||
|
|
||||||
//! Settings: Video Mode
|
//! Settings: Video Mode
|
||||||
if (ret == ++Idx)
|
if (ret == ++Idx)
|
||||||
{
|
{
|
||||||
@ -280,6 +309,14 @@ int LoaderSettings::GetMenuInternal()
|
|||||||
else if (++Settings.NandEmuMode >= 3) Settings.NandEmuMode = 0;
|
else if (++Settings.NandEmuMode >= 3) Settings.NandEmuMode = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! Settings: Nand Channel Emulation
|
||||||
|
else if (ret == ++Idx )
|
||||||
|
{
|
||||||
|
if(!IosLoader::IsD2X())
|
||||||
|
WindowPrompt(tr("Error:"), tr("Nand Emulation is only available on D2X cIOS!"), tr("OK"));
|
||||||
|
else if (++Settings.NandEmuChanMode >= 3) Settings.NandEmuChanMode = 0;
|
||||||
|
}
|
||||||
|
|
||||||
//! Settings: Hooktype
|
//! Settings: Hooktype
|
||||||
else if (ret == ++Idx )
|
else if (ret == ++Idx )
|
||||||
{
|
{
|
||||||
|
@ -30,10 +30,12 @@ class LoaderSettings : public SettingsMenu
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
LoaderSettings();
|
LoaderSettings();
|
||||||
|
~LoaderSettings();
|
||||||
protected:
|
protected:
|
||||||
void SetOptionValues();
|
void SetOptionValues();
|
||||||
int GetMenuInternal();
|
int GetMenuInternal();
|
||||||
|
|
||||||
|
short oldLoaderMode;
|
||||||
OptionList GuiOptions;
|
OptionList GuiOptions;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -108,7 +108,7 @@ ThemeDownloader::~ThemeDownloader()
|
|||||||
delete ThemePreviews[i];
|
delete ThemePreviews[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
int ThemeDownloader::Run()
|
int ThemeDownloader::Execute()
|
||||||
{
|
{
|
||||||
ThemeDownloader * Menu = new ThemeDownloader();
|
ThemeDownloader * Menu = new ThemeDownloader();
|
||||||
mainWindow->Append(Menu);
|
mainWindow->Append(Menu);
|
||||||
|
@ -32,7 +32,7 @@ class ThemeDownloader : public FlyingButtonsMenu
|
|||||||
public:
|
public:
|
||||||
ThemeDownloader();
|
ThemeDownloader();
|
||||||
virtual ~ThemeDownloader();
|
virtual ~ThemeDownloader();
|
||||||
static int Run();
|
static int Execute();
|
||||||
int MainLoop();
|
int MainLoop();
|
||||||
protected:
|
protected:
|
||||||
void CreateSettingsMenu(int index) { MainButtonClicked(index); };
|
void CreateSettingsMenu(int index) { MainButtonClicked(index); };
|
||||||
|
@ -89,7 +89,7 @@ ThemeMenu::~ThemeMenu()
|
|||||||
delete ThemePreviews[i];
|
delete ThemePreviews[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
int ThemeMenu::Run()
|
int ThemeMenu::Execute()
|
||||||
{
|
{
|
||||||
ThemeMenu * Menu = new ThemeMenu();
|
ThemeMenu * Menu = new ThemeMenu();
|
||||||
mainWindow->Append(Menu);
|
mainWindow->Append(Menu);
|
||||||
|
@ -35,7 +35,7 @@ class ThemeMenu : public FlyingButtonsMenu
|
|||||||
public:
|
public:
|
||||||
ThemeMenu();
|
ThemeMenu();
|
||||||
virtual ~ThemeMenu();
|
virtual ~ThemeMenu();
|
||||||
static int Run();
|
static int Execute();
|
||||||
int MainLoop();
|
int MainLoop();
|
||||||
protected:
|
protected:
|
||||||
void CreateSettingsMenu(int index) { MainButtonClicked(index); };
|
void CreateSettingsMenu(int index) { MainButtonClicked(index); };
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include "mload/mload_modules.h"
|
#include "mload/mload_modules.h"
|
||||||
#include "system/IosLoader.h"
|
#include "system/IosLoader.h"
|
||||||
#include "Controls/DeviceHandler.hpp"
|
#include "Controls/DeviceHandler.hpp"
|
||||||
|
#include "Channels/channels.h"
|
||||||
#include "usbloader/disc.h"
|
#include "usbloader/disc.h"
|
||||||
#include "usbloader/apploader.h"
|
#include "usbloader/apploader.h"
|
||||||
#include "usbloader/usbstorage2.h"
|
#include "usbloader/usbstorage2.h"
|
||||||
@ -134,28 +135,28 @@ void GameBooter::SetupAltDOL(u8 * gameID, u8 &alternatedol, u32 &alternatedoloff
|
|||||||
alternatedol = OFF;
|
alternatedol = OFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameBooter::SetupNandEmu(u8 NandEmuMode, struct discHdr &gameHeader)
|
void GameBooter::SetupNandEmu(u8 NandEmuMode, const char *NandEmuPath, struct discHdr &gameHeader)
|
||||||
{
|
{
|
||||||
if(NandEmuMode && strchr(Settings.NandEmuPath, '/'))
|
if(NandEmuMode && strchr(NandEmuPath, '/'))
|
||||||
{
|
{
|
||||||
//! Create save game path and title.tmd for not existing saves
|
//! Create save game path and title.tmd for not existing saves
|
||||||
CreateSavePath(&gameHeader);
|
CreateSavePath(&gameHeader);
|
||||||
|
|
||||||
gprintf("Enabling Nand Emulation on: %s\n", Settings.NandEmuPath);
|
gprintf("Enabling Nand Emulation on: %s\n", NandEmuPath);
|
||||||
Set_FullMode(NandEmuMode == 2);
|
Set_FullMode(NandEmuMode == 2);
|
||||||
Set_Path(strchr(Settings.NandEmuPath, '/'));
|
Set_Path(strchr(NandEmuPath, '/'));
|
||||||
|
|
||||||
//! Set which partition to use (USB only)
|
//! Set which partition to use (USB only)
|
||||||
if(strncmp(Settings.NandEmuPath, "usb", 3) == 0)
|
if(strncmp(NandEmuPath, "usb", 3) == 0)
|
||||||
Set_Partition(atoi(Settings.NandEmuPath+3)-1);
|
Set_Partition(atoi(NandEmuPath+3)-1);
|
||||||
//! Unmount SD since NAND Emu mount fails otherwise
|
//! Unmount SD since NAND Emu mount fails otherwise
|
||||||
else if(strncmp(Settings.NandEmuPath, "sd", 2) == 0)
|
else if(strncmp(NandEmuPath, "sd", 2) == 0)
|
||||||
DeviceHandler::Instance()->UnMountSD();
|
DeviceHandler::Instance()->UnMountSD();
|
||||||
|
|
||||||
Enable_Emu(strncmp(Settings.NandEmuPath, "usb", 3) == 0 ? EMU_USB : EMU_SD);
|
Enable_Emu(strncmp(NandEmuPath, "usb", 3) == 0 ? EMU_USB : EMU_SD);
|
||||||
|
|
||||||
//! Remount SD again after activating NAND emu
|
//! Remount SD again after activating NAND emu
|
||||||
if(strncmp(Settings.NandEmuPath, "sd", 2) == 0)
|
if(strncmp(NandEmuPath, "sd", 2) == 0)
|
||||||
DeviceHandler::Instance()->MountSD();
|
DeviceHandler::Instance()->MountSD();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -259,17 +260,31 @@ int GameBooter::BootGame(const char * gameID)
|
|||||||
Playlog_Update((char *) gameHeader.id, BNRInstance::Instance()->GetIMETTitle(CONF_GetLanguage()));
|
Playlog_Update((char *) gameHeader.id, BNRInstance::Instance()->GetIMETTitle(CONF_GetLanguage()));
|
||||||
|
|
||||||
//! Setup NAND emulation
|
//! Setup NAND emulation
|
||||||
SetupNandEmu(NandEmuMode, gameHeader);
|
if(Settings.LoaderMode != LOAD_CHANNELS)
|
||||||
|
SetupNandEmu(NandEmuMode, Settings.NandEmuPath, gameHeader);
|
||||||
|
else
|
||||||
|
SetupNandEmu(Settings.NandEmuChanMode, Settings.NandEmuChanPath, gameHeader);
|
||||||
|
|
||||||
//! Setup disc in cIOS and open it
|
// Load wip codes
|
||||||
ret = SetupDisc(gameHeader.id);
|
load_wip_code(gameHeader.id);
|
||||||
if (ret < 0)
|
|
||||||
Sys_BackToLoader();
|
|
||||||
|
|
||||||
//! Load BCA data for the game
|
//! Load Ocarina codes
|
||||||
gprintf("Loading BCA data...");
|
if (ocarinaChoice)
|
||||||
ret = do_bca_code(Settings.BcaCodepath, gameHeader.id);
|
ocarina_load_code(Settings.Cheatcodespath);
|
||||||
gprintf("%d\n", ret);
|
|
||||||
|
//! Setup disc stuff if we load a game
|
||||||
|
if(Settings.LoaderMode != LOAD_CHANNELS)
|
||||||
|
{
|
||||||
|
//! Setup disc in cIOS and open it
|
||||||
|
ret = SetupDisc(gameHeader.id);
|
||||||
|
if (ret < 0)
|
||||||
|
Sys_BackToLoader();
|
||||||
|
|
||||||
|
//! Load BCA data for the game
|
||||||
|
gprintf("Loading BCA data...");
|
||||||
|
ret = do_bca_code(Settings.BcaCodepath, gameHeader.id);
|
||||||
|
gprintf("%d\n", ret);
|
||||||
|
}
|
||||||
|
|
||||||
//! Setup IOS reload block
|
//! Setup IOS reload block
|
||||||
if (IosLoader::IsHermesIOS())
|
if (IosLoader::IsHermesIOS())
|
||||||
@ -290,16 +305,38 @@ int GameBooter::BootGame(const char * gameID)
|
|||||||
reloadblock = 0;
|
reloadblock = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Now we can free up the memory used by the game list
|
//! Now we can free up the memory used by the game/channel lists
|
||||||
gameList.clear();
|
gameList.clear();
|
||||||
|
Channels::DestroyInstance();
|
||||||
|
|
||||||
//! Load main.dol or alternative dol into memory, start the game apploader and get game entrypoint
|
//! Load main.dol or alternative dol into memory, start the game apploader and get game entrypoint
|
||||||
gprintf("\tDisc_wiiBoot\n");
|
if(Settings.LoaderMode != LOAD_CHANNELS)
|
||||||
AppEntrypoint = BootPartition(Settings.dolpath, videoChoice, alternatedol, alternatedoloffset);
|
{
|
||||||
|
gprintf("\tGame Boot\n");
|
||||||
|
AppEntrypoint = BootPartition(Settings.dolpath, videoChoice, alternatedol, alternatedoloffset);
|
||||||
|
//! Flush all caches and close up all devices
|
||||||
|
DeviceHandler::DestroyInstance();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gprintf("\tChannel Boot\n");
|
||||||
|
//! Flush all caches and close up all devices
|
||||||
|
//! Avoid later crashs with free if memory gets overwritten by game
|
||||||
|
DeviceHandler::DestroyInstance();
|
||||||
|
/* Setup low memory */
|
||||||
|
Disc_SetLowMem();
|
||||||
|
/* Setup video mode */
|
||||||
|
Disc_SelectVMode(videoChoice);
|
||||||
|
// Load dol
|
||||||
|
u64 tid;
|
||||||
|
memcpy(&tid, gameHeader.tid, 8);
|
||||||
|
AppEntrypoint = Channels::LoadChannel(tid);
|
||||||
|
}
|
||||||
|
|
||||||
//! No entrypoint found...back to HBC/SystemMenu
|
//! No entrypoint found...back to HBC/SystemMenu
|
||||||
if(AppEntrypoint == 0)
|
if(AppEntrypoint == 0)
|
||||||
{
|
{
|
||||||
|
gprintf("AppEntryPoint is 0, something went wrong\n");
|
||||||
WDVD_ClosePartition();
|
WDVD_ClosePartition();
|
||||||
Sys_BackToLoader();
|
Sys_BackToLoader();
|
||||||
}
|
}
|
||||||
@ -308,20 +345,15 @@ int GameBooter::BootGame(const char * gameID)
|
|||||||
gprintf("Applying game patches...\n");
|
gprintf("Applying game patches...\n");
|
||||||
gamepatches(videoChoice, languageChoice, countrystrings, viChoice, sneekChoice, Hooktype, fix002, reloadblock, iosChoice, returnToChoice);
|
gamepatches(videoChoice, languageChoice, countrystrings, viChoice, sneekChoice, Hooktype, fix002, reloadblock, iosChoice, returnToChoice);
|
||||||
|
|
||||||
//! Load Ocarina codes
|
|
||||||
if (ocarinaChoice)
|
|
||||||
ocarina_load_code(Settings.Cheatcodespath);
|
|
||||||
|
|
||||||
//! Load Code handler if needed
|
//! Load Code handler if needed
|
||||||
load_handler(Settings.Cheatcodespath, Hooktype, WiirdDebugger, Settings.WiirdDebuggerPause);
|
load_handler(Hooktype, WiirdDebugger, Settings.WiirdDebuggerPause);
|
||||||
|
|
||||||
//! Shadow mload - Only needed on some games with Hermes v5.1 (Check is inside the function)
|
//! Shadow mload - Only needed on some games with Hermes v5.1 (Check is inside the function)
|
||||||
shadow_mload();
|
shadow_mload();
|
||||||
|
|
||||||
gprintf("Shutting down devices...\n");
|
gprintf("Shutting down devices...\n");
|
||||||
//! Flush all caches and close up all devices
|
// Close all handlers
|
||||||
WBFS_CloseAll();
|
WBFS_CloseAll();
|
||||||
DeviceHandler::DestroyInstance();
|
|
||||||
if(Settings.USBPort == 2)
|
if(Settings.USBPort == 2)
|
||||||
//! Reset USB port because device handler changes it for cache flushing
|
//! Reset USB port because device handler changes it for cache flushing
|
||||||
USBStorage2_SetPort(usbport);
|
USBStorage2_SetPort(usbport);
|
||||||
|
@ -27,7 +27,7 @@ class GameBooter
|
|||||||
private:
|
private:
|
||||||
static int FindDiscHeader(const char * gameID, struct discHdr &gameHeader);
|
static int FindDiscHeader(const char * gameID, struct discHdr &gameHeader);
|
||||||
static void SetupAltDOL(u8 * gameID, u8 &alternatedol, u32 &alternatedoloffset);
|
static void SetupAltDOL(u8 * gameID, u8 &alternatedol, u32 &alternatedoloffset);
|
||||||
static void SetupNandEmu(u8 NandEmuMode, struct discHdr &gameHeader);
|
static void SetupNandEmu(u8 NandEmuMode, const char *NandEmuPath, struct discHdr &gameHeader);
|
||||||
static int SetupDisc(u8 *gameID);
|
static int SetupDisc(u8 *gameID);
|
||||||
static u32 BootPartition(char * dolpath, u8 videoselected, u8 alternatedol, u32 alternatedoloffset);
|
static u32 BootPartition(char * dolpath, u8 videoselected, u8 alternatedol, u32 alternatedoloffset);
|
||||||
};
|
};
|
||||||
|
@ -23,8 +23,8 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <wctype.h>
|
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
|
#include "GUI/gui_searchbar.h"
|
||||||
#include "usbloader/wbfs.h"
|
#include "usbloader/wbfs.h"
|
||||||
#include "settings/newtitles.h"
|
#include "settings/newtitles.h"
|
||||||
#include "settings/CSettings.h"
|
#include "settings/CSettings.h"
|
||||||
@ -35,13 +35,13 @@
|
|||||||
#include "FreeTypeGX.h"
|
#include "FreeTypeGX.h"
|
||||||
#include "GameList.h"
|
#include "GameList.h"
|
||||||
#include "memory/memory.h"
|
#include "memory/memory.h"
|
||||||
|
#include "Channels/channels.h"
|
||||||
|
|
||||||
GameList gameList;
|
GameList gameList;
|
||||||
|
|
||||||
void GameList::clear()
|
void GameList::clear()
|
||||||
{
|
{
|
||||||
GameFilter.clear();
|
GameFilter.clear();
|
||||||
AvailableSearchChars.clear();
|
|
||||||
FullGameList.clear();
|
FullGameList.clear();
|
||||||
GamePartitionList.clear();
|
GamePartitionList.clear();
|
||||||
FilteredList.clear();
|
FilteredList.clear();
|
||||||
@ -90,10 +90,7 @@ void GameList::RemovePartition(int part)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(FullGameList.size() > 0)
|
if(FullGameList.size() > 0)
|
||||||
{
|
FilterList();
|
||||||
wString filter(GameFilter);
|
|
||||||
FilterList(filter.c_str());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int GameList::InternalReadList(int part)
|
int GameList::InternalReadList(int part)
|
||||||
@ -156,6 +153,9 @@ int GameList::InternalReadList(int part)
|
|||||||
|
|
||||||
int GameList::ReadGameList()
|
int GameList::ReadGameList()
|
||||||
{
|
{
|
||||||
|
if(Settings.LoaderMode == LOAD_CHANNELS)
|
||||||
|
return 0;
|
||||||
|
|
||||||
// Clear list
|
// Clear list
|
||||||
clear();
|
clear();
|
||||||
|
|
||||||
@ -183,15 +183,22 @@ int GameList::ReadGameList()
|
|||||||
|
|
||||||
int GameList::FilterList(const wchar_t * gameFilter)
|
int GameList::FilterList(const wchar_t * gameFilter)
|
||||||
{
|
{
|
||||||
if (FullGameList.size() == 0) ReadGameList();
|
std::vector<struct discHdr> *FullList = &FullGameList;
|
||||||
if (gameFilter) GameFilter.assign(gameFilter);
|
|
||||||
|
if(Settings.LoaderMode == LOAD_CHANNELS)
|
||||||
|
FullList = &(Channels::Instance()->GetDiscHeaderList());
|
||||||
|
|
||||||
|
else if (FullGameList.size() == 0)
|
||||||
|
ReadGameList();
|
||||||
|
|
||||||
|
if (gameFilter)
|
||||||
|
GameFilter.assign(gameFilter);
|
||||||
|
|
||||||
FilteredList.clear();
|
FilteredList.clear();
|
||||||
AvailableSearchChars.clear();
|
|
||||||
|
|
||||||
for (u32 i = 0; i < FullGameList.size(); ++i)
|
for (u32 i = 0; i < FullList->size(); ++i)
|
||||||
{
|
{
|
||||||
struct discHdr *header = &FullGameList[i];
|
struct discHdr *header = &FullList->at(i);
|
||||||
|
|
||||||
/* Register game */
|
/* Register game */
|
||||||
NewTitles::Instance()->CheckGame(header->id);
|
NewTitles::Instance()->CheckGame(header->id);
|
||||||
@ -240,47 +247,14 @@ int GameList::FilterList(const wchar_t * gameFilter)
|
|||||||
if(GameCategories.isInCategory((char *) header->id, Settings.EnabledCategories[n]))
|
if(GameCategories.isInCategory((char *) header->id, Settings.EnabledCategories[n]))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(n == Settings.EnabledCategories.size()) continue;
|
if(n == Settings.EnabledCategories.size())
|
||||||
|
continue;
|
||||||
wchar_t *gameName = charToWideChar(GameTitles.GetTitle(header));
|
|
||||||
if (gameName)
|
|
||||||
{
|
|
||||||
if ( GameFilter.size() ) // has Filter
|
|
||||||
{
|
|
||||||
bool found = false;
|
|
||||||
wchar_t *s1 = gameName, *s2;
|
|
||||||
while( (s2 = wcscasestr(s1, GameFilter.c_str())) ) // search filter in gameName
|
|
||||||
{
|
|
||||||
found = true;
|
|
||||||
wchar_t ch = towupper(s2[GameFilter.size()]);
|
|
||||||
if(ch) AvailableSearchChars.insert(ch);
|
|
||||||
s1++; // try search filter in gameName more times
|
|
||||||
}
|
|
||||||
if(!found)
|
|
||||||
{
|
|
||||||
delete [] gameName;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else // no Filter -> makes all chars as aviable
|
|
||||||
{
|
|
||||||
for(wchar_t *ch = gameName; *ch; ch++)
|
|
||||||
if(*ch >= '@') // limit chars by empty filter
|
|
||||||
AvailableSearchChars.insert(towupper(*ch));
|
|
||||||
}
|
|
||||||
|
|
||||||
delete [] gameName;
|
|
||||||
}
|
|
||||||
|
|
||||||
FilteredList.push_back(header);
|
FilteredList.push_back(header);
|
||||||
}
|
}
|
||||||
|
|
||||||
NewTitles::Instance()->Save();
|
NewTitles::Instance()->Save();
|
||||||
|
GuiSearchBar::FilterList(FilteredList, GameFilter);
|
||||||
if (FilteredList.size() < 2)
|
|
||||||
|
|
||||||
if (FilteredList.size() < 2)
|
|
||||||
AvailableSearchChars.clear();
|
|
||||||
|
|
||||||
SortList();
|
SortList();
|
||||||
|
|
||||||
@ -289,36 +263,29 @@ int GameList::FilterList(const wchar_t * gameFilter)
|
|||||||
|
|
||||||
int GameList::LoadUnfiltered()
|
int GameList::LoadUnfiltered()
|
||||||
{
|
{
|
||||||
if (FullGameList.size() == 0) ReadGameList();
|
std::vector<struct discHdr> *FullList = &FullGameList;
|
||||||
|
|
||||||
|
if(Settings.LoaderMode == LOAD_CHANNELS)
|
||||||
|
FullList = &(Channels::Instance()->GetDiscHeaderList());
|
||||||
|
|
||||||
|
else if (FullGameList.size() == 0)
|
||||||
|
ReadGameList();
|
||||||
|
|
||||||
GameFilter.clear();
|
GameFilter.clear();
|
||||||
AvailableSearchChars.clear();
|
|
||||||
FilteredList.clear();
|
FilteredList.clear();
|
||||||
|
|
||||||
for (u32 i = 0; i < FullGameList.size(); ++i)
|
for (u32 i = 0; i < FullList->size(); ++i)
|
||||||
{
|
{
|
||||||
struct discHdr *header = &FullGameList[i];
|
struct discHdr *header = &FullList->at(i);
|
||||||
|
|
||||||
/* Register game */
|
/* Register game */
|
||||||
NewTitles::Instance()->CheckGame(header->id);
|
NewTitles::Instance()->CheckGame(header->id);
|
||||||
|
|
||||||
wchar_t *gameName = charToWideChar(GameTitles.GetTitle(header));
|
|
||||||
if (gameName)
|
|
||||||
{
|
|
||||||
for(wchar_t *ch = gameName; *ch; ch++)
|
|
||||||
if(*ch >= '@') // limit chars by unfiltered list
|
|
||||||
AvailableSearchChars.insert(towupper(*ch));
|
|
||||||
|
|
||||||
delete [] gameName;
|
|
||||||
}
|
|
||||||
|
|
||||||
FilteredList.push_back(header);
|
FilteredList.push_back(header);
|
||||||
}
|
}
|
||||||
|
|
||||||
NewTitles::Instance()->Save();
|
NewTitles::Instance()->Save();
|
||||||
|
GuiSearchBar::FilterList(FilteredList, GameFilter);
|
||||||
if (FilteredList.size() < 2)
|
|
||||||
AvailableSearchChars.clear();
|
|
||||||
|
|
||||||
SortList();
|
SortList();
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
#define GAME_LIST_H_
|
#define GAME_LIST_H_
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <set>
|
|
||||||
#include "Controls/DeviceHandler.hpp"
|
#include "Controls/DeviceHandler.hpp"
|
||||||
#include "wstring.hpp"
|
#include "wstring.hpp"
|
||||||
#include "usbloader/disc.h"
|
#include "usbloader/disc.h"
|
||||||
@ -20,7 +19,6 @@ class GameList
|
|||||||
struct discHdr * operator[](int i) const { if (i < 0 || i >= (int) FilteredList.size()) return NULL; return FilteredList[i]; }
|
struct discHdr * operator[](int i) const { if (i < 0 || i >= (int) FilteredList.size()) return NULL; return FilteredList[i]; }
|
||||||
struct discHdr * GetDiscHeader(const char * gameID) const;
|
struct discHdr * GetDiscHeader(const char * gameID) const;
|
||||||
const wchar_t * GetCurrentFilter() const { return GameFilter.c_str(); }
|
const wchar_t * GetCurrentFilter() const { return GameFilter.c_str(); }
|
||||||
const std::set<wchar_t> &GetAvailableSearchChars() const { return AvailableSearchChars; }
|
|
||||||
void SortList();
|
void SortList();
|
||||||
void clear();
|
void clear();
|
||||||
bool operator!() const { return (FullGameList.size() == 0); }
|
bool operator!() const { return (FullGameList.size() == 0); }
|
||||||
@ -35,6 +33,8 @@ class GameList
|
|||||||
int GetPartitionNumber(const u8 *gameid) const;
|
int GetPartitionNumber(const u8 *gameid) const;
|
||||||
int GetGameFS(const u8 *gameID) const { return DeviceHandler::Instance()->GetFilesystemType(USB1+GetPartitionNumber(gameID)); }
|
int GetGameFS(const u8 *gameID) const { return DeviceHandler::Instance()->GetFilesystemType(USB1+GetPartitionNumber(gameID)); }
|
||||||
void RemovePartition(int part_num);
|
void RemovePartition(int part_num);
|
||||||
|
std::vector<struct discHdr *> &GetFilteredList(void) { return FilteredList; }
|
||||||
|
std::vector<struct discHdr> &GetFullGameList(void) { return FullGameList; }
|
||||||
protected:
|
protected:
|
||||||
int InternalReadList(int part);
|
int InternalReadList(int part);
|
||||||
static bool NameSortCallback(const struct discHdr *a, const struct discHdr *b);
|
static bool NameSortCallback(const struct discHdr *a, const struct discHdr *b);
|
||||||
@ -42,7 +42,6 @@ class GameList
|
|||||||
static bool RankingSortCallback(const struct discHdr *a, const struct discHdr *b);
|
static bool RankingSortCallback(const struct discHdr *a, const struct discHdr *b);
|
||||||
static bool PlayersSortCallback(const struct discHdr *a, const struct discHdr *b);
|
static bool PlayersSortCallback(const struct discHdr *a, const struct discHdr *b);
|
||||||
|
|
||||||
std::set<wchar_t> AvailableSearchChars;
|
|
||||||
wString GameFilter;
|
wString GameFilter;
|
||||||
int selectedGame;
|
int selectedGame;
|
||||||
std::vector<struct discHdr *> FilteredList;
|
std::vector<struct discHdr *> FilteredList;
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "system/IosLoader.h"
|
#include "system/IosLoader.h"
|
||||||
|
#include "utils/tools.h"
|
||||||
#include "gecko.h"
|
#include "gecko.h"
|
||||||
#include "NandEmu.h"
|
#include "NandEmu.h"
|
||||||
|
|
||||||
@ -33,20 +34,18 @@ static nandDevice ndevList[] =
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* Buffer */
|
/* Buffer */
|
||||||
static u32 inbuf[8] ATTRIBUTE_ALIGN(32);
|
|
||||||
static const char fs[] ATTRIBUTE_ALIGN(32) = "/dev/fs";
|
static const char fs[] ATTRIBUTE_ALIGN(32) = "/dev/fs";
|
||||||
static const char fat[] ATTRIBUTE_ALIGN(32) = "fat";
|
static const char fat[] ATTRIBUTE_ALIGN(32) = "fat";
|
||||||
static int mounted = 0;
|
static u32 partition ATTRIBUTE_ALIGN(32) = 0;
|
||||||
static int partition = 0;
|
static u32 mode ATTRIBUTE_ALIGN(32) = 0;
|
||||||
|
static char path[32] ATTRIBUTE_ALIGN(32) = "\0";
|
||||||
static int fullmode = 0;
|
static int fullmode = 0;
|
||||||
static char path[32] = "\0";
|
static int mounted = 0;
|
||||||
|
|
||||||
static s32 Nand_Mount(nandDevice *dev)
|
static s32 Nand_Mount(nandDevice *dev)
|
||||||
{
|
{
|
||||||
s32 fd, ret;
|
s32 fd, ret;
|
||||||
u32 inlen = 0;
|
|
||||||
ioctlv *vector = NULL;
|
ioctlv *vector = NULL;
|
||||||
u32 *buffer = NULL;
|
|
||||||
|
|
||||||
/* Open FAT module */
|
/* Open FAT module */
|
||||||
fd = IOS_Open(fat, 0);
|
fd = IOS_Open(fat, 0);
|
||||||
@ -58,27 +57,27 @@ static s32 Nand_Mount(nandDevice *dev)
|
|||||||
// and the nand is always expected to be on the 1st partition.
|
// and the nand is always expected to be on the 1st partition.
|
||||||
// However this way earlier d2x betas having revision 21 take in
|
// However this way earlier d2x betas having revision 21 take in
|
||||||
// consideration the partition argument.
|
// consideration the partition argument.
|
||||||
inlen = 1;
|
|
||||||
|
|
||||||
/* Allocate memory */
|
/* Allocate memory */
|
||||||
buffer = (u32 *)memalign(32, sizeof(u32)*3);
|
vector = (ioctlv *) memalign(32, sizeof(ioctlv));
|
||||||
|
if(vector == NULL)
|
||||||
|
{
|
||||||
|
/* Close FAT module */
|
||||||
|
IOS_Close(fd);
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
|
||||||
/* Set vector pointer */
|
vector[0].data = &partition;
|
||||||
vector = (ioctlv *)buffer;
|
vector[0].len = sizeof(u32);
|
||||||
|
|
||||||
buffer[0] = (u32)(buffer + 2);
|
|
||||||
buffer[1] = sizeof(u32);
|
|
||||||
buffer[2] = (u32)partition;
|
|
||||||
|
|
||||||
/* Mount device */
|
/* Mount device */
|
||||||
ret = IOS_Ioctlv(fd, dev->mountCmd, inlen, 0, vector);
|
ret = IOS_Ioctlv(fd, dev->mountCmd, 1, 0, vector);
|
||||||
|
|
||||||
/* Close FAT module */
|
/* Close FAT module */
|
||||||
IOS_Close(fd);
|
IOS_Close(fd);
|
||||||
|
|
||||||
/* Free memory */
|
/* Free memory */
|
||||||
if(buffer != NULL)
|
free(vector);
|
||||||
free(buffer);
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -104,7 +103,7 @@ static s32 Nand_Unmount(nandDevice *dev)
|
|||||||
static s32 Nand_Enable(nandDevice *dev)
|
static s32 Nand_Enable(nandDevice *dev)
|
||||||
{
|
{
|
||||||
s32 fd, ret;
|
s32 fd, ret;
|
||||||
u32 *buffer = NULL;
|
ioctlv *vector = NULL;
|
||||||
|
|
||||||
// Open /dev/fs
|
// Open /dev/fs
|
||||||
fd = IOS_Open(fs, 0);
|
fd = IOS_Open(fs, 0);
|
||||||
@ -113,29 +112,31 @@ static s32 Nand_Enable(nandDevice *dev)
|
|||||||
|
|
||||||
//FULL NAND emulation since rev18
|
//FULL NAND emulation since rev18
|
||||||
//needed for reading images on triiforce mrc folder using ISFS commands
|
//needed for reading images on triiforce mrc folder using ISFS commands
|
||||||
inbuf[0] = dev->mode | fullmode;
|
mode = dev->mode | fullmode;
|
||||||
|
|
||||||
// NOTE:
|
// NOTE:
|
||||||
// The official cIOSX rev21 by Waninkoko provides an undocumented feature
|
// The official cIOSX rev21 by Waninkoko provides an undocumented feature
|
||||||
// to set nand path when mounting the device.
|
// to set nand path when mounting the device.
|
||||||
// This feature has been discovered during d2x development.
|
// This feature has been discovered during d2x development.
|
||||||
int pathlen = strlen(path)+1;
|
|
||||||
|
|
||||||
/* Allocate memory */
|
/* Allocate memory */
|
||||||
buffer = (u32 *)memalign(32, (sizeof(u32)*5)+pathlen);
|
vector = (ioctlv *)memalign(32, sizeof(ioctlv)*2);
|
||||||
|
if(vector == NULL)
|
||||||
|
{
|
||||||
|
/* Close FAT module */
|
||||||
|
IOS_Close(fd);
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
|
||||||
buffer[0] = (u32)(buffer + 4);
|
vector[0].data = &mode;
|
||||||
buffer[1] = sizeof(u32); // actually not used by cios
|
vector[0].len = sizeof(u32);
|
||||||
buffer[2] = (u32)(buffer + 5);
|
vector[1].data = path;
|
||||||
buffer[3] = pathlen; // actually not used by cios
|
vector[1].len = sizeof(path);
|
||||||
buffer[4] = inbuf[0];
|
|
||||||
strcpy((char*)(buffer+5), path);
|
|
||||||
|
|
||||||
ret = IOS_Ioctlv(fd, 100, 2, 0, (ioctlv *)buffer);
|
ret = IOS_Ioctlv(fd, 100, 2, 0, vector);
|
||||||
|
|
||||||
/* Free memory */
|
/* Free memory */
|
||||||
if(buffer != NULL)
|
free(vector);
|
||||||
free(buffer);
|
|
||||||
|
|
||||||
// Close /dev/fs
|
// Close /dev/fs
|
||||||
IOS_Close(fd);
|
IOS_Close(fd);
|
||||||
@ -153,10 +154,10 @@ static s32 Nand_Disable(void)
|
|||||||
return fd;
|
return fd;
|
||||||
|
|
||||||
// Set input buffer
|
// Set input buffer
|
||||||
inbuf[0] = 0;
|
mode = 0;
|
||||||
|
|
||||||
// Disable NAND emulator
|
// Disable NAND emulator
|
||||||
ret = IOS_Ioctl(fd, 100, inbuf, sizeof(inbuf), NULL, 0);
|
ret = IOS_Ioctl(fd, 100, &mode, sizeof(mode), NULL, 0);
|
||||||
|
|
||||||
// Close /dev/fs
|
// Close /dev/fs
|
||||||
IOS_Close(fd);
|
IOS_Close(fd);
|
||||||
|
@ -17,6 +17,10 @@
|
|||||||
#include "../settings/SettingsEnums.h"
|
#include "../settings/SettingsEnums.h"
|
||||||
#include "../gecko.h"
|
#include "../gecko.h"
|
||||||
|
|
||||||
|
// Global app entry point
|
||||||
|
extern u32 AppEntrypoint;
|
||||||
|
void _unstub_start();
|
||||||
|
|
||||||
/* Constants */
|
/* Constants */
|
||||||
#define PTABLE_OFFSET 0x40000
|
#define PTABLE_OFFSET 0x40000
|
||||||
#define WII_MAGIC 0x5D1C9EA3
|
#define WII_MAGIC 0x5D1C9EA3
|
||||||
@ -284,7 +288,33 @@ s32 Disc_JumpToEntrypoint(s32 hooktype, u32 dolparameter)
|
|||||||
/* Originally from tueidj - taken from NeoGamme (thx) */
|
/* Originally from tueidj - taken from NeoGamme (thx) */
|
||||||
*(vu32*)0xCC003024 = dolparameter != 0 ? dolparameter : 1;
|
*(vu32*)0xCC003024 = dolparameter != 0 ? dolparameter : 1;
|
||||||
|
|
||||||
if (hooktype)
|
if(AppEntrypoint == 0x3400 && hooktype)
|
||||||
|
{
|
||||||
|
__asm__(
|
||||||
|
"lis %r3, returnpoint@h\n"
|
||||||
|
"ori %r3, %r3, returnpoint@l\n"
|
||||||
|
"mtlr %r3\n"
|
||||||
|
"lis %r3, 0x8000\n"
|
||||||
|
"ori %r3, %r3, 0x18A8\n"
|
||||||
|
"mtctr %r3\n"
|
||||||
|
"bctr\n"
|
||||||
|
"returnpoint:\n"
|
||||||
|
"bl DCDisable\n"
|
||||||
|
"bl ICDisable\n"
|
||||||
|
"li %r3, 0\n"
|
||||||
|
"mtsrr1 %r3\n"
|
||||||
|
"lis %r4, AppEntrypoint@h\n"
|
||||||
|
"ori %r4,%r4,AppEntrypoint@l\n"
|
||||||
|
"lwz %r4, 0(%r4)\n"
|
||||||
|
"mtsrr0 %r4\n"
|
||||||
|
"rfi\n"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else if(AppEntrypoint == 0x3400)
|
||||||
|
{
|
||||||
|
_unstub_start();
|
||||||
|
}
|
||||||
|
else if (hooktype)
|
||||||
{
|
{
|
||||||
__asm__(
|
__asm__(
|
||||||
"lis %r3, AppEntrypoint@h\n"
|
"lis %r3, AppEntrypoint@h\n"
|
||||||
|
@ -23,7 +23,9 @@ extern "C"
|
|||||||
|
|
||||||
/* Padding */
|
/* Padding */
|
||||||
u8 is_ciso;
|
u8 is_ciso;
|
||||||
u8 unused1[13];
|
|
||||||
|
/* Unused, on channel list mode this is the full 64 bit tid and zeros */
|
||||||
|
u8 tid[13];
|
||||||
|
|
||||||
/* Magic word */
|
/* Magic word */
|
||||||
u32 magic;
|
u32 magic;
|
||||||
|
214
source/utils/lz77.c
Executable file
214
source/utils/lz77.c
Executable file
@ -0,0 +1,214 @@
|
|||||||
|
/*******************************************************************************
|
||||||
|
* lz77.c
|
||||||
|
*
|
||||||
|
* Copyright (c) 2009 The Lemon Man
|
||||||
|
* Copyright (c) 2009 Nicksasa
|
||||||
|
* Copyright (c) 2009 WiiPower
|
||||||
|
*
|
||||||
|
* Distributed under the terms of the GNU General Public License (v2)
|
||||||
|
* See http://www.gnu.org/licenses/gpl-2.0.txt for more info.
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* -----------
|
||||||
|
*
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#include <gccore.h>
|
||||||
|
#include <malloc.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "lz77.h"
|
||||||
|
|
||||||
|
#define ALIGN32(x) (((x) + 31) & ~31)
|
||||||
|
|
||||||
|
u32 packBytes(int a, int b, int c, int d)
|
||||||
|
{
|
||||||
|
return (d << 24) | (c << 16) | (b << 8) | (a);
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 __decompressLZ77_11(u8 *in, u32 inputLen, u8 **output, u32 *outputLen)
|
||||||
|
{
|
||||||
|
int x, y;
|
||||||
|
|
||||||
|
u8 *out = NULL;
|
||||||
|
|
||||||
|
u32 compressedPos = 0x4;
|
||||||
|
u32 decompressedPos = 0x0;
|
||||||
|
u32 decompressedSize = 0;
|
||||||
|
|
||||||
|
decompressedSize = packBytes(in[0], in[1], in[2], in[3]) >> 8;
|
||||||
|
|
||||||
|
if (!decompressedSize)
|
||||||
|
{
|
||||||
|
decompressedSize = packBytes(in[4], in[5], in[6], in[7]);
|
||||||
|
compressedPos += 0x4;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("Decompressed size : %i\n", decompressedSize);
|
||||||
|
|
||||||
|
out = memalign(32, ALIGN32(decompressedSize));
|
||||||
|
if (out == NULL)
|
||||||
|
{
|
||||||
|
printf("Out of memory\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (compressedPos < inputLen && decompressedPos < decompressedSize)
|
||||||
|
{
|
||||||
|
u8 byteFlag = in[compressedPos];
|
||||||
|
compressedPos++;
|
||||||
|
|
||||||
|
for (x = 7; x >= 0; x--)
|
||||||
|
{
|
||||||
|
if ((byteFlag & (1 << x)) > 0)
|
||||||
|
{
|
||||||
|
u8 first = in[compressedPos];
|
||||||
|
u8 second = in[compressedPos + 1];
|
||||||
|
|
||||||
|
u32 pos, copyLen;
|
||||||
|
|
||||||
|
if (first < 0x20)
|
||||||
|
{
|
||||||
|
u8 third = in[compressedPos + 2];
|
||||||
|
|
||||||
|
if (first >= 0x10)
|
||||||
|
{
|
||||||
|
u32 fourth = in[compressedPos + 3];
|
||||||
|
|
||||||
|
pos = (u32)(((third & 0xF) << 8) | fourth) + 1;
|
||||||
|
copyLen = (u32)((second << 4) | ((first & 0xF) << 12) | (third >> 4)) + 273;
|
||||||
|
|
||||||
|
compressedPos += 4;
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
pos = (u32)(((second & 0xF) << 8) | third) + 1;
|
||||||
|
copyLen = (u32)(((first & 0xF) << 4) | (second >> 4)) + 17;
|
||||||
|
|
||||||
|
compressedPos += 3;
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
pos = (u32)(((first & 0xF) << 8) | second) + 1;
|
||||||
|
copyLen = (u32)(first >> 4) + 1;
|
||||||
|
|
||||||
|
compressedPos += 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (y = 0; y < (int) copyLen; y++)
|
||||||
|
{
|
||||||
|
out[decompressedPos + y] = out[decompressedPos - pos + y];
|
||||||
|
}
|
||||||
|
|
||||||
|
decompressedPos += copyLen;
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
out[decompressedPos] = in[compressedPos];
|
||||||
|
|
||||||
|
decompressedPos++;
|
||||||
|
compressedPos++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (compressedPos >= inputLen || decompressedPos >= decompressedSize)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*output = out;
|
||||||
|
*outputLen = decompressedSize;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 __decompressLZ77_10(u8 *in, u32 inputLen, u8 **output, u32 *outputLen)
|
||||||
|
{
|
||||||
|
int x, y;
|
||||||
|
|
||||||
|
u8 *out = NULL;
|
||||||
|
|
||||||
|
u32 compressedPos = 0;
|
||||||
|
u32 decompressedSize = 0x4;
|
||||||
|
u32 decompressedPos = 0;
|
||||||
|
|
||||||
|
decompressedSize = packBytes(in[0], in[1], in[2], in[3]) >> 8;
|
||||||
|
|
||||||
|
//int compressionType = (packBytes(in[0], in[1], in[2], in[3]) >> 4) & 0xF;
|
||||||
|
|
||||||
|
printf("Decompressed size : %i\n", decompressedSize);
|
||||||
|
|
||||||
|
out = memalign(32, ALIGN32(decompressedSize));
|
||||||
|
if (out == NULL)
|
||||||
|
{
|
||||||
|
printf("Out of memory\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
compressedPos += 0x4;
|
||||||
|
|
||||||
|
while (decompressedPos < decompressedSize)
|
||||||
|
{
|
||||||
|
u8 flag = *(u8*)(in + compressedPos);
|
||||||
|
compressedPos += 1;
|
||||||
|
|
||||||
|
for (x = 0; x < 8; x++)
|
||||||
|
{
|
||||||
|
if (flag & 0x80)
|
||||||
|
{
|
||||||
|
u8 first = in[compressedPos];
|
||||||
|
u8 second = in[compressedPos + 1];
|
||||||
|
|
||||||
|
u16 pos = (u16)((((first << 8) + second) & 0xFFF) + 1);
|
||||||
|
u8 copyLen = (u8)(3 + ((first >> 4) & 0xF));
|
||||||
|
|
||||||
|
for (y = 0; y < copyLen; y++)
|
||||||
|
{
|
||||||
|
out[decompressedPos + y] = out[decompressedPos - pos + (y % pos)];
|
||||||
|
}
|
||||||
|
|
||||||
|
compressedPos += 2;
|
||||||
|
decompressedPos += copyLen;
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
out[decompressedPos] = in[compressedPos];
|
||||||
|
compressedPos += 1;
|
||||||
|
decompressedPos += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
flag <<= 1;
|
||||||
|
|
||||||
|
if (decompressedPos >= decompressedSize)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
*output = out;
|
||||||
|
*outputLen = decompressedSize;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int isLZ77compressed(u8 *buffer)
|
||||||
|
{
|
||||||
|
if ((buffer[0] == LZ77_0x10_FLAG) || (buffer[0] == LZ77_0x11_FLAG))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int decompressLZ77content(u8 *buffer, u32 length, u8 **output, u32 *outputLen)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
switch (buffer[0])
|
||||||
|
{
|
||||||
|
case LZ77_0x10_FLAG:
|
||||||
|
ret = __decompressLZ77_10(buffer, length, output, outputLen);
|
||||||
|
break;
|
||||||
|
case LZ77_0x11_FLAG:
|
||||||
|
ret = __decompressLZ77_11(buffer, length, output, outputLen);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ret = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
34
source/utils/lz77.h
Executable file
34
source/utils/lz77.h
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
/*******************************************************************************
|
||||||
|
* lz77.h
|
||||||
|
*
|
||||||
|
* Copyright (c) 2009 The Lemon Man
|
||||||
|
* Copyright (c) 2009 Nicksasa
|
||||||
|
* Copyright (c) 2009 WiiPower
|
||||||
|
*
|
||||||
|
* Distributed under the terms of the GNU General Public License (v2)
|
||||||
|
* See http://www.gnu.org/licenses/gpl-2.0.txt for more info.
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* -----------
|
||||||
|
*
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef _LZ77_MODULE
|
||||||
|
#define _LZ77_MODULE
|
||||||
|
|
||||||
|
#define LZ77_0x10_FLAG 0x10
|
||||||
|
#define LZ77_0x11_FLAG 0x11
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
int isLZ77compressed(u8 *buffer);
|
||||||
|
int decompressLZ77content(u8 *buffer, u32 length, u8 **output, u32 *outputLen);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -425,7 +425,7 @@ u64 NandTitle::FindU32(const char *s)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int NandTitle::LoadFileFromNand(const char *filepath, u8 **outbuffer, u32 *outfilesize)
|
int NandTitle::LoadFileFromNand(const char *filepath, u8 **outbuffer, u32 *outfilesize, bool isfsInit)
|
||||||
{
|
{
|
||||||
if(!filepath)
|
if(!filepath)
|
||||||
return -1;
|
return -1;
|
||||||
@ -434,13 +434,13 @@ int NandTitle::LoadFileFromNand(const char *filepath, u8 **outbuffer, u32 *outfi
|
|||||||
if(!stats)
|
if(!stats)
|
||||||
return IPC_ENOMEM;
|
return IPC_ENOMEM;
|
||||||
|
|
||||||
ISFS_Initialize();
|
if(isfsInit) ISFS_Initialize();
|
||||||
|
|
||||||
int fd = ISFS_Open(filepath, ISFS_OPEN_READ);
|
int fd = ISFS_Open(filepath, ISFS_OPEN_READ);
|
||||||
if(fd < 0)
|
if(fd < 0)
|
||||||
{
|
{
|
||||||
free(stats);
|
free(stats);
|
||||||
ISFS_Deinitialize();
|
if(isfsInit) ISFS_Deinitialize();
|
||||||
return fd;
|
return fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -449,7 +449,7 @@ int NandTitle::LoadFileFromNand(const char *filepath, u8 **outbuffer, u32 *outfi
|
|||||||
{
|
{
|
||||||
free(stats);
|
free(stats);
|
||||||
ISFS_Close(fd);
|
ISFS_Close(fd);
|
||||||
ISFS_Deinitialize();
|
if(isfsInit) ISFS_Deinitialize();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -461,14 +461,14 @@ int NandTitle::LoadFileFromNand(const char *filepath, u8 **outbuffer, u32 *outfi
|
|||||||
if(!buffer)
|
if(!buffer)
|
||||||
{
|
{
|
||||||
ISFS_Close(fd);
|
ISFS_Close(fd);
|
||||||
ISFS_Deinitialize();
|
if(isfsInit) ISFS_Deinitialize();
|
||||||
return IPC_ENOMEM;
|
return IPC_ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = ISFS_Read(fd, buffer, filesize);
|
ret = ISFS_Read(fd, buffer, filesize);
|
||||||
|
|
||||||
ISFS_Close(fd);
|
ISFS_Close(fd);
|
||||||
ISFS_Deinitialize();
|
if(isfsInit) ISFS_Deinitialize();
|
||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
|
@ -95,7 +95,9 @@ class NandTitle
|
|||||||
|
|
||||||
u64 operator[](u32 i) { return At(i); }
|
u64 operator[](u32 i) { return At(i); }
|
||||||
|
|
||||||
static int LoadFileFromNand(const char *filepath, u8 **outbuffer, u32 *outfilesize);
|
bool GetName(u64 tid, int language, wchar_t* name);
|
||||||
|
|
||||||
|
static int LoadFileFromNand(const char *filepath, u8 **outbuffer, u32 *outfilesize, bool isfsInit = true);
|
||||||
static int ExtractFile(const char *nandPath, const char *filepath, bool isfsInit = true);
|
static int ExtractFile(const char *nandPath, const char *filepath, bool isfsInit = true);
|
||||||
static int ExtractDir(const char *wiipath, const char *filepath, bool isfsInit = true);
|
static int ExtractDir(const char *wiipath, const char *filepath, bool isfsInit = true);
|
||||||
private:
|
private:
|
||||||
@ -103,7 +105,6 @@ class NandTitle
|
|||||||
|
|
||||||
std::vector<u64> titleIds;
|
std::vector<u64> titleIds;
|
||||||
std::map<u64, string> NameList;
|
std::map<u64, string> NameList;
|
||||||
bool GetName(u64 tid, int language, wchar_t* name);
|
|
||||||
tmd* GetTMD(u64 tid);
|
tmd* GetTMD(u64 tid);
|
||||||
|
|
||||||
u32 currentIndex;
|
u32 currentIndex;
|
||||||
|
@ -147,15 +147,21 @@ size_t utf8Len(const char *s)
|
|||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
wchar_t *wcscasestr(const wchar_t *s1, const wchar_t *s2)
|
const wchar_t *wcscasestr(const wchar_t *s1, const wchar_t *s2)
|
||||||
{
|
{
|
||||||
if(*s2==0) return (wchar_t *)s1;
|
if(*s2 == 0)
|
||||||
|
return (wchar_t *)s1;
|
||||||
|
|
||||||
int s1_len = wcslen(s1);
|
int s1_len = wcslen(s1);
|
||||||
int s2_len = wcslen(s2);
|
int s2_len = wcslen(s2);
|
||||||
if(s1_len < s2_len) return 0;
|
|
||||||
|
if(s1_len < s2_len)
|
||||||
|
return 0;
|
||||||
|
|
||||||
const wchar_t *end = &s1[s1_len-s2_len];
|
const wchar_t *end = &s1[s1_len-s2_len];
|
||||||
for(wchar_t *s=(wchar_t *)s1; s<=end; s++)
|
for(const wchar_t *s = s1; s <= end; s++)
|
||||||
if(wcsncasecmp(s, s2, s2_len)==0)
|
if(wcsncasecmp(s, s2, s2_len)==0)
|
||||||
return s;
|
return s;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,6 @@ class wString: public std::basic_string<wchar_t, std::char_traits<wchar_t>, std:
|
|||||||
|
|
||||||
size_t utf8Len(const char *s);
|
size_t utf8Len(const char *s);
|
||||||
|
|
||||||
wchar_t *wcscasestr(const wchar_t *s1, const wchar_t *s2);
|
const wchar_t *wcscasestr(const wchar_t *s1, const wchar_t *s2);
|
||||||
|
|
||||||
#endif // !defined(__WSTRING_HPP)
|
#endif // !defined(__WSTRING_HPP)
|
||||||
|
Loading…
Reference in New Issue
Block a user