j2d / map_path work, d_drawlist / d_attention cleanup (#208)

* work on fop actor / actor mng, daalink, d_a_obj_item

* d_a_title mostly decompiled

* daalink / d_event / JMessage / dmsg_out_font work

* msg_scrn_base / msg_scrn_boss

* some work on mDo machine, d_menu_save, d_tresure, and various

* remove asm

* progress

* finish d_menu_save / d_pane_class_alpha / d_pane_class / rename some data

* rename more data

* remove asm / progress

* match all of d_pane_class

* fixes / some dKankyo doc

* bunch of j2d work. d_drawlist / d_attention cleanup

* progress / asm

* cleanup wip

* decompile JStage

* setup some more JStudio structs

* set up d_demo classes

* some d_demo work

* cleanup dolphin os stuff

* some initial dEvent documentation

* some At collision documentation

* match JUTConsole::doDraw

* dbgs work / split up some of d_a_alink into .inc files

* d_a_alink_spinner work
This commit is contained in:
TakaRikka
2022-08-30 14:22:17 -07:00
committed by GitHub
parent bc30d007e1
commit f8979749e3
613 changed files with 30182 additions and 40087 deletions
+60
View File
@@ -2,5 +2,65 @@
#define CTB_H
#include "dolphin/types.h"
#include "JSystem/JGadget/binary.h"
#include "JSystem/JGadget/linklist.h"
#include "JSystem/JStudio/JStudio/object-id.h"
namespace JStudio {
namespace ctb {
struct TObject : public object::TObject_ID {
/* 80280F18 */ virtual ~TObject() = 0;
/* 0x08 vtable */
/* 0x0C */ JGadget::TLinkListNode field_0xc;
/* 0x14 */ void* pData_;
};
struct data {
struct TParse_TBlock : public JGadget::binary::TParseData_aligned<4> {};
static u32 ga4cSignature;
};
struct TObject_TxyzRy : public TObject {
/* 80280F60 */ TObject_TxyzRy(JStudio::ctb::data::TParse_TBlock const&);
/* 80281554 */ virtual ~TObject_TxyzRy();
/* 80280FBC */ virtual bool getScheme() const;
};
struct TFactory {
TFactory() {}
/* 80281274 */ virtual ~TFactory();
/* 802812BC */ virtual void create(JStudio::ctb::data::TParse_TBlock const&);
/* 80281320 */ virtual void destroy(JStudio::ctb::TObject*);
};
struct TControl {
/* 80280FC4 */ TControl();
/* 80280FF4 */ virtual ~TControl();
/* 80281060 */ void appendObject(JStudio::ctb::TObject*);
/* 802810AC */ void removeObject(JStudio::ctb::TObject*);
/* 802810DC */ void destroyObject(JStudio::ctb::TObject*);
/* 8028112C */ void destroyObject_all();
/* 80281190 */ void getObject(void const*, u32);
/* 80281230 */ void getObject_index(u32);
/* 0x4 */ TFactory* pFactory_;
/* 0x8 */ JGadget::TLinkList<TObject, 2> mList;
};
struct TParse : public JGadget::binary::TParse_header_block {
/* 8028135C */ TParse(JStudio::ctb::TControl*);
/* 8028137C */ virtual ~TParse();
/* 802813DC */ virtual void parseHeader_next(void const**, u32*, u32);
/* 80281470 */ virtual void parseBlock_next(void const**, u32*, u32);
/* 0x4 */ TControl* pControl_;
};
}; // namespace ctb
}; // namespace JStudio
#endif /* CTB_H */
+1 -1
View File
@@ -10,7 +10,7 @@ namespace JStudio {
namespace fvb {
namespace data {
extern f32 ga4cSignature[1 + 1 /* padding */];
extern const char ga4cSignature[4];
const int PARAGRAPH_DATA = 1;
+5 -4
View File
@@ -49,8 +49,9 @@ private:
class TFactory {
public:
/* 80284918 */ virtual ~TFactory();
TFactory() {}
/* 80284918 */ virtual ~TFactory();
/* 80284960 */ virtual TObject* create(JStudio::fvb::data::TParse_TBlock const&);
/* 80284AA0 */ virtual void destroy(JStudio::fvb::TObject*);
};
@@ -70,9 +71,9 @@ public:
TFactory* getFactory() const { return pFactory; }
private:
TFactory* pFactory;
JGadget::TLinkList<TObject, 12> ocObject_;
};
/* 0x4 */ TFactory* pFactory;
/* 0x8 */ JGadget::TLinkList<TObject, 12> ocObject_;
}; // Size: 0x14
class TObject_composite : public TObject {
public:
@@ -1,6 +1,96 @@
#ifndef JSTUDIO_CONTROL_H
#define JSTUDIO_CONTROL_H
#include "dolphin/types.h"
#include "JSystem/JGadget/binary.h"
#include "JSystem/JStudio/JStudio/fvb.h"
#include "JSystem/JStudio/JStudio/stb.h"
#include "JSystem/JStudio/JStudio/ctb.h"
#include "dolphin/gx/GX.h"
namespace JStudio {
struct TCreateObject {
TCreateObject() {}
/* 80285488 */ virtual ~TCreateObject() = 0;
/* 0x4 */ JGadget::TLinkListNode mNode;
}; // Size: 0xC
struct TFactory : public stb::TFactory {
TFactory() {}
/* 802854D0 */ virtual ~TFactory();
/* 802855AC */ virtual void create(JStudio::stb::data::TParse_TBlock_object const&);
/* 80285560 */ void appendCreateObject(JStudio::TCreateObject*);
/* 0x04 */ JGadget::TLinkList<TCreateObject, -4> mList;
/* 0x10 */ fvb::TFactory fvb_Factory;
/* 0x14 */ ctb::TFactory ctb_Factory;
};
class TControl : public stb::TControl {
public:
struct TTransform_translation_rotation_scaling {};
struct TTransform_position {};
/* 80285114 */ TControl();
/* 802851AC */ virtual ~TControl();
/* 80285228 */ void setFactory(JStudio::TFactory*);
/* 80285250 */ void transformOnSet_setOrigin_TxyzRy(Vec const&, f32);
/* 802852D0 */ void transformOnGet_setOrigin_TxyzRy(Vec const&, f32);
/* 80285368 */ void transform_setOrigin_ctb(JStudio::ctb::TObject const&);
/* 8028543C */ void transform_setOrigin_ctb_index(u32);
void stb_destroyObject_all() { stb::TControl::destroyObject_all(); }
void fvb_destroyObject_all() { fvb_Control.destroyObject_all(); }
void ctb_destroyObject_all() { ctb_Control.destroyObject_all(); }
void destroyObject_all() {
stb_destroyObject_all();
fvb_destroyObject_all();
ctb_destroyObject_all();
}
void transformOnSet_enable(bool param_0) { mTransformOnSet = param_0; }
void transformOnGet_enable(bool param_0) { mTransformOnGet = param_0; }
void transform_enable(bool param_0) {
transformOnSet_enable(param_0);
transformOnGet_enable(param_0);
}
void transform_setOrigin_TxyzRy(const Vec& xyz, f32 rotY) {
transformOnSet_setOrigin_TxyzRy(xyz, rotY);
transformOnGet_setOrigin_TxyzRy(xyz, rotY);
}
void transform_setOrigin(const Vec& xyz, f32 rotY) {
transform_setOrigin_TxyzRy(xyz, rotY);
}
/* 0x58 */ f64 mSecondPerFrame;
/* 0x60 */ fvb::TControl fvb_Control;
/* 0x74 */ ctb::TControl ctb_Control;
/* 0x88 */ bool mTransformOnSet;
/* 0x89 */ bool mTransformOnGet;
/* 0x8C */ Vec field_0x8c;
/* 0x98 */ Vec field_0x98;
/* 0xA4 */ f32 mTransformOnSet_RotationY;
/* 0xA8 */ u8 field_0xa8[4];
/* 0xAC */ Mtx mTransformOnSet_Matrix;
/* 0xDC */ Mtx mTransformOnGet_Matrix;
};
struct TParse : public stb::TParse {
/* 8028566C */ TParse(JStudio::TControl*);
/* 80285844 */ void parseBlock_block_fvb_(JStudio::stb::data::TParse_TBlock const&, u32);
/* 802858F0 */ void parseBlock_block_ctb_(JStudio::stb::data::TParse_TBlock const&, u32);
/* 802856A8 */ virtual ~TParse();
/* 80285708 */ virtual void parseHeader(JStudio::stb::data::TParse_THeader const&, u32);
/* 802857E4 */ virtual void parseBlock_block(JStudio::stb::data::TParse_TBlock const&, u32);
};
}; // namespace JStudio
#endif /* JSTUDIO_CONTROL_H */
@@ -3,4 +3,10 @@
#include "dolphin/types.h"
namespace JStudio {
namespace data {
extern const char ga8cSignature[8];
} // namespace data
} // namespace JStudio
#endif /* JSTUDIO_DATA_H */
@@ -2,5 +2,14 @@
#define JSTUDIO_MATH_H
#include "dolphin/types.h"
#include "dolphin/mtx/mtxvec.h"
namespace JStudio {
namespace math {
/* 802859DC */ void getRotation_xyz(MtxP, f32, f32, f32);
/* 80285B44 */ void getTransformation_SRxyzT(MtxP, Vec const&, Vec const&, Vec const&);
/* 80285BCC */ void getFromTransformation_SRxyzT(Vec*, Vec*, Vec*, CMtxP);
};
}; // namespace JStudio
#endif /* JSTUDIO_MATH_H */
@@ -1,6 +1,237 @@
#ifndef JSTUDIO_OBJECT_H
#define JSTUDIO_OBJECT_H
#include "dolphin/types.h"
#include "JSystem/JStudio/JStudio/fvb.h"
#include "JSystem/JStudio/JStudio/stb.h"
#include "JSystem/JStudio/JStudio/ctb.h"
#include "JSystem/JStudio/JStudio/jstudio-control.h"
#include "dolphin/gx/GX.h"
namespace JStudio {
namespace data {
struct TEOperationData {};
};
struct TAdaptor;
struct TVariableValue {
struct TOutput {
/* 80285E0C */ ~TOutput();
};
struct TOutput_none_ {
/* 80285F6C */ ~TOutput_none_();
/* 80285FCC */ void operator()(f32, JStudio::TAdaptor*) const;
};
/* 80285E54 */ void update(f64, JStudio::TAdaptor*);
/* 80285EB8 */ void update_immediate_(JStudio::TVariableValue*, f64);
/* 80285ECC */ void update_time_(JStudio::TVariableValue*, f64);
/* 80285F08 */ void update_functionValue_(JStudio::TVariableValue*, f64);
/* 8028B568 */ TVariableValue();
static u8 soOutput_none_[4 + 4 /* padding */];
/* 0x00 */ f32 mValue;
/* 0x04 */ u32 field_0x4;
/* 0x08 */ void (*field_0x8)(TVariableValue*, double);
/* 0x0C */ TFunctionValue* field_0xc;
/* 0x10 */ TOutput* pOutput_;
}; // Size: 0x14
class TObject : public stb::TObject {
public:
/* 80286864 */ TObject(JStudio::stb::data::TParse_TBlock_object const&, JStudio::TAdaptor*);
/* 80286734 */ void forward_value(u32);
/* 802866B0 */ virtual ~TObject() = 0;
/* 8028679C */ virtual void do_begin();
/* 802867D4 */ virtual void do_end();
virtual void do_paragraph(u32, void const*, u32) = 0;
/* 8028680C */ virtual void do_wait(u32);
/* 8028682C */ virtual void do_data(void const*, u32, void const*, u32);
/* 0x34 */ TAdaptor* mpAdaptor;
};
struct TAdaptor {
struct TSetVariableValue_immediate {};
/* 80285FD0 */ virtual ~TAdaptor() = 0;
/* 80286018 */ virtual void adaptor_do_prepare();
/* 8028601C */ virtual void adaptor_do_begin();
/* 80286020 */ virtual void adaptor_do_end();
/* 80286024 */ virtual void adaptor_do_update(u32);
/* 80286028 */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
/* 8028602C */ void adaptor_setVariableValue(JStudio::TControl*, u32,
JStudio::data::TEOperationData, void const*, u32);
/* 802860CC */ void adaptor_setVariableValue_n(JStudio::TControl*, u32 const*, u32,
JStudio::data::TEOperationData, void const*,
u32);
/* 802861C0 */ void
adaptor_setVariableValue_immediate(JStudio::TAdaptor::TSetVariableValue_immediate const*);
/* 80286204 */ void adaptor_setVariableValue_Vec(u32 const*, Vec const&);
/* 80286274 */ void adaptor_getVariableValue_Vec(Vec*, u32 const*) const;
/* 802862AC */ void adaptor_setVariableValue_GXColor(u32 const*, GXColor const&);
/* 8028638C */ void adaptor_getVariableValue_GXColor(GXColor*, u32 const*) const;
/* 802864D8 */ void adaptor_updateVariableValue(JStudio::TControl*, u32);
/* 8028656C */ void adaptor_setVariableValue_VOID_(JStudio::TAdaptor*, JStudio::TControl*, u32,
void const*, u32);
/* 80286584 */ void adaptor_setVariableValue_IMMEDIATE_(JStudio::TAdaptor*, JStudio::TControl*,
u32, void const*, u32);
/* 802865B0 */ void adaptor_setVariableValue_TIME_(JStudio::TAdaptor*, JStudio::TControl*, u32,
void const*, u32);
/* 802865DC */ void adaptor_setVariableValue_FVR_NAME_(JStudio::TAdaptor*, JStudio::TControl*,
u32, void const*, u32);
/* 80286648 */ void adaptor_setVariableValue_FVR_INDEX_(JStudio::TAdaptor*, JStudio::TControl*,
u32, void const*, u32);
/* 0x4 */ TObject* pObject_;
/* 0x8 */ TVariableValue* pValue_;
/* 0xC */ u32 u;
};
struct TAdaptor_actor : public TAdaptor {
/* 802868B0 */ virtual ~TAdaptor_actor() = 0;
/* 0x10 */ TVariableValue mValue[14];
static u8 const sauVariableValue_3_TRANSLATION_XYZ[12];
static u8 const sauVariableValue_3_ROTATION_XYZ[12];
static u8 const sauVariableValue_3_SCALING_XYZ[12];
}; // Size: 0x128
struct TObject_actor : public TObject {
/* 80286910 */ TObject_actor(JStudio::stb::data::TParse_TBlock_object const&,
JStudio::TAdaptor_actor*);
/* 802881A4 */ virtual ~TObject_actor();
/* 8028694C */ virtual void do_paragraph(u32, void const*, u32);
};
struct TAdaptor_ambientLight : public TAdaptor {
/* 80286C9C */ virtual ~TAdaptor_ambientLight() = 0;
/* 0x10 */ TVariableValue mValue[4];
static u8 const sauVariableValue_3_COLOR_RGB[12];
static u8 const sauVariableValue_4_COLOR_RGBA[16];
};
struct TObject_ambientLight : public TObject {
/* 80286CFC */ TObject_ambientLight(JStudio::stb::data::TParse_TBlock_object const&,
JStudio::TAdaptor_ambientLight*);
/* 80288144 */ virtual ~TObject_ambientLight();
/* 80286D38 */ virtual void do_paragraph(u32, void const*, u32);
};
struct TAdaptor_camera : public TAdaptor {
/* 80286E1C */ virtual ~TAdaptor_camera() = 0;
/* 0x10 */ TVariableValue mValue[12];
static u8 const sauVariableValue_3_POSITION_XYZ[12];
static u8 const sauVariableValue_3_TARGET_POSITION_XYZ[12];
static u8 sauVariableValue_2_DISTANCE_NEAR_FAR[8];
};
struct TObject_camera : public TObject {
/* 80286E7C */ TObject_camera(JStudio::stb::data::TParse_TBlock_object const&,
JStudio::TAdaptor_camera*);
/* 802880E4 */ virtual ~TObject_camera();
/* 80286EB8 */ virtual void do_paragraph(u32, void const*, u32);
};
struct TAdaptor_fog : public TAdaptor {
/* 8028717C */ virtual ~TAdaptor_fog() = 0;
/* 0x10 */ TVariableValue mValue[6];
static u8 const sauVariableValue_3_COLOR_RGB[12];
static u8 const sauVariableValue_4_COLOR_RGBA[16];
static u8 sauVariableValue_2_RANGE_BEGIN_END[8];
};
struct TObject_fog : public TObject {
/* 802871DC */ TObject_fog(JStudio::stb::data::TParse_TBlock_object const&,
JStudio::TAdaptor_fog*);
/* 80288084 */ virtual ~TObject_fog();
/* 80287218 */ virtual void do_paragraph(u32, void const*, u32);
};
struct TAdaptor_light : public TAdaptor {
/* 80287308 */ virtual ~TAdaptor_light() = 0;
/* 0x10 */ TVariableValue mValue[13];
static u8 const sauVariableValue_3_COLOR_RGB[12];
static u8 const sauVariableValue_4_COLOR_RGBA[16];
static u8 const sauVariableValue_3_POSITION_XYZ[12];
static u8 const sauVariableValue_3_TARGET_POSITION_XYZ[12];
static u8 sauVariableValue_2_DIRECTION_THETA_PHI[8];
};
struct TObject_light : public TObject {
/* 80287368 */ TObject_light(JStudio::stb::data::TParse_TBlock_object const&,
JStudio::TAdaptor_light*);
/* 80288024 */ virtual ~TObject_light();
/* 802873A4 */ virtual void do_paragraph(u32, void const*, u32);
};
struct TAdaptor_message : public TAdaptor {
/* 802875E0 */ virtual ~TAdaptor_message() = 0;
};
struct TObject_message : public TObject {
/* 80287640 */ TObject_message(JStudio::stb::data::TParse_TBlock_object const&,
JStudio::TAdaptor_message*);
/* 80287FC4 */ virtual ~TObject_message();
/* 8028767C */ virtual void do_paragraph(u32, void const*, u32);
};
struct TAdaptor_particle : public TAdaptor {
/* 8028770C */ 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];
};
struct TObject_particle : public TObject {
/* 8028776C */ TObject_particle(JStudio::stb::data::TParse_TBlock_object const&,
JStudio::TAdaptor_particle*);
/* 80287F64 */ virtual ~TObject_particle();
/* 802877A8 */ virtual void do_paragraph(u32, void const*, u32);
};
struct TAdaptor_sound : public TAdaptor {
/* 80287B3C */ virtual ~TAdaptor_sound() = 0;
/* 0x10 */ TVariableValue mValue[13];
static u8 const sauVariableValue_3_POSITION_XYZ[12];
}; // Size: 0x114
struct TObject_sound : public TObject {
/* 80287B9C */ TObject_sound(JStudio::stb::data::TParse_TBlock_object const&,
JStudio::TAdaptor_sound*);
/* 80287F04 */ virtual ~TObject_sound();
/* 80287BD8 */ virtual void do_paragraph(u32, void const*, u32);
};
}; // namespace JStudio
#endif /* JSTUDIO_OBJECT_H */
+2 -2
View File
@@ -15,8 +15,8 @@ public:
/* 80288988 */ void isEqual(JStudio::object::TIDData const&, JStudio::object::TIDData const&);
private:
const void* mID;
u32 mID_size;
/* 0x00 */ const void* mID;
/* 0x04 */ u32 mID_size;
};
struct TObject_ID : public TIDData {
+2 -2
View File
@@ -21,8 +21,8 @@ const int BLOCK_NONE = -1;
// Used to expand a signed 24 int to a signed 32 int
const u32 gu32Mask_TSequence_value_signExpansion = 0xFF000000;
extern const u32 ga4cSignature; // 'STB/0'
extern const u8 gauDataSize_TEParagraph_data[32];
extern u32 ga4cSignature; // 'STB/0'
extern const s32 gauDataSize_TEParagraph_data[8];
inline void toString_block(char* a5c, u32 arg1) {
// from debug, todo
+6 -2
View File
@@ -107,6 +107,8 @@ private:
class TFactory {
public:
TFactory() {}
/* 802895B4 */ virtual ~TFactory();
/* 802895FC */ virtual TObject* create(data::TParse_TBlock_object const&);
/* 80289604 */ virtual void destroy(TObject*);
@@ -130,13 +132,15 @@ public:
/* 80289300 */ void destroyObject_all();
/* 80289364 */ TObject* getObject(void const*, u32);
/* 80289404 */ void reset();
/* 802894B4 */ void forward(u32);
/* 802894B4 */ u8 forward(u32);
void setStatus_(u32 status) { mStatus = status; }
void resetStatus_() { setStatus_(0); }
bool isSuspended() const { return _54 > 0; }
TFactory* getFactory() const { return pFactory; }
TObject_control& referObject_control() { return mObject_control; }
int getSuspend() const { return _54; }
void setSuspend(s32 suspend) { mObject_control.setSuspend(suspend); }
private:
/* 0x04 */ u32 _4;
@@ -145,7 +149,7 @@ private:
/* 0x10 */ JGadget::TLinkList<TObject, 12> mObjectContainer;
/* 0x1C */ u32 mStatus;
/* 0x20 */ TObject_control mObject_control;
/* 0x54 */ s32 _54; // "second per frame"?
/* 0x54 */ s32 _54;
};
} // namespace stb
@@ -1,6 +1,81 @@
#ifndef CONTROL_H
#define CONTROL_H
#ifndef JSTUDIO_JAUDIO2_CONTROL_H
#define JSTUDIO_JAUDIO2_CONTROL_H
#include "dolphin/types.h"
#include "JSystem/JAudio2/JAISoundHandles.h"
#include "JSystem/JAudio2/JAISoundStarter.h"
#include "JSystem/JStage/JSGSystem.h"
#include "JSystem/JStudio/JStudio/jstudio-object.h"
#endif /* CONTROL_H */
namespace JStudio_JAudio2 {
struct TCreateObject : public JStudio::TCreateObject {
TCreateObject(JAISoundStarter* p_soundStarter, const JStage::TSystem* p_system) {
pJAISoundStarter_ = p_soundStarter;
pJSGSystem_ = p_system;
mPermit_onExit_notEnd = false;
}
/* 8028D550 */ virtual ~TCreateObject();
/* 8028D5B0 */ virtual void create(JStudio::TObject**,
JStudio::stb::data::TParse_TBlock_object const&);
/* 8028D624 */ void createObject_JAI_SOUND_(JStudio::stb::data::TParse_TBlock_object const&,
JStudio_JAudio2::TCreateObject*);
/* 0x0C */ JAISoundStarter* pJAISoundStarter_;
/* 0x10 */ const JStage::TSystem* pJSGSystem_;
/* 0x14 */ bool mPermit_onExit_notEnd;
};
struct TAdaptor_sound : public JStudio::TAdaptor_sound {
struct TVVOSetValue_ {
/* 8028DECC */ void operator()(f32, JStudio::TAdaptor*) const;
/* 8028E094 */ ~TVVOSetValue_();
};
/* 8028D828 */ TAdaptor_sound(JStudio_JAudio2::TCreateObject*);
/* 8028DF04 */ void prepareSound_();
/* 8028DFA4 */ void beginSound_fadeIn_();
/* 8028E054 */ void endSound_fadeOut_(u32);
/* 8028D8F4 */ virtual ~TAdaptor_sound();
/* 8028D9A4 */ virtual void adaptor_do_prepare();
/* 8028DA74 */ virtual void adaptor_do_end();
/* 8028DA78 */ virtual void adaptor_do_update(u32);
/* 8028DC20 */ virtual void adaptor_do_SOUND(JStudio::data::TEOperationData, void const*, u32);
/* 8028DC54 */ virtual void adaptor_do_BEGIN(JStudio::data::TEOperationData, void const*, u32);
/* 8028DC88 */ virtual void adaptor_do_BEGIN_FADE_IN(JStudio::data::TEOperationData, void const*,
u32);
/* 8028DCD0 */ virtual void adaptor_do_END(JStudio::data::TEOperationData, void const*, u32);
/* 8028DD00 */ virtual void adaptor_do_END_FADE_OUT(JStudio::data::TEOperationData, void const*,
u32);
/* 8028DD48 */ virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32);
/* 8028DDB4 */ virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028DE34 */ virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028DE50 */ virtual void adaptor_do_REPEAT(JStudio::data::TEOperationData, void const*, u32);
/* 8028DE6C */ virtual void adaptor_do_CONTINUOUS(JStudio::data::TEOperationData, void const*, u32);
/* 8028DE88 */ virtual void adaptor_do_LOCATED(JStudio::data::TEOperationData, void const*, u32);
/* 8028DEB0 */ virtual void adaptor_do_ON_EXIT_NOT_END(JStudio::data::TEOperationData, void const*,
u32);
static u8 saoVVOSetValue_[72];
/* 0x114 */ TCreateObject* pCreateObject_;
/* 0x118 */ JAISoundHandle opJAISoundHandle_;
/* 0x11C */ u8 field_0x11c;
/* 0x11D */ u8 field_0x11d;
/* 0x11E */ u8 field_0x11e;
/* 0x11F */ u8 field_0x11f;
/* 0x120 */ u8 field_0x120;
/* 0x124 */ u32 field_0x124;
/* 0x128 */ u32 field_0x128;
/* 0x12C */ u32 field_0x12c;
/* 0x130 */ JGeometry::TVec3<f32> field_0x130;
/* 0x13C */ u32 field_0x13c;
/* 0x140 */ u32 field_0x140;
/* 0x144 */ u8 field_0x144;
};
}; // namespace JStudio_JAudio2
#endif /* JSTUDIO_JAUDIO2_CONTROL_H */
@@ -1,6 +1,69 @@
#ifndef CONTROL_H
#define CONTROL_H
#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"
#include "dolphin/types.h"
#endif /* CONTROL_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;
}
/* 8028E3A0 */ virtual ~TCreateObject();
/* 8028E400 */ virtual void create(JStudio::TObject**,
JStudio::stb::data::TParse_TBlock_object const&);
/* 8028E474 */ virtual void emitter_create(u32);
/* 8028E4E4 */ virtual void emitter_destroy(JPABaseEmitter*);
/* 8028E508 */ void createObject_JPA_PARTICLE_(JStudio::stb::data::TParse_TBlock_object const&,
JStudio_JParticle::TCreateObject*);
/* 0x0C */ JPAEmitterManager* pJPAEmitterManager_;
/* 0x10 */ const JStage::TSystem* pJSGSystem_;
/* 0x14 */ bool mPermit_onExit_notEnd;
};
struct TAdaptor_particle : public JStudio::TAdaptor_particle {
struct TJPACallback_emitter_ {
/* 8028E700 */ ~TJPACallback_emitter_();
/* 8028ECC0 */ void execute(JPABaseEmitter*);
/* 8028F060 */ void executeAfter(JPABaseEmitter*);
/* 8028F098 */ void draw(JPABaseEmitter*);
/* 8028F0D0 */ void drawAfter(JPABaseEmitter*);
};
/* 8028E60C */ TAdaptor_particle(JStudio_JParticle::TCreateObject*);
/* 8028F108 */ void beginParticle_fadeIn_();
/* 8028F1C0 */ void endParticle_fadeOut_(u32);
/* 8028E760 */ virtual ~TAdaptor_particle();
/* 8028E850 */ virtual void adaptor_do_prepare();
/* 8028E97C */ virtual void adaptor_do_end();
/* 8028E980 */ virtual void adaptor_do_update(u32);
/* 8028EA68 */ virtual void adaptor_do_PARTICLE(JStudio::data::TEOperationData, void const*, u32);
/* 8028EA7C */ virtual void adaptor_do_BEGIN(JStudio::data::TEOperationData, void const*, u32);
/* 8028EAB0 */ virtual void adaptor_do_BEGIN_FADE_IN(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EAF8 */ virtual void adaptor_do_END(JStudio::data::TEOperationData, void const*, u32);
/* 8028EB24 */ virtual void adaptor_do_END_FADE_OUT(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EB6C */ virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32);
/* 8028EBD8 */ virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EC58 */ virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EC74 */ virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EC88 */ virtual void adaptor_do_REPEAT(JStudio::data::TEOperationData, void const*, u32);
/* 8028ECA4 */ virtual void adaptor_do_ON_EXIT_NOT_END(JStudio::data::TEOperationData, void const*,
u32);
};
}; // namespace JStudio_JParticle
#endif /* JSTUDIO_JPARTICLE_CONTROL_H */
@@ -1,6 +1,6 @@
#ifndef OBJECT_PARTICLE_H
#define OBJECT_PARTICLE_H
#include "dolphin/types.h"
#include "JSystem/JStudio/JStudio_JParticle/control.h"
#endif /* OBJECT_PARTICLE_H */
@@ -1,6 +1,174 @@
#ifndef CONTROL_H
#define CONTROL_H
#ifndef JSTUDIO_JSTAGE_CONTROL_H
#define JSTUDIO_JSTAGE_CONTROL_H
#include "dolphin/types.h"
#include "JSystem/JStage/JSGActor.h"
#include "JSystem/JStage/JSGAmbientLight.h"
#include "JSystem/JStage/JSGCamera.h"
#include "JSystem/JStage/JSGFog.h"
#include "JSystem/JStage/JSGLight.h"
#include "JSystem/JStage/JSGSystem.h"
#include "JSystem/JStudio/JStudio/jstudio-object.h"
#endif /* CONTROL_H */
namespace JStudio_JStage {
struct TCreateObject : public JStudio::TCreateObject {
TCreateObject(const JStage::TSystem* pSystem) {
pJSGSystem_ = pSystem;
}
/* 80289B00 */ virtual ~TCreateObject();
/* 80289B60 */ virtual void create(JStudio::TObject**,
JStudio::stb::data::TParse_TBlock_object const&);
/* 0x0C */ const JStage::TSystem* pJSGSystem_;
};
struct TAdaptor_object_ {
/* 8028A470 */ void adaptor_object_data_(void const*, u32, void const*, u32);
/* 8028A4BC */ void adaptor_object_findJSGObject_(char const*);
/* 8028A50C */ void adaptor_object_findJSGObjectNode_(JStage::TObject const*, char const*);
/* 8028A550 */ void adaptor_object_ENABLE_(JStudio::data::TEOperationData, void const*, u32);
/* 0x0 */ JStudio::TAdaptor* field_0x0;
/* 0x4 */ JStage::TSystem* pJSGSystem_;
/* 0x8 */ JStage::TObject* pJSGObject_;
};
struct TAdaptor_actor : public JStudio::TAdaptor_actor, public JStudio_JStage::TAdaptor_object_ {
struct TVVOutput_ANIMATION_FRAME_ {
/* 8028B064 */ void operator()(f32, JStudio::TAdaptor*) const;
/* 8028B138 */ ~TVVOutput_ANIMATION_FRAME_();
};
/* 8028A5F0 */ TAdaptor_actor(JStage::TSystem const*, JStage::TActor*);
/* 8028A6B4 */ virtual ~TAdaptor_actor();
/* 8028A728 */ virtual void adaptor_do_prepare();
/* 8028A7B4 */ virtual void adaptor_do_begin();
/* 8028A8D8 */ virtual void adaptor_do_end();
/* 8028A92C */ virtual void adaptor_do_update(u32);
/* 8028A974 */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
/* 8028AAC8 */ virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32);
/* 8028AB0C */ virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028AB68 */ virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028ABF0 */ virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, void const*,
u32);
/* 8028AC04 */ virtual void adaptor_do_RELATION(JStudio::data::TEOperationData, void const*, u32);
/* 8028AC48 */ virtual void adaptor_do_RELATION_NODE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028ACA4 */ virtual void adaptor_do_RELATION_ENABLE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028A998 */ virtual void adaptor_do_SHAPE(JStudio::data::TEOperationData, void const*, u32);
/* 8028A9F0 */ virtual void adaptor_do_ANIMATION(JStudio::data::TEOperationData, void const*, u32);
/* 8028AA48 */ virtual void adaptor_do_ANIMATION_MODE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028AA5C */ virtual void adaptor_do_TEXTURE_ANIMATION(JStudio::data::TEOperationData,
void const*, u32);
/* 8028AAB4 */ virtual void adaptor_do_TEXTURE_ANIMATION_MODE(JStudio::data::TEOperationData,
void const*, u32);
/* 8028ACFC */ void setJSG_ID_(void (JStage::TActor::*)(u32),
JStudio::data::TEOperationData, void const*, u32);
/* 8028AD38 */ void setJSG_SRT_(JStudio::TControl const*);
/* 8028AECC */ void getJSG_SRT_(JStudio::TControl const*);
static u8 saoVVOutput_[64];
static u8 saoVVOutput_ANIMATION_FRAME_[144 + 4 /* padding */];
/* 0x134 */ u32 field_0x134;
/* 0x138 */ u32 field_0x138;
/* 0x13C */ u32 field_0x13c;
/* 0x140 */ u32 field_0x140;
/* 0x144 */ u32 field_0x144;
/* 0x148 */ u8 field_0x148;
/* 0x14C */ u32 field_0x14c;
/* 0x150 */ u32 field_0x150;
};
struct TAdaptor_ambientLight : public JStudio::TAdaptor_ambientLight {
/* 8028B610 */ TAdaptor_ambientLight(JStage::TSystem const*, JStage::TAmbientLight*);
/* 8028B6AC */ virtual ~TAdaptor_ambientLight();
/* 8028B720 */ virtual void adaptor_do_prepare();
/* 8028B724 */ virtual void adaptor_do_begin();
/* 8028B7B0 */ virtual void adaptor_do_end();
/* 8028B804 */ virtual void adaptor_do_update(u32);
/* 8028B87C */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
};
struct TAdaptor_camera : public JStudio::TAdaptor_camera {
/* 8028B8A0 */ TAdaptor_camera(JStage::TSystem const*, JStage::TCamera*);
/* 8028B960 */ virtual ~TAdaptor_camera();
/* 8028B9D4 */ virtual void adaptor_do_prepare();
/* 8028BA1C */ virtual void adaptor_do_begin();
/* 8028BAF8 */ virtual void adaptor_do_end();
/* 8028BB4C */ virtual void adaptor_do_update(u32);
/* 8028BBAC */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
/* 8028BBD0 */ virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32);
/* 8028BC14 */ virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*, u32);
/* 8028BC70 */ virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*, u32);
/* 8028BCEC */ virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, void const*,
u32);
/* 8028BD00 */ virtual void adaptor_do_TARGET_PARENT(JStudio::data::TEOperationData, void const*, u32);
/* 8028BD44 */ virtual void adaptor_do_TARGET_PARENT_NODE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028BDA0 */ virtual void adaptor_do_TARGET_PARENT_ENABLE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028BDBC */ void setJSG_position_(JStudio::TControl const*);
/* 8028BEB8 */ void getJSG_position_(JStudio::TControl const*);
/* 8028BFBC */ void setJSG_targetPosition_(JStudio::TControl const*);
/* 8028C09C */ void getJSG_targetPosition_(JStudio::TControl const*);
static u8 saoVVOutput_[160 + 4 /* padding */];
};
struct TAdaptor_fog : public JStudio::TAdaptor_fog {
/* 8028C574 */ TAdaptor_fog(JStage::TSystem const*, JStage::TFog*);
/* 8028C610 */ virtual ~TAdaptor_fog();
/* 8028C684 */ virtual void adaptor_do_prepare();
/* 8028C6CC */ virtual void adaptor_do_begin();
/* 8028C7B4 */ virtual void adaptor_do_end();
/* 8028C808 */ virtual void adaptor_do_update(u32);
/* 8028C880 */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
static u8 saoVVOutput_[96 + 4 /* padding */];
};
struct TAdaptor_light : public JStudio::TAdaptor_light {
struct TVVOutput_direction_ {
/* 8028D24C */ void operator()(f32, JStudio::TAdaptor*) const;
/* 8028D258 */ ~TVVOutput_direction_();
};
/* 8028CB50 */ TAdaptor_light(JStage::TSystem const*, JStage::TLight*);
/* 8028CBF4 */ virtual ~TAdaptor_light();
/* 8028CC68 */ virtual void adaptor_do_prepare();
/* 8028CCB0 */ virtual void adaptor_do_begin();
/* 8028CF68 */ virtual void adaptor_do_end();
/* 8028CFBC */ virtual void adaptor_do_update(u32);
/* 8028D18C */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
/* 8028D228 */ virtual void adaptor_do_ENABLE(JStudio::data::TEOperationData, void const*, u32);
/* 8028D1B0 */ virtual void adaptor_do_FACULTY(JStudio::data::TEOperationData, void const*, u32);
static u8 saoVVOutput_direction_[72];
};
/* 8028A1F8 */ void
transform_toGlobalFromLocal(f32 (*)[4],
JStudio::TControl::TTransform_translation_rotation_scaling const&,
JStage::TObject const*, u32);
/* 8028A290 */ void transform_toGlobalFromLocal(f32 (*)[4],
JStudio::TControl::TTransform_position const&,
JStage::TObject const*, u32);
/* 8028A328 */ void
transform_toLocalFromGlobal(f32 (*)[4],
JStudio::TControl::TTransform_translation_rotation_scaling const&,
JStage::TObject const*, u32);
/* 8028A3CC */ void transform_toLocalFromGlobal(f32 (*)[4],
JStudio::TControl::TTransform_position const&,
JStage::TObject const*, u32);
}; // namespace JStudio_JStage
#endif /* JSTUDIO_JSTAGE_CONTROL_H */
@@ -1,6 +1,6 @@
#ifndef OBJECT_ACTOR_H
#define OBJECT_ACTOR_H
#include "dolphin/types.h"
#include "JSystem/JStudio/JStudio_JStage/control.h"
#endif /* OBJECT_ACTOR_H */
@@ -1,6 +1,6 @@
#ifndef OBJECT_AMBIENTLIGHT_H
#define OBJECT_AMBIENTLIGHT_H
#include "dolphin/types.h"
#include "JSystem/JStudio/JStudio_JStage/control.h"
#endif /* OBJECT_AMBIENTLIGHT_H */
@@ -1,6 +1,6 @@
#ifndef OBJECT_CAMERA_H
#define OBJECT_CAMERA_H
#include "dolphin/types.h"
#include "JSystem/JStudio/JStudio_JStage/control.h"
#endif /* OBJECT_CAMERA_H */
@@ -1,6 +1,6 @@
#ifndef OBJECT_FOG_H
#define OBJECT_FOG_H
#include "dolphin/types.h"
#include "JSystem/JStudio/JStudio_JStage/control.h"
#endif /* OBJECT_FOG_H */
@@ -1,6 +1,6 @@
#ifndef OBJECT_LIGHT_H
#define OBJECT_LIGHT_H
#include "dolphin/types.h"
#include "JSystem/JStudio/JStudio_JStage/control.h"
#endif /* OBJECT_LIGHT_H */
@@ -1,6 +1,6 @@
#ifndef OBJECT_H
#define OBJECT_H
#include "dolphin/types.h"
#include "JSystem/JStudio/JStudio_JStage/control.h"
#endif /* OBJECT_H */