*Added custom Game Categories switchable in main menu and selected/adjustable in game settings menu. Own categories can be added and applied to games. A multiple category selection is supported in showing and assigning.

*Fix homebrew browser indicator counter (thx dj_skual)
*Fix We Dare anti piracy protection (thx oggzee)
*Fix Wip patching
*IOS reload block working with d2x v6 beta1+ with all filesystems
*Changed CheckBox Cross to squareroot sign
*Added auto detection of the usb port on start with Hermes cIOS (allowing startup without waiting 20s for USB port 1) (was build in in rodries ehcmodule, thx!)
*With new d2x v6 beta1+ sector sizes other than 512 bytes per sector should be supported on ext/ntfs (maybe fat too) (NOT TESTED, need feedback)
This commit is contained in:
dimok321 2011-06-03 20:31:09 +00:00
parent 71d1790f7f
commit 1913aea194
83 changed files with 5418 additions and 184 deletions

View File

@ -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.1 r1084</version> <version>2.1 r1085</version>
<release_date>201105302033</release_date> <release_date>201105311715</release_date>
<no_ios_reload/> <no_ios_reload/>
<short_description>Loads games from USB-devices</short_description> <short_description>Loads games from USB-devices</short_description>
<long_description>USB Loader GX is a libwiigui based USB iso loader with a wii-like GUI. You can install games to your HDDs and boot them with shorter loading times. <long_description>USB Loader GX is a libwiigui based USB iso loader with a wii-like GUI. You can install games to your HDDs and boot them with shorter loading times.

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:42+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: David Jelinek (djelinek@hotmail.com) e->e,r->r,u->u, c->c \n" "Last-Translator: David Jelinek (djelinek@hotmail.com) e->e,r->r,u->u, c->c \n"
"Language-Team: r1056 - last version on http://djelinek.sweb.cz/_USBLoderGX/czech.lang \n" "Language-Team: r1056 - last version on http://djelinek.sweb.cz/_USBLoderGX/czech.lang \n"
@ -123,6 +123,12 @@ msgstr ">> Nacítám WAD data...Ok! "
msgid "AUTO" msgid "AUTO"
msgstr "" msgstr ""
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "Vsechny oddíly" msgstr "Vsechny oddíly"
@ -147,6 +153,9 @@ msgstr ""
msgid "Apr" msgid "Apr"
msgstr "Dub" msgstr "Dub"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "Opravdu si prejete uzamknout USB Loader GX?" msgstr "Opravdu si prejete uzamknout USB Loader GX?"
@ -183,6 +192,9 @@ msgstr "Hudba na pozadí"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Velké díky pro:" msgstr "Velké díky pro:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "Zablokovat stažení obalů" msgstr "Zablokovat stažení obalů"
@ -268,6 +280,12 @@ msgstr "Zrušit"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "Nelze zapisovat na vybrané umístení." msgstr "Nelze zapisovat na vybrané umístení."
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "Zmena cesty prehrávání" msgstr "Zmena cesty prehrávání"
@ -314,6 +332,9 @@ msgstr "Konzole uzamcena"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "Konzole musí být pro tuto možnost odemčena " msgstr "Konzole musí být pro tuto možnost odemčena "
msgid "Console must be unlocked to be able to use this."
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"
@ -402,6 +423,9 @@ msgstr "Smazat obal krabicky"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Smazat potisk DVD" msgstr "Smazat potisk DVD"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "" msgstr ""
@ -1176,6 +1200,9 @@ msgstr "Vyberte DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "Vybrat DOL ze hry" msgstr "Vybrat DOL ze hry"
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "Zárí" msgstr "Zárí"
@ -1185,6 +1212,9 @@ msgstr "Nastavit vyhledávací filtr"
msgid "Settings" msgid "Settings"
msgstr "Nastavení" msgstr "Nastavení"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "Zobrazit volné místo" msgstr "Zobrazit volné místo"
@ -1415,6 +1445,9 @@ msgstr "Cesta k WIP patchum"
msgid "Waiting..." msgid "Waiting..."
msgstr "Cekám..." msgstr "Cekám..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "Varování:" msgstr "Varování:"
@ -1463,6 +1496,9 @@ msgstr "Nyní pouzíváte IOS:"
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "Pokousíte se vybrat oddíl FAT32/NTFS/EXT s cIOS 249 Rev < 18. To není podporováno. Pokracujte na vasi odpovednost." msgstr "Pokousíte se vybrat oddíl FAT32/NTFS/EXT s cIOS 249 Rev < 18. To není podporováno. Pokracujte na vasi odpovednost."
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "Musíte vybrat nebo naformátovat oddíl" msgstr "Musíte vybrat nebo naformátovat oddíl"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:42+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: Fox888[dk]\n" "Last-Translator: Fox888[dk]\n"
"Language-Team: [dk]\n" "Language-Team: [dk]\n"
@ -123,6 +123,12 @@ msgstr ">> Læser WAD-data...Ok!"
msgid "AUTO" msgid "AUTO"
msgstr "" msgstr ""
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "Alle Partitioner" msgstr "Alle Partitioner"
@ -147,6 +153,9 @@ msgstr "Indlæs"
msgid "Apr" msgid "Apr"
msgstr "" msgstr ""
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "Er du sikker på at du vil låse USB Loader GX?" msgstr "Er du sikker på at du vil låse USB Loader GX?"
@ -183,6 +192,9 @@ msgstr "Baggrundsmusik"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "En stor tak til:" msgstr "En stor tak til:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "Bloker Cover downloads" msgstr "Bloker Cover downloads"
@ -268,6 +280,12 @@ msgstr "Annullér"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "Kan ikke skrive til destinationen." msgstr "Kan ikke skrive til destinationen."
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "Ændre sti til musik" msgstr "Ændre sti til musik"
@ -314,6 +332,9 @@ msgstr "Konsollen er låst"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "Konsollen skal være låst op for denne mulighed." msgstr "Konsollen skal være låst op for denne mulighed."
msgid "Console must be unlocked to be able to use this."
msgstr ""
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."
@ -402,6 +423,9 @@ msgstr "Slet boxart"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Slet DVD-billede" msgstr "Slet DVD-billede"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "" msgstr ""
@ -1176,6 +1200,9 @@ msgstr "Vælg en DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "Vælg DOL fra spil" msgstr "Vælg DOL fra spil"
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "" msgstr ""
@ -1185,6 +1212,9 @@ msgstr "Søgefilter"
msgid "Settings" msgid "Settings"
msgstr "Indstillinger" msgstr "Indstillinger"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "Vis fri plads" msgstr "Vis fri plads"
@ -1415,6 +1445,9 @@ msgstr "Sti til WIP patches"
msgid "Waiting..." msgid "Waiting..."
msgstr "Venter..." msgstr "Venter..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "Advarsel:" msgstr "Advarsel:"
@ -1463,6 +1496,9 @@ msgstr "Du brug i øjeblikket IOS"
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "Du prøver at vælge en FAT32/NTFS/EXT partition med cIOS 249 Rev < 18. Dette er ikke understøttet. Fortsætte er på egen risiko" msgstr "Du prøver at vælge en FAT32/NTFS/EXT partition med cIOS 249 Rev < 18. Dette er ikke understøttet. Fortsætte er på egen risiko"
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "Du skal vælge eller formattere en partition" msgstr "Du skal vælge eller formattere en partition"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:42+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2011-03-16 08:16+0100\n" "PO-Revision-Date: 2011-03-16 08:16+0100\n"
"Last-Translator: glowy\n" "Last-Translator: glowy\n"
"Language-Team: tj_cool, glowy\n" "Language-Team: tj_cool, glowy\n"
@ -123,6 +123,12 @@ msgstr ">> WAD data lezen...Ok!"
msgid "AUTO" msgid "AUTO"
msgstr "" msgstr ""
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "Alle partities" msgstr "Alle partities"
@ -147,6 +153,9 @@ msgstr "Toepassen"
msgid "Apr" msgid "Apr"
msgstr "" msgstr ""
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "Weet je zeker dat je USB Loader GX wilt vergrendelen" msgstr "Weet je zeker dat je USB Loader GX wilt vergrendelen"
@ -183,6 +192,9 @@ msgstr "Achtergrondmuziek"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Grote dank aan:" msgstr "Grote dank aan:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "Blokkeer Downloads van Hoesjes" msgstr "Blokkeer Downloads van Hoesjes"
@ -268,6 +280,12 @@ msgstr "Annuleren"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "Kan niet naar bestemming schrijven." msgstr "Kan niet naar bestemming schrijven."
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "Verander afspeel locatie" msgstr "Verander afspeel locatie"
@ -314,6 +332,9 @@ msgstr "Console vergrendeld"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "Console moet ontgrendeld zijn voor deze optie." msgstr "Console moet ontgrendeld zijn voor deze optie."
msgid "Console must be unlocked to be able to use this."
msgstr ""
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."
@ -402,6 +423,9 @@ msgstr "Hoesjes verwijderen"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Disk labels verwijderen" msgstr "Disk labels verwijderen"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "Ontwerp:" msgstr "Ontwerp:"
@ -1176,6 +1200,9 @@ msgstr "Selecteer een DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "Selecteer een DOL van Spel" msgstr "Selecteer een DOL van Spel"
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "Sep" msgstr "Sep"
@ -1185,6 +1212,9 @@ msgstr "Zoekfilter instellen"
msgid "Settings" msgid "Settings"
msgstr "Instellingen" msgstr "Instellingen"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "Vrije ruimte weergeven" msgstr "Vrije ruimte weergeven"
@ -1415,6 +1445,9 @@ msgstr "Locatie WIP patches"
msgid "Waiting..." msgid "Waiting..."
msgstr "Wachten..." msgstr "Wachten..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "Waarschuwing:" msgstr "Waarschuwing:"
@ -1463,6 +1496,9 @@ msgstr "Je gebruikt op dit moment IOS"
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "Je probeert een FAT32/NTFS/EXT partitie te selecteren met cIOS 249 Rev < 18. Dit word niet ondersteund. Verder gaan is op eigen risico." msgstr "Je probeert een FAT32/NTFS/EXT partitie te selecteren met cIOS 249 Rev < 18. Dit word niet ondersteund. Verder gaan is op eigen risico."
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "Je moet een partitie selecteren of formatteren" msgstr "Je moet een partitie selecteren of formatteren"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:42+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -123,6 +123,12 @@ msgstr ""
msgid "AUTO" msgid "AUTO"
msgstr "" msgstr ""
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "" msgstr ""
@ -147,6 +153,9 @@ msgstr ""
msgid "Apr" msgid "Apr"
msgstr "" msgstr ""
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "" msgstr ""
@ -183,6 +192,9 @@ msgstr ""
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "" msgstr ""
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "" msgstr ""
@ -268,6 +280,12 @@ msgstr ""
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "" msgstr ""
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "" msgstr ""
@ -314,6 +332,9 @@ msgstr ""
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "" msgstr ""
msgid "Console must be unlocked to be able to use this."
msgstr ""
msgid "Console should be unlocked to modify it." msgid "Console should be unlocked to modify it."
msgstr "" msgstr ""
@ -402,6 +423,9 @@ msgstr ""
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "" msgstr ""
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "" msgstr ""
@ -1176,6 +1200,9 @@ msgstr ""
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "" msgstr ""
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "" msgstr ""
@ -1185,6 +1212,9 @@ msgstr ""
msgid "Settings" msgid "Settings"
msgstr "" msgstr ""
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "" msgstr ""
@ -1415,6 +1445,9 @@ msgstr ""
msgid "Waiting..." msgid "Waiting..."
msgstr "" msgstr ""
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "" msgstr ""
@ -1463,6 +1496,9 @@ msgstr ""
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "" msgstr ""
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "" msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:42+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: c64rmx\n" "Last-Translator: c64rmx\n"
"Language-Team: \n" "Language-Team: \n"
@ -123,6 +123,12 @@ msgstr ">> Luetaan WAD:ia...Ok!"
msgid "AUTO" msgid "AUTO"
msgstr "" msgstr ""
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "" msgstr ""
@ -147,6 +153,9 @@ msgstr ""
msgid "Apr" msgid "Apr"
msgstr "huhti" msgstr "huhti"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "" msgstr ""
@ -183,6 +192,9 @@ msgstr "Taustamusiikki"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Isot kiitokset:" msgstr "Isot kiitokset:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "" msgstr ""
@ -268,6 +280,12 @@ msgstr "Peruuta"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "" msgstr ""
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "" msgstr ""
@ -314,6 +332,9 @@ msgstr "Konsoli lukittu"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "" msgstr ""
msgid "Console must be unlocked to be able to use this."
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."
@ -402,6 +423,9 @@ msgstr "Tuhoa kannet"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Tuhoa levykuvat" msgstr "Tuhoa levykuvat"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "Suunnittelu" msgstr "Suunnittelu"
@ -1176,6 +1200,9 @@ msgstr "Valitse DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "" msgstr ""
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "syys" msgstr "syys"
@ -1185,6 +1212,9 @@ msgstr ""
msgid "Settings" msgid "Settings"
msgstr "Asetukset" msgstr "Asetukset"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "" msgstr ""
@ -1415,6 +1445,9 @@ msgstr ""
msgid "Waiting..." msgid "Waiting..."
msgstr "Odottaa..." msgstr "Odottaa..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "" msgstr ""
@ -1463,6 +1496,9 @@ msgstr ""
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "" msgstr ""
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "" msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:42+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: Cyan\n" "Last-Translator: Cyan\n"
"Language-Team: Badablek, Amour, ikya & Kin8\n" "Language-Team: Badablek, Amour, ikya & Kin8\n"
@ -123,6 +123,12 @@ msgstr ">> Lecture données WAD...OK!"
msgid "AUTO" msgid "AUTO"
msgstr "" msgstr ""
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "Toutes les partitions" msgstr "Toutes les partitions"
@ -147,6 +153,9 @@ msgstr "Appliquer"
msgid "Apr" msgid "Apr"
msgstr "Avr" msgstr "Avr"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "Êtes-vous sûr de vouloir verrouiller USB loader GX ?" msgstr "Êtes-vous sûr de vouloir verrouiller USB loader GX ?"
@ -183,6 +192,9 @@ msgstr "Fond sonore"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Grand merci à:" msgstr "Grand merci à:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "Bloquer Téléch. jaquettes" msgstr "Bloquer Téléch. jaquettes"
@ -268,6 +280,12 @@ msgstr "Annuler"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "Écriture impossible." msgstr "Écriture impossible."
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "Changer dossier" msgstr "Changer dossier"
@ -314,6 +332,9 @@ msgstr "Console verrouillée"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "La console doit être déverrouillée." msgstr "La console doit être déverrouillée."
msgid "Console must be unlocked to be able to use this."
msgstr ""
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."
@ -402,6 +423,9 @@ msgstr "Supprimer la jaquette"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Supprimer le label DVD" msgstr "Supprimer le label DVD"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "Graphisme:" msgstr "Graphisme:"
@ -1176,6 +1200,9 @@ msgstr "Choisir un DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "Sélectionner un DOL à partir du jeu" msgstr "Sélectionner un DOL à partir du jeu"
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "" msgstr ""
@ -1185,6 +1212,9 @@ msgstr "Filtre de Recherche"
msgid "Settings" msgid "Settings"
msgstr "Paramètres" msgstr "Paramètres"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "Montrer l'espace libre" msgstr "Montrer l'espace libre"
@ -1415,6 +1445,9 @@ msgstr "Dossier patchs WIP"
msgid "Waiting..." msgid "Waiting..."
msgstr "En attente..." msgstr "En attente..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "Attention:" msgstr "Attention:"
@ -1463,6 +1496,9 @@ msgstr "Vous utilisez actuellement l'IOS"
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "Vous essayez de sélectionner une partition FAT32/NTFS/EXT avec un cIOS 249 Rev < 18 (non supporté). Continuez à vos risques." msgstr "Vous essayez de sélectionner une partition FAT32/NTFS/EXT avec un cIOS 249 Rev < 18 (non supporté). Continuez à vos risques."
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "Vous devez choisir ou formater une partition" msgstr "Vous devez choisir ou formater une partition"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:42+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2010-07-03 17:35-0800\n" "PO-Revision-Date: 2010-07-03 17:35-0800\n"
"Last-Translator: TheRealVisitor\n" "Last-Translator: TheRealVisitor\n"
"Language-Team: Bertilax, Snoozer, wishmasterf, ZEN.13, TheRealVisitor\n" "Language-Team: Bertilax, Snoozer, wishmasterf, ZEN.13, TheRealVisitor\n"
@ -123,6 +123,12 @@ msgstr ">> Lese WAD Daten...OK!"
msgid "AUTO" msgid "AUTO"
msgstr "AUTO" msgstr "AUTO"
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "Alle Partitionen" msgstr "Alle Partitionen"
@ -147,6 +153,9 @@ msgstr "Anwenden"
msgid "Apr" msgid "Apr"
msgstr "April" msgstr "April"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "Bist du sicher, dass du USB Loader GX sperren willst?" msgstr "Bist du sicher, dass du USB Loader GX sperren willst?"
@ -183,6 +192,9 @@ msgstr "Hintergrundmusik"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Großen Dank an:" msgstr "Großen Dank an:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "Blocke Cover-Downloads" msgstr "Blocke Cover-Downloads"
@ -268,6 +280,12 @@ msgstr "Abbrechen"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "Ziel kann nicht beschrieben werden." msgstr "Ziel kann nicht beschrieben werden."
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "Pfad ändern" msgstr "Pfad ändern"
@ -314,6 +332,9 @@ msgstr "Konsole gesperrt"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "Gerät muss für diese Option entsperrt werden." msgstr "Gerät muss für diese Option entsperrt werden."
msgid "Console must be unlocked to be able to use this."
msgstr ""
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."
@ -402,6 +423,9 @@ msgstr "Lösche Cover"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Lösche Disc Cover" msgstr "Lösche Disc Cover"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "Design:" msgstr "Design:"
@ -1176,6 +1200,9 @@ msgstr "Wähle eine DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "Wähle eine DOL vom Spiel" msgstr "Wähle eine DOL vom Spiel"
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "September" msgstr "September"
@ -1185,6 +1212,9 @@ msgstr "Setze Suchfilter"
msgid "Settings" msgid "Settings"
msgstr "Einstellungen" msgstr "Einstellungen"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "Zeige frei. Speicher" msgstr "Zeige frei. Speicher"
@ -1415,6 +1445,9 @@ msgstr "WIP Patches"
msgid "Waiting..." msgid "Waiting..."
msgstr "Warte..." msgstr "Warte..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "Warnung:" msgstr "Warnung:"
@ -1463,6 +1496,9 @@ msgstr "Du benutzt zur Zeit das IOS"
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "Es wird versucht eine FAT32/NTFS/EXT Partition mit dem cIOS 249 Rev < 18 auszuwählen. Das wird nicht unterstützt. Weiter auf eigene Gefahr." msgstr "Es wird versucht eine FAT32/NTFS/EXT Partition mit dem cIOS 249 Rev < 18 auszuwählen. Das wird nicht unterstützt. Weiter auf eigene Gefahr."
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "Du must eine Partition auswählen oder formatieren." msgstr "Du must eine Partition auswählen oder formatieren."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:42+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-12-29 11:05+0100\n" "PO-Revision-Date: 2009-12-29 11:05+0100\n"
"Last-Translator: Springdale\n" "Last-Translator: Springdale\n"
"Language-Team: Tusk, Springdale\n" "Language-Team: Tusk, Springdale\n"
@ -123,6 +123,12 @@ msgstr ">> WAD adatok olvasása...Ok!"
msgid "AUTO" msgid "AUTO"
msgstr "" msgstr ""
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "" msgstr ""
@ -147,6 +153,9 @@ msgstr ""
msgid "Apr" msgid "Apr"
msgstr "Ápr" msgstr "Ápr"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "" msgstr ""
@ -183,6 +192,9 @@ msgstr "Háttérzene"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Köszönet:" msgstr "Köszönet:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "" msgstr ""
@ -268,6 +280,12 @@ msgstr "Mégse"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "" msgstr ""
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "" msgstr ""
@ -314,6 +332,9 @@ msgstr "Konzol Zárolva"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "" msgstr ""
msgid "Console must be unlocked to be able to use this."
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."
@ -402,6 +423,9 @@ msgstr "Borító törlése"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Lemezfotó törlése" msgstr "Lemezfotó törlése"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "Felület:" msgstr "Felület:"
@ -1176,6 +1200,9 @@ msgstr "DOL kiválasztása"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "" msgstr ""
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "Szep" msgstr "Szep"
@ -1185,6 +1212,9 @@ msgstr "Keresés"
msgid "Settings" msgid "Settings"
msgstr "Beállítások" msgstr "Beállítások"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "" msgstr ""
@ -1415,6 +1445,9 @@ msgstr "WIP Patch útvonal"
msgid "Waiting..." msgid "Waiting..."
msgstr "Várakozás..." msgstr "Várakozás..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "" msgstr ""
@ -1463,6 +1496,9 @@ msgstr ""
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "" msgstr ""
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "Választanod vagy formáznod kell egy partíciót" msgstr "Választanod vagy formáznod kell egy partíciót"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:44+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2011-03-10 21:00+0200\n" "PO-Revision-Date: 2011-03-10 21:00+0200\n"
"Last-Translator: Cambo \n" "Last-Translator: Cambo \n"
"Language-Team: Cambo\n" "Language-Team: Cambo\n"
@ -123,6 +123,12 @@ msgstr ">> Lettura dati WAD...OK!"
msgid "AUTO" msgid "AUTO"
msgstr "Automatico" msgstr "Automatico"
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "Tutte" msgstr "Tutte"
@ -147,6 +153,9 @@ msgstr "Applica"
msgid "Apr" msgid "Apr"
msgstr "aprile" msgstr "aprile"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "Sei sicuro di voler bloccare USB Loader GX?" msgstr "Sei sicuro di voler bloccare USB Loader GX?"
@ -183,6 +192,9 @@ msgstr "Musica Sottofondo"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Grazie mille a:" msgstr "Grazie mille a:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "Blocca Scaricam. Copertine" msgstr "Blocca Scaricam. Copertine"
@ -268,6 +280,12 @@ msgstr "Annulla"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "Impossibile scrivere nella destinazione." msgstr "Impossibile scrivere nella destinazione."
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "Modifica Cartella Suoni" msgstr "Modifica Cartella Suoni"
@ -314,6 +332,9 @@ msgstr "Console Bloccata"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "La Wii deve essere sbloccata per questa opzione." msgstr "La Wii deve essere sbloccata per questa opzione."
msgid "Console must be unlocked to be able to use this."
msgstr ""
msgid "Console should be unlocked to modify it." msgid "Console should be unlocked to modify it."
msgstr "Sbloccare la Console per Modificarla." msgstr "Sbloccare la Console per Modificarla."
@ -402,6 +423,9 @@ msgstr "Elimina la copertina"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Elimina l'immagine disco" msgstr "Elimina l'immagine disco"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "Grafica:" msgstr "Grafica:"
@ -1176,6 +1200,9 @@ msgstr "Seleziona un file DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "Seleziona un file DOL dal Gioco" msgstr "Seleziona un file DOL dal Gioco"
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "settembre" msgstr "settembre"
@ -1185,6 +1212,9 @@ msgstr "Cerca Gioco"
msgid "Settings" msgid "Settings"
msgstr "Impostazioni" msgstr "Impostazioni"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "Mostra Spazio Libero" msgstr "Mostra Spazio Libero"
@ -1415,6 +1445,9 @@ msgstr "Cart. Patch WIP"
msgid "Waiting..." msgid "Waiting..."
msgstr "Caricamento..." msgstr "Caricamento..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "Attenzione:" msgstr "Attenzione:"
@ -1463,6 +1496,9 @@ msgstr "Al momento stai utilizzando l'IOS"
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "Stai cercando di accedere ad una partizione FAT32/NTFS/EXT con un cIOS 249 di versione inferiore alla rev18. Ciò è non supportato. Continua a tuo rischio." msgstr "Stai cercando di accedere ad una partizione FAT32/NTFS/EXT con un cIOS 249 di versione inferiore alla rev18. Ciò è non supportato. Continua a tuo rischio."
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "Occorre selezionare o formattare una partizione" msgstr "Occorre selezionare o formattare una partizione"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:42+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: ichiroling\n" "Last-Translator: ichiroling\n"
"Language-Team: hosigumayuugi, papa, ichiroling\n" "Language-Team: hosigumayuugi, papa, ichiroling\n"
@ -123,6 +123,12 @@ msgstr ">> WADデータの読込 … 成功!"
msgid "AUTO" msgid "AUTO"
msgstr "自動" msgstr "自動"
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "全ての領域" msgstr "全ての領域"
@ -147,6 +153,9 @@ msgstr "適用"
msgid "Apr" msgid "Apr"
msgstr "4月" msgstr "4月"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "USB Loader GXをロックしますか?" msgstr "USB Loader GXをロックしますか?"
@ -183,6 +192,9 @@ msgstr "BGM"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "協力:" msgstr "協力:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "カバーのダウンロードを制限" msgstr "カバーのダウンロードを制限"
@ -268,6 +280,12 @@ msgstr "やめる"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "出力先に書き込めません" msgstr "出力先に書き込めません"
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "パスの変更" msgstr "パスの変更"
@ -314,6 +332,9 @@ msgstr "GXはロックされています"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "変更にはロックの解除が必要です" msgstr "変更にはロックの解除が必要です"
msgid "Console must be unlocked to be able to use this."
msgstr ""
msgid "Console should be unlocked to modify it." msgid "Console should be unlocked to modify it."
msgstr "変更にはロックの解除が必要です" msgstr "変更にはロックの解除が必要です"
@ -402,6 +423,9 @@ msgstr "カバー画像を削除"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "ディスク画像を削除" msgstr "ディスク画像を削除"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "デザイン:" msgstr "デザイン:"
@ -1176,6 +1200,9 @@ msgstr "DOLを選択"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "ゲームからDOLを選択" msgstr "ゲームからDOLを選択"
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "9月" msgstr "9月"
@ -1185,6 +1212,9 @@ msgstr "検索"
msgid "Settings" msgid "Settings"
msgstr "設定" msgstr "設定"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "空き容量の表示" msgstr "空き容量の表示"
@ -1415,6 +1445,9 @@ msgstr "WIPパッチ"
msgid "Waiting..." msgid "Waiting..."
msgstr "待機中…" msgstr "待機中…"
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "警告:" msgstr "警告:"
@ -1463,6 +1496,9 @@ msgstr "使用中のIOS:IOS"
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "rev17以前のcIOS249ではFAT32/NTFS/EXTに対応していません" msgstr "rev17以前のcIOS249ではFAT32/NTFS/EXTに対応していません"
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "領域を選択するか初期化してください" msgstr "領域を選択するか初期化してください"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:42+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: nextos@korea.com\n" "Last-Translator: nextos@korea.com\n"
"Language-Team: \n" "Language-Team: \n"
@ -123,6 +123,12 @@ msgstr ">> WAD 데이터 읽기...성공!"
msgid "AUTO" msgid "AUTO"
msgstr "자동" msgstr "자동"
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "" msgstr ""
@ -147,6 +153,9 @@ msgstr ""
msgid "Apr" msgid "Apr"
msgstr "4월" msgstr "4월"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "" msgstr ""
@ -183,6 +192,9 @@ msgstr "배경음악"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "감사 :" msgstr "감사 :"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "" msgstr ""
@ -268,6 +280,12 @@ msgstr "취소"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "" msgstr ""
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "" msgstr ""
@ -314,6 +332,9 @@ msgstr "콘솔 잠김"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "" msgstr ""
msgid "Console must be unlocked to be able to use this."
msgstr ""
msgid "Console should be unlocked to modify it." msgid "Console should be unlocked to modify it."
msgstr "변경하려면 콘솔 잠김을 해제하세요." msgstr "변경하려면 콘솔 잠김을 해제하세요."
@ -402,6 +423,9 @@ msgstr "박스아트 삭제"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "삭제 Discart" msgstr "삭제 Discart"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "디자인:" msgstr "디자인:"
@ -1176,6 +1200,9 @@ msgstr ""
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "" msgstr ""
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "9월" msgstr "9월"
@ -1185,6 +1212,9 @@ msgstr ""
msgid "Settings" msgid "Settings"
msgstr "설정" msgstr "설정"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "" msgstr ""
@ -1415,6 +1445,9 @@ msgstr ""
msgid "Waiting..." msgid "Waiting..."
msgstr "기다리는 중..." msgstr "기다리는 중..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "" msgstr ""
@ -1463,6 +1496,9 @@ msgstr ""
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "" msgstr ""
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "" msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:42+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: raschi\n" "Last-Translator: raschi\n"
"Language-Team: raschi\n" "Language-Team: raschi\n"
@ -123,6 +123,12 @@ msgstr ">> Leser WAD data...OK!"
msgid "AUTO" msgid "AUTO"
msgstr "" msgstr ""
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "Alle partisjoner" msgstr "Alle partisjoner"
@ -147,6 +153,9 @@ msgstr ""
msgid "Apr" msgid "Apr"
msgstr "" msgstr ""
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "Er du sikker på at du vil låse USB Loader GX?" msgstr "Er du sikker på at du vil låse USB Loader GX?"
@ -183,6 +192,9 @@ msgstr "Bakgrunnsmusikk"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Stor takk til:" msgstr "Stor takk til:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "" msgstr ""
@ -268,6 +280,12 @@ msgstr "Avbryt"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "Kan ikke skrive til mål." msgstr "Kan ikke skrive til mål."
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "Endre spill sti" msgstr "Endre spill sti"
@ -314,6 +332,9 @@ msgstr "Konsoll låst"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "" msgstr ""
msgid "Console must be unlocked to be able to use this."
msgstr ""
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."
@ -402,6 +423,9 @@ msgstr "Slett cover"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Slett platebilde" msgstr "Slett platebilde"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "" msgstr ""
@ -1176,6 +1200,9 @@ msgstr "Velg en DOL fil"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "Velg en DOL fra spill" msgstr "Velg en DOL fra spill"
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "Sep" msgstr "Sep"
@ -1185,6 +1212,9 @@ msgstr "Angi søkefilter"
msgid "Settings" msgid "Settings"
msgstr "Innstillinger" msgstr "Innstillinger"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "Vis ledig plass" msgstr "Vis ledig plass"
@ -1415,6 +1445,9 @@ msgstr "WIP patches sti"
msgid "Waiting..." msgid "Waiting..."
msgstr "Venter..." msgstr "Venter..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "Advarsel:" msgstr "Advarsel:"
@ -1463,6 +1496,9 @@ msgstr ""
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "Du prøver å velge en FAT32/NTFS/EXT partisjon med cIOS 249 rev < 18. Dette er ikke støttet. Fortsett på eget ansvar." msgstr "Du prøver å velge en FAT32/NTFS/EXT partisjon med cIOS 249 rev < 18. Dette er ikke støttet. Fortsett på eget ansvar."
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "Du må velge en partisjon" msgstr "Du må velge en partisjon"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:42+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: ziom666 (zadania_prog@vp.pl)\n" "Last-Translator: ziom666 (zadania_prog@vp.pl)\n"
"Language-Team: \n" "Language-Team: \n"
@ -123,6 +123,12 @@ msgstr ">> Odczyt danych WAD...Ok!"
msgid "AUTO" msgid "AUTO"
msgstr "automatycznie" msgstr "automatycznie"
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "" msgstr ""
@ -147,6 +153,9 @@ msgstr ""
msgid "Apr" msgid "Apr"
msgstr "Kwiecien" msgstr "Kwiecien"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "" msgstr ""
@ -183,6 +192,9 @@ msgstr "Muzyka w tle"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Podziekowania dla" msgstr "Podziekowania dla"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "" msgstr ""
@ -268,6 +280,12 @@ msgstr "Anuluj"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "" msgstr ""
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "" msgstr ""
@ -314,6 +332,9 @@ msgstr "Konsola zablokowana"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "" msgstr ""
msgid "Console must be unlocked to be able to use this."
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"
@ -402,6 +423,9 @@ msgstr "Usun obrazki box"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Usun obrazki plyt" msgstr "Usun obrazki plyt"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "Projekt:" msgstr "Projekt:"
@ -1176,6 +1200,9 @@ msgstr "Wybierz plik DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "" msgstr ""
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "Wrzesien" msgstr "Wrzesien"
@ -1185,6 +1212,9 @@ msgstr "Ustaw filtr wyszukiwania"
msgid "Settings" msgid "Settings"
msgstr "Ustawienia" msgstr "Ustawienia"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "" msgstr ""
@ -1415,6 +1445,9 @@ msgstr "Sciezka patchy WIP"
msgid "Waiting..." msgid "Waiting..."
msgstr "Oczekiwanie..." msgstr "Oczekiwanie..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "" msgstr ""
@ -1463,6 +1496,9 @@ msgstr ""
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "" msgstr ""
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "Musisz wybrac, lub sformatowac partycje" msgstr "Musisz wybrac, lub sformatowac partycje"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:42+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-23 18:52+0200\n" "PO-Revision-Date: 2009-10-23 18:52+0200\n"
"Last-Translator: aniemotion\n" "Last-Translator: aniemotion\n"
"Language-Team: boto12, aniemotion\n" "Language-Team: boto12, aniemotion\n"
@ -123,6 +123,12 @@ msgstr ">> Lendo arquivo WAD... Ok!"
msgid "AUTO" msgid "AUTO"
msgstr "" msgstr ""
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "" msgstr ""
@ -147,6 +153,9 @@ msgstr ""
msgid "Apr" msgid "Apr"
msgstr "Abr" msgstr "Abr"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "" msgstr ""
@ -183,6 +192,9 @@ msgstr "Música de fundo"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Agradecimentos:" msgstr "Agradecimentos:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "" msgstr ""
@ -268,6 +280,12 @@ msgstr "Cancelar"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "" msgstr ""
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "Alterar Caminho para Play" msgstr "Alterar Caminho para Play"
@ -314,6 +332,9 @@ msgstr "Configuração Bloqueada"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "" msgstr ""
msgid "Console must be unlocked to be able to use this."
msgstr ""
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."
@ -402,6 +423,9 @@ msgstr "Eliminar Capas"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Eliminar Img. Disco" msgstr "Eliminar Img. Disco"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "Desenho:" msgstr "Desenho:"
@ -1176,6 +1200,9 @@ msgstr "Selecionar um DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "" msgstr ""
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "Set" msgstr "Set"
@ -1185,6 +1212,9 @@ msgstr "Usar filtro de busca"
msgid "Settings" msgid "Settings"
msgstr "Configurações" msgstr "Configurações"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "" msgstr ""
@ -1415,6 +1445,9 @@ msgstr "Caminho WIP Patches"
msgid "Waiting..." msgid "Waiting..."
msgstr "Aguardando..." msgstr "Aguardando..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "" msgstr ""
@ -1463,6 +1496,9 @@ msgstr ""
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "" msgstr ""
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "Você precisa selecionar ou formatar uma partição" msgstr "Você precisa selecionar ou formatar uma partição"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:44+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2011-03-11 20:00-0000\n" "PO-Revision-Date: 2011-03-11 20:00-0000\n"
"Last-Translator: pplucky (Sky8000)\n" "Last-Translator: pplucky (Sky8000)\n"
"Language-Team: pplucky <pplucky@gmail.com> (Sky8000 <sky8000@hotmail.com>)\n" "Language-Team: pplucky <pplucky@gmail.com> (Sky8000 <sky8000@hotmail.com>)\n"
@ -123,6 +123,12 @@ msgstr ">> Lendo ficheiro WAD... Ok!"
msgid "AUTO" msgid "AUTO"
msgstr "AUTO" msgstr "AUTO"
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "Todas as Partições" msgstr "Todas as Partições"
@ -147,6 +153,9 @@ msgstr "Aplicar"
msgid "Apr" msgid "Apr"
msgstr "Abr" msgstr "Abr"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "Tem a certeza que quer bloquear o USB Loader GX?" msgstr "Tem a certeza que quer bloquear o USB Loader GX?"
@ -183,6 +192,9 @@ msgstr "Música de fundo"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Agradecimentos:" msgstr "Agradecimentos:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "Bloquear Descarregar Capas" msgstr "Bloquear Descarregar Capas"
@ -268,6 +280,12 @@ msgstr "Cancelar"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "Não foi possível escrever no destino." msgstr "Não foi possível escrever no destino."
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "Alterar Caminho de Músicas" msgstr "Alterar Caminho de Músicas"
@ -314,6 +332,9 @@ msgstr "Configuração Bloqueada"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "Configuração tem de estar desbloqueada para esta opção." msgstr "Configuração tem de estar desbloqueada para esta opção."
msgid "Console must be unlocked to be able to use this."
msgstr ""
msgid "Console should be unlocked to modify it." msgid "Console should be unlocked to modify it."
msgstr "Configuração tem de estar desbloqueada para modificar o parâmetro." msgstr "Configuração tem de estar desbloqueada para modificar o parâmetro."
@ -402,6 +423,9 @@ msgstr "Eliminar Capas"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Eliminar Img. Disco" msgstr "Eliminar Img. Disco"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "Design:" msgstr "Design:"
@ -1176,6 +1200,9 @@ msgstr "Seleccionar um DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "Seleccionar um DOL do Jogo" msgstr "Seleccionar um DOL do Jogo"
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "Set" msgstr "Set"
@ -1185,6 +1212,9 @@ msgstr "Filtro de pesquisa"
msgid "Settings" msgid "Settings"
msgstr "Configurações" msgstr "Configurações"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "Mostrar Espaço Livre" msgstr "Mostrar Espaço Livre"
@ -1415,6 +1445,9 @@ msgstr "Cam. Patches WIP"
msgid "Waiting..." msgid "Waiting..."
msgstr "Aguardando..." msgstr "Aguardando..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "Aviso:" msgstr "Aviso:"
@ -1463,6 +1496,9 @@ msgstr "Está a usar o IOS"
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "Está a tentar seleccionar uma partição FAT32/NTFS/EXT com um cIOS 249 Rev < 18. Isto não é suportado. Continue por sua conta e risco." msgstr "Está a tentar seleccionar uma partição FAT32/NTFS/EXT com um cIOS 249 Rev < 18. Isto não é suportado. Continue por sua conta e risco."
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "Necessita seleccionar ou formatar uma partição" msgstr "Necessita seleccionar ou formatar uma partição"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:44+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: nikolai_ca\n" "Last-Translator: nikolai_ca\n"
"Language-Team: Kir, alendit, nikolai_ca\n" "Language-Team: Kir, alendit, nikolai_ca\n"
@ -123,6 +123,12 @@ msgstr ">> Чтение данных WAD...Успешно!"
msgid "AUTO" msgid "AUTO"
msgstr "АВТО" msgstr "АВТО"
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "" msgstr ""
@ -147,6 +153,9 @@ msgstr ""
msgid "Apr" msgid "Apr"
msgstr "Апр" msgstr "Апр"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "" msgstr ""
@ -183,6 +192,9 @@ msgstr "Фоновая музыка"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Большое спасибо:" msgstr "Большое спасибо:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "" msgstr ""
@ -268,6 +280,12 @@ msgstr "Отмена"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "" msgstr ""
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "" msgstr ""
@ -314,6 +332,9 @@ msgstr "Консоль заблокирована"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "" msgstr ""
msgid "Console must be unlocked to be able to use this."
msgstr ""
msgid "Console should be unlocked to modify it." msgid "Console should be unlocked to modify it."
msgstr "Для изменения консоль должна быть разблокирована." msgstr "Для изменения консоль должна быть разблокирована."
@ -402,6 +423,9 @@ msgstr "Удалить обложку"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Удалить картинку диска" msgstr "Удалить картинку диска"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "Дизайн:" msgstr "Дизайн:"
@ -1176,6 +1200,9 @@ msgstr "Выберите DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "" msgstr ""
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "Сен" msgstr "Сен"
@ -1185,6 +1212,9 @@ msgstr "Установить фильтр для поиска"
msgid "Settings" msgid "Settings"
msgstr "Установки" msgstr "Установки"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "" msgstr ""
@ -1415,6 +1445,9 @@ msgstr "Путь к патчам QIP"
msgid "Waiting..." msgid "Waiting..."
msgstr "Ожидание..." msgstr "Ожидание..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "" msgstr ""
@ -1463,6 +1496,9 @@ msgstr ""
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "" msgstr ""
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "" msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:44+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\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"
@ -123,6 +123,12 @@ msgstr ">> 读取 WAD 数据... 成功!"
msgid "AUTO" msgid "AUTO"
msgstr "自动" msgstr "自动"
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "所有分区" msgstr "所有分区"
@ -147,6 +153,9 @@ msgstr "应用"
msgid "Apr" msgid "Apr"
msgstr "四月" msgstr "四月"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "确定要锁定USB Loader GX吗" msgstr "确定要锁定USB Loader GX吗"
@ -183,6 +192,9 @@ msgstr "背景音乐"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "非常感谢:" msgstr "非常感谢:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "下载封面" msgstr "下载封面"
@ -268,6 +280,12 @@ msgstr "取消"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "无法写入目标." msgstr "无法写入目标."
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "更改游戏路径" msgstr "更改游戏路径"
@ -314,6 +332,9 @@ msgstr "主机已锁定"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "需解锁以开启设定功能." msgstr "需解锁以开启设定功能."
msgid "Console must be unlocked to be able to use this."
msgstr ""
msgid "Console should be unlocked to modify it." msgid "Console should be unlocked to modify it."
msgstr "需解锁以开启设定功能." msgstr "需解锁以开启设定功能."
@ -402,6 +423,9 @@ msgstr "删除封面"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "删除光盘图片" msgstr "删除光盘图片"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "设计:" msgstr "设计:"
@ -1176,6 +1200,9 @@ msgstr "选择一个 DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "从游戏选择DOL" msgstr "从游戏选择DOL"
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "九月" msgstr "九月"
@ -1185,6 +1212,9 @@ msgstr "设置搜索过滤器"
msgid "Settings" msgid "Settings"
msgstr "设置" msgstr "设置"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "显示剩余空间" msgstr "显示剩余空间"
@ -1415,6 +1445,9 @@ msgstr "WIP补丁路径"
msgid "Waiting..." msgid "Waiting..."
msgstr "等待中..." msgstr "等待中..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "警告:" msgstr "警告:"
@ -1463,6 +1496,9 @@ msgstr "正在使用IOS"
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "cIOS 249低于r18版本不支持FAT32/NTFS/EXT分区.如要继续风险自负" msgstr "cIOS 249低于r18版本不支持FAT32/NTFS/EXT分区.如要继续风险自负"
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "你需要选择或者格式化一个分区" msgstr "你需要选择或者格式化一个分区"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:44+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: SirPalax\n" "Last-Translator: SirPalax\n"
"Language-Team: Penn, SirPalax\n" "Language-Team: Penn, SirPalax\n"
@ -123,6 +123,12 @@ msgstr ">> Leyendo datos del WAD... ¡Correcto!"
msgid "AUTO" msgid "AUTO"
msgstr "" msgstr ""
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "" msgstr ""
@ -147,6 +153,9 @@ msgstr ""
msgid "Apr" msgid "Apr"
msgstr "Abr" msgstr "Abr"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "" msgstr ""
@ -183,6 +192,9 @@ msgstr "Música de fondo"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Gracias a:" msgstr "Gracias a:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "" msgstr ""
@ -268,6 +280,12 @@ msgstr "Cancelar"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "" msgstr ""
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "Cambiar Ruta" msgstr "Cambiar Ruta"
@ -314,6 +332,9 @@ msgstr "Consola Bloqueada"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "" msgstr ""
msgid "Console must be unlocked to be able to use this."
msgstr ""
msgid "Console should be unlocked to modify it." msgid "Console should be unlocked to modify it."
msgstr "Debes desbloquear la consola para modificar." msgstr "Debes desbloquear la consola para modificar."
@ -402,6 +423,9 @@ msgstr "Borrar Carátula"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Borrar Imagen Disco" msgstr "Borrar Imagen Disco"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "Diseño:" msgstr "Diseño:"
@ -1176,6 +1200,9 @@ msgstr "Seleccionar DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "" msgstr ""
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "" msgstr ""
@ -1185,6 +1212,9 @@ msgstr "Usar filtro de búsqueda"
msgid "Settings" msgid "Settings"
msgstr "Configuración" msgstr "Configuración"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "" msgstr ""
@ -1415,6 +1445,9 @@ msgstr "Ruta Parches WIP"
msgid "Waiting..." msgid "Waiting..."
msgstr "Esperando..." msgstr "Esperando..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "" msgstr ""
@ -1463,6 +1496,9 @@ msgstr ""
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "" msgstr ""
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "Necesitas seleccionar o formatear una partición" msgstr "Necesitas seleccionar o formatear una partición"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:44+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2010-01-19 17:39+0200\n" "PO-Revision-Date: 2010-01-19 17:39+0200\n"
"Last-Translator: Katsurou\n" "Last-Translator: Katsurou\n"
"Language-Team: Katsurou, pirateX\n" "Language-Team: Katsurou, pirateX\n"
@ -123,6 +123,12 @@ msgstr ">> Läser WAD data...Ok!"
msgid "AUTO" msgid "AUTO"
msgstr "" msgstr ""
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "" msgstr ""
@ -147,6 +153,9 @@ msgstr ""
msgid "Apr" msgid "Apr"
msgstr "Apr" msgstr "Apr"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "" msgstr ""
@ -183,6 +192,9 @@ msgstr "Bakgrundsmusik"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Stort tack till:" msgstr "Stort tack till:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "" msgstr ""
@ -268,6 +280,12 @@ msgstr "Avbryt"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "" msgstr ""
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "Ändra spel sökväg" msgstr "Ändra spel sökväg"
@ -314,6 +332,9 @@ msgstr "Konsol låst"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "" msgstr ""
msgid "Console must be unlocked to be able to use this."
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."
@ -402,6 +423,9 @@ msgstr "Radera omslag"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Radera skivbilder" msgstr "Radera skivbilder"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "" msgstr ""
@ -1176,6 +1200,9 @@ msgstr "Välj en DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "" msgstr ""
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "" msgstr ""
@ -1185,6 +1212,9 @@ msgstr "Ställ in sök-filter"
msgid "Settings" msgid "Settings"
msgstr "Inställningar" msgstr "Inställningar"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "" msgstr ""
@ -1415,6 +1445,9 @@ msgstr "WIP patchssökväg"
msgid "Waiting..." msgid "Waiting..."
msgstr "Väntar..." msgstr "Väntar..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "" msgstr ""
@ -1463,6 +1496,9 @@ msgstr ""
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "" msgstr ""
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "Du måste välja eller formatera en partition" msgstr "Du måste välja eller formatera en partition"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:44+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2010-02-15 21:00+0800\n" "PO-Revision-Date: 2010-02-15 21:00+0800\n"
"Last-Translator: Jane.H\n" "Last-Translator: Jane.H\n"
"Language-Team: kyogc, Miller, Mika Li, Jane.H\n" "Language-Team: kyogc, Miller, Mika Li, Jane.H\n"
@ -123,6 +123,12 @@ msgstr ">> 讀取 WAD 數據... 成功!"
msgid "AUTO" msgid "AUTO"
msgstr "自動" msgstr "自動"
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "所有磁區" msgstr "所有磁區"
@ -147,6 +153,9 @@ msgstr "套用"
msgid "Apr" msgid "Apr"
msgstr "四月" msgstr "四月"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "確定要鎖上 USB Loader GX嗎" msgstr "確定要鎖上 USB Loader GX嗎"
@ -183,6 +192,9 @@ msgstr "背景音樂"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "非常感謝:" msgstr "非常感謝:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "封鎖封面下載" msgstr "封鎖封面下載"
@ -268,6 +280,12 @@ msgstr "取消"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "無法寫入目的地。" msgstr "無法寫入目的地。"
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "變更執行路徑" msgstr "變更執行路徑"
@ -314,6 +332,9 @@ msgstr "控制台已上鎖"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "控制台必須解鎖才可使用此選項。" msgstr "控制台必須解鎖才可使用此選項。"
msgid "Console must be unlocked to be able to use this."
msgstr ""
msgid "Console should be unlocked to modify it." msgid "Console should be unlocked to modify it."
msgstr "控制台須解鎖才可變更設定。" msgstr "控制台須解鎖才可變更設定。"
@ -402,6 +423,9 @@ msgstr "刪除封面"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "刪除光碟圖片" msgstr "刪除光碟圖片"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "設計者:" msgstr "設計者:"
@ -1176,6 +1200,9 @@ msgstr "選擇一個 DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "從遊戲中選擇DOL" msgstr "從遊戲中選擇DOL"
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "九月" msgstr "九月"
@ -1185,6 +1212,9 @@ msgstr "關鍵字篩選"
msgid "Settings" msgid "Settings"
msgstr "設定" msgstr "設定"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "顯示可用空間" msgstr "顯示可用空間"
@ -1415,6 +1445,9 @@ msgstr "WIP 修正檔路徑"
msgid "Waiting..." msgid "Waiting..."
msgstr "等待中..." msgstr "等待中..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "警告:" msgstr "警告:"
@ -1463,6 +1496,9 @@ msgstr "目前你使用中的IOS"
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "你嘗試用高於 cIOS 249 版本18去選取 FAT32/NTFS/EXT 磁區。這格式不支援。繼續請自行承擔風險。" msgstr "你嘗試用高於 cIOS 249 版本18去選取 FAT32/NTFS/EXT 磁區。這格式不支援。繼續請自行承擔風險。"
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "選擇你要格式化的磁區" msgstr "選擇你要格式化的磁區"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:44+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: Nitro_subzero \n" "Last-Translator: Nitro_subzero \n"
"Language-Team: Nitro_subzero\n" "Language-Team: Nitro_subzero\n"
@ -123,6 +123,12 @@ msgstr ">> กำลังอ่านข้อมูล WAD...สำเร็
msgid "AUTO" msgid "AUTO"
msgstr "อัตโนมัติ" msgstr "อัตโนมัติ"
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "" msgstr ""
@ -147,6 +153,9 @@ msgstr ""
msgid "Apr" msgid "Apr"
msgstr "เมษ." msgstr "เมษ."
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "" msgstr ""
@ -183,6 +192,9 @@ msgstr "ดนตรีเบื้องหลัง"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "ขอขอบคุณ:" msgstr "ขอขอบคุณ:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "" msgstr ""
@ -268,6 +280,12 @@ msgstr "ยกเลิก"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "" msgstr ""
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "" msgstr ""
@ -314,6 +332,9 @@ msgstr "คอนโซลถูกล๊อค"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "" msgstr ""
msgid "Console must be unlocked to be able to use this."
msgstr ""
msgid "Console should be unlocked to modify it." msgid "Console should be unlocked to modify it."
msgstr "ปลดล๊อคคอนโซลก่อน ถึงจะทำการเปลี่ยนแปลงได้" msgstr "ปลดล๊อคคอนโซลก่อน ถึงจะทำการเปลี่ยนแปลงได้"
@ -402,6 +423,9 @@ msgstr "ลบ ภาพกล่อง"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "ลบ ภาพแผ่น" msgstr "ลบ ภาพแผ่น"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "ออกแบบ:" msgstr "ออกแบบ:"
@ -1176,6 +1200,9 @@ msgstr "เลือก DOL"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "" msgstr ""
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "กย." msgstr "กย."
@ -1185,6 +1212,9 @@ msgstr "กำหนดเงื่อนไขการค้นหา"
msgid "Settings" msgid "Settings"
msgstr "กำหนดค่า" msgstr "กำหนดค่า"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "" msgstr ""
@ -1415,6 +1445,9 @@ msgstr ""
msgid "Waiting..." msgid "Waiting..."
msgstr "กำลังรอ..." msgstr "กำลังรอ..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "" msgstr ""
@ -1463,6 +1496,9 @@ msgstr ""
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "" msgstr ""
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "" msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-28 21:44+0200\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: omercigingelini\n" "Last-Translator: omercigingelini\n"
"Language-Team: omercigingelini\n" "Language-Team: omercigingelini\n"
@ -123,6 +123,12 @@ msgstr ">> WAD Bilgisi okunuyor..OK!"
msgid "AUTO" msgid "AUTO"
msgstr "OTOMATIK" msgstr "OTOMATIK"
msgid "Add category"
msgstr ""
msgid "All"
msgstr ""
msgid "All Partitions" msgid "All Partitions"
msgstr "" msgstr ""
@ -147,6 +153,9 @@ msgstr ""
msgid "Apr" msgid "Apr"
msgstr "Nis" msgstr "Nis"
msgid "Are you sure you want to delete this category?"
msgstr ""
msgid "Are you sure you want to lock USB Loader GX?" msgid "Are you sure you want to lock USB Loader GX?"
msgstr "" msgstr ""
@ -183,6 +192,9 @@ msgstr "Arkaplan müziği"
msgid "Big thanks to:" msgid "Big thanks to:"
msgstr "Teşekkürler:" msgstr "Teşekkürler:"
msgid "Block Categories Modify"
msgstr ""
msgid "Block Cover Downloads" msgid "Block Cover Downloads"
msgstr "" msgstr ""
@ -268,6 +280,12 @@ msgstr "Iptal"
msgid "Cannot write to destination." msgid "Cannot write to destination."
msgstr "" msgstr ""
msgid "Categories"
msgstr ""
msgid "Categories:"
msgstr ""
msgid "Change Play Path" msgid "Change Play Path"
msgstr "" msgstr ""
@ -314,6 +332,9 @@ msgstr "Konsol Kilitli"
msgid "Console must be unlocked for this option." msgid "Console must be unlocked for this option."
msgstr "" msgstr ""
msgid "Console must be unlocked to be able to use this."
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."
@ -402,6 +423,9 @@ msgstr "Kapak Görselini Sil"
msgid "Delete Disc Artwork" msgid "Delete Disc Artwork"
msgstr "Disk Görselini Sil" msgstr "Disk Görselini Sil"
msgid "Delete category"
msgstr ""
msgid "Design:" msgid "Design:"
msgstr "Tasarım:" msgstr "Tasarım:"
@ -1176,6 +1200,9 @@ msgstr "Bir DOL seç"
msgid "Select a DOL from Game" msgid "Select a DOL from Game"
msgstr "" msgstr ""
msgid "Select game categories"
msgstr ""
msgid "Sept" msgid "Sept"
msgstr "Eyl" msgstr "Eyl"
@ -1185,6 +1212,9 @@ msgstr "Arama Filtresi Ayarla"
msgid "Settings" msgid "Settings"
msgstr "Ayarlar" msgstr "Ayarlar"
msgid "Show Categories"
msgstr ""
msgid "Show Free Space" msgid "Show Free Space"
msgstr "" msgstr ""
@ -1415,6 +1445,9 @@ msgstr ""
msgid "Waiting..." msgid "Waiting..."
msgstr "Beklemede..." msgstr "Beklemede..."
msgid "Warning"
msgstr ""
msgid "Warning:" msgid "Warning:"
msgstr "" msgstr ""
@ -1463,6 +1496,9 @@ msgstr ""
msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk." msgid "You are trying to select a FAT32/NTFS/EXT partition with cIOS 249 Rev < 18. This is not supported. Continue on your own risk."
msgstr "" msgstr ""
msgid "You cannot delete this category."
msgstr ""
msgid "You need to select or format a partition" msgid "You need to select or format a partition"
msgstr "Bir bölüm seçmeniz ya da formatlamanız gerekiyor" msgstr "Bir bölüm seçmeniz ya da formatlamanız gerekiyor"

