summaryrefslogtreecommitdiff
path: root/include/f_pc
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2022-06-29 13:19:09 -0700
committerGitHub <noreply@github.com>2022-06-29 22:19:09 +0200
commit046d178003035ea87d3042a61917c2d482c68c74 (patch)
tree4240e760d8d40201ca4ec96634da8abff211f6bb /include/f_pc
parentcd5b02450cf278cbeb2c8bb90be1ad22518938c7 (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.h7
-rw-r--r--include/f_pc/f_pc_manager.h23
-rw-r--r--include/f_pc/f_pc_node.h4
-rw-r--r--include/f_pc/f_pc_profile.h9
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