NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
nw4r::g3d Namespace Reference

Description

3D graphics drawing library.

Classes

struct  AmbLightAnmResult
 
struct  AmbLightObj
 
class  AnmObj
 
class  AnmObjChr
 
class  AnmObjChrBlend
 
class  AnmObjChrNode
 
class  AnmObjChrRes
 
class  AnmObjMatClr
 
class  AnmObjMatClrNode
 
class  AnmObjMatClrOverride
 
class  AnmObjMatClrRes
 
class  AnmObjShp
 
class  AnmObjShpBlend
 
class  AnmObjShpNode
 
class  AnmObjShpRes
 
class  AnmObjTexPat
 
class  AnmObjTexPatNode
 
class  AnmObjTexPatOverride
 
class  AnmObjTexPatRes
 
class  AnmObjTexSrt
 
class  AnmObjTexSrtNode
 
class  AnmObjTexSrtOverride
 
class  AnmObjTexSrtRes
 
class  AnmObjVis
 
class  AnmObjVisNode
 
class  AnmObjVisOR
 
class  AnmObjVisRes
 
class  AnmScn
 
struct  BlendVtx
 
class  Camera
 
struct  CameraAnmResult
 
struct  CameraData
 
struct  Chan
 
struct  ChrAnmResult
 
struct  ClrAnmResult
 
struct  Draw1Mat1ShpSwap
 
struct  DrawResMdlReplacement
 
class  Fog
 
struct  FogAnmResult
 
struct  FogData
 
class  FrameCtrl
 
class  FuncObjCalcWorld
 
class  G3dObj
 
class  ICalcWorldCallback
 
class  IScnObjCallback
 
class  IScnObjGather
 
struct  LightAnmResult
 
class  LightObj
 
class  LightSet
 
struct  LightSetData
 
class  LightSetting
 
class  ResAnmAmbLight
 
struct  ResAnmAmbLightData
 
class  ResAnmCamera
 
struct  ResAnmCameraData
 
struct  ResAnmCameraDataTypedef
 
class  ResAnmChr
 
struct  ResAnmChrAnmData
 
struct  ResAnmChrCV16Data
 
struct  ResAnmChrCV32Data
 
struct  ResAnmChrCV8Data
 
struct  ResAnmChrCVData
 
struct  ResAnmChrData
 
struct  ResAnmChrFrm32Data
 
struct  ResAnmChrFrm48Data
 
struct  ResAnmChrFrm96Data
 
struct  ResAnmChrFVS32Data
 
struct  ResAnmChrFVS48Data
 
struct  ResAnmChrFVS96Data
 
struct  ResAnmChrFVSData
 
struct  ResAnmChrInfoData
 
struct  ResAnmChrNodeData
 
class  ResAnmClr
 
struct  ResAnmClrAnmData
 
struct  ResAnmClrData
 
struct  ResAnmClrInfoData
 
struct  ResAnmClrMatData
 
union  ResAnmData
 
class  ResAnmFog
 
struct  ResAnmFogData
 
class  ResAnmLight
 
struct  ResAnmLightData
 
struct  ResAnmLightDataTypedef
 
class  ResAnmScn
 
struct  ResAnmScnData
 
struct  ResAnmScnInfoData
 
class  ResAnmShp
 
struct  ResAnmShpAnmData
 
struct  ResAnmShpData
 
struct  ResAnmShpInfoData
 
class  ResAnmTexPat
 
struct  ResAnmTexPatAnmData
 
struct  ResAnmTexPatData
 
struct  ResAnmTexPatFrmData
 
struct  ResAnmTexPatInfoData
 
struct  ResAnmTexPatMatData
 
class  ResAnmTexSrt
 
struct  ResAnmTexSrtData
 
struct  ResAnmTexSrtDataTypedef
 
struct  ResAnmTexSrtInfoData
 
struct  ResAnmTexSrtMatData
 
struct  ResAnmTexSrtTexData
 
class  ResAnmVis
 
struct  ResAnmVisAnmData
 
struct  ResAnmVisData
 
struct  ResAnmVisInfoData
 
struct  ResBlockHeaderData
 
union  ResBoolAnmData
 
struct  ResBoolAnmFramesData
 
struct  ResCacheVtxDescv
 
struct  ResChanData
 
union  ResColorAnmData
 
struct  ResColorAnmFramesData
 
class  ResCommon
 
class  ResDic
 
struct  ResDicData
 
struct  ResDicNodeData
 
class  ResFile
 
struct  ResFileData
 
class  ResGenMode
 
struct  ResGenModeData
 
struct  ResIndMtxAndScaleDL
 
struct  ResKeyFrameAnmData
 
struct  ResKeyFrameData
 
class  ResLightSet
 
struct  ResLightSetData
 
class  ResMat
 
class  ResMatChan
 
struct  ResMatData
 
struct  ResMatDLData
 
class  ResMatIndMtxAndScale
 
class  ResMatMisc
 
struct  ResMatMiscData
 
class  ResMatPix
 
class  ResMatTevColor
 
