about summary refs log tree commit diff
path: root/src/game/client
diff options
context:
space:
mode:
authorChoupom <andycootlapin@hotmail.fr>2010-09-18 15:08:57 +0200
committeroy <Tom_Adams@web.de>2010-09-24 13:22:40 +0200
commit1cbf731fc0c3cbc5a1d2be6f1af51cb93d9739e2 (patch)
treed5a78f77fb78331cea79a1cb7875ba1b618b72af /src/game/client
parent27425facffc62b6164d20ff2c1270f2f0d1abe23 (diff)
downloadzcatch-1cbf731fc0c3cbc5a1d2be6f1af51cb93d9739e2.tar.gz
zcatch-1cbf731fc0c3cbc5a1d2be6f1af51cb93d9739e2.zip
improved demos listing
Diffstat (limited to 'src/game/client')
-rw-r--r--src/game/client/components/menus_demo.cpp22
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);
 }