mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-12-25 03:11:58 +01:00
PHASE 1
-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:
parent
d390563d5a
commit
0c5f06972c
BIN
out/boot.dol
BIN
out/boot.dol
Binary file not shown.
Before Width: | Height: | Size: 3.1 MiB After Width: | Height: | Size: 3.1 MiB |
@ -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"
|
||||
|
||||
|
@ -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,10 +419,13 @@ 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 ||
|
||||
stat(fmt("%s:/bootmii/ppcboot.elf", DeviceName[SD]), &dummy) != 0))
|
||||
stat(fmt("%s:/bootmii/armboot.bin",DeviceName[SD]), &dummy) != 0 ||
|
||||
stat(fmt("%s:/bootmii/ppcboot.elf", DeviceName[SD]), &dummy) != 0))
|
||||
exit_to = EXIT_TO_HBC;
|
||||
Sys_ExitTo(exit_to);
|
||||
|
||||
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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:
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user