X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=212a75caac20e87836812bfa27d45410d58d0b2c;hb=2d235297197dd0c325184f7fc401d9c5c41c2616;hp=1ba452fbc249bf0c60b915decf32aa82b22fe6ac;hpb=aba4ad86f8fe03895d83c48536d9848726644293;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 1ba452fb..212a75ca 100644 --- a/src/screens.c +++ b/src/screens.c @@ -1957,6 +1957,7 @@ static struct TokenInfo setup_info_editor[] = #endif { TYPE_SWITCH, &setup.editor.el_boulderdash, "BoulderDash:" }, { TYPE_SWITCH, &setup.editor.el_emerald_mine, "Emerald Mine:" }, + { TYPE_SWITCH, &setup.editor.el_emerald_mine_club,"E.M. Club:" }, { TYPE_SWITCH, &setup.editor.el_more, "More:" }, { TYPE_SWITCH, &setup.editor.el_sokoban, "Sokoban:" }, { TYPE_SWITCH, &setup.editor.el_supaplex, "Supaplex:" }, @@ -2952,6 +2953,19 @@ void HandleGameActions() byte tape_action[MAX_PLAYERS]; int i; + if (level.native_em_level->lev->home == 0) /* all players at home */ + { + GameWon(); + + if (!TAPE_IS_STOPPED(tape)) + TapeStop(); + + if (game_status != GAME_MODE_PLAYING) + return; + } + + /* --- game actions --- */ + if (tape.pausing) return; @@ -2985,11 +2999,7 @@ void HandleGameActions() if (tape.recording) TapeRecordAction(tape_action); - if (em_main_handle_game(local_player->effective_action) != 0) - { - game_status = GAME_MODE_MAIN; - DrawMainMenu(); - } + GameActions_EM(local_player->effective_action); if (TimeFrames >= FRAMES_PER_SECOND) {