]> git.lizzy.rs Git - nothing.git/blobdiff - src/game/level/physical_world.c
(#639) Make rigid bodies interact with platforms
[nothing.git] / src / game / level / physical_world.c
index 73a7738b9099bd93336b3d335daddb0144738182..6b26a67d8ad270fb55d8f5f289f28a0391f60ff9 100644 (file)
@@ -1,9 +1,8 @@
-#include <assert.h>
+#include "system/stacktrace.h"
 #include <stdlib.h>
 
 #include "game/level/platforms.h"
 #include "physical_world.h"
-#include "system/error.h"
 #include "system/lt.h"
 #include "system/nth_alloc.h"
 
@@ -28,7 +27,6 @@ Physical_world *create_physical_world(void)
     Physical_world * const physical_world =
         PUSH_LT(lt, nth_alloc(sizeof(Physical_world)), free);
     if (physical_world == NULL) {
-        throw_error(ERROR_TYPE_LIBC);
         RETURN_LT(lt, NULL);
     }
 
@@ -38,7 +36,6 @@ Physical_world *create_physical_world(void)
             nth_alloc(sizeof(Solid_ref) * PHYSICAL_WORLD_CAPACITY),
             free);
     if (physical_world->solids == NULL) {
-        throw_error(ERROR_TYPE_LIBC);
         RETURN_LT(lt, NULL);
     }
 
@@ -51,7 +48,7 @@ Physical_world *create_physical_world(void)
 
 void destroy_physical_world(Physical_world *physical_world)
 {
-    assert(physical_world);
+    trace_assert(physical_world);
     RETURN_LT0(physical_world->lt);
 }
 
@@ -67,7 +64,7 @@ void physical_world_apply_gravity(Physical_world *physical_world)
 void physical_world_collide_solids(Physical_world *physical_world,
                                    Platforms *platforms)
 {
-    assert(physical_world);
+    trace_assert(physical_world);
 
     for (size_t i = 0; i < physical_world->size; ++i) {
         solid_collide_with_solid(
@@ -91,7 +88,7 @@ void physical_world_collide_solids(Physical_world *physical_world,
 int physical_world_add_solid(Physical_world *physical_world,
                              Solid_ref solid)
 {
-    assert(physical_world);
+    trace_assert(physical_world);
 
     if (physical_world->size >= physical_world->capacity) {
         const size_t new_capacity = physical_world->capacity * 2;
@@ -117,6 +114,6 @@ int physical_world_add_solid(Physical_world *physical_world,
 
 void physical_world_clean(Physical_world *physical_world)
 {
-    assert(physical_world);
+    trace_assert(physical_world);
     physical_world->size = 0;
 }