}
// copy control positions into the LaRCsim structure
- Lat_control = globals->get_controls()->get_aileron() / speed_up->getIntValue();
+ Lat_control = globals->get_controls()->get_aileron() / speed_up->getDoubleValue();
Long_control = globals->get_controls()->get_elevator();
Long_trim = globals->get_controls()->get_elevator_trim();
- Rudder_pedal = globals->get_controls()->get_rudder() / speed_up->getIntValue();
+ Rudder_pedal = globals->get_controls()->get_rudder() / speed_up->getDoubleValue();
// IO360.cxx for the C172 thrust is broken (not sure why).
// So force C172 to use engine model in c172_engine.c instead of the IO360.cxx.
// roundoff problems when we already have nearly accurate values.
// Only the speedup thing must be still handled here
int hz = fgGetInt("/sim/model-hz");
- int multiloop = SGMiscd::roundToInt(dt*hz);
- int speedup = fgGetInt("/sim/speed-up");
- return multiloop * speedup;
+ double speedup = fgGetDouble("/sim/speed-up");
+ double loops = dt * hz * speedup + delta_loops;
+ int iloops = SGMiscd::roundToInt(loops);
+ delta_loops = loops-iloops; // delta_loops required for speed-ups < 1 (to do one iteration every n-th step)
+ return iloops;
}
climb_rate=0;
altitude_agl=0;
track=0;
+ delta_loops = 0.0;
}
void
fgSetString("/sim/flight-model", "jsb");
fgSetString("/sim/aero", "c172");
fgSetInt("/sim/model-hz", NEW_DEFAULT_MODEL_HZ);
- fgSetInt("/sim/speed-up", 1);
+ fgSetDouble("/sim/speed-up", 1.0);
// Rendering options
fgSetString("/sim/rendering/fog", "nicest");
{"aircraft-dir", true, OPTION_IGNORE, "", false, "", 0 },
{"model-hz", true, OPTION_INT, "/sim/model-hz", false, "", 0 },
{"max-fps", true, OPTION_DOUBLE, "/sim/frame-rate-throttle-hz", false, "", 0 },
- {"speed", true, OPTION_INT, "/sim/speed-up", false, "", 0 },
+ {"speed", true, OPTION_DOUBLE, "/sim/speed-up", false, "", 0 },
{"trim", false, OPTION_BOOL, "/sim/presets/trim", true, "", 0 },
{"notrim", false, OPTION_BOOL, "/sim/presets/trim", false, "", 0 },
{"on-ground", false, OPTION_BOOL, "/sim/presets/onground", true, "", 0 },