> (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

Reply via email to