diff options
| author | Choupom <andycootlapin@hotmail.fr> | 2010-09-18 15:08:57 +0200 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2010-09-24 13:22:40 +0200 |
| commit | 1cbf731fc0c3cbc5a1d2be6f1af51cb93d9739e2 (patch) | |
| tree | d5a78f77fb78331cea79a1cb7875ba1b618b72af /src/game/client/components | |
| parent | 27425facffc62b6164d20ff2c1270f2f0d1abe23 (diff) | |
| download | zcatch-1cbf731fc0c3cbc5a1d2be6f1af51cb93d9739e2.tar.gz zcatch-1cbf731fc0c3cbc5a1d2be6f1af51cb93d9739e2.zip | |
improved demos listing
Diffstat (limited to 'src/game/client/components')
| -rw-r--r-- | src/game/client/components/menus_demo.cpp | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/src/game/client/components/menus_demo.cpp b/src/game/client/components/menus_demo.cpp index 9a538e70..b64936ec 100644 --- a/src/game/client/components/menus_demo.cpp +++ b/src/game/client/components/menus_demo.cpp @@ -408,30 +408,23 @@ int CMenus::UiDoListboxEnd(float *pScrollValue, bool *pItemActivated) return gs_ListBoxNewSelected; } -struct FETCH_CALLBACKINFO -{ - CMenus *m_pSelf; - const char *m_pPrefix; -}; - void CMenus::DemolistFetchCallback(const char *pName, int IsDir, void *pUser) { if(pName[0] == '.') return; - FETCH_CALLBACKINFO *pInfo = (FETCH_CALLBACKINFO *)pUser; + CMenus *pSelf = (CMenus *)pUser; CDemoItem Item; - str_format(Item.m_aFilename, sizeof(Item.m_aFilename), "%s/%s", pInfo->m_pPrefix, pName); + str_format(Item.m_aFilename, sizeof(Item.m_aFilename), "%s/%s/%s", pSelf->Client()->UserDirectory(), pSelf->m_aCurrentDemoFolder, pName); str_copy(Item.m_aName, pName, sizeof(Item.m_aName)); - pInfo->m_pSelf->m_lDemos.add(Item); + pSelf->m_lDemos.add(Item); } void CMenus::DemolistPopulate() { m_lDemos.clear(); - if(str_comp(m_aCurrentDemoFolder, "demos") != 0) //add parent folder { CDemoItem Item; @@ -440,14 +433,7 @@ void CMenus::DemolistPopulate() m_lDemos.add(Item); } - - char aBuf[512]; - str_format(aBuf, sizeof(aBuf), "%s/%s", Client()->UserDirectory(), m_aCurrentDemoFolder); - - FETCH_CALLBACKINFO Info = {this, aBuf}; - fs_listdir(aBuf, DemolistFetchCallback, &Info); - Info.m_pPrefix = m_aCurrentDemoFolder; - fs_listdir(m_aCurrentDemoFolder, DemolistFetchCallback, &Info); + Storage()->ListDirectory(IStorage::TYPE_SAVE, m_aCurrentDemoFolder, DemolistFetchCallback, this); } |