Removed incorrect offset calc and added basic lerp to cam.

This commit is contained in:
2026-07-15 08:18:17 +02:00
parent 8c53967e82
commit 99cecd1118
+3 -14
View File
@@ -1,28 +1,17 @@
package game package game
import "core:math/linalg"
import rl "vendor:raylib" import rl "vendor:raylib"
camera_init :: proc(player: Player, camera_zoom: f32) -> rl.Camera2D { camera_init :: proc(player: Player, camera_zoom: f32) -> rl.Camera2D {
offset_adjust := (TILE_SIZE / 2) * camera_zoom
return rl.Camera2D { return rl.Camera2D {
target = player.pos, 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, rotation = 0,
zoom = camera_zoom zoom = camera_zoom
} }
} }
update_camera :: proc(player_pos: rl.Vector2, camera: ^rl.Camera2D) { update_camera :: proc(player_pos: rl.Vector2, camera: ^rl.Camera2D) {
//camera.target = rl.Vector2Lerp(camera.target, player_pos, 0.2) camera.target = linalg.lerp(camera.target, player_pos, 0.18)
camera.target = player_pos
} }
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)
}