mirror of
https://github.com/zeldaret/tp
synced 2026-07-08 14:36:36 -04:00
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:
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ public:
|
||||
|
||||
private:
|
||||
/* 0x574 */ J3DModel* mpModel;
|
||||
/* 0x578 */ s32 field_0x578;
|
||||
/* 0x578 */ dBgW* mpBgW;
|
||||
/* 0x57C */ Mtx mMtx;
|
||||
};
|
||||
|
||||
|
||||
@@ -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); }
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user