about summary refs log tree commit diff
path: root/src/engine/shared
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2010-10-09 13:27:21 +0200
committeroy <Tom_Adams@web.de>2010-10-09 13:27:21 +0200
commit85b9c60158adee3aae6d02a9e5529ea57ed39611 (patch)
tree874dc6a0cfe834c47fc084aa3b6cc1d88df665b9 /src/engine/shared
parent7ad4d3224c22216b1131df56172995be33d48405 (diff)
downloadzcatch-85b9c60158adee3aae6d02a9e5529ea57ed39611.tar.gz
zcatch-85b9c60158adee3aae6d02a9e5529ea57ed39611.zip
added info in the demo browser by Choupom
Diffstat (limited to 'src/engine/shared')
-rw-r--r--src/engine/shared/demo.cpp19
-rw-r--r--src/engine/shared/demo.h1
2 files changed, 20 insertions, 0 deletions
diff --git a/src/engine/shared/demo.cpp b/src/engine/shared/demo.cpp
index 4ae4a4c5..5d82d1c0 100644
--- a/src/engine/shared/demo.cpp
+++ b/src/engine/shared/demo.cpp
@@ -742,3 +742,22 @@ char *CDemoPlayer::GetDemoName()
 	return pDemoShortName;
 }
 
+bool CDemoPlayer::GetDemoInfo(class IStorage *pStorage, const char *pFilename, int StorageType, char *pMap, int BufferSize) const
+{
+	IOHANDLE File = pStorage->OpenFile(pFilename, IOFLAG_READ, StorageType);
+	if(!File)
+		return false;
+	
+	CDemoHeader Header;
+	io_read(File, &Header, sizeof(Header));
+	if(mem_comp(Header.m_aMarker, gs_aHeaderMarker, sizeof(gs_aHeaderMarker)) != 0)
+	{
+		io_close(File);
+		return false;
+	}
+	
+	str_copy(pMap, Header.m_aMap, BufferSize);
+	
+	io_close(File);
+	return true;
+}
diff --git a/src/engine/shared/demo.h b/src/engine/shared/demo.h
index 9d510542..be643371 100644
--- a/src/engine/shared/demo.h
+++ b/src/engine/shared/demo.h
@@ -112,6 +112,7 @@ public:
 	int SetPos(float Precent);
 	const CInfo *BaseInfo() const { return &m_Info.m_Info; }
 	char *GetDemoName();
+	bool GetDemoInfo(class IStorage *pStorage, const char *pFilename, int StorageType, char *pMap, int BufferSize) const;
 	
 	int Update();