diff options
| author | ghost <ghost91@gmx.net> | 2010-09-06 21:36:39 +0200 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2010-09-07 19:12:11 +0200 |
| commit | 56c4081da403728486bf747666c0f745567a0be6 (patch) | |
| tree | b0b1c51ccff5c3f3d9fbbce6503c0452ecb1b62f /src/engine | |
| parent | ea25972e21f0d3ec599f7822981b40cf1b029e4a (diff) | |
| download | zcatch-56c4081da403728486bf747666c0f745567a0be6.tar.gz zcatch-56c4081da403728486bf747666c0f745567a0be6.zip | |
Demo name is now showed while playing a demo file
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/demo.h | 1 | ||||
| -rw-r--r-- | src/engine/shared/demorec.cpp | 15 | ||||
| -rw-r--r-- | src/engine/shared/demorec.h | 2 |
3 files changed, 18 insertions, 0 deletions
diff --git a/src/engine/demo.h b/src/engine/demo.h index 6abc9b2d..e0cad387 100644 --- a/src/engine/demo.h +++ b/src/engine/demo.h @@ -24,6 +24,7 @@ public: virtual void Pause() = 0; virtual void Unpause() = 0; virtual const CInfo *BaseInfo() const = 0; + virtual char *GetDemoName() = 0; }; class IDemoRecorder : public IInterface diff --git a/src/engine/shared/demorec.cpp b/src/engine/shared/demorec.cpp index 960634b1..0c2efd40 100644 --- a/src/engine/shared/demorec.cpp +++ b/src/engine/shared/demorec.cpp @@ -516,6 +516,9 @@ int CDemoPlayer::Load(class IStorage *pStorage, class IConsole *pConsole, const return -1; } + // store the filename + str_copy(m_aFilename, pFilename, sizeof(m_aFilename)); + // clear the playback info mem_zero(&m_Info, sizeof(m_Info)); m_Info.m_Info.m_FirstTick = -1; @@ -722,7 +725,19 @@ int CDemoPlayer::Stop() m_File = 0; mem_free(m_pKeyFrames); m_pKeyFrames = 0; + str_copy(m_aFilename, "", sizeof(m_aFilename)); return 0; } +char *CDemoPlayer::GetDemoName() +{ + // get the name of the demo without its path + char *pDemoShortName = &m_aFilename[0]; + for(int i = 0; i < str_length(m_aFilename)-1; i++) + { + if(m_aFilename[i] == '/' || m_aFilename[i] == '\\') + pDemoShortName = &m_aFilename[i+1]; + } + return pDemoShortName; +} diff --git a/src/engine/shared/demorec.h b/src/engine/shared/demorec.h index cdf46e99..39e9ebdb 100644 --- a/src/engine/shared/demorec.h +++ b/src/engine/shared/demorec.h @@ -83,6 +83,7 @@ private: class IConsole *m_pConsole; IOHANDLE m_File; + char m_aFilename[256]; CKeyFrame *m_pKeyFrames; CPlaybackInfo m_Info; @@ -109,6 +110,7 @@ public: void SetSpeed(float Speed); int SetPos(float Precent); const CInfo *BaseInfo() const { return &m_Info.m_Info; } + char *GetDemoName(); int Update(); |