*Added NAND Emulation for d2x v4+ cIOS ONLY. You can emulate partial (mainly titles path (including gamesaves and does not include Miis)) or full nand emulation. The Nand path can be chosen (should not be the same drive as game drive and must be a FAT/FAT32 partition (e.g. sd:/nand/). Just put your NAND FS in that path.

IF YOU USE RETURN TO OPTION THEN THE UNEO TITLE MUST BE ON EMU NAND AS WELL FOR PARTIAL AND FULL EMULATION.

*Added back our old font as fallback font in case the wii system font can't be loaded. Also the use of the Wii System Font can be disabled in the settings (don't forget to set font scale back to 1.0 for old font)
This commit is contained in:
dimok321 2011-07-24 16:32:09 +00:00
parent 4a2899ac38
commit de2fbe11fa
43 changed files with 998 additions and 68 deletions

View File

@ -2,8 +2,8 @@
<app version="1">
<name> USB Loader GX</name>
<coder>USB Loader GX Team</coder>
<version>2.2 r1101</version>
<release_date>201106301853</release_date>
<version>2.2 r1102</version>
<release_date>201107231948</release_date>
<!-- // remove this line to enable arguments
<arguments>
<arg>--ios=250</arg>

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: David Jelinek (djelinek@hotmail.com) e->e,r->r,u->u, c->c \n"
"Language-Team: r1056 - last version on http://djelinek.sweb.cz/_USBLoderGX/czech.lang \n"
@ -696,6 +696,9 @@ msgstr "Volné místo"
msgid "French"
msgstr "Francouzky"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr ""
@ -978,6 +981,18 @@ msgstr "Mód hudební smycky"
msgid "Music Volume"
msgstr "Hlasitost hudby"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Žádný"
@ -1104,6 +1119,9 @@ msgstr "Originál/Upravené"
msgid "Parental Control"
msgstr "Rodicovský zámek"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "Oddíl"
@ -1477,6 +1495,9 @@ msgstr "Aktualizuji jazykové soubory:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "Odeslaný ZIP soubor nainstalován do adresáre homebrew"
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: Fox888[dk]\n"
"Language-Team: [dk]\n"
@ -696,6 +696,9 @@ msgstr "Ledig plads"
msgid "French"
msgstr "Fransk"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr "Sti til Fuld Cover"
@ -978,6 +981,18 @@ msgstr "Musik i løkke"
msgid "Music Volume"
msgstr "Lydstyrke"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Ingen"
@ -1104,6 +1119,9 @@ msgstr "Originale/Tilpassede"
msgid "Parental Control"
msgstr "Børnelås"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "Partition"
@ -1477,6 +1495,9 @@ msgstr "Opdaterer sprogfiler:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "Den uploadede ZIP-fil er installeret i homebrew-mappen."
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2011-06-20 07:25+0100\n"
"Last-Translator: glowy\n"
"Language-Team: tj_cool, glowy\n"
@ -696,6 +696,9 @@ msgstr "Vrije ruimte"
msgid "French"
msgstr "Frans"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr "Volledige hoesjes pad"
@ -978,6 +981,18 @@ msgstr "Muziek Herhaal Mode"
msgid "Music Volume"
msgstr "Muziekvolume"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Geen"
@ -1104,6 +1119,9 @@ msgstr "Origineel/Aangepast"
msgid "Parental Control"
msgstr "Ouderlijk toezicht"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "Partitie"
@ -1477,6 +1495,9 @@ msgstr "Taalbestanden updaten:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "Geuploade ZIP is geïnstalleerd in je homebrew locatie."
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr "Gebruik globaal"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -696,6 +696,9 @@ msgstr ""
msgid "French"
msgstr ""
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr ""
@ -978,6 +981,18 @@ msgstr ""
msgid "Music Volume"
msgstr ""
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr ""
@ -1104,6 +1119,9 @@ msgstr ""
msgid "Parental Control"
msgstr ""
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr ""
@ -1477,6 +1495,9 @@ msgstr ""
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr ""
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: c64rmx\n"
"Language-Team: \n"
@ -696,6 +696,9 @@ msgstr "Vapaata tilaa"
msgid "French"
msgstr "Ranska"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr ""
@ -978,6 +981,18 @@ msgstr ""
msgid "Music Volume"
msgstr "Voimakkuus"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Ei kumpikaan"
@ -1104,6 +1119,9 @@ msgstr "Alkuperäinen/Omatekoinen"
msgid "Parental Control"
msgstr "Valvonta"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "Osio"
@ -1477,6 +1495,9 @@ msgstr "Päivittää kielitiedostoja:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr ""
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: Cyan, Kin8\n"
"Language-Team: Badablek, Amour, ikya, Cyan & Kin8\n"
@ -696,6 +696,9 @@ msgstr "Espace libre"
msgid "French"
msgstr "Français"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr "Dossier jaqu. complètes"
@ -978,6 +981,18 @@ msgstr "Type de boucle"
msgid "Music Volume"
msgstr "Volume musique"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Aucun"
@ -1104,6 +1119,9 @@ msgstr "Originaux/Persos"
msgid "Parental Control"
msgstr "Contrôle parental"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr ""
@ -1477,6 +1495,9 @@ msgstr "Mise à jour du fichier de langue:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "Fichier ZIP envoyé et installé dans le répertoire homebrew."
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr "Paramètre du loader"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:50+0100\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2010-07-03 17:35-0800\n"
"Last-Translator: TheRealVisitor\n"
"Language-Team: Bertilax, Snoozer, wishmasterf, ZEN.13, TheRealVisitor\n"
@ -696,6 +696,9 @@ msgstr "Freier Speicher"
msgid "French"
msgstr "Französisch"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr "Box Cover"
@ -978,6 +981,18 @@ msgstr "HGM Wiederholung"
msgid "Music Volume"
msgstr "Musik Lautstärke"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Keine"
@ -1104,6 +1119,9 @@ msgstr "Original/Community"
msgid "Parental Control"
msgstr "Altersbeschränkung"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "Partition"
@ -1477,6 +1495,9 @@ msgstr "Aktualisiere Sprachdateien:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "Die hochgeladene ZIP Datei wurde ins Homebrew Verzeichnis installiert."
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr "Benutze global"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-12-29 11:05+0100\n"
"Last-Translator: Springdale\n"
"Language-Team: Tusk, Springdale\n"
@ -696,6 +696,9 @@ msgstr "Szabad Hely"
msgid "French"
msgstr "Francia"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr ""
@ -978,6 +981,18 @@ msgstr ""
msgid "Music Volume"
msgstr "Zene Hangerõ"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Egyik sem"
@ -1104,6 +1119,9 @@ msgstr "Eredeti/Egyéni"
msgid "Parental Control"
msgstr "Szülõi Felügyelet"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "Partició"
@ -1477,6 +1495,9 @@ msgstr "Nyelvi fájlok frissítése:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "Feltöltött ZIP fájl telepítve a Homebrew mappába."
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2011-06-27 01:00+0200\n"
"Last-Translator: Cambo \n"
"Language-Team: Cambo\n"
@ -696,6 +696,9 @@ msgstr "Spazio libero"
msgid "French"
msgstr "Francese"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr "Cart. Cop. Fronte/Retro"
@ -978,6 +981,18 @@ msgstr "Ripetizione Musica Sottof."
msgid "Music Volume"
msgstr "Volume"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Nessuno"
@ -1104,6 +1119,9 @@ msgstr "Origin./Modific."
msgid "Parental Control"
msgstr "Controllo Genitori"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "Partizione"
@ -1477,6 +1495,9 @@ msgstr "Aggiornamento file delle lingue:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "File ZIP installato nella cartella Homebrew"
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr "Usa globalmente"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: hosigumayuugi\n"
"Language-Team: hosigumayuugi, papa, ichiroling\n"
@ -696,6 +696,9 @@ msgstr "空き"
msgid "French"
msgstr "フランス語"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr "フルカバー"
@ -978,6 +981,18 @@ msgstr "ループ機能"
msgid "Music Volume"
msgstr "BGMの音量"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "非表示"
@ -1104,6 +1119,9 @@ msgstr "公式を優先"
msgid "Parental Control"
msgstr "使用制限の設定"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "使用する領域"
@ -1477,6 +1495,9 @@ msgstr "言語ファイルを更新中:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "インストール済みディレクトリにZIPを転送しました"
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr "基本設定を使う"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: nextos@korea.com\n"
"Language-Team: \n"
@ -696,6 +696,9 @@ msgstr "여유 공간"
msgid "French"
msgstr "불어"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr ""
@ -978,6 +981,18 @@ msgstr ""
msgid "Music Volume"
msgstr "음량"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "표시 없음"
@ -1104,6 +1119,9 @@ msgstr "원본/사용자설정"
msgid "Parental Control"
msgstr "자녀보호기능"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "파티션"
@ -1477,6 +1495,9 @@ msgstr "언어화일 업데이트중:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr ""
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: raschi\n"
"Language-Team: raschi\n"
@ -696,6 +696,9 @@ msgstr "Ledig plass"
msgid "French"
msgstr "Fransk"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr "Fullcover sti"
@ -978,6 +981,18 @@ msgstr "Musikk loop modus"
msgid "Music Volume"
msgstr "Musikk volum"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Ingen"
@ -1104,6 +1119,9 @@ msgstr "Original/Custom"
msgid "Parental Control"
msgstr "Foreldrekontroll"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "Partisjon"
@ -1477,6 +1495,9 @@ msgstr "Oppdaterer språkfiler:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "Opplastet ZIP fil installert i homebrew mappen."
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr "Bruk global"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: ziom666 (zadania_prog@vp.pl)\n"
"Language-Team: \n"
@ -696,6 +696,9 @@ msgstr "Wolnego miejsca"
msgid "French"
msgstr "francuski"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr ""
@ -978,6 +981,18 @@ msgstr ""
msgid "Music Volume"
msgstr "Poziom glosnosci"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "zadne"
@ -1104,6 +1119,9 @@ msgstr "Mieszane"
msgid "Parental Control"
msgstr "Kontrola rodzicielska"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "Partycja"
@ -1477,6 +1495,9 @@ msgstr "Aktualizacja plikow jezykowych:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "Wyslany plik ZIP zainstalowano w katalogu homebrew"
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-10-23 18:52+0200\n"
"Last-Translator: aniemotion\n"
"Language-Team: boto12, aniemotion\n"
@ -696,6 +696,9 @@ msgstr "Espaço Livre"
msgid "French"
msgstr "Francês"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr ""
@ -978,6 +981,18 @@ msgstr "Modo Repetição de Música"
msgid "Music Volume"
msgstr "Volume da Música"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Nenhum"
@ -1104,6 +1119,9 @@ msgstr "Originais/Alternativas"
msgid "Parental Control"
msgstr "Controle de Pais"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "Partição"
@ -1477,6 +1495,9 @@ msgstr "Atualizando arquivos de Idioma:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "Arquivo ZIP enviado y instalado no diretório homebrew."
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2011-06-26 23:30+0100\n"
"Last-Translator: pplucky <pplucky@gmail.com>\n"
"Language-Team: Sky8000, pplucky\n"
@ -198,8 +198,8 @@ msgstr "Música de fundo"
msgid "Big thanks to:"
msgstr "Agradecimentos:"
msgid "Block Categories Menu"
msgstr "Bloquear Menu Categorias"
msgid "Block Categories Menu"
msgstr "Bloquear Menu Categorias"
msgid "Block Categories Modify"
msgstr "Bloquear Modif. Categorias"
@ -696,6 +696,9 @@ msgstr "Espaço Livre"
msgid "French"
msgstr "Francês"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr "Cam. Capas Completas"
@ -978,6 +981,18 @@ msgstr "Modo de Repetição"
msgid "Music Volume"
msgstr "Volume Música"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Nenhum"
@ -1104,6 +1119,9 @@ msgstr "Originais/Personalizadas"
msgid "Parental Control"
msgstr "Controlo Parental"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "Partição"
@ -1477,6 +1495,9 @@ msgstr "A actualizar ficheiros de Idioma:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "Ficheiro ZIP instalado na pasta de Homebrew."
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr "Usar global"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: nikolai_ca\n"
"Language-Team: Kir, alendit, nikolai_ca\n"
@ -696,6 +696,9 @@ msgstr "Свободное пространство"
msgid "French"
msgstr "Французский"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr ""
@ -978,6 +981,18 @@ msgstr ""
msgid "Music Volume"
msgstr "Громкость"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Ни то, ни другое"
@ -1104,6 +1119,9 @@ msgstr "Измененные/Модифицированные"
msgid "Parental Control"
msgstr "Родительский Контроль"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "Раздел"
@ -1477,6 +1495,9 @@ msgstr "Обновление языковых файлов:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "Загруженный ZIP-файл установлен в каталог homebrew"
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: knife.hu kavid emul8ion\n"
"Language-Team: kavid\n"
@ -696,6 +696,9 @@ msgstr "剩余空间"
msgid "French"
msgstr "法文"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr "完整封面路径"
@ -978,6 +981,18 @@ msgstr "音乐循环模式"
msgid "Music Volume"
msgstr "音量"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "全不"
@ -1104,6 +1119,9 @@ msgstr "官方/自制"
msgid "Parental Control"
msgstr "家长控制"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "分区"
@ -1477,6 +1495,9 @@ msgstr "正在升级语言文件:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "上传已安装Zip文件到自制程序目录"
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-27 01:11+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2011-06-25 17:00+0200\n"
"Last-Translator: hvy109\n"
"Language-Team: Penn, SirPalax, hvy109\n"
@ -696,6 +696,9 @@ msgstr "Espacio Libre"
msgid "French"
msgstr "Francés"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr "Ruta Carátulas Comp."
@ -978,6 +981,18 @@ msgstr "Modo Bucle Musical"
msgid "Music Volume"
msgstr "Volumen de la Música"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Ninguno"
@ -1104,6 +1119,9 @@ msgstr "Originales/Artísticas"
msgid "Parental Control"
msgstr "Control Parental"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "Partición"
@ -1477,6 +1495,9 @@ msgstr "Actualizando archivos de Idiomas:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "Enviado archivo ZIP instalado en la carpeta homebrew."
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr "Usar global"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2010-01-19 17:39+0200\n"
"Last-Translator: Katsurou\n"
"Language-Team: Katsurou, pirateX\n"
@ -696,6 +696,9 @@ msgstr "Ledigt utrymme"
msgid "French"
msgstr "Franska"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr ""
@ -978,6 +981,18 @@ msgstr "Musik Återuppspelningsläge"
msgid "Music Volume"
msgstr "Volym"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Inget"
@ -1104,6 +1119,9 @@ msgstr "Original/Anpassade"
msgid "Parental Control"
msgstr "Föräldrakontroll"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr ""
@ -1477,6 +1495,9 @@ msgstr "Uppdatera språk-filer:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "Uppladdad ZIP fil installerad till homebrew-mappen"
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-27 01:11+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2010-02-15 21:00+0800\n"
"Last-Translator: Jane.H\n"
"Language-Team: kyogc, Miller, Mika Li, Jane.H\n"
@ -696,6 +696,9 @@ msgstr "剩餘空間"
msgid "French"
msgstr "法文"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr "完整封面路徑"
@ -978,6 +981,18 @@ msgstr "音樂循環模式"
msgid "Music Volume"
msgstr "音樂音量"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "皆不顯示"
@ -1104,6 +1119,9 @@ msgstr "原始/自製"
msgid "Parental Control"
msgstr "親子控制"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "磁區"
@ -1477,6 +1495,9 @@ msgstr "正在更新語言檔案:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "已更新安裝在Homebrew目錄的ZIP檔案"
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr "使用整體設定"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: Nitro_subzero \n"
"Language-Team: Nitro_subzero\n"
@ -696,6 +696,9 @@ msgstr "พื้นที่ว่าง"
msgid "French"
msgstr "ฝรั่งเศส"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr ""
@ -978,6 +981,18 @@ msgstr ""
msgid "Music Volume"
msgstr "ความดังเสียงเพลง"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "ไม่ทั้งสอง"
@ -1104,6 +1119,9 @@ msgstr "ของแท้/ดัดแปลง"
msgid "Parental Control"
msgstr "กำหนดอายุ"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "พาร์ติชั่น"
@ -1477,6 +1495,9 @@ msgstr "กำลังอัพเดทไฟล์ภาษา:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "อัพโหลดไฟล์ zip ไปที่ไดเรคทอรี่ homebrew"
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-26 23:33+0200\n"
"POT-Creation-Date: 2011-07-24 18:27+0200\n"
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
"Last-Translator: omercigingelini\n"
"Language-Team: omercigingelini\n"
@ -696,6 +696,9 @@ msgstr "Boş Yer"
msgid "French"
msgstr "Fransızca"
msgid "Full"
msgstr ""
msgid "Full Cover Path"
msgstr ""
@ -978,6 +981,18 @@ msgstr ""
msgid "Music Volume"
msgstr "Ses Seviyesi"
msgid "Nand Emu Path"
msgstr ""
msgid "Nand Emulation"
msgstr ""
msgid "Nand Emulation is only available on D2X cIOS!"
msgstr ""
msgid "Nand Emulation only works on FAT/FAT32 partitions!"
msgstr ""
msgid "Neither"
msgstr "Hiçbiri"
@ -1104,6 +1119,9 @@ msgstr "Orjinal/Kişisel"
msgid "Parental Control"
msgstr "Ebeveyn kontrolü"
msgid "Partial"
msgstr ""
msgid "Partition"
msgstr "Bölüm"
@ -1477,6 +1495,9 @@ msgstr "Güncellenen Dil Dosyaları:"
msgid "Uploaded ZIP file installed to homebrew directory."
msgstr "ZIp dosyası homebrew klasörüne kuruldu"
msgid "Use System Font"
msgstr ""
msgid "Use global"
msgstr ""

