*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
This commit is contained in:
dimok321 2011-01-07 22:42:03 +00:00
parent 2c268af0f9
commit 4f7ccef2ec
41 changed files with 643 additions and 484 deletions

View File

@ -2,8 +2,8 @@
<app version="1">
<name> USB Loader GX</name>
<coder>USB Loader GX Team</coder>
<version>1.0 r1032</version>
<release_date>201101021920</release_date>
<version>1.0 r1033</version>
<release_date>201101061900</release_date>
<no_ios_reload/>
<short_description>Loads games from USB-devices</short_description>
<long_description>USB Loader GX is a libwiigui based USB iso loader with a wii-like GUI. You can install games to your HDDs and boot them with shorter loading times.

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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 ?"

View File

@ -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?"

View File

@ -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 ""

View File

@ -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?"

View File

@ -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 "このテーマを読み込みますか?"

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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 <sky8000@hotmail.com>\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 ""

View File

@ -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 ""

View File

@ -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 "是否载入这个主题?"

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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 "是否要載入這佈景主題嗎?"

View File

@ -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 ""

View File

@ -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 ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-01-01 21:47+0100\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"
@ -237,7 +237,7 @@ msgstr ""
msgid "256 - grid layout search btn pos x widescreen"
msgstr ""
msgid "13 - grid layout search btn pos x"
msgid "13 - grid layout search btn pos y"
msgstr ""
msgid "280 - grid layout abc/sort btn pos x"
@ -315,7 +315,7 @@ msgstr ""
msgid "256 - carousel layout search btn pos x widescreen"
msgstr ""
msgid "13 - carousel layout search btn pos x"
msgid "13 - carousel layout search btn pos y"
msgstr ""
msgid "280 - carousel layout abc/sort btn pos x"
@ -378,10 +378,10 @@ msgstr ""
msgid "640 - game carousel layout width"
msgstr ""
msgid "-20 - game carousel layout pos y"
msgid "0 - game carousel layout pos x"
msgstr ""
msgid "0 - game carousel layout pos x"
msgid "0 - game carousel layout pos y"
msgstr ""
msgid "1 - show hdd info: 1 for on and 0 for off"
@ -396,7 +396,7 @@ msgstr ""
msgid "r=55 g=190 b=237 a=255 - region info text color"
msgstr ""
msgid "30 - region info text pos x"
msgid "30 - region info text pos y"
msgstr ""
msgid "68 - region info text pos x"

View File

@ -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
{

View File

@ -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)

View File

@ -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)

View File

@ -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, '/');

View File

@ -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"

View File

@ -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);

View File

@ -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);
}

View File

@ -51,6 +51,7 @@ class FlyingButtonsMenu : public GuiWindow
int currentPage;
int returnMenu;
int ParentMenu;
int FirstIndicator;
std::string MenuTitle;
enum
{

View File

@ -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;

View File

@ -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);

View File

@ -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;
};

View File

@ -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)

View File

@ -224,6 +224,13 @@ int get_frag_list_for_file(char *fname, u8 *id)
for (j=0; j<fs->num; 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];

View File

@ -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;
}

View File

@ -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);

View File

@ -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);
}

View File

@ -30,6 +30,7 @@ class Wbfs_Wbfs: public Wbfs
s32 ReIDGame(u8 *, const void *);
f32 EstimateGameSize();
int GetFragList(u8 *id);
};
#endif //_WBFS_WBFS_H