// values for tape properties
#define MAX_TAPE_LEN (1000 * FRAMES_PER_SECOND) // max.time x fps
-// values for tape mouse actions
-#define TAPE_ACTION_LX 0
-#define TAPE_ACTION_LY 1
-#define TAPE_ACTION_BUTTON 2
-#define TAPE_ACTION_UNUSED 3
+// 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 MAX_TAPE_ACTIONS (MAX_PLAYERS + 3)
+
+// values for tape actions stored in tape file
+#define TAPE_USE_KEY_ACTIONS_ONLY 0
+#define TAPE_USE_MOUSE_ACTIONS_ONLY 1
+#define TAPE_USE_KEY_AND_MOUSE_ACTIONS 2
+
+#define TAPE_ACTIONS_DEFAULT TAPE_USE_KEY_ACTIONS_ONLY
// some positions in the video tape control window
#define VIDEO_DISPLAY1_XPOS 5
int centered_player_nr_next;
boolean set_centered_player;
- boolean use_mouse;
+ // flags to indicate which game actions are stored in this tape
+ boolean use_key_actions;
+ boolean use_mouse_actions;
struct
{
- byte action[MAX_PLAYERS];
+ byte action[MAX_TAPE_ACTIONS];
byte delay;
} pos[MAX_TAPE_LEN];