JStudio object-particle almost matches

This commit is contained in:
LagoLunatic
2024-03-04 19:46:39 -05:00
parent cddc3efdcd
commit eb0b1611e5
3 changed files with 100 additions and 59 deletions
@@ -81,6 +81,10 @@ struct TVariableValue {
}
}
inline void setOutput(const TOutput* output) {
pOutput_ = (output != NULL ? (TOutput*)output : (TOutput*)&soOutput_none_);
}
static u8 soOutput_none_[4 + 4 /* padding */];
/* 0x00 */ f32 mValue;
@@ -143,13 +147,13 @@ struct TAdaptor {
struct TSetVariableValue_immediate {
inline TSetVariableValue_immediate(u32 p1, f32 p2)
: _00(p1)
, _04(p2)
: field_0x0(p1)
, field_0x4(p2)
{
}
u32 _00; // _00
f32 _04; // _04
u32 field_0x0;
f32 field_0x4;
};
typedef void (*setVarFunc)(JStudio::TAdaptor*, JStudio::TObject*, u32, void const*, u32);
virtual ~TAdaptor() = 0;
@@ -36,6 +36,17 @@ struct TAdaptor_particle : public JStudio::TAdaptor_particle {
const JStudio::TObject* mObject; // _08
};
struct TVVOOn_BEGIN_FADE_IN_ : public JStudio::TVariableValue::TOutput {
void operator()(float, JStudio::TAdaptor*) const;
};
struct TVVOOn_END_FADE_OUT_ : public JStudio::TVariableValue::TOutput {
void operator()(float, JStudio::TAdaptor*) const;
};
static TVVOOn_BEGIN_FADE_IN_ soVVOOn_BEGIN_FADE_IN_;
static TVVOOn_END_FADE_OUT_ soVVOOn_END_FADE_OUT_;
TAdaptor_particle(JPAEmitterManager*, const JStage::TSystem*);
void beginParticle_fadeIn_();
void endParticle_fadeOut_(u32);