mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 03:47:43 +00:00
Big fixes and big memory leak refactor (linux only for now)
This commit is contained in:
@@ -27,8 +27,8 @@ class CRELifetimeTween : public CRealElement
|
||||
std::unique_ptr<CRealElement> x4_a;
|
||||
std::unique_ptr<CRealElement> x8_b;
|
||||
public:
|
||||
CRELifetimeTween(CRealElement* a, CRealElement* b)
|
||||
: x4_a(a), x8_b(b) {}
|
||||
CRELifetimeTween(std::unique_ptr<CRealElement>&& a, std::unique_ptr<CRealElement>&& b)
|
||||
: x4_a(std::move(a)), x8_b(std::move(b)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -47,8 +47,8 @@ class CRETimeChain : public CRealElement
|
||||
std::unique_ptr<CRealElement> x8_b;
|
||||
std::unique_ptr<CIntElement> xc_swFrame;
|
||||
public:
|
||||
CRETimeChain(CRealElement* a, CRealElement* b, CIntElement* c)
|
||||
: x4_a(a), x8_b(b), xc_swFrame(c) {}
|
||||
CRETimeChain(std::unique_ptr<CRealElement>&& a, std::unique_ptr<CRealElement>&& b, std::unique_ptr<CIntElement>&& c)
|
||||
: x4_a(std::move(a)), x8_b(std::move(b)), xc_swFrame(std::move(c)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -57,8 +57,8 @@ class CREAdd : public CRealElement
|
||||
std::unique_ptr<CRealElement> x4_a;
|
||||
std::unique_ptr<CRealElement> x8_b;
|
||||
public:
|
||||
CREAdd(CRealElement* a, CRealElement* b)
|
||||
: x4_a(a), x8_b(b) {}
|
||||
CREAdd(std::unique_ptr<CRealElement>&& a, std::unique_ptr<CRealElement>&& b)
|
||||
: x4_a(std::move(a)), x8_b(std::move(b)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -68,8 +68,8 @@ class CREClamp : public CRealElement
|
||||
std::unique_ptr<CRealElement> x8_max;
|
||||
std::unique_ptr<CRealElement> xc_val;
|
||||
public:
|
||||
CREClamp(CRealElement* a, CRealElement* b, CRealElement* c)
|
||||
: x4_min(a), x8_max(b), xc_val(c) {}
|
||||
CREClamp(std::unique_ptr<CRealElement>&& a, std::unique_ptr<CRealElement>&& b, std::unique_ptr<CRealElement>&& c)
|
||||
: x4_min(std::move(a)), x8_max(std::move(b)), xc_val(std::move(c)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -78,8 +78,8 @@ class CREInitialRandom : public CRealElement
|
||||
std::unique_ptr<CRealElement> x4_min;
|
||||
std::unique_ptr<CRealElement> x8_max;
|
||||
public:
|
||||
CREInitialRandom(CRealElement* a, CRealElement* b)
|
||||
: x4_min(a), x8_max(b) {}
|
||||
CREInitialRandom(std::unique_ptr<CRealElement>&& a, std::unique_ptr<CRealElement>&& b)
|
||||
: x4_min(std::move(a)), x8_max(std::move(b)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
bool IsConstant() const {return true;}
|
||||
};
|
||||
@@ -89,8 +89,8 @@ class CRERandom : public CRealElement
|
||||
std::unique_ptr<CRealElement> x4_min;
|
||||
std::unique_ptr<CRealElement> x8_max;
|
||||
public:
|
||||
CRERandom(CRealElement* a, CRealElement* b)
|
||||
: x4_min(a), x8_max(b) {}
|
||||
CRERandom(std::unique_ptr<CRealElement>&& a, std::unique_ptr<CRealElement>&& b)
|
||||
: x4_min(std::move(a)), x8_max(std::move(b)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -99,8 +99,8 @@ class CREDotProduct : public CRealElement
|
||||
std::unique_ptr<CVectorElement> x4_a;
|
||||
std::unique_ptr<CVectorElement> x8_b;
|
||||
public:
|
||||
CREDotProduct(CVectorElement* a, CVectorElement* b)
|
||||
: x4_a(a), x8_b(b) {}
|
||||
CREDotProduct(std::unique_ptr<CVectorElement>&& a, std::unique_ptr<CVectorElement>&& b)
|
||||
: x4_a(std::move(a)), x8_b(std::move(b)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -109,8 +109,8 @@ class CREMultiply : public CRealElement
|
||||
std::unique_ptr<CRealElement> x4_a;
|
||||
std::unique_ptr<CRealElement> x8_b;
|
||||
public:
|
||||
CREMultiply(CRealElement* a, CRealElement* b)
|
||||
: x4_a(a), x8_b(b) {}
|
||||
CREMultiply(std::unique_ptr<CRealElement>&& a, std::unique_ptr<CRealElement>&& b)
|
||||
: x4_a(std::move(a)), x8_b(std::move(b)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -121,8 +121,9 @@ class CREPulse : public CRealElement
|
||||
std::unique_ptr<CRealElement> xc_valA;
|
||||
std::unique_ptr<CRealElement> x10_valB;
|
||||
public:
|
||||
CREPulse(CIntElement* a, CIntElement* b, CRealElement* c, CRealElement* d)
|
||||
: x4_aDuration(a), x8_bDuration(b), xc_valA(c), x10_valB(d) {}
|
||||
CREPulse(std::unique_ptr<CIntElement>&& a, std::unique_ptr<CIntElement>&& b,
|
||||
std::unique_ptr<CRealElement>&& c, std::unique_ptr<CRealElement>&& d)
|
||||
: x4_aDuration(std::move(a)), x8_bDuration(std::move(b)), xc_valA(std::move(c)), x10_valB(std::move(d)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -130,8 +131,8 @@ class CRETimeScale : public CRealElement
|
||||
{
|
||||
std::unique_ptr<CRealElement> x4_a;
|
||||
public:
|
||||
CRETimeScale(CRealElement* a)
|
||||
: x4_a(a) {}
|
||||
CRETimeScale(std::unique_ptr<CRealElement>&& a)
|
||||
: x4_a(std::move(a)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -139,8 +140,8 @@ class CRELifetimePercent : public CRealElement
|
||||
{
|
||||
std::unique_ptr<CRealElement> x4_percentVal;
|
||||
public:
|
||||
CRELifetimePercent(CRealElement* a)
|
||||
: x4_percentVal(a) {}
|
||||
CRELifetimePercent(std::unique_ptr<CRealElement>&& a)
|
||||
: x4_percentVal(std::move(a)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -150,8 +151,9 @@ class CRESineWave : public CRealElement
|
||||
std::unique_ptr<CRealElement> x8_linearFrame;
|
||||
std::unique_ptr<CRealElement> xc_constantFrame;
|
||||
public:
|
||||
CRESineWave(CRealElement* a, CRealElement* b, CRealElement* c)
|
||||
: x4_magnitude(a), x8_linearFrame(b), xc_constantFrame(c) {}
|
||||
CRESineWave(std::unique_ptr<CRealElement>&& a, std::unique_ptr<CRealElement>&& b,
|
||||
std::unique_ptr<CRealElement>&& c)
|
||||
: x4_magnitude(std::move(a)), x8_linearFrame(std::move(b)), xc_constantFrame(std::move(c)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -160,8 +162,8 @@ class CREInitialSwitch : public CRealElement
|
||||
std::unique_ptr<CRealElement> x4_a;
|
||||
std::unique_ptr<CRealElement> x8_b;
|
||||
public:
|
||||
CREInitialSwitch(CRealElement* a, CRealElement* b)
|
||||
: x4_a(a), x8_b(b) {}
|
||||
CREInitialSwitch(std::unique_ptr<CRealElement>&& a, std::unique_ptr<CRealElement>&& b)
|
||||
: x4_a(std::move(a)), x8_b(std::move(b)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -172,8 +174,9 @@ class CRECompareLessThan : public CRealElement
|
||||
std::unique_ptr<CRealElement> xc_c;
|
||||
std::unique_ptr<CRealElement> x10_d;
|
||||
public:
|
||||
CRECompareLessThan(CRealElement* a, CRealElement* b, CRealElement* c, CRealElement* d)
|
||||
: x4_a(a), x8_b(b), xc_c(c), x10_d(d) {}
|
||||
CRECompareLessThan(std::unique_ptr<CRealElement>&& a, std::unique_ptr<CRealElement>&& b,
|
||||
std::unique_ptr<CRealElement>&& c, std::unique_ptr<CRealElement>&& d)
|
||||
: x4_a(std::move(a)), x8_b(std::move(b)), xc_c(std::move(c)), x10_d(std::move(d)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -184,8 +187,9 @@ class CRECompareEquals : public CRealElement
|
||||
std::unique_ptr<CRealElement> xc_c;
|
||||
std::unique_ptr<CRealElement> x10_d;
|
||||
public:
|
||||
CRECompareEquals(CRealElement* a, CRealElement* b, CRealElement* c, CRealElement* d)
|
||||
: x4_a(a), x8_b(b), xc_c(c), x10_d(d) {}
|
||||
CRECompareEquals(std::unique_ptr<CRealElement>&& a, std::unique_ptr<CRealElement>&& b,
|
||||
std::unique_ptr<CRealElement>&& c, std::unique_ptr<CRealElement>&& d)
|
||||
: x4_a(std::move(a)), x8_b(std::move(b)), xc_c(std::move(c)), x10_d(std::move(d)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -254,8 +258,8 @@ class CRESubtract : public CRealElement
|
||||
std::unique_ptr<CRealElement> x4_a;
|
||||
std::unique_ptr<CRealElement> x8_b;
|
||||
public:
|
||||
CRESubtract(CRealElement* a, CRealElement* b)
|
||||
: x4_a(a), x8_b(b) {}
|
||||
CRESubtract(std::unique_ptr<CRealElement>&& a, std::unique_ptr<CRealElement>&& b)
|
||||
: x4_a(std::move(a)), x8_b(std::move(b)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -263,8 +267,8 @@ class CREVectorMagnitude : public CRealElement
|
||||
{
|
||||
std::unique_ptr<CVectorElement> x4_a;
|
||||
public:
|
||||
CREVectorMagnitude(CVectorElement* a)
|
||||
: x4_a(a) {}
|
||||
CREVectorMagnitude(std::unique_ptr<CVectorElement>&& a)
|
||||
: x4_a(std::move(a)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -272,8 +276,8 @@ class CREVectorXToReal : public CRealElement
|
||||
{
|
||||
std::unique_ptr<CVectorElement> x4_a;
|
||||
public:
|
||||
CREVectorXToReal(CVectorElement* a)
|
||||
: x4_a(a) {}
|
||||
CREVectorXToReal(std::unique_ptr<CVectorElement>&& a)
|
||||
: x4_a(std::move(a)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -281,8 +285,8 @@ class CREVectorYToReal : public CRealElement
|
||||
{
|
||||
std::unique_ptr<CVectorElement> x4_a;
|
||||
public:
|
||||
CREVectorYToReal(CVectorElement* a)
|
||||
: x4_a(a) {}
|
||||
CREVectorYToReal(std::unique_ptr<CVectorElement>&& a)
|
||||
: x4_a(std::move(a)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -290,8 +294,8 @@ class CREVectorZToReal : public CRealElement
|
||||
{
|
||||
std::unique_ptr<CVectorElement> x4_a;
|
||||
public:
|
||||
CREVectorZToReal(CVectorElement* a)
|
||||
: x4_a(a) {}
|
||||
CREVectorZToReal(std::unique_ptr<CVectorElement>&& a)
|
||||
: x4_a(std::move(a)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -299,8 +303,8 @@ class CRECEXT : public CRealElement
|
||||
{
|
||||
std::unique_ptr<CIntElement> x4_a;
|
||||
public:
|
||||
CRECEXT(CIntElement* a)
|
||||
: x4_a(a) {}
|
||||
CRECEXT(std::unique_ptr<CIntElement>&& a)
|
||||
: x4_a(std::move(a)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -309,8 +313,8 @@ class CREIntTimesReal : public CRealElement
|
||||
std::unique_ptr<CIntElement> x4_a;
|
||||
std::unique_ptr<CRealElement> x8_b;
|
||||
public:
|
||||
CREIntTimesReal(CIntElement* a, CRealElement* b)
|
||||
: x4_a(a), x8_b(b) {}
|
||||
CREIntTimesReal(std::unique_ptr<CIntElement>&& a, std::unique_ptr<CRealElement>&& b)
|
||||
: x4_a(std::move(a)), x8_b(std::move(b)) {}
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
@@ -322,8 +326,11 @@ class CREConstantRange : public CRealElement
|
||||
std::unique_ptr<CRealElement> x10_inRange;
|
||||
std::unique_ptr<CRealElement> x14_outOfRange;
|
||||
public:
|
||||
CREConstantRange(CRealElement* a, CRealElement* b, CRealElement* c, CRealElement* d, CRealElement* e)
|
||||
: x4_val(a), x8_min(b), xc_max(c), x10_inRange(d), x14_outOfRange(e) {}
|
||||
CREConstantRange(std::unique_ptr<CRealElement>&& a, std::unique_ptr<CRealElement>&& b,
|
||||
std::unique_ptr<CRealElement>&& c, std::unique_ptr<CRealElement>&& d,
|
||||
std::unique_ptr<CRealElement>&& e)
|
||||
: x4_val(std::move(a)), x8_min(std::move(b)), xc_max(std::move(c)),
|
||||
x10_inRange(std::move(d)), x14_outOfRange(std::move(e)) {}
|
||||
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
@@ -332,8 +339,8 @@ class CREGetComponentRed : public CRealElement
|
||||
{
|
||||
std::unique_ptr<CColorElement> x4_a;
|
||||
public:
|
||||
CREGetComponentRed(CColorElement* a)
|
||||
: x4_a(a) {}
|
||||
CREGetComponentRed(std::unique_ptr<CColorElement>&& a)
|
||||
: x4_a(std::move(a)) {}
|
||||
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
@@ -342,8 +349,8 @@ class CREGetComponentGreen : public CRealElement
|
||||
{
|
||||
std::unique_ptr<CColorElement> x4_a;
|
||||
public:
|
||||
CREGetComponentGreen(CColorElement* a)
|
||||
: x4_a(a) {}
|
||||
CREGetComponentGreen(std::unique_ptr<CColorElement>&& a)
|
||||
: x4_a(std::move(a)) {}
|
||||
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
@@ -352,8 +359,8 @@ class CREGetComponentBlue : public CRealElement
|
||||
{
|
||||
std::unique_ptr<CColorElement> x4_a;
|
||||
public:
|
||||
CREGetComponentBlue(CColorElement* a)
|
||||
: x4_a(a) {}
|
||||
CREGetComponentBlue(std::unique_ptr<CColorElement>&& a)
|
||||
: x4_a(std::move(a)) {}
|
||||
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
@@ -362,8 +369,8 @@ class CREGetComponentAlpha : public CRealElement
|
||||
{
|
||||
std::unique_ptr<CColorElement> x4_a;
|
||||
public:
|
||||
CREGetComponentAlpha(CColorElement* a)
|
||||
: x4_a(a) {}
|
||||
CREGetComponentAlpha(std::unique_ptr<CColorElement>&& a)
|
||||
: x4_a(std::move(a)) {}
|
||||
|
||||
bool GetValue(int frame, float& valOut) const;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user