mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
152 lines
3.9 KiB
C++
152 lines
3.9 KiB
C++
#ifndef D_A_OBJ_BEMOS_H
|
|
#define D_A_OBJ_BEMOS_H
|
|
|
|
#include "f_op/f_op_actor.h"
|
|
#include "m_Do/m_Do_ext.h"
|
|
#include "d/d_cc_d.h"
|
|
#include "d/d_bg_s_gnd_chk.h"
|
|
#include "m_Do/m_Do_hostIO.h"
|
|
|
|
class JPABaseEmitter;
|
|
class daBeam_c;
|
|
|
|
class daBemos_c : public fopAc_ac_c {
|
|
typedef BOOL (daBemos_c::*EyeProc)();
|
|
|
|
public:
|
|
inline cPhs_State _create();
|
|
inline bool _delete();
|
|
inline bool _draw();
|
|
inline bool _execute();
|
|
bool checkEyeProc(EyeProc proc) {
|
|
return m290 == proc;
|
|
}
|
|
void setEyeProc(EyeProc proc) {
|
|
m290 = proc;
|
|
}
|
|
|
|
void set_mtx();
|
|
BOOL CreateHeap1();
|
|
BOOL CreateHeap2();
|
|
BOOL CreateHeap3();
|
|
BOOL CreateHeap();
|
|
BOOL CreateInit1();
|
|
BOOL CreateInit2();
|
|
BOOL CreateInit3();
|
|
cPhs_State CreateInit();
|
|
BOOL blue_range_check(int, csXyz*);
|
|
BOOL red_range_check(int, csXyz*);
|
|
BOOL yellow_range_check(int, csXyz*);
|
|
BOOL blue_eye_wait_init();
|
|
BOOL blue_eye_wait();
|
|
BOOL blue_eye_charge_init();
|
|
BOOL blue_eye_charge();
|
|
BOOL blue_eye_search_init();
|
|
BOOL blue_eye_search();
|
|
BOOL red_eye_wait_init();
|
|
BOOL red_eye_wait();
|
|
BOOL red_eye_charge_init();
|
|
BOOL red_eye_charge();
|
|
BOOL red_eye_search_init();
|
|
BOOL red_eye_search();
|
|
BOOL eye_break_init();
|
|
BOOL eye_break();
|
|
BOOL eye_dummy();
|
|
BOOL yellow_eye_wait_init();
|
|
BOOL yellow_eye_wait();
|
|
BOOL yellow_eye_search_init();
|
|
BOOL yellow_eye_search();
|
|
void event_move();
|
|
void guard_proc();
|
|
daBeam_c* getBeamActor();
|
|
|
|
static const char m_arcname[];
|
|
|
|
public:
|
|
/* 0x290 */ EyeProc m290;
|
|
/* 0x29C */ csXyz m29C;
|
|
/* 0x2A2 */ u8 m2A2[0x2A4 - 0x2A2];
|
|
/* 0x2A4 */ cXyz m2A4;
|
|
/* 0x2B0 */ request_of_phase_process_class mPhase;
|
|
/* 0x2B8 */ J3DModel* m2B8;
|
|
/* 0x2BC */ J3DModel* m2BC;
|
|
/* 0x2C0 */ J3DModel* m2C0;
|
|
/* 0x2C4 */ u8 m2C4[0x2C8 - 0x2C4];
|
|
/* 0x2C8 */ mDoExt_brkAnm mBrkAnm1;
|
|
/* 0x2E0 */ J3DAnmTevRegKey* m_sch_brk;
|
|
/* 0x2E4 */ mDoExt_brkAnm mBrkAnm2;
|
|
/* 0x2FC */ JPABaseEmitter* m2FC;
|
|
/* 0x300 */ JPABaseEmitter* m300;
|
|
/* 0x304 */ JPABaseEmitter* m304;
|
|
/* 0x308 */ JPABaseEmitter* m308;
|
|
/* 0x30C */ JPABaseEmitter* m30C;
|
|
/* 0x310 */ u8 m310;
|
|
/* 0x311 */ u8 m311[0x314 - 0x311];
|
|
/* 0x314 */ cXyz m314;
|
|
/* 0x320 */ f32 m320;
|
|
/* 0x324 */ u8 m324[0x354 - 0x324];
|
|
/* 0x354 */ cXyz m354;
|
|
/* 0x360 */ cXyz m360;
|
|
/* 0x36C */ cXyz m36C;
|
|
/* 0x378 */ dCcD_Stts mSttsCyl;
|
|
/* 0x3B4 */ dCcD_Cyl mCyl;
|
|
/* 0x4E4 */ dCcD_Stts mSttsSph;
|
|
/* 0x520 */ dCcD_Sph mSph;
|
|
/* 0x64C */ dBgS_ObjGndChk mGndChk;
|
|
/* 0x6A0 */ f32 m6A0;
|
|
/* 0x6A4 */ s32 m6A4;
|
|
/* 0x6A8 */ s32 m6A8;
|
|
/* 0x6AC */ s16 m6AC;
|
|
/* 0x6AE */ s16 m6AE;
|
|
/* 0x6B0 */ s16 m6B0;
|
|
/* 0x6B2 */ s16 m6B2;
|
|
/* 0x6B4 */ u8 m6B4[0x6B6 - 0x6B4];
|
|
/* 0x6B6 */ s16 m6B6;
|
|
/* 0x6B8 */ u8 m6B8;
|
|
/* 0x6B9 */ u8 m6B9;
|
|
/* 0x6BA */ u8 m6BA;
|
|
/* 0x6BB */ u8 m6BB;
|
|
/* 0x6BC */ u8 m6BC;
|
|
/* 0x6BD */ u8 m6BD;
|
|
/* 0x6BE */ u8 m6BE[0x6BF - 0x6BE];
|
|
/* 0x6BF */ u8 m6BF;
|
|
/* 0x6C0 */ u8 m6C0;
|
|
/* 0x6C1 */ u8 m6C1[0x6C4 - 0x6C1];
|
|
}; // Size: 0x6C4
|
|
|
|
class daBemos_HIO_c : public JORReflexible {
|
|
public:
|
|
daBemos_HIO_c();
|
|
virtual ~daBemos_HIO_c() {}
|
|
|
|
void genMessage(JORMContext* ctx) {}
|
|
|
|
public:
|
|
/* 0x04 */ s8 mNo;
|
|
/* 0x05 */ u8 m05[0x08 - 0x05];
|
|
/* 0x08 */ f32 m08;
|
|
/* 0x0C */ f32 m0C;
|
|
/* 0x10 */ f32 m10;
|
|
/* 0x14 */ f32 m14;
|
|
/* 0x18 */ f32 m18;
|
|
/* 0x1C */ s16 m1C;
|
|
/* 0x1E */ s16 m1E;
|
|
/* 0x20 */ f32 m20;
|
|
/* 0x24 */ f32 m24;
|
|
/* 0x28 */ s16 m28;
|
|
/* 0x2A */ s16 m2A;
|
|
/* 0x2C */ f32 m2C;
|
|
/* 0x30 */ f32 m30;
|
|
/* 0x34 */ f32 m34;
|
|
/* 0x38 */ f32 m38;
|
|
/* 0x3C */ f32 m3C;
|
|
/* 0x40 */ s16 m40;
|
|
/* 0x42 */ s16 m42;
|
|
/* 0x44 */ f32 m44;
|
|
/* 0x48 */ f32 m48;
|
|
/* 0x4C */ u8 m4C;
|
|
/* 0x4D */ u8 m4D[0x50 - 0x4D];
|
|
}; // Size: 0x50
|
|
|
|
#endif /* D_A_OBJ_BEMOS_H */
|