fix camera-related bugs

This commit is contained in:
MihailRis 2024-12-11 20:42:59 +03:00
parent 60f2303137
commit 0d071ab014

View File

@ -170,18 +170,21 @@ void CameraControl::update(PlayerInput input, float delta, Chunks* chunks) {
refresh(); refresh();
camera->updateVectors();
if (player->currentCamera == spCamera) { if (player->currentCamera == spCamera) {
spCamera->position = spCamera->position =
chunks->rayCastToObstacle(camera->position, camera->front, 3.0f) - chunks->rayCastToObstacle(camera->position, camera->front, 3.0f) -
0.4f * camera->front; 0.4f * camera->front;
spCamera->dir = -camera->dir; spCamera->dir = -camera->dir;
spCamera->front = -camera->front; spCamera->front = -camera->front;
spCamera->right = -camera->right;
} else if (player->currentCamera == tpCamera) { } else if (player->currentCamera == tpCamera) {
tpCamera->position = tpCamera->position =
chunks->rayCastToObstacle(camera->position, -camera->front, 3.0f) + chunks->rayCastToObstacle(camera->position, -camera->front, 3.0f) +
0.4f * camera->front; 0.4f * camera->front;
tpCamera->dir = camera->dir; tpCamera->dir = camera->dir;
tpCamera->front = camera->front; tpCamera->front = camera->front;
tpCamera->right = camera->right;
} }
if (player->currentCamera == spCamera || if (player->currentCamera == spCamera ||
player->currentCamera == tpCamera || player->currentCamera == camera) { player->currentCamera == tpCamera || player->currentCamera == camera) {