mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
dcf4862387
* progress * code matching non-demo * cleanup for d_a_npc_tc and d_a_obj_smplbg
62 lines
1.8 KiB
C++
62 lines
1.8 KiB
C++
#ifndef D_A_OBJ_SMPLBG_H
|
|
#define D_A_OBJ_SMPLBG_H
|
|
|
|
#include "d/d_bg_s_movebg_actor.h"
|
|
#include "d/d_a_obj.h"
|
|
|
|
namespace daObjSmplbg {
|
|
class Act_c : public dBgS_MoveBgActor {
|
|
public:
|
|
|
|
enum Prm_e {
|
|
PRM_TYPE_W = 8,
|
|
PRM_TYPE_S = 0,
|
|
};
|
|
|
|
static Mtx M_tmp_mtx;
|
|
struct Attr_c {
|
|
/* 0x00 */ u32 mHeapSize;
|
|
/* 0x04 */ const char* mResName;
|
|
/* 0x08 */ s16 mBDLFileIndex;
|
|
/* 0x0A */ s16 mDZBFileIndex;
|
|
/* 0x0C */ MoveBGActor_SetFunc mMoveBGProc;
|
|
/* 0x10 */ u32 mFlags;
|
|
/* 0x14 */ s16 mCullMinX;
|
|
/* 0x16 */ s16 mCullMinY;
|
|
/* 0x18 */ s16 mCullMinZ;
|
|
/* 0x1A */ s16 mCullMaxX;
|
|
/* 0x1C */ s16 mCullMaxY;
|
|
/* 0x1E */ s16 mCullMaxZ;
|
|
/* 0x20 */ f32 mEyeOffset;
|
|
};
|
|
|
|
static const Attr_c M_attr[];
|
|
inline const Attr_c& attr() const { return M_attr[mType]; }
|
|
|
|
bool isStop() { return mIsStop; }
|
|
void offStop() { mIsStop = false; }
|
|
void onStop() { mIsStop = true; }
|
|
int prm_get_type() const { return daObj::PrmAbstract(this, PRM_TYPE_W , PRM_TYPE_S);}
|
|
|
|
virtual BOOL CreateHeap();
|
|
virtual BOOL Create();
|
|
cPhs_State Mthd_Create();
|
|
virtual BOOL Delete();
|
|
BOOL Mthd_Delete();
|
|
void set_mtx();
|
|
void init_mtx();
|
|
void exec_qtkhd();
|
|
virtual BOOL Execute(Mtx**);
|
|
virtual BOOL Draw();
|
|
|
|
public:
|
|
/* 0x2C8 */ request_of_phase_process_class mPhs;
|
|
/* 0x2D0 */ J3DModel* mpModel;
|
|
/* 0x2D4 */ int mType;
|
|
/* 0x2D8 */ bool mIsStop;
|
|
/* 0x2D9 */ u8 field_0x2D9[0x2DC - 0x2D9];
|
|
}; // Size: 0x2DC
|
|
};
|
|
|
|
#endif /* D_A_OBJ_SMPLBG_H */
|