mirror of https://github.com/zeldaret/tp.git
d_a_e_dn work (#2899)
* d_a_e_dn work * PR cleanup and more documentation
This commit is contained in:
parent
c1861812ef
commit
5716efc4c8
|
|
@ -219,7 +219,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
|
|||
@1012 = .bss:0x0000003C; // type:object size:0x1 scope:local
|
||||
@1010 = .bss:0x00000040; // type:object size:0x1 scope:local
|
||||
@1009 = .bss:0x00000044; // type:object size:0x1 scope:local
|
||||
lbl_65_bss_45 = .bss:0x00000045; // type:object size:0x1 data:byte
|
||||
l_initHIO = .bss:0x00000045; // type:object size:0x1 data:byte
|
||||
@3805 = .bss:0x00000048; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000054; // type:object size:0x28 scope:global data:byte
|
||||
target_info = .bss:0x0000007C; // type:object size:0x28 scope:global
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@ cflags_base = [
|
|||
]
|
||||
|
||||
if config.version == "ShieldD":
|
||||
cflags_base.extend(["-O0", "-inline off", "-RTTI on", "-str reuse", "-enc SJIS", "-DDEBUG=1", "-DWIDESCREEN_SUPPORT=1"])
|
||||
cflags_base.extend(["-O0", "-inline off", "-RTTI on", "-str reuse", "-enc SJIS", "-DDEBUG=1", "-DWIDESCREEN_SUPPORT=1", '-pragma "nosyminline on"'])
|
||||
elif config.version == "RZDE01_00" or config.version == "RZDE01_02" or config.version == "Shield":
|
||||
cflags_base.extend(["-O4,p", "-inline auto", "-ipa file", "-RTTI on", "-str reuse", "-enc SJIS", "-DWIDESCREEN_SUPPORT=1"])
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -13,56 +13,56 @@
|
|||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
*/
|
||||
|
||||
class e_dn_class {
|
||||
public:
|
||||
e_dn_class();
|
||||
|
||||
/* 0x0000 */ fopEn_enemy_c actor;
|
||||
/* 0x05AC */ request_of_phase_process_class mPhase;
|
||||
/* 0x05B4 */ s16 mMode;
|
||||
/* 0x05B6 */ u8 field_0x5b6;
|
||||
/* 0x05B7 */ u8 field_0x5b7;
|
||||
/* 0x05B8 */ u8 field_0x5b8;
|
||||
/* 0x05B9 */ u8 field_0x5b9;
|
||||
/* 0x05AC */ request_of_phase_process_class phase;
|
||||
/* 0x05B4 */ s16 mode;
|
||||
/* 0x05B6 */ u8 arg0;
|
||||
/* 0x05B7 */ u8 arg1;
|
||||
/* 0x05B8 */ u8 arg2;
|
||||
/* 0x05B9 */ u8 arg3;
|
||||
/* 0x05BC */ cXyz field_0x5bc;
|
||||
/* 0x05C8 */ cXyz field_0x5c8;
|
||||
/* 0x05D4 */ s16 field_0x5d4;
|
||||
/* 0x05D4 */ s16 cur_angle_y_target;
|
||||
/* 0x05D6 */ s16 field_0x5d6;
|
||||
/* 0x05D8 */ s8 field_0x5d8;
|
||||
/* 0x05DC */ mDoExt_McaMorfSO* mpModelMorf;
|
||||
/* 0x05E0 */ int mAnmID;
|
||||
/* 0x05E4 */ J3DModel* mpKnifeModel;
|
||||
/* 0x05E8 */ Z2CreatureEnemy mSound;
|
||||
/* 0x068C */ J3DModel* mpShieldModel;
|
||||
/* 0x0690 */ J3DModel* mpSkullModel;
|
||||
/* 0x05DC */ mDoExt_McaMorfSO* anm_p;
|
||||
/* 0x05E0 */ int anm_no;
|
||||
/* 0x05E4 */ J3DModel* knife_model;
|
||||
/* 0x05E8 */ Z2CreatureEnemy sound;
|
||||
/* 0x068C */ J3DModel* tate_model;
|
||||
/* 0x0690 */ J3DModel* skull_model;
|
||||
/* 0x0694 */ s8 field_0x694;
|
||||
/* 0x0698 */ cXyz field_0x698;
|
||||
/* 0x0698 */ cXyz skull_trans;
|
||||
/* 0x06A4 */ cXyz field_0x6a4;
|
||||
/* 0x06B0 */ s16 field_0x6b0;
|
||||
/* 0x06B2 */ s16 field_0x6b2;
|
||||
/* 0x06B4 */ dJntCol_c mJntCol;
|
||||
/* 0x06C4 */ s8 field_0x6c4;
|
||||
/* 0x06C8 */ f32 field_0x6c8;
|
||||
/* 0x06CC */ s16 field_0x6cc;
|
||||
/* 0x06CE */ s16 mAction;
|
||||
/* 0x06D0 */ f32 mPlayerDistance;
|
||||
/* 0x06D4 */ s16 mYAngleToPlayer;
|
||||
/* 0x06D6 */ s16 mXAngleToPlayer;
|
||||
/* 0x06D8 */ f32 field_0x6d8;
|
||||
/* 0x06DC */ u32 mShadowKey;
|
||||
/* 0x06E0 */ s16 field_0x6e0[4];
|
||||
/* 0x06E8 */ s16 field_0x6e8;
|
||||
/* 0x06EA */ s16 field_0x6ea;
|
||||
/* 0x06EC */ s16 field_0x6ec;
|
||||
/* 0x06EE */ s8 field_0x6ee;
|
||||
/* 0x06EF */ s8 field_0x6ef;
|
||||
/* 0x06F0 */ s8 field_0x6f0;
|
||||
/* 0x06F1 */ s8 field_0x6f1;
|
||||
/* 0x06B0 */ s16 skull_y_rot;
|
||||
/* 0x06B2 */ s16 skull_x_rot;
|
||||
/* 0x06B4 */ dJntCol_c jc;
|
||||
/* 0x06C4 */ s8 death_flag;
|
||||
/* 0x06C8 */ f32 color;
|
||||
/* 0x06CC */ s16 frame_counter;
|
||||
/* 0x06CE */ s16 action;
|
||||
/* 0x06D0 */ f32 pl_dir;
|
||||
/* 0x06D4 */ s16 search_angle_y;
|
||||
/* 0x06D6 */ s16 search_angle_x;
|
||||
/* 0x06D8 */ f32 pl_range;
|
||||
/* 0x06DC */ u32 shadow_key;
|
||||
/* 0x06E0 */ s16 timer[4];
|
||||
/* 0x06E8 */ s16 invulnerability_timer;
|
||||
/* 0x06EA */ s16 unk_timer_1;
|
||||
/* 0x06EC */ s16 unk_timer_2;
|
||||
/* 0x06EE */ s8 tail_at_sph_flag;
|
||||
/* 0x06EF */ s8 at_chk_flag;
|
||||
/* 0x06F0 */ s8 at_sph_center_flag;
|
||||
/* 0x06F1 */ s8 guard_flag;
|
||||
/* 0x06F2 */ s8 field_0x6f2;
|
||||
/* 0x06F3 */ s8 field_0x6f3;
|
||||
/* 0x06F4 */ s8 field_0x6f4;
|
||||
/* 0x06F5 */ u8 field_0x6f5;
|
||||
/* 0x06F6 */ s16 field_0x6f6;
|
||||
/* 0x06F8 */ s16 field_0x6f8;
|
||||
/* 0x06FA */ s16 field_0x6fa;
|
||||
|
|
@ -75,16 +75,16 @@ public:
|
|||
/* 0x070C */ s16 field_0x70c;
|
||||
/* 0x070E */ s16 field_0x70e;
|
||||
/* 0x0710 */ s8 field_0x710;
|
||||
/* 0x0711 */ u8 field_0x711[15];
|
||||
/* 0x0720 */ f32 field_0x720;
|
||||
/* 0x0714 */ cXyz field_0x711;
|
||||
/* 0x0720 */ f32 cur_pos_y_offset;
|
||||
/* 0x0724 */ csXyz field_0x724;
|
||||
/* 0x072A */ csXyz field_0x72a;
|
||||
/* 0x0730 */ csXyz field_0x730;
|
||||
/* 0x0736 */ s8 field_0x736;
|
||||
/* 0x0737 */ s8 field_0x737;
|
||||
/* 0x0738 */ cXyz field_0x738;
|
||||
/* 0x0744 */ int field_0x744;
|
||||
/* 0x0748 */ u8 field_0x748[4];
|
||||
/* 0x0736 */ s8 unk_timer_3;
|
||||
/* 0x0737 */ s8 left_right_flag;
|
||||
/* 0x0738 */ cXyz find_pos;
|
||||
/* 0x0744 */ int learn;
|
||||
/* 0x0748 */ u8 field_0x748[0x74c - 0x748];
|
||||
/* 0x074C */ f32 field_0x74c;
|
||||
/* 0x0750 */ s16 field_0x750;
|
||||
/* 0x0754 */ f32 field_0x754;
|
||||
|
|
@ -95,49 +95,45 @@ public:
|
|||
/* 0x07A4 */ csXyz field_0x7a4[11];
|
||||
/* 0x07E8 */ f32 field_0x7e8;
|
||||
/* 0x07EC */ s16 field_0x7ec[2];
|
||||
/* 0x07F0 */ s16 field_0x7f0;
|
||||
/* 0x07F2 */ s16 field_0x7f2;
|
||||
/* 0x07F4 */ s16 field_0x7f4;
|
||||
/* 0x07F6 */ s16 field_0x7f6;
|
||||
/* 0x07FA */ s16 field_0x7f8;
|
||||
/* 0x07FA */ s16 field_0x7fa;
|
||||
/* 0x07F0 */ s16 jnt_waist_z_rot;
|
||||
/* 0x07F2 */ s16 jnt_arml1_z_rot_offset;
|
||||
/* 0x07F4 */ s16 jnt_arml2_z_rot_offset;
|
||||
/* 0x07F6 */ s16 jnt_armr1_z_rot_offset;
|
||||
/* 0x07FA */ s16 jnt_armr2_z_rot_offset;
|
||||
/* 0x07FA */ s16 jnt_legl1_y_rot;
|
||||
/* 0x07FC */ s16 field_0x7fc[3];
|
||||
/* 0x0802 */ s16 field_0x802[4];
|
||||
/* 0x080A */ s16 field_0x80a;
|
||||
/* 0x080C */ s16 field_0x80c;
|
||||
/* 0x080A */ s16 death_jnt_rot;
|
||||
/* 0x080C */ s16 death_jnt_rot_counter;
|
||||
/* 0x080E */ csXyz field_0x80e[4];
|
||||
/* 0x0826 */ s16 field_0x826;
|
||||
/* 0x0828 */ s16 field_0x828;
|
||||
/* 0x082A */ s16 field_0x82a;
|
||||
/* 0x082C */ s16 field_0x82c;
|
||||
/* 0x082E */ s8 field_0x82e;
|
||||
/* 0x082F */ u8 field_0x82f;
|
||||
/* 0x0830 */ s16 field_0x830;
|
||||
/* 0x0832 */ s16 field_0x832;
|
||||
/* 0x0834 */ u8 field_0x834[2];
|
||||
/* 0x0826 */ s16 jnt_tail_y_rot_offset;
|
||||
/* 0x0828 */ s16 unk_timer_4;
|
||||
/* 0x082A */ s16 angle_y_offset;
|
||||
/* 0x082C */ s16 unk_counter_1;
|
||||
/* 0x082E */ s8 snap_angle_y_flag;
|
||||
/* 0x0830 */ csXyz field_0x830;
|
||||
/* 0x0836 */ csXyz field_0x836;
|
||||
/* 0x083C */ f32 field_0x83c;
|
||||
/* 0x0840 */ s16 field_0x840;
|
||||
/* 0x0842 */ s16 field_0x842;
|
||||
/* 0x0844 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x0884 */ dBgS_ObjAcch mObjAcch;
|
||||
/* 0x0840 */ s16 unk_timer_5;
|
||||
/* 0x0842 */ s16 unk_counter_2;
|
||||
/* 0x0844 */ dBgS_AcchCir acchcir;
|
||||
/* 0x0884 */ dBgS_ObjAcch objacch;
|
||||
/* 0x0A5C */ f32 field_0xa5c;
|
||||
/* 0x0A60 */ dCcD_Stts mStts;
|
||||
/* 0x0A9C */ dCcD_Sph field_0xa9c[3];
|
||||
/* 0x0E44 */ dCcD_Sph field_0xe44;
|
||||
/* 0x0F7C */ dCcD_Sph field_0xf7c;
|
||||
/* 0x10B4 */ dCcU_AtInfo mAtInfo;
|
||||
/* 0x10D8 */ u8 field_0x10d8;
|
||||
/* 0x10D9 */ u8 field_0x10d9;
|
||||
/* 0x10DA */ s8 field_0x10da;
|
||||
/* 0x10DB */ u8 field_0x10db;
|
||||
/* 0x0A60 */ dCcD_Stts stts;
|
||||
/* 0x0A9C */ dCcD_Sph cc_sph[3];
|
||||
/* 0x0E44 */ dCcD_Sph at_sph;
|
||||
/* 0x0F7C */ dCcD_Sph tate_sph;
|
||||
/* 0x10B4 */ dCcU_AtInfo at_info;
|
||||
/* 0x10D8 */ u8 status;
|
||||
/* 0x10D9 */ u8 hio_init;
|
||||
/* 0x10DA */ s8 unk_timer_6;
|
||||
/* 0x10DC */ u32 field_0x10dc;
|
||||
/* 0x10E0 */ u32 field_0x10e0;
|
||||
/* 0x10E4 */ s8 field_0x10e4;
|
||||
/* 0x10E4 */ s8 set_smoke_flag;
|
||||
/* 0x10E8 */ u32 field_0x10e8[2];
|
||||
/* 0x10F0 */ u32 field_0x10f0[2];
|
||||
/* 0x10F8 */ u32 field_0x10f8;
|
||||
/* 0x10FC */ u32 field_0x10fc;
|
||||
/* 0x10F8 */ u32 dn_tail_blur_a_prtcl;
|
||||
/* 0x10FC */ u32 dn_tail_blur_b_prtcl;
|
||||
/* 0x1100 */ u8 field_0x1100[12];
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -312,10 +312,10 @@ public:
|
|||
bool checkWolfNoLock() const { return mFlags & fopEn_flag_WolfNoLock; }
|
||||
BOOL checkHeadLockFlg() const { return mFlags & fopEn_flag_HeadLock; }
|
||||
BOOL checkWolfBiteDamage() const { return mFlags & fopEn_flag_WolfBiteDamage; }
|
||||
bool checkWolfDownPullFlg() const { return mFlags & fopEn_flag_WolfDownPull; }
|
||||
BOOL checkWolfDownPullFlg() const { return mFlags & fopEn_flag_WolfDownPull; }
|
||||
bool checkDownFlg() { return mFlags & fopEn_flag_Down; }
|
||||
BOOL checkCutDownHitFlg() const { return mFlags & fopEn_flag_CutDownHit; }
|
||||
bool checkWolfDownStartFlg() const { return mFlags & fopEn_flag_WolfDownStart; }
|
||||
BOOL checkWolfDownStartFlg() const { return mFlags & fopEn_flag_WolfDownStart; }
|
||||
bool checkDeadFlg() const { return mFlags & fopEn_flag_Dead; }
|
||||
BOOL checkThrowMode(u8 param_1) const { return mThrowMode & param_1; }
|
||||
|
||||
|
|
@ -329,27 +329,21 @@ public:
|
|||
void onWolfDownStartFlg() { mFlags |= (fopEn_flag_WolfDownPull | fopEn_flag_WolfDownStart); }
|
||||
void onWolfDownPullEndFlg() { mFlags |= fopEn_flag_WolfDownPullEnd; }
|
||||
void onWolfNoLock() { mFlags |= (u16)fopEn_flag_WolfNoLock; }
|
||||
#if DEBUG
|
||||
void onDownFlg() { mFlags |= (u16)fopEn_flag_Down; }
|
||||
void onHeadLockFlg() { mFlags |= (u16)fopEn_flag_HeadLock; }
|
||||
#else
|
||||
void onDownFlg() { mFlags |= fopEn_flag_Down; }
|
||||
void onHeadLockFlg() { mFlags |= fopEn_flag_HeadLock; }
|
||||
#endif
|
||||
|
||||
#if DEBUG
|
||||
void offWolfBiteDamage() { mFlags &= (u16)~fopEn_flag_WolfBiteDamage; }
|
||||
#else
|
||||
void offWolfBiteDamage() { mFlags &= ~fopEn_flag_WolfBiteDamage; }
|
||||
#endif
|
||||
void offCutDownHitFlg() { mFlags &= ~fopEn_flag_CutDownHit; }
|
||||
void offCutDownHitFlg() { mFlags &= (u16)~fopEn_flag_CutDownHit; }
|
||||
void offWolfDownPullFlg() { mFlags &= ~fopEn_flag_WolfDownPull; }
|
||||
#if DEBUG
|
||||
void offDownFlg() { mFlags &= (u16)~(fopEn_flag_WolfDownPull | fopEn_flag_WolfDownStart | fopEn_flag_CutDownHit | fopEn_flag_Down); }
|
||||
void offWolfNoLock() { mFlags &= (u16)~fopEn_flag_WolfNoLock; }
|
||||
void offHeadLockFlg() { mFlags &= (u16)~fopEn_flag_HeadLock; }
|
||||
void offThrowMode(u8 throwMode) { mThrowMode &= (u8)~throwMode; }
|
||||
#else
|
||||
void offWolfBiteDamage() { mFlags &= ~fopEn_flag_WolfBiteDamage; }
|
||||
void offCutDownHitFlg() { mFlags &= ~fopEn_flag_CutDownHit; }
|
||||
void offWolfDownPullFlg() { mFlags &= ~fopEn_flag_WolfDownPull; }
|
||||
void offDownFlg() { mFlags &= ~(fopEn_flag_WolfDownPull | fopEn_flag_WolfDownStart | fopEn_flag_CutDownHit | fopEn_flag_Down); }
|
||||
void offWolfNoLock() { mFlags &= ~fopEn_flag_WolfNoLock; }
|
||||
void offHeadLockFlg() { mFlags &= ~fopEn_flag_HeadLock; }
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -5507,8 +5507,8 @@ static void* s_wb_sub2(void* i_actor, void* i_data) {
|
|||
}
|
||||
|
||||
static void* s_lv9dn_sub(void* i_actor, void* i_data) {
|
||||
if (fopAcM_IsActor(i_actor) && fopAcM_GetName(i_actor) == PROC_E_DN && ((e_dn_class*)i_actor)->field_0x10d8 != 0) {
|
||||
((e_dn_class*)i_actor)->field_0x10d8 = 0;
|
||||
if (fopAcM_IsActor(i_actor) && fopAcM_GetName(i_actor) == PROC_E_DN && ((e_dn_class*)i_actor)->status != 0) {
|
||||
((e_dn_class*)i_actor)->status = 0;
|
||||
return i_actor;
|
||||
}
|
||||
|
||||
|
|
@ -5516,9 +5516,9 @@ static void* s_lv9dn_sub(void* i_actor, void* i_data) {
|
|||
}
|
||||
|
||||
static void* s_lv9dn_sub2(void* i_actor, void* i_data) {
|
||||
if (fopAcM_IsActor(i_actor) && fopAcM_GetName(i_actor) == PROC_E_DN && ((e_dn_class*)i_actor)->field_0x10d8 == 0) {
|
||||
((e_dn_class*)i_actor)->field_0x10d8 = 1;
|
||||
((e_dn_class*)i_actor)->mMode = 0;
|
||||
if (fopAcM_IsActor(i_actor) && fopAcM_GetName(i_actor) == PROC_E_DN && ((e_dn_class*)i_actor)->status == 0) {
|
||||
((e_dn_class*)i_actor)->status = 1;
|
||||
((e_dn_class*)i_actor)->mode = 0;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
|
@ -5526,7 +5526,7 @@ static void* s_lv9dn_sub2(void* i_actor, void* i_data) {
|
|||
|
||||
static void* s_lv9dn_sub3(void* i_actor, void* i_data) {
|
||||
if (fopAcM_IsActor(i_actor) && fopAcM_GetName(i_actor) == PROC_E_DN) {
|
||||
((e_dn_class*)i_actor)->mMode = 2;
|
||||
((e_dn_class*)i_actor)->mode = 2;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
|
|
|||
|
|
@ -279,7 +279,7 @@ static void chain_control_01(obj_key_class* i_this) {
|
|||
J3DModel* parent_model;
|
||||
if (fopAcM_GetName(pparent) == PROC_E_DN) {
|
||||
e_dn_class* dn = (e_dn_class*)pparent;
|
||||
parent_model = dn->mpModelMorf->getModel();
|
||||
parent_model = dn->anm_p->getModel();
|
||||
|
||||
MTXCopy(parent_model->getAnmMtx(1), *calc_mtx);
|
||||
spC4.set(5.0f + KREG_F(0), 30.0f + KREG_F(1), 20.0f + KREG_F(2));
|
||||
|
|
|
|||
Loading…
Reference in New Issue