mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-12-26 03:41:55 +01:00
-fixed problem that covers were not loading properly with
only a few games in a coverflow view -added new option to wiiflow.ini GENERAL section, "cover_use_hq", if you set it to yes all your covers will be displayed in HQ again, but will also slowdown the loading and wiiflow in general
This commit is contained in:
parent
31caf39cd2
commit
f6830b5a2f
@ -203,6 +203,7 @@ CCoverFlow::CCoverFlow(void)
|
|||||||
m_compressCache = false;
|
m_compressCache = false;
|
||||||
m_deletePicsAfterCaching = false;
|
m_deletePicsAfterCaching = false;
|
||||||
m_box = true;
|
m_box = true;
|
||||||
|
m_useHQcover = false;
|
||||||
m_rows = 1;
|
m_rows = 1;
|
||||||
m_columns = 11;
|
m_columns = 11;
|
||||||
m_range = m_rows * m_columns;
|
m_range = m_rows * m_columns;
|
||||||
@ -277,6 +278,11 @@ void CCoverFlow::setBoxMode(bool box)
|
|||||||
m_box = box;
|
m_box = box;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CCoverFlow::setHQcover(bool HQ)
|
||||||
|
{
|
||||||
|
m_useHQcover = HQ;
|
||||||
|
}
|
||||||
|
|
||||||
void CCoverFlow::setBufferSize(u32 numCovers)
|
void CCoverFlow::setBufferSize(u32 numCovers)
|
||||||
{
|
{
|
||||||
if (!m_covers.empty()) return;
|
if (!m_covers.empty()) return;
|
||||||
@ -2674,15 +2680,13 @@ int CCoverFlow::_coverLoader(CCoverFlow *cf)
|
|||||||
u32 i;
|
u32 i;
|
||||||
|
|
||||||
u32 bufferSize = cf->m_range + cf->m_numBufCovers;
|
u32 bufferSize = cf->m_range + cf->m_numBufCovers;
|
||||||
if(bufferSize >= cf->m_items.size())
|
|
||||||
bufferSize = cf->m_items.size();
|
|
||||||
|
|
||||||
while (cf->m_loadingCovers)
|
while(cf->m_loadingCovers)
|
||||||
{
|
{
|
||||||
update = cf->m_moved;
|
update = cf->m_moved;
|
||||||
cf->m_moved = false;
|
cf->m_moved = false;
|
||||||
|
|
||||||
for (u32 j = cf->m_items.size(); j >= bufferSize && cf->m_loadingCovers && !cf->m_moved && update; --j)
|
for(u32 j = cf->m_items.size(); j >= bufferSize && cf->m_loadingCovers && !cf->m_moved && update; --j)
|
||||||
{
|
{
|
||||||
firstItem = cf->m_covers[cf->m_range / 2].index;
|
firstItem = cf->m_covers[cf->m_range / 2].index;
|
||||||
i = loopNum((j & 1) ? firstItem - (j + 1) / 2 : firstItem + j / 2, cf->m_items.size());
|
i = loopNum((j & 1) ? firstItem - (j + 1) / 2 : firstItem + j / 2, cf->m_items.size());
|
||||||
@ -2692,20 +2696,21 @@ int CCoverFlow::_coverLoader(CCoverFlow *cf)
|
|||||||
LWP_MutexUnlock(cf->m_mutex);
|
LWP_MutexUnlock(cf->m_mutex);
|
||||||
}
|
}
|
||||||
ret = CCoverFlow::CL_OK;
|
ret = CCoverFlow::CL_OK;
|
||||||
for (u32 j = 0; j <= bufferSize && cf->m_loadingCovers && !cf->m_moved && update && ret != CCoverFlow::CL_NOMEM; ++j)
|
for(u32 j = 0; j <= bufferSize && cf->m_loadingCovers && !cf->m_moved && update && ret != CCoverFlow::CL_NOMEM; ++j)
|
||||||
{
|
{
|
||||||
firstItem = cf->m_covers[cf->m_range / 2].index;
|
firstItem = cf->m_covers[cf->m_range / 2].index;
|
||||||
i = loopNum((j & 1) ? firstItem - (j + 1) / 2 : firstItem + j / 2, cf->m_items.size());
|
i = loopNum((j & 1) ? firstItem - (j + 1) / 2 : firstItem + j / 2, cf->m_items.size());
|
||||||
if (cf->m_items[i].state != CCoverFlow::STATE_Loading)
|
if(cf->m_items[i].state != CCoverFlow::STATE_Loading)
|
||||||
continue;
|
continue;
|
||||||
|
if(firstItem == (u32)cf->m_hqCover && cf->m_useHQcover)
|
||||||
if ((ret = cf->_loadCoverTex(i, cf->m_box, i == (u32)firstItem)) == CCoverFlow::CL_ERROR)
|
continue;
|
||||||
|
if((ret = cf->_loadCoverTex(i, cf->m_box, i == (u32)firstItem)) == CCoverFlow::CL_ERROR)
|
||||||
{
|
{
|
||||||
if ((ret = cf->_loadCoverTex(i, !cf->m_box, i == (u32)firstItem)) == CCoverFlow::CL_ERROR)
|
if ((ret = cf->_loadCoverTex(i, !cf->m_box, i == (u32)firstItem)) == CCoverFlow::CL_ERROR)
|
||||||
cf->m_items[i].state = CCoverFlow::STATE_NoCover;
|
cf->m_items[i].state = CCoverFlow::STATE_NoCover;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ret == CCoverFlow::CL_NOMEM && bufferSize > 3)
|
if(ret == CCoverFlow::CL_NOMEM && bufferSize > 3)
|
||||||
bufferSize -= 2;
|
bufferSize -= 2;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -86,6 +86,7 @@ public:
|
|||||||
void setFont(SFont font, const CColor &color);
|
void setFont(SFont font, const CColor &color);
|
||||||
void setRange(u32 rows, u32 columns);
|
void setRange(u32 rows, u32 columns);
|
||||||
void setBoxMode(bool box);
|
void setBoxMode(bool box);
|
||||||
|
void setHQcover(bool HQ);
|
||||||
void setTextureQuality(float lodBias, int aniso, bool edgeLOD);
|
void setTextureQuality(float lodBias, int aniso, bool edgeLOD);
|
||||||
void setCameraPos(bool selected, const Vector3D &pos, const Vector3D &aim);
|
void setCameraPos(bool selected, const Vector3D &pos, const Vector3D &aim);
|
||||||
void setCameraOsc(bool selected, const Vector3D &speed, const Vector3D &);
|
void setCameraOsc(bool selected, const Vector3D &speed, const Vector3D &);
|
||||||
@ -256,6 +257,7 @@ private:
|
|||||||
CColor m_fanartFontColor;
|
CColor m_fanartFontColor;
|
||||||
bool m_fanartPlaying;
|
bool m_fanartPlaying;
|
||||||
bool m_box;
|
bool m_box;
|
||||||
|
bool m_useHQcover;
|
||||||
u32 m_range;
|
u32 m_range;
|
||||||
u32 m_rows;
|
u32 m_rows;
|
||||||
u32 m_columns;
|
u32 m_columns;
|
||||||
|
@ -1531,6 +1531,7 @@ void CMenu::_initCF(void)
|
|||||||
m_cf.setCompression(m_cfg.getBool("GENERAL", "allow_texture_compression", true));
|
m_cf.setCompression(m_cfg.getBool("GENERAL", "allow_texture_compression", true));
|
||||||
m_cf.setBufferSize(m_cfg.getInt("GENERAL", "cover_buffer", 20));
|
m_cf.setBufferSize(m_cfg.getInt("GENERAL", "cover_buffer", 20));
|
||||||
m_cf.setSorting((Sorting)m_cfg.getInt(domain, "sort", 0));
|
m_cf.setSorting((Sorting)m_cfg.getInt(domain, "sort", 0));
|
||||||
|
m_cf.setHQcover(m_cfg.getBool("GENERAL", "cover_use_hq", false));
|
||||||
if (m_curGameId.empty() || !m_cf.findId(m_curGameId.c_str(), true))
|
if (m_curGameId.empty() || !m_cf.findId(m_curGameId.c_str(), true))
|
||||||
m_cf.findId(m_cfg.getString(domain, "current_item").c_str(), true);
|
m_cf.findId(m_cfg.getString(domain, "current_item").c_str(), true);
|
||||||
m_cf.startCoverLoader();
|
m_cf.startCoverLoader();
|
||||||
|
Loading…
Reference in New Issue
Block a user