Files
2026-03-12 17:26:42 -04:00

118 lines
3.1 KiB
C++

#ifndef D_A_OBJ_CANON_H
#define D_A_OBJ_CANON_H
#include "d/d_cc_d.h"
#include "d/d_npc.h"
#include "d/d_particle.h"
#include "f_op/f_op_actor.h"
#include "m_Do/m_Do_hostIO.h"
class J3DNode;
class dCcD_SrcSph;
class daObj_Canon_c : public fopAc_ac_c {
public:
enum Proc_e {
PROC_INIT_e = 0,
PROC_EXEC_e = 1
};
void modeProcInit(int newMode) { modeProc(PROC_INIT_e, newMode); }
void _nodeControl(J3DNode*, J3DModel*);
BOOL _createHeap();
void setEffect(u16);
bool checkTgHit();
void attackCannon();
void lockonCannon();
void setAttention();
void setCollision();
void setMtx();
void modeWaitInit();
void modeWait();
void modeAttackInit();
void modeAttack();
void modeDeleteInit();
void modeDelete();
void modeSwWaitInit();
void modeSwWait();
void modeAppearInit();
void modeAppear();
void modeProc(Proc_e, int);
bool _execute();
void debugDraw();
bool _draw();
void createInit();
void getArg();
cPhs_State _create();
bool _delete();
static const u32 m_heapsize;
static const char m_arc_name[];
static const dCcD_SrcSph m_sph_src;
public:
/* 0x290 */ s32 mCurMode;
/* 0x294 */ u8 field_0x294;
/* 0x295 */ u8 field_0x295;
/* 0x296 */ u8 field_0x296;
/* 0x297 */ u8 field_0x297;
/* 0x298 */ dNpc_PathRun_c field_0x298;
/* 0x2A0 */ u8 field_0x2A0[0x2B0 - 0x2A0];
/* 0x2B0 */ dPath* field_0x2B0;
/* 0x2B0 */ u8 field_0x2B4[0x2B8 - 0x2B4];
/* 0x2B8 */ request_of_phase_process_class mPhs;
/* 0x2C0 */ J3DModel* mpModel;
/* 0x2C4 */ s16 field_0x2C4;
/* 0x2C6 */ s16 field_0x2C6;
/* 0x2C8 */ s16 field_0x2C8;
/* 0x2CA */ s16 field_0x2CA;
/* 0x2CC */ cXyz field_0x2CC;
/* 0x2D8 */ dCcD_Sph mSph;
/* 0x420 */ dCcD_Stts mStts;
/* 0x444 */ int field_0x440;
/* 0x444 */ int field_0x444;
/* 0x448 */ u8 field_0x448[0x450 - 0x448];
/* 0x450 */ cXyz field_0x450;
/* 0x45C */ cXyz field_0x45C;
/* 0x468 */ s16 field_0x468;
/* 0x46A */ s16 field_0x46A;
/* 0x46C */ f32 field_0x46C;
/* 0x470 */ dPa_followEcallBack field_0x470;
/* 0x484 */ int field_0x484;
/* 0x488 */ s32 field_0x488;
}; // Size: 0x48C
class daObj_Canon_HIO_c : public mDoHIO_entry_c {
public:
daObj_Canon_HIO_c();
void genMessage(JORMContext*) {}
public:
/* 0x04 */ bool debug_draw;
/* 0x05 */ u8 field_0x05;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ f32 field_0x0C;
/* 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 */ s16 field_0x28;
/* 0x2C */ f32 field_0x2C;
/* 0x30 */ s16 field_0x30;
/* 0x32 */ s16 field_0x32;
/* 0x34 */ s16 field_0x34;
/* 0x36 */ s16 field_0x36;
/* 0x38 */ s16 field_0x38;
/* 0x3A */ s16 field_0x3A;
/* 0x3C */ s16 field_0x3C;
/* 0x3E */ s16 field_0x3E;
/* 0x40 */ f32 field_0x40;
/* 0x44 */ f32 field_0x44;
/* 0x48 */ s16 field_0x48;
}; // Size: 0x4C
#endif /* D_A_OBJ_CANON_H */