sync to sourceforce r1267

* Set Nintendont as default gamecube mode for new loader install.
* Set the Nintendont video scale option on 2 lines.
* Added the Nintendont video scale option to individual game settings.
* Added parental control option to block change of loader's Layout (requested)
* Updated Language : FR, PT-BR, IT
This commit is contained in:
Cyan 2017-12-14 18:38:14 +01:00
parent b0352c301e
commit 92af55325c
32 changed files with 56028 additions and 55641 deletions

View File

@ -2,8 +2,8 @@
<app version="1"> <app version="1">
<name> USB Loader GX</name> <name> USB Loader GX</name>
<coder>USB Loader GX Team</coder> <coder>USB Loader GX Team</coder>
<version>3.0 r1264</version> <version>3.0 r1267</version>
<release_date>20170810090107</release_date> <release_date>20171214150718</release_date>
<!-- // remove this line to enable arguments <!-- // remove this line to enable arguments
<arguments> <arguments>
<arg>--ios=250</arg> <arg>--ios=250</arg>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: USB Loader GX\n" "Project-Id-Version: USB Loader GX\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-19 14:43+0200\n" "POT-Creation-Date: 2017-12-14 15:50+0100\n"
"Last-Translator: nakata6790\n" "Last-Translator: nakata6790\n"
"Language-Team: nakata6790 (aka0107@gmail.com)\n" "Language-Team: nakata6790 (aka0107@gmail.com)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -277,6 +277,9 @@ msgstr "ÖñáãÞ ñõèìßóåùí óêëçñïý äßóêïõ"
msgid "Block IOS Reload" msgid "Block IOS Reload"
msgstr "ÖñáãÞ åðáíáöüñôùóçò IOS" msgstr "ÖñáãÞ åðáíáöüñôùóçò IOS"
msgid "Block Loader Layout Button"
msgstr ""
msgid "Block Loader Mode Button" msgid "Block Loader Mode Button"
msgstr "ÖñáãÞ åéêïíéäßïõ åðéëïãÞò ðáé÷íéäéþí" msgstr "ÖñáãÞ åéêïíéäßïõ åðéëïãÞò ðáé÷íéäéþí"
@ -325,6 +328,9 @@ msgstr "êáé ôá äõï"
msgid "Both Ports" msgid "Both Ports"
msgstr "êáé ïé 2 èýñåò" msgstr "êáé ïé 2 èýñåò"
msgid "CC Rumble"
msgstr ""
msgid "Cache BNR Files" msgid "Cache BNR Files"
msgstr "áðïèÞêåõóç áñ÷åßùí BNR" msgstr "áðïèÞêåõóç áñ÷åßùí BNR"
@ -1400,6 +1406,9 @@ msgstr "ÂáóéêÞ ôïðïèåóßá GameCube"
msgid "Main Path" msgid "Main Path"
msgstr "ÂáóéêÞ ôïðïèåóßá" msgstr "ÂáóéêÞ ôïðïèåóßá"
msgid "Manual (40~120)"
msgstr ""
msgid "Mar" msgid "Mar"
msgstr "MÜñôéïò" msgstr "MÜñôéïò"
@ -1934,6 +1943,9 @@ msgstr "Êëåßóéìï Wii"
msgid "Skip Errors" msgid "Skip Errors"
msgstr "Áãíüçóç óöáëìÜôùí" msgstr "Áãíüçóç óöáëìÜôùí"
msgid "Skip IPL"
msgstr ""
msgid "Sneek Video Patch" msgid "Sneek Video Patch"
msgstr "Patch åéêüíáò ãéá sneek" msgstr "Patch åéêüíáò ãéá sneek"
@ -2292,6 +2304,9 @@ msgstr ""
msgid "Video Mode" msgid "Video Mode"
msgstr "Ñýèìéóç âßíôåï" msgstr "Ñýèìéóç âßíôåï"
msgid "Video Scale Value"
msgstr ""
msgid "Video offset" msgid "Video offset"
msgstr "" msgstr ""

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1138,6 +1138,12 @@ int GameBrowseMenu::MainLoop()
else if (listBtn->GetState() == STATE_CLICKED) else if (listBtn->GetState() == STATE_CLICKED)
{ {
if (!Settings.godmode && (Settings.ParentalBlocks & BLOCK_LOADER_LAYOUT_BUTTON))
{
WindowPrompt(tr( "Permission denied." ), tr( "Console must be unlocked for this option." ), tr( "OK" ));
listBtn->ResetState();
return returnMenu;
}
gprintf("\tlistBtn Clicked\n"); gprintf("\tlistBtn Clicked\n");
if (Settings.gameDisplay != LIST_MODE) if (Settings.gameDisplay != LIST_MODE)
{ {
@ -1149,6 +1155,12 @@ int GameBrowseMenu::MainLoop()
else if (gridBtn->GetState() == STATE_CLICKED) else if (gridBtn->GetState() == STATE_CLICKED)
{ {
if (!Settings.godmode && (Settings.ParentalBlocks & BLOCK_LOADER_LAYOUT_BUTTON))
{
WindowPrompt(tr( "Permission denied." ), tr( "Console must be unlocked for this option." ), tr( "OK" ));
gridBtn->ResetState();
return returnMenu;
}
gprintf("\tgridBtn Clicked\n"); gprintf("\tgridBtn Clicked\n");
if (Settings.gameDisplay != GRID_MODE) if (Settings.gameDisplay != GRID_MODE)
{ {
@ -1160,6 +1172,12 @@ int GameBrowseMenu::MainLoop()
else if (carouselBtn->GetState() == STATE_CLICKED) else if (carouselBtn->GetState() == STATE_CLICKED)
{ {
if (!Settings.godmode && (Settings.ParentalBlocks & BLOCK_LOADER_LAYOUT_BUTTON))
{
WindowPrompt(tr( "Permission denied." ), tr( "Console must be unlocked for this option." ), tr( "OK" ));
carouselBtn->ResetState();
return returnMenu;
}
gprintf("\tcarouselBtn Clicked\n"); gprintf("\tcarouselBtn Clicked\n");
if (Settings.gameDisplay != CAROUSEL_MODE) if (Settings.gameDisplay != CAROUSEL_MODE)
{ {
@ -1171,6 +1189,12 @@ int GameBrowseMenu::MainLoop()
else if (bannerGridBtn->GetState() == STATE_CLICKED) else if (bannerGridBtn->GetState() == STATE_CLICKED)
{ {
if (!Settings.godmode && (Settings.ParentalBlocks & BLOCK_LOADER_LAYOUT_BUTTON))
{
WindowPrompt(tr( "Permission denied." ), tr( "Console must be unlocked for this option." ), tr( "OK" ));
bannerGridBtn->ResetState();
return returnMenu;
}
gprintf("\tbannerGridBtn Clicked\n"); gprintf("\tbannerGridBtn Clicked\n");
if(!SystemMenuResources::Instance()->IsLoaded()) { if(!SystemMenuResources::Instance()->IsLoaded()) {
WindowPrompt(tr( "Error:" ), tr( "Banner grid layout is only available with AHBPROT! Please consider installing new HBC version." ), tr( "OK" )); WindowPrompt(tr( "Error:" ), tr( "Banner grid layout is only available with AHBPROT! Please consider installing new HBC version." ), tr( "OK" ));

View File

@ -172,7 +172,7 @@ void CSettings::SetDefault()
BannerProjectionWidth = (Settings.widescreen ? (Settings.PAL50 ? 616 : 620.0f) : 608.0f); BannerProjectionWidth = (Settings.widescreen ? (Settings.PAL50 ? 616 : 620.0f) : 608.0f);
BannerProjectionHeight = (Settings.PAL50 ? 448.0f : (NTSC ? 470.0f : 464.0f)); BannerProjectionHeight = (Settings.PAL50 ? 448.0f : (NTSC ? 470.0f : 464.0f));
GCBannerScale = 1.5f; GCBannerScale = 1.5f;
GameCubeMode = GC_MODE_MIOS; GameCubeMode = GC_MODE_NINTENDONT;
GameCubeSource = AUTO; GameCubeSource = AUTO;
MultiDiscPrompt = OFF; MultiDiscPrompt = OFF;
DMLVideo = DML_VIDEO_AUTO; DMLVideo = DML_VIDEO_AUTO;

View File

@ -267,6 +267,7 @@ enum
BLOCK_PRIILOADER_OVERRIDE = 0x200000, BLOCK_PRIILOADER_OVERRIDE = 0x200000,
BLOCK_LOADER_MODE_BUTTON = 0x400000, BLOCK_LOADER_MODE_BUTTON = 0x400000,
BLOCK_BANNER_SETTINGS = 0x800000, BLOCK_BANNER_SETTINGS = 0x800000,
BLOCK_LOADER_LAYOUT_BUTTON = 0x1000000,
BLOCK_ALL = 0xFFFFFFFF BLOCK_ALL = 0xFFFFFFFF
}; };

View File

@ -194,6 +194,8 @@ void GCGameLoadSM::SetOptionNames()
Options->SetName(Idx++, "%s", tr( "Force Widescreen" )); Options->SetName(Idx++, "%s", tr( "Force Widescreen" ));
Options->SetName(Idx++, "%s", tr( "WiiU Widescreen" )); Options->SetName(Idx++, "%s", tr( "WiiU Widescreen" ));
Options->SetName(Idx++, "%s", tr( "Video scale" )); Options->SetName(Idx++, "%s", tr( "Video scale" ));
if(GameConfig.NINVideoScale > 0)
Options->SetName(Idx++, "%s", tr( "Video Scale Value" ));
Options->SetName(Idx++, "%s", tr( "Video offset" )); Options->SetName(Idx++, "%s", tr( "Video offset" ));
Options->SetName(Idx++, "%s", tr( "Ocarina" )); Options->SetName(Idx++, "%s", tr( "Ocarina" ));
Options->SetName(Idx++, "%s", tr( "Remove Read Speed Limit" )); Options->SetName(Idx++, "%s", tr( "Remove Read Speed Limit" ));
@ -377,9 +379,14 @@ void GCGameLoadSM::SetOptionValues()
//! Settings: NIN VideoScale //! Settings: NIN VideoScale
if(GameConfig.NINVideoScale == INHERIT) if(GameConfig.NINVideoScale == INHERIT)
Options->SetValue(Idx++, tr("Use global")); Options->SetValue(Idx++, tr("Use global"));
else if(GameConfig.NINVideoScale == 0)
Options->SetValue(Idx++, tr("Auto"));
else else
Options->SetValue(Idx++, "%d (40~120)", GameConfig.NINVideoScale); Options->SetValue(Idx++, "Manual (40~120)");
if(GameConfig.NINVideoScale > 0)
Options->SetValue(Idx++, "%d", GameConfig.NINVideoScale);
//! Settings: NIN VideoOffset //! Settings: NIN VideoOffset
if(GameConfig.NINVideoOffset == INHERIT-20) if(GameConfig.NINVideoOffset == INHERIT-20)
Options->SetValue(Idx++, tr("Use global")); Options->SetValue(Idx++, tr("Use global"));
@ -716,16 +723,23 @@ int GCGameLoadSM::GetMenuInternal()
//! Settings: NIN VideoScale //! Settings: NIN VideoScale
else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx) else if (currentGCmode == GC_MODE_NINTENDONT && ret == ++Idx)
{
if (GameConfig.NINVideoScale == INHERIT) GameConfig.NINVideoScale = 0;
else if (GameConfig.NINVideoScale == 0) GameConfig.NINVideoScale = 40;
else if (GameConfig.NINVideoScale >= 0) GameConfig.NINVideoScale = INHERIT;
Options->ClearList();
SetOptionNames();
SetOptionValues();
}
else if (currentGCmode == GC_MODE_NINTENDONT && GameConfig.NINVideoScale > 0 && ret == ++Idx)
{ {
char entrie[20]; char entrie[20];
snprintf(entrie, sizeof(entrie), "%i", GameConfig.NINVideoScale); snprintf(entrie, sizeof(entrie), "%i", GameConfig.NINVideoScale);
int ret = OnScreenNumpad(entrie, sizeof(entrie)); int ret = OnScreenNumpad(entrie, sizeof(entrie));
if(ret) if(ret)
{ {
if(atoi(entrie) == -1) GameConfig.NINVideoScale = LIMIT(atoi(entrie), 40, 120);
GameConfig.NINVideoScale = -1;
else
GameConfig.NINVideoScale = LIMIT(atoi(entrie), 40, 120);
} }
} }

View File

@ -187,6 +187,43 @@ static const char * PrivServText[] =
LoaderSettings::LoaderSettings() LoaderSettings::LoaderSettings()
: SettingsMenu(tr("Loader Settings"), &GuiOptions, MENU_NONE) : SettingsMenu(tr("Loader Settings"), &GuiOptions, MENU_NONE)
{
SetOptionNames();
SetOptionValues();
oldLoaderMode = Settings.LoaderMode;
oldGameCubeSource = Settings.GameCubeSource;
oldLoaderIOS = Settings.LoaderIOS;
}
LoaderSettings::~LoaderSettings()
{
if(oldLoaderMode != Settings.LoaderMode)
{
if(Settings.LoaderMode & MODE_WIIGAMES && (gameList.GameCount() == 0))
{
WBFS_ReInit(WBFS_DEVICE_USB);
gameList.ReadGameList();
}
gameList.LoadUnfiltered();
GameTitles.LoadTitlesFromGameTDB(Settings.titlestxt_path, false);
}
if(oldGameCubeSource != Settings.GameCubeSource)
{
GCGames::Instance()->LoadAllGames();
}
if(oldLoaderIOS != Settings.LoaderIOS)
{
// edit meta.xml arguments
editMetaArguments();
}
}
void LoaderSettings::SetOptionNames()
{ {
int Idx = 0; int Idx = 0;
@ -233,6 +270,10 @@ LoaderSettings::LoaderSettings()
Options->SetName(Idx++, "%s", tr( "PAL50 Patch" )); Options->SetName(Idx++, "%s", tr( "PAL50 Patch" ));
Options->SetName(Idx++, "%s", tr( "WiiU Widescreen" )); Options->SetName(Idx++, "%s", tr( "WiiU Widescreen" ));
Options->SetName(Idx++, "%s", tr( "Video scale" )); Options->SetName(Idx++, "%s", tr( "Video scale" ));
if(Settings.NINVideoScale != 0)
{
Options->SetName(Idx++, "%s", tr( "Video Scale Value" ));
}
Options->SetName(Idx++, "%s", tr( "Video offset" )); Options->SetName(Idx++, "%s", tr( "Video offset" ));
Options->SetName(Idx++, "%s", tr( "Remove Read Speed Limit" )); Options->SetName(Idx++, "%s", tr( "Remove Read Speed Limit" ));
Options->SetName(Idx++, "%s", tr( "Triforce Arcade Mode" )); Options->SetName(Idx++, "%s", tr( "Triforce Arcade Mode" ));
@ -256,37 +297,6 @@ LoaderSettings::LoaderSettings()
Options->SetName(Idx++, "%s", tr( "Crop Overscan" )); Options->SetName(Idx++, "%s", tr( "Crop Overscan" ));
Options->SetName(Idx++, "%s", tr( "Disc Read Delay" )); Options->SetName(Idx++, "%s", tr( "Disc Read Delay" ));
SetOptionValues();
oldLoaderMode = Settings.LoaderMode;
oldGameCubeSource = Settings.GameCubeSource;
oldLoaderIOS = Settings.LoaderIOS;
}
LoaderSettings::~LoaderSettings()
{
if(oldLoaderMode != Settings.LoaderMode)
{
if(Settings.LoaderMode & MODE_WIIGAMES && (gameList.GameCount() == 0))
{
WBFS_ReInit(WBFS_DEVICE_USB);
gameList.ReadGameList();
}
gameList.LoadUnfiltered();
GameTitles.LoadTitlesFromGameTDB(Settings.titlestxt_path, false);
}
if(oldGameCubeSource != Settings.GameCubeSource)
{
GCGames::Instance()->LoadAllGames();
}
if(oldLoaderIOS != Settings.LoaderIOS)
{
// edit meta.xml arguments
editMetaArguments();
}
} }
void LoaderSettings::SetOptionValues() void LoaderSettings::SetOptionValues()
@ -432,7 +442,14 @@ void LoaderSettings::SetOptionValues()
Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.NINWiiUWide])); Options->SetValue(Idx++, "%s", tr(OnOffText[Settings.NINWiiUWide]));
//! Settings: NIN VideoScale //! Settings: NIN VideoScale
Options->SetValue(Idx++, "%d (0, 40~120)", Settings.NINVideoScale); if(Settings.NINVideoScale == 0)
Options->SetValue(Idx++, "%s", tr("Auto"));
else
{
Options->SetValue(Idx++, "%s", tr("Manual (40~120)"));
Options->SetValue(Idx++, "%d", Settings.NINVideoScale);
}
//! Settings: NIN VideoOffset //! Settings: NIN VideoOffset
Options->SetValue(Idx++, "%d (-20~20)", Settings.NINVideoOffset); Options->SetValue(Idx++, "%d (-20~20)", Settings.NINVideoOffset);
@ -810,12 +827,20 @@ int LoaderSettings::GetMenuInternal()
//! Settings: NIN VideoScale //! Settings: NIN VideoScale
else if (ret == ++Idx) else if (ret == ++Idx)
{
Settings.NINVideoScale == 0 ? Settings.NINVideoScale = 40 : Settings.NINVideoScale = 0;
Options->ClearList();
SetOptionNames();
SetOptionValues();
}
else if (Settings.NINVideoScale != 0 && ret == ++Idx)
{ {
char entrie[20]; char entrie[20];
snprintf(entrie, sizeof(entrie), "%i", Settings.NINVideoScale); snprintf(entrie, sizeof(entrie), "%i", Settings.NINVideoScale);
int ret = OnScreenNumpad(entrie, sizeof(entrie)); int ret = OnScreenNumpad(entrie, sizeof(entrie));
if(ret) if(ret)
Settings.NINVideoScale = (atoi(entrie) == 0) ? 0 : LIMIT(atoi(entrie), 40, 120); Settings.NINVideoScale = LIMIT(atoi(entrie), 40, 120);
} }
//! Settings: NIN VideoOffset //! Settings: NIN VideoOffset

View File

@ -32,6 +32,7 @@ class LoaderSettings : public SettingsMenu
LoaderSettings(); LoaderSettings();
~LoaderSettings(); ~LoaderSettings();
protected: protected:
void SetOptionNames();
void SetOptionValues(); void SetOptionValues();
int GetMenuInternal(); int GetMenuInternal();

View File

@ -80,6 +80,7 @@ ParentalControlSM::ParentalControlSM()
Options->SetName(Idx++, "%s", tr( "Block SD Reload Button" )); Options->SetName(Idx++, "%s", tr( "Block SD Reload Button" ));
Options->SetName(Idx++, "%s", tr( "Block Priiloader Override" )); Options->SetName(Idx++, "%s", tr( "Block Priiloader Override" ));
Options->SetName(Idx++, "%s", tr( "Block Loader Mode Button" )); Options->SetName(Idx++, "%s", tr( "Block Loader Mode Button" ));
Options->SetName(Idx++, "%s", tr( "Block Loader Layout Button" ));
SetOptionValues(); SetOptionValues();
} }
@ -179,6 +180,9 @@ void ParentalControlSM::SetOptionValues()
//! Settings: Block Loader Mode Button //! Settings: Block Loader Mode Button
Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_LOADER_MODE_BUTTON) != 0)])); Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_LOADER_MODE_BUTTON) != 0)]));
//! Settings: Block Loader Layout Button
Options->SetValue(Idx++, "%s", tr(OnOffText[((Settings.ParentalBlocks & BLOCK_LOADER_LAYOUT_BUTTON) != 0)]));
} }
int ParentalControlSM::GetMenuInternal() int ParentalControlSM::GetMenuInternal()
@ -390,6 +394,12 @@ int ParentalControlSM::GetMenuInternal()
Settings.ParentalBlocks ^= BLOCK_LOADER_MODE_BUTTON; Settings.ParentalBlocks ^= BLOCK_LOADER_MODE_BUTTON;
} }
//! Settings: Block Loader Layout Button
else if (ret == ++Idx)
{
Settings.ParentalBlocks ^= BLOCK_LOADER_LAYOUT_BUTTON;
}
SetOptionValues(); SetOptionValues();
return MENU_NONE; return MENU_NONE;

View File

@ -214,12 +214,12 @@ void Sys_LoadHBC(void)
WII_Initialize(); WII_Initialize();
// Try launching all known HBC titles in reversed released order // Try launching all known HBC titles in reversed released order
// Can't use HBC Stub address here as it's overwritten with forwarder's TitleID for "return to" feature.
WII_LaunchTitle(HBC_OHBC); WII_LaunchTitle(HBC_OHBC);
WII_LaunchTitle(HBC_LULZ); WII_LaunchTitle(HBC_LULZ);
WII_LaunchTitle(HBC_1_0_7); WII_LaunchTitle(HBC_1_0_7);
WII_LaunchTitle(HBC_JODI); WII_LaunchTitle(HBC_JODI);
WII_LaunchTitle(HBC_HAXX); WII_LaunchTitle(HBC_HAXX);
//Todo : jump to 0x80001800, which is what libogc does when you return from main(), not hardcode any ID, so it works with everything
//Back to system menu if all fails //Back to system menu if all fails
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0); SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);