Curtis L. Olson writes:
> 
> Stewart Andreason wrote:
> 
> > Jim Wilson wrote:
> >
> >> There are a couple bugs or at least they were there a week or so 
> >> ago.   One is
> >> just a mapping typo where latitude goes into both latitude and 
> >> altitude.   The
> >> other is under linux the fg-root and fg-scenery parameters don't get 
> >> saved and
> >> passed on to fgfs (no prefs.set done) unless you hit previous to display
> >> page[0] (the function that processes page[0] saves those strings).
> >
> >
> > Ah, is this why fgfs get stuck in a freezing loop, when I give 
> > latitude and longitude parameters at the command line?
> >
> > (Tries a few more runs)
> > Ah! that's it. If I give a --lat that is less than the ground 
> > elevation, it freezes in a loop. and ignores the --altitude parameter.
> >
> > I believe I reported this Jan.11, but had not figured out the exact 
> > conditions that triggered it.
> > Thanks Jim.
> >
> > A serious bug.
> 
> 
> I can explain the bug to you.  If you specify a lon/lat that lies on the 
> *exact* border between two tiles (i.e. --lat=90 --lon=45) then at 
> startup the ground intersection code can fail.  This means that the 
> scenery subsystem never returns a valid groud elevation.  Now the 
> problem is that the flight dynamics model *needs* to know the ground 
> elevation before it can position the aircraft.  Complicating the matter 
> is that when the FDM is first initialized the tiled scenery loader may 
> not have the current tile loaded yet.  So the FDM doesn't know if it's 
> in a dead lock state or if it just needs to wait a bit longer for the 
> threaded tile loader to catch up.
> 
> The solution would be to make the ground intersection code more robust 
> to this boundary condition, but I believe that might be burried deep in 
> plib.

This might help

hitlist.cxx
inline static bool IN_RANGE( sgdVec3 v, double radius ) {
-    return ( sgdScalarProductVec3(v, v) < (radius*radius) );
+    return ( sgdScalarProductVec3(v, v) <= ((radius*radius) +FLT_EPSILON) );
}

but I don't see where setting the lat less then the ground elevation 
has any bearing on this  < this sounds more like a parsing error >

Norman

_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d

Reply via email to