-split coverflow config from theme config files.
-renamed theme folder to themes_lite folder because of the new format and to avoid conflict with wiiflow.
-made coverflows folder in themes_lite folder to hold the coverflow config files.
-coverflow configs must be named the same as the theme configs or you can make one default coverflow config (named default.ini) in the coverflows folder. Then if wiiflow can't find matching coverflow config it will use the default coverflow config.
-to create coverflow configs open a theme.ini file in a text editor (Notepad+) and search for brewflow and then copy from there to the end, create a new text file and paste, make sure the first line is empty, and save the file named exactly like your theme.ini and in the folder dev:/wiiflow/themes_lite/coverflows/
-why did i do this? 1. when you use wiiflow setting 'adjust coverflow' and save it will only save the coverflow part and not mess up your structure of your theme.ini. 2. because now with the default.ini coverflow you can have one set of coverflow layouts for all the themes.
-note: this is Phase 1. Phase 2 and 3 coming. :)
This commit is contained in:
fledge68 2016-04-30 14:19:30 +00:00
parent d390563d5a
commit 0c5f06972c
7 changed files with 222 additions and 174 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 MiB

After

Width:  |  Height:  |  Size: 3.1 MiB

View File

@ -1,8 +1,8 @@
#define APP_NAME "WiiFlow Lite"
#define APP_VERSION "Beta 4.2.2"
#define APPDATA_DIR "wiiflow"
#define APPDATA_DIR2 "apps/wiiflow_lite"
#define APP_DATA_DIR "wiiflow"
#define APPS_DIR "apps/wiiflow_lite"
#define EMU_NANDS_DIR "nands"
#define GAMES_DIR "%s:/wbfs"
@ -27,8 +27,8 @@
#define MUSIC_DOMAIN "MUSIC"
#define FTP_DOMAIN "FTP"
#define DEVELOPERS "FIX94, Fledge68, OverjoY"
#define PAST_DEVELOPERS "Hibernatus, Narolez, Hulk, Miigotu, r-win"
#define DEVELOPERS "Fledge68"
#define PAST_DEVELOPERS "FIX94, OverjoY, Hibernatus, Narolez, Hulk, Miigotu, r-win"
#define LOADER_AUTHOR "Kwiirk, Waninkoko, Hermes"
#define GUI_AUTHOR "Hibernatus"

View File

