NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
nw4r::lyt::Material Class Reference

Description

Definition at line 65 of file lyt_material.h.

Public Member Functions

 Material (const res::Material *pRes, const ResBlockSet &rBlockSet)
 
virtual bool SetupGX (bool modulate, u8 alpha)
 
virtual void BindAnimation (AnimTransform *pAnimTrans)
 
virtual void UnbindAnimation (AnimTransform *pAnimTrans)
 
virtual void UnbindAllAnimation ()
 
virtual void Animate ()
 
virtual AnimationLinkFindAnimationLink (AnimTransform *pAnimTrans)
 
virtual AnimationLinkFindAnimationLink (const AnimResource &animRes)
 
virtual void SetAnimationEnable (AnimTransform *pAnimTrans, bool enable)
 
virtual void SetAnimationEnable (const AnimResource &animRes, bool enable)
 
void AddAnimationLink (AnimationLink *pAnimLink)
 
GXColorS10 GetTevColor (ulong idx)
 
void SetTevColor (ulong idx, const GXColorS10 &rColor)
 
ut::Color GetTevKColor (ulong idx)
 
void SetTevKColor (ulong idx, ut::Color color)
 
u8 GetTextureNum () const
 
u8 GetTextureCap () const
 
void SetTextureNum (u8 num)
 
u8 GetTexSRTCap () const
 
u8 GetTexCoordGenCap () const
 
void SetTexCoordGenNum (u8 num)
 
u8 GetIndTexSRTCap () const
 
u8 GetTevStageNum () const
 
void SetTevStageNum (u8 num)
 
void SetIndStageNum (u8 num)
 
void SetColorElement (ulong idx, s16 value)
 
bool IsTevSwapCap () const
 
bool IsChanCtrlCap () const
 
bool IsMatColorCap () const
 
bool IsAlphaCompareCap () const
 
bool IsBlendModeCap () const
 
const TexMapGetTexMapAry () const
 
TexMapGetTexMapAry ()
 
const TexSRTGetTexSRTAry () const
 
TexSRTGetTexSRTAry ()
 
const TexCoordGenGetTexCoordGenAry () const
 
TexCoordGenGetTexCoordGenAry ()
 
const ChanCtrlGetChanCtrlAry () const
 
ChanCtrlGetChanCtrlAry ()
 
const ut::ColorGetMatColAry () const
 
ut::ColorGetMatColAry ()
 
const TevSwapModeGetTevSwapAry () const
 
TevSwapModeGetTevSwapAry ()
 
const AlphaCompareGetAlphaComparePtr () const
 
AlphaCompareGetAlphaComparePtr ()
 
const BlendModeGetBlendModePtr () const
 
BlendModeGetBlendModePtr ()
 
const IndirectStageGetIndirectStageAry () const
 
IndirectStageGetIndirectStageAry ()
 
const TexSRTGetIndTexSRTAry () const
 
TexSRTGetIndTexSRTAry ()
 
const TevStageGetTevStageAry () const
 
TevStageGetTevStageAry ()
 
const TexMapGetTexture (u8 idx) const
 
void GetTexture (GXTexObj *pTexObj, u8 idx) const
 
void SetTexture (u8 idx, const TexMap &rTexMap)
 
void SetTextureNoWrap (u8 idx, const TexMap &rTexMap)
 
const TexSRTGetTexSRT (ulong idx) const
 
void SetTexSRT (const TexSRT &rTexSRT, ulong idx)
 
void SetTexSRTElement (ulong srt, ulong idx, f32 value)
 
void SetTexCoordGen (ulong idx, TexCoordGen gen)
 
ut::Color GetMatColor () const
 
void SetIndTexSRTElement (ulong srt, ulong idx, f32 value)
 
void SetName (const char *pName)
 
const char * GetName () const
 
bool IsUserAllocated () const
 

Protected Attributes

AnimationLinkList mAnimList
 
