ddnet/src/game/client/components/race_demo.h

50 lines
1 KiB
C
Raw Normal View History

/* (c) Redix and Sushi */
#ifndef GAME_CLIENT_COMPONENTS_RACE_DEMO_H
#define GAME_CLIENT_COMPONENTS_RACE_DEMO_H
#include <game/client/component.h>
class CRaceDemo : public CComponent
{
enum
{
RACE_NONE = 0,
RACE_IDLE,
RACE_PREPARE,
RACE_STARTED,
RACE_FINISHED,
};
2017-02-21 16:10:08 +00:00
static const char *ms_pRaceDemoDir;
char m_aTmpFilename[128];
2017-09-09 21:10:42 +00:00
int m_RaceState;
int m_RaceStartTick;
2017-09-09 21:10:42 +00:00
int m_RecordStopTick;
int m_Time;
static int RaceDemolistFetchCallback(const CFsFileInfo *pInfo, int IsDir, int StorageType, void *pUser);
void GetPath(char *pBuf, int Size, int Time = -1) const;
2017-09-09 21:10:42 +00:00
void StopRecord(int Time = -1);
bool CheckDemo(int Time) const;
public:
2017-09-12 20:54:29 +00:00
bool m_AllowRestart;
2017-09-09 21:10:42 +00:00
CRaceDemo();
virtual int Sizeof() const override { return sizeof(*this); }
2017-02-21 16:10:08 +00:00
virtual void OnReset() override;
virtual void OnStateChange(int NewState, int OldState) override;
virtual void OnMessage(int MsgType, void *pRawMsg) override;
virtual void OnMapLoad() override;
virtual void OnShutdown() override;
2017-10-06 20:01:33 +00:00
void OnNewSnapshot();
};
#endif