recorded_player_action = (tape.playing ? TapePlayAction() : NULL);
#if 1
+ if (recorded_player_action == NULL && tape.pausing)
+ return;
+#endif
+
+#if 0
+ printf("::: %d\n", stored_player[0].action);
+#endif
+
+#if 0
if (recorded_player_action != NULL)
for (i = 0; i < MAX_PLAYERS; i++)
stored_player[i].action = recorded_player_action[i];
if (!options.network && !setup.team_mode)
local_player->effective_action = summarized_player_action;
+#if 1
+ if (recorded_player_action != NULL)
+ for (i = 0; i < MAX_PLAYERS; i++)
+ stored_player[i].effective_action = recorded_player_action[i];
+#endif
+
#if 1
for (i = 0; i < MAX_PLAYERS; i++)
{
actual_player_action = stored_player[i].programmed_action;
#endif
+#if 0
+ if (stored_player[i].programmed_action)
+ printf("::: %d\n", stored_player[i].programmed_action);
+#endif
+
if (recorded_player_action)
{
#if 0
return;
}
+#if 0
+ printf("::: %05d: recording action: %d\n", FrameCounter, action[0]);
+#endif
+
if (tape.pos[tape.counter].delay > 0) /* already stored action */
{
boolean changed_events = FALSE;
if (tape.pos[tape.counter].delay == 0) /* store new action */
{
+
+#if 0
+ printf("::: %05d: new sequence\n", FrameCounter);
+#endif
+
for (i = 0; i < MAX_PLAYERS; i++)
tape.pos[tape.counter].action[i] = action[i];
tape.quick_resume = FALSE;
TapeAppendRecording();
+#if 0
TapeTogglePause(toggle_manual);
+#endif
}
}
}
tape.delay_played = 0;
}
+#if 0
+ printf("::: %05d: replaying action: %d\n", FrameCounter, action[0]);
+#endif
+
return action;
}
void TapeStop()
{
+#if 0
+ if (tape.recording)
+ printf("::: stopped recording: %d\n", FrameCounter);
+ else if (tape.playing)
+ printf("::: stopped playing: %d\n\n", FrameCounter);
+#endif
+
TapeStopRecording();
TapeStopPlaying();