2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 01:07:43 +00:00

All int elements implemented

This commit is contained in:
Jack Andersen
2016-02-06 14:19:59 -10:00
parent 8fbe6a953c
commit 7ae8d21c55
9 changed files with 444 additions and 46 deletions

View File

@@ -45,10 +45,10 @@ class CIETimeChain : public CIntElement
{
std::unique_ptr<CIntElement> x4_a;
std::unique_ptr<CIntElement> x8_b;
std::unique_ptr<CIntElement> xc_c;
std::unique_ptr<CIntElement> xc_swFrame;
public:
CIETimeChain(CIntElement* a, CIntElement* b, CIntElement* c)
: x4_a(a), x8_b(b), xc_c(c) {}
: x4_a(a), x8_b(b), xc_swFrame(c) {}
bool GetValue(int frame, int& valOut) const;
};
@@ -81,10 +81,10 @@ public:
class CIELifetimePercent : public CIntElement
{
std::unique_ptr<CIntElement> x4_a;
std::unique_ptr<CIntElement> x4_percentVal;
public:
CIELifetimePercent(CIntElement* a)
: x4_a(a) {}
: x4_percentVal(a) {}
bool GetValue(int frame, int& valOut) const;
};
@@ -100,13 +100,13 @@ public:
class CIEPulse : public CIntElement
{
std::unique_ptr<CIntElement> x4_a;
std::unique_ptr<CIntElement> x8_b;
std::unique_ptr<CIntElement> xc_c;
std::unique_ptr<CIntElement> x10_d;
std::unique_ptr<CIntElement> x4_aDuration;
std::unique_ptr<CIntElement> x8_bDuration;
std::unique_ptr<CIntElement> xc_aVal;
std::unique_ptr<CIntElement> x10_bVal;
public:
CIEPulse(CIntElement* a, CIntElement* b, CIntElement* c, CIntElement* d)
: x4_a(a), x8_b(b), xc_c(c), x10_d(d) {}
: x4_aDuration(a), x8_bDuration(b), xc_aVal(c), x10_bVal(d) {}
bool GetValue(int frame, int& valOut) const;
};
@@ -122,22 +122,24 @@ public:
class CIESampleAndHold : public CIntElement
{
std::unique_ptr<CIntElement> x4_a;
std::unique_ptr<CIntElement> x8_b;
std::unique_ptr<CIntElement> xc_c;
std::unique_ptr<CIntElement> x4_sampleSource;
int x8_nextSampleFrame = 0;
std::unique_ptr<CIntElement> xc_waitFramesMin;
std::unique_ptr<CIntElement> x10_waitFramesMax;
int x14_holdVal;
public:
CIESampleAndHold(CIntElement* a, CIntElement* b, CIntElement* c)
: x4_a(a), x8_b(b), xc_c(c) {}
: x4_sampleSource(a), xc_waitFramesMin(b), x10_waitFramesMax(c) {}
bool GetValue(int frame, int& valOut) const;
};
class CIERandom : public CIntElement
{
std::unique_ptr<CIntElement> x4_a;
std::unique_ptr<CIntElement> x8_b;
std::unique_ptr<CIntElement> x4_min;
std::unique_ptr<CIntElement> x8_max;
public:
CIERandom(CIntElement* a, CIntElement* b)
: x4_a(a), x8_b(b) {}
: x4_min(a), x8_max(b) {}
bool GetValue(int frame, int& valOut) const;
};