summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2023-05-30 03:51:43 -0400
committerrealtradam <[email protected]>2023-05-30 03:51:43 -0400
commit40a78e6865794db16988bf92a99f69c88c152c8a (patch)
tree1a8b0e7d36dee223eddfa1757d1510ec426dbcd8 /src
parentb585f29788059e9040c9c5e3e32c341aa3881d84 (diff)
downloadRodeoKit-40a78e6865794db16988bf92a99f69c88c152c8a.tar.gz
RodeoKit-40a78e6865794db16988bf92a99f69c88c152c8a.zip
make frametime constant on web platform + other stuff
Diffstat (limited to 'src')
-rw-r--r--src/collision/rodeo_collision.c15
-rw-r--r--src/rodeo.c12
2 files changed, 22 insertions, 5 deletions
diff --git a/src/collision/rodeo_collision.c b/src/collision/rodeo_collision.c
index 8e45cf7..95fc75c 100644
--- a/src/collision/rodeo_collision.c
+++ b/src/collision/rodeo_collision.c
@@ -57,15 +57,20 @@ rodeo_collision_2d_world_item_destroy_by_id(
world_id id
)
{
- rodeo_collision_2d_world_item_t* item = rodeo_collision_2d_world_item_get_by_id(id);
+ rodeo_collision_2d_world_item_t* item = rodeo_collision_2d_world_item_get_by_id
+ (id);
rodeo_collision_2d_world_item_destroy(item);
-}
+}
rodeo_collision_2d_world_item_t*
-rodeo_collision_2d_world_item_get_by_id(
- world_id id
-)
+rodeo_collision_2d_world_item_get_by_id(
+ world_id id
+)
{
+ if(id.world == NULL)
+ {
+ return NULL;
+ }
c_foreach(i, cvec_collision_2d_world_item, *id.world) {
if (i.ref->id.id == id.id) {
return i.ref;
diff --git a/src/rodeo.c b/src/rodeo.c
index c43b9a8..afeefba 100644
--- a/src/rodeo.c
+++ b/src/rodeo.c
@@ -338,7 +338,19 @@ rodeo_frame_end(void)
#endif
state.frame_count += 1;
state.end_frame = SDL_GetPerformanceCounter();
+
+#ifndef __EMSCRIPTEN__
state.frame_time = ((float)(state.end_frame - state.start_frame) * 1000.0f / (float)SDL_GetPerformanceFrequency());
+#else
+ state.frame_time = (1.0f/60.f) * 1000; //((float)(state.end_frame - state.start_frame) * 1000.0f / (float)SDL_GetPerformanceFrequency());
+#endif
+
+
+ /*
+ float minimum_fps = 20.0f;
+ float temp_frame_time = ((float)(state.end_frame - state.start_frame) * 1000.0f / (float)SDL_GetPerformanceFrequency());
+ state.frame_time = (temp_frame_time < ((1.0f/minimum_fps) * 1000)) ? temp_frame_time : ((1.0f / minimum_fps) * 1000);
+ */
}
void