New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
MiiModel.h
Go to the documentation of this file.
1#pragma once
2
3#include <graphics/Mii_SlotID.h>
4#include <player/PlayerModel.h>
5
6#include <common/aglTextureData.h>
7
8class ModelFFL;
9
10class MiiModel : public PlayerModel // vtbl Address: 0x10174D6C
11{
12 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9E84
13 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101EBA70
14 SEAD_RTTI_OVERRIDE(MiiModel, PlayerModel)
15
16public:
17 static const s32 cMaterialMaxNum = 7;
18
27 static_assert(cModeHeadType_Num == 4);
28
29public:
30 // Address: 0x029735D8
31 MiiModel(Type type, PlayerMode mode, SceneType scene_type, PlayerCharacter color, Mii::SlotID slot_id, sead::Heap* ffl_tmp_heap, bool override_lightmap);
32
33 // Address: 0x02973800
34 void play() override;
35
36 // Address: 0x029738CC
37 void draw() override;
38
39 // Address: 0x02973908
40 void setModelRenderPass(s32 idx_opa, s32 idx_xlu) override;
41 // Address: 0x029739B0
42 void setModelG3dRenderFlag(u32 flag) override;
43
44 // Address: 0x02973BA0
45 void setColorType(ColorType color_type, bool keep_head_konst3) override;
46
47 // Address: 0x02973EB4
48 void setMiiColor(PlayerCharacter mii_color) override;
49
50 void setMiiCapVisible(bool visible) override
51 {
52 mIsCapVisible = visible;
53 }
54
56 {
57 return mIsCapVisible;
58 }
59
60 // Address: 0x02974354
62
63 // Address: 0x0297444C
64 void setBodyID(BodyType id) override;
65
66 // Address: 0x029744EC
67 void setTexAnmTypeImpl(TexAnmType type) override;
68
69 // Address: 0x0297453C
70 bool setPersonalAnm(ModelResource** anm_res, sead::BufferedSafeString* anm_name, s32 anm_id, bool body) override;
71 // Address: 0x029748B4
72 bool setPersonalRideAnm(ModelResource** anm_res, sead::BufferedSafeString* anm_name, s32 anm_id) override;
73
74 // Address: 0x029749F0
76
77 // Address: 0x02974ADC
79
80 // Address: 0x02974B68
82 // Address: 0x02974CD0
84 // Address: 0x02974CDC
86
87 // Address: 0x02974D18
89
90 f32 getTevColor0Alpha(s32 idx_material) override
91 {
92 return mTevColor0Alpha[idx_material];
93 }
94
95 void setTevColor0Alpha(s32 idx_material, f32 value) override
96 {
97 mTevColor0Alpha[idx_material] = value;
98 }
99
100 // Address: 0x02974D7C
101 void setInvTevColor0(f32 value) override;
102 // Address: 0x02974E68
103 void setTevKColor3(f32 value) override;
104
105protected:
119 AnimModel*,
125};
126static_assert(sizeof(MiiModel) == 0x3A8);
Definition MiiModel.h:11
void play() override
void setStarAnm() override
void setColorType(ColorType color_type, bool keep_head_konst3) override
ModelFFL * mFaceModel
Definition MiiModel.h:109
void setInvTevColor0(f32 value) override
f32 getStoopOffsetTarget() override
agl::TextureData mEnvTexture_P
Definition MiiModel.h:111
f32 getAimMotionShareScale() override
bool mIsCapVisible
Definition MiiModel.h:124
sead::SafeArray< AnimModel *, cModeHeadType_Num > mModeHeadModelArray
Definition MiiModel.h:121
PlayerCharacter mColor
Definition MiiModel.h:107
void removeStarAnm_NowBodyID() override
void setModelRenderPass(s32 idx_opa, s32 idx_xlu) override
void setBodyID(BodyType id) override
void removeStarAnm_OldBodyID() override
ModeHeadType
Definition MiiModel.h:20
@ cModeHeadType_Num
Definition MiiModel.h:25
@ cModeHeadType_Propeller
Definition MiiModel.h:22
@ cModeHeadType_Squirrel
Definition MiiModel.h:24
@ cModeHeadType_Normal
Definition MiiModel.h:21
@ cModeHeadType_Penguin
Definition MiiModel.h:23
void setModelG3dRenderFlag(u32 flag) override
void setMiiColor(PlayerCharacter mii_color) override
AnimModel * mModeHeadModel
Definition MiiModel.h:122
sead::BitFlag16 mModeHeadTypeLoadFlag
Definition MiiModel.h:123
ModeHeadType mOldModeHeadType
Definition MiiModel.h:117
bool setPersonalAnm(ModelResource **anm_res, sead::BufferedSafeString *anm_name, s32 anm_id, bool body) override
void draw() override
agl::TextureData mEnvTexture_Star
Definition MiiModel.h:110
f32 mHeadPatAnmFrame
Definition MiiModel.h:112
Mii::SlotID mSlotID
Definition MiiModel.h:108
void onPMusaChange() override
MiiModel(Type type, PlayerMode mode, SceneType scene_type, PlayerCharacter color, Mii::SlotID slot_id, sead::Heap *ffl_tmp_heap, bool override_lightmap)
void setTevColor0Alpha(s32 idx_material, f32 value) override
Definition MiiModel.h:95
void setMiiCapVisible(bool visible) override
Definition MiiModel.h:50
void setTexAnmTypeImpl(TexAnmType type) override
sead::SafeArray< f32, cMaterialMaxNum > mTevColor0Alpha
Definition MiiModel.h:115
f32 getTevColor0Alpha(s32 idx_material) override
Definition MiiModel.h:90
void setTevKColor3(f32 value) override
bool setPersonalRideAnm(ModelResource **anm_res, sead::BufferedSafeString *anm_name, s32 anm_id) override
void calcImpl() override
f32 mHeadPatAnmRate
Definition MiiModel.h:113
ModelResource * mMiiAnmRes
Definition MiiModel.h:106
bool isMiiCapVisible() override
Definition MiiModel.h:55
FrameCtrl::PlayMode mHeadPatAnmPlayMode
Definition MiiModel.h:114
ModeHeadType mNowModeHeadType
Definition MiiModel.h:116
Definition ModelFFL.h:14