Match f_op_scene, fix profile structs

This commit is contained in:
Jasper St. Pierre
2022-12-30 16:43:15 -08:00
parent 42b7a3f29e
commit 081bb1d745
26 changed files with 108 additions and 133 deletions
+1
View File
@@ -63,6 +63,7 @@ public:
/* 8025854C */ void setRenderMode();
public:
/* 0x1C4 */ request_of_phase_process_class field_0x1c4;
/* 0x1CC */ mDoDvdThd_toMainRam_c* sceneCommand;
/* 0x1D0 */ JKRExpHeap* field_0x1d0;
/* 0x1D4 */ JKRExpHeap* field_0x1d4;
+1
View File
@@ -72,6 +72,7 @@ public:
static s8 pauseTimer;
static s8 nextPauseTimer;
/* 0x1C4 */ request_of_phase_process_class field_0x1c4;
/* 0x1CC */ mDoDvdThd_toMainRam_c* sceneCommand;
/* 0x1D0 */ mDoDvdThd_mountXArchive_c* field_0x1d0;
/* 0x1D4 */ u8 field_0x1d4;
+9
View File
@@ -7,6 +7,15 @@
#include "dolphin/mtx/mtx.h"
#include "f_pc/f_pc_leaf.h"
struct actor_process_profile_definition {
/* 0x00 */ leaf_process_profile_definition mBase;
/* 0x24 */ leafdraw_method_class* mSubMtd;
/* 0x28 */ int field_0x28; // mStatus
/* 0x2C */ u8 field_0x2c; // mActorType
/* 0x2D */ u8 field_0x2d; // mCullType
/* 0x2E */ u8 field_0x2e[2]; // Likely padding
};
struct JKRSolidHeap;
class dEvt_info_c {
+6 -1
View File
@@ -3,8 +3,13 @@
#include "f_op/f_op_camera_mng.h"
struct camera_process_profile_definition {
/* 0x00 */ view_process_profile_definition mBase;
/* 0x3C */ leafdraw_method_class* mSubMtd; // Subclass methods
};
static s32 fopCam_Draw(camera_class* param_1);
static int fopCam_Execute(camera_class* pCamera);
int fopCam_IsDelete(camera_class* pCamera);
#endif
#endif
+5
View File
@@ -5,6 +5,11 @@
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
struct msg_process_profile_definition {
/* 0x00 */ leaf_process_profile_definition mBase;
/* 0x24 */ leafdraw_method_class* mSubMtd; // Subclass methods
};
struct fopMsg_prm_class {
/* 0x00 */ fopAc_ac_c* mpActor;
/* 0x04 */ cXyz mPos;
+8 -7
View File
@@ -11,15 +11,16 @@
struct request_of_phase_process_class;
class mDoDvdThd_command_c;
typedef struct scene_process_profile_definition {
/* 0x00 */ node_process_profile_definition mBase;
/* 0x20 */ process_method_class* mpMtd; // Subclass methods
} scene_process_profile_definition;
class scene_class {
public:
/* 0x000 */ base_process_class field_0x0;
/* 0x0B8 */ u8 field_0xb8[0x10];
/* 0x0C8 */ u32 field_0xc8;
/* 0x0CC */ u8 field_0xcc[0xE0];
/* 0x1AC */ process_method_class* mpProcessMtd;
/* 0x1B0 */ scene_tag_class field_0x1b0;
/* 0x1C4 */ request_of_phase_process_class field_0x1c4;
/* 0x000 */ process_node_class mBase;
/* 0x1AC */ process_method_class * mpMtd;
/* 0x1B0 */ scene_tag_class mScnTg;
};
#endif
+1 -1
View File
@@ -14,7 +14,7 @@ void fopScnM_Init(void);
inline u32 fpcM_LayerID(const void* pProc) {
return fpcBs_Is_JustOfType(g_fpcNd_type, ((base_process_class*)pProc)->mSubType) != FALSE ?
((scene_class*)pProc)->field_0xc8 :
((scene_class*)pProc)->mBase.mLayer.mLayerID :
0xFFFFFFFF;
}
+10
View File
@@ -6,6 +6,16 @@
#include "dolphin/types.h"
#include "f_pc/f_pc_leaf.h"
struct view_process_profile_definition {
/* 0x00 */ leaf_process_profile_definition mBase;
/* 0x24 */ leafdraw_method_class* mSubMtd; // Subclass methods
/* 0x28 */ u32 unk28;
/* 0x2C */ u32 unk2C;
/* 0x30 */ u32 unk30;
/* 0x34 */ u32 unk34;
/* 0x38 */ u32 unk38;
};
class lookat_class {
public:
/* 0x00 */ cXyz mEye;
+7 -7
View File
@@ -11,14 +11,14 @@ struct process_method_tag_class;
typedef struct process_node_class process_node_class;
typedef struct layer_class {
node_class mNode;
u32 mLayerID;
node_lists_tree_class mNodeListTree;
process_node_class* mpPcNode;
node_list_class mCancelList;
/* 0x00 */ node_class mNode;
/* 0x0C */ u32 mLayerID;
/* 0x10 */ node_lists_tree_class mNodeListTree;
/* 0x18 */ process_node_class* mpPcNode;
/* 0x1C */ node_list_class mCancelList;
struct {
s16 mCreatingCount;
s16 mDeletingCount;
/* 0x28 */ s16 mCreatingCount;
/* 0x2A */ s16 mDeletingCount;
} counts;
} layer_class;
+3 -6
View File
@@ -22,12 +22,9 @@ typedef struct leafdraw_class {
typedef struct leaf_process_profile_definition {
/* 0x00 */ process_profile_definition mBase;
/* 0x28 */ int field_0x28;
/* 0x2C */ u8 field_0x2c;
/* 0x2D */ u8 field_0x2d;
/* 0x2E */ u8 field_0x2e[0x2]; // extended from here to end to make fopCam_Create match. might be wrong
/* 0x30 */ u8 field_0x30[0xc];
/* 0x3C */ leafdraw_method_class* mMethods;
/* 0x1C */ leafdraw_method_class* mSubMtd; // Subclass methods
/* 0x20 */ s16 mPriority; // mDrawPriority
/* 0x22 */ u8 unk22[2]; // Likely padding...
} leaf_process_profile_definition;
s16 fpcLf_GetPriority(const leafdraw_class* pLeaf);
+2 -2
View File
@@ -54,8 +54,8 @@ inline bool fpcM_IsFirstCreating(void* proc) {
return ((base_process_class*)proc)->mInitState == 0;
}
inline leaf_process_profile_definition* fpcM_GetProfile(void* proc) {
return (leaf_process_profile_definition*)((base_process_class*)proc)->mpProf;
inline process_profile_definition* fpcM_GetProfile(void* proc) {
return (process_profile_definition*)((base_process_class*)proc)->mpProf;
}
inline void* fpcM_GetAppend(const void* proc) {
+8 -7
View File
@@ -8,19 +8,20 @@
typedef struct nodedraw_method_class {
process_method_class mBase;
process_method_func mNodedrawFunc;
process_method_func mpDrawFunc;
} nodedraw_method_class;
typedef struct process_node_class {
base_process_class mBase;
nodedraw_method_class* mpNodeMtd;
layer_class mLayer;
node_list_class mLayerNodeLists[16];
s8 mUnk0;
/* 0x00 */ base_process_class mBase;
/* 0xB8 */ nodedraw_method_class* mpNodeMtd;
/* 0xBC */ layer_class mLayer;
/* 0xE8 */ node_list_class mLayerNodeLists[16];
/* 0x1A8 */ s8 mUnk0;
} process_node_class;
typedef struct node_process_profile_definition {
process_profile_definition mBase;
/* 0x00 */ process_profile_definition mBase;
/* 0x1C */ process_method_class* mSubMtd; // Subclass methods
} node_process_profile_definition;
s32 fpcNd_DrawMethod(nodedraw_method_class* pNodeMethod, void* pData);
+1 -5
View File
@@ -14,14 +14,10 @@ typedef struct process_profile_definition {
/* 0x06 */ u16 mListPrio;
/* 0x08 */ s16 mProcName;
/* 0x0A */ s16 unkA; // probably padding
/* 0x0C */ struct process_method_class* mpPcMtd;
/* 0x0C */ process_method_class* mSubMtd; // Subclass methods
/* 0x10 */ s32 mSize;
/* 0x14 */ s32 mSizeOther;
/* 0x18 */ s32 mParameters;
/* 0x1C */ leafdraw_method_class* mLfDrwMth;
/* 0x20 */ s16 mPriority;
/* 0x22 */ u8 unk22[2];
/* 0x24 */ leafdraw_method_class* mMethods;
} process_profile_definition;
#define LAYER_DEFAULT (-2)