d_a_obj_grave_stone OK (#1999)

This commit is contained in:
Caroline Madsen
2023-12-03 07:01:37 -05:00
committed by GitHub
parent eda795addf
commit 28fb711606
27 changed files with 282 additions and 1506 deletions
+27 -10
View File
@@ -3,6 +3,7 @@
#include "SSystem/SComponent/c_sxyz.h"
#include "SSystem/SComponent/c_xyz.h"
#include "d/com/d_com_inf_game.h"
class dBgS_Acch;
class dKy_tevstr_c;
@@ -17,12 +18,16 @@ public:
/* 80051008 */ int setEffectCenter(dKy_tevstr_c const*, cXyz const*, u32, u32, cXyz const*,
csXyz const*, cXyz const*, s8, f32, f32);
/* 8005113C */ void clearID(u32*, u8*);
/* 80051488 */ u8 getCenterEffType(int) const;
/* 80051524 */ JPABaseEmitter* getCenterEmitter(int, int);
void clearCenterID() { clearID(field_0x8[0], &field_0x36); }
void changeWaterOffset(f32 i_offset) { mWaterOffset = i_offset; }
void changeRippleOffset(f32 i_offset) { mRippleOffset = i_offset; }
u8 getCenterEffType(int i_idx) const {
return mCenterEffType[i_idx];
}
JPABaseEmitter* getCenterEmitter(int param_0, int param_1) {
return dComIfGp_particle_getEmitter(field_0x8[param_0][param_1]);
}
/* 0x00 */ u32 field_0x0[2];
/* 0x08 */ u32 field_0x8[2][4];
@@ -40,13 +45,17 @@ public:
cXyz const*, cXyz const*, csXyz const*, cXyz const*, s8, f32,
f32);
/* 80051294 */ void clearTwoAllID();
/* 80051470 */ u8 getRightEffType(int) const;
/* 8005147C */ u8 getLeftEffType(int) const;
/* 80051494 */ JPABaseEmitter* getRightEmitter(int, int);
/* 800514DC */ JPABaseEmitter* getLeftEmitter(int, int);
void clearLeftID() { clearID(mLeftEmitter[0], &field_0x7c); }
void clearRightID() { clearID(mRightEmitter[0], &field_0x7d); }
u8 getRightEffType(int i_idx) const { return mRightEffType[i_idx]; }
u8 getLeftEffType(int i_idx) const { return mLeftEffType[i_idx]; }
JPABaseEmitter* getRightEmitter(int param_0, int param_1) {
return dComIfGp_particle_getEmitter(mRightEmitter[param_0][param_1]);
}
JPABaseEmitter* getLeftEmitter(int param_0, int param_1) {
return dComIfGp_particle_getEmitter(mLeftEmitter[param_0][param_1]);
}
typedef u8 (dPaPoT_c::*effTypeFunc)(int) const;
typedef JPABaseEmitter* (dPaPoT_c::*emitterFunc)(int, int);
@@ -68,13 +77,21 @@ public:
cXyz const*, cXyz const*, cXyz const*, cXyz const*,
csXyz const*, cXyz const*, s8, f32, f32);
/* 80051424 */ void clearFourAllID();
/* 8005156C */ u8 getBackRightEffType(int) const;
/* 80051578 */ u8 getBackLeftEffType(int) const;
/* 80051584 */ JPABaseEmitter* getBackRightEmitter(int, int);
/* 800515CC */ JPABaseEmitter* getBackLeftEmitter(int, int);
void clearBLeftID() { clearID(mBackLeftEmitter[0], &field_0xc4); }
void clearBRightID() { clearID(mBackRightEmitter[0], &field_0xc5); }
u8 getBackRightEffType(int i_idx) const {
return mBackRightEffType[i_idx];
}
u8 getBackLeftEffType(int i_idx) const {
return mBackLeftEffType[i_idx];
}
JPABaseEmitter* getBackRightEmitter(int param_0, int param_1) {
return dComIfGp_particle_getEmitter(mBackRightEmitter[param_0][param_1]);
}
JPABaseEmitter* getBackLeftEmitter(int param_0, int param_1) {
return dComIfGp_particle_getEmitter(mBackLeftEmitter[param_0][param_1]);
}
typedef u8 (dPaPoF_c::*effTypeFunc)(int) const;
typedef JPABaseEmitter* (dPaPoF_c::*emitterFunc)(int, int);
@@ -1,6 +1,52 @@
#ifndef D_A_OBJ_GRAVE_STONE_H
#define D_A_OBJ_GRAVE_STONE_H
#include "dolphin/types.h"
#include "SSystem/SComponent/c_phase.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/cc/d_cc_d.h"
#include "d/particle/d_particle_copoly.h"
class daGraveStone_c : public dBgS_MoveBgActor {
public:
class daObj_GrvStn_prtclMngr_c {
public:
/* 80C12EF0 */ ~daObj_GrvStn_prtclMngr_c() {}
/* 80C12F2C */ daObj_GrvStn_prtclMngr_c() {}
/* 0x00 */ bool field_0x00;
/* 0x04 */ cXyz mPos;
/* 0x10 */ csXyz mAngle;
/* 0x18 */ cXyz mScale;
/* 0x24 */ dPaPo_c field_0x24;
}; // Size: 0x5C
/* 80C125F8 */ void setBaseMtx();
/* 80C1266C */ void moveCalc();
/* 80C12918 */ int setPrtcl();
/* 80C12A38 */ void setEnvTevColor();
/* 80C12A94 */ void setRoomNo();
/* 80C12AD8 */ int Create();
/* 80C12CA4 */ int CreateHeap();
/* 80C12D1C */ cPhs__Step create();
/* 80C13030 */ int Execute(Mtx**);
/* 80C13078 */ int Draw();
/* 80C1311C */ int Delete();
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ dBgS_ObjAcch mAcch;
/* 0x784 */ dCcD_Stts mColStatus;
/* 0x7C0 */ dBgS_AcchCir mAcchCir;
/* 0x800 */ dCcD_Cyl mColCyl;
/* 0x93C */ cBgS_GndChk mGndChk;
/* 0x978 */ daObj_GrvStn_prtclMngr_c mPrtclMngr[4];
/* 0xAE8 */ s16 mTimer;
static dCcD_SrcGObjInf const mCcDObjInfo;
static dCcD_SrcCyl const mCcDCyl;
};
STATIC_ASSERT(sizeof(daGraveStone_c) == 0xAEC);
#endif /* D_A_OBJ_GRAVE_STONE_H */