View File

@ -8,7 +8,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-02-12 10:25+0100\n" "POT-Creation-Date: 2011-06-03 22:18+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
@ -163,33 +163,42 @@ msgstr ""
msgid "335 - clock pos y" msgid "335 - clock pos y"
msgstr "" msgstr ""
msgid "260 - list layout favorite btn pos x" msgid "220 - list layout favorite btn pos x"
msgstr "" msgstr ""
msgid "288 - list layout favorite btn pos x widescreen" msgid "256 - list layout favorite btn pos x widescreen"
msgstr "" msgstr ""
msgid "13 - list layout favorite btn pos y" msgid "13 - list layout favorite btn pos y"
msgstr "" msgstr ""
msgid "300 - list layout search btn pos x" msgid "260 - list layout search btn pos x"
msgstr "" msgstr ""
msgid "320 - list layout search btn pos x widescreen" msgid "288 - list layout search btn pos x widescreen"
msgstr "" msgstr ""
msgid "13 - list layout search btn pos y" msgid "13 - list layout search btn pos y"
msgstr "" msgstr ""
msgid "340 - list layout abc/sort btn pos x" msgid "300 - list layout abc/sort btn pos x"
msgstr "" msgstr ""
msgid "352 - list layout abc/sort btn pos x widescreen" msgid "320 - list layout abc/sort btn pos x widescreen"
msgstr "" msgstr ""
msgid "13 - list layout abc/sort btn pos y" msgid "13 - list layout abc/sort btn pos y"
msgstr "" msgstr ""
msgid "340 - list layout category btn pos x"
msgstr ""
msgid "352 - list layout category btn pos x widescreen"
msgstr ""
msgid "13 - list layout category btn pos y"
msgstr ""
msgid "380 - list layout list btn pos x" msgid "380 - list layout list btn pos x"
msgstr "" msgstr ""
@ -247,33 +256,42 @@ msgstr ""
msgid "49 - game list layout pos y" msgid "49 - game list layout pos y"
msgstr "" msgstr ""
msgid "200 - grid layout favorite btn pos x" msgid "160 - grid layout favorite btn pos x"
msgstr "" msgstr ""
msgid "224 - grid layout favorite btn pos x widescreen" msgid "192 - grid layout favorite btn pos x widescreen"
msgstr "" msgstr ""
msgid "13 - grid layout favorite btn pos y" msgid "13 - grid layout favorite btn pos y"
msgstr "" msgstr ""
msgid "240 - grid layout search btn pos x" msgid "200 - grid layout search btn pos x"
msgstr "" msgstr ""
msgid "256 - grid layout search btn pos x widescreen" msgid "224 - grid layout search btn pos x widescreen"
msgstr "" msgstr ""
msgid "13 - grid layout search btn pos y" msgid "13 - grid layout search btn pos y"
msgstr "" msgstr ""
msgid "280 - grid layout abc/sort btn pos x" msgid "240 - grid layout abc/sort btn pos x"
msgstr "" msgstr ""
msgid "288 - grid layout abc/sort btn pos x widescreen" msgid "256 - grid layout abc/sort btn pos x widescreen"
msgstr "" msgstr ""
msgid "13 - grid layout abc/sort btn pos y" msgid "13 - grid layout abc/sort btn pos y"
msgstr "" msgstr ""
msgid "280 - grid layout category btn pos x"
msgstr ""
msgid "288 - grid layout category btn pos x widescreen"
msgstr ""
msgid "13 - grid layout category btn pos y"
msgstr ""
msgid "320 - grid layout list btn pos x" msgid "320 - grid layout list btn pos x"
msgstr "" msgstr ""
@ -325,33 +343,39 @@ msgstr ""
msgid "640 - game grid layout width" msgid "640 - game grid layout width"
msgstr "" msgstr ""
msgid "200 - carousel layout favorite btn pos x" msgid "160 - carousel layout favorite btn pos x"
msgstr "" msgstr ""
msgid "224 - carousel layout favorite btn pos x widescreen" msgid "192 - carousel layout favorite btn pos x widescreen"
msgstr "" msgstr ""
msgid "13 - carousel layout favorite btn pos y" msgid "13 - carousel layout favorite btn pos y"
msgstr "" msgstr ""
msgid "240 - carousel layout search btn pos x" msgid "200 - carousel layout search btn pos x"
msgstr "" msgstr ""
msgid "256 - carousel layout search btn pos x widescreen" msgid "224 - carousel layout search btn pos x widescreen"
msgstr "" msgstr ""
msgid "13 - carousel layout search btn pos y" msgid "13 - carousel layout search btn pos y"
msgstr "" msgstr ""
msgid "280 - carousel layout abc/sort btn pos x" msgid "240 - carousel layout abc/sort btn pos x"
msgstr "" msgstr ""
msgid "288 - carousel layout abc/sort btn pos x widescreen" msgid "256 - carousel layout abc/sort btn pos x widescreen"
msgstr "" msgstr ""
msgid "13 - carousel layout abc/sort btn pos y" msgid "13 - carousel layout abc/sort btn pos y"
msgstr "" msgstr ""
msgid "280 - carousel layout category btn pos x"
msgstr ""
msgid "288 - carousel layout category btn pos x widescreen"
msgstr ""
msgid "320 - carousel layout list btn pos x" msgid "320 - carousel layout list btn pos x"
msgstr "" msgstr ""