GXColorS10 mTevCols [TEVCOLOR_MAX]
 
ut::Color mTevKCols [GX_MAX_KCOLOR]
 
detail::BitGXNums mGXMemCap
 
detail::BitGXNums mGXMemNum
 
void * mpGXMem
 
char mName [NW4R_LYT_MATERIAL_NAME_LEN+1]
 
bool mbUserAllocated
 
u8 PADDING_0x5A [0x5C - 0x5A]
 

Static Protected Attributes

static const int MAX_TEX_SRT = (GX_TEXMTX9 - GX_TEXMTX0) / 3 + 1
 
static const int MAX_IND_SRT = (GX_ITM_2 - GX_ITM_0) + 1
 

Private Member Functions

void Init ()
 
void InitBitGXNums (detail::BitGXNums *pNums)
 
void ReserveGXMem (u8 texMapNum, u8 texSrtNum, u8 texCoordGenNum, u8 tevStageNum, bool allocTevSwap, u8 indStageNum, u8 indSrtNum, bool allocChanCtrl, bool allocMatCol, bool allocAlpComp, bool allocBlendMode)
 

Member Function Documentation

◆ GetTevColor()

GXColorS10 nw4r::lyt::Material::GetTevColor ( ulong idx)
inline

Definition at line 90 of file lyt_material.h.

◆ SetTevColor()

void nw4r::lyt::Material::SetTevColor ( ulong idx,
const GXColorS10 & rColor )
inline

Definition at line 93 of file lyt_material.h.

◆ GetTevKColor()

ut::Color nw4r::lyt::Material::GetTevKColor ( ulong idx)
inline

Definition at line 97 of file lyt_material.h.

◆ SetTevKColor()

void nw4r::lyt::Material::SetTevKColor ( ulong idx,
ut::Color color )
inline

Definition at line 100 of file lyt_material.h.

◆ GetTextureNum()

u8 nw4r::lyt::Material::GetTextureNum ( ) const
inline

Definition at line 104 of file lyt_material.h.

◆ GetTextureCap()

u8 nw4r::lyt::Material::GetTextureCap ( ) const
inline

Definition at line 107 of file lyt_material.h.

◆ GetTexSRTCap()

u8 nw4r::lyt::Material::GetTexSRTCap ( ) const
inline

Definition at line 112 of file lyt_material.h.

◆ GetTexCoordGenCap()

u8 nw4r::lyt::Material::GetTexCoordGenCap ( ) const
inline

Definition at line 116 of file lyt_material.h.

◆ GetIndTexSRTCap()

u8 nw4r::lyt::Material::GetIndTexSRTCap ( ) const
inline

Definition at line 121 of file lyt_material.h.

◆ GetTevStageNum()

u8 nw4r::lyt::Material::GetTevStageNum ( ) const
inline

Definition at line 125 of file lyt_material.h.

◆ IsTevSwapCap()

bool nw4r::lyt::Material::IsTevSwapCap ( ) const
inline

Definition at line 134 of file lyt_material.h.

◆ IsChanCtrlCap()

bool nw4r::lyt::Material::IsChanCtrlCap ( ) const
inline

Definition at line 137 of file lyt_material.h.

◆ IsMatColorCap()

bool nw4r::lyt::Material::IsMatColorCap ( ) const
inline

Definition at line 140 of file lyt_material.h.

◆ IsAlphaCompareCap()

bool nw4r::lyt::Material::IsAlphaCompareCap ( ) const
inline

Definition at line 143 of file lyt_material.h.

◆ IsBlendModeCap()

bool nw4r::lyt::Material::IsBlendModeCap ( ) const
inline

Definition at line 146 of file lyt_material.h.

◆ GetTexture() [1/2]

const TexMap & nw4r::lyt::Material::GetTexture ( u8 idx) const
inline

Definition at line 183 of file lyt_material.h.

◆ GetTexture() [2/2]

