> (2) I don't allow multiloop to become higher than, currently, 80. > > > diff -u -p -r1.20 flight.cxx > --- flight.cxx 22 Nov 2004 10:10:33 -0000 1.20 > +++ flight.cxx 26 May 2005 05:07:44 -0000 > @@ -83,7 +83,13 @@ FGInterface::_calc_multiloop (double dt) > // ... ok, two times the roundoff to have enough room. > int multiloop = int(floor(ml * (1.0 + 2.0*DBL_EPSILON))); > remainder = (ml - multiloop) / hz; > - return (multiloop * speedup); > + > + int result = multiloop * speedup; > + if (result > 80) { > + fprintf(stderr, "\033[31;1m_calc_multiloop=%d\033[m\n", result); > + return 80; > + } > + return result; > }
I tried your fix above and it didn't work for me :( Here's a fix that I just tried and it works for me. In JSBSim.cxx, line about number 423, I just commented out the return statement, so the FDM can continue no matter what happens with the ground cache. if (!cache_ok) { SG_LOG(SG_FLIGHT, SG_WARN, "FGInterface is beeing called without scenery below the aircraft!"); //return; } No more freezes now :) Dave _______________________________________________ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d