mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-18 20:57:46 -04:00
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>
This commit is contained in:
@@ -28,13 +28,38 @@ struct actor_process_profile_definition2 {
|
||||
};
|
||||
|
||||
enum fopAc_Status_e {
|
||||
fopAcStts_NOEXEC_e = 0x00000080,
|
||||
fopAcStts_CULL_e = 0x00000100,
|
||||
fopAcStts_FREEZE_e = 0x00000400,
|
||||
fopAcStts_CARRY_e = 0x00002000,
|
||||
fopAcStts_NOPAUSE_e = 0x00020000,
|
||||
fopAcStts_NODRAW_e = 0x01000000,
|
||||
fopAcStts_BOSS_e = 0x04000000,
|
||||
fopAcStts_UNK_0x1_e = 1 << 0,
|
||||
fopAcStts_UNK_0x2_e = 1 << 1,
|
||||
fopAcStts_UNK_0x4_e = 1 << 2,
|
||||
fopAcStts_UNK_0x8_e = 1 << 3,
|
||||
fopAcStts_UNK_0x10_e = 1 << 4,
|
||||
fopAcStts_UNK_0x20_e = 1 << 5,
|
||||
fopAcStts_UNK_0x40_e = 1 << 6,
|
||||
fopAcStts_NOEXEC_e = 1 << 7,
|
||||
fopAcStts_CULL_e = 1 << 8,
|
||||
fopAcStts_UNK_0x200_e = 1 << 9,
|
||||
fopAcStts_FREEZE_e = 1 << 10,
|
||||
fopAcStts_STAFF_EXTRA_e = 1 << 11, // Actor is an extra participant of an active staff. Usually handled automatically via an "ALL" staff, but can be manually set/unset by an actor?
|
||||
fopAcStts_STAFF_SHUTTER_e = 1 << 12, // Actor is a primary participant of an active "SHUTTER_DOOR" staff
|
||||
fopAcStts_CARRY_NOW_e = 1 << 13,
|
||||
fopAcStts_UNK_0x4000_e = 1 << 14,
|
||||
fopAcStts_STAFF_PRIMARY_e = 1 << 15, // Actor is a primary participant of an active staff
|
||||
fopAcStts_UNK_0x10000_e = 1 << 16,
|
||||
fopAcStts_NOPAUSE_e = 1 << 17,
|
||||
fopAcStts_UNK_0x40000_e = 1 << 18,
|
||||
fopAcStts_UNK_0x80000_e = 1 << 19,
|
||||
fopAcStts_HOOK_CARRY_NOW_e = 1 << 20,
|
||||
fopAcStts_UNK_0x200000_e = 1 << 21,
|
||||
fopAcStts_UNK_0x400000_e = 1 << 22,
|
||||
fopAcStts_UNK_0x800000_e = 1 << 23,
|
||||
fopAcStts_NODRAW_e = 1 << 24,
|
||||
fopAcStts_UNK_0x2000000_e = 1 << 25,
|
||||
fopAcStts_BOSS_e = 1 << 26,
|
||||
fopAcStts_UNK_0x8000000_e = 1 << 27,
|
||||
fopAcStts_UNK_0x10000000_e = 1 << 28,
|
||||
fopAcStts_UNK_0x20000000_e = 1 << 29,
|
||||
fopAcStts_UNK_0x40000000_e = 1 << 30,
|
||||
fopAcStts_HAWK_CARRY_NOW_e = 1 << 31,
|
||||
};
|
||||
|
||||
enum fopAc_Group_e {
|
||||
@@ -310,7 +335,7 @@ public:
|
||||
fopEn_flag_WolfDownPullEnd = 0x20,
|
||||
fopEn_flag_WolfBiteDamage = 0x40,
|
||||
fopEn_flag_HeadLock = 0x80,
|
||||
|
||||
|
||||
fopEn_flag_WolfNoLock = 0x200,
|
||||
};
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ struct fopAcM_search4ev_prm {
|
||||
void clear() {
|
||||
name[0] = 0;
|
||||
event_id = -1;
|
||||
procname = PROC_PLAY_SCENE;
|
||||
procname = fpcNm_PLAY_SCENE_e;
|
||||
argument = 0;
|
||||
}
|
||||
|
||||
@@ -121,39 +121,6 @@ struct DOUBLE_POS {
|
||||
double x, y, z;
|
||||
};
|
||||
|
||||
enum fopAcM_STATUS {
|
||||
/* 0x00000001 */ fopAcM_STATUS_UNK_0x1 = 1 << 0,
|
||||
/* 0x00000002 */ fopAcM_STATUS_UNK_0x2 = 1 << 1,
|
||||
/* 0x00000004 */ fopAcM_STATUS_UNK_0x4 = 1 << 2,
|
||||
/* 0x00000008 */ fopAcM_STATUS_UNK_0x8 = 1 << 3,
|
||||
/* 0x00000010 */ fopAcM_STATUS_UNK_0x10 = 1 << 4,
|
||||
/* 0x00000020 */ fopAcM_STATUS_UNK_0x20 = 1 << 5,
|
||||
/* 0x00000040 */ fopAcM_STATUS_UNK_0x40 = 1 << 6,
|
||||
/* 0x00000080 */ fopAcM_STATUS_UNK_0x80 = 1 << 7,
|
||||
/* 0x00000100 */ fopAcM_STATUS_UNK_0x100 = 1 << 8,
|
||||
/* 0x00000200 */ fopAcM_STATUS_UNK_0x200 = 1 << 9,
|
||||
/* 0x00000400 */ fopAcM_STATUS_UNK_0x400 = 1 << 10,
|
||||
/* 0x00000800 */ fopAcM_STATUS_UNK_0x800 = 1 << 11,
|
||||
/* 0x00001000 */ fopAcM_STATUS_UNK_0x1000 = 1 << 12,
|
||||
/* 0x00002000 */ fopAcM_STATUS_CARRY_NOW = 1 << 13,
|
||||
/* 0x00004000 */ fopAcM_STATUS_UNK_0x4000 = 1 << 14,
|
||||
/* 0x00008000 */ fopAcM_STATUS_UNK_0x8000 = 1 << 15,
|
||||
/* 0x00010000 */ fopAcM_STATUS_UNK_0x10000 = 1 << 16,
|
||||
/* 0x00020000 */ fopAcM_STATUS_UNK_0x20000 = 1 << 17,
|
||||
/* 0x00040000 */ fopAcM_STATUS_UNK_0x40000 = 1 << 18,
|
||||
/* 0x00080000 */ fopAcM_STATUS_UNK_0x80000 = 1 << 19,
|
||||
/* 0x00100000 */ fopAcM_STATUS_HOOK_CARRY_NOW = 1 << 20,
|
||||
/* 0x00200000 */ fopAcM_STATUS_UNK_0x200000 = 1 << 21,
|
||||
/* 0x00400000 */ fopAcM_STATUS_UNK_0x400000 = 1 << 22,
|
||||
/* 0x00800000 */ fopAcM_STATUS_UNK_0x800000 = 1 << 23,
|
||||
/* 0x01000000 */ fopAcM_STATUS_UNK_0x1000000 = 1 << 24,
|
||||
/* 0x02000000 */ fopAcM_STATUS_UNK_0x2000000 = 1 << 25,
|
||||
/* 0x04000000 */ fopAcM_STATUS_UNK_0x4000000 = 1 << 26,
|
||||
/* 0x08000000 */ fopAcM_STATUS_UNK_0x8000000 = 1 << 27,
|
||||
|
||||
/* 0x80000000 */ fopAcM_STATUS_HAWK_CARRY_NOW = 1 << 31,
|
||||
};
|
||||
|
||||
inline s8 fopAcM_GetRoomNo(const fopAc_ac_c* i_actor) {
|
||||
return i_actor->current.roomNo;
|
||||
}
|
||||
@@ -175,11 +142,11 @@ inline u32 fopAcM_CheckStatus(fopAc_ac_c* i_actor, u32 actor_status) {
|
||||
}
|
||||
|
||||
inline u32 fopAcM_checkCarryNow(fopAc_ac_c* i_actor) {
|
||||
return i_actor->actor_status & fopAcM_STATUS_CARRY_NOW;
|
||||
return i_actor->actor_status & fopAcStts_CARRY_NOW_e;
|
||||
}
|
||||
|
||||
inline u32 fopAcM_checkHawkCarryNow(fopAc_ac_c* actor) {
|
||||
return fopAcM_CheckStatus(actor, 0x80000000);
|
||||
return fopAcM_CheckStatus(actor, fopAcStts_HAWK_CARRY_NOW_e);
|
||||
}
|
||||
|
||||
enum fopAcM_CARRY {
|
||||
@@ -199,7 +166,7 @@ inline u32 fopAcM_CheckCarryType(const fopAc_ac_c* actor, fopAcM_CARRY type) {
|
||||
}
|
||||
|
||||
inline u32 fopAcM_checkHookCarryNow(fopAc_ac_c* i_actor) {
|
||||
return fopAcM_CheckStatus(i_actor, fopAcM_STATUS_HOOK_CARRY_NOW);
|
||||
return fopAcM_CheckStatus(i_actor, fopAcStts_HOOK_CARRY_NOW_e);
|
||||
}
|
||||
|
||||
inline u32 fopAcM_GetParam(const void* i_actor) {
|
||||
@@ -295,19 +262,19 @@ inline void fopAcM_SetRoomNo(fopAc_ac_c* actor, s8 roomNo) {
|
||||
}
|
||||
|
||||
inline void fopAcM_setHookCarryNow(fopAc_ac_c* actor) {
|
||||
fopAcM_OnStatus(actor, fopAcM_STATUS_HOOK_CARRY_NOW);
|
||||
fopAcM_OnStatus(actor, fopAcStts_HOOK_CARRY_NOW_e);
|
||||
}
|
||||
|
||||
inline void fopAcM_cancelHookCarryNow(fopAc_ac_c* actor) {
|
||||
fopAcM_OffStatus(actor, fopAcM_STATUS_HOOK_CARRY_NOW);
|
||||
fopAcM_OffStatus(actor, fopAcStts_HOOK_CARRY_NOW_e);
|
||||
}
|
||||
|
||||
inline void fopAcM_setHawkCarryNow(fopAc_ac_c* actor) {
|
||||
fopAcM_OnStatus(actor, fopAcM_STATUS_HAWK_CARRY_NOW);
|
||||
fopAcM_OnStatus(actor, fopAcStts_HAWK_CARRY_NOW_e);
|
||||
}
|
||||
|
||||
inline void fopAcM_cancelHawkCarryNow(fopAc_ac_c* actor) {
|
||||
fopAcM_OffStatus(actor, fopAcM_STATUS_HAWK_CARRY_NOW);
|
||||
fopAcM_OffStatus(actor, fopAcStts_HAWK_CARRY_NOW_e);
|
||||
}
|
||||
|
||||
inline s8 fopAcM_GetHomeRoomNo(const fopAc_ac_c* i_actor) {
|
||||
|
||||
@@ -12,7 +12,7 @@ struct scene_method_class {
|
||||
};
|
||||
|
||||
typedef struct scene_process_profile_definition {
|
||||
/* 0x00 */ node_process_profile_definition nase;
|
||||
/* 0x00 */ node_process_profile_definition base;
|
||||
/* 0x20 */ scene_method_class* submethod; // Subclass methods
|
||||
/* 0x24 */ u32 unk_0x24; // padding?
|
||||
} scene_process_profile_definition;
|
||||
|
||||
Reference in New Issue
Block a user