NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
nw4r::g3d::ScnObj Class Reference
Inheritance diagram for nw4r::g3d::ScnObj:
[legend]

Description

Definition at line 12 of file scn_obj.hpp.

Public Types

enum  ScnObjMtxType {
  TYPE_LOCAL ,
  TYPE_UNK ,
  TYPE_VIEW
}
 
enum  OptID {
  OPTID_DISABLE_GATHER_DRAW_SCNOBJ = 1 ,
  OPTID_DISABLE_CALC_WORLD ,
  OPTID_DISABLE_CALC_MAT ,
  OPTID_DISABLE_CALC_VTX ,
  OPTID_DISABLE_CALC_VIEW ,
  OPTID_DISABLE_DRAW_OPA ,
  OPTID_DISABLE_DRAW_XLU ,
  OPTID_DISABLE_UPDATEFRAME ,
  OPTID_ENABLE_CULLING
}
 Operation options for ScnObj. More...
 
enum  Timing {
  CALLBACK_TIMING_A = BIT_FLAG(0) ,
  CALLBACK_TIMING_B = BIT_FLAG(1) ,
  CALLBACK_TIMING_C = BIT_FLAG(2) ,
  CALLBACK_TIMING_ALL = CALLBACK_TIMING_A | CALLBACK_TIMING_B | CALLBACK_TIMING_C
}
 
- Public Types inherited from nw4r::g3d::G3dObj
enum  G3dProcOp {
  G3DPROC_CALC_WORLD = 1 ,
  G3DPROC_CALC_MAT ,
  G3DPROC_CALC_VTX ,
  G3DPROC_CALC_VIEW ,
  G3DPROC_GATHER_SCNOBJ ,
  G3DPROC_DRAW_OPA ,
  G3DPROC_DRAW_XLU ,
  G3DPROC_UPDATEFRAME ,
  G3DPROC_CHILD_DETACHED = 0x00010001 ,
  G3DPROC_ATTACHED ,
  G3DPROC_DETACHED ,
  G3DPROC_SORT
}
 The possible G3D process operations. More...
 
enum  G3dProcParam {
  G3DPROCPARAM_CALC_WORLD_SCNOBJMTX_NOUPDATE = BIT_FLAG(0) ,
  G3DPROCPARAM_SORT_ZSORT = BIT_FLAG(-1) ,
  G3DPROCPARAM_SORT_SORT = BIT_FLAG(0) ,
  G3DPROCPARAM_SORT_SORT_WITHFUNC = BIT_FLAG(1)
}
 Additional parameters for G3D process operations. More...
 

Public Member Functions

virtual void ForEach ()
 
virtual void SetScnObjOption (ulong option, ulong value)
 
virtual bool GetScnObjOption (ulong option, ulong *value) const
 
virtual float GetValueForSortOpa () const
 
virtual float GetValueForSortXlu () const
 
void SetPriorityDrawOpa (int priority)
 
void SetPriorityDrawXlu (int priority)
 
virtual void CalcWorldMtx (const nw4r::math::MTX34 *, unsigned long *) const
 
void SetMtx (ScnObjMtxType, const nw4r::math::MTX34 *)
 
void GetMtx (ScnObjMtxType, nw4r::math::MTX34 *) const
 
 NW4R_G3D_TYPE_OBJ_DECL (ScnObj)
 
- Public Member Functions inherited from nw4r::g3d::G3dObj
virtual bool IsDerivedFrom (G3dObj::TypeObj) const
 
virtual void G3dProc (ulong proc, ulong param, void *info)=0
 
virtual const TypeObj GetTypeObj ()
 
virtual const char * GetTypeName ()
 
void Destroy ()
 
void DetachFromParent ()
 

Public Attributes

u32 unk1
 
MEMAllocatormpAllocator
 
math::MTX34 mMtxs [3]
 
math::AABB aabbs [2]
 
u32 mFlags
 
u8 opaPriority
 
u8 xluPriority
 
u32 unk2
 
u8 callbackTimingFlags
 
u16 scnCallbackOp
 

Additional Inherited Members

- Static Public Member Functions inherited from nw4r::g3d::G3dObj
template<typename DerivedType, typename Type>
static DerivedType * DynamicCast (Type *obj)
 

Member Enumeration Documentation

◆ ScnObjMtxType

enum nw4r::g3d::ScnObj::ScnObjMtxType

Definition at line 23 of file scn_obj.hpp.

◆ OptID

Operation options for ScnObj.

Enumerator
OPTID_DISABLE_GATHER_DRAW_SCNOBJ 

Execution of ScnRoot::GatherDrawScnObj is skipped.

OPTID_DISABLE_CALC_WORLD 

Execution of ScnRoot::CalcWorld is skipped.

OPTID_DISABLE_CALC_MAT 

Execution of ScnRoot::CalcMaterial is skipped.

OPTID_DISABLE_CALC_VTX 

Execution of ScnRoot::CalcVtx is skipped.

OPTID_DISABLE_CALC_VIEW 

Execution of ScnRoot::CalcView is skipped.

OPTID_DISABLE_DRAW_OPA 

Execution of ScnRoot::DrawOpa is skipped.

OPTID_DISABLE_DRAW_XLU 

Execution of ScnRoot::DrawXlu is skipped.

OPTID_DISABLE_UPDATEFRAME 

Execution of ScnRoot::UpdateFrame is skipped.

OPTID_ENABLE_CULLING 

Enables culling based on the bounding volume (AABB).

Definition at line 30 of file scn_obj.hpp.

◆ Timing

Enumerator
CALLBACK_TIMING_A 

Callback processing is performed before making calculations.

CALLBACK_TIMING_B 

Callback processing is performed in the middle of making calculations.

CALLBACK_TIMING_C 

Callback processing is performed after making calculations.

Definition at line 42 of file scn_obj.hpp.

Member Data Documentation

◆ unk1

u32 nw4r::g3d::ScnObj::unk1

Definition at line 56 of file scn_obj.hpp.

◆ mpAllocator

MEMAllocator* nw4r::g3d::ScnObj::mpAllocator

Definition at line 57 of file scn_obj.hpp.

◆ mMtxs

math::MTX34 nw4r::g3d::ScnObj::mMtxs[3]

Definition at line 58 of file scn_obj.hpp.

◆ aabbs

math::AABB nw4r::g3d::ScnObj::aabbs[2]

Definition at line 59 of file scn_obj.hpp.

◆ mFlags

u32 nw4r::g3d::ScnObj::mFlags

Definition at line 60 of file scn_obj.hpp.

◆ opaPriority

u8 nw4r::g3d::ScnObj::opaPriority

Definition at line 61 of file scn_obj.hpp.

◆ xluPriority

u8 nw4r::g3d::ScnObj::xluPriority

Definition at line 62 of file scn_obj.hpp.

◆ unk2

u32 nw4r::g3d::ScnObj::unk2

Definition at line 63 of file scn_obj.hpp.

◆ callbackTimingFlags

u8 nw4r::g3d::ScnObj::callbackTimingFlags

Definition at line 64 of file scn_obj.hpp.

◆ scnCallbackOp

u16 nw4r::g3d::ScnObj::scnCallbackOp

Definition at line 65 of file scn_obj.hpp.