mirror of https://github.com/zeldaret/tp.git
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:
parent
2b873ea144
commit
ec9e4cf268
|
@ -5,17 +5,17 @@ __register_global_object = .text:0x00000078; // type:function size:0x1C scope:gl
|
||||||
__destroy_global_chain = .text:0x00000094; // type:function size:0x58 scope:global
|
__destroy_global_chain = .text:0x00000094; // type:function size:0x58 scope:global
|
||||||
__ct__12daE_SB_HIO_cFv = .text:0x000000EC; // type:function size:0x8C scope:global
|
__ct__12daE_SB_HIO_cFv = .text:0x000000EC; // type:function size:0x8C scope:global
|
||||||
CreateHeap__8daE_SB_cFv = .text:0x00000178; // type:function size:0xF8 scope:global
|
CreateHeap__8daE_SB_cFv = .text:0x00000178; // type:function size:0xF8 scope:global
|
||||||
useHeapInit__FP10fopAc_ac_c = .text:0x00000270; // type:function size:0x20 scope:global
|
useHeapInit__FP10fopAc_ac_c = .text:0x00000270; // type:function size:0x20 scope:local
|
||||||
initCcCylinder__8daE_SB_cFv = .text:0x00000290; // type:function size:0x60 scope:global
|
initCcCylinder__8daE_SB_cFv = .text:0x00000290; // type:function size:0x60 scope:global
|
||||||
setCcCylinder__8daE_SB_cFv = .text:0x000002F0; // type:function size:0x48 scope:global
|
setCcCylinder__8daE_SB_cFv = .text:0x000002F0; // type:function size:0x48 scope:global
|
||||||
ctrlJoint__8daE_SB_cFP8J3DJointP8J3DModel = .text:0x00000338; // type:function size:0xF8 scope:global
|
ctrlJoint__8daE_SB_cFP8J3DJointP8J3DModel = .text:0x00000338; // type:function size:0xF8 scope:global
|
||||||
JointCallBack__FP8J3DJointi = .text:0x00000430; // type:function size:0x4C scope:global
|
JointCallBack__FP8J3DJointi = .text:0x00000430; // type:function size:0x4C scope:local
|
||||||
Particle_Set__8daE_SB_cFUs = .text:0x0000047C; // type:function size:0x70 scope:global
|
Particle_Set__8daE_SB_cFUs = .text:0x0000047C; // type:function size:0x70 scope:global
|
||||||
SetAnm__8daE_SB_cFiiff = .text:0x000004EC; // type:function size:0xAC scope:global
|
SetAnm__8daE_SB_cFiiff = .text:0x000004EC; // type:function size:0xAC scope:global
|
||||||
MemberClear__8daE_SB_cFv = .text:0x00000598; // type:function size:0x5C scope:global
|
MemberClear__8daE_SB_cFv = .text:0x00000598; // type:function size:0x5C scope:global
|
||||||
other_bg_check__FP8daE_SB_cP10fopAc_ac_c = .text:0x000005F4; // type:function size:0xD8 scope:global
|
other_bg_check__FP8daE_SB_cP10fopAc_ac_c = .text:0x000005F4; // type:function size:0xD8 scope:global
|
||||||
s_obj_sub__FPvPv = .text:0x000006CC; // type:function size:0x108 scope:global
|
s_obj_sub__FPvPv = .text:0x000006CC; // type:function size:0x108 scope:local
|
||||||
s_bomb_sub__FPvPv = .text:0x000007D4; // type:function size:0xA0 scope:global
|
s_bomb_sub__FPvPv = .text:0x000007D4; // type:function size:0xA0 scope:local
|
||||||
Shield_Motion__8daE_SB_cFv = .text:0x00000874; // type:function size:0x15C scope:global
|
Shield_Motion__8daE_SB_cFv = .text:0x00000874; // type:function size:0x15C scope:global
|
||||||
AttackStop__8daE_SB_cFv = .text:0x000009D0; // type:function size:0x50 scope:global
|
AttackStop__8daE_SB_cFv = .text:0x000009D0; // type:function size:0x50 scope:global
|
||||||
AttackSetSP__8daE_SB_cFv = .text:0x00000A20; // type:function size:0x200 scope:global
|
AttackSetSP__8daE_SB_cFv = .text:0x00000A20; // type:function size:0x200 scope:global
|
||||||
|
@ -50,16 +50,16 @@ Execute__8daE_SB_cFv = .text:0x00002E30; // type:function size:0x12C scope:globa
|
||||||
Draw__8daE_SB_cFv = .text:0x00002F5C; // type:function size:0x11C scope:global
|
Draw__8daE_SB_cFv = .text:0x00002F5C; // type:function size:0x11C scope:global
|
||||||
Delete__8daE_SB_cFv = .text:0x00003078; // type:function size:0x68 scope:global
|
Delete__8daE_SB_cFv = .text:0x00003078; // type:function size:0x68 scope:global
|
||||||
setBaseMtx__8daE_SB_cFv = .text:0x000030E0; // type:function size:0x78 scope:global
|
setBaseMtx__8daE_SB_cFv = .text:0x000030E0; // type:function size:0x78 scope:global
|
||||||
daE_SB_Draw__FP8daE_SB_c = .text:0x00003158; // type:function size:0x20 scope:global
|
daE_SB_Draw__FP8daE_SB_c = .text:0x00003158; // type:function size:0x20 scope:local
|
||||||
daE_SB_Execute__FP8daE_SB_c = .text:0x00003178; // type:function size:0x20 scope:global
|
daE_SB_Execute__FP8daE_SB_c = .text:0x00003178; // type:function size:0x20 scope:local
|
||||||
daE_SB_IsDelete__FP8daE_SB_c = .text:0x00003198; // type:function size:0x8 scope:global
|
daE_SB_IsDelete__FP8daE_SB_c = .text:0x00003198; // type:function size:0x8 scope:local
|
||||||
daE_SB_Delete__FP8daE_SB_c = .text:0x000031A0; // type:function size:0x20 scope:global
|
daE_SB_Delete__FP8daE_SB_c = .text:0x000031A0; // type:function size:0x20 scope:local
|
||||||
Create__8daE_SB_cFv = .text:0x000031C0; // type:function size:0x438 scope:global
|
Create__8daE_SB_cFv = .text:0x000031C0; // type:function size:0x438 scope:global
|
||||||
__dt__8cM3dGCylFv = .text:0x000035F8; // type:function size:0x48 scope:global
|
__dt__8cM3dGCylFv = .text:0x000035F8; // type:function size:0x48 scope:global
|
||||||
__dt__8cM3dGSphFv = .text:0x00003640; // type:function size:0x48 scope:global
|
__dt__8cM3dGSphFv = .text:0x00003640; // type:function size:0x48 scope:global
|
||||||
__dt__8cM3dGAabFv = .text:0x00003688; // type:function size:0x48 scope:global
|
__dt__8cM3dGAabFv = .text:0x00003688; // type:function size:0x48 scope:global
|
||||||
__dt__12dBgS_ObjAcchFv = .text:0x000036D0; // type:function size:0x70 scope:global
|
__dt__12dBgS_ObjAcchFv = .text:0x000036D0; // type:function size:0x70 scope:global
|
||||||
daE_SB_Create__FP10fopAc_ac_c = .text:0x00003740; // type:function size:0x20 scope:global
|
daE_SB_Create__FP10fopAc_ac_c = .text:0x00003740; // type:function size:0x20 scope:local
|
||||||
__dt__12daE_SB_HIO_cFv = .text:0x00003760; // type:function size:0x48 scope:global
|
__dt__12daE_SB_HIO_cFv = .text:0x00003760; // type:function size:0x48 scope:global
|
||||||
__sinit_d_a_e_sb_cpp = .text:0x000037A8; // type:function size:0x3C scope:local
|
__sinit_d_a_e_sb_cpp = .text:0x000037A8; // type:function size:0x3C scope:local
|
||||||
@36@__dt__12dBgS_ObjAcchFv = .text:0x000037E4; // type:function size:0x8 scope:local
|
@36@__dt__12dBgS_ObjAcchFv = .text:0x000037E4; // type:function size:0x8 scope:local
|
||||||
|
@ -111,7 +111,7 @@ ccCylSrc$3693 = .rodata:0x0000002C; // type:object size:0x44 scope:local
|
||||||
@4739 = .rodata:0x000000F8; // type:object size:0x4 scope:local
|
@4739 = .rodata:0x000000F8; // type:object size:0x4 scope:local
|
||||||
@stringBase0 = .rodata:0x000000FC; // type:object size:0x5 scope:local data:string_table
|
@stringBase0 = .rodata:0x000000FC; // type:object size:0x5 scope:local data:string_table
|
||||||
@4468 = .data:0x00000000; // type:object size:0x1C scope:local
|
@4468 = .data:0x00000000; // type:object size:0x1C scope:local
|
||||||
l_daE_SB_Method = .data:0x0000001C; // type:object size:0x20 scope:global
|
l_daE_SB_Method = .data:0x0000001C; // type:object size:0x20 scope:local
|
||||||
g_profile_E_SB = .data:0x0000003C; // type:object size:0x30 scope:global
|
g_profile_E_SB = .data:0x0000003C; // type:object size:0x30 scope:global
|
||||||
__vt__8cM3dGCyl = .data:0x0000006C; // type:object size:0xC scope:global
|
__vt__8cM3dGCyl = .data:0x0000006C; // type:object size:0xC scope:global
|
||||||
__vt__8cM3dGSph = .data:0x00000078; // type:object size:0xC scope:global
|
__vt__8cM3dGSph = .data:0x00000078; // type:object size:0xC scope:global
|
||||||
|
@ -136,12 +136,12 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
|
||||||
@1012 = .bss:0x0000003C; // type:object size:0x1 scope:local
|
@1012 = .bss:0x0000003C; // type:object size:0x1 scope:local
|
||||||
@1010 = .bss:0x00000040; // type:object size:0x1 scope:local
|
@1010 = .bss:0x00000040; // type:object size:0x1 scope:local
|
||||||
@1009 = .bss:0x00000044; // type:object size:0x1 scope:local
|
@1009 = .bss:0x00000044; // type:object size:0x1 scope:local
|
||||||
lbl_227_bss_45 = .bss:0x00000045; // type:object size:0x1 data:byte
|
l_HIOInit = .bss:0x00000045; // type:object size:0x1 scope:local data:byte
|
||||||
@3653 = .bss:0x00000048; // type:object size:0xC scope:local
|
@3653 = .bss:0x00000048; // type:object size:0xC scope:local
|
||||||
l_HIO = .bss:0x00000054; // type:object size:0x40 scope:global data:byte
|
l_HIO = .bss:0x00000054; // type:object size:0x40 scope:local data:byte
|
||||||
s_Bomb__22@unnamed@d_a_e_sb_cpp@ = .bss:0x00000094; // type:object size:0x4 scope:global data:4byte
|
s_Bomb__22@unnamed@d_a_e_sb_cpp@ = .bss:0x00000094; // type:object size:0x4 scope:local data:4byte
|
||||||
s_TargetAngle__22@unnamed@d_a_e_sb_cpp@ = .bss:0x00000098; // type:object size:0x2 scope:global data:2byte
|
s_TargetAngle__22@unnamed@d_a_e_sb_cpp@ = .bss:0x00000098; // type:object size:0x2 scope:local data:2byte
|
||||||
s_LinkPos__22@unnamed@d_a_e_sb_cpp@ = .bss:0x0000009C; // type:object size:0x4 scope:global data:4byte
|
s_LinkPos__22@unnamed@d_a_e_sb_cpp@ = .bss:0x0000009C; // type:object size:0x4 scope:local data:4byte
|
||||||
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x000000A0; // type:object size:0x4 scope:global
|
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x000000A0; // type:object size:0x4 scope:global
|
||||||
sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x000000A4; // type:object size:0x4 scope:global
|
sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x000000A4; // type:object size:0x4 scope:global
|
||||||
sInstance__27JASGlobalInstance<7Z2SeMgr> = .bss:0x000000A8; // type:object size:0x4 scope:global
|
sInstance__27JASGlobalInstance<7Z2SeMgr> = .bss:0x000000A8; // type:object size:0x4 scope:global
|
||||||
|
|
|
@ -1704,7 +1704,7 @@ config.libs = [
|
||||||
ActorRel(Equivalent, "d_a_e_rdb"), # weak func order
|
ActorRel(Equivalent, "d_a_e_rdb"), # weak func order
|
||||||
ActorRel(Equivalent, "d_a_e_rdy"), # weak func order
|
ActorRel(Equivalent, "d_a_e_rdy"), # weak func order
|
||||||
ActorRel(NonMatching, "d_a_e_s1"),
|
ActorRel(NonMatching, "d_a_e_s1"),
|
||||||
ActorRel(NonMatching, "d_a_e_sb"),
|
ActorRel(MatchingFor("GZ2E01"), "d_a_e_sb"),
|
||||||
ActorRel(NonMatching, "d_a_e_sf"),
|
ActorRel(NonMatching, "d_a_e_sf"),
|
||||||
ActorRel(MatchingFor("GZ2E01"), "d_a_e_sg"),
|
ActorRel(MatchingFor("GZ2E01"), "d_a_e_sg"),
|
||||||
ActorRel(NonMatching, "d_a_e_sh"),
|
ActorRel(NonMatching, "d_a_e_sh"),
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
#ifndef D_A_E_SB_H
|
#ifndef D_A_E_SB_H
|
||||||
#define 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"
|
#include "f_op/f_op_actor_mng.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -11,10 +14,11 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class daE_SB_c : public fopEn_enemy_c {
|
class daE_SB_c : public fopEn_enemy_c {
|
||||||
/* 807816D8 */ void CreateHeap();
|
public:
|
||||||
|
/* 807816D8 */ int CreateHeap();
|
||||||
/* 807817F0 */ void initCcCylinder();
|
/* 807817F0 */ void initCcCylinder();
|
||||||
/* 80781850 */ void setCcCylinder();
|
/* 80781850 */ void setCcCylinder();
|
||||||
/* 80781898 */ void ctrlJoint(J3DJoint*, J3DModel*);
|
/* 80781898 */ int ctrlJoint(J3DJoint*, J3DModel*);
|
||||||
/* 807819DC */ void Particle_Set(u16);
|
/* 807819DC */ void Particle_Set(u16);
|
||||||
/* 80781A4C */ void SetAnm(int, int, f32, f32);
|
/* 80781A4C */ void SetAnm(int, int, f32, f32);
|
||||||
/* 80781AF8 */ void MemberClear();
|
/* 80781AF8 */ void MemberClear();
|
||||||
|
@ -48,20 +52,84 @@ class daE_SB_c : public fopEn_enemy_c {
|
||||||
/* 80783FBC */ void HashiraVib();
|
/* 80783FBC */ void HashiraVib();
|
||||||
/* 80784144 */ void Yazirushi();
|
/* 80784144 */ void Yazirushi();
|
||||||
/* 807841CC */ void setGroundAngle();
|
/* 807841CC */ void setGroundAngle();
|
||||||
/* 80784390 */ void Execute();
|
/* 80784390 */ int Execute();
|
||||||
/* 807844BC */ void Draw();
|
/* 807844BC */ int Draw();
|
||||||
/* 807845D8 */ void Delete();
|
/* 807845D8 */ int Delete();
|
||||||
/* 80784640 */ void setBaseMtx();
|
/* 80784640 */ void setBaseMtx();
|
||||||
/* 80784720 */ void Create();
|
/* 80784720 */ cPhs__Step Create();
|
||||||
private:
|
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();
|
/* 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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -149,6 +149,7 @@ public:
|
||||||
u32 MaskRoofHit() const { return m_flags & ROOF_HIT; }
|
u32 MaskRoofHit() const { return m_flags & ROOF_HIT; }
|
||||||
bool ChkRoofHit() const { return MaskRoofHit() != 0; }
|
bool ChkRoofHit() const { return MaskRoofHit() != 0; }
|
||||||
void OffClrSpeedY() { m_flags |= CLR_SPEED_Y; }
|
void OffClrSpeedY() { m_flags |= CLR_SPEED_Y; }
|
||||||
|
void OnClrSpeedY() { m_flags &= ~CLR_SPEED_Y; }
|
||||||
bool ChkClrSpeedY() const { return !(m_flags & CLR_SPEED_Y); }
|
bool ChkClrSpeedY() const { return !(m_flags & CLR_SPEED_Y); }
|
||||||
void SetGroundFind() { m_flags |= GROUND_FIND; }
|
void SetGroundFind() { m_flags |= GROUND_FIND; }
|
||||||
void SetGroundHit() { m_flags |= GROUND_HIT; }
|
void SetGroundHit() { m_flags |= GROUND_HIT; }
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue