+
+ return TRUE;
+}
+
+void TapeRecordAction(byte action_raw[MAX_TAPE_ACTIONS])
+{
+ byte action[MAX_TAPE_ACTIONS];
+ int i;
+
+ if (!tape.recording) // (record action even when tape is paused)
+ return;
+
+ for (i = 0; i < MAX_TAPE_ACTIONS; i++)
+ action[i] = action_raw[i];
+
+ if (tape.use_key_actions && tape.set_centered_player)
+ {
+ for (i = 0; i < MAX_PLAYERS; i++)
+ if (tape.centered_player_nr_next == i ||
+ tape.centered_player_nr_next == -1)
+ action[i] |= KEY_SET_FOCUS;
+
+ tape.set_centered_player = FALSE;
+ }
+
+ if (!TapeAddAction(action))
+ TapeStopRecording();