mirror of
https://github.com/zeldaret/tp
synced 2026-09-03 02:03:55 -04:00
knBullet / lv6Lblock done, lv6ChangeGate equivalent (#2729)
* knBullet / lv6Lblock done, lv6ChangeGate equivalent * d_a_e_mm matching * debug fix * obj_kage matching
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
#ifndef D_A_E_MM_H
|
||||
#define D_A_E_MM_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_cc_uty.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-enemies
|
||||
@@ -10,17 +14,55 @@
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class e_mm_class : public fopEn_enemy_c {
|
||||
private:
|
||||
/* 0x5ac */ u8 field_0x5ac[0xc1c - 0x5ac];
|
||||
class e_mm_class {
|
||||
public:
|
||||
/* 0x000 */ fopEn_enemy_c enemy;
|
||||
/* 0x5AC */ request_of_phase_process_class phase;
|
||||
/* 0x5B4 */ u8 field_0x5b4;
|
||||
/* 0x5B5 */ u8 field_0x5b5;
|
||||
/* 0x5B6 */ u8 bitSw;
|
||||
/* 0x5B8 */ mDoExt_McaMorfSO* modelMorf;
|
||||
/* 0x5BC */ Z2CreatureEnemy sound;
|
||||
/* 0x660 */ int anm;
|
||||
/* 0x664 */ u32 shadowId;
|
||||
/* 0x668 */ fpc_ProcID armorChildId;
|
||||
/* 0x66C */ s16 lifetime;
|
||||
/* 0x66E */ s16 action;
|
||||
/* 0x670 */ s16 mode;
|
||||
/* 0x672 */ s8 field_0x672;
|
||||
/* 0x674 */ cXyz field_0x674;
|
||||
/* 0x680 */ u8 field_0x680[0x68C - 0x680];
|
||||
/* 0x68C */ s16 target_ya;
|
||||
/* 0x68E */ u8 field_0x68E[0x690 - 0x68E];
|
||||
/* 0x690 */ s16 angle_to_pl;
|
||||
/* 0x694 */ f32 dist_to_pl;
|
||||
/* 0x698 */ f32 field_0x698;
|
||||
/* 0x69C */ s16 timers[4];
|
||||
/* 0x6A4 */ s16 field_0x6a4;
|
||||
/* 0x6A8 */ f32 field_0x6a8;
|
||||
/* 0x6AC */ s16 field_0x6ac;
|
||||
/* 0x6B0 */ dBgS_AcchCir acchcir;
|
||||
/* 0x6F0 */ dBgS_ObjAcch acch;
|
||||
/* 0x8C8 */ dCcD_Stts ccStts;
|
||||
/* 0x904 */ dCcD_Sph ccSph;
|
||||
/* 0xA3C */ dCcD_Sph ccWindSph;
|
||||
/* 0xB74 */ dCcU_AtInfo atInfo;
|
||||
/* 0xB98 */ s8 field_0xb98;
|
||||
/* 0xB99 */ s8 field_0xb99;
|
||||
/* 0xB9C */ u32 field_0xb9c[6];
|
||||
/* 0xBB4 */ u32 waterEffEmtIds[4];
|
||||
/* 0xBC4 */ cXyz field_0xbc4;
|
||||
/* 0xBD0 */ cXyz field_0xbd0;
|
||||
/* 0xBDC */ cXyz field_0xbdc;
|
||||
/* 0xBE8 */ cXyz field_0xbe8;
|
||||
/* 0xBF4 */ cXyz field_0xbf4;
|
||||
/* 0xC00 */ u8 field_0xc00;
|
||||
/* 0xC01 */ u8 field_0xc01;
|
||||
/* 0xC04 */ u32 field_0xc04;
|
||||
/* 0xC08 */ u32 field_0xc08;
|
||||
/* 0xC0C */ u8 field_0xC0C[0xC1C - 0xC0C];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(e_mm_class) == 0xc1c);
|
||||
|
||||
class daE_MM_HIO_c {
|
||||
/* 8071F9CC */ daE_MM_HIO_c();
|
||||
/* 80722780 */ ~daE_MM_HIO_c();
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_E_MM_H */
|
||||
|
||||
@@ -11,9 +11,21 @@
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class obj_kage_class : public fopAc_ac_c {
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x5b4 - 0x568];
|
||||
class obj_kage_class {
|
||||
public:
|
||||
/* 0x000 */ fopAc_ac_c actor;
|
||||
/* 0x568 */ request_of_phase_process_class phase;
|
||||
/* 0x570 */ J3DModel* model;
|
||||
/* 0x574 */ u8 field_0x574;
|
||||
/* 0x578 */ Z2SoundObjSimple sound;
|
||||
/* 0x598 */ u8 field_0x598[0x59A - 0x598];
|
||||
/* 0x59A */ s16 timers[2];
|
||||
/* 0x59E */ s16 field_0x59e;
|
||||
/* 0x5A0 */ s16 counter;
|
||||
/* 0x5A4 */ f32 field_0x5a4;
|
||||
/* 0x5A8 */ f32 field_0x5a8;
|
||||
/* 0x5AC */ fpc_ProcID inko_child_id;
|
||||
/* 0x5B0 */ u8 field_0x5b0[0x5B4 - 0x5B0];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(obj_kage_class) == 0x5b4);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_OBJ_KNBULLET_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_cc_d.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
@@ -13,25 +14,33 @@
|
||||
*/
|
||||
class daObjKnBullet_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80C47118 */ void Create();
|
||||
/* 80C47300 */ void Execute();
|
||||
/* 80C47480 */ bool Draw();
|
||||
/* 80C47488 */ bool Delete();
|
||||
/* 80C47118 */ int Create();
|
||||
/* 80C47300 */ int Execute();
|
||||
/* 80C47480 */ int Draw();
|
||||
/* 80C47488 */ int Delete();
|
||||
/* 80C47490 */ void setBaseMtx();
|
||||
/* 80C474E8 */ void col_init();
|
||||
/* 80C47558 */ void col_chk();
|
||||
/* 80C47558 */ BOOL col_chk();
|
||||
/* 80C477B4 */ void hitPrtclSet();
|
||||
|
||||
u8 getActionMode() { return mActionMode; }
|
||||
void setActionMode(u8 i_action) { mActionMode = i_action; }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x70c - 0x568];
|
||||
/* 0x568 */ Mtx mMtx;
|
||||
/* 0x598 */ dCcD_Stts mCcStts;
|
||||
/* 0x5D4 */ dCcD_Sph mCcSph;
|
||||
/* 0x70C */ u8 mActionMode;
|
||||
/* 0x70D */ u8 field_0x70d[0x71c - 0x70d];
|
||||
/* 0x70E */ s16 mTimer;
|
||||
/* 0x710 */ u32 mEmtIds[3];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjKnBullet_c) == 0x71c);
|
||||
|
||||
struct daObjKnBullet_Hio_Param_c {
|
||||
/* 0x0 */ f32 radius;
|
||||
/* 0x4 */ f32 move_speed;
|
||||
/* 0x8 */ s16 lifetime;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_KNBULLET_H */
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
#define D_A_OBJ_LV6CHANGEGATE_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
#include "d/d_event_lib.h"
|
||||
#include "d/d_cc_d.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
@@ -11,15 +14,14 @@
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daLv6ChangeGate_c : public fopAc_ac_c {
|
||||
class daLv6ChangeGate_c : public dBgS_MoveBgActor, public request_of_phase_process_class, public dEvLib_callback_c {
|
||||
public:
|
||||
daLv6ChangeGate_c() : dEvLib_callback_c(this) {}
|
||||
|
||||
/* 80C70D38 */ void setBaseMtx();
|
||||
/* 80C70DD4 */ void CreateHeap();
|
||||
/* 80C70E40 */ void create();
|
||||
/* 80C712A8 */ void isSwitch();
|
||||
/* 80C712F4 */ void Execute(Mtx**);
|
||||
/* 80C70E40 */ int create();
|
||||
/* 80C712A8 */ u8 isSwitch();
|
||||
/* 80C71494 */ void moveGate();
|
||||
/* 80C715BC */ void eventStart();
|
||||
/* 80C715F4 */ void init_modeWait();
|
||||
/* 80C71600 */ void modeWait();
|
||||
/* 80C71604 */ void init_modeSlideRight();
|
||||
@@ -28,23 +30,48 @@ public:
|
||||
/* 80C718EC */ void modeSlideLeft();
|
||||
/* 80C71A74 */ void init_modeBreak();
|
||||
/* 80C71AF8 */ void modeBreak();
|
||||
/* 80C71D40 */ void Draw();
|
||||
/* 80C71DE4 */ void Delete();
|
||||
/* 80C72034 */ ~daLv6ChangeGate_c();
|
||||
|
||||
static u8 const mCcDObjInfo[48];
|
||||
static u8 mCcDCyl[68];
|
||||
/* 80C70DD4 */ virtual int CreateHeap();
|
||||
/* 80C712F4 */ virtual int Execute(Mtx**);
|
||||
/* 80C71D40 */ virtual int Draw();
|
||||
/* 80C71DE4 */ virtual int Delete();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x14dc - 0x568];
|
||||
/* 80C72034 */ virtual ~daLv6ChangeGate_c() {}
|
||||
/* 80C715BC */ virtual bool eventStart();
|
||||
|
||||
int getEventID() { return fopAcM_GetParamBit(this, 24, 8); }
|
||||
int getWaitTime() { return fopAcM_GetParamBit(this, 16, 8); }
|
||||
int getSwState() { return fopAcM_GetParamBit(this, 12, 4); }
|
||||
int getSw() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
int getSw2() { return shape_angle.x & 0xFF; }
|
||||
|
||||
static const dCcD_SrcGObjInf mCcDObjInfo;
|
||||
static dCcD_SrcCyl mCcDCyl;
|
||||
|
||||
/* 0x05B8 */ request_of_phase_process_class mPhase;
|
||||
/* 0x05C0 */ J3DModel* mpModel;
|
||||
/* 0x05C4 */ u8 mMode;
|
||||
/* 0x05C8 */ dCcD_Stts mCcStts;
|
||||
/* 0x0604 */ dCcD_Cyl mCcCyls[12];
|
||||
/* 0x14D4 */ u8 mSwState;
|
||||
/* 0x14D5 */ u8 mSwbit;
|
||||
/* 0x14D6 */ u8 mIsSwitch;
|
||||
/* 0x14D7 */ u8 mTimer;
|
||||
/* 0x14D8 */ f32 mMoveTransX;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daLv6ChangeGate_c) == 0x14dc);
|
||||
|
||||
class daLv6ChangeGate_HIO_c {
|
||||
class daLv6ChangeGate_HIO_c : public fOpAcm_HIO_entry_c {
|
||||
public:
|
||||
/* 80C70C4C */ daLv6ChangeGate_HIO_c();
|
||||
/* 80C71EE8 */ ~daLv6ChangeGate_HIO_c();
|
||||
/* 80C71EE8 */ virtual ~daLv6ChangeGate_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x4 */ f32 speed;
|
||||
/* 0x8 */ f32 move_amount;
|
||||
/* 0xC */ u8 unk_0xc;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_OBJ_LV6LBLOCK_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
@@ -11,13 +12,11 @@
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daLv6Lblock_c : public fopAc_ac_c {
|
||||
class daLv6Lblock_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
/* 80C73464 */ void setBaseMtx();
|
||||
/* 80C734EC */ void CreateHeap();
|
||||
/* 80C73558 */ void create();
|
||||
/* 80C736C0 */ void isSwitch();
|
||||
/* 80C7370C */ void Execute(Mtx**);
|
||||
/* 80C73558 */ int create();
|
||||
/* 80C736C0 */ u8 isSwitch();
|
||||
/* 80C7375C */ void moveBlock();
|
||||
/* 80C73850 */ void init_modeWait();
|
||||
/* 80C7385C */ void modeWait();
|
||||
@@ -25,19 +24,39 @@ public:
|
||||
/* 80C7386C */ void modeLiftUp();
|
||||
/* 80C7398C */ void init_modeLiftDown();
|
||||
/* 80C73998 */ void modeLiftDown();
|
||||
/* 80C73AB0 */ void Draw();
|
||||
/* 80C73B54 */ void Delete();
|
||||
|
||||
/* 80C734EC */ virtual int CreateHeap();
|
||||
/* 80C7370C */ virtual int Execute(Mtx**);
|
||||
/* 80C73AB0 */ virtual int Draw();
|
||||
/* 80C73B54 */ virtual int Delete();
|
||||
|
||||
int getSwState() { return fopAcM_GetParamBit(this, 12, 4); }
|
||||
int getUpMax() { return fopAcM_GetParamBit(this, 8, 4); }
|
||||
int getSw() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x5b8 - 0x568];
|
||||
/* 0x5A0 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5A8 */ J3DModel* mpModel;
|
||||
/* 0x5AC */ u8 mMode;
|
||||
/* 0x5AD */ u8 mSwState;
|
||||
/* 0x5AE */ u8 mSwbit;
|
||||
/* 0x5AF */ u8 mIsSwitch;
|
||||
/* 0x5B0 */ f32 mMaxHeight;
|
||||
/* 0x5B4 */ f32 mBaseHeight;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daLv6Lblock_c) == 0x5b8);
|
||||
|
||||
class daLv6Lblock_HIO_c {
|
||||
class daLv6Lblock_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80C733EC */ daLv6Lblock_HIO_c();
|
||||
/* 80C73C10 */ ~daLv6Lblock_HIO_c();
|
||||
/* 80C73C10 */ virtual ~daLv6Lblock_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x4 */ f32 speed;
|
||||
/* 0x8 */ f32 move_amount;
|
||||
/* 0xC */ u8 unk_0xc;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user