Files
Huitzi 0b0fdd1f60 Actor status consolidation & process profile definition editing (#3117)
* Consolidate fopAcM_STATUS into fopAc_Status_e

* Add _e suffix to fopAcStts enums

* Prepare for profile enumeration
* Correct typo in scene_process_profile_definition
* Manually handle g_profile_Obj_DamCps (inline preprocessing)
* Correct g_profile_TAG_LV5SOUP procname to enum
* Create d_priority.h

* Update process profile definitions
* Moved inline comments to the left
* Add missing fopAcStts enums
* Add d_priority.h include in f_pc_leaf.h
* Manually update d_a_obj_damCps profile

* Replace fopAcStts enums replacing and anticipatory profile size correction
* Changed profile size from literal to sizeof() in anticipation of PR #3116
* Provided putative names to staff-related status enums
* Replaced appropriate literals with fopAcStts enums

* Fix borked merge

* Rename item number enums and move to d_item_data.h

* Rename process profile name & draw priority enums

* Move process profile name & draw priority enums to appropriate files
* Moved fpcNm_ enums from d/d_procname.h to f_pc/f_pc_name.h
* Moved fpcDwPi_ enums from d/d_priority.h to f_pc/f_pc_draw_priority.h

* ACTUALLY (whoops) stage merge

* Correct item mistranslation

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>

---------

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
2026-03-09 18:33:31 -07:00

42 lines
1.2 KiB
C

#ifndef F_PC_LEAF_H_
#define F_PC_LEAF_H_
#include "f_pc/f_pc_base.h"
#include "f_pc/f_pc_draw_priority.h"
#include "f_pc/f_pc_method.h"
#include "f_pc/f_pc_profile.h"
#include "f_pc/f_pc_name.h"
typedef struct leafdraw_method_class {
/* 0x00 */ process_method_class base;
/* 0x10 */ process_method_func draw_method;
} leafdraw_method_class;
typedef struct leafdraw_class {
/* 0x00 */ base_process_class base;
/* 0xB8 */ leafdraw_method_class* leaf_methods;
/* 0xBC */ s8 unk_0xBC;
/* 0xBD */ u8 unk_0xBD;
/* 0xBE */ draw_priority_class draw_priority;
} leafdraw_class;
typedef struct leaf_process_profile_definition {
/* 0x00 */ process_profile_definition base;
/* 0x1C */ leafdraw_method_class* sub_method; // Subclass methods
/* 0x20 */ s16 priority; // mDrawPriority
} leaf_process_profile_definition;
s16 fpcLf_GetPriority(const leafdraw_class* i_leaf);
int fpcLf_DrawMethod(leafdraw_method_class* i_method, void* i_process);
int fpcLf_Draw(leafdraw_class* i_method);
int fpcLf_Execute(leafdraw_class* i_leaf);
int fpcLf_IsDelete(leafdraw_class* i_leaf);
int fpcLf_Delete(leafdraw_class* i_leaf);
int fpcLf_Create(leafdraw_class* i_leaf);
extern int g_fpcLf_type;
extern leafdraw_method_class g_fpcLf_Method;
#endif