File diff suppressed because one or more lines are too long

View File

@ -13,6 +13,7 @@
#include "settings/CSettings.h" #include "settings/CSettings.h"
#include "settings/CGameSettings.h" #include "settings/CGameSettings.h"
#include "settings/CGameStatistics.h" #include "settings/CGameStatistics.h"
#include "settings/CGameCategories.hpp"
#include "usbloader/usbstorage2.h" #include "usbloader/usbstorage2.h"
#include "sys.h" #include "sys.h"
@ -168,7 +169,8 @@ bool StartUpProcess::Execute()
DeviceHandler::Instance()->MountAllUSB(); DeviceHandler::Instance()->MountAllUSB();
} }
gprintf("\tLoading font...%s\n", Theme::LoadFont(Settings.theme_path) ? "done" : "failed (using default)"); gprintf("\tLoading game categories...%s\n", GameCategories.Load(Settings.ConfigPath) ? "done" : "failed");
gprintf("\tLoading font...%s\n", Theme::LoadFont(Settings.ConfigPath) ? "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)");
//! Init the rest of the System //! Init the rest of the System

View File

@ -544,6 +544,30 @@ extern const u32 nocoverFull_png_size;
extern const u8 playersSort_png[]; extern const u8 playersSort_png[];
extern const u32 playersSort_png_size; extern const u32 playersSort_png_size;
extern const u8 add_png[];
extern const u32 add_png_size;
extern const u8 back_png[];
extern const u32 back_png_size;
extern const u8 forward_png[];
extern const u32 forward_png_size;
extern const u8 categoryPrompt_png[];
extern const u32 categoryPrompt_png_size;
extern const u8 categoryLine_png[];
extern const u32 categoryLine_png_size;
extern const u8 remove_png[];
extern const u32 remove_png_size;
extern const u8 category_png[];
extern const u32 category_png_size;
extern const u8 category_gray_png[];
extern const u32 category_gray_png_size;
extern const u8 stub_bin[]; extern const u8 stub_bin[];
extern const u32 stub_bin_size; extern const u32 stub_bin_size;

BIN
source/images/add.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
source/images/back.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
source/images/category.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 951 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 744 B

