+#else
+
+void TapeRecordAction(byte action[MAX_PLAYERS])
+{
+ int i;
+
+ if (!tape.recording || tape.pausing)
+ return;
+
+ if (tape.counter >= MAX_TAPELEN-1)
+ {
+ TapeStopRecording();
+ return;
+ }
+
+ if (tape.pos[tape.counter].delay > 0) /* already stored action */
+ {
+ boolean changed_events = FALSE;
+
+ for(i=0; i<MAX_PLAYERS; i++)
+ if (tape.pos[tape.counter].action[i] != action[i])
+ changed_events = TRUE;
+
+ if (changed_events || tape.pos[tape.counter].delay >= 255)
+ {
+ tape.counter++;
+ tape.pos[tape.counter].delay = 0;
+ }
+ else
+ tape.pos[tape.counter].delay++;
+ }
+
+ if (tape.pos[tape.counter].delay == 0) /* store new action */
+ {
+ for(i=0; i<MAX_PLAYERS; i++)
+ tape.pos[tape.counter].action[i] = action[i];
+
+ tape.pos[tape.counter].delay++;
+ }
+}
+#endif
+
+#if 0