aboutsummaryrefslogtreecommitdiff
path: root/src/platform.odin
diff options
context:
space:
mode:
authorXander Swan <no email>2025-12-05 21:31:14 -0500
committerXander Swan <no email>2025-12-05 21:31:14 -0500
commitcb11496752ede6dab15d7ae60e0005e78b77e5bb (patch)
tree5c731a250274bf570a604dfecb6b7ee0209d34cd /src/platform.odin
parent3375d712e40cce1d17198ba20839f58a2a77d202 (diff)
actual physics system
Diffstat (limited to 'src/platform.odin')
-rw-r--r--src/platform.odin9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/platform.odin b/src/platform.odin
index b837355..150d96c 100644
--- a/src/platform.odin
+++ b/src/platform.odin
@@ -1,21 +1,24 @@
package demonchime
import "draw"
+import "phys"
Platform :: struct {
handle: Entity_Handle,
- rect: Rect,
+ body: phys.Body_Handle,
}
make_platform :: proc(rect: Rect) -> (Entity_Handle, ^Platform) {
+ handle, body := phys.make_body(&state.physics_world, transmute(phys.Rect)rect)
return make_entity(&state.platform_list, Platform {
- rect = rect,
+ body = handle,
})
}
draw_platforms :: proc() {
iter := iter_entity_list(state.platform_list)
for p in entity_list_iter(&iter) {
- draw.rect(&state.renderer, cast(draw.Rect)p.rect)
+ body := phys.get_body(state.physics_world, p.body)
+ draw.rect(&state.renderer, cast(draw.Rect)body.rect)
}
}