3#include <graphics/Mii_SlotID.h>
4#include <graphics/Mii_WmModeDB.h>
5#include <graphics/RenderObj.h>
7#include <common/aglTextureData.h>
8#include <gfx/seadColor.h>
9#include <heap/seadDisposer.h>
17 SEAD_RTTI_OVERRIDE(
ModelFFL, RenderObj)
26 static_assert(
sizeof(
EnvType) == 4);
48 static_assert(
sizeof(
DrawType) == 4);
66 ModelFFL(s32 opa_buffer_idx, s32 xlu_buffer_idx);
75 bool initialize(
const FFLCharModelDesc* desc,
const sead::Vector3f& scale, sead::Heap* heap, sead::Heap* heap_tmp);
77 bool initialize(Mii::SlotID slot_id,
const FFLCharModelDesc* desc,
const sead::Vector3f& scale, sead::Heap* heap, sead::Heap* heap_tmp);
80 bool initialize(
const InitArg<T>& arg,
const sead::Vector3f& scale, sead::Heap* heap, sead::Heap* heap_tmp);
88 void setExRegColor(
const sead::Color4f& light,
const sead::Color4f& dark);
99 void updateView(s32 view_index,
const sead::Matrix34f& view_mtx,
const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr)
override;
101 void calcGPU(s32 view_index,
const sead::Matrix34f& view_mtx,
const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr)
override;
103 void drawOpa(s32 view_index,
const sead::Matrix34f& view_mtx,
const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr)
override;
105 void drawXlu(s32 view_index,
const sead::Matrix34f& view_mtx,
const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr)
override;
113 bool initializeCpu(
const FFLCharModelSource* source,
const FFLCharModelDesc* desc);
131 return mEnvTexture_Star;
136 return mEnvTexture_P;
156 void setEnvViewUniform_(
const sead::Matrix34f& model_mtx,
const sead::Matrix34f& view_mtx,
const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr);
171 bool initializeCpu_(
const FFLCharModelSource* source,
const FFLCharModelDesc* desc);
208static_assert(
sizeof(
ModelFFL) == 0x8F0);
213 if (!initialize(&arg.desc, scale, heap, heap_tmp))
216 if (!setCharModelSource_(arg.data, arg.index))
FFLCharModel mCharModel
Definition ModelFFL.h:186
void setEnvViewUniformWithLightmapEnable_(const sead::Matrix34f &model_mtx, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr)
bool mDrawOpaWithXlu
Definition ModelFFL.h:200
void drawOpa(s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr) override
u32 _814
Definition ModelFFL.h:188
LightMapType getLightMapType() const
Definition ModelFFL.h:144
bool initialize(Mii::SlotID slot_id, const FFLCharModelDesc *desc, const sead::Vector3f &scale, sead::Heap *heap, sead::Heap *heap_tmp)
FFLCharModelBuffer mCharModelBuffer
Definition ModelFFL.h:187
FFLCharModelSource mCharModelSource
Definition ModelFFL.h:190
LightMapType mLightMapType
Definition ModelFFL.h:199
Mii::WmModeDB::Model * mWmModeDBModel
Definition ModelFFL.h:203
sead::Color4f getFavoriteColor() const
bool setCharModelSource_(const FFLStoreData *store_data, u16)
agl::TextureData * mEnvTexture_P
Definition ModelFFL.h:197
void updateView(s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr) override
agl::TextureData * getEnvTexture_P() const
Definition ModelFFL.h:134
agl::TextureData * getEnvTexture_Star() const
Definition ModelFFL.h:129
agl::TextureData * mEnvTexture_Star
Definition ModelFFL.h:196
FFLCharModelDesc mCharModelDesc
Definition ModelFFL.h:189
InitArg< FFLStoreData > InitArgStoreData
Definition ModelFFL.h:58
bool initialize(const FFLCharModelDesc *desc, const sead::Vector3f &scale, sead::Heap *heap, sead::Heap *heap_tmp)
sead::Color4f mExLightRegColor
Definition ModelFFL.h:194
bool initialize(const InitArg< T > &arg, const sead::Vector3f &scale, sead::Heap *heap, sead::Heap *heap_tmp)
Definition ModelFFL.h:211
Mii::SlotID mSlotID
Definition ModelFFL.h:204
sead::Matrix34f mMtxRT
Definition ModelFFL.h:191
sead::Heap * mHeap
Definition ModelFFL.h:184
bool getAdditionalInfo(FFLAdditionalInfo *additional_info, BOOL checkFontRegion) const
LightMapType
Definition ModelFFL.h:29
@ cLightmapType_Enemy
Definition ModelFFL.h:31
@ cLightmapType_Player
Definition ModelFFL.h:30
void setSpecialDrawType()
sead::Vector3f mScale
Definition ModelFFL.h:192
sead::Color4f mExDarkRegColor
Definition ModelFFL.h:195
void pushBackModelGpuInitializer_()
InitializeStep mInitializeStep
Definition ModelFFL.h:201
EnvType getEnvType() const
Definition ModelFFL.h:139
sead::Matrix34f mMtxSRT
Definition ModelFFL.h:193
virtual ~ModelFFL()
Definition ModelFFL.h:69
EnvType mEnvType
Definition ModelFFL.h:198
bool initializeCpu_(const FFLCharModelSource *source, const FFLCharModelDesc *desc)
DrawType mDrawType
Definition ModelFFL.h:202
InitializeStep
Definition ModelFFL.h:36
@ cInitializeStep_Done
Definition ModelFFL.h:39
@ cInitializeStep_NeedInitializeCpu
Definition ModelFFL.h:37
@ cInitializeStep_NeedInitializeGpu
Definition ModelFFL.h:38
void setEnvViewUniform_(const sead::Matrix34f &model_mtx, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr)
bool initializeCpu(const FFLCharModelSource *source, const FFLCharModelDesc *desc)
void setExRegColor(const sead::Color4f &light, const sead::Color4f &dark)
sead::Heap * mHeapTmp
Definition ModelFFL.h:185
void calcGPU(s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr) override
s32 mXluBufferIdx
Definition ModelFFL.h:206
DrawType
Definition ModelFFL.h:44
@ cDrawType_Special
Definition ModelFFL.h:46
@ cDrawType_Normal
Definition ModelFFL.h:45
void setEnvUniform_(RenderObjRenderMgr *render_mgr)
s32 mOpaBufferIdx
Definition ModelFFL.h:205
InitArg< FFLMiddleDB > InitArgMiddleDB
Definition ModelFFL.h:59
void setMtxRT(const sead::Matrix34f &mtx)
Definition ModelFFL.h:117
void drawXlu(s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr) override
ModelFFL(s32 opa_buffer_idx, s32 xlu_buffer_idx)
void setScale(const sead::Vector3f &scale)
Definition ModelFFL.h:123
const T * data
Definition ModelFFL.h:54
FFLCharModelDesc desc
Definition ModelFFL.h:53
u16 index
Definition ModelFFL.h:55