X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftape.h;h=7b9c44f8681d8db6eaa15ff585b8668c4e8ffc0b;hp=4847931cc57c359c6aea6249ee8c204540ebb751;hb=97648ab29c587dee3e5fa5be3cc0cfda96543f22;hpb=b641818c787e48bbf03ce2a0cd5b542c4c21e523 diff --git a/src/tape.h b/src/tape.h index 4847931c..7b9c44f8 100644 --- a/src/tape.h +++ b/src/tape.h @@ -35,6 +35,10 @@ #define TAPE_ACTIONS_DEFAULT TAPE_USE_KEY_ACTIONS_ONLY +// 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 #define VIDEO_DISPLAY1_YPOS 5 @@ -190,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; @@ -202,6 +208,9 @@ struct TapeInfo boolean use_key_actions; boolean use_mouse_actions; + // bits to indicate which tape properties are stored in this tape + byte property_bits; + struct { byte action[MAX_TAPE_ACTIONS]; @@ -248,7 +257,10 @@ boolean hasSolutionTape(void); boolean InsertSolutionTape(void); boolean PlaySolutionTape(void); -void AutoPlayTape(void); +void FixTape_ForceSinglePlayer(void); + +void AutoPlayTapes(void); +void PatchTapes(void); void CreateTapeButtons(void); void FreeTapeButtons(void);