X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftape.h;h=e47328179473d78eaa7e608ec1a6b4ade93178ad;hb=881bd7909d3a28c07c0bed2185e60a437b407e7c;hp=7b9c44f8681d8db6eaa15ff585b8668c4e8ffc0b;hpb=97648ab29c587dee3e5fa5be3cc0cfda96543f22;p=rocksndiamonds.git diff --git a/src/tape.h b/src/tape.h index 7b9c44f8..e4732817 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) @@ -39,6 +39,9 @@ #define TAPE_PROPERTY_NONE 0 #define TAPE_PROPERTY_EM_RANDOM_BUG (1 << 0) +// 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 #define VIDEO_DISPLAY1_YPOS 5 @@ -178,7 +181,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 +215,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]; @@ -257,6 +265,7 @@ boolean hasSolutionTape(void); boolean InsertSolutionTape(void); boolean PlaySolutionTape(void); +void UndoTape(void); void FixTape_ForceSinglePlayer(void); void AutoPlayTapes(void);