From cb11496752ede6dab15d7ae60e0005e78b77e5bb Mon Sep 17 00:00:00 2001 From: Xander Swan Date: Fri, 5 Dec 2025 21:31:14 -0500 Subject: actual physics system --- src/main.odin | 50 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 5 deletions(-) (limited to 'src/main.odin') diff --git a/src/main.odin b/src/main.odin index 9a9c91c..48bf454 100644 --- a/src/main.odin +++ b/src/main.odin @@ -15,6 +15,7 @@ import stime "shared:sokol/time" import slog "shared:sokol/log" import "draw" +import "phys" Vec2 :: [2]f32 @@ -29,6 +30,7 @@ state: struct { platform_list: Entity_List(Platform), renderer: draw.Renderer, + physics_world: phys.World, input: Input, } @@ -59,23 +61,61 @@ init :: proc "c" () { make_platform(Rect{ start = {50, 50}, - size = {100, 20} + size = {64, 20} + }) + + i := f32(20) + for i < draw.SCREEN_WIDTH - 20 - 64 { + make_platform(Rect{ + start = {i, 340}, + size = {64, 20} + }) + i += 65 + } + // make_platform(Rect{ + // start = {i, 340}, + // size = {20, 20} + // }) + + make_platform(Rect{ + start = {160, 320}, + size = {20, 20} }) make_platform(Rect{ - start = {20, 340}, - size = {440, 20} + start = {240, 280}, + size = {40, 20} }) make_platform(Rect{ - start = {140, 320}, + start = {260, 260}, size = {20, 20} }) make_platform(Rect{ - start = {240, 280}, + start = {300, 220}, + size = {40, 20} + }) + + make_platform(Rect{ + start = {240, 180}, + size = {40, 20} + }) + + make_platform(Rect{ + start = {200, 140}, + size = {40, 20} + }) + + make_platform(Rect{ + start = {180, 100}, size = {20, 20} }) + + make_platform(Rect{ + start = {140, 100}, + size = {16, 16} + }) } frame :: proc "c" () { -- cgit v1.3-2-g0d8e