Files
tww/include/d/actor/d_a_obj_smplbg.h
Zeclos dcf4862387 D_a_npc_tc matching for retail (#930)
* progress

* code matching non-demo

* cleanup for d_a_npc_tc and d_a_obj_smplbg
2026-03-04 13:25:59 -05:00

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 */