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>
18 SEAD_RTTI_OVERRIDE(
ModelFFL, RenderObj)
27 static_assert(
sizeof(
EnvType) == 4);
49 static_assert(
sizeof(
DrawType) == 4);
67 ModelFFL(s32 opa_render_pass, s32 xlu_render_pass);
76 bool initialize(
const FFLCharModelDesc* desc,
const sead::Vector3f& scale, sead::Heap* heap, sead::Heap* heap_tmp);
78 bool initialize(Mii::SlotID slot_id,
const FFLCharModelDesc* desc,
const sead::Vector3f& scale, sead::Heap* heap, sead::Heap* heap_tmp);
81 bool initialize(
const InitArg<T>& arg,
const sead::Vector3f& scale, sead::Heap* heap, sead::Heap* heap_tmp);
89 void setExRegColor(
const sead::Color4f& light,
const sead::Color4f& dark);
100 void updateView(s32 view_index,
const sead::Matrix34f& view_mtx,
const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr)
override;
102 void calcGPU(s32 view_index,
const sead::Matrix34f& view_mtx,
const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr)
override;
104 void drawOpa(s32 view_index,
const sead::Matrix34f& view_mtx,
const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr)
override;
106 void drawXlu(s32 view_index,
const sead::Matrix34f& view_mtx,
const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr)
override;
114 bool initializeCpu(
const FFLCharModelSource* source,
const FFLCharModelDesc* desc);
126 mLocalScale.set(scale);
132 return mEnvTexture_Star;
137 return mEnvTexture_P;
157 void setEnvViewUniform_(
const sead::Matrix34f& model_mtx,
const sead::Matrix34f& view_mtx,
const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr);
172 bool initializeCpu_(
const FFLCharModelSource* source,
const FFLCharModelDesc* desc);
209static_assert(
sizeof(
ModelFFL) == 0x8F0);
214 if (!initialize(&arg.desc, scale, heap, heap_tmp))
217 if (!setCharModelSource_(arg.data, arg.index))
FFLCharModel mCharModel
Definition ModelFFL.h:187
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:201
void drawOpa(s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr) override
ModelFFL(s32 opa_render_pass, s32 xlu_render_pass)
u32 _814
Definition ModelFFL.h:189
LightMapType getLightMapType() const
Definition ModelFFL.h:145
bool initialize(Mii::SlotID slot_id, const FFLCharModelDesc *desc, const sead::Vector3f &scale, sead::Heap *heap, sead::Heap *heap_tmp)
void setLocalScale(const sead::Vector3f &scale)
Definition ModelFFL.h:124
FFLCharModelBuffer mCharModelBuffer
Definition ModelFFL.h:188
sead::Vector3f mLocalScale
Definition ModelFFL.h:193
FFLCharModelSource mCharModelSource
Definition ModelFFL.h:191
LightMapType mLightMapType
Definition ModelFFL.h:200
Mii::WmModeDB::Model * mWmModeDBModel
Definition ModelFFL.h:204
sead::Color4f getFavoriteColor() const
bool setCharModelSource_(const FFLStoreData *store_data, u16)
agl::TextureData * mEnvTexture_P
Definition ModelFFL.h:198
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:135
agl::TextureData * getEnvTexture_Star() const
Definition ModelFFL.h:130
agl::TextureData * mEnvTexture_Star
Definition ModelFFL.h:197
FFLCharModelDesc mCharModelDesc
Definition ModelFFL.h:190
InitArg< FFLStoreData > InitArgStoreData
Definition ModelFFL.h:59
bool initialize(const FFLCharModelDesc *desc, const sead::Vector3f &scale, sead::Heap *heap, sead::Heap *heap_tmp)
sead::Color4f mExLightRegColor
Definition ModelFFL.h:195
bool initialize(const InitArg< T > &arg, const sead::Vector3f &scale, sead::Heap *heap, sead::Heap *heap_tmp)
Definition ModelFFL.h:212
sead::Matrix34f mBaseModelMtx
Definition ModelFFL.h:192
sead::Matrix34f mModelMtx
Definition ModelFFL.h:194
Mii::SlotID mSlotID
Definition ModelFFL.h:205
sead::Heap * mHeap
Definition ModelFFL.h:185
bool getAdditionalInfo(FFLAdditionalInfo *additional_info, BOOL checkFontRegion) const
LightMapType
Definition ModelFFL.h:30
@ cLightmapType_Enemy
Definition ModelFFL.h:32
@ cLightmapType_Player
Definition ModelFFL.h:31
void setSpecialDrawType()
void setBaseModelMtx(const sead::Matrix34f &mtx)
Definition ModelFFL.h:118
sead::Color4f mExDarkRegColor
Definition ModelFFL.h:196
void pushBackModelGpuInitializer_()
InitializeStep mInitializeStep
Definition ModelFFL.h:202
s32 mXluRenderPass
Definition ModelFFL.h:207
EnvType getEnvType() const
Definition ModelFFL.h:140
virtual ~ModelFFL()
Definition ModelFFL.h:70
EnvType mEnvType
Definition ModelFFL.h:199
bool initializeCpu_(const FFLCharModelSource *source, const FFLCharModelDesc *desc)
DrawType mDrawType
Definition ModelFFL.h:203
InitializeStep
Definition ModelFFL.h:37
@ cInitializeStep_Done
Definition ModelFFL.h:40
@ cInitializeStep_NeedInitializeCpu
Definition ModelFFL.h:38
@ cInitializeStep_NeedInitializeGpu
Definition ModelFFL.h:39
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:186
void calcGPU(s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr) override
DrawType
Definition ModelFFL.h:45
@ cDrawType_Special
Definition ModelFFL.h:47
@ cDrawType_Normal
Definition ModelFFL.h:46
void setEnvUniform_(RenderObjRenderMgr *render_mgr)
InitArg< FFLMiddleDB > InitArgMiddleDB
Definition ModelFFL.h:60
void drawXlu(s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr) override
s32 mOpaRenderPass
Definition ModelFFL.h:206
const T * data
Definition ModelFFL.h:55
FFLCharModelDesc desc
Definition ModelFFL.h:54
u16 index
Definition ModelFFL.h:56