X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgame_bd%2Fbd_gameplay.c;h=3ca3e43c874f020f015d9619ef23ed730f0fd13a;hb=8fdd23c078934ae797980a824fd145903c84cae7;hp=b287f085be9a68b4705c925654bdd7a327e88cfd;hpb=88649b249ef0485f6c6233dfee03e3cae1eefa1f;p=rocksndiamonds.git diff --git a/src/game_bd/bd_gameplay.c b/src/game_bd/bd_gameplay.c index b287f085..3ca3e43c 100644 --- a/src/game_bd/bd_gameplay.c +++ b/src/game_bd/bd_gameplay.c @@ -17,10 +17,6 @@ #include "main_bd.h" -// universal settings -static boolean gd_no_invisible_outbox = FALSE; - - void gd_game_free(GdGame *game) { // stop sounds @@ -192,6 +188,13 @@ GdGame *gd_game_new(const int cave, const int level) return game; } +boolean check_iteration_reached(GdGame *game) +{ + int millisecs_elapsed = 20; + + return (game->milliseconds_game + millisecs_elapsed >= game->cave->speed); +} + static void iterate_cave(GdGame *game, GdDirection player_move, boolean fire) { boolean suicide = FALSE; @@ -571,8 +574,8 @@ static GdGameState gd_game_main_int(GdGame *game, boolean allow_iterate, boolean // always render the cave to the gfx buffer; // however it may do nothing if animcycle was not changed. if (game->element_buffer && game->gfx_buffer) - gd_drawcave_game(game->cave, game->element_buffer, game->gfx_buffer, - game->bonus_life_flash != 0, game->animcycle, gd_no_invisible_outbox); + gd_drawcave_game(game->cave, game->element_buffer, game->last_element_buffer, game->gfx_buffer, + game->bonus_life_flash != 0, game->animcycle, setup.bd_show_invisible_outbox); game->state_counter = counter_next; @@ -603,7 +606,7 @@ void play_game_func(GdGame *game, int action) game->player_fire = fire; // tell the interrupt "20ms has passed" - state = gd_game_main_int(game, !game->out_of_window, gd_keystate[SDL_SCANCODE_F]); + state = gd_game_main_int(game, !game->out_of_window, FALSE); // state of game, returned by gd_game_main_int switch (state)