New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
ModelFFL Class Reference

#include <ModelFFL.h>

Inherits RenderObj, and sead::IDisposer.

Classes

struct  InitArg

Public Types

enum  EnvType { cEnvType_Normal = 0 , cEnvType_Star , cEnvType_P }
enum  LightMapType { cLightmapType_Player = 0 , cLightmapType_Enemy }
enum  InitializeStep { cInitializeStep_NeedInitializeCpu = 0 , cInitializeStep_NeedInitializeGpu , cInitializeStep_Done }
enum  DrawType { cDrawType_Normal = 0 , cDrawType_Special }
typedef InitArg< FFLStoreDataInitArgStoreData
typedef InitArg< FFLMiddleDBInitArgMiddleDB

Public Member Functions

 ModelFFL (s32 opa_buffer_idx, s32 xlu_buffer_idx)
virtual ~ModelFFL ()
bool initialize (const FFLCharModelDesc *desc, const sead::Vector3f &scale, sead::Heap *heap, sead::Heap *heap_tmp)
bool initialize (Mii::SlotID slot_id, const FFLCharModelDesc *desc, const sead::Vector3f &scale, sead::Heap *heap, sead::Heap *heap_tmp)
template<typename T>
bool initialize (const InitArg< T > &arg, const sead::Vector3f &scale, sead::Heap *heap, sead::Heap *heap_tmp)
void destroy ()
void initExRegColor ()
void setExRegColor (const sead::Color4f &light, const sead::Color4f &dark)
void updateMtxSRT ()
void setSpecialDrawType ()
void calc () override
void updateView (s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr) override
void calcGPU (s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr) override
void drawOpa (s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr) override
void drawXlu (s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr) override
bool getAdditionalInfo (FFLAdditionalInfo *additional_info, BOOL checkFontRegion) const
sead::Color4f getFavoriteColor () const
bool initializeCpu (const FFLCharModelSource *source, const FFLCharModelDesc *desc)
void initializeGpu ()
void setMtxRT (const sead::Matrix34f &mtx)
void setScale (const sead::Vector3f &scale)
agl::TextureDatagetEnvTexture_Star () const
agl::TextureDatagetEnvTexture_P () const
EnvType getEnvType () const
LightMapType getLightMapType () const
Public Member Functions inherited from RenderObj
 RenderObj ()
virtual void drawShadowOpa (s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr)
virtual void drawReflectionOpa (s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr)
virtual void drawReflectionXlu (s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr)
virtual bool hasShadow () const
sead::Vector3fgetOrderPos ()
const sead::Vector3fgetOrderPos () const
Public Member Functions inherited from RenderObjBase
 RenderObjBase ()

Private Member Functions

bool allocBuffer_ ()
void setEnvUniform_ (RenderObjRenderMgr *render_mgr)
void setEnvViewUniform_ (const sead::Matrix34f &model_mtx, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr)
void setEnvViewUniformWithLightmapEnable_ (const sead::Matrix34f &model_mtx, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr)
void drawOpaNormal_ ()
void drawOpaSpecial_ ()
void drawXluNormal_ ()
void drawXluSpecial_ ()
bool initializeCpu_ (const FFLCharModelSource *source, const FFLCharModelDesc *desc)
void initializeGpu_ ()
bool setCharModelSource_ (const FFLStoreData *store_data, u16)
bool setCharModelSource_ (const FFLMiddleDB *middle_db, u16 index)
void pushBackModelGpuInitializer_ ()
Private Member Functions inherited from sead::IDisposer
 IDisposer ()
virtual ~IDisposer ()

Private Attributes

sead::HeapmHeap
sead::HeapmHeapTmp
FFLCharModel mCharModel
FFLCharModelBuffer mCharModelBuffer
u32 _814
FFLCharModelDesc mCharModelDesc
FFLCharModelSource mCharModelSource
sead::Matrix34f mMtxRT
sead::Vector3f mScale
sead::Matrix34f mMtxSRT
sead::Color4f mExLightRegColor
sead::Color4f mExDarkRegColor
agl::TextureDatamEnvTexture_Star
agl::TextureDatamEnvTexture_P
EnvType mEnvType
LightMapType mLightMapType
bool mDrawOpaWithXlu
InitializeStep mInitializeStep
DrawType mDrawType
Mii::WmModeDB::Model * mWmModeDBModel
Mii::SlotID mSlotID
s32 mOpaBufferIdx
s32 mXluBufferIdx

