|
@@ -423,10 +423,10 @@ void UpdateCamera(Camera *camera, int mode)
|
|
if (mode == CAMERA_ORBITAL)
|
|
if (mode == CAMERA_ORBITAL)
|
|
{
|
|
{
|
|
// Orbital can just orbit
|
|
// Orbital can just orbit
|
|
- Matrix rotatation = MatrixRotate(GetCameraUp(camera), CAMERA_ORBITAL_SPEED*GetFrameTime());
|
|
|
|
- Vector3 viewVector = Vector3Subtract(camera->position, camera->target);
|
|
|
|
- viewVector = Vector3Transform(viewVector, rotatation);
|
|
|
|
- camera->position = Vector3Add(camera->target, viewVector);
|
|
|
|
|
|
+ Matrix rotation = MatrixRotate(GetCameraUp(camera), CAMERA_ORBITAL_SPEED*GetFrameTime());
|
|
|
|
+ Vector3 view = Vector3Subtract(camera->position, camera->target);
|
|
|
|
+ view = Vector3Transform(view, rotation);
|
|
|
|
+ camera->position = Vector3Add(camera->target, view);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -438,8 +438,8 @@ void UpdateCamera(Camera *camera, int mode)
|
|
if (IsKeyDown(KEY_Q)) CameraRoll(camera, -CAMERA_ROTATION_SPEED);
|
|
if (IsKeyDown(KEY_Q)) CameraRoll(camera, -CAMERA_ROTATION_SPEED);
|
|
if (IsKeyDown(KEY_E)) CameraRoll(camera, CAMERA_ROTATION_SPEED);
|
|
if (IsKeyDown(KEY_E)) CameraRoll(camera, CAMERA_ROTATION_SPEED);
|
|
|
|
|
|
- CameraYaw(camera, -mousePositionDelta.x * CAMERA_MOUSE_MOVE_SENSITIVITY, rotateAroundTarget);
|
|
|
|
- CameraPitch(camera, -mousePositionDelta.y * CAMERA_MOUSE_MOVE_SENSITIVITY, lockView, rotateAroundTarget, rotateUp);
|
|
|
|
|
|
+ CameraYaw(camera, -mousePositionDelta.x*CAMERA_MOUSE_MOVE_SENSITIVITY, rotateAroundTarget);
|
|
|
|
+ CameraPitch(camera, -mousePositionDelta.y*CAMERA_MOUSE_MOVE_SENSITIVITY, lockView, rotateAroundTarget, rotateUp);
|
|
|
|
|
|
// Camera movement
|
|
// Camera movement
|
|
if (IsKeyDown(KEY_W)) CameraMoveForward(camera, CAMERA_MOVE_SPEED, moveInWorldPlane);
|
|
if (IsKeyDown(KEY_W)) CameraMoveForward(camera, CAMERA_MOVE_SPEED, moveInWorldPlane);
|