Move remaining class definitions to headers

This commit is contained in:
LagoLunatic
2025-04-16 14:18:08 -04:00
parent 36a3a2b660
commit 1f049c0911
27 changed files with 218 additions and 165 deletions
+1 -1
View File
@@ -139,7 +139,7 @@ protected:
/* 0x10C */ JUtility::TColor mCornerColor[4];
/* 0x11C */ JUtility::TColor mBlendKonstColor;
/* 0x120 */ JUtility::TColor mBlendKonstAlpha;
};
}; // Size: 0x124
STATIC_ASSERT(sizeof(J2DPicture) == 0x124);
+17
View File
@@ -241,6 +241,23 @@ struct TContainerEnumerator_const : public TEnumerator2<typename TLinkList<T, I>
: TEnumerator2<typename TLinkList<T, I>::const_iterator, const T>(param_0->begin(), param_0->end()) {}
};
namespace {
template <typename T>
class TPRIsEqual_pointer_ {
public:
TPRIsEqual_pointer_<T>(const T* p) { this->p_ = p; }
bool operator()(const T& rSrc) const {
return &rSrc == this->p_;
}
private:
const T* p_;
};
}; // namespace
}; // namespace JGadget
#endif /* LINKLIST_H */
+6
View File
@@ -93,6 +93,12 @@ public:
virtual f32 getTexScrollRotate() = 0;
};
class JPAColorRegAnmKey {
public:
s16 m00;
GXColor m02;
};
struct JPABaseShapeData {
/* 0x00 */ u32 mFlags;
/* 0x04 */ s16 mPrmAnimDataOffs;
@@ -26,4 +26,17 @@ public:
/* 0x06 */ u16 userIndex;
};
class JPAEmitterArchiveLoader_v10 {
public:
void load();
JPAEmitterResource* getEmitterResource() { return mpEmtrRes; }
JPATextureResource* getTextureResource() { return mpTexRes; }
public:
/* 0x00 */ JKRHeap* pHeap;
/* 0x04 */ const u8* pData;
/* 0x08 */ JPAEmitterResource* mpEmtrRes;
/* 0x0C */ JPATextureResource* mpTexRes;
};
#endif /* JPAEMITTERLOADER_H */
+14
View File
@@ -0,0 +1,14 @@
#ifndef D_ENVSE_H
#define D_ENVSE_H
#include "f_op/f_op_kankyo.h"
class dEnvSe_c : public kankyo_class {
public:
BOOL execute();
/* 0xF8 */ u32 field_0xf8;
/* 0xFC */ u32 field_0xfc;
};
#endif /* D_ENVSE_H */
+35
View File
@@ -0,0 +1,35 @@
#ifndef D_KY_THUNDER_H
#define D_KY_THUNDER_H
#include "f_op/f_op_kankyo.h"
#include "m_Do/m_Do_ext.h"
class dThunder_modelInfo_c {
public:
// Offsets are relative to dThunder_c instead of dThunder_modelInfo_c
/* 0x0FC */ J3DModel * mpModel;
/* 0x100 */ mDoExt_invisibleModel mInvisModel;
/* 0x108 */ mDoExt_btkAnm mBtk;
/* 0x11C */ mDoExt_brkAnm mBrk;
};
class dThunder_c : public kankyo_class {
public:
inline ~dThunder_c();
BOOL createHeap();
void adjustHeap();
cPhs_State create();
inline BOOL draw();
inline BOOL execute();
public:
/* 0x0F8 */ JKRSolidHeap * solid_heap;
/* 0x0FC */ dThunder_modelInfo_c mModelInfo;
/* 0x134 */ cXyz mScale;
/* 0x140 */ cXyz mPos;
/* 0x14C */ cXyz mPosNeg;
/* 0x158 */ f32 mRot;
/* 0x15C */ f32 mBtkTime;
};
#endif /* D_KY_THUNDER_H */
+11
View File
@@ -0,0 +1,11 @@
#ifndef D_KYEFF_H
#define D_KYEFF_H
#include "f_op/f_op_kankyo.h"
class dKyeff_c : public kankyo_class {
public:
BOOL execute();
};
#endif /* D_KYEFF_H */
+11
View File
@@ -0,0 +1,11 @@
#ifndef D_KYEFF2_H
#define D_KYEFF2_H
#include "f_op/f_op_kankyo.h"
class dKyeff2_c : public kankyo_class {
public:
BOOL execute();
};
#endif /* D_KYEFF2_H */
+12
View File
@@ -0,0 +1,12 @@
#ifndef D_OVLP_FADE_H
#define D_OVLP_FADE_H
#include "f_op/f_op_overlap_mng.h"
class overlap1_class : public overlap_task_class {
public:
/* 0xCC */ s32 mFadeOutTime;
/* 0xD0 */ s32 mFadeInTime;
};
#endif /* D_OVLP_FADE_H */
+18
View File
@@ -6,6 +6,7 @@
#include "f_op/f_op_msg_mng.h"
class J2DScreen;
class mDoDvdThd_toMainRam_c;
class dPlace_name_c : public dDlst_base_c {
public:
@@ -26,4 +27,21 @@ public:
/* 0x08 */ fopMsgM_pane_class pane;
};
class dPn_c : public msg_class {
public:
cPhs_State _create();
BOOL _execute();
BOOL _draw();
BOOL _delete();
public:
/* 0x0FC */ JKRExpHeap * mpHeap;
/* 0x100 */ request_of_phase_process_class mPhs;
/* 0x108 */ dPlace_name_c * dPn_scrn;
/* 0x11C */ mDoDvdThd_toMainRam_c * dvd;
/* 0x114 */ ResTIMG * mpTIMG;
/* 0x118 */ u8 mState;
/* 0x119 */ u8 pad[3];
};
#endif /* D_PLACE_NAME_H */
+31
View File
@@ -0,0 +1,31 @@
#ifndef D_S_LOGO_H
#define D_S_LOGO_H
#include "f_op/f_op_scene.h"
class dDlst_2D_c;
class dScnLogo_c : public scene_class {
public:
/* 0x1C4 */ request_of_phase_process_class mPhs;
/* 0x1CC */ dDlst_2D_c * nintendoImg;
/* 0x1D0 */ dDlst_2D_c * dolbyImg;
/* 0x1D4 */ dDlst_2D_c * progchoiceImg;
/* 0x1D8 */ dDlst_2D_c * progyesImg;
/* 0x1DC */ dDlst_2D_c * prognoImg;
/* 0x1E0 */ dDlst_2D_c * progImg;
/* 0x1E4 */ dDlst_2D_c * interImg;
/* 0x1E8 */ u8 mAction;
/* 0x1E9 */ u8 mInterFlag;
/* 0x1EA */ u8 field_0x1ea;
/* 0x1EB */ u8 field_0x1eb;
/* 0x1EC */ u16 mTimer;
/* 0x1EE */ u16 field_0x1ee;
/* 0x1F0 */ u16 field_0x1f0;
/* 0x1F2 */ u16 field_0x1f2;
/* 0x1F4 */ u16 field_0x1f4;
/* 0x1F8 */ void * field_0x1f8;
/* 0x1FC */ u32 field_0x1fc;
};
#endif /* D_S_LOGO_H */
+22
View File
@@ -0,0 +1,22 @@
#ifndef D_S_ROOM_H
#define D_S_ROOM_H
#include "f_op/f_op_scene.h"
class dStage_roomDt_c;
class mDoDvdThd_toMainRam_c;
class room_of_scene_class : public scene_class {
public:
/* 0x1C4 */ request_of_phase_process_class mPhs;
/* 0x1CC */ void * mpRoomData;
/* 0x1D0 */ dStage_roomDt_c * mpRoomDt;
/* 0x1D4 */ mDoDvdThd_toMainRam_c * sceneCommand;
/* 0x1D8 */ bool mbHasRoomParticle;
/* 0x1D9 */ bool mbReLoaded;
/* 0x1DA */ bool mbSetMap;
/* 0x1DB */ bool field_0x1db;
/* 0x1DC */ u16 field_0x1dc;
};
#endif /* D_S_ROOM_H */
+3
View File
@@ -23,6 +23,9 @@ struct kankyo_process_profile_definition {
/* 0x24 */ kankyo_method_class* sub_method;
}; // Size: 0x28
class sub_kankyo__class : public kankyo_class {
};
extern leafdraw_method_class g_fopKy_Method;
#endif /* F_OP_KANKYO_H */
+16
View File
@@ -1,6 +1,7 @@
#ifndef F_OP_MSG_MNG_H
#define F_OP_MSG_MNG_H
#include "JSystem/J2DGraph/J2DPicture.h"
#include "SSystem/SComponent/c_xyz.h"
#include "f_pc/f_pc_leaf.h"
#include "f_op/f_op_msg.h"
@@ -98,6 +99,21 @@ public:
/* 0x0A */ u16 mResMsgIdx;
};
class MyPicture : public J2DPicture {
public:
virtual ~MyPicture() {}
virtual void drawSelf(f32, f32);
virtual void drawSelf(f32, f32, Mtx*);
virtual void drawFullSet2(f32, f32, f32, f32, J2DBinding, J2DMirror, bool, Mtx*);
private:
/* 0x124 */ f32 m124;
/* 0x128 */ f32 m128;
/* 0x12C */ f32 m12C;
/* 0x130 */ f32 m130;
/* 0x134 */ u8 m134;
};
class fopMsgM_msgDataProc_c {
public:
fopMsgM_msgDataProc_c();
-14
View File
@@ -16,19 +16,6 @@ inline InputIterator find_if(InputIterator first, InputIterator last, Predicate
} // namespace std
template <typename T>
class TPRIsEqual_pointer_ {
public:
TPRIsEqual_pointer_<T>(const T* p) { this->p_ = p; }
bool operator()(const T& rSrc) const {
return &rSrc == this->p_;
}
private:
const T* p_;
};
/* 802BFC00-802BFC3C .text __dt__Q27JGadget13TNodeLinkListFv */
JGadget::TNodeLinkList::~TNodeLinkList() {
}
@@ -100,4 +87,3 @@ JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::Erase(TLinkListNode* p)
void JGadget::TNodeLinkList::Remove(TLinkListNode* p) {
remove_if(TPRIsEqual_pointer_<TLinkListNode>(p));
}
-6
View File
@@ -77,12 +77,6 @@ GXTevAlphaArg JPABaseShapeArc::stTevAlphaArg[2][4] = {
{ GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0 },
};
class JPAColorRegAnmKey {
public:
s16 m00;
GXColor m02;
};
/* 80256F88-80257248 .text makeColorTable__FP17JPAColorRegAnmKeyiiP7JKRHeap */
GXColor* makeColorTable(JPAColorRegAnmKey* pKey, int keyNum, int frmNum, JKRHeap* pHeap) {
GXColor* colTbl = (GXColor*)JKRHeap::alloc((frmNum + 1) * sizeof(GXColor), 4, pHeap);
@@ -19,19 +19,6 @@
#include "JSystem/JUtility/JUTDataHeader.h"
#include "JSystem/JKernel/JKRHeap.h"
class JPAEmitterArchiveLoader_v10 {
public:
void load();
JPAEmitterResource* getEmitterResource() { return mpEmtrRes; }
JPATextureResource* getTextureResource() { return mpTexRes; }
public:
/* 0x00 */ JKRHeap* pHeap;
/* 0x04 */ const u8* pData;
/* 0x08 */ JPAEmitterResource* mpEmtrRes;
/* 0x0C */ JPATextureResource* mpTexRes;
};
static void dummy(u32 texNum) {
JUT_WARN(0, "%s", "This is WRONG Version File\n");
JUT_WARN(0, "%s", "This is NO JPA File\n");
+1 -8
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_envse.cpp
//
#include "d/d_envse.h"
#include "f_op/f_op_kankyo.h"
#include "f_op/f_op_kankyo_mng.h"
#include "f_op/f_op_camera.h"
@@ -12,14 +13,6 @@
#include "d/d_com_inf_game.h"
#include "m_Do/m_Do_audio.h"
class dEnvSe_c : public kankyo_class {
public:
BOOL execute();
/* 0xF8 */ u32 field_0xf8;
/* 0xFC */ u32 field_0xfc;
};
/* 8017D4C0-8017D4C8 .text dEnvSe_Draw__FP8dEnvSe_c */
static BOOL dEnvSe_Draw(dEnvSe_c* i_this) {
return TRUE;
-3
View File
@@ -24,9 +24,6 @@
#include "weak_data_1811.h" // IWYU pragma: keep
class sub_kankyo__class : public kankyo_class {
};
#include "d/d_kankyo_dayproc.inc"
struct dKy_setLight__Status {
+1 -28
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_ky_thunder.cpp
//
#include "d/d_ky_thunder.h"
#include "f_op/f_op_kankyo.h"
#include "f_op/f_op_kankyo_mng.h"
#include "f_op/f_op_camera.h"
@@ -16,34 +17,6 @@
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_mtx.h"
class dThunder_modelInfo_c {
public:
// Offsets are relative to dThunder_c instead of dThunder_modelInfo_c
/* 0x0FC */ J3DModel * mpModel;
/* 0x100 */ mDoExt_invisibleModel mInvisModel;
/* 0x108 */ mDoExt_btkAnm mBtk;
/* 0x11C */ mDoExt_brkAnm mBrk;
};
class dThunder_c : public kankyo_class {
public:
inline ~dThunder_c();
BOOL createHeap();
void adjustHeap();
cPhs_State create();
inline BOOL draw();
inline BOOL execute();
public:
/* 0x0F8 */ JKRSolidHeap * solid_heap;
/* 0x0FC */ dThunder_modelInfo_c mModelInfo;
/* 0x134 */ cXyz mScale;
/* 0x140 */ cXyz mPos;
/* 0x14C */ cXyz mPosNeg;
/* 0x158 */ f32 mRot;
/* 0x15C */ f32 mBtkTime;
};
dThunder_c::~dThunder_c() {
mDoExt_destroySolidHeap(solid_heap);
}
+1 -5
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_kyeff.cpp
//
#include "d/d_kyeff.h"
#include "f_op/f_op_kankyo.h"
#include "f_op/f_op_camera.h"
#include "d/d_com_inf_game.h"
@@ -14,11 +15,6 @@
#include "m_Do/m_Do_audio.h"
#include "dolphin/os/OS.h"
class dKyeff_c : public kankyo_class {
public:
BOOL execute();
};
/* 80197FE4-80198008 .text dKyeff_Draw__FP8dKyeff_c */
static BOOL dKyeff_Draw(dKyeff_c* i_this) {
dKyw_wether_draw();
+1 -11
View File
@@ -3,21 +3,11 @@
// Translation Unit: d_kyeff2.cpp
//
#include "d/d_kyeff2.h"
#include "f_op/f_op_kankyo.h"
#include "f_op/f_op_camera.h"
#include "d/d_com_inf_game.h"
#include "d/d_kankyo.h"
#include "d/d_kankyo_data.h"
#include "d/d_kankyo_wether.h"
#include "d/d_procname.h"
#include "d/d_stage.h"
#include "m_Do/m_Do_audio.h"
#include "dolphin/os/OS.h"
class dKyeff2_c : public kankyo_class {
public:
BOOL execute();
};
/* 80198758-8019877C .text dKyeff2_Draw__FP9dKyeff2_c */
static BOOL dKyeff2_Draw(dKyeff2_c* i_this) {
+1 -6
View File
@@ -3,18 +3,13 @@
// Translation Unit: d_ovlp_fade.cpp
//
#include "d/d_ovlp_fade.h"
#include "f_op/f_op_overlap.h"
#include "f_op/f_op_overlap_mng.h"
#include "f_pc/f_pc_manager.h"
#include "d/d_procname.h"
#include "m_Do/m_Do_graphic.h"
class overlap1_class : public overlap_task_class {
public:
/* 0xCC */ s32 mFadeOutTime;
/* 0xD0 */ s32 mFadeInTime;
};
BOOL (*dOvlpFd_execute_f)(overlap1_class*);
/* 802235CC-802235D4 .text dOvlpFd_Draw__FP14overlap1_class */
+1 -18
View File
@@ -3,12 +3,12 @@
// Translation Unit: d_place_name.cpp
//
#include "d/d_place_name.h"
#include "f_op/f_op_msg.h"
#include "f_op/f_op_msg_mng.h"
#include "d/d_com_inf_game.h"
#include "d/d_drawlist.h"
#include "d/d_meter.h"
#include "d/d_place_name.h"
#include "d/d_procname.h"
#include "m_Do/m_Do_dvd_thread.h"
#include "m_Do/m_Do_ext.h"
@@ -67,23 +67,6 @@ const char * name_texture[] = {
};
#endif
class dPn_c : public msg_class {
public:
cPhs_State _create();
BOOL _execute();
BOOL _draw();
BOOL _delete();
public:
/* 0x0FC */ JKRExpHeap * mpHeap;
/* 0x100 */ request_of_phase_process_class mPhs;
/* 0x108 */ dPlace_name_c * dPn_scrn;
/* 0x11C */ mDoDvdThd_toMainRam_c * dvd;
/* 0x114 */ ResTIMG * mpTIMG;
/* 0x118 */ u8 mState;
/* 0x119 */ u8 pad[3];
};
/* 80160F60-801610A8 .text setScreen__13dPlace_name_cFPCcP10JKRArchive */
void dPlace_name_c::setScreen(const char* name, JKRArchive* arc) {
scrn = new J2DScreen();
+1 -23
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_s_logo.cpp
//
#include "d/d_s_logo.h"
#include "d/res/res_logo.h"
#include "d/res/res_system.h"
#include "f_op/f_op_scene.h"
@@ -31,29 +32,6 @@
#include "string.h"
#include "stdio.h"
class dScnLogo_c : public scene_class {
public:
/* 0x1C4 */ request_of_phase_process_class mPhs;
/* 0x1CC */ dDlst_2D_c * nintendoImg;
/* 0x1D0 */ dDlst_2D_c * dolbyImg;
/* 0x1D4 */ dDlst_2D_c * progchoiceImg;
/* 0x1D8 */ dDlst_2D_c * progyesImg;
/* 0x1DC */ dDlst_2D_c * prognoImg;
/* 0x1E0 */ dDlst_2D_c * progImg;
/* 0x1E4 */ dDlst_2D_c * interImg;
/* 0x1E8 */ u8 mAction;
/* 0x1E9 */ u8 mInterFlag;
/* 0x1EA */ u8 field_0x1ea;
/* 0x1EB */ u8 field_0x1eb;
/* 0x1EC */ u16 mTimer;
/* 0x1EE */ u16 field_0x1ee;
/* 0x1F0 */ u16 field_0x1f0;
/* 0x1F2 */ u16 field_0x1f2;
/* 0x1F4 */ u16 field_0x1f4;
/* 0x1F8 */ void * field_0x1f8;
/* 0x1FC */ u32 field_0x1fc;
};
mDoDvdThd_mountXArchive_c * l_anmCommand;
mDoDvdThd_mountXArchive_c * l_fmapCommand;
mDoDvdThd_mountXArchive_c * l_itemResCommand;
+1 -13
View File
@@ -3,6 +3,7 @@
// Translation Unit: d_s_room.cpp
//
#include "d/d_s_room.h"
#include "f_op/f_op_scene.h"
#include "f_op/f_op_scene_mng.h"
#include "f_op/f_op_actor_mng.h"
@@ -20,19 +21,6 @@
#include "JSystem/JKernel/JKRExpHeap.h"
#include "stdio.h"
class room_of_scene_class : public scene_class {
public:
/* 0x1C4 */ request_of_phase_process_class mPhs;
/* 0x1CC */ void * mpRoomData;
/* 0x1D0 */ dStage_roomDt_c * mpRoomDt;
/* 0x1D4 */ mDoDvdThd_toMainRam_c * sceneCommand;
/* 0x1D8 */ bool mbHasRoomParticle;
/* 0x1D9 */ bool mbReLoaded;
/* 0x1DA */ bool mbSetMap;
/* 0x1DB */ bool field_0x1db;
/* 0x1DC */ u16 field_0x1dc;
};
// Fake inline: An inline like this seems necessary for setMapImage to match, but it isn't in the debug maps.
// TODO: Try to find a way to match setMapImage with real inlines.
inline f32 getActorPositionY(fopAc_ac_c* actor) {
-16
View File
@@ -147,22 +147,6 @@ static struct {
class mesg_header;
class fopMsgM_pane_alpha_class;
class MyPicture : public J2DPicture {
public:
virtual ~MyPicture() {}
virtual void drawSelf(f32, f32);
virtual void drawSelf(f32, f32, Mtx*);
virtual void drawFullSet2(f32, f32, f32, f32, J2DBinding, J2DMirror, bool, Mtx*);
private:
f32 m124;
f32 m128;
f32 m12C;
f32 m130;
u8 m134;
};
/* 8002ABB4-8002AC1C .text drawSelf__9MyPictureFff */
void MyPicture::drawSelf(f32 x, f32 y) {