diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2024-03-04 18:28:09 -0500 |
|---|---|---|
| committer | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2024-03-04 18:28:09 -0500 |
| commit | cddc3efdcd2d199732caa275584e0ef714fe41f7 (patch) | |
| tree | 06d0bbb005673ee826678f546bad8c7422c461d2 /include/JSystem/JStudio | |
| parent | 47f60f27333873609a15e5e60cf112da4d0a1559 (diff) | |
Started copying JStudio progress from pikmin2
Diffstat (limited to 'include/JSystem/JStudio')
6 files changed, 184 insertions, 12 deletions
diff --git a/include/JSystem/JStudio/JStudio/jstudio-control.h b/include/JSystem/JStudio/JStudio/jstudio-control.h index f1209298..b1507ebc 100644 --- a/include/JSystem/JStudio/JStudio/jstudio-control.h +++ b/include/JSystem/JStudio/JStudio/jstudio-control.h @@ -30,8 +30,10 @@ struct TFactory : public stb::TFactory { class TControl : public stb::TControl { public: - struct TTransform_translation_rotation_scaling {}; struct TTransform_position {}; + struct TTransform_position_direction {}; + struct TTransform_translation_rotation {}; + struct TTransform_translation_rotation_scaling {}; TControl(); virtual ~TControl(); @@ -47,7 +49,9 @@ public: fvb_destroyObject_all(); } + bool transformOnSet_isEnabled() const { return mTransformOnSet; } void transformOnSet_enable(bool param_0) { mTransformOnSet = param_0; } + bool transformOnGet_isEnabled() const { return mTransformOnGet; } void transformOnGet_enable(bool param_0) { mTransformOnGet = param_0; } void transform_enable(bool param_0) { @@ -60,6 +64,10 @@ public: transformOnGet_setOrigin(xyz, rotY); } + f32 transformOnSet_getRotationY() const { return mTransformOnSet_RotationY; } + CMtxP transformOnSet_getMatrix() const { return mTransformOnSet_Matrix; } + CMtxP transformOnGet_getMatrix() const { return mTransformOnGet_Matrix; } + void setSecondPerFrame(f64 param_0) { mSecondPerFrame = param_0; } f64 getSecondPerFrame() const { return mSecondPerFrame; } @@ -87,6 +95,33 @@ public: } return obj->referFunctionValue(); } + + void fvb_getObjectContainer() const {} + void fvb_referControl() {} + void fvb_removeObject_all() {} + void stb_getObjectContainer() const {} + void stb_referObjectContainer() {} + void stb_removeObject(JStudio::TObject*) {} + void transformOnGet_transform(const JStudio::TControl::TTransform_position&, JStudio::TControl::TTransform_position*) const {} + void transformOnGet_transform(const JStudio::TControl::TTransform_position_direction&, JStudio::TControl::TTransform_position_direction*) const {} + void transformOnGet_transform(const JStudio::TControl::TTransform_translation_rotation&, JStudio::TControl::TTransform_translation_rotation*) const {} + void transformOnGet_transformDirection(const Vec&, Vec*) const {} + void transformOnGet_transformRotation(const Vec&, Vec*) const {} + void transformOnGet_transformTranslation(const Vec&, Vec*) const {} + void transformOnGet_transform_ifEnabled(const JStudio::TControl::TTransform_position_direction&, JStudio::TControl::TTransform_position_direction*) const {} + void transformOnGet_transform_ifEnabled(const JStudio::TControl::TTransform_translation_rotation&, JStudio::TControl::TTransform_translation_rotation*) const {} + void transformOnSet_transform(const JStudio::TControl::TTransform_position&, JStudio::TControl::TTransform_position*) const {} + void transformOnSet_transform(const JStudio::TControl::TTransform_position_direction&, JStudio::TControl::TTransform_position_direction*) const {} + void transformOnSet_transform(const JStudio::TControl::TTransform_translation_rotation&, JStudio::TControl::TTransform_translation_rotation*) const {} + void transformOnSet_transform(CMtxP, MtxP) const {} + void transformOnSet_transformDirection(const Vec&, Vec*) const {} + void transformOnSet_transformDirection_ifEnabled(const Vec&, Vec*) const {} + void transformOnSet_transformRotation(const Vec&, Vec*) const {} + void transformOnSet_transformTranslation(const Vec&, Vec*) const {} + void transformOnSet_transformTranslation_ifEnabled(const Vec&, Vec*) const {} + void transformOnSet_transform_ifEnabled(const JStudio::TControl::TTransform_position_direction&, JStudio::TControl::TTransform_position_direction*) const {} + void transformOnSet_transform_ifEnabled(const JStudio::TControl::TTransform_translation_rotation&, JStudio::TControl::TTransform_translation_rotation*) const {} + void transformOnSet_transform_ifEnabled(CMtxP, MtxP) const {} /* 0x58 */ f64 mSecondPerFrame; /* 0x60 */ fvb::TControl fvb_Control; diff --git a/include/JSystem/JStudio/JStudio/jstudio-object.h b/include/JSystem/JStudio/JStudio/jstudio-object.h index d088c58b..c9177f24 100644 --- a/include/JSystem/JStudio/JStudio/jstudio-object.h +++ b/include/JSystem/JStudio/JStudio/jstudio-object.h @@ -14,6 +14,7 @@ namespace data { UNK_0x3 = 0x3, UNK_0x10 = 0x10, UNK_0x12 = 0x12, + UNK_0x18 = 0x18, UNK_0x19 = 0x19, }; }; @@ -108,6 +109,7 @@ public: TAdaptor* getAdaptor() { return mpAdaptor; } TControl* getControl() { return (TControl*)stb::TObject::getControl(); } + const TControl* getControl() const { return (const TControl*)stb::TObject::getControl(); } void prepareAdaptor() { if (mpAdaptor != NULL) { @@ -133,10 +135,22 @@ public: }; struct TAdaptor { - struct TSetVariableValue_immediate { - u32 field_0x0; - f32 field_0x4; - }; + inline TAdaptor(TVariableValue* values, int count) + : pValue_(values) + , u(count) + { + } + + struct TSetVariableValue_immediate { + inline TSetVariableValue_immediate(u32 p1, f32 p2) + : _00(p1) + , _04(p2) + { + } + + u32 _00; // _00 + f32 _04; // _04 + }; typedef void (*setVarFunc)(JStudio::TAdaptor*, JStudio::TObject*, u32, void const*, u32); virtual ~TAdaptor() = 0; virtual void adaptor_do_prepare(const JStudio::TObject*); @@ -277,6 +291,11 @@ struct TObject_light : public TObject { }; struct TAdaptor_message : public TAdaptor { + inline TAdaptor_message() + : TAdaptor(NULL, 0) + { + } + virtual ~TAdaptor_message() = 0; }; @@ -289,17 +308,22 @@ struct TObject_message : public TObject { }; struct TAdaptor_particle : public TAdaptor { + TAdaptor_particle() + : TAdaptor(mValue, ARRAY_SIZE(mValue)) + , mValue() + { + } virtual ~TAdaptor_particle() = 0; /* 0x10 */ TVariableValue mValue[20]; - static u8 const sauVariableValue_3_TRANSLATION_XYZ[12]; - static u8 const sauVariableValue_3_ROTATION_XYZ[12]; - static u8 const sauVariableValue_3_SCALING_XYZ[12]; - static u8 const sauVariableValue_3_COLOR_RGB[12]; - static u8 const sauVariableValue_4_COLOR_RGBA[16]; - static u8 const sauVariableValue_3_COLOR1_RGB[12]; - static u8 const sauVariableValue_4_COLOR1_RGBA[16]; + static u32 const sauVariableValue_3_TRANSLATION_XYZ[12]; + static u32 const sauVariableValue_3_ROTATION_XYZ[12]; + static u32 const sauVariableValue_3_SCALING_XYZ[12]; + static u32 const sauVariableValue_3_COLOR_RGB[12]; + static u32 const sauVariableValue_4_COLOR_RGBA[16]; + static u32 const sauVariableValue_3_COLOR1_RGB[12]; + static u32 const sauVariableValue_4_COLOR1_RGBA[16]; }; struct TObject_particle : public TObject { diff --git a/include/JSystem/JStudio/JStudio_JMessage/control.h b/include/JSystem/JStudio/JStudio_JMessage/control.h new file mode 100644 index 00000000..36447ffd --- /dev/null +++ b/include/JSystem/JStudio/JStudio_JMessage/control.h @@ -0,0 +1,34 @@ +#ifndef JSTUDIO_JMESSAGE_CONTROL_H +#define JSTUDIO_JMESSAGE_CONTROL_H + +#include "JSystem/JStudio/JStudio/jstudio-object.h" +#include "JSystem/JMessage/control.h" + +namespace JStudio_JMessage { +struct TCreateObject_base : JStudio::TCreateObject { + virtual ~TCreateObject_base() = 0; // _08 + virtual bool create(JStudio::TObject** newObject, const JStudio::stb::data::TParse_TBlock_object& data); // _0C + virtual JMessage::TControl* find(const JStudio::stb::data::TParse_TBlock_object&) = 0; // _10 +}; +} // namespace JStudio_JMessage + +namespace JStudio_JMessage { +struct TCreateObject : public TCreateObject_base { + TCreateObject(JMessage::TControl* control) { mControl = control; } + + virtual ~TCreateObject(); // _08 + virtual JMessage::TControl* find(const JStudio::stb::data::TParse_TBlock_object&); // _10 + + JMessage::TControl* mControl; // _0C +}; + +struct TAdaptor_message : public JStudio::TAdaptor_message { + virtual ~TAdaptor_message(); // _08 + virtual void adaptor_do_MESSAGE(JStudio::data::TEOperationData, const void*, u32); // _20 + + TAdaptor_message(JMessage::TControl*); + JMessage::TControl* mControl; // _10 +}; +} // namespace JStudio_JMessage + +#endif /* JSTUDIO_JMESSAGE_CONTROL_H */ diff --git a/include/JSystem/JStudio/JStudio_JMessage/object-message.h b/include/JSystem/JStudio/JStudio_JMessage/object-message.h new file mode 100644 index 00000000..03954ede --- /dev/null +++ b/include/JSystem/JStudio/JStudio_JMessage/object-message.h @@ -0,0 +1,6 @@ +#ifndef OBJECT_MESSAGE_H +#define OBJECT_MESSAGE_H + +#include "JSystem/JStudio/JStudio_JMessage/control.h" + +#endif /* OBJECT_MESSAGE_H */ diff --git a/include/JSystem/JStudio/JStudio_JParticle/control.h b/include/JSystem/JStudio/JStudio_JParticle/control.h new file mode 100644 index 00000000..3ec04095 --- /dev/null +++ b/include/JSystem/JStudio/JStudio_JParticle/control.h @@ -0,0 +1,67 @@ +#ifndef JSTUDIO_JPARTICLE_CONTROL_H +#define JSTUDIO_JPARTICLE_CONTROL_H + +#include "JSystem/JParticle/JPAParticle.h" +#include "JSystem/JStage/JSGSystem.h" +#include "JSystem/JStudio/JStudio/jstudio-object.h" + +namespace JStudio_JParticle { +struct TCreateObject : public JStudio::TCreateObject { + TCreateObject(JPAEmitterManager* p_emitMgr, const JStage::TSystem* p_system) { + pJPAEmitterManager_ = p_emitMgr; + pJSGSystem_ = p_system; + mPermit_onExit_notEnd = false; + } + + virtual ~TCreateObject(); + virtual bool create(JStudio::TObject**, JStudio::stb::data::TParse_TBlock_object const&); + + /* 0x0C */ JPAEmitterManager* pJPAEmitterManager_; + /* 0x10 */ const JStage::TSystem* pJSGSystem_; + /* 0x14 */ bool mPermit_onExit_notEnd; +}; + +struct TAdaptor_particle : public JStudio::TAdaptor_particle { + struct TJPACallback_ : JPACallBackBase<JPABaseEmitter*> { + inline TJPACallback_(TAdaptor_particle* adaptor) + : mAdaptor(adaptor) + , mObject(NULL) + { + } + + virtual ~TJPACallback_() { } // _08 (weak) + virtual void execute(JPABaseEmitter*); // _0C + + TAdaptor_particle* mAdaptor; // _04 + const JStudio::TObject* mObject; // _08 + }; + + TAdaptor_particle(JPAEmitterManager*, const JStage::TSystem*); + void beginParticle_fadeIn_(); + void endParticle_fadeOut_(u32); + + virtual ~TAdaptor_particle(); + virtual void adaptor_do_prepare(const JStudio::TObject*); + virtual void adaptor_do_end(const JStudio::TObject*); + virtual void adaptor_do_update(const JStudio::TObject*, u32); + virtual void adaptor_do_PARTICLE(JStudio::data::TEOperationData, void const*, u32); + virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32); + virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*, u32); + virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*, u32); + + /* 0x19C */ JPAEmitterManager* mEmitterManager; + /* 0x1A0 */ JPABaseEmitter* mEmitter; + /* 0x1A4 */ TJPACallback_ mCallback; + /* 0x1B0 */ int _188; + /* 0x1B4 */ u32 _18C; + /* 0x1B8 */ u32 _190; + /* 0x1BC */ u32 _194; + /* 0x1C0 */ const JStage::TSystem* mSystem; + /* 0x1C4 */ JStage::TObject* _19C; + /* 0x1C8 */ u32 _1A0; + /* 0x1CC */ bool _1A4; +}; // Size: 0x1D0 + +}; // namespace JStudio_JParticle + +#endif /* JSTUDIO_JPARTICLE_CONTROL_H */ diff --git a/include/JSystem/JStudio/JStudio_JParticle/object-particle.h b/include/JSystem/JStudio/JStudio_JParticle/object-particle.h new file mode 100644 index 00000000..c887a183 --- /dev/null +++ b/include/JSystem/JStudio/JStudio_JParticle/object-particle.h @@ -0,0 +1,6 @@ +#ifndef OBJECT_PARTICLE_H +#define OBJECT_PARTICLE_H + +#include "JSystem/JStudio/JStudio_JParticle/control.h" + +#endif /* OBJECT_PARTICLE_H */ |
