daObj_BouMato_c OK (#2264)

* daObj_BouMato_c OK

* daObjGraRock_c Matched except template function order

* daBkyRock_c OK
This commit is contained in:
hatal175
2024-12-12 22:58:40 +02:00
committed by GitHub
parent 559fcb3a16
commit ee992eb80c
17 changed files with 1226 additions and 1773 deletions
+1
View File
@@ -17,6 +17,7 @@ enum CcG_Tg_HitMark {
CcG_Tg_UNK_MARK_3 = 3,
CcG_Tg_UNK_MARK_6 = 6,
CcG_Tg_UNK_MARK_8 = 8,
CcG_Tg_UNK_MARK_9 = 9,
};
class cCcD_PntAttr;
+1
View File
@@ -58,6 +58,7 @@ public:
void setBombArrowExplode() { field_0x950 = 0; }
bool checkBombArrow() const { return mArrowType == true; }
u32 getHitAcID() { return mHitAcID; }
void setShoot() { fopAcM_SetParam(this, 1); }
void setChargeShoot() { fopAcM_SetParam(this, 2); }
+2
View File
@@ -587,6 +587,7 @@ u8 daNpcT_getDistTableIdx(int param_0, int param_1);
BOOL daNpcT_chkDoBtnIsSpeak(fopAc_ac_c* i_ActorP);
void daNpcT_offTmpBit(u32 i_idx);
void daNpcT_onTmpBit(u32 i_idx);
BOOL daNpcT_chkTmpBit(u32 i_idx);
void daNpcT_onEvtBit(u32 i_idx);
struct daBaseNpc_matAnm_c {
@@ -1005,6 +1006,7 @@ BOOL daNpcF_chkEvtBit(u32 i_idx);
void daNpcF_onEvtBit(u32 i_idx);
BOOL daNpcF_chkTmpBit(u32 i_idx);
void daNpcF_offTmpBit(u32 i_idx);
u8 daNpcF_getDistTableIdx(int param_0, int param_1);
BOOL daNpcF_chkPointInArea(cXyz, cXyz, cXyz, s16);
int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2, csXyz& param_3);
s16 daNpcF_getGroundAngle(cBgS_PolyInfo*, s16);
+46 -13
View File
@@ -1,6 +1,8 @@
#ifndef D_A_OBJ_BKY_ROCK_H
#define D_A_OBJ_BKY_ROCK_H
#include "d/d_cc_d.h"
#include "d/d_model.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -11,41 +13,72 @@
* @details
*
*/
class daBkyRock_c : public fopAc_ac_c {
class daBkyRock_c : public fopAc_ac_c, public request_of_phase_process_class {
public:
struct _pieceData {
public:
/* 80BB6914 */ _pieceData();
/* 80BB6914 */ _pieceData() { mMdlObj.mpObj = NULL; }
/* 0x00 */ dMdl_obj_c mMdlObj;
/* 0x34 */ Vec position;
/* 0x40 */ f32 targetX;
/* 0x44 */ f32 targetZ;
/* 0x48 */ f32 scale;
/* 0x4C */ f32 speedY;
/* 0x50 */ s16 rotationX;
/* 0x52 */ s16 rotationZ;
/* 0x54 */ s16 rotationSpeed;
};
typedef void (daBkyRock_c::*exeProc)();
enum Mode {
MODE_0,
MODE_1,
MODE_2,
};
/* 80BB6858 */ daBkyRock_c();
/* 80BB6B5C */ ~daBkyRock_c();
/* 80BB6C4C */ void create();
/* 80BB6D60 */ void execute();
/* 80BB6D84 */ void draw();
/* 80BB6EB8 */ void Delete();
/* 80BB6B5C */ virtual ~daBkyRock_c();
/* 80BB6C4C */ int create();
/* 80BB6D60 */ int execute();
/* 80BB6D84 */ int draw();
/* 80BB6EB8 */ int Delete();
/* 80BB6F64 */ void setModelMtx();
/* 80BB6FD4 */ void createHeap();
/* 80BB6FD4 */ int createHeap();
/* 80BB7144 */ void init();
/* 80BB72FC */ void middleExe();
/* 80BB7364 */ void exeModeNoDamage();
/* 80BB7458 */ void exeModeDamage();
/* 80BB75D8 */ void exeModePiece();
/* 80BB7690 */ void chkHitBombArrow();
/* 80BB7690 */ bool chkHitBombArrow();
/* 80BB776C */ void initChangeModeBefore();
/* 80BB77FC */ void initChangeModeAfter();
/* 80BB7818 */ void pieceMove();
/* 80BB7988 */ void pieceMoveInit();
/* 80BB7C18 */ void callBombEmt(int, u16 const*);
static u8 const s_CcDCyl[68];
static u8 s_exeProc[36];
u8 getSwBit0() { return fopAcM_GetParamBit(this, 4, 8); }
u8 getSwBit1() { return fopAcM_GetParamBit(this, 12, 8); }
s8 getNameNo() { return fopAcM_GetParamBit(this, 0, 4); }
static dCcD_SrcCyl const s_CcDCyl;
static exeProc s_exeProc[3];
private:
/* 0x568 */ u8 field_0x568[0xf50 - 0x568];
/* 0x568 */ int mVibrationTimer;
/* 0x578 */ u8 mMode;
/* 0x579 */ bool field_0x579;
/* 0x57A */ bool field_0x57a;
/* 0x57B */ Mtx mMtx;
/* 0x5AC */ dBgW* mBgW;
/* 0x5B0 */ dCcD_Stts mStts;
/* 0x5EC */ dCcD_Cyl mCyls[2];
/* 0x864 */ J3DModel* mModels[3];
/* 0x870 */ _pieceData mPieces[20];
};
STATIC_ASSERT(sizeof(daBkyRock_c) == 0xf50);
//STATIC_ASSERT(sizeof(daBkyRock_c) == 0xf50);
#endif /* D_A_OBJ_BKY_ROCK_H */
+46 -14
View File
@@ -1,6 +1,8 @@
#ifndef D_A_OBJ_BOUMATO_H
#define D_A_OBJ_BOUMATO_H
#include "d/d_bg_s_acch.h"
#include "d/d_jnt_col.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
@@ -13,34 +15,64 @@
*
*/
class daObj_BouMato_c : public fopAc_ac_c {
private:
/* 0x568 */ int field_0x568;
/* 0x56C */ request_of_phase_process_class mPhase;
/* 0x574 */ J3DModel* mModel;
/* 0x578 */ dBgS_ObjAcch mAcch;
/* 0x750 */ dCcD_Stts mStts;
/* 0x78C */ dBgS_AcchCir mAcchCir;
/* 0x7CC */ cBgS_GndChk mGndChk;
/* 0x808 */ dCcD_Cyl mCyl;
/* 0x944 */ cM3dGCyl mCyl2;
/* 0x95C */ cM3dGLin mGLin;
/* 0x978 */ dBgS_LinChk mLinChk;
/* 0x9E8 */ dJntCol_c mJntCol;
/* 0x9F8 */ csXyz field_0x9f8[3];
/* 0xA0A */ u16 field_0xa0a;
/* 0xA0C */ int mCutType;
/* 0xA10 */ int field_0xa10;
/* 0xA14 */ f32 mGroundH;
/* 0xA18 */ f32 field_0xa18[3];
/* 0xA24 */ s16 field_0xa24[3];
/* 0xA2A */ s16 field_0xa2a;
/* 0xA2C */ int mShadowId;
/* 0xA30 */ s16 field_0xa30;
/* 0xA32 */ u8 field_0xa32;
/* 0xA34 */ fpc_ProcID mTargetId;
/* 0xA38 */ u8 field_0xa38;
/* 0xA39 */ bool mIsCurTurnRight;
public:
/* 80BBAFEC */ ~daObj_BouMato_c();
/* 80BBB230 */ void create();
/* 80BBB770 */ void CreateHeap();
/* 80BBB800 */ void Delete();
/* 80BBB834 */ void Execute();
/* 80BBBD80 */ void Draw();
/* 80BBBE50 */ void createHeapCallBack(fopAc_ac_c*);
/* 80BBBE70 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
/* 80BBBEA0 */ void srchArrow(void*, void*);
/* 80BBAFEC */ virtual ~daObj_BouMato_c();
/* 80BBB230 */ int create();
/* 80BBB770 */ int CreateHeap();
/* 80BBB800 */ int Delete();
/* 80BBB834 */ int Execute();
/* 80BBBD80 */ int Draw();
/* 80BBBE50 */ static int createHeapCallBack(fopAc_ac_c*);
/* 80BBBE70 */ static void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
/* 80BBBEA0 */ static void* srchArrow(void*, void*);
/* 80BBBF4C */ void deleteStuckArrow();
/* 80BBBFF8 */ void getResName();
/* 80BBBFF8 */ char* getResName();
/* 80BBC008 */ void setSwayParam(fopAc_ac_c*);
/* 80BBC19C */ void setEnvTevColor();
/* 80BBC1F8 */ void setRoomNo();
/* 80BBC23C */ void setMtx();
private:
/* 0x568 */ u8 field_0x568[0xa40 - 0x568];
u8 getType() { return 0; }
u8 getOffSwBit() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }
u8 getOnSwBit() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; }
void setCutType(u8 cutType) { mCutType = cutType; }
};
STATIC_ASSERT(sizeof(daObj_BouMato_c) == 0xa40);
class daObj_BouMato_Param_c {
public:
/* 80BBC404 */ ~daObj_BouMato_Param_c();
/* 80BBC404 */ virtual ~daObj_BouMato_Param_c() {}
static u8 const m[28];
static f32 const m[7];
};
+31 -11
View File
@@ -1,6 +1,8 @@
#ifndef D_A_OBJ_GRA_ROCK_H
#define D_A_OBJ_GRA_ROCK_H
#include "d/d_bg_s_acch.h"
#include "d/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
@@ -12,7 +14,7 @@
* @details
*
*/
class daObjGraRock_c : public fopAc_ac_c {
class daObjGraRock_c : public dBgS_MoveBgActor {
public:
/* 80C110F8 */ void setAttnPos();
/* 80C11444 */ void setBaseMtx();
@@ -21,21 +23,39 @@ public:
/* 80C11730 */ void setEnvTevColor();
/* 80C1178C */ void setRoomNo();
/* 80C117D0 */ void col_set();
/* 80C11964 */ void checkHitAt(cCcD_Obj*);
/* 80C11970 */ void Create();
/* 80C11B68 */ void CreateHeap();
/* 80C11C64 */ void create();
/* 80C11FF0 */ void Execute(f32 (**)[3][4]);
/* 80C120FC */ void Draw();
/* 80C121C4 */ void Delete();
/* 80C11964 */ int checkHitAt(cCcD_Obj*);
/* 80C11970 */ int Create();
/* 80C11B68 */ int CreateHeap();
/* 80C11C64 */ int create();
/* 80C11FF0 */ int Execute(Mtx**);
/* 80C120FC */ int Draw();
/* 80C121C4 */ int Delete();
static u8 const mCcDCyl[68];
static dCcD_SrcCyl const mCcDCyl;
private:
/* 0x568 */ u8 field_0x568[0x9cc - 0x568];
/* 0x5A0 */ request_of_phase_process_class mPhases[5];
/* 0x5C8 */ J3DModel* mModel;
/* 0x5CC */ mDoExt_btpAnm mBtp;
/* 0x5E4 */ dBgS_ObjAcch mAcch;
/* 0x7BC */ dCcD_Stts mStts;
/* 0x7F8 */ dBgS_AcchCir mAcchCir;
/* 0x838 */ dCcD_Cyl mCyl;
/* 0x974 */ cBgS_GndChk mGndChk;
/* 0x9B0 */ s16 field_0x9b0;
/* 0x9B2 */ s16 field_0x9b2;
/* 0x9B4 */ s16 field_0x9b4;
/* 0x9B6 */ s16 field_0x9b6;
/* 0x9B8 */ s16 field_0x9b8;
/* 0x9BA */ s16 field_0x9ba;
/* 0x9BC */ u8 field_0x9bc;
/* 0x9BD */ u8 field_0x9bd;
/* 0x9BD */ s16 field_0x9be;
/* 0x9C0 */ u32 mParticleIds[2];
/* 0x9BD */ u8 field_0x9c8;
};
STATIC_ASSERT(sizeof(daObjGraRock_c) == 0x9cc);
//STATIC_ASSERT(sizeof(daObjGraRock_c) == 0x9cc);
#endif /* D_A_OBJ_GRA_ROCK_H */
+2
View File
@@ -2,6 +2,7 @@
#define D_D_MODEL_H
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "m_Do/m_Do_mtx.h"
class J3DModelData;
class dKy_tevstr_c;
@@ -9,6 +10,7 @@ class dKy_tevstr_c;
class dMdl_obj_c {
public:
MtxP getMtx() { return mMtx; }
void setMtx(Mtx mtx) { cMtx_copy(mtx, mMtx); }
/* 0x00 */ Mtx mMtx;
/* 0x30 */ dMdl_obj_c* mpObj;
+1 -1
View File
@@ -796,4 +796,4 @@ enum {
PROC_GAMEOVER = 0x0317,
};
#endif /* D_PROCNAME_H */
#endif /* D_PROCNAME_H */
+8
View File
@@ -396,6 +396,14 @@ inline f32 fopAcM_getCullSizeFar(const fopAc_ac_c* i_actor) {
return i_actor->cullSizeFar;
}
inline const Vec* fopAcM_getCullSizeBoxMin(const fopAc_ac_c* i_actor) {
return &i_actor->cull.box.min;
}
inline const Vec* fopAcM_getCullSizeBoxMax(const fopAc_ac_c* i_actor) {
return &i_actor->cull.box.max;
}
inline void fopAcM_SetCullSize(fopAc_ac_c* i_actor, s8 i_cullsize) {
i_actor->cullType = i_cullsize;
}
+1
View File
@@ -33,6 +33,7 @@ public:
void setPlayMode(int i_mode) { mFrameCtrl.setAttribute(i_mode); }
void setLoopFrame(f32 i_frame) { mFrameCtrl.setLoop(i_frame); }
bool isStop() { return mFrameCtrl.checkState(1) || mFrameCtrl.getRate() == 0.0f; }
bool isLoop() { return mFrameCtrl.checkState(2); }
void reset() { mFrameCtrl.reset(); }
BOOL checkFrame(f32 frame) { return mFrameCtrl.checkPass(frame); }