mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-12-04 17:14:21 +01:00
- fixed the Source Menu page button when hiding buttons. the count was off by one so sometimes the page button said there was another page when there really wasn't.
- fixed a minor issue when changing a plugins rom dir but then exiting the source menu via B button without selecting a source, it wouldn't reload the current coverflow but now it does. - now when you have only the front cover image wiiflow will use that platform's custom blank cover image for the spine and back of the cover. - made source menu setup menu's more noticable when you switch from select a source to selecting a plugin and back. before it was hard to tell you had moved to a new menu cause they look nearly identical.
This commit is contained in:
parent
ef59eccaca
commit
1595356f59
Binary file not shown.
BIN
out/boot.dol
BIN
out/boot.dol
Binary file not shown.
Before Width: | Height: | Size: 4.1 MiB After Width: | Height: | Size: 4.1 MiB |
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
#define APP_NAME "WiiFlow WFL"
|
#define APP_NAME "WiiFlow WFL"
|
||||||
#define APP_VERSION "5.4.7 beta 5"
|
#define APP_VERSION "5.4.7 beta 6"
|
||||||
|
|
||||||
#define APP_DATA_DIR "wiiflow"
|
#define APP_DATA_DIR "wiiflow"
|
||||||
#define APPS_DIR "apps/wiiflow"
|
#define APPS_DIR "apps/wiiflow"
|
||||||
|
@ -1974,7 +1974,7 @@ bool CCoverFlow::start(const string &m_imgsDir)
|
|||||||
if(TexHandle.fromImageFile(m_flatNoCoverTexture, fmt("%s/flatnopic.png", m_imgsDir.c_str()), GX_TF_CMPR, 32, 512) != TE_OK)
|
if(TexHandle.fromImageFile(m_flatNoCoverTexture, fmt("%s/flatnopic.png", m_imgsDir.c_str()), GX_TF_CMPR, 32, 512) != TE_OK)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
m_defcovers_loaded = true;
|
m_defcovers_loaded = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* allocate enough memory for the covers list (m_covers) based on rows * columns (m_range) */
|
/* allocate enough memory for the covers list (m_covers) based on rows * columns (m_range) */
|
||||||
|
@ -630,11 +630,13 @@ void CMenu::_loadCFCfg()
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Textures
|
// Textures
|
||||||
|
/*
|
||||||
string texLoading = fmt("%s/%s", m_themeDataDir.c_str(), m_theme.getString(domain, "loading_cover_box").c_str());
|
string texLoading = fmt("%s/%s", m_themeDataDir.c_str(), m_theme.getString(domain, "loading_cover_box").c_str());
|
||||||
string texNoCover = fmt("%s/%s", m_themeDataDir.c_str(), m_theme.getString(domain, "missing_cover_box").c_str());
|
string texNoCover = fmt("%s/%s", m_themeDataDir.c_str(), m_theme.getString(domain, "missing_cover_box").c_str());
|
||||||
string texLoadingFlat = fmt("%s/%s", m_themeDataDir.c_str(), m_theme.getString(domain, "loading_cover_flat").c_str());
|
string texLoadingFlat = fmt("%s/%s", m_themeDataDir.c_str(), m_theme.getString(domain, "loading_cover_flat").c_str());
|
||||||
string texNoCoverFlat = fmt("%s/%s", m_themeDataDir.c_str(), m_theme.getString(domain, "missing_cover_flat").c_str());
|
string texNoCoverFlat = fmt("%s/%s", m_themeDataDir.c_str(), m_theme.getString(domain, "missing_cover_flat").c_str());
|
||||||
CoverFlow.setTextures(texLoading, texLoadingFlat, texNoCover, texNoCoverFlat);
|
CoverFlow.setTextures(texLoading, texLoadingFlat, texNoCover, texNoCoverFlat);
|
||||||
|
*/
|
||||||
// Font
|
// Font
|
||||||
CoverFlow.setFont(_font(domain, "font", theme.titleFont), m_theme.getColor(domain, "font_color", CColor(0xFFFFFFFF)));
|
CoverFlow.setFont(_font(domain, "font", theme.titleFont), m_theme.getColor(domain, "font_color", CColor(0xFFFFFFFF)));
|
||||||
}
|
}
|
||||||
@ -2001,6 +2003,48 @@ void CMenu::_initCF(void)
|
|||||||
char id[74];
|
char id[74];
|
||||||
char catID[64];
|
char catID[64];
|
||||||
|
|
||||||
|
// Set loading and no cover textures
|
||||||
|
// Set box no cover to custom blank cover to use for spine and back of cover if only front image available
|
||||||
|
string texLoading = fmt("%s/%s", m_themeDataDir.c_str(), m_theme.getString("_COVERFLOW", "loading_cover_box").c_str());
|
||||||
|
string texLoadingFlat = fmt("%s/%s", m_themeDataDir.c_str(), m_theme.getString("_COVERFLOW", "loading_cover_flat").c_str());
|
||||||
|
string texNoCoverFlat = fmt("%s/%s", m_themeDataDir.c_str(), m_theme.getString("_COVERFLOW", "missing_cover_flat").c_str());
|
||||||
|
string texNoCover = fmt("%s/%s", m_themeDataDir.c_str(), m_theme.getString("_COVERFLOW", "missing_cover_box").c_str());
|
||||||
|
string temp;
|
||||||
|
if(m_source_cnt == 1 && m_platform.loaded())
|
||||||
|
{
|
||||||
|
if(m_current_view == COVERFLOW_PLUGIN)
|
||||||
|
{
|
||||||
|
u8 i = 0;
|
||||||
|
string name;
|
||||||
|
while(m_plugin.PluginExist(i) && !m_plugin.GetEnabledStatus(i)){ ++i; }
|
||||||
|
if(m_plugin.PluginExist(i))
|
||||||
|
name = m_platform.getString("PLUGINS", sfmt("%08x", m_plugin.GetPluginMagic(i)), "");
|
||||||
|
if(!name.empty())
|
||||||
|
{
|
||||||
|
bool match = true;
|
||||||
|
i++;
|
||||||
|
while(m_plugin.PluginExist(i))
|
||||||
|
{
|
||||||
|
if(m_plugin.GetEnabledStatus(i) && name != m_platform.getString("PLUGINS", sfmt("%08x", m_plugin.GetPluginMagic(i)), ""))
|
||||||
|
{
|
||||||
|
match = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
/* if all match we use that blank cover image */
|
||||||
|
if(match)
|
||||||
|
temp = getBlankCoverPath(&m_gameList[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
temp = getBlankCoverPath(&m_gameList[0]);
|
||||||
|
if(!temp.empty() && fsop_FileExist(temp.c_str()))
|
||||||
|
texNoCover = temp;
|
||||||
|
}
|
||||||
|
CoverFlow.setTextures(texLoading, texLoadingFlat, texNoCover, texNoCoverFlat);
|
||||||
|
|
||||||
|
// filter list based on categories and favorites
|
||||||
for(vector<dir_discHdr>::iterator hdr = m_gameList.begin(); hdr != m_gameList.end(); ++hdr)
|
for(vector<dir_discHdr>::iterator hdr = m_gameList.begin(); hdr != m_gameList.end(); ++hdr)
|
||||||
{
|
{
|
||||||
requiredCats = m_cat.getString("GENERAL", "required_categories", "");
|
requiredCats = m_cat.getString("GENERAL", "required_categories", "");
|
||||||
|
@ -170,13 +170,20 @@ void CMenu::_checkboxesMenu(u8 md)
|
|||||||
{
|
{
|
||||||
if(mode == 4)
|
if(mode == 4)
|
||||||
{
|
{
|
||||||
m_btnMgr.setText(m_checkboxesLblTitle, _t("smedit2", L"Choose Source"));
|
|
||||||
mode = 2;
|
mode = 2;
|
||||||
max_checkbox = m_max_source_btn;
|
max_checkbox = m_max_source_btn;
|
||||||
CB_curPage = (curSource + 1) / 10 + 1;
|
CB_curPage = (curSource + 1) / 10 + 1;
|
||||||
CB_numPages = (max_checkbox / 10) + 1;
|
CB_numPages = (max_checkbox / 10) + 1;
|
||||||
|
m_btnMgr.hide(m_checkboxesLblTitle, true);
|
||||||
|
for(int i = 0; i < 11; ++i)
|
||||||
|
{
|
||||||
|
m_btnMgr.hide(m_checkboxBtn[i], true);
|
||||||
|
m_btnMgr.hide(m_checkboxLblTxt[i], true);
|
||||||
|
}
|
||||||
_updateCheckboxes();
|
_updateCheckboxes();
|
||||||
_updateCheckboxesText();
|
_updateCheckboxesText();
|
||||||
|
m_btnMgr.setText(m_checkboxesLblTitle, _t("smedit2", L"Choose Source"));
|
||||||
|
m_btnMgr.show(m_checkboxesLblTitle);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
@ -238,9 +245,16 @@ void CMenu::_checkboxesMenu(u8 md)
|
|||||||
while(m_plugin.PluginExist(max_checkbox)) max_checkbox++;
|
while(m_plugin.PluginExist(max_checkbox)) max_checkbox++;
|
||||||
CB_curPage = 1;
|
CB_curPage = 1;
|
||||||
CB_numPages = (max_checkbox / 10) + 1;
|
CB_numPages = (max_checkbox / 10) + 1;
|
||||||
|
m_btnMgr.hide(m_checkboxesLblTitle, true);
|
||||||
|
for(int i = 0; i < 11; ++i)
|
||||||
|
{
|
||||||
|
m_btnMgr.hide(m_checkboxBtn[i], true);
|
||||||
|
m_btnMgr.hide(m_checkboxLblTxt[i], true);
|
||||||
|
}
|
||||||
_updateCheckboxes();
|
_updateCheckboxes();
|
||||||
_updateCheckboxesText();
|
_updateCheckboxesText();
|
||||||
m_btnMgr.setText(m_checkboxesLblTitle, _t("smedit4", L"Choose Plugins"));
|
m_btnMgr.setText(m_checkboxesLblTitle, _t("smedit4", L"Choose Plugins"));
|
||||||
|
m_btnMgr.show(m_checkboxesLblTitle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(mode == 4)
|
else if(mode == 4)
|
||||||
@ -335,6 +349,7 @@ void CMenu::_checkboxesMenu(u8 md)
|
|||||||
m_plugin_cfg.save(true);
|
m_plugin_cfg.save(true);
|
||||||
string cachedListFile(fmt("%s/%s_%s.db", m_listCacheDir.c_str(), DeviceName[romsPartition], m_plugin.PluginMagicWord));
|
string cachedListFile(fmt("%s/%s_%s.db", m_listCacheDir.c_str(), DeviceName[romsPartition], m_plugin.PluginMagicWord));
|
||||||
fsop_deleteFile(cachedListFile.c_str());
|
fsop_deleteFile(cachedListFile.c_str());
|
||||||
|
m_refreshGameList = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -235,7 +235,7 @@ void CMenu::_srcTierLoad(string fn)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
numPages = (nonHiddenSources.size() / 12) + 1;
|
numPages = ((nonHiddenSources.size() - 1) / 12) + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -394,6 +394,11 @@ bool CMenu::_Source()
|
|||||||
{
|
{
|
||||||
_hideSource();
|
_hideSource();
|
||||||
_SM_Editor();
|
_SM_Editor();
|
||||||
|
if(m_refreshGameList)// if romdir changed
|
||||||
|
{
|
||||||
|
m_refreshGameList = false;
|
||||||
|
newSource = true;// in case no source is selected and they return via B button
|
||||||
|
}
|
||||||
nonHiddenSources.clear();
|
nonHiddenSources.clear();
|
||||||
for(i = 0; i <= m_max_source_btn; i++)
|
for(i = 0; i <= m_max_source_btn; i++)
|
||||||
{
|
{
|
||||||
@ -410,7 +415,7 @@ bool CMenu::_Source()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
numPages = (nonHiddenSources.size() / 12) + 1;
|
numPages = ((nonHiddenSources.size() - 1) / 12) + 1;
|
||||||
_showSource();
|
_showSource();
|
||||||
_updateSourceBtns();
|
_updateSourceBtns();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user