From f368f2811a3f8ca0a4b9572b300358bd17d8dac1 Mon Sep 17 00:00:00 2001 From: nathansmithsmith Date: Wed, 12 Jul 2023 02:33:30 -0600 Subject: Maresciallo added --- src/entities/antifaShip.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'src/entities/antifaShip.c') 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; -- cgit v1.2.3