|
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)) } |
Public Types inherited from nw4r::g3d::ScnLeaf | |
| enum | ScaleProperty { NOT_SCALED , UNIFORM_SCALED , NONUNIFORM_SCALED } |
| enum | ScnLeafOption { OPTID_NONE = (0x10000 | (0)) , OPTID_DISABLE_DRAW_ALL = (0x10000 | (1)) } |
Public Types inherited from nw4r::g3d::ScnObj | |
| 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) |
Public Types inherited from nw4r::g3d::G3dObj | |
| 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 () |
Public Member Functions inherited from nw4r::g3d::ScnLeaf | |
| 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) |
Public Member Functions inherited from nw4r::g3d::ScnObj | |
| 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) |
Public Member Functions inherited from nw4r::g3d::G3dObj | |
| 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 Public Member Functions inherited from nw4r::g3d::G3dObj | |
| 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) } |
Protected Types inherited from nw4r::g3d::ScnObj | |
| 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 *) |
Protected Member Functions inherited from nw4r::g3d::ScnLeaf | |
| void | DefG3dProcScnLeaf (ulong task, ulong param, void *pInfo) |
Protected Member Functions inherited from nw4r::g3d::ScnObj | |
| 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 | |
Protected Attributes inherited from nw4r::g3d::ScnObj | |
| 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.