set_throttle( ALL_ENGINES, 0.0 );
set_starter( ALL_ENGINES, false );
set_magnetos( ALL_ENGINES, 0 );
+ set_fuel_pump( ALL_ENGINES, false );
throttle_idle = true;
set_fuel_selector( ALL_TANKS, true );
gear_down = true;
for ( int engine = 0; engine < MAX_ENGINES; engine++ ) {
throttle[engine] = 0.0;
mixture[engine] = 1.0;
+ fuel_pump[engine] = false;
prop_advance[engine] = 1.0;
magnetos[engine] = 0;
starter[engine] = false;
fgTie(name, this, index,
&FGControls::get_mixture, &FGControls::set_mixture);
fgSetArchivable(name);
+ sprintf(name, "/controls/fuel-pump[%d]", index);
+ fgTie(name, this, index,
+ &FGControls::get_fuel_pump, &FGControls::set_fuel_pump);
+ fgSetArchivable(name);
sprintf(name, "/controls/propeller-pitch[%d]", index);
fgTie(name, this, index,
&FGControls::get_prop_advance, &FGControls::set_prop_advance);
fgUntie(name);
sprintf(name, "/controls/mixture[%d]", index);
fgUntie(name);
+ sprintf(name, "/controls/fuel-pump[%d]", index);
+ fgUntie(name);
sprintf(name, "/controls/propeller-pitch[%d]", index);
fgUntie(name);
sprintf(name, "/controls/magnetos[%d]", index);
}
}
+void
+FGControls::set_fuel_pump( int engine, bool val )
+{
+ if ( engine == ALL_ENGINES ) {
+ for ( int i = 0; i < MAX_ENGINES; i++ ) {
+ fuel_pump[i] = val;
+ }
+ } else {
+ if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
+ fuel_pump[engine] = val;
+ }
+ }
+}
+
void
FGControls::set_prop_advance( int engine, double pos )
{
double flaps;
double throttle[MAX_ENGINES];
double mixture[MAX_ENGINES];
+ bool fuel_pump[MAX_ENGINES];
double prop_advance[MAX_ENGINES];
double parking_brake;
double brake[MAX_WHEELS];
inline double get_flaps() const { return flaps; }
inline double get_throttle(int engine) const { return throttle[engine]; }
inline double get_mixture(int engine) const { return mixture[engine]; }
+ inline bool get_fuel_pump(int engine) const { return fuel_pump[engine]; }
inline double get_prop_advance(int engine) const {
return prop_advance[engine];
}
void move_throttle( int engine, double amt );
void set_mixture( int engine, double pos );
void move_mixture( int engine, double amt );
+ void set_fuel_pump( int engine, bool val );
void set_prop_advance( int engine, double pos );
void move_prop_advance( int engine, double amt );
void set_magnetos( int engine, int pos );