mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2025-02-17 12:36:20 +01:00
- reworked code for custom backgrounds. should be better.
This commit is contained in:
parent
02f1d4ba8d
commit
d2c23240e7
BIN
out/boot.dol
BIN
out/boot.dol
Binary file not shown.
Before Width: | Height: | Size: 3.6 MiB After Width: | Height: | Size: 3.6 MiB |
@ -82,6 +82,7 @@ CMenu::CMenu()
|
|||||||
cacheCovers = false;
|
cacheCovers = false;
|
||||||
SF_cacheCovers = true;
|
SF_cacheCovers = true;
|
||||||
m_snapshot_loaded = false;
|
m_snapshot_loaded = false;
|
||||||
|
curCustBg = 1;
|
||||||
/* Explorer stuff */
|
/* Explorer stuff */
|
||||||
m_txt_view = false;
|
m_txt_view = false;
|
||||||
m_txt_path = NULL;
|
m_txt_path = NULL;
|
||||||
@ -505,8 +506,8 @@ void CMenu::_Theme_Cleanup(void)
|
|||||||
m_nextBg = NULL;
|
m_nextBg = NULL;
|
||||||
TexHandle.Cleanup(m_curBg);
|
TexHandle.Cleanup(m_curBg);
|
||||||
m_lqBg = NULL;
|
m_lqBg = NULL;
|
||||||
TexHandle.Cleanup(sfbgimg);
|
TexHandle.Cleanup(m_mainCustomBg[0]);
|
||||||
TexHandle.Cleanup(m_mainAltBg);
|
TexHandle.Cleanup(m_mainCustomBg[1]);
|
||||||
/* Buttons */
|
/* Buttons */
|
||||||
TexHandle.Cleanup(theme.btnTexL);
|
TexHandle.Cleanup(theme.btnTexL);
|
||||||
TexHandle.Cleanup(theme.btnTexR);
|
TexHandle.Cleanup(theme.btnTexR);
|
||||||
@ -1822,10 +1823,10 @@ void CMenu::_mainLoopCommon(bool withCF, bool adjusting)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMenu::_setBg(const TexData &bgTex, const TexData &bglqTex, bool force_change)
|
void CMenu::_setBg(const TexData &bgTex, const TexData &bglqTex)
|
||||||
{
|
{
|
||||||
/* Not setting same bg again */
|
/* Not setting same bg again */
|
||||||
if(!force_change && m_nextBg == &bgTex)
|
if(m_nextBg == &bgTex)
|
||||||
return;
|
return;
|
||||||
m_lqBg = &bglqTex;
|
m_lqBg = &bglqTex;
|
||||||
/* before setting new next bg set previous */
|
/* before setting new next bg set previous */
|
||||||
|
@ -66,6 +66,7 @@ private:
|
|||||||
bool CFLocked;
|
bool CFLocked;
|
||||||
bool Auto_hide_icons;
|
bool Auto_hide_icons;
|
||||||
bool m_snapshot_loaded;
|
bool m_snapshot_loaded;
|
||||||
|
bool customBg;
|
||||||
vector<dir_discHdr> m_gameList;
|
vector<dir_discHdr> m_gameList;
|
||||||
vector<string> tiers;
|
vector<string> tiers;
|
||||||
vector<string> sm_numbers;
|
vector<string> sm_numbers;
|
||||||
@ -103,6 +104,7 @@ private:
|
|||||||
u8 m_numCFVersions;
|
u8 m_numCFVersions;
|
||||||
u8 m_numPlugins;
|
u8 m_numPlugins;
|
||||||
u8 m_max_source_btn;
|
u8 m_max_source_btn;
|
||||||
|
u8 curCustBg;
|
||||||
char cf_domain[16];
|
char cf_domain[16];
|
||||||
bool m_use_source;// source_menu.ini found & ok to use source menu/flow
|
bool m_use_source;// source_menu.ini found & ok to use source menu/flow
|
||||||
bool m_sourceflow;// in sourceflow view
|
bool m_sourceflow;// in sourceflow view
|
||||||
@ -184,10 +186,7 @@ private:
|
|||||||
const TexData *m_lqBg;
|
const TexData *m_lqBg;
|
||||||
u8 m_bgCrossFade;
|
u8 m_bgCrossFade;
|
||||||
//
|
//
|
||||||
TexData sfbgimg;
|
|
||||||
TexData m_mainAltBg;
|
|
||||||
TexData m_errorBg;
|
TexData m_errorBg;
|
||||||
TexData m_mainBg;
|
|
||||||
TexData m_configBg;
|
TexData m_configBg;
|
||||||
TexData m_config3Bg;
|
TexData m_config3Bg;
|
||||||
TexData m_configScreenBg;
|
TexData m_configScreenBg;
|
||||||
@ -197,14 +196,16 @@ private:
|
|||||||
TexData m_cheatBg;
|
TexData m_cheatBg;
|
||||||
TexData m_downloadBg;
|
TexData m_downloadBg;
|
||||||
TexData m_gameinfoBg;
|
TexData m_gameinfoBg;
|
||||||
TexData m_gameBg;
|
|
||||||
TexData m_codeBg;
|
TexData m_codeBg;
|
||||||
TexData m_aboutBg;
|
TexData m_aboutBg;
|
||||||
TexData m_systemBg;
|
TexData m_systemBg;
|
||||||
TexData m_wbfsBg;
|
TexData m_wbfsBg;
|
||||||
TexData m_gameSettingsBg;
|
TexData m_gameSettingsBg;
|
||||||
|
TexData m_gameBg;
|
||||||
TexData m_gameBgLQ;
|
TexData m_gameBgLQ;
|
||||||
|
TexData m_mainBg;
|
||||||
TexData m_mainBgLQ;
|
TexData m_mainBgLQ;
|
||||||
|
TexData m_mainCustomBg[2];
|
||||||
|
|
||||||
//Main Coverflow
|
//Main Coverflow
|
||||||
s16 m_mainBtnCategories;
|
s16 m_mainBtnCategories;
|
||||||
@ -1059,8 +1060,9 @@ private:
|
|||||||
void _updateCheckboxes(void);
|
void _updateCheckboxes(void);
|
||||||
void _getGameCategories(void);
|
void _getGameCategories(void);
|
||||||
void _setGameCategories(void);
|
void _setGameCategories(void);
|
||||||
|
void _getCustomBgTex(void);
|
||||||
void _setMainBg(void);
|
void _setMainBg(void);
|
||||||
void _setBg(const TexData &bgTex, const TexData &bglqTex, bool force_change = false);
|
void _setBg(const TexData &bgTex, const TexData &bglqTex);
|
||||||
void _updateBg(void);
|
void _updateBg(void);
|
||||||
void _drawBg(void);
|
void _drawBg(void);
|
||||||
void _updateText(void);
|
void _updateText(void);
|
||||||
|
@ -11,7 +11,7 @@ extern const u32 gc_ogg_size;
|
|||||||
|
|
||||||
bool m_zoom_banner = false;
|
bool m_zoom_banner = false;
|
||||||
bool m_banner_loaded = false;
|
bool m_banner_loaded = false;
|
||||||
bool m_set_bg = false;
|
bool m_setMainBg = false;
|
||||||
s16 m_gameBtnPlayFull;
|
s16 m_gameBtnPlayFull;
|
||||||
s16 m_gameBtnBackFull;
|
s16 m_gameBtnBackFull;
|
||||||
s16 m_gameBtnToggle;
|
s16 m_gameBtnToggle;
|
||||||
@ -280,13 +280,17 @@ void CMenu::_showGame(void)
|
|||||||
m_fa.getBackground(bg, bglq);
|
m_fa.getBackground(bg, bglq);
|
||||||
_setBg(*bg, *bglq);
|
_setBg(*bg, *bglq);
|
||||||
CoverFlow.hideCover();
|
CoverFlow.hideCover();
|
||||||
|
m_setMainBg = true;
|
||||||
}
|
}
|
||||||
else if(m_set_bg)
|
else if(m_setMainBg)
|
||||||
{
|
{
|
||||||
CoverFlow.showCover();
|
CoverFlow.showCover();
|
||||||
_setMainBg();
|
if(customBg)
|
||||||
|
_setBg(m_mainCustomBg[curCustBg], m_mainCustomBg[curCustBg]);
|
||||||
|
else
|
||||||
|
_setBg(m_gameBg, m_gameBgLQ);
|
||||||
|
m_setMainBg = false;
|
||||||
}
|
}
|
||||||
m_set_bg = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMenu::_cleanupBanner(bool gamechange)
|
void CMenu::_cleanupBanner(bool gamechange)
|
||||||
@ -379,7 +383,7 @@ bool CMenu::_startVideo()
|
|||||||
void CMenu::_game(bool launch)
|
void CMenu::_game(bool launch)
|
||||||
{
|
{
|
||||||
m_banner_loaded = false;
|
m_banner_loaded = false;
|
||||||
m_set_bg = false;
|
m_setMainBg = true;
|
||||||
bool coverFlipped = false;
|
bool coverFlipped = false;
|
||||||
int cf_version = 1;
|
int cf_version = 1;
|
||||||
string domain;
|
string domain;
|
||||||
@ -434,7 +438,11 @@ void CMenu::_game(bool launch)
|
|||||||
{
|
{
|
||||||
m_fa.unload();
|
m_fa.unload();
|
||||||
CoverFlow.showCover();
|
CoverFlow.showCover();
|
||||||
_setMainBg();
|
if(customBg)
|
||||||
|
_setBg(m_mainCustomBg[curCustBg], m_mainCustomBg[curCustBg]);
|
||||||
|
else
|
||||||
|
_setBg(m_gameBg, m_gameBgLQ);
|
||||||
|
m_setMainBg = false;
|
||||||
}
|
}
|
||||||
else //loop fanart
|
else //loop fanart
|
||||||
m_fa.reset();
|
m_fa.reset();
|
||||||
@ -505,6 +513,7 @@ void CMenu::_game(bool launch)
|
|||||||
_hideGame();
|
_hideGame();
|
||||||
m_banner.SetShowBanner(false);
|
m_banner.SetShowBanner(false);
|
||||||
_gameinfo();
|
_gameinfo();
|
||||||
|
m_setMainBg = true;
|
||||||
_showGame();
|
_showGame();
|
||||||
m_banner.SetShowBanner(true);
|
m_banner.SetShowBanner(true);
|
||||||
}
|
}
|
||||||
@ -541,6 +550,7 @@ void CMenu::_game(bool launch)
|
|||||||
m_fa.unload();
|
m_fa.unload();
|
||||||
CoverFlow.showCover();
|
CoverFlow.showCover();
|
||||||
_setMainBg();
|
_setMainBg();
|
||||||
|
m_setMainBg = false;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
/* delete button */
|
/* delete button */
|
||||||
@ -566,6 +576,7 @@ void CMenu::_game(bool launch)
|
|||||||
startGameSound = -10;
|
startGameSound = -10;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
m_setMainBg = true;
|
||||||
_showGame();
|
_showGame();
|
||||||
m_banner.SetShowBanner(true);
|
m_banner.SetShowBanner(true);
|
||||||
}
|
}
|
||||||
@ -587,6 +598,7 @@ void CMenu::_game(bool launch)
|
|||||||
m_banner.ToggleGameSettings();//reset brightness
|
m_banner.ToggleGameSettings();//reset brightness
|
||||||
m_banner.ToggleZoom();//de zoom to small
|
m_banner.ToggleZoom();//de zoom to small
|
||||||
}
|
}
|
||||||
|
m_setMainBg = true;
|
||||||
_showGame();
|
_showGame();
|
||||||
}
|
}
|
||||||
else if(m_btnMgr.selected(m_gameBtnFavoriteOn) || m_btnMgr.selected(m_gameBtnFavoriteOff))
|
else if(m_btnMgr.selected(m_gameBtnFavoriteOn) || m_btnMgr.selected(m_gameBtnFavoriteOff))
|
||||||
@ -616,6 +628,7 @@ void CMenu::_game(bool launch)
|
|||||||
m_banner.ToggleGameSettings();//reset brightness
|
m_banner.ToggleGameSettings();//reset brightness
|
||||||
m_banner.ToggleZoom();//de zoom to small
|
m_banner.ToggleZoom();//de zoom to small
|
||||||
}
|
}
|
||||||
|
m_setMainBg = true;
|
||||||
_showGame();
|
_showGame();
|
||||||
if(m_newGame)
|
if(m_newGame)
|
||||||
startGameSound = -10;
|
startGameSound = -10;
|
||||||
@ -642,6 +655,7 @@ void CMenu::_game(bool launch)
|
|||||||
{
|
{
|
||||||
error(_t("errgame19", L"Can't launch in Wii virtual console mode!"));
|
error(_t("errgame19", L"Can't launch in Wii virtual console mode!"));
|
||||||
launch = false;
|
launch = false;
|
||||||
|
m_setMainBg = true;
|
||||||
_showGame();
|
_showGame();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -42,13 +42,16 @@ void CMenu::_hideMain(bool instant)
|
|||||||
m_btnMgr.hide(m_mainLblUser[i], instant);
|
m_btnMgr.hide(m_mainLblUser[i], instant);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMenu::_setMainBg()
|
void CMenu::_getCustomBgTex()
|
||||||
{
|
{
|
||||||
|
curCustBg += 1;
|
||||||
|
if(curCustBg == 2)
|
||||||
|
curCustBg = 0;
|
||||||
if(m_sourceflow)
|
if(m_sourceflow)
|
||||||
_setSrcFlowBg();
|
_setSrcFlowBg();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TexHandle.Cleanup(m_mainAltBg);
|
TexHandle.Cleanup(m_mainCustomBg[curCustBg]);
|
||||||
string fn = "";
|
string fn = "";
|
||||||
if(m_platform.loaded())
|
if(m_platform.loaded())
|
||||||
{
|
{
|
||||||
@ -83,27 +86,35 @@ void CMenu::_setMainBg()
|
|||||||
}
|
}
|
||||||
if(fn.length() > 0)
|
if(fn.length() > 0)
|
||||||
{
|
{
|
||||||
if(TexHandle.fromImageFile(m_mainAltBg, fmt("%s/%s/%s.png", m_bckgrndsDir.c_str(), m_themeName.c_str(), fn.c_str())) != TE_OK)
|
if(TexHandle.fromImageFile(m_mainCustomBg[curCustBg], fmt("%s/%s/%s.png", m_bckgrndsDir.c_str(), m_themeName.c_str(), fn.c_str())) != TE_OK)
|
||||||
{
|
{
|
||||||
if(TexHandle.fromImageFile(m_mainAltBg, fmt("%s/%s/%s.jpg", m_bckgrndsDir.c_str(), m_themeName.c_str(), fn.c_str())) != TE_OK)
|
if(TexHandle.fromImageFile(m_mainCustomBg[curCustBg], fmt("%s/%s/%s.jpg", m_bckgrndsDir.c_str(), m_themeName.c_str(), fn.c_str())) != TE_OK)
|
||||||
{
|
{
|
||||||
if(TexHandle.fromImageFile(m_mainAltBg, fmt("%s/%s.png", m_bckgrndsDir.c_str(), fn.c_str())) != TE_OK)
|
if(TexHandle.fromImageFile(m_mainCustomBg[curCustBg], fmt("%s/%s.png", m_bckgrndsDir.c_str(), fn.c_str())) != TE_OK)
|
||||||
{
|
{
|
||||||
if(TexHandle.fromImageFile(m_mainAltBg, fmt("%s/%s.jpg", m_bckgrndsDir.c_str(), fn.c_str())) != TE_OK)
|
if(TexHandle.fromImageFile(m_mainCustomBg[curCustBg], fmt("%s/%s.jpg", m_bckgrndsDir.c_str(), fn.c_str())) != TE_OK)
|
||||||
{
|
{
|
||||||
_setBg(m_mainBg, m_mainBgLQ);
|
customBg = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_setBg(m_mainAltBg, m_mainAltBg, true);
|
customBg = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
_setBg(m_mainBg, m_mainBgLQ);
|
customBg = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CMenu::_setMainBg()
|
||||||
|
{
|
||||||
|
if(customBg)
|
||||||
|
_setBg(m_mainCustomBg[curCustBg], m_mainCustomBg[curCustBg]);
|
||||||
|
else
|
||||||
|
_setBg(m_mainBg, m_mainBgLQ);
|
||||||
|
}
|
||||||
|
|
||||||
void CMenu::_showMain()
|
void CMenu::_showMain()
|
||||||
{
|
{
|
||||||
_setMainBg();
|
_setMainBg();
|
||||||
@ -376,6 +387,7 @@ int CMenu::main(void)
|
|||||||
gprintf("Bootup completed!\n");
|
gprintf("Bootup completed!\n");
|
||||||
|
|
||||||
m_refreshGameList = true;
|
m_refreshGameList = true;
|
||||||
|
_getCustomBgTex();
|
||||||
_showMain();
|
_showMain();
|
||||||
if(show_mem)
|
if(show_mem)
|
||||||
{
|
{
|
||||||
@ -407,6 +419,7 @@ int CMenu::main(void)
|
|||||||
m_cfg.setString(SOURCEFLOW_DOMAIN, "numbers", sm_numbers_backup);// restore if no source chosen
|
m_cfg.setString(SOURCEFLOW_DOMAIN, "numbers", sm_numbers_backup);// restore if no source chosen
|
||||||
m_cfg.setString(SOURCEFLOW_DOMAIN, "tiers", sm_tiers_backup);
|
m_cfg.setString(SOURCEFLOW_DOMAIN, "tiers", sm_tiers_backup);
|
||||||
m_sourceflow = false;// if not back a tier then exit sourceflow
|
m_sourceflow = false;// if not back a tier then exit sourceflow
|
||||||
|
_getCustomBgTex();
|
||||||
_setMainBg();
|
_setMainBg();
|
||||||
}
|
}
|
||||||
_showCF(true);
|
_showCF(true);
|
||||||
@ -420,7 +433,7 @@ int CMenu::main(void)
|
|||||||
sm_numbers_backup = m_cfg.getString(SOURCEFLOW_DOMAIN, "numbers");//backup for possible restore later
|
sm_numbers_backup = m_cfg.getString(SOURCEFLOW_DOMAIN, "numbers");//backup for possible restore later
|
||||||
sm_tiers_backup = m_cfg.getString(SOURCEFLOW_DOMAIN, "tiers");
|
sm_tiers_backup = m_cfg.getString(SOURCEFLOW_DOMAIN, "tiers");
|
||||||
m_sourceflow = true;
|
m_sourceflow = true;
|
||||||
_setSrcFlowBg();
|
_getCustomBgTex();
|
||||||
_showCF(true);
|
_showCF(true);
|
||||||
}
|
}
|
||||||
else //show source menu
|
else //show source menu
|
||||||
@ -443,6 +456,7 @@ int CMenu::main(void)
|
|||||||
m_cfg.setString(SOURCEFLOW_DOMAIN, "numbers", sm_numbers_backup);// restore if no source chosen
|
m_cfg.setString(SOURCEFLOW_DOMAIN, "numbers", sm_numbers_backup);// restore if no source chosen
|
||||||
m_cfg.setString(SOURCEFLOW_DOMAIN, "tiers", sm_tiers_backup);
|
m_cfg.setString(SOURCEFLOW_DOMAIN, "tiers", sm_tiers_backup);
|
||||||
m_sourceflow = false;
|
m_sourceflow = false;
|
||||||
|
_getCustomBgTex();
|
||||||
_setMainBg();
|
_setMainBg();
|
||||||
}
|
}
|
||||||
_showCF(true);
|
_showCF(true);
|
||||||
@ -498,6 +512,7 @@ int CMenu::main(void)
|
|||||||
m_source_cnt = 1;
|
m_source_cnt = 1;
|
||||||
m_cfg.setUInt("GENERAL", "sources", m_current_view);
|
m_cfg.setUInt("GENERAL", "sources", m_current_view);
|
||||||
m_catStartPage = 1;
|
m_catStartPage = 1;
|
||||||
|
_getCustomBgTex();
|
||||||
_setMainBg();
|
_setMainBg();
|
||||||
_showCF(true);
|
_showCF(true);
|
||||||
}
|
}
|
||||||
@ -586,6 +601,7 @@ int CMenu::main(void)
|
|||||||
if(m_sourceflow)
|
if(m_sourceflow)
|
||||||
{
|
{
|
||||||
_sourceFlow();// set the source selected
|
_sourceFlow();// set the source selected
|
||||||
|
_getCustomBgTex();
|
||||||
_setMainBg();
|
_setMainBg();
|
||||||
_showCF(true);
|
_showCF(true);
|
||||||
continue;
|
continue;
|
||||||
|
@ -208,7 +208,7 @@ bool CMenu::_srcTierBack(bool home)
|
|||||||
srcDomain = m_source.nextDomain().c_str();
|
srcDomain = m_source.nextDomain().c_str();
|
||||||
}
|
}
|
||||||
if(m_sourceflow)
|
if(m_sourceflow)
|
||||||
_setSrcFlowBg();
|
_getCustomBgTex();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
curPage = stoi(sm_numbers[sm_numbers.size() - 1]) / 12 + 1;
|
curPage = stoi(sm_numbers[sm_numbers.size() - 1]) / 12 + 1;
|
||||||
@ -220,19 +220,19 @@ bool CMenu::_srcTierBack(bool home)
|
|||||||
/* set custom sourceflow background image if available */
|
/* set custom sourceflow background image if available */
|
||||||
void CMenu::_setSrcFlowBg(void)
|
void CMenu::_setSrcFlowBg(void)
|
||||||
{
|
{
|
||||||
TexHandle.Cleanup(sfbgimg);
|
TexHandle.Cleanup(m_mainCustomBg[curCustBg]);
|
||||||
string fn = m_source.getString("general", "background", "");
|
string fn = m_source.getString("general", "background", "");
|
||||||
if(fn.length() > 0)
|
if(fn.length() > 0)
|
||||||
{
|
{
|
||||||
if(TexHandle.fromImageFile(sfbgimg, fmt("%s/backgrounds/%s/%s", m_sourceDir.c_str(), m_themeName.c_str(), fn.c_str())) != TE_OK)
|
if(TexHandle.fromImageFile(m_mainCustomBg[curCustBg], fmt("%s/backgrounds/%s/%s", m_sourceDir.c_str(), m_themeName.c_str(), fn.c_str())) != TE_OK)
|
||||||
{
|
{
|
||||||
if(TexHandle.fromImageFile(sfbgimg, fmt("%s/backgrounds/%s", m_sourceDir.c_str(), fn.c_str())) != TE_OK)
|
if(TexHandle.fromImageFile(m_mainCustomBg[curCustBg], fmt("%s/backgrounds/%s", m_sourceDir.c_str(), fn.c_str())) != TE_OK)
|
||||||
{
|
{
|
||||||
_setBg(m_mainBg, m_mainBgLQ);
|
_setBg(m_mainBg, m_mainBgLQ);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_setBg(sfbgimg, sfbgimg, true);
|
_setBg(m_mainCustomBg[curCustBg], m_mainCustomBg[curCustBg]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
_setBg(m_mainBg, m_mainBgLQ);
|
_setBg(m_mainBg, m_mainBgLQ);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user