class  ResMatTexCoordGen
 
class  ResMdl
 
struct  ResMdlData
 
class  ResMdlInfo
 
struct  ResMdlInfoData
 
struct  ResMdlInfoDataTypedef
 
struct  ResMtxIDToNodeIDData
 
struct  ResMtxSetUsed
 
class  ResName
 
struct  ResNameData
 
struct  ResNameData27
 
class  ResNode
 
struct  ResNodeData
 
struct  ResNodeDataTypedef
 
struct  ResPixDL
 
class  ResPltt
 
struct  ResPlttData
 
struct  ResPrePrimDL
 
class  ResShp
 
struct  ResShpData
 
class  ResShpPrePrim
 
class  ResTagDL
 
struct  ResTagDLData
 
class  ResTev
 
struct  ResTevColorDL
 
struct  ResTevCommonDL
 
struct  ResTevData
 
struct  ResTevDL
 
struct  ResTevVariableDL
 
class  ResTex
 
struct  ResTexCoordGenDL
 
struct  ResTexData
 
class  ResTexObj
 
struct  ResTexObjData
 
class  ResTexPlttInfo
 
struct  ResTexPlttInfoData
 
class  ResTexSrt
 
struct  ResTexSrtData
 
class  ResTlutObj
 
struct  ResTlutObjData
 
struct  ResTopLevelDictData
 
class  ResVtxClr
 
struct  ResVtxClrData
 
class  ResVtxNrm
 
struct  ResVtxNrmData
 
class  ResVtxPos
 
struct  ResVtxPosData
 
class  ResVtxTexCoord
 
struct  ResVtxTexCoordData
 
class  ScnGroup
 
class  ScnLeaf
 
class  ScnMdl
 
class  ScnMdl1Mat1Shp
 
class  ScnMdlSimple
 
class  ScnObj
 
class  ScnObjGather
 
class  ScnProc
 
class  ScnRoot
 
struct  ShpAnmResult
 
struct  ShpAnmVtxSet
 
struct  TexMtxEffect
 
struct  TexPatAnmResult
 
struct  TexSrt
 
struct  TexSrtAnmResult
 
struct  TexSrtTypedef
 
class  WorldMtxManip
 

Typedefs

typedef f32(* PlayPolicyFunc) (f32 start, f32 end, f32 frame)
 

Enumerations

enum  Draw1Mat1ShpCtrl {
  DRAW1MAT1SHP_CTRL_NOPPCSYNC = (1 << 0) ,
  DRAW1MAT1SHP_CTRL_NOSWAPSHP = (1 << 1) ,
  DRAW1MAT1SHP_CTRL_CULL_FRONT = (1 << 2) ,
  DRAW1MAT1SHP_CTRL_FORCE_LIGHTOFF = (1 << 3)
}
 
enum  ResMdlDrawMode {
  RESMDL_DRAWMODE_SORT_OPA_NONE = 0 ,
  RESMDL_DRAWMODE_SORT_OPA_Z = (1 << 0) ,
  RESMDL_DRAWMODE_SORT_XLU_NONE = 0 ,
  RESMDL_DRAWMODE_SORT_XLU_Z = (1 << 1) ,
  RESMDL_DRAWMODE_IGNORE_MATERIAL = (1 << 2) ,
  RESMDL_DRAWMODE_FORCE_LIGHTOFF = (1 << 3) ,
  RESMDL_DRAWMODE_NOPPCSYNC = (1 << 4) ,
  RESMDL_DRAWMODE_DEFAULT = RESMDL_DRAWMODE_SORT_XLU_Z ,
  REDMDL_DRAWMODE_SORT_NONE = 0 ,
  RESMDL_DRAWMODE_SORT_Z
}
 
enum  AnmPolicy {
  ANM_POLICY_ONETIME ,
  ANM_POLICY_LOOP ,
  ANM_POLICY_MAX
}
 
enum  ScalingRule {
  SCALINGRULE_STANDARD ,
  SCALINGRULE_SOFTIMAGE ,
  SCALINGRULE_MAYA
}
 

Functions

void ApplyClrAnmResult (ResMatChan chan, ResMatTevColor tev, const ClrAnmResult *pResult)
 
f32 PlayPolicy_Onetime (f32 start, f32 end, f32 frame)
 
f32 PlayPolicy_Loop (f32 start, f32 end, f32 frame)
 
PlayPolicyFunc GetAnmPlayPolicy (AnmPolicy policy)
 
void ApplyTexPatAnmResult (ResTexObj texObj, ResTlutObj tlutObj, const TexPatAnmResult *pResult)
 
void ApplyTexSrtAnmResult (ResTexSrt srt, const TexSrtAnmResult *pResult)
 
void ApplyTexSrtAnmResult (ResTexSrt srt, ResMatIndMtxAndScale ind, const TexSrtAnmResult *pResult)
 
void ApplyVisAnmResult (ResMdl mdl, AnmObjVis *pObj)
 
void ApplyVisAnmResult (u8 *pByteVec, ResMdl mdl, AnmObjVis *pObj)
 
