X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgame_em%2Fgame.c;h=8443ff0535dede2d67982d5150138b042a72ec00;hb=3fd63fd1559c678f0b63ba48d0de211aab1cf591;hp=2d11170dc6b392e22443a55949b65a83237f59a6;hpb=e1015ff65ebebc0362ba23172acef6f35dc69f51;p=rocksndiamonds.git diff --git a/src/game_em/game.c b/src/game_em/game.c index 2d11170d..8443ff05 100644 --- a/src/game_em/game.c +++ b/src/game_em/game.c @@ -75,6 +75,8 @@ void InitGameEngine_EM(void) { prepare_em_level(); + logic_init(); + game_initscreen(); RedrawPlayfield_EM(FALSE); @@ -92,7 +94,10 @@ void GameActions_EM(byte action[MAX_PLAYERS], boolean warp_mode) for (i = 0; i < MAX_PLAYERS; i++) readjoy(action[i], &ply[i]); - UpdateEngineValues(screen_x / TILEX, screen_y / TILEY, ply[0].x, ply[0].y); + UpdateEngineValues(CAVE_POS_X(screen_x / TILEX), + CAVE_POS_Y(screen_y / TILEY), + CAVE_POS_X(ply[0].x), + CAVE_POS_Y(ply[0].y)); logic(); @@ -103,8 +108,13 @@ void GameActions_EM(byte action[MAX_PLAYERS], boolean warp_mode) ply[i].dynamite_cnt < 5) any_player_dropping = TRUE; - CheckSingleStepMode_EM(action, frame, game_em.any_player_moving, - game_em.any_player_snapping, any_player_dropping); + boolean single_step_mode_paused = + CheckSingleStepMode_EM(action, frame, game_em.any_player_moving, + game_em.any_player_snapping, any_player_dropping); + + // draw wrapping around before going to single step pause mode + if (single_step_mode_paused && logic_check_wrap()) + logic_move(); RedrawPlayfield_EM(FALSE); }