The code to find the highest hit below you didn't work quite right when
reinitializing at a new location. This should fix the problem.
This commit is contained in:
parent
6e635692e2
commit
071a3d99b9
1 changed files with 26 additions and 2 deletions
|
@ -527,9 +527,11 @@ bool fgCurrentElev( sgdVec3 abs_view_pos, double max_alt_m,
|
|||
hit_list->Intersect( globals->get_scenery()->get_terrain_branch(),
|
||||
orig, dir );
|
||||
|
||||
int this_hit=0;
|
||||
int this_hit = -1;
|
||||
int max_hit = -1;
|
||||
Point3D geoc;
|
||||
double hit_elev = -9999;
|
||||
double max_elev = -9999;
|
||||
Point3D sc(scenery_center[0], scenery_center[1], scenery_center[2]) ;
|
||||
|
||||
int hitcount = hit_list->num_hits();
|
||||
|
@ -547,6 +549,16 @@ bool fgCurrentElev( sgdVec3 abs_view_pos, double max_alt_m,
|
|||
hit_elev = alt;
|
||||
this_hit = i;
|
||||
}
|
||||
if ( alt > hit_elev ) {
|
||||
max_elev = alt;
|
||||
max_hit = i;
|
||||
}
|
||||
}
|
||||
|
||||
if ( this_hit < 0 ) {
|
||||
// no hits below us, take the max hit
|
||||
this_hit = max_hit;
|
||||
hit_elev = max_elev;
|
||||
}
|
||||
|
||||
if ( hit_elev > -9000 ) {
|
||||
|
@ -607,9 +619,11 @@ bool fgCurrentElev( sgdVec3 abs_view_pos, double max_alt_m,
|
|||
sgdSetMat4(xform,fxform);
|
||||
hit_list->Intersect( terra_transform, xform, orig, dir );
|
||||
|
||||
int this_hit=0;
|
||||
int this_hit = -1;
|
||||
int max_hit = -1;
|
||||
Point3D geoc;
|
||||
double hit_elev = -9999;
|
||||
double max_elev = -9999;
|
||||
Point3D sc(scenery_center[0], scenery_center[1], scenery_center[2]) ;
|
||||
|
||||
int hitcount = hit_list->num_hits();
|
||||
|
@ -627,6 +641,16 @@ bool fgCurrentElev( sgdVec3 abs_view_pos, double max_alt_m,
|
|||
this_hit = i;
|
||||
// cout << " it's a keeper" << endl;
|
||||
}
|
||||
if ( alt > hit_elev ) {
|
||||
max_elev = alt;
|
||||
max_hit = i;
|
||||
}
|
||||
}
|
||||
|
||||
if ( this_hit < 0 ) {
|
||||
// no hits below us, take the max hit
|
||||
this_hit = max_hit;
|
||||
hit_elev = max_elev;
|
||||
}
|
||||
|
||||
if ( hit_elev > -9000 ) {
|
||||
|
|
Loading…
Add table
Reference in a new issue