80 using InputFrame::InputFrame;
93 Action *toggleRotationDamping;
104 Action *toggleSpeedLimiter;
107 Action *toggleLandingGear;
108 Axis *controlLandingGear;
110 void RegisterBindings()
override;
114 struct TotalDesiredAction;
119 void PollControls(
float timeStep,
int *mouseMotion, TotalDesiredAction &outParams);
121 void FlightAssist(
const float timeStep, TotalDesiredAction &outParams);
123 void ApplyTotalAction(
const TotalDesiredAction ¶ms);
125 void OnToggleLandingGear();
126 void UpdateLandingGear();
131 double m_speedLimit = 0.0;
132 bool m_speedLimiterActive =
false;
133 bool IsAnyAngularThrusterKeyDown();
134 bool IsAnyLinearThrusterKeyDown();
136 bool AreControlsLocked();
137 Body *m_combatTarget;
139 Body *m_followTarget;
142 bool m_disableMouseFacing;
143 bool m_rotationDamping;
144 bool m_stickySpeedKey =
false;
149 double m_cruiseSpeed;
152 float m_joystickDeadzone;
153 float m_lowThrustPower;
155 int m_combatTargetIndex;
156 int m_navTargetIndex;
157 int m_followTargetIndex;
nlohmann::json Json
Definition Json.h:8
FlightControlState
Definition ShipController.h:16
Definition PlayerShipController.h:11
void SetFollowMode(FollowMode mode)
Definition PlayerShipController.h:70
void SetCombatTarget(Body *const target, bool setFollowTo=false)
Definition PlayerShipController.cpp:964
void SetSpeedLimit(double limit)
Definition PlayerShipController.h:72
Body * GetCombatTarget() const
Definition PlayerShipController.cpp:949
void SetFlightControlState(FlightControlState s) override
Definition PlayerShipController.cpp:739
void SetMouseForRearView(bool enable)
Definition PlayerShipController.h:30
bool IsSpeedLimiterActive() const
Definition PlayerShipController.h:75
CruiseDirection GetCruiseDirection() const
Definition PlayerShipController.h:69
bool GetRotationDamping() const
Definition PlayerShipController.h:35
PlayerShipController()
Definition PlayerShipController.cpp:168
void SetRotationDamping(bool enabled)
Definition PlayerShipController.cpp:764
void ToggleCruise()
Definition PlayerShipController.cpp:937
vector3d GetMouseViewDir() const
Definition PlayerShipController.cpp:601
sigc::signal< void > onChangeFlightControlState
Definition PlayerShipController.h:56
FollowMode
Definition PlayerShipController.h:63
@ FOLLOW_ORI
Definition PlayerShipController.h:65
@ FOLLOW_POS
Definition PlayerShipController.h:64
void SetSpeedLimiterActive(bool active)
Definition PlayerShipController.h:74
bool IsShipDrifting()
Definition PlayerShipController.cpp:1000
void CycleHostiles()
Definition PlayerShipController.cpp:931
sigc::signal< void > onChangeTarget
Definition PlayerShipController.h:55
void SetCruiseDirection(CruiseDirection mode)
Definition PlayerShipController.cpp:993
void SetDisableMouseFacing(bool disabled)
Definition PlayerShipController.h:22
sigc::signal< void > onRotationDampingChanged
Definition PlayerShipController.h:54
void SetFollowTarget(Body *const target)
Definition PlayerShipController.cpp:979
Body * GetFollowTarget() const override
Definition PlayerShipController.cpp:959
FlightControlState GetFlightControlState() const override
Definition PlayerShipController.h:25
void FireMissile()
Definition PlayerShipController.cpp:777
~PlayerShipController()
Definition PlayerShipController.cpp:245
Type GetType() override
Definition PlayerShipController.h:16
Body * GetNavTarget() const
Definition PlayerShipController.cpp:954
void ToggleRotationDamping()
Definition PlayerShipController.cpp:772
void LoadFromJson(const Json &jsonObj) override
Definition PlayerShipController.cpp:267
void SaveToJson(Json &jsonObj, Space *s) override
Definition PlayerShipController.cpp:250
void StaticUpdate(float timeStep) override
Definition PlayerShipController.cpp:493
void SetLowThrustPower(float power)
Definition PlayerShipController.cpp:758
CruiseDirection
Definition PlayerShipController.h:58
@ CRUISE_FWD
Definition PlayerShipController.h:59
@ CRUISE_UP
Definition PlayerShipController.h:60
FollowMode GetFollowMode() const
Definition PlayerShipController.h:71
void SelectTarget()
Definition PlayerShipController.cpp:840
double GetCruiseSpeed() const override
Definition PlayerShipController.h:23
double GetSpeedLimit()
Definition PlayerShipController.h:73
bool IsMouseActive() const
Definition PlayerShipController.h:21
float GetLowThrustPower() const
Definition PlayerShipController.h:32
void PostLoadFixup(Space *s) override
Definition PlayerShipController.cpp:289
void SetNavTarget(Body *const target)
Definition PlayerShipController.cpp:973
vector3d GetMouseDir() const
Definition PlayerShipController.cpp:594
void ChangeCruiseSpeed(double delta) override
Definition PlayerShipController.h:24
Definition Propulsion.h:25
Definition ShipController.h:32
Type
Definition ShipController.h:35
@ PLAYER
Definition ShipController.h:37
Definition ConnectionTicket.h:12