BIN
source/images/forward.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
source/images/remove.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -47,6 +47,7 @@
#include "OptionList.hpp" #include "OptionList.hpp"
#include "SoundOperations/gui_sound.h" #include "SoundOperations/gui_sound.h"
#include "SoundOperations/gui_bgm.h" #include "SoundOperations/gui_bgm.h"
#include "sigslot.h"
//! Frequently used variables //! Frequently used variables
extern FreeTypeGX *fontSystem; extern FreeTypeGX *fontSystem;
@ -88,6 +89,12 @@ enum
WRAP, DOTTED, SCROLL_HORIZONTAL, SCROLL_NONE WRAP, DOTTED, SCROLL_HORIZONTAL, SCROLL_NONE
}; };
typedef struct _POINT {
s16 x;
s16 y;
} POINT;
typedef struct _paddata typedef struct _paddata
{ {
u16 btns_d; u16 btns_d;
@ -362,8 +369,8 @@ class GuiElement
virtual void Draw(); virtual void Draw();
virtual void DrawTooltip(); virtual void DrawTooltip();
protected: protected:
void Lock(); void LockElement();
void Unlock(); void UnlockElement();
// static mutex_t mutex; // static mutex_t mutex;
static mutex_t _lock_mutex; static mutex_t _lock_mutex;
lwp_t _lock_thread; lwp_t _lock_thread;
@ -388,7 +395,7 @@ class GuiElement
int yoffsetDyn; //!< Element Y offset, dynamic (added to yoffset value for animation effects) int yoffsetDyn; //!< Element Y offset, dynamic (added to yoffset value for animation effects)
int temp_xoffset; //!< Element Temp X offset int temp_xoffset; //!< Element Temp X offset
int temp_yoffset; //!< Element Temp Y offset int temp_yoffset; //!< Element Temp Y offset
f32 degree; //!< Degree where to start for EFFECT_GOROUND enter it in ° like 60° f32 degree; //!< Degree where to start for EFFECT_GOROUND enter it in ° like 60°
f32 frequency; //!< Speed for EFFECT_GOROUND || can also be negative for other direction f32 frequency; //!< Speed for EFFECT_GOROUND || can also be negative for other direction
int Radius; //!< The radius in which the Element goes round for EFFECT_GOROUND int Radius; //!< The radius in which the Element goes round for EFFECT_GOROUND
f32 circleamount; //!< Circleamount for the EFFECT_GOROUND effect f32 circleamount; //!< Circleamount for the EFFECT_GOROUND effect
@ -490,6 +497,9 @@ class GuiWindow: public GuiElement
//!Moves the selected element to the element above or below //!Moves the selected element to the element above or below
//!\param d Direction to move (-1 = up, 1 = down) //!\param d Direction to move (-1 = up, 1 = down)
void MoveSelectionVert(int d); void MoveSelectionVert(int d);
//!Allow dim of screen on disable or not
void SetAllowDim(bool d) { allowDim = d; }
void SetDimScreen(bool d) { forceDim = d; }
//!Draws all the elements in this GuiWindow //!Draws all the elements in this GuiWindow
void Draw(); void Draw();
void DrawTooltip(); void DrawTooltip();
@ -498,6 +508,8 @@ class GuiWindow: public GuiElement
//!\param t Pointer to a GuiTrigger, containing the current input data from PAD/WPAD //!\param t Pointer to a GuiTrigger, containing the current input data from PAD/WPAD
void Update(GuiTrigger * t); void Update(GuiTrigger * t);
protected: protected:
bool forceDim;
bool allowDim;
std::vector<GuiElement*> _elements; //!< Contains all elements within the GuiWindow std::vector<GuiElement*> _elements; //!< Contains all elements within the GuiWindow
}; };
@ -670,31 +682,15 @@ class GuiText: public GuiElement
//!Get the max textwidth //!Get the max textwidth
int GetTextMaxWidth(); int GetTextMaxWidth();
//!Gets the total line number //!Gets the total line number
virtual int GetLinesCount() virtual int GetLinesCount() { return 1; }
{
return 1;
}
;
//!Get fontsize //!Get fontsize
int GetFontSize() int GetFontSize() { return size; }
{
return size;
}
;
//!Set max lines to draw //!Set max lines to draw
void SetLinesToDraw(int l); void SetLinesToDraw(int l);
void SetWidescreen(bool b) void SetWidescreen(bool b) { widescreen = b; }
{
widescreen = b;
}
;
//!Get current Textline (for position calculation) //!Get current Textline (for position calculation)
const wchar_t * GetDynText(int ind = 0); const wchar_t * GetDynText(int ind = 0);
virtual const wchar_t * GetTextLine(int ind) virtual const wchar_t * GetTextLine(int ind) { return GetDynText(ind); }
{
return GetDynText(ind);
}
;
//!Change the font //!Change the font
//!\param font bufferblock //!\param font bufferblock
//!\param font filesize //!\param font filesize
@ -859,6 +855,9 @@ class GuiButton: public GuiElement
void ScrollIsOn(int f); void ScrollIsOn(int f);
void SetSkew(int XX1, int YY1, int XX2, int YY2, int XX3, int YY3, int XX4, int YY4); void SetSkew(int XX1, int YY1, int XX2, int YY2, int XX3, int YY3, int XX4, int YY4);
void SetSkew(int *skew /* int skew[8] */); void SetSkew(int *skew /* int skew[8] */);
virtual void SetState(int s, int c = -1);
sigslot::signal3<GuiButton *, int, const POINT&> Clicked;
sigslot::signal3<GuiButton *, int, const POINT&> Held;
protected: protected:
GuiImage * image; //!< Button image (default) GuiImage * image; //!< Button image (default)
GuiImage * imageOver; //!< Button image for STATE_SELECTED GuiImage * imageOver; //!< Button image for STATE_SELECTED

View File

@ -36,11 +36,13 @@ void GuiBox::Draw()
f32 y2 = y + height; f32 y2 = y + height;
guVector v[] = { { x, y, 0.0f }, { x2, y, 0.0f }, { x2, y2, 0.0f }, { x, y2, 0.0f }, { x, y, 0.0f } }; guVector v[] = { { x, y, 0.0f }, { x2, y, 0.0f }, { x2, y2, 0.0f }, { x, y2, 0.0f }, { x, y, 0.0f } };
int alpha = GetAlpha();
GX_Begin(filled ? GX_TRIANGLEFAN : GX_LINESTRIP, GX_VTXFMT0, n); GX_Begin(filled ? GX_TRIANGLEFAN : GX_LINESTRIP, GX_VTXFMT0, n);
for (u32 i = 0; i < n; i++) for (u32 i = 0; i < n; i++)
{ {
GX_Position3f32(v[i].x, v[i].y, v[i].z); GX_Position3f32(v[i].x, v[i].y, v[i].z);
GX_Color4u8(color[i].r, color[i].g, color[i].b, color[i].a); GX_Color4u8(color[i].r, color[i].g, color[i].b, alpha);
} }
GX_End(); GX_End();
GX_SetTevOp(GX_TEVSTAGE0, GX_MODULATE); GX_SetTevOp(GX_TEVSTAGE0, GX_MODULATE);

View File

@ -293,6 +293,37 @@ void GuiButton::SetSkew(int *skew)
if (image) image->SetSkew(skew); if (image) image->SetSkew(skew);
} }
void GuiButton::SetState(int s, int c)
{
GuiElement::SetState(s, c);
if(c < 0 || c > 3)
return;
if (s == STATE_CLICKED)
{
POINT p = {0, 0};
if (userInput[c].wpad.ir.valid)
{
p.x = userInput[c].wpad.ir.x;
p.y = userInput[c].wpad.ir.y;
}
Clicked(this, c, p);
}
else if (s == STATE_HELD)
{
POINT p = {0, 0};
if (userInput[c].wpad.ir.valid)
{
p.x = userInput[c].wpad.ir.x;
p.y = userInput[c].wpad.ir.y;
}
Held(this, c, p);
}
}
/** /**
* Draw the button on screen * Draw the button on screen
*/ */
@ -329,7 +360,7 @@ void GuiButton::DrawTooltip()
time(&time1); time(&time1);
time2 = time1; time2 = time1;
} }
if (time1 != 0) // timer läuft if (time1 != 0) // timer läuft
time(&time1); time(&time1);
if (time1 == 0 || difftime(time1, time2) >= 2) if (time1 == 0 || difftime(time1, time2) >= 2)

View File

@ -25,12 +25,15 @@
#define WHITEBOX_RED_SIZE 4 #define WHITEBOX_RED_SIZE 4
GuiCheckbox::GuiCheckbox() GuiCheckbox::GuiCheckbox(int s)
: GuiButton(30, 30), Checked(false) : GuiButton(30, 30), Checked(false)
{ {
style = s;
Checksign.SetParent(this);
Cross.SetParent(this); Cross.SetParent(this);
Blackbox.SetParent(this); Blackbox.SetParent(this);
Whitebox.SetParent(this); Whitebox.SetParent(this);
Checksign.SetColor((GXColor) {0, 0, 0, 255});
Cross.SetColor((GXColor) {0, 0, 0, 255}); Cross.SetColor((GXColor) {0, 0, 0, 255});
Blackbox.SetColor((GXColor) {0, 0, 0, 255}); Blackbox.SetColor((GXColor) {0, 0, 0, 255});
Whitebox.SetColor((GXColor) {255, 255, 255, 255}); Whitebox.SetColor((GXColor) {255, 255, 255, 255});
@ -38,12 +41,15 @@ GuiCheckbox::GuiCheckbox()
SetSize(30, 30); SetSize(30, 30);
} }
GuiCheckbox::GuiCheckbox(int w, int h) GuiCheckbox::GuiCheckbox(int w, int h, int s)
: GuiButton(w, h), Checked(false) : GuiButton(w, h), Checked(false)
{ {
style = s;
Checksign.SetParent(this);
Cross.SetParent(this); Cross.SetParent(this);
Blackbox.SetParent(this); Blackbox.SetParent(this);
Whitebox.SetParent(this); Whitebox.SetParent(this);
Checksign.SetColor((GXColor) {0, 0, 0, 255});
Cross.SetColor((GXColor) {0, 0, 0, 255}); Cross.SetColor((GXColor) {0, 0, 0, 255});
Blackbox.SetColor((GXColor) {0, 0, 0, 255}); Blackbox.SetColor((GXColor) {0, 0, 0, 255});
Whitebox.SetColor((GXColor) {255, 255, 255, 255}); Whitebox.SetColor((GXColor) {255, 255, 255, 255});
@ -55,6 +61,8 @@ void GuiCheckbox::SetSize(int w, int h)
{ {
width = w; width = w;
height = h; height = h;
Checksign.SetSize(w-WHITEBOX_RED_SIZE, h-WHITEBOX_RED_SIZE);
Checksign.SetPosition(WHITEBOX_RED_SIZE/2, WHITEBOX_RED_SIZE/2);
Cross.SetSize(w-WHITEBOX_RED_SIZE, h-WHITEBOX_RED_SIZE); Cross.SetSize(w-WHITEBOX_RED_SIZE, h-WHITEBOX_RED_SIZE);
Cross.SetPosition(WHITEBOX_RED_SIZE/2, WHITEBOX_RED_SIZE/2); Cross.SetPosition(WHITEBOX_RED_SIZE/2, WHITEBOX_RED_SIZE/2);
Blackbox.SetSize(w, h); Blackbox.SetSize(w, h);
@ -72,8 +80,8 @@ void GuiCheckbox::SetState(int s, int c)
{ {
if(s == STATE_CLICKED) if(s == STATE_CLICKED)
Checked = !Checked; Checked = !Checked;
else
GuiButton::SetState(s, c); GuiButton::SetState(s, c);
} }
void GuiCheckbox::Draw() void GuiCheckbox::Draw()
@ -82,5 +90,10 @@ void GuiCheckbox::Draw()
Blackbox.Draw(); Blackbox.Draw();
Whitebox.Draw(); Whitebox.Draw();
if(Checked) if(Checked)
Cross.Draw(); {
if(style == CHECKSIGN)
Checksign.Draw();
else
Cross.Draw();
}
} }

View File

@ -27,22 +27,30 @@
#include "libwiigui/gui.h" #include "libwiigui/gui.h"
#include "libwiigui/gui_box.hpp" #include "libwiigui/gui_box.hpp"
#include "libwiigui/gui_cross.hpp" #include "libwiigui/gui_cross.hpp"
#include "libwiigui/gui_checksign.hpp"
class GuiCheckbox : public GuiButton class GuiCheckbox : public GuiButton
{ {
public: public:
GuiCheckbox(); GuiCheckbox(int style = CHECKSIGN);
GuiCheckbox(int w, int h); GuiCheckbox(int w, int h, int style = CHECKSIGN);
void SetTransparent(bool b); void SetTransparent(bool b);
void SetSize(int w, int h); void SetSize(int w, int h);
void SetChecked(bool c) { LOCK(this); Checked = c; } void SetChecked(bool c) { LOCK(this); Checked = c; }
bool IsChecked() const { return Checked; } bool IsChecked() const { return Checked; }
virtual void SetState(int s, int c = -1); virtual void SetState(int s, int c = -1);
virtual void Draw(); virtual void Draw();
enum
{
CHECKSIGN,
CROSS,
};
protected: protected:
GuiChecksign Checksign;
GuiCross Cross; GuiCross Cross;
GuiBox Blackbox; GuiBox Blackbox;
GuiBox Whitebox; GuiBox Whitebox;
int style;
bool Checked; bool Checked;
}; };

View File

@ -0,0 +1,56 @@
/****************************************************************************
* Copyright (C) 2011
* by Dimok
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any
* damages arising from the use of this software.
*
* Permission is granted to anyone to use this software for any
* purpose, including commercial applications, and to alter it and
* redistribute it freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you
* must not claim that you wrote the original software. If you use
* this software in a product, an acknowledgment in the product
* documentation would be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and
* must not be misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source
* distribution.
***************************************************************************/
#include "gui_checksign.hpp"
void GuiChecksign::Draw()
{
GX_SetTevOp(GX_TEVSTAGE0, GX_PASSCLR);
GX_SetVtxDesc(GX_VA_POS, GX_DIRECT);
GX_SetVtxDesc(GX_VA_CLR0, GX_DIRECT);
GX_SetVtxDesc(GX_VA_TEX0, GX_NONE);
f32 x1Line1 = (float) GetLeft() + width*0.1f;
f32 y1Line1 = (float) GetTop() + height*0.65f;
f32 x2Line1 = GetLeft() + width*0.3f;
f32 y2Line1 = (float) GetTop() + (float) height - height*0.1f;
f32 x1Line2 = x2Line1;
f32 y1Line2 = y2Line1;
f32 x2Line2 = (float) GetLeft() + (float) width - width*0.1f;
f32 y2Line2 = (float) GetTop() + height*0.1f;
int alpha = GetAlpha();
GX_Begin(GX_LINES, GX_VTXFMT0, 4);
GX_Position3f32(x1Line1, y1Line1, 0.0f);
GX_Color4u8(color.r, color.g, color.b, alpha);
GX_Position3f32(x2Line1, y2Line1, 0.0f);
GX_Color4u8(color.r, color.g, color.b, alpha);
GX_Position3f32(x1Line2, y1Line2, 0.0f);
GX_Color4u8(color.r, color.g, color.b, alpha);
GX_Position3f32(x2Line2, y2Line2, 0.0f);
GX_Color4u8(color.r, color.g, color.b, alpha);
GX_End();
GX_SetTevOp(GX_TEVSTAGE0, GX_MODULATE);
}

View File

@ -0,0 +1,43 @@
/****************************************************************************
* Copyright (C) 2011
* by Dimok
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any
* damages arising from the use of this software.
*
* Permission is granted to anyone to use this software for any
* purpose, including commercial applications, and to alter it and
* redistribute it freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you
* must not claim that you wrote the original software. If you use
* this software in a product, an acknowledgment in the product
* documentation would be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and
* must not be misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source
* distribution.
***************************************************************************/
#ifndef GUICHECKSIGN_HPP_
#define GUICHECKSIGN_HPP_
#include "libwiigui/gui.h"
class GuiChecksign : public GuiElement
{
public:
GuiChecksign() : Linewidth(2.0f) { color = (GXColor) {0, 0, 0, 255}; GX_SetLineWidth((u8) (Linewidth*6.0f), 0); }
//! Max line width is 42.5 pixel
void SetLinewidth(float w) { LOCK(this); Linewidth = w; GX_SetLineWidth((u8) (Linewidth*6.0f), 0); }
void SetColor(const GXColor c) { LOCK(this); color = c; }
void SetSize(int w, int h) { LOCK(this); width = w; height = h; }
void Draw();
protected:
GXColor color;
float Linewidth;
};
#endif

View File

@ -35,15 +35,17 @@ void GuiCross::Draw()
f32 y1 = GetTop(); f32 y1 = GetTop();
f32 y2 = y1 + height; f32 y2 = y1 + height;
int alpha = GetAlpha();
GX_Begin(GX_LINES, GX_VTXFMT0, 4); GX_Begin(GX_LINES, GX_VTXFMT0, 4);
GX_Position3f32(x1, y1, 0.0f); GX_Position3f32(x1, y1, 0.0f);
GX_Color4u8(color.r, color.g, color.b, color.a); GX_Color4u8(color.r, color.g, color.b, alpha);
GX_Position3f32(x2, y2, 0.0f); GX_Position3f32(x2, y2, 0.0f);
GX_Color4u8(color.r, color.g, color.b, color.a); GX_Color4u8(color.r, color.g, color.b, alpha);
GX_Position3f32(x2, y1, 0.0f); GX_Position3f32(x2, y1, 0.0f);
GX_Color4u8(color.r, color.g, color.b, color.a); GX_Color4u8(color.r, color.g, color.b, alpha);
GX_Position3f32(x1, y2, 0.0f); GX_Position3f32(x1, y2, 0.0f);
GX_Color4u8(color.r, color.g, color.b, color.a); GX_Color4u8(color.r, color.g, color.b, alpha);
GX_End(); GX_End();
GX_SetTevOp(GX_TEVSTAGE0, GX_MODULATE); GX_SetTevOp(GX_TEVSTAGE0, GX_MODULATE);
} }

View File

