- to prevent breaking old tapes, a version-specific engine value was added
- the corresponding snap key bug was initially fixed with commit
c138430
- tapes created before 4.0.1.0 and broken due to this fix should work again
game_em.use_single_button =
(game.engine_version > VERSION_IDENT(4,0,0,2));
+ game_em.use_snap_key_bug =
+ (game.engine_version < VERSION_IDENT(4,0,1,0));
+
/* ---------------------------------------------------------------------- */
/* set maximal allowed number of custom element changes per game frame */
// in function InitGameEngine() (src/game.c):
//
// - game_em.use_single_button (default: TRUE)
+ // - game_em.use_snap_key_bug (default: FALSE)
game_em.any_player_moving = FALSE;
game_em.any_player_snapping = FALSE;
boolean any_player_snapping;
boolean use_single_button;
+ boolean use_snap_key_bug;
int last_moving_player;
int last_player_direction[MAX_PLAYERS];
!ply->joy_s &&
!ply->joy_w)
ply->joy_snap = snap;
+
+ /* use bug with snap key (mainly TAS keys) sometimes moving the player */
+ if (game_em.use_snap_key_bug)
+ ply->joy_snap = snap;
}
void SaveEngineSnapshotValues_EM()