aboutsummaryrefslogtreecommitdiff
path: root/src/entities/antifaShip.c
diff options
context:
space:
mode:
authornathansmithsmith <thenathansmithsmith@gmail.com>2023-07-12 02:33:30 -0600
committernathansmithsmith <thenathansmithsmith@gmail.com>2023-07-12 02:33:30 -0600
commitf368f2811a3f8ca0a4b9572b300358bd17d8dac1 (patch)
treeb93bda2b6c50c5ce9cb9354be4c24bb0c7123fbf /src/entities/antifaShip.c
parent23be929353d4583edbd8621cd755f8a636c3fd90 (diff)
Maresciallo added
Diffstat (limited to 'src/entities/antifaShip.c')
-rw-r--r--src/entities/antifaShip.c24
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;