Files
LagoLunatic 4550a9aae6 d_a_bst OK for USA
closes #277
2026-05-23 17:28:49 -04:00

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 */