mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-11-01 00:55:06 +01:00
- added pages 7 thru 11 to main settings. for a total of 19 more settings you can now set without having to manually edit the ini file.
- removed the setting data_on_usb. now your dev:/wiiflow folder must be on the same device/partition as the apps folder. which i'm 99.9% sure most users do. - added sd_only setting. no need to set it unless for some reason it gets set to true and you have usb hdd you want to use.
This commit is contained in:
parent
d03c014f43
commit
796a8d78f7
BIN
out/boot.dol
BIN
out/boot.dol
Binary file not shown.
Before Width: | Height: | Size: 3.3 MiB After Width: | Height: | Size: 3.3 MiB |
@ -360,6 +360,31 @@ void CVideo::prepareAAPass(int aaStep)
|
||||
GX_InvalidateTexAll();
|
||||
}
|
||||
|
||||
void CVideo::renderAAPass(int aaStep)
|
||||
{
|
||||
u8 texFmt = GX_TF_RGBA8;
|
||||
u32 w = m_aaWidth <= 0 ? m_rmode->fbWidth : (u32)m_aaWidth;
|
||||
u32 h = m_aaHeight <= 0 ? m_rmode->efbHeight: (u32)m_aaHeight;
|
||||
u32 bufLen = GX_GetTexBufferSize(w, h, texFmt, GX_FALSE, 0);
|
||||
|
||||
if (!m_aaBuffer[aaStep] || m_aaBufferSize[aaStep] < bufLen)
|
||||
{
|
||||
m_aaBuffer[aaStep] = (u8*)MEM2_alloc(bufLen);
|
||||
if (m_aaBuffer[aaStep] != NULL)
|
||||
m_aaBufferSize[aaStep] = bufLen;
|
||||
}
|
||||
if (!m_aaBuffer[aaStep] || m_aaBufferSize[aaStep] < bufLen)
|
||||
return;
|
||||
GX_SetZMode(GX_DISABLE, GX_ALWAYS, GX_TRUE);
|
||||
GX_DrawDone();
|
||||
GX_SetCopyFilter(GX_FALSE, NULL, GX_FALSE, NULL);
|
||||
GX_SetTexCopySrc(0, 0, w, h);
|
||||
GX_SetTexCopyDst(w, h, texFmt, GX_FALSE);
|
||||
GX_CopyTex(m_aaBuffer[aaStep], GX_TRUE);
|
||||
GX_PixModeSync();
|
||||
GX_SetCopyFilter(m_rmode->aa, m_rmode->sample_pattern, GX_TRUE, m_rmode->vfilter);
|
||||
}
|
||||
|
||||
void CVideo::drawAAScene(bool fs)
|
||||
{
|
||||
GXTexObj texObj[8];
|
||||
@ -433,31 +458,6 @@ void CVideo::drawAAScene(bool fs)
|
||||
GX_SetNumTevStages(1);
|
||||
}
|
||||
|
||||
void CVideo::renderAAPass(int aaStep)
|
||||
{
|
||||
u8 texFmt = GX_TF_RGBA8;
|
||||
u32 w = m_aaWidth <= 0 ? m_rmode->fbWidth : (u32)m_aaWidth;
|
||||
u32 h = m_aaHeight <= 0 ? m_rmode->efbHeight: (u32)m_aaHeight;
|
||||
u32 bufLen = GX_GetTexBufferSize(w, h, texFmt, GX_FALSE, 0);
|
||||
|
||||
if (!m_aaBuffer[aaStep] || m_aaBufferSize[aaStep] < bufLen)
|
||||
{
|
||||
m_aaBuffer[aaStep] = (u8*)MEM2_alloc(bufLen);
|
||||
if (m_aaBuffer[aaStep] != NULL)
|
||||
m_aaBufferSize[aaStep] = bufLen;
|
||||
}
|
||||
if (!m_aaBuffer[aaStep] || m_aaBufferSize[aaStep] < bufLen)
|
||||
return;
|
||||
GX_SetZMode(GX_DISABLE, GX_ALWAYS, GX_TRUE);
|
||||
GX_DrawDone();
|
||||
GX_SetCopyFilter(GX_FALSE, NULL, GX_FALSE, NULL);
|
||||
GX_SetTexCopySrc(0, 0, w, h);
|
||||
GX_SetTexCopyDst(w, h, texFmt, GX_FALSE);
|
||||
GX_CopyTex(m_aaBuffer[aaStep], GX_TRUE);
|
||||
GX_PixModeSync();
|
||||
GX_SetCopyFilter(m_rmode->aa, m_rmode->sample_pattern, GX_TRUE, m_rmode->vfilter);
|
||||
}
|
||||
|
||||
void CVideo::render(void)
|
||||
{
|
||||
GX_SetZMode(GX_DISABLE, GX_ALWAYS, GX_TRUE);
|
||||
|
@ -58,10 +58,10 @@ bool isUsingUSB() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* If we have the WiiFlow data on USB, then we're using USB */
|
||||
if(m_cfg.getBool("general", "data_on_usb", false))
|
||||
/* if sd_only is false, then we're using USB */
|
||||
if(!m_cfg.getBool("general", "sd_only", true))
|
||||
{
|
||||
// data_on_usb is true, so assuming we're using USB.
|
||||
// sd_only is false, so assuming we're using USB.
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -59,7 +59,6 @@ CMenu::CMenu()
|
||||
m_numCFVersions = 0;
|
||||
m_bgCrossFade = 0;
|
||||
m_bnrSndVol = 0;
|
||||
m_bnr_settings = true;
|
||||
m_directLaunch = false;
|
||||
m_exit = false;
|
||||
m_reload = false;
|
||||
@ -163,57 +162,19 @@ bool CMenu::init()
|
||||
m_init_network = (m_cfg.getBool("GENERAL", "async_network") || has_enabled_providers() || m_use_wifi_gecko);
|
||||
_netInit();
|
||||
|
||||
/* Try to find/make the wiiflow data directory */
|
||||
bool onUSB = m_cfg.getBool("GENERAL", "data_on_usb", strncmp(drive, "usb", 3) == 0);
|
||||
drive = check; //reset the drive variable for the check
|
||||
//check for wiiflow data directory on USB or SD based on data_on_usb
|
||||
if(!onUSB)
|
||||
/* Set SD only to off if any usb device is attached and format is FAT, NTFS, WBFS, or LINUX */
|
||||
m_cfg.setBool("GENERAL", "sd_only", true);
|
||||
for(int i = USB1; i <= USB8; i++)
|
||||
{
|
||||
if(DeviceHandle.IsInserted(SD))// no need to find sd:/wiiflow, it will be made if not exist
|
||||
drive = DeviceName[SD];
|
||||
else
|
||||
{
|
||||
onUSB = true;
|
||||
m_cfg.setBool("GENERAL", "data_on_usb", true);
|
||||
}
|
||||
}
|
||||
if(onUSB)
|
||||
{
|
||||
for(u8 i = USB1; i <= USB8; i++) //Look for first partition with a wiiflow folder in root
|
||||
{
|
||||
if(DeviceHandle.IsInserted(i) && DeviceHandle.GetFSType(i) != PART_FS_WBFS && stat(fmt("%s:/%s", DeviceName[i], APP_DATA_DIR), &dummy) == 0)
|
||||
{
|
||||
drive = DeviceName[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(drive == check)// if wiiflow data directory not found just find a valid USB partition
|
||||
{
|
||||
for(u8 i = USB1; i <= USB8; i++)
|
||||
{
|
||||
if(DeviceHandle.IsInserted(i) && DeviceHandle.GetFSType(i) != PART_FS_WBFS)
|
||||
{
|
||||
drive = DeviceName[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(drive == check && DeviceHandle.IsInserted(SD))//if no valid USB partition then force SD if inserted
|
||||
{
|
||||
drive = DeviceName[SD];
|
||||
// show error msg later after building menus
|
||||
}
|
||||
if(drive == check)// should not happen
|
||||
{
|
||||
/* No available usb partitions for data and no SD inserted! */
|
||||
return false;
|
||||
}
|
||||
if(DeviceHandle.IsInserted(i) && DeviceHandle.GetFSType(i) >= 0)
|
||||
m_cfg.setBool("GENERAL", "sd_only", false);
|
||||
}
|
||||
|
||||
/* Set data folder on same device as the apps/wiiflow folder */
|
||||
m_dataDir = fmt("%s:/%s", drive, APP_DATA_DIR);
|
||||
gprintf("Data Directory: %s\n", m_dataDir.c_str());
|
||||
snprintf(m_app_update_drive, sizeof(m_app_update_drive), "%s:/", drive);
|
||||
|
||||
/* Our Wii game dir */
|
||||
/* Our Wii games dir */
|
||||
memset(wii_games_dir, 0, 64);
|
||||
strncpy(wii_games_dir, m_cfg.getString(WII_DOMAIN, "wii_games_dir", GAMES_DIR).c_str(), 64);
|
||||
if(strncmp(wii_games_dir, "%s:/", 4) != 0)
|
||||
@ -235,12 +196,6 @@ bool CMenu::init()
|
||||
_installed_cios.clear();
|
||||
_load_installed_cioses();
|
||||
|
||||
/* Path Settings */
|
||||
m_dol = fmt("%s/boot.dol", m_appDir.c_str());
|
||||
m_ver = fmt("%s/versions", m_appDir.c_str());
|
||||
m_app_update_zip = fmt("%s/update.zip", m_appDir.c_str());
|
||||
m_data_update_zip = fmt("%s/update.zip", m_dataDir.c_str());
|
||||
|
||||
m_imgsDir = fmt("%s/imgs", m_appDir.c_str());
|
||||
m_binsDir = fmt("%s/bins", m_appDir.c_str());
|
||||
|
||||
@ -336,14 +291,14 @@ bool CMenu::init()
|
||||
if(!m_coverflow.loaded())
|
||||
m_coverflow.load(fmt("%s/coverflows/default.ini", m_themeDir.c_str()));
|
||||
|
||||
/* Get plugin ini files if plugin view enabled */
|
||||
if(!m_cfg.getBool(PLUGIN_DOMAIN, "disable", false))
|
||||
{
|
||||
/* Get plugin ini files */
|
||||
m_plugin.init(m_pluginsDir);
|
||||
Config m_plugin_cfg;
|
||||
INI_List.clear();
|
||||
GetFiles(m_pluginsDir.c_str(), stringToVector(".ini", '|'), GrabINIFiles, false, 1);
|
||||
|
||||
if(INI_List.size() > 0)
|
||||
{
|
||||
Config m_plugin_cfg;
|
||||
for(vector<string>::const_iterator iniFile = INI_List.begin(); iniFile != INI_List.end(); ++iniFile)
|
||||
{
|
||||
if(iniFile->find("scummvm.ini") != string::npos)
|
||||
@ -356,8 +311,9 @@ bool CMenu::init()
|
||||
}
|
||||
m_plugin_cfg.unload();
|
||||
}
|
||||
m_plugin.EndAdd();
|
||||
}
|
||||
m_plugin.EndAdd();
|
||||
|
||||
/* Set wiiflow language */
|
||||
const char *defLang = "Default";
|
||||
switch (CONF_GetLanguage())
|
||||
@ -424,11 +380,6 @@ bool CMenu::init()
|
||||
|
||||
/* Init Button Manager and build the menus */
|
||||
_buildMenus();
|
||||
if(drive == DeviceName[SD] && onUSB)
|
||||
{
|
||||
error(_fmt("errboot5", L"data_on_usb=yes and No available usb partitions for data!\nUsing SD."));
|
||||
m_cfg.setBool("GENERAL", "data_on_usb", false);
|
||||
}
|
||||
|
||||
/* Check if locked, set return to, set exit to, and init multi threading */
|
||||
m_locked = m_cfg.getString("GENERAL", "parent_code", "").size() >= 4;
|
||||
@ -1276,6 +1227,7 @@ void CMenu::_buildMenus(void)
|
||||
_initConfig3Menu();
|
||||
_initConfigMenu();
|
||||
_initConfigGCMenu();
|
||||
_initConfig7Menu();
|
||||
_initPartitionsCfgMenu();
|
||||
_initGameMenu();
|
||||
_initDownloadMenu();
|
||||
|
@ -158,17 +158,6 @@ private:
|
||||
bool m_txt_view;
|
||||
const char *m_txt_path;
|
||||
|
||||
/* Updates */
|
||||
char m_app_update_drive[6];
|
||||
const char* m_app_update_url;
|
||||
const char* m_data_update_url;
|
||||
string m_dol;
|
||||
string m_app_update_zip;
|
||||
u32 m_app_update_size;
|
||||
string m_data_update_zip;
|
||||
u32 m_data_update_size;
|
||||
string m_ver;
|
||||
|
||||
// Background image stuff
|
||||
TexData sfbgimg;
|
||||
TexData m_curBg;
|
||||
@ -891,6 +880,7 @@ private:
|
||||
void _initConfigSndMenu();
|
||||
void _initConfigScreenMenu();
|
||||
void _initConfigGCMenu();
|
||||
void _initConfig7Menu();
|
||||
void _initPartitionsCfgMenu();
|
||||
void _initGameMenu();
|
||||
void _initDownloadMenu();
|
||||
@ -956,6 +946,7 @@ private:
|
||||
void _hideConfigSnd(bool instant = false);
|
||||
void _hideConfigGC(bool instant = false);
|
||||
void _hideConfigGCPage(bool instant = false);
|
||||
void _hideConfig7(bool instant = false);
|
||||
void _hidePartitionsCfg(bool instant = false);
|
||||
void _hideGame(bool instant = false);
|
||||
void _hideDownload(bool instant = false);
|
||||
@ -991,6 +982,7 @@ private:
|
||||
void _showConfigSnd(void);
|
||||
void _showConfigGC(void);
|
||||
void _showConfigGCPage(void);
|
||||
void _showConfig7(int curPage);
|
||||
void _showPartitionsCfg(void);
|
||||
void _showNandEmu(void);
|
||||
void _showGame(void);
|
||||
@ -1042,6 +1034,7 @@ private:
|
||||
int _configAdv(void);
|
||||
int _configSnd(void);
|
||||
void _configGC(void);
|
||||
int _config7(int curPage);
|
||||
void _partitionsCfg(void);
|
||||
int _NandEmuCfg(void);
|
||||
int _AutoExtractSave(string gameId);
|
||||
|
@ -3,8 +3,7 @@
|
||||
#include "channel/nand.hpp"
|
||||
#include "loader/nk.h"
|
||||
|
||||
const int CMenu::_nbCfgPages = 6;
|
||||
static const int g_curPage = 1;
|
||||
const int CMenu::_nbCfgPages = 11;
|
||||
|
||||
void CMenu::_hideConfigCommon(bool instant)
|
||||
{
|
||||
@ -46,7 +45,7 @@ void CMenu::_showConfigCommon(const TexData &bg, int page)
|
||||
|
||||
void CMenu::_showConfig(void)
|
||||
{
|
||||
_showConfigCommon(m_configBg, g_curPage);
|
||||
_showConfigCommon(m_configBg, 1);
|
||||
|
||||
if(!m_locked)
|
||||
{
|
||||
@ -92,6 +91,21 @@ void CMenu::_config(int page)
|
||||
case 6:
|
||||
change = _configScreen();
|
||||
break;
|
||||
case 7:
|
||||
change = _config7(page);
|
||||
break;
|
||||
case 8:
|
||||
change = _config7(page);
|
||||
break;
|
||||
case 9:
|
||||
change = _config7(page);
|
||||
break;
|
||||
case 10:
|
||||
change = _config7(page);
|
||||
break;
|
||||
case 11:
|
||||
change = _config7(page);
|
||||
break;
|
||||
}
|
||||
if(change == CONFIG_PAGE_BACK)
|
||||
break;
|
||||
@ -142,8 +156,6 @@ int CMenu::_config1(void)
|
||||
if (change != CONFIG_PAGE_NO_CHANGE)
|
||||
break;
|
||||
|
||||
if (BTN_HOME_PRESSED || BTN_B_PRESSED)
|
||||
break;
|
||||
if (BTN_A_PRESSED)
|
||||
{
|
||||
if (m_btnMgr.selected(m_configBtnDownload))
|
||||
|
@ -1,8 +1,6 @@
|
||||
|
||||
#include "menu.hpp"
|
||||
|
||||
static const int g_curPage = 3;
|
||||
|
||||
template <class T> static inline T loopNum(T i, T s)
|
||||
{
|
||||
return (i + s) % s;
|
||||
@ -37,7 +35,7 @@ void CMenu::_hideConfig3(bool instant)
|
||||
|
||||
void CMenu::_showConfig3(void)
|
||||
{
|
||||
_showConfigCommon(m_config3Bg, g_curPage);
|
||||
_showConfigCommon(m_config3Bg, 3);
|
||||
|
||||
m_btnMgr.show(m_config3LblGameLanguage);
|
||||
m_btnMgr.show(m_config3LblLanguage);
|
||||
|
@ -2,7 +2,6 @@
|
||||
#include "menu.hpp"
|
||||
#include "channel/channels.h"
|
||||
|
||||
static const int g_curPage = 4;
|
||||
Config custom_titles;
|
||||
int currentChannelIndex = -1;
|
||||
int amountOfChannels = -1;
|
||||
@ -39,7 +38,7 @@ void CMenu::_hideConfig4(bool instant)
|
||||
|
||||
void CMenu::_showConfig4(void)
|
||||
{
|
||||
_showConfigCommon(m_config4Bg, g_curPage);
|
||||
_showConfigCommon(m_config4Bg, 4);
|
||||
|
||||
m_btnMgr.show(m_config4LblPathManager);
|
||||
m_btnMgr.show(m_config4BtnPathManager);
|
||||
|
328
source/menu/menu_config7.cpp
Normal file
328
source/menu/menu_config7.cpp
Normal file
@ -0,0 +1,328 @@
|
||||
|
||||
#include "menu.hpp"
|
||||
|
||||
using namespace std;
|
||||
|
||||
s16 m_config7Lbl1;
|
||||
s16 m_config7Lbl2;
|
||||
s16 m_config7Lbl3;
|
||||
s16 m_config7Lbl4;
|
||||
|
||||
s16 m_config7Btn1;
|
||||
s16 m_config7Btn2;
|
||||
s16 m_config7Btn3;
|
||||
s16 m_config7Btn4;
|
||||
|
||||
s16 m_config7Lbl4Val;
|
||||
s16 m_config7Btn4M;
|
||||
s16 m_config7Btn4P;
|
||||
|
||||
s16 m_config7LblUser[4];
|
||||
|
||||
TexData m_config7Bg;
|
||||
|
||||
void CMenu::_hideConfig7(bool instant)
|
||||
{
|
||||
_hideConfigCommon(instant);
|
||||
|
||||
m_btnMgr.hide(m_config7Lbl1, instant);
|
||||
m_btnMgr.hide(m_config7Btn1, instant);
|
||||
m_btnMgr.hide(m_config7Lbl2, instant);
|
||||
m_btnMgr.hide(m_config7Btn2, instant);
|
||||
m_btnMgr.hide(m_config7Lbl3, instant);
|
||||
m_btnMgr.hide(m_config7Btn3, instant);
|
||||
m_btnMgr.hide(m_config7Lbl4, instant);
|
||||
m_btnMgr.hide(m_config7Btn4, instant);
|
||||
|
||||
m_btnMgr.hide(m_config7Lbl4Val, instant);
|
||||
m_btnMgr.hide(m_config7Btn4M, instant);
|
||||
m_btnMgr.hide(m_config7Btn4P, instant);
|
||||
|
||||
for(u8 i = 0; i < ARRAY_SIZE(m_config7LblUser); ++i)
|
||||
if(m_config7LblUser[i] != -1)
|
||||
m_btnMgr.hide(m_config7LblUser[i], instant);
|
||||
}
|
||||
|
||||
void CMenu::_showConfig7(int curPage)
|
||||
{
|
||||
_showConfigCommon(m_config7Bg,curPage);
|
||||
|
||||
m_btnMgr.hide(m_config7Lbl1, true);
|
||||
m_btnMgr.hide(m_config7Btn1, true);
|
||||
m_btnMgr.hide(m_config7Lbl2, true);
|
||||
m_btnMgr.hide(m_config7Btn2, true);
|
||||
m_btnMgr.hide(m_config7Lbl3, true);
|
||||
m_btnMgr.hide(m_config7Btn3, true);
|
||||
m_btnMgr.hide(m_config7Lbl4, true);
|
||||
m_btnMgr.hide(m_config7Btn4, true);
|
||||
|
||||
m_btnMgr.hide(m_config7Lbl4Val, true);
|
||||
m_btnMgr.hide(m_config7Btn4M, true);
|
||||
m_btnMgr.hide(m_config7Btn4P, true);
|
||||
|
||||
_setBg(m_config7Bg, m_config7Bg);
|
||||
|
||||
for(u32 i = 0; i < ARRAY_SIZE(m_config7LblUser); ++i)
|
||||
if(m_config7LblUser[i] != -1)
|
||||
m_btnMgr.show(m_config7LblUser[i]);
|
||||
|
||||
m_btnMgr.show(m_config7Lbl1);
|
||||
m_btnMgr.show(m_config7Btn1);
|
||||
m_btnMgr.show(m_config7Lbl2);
|
||||
m_btnMgr.show(m_config7Btn2);
|
||||
m_btnMgr.show(m_config7Lbl3);
|
||||
m_btnMgr.show(m_config7Btn3);
|
||||
if(curPage != 11)
|
||||
m_btnMgr.show(m_config7Lbl4);
|
||||
|
||||
if(curPage == 7)
|
||||
m_btnMgr.show(m_config7Btn4);
|
||||
else if(curPage != 11)
|
||||
{
|
||||
m_btnMgr.show(m_config7Lbl4Val);
|
||||
m_btnMgr.show(m_config7Btn4M);
|
||||
m_btnMgr.show(m_config7Btn4P);
|
||||
}
|
||||
|
||||
if(curPage == 7)
|
||||
{
|
||||
m_btnMgr.setText(m_config7Lbl1, _t("cfg701", L"Hide all source buttons"));
|
||||
m_btnMgr.setText(m_config7Btn1, m_cfg.getBool("GENERAL", "hideviews") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
m_btnMgr.setText(m_config7Lbl2, _t("cfg702", L"Hide GameCube button"));
|
||||
m_btnMgr.setText(m_config7Btn2, m_cfg.getBool(GC_DOMAIN, "disable") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
m_btnMgr.setText(m_config7Lbl3, _t("cfg703", L"Hide channels button"));
|
||||
m_btnMgr.setText(m_config7Btn3, m_cfg.getBool(CHANNEL_DOMAIN, "disable") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
m_btnMgr.setText(m_config7Lbl4, _t("cfg704", L"Hide plugins button"));
|
||||
m_btnMgr.setText(m_config7Btn4, m_cfg.getBool(PLUGIN_DOMAIN, "disable") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
}
|
||||
else if(curPage == 8)
|
||||
{
|
||||
m_btnMgr.setText(m_config7Lbl1, _t("cfg705", L"Show banner in game settings"));
|
||||
m_btnMgr.setText(m_config7Btn1, m_cfg.getBool("GENERAL", "banner_in_settings") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
m_btnMgr.setText(m_config7Lbl2, _t("cfg706", L"Enable fanart"));
|
||||
m_btnMgr.setText(m_config7Btn1, m_cfg.getBool("FANART", "enable_fanart") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
m_btnMgr.setText(m_config7Lbl3, _t("cfg707", L"Fanart default loop"));
|
||||
m_btnMgr.setText(m_config7Btn1, !m_cfg.getBool("FANART", "show_cover_after_animation") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
m_btnMgr.setText(m_config7Lbl4, _t("cfg708", L"Fanart default ending delay"));
|
||||
m_btnMgr.setText(m_config7Lbl4Val, wfmt(L"%i", m_cfg.getInt("FANART", "delay_after_animation", 200)));
|
||||
}
|
||||
else if(curPage == 9)
|
||||
{
|
||||
m_btnMgr.setText(m_config7Lbl1, _t("cfg709", L"Rumble"));
|
||||
m_btnMgr.setText(m_config7Btn1, m_cfg.getBool("GENERAL", "rumble") ? _t("on", L"On") : _t("off", L"Off"));
|
||||
m_btnMgr.setText(m_config7Lbl2, _t("cfg710", L"Wiimote gestures"));
|
||||
m_btnMgr.setText(m_config7Btn2, m_cfg.getBool("GENERAL", "wiimote_gestures") ? _t("on", L"On") : _t("off", L"Off"));
|
||||
m_btnMgr.setText(m_config7Lbl3, _t("cfg711", L"Screensaver"));
|
||||
m_btnMgr.setText(m_config7Btn3, !m_cfg.getBool("GENERAL", "screensaver_disabled") ? _t("on", L"On") : _t("off", L"Off"));
|
||||
m_btnMgr.setText(m_config7Lbl4, _t("cfg712", L"Screensaver idle seconds"));
|
||||
m_btnMgr.setText(m_config7Lbl4Val, wfmt(L"%i", m_cfg.getInt("GENERAL", "screensaver_idle_seconds", 60)));// inc by 30
|
||||
}
|
||||
else if(curPage == 10)
|
||||
{
|
||||
m_btnMgr.setText(m_config7Lbl1, _t("cfg713", L"Use HQ covers"));
|
||||
m_btnMgr.setText(m_config7Btn1, m_cfg.getBool("GENERAL", "cover_use_hq") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
m_btnMgr.setText(m_config7Lbl2, _t("cfg714", L"Display music title"));
|
||||
m_btnMgr.setText(m_config7Btn2, m_cfg.getBool("GENERAL", "display_music_info") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
m_btnMgr.setText(m_config7Lbl3, _t("cfg715", L"Randomize music"));
|
||||
m_btnMgr.setText(m_config7Btn3, m_cfg.getBool("GENERAL", "randomize_music") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
m_btnMgr.setText(m_config7Lbl4, _t("cfg716", L"Music fade rate"));
|
||||
m_btnMgr.setText(m_config7Lbl4Val, wfmt(L"%i", m_cfg.getInt("GENERAL", "music_fade_rate", 8)));
|
||||
}
|
||||
else // page 11
|
||||
{
|
||||
m_btnMgr.setText(m_config7Lbl1, _t("cfg717", L"Random game boot or select"));
|
||||
m_btnMgr.setText(m_config7Btn1, m_cfg.getBool("GENERAL", "random_select") ? _t("select", L"Select") : _t("boot", L"Boot"));
|
||||
m_btnMgr.setText(m_config7Lbl2, _t("cfg718", L"Source Menu on start"));
|
||||
m_btnMgr.setText(m_config7Btn2, m_cfg.getBool("GENERAL", "source_on_start") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
m_btnMgr.setText(m_config7Lbl3, _t("cfg719", L"SD only"));
|
||||
m_btnMgr.setText(m_config7Btn3, m_cfg.getBool("GENERAL", "sd_only") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
}
|
||||
}
|
||||
|
||||
int CMenu::_config7(int curPage)
|
||||
{
|
||||
bool rand_music = m_cfg.getBool("GENERAL", "randomize_music");
|
||||
bool hq_covers = m_cfg.getBool("GENERAL", "cover_use_hq");
|
||||
int change = CONFIG_PAGE_NO_CHANGE;
|
||||
_showConfig7(curPage);
|
||||
|
||||
while(!m_exit)
|
||||
{
|
||||
change = _configCommon();
|
||||
if(change != CONFIG_PAGE_NO_CHANGE)
|
||||
break;
|
||||
if(BTN_A_PRESSED)
|
||||
{
|
||||
if(curPage == 7)
|
||||
{
|
||||
if(m_btnMgr.selected(m_config7Btn1))
|
||||
{
|
||||
m_cfg.setBool("GENERAL", "hideviews", !m_cfg.getBool("GENERAL", "hideviews"));
|
||||
m_btnMgr.setText(m_config7Btn1, m_cfg.getBool("GENERAL", "hideviews") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
}
|
||||
else if(m_btnMgr.selected(m_config7Btn2))
|
||||
{
|
||||
m_cfg.setBool(GC_DOMAIN, "disable", !m_cfg.getBool(GC_DOMAIN, "disable"));
|
||||
m_btnMgr.setText(m_config7Btn2, m_cfg.getBool(GC_DOMAIN, "disable") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
}
|
||||
else if(m_btnMgr.selected(m_config7Btn3))
|
||||
{
|
||||
m_cfg.setBool(CHANNEL_DOMAIN, "disable", !m_cfg.getBool(CHANNEL_DOMAIN, "disable"));
|
||||
m_btnMgr.setText(m_config7Btn3, m_cfg.getBool(CHANNEL_DOMAIN, "disable") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
}
|
||||
else if(m_btnMgr.selected(m_config7Btn4))
|
||||
{
|
||||
m_cfg.setBool(PLUGIN_DOMAIN, "disable", !m_cfg.getBool(PLUGIN_DOMAIN, "disable"));
|
||||
m_btnMgr.setText(m_config7Btn4, m_cfg.getBool(PLUGIN_DOMAIN, "disable") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
}
|
||||
}
|
||||
if(curPage == 8)
|
||||
{
|
||||
if(m_btnMgr.selected(m_config7Btn1))
|
||||
{
|
||||
m_cfg.setBool("GENERAL", "banner_in_settings", !m_cfg.getBool("GENERAL", "banner_in_settings"));
|
||||
m_btnMgr.setText(m_config7Btn1, m_cfg.getBool("GENERAL", "banner_in_settings") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
m_bnr_settings = m_cfg.getBool("GENERAL", "banner_in_settings");
|
||||
}
|
||||
else if(m_btnMgr.selected(m_config7Btn2))
|
||||
{
|
||||
m_cfg.setBool("FANART", "enable_fanart", !m_cfg.getBool("FANART", "enable_fanart"));
|
||||
m_btnMgr.setText(m_config7Btn2, m_cfg.getBool("FANART", "enable_fanart") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
}
|
||||
else if(m_btnMgr.selected(m_config7Btn3))
|
||||
{
|
||||
m_cfg.setBool("FANART", "show_cover_after_animation", !m_cfg.getBool("FANART", "show_cover_after_animation"));
|
||||
m_btnMgr.setText(m_config7Btn3, m_cfg.getBool("FANART", "show_cover_after_animation") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
}
|
||||
else if(m_btnMgr.selected(m_config7Btn4P) || m_btnMgr.selected(m_config7Btn4M))
|
||||
{
|
||||
s8 direction = m_btnMgr.selected(m_config7Btn4P) ? 1 : -1;
|
||||
int val = m_cfg.getInt("FANART", "delay_after_animation") + direction;
|
||||
if(val >= 0 && val < 360)
|
||||
m_cfg.setInt("FANART", "delay_after_animation", val);
|
||||
m_btnMgr.setText(m_config7Lbl4Val, wfmt(L"%i", m_cfg.getInt("FANART", "delay_after_animation")));
|
||||
}
|
||||
}
|
||||
if(curPage == 9)
|
||||
{
|
||||
if(m_btnMgr.selected(m_config7Btn1))
|
||||
{
|
||||
m_cfg.setBool("GENERAL", "rumble", !m_cfg.getBool("GENERAL", "rumble"));
|
||||
m_btnMgr.setText(m_config7Btn1, m_cfg.getBool("GENERAL", "rumble") ? _t("on", L"On") : _t("off", L"Off"));
|
||||
m_btnMgr.setRumble(m_cfg.getBool("GENERAL", "rumble"));
|
||||
}
|
||||
else if(m_btnMgr.selected(m_config7Btn2))
|
||||
{
|
||||
m_cfg.setBool("GENERAL", "wiimote_gestures", !m_cfg.getBool("GENERAL", "wiimote_gestures"));
|
||||
m_btnMgr.setText(m_config7Btn2, m_cfg.getBool("GENERAL", "wiimote_gestures") ? _t("on", L"On") : _t("off", L"Off"));
|
||||
enable_wmote_roll = m_cfg.getBool("GENERAL", "wiimote_gestures");
|
||||
}
|
||||
else if(m_btnMgr.selected(m_config7Btn3))
|
||||
{
|
||||
m_cfg.setBool("GENERAL", "screensaver_disabled", !m_cfg.getBool("GENERAL", "screensaver_disabled"));
|
||||
m_btnMgr.setText(m_config7Btn3, m_cfg.getBool("GENERAL", "screensaver_disabled") ? _t("on", L"On") : _t("off", L"Off"));
|
||||
}
|
||||
else if(m_btnMgr.selected(m_config7Btn4P) || m_btnMgr.selected(m_config7Btn4M))
|
||||
{
|
||||
s8 direction = m_btnMgr.selected(m_config7Btn4P) ? 30 : -30;
|
||||
int val = m_cfg.getInt("GENERAL", "screensaver_idle_seconds") + direction;
|
||||
if(val >= 0 && val < 361)
|
||||
m_cfg.setInt("GENERAL", "screensaver_idle_seconds", val);
|
||||
m_btnMgr.setText(m_config7Lbl4Val, wfmt(L"%i", m_cfg.getInt("GENERAL", "screensaver_idle_seconds")));
|
||||
}
|
||||
}
|
||||
if(curPage == 10)
|
||||
{
|
||||
if(m_btnMgr.selected(m_config7Btn1))
|
||||
{
|
||||
m_cfg.setBool("GENERAL", "cover_use_hq", !m_cfg.getBool("GENERAL", "cover_use_hq"));
|
||||
m_btnMgr.setText(m_config7Btn1, m_cfg.getBool("GENERAL", "cover_use_hq") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
}
|
||||
else if(m_btnMgr.selected(m_config7Btn2))
|
||||
{
|
||||
m_cfg.setBool("GENERAL", "display_music_info", !m_cfg.getBool("GENERAL", "display_music_info"));
|
||||
m_btnMgr.setText(m_config7Btn2, m_cfg.getBool("GENERAL", "display_music_info") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
m_music_info = m_cfg.getBool("GENERAL", "display_music_info");
|
||||
}
|
||||
else if(m_btnMgr.selected(m_config7Btn3))
|
||||
{
|
||||
m_cfg.setBool("GENERAL", "randomize_music", !m_cfg.getBool("GENERAL", "randomize_music"));
|
||||
m_btnMgr.setText(m_config7Btn3, m_cfg.getBool("GENERAL", "randomize_music") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
}
|
||||
else if(m_btnMgr.selected(m_config7Btn4P) || m_btnMgr.selected(m_config7Btn4M))
|
||||
{
|
||||
s8 direction = m_btnMgr.selected(m_config7Btn4P) ? 1 : -1;
|
||||
int val = m_cfg.getInt("GENERAL", "music_fade_rate") + direction;
|
||||
if(val >= 0 && val < 30)
|
||||
m_cfg.setInt("GENERAL", "music_fade_rate", val);
|
||||
m_btnMgr.setText(m_config7Lbl4Val, wfmt(L"%i", m_cfg.getInt("GENERAL", "music_fade_rate")));
|
||||
MusicPlayer.SetFadeRate(m_cfg.getInt("GENERAL", "music_fade_rate"));
|
||||
}
|
||||
}
|
||||
if(curPage == 11)
|
||||
{
|
||||
if(m_btnMgr.selected(m_config7Btn1))
|
||||
{
|
||||
m_cfg.setBool("GENERAL", "random_select", !m_cfg.getBool("GENERAL", "random_select"));
|
||||
m_btnMgr.setText(m_config7Btn1, m_cfg.getBool("GENERAL", "random_select") ? _t("select", L"Select") : _t("boot", L"Boot"));
|
||||
}
|
||||
else if(m_btnMgr.selected(m_config7Btn2))
|
||||
{
|
||||
m_cfg.setBool("GENERAL", "source_on_start", !m_cfg.getBool("GENERAL", "source_on_start"));
|
||||
m_btnMgr.setText(m_config7Btn2, m_cfg.getBool("GENERAL", "source_on_start") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
}
|
||||
else if(m_btnMgr.selected(m_config7Btn3))
|
||||
{
|
||||
m_cfg.setBool("GENERAL", "sd_only", !m_cfg.getBool("GENERAL", "sd_only"));
|
||||
m_btnMgr.setText(m_config7Btn3, m_cfg.getBool("GENERAL", "sd_only") ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(rand_music != m_cfg.getBool("GENERAL", "randomize_music"))
|
||||
MusicPlayer.Init(m_cfg, m_musicDir, fmt("%s/music", m_themeDataDir.c_str()));
|
||||
if(hq_covers != m_cfg.getBool("GENERAL", "cover_use_hq"))
|
||||
_initCF();
|
||||
_hideConfig7();
|
||||
return change;
|
||||
}
|
||||
|
||||
void CMenu::_initConfig7Menu()
|
||||
{
|
||||
_addUserLabels(m_config7LblUser, ARRAY_SIZE(m_config7LblUser), "CONFIG7");
|
||||
m_config7Bg = _texture("CONFIG7/BG", "texture", theme.bg, false);
|
||||
|
||||
m_config7Lbl1 = _addLabel("CONFIG7/LINE1", theme.lblFont, L"", 20, 125, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
|
||||
m_config7Btn1 = _addButton("CONFIG7/LINE1_BTN", theme.btnFont, L"", 420, 130, 200, 48, theme.btnFontColor);
|
||||
m_config7Lbl2 = _addLabel("CONFIG7/LINE2", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
|
||||
m_config7Btn2 = _addButton("CONFIG7/LINE2_BTN", theme.btnFont, L"", 420, 190, 200, 48, theme.btnFontColor);
|
||||
m_config7Lbl3 = _addLabel("CONFIG7/LINE3", theme.lblFont, L"", 20, 245, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
|
||||
m_config7Btn3 = _addButton("CONFIG7/LINE3_BTN", theme.btnFont, L"", 420, 250, 200, 48, theme.btnFontColor);
|
||||
m_config7Lbl4 = _addLabel("CONFIG7/LINE4", theme.lblFont, L"", 20, 305, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
|
||||
m_config7Btn4 = _addButton("CONFIG7/LINE4_BTN", theme.btnFont, L"", 420, 310, 200, 48, theme.btnFontColor);
|
||||
|
||||
m_config7Lbl4Val = _addLabel("CONFIG7/LINE4_VAL", theme.btnFont, L"", 468, 310, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC);
|
||||
m_config7Btn4M = _addPicButton("CONFIG7/LINE4_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 310, 48, 48);
|
||||
m_config7Btn4P = _addPicButton("CONFIG7/LINE4_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 310, 48, 48);
|
||||
|
||||
_setHideAnim(m_config7Lbl1, "CONFIG7/LINE1", 50, 0, -2.f, 0.f);
|
||||
_setHideAnim(m_config7Btn1, "CONFIG7/LINE1_BTN", -50, 0, 1.f, 0.f);
|
||||
_setHideAnim(m_config7Lbl2, "CONFIG7/LINE2", 50, 0, -2.f, 0.f);
|
||||
_setHideAnim(m_config7Btn2, "CONFIG7/LINE2_BTN", -50, 0, 1.f, 0.f);
|
||||
_setHideAnim(m_config7Lbl3, "CONFIG7/LINE3", 50, 0, -2.f, 0.f);
|
||||
_setHideAnim(m_config7Btn3, "CONFIG7/LINE3_BTN", -50, 0, 1.f, 0.f);
|
||||
_setHideAnim(m_config7Lbl4, "CONFIG7/LINE4", 50, 0, -2.f, 0.f);
|
||||
_setHideAnim(m_config7Btn4, "CONFIG7/LINE4_BTN", -50, 0, 1.f, 0.f);
|
||||
|
||||
_setHideAnim(m_config7Lbl4Val, "CONFIG7/LINE4_VAL", -50, 0, 1.f, 0.f);
|
||||
_setHideAnim(m_config7Btn4M, "CONFIG7/LINE4_MINUS", -50, 0, 1.f, 0.f);
|
||||
_setHideAnim(m_config7Btn4P, "CONFIG7/LINE4_PLUS", -50, 0, 1.f, 0.f);
|
||||
|
||||
_hideConfig7(true);
|
||||
}
|
||||
|
||||
/*
|
||||
void CMenu::_textConfig7(void)
|
||||
{
|
||||
}
|
||||
*/
|
@ -5,8 +5,6 @@
|
||||
|
||||
using namespace std;
|
||||
|
||||
static const int g_curPage = 2;
|
||||
|
||||
template <class T> static inline T loopNum(T i, T s)
|
||||
{
|
||||
return (i + s) % s;
|
||||
@ -46,7 +44,7 @@ void CMenu::_hideConfigAdv(bool instant)
|
||||
|
||||
void CMenu::_showConfigAdv(void)
|
||||
{
|
||||
_showConfigCommon(m_configAdvBg, g_curPage);
|
||||
_showConfigCommon(m_configAdvBg, 2);
|
||||
|
||||
m_btnMgr.show(m_configAdvLblCurTheme);
|
||||
m_btnMgr.show(m_configAdvBtnCurThemeM);
|
||||
|
@ -1,8 +1,6 @@
|
||||
|
||||
#include "menu.hpp"
|
||||
|
||||
static const int g_curPage = 6;
|
||||
|
||||
void CMenu::_hideConfigScreen(bool instant)
|
||||
{
|
||||
_hideConfigCommon(instant);
|
||||
@ -30,7 +28,7 @@ void CMenu::_hideConfigScreen(bool instant)
|
||||
|
||||
void CMenu::_showConfigScreen(void)
|
||||
{
|
||||
_showConfigCommon(m_configScreenBg, g_curPage);
|
||||
_showConfigCommon(m_configScreenBg, 6);
|
||||
|
||||
m_btnMgr.show(m_configScreenLblTVHeight);
|
||||
m_btnMgr.show(m_configScreenLblTVHeightVal);
|
||||
|
@ -1,8 +1,6 @@
|
||||
|
||||
#include "menu.hpp"
|
||||
|
||||
static const int g_curPage = 5;
|
||||
|
||||
void CMenu::_hideConfigSnd(bool instant)
|
||||
{
|
||||
_hideConfigCommon(instant);
|
||||
@ -30,7 +28,7 @@ void CMenu::_hideConfigSnd(bool instant)
|
||||
|
||||
void CMenu::_showConfigSnd(void)
|
||||
{
|
||||
_showConfigCommon(m_configSndBg, g_curPage);
|
||||
_showConfigCommon(m_configSndBg, 5);
|
||||
|
||||
m_btnMgr.show(m_configSndLblBnrVol);
|
||||
m_btnMgr.show(m_configSndLblBnrVolVal);
|
||||
|
@ -988,7 +988,7 @@ void CMenu::_game(bool launch)
|
||||
if(coverFlipped)
|
||||
{
|
||||
m_coverflow.setVector3D(domain, key, savedv);
|
||||
_loadCFLayout(cf_version, true);
|
||||
_loadCFLayout(cf_version, true);// true?
|
||||
CoverFlow.applySettings();
|
||||
}
|
||||
m_gameSelected = false;
|
||||
|
@ -414,6 +414,9 @@ int CMenu::main(void)
|
||||
bheld = true;
|
||||
bUsed = true;
|
||||
}
|
||||
show_channel = !m_cfg.getBool(CHANNEL_DOMAIN, "disable", false);
|
||||
show_plugin = !m_cfg.getBool(PLUGIN_DOMAIN, "disable", false);
|
||||
show_gamecube = !m_cfg.getBool(GC_DOMAIN, "disable", false);
|
||||
_showMain();
|
||||
}
|
||||
else if(m_btnMgr.selected(m_mainBtnHomebrew))
|
||||
|
@ -65,6 +65,11 @@ void Musicplayer::Init(Config &cfg, const string& musicDir, const string& themeM
|
||||
CurrentFileName = FileNames.begin();
|
||||
}
|
||||
|
||||
void Musicplayer::SetFadeRate(u8 faderate)
|
||||
{
|
||||
FadeRate = faderate;
|
||||
}
|
||||
|
||||
void Musicplayer::SetMaxVolume(u8 volume)
|
||||
{
|
||||
Volume = volume;
|
||||
|
@ -31,6 +31,7 @@ public:
|
||||
void Init(Config &cfg, const string& musicDir, const string& themeMusicDir);
|
||||
void Tick(bool attenuate);
|
||||
|
||||
void SetFadeRate(u8 faderate);
|
||||
void SetVolume(u8 volume);
|
||||
void SetMaxVolume(u8 volume);
|
||||
u8 GetVolume() { return CurrentVolume; };
|
||||
|
@ -34,7 +34,7 @@ void Plugin::init(const string& m_pluginsDir)
|
||||
{
|
||||
PluginMagicWord[8] = '\0';
|
||||
pluginsDir = m_pluginsDir;
|
||||
//Ready to add plugins
|
||||
Plugins.clear();
|
||||
adding = true;
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,7 @@ appname=%s v%s
|
||||
aspect169=Force 16:9
|
||||
aspect43=Force 4:3
|
||||
aspectDef=Default
|
||||
boot=Boot
|
||||
bootmii=BootMii
|
||||
bycontrollers=By Controllers
|
||||
byesrb=By ESRB
|
||||
@ -41,6 +42,25 @@ cfg4=Download
|
||||
cfg5=Parental control
|
||||
cfg6=Unlock
|
||||
cfg7=Set code
|
||||
cfg701=Hide all source buttons
|
||||
cfg702=Hide GameCube button
|
||||
cfg703=Hide channels button
|
||||
cfg704=Hide plugins button
|
||||
cfg705=Show banner in game settings
|
||||
cfg706=Enable fanart
|
||||
cfg707=Fanart default loop
|
||||
cfg708=Fanart default ending delay
|
||||
cfg709=Rumble
|
||||
cfg710=Wiimote gestures
|
||||
cfg711=Screensaver
|
||||
cfg712=Screensaver idle seconds
|
||||
cfg713=Use HQ covers
|
||||
cfg714=Display music title
|
||||
cfg715=Randomize music
|
||||
cfg716=Music fade rate
|
||||
cfg717=Random game boot or select
|
||||
cfg718=Source Menu on start
|
||||
cfg719=SD only
|
||||
cfga2=Install game
|
||||
cfga3=Install
|
||||
cfga6=Language
|
||||
@ -376,6 +396,7 @@ NinMCon=Enabled
|
||||
NoDVDDef=Default
|
||||
NoDVDOff=Disabled
|
||||
NoDVDon=Enabled
|
||||
no=No
|
||||
off=Off
|
||||
on=On
|
||||
part1=Wii Partition
|
||||
@ -396,6 +417,7 @@ SavePartG=Game save
|
||||
SaveReg=Regionswitch
|
||||
SaveRegG=Regionswitch
|
||||
savedtheme=Theme config saved!
|
||||
select=Select
|
||||
snes=Super Nintendo
|
||||
stup1=Select Source
|
||||
stup2=** DISABLED **
|
||||
@ -466,3 +488,4 @@ wii=Wii
|
||||
wiichannels=Offical Wii Channels
|
||||
wiiware=WiiWare
|
||||
wiiu=Wii U Menu
|
||||
yes=Yes
|
||||
|
Loading…
Reference in New Issue
Block a user