X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fevents.c;h=9fb4ef03e124a204a77e688668ac0a7ab27852c4;hb=19d38b8a650bd10ffbbaed031f5b3819dbcd32ce;hp=f9e74a763b82d5c3ad7565332cc8520615d791b0;hpb=04822a800bb5479087613b0730fdf7e765ba012c;p=rocksndiamonds.git diff --git a/src/events.c b/src/events.c index f9e74a76..9fb4ef03 100644 --- a/src/events.c +++ b/src/events.c @@ -1237,6 +1237,20 @@ static void HandleKeysSpecial(Key key) { DumpTape(&tape); } + else if (is_string_suffix(cheat_input, ":fix-tape") || + is_string_suffix(cheat_input, ":ft")) + { + /* fix single-player tapes that contain player input for more than one + player (due to a bug in 3.3.1.2 and earlier versions), which results + in playing levels with more than one player in multi-player mode, + even though the tape was originally recorded in single-player mode */ + + /* remove player input actions for all players but the first one */ + for (i = 1; i < MAX_PLAYERS; i++) + tape.player_participates[i] = FALSE; + + tape.changed = TRUE; + } else if (is_string_suffix(cheat_input, ":save-native-level") || is_string_suffix(cheat_input, ":snl")) { @@ -1695,6 +1709,7 @@ void HandleKey(Key key, int key_status) } break; +#if 0 case KSYM_s: if (!global.fps_slowdown) { @@ -1714,7 +1729,9 @@ void HandleKey(Key key, int key_status) printf("fps slowdown disabled\n"); } break; +#endif +#if 0 case KSYM_f: ScrollStepSize = TILEX / 8; printf("ScrollStepSize == %d (1/8)\n", ScrollStepSize); @@ -1734,6 +1751,7 @@ void HandleKey(Key key, int key_status) ScrollStepSize = TILEX; printf("ScrollStepSize == %d (1/1)\n", ScrollStepSize); break; +#endif case KSYM_v: printf("::: currently using game engine version %d\n",