diff --git a/similar/main/game.cpp b/similar/main/game.cpp index cc7d89415..0c69529e9 100644 --- a/similar/main/game.cpp +++ b/similar/main/game.cpp @@ -435,6 +435,8 @@ void calc_frame_time() FrameTime = (last_frametime==0?1:last_frametime); //...then use time from last frame GameTime64 += FrameTime; + + calc_d_tick(); calc_d_homer_tick(); } @@ -1379,8 +1381,6 @@ void GameProcessFrame(void) else { // Note the link to above! - get_local_player().homing_object_dist = -1; // Assume not being tracked. Laser_do_weapon_sequence modifies this. - object_move_all(); powerup_grab_cheat_all(); diff --git a/similar/main/laser.cpp b/similar/main/laser.cpp index 4d0562d93..bf717fcfd 100644 --- a/similar/main/laser.cpp +++ b/similar/main/laser.cpp @@ -1199,9 +1199,10 @@ void calc_d_homer_tick() // Don't let slowdowns have a lasting impact; allow you to build up at most 3 frames worth if (t > HOMING_TURN_TIME*3) t = HOMING_TURN_TIME*3; + + get_local_player().homing_object_dist = -1; // Assume not being tracked. Laser_do_weapon_sequence modifies this. Let's do this here since the homers do not track every frame, we may not want to reset this ever frame. } timer = t; - calc_d_tick(); } // ------------------------------------------------------------------------------------------------------------