-added option to disable IOS reload block for wii games and channels

This commit is contained in:
fix94.1 2012-01-27 11:43:31 +00:00
parent 0dac7f7b27
commit aa5c1acba5
11 changed files with 81 additions and 37 deletions

View File

@ -37,7 +37,7 @@ typedef struct _dolheader{
u32 entryPoint; u32 entryPoint;
s32 BootChannel(u8 *data, u64 chantitle, u8 vidMode, bool vipatch, bool countryString, u8 patchVidMode) s32 BootChannel(u8 *data, u64 chantitle, u8 vidMode, bool vipatch, bool countryString, u8 patchVidMode, bool disableIOSreload)
{ {
u32 ios; u32 ios;
Identify(chantitle, &ios); Identify(chantitle, &ios);
@ -60,7 +60,10 @@ s32 BootChannel(u8 *data, u64 chantitle, u8 vidMode, bool vipatch, bool countryS
entrypoint appJump = (entrypoint)entryPoint; entrypoint appJump = (entrypoint)entryPoint;
IOSReloadBlock(IOS_GetVersion()); if (disableIOSreload)
IOSReloadBlock(IOS_GetVersion(), false);
else
IOSReloadBlock(IOS_GetVersion(), true);
/* Set an appropriate video mode */ /* Set an appropriate video mode */
__Disc_SetVMode(); __Disc_SetVMode();

View File

@ -8,7 +8,7 @@ extern "C" {
#include <gctypes.h> #include <gctypes.h>
#include <gccore.h> #include <gccore.h>
s32 BootChannel(u8 *data, u64 chantitle, u8 vidMode, bool vipatch, bool countryString, u8 patchVidMode); s32 BootChannel(u8 *data, u64 chantitle, u8 vidMode, bool vipatch, bool countryString, u8 patchVidMode, bool disableIOSreload);
u32 LoadChannel(u8 *buffer); u32 LoadChannel(u8 *buffer);
void PatchChannel(u8 vidMode, GXRModeObj *vmode, bool vipatch, bool countryString, u8 patchVidModes); void PatchChannel(u8 vidMode, GXRModeObj *vmode, bool vipatch, bool countryString, u8 patchVidModes);

View File

@ -103,9 +103,9 @@ u8 Channels::GetRequestedIOS(u64 title)
return IOS; return IOS;
} }
bool Channels::Launch(u8 *data, u64 chantitle, u8 vidMode, bool vipatch, bool countryString, u8 patchVidMode) bool Channels::Launch(u8 *data, u64 chantitle, u8 vidMode, bool vipatch, bool countryString, u8 patchVidMode, bool disableIOSreload)
{ {
return BootChannel(data, chantitle, vidMode, vipatch, countryString, patchVidMode); return BootChannel(data, chantitle, vidMode, vipatch, countryString, patchVidMode, disableIOSreload);
} }
u64* Channels::GetChannelList(u32* count) u64* Channels::GetChannelList(u32* count)

View File

@ -56,7 +56,7 @@ class Channels
u8 * Load(u64 title, char* id); u8 * Load(u64 title, char* id);
u8 GetRequestedIOS(u64 title); u8 GetRequestedIOS(u64 title);
bool Launch(u8 *data, u64 chantitle, u8 vidMode, bool vipatch, bool countryString, u8 patchVidMode); bool Launch(u8 *data, u64 chantitle, u8 vidMode, bool vipatch, bool countryString, u8 patchVidMode, bool disableIOSreload);
int Count(); int Count();
wchar_t *GetName(int index); wchar_t *GetName(int index);

View File

@ -339,11 +339,14 @@ s32 Disc_IsGC(void)
return Disc_Type(1); return Disc_Type(1);
} }
s32 Disc_BootPartition(u64 offset, u8 vidMode, bool vipatch, bool countryString, u8 patchVidMode) s32 Disc_BootPartition(u64 offset, u8 vidMode, bool vipatch, bool countryString, u8 patchVidMode, bool disableIOSreload)
{ {
entry_point p_entry; entry_point p_entry;
IOSReloadBlock(IOS_GetVersion()); if (disableIOSreload)
IOSReloadBlock(IOS_GetVersion(), false);
else
IOSReloadBlock(IOS_GetVersion(), true);
s32 ret = WDVD_OpenPartition(offset, 0, 0, 0, Tmd_Buffer); s32 ret = WDVD_OpenPartition(offset, 0, 0, 0, Tmd_Buffer);
if (ret < 0) return ret; if (ret < 0) return ret;
@ -422,7 +425,7 @@ s32 Disc_BootPartition(u64 offset, u8 vidMode, bool vipatch, bool countryString,
return 0; return 0;
} }
s32 Disc_WiiBoot(u8 vidMode, bool vipatch, bool countryString, u8 patchVidModes) s32 Disc_WiiBoot(u8 vidMode, bool vipatch, bool countryString, u8 patchVidModes, bool disableIOSreload)
{ {
u64 offset; u64 offset;
@ -431,5 +434,5 @@ s32 Disc_WiiBoot(u8 vidMode, bool vipatch, bool countryString, u8 patchVidModes)
if (ret < 0) return ret; if (ret < 0) return ret;
/* Boot partition */ /* Boot partition */
return Disc_BootPartition(offset, vidMode, vipatch, countryString, patchVidModes); return Disc_BootPartition(offset, vidMode, vipatch, countryString, patchVidModes, disableIOSreload);
} }

View File

@ -102,8 +102,8 @@ extern "C" {
s32 Disc_Type(bool); s32 Disc_Type(bool);
s32 Disc_IsWii(void); s32 Disc_IsWii(void);
s32 Disc_IsGC(void); s32 Disc_IsGC(void);
s32 Disc_BootPartition(u64, u8, bool, bool, u8); s32 Disc_BootPartition(u64, u8, bool, bool, u8, bool);
s32 Disc_WiiBoot(u8, bool, bool, u8); s32 Disc_WiiBoot(u8, bool, bool, u8, bool);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -246,32 +246,34 @@ void vidolpatcher(void *addr, u32 len)
} }
} }
s32 IOSReloadBlock(u8 reqios) s32 IOSReloadBlock(u8 reqios, bool enable)
{ {
s32 ESHandle = IOS_Open("/dev/es", 0); s32 ESHandle = IOS_Open("/dev/es", 0);
if (ESHandle < 0) if (ESHandle < 0)
{ {
gprintf("Reload IOS Block failed, cannot open /dev/es\n"); gprintf("Reload IOS Block failed, cannot open /dev/es\n");
return ESHandle; return ESHandle;
} }
static ioctlv vector[2] ATTRIBUTE_ALIGN(32); static ioctlv vector[2] ATTRIBUTE_ALIGN(32);
static u32 mode ATTRIBUTE_ALIGN(32); static u32 mode ATTRIBUTE_ALIGN(32);
static u32 ios ATTRIBUTE_ALIGN(32); static u32 ios ATTRIBUTE_ALIGN(32);
mode = 2; mode = enable ? 2 : 0;
vector[0].data = &mode; vector[0].data = &mode;
vector[0].len = sizeof(u32); vector[0].len = sizeof(u32);
ios = reqios; if (enable) {
vector[1].data = &ios; ios = reqios;
vector[1].len = sizeof(u32); vector[1].data = &ios;
vector[1].len = sizeof(u32);
}
s32 r = IOS_Ioctlv(ESHandle, 0xA0, 2, 0, vector); s32 r = IOS_Ioctlv(ESHandle, 0xA0, 2, 0, vector);
gprintf("Enable/Disable Block IOS Reload for cIOS%uv%u %s\n", IOS_GetVersion(), IOS_GetRevision() % 100, r < 0 ? "FAILED!" : "SUCCEEDED!"); gprintf("Enable/Disable Block IOS Reload for cIOS%uv%u %s\n", IOS_GetVersion(), IOS_GetRevision() % 100, r < 0 ? "FAILED!" : "SUCCEEDED!");
IOS_Close(ESHandle); IOS_Close(ESHandle);
return r; return r;
} }

