mirror of https://github.com/PrimeDecomp/prime.git
parent
85358450a7
commit
7391174814
|
@ -240,7 +240,7 @@ LIBS = [
|
|||
"MetroidPrime/Weapons/CPlasmaProjectile",
|
||||
"MetroidPrime/Player/CPlayerOrbit",
|
||||
"MetroidPrime/CGameCollision",
|
||||
"MetroidPrime/CBallFilter",
|
||||
["MetroidPrime/CBallFilter", True],
|
||||
"MetroidPrime/CAABoxFilter",
|
||||
"MetroidPrime/CGroundMovement",
|
||||
"MetroidPrime/Enemies/CNewIntroBoss",
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
#ifndef _COLLISIONUTIL
|
||||
#define _COLLISIONUTIL
|
||||
|
||||
class CCollisionInfoList;
|
||||
|
||||
namespace CollisionUtil {
|
||||
|
||||
void AddAverageToFront(const CCollisionInfoList& in, CCollisionInfoList& out);
|
||||
|
||||
} // namespace CollisionUtil
|
||||
|
||||
#endif // _COLLISIONUTIL
|
|
@ -0,0 +1,15 @@
|
|||
#ifndef _CBALLFILTER
|
||||
#define _CBALLFILTER
|
||||
|
||||
#include "MetroidPrime/ICollisionFilter.hpp"
|
||||
|
||||
class CCollisionInfoList;
|
||||
class CPhysicsActor;
|
||||
|
||||
class CBallFilter : public ICollisionFilter {
|
||||
public:
|
||||
explicit CBallFilter(CActor& actor) : ICollisionFilter(actor) {}
|
||||
void Filter(const CCollisionInfoList& in, CCollisionInfoList& out) const;
|
||||
};
|
||||
|
||||
#endif // _CBALLFILTER
|
|
@ -0,0 +1,18 @@
|
|||
#ifndef _ICOLLISIONFILTER
|
||||
#define _ICOLLISIONFILTER
|
||||
|
||||
class CActor;
|
||||
class CCollisionInfoList;
|
||||
|
||||
class ICollisionFilter {
|
||||
CActor& x4_actor;
|
||||
|
||||
protected:
|
||||
explicit ICollisionFilter(CActor& actor) : x4_actor(actor) {}
|
||||
|
||||
public:
|
||||
virtual ~ICollisionFilter() {};
|
||||
virtual void Filter(const CCollisionInfoList& in, CCollisionInfoList& out) const = 0;
|
||||
};
|
||||
|
||||
#endif // _ICOLLISIONFILTER
|
|
@ -207,7 +207,7 @@ METROIDPRIME :=\
|
|||
$(BUILD_DIR)/asm/MetroidPrime/Weapons/CPlasmaProjectile.o\
|
||||
$(BUILD_DIR)/asm/MetroidPrime/Player/CPlayerOrbit.o\
|
||||
$(BUILD_DIR)/asm/MetroidPrime/CGameCollision.o\
|
||||
$(BUILD_DIR)/asm/MetroidPrime/CBallFilter.o\
|
||||
$(BUILD_DIR)/src/MetroidPrime/CBallFilter.o\
|
||||
$(BUILD_DIR)/asm/MetroidPrime/CAABoxFilter.o\
|
||||
$(BUILD_DIR)/asm/MetroidPrime/CGroundMovement.o\
|
||||
$(BUILD_DIR)/asm/MetroidPrime/Enemies/CNewIntroBoss.o\
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
#include "MetroidPrime/CBallFilter.hpp"
|
||||
|
||||
#include "Collision/CollisionUtil.hpp"
|
||||
|
||||
void CBallFilter::Filter(const CCollisionInfoList& in, CCollisionInfoList& out) const {
|
||||
CollisionUtil::AddAverageToFront(in, out);
|
||||
}
|
Loading…
Reference in New Issue