X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame_mm%2Fmm_game.c;h=bb579712588767f19b1536b968c009973a61e1b9;hp=e2a2e5f8745093c0387e208640e44a1128d6c26f;hb=439166f2dc0f7462a6e75497d1ac03f9e96042c7;hpb=b903ee03857c26c3816a37b4c7c858c24250a7ef diff --git a/src/game_mm/mm_game.c b/src/game_mm/mm_game.c index e2a2e5f8..bb579712 100644 --- a/src/game_mm/mm_game.c +++ b/src/game_mm/mm_game.c @@ -606,6 +606,7 @@ void InitGameEngine_MM() game_mm.game_over_cause = 0; game_mm.laser_overload_value = 0; + game_mm.laser_enabled = FALSE; /* set global laser control values (must be set before "InitLaser()") */ laser.start_edge.x = 0; @@ -1329,6 +1330,13 @@ void DrawLaser(int start_edge, int mode) { DrawLaserExt(start_edge, laser.num_edges - start_edge, mode); } + + game_mm.laser_enabled = mode; +} + +void DrawLaser_MM() +{ + DrawLaser(0, game_mm.laser_enabled); } boolean HitElement(int element, int hit_mask) @@ -3295,7 +3303,7 @@ static void GameActions_MM_Ext(struct MouseActionInfo action, boolean warp_mode) CT -= Ct; - if (element == EL_BOMB && CT > 75) + if (element == EL_BOMB && CT > native_mm_level.time_bomb) { if (game_mm.cheat_no_explosion) return; @@ -3333,7 +3341,7 @@ static void GameActions_MM_Ext(struct MouseActionInfo action, boolean warp_mode) return; } - if (element == EL_FUSE_ON && CT > 25) + if (element == EL_FUSE_ON && CT > native_mm_level.time_fuse) { laser.fuse_off = TRUE; laser.fuse_x = ELX; @@ -3343,7 +3351,7 @@ static void GameActions_MM_Ext(struct MouseActionInfo action, boolean warp_mode) DrawGraphic_MM(ELX, ELY, IMG_MM_FUSE); } - if (element == EL_BALL_GRAY && CT > 75) + if (element == EL_BALL_GRAY && CT > native_mm_level.time_ball) { static int new_elements[] = { @@ -3630,7 +3638,7 @@ static void GameActions_MM_Ext(struct MouseActionInfo action, boolean warp_mode) } if ((element == EL_BLOCK_WOOD || element == EL_BLOCK_STONE) && - laser.stops_inside_element && CT > 75) + laser.stops_inside_element && CT > native_mm_level.time_block) { int x, y; int k;