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

Description

Definition at line 10 of file g3d_scnproc.h.

Public Types

typedef void(* DrawProc) (ScnProc *pProc, bool opa)
 
- 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

 ScnProc (MEMAllocator *pAllocator, DrawProc pProc, void *pUserData, bool opa, bool xlu)
 
virtual void G3dProc (ulong task, ulong param, void *pInfo)
 
void SetDrawProc (DrawProc pProc, bool opa, bool xlu)
 
void SetUserData (void *pData)
 
void * GetUserData ()
 
- Public Member Functions inherited from nw4r::g3d::ScnLeaf
 ScnLeaf (MEMAllocator *pAllocator)
 
virtual ForEachResult ForEach (ForEachFunc pFunc, void *pInfo, bool postOrder)
 
virtual bool SetScnObjOption (ulong option, ulong value)
 
virtual bool GetScnObjOption (ulong option, ulong *pValue) const
 
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::MTX34GetMtxPtr (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)
 
G3dObjGetParent () const
 
void SetParent (G3dObj *pParent)
 
void DetachFromParent ()
 
void Destroy ()
 

Static Public Member Functions

static ScnProcConstruct (MEMAllocator *pAllocator, size_t *pSize, DrawProc pProc, bool opa, bool xlu, size_t userData)
 
- 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)
 

Private Types

enum  ScnProcFlag {
  SCNPROCFLAG_DRAW_OPA = (1 << 0) ,
  SCNPROCFLAG_DRAW_XLU = (1 << 1)
}
 

Private Member Functions

 NW4R_G3D_RTTI_DECL_DERIVED (ScnProc, ScnLeaf)
 

Private Attributes

ulong mFlag
 
DrawProc mpDrawProc
 
void * mpUserData
 

Additional Inherited Members

- 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 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)
 
- Protected Attributes inherited from nw4r::g3d::ScnObj
math::MTX34 mMtxArray [MTX_TYPE_MAX]
 
math::AABB mAABB [BOUNDINGVOLUME_MAX]
 

Member Typedef Documentation

◆ DrawProc

typedef void(* nw4r::g3d::ScnProc::DrawProc) (ScnProc *pProc, bool opa)

Definition at line 12 of file g3d_scnproc.h.

Member Enumeration Documentation

◆ ScnProcFlag

enum nw4r::g3d::ScnProc::ScnProcFlag
private

Definition at line 61 of file g3d_scnproc.h.

Constructor & Destructor Documentation

◆ ScnProc()

nw4r::g3d::ScnProc::ScnProc ( MEMAllocator * pAllocator,
DrawProc pProc,
void * pUserData,
bool opa,
bool xlu )
inline

Definition at line 18 of file g3d_scnproc.h.

◆ ~ScnProc()

virtual nw4r::g3d::ScnProc::~ScnProc ( )
inlinevirtual

Definition at line 35 of file g3d_scnproc.h.

Member Function Documentation

◆ G3dProc()

virtual void nw4r::g3d::ScnProc::G3dProc ( ulong task,
ulong param,
void * pInfo )
virtual

Implements nw4r::g3d::ScnLeaf.

◆ SetDrawProc()

void nw4r::g3d::ScnProc::SetDrawProc ( DrawProc pProc,
bool opa,
bool xlu )
inline

Definition at line 37 of file g3d_scnproc.h.

◆ SetUserData()

void nw4r::g3d::ScnProc::SetUserData ( void * pData)
inline

Definition at line 53 of file g3d_scnproc.h.

◆ GetUserData()

void * nw4r::g3d::ScnProc::GetUserData ( )
inline

Definition at line 56 of file g3d_scnproc.h.

Member Data Documentation

◆ mFlag

ulong nw4r::g3d::ScnProc::mFlag
private

Definition at line 67 of file g3d_scnproc.h.

◆ mpDrawProc

DrawProc nw4r::g3d::ScnProc::mpDrawProc
private

Definition at line 68 of file g3d_scnproc.h.

◆ mpUserData

void* nw4r::g3d::ScnProc::mpUserData
private

Definition at line 69 of file g3d_scnproc.h.