New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
BrosBase.h
Go to the documentation of this file.
1#pragma once
2
3#include <actor/EatData.h>
4#include <collision/ActorBgCollisionEnemyCheck.h>
5#include <collision/ActorCollisionDrcTouchCallback.h>
6#include <effect/EffectObj.h>
7#include <enemy/Enemy.h>
8#include <enemy/EnemyBoyoMgr.h>
9
10#include <math/seadMatrix.h>
11
12class BrosDrcTouchCB : public ActorCollisionDrcTouchCallback // vtbl Address: 0x1005F6E8
13{
14public:
15 // Address: 0x022DD974
16 bool ccSetTouchNormal(ActorCollisionCheck* cc, const sead::Vector2f& pos) override;
17 // Address: 0x022DDAEC
18 void ccOnTouch(ActorCollisionCheck* cc, const sead::Vector2f& pos) override;
19};
20static_assert(sizeof(BrosDrcTouchCB) == sizeof(ActorCollisionDrcTouchCallback));
21
22class JointBlendModel;
23
24class BrosBase : public Enemy // vtbl Address: 0x1005F078
25{
26 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101EA308
27 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101EA30C
28 SEAD_RTTI_OVERRIDE(BrosBase, Enemy)
29
30public:
31 // Address: 0x022DA0AC
33
35 {
36 }
37
38protected:
39 // Address: 0x022DA758
40 Result create() override;
41 // Address: 0x022DAFE8
43 // Address: 0x022DB08C
44 bool draw() override;
45 // Address: 0x022DE848
46 Result doDelete() override;
47
48public:
49 // Address: 0x022DD66C
51
52 // Address: 0x022DD264
53 bool setDamage(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
54 // Address: 0x022DD3D8
56 // Address: 0x022DD484
58 // Address: 0x022DD3C0
60 // Address: 0x022DB0C0
62 // Address: 0x022DB0C4
63 void vsPlayerHitCheck_Normal(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
64 // Address: 0x022DB210
65 void vsYoshiHitCheck_Normal(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
66 // Address: 0x022DB6A0
67 bool hitCallback_Star(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
68 // Address: 0x022DB318
69 bool hitCallback_Spin(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
70 // Address: 0x022DB50C
71 bool hitCallback_HipAttk(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
72 // Address: 0x022DB870
73 bool hitCallback_Ice(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
74 // Address: 0x022DB510
75 bool hitCallback_YoshiBullet(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
76 // Address: 0x022DB954
77 bool hitCallback_ChibiYoshiLight(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
78
79 // StateID_DieFumi Address: 0x101FF488
80 // initializeState_DieFumi Address: 0x022DCE14
81 // executeState_DieFumi Address: 0x022DCEA8
82 // finalizeState_DieFumi Address: 0x022DE860
83 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(BrosBase, DieFumi)
84 // StateID_DieFall Address: 0x101FF4AC
85 // initializeState_DieFall Address: 0x022DCEF4
86 // executeState_DieFall Address: 0x022DCF88
87 // finalizeState_DieFall Address: 0x022DE864
89
90public:
91 // StateID_Move Address: 0x101FF3B0
92 // initializeState_Move Address: 0x022DBE48
93 // executeState_Move Address: 0x022DC000
94 // finalizeState_Move Address: 0x022DE850
96 // StateID_Attack Address: 0x101FF3D4
97 // initializeState_Attack Address: 0x022DC294
98 // executeState_Attack Address: 0x022DC2D4
99 // finalizeState_Attack Address: 0x022DE854
101 // StateID_JumpSt Address: 0x101FF3F8
102 // initializeState_JumpSt Address: 0x022DC5C8
103 // executeState_JumpSt Address: 0x022DC61C
104 // finalizeState_JumpSt Address: 0x022DE858
106 // StateID_Jump Address: 0x101FF41C
107 // initializeState_Jump Address: 0x022DC768
108 // executeState_Jump Address: 0x022DC878
109 // finalizeState_Jump Address: 0x022DC928
111 // StateID_JumpEd Address: 0x101FF440
112 // initializeState_JumpEd Address: 0x022DC934
113 // executeState_JumpEd Address: 0x022DC9AC
114 // finalizeState_JumpEd Address: 0x022DE85C
116 // StateID_AirAttack Address: 0x101FF464
117 // initializeState_AirAttack Address: 0x022DCA88
118 // executeState_AirAttack Address: 0x022DCAD4
119 // finalizeState_AirAttack Address: 0x022DCDFC
121 // StateID_Down Address: 0x101FF4D0
122 // initializeState_Down Address: 0x022DD000
123 // executeState_Down Address: 0x022DD094
124 // finalizeState_Down Address: 0x022DD21C
126
127public:
128 // Address: Deleted
129 virtual void vf58C();
130
131 virtual f32 getCreateWeaponFrm() const
132 {
133 return 0.0f;
134 }
135
136 virtual f32 getAttackFrm() const
137 {
138 return 0.0f;
139 }
140
141 virtual void setSpeed()
142 {
143 }
144
145 // Address: Deleted
146 virtual bool checkAtkArea();
147
148 virtual s32 getColor()
149 {
150 return -1;
151 }
152
153 virtual void setAtkTimer()
154 {
155 }
156
157 // Address: Deleted
159
160 // Address: 0x022DD500
161 virtual void calcMoveDir();
162
163 virtual void setWeaponPos()
164 {
165 }
166
167 virtual void weaponCreate()
168 {
169 }
170
171 virtual void weaponAttack()
172 {
173 }
174
175 virtual void setJumpCnt()
176 {
177 }
178
179 virtual void setJump()
180 {
181 }
182
183 virtual void beginJump()
184 {
185 setJump();
186 changeState(StateID_AirAttack);
187 }
188
189 virtual bool isInvalidBg()
190 {
191 return false;
192 }
193
194 virtual bool isAttackOK() const
195 {
196 return true;
197 }
198
199 virtual void beginAttk()
200 {
201 mRepeatedAttackCount = 1;
202 changeState(StateID_Attack);
203 }
204
205 // Address: 0x022DD598
206 virtual void setAttackAnm();
207
208 virtual void initMoveCnt()
209 {
210 mMoveCnt = 0;
211 }
212
213 virtual void initPosLv()
214 {
215 }
216
217 virtual void initType()
218 {
219 }
220
221 // Address: Deleted
222 virtual void vf63C();
223 // Address: Deleted
224 virtual void vf644();
225
226 virtual void vf64C() // Never overridden
227 {
228 }
229
230 virtual void vf654() // "Drop weapon on kock down" Maybe? (Deletes weapon)
231 {
232 }
233
234 // Address: 0x022DD768
235 virtual bool vf65C(); // "Can be knocked down?" Maybe?
236
237 virtual void entryHIO()
238 {
239 }
240
241 virtual void removeHIO()
242 {
243 }
244
245public:
246 // Address: 0x022DBEEC
248
249protected:
271 bool _19b8;
279 bool _2f39;
285};
286static_assert(sizeof(BrosBase) == 0x3090);
Definition BrosBase.h:25
bool hitCallback_HipAttk(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
sead::Vector3f mStartPos
Definition BrosBase.h:268
EffectObj mEffect
Definition BrosBase.h:272
bool createIceActor() override
Callback for spawning ice blocks when frozen by an ice flower.
s32 mJumpCnt
Definition BrosBase.h:257
bool calcTurnAngle()
void vsYoshiHitCheck_Normal(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
virtual void entryHIO()
Definition BrosBase.h:237
void returnState_Ice() override
u32 _1984
Definition BrosBase.h:260
Result doDelete() override
Main deletion callback for the actor.
virtual bool vf65C()
void vsPlayerHitCheck_Normal(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
s32 mMoveCnt
Definition BrosBase.h:258
virtual void setAtkTimer()
Definition BrosBase.h:153
ActorUniqueID mWeaponID
Definition BrosBase.h:270
void calcMdl_Base() override
virtual void initMoveCnt()
Definition BrosBase.h:208
u32 mRepeatedAttackCount
Definition BrosBase.h:261
EnemyBoyoMgr mBoyoMgr
Definition BrosBase.h:282
virtual f32 getAttackFrm() const
Definition BrosBase.h:136
ActorBgCollisionEnemyCheck mBgCheckEnemy
Definition BrosBase.h:275
bool hitCallback_YoshiBullet(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
u32 _1990
Definition BrosBase.h:263
virtual void removeHIO()
Definition BrosBase.h:241
virtual void setSpeed()
Definition BrosBase.h:141
virtual void setAttackAnm()
void allEnemyDeathEffSet() override
virtual void vf64C()
Definition BrosBase.h:226
EatData mEatData
Definition BrosBase.h:273
u32 _19a0
Definition BrosBase.h:267
virtual f32 getCreateWeaponFrm() const
Definition BrosBase.h:131
virtual void setJumpCnt()
Definition BrosBase.h:175
bool hitCallback_Star(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
virtual void setJump()
Definition BrosBase.h:179
u8 _3089
Definition BrosBase.h:284
JointBlendModel * mBlendModel
Definition BrosBase.h:250
f32 _1998
Definition BrosBase.h:265
bool hitCallback_ChibiYoshiLight(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
virtual void initPosLv()
Definition BrosBase.h:213
u32 _1a48
Definition BrosBase.h:274
virtual void initType()
Definition BrosBase.h:217
sead::Matrixf mBone14Transform
Definition BrosBase.h:254
virtual void beginAttk()
Definition BrosBase.h:199
u32 _1980
Definition BrosBase.h:259
u32 _198c
Definition BrosBase.h:262
u8 _3088
Definition BrosBase.h:283
bool _2f39
Definition BrosBase.h:279
sead::Matrixf mBone4Transform
Definition BrosBase.h:252
u8 mMoveDir
Definition BrosBase.h:269
sead::Matrixf mBone0Transform
Definition BrosBase.h:253
s32 mAtkTimer
Definition BrosBase.h:256
~BrosBase() override
Definition BrosBase.h:34
virtual bool isAttackOK() const
Definition BrosBase.h:194
virtual s32 getColor()
Definition BrosBase.h:148
bool hitCallback_Ice(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool setDamage(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
virtual void calcMoveDir()
Result create() override
Main initialization/setup callback for the actor.
virtual void weaponAttack()
Definition BrosBase.h:171
u32 _2f34
Definition BrosBase.h:277
u32 _199c
Definition BrosBase.h:266
bool draw() override
Main rendering callback for the actor. Called every frame (the game runs at exactly 60 FPS).
f32 _1994
Definition BrosBase.h:264
virtual void vf654()
Definition BrosBase.h:230
ActorCollisionCheck mCollisionCheck2
Definition BrosBase.h:280
virtual void vf644()
virtual void setWeaponPos()
Definition BrosBase.h:163
u32 _2f30
Definition BrosBase.h:276
virtual sead::Vector3f getAdjustOffset()
virtual void beginJump()
Definition BrosBase.h:183
sead::Matrixf mBone11Transform
Definition BrosBase.h:255
bool _19b8
Definition BrosBase.h:271
u8 _2f38
Definition BrosBase.h:278
bool hitCallback_Spin(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
virtual void vf63C()
void setIceAnm() override
virtual bool isInvalidBg()
Definition BrosBase.h:189
bool execute() override
Main execution/logic callback for the actor. Called every frame (the game runs at exactly 60 FPS).
virtual bool checkAtkArea()
virtual void weaponCreate()
Definition BrosBase.h:167
sead::Matrixf mBone6Transform
Definition BrosBase.h:251
BrosDrcTouchCB mDrcTouchCallback
Definition BrosBase.h:281
Definition BrosBase.h:13
bool ccSetTouchNormal(ActorCollisionCheck *cc, const sead::Vector2f &pos) override
void ccOnTouch(ActorCollisionCheck *cc, const sead::Vector2f &pos) override
Definition JointBlendModel.h:7