d_a_e_sb Matching (#2559)

* d_a_e_sb 50% complete

* d_a_e_sb 71% done

* d_a_e_sb matching

* address PR comments
This commit is contained in:
YunataSavior
2025-07-30 10:26:19 -07:00
committed by GitHub
parent 2b873ea144
commit ec9e4cf268
5 changed files with 1291 additions and 1141 deletions
+78 -10
View File
@@ -1,5 +1,8 @@
#ifndef D_A_E_SB_H
#define D_A_E_SB_H
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -11,10 +14,11 @@
*
*/
class daE_SB_c : public fopEn_enemy_c {
/* 807816D8 */ void CreateHeap();
public:
/* 807816D8 */ int CreateHeap();
/* 807817F0 */ void initCcCylinder();
/* 80781850 */ void setCcCylinder();
/* 80781898 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 80781898 */ int ctrlJoint(J3DJoint*, J3DModel*);
/* 807819DC */ void Particle_Set(u16);
/* 80781A4C */ void SetAnm(int, int, f32, f32);
/* 80781AF8 */ void MemberClear();
@@ -48,20 +52,84 @@ class daE_SB_c : public fopEn_enemy_c {
/* 80783FBC */ void HashiraVib();
/* 80784144 */ void Yazirushi();
/* 807841CC */ void setGroundAngle();
/* 80784390 */ void Execute();
/* 807844BC */ void Draw();
/* 807845D8 */ void Delete();
/* 80784390 */ int Execute();
/* 807844BC */ int Draw();
/* 807845D8 */ int Delete();
/* 80784640 */ void setBaseMtx();
/* 80784720 */ void Create();
/* 80784720 */ cPhs__Step Create();
private:
/* 0x5ac */ u8 field_0x5ac[0xbc0 - 0x5ac];
/* 0x5AC */ int field_0x5ac;
/* 0x5B0 */ int field_0x5b0;
/* 0x5B4 */ int field_0x5b4;
/* 0x5B8 */ int field_0x5b8;
/* 0x5BC */ int field_0x5bc;
/* 0x5C0 */ int field_0x5c0;
/* 0x5C4 */ int field_0x5c4;
/* 0x5C8 */ int field_0x5c8;
/* 0x5CC */ u32 field_0x5cc;
/* 0x5D0 */ u8 field_0x5d0;
/* 0x5D2 */ s16 field_0x5d2;
/* 0x5D1 */ f32 field_0x5d4;
/* 0x5D8 */ csXyz field_0x5d8;
/* 0x5DE */ csXyz field_0x5de;
/* 0x5E4 */ u8 field_0x5e4;
/* 0x5E6 */ s16 field_0x5e6;
/* 0x5E8 */ u8 field_0x5e8;
public:
/* 0x5EC */ cXyz* field_0x5ec;
/* 0x5F0 */ f32 field_0x5f0;
private:
/* 0x5F4 */ cXyz field_0x5f4;
/* 0x600 */ s16 field_0x600;
/* 0x602 */ u8 field_0x602;
/* 0x603 */ u8 field_0x603;
/* 0x604 */ u8 field_0x604;
/* 0x608 */ int field_0x608;
/* 0x60C */ int field_0x60c;
/* 0x610 */ s16 field_0x610;
/* 0x612 */ s16 field_0x612;
/* 0x614 */ csXyz field_0x614;
/* 0x61A */ u8 field_0x61a;
/* 0x61C */ mDoExt_McaMorfSO* mpMorf;
/* 0x620 */ request_of_phase_process_class mPhaseReq;
/* 0x628 */ int mShadowKey;
/* 0x62C */ Z2CreatureEnemy mSound;
/* 0x6D0 */ dBgS_AcchCir mAcchCir;
/* 0x710 */ dBgS_ObjAcch mAcch;
/* 0x8E8 */ dCcD_Stts mStts;
/* 0x924 */ dCcD_Sph mSph;
/* 0xA5C */ dCcD_Cyl mCyl;
/* 0xB98 */ dCcU_AtInfo mAtInfo;
/* 0xBBC */ u8 field_0xbbc;
};
STATIC_ASSERT(sizeof(daE_SB_c) == 0xbc0);
STATIC_ASSERT(sizeof(daE_SB_c) == 0xBC0);
class daE_SB_HIO_c {
class daE_SB_HIO_c : public JORReflexible {
public:
/* 8078164C */ daE_SB_HIO_c();
/* 80784CC0 */ ~daE_SB_HIO_c();
/* 80784CC0 */ virtual ~daE_SB_HIO_c() {}
#if DEBUG
void genMessage(JORMContext*);
#endif
/* 0x04 */ s8 field_0x04;
/* 0x08 */ f32 search_area;
/* 0x0C */ f32 distance_home;
/* 0x10 */ f32 jump_xz_axis_speed;
/* 0x14 */ f32 jump_y_axis_speed;
/* 0x18 */ f32 atk_jump_xz_axis_speed;
/* 0x1C */ f32 atk_y_axis_speed;
/* 0x20 */ f32 magne_on_atk_y_axis_speed;
/* 0x24 */ f32 grav_reduct_rate;
/* 0x28 */ f32 other_anm_speed;
/* 0x2C */ f32 shield_atk_anm_speed;
/* 0x30 */ f32 death_anm_speed;
/* 0x34 */ f32 size;
/* 0x38 */ f32 atk_start_range;
/* 0x3C */ s16 field_0x3c;
/* 0x3E */ s16 field_0x3e;
};
+1
View File
@@ -149,6 +149,7 @@ public:
u32 MaskRoofHit() const { return m_flags & ROOF_HIT; }
bool ChkRoofHit() const { return MaskRoofHit() != 0; }
void OffClrSpeedY() { m_flags |= CLR_SPEED_Y; }
void OnClrSpeedY() { m_flags &= ~CLR_SPEED_Y; }
bool ChkClrSpeedY() const { return !(m_flags & CLR_SPEED_Y); }
void SetGroundFind() { m_flags |= GROUND_FIND; }
void SetGroundHit() { m_flags |= GROUND_HIT; }