From 3375d712e40cce1d17198ba20839f58a2a77d202 Mon Sep 17 00:00:00 2001 From: Xander Swan Date: Fri, 5 Dec 2025 09:27:12 -0500 Subject: add platforms and AABB collision --- src/main.odin | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src/main.odin') diff --git a/src/main.odin b/src/main.odin index 95ddbcd..9a9c91c 100644 --- a/src/main.odin +++ b/src/main.odin @@ -18,9 +18,16 @@ import "draw" Vec2 :: [2]f32 +Rect :: struct { + start: Vec2, + size: Vec2, +} + state: struct { player: Player, + platform_list: Entity_List(Platform), + renderer: draw.Renderer, input: Input, @@ -49,6 +56,26 @@ init :: proc "c" () { draw.init(&state.renderer) init_player(&state.player) + + make_platform(Rect{ + start = {50, 50}, + size = {100, 20} + }) + + make_platform(Rect{ + start = {20, 340}, + size = {440, 20} + }) + + make_platform(Rect{ + start = {140, 320}, + size = {20, 20} + }) + + make_platform(Rect{ + start = {240, 280}, + size = {20, 20} + }) } frame :: proc "c" () { @@ -60,6 +87,8 @@ frame :: proc "c" () { draw_player(state.player) + draw_platforms() + draw.end_frame(&state.renderer) free_all(context.temp_allocator) @@ -78,6 +107,8 @@ event :: proc "c" (event: ^sapp.Event) { cleanup :: proc "c" () { context = default_context() sg.shutdown() + + delete_entity_list(state.platform_list) } main :: proc() { -- cgit v1.3-2-g0d8e