- added optional custom coverflow background via source menu button. add 'background=img_name.png or .jpg to any source menu button. put the background images in wiiflow/backgrounds.

This commit is contained in:
Fledge68 2019-01-22 18:18:13 -06:00
parent 21b6bec670
commit dc679ccced
5 changed files with 30 additions and 7 deletions

View File

@ -163,13 +163,14 @@ private:
const char *m_txt_path;
// Background image stuff
TexData sfbgimg;
TexData m_curBg;
const TexData *m_prevBg;
const TexData *m_nextBg;
const TexData *m_lqBg;
u8 m_bgCrossFade;
//
TexData sfbgimg;
TexData m_mainAltBg;
TexData m_errorBg;
TexData m_mainBg;
TexData m_configBg;
@ -1028,6 +1029,7 @@ private:
void _updateCheckboxes(void);
void _getGameCategories(void);
void _setGameCategories(void);
void _setMainBg(void);
void _setBg(const TexData &bgTex, const TexData &bglqTex, bool force_change = false);
void _updateBg(void);
void _drawBg(void);

View File

@ -335,7 +335,7 @@ void CMenu::_showGame(void)
CoverFlow.hideCover();
}
else
_setBg(m_gameBg, m_gameBgLQ);
_setMainBg();
return;
if(!m_zoom_banner)

View File

@ -41,9 +41,24 @@ void CMenu::_hideMain(bool instant)
m_btnMgr.hide(m_mainLblUser[i], instant);
}
void CMenu::_setMainBg()
{
string fn = m_cfg.getString("general", "main_background", "");
if(fn.length() > 0)
{
TexHandle.Cleanup(m_mainAltBg);
if(TexHandle.fromImageFile(m_mainAltBg, fmt("%s/backgrounds/%s", m_dataDir.c_str(), fn.c_str())) == TE_OK)
_setBg(m_mainAltBg, m_mainAltBg, true);
else
_setBg(m_mainBg, m_mainBgLQ);
}
else
_setBg(m_mainBg, m_mainBgLQ);
}
void CMenu::_showMain()
{
_setBg(m_mainBg, m_mainBgLQ);
_setMainBg();
if(m_refreshGameList)
_showCF(m_refreshGameList);
}
@ -318,7 +333,7 @@ int CMenu::main(void)
if(m_sourceflow)//if exiting sourceflow via b button
{
m_sourceflow = false;
_setBg(m_mainBg, m_mainBgLQ);
_setMainBg();
_showCF(true);
continue;
}
@ -426,6 +441,8 @@ int CMenu::main(void)
m_source_cnt = 1;
m_cfg.setUInt("GENERAL", "sources", m_current_view);
m_catStartPage = 1;
m_cfg.remove("GENERAL", "main_background");
_setMainBg();
_showCF(true);
}
else if(m_btnMgr.selected(m_mainBtnConfig))
@ -501,6 +518,7 @@ int CMenu::main(void)
if(m_sourceflow)
{
_sourceFlow();// set the source selected
_setMainBg();
_showCF(true);
continue;
}
@ -514,7 +532,7 @@ int CMenu::main(void)
bheld = true;
bUsed = true;
}
_setBg(m_mainBg, m_mainBgLQ);
_setMainBg();
if(m_refreshGameList)
{
/* if changes were made to favorites, parental lock, or categories */
@ -541,7 +559,7 @@ int CMenu::main(void)
}
else
bheld = false;
_setBg(m_mainBg, m_mainBgLQ);
_setMainBg();
if(m_refreshGameList)
{
m_refreshGameList = false;

View File

@ -174,6 +174,7 @@ void CMenu::_PluginSettings()
m_cfg.setUInt("GENERAL", "sources", m_current_view);
m_source_cnt = 1;
m_catStartPage = 1;
m_cfg.remove("GENERAL", "main_background");
}
else
m_current_view = m_cfg.getUInt("GENERAL", "sources");

View File

@ -135,7 +135,6 @@ void CMenu::_sourceFlow()
m_cfg.setUInt("GENERAL", "sources", m_current_view);
m_source_cnt = 1;
_setSrcOptions();
_setBg(m_mainBg, m_mainBgLQ);
}
int CMenu::_getSrcFlow(void)
@ -201,6 +200,8 @@ void CMenu::_setSrcFlowBg(void)
TexHandle.Cleanup(sfbgimg);
if(TexHandle.fromImageFile(sfbgimg, fmt("%s/backgrounds/%s", m_sourceDir.c_str(), fn.c_str())) == TE_OK)
_setBg(sfbgimg, sfbgimg, true);
else
_setBg(m_mainBg, m_mainBgLQ);
}
else
_setBg(m_mainBg, m_mainBgLQ);
@ -771,6 +772,7 @@ bool CMenu::_shortCover(const char *magic)
void CMenu::_setSrcOptions(void)
{
m_cfg.setString("GENERAL", "main_background", m_source.getString(btn_selected, "background", ""));
m_catStartPage = m_source.getInt(btn_selected, "cat_page", 1);
u8 category = m_source.getInt(btn_selected, "category", 0);
if(category > 0)