83 using InputFrame::InputFrame;
96 Action *toggleRotationDamping;
107 Action *toggleSpeedLimiter;
110 Action *toggleLandingGear;
111 Axis *controlLandingGear;
113 void RegisterBindings()
override;
117 struct TotalDesiredAction;
122 void PollControls(
float timeStep,
int *mouseMotion, TotalDesiredAction &outParams);
124 void FlightAssist(
const float timeStep, TotalDesiredAction &outParams);
126 void ApplyTotalAction(
const TotalDesiredAction ¶ms);
128 void OnToggleLandingGear();
129 void UpdateLandingGear();
134 double m_speedLimit = 0.0;
135 bool m_speedLimiterActive =
false;
136 bool IsAnyAngularThrusterKeyDown();
137 bool IsAnyLinearThrusterKeyDown();
139 bool AreControlsLocked();
140 Body *m_combatTarget;
142 Body *m_followTarget;
145 bool m_disableMouseFacing;
146 bool m_rotationDamping;
147 bool m_stickySpeedKey =
false;
152 double m_cruiseSpeed;
155 float m_joystickDeadzone;
156 float m_lowThrustPower;
158 int m_combatTargetIndex;
159 int m_navTargetIndex;
160 int m_followTargetIndex;
nlohmann::json Json
Definition: Json.h:8
FlightControlState
Definition: ShipController.h:16
Definition: PlayerShipController.h:14
void SetFollowMode(FollowMode mode)
Definition: PlayerShipController.h:73
void SetCombatTarget(Body *const target, bool setFollowTo=false)
Definition: PlayerShipController.cpp:963
void SetSpeedLimit(double limit)
Definition: PlayerShipController.h:75
Body * GetCombatTarget() const
Definition: PlayerShipController.cpp:948
void SetFlightControlState(FlightControlState s) override
Definition: PlayerShipController.cpp:738
void SetMouseForRearView(bool enable)
Definition: PlayerShipController.h:33
bool IsSpeedLimiterActive() const
Definition: PlayerShipController.h:78
CruiseDirection GetCruiseDirection() const
Definition: PlayerShipController.h:72
bool GetRotationDamping() const
Definition: PlayerShipController.h:38
PlayerShipController()
Definition: PlayerShipController.cpp:169
void SetRotationDamping(bool enabled)
Definition: PlayerShipController.cpp:763
void ToggleCruise()
Definition: PlayerShipController.cpp:936
vector3d GetMouseViewDir() const
Definition: PlayerShipController.cpp:600
sigc::signal< void > onChangeFlightControlState
Definition: PlayerShipController.h:59
FollowMode
Definition: PlayerShipController.h:66
@ FOLLOW_ORI
Definition: PlayerShipController.h:68
@ FOLLOW_POS
Definition: PlayerShipController.h:67
void SetSpeedLimiterActive(bool active)
Definition: PlayerShipController.h:77
bool IsShipDrifting()
Definition: PlayerShipController.cpp:999
void CycleHostiles()
Definition: PlayerShipController.cpp:930
sigc::signal< void > onChangeTarget
Definition: PlayerShipController.h:58
void SetCruiseDirection(CruiseDirection mode)
Definition: PlayerShipController.cpp:992
void SetDisableMouseFacing(bool disabled)
Definition: PlayerShipController.h:25
sigc::signal< void > onRotationDampingChanged
Definition: PlayerShipController.h:57
void SetFollowTarget(Body *const target)
Definition: PlayerShipController.cpp:978
Body * GetFollowTarget() const override
Definition: PlayerShipController.cpp:958
FlightControlState GetFlightControlState() const override
Definition: PlayerShipController.h:28
void FireMissile()
Definition: PlayerShipController.cpp:776
~PlayerShipController()
Definition: PlayerShipController.cpp:246
Type GetType() override
Definition: PlayerShipController.h:19
Body * GetNavTarget() const
Definition: PlayerShipController.cpp:953
void ToggleRotationDamping()
Definition: PlayerShipController.cpp:771
void LoadFromJson(const Json &jsonObj) override
Definition: PlayerShipController.cpp:268
void SaveToJson(Json &jsonObj, Space *s) override
Definition: PlayerShipController.cpp:251
void StaticUpdate(float timeStep) override
Definition: PlayerShipController.cpp:494
void SetLowThrustPower(float power)
Definition: PlayerShipController.cpp:757
CruiseDirection
Definition: PlayerShipController.h:61
@ CRUISE_FWD
Definition: PlayerShipController.h:62
@ CRUISE_UP
Definition: PlayerShipController.h:63
FollowMode GetFollowMode() const
Definition: PlayerShipController.h:74
void SelectTarget()
Definition: PlayerShipController.cpp:839
double GetCruiseSpeed() const override
Definition: PlayerShipController.h:26
double GetSpeedLimit()
Definition: PlayerShipController.h:76
bool IsMouseActive() const
Definition: PlayerShipController.h:24
float GetLowThrustPower() const
Definition: PlayerShipController.h:35
void PostLoadFixup(Space *s) override
Definition: PlayerShipController.cpp:290
void SetNavTarget(Body *const target)
Definition: PlayerShipController.cpp:972
vector3d GetMouseDir() const
Definition: PlayerShipController.cpp:593
void ChangeCruiseSpeed(double delta) override
Definition: PlayerShipController.h:27
Definition: Propulsion.h:26
Definition: ShipController.h:32
Type
Definition: ShipController.h:35
@ PLAYER
Definition: ShipController.h:37
Definition: ConnectionTicket.h:12