diff --git a/src/decor/decor_object_list.c b/src/decor/decor_object_list.c index d60b39d..73f4f2a 100644 --- a/src/decor/decor_object_list.c +++ b/src/decor/decor_object_list.c @@ -236,4 +236,8 @@ int decorIdForObjectDefinition(struct DecorObjectDefinition* def) { } return result; -} \ No newline at end of file +} + +int decorIdForCollisionObject(struct CollisionObject* collisionObject) { + return decorIdForObjectDefinition((struct DecorObjectDefinition*)collisionObject->collider); +} diff --git a/src/decor/decor_object_list.h b/src/decor/decor_object_list.h index adee57c..f0ad98e 100644 --- a/src/decor/decor_object_list.h +++ b/src/decor/decor_object_list.h @@ -19,4 +19,6 @@ struct DecorObjectDefinition* decorObjectDefinitionForId(int id); int decorIdForObjectDefinition(struct DecorObjectDefinition* def); +int decorIdForCollisionObject(struct CollisionObject* collisionObject); // evil hack + #endif \ No newline at end of file diff --git a/src/scene/fizzler.c b/src/scene/fizzler.c index 4f74376..6d282e3 100644 --- a/src/scene/fizzler.c +++ b/src/scene/fizzler.c @@ -26,7 +26,7 @@ void fizzlerTrigger(void* data, struct CollisionObject* objectEnteringTrigger) { } if (fizzler->cubeSignalIndex != -1) { - int decorType = decorIdForObjectDefinition((struct DecorObjectDefinition*)objectEnteringTrigger->collider); + int decorType = decorIdForCollisionObject(objectEnteringTrigger); if (decorType == DECOR_TYPE_CUBE || decorType == DECOR_TYPE_CUBE_UNIMPORTANT) { signalsSend(fizzler->cubeSignalIndex); } diff --git a/src/scene/trigger_listener.c b/src/scene/trigger_listener.c index 4449197..e0f2852 100644 --- a/src/scene/trigger_listener.c +++ b/src/scene/trigger_listener.c @@ -15,8 +15,7 @@ enum ObjectTriggerType triggerDetermineType(struct CollisionObject* objectEnteri return TRIGGER_TYPE_TO_MASK(ObjectTriggerTypePlayer); } - int decorType = decorIdForObjectDefinition((struct DecorObjectDefinition*)objectEnteringTrigger->collider); - + int decorType = decorIdForCollisionObject(objectEnteringTrigger); if (decorType == DECOR_TYPE_CUBE || decorType == DECOR_TYPE_CUBE_UNIMPORTANT) { return gScene.player.grabConstraint.object == objectEnteringTrigger ? TRIGGER_TYPE_TO_MASK(ObjectTriggerTypeCubeHover) | TRIGGER_TYPE_TO_MASK(ObjectTriggerTypeCube) : TRIGGER_TYPE_TO_MASK(ObjectTriggerTypeCube); }