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