mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-13 13:46:33 -04:00
4550a9aae6
closes #277
145 lines
4.6 KiB
C++
145 lines
4.6 KiB
C++
#ifndef D_A_BST_H
|
|
#define D_A_BST_H
|
|
|
|
#include "d/d_bg_s_acch.h"
|
|
#include "d/d_cc_d.h"
|
|
#include "d/d_particle.h"
|
|
#include "f_op/f_op_actor.h"
|
|
|
|
class mDoExt_McaMorf;
|
|
class mDoExt_btkAnm;
|
|
class mDoExt_brkAnm;
|
|
|
|
struct bst_class {
|
|
enum Part_Type_e {
|
|
Type_HEAD_e = 0,
|
|
Type_LEFT_HAND_e = 1,
|
|
Type_RIGHT_HAND_e = 2,
|
|
};
|
|
|
|
enum ActionType {
|
|
ACTION_STAY_e = 0,
|
|
ACTION_FLY_e = 1,
|
|
ACTION_DAMAGE_e = 5,
|
|
ACTION_SLEEP_e = 6,
|
|
ACTION_HEAD_DAMAGE_e = 7,
|
|
ACTION_HEAD_HUKKI_e = 8,
|
|
ACTION_DOWN_ATTACK_e = 10,
|
|
ACTION_PAA_ATTACK_e = 11,
|
|
ACTION_KUMI_ATTACK_e = 12,
|
|
ACTION_HARAI_ATTACK_e = 13,
|
|
ACTION_BEAM_ATTACK_e = 14,
|
|
ACTION_HANA_DEMO_e = 20,
|
|
ACTION_END_DEMO_e = 22,
|
|
};
|
|
|
|
/* 0x0000 */ fopEn_enemy_c actor;
|
|
/* 0x02AC */ request_of_phase_process_class mPhs;
|
|
/* 0x02B4 */ u8 mBstPartType;
|
|
/* 0x02B5 */ u8 m02B5[0x02B8 - 0x02B5];
|
|
/* 0x02B8 */ mDoExt_McaMorf* m02B8;
|
|
/* 0x02BC */ mDoExt_btkAnm* mpTexMtxAnimator;
|
|
/* 0x02C0 */ mDoExt_brkAnm* mpTevRegAnimator;
|
|
/* 0x02C4 */ s8 m02C4;
|
|
/* 0x02C5 */ u8 m02C5[0x02C8 - 0x02C5];
|
|
/* 0x02C8 */ J3DModel* m02C8;
|
|
/* 0x02CC */ mDoExt_btkAnm* mpBtkAnm;
|
|
/* 0x02D0 */ mDoExt_brkAnm* mpBrkAnm;
|
|
/* 0x02D4 */ s8 m02D4;
|
|
/* 0x02D5 */ u8 m02D5[0x02D8 - 0x02D5];
|
|
/* 0x02D8 */ dKy_tevstr_c mEnvLight;
|
|
/* 0x0388 */ J3DModel* m0388;
|
|
/* 0x038C */ u32 mShadowID;
|
|
/* 0x0390 */ J3DModel* m0390[10];
|
|
/* 0x03B8 */ cXyz m03B8[10];
|
|
/* 0x0430 */ cXyz m0430[10];
|
|
/* 0x04A8 */ csXyz m04A8[10];
|
|
/* 0x04E4 */ s8 m04E4[10];
|
|
/* 0x04EE */ u8 m04EE[0x04F0 - 0x04EE];
|
|
/* 0x04F0 */ dCcD_Sph mCcD_beams[10];
|
|
/* 0x10A8 */ f32 m10A8[10];
|
|
/* 0x10D0 */ f32 m10D0;
|
|
/* 0x10D4 */ s16 mUpdateLastFacingDirIfMultipleOf32;
|
|
/* 0x10D6 */ s16 mActionType;
|
|
/* 0x10D8 */ s16 m10D8;
|
|
/* 0x10DA */ s16 mDamage;
|
|
/* 0x10DC */ cXyz mTargetPos;
|
|
/* 0x10E8 */ s16 mLastCheckedPlayerFacingDir;
|
|
/* 0x10EA */ u8 m10EA[0x10EC - 0x10EA];
|
|
/* 0x10EC */ cXyz m10EC;
|
|
/* 0x10F8 */ f32 m10F8;
|
|
/* 0x10FC */ s16 m10FC[5]; // 0 = mUpdateTargetPosTimer, 1 = mSleepTimer
|
|
/* 0x1106 */ s16 mDamageTimer;
|
|
/* 0x1108 */ s16 mState;
|
|
/* 0x110A */ s16 mStateTimer;
|
|
/* 0x110C */ u8 m110C[0x1110 - 0x110C];
|
|
/* 0x1110 */ f32 m1110;
|
|
/* 0x1114 */ f32 m1114;
|
|
/* 0x1118 */ f32 m1118;
|
|
/* 0x111C */ s16 m111C;
|
|
/* 0x111E */ u8 m111E[0x1120 - 0x111E];
|
|
/* 0x1120 */ f32 mHeadHurtSpeed;
|
|
/* 0x1124 */ s16 mHurtRecoilAngle1;
|
|
/* 0x1126 */ s16 mHurtRecoilAngle2;
|
|
/* 0x1128 */ s16 mHeadHurtAngle;
|
|
/* 0x112A */ s16 m112A;
|
|
/* 0x112C */ s16 m112C;
|
|
/* 0x112E */ u8 m112E[0x1130 - 0x112E];
|
|
/* 0x1130 */ dBgS_AcchCir mAcchCir;
|
|
/* 0x1170 */ dBgS_ObjAcch mAcch;
|
|
/* 0x1334 */ dCcD_Stts mStts;
|
|
/* 0x1370 */ dCcD_Cyl mHeadHurtCyl;
|
|
/* 0x14A0 */ dCcD_Cyl mHandHurtCyl;
|
|
/* 0x15D0 */ dCcD_Sph mFingerSphs[19];
|
|
/* 0x2C14 */ dCcD_Sph mEyeSphs[2];
|
|
/* 0x2E6C */ u8 m2E6C[0x2E6E - 0x2E6C];
|
|
/* 0x2E6E */ s16 m2E6E;
|
|
/* 0x2E70 */ s16 mFacingDir;
|
|
/* 0x2E72 */ s8 mEyeHealth[2];
|
|
/* 0x2E74 */ s16 m2E74[2];
|
|
/* 0x2E78 */ s16 m2E78[2];
|
|
/* 0x2E7C */ s8 m2E7C;
|
|
/* 0x2E7D */ u8 m2E7D[0x2E7E - 0x2E7D];
|
|
/* 0x2E7E */ s16 m2E7E[3]; // 1 = mHeadBeamAttackTimer
|
|
/* 0x2E84 */ s16 mBombArrowDropTimer;
|
|
/* 0x2E86 */ u8 m2E86[0x2E88 - 0x2E86];
|
|
/* 0x2E88 */ fpc_ProcID mBombId;
|
|
/* 0x2E8C */ fpc_ProcID mCreatedItemId;
|
|
/* 0x2E90 */ fpc_ProcID m2E90[2];
|
|
#if VERSION > VERSION_DEMO
|
|
/* 0x2E98 */ s16 m2E98;
|
|
#endif
|
|
/* 0x2E9A */ s8 m2E9A;
|
|
/* 0x2E9B */ u8 m2E9B[0x2E9C - 0x2E9B];
|
|
/* 0x2E9C */ s16 msFrameCount;
|
|
/* 0x2E9E */ s8 m2E9E;
|
|
/* 0x2E9F */ u8 m2E9F[0x2EA0 - 0x2E9F];
|
|
/* 0x2EA0 */ cXyz m2EA0;
|
|
/* 0x2EAC */ cXyz m2EAC;
|
|
/* 0x2EB8 */ u8 m2EB8[0x2EC4 - 0x2EB8];
|
|
/* 0x2EC4 */ f32 m2EC4;
|
|
/* 0x2EC8 */ f32 m2EC8;
|
|
/* 0x2ECC */ f32 m2ECC;
|
|
/* 0x2ED0 */ f32 m2ED0;
|
|
/* 0x2ED4 */ s8 mRoomState;
|
|
/* 0x2ED5 */ u8 m2ED5[0x2ED8 - 0x2ED5];
|
|
/* 0x2ED8 */ JPABaseEmitter* m2ED8[2];
|
|
/* 0x2EE0 */ JPABaseEmitter* m2EE0[2];
|
|
/* 0x2EE8 */ u8 m2EE8[0x2EF4 - 0x2EE8];
|
|
/* 0x2EF4 */ JPABaseEmitter* m2EF4;
|
|
/* 0x2EF8 */ JPABaseEmitter* m2EF8;
|
|
/* 0x2EF8 */ u8 m2EFC[0x2F00 - 0x2EFC];
|
|
/* 0x2F00 */ dPa_smokeEcallBack mPa_smokeEcallBack;
|
|
/* 0x2F20 */ dKy_tevstr_c m2F20;
|
|
/* 0x2FD0 */ J3DModel* m2FD0;
|
|
/* 0x2FD4 */ mDoExt_btkAnm* m2FD4;
|
|
/* 0x2FD8 */ mDoExt_brkAnm* m2FD8;
|
|
/* 0x2FDC */ J3DModel* m2FDC;
|
|
/* 0x2FE0 */ mDoExt_brkAnm* m2FE0;
|
|
/* 0x2FE4 */ s8 m2FE4;
|
|
/* 0x2FE5 */ u8 mHioSet;
|
|
/* 0x2FE6 */ u8 m2FE6[0x2FE8 - 0x2FE6];
|
|
}; // Size: 0x2FE8
|
|
|
|
#endif /* D_A_BST_H */
|