BIN
data/fonts/font.ttf Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -7,7 +7,6 @@
void aes_set_key(u8 *key);
void aes_decrypt(u8 *iv, u8 *inbuf, u8 *outbuf, unsigned long long len);
static u8 get_fst = 0;
static void _decrypt_title_key(u8 *tik, u8 *title_key)
{
@ -124,6 +123,7 @@ static u32 do_fst(wiidisc_t *d, u8 *fst, const char *names, u32 i)
else
{
offset = _be32(fst + 12 * i + 4);
if (d->extract_pathname && strcasecmp(name, d->extract_pathname) == 0)
{
d->extracted_buffer = wbfs_ioalloc( size );
@ -167,13 +167,8 @@ static void do_files(wiidisc_t*d)
partition_read(d, fst_offset, fst, fst_size, 0);
n_files = _be32(fst + 8);
if(get_fst && !d->extracted_buffer)
{
d->extracted_buffer = wbfs_ioalloc(fst_size);
memcpy(d->extracted_buffer, fst, fst_size);
}
if (d->extract_pathname && *d->extract_pathname == 0)
if (d->extract_pathname && strcmp(d->extract_pathname, "FST") == 0)
{
// if empty pathname requested return fst
d->extracted_buffer = fst;
@ -222,18 +217,26 @@ static void do_partition(wiidisc_t*d)
wbfs_fatal( "malloc tmd" );
partition_raw_read(d, tmd_offset, tmd, tmd_size);
cert = wbfs_ioalloc( cert_size );
if (cert == 0)
wbfs_fatal( "malloc cert" );
partition_raw_read(d, cert_offset, cert, cert_size);
if(d->extract_pathname && strcmp(d->extract_pathname, "TMD") == 0 && !d->extracted_buffer)
{
d->extracted_buffer = tmd;
d->extracted_size = tmd_size;
}
_decrypt_title_key(tik, d->disc_key);
cert = wbfs_ioalloc( cert_size );
if (cert == 0)
wbfs_fatal( "malloc cert" );
partition_raw_read(d, cert_offset, cert, cert_size);
_decrypt_title_key(tik, d->disc_key);
partition_raw_read(d, h3_offset, 0, 0x18000);
partition_raw_read(d, h3_offset, 0, 0x18000);
wbfs_iofree( b );
wbfs_iofree( tik );
wbfs_iofree( cert );
wbfs_iofree( tmd );
if(tmd != d->extracted_buffer)
wbfs_iofree( tmd );
do_files(d);
@ -316,23 +319,6 @@ u8 * wd_extract_file(wiidisc_t *d, partition_selector_t partition_type, char *pa
d->extract_pathname = 0;
d->part_sel = ALL_PARTITIONS;
retval = d->extracted_buffer;
d->extracted_buffer = 0;
return retval;
}
u8 * wd_get_fst(wiidisc_t *d, partition_selector_t partition_type)
{
get_fst = 1;
u8 *retval = 0;
d->extract_pathname = 0;
d->extracted_buffer = 0;
d->part_sel = partition_type;
do_disc(d);
d->extract_pathname = 0;
d->part_sel = ALL_PARTITIONS;
retval = d->extracted_buffer;
d->extracted_buffer = 0;
get_fst = 0;
return retval;
}

View File

@ -56,7 +56,6 @@ extern "C"
// effectively remove not copied partition from the partition table.
void wd_fix_partition_table(wiidisc_t *d, partition_selector_t selector, u8* partition_table);
u8 * wd_get_fst(wiidisc_t *d, partition_selector_t partition_type);
#if 0
{

View File

@ -194,7 +194,7 @@ void WDMMenu::CheckGameFiles(const struct discHdr * header)
return;
}
FST_ENTRY * fstbuffer = (FST_ENTRY *) wd_get_fst(wdisc, ONLY_GAME_PARTITION);
FST_ENTRY * fstbuffer = (FST_ENTRY *) wd_extract_file(wdisc, ONLY_GAME_PARTITION, (char*) "FST");
if (!fstbuffer)
{
WindowPrompt(tr( "ERROR:" ), tr( "Not enough free memory." ), tr( "OK" ));

View File

@ -142,7 +142,7 @@ s32 network_request(s32 connect, const char * request, char * filename)
}
}
}
gprintf("%s\n", (char*) buf);
/* Retrieve content size */
ptr = strstr(buf, "Content-Length:");
if (!ptr) return NET_SIZE_UNKNOWN;

View File

@ -53,7 +53,7 @@ int DiscBrowse(const char * GameID, char * alternatedname, int alternatedname_si
}
gprintf("wd_get_fst\n");
FST_ENTRY * fstbuffer = (FST_ENTRY *) wd_get_fst(wdisc, ONLY_GAME_PARTITION);
FST_ENTRY * fstbuffer = (FST_ENTRY *) wd_extract_file(wdisc, ONLY_GAME_PARTITION, (char *) "FST");
if (!fstbuffer)
{
ResumeGui();

View File

@ -70,6 +70,7 @@ void CSettings::SetDefault()
snprintf(WiinnertagPath, sizeof(WiinnertagPath), "%s", ConfigPath);
snprintf(theme_path, sizeof(theme_path), "%stheme/", ConfigPath);
snprintf(dolpath, sizeof(dolpath), "%s/", BootDevice);
snprintf(NandEmuPath, sizeof(NandEmuPath), "%s/nand/", BootDevice);
strcpy(theme, "");
strcpy(language_path, "");
strcpy(ogg_path, "");
@ -126,6 +127,8 @@ void CSettings::SetDefault()
SelectedGame = 0;
GameListOffset = 0;
sneekVideoPatch = OFF;
NandEmuMode = OFF;
UseSystemFont = ON;
}
bool CSettings::Load()
@ -285,6 +288,9 @@ bool CSettings::Save()
fprintf(file, "SelectedGame = %d\n", SelectedGame);
fprintf(file, "GameListOffset = %d\n", GameListOffset);
fprintf(file, "sneekVideoPatch = %d\n", sneekVideoPatch);
fprintf(file, "NandEmuMode = %d\n", NandEmuMode);
fprintf(file, "NandEmuPath = %s\n", NandEmuPath);
fprintf(file, "UseSystemFont = %d\n", UseSystemFont);
fclose(file);
return true;
@ -558,6 +564,14 @@ bool CSettings::SetSetting(char *name, char *value)
{
if (sscanf(value, "%d", &i) == 1) sneekVideoPatch = i;
}
else if(strcmp(name, "UseSystemFont") == 0)
{
if (sscanf(value, "%d", &i) == 1) UseSystemFont = i;
}
else if(strcmp(name, "NandEmuMode") == 0)
{
if (sscanf(value, "%d", &i) == 1) NandEmuMode = i;
}
else if (strcmp(name, "InstallPartitions") == 0)
{
InstallPartitions = strtoul(value, 0, 16);
@ -678,6 +692,11 @@ bool CSettings::SetSetting(char *name, char *value)
strcpy(WiinnertagPath, value);
return true;
}
else if (strcmp(name, "NandEmuPath") == 0)
{
strcpy(NandEmuPath, value);
return true;
}
else if (strcmp(name, "EnabledCategories") == 0)
{
EnabledCategories.clear();

View File

@ -74,6 +74,7 @@ class CSettings
char homebrewapps_path[100];
char WDMpath[100];
char WiinnertagPath[100];
char NandEmuPath[50];
short videomode;
short language;
short ocarina;
@ -126,6 +127,8 @@ class CSettings
short sneekVideoPatch;
std::vector<u32> EnabledCategories;
u8 EntryIOS;
short NandEmuMode;
short UseSystemFont;
protected:
bool ValidVersion(FILE * file);
bool SetSetting(char *name, char *value);

View File

@ -22,6 +22,7 @@
* distribution.
***************************************************************************/
#include <unistd.h>
#include "Controls/DeviceHandler.hpp"
#include "CustomPathsSM.hpp"
#include "settings/SettingsPrompts.h"
#include "settings/CSettings.h"
@ -50,6 +51,7 @@ CustomPathsSM::CustomPathsSM()
Options->SetName(Idx++, tr("Languagefiles Path"));
Options->SetName(Idx++, tr("WDM Files Path"));
Options->SetName(Idx++, tr("Wiinnertag Path"));
Options->SetName(Idx++, tr("Nand Emu Path"));
SetOptionValues();
}
@ -105,6 +107,9 @@ void CustomPathsSM::SetOptionValues()
//! Settings: Wiinnertag Path
Options->SetValue(Idx++, Settings.WiinnertagPath);
//! Settings: Nand Emu Path
Options->SetValue(Idx++, Settings.NandEmuPath);
}
int CustomPathsSM::GetMenuInternal()
@ -228,6 +233,15 @@ int CustomPathsSM::GetMenuInternal()
ChangePath(Settings.WiinnertagPath, sizeof(Settings.WiinnertagPath));
}
//! Settings: Nand Emu Path
else if (ret == ++Idx)
{
titleTxt->SetText(tr( "Nand Emu Path" ));
ChangePath(Settings.NandEmuPath, sizeof(Settings.NandEmuPath));
if(strncasecmp(DeviceHandler::PathToFSName(Settings.NandEmuPath), "FAT", 3) != 0)
WindowPrompt(tr("Warning:"), tr("Nand Emulation only works on FAT/FAT32 partitions!"), tr("OK"));
}
//! Global set back of the titleTxt after a change
titleTxt->SetText(tr( "Custom Paths" ));
SetOptionValues();

