X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftape.h;h=18107addd01b106324effba8e4f9ba552d8d8fb0;hb=c4dd9e14b72b528e82bc018fe2fa76b784221584;hp=3cb2038a46e85874f851767754745a04fad98a10;hpb=37a06df577bbfd00f4b361f92cacb0d97036ba93;p=rocksndiamonds.git diff --git a/src/tape.h b/src/tape.h index 3cb2038a..18107add 100644 --- a/src/tape.h +++ b/src/tape.h @@ -14,13 +14,14 @@ #ifndef TAPE_H #define TAPE_H -#include "main.h" - /* values for TapeTogglePause() */ #define TAPE_TOGGLE_MANUAL TRUE #define TAPE_TOGGLE_AUTOMATIC FALSE +/* values for tape properties */ +#define MAX_TAPE_LEN (1000 * FRAMES_PER_SECOND) /* max.time x fps */ + /* some positions in the video tape control window */ #define VIDEO_DISPLAY1_XPOS 5 #define VIDEO_DISPLAY1_YPOS 5 @@ -92,6 +93,45 @@ #define VIDEO_DISPLAY_SYMBOL_ONLY -2 +struct TapeInfo +{ + int file_version; /* file format version the tape is stored with */ + int game_version; /* game release version the tape was created with */ + int engine_version; /* game engine version the tape was recorded with */ + + char *level_identifier; + int level_nr; + unsigned long random_seed; + unsigned long date; + unsigned long counter; + unsigned long length; + unsigned long length_seconds; + unsigned int delay_played; + boolean pause_before_death; + boolean recording, playing, pausing; + boolean fast_forward; + boolean warp_forward; + boolean deactivate_display; + boolean auto_play; + boolean auto_play_level_solved; + boolean quick_resume; + boolean single_step; + boolean changed; + boolean player_participates[MAX_PLAYERS]; + int num_participating_players; + int centered_player_nr_next; + boolean set_centered_player; + + struct + { + byte action[MAX_PLAYERS]; + byte delay; + } pos[MAX_TAPE_LEN]; + + boolean no_valid_file; /* set when tape file missing or invalid */ +}; + + void DrawVideoDisplay(unsigned long, unsigned long); void DrawCompleteVideoDisplay(void);