Started copying JStudio progress from pikmin2

This commit is contained in:
LagoLunatic
2024-03-04 18:28:09 -05:00
parent 47f60f2733
commit cddc3efdcd
16 changed files with 715 additions and 89 deletions
@@ -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;
@@ -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 {
@@ -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 */
@@ -0,0 +1,6 @@
#ifndef OBJECT_MESSAGE_H
#define OBJECT_MESSAGE_H
#include "JSystem/JStudio/JStudio_JMessage/control.h"
#endif /* OBJECT_MESSAGE_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 */
@@ -0,0 +1,6 @@
#ifndef OBJECT_PARTICLE_H
#define OBJECT_PARTICLE_H
#include "JSystem/JStudio/JStudio_JParticle/control.h"
#endif /* OBJECT_PARTICLE_H */