diff options
| author | hev7 <143887945+hev7@users.noreply.github.com> | 2024-12-08 13:50:44 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-08 05:50:44 -0800 |
| commit | bcb70e157617ad6359aa3acb1268cfafd009e209 (patch) | |
| tree | 1aebabf502b983a0254ee146cc046e3d3bdfdf17 /include | |
| parent | ee09fdf9158ba4fb7b28c914acd9af19ff8e7186 (diff) | |
d_a_coach_fire, d_a_obj_kiPot, d_a_obj_lv4prelvtr done (#2259)
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_coach_fire.h | 34 | ||||
| -rw-r--r-- | include/d/actor/d_a_npc_coach.h | 13 | ||||
| -rw-r--r-- | include/d/actor/d_a_obj_kiPot.h | 24 | ||||
| -rw-r--r-- | include/d/actor/d_a_obj_lv4prelvtr.h | 26 | ||||
| -rw-r--r-- | include/d/actor/d_a_obj_swturn.h | 16 |
5 files changed, 86 insertions, 27 deletions
diff --git a/include/d/actor/d_a_coach_fire.h b/include/d/actor/d_a_coach_fire.h index 72aada7c59..f8667f0acb 100644 --- a/include/d/actor/d_a_coach_fire.h +++ b/include/d/actor/d_a_coach_fire.h @@ -1,9 +1,21 @@ #ifndef D_A_COACH_FIRE_H #define D_A_COACH_FIRE_H -#include "dolphin/types.h" +#include "d/actor/d_a_npc_coach.h" +#include "d/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" +struct CoachFireAttr { + f32 radius; + f32 field_0x04; + u8 field_0x08; + // GXColorS10 color; + u8 colorR; + u8 colorG; + u8 colorB; + f32 pow; +}; + /** * @ingroup actors-unsorted * @class daCoachFire_c @@ -19,13 +31,27 @@ public: /* 80657CA8 */ void setBaseMtx(); /* 80657D2C */ void initCcSphere(); - static u8 const M_attr[16]; + const CoachFireAttr& attr() { return M_attr; } + + static CoachFireAttr const M_attr; + + inline ~daCoachFire_c(); + + inline int draw(); + inline void setCcSphere(); + inline void setNoHitTimer(); + inline int execute(); private: - /* 0x568 */ u8 field_0x568[0x714 - 0x568]; + /* 0x568 */ LIGHT_INFLUENCE mLightInfluence; + /* 0x588 */ dCcD_Stts mStts; + /* 0x5C4 */ dCcD_Sph mSph; + /* 0x6FC */ Mtx* mpMtx; + /* 0x700 */ cXyz mPos; + /* 0x70C */ u32 mParticleKey; + /* 0x710 */ int noHitTimer; }; STATIC_ASSERT(sizeof(daCoachFire_c) == 0x714); - #endif /* D_A_COACH_FIRE_H */ diff --git a/include/d/actor/d_a_npc_coach.h b/include/d/actor/d_a_npc_coach.h index 9669cc7fb9..77ff6d7801 100644 --- a/include/d/actor/d_a_npc_coach.h +++ b/include/d/actor/d_a_npc_coach.h @@ -15,7 +15,7 @@ class daNpcCoach_c : public fopAc_ac_c { public: /* 8099DA60 */ void hitFireArrow(cXyz); /* 8099DBA4 */ void deleteFireArrow(unsigned int); - /* 8099DCE8 */ void deleteFireArrowFromList(unsigned int); + /* 8099DCE8 */ bool deleteFireArrowFromList(unsigned int); /* 8099DD28 */ void setPosAngle(cXyz&, csXyz&); /* 8099DD7C */ void ctrlJointHorse(J3DJoint*, J3DModel*); /* 8099DE18 */ void initCoachPosition(Vec&, SVec&); @@ -43,9 +43,18 @@ public: /* 809A46C4 */ void initCoachBlazing(); /* 809A48A8 */ daNpcCoach_c(); + bool checkCoachBlazing() { return field_0x1dc4; } + Mtx* getCoachMtx() { return &field_0x2490; } + static u8 const M_attr[160]; private: - /* 0x568 */ u8 field_0x568[0x2570 - 0x568]; + /* 0x568 */ u8 field_0x568[0x1dc4 - 0x568]; + /* 0x1DC4 */ bool field_0x1dc4; + /* 0x1DC5 */ u8 field_0x1dc5[0x247c - 0x1dc5]; + /* 0x247C */ u32 field_0x247c[4]; + /* 0x248C */ u8 field_0x248c[0x2490 - 0x248c]; + /* 0x2490 */ Mtx field_0x2490; + /* 0x24C0 */ u8 field_0x254c[0x2570 - 0x24c0]; }; STATIC_ASSERT(sizeof(daNpcCoach_c) == 0x2570); diff --git a/include/d/actor/d_a_obj_kiPot.h b/include/d/actor/d_a_obj_kiPot.h index ece9ce2468..dd2bfc4399 100644 --- a/include/d/actor/d_a_obj_kiPot.h +++ b/include/d/actor/d_a_obj_kiPot.h @@ -14,26 +14,32 @@ class daKiPot_c : public fopAc_ac_c { public: /* 80C44D78 */ void setBaseMtx(); - /* 80C44DD0 */ void create(); - /* 80C44E7C */ void Execute(); + /* 80C44DD0 */ int create(); + /* 80C44E7C */ int Execute(); /* 80C44EF8 */ void procMain(); /* 80C44F74 */ void init_modeWait(); /* 80C44F80 */ void modeWait(); - /* 80C45008 */ void chkEvent(); - /* 80C45058 */ bool Draw(); - /* 80C45060 */ bool Delete(); + /* 80C45008 */ s32 chkEvent(); + /* 80C45058 */ int Draw(); + /* 80C45060 */ int Delete(); private: - /* 0x568 */ u8 field_0x568[0x578 - 0x568]; + /* 0x568 */ u8 field_0x568[0x574 - 0x568]; + /* 0x574 */ u8 mMode; + /* 0x575 */ u8 field_0x575; + /* 0x576 */ u8 field_0x576[0x578 - 0x576]; }; STATIC_ASSERT(sizeof(daKiPot_c) == 0x578); -class daKiPot_HIO_c { +class daKiPot_HIO_c : public mDoHIO_entry_c { public: /* 80C44D0C */ daKiPot_HIO_c(); - /* 80C450E8 */ ~daKiPot_HIO_c(); -}; + /* 80C450E8 */ virtual ~daKiPot_HIO_c() {}; + + /* 0x00 */ /* vtable */ + /* 0x06 */ u8 field_0x06; +}; #endif /* D_A_OBJ_KIPOT_H */ diff --git a/include/d/actor/d_a_obj_lv4prelvtr.h b/include/d/actor/d_a_obj_lv4prelvtr.h index f0e436b560..7e3388a7e3 100644 --- a/include/d/actor/d_a_obj_lv4prelvtr.h +++ b/include/d/actor/d_a_obj_lv4prelvtr.h @@ -1,6 +1,8 @@ #ifndef D_A_OBJ_LV4PRELVTR_H #define D_A_OBJ_LV4PRELVTR_H +#include "d/actor/d_a_obj_swturn.h" +#include "d/d_bg_s_movebg_actor.h" #include "f_op/f_op_actor_mng.h" /** @@ -11,22 +13,26 @@ * @details * */ -class daObjPRElvtr_c : public fopAc_ac_c { +class daObjPRElvtr_c : public dBgS_MoveBgActor, public request_of_phase_process_class { public: - /* 80C685F8 */ void create1st(); + /* 80C685F8 */ int create1st(); /* 80C68688 */ void setMtx(); - /* 80C686F8 */ void CreateHeap(); - /* 80C68768 */ void Create(); - /* 80C68844 */ void Execute(f32 (**)[3][4]); - /* 80C68944 */ void Draw(); - /* 80C689E8 */ void Delete(); - /* 80C68AF0 */ ~daObjPRElvtr_c(); + /* 80C686F8 */ int CreateHeap(); + /* 80C68768 */ int Create(); + /* 80C68844 */ int Execute(Mtx**); + /* 80C68944 */ int Draw(); + /* 80C689E8 */ int Delete(); + /* 80C68AF0 */ virtual ~daObjPRElvtr_c() {} + + int getSwNo() { return fopAcM_GetParamBit(this, 0, 8); } private: - /* 0x568 */ u8 field_0x568[0x610 - 0x568]; + /* 0x5A8 */ Mtx mMtx1; + /* 0x5D8 */ Mtx mMtx2; + /* 0x608 */ J3DModel* mpModel; + /* 0x60C */ int field_0x60c; }; STATIC_ASSERT(sizeof(daObjPRElvtr_c) == 0x610); - #endif /* D_A_OBJ_LV4PRELVTR_H */ diff --git a/include/d/actor/d_a_obj_swturn.h b/include/d/actor/d_a_obj_swturn.h index 29fc5d9001..215da2362b 100644 --- a/include/d/actor/d_a_obj_swturn.h +++ b/include/d/actor/d_a_obj_swturn.h @@ -29,11 +29,23 @@ public: /* 80D01EB0 */ void Draw(); /* 80D01F58 */ void Delete(); + int getSwNo() { return fopAcM_GetParamBit(this, 0, 8); } + int getSwNo2() { return fopAcM_GetParamBit(this, 0x14, 8); } + int getRotateAngle() { + return (field_0x5ad == NULL) ? field_0x5ba + field_0x5c4 * 0x4000 : + field_0x5ba + (field_0x5c4 << 0xe) / 3; + } + private: - /* 0x568 */ u8 field_0x568[0x5e0 - 0x568]; + /* 0x568 */ u8 field_0x568[0x5ad - 0x568]; + /* 0x5AD */ bool field_0x5ad; + /* 0x5AE */ u8 field_0x5ae[0x5ba - 0x5ae]; + /* 0x5BA */ s16 field_0x5ba; + /* 0x5BC */ u8 field_0x5bc[0x5c4 - 0x5bc]; + /* 0x5C4 */ s16 field_0x5c4; + /* 0x5C6 */ u8 field_0x5c6[0x5e0 - 0x5c6]; }; STATIC_ASSERT(sizeof(daObjSwTurn_c) == 0x5e0); - #endif /* D_A_OBJ_SWTURN_H */ |
