diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2022-06-29 13:19:09 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-29 22:19:09 +0200 |
| commit | 046d178003035ea87d3042a61917c2d482c68c74 (patch) | |
| tree | 4240e760d8d40201ca4ec96634da8abff211f6bb /include/f_pc | |
| parent | cd5b02450cf278cbeb2c8bb90be1ad22518938c7 (diff) | |
work on daalink, fop actor, mDo machine, msg_scrn, + various (#201)
* 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
Diffstat (limited to 'include/f_pc')
| -rw-r--r-- | include/f_pc/f_pc_leaf.h | 7 | ||||
| -rw-r--r-- | include/f_pc/f_pc_manager.h | 23 | ||||
| -rw-r--r-- | include/f_pc/f_pc_node.h | 4 | ||||
| -rw-r--r-- | include/f_pc/f_pc_profile.h | 9 |
4 files changed, 32 insertions, 11 deletions
diff --git a/include/f_pc/f_pc_leaf.h b/include/f_pc/f_pc_leaf.h index 04be9bfe10..c81df8d181 100644 --- a/include/f_pc/f_pc_leaf.h +++ b/include/f_pc/f_pc_leaf.h @@ -22,10 +22,9 @@ typedef struct leafdraw_class { typedef struct leaf_process_profile_definition { /* 0x00 */ process_profile_definition mBase; - /* 0x1C */ leafdraw_method_class* mLfDrwMth; - /* 0x20 */ s16 mPriority; - /* 0x22 */ u8 unk22[2]; - /* 0x24 */ leafdraw_method_class* mMethods; + /* 0x28 */ int field_0x28; + /* 0x2C */ u8 field_0x2c; + /* 0x2D */ u8 field_0x2d; } leaf_process_profile_definition; s32 fpcLf_GetPriority(const leafdraw_class* pLeaf); diff --git a/include/f_pc/f_pc_manager.h b/include/f_pc/f_pc_manager.h index 6d5a7ac875..84d376093e 100644 --- a/include/f_pc/f_pc_manager.h +++ b/include/f_pc/f_pc_manager.h @@ -8,6 +8,7 @@ #include "f_pc/f_pc_create_iter.h" #include "f_pc/f_pc_node_req.h" #include "f_pc/f_pc_stdcreate_req.h" +#include "f_pc/f_pc_executor.h" typedef int (*FastCreateReqFunc)(void*); typedef void (*fpcM_ManagementFunc)(void); @@ -27,7 +28,7 @@ inline void fpcM_SetParam(void* p_actor, u32 param) { ((base_process_class*)p_actor)->mParameters = param; } -inline s16 fpcM_GetProfName(void* pActor) { +inline s16 fpcM_GetProfName(const void* pActor) { return ((base_process_class*)pActor)->mBsTypeId; } @@ -40,6 +41,26 @@ inline s32 fpcM_ChangeLayerID(void* proc, int layerID) { return fpcPi_Change(&((base_process_class*)proc)->mPi, layerID, 0xFFFD, 0xFFFD); } +inline s32 fpcM_IsJustType(int type1, int type2) { + return fpcBs_Is_JustOfType(type1, type2); +} + +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 void* fpcM_GetAppend(const void* proc) { + return ((base_process_class*)proc)->mpUserData; +} + +inline BOOL fpcM_IsExecuting(unsigned int id) { + return fpcEx_IsExist(id); +} + void fpcM_Draw(void* pProc); s32 fpcM_DrawIterater(fpcM_DrawIteraterFunc pFunc); s32 fpcM_Execute(void* pProc); diff --git a/include/f_pc/f_pc_node.h b/include/f_pc/f_pc_node.h index 0a6222ab6e..29b6379775 100644 --- a/include/f_pc/f_pc_node.h +++ b/include/f_pc/f_pc_node.h @@ -21,10 +21,6 @@ typedef struct process_node_class { typedef struct node_process_profile_definition { process_profile_definition mBase; - nodedraw_method_class* mNDrwMthCls; - s16 unk20; - u8 unk22[2]; - s32 unk24; } node_process_profile_definition; s32 fpcNd_DrawMethod(nodedraw_method_class* pNodeMethod, void* pData); diff --git a/include/f_pc/f_pc_profile.h b/include/f_pc/f_pc_profile.h index f1c74ee24d..a50104b126 100644 --- a/include/f_pc/f_pc_profile.h +++ b/include/f_pc/f_pc_profile.h @@ -6,6 +6,7 @@ #include "f_pc/f_pc_method.h" struct nodedraw_method_class; +struct leafdraw_method_class; typedef struct process_profile_definition { /* 0x00 */ s32 mLayerID; @@ -17,12 +18,16 @@ typedef struct process_profile_definition { /* 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) struct leaf_process_profile_definition; -leaf_process_profile_definition* fpcPf_Get(s16 profileID); -extern leaf_process_profile_definition** g_fpcPf_ProfileList_p; +process_profile_definition* fpcPf_Get(s16 profileID); +extern process_profile_definition** g_fpcPf_ProfileList_p; #endif |
