X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftape.h;h=a829448a5e007c5c959d66dfc32baa1b9e46457c;hb=94a1798d87daf68e97fa0968f7b08109868020ab;hp=ea18e396bff86a0e82e7da2d8a1fb817a7a21ddf;hpb=eab352bf9c176f4da9dfc1a5fb7b9a7da5c48b70;p=rocksndiamonds.git diff --git a/src/tape.h b/src/tape.h index ea18e396..a829448a 100644 --- a/src/tape.h +++ b/src/tape.h @@ -19,7 +19,7 @@ #define TAPE_TOGGLE_PLAY_PAUSE (1 << 1) // values for tape properties -#define MAX_TAPE_LEN (1000 * FRAMES_PER_SECOND) // max.time x fps +#define MAX_TAPE_LEN (10000 * FRAMES_PER_SECOND) // max.time x fps // values for tape action array positions #define TAPE_ACTION_LX (MAX_PLAYERS + 0) @@ -178,7 +178,7 @@ struct TapeInfo 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; + char level_identifier[MAX_FILENAME_LEN + 1]; int level_nr; unsigned int random_seed; unsigned int date; @@ -194,6 +194,8 @@ struct TapeInfo boolean deactivate_display; boolean auto_play; boolean auto_play_level_solved; + boolean auto_play_level_fixed; + boolean auto_play_level_not_fixable; boolean quick_resume; boolean single_step; boolean changed; @@ -209,6 +211,10 @@ struct TapeInfo // bits to indicate which tape properties are stored in this tape byte property_bits; + // visible playfield size when recording this tape (for team mode) + int scr_fieldx; + int scr_fieldy; + struct { byte action[MAX_TAPE_ACTIONS]; @@ -255,6 +261,9 @@ boolean hasSolutionTape(void); boolean InsertSolutionTape(void); boolean PlaySolutionTape(void); +void UndoTape(void); +void FixTape_ForceSinglePlayer(void); + void AutoPlayTapes(void); void PatchTapes(void);