@ -126,7 +126,7 @@ void CMenu::init()
struct stat dummy;
for(int i = SD; i <= USB8; i++) //Find the first partition with apps/wiiflow folder
{
if(DeviceHandle.IsInserted(i) && DeviceHandle.GetFSType(i) != PART_FS_WBFS && stat(fmt("%s:/%s", DeviceName[i], APPDATA_DIR2), &dummy) == 0)
if(DeviceHandle.IsInserted(i) && DeviceHandle.GetFSType(i) != PART_FS_WBFS && stat(fmt("%s:/%s", DeviceName[i], APPS_DIR), &dummy) == 0)
{
drive = DeviceName[i];
break;
@ -143,7 +143,7 @@ void CMenu::init()
}
/* Handle apps dir first, so handling wiiflow.ini does not fail */
m_appDir = fmt("%s:/%s", drive, APPDATA_DIR2);
m_appDir = fmt("%s:/%s", drive, APPS_DIR);
gprintf("Wiiflow boot.dol Location: %s\n", m_appDir.c_str());
fsop_MakeFolder(m_appDir.c_str());
@ -172,14 +172,14 @@ void CMenu::init()
{
for(u8 i = USB1; i <= USB8; i++) //Look for first partition with a wiiflow folder in root
{
if(DeviceHandle.IsInserted(i) && DeviceHandle.GetFSType(i) != PART_FS_WBFS && stat(fmt("%s:/%s", DeviceName[i], APPDATA_DIR), &dummy) == 0)
if(DeviceHandle.IsInserted(i) && DeviceHandle.GetFSType(i) != PART_FS_WBFS && stat(fmt("%s:/%s", DeviceName[i], APP_DATA_DIR), &dummy) == 0)
{
drive = DeviceName[i];
break;
}
}
}
if(!onUSB && DeviceHandle.IsInserted(SD) && stat(fmt("%s:/%s", DeviceName[SD], APPDATA_DIR), &dummy) == 0)
if(!onUSB && DeviceHandle.IsInserted(SD) && stat(fmt("%s:/%s", DeviceName[SD], APP_DATA_DIR), &dummy) == 0)
drive = DeviceName[SD];
if(drive == check)//if wiiflow data directory not found then check just for a USB partition or SD card
{
@ -206,7 +206,7 @@ void CMenu::init()
drive = DeviceName[USB1];//if no SD insterted then force USB. may set this to the wf boot.dol partition
}
}
m_dataDir = fmt("%s:/%s", drive, APPDATA_DIR);
m_dataDir = fmt("%s:/%s", drive, APP_DATA_DIR);
gprintf("Data Directory: %s\n", m_dataDir.c_str());
snprintf(m_app_update_drive, sizeof(m_app_update_drive), "%s:/", drive);
@ -232,6 +232,7 @@ void CMenu::init()
_load_installed_cioses();
else
_installed_cios[CurrentIOS.Version] = CurrentIOS.Version;
/* Path Settings */
m_dol = fmt("%s/boot.dol", m_appDir.c_str());
m_ver = fmt("%s/versions", m_appDir.c_str());
@ -242,7 +243,6 @@ void CMenu::init()
m_binsDir = fmt("%s/bins", m_appDir.c_str());
m_sourceDir = m_cfg.getString("GENERAL", "dir_Source", fmt("%s/source_menu", m_dataDir.c_str()));
m_miosDir = m_cfg.getString("GENERAL", "dir_mios", fmt("%s/mios", m_dataDir.c_str()));
m_customBnrDir = m_cfg.getString("GENERAL", "dir_custom_banners", fmt("%s/custom_banners", m_dataDir.c_str()));
m_pluginsDir = m_cfg.getString("GENERAL", "dir_plugins", fmt("%s/plugins", m_dataDir.c_str()));
@ -258,48 +258,18 @@ void CMenu::init()
m_languagesDir = m_cfg.getString("GENERAL", "dir_languages", fmt("%s/languages", m_dataDir.c_str()));
m_boxPicDir = m_cfg.getString("GENERAL", "dir_box_covers", fmt("%s/boxcovers", m_dataDir.c_str()));
m_picDir = m_cfg.getString("GENERAL", "dir_flat_covers", fmt("%s/covers", m_dataDir.c_str()));
m_themeDir = m_cfg.getString("GENERAL", "dir_themes", fmt("%s/themes", m_dataDir.c_str()));
//m_themeDir = m_cfg.getString("GENERAL", "dir_themes", fmt("%s/themes", m_dataDir.c_str()));
m_themeDir = m_cfg.getString("GENERAL", "dir_themes_lite", fmt("%s/themes_lite", m_dataDir.c_str()));
m_musicDir = m_cfg.getString("GENERAL", "dir_music", fmt("%s/music", m_dataDir.c_str()));
m_videoDir = m_cfg.getString("GENERAL", "dir_trailers", fmt("%s/trailers", m_dataDir.c_str()));
m_fanartDir = m_cfg.getString("GENERAL", "dir_fanart", fmt("%s/fanart", m_dataDir.c_str()));
m_screenshotDir = m_cfg.getString("GENERAL", "dir_screenshot", fmt("%s/screenshots", m_dataDir.c_str()));
m_helpDir = m_cfg.getString("GENERAL", "dir_help", fmt("%s/help", m_dataDir.c_str()));
if(m_cfg.getString("GENERAL", "returnto", "WFLA") == "DWFA")
m_cfg.setString("GENERAL", "returnto", "WFLA");
/* Cache Reload Checks */
/*Disabled for now
int ini_rev = m_cfg.getInt("GENERAL", "ini_rev", 0);
if(ini_rev != SVN_REV_NUM)
fsop_deleteFolder(m_listCacheDir.c_str());
m_cfg.setInt("GENERAL", "ini_rev", SVN_REV_NUM);*/
/* Check to make sure wii games partition is ok */
const char *domain = _domainFromView();
u8 partition = m_cfg.getInt(domain, "partition", 0);
if(partition > USB8 || !DeviceHandle.IsInserted(partition))//if not ok then find wbfs folder or wbfs partition
{
m_cfg.remove(domain, "partition");
for(int i = SD; i <= USB8; i++) // Find a usb partition with a wbfs folder or wbfs file system, else leave it blank (defaults to usb1 later)
{
if(DeviceHandle.IsInserted(i) && (DeviceHandle.GetFSType(i) == PART_FS_WBFS || stat(fmt(GAMES_DIR, DeviceName[i]), &dummy) == 0))
{
gprintf("Setting Wii games partition to: %i\n", i);
m_cfg.setInt(domain, "partition", i);
break;
}
}
}
// if i>usb8 then we need to do an error and exit cuz no wbfs partition or folder.
CoverFlow.init(m_base_font, m_base_font_size, m_vid.vid_50hz());
/* Create our Folder Structure */
fsop_MakeFolder(m_dataDir.c_str()); //D'OH!
fsop_MakeFolder(m_sourceDir.c_str());
fsop_MakeFolder(m_miosDir.c_str());
fsop_MakeFolder(m_customBnrDir.c_str());
fsop_MakeFolder(m_pluginsDir.c_str());
@ -322,11 +292,43 @@ void CMenu::init()
fsop_MakeFolder(m_screenshotDir.c_str());
fsop_MakeFolder(m_helpDir.c_str());
/* Check to make sure wii games partition is ok */
const char *domain = _domainFromView();
u8 partition = m_cfg.getInt(domain, "partition", 0);
if(partition > USB8 || !DeviceHandle.IsInserted(partition))//if not ok then find wbfs folder or wbfs partition
{
m_cfg.remove(domain, "partition");
for(int i = SD; i <= USB8; i++) // Find a usb partition with a wbfs folder or wbfs file system, else leave it blank (defaults to usb1 later)
{
if(DeviceHandle.IsInserted(i) && (DeviceHandle.GetFSType(i) == PART_FS_WBFS || stat(fmt(GAMES_DIR, DeviceName[i]), &dummy) == 0))
{
gprintf("Setting Wii games partition to: %i\n", i);
m_cfg.setInt(domain, "partition", i);
break;
}
}
}
/* Cache Reload Checks - Disabled for now
int ini_rev = m_cfg.getInt("GENERAL", "ini_rev", 0);
if(ini_rev != SVN_REV_NUM)
fsop_deleteFolder(m_listCacheDir.c_str());
m_cfg.setInt("GENERAL", "ini_rev", SVN_REV_NUM);*/
CoverFlow.init(m_base_font, m_base_font_size, m_vid.vid_50hz());
//load categories and theme INI files
m_cat.load(fmt("%s/" CAT_FILENAME, m_settingsDir.c_str()));
string themeName = m_cfg.getString("GENERAL", "theme", "default");
m_themeDataDir = fmt("%s/%s", m_themeDir.c_str(), themeName.c_str());
m_theme.load(fmt("%s.ini", m_themeDataDir.c_str()));
m_coverflow.load(fmt("%s/coverflows/%s.ini", m_themeDir.c_str(), themeName.c_str()));
if(!m_coverflow.loaded())
m_coverflow.load(fmt("%s/coverflows/default.ini", m_themeDir.c_str()));
/*
m_coverflow.load(fmt("%s/coverflow.ini", m_themeDataDir.c_str()));
if(!m_coverflow.loaded())
m_coverflow.load(fmt("%s/default/coverflow.ini", m_themeDir.c_str()));*/
/*Get plugin ini files if plugin view enabled*/
if(!m_cfg.getBool(PLUGIN_DOMAIN, "disable", false))
@ -417,6 +419,9 @@ void CMenu::init()
m_locked = m_cfg.getString("GENERAL", "parent_code", "").size() >= 4;
m_btnMgr.setRumble(m_cfg.getBool("GENERAL", "rumble", true));
if(m_cfg.getString("GENERAL", "returnto", "WFLA") == "DWFA")
m_cfg.setString("GENERAL", "returnto", "WFLA");
int exit_to = m_cfg.getInt("GENERAL", "exit_to", 0);
if(exit_to == EXIT_TO_BOOTMII && (!DeviceHandle.IsInserted(SD) ||
stat(fmt("%s:/bootmii/armboot.bin",DeviceName[SD]), &dummy) != 0 ||
@ -581,6 +586,8 @@ void CMenu::_Theme_Cleanup(void)
theme.texSet.clear();
theme.fontSet.clear();
theme.soundSet.clear();
m_theme.unload();
m_coverflow.unload();
}
void CMenu::_netInit(void)
@ -624,21 +631,20 @@ void CMenu::_loadCFCfg()
CoverFlow.setBufferSize(m_cfg.getInt("GENERAL", "cover_buffer", 20));
// Coverflow Sounds
CoverFlow.setSounds(
new GuiSound(fmt("%s/%s", m_themeDataDir.c_str(), m_theme.getString(domain, "sound_flip").c_str())),
_sound(theme.soundSet, domain, "sound_hover", hover_wav, hover_wav_size, "default_btn_hover", false),
_sound(theme.soundSet, domain, "sound_select", click_wav, click_wav_size, "default_btn_click", false),
new GuiSound(fmt("%s/%s", m_themeDataDir.c_str(), m_theme.getString(domain, "sound_cancel").c_str()))
new GuiSound(fmt("%s/%s", m_themeDataDir.c_str(), m_coverflow.getString(domain, "sound_flip").c_str())),
_sound(theme.soundSet, m_coverflow.getString(domain, "sound_hover", "").c_str(), hover_wav, hover_wav_size, "default_btn_hover", false),
_sound(theme.soundSet, m_coverflow.getString(domain, "sound_select", "").c_str(), click_wav, click_wav_size, "default_btn_click", false),
new GuiSound(fmt("%s/%s", m_themeDataDir.c_str(), m_coverflow.getString(domain, "sound_cancel").c_str()))
);
// Textures
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 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 texLoading = fmt("%s/%s", m_themeDataDir.c_str(), m_coverflow.getString(domain, "loading_cover_box").c_str());
string texNoCover = fmt("%s/%s", m_themeDataDir.c_str(), m_coverflow.getString(domain, "missing_cover_box").c_str());
string texLoadingFlat = fmt("%s/%s", m_themeDataDir.c_str(), m_coverflow.getString(domain, "loading_cover_flat").c_str());
string texNoCoverFlat = fmt("%s/%s", m_themeDataDir.c_str(), m_coverflow.getString(domain, "missing_cover_flat").c_str());
CoverFlow.setTextures(texLoading, texLoadingFlat, texNoCover, texNoCoverFlat);
// Font
CoverFlow.setFont(_font(domain, "font", TITLEFONT), m_theme.getColor(domain, "font_color", CColor(0xFFFFFFFF)));
// Coverflow Count
m_numCFVersions = min(max(2, m_theme.getInt("_COVERFLOW", "number_of_modes", 2)), 15);
CoverFlow.setFont(_font(domain, "font", TITLEFONT), m_coverflow.getColor(domain, "font_color", CColor(0xFFFFFFFF)));
}
Vector3D CMenu::_getCFV3D(const string &domain, const string &key, const Vector3D &def, bool otherScrnFmt)
@ -649,13 +655,13 @@ Vector3D CMenu::_getCFV3D(const string &domain, const string &key, const Vector3
key43 += "_4_3";
if (m_vid.wide() == otherScrnFmt)
swap(key169, key43);
if (m_theme.has(domain, key169))
if (m_coverflow.has(domain, key169))
{
Vector3D v(m_theme.getVector3D(domain, key169));
m_theme.getVector3D(domain, key43, v);
Vector3D v(m_coverflow.getVector3D(domain, key169));
m_coverflow.getVector3D(domain, key43, v);
return v;
}
return m_theme.getVector3D(domain, key169, m_theme.getVector3D(domain, key43, def));
return m_coverflow.getVector3D(domain, key169, m_coverflow.getVector3D(domain, key43, def));
}
int CMenu::_getCFInt(const string &domain, const string &key, int def, bool otherScrnFmt)
@ -666,13 +672,13 @@ int CMenu::_getCFInt(const string &domain, const string &key, int def, bool othe
key43 += "_4_3";
if (m_vid.wide() == otherScrnFmt)
swap(key169, key43);
if (m_theme.has(domain, key169))
if (m_coverflow.has(domain, key169))
{
int v = m_theme.getInt(domain, key169);
m_theme.getInt(domain, key43, v);
int v = m_coverflow.getInt(domain, key169);
m_coverflow.getInt(domain, key43, v);
return v;
}
return m_theme.getInt(domain, key169, m_theme.getInt(domain, key43, def));
return m_coverflow.getInt(domain, key169, m_coverflow.getInt(domain, key43, def));
}
float CMenu::_getCFFloat(const string &domain, const string &key, float def, bool otherScrnFmt)
@ -683,31 +689,35 @@ float CMenu::_getCFFloat(const string &domain, const string &key, float def, boo
key43 += "_4_3";
if (m_vid.wide() == otherScrnFmt)
swap(key169, key43);
if (m_theme.has(domain, key169))
if (m_coverflow.has(domain, key169))
{
float v = m_theme.getFloat(domain, key169);
m_theme.getFloat(domain, key43, v);
float v = m_coverflow.getFloat(domain, key169);
m_coverflow.getFloat(domain, key43, v);
return v;
}
return m_theme.getFloat(domain, key169, m_theme.getFloat(domain, key43, def));
return m_coverflow.getFloat(domain, key169, m_coverflow.getFloat(domain, key43, def));
}
void CMenu::_loadCFLayout(int version, bool forceAA, bool otherScrnFmt)
{
bool homebrew = (m_sourceflow && m_cfg.getBool(_domainFromView(), "smallbox", true)) || m_current_view == COVERFLOW_HOMEBREW;
bool homebrew = m_sourceflow || m_current_view == COVERFLOW_HOMEBREW;
bool smallbox = (homebrew || m_current_view == COVERFLOW_PLUGIN) && m_cfg.getBool(_domainFromView(), "smallbox", true);
string domain = ((homebrew && smallbox) ? fmt("_BREWFLOW_%i", version) : (m_current_view == COVERFLOW_PLUGIN && !m_sourceflow) ?
fmt("_EMUFLOW_%i", version) : fmt("_COVERFLOW_%i", version));
string domainSel = ((homebrew && smallbox) ? fmt("_BREWFLOW_%i_S", version) : (m_current_view == COVERFLOW_PLUGIN && !m_sourceflow) ?
fmt("_EMUFLOW_%i_S", version) : fmt("_COVERFLOW_%i_S", version));
/*string domain = fmt("%s_%i", cf_domain, version);
string domainSel = fmt("%s_%i_S", cf_domain, version);
bool smallflow = !strcmp(cf_domain, "_SMALLFLOW");
bool shortflow = !strcmp(cf_domain, "_SHORTFLOW"); */
bool sf = otherScrnFmt;
int max_fsaa = m_theme.getInt(domain, "max_fsaa", 3);
int max_fsaa = m_coverflow.getInt(domain, "max_fsaa", 3);
_setAA(forceAA ? max_fsaa : min(max_fsaa, m_cfg.getInt("GENERAL", "max_fsaa", 3)));
CoverFlow.setTextureQuality(m_theme.getFloat(domain, "tex_lod_bias", -3.f),
m_theme.getInt(domain, "tex_aniso", 2),
m_theme.getBool(domain, "tex_edge_lod", true));
CoverFlow.setTextureQuality(m_coverflow.getFloat(domain, "tex_lod_bias", -3.f),
m_coverflow.getInt(domain, "tex_aniso", 2),
m_coverflow.getBool(domain, "tex_edge_lod", true));
CoverFlow.setRange(_getCFInt(domain, "rows", (smallbox && homebrew) ? 5 : 1, sf), _getCFInt(domain, "columns", 9, sf));
@ -744,53 +754,53 @@ void CMenu::_loadCFLayout(int version, bool forceAA, bool otherScrnFmt)
_getCFV3D(domainSel, "row_center_pos", Vector3D(0.f, def_cvr_posY, 0.f), sf));
CoverFlow.setCoverAngleOsc(false,
m_theme.getVector3D(domain, "cover_osc_speed", Vector3D(2.f, 2.f, 0.f)),
m_theme.getVector3D(domain, "cover_osc_amp", Vector3D(5.f, 10.f, 0.f)));
m_coverflow.getVector3D(domain, "cover_osc_speed", Vector3D(2.f, 2.f, 0.f)),
m_coverflow.getVector3D(domain, "cover_osc_amp", Vector3D(5.f, 10.f, 0.f)));
CoverFlow.setCoverAngleOsc(true,
m_theme.getVector3D(domainSel, "cover_osc_speed", Vector3D(2.1f, 2.1f, 0.f)),
m_theme.getVector3D(domainSel, "cover_osc_amp", Vector3D(2.f, 5.f, 0.f)));
m_coverflow.getVector3D(domainSel, "cover_osc_speed", Vector3D(2.1f, 2.1f, 0.f)),
m_coverflow.getVector3D(domainSel, "cover_osc_amp", Vector3D(2.f, 5.f, 0.f)));
CoverFlow.setCoverPosOsc(false,
m_theme.getVector3D(domain, "cover_pos_osc_speed"),
m_theme.getVector3D(domain, "cover_pos_osc_amp"));
m_coverflow.getVector3D(domain, "cover_pos_osc_speed"),
m_coverflow.getVector3D(domain, "cover_pos_osc_amp"));
CoverFlow.setCoverPosOsc(true,
m_theme.getVector3D(domainSel, "cover_pos_osc_speed"),
m_theme.getVector3D(domainSel, "cover_pos_osc_amp"));
m_coverflow.getVector3D(domainSel, "cover_pos_osc_speed"),
m_coverflow.getVector3D(domainSel, "cover_pos_osc_amp"));
float spacerX = (smallbox && homebrew) ? 1.f : 0.35f;
CoverFlow.setSpacers(false,
m_theme.getVector3D(domain, "left_spacer", Vector3D(-spacerX, 0.f, 0.f)),
m_theme.getVector3D(domain, "right_spacer", Vector3D(spacerX, 0.f, 0.f)));
m_coverflow.getVector3D(domain, "left_spacer", Vector3D(-spacerX, 0.f, 0.f)),
m_coverflow.getVector3D(domain, "right_spacer", Vector3D(spacerX, 0.f, 0.f)));
CoverFlow.setSpacers(true,
m_theme.getVector3D(domainSel, "left_spacer", Vector3D(-spacerX, 0.f, 0.f)),
m_theme.getVector3D(domainSel, "right_spacer", Vector3D(spacerX, 0.f, 0.f)));
m_coverflow.getVector3D(domainSel, "left_spacer", Vector3D(-spacerX, 0.f, 0.f)),
m_coverflow.getVector3D(domainSel, "right_spacer", Vector3D(spacerX, 0.f, 0.f)));
CoverFlow.setDeltaAngles(false,
m_theme.getVector3D(domain, "left_delta_angle"),
m_theme.getVector3D(domain, "right_delta_angle"));
m_coverflow.getVector3D(domain, "left_delta_angle"),
m_coverflow.getVector3D(domain, "right_delta_angle"));
CoverFlow.setDeltaAngles(true,
m_theme.getVector3D(domainSel, "left_delta_angle"),
m_theme.getVector3D(domainSel, "right_delta_angle"));
m_coverflow.getVector3D(domainSel, "left_delta_angle"),
m_coverflow.getVector3D(domainSel, "right_delta_angle"));
float angleY = (smallbox && homebrew) ? 0.f : 70.f;
CoverFlow.setAngles(false,
m_theme.getVector3D(domain, "left_angle", Vector3D(0.f, angleY, 0.f)),
m_theme.getVector3D(domain, "right_angle", Vector3D(0.f, -angleY, 0.f)),
m_theme.getVector3D(domain, "center_angle"),
m_theme.getVector3D(domain, "row_center_angle"));
m_coverflow.getVector3D(domain, "left_angle", Vector3D(0.f, angleY, 0.f)),
m_coverflow.getVector3D(domain, "right_angle", Vector3D(0.f, -angleY, 0.f)),
m_coverflow.getVector3D(domain, "center_angle"),
m_coverflow.getVector3D(domain, "row_center_angle"));
angleY = (smallbox && homebrew) ? 0.f : 90.f;
float angleY1 = (smallbox && homebrew) ? 0.f : 380.f;
float angleX = (smallbox && homebrew) ? 0.f : -45.f;
CoverFlow.setAngles(true,
m_theme.getVector3D(domainSel, "left_angle", Vector3D(angleX, angleY, 0.f)),
m_theme.getVector3D(domainSel, "right_angle", Vector3D(angleX, -angleY, 0.f)),
m_theme.getVector3D(domainSel, "center_angle", Vector3D(0.f, angleY1, 0.f)),
m_theme.getVector3D(domainSel, "row_center_angle"));
m_coverflow.getVector3D(domainSel, "left_angle", Vector3D(angleX, angleY, 0.f)),
m_coverflow.getVector3D(domainSel, "right_angle", Vector3D(angleX, -angleY, 0.f)),
m_coverflow.getVector3D(domainSel, "center_angle", Vector3D(0.f, angleY1, 0.f)),
m_coverflow.getVector3D(domainSel, "row_center_angle"));
angleX = smallbox ? 0.f : 55.f;
CoverFlow.setTitleAngles(false,
@ -830,76 +840,76 @@ void CMenu::_loadCFLayout(int version, bool forceAA, bool otherScrnFmt)
_textStyle(domainSel.c_str(), "text_center_style", FTGX_ALIGN_TOP | FTGX_JUSTIFY_RIGHT));
CoverFlow.setColors(false,
m_theme.getColor(domain, "color_beg", 0xCFFFFFFF),
m_theme.getColor(domain, "color_end", 0x3FFFFFFF),
m_theme.getColor(domain, "color_off", 0x7FFFFFFF));
m_coverflow.getColor(domain, "color_beg", 0xCFFFFFFF),
m_coverflow.getColor(domain, "color_end", 0x3FFFFFFF),
m_coverflow.getColor(domain, "color_off", 0x7FFFFFFF));
CoverFlow.setColors(true,
m_theme.getColor(domainSel, "color_beg", 0x7FFFFFFF),
m_theme.getColor(domainSel, "color_end", 0x1FFFFFFF),
m_theme.getColor(domain, "color_off", 0x7FFFFFFF)); // Mouse not used once a selection has been made
m_coverflow.getColor(domainSel, "color_beg", 0x7FFFFFFF),
m_coverflow.getColor(domainSel, "color_end", 0x1FFFFFFF),
m_coverflow.getColor(domain, "color_off", 0x7FFFFFFF)); // Mouse not used once a selection has been made
CoverFlow.setMirrorAlpha(m_theme.getFloat(domain, "mirror_alpha", 0.25f), m_theme.getFloat(domain, "title_mirror_alpha", 0.2f)); // Doesn't depend on selection
CoverFlow.setMirrorAlpha(m_coverflow.getFloat(domain, "mirror_alpha", 0.25f), m_coverflow.getFloat(domain, "title_mirror_alpha", 0.2f)); // Doesn't depend on selection
CoverFlow.setMirrorBlur(m_theme.getBool(domain, "mirror_blur", true)); // Doesn't depend on selection
CoverFlow.setMirrorBlur(m_coverflow.getBool(domain, "mirror_blur", true)); // Doesn't depend on selection
CoverFlow.setShadowColors(false,
m_theme.getColor(domain, "color_shadow_center", 0x00000000),
m_theme.getColor(domain, "color_shadow_beg", 0x00000000),
m_theme.getColor(domain, "color_shadow_end", 0x00000000),
m_theme.getColor(domain, "color_shadow_off", 0x00000000));
m_coverflow.getColor(domain, "color_shadow_center", 0x00000000),
m_coverflow.getColor(domain, "color_shadow_beg", 0x00000000),
m_coverflow.getColor(domain, "color_shadow_end", 0x00000000),
m_coverflow.getColor(domain, "color_shadow_off", 0x00000000));
CoverFlow.setShadowColors(true,
m_theme.getColor(domainSel, "color_shadow_center", 0x0000007F),
m_theme.getColor(domainSel, "color_shadow_beg", 0x0000007F),
m_theme.getColor(domainSel, "color_shadow_end", 0x0000007F),
m_theme.getColor(domainSel, "color_shadow_off", 0x0000007F));
m_coverflow.getColor(domainSel, "color_shadow_center", 0x0000007F),
m_coverflow.getColor(domainSel, "color_shadow_beg", 0x0000007F),
m_coverflow.getColor(domainSel, "color_shadow_end", 0x0000007F),
m_coverflow.getColor(domainSel, "color_shadow_off", 0x0000007F));
CoverFlow.setShadowPos(m_theme.getFloat(domain, "shadow_scale", 1.1f),
m_theme.getFloat(domain, "shadow_x"),
m_theme.getFloat(domain, "shadow_y"));
CoverFlow.setShadowPos(m_coverflow.getFloat(domain, "shadow_scale", 1.1f),
m_coverflow.getFloat(domain, "shadow_x"),
m_coverflow.getFloat(domain, "shadow_y"));
float spacerY = (smallbox && homebrew) ? 0.60f : 2.f;
CoverFlow.setRowSpacers(false,
m_theme.getVector3D(domain, "top_spacer", Vector3D(0.f, spacerY, 0.f)),
m_theme.getVector3D(domain, "bottom_spacer", Vector3D(0.f, -spacerY, 0.f)));
m_coverflow.getVector3D(domain, "top_spacer", Vector3D(0.f, spacerY, 0.f)),
m_coverflow.getVector3D(domain, "bottom_spacer", Vector3D(0.f, -spacerY, 0.f)));
CoverFlow.setRowSpacers(true,
m_theme.getVector3D(domainSel, "top_spacer", Vector3D(0.f, spacerY, 0.f)),
m_theme.getVector3D(domainSel, "bottom_spacer", Vector3D(0.f, -spacerY, 0.f)));
m_coverflow.getVector3D(domainSel, "top_spacer", Vector3D(0.f, spacerY, 0.f)),
m_coverflow.getVector3D(domainSel, "bottom_spacer", Vector3D(0.f, -spacerY, 0.f)));
CoverFlow.setRowDeltaAngles(false,
m_theme.getVector3D(domain, "top_delta_angle"),
m_theme.getVector3D(domain, "bottom_delta_angle"));
m_coverflow.getVector3D(domain, "top_delta_angle"),
m_coverflow.getVector3D(domain, "bottom_delta_angle"));
CoverFlow.setRowDeltaAngles(true,
m_theme.getVector3D(domainSel, "top_delta_angle"),
m_theme.getVector3D(domainSel, "bottom_delta_angle"));
m_coverflow.getVector3D(domainSel, "top_delta_angle"),
m_coverflow.getVector3D(domainSel, "bottom_delta_angle"));
CoverFlow.setRowAngles(false,
m_theme.getVector3D(domain, "top_angle"),
m_theme.getVector3D(domain, "bottom_angle"));
m_coverflow.getVector3D(domain, "top_angle"),
m_coverflow.getVector3D(domain, "bottom_angle"));
CoverFlow.setRowAngles(true,
m_theme.getVector3D(domainSel, "top_angle"),
m_theme.getVector3D(domainSel, "bottom_angle"));
m_coverflow.getVector3D(domainSel, "top_angle"),
m_coverflow.getVector3D(domainSel, "bottom_angle"));
Vector3D def_cvr_scale = smallbox ? (homebrew
? Vector3D(0.667f, 0.25f, 1.f)
Vector3D def_cvr_scale = smallbox ? (homebrew ?
Vector3D(0.667f, 0.25f, 1.f)
: Vector3D(1.f, 0.5f, 1.f))
: Vector3D(1.f, 1.f, 1.f);
CoverFlow.setCoverScale(false,
m_theme.getVector3D(domain, "left_scale", def_cvr_scale),
m_theme.getVector3D(domain, "right_scale", def_cvr_scale),
m_theme.getVector3D(domain, "center_scale", def_cvr_scale),
m_theme.getVector3D(domain, "row_center_scale", def_cvr_scale));
m_coverflow.getVector3D(domain, "left_scale", def_cvr_scale),
m_coverflow.getVector3D(domain, "right_scale", def_cvr_scale),
m_coverflow.getVector3D(domain, "center_scale", def_cvr_scale),
m_coverflow.getVector3D(domain, "row_center_scale", def_cvr_scale));
CoverFlow.setCoverScale(true,
m_theme.getVector3D(domainSel, "left_scale", def_cvr_scale),
m_theme.getVector3D(domainSel, "right_scale", def_cvr_scale),
m_theme.getVector3D(domainSel, "center_scale", def_cvr_scale),
m_theme.getVector3D(domainSel, "row_center_scale", def_cvr_scale));
m_coverflow.getVector3D(domainSel, "left_scale", def_cvr_scale),
m_coverflow.getVector3D(domainSel, "right_scale", def_cvr_scale),
m_coverflow.getVector3D(domainSel, "center_scale", def_cvr_scale),
m_coverflow.getVector3D(domainSel, "row_center_scale", def_cvr_scale));
float flipX = (smallbox && homebrew) ? 359.f : 180.f;
CoverFlow.setCoverFlipping(
@ -908,9 +918,9 @@ void CMenu::_loadCFLayout(int version, bool forceAA, bool otherScrnFmt)
_getCFV3D(domainSel, "flip_scale", def_cvr_scale, sf));
CoverFlow.setBlur(
m_theme.getInt(domain, "blur_resolution", 1),
m_theme.getInt(domain, "blur_radius", 2),
m_theme.getFloat(domain, "blur_factor", 1.f));
m_coverflow.getInt(domain, "blur_resolution", 1),
m_coverflow.getInt(domain, "blur_radius", 2),
m_coverflow.getFloat(domain, "blur_factor", 1.f));
}
void CMenu::_buildMenus(void)
@ -929,9 +939,9 @@ void CMenu::_buildMenus(void)
theme.txtFontColor = m_theme.getColor("GENERAL", "text_font_color", 0xFFFFFFFF);
// Default Sounds
theme.clickSound = _sound(theme.soundSet, "GENERAL", "click_sound", click_wav, click_wav_size, "default_btn_click", false);
theme.hoverSound = _sound(theme.soundSet, "GENERAL", "hover_sound", hover_wav, hover_wav_size, "default_btn_hover", false);
theme.cameraSound = _sound(theme.soundSet, "GENERAL", "camera_sound", camera_wav, camera_wav_size, "default_camera", false);
theme.clickSound = _sound(theme.soundSet, m_theme.getString("GENERAL", "click_sound", "").c_str(), click_wav, click_wav_size, "default_btn_click", false);
theme.hoverSound = _sound(theme.soundSet, m_theme.getString("GENERAL", "hover_sound", "").c_str(), hover_wav, hover_wav_size, "default_btn_hover", false);
theme.cameraSound = _sound(theme.soundSet, m_theme.getString("GENERAL", "camera_sound", "").c_str(), camera_wav, camera_wav_size, "default_camera", false);
// Default textures
TexHandle.fromImageFile(theme.btnTexL, fmt("%s/butleft.png", m_imgsDir.c_str()));
@ -1393,9 +1403,8 @@ TexData CMenu::_texture(const char *domain, const char *key, TexData &def, bool
}
// Only for loading defaults and GENERAL domains!!
GuiSound *CMenu::_sound(CMenu::SoundSet &soundSet, const char *domain, const char *key, const u8 * snd, u32 len, const char *name, bool isAllocated)
GuiSound *CMenu::_sound(CMenu::SoundSet &soundSet, const char *filename, const u8 * snd, u32 len, const char *name, bool isAllocated)
{
const char *filename = m_theme.getString(domain, key, "").c_str();
if(filename == NULL || filename[0] == '\0')
filename = name;
@ -1807,7 +1816,7 @@ void CMenu::_mainLoopCommon(bool withCF, bool adjusting)
m_fa.tick();
m_fa.hideCover() ? CoverFlow.hideCover() : CoverFlow.showCover();
CoverFlow.setFanartPlaying(m_fa.isLoaded());
CoverFlow.setFanartTextColor(m_fa.getTextColor(m_theme.getColor("_COVERFLOW", "font_color", CColor(0xFFFFFFFF))));
CoverFlow.setFanartTextColor(m_fa.getTextColor(m_coverflow.getColor("_COVERFLOW", "font_color", CColor(0xFFFFFFFF))));
m_vid.prepare();
m_vid.setup2DProjection(false, true);

View File

@ -74,6 +74,7 @@ private:
Config m_gcfg1;
Config m_gcfg2;
Config m_theme;
Config m_coverflow;
Config m_titles;
Config m_version;
vector<string> m_homebrewArgs;
@ -85,6 +86,7 @@ private:
u8 *m_buffer;
u8 m_aa;
u8 m_numPlugins;
//const char *cf_domain;
bool m_bnr_settings;
bool m_directLaunch;
bool m_locked;
@ -101,7 +103,6 @@ private:
u8 m_numCFVersions;
string m_sourceDir;
string m_miosDir;
string m_themeDataDir;
string m_appDir;
string m_imgsDir;
@ -1121,7 +1122,7 @@ private:
volatile bool m_thrdDone;
vu64 m_thrdWritten;
GuiSound *_sound(CMenu::SoundSet &soundSet, const char *domain, const char *key, const u8 * snd, u32 len, const char *name, bool isAllocated);
GuiSound *_sound(CMenu::SoundSet &soundSet, const char *filename, const u8 * snd, u32 len, const char *name, bool isAllocated);
GuiSound *_sound(CMenu::SoundSet &soundSet, const char *domain, const char *key, const char *name);
u16 _textStyle(const char *domain, const char *key, u16 def);
s16 _addButton(const char *domain, SFont font, const wstringEx &text, int x, int y, u32 width, u32 height, const CColor &color);

View File

@ -172,6 +172,8 @@ void CMenu::_showCFTheme(u32 curParam, int version, bool wide)
bool selected = CoverFlow.selected();
string domUnsel(fmt(_cfDomain(), version));
string domSel(fmt(_cfDomain(true), version));
//string domUnsel(fmt("%s_%i", cf_domain, version));
//string domSel(fmt("%s_%i_S", cf_domain, version));
CoverFlow.simulateOtherScreenFormat(p.scrnFmt && wide != m_vid.wide());
_setBg(m_mainBg, m_mainBgLQ);
@ -219,7 +221,7 @@ void CMenu::_showCFTheme(u32 curParam, int version, bool wide)
}
break;
case CMenu::SCFParamDesc::PDT_FLOAT:
m_btnMgr.setText(m_cfThemeLblVal[k], sfmt("%.2f", m_theme.getFloat(domain, key)));
m_btnMgr.setText(m_cfThemeLblVal[k], sfmt("%.2f", m_coverflow.getFloat(domain, key)));
for (int j = 1; j < 4; ++j)
{
m_btnMgr.hide(m_cfThemeLblVal[k + j]);
@ -232,7 +234,7 @@ void CMenu::_showCFTheme(u32 curParam, int version, bool wide)
break;
case CMenu::SCFParamDesc::PDT_V3D:
{
Vector3D v(m_theme.getVector3D(domain, key));
Vector3D v(m_coverflow.getVector3D(domain, key));
m_btnMgr.setText(m_cfThemeLblVal[k + 0], sfmt("%.2f", v.x));
m_btnMgr.setText(m_cfThemeLblVal[k + 1], sfmt("%.2f", v.y));
m_btnMgr.setText(m_cfThemeLblVal[k + 2], sfmt("%.2f", v.z));
@ -249,7 +251,7 @@ void CMenu::_showCFTheme(u32 curParam, int version, bool wide)
}
case CMenu::SCFParamDesc::PDT_COLOR:
{
CColor color(m_theme.getColor(domain, key));
CColor color(m_coverflow.getColor(domain, key));
m_btnMgr.setText(m_cfThemeLblVal[k + 0], sfmt("%02X", color.r));
m_btnMgr.setText(m_cfThemeLblVal[k + 1], sfmt("%02X", color.g));
m_btnMgr.setText(m_cfThemeLblVal[k + 2], sfmt("%02X", color.b));
@ -263,7 +265,7 @@ void CMenu::_showCFTheme(u32 curParam, int version, bool wide)
break;
}
case CMenu::SCFParamDesc::PDT_BOOL:
m_btnMgr.setText(m_cfThemeLblVal[k], m_theme.getBool(domain, key) ? L"On" : L"Off");
m_btnMgr.setText(m_cfThemeLblVal[k], m_coverflow.getBool(domain, key) ? L"On" : L"Off");
for (int j = 1; j < 4; ++j)
{
m_btnMgr.hide(m_cfThemeLblVal[k + j]);
@ -275,7 +277,7 @@ void CMenu::_showCFTheme(u32 curParam, int version, bool wide)
m_btnMgr.show(m_cfThemeBtnValP[k]);
break;
case CMenu::SCFParamDesc::PDT_INT:
m_btnMgr.setText(m_cfThemeLblVal[k], sfmt("%i", m_theme.getInt(domain, key)));
m_btnMgr.setText(m_cfThemeLblVal[k], sfmt("%i", m_coverflow.getInt(domain, key)));
for (int j = 1; j < 4; ++j)
{
m_btnMgr.hide(m_cfThemeLblVal[k + j]);
@ -322,9 +324,12 @@ void CMenu::_cfTheme(void)
_mainLoopCommon(true);
if(BTN_HOME_PRESSED)
{
m_theme.clear();
m_theme.unload();
m_theme.load(fmt("%s/%s.ini", m_themeDir.c_str(), m_cfg.getString("GENERAL", "theme", "default").c_str()));
m_coverflow.clear();
m_coverflow.unload();
m_coverflow.load(fmt("%s/coverflows/%s.ini", m_themeDir.c_str(), m_cfg.getString("GENERAL", "theme", "default").c_str()));
if(!m_coverflow.loaded())
m_coverflow.load(fmt("%s/coverflows/default.ini", m_themeDir.c_str()));
//m_coverflow.load(fmt("%s/%s/coverflow.ini", m_themeDir.c_str(), m_cfg.getString("GENERAL", "theme", "default").c_str()));
break;
}
else if(BTN_UP_PRESSED)
@ -348,7 +353,7 @@ void CMenu::_cfTheme(void)
string domSrc(fmt(_cfDomain(copySelected), copyVersion));
string domDst(fmt(_cfDomain(CoverFlow.selected()), cfVersion));
if (copyVersion != cfVersion || copySelected != CoverFlow.selected())
m_theme.copyDomain(domDst, domSrc);
m_coverflow.copyDomain(domDst, domSrc);
else if (copyWide != wide)
for (u32 i = 0; i < ARRAY_SIZE(CMenu::_cfParams); ++i)
{
@ -363,11 +368,11 @@ void CMenu::_cfTheme(void)
else
keyDst += "_4_3";
if (p.paramType[k] == CMenu::SCFParamDesc::PDT_FLOAT)
m_theme.setFloat(domDst, keyDst, m_theme.getFloat(domSrc, keySrc));
m_coverflow.setFloat(domDst, keyDst, m_coverflow.getFloat(domSrc, keySrc));
else if (p.paramType[k] == CMenu::SCFParamDesc::PDT_V3D)
m_theme.setVector3D(domDst, keyDst, m_theme.getVector3D(domSrc, keySrc));
m_coverflow.setVector3D(domDst, keyDst, m_coverflow.getVector3D(domSrc, keySrc));
else if (p.paramType[k] == CMenu::SCFParamDesc::PDT_INT)
m_theme.setInt(domDst, keyDst, m_theme.getInt(domSrc, keySrc));
m_coverflow.setInt(domDst, keyDst, m_coverflow.getInt(domSrc, keySrc));
}
}
_showCFTheme(curParam, cfVersion, wide);
@ -404,14 +409,17 @@ void CMenu::_cfTheme(void)
if (m_btnMgr.selected(m_cfThemeBtnSave))
{
CoverFlow.stopCoverLoader();
m_theme.save();
m_coverflow.save();
break;
}
else if (m_btnMgr.selected(m_cfThemeBtnCancel))
{
m_theme.clear();
m_theme.unload();
m_theme.load(fmt("%s/%s.ini", m_themeDir.c_str(), m_cfg.getString("GENERAL", "theme", "default").c_str()));
m_coverflow.clear();
m_coverflow.unload();
m_coverflow.load(fmt("%s/coverflows/%s.ini", m_themeDir.c_str(), m_cfg.getString("GENERAL", "theme", "default").c_str()));
if(!m_coverflow.loaded())
m_coverflow.load(fmt("%s/coverflows/default.ini", m_themeDir.c_str()));
//m_coverflow.load(fmt("%s/%s.ini", m_themeDir.c_str(), m_cfg.getString("GENERAL", "theme", "default").c_str()));
break;
}
else if (m_btnMgr.selected(m_cfThemeBtnAlt))
@ -503,13 +511,13 @@ void CMenu::_cfParam(bool inc, int i, const CMenu::SCFParamDesc &p, int cfVersio
break;
case CMenu::SCFParamDesc::PDT_FLOAT:
{
float val = m_theme.getFloat(domain, key);
m_theme.setFloat(domain, key, min(max(p.minMaxVal[k][0], val + step), p.minMaxVal[k][1]));
float val = m_coverflow.getFloat(domain, key);
m_coverflow.setFloat(domain, key, min(max(p.minMaxVal[k][0], val + step), p.minMaxVal[k][1]));
break;
}
case CMenu::SCFParamDesc::PDT_V3D:
{
Vector3D v(m_theme.getVector3D(domain, key));
Vector3D v(m_coverflow.getVector3D(domain, key));
switch (i % 4)
{
case 0:
@ -522,12 +530,12 @@ void CMenu::_cfParam(bool inc, int i, const CMenu::SCFParamDesc &p, int cfVersio
v.z = min(max(p.minMaxVal[k][0], v.z + step), p.minMaxVal[k][1]);
break;
}
m_theme.setVector3D(domain, key, v);
m_coverflow.setVector3D(domain, key, v);
break;
}
case CMenu::SCFParamDesc::PDT_COLOR:
{
CColor color(m_theme.getColor(domain, key));
CColor color(m_coverflow.getColor(domain, key));
switch (i % 4)
{
case 0:
@ -543,25 +551,25 @@ void CMenu::_cfParam(bool inc, int i, const CMenu::SCFParamDesc &p, int cfVersio
color.a = min(max(0, color.a + (int)step), 0xFF);
break;
}
m_theme.setColor(domain, key, color);
m_coverflow.setColor(domain, key, color);
break;
}
case CMenu::SCFParamDesc::PDT_BOOL:
{
m_theme.setBool(domain, key, !m_theme.getBool(domain, key));
m_coverflow.setBool(domain, key, !m_coverflow.getBool(domain, key));
break;
}
case CMenu::SCFParamDesc::PDT_INT:
{
int val = m_theme.getInt(domain, key);
m_theme.setInt(domain, key, min(max((int)p.minMaxVal[k][0], val + (int)step), (int)p.minMaxVal[k][1]));
int val = m_coverflow.getInt(domain, key);
m_coverflow.setInt(domain, key, min(max((int)p.minMaxVal[k][0], val + (int)step), (int)p.minMaxVal[k][1]));
break;
}
case CMenu::SCFParamDesc::PDT_TXTSTYLE:
{
int i = styleToIdx(_textStyle(domain.c_str(), key.c_str(), CoverFlow.selected() ? FTGX_JUSTIFY_RIGHT | FTGX_ALIGN_TOP : FTGX_JUSTIFY_CENTER | FTGX_ALIGN_BOTTOM));
i = loopNum(i + (int)step, 9);
m_theme.setString(domain, key, styleToTxt(g_txtStyles[i]));
m_coverflow.setString(domain, key, styleToTxt(g_txtStyles[i]));
break;
}
}
@ -569,6 +577,7 @@ void CMenu::_cfParam(bool inc, int i, const CMenu::SCFParamDesc &p, int cfVersio
const char *CMenu::_cfDomain(bool selected)
{
//return selected ? fmt("%s_%%i_S", cf_domain) : fmt("%s_%%i", cf_domain);
switch(m_current_view)
{
case COVERFLOW_PLUGIN:

View File

@ -218,6 +218,9 @@ void CMenu::LoadView(void)
/* fail */
m_source_autoboot = false;
}
// Coverflow Count
//m_numCFVersions = min(max(2, m_coverflow.getInt(cf_domain, "number_of_modes", 2)), 15);
m_numCFVersions = min(max(2, m_coverflow.getInt("_COVERFLOW", "number_of_modes", 2)), 15);
_showMain();
_initCF();
_loadCFLayout(m_cfg.getInt(_domainFromView(), "last_cf_mode", 1));
@ -250,6 +253,7 @@ void CMenu::exitHandler(int ExitTo)
int CMenu::main(void)
{
//cf_domain = "_COVERFLOW";
wstringEx curLetter;
string prevTheme = m_cfg.getString("GENERAL", "theme", "default");
parental_homebrew = m_cfg.getBool(HOMEBREW_DOMAIN, "parental", false);
@ -322,6 +326,10 @@ int CMenu::main(void)
if(m_cfg.getBool("SOURCEFLOW", "enabled", false))//if sourceflow show it
{
m_sourceflow = true;
/*if(m_cfg.getBool(_domainFromView(), "smallbox", true))
cf_domain = "_SMALLFLOW";
else
cf_domain = "_COVERFLOW";*/
LoadView();
}
else //show source menu
@ -397,6 +405,10 @@ int CMenu::main(void)
m_current_view = COVERFLOW_WII;
_clearSources();
m_cfg.setBool(_domainFromView(), "source", true);
/*if(m_current_view == COVERFLOW_HOMEBREW && m_cfg.getBool(_domainFromView(), "smallbox", true))
cf_domain = "_SMALLFLOW";
else
cf_domain = "_COVERFLOW";*/
m_catStartPage = 1;
m_combined_view = false;
LoadView();

View File

@ -229,6 +229,10 @@ void CMenu::_sourceFlow()
m_current_view = COVERFLOW_HOMEBREW;
m_cfg.setBool(HOMEBREW_DOMAIN, "source", true);
m_catStartPage = m_source.getInt(btn_selected, "cat_page", 1);
/*if(m_cfg.getBool(HOMEBREW_DOMAIN, "smallbox", true))
cf_domain = "_SMALLFLOW";
else
cf_domain = "_COVERFLOW";*/
}
else if(source == "allplugins")
{
@ -257,11 +261,14 @@ void CMenu::_sourceFlow()
if(plugin_magic_nums == 1)
{
currentPartition = m_cfg.getInt("PLUGINS_PARTITION", itr->c_str(), 1);
//currentPartition = m_pluginscfg.getInt(itr->c_str(), "partition", 1);
m_cfg.setInt(PLUGIN_DOMAIN, "partition", currentPartition);
//cf_domain = m_pluginscfg.getString(itr->c_str(), "flow", "_COVERFLOW").c_str();
}
}
}
m_catStartPage = m_source.getInt(btn_selected, "cat_page", 1);
//cf_domain = m_pluginscfg.getString(btn_selected, "flow", "_COVERFLOW").c_str();
int layout = m_source.getInt(btn_selected, "emuflow", 0);
if(layout > 0)
m_cfg.setInt(PLUGIN_DOMAIN, "last_cf_mode", layout);
@ -364,6 +371,7 @@ bool CMenu::_Source()
m_catStartPage = m_source.getInt(fmt("BUTTON_%i", sourceBtn), "cat_page", 1);
if(m_source.getString(fmt("BUTTON_%i", sourceBtn), "source") == "plugin")
{
//cf_domain = m_source.getString(fmt("BUTTON_%i", sourceBtn), "flow", "_COVERFLOW").c_str();
int layout = m_source.getInt(fmt("BUTTON_%i", sourceBtn), "emuflow", 0);
if(layout > 0)
m_cfg.setInt(PLUGIN_DOMAIN, "last_cf_mode", layout);
@ -378,6 +386,10 @@ bool CMenu::_Source()
m_clearCats = false;
}
}
/*if(m_source.getString(fmt("BUTTON_%i", sourceBtn), "source") == "homebrew" && m_cfg.getBool(HOMEBREW_DOMAIN, "smallbox", true))
cf_domain = "_SMALLFLOW";
else
cf_domain = "_COVERFLOW";*/
}
if(selectedBtns == 0)
m_cfg.setBool(WII_DOMAIN, "source", true);
@ -494,6 +506,10 @@ bool CMenu::_Source()
{
m_cfg.setBool(HOMEBREW_DOMAIN, "source", true);
m_catStartPage = m_source.getInt(btn_selected, "cat_page", 1);
/*if(m_cfg.getBool(HOMEBREW_DOMAIN, "smallbox", true))
cf_domain = "_SMALLFLOW";
else
cf_domain = "_COVERFLOW";*/
}
}
else if(source == "allplugins")
@ -537,6 +553,7 @@ bool CMenu::_Source()
}
}
m_catStartPage = m_source.getInt(btn_selected, "cat_page", 1);
//cf_domain = m_source.getString(fmt("BUTTON_%i", sourceBtn), "flow", "_COVERFLOW").c_str();
int layout = m_source.getInt(btn_selected, "emuflow", 0);
if(layout > 0)
m_cfg.setInt(PLUGIN_DOMAIN, "last_cf_mode", layout);