From 99cecd1118f248d45d0db2bf25113f7fc2522e0c Mon Sep 17 00:00:00 2001 From: Jason Hilder Date: Wed, 15 Jul 2026 08:18:17 +0200 Subject: [PATCH] Removed incorrect offset calc and added basic lerp to cam. --- src/camera.odin | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/src/camera.odin b/src/camera.odin index e9caef7..04e0928 100644 --- a/src/camera.odin +++ b/src/camera.odin @@ -1,28 +1,17 @@ package game +import "core:math/linalg" import rl "vendor:raylib" camera_init :: proc(player: Player, camera_zoom: f32) -> rl.Camera2D { - offset_adjust := (TILE_SIZE / 2) * camera_zoom - return rl.Camera2D { target = player.pos, - offset = rl.Vector2{ f32(GAME_WIDTH/2 - offset_adjust), f32(GAME_HEIGHT/2 - offset_adjust) }, + offset = rl.Vector2{ f32(GAME_WIDTH/2), f32(GAME_HEIGHT/2) }, rotation = 0, zoom = camera_zoom } } update_camera :: proc(player_pos: rl.Vector2, camera: ^rl.Camera2D) { - //camera.target = rl.Vector2Lerp(camera.target, player_pos, 0.2) - camera.target = player_pos + camera.target = linalg.lerp(camera.target, player_pos, 0.18) } - -draw_camera :: proc(camera: ^rl.Camera2D) { - view_width := GAME_WIDTH / camera.zoom - view_height := GAME_HEIGHT / camera.zoom - - top_left := camera.target - rl.Vector2{ f32(view_width)/2, f32(view_height)/2 } - - rl.DrawRectangleLines(i32(top_left.x), i32(top_left.y), i32(view_width), i32(view_height), rl.RED) -} \ No newline at end of file