2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-05-15 21:11:22 +00:00

CollisionPrimitive: Make collisition primitive types and comparisons constexpr capable

Allows them to be used within constexpr contexts.
This commit is contained in:
Lioncash 2019-10-29 16:07:37 -04:00
parent 118fb22ce0
commit 5c7bb9e7d7

View File

@ -54,15 +54,15 @@ using PrimitiveSetter = void (*)(u32);
class CCollisionPrimitive { class CCollisionPrimitive {
public: public:
class Type { class Type {
PrimitiveSetter x0_setter; PrimitiveSetter x0_setter = nullptr;
const char* x4_info; const char* x4_info = nullptr;
public: public:
Type() = default; constexpr Type() noexcept = default;
Type(PrimitiveSetter setter, const char* info) : x0_setter(setter), x4_info(info) {} constexpr Type(PrimitiveSetter setter, const char* info) noexcept : x0_setter(setter), x4_info(info) {}
const char* GetInfo() const { return x4_info; } constexpr const char* GetInfo() const noexcept { return x4_info; }
PrimitiveSetter GetSetter() const { return x0_setter; } constexpr PrimitiveSetter GetSetter() const noexcept { return x0_setter; }
}; };
class Comparison { class Comparison {
@ -71,12 +71,12 @@ public:
const char* x8_type2; const char* x8_type2;
public: public:
Comparison(ComparisonFunc collider, const char* type1, const char* type2) constexpr Comparison(ComparisonFunc collider, const char* type1, const char* type2) noexcept
: x0_collider(collider), x4_type1(type1), x8_type2(type2) {} : x0_collider(collider), x4_type1(type1), x8_type2(type2) {}
ComparisonFunc GetCollider() const { return x0_collider; } constexpr ComparisonFunc GetCollider() const noexcept { return x0_collider; }
const char* GetType1() const { return x4_type1; } constexpr const char* GetType1() const noexcept { return x4_type1; }
const char* GetType2() const { return x8_type2; } constexpr const char* GetType2() const noexcept { return x8_type2; }
}; };
class MovingComparison { class MovingComparison {
@ -85,12 +85,12 @@ public:
const char* x8_type2; const char* x8_type2;
public: public:
MovingComparison(MovingComparisonFunc collider, const char* type1, const char* type2) constexpr MovingComparison(MovingComparisonFunc collider, const char* type1, const char* type2) noexcept
: x0_collider(collider), x4_type1(type1), x8_type2(type2) {} : x0_collider(collider), x4_type1(type1), x8_type2(type2) {}
MovingComparisonFunc GetCollider() const { return x0_collider; } constexpr MovingComparisonFunc GetCollider() const noexcept { return x0_collider; }
const char* GetType1() const { return x4_type1; } constexpr const char* GetType1() const noexcept { return x4_type1; }
const char* GetType2() const { return x8_type2; } constexpr const char* GetType2() const noexcept { return x8_type2; }
}; };
class BooleanComparison { class BooleanComparison {
@ -99,12 +99,12 @@ public:
const char* x8_type2; const char* x8_type2;
public: public:
BooleanComparison(BooleanComparisonFunc collider, const char* type1, const char* type2) constexpr BooleanComparison(BooleanComparisonFunc collider, const char* type1, const char* type2) noexcept
: x0_collider(collider), x4_type1(type1), x8_type2(type2) {} : x0_collider(collider), x4_type1(type1), x8_type2(type2) {}
BooleanComparisonFunc GetCollider() const { return x0_collider; } constexpr BooleanComparisonFunc GetCollider() const noexcept { return x0_collider; }
const char* GetType1() const { return x4_type1; } constexpr const char* GetType1() const noexcept { return x4_type1; }
const char* GetType2() const { return x8_type2; } constexpr const char* GetType2() const noexcept { return x8_type2; }
}; };
private: private: