+ struct TextPosInfo frame;
+};
+
+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 int random_seed;
+ unsigned int date;
+ unsigned int counter;
+ unsigned int length;
+ unsigned int length_frames;
+ unsigned int 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];
+
+ struct TapeButtonInfo button;
+ struct TapeSymbolInfo symbol;
+ struct TapeLabelInfo label;
+ struct TapeTextInfo text;
+
+ boolean show_game_buttons; /* show game buttons in tape viewport */
+
+ boolean no_valid_file; /* set when tape file missing or invalid */
+};
+
+
+void DrawVideoDisplay(unsigned int, unsigned int);