View File

@ -113,6 +113,7 @@ GuiSettingsMenu::GuiSettingsMenu()
Options->SetName(Idx++, "%s", tr( "Mark new games" ));
Options->SetName(Idx++, "%s", tr( "Show Free Space" ));
Options->SetName(Idx++, "%s", tr( "HOME Menu" ));
Options->SetName(Idx++, "%s", tr( "Use System Font" ));
SetOptionValues();
}
@ -174,6 +175,9 @@ void GuiSettingsMenu::SetOptionValues()
//! Settings: Home Menu style
Options->SetValue(Idx++, "%s", tr( HomeMenuText[Settings.HomeMenu] ));
//! Settings: Use System Font
Options->SetValue(Idx++, "%s", tr( OnOffText[Settings.UseSystemFont] ));
}
int GuiSettingsMenu::GetMenuInternal()
@ -329,6 +333,12 @@ int GuiSettingsMenu::GetMenuInternal()
if (++Settings.HomeMenu >= HOME_MENU_MAX_CHOICE) Settings.HomeMenu = 0;
}
//! Settings: Use System Font
else if (ret == ++Idx)
{
if (++Settings.UseSystemFont >= MAX_ON_OFF) Settings.UseSystemFont = 0;
}
SetOptionValues();
return MENU_NONE;