Additional Inherited Members

Protected Attributes inherited from RenderObj
sead::Vector3f mOrderPos

Member Typedef Documentation

◆ InitArgStoreData

◆ InitArgMiddleDB

Member Enumeration Documentation

◆ EnvType

Enumerator
cEnvType_Normal 
cEnvType_Star 
cEnvType_P 

◆ LightMapType

Enumerator
cLightmapType_Player 
cLightmapType_Enemy 

◆ InitializeStep

Enumerator
cInitializeStep_NeedInitializeCpu 
cInitializeStep_NeedInitializeGpu 
cInitializeStep_Done 

◆ DrawType

Enumerator
cDrawType_Normal 
cDrawType_Special 

Constructor & Destructor Documentation

◆ ModelFFL()

ModelFFL::ModelFFL ( s32 opa_buffer_idx,
s32 xlu_buffer_idx )

◆ ~ModelFFL()

virtual ModelFFL::~ModelFFL ( )
inlinevirtual

Member Function Documentation

◆ initialize() [1/3]

bool ModelFFL::initialize ( const FFLCharModelDesc * desc,
const sead::Vector3f & scale,
sead::Heap * heap,
sead::Heap * heap_tmp )

◆ initialize() [2/3]

bool ModelFFL::initialize ( Mii::SlotID slot_id,
const FFLCharModelDesc * desc,
const sead::Vector3f & scale,
sead::Heap * heap,
sead::Heap * heap_tmp )

◆ initialize() [3/3]

template<typename T>
bool ModelFFL::initialize ( const InitArg< T > & arg,
const sead::Vector3f & scale,
sead::Heap * heap,
sead::Heap * heap_tmp )

◆ destroy()

void ModelFFL::destroy ( )

◆ initExRegColor()

void ModelFFL::initExRegColor ( )

◆ setExRegColor()

void ModelFFL::setExRegColor ( const sead::Color4f & light,
const sead::Color4f & dark )

◆ updateMtxSRT()

void ModelFFL::updateMtxSRT ( )

◆ setSpecialDrawType()

void ModelFFL::setSpecialDrawType ( )

◆ calc()

void ModelFFL::calc ( )
overridevirtual

Implements RenderObjBase.

◆ updateView()

void ModelFFL::updateView ( s32 view_index,
const sead::Matrix34f & view_mtx,
const sead::Matrix44f & proj_mtx,
RenderObjRenderMgr * render_mgr )
overridevirtual

Implements RenderObj.

◆ calcGPU()

void ModelFFL::calcGPU ( s32 view_index,
const sead::Matrix34f & view_mtx,
const sead::Matrix44f & proj_mtx,
RenderObjRenderMgr * render_mgr )
overridevirtual

Implements RenderObj.

◆ drawOpa()

void ModelFFL::drawOpa ( s32 view_index,
const sead::Matrix34f & view_mtx,
const sead::Matrix44f & proj_mtx,
RenderObjRenderMgr * render_mgr )
overridevirtual

Implements RenderObj.

◆ drawXlu()

void ModelFFL::drawXlu ( s32 view_index,
const sead::Matrix34f & view_mtx,
const sead::Matrix44f & proj_mtx,
RenderObjRenderMgr * render_mgr )
overridevirtual

Implements RenderObj.

◆ getAdditionalInfo()

bool ModelFFL::getAdditionalInfo ( FFLAdditionalInfo * additional_info,
BOOL checkFontRegion ) const

◆ getFavoriteColor()

sead::Color4f ModelFFL::getFavoriteColor ( ) const

◆ initializeCpu()

bool ModelFFL::initializeCpu ( const FFLCharModelSource * source,
const FFLCharModelDesc * desc )

◆ initializeGpu()

void ModelFFL::initializeGpu ( )

◆ setMtxRT()

void ModelFFL::setMtxRT ( const sead::Matrix34f & mtx)
inline

◆ setScale()

void ModelFFL::setScale ( const sead::Vector3f & scale)
inline

◆ getEnvTexture_Star()

agl::TextureData * ModelFFL::getEnvTexture_Star ( ) const
inline

