diff options
author | nathansmithsmith <thenathansmithsmith@gmail.com> | 2023-07-12 02:33:30 -0600 |
---|---|---|
committer | nathansmithsmith <thenathansmithsmith@gmail.com> | 2023-07-12 02:33:30 -0600 |
commit | f368f2811a3f8ca0a4b9572b300358bd17d8dac1 (patch) | |
tree | b93bda2b6c50c5ce9cb9354be4c24bb0c7123fbf /src/entities/antifaShip.c | |
parent | 23be929353d4583edbd8621cd755f8a636c3fd90 (diff) |
Maresciallo added
Diffstat (limited to 'src/entities/antifaShip.c')
-rw-r--r-- | src/entities/antifaShip.c | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/entities/antifaShip.c b/src/entities/antifaShip.c index f102f6c..c2e292a 100644 --- a/src/entities/antifaShip.c +++ b/src/entities/antifaShip.c @@ -1,5 +1,6 @@ #include "antifaShip.h" #include "game.h" +#include "settings.h" // TODO: Get rid of some magic numbers. @@ -33,14 +34,25 @@ void closeAntifaShip(Entity * entity) { } void controlAntifaShipJoystick(Game * game, Entity * entity) { + Settings settings = game->settings; + int gamePadNum = settings.gamePadNum; + + // Get joystick values. + float pitchStick = GetGamepadAxisMovement(gamePadNum, settings.pitchStick); + float yawStick = GetGamepadAxisMovement(gamePadNum, settings.yawStick); + float rollStick = GetGamepadAxisMovement(gamePadNum, settings.rollStick); + float speedStick = GetGamepadAxisMovement(gamePadNum, settings.speedStick); + Vector3 stick = (Vector3){ - GetGamepadAxisMovement(0, 1), - -GetGamepadAxisMovement(0, 0), - GetGamepadAxisMovement(0, 2) * 0.25 + pitchStick, + -yawStick, + rollStick }; - stick = Vector3Scale(stick, 0.5); - entityJoystickControl(entity, stick, fabs(GetGamepadAxisMovement(0, 3) * 300.0)); + stick = Vector3Scale(stick, settings.joystickSensitivity); + float speed = fabs(speedStick * ANTIFA_SHIP_MAX_SPEED); + + entityJoystickControl(entity, stick, speed); } void controlAntifaShipKeyboardAndMouse(Game * game, Entity * entity) { @@ -54,6 +66,8 @@ void controlAntifaShipKeyboardAndMouse(Game * game, Entity * entity) { if (data->forwardSpeed < 0.0) data->forwardSpeed = 0.0; + else if (data->forwardSpeed > ANTIFA_SHIP_MAX_SPEED) + data->forwardSpeed = ANTIFA_SHIP_MAX_SPEED; Vector2 v = Vector2Subtract(mouse, data->lastMouse); data->lastMouse = mouse; |