View File

@ -29,6 +29,7 @@
#include "language/gettext.h"
#include "wad/nandtitle.h"
#include "prompts/TitleBrowser.h"
#include "system/IosLoader.h"
#include "menu.h"
static const char * OnOffText[] =
@ -72,6 +73,13 @@ static const char * Error002Text[] =
trNOOP( "Anti" )
};
static const char * NandEmuText[] =
{
trNOOP( "OFF" ),
trNOOP( "Partial" ),
trNOOP( "Full" )
};
LoaderSettings::LoaderSettings()
: SettingsMenu(tr("Loader Settings"), &GuiOptions, MENU_NONE)
{
@ -88,6 +96,7 @@ LoaderSettings::LoaderSettings()
Options->SetName(Idx++, "%s", tr( "Error 002 fix" ));
Options->SetName(Idx++, "%s", tr( "Block IOS Reload" ));
Options->SetName(Idx++, "%s", tr( "Return To" ));
Options->SetName(Idx++, "%s", tr( "Nand Emulation" ));
SetOptionValues();
}
@ -137,6 +146,9 @@ void LoaderSettings::SetOptionValues()
TitleName = NandTitles.NameOf(tid);
TitleName = TitleName ? TitleName : strlen(Settings.returnTo) > 0 ? Settings.returnTo : tr(OnOffText[0]);
Options->SetValue(Idx++, "%s", TitleName);
//! Settings: Nand Emulation
Options->SetValue(Idx++, "%s", tr( NandEmuText[Settings.NandEmuMode] ));
}
int LoaderSettings::GetMenuInternal()
@ -236,6 +248,14 @@ int LoaderSettings::GetMenuInternal()
snprintf(Settings.returnTo, sizeof(Settings.returnTo), "%s", tidChar);
}
//! Settings: Nand Emulation
else if (ret == ++Idx )
{
if(!IosLoader::IsD2X())
WindowPrompt(tr("Error:"), tr("Nand Emulation is only available on D2X cIOS!"), tr("OK"));
else if (++Settings.NandEmuMode >= 3) Settings.NandEmuMode = 0;
}
SetOptionValues();
return MENU_NONE;