@ -759,7 +759,7 @@ bool GuiElement::IsInside(int x, int y)
if (x > this->GetLeft() && x < (this->GetLeft() + width) && y > this->GetTop() && y < (this->GetTop() + height)) return true; if (x > this->GetLeft() && x < (this->GetLeft() + width) && y > this->GetTop() && y < (this->GetTop() + height)) return true;
return false; return false;
} }
void GuiElement::Lock() void GuiElement::LockElement()
{ {
// LWP_MutexLock(mutex); // LWP_MutexLock(mutex);
for (;;) // loop while element is locked by self for (;;) // loop while element is locked by self
@ -789,7 +789,7 @@ void GuiElement::Lock()
} }
} }
} }
void GuiElement::Unlock() void GuiElement::UnlockElement()
{ {
// LWP_MutexUnlock(mutex); // LWP_MutexUnlock(mutex);
LWP_MutexLock(_lock_mutex); LWP_MutexLock(_lock_mutex);
@ -812,9 +812,9 @@ void GuiElement::Unlock()
SimpleLock::SimpleLock(GuiElement *e) : SimpleLock::SimpleLock(GuiElement *e) :
element(e) element(e)
{ {
element->Lock(); element->LockElement();
} }
SimpleLock::~SimpleLock() SimpleLock::~SimpleLock()
{ {
element->Unlock(); element->UnlockElement();
} }

View File

@ -14,6 +14,8 @@ GuiWindow::GuiWindow()
{ {
width = 0; width = 0;
height = 0; height = 0;
forceDim = false;
allowDim = true;
focus = 0; // allow focus focus = 0; // allow focus
} }
@ -21,6 +23,8 @@ GuiWindow::GuiWindow(int w, int h)
{ {
width = w; width = w;
height = h; height = h;
forceDim = false;
allowDim = true;
focus = 0; // allow focus focus = 0; // allow focus
} }
@ -98,10 +102,8 @@ void GuiWindow::Draw()
this->UpdateEffects(); this->UpdateEffects();
if (parentElement && state == STATE_DISABLED) if ((parentElement && state == STATE_DISABLED && allowDim) || forceDim)
//Menu_DrawRectangle(0,0,screenwidth,screenheight,(GXColor){0xbe, 0xca, 0xd5, 0x70},1); Menu_DrawRectangle(0, 0, screenwidth, screenheight, (GXColor) {0, 0, 0, 0x70}, 1);
Menu_DrawRectangle(0, 0, screenwidth, screenheight, ( GXColor )
{ 0, 0, 0, 0x70}, 1);
} }
void GuiWindow::DrawTooltip() void GuiWindow::DrawTooltip()
{ {

2748
source/libwiigui/sigslot.h Normal file

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@
#include "mload/mload_modules.h" #include "mload/mload_modules.h"
#include "network/networkops.h" #include "network/networkops.h"
#include "patches/patchcode.h" #include "patches/patchcode.h"
#include "settings/Settings.h" #include "settings/menus/GlobalSettings.hpp"
#include "settings/CGameSettings.h" #include "settings/CGameSettings.h"
#include "themes/CTheme.h" #include "themes/CTheme.h"
#include "themes/ThemeMenu.h" #include "themes/ThemeMenu.h"
@ -218,7 +218,7 @@ int MainMenu(int menu)
currentMenu = MenuInstall(); currentMenu = MenuInstall();
break; break;
case MENU_SETTINGS: case MENU_SETTINGS:
currentMenu = MenuSettings(); currentMenu = GlobalSettings::Show();
break; break;
case MENU_THEMEMENU: case MENU_THEMEMENU:
currentMenu = ThemeMenu::Run(); currentMenu = ThemeMenu::Run();

View File

@ -6,6 +6,7 @@
#include "prompts/gameinfo.h" #include "prompts/gameinfo.h"
#include "prompts/DiscBrowser.h" #include "prompts/DiscBrowser.h"
#include "prompts/GameWindow.hpp" #include "prompts/GameWindow.hpp"
#include "prompts/CategorySwitchPrompt.hpp"
#include "themes/CTheme.h" #include "themes/CTheme.h"
#include "language/gettext.h" #include "language/gettext.h"
#include "usbloader/wbfs.h" #include "usbloader/wbfs.h"
@ -17,7 +18,6 @@
#include "network/update.h" #include "network/update.h"
#include "network/ImageDownloader.h" #include "network/ImageDownloader.h"
#include "FileOperations/fileops.h" #include "FileOperations/fileops.h"
#include "settings/Settings.h"
#include "settings/CSettings.h" #include "settings/CSettings.h"
#include "settings/CGameStatistics.h" #include "settings/CGameStatistics.h"
#include "settings/CGameSettings.h" #include "settings/CGameSettings.h"
@ -95,6 +95,8 @@ GameBrowseMenu::GameBrowseMenu()
imgLock_gray = Resources::GetImageData("lock_gray.png"); imgLock_gray = Resources::GetImageData("lock_gray.png");
imgUnlock = Resources::GetImageData("unlock.png"); imgUnlock = Resources::GetImageData("unlock.png");
imgUnlock_gray = Resources::GetImageData("unlock_gray.png"); imgUnlock_gray = Resources::GetImageData("unlock_gray.png");
imgCategory = Resources::GetImageData("category.png");
imgCategory_gray = Resources::GetImageData("category_gray.png");
homebrewImgData = Resources::GetImageData("browser.png"); homebrewImgData = Resources::GetImageData("browser.png");
homebrewImgDataOver = Resources::GetImageData("browser_over.png"); homebrewImgDataOver = Resources::GetImageData("browser_over.png");
@ -189,8 +191,7 @@ GameBrowseMenu::GameBrowseMenu()
favoriteBtnImg->SetWidescreen(Settings.widescreen); favoriteBtnImg->SetWidescreen(Settings.widescreen);
favoriteBtnImg_g = new GuiImage(imgfavIcon_gray); favoriteBtnImg_g = new GuiImage(imgfavIcon_gray);
favoriteBtnImg_g->SetWidescreen(Settings.widescreen); favoriteBtnImg_g->SetWidescreen(Settings.widescreen);
favoriteBtn = new GuiButton(favoriteBtnImg_g, favoriteBtnImg_g, ALIGN_LEFT, ALIGN_TOP, favoriteBtn = new GuiButton(favoriteBtnImg_g, favoriteBtnImg_g, ALIGN_LEFT, ALIGN_TOP, 0, 0,
0, 0,
trigA, btnSoundOver, btnSoundClick2, 1, favoriteBtnTT, -15, 52, 0, 3); trigA, btnSoundOver, btnSoundClick2, 1, favoriteBtnTT, -15, 52, 0, 3);
searchBtnTT = new GuiTooltip(tr( "Set Search-Filter" )); searchBtnTT = new GuiTooltip(tr( "Set Search-Filter" ));
@ -200,8 +201,7 @@ GameBrowseMenu::GameBrowseMenu()
searchBtnImg->SetWidescreen(Settings.widescreen); searchBtnImg->SetWidescreen(Settings.widescreen);
searchBtnImg_g = new GuiImage(imgsearchIcon_gray); searchBtnImg_g = new GuiImage(imgsearchIcon_gray);
searchBtnImg_g->SetWidescreen(Settings.widescreen); searchBtnImg_g->SetWidescreen(Settings.widescreen);
searchBtn = new GuiButton(searchBtnImg_g, searchBtnImg_g, ALIGN_LEFT, ALIGN_TOP, searchBtn = new GuiButton(searchBtnImg_g, searchBtnImg_g, ALIGN_LEFT, ALIGN_TOP, 0, 0,
0, 0,
trigA, btnSoundOver, btnSoundClick2, 1, searchBtnTT, -15, 52, 0, 3); trigA, btnSoundOver, btnSoundClick2, 1, searchBtnTT, -15, 52, 0, 3);
sortBtnTT = new GuiTooltip(" "); sortBtnTT = new GuiTooltip(" ");
@ -212,6 +212,16 @@ GameBrowseMenu::GameBrowseMenu()
sortBtnImg->SetWidescreen(Settings.widescreen); sortBtnImg->SetWidescreen(Settings.widescreen);
sortBtn = new GuiButton(sortBtnImg, sortBtnImg, ALIGN_LEFT, ALIGN_TOP, 0, 0, trigA, btnSoundOver, btnSoundClick2, 1, sortBtnTT, -15, 52, 0, 3); sortBtn = new GuiButton(sortBtnImg, sortBtnImg, ALIGN_LEFT, ALIGN_TOP, 0, 0, trigA, btnSoundOver, btnSoundClick2, 1, sortBtnTT, -15, 52, 0, 3);
categBtnTT = new GuiTooltip(tr("Select game categories"));
if (Settings.wsprompt) sortBtnTT->SetWidescreen(Settings.widescreen);
categBtnTT->SetAlpha(thInt("255 - tooltip alpha"));
categBtnImg = new GuiImage(imgCategory);
categBtnImg->SetWidescreen(Settings.widescreen);
categBtnImg_g = new GuiImage(imgCategory_gray);
categBtnImg_g->SetWidescreen(Settings.widescreen);
categBtn = new GuiButton(categBtnImg, categBtnImg, ALIGN_LEFT, ALIGN_TOP, 0, 0, trigA, btnSoundOver, btnSoundClick2, 1, categBtnTT, -15, 52, 0, 3);
listBtnTT = new GuiTooltip(tr( "Display as a list" )); listBtnTT = new GuiTooltip(tr( "Display as a list" ));
if (Settings.wsprompt) listBtnTT->SetWidescreen(Settings.widescreen); if (Settings.wsprompt) listBtnTT->SetWidescreen(Settings.widescreen);
listBtnTT->SetAlpha(thInt("255 - tooltip alpha")); listBtnTT->SetAlpha(thInt("255 - tooltip alpha"));
@ -366,6 +376,8 @@ GameBrowseMenu::~GameBrowseMenu()
delete imgLock_gray; delete imgLock_gray;
delete imgUnlock; delete imgUnlock;
delete imgUnlock_gray; delete imgUnlock_gray;
delete imgCategory;
delete imgCategory_gray;
delete homebrewImgData; delete homebrewImgData;
delete homebrewImgDataOver; delete homebrewImgDataOver;
delete gameCover; delete gameCover;
@ -402,6 +414,8 @@ GameBrowseMenu::~GameBrowseMenu()
delete unlockBtnImg_g; delete unlockBtnImg_g;
delete dvdBtnImg; delete dvdBtnImg;
delete dvdBtnImg_g; delete dvdBtnImg_g;
delete categBtnImg;
delete categBtnImg_g;
delete homebrewImg; delete homebrewImg;
delete homebrewImgOver; delete homebrewImgOver;
delete gameCoverImg; delete gameCoverImg;
@ -428,6 +442,7 @@ GameBrowseMenu::~GameBrowseMenu()
delete carouselBtn; delete carouselBtn;
delete lockBtn; delete lockBtn;
delete dvdBtn; delete dvdBtn;
delete categBtn;
delete homebrewBtn; delete homebrewBtn;
delete DownloadBtn; delete DownloadBtn;
delete idBtn; delete idBtn;
@ -445,6 +460,7 @@ GameBrowseMenu::~GameBrowseMenu()
delete carouselBtnTT; delete carouselBtnTT;
delete lockBtnTT; delete lockBtnTT;
delete dvdBtnTT; delete dvdBtnTT;
delete categBtnTT;
delete homebrewBtnTT; delete homebrewBtnTT;
delete DownloadBtnTT; delete DownloadBtnTT;
delete IDBtnTT; delete IDBtnTT;
@ -572,6 +588,16 @@ void GameBrowseMenu::ReloadBrowser()
lockBtnTT->SetText(tr( "Unlock USB Loader GX" )); lockBtnTT->SetText(tr( "Unlock USB Loader GX" ));
} }
categBtn->SetImage(categBtnImg);
for(u32 n = 0; n < Settings.EnabledCategories.size(); ++n)
{
if(Settings.EnabledCategories[n] == 0)
{
categBtn->SetImage(categBtnImg_g);
break;
}
}
if(GetSelectedGame() >= 0) if(GetSelectedGame() >= 0)
lastSelectedGame = LIMIT(GetSelectedGame(), 0, gameList.size()-1); lastSelectedGame = LIMIT(GetSelectedGame(), 0, gameList.size()-1);
else else
@ -597,12 +623,14 @@ void GameBrowseMenu::ReloadBrowser()
carouselBtn->SetImage(carouselBtnImg_g); carouselBtn->SetImage(carouselBtnImg_g);
carouselBtn->SetImageOver(carouselBtnImg_g); carouselBtn->SetImageOver(carouselBtnImg_g);
favoriteBtn->SetPosition(Settings.widescreen ? thInt("288 - list layout favorite btn pos x widescreen") : thInt("260 - list layout favorite btn pos x"), favoriteBtn->SetPosition(Settings.widescreen ? thInt("256 - list layout favorite btn pos x widescreen") : thInt("220 - list layout favorite btn pos x"),
thInt("13 - list layout favorite btn pos y")); thInt("13 - list layout favorite btn pos y"));
searchBtn->SetPosition(Settings.widescreen ? thInt("320 - list layout search btn pos x widescreen") : thInt("300 - list layout search btn pos x"), searchBtn->SetPosition(Settings.widescreen ? thInt("288 - list layout search btn pos x widescreen") : thInt("260 - list layout search btn pos x"),
thInt("13 - list layout search btn pos y")); thInt("13 - list layout search btn pos y"));
sortBtn->SetPosition(Settings.widescreen ? thInt("352 - list layout abc/sort btn pos x widescreen") : thInt("340 - list layout abc/sort btn pos x"), sortBtn->SetPosition(Settings.widescreen ? thInt("320 - list layout abc/sort btn pos x widescreen") : thInt("300 - list layout abc/sort btn pos x"),
thInt("13 - list layout abc/sort btn pos y")); thInt("13 - list layout abc/sort btn pos y"));
categBtn->SetPosition(Settings.widescreen ? thInt("352 - list layout category btn pos x widescreen") : thInt("340 - list layout category btn pos x"),
thInt("13 - list layout category btn pos y"));
listBtn->SetPosition(Settings.widescreen ? thInt("384 - list layout list btn pos x widescreen") : thInt("380 - list layout list btn pos x"), listBtn->SetPosition(Settings.widescreen ? thInt("384 - list layout list btn pos x widescreen") : thInt("380 - list layout list btn pos x"),
thInt("13 - list layout list btn pos y")); thInt("13 - list layout list btn pos y"));
gridBtn->SetPosition(Settings.widescreen ? thInt("416 - list layout grid btn pos x widescreen") : thInt("420 - list layout grid btn pos x"), gridBtn->SetPosition(Settings.widescreen ? thInt("416 - list layout grid btn pos x widescreen") : thInt("420 - list layout grid btn pos x"),
@ -629,12 +657,14 @@ void GameBrowseMenu::ReloadBrowser()
carouselBtn->SetImage(carouselBtnImg_g); carouselBtn->SetImage(carouselBtnImg_g);
carouselBtn->SetImageOver(carouselBtnImg_g); carouselBtn->SetImageOver(carouselBtnImg_g);
favoriteBtn->SetPosition(Settings.widescreen ? thInt("224 - grid layout favorite btn pos x widescreen") : thInt("200 - grid layout favorite btn pos x"), favoriteBtn->SetPosition(Settings.widescreen ? thInt("192 - grid layout favorite btn pos x widescreen") : thInt("160 - grid layout favorite btn pos x"),
thInt("13 - grid layout favorite btn pos y")); thInt("13 - grid layout favorite btn pos y"));
searchBtn->SetPosition(Settings.widescreen ? thInt("256 - grid layout search btn pos x widescreen") : thInt("240 - grid layout search btn pos x"), searchBtn->SetPosition(Settings.widescreen ? thInt("224 - grid layout search btn pos x widescreen") : thInt("200 - grid layout search btn pos x"),
thInt("13 - grid layout search btn pos y")); thInt("13 - grid layout search btn pos y"));
sortBtn->SetPosition(Settings.widescreen ? thInt("288 - grid layout abc/sort btn pos x widescreen") : thInt("280 - grid layout abc/sort btn pos x"), sortBtn->SetPosition(Settings.widescreen ? thInt("256 - grid layout abc/sort btn pos x widescreen") : thInt("240 - grid layout abc/sort btn pos x"),
thInt("13 - grid layout abc/sort btn pos y")); thInt("13 - grid layout abc/sort btn pos y"));
categBtn->SetPosition(Settings.widescreen ? thInt("288 - grid layout category btn pos x widescreen") : thInt("280 - grid layout category btn pos x"),
thInt("13 - grid layout category btn pos y"));
listBtn->SetPosition(Settings.widescreen ? thInt("320 - grid layout list btn pos x widescreen") : thInt("320 - grid layout list btn pos x"), listBtn->SetPosition(Settings.widescreen ? thInt("320 - grid layout list btn pos x widescreen") : thInt("320 - grid layout list btn pos x"),
thInt("13 - grid layout list btn pos y")); thInt("13 - grid layout list btn pos y"));
gridBtn->SetPosition(Settings.widescreen ? thInt("352 - grid layout grid btn pos x widescreen") : thInt("360 - grid layout grid btn pos x"), gridBtn->SetPosition(Settings.widescreen ? thInt("352 - grid layout grid btn pos x widescreen") : thInt("360 - grid layout grid btn pos x"),
@ -661,11 +691,13 @@ void GameBrowseMenu::ReloadBrowser()
gridBtn->SetImage(gridBtnImg_g); gridBtn->SetImage(gridBtnImg_g);
gridBtn->SetImageOver(gridBtnImg_g); gridBtn->SetImageOver(gridBtnImg_g);
favoriteBtn->SetPosition(Settings.widescreen ? thInt("224 - carousel layout favorite btn pos x widescreen") : thInt("200 - carousel layout favorite btn pos x"), favoriteBtn->SetPosition(Settings.widescreen ? thInt("192 - carousel layout favorite btn pos x widescreen") : thInt("160 - carousel layout favorite btn pos x"),
thInt("13 - carousel layout favorite btn pos y")); thInt("13 - carousel layout favorite btn pos y"));
searchBtn->SetPosition(Settings.widescreen ? thInt("256 - carousel layout search btn pos x widescreen") : thInt("240 - carousel layout search btn pos x"), searchBtn->SetPosition(Settings.widescreen ? thInt("224 - carousel layout search btn pos x widescreen") : thInt("200 - carousel layout search btn pos x"),
thInt("13 - carousel layout search btn pos y")); thInt("13 - carousel layout search btn pos y"));
sortBtn->SetPosition(Settings.widescreen ? thInt("288 - carousel layout abc/sort btn pos x widescreen") : thInt("280 - carousel layout abc/sort btn pos x"), sortBtn->SetPosition(Settings.widescreen ? thInt("256 - carousel layout abc/sort btn pos x widescreen") : thInt("240 - carousel layout abc/sort btn pos x"),
thInt("13 - carousel layout abc/sort btn pos y"));
categBtn->SetPosition(Settings.widescreen ? thInt("288 - carousel layout category btn pos x widescreen") : thInt("280 - carousel layout category btn pos x"),
thInt("13 - carousel layout abc/sort btn pos y")); thInt("13 - carousel layout abc/sort btn pos y"));
listBtn->SetPosition(Settings.widescreen ? thInt("320 - carousel layout list btn pos x widescreen") : thInt("320 - carousel layout list btn pos x"), listBtn->SetPosition(Settings.widescreen ? thInt("320 - carousel layout list btn pos x widescreen") : thInt("320 - carousel layout list btn pos x"),
thInt("13 - carousel layout list btn pos y")); thInt("13 - carousel layout list btn pos y"));
@ -709,6 +741,7 @@ void GameBrowseMenu::ReloadBrowser()
Append(favoriteBtn); Append(favoriteBtn);
Append(searchBtn); Append(searchBtn);
Append(sortBtn); Append(sortBtn);
Append(categBtn);
Append(listBtn); Append(listBtn);
Append(gridBtn); Append(gridBtn);
Append(carouselBtn); Append(carouselBtn);
@ -1103,6 +1136,29 @@ void GameBrowseMenu::CheckDiscSlotUpdate()
rockout(GetSelectedGame()); rockout(GetSelectedGame());
} }
else if(categBtn->GetState() == STATE_CLICKED)
{
SetState(STATE_DISABLED);
CategorySwitchPrompt promptMenu;
promptMenu.SetAlignment(ALIGN_CENTER, ALIGN_MIDDLE);
promptMenu.SetEffect(EFFECT_FADE, 20);
mainWindow->Append(&promptMenu);
promptMenu.Show();
promptMenu.SetEffect(EFFECT_FADE, -20);
while(promptMenu.GetEffect() > 0) usleep(100);
mainWindow->Remove(&promptMenu);
categBtn->ResetState();
SetState(STATE_DEFAULT);
if(promptMenu.categoriesChanged())
{
wString oldFilter(gameList.GetCurrentFilter());
gameList.FilterList(oldFilter.c_str());
ReloadBrowser();
}
}
if(DiscDriveCoverOld != DiscDriveCover) if(DiscDriveCoverOld != DiscDriveCover)
{ {
if(DiscDriveCover & 0x02) if(DiscDriveCover & 0x02)

View File

@ -75,6 +75,8 @@ class GameBrowseMenu : public GuiWindow
GuiImageData * imgLock_gray; GuiImageData * imgLock_gray;
GuiImageData * imgUnlock; GuiImageData * imgUnlock;
GuiImageData * imgUnlock_gray; GuiImageData * imgUnlock_gray;
GuiImageData * imgCategory;
GuiImageData * imgCategory_gray;
GuiImageData * homebrewImgData; GuiImageData * homebrewImgData;
GuiImageData * homebrewImgDataOver; GuiImageData * homebrewImgDataOver;
GuiImageData * gameCover; GuiImageData * gameCover;
@ -111,6 +113,8 @@ class GameBrowseMenu : public GuiWindow
GuiImage * unlockBtnImg_g; GuiImage * unlockBtnImg_g;
GuiImage * dvdBtnImg; GuiImage * dvdBtnImg;
GuiImage * dvdBtnImg_g; GuiImage * dvdBtnImg_g;
GuiImage * categBtnImg;
GuiImage * categBtnImg_g;
GuiImage * homebrewImg; GuiImage * homebrewImg;
GuiImage * homebrewImgOver; GuiImage * homebrewImgOver;
GuiImage * gameCoverImg; GuiImage * gameCoverImg;
@ -137,6 +141,7 @@ class GameBrowseMenu : public GuiWindow
GuiButton * carouselBtn; GuiButton * carouselBtn;
GuiButton * lockBtn; GuiButton * lockBtn;
GuiButton * dvdBtn; GuiButton * dvdBtn;
GuiButton * categBtn;
GuiButton * homebrewBtn; GuiButton * homebrewBtn;
GuiButton * DownloadBtn; GuiButton * DownloadBtn;
GuiButton * idBtn; GuiButton * idBtn;
@ -154,6 +159,7 @@ class GameBrowseMenu : public GuiWindow
GuiTooltip * carouselBtnTT; GuiTooltip * carouselBtnTT;
GuiTooltip * lockBtnTT; GuiTooltip * lockBtnTT;
GuiTooltip * dvdBtnTT; GuiTooltip * dvdBtnTT;
GuiTooltip * categBtnTT;
GuiTooltip * homebrewBtnTT; GuiTooltip * homebrewBtnTT;
GuiTooltip * DownloadBtnTT; GuiTooltip * DownloadBtnTT;
GuiTooltip * IDBtnTT; GuiTooltip * IDBtnTT;

View File

@ -8,6 +8,7 @@
#include "gecko.h" #include "gecko.h"
#include "patchcode.h" #include "patchcode.h"
#include "gamepatches.h" #include "gamepatches.h"
#include "memory/memory.h"
#include "settings/SettingsEnums.h" #include "settings/SettingsEnums.h"
typedef struct _appDOL typedef struct _appDOL
@ -54,6 +55,12 @@ void gamepatches(u8 videoSelected, u8 languageChoice, u8 patchcountrystring, u8
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 */
PoPPatch();
NSMBPatch();
int returnToPatched = PatchNewReturnTo(returnTo); int returnToPatched = PatchNewReturnTo(returnTo);
for(i = 0; i < dolCount; ++i) for(i = 0; i < dolCount; ++i)
@ -95,9 +102,12 @@ void gamepatches(u8 videoSelected, u8 languageChoice, u8 patchcountrystring, u8
/* ERROR 002 fix (thanks to WiiPower for sharing this)*/ /* ERROR 002 fix (thanks to WiiPower for sharing this)*/
if (fix002 != 0) if (fix002 != 0)
*(u32 *) 0x80003188 = *(u32 *) 0x80003140; *(u32 *)0x80003140 = *(u32 *)0x80003188;
DCFlushRange((void*) 0x80000000, 0x3f00); DCFlushRange((void*) 0x80000000, 0x3f00);
free_wip();
ClearDOLList();
} }
/** Anti 002 fix for IOS 249 rev > 12 thanks to WiiPower **/ /** Anti 002 fix for IOS 249 rev > 12 thanks to WiiPower **/

View File

@ -4,15 +4,14 @@
#include <gccore.h> #include <gccore.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif #endif
typedef struct typedef struct
{ {
u32 offset; u32 offset;
u32 srcaddress; u32 srcaddress;
u32 dstaddress; u32 dstaddress;
} WIP_Code; } WIP_Code;
int load_wip_code(u8 *gameid); int load_wip_code(u8 *gameid);

View File

@ -0,0 +1,347 @@
/****************************************************************************
* Copyright (C) 2011
* by Dimok
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any
* damages arising from the use of this software.
*
* Permission is granted to anyone to use this software for any
* purpose, including commercial applications, and to alter it and
* redistribute it freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you
* must not claim that you wrote the original software. If you use
* this software in a product, an acknowledgment in the product
* documentation would be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and
* must not be misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source
* distribution.
***************************************************************************/
#include <unistd.h>
#include "CategoryPrompt.hpp"
#include "settings/CGameCategories.hpp"
#include "themes/Resources.h"
#include "language/gettext.h"
#include "menu/menus.h"
CategoryPrompt::CategoryPrompt(const string &title)
: GuiWindow(0, 0)
{
int posX = 15;
const int posY = 50;
const int distance = 10;
bgImgData = Resources::GetImageData("categoryPrompt.png");
addImgData = Resources::GetImageData("add.png");
prevImgData = Resources::GetImageData("back.png");
forwardImgData = Resources::GetImageData("forward.png");
trashImgData = Resources::GetImageData("remove.png");
lineImgData = Resources::GetImageData("categoryLine.png");
bgImg = new GuiImage(bgImgData);
Append(bgImg);
width = bgImgData->GetWidth();
height = bgImgData->GetHeight();
addImg = new GuiImage(addImgData);
prevImg = new GuiImage(prevImgData);
forwardImg = new GuiImage(forwardImgData);
trashImg = new GuiImage(trashImgData);
lineImg = new GuiImage(lineImgData);
trigA = new GuiTrigger;
trigA->SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A);
trigB = new GuiTrigger;
trigB->SetButtonOnlyTrigger(-1, WPAD_BUTTON_B | WPAD_CLASSIC_BUTTON_B, PAD_BUTTON_B);
trigHome = new GuiTrigger;
trigHome->SetButtonOnlyTrigger(-1, WPAD_BUTTON_HOME | WPAD_CLASSIC_BUTTON_HOME, PAD_BUTTON_START);
trigLeft = new GuiTrigger;
trigLeft->SetButtonOnlyTrigger(-1, WPAD_BUTTON_LEFT | WPAD_CLASSIC_BUTTON_LEFT, PAD_BUTTON_LEFT);
trigRight = new GuiTrigger;
trigRight->SetButtonOnlyTrigger(-1, WPAD_BUTTON_RIGHT | WPAD_CLASSIC_BUTTON_RIGHT, PAD_BUTTON_RIGHT);
trigMinus = new GuiTrigger;
trigMinus->SetButtonOnlyTrigger(-1, WPAD_BUTTON_MINUS | WPAD_CLASSIC_BUTTON_MINUS, 0);
trigPlus = new GuiTrigger;
trigPlus->SetButtonOnlyTrigger(-1, WPAD_BUTTON_PLUS | WPAD_CLASSIC_BUTTON_PLUS, 0);
homeButton = new GuiButton(0, 0);
homeButton->SetTrigger(trigHome);
Append(homeButton);
backButton = new GuiButton(0, 0);
backButton->SetTrigger(trigB);
Append(backButton);
titleTxt = new GuiText(title.c_str(), 30, (GXColor) {0, 0, 0, 255});
titleTxt->SetAlignment(ALIGN_CENTER, ALIGN_TOP);
titleTxt->SetPosition(0, 10);
Append(titleTxt);
previousButton = new GuiButton(prevImg->GetWidth(), prevImg->GetHeight());
previousButton->SetImage(prevImg);
previousButton->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
previousButton->SetPosition(posX, posY);
previousButton->SetSoundOver(btnSoundOver);
previousButton->SetSoundClick(btnSoundClick);
previousButton->SetTrigger(trigA);
previousButton->SetTrigger(trigLeft);
previousButton->SetTrigger(trigMinus);
previousButton->SetEffectGrow();
previousButton->Clicked.connect(this, &CategoryPrompt::OnPreviousButtonClick);
Append(previousButton);
posX += distance + previousButton->GetWidth();
categoryTxt = new GuiText((char *) NULL, 26, (GXColor) {0, 0, 0, 255});
categoryTxt->SetAlignment(ALIGN_CENTER, ALIGN_MIDDLE);
categoryTxt->SetMaxWidth(lineImg->GetWidth()-10, DOTTED);
categoryTxt->SetPosition(0, 2);
editButton = new GuiButton(lineImg->GetWidth(), lineImg->GetHeight());
editButton->SetImage(lineImg);
editButton->SetLabel(categoryTxt);
editButton->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
editButton->SetPosition(posX, posY);
editButton->SetSoundOver(btnSoundOver);
editButton->SetSoundClick(btnSoundClick);
editButton->SetTrigger(trigA);
editButton->SetEffectGrow();
Append(editButton);
posX += distance + editButton->GetWidth();
enabledButton = new GuiCheckbox(32, 32);
enabledButton->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
enabledButton->SetPosition(posX, posY);
enabledButton->SetSoundOver(btnSoundOver);
enabledButton->SetSoundClick(btnSoundClick);
enabledButton->SetTrigger(trigA);
enabledButton->Clicked.connect(this, &CategoryPrompt::OnEnableButtonClick);
Append(enabledButton);
posX += distance + enabledButton->GetWidth();
forwardButton = new GuiButton(forwardImg->GetWidth(), forwardImg->GetHeight());
forwardButton->SetImage(forwardImg);
forwardButton->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
forwardButton->SetPosition(posX, posY);
forwardButton->SetSoundOver(btnSoundOver);
forwardButton->SetSoundClick(btnSoundClick);
forwardButton->SetTrigger(trigA);
forwardButton->SetTrigger(trigRight);
forwardButton->SetTrigger(trigPlus);
forwardButton->SetEffectGrow();
forwardButton->Clicked.connect(this, &CategoryPrompt::OnForwardButtonClick);
Append(forwardButton);
posX += 35 + forwardImg->GetWidth();
posTxt = new GuiText((char *) NULL, 26, (GXColor) {0, 0, 0, 255});
posTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
posTxt->SetPosition(posX, posY+4);
Append(posTxt);
addTxt = new GuiText(tr("Add category"), 24, (GXColor) {0, 0, 0, 255});
addTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
addTxt->SetMaxWidth(180, DOTTED);
addTxt->SetPosition(10+addImg->GetWidth(), 6);
addButton = new GuiButton(addImg->GetWidth()+10+addTxt->GetTextWidth(), addImg->GetHeight());
addButton->SetImage(addImg);
addButton->SetLabel(addTxt);
addButton->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
addButton->SetPosition(15, 100);
addButton->SetSoundOver(btnSoundOver);
addButton->SetSoundClick(btnSoundClick);
addButton->SetTrigger(trigA);
addButton->SetEffectGrow();
Append(addButton);
deleteTxt = new GuiText(tr("Delete category"), 24, (GXColor) {0, 0, 0, 255});
deleteTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
deleteTxt->SetMaxWidth(180, DOTTED);
deleteTxt->SetPosition(trashImg->GetWidth()+10, 6);
deleteButton = new GuiButton(trashImg->GetWidth()+10+deleteTxt->GetTextWidth(), trashImg->GetHeight());
deleteButton->SetImage(trashImg);
deleteButton->SetLabel(deleteTxt);
deleteButton->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
deleteButton->SetPosition(10+180+addImg->GetWidth(), 100);
deleteButton->SetSoundOver(btnSoundOver);
deleteButton->SetSoundClick(btnSoundClick);
deleteButton->SetTrigger(trigA);
deleteButton->SetEffectGrow();
Append(deleteButton);
}
CategoryPrompt::~CategoryPrompt()
{
delete bgImgData;
delete addImgData;
delete prevImgData;
delete forwardImgData;
delete trashImgData;
delete lineImgData;
delete bgImg;
delete addImg;
delete prevImg;
delete forwardImg;
delete trashImg;
delete lineImg;
delete addButton;
delete previousButton;
delete backButton;
delete forwardButton;
delete deleteButton;
delete editButton;
delete homeButton;
delete enabledButton;
delete titleTxt;
delete categoryTxt;
delete posTxt;
delete addTxt;
delete deleteTxt;
delete trigA;
delete trigB;
delete trigHome;
delete trigLeft;
delete trigRight;
delete trigPlus;
delete trigMinus;
}
void CategoryPrompt::OnForwardButtonClick(GuiButton *sender, int chan, const POINT &pointer)
{
nextCategory();
categoryChanged(categoryTxt, posTxt, enabledButton);
sender->ResetState();
}
void CategoryPrompt::OnPreviousButtonClick(GuiButton *sender, int chan, const POINT &pointer)
{
previousCategory();
categoryChanged(categoryTxt, posTxt, enabledButton);
sender->ResetState();
}
void CategoryPrompt::OnEnableButtonClick(GuiButton *sender, int chan, const POINT &pointer)
{
changed = true;
checkBoxClicked(enabledButton);
sender->ResetState();
}
int CategoryPrompt::MainLoop()
{
categoryChanged(categoryTxt, posTxt, enabledButton);
while(backButton->GetState() != STATE_CLICKED)
{
usleep(100);
if (shutdown)
Sys_Shutdown();
else if (reset)
Sys_Reboot();
else if (homeButton->GetState() == STATE_CLICKED)
{
gprintf("\thomeButton clicked\n");
WindowExitPrompt();
homeButton->ResetState();
}
else if(addButton->GetState() == STATE_CLICKED)
{
if(!Settings.godmode && (Settings.ParentalBlocks & BLOCK_CATEGORIES_MOD))
{
WindowPrompt(tr( "Permission denied." ), tr( "Console must be unlocked to be able to use this." ), tr( "OK" ));
addButton->ResetState();
continue;
}
char entered[512] = "";
int result = OnScreenKeyboard(entered, sizeof(entered), 0);
if(result)
{
GameCategories.CategoryList.AddCategory(entered);
GameCategories.Save();
GameCategories.CategoryList.findCategory(entered);
categoryChanged(categoryTxt, posTxt, enabledButton);
}
addButton->ResetState();
}
else if(deleteButton->GetState() == STATE_CLICKED)
{
if(!Settings.godmode && (Settings.ParentalBlocks & BLOCK_CATEGORIES_MOD))
{
WindowPrompt(tr( "Permission denied." ), tr( "Console must be unlocked to be able to use this." ), tr( "OK" ));
deleteButton->ResetState();
continue;
}
if(GameCategories.CategoryList.getCurrentID() == 0)
{
WindowPrompt(tr("Error"), tr("You cannot delete this category."), tr("OK"));
deleteButton->ResetState();
continue;
}
int choice = WindowPrompt(tr("Warning"), tr("Are you sure you want to delete this category?"), tr("Yes"), tr("Cancel"));
if(choice)
{
int pos = GameCategories.CategoryList.pos()-1;
int categoryID = GameCategories.CategoryList.getCurrentID();
GameCategories.CategoryList.RemoveCategory(categoryID);
GameCategories.RemoveCategory(categoryID);
GameCategories.Save();
GameCategories.CategoryList.goToFirst();
for(int i = 0; i < pos; ++i)
GameCategories.CategoryList.goToNext();
categoryChanged(categoryTxt, posTxt, enabledButton);
}
deleteButton->ResetState();
}
else if(editButton->GetState() == STATE_CLICKED)
{
if(!Settings.godmode && (Settings.ParentalBlocks & BLOCK_CATEGORIES_MOD))
{
WindowPrompt(tr( "Permission denied." ), tr( "Console must be unlocked to be able to use this." ), tr( "OK" ));
editButton->ResetState();
continue;
}
char entered[512];
snprintf(entered, sizeof(entered), tr(GameCategories.CategoryList.getCurrentName().c_str()));
int result = OnScreenKeyboard(entered, sizeof(entered), 0);
if(result)
{
GameCategories.CategoryList.SetCategory(GameCategories.CategoryList.getCurrentID(), entered);
int pos = GameCategories.CategoryList.pos();
GameCategories.Save();
GameCategories.CategoryList.goToFirst();
for(int i = 0; i < pos; ++i)
GameCategories.CategoryList.goToNext();
categoryChanged(categoryTxt, posTxt, enabledButton);
}
editButton->ResetState();
}
}
return 0;
}

View File

@ -0,0 +1,87 @@
/****************************************************************************
* Copyright (C) 2011
* by Dimok
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any
* damages arising from the use of this software.
*
* Permission is granted to anyone to use this software for any
* purpose, including commercial applications, and to alter it and
* redistribute it freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you
* must not claim that you wrote the original software. If you use
* this software in a product, an acknowledgment in the product
* documentation would be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and
* must not be misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source
* distribution.
***************************************************************************/
#ifndef CATEGORYPROMPT_HPP_
#define CATEGORYPROMPT_HPP_
#include "libwiigui/gui.h"
#include "libwiigui/gui_checkbox.hpp"
class CategoryPrompt : public GuiWindow, public sigslot::has_slots<>
{
public:
CategoryPrompt(const std::string &title);
~CategoryPrompt();
bool categoriesChanged() const { return changed; }
protected:
int MainLoop();
sigslot::signal3<GuiText *, GuiText *, GuiCheckbox *> categoryChanged;
sigslot::signal0<> nextCategory;
sigslot::signal0<> previousCategory;
sigslot::signal1<GuiCheckbox *> checkBoxClicked;
private:
void OnForwardButtonClick(GuiButton *sender, int chan, const POINT &pointer);
void OnPreviousButtonClick(GuiButton *sender, int chan, const POINT &pointer);
void OnEnableButtonClick(GuiButton *sender, int chan, const POINT &pointer);
bool changed;
GuiImageData *bgImgData;
GuiImageData *addImgData;
GuiImageData *prevImgData;
GuiImageData *forwardImgData;
GuiImageData *trashImgData;
GuiImageData *lineImgData;
GuiImage *bgImg;
GuiImage *addImg;
GuiImage *prevImg;
GuiImage *forwardImg;
GuiImage *trashImg;
GuiImage *lineImg;
GuiButton *addButton;
GuiButton *previousButton;
GuiButton *forwardButton;
GuiButton *backButton;
GuiButton *deleteButton;
GuiButton *editButton;
GuiButton *homeButton;
GuiCheckbox *enabledButton;
GuiText *titleTxt;
GuiText *categoryTxt;
GuiText *posTxt;
GuiText *addTxt;
GuiText *deleteTxt;
GuiTrigger *trigA;
GuiTrigger *trigB;
GuiTrigger *trigHome;
GuiTrigger *trigLeft;
GuiTrigger *trigRight;
GuiTrigger *trigMinus;
GuiTrigger *trigPlus;
};
#endif

View File

@ -0,0 +1,101 @@
/****************************************************************************
* Copyright (C) 2011
* by Dimok
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any
* damages arising from the use of this software.
*
* Permission is granted to anyone to use this software for any
* purpose, including commercial applications, and to alter it and
* redistribute it freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you
* must not claim that you wrote the original software. If you use
* this software in a product, an acknowledgment in the product
* documentation would be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and
* must not be misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source
* distribution.
***************************************************************************/
#include "CategorySelectPrompt.hpp"
#include "settings/CGameCategories.hpp"
#include "settings/CSettings.h"
#include "language/gettext.h"
#include "utils/StringTools.h"
CategorySelectPrompt::CategorySelectPrompt(struct discHdr * header)
: CategoryPrompt(fmt("%s - %s", (char *) header->id, tr("Categories"))),
gameHeader(header)
{
categoryChanged.connect(this, &CategorySelectPrompt::OnCategoryChange);
nextCategory.connect(this, &CategorySelectPrompt::OnNextCategory);
previousCategory.connect(this, &CategorySelectPrompt::OnPreviousCategory);
checkBoxClicked.connect(this, &CategorySelectPrompt::OnCheckboxClicked);
}
CategorySelectPrompt::~CategorySelectPrompt()
{
int pos = GameCategories.CategoryList.pos()-1;
GameCategories.Save();
GameCategories.CategoryList.goToFirst();
for(int i = 0; i < pos; ++i)
GameCategories.CategoryList.goToNext();
}
void CategorySelectPrompt::OnNextCategory()
{
GameCategories.CategoryList.goToNextCicle();
}
void CategorySelectPrompt::OnPreviousCategory()
{
GameCategories.CategoryList.goToPreviousCicle();
}
void CategorySelectPrompt::OnCategoryChange(GuiText *catTxt, GuiText *positionTxt, GuiCheckbox *checkBox)
{
catTxt->SetText(tr(GameCategories.CategoryList.getCurrentName().c_str()));
positionTxt->SetTextf("%i / %i", GameCategories.CategoryList.pos()+1, GameCategories.CategoryList.size());
checkBox->SetChecked(false);
const vector<unsigned int> gameCat = GameCategories[gameHeader->id];
for(u32 i = 0; i < gameCat.size(); ++i)
{
if(gameCat[i] == GameCategories.CategoryList.getCurrentID())
{
checkBox->SetChecked(true);
break;
}
}
}
void CategorySelectPrompt::OnCheckboxClicked(GuiCheckbox *checkBox)
{
if(GameCategories.CategoryList.getCurrentID() == 0)
{
checkBox->SetChecked(true);
return;
}
const vector<unsigned int> gameCat = GameCategories[gameHeader->id];
u32 i;
for(i = 0; i < gameCat.size(); ++i)
{
if(gameCat[i] == GameCategories.CategoryList.getCurrentID())
{
if(!checkBox->IsChecked())
GameCategories.RemoveCategory((const char *) gameHeader->id, gameCat[i]);
break;
}
}
if(i == gameCat.size() && checkBox->IsChecked())
{
GameCategories.SetCategory(gameHeader->id, GameCategories.CategoryList.getCurrentID());
}
}

View File

@ -0,0 +1,44 @@
/****************************************************************************
* Copyright (C) 2011
* by Dimok
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any
* damages arising from the use of this software.
*
* Permission is granted to anyone to use this software for any
* purpose, including commercial applications, and to alter it and
* redistribute it freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you
* must not claim that you wrote the original software. If you use
* this software in a product, an acknowledgment in the product
* documentation would be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and
* must not be misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source
* distribution.
***************************************************************************/
#ifndef CATEGORYSELECT_PROMPT_HPP_
#define CATEGORYSELECT_PROMPT_HPP_
#include "CategoryPrompt.hpp"
#include "usbloader/disc.h"
class CategorySelectPrompt : public CategoryPrompt
{
public:
CategorySelectPrompt(struct discHdr * header);
~CategorySelectPrompt();
int Show() { return CategoryPrompt::MainLoop(); };
private:
void OnCheckboxClicked(GuiCheckbox *checkBox);
void OnCategoryChange(GuiText *categoryTxt, GuiText *posTxt, GuiCheckbox *checkBox);
void OnNextCategory();
void OnPreviousCategory();
struct discHdr * gameHeader;
};
#endif

View File

@ -0,0 +1,81 @@
/****************************************************************************
* Copyright (C) 2011
* by Dimok
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any
* damages arising from the use of this software.
*
* Permission is granted to anyone to use this software for any
* purpose, including commercial applications, and to alter it and
* redistribute it freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you
* must not claim that you wrote the original software. If you use
* this software in a product, an acknowledgment in the product
* documentation would be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and
* must not be misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source
* distribution.
***************************************************************************/
#include "CategorySwitchPrompt.hpp"
#include "settings/CGameCategories.hpp"
#include "settings/CSettings.h"
#include "language/gettext.h"
CategorySwitchPrompt::CategorySwitchPrompt()
: CategoryPrompt(tr("Show Categories"))
{
categoryChanged.connect(this, &CategorySwitchPrompt::OnCategoryChange);
nextCategory.connect(this, &CategorySwitchPrompt::OnNextCategory);
previousCategory.connect(this, &CategorySwitchPrompt::OnPreviousCategory);
checkBoxClicked.connect(this, &CategorySwitchPrompt::OnCheckboxClicked);
}
void CategorySwitchPrompt::OnNextCategory()
{
GameCategories.CategoryList.goToNextCicle();
}
void CategorySwitchPrompt::OnPreviousCategory()
{
GameCategories.CategoryList.goToPreviousCicle();
}
void CategorySwitchPrompt::OnCategoryChange(GuiText *catTxt, GuiText *positionTxt, GuiCheckbox *checkBox)
{
catTxt->SetText(tr(GameCategories.CategoryList.getCurrentName().c_str()));
positionTxt->SetTextf("%i / %i", GameCategories.CategoryList.pos()+1, GameCategories.CategoryList.size());
checkBox->SetChecked(false);
for(u32 i = 0; i < Settings.EnabledCategories.size(); ++i)
{
if(Settings.EnabledCategories[i] == GameCategories.CategoryList.getCurrentID())
{
checkBox->SetChecked(true);
break;
}
}
}
void CategorySwitchPrompt::OnCheckboxClicked(GuiCheckbox *checkBox)
{
u32 i;
for(i = 0; i < Settings.EnabledCategories.size(); ++i)
{
if(Settings.EnabledCategories[i] == GameCategories.CategoryList.getCurrentID())
{
if(!checkBox->IsChecked())
Settings.EnabledCategories.erase(Settings.EnabledCategories.begin()+i);
break;
}
}
if(i == Settings.EnabledCategories.size() && checkBox->IsChecked())
{
Settings.EnabledCategories.push_back(GameCategories.CategoryList.getCurrentID());
}
}

View File

@ -0,0 +1,41 @@
/****************************************************************************
* Copyright (C) 2011
* by Dimok
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any
* damages arising from the use of this software.
*
* Permission is granted to anyone to use this software for any
* purpose, including commercial applications, and to alter it and
* redistribute it freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you
* must not claim that you wrote the original software. If you use
* this software in a product, an acknowledgment in the product
* documentation would be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and
* must not be misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source
* distribution.
***************************************************************************/
#ifndef CATEGORYSWITCH_PROMPT_HPP_
#define CATEGORYSWITCH_PROMPT_HPP_
#include "CategoryPrompt.hpp"
class CategorySwitchPrompt : public CategoryPrompt
{
public:
CategorySwitchPrompt();
int Show() { return CategoryPrompt::MainLoop(); };
private:
void OnCheckboxClicked(GuiCheckbox *checkBox);
void OnCategoryChange(GuiText *categoryTxt, GuiText *posTxt, GuiCheckbox *checkBox);
void OnNextCategory();
void OnPreviousCategory();
};
#endif

View File

@ -56,6 +56,11 @@ CheckboxPrompt::~CheckboxPrompt()
} }
void CheckboxPrompt::OnCheckBoxClick(GuiButton *sender, int chan, const POINT &pointer)
{
sender->ResetState();
}
void CheckboxPrompt::AddCheckBox(const char *text) void CheckboxPrompt::AddCheckBox(const char *text)
{ {
int size = Checkbox.size(); int size = Checkbox.size();
@ -74,6 +79,7 @@ void CheckboxPrompt::AddCheckBox(const char *text)
Checkbox[size]->SetSoundClick(btnSoundClick); Checkbox[size]->SetSoundClick(btnSoundClick);
Checkbox[size]->SetSoundOver(btnSoundOver); Checkbox[size]->SetSoundOver(btnSoundOver);
Checkbox[size]->SetTrigger(trigA); Checkbox[size]->SetTrigger(trigA);
Checkbox[size]->Clicked.connect(this, &CheckboxPrompt::OnCheckBoxClick);
Append(Checkbox[size]); Append(Checkbox[size]);
if (Settings.wsprompt && Settings.widescreen) if (Settings.wsprompt && Settings.widescreen)

View File

@ -37,7 +37,7 @@ enum
CheckedBox6 = 0x20, CheckedBox6 = 0x20,
}; };
class CheckboxPrompt : private PromptWindow class CheckboxPrompt : private PromptWindow, public sigslot::has_slots<>
{ {
public: public:
//! Constructor //! Constructor
@ -54,6 +54,7 @@ class CheckboxPrompt : private PromptWindow
const char *chbx3 = 0, const char *chbx4 = 0, const char *chbx3 = 0, const char *chbx4 = 0,
const char *chbx5 = 0, const char *chbx6 = 0); const char *chbx5 = 0, const char *chbx6 = 0);
protected: protected:
void OnCheckBoxClick(GuiButton *sender, int chan, const POINT &pointer);
std::vector<GuiText *> CheckboxTxt; std::vector<GuiText *> CheckboxTxt;
std::vector<GuiCheckbox *> Checkbox; std::vector<GuiCheckbox *> Checkbox;
}; };

