d_a_coach_fire, d_a_obj_kiPot, d_a_obj_lv4prelvtr done (#2259)

This commit is contained in:
hev7
2024-12-08 13:50:44 +00:00
committed by GitHub
parent 55400a127b
commit 80788b0569
13 changed files with 460 additions and 622 deletions
+30 -4
View File
@@ -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 */
+11 -2
View File
@@ -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);
+15 -9
View File
@@ -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 */
+16 -10
View File
@@ -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 */
+14 -2
View File
@@ -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 */