NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
|
Definition at line 23 of file g3d_scnmdlsmpl.h.
Public Types | |
enum | AnmObjType { ANMOBJTYPE_CHR , ANMOBJTYPE_VIS , ANMOBJTYPE_MATCLR , ANMOBJTYPE_TEXPAT , ANMOBJTYPE_TEXSRT , ANMOBJTYPE_SHP , ANMOBJTYPE_NOT_SPECIFIED , ANMOBJTYPE_VTX = ANMOBJTYPE_SHP } |
enum | ByteCodeType { BYTE_CODE_CALC , BYTE_CODE_MIX , BYTE_CODE_DRAW_OPA , BYTE_CODE_DRAW_XLU } |
enum | ScnMdlSimpleOption { OPTID_NONE = (0x20000 | (0)) , OPTID_IGNORE_ANMCHR_TRANS = (0x20000 | (1)) } |
![]() | |
enum | ScaleProperty { NOT_SCALED , UNIFORM_SCALED , NONUNIFORM_SCALED } |
enum | ScnLeafOption { OPTID_NONE = (0x10000 | (0)) , OPTID_DISABLE_DRAW_ALL = (0x10000 | (1)) } |
![]() | |
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 | |
ScnMdlSimple (MEMAllocator *pAllocator, ResMdl mdl, math::MTX34 *pWorldMtxArray, ulong *pWorldMtxAttribArray, math::MTX34 *pViewPosMtxArray, math::MTX33 *pViewNrmMtxArray, math::MTX34 *pViewTexMtxArray, int numView, int numViewMtx) | |
virtual void | G3dProc (ulong task, ulong param, void *pInfo) |
virtual bool | SetScnObjOption (ulong option, ulong value) |
virtual bool | GetScnObjOption (ulong option, ulong *pValue) const |
virtual bool | SetAnmObj (AnmObj *pObj, AnmObjType type) |
virtual bool | RemoveAnmObj (AnmObj *pObj) |
virtual AnmObj * | RemoveAnmObj (AnmObjType type) |
virtual AnmObj * | GetAnmObj (AnmObjType type) |
virtual const AnmObj * | GetAnmObj (AnmObjType type) const |
bool | GetScnMtxPos (math::MTX34 *pMtx, ScnObjMtxType type, size_t idx) const |
void | UpdateFrame () |
void | EnableScnMdlCallbackTiming (Timing timing) |
void | DisableScnMdlCallbackTiming (Timing timing) |
math::MTX34 * | GetViewPosMtxArray () |
const math::MTX34 * | GetViewPosMtxArray () const |
math::MTX33 * | GetViewNrmMtxArray () |
const math::MTX33 * | GetViewNrmMtxArray () const |
math::MTX34 * | GetViewTexMtxArray () |
const math::MTX34 * | GetViewTexMtxArray () const |
const u8 * | GetByteCode (ByteCodeType type) const |
ResMdl | GetResMdl () |
const ResMdl | GetResMdl () const |
math::MTX34 * | GetWldMtxArray () |
ulong * | GetWldMtxAttribArray () |
ulong | GetNumViewMtx () const |
const u8 * | GetByteCodeCalc () |
const u8 * | GetByteCodeMix () |
const u8 * | GetByteCodeDrawOpa () |
const u8 * | GetByteCodeDrawXlu () |
ResMdlDrawMode | GetDrawMode () const |
void | SetScnMdlCallback (ICalcWorldCallback *pCallback) |
ICalcWorldCallback * | GetScnMdlCallback () |
u8 | GetScnMdlCallbackTiming () const |
void | SetScnMdlCallbackNodeID (ulong id) |
ulong | GetScnMdlCallbackNodeID () const |
AnmObjChr * | GetAnmObjChr () |
AnmObjVis * | GetAnmObjVis () |
AnmObjMatClr * | GetAnmObjMatClr () |
AnmObjTexPat * | GetAnmObjTexPat () |
AnmObjTexSrt * | GetAnmObjTexSrt () |
![]() | |
ScnLeaf (MEMAllocator *pAllocator) | |
virtual ForEachResult | ForEach (ForEachFunc pFunc, void *pInfo, bool postOrder) |
virtual void | CalcWorldMtx (const math::MTX34 *pParent, ulong *pParam) |
ScaleProperty | GetScaleProperty () const |
void | SetScale (float x, float y, float z) |
void | SetScale (const math::VEC3 &scale) |
![]() | |
ScnObj (MEMAllocator *pAllocator) | |
virtual f32 | GetValueForSortOpa () const |
virtual f32 | GetValueForSortXlu () const |
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 () |
Static Public Member Functions | |
static ScnMdlSimple * | Construct (MEMAllocator *pAllocator, size_t *pSize, ResMdl mdl, int numView) |
![]() | |
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) |
Protected Types | |
enum | ScnMdlSmplFlag { SCNMDLSMPLFLAG_LC_DMA = (1 << 0) } |
![]() | |
enum | ScnObjFlag { SCNOBJFLAG_DISABLE_CALC_WORLD = (1 << 0) , SCNOBJFLAG_DISABLE_CALC_MAT = (1 << 1) , SCNOBJFLAG_DISABLE_CALC_VTX = (1 << 2) , SCNOBJFLAG_DISABLE_CALC_VIEW = (1 << 3) , SCNOBJFLAG_DISABLE_GATHER_SCNOBJ = (1 << 4) , SCNOBJFLAG_DISABLE_DRAW_OPA = (1 << 5) , SCNOBJFLAG_DISABLE_DRAW_XLU = (1 << 6) , SCNOBJFLAG_DISABLE_UPDATEFRAME = (1 << 7) , SCNOBJFLAG_IGNORE_ANMCHR_TRANS = (1 << 8) , SCNOBJFLAG_ENABLE_CULLING = (1 << 28) , SCNOBJFLAG_NOT_GATHER_DRAW_OPA = (1 << 29) , SCNOBJFLAG_NOT_GATHER_DRAW_XLU = (1 << 30) , SCNOBJFLAG_MTX_LOCAL_IDENTITY = (1 << 31) , SCNOBJFLAG_DISABLE_DRAW } |
Protected Member Functions | |
void | ScnMdlSmpl_CalcPosture (ulong param, const math::MTX34 *pParent) |
void | ScnMdlSmpl_G3DPROC_GATHER_SCNOBJ (ulong param, IScnObjGather *pCollection) |
void | ScnMdlSmpl_G3DPROC_CALC_WORLD (ulong param, const math::MTX34 *pParent) |
void | ScnMdlSmpl_G3DPROC_CALC_MAT (ulong param, void *pInfo) |
void | ScnMdlSmpl_G3DPROC_CALC_VIEW (ulong param, const math::MTX34 *pCamera) |
void | ScnMdlSmpl_G3DPROC_DRAW_OPA (ulong param, void *pInfo) |
void | ScnMdlSmpl_G3DPROC_DRAW_XLU (ulong param, void *pInfo) |
void | ScnMdlSmpl_G3DPROC_UPDATEFRAME (ulong, void *) |
![]() | |
void | DefG3dProcScnLeaf (ulong task, ulong param, void *pInfo) |
![]() | |
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) |
Static Protected Attributes | |
static const int | VIEW_MAX = 16 |
static const int | MTX_CACHE_MIN = 8 |
static const int | MTX_CACHE_MAX |
Private Member Functions | |
NW4R_G3D_RTTI_DECL_DERIVED (ScnMdlSimple, ScnLeaf) | |
Private Attributes | |
ResMdl | mResMdl |
math::MTX34 * | mpWorldMtxArray |
ulong * | mpWorldMtxAttribArray |
math::MTX34 * | mpViewPosMtxArray |
math::MTX33 * | mpViewNrmMtxArray |
math::MTX34 * | mpViewTexMtxArray |
u8 | mNumView |
u8 | mCurView |
u16 | mNumViewMtx |
ulong | mFlagScnMdlSimple |
const u8 * | mpByteCodeCalc |
const u8 * | mpByteCodeMix |
const u8 * | mpByteCodeDrawOpa |
const u8 * | mpByteCodeDrawXlu |
ResMdlDrawMode | mDrawMode |
ICalcWorldCallback * | mpCalcWorldCallback |
u8 | mCwcbTiming |
u8 | mCwcbDeleteOption |
u16 | mCwcbNodeID |
AnmObjChr * | mpAnmObjChr |
AnmObjVis * | mpAnmObjVis |
AnmObjMatClr * | mpAnmObjMatClr |
AnmObjTexPat * | mpAnmObjTexPat |
AnmObjTexSrt * | mpAnmObjTexSrt |
Additional Inherited Members | |
![]() | |
math::MTX34 | mMtxArray [MTX_TYPE_MAX] |
math::AABB | mAABB [BOUNDINGVOLUME_MAX] |
enum nw4r::g3d::ScnMdlSimple::AnmObjType |
Definition at line 25 of file g3d_scnmdlsmpl.h.
enum nw4r::g3d::ScnMdlSimple::ByteCodeType |
Definition at line 37 of file g3d_scnmdlsmpl.h.
enum nw4r::g3d::ScnMdlSimple::ScnMdlSimpleOption |
Definition at line 45 of file g3d_scnmdlsmpl.h.
|
protected |
Definition at line 160 of file g3d_scnmdlsmpl.h.
|
virtual |
Implements nw4r::g3d::ScnLeaf.
|
virtual |
Reimplemented from nw4r::g3d::ScnLeaf.
|
virtual |
Reimplemented from nw4r::g3d::ScnLeaf.
|
inline |
Definition at line 90 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 93 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 97 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 100 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 104 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 108 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 111 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 114 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 117 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 121 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 125 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 128 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 132 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 136 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 139 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 143 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 146 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 149 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 152 of file g3d_scnmdlsmpl.h.
|
inline |
Definition at line 155 of file g3d_scnmdlsmpl.h.
|
inlineprotected |
Definition at line 181 of file g3d_scnmdlsmpl.h.
|
staticprotected |
Definition at line 164 of file g3d_scnmdlsmpl.h.
|
staticprotected |
Definition at line 166 of file g3d_scnmdlsmpl.h.
|
staticprotected |
Definition at line 167 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 186 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 187 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 188 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 189 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 190 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 191 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 192 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 193 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 194 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 195 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 197 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 198 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 199 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 200 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 201 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 203 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 204 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 205 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 206 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 208 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 209 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 210 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 211 of file g3d_scnmdlsmpl.h.
|
private |
Definition at line 212 of file g3d_scnmdlsmpl.h.