Skip to content

Commit b427ac8

Browse files
authored
d_a_e_kk equivalent (#2358)
* d_a_e_kk equivalent * some docs
1 parent 83875b9 commit b427ac8

File tree

3 files changed

+1463
-764
lines changed

3 files changed

+1463
-764
lines changed

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1642,7 +1642,7 @@ def MatchingFor(*versions):
16421642
ActorRel(NonMatching, "d_a_e_hzelda"),
16431643
ActorRel(NonMatching, "d_a_e_is"),
16441644
ActorRel(Equivalent, "d_a_e_kg"),
1645-
ActorRel(NonMatching, "d_a_e_kk"),
1645+
ActorRel(Equivalent, "d_a_e_kk"), # weak func order
16461646
ActorRel(NonMatching, "d_a_e_kr"),
16471647
ActorRel(MatchingFor("GZ2E01"), "d_a_e_mb"),
16481648
ActorRel(NonMatching, "d_a_e_md"),

include/d/actor/d_a_e_kk.h

Lines changed: 75 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,33 @@
11
#ifndef D_A_E_KK_H
22
#define D_A_E_KK_H
33

4+
#include "Z2AudioLib/Z2Creature.h"
5+
#include "d/d_bg_s_acch.h"
6+
#include "d/d_cc_d.h"
7+
#include "d/d_cc_uty.h"
48
#include "f_op/f_op_actor_mng.h"
59

10+
611
/**
712
* @ingroup actors-enemies
813
* @class daE_KK_c
914
* @brief Chilfos
10-
*
11-
* @details
12-
*
15+
*
16+
* @details Enemy - Ice Knight
17+
*
1318
*/
1419
class daE_KK_c : public fopEn_enemy_c {
15-
/* 806FA75C */ void ctrlJoint(J3DJoint*, J3DModel*);
16-
/* 806FA7FC */ void JointCallBack(J3DJoint*, int);
17-
/* 806FA848 */ void draw();
20+
public:
21+
/* 806FA75C */ int ctrlJoint(J3DJoint*, J3DModel*);
22+
/* 806FA7FC */ static int JointCallBack(J3DJoint*, int);
23+
/* 806FA848 */ int draw();
1824
/* 806FAA68 */ void setBck(int, u8, f32, f32);
1925
/* 806FAB14 */ void setWeaponBck(int, u8, f32, f32);
20-
/* 806FABC0 */ void mCutTypeCheck(int);
26+
/* 806FABC0 */ bool mCutTypeCheck(int);
2127
/* 806FAC80 */ void setActionMode(int, int);
2228
/* 806FAC8C */ void damage_check();
2329
/* 806FB2EC */ void nextActionCheck();
24-
/* 806FB4F4 */ void way_gake_check();
30+
/* 806FB4F4 */ bool way_gake_check();
2531
/* 806FB6C0 */ void mDeadEffSet(cXyz&);
2632
/* 806FB7D8 */ void executeWait();
2733
/* 806FB908 */ void executeIcicleWait();
@@ -38,20 +44,73 @@ class daE_KK_c : public fopEn_enemy_c {
3844
/* 806FDD0C */ void mtx_set();
3945
/* 806FDF0C */ void weapon_mtx_set();
4046
/* 806FE0B8 */ void cc_set();
41-
/* 806FE2A8 */ void execute();
42-
/* 806FE3E0 */ void _delete();
43-
/* 806FE480 */ void CreateHeap();
44-
/* 806FE6B8 */ void create();
47+
/* 806FE2A8 */ int execute();
48+
/* 806FE3E0 */ int _delete();
49+
/* 806FE480 */ int CreateHeap();
50+
/* 806FE6B8 */ int create();
51+
4552
private:
46-
/* 0x5ac */ u8 field_0x5ac[0x13d4 - 0x5ac];
53+
/* 0x05AC */ request_of_phase_process_class mPhaseReq;
54+
/* 0x05B4 */ mDoExt_McaMorfSO* mpMorfSO;
55+
/* 0x05B8 */ mDoExt_McaMorfSO* mpWeaponMorfSO;
56+
/* 0x05BC */ Z2CreatureEnemy mCreatureSound;
57+
/* 0x0660 */ s32 mActionMode;
58+
/* 0x0664 */ s32 mMoveMode;
59+
/* 0x0668 */ u32 mModelShadow;
60+
/* 0x066C */ u32 mWeaponShadow;
61+
/* 0x0670 */ s16 mTimer;
62+
/* 0x0672 */ s16 field_0x672;
63+
/* 0x0674 */ s16 field_0x674;
64+
/* 0x0676 */ s16 mDistance;
65+
/* 0x0678 */ u8 mDamageTimer;
66+
/* 0x0679 */ u8 field_0x679;
67+
/* 0x067A */ u8 field_0x67a;
68+
/* 0x067B */ u8 field_0x67b;
69+
/* 0x067C */ u8 field_0x67c;
70+
/* 0x067D */ u8 field_0x67d;
71+
/* 0x067E */ u8 field_0x67e;
72+
/* 0x0680 */ cXyz field_0x680;
73+
/* 0x068C */ cXyz field_0x68c;
74+
/* 0x0698 */ cXyz field_0x698;
75+
/* 0x06A4 */ cXyz field_0x6a4;
76+
/* 0x06B0 */ cXyz field_0x6b0[3];
77+
/* 0x06D4 */ cXyz field_0x6d4[3];
78+
/* 0x06F8 */ cXyz field_0x6f8[6];
79+
/* 0x0740 */ cXyz field_0x740;
80+
/* 0x074C */ cXyz field_0x74c;
81+
/* 0x0758 */ s16 field_0x758;
82+
/* 0x075C */ f32 mMovingRange;
83+
/* 0x0760 */ f32 field_0x760;
84+
/* 0x0764 */ s32 field_0x764;
85+
/* 0x0768 */ s32 field_0x768;
86+
/* 0x076C */ u8 field_0x76c;
87+
/* 0x0770 */ dBgS_AcchCir mAcchCir;
88+
/* 0x07B0 */ dBgS_ObjAcch mObjAcch;
89+
/* 0x0988 */ dCcD_Stts mStts;
90+
/* 0x09C4 */ dCcD_Cyl mCyl;
91+
/* 0x0B00 */ dCcD_Sph mSph;
92+
/* 0x0C38 */ dCcU_AtInfo mAtInfo;
93+
/* 0x0C5C */ dCcD_Sph mSpheres[6];
94+
/* 0x13AC */ u8 mHIOInit;
95+
/* 0x13AD */ u8 field_0x13ad[0x13D4 - 0x13AD];
4796
};
4897

4998
STATIC_ASSERT(sizeof(daE_KK_c) == 0x13d4);
5099

51-
class daE_KK_HIO_c {
100+
class daE_KK_HIO_c : public JORReflexible {
101+
public:
52102
/* 806FA70C */ daE_KK_HIO_c();
53-
/* 806FF0F0 */ ~daE_KK_HIO_c();
54-
};
103+
/* 806FF0F0 */ virtual ~daE_KK_HIO_c() {}
55104

105+
void genMessage(JORMContext*);
106+
107+
/* 0x04 */ s8 field_0x4;
108+
/* 0x08 */ f32 model_size;
109+
/* 0x0C */ f32 spear_throw_range;
110+
/* 0x10 */ f32 direct_attack_range;
111+
/* 0x14 */ f32 default_moving_range;
112+
/* 0x18 */ s16 escape_time;
113+
/* 0x1A */ u8 range_display;
114+
};
56115

57116
#endif /* D_A_E_KK_H */

0 commit comments

Comments
 (0)