summaryrefslogtreecommitdiffhomepage
path: root/src/player.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/player.c')
-rw-r--r--src/player.c59
1 files changed, 46 insertions, 13 deletions
diff --git a/src/player.c b/src/player.c
index 64f12c9..3b30b05 100644
--- a/src/player.c
+++ b/src/player.c
@@ -1,6 +1,7 @@
#include "player.h"
#include "world.h"
#include <fmath.h>
+#include "raymath.h"
void
drawPlayer(Player *player)
@@ -33,26 +34,58 @@ lookThroughPlayer(Camera camera, Player player)
void
movePlayers(void)
{
- float x = inputs_p1.stick_x / 126.0f;
- float y = -inputs_p1.stick_y / 126.0f;
+ float xinput = inputs_p1.stick_x / 126.0f;
+ float yinput = -inputs_p1.stick_y / 126.0f;
+
+ //float distance = sqrtf(xinput * xinput + yinput * yinput);
+ //if(distance == 0)
+ //{
+ // distance = 1;
+ //}
+
+ Vector2 direction = {
+ world.players[0].direction.x,
+ world.players[0].direction.y
+ };
+
+ char text[50];
+
+ sprintf(text, "x: %f", direction.x);
+ DrawText(text, 160, 45, 12, GREEN);
+ sprintf(text, "y: %f", direction.y);
+ DrawText(text, 160, 60, 12, GREEN);
+ sprintf(text, "z: %f", world.players[0].direction.z);
+ DrawText(text, 160, 75, 12, GREEN);
+
+ direction = Vector2Rotate(direction, 0.01745329 * -xinput * 7);
+
+ sprintf(text, "x: %f", direction.x);
+ DrawText(text, 160, 175, 12, GREEN);
+ sprintf(text, "y: %f", direction.y);
+ DrawText(text, 160, 190, 12, GREEN);
+ sprintf(text, "z: %f", world.players[0].direction.z);
+ DrawText(text, 160, 205, 12, GREEN);
+
+ world.players[0].direction.z = yinput;
+ world.players[0].direction.x = direction.x;
+ world.players[0].direction.y = direction.y;
//float x = world.players[0].direction.x;
//float y = world.players[0].direction.z;
- float distance = sqrtf(x * x + y * y);
- if(distance != 0)
- {
- world.players[0].direction.x = x / distance;
- world.players[0].direction.y = y / distance;
- }
+ //if(distance != 0)
+ //{
+ // world.players[0].direction.x = x / distance;
+ // world.players[0].direction.y = y / distance;
+ //}
- world.players[1].direction.y = inputs_p2.stick_x / 126.0f;
- world.players[1].direction.z = -inputs_p2.stick_y / 126.0f;
+ //world.players[1].direction.y = inputs_p2.stick_x / 126.0f;
+ //world.players[1].direction.z = -inputs_p2.stick_y / 126.0f;
- world.players[0].position.x += world.players[0].direction.x * world.players[0].speed;
- world.players[0].position.y += world.players[0].direction.y * world.players[0].speed;
- world.players[0].position.z += world.players[0].direction.z * world.players[0].speed;
+ world.players[0].position.x += world.players[0].direction.x * 0.1f; //* world.players[0].speed;
+ world.players[0].position.y += world.players[0].direction.y * 0.1f; //* world.players[0].speed;
+ world.players[0].position.z += world.players[0].direction.z * 0.1f; //* world.players[0].speed;
world.players[1].position.x += world.players[1].direction.x * world.players[1].speed;
world.players[1].position.y += world.players[1].direction.y * world.players[1].speed;
world.players[1].position.z += world.players[1].direction.z * world.players[1].speed;