Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zant magic / mobile done #2249

Merged
merged 2 commits into from
Nov 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions config/GZ2E01/rels/d_a_b_zant_magic/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,24 @@ _prolog = .text:0x00000000; // type:function size:0x2C scope:global
_epilog = .text:0x0000002C; // type:function size:0x2C scope:global
_unresolved = .text:0x00000058; // type:function size:0x20 scope:global
draw__11daB_ZANTM_cFv = .text:0x00000078; // type:function size:0x3C scope:global
daB_ZANTM_Draw__FP11daB_ZANTM_c = .text:0x000000B4; // type:function size:0x20 scope:global
daB_ZANTM_Draw__FP11daB_ZANTM_c = .text:0x000000B4; // type:function size:0x20 scope:local
setMagicEffect__11daB_ZANTM_cFv = .text:0x000000D4; // type:function size:0x164 scope:global
setMagicHitEffect__11daB_ZANTM_cFv = .text:0x00000238; // type:function size:0x118 scope:global
executeSmall__11daB_ZANTM_cFv = .text:0x00000350; // type:function size:0x31C scope:global
cc_set__11daB_ZANTM_cFv = .text:0x0000066C; // type:function size:0x100 scope:global
execute__11daB_ZANTM_cFv = .text:0x0000076C; // type:function size:0x98 scope:global
daB_ZANTM_Execute__FP11daB_ZANTM_c = .text:0x00000804; // type:function size:0x20 scope:global
daB_ZANTM_IsDelete__FP11daB_ZANTM_c = .text:0x00000824; // type:function size:0x8 scope:global
daB_ZANTM_Execute__FP11daB_ZANTM_c = .text:0x00000804; // type:function size:0x20 scope:local
daB_ZANTM_IsDelete__FP11daB_ZANTM_c = .text:0x00000824; // type:function size:0x8 scope:local
_delete__11daB_ZANTM_cFv = .text:0x0000082C; // type:function size:0x8 scope:global
daB_ZANTM_Delete__FP11daB_ZANTM_c = .text:0x00000834; // type:function size:0x20 scope:global
daB_ZANTM_Delete__FP11daB_ZANTM_c = .text:0x00000834; // type:function size:0x20 scope:local
create__11daB_ZANTM_cFv = .text:0x00000854; // type:function size:0x154 scope:global
__ct__11daB_ZANTM_cFv = .text:0x000009A8; // type:function size:0x1A8 scope:global
__dt__8cM3dGSphFv = .text:0x00000B50; // type:function size:0x48 scope:global
__dt__8cM3dGAabFv = .text:0x00000B98; // type:function size:0x48 scope:global
__dt__10dCcD_GSttsFv = .text:0x00000BE0; // type:function size:0x5C scope:global
__dt__12dBgS_ObjAcchFv = .text:0x00000C3C; // type:function size:0x70 scope:global
__dt__12dBgS_AcchCirFv = .text:0x00000CAC; // type:function size:0x70 scope:global
daB_ZANTM_Create__FP11daB_ZANTM_c = .text:0x00000D1C; // type:function size:0x20 scope:global
daB_ZANTM_Create__FP11daB_ZANTM_c = .text:0x00000D1C; // type:function size:0x20 scope:local
__dt__10cCcD_GSttsFv = .text:0x00000D3C; // type:function size:0x48 scope:global
@36@__dt__12dBgS_ObjAcchFv = .text:0x00000D84; // type:function size:0x8 scope:local
@20@__dt__12dBgS_ObjAcchFv = .text:0x00000D8C; // type:function size:0x8 scope:local
Expand All @@ -44,14 +44,14 @@ _dtors = .dtors:0x00000000; // type:label scope:global
@3939 = .rodata:0x00000044; // type:object size:0x4 scope:local
@3940 = .rodata:0x00000048; // type:object size:0x4 scope:local
...data.0 = .data:0x00000000; // type:label scope:local
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
cc_zant_src__30@unnamed@d_a_b_zant_magic_cpp@ = .data:0x00000020; // type:object size:0x4C scope:global
cc_zant_src2__30@unnamed@d_a_b_zant_magic_cpp@ = .data:0x0000006C; // type:object size:0x40 scope:global
cc_zant_src3__30@unnamed@d_a_b_zant_magic_cpp@ = .data:0x000000AC; // type:object size:0x40 scope:global
magic_effect_id$3667 = .data:0x000000EC; // type:object size:0x8 scope:local
magic_effect_id$3729 = .data:0x000000F4; // type:object size:0x8 scope:local
l_daB_ZANTM_Method = .data:0x000000FC; // type:object size:0x20 scope:global
l_daB_ZANTM_Method = .data:0x000000FC; // type:object size:0x20 scope:local
g_profile_B_ZANTM = .data:0x0000011C; // type:object size:0x30 scope:global
__vt__12dBgS_AcchCir = .data:0x0000014C; // type:object size:0xC scope:global
__vt__10cCcD_GStts = .data:0x00000158; // type:object size:0xC scope:global
Expand Down
20 changes: 10 additions & 10 deletions config/GZ2E01/rels/d_a_b_zant_mobile/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ __register_global_object = .text:0x00000078; // type:function size:0x1C scope:gl
__destroy_global_chain = .text:0x00000094; // type:function size:0x58 scope:global
__ct__15daB_ZANTZ_HIO_cFv = .text:0x000000EC; // type:function size:0x24 scope:global
draw__11daB_ZANTZ_cFv = .text:0x00000110; // type:function size:0x84 scope:global
daB_ZANTZ_Draw__FP11daB_ZANTZ_c = .text:0x00000194; // type:function size:0x20 scope:global
daB_ZANTZ_Draw__FP11daB_ZANTZ_c = .text:0x00000194; // type:function size:0x20 scope:local
setSnortEffect__11daB_ZANTZ_cFi = .text:0x000001B4; // type:function size:0x8C scope:global
calcSnortEffect__11daB_ZANTZ_cFv = .text:0x00000240; // type:function size:0x29C scope:global
setMouthMode__11daB_ZANTZ_cFUc = .text:0x000004DC; // type:function size:0x190 scope:global
Expand All @@ -15,13 +15,13 @@ __dt__14dBgS_ObjGndChkFv = .text:0x00000B64; // type:function size:0x78 scope:gl
action__11daB_ZANTZ_cFv = .text:0x00000BDC; // type:function size:0x8A0 scope:global
cc_set__11daB_ZANTZ_cFv = .text:0x0000147C; // type:function size:0x104 scope:global
execute__11daB_ZANTZ_cFv = .text:0x00001580; // type:function size:0xD4 scope:global
daB_ZANTZ_Execute__FP11daB_ZANTZ_c = .text:0x00001654; // type:function size:0x20 scope:global
daB_ZANTZ_IsDelete__FP11daB_ZANTZ_c = .text:0x00001674; // type:function size:0x8 scope:global
daB_ZANTZ_Execute__FP11daB_ZANTZ_c = .text:0x00001654; // type:function size:0x20 scope:local
daB_ZANTZ_IsDelete__FP11daB_ZANTZ_c = .text:0x00001674; // type:function size:0x8 scope:local
_delete__11daB_ZANTZ_cFv = .text:0x0000167C; // type:function size:0x88 scope:global
daB_ZANTZ_Delete__FP11daB_ZANTZ_c = .text:0x00001704; // type:function size:0x20 scope:global
daB_ZANTZ_Delete__FP11daB_ZANTZ_c = .text:0x00001704; // type:function size:0x20 scope:local
CreateHeap__11daB_ZANTZ_cFv = .text:0x00001724; // type:function size:0x20C scope:global
__dt__12J3DFrameCtrlFv = .text:0x00001930; // type:function size:0x48 scope:global
useHeapInit__FP10fopAc_ac_c = .text:0x00001978; // type:function size:0x20 scope:global
useHeapInit__FP10fopAc_ac_c = .text:0x00001978; // type:function size:0x20 scope:local
create__11daB_ZANTZ_cFv = .text:0x00001998; // type:function size:0x2BC scope:global
__dt__8dCcD_CylFv = .text:0x00001C54; // type:function size:0xCC scope:global
__ct__8dCcD_CylFv = .text:0x00001D20; // type:function size:0x84 scope:global
Expand All @@ -30,7 +30,7 @@ __dt__8cM3dGAabFv = .text:0x00001DEC; // type:function size:0x48 scope:global
__dt__8dCcD_SphFv = .text:0x00001E34; // type:function size:0xCC scope:global
__ct__8dCcD_SphFv = .text:0x00001F00; // type:function size:0x84 scope:global
__dt__8cM3dGSphFv = .text:0x00001F84; // type:function size:0x48 scope:global
daB_ZANTZ_Create__FP11daB_ZANTZ_c = .text:0x00001FCC; // type:function size:0x20 scope:global
daB_ZANTZ_Create__FP11daB_ZANTZ_c = .text:0x00001FCC; // type:function size:0x20 scope:local
__dt__15daB_ZANTZ_HIO_cFv = .text:0x00001FEC; // type:function size:0x48 scope:global
__sinit_d_a_b_zant_mobile_cpp = .text:0x00002034; // type:function size:0x3C scope:local
@20@__dt__14dBgS_ObjGndChkFv = .text:0x00002070; // type:function size:0x8 scope:local
Expand Down Expand Up @@ -77,9 +77,9 @@ _dtors = .dtors:0x00000000; // type:label scope:global
@4373 = .rodata:0x0000008C; // type:object size:0x4 scope:local
@4374 = .rodata:0x00000090; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x00000094; // type:object size:0xB scope:local data:string_table
cc_zant_src__31@unnamed@d_a_b_zant_mobile_cpp@ = .data:0x00000000; // type:object size:0x40 scope:global
cc_zant_snort_src__31@unnamed@d_a_b_zant_mobile_cpp@ = .data:0x00000040; // type:object size:0x44 scope:global
l_daB_ZANTZ_Method = .data:0x00000084; // type:object size:0x20 scope:global
cc_zant_src__31@unnamed@d_a_b_zant_mobile_cpp@ = .data:0x00000000; // type:object size:0x40 scope:local
cc_zant_snort_src__31@unnamed@d_a_b_zant_mobile_cpp@ = .data:0x00000040; // type:object size:0x44 scope:local
l_daB_ZANTZ_Method = .data:0x00000084; // type:object size:0x20 scope:local
g_profile_B_ZANTZ = .data:0x000000A4; // type:object size:0x30 scope:global
__vt__8cM3dGSph = .data:0x000000D4; // type:object size:0xC scope:global
__vt__8cM3dGAab = .data:0x000000E0; // type:object size:0xC scope:global
Expand All @@ -88,6 +88,6 @@ __vt__12J3DFrameCtrl = .data:0x000000F8; // type:object size:0xC scope:global
__vt__14dBgS_ObjGndChk = .data:0x00000104; // type:object size:0x30 scope:global
__vt__15daB_ZANTZ_HIO_c = .data:0x00000134; // type:object size:0xC scope:global
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
lbl_157_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
lbl_157_bss_8 = .bss:0x00000008; // type:object size:0x1 scope:local data:byte
@3644 = .bss:0x0000000C; // type:object size:0xC scope:local
l_HIO = .bss:0x00000018; // type:object size:0xC scope:global data:byte
4 changes: 2 additions & 2 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1521,8 +1521,8 @@ def MatchingFor(*versions):
ActorRel(Equivalent, "d_a_b_yo"),
ActorRel(Equivalent, "d_a_b_yo_ice"),
ActorRel(NonMatching, "d_a_b_zant"),
ActorRel(NonMatching, "d_a_b_zant_magic"),
ActorRel(NonMatching, "d_a_b_zant_mobile"),
ActorRel(Equivalent, "d_a_b_zant_magic"), # matches in objdiff, unknown issue
ActorRel(Matching, "d_a_b_zant_mobile"),
ActorRel(Matching, "d_a_b_zant_sima"),
ActorRel(NonMatching, "d_a_balloon_2D"),
ActorRel(NonMatching, "d_a_bullet"),
Expand Down
4 changes: 2 additions & 2 deletions include/d/actor/d_a_b_zant.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ class daB_ZANT_c : public fopEn_enemy_c {
/* 80640310 */ void setWaterBubble();
/* 806403D4 */ void setMonkeyFallEffect();
/* 80640478 */ void setLastRollEffect();
/* 80640654 */ void getMagicSpeed();
/* 80640664 */ void getMagicWaterSpeed();
/* 80640654 */ f32 getMagicSpeed();
/* 80640664 */ f32 getMagicWaterSpeed();
/* 80640674 */ void executeSmallAttack();
/* 80640C20 */ void calcScale(int);
/* 80640D14 */ void executeWarp();
Expand Down
25 changes: 19 additions & 6 deletions include/d/actor/d_a_b_zant_magic.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
#define D_A_B_ZANT_MAGIC_H

#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
#include "d/d_bg_s_acch.h"

/**
* @ingroup actors-enemies
Expand All @@ -13,18 +15,29 @@
*/
class daB_ZANTM_c : public fopEn_enemy_c {
public:
/* 8064F778 */ void draw();
/* 8064F778 */ int draw();
/* 8064F7D4 */ void setMagicEffect();
/* 8064F938 */ void setMagicHitEffect();
/* 8064FA50 */ void executeSmall();
/* 8064FD6C */ void cc_set();
/* 8064FE6C */ void execute();
/* 8064FF2C */ bool _delete();
/* 8064FF54 */ void create();
/* 806500A8 */ daB_ZANTM_c();
/* 8064FE6C */ int execute();
/* 8064FF2C */ int _delete();
/* 8064FF54 */ int create();

private:
/* 0x5ac */ u8 field_0x5ac[0xc0c - 0x5ac];
/* 0x5AC */ Mtx field_0x5ac;
/* 0x5DC */ cXyz field_0x5dc;
/* 0x5E8 */ f32 field_0x5e8;
/* 0x5EC */ int mAliveTimer;
/* 0x5F0 */ u8 mPrm;
/* 0x5F1 */ u8 mMode;
/* 0x5F4 */ dBgS_AcchCir mAcchCir;
/* 0x634 */ dBgS_ObjAcch mAcch;
/* 0x80C */ dCcD_Stts mCcStts;
/* 0x848 */ dCcD_Sph field_0x848;
/* 0x980 */ dCcD_Sph mTgCollider;
/* 0xAB8 */ dCcD_Cps mAtCollider;
/* 0xBFC */ u32 field_0xbfc[4];
};

STATIC_ASSERT(sizeof(daB_ZANTM_c) == 0xc0c);
Expand Down
44 changes: 35 additions & 9 deletions include/d/actor/d_a_b_zant_mobile.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,66 @@
#define D_A_B_ZANT_MOBILE_H

#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
#include "d/d_bg_w.h"

/**
* @ingroup actors-enemies
* @class daB_ZANTZ_c
* @brief Zant (Mobile)
*
* @details Palace of Twilight dungeon boss (mobile form?).
* @details Palace of Twilight dungeon boss (Moving Helmet Structure).
*
*/
class daB_ZANTZ_c : public fopEn_enemy_c {
public:
/* 806507B0 */ void draw();
/* 806507B0 */ int draw();
/* 80650854 */ void setSnortEffect(int);
/* 806508E0 */ void calcSnortEffect();
/* 80650B7C */ void setMouthMode(u8);
/* 80650D0C */ void setAppearMode(u8);
/* 806510C0 */ void getGroundPos();
/* 806510C0 */ f32 getGroundPos();
/* 8065127C */ void action();
/* 80651B1C */ void cc_set();
/* 80651C20 */ void execute();
/* 80651D1C */ void _delete();
/* 80651DC4 */ void CreateHeap();
/* 80652038 */ void create();
/* 80651C20 */ int execute();
/* 80651D1C */ int _delete();
/* 80651DC4 */ int CreateHeap();
/* 80652038 */ int create();

private:
/* 0x5ac */ u8 field_0x5ac[0xd14 - 0x5ac];
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ mDoExt_McaMorfSO* mpMorf;
/* 0x5B8 */ mDoExt_brkAnm* mpBrk;
/* 0x5BC */ Z2CreatureEnemy mSound;
/* 0x660 */ f32 field_0x660;
/* 0x664 */ f32 field_0x664;
/* 0x668 */ int field_0x668;
/* 0x66C */ u8 mMouthMode;
/* 0x66D */ u8 mAppearMode;
/* 0x66E */ u8 field_0x66e;
/* 0x66F */ u8 field_0x66f;
/* 0x670 */ u8 field_0x670;
/* 0x671 */ u8 mSearchContinue;
/* 0x674 */ Mtx mBgMtx;
/* 0x6A4 */ dBgW* mpBgW;
/* 0x6A8 */ dCcD_Stts mCcStts;
/* 0x6E4 */ dCcD_Sph field_0x6e4[3];
/* 0xA8C */ dCcD_Cyl mSnortColliders[2];
/* 0xD04 */ u32 field_0xd04;
/* 0xD08 */ u32 field_0xd08;
/* 0xD0C */ u32 field_0xd0c;
/* 0xD10 */ u8 mInitHIO;
};

STATIC_ASSERT(sizeof(daB_ZANTZ_c) == 0xd14);

class daB_ZANTZ_HIO_c {
public:
/* 8065078C */ daB_ZANTZ_HIO_c();
/* 8065268C */ ~daB_ZANTZ_HIO_c();
/* 8065268C */ virtual ~daB_ZANTZ_HIO_c() {}

/* 0x4 */ s8 field_0x4;
/* 0x8 */ f32 mModelSize;
};


Expand Down
6 changes: 3 additions & 3 deletions src/d/actor/d_a_b_zant.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1376,13 +1376,13 @@ static void s_pillar_sub(void* param_0, void* param_1) {
}

/* 80640654-80640664 002634 0010+00 0/0 0/0 1/1 .text getMagicSpeed__10daB_ZANT_cFv */
void daB_ZANT_c::getMagicSpeed() {
f32 daB_ZANT_c::getMagicSpeed() {
// NONMATCHING
}

/* 80640664-80640674 002644 0010+00 0/0 0/0 1/1 .text getMagicWaterSpeed__10daB_ZANT_cFv
*/
void daB_ZANT_c::getMagicWaterSpeed() {
f32 daB_ZANT_c::getMagicWaterSpeed() {
// NONMATCHING
}

Expand Down Expand Up @@ -3013,4 +3013,4 @@ static u8 data_8064F6F4[4];
static u8 data_8064F6F8[4];
#pragma pop

/* 8064EE60-8064EE60 000344 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 8064EE60-8064EE60 000344 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
Loading