From 6b8dbaee7b5aadb0ed5dd4a71f8b0f58da0d3d49 Mon Sep 17 00:00:00 2001 From: Sara Date: Thu, 22 Feb 2024 21:12:07 +0100 Subject: [PATCH] feat: added out list argument to HurtboxCast --- game/src/Hurtbox.c | 6 +++++- game/src/Hurtbox.h | 2 +- game/src/PlayerStates.c | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/game/src/Hurtbox.c b/game/src/Hurtbox.c index 2b41f17..69f3c21 100644 --- a/game/src/Hurtbox.c +++ b/game/src/Hurtbox.c @@ -18,7 +18,7 @@ void Internal_HurtboxDealDamage(const Hurtbox* self, List* colliders, float min_ } } -int HurtboxCast(Hurtbox* self, float facing_dir) { +int HurtboxCast(Hurtbox* self, float facing_dir, List *out) { const IPhysicsEntity* physics_entity = mirror_get_typeclass(self->owner.data, self->owner.mirror, "PhysicsEntity"); const ITransformable* transformable = mirror_get_typeclass(self->owner.data, self->owner.mirror, "Transformable"); @@ -32,5 +32,9 @@ int HurtboxCast(Hurtbox* self, float facing_dir) { const Vector offset = vaddf(transform->position, MakeVector(facing_dir * self->offset.x, self->offset.y)); List found = physics_world_box_query_all(offset, self->size, PHYSICS_LAYER_COMBAT, body); Internal_HurtboxDealDamage(self, &found, transform->position.y - self->depth_extent, transform->position.y + self->depth_extent); + if(out == NULL) + list_empty(&found); + else + *out = found; return found.len; } diff --git a/game/src/Hurtbox.h b/game/src/Hurtbox.h index c3cd3a2..f565bf9 100644 --- a/game/src/Hurtbox.h +++ b/game/src/Hurtbox.h @@ -13,6 +13,6 @@ typedef struct Hurtbox { float depth_extent; } Hurtbox; -int HurtboxCast(Hurtbox* self, float facing_dir); +extern int HurtboxCast(Hurtbox* self, float facing_dir, List *out); #endif // !FIGHT_HURTBOX_H diff --git a/game/src/PlayerStates.c b/game/src/PlayerStates.c index eebe054..259090f 100644 --- a/game/src/PlayerStates.c +++ b/game/src/PlayerStates.c @@ -82,7 +82,7 @@ void PlayerHurtbox(Player* self, DamageEventData damage, Vector hitbox_size, Vec .offset = vaddf(offset, MakeVector(0.f, self->height)), .depth_extent = 0.15f, }; - HurtboxCast(&box, self->facing); + HurtboxCast(&box, self->facing, NULL); } void PlayerJabA_Enter(Player* self) {