From 40a78e6865794db16988bf92a99f69c88c152c8a Mon Sep 17 00:00:00 2001 From: realtradam Date: Tue, 30 May 2023 03:51:43 -0400 Subject: make frametime constant on web platform + other stuff --- src/collision/rodeo_collision.c | 15 ++++++++++----- src/rodeo.c | 12 ++++++++++++ 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 -- cgit v1.2.3