View File

@ -41,7 +41,6 @@ typedef struct map_entry
u8 hash[20];
} __attribute__((packed)) map_entry_t;
static const char contentMapPath[] ATTRIBUTE_ALIGN(32) = "/shared1/content.map";
static const u8 WIIFONT_HASH[] = {0x32, 0xb3, 0x39, 0xcb, 0xbb, 0x50, 0x7d, 0x50, 0x27, 0x79, 0x25, 0x9a, 0x78, 0x66, 0x99, 0x5d, 0x03, 0x0b, 0x1d, 0x88};
static const u8 WIIFONT_HASH_KOR[] = {0xb7, 0x15, 0x6d, 0xf0, 0xf4, 0xae, 0x07, 0x8f, 0xd1, 0x53, 0x58, 0x3e, 0x93, 0x6e, 0x07, 0xc0, 0x98, 0x77, 0x49, 0x0e};
@ -165,6 +164,7 @@ bool Theme::Load(const char * theme_file_path)
bool Theme::loadSystemFont(bool korean)
{
const char contentMapPath[] ATTRIBUTE_ALIGN(32) = "/shared1/content.map";
u8 *contentMap = NULL;
u32 mapsize = 0;
@ -256,15 +256,23 @@ bool Theme::LoadFont(const char *path)
FT_Byte *loadedFont = customFont;
u32 loadedFontSize = customFontSize;
if(!loadedFont)
if(!loadedFont && Settings.UseSystemFont)
{
if(!systemFont)
loadSystemFont(CONF_GetLanguage() == CONF_LANG_KOREAN);
if(!systemFont)
loadSystemFont(CONF_GetLanguage() != CONF_LANG_KOREAN);
//! Default to system font if no custom is loaded
loadedFont = systemFont;
loadedFontSize = systemFontSize;
}
if(!loadedFont)
{
loadedFont = (FT_Byte *) Resources::GetFile("font.ttf");
loadedFontSize = Resources::GetFileSize("font.ttf");
}
fontSystem = new FreeTypeGX(loadedFont, loadedFontSize, loadedFont == systemFont);

View File

@ -16,6 +16,8 @@ class Theme
static bool Load(const char * path);
//!Load font data
static bool LoadFont(const char *path);
//!Load the original Wii System Menu font into memory only. It is not applied.
static bool loadSystemFont(bool korean);
//!Reload the main images/sounds for the new theme
static void Reload();
//!Clear all image/font/theme data and free the memory
@ -24,8 +26,6 @@ class Theme
//!Enable tooltips: special case treaded because it is called every frame
static bool ShowTooltips;
private:
//!Load the original Wii System Menu font
static bool loadSystemFont(bool korean);
//!Clear the font data and free the memory
static void ClearFontData();
};

