aboutsummaryrefslogtreecommitdiff
path: root/src/playerCamera.c
diff options
context:
space:
mode:
authornathansmithsmith <thenathansmithsmith@gmail.com>2023-07-20 03:08:57 -0600
committernathansmithsmith <thenathansmithsmith@gmail.com>2023-07-20 03:08:57 -0600
commit43e31b6e124da754ef928d22fbb9a1d7640aab4b (patch)
tree698f723866bd99982a6c606c63cfa0387863e2db /src/playerCamera.c
parentf3f5fedbf591c10fa675a32103bab9480b42abe8 (diff)
New bullet system
Diffstat (limited to 'src/playerCamera.c')
-rw-r--r--src/playerCamera.c27
1 files changed, 10 insertions, 17 deletions
diff --git a/src/playerCamera.c b/src/playerCamera.c
index ded59b7..6b165f3 100644
--- a/src/playerCamera.c
+++ b/src/playerCamera.c
@@ -12,25 +12,18 @@ void initPlayerCamera(Camera3D * camera) {
void updatePlayerCamera(Camera3D * camera, Game * game) {
Entity * player = getEntityFromWorld(game->world, 0);
- camera->target = player->position;
+ Vector3 direction = Vector3RotateByQuaternion((Vector3){0.0, 0.0, 1.0}, player->rotation);
- Matrix m = QuaternionToMatrix(QuaternionInvert(player->rotation));
- Vector3 pos = (Vector3){0.0, CAMERA_DIS/2, -CAMERA_DIS};
+ // Position.
+ camera->position = Vector3Add(player->position, Vector3Scale(direction, CAMERA_DIS));
- camera->position = (Vector3){
- m.m0 * pos.x + m.m1 * pos.y + m.m2 * pos.z,
- m.m4 * pos.x + m.m5 * pos.y + m.m6 * pos.z,
- m.m8 * pos.x + m.m9 * pos.y + m.m10 * pos.z
- };
-
- camera->position = Vector3Add(camera->position, player->position);
+ // Target.
+ camera->target = Vector3Add(camera->position, direction);
- camera->up = (Vector3){
- m.m1 + m.m2,
- m.m5 + m.m6,
- m.m9 + m.m10
- };
+ // Up.
+ camera->up = Vector3RotateByQuaternion((Vector3){0.0, 1.0, 0.0}, player->rotation);
- camera->position = (Vector3){20.0, 20.0, 20.0};
- camera->up = (Vector3){0.0, 1.0, 0.0};
+ //camera->target = player->position;
+ //camera->position = (Vector3){10.0, 10.0, 10.0};
+ //camera->up = (Vector3){0.0, 1.0, 0.0};
}