d_a_obj_cb almost matching (#2265)

* d_a_obj_cb almost matching

* d_a_obj_bubblePillar OK

* Work on d_a_obj_fchain

* d_a_obj_gb OK

* daTimeFire_c OK

* d_a_obj_toaru_maki OK

* d_a_obj_ten OK
This commit is contained in:
hatal175
2024-12-17 01:16:19 +02:00
committed by GitHub
parent ee992eb80c
commit c5ab943cfc
23 changed files with 2329 additions and 2572 deletions
+39 -11
View File
@@ -1,6 +1,8 @@
#ifndef D_A_OBJ_BUBBLEPILAR_H
#define D_A_OBJ_BUBBLEPILAR_H
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -11,32 +13,58 @@
* @details
*
*/
class daBubbPilar_c : public fopAc_ac_c {
class daBubbPilar_c : public dBgS_MoveBgActor {
public:
typedef void (daBubbPilar_c::*modeProc)();
enum Mode {
MODE_WAIT,
MODE_EFF_ON,
};
/* 80BC3460 */ void setBaseMtx();
/* 80BC3518 */ void CreateHeap();
/* 80BC35D0 */ void create();
/* 80BC3934 */ void Execute(f32 (**)[3][4]);
/* 80BC3518 */ int CreateHeap();
/* 80BC35D0 */ int create();
/* 80BC3934 */ int Execute(Mtx**);
/* 80BC3AB8 */ void initModeWait();
/* 80BC3AC4 */ void modeWait();
/* 80BC3C74 */ void initModeEffOn();
/* 80BC3C98 */ void modeEffOn();
/* 80BC3DB0 */ void Draw();
/* 80BC3E8C */ void Delete();
/* 80BC3DB0 */ int Draw();
/* 80BC3E8C */ int Delete();
static u8 const mCcDObjInfo[48];
static u8 mCcDCyl[68];
u8 getArg0() { return fopAcM_GetParamBit(this, 8, 4); }
u8 getSw() { return fopAcM_GetParamBit(this, 0, 8); }
static dCcD_SrcGObjInf const mCcDObjInfo;
static dCcD_SrcCyl mCcDCyl;
private:
/* 0x568 */ u8 field_0x568[0x750 - 0x568];
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mModels[2];
/* 0x5B0 */ dCcD_Stts mStts;
/* 0x5EC */ dCcD_Cyl mCyl;
/* 0x728 */ u8 field_0x728;
/* 0x729 */ u8 mMode;
/* 0x72A */ u8 mSw;
/* 0x72B */ u8 mArg0;
/* 0x72C */ u8 mIsSw;
/* 0x72D */ u8 mModelMode;
/* 0x72E */ s16 field_0x72e;
/* 0x730 */ int mEmitterIds[3];
/* 0x73C */ int mEmitterId;
/* 0x740 */ JPABaseEmitter* mEmitters[4];
};
STATIC_ASSERT(sizeof(daBubbPilar_c) == 0x750);
class daBubbPilar_HIO_c {
class daBubbPilar_HIO_c : public mDoHIO_entry_c {
public:
/* 80BC33EC */ daBubbPilar_HIO_c();
/* 80BC3F90 */ ~daBubbPilar_HIO_c();
/* 80BC3F90 */ virtual ~daBubbPilar_HIO_c() {};
u8 field_0x4;
u8 field_0x5;
};
+26 -3
View File
@@ -1,6 +1,8 @@
#ifndef D_A_OBJ_CB_H
#define D_A_OBJ_CB_H
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -12,8 +14,27 @@
*
*/
class obj_cb_class : public fopAc_ac_c {
private:
/* 0x568 */ u8 field_0x568[0x97c - 0x568];
public:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mModel;
/* 0x574 */ Z2SoundObjSimple mSoundObj;
/* 0x594 */ s16 field_0x594;
/* 0x596 */ s16 field_0x596;
/* 0x598 */ s16 field_0x598[2];
/* 0x59C */ s16 field_0x59c;
/* 0x59E */ s16 field_0x59e;
/* 0x5A0 */ csXyz field_0x5a0;
/* 0x5A8 */ f32 field_0x5a8;
/* 0x5AC */ dBgS_AcchCir mAcchCir;
/* 0x5EC */ dBgS_ObjAcch mAcch;
/* 0x7C4 */ int field_0x7c4;
/* 0x7C8 */ Mtx mBgMtx;
/* 0x7F8 */ dBgW* mBgW;
/* 0x7FC */ dCcD_Stts mStts;
/* 0x838 */ dCcD_Sph mSph;
/* 0x970 */ u32 field_0x970;
/* 0x974 */ u32 field_0x974;
/* 0x978 */ u8 field_0x978;
};
STATIC_ASSERT(sizeof(obj_cb_class) == 0x97c);
@@ -21,7 +42,9 @@ STATIC_ASSERT(sizeof(obj_cb_class) == 0x97c);
class daObj_Cb_HIO_c {
public:
/* 80BC4B2C */ daObj_Cb_HIO_c();
/* 80BC573C */ ~daObj_Cb_HIO_c();
/* 80BC573C */ virtual ~daObj_Cb_HIO_c() {}
s8 field_0x4;
};
+21 -8
View File
@@ -3,10 +3,10 @@
#include "f_op/f_op_actor_mng.h"
class daObjFchain_shape_c {
class daObjFchain_shape_c : public J3DPacket {
public:
/* 80BE7194 */ void draw();
/* 80BE73D4 */ ~daObjFchain_shape_c();
/* 80BE7194 */ virtual void draw();
/* 80BE73D4 */ virtual ~daObjFchain_shape_c() {}
};
/**
@@ -19,16 +19,29 @@ public:
*/
class daObjFchain_c : public fopAc_ac_c {
public:
/* 80BE5FF8 */ void createHeap();
/* 80BE6074 */ void create();
/* 80BE5FF8 */ int createHeap();
/* 80BE6074 */ int create();
/* 80BE63C8 */ ~daObjFchain_c();
/* 80BE64E0 */ void checkPlayerFoot(cXyz const*, cXyz const*, cXyz*);
/* 80BE66B4 */ void setGroundVec(cXyz*, f32);
/* 80BE6868 */ void execute();
/* 80BE7324 */ void draw();
/* 80BE6868 */ int execute();
/* 80BE7324 */ int draw();
cXyz* getPos() { return field_0x694; }
csXyz* getAngle() { return field_0x8a4; }
J3DModelData* getModelData() { return mModelData; }
private:
/* 0x568 */ u8 field_0x568[0x928 - 0x568];
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModelData* mModelData;
/* 0x574 */ daObjFchain_shape_c mShape;
/* 0x584 */ s16 field_0x584;
/* 0x586 */ u16 field_0x586;
/* 0x588 */ s16 field_0x588;
/* 0x58C */ cXyz field_0x58c[22];
/* 0x694 */ cXyz field_0x694[22];
/* 0x79C */ cXyz field_0x79c[22];
/* 0x8A4 */ csXyz field_0x8a4[22];
};
STATIC_ASSERT(sizeof(daObjFchain_c) == 0x928);
+21 -3
View File
@@ -1,7 +1,10 @@
#ifndef D_A_OBJ_GB_H
#define D_A_OBJ_GB_H
#include "f_op/f_op_actor_mng.h"
#include "SSystem/SComponent/c_phase.h"
#include "f_op/f_op_actor.h"
class dBgW;
/**
* @ingroup actors-objects
@@ -12,8 +15,23 @@
*
*/
class obj_gb_class : public fopAc_ac_c {
private:
/* 0x568 */ u8 field_0x568[0x6bc - 0x568];
public:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mModel;
/* 0x574 */ mDoExt_btkAnm* mBtk;
/* 0x578 */ mDoExt_brkAnm* mBrk;
/* 0x57C */ u8 field_0x57c;
/* 0x57D */ u8 mColorAlpha;
/* 0x580 */ int mSw1;
/* 0x584 */ int mSw2;
/* 0x588 */ s16 mIsFinalBattle;
/* 0x58A */ s16 field_0x58a[2];
/* 0x58E */ s16 field_0x58e;
/* 0x58E */ f32 mBrkFrame;
/* 0x594 */ cXyz field_0x594[20];
/* 0x684 */ f32 field_0x684;
/* 0x688 */ Mtx mBgMtx;
/* 0x6B8 */ dBgW* mpBgW;
};
STATIC_ASSERT(sizeof(obj_gb_class) == 0x6bc);
+53 -10
View File
@@ -1,6 +1,10 @@
#ifndef D_A_OBJ_TEN_H
#define D_A_OBJ_TEN_H
#include "d/actor/d_a_player.h"
#include "d/d_bg_s_acch.h"
#include "d/d_bg_s_gnd_chk.h"
#include "d/d_cc_d.h"
#include "d/d_insect.h"
/**
@@ -11,12 +15,18 @@
* @details
*
*/
class daObjTEN_c : public fopAc_ac_c {
class daObjTEN_c : public dInsect_c {
public:
enum Action {
ACTION_WAIT,
ACTION_MOVE,
ACTION_WALK,
};
/* 80D087F4 */ void InitCcSph();
/* 80D08860 */ void SetCcSph();
/* 80D08C10 */ void WaitAction();
/* 80D08D94 */ void WallCheck();
/* 80D08D94 */ BOOL WallCheck();
/* 80D09008 */ void SpeedSet();
/* 80D09114 */ void WallWalk();
/* 80D09548 */ void WalkAction();
@@ -24,19 +34,48 @@ public:
/* 80D09F58 */ void Action();
/* 80D0A01C */ void ShopAction();
/* 80D0A0D8 */ void checkGroundPos();
/* 80D0A13C */ void Insect_Release();
/* 80D0A13C */ virtual void Insect_Release();
/* 80D0A154 */ void ParticleSet();
/* 80D0A278 */ void BoomChk();
/* 80D0A644 */ void Execute();
/* 80D0A644 */ int Execute();
/* 80D0A8C8 */ void ObjHit();
/* 80D0AA50 */ void Z_BufferChk();
/* 80D0ABCC */ void Delete();
/* 80D0ABCC */ int Delete();
/* 80D0AC34 */ void setBaseMtx();
/* 80D0AD9C */ void CreateChk();
/* 80D0AF48 */ void create();
/* 80D0AD9C */ bool CreateChk();
/* 80D0AF48 */ int create();
private:
/* 0x568 */ u8 field_0x568[0xa68 - 0x568];
/* 0x590 */ dBgS_GndChk mGndChk;
/* 0x5E4 */ f32 field_0x5e4;
/* 0x5E8 */ u8 mAction;
/* 0x5E9 */ u8 field_0x5e9;
/* 0x5EA */ s16 field_0x5ea[3];
/* 0x5F0 */ f32 field_0x5f0;
/* 0x5F4 */ f32 field_0x5f4;
/* 0x5F8 */ s16 field_0x5f8;
/* 0x5EC */ u8 field_0x5fa[0x602 - 0x5fa];
/* 0x602 */ csXyz field_0x602;
/* 0x608 */ s16 field_0x608;
/* 0x60A */ s16 field_0x60a;
/* 0x60C */ u8 field_0x60c;
/* 0x60D */ u8 field_0x60d;
/* 0x610 */ mDoExt_brkAnm* mBrk;
/* 0x614 */ mDoExt_btkAnm* mBtk;
/* 0x618 */ f32 field_0x618;
/* 0x61C */ u32 field_0x61c;
/* 0x620 */ f32 mParticleScale;
/* 0x624 */ u8 field_0x624;
/* 0x628 */ dCcD_Stts mStts;
/* 0x664 */ dCcD_Sph mSph;
/* 0x79C */ daPy_boomerangMove_c mBoomerang;
/* 0x7A8 */ u8 field_0x7a8;
/* 0x7AC */ dBgS_ObjAcch mAcch;
/* 0x984 */ dBgS_AcchCir mAcchCir;
/* 0x9C4 */ Z2Creature mCreature;
/* 0xA54 */ int field_0xa54;
/* 0xA58 */ mDoExt_McaMorfSO* mMorf;
/* 0xA5C */ request_of_phase_process_class mPhase;
/* 0xA64 */ u8 field_0xa64;
};
STATIC_ASSERT(sizeof(daObjTEN_c) == 0xa68);
@@ -44,7 +83,11 @@ STATIC_ASSERT(sizeof(daObjTEN_c) == 0xa68);
class daObj_TenHIO_c {
public:
/* 80D087CC */ daObj_TenHIO_c();
/* 80D0B848 */ ~daObj_TenHIO_c();
/* 80D0B848 */ virtual ~daObj_TenHIO_c() {}
s8 field_0x4;
f32 field_0x8;
f32 field_0xc;
};
+27 -8
View File
@@ -14,25 +14,44 @@
class daTimeFire_c : public fopAc_ac_c {
public:
/* 80D0E958 */ void setBaseMtx();
/* 80D0E9B0 */ void create();
/* 80D0E9B0 */ int create();
/* 80D0EACC */ void lightInit();
/* 80D0EB40 */ void setLight();
/* 80D0EB64 */ void cutLight();
/* 80D0EB88 */ void Execute();
/* 80D0ED68 */ void fireCheck(u8);
/* 80D0EF88 */ bool Draw();
/* 80D0EF90 */ void Delete();
/* 80D0EB88 */ int Execute();
/* 80D0ED68 */ bool fireCheck(u8);
/* 80D0EF88 */ int Draw();
/* 80D0EF90 */ int Delete();
int getSw() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getStartTime() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getEndTime() { return fopAcM_GetParamBit(this, 16, 8); }
u8 getScale() { return fopAcM_GetParamBit(this, 24, 8); }
private:
/* 0x568 */ u8 field_0x568[0x5c0 - 0x568];
/* 0x568 */ u8 field_0x568;
/* 0x569 */ u8 field_0x569;
/* 0x56A */ u8 mStartTime;
/* 0x56B */ u8 mEndTime;
/* 0x56C */ bool field_0x56c;
/* 0x56D */ bool field_0x56d;
/* 0x570 */ cXyz field_0x570;
/* 0x57C */ cXyz mParticleScale;
/* 0x588 */ int mParticleId1;
/* 0x58c */ int mParticleId2;
/* 0x590 */ int mParticleId3;
/* 0x594 */ cXyz field_0x594;
/* 0x5A0 */ LIGHT_INFLUENCE mLightInfluence;
};
STATIC_ASSERT(sizeof(daTimeFire_c) == 0x5c0);
class daTimeFire_HIO_c {
class daTimeFire_HIO_c : public mDoHIO_entry_c {
public:
/* 80D0E8EC */ daTimeFire_HIO_c();
/* 80D0F038 */ ~daTimeFire_HIO_c();
/* 80D0F038 */ virtual ~daTimeFire_HIO_c() {}
u8 field_0x4;
};
+1 -1
View File
@@ -27,7 +27,7 @@ public:
private:
/* 0x574 */ J3DModel* mpModel;
/* 0x578 */ s32 field_0x578;
/* 0x578 */ dBgW* mpBgW;
/* 0x57C */ Mtx mMtx;
};
+2 -1
View File
@@ -463,7 +463,7 @@ public:
ERFLG0_UNK_80000000 = 0x80000000,
ERFLG0_UNK_40000000 = 0x40000000,
ERFLG0_UNK_20000000 = 0x20000000,
ERFLG0_UNK_10000000 = 0x10000000,
ERFLG0_WOLF_FCHAIN_PULL = 0x10000000,
ERFLG0_UNK_8000000 = 0x8000000,
ERFLG0_UNK_4000000 = 0x4000000,
ERFLG0_BOSS_ROOM_WAIT = 0x2000000,
@@ -920,6 +920,7 @@ public:
void onForceAutoJump() { onEndResetFlg0(ERFLG0_FORCE_AUTO_JUMP); }
void onNotAutoJump() { onEndResetFlg0(ERFLG0_NOT_AUTO_JUMP); }
void onNotHang() { onEndResetFlg0(ERFLG0_NOT_HANG); }
void onWolfFchainPull() { onEndResetFlg0(ERFLG0_WOLF_FCHAIN_PULL); }
void onShieldBackBone() { onEndResetFlg1(ERFLG1_GANON_FINISH); }
void onWolfEyeKeep() { onEndResetFlg1(ERFLG1_WOLF_EYE_KEEP); }
void onPortalWarpMidnaAtnKeep() { onEndResetFlg2(ERFLG2_PORTAL_WARP_MIDNA_ATN_KEEP); }
+1 -1
View File
@@ -26,7 +26,7 @@ public:
void setItemNo(u8 i_itemNo) { m_itemNo = i_itemNo; }
void setSaveBitNo(s16 i_saveBitNo) { m_saveBitNo = i_saveBitNo; }
protected:
public:
/* 0x56C */ u8 field_0x56C;
/* 0x56D */ bool mDraw;
/* 0x570 */ u32 mParticleKey1;