mirror of
https://github.com/PrimeDecomp/prime.git
synced 2025-07-15 23:45:51 +00:00
Match and link CBallFilter
Former-commit-id: 5dc8a602334089d86e44889684bf21229a48a3e6
This commit is contained in:
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",
|
||||
|
12
include/Collision/CollisionUtil.hpp
Normal file
12
include/Collision/CollisionUtil.hpp
Normal file
@ -0,0 +1,12 @@
|
||||
#ifndef _COLLISIONUTIL
|
||||
#define _COLLISIONUTIL
|
||||
|
||||
class CCollisionInfoList;
|
||||
|
||||
namespace CollisionUtil {
|
||||
|
||||
void AddAverageToFront(const CCollisionInfoList& in, CCollisionInfoList& out);
|
||||
|
||||
} // namespace CollisionUtil
|
||||
|
||||
#endif // _COLLISIONUTIL
|
15
include/MetroidPrime/CBallFilter.hpp
Normal file
15
include/MetroidPrime/CBallFilter.hpp
Normal file
@ -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
|
18
include/MetroidPrime/ICollisionFilter.hpp
Normal file
18
include/MetroidPrime/ICollisionFilter.hpp
Normal file
@ -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\
|
||||
|
7
src/MetroidPrime/CBallFilter.cpp
Normal file
7
src/MetroidPrime/CBallFilter.cpp
Normal file
@ -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…
x
Reference in New Issue
Block a user