mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2025-02-17 12:36:20 +01:00
-changed a few things about addition from r183 again,
now it should work better, please also make sure you delete the wiiflow/cache folder before trying this rev.
This commit is contained in:
parent
63dbed3f68
commit
e57c20e5d9
@ -57,7 +57,7 @@ void CachedList<T>::Load(string path, string containing, string m_lastLanguage)
|
|||||||
|
|
||||||
safe_vector<string> pathlist;
|
safe_vector<string> pathlist;
|
||||||
list.GetPaths(pathlist, containing, path, m_wbfsFS);
|
list.GetPaths(pathlist, containing, path, m_wbfsFS);
|
||||||
list.GetHeaders(pathlist, *this, m_settingsDir, m_curLanguage);
|
list.GetHeaders(pathlist, *this, m_settingsDir, m_curLanguage, m_DMLgameDir);
|
||||||
|
|
||||||
path.append("/touch.db");
|
path.append("/touch.db");
|
||||||
FILE *file = fopen(path.c_str(), "wb");
|
FILE *file = fopen(path.c_str(), "wb");
|
||||||
|
@ -20,7 +20,7 @@ template <typename T = dir_discHdr>
|
|||||||
class CachedList : public safe_vector<T>
|
class CachedList : public safe_vector<T>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void Init(string cachedir, string settingsDir, string curLanguage) /* Initialize Private Variables */
|
void Init(string cachedir, string settingsDir, string curLanguage, string DMLgameDir) /* Initialize Private Variables */
|
||||||
{
|
{
|
||||||
m_cacheDir = cachedir;
|
m_cacheDir = cachedir;
|
||||||
m_settingsDir = settingsDir;
|
m_settingsDir = settingsDir;
|
||||||
@ -28,6 +28,7 @@ class CachedList : public safe_vector<T>
|
|||||||
m_loaded = false;
|
m_loaded = false;
|
||||||
m_database = "";
|
m_database = "";
|
||||||
m_update = false;
|
m_update = false;
|
||||||
|
m_DMLgameDir = DMLgameDir;
|
||||||
for(u32 i = 0; i < COVERFLOW_MAX; i++)
|
for(u32 i = 0; i < COVERFLOW_MAX; i++)
|
||||||
force_update[i] = false;
|
force_update[i] = false;
|
||||||
}
|
}
|
||||||
@ -74,6 +75,7 @@ class CachedList : public safe_vector<T>
|
|||||||
string m_curLanguage;
|
string m_curLanguage;
|
||||||
string m_lastLanguage;
|
string m_lastLanguage;
|
||||||
string m_discinf;
|
string m_discinf;
|
||||||
|
string m_DMLgameDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -82,7 +82,7 @@ void CList<T>::GetPaths(safe_vector<string> &pathlist, string containing, string
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
void CList<string>::GetHeaders(safe_vector<string> pathlist, safe_vector<string> &headerlist, string, string)
|
void CList<string>::GetHeaders(safe_vector<string> pathlist, safe_vector<string> &headerlist, string, string, string)
|
||||||
{
|
{
|
||||||
//gprintf("Getting headers for CList<string>\n");
|
//gprintf("Getting headers for CList<string>\n");
|
||||||
|
|
||||||
@ -94,7 +94,7 @@ void CList<string>::GetHeaders(safe_vector<string> pathlist, safe_vector<string>
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
void CList<dir_discHdr>::GetHeaders(safe_vector<string> pathlist, safe_vector<dir_discHdr> &headerlist, string settingsDir, string curLanguage)
|
void CList<dir_discHdr>::GetHeaders(safe_vector<string> pathlist, safe_vector<dir_discHdr> &headerlist, string settingsDir, string curLanguage, string DMLgameUSBDir)
|
||||||
{
|
{
|
||||||
if(pathlist.size() < 1) return;
|
if(pathlist.size() < 1) return;
|
||||||
headerlist.reserve(pathlist.size() + headerlist.size());
|
headerlist.reserve(pathlist.size() + headerlist.size());
|
||||||
@ -131,7 +131,8 @@ void CList<dir_discHdr>::GetHeaders(safe_vector<string> pathlist, safe_vector<di
|
|||||||
if (wbfs || (*itr).rfind(".iso") != string::npos || (*itr).rfind(".ISO") != string::npos)
|
if (wbfs || (*itr).rfind(".iso") != string::npos || (*itr).rfind(".ISO") != string::npos)
|
||||||
{
|
{
|
||||||
char* filename = &(*itr)[(*itr).find_last_of('/')+1];
|
char* filename = &(*itr)[(*itr).find_last_of('/')+1];
|
||||||
if(strcasecmp(filename, "game.iso") == 0 && strstr((*itr).c_str(), ":/games/") != NULL)
|
const char* dml_partition = DeviceName[DeviceHandler::Instance()->PathToDriveType((*itr).c_str())];
|
||||||
|
if(strcasecmp(filename, "game.iso") == 0 && strstr((*itr).c_str(), sfmt((strncmp(dml_partition, "sd", 2) != 0) ? DMLgameUSBDir.c_str() : DML_DIR, dml_partition).c_str()) != NULL)
|
||||||
{
|
{
|
||||||
FILE *fp = fopen((*itr).c_str(), "rb");
|
FILE *fp = fopen((*itr).c_str(), "rb");
|
||||||
if( fp )
|
if( fp )
|
||||||
|
@ -24,7 +24,7 @@ class CList
|
|||||||
CList(){};
|
CList(){};
|
||||||
~CList(){};
|
~CList(){};
|
||||||
void GetPaths(safe_vector<string> &pathlist, string containing, string directory, bool wbfs_fs = false);
|
void GetPaths(safe_vector<string> &pathlist, string containing, string directory, bool wbfs_fs = false);
|
||||||
void GetHeaders(safe_vector<string> pathlist, safe_vector<T> &headerlist, string, string);
|
void GetHeaders(safe_vector<string> pathlist, safe_vector<T> &headerlist, string, string, string);
|
||||||
void GetChannels(safe_vector<T> &headerlist, string, u32, string);
|
void GetChannels(safe_vector<T> &headerlist, string, u32, string);
|
||||||
private:
|
private:
|
||||||
void Check_For_ID(u8 *id, string path, string one, string two);
|
void Check_For_ID(u8 *id, string path, string one, string two);
|
||||||
|
@ -373,7 +373,7 @@ void CMenu::init(void)
|
|||||||
m_loc.load(sfmt("%s/%s.ini", m_languagesDir.c_str(), m_curLanguage.c_str()).c_str());
|
m_loc.load(sfmt("%s/%s.ini", m_languagesDir.c_str(), m_curLanguage.c_str()).c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
m_gameList.Init(m_listCacheDir, m_settingsDir, m_loc.getString(m_curLanguage, "gametdb_code", "EN"));
|
m_gameList.Init(m_listCacheDir, m_settingsDir, m_loc.getString(m_curLanguage, "gametdb_code", "EN"), m_DMLgameDir);
|
||||||
|
|
||||||
m_aa = 3;
|
m_aa = 3;
|
||||||
|
|
||||||
|
@ -588,7 +588,7 @@ void CMenu::_directlaunch(const string &id)
|
|||||||
strncasecmp(DeviceHandler::Instance()->PathToFSName(path.c_str()), "WBFS", 4) == 0);
|
strncasecmp(DeviceHandler::Instance()->PathToFSName(path.c_str()), "WBFS", 4) == 0);
|
||||||
|
|
||||||
m_gameList.clear();
|
m_gameList.clear();
|
||||||
list.GetHeaders(pathlist, m_gameList, m_settingsDir, m_curLanguage);
|
list.GetHeaders(pathlist, m_gameList, m_settingsDir, m_curLanguage, m_DMLgameDir);
|
||||||
if(m_gameList.size() > 0)
|
if(m_gameList.size() > 0)
|
||||||
{
|
{
|
||||||
gprintf("Game found on partition #%i\n", i);
|
gprintf("Game found on partition #%i\n", i);
|
||||||
|
@ -377,7 +377,7 @@ bool CMenu::_wbfsOp(CMenu::WBFS_OP op)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
char source[300];
|
char source[300];
|
||||||
snprintf(source, sizeof(source), "%s", sfmt((char *)m_cf.getHdr()->path, DeviceName[currentPartition]).c_str());
|
snprintf(source, sizeof(source), "%s/%s", sfmt((currentPartition != SD) ? m_DMLgameDir.c_str() : DML_DIR, DeviceName[currentPartition]).c_str(), (char *)m_cf.getHdr()->path);
|
||||||
fsop_deleteFolder(source);
|
fsop_deleteFolder(source);
|
||||||
upd_dml = true;
|
upd_dml = true;
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ void MusicPlayer::Init(Config &cfg, string musicDir, string themeMusicDir)
|
|||||||
SetVolume(0); // Fades in with tick()
|
SetVolume(0); // Fades in with tick()
|
||||||
|
|
||||||
MusicDirectory dir = (MusicDirectory) cfg.getInt("GENERAL", "music_directories", NORMAL_MUSIC | THEME_MUSIC);
|
MusicDirectory dir = (MusicDirectory) cfg.getInt("GENERAL", "music_directories", NORMAL_MUSIC | THEME_MUSIC);
|
||||||
m_music_files.Init(cfg.getString("GENERAL", "dir_list_cache"), std::string(), std::string());
|
m_music_files.Init(cfg.getString("GENERAL", "dir_list_cache"), std::string(), std::string(), std::string());
|
||||||
|
|
||||||
if (dir & THEME_MUSIC)
|
if (dir & THEME_MUSIC)
|
||||||
m_music_files.Load(themeMusicDir, ".ogg|.mp3", "EN"); //|.mod|.xm|.s3m|.wav|.aiff");
|
m_music_files.Load(themeMusicDir, ".ogg|.mp3", "EN"); //|.mod|.xm|.s3m|.wav|.aiff");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user