From e6784a4d711fc37aee239a8e7ca1ec0ce23c5426 Mon Sep 17 00:00:00 2001 From: En Yi Date: Sat, 23 Sep 2023 13:39:18 +0800 Subject: [PATCH] Fix crates hitbox collision with player --- scene_test.c | 8 ++++++-- scenes/game_systems.c | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/scene_test.c b/scene_test.c index 4fb5365..a0df98b 100644 --- a/scene_test.c +++ b/scene_test.c @@ -37,10 +37,14 @@ int main(void) init_memory_pools(); init_assets(&engine.assets); - //load_from_infofile("res/assets.info.raw", &engine.assets); - //init_player_creation("res/player_spr.info", &engine.assets); + +#ifndef NDEBUG + load_from_infofile("res/assets.info.raw", &engine.assets); + init_player_creation("res/player_spr.info", &engine.assets); +#else load_from_rres("res/myresources.rres", &engine.assets); init_player_creation_rres("res/myresources.rres", "player_spr.info", &engine.assets); +#endif init_item_creation(&engine.assets); LevelScene_t scene; diff --git a/scenes/game_systems.c b/scenes/game_systems.c index bea20a9..89c2d0e 100644 --- a/scenes/game_systems.c +++ b/scenes/game_systems.c @@ -1485,7 +1485,7 @@ void hitbox_update_system(Scene_t* scene) p_pstate != NULL ) { - if (p_ctransform->position.y + p_bbox->size.y <= p_other_ct->position.y + p_other_bbox->half_size.y / 2) + if (p_ctransform->position.y + p_bbox->size.y <= p_other_ct->position.y) { p_ctransform->velocity.y = -400; if (p_pstate->jump_pressed) @@ -1496,7 +1496,7 @@ void hitbox_update_system(Scene_t* scene) p_cjump->jumped = true; } } - else if (p_ctransform->position.y > p_other_ct->position.y + p_other_bbox->half_size.y * 1.5) + else if (p_ctransform->position.y >= p_other_ct->position.y + p_other_bbox->size.y) { p_ctransform->velocity.y = 0; }