diff options
| author | TakaRikka <takarikka@outlook.com> | 2023-01-04 23:51:05 -0800 |
|---|---|---|
| committer | TakaRikka <takarikka@outlook.com> | 2023-01-04 23:51:05 -0800 |
| commit | 5fa8a73aedbe407d85d72f5c15abeadcfa98cd85 (patch) | |
| tree | 0ce5e510e3ac28022f314b1d23b71ae7badc466e /include | |
| parent | edcc309734ea8bfcc6592f9306b878b5108ec7b3 (diff) | |
d_a_obj_enemy_create OK
Diffstat (limited to 'include')
| -rw-r--r-- | include/f_op/f_op_actor.h | 8 | ||||
| -rw-r--r-- | include/f_op/f_op_actor_mng.h | 4 | ||||
| -rw-r--r-- | include/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h | 59 |
3 files changed, 69 insertions, 2 deletions
diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index ad64ba223b..fec05717df 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -7,9 +7,15 @@ #include "dolphin/mtx/mtx.h" #include "f_pc/f_pc_leaf.h" +struct actor_method_class { + /* 0x00 */ process_method_class mBase; + /* 0x10 */ process_method_func mpDrawFunc; + /* 0x14 */ u8 field_0x14[0xC]; // Likely padding +}; + struct actor_process_profile_definition { /* 0x00 */ leaf_process_profile_definition mBase; - /* 0x24 */ leafdraw_method_class* mSubMtd; + /* 0x24 */ actor_method_class* mSubMtd; /* 0x28 */ int field_0x28; // mStatus /* 0x2C */ u8 field_0x2c; // mActorType /* 0x2D */ u8 field_0x2d; // mCullType diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index d183ae6dec..78c3c07c2d 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -186,6 +186,10 @@ inline cXyz& fopAcM_GetPosition_p(fopAc_ac_c* pActor) { return pActor->current.pos; } +inline cXyz& fopAcM_GetPosition(fopAc_ac_c* pActor) { + return pActor->current.pos; +} + inline cXyz& fopAcM_GetOldPosition_p(fopAc_ac_c* pActor) { return pActor->next.pos; } diff --git a/include/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h b/include/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h index 1bed0ee3e3..64ad81de56 100644 --- a/include/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h +++ b/include/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h @@ -1,6 +1,63 @@ #ifndef D_A_OBJ_ENEMY_CREATE_H #define D_A_OBJ_ENEMY_CREATE_H -#include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" + +class daObjE_CREATE_c : public fopAc_ac_c { +public: + /* 80BE31BC */ void NormalAction(); + /* 80BE345C */ void SearchAction(); + /* 80BE34A0 */ void LoopAction(); + /* 80BE3544 */ void Action(); + /* 80BE359C */ int Execute(); + /* 80BE35C0 */ int Delete(); + /* 80BE3618 */ void NameChk(); + /* 80BE3770 */ int create(); + +private: + /* 0x568 */ u8 field_0x568; + /* 0x569 */ u8 mEnemyNum; + /* 0x56A */ u8 mActivateSw; + /* 0x56B */ u8 mDeactivateSw; + /* 0x56C */ u8 mEndLoopSw; + /* 0x56E */ csXyz mEnemyAngle; + /* 0x574 */ s16 mEnemyProcName; + /* 0x578 */ u32 mEnemyParams; + /* 0x57C */ u32* mActorList; + /* 0x580 */ u8 mActionMode; + /* 0x582 */ s16 mKillCheckDelayTimer; + /* 0x584 */ u8 mAction; + /* 0x588 */ u8 unused[12]; +}; // Size: 0x594 + +enum daObjE_EnemyType { + ENEMY_NONE, + ENEMY_KEESE, + ENEMY_RAT, + ENEMY_CHU, + ENEMY_CHU2, + ENEMY_BABY_GOHMA, + ENEMY_BUBBLE, + ENEMY_BOKOBLIN, + ENEMY_LIZALFOS, + ENEMY_SHADOW_BEAST, + ENEMY_SHADOW_VERMIN, + ENEMY_SHADOW_KEESE, + ENEMY_BOKOBLIN2, +}; + +enum daObjE_Action { + ACT_NORMAL, + ACT_SEARCH, + ACT_LOOP, + ACT_DEFAULT = 0xF, +}; + +enum daObjE_Mode { + MODE_CREATE, + MODE_WAIT, + MODE_KILL_CHECK, + MODE_END, +}; #endif /* D_A_OBJ_ENEMY_CREATE_H */ |
