tp/include/d/actor/d_a_bullet.h

74 lines
1.6 KiB
C++

#ifndef D_A_BULLET_H
#define D_A_BULLET_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
/**
* @ingroup actors-unsorted
* @class daBullet_c
* @brief Bullet (Unused?)
*
* @details
*
*/
class daBullet_c : public fopAc_ac_c {
public:
typedef int (daBullet_c::*processFn)(void*);
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ dBgS_ObjAcch mAcch;
/* 0x74C */ dCcD_Stts mCcStts;
/* 0x788 */ dBgS_AcchCir mAcchCir;
/* 0x7C8 */ dCcD_Sph mCcSph;
/* 0x900 */ cBgS_GndChk mGndChk;
/* 0x93C */ u8 field_0x93C[0x940 - 0x93C];
/* 0x940 */ f32 mGroundY;
/* 0x944 */ processFn mProcess;
/* 0x950 */ int mLifetime;
/* 0x954 */ u16 mMode;
/* 0x956 */ u8 mType;
/* 0x957 */ u8 field_0x957;
virtual ~daBullet_c();
int create();
BOOL CreateHeap();
int Delete();
int Execute();
int Draw();
static int createHeapCallBack(fopAc_ac_c*);
const char* getResName();
const char* getBmdName();
int getTypeFromParam();
void initialize();
int setProcess(processFn);
int wait(void*);
int move(void*);
static dCcD_SrcGObjInf const mCcDObjInfo;
static dCcD_SrcSph mCcDSph;
};
STATIC_ASSERT(sizeof(daBullet_c) == 0x95c);
struct daBullet_HIOParam {
/* 0x00 */ f32 gravity;
/* 0x04 */ f32 weight;
/* 0x08 */ f32 height;
/* 0x0C */ f32 knee_height;
/* 0x10 */ f32 width;
/* 0x14 */ s16 lifetime;
};
class daBullet_Param_c {
public:
virtual ~daBullet_Param_c() {}
static daBullet_HIOParam const m;
};
#endif /* D_A_BULLET_H */