Added debug funcs and struct to game

This commit is contained in:
2026-07-15 08:19:41 +02:00
parent 1f002c3d0e
commit 8149b19d4a
+19 -5
View File
@@ -6,7 +6,8 @@ Game :: struct {
assets: Asset_Manager, assets: Asset_Manager,
camera: rl.Camera2D, camera: rl.Camera2D,
world: rl.RenderTexture2D, world: rl.RenderTexture2D,
player: Player player: Player,
debug: Debug
} }
game_init :: proc() -> Game { game_init :: proc() -> Game {
@@ -20,6 +21,9 @@ game_init :: proc() -> Game {
game.camera = camera_init(game.player, 1) game.camera = camera_init(game.player, 1)
game.world = rl.LoadRenderTexture(GAME_WIDTH, GAME_HEIGHT) game.world = rl.LoadRenderTexture(GAME_WIDTH, GAME_HEIGHT)
// DEBUG
debug_init(&game)
return game return game
} }
@@ -30,14 +34,25 @@ game_should_run :: proc(game: ^Game) -> bool {
game_update :: proc(game: ^Game) { game_update :: proc(game: ^Game) {
update_player(&game.player, &game.assets.player) update_player(&game.player, &game.assets.player)
update_camera(game.player.pos, &game.camera) update_camera(game.player.pos, &game.camera)
// DEBUG
debug_camera_update(&game.debug)
} }
game_draw :: proc(game: ^Game) { game_draw :: proc(game: ^Game) {
cam := game.camera
if game.debug.camera_active {
cam = game.debug.camera
}
rl.BeginTextureMode(game.world) rl.BeginTextureMode(game.world)
rl.ClearBackground(rl.BLACK) rl.ClearBackground(rl.BLACK)
rl.BeginMode2D(game.camera) rl.BeginMode2D(cam)
draw_camera(&game.camera)
renderer_draw_player(&game.player) renderer_draw_player(&game.player)
// DEBUG
debug_camera_draw(&game.camera, game.debug.camera_active)
debug_bounds(game)
rl.EndMode2D() rl.EndMode2D()
rl.EndTextureMode() rl.EndTextureMode()
@@ -62,8 +77,7 @@ game_draw :: proc(game: ^Game) {
rl.WHITE, rl.WHITE,
) )
// Debug functions // DEBUG
// ---------
debug_fps() debug_fps()
rl.EndDrawing() rl.EndDrawing()
} }