X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_mm%2Fmm_game.c;h=d66dbc846aa9d6fb7f6d7f52b1466c9df59de6bf;hb=46063530cb6f8fd298fa3e59f2387e5298f13f6b;hp=58ae03db5ef0d351f7eb7a4546a7ff93946ae541;hpb=849ff903bcc8c5193b7a6298747efdac3eff171f;p=rocksndiamonds.git diff --git a/src/game_mm/mm_game.c b/src/game_mm/mm_game.c index 58ae03db..d66dbc84 100644 --- a/src/game_mm/mm_game.c +++ b/src/game_mm/mm_game.c @@ -1692,6 +1692,9 @@ static boolean HitElement(int element, int hit_mask) // check if laser scan has crossed element boundaries (not just mini tiles) boolean cross_x = (getLevelFromLaserX(LX) != getLevelFromLaserX(LX + 2)); boolean cross_y = (getLevelFromLaserY(LY) != getLevelFromLaserY(LY + 2)); + int element_angle = get_element_angle(element); + int mirrored_angle = get_mirrored_angle(laser.current_angle, element_angle); + int opposite_angle = get_opposite_angle(laser.current_angle); // check if wall (horizontal or vertical) side of slope was hit if (hit_mask == HIT_MASK_LEFT || @@ -1722,10 +1725,6 @@ static boolean HitElement(int element, int hit_mask) } } - int mirrored_angle = get_mirrored_angle(laser.current_angle, - get_element_angle(element)); - int opposite_angle = get_opposite_angle(laser.current_angle); - // check if laser is reflected by slope by 180° if (mirrored_angle == opposite_angle) {