NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
|
Definition at line 39 of file g3d_scnobj.h.
Public Types | |
enum | ForEachResult { FOREACHRESULT_OK , FOREACHRESULT_CONTINUE , FOREACHRESULT_RETURN , FOREACHRESULT_GOBACK } |
enum | ScnObjMtxType { MTX_LOCAL , MTX_WORLD , MTX_VIEW , MTX_TYPE_MAX } |
enum | ScnObjBoundingVolumeType { BOUNDINGVOLUME_AABB_LOCAL , BOUNDINGVOLUME_AABB_WORLD , BOUNDINGVOLUME_MAX } |
enum | ScnObjOption { OPTID_NONE = (0x00000 | (0)) , OPTID_DISABLE_GATHER_SCNOBJ = (0x00000 | (1)) , OPTID_DISABLE_CALC_WORLD = (0x00000 | (2)) , OPTID_DISABLE_CALC_MAT = (0x00000 | (3)) , OPTID_DISABLE_CALC_VTX = (0x00000 | (4)) , OPTID_DISABLE_CALC_VIEW = (0x00000 | (5)) , OPTID_DISABLE_DRAW_OPA = (0x00000 | (6)) , OPTID_DISABLE_DRAW_XLU = (0x00000 | (7)) , OPTID_DISABLE_UPDATEFRAME = (0x00000 | (8)) , OPTID_ENABLE_CULLING = (0x00000 | (9)) } |
enum | Timing { CALLBACK_TIMING_A = (1 << 0) , CALLBACK_TIMING_B = (1 << 1) , CALLBACK_TIMING_C = (1 << 2) , CALLBACK_TIMING_ALL = (CALLBACK_TIMING_A | CALLBACK_TIMING_B | CALLBACK_TIMING_C) } |
enum | ExecOp { EXECOP_CALC_WORLD = (1 << 0) , EXECOP_CALC_MAT = (1 << 1) , EXECOP_CALC_VIEW = (1 << 2) , EXECOP_DRAW_OPA = (1 << 4) , EXECOP_DRAW_XLU = (1 << 5) } |
typedef ForEachResult(* | ForEachFunc) (ScnObj *pParent, void *pInfo) |
![]() | |
enum | G3dProcTask { G3DPROC_NONE = 0x00000 , G3DPROC_CALC_WORLD = 0x00001 , G3DPROC_CALC_MAT = 0x00002 , G3DPROC_CALC_VTX = 0x00003 , G3DPROC_CALC_VIEW = 0x00004 , G3DPROC_GATHER_SCNOBJ = 0x00005 , G3DPROC_DRAW_OPA = 0x00006 , G3DPROC_DRAW_XLU = 0x00007 , G3DPROC_UPDATEFRAME = 0x00008 , __G3DPROC_OPTIONAL_END , G3DPROC_CHILD_DETACHED = 0x10001 , G3DPROC_ATTACH_PARENT = 0x10002 , G3DPROC_DETACH_PARENT = 0x10003 , G3DPROC_ZSORT = 0x10004 } |
Public Member Functions | |
ScnObj (MEMAllocator *pAllocator) | |
virtual void | G3dProc (ulong task, ulong param, void *pInfo)=0 |
virtual ForEachResult | ForEach (ForEachFunc pFunc, void *pInfo, bool postOrder)=0 |
virtual bool | SetScnObjOption (ulong option, ulong value) |
virtual bool | GetScnObjOption (ulong option, ulong *pValue) const |
virtual f32 | GetValueForSortOpa () const |
virtual f32 | GetValueForSortXlu () const |
virtual void | CalcWorldMtx (const math::MTX34 *pParent, ulong *pParam) |
void | CalcViewMtx (const math::MTX34 *pCamera) |
bool | SetMtx (ScnObjMtxType type, const math::MTX34 *pMtx) |
bool | GetMtx (ScnObjMtxType type, math::MTX34 *pMtx) const |
const math::MTX34 * | GetMtxPtr (ScnObjMtxType type) const |
void | SetPriorityDrawOpa (int prio) |
int | GetPriorityDrawOpa () const |
void | SetPriorityDrawXlu (int prio) |
int | GetPriorityDrawXlu () const |
void | EnableScnObjCallbackTiming (Timing timing) |
void | EnableScnObjCallbackExecOp (ExecOp op) |
bool | SetBoundingVolume (ScnObjBoundingVolumeType type, const math::AABB *pAABB) |
bool | GetBoundingVolume (ScnObjBoundingVolumeType type, math::AABB *pAABB) const |
bool | SetBoundingVolume (const math::AABB *pAABB) |
![]() | |
virtual bool | IsDerivedFrom (TypeObj other) const |
virtual const TypeObj | GetTypeObj () const |
virtual const char * | GetTypeName () const |
G3dObj (MEMAllocator *pAllocator, G3dObj *pParent) | |
G3dObj * | GetParent () const |
void | SetParent (G3dObj *pParent) |
void | DetachFromParent () |
void | Destroy () |
Protected Member Functions | |
void | SetScnObjFlag (ScnObjFlag flag, ulong on) |
ulong | TestScnObjFlag (ScnObjFlag flag) const |
bool | IsG3dProcDisabled (ulong task) const |
void | CheckCallback_CALC_VIEW (Timing timing, ulong param, void *pInfo) |
void | CheckCallback_CALC_MAT (Timing timing, ulong param, void *pInfo) |
void | CheckCallback_CALC_WORLD (Timing timing, ulong param, void *pInfo) |
void | CheckCallback_DRAW_OPA (Timing timing, ulong param, void *pInfo) |
void | CheckCallback_DRAW_XLU (Timing timing, ulong param, void *pInfo) |
Protected Attributes | |
math::MTX34 | mMtxArray [MTX_TYPE_MAX] |
math::AABB | mAABB [BOUNDINGVOLUME_MAX] |
Private Member Functions | |
NW4R_G3D_RTTI_DECL_DERIVED (ScnObj, G3dObj) | |
Private Attributes | |
ulong | mScnObjFlags |
u8 | mPriorityDrawOpa |
u8 | mPriorityDrawXlu |
u8 | PADDING_0xD2 |
u8 | PADDING_0xD3 |
IScnObjCallback * | mpFuncObjExec |
u8 | mCallbackTiming |
u8 | mCallbackDeleteOption |
u16 | mCallbackExecOpMask |
Additional Inherited Members | |
![]() | |
static const G3dObj::TypeObj | GetTypeObjStatic () |
static void * | Alloc (MEMAllocator *pAllocator, ulong size) |
static void | Dealloc (MEMAllocator *pAllocator, void *pBlock) |
static void * | operator new (size_t, void *pBlock) |
static void | operator delete (void *) |
template<typename TTo> | |
static TTo * | DynamicCast (G3dObj *pObj) |
typedef ForEachResult(* nw4r::g3d::ScnObj::ForEachFunc) (ScnObj *pParent, void *pInfo) |
Definition at line 48 of file g3d_scnobj.h.
enum nw4r::g3d::ScnObj::ForEachResult |
Definition at line 41 of file g3d_scnobj.h.
enum nw4r::g3d::ScnObj::ScnObjMtxType |
Definition at line 50 of file g3d_scnobj.h.
enum nw4r::g3d::ScnObj::ScnObjBoundingVolumeType |
Definition at line 52 of file g3d_scnobj.h.
enum nw4r::g3d::ScnObj::ScnObjOption |
Definition at line 59 of file g3d_scnobj.h.
enum nw4r::g3d::ScnObj::Timing |
Definition at line 73 of file g3d_scnobj.h.
enum nw4r::g3d::ScnObj::ExecOp |
Definition at line 80 of file g3d_scnobj.h.
|
protected |
Definition at line 137 of file g3d_scnobj.h.
|
pure virtual |
Implements nw4r::g3d::G3dObj.
|
inline |
Definition at line 110 of file g3d_scnobj.h.
|
inline |
Definition at line 115 of file g3d_scnobj.h.
|
inline |
Definition at line 120 of file g3d_scnobj.h.
|
inline |
Definition at line 132 of file g3d_scnobj.h.
|
inlineprotected |
Definition at line 158 of file g3d_scnobj.h.
|
inlineprotected |
Definition at line 165 of file g3d_scnobj.h.
|
inlineprotected |
Definition at line 169 of file g3d_scnobj.h.
|
inlineprotected |
Defined elsewhere to resolve circular dependency with IScnObjCallback
Definition at line 270 of file g3d_scnobj.h.
|
inlineprotected |
Definition at line 278 of file g3d_scnobj.h.
|
inlineprotected |
Definition at line 286 of file g3d_scnobj.h.
|
inlineprotected |
Definition at line 294 of file g3d_scnobj.h.
|
inlineprotected |
Definition at line 302 of file g3d_scnobj.h.
|
protected |
Definition at line 187 of file g3d_scnobj.h.
|
protected |
Definition at line 188 of file g3d_scnobj.h.
|
private |
Definition at line 191 of file g3d_scnobj.h.
|
private |
Definition at line 192 of file g3d_scnobj.h.
|
private |
Definition at line 193 of file g3d_scnobj.h.
|
private |
Definition at line 194 of file g3d_scnobj.h.
|
private |
Definition at line 195 of file g3d_scnobj.h.
|
private |
Definition at line 196 of file g3d_scnobj.h.
|
private |
Definition at line 197 of file g3d_scnobj.h.
|
private |
Definition at line 198 of file g3d_scnobj.h.
|
private |
Definition at line 199 of file g3d_scnobj.h.