2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 15:04:56 +00:00

CCharAnimTime: Make constructors constexpr where applicable

These can be made constexpr to allow use at compile-time, given these
only hold an enum and a floating point value.
This commit is contained in:
Lioncash
2020-03-15 19:34:41 -04:00
parent df4487bae8
commit 1926966d21
2 changed files with 5 additions and 10 deletions

View File

@@ -5,10 +5,6 @@
namespace urde {
CCharAnimTime CCharAnimTime::Infinity() {
return {EType::Infinity, 1.f};
}
bool CCharAnimTime::EqualsZero() const {
if (x4_type == EType::ZeroIncreasing || x4_type == EType::ZeroSteady || x4_type == EType::ZeroDecreasing)
return true;

View File

@@ -16,13 +16,12 @@ private:
EType x4_type = EType::ZeroSteady;
public:
CCharAnimTime() = default;
CCharAnimTime(CInputStream& in) : x0_time(in.readFloatBig()), x4_type(EType(in.readUint32Big())) {}
CCharAnimTime(float time) : x0_time(time), x4_type(x0_time != 0.f ? EType::NonZero : EType::ZeroSteady) {}
constexpr CCharAnimTime() = default;
constexpr CCharAnimTime(float time) : x0_time(time), x4_type(x0_time != 0.f ? EType::NonZero : EType::ZeroSteady) {}
constexpr CCharAnimTime(EType type, float t) : x0_time(t), x4_type(type) {}
explicit CCharAnimTime(CInputStream& in) : x0_time(in.readFloatBig()), x4_type(EType(in.readUint32Big())) {}
CCharAnimTime(EType type, const float& t) : x0_time(t), x4_type(type) {}
static CCharAnimTime Infinity();
static constexpr CCharAnimTime Infinity() { return {EType::Infinity, 1.0f}; }
float GetSeconds() const { return x0_time; }
bool EqualsZero() const;