// values for TapeTogglePause()
-#define TAPE_TOGGLE_AUTOMATIC 0
-#define TAPE_TOGGLE_MANUAL (1 << 0)
-#define TAPE_TOGGLE_PLAY_PAUSE (1 << 1)
+#define TAPE_TOGGLE_AUTOMATIC 0
+#define TAPE_TOGGLE_MANUAL (1 << 0)
+#define TAPE_TOGGLE_PLAY_PAUSE (1 << 1)
// values for tape properties
-#define MAX_TAPE_LEN (10000 * 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)
-#define TAPE_ACTION_LY (MAX_PLAYERS + 1)
-#define TAPE_ACTION_BUTTON (MAX_PLAYERS + 2)
+#define TAPE_ACTION_LX (MAX_PLAYERS + 0)
+#define TAPE_ACTION_LY (MAX_PLAYERS + 1)
+#define TAPE_ACTION_BUTTON (MAX_PLAYERS + 2)
-#define MAX_TAPE_ACTIONS (MAX_PLAYERS + 3)
+#define MAX_TAPE_ACTIONS (MAX_PLAYERS + 3)
// values for tape actions stored in tape file
#define TAPE_USE_KEY_ACTIONS_ONLY 0
#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
-#define VIDEO_DISPLAY2_XPOS 5
-#define VIDEO_DISPLAY2_YPOS 41
-#define VIDEO_DISPLAY_XSIZE 90
-#define VIDEO_DISPLAY_YSIZE 31
-#define VIDEO_BUTTON_XSIZE 18
-#define VIDEO_BUTTON_YSIZE 18
-#define VIDEO_CONTROL_XPOS 5
-#define VIDEO_CONTROL_YPOS 77
-#define VIDEO_CONTROL_XSIZE VIDEO_DISPLAY_XSIZE
-#define VIDEO_CONTROL_YSIZE VIDEO_BUTTON_YSIZE
+#define VIDEO_DISPLAY1_XPOS 5
+#define VIDEO_DISPLAY1_YPOS 5
+#define VIDEO_DISPLAY2_XPOS 5
+#define VIDEO_DISPLAY2_YPOS 41
+#define VIDEO_DISPLAY_XSIZE 90
+#define VIDEO_DISPLAY_YSIZE 31
+#define VIDEO_BUTTON_XSIZE 18
+#define VIDEO_BUTTON_YSIZE 18
+#define VIDEO_CONTROL_XPOS 5
+#define VIDEO_CONTROL_YPOS 77
+#define VIDEO_CONTROL_XSIZE VIDEO_DISPLAY_XSIZE
+#define VIDEO_CONTROL_YSIZE VIDEO_BUTTON_YSIZE
// values for video tape control
-#define VIDEO_STATE_PLAY_OFF (1u << 0)
-#define VIDEO_STATE_PLAY_ON (1u << 1)
-#define VIDEO_STATE_REC_OFF (1u << 2)
-#define VIDEO_STATE_REC_ON (1u << 3)
-#define VIDEO_STATE_PAUSE_OFF (1u << 4)
-#define VIDEO_STATE_PAUSE_ON (1u << 5)
-#define VIDEO_STATE_DATE_OFF (1u << 6)
-#define VIDEO_STATE_DATE_ON (1u << 7)
-#define VIDEO_STATE_TIME_OFF (1u << 8)
-#define VIDEO_STATE_TIME_ON (1u << 9)
-#define VIDEO_STATE_FRAME_OFF (1u << 10)
-#define VIDEO_STATE_FRAME_ON (1u << 11)
-#define VIDEO_STATE_FFWD_OFF (1u << 12)
-#define VIDEO_STATE_FFWD_ON (1u << 13)
-#define VIDEO_STATE_WARP_OFF (1u << 14)
-#define VIDEO_STATE_WARP_ON (1u << 15)
-#define VIDEO_STATE_WARP2_OFF (1u << 16)
-#define VIDEO_STATE_WARP2_ON (1u << 17)
-#define VIDEO_STATE_PBEND_OFF (1u << 18)
-#define VIDEO_STATE_PBEND_ON (1u << 19)
-#define VIDEO_STATE_1STEP_OFF (1u << 20)
-#define VIDEO_STATE_1STEP_ON (1u << 21)
-
-#define VIDEO_PRESS_PLAY_ON (1u << 22)
-#define VIDEO_PRESS_PLAY_OFF (1u << 23)
-#define VIDEO_PRESS_REC_ON (1u << 24)
-#define VIDEO_PRESS_REC_OFF (1u << 25)
-#define VIDEO_PRESS_PAUSE_ON (1u << 26)
-#define VIDEO_PRESS_PAUSE_OFF (1u << 27)
-#define VIDEO_PRESS_STOP_ON (1u << 28)
-#define VIDEO_PRESS_STOP_OFF (1u << 29)
-#define VIDEO_PRESS_EJECT_ON (1u << 30)
-#define VIDEO_PRESS_EJECT_OFF (1u << 31)
-
-#define VIDEO_STATE_PLAY(x) ((x) ? VIDEO_STATE_PLAY_ON : VIDEO_STATE_PLAY_OFF)
-#define VIDEO_STATE_REC(x) ((x) ? VIDEO_STATE_REC_ON : VIDEO_STATE_REC_OFF)
-#define VIDEO_STATE_PAUSE(x) ((x) ? VIDEO_STATE_PAUSE_ON: VIDEO_STATE_PAUSE_OFF)
-#define VIDEO_STATE_DATE(x) ((x) ? VIDEO_STATE_DATE_ON : VIDEO_STATE_DATE_OFF)
-#define VIDEO_STATE_TIME(x) ((x) ? VIDEO_STATE_TIME_ON : VIDEO_STATE_TIME_OFF)
-#define VIDEO_STATE_FRAME(x) ((x) ? VIDEO_STATE_FRAME_ON: VIDEO_STATE_FRAME_OFF)
-#define VIDEO_STATE_FFWD(x) ((x) ? VIDEO_STATE_FFWD_ON : VIDEO_STATE_FFWD_OFF)
-#define VIDEO_STATE_WARP(x) ((x) ? VIDEO_STATE_WARP_ON : VIDEO_STATE_WARP_OFF)
-#define VIDEO_STATE_WARP2(x) ((x) ? VIDEO_STATE_WARP2_ON: VIDEO_STATE_WARP2_OFF)
-#define VIDEO_STATE_PBEND(x) ((x) ? VIDEO_STATE_PBEND_ON: VIDEO_STATE_PBEND_OFF)
-#define VIDEO_STATE_1STEP(x) ((x) ? VIDEO_STATE_1STEP_ON: VIDEO_STATE_1STEP_OFF)
-
-#define VIDEO_PRESS_PLAY(x) ((x) ? VIDEO_PRESS_PLAY_ON : VIDEO_PRESS_PLAY_OFF)
-#define VIDEO_PRESS_REC(x) ((x) ? VIDEO_PRESS_REC_ON : VIDEO_PRESS_REC_OFF)
-#define VIDEO_PRESS_PAUSE(x) ((x) ? VIDEO_PRESS_PAUSE_ON: VIDEO_PRESS_PAUSE_OFF)
-#define VIDEO_PRESS_STOP(x) ((x) ? VIDEO_PRESS_STOP_ON : VIDEO_PRESS_STOP_OFF)
-#define VIDEO_PRESS_EJECT(x) ((x) ? VIDEO_PRESS_EJECT_ON: VIDEO_PRESS_EJECT_OFF)
+#define VIDEO_STATE_PLAY_OFF (1u << 0)
+#define VIDEO_STATE_PLAY_ON (1u << 1)
+#define VIDEO_STATE_REC_OFF (1u << 2)
+#define VIDEO_STATE_REC_ON (1u << 3)
+#define VIDEO_STATE_PAUSE_OFF (1u << 4)
+#define VIDEO_STATE_PAUSE_ON (1u << 5)
+#define VIDEO_STATE_DATE_OFF (1u << 6)
+#define VIDEO_STATE_DATE_ON (1u << 7)
+#define VIDEO_STATE_TIME_OFF (1u << 8)
+#define VIDEO_STATE_TIME_ON (1u << 9)
+#define VIDEO_STATE_FRAME_OFF (1u << 10)
+#define VIDEO_STATE_FRAME_ON (1u << 11)
+#define VIDEO_STATE_FFWD_OFF (1u << 12)
+#define VIDEO_STATE_FFWD_ON (1u << 13)
+#define VIDEO_STATE_WARP_OFF (1u << 14)
+#define VIDEO_STATE_WARP_ON (1u << 15)
+#define VIDEO_STATE_WARP2_OFF (1u << 16)
+#define VIDEO_STATE_WARP2_ON (1u << 17)
+#define VIDEO_STATE_PBEND_OFF (1u << 18)
+#define VIDEO_STATE_PBEND_ON (1u << 19)
+#define VIDEO_STATE_1STEP_OFF (1u << 20)
+#define VIDEO_STATE_1STEP_ON (1u << 21)
+
+#define VIDEO_PRESS_PLAY_ON (1u << 22)
+#define VIDEO_PRESS_PLAY_OFF (1u << 23)
+#define VIDEO_PRESS_REC_ON (1u << 24)
+#define VIDEO_PRESS_REC_OFF (1u << 25)
+#define VIDEO_PRESS_PAUSE_ON (1u << 26)
+#define VIDEO_PRESS_PAUSE_OFF (1u << 27)
+#define VIDEO_PRESS_STOP_ON (1u << 28)
+#define VIDEO_PRESS_STOP_OFF (1u << 29)
+#define VIDEO_PRESS_EJECT_ON (1u << 30)
+#define VIDEO_PRESS_EJECT_OFF (1u << 31)
+
+#define VIDEO_STATE_PLAY(x) ((x) ? VIDEO_STATE_PLAY_ON : VIDEO_STATE_PLAY_OFF)
+#define VIDEO_STATE_REC(x) ((x) ? VIDEO_STATE_REC_ON : VIDEO_STATE_REC_OFF)
+#define VIDEO_STATE_PAUSE(x) ((x) ? VIDEO_STATE_PAUSE_ON: VIDEO_STATE_PAUSE_OFF)
+#define VIDEO_STATE_DATE(x) ((x) ? VIDEO_STATE_DATE_ON : VIDEO_STATE_DATE_OFF)
+#define VIDEO_STATE_TIME(x) ((x) ? VIDEO_STATE_TIME_ON : VIDEO_STATE_TIME_OFF)
+#define VIDEO_STATE_FRAME(x) ((x) ? VIDEO_STATE_FRAME_ON: VIDEO_STATE_FRAME_OFF)
+#define VIDEO_STATE_FFWD(x) ((x) ? VIDEO_STATE_FFWD_ON : VIDEO_STATE_FFWD_OFF)
+#define VIDEO_STATE_WARP(x) ((x) ? VIDEO_STATE_WARP_ON : VIDEO_STATE_WARP_OFF)
+#define VIDEO_STATE_WARP2(x) ((x) ? VIDEO_STATE_WARP2_ON: VIDEO_STATE_WARP2_OFF)
+#define VIDEO_STATE_PBEND(x) ((x) ? VIDEO_STATE_PBEND_ON: VIDEO_STATE_PBEND_OFF)
+#define VIDEO_STATE_1STEP(x) ((x) ? VIDEO_STATE_1STEP_ON: VIDEO_STATE_1STEP_OFF)
+
+#define VIDEO_PRESS_PLAY(x) ((x) ? VIDEO_PRESS_PLAY_ON : VIDEO_PRESS_PLAY_OFF)
+#define VIDEO_PRESS_REC(x) ((x) ? VIDEO_PRESS_REC_ON : VIDEO_PRESS_REC_OFF)
+#define VIDEO_PRESS_PAUSE(x) ((x) ? VIDEO_PRESS_PAUSE_ON: VIDEO_PRESS_PAUSE_OFF)
+#define VIDEO_PRESS_STOP(x) ((x) ? VIDEO_PRESS_STOP_ON : VIDEO_PRESS_STOP_OFF)
+#define VIDEO_PRESS_EJECT(x) ((x) ? VIDEO_PRESS_EJECT_ON: VIDEO_PRESS_EJECT_OFF)
// tags to draw video display labels or symbols only
// (negative values to prevent misinterpretation in DrawVideoDisplay(), where
struct TapeInfo
{
- int file_version; // file format version the tape is stored with
- int game_version; // game release version the tape was created with
- int engine_version; // game engine version the tape was recorded with
+ int file_version; // file format version the tape is stored with
+ int game_version; // game release version the tape was created with
+ int engine_version; // game engine version the tape was recorded with
char score_tape_basename[MAX_FILENAME_LEN + 1];
char level_identifier[MAX_FILENAME_LEN + 1];
byte *TapePlayActionExt(boolean);
byte *TapePlayAction_BD(void);
byte *TapePlayAction(void);
+byte *TapeCorrectAction_BD(byte *);
void TapeStop(void);
void TapeStopGame(void);
void TapeStopTape(void);