d_a_b_tn work (#2408)

* Initial Work

* Initial Work Part 2!

* First few functions done

* work on some demo and execute functions

* Work on AttackH Functions

* Work on more execute functions

* d_a_b_tn close to finished

* Pull request cleanup and damageCheck work
This commit is contained in:
Carco_21 2025-04-23 14:40:55 -04:00 committed by GitHub
parent cfb614e8b2
commit 0be38784ce
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4793 additions and 2284 deletions

View File

@ -1,6 +1,8 @@
#ifndef D_A_B_TN_H
#define D_A_B_TN_H
#include "d/d_bg_s_acch.h"
#include "d/d_cc_uty.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
@ -14,11 +16,11 @@
*/
class daB_TN_c : public fopEn_enemy_c {
public:
/* 8061EC58 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 8061ED10 */ void JointCallBack(J3DJoint*, int);
/* 8061EC58 */ int ctrlJoint(J3DJoint*, J3DModel*);
/* 8061ED10 */ static int JointCallBack(J3DJoint*, int);
/* 8061ED5C */ void calcNeckAngle();
/* 8061EE14 */ void calcWaistAngle();
/* 8061EEC8 */ void draw();
/* 8061EEC8 */ int draw();
/* 8061F200 */ void setBreakPart(int);
/* 8061F31C */ void setBreakHeadPart(int);
/* 8061F3D0 */ void setPartLandEffect(int, int);
@ -28,22 +30,22 @@ public:
/* 8061FFE0 */ void calcOtherPartMove(int);
/* 8062070C */ void calcPartMove();
/* 806208C8 */ void setBck(int, u8, f32, f32);
/* 8062096C */ void checkBck(int);
/* 8062096C */ int checkBck(int);
/* 806209C8 */ void setActionMode(int, int);
/* 806209E0 */ void setSwordAtBit(int);
/* 80620AE4 */ void setSwordAtBreak(int);
/* 80620B4C */ void setBodyShield();
/* 80620E90 */ void checkNormalAttackAble();
/* 80620FA0 */ void getCutType();
/* 80620E90 */ bool checkNormalAttackAble();
/* 80620FA0 */ u32 getCutType();
/* 80621070 */ void setDamage(dCcD_Sph*, int);
/* 8062138C */ void setShieldEffect(dCcD_Sph*);
/* 806213FC */ void damage_check();
/* 806227D0 */ void checkMoveArea();
/* 80622B60 */ void checkMoveAngle();
/* 806227D0 */ int checkMoveArea();
/* 80622B60 */ bool checkMoveAngle();
/* 80622BE0 */ void setAttackBlurEffect(int);
/* 80622CE4 */ void setArmorBreakEffect(int);
/* 80622F64 */ void demo_skip(int);
/* 8062318C */ void DemoSkipCallBack(void*, int);
/* 8062318C */ static int DemoSkipCallBack(void*, int);
/* 806231C0 */ void executeRoomDemo();
/* 80623920 */ void executeOpening();
/* 806246E8 */ void executeWaitH();
@ -58,8 +60,8 @@ public:
/* 80627100 */ void executeZakoChangeDemo();
/* 80627790 */ void setWalkDir();
/* 8062799C */ void initChaseL(int);
/* 80627CBC */ void checkAttackAble();
/* 80627D3C */ void checkNextMove();
/* 80627CBC */ bool checkAttackAble();
/* 80627D3C */ bool checkNextMove();
/* 8062868C */ void executeChaseL();
/* 806292F8 */ void executeAttackL();
/* 80629D20 */ void executeAttackShieldL();
@ -71,14 +73,110 @@ public:
/* 8062B6A8 */ void action();
/* 8062BA5C */ void mtx_set();
/* 8062BDCC */ void cc_set();
/* 8062C5B4 */ void execute();
/* 8062C7C8 */ void _delete();
/* 8062C868 */ void CreateHeap();
/* 8062CD78 */ void create();
/* 8062D2F0 */ daB_TN_c();
/* 8062C5B4 */ int execute();
/* 8062C7C8 */ int _delete();
/* 8062C868 */ int CreateHeap();
/* 8062CD78 */ int create();
/* 8062D2F0 */ daB_TN_c() {};
private:
/* 0x5ac */ u8 field_0x5ac[0x5630 - 0x5ac];
/* 0x05AC */ request_of_phase_process_class mPhase1;
/* 0x05B4 */ request_of_phase_process_class mPhase2;
/* 0x05BC */ J3DModel* mModels[16];
/* 0x05FC */ mDoExt_McaMorfSO* mpModelMorf1;
/* 0x0600 */ mDoExt_McaMorfSO* mpModelMorf2;
/* 0x0604 */ mDoExt_brkAnm* mBrkAnms[16];
/* 0x0644 */ mDoExt_brkAnm* mBrkAnm;
/* 0x0648 */ J3DModel* field_0x648;
/* 0x064C */ Z2CreatureEnemy mSound;
/* 0x06F0 */ int mActionMode1;
/* 0x06F4 */ int mActionMode2;
/* 0x06F8 */ u32 mShadowKey;
/* 0x06FC */ int field_0x6fc;
/* 0x0700 */ int field_0x700;
/* 0x0704 */ cXyz mCamEye;
/* 0x0710 */ cXyz mCamCenter;
/* 0x071C */ f32 mCamFovY;
/* 0x0720 */ s16 field_0x720;
/* 0x0722 */ u8 field_0x722[0x724 - 0x722];
/* 0x0724 */ f32 field_0x724;
/* 0x0728 */ f32 field_0x728;
/* 0x072C */ Mtx field_0x72c;
/* 0x075C */ cXyz field_0x75c[16];
/* 0x081C */ cXyz field_0x81c[16];
/* 0x08DC */ cXyz field_0x8dc[16];
/* 0x099C */ csXyz field_0x99c[16];
/* 0x09FC */ u16 field_0x9fc[16];
/* 0x0A1C */ u16 field_0xa1c[16];
/* 0x0A3C */ s16 field_0xa3c[16];
/* 0x0A5C */ s16 field_0xa5c;
/* 0x0A5E */ u8 field_0xa5e[0xa60 - 0xa5e];
/* 0x0A60 */ int field_0xa60;
/* 0x0A64 */ s16 field_0xa64;
/* 0x0A66 */ u8 field_0xa66[0xa68 - 0xa66];
/* 0x0A68 */ s16 field_0xa68;
/* 0x0A6A */ u8 field_0xa6a[0xa6c - 0xa6a];
/* 0x0A6C */ int field_0xa6c;
/* 0x0A70 */ int field_0xa70;
/* 0x0A74 */ int field_0xa74;
/* 0x0A78 */ int field_0xa78;
/* 0x0A7C */ int field_0xa7c;
/* 0x0A80 */ int field_0xa80;
/* 0x0A84 */ int field_0xa84;
/* 0x0A88 */ int field_0xa88;
/* 0x0A8C */ int mWalkDir;
/* 0x0A90 */ u8 field_0xa90;
/* 0x0A91 */ u8 field_0xa91;
/* 0x0A92 */ u8 field_0xa92;
/* 0x0A93 */ u8 field_0xa93;
/* 0x0A94 */ u8 field_0xa94;
/* 0x0A95 */ u8 field_0xa95;
/* 0x0A96 */ s16 field_0xa96;
/* 0x0A98 */ s16 field_0xa98;
/* 0x0A9A */ u8 field_0xa9a;
/* 0x0A9B */ u8 field_0xa9b;
/* 0x0A9C */ u8 field_0xa9c;
/* 0x0A9D */ u8 field_0xa9d;
/* 0x0A9E */ u8 field_0xa9e;
/* 0x0A9F */ u8 field_0xa9f;
/* 0x0AA0 */ u8 field_0xaa0;
/* 0x0AA1 */ u8 field_0xaa1;
/* 0x0AA2 */ u8 field_0xaa2;
/* 0x0AA3 */ u8 field_0xaa3;
/* 0x0AA4 */ u8 field_0xaa4;
/* 0x0AA5 */ u8 field_0xaa5;
/* 0x0AA6 */ u8 field_0xaa6;
/* 0x0AA7 */ u8 field_0xaa7;
/* 0x0AA8 */ u8 field_0xaa8;
/* 0x0AA9 */ u8 field_0xaa9;
/* 0x0AAA */ u8 field_0xaaa;
/* 0x0AAB */ u8 field_0xaab;
/* 0x0AAC */ u8 field_0xaac;
/* 0x0AAD */ u8 field_0xaad;
/* 0x0AAE */ u8 field_0xaae;
/* 0x0AAF */ u8 field_0xaaf;
/* 0x0AB0 */ f32 mBlend;
/* 0x0AB4 */ char* field_0xab4;
/* 0x0AB8 */ dBgS_AcchCir mAcchCir;
/* 0x0AF8 */ dBgS_ObjAcch mAcch;
/* 0x0CD0 */ u8 field_0xcd0[0x10d0 - 0xcd0];
/* 0x10D0 */ dBgS_Acch field_0x10d0[16];
/* 0x2E50 */ cXyz field_0x2e50;
/* 0x2E5C */ u8 field_0x2e5c[0x2e6c - 0x2e5c];
/* 0x2E6C */ dCcD_GStts mGStts;
/* 0x2E8C */ dCcD_Stts field_0x2e8c;
/* 0x2EC8 */ dCcD_Sph field_0x2ec8[3];
/* 0x3270 */ dCcD_Sph field_0x3270[3];
/* 0x3618 */ dCcD_Sph field_0x3618;
/* 0x3750 */ dCcD_Sph mSwordSphs[4];
/* 0x3C30 */ dCcD_Cps mCps;
/* 0x3D74 */ dCcD_Sph field_0x3d74;
/* 0x3EAC */ cXyz field_0x3eac;
/* 0x3EB8 */ dCcU_AtInfo mAtInfo;
/* 0x3EDC */ dCcD_Stts field_0x3edc[16];
/* 0x429C */ dCcD_Sph field_0x429c[16];
/* 0x561C */ u32 field_0x561c[4];
/* 0x562C */ u8 field_0x562c;
};
STATIC_ASSERT(sizeof(daB_TN_c) == 0x5630);
@ -86,8 +184,21 @@ STATIC_ASSERT(sizeof(daB_TN_c) == 0x5630);
class daB_TN_HIO_c {
public:
/* 8061EBEC */ daB_TN_HIO_c();
/* 8062D98C */ ~daB_TN_HIO_c();
/* 8062D98C */ virtual ~daB_TN_HIO_c() {};
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 mScale;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1c;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2c;
};
#endif /* D_A_B_TN_H */

File diff suppressed because it is too large Load Diff