New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
Actor.h
Go to the documentation of this file.
1#pragma once
2
3#include <actor/ActorBase.h>
4#include <actor/ActorCulling.h>
5#include <collision/ActorCollisionCheck.h>
6#include <effect/EffectID.h>
7#include <fukidashi/FukidashiType.h>
8#include <map/WaveType.h>
9#include <utility/Angle3.h>
10#include <utility/Direction.h>
11
12#define ACTOR_DEFAULT_GRAVITY -0.1875f
13#define ACTOR_DEFAULT_MAX_FALL_SPEED -4.0f
14
16class BgCollision;
19class EatCallback;
20class PropelParts;
21
22// vtbl Address: 0x10000268
23class Actor : public ActorBase
24{
25 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9CBC
26 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101E9CC0
27 SEAD_RTTI_OVERRIDE(Actor, ActorBase)
28
29public:
38
48
49 /**
50 * @brief Flags to pass to `actorExecCullCheck` to skip checks or actions during the evaluation.
51 */
53 {
54 cExecCullFlag_SkipNone = 0, ///< Perform all checks and delete the actor if they pass.
55 cExecCullFlag_SkipDeletion = 1 << 1, ///< Skip deleting the actor if the checks do pass.
56 cExecCullFlag_SkipCameraCheck = 1 << 2, ///< Skip checking if the actor is outside of the visible camera.
57 cExecCullFlag_SkipRideCheck = 1 << 3, ///< Skip checking if the actor is riding another actor/platform.
58 cExecCullFlag_SkipTottenCheck = 1 << 4 ///< Skip checking if Nabbit has passed to the right of the actor's visible range.
59 };
60
61public:
62 virtual void setPlrNo(s32 id)
63 {
64 mPlayerNo = id;
65 }
66
67 s8 getPlrNo() const
68 {
69 return mPlayerNo;
70 }
71
72 // Address: 0x020002CC
73 virtual void removeCc();
74 // Address: 0x02000328
75 virtual void reviveCc();
76
77 virtual const ActorBgCollisionCheck* getBcConstPtr() const
78 {
79 return nullptr;
80 }
81
82 virtual void setCarryFall(Actor*, s32)
83 {
84 }
85
86 virtual bool isSpinLiftUpEnable() const
87 {
88 return true;
89 }
90
91 virtual void setSpinLiftUpActor(Actor* player)
92 {
93 }
94
95 /**
96 * @brief Called by Group Controller when "activating" the target group.
97 */
98 virtual void startGroupid()
99 {
100 }
101
102 /**
103 * @brief Called by Group Controller when "deactivating" the target group.
104 */
105 virtual void stopGroupid()
106 {
107 }
108
109 // Address: 0x02000394
110 bool checkCarried(s32* player_no) const;
111
113 {
114 return mComboCnt;
115 }
116
117 // Address: 0x02000418
119 // Address: 0x0200042C
121
122 // Address: 0x02000454
123 void slideComboSE(s32 combo_cnt, bool combo_type_2);
124
125 // Address: 0x020005A4
126 s32 searchNearPlayer(sead::Vector2f* out) const; // Returns -1 if no player found
127
128 // Address: 0x020005EC
129 DirType getDir2PlayerLR(const sead::Vector3f& position) const;
130 // Address: 0x020006B4
131 DirType getDir2PlayerUD(const sead::Vector3f& position) const;
132
134 {
135 return getDir2PlayerLR(mPos);
136 }
137
139 {
140 return getDir2PlayerUD(mPos);
141 }
142
143 /**
144 * @brief Checks if the actor is out of gameplay and optionally deletes it.
145 * @param flag Specify checks to skip, and whether to delete the actor if they all passed. See @c ExecCullFlag
146 * @return Whether the actor is out of gameplay.
147 * @details The actor is considered "out of gameplay" if:
148 * * It has not been eaten.
149 * * It is not riding another actor/platform (unless skipped by flag).
150 * * Nabbit has passed to the **right** of the actor's visible range.
151 * * The actor is out of the zone bounds OR the actor is outside of the visible camera.
152 * @par Address: 0x020007A0
153 */
154 bool actorExecCullCheck(u16 flag);
155
156 // Address: 0x02002AD8
157 virtual void allEnemyDeathEffSet(); // Spawn burst effect at instances where all enemies die (such as touching goal pole or defeating boss), called if profile flag bit 4, 5 or 7 is set
158 // Address: 0x02002ADC
159 virtual void waterSplashEffect(const sead::Vector3f& pos);
160 // Address: 0x02002AE0
161 virtual void yoganSplashEffect(const sead::Vector3f& pos);
162 // Address: 0x02000960
163 virtual void yoganWaveSplashEffect(const sead::Vector3f& pos);
164 // Address: 0x02002AE4
165 virtual void poisonSplashEffect(const sead::Vector3f& pos);
166
167 // Address: 0x02000970
169
170 // Address: 0x02000A70
171 bool checkEatenYoshi() const;
172
173 /**
174 * @brief Schedule this actor for deletion on the next frame.
175 * @param manual_deleted Prevents respawning.
176 * @par Address: 0x02000774
177 */
178 void deleteActor_(bool manual_deleted);
179
180public:
182 {
183 return mCollisionCheck;
184 }
185
187 {
188 return mCollisionCheck;
189 }
190
191 bool isExecEnable() const
192 {
193 return mIsExecEnable;
194 }
195
196 bool isDrawEnable() const
197 {
198 return mIsDrawEnable;
199 }
200
202 {
203 return mDirection;
204 }
205
206 void setDirection(DirType dir)
207 {
208 mDirection = dir;
209 }
210
211 u8 getLayer() const
212 {
213 return mLayer;
214 }
215
217 {
218 return mCollisionMask;
219 }
220
222 {
223 return mMaxSpeedF;
224 }
225
226 void setMaxSpeedF(f32 maxSpeedF)
227 {
228 mMaxSpeedF = maxSpeedF;
229 }
230
232 {
233 return mMaxFallSpeed;
234 }
235
236 void setMaxFallSpeed(f32 maxFallSpeed)
237 {
238 mMaxFallSpeed = maxFallSpeed;
239 }
240
241 /**
242 * @brief The current vertical acceleration.
243 */
245 {
246 return mGravity;
247 }
248
249 void setGravity(f32 gravity)
250 {
251 mGravity = gravity;
252 }
253
254 /**
255 * @brief The current horizontal acceleration.
256 */
257 f32 getPow() const
258 {
259 return mPow;
260 }
261
262 void setPow(f32 pow)
263 {
264 mPow = pow;
265 }
266
268 {
269 return mPos;
270 }
271
272 const sead::Vector3f& getPos() const
273 {
274 return mPos;
275 }
276
278 {
279 return reinterpret_cast<sead::Vector2f&>(mPos.x);
280 }
281
282 const sead::Vector2f& getPos2D() const
283 {
284 return reinterpret_cast<const sead::Vector2f&>(mPos.x);
285 }
286
288 {
289 return getPos() + mCenterOffset;
290 }
291
293 {
294 return getPos2D() + reinterpret_cast<const sead::Vector2f&>(mCenterOffset.x);
295 }
296
298 {
299 return mPos.x + mCenterOffset.x;
300 }
301
303 {
304 return mPos.y + mCenterOffset.y;
305 }
306
308 {
309 return mPos.z + mCenterOffset.z;
310 }
311
313 {
314 return mSpeed;
315 }
316
317 const sead::Vector3f& getSpeedVec() const
318 {
319 return mSpeed;
320 }
321
323 {
324 return mSpeedMax;
325 }
326
328 {
329 return mSpeedMax;
330 }
331
333 {
334 return mScale;
335 }
336
337 const sead::Vector3f& getScale() const
338 {
339 return mScale;
340 }
341
343 {
344 return mAngle;
345 }
346
347 const Angle3& getAngle() const
348 {
349 return mAngle;
350 }
351
352 const sead::Vector2f& getPosDelta() const
353 {
354 return mPosDelta;
355 }
356
358 {
359 return ActorKind(mActorKind);
360 }
361
362 void setKind(ActorKind kind)
363 {
364 mActorKind = kind;
365 }
366
368 {
369 return mManualDeletedFlag;
370 }
371
373 {
374 return CarryFlag(mCarryFlag);
375 }
376
378 {
379 return mSwitchFlag0;
380 }
381
383 {
384 return mSwitchFlag1;
385 }
386
388 {
389 return mBlockHitTimer;
390 }
391
393 {
394 return mBlockHitDirection;
395 }
396
397 void setBlockHitTimer(u32 time)
398 {
399 mBlockHitTimer = time;
400 }
401
402 void setBlockHitDirection(DirType dir)
403 {
404 mBlockHitDirection = dir;
405 }
406
408 {
409 return mProfFlag;
410 }
411
413 {
414 return mSpeedF;
415 }
416
417 void setSpeedF(f32 speedF)
418 {
419 mSpeedF = speedF;
420 }
421
423 {
424 return mAddSpeedF;
425 }
426
427 void setAddSpeedF(f32 speedF)
428 {
429 mAddSpeedF = speedF;
430 }
431
432protected:
433 // Address: 0x02000AC8
434 Actor(const ActorCreateParameter& param);
435 // Address: 0x02000F18
437
438protected:
439 // Address: 0x02000FB8
440 void postCreate(MainState state) override;
441
442 // Address: 0x02000FE8
444 // Address: 0x020010BC
445 void postExecute(MainState state) override;
446
447 // Address: 0x020011A0
449
450 // Address: 0x02001254
451 virtual bool actorDrawCullCheck();
452
453 virtual void blockHitInit()
454 {
455 }
456
457 // Address: 0x02001304
458 void waterSplashCommon_(const sead::Vector3f& pos, s32 effect_id, WaveType wave_type, const char* sound_label);
459
460 // Address: 0x020013D4
462
463 // Address: 0x020013E8
465 // Address: 0x02001430
466 void calcSpeedY_(f32 accel_y, f32 speed_max_y);
467 void calcSpeedY_() { calcSpeedY_(mGravity, mSpeedMax.y); }
468
469 void calcSpeedF_(f32 accelF, f32 max_speedF) { sead::Mathf::chase(&mSpeedF, max_speedF, accelF); }
470 void calcSpeedF_() { calcSpeedF_(mPow, mMaxSpeedF); }
471 // Address: 0x0200144C
472 void calcFallSpeed_(f32 accel_y, f32 max_fall_speed);
473 void calcFallSpeed_() { calcFallSpeed_(mGravity, mMaxFallSpeed); }
474
475 void posMove_(sead::Vector3f& delta)
476 {
477 mPos += delta;
478 }
479
480 void posMove_(sead::Vector2f& delta_xy, f32 delta_z)
481 {
482 getPos2D() += delta_xy;
483 mPos.z += delta_z;
484 }
485
486 void posMove_()
487 {
488 posMove_(mSpeed);
489 }
490
491 // Address: 0x02001A28
492 void carryFukidashiCheck_(FukidashiType action);
493 // Address: 0x02001490
494 void carryFukidashiCheck_(FukidashiType action, const sead::Vector2f& range);
495 // Address: 0x02001A64
496 void carryFukidashiCancel_(FukidashiType action, s32 player_no);
497
498 // Address: 0x02001DC4
500 // Address: 0x0200222C
502
503 // Address: 0x02002594
505 // Address: 0x02002664
507
508 // Address: 0x0200272C
510
511 // Address: 0x02002390
512 bool setEnemyIceBreakReq_(const BgCollision* bg_collision);
513 // Address: 0x020024E0
514 bool setDrcBlockBreakReq_(const BgCollision* bg_collision);
515
516 void setPosSuddenly_(const sead::Vector3f& position)
517 {
518 mPos.set(position);
519 mPosPrev.set(position);
520 mPosPrev2.set(position);
521 }
522
523protected:
524 Actor* searchCarryFukidashiPlayer_(FukidashiType action) const;
525
526 // Address: 0x02001AF4
527 bool isEnablePressObjBg_(const BgCollision* bg_collision) const;
528
529 // Address: 0x02001C08
530 bool checkPressBgWall_(const ActorBgCollisionCheck& bc, DirType direction) const;
531 // Address: 0x02002098
533 // Address: 0x02001F04
535
536 // Address: 0x02001B2C
537 bool isBreakPressObjBg_(const BgCollision* bgcol_approaching_side, const BgCollision* bgcol_fixed_side) const;
538
539 // Address: 0x02000720
540 u32 checkAvailableCullCheckOnQuest(const sead::BoundBox2f& src_range);
541
542protected:
546 u8 mLayer; // Inited to ActorCreateParameter::layer
548 f32 mSpeedF; // Horizontal speed
549 f32 mMaxSpeedF; // Maximum horizontal speed
550 f32 mMaxFallSpeed; // Maximum fall speed
551 f32 mGravity; // Vertical acceleration
552 f32 mPow; // Horizontal acceleration
559 sead::Vector2f mPosDelta; // At start of every frame
561 sead::Vector2f mVisibleAreaOffset; // Inited to ActorData::spawn_range.offset
562 sead::Vector2f mVisibleAreaSize; // Inited to ActorData::spawn_range.half_size * 2
564 ActorCulling::ActorCullUsable mCullLimit; // Inited to { 256.0 + ActorData::cull_range.up,
565 // 256.0 + ActorData::cull_range.down,
566 // 80.0 + ActorData::cull_range.left,
567 // 80.0 + ActorData::cull_range.right }
569 u8 mActorKind; // ActorKind
574 u8 mCarryFlag; // CarryFlag
577 u16 mCreateFlag; // Inited to ActorData::flag
584 u32 mProfFlag; // Inited to Profile::mFlag
586 sead::Vector3f mPosPrev; // At frame start
588 sead::Vector3f mPosPrev2; // At frame end
592 u8* _270; // Inited to ActorCreateParameter::_28
595};
596static_assert(sizeof(Actor) == 0x27C, "Actor size mismatch");
Definition ActorBgCollisionCheck.h:60
Definition Actor.h:24
bool isDrawEnable() const
Definition Actor.h:196
virtual void waterSplashEffect(const sead::Vector3f &pos)
sead::Vector3f mPosPrev
Definition Actor.h:586
void setAddSpeedF(f32 speedF)
Definition Actor.h:427
void setSpeedF(f32 speedF)
Definition Actor.h:417
DirType getDirection() const
Definition Actor.h:201
virtual void allEnemyDeathEffSet()
void setMaxSpeedF(f32 maxSpeedF)
Definition Actor.h:226
u32 mBlockHitTimer
Definition Actor.h:578
Angle3 mAngle
Definition Actor.h:557
bool mIsExecEnable
Definition Actor.h:570
void carryFukidashiCheck_(FukidashiType action, const sead::Vector2f &range)
sead::Vector2f mVisibleAreaSize
Definition Actor.h:562
void posMove_(sead::Vector2f &delta_xy, f32 delta_z)
Definition Actor.h:480
sead::Vector3f mSpeedMax
Definition Actor.h:555
const sead::Vector3f & getSpeedMaxVec() const
Definition Actor.h:327
s8 mPlayerNo
Definition Actor.h:544
const Angle3 & getAngle() const
Definition Actor.h:347
ActorCulling::ActorCullUsable mCullLimit
Definition Actor.h:564
void postExecute(MainState state) override
Callback invoked unconditionally after the execute phase completes. It executes even if preExecute() ...
u8 getLayer() const
Definition Actor.h:211
f32 getMaxFallSpeed() const
Definition Actor.h:231
const ActorCollisionCheck & getCollisionCheck() const
Definition Actor.h:186
u8 getSwitchFlag1() const
Definition Actor.h:382
void calcSpeedX_()
void waterSplashCommon_(const sead::Vector3f &pos, s32 effect_id, WaveType wave_type, const char *sound_label)
PropelParts * mPropelParts
Definition Actor.h:591
sead::Vector2f mVisibleAreaOffset
Definition Actor.h:561
s32 mComboCnt
Definition Actor.h:583
virtual void setCarryFall(Actor *, s32)
Definition Actor.h:82
const sead::Vector3f & getSpeedVec() const
Definition Actor.h:317
DirType mDirection
Definition Actor.h:543
f32 getPow() const
The current horizontal acceleration.
Definition Actor.h:257
bool checkEatenYoshi() const
bool preExecute() override
Callback invoked before the execute operation.
sead::Vector3f & getPos()
Definition Actor.h:267
u32 mProfFlag
Definition Actor.h:584
virtual void setSpinLiftUpActor(Actor *player)
Definition Actor.h:91
void setDirection(DirType dir)
Definition Actor.h:206
sead::Vector2f mSize
Definition Actor.h:563
sead::Vector2f getCenterPos2D() const
Definition Actor.h:292
virtual void removeCc()
ActorCollisionCheck mCollisionCheck
Definition Actor.h:560
s8 mControllerLytPlayerNo
Definition Actor.h:545
void calcSpeedF_()
Definition Actor.h:470
u16 mCreateFlag
Definition Actor.h:577
void posMove_()
Definition Actor.h:486
sead::Vector3f mCenterOffset
Definition Actor.h:585
void postCreate(MainState state) override
Callback invoked unconditionally after the create phase completes. It executes even if preCreate() by...
const sead::Vector2f & getPosDelta() const
Definition Actor.h:352
void setBlockHitDirection(DirType dir)
Definition Actor.h:402
bool mIsDrawEnable
Definition Actor.h:571
u8 mAreaNo
Definition Actor.h:568
sead::Vector3f & getSpeedVec()
Definition Actor.h:312
bool isEnablePressObjBg_(const BgCollision *bg_collision) const
void calcFallSpeed_(f32 accel_y, f32 max_fall_speed)
sead::BitFlag8 getCollisionMask() const
Definition Actor.h:216
s32 getComboCnt() const
Definition Actor.h:112
virtual const ActorBgCollisionCheck * getBcConstPtr() const
Definition Actor.h:77
sead::Vector2f & getPos2D()
Definition Actor.h:277
Actor(const ActorCreateParameter &param)
DirType getBlockHitDirection() const
Definition Actor.h:392
sead::Vector3f & getSpeedMaxVec()
Definition Actor.h:322
sead::Vector3f mPosPrevPostExec
Definition Actor.h:587
const sead::Vector2f & getPos2D() const
Definition Actor.h:282
void carryFukidashiCancel_(FukidashiType action, s32 player_no)
f32 getGravity() const
The current vertical acceleration.
Definition Actor.h:244
ChibiEatCallback * mChibiEatCallbackPtr
Definition Actor.h:590
bool setEnemyIceBreakReq_(const BgCollision *bg_collision)
u32 getProfFlag() const
Definition Actor.h:407
bool isBreakPressObjBg_(const BgCollision *bgcol_approaching_side, const BgCollision *bgcol_fixed_side) const
DirType getDir2PlayerUD()
Definition Actor.h:138
bool checkPressBgWall_(const ActorBgCollisionCheck &bc, DirType direction) const
f32 getAddSpeedF() const
Definition Actor.h:422
void setAreaNo_()
bool setDrcBlockBreakReq_(const BgCollision *bg_collision)
u8 mSwitchFlag1
Definition Actor.h:576
sead::Vector3f mPos
Definition Actor.h:553
void setPosSuddenly_(const sead::Vector3f &position)
Definition Actor.h:516
void calcSpeedF_(f32 accelF, f32 max_speedF)
Definition Actor.h:469
virtual void yoganWaveSplashEffect(const sead::Vector3f &pos)
u32 getBlockHitTimer() const
Definition Actor.h:387
bool checkCarried(s32 *player_no) const
ChibiYoshiAwaData * mChibiYoshiAwaDataPtr
Definition Actor.h:594
Actor * searchCarryFukidashiPlayer_(FukidashiType action) const
sead::Vector2f mPosDelta
Definition Actor.h:559
s32 searchNearPlayer(sead::Vector2f *out) const
u8 _220
Definition Actor.h:580
virtual void reviveCc()
DirType getDir2PlayerUD(const sead::Vector3f &position) const
u8 mSwitchFlag0
Definition Actor.h:575
f32 mPow
Definition Actor.h:552
DirType getDir2PlayerLR()
Definition Actor.h:133
f32 mMaxSpeedF
Definition Actor.h:549
CarryFlag getCarryFlag() const
Definition Actor.h:372
f32 mAddSpeedF
Definition Actor.h:593
ActorKind getKind() const
Definition Actor.h:357
void slideComboSE(s32 combo_cnt, bool combo_type_2)
f32 getSpeedF() const
Definition Actor.h:412
virtual void yoganSplashEffect(const sead::Vector3f &pos)
DirType mCarryDirection
Definition Actor.h:581
void setPow(f32 pow)
Definition Actor.h:262
u8 getSwitchFlag0() const
Definition Actor.h:377
void setMaxFallSpeed(f32 maxFallSpeed)
Definition Actor.h:236
virtual void setPlrNo(s32 id)
Definition Actor.h:62
virtual void stopGroupid()
Called by Group Controller when "deactivating" the target group.
Definition Actor.h:105
Angle3 mAnglePrev
Definition Actor.h:558
void setGravity(f32 gravity)
Definition Actor.h:249
u8 mLayer
Definition Actor.h:546
void calcSpeedY_()
Definition Actor.h:467
sead::Vector3f getCenterPos() const
Definition Actor.h:287
~Actor() override
bool actorExecCullCheck(u16 flag)
Checks if the actor is out of gameplay and optionally deletes it.
f32 mSpeedF
Definition Actor.h:548
ExecCullFlag
Flags to pass to actorExecCullCheck to skip checks or actions during the evaluation.
Definition Actor.h:53
@ cExecCullFlag_SkipTottenCheck
Skip checking if Nabbit has passed to the right of the actor's visible range.
Definition Actor.h:58
@ cExecCullFlag_SkipCameraCheck
Skip checking if the actor is outside of the visible camera.
Definition Actor.h:56
@ cExecCullFlag_SkipRideCheck
Skip checking if the actor is riding another actor/platform.
Definition Actor.h:57
@ cExecCullFlag_SkipDeletion
Skip deleting the actor if the checks do pass.
Definition Actor.h:55
@ cExecCullFlag_SkipNone
Perform all checks and delete the actor if they pass.
Definition Actor.h:54
bool isExecEnable() const
Definition Actor.h:191
bool checkInternalIceBlock_(const ActorBgCollisionCheck &bc)
f32 getMaxSpeedF() const
Definition Actor.h:221
virtual bool isSpinLiftUpEnable() const
Definition Actor.h:86
ActorCollisionCheck & getCollisionCheck()
Definition Actor.h:181
virtual void poisonSplashEffect(const sead::Vector3f &pos)
virtual void startGroupid()
Called by Group Controller when "activating" the target group.
Definition Actor.h:98
u8 mActorKind
Definition Actor.h:569
bool mManualDeletedFlag
Definition Actor.h:572
void incComboCnt()
bool getManualDeletedFlag() const
Definition Actor.h:367
f32 mGravity
Definition Actor.h:551
void calcFallSpeed_()
Definition Actor.h:473
DirType getDir2PlayerLR(const sead::Vector3f &position) const
Angle3 & getAngle()
Definition Actor.h:342
u32 mThrowPlayerNo
Definition Actor.h:582
bool checkPressBgUD_(const ActorBgCollisionCheck &bc)
f32 getCenterX() const
Definition Actor.h:297
CarryFlag
Definition Actor.h:40
@ cCarryFlag_Throw
Definition Actor.h:42
@ cCarryFlag_Release
Definition Actor.h:41
@ cCarryFlag_All
Definition Actor.h:46
@ cCarryFlag_ThrowHard
Definition Actor.h:43
@ cCarryFlag_None
Definition Actor.h:45
sead::Vector3f mScale
Definition Actor.h:556
sead::Vector3f mPosPrev2
Definition Actor.h:588
u8 * _270
Definition Actor.h:592
s8 getPlrNo() const
Definition Actor.h:67
void clrComboCnt()
f32 getCenterY() const
Definition Actor.h:302
void calcSpeedY_(f32 accel_y, f32 speed_max_y)
void setKind(ActorKind kind)
Definition Actor.h:362
bool checkPressBgLR_(const ActorBgCollisionCheck &bc)
bool checkPressBgFoot_(const ActorBgCollisionCheck &bc) const
bool setBreakPressObjBgUD_(const ActorBgCollisionCheck &bc)
void setBlockHitTimer(u32 time)
Definition Actor.h:397
sead::BitFlag8 mCollisionMask
Definition Actor.h:547
const sead::Vector3f & getScale() const
Definition Actor.h:337
void deleteActor_(bool manual_deleted)
Schedule this actor for deletion on the next frame.
f32 getCenterZ() const
Definition Actor.h:307
DirType mBlockHitDirection
Definition Actor.h:579
sead::Vector3f & getScale()
Definition Actor.h:332
void carryFukidashiCheck_(FukidashiType action)
void posMove_(sead::Vector3f &delta)
Definition Actor.h:475
u8 mCarryFlag
Definition Actor.h:574
sead::Vector3f mSpeed
Definition Actor.h:554
EatCallback * mEatCallbackPtr
Definition Actor.h:589
u32 checkAvailableCullCheckOnQuest(const sead::BoundBox2f &src_range)
bool checkPressBgHead_(const ActorBgCollisionCheck &bc) const
bool setBreakPressObjBgLR_(const ActorBgCollisionCheck &bc)
virtual bool actorDrawCullCheck()
u8 _211
Definition Actor.h:573
const sead::Vector3f & getPos() const
Definition Actor.h:272
bool preDraw() override
Callback invoked before the draw operation.
f32 getEffectZpos_() const
virtual void blockHitInit()
Definition Actor.h:453
f32 mMaxFallSpeed
Definition Actor.h:550
Definition BgCollision.h:20
Definition ChibiEatCallback.h:11
Defines parameters for interaction with bubbles from the blue Baby Yoshi.
Definition ChibiYoshiAwaData.h:14
Definition EatCallback.h:11
Definition PropelParts.h:11