◆ getEnvTexture_P()

agl::TextureData * ModelFFL::getEnvTexture_P ( ) const
inline

◆ getEnvType()

EnvType ModelFFL::getEnvType ( ) const
inline

◆ getLightMapType()

LightMapType ModelFFL::getLightMapType ( ) const
inline

◆ allocBuffer_()

bool ModelFFL::allocBuffer_ ( )
private

◆ setEnvUniform_()

void ModelFFL::setEnvUniform_ ( RenderObjRenderMgr * render_mgr)
private

◆ setEnvViewUniform_()

void ModelFFL::setEnvViewUniform_ ( const sead::Matrix34f & model_mtx,
const sead::Matrix34f & view_mtx,
const sead::Matrix44f & proj_mtx,
RenderObjRenderMgr * render_mgr )
private

◆ setEnvViewUniformWithLightmapEnable_()

void ModelFFL::setEnvViewUniformWithLightmapEnable_ ( const sead::Matrix34f & model_mtx,
const sead::Matrix34f & view_mtx,
const sead::Matrix44f & proj_mtx,
RenderObjRenderMgr * render_mgr )
private

◆ drawOpaNormal_()

void ModelFFL::drawOpaNormal_ ( )
private

◆ drawOpaSpecial_()

void ModelFFL::drawOpaSpecial_ ( )
private

◆ drawXluNormal_()

void ModelFFL::drawXluNormal_ ( )
private

◆ drawXluSpecial_()

void ModelFFL::drawXluSpecial_ ( )
private

◆ initializeCpu_()

bool ModelFFL::initializeCpu_ ( const FFLCharModelSource * source,
const FFLCharModelDesc * desc )
private

◆ initializeGpu_()

void ModelFFL::initializeGpu_ ( )
private

◆ setCharModelSource_() [1/2]

bool ModelFFL::setCharModelSource_ ( const FFLStoreData * store_data,
u16  )
private

◆ setCharModelSource_() [2/2]

bool ModelFFL::setCharModelSource_ ( const FFLMiddleDB * middle_db,
u16 index )
private

◆ pushBackModelGpuInitializer_()

void ModelFFL::pushBackModelGpuInitializer_ ( )
private

Member Data Documentation

◆ mHeap

sead::Heap* ModelFFL::mHeap
private

◆ mHeapTmp

sead::Heap* ModelFFL::mHeapTmp
private

◆ mCharModel

FFLCharModel ModelFFL::mCharModel
private

◆ mCharModelBuffer

FFLCharModelBuffer ModelFFL::mCharModelBuffer
private

◆ _814

u32 ModelFFL::_814
private

◆ mCharModelDesc

FFLCharModelDesc ModelFFL::mCharModelDesc
private

◆ mCharModelSource

FFLCharModelSource ModelFFL::mCharModelSource
private

◆ mMtxRT

sead::Matrix34f ModelFFL::mMtxRT
private

◆ mScale

sead::Vector3f ModelFFL::mScale
private

◆ mMtxSRT

sead::Matrix34f ModelFFL::mMtxSRT
private

◆ mExLightRegColor

sead::Color4f ModelFFL::mExLightRegColor
private

◆ mExDarkRegColor

sead::Color4f ModelFFL::mExDarkRegColor
private

◆ mEnvTexture_Star

agl::TextureData* ModelFFL::mEnvTexture_Star
private

◆ mEnvTexture_P

agl::TextureData* ModelFFL::mEnvTexture_P
private

◆ mEnvType

EnvType ModelFFL::mEnvType
private

◆ mLightMapType

LightMapType ModelFFL::mLightMapType
private

◆ mDrawOpaWithXlu

bool ModelFFL::mDrawOpaWithXlu
private

◆ mInitializeStep

InitializeStep ModelFFL::mInitializeStep
private

◆ mDrawType

DrawType ModelFFL::mDrawType
private

◆ mWmModeDBModel

Mii::WmModeDB::Model* ModelFFL::mWmModeDBModel
private

◆ mSlotID

Mii::SlotID ModelFFL::mSlotID
private

◆ mOpaBufferIdx

s32 ModelFFL::mOpaBufferIdx
private

◆ mXluBufferIdx

s32 ModelFFL::mXluBufferIdx
private