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
+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)