X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftape.h;h=23773684aeb794702b18ed56d3d4c1c6dc0b5536;hp=4847931cc57c359c6aea6249ee8c204540ebb751;hb=38212569c2f58866417f26e9c813ed8b23c5b2c4;hpb=b641818c787e48bbf03ce2a0cd5b542c4c21e523 diff --git a/src/tape.h b/src/tape.h index 4847931c..23773684 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,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);