void CalcMaterialDirectly (ResMdl mdl, AnmObjTexPat *pAnmTexPat, AnmObjTexSrt *pAnmTexSrt, AnmObjMatClr *pAnmMatClr)
 
void CalcView (math::MTX34 *pViewPosArray, math::MTX33 *pViewNrmArray, const math::MTX34 *pModelMtxArray, const ulong *pModelMtxAttribArray, ulong numMtx, const math::MTX34 *pViewMtx, const ResMdl mdl, math::MTX34 *pViewTexMtxArray)
 
void CalcView_LC (math::MTX34 *pViewPosArray, math::MTX33 *pViewNrmArray, const math::MTX34 *pModelMtxArray, const ulong *pModelMtxAttribArray, ulong numMtx, const math::MTX34 *pViewMtx, const ResMdl mdl, math::MTX34 *pViewTexMtxArray)
 
void CalcView_LC_DMA_ModelMtx (math::MTX34 *pViewPosArray, math::MTX33 *pViewNrmArray, const math::MTX34 *pModelMtxArray, const ulong *pModelMtxAttribArray, ulong numMtx, const math::MTX34 *pViewMtx, const ResMdl mdl, math::MTX34 *pViewTexMtxArray)
 
void CalcVtx (ResMdl mdl, AnmObjShp *pAnmShp, ResVtxPosData **ppVtxPosTable, ResVtxNrmData **ppVtxNrmTable, ResVtxClrData **ppVtxClrTable)
 
void CalcWorld (math::MTX34 *pModelMtxArray, ulong *pModelMtxAttribArray, const u8 *pByteCode, const math::MTX34 *pBaseMtx, ResMdl mdl, AnmObjChr *pAnmChr, FuncObjCalcWorld *pFuncObj, ulong rootAttrib)
 
void CalcWorld (math::MTX34 *pModelMtxArray, ulong *pModelMtxAttribArray, const u8 *pByteCode, const math::MTX34 *pBaseMtx, ResMdl mdl, AnmObjChr *pAnmChr, FuncObjCalcWorld *pFuncObj)
 
void CalcSkinning (math::MTX34 *pModelMtxArray, ulong *pModelMtxAttribArray, const ResMdl mdl, const u8 *pByteCode)
 
void CalcTexMtx (math::MTX34 *pMtx, bool set, const TexSrt &rSrt, TexSrt::Flag flag, TexSrtTypedef::TexMatrixMode mode)
 
void DrawResMdlDirectly (const ResMdl mdl, const math::MTX34 *pViewPosMtxArray, const math::MTX33 *pViewNrmMtxArray, const math::MTX34 *pViewEnvMtxArray, const u8 *pByteCodeOpa, const u8 *pByteCodeXlu, DrawResMdlReplacement *pReplacement, ulong drawMode)
 
void Draw1Mat1ShpDirectly (ResMat mat, ResShp shp, const math::MTX34 *pViewPos, const math::MTX34 *pViewNrm, ulong ctrl, Draw1Mat1ShpSwap *pSwap, G3DState::IndMtxOp *pIndMtxOp)
 
void G3dInit (bool enableLockedCache)
 
void G3dReset ()
 
void InitFastCast ()
 
bool operator== (const ShpAnmVtxSet &rLhs, const ShpAnmVtxSet &rRhs)
 

Variables

const math::FRUSTUMgpCullingFrustum
 
static const int TEV_STAGES_PER_DL = 2
 

Typedef Documentation

◆ PlayPolicyFunc

typedef f32(* nw4r::g3d::PlayPolicyFunc) (f32 start, f32 end, f32 frame)

Definition at line 67 of file g3d_anmobj.h.

Enumeration Type Documentation

◆ Draw1Mat1ShpCtrl

enum nw4r::g3d::Draw1Mat1ShpCtrl

Definition at line 18 of file g3d_draw1mat1shp.h.

◆ ResMdlDrawMode

enum nw4r::g3d::ResMdlDrawMode

Definition at line 14 of file g3d_scnobj.h.

◆ AnmPolicy

enum nw4r::g3d::AnmPolicy

Definition at line 37 of file g3d_resanm.h.

◆ ScalingRule

enum nw4r::g3d::ScalingRule

Definition at line 36 of file g3d_resmdl.h.

Function Documentation

◆ GetAnmPlayPolicy()

PlayPolicyFunc nw4r::g3d::GetAnmPlayPolicy ( AnmPolicy policy)
inline

Definition at line 69 of file g3d_anmobj.h.

◆ InitFastCast()

void nw4r::g3d::InitFastCast ( )
inline

Definition at line 162 of file g3d_cpu.h.

◆ operator==()

bool nw4r::g3d::operator== ( const ShpAnmVtxSet & rLhs,
const ShpAnmVtxSet & rRhs )
inline

Definition at line 25 of file g3d_resanmshp.h.

Variable Documentation

◆ TEV_STAGES_PER_DL

const int nw4r::g3d::TEV_STAGES_PER_DL = 2
static

Definition at line 13 of file g3d_restev.h.