Added /controls/parking-brake and moved all control setters into the
cxx file (getters are still inline).
This commit is contained in:
parent
3bb69f35d1
commit
4d7fda6e75
2 changed files with 358 additions and 220 deletions
|
@ -27,6 +27,30 @@
|
|||
#include <Main/fg_props.hxx>
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// Inline utility methods.
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static inline void
|
||||
CLAMP(double *x, double min, double max )
|
||||
{
|
||||
if ( *x < min ) { *x = min; }
|
||||
if ( *x > max ) { *x = max; }
|
||||
}
|
||||
|
||||
static inline void
|
||||
CLAMP(int *i, int min, int max )
|
||||
{
|
||||
if ( *i < min ) { *i = min; }
|
||||
if ( *i > max ) { *i = max; }
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// Implementation of FGControls.
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Constructor
|
||||
FGControls::FGControls() :
|
||||
aileron( 0.0 ),
|
||||
|
@ -128,6 +152,9 @@ FGControls::bind ()
|
|||
&FGControls::get_starter, &FGControls::set_starter);
|
||||
fgSetArchivable(name);
|
||||
}
|
||||
fgTie("/controls/parking-brake", this,
|
||||
&FGControls::get_parking_brake, &FGControls::set_parking_brake);
|
||||
fgSetArchivable("/controls/parking-brake");
|
||||
for (index = 0; index < MAX_WHEELS; index++) {
|
||||
char name[32];
|
||||
sprintf(name, "/controls/brakes[%d]", index);
|
||||
|
@ -180,3 +207,305 @@ FGControls::update (int dt)
|
|||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// Setters and adjusters.
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void
|
||||
FGControls::set_aileron (double pos)
|
||||
{
|
||||
aileron = pos;
|
||||
CLAMP( &aileron, -1.0, 1.0 );
|
||||
|
||||
// check for autocoordination
|
||||
if ( auto_coordination->getBoolValue() ) {
|
||||
set_rudder( aileron / 2.0 );
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::move_aileron (double amt)
|
||||
{
|
||||
aileron += amt;
|
||||
CLAMP( &aileron, -1.0, 1.0 );
|
||||
|
||||
// check for autocoordination
|
||||
if ( auto_coordination->getBoolValue() ) {
|
||||
set_rudder( aileron / 2.0 );
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::set_aileron_trim( double pos )
|
||||
{
|
||||
aileron_trim = pos;
|
||||
CLAMP( &aileron_trim, -1.0, 1.0 );
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::move_aileron_trim( double amt )
|
||||
{
|
||||
aileron_trim += amt;
|
||||
CLAMP( &aileron_trim, -1.0, 1.0 );
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::set_elevator( double pos )
|
||||
{
|
||||
elevator = pos;
|
||||
CLAMP( &elevator, -1.0, 1.0 );
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::move_elevator( double amt )
|
||||
{
|
||||
elevator += amt;
|
||||
CLAMP( &elevator, -1.0, 1.0 );
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::set_elevator_trim( double pos )
|
||||
{
|
||||
elevator_trim = pos;
|
||||
CLAMP( &elevator_trim, -1.0, 1.0 );
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::move_elevator_trim( double amt )
|
||||
{
|
||||
elevator_trim += amt;
|
||||
CLAMP( &elevator_trim, -1.0, 1.0 );
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::set_rudder( double pos )
|
||||
{
|
||||
rudder = pos;
|
||||
CLAMP( &rudder, -1.0, 1.0 );
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::move_rudder( double amt )
|
||||
{
|
||||
rudder += amt;
|
||||
CLAMP( &rudder, -1.0, 1.0 );
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::set_rudder_trim( double pos )
|
||||
{
|
||||
rudder_trim = pos;
|
||||
CLAMP( &rudder_trim, -1.0, 1.0 );
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::move_rudder_trim( double amt )
|
||||
{
|
||||
rudder_trim += amt;
|
||||
CLAMP( &rudder_trim, -1.0, 1.0 );
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::set_flaps( double pos )
|
||||
{
|
||||
flaps = pos;
|
||||
CLAMP( &flaps, 0.0, 1.0 );
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::move_flaps( double amt )
|
||||
{
|
||||
flaps += amt;
|
||||
CLAMP( &flaps, 0.0, 1.0 );
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::set_throttle( int engine, double pos )
|
||||
{
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
throttle[i] = pos;
|
||||
CLAMP( &throttle[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
throttle[engine] = pos;
|
||||
CLAMP( &throttle[engine], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::move_throttle( int engine, double amt )
|
||||
{
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
throttle[i] += amt;
|
||||
CLAMP( &throttle[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
throttle[engine] += amt;
|
||||
CLAMP( &throttle[engine], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::set_mixture( int engine, double pos )
|
||||
{
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
mixture[i] = pos;
|
||||
CLAMP( &mixture[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
mixture[engine] = pos;
|
||||
CLAMP( &mixture[engine], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::move_mixture( int engine, double amt )
|
||||
{
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
mixture[i] += amt;
|
||||
CLAMP( &mixture[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
mixture[engine] += amt;
|
||||
CLAMP( &mixture[engine], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::set_prop_advance( int engine, double pos )
|
||||
{
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
prop_advance[i] = pos;
|
||||
CLAMP( &prop_advance[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
prop_advance[engine] = pos;
|
||||
CLAMP( &prop_advance[engine], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::move_prop_advance( int engine, double amt )
|
||||
{
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
prop_advance[i] += amt;
|
||||
CLAMP( &prop_advance[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
prop_advance[engine] += amt;
|
||||
CLAMP( &prop_advance[engine], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::set_magnetos( int engine, int pos )
|
||||
{
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
magnetos[i] = pos;
|
||||
CLAMP( &magnetos[i], 0, 3 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
magnetos[engine] = pos;
|
||||
CLAMP( &magnetos[engine], 0, 3 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::move_magnetos( int engine, int amt )
|
||||
{
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
magnetos[i] += amt;
|
||||
CLAMP( &magnetos[i], 0, 3 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
magnetos[engine] += amt;
|
||||
CLAMP( &magnetos[engine], 0, 3 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::set_starter( int engine, bool flag )
|
||||
{
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
starter[i] = flag;
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
starter[engine] = flag;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::set_parking_brake( double pos )
|
||||
{
|
||||
parking_brake = pos;
|
||||
CLAMP(&parking_brake, 0.0, 1.0);
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::set_brake( int wheel, double pos )
|
||||
{
|
||||
if ( wheel == ALL_WHEELS ) {
|
||||
for ( int i = 0; i < MAX_WHEELS; i++ ) {
|
||||
brake[i] = pos;
|
||||
CLAMP( &brake[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (wheel >= 0) && (wheel < MAX_WHEELS) ) {
|
||||
brake[wheel] = pos;
|
||||
CLAMP( &brake[wheel], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::move_brake( int wheel, double amt )
|
||||
{
|
||||
if ( wheel == ALL_WHEELS ) {
|
||||
for ( int i = 0; i < MAX_WHEELS; i++ ) {
|
||||
brake[i] += amt;
|
||||
CLAMP( &brake[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (wheel >= 0) && (wheel < MAX_WHEELS) ) {
|
||||
brake[wheel] += amt;
|
||||
CLAMP( &brake[wheel], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
FGControls::set_gear_down( bool gear )
|
||||
{
|
||||
gear_down = gear;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -65,6 +65,7 @@ private:
|
|||
double throttle[MAX_ENGINES];
|
||||
double mixture[MAX_ENGINES];
|
||||
double prop_advance[MAX_ENGINES];
|
||||
double parking_brake;
|
||||
double brake[MAX_WHEELS];
|
||||
int magnetos[MAX_ENGINES];
|
||||
bool throttle_idle;
|
||||
|
@ -73,16 +74,6 @@ private:
|
|||
|
||||
SGPropertyNode * auto_coordination;
|
||||
|
||||
inline void CLAMP(double *x, double min, double max ) {
|
||||
if ( *x < min ) { *x = min; }
|
||||
if ( *x > max ) { *x = max; }
|
||||
}
|
||||
|
||||
inline void CLAMP(int *i, int min, int max ) {
|
||||
if ( *i < min ) { *i = min; }
|
||||
if ( *i > max ) { *i = max; }
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
FGControls();
|
||||
|
@ -110,222 +101,40 @@ public:
|
|||
inline double get_prop_advance(int engine) const {
|
||||
return prop_advance[engine];
|
||||
}
|
||||
inline double get_parking_brake() const { return parking_brake; }
|
||||
inline double get_brake(int wheel) const { return brake[wheel]; }
|
||||
inline int get_magnetos(int engine) const { return magnetos[engine]; }
|
||||
inline bool get_starter(int engine) const { return starter[engine]; }
|
||||
inline bool get_gear_down() const { return gear_down; }
|
||||
|
||||
// Update functions
|
||||
inline void set_aileron( double pos ) {
|
||||
aileron = pos;
|
||||
CLAMP( &aileron, -1.0, 1.0 );
|
||||
|
||||
// check for autocoordination
|
||||
if ( auto_coordination->getBoolValue() )
|
||||
{
|
||||
set_rudder( aileron / 2.0 );
|
||||
}
|
||||
}
|
||||
inline void move_aileron( double amt ) {
|
||||
aileron += amt;
|
||||
CLAMP( &aileron, -1.0, 1.0 );
|
||||
|
||||
// check for autocoordination
|
||||
if ( auto_coordination->getBoolValue() )
|
||||
{
|
||||
set_rudder( aileron / 2.0 );
|
||||
}
|
||||
}
|
||||
inline void set_aileron_trim( double pos ) {
|
||||
aileron_trim = pos;
|
||||
CLAMP( &aileron_trim, -1.0, 1.0 );
|
||||
}
|
||||
inline void move_aileron_trim( double amt ) {
|
||||
aileron_trim += amt;
|
||||
CLAMP( &aileron_trim, -1.0, 1.0 );
|
||||
}
|
||||
inline void set_elevator( double pos ) {
|
||||
elevator = pos;
|
||||
CLAMP( &elevator, -1.0, 1.0 );
|
||||
}
|
||||
inline void move_elevator( double amt ) {
|
||||
elevator += amt;
|
||||
CLAMP( &elevator, -1.0, 1.0 );
|
||||
}
|
||||
inline void set_elevator_trim( double pos ) {
|
||||
elevator_trim = pos;
|
||||
CLAMP( &elevator_trim, -1.0, 1.0 );
|
||||
}
|
||||
inline void move_elevator_trim( double amt ) {
|
||||
elevator_trim += amt;
|
||||
CLAMP( &elevator_trim, -1.0, 1.0 );
|
||||
}
|
||||
inline void set_rudder( double pos ) {
|
||||
rudder = pos;
|
||||
CLAMP( &rudder, -1.0, 1.0 );
|
||||
}
|
||||
inline void move_rudder( double amt ) {
|
||||
rudder += amt;
|
||||
CLAMP( &rudder, -1.0, 1.0 );
|
||||
}
|
||||
inline void set_rudder_trim( double pos ) {
|
||||
rudder_trim = pos;
|
||||
CLAMP( &rudder_trim, -1.0, 1.0 );
|
||||
}
|
||||
inline void move_rudder_trim( double amt ) {
|
||||
rudder_trim += amt;
|
||||
CLAMP( &rudder_trim, -1.0, 1.0 );
|
||||
}
|
||||
inline void set_flaps( double pos ) {
|
||||
flaps = pos;
|
||||
CLAMP( &flaps, 0.0, 1.0 );
|
||||
}
|
||||
inline void move_flaps( double amt ) {
|
||||
flaps += amt;
|
||||
CLAMP( &flaps, 0.0, 1.0 );
|
||||
}
|
||||
inline void set_throttle( int engine, double pos ) {
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
throttle[i] = pos;
|
||||
CLAMP( &throttle[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
throttle[engine] = pos;
|
||||
CLAMP( &throttle[engine], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
inline void move_throttle( int engine, double amt ) {
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
throttle[i] += amt;
|
||||
CLAMP( &throttle[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
throttle[engine] += amt;
|
||||
CLAMP( &throttle[engine], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
inline void set_mixture( int engine, double pos ) {
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
mixture[i] = pos;
|
||||
CLAMP( &mixture[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
mixture[engine] = pos;
|
||||
CLAMP( &mixture[engine], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
inline void move_mixture( int engine, double amt ) {
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
mixture[i] += amt;
|
||||
CLAMP( &mixture[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
mixture[engine] += amt;
|
||||
CLAMP( &mixture[engine], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
inline void set_prop_advance( int engine, double pos ) {
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
prop_advance[i] = pos;
|
||||
CLAMP( &prop_advance[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
prop_advance[engine] = pos;
|
||||
CLAMP( &prop_advance[engine], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
inline void move_prop_advance( int engine, double amt ) {
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
prop_advance[i] += amt;
|
||||
CLAMP( &prop_advance[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
prop_advance[engine] += amt;
|
||||
CLAMP( &prop_advance[engine], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
inline void set_magnetos( int engine, int pos ) {
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
magnetos[i] = pos;
|
||||
CLAMP( &magnetos[i], 0, 3 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
magnetos[engine] = pos;
|
||||
CLAMP( &magnetos[engine], 0, 3 );
|
||||
}
|
||||
}
|
||||
}
|
||||
inline void move_magnetos( int engine, int amt ) {
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
magnetos[i] += amt;
|
||||
CLAMP( &magnetos[i], 0, 3 );
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
magnetos[engine] += amt;
|
||||
CLAMP( &magnetos[engine], 0, 3 );
|
||||
}
|
||||
}
|
||||
}
|
||||
inline void set_starter( int engine, bool flag ) {
|
||||
if ( engine == ALL_ENGINES ) {
|
||||
for ( int i = 0; i < MAX_ENGINES; i++ ) {
|
||||
starter[i] = flag;
|
||||
}
|
||||
} else {
|
||||
if ( (engine >= 0) && (engine < MAX_ENGINES) ) {
|
||||
starter[engine] = flag;
|
||||
}
|
||||
}
|
||||
}
|
||||
inline void set_brake( int wheel, double pos ) {
|
||||
if ( wheel == ALL_WHEELS ) {
|
||||
for ( int i = 0; i < MAX_WHEELS; i++ ) {
|
||||
brake[i] = pos;
|
||||
CLAMP( &brake[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (wheel >= 0) && (wheel < MAX_WHEELS) ) {
|
||||
brake[wheel] = pos;
|
||||
CLAMP( &brake[wheel], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
inline void move_brake( int wheel, double amt ) {
|
||||
if ( wheel == ALL_WHEELS ) {
|
||||
for ( int i = 0; i < MAX_WHEELS; i++ ) {
|
||||
brake[i] += amt;
|
||||
CLAMP( &brake[i], 0.0, 1.0 );
|
||||
}
|
||||
} else {
|
||||
if ( (wheel >= 0) && (wheel < MAX_WHEELS) ) {
|
||||
brake[wheel] += amt;
|
||||
CLAMP( &brake[wheel], 0.0, 1.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
inline void set_gear_down( bool gear ) { gear_down = gear; }
|
||||
void set_aileron( double pos );
|
||||
void move_aileron( double amt );
|
||||
void set_aileron_trim( double pos );
|
||||
void move_aileron_trim( double amt );
|
||||
void set_elevator( double pos );
|
||||
void move_elevator( double amt );
|
||||
void set_elevator_trim( double pos );
|
||||
void move_elevator_trim( double amt );
|
||||
void set_rudder( double pos );
|
||||
void move_rudder( double amt );
|
||||
void set_rudder_trim( double pos );
|
||||
void move_rudder_trim( double amt );
|
||||
void set_flaps( double pos );
|
||||
void move_flaps( double amt );
|
||||
void set_throttle( int engine, double pos );
|
||||
void move_throttle( int engine, double amt );
|
||||
void set_mixture( int engine, double pos );
|
||||
void move_mixture( int engine, double amt );
|
||||
void set_prop_advance( int engine, double pos );
|
||||
void move_prop_advance( int engine, double amt );
|
||||
void set_magnetos( int engine, int pos );
|
||||
void move_magnetos( int engine, int amt );
|
||||
void set_starter( int engine, bool flag );
|
||||
void set_parking_brake( double pos );
|
||||
void set_brake( int wheel, double pos );
|
||||
void move_brake( int wheel, double amt );
|
||||
void set_gear_down( bool gear );
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue