X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftape.h;h=b0d1d6725bd7401fde08a04cd43e7139a0c7acda;hb=71f6982088deb38bae6506216004fcbe4caf6f9a;hp=23773684aeb794702b18ed56d3d4c1c6dc0b5536;hpb=c4621f6e17b3806b7edc0ab50e72353cb991842e;p=rocksndiamonds.git diff --git a/src/tape.h b/src/tape.h index 23773684..b0d1d672 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) @@ -38,6 +38,16 @@ // values for tape properties stored in tape file #define TAPE_PROPERTY_NONE 0 #define TAPE_PROPERTY_EM_RANDOM_BUG (1 << 0) +#define TAPE_PROPERTY_GAME_SPEED (1 << 1) +#define TAPE_PROPERTY_PAUSE_MODE (1 << 2) +#define TAPE_PROPERTY_SINGLE_STEP (1 << 3) +#define TAPE_PROPERTY_SNAPSHOT (1 << 4) +#define TAPE_PROPERTY_REPLAYED (1 << 5) +#define TAPE_PROPERTY_TAS_KEYS (1 << 6) +#define TAPE_PROPERTY_SMALL_GRAPHICS (1 << 7) + +// values for score tape basename length (date, time, name hash, no extension) +#define MAX_SCORE_TAPE_BASENAME_LEN 24 // some positions in the video tape control window #define VIDEO_DISPLAY1_XPOS 5 @@ -178,7 +188,8 @@ 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 score_tape_basename[MAX_FILENAME_LEN + 1]; + char level_identifier[MAX_FILENAME_LEN + 1]; int level_nr; unsigned int random_seed; unsigned int date; @@ -211,6 +222,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]; @@ -261,6 +276,7 @@ void UndoTape(void); void FixTape_ForceSinglePlayer(void); void AutoPlayTapes(void); +void AutoPlayTapesContinue(void); void PatchTapes(void); void CreateTapeButtons(void);