View File

@ -4,11 +4,11 @@
#include "usbloader/wbfs.h" #include "usbloader/wbfs.h"
#include "usbloader/GameList.h" #include "usbloader/GameList.h"
#include "themes/CTheme.h" #include "themes/CTheme.h"
#include "settings/menus/GameSettingsMenu.hpp"
#include "settings/CSettings.h" #include "settings/CSettings.h"
#include "settings/CGameSettings.h" #include "settings/CGameSettings.h"
#include "settings/CGameStatistics.h" #include "settings/CGameStatistics.h"
#include "settings/GameTitles.h" #include "settings/GameTitles.h"
#include "settings/Settings.h"
#include "prompts/PromptWindows.h" #include "prompts/PromptWindows.h"
#include "prompts/gameinfo.h" #include "prompts/gameinfo.h"
#include "language/gettext.h" #include "language/gettext.h"
@ -486,7 +486,7 @@ int GameWindow::MainLoop()
ResumeGui(); ResumeGui();
wiilight(0); wiilight(0);
int settret = MenuGameSettings(mountMethod ? dvdheader : gameList[gameSelected]); int settret = GameSettingsMenu::Show(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)

View File

@ -6,6 +6,7 @@
#include <dirent.h> #include <dirent.h>
#include "usbloader/wbfs.h" #include "usbloader/wbfs.h"
#include "settings/CGameCategories.hpp"
#include "language/gettext.h" #include "language/gettext.h"
#include "libwiigui/gui.h" #include "libwiigui/gui.h"
#include "libwiigui/Text.hpp" #include "libwiigui/Text.hpp"
@ -716,6 +717,42 @@ static int InternalShowGameInfo(char *ID)
InfoWindow.Append(developerTxt); InfoWindow.Append(developerTxt);
} }
GuiText *categoryTitle = NULL;
std::vector<GuiText *> categoriesTxt;
indexy += 10;
const std::vector<unsigned int> gameCategories = GameCategories[ID];
if(gameCategories.size() > 1)
{
categoryTitle = new GuiText(tr("Categories:"), 16, ( GXColor ) {0, 0, 0, 255});
categoryTitle->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
categoryTitle->SetPosition(505, 12 + indexy);
indexy += 20;
InfoWindow.Append(categoryTitle);
}
for (u32 i = 0; i < gameCategories.size(); ++i)
{
if(gameCategories[i] == 0)
continue;
if(categoriesTxt.size() >= 2 && gameCategories.size() > i+1)
{
categoriesTxt.push_back(new GuiText("...", 16, ( GXColor ) {0, 0, 0, 255}));
categoriesTxt[categoriesTxt.size()-1]->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
categoriesTxt[categoriesTxt.size()-1]->SetPosition(515, 12 + indexy);
indexy += 20;
InfoWindow.Append(categoriesTxt[categoriesTxt.size()-1]);
break;
}
categoriesTxt.push_back(new GuiText(GameCategories.CategoryList[gameCategories[i]], 16, ( GXColor ) {0, 0, 0, 255}));
categoriesTxt[categoriesTxt.size()-1]->SetAlignment(ALIGN_LEFT, ALIGN_TOP);
categoriesTxt[categoriesTxt.size()-1]->SetPosition(515, 12 + indexy);
indexy += 20;
InfoWindow.Append(categoriesTxt[categoriesTxt.size()-1]);
}
//genre //genre
int genreY = marginY; int genreY = marginY;
if(GameInfo.GenreList.size() > 0) if(GameInfo.GenreList.size() > 0)
@ -978,12 +1015,17 @@ static int InternalShowGameInfo(char *ID)
delete genreTitleTxt; delete genreTitleTxt;
delete wiitdb1Txt; delete wiitdb1Txt;
delete memTxt; delete memTxt;
delete categoryTitle;
for (u32 i = 0; i < GameInfo.GenreList.size(); ++i) for (u32 i = 0; i < GameInfo.GenreList.size(); ++i)
delete genreTxt[i]; delete genreTxt[i];
for (u32 i = 0; i < GameInfo.WifiFeatureList.size(); ++i) for (u32 i = 0; i < GameInfo.WifiFeatureList.size(); ++i)
delete wifiTxt[i]; delete wifiTxt[i];
for (u32 i = 0; i < categoriesTxt.size(); ++i)
delete categoriesTxt[i];
delete [] genreTxt; delete [] genreTxt;
delete [] wifiTxt; delete [] wifiTxt;

