1#pragma once
2
3#include <math/seadVector.h>
4
5namespace al {
6class CollisionPartsFilterBase;
7class IUseCollision;
8class Triangle;
9class TriangleFilterBase;
10
11bool isFloorCode(const Triangle&, const char*);
12} // namespace al
13
14namespace alCollisionUtil {
15bool getFirstPolyOnArrow(const al::IUseCollision*, sead::Vector3f*, al::Triangle*,
16 const sead::Vector3f&, const sead::Vector3f&,
17 const al::CollisionPartsFilterBase*, const al::TriangleFilterBase*);
18bool getHitPosAndNormalOnArrow(const al::IUseCollision*, sead::Vector3f*, sead::Vector3f*,
19 const sead::Vector3f&, const sead::Vector3f&,
20 const al::CollisionPartsFilterBase*, const al::TriangleFilterBase*);
21bool getHitPosOnArrow(const al::IUseCollision*, sead::Vector3f*, const sead::Vector3f&,
22 const sead::Vector3f&, const al::CollisionPartsFilterBase*,
23 const al::TriangleFilterBase*);
24s32 checkStrikeArrow(const al::IUseCollision*, const sead::Vector3f&, const sead::Vector3f&,
25 const al::CollisionPartsFilterBase*, const al::TriangleFilterBase*);
26} // namespace alCollisionUtil
27