X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftape.h;h=332de217e6058ae9596c86727e1b8acfaa1263be;hb=87fd32ed7c5c47b7278300d12bf67c5b46a604a6;hp=c8c0675936fbdbdf81db5dc1169c8a4a218f1922;hpb=679bbca85df5a07faae177d729305a70e7b86199;p=rocksndiamonds.git diff --git a/src/tape.h b/src/tape.h index c8c06759..332de217 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) @@ -37,6 +37,7 @@ // values for tape properties stored in tape file #define TAPE_PROPERTY_NONE 0 +#define TAPE_PROPERTY_EM_RANDOM_BUG (1 << 0) // some positions in the video tape control window #define VIDEO_DISPLAY1_XPOS 5 @@ -193,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; @@ -208,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]; @@ -254,7 +261,11 @@ boolean hasSolutionTape(void); boolean InsertSolutionTape(void); boolean PlaySolutionTape(void); -void AutoPlayTape(void); +void UndoTape(void); +void FixTape_ForceSinglePlayer(void); + +void AutoPlayTapes(void); +void PatchTapes(void); void CreateTapeButtons(void); void FreeTapeButtons(void);