#include "Thruster.hpp"
#include "PropEngine.hpp"
#include "PistonEngine.hpp"
+#include "TurbineEngine.hpp"
#include "Gear.hpp"
+#include "Hook.hpp"
+#include "Launchbar.hpp"
#include "Wing.hpp"
+#include "Rotor.hpp"
#include "Math.hpp"
#include "Propeller.hpp"
+#include "Hitch.hpp"
#include "ControlMap.hpp"
namespace yasim {
switch(o->type) {
case THROTTLE: ((Thruster*)obj)->setThrottle(lval); break;
case MIXTURE: ((Thruster*)obj)->setMixture(lval); break;
+ case CONDLEVER: ((TurbineEngine*)((PropEngine*)
+ obj)->getEngine())->setCondLever(lval); break;
case STARTER: ((Thruster*)obj)->setStarter(lval != 0.0); break;
case MAGNETOS: ((PropEngine*)obj)->setMagnetos((int)lval); break;
case ADVANCE: ((PropEngine*)obj)->setAdvance(lval); break;
- case PROPPITCH: ((PropEngine*)obj)->setPropPitch(lval); break;
+ case PROPPITCH: ((PropEngine*)obj)->setPropPitch(lval); break;
+ case PROPFEATHER: ((PropEngine*)obj)->setPropFeather((int)lval); break;
case REHEAT: ((Jet*)obj)->setReheat(lval); break;
case VECTOR: ((Jet*)obj)->setRotation(lval); break;
case BRAKE: ((Gear*)obj)->setBrake(lval); break;
case STEER: ((Gear*)obj)->setRotation(lval); break;
case EXTEND: ((Gear*)obj)->setExtension(lval); break;
+ case HEXTEND: ((Hook*)obj)->setExtension(lval); break;
+ case LEXTEND: ((Launchbar*)obj)->setExtension(lval); break;
+ case LACCEL: ((Launchbar*)obj)->setAcceleration(lval); break;
case CASTERING:((Gear*)obj)->setCastering(lval != 0); break;
case SLAT: ((Wing*)obj)->setSlat(lval); break;
case FLAP0: ((Wing*)obj)->setFlap0(lval, rval); break;
+ case FLAP0EFFECTIVENESS: ((Wing*)obj)->setFlap0Effectiveness(lval); break;
case FLAP1: ((Wing*)obj)->setFlap1(lval, rval); break;
+ case FLAP1EFFECTIVENESS: ((Wing*)obj)->setFlap1Effectiveness(lval); break;
case SPOILER: ((Wing*)obj)->setSpoiler(lval, rval); break;
+ case COLLECTIVE: ((Rotor*)obj)->setCollective(lval); break;
+ case CYCLICAIL: ((Rotor*)obj)->setCyclicail(lval,rval); break;
+ case CYCLICELE: ((Rotor*)obj)->setCyclicele(lval,rval); break;
+ case TILTPITCH: ((Rotor*)obj)->setTiltPitch(lval); break;
+ case TILTYAW: ((Rotor*)obj)->setTiltYaw(lval); break;
+ case TILTROLL: ((Rotor*)obj)->setTiltRoll(lval); break;
+ case ROTORBALANCE:
+ ((Rotor*)obj)->setRotorBalance(lval); break;
+ case ROTORBRAKE: ((Rotorgear*)obj)->setRotorBrake(lval); break;
+ case ROTORENGINEON:
+ ((Rotorgear*)obj)->setEngineOn((int)lval); break;
+ case ROTORENGINEMAXRELTORQUE:
+ ((Rotorgear*)obj)->setRotorEngineMaxRelTorque(lval); break;
+ case ROTORRELTARGET:
+ ((Rotorgear*)obj)->setRotorRelTarget(lval); break;
+ case REVERSE_THRUST: ((Jet*)obj)->setReverse(lval != 0); break;
case BOOST:
- ((Thruster*)obj)->getPistonEngine()->setBoost(lval);
+ ((PistonEngine*)((Thruster*)obj)->getEngine())->setBoost(lval);
break;
+ case WASTEGATE:
+ ((PistonEngine*)((Thruster*)obj)->getEngine())->setWastegate(lval);
+ break;
+ case WINCHRELSPEED: ((Hitch*)obj)->setWinchRelSpeed(lval); break;
+ case HITCHOPEN: ((Hitch*)obj)->setOpen(lval!=0); break;
+ case PLACEWINCH: ((Hitch*)obj)->setWinchPositionAuto(lval!=0); break;
+ case FINDAITOW: ((Hitch*)obj)->findBestAIObject(lval!=0); break;
}
}
}
case FLAP0: return -1; // [-1:1]
case FLAP1: return -1;
case STEER: return -1;
+ case CYCLICELE: return -1;
+ case CYCLICAIL: return -1;
+ case COLLECTIVE: return -1;
+ case WINCHRELSPEED: return -1;
case MAGNETOS: return 0; // [0:3]
+ case FLAP0EFFECTIVENESS: return 1; // [0:10]
+ case FLAP1EFFECTIVENESS: return 1; // [0:10]
default: return 0; // [0:1]
}
}
case FLAP1: return 1;
case STEER: return 1;
case MAGNETOS: return 3; // [0:3]
+ case FLAP0EFFECTIVENESS: return 10;// [0:10]
+ case FLAP1EFFECTIVENESS: return 10;// [0:10]
default: return 1; // [0:1]
}
}