View File

@ -0,0 +1,105 @@
/****************************************************************************
* Copyright (C) 2011
* by Dimok
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any
* damages arising from the use of this software.
*
* Permission is granted to anyone to use this software for any
* purpose, including commercial applications, and to alter it and
* redistribute it freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you
* must not claim that you wrote the original software. If you use
* this software in a product, an acknowledgment in the product
* documentation would be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and
* must not be misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source
* distribution.
***************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "CCategoryList.hpp"
#include "language/gettext.h"
#include "FileOperations/fileops.h"
#include "svnrev.h"
#define VALID_CONFIG_REV 1085
CCategoryList CategoryList;
CCategoryList::CCategoryList()
{
nameList[0] = tr("All");
goToFirst();
}
const char * CCategoryList::operator[](unsigned int id)
{
map<unsigned int, string>::iterator itr = nameList.find(id);
if(itr == nameList.end())
return NULL;
return nameList[id].c_str();
}
bool CCategoryList::AddCategory(const string &name)
{
if(findCategory(name))
return false;
unsigned int i = 1;
map<unsigned int, string>::iterator itr;
//! Find next free key
while((itr = nameList.find(i)) != nameList.end())
i++;
nameList[i] = name;
listIter = nameList.find(i);
return true;
}
bool CCategoryList::SetCategory(unsigned int id, const string &name)
{
RemoveCategory(name);
nameList[id] = name;
listIter = nameList.find(id);
return true;
}
void CCategoryList::RemoveCategory(const string &name)
{
for (map<unsigned int, string>::iterator itr = nameList.begin(); itr != nameList.end(); itr++)
{
if(name == itr->second)
{
nameList.erase(itr);
break;
}
}
}
void CCategoryList::RemoveCategory(unsigned int id)
{
map<unsigned int, string>::iterator itr = nameList.find(id);
if(itr != nameList.end())
nameList.erase(itr);
}
bool CCategoryList::findCategory(const string &name)
{
for (listIter = nameList.begin(); listIter != nameList.end(); listIter++)
{
if(name == listIter->second)
return true;
}
return false;
}

View File

@ -0,0 +1,60 @@
/****************************************************************************
* Copyright (C) 2011
* by Dimok
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any
* damages arising from the use of this software.
*
* Permission is granted to anyone to use this software for any
* purpose, including commercial applications, and to alter it and
* redistribute it freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you
* must not claim that you wrote the original software. If you use
* this software in a product, an acknowledgment in the product
* documentation would be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and
* must not be misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source
* distribution.
***************************************************************************/
#ifndef CATEGORYLIST_HPP_
#define CATEGORYLIST_HPP_
#include <map>
#include <string>
using namespace std;
class CCategoryList
{
public:
CCategoryList();
bool Load(string filepath);
bool Save();
bool AddCategory(const string &name);
bool SetCategory(unsigned int id, const string &name);
void RemoveCategory(unsigned int id);
void RemoveCategory(const string &name);
bool goToFirst() { listIter = nameList.begin(); return true; }
bool goToNext() { listIter++; return listIter != nameList.end(); }
unsigned int getCurrentID() const { return listIter->first; }
const string &getCurrentName() const { return listIter->second; }
const char * operator[](unsigned int id);
const char *at(unsigned int id) { return operator[](id); }
void goToNextCicle() { listIter++; if(listIter == nameList.end()) listIter = nameList.begin(); }
void goToPreviousCicle() { if(listIter == nameList.begin()) listIter = nameList.end(); listIter--; }
bool findCategory(const string &name);
bool findCategory(unsigned int id) { listIter = nameList.find(id); return listIter != nameList.end(); };
int pos() const { return distance(nameList.begin(), listIter); }
int size() const { return nameList.size(); }
private:
string configPath;
map<unsigned int, string>::const_iterator listIter;
map<unsigned int, string> nameList;
};
#endif

View File

@ -0,0 +1,358 @@
/****************************************************************************
* Copyright (C) 2011
* by Dimok
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any
* damages arising from the use of this software.
*
* Permission is granted to anyone to use this software for any
* purpose, including commercial applications, and to alter it and
* redistribute it freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you
* must not claim that you wrote the original software. If you use
* this software in a product, an acknowledgment in the product
* documentation would be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and
* must not be misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source
* distribution.
***************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "CGameCategories.hpp"
#include "GameTitles.h"
#include "language/gettext.h"
#include "FileOperations/fileops.h"
#include "xml/xml.h"
#include "gecko.h"
#include "svnrev.h"
#define VALID_CONFIG_REV 1084
CGameCategories GameCategories;
CGameCategories::CGameCategories()
: defaultCategory(1, 0)
{
}
const vector<unsigned int> &CGameCategories::operator[](const char *id) const
{
if(!id) return defaultCategory;
for(map<string, vector<unsigned int> >::const_iterator itr = List.begin(); itr != List.end(); itr++)
{
if(strncasecmp(itr->first.c_str(), id, 6) == 0)
return itr->second;
}
return defaultCategory;
}
static const char * XMLSaveCallback(mxml_node_t *node, int where)
{
const char *name = node->value.element.name;
if (where == MXML_WS_BEFORE_OPEN)
{
if(!strcmp(name, "Revision") || !strcmp(name, "Categories") || !strcmp(name, "GameCategories"))
return "\n";
else if(!strcmp(name, "Game"))
return "\n\t";
else if(!strcmp(name, "Category"))
return "\n\t\t";
}
else if(where == MXML_WS_BEFORE_CLOSE)
{
if(!strcmp(name, "Categories") || !strcmp(name, "GameCategories"))
return "\n";
else if(!strcmp(name, "Game"))
return "\n\t";
}
return (NULL);
}
bool CGameCategories::Load(string filepath)
{
if(filepath.size() == 0)
return false;
if(filepath[filepath.size()-1] != '/')
filepath += '/';
filepath += "GXGameCategories.xml";
configPath = filepath;
u8 *buffer = NULL;
u64 filesize = 0;
LoadFileToMem(filepath.c_str(), &buffer, &filesize);
if(!buffer)
return false;
mxml_node_t *xmlfile = mxmlLoadString(NULL, (const char *) buffer, MXML_OPAQUE_CALLBACK);
if(!ValidVersion(xmlfile))
{
mxmlDelete(xmlfile);
free(buffer);
return false;
}
mxml_node_t *node = mxmlFindElement(xmlfile, xmlfile, "Categories", NULL, NULL, MXML_DESCEND_FIRST);
if(!node)
{
mxmlDelete(xmlfile);
free(buffer);
return false;
}
node = mxmlFindElement(node, xmlfile, "Category", NULL, NULL, MXML_DESCEND_FIRST);
while(node != NULL)
{
const char * ID = mxmlElementGetAttr(node, "ID");
const char * Name = mxmlElementGetAttr(node, "Name");
if(ID && Name)
CategoryList.SetCategory(atoi(ID), Name);
node = mxmlFindElement(node, xmlfile, "Category", NULL, NULL, MXML_NO_DESCEND);
}
node = mxmlFindElement(xmlfile, xmlfile, "GameCategories", NULL, NULL, MXML_DESCEND_FIRST);
if(!node)
{
mxmlDelete(xmlfile);
free(buffer);
return false;
}
node = mxmlFindElement(node, xmlfile, "Game", NULL, NULL, MXML_DESCEND_FIRST);
while(node != NULL)
{
const char * gameID = mxmlElementGetAttr(node, "ID");
mxml_node_t *category = mxmlFindElement(node, xmlfile, "Category", NULL, NULL, MXML_DESCEND_FIRST);
while(category != NULL)
{
const char * categoryID = mxmlElementGetAttr(category, "ID");
if(gameID && categoryID)
SetCategory(gameID, atoi(categoryID));
category = mxmlFindElement(category, xmlfile, "Category", NULL, NULL, MXML_NO_DESCEND);
}
node = mxmlFindElement(node, xmlfile, "Game", NULL, NULL, MXML_NO_DESCEND);
}
mxmlDelete(xmlfile);
free(buffer);
CategoryList.goToFirst();
return true;
}
bool CGameCategories::Save()
{
char filepath[300];
snprintf(filepath, sizeof(filepath), configPath.c_str());
char * ptr = strrchr(filepath, '/');
if(ptr)
ptr[0] = 0;
CreateSubfolder(filepath);
FILE * f = fopen(configPath.c_str(), "wb");
if(!f)
return false;
mxml_node_t *xmlfile = mxmlNewXML("1.0");
mxmlSetWrapMargin(0);
mxml_node_t *node = mxmlNewElement(xmlfile, "Revision");
mxmlNewInteger(node, atoi(GetRev()));
node = mxmlNewElement(xmlfile, "Categories");
CategoryList.goToFirst();
do
{
mxml_node_t *category = mxmlNewElement(node, "Category");
mxmlElementSetAttrf(category, "ID", "%02u", CategoryList.getCurrentID());
mxmlElementSetAttr(category, "Name", CategoryList.getCurrentName().c_str());
}
while(CategoryList.goToNext());
node = mxmlNewElement(xmlfile, "GameCategories");
for(map<string, vector<unsigned int> >::iterator itr = List.begin(); itr != List.end(); itr++)
{
mxml_node_t *game = mxmlNewElement(node, "Game");
mxmlElementSetAttr(game, "ID", itr->first.c_str());
mxmlElementSetAttr(game, "Title", GameTitles.GetTitle(itr->first.c_str()));
for(u32 i = 0; i < itr->second.size(); ++i)
{
mxml_node_t *category = mxmlNewElement(game, "Category");
mxmlElementSetAttrf(category, "ID", "%02u", itr->second[i]);
mxmlElementSetAttr(category, "Name", CategoryList[itr->second[i]]);
}
}
mxmlSaveFile(xmlfile, f, XMLSaveCallback);
fclose(f);
mxmlDelete(xmlfile);
return true;
}
bool CGameCategories::ValidVersion(mxml_node_t *xmlfile)
{
if(!xmlfile) return false;
mxml_node_t *node = mxmlFindElement(xmlfile, xmlfile, "Revision", NULL, NULL, MXML_DESCEND_FIRST);
if(!node || !node->child || !node->child->value.opaque)
return false;
return atoi(node->child->value.opaque) >= VALID_CONFIG_REV;
}
bool CGameCategories::SetCategory(const char *gameID, unsigned int id)
{
if(!gameID) return false;
char gameID6[7];
snprintf(gameID6, sizeof(gameID6), gameID);
string stringGameID(gameID6);
return SetCategory(stringGameID, id);
}
bool CGameCategories::SetCategory(const string &gameID, unsigned int id)
{
if(List[gameID].empty())
List[gameID] = defaultCategory;
vector<unsigned int> tmpVect(List[gameID]);
for(u32 i = 0; i < tmpVect.size(); ++i)
{
if(tmpVect[i] == id)
return false;
}
List[gameID].push_back(id);
return true;
}
bool CGameCategories::ReplaceCategory(const char *gameID, unsigned int id)
{
if(!gameID) return false;
char gameID6[7];
snprintf(gameID6, sizeof(gameID6), gameID);
List[string(gameID6)] = defaultCategory;
List[string(gameID6)].push_back(id);
return true;
}
bool CGameCategories::ReplaceCategory(const string &gameID, unsigned int id)
{
List[gameID] = defaultCategory;
List[gameID].push_back(id);
return true;
}
void CGameCategories::RemoveCategory(unsigned int id)
{
for(map<string, vector<unsigned int> >::iterator itr = List.begin(); itr != List.end(); itr++)
{
for(u32 i = 0; i < itr->second.size(); ++i)
{
if(itr->second[i] == id)
itr->second.erase(itr->second.begin()+ i);
}
}
}
void CGameCategories::RemoveGameCategories(const string &gameID)
{
for (map<string, vector<unsigned int> >::iterator itr = List.begin(); itr != List.end(); itr++)
{
if(gameID == itr->first)
{
List.erase(itr);
}
}
}
void CGameCategories::RemoveCategory(const char *gameID, unsigned int id)
{
if(!gameID) return;
string gameID6;
for(int i = 0; i < 6; ++i)
gameID6.push_back(gameID[i]);
RemoveCategory(gameID6, id);
}
void CGameCategories::RemoveCategory(const string &gameID, unsigned int id)
{
for (map<string, vector<unsigned int> >::iterator itr = List.begin(); itr != List.end(); itr++)
{
if(gameID == itr->first)
{
for(u32 i = 0; i < itr->second.size(); ++i)
{
if(itr->second[i] == id)
{
itr->second.erase(itr->second.begin()+ i);
break;
}
}
break;
}
}
}
bool CGameCategories::isInCategory(const char *gameID, unsigned int id)
{
if(id == 0) //! ID = 0 means category 'All' so it is always true
return true;
if(!gameID) return false;
string gameID6;
for(int i = 0; i < 6; ++i)
gameID6.push_back(gameID[i]);
for (map<string, vector<unsigned int> >::iterator itr = GameCategories.List.begin(); itr != GameCategories.List.end(); itr++)
{
if(itr->first == gameID6)
{
for(u32 i = 0; i < itr->second.size(); ++i)
{
if(itr->second[i] == id)
return true;
}
break;
}
}
return false;
}

View File

@ -0,0 +1,66 @@
/****************************************************************************
* Copyright (C) 2011
* by Dimok
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any
* damages arising from the use of this software.
*
* Permission is granted to anyone to use this software for any
* purpose, including commercial applications, and to alter it and
* redistribute it freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you
* must not claim that you wrote the original software. If you use
* this software in a product, an acknowledgment in the product
* documentation would be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and
* must not be misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source
* distribution.
***************************************************************************/
#ifndef GAMECATEGORIES_HPP_
#define GAMECATEGORIES_HPP_
#include <gctypes.h>
#include <map>
#include <string>
#include <vector>
#include <mxml.h>
#include "CCategoryList.hpp"
class CGameCategories
{
public:
CGameCategories();
bool Load(string filepath);
bool Save();
bool SetCategory(const string &gameID, unsigned int id);
bool SetCategory(const char *gameID, unsigned int id);
bool SetCategory(const unsigned char *gameID, int unsigned id) { return SetCategory((const char *) gameID, id); };
bool ReplaceCategory(const string &gameID, unsigned int id);
bool ReplaceCategory(const char *gameID, unsigned int id);
bool ReplaceCategory(const unsigned char *gameID, int unsigned id) { return SetCategory((const char *) gameID, id); };
void RemoveCategory(unsigned int id);
void RemoveCategory(const string &gameID, unsigned int id);
void RemoveCategory(const char *gameID, unsigned int id);
void RemoveCategory(const unsigned char *gameID, unsigned int id) { RemoveCategory((const char *) gameID, id); };
void RemoveGameCategories(const string &gameID);
const vector<unsigned int> &operator[](const char *gameID) const;
const vector<unsigned int> &operator[](const unsigned char *gameID) const { return operator[]((const char *) gameID); }
static bool isInCategory(const char *gameID, unsigned int id);
CCategoryList CategoryList;
protected:
bool ValidVersion(mxml_node_t *xmlfile);
string configPath;
const vector<unsigned int> defaultCategory;
map<string, vector<unsigned int> > List;
};
extern CGameCategories GameCategories;
#endif

View File

@ -118,6 +118,8 @@ void CSettings::SetDefault()
CacheTitles = ON; CacheTitles = ON;
WSFactor = 0.8f; //actually should be 0.75 for real widescreen WSFactor = 0.8f; //actually should be 0.75 for real widescreen
FontScaleFactor = 1.0f; FontScaleFactor = 1.0f;
EnabledCategories.resize(1);
EnabledCategories[0] = 0;
} }
bool CSettings::Load() bool CSettings::Load()
@ -263,6 +265,14 @@ bool CSettings::Save()
fprintf(file, "CacheTitles = %d\n ", CacheTitles); fprintf(file, "CacheTitles = %d\n ", CacheTitles);
fprintf(file, "WSFactor = %0.3f\n ", WSFactor); fprintf(file, "WSFactor = %0.3f\n ", WSFactor);
fprintf(file, "FontScaleFactor = %0.3f\n ", FontScaleFactor); fprintf(file, "FontScaleFactor = %0.3f\n ", FontScaleFactor);
fprintf(file, "EnabledCategories = ");
for(u32 i = 0; i < EnabledCategories.size(); ++i)
{
fprintf(file, "%i", EnabledCategories[i]);
if(i+1 < EnabledCategories.size())
fprintf(file, ",");
}
fprintf(file, "\n ");
fclose(file); fclose(file);
return true; return true;
@ -630,6 +640,25 @@ bool CSettings::SetSetting(char *name, char *value)
strcpy(returnTo, value); strcpy(returnTo, value);
return true; return true;
} }
else if (strcmp(name, "EnabledCategories") == 0)
{
EnabledCategories.clear();
char * strTok = strtok(value, ",");
while (strTok != NULL)
{
u32 id = atoi(strTok);
u32 i;
for(i = 0; i < EnabledCategories.size(); ++i)
{
if(EnabledCategories[i] == id)
break;
}
if(i == EnabledCategories.size())
EnabledCategories.push_back(id);
strTok = strtok(NULL,",");
}
return true;
}
return false; return false;
} }

View File

@ -27,6 +27,7 @@
#include <string> #include <string>
#include <stdio.h> #include <stdio.h>
#include <gctypes.h> #include <gctypes.h>
#include <vector>
#include "SettingsEnums.h" #include "SettingsEnums.h"
class CSettings class CSettings
@ -117,6 +118,7 @@ class CSettings
u32 ParentalBlocks; u32 ParentalBlocks;
f32 WSFactor; f32 WSFactor;
f32 FontScaleFactor; f32 FontScaleFactor;
std::vector<u32> EnabledCategories;
protected: protected:
bool ValidVersion(FILE * file); bool ValidVersion(FILE * file);
bool SetSetting(char *name, char *value); bool SetSetting(char *name, char *value);

View File

@ -1,42 +0,0 @@
#include <string.h>
#include <unistd.h>
#include "settings/menus/GlobalSettings.hpp"
#include "settings/menus/GameSettingsMenu.hpp"
/****************************************************************************
* MenuSettings
***************************************************************************/
int MenuSettings()
{
GlobalSettings * Menu = new GlobalSettings();
mainWindow->Append(Menu);
Menu->ShowMenu();
int returnMenu = MENU_NONE;
while((returnMenu = Menu->MainLoop()) == MENU_NONE);
delete Menu;
return returnMenu;
}
/********************************************************************************
*Game specific settings
*********************************************************************************/
int MenuGameSettings(struct discHdr * header)
{
GameSettingsMenu * Menu = new GameSettingsMenu(header);
mainWindow->Append(Menu);
Menu->ShowMenu();
int returnMenu = MENU_NONE;
while((returnMenu = Menu->MainLoop()) == MENU_NONE);
delete Menu;
return returnMenu;
}

View File

@ -1,14 +0,0 @@
/****************************************************************************
* Settings
* USB Loader GX 2009
*
* settings.h
***************************************************************************/
#ifndef _SETTINGS_H_
#define _SETTINGS_H_
int MenuSettings();
int MenuGameSettings(struct discHdr * header);
#endif

View File

@ -168,6 +168,7 @@ enum
BLOCK_COVER_DOWNLOADS = 0x2000, BLOCK_COVER_DOWNLOADS = 0x2000,
BLOCK_GAME_INSTALL = 0x4000, BLOCK_GAME_INSTALL = 0x4000,
BLOCK_GAMEID_CHANGE = 0x8000, BLOCK_GAMEID_CHANGE = 0x8000,
BLOCK_CATEGORIES_MOD = 0x010000,
BLOCK_ALL = 0xFFFFFFFF, BLOCK_ALL = 0xFFFFFFFF,
}; };

View File

@ -158,6 +158,9 @@ void FlyingButtonsMenu::SetPageIndicators()
FirstIndicator = IndicatorCount-MAX_INDICATORS; FirstIndicator = IndicatorCount-MAX_INDICATORS;
else else
FirstIndicator = currentPage - (int) floor(MAX_INDICATORS/2.0f); FirstIndicator = currentPage - (int) floor(MAX_INDICATORS/2.0f);
if(FirstIndicator < 0)
FirstIndicator = 0;
} }
int DisplayedIndicators = IndicatorCount > MAX_INDICATORS ? MAX_INDICATORS : IndicatorCount; int DisplayedIndicators = IndicatorCount > MAX_INDICATORS ? MAX_INDICATORS : IndicatorCount;

View File

@ -21,18 +21,21 @@
* 3. This notice may not be removed or altered from any source * 3. This notice may not be removed or altered from any source
* distribution. * distribution.
***************************************************************************/ ***************************************************************************/
#include <unistd.h>
#include "GameSettingsMenu.hpp" #include "GameSettingsMenu.hpp"
#include "themes/CTheme.h" #include "themes/CTheme.h"
#include "prompts/PromptWindows.h" #include "prompts/PromptWindows.h"
#include "prompts/CategorySelectPrompt.hpp"
#include "settings/GameTitles.h" #include "settings/GameTitles.h"
#include "usbloader/GameList.h"
#include "language/gettext.h" #include "language/gettext.h"
#include "wad/nandtitle.h" #include "wad/nandtitle.h"
#include "cheats/cheatmenu.h" #include "cheats/cheatmenu.h"
#include "GameLoadSM.hpp" #include "GameLoadSM.hpp"
#include "UninstallSM.hpp" #include "UninstallSM.hpp"
GameSettingsMenu::GameSettingsMenu(struct discHdr * header) GameSettingsMenu::GameSettingsMenu(GameBrowseMenu *parent, struct discHdr * header)
: FlyingButtonsMenu(GameTitles.GetTitle(header)) : FlyingButtonsMenu(GameTitles.GetTitle(header)), browserMenu(parent)
{ {
DiscHeader = header; DiscHeader = header;
//! Don't switch menu's by default but return to disc window. //! Don't switch menu's by default but return to disc window.
@ -43,12 +46,29 @@ GameSettingsMenu::~GameSettingsMenu()
{ {
} }
int GameSettingsMenu::Show(GameBrowseMenu *parent, struct discHdr * header)
{
GameSettingsMenu * Menu = new GameSettingsMenu(parent, header);
mainWindow->Append(Menu);
Menu->ShowMenu();
int returnMenu = MENU_NONE;
while((returnMenu = Menu->MainLoop()) == MENU_NONE);
delete Menu;
return returnMenu;
}
void GameSettingsMenu::SetupMainButtons() void GameSettingsMenu::SetupMainButtons()
{ {
int pos = 0; int pos = 0;
SetMainButton(pos++, tr( "Game Load" ), MainButtonImgData, MainButtonImgOverData); SetMainButton(pos++, tr( "Game Load" ), MainButtonImgData, MainButtonImgOverData);
SetMainButton(pos++, tr( "Ocarina" ), MainButtonImgData, MainButtonImgOverData); SetMainButton(pos++, tr( "Ocarina" ), MainButtonImgData, MainButtonImgOverData);
SetMainButton(pos++, tr( "Categories" ), MainButtonImgData, MainButtonImgOverData);
SetMainButton(pos++, tr( "Uninstall Menu" ), MainButtonImgData, MainButtonImgOverData); SetMainButton(pos++, tr( "Uninstall Menu" ), MainButtonImgData, MainButtonImgOverData);
SetMainButton(pos++, tr( "Default Gamesettings" ), MainButtonImgData, MainButtonImgOverData); SetMainButton(pos++, tr( "Default Gamesettings" ), MainButtonImgData, MainButtonImgOverData);
} }
@ -77,6 +97,42 @@ void GameSettingsMenu::CreateSettingsMenu(int menuNr)
CheatMenu(ID); CheatMenu(ID);
} }
//! Categories
else if(menuNr == Idx++)
{
HideMenu();
titleTxt = new GuiText(MenuTitle.c_str(), 28, ( GXColor ) {0, 0, 0, 255});
titleTxt->SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
titleTxt->SetPosition(0, 40);
titleTxt->SetMaxWidth(310, SCROLL_HORIZONTAL);
Append(titleTxt);
Remove(backBtn);
ResumeGui();
SetState(STATE_DISABLED);
CategorySelectPrompt promptMenu(DiscHeader);
promptMenu.SetAlignment(ALIGN_CENTER, ALIGN_MIDDLE);
promptMenu.SetEffect(EFFECT_FADE, 20);
mainWindow->Append(&promptMenu);
promptMenu.Show();
promptMenu.SetEffect(EFFECT_FADE, -20);
while(promptMenu.GetEffect() > 0) usleep(100);
mainWindow->Remove(&promptMenu);
if(promptMenu.categoriesChanged())
{
wString oldFilter(gameList.GetCurrentFilter());
gameList.FilterList(oldFilter.c_str());
browserMenu->ReloadBrowser();
}
SetState(STATE_DEFAULT);
Remove(titleTxt);
delete titleTxt;
titleTxt = NULL;
Append(backBtn);
ShowMenu();
}
//! Uninstall Menu //! Uninstall Menu
else if(menuNr == Idx++) else if(menuNr == Idx++)
{ {

View File

@ -26,18 +26,21 @@
#include "FlyingButtonsMenu.hpp" #include "FlyingButtonsMenu.hpp"
#include "settings/CGameSettings.h" #include "settings/CGameSettings.h"
#include "menu/GameBrowseMenu.hpp"
#include "usbloader/disc.h" #include "usbloader/disc.h"
class GameSettingsMenu : public FlyingButtonsMenu class GameSettingsMenu : public FlyingButtonsMenu
{ {
public: public:
GameSettingsMenu(struct discHdr * header); GameSettingsMenu(GameBrowseMenu *parent, struct discHdr * header);
~GameSettingsMenu(); ~GameSettingsMenu();
static int Show(GameBrowseMenu *parent, struct discHdr *header);
protected: protected:
virtual void CreateSettingsMenu(int index); virtual void CreateSettingsMenu(int index);
virtual void DeleteSettingsMenu(); virtual void DeleteSettingsMenu();
virtual void SetupMainButtons(); virtual void SetupMainButtons();
GameBrowseMenu *browserMenu;
struct discHdr * DiscHeader; struct discHdr * DiscHeader;
}; };

View File

@ -47,6 +47,22 @@ GlobalSettings::~GlobalSettings()
delete creditsImgOverData; delete creditsImgOverData;
} }
int GlobalSettings::Show()
{
GlobalSettings * Menu = new GlobalSettings();
mainWindow->Append(Menu);
Menu->ShowMenu();
int returnMenu = MENU_NONE;
while((returnMenu = Menu->MainLoop()) == MENU_NONE);
delete Menu;
return returnMenu;
}
void GlobalSettings::SetupMainButtons() void GlobalSettings::SetupMainButtons()
{ {
int pos = 0; int pos = 0;

View File

@ -31,6 +31,7 @@ class GlobalSettings : public FlyingButtonsMenu
public: public:
GlobalSettings(); GlobalSettings();
~GlobalSettings(); ~GlobalSettings();
static int Show();
protected: protected:
virtual void CreateSettingsMenu(int index); virtual void CreateSettingsMenu(int index);
virtual void DeleteSettingsMenu(); virtual void DeleteSettingsMenu();

View File

@ -72,6 +72,7 @@ ParentalControlSM::ParentalControlSM()
Options->SetName(Idx++, "%s", tr( "Block Cover Downloads" )); Options->SetName(Idx++, "%s", tr( "Block Cover Downloads" ));
Options->SetName(Idx++, "%s", tr( "Block Game Install" )); Options->SetName(Idx++, "%s", tr( "Block Game Install" ));
Options->SetName(Idx++, "%s", tr( "Block GameID Change" )); Options->SetName(Idx++, "%s", tr( "Block GameID Change" ));
Options->SetName(Idx++, "%s", tr( "Block Categories Modify" ));
SetOptionValues(); SetOptionValues();
} }
@ -147,6 +148,9 @@ void ParentalControlSM::SetOptionValues()
//! Settings: Block GameID Change //! Settings: Block GameID Change
Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_GAMEID_CHANGE) != 0)])); Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_GAMEID_CHANGE) != 0)]));
//! Settings: Block Categories Modify
Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_CATEGORIES_MOD) != 0)]));
} }
int ParentalControlSM::GetMenuInternal() int ParentalControlSM::GetMenuInternal()
@ -310,6 +314,12 @@ int ParentalControlSM::GetMenuInternal()
Settings.ParentalBlocks ^= BLOCK_GAMEID_CHANGE; Settings.ParentalBlocks ^= BLOCK_GAMEID_CHANGE;
} }
//! Settings: Block Categories Modify
else if (ret == ++Idx)
{
Settings.ParentalBlocks ^= BLOCK_CATEGORIES_MOD;
}
SetOptionValues(); SetOptionValues();
return MENU_NONE; return MENU_NONE;

View File

@ -157,7 +157,7 @@ void IosLoader::LoadIOSModules(s32 ios, s32 ios_rev)
//! Waninkoko IOS //! Waninkoko IOS
else if(IsWaninkokoIOS(ios)) else if(IsWaninkokoIOS(ios))
{ {
if(ios_rev >= 18) if(ios_rev >= 18 && !(ios_rev >= 21006 && ios_rev < 30000))
{ {
if(mload_init() < 0) if(mload_init() < 0)
return; return;

View File

@ -174,6 +174,14 @@ RecourceFile Resources::RecourceFiles[] =
{"Channel_btn.png", Channel_btn_png, Channel_btn_png_size, NULL, 0}, {"Channel_btn.png", Channel_btn_png, Channel_btn_png_size, NULL, 0},
{"boxBorder.png", boxBorder_png, boxBorder_png_size, NULL, 0}, {"boxBorder.png", boxBorder_png, boxBorder_png_size, NULL, 0},
{"nocoverFull.png", nocoverFull_png, nocoverFull_png_size, NULL, 0}, {"nocoverFull.png", nocoverFull_png, nocoverFull_png_size, NULL, 0},
{"add.png", add_png, add_png_size, NULL, 0},
{"back.png", back_png, back_png_size, NULL, 0},
{"forward.png", forward_png, forward_png_size, NULL, 0},
{"categoryPrompt.png", categoryPrompt_png, categoryPrompt_png_size, NULL, 0},
{"categoryLine.png", categoryLine_png, categoryLine_png_size, NULL, 0},
{"remove.png", remove_png, remove_png_size, NULL, 0},
{"category.png", category_png, category_png_size, NULL, 0},
{"category_gray.png", category_gray_png, category_gray_png_size, NULL, 0},
{"button_click.wav", button_click_wav, button_click_wav_size, NULL, 0}, {"button_click.wav", button_click_wav, button_click_wav_size, NULL, 0},
{"button_click2.wav", button_click2_wav, button_click2_wav_size, NULL, 0}, {"button_click2.wav", button_click2_wav, button_click2_wav_size, NULL, 0},
{"button_over.wav", button_over_wav, button_over_wav_size, NULL, 0}, {"button_over.wav", button_over_wav, button_over_wav_size, NULL, 0},

View File

@ -9,7 +9,6 @@
#include "usbloader/usbstorage2.h" #include "usbloader/usbstorage2.h"
#include "usbloader/wdvd.h" #include "usbloader/wdvd.h"
#include "usbloader/GameList.h" #include "usbloader/GameList.h"
#include "settings/Settings.h"
#include "settings/CGameSettings.h" #include "settings/CGameSettings.h"
#include "usbloader/frag.h" #include "usbloader/frag.h"
#include "usbloader/wbfs.h" #include "usbloader/wbfs.h"
@ -61,12 +60,6 @@ u32 GameBooter::BootPartition(char * dolpath, u8 videoselected, u8 alternatedol,
if (ret < 0) if (ret < 0)
return 0; return 0;
load_wip_code((u8*) Disc_ID);
/* If a wip file is loaded for this game this does nothing - Dimok */
PoPPatch();
NSMBPatch();
/* Setup low memory */ /* Setup low memory */
Disc_SetLowMem(); Disc_SetLowMem();
@ -79,8 +72,6 @@ u32 GameBooter::BootPartition(char * dolpath, u8 videoselected, u8 alternatedol,
if (ret < 0) if (ret < 0)
return 0; return 0;
free_wip();
return (u32) p_entry; return (u32) p_entry;
} }

View File

@ -31,6 +31,7 @@
#include "settings/CGameSettings.h" #include "settings/CGameSettings.h"
#include "settings/CGameStatistics.h" #include "settings/CGameStatistics.h"
#include "settings/GameTitles.h" #include "settings/GameTitles.h"
#include "settings/CGameCategories.hpp"
#include "xml/xml.h" #include "xml/xml.h"
#include "FreeTypeGX.h" #include "FreeTypeGX.h"
#include "GameList.h" #include "GameList.h"
@ -241,6 +242,15 @@ int GameList::FilterList(const wchar_t * gameFilter)
if(!Settings.godmode && GameConfig && GameConfig->Locked) if(!Settings.godmode && GameConfig && GameConfig->Locked)
continue; continue;
//! Category filter
u32 n;
for(n = 0; n < Settings.EnabledCategories.size(); ++n)
{
if(GameCategories.isInCategory((char *) header->id, Settings.EnabledCategories[n]))
break;
}
if(n == Settings.EnabledCategories.size()) continue;
wchar_t *gameName = charToWideChar(GameTitles.GetTitle(header)); wchar_t *gameName = charToWideChar(GameTitles.GetTitle(header));
if (gameName && *GameFilter.c_str()) if (gameName && *GameFilter.c_str())
{ {

View File

@ -11,6 +11,7 @@
#include "fstfile.h" #include "fstfile.h"
#include "gecko.h" #include "gecko.h"
#include "patches/gamepatches.h" #include "patches/gamepatches.h"
#include "patches/wip.h"
#include "settings/SettingsEnums.h" #include "settings/SettingsEnums.h"
extern bool geckoinit; extern bool geckoinit;
@ -84,6 +85,7 @@ s32 Apploader_Run(entry_point *entry, char * dolpath, u8 alternatedol, u32 alter
if (alternatedol == ALT_DOL_FROM_SD_USB) if (alternatedol == ALT_DOL_FROM_SD_USB)
{ {
ClearDOLList(); ClearDOLList();
wip_reset_counter();
void *dolbuffer = NULL; void *dolbuffer = NULL;
int dollen = 0; int dollen = 0;
@ -96,6 +98,7 @@ s32 Apploader_Run(entry_point *entry, char * dolpath, u8 alternatedol, u32 alter
else if (alternatedol == ALT_DOL_FROM_GAME && alternatedoloffset != 0) else if (alternatedol == ALT_DOL_FROM_GAME && alternatedoloffset != 0)
{ {
ClearDOLList(); ClearDOLList();
wip_reset_counter();
FST_ENTRY *fst = (FST_ENTRY *) *(u32 *) 0x80000038; FST_ENTRY *fst = (FST_ENTRY *) *(u32 *) 0x80000038;
//! Check if it's inside the limits //! Check if it's inside the limits

View File

@ -302,6 +302,7 @@ s32 Disc_JumpToEntrypoint(bool enablecheat, u32 dolparameter)
"mtlr %r3\n" "mtlr %r3\n"
"lis %r3, 0x8000\n" "lis %r3, 0x8000\n"
"ori %r3, %r3, 0x18A8\n" "ori %r3, %r3, 0x18A8\n"
"nop\n"
"mtctr %r3\n" "mtctr %r3\n"
"bctr\n" "bctr\n"
); );

View File

@ -69,7 +69,7 @@ static char fs3[] ATTRIBUTE_ALIGN(32) = "/dev/usb/ehc";
static u8 * mem2_ptr = NULL; static u8 * mem2_ptr = NULL;
static s32 hid = -1, fd = -1; static s32 hid = -1, fd = -1;
static u32 usb2_port = 0; //autodetect mode (works only with hermes ios & rodries ehcmodule) static u32 usb2_port = 2; //autodetect mode (works only with hermes ios & rodries ehcmodule)
u32 hdd_sector_size = 512; u32 hdd_sector_size = 512;
s32 USBStorage2_Init(void) s32 USBStorage2_Init(void)