View File

@ -33,7 +33,7 @@ u8 configbytes[2];
bool dogamehooks(void *addr, u32 len, bool channel); bool dogamehooks(void *addr, u32 len, bool channel);
void langpatcher(void *addr, u32 len); void langpatcher(void *addr, u32 len);
void vidolpatcher(void *addr, u32 len); void vidolpatcher(void *addr, u32 len);
s32 IOSReloadBlock(u8 reqios); s32 IOSReloadBlock(u8 reqios, bool enable);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -324,10 +324,15 @@ private:
u32 m_gameSettingsLblVideo; u32 m_gameSettingsLblVideo;
u32 m_gameSettingsBtnVideoP; u32 m_gameSettingsBtnVideoP;
u32 m_gameSettingsBtnVideoM; u32 m_gameSettingsBtnVideoM;
u32 m_gameSettingsLblDMLGameVideo; u32 m_gameSettingsLblDMLGameVideo;
u32 m_gameSettingsLblDMLVideo; u32 m_gameSettingsLblDMLVideo;
u32 m_gameSettingsBtnDMLVideoP; u32 m_gameSettingsBtnDMLVideoP;
u32 m_gameSettingsBtnDMLVideoM; u32 m_gameSettingsBtnDMLVideoM;
u32 m_gameSettingsLblIOSreloadBlock;
u32 m_gameSettingsBtnIOSreloadBlock;
u32 m_gameSettingsLblOcarina; u32 m_gameSettingsLblOcarina;
u32 m_gameSettingsBtnOcarina; u32 m_gameSettingsBtnOcarina;
u32 m_gameSettingsLblVipatch; u32 m_gameSettingsLblVipatch;

