X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=5164505efa8a7e7d0dd81b163095a7fd3335756e;hb=58ea80c54f5a1e6605e2c33b554dff1fcc0c26b5;hp=fbe34cc7a6eeef5328fc8bb5b85bef4a62c741fb;hpb=5e53b3af62af5a0fb7726afebf62dc4a5c297596;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index fbe34cc7..5164505e 100644 --- a/src/game.c +++ b/src/game.c @@ -2228,14 +2228,14 @@ static void UpdateGameControlValues(void) game_mm.score : game.score); int gems = (level.game_engine_type == GAME_ENGINE_TYPE_EM ? - game_em.lev->required : + game_em.lev->gems_needed : level.game_engine_type == GAME_ENGINE_TYPE_SP ? game_sp.infotrons_still_needed : level.game_engine_type == GAME_ENGINE_TYPE_MM ? game_mm.kettles_still_needed : game.gems_still_needed); int exit_closed = (level.game_engine_type == GAME_ENGINE_TYPE_EM ? - game_em.lev->required > 0 : + game_em.lev->gems_needed > 0 : level.game_engine_type == GAME_ENGINE_TYPE_SP ? game_sp.infotrons_still_needed > 0 : level.game_engine_type == GAME_ENGINE_TYPE_MM ? @@ -2906,12 +2906,17 @@ static void InitGameEngine(void) game.use_block_last_field_bug = (game.engine_version < VERSION_IDENT(3,1,1,0)); + /* various special flags and settings for native Emerald Mine game engine */ + 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)); + game_em.use_old_explosions = + (game.engine_version < VERSION_IDENT(4,1,4,2)); + // -------------------------------------------------------------------------- // set maximal allowed number of custom element changes per game frame @@ -14701,7 +14706,7 @@ static void PlayLevelMusic(void) void PlayLevelSound_EM(int xx, int yy, int element_em, int sample) { - int element = (element_em > -1 ? map_element_EM_to_RND(element_em) : 0); + int element = (element_em > -1 ? map_element_EM_to_RND_game(element_em) : 0); int offset = (BorderElement == EL_STEELWALL ? 1 : 0); int x = xx - 1 - offset; int y = yy - 1 - offset;