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
10// vtbl Address: 0x10174D6C
11class MiiModel : public PlayerModel
12{
13 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9E84
14 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101EBA70
15 SEAD_RTTI_OVERRIDE(MiiModel, PlayerModel)
16
17public:
18 static const s32 cMaterialMaxNum = 7;
19
28 static_assert(cModeHeadType_Num == 4);
29
30public:
31 // Address: 0x029735D8
32 MiiModel(Type type, PlayerMode mode, SceneType scene_type, PlayerCharacter color, Mii::SlotID slot_id, sead::Heap* ffl_tmp_heap, bool override_lightmap);
33
34 // Address: 0x02973800
35 void play() override;
36
37 // Address: 0x029738CC
38 void draw() override;
39
40 // Address: 0x02973908
41 void setModelRenderPass(s32 idx_opa, s32 idx_xlu) override;
42 // Address: 0x029739B0
43 void setModelG3dRenderFlag(u32 flag) override;
44
45 // Address: 0x02973BA0
46 void setColorType(ColorType color_type, bool keep_head_konst3) override;
47
48 // Address: 0x02973EB4
49 void setMiiColor(PlayerCharacter mii_color) override;
50
51 void setMiiCapVisible(bool visible) override
52 {
53 mIsCapVisible = visible;
54 }
55
57 {
58 return mIsCapVisible;
59 }
60
61 // Address: 0x02974354
63
64 // Address: 0x0297444C
65 void setBodyID(BodyType id) override;
66
67 // Address: 0x029744EC
68 void setTexAnmTypeImpl(TexAnmType type) override;
69
70 // Address: 0x0297453C
71 bool setPersonalAnm(ModelResource** anm_res, sead::BufferedSafeString* anm_name, s32 anm_id, bool body) override;
72 // Address: 0x029748B4
73 bool setPersonalRideAnm(ModelResource** anm_res, sead::BufferedSafeString* anm_name, s32 anm_id) override;
74
75 // Address: 0x029749F0
77
78 // Address: 0x02974ADC
80
81 // Address: 0x02974B68
83 // Address: 0x02974CD0
85 // Address: 0x02974CDC
87
88 // Address: 0x02974D18
90
91 f32 getTevColor0Alpha(s32 idx_material) override
92 {
93 return mTevColor0Alpha[idx_material];
94 }
95
96 void setTevColor0Alpha(s32 idx_material, f32 value) override
97 {
98 mTevColor0Alpha[idx_material] = value;
99 }
100
101 // Address: 0x02974D7C
102 void setInvTevColor0(f32 value) override;
103 // Address: 0x02974E68
104 void setTevKColor3(f32 value) override;
105
106protected:
120 AnimModel*,
126};
127static_assert(sizeof(MiiModel) == 0x3A8);
Definition MiiModel.h:12
void play() override
void setStarAnm() override
void setColorType(ColorType color_type, bool keep_head_konst3) override
ModelFFL * mFaceModel
Definition MiiModel.h:110
void setInvTevColor0(f32 value) override
f32 getStoopOffsetTarget() override
agl::TextureData mEnvTexture_P
Definition MiiModel.h:112
f32 getAimMotionShareScale() override
bool mIsCapVisible
Definition MiiModel.h:125
sead::SafeArray< AnimModel *, cModeHeadType_Num > mModeHeadModelArray
Definition MiiModel.h:122
PlayerCharacter mColor
Definition MiiModel.h:108
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:21
@ cModeHeadType_Num
Definition MiiModel.h:26
@ cModeHeadType_Propeller
Definition MiiModel.h:23
@ cModeHeadType_Squirrel
Definition MiiModel.h:25
@ cModeHeadType_Normal
Definition MiiModel.h:22
@ cModeHeadType_Penguin
Definition MiiModel.h:24
void setModelG3dRenderFlag(u32 flag) override
void setMiiColor(PlayerCharacter mii_color) override
AnimModel * mModeHeadModel
Definition MiiModel.h:123
sead::BitFlag16 mModeHeadTypeLoadFlag
Definition MiiModel.h:124
ModeHeadType mOldModeHeadType
Definition MiiModel.h:118
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:111
f32 mHeadPatAnmFrame
Definition MiiModel.h:113
Mii::SlotID mSlotID
Definition MiiModel.h:109
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:96
void setMiiCapVisible(bool visible) override
Definition MiiModel.h:51
void setTexAnmTypeImpl(TexAnmType type) override
sead::SafeArray< f32, cMaterialMaxNum > mTevColor0Alpha
Definition MiiModel.h:116
f32 getTevColor0Alpha(s32 idx_material) override
Definition MiiModel.h:91
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:114
ModelResource * mMiiAnmRes
Definition MiiModel.h:107
bool isMiiCapVisible() override
Definition MiiModel.h:56
FrameCtrl::PlayMode mHeadPatAnmPlayMode
Definition MiiModel.h:115
ModeHeadType mNowModeHeadType
Definition MiiModel.h:117
Definition ModelFFL.h:15