View File

@ -36,6 +36,8 @@ void CMenu::_hideGameSettings(bool instant)
m_btnMgr.hide(m_gameSettingsLblDMLVideo, instant); m_btnMgr.hide(m_gameSettingsLblDMLVideo, instant);
m_btnMgr.hide(m_gameSettingsBtnDMLVideoP, instant); m_btnMgr.hide(m_gameSettingsBtnDMLVideoP, instant);
m_btnMgr.hide(m_gameSettingsBtnDMLVideoM, instant); m_btnMgr.hide(m_gameSettingsBtnDMLVideoM, instant);
m_btnMgr.hide(m_gameSettingsLblIOSreloadBlock, instant);
m_btnMgr.hide(m_gameSettingsBtnIOSreloadBlock, instant);
m_btnMgr.hide(m_gameSettingsLblOcarina, instant); m_btnMgr.hide(m_gameSettingsLblOcarina, instant);
m_btnMgr.hide(m_gameSettingsBtnOcarina, instant); m_btnMgr.hide(m_gameSettingsBtnOcarina, instant);
m_btnMgr.hide(m_gameSettingsLblCheat, instant); m_btnMgr.hide(m_gameSettingsLblCheat, instant);
@ -247,6 +249,12 @@ void CMenu::_showGameSettings(void)
m_btnMgr.show(m_gameSettingsLblIOS); m_btnMgr.show(m_gameSettingsLblIOS);
m_btnMgr.show(m_gameSettingsBtnIOSP); m_btnMgr.show(m_gameSettingsBtnIOSP);
m_btnMgr.show(m_gameSettingsBtnIOSM); m_btnMgr.show(m_gameSettingsBtnIOSM);
if (m_current_view != COVERFLOW_HOMEBREW)
{
m_btnMgr.show(m_gameSettingsLblIOSreloadBlock);
m_btnMgr.show(m_gameSettingsBtnIOSreloadBlock);
}
} }
else else
{ {
@ -254,6 +262,9 @@ void CMenu::_showGameSettings(void)
m_btnMgr.hide(m_gameSettingsLblIOS); m_btnMgr.hide(m_gameSettingsLblIOS);
m_btnMgr.hide(m_gameSettingsBtnIOSP); m_btnMgr.hide(m_gameSettingsBtnIOSP);
m_btnMgr.hide(m_gameSettingsBtnIOSM); m_btnMgr.hide(m_gameSettingsBtnIOSM);
m_btnMgr.hide(m_gameSettingsLblIOSreloadBlock);
m_btnMgr.hide(m_gameSettingsBtnIOSreloadBlock);
} }
@ -326,6 +337,7 @@ void CMenu::_showGameSettings(void)
m_btnMgr.setText(m_gameSettingsBtnOcarina, _optBoolToString(m_gcfg2.getOptBool(id, "cheat"))); m_btnMgr.setText(m_gameSettingsBtnOcarina, _optBoolToString(m_gcfg2.getOptBool(id, "cheat")));
m_btnMgr.setText(m_gameSettingsBtnVipatch, _optBoolToString(m_gcfg2.getOptBool(id, "vipatch", 0))); m_btnMgr.setText(m_gameSettingsBtnVipatch, _optBoolToString(m_gcfg2.getOptBool(id, "vipatch", 0)));
m_btnMgr.setText(m_gameSettingsBtnCountryPatch, _optBoolToString(m_gcfg2.getOptBool(id, "country_patch", 0))); m_btnMgr.setText(m_gameSettingsBtnCountryPatch, _optBoolToString(m_gcfg2.getOptBool(id, "country_patch", 0)));
m_btnMgr.setText(m_gameSettingsBtnIOSreloadBlock, _optBoolToString(m_gcfg2.getOptBool(id, "reload_block", 0)));
i = min((u32)m_gcfg2.getInt(id, "video_mode", 0), ARRAY_SIZE(CMenu::_videoModes) - 1u); i = min((u32)m_gcfg2.getInt(id, "video_mode", 0), ARRAY_SIZE(CMenu::_videoModes) - 1u);
m_btnMgr.setText(m_gameSettingsLblVideo, _t(CMenu::_videoModes[i].id, CMenu::_videoModes[i].text)); m_btnMgr.setText(m_gameSettingsLblVideo, _t(CMenu::_videoModes[i].id, CMenu::_videoModes[i].text));
i = min((u32)m_gcfg2.getInt(id, "dml_video_mode", 0), ARRAY_SIZE(CMenu::_DMLvideoModes) - 1u); i = min((u32)m_gcfg2.getInt(id, "dml_video_mode", 0), ARRAY_SIZE(CMenu::_DMLvideoModes) - 1u);
@ -439,6 +451,15 @@ void CMenu::_gameSettings(void)
m_gcfg2.setBool(id, "country_patch", true); m_gcfg2.setBool(id, "country_patch", true);
_showGameSettings(); _showGameSettings();
} }
else if (m_btnMgr.selected(m_gameSettingsBtnIOSreloadBlock))
{
bool booloption = m_gcfg2.getBool(id, "reload_block");
if (booloption != false)
m_gcfg2.remove(id, "reload_block");
else
m_gcfg2.setBool(id, "reload_block", true);
_showGameSettings();
}
else if (m_btnMgr.selected(m_gameSettingsBtnLanguageP) || m_btnMgr.selected(m_gameSettingsBtnLanguageM)) else if (m_btnMgr.selected(m_gameSettingsBtnLanguageP) || m_btnMgr.selected(m_gameSettingsBtnLanguageM))
{ {
s8 direction = m_btnMgr.selected(m_gameSettingsBtnLanguageP) ? 1 : -1; s8 direction = m_btnMgr.selected(m_gameSettingsBtnLanguageP) ? 1 : -1;
@ -564,6 +585,7 @@ void CMenu::_initGameSettingsMenu(CMenu::SThemeData &theme)
_addUserLabels(theme, m_gameSettingsLblUser, ARRAY_SIZE(m_gameSettingsLblUser), "GAME_SETTINGS"); _addUserLabels(theme, m_gameSettingsLblUser, ARRAY_SIZE(m_gameSettingsLblUser), "GAME_SETTINGS");
m_gameSettingsBg = _texture(theme.texSet, "GAME_SETTINGS/BG", "texture", theme.bg); m_gameSettingsBg = _texture(theme.texSet, "GAME_SETTINGS/BG", "texture", theme.bg);
m_gameSettingsLblTitle = _addLabel(theme, "GAME_SETTINGS/TITLE", theme.titleFont, L"", 20, 30, 600, 60, theme.titleFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE); m_gameSettingsLblTitle = _addLabel(theme, "GAME_SETTINGS/TITLE", theme.titleFont, L"", 20, 30, 600, 60, theme.titleFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE);
// Page 1 // Page 1
m_gameSettingsLblCover = _addLabel(theme, "GAME_SETTINGS/COVER", theme.lblFont, L"", 40, 130, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); m_gameSettingsLblCover = _addLabel(theme, "GAME_SETTINGS/COVER", theme.lblFont, L"", 40, 130, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
m_gameSettingsBtnCover = _addButton(theme, "GAME_SETTINGS/COVER_BTN", theme.btnFont, L"", 330, 130, 270, 56, theme.btnFontColor); m_gameSettingsBtnCover = _addButton(theme, "GAME_SETTINGS/COVER_BTN", theme.btnFont, L"", 330, 130, 270, 56, theme.btnFontColor);
@ -599,6 +621,7 @@ void CMenu::_initGameSettingsMenu(CMenu::SThemeData &theme)
m_gameSettingsBtnOcarina = _addButton(theme, "GAME_SETTINGS/OCARINA_BTN", theme.btnFont, L"", 330, 250, 270, 56, theme.btnFontColor); m_gameSettingsBtnOcarina = _addButton(theme, "GAME_SETTINGS/OCARINA_BTN", theme.btnFont, L"", 330, 250, 270, 56, theme.btnFontColor);
m_gameSettingsLblCheat = _addLabel(theme, "GAME_SETTINGS/CHEAT", theme.lblFont, L"", 40, 310, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); m_gameSettingsLblCheat = _addLabel(theme, "GAME_SETTINGS/CHEAT", theme.lblFont, L"", 40, 310, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
m_gameSettingsBtnCheat = _addButton(theme, "GAME_SETTINGS/CHEAT_BTN", theme.btnFont, L"", 330, 310, 270, 56, theme.btnFontColor); m_gameSettingsBtnCheat = _addButton(theme, "GAME_SETTINGS/CHEAT_BTN", theme.btnFont, L"", 330, 310, 270, 56, theme.btnFontColor);
// Page 3 // Page 3
m_gameSettingsLblCountryPatch = _addLabel(theme, "GAME_SETTINGS/COUNTRY_PATCH", theme.lblFont, L"", 40, 130, 340, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); m_gameSettingsLblCountryPatch = _addLabel(theme, "GAME_SETTINGS/COUNTRY_PATCH", theme.lblFont, L"", 40, 130, 340, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
m_gameSettingsBtnCountryPatch = _addButton(theme, "GAME_SETTINGS/COUNTRY_PATCH_BTN", theme.btnFont, L"", 380, 130, 220, 56, theme.btnFontColor); m_gameSettingsBtnCountryPatch = _addButton(theme, "GAME_SETTINGS/COUNTRY_PATCH_BTN", theme.btnFont, L"", 380, 130, 220, 56, theme.btnFontColor);
@ -620,6 +643,9 @@ void CMenu::_initGameSettingsMenu(CMenu::SThemeData &theme)
m_gameSettingsBtnIOSM = _addPicButton(theme, "GAME_SETTINGS/IOS_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 380, 130, 56, 56); m_gameSettingsBtnIOSM = _addPicButton(theme, "GAME_SETTINGS/IOS_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 380, 130, 56, 56);
m_gameSettingsBtnIOSP = _addPicButton(theme, "GAME_SETTINGS/IOS_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 544, 130, 56, 56); m_gameSettingsBtnIOSP = _addPicButton(theme, "GAME_SETTINGS/IOS_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 544, 130, 56, 56);
m_gameSettingsLblIOSreloadBlock = _addLabel(theme, "GAME_SETTINGS/IOS_RELOAD_BLOCK", theme.lblFont, L"", 40, 190, 340, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
m_gameSettingsBtnIOSreloadBlock = _addButton(theme, "GAME_SETTINGS/IOS_RELOAD_BLOCK_BTN", theme.btnFont, L"", 380, 190, 220, 56, theme.btnFontColor);
//Categories Page 1 //Categories Page 1
//m_gameSettingsLblCategory[0] = _addLabel(theme, "GAME_SETTINGS/CAT_ALL", theme.lblFont, L"All", 40, 130, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); //m_gameSettingsLblCategory[0] = _addLabel(theme, "GAME_SETTINGS/CAT_ALL", theme.lblFont, L"All", 40, 130, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
//m_gameSettingsBtnCategory[0] = _addButton(theme, "GAME_SETTINGS/CAT_ALL_BTN", theme.btnFont, L"", 330, 130, 270, 56, theme.btnFontColor); //m_gameSettingsBtnCategory[0] = _addButton(theme, "GAME_SETTINGS/CAT_ALL_BTN", theme.btnFont, L"", 330, 130, 270, 56, theme.btnFontColor);
@ -662,6 +688,8 @@ void CMenu::_initGameSettingsMenu(CMenu::SThemeData &theme)
_setHideAnim(m_gameSettingsLblVideo, "GAME_SETTINGS/VIDEO_BTN", 200, 0, 1.f, 0.f); _setHideAnim(m_gameSettingsLblVideo, "GAME_SETTINGS/VIDEO_BTN", 200, 0, 1.f, 0.f);
_setHideAnim(m_gameSettingsBtnVideoM, "GAME_SETTINGS/VIDEO_MINUS", 200, 0, 1.f, 0.f); _setHideAnim(m_gameSettingsBtnVideoM, "GAME_SETTINGS/VIDEO_MINUS", 200, 0, 1.f, 0.f);
_setHideAnim(m_gameSettingsBtnVideoP, "GAME_SETTINGS/VIDEO_PLUS", 200, 0, 1.f, 0.f); _setHideAnim(m_gameSettingsBtnVideoP, "GAME_SETTINGS/VIDEO_PLUS", 200, 0, 1.f, 0.f);
_setHideAnim(m_gameSettingsLblIOSreloadBlock, "GAME_SETTINGS/IOS_RELOAD_BLOCK", -200, 0, 1.f, 0.f);
_setHideAnim(m_gameSettingsBtnIOSreloadBlock, "GAME_SETTINGS/IOS_RELOAD_BLOCK_BTN", 200, 0, 1.f, 0.f);
_setHideAnim(m_gameSettingsLblDMLGameVideo, "GAME_SETTINGS/DML_VIDEO", -200, 0, 1.f, 0.f); _setHideAnim(m_gameSettingsLblDMLGameVideo, "GAME_SETTINGS/DML_VIDEO", -200, 0, 1.f, 0.f);
_setHideAnim(m_gameSettingsLblDMLVideo, "GAME_SETTINGS/DML_VIDEO_BTN", 200, 0, 1.f, 0.f); _setHideAnim(m_gameSettingsLblDMLVideo, "GAME_SETTINGS/DML_VIDEO_BTN", 200, 0, 1.f, 0.f);
_setHideAnim(m_gameSettingsBtnDMLVideoM, "GAME_SETTINGS/DML_VIDEO_MINUS", 200, 0, 1.f, 0.f); _setHideAnim(m_gameSettingsBtnDMLVideoM, "GAME_SETTINGS/DML_VIDEO_MINUS", 200, 0, 1.f, 0.f);
@ -726,6 +754,7 @@ void CMenu::_textGameSettings(void)
m_btnMgr.setText(m_gameSettingsLblCountryPatch, _t("cfgg4", L"Patch country strings")); m_btnMgr.setText(m_gameSettingsLblCountryPatch, _t("cfgg4", L"Patch country strings"));
m_btnMgr.setText(m_gameSettingsLblOcarina, _t("cfgg5", L"Ocarina")); m_btnMgr.setText(m_gameSettingsLblOcarina, _t("cfgg5", L"Ocarina"));
m_btnMgr.setText(m_gameSettingsLblDMLGameVideo, _t("cfgg2", L"Video mode")); m_btnMgr.setText(m_gameSettingsLblDMLGameVideo, _t("cfgg2", L"Video mode"));
m_btnMgr.setText(m_gameSettingsLblIOSreloadBlock, (L"Disable IOS Reload block"));
m_btnMgr.setText(m_gameSettingsLblVipatch, _t("cfgg7", L"Vipatch")); m_btnMgr.setText(m_gameSettingsLblVipatch, _t("cfgg7", L"Vipatch"));
m_btnMgr.setText(m_gameSettingsBtnBack, _t("cfgg8", L"Back")); m_btnMgr.setText(m_gameSettingsBtnBack, _t("cfgg8", L"Back"));
m_btnMgr.setText(m_gameSettingsLblGameIOS, _t("cfgg10", L"IOS")); m_btnMgr.setText(m_gameSettingsLblGameIOS, _t("cfgg10", L"IOS"));

View File

@ -654,7 +654,8 @@ void CMenu::_launchChannel(dir_discHdr *hdr)
int language = min((u32)m_gcfg2.getInt(id, "language", 0), ARRAY_SIZE(CMenu::_languages) - 1u); int language = min((u32)m_gcfg2.getInt(id, "language", 0), ARRAY_SIZE(CMenu::_languages) - 1u);
const char *rtrn = m_gcfg2.getBool(id, "returnto", true) ? m_cfg.getString("GENERAL", "returnto").c_str() : NULL; const char *rtrn = m_gcfg2.getBool(id, "returnto", true) ? m_cfg.getString("GENERAL", "returnto").c_str() : NULL;
u8 patchVidMode = min((u32)m_gcfg2.getInt(id, "patch_video_modes", 0), ARRAY_SIZE(CMenu::_vidModePatch) - 1u); u8 patchVidMode = min((u32)m_gcfg2.getInt(id, "patch_video_modes", 0), ARRAY_SIZE(CMenu::_vidModePatch) - 1u);
bool disableIOSreload = m_gcfg2.testOptBool(id, "reload_block", m_cfg.getBool("GENERAL", "reload_block", false));
int gameIOS = 0; int gameIOS = 0;
if(!forwarder) if(!forwarder)
@ -799,7 +800,7 @@ void CMenu::_launchChannel(dir_discHdr *hdr)
if (WII_LaunchTitle(hdr->hdr.chantitle) < 0) if (WII_LaunchTitle(hdr->hdr.chantitle) < 0)
Sys_LoadMenu(); Sys_LoadMenu();
} }
else if(!channel.Launch(data, hdr->hdr.chantitle, videoMode, vipatch, countryPatch, patchVidMode)) else if(!channel.Launch(data, hdr->hdr.chantitle, videoMode, vipatch, countryPatch, patchVidMode, disableIOSreload))
Sys_LoadMenu(); Sys_LoadMenu();
} }
@ -859,7 +860,8 @@ void CMenu::_launchGame(dir_discHdr *hdr, bool dvd)
u8 videoMode = (u8)min((u32)m_gcfg2.getInt(id, "video_mode", 0), ARRAY_SIZE(CMenu::_videoModes) - 1u); u8 videoMode = (u8)min((u32)m_gcfg2.getInt(id, "video_mode", 0), ARRAY_SIZE(CMenu::_videoModes) - 1u);
int language = min((u32)m_gcfg2.getInt(id, "language", 0), ARRAY_SIZE(CMenu::_languages) - 1u); int language = min((u32)m_gcfg2.getInt(id, "language", 0), ARRAY_SIZE(CMenu::_languages) - 1u);
const char *rtrn = m_gcfg2.getBool(id, "returnto", true) ? m_cfg.getString("GENERAL", "returnto").c_str() : NULL; const char *rtrn = m_gcfg2.getBool(id, "returnto", true) ? m_cfg.getString("GENERAL", "returnto").c_str() : NULL;
bool disableIOSreload = m_gcfg2.testOptBool(id, "reload_block", m_cfg.getBool("GENERAL", "reload_block", false));
int emuPartition = m_cfg.getInt("GAMES", "savepartition", -1); int emuPartition = m_cfg.getInt("GAMES", "savepartition", -1);
if(emuPartition == -1) if(emuPartition == -1)
emuPartition = m_cfg.getInt("NAND", "partition", -1); emuPartition = m_cfg.getInt("NAND", "partition", -1);
@ -1057,7 +1059,7 @@ void CMenu::_launchGame(dir_discHdr *hdr, bool dvd)
else else
{ {
gprintf("Booting game\n"); gprintf("Booting game\n");
if (Disc_WiiBoot(videoMode, vipatch, countryPatch, patchVidMode) < 0) if (Disc_WiiBoot(videoMode, vipatch, countryPatch, patchVidMode, disableIOSreload) < 0)
Sys_LoadMenu(); Sys_LoadMenu();
} }
} }