mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-23 09:04:21 +00:00
Some checks are pending
Compile and verify functions / compile_verify (push) Waiting to run
Copy headers to separate repo / copy_headers (push) Waiting to run
decomp-dev / publish_progress_decomp_dev (1.0) (push) Waiting to run
lint / clang-format (push) Waiting to run
lint / custom-lint (push) Waiting to run
Check and verify that setup works on NixOS / nixos_verify (push) Waiting to run
progress / publish_progress (push) Waiting to run
testcompile / test_compile (push) Waiting to run
Trigger full-sync on the tracker repo on push / api-trigger-workflow (push) Waiting to run
44 lines
1.7 KiB
C++
44 lines
1.7 KiB
C++
#pragma once
|
|
|
|
#include <math/seadVector.h>
|
|
#include <prim/seadDelegate.h>
|
|
|
|
#include "Library/HostIO/HioNode.h"
|
|
|
|
namespace al {
|
|
class CollisionParts;
|
|
struct HitInfo;
|
|
class SphereCheckInfo;
|
|
class ArrowCheckInfo;
|
|
class DiskCheckInfo;
|
|
class SphereHitResultBuffer;
|
|
class ArrowHitResultBuffer;
|
|
class DiskHitResultBuffer;
|
|
class CollisionCheckInfoBase;
|
|
|
|
class ICollisionPartsKeeper : public IUseHioNode {
|
|
public:
|
|
virtual void endInit() = 0;
|
|
virtual void addCollisionParts(CollisionParts* parts) = 0;
|
|
virtual void connectToCollisionPartsList(CollisionParts* parts) = 0;
|
|
virtual void disconnectToCollisionPartsList(CollisionParts* parts) = 0;
|
|
virtual void resetToCollisionPartsList(CollisionParts* parts) = 0;
|
|
virtual s32 checkStrikePoint(HitInfo* hitInfo,
|
|
const CollisionCheckInfoBase& checkInfo) const = 0;
|
|
// TODO: rename parameters
|
|
virtual s32 checkStrikeSphere(SphereHitResultBuffer* resultBuffer,
|
|
const SphereCheckInfo& checkInfo, bool unk,
|
|
const sead::Vector3f& unk2) const = 0;
|
|
virtual s32 checkStrikeArrow(ArrowHitResultBuffer* resultBuffer,
|
|
const ArrowCheckInfo& checkInfo) const = 0;
|
|
virtual s32 checkStrikeSphereForPlayer(SphereHitResultBuffer* resultBuffer,
|
|
const SphereCheckInfo& checkInfo) const = 0;
|
|
virtual s32 checkStrikeDisk(DiskHitResultBuffer* resultBuffer,
|
|
const DiskCheckInfo& checkInfo) const = 0;
|
|
virtual void searchWithSphere(const SphereCheckInfo& checkInfo,
|
|
sead::IDelegate1<CollisionParts*>& callback) const = 0;
|
|
virtual void movement() = 0;
|
|
};
|
|
|
|
} // namespace al
|