New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
LiftNormalModelDraw.h
Go to the documentation of this file.
1#pragma once
2
3#include <math/seadVector.h>
4
5#include <actor/ActorAdditionalHeap.h>
6#include <graphics/AnimModel.h>
7#include <graphics/ModelResource.h>
8#include <utility/Angle3.h>
9
11{
12public:
28
29public:
31 ~LiftNormalModelDraw() = default;
32
33 // Address: 0x027BE110
34 void init();
35
36 // Address: 0x027BE428
37 void move(const sead::Vector3f& position, f32 width);
38
39 // Address: 0x027BE4FC
40 void draw();
41
43 {
44 return mModelResource;
45 }
46
47 void setModelResource(ModelResource* res)
48 {
49 mModelResource = res;
50 }
51
52 AnimModel* getShortAnimModel(u32 index) const
53 {
54 return mShortAnimModel[index];
55 }
56
57 void setShortAnimModel(u32 index, AnimModel* model)
58 {
59 mShortAnimModel[index] = model;
60 }
61
62 AnimModel* getLongAnimModel(u32 index) const
63 {
64 return mLongAnimModel[index];
65 }
66
67 void setLongAnimModel(u32 index, AnimModel* model)
68 {
69 mLongAnimModel[index] = model;
70 }
71
73 {
74 return mPos;
75 }
76
77 const sead::Vector3f& getPos() const
78 {
79 return mPos;
80 }
81
83 {
84 return mCenterPos;
85 }
86
87 const sead::Vector3f& getCenterPos() const
88 {
89 return mCenterPos;
90 }
91
93 {
94 return mModelOffset;
95 }
96
98 {
99 return mModelOffset;
100 }
101
103 {
104 return mAngle;
105 }
106
107 const Angle3& getAngle() const
108 {
109 return mAngle;
110 }
111
113 {
114 return mMiddlePlatformModelWidth;
115 }
116
118 {
119 mMiddlePlatformModelWidth = width;
120 }
121
123 {
124 return mPlatformWidth;
125 }
126
127 void setPlatformWidth(f32 width)
128 {
129 mPlatformWidth = width;
130 }
131
133 {
134 return mLength;
135 }
136
137 void setLength(u32 length)
138 {
139 mLength = length;
140 }
141
143 {
144 return mModelType;
145 }
146
147 void setModelType(ModelType modelType)
148 {
149 mModelType = modelType;
150 }
151
153 {
154 return mModelScale;
155 }
156
157 void setModelScale(f32 scale)
158 {
159 mModelScale = scale;
160 }
161
163 {
164 return mUseAdditionalHeap;
165 }
166
167 void setUseAdditionalHeap(bool use)
168 {
169 mUseAdditionalHeap = use;
170 }
171
173 {
174 return mActorAdditionalHeap;
175 }
176
177private:
178 // Address: 0x027BD2D8
179 void modelset();
180
181 // Address: 0x027BD8C4
183
184 // Address: 0x027BDB0C
185 void calc();
186
187 // Address: 0x027BE2CC
189
190private:
200 f32 mMiddlePlatformModelWidth; ///< The width, in tiles, of the middle part of the platform model
201 f32 mPlatformWidth; ///< The width, in tile units, of the platform
208};
209static_assert(sizeof(LiftNormalModelDraw) == 0x100, "LiftNormalModelDraw size mismatch");
Definition LiftNormalModelDraw.h:11
ActorAdditionalHeap & getActorAdditionalHeap()
Definition LiftNormalModelDraw.h:172
void setMiddlePlatformModelWidth(f32 width)
Definition LiftNormalModelDraw.h:117
ModelResource * mModelResource
Definition LiftNormalModelDraw.h:191
sead::Vector3f mModelOffset
Definition LiftNormalModelDraw.h:196
void setLength(u32 length)
Definition LiftNormalModelDraw.h:137
f32 mMiddlePlatformModelWidth
The width, in tiles, of the middle part of the platform model.
Definition LiftNormalModelDraw.h:200
LiftNormalModelDraw()=default
f32 mModelScale
Definition LiftNormalModelDraw.h:205
bool usesAdditionalHeap() const
Definition LiftNormalModelDraw.h:162
sead::Vector3f mCenterPos
Definition LiftNormalModelDraw.h:195
f32 _d8
Definition LiftNormalModelDraw.h:202
const sead::Vector3f & getCenterPos() const
Definition LiftNormalModelDraw.h:87
u32 mLength
Definition LiftNormalModelDraw.h:203
f32 mPlatformWidth
The width, in tile units, of the platform.
Definition LiftNormalModelDraw.h:201
const sead::Vector3f & getPos() const
Definition LiftNormalModelDraw.h:77
f32 getMiddlePlatformModelWidth() const
Definition LiftNormalModelDraw.h:112
sead::Vector3f _ac
Definition LiftNormalModelDraw.h:197
AnimModel * getShortAnimModel(u32 index) const
Definition LiftNormalModelDraw.h:52
AnimModel * mShortAnimModel[3]
Definition LiftNormalModelDraw.h:192
ModelType
Definition LiftNormalModelDraw.h:14
@ cModelType_BossKoopaLiftDown
Definition LiftNormalModelDraw.h:20
@ cModelType_Tower
Definition LiftNormalModelDraw.h:24
@ cModelType_PinkMushroom
Definition LiftNormalModelDraw.h:17
@ cModelType_YellowMushroom
Definition LiftNormalModelDraw.h:21
@ cModelType_Cloud
Definition LiftNormalModelDraw.h:23
@ cModelType_Wood
Definition LiftNormalModelDraw.h:15
@ cModelType_Stone
Definition LiftNormalModelDraw.h:16
@ cModelType_BossKoopaLift
Definition LiftNormalModelDraw.h:19
@ cModelType_FerrisWheel
Definition LiftNormalModelDraw.h:25
@ cModelType_BoltPlatform
Definition LiftNormalModelDraw.h:18
@ cModelType_YellowMushroom2
Definition LiftNormalModelDraw.h:26
@ cModelType_WoodSnow
Definition LiftNormalModelDraw.h:22
const Angle3 & getAngle() const
Definition LiftNormalModelDraw.h:107
Angle3 mAngle
Definition LiftNormalModelDraw.h:199
void setModelType(ModelType modelType)
Definition LiftNormalModelDraw.h:147
ModelType mModelType
Definition LiftNormalModelDraw.h:204
void setPlatformWidth(f32 width)
Definition LiftNormalModelDraw.h:127
sead::Vector3f & getCenterPos()
Definition LiftNormalModelDraw.h:82
ActorAdditionalHeap mActorAdditionalHeap
Definition LiftNormalModelDraw.h:207
void setModelResource(ModelResource *res)
Definition LiftNormalModelDraw.h:47
bool mUseAdditionalHeap
Definition LiftNormalModelDraw.h:206
void setLongAnimModel(u32 index, AnimModel *model)
Definition LiftNormalModelDraw.h:67
const sead::Vector3f & getModelOffset() const
Definition LiftNormalModelDraw.h:97
void setUseAdditionalHeap(bool use)
Definition LiftNormalModelDraw.h:167
void setShortAnimModel(u32 index, AnimModel *model)
Definition LiftNormalModelDraw.h:57
~LiftNormalModelDraw()=default
ModelResource * getModelResource() const
Definition LiftNormalModelDraw.h:42
AnimModel * mLongAnimModel[30]
Definition LiftNormalModelDraw.h:193
f32 getModelScale() const
Definition LiftNormalModelDraw.h:152
sead::Vector3f mPos
Definition LiftNormalModelDraw.h:194
void setModelScale(f32 scale)
Definition LiftNormalModelDraw.h:157
sead::Vector3f & getPos()
Definition LiftNormalModelDraw.h:72
Angle3 & getAngle()
Definition LiftNormalModelDraw.h:102
sead::Vector3f & getModelOffset()
Definition LiftNormalModelDraw.h:92
f32 getPlatformWidth() const
Definition LiftNormalModelDraw.h:122
sead::Vector3f _b8
Definition LiftNormalModelDraw.h:198
ModelType getModelType() const
Definition LiftNormalModelDraw.h:142
void move(const sead::Vector3f &position, f32 width)
u32 getLength() const
Definition LiftNormalModelDraw.h:132
AnimModel * getLongAnimModel(u32 index) const
Definition LiftNormalModelDraw.h:62