d_a_e_kk equivalent (#2358)

* d_a_e_kk equivalent

* some docs
This commit is contained in:
Trueffel 2025-03-29 19:24:51 +01:00 committed by GitHub
parent 83875b9c9e
commit b427ac85cf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 1451 additions and 752 deletions

View File

@ -1642,7 +1642,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_e_hzelda"),
ActorRel(NonMatching, "d_a_e_is"),
ActorRel(Equivalent, "d_a_e_kg"),
ActorRel(NonMatching, "d_a_e_kk"),
ActorRel(Equivalent, "d_a_e_kk"), # weak func order
ActorRel(NonMatching, "d_a_e_kr"),
ActorRel(MatchingFor("GZ2E01"), "d_a_e_mb"),
ActorRel(NonMatching, "d_a_e_md"),

View File

@ -1,27 +1,33 @@
#ifndef D_A_E_KK_H
#define D_A_E_KK_H
#include "Z2AudioLib/Z2Creature.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"
/**
* @ingroup actors-enemies
* @class daE_KK_c
* @brief Chilfos
*
* @details
*
*
* @details Enemy - Ice Knight
*
*/
class daE_KK_c : public fopEn_enemy_c {
/* 806FA75C */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 806FA7FC */ void JointCallBack(J3DJoint*, int);
/* 806FA848 */ void draw();
public:
/* 806FA75C */ int ctrlJoint(J3DJoint*, J3DModel*);
/* 806FA7FC */ static int JointCallBack(J3DJoint*, int);
/* 806FA848 */ int draw();
/* 806FAA68 */ void setBck(int, u8, f32, f32);
/* 806FAB14 */ void setWeaponBck(int, u8, f32, f32);
/* 806FABC0 */ void mCutTypeCheck(int);
/* 806FABC0 */ bool mCutTypeCheck(int);
/* 806FAC80 */ void setActionMode(int, int);
/* 806FAC8C */ void damage_check();
/* 806FB2EC */ void nextActionCheck();
/* 806FB4F4 */ void way_gake_check();
/* 806FB4F4 */ bool way_gake_check();
/* 806FB6C0 */ void mDeadEffSet(cXyz&);
/* 806FB7D8 */ void executeWait();
/* 806FB908 */ void executeIcicleWait();
@ -38,20 +44,73 @@ class daE_KK_c : public fopEn_enemy_c {
/* 806FDD0C */ void mtx_set();
/* 806FDF0C */ void weapon_mtx_set();
/* 806FE0B8 */ void cc_set();
/* 806FE2A8 */ void execute();
/* 806FE3E0 */ void _delete();
/* 806FE480 */ void CreateHeap();
/* 806FE6B8 */ void create();
/* 806FE2A8 */ int execute();
/* 806FE3E0 */ int _delete();
/* 806FE480 */ int CreateHeap();
/* 806FE6B8 */ int create();
private:
/* 0x5ac */ u8 field_0x5ac[0x13d4 - 0x5ac];
/* 0x05AC */ request_of_phase_process_class mPhaseReq;
/* 0x05B4 */ mDoExt_McaMorfSO* mpMorfSO;
/* 0x05B8 */ mDoExt_McaMorfSO* mpWeaponMorfSO;
/* 0x05BC */ Z2CreatureEnemy mCreatureSound;
/* 0x0660 */ s32 mActionMode;
/* 0x0664 */ s32 mMoveMode;
/* 0x0668 */ u32 mModelShadow;
/* 0x066C */ u32 mWeaponShadow;
/* 0x0670 */ s16 mTimer;
/* 0x0672 */ s16 field_0x672;
/* 0x0674 */ s16 field_0x674;
/* 0x0676 */ s16 mDistance;
/* 0x0678 */ u8 mDamageTimer;
/* 0x0679 */ u8 field_0x679;
/* 0x067A */ u8 field_0x67a;
/* 0x067B */ u8 field_0x67b;
/* 0x067C */ u8 field_0x67c;
/* 0x067D */ u8 field_0x67d;
/* 0x067E */ u8 field_0x67e;
/* 0x0680 */ cXyz field_0x680;
/* 0x068C */ cXyz field_0x68c;
/* 0x0698 */ cXyz field_0x698;
/* 0x06A4 */ cXyz field_0x6a4;
/* 0x06B0 */ cXyz field_0x6b0[3];
/* 0x06D4 */ cXyz field_0x6d4[3];
/* 0x06F8 */ cXyz field_0x6f8[6];
/* 0x0740 */ cXyz field_0x740;
/* 0x074C */ cXyz field_0x74c;
/* 0x0758 */ s16 field_0x758;
/* 0x075C */ f32 mMovingRange;
/* 0x0760 */ f32 field_0x760;
/* 0x0764 */ s32 field_0x764;
/* 0x0768 */ s32 field_0x768;
/* 0x076C */ u8 field_0x76c;
/* 0x0770 */ dBgS_AcchCir mAcchCir;
/* 0x07B0 */ dBgS_ObjAcch mObjAcch;
/* 0x0988 */ dCcD_Stts mStts;
/* 0x09C4 */ dCcD_Cyl mCyl;
/* 0x0B00 */ dCcD_Sph mSph;
/* 0x0C38 */ dCcU_AtInfo mAtInfo;
/* 0x0C5C */ dCcD_Sph mSpheres[6];
/* 0x13AC */ u8 mHIOInit;
/* 0x13AD */ u8 field_0x13ad[0x13D4 - 0x13AD];
};
STATIC_ASSERT(sizeof(daE_KK_c) == 0x13d4);
class daE_KK_HIO_c {
class daE_KK_HIO_c : public JORReflexible {
public:
/* 806FA70C */ daE_KK_HIO_c();
/* 806FF0F0 */ ~daE_KK_HIO_c();
/* 806FF0F0 */ virtual ~daE_KK_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 model_size;
/* 0x0C */ f32 spear_throw_range;
/* 0x10 */ f32 direct_attack_range;
/* 0x14 */ f32 default_moving_range;
/* 0x18 */ s16 escape_time;
/* 0x1A */ u8 range_display;
};
#endif /* D_A_E_KK_H */

File diff suppressed because it is too large Load Diff