diff --git a/main/endlevel.c b/main/endlevel.c index 395555aa7..b8557186e 100644 --- a/main/endlevel.c +++ b/main/endlevel.c @@ -1157,6 +1157,10 @@ void do_endlevel_flythrough(int n) //update target point & angles compute_center_point_on_side(&dest_point,pseg,exit_side); + if (pseg->children[exit_side] == -2) + nextcenter = dest_point; + else + compute_segment_center(&nextcenter,&Segments[pseg->children[exit_side]]); //update target point and movement points @@ -1193,7 +1197,6 @@ void do_endlevel_flythrough(int n) vm_vec_scale(&flydata->step,flydata->speed); compute_segment_center(&curcenter,pseg); - compute_segment_center(&nextcenter,&Segments[pseg->children[exit_side]]); vm_vec_sub(&flydata->headvec,&nextcenter,&curcenter); #ifdef COMPACT_SEGS