mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
118 lines
3.1 KiB
C++
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 */
|