void nw4r::lyt::Material::GetTexture ( GXTexObj * pTexObj,
u8 idx ) const
inline

Definition at line 186 of file lyt_material.h.

◆ SetTexture()

void nw4r::lyt::Material::SetTexture ( u8 idx,
const TexMap & rTexMap )
inline

Definition at line 189 of file lyt_material.h.

◆ SetTextureNoWrap()

void nw4r::lyt::Material::SetTextureNoWrap ( u8 idx,
const TexMap & rTexMap )
inline

Definition at line 192 of file lyt_material.h.

◆ GetTexSRT()

const TexSRT & nw4r::lyt::Material::GetTexSRT ( ulong idx) const
inline

Definition at line 196 of file lyt_material.h.

◆ SetTexSRT()

void nw4r::lyt::Material::SetTexSRT ( const TexSRT & rTexSRT,
ulong idx )
inline

Definition at line 199 of file lyt_material.h.

◆ SetTexSRTElement()

void nw4r::lyt::Material::SetTexSRTElement ( ulong srt,
ulong idx,
f32 value )
inline

Definition at line 203 of file lyt_material.h.

◆ SetTexCoordGen()

void nw4r::lyt::Material::SetTexCoordGen ( ulong idx,
TexCoordGen gen )
inline

Definition at line 208 of file lyt_material.h.

◆ GetMatColor()

ut::Color nw4r::lyt::Material::GetMatColor ( ) const
inline

Definition at line 212 of file lyt_material.h.

◆ SetIndTexSRTElement()

void nw4r::lyt::Material::SetIndTexSRTElement ( ulong srt,
ulong idx,
f32 value )
inline

Definition at line 216 of file lyt_material.h.

◆ GetName()

const char * nw4r::lyt::Material::GetName ( ) const
inline

Definition at line 222 of file lyt_material.h.

◆ IsUserAllocated()

bool nw4r::lyt::Material::IsUserAllocated ( ) const
inline

Definition at line 226 of file lyt_material.h.

Member Data Documentation

◆ MAX_TEX_SRT

const int nw4r::lyt::Material::MAX_TEX_SRT = (GX_TEXMTX9 - GX_TEXMTX0) / 3 + 1
staticprotected

Definition at line 231 of file lyt_material.h.

◆ MAX_IND_SRT

const int nw4r::lyt::Material::MAX_IND_SRT = (GX_ITM_2 - GX_ITM_0) + 1
staticprotected

Definition at line 232 of file lyt_material.h.

◆ mAnimList

AnimationLinkList nw4r::lyt::Material::mAnimList
protected

Definition at line 235 of file lyt_material.h.

◆ mTevCols

GXColorS10 nw4r::lyt::Material::mTevCols[TEVCOLOR_MAX]
protected

Definition at line 237 of file lyt_material.h.

◆ mTevKCols

ut::Color nw4r::lyt::Material::mTevKCols[GX_MAX_KCOLOR]
protected

Definition at line 238 of file lyt_material.h.

◆ mGXMemCap

detail::BitGXNums nw4r::lyt::Material::mGXMemCap
protected

Definition at line 240 of file lyt_material.h.

◆ mGXMemNum

detail::BitGXNums nw4r::lyt::Material::mGXMemNum
protected

Definition at line 241 of file lyt_material.h.

◆ mpGXMem

void* nw4r::lyt::Material::mpGXMem
protected

Definition at line 242 of file lyt_material.h.

◆ mName

char nw4r::lyt::Material::mName[NW4R_LYT_MATERIAL_NAME_LEN+1]
protected

Definition at line 244 of file lyt_material.h.

◆ mbUserAllocated

bool nw4r::lyt::Material::mbUserAllocated
protected

Definition at line 245 of file lyt_material.h.

◆ PADDING_0x5A

u8 nw4r::lyt::Material::PADDING_0x5A[0x5C - 0x5A]
protected

Definition at line 247 of file lyt_material.h.