From 4f7ccef2ec0a7daab97c6915be4ca481d6af6ce6 Mon Sep 17 00:00:00 2001 From: dimok321 <15055714+dimok789@users.noreply.github.com> Date: Fri, 7 Jan 2011 22:42:03 +0000 Subject: [PATCH] *Changes running games from WBFS. It is now done through fragment lists like on ntfs/fat/ext. This enables support for multiple wbfs partitions even with waninkokos cios which normally doesn't support that. This is not supported by Waninokos IOS < R18. It continues to only support one partition! *Added initialized too all the cheat variables (that was bad...i wonder how it didn't go wrong) *Corrected several theme texts (x, y position mistype) *Added "Default" button to theme downloader to reset the theme *Fixed bug in loading language file with fresh configs *Fixed display of theme path in custom path options *Fixed rockout reset after leaving the GameWindowPrompt *Added limit to page indicators to 5 and rotate them --- HBC/META.XML | 4 +- Languages/czech.lang | 5 +- Languages/danish.lang | 5 +- Languages/dutch.lang | 5 +- Languages/english.lang | 5 +- Languages/finnish.lang | 5 +- Languages/french.lang | 5 +- Languages/german.lang | 5 +- Languages/hungarian.lang | 5 +- Languages/italian.lang | 5 +- Languages/japanese.lang | 5 +- Languages/korean.lang | 5 +- Languages/norwegian.lang | 5 +- Languages/polish.lang | 5 +- Languages/portuguese_br.lang | 5 +- Languages/portuguese_pt.lang | 5 +- Languages/russian.lang | 5 +- Languages/schinese.lang | 5 +- Languages/spanish.lang | 5 +- Languages/swedish.lang | 5 +- Languages/tchinese.lang | 5 +- Languages/thai.lang | 5 +- Languages/turkish.lang | 5 +- Themes/Default.them | 812 ++++++++++---------- source/GameBootProcess.cpp | 22 +- source/menu/GameBrowseMenu.cpp | 10 +- source/patches/fst.c | 16 +- source/settings/CSettings.cpp | 2 +- source/settings/SettingsPrompts.cpp | 2 +- source/settings/menus/CustomPathsSM.cpp | 2 +- source/settings/menus/FlyingButtonsMenu.cpp | 28 +- source/settings/menus/FlyingButtonsMenu.hpp | 1 + source/settings/menus/GameLoadSM.cpp | 6 +- source/themes/ThemeDownloader.cpp | 61 +- source/themes/ThemeDownloader.h | 4 + source/usbloader/disc.c | 7 +- source/usbloader/frag.c | 23 +- source/usbloader/wbfs.cpp | 3 - source/usbloader/wbfs.h | 6 - source/usbloader/wbfs/wbfs_wbfs.cpp | 7 + source/usbloader/wbfs/wbfs_wbfs.h | 1 + 41 files changed, 643 insertions(+), 484 deletions(-) diff --git a/HBC/META.XML b/HBC/META.XML index 40993a47..55e2680a 100644 --- a/HBC/META.XML +++ b/HBC/META.XML @@ -2,8 +2,8 @@ USB Loader GX USB Loader GX Team - 1.0 r1032 - 201101021920 + 1.0 r1033 + 201101061900 Loads games from USB-devices USB Loader GX is a libwiigui based USB iso loader with a wii-like GUI. You can install games to your HDDs and boot them with shorter loading times. diff --git a/Languages/czech.lang b/Languages/czech.lang index 9f00da68..0fc0bada 100644 --- a/Languages/czech.lang +++ b/Languages/czech.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: David Jelinek (djelinek@hotmail.com) e->e,r->r,u->u, c->c \n" "Language-Team: r1000 - last version on http://djelinek.sweb.cz/_USBLoderGX/czech.lang \n" @@ -394,6 +394,9 @@ msgstr "Prejete si stáhnout toto téma?" msgid "Do you want to format:" msgstr "Prejete si formátovat" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/danish.lang b/Languages/danish.lang index e282ea64..b7763738 100644 --- a/Languages/danish.lang +++ b/Languages/danish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: dorf[dk]\n" "Language-Team: dorf[dk]\n" @@ -394,6 +394,9 @@ msgstr "Skal dette tema downloades?" msgid "Do you want to format:" msgstr "Vil du formatere:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/dutch.lang b/Languages/dutch.lang index 16c45b4c..cef58cc6 100644 --- a/Languages/dutch.lang +++ b/Languages/dutch.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2010-04-12 07:37+0100\n" "Last-Translator: glowy\n" "Language-Team: tj_cool, glowy\n" @@ -394,6 +394,9 @@ msgstr "Wil je dit thema downloaden?" msgid "Do you want to format:" msgstr "Wil je formatteren:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/english.lang b/Languages/english.lang index c941ab06..2acf06fb 100644 --- a/Languages/english.lang +++ b/Languages/english.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -394,6 +394,9 @@ msgstr "" msgid "Do you want to format:" msgstr "" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/finnish.lang b/Languages/finnish.lang index 673ef0e3..1e2245d0 100644 --- a/Languages/finnish.lang +++ b/Languages/finnish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: c64rmx\n" "Language-Team: \n" @@ -394,6 +394,9 @@ msgstr "" msgid "Do you want to format:" msgstr "Haluatko formatoida:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/french.lang b/Languages/french.lang index 751381ea..88d6e157 100644 --- a/Languages/french.lang +++ b/Languages/french.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: Cyan\n" "Language-Team: Badablek, Amour, ikya & Kin8\n" @@ -394,6 +394,9 @@ msgstr "Voulez-vous télécharger ce thème ?" msgid "Do you want to format:" msgstr "Voulez-vous formater ?" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "Voulez-vous charger ce thème ?" diff --git a/Languages/german.lang b/Languages/german.lang index 1b613d78..5676726a 100644 --- a/Languages/german.lang +++ b/Languages/german.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2010-07-03 17:35-0800\n" "Last-Translator: TheRealVisitor\n" "Language-Team: Bertilax, Snoozer, wishmasterf, ZEN.13, TheRealVisitor\n" @@ -394,6 +394,9 @@ msgstr "Dieses Theme herunterladen?" msgid "Do you want to format:" msgstr "Formatieren:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "Soll dieses Theme geladen werden?" diff --git a/Languages/hungarian.lang b/Languages/hungarian.lang index 9c56cc07..c40e85f5 100644 --- a/Languages/hungarian.lang +++ b/Languages/hungarian.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-12-29 11:05+0100\n" "Last-Translator: Springdale\n" "Language-Team: Tusk, Springdale\n" @@ -394,6 +394,9 @@ msgstr "Téma letöltése?" msgid "Do you want to format:" msgstr "Formázás?" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/italian.lang b/Languages/italian.lang index 2066dacc..2d3944dd 100644 --- a/Languages/italian.lang +++ b/Languages/italian.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2011-01-03 01:30+0200\n" "Last-Translator: Cambo \n" "Language-Team: Cambo\n" @@ -394,6 +394,9 @@ msgstr "Vuoi scaricare questo tema?" msgid "Do you want to format:" msgstr "Vuoi formattare:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "Vuoi caricare questo tema?" diff --git a/Languages/japanese.lang b/Languages/japanese.lang index e7150178..95bf1236 100644 --- a/Languages/japanese.lang +++ b/Languages/japanese.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: hosigumayuugi\n" "Language-Team: hosigumayuugi\n" @@ -394,6 +394,9 @@ msgstr "ダウンロードしますか?" msgid "Do you want to format:" msgstr "初期化しますか?" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "このテーマを読み込みますか?" diff --git a/Languages/korean.lang b/Languages/korean.lang index a07efad1..dd0b0e03 100644 --- a/Languages/korean.lang +++ b/Languages/korean.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: nextos@korea.com\n" "Language-Team: \n" @@ -394,6 +394,9 @@ msgstr "" msgid "Do you want to format:" msgstr "포맷하겠습니까:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/norwegian.lang b/Languages/norwegian.lang index 80804a89..b72e7d14 100644 --- a/Languages/norwegian.lang +++ b/Languages/norwegian.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: raschi\n" "Language-Team: raschi\n" @@ -394,6 +394,9 @@ msgstr "Vil du laste ned dette temaet?" msgid "Do you want to format:" msgstr "Vil du formatere:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/polish.lang b/Languages/polish.lang index 430d3fd8..19b903d8 100644 --- a/Languages/polish.lang +++ b/Languages/polish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: ziom666 (zadania_prog@vp.pl)\n" "Language-Team: \n" @@ -394,6 +394,9 @@ msgstr "Pobrac temat?" msgid "Do you want to format:" msgstr "Sformatowac:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/portuguese_br.lang b/Languages/portuguese_br.lang index 9adb1b47..c9c00e86 100644 --- a/Languages/portuguese_br.lang +++ b/Languages/portuguese_br.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-23 18:52+0200\n" "Last-Translator: aniemotion\n" "Language-Team: boto12, aniemotion\n" @@ -394,6 +394,9 @@ msgstr "Deseja baixar este tema?" msgid "Do you want to format:" msgstr "Deseja FORMATAR:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/portuguese_pt.lang b/Languages/portuguese_pt.lang index cf7ad01c..58fbd867 100644 --- a/Languages/portuguese_pt.lang +++ b/Languages/portuguese_pt.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2010-03-22 10:55-0000\n" "Last-Translator: Sky8000\n" "Language-Team: Sky8000 \n" @@ -394,6 +394,9 @@ msgstr "Deseja descarregar este tema?" msgid "Do you want to format:" msgstr "Deseja FORMATAR:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/russian.lang b/Languages/russian.lang index 1088ab91..04063991 100644 --- a/Languages/russian.lang +++ b/Languages/russian.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: nikolai_ca\n" "Language-Team: Kir, alendit, nikolai_ca\n" @@ -394,6 +394,9 @@ msgstr "Вы действительно хотите загрузить эту msgid "Do you want to format:" msgstr "Вы хотите отформатировать:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/schinese.lang b/Languages/schinese.lang index cf35698e..d2a6abc6 100644 --- a/Languages/schinese.lang +++ b/Languages/schinese.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: knife.hu kavid emul8ion\n" "Language-Team: kavid\n" @@ -394,6 +394,9 @@ msgstr "要下载这个主题吗?" msgid "Do you want to format:" msgstr "是否格式化:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "是否载入这个主题?" diff --git a/Languages/spanish.lang b/Languages/spanish.lang index 3e2dc83e..b8887e38 100644 --- a/Languages/spanish.lang +++ b/Languages/spanish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: SirPalax\n" "Language-Team: Penn, SirPalax\n" @@ -394,6 +394,9 @@ msgstr "¿Quieres descargar este Tema?" msgid "Do you want to format:" msgstr "Quieres formatear:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/swedish.lang b/Languages/swedish.lang index 6fdced64..48091622 100644 --- a/Languages/swedish.lang +++ b/Languages/swedish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2010-01-19 17:39+0200\n" "Last-Translator: Katsurou\n" "Language-Team: Katsurou, pirateX\n" @@ -394,6 +394,9 @@ msgstr "Vill du ladda ner detta tema?" msgid "Do you want to format:" msgstr "Vill du formatera:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/tchinese.lang b/Languages/tchinese.lang index 4d8d13c3..d8ff5e4f 100644 --- a/Languages/tchinese.lang +++ b/Languages/tchinese.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2010-02-15 21:00+0800\n" "Last-Translator: Jane.H\n" "Language-Team: kyogc, Miller, Mika Li, Jane.H\n" @@ -394,6 +394,9 @@ msgstr "是否要下載這個佈景主題嗎?" msgid "Do you want to format:" msgstr "是否格式化:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "是否要載入這佈景主題嗎?" diff --git a/Languages/thai.lang b/Languages/thai.lang index 8307f63f..9ea19b41 100644 --- a/Languages/thai.lang +++ b/Languages/thai.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: Nitro_subzero \n" "Language-Team: Nitro_subzero\n" @@ -394,6 +394,9 @@ msgstr "ต้องการดาวน์โหลดธีมนี้ ?" msgid "Do you want to format:" msgstr "ต้องการฟอร์แมต:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Languages/turkish.lang b/Languages/turkish.lang index 4ceb8ef5..6149be09 100644 --- a/Languages/turkish.lang +++ b/Languages/turkish.lang @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: USB Loader GX\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 19:58+0100\n" +"POT-Creation-Date: 2011-01-07 14:00+0100\n" "PO-Revision-Date: 2009-10-01 01:00+0200\n" "Last-Translator: omercigingelini\n" "Language-Team: omercigingelini\n" @@ -394,6 +394,9 @@ msgstr "Bu temayı indirmek istiyor musunuz?" msgid "Do you want to format:" msgstr "Formatlamak istiyor musunuz:" +msgid "Do you want to load the default theme?" +msgstr "" + msgid "Do you want to load this theme?" msgstr "" diff --git a/Themes/Default.them b/Themes/Default.them index 15f3c25c..971e95e9 100644 --- a/Themes/Default.them +++ b/Themes/Default.them @@ -1,406 +1,406 @@ -# USB Loader GX theme source file. -# don't delete/change this line (é). -# ONLY the value before the '-' char needs to be entered in msgstr "" -# not the complete text. -# It is important that the image folder is defined for the images to load. -# The image folder should be in the same folder as the .them file and include the theme images. -msgid "" -msgstr "" -"Project-Id-Version: USB Loader GX\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-01 21:47+0100\n" -"PO-Revision-Date: 2009-10-01 01:00+0200\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Theme-Title: Example\n" -"Image-Folder: Example\n" -"Last-Themer: Example\n" -"Theme-Team: Example\n" - -msgid "r=0 g=0 b=0 a=255 - prompt windows text color" -msgstr "" - -msgid "r=0 g=0 b=0 a=255 - settings text color" -msgstr "" - -msgid "9 - game list browser page size" -msgstr "" - -msgid "r=0 g=0 b=0 a=255 - game browser list text color" -msgstr "" - -msgid "r=0 g=0 b=0 a=255 - game browser list text color over" -msgstr "" - -msgid "r=55 g=190 b=237 a=255 - carousel game name text color" -msgstr "" - -msgid "0 - game grid layout pos x" -msgstr "" - -msgid "20 - game grid layout pos y" -msgstr "" - -msgid "255 - tooltip alpha" -msgstr "" - -msgid "r=55 g=190 b=237 a=255 - hdd info color" -msgstr "" - -msgid "center - hdd info align hor" -msgstr "" - -msgid "top - hdd info align ver" -msgstr "" - -msgid "0 - hdd info pos x" -msgstr "" - -msgid "400 - hdd info pos y" -msgstr "" - -msgid "r=55 g=190 b=237 a=255 - game count color" -msgstr "" - -msgid "center - game count align hor" -msgstr "" - -msgid "top - game count align ver" -msgstr "" - -msgid "0 - game count pos x" -msgstr "" - -msgid "420 - game count pos y" -msgstr "" - -msgid "16 - install btn pos x" -msgstr "" - -msgid "355 - install btn pos y" -msgstr "" - -msgid "371 - settings btn pos y" -msgstr "" - -msgid "64 - settings btn pos x" -msgstr "" - -msgid "371 - home menu btn pos y" -msgstr "" - -msgid "489 - home menu btn pos x" -msgstr "" - -msgid "355 - power off btn pos y" -msgstr "" - -msgid "576 - power off btn pos x" -msgstr "" - -msgid "160 - sd card btn pos x" -msgstr "" - -msgid "395 - sd card btn pos y" -msgstr "" - -msgid "405 - HBC btn pos y" -msgstr "" - -msgid "410 - HBC btn pos x" -msgstr "" - -msgid "26 - cover/download btn pos x" -msgstr "" - -msgid "58 - cover/download btn pos y" -msgstr "" - -msgid "305 - gameID btn pos y" -msgstr "" - -msgid "68 - gameID btn pos x" -msgstr "" - -msgid "r=138 g=138 b=138 a=240 - clock color" -msgstr "" - -msgid "left - clock align hor" -msgstr "" - -msgid "top - clock align ver" -msgstr "" - -msgid "275 - clock pos x" -msgstr "" - -msgid "335 - clock pos y" -msgstr "" - -msgid "260 - list layout favorite btn pos x" -msgstr "" - -msgid "288 - list layout favorite btn pos x widescreen" -msgstr "" - -msgid "13 - list layout favorite btn pos y" -msgstr "" - -msgid "300 - list layout search btn pos x" -msgstr "" - -msgid "320 - list layout search btn pos x widescreen" -msgstr "" - -msgid "13 - list layout search btn pos x" -msgstr "" - -msgid "340 - list layout abc/sort btn pos x" -msgstr "" - -msgid "352 - list layout abc/sort btn pos x widescreen" -msgstr "" - -msgid "13 - list layout abc/sort btn pos y" -msgstr "" - -msgid "380 - list layout list btn pos x" -msgstr "" - -msgid "384 - list layout list btn pos x widescreen" -msgstr "" - -msgid "13 - list layout list btn pos y" -msgstr "" - -msgid "416 - list layout grid btn pos x widescreen" -msgstr "" - -msgid "420 - list layout grid btn pos x" -msgstr "" - -msgid "13 - list layout grid btn pos y" -msgstr "" - -msgid "448 - list layout carousel btn pos x widescreen" -msgstr "" - -msgid "460 - list layout carousel btn pos x" -msgstr "" - -msgid "13 - list layout carousel btn pos y" -msgstr "" - -msgid "480 - list layout lock btn pos x widescreen" -msgstr "" - -msgid "500 - list layout lock btn pos x" -msgstr "" - -msgid "13 - list layout lock btn pos y" -msgstr "" - -msgid "512 - list layout dvd btn pos x widescreen" -msgstr "" - -msgid "540 - list layout dvd btn pos x" -msgstr "" - -msgid "13 - list layout dvd btn pos y" -msgstr "" - -msgid "280 - game list layout height" -msgstr "" - -msgid "396 - game list layout width" -msgstr "" - -msgid "200 - game list layout pos x" -msgstr "" - -msgid "49 - game list layout pos y" -msgstr "" - -msgid "200 - grid layout favorite btn pos x" -msgstr "" - -msgid "224 - grid layout favorite btn pos x widescreen" -msgstr "" - -msgid "13 - grid layout favorite btn pos y" -msgstr "" - -msgid "240 - grid layout search btn pos x" -msgstr "" - -msgid "256 - grid layout search btn pos x widescreen" -msgstr "" - -msgid "13 - grid layout search btn pos x" -msgstr "" - -msgid "280 - grid layout abc/sort btn pos x" -msgstr "" - -msgid "288 - grid layout abc/sort btn pos x widescreen" -msgstr "" - -msgid "13 - grid layout abc/sort btn pos y" -msgstr "" - -msgid "320 - grid layout list btn pos x" -msgstr "" - -msgid "320 - grid layout list btn pos x widescreen" -msgstr "" - -msgid "13 - grid layout list btn pos y" -msgstr "" - -msgid "352 - grid layout grid btn pos x widescreen" -msgstr "" - -msgid "360 - grid layout grid btn pos x" -msgstr "" - -msgid "13 - grid layout grid btn pos y" -msgstr "" - -msgid "384 - grid layout carousel btn pos x widescreen" -msgstr "" - -msgid "400 - grid layout carousel btn pos x" -msgstr "" - -msgid "13 - grid layout carousel btn pos y" -msgstr "" - -msgid "416 - grid layout lock btn pos x widescreen" -msgstr "" - -msgid "440 - grid layout lock btn pos x" -msgstr "" - -msgid "13 - grid layout lock btn pos y" -msgstr "" - -msgid "448 - grid layout dvd btn pos x widescreen" -msgstr "" - -msgid "480 - grid layout dvd btn pos x" -msgstr "" - -msgid "13 - grid layout dvd btn pos y" -msgstr "" - -msgid "400 - game grid layout height" -msgstr "" - -msgid "640 - game grid layout width" -msgstr "" - -msgid "200 - carousel layout favorite btn pos x" -msgstr "" - -msgid "224 - carousel layout favorite btn pos x widescreen" -msgstr "" - -msgid "13 - carousel layout favorite btn pos y" -msgstr "" - -msgid "240 - carousel layout search btn pos x" -msgstr "" - -msgid "256 - carousel layout search btn pos x widescreen" -msgstr "" - -msgid "13 - carousel layout search btn pos x" -msgstr "" - -msgid "280 - carousel layout abc/sort btn pos x" -msgstr "" - -msgid "288 - carousel layout abc/sort btn pos x widescreen" -msgstr "" - -msgid "13 - carousel layout abc/sort btn pos y" -msgstr "" - -msgid "320 - carousel layout list btn pos x" -msgstr "" - -msgid "320 - carousel layout list btn pos x widescreen" -msgstr "" - -msgid "13 - carousel layout list btn pos y" -msgstr "" - -msgid "352 - carousel layout grid btn pos x widescreen" -msgstr "" - -msgid "360 - carousel layout grid btn pos x" -msgstr "" - -msgid "13 - carousel layout grid btn pos y" -msgstr "" - -msgid "384 - carousel layout carousel btn pos x widescreen" -msgstr "" - -msgid "400 - carousel layout carousel btn pos x" -msgstr "" - -msgid "13 - carousel layout carousel btn pos y" -msgstr "" - -msgid "416 - carousel layout lock btn pos x widescreen" -msgstr "" - -msgid "440 - carousel layout lock btn pos x" -msgstr "" - -msgid "13 - carousel layout lock btn pos y" -msgstr "" - -msgid "448 - carousel layout dvd btn pos x widescreen" -msgstr "" - -msgid "480 - carousel layout dvd btn pos x" -msgstr "" - -msgid "13 - carousel layout dvd btn pos y" -msgstr "" - -msgid "400 - game carousel layout height" -msgstr "" - -msgid "640 - game carousel layout width" -msgstr "" - -msgid "-20 - game carousel layout pos y" -msgstr "" - -msgid "0 - game carousel layout pos x" -msgstr "" - -msgid "1 - show hdd info: 1 for on and 0 for off" -msgstr "" - -msgid "1 - show game count: 1 for on and 0 for off" -msgstr "" - -msgid "r=55 g=190 b=237 a=255 - game id text color" -msgstr "" - -msgid "r=55 g=190 b=237 a=255 - region info text color" -msgstr "" - -msgid "30 - region info text pos x" -msgstr "" - -msgid "68 - region info text pos x" -msgstr "" - -msgid "1 - Enable tooltips: 0 for off and 1 for on" -msgstr "" +# USB Loader GX theme source file. +# don't delete/change this line (é). +# ONLY the value before the '-' char needs to be entered in msgstr "" +# not the complete text. +# It is important that the image folder is defined for the images to load. +# The image folder should be in the same folder as the .them file and include the theme images. +msgid "" +msgstr "" +"Project-Id-Version: USB Loader GX\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-01-07 14:09+0100\n" +"PO-Revision-Date: 2009-10-01 01:00+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Theme-Title: Example\n" +"Image-Folder: Example\n" +"Last-Themer: Example\n" +"Theme-Team: Example\n" + +msgid "r=0 g=0 b=0 a=255 - prompt windows text color" +msgstr "" + +msgid "r=0 g=0 b=0 a=255 - settings text color" +msgstr "" + +msgid "9 - game list browser page size" +msgstr "" + +msgid "r=0 g=0 b=0 a=255 - game browser list text color" +msgstr "" + +msgid "r=0 g=0 b=0 a=255 - game browser list text color over" +msgstr "" + +msgid "r=55 g=190 b=237 a=255 - carousel game name text color" +msgstr "" + +msgid "0 - game grid layout pos x" +msgstr "" + +msgid "20 - game grid layout pos y" +msgstr "" + +msgid "255 - tooltip alpha" +msgstr "" + +msgid "r=55 g=190 b=237 a=255 - hdd info color" +msgstr "" + +msgid "center - hdd info align hor" +msgstr "" + +msgid "top - hdd info align ver" +msgstr "" + +msgid "0 - hdd info pos x" +msgstr "" + +msgid "400 - hdd info pos y" +msgstr "" + +msgid "r=55 g=190 b=237 a=255 - game count color" +msgstr "" + +msgid "center - game count align hor" +msgstr "" + +msgid "top - game count align ver" +msgstr "" + +msgid "0 - game count pos x" +msgstr "" + +msgid "420 - game count pos y" +msgstr "" + +msgid "16 - install btn pos x" +msgstr "" + +msgid "355 - install btn pos y" +msgstr "" + +msgid "371 - settings btn pos y" +msgstr "" + +msgid "64 - settings btn pos x" +msgstr "" + +msgid "371 - home menu btn pos y" +msgstr "" + +msgid "489 - home menu btn pos x" +msgstr "" + +msgid "355 - power off btn pos y" +msgstr "" + +msgid "576 - power off btn pos x" +msgstr "" + +msgid "160 - sd card btn pos x" +msgstr "" + +msgid "395 - sd card btn pos y" +msgstr "" + +msgid "405 - HBC btn pos y" +msgstr "" + +msgid "410 - HBC btn pos x" +msgstr "" + +msgid "26 - cover/download btn pos x" +msgstr "" + +msgid "58 - cover/download btn pos y" +msgstr "" + +msgid "305 - gameID btn pos y" +msgstr "" + +msgid "68 - gameID btn pos x" +msgstr "" + +msgid "r=138 g=138 b=138 a=240 - clock color" +msgstr "" + +msgid "left - clock align hor" +msgstr "" + +msgid "top - clock align ver" +msgstr "" + +msgid "275 - clock pos x" +msgstr "" + +msgid "335 - clock pos y" +msgstr "" + +msgid "260 - list layout favorite btn pos x" +msgstr "" + +msgid "288 - list layout favorite btn pos x widescreen" +msgstr "" + +msgid "13 - list layout favorite btn pos y" +msgstr "" + +msgid "300 - list layout search btn pos x" +msgstr "" + +msgid "320 - list layout search btn pos x widescreen" +msgstr "" + +msgid "13 - list layout search btn pos x" +msgstr "" + +msgid "340 - list layout abc/sort btn pos x" +msgstr "" + +msgid "352 - list layout abc/sort btn pos x widescreen" +msgstr "" + +msgid "13 - list layout abc/sort btn pos y" +msgstr "" + +msgid "380 - list layout list btn pos x" +msgstr "" + +msgid "384 - list layout list btn pos x widescreen" +msgstr "" + +msgid "13 - list layout list btn pos y" +msgstr "" + +msgid "416 - list layout grid btn pos x widescreen" +msgstr "" + +msgid "420 - list layout grid btn pos x" +msgstr "" + +msgid "13 - list layout grid btn pos y" +msgstr "" + +msgid "448 - list layout carousel btn pos x widescreen" +msgstr "" + +msgid "460 - list layout carousel btn pos x" +msgstr "" + +msgid "13 - list layout carousel btn pos y" +msgstr "" + +msgid "480 - list layout lock btn pos x widescreen" +msgstr "" + +msgid "500 - list layout lock btn pos x" +msgstr "" + +msgid "13 - list layout lock btn pos y" +msgstr "" + +msgid "512 - list layout dvd btn pos x widescreen" +msgstr "" + +msgid "540 - list layout dvd btn pos x" +msgstr "" + +msgid "13 - list layout dvd btn pos y" +msgstr "" + +msgid "280 - game list layout height" +msgstr "" + +msgid "396 - game list layout width" +msgstr "" + +msgid "200 - game list layout pos x" +msgstr "" + +msgid "49 - game list layout pos y" +msgstr "" + +msgid "200 - grid layout favorite btn pos x" +msgstr "" + +msgid "224 - grid layout favorite btn pos x widescreen" +msgstr "" + +msgid "13 - grid layout favorite btn pos y" +msgstr "" + +msgid "240 - grid layout search btn pos x" +msgstr "" + +msgid "256 - grid layout search btn pos x widescreen" +msgstr "" + +msgid "13 - grid layout search btn pos y" +msgstr "" + +msgid "280 - grid layout abc/sort btn pos x" +msgstr "" + +msgid "288 - grid layout abc/sort btn pos x widescreen" +msgstr "" + +msgid "13 - grid layout abc/sort btn pos y" +msgstr "" + +msgid "320 - grid layout list btn pos x" +msgstr "" + +msgid "320 - grid layout list btn pos x widescreen" +msgstr "" + +msgid "13 - grid layout list btn pos y" +msgstr "" + +msgid "352 - grid layout grid btn pos x widescreen" +msgstr "" + +msgid "360 - grid layout grid btn pos x" +msgstr "" + +msgid "13 - grid layout grid btn pos y" +msgstr "" + +msgid "384 - grid layout carousel btn pos x widescreen" +msgstr "" + +msgid "400 - grid layout carousel btn pos x" +msgstr "" + +msgid "13 - grid layout carousel btn pos y" +msgstr "" + +msgid "416 - grid layout lock btn pos x widescreen" +msgstr "" + +msgid "440 - grid layout lock btn pos x" +msgstr "" + +msgid "13 - grid layout lock btn pos y" +msgstr "" + +msgid "448 - grid layout dvd btn pos x widescreen" +msgstr "" + +msgid "480 - grid layout dvd btn pos x" +msgstr "" + +msgid "13 - grid layout dvd btn pos y" +msgstr "" + +msgid "400 - game grid layout height" +msgstr "" + +msgid "640 - game grid layout width" +msgstr "" + +msgid "200 - carousel layout favorite btn pos x" +msgstr "" + +msgid "224 - carousel layout favorite btn pos x widescreen" +msgstr "" + +msgid "13 - carousel layout favorite btn pos y" +msgstr "" + +msgid "240 - carousel layout search btn pos x" +msgstr "" + +msgid "256 - carousel layout search btn pos x widescreen" +msgstr "" + +msgid "13 - carousel layout search btn pos y" +msgstr "" + +msgid "280 - carousel layout abc/sort btn pos x" +msgstr "" + +msgid "288 - carousel layout abc/sort btn pos x widescreen" +msgstr "" + +msgid "13 - carousel layout abc/sort btn pos y" +msgstr "" + +msgid "320 - carousel layout list btn pos x" +msgstr "" + +msgid "320 - carousel layout list btn pos x widescreen" +msgstr "" + +msgid "13 - carousel layout list btn pos y" +msgstr "" + +msgid "352 - carousel layout grid btn pos x widescreen" +msgstr "" + +msgid "360 - carousel layout grid btn pos x" +msgstr "" + +msgid "13 - carousel layout grid btn pos y" +msgstr "" + +msgid "384 - carousel layout carousel btn pos x widescreen" +msgstr "" + +msgid "400 - carousel layout carousel btn pos x" +msgstr "" + +msgid "13 - carousel layout carousel btn pos y" +msgstr "" + +msgid "416 - carousel layout lock btn pos x widescreen" +msgstr "" + +msgid "440 - carousel layout lock btn pos x" +msgstr "" + +msgid "13 - carousel layout lock btn pos y" +msgstr "" + +msgid "448 - carousel layout dvd btn pos x widescreen" +msgstr "" + +msgid "480 - carousel layout dvd btn pos x" +msgstr "" + +msgid "13 - carousel layout dvd btn pos y" +msgstr "" + +msgid "400 - game carousel layout height" +msgstr "" + +msgid "640 - game carousel layout width" +msgstr "" + +msgid "0 - game carousel layout pos x" +msgstr "" + +msgid "0 - game carousel layout pos y" +msgstr "" + +msgid "1 - show hdd info: 1 for on and 0 for off" +msgstr "" + +msgid "1 - show game count: 1 for on and 0 for off" +msgstr "" + +msgid "r=55 g=190 b=237 a=255 - game id text color" +msgstr "" + +msgid "r=55 g=190 b=237 a=255 - region info text color" +msgstr "" + +msgid "30 - region info text pos y" +msgstr "" + +msgid "68 - region info text pos x" +msgstr "" + +msgid "1 - Enable tooltips: 0 for off and 1 for on" +msgstr "" diff --git a/source/GameBootProcess.cpp b/source/GameBootProcess.cpp index 6e43b582..0a800836 100644 --- a/source/GameBootProcess.cpp +++ b/source/GameBootProcess.cpp @@ -146,13 +146,21 @@ int BootGame(const char * gameID) if (!mountMethod) { - gprintf("Loading fragment list..."); - ret = get_frag_list(gameHeader.id); - gprintf("%d\n", ret); - - ret = Disc_SetUSB(gameHeader.id); - if (ret < 0) Sys_BackToLoader(); - gprintf("\tUSB set to game\n"); + if(IosLoader::IsWaninkokoIOS() && IOS_GetRevision() < 18) + { + gprintf("Disc_SetUSB..."); + ret = Disc_SetUSB(gameHeader.id); + gprintf("%d\n", ret); + } + else + { + gprintf("Loading fragment list..."); + ret = get_frag_list(gameHeader.id); + gprintf("%d\n", ret); + ret = set_frag_list(gameHeader.id); + if (ret < 0) Sys_BackToLoader(); + gprintf("\tUSB set to game\n"); + } } else { diff --git a/source/menu/GameBrowseMenu.cpp b/source/menu/GameBrowseMenu.cpp index 52b1cc00..e56062a9 100644 --- a/source/menu/GameBrowseMenu.cpp +++ b/source/menu/GameBrowseMenu.cpp @@ -602,7 +602,7 @@ void GameBrowseMenu::ReloadBrowser() favoriteBtn->SetPosition(Settings.widescreen ? thInt("224 - grid layout favorite btn pos x widescreen") : thInt("200 - grid layout favorite btn pos x"), 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"), - thInt("13 - grid layout search btn pos x")); + 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"), thInt("13 - grid layout abc/sort btn pos y")); listBtn->SetPosition(Settings.widescreen ? thInt("320 - grid layout list btn pos x widescreen") : thInt("320 - grid layout list btn pos x"), @@ -635,7 +635,7 @@ void GameBrowseMenu::ReloadBrowser() favoriteBtn->SetPosition(Settings.widescreen ? thInt("224 - carousel layout favorite btn pos x widescreen") : thInt("200 - carousel layout favorite btn pos x"), 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"), - thInt("13 - carousel layout search btn pos x")); + 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"), 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"), @@ -650,7 +650,7 @@ void GameBrowseMenu::ReloadBrowser() thInt("13 - carousel layout dvd btn pos y")); gameCarousel = new GuiGameCarousel(thInt("640 - game carousel layout width"), thInt("400 - game carousel layout height"), Settings.theme_path, bg_options_png, lastSelectedGame); - gameCarousel->SetPosition(thInt("0 - game carousel layout pos x"), thInt("-20 - game carousel layout pos y")); + gameCarousel->SetPosition(thInt("0 - game carousel layout pos x"), thInt("0 - game carousel layout pos y")); gameCarousel->SetAlignment(ALIGN_LEFT, ALIGN_CENTRE); } @@ -1203,7 +1203,7 @@ void GameBrowseMenu::UpdateGameInfoText(const u8 * gameId) delete GameRegionTxt; GameRegionTxt = new GuiText(gameregion, 22, thColor("r=55 g=190 b=237 a=255 - region info text color")); GameRegionTxt->SetAlignment(ALIGN_LEFT, ALIGN_TOP); - GameRegionTxt->SetPosition(thInt("68 - region info text pos x"), thInt("30 - region info text pos x")); + GameRegionTxt->SetPosition(thInt("68 - region info text pos x"), thInt("30 - region info text pos y")); GameRegionTxt->SetEffect(EFFECT_FADE, 20); Append(GameRegionTxt); } @@ -1284,10 +1284,10 @@ int GameBrowseMenu::OpenClickedGame() else if (choice == 2) { ReloadBrowser(); - rockout(2, GetSelectedGame()); } } + rockout(-1, -1); mountMethod = 0; if (searchBar) diff --git a/source/patches/fst.c b/source/patches/fst.c index 9a17115d..92458774 100644 --- a/source/patches/fst.c +++ b/source/patches/fst.c @@ -53,13 +53,16 @@ const char * CheatFilepath = NULL; static const char * BCAFilepath = NULL; -static u8 *codelistend; -void *codelist; +static u8 *codelistend = NULL; +static void *codelist = NULL; -u32 gameconfsize = 0; -u32 *gameconf = NULL; +static u8 *code_buf = NULL; +static int code_size = 0; -u8 debuggerselect; +static u32 gameconfsize = 0; +static u32 *gameconf = NULL; + +static u8 debuggerselect = 0; extern const u32 viwiihooks[4]; extern const u32 kpadhooks[4]; @@ -527,9 +530,6 @@ void app_loadgameconfig(char *discid) //tempcodelist = ((u8 *) gameconf) + gameconfsize; } -u8 *code_buf = NULL; -int code_size = 0; - int ocarina_load_code(u8 *id) { if (debuggerselect == 0x00) diff --git a/source/settings/CSettings.cpp b/source/settings/CSettings.cpp index a10c929b..9e349621 100644 --- a/source/settings/CSettings.cpp +++ b/source/settings/CSettings.cpp @@ -732,7 +732,7 @@ bool CSettings::LoadLanguage(const char *path, int lang) { char filepath[150]; char langpath[150]; - snprintf(langpath, sizeof(langpath), "%s", language_path); + snprintf(langpath, sizeof(langpath), "%s", languagefiles_path); if (langpath[strlen(langpath) - 1] != '/') { char * ptr = strrchr(langpath, '/'); diff --git a/source/settings/SettingsPrompts.cpp b/source/settings/SettingsPrompts.cpp index 0ecab76d..aaf09c5c 100644 --- a/source/settings/SettingsPrompts.cpp +++ b/source/settings/SettingsPrompts.cpp @@ -9,7 +9,7 @@ #include "libwiigui/gui.h" #include "libwiigui/gui_customoptionbrowser.h" #include "settings/CSettings.h" -#include "settings/Gametitles.h" +#include "settings/GameTitles.h" #include "themes/CTheme.h" #include "network/URL_List.h" #include "FileOperations/fileops.h" diff --git a/source/settings/menus/CustomPathsSM.cpp b/source/settings/menus/CustomPathsSM.cpp index 96fcff2f..d363e749 100644 --- a/source/settings/menus/CustomPathsSM.cpp +++ b/source/settings/menus/CustomPathsSM.cpp @@ -65,7 +65,7 @@ void CustomPathsSM::SetOptionValues() Options->SetValue(Idx++, Settings.disc_path); //! Settings: Theme Path - Options->SetValue(Idx++, strlen(Settings.theme) == 0 ? tr("Default") : Settings.theme); + Options->SetValue(Idx++, Settings.theme_path); //! Settings: WiiTDB Path Options->SetValue(Idx++, Settings.titlestxt_path); diff --git a/source/settings/menus/FlyingButtonsMenu.cpp b/source/settings/menus/FlyingButtonsMenu.cpp index fb62da0a..52f2da12 100644 --- a/source/settings/menus/FlyingButtonsMenu.cpp +++ b/source/settings/menus/FlyingButtonsMenu.cpp @@ -34,6 +34,7 @@ #define FADE_SPEED 20 #define SLIDE_SPEED 35 #define DISPLAY_BUTTONS 4 +#define MAX_INDICATORS 5 FlyingButtonsMenu::FlyingButtonsMenu(const char * menu_title) : GuiWindow(screenwidth, screenheight) @@ -150,20 +151,31 @@ void FlyingButtonsMenu::SetPageIndicators() int IndicatorCount = ceil(MainButton.size()/(1.0f*DISPLAY_BUTTONS)); - for(int i = 0; i < IndicatorCount; ++i) + FirstIndicator = 0; + if(currentPage > (int) floor(MAX_INDICATORS/2.0f)) + { + if(IndicatorCount-MAX_INDICATORS < currentPage - (int) floor(MAX_INDICATORS/2.0f)) + FirstIndicator = IndicatorCount-MAX_INDICATORS; + else + FirstIndicator = currentPage - (int) floor(MAX_INDICATORS/2.0f); + } + + int DisplayedIndicators = IndicatorCount > MAX_INDICATORS ? MAX_INDICATORS : IndicatorCount; + + for(int i = 0, n = FirstIndicator; i < MAX_INDICATORS && n < IndicatorCount; ++i, ++n) { PageindicatorImg.push_back(new GuiImage(PageindicatorImgData)); - PageindicatorTxt.push_back(new GuiText(fmt("%i", i+1), 22, ( GXColor ) {0, 0, 0, 255})); + PageindicatorTxt.push_back(new GuiText(fmt("%i", n+1), 22, ( GXColor ) {0, 0, 0, 255})); PageIndicatorBtn.push_back(new GuiButton(PageindicatorImgData->GetWidth(), PageindicatorImgData->GetHeight())); PageIndicatorBtn[i]->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); - PageIndicatorBtn[i]->SetPosition(270-IndicatorCount*35+35*i, 400); + PageIndicatorBtn[i]->SetPosition(270-DisplayedIndicators*35+35*i, 400); PageIndicatorBtn[i]->SetImage(PageindicatorImg[i]); PageIndicatorBtn[i]->SetLabel(PageindicatorTxt[i]); PageIndicatorBtn[i]->SetSoundOver(btnSoundOver); PageIndicatorBtn[i]->SetSoundClick(btnSoundClick); PageIndicatorBtn[i]->SetTrigger(trigA); PageIndicatorBtn[i]->SetEffectGrow(); - PageIndicatorBtn[i]->SetAlpha(i == currentPage ? 255 : 50); + PageIndicatorBtn[i]->SetAlpha(n == currentPage ? 255 : 50); Append(PageIndicatorBtn[i]); } } @@ -428,17 +440,17 @@ int FlyingButtonsMenu::MainLoop() if(PageIndicatorBtn[i]->GetState() != STATE_CLICKED) continue; - if(i < (u32) currentPage) + if(FirstIndicator+i < (u32) currentPage) { ShowButtonsEffects(EFFECT_SLIDE_RIGHT | EFFECT_SLIDE_OUT, SLIDE_SPEED); - currentPage = i; + currentPage = FirstIndicator+i; AddMainButtons(); ShowButtonsEffects(EFFECT_SLIDE_LEFT | EFFECT_SLIDE_IN, SLIDE_SPEED); } - else if(i > (u32) currentPage) + else if(FirstIndicator+i > (u32) currentPage) { ShowButtonsEffects(EFFECT_SLIDE_LEFT | EFFECT_SLIDE_OUT, SLIDE_SPEED); - currentPage = i; + currentPage = FirstIndicator+i; AddMainButtons(); ShowButtonsEffects(EFFECT_SLIDE_RIGHT | EFFECT_SLIDE_IN, SLIDE_SPEED); } diff --git a/source/settings/menus/FlyingButtonsMenu.hpp b/source/settings/menus/FlyingButtonsMenu.hpp index 49644660..5b24e4f0 100644 --- a/source/settings/menus/FlyingButtonsMenu.hpp +++ b/source/settings/menus/FlyingButtonsMenu.hpp @@ -51,6 +51,7 @@ class FlyingButtonsMenu : public GuiWindow int currentPage; int returnMenu; int ParentMenu; + int FirstIndicator; std::string MenuTitle; enum { diff --git a/source/settings/menus/GameLoadSM.cpp b/source/settings/menus/GameLoadSM.cpp index 4f10c2ea..547dbd41 100644 --- a/source/settings/menus/GameLoadSM.cpp +++ b/source/settings/menus/GameLoadSM.cpp @@ -268,15 +268,19 @@ int GameLoadSM::GetMenuInternal() //! Settings: Partition else if (ret == ++Idx) { + if(DeviceHandler::Instance()->GetUSBHandle()->GetPartitionCount() < 2) + return MENU_NONE; + // Select the next valid partition, even if that's the same one int fs_type = 0; int ios = IOS_GetVersion(); + int retries = 20; do { Settings.partition = (Settings.partition + 1) % DeviceHandler::Instance()->GetUSBHandle()->GetPartitionCount(); fs_type = DeviceHandler::GetUSBFilesystemType(Settings.partition); } - while (!IsValidPartition(fs_type, ios)); + while (!IsValidPartition(fs_type, ios) && --retries > 0); if(fs_type == PART_FS_FAT && Settings.GameSplit == GAMESPLIT_NONE) Settings.GameSplit = GAMESPLIT_4GB; diff --git a/source/themes/ThemeDownloader.cpp b/source/themes/ThemeDownloader.cpp index 7f9037f1..ac82a1ee 100644 --- a/source/themes/ThemeDownloader.cpp +++ b/source/themes/ThemeDownloader.cpp @@ -52,6 +52,28 @@ ThemeDownloader::ThemeDownloader() for(int i = 0; i < 4; ++i) ThemePreviews[i] = NULL; + + + defaultBtnTxt = new GuiText(tr( "Default" ), 22, thColor("r=0 g=0 b=0 a=255 - prompt windows text color")); + defaultBtnTxt->SetMaxWidth(btnOutline->GetWidth() - 30); + defaultBtnImg = new GuiImage(btnOutline); + if (Settings.wsprompt) + { + defaultBtnTxt->SetWidescreen(Settings.widescreen); + defaultBtnImg->SetWidescreen(Settings.widescreen); + } + defaultBtn = new GuiButton(btnOutline->GetWidth(), btnOutline->GetHeight()); + defaultBtn->SetAlignment(ALIGN_CENTRE, ALIGN_TOP); + defaultBtn->SetPosition(-20, 400); + defaultBtn->SetLabel(defaultBtnTxt); + defaultBtn->SetImage(defaultBtnImg); + defaultBtn->SetSoundOver(btnSoundOver); + defaultBtn->SetSoundClick(btnSoundClick2); + defaultBtn->SetTrigger(trigA); + defaultBtn->SetEffectGrow(); + Append(defaultBtn); + + backBtn->SetPosition(-205, 400); } ThemeDownloader::~ThemeDownloader() @@ -60,8 +82,12 @@ ThemeDownloader::~ThemeDownloader() for(u32 i = 0; i < MainButton.size(); ++i) Remove(MainButton[i]); Remove(urlTxt); + Remove(defaultBtn); delete urlTxt; + delete defaultBtn; + delete defaultBtnTxt; + delete defaultBtnImg; delete ThemeList; for(int i = 0; i < 4; ++i) delete ThemePreviews[i]; @@ -83,6 +109,39 @@ int ThemeDownloader::Run() return returnMenu; } +int ThemeDownloader::MainLoop() +{ + if(defaultBtn->GetState() == STATE_CLICKED) + { + int choice = WindowPrompt(0, tr("Do you want to load the default theme?"), tr("Yes"), tr("Cancel")); + if(choice) + { + HaltGui(); + Theme::SetDefault(); + mainWindow->Remove(bgImg); + if(pointer[0]) delete pointer[0]; + if(pointer[1]) delete pointer[1]; + if(pointer[2]) delete pointer[2]; + if(pointer[3]) delete pointer[3]; + pointer[0] = Resources::GetImageData("player1_point.png"); + pointer[1] = Resources::GetImageData("player2_point.png"); + pointer[2] = Resources::GetImageData("player3_point.png"); + pointer[3] = Resources::GetImageData("player4_point.png"); + if(background) delete background; + background = Resources::GetImageData(Settings.widescreen ? "wbackground.png" : "background.png"); + if(bgImg) delete bgImg; + bgImg = new GuiImage(background); + mainWindow->Append(bgImg); + ResumeGui(); + return MENU_THEMEDOWNLOADER; + } + + defaultBtn->ResetState(); + } + + return FlyingButtonsMenu::MainLoop(); +} + void ThemeDownloader::SetMainButton(int position, const char * ButtonText, GuiImageData * imageData, GuiImageData * themeImg) { if(position >= (int) MainButton.size()) @@ -323,7 +382,7 @@ void ThemeDownloader::MainButtonClicked(int button) { result = DownloadTheme(downloadlink, title); if (result == 2) - returnMenu = MENU_THEMEDOWNLOADER;; + returnMenu = MENU_THEMEDOWNLOADER; } mainWindow->SetState(STATE_DISABLED); promptWindow.SetState(STATE_DEFAULT); diff --git a/source/themes/ThemeDownloader.h b/source/themes/ThemeDownloader.h index ba178023..03de636c 100644 --- a/source/themes/ThemeDownloader.h +++ b/source/themes/ThemeDownloader.h @@ -10,6 +10,7 @@ class ThemeDownloader : public FlyingButtonsMenu ThemeDownloader(); ~ThemeDownloader(); static int Run(); + int MainLoop(); protected: void CreateSettingsMenu(int index) { MainButtonClicked(index); }; void MainButtonClicked(int button); @@ -21,6 +22,9 @@ class ThemeDownloader : public FlyingButtonsMenu Theme_List * ThemeList; GuiText * urlTxt; + GuiText * defaultBtnTxt; + GuiImage * defaultBtnImg; + GuiButton * defaultBtn; GuiImageData * ThemePreviews[4]; std::string ThemeListURL; }; diff --git a/source/usbloader/disc.c b/source/usbloader/disc.c index bfeb15f5..8ce856d1 100644 --- a/source/usbloader/disc.c +++ b/source/usbloader/disc.c @@ -243,13 +243,8 @@ s32 Disc_Wait(void) s32 Disc_SetUSB(const u8 *id) { - if (wbfs_part_fs) - return set_frag_list((u8 *) id); - - u32 part = wbfs_part_idx ? wbfs_part_idx - 1 : 0; - /* Set USB mode */ - return WDVD_SetUSBMode((u8 *) id, part); + return WDVD_SetUSBMode((u8 *) id, -1); } s32 Disc_ReadHeader(void *outbuf) diff --git a/source/usbloader/frag.c b/source/usbloader/frag.c index c68d41bb..c6a89bde 100644 --- a/source/usbloader/frag.c +++ b/source/usbloader/frag.c @@ -224,6 +224,13 @@ int get_frag_list_for_file(char *fname, u8 *id) for (j=0; jnum; j++) { fs->frag[j].sector += ext_wbfs_sec; } + } else if (wbfs_part_fs == PART_FS_WBFS) { + // if wbfs file format, remap. + wbfs_disc_t *d = WBFS_OpenDisc(id); + if (!d) { ret_val = -4; WBFS_CloseDisc(d); goto out; } + ret = wbfs_get_fragments(d, &_frag_append, fs); + WBFS_CloseDisc(d); + if (ret) { ret_val = -5; goto out; } } frag_concat(fa, fs); } @@ -267,21 +274,25 @@ int get_frag_list(u8 *id) int set_frag_list(u8 *id) { - if (wbfs_part_fs == PART_FS_WBFS) return 1; if (frag_list == NULL) { return -2; } // (+1 for header which is same size as fragment) int size = sizeof(Fragment) * (frag_list->num + 1); - int ret; - DCFlushRange(frag_list, size); + + u8 * FragListAligned = (u8 *) memalign(32, (size+31)&(~31)); + memcpy(FragListAligned, frag_list, size); + + free(frag_list); + frag_list = NULL; gprintf("Calling WDVD_SetFragList, frag list size %d\n", size); - ret = WDVD_SetFragList(wbfsDev, frag_list, size); - if (ret) { + int ret = WDVD_SetFragList(wbfsDev, FragListAligned, size); + free(FragListAligned); + + if (ret) return ret; - } // verify id matches char discid[8]; diff --git a/source/usbloader/wbfs.cpp b/source/usbloader/wbfs.cpp index 90c24a54..ad9d9af5 100644 --- a/source/usbloader/wbfs.cpp +++ b/source/usbloader/wbfs.cpp @@ -18,7 +18,6 @@ static Wbfs *current = NULL; /* WBFS device */ s32 wbfsDev = WBFS_MIN_DEVICE; -u32 wbfs_part_idx = 0; wbfs_disc_t* WBFS_OpenDisc(u8 *discid) { @@ -74,8 +73,6 @@ s32 WBFS_OpenPart(int part_num) return -1; } - wbfs_part_idx = usbHandle->GetPartitionNum(part_num); - return 0; } diff --git a/source/usbloader/wbfs.h b/source/usbloader/wbfs.h index 7a6d3652..7fac2938 100644 --- a/source/usbloader/wbfs.h +++ b/source/usbloader/wbfs.h @@ -20,14 +20,12 @@ extern "C" extern int wbfs_part_fs; extern s32 wbfsDev; - extern u32 wbfs_part_idx; /* Prototypes */ s32 WBFS_Init(u32); s32 WBFS_Format(u32, u32); s32 WBFS_GetCount(u32 *); s32 WBFS_GetHeaders(struct discHdr *, u32, u32); - // s32 __WBFS_ReadDVD(void *fp, u32 lba, u32 len, void *iobuf); wbfs_t *GetHddInfo(void); s32 WBFS_CheckGame(u8 *); s32 WBFS_AddGame(void); @@ -40,10 +38,6 @@ extern "C" f32 WBFS_EstimeGameSize(void); int WBFS_GetFragList(u8 *id); - /* - s32 __WBFS_ReadUSB(void *fp, u32 lba, u32 count, void *iobuf); - s32 __WBFS_WriteUSB(void *fp, u32 lba, u32 count, void *iobuf); - */ s32 WBFS_OpenPart(int part_num); wbfs_disc_t* WBFS_OpenDisc(u8 *discid); diff --git a/source/usbloader/wbfs/wbfs_wbfs.cpp b/source/usbloader/wbfs/wbfs_wbfs.cpp index 3814b9ca..3e94434b 100644 --- a/source/usbloader/wbfs/wbfs_wbfs.cpp +++ b/source/usbloader/wbfs/wbfs_wbfs.cpp @@ -181,3 +181,10 @@ f32 Wbfs_Wbfs::EstimateGameSize() partition_selector_t part_sel = (partition_selector_t) Settings.InstallPartitions; return wbfs_estimate_disc(hdd, __ReadDVD, NULL, part_sel); } + +s32 Wbfs_Wbfs::GetFragList(u8 *id) +{ + //! Doesn't have to be called ".iso" just something different than .wbfs but with a dot. + //! So that the code doesn't fail. + return get_frag_list_for_file((char *) ".iso", id); +} diff --git a/source/usbloader/wbfs/wbfs_wbfs.h b/source/usbloader/wbfs/wbfs_wbfs.h index b2490d98..5ba702ca 100644 --- a/source/usbloader/wbfs/wbfs_wbfs.h +++ b/source/usbloader/wbfs/wbfs_wbfs.h @@ -30,6 +30,7 @@ class Wbfs_Wbfs: public Wbfs s32 ReIDGame(u8 *, const void *); f32 EstimateGameSize(); + int GetFragList(u8 *id); }; #endif //_WBFS_WBFS_H