if (game_status == GAME_MODE_PLAYING)
return FALSE;
+ // ignore raw keys as text input when not in text input mode
+ if (KSYM_RAW(key) && !textinput_status)
+ return FALSE;
+
// else handle all printable keys as text input
return KSYM_PRINTABLE(key);
}
{
DumpTape(&tape);
}
+ else if (strSuffix(cheat_input, ":undo-tape") ||
+ strSuffix(cheat_input, ":ut"))
+ {
+ UndoTape();
+ }
else if (strSuffix(cheat_input, ":fix-tape") ||
strSuffix(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;
+ FixTape_ForceSinglePlayer();
}
else if (strSuffix(cheat_input, ":save-native-level") ||
strSuffix(cheat_input, ":snl"))