Files
2026-05-28 18:36:35 -04:00

306 lines
8.5 KiB
C++

#ifndef D_A_TN_H
#define D_A_TN_H
#include "d/d_jnt_hit.h"
#include "d/d_path.h"
#include "f_op/f_op_actor.h"
#include "d/d_cc_d.h"
#include "d/d_particle.h"
#include "c/c_damagereaction.h"
#include "m_Do/m_Do_hostIO.h"
struct tn_p {
/* 0x00 */ J3DModel* mpPartModel;
/* 0x04 */ mDoExt_brkAnm* mpPartBrkAnm;
/* 0x08 */ s8 m08;
/* 0x09 */ s8 m09;
/* 0x0A */ u8 m0A[0x0C - 0x0A];
/* 0x0C */ cXyz m0C;
/* 0x18 */ cXyz m18;
/* 0x24 */ cXyz m24;
/* 0x30 */ csXyz m30;
/* 0x36 */ csXyz m36;
/* 0x3C */ u8 m3C[0x42 - 0x3C];
/* 0x42 */ s16 m42;
/* 0x44 */ s8 m44;
/* 0x45 */ u8 m45[0x4C - 0x45];
};
struct tn_class {
/* 0x0000 */ fopEn_enemy_c actor;
/* 0x02AC */ request_of_phase_process_class mPhaseTn;
/* 0x02B4 */ request_of_phase_process_class mPhaseTkwn;
/* 0x02BC */ u8 mBehaviorType;
/* 0x02BD */ u8 mRangeOrFrozenAnim;
/* 0x02BE */ u8 mPathIndex;
/* 0x02BF */ u8 mEnableSpawnSwitch;
/* 0x02C0 */ u8 mDisableSpawnOnDeathSwitch;
/* 0x02C1 */ u8 m02C1;
/* 0x02C2 */ u8 m02C2[0x02C4 - 0x02C2];
/* 0x02C4 */ mDoExt_McaMorf* mpBodyMorf;
/* 0x02C8 */ mDoExt_McaMorf* mpShieldMorf;
/* 0x02CC */ mDoExt_McaMorf* mpArmorMorf;
/* 0x02D0 */ s8 mRemainingEquipmentPieces;
/* 0x02D1 */ u8 m02D1[0x02D4 - 0x02D1];
/* 0x02D4 */ u32 mShadowId;
/* 0x02D8 */ mDoExt_brkAnm* mpBrkAnm;
/* 0x02DC */ u8 m02DC;
/* 0x02DD */ s8 m02DD;
/* 0x02DE */ u8 m02DE[0x02E0 - 0x02DE];
/* 0x02E0 */ tn_p mParts[3];
/* 0x03C4 */ u8 mArmorColorIndex;
/* 0x03C5 */ u8 mEquipmentType;
/* 0x03C6 */ u8 m03C6[0x03D8 - 0x03C6];
/* 0x03D8 */ u32 m03D8;
/* 0x03DC */ u8 m03DC[0x03E0 - 0x03DC];
/* 0x03E0 */ s16 mCountDownTimers[5]; // 4 = mAttackIfCloseTimer
/* 0x03EA */ s16 m03EA;
/* 0x03EC */ s16 m03EC;
/* 0x03EE */ s16 m03EE;
/* 0x03F0 */ s16 m03F0;
/* 0x03F2 */ s16 m03F2;
/* 0x03F4 */ u8 m03F4[0x03FC - 0x03F4];
/* 0x03FC */ s16 m03FC;
/* 0x03FE */ u8 m03FE;
/* 0x03FF */ u8 m03FF[0x0400 - 0x03FF];
/* 0x0400 */ f32 mPlayerDistance;
/* 0x0404 */ cXyz mPathXyz;
/* 0x0410 */ u8 m0410[0x0414 - 0x0410];
#if VERSION == VERSION_DEMO
/* 0x0414 */ s16 m0414_demo;
#endif
/* 0x0414 */ s16 m0414;
/* 0x0416 */ s16 mTargetAngle;
/* 0x0418 */ s16 m0418;
/* 0x041A */ s16 m041A;
/* 0x041C */ cXyz m041C;
/* 0x0428 */ csXyz m0428;
/* 0x042E */ s16 m042E;
/* 0x0430 */ s16 m0430;
/* 0x0432 */ u8 m0432;
/* 0x0433 */ u8 m0433;
/* 0x0434 */ dPa_smokeEcallBack mSmokeCb1;
/* 0x0454 */ dPa_smokeEcallBack mSmokeCb2;
/* 0x0474 */ damagereaction mDamageReaction;
/* 0x0C30 */ u8 m0C30[0x0C34 - 0x0C30];
/* 0x0C34 */ int m0C34;
/* 0x0C38 */ int m0C38;
/* 0x0C3C */ cXyz m0C3C;
/* 0x0C48 */ int m0C48;
/* 0x0C4C */ u8 m0C4C[0x0C66 - 0x0C4C];
/* 0x0C66 */ s8 m0C66;
/* 0x0C67 */ s8 m0C67;
/* 0x0C68 */ u8 m0C68[0x0C74 - 0x0C68];
/* 0x0C74 */ dCcD_Cyl mCoCyl;
/* 0x0DA4 */ dCcD_Cyl mTgCyl;
/* 0x0ED4 */ dCcD_Sph mHeadSph;
/* 0x1000 */ dCcD_Sph mDefenceSph;
/* 0x112C */ dCcD_Sph mWeponSph;
/* 0x1258 */ dCcD_Sph mWepon2Sph;
/* 0x1384 */ cXyz m1384;
/* 0x1390 */ cXyz m1390;
/* 0x139C */ cXyz m139C;
/* 0x13A8 */ cXyz m13A8;
/* 0x13B4 */ cXyz m13B4;
/* 0x13C0 */ cXyz mWeponSphMove;
/* 0x13CC */ cXyz mWepon2SphMove;
/* 0x13D8 */ cXyz m13D8;
/* 0x13E4 */ cXyz m13E4;
/* 0x13F0 */ u8 m13F0[0x13FC - 0x13F0];
/* 0x13FC */ u8 m13FC;
/* 0x13FD */ u8 m13FD;
/* 0x13FE */ u8 m13FE[0x13FF - 0x13FE];
/* 0x13FF */ u8 m13FF;
/* 0x1400 */ s8 m1400;
/* 0x1401 */ u8 m1401[0x1402 - 0x1401];
/* 0x1402 */ s16 m1402;
/* 0x1404 */ s16 m1404;
/* 0x1406 */ u8 m1406[0x1408 - 0x1406];
/* 0x1408 */ fpc_ProcID m1408;
/* 0x140C */ s8 m140C;
/* 0x140C */ u8 m140D[0x1410 - 0x140D];
/* 0x1410 */ fpc_ProcID mBokoPcId;
/* 0x1414 */ u8 m1414[0x1418 - 0x1414];
/* 0x1418 */ fopAc_ac_c* m1418;
/* 0x141C */ u16 m141C;
/* 0x141E */ u8 m141E[0x1420 - 0x141E];
/* 0x1420 */ s32 m1420;
/* 0x1424 */ s8 m1424;
/* 0x1425 */ s8 m1425;
/* 0x1426 */ s8 m1426;
/* 0x1427 */ u8 m1427[0x1428 - 0x1427];
/* 0x1428 */ dPath* ppd;
/* 0x142C */ u8 m142C[0x1430 - 0x142C];
/* 0x1430 */ u8 mCapeEntityId;
/* 0x1431 */ u8 m1431[0x1433 - 0x1431];
/* 0x1433 */ u8 m1433;
/* 0x1434 */ s8 m1434;
/* 0x1435 */ u8 m1435[0x1436 - 0x1435];
/* 0x1436 */ s16 m1436;
/* 0x1438 */ cXyz m1438;
/* 0x1444 */ s8 m1444;
/* 0x1445 */ u8 m1445[0x1448 - 0x1445];
/* 0x1448 */ fpc_ProcID mMantPcId;
/* 0x144C */ dPa_cutTurnEcallBack_c m144C[3];
/* 0x147C */ cXyz m147C[10];
/* 0x14F4 */ s16 m14F4;
/* 0x14F6 */ s16 m14F6;
/* 0x14F8 */ s8 m14F8;
/* 0x14F9 */ u8 m14F9[0x14FA - 0x14F9];
/* 0x14FA */ s16 m14FA;
/* 0x14FC */ cXyz mCameraEyePos;
/* 0x1508 */ cXyz mCenterPos;
/* 0x1514 */ f32 m1514;
/* 0x1518 */ s8 m1518;
/* 0x1519 */ s8 m1519;
/* 0x151A */ u8 m151A[0x151C - 0x151A];
/* 0x151C */ f32 m151C;
#if VERSION > VERSION_DEMO
/* 0x1520 */ s8 m1520;
/* 0x1521 */ u8 m1521[0x1524 - 0x1521];
#endif
/* 0x1524 */ enemyice mEnemyIce;
/* 0x18DC */ enemyfire mEnemyFire;
/* 0x1B04 */ JntHit_c* mpJntHit;
}; // Size: 0x1B08
class tnHIO_c : public JORReflexible {
public:
tnHIO_c() {
m005 = 0;
m006 = 0;
m007 = 0;
m008 = 0;
m014 = 1.0f;
m018 = 25.0f;
m01E = 0xb9;
m020 = 0xc;
m01C = 0;
m00A = 0x32;
m00C = 1.0f;
m024 = 50.0f;
m028 = 1000.0f;
m02C = 400.0f;
m030 = 250.0f;
m034 = 23000;
m036 = 11000;
m038 = 400.0f;
m03C = 500.0f;
m040 = 130.0f;
m044 = 500.0f;
m048 = -125.0f;
m04C = 20.0f;
m050 = 20.0f;
m054 = 70.0f;
m058 = 90.0f;
m05C = 10.0f;
m060 = 10.0f;
m064 = 70.0f;
m068 = 1.0f;
m06C = 0x1e;
m070 = 75.0f;
m074 = 40.0f;
m078 = 40.0f;
m07C = 70.0f;
m080 = 0x1e;
m082 = 300;
m084 = 0.9f;
m088 = 1.0f;
m08C = 1.0f;
m0C4 = 0xe;
m090 = 1.0f;
m094 = 1.0f;
m098 = 1.0f;
m0C6 = 0x18;
m09C = 1.1f;
m0A0 = 1.0f;
m0A4 = 1.0f;
m0C8 = 0x16;
m0A8 = 0.5f;
m0AC = 1.0f;
m0B0 = 1.2f;
m0CA = 5;
m0B4 = 1.0f;
m0CC = 100;
m0B8 = 1.0f;
m0BC = 1.0f;
m0C0 = 1.0f;
m0CE = 0x1c;
m0D0 = 0.0f;
m0D4 = 500.0f;
};
virtual ~tnHIO_c() {};
void genMessage(JORMContext*) {}
public:
/* 0x004 */ s8 mNo;
/* 0x005 */ u8 m005;
/* 0x006 */ u8 m006;
/* 0x007 */ u8 m007;
/* 0x008 */ u8 m008;
/* 0x009 */ u8 m009[0x00A - 0x009];
/* 0x00A */ s16 m00A;
/* 0x00C */ f32 m00C;
/* 0x010 */ u8 m010[0x014 - 0x010];
/* 0x014 */ f32 m014;
/* 0x018 */ f32 m018;
/* 0x01C */ s16 m01C;
/* 0x01E */ s16 m01E;
/* 0x020 */ s16 m020;
/* 0x022 */ u8 m022[0x024 - 0x022];
/* 0x024 */ f32 m024;
/* 0x028 */ f32 m028;
/* 0x02C */ f32 m02C;
/* 0x030 */ f32 m030;
/* 0x034 */ s16 m034;
/* 0x036 */ s16 m036;
/* 0x038 */ f32 m038;
/* 0x03C */ f32 m03C;
/* 0x040 */ f32 m040;
/* 0x040 */ f32 m044;
/* 0x040 */ f32 m048;
/* 0x04C */ f32 m04C;
/* 0x050 */ f32 m050;
/* 0x054 */ f32 m054;
/* 0x058 */ f32 m058;
/* 0x05C */ f32 m05C;
/* 0x060 */ f32 m060;
/* 0x064 */ f32 m064;
/* 0x068 */ f32 m068;
/* 0x06C */ s16 m06C;
/* 0x06E */ u8 m06E[0x070 - 0x06E];
/* 0x070 */ f32 m070;
/* 0x074 */ f32 m074;
/* 0x078 */ f32 m078;
/* 0x07C */ f32 m07C;
/* 0x080 */ s16 m080;
/* 0x082 */ s16 m082;
/* 0x084 */ f32 m084;
/* 0x088 */ f32 m088;
/* 0x08C */ f32 m08C;
/* 0x090 */ f32 m090;
/* 0x094 */ f32 m094;
/* 0x098 */ f32 m098;
/* 0x09C */ f32 m09C;
/* 0x0A0 */ f32 m0A0;
/* 0x0A4 */ f32 m0A4;
/* 0x0A8 */ f32 m0A8;
/* 0x0AC */ f32 m0AC;
/* 0x0B0 */ f32 m0B0;
/* 0x0B4 */ f32 m0B4;
/* 0x0B8 */ f32 m0B8;
/* 0x0BC */ f32 m0BC;
/* 0x0C0 */ f32 m0C0;
/* 0x0C4 */ s16 m0C4;
/* 0x0C6 */ s16 m0C6;
/* 0x0C8 */ s16 m0C8;
/* 0x0CA */ s16 m0CA;
/* 0x0CC */ s16 m0CC;
/* 0x0CE */ s16 m0CE;
/* 0x0D0 */ f32 m0D0;
/* 0x0D4 */ f32 m0D4;
/* 0x0D8 */ JntHit_HIO_c mJntHitHIO;
}; // Size: 0x104
#endif /* D_A_TN_H */