2012-10-03 23:34:37 +02:00
|
|
|
#include <dirent.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
|
2012-05-11 16:17:39 +02:00
|
|
|
#include "menu.hpp"
|
2012-05-19 23:55:58 +02:00
|
|
|
#include "defines.h"
|
|
|
|
|
2012-05-25 16:21:43 +02:00
|
|
|
// Source menu
|
2012-09-13 16:54:17 +02:00
|
|
|
s16 m_sourceLblNotice;
|
|
|
|
s16 m_sourceLblPage;
|
|
|
|
s16 m_sourceBtnPageM;
|
|
|
|
s16 m_sourceBtnPageP;
|
2013-01-15 14:54:33 +01:00
|
|
|
s16 m_sourceBtnBack;
|
2016-06-20 23:03:40 +02:00
|
|
|
s16 m_sourceBtnClear;
|
2012-09-13 16:54:17 +02:00
|
|
|
s16 m_sourceLblTitle;
|
|
|
|
s16 m_sourceBtnSource[12];
|
|
|
|
s16 m_sourceLblUser[4];
|
2012-05-11 16:17:39 +02:00
|
|
|
|
2013-07-23 15:14:51 +02:00
|
|
|
TexData m_sourceBg;
|
|
|
|
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
string source, themeName;
|
2013-09-21 18:33:16 +02:00
|
|
|
bool exitSource = false;
|
2013-07-29 23:06:50 +02:00
|
|
|
u8 sourceBtn;
|
|
|
|
u8 selectedBtns;
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
static u8 i, j, k;
|
|
|
|
int curPage;
|
|
|
|
int numPages;
|
2013-07-23 15:14:51 +02:00
|
|
|
vector<string> magicNums;
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
char btn_selected[16];
|
|
|
|
char current_btn[16];
|
|
|
|
|
|
|
|
void CMenu::_sourceFlow()
|
|
|
|
{
|
|
|
|
const dir_discHdr *hdr = CoverFlow.getHdr();
|
|
|
|
if(m_cfg.getBool("SOURCEFLOW", "remember_last_item", true))
|
|
|
|
m_cfg.setString("SOURCEFLOW", "current_item", strrchr(hdr->path, '/') + 1);
|
|
|
|
else
|
|
|
|
m_cfg.remove("SOURCEFLOW", "current_item");
|
|
|
|
|
|
|
|
memset(btn_selected, 0, 16);
|
|
|
|
strncpy(btn_selected, fmt("BUTTON_%i", hdr->settings[0]), 15);
|
|
|
|
source = m_source.getString(btn_selected, "source", "");
|
|
|
|
cf_domain = "_COVERFLOW";
|
|
|
|
_clearSources();// may have to move this
|
|
|
|
/*if(source == "wii")
|
|
|
|
{
|
|
|
|
m_cfg.setBool(WII_DOMAIN, "source", true);
|
|
|
|
if(sf_mode == 0)
|
|
|
|
{
|
|
|
|
m_current_view = COVERFLOW_WII;
|
|
|
|
m_catStartPage = m_source.getInt(btn_selected, "cat_page", 1);
|
|
|
|
}
|
|
|
|
}*/
|
|
|
|
if(source == "wii")
|
|
|
|
{
|
|
|
|
m_current_view = COVERFLOW_WII;
|
|
|
|
m_cfg.setBool(WII_DOMAIN, "source", true);
|
|
|
|
}
|
|
|
|
else if(source == "dml")
|
|
|
|
{
|
|
|
|
m_current_view = COVERFLOW_GAMECUBE;
|
|
|
|
m_cfg.setBool(GC_DOMAIN, "source", true);
|
|
|
|
}
|
|
|
|
else if(source == "emunand")
|
|
|
|
{
|
|
|
|
m_current_view = COVERFLOW_CHANNEL;
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "source", true);
|
2016-06-20 23:03:40 +02:00
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "emu_nand", true);
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "real_nand", false);
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
}
|
|
|
|
else if(source == "realnand")
|
|
|
|
{
|
|
|
|
m_current_view = COVERFLOW_CHANNEL;
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "source", true);
|
2016-06-20 23:03:40 +02:00
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "real_nand", true);
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "emu_nand", false);
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
}
|
|
|
|
else if(source == "homebrew")
|
|
|
|
{
|
|
|
|
m_current_view = COVERFLOW_HOMEBREW;
|
|
|
|
m_cfg.setBool(HOMEBREW_DOMAIN, "source", true);
|
|
|
|
if(m_cfg.getBool(HOMEBREW_DOMAIN, "smallbox", true))
|
|
|
|
cf_domain = "_SMALLFLOW";
|
|
|
|
}
|
|
|
|
else if(source == "allplugins")
|
|
|
|
{
|
|
|
|
m_current_view = COVERFLOW_PLUGIN;
|
|
|
|
m_cfg.setBool(PLUGIN_DOMAIN, "source", true);
|
|
|
|
for(k = 0; k < m_numPlugins; ++k)
|
|
|
|
m_plugin.SetEnablePlugin(m_cfg, k, 2); /* force enable */
|
|
|
|
}
|
|
|
|
else if(source == "plugin")
|
|
|
|
{
|
|
|
|
magicNums.clear();
|
|
|
|
magicNums = m_source.getStrings(btn_selected, "magic", ',');
|
|
|
|
if(magicNums.size() > 0 )
|
|
|
|
{
|
|
|
|
m_current_view = COVERFLOW_PLUGIN;
|
|
|
|
m_cfg.setBool(PLUGIN_DOMAIN, "source", true);
|
|
|
|
for(k = 0; k < m_numPlugins; ++k)
|
|
|
|
m_plugin.SetEnablePlugin(m_cfg, k, 1); /* force disable */
|
|
|
|
for(vector<string>::iterator itr = magicNums.begin(); itr != magicNums.end(); itr++)
|
|
|
|
{
|
|
|
|
s8 exist = m_plugin.GetPluginPosition(strtoul(itr->c_str(), NULL, 16));
|
|
|
|
if(exist >= 0)
|
|
|
|
m_plugin.SetEnablePlugin(m_cfg, exist, 2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_sourceflow = false;// do something with this when in muilti
|
|
|
|
//no autoboot if multi mode. may have to make sure autoboot plugins are hidden from flow when multi is on.
|
|
|
|
_setSrcOptions();
|
|
|
|
}
|
2013-07-23 15:14:51 +02:00
|
|
|
|
2012-05-25 16:21:43 +02:00
|
|
|
void CMenu::_hideSource(bool instant)
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
2012-05-25 16:21:43 +02:00
|
|
|
m_btnMgr.hide(m_sourceLblTitle, instant);
|
|
|
|
m_btnMgr.hide(m_sourceLblNotice, instant);
|
|
|
|
m_btnMgr.hide(m_sourceLblPage, instant);
|
|
|
|
m_btnMgr.hide(m_sourceBtnPageM, instant);
|
|
|
|
m_btnMgr.hide(m_sourceBtnPageP, instant);
|
2016-06-20 23:03:40 +02:00
|
|
|
m_btnMgr.hide(m_sourceBtnBack, instant);
|
|
|
|
m_btnMgr.hide(m_sourceBtnClear, instant);
|
2012-06-22 15:09:31 +02:00
|
|
|
|
2013-07-29 23:06:50 +02:00
|
|
|
for(i = 0; i < ARRAY_SIZE(m_sourceLblUser); ++i)
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
2012-09-13 16:54:17 +02:00
|
|
|
if(m_sourceLblUser[i] != -1)
|
2012-05-25 16:21:43 +02:00
|
|
|
m_btnMgr.hide(m_sourceLblUser[i], instant);
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|
|
|
|
|
2013-07-29 23:06:50 +02:00
|
|
|
for(i = 0; i < 12; ++i)
|
2012-11-30 21:54:02 +01:00
|
|
|
{
|
2012-08-21 16:30:42 +02:00
|
|
|
m_btnMgr.hide(m_sourceBtnSource[i], instant);
|
2012-11-30 21:54:02 +01:00
|
|
|
m_btnMgr.freeBtnTexture(m_sourceBtnSource[i]);
|
|
|
|
}
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|
|
|
|
|
2012-05-25 16:21:43 +02:00
|
|
|
void CMenu::_showSource(void)
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
2012-05-25 16:21:43 +02:00
|
|
|
_setBg(m_sourceBg, m_sourceBg);
|
2013-07-29 23:06:50 +02:00
|
|
|
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
for(i = 0; i < ARRAY_SIZE(m_sourceLblUser); ++i)
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
2012-09-13 16:54:17 +02:00
|
|
|
if(m_sourceLblUser[i] != -1)
|
2012-05-25 16:21:43 +02:00
|
|
|
m_btnMgr.show(m_sourceLblUser[i]);
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|
|
|
|
|
2012-05-25 16:21:43 +02:00
|
|
|
m_btnMgr.show(m_sourceLblTitle);
|
2013-01-15 14:54:33 +01:00
|
|
|
m_btnMgr.show(m_sourceBtnBack);
|
2016-06-20 23:03:40 +02:00
|
|
|
if(m_multisource)
|
|
|
|
m_btnMgr.show(m_sourceBtnClear);
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|
|
|
|
|
2012-05-25 16:21:43 +02:00
|
|
|
void CMenu::_updateSourceBtns(void)
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
if(numPages > 1)
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
m_btnMgr.setText(m_sourceLblPage, wfmt(L"%i / %i", curPage, numPages));
|
2012-05-25 16:21:43 +02:00
|
|
|
m_btnMgr.show(m_sourceLblPage);
|
|
|
|
m_btnMgr.show(m_sourceBtnPageM);
|
|
|
|
m_btnMgr.show(m_sourceBtnPageP);
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|
2012-05-18 18:02:36 +02:00
|
|
|
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
j = (curPage - 1) * 12;
|
2013-07-29 23:06:50 +02:00
|
|
|
sourceBtn = 0;
|
|
|
|
selectedBtns = 0;
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
for(i = 0; i < ((numPages - 1) * 12 + 12); ++i)
|
2012-08-06 15:48:57 +02:00
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
//if(i < 12)
|
|
|
|
// m_btnMgr.hide(m_sourceBtnSource[i], true);
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
memset(current_btn, 0, 16);
|
|
|
|
strncpy(current_btn, fmt("BUTTON_%i", i), 15);
|
|
|
|
string btnSource = m_source.getString(current_btn, "source", "");
|
|
|
|
const char *btn_image = m_source.getString(current_btn,"image", "").c_str();
|
|
|
|
const char *btn_imageSel = m_source.getString(current_btn,"image_s", "").c_str();
|
2013-07-23 15:14:51 +02:00
|
|
|
if(btnSource == "")
|
|
|
|
continue;
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
if(m_multisource)
|
2013-01-15 14:54:33 +01:00
|
|
|
{
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
if(btnSource == "allplugins")
|
2013-07-29 23:06:50 +02:00
|
|
|
{
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
const vector<bool> &EnabledPlugins = m_plugin.GetEnabledPlugins(m_cfg, &enabledPluginsCount);
|
|
|
|
if(EnabledPlugins.size() == 0)//all plugns enabled
|
|
|
|
{
|
|
|
|
sourceBtn = i;
|
|
|
|
selectedBtns++;
|
|
|
|
btn_image = btn_imageSel;
|
|
|
|
}
|
2013-07-29 23:06:50 +02:00
|
|
|
}
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
else if(btnSource == "plugin")
|
2013-07-29 23:06:50 +02:00
|
|
|
{
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
magicNums.clear();
|
|
|
|
magicNums = m_source.getStrings(current_btn, "magic", ',');
|
|
|
|
u32 magic = strtoul(magicNums.at(0).c_str(), NULL, 16);
|
2016-06-20 23:03:40 +02:00
|
|
|
if(m_plugin.GetEnableStatus(m_cfg, magic))
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
m_cfg.setBool(PLUGIN_DOMAIN, "source", true);
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
sourceBtn = i;
|
|
|
|
selectedBtns++;
|
|
|
|
btn_image = btn_imageSel;
|
|
|
|
}
|
2013-07-29 23:06:50 +02:00
|
|
|
}
|
2016-06-20 23:03:40 +02:00
|
|
|
else if((btnSource == "realnand" && m_cfg.getBool(CHANNEL_DOMAIN, "real_nand", false)) ||
|
|
|
|
(btnSource == "emunand" && m_cfg.getBool(CHANNEL_DOMAIN, "emu_nand", false)))
|
2013-08-13 15:12:40 +02:00
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "source", true);
|
2013-08-15 14:26:44 +02:00
|
|
|
sourceBtn = i;
|
2013-08-13 15:12:40 +02:00
|
|
|
selectedBtns++;
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
btn_image = btn_imageSel;
|
2013-08-13 15:12:40 +02:00
|
|
|
}
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
else if(btnSource == "dml" || btnSource == "homebrew" || btnSource == "wii")
|
2013-07-29 23:06:50 +02:00
|
|
|
{
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
string domain = (btnSource == "dml" ? GC_DOMAIN : (btnSource == "homebrew" ? HOMEBREW_DOMAIN : WII_DOMAIN));
|
|
|
|
if(m_cfg.getBool(domain, "source", false))
|
|
|
|
{
|
|
|
|
sourceBtn = i;
|
|
|
|
selectedBtns++;
|
|
|
|
btn_image = btn_imageSel;
|
|
|
|
}
|
2013-07-29 23:06:50 +02:00
|
|
|
}
|
2013-01-15 14:54:33 +01:00
|
|
|
}
|
2013-08-15 14:26:44 +02:00
|
|
|
if(i >= j && i < (j + 12))
|
2012-08-06 15:48:57 +02:00
|
|
|
{
|
2013-08-15 14:26:44 +02:00
|
|
|
TexData texConsoleImg;
|
|
|
|
TexData texConsoleImgs;
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
if(TexHandle.fromImageFile(texConsoleImg, fmt("%s/%s/%s", m_sourceDir.c_str(), themeName.c_str(), btn_image)) != TE_OK)
|
2013-08-15 14:26:44 +02:00
|
|
|
{
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
if(TexHandle.fromImageFile(texConsoleImg, fmt("%s/%s", m_sourceDir.c_str(), btn_image)) != TE_OK)
|
2013-11-19 16:27:52 +01:00
|
|
|
TexHandle.fromImageFile(texConsoleImg, fmt("%s/favoriteson.png", m_imgsDir.c_str()));
|
2013-08-15 14:26:44 +02:00
|
|
|
}
|
2016-06-20 23:03:40 +02:00
|
|
|
if(TexHandle.fromImageFile(texConsoleImgs, fmt("%s/%s/%s", m_sourceDir.c_str(), themeName.c_str(), btn_image)) != TE_OK)
|
2013-08-15 14:26:44 +02:00
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
if(TexHandle.fromImageFile(texConsoleImgs, fmt("%s/%s", m_sourceDir.c_str(), btn_image)) != TE_OK)
|
2013-11-19 16:27:52 +01:00
|
|
|
TexHandle.fromImageFile(texConsoleImgs, fmt("%s/favoritesons.png", m_imgsDir.c_str()));
|
2013-08-15 14:26:44 +02:00
|
|
|
}
|
|
|
|
m_btnMgr.setBtnTexture(m_sourceBtnSource[i - j], texConsoleImg, texConsoleImgs);
|
|
|
|
m_btnMgr.show(m_sourceBtnSource[i - j]);
|
2012-08-06 15:48:57 +02:00
|
|
|
}
|
|
|
|
}
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|
|
|
|
|
2012-05-25 16:21:43 +02:00
|
|
|
void CMenu::_showSourceNotice(void)
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
|
|
|
m_showtimer = 90;
|
2012-05-25 16:21:43 +02:00
|
|
|
m_btnMgr.show(m_sourceLblNotice);
|
2013-09-21 18:33:16 +02:00
|
|
|
exitSource = false;
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|
|
|
|
|
2012-06-21 14:25:47 +02:00
|
|
|
bool CMenu::_Source()
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
bool newSource = false;
|
2013-07-29 23:06:50 +02:00
|
|
|
bool updateSource = false;
|
2013-09-21 18:33:16 +02:00
|
|
|
exitSource = false;
|
2012-05-11 16:17:39 +02:00
|
|
|
m_showtimer = 0;
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
curPage = 1;
|
|
|
|
numPages = 1;
|
2013-07-29 23:06:50 +02:00
|
|
|
|
|
|
|
SetupInput();
|
2012-05-25 16:21:43 +02:00
|
|
|
_showSource();
|
2016-04-26 02:43:09 +02:00
|
|
|
|
|
|
|
//set number of pages based on highest source btn number used
|
|
|
|
for(i = m_cfg.getInt("GENERAL", "max_source_buttons", 71); i > 11; --i)
|
2013-07-29 23:06:50 +02:00
|
|
|
{
|
2016-04-26 02:43:09 +02:00
|
|
|
string source = m_source.getString(fmt("BUTTON_%i", i), "source", "");
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
if(!source.empty())
|
2013-07-29 23:06:50 +02:00
|
|
|
{
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
numPages = (i / 12) + 1;
|
2016-04-26 02:43:09 +02:00
|
|
|
break;
|
2013-07-29 23:06:50 +02:00
|
|
|
}
|
|
|
|
}
|
2016-04-26 02:43:09 +02:00
|
|
|
_updateSourceBtns();
|
2012-09-09 20:35:15 +02:00
|
|
|
|
|
|
|
while(!m_exit)
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
2013-07-29 23:06:50 +02:00
|
|
|
updateSource = false;
|
2012-05-11 16:17:39 +02:00
|
|
|
_mainLoopCommon();
|
2016-04-26 02:43:09 +02:00
|
|
|
if(BTN_HOME_PRESSED)
|
|
|
|
{
|
|
|
|
_hideSource();
|
|
|
|
_CfgSrc();
|
|
|
|
if(m_cfg.getBool("SOURCEFLOW", "enabled"))
|
|
|
|
return true;
|
2016-06-20 23:03:40 +02:00
|
|
|
if(m_multisource)
|
|
|
|
newSource = true;
|
2016-04-26 02:43:09 +02:00
|
|
|
_showSource();
|
|
|
|
_updateSourceBtns();
|
|
|
|
}
|
|
|
|
if((BTN_A_PRESSED && m_btnMgr.selected(m_sourceBtnBack)) || BTN_B_PRESSED)
|
2012-05-25 16:21:43 +02:00
|
|
|
{
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
if(!m_multisource) break;
|
|
|
|
cf_domain = "_COVERFLOW";
|
|
|
|
m_combined_view = false;
|
2013-07-29 23:06:50 +02:00
|
|
|
if(selectedBtns == 0)
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
{
|
2013-01-15 14:54:33 +01:00
|
|
|
m_cfg.setBool(WII_DOMAIN, "source", true);
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
m_current_view = COVERFLOW_WII;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
if(selectedBtns == 1)
|
|
|
|
{
|
|
|
|
memset(btn_selected, 0, 16);
|
|
|
|
strncpy(btn_selected, fmt("BUTTON_%i", sourceBtn), 15);
|
|
|
|
_setSrcOptions();
|
|
|
|
//break;
|
2013-09-12 15:04:50 +02:00
|
|
|
}
|
2013-08-15 14:26:44 +02:00
|
|
|
u8 sourceCount = 0;
|
|
|
|
if(m_cfg.getBool(WII_DOMAIN, "source", false))
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
{
|
2013-08-15 14:26:44 +02:00
|
|
|
sourceCount++;
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
m_current_view = COVERFLOW_WII;
|
|
|
|
}
|
2013-08-15 14:26:44 +02:00
|
|
|
if(m_cfg.getBool(GC_DOMAIN, "source", false))
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
{
|
2013-08-15 14:26:44 +02:00
|
|
|
sourceCount++;
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
m_current_view = COVERFLOW_GAMECUBE;
|
|
|
|
}
|
2013-08-15 14:26:44 +02:00
|
|
|
if(m_cfg.getBool(CHANNEL_DOMAIN, "source", false))
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
{
|
2013-08-15 14:26:44 +02:00
|
|
|
sourceCount++;
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
m_current_view = COVERFLOW_CHANNEL;
|
|
|
|
}
|
2013-08-15 14:26:44 +02:00
|
|
|
if(m_cfg.getBool(HOMEBREW_DOMAIN, "source", false))
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
{
|
2013-08-15 14:26:44 +02:00
|
|
|
sourceCount++;
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
m_current_view = COVERFLOW_HOMEBREW;
|
|
|
|
}
|
2013-08-15 14:26:44 +02:00
|
|
|
if(m_cfg.getBool(PLUGIN_DOMAIN, "source", false))
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
{
|
2013-08-15 14:26:44 +02:00
|
|
|
sourceCount++;
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
m_current_view = COVERFLOW_PLUGIN;
|
|
|
|
}
|
2013-08-15 14:26:44 +02:00
|
|
|
if(sourceCount > 1)
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
{
|
2013-08-13 15:12:40 +02:00
|
|
|
m_combined_view = true;
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
m_current_view = COVERFLOW_MAX;
|
|
|
|
}
|
2012-05-11 16:17:39 +02:00
|
|
|
break;
|
2012-05-25 16:21:43 +02:00
|
|
|
}
|
2012-05-11 16:17:39 +02:00
|
|
|
else if(BTN_UP_PRESSED)
|
|
|
|
m_btnMgr.up();
|
|
|
|
else if(BTN_DOWN_PRESSED)
|
|
|
|
m_btnMgr.down();
|
2016-06-20 23:03:40 +02:00
|
|
|
else if(((BTN_LEFT_PRESSED || BTN_MINUS_PRESSED) && numPages > 1)
|
2013-09-04 22:58:22 +02:00
|
|
|
|| (BTN_A_PRESSED && m_btnMgr.selected(m_sourceBtnPageM)))
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
curPage--;
|
|
|
|
if(curPage < 1)
|
|
|
|
curPage = numPages;
|
2013-09-11 20:11:23 +02:00
|
|
|
if(!BTN_A_PRESSED)
|
2012-05-25 16:21:43 +02:00
|
|
|
m_btnMgr.click(m_sourceBtnPageM);
|
|
|
|
_updateSourceBtns();
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|
2016-06-20 23:03:40 +02:00
|
|
|
else if(((BTN_RIGHT_PRESSED || BTN_PLUS_PRESSED) && numPages > 1)
|
2013-09-04 22:58:22 +02:00
|
|
|
|| (BTN_A_PRESSED && m_btnMgr.selected(m_sourceBtnPageP)))
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
curPage++;
|
|
|
|
if(curPage > numPages)
|
|
|
|
curPage = 1;
|
|
|
|
if(!BTN_A_PRESSED)
|
2012-05-25 16:21:43 +02:00
|
|
|
m_btnMgr.click(m_sourceBtnPageP);
|
|
|
|
_updateSourceBtns();
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|
2016-06-20 23:03:40 +02:00
|
|
|
else if(BTN_A_PRESSED && m_btnMgr.selected(m_sourceBtnClear))
|
|
|
|
{
|
|
|
|
_clearSources();
|
|
|
|
for(u8 j = 0; m_plugin.PluginExist(j); j++)
|
|
|
|
m_plugin.SetEnablePlugin(m_cfg, j, 1);
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "emu_nand", false);
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "real_nand", false);
|
|
|
|
updateSource = true;
|
|
|
|
}
|
|
|
|
else if(BTN_A_PRESSED)
|
2013-07-29 23:06:50 +02:00
|
|
|
{
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
j = (curPage - 1) * 12;
|
2013-07-29 23:06:50 +02:00
|
|
|
for(i = 0; i < 12; ++i)
|
2012-05-18 18:02:36 +02:00
|
|
|
{
|
2012-06-21 14:25:47 +02:00
|
|
|
if(m_btnMgr.selected(m_sourceBtnSource[i]))
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
memset(btn_selected, 0, 16);
|
|
|
|
strncpy(btn_selected, fmt("BUTTON_%i", i + j), 15);
|
|
|
|
source = m_source.getString(btn_selected, "source", "");
|
2016-06-20 23:03:40 +02:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(!m_multisource && i <12)
|
|
|
|
{
|
|
|
|
_clearSources();
|
|
|
|
exitSource = true;
|
|
|
|
m_catStartPage = 1;
|
|
|
|
if(source == "dml")
|
|
|
|
{
|
|
|
|
if(!show_gamecube)
|
|
|
|
_showSourceNotice();
|
|
|
|
else
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
m_cfg.setBool(GC_DOMAIN, "source", true);
|
|
|
|
m_current_view = COVERFLOW_GAMECUBE;
|
|
|
|
_setSrcOptions();
|
2013-01-15 14:54:33 +01:00
|
|
|
}
|
2016-06-20 23:03:40 +02:00
|
|
|
}
|
|
|
|
else if(source == "emunand" || source == "realnand")
|
|
|
|
{
|
|
|
|
if(!show_channel)
|
|
|
|
_showSourceNotice();
|
|
|
|
else
|
2013-01-15 14:54:33 +01:00
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
if(source == "emunand")
|
2013-01-15 14:54:33 +01:00
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
m_current_view = COVERFLOW_CHANNEL;
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "source", true);
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "emu_nand", true);
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "real_nand", false);
|
2013-01-15 14:54:33 +01:00
|
|
|
}
|
2016-06-20 23:03:40 +02:00
|
|
|
else
|
2013-07-29 23:06:50 +02:00
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
m_current_view = COVERFLOW_CHANNEL;
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "source", true);
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "emu_nand", false);
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "real_nand", true);
|
2013-07-29 23:06:50 +02:00
|
|
|
}
|
2016-06-20 23:03:40 +02:00
|
|
|
m_current_view = COVERFLOW_CHANNEL;
|
|
|
|
_setSrcOptions();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(source == "homebrew")
|
|
|
|
{
|
|
|
|
if(!show_homebrew)
|
|
|
|
_showSourceNotice();
|
|
|
|
else
|
|
|
|
{
|
|
|
|
m_cfg.setBool(HOMEBREW_DOMAIN, "source", true);
|
|
|
|
m_current_view = COVERFLOW_HOMEBREW;
|
|
|
|
_setSrcOptions();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(source == "allplugins")
|
|
|
|
{
|
|
|
|
if(!show_plugin)
|
|
|
|
_showSourceNotice();
|
|
|
|
else
|
|
|
|
{
|
|
|
|
m_cfg.setBool(PLUGIN_DOMAIN, "source", true);
|
|
|
|
m_current_view = COVERFLOW_PLUGIN;
|
|
|
|
for(k = 0; k < m_numPlugins; ++k)
|
|
|
|
m_plugin.SetEnablePlugin(m_cfg, k, 2); /* force enable */
|
|
|
|
_setSrcOptions();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(source == "plugin")
|
|
|
|
{
|
|
|
|
if(!show_plugin)
|
|
|
|
_showSourceNotice();
|
|
|
|
else
|
|
|
|
{
|
|
|
|
m_cfg.setBool(PLUGIN_DOMAIN, "source", true);
|
|
|
|
m_current_view = COVERFLOW_PLUGIN;
|
|
|
|
_setSrcOptions();
|
|
|
|
for(k = 0; k < m_numPlugins; ++k)
|
|
|
|
m_plugin.SetEnablePlugin(m_cfg, k, 1); /* force disable */
|
|
|
|
magicNums.clear();
|
|
|
|
magicNums = m_source.getStrings(btn_selected, "magic", ',');
|
|
|
|
if(magicNums.size() > 0)
|
2013-09-04 22:58:22 +02:00
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
for(vector<string>::iterator itr = magicNums.begin(); itr != magicNums.end(); itr++)
|
2013-09-04 22:58:22 +02:00
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
s8 exist = m_plugin.GetPluginPosition(strtoul(itr->c_str(), NULL, 16));// make sure magic# is valid
|
|
|
|
if(exist >= 0)
|
|
|
|
m_plugin.SetEnablePlugin(m_cfg, exist, 2);
|
2013-09-04 22:58:22 +02:00
|
|
|
}
|
|
|
|
}
|
2016-06-20 23:03:40 +02:00
|
|
|
m_plugin.GetEnabledPlugins(m_cfg, &enabledPluginsCount);
|
|
|
|
if(enabledPluginsCount == 0) // zero magic #'s or invalid ones so default to first plugin in list
|
|
|
|
m_plugin.SetEnablePlugin(m_cfg, 0, 2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else //if(source == "wii") or source is invalid or empty default to wii
|
|
|
|
{
|
|
|
|
m_cfg.setBool(WII_DOMAIN, "source", true);
|
|
|
|
m_current_view = COVERFLOW_WII;
|
|
|
|
_setSrcOptions();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(m_multisource && i < 12) /* m_multisource */
|
|
|
|
{
|
|
|
|
updateSource = true;
|
|
|
|
if(source == "wii")
|
|
|
|
{
|
|
|
|
m_cfg.setBool(WII_DOMAIN, "source", !m_cfg.getBool(WII_DOMAIN, "source"));
|
|
|
|
}
|
|
|
|
else if(source == "dml")
|
|
|
|
{
|
|
|
|
if(show_gamecube)
|
|
|
|
m_cfg.setBool(GC_DOMAIN, "source", !m_cfg.getBool(GC_DOMAIN, "source"));
|
|
|
|
}
|
|
|
|
else if(source == "emunand" || source == "realnand")
|
|
|
|
{
|
|
|
|
if(show_channel)
|
|
|
|
{
|
|
|
|
if(source == "realnand")
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "real_nand", !m_cfg.getBool(CHANNEL_DOMAIN, "real_nand"));
|
|
|
|
else
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "emu_nand", !m_cfg.getBool(CHANNEL_DOMAIN, "emu_nand"));
|
|
|
|
if(m_cfg.getBool(CHANNEL_DOMAIN, "emu_nand") || m_cfg.getBool(CHANNEL_DOMAIN, "real_nand"))
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "source", true);
|
|
|
|
else
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "source", false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(source == "homebrew")
|
|
|
|
{
|
|
|
|
if(show_homebrew)
|
|
|
|
m_cfg.setBool(HOMEBREW_DOMAIN, "source", !m_cfg.getBool(HOMEBREW_DOMAIN, "source"));
|
|
|
|
}
|
|
|
|
else if(source == "allplugins")
|
|
|
|
{
|
|
|
|
if(show_plugin)
|
|
|
|
{
|
|
|
|
m_plugin.GetEnabledPlugins(m_cfg, &enabledPluginsCount);
|
|
|
|
for(j = 0; m_plugin.PluginExist(j); ++j) /* opposite */
|
|
|
|
m_plugin.SetEnablePlugin(m_cfg, j, (enabledPluginsCount == 0) ? 2 : 1);
|
|
|
|
m_cfg.setBool(PLUGIN_DOMAIN, "source", (enabledPluginsCount == 0) ? true : false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(source == "plugin")
|
|
|
|
{
|
|
|
|
if(show_plugin)
|
|
|
|
{
|
|
|
|
magicNums.clear();
|
|
|
|
magicNums = m_source.getStrings(btn_selected, "magic", ',');
|
|
|
|
if(!magicNums.empty())
|
2013-09-04 22:58:22 +02:00
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
for(vector<string>::iterator itr = magicNums.begin(); itr != magicNums.end(); itr++)
|
2013-09-04 22:58:22 +02:00
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
s8 exist = m_plugin.GetPluginPosition(strtoul(itr->c_str(), NULL, 16));
|
|
|
|
if(exist >= 0)
|
2013-01-15 14:54:33 +01:00
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
bool enabled = m_plugin.GetEnableStatus(m_cfg, strtoul(itr->c_str(), NULL, 16));
|
|
|
|
m_plugin.SetEnablePlugin(m_cfg, exist, enabled ? 1 : 2);
|
|
|
|
//break;
|
2013-07-29 23:06:50 +02:00
|
|
|
}
|
2013-01-15 14:54:33 +01:00
|
|
|
}
|
|
|
|
}
|
2016-06-20 23:03:40 +02:00
|
|
|
m_plugin.GetEnabledPlugins(m_cfg, &enabledPluginsCount);
|
|
|
|
m_cfg.setBool(PLUGIN_DOMAIN, "source", enabledPluginsCount > 0 ? true : false);
|
2013-01-15 14:54:33 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2013-07-29 23:06:50 +02:00
|
|
|
if(exitSource)
|
2013-01-15 14:54:33 +01:00
|
|
|
{
|
2013-08-13 15:12:40 +02:00
|
|
|
m_combined_view = false;
|
2016-06-20 23:03:40 +02:00
|
|
|
newSource = true;
|
2013-07-29 23:06:50 +02:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
if(updateSource)
|
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
newSource = true;
|
2013-01-15 14:54:33 +01:00
|
|
|
_updateSourceBtns();
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|
2012-06-21 14:25:47 +02:00
|
|
|
if(m_showtimer > 0)
|
|
|
|
{
|
|
|
|
if(--m_showtimer == 0)
|
|
|
|
m_btnMgr.hide(m_sourceLblNotice);
|
|
|
|
}
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|
2012-05-25 16:21:43 +02:00
|
|
|
_hideSource(true);
|
2016-06-20 23:03:40 +02:00
|
|
|
return newSource;
|
2013-07-29 23:06:50 +02:00
|
|
|
}
|
|
|
|
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
//letters in lower case only
|
|
|
|
static const char sideCovers[4][9] = {
|
|
|
|
"534e5854", //Snes9X-Next
|
|
|
|
"534e4553", //SNES9xGX
|
|
|
|
"4e4f3634", //Not64
|
|
|
|
"57493634" //Wii64
|
|
|
|
};
|
|
|
|
|
|
|
|
static const char shortCovers[12][9] = {
|
|
|
|
"474d4254", //Gambatte
|
|
|
|
"474d4264", //Gambatte GB
|
|
|
|
"474d4274", //Gambatte GBC
|
|
|
|
"56425854", //VBA-Next
|
|
|
|
"56424158", //VbaGX
|
|
|
|
"56424168", //VbaGX GB
|
|
|
|
"56424178", //VbaGX GBC
|
|
|
|
"56424188", //VbaGX GBA
|
|
|
|
"4d45445e", //WiiMednafen GB
|
|
|
|
"4d45446e", //WiiMednafen GBC
|
|
|
|
"4d45447e", //WiiMednafen GBA
|
|
|
|
"57495358" //WiiSX - playstation
|
|
|
|
};
|
|
|
|
|
|
|
|
bool CMenu::_sideCover(const char *magic)
|
|
|
|
{
|
|
|
|
if(magic == NULL)
|
|
|
|
return false;
|
|
|
|
for(i = 0; i < 4; i++)
|
|
|
|
{
|
|
|
|
if(memcmp(magic, sideCovers[i], 9) == 0)
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool CMenu::_shortCover(const char *magic)
|
|
|
|
{
|
|
|
|
if(magic == NULL)
|
|
|
|
return false;
|
|
|
|
for(i = 0; i < 12; i++)
|
|
|
|
{
|
|
|
|
if(memcmp(magic, shortCovers[i], 9) == 0)
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
void CMenu::_setSrcOptions(void)
|
|
|
|
{
|
|
|
|
m_catStartPage = m_source.getInt(btn_selected, "cat_page", 1);
|
|
|
|
int category = m_source.getInt(btn_selected, "category", 0);
|
|
|
|
if(category > 0)
|
|
|
|
{
|
|
|
|
m_cat.remove("GENERAL", "selected_categories");
|
|
|
|
m_cat.remove("GENERAL", "required_categories");
|
|
|
|
char cCh = static_cast<char>(category + 32);
|
|
|
|
string newSelCats(1, cCh);
|
|
|
|
m_cat.setString("GENERAL", "selected_categories", newSelCats);
|
|
|
|
m_clearCats = false;
|
|
|
|
}
|
|
|
|
if(m_multisource) return;
|
|
|
|
/* autoboot */
|
|
|
|
const char *autoboot = m_source.getString(btn_selected, "autoboot", "").c_str();
|
|
|
|
if(autoboot != NULL && autoboot[0] != '\0')
|
|
|
|
{
|
|
|
|
m_source_autoboot = true;
|
|
|
|
memset(&m_autoboot_hdr, 0, sizeof(dir_discHdr));
|
|
|
|
if(source == "emunand" || source == "realnand")
|
|
|
|
{
|
2016-06-20 23:03:40 +02:00
|
|
|
if(source == "realnand")
|
|
|
|
m_autoboot_hdr.type = TYPE_CHANNEL;
|
|
|
|
else
|
|
|
|
m_autoboot_hdr.type = TYPE_EMUCHANNEL;
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
memcpy(m_autoboot_hdr.id, autoboot, 4);
|
|
|
|
}
|
|
|
|
else if(source == "wii")
|
|
|
|
{
|
|
|
|
m_autoboot_hdr.type = TYPE_WII_GAME;
|
|
|
|
memcpy(m_autoboot_hdr.id, autoboot, 6);
|
|
|
|
}
|
|
|
|
else if(source == "dml")
|
|
|
|
{
|
|
|
|
m_autoboot_hdr.type = TYPE_GC_GAME;
|
|
|
|
memcpy(m_autoboot_hdr.id, autoboot, 6);
|
|
|
|
}
|
|
|
|
else if(source == "homebrew")
|
|
|
|
{
|
|
|
|
m_autoboot_hdr.type = TYPE_HOMEBREW;
|
|
|
|
mbstowcs(m_autoboot_hdr.title, autoboot, 63);
|
|
|
|
}
|
|
|
|
else if(source == "plugin")
|
|
|
|
{
|
|
|
|
m_autoboot_hdr.type = TYPE_PLUGIN;
|
|
|
|
mbstowcs(m_autoboot_hdr.title, autoboot, 63);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
m_source_autoboot = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2013-07-29 23:06:50 +02:00
|
|
|
void CMenu::_clearSources(void)
|
|
|
|
{
|
|
|
|
m_cfg.setBool(WII_DOMAIN, "source", false);
|
|
|
|
m_cfg.setBool(GC_DOMAIN, "source", false);
|
|
|
|
m_cfg.setBool(CHANNEL_DOMAIN, "source", false);
|
|
|
|
m_cfg.setBool(HOMEBREW_DOMAIN, "source", false);
|
|
|
|
m_cfg.setBool(PLUGIN_DOMAIN, "source", false);
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|
|
|
|
|
2012-11-03 20:16:03 +01:00
|
|
|
void CMenu::_initSourceMenu()
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
2016-04-26 02:43:09 +02:00
|
|
|
m_use_source = false;
|
|
|
|
themeName = m_cfg.getString("GENERAL", "theme", "default");
|
|
|
|
if(!m_source.load(fmt("%s/%s/%s", m_sourceDir.c_str(), themeName.c_str(), SOURCE_FILENAME)))
|
|
|
|
{
|
|
|
|
if(!m_source.load(fmt("%s/%s", m_sourceDir.c_str(), SOURCE_FILENAME)))
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
m_sourceDir = fmt("%s/%s", m_sourceDir.c_str(), themeName.c_str());
|
|
|
|
|
|
|
|
m_use_source = true;
|
|
|
|
|
2012-11-03 20:16:03 +01:00
|
|
|
_addUserLabels(m_sourceLblUser, ARRAY_SIZE(m_sourceLblUser), "SOURCE");
|
|
|
|
m_sourceBg = _texture("SOURCE/BG", "texture", theme.bg, false);
|
2013-11-04 20:46:23 +01:00
|
|
|
m_sourceLblTitle = _addTitle("SOURCE/TITLE", theme.titleFont, L"", 0, 10, 640, 60, theme.titleFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE);
|
2012-11-03 20:16:03 +01:00
|
|
|
m_sourceLblNotice = _addLabel("SOURCE/NOTICE", theme.btnFont, L"", 20, 400, 600, 56, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_TOP);
|
2013-11-04 20:46:23 +01:00
|
|
|
m_sourceLblPage = _addLabel("SOURCE/PAGE_BTN", theme.btnFont, L"", 68, 400, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC);
|
|
|
|
m_sourceBtnPageM = _addPicButton("SOURCE/PAGE_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 20, 400, 48, 48);
|
|
|
|
m_sourceBtnPageP = _addPicButton("SOURCE/PAGE_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 172, 400, 48, 48);
|
|
|
|
m_sourceBtnBack = _addButton("SOURCE/BACK_BTN", theme.btnFont, L"", 420, 400, 200, 48, theme.btnFontColor);
|
2016-06-20 23:03:40 +02:00
|
|
|
m_sourceBtnClear = _addButton("SOURCE/ALL_BTN", theme.btnFont, L"", 270, 400, 100, 48, theme.btnFontColor);
|
2013-09-03 15:48:30 +02:00
|
|
|
|
2012-05-18 18:02:36 +02:00
|
|
|
int row;
|
|
|
|
int col;
|
2012-05-25 16:21:43 +02:00
|
|
|
string ImgName;
|
2012-05-18 18:02:36 +02:00
|
|
|
|
- PHASE 2 (finally!)
- New Coverflow theme format. no more emuflow, coverflow, brewflow. now we have coverflow, shortflow, sideflow, and smallflow.
- coverflow is the normal coverflow.
- shortflow is automatically used for plugins if all selected plugins require a short CD style cover such as GB, GBC, GBA, and playstation. if there's more let me know and i can add them.
- sideflow is automatically used for plugins if all selected plugins require a cover on its side such as SNES and Nintendo 64.
- smallflow is used if smallbox is set for homebrew and sourceflow.
- no more need for emuflow= with a source btn in the source menu. it is done automatically now using the plugins magic#
- each flow has its own number of modes/layouts. so now coveflow can have 8, smallfow 1, sideflow, 6, and shortflow 4 or whatever you want.
- adjust coverflow works with no problems. just choose the view first before entering the adjust coverflow menu.
- other minor code changes here and there.
- remember themes are now in themes_lite and the coverflow part is seperated and put in the coverflows folder with the same name as the theme or you can use a default coverflow named default.ini for all themes.
2016-05-11 19:58:36 +02:00
|
|
|
for(i = 0; i < 12; ++i)
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
2012-12-28 15:19:40 +01:00
|
|
|
TexData texConsoleImg;
|
|
|
|
TexData texConsoleImgs;
|
2012-08-06 15:48:57 +02:00
|
|
|
ImgName = m_source.getString(fmt("BUTTON_%i", i),"image", "");
|
2012-12-28 15:19:40 +01:00
|
|
|
if(TexHandle.fromImageFile(texConsoleImg, fmt("%s/%s", m_themeDataDir.c_str(), ImgName.c_str())) != TE_OK)
|
2012-08-06 15:48:57 +02:00
|
|
|
{
|
2012-12-28 15:19:40 +01:00
|
|
|
if(TexHandle.fromImageFile(texConsoleImg, fmt("%s/%s", m_sourceDir.c_str(), ImgName.c_str())) != TE_OK)
|
2013-11-19 16:27:52 +01:00
|
|
|
TexHandle.fromImageFile(texConsoleImg, fmt("%s/favoriteson.png", m_imgsDir.c_str()));
|
2012-08-06 15:48:57 +02:00
|
|
|
}
|
|
|
|
ImgName = m_source.getString(fmt("BUTTON_%i", i),"image_s", "");
|
2012-12-28 15:19:40 +01:00
|
|
|
if(TexHandle.fromImageFile(texConsoleImgs, fmt("%s/%s", m_themeDataDir.c_str(), ImgName.c_str())) != TE_OK)
|
2012-08-06 15:48:57 +02:00
|
|
|
{
|
2012-12-28 15:19:40 +01:00
|
|
|
if(TexHandle.fromImageFile(texConsoleImgs, fmt("%s/%s", m_sourceDir.c_str(), ImgName.c_str())) != TE_OK)
|
2013-11-19 16:27:52 +01:00
|
|
|
TexHandle.fromImageFile(texConsoleImgs, fmt("%s/favoritesons.png", m_imgsDir.c_str()));
|
2012-08-06 15:48:57 +02:00
|
|
|
}
|
2012-05-25 16:21:43 +02:00
|
|
|
|
2012-08-06 15:48:57 +02:00
|
|
|
row = i / 4;
|
|
|
|
col = i - (row * 4);
|
2013-11-04 20:46:23 +01:00
|
|
|
m_sourceBtnSource[i] = _addPicButton(fmt("SOURCE/SOURCE_BTN_%i", i), texConsoleImg, texConsoleImgs, (100 + 120 * col), (90 + 100 * row), 80, 80);
|
|
|
|
_setHideAnim(m_sourceBtnSource[i], fmt("SOURCE/SOURCE_BTN_%i", i), 0, 0, -2.f, 0.f);
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|
- Categories update.
- now you can have as many categories as you want.
- copied the idea of selected, hidden, and required categories from USB Loader GX. Thanks Cyan. Checkmark = selected, X = Hidden, and + = Required.
- redid categories.ini layout and renamed it categories_v4.ini so you can copy and paste settings from the old one to the new one. Each view (USB,DML,EMU,NAND,HOMEBREW) has it's own numcategories, category names, and category settings. All games are now seperated based on the view. Don't forget to add 1 to numcategories for the show All mode.
- Replaced All checkbox with CLEAR button which clears all checkboxes so no category is selected and all games will be shown.
- Added features to the Game Selected Categories Menu. Now the title is the title of the current game. You can now press plus(+) and minus(-) on wiimote to go to the next or previous games without going back to previous screen making it easier to setup categories for your games.
- note: all changes will not be saved in categories_v4.ini unless you exit wiiflow or launch a game.
2012-08-31 19:51:49 +02:00
|
|
|
_setHideAnim(m_sourceLblTitle, "SOURCE/TITLE", 0, 0, -2.f, 0.f);
|
2012-05-25 16:21:43 +02:00
|
|
|
_setHideAnim(m_sourceLblNotice, "SOURCE/NOTICE", 0, 0, 1.f, 0.f);
|
2013-11-04 20:46:23 +01:00
|
|
|
_setHideAnim(m_sourceLblPage, "SOURCE/PAGE_BTN", 0, 0, 1.f, -1.f);
|
|
|
|
_setHideAnim(m_sourceBtnPageM, "SOURCE/PAGE_MINUS", 0, 0, 1.f, -1.f);
|
|
|
|
_setHideAnim(m_sourceBtnPageP, "SOURCE/PAGE_PLUS", 0, 0, 1.f, -1.f);
|
|
|
|
_setHideAnim(m_sourceBtnBack, "SOURCE/BACK_BTN", 0, 0, 1.f, -1.f);
|
2016-06-20 23:03:40 +02:00
|
|
|
_setHideAnim(m_sourceBtnClear, "SOURCE/ALL_BTN", 0, 0, 1.f, -1.f);
|
2012-05-18 18:02:36 +02:00
|
|
|
|
2012-05-25 16:21:43 +02:00
|
|
|
_textSource();
|
|
|
|
_hideSource(true);
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|
|
|
|
|
2012-05-25 16:21:43 +02:00
|
|
|
void CMenu::_textSource(void)
|
2012-05-11 16:17:39 +02:00
|
|
|
{
|
2012-06-18 00:12:03 +02:00
|
|
|
m_btnMgr.setText(m_sourceLblTitle, _t("stup1", L"Select Source"));
|
2013-07-23 15:14:51 +02:00
|
|
|
m_btnMgr.setText(m_sourceLblNotice, _t("stup2", L"** DISABLED **"));
|
2013-01-15 14:54:33 +01:00
|
|
|
m_btnMgr.setText(m_sourceBtnBack, _t("cfg10", L"Back"));
|
2016-06-20 23:03:40 +02:00
|
|
|
m_btnMgr.setText(m_sourceBtnClear, _t("cat2", L"Clear"));
|
2012-05-11 16:17:39 +02:00
|
|
|
}
|