-added the ability for users to set the default/global gamecube settings for devo emu memcard, nintendont emu memcard, and nintendont wii u widescreen. under main settings pg 3 gc default settings. this means users will no longer have to manually edit wiiflow lite ini in a text editor for those settings.

This commit is contained in:
Fledge68 2018-10-15 09:23:34 -05:00
parent 972cbc218c
commit 0d213f9b0e
8 changed files with 228 additions and 75 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 MiB

After

Width:  |  Height:  |  Size: 3.3 MiB

View File

@ -467,6 +467,7 @@ int Config::getInt(const string &domain, const string &key, int defVal)
return strtol(data.c_str(), 0, 10);
}
/* this returns true only if there's something after the '=' and value is set to the integer value */
bool Config::getInt(const std::string &domain, const std::string &key, int *value)
{
if (domain.empty() || key.empty()) return false;

View File

@ -341,7 +341,7 @@ void fsop_ReadFileLoc(const char *path, const u32 size, void *loc)
u8 *fsop_ReadFile(const char *path, u32 *size)
{
*(size) = 0;
*size = 0;
u32 filesize = 0;
u8 *mem = NULL;
fsop_GetFileSizeBytes(path, &filesize);
@ -352,7 +352,7 @@ u8 *fsop_ReadFile(const char *path, u32 *size)
{
//gprintf("Reading file: %s\n", path);
fsop_ReadFileLoc(path, filesize, mem);
*(size) = filesize;
*size = filesize;
}
}
return mem;

View File

@ -953,6 +953,7 @@ private:
void _hideConfigAdv(bool instant = false);
void _hideConfigSnd(bool instant = false);
void _hideConfigGC(bool instant = false);
void _hideConfigGCPage(bool instant = false);
void _hidePartitionsCfg(bool instant = false);
void _hideGame(bool instant = false);
void _hideDownload(bool instant = false);
@ -987,6 +988,7 @@ private:
void _showConfigAdv(void);
void _showConfigSnd(void);
void _showConfigGC(void);
void _showConfigGCPage(void);
void _showPartitionsCfg(void);
void _showNandEmu(void);
void _showGame(void);
@ -1200,7 +1202,7 @@ private:
map<u8, u8> _installed_cios;
typedef map<u8, u8>::iterator CIOSItr;
struct SOption { const char id[10]; const wchar_t text[16]; };
struct SOption { const char id[11]; const wchar_t text[16]; };
static const SOption _GlobalVideoModes[6];
static const SOption _VideoModes[7];

View File

@ -1,10 +1,17 @@
#include "menu.hpp"
TexData m_configGCBg;
s16 m_configGCLblTitle;
s16 m_configGCBtnBack;
s16 m_configGCLblUser[4];
s16 m_configGCLblPage;
s16 m_configGCBtnPageM;
s16 m_configGCBtnPageP;
//pg 1
s16 m_configGCLblGCGameLanguage;
s16 m_configGCLblGCLanguage;
s16 m_configGCBtnGCLanguageP;
@ -20,7 +27,19 @@ s16 m_configGCLblGCLoader;
s16 m_configGCBtnGCLoaderP;
s16 m_configGCBtnGCLoaderM;
TexData m_configGCBg;
s16 m_configGCLblDevMemCard;
s16 m_configGCBtnDevMemCard;
//pg 2
s16 m_configGCLblNinMemCard;
s16 m_configGCLblNinMemCardVal;
s16 m_configGCBtnNinMemCardP;
s16 m_configGCBtnNinMemCardM;
s16 m_configGCLblNinWiiUWide;
s16 m_configGCBtnNinWiiUWide;
static int curPage;
template <class T> static inline T loopNum(T i, T s)
{
@ -30,11 +49,19 @@ template <class T> static inline T loopNum(T i, T s)
void CMenu::_hideConfigGC(bool instant)
{
m_btnMgr.hide(m_configGCLblTitle, instant);
m_btnMgr.hide(m_configGCLblPage, instant);
m_btnMgr.hide(m_configGCBtnPageM, instant);
m_btnMgr.hide(m_configGCBtnPageP, instant);
m_btnMgr.hide(m_configGCBtnBack, instant);
for(u8 i = 0; i < ARRAY_SIZE(m_configGCLblUser); ++i)
if(m_configGCLblUser[i] != -1)
m_btnMgr.hide(m_configGCLblUser[i], instant);
_hideConfigGCPage(instant);
}
void CMenu::_hideConfigGCPage(bool instant)
{
//pg 1
m_btnMgr.hide(m_configGCLblGCGameLanguage, instant);
m_btnMgr.hide(m_configGCLblGCLanguage, instant);
m_btnMgr.hide(m_configGCBtnGCLanguageP, instant);
@ -49,6 +76,18 @@ void CMenu::_hideConfigGC(bool instant)
m_btnMgr.hide(m_configGCLblGCLoader, instant);
m_btnMgr.hide(m_configGCBtnGCLoaderP, instant);
m_btnMgr.hide(m_configGCBtnGCLoaderM, instant);
m_btnMgr.hide(m_configGCLblDevMemCard, instant);
m_btnMgr.hide(m_configGCBtnDevMemCard, instant);
//pg 2
m_btnMgr.hide(m_configGCLblNinMemCard, instant);
m_btnMgr.hide(m_configGCLblNinMemCardVal, instant);
m_btnMgr.hide(m_configGCBtnNinMemCardP, instant);
m_btnMgr.hide(m_configGCBtnNinMemCardM, instant);
m_btnMgr.hide(m_configGCLblNinWiiUWide, instant);
m_btnMgr.hide(m_configGCBtnNinWiiUWide, instant);
}
void CMenu::_showConfigGC(void)
@ -59,33 +98,72 @@ void CMenu::_showConfigGC(void)
if(m_configGCLblUser[i] != -1)
m_btnMgr.show(m_configGCLblUser[i]);
m_btnMgr.show(m_configGCLblGCGameLanguage);
m_btnMgr.show(m_configGCLblGCLanguage);
m_btnMgr.show(m_configGCBtnGCLanguageP);
m_btnMgr.show(m_configGCBtnGCLanguageM);
m_btnMgr.show(m_configGCLblPage);
m_btnMgr.show(m_configGCBtnPageM);
m_btnMgr.show(m_configGCBtnPageP);
_showConfigGCPage();
}
m_btnMgr.show(m_configGCLblGCGameVideo);
m_btnMgr.show(m_configGCLblGCVideo);
m_btnMgr.show(m_configGCBtnGCVideoP);
m_btnMgr.show(m_configGCBtnGCVideoM);
void CMenu::_showConfigGCPage(void)
{
_hideConfigGCPage();
m_btnMgr.setText(m_configGCLblPage, wfmt(L"%i / %i", curPage, 2));
m_btnMgr.show(m_configGCLblGCGameLoader);
m_btnMgr.show(m_configGCLblGCLoader);
m_btnMgr.show(m_configGCBtnGCLoaderP);
m_btnMgr.show(m_configGCBtnGCLoaderM);
int i;
if(curPage == 1)
{
i = min(max(0, m_cfg.getInt(GC_DOMAIN, "video_mode", 0)), (int)ARRAY_SIZE(CMenu::_GlobalGCvideoModes) - 1);
m_btnMgr.setText(m_configGCLblGCVideo, _t(CMenu::_GlobalGCvideoModes[i].id, CMenu::_GlobalGCvideoModes[i].text));
int i = min(max(0, m_cfg.getInt(GC_DOMAIN, "video_mode", 0)), (int)ARRAY_SIZE(CMenu::_GlobalGCvideoModes) - 1);
m_btnMgr.setText(m_configGCLblGCVideo, _t(CMenu::_GlobalGCvideoModes[i].id, CMenu::_GlobalGCvideoModes[i].text));
i = min(max(0, m_cfg.getInt(GC_DOMAIN, "game_language", 0)), (int)ARRAY_SIZE(CMenu::_GlobalGClanguages) - 1);
m_btnMgr.setText(m_configGCLblGCLanguage, _t(CMenu::_GlobalGClanguages[i].id, CMenu::_GlobalGClanguages[i].text));
i = min(max(0, m_cfg.getInt(GC_DOMAIN, "game_language", 0)), (int)ARRAY_SIZE(CMenu::_GlobalGClanguages) - 1);
m_btnMgr.setText(m_configGCLblGCLanguage, _t(CMenu::_GlobalGClanguages[i].id, CMenu::_GlobalGClanguages[i].text));
i = min(max(0, m_cfg.getInt(GC_DOMAIN, "default_loader", 2)), (int)ARRAY_SIZE(CMenu::_GlobalGCLoaders) - 1);
m_btnMgr.setText(m_configGCLblGCLoader, _t(CMenu::_GlobalGCLoaders[i].id, CMenu::_GlobalGCLoaders[i].text));
i = min(max(0, m_cfg.getInt(GC_DOMAIN, "default_loader", 2)), (int)ARRAY_SIZE(CMenu::_GlobalGCLoaders) - 1);
m_btnMgr.setText(m_configGCLblGCLoader, _t(CMenu::_GlobalGCLoaders[i].id, CMenu::_GlobalGCLoaders[i].text));
m_btnMgr.setText(m_configGCBtnDevMemCard, m_cfg.getBool(GC_DOMAIN, "devo_memcard_emu", false) ? _t("on", L"On") : _t("off", L"Off"));
m_btnMgr.show(m_configGCLblGCGameLanguage);
m_btnMgr.show(m_configGCLblGCLanguage);
m_btnMgr.show(m_configGCBtnGCLanguageP);
m_btnMgr.show(m_configGCBtnGCLanguageM);
m_btnMgr.show(m_configGCLblGCGameVideo);
m_btnMgr.show(m_configGCLblGCVideo);
m_btnMgr.show(m_configGCBtnGCVideoP);
m_btnMgr.show(m_configGCBtnGCVideoM);
m_btnMgr.show(m_configGCLblGCGameLoader);
m_btnMgr.show(m_configGCLblGCLoader);
m_btnMgr.show(m_configGCBtnGCLoaderP);
m_btnMgr.show(m_configGCBtnGCLoaderM);
m_btnMgr.show(m_configGCLblDevMemCard);
m_btnMgr.show(m_configGCBtnDevMemCard);
}
else
{
// minus 2 and [i + 1] because there is no global array that does not include 'default'
i = min(max(0, m_cfg.getInt(GC_DOMAIN, "emu_memcard", 1)), (int)ARRAY_SIZE(CMenu::_NinEmuCard) - 2);
m_btnMgr.setText(m_configGCLblNinMemCardVal, _t(CMenu::_NinEmuCard[i + 1].id, CMenu::_NinEmuCard[i + 1].text));
m_btnMgr.setText(m_configGCBtnNinWiiUWide, m_cfg.getBool(GC_DOMAIN, "wiiu_widescreen", false) ? _t("on", L"On") : _t("off", L"Off"));
m_btnMgr.show(m_configGCLblNinMemCard);
m_btnMgr.show(m_configGCLblNinMemCardVal);
m_btnMgr.show(m_configGCBtnNinMemCardP);
m_btnMgr.show(m_configGCBtnNinMemCardM);
m_btnMgr.show(m_configGCLblNinWiiUWide);
m_btnMgr.show(m_configGCBtnNinWiiUWide);
}
}
void CMenu::_configGC(void)
{
int i;
bool j;
curPage = 1;
SetupInput();
_setBg(m_configGCBg, m_configGCBg);
_showConfigGC();
@ -98,6 +176,24 @@ void CMenu::_configGC(void)
m_btnMgr.up();
else if(BTN_DOWN_PRESSED)
m_btnMgr.down();
else if(BTN_LEFT_PRESSED || (BTN_A_PRESSED && m_btnMgr.selected(m_configGCBtnPageM)))
{
curPage--;
if(curPage < 1)
curPage = 2;
if(!BTN_A_PRESSED)
m_btnMgr.click(m_configGCBtnPageM);
_showConfigGCPage();
}
else if(BTN_RIGHT_PRESSED || (BTN_A_PRESSED && m_btnMgr.selected(m_configGCBtnPageP)))
{
curPage++;
if(curPage > 2)
curPage = 1;
if(!BTN_A_PRESSED)
m_btnMgr.click(m_configGCBtnPageP);
_showConfigGCPage();
}
else if(BTN_A_PRESSED)
{
if(m_btnMgr.selected(m_configGCBtnBack))
@ -105,20 +201,42 @@ void CMenu::_configGC(void)
else if(m_btnMgr.selected(m_configGCBtnGCLanguageP) || m_btnMgr.selected(m_configGCBtnGCLanguageM))
{
s8 direction = m_btnMgr.selected(m_configGCBtnGCLanguageP) ? 1 : -1;
m_cfg.setInt(GC_DOMAIN, "game_language", (int)loopNum(m_cfg.getUInt(GC_DOMAIN, "game_language", 0) + direction, ARRAY_SIZE(CMenu::_GlobalGClanguages)));
_showConfigGC();
i = loopNum(m_cfg.getInt(GC_DOMAIN, "game_language", 0) + direction, (int)ARRAY_SIZE(CMenu::_GlobalGClanguages));
m_cfg.setInt(GC_DOMAIN, "game_language", i);
m_btnMgr.setText(m_configGCLblGCLanguage, _t(CMenu::_GlobalGClanguages[i].id, CMenu::_GlobalGClanguages[i].text));
}
else if(m_btnMgr.selected(m_configGCBtnGCVideoP) || m_btnMgr.selected(m_configGCBtnGCVideoM))
{
s8 direction = m_btnMgr.selected(m_configGCBtnGCVideoP) ? 1 : -1;
m_cfg.setInt(GC_DOMAIN, "video_mode", (int)loopNum(m_cfg.getUInt(GC_DOMAIN, "video_mode", 0) + direction, ARRAY_SIZE(CMenu::_GlobalGCvideoModes)));
_showConfigGC();
i = loopNum(m_cfg.getInt(GC_DOMAIN, "video_mode", 0) + direction, (int)ARRAY_SIZE(CMenu::_GlobalGCvideoModes));
m_cfg.setInt(GC_DOMAIN, "video_mode", i);
m_btnMgr.setText(m_configGCLblGCVideo, _t(CMenu::_GlobalGCvideoModes[i].id, CMenu::_GlobalGCvideoModes[i].text));
}
else if(m_btnMgr.selected(m_configGCBtnGCLoaderP) || m_btnMgr.selected(m_configGCBtnGCLoaderM))
{
s8 direction = m_btnMgr.selected(m_configGCBtnGCLoaderP) ? 1 : -1;
m_cfg.setInt(GC_DOMAIN, "default_loader", (int)loopNum(m_cfg.getUInt(GC_DOMAIN, "default_loader", 1) + direction, ARRAY_SIZE(CMenu::_GlobalGCLoaders)));
_showConfigGC();
i = loopNum(m_cfg.getInt(GC_DOMAIN, "default_loader", 1) + direction, (int)ARRAY_SIZE(CMenu::_GlobalGCLoaders));
m_cfg.setInt(GC_DOMAIN, "default_loader", i);
m_btnMgr.setText(m_configGCLblGCLoader, _t(CMenu::_GlobalGCLoaders[i].id, CMenu::_GlobalGCLoaders[i].text));
}
else if(m_btnMgr.selected(m_configGCBtnNinMemCardP) || m_btnMgr.selected(m_configGCBtnNinMemCardM))
{
s8 direction = m_btnMgr.selected(m_configGCBtnNinMemCardP) ? 1 : -1;
i = loopNum(m_cfg.getInt(GC_DOMAIN, "emu_memcard", 1) + direction, (int)ARRAY_SIZE(CMenu::_NinEmuCard) - 1);
m_cfg.setInt(GC_DOMAIN, "emu_memcard", i);
m_btnMgr.setText(m_configGCLblNinMemCardVal, _t(CMenu::_NinEmuCard[i + 1].id, CMenu::_NinEmuCard[i + 1].text));
}
else if(m_btnMgr.selected(m_configGCBtnDevMemCard))
{
j = !m_cfg.getBool(GC_DOMAIN, "devo_memcard_emu", false);
m_cfg.setBool(GC_DOMAIN, "devo_memcard_emu", j);
m_btnMgr.setText(m_configGCBtnDevMemCard, j ? _t("on", L"On") : _t("off", L"Off"));
}
else if(m_btnMgr.selected(m_configGCBtnNinWiiUWide))
{
j = !m_cfg.getBool(GC_DOMAIN, "wiiu_widescreen", false);
m_cfg.setBool(GC_DOMAIN, "wiiu_widescreen", j);
m_btnMgr.setText(m_configGCBtnNinWiiUWide, j ? _t("on", L"On") : _t("off", L"Off"));
}
}
}
@ -132,46 +250,83 @@ void CMenu::_initConfigGCMenu(void)
_addUserLabels(m_configGCLblUser, ARRAY_SIZE(m_configGCLblUser), "CONFIGGC");
m_configGCLblTitle = _addTitle("CONFIGGC/TITLE", theme.titleFont, L"", 0, 10, 640, 60, theme.titleFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE);
m_configGCBtnBack = _addButton("CONFIGGC/BACK_BTN", theme.btnFont, L"", 420, 400, 200, 48, theme.btnFontColor);
m_configGCLblPage = _addLabel("CONFIGGC/PAGE_BTN", theme.btnFont, L"", 68, 400, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC);
m_configGCBtnPageM = _addPicButton("CONFIGGC/PAGE_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 20, 400, 48, 48);
m_configGCBtnPageP = _addPicButton("CONFIGGC/PAGE_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 172, 400, 48, 48);
//pg 1
m_configGCLblGCGameVideo = _addLabel("CONFIGGC/GC_VIDEO", theme.lblFont, L"", 20, 125, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
m_configGCLblGCVideo = _addLabel("CONFIGGC/GC_VIDEO_BTN", theme.btnFont, L"", 468, 130, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC);
m_configGCBtnGCVideoM = _addPicButton("CONFIGGC/GC_VIDEO_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 130, 48, 48);
m_configGCBtnGCVideoP = _addPicButton("CONFIGGC/GC_VIDEO_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 130, 48, 48);
m_configGCLblGCGameLanguage = _addLabel("CONFIGGC/GC_LANG", theme.lblFont, L"", 20, 185, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
m_configGCLblGCLanguage = _addLabel("CONFIGGC/GC_LANG_BTN", theme.btnFont, L"", 468, 190, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC);
m_configGCBtnGCLanguageM = _addPicButton("CONFIGGC/GC_LANG_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 190, 48, 48);
m_configGCBtnGCLanguageP = _addPicButton("CONFIGGC/GC_LANG_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 190, 48, 48);
m_configGCLblGCGameLoader = _addLabel("CONFIGGC/GC_LOADER", theme.lblFont, L"", 20, 245, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
m_configGCLblGCLoader = _addLabel("CONFIGGC/GC_LOADER_BTN", theme.btnFont, L"", 468, 250, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC);
m_configGCBtnGCLoaderM = _addPicButton("CONFIGGC/GC_LOADER_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 250, 48, 48);
m_configGCBtnGCLoaderP = _addPicButton("CONFIGGC/GC_LOADER_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 250, 48, 48);
m_configGCLblDevMemCard = _addLabel("CONFIGGC/DEV_MEMCARD", theme.lblFont, L"", 20, 305, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
m_configGCBtnDevMemCard = _addButton("CONFIGGC/DEV_MEMCARD_BTN", theme.btnFont, L"", 420, 310, 200, 48, theme.btnFontColor);
//pg 2
m_configGCLblNinMemCard = _addLabel("CONFIGGC/NIN_MEMCARD", theme.lblFont, L"", 20, 125, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
m_configGCLblNinMemCardVal = _addLabel("CONFIGGC/NIN_MEMCARD_BTN", theme.btnFont, L"", 468, 130, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC);
m_configGCBtnNinMemCardM = _addPicButton("CONFIGGC/NIN_MEMCARD_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 130, 48, 48);
m_configGCBtnNinMemCardP = _addPicButton("CONFIGGC/NIN_MEMCARD_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 130, 48, 48);
m_configGCLblNinWiiUWide = _addLabel("CONFIGGC/NIN_WIIU_WIDE", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
m_configGCBtnNinWiiUWide = _addButton("CONFIGGC/NIN_WIIU_WIDE_BTN", theme.btnFont, L"", 420, 190, 200, 48, theme.btnFontColor);
_setHideAnim(m_configGCLblTitle, "CONFIGGC/TITLE", 0, 0, -2.f, 0.f);
_setHideAnim(m_configGCBtnBack, "CONFIGGC/BACK_BTN", 0, 0, 1.f, -1.f);
_setHideAnim(m_configGCLblPage, "CONFIGGC/PAGE_BTN", 0, 0, 1.f, -1.f);
_setHideAnim(m_configGCBtnPageM, "CONFIGGC/PAGE_MINUS", 0, 0, 1.f, -1.f);
_setHideAnim(m_configGCBtnPageP, "CONFIGGC/PAGE_PLUS", 0, 0, 1.f, -1.f);
_setHideAnim(m_configGCLblGCGameVideo, "CONFIGGC/GC_VIDEO", 50, 0, -2.f, 0.f);
_setHideAnim(m_configGCLblGCVideo, "CONFIGGC/GC_VIDEO_BTN", -50, 0, 1.f, 0.f);
_setHideAnim(m_configGCBtnGCVideoM, "CONFIGGC/GC_VIDEO_MINUS", -50, 0, 1.f, 0.f);
_setHideAnim(m_configGCBtnGCVideoP, "CONFIGGC/GC_VIDEO_PLUS", -50, 0, 1.f, 0.f);
_setHideAnim(m_configGCLblGCGameLanguage, "CONFIGGC/GC_LANG", 50, 0, -2.f, 0.f);
_setHideAnim(m_configGCLblGCLanguage, "CONFIGGC/GC_LANG_BTN", -50, 0, 1.f, 0.f);
_setHideAnim(m_configGCBtnGCLanguageM, "CONFIGGC/GC_LANG_MINUS", -50, 0, 1.f, 0.f);
_setHideAnim(m_configGCBtnGCLanguageP, "CONFIGGC/GC_LANG_PLUS", -50, 0, 1.f, 0.f);
_setHideAnim(m_configGCLblGCGameLoader, "CONFIGGC/GC_LOADER", 50, 0, -2.f, 0.f);
_setHideAnim(m_configGCLblGCLoader, "CONFIGGC/GC_LOADER_BTN", -50, 0, 1.f, 0.f);
_setHideAnim(m_configGCBtnGCLoaderM, "CONFIGGC/GC_LOADER_MINUS", -50, 0, 1.f, 0.f);
_setHideAnim(m_configGCBtnGCLoaderP, "CONFIGGC/GC_LOADER_PLUS", -50, 0, 1.f, 0.f);
_setHideAnim(m_configGCLblDevMemCard, "CONFIGGC/DEV_MEMCARD", 50, 0, -2.f, 0.f);
_setHideAnim(m_configGCBtnDevMemCard, "CONFIGGC/DEV_MEMCARD_BTN", -50, 0, 1.f, 0.f);
_setHideAnim(m_configGCLblNinMemCard, "CONFIGGC/NIN_MEMCARD", 50, 0, -2.f, 0.f);
_setHideAnim(m_configGCLblNinMemCardVal, "CONFIGGC/NIN_MEMCARD_BTN", -50, 0, 1.f, 0.f);
_setHideAnim(m_configGCBtnNinMemCardM, "CONFIGGC/NIN_MEMCARD_MINUS", -50, 0, 1.f, 0.f);
_setHideAnim(m_configGCBtnNinMemCardP, "CONFIGGC/NIN_MEMCARD_PLUS", -50, 0, 1.f, 0.f);
_setHideAnim(m_configGCLblNinWiiUWide, "CONFIGGC/NIN_WIIU_WIDE", 50, 0, -2.f, 0.f);
_setHideAnim(m_configGCBtnNinWiiUWide, "CONFIGGC/NIN_WIIU_WIDE_BTN", -50, 0, 1.f, 0.f);
_hideConfigGC(true);
_textConfigGC();
}
void CMenu::_textConfigGC(void)
{
m_btnMgr.setText(m_configGCLblTitle, _t("cfgb8", L"GameCube Settings"));
m_btnMgr.setText(m_configGCLblGCGameVideo, _t("cfgb5", L"Default GC video mode"));
m_btnMgr.setText(m_configGCLblGCGameLanguage, _t("cfgb6", L"Default GC game language"));
m_btnMgr.setText(m_configGCLblGCGameLoader, _t("cfgb2", L"Default GC game loader"));
m_btnMgr.setText(m_configGCLblTitle, _t("cfgb8", L"GC Default Settings"));
m_btnMgr.setText(m_configGCBtnBack, _t("cfg10", L"Back"));
}
m_btnMgr.setText(m_configGCLblGCGameVideo, _t("cfgb5", L"Video mode"));
m_btnMgr.setText(m_configGCLblGCGameLanguage, _t("cfgb6", L"Game language"));
m_btnMgr.setText(m_configGCLblGCGameLoader, _t("cfgb2", L"Game loader"));
m_btnMgr.setText(m_configGCLblDevMemCard, _t("cfgb10", L"Devo Emu Memcard"));
m_btnMgr.setText(m_configGCLblNinMemCard, _t("cfgb11", L"Nintendont Emu Memcard"));
m_btnMgr.setText(m_configGCLblNinWiiUWide, _t("cfgb12", L"Nintendont Wii U Widescreen"));
}

View File

@ -48,20 +48,6 @@ s16 m_gameBtnBackFull;
s16 m_gameBtnToggle;
s16 m_gameBtnToggleFull;
const CMenu::SOption CMenu::_languages[11] = {
{ "lngdef", L"Default" },
{ "lngjap", L"Japanese" },
{ "lngeng", L"English" },
{ "lngger", L"German" },
{ "lngfre", L"French" },
{ "lngspa", L"Spanish" },
{ "lngita", L"Italian" },
{ "lngdut", L"Dutch" },
{ "lngsch", L"S. Chinese" },
{ "lngtch", L"T. Chinese" },
{ "lngkor", L"Korean" }
};
const CMenu::SOption CMenu::_GlobalVideoModes[6] = {
{ "vidgame", L"Game" },
{ "vidsys", L"System" },
@ -100,6 +86,20 @@ const CMenu::SOption CMenu::_GCvideoModes[7] = {
{ "vidprog", L"Progressive" },
};
const CMenu::SOption CMenu::_languages[11] = {
{ "lngdef", L"Default" },// next should be console
{ "lngjap", L"Japanese" },
{ "lngeng", L"English" },
{ "lngger", L"German" },
{ "lngfre", L"French" },
{ "lngspa", L"Spanish" },
{ "lngita", L"Italian" },
{ "lngdut", L"Dutch" },
{ "lngsch", L"S. Chinese" },
{ "lngtch", L"T. Chinese" },
{ "lngkor", L"Korean" }
};
const CMenu::SOption CMenu::_GlobalGClanguages[7] = {
{ "lngsys", L"System" },
{ "lngeng", L"English" },
@ -135,7 +135,6 @@ const CMenu::SOption CMenu::_NandEmu[2] = {
const CMenu::SOption CMenu::_GlobalSaveEmu[3] = {
{ "SaveOffG", L"Off" },
{ "SavePartG", L"Game save" },
//{ "SaveRegG", L"Regionswitch" },
{ "SaveFullG", L"Full" },
};
@ -143,7 +142,6 @@ const CMenu::SOption CMenu::_SaveEmu[4] = {
{ "SaveDef", L"Default" },
{ "SaveOff", L"Off" },
{ "SavePart", L"Game save" },
//{ "SaveReg", L"Regionswitch" },
{ "SaveFull", L"Full" },
};
@ -153,13 +151,12 @@ const CMenu::SOption CMenu::_AspectRatio[3] = {
{ "aspect169", L"Force 16:9" },
};
//still need to change the NMM's
const CMenu::SOption CMenu::_NinEmuCard[5] = {
{ "NMMDef", L"Default" },
{ "NMMOff", L"Disabled" },
{ "NMMon", L"Enabled" },
{ "NMMMulti", L"Multi Saves" },
{ "NMMdebug", L"Debug" },
{ "NinMCDef", L"Default" },
{ "NinMCOff", L"Disabled" },
{ "NinMCon", L"Enabled" },
{ "NinMCMulti", L"Multi Saves" },
{ "NinMCdebug", L"Debug" },
};
const CMenu::SOption CMenu::_GlobalGCLoaders[2] = {
@ -197,8 +194,6 @@ const CMenu::SOption CMenu::_debugger[3] = {
{ "dbgfwrite", L"OSReport" },
};
//map<u8, u8> CMenu::_installed_cios;
static inline int loopNum(int i, int s)
{
return (i + s) % s;
@ -1255,16 +1250,16 @@ void CMenu::_launchGC(dir_discHdr *hdr, bool disc)
u8 emuMC = min(m_gcfg2.getUInt(id, "emu_memcard", 0), ARRAY_SIZE(CMenu::_NinEmuCard) - 1u);
emuMC = (emuMC == 0) ? m_cfg.getUInt(GC_DOMAIN, "emu_memcard", 1) : emuMC - 1;
// these 2 settings have global defaults in wfl main config
// these 3 settings have global defaults in wfl main config
bool cc_rumble = m_gcfg2.testOptBool(id, "cc_rumble", m_cfg.getBool(GC_DOMAIN, "cc_rumble", false));
bool native_ctl = m_gcfg2.testOptBool(id, "native_ctl", m_cfg.getBool(GC_DOMAIN, "native_ctl", false));
bool wiiu_widescreen = m_gcfg2.testOptBool(id, "wiiu_widescreen", m_cfg.getBool(GC_DOMAIN, "wiiu_widescreen", false));
bool deflicker = m_gcfg2.getBool(id, "deflicker", false);
bool tri_arcade = m_gcfg2.getBool(id, "triforce_arcade", false);
bool ipl = m_gcfg2.getBool(id, "skip_ipl", false);
bool patch_pal50 = m_gcfg2.getBool(id, "patch_pal50", false);
bool NIN_Debugger = (m_gcfg2.getInt(id, "debugger", 0) == 2);
bool wiiu_widescreen = m_gcfg2.getBool(id, "wiiu_widescreen", false);
bool cheats = m_gcfg2.getBool(id, "cheat", false);
s8 vidscale = m_gcfg2.getInt(id, "nin_width", 127);
@ -1428,7 +1423,7 @@ void CMenu::_launchGC(dir_discHdr *hdr, bool disc)
else // loader == DEVOLUTION
{
// devolution does not allow force video and progressive mode
// igonore video setting choice and use game region always
// ignore video setting choice and use game region always
if(id[3] =='E' || id[3] =='J')
{
// if game is NTSC then video is based on console video

View File

@ -1,8 +1,5 @@
//#include <dirent.h>
//#include <unistd.h>
#include "menu.hpp"
//#include "defines.h"
// Source menu
s16 m_sourceLblPage;

View File

@ -46,14 +46,17 @@ cfga3=Install
cfga6=Language
cfga7=Theme
cfgb1=Ocarina
cfgb2=Default GC game loader
cfgb2=Game loader
cfgb3=Default video mode
cfgb4=Default game language
cfgb5=Default GC video mode
cfgb6=Default GC game language
cfgb5=Video mode
cfgb6=Game language
cfgb7=Channels Type
cfgb8=GameCube Settings
cfgb8=Default GC Settings
cfgb9=GameCube default settings
cfgb10=Devo Emu Memcard
cfgb11=Nintendont Emu Memcard
cfgb12=Nintendont Wii U Widescreen
cfgbnr1=Download Cover
cfgbnr2=Delete Cover
cfgbnr3=Download Custom Banner
@ -366,10 +369,10 @@ neek2o=neek2o
neogeo=Neo-Geo
nes=Nintendo
nintendo64=Nintendo64
NMMdebug=Debug
NMMDef=Default
NMMOff=Disabled
NMMon=Enabled
NinMCdebug=Debug
NinMCDef=Default
NinMCOff=Disabled
NinMCon=Enabled
NoDVDDef=Default
NoDVDOff=Disabled
NoDVDon=Enabled