From 12472ef7f405f5e8eb620059cbf95926a458538a Mon Sep 17 00:00:00 2001 From: Magnus Auvinen Date: Mon, 6 Oct 2008 18:05:01 +0000 Subject: major update. continued on ban support. added demo recording (client and server side). added demo player. added demo menu. demos have some quirks and file size optimizations havn't been done yet. some interface tweaks --- src/engine/e_demorec.h | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/engine/e_demorec.h (limited to 'src/engine/e_demorec.h') diff --git a/src/engine/e_demorec.h b/src/engine/e_demorec.h new file mode 100644 index 00000000..f6ceb382 --- /dev/null +++ b/src/engine/e_demorec.h @@ -0,0 +1,63 @@ + +typedef struct DEMOREC_HEADER +{ + char marker[8]; + char netversion[64]; + char map[64]; + unsigned char crc[4]; + char type[8]; +} DEMOREC_HEADER; + +typedef struct DEMOREC_CHUNK +{ + char type[4]; + int size; +} DEMOREC_CHUNK; + +typedef struct DEMOREC_TICKMARKER +{ + int tick; +} DEMOREC_TICKMARKER; + +typedef struct DEMOREC_PLAYBACKINFO +{ + DEMOREC_HEADER header; + + int paused; + float speed; + + int64 last_update; + int64 current_time; + + int first_tick; + int last_tick; + + int seekable_points; + + int next_tick; + int current_tick; + int previous_tick; + + float intratick; + float ticktime; +} DEMOREC_PLAYBACKINFO; + +int demorec_record_start(const char *filename, const char *netversion, const char *map, int map_crc, const char *type); +int demorec_isrecording(); +void demorec_record_write(const char *type, int size, const void *data); +int demorec_record_stop(); + +typedef void (*DEMOREC_PLAYCALLBACK)(DEMOREC_CHUNK chunk, void *data); + +int demorec_playback_registercallback(DEMOREC_PLAYCALLBACK cb); +int demorec_playback_load(const char *filename); +int demorec_playback_play(); +void demorec_playback_pause(); +void demorec_playback_unpause(); +void demorec_playback_setspeed(float speed); +int demorec_playback_set(int keyframe); +int demorec_playback_update(); +const DEMOREC_PLAYBACKINFO *demorec_playback_info(); +int demorec_isplaying(); +int demorec_playback_stop(); + -- cgit 1.4.1