X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftape.c;h=3f031f01018e117ef029ef04bea72d2c5457c8f3;hb=3264a0dc5f07a6873bd99fb094b48879d4e6ed6b;hp=bf24b531d24b9adbdd6679012689ddb3a12f7f51;hpb=880157ce7473f2d30290dc20d5e5414704af1c8b;p=rocksndiamonds.git diff --git a/src/tape.c b/src/tape.c index bf24b531..3f031f01 100644 --- a/src/tape.c +++ b/src/tape.c @@ -4,7 +4,7 @@ // (c) 1995-2014 by Artsoft Entertainment // Holger Schemel // info@artsoft.org -// http://www.artsoft.org/ +// https://www.artsoft.org/ // ---------------------------------------------------------------------------- // tape.c // ============================================================================ @@ -547,7 +547,9 @@ void TapeErase(void) tape.centered_player_nr_next = -1; tape.set_centered_player = FALSE; - tape.use_mouse = (level.game_engine_type == GAME_ENGINE_TYPE_MM); + // set flags for game actions to default values (may be overwritten later) + tape.use_key_actions = TRUE; + tape.use_mouse_actions = FALSE; } static void TapeRewind(void) @@ -660,7 +662,7 @@ void TapeStopRecording(void) MapTapeEjectButton(); } -boolean TapeAddAction(byte action[MAX_PLAYERS]) +boolean TapeAddAction(byte action[MAX_TAPE_ACTIONS]) { int i; @@ -668,7 +670,7 @@ boolean TapeAddAction(byte action[MAX_PLAYERS]) { boolean changed_events = FALSE; - for (i = 0; i < MAX_PLAYERS; i++) + for (i = 0; i < MAX_TAPE_ACTIONS; i++) if (tape.pos[tape.counter].action[i] != action[i]) changed_events = TRUE; @@ -686,7 +688,7 @@ boolean TapeAddAction(byte action[MAX_PLAYERS]) if (tape.pos[tape.counter].delay == 0) // store new action { - for (i = 0; i < MAX_PLAYERS; i++) + for (i = 0; i < MAX_TAPE_ACTIONS; i++) tape.pos[tape.counter].action[i] = action[i]; tape.pos[tape.counter].delay++; @@ -695,18 +697,18 @@ boolean TapeAddAction(byte action[MAX_PLAYERS]) return TRUE; } -void TapeRecordAction(byte action_raw[MAX_PLAYERS]) +void TapeRecordAction(byte action_raw[MAX_TAPE_ACTIONS]) { - byte action[MAX_PLAYERS]; + byte action[MAX_TAPE_ACTIONS]; int i; if (!tape.recording) // (record action even when tape is paused) return; - for (i = 0; i < MAX_PLAYERS; i++) + for (i = 0; i < MAX_TAPE_ACTIONS; i++) action[i] = action_raw[i]; - if (!tape.use_mouse && tape.set_centered_player) + if (tape.use_key_actions && tape.set_centered_player) { for (i = 0; i < MAX_PLAYERS; i++) if (tape.centered_player_nr_next == i || @@ -825,7 +827,7 @@ byte *TapePlayAction(void) int update_delay = FRAMES_PER_SECOND / 2; boolean update_video_display = (FrameCounter % update_delay == 0); boolean update_draw_label_on = ((FrameCounter / update_delay) % 2 == 1); - static byte action[MAX_PLAYERS]; + static byte action[MAX_TAPE_ACTIONS]; int i; if (!tape.playing || tape.pausing) @@ -874,12 +876,12 @@ byte *TapePlayAction(void) DrawVideoDisplaySymbol(state); } - for (i = 0; i < MAX_PLAYERS; i++) + for (i = 0; i < MAX_TAPE_ACTIONS; i++) action[i] = tape.pos[tape.counter].action[i]; #if DEBUG_TAPE_WHEN_PLAYING printf("%05d", FrameCounter); - for (i = 0; i < MAX_PLAYERS; i++) + for (i = 0; i < MAX_TAPE_ACTIONS; i++) printf(" %08x", action[i]); printf("\n"); #endif @@ -887,7 +889,7 @@ byte *TapePlayAction(void) tape.set_centered_player = FALSE; tape.centered_player_nr_next = -999; - if (!tape.use_mouse) + if (tape.use_key_actions) { for (i = 0; i < MAX_PLAYERS; i++) {