diff --git a/out/boot.dol b/out/boot.dol index ee051289..408be831 100644 Binary files a/out/boot.dol and b/out/boot.dol differ diff --git a/source/menu/menu_main.cpp b/source/menu/menu_main.cpp index efc158d3..4c0d5381 100644 --- a/source/menu/menu_main.cpp +++ b/source/menu/menu_main.cpp @@ -43,17 +43,27 @@ void CMenu::_hideMain(bool instant) void CMenu::_setMainBg() { - string fn = m_cfg.getString("general", "main_background", ""); - if(fn.length() > 0) + if(m_sourceflow) + _setSrcFlowBg(); + else { - 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); + string fn = m_cfg.getString("general", "main_background", ""); + if(fn.length() > 0) + { + string themeName = m_cfg.getString("GENERAL", "theme", "default"); + if(TexHandle.fromImageFile(m_mainAltBg, fmt("%s/backgrounds/%s/%s", m_dataDir.c_str(), themeName.c_str(), fn.c_str())) != TE_OK) + { + if(TexHandle.fromImageFile(m_mainAltBg, fmt("%s/backgrounds/%s", m_dataDir.c_str(), fn.c_str())) != TE_OK) + { + _setBg(m_mainBg, m_mainBgLQ); + return; + } + } + _setBg(m_mainAltBg, m_mainAltBg); + } else _setBg(m_mainBg, m_mainBgLQ); } - else - _setBg(m_mainBg, m_mainBgLQ); } void CMenu::_showMain() @@ -356,7 +366,6 @@ int CMenu::main(void) } else //show source menu { - m_refreshGameList = _Source(); if(BTN_B_HELD) bUsed = true; @@ -382,8 +391,6 @@ int CMenu::main(void) { m_sourceflow = false; m_refreshGameList = true; - //_showMain(); - //continue; } _showMain(); } diff --git a/source/menu/menu_source.cpp b/source/menu/menu_source.cpp index 07fbde76..75715ad2 100644 --- a/source/menu/menu_source.cpp +++ b/source/menu/menu_source.cpp @@ -125,7 +125,6 @@ void CMenu::_sourceFlow() } srcDomain = m_source.nextDomain().c_str(); } - _setSrcFlowBg(); return; } } @@ -197,11 +196,16 @@ void CMenu::_setSrcFlowBg(void) string fn = m_source.getString("general", "background", ""); if(fn.length() > 0) { - 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); + string themeName = m_cfg.getString("GENERAL", "theme", "default"); + if(TexHandle.fromImageFile(sfbgimg, fmt("%s/backgrounds/%s/%s", m_sourceDir.c_str(), 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) + { + _setBg(m_mainBg, m_mainBgLQ); + return; + } + } + _setBg(sfbgimg, sfbgimg, true); } else _setBg(m_mainBg, m_mainBgLQ); diff --git a/wiiflow.pnps b/wiiflow.pnps index 5ac60f7e..30bdab08 100644 --- a/wiiflow.pnps +++ b/wiiflow.pnps @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file