View File

@ -1,7 +1,7 @@
/****************************************************************************
* USB Loader GX resource files.
* This file is generated automatically.
* Includes 188 files.
* Includes 189 files.
*
* NOTE:
* Any manual modification of this file will be overwriten by the generation.
@ -575,6 +575,9 @@ extern const u32 success_ogg_size;
extern const u8 clock_ttf[];
extern const u32 clock_ttf_size;
extern const u8 font_ttf[];
extern const u32 font_ttf_size;
RecourceFile Resources::RecourceFiles[] =
{
{"abcIcon.png", abcIcon_png, abcIcon_png_size, NULL, 0},
@ -765,6 +768,7 @@ RecourceFile Resources::RecourceFiles[] =
{"menuout.ogg", menuout_ogg, menuout_ogg_size, NULL, 0},
{"success.ogg", success_ogg, success_ogg_size, NULL, 0},
{"clock.ttf", clock_ttf, clock_ttf_size, NULL, 0},
{"font.ttf", font_ttf, font_ttf_size, NULL, 0},
{NULL, NULL, 0, NULL, 0}
};

View File

@ -26,6 +26,8 @@
#include "menu/menus.h"
#include "memory/memory.h"
#include "GameBooter.hpp"
#include "nand.h"
#include "SavePath.h"
#include "sys.h"
//appentrypoint has to be global because of asm
@ -202,6 +204,10 @@ int GameBooter::BootGame(const char * gameID)
u8 reloadblock = game_cfg->iosreloadblock == INHERIT ? Settings.BlockIOSReload : game_cfg->iosreloadblock;
u64 returnToChoice = game_cfg->returnTo ? NandTitles.FindU32(Settings.returnTo) : 0;
//! Create save game path and title.tmd for not existing saves
if(Settings.NandEmuMode)
CreateSavePath(&gameHeader);
//! Prepare alternate dol settings
SetupAltDOL(gameHeader.id, alternatedol, alternatedoloffset);
@ -283,10 +289,21 @@ int GameBooter::BootGame(const char * gameID)
USBStorage2_Deinit();
USB_Deinitialize();
//! Modify Wii Message Board to display the game starting here
//! Modify Wii Message Board to display the game starting here (before Nand Emu)
if(Settings.PlaylogUpdate)
Playlog_Update((char *) gameHeader.id, BNRInstance::Instance()->GetIMETTitle(CONF_GetLanguage()));
//! Setup NAND emulation
if(Settings.NandEmuMode && strchr(Settings.NandEmuPath, '/'))
{
gprintf("Enabling Nand Emulation on: %s\n", Settings.NandEmuPath);
Set_FullMode(Settings.NandEmuMode == 2);
Set_Path(strchr(Settings.NandEmuPath, '/'));
if(strncmp(Settings.NandEmuPath, "usb", 3) == 0)
Set_Partition(atoi(Settings.NandEmuPath+3)-1);
Enable_Emu(strncmp(Settings.NandEmuPath, "usb", 3) == 0 ? EMU_USB : EMU_SD);
}
//! Jump to the entrypoint of the game - the last function of the USB Loader
gprintf("Jumping to game entrypoint: 0x%08X.\n", AppEntrypoint);
return Disc_JumpToEntrypoint(enablecheat, WDMMenu::GetDolParameter());

View File

@ -0,0 +1,85 @@
/****************************************************************************
* 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 <gctypes.h>
#include <stdio.h>
#include "settings/CSettings.h"
#include "usbloader/disc.h"
#include "usbloader/wbfs.h"
#include "usbloader/nand.h"
#include "FileOperations/fileops.h"
#include "gecko.h"
void CreateTitleTMD(const char *path, const struct discHdr *hdr)
{
wbfs_disc_t *disc = WBFS_OpenDisc((u8 *) hdr->id);
if (!disc)
return;
wiidisc_t *wdisc = wd_open_disc((int(*)(void *, u32, u32, void *)) wbfs_disc_read, disc);
if (!wdisc)
{
WBFS_CloseDisc(disc);
return;
}
u8 *titleTMD = wd_extract_file(wdisc, ONLY_GAME_PARTITION, (char *) "TMD");
int tmd_size = wdisc->extracted_size;
wd_close_disc(wdisc);
WBFS_CloseDisc(disc);
if(!titleTMD)
return;
FILE *f = fopen(path, "wb");
if(f)
{
fwrite(titleTMD, 1, tmd_size, f);
fclose(f);
gprintf("Written Game Title TDM to: %s\n", path);
}
free(titleTMD);
}
void CreateSavePath(const struct discHdr *hdr)
{
char contentPath[512];
char dataPath[512];
snprintf(contentPath, sizeof(contentPath), "%s/title/00010000/%02x%02x%02x%02x/content", Settings.NandEmuPath, hdr->id[0], hdr->id[1], hdr->id[2], hdr->id[3]);
snprintf(dataPath, sizeof(dataPath), "%s/title/00010000/%02x%02x%02x%02x/data", Settings.NandEmuPath, hdr->id[0], hdr->id[1], hdr->id[2], hdr->id[3]);
if(CheckFile(contentPath) && CheckFile(dataPath))
return;
gprintf("Creating Save Path: %s\n", contentPath);
gprintf("Creating Save Path: %s\n", dataPath);
CreateSubfolder(contentPath);
CreateSubfolder(dataPath);
strcat(contentPath, "/title.tmd");
CreateTitleTMD(contentPath, hdr);
}

View File

@ -0,0 +1,9 @@
#ifndef SAVEPATH_H_
#define SAVEPATH_H_
#include "usbloader/disc.h"
void CreateTitleTMD(const char *path, const struct discHdr *hdr);
void CreateSavePath(const struct discHdr *hdr);
#endif

251
source/usbloader/nand.c Normal file
View File

@ -0,0 +1,251 @@
/*****************************************
* This code is from Mighty Channel 11
* which is based on the TriiForce source.
*****************************************/
#include <stdio.h>
#include <ogcsys.h>
#include <malloc.h>
#include <string.h>
#include "gecko.h"
#include "nand.h"
/* Buffer */
static const char fs[] ATTRIBUTE_ALIGN(32) = "/dev/fs";
static const char fat[] ATTRIBUTE_ALIGN(32) = "fat";
static u32 inbuf[8] ATTRIBUTE_ALIGN(32);
static nandDevice ndevList[] =
{
{ "Disable", 0, 0x00, 0x00 },
{ "SD/SDHC Card", 1, 0xF0, 0xF1 },
{ "USB 2.0 Mass Storage Device", 2, 0xF2, 0xF3 },
};
static int mounted = 0;
static int partition = 0;
static int fullmode = 0;
static char path[32] = "\0";
s32 Nand_Mount(nandDevice *dev)
{
s32 fd, ret;
u32 inlen = 0;
ioctlv *vector = NULL;
u32 *buffer = NULL;
int rev = IOS_GetRevision();
/* Open FAT module */
fd = IOS_Open(fat, 0);
if (fd < 0)
return fd;
/* Prepare vector */
if(rev >= 21 && rev < 30000)
{
// NOTE:
// The official cIOSX rev21 by Waninkoko ignores the partition argument
// and the nand is always expected to be on the 1st partition.
// However this way earlier d2x betas having revision 21 take in
// consideration the partition argument.
inlen = 1;
/* Allocate memory */
buffer = (u32 *)memalign(32, sizeof(u32)*3);
/* Set vector pointer */
vector = (ioctlv *)buffer;
buffer[0] = (u32)(buffer + 2);
buffer[1] = sizeof(u32);
buffer[2] = (u32)partition;
}
/* Mount device */
ret = IOS_Ioctlv(fd, dev->mountCmd, inlen, 0, vector);
/* Close FAT module */
//!TODO: Figure out why this causes a freeze
//IOS_Close(fd);
/* Free memory */
if(buffer != NULL)
free(buffer);
return ret;
}
s32 Nand_Unmount(nandDevice *dev)
{
s32 fd, ret;
// Open FAT module
fd = IOS_Open(fat, 0);
if (fd < 0)
return fd;
// Unmount device
ret = IOS_Ioctlv(fd, dev->umountCmd, 0, 0, NULL);
// Close FAT module
IOS_Close(fd);
return ret;
}
s32 Nand_Enable(nandDevice *dev)
{
s32 fd, ret;
u32 *buffer = NULL;
int rev;
// Open /dev/fs
fd = IOS_Open(fs, 0);
if (fd < 0)
return fd;
rev = IOS_GetRevision();
// Set input buffer
if(rev >= 21 && rev < 30000 && dev->mode != 0)
{
//FULL NAND emulation since rev18
//needed for reading images on triiforce mrc folder using ISFS commands
inbuf[0] = dev->mode | fullmode;
}
else
{
inbuf[0] = dev->mode; //old method
}
// Enable NAND emulator
if(rev >= 21 && rev < 30000)
{
// NOTE:
// The official cIOSX rev21 by Waninkoko provides an undocumented feature
// to set nand path when mounting the device.
// This feature has been discovered during d2x development.
int pathlen = strlen(path)+1;
/* Allocate memory */
buffer = (u32 *)memalign(32, (sizeof(u32)*5)+pathlen);
buffer[0] = (u32)(buffer + 4);
buffer[1] = sizeof(u32); // actually not used by cios
buffer[2] = (u32)(buffer + 5);
buffer[3] = pathlen; // actually not used by cios
buffer[4] = inbuf[0];
strcpy((char*)(buffer+5), path);
ret = IOS_Ioctlv(fd, 100, 2, 0, (ioctlv *)buffer);
}
else
{
ret = IOS_Ioctl(fd, 100, inbuf, sizeof(inbuf), NULL, 0);
}
/* Free memory */
if(buffer != NULL)
free(buffer);
// Close /dev/fs
IOS_Close(fd);
return ret;
}
s32 Nand_Disable(void)
{
s32 fd, ret;
// Open /dev/fs
fd = IOS_Open(fs, 0);
if (fd < 0)
return fd;
// Set input buffer
inbuf[0] = 0;
// Disable NAND emulator
ret = IOS_Ioctl(fd, 100, inbuf, sizeof(inbuf), NULL, 0);
// Close /dev/fs
IOS_Close(fd);
return ret;
}
s32 Enable_Emu(int selection)
{
if(mounted != 0)
return -1;
s32 ret;
nandDevice *ndev = NULL;
ndev = &ndevList[selection];
ret = Nand_Mount(ndev);
if (ret < 0)
{
gprintf(" ERROR Mount! (ret = %d)\n", ret);
return ret;
}
ret = Nand_Enable(ndev);
if (ret < 0)
{
gprintf(" ERROR Enable! (ret = %d)\n", ret);
return ret;
}
mounted = selection;
return 0;
}
s32 Disable_Emu()
{
if(mounted==0)
return 0;
nandDevice *ndev = NULL;
ndev = &ndevList[mounted];
Nand_Disable();
Nand_Unmount(ndev);
mounted = 0;
return 0;
}
void Set_Partition(int p)
{
partition = p;
}
void Set_Path(const char* p)
{
int i = 0;
while(p[i] != '\0' && i < 31)
{
path[i] = p[i];
i++;
}
while(path[i-1] == '/')
{
path[i-1] = '\0';
--i;
}
path[i] = '\0';
}
void Set_FullMode(int fm)
{
fullmode = fm ? 0x100 : 0;
}
const char* Get_Path(void)
{
return path;
}

43
source/usbloader/nand.h Normal file
View File

@ -0,0 +1,43 @@
#ifndef _NAND_H_
#define _NAND_H_
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* 'NAND Device' structure */
typedef struct {
/* Device name */
char *name;
/* Mode value */
u32 mode;
/* Un/mount command */
u32 mountCmd;
u32 umountCmd;
} nandDevice;
#define REAL_NAND 0
#define EMU_SD 1
#define EMU_USB 2
/* Prototypes */
s32 Nand_Mount(nandDevice *);
s32 Nand_Unmount(nandDevice *);
s32 Nand_Enable(nandDevice *);
s32 Nand_Disable(void);
s32 Enable_Emu(int selection);
s32 Disable_Emu();
void Set_Partition(int);
void Set_Path(const char*);
void Set_FullMode(int);
const char* Get_Path(void);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif