1#include "demoedit.h"
2
3#include <engine/shared/demo.h>
4#include <engine/storage.h>
5
6CDemoEdit::CDemoEdit(const char *pNetVersion, class CSnapshotDelta *pSnapshotDelta, IStorage *pStorage, const char *pDemo, const char *pDst, int StartTick, int EndTick) :
7 m_SnapshotDelta(*pSnapshotDelta),
8 m_pStorage(pStorage)
9{
10 str_copy(dst&: m_aDemo, src: pDemo);
11 str_copy(dst&: m_aDst, src: pDst);
12
13 m_StartTick = StartTick;
14 m_EndTick = EndTick;
15
16 // Init the demoeditor
17 m_DemoEditor.Init(pNetVersion, pSnapshotDelta: &m_SnapshotDelta, NULL, pStorage);
18}
19
20void CDemoEdit::Run()
21{
22 // Slice the current demo
23 m_Success = m_DemoEditor.Slice(pDemo: m_aDemo, pDst: m_aDst, StartTick: m_StartTick, EndTick: m_EndTick, NULL, pUser: 0);
24 // We remove the temporary demo file if slicing is successful
25 if(m_Success)
26 m_pStorage->RemoveFile(pFilename: m_aDemo, Type: IStorage::TYPE_SAVE);
27}
28