New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
PlayerObject.h
Go to the documentation of this file.
1#pragma once
2
3#include <actor/PropelParts.h>
4#include <graphics/Light.h>
5#include <map/CarryType.h>
6#include <player/ChangeMgr.h>
7#include <player/PlayerBase.h>
8#include <player/PlayerEatData.h>
9#include <player/PlayerInstrument.h>
10#include <player/PlayerModelMgr.h>
11
14class CarryObjBase;
15class ChibiYoshiBase;
16class EventDown;
18class PropBlock;
19class Yoshi;
20
21// vtbl Address: 0x1016C150
23{
24 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9C9C
25 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101E9CA0
26 SEAD_RTTI_OVERRIDE(PlayerObject, PlayerBase)
27
28public:
47 static_assert(cCcSizeDataType_Num == 14);
48
56 static_assert(sizeof(CarryStep) == 4);
57
64 static_assert(sizeof(DokanCannonType) == 4);
65
71 static_assert(sizeof(CannonJumpSoundType) == 4);
72
74 {
75 };
76 static_assert(sizeof(QuakeMode) == 4);
77
88 static_assert(sizeof(ScrollMode) == 4);
89
97 static_assert(cInvalidKeyType_Num == 3);
98
105 static_assert(sizeof(InvalidKeyTimerType) == 4);
106
116
123
133 static_assert(cBgPointAnmType_Num == 5);
134
141
147
148 /**
149 * @brief Same as PlayerBase::cJumpSpeedBase
150 * @par Address: 0x1022AFF0
151 */
152 static const f32 cJumpSpeed;
153
154public:
155 // ------------------------------------ PlayerObject.cpp ------------------------------------ //
156
157 // Address: 0x02923520
158 PlayerObject(const ActorCreateParameter& param);
159
160 virtual ~PlayerObject()
161 {
162 }
163
164protected:
165 // Address: 0x02923DB0
166 Result create() override;
167 // Address: 0x02923F04
168 Result doDelete() override;
169 // Address: 0x02923F44
171 // Address: 0x02923FA0
173 // Address: 0x02923FF8
175 // Address: 0x029242F4
176 void postExecute(MainState state) override;
177
178public:
179 // Address: 0x029246FC
181 // Address: 0x02924BA0
183
184 // Address: 0x02924CBC
185 void setPlayerNo(s8 id) override;
186
187 // Address: 0x02924E98
188 void setPlayerModeImpl(PlayerMode mode, bool temporary) override;
189
190private:
191 inline void setPlayerData_();
192
193public:
194 // Address: 0x02924CC0
196 // Address: 0x02924DC4
198 // Address: 0x02924E5C
200
201 // Address: 0x0292507C
203
204 using PlayerBase::getTallType;
205 // Address: 0x02925128
206 PlayerTallType getTallType(PlayerMode mode) override;
207
208 // Address: 0x0292513C
210 // Address: 0x029251E8
211 void setZPosition(f32 z) override;
212 // Address: 0x02925234
213 void setZPositionDirect(f32 z) override;
214 // Address: 0x02925248
216
217 // Address: 0x02923D74
219
220 // Address: 0x0292406C
222
223 // Address: 0x02925258
224 virtual void setCharacterVoice();
225 // Address: 0x02923D7C
227
228 // Address: 0x029252DC
229 void getMaskPos(sead::Vector3f& pos) override;
230 // Address: 0x02925354
231 void getMaskCaveCheckPos(sead::Vector3f* pos, f32* y_offset) override;
232
233 // Address: 0x029254FC
235
236 // Address: Deleted
238 // Address: 0x0292555C
240 // Address: Deleted
242 // Address: 0x02925570
244
245 // Address: 0x02925804
247
248 // Address: 0x02925818
249 void startQuakeShock(Quake::ShockType shock_type) override;
250 // Address: 0x02925874
251 void startPatternRumble(const char* pattern) override;
252
253private:
254 inline void calcModel_();
255
256public:
257 // Address: 0x02924A7C
259
260 // Address: 0x029258D0
262
263 // Address: 0x02924600
265 // Address: 0x02924630
266 void getModelScaleBase(sead::Vector3f* scale);
267 // Address: 0x02924690
268 void getModelScale(sead::Vector3f* scale);
269
270 // Address: 0x0292434C
272
273 // Address: 0x02925964
275 // Address: 0x0292596C
277
278 bool isClimb()
279 {
280 return isStatus(cStatus_PoleRope) ||
281 isStatus(cStatus_Vine) ||
282 isStatus(cStatus_Hang) ||
283 isStatus(cStatus_KaniHang) ||
284 isStatus(cStatus_Pole);
285 }
286
287 // Address: 0x02925974
288 bool bouncePlayer1(f32 speed_y, f32 speed_F, bool enable_LR, BounceType bounce_type, JumpSe jump_se_type) override;
289 // Address: 0x029259D0
290 bool bouncePlayer2(f32 speed_y, f32 speed_F, bool enable_LR, BounceType bounce_type, JumpSe jump_se_type) override;
291 // Address: 0x02925C70
292 bool bouncePlayerSpin(f32 speed_y, f32 speed_F);
293
294 // Address: 0x02925EFC
296
297 // ------------------------------------ PlayerObjectBalloon.cpp ------------------------------------ //
298
299 // StateID_Balloon Address: 0x1022B18C
300 // initializeState_Balloon Address: 0x029265C0
301 // executeState_Balloon Address: 0x02926AA0
302 // finalizeState_Balloon Address: 0x02926EF4
303 DECLARE_STATE_ID(PlayerObject, Balloon)
304
305 // Address: 0x02926574
307
308 // Address: 0x02926A24
310
311 // Address: 0x02927018
313 // Address: 0x029270B0
315 // Address: 0x02927190
317 // Address: 0x02927294
319 // Address: 0x0292746C
320 bool setBalloonInDispOutBase(s32 type, bool by_yoshi);
321 // Address: 0x029275EC
323 // Address: 0x029275F4
325 // Address: 0x029276F8
326 bool setBalloonInDispOut(s32 type) override;
327 // Address: 0x02927740
329
330 // Address: 0x029277C0
331 void setBreakBalloonJump(Angle angle);
332
333 // Address: 0x02927998
334 void setDrawBalloonInPlayer(sead::Vector3f& pos);
335 // Address: 0x02927A90
337
338 // Address: 0x02927AA8
340
341 // Address: 0x02927B18
343
344 // ------------------------------------ PlayerObjectBg.cpp ------------------------------------ //
345
346 // Address: 0x02927F48
348 // Address: 0x02927BF4
350
351 // Address: 0x02928DC0
353
354 // Address: 0x0292897C
355 void setBcData(BcMode mode);
356
357 // Address: 0x02927BC4
359
360 // Address: 0x029282A8
361 const PlayerBgPointHIO* getBgPointDataBase(PlayerMode mode, BgPointAnmType anm_type);
362
364 {
365 return getBgPointDataBase(mMode, anm_type);
366 }
367
368 // Address: 0x029282F8
369 void reviseBgPointDataCarryHardBlock(ActorBgCollisionCheck::Sensor& wall, ActorBgCollisionCheck::Sensor& head);
370 // Address: 0x02928798
371 void reviseBgPointDataCarryPlayer(ActorBgCollisionCheck::Sensor& wall, ActorBgCollisionCheck::Sensor& head);
372 // Address: 0x0292817C
373 void reviseBgPointDataCarryUnk(ActorBgCollisionCheck::Sensor& foot, ActorBgCollisionCheck::Sensor& head, ActorBgCollisionCheck::Sensor& wall);
374
375 // Address: 0x0292861C
376 void reviseBgPointDataCarryPlayerBase(ActorBgCollisionCheck::Sensor& wall, ActorBgCollisionCheck::Sensor& head, bool carry_force_crouch);
377
378 // Address: 0x029283A4
379 CarryPlayerType checkCarryPlayerRoof(const ActorBgCollisionCheck::Sensor& wall, const ActorBgCollisionCheck::Sensor& head);
380
381 // Address: 0x02928E10
383
384 // Address: 0x02928F58
385 bool checkCancelTarzanRopeLR(DirType dir);
386 // Address: 0x02929014
388 // Address: 0x0292908C
390
391 // Address: 0x02929144
393
394 // Address: 0x02929228
396
397 // Address: 0x029292B4
399 // Address: 0x029293BC
401
402 // Address: 0x0292990C
404
405 // Address: 0x029288BC
407
408 // Address: 0x029299A8
409 bool checkPole();
410
411 // Address: 0x02929AA0
413
414 // Address: 0x02929B28
416 // Address: 0x02929B4C
418
419 // ------------------------------------ PlayerObjectByYoshi.cpp ------------------------------------ //
420
421 // StateID_Cloud2 Address: 0x1022B5D8
422 // initializeState_Cloud2 Address: 0x02929D24
423 // executeState_Cloud2 Address: 0x02929E8C
424 // finalizeState_Cloud2 Address: 0x0292A154
425 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(PlayerObject, Cloud2) // Unused, but functions almost exactly the same as Cloud
426 // StateID_BalloonChibiYoshiFly Address: 0x1022B24C
427 // initializeState_BalloonChibiYoshiFly Address: 0x0292A2E4
428 // executeState_BalloonChibiYoshiFly Address: 0x0292A474
429 // finalizeState_BalloonChibiYoshiFly Address: 0x0292A8F8
431
432 // Address: 0x02929D28
434 // Address: 0x02929D6C
436 // Address: 0x02929DF4
438
439 // Address: 0x0292A95C
441 // Address: 0x0292AB0C
442 bool setBalloonChibiYoshiFlySmall(f32 speed_y, f32 speed_F);
443
444 // Address: 0x0292A1BC
445 void setBalloonChibiYoshiFlyAnm(s32 anm_id, f32 blend_duration);
446
447 // Address: 0x0292A468
449
450 // Address: 0x0292AC44
452
453 // Address: 0x0292AD84
455 // Address: 0x0292AE70
457 // Address: 0x0292AE7C
459
460 // Address: 0x0292AEE4
462
463 // Address: 0x0292AE8C
464 void setBubbleChibiYoshiShakeAnm(f32 blend_duration);
465
466 // Address: 0x0292AF2C
468
469 // Address: 0x0292B1AC
471
472 // Address: 0x0292B294
473 void setChibiYoshiSpeed(f32 speed_y, f32 speed_F);
474
475 // ------------------------------------ PlayerObjectCannon.cpp ------------------------------------ //
476
477 // StateID_DemoBossCannonWarp Address: 0x1022AF08
478 // initializeState_DemoBossCannonWarp Address: 0x0292B568
479 // executeState_DemoBossCannonWarp Address: 0x0292B5C8
480 // finalizeState_DemoBossCannonWarp Address: 0x0292B634
481 DECLARE_STATE_ID(PlayerObject, DemoBossCannonWarp)
482
483 // StateID_CannonJump Address: 0x1022B1AC
484 // initializeState_CannonJump Address: 0x0292B674
485 // executeState_CannonJump Address: 0x0292B718
486 // finalizeState_CannonJump Address: 0x0292BD38
488
489 // Address: 0x0292BE1C
491
492 // Address: 0x0292BED8
493 bool setCannonJump(const sead::Vector3f& pos, const sead::Vector2f& speed, s32 jump_time);
494 // Address: 0x0292BFA4
495 bool setDemoBossCannonWarp(const sead::Vector3f& pos, const sead::Vector2f& speed, CannonJumpSoundType jump_sound_type = cCannonJumpSoundType_Warp);
496
497 // Address: 0x0292B35C
499 // Address: 0x0292B5F4
501
502 // Address: 0x0292BFF8
503 bool setCannonWarpPos(const sead::Vector3f& pos);
504 // Address: 0x0292C05C
505 bool setCannonWarpSpeed(const sead::Vector2f& speed);
506 // Address: 0x0292C08C
507 bool setCannonWarpScale(f32 scale);
508 // Address: 0x0292C0B8
509 bool setCannonWarpAngleX(Angle angle_x);
510
511 // ------------------------------------ PlayerObjectCc.cpp ------------------------------------ //
512
513 // Address: 0x0292E92C
514 void getSpinLiftUpCcSizeInfo(sead::Vector2f* center_offset, sead::Vector2f* half_size);
515
516 // Address: 0x0292E9C8
517 virtual void setFireBallDamage(ActorCollisionCheck::Attack attack);
518
519 // Address: 0x0292EA6C
521
522 // Address: 0x0292EB3C
523 virtual bool setPlayerFlyDamage(PlayerBase* player_other, ActorCollisionCheck::Attack attack);
524
525 // Address: 0x0292EC18
527
528 // ------------------------------------ PlayerObjectDemo.cpp ------------------------------------ //
529
530 // Address: 0x02931B34
531 virtual bool canChangeTo(PlayerMode mode);
532
533 // Address: 0x02931D18
534 bool setPlayerModeForce(PlayerMode mode);
535
536 // ------------------------------------ PlayerObjectDemoDoa.cpp ------------------------------------ //
537
538 // Address: 0x02935158
540
541 // ------------------------------------ PlayerObjectDemoDokan.cpp ------------------------------------ //
542
543 // Address: 0x02936020
544 void initDemoInDokan(DokanDir dir) override;
545 // Address: 0x02936130
546 virtual void initDemoInDokanAngle(DokanDir dir);
547
548 // Address: 0x02936288
550
551 // ------------------------------------ PlayerObjectDemoDown.cpp ------------------------------------ //
552
553 // Address: 0x02937794
555
556 // ------------------------------------ PlayerObjectDemoSubject.cpp ------------------------------------ //
557
558 // Address: 0x02939720
560
561 // ------------------------------------ PlayerObjectFire.cpp ------------------------------------ //
562
563 // Address: 0x0293AD58
564 void createFireBall(bool spin = false);
565
566 // Address: 0x0293B018
568
569 // Address: 0x0293B3E4
571
572 // ------------------------------------ PlayerObjectKani.cpp ------------------------------------ //
573
574 // StateID_KaniJump Address: 0x1022B34C
575 // initializeState_KaniJump Address: 0x02941D98
576 // executeState_KaniJump Address: 0x02941E18
577 // finalizeState_KaniJump Address: 0x02941EA8
578 DECLARE_STATE_ID(PlayerObject, KaniJump)
579
580 // Address: 0x02941EE4
582
583 // ------------------------------------ PlayerObjectMonkey.cpp ------------------------------------ //
584
585 // Address: 0x029457D8
587
588 // ------------------------------------ PlayerObjectPole.cpp ------------------------------------ //
589
590 // Address: 0x02947270
592
593 // ------------------------------------ PlayerObjectPropel.cpp ------------------------------------ //
594
595 // StateID_Propel Address: 0x1022B1EC
596 // initializeState_Propel Address: 0x029475C0
597 // executeState_Propel Address: 0x02947CF0
598 // finalizeState_Propel Address: 0x02947FA8
599 DECLARE_STATE_ID(PlayerObject, Propel)
600
601 // Address: 0x029480AC
603
605 {
606 mPropelFlyTime = true;
607 }
608
609 // ------------------------------------ PlayerObjectRide.cpp ------------------------------------ //
610
611 // Address: 0x029489B0
612 PlayerObject* getRidePlayer(); // The player we are currently riding, or nullptr if we aren't riding anything
613
614 // Address: 0x02948FCC
615 bool setRideOffPlayerJump(f32 speed_y, f32 speed_f);
616
617 // Address: 0x029497C0
619
620 // Address: 0x02949A28
622
623 // Address: 0x02949ACC
625
626 // Address: 0x02949BB4
628
629 // ------------------------------------ PlayerObjectStar.cpp ------------------------------------ //
630
631 // Address: 0x0294FF20
632 bool isStar() const override;
633
634 // Address: 0x029500DC
636
637 // ------------------------------------ PlayerObjectThrow.cpp ------------------------------------ //
638
639 // Address: 0x02953314
641 // Address: 0x029533D4
642 bool checkCarryThrow(bool throw_hard = false);
643 // Address: 0x02952F20
644 void setThrowActor(bool throw_hard = false);
645
646 // Address: 0x02952C2C
648 // Address: 0x02953218
650
651 // Address: 0x02953494
653
654 // ------------------------------------ PlayerObjectVine.cpp ------------------------------------ //
655
656 // Address: 0x02954840
658
659 // Address: 0x02953D50
661 // Address: 0x02953E2C
663 // Address: 0x0295436C
665 // Address: 0x02954560
666 void vineWalk();
667
668 // Address: 0x02954D8C
670
671 // Address: 0x02954E94
673
674 // ------------------------------------ PlayerObjectWalk.cpp ------------------------------------ //
675
676 // StateID_Walk Address: 0x1022B44C
677 // initializeState_Walk Address: 0x029551A4
678 // executeState_Walk Address: 0x029554C8
679 // finalizeState_Walk Address: 0x029555C0
680 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(PlayerObject, Walk)
681
682 // Address: 0x02957034
684
685 // Address: 0x029573A8
686 virtual bool isIceSlipAnmPlay();
687
688 // Address: 0x02957418
690
691 // Address: 0x02957430
692 virtual void setTurnAction_Turned();
693
694 // ------------------------------------ PlayerObjectWalkWall.cpp ------------------------------------ //
695
696 // Address: 0x029587B4
698
699 // ------------------------------------ PlayerObjectWallJump.cpp ------------------------------------ //
700
701 // Address: 0x02959B04
703
704 // ------------------------------------ PlayerObjectJump.cpp ------------------------------------ //
705
706 // StateID_Jump Address: 0x1022B470
707 // initializeState_Jump Address: 0x0293F214
708 // executeState_Jump Address: 0x0293FBFC
709 // finalizeState_Jump Address: 0x0293FCE4
710 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(PlayerObject, Jump)
711 // StateID_Fall Address: 0x1022B494
712 // initializeState_Fall Address: 0x0293FD98
713 // executeState_Fall Address: 0x0293FE7C
714 // finalizeState_Fall Address: 0x0293FF8C
716 // StateID_Land Address: 0x1022B4B8
717 // initializeState_Land Address: 0x0293FFE8
718 // executeState_Land Address: 0x02940068
719 // finalizeState_Land Address: 0x029401C0
721 // StateID_SitJump Address: 0x1022B500
722 // initializeState_SitJump Address: 0x029401E8
723 // executeState_SitJump Address: 0x02940310
724 // finalizeState_SitJump Address: 0x029403E0
726
727 // Address: 0x02940C38
728 virtual void setFunsuiAscendAnm();
729
730 // ------------------------------------ PlayerObjectSPIN.cpp ------------------------------------ //
731
732 // StateID_SpinJump Address: 0x1022B0AC
733 // initializeState_SpinJump Address: 0x0294A36C
734 // executeState_SpinJump Address: 0x0294AAF4
735 // finalizeState_SpinJump Address: 0x0294AB78
736 DECLARE_STATE_ID(PlayerObject, SpinJump)
737
738 // Address: 0x0294AC64
740
741 // Address: 0x0294AD14
742 u16 makeSpinJumpParam(s32 type, JumpSe jump_se_type);
743
744 // Address: 0x0294AD20
746
747 // Address: 0x0294ADD0
749
750 // Address: 0x0294AF60
752
753 // Address: 0x0294A87C
755
756 // Address: 0x0294B37C
757 virtual void getSpinJumpEffectPos(sead::Vector3f& pos);
758
759 // Address: 0x0294B398
760 virtual void setSpinJumpEffectSub();
761
762 // Address: 0x0294B4B8
764
765 // Address: 0x0294B578
767
768 // Address: 0x0294B5B8
770
771 // ------------------------------------ PlayerObjectSWIM.cpp ------------------------------------ //
772
773 // StateID_Swim Address: 0x1022B5B4
774 // initializeState_Swim Address: 0x0294BD5C
775 // executeState_Swim Address: 0x0294EA34
776 // finalizeState_Swim Address: 0x0294EE2C
777 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(PlayerObject, Swim)
778
779 // Address: 0x0294EF64
781
782 // Address: 0x0294F190
783 bool setSwimSpeed(f32 speed_y, f32 speed_F);
784
785 // ------------------------------------ PlayerObjectTarzanRope.cpp ------------------------------------ //
786
787 // Address: 0x029529A8
789
790 // Address: 0x02952B58
792
793 // ------------------------------------ PlayerObjectDamage.cpp ------------------------------------ //
794
795 // Address: 0x02930858
796 bool setDamage2(Actor* actor, DamageType type) override;
797
798 // Address: 0x02930A8C
799 virtual bool setFlyDamageAction(DamageType type, Actor* actor);
800
801 // Address: 0x0293063C
802 bool setFlyDamageActionImpl_Part1(DamageType type, Actor* actor);
803 // Address: 0x02930B48
804 virtual bool setFlyDamageActionImpl_Part2(DamageType type, bool, bool = false, bool = false);
805
806 bool setFlyDamageActionImpl(DamageType type, Actor* actor)
807 {
808 if (setFlyDamageActionImpl_Part2(type, setFlyDamageActionImpl_Part1(type, actor)))
809 return true;
810 return false;
811 }
812
813 // Address: 0x02930CEC
815
816 // Address: 0x02930D68
817 virtual void setElecDamage();
818
819 // Address: 0x02931368
820 bool setDamage(Actor* actor, DamageType type) override;
821 // Address: 0x02931458
822 bool setForcedDamage(Actor* actor, DamageType type) override;
823
824 // Address: 0x0293153C
825 bool setFlyDamage(DamageType type, DirType dir, bool, bool, f32 speed_F, f32 speed_y) override;
826
827 // Address: 0x02931678
828 virtual void setRideOffDamage();
829
830 // ------------------------------------ PlayerObjectCarry.cpp ------------------------------------ //
831
832 // StateID_LiftUp Address: 0x1022B04C
833 // initializeState_LiftUp Address: 0x0292C2A8
834 // executeState_LiftUp Address: 0x0292C414
835 // finalizeState_LiftUp Address: 0x0292C670
836 DECLARE_STATE_ID(PlayerObject, LiftUp)
837
838 // Address: 0x0292C170
840
841 // Address: 0x0292C20C
843
844 // Address: 0x0292C670
846 // Address: 0x0292C7FC
848
849 // Address: 0x0292C898
851 // Address: 0x0292C934
853
854 // Address: 0x0292C9D0
856 // Address: 0x0292CA18
858
859 // Address: 0x0292CA60
861
862 // Address: 0x0292CAFC
864
865 // Address: 0x0292CB98
867 // Address: 0x0292CC08
869 // Address: 0x0292CC54
871
872 // Address: 0x0292CCCC
873 void setCarryFall(Actor*, s32) override;
874
875 // Address: 0x0292CD4C
877 // Address: 0x0292CDE8
878 void setSpinLiftUpActor(Actor* player) override;
879
880 // Address: 0x0292CEAC
882
883 // Address: 0x0292CF48
885 // Address: 0x0292D048
887
888 // Address: 0x0292C70C
889 void setCarryBase(UniqueID actor_id, CarryType type);
890 // Address: 0x0292D060
891 void setLiftUpBase(UniqueID actor_id, CarryType type);
892 // Address: 0x0292D138
893 virtual bool setCarry(Actor* actor, CarryType type);
894
895 // Address: 0x0292CEBC
896 void cancelCarry(Actor* actor);
897
898 // Address: 0x0292D2F8
899 bool setLiftUpTotten(Actor* actor);
900 // Address: 0x0292D474
902
903 // Address: 0x0292D534
905
906 // Address: 0x0292D564
908
909 // Address: 0x0292D704
910 void getCarryPos(sead::Vector3f* pos);
911 // Address: 0x0292D704
912 bool getCarryMtx(sead::Matrixf* mtx);
913
914 // Address: 0x0292D780
916
917 // Address: 0x0292D8A4
919 // Address: 0x0292D8BC
920 void checkSpinLiftUpReserve(ActorCollisionCheck* cc);
921 // Address: 0x0292D9A4
923
924 // Address: 0x0292DAE8
926
928 {
929 return mCarryActorID;
930 }
931
933 {
934 return mCarryStep;
935 }
936
937 // ------------------------------------ PlayerObjectEat.cpp ------------------------------------ //
938
939 // Address: 0x029398EC
940 Yoshi* getEatYoshi(); // The Yoshi we are currently eaten by, or nullptr if we aren't being carried in a Yoshi's mouth
941
942 // ------------------------------------ PlayerObjectYoshi.cpp ------------------------------------ //
943
944 // Address: 0x0295A3EC
946
947 // Address: 0x0295A59C
949
950 // Address: 0x0295A6F8
952
953 // Address: 0x0295A7E4
954 virtual bool vfAE4();
955
956 // ------------------------------------ PlayerObjectFly.cpp ------------------------------------ //
957
958 // Address: 0x0293D5DC
960
961 // ------------------------------------ PlayerObjectHangPlayer.cpp ------------------------------------ //
962
963 // Address: 0x0293DF70
964 virtual bool isPlayerHang(PlayerObject* player_obj_parent);
965
966 // Address: 0x0293E1A4
967 void setPlayerHangChildAnm(s32 anm_id, f32 blend_duration);
968
969 // ------------------------------------ PlayerObjectFukidashi.cpp ------------------------------------ //
970
971 // Address: 0x0293D6AC
973
974 // Address: 0x0293D754
976
977 // Address: 0x0293D908
979
980 // ------------------------------------ PlayerObjectStf.cpp ------------------------------------ //
981
982 // Address: 0x02950B50
983 virtual bool updateEndingDanceImpl();
984
985 // ------------------------------------ PlayerObjectRuiji.cpp ------------------------------------ //
986
987 // Address: 0x0294A0D4
988 virtual void onChangeRDashPhysics();
989
990 // Address: 0x0294A130
992 // Address: 0x0294A168
994
995 // ------------------------------------ Uncategorized ------------------------------------ //
996
997 // Address: 0x02931B34
998 bool canChangeTo(PlayerMode mode) const;
999
1000 // Address: 0x02931C1C
1001 bool setItem(PlayerMode mode);
1002
1003 // Address: 0x0293A314
1005
1006 // Address: 0x0293A388
1008
1010
1012
1014
1015 void initializeDemoControl(bool carry_chibi_yoshi = true) override;
1016
1018 {
1019 return mChangeMgr.isChange();
1020 }
1021
1024
1025 void setDemoGoal(const sead::Vector2f& pos, f32 walk_target_pos_x, bool secret_exit) override;
1027 bool vf51C(u32) override;
1028 bool setDoorDemo(Actor*, u32) override;
1030
1035
1036 bool updateDemoKimePose(ClearType clear_type) override;
1038
1041
1042 f32 vf584() override;
1043 void getDokanWallBgPointData(ActorBgCollisionCheck::Sensor* sensor) override;
1044
1046
1048
1050
1051 void setWaitActionAnm(AnmBlend blend) override;
1052 void setWalkActionAnm(AnmBlend blend) override;
1053 void walkActionInit_Wait(AnmBlend blend) override;
1054
1056
1058
1059 bool setHipAttackOnEnemy(const sead::Vector3f& target_pos) override;
1061
1063
1065
1067
1069
1070 bool vf7F4(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
1071
1073
1075
1077
1078 f32 getJumpSpeed() override;
1080
1081 void setJumpSound(JumpSe jump_se_type) override;
1082 void vf8AC(bool) override;
1083
1086 bool setNormalDamage(ActorCollisionCheck* cc) override;
1087 bool setPressBgDamage(DamageType type, bool) override;
1088
1089 void clearStarCount() override { mStarCnt = 0; }
1090 s8 getStarCount() const override { return mStarCnt; }
1091 s8 calcStarCount(s32 max) override;
1092 void setStar(StarSet set_type = cStarSet_Default, s32 time = 0) override;
1094 void setVirusStar(PlayerBase* other) override;
1095
1111
1116
1118
1120
1122
1123 static s32 getParamPlayerNo(u32 param_0)
1124 {
1125 return param_0 & 0xF;
1126 }
1127
1128 static PlayerMode getParamPlayerMode(u32 param_0)
1129 {
1130 return PlayerMode(param_0 >> 4 & 0xF);
1131 }
1132
1134 {
1135 return PlayerCharacter(param_0 >> 8 & 0xF);
1136 }
1137
1139 {
1140 switch (getParamPlayerCharacter(param_0))
1141 {
1142 case cPlayerCharacter_Mario:
1143 default:
1144 return PlayerModelBase::cType_Mario;
1145 case cPlayerCharacter_Luigi:
1146 return PlayerModelBase::cType_Luigi;
1147 case cPlayerCharacter_YellowToad:
1148 return PlayerModelBase::cType_YellowToad;
1149 case cPlayerCharacter_BlueToad:
1150 return PlayerModelBase::cType_BlueToad;
1151 case cPlayerCharacter_Nabbit:
1152 return PlayerModelBase::cType_Nabbit;
1153 case cPlayerCharacter_Mii:
1154 return PlayerModelBase::cType_Mii;
1155 }
1156 }
1157
1159 {
1160 return DirType(param_0 >> 24 & 0xF);
1161 }
1162
1164 {
1165 return mModePrev;
1166 }
1167
1169 {
1170 return mDirection;
1171 }
1172
1173protected:
1186 sead::SafeArray<
1187 s32,
1189 > mInvalidKeyTimer; // [0] = all input, [1] = LR, [2] = shake
1190 sead::SafeArray<
1217 bool _2a04;
1294 bool _2cdc;
1298 u32 mTarzanRopeBgType; // 0 = ivy, 1 = kusari, 2 = rope(?)
1314 bool _2d30;
1328 bool _2d84;
1352 u32 mStarEffectStep; // 0 = Idle, 1 = Active, 2 = Fading
1362 s32 _3490; // Ending Dance related
1363 s32 _3494; // ^^^
1367 u32 _34ac; // ^^^
1369 bool _34c4; // ^^^
1370 bool _34c5; // ^^^
1374 s32 _34d4; // Some random timer
1375};
1376static_assert(sizeof(PlayerObject) == 0x34D8);
Definition BalloonChibiYoshi.h:9
Definition BubbleChibiYoshi.h:9
Definition CarryObjBase.h:8
Definition ChibiYoshiBase.h:7
Definition EventDown.h:7
Definition EventPlayerChange.h:7
Definition PlayerObject.h:23
virtual void setTurnAction_Turned()
Actor * getCarryPropelActor()
bool _2a04
Definition PlayerObject.h:1217
f32 getTarzanRopeCenterY()
EffectObj mPMusaEffect
Definition PlayerObject.h:1355
PlayerInstrument mPlayerInstrument
Definition PlayerObject.h:1361
bool setBalloonInNextgoto()
u32 _2ac8
Definition PlayerObject.h:1262
void getCarryPos(sead::Vector3f *pos)
Effect mItemGetEffect1
Definition PlayerObject.h:1338
void setYoshiBackPos()
f32 _2cd8
Definition PlayerObject.h:1293
void updateSpinJumpEffect()
bool preExecute() override
Callback invoked before the execute operation.
CarryPlayerType
Definition PlayerObject.h:136
@ cCarryPlayerType_Blocked
Definition PlayerObject.h:139
@ cCarryPlayerType_Normal
Definition PlayerObject.h:137
@ cCarryPlayerType_ForceCrouch
Definition PlayerObject.h:138
u32 _2a40
Definition PlayerObject.h:1232
bool checkCancelTarzanRopeUpRDash()
bool isEnableZoom()
u32 _2a24
Definition PlayerObject.h:1225
u32 _34ac
Definition PlayerObject.h:1367
void setBcSensorFlagsPlayer()
u32 _2d20
Definition PlayerObject.h:1310
u32 _2b58
Definition PlayerObject.h:1272
CarryPlayerType checkCarryPlayerRoof(const ActorBgCollisionCheck::Sensor &wall, const ActorBgCollisionCheck::Sensor &head)
EffectID getHipDropBlurEffectID() override
sead::SafeArray< EffectObj, 2 > mMusaFlyUpEffectDoubleBuffer
Definition PlayerObject.h:1351
virtual void initDemoInDokanAngle(DokanDir dir)
f32 mKaniPosY
Definition PlayerObject.h:1313
virtual bool isPlayerHang(PlayerObject *player_obj_parent)
virtual CcSizeDataType getCcSizeDataType()
const Actor * getCarryPropelActor() const
bool setVineAction()
u32 _2aa8
Definition PlayerObject.h:1256
void setClampFaceRot()
void setModeGravity()
u32 _2cfc
Definition PlayerObject.h:1302
u8 _29dc
Definition PlayerObject.h:1209
void calcVineSpeed()
void finCannonJump()
virtual bool setPlayerFlyDamage(PlayerBase *player_other, ActorCollisionCheck::Attack attack)
sead::Vector2f mDemoInBossMoveTarget
Definition PlayerObject.h:1214
void initBcData()
bool setBalloonDispOutBase()
UniqueID mPlayerIceActorID
Definition PlayerObject.h:1290
void setFallDownDemo() override
bool checkVineEnd()
bool setSwimSpeed(f32 speed_y, f32 speed_F)
void setSpeedData()
f32 _27b0[2]
Definition PlayerObject.h:1194
bool isFaceRot() override
EffectObj _303c
Definition PlayerObject.h:1345
bool bouncePlayer2(f32 speed_y, f32 speed_F, bool enable_LR, BounceType bounce_type, JumpSe jump_se_type) override
ChibiYoshiBase * getCarryChibiYoshi()
void setWaitActionAnm(AnmBlend blend) override
void setPlayerData_()
void resetLight() override
u32 mWhichJump
Definition PlayerObject.h:1222
u32 mPMusaTransformStep
Definition PlayerObject.h:1215
void initializeDemoControl(bool carry_chibi_yoshi=true) override
u32 _2d28
Definition PlayerObject.h:1312
void executeLastAll() override
EffectObj mMusaFlyEffect
Definition PlayerObject.h:1349
s32 _3494
Definition PlayerObject.h:1363
Angle _2ac4
Definition PlayerObject.h:1261
void setSlipAction() override
Effect mMissSpinJumpEffect
Definition PlayerObject.h:1347
void setJumpSound(JumpSe jump_se_type) override
bool isCarryMamePlayer() override
void setLiftUpBase(UniqueID actor_id, CarryType type)
u32 _2a20
Definition PlayerObject.h:1224
EffectID getRunSmokeEffectID() override
bool setCannonWarpAngleX(Angle angle_x)
bool isEnableRDashLuigiPhysics() const override
s32 mIdleCounter
Definition PlayerObject.h:1366
void executeLastPlayer() override
Angle mRopeAngleDiffOld
Definition PlayerObject.h:1306
void clearStarCount() override
Definition PlayerObject.h:1089
DokanCannonType
Definition PlayerObject.h:59
@ cDokanCannonType_ShootUp
Definition PlayerObject.h:60
@ cDokanCannonType_WarpCannon
Definition PlayerObject.h:62
@ cDokanCannonType_ShootDiagonal
Definition PlayerObject.h:61
void setScrollMode(ScrollMode mode)
f32 getStandHeadBgPointY() override
EffectID getHipDropSurfaceEffectID() override
bool mThrowHard
Definition PlayerObject.h:1242
sead::BitFlag8 _34a4
Definition PlayerObject.h:1365
sead::Vector2f mEatPosOffset
Definition PlayerObject.h:1327
void getMaskCaveCheckPos(sead::Vector3f *pos, f32 *y_offset) override
f32 mWalkWallSpeed
Definition PlayerObject.h:1308
virtual bool vfAE4()
bool isNoDamage() override
void createFireBall(bool spin=false)
bool checkCarryActor(PlayerObject *player)
void calcModelRidePlayer()
void setInvalidKeyTimer_LR(s32 time, InvalidKeyTimerType type)
bool checkRidePlayerRoofRidePress()
s32 _2acc
Definition PlayerObject.h:1263
bool mPropelFlyTime
Definition PlayerObject.h:1281
Angle mRopeAngleDiffNow
Definition PlayerObject.h:1304
virtual void initPlayerDownCommonImpl()
bool setFlyDamage(DamageType type, DirType dir, bool, bool, f32 speed_F, f32 speed_y) override
f32 mLiftUpOffsetRatio
Definition PlayerObject.h:1238
void setHipAttack_AttackStart() override
bool setLiftUpTotten(Actor *actor)
f32 _29d0
Definition PlayerObject.h:1206
void setJrCrownPos()
f32 mEffectScale
Definition PlayerObject.h:1212
bool setNormalDamage(ActorCollisionCheck *cc) override
void setModelDark()
void VineActionNet()
PlayerEatData mEatData
Definition PlayerObject.h:1326
u8 _2d4a
Definition PlayerObject.h:1322
void setVirusStar(PlayerBase *other) override
void executeDemoGoal_Run() override
void getModelScale(sead::Vector3f *scale)
void releaseCarryActorBase()
void setSubjectClear() override
bool setCannonJump(const sead::Vector3f &pos, const sead::Vector2f &speed, s32 jump_time)
bool bouncePlayerSpin(f32 speed_y, f32 speed_F)
bool checkAllBalloonFade()
bool setBalloonInCreate()
bool setSpinAction()
PropelParts mPropelParts
Definition PlayerObject.h:1199
bool _2d84
Definition PlayerObject.h:1328
f32 mLiftUpReserveSpeed
Definition PlayerObject.h:1237
void updateBubbleChibiYoshiShake()
bool setLightChibiYoshiShake()
u32 _2a0c
Definition PlayerObject.h:1219
Angle getModelAngleY()
bool setFlyDamageActionImpl_Part1(DamageType type, Actor *actor)
void setBreakBalloonJump(Angle angle)
void startQuakeShock(Quake::ShockType shock_type) override
sead::SafeArray< s32, 3 > _3498
Definition PlayerObject.h:1364
InvalidKeyType
Definition PlayerObject.h:91
@ cInvalidKeyType_All
Definition PlayerObject.h:92
@ cInvalidKeyType_Num
Definition PlayerObject.h:95
@ cInvalidKeyType_Shake
Definition PlayerObject.h:94
@ cInvalidKeyType_LR
Definition PlayerObject.h:93
virtual bool isEnableRDashLuigiGravity()
sead::Vector3f mCannonJumpStartPos
Definition PlayerObject.h:1254
Result create() override
Main initialization/setup callback for the actor.
void calcCarryStep()
void initDemoInDokan(DokanDir dir) override
u32 _2a10
Definition PlayerObject.h:1220
virtual void setElecDamage()
u32 mStarEffectStep
Definition PlayerObject.h:1352
void getDokanWallBgPointData(ActorBgCollisionCheck::Sensor *sensor) override
bool setCannonWarpSpeed(const sead::Vector2f &speed)
u32 _2d4c
Definition PlayerObject.h:1323
bool setBalloonChibiYoshiFly()
u32 _2b78
Definition PlayerObject.h:1279
u32 _27cc
Definition PlayerObject.h:1197
void setHipBlockBreak() override
u32 _2b48
Definition PlayerObject.h:1268
f32 _2b5c
Definition PlayerObject.h:1273
void getMaskPos(sead::Vector3f &pos) override
u32 mBalloonControllerConnectStatus
Definition PlayerObject.h:1252
s32 mJumpAnmID
Definition PlayerObject.h:1373
bool mPlayerEatDieNow
Definition PlayerObject.h:1210
void setBalloonHelpVoice()
bool _34c4
Definition PlayerObject.h:1369
void cancelCarry(Actor *actor)
Angle _2c58
Definition PlayerObject.h:1286
EffectObj _2fd4
Definition PlayerObject.h:1344
void offZPosSetNone() override
QuakeMode mQuakeMode
Definition PlayerObject.h:1291
static const f32 cJumpSpeed
Same as PlayerBase::cJumpSpeedBase.
Definition PlayerObject.h:152
void clearSpinLiftUpReserve()
void startPatternRumble(const char *pattern) override
PlayerMode getModePrev() const
Definition PlayerObject.h:1163
UniqueID getCarryActorID() const
Definition PlayerObject.h:927
void postExecute(MainState state) override
Callback invoked unconditionally after the execute phase completes. It executes even if preExecute() ...
void setInvalidKeyTimer(s32 time, InvalidKeyTimerType type)
EffectID getSlipSmokeEffectID() override
void setBubbleChibiYoshiShakeAnm(f32 blend_duration)
const PlayerBgPointHIO * getBgPointData() override
void setPlayerHangChild(PlayerObject *player)
u32 _2dd0
Definition PlayerObject.h:1335
bool isSpinLiftUpEnable() override
f32 mCarryStepTimer
Definition PlayerObject.h:1184
void executeDemoGoal_Item() override
u32 _340c
Definition PlayerObject.h:1358
bool setVineToKaniHangAction()
void calcModel_()
void setBalloonChibiYoshiFlyAnm(s32 anm_id, f32 blend_duration)
void clearJumpActionInfo() override
bool isWaitFrameCountMax() override
bool setBalloonInDispOut(s32 type) override
void releasePlayerHangChild()
void checkBgCrossSub() override
sead::SafeArray< s32, 5 > _34b0
Definition PlayerObject.h:1368
f32 getMoveJumpSpeed() override
BgPointType getBgPointType()
void reviseBgPointDataCarryHardBlock(ActorBgCollisionCheck::Sensor &wall, ActorBgCollisionCheck::Sensor &head)
Result doDelete() override
u32 _2b50
Definition PlayerObject.h:1270
void setCarryBase(UniqueID actor_id, CarryType type)
void setChibiYoshiSpeed(f32 speed_y, f32 speed_F)
void initDemoOutDokan() override
s32 _2998
Definition PlayerObject.h:1201
bool isEnableMameDokanIn() override
void setInvalidKeyTimer_Shake(s32 time, InvalidKeyTimerType type)
ScrollMode mScrollMode
Definition PlayerObject.h:1198
s8 calcStarCount(s32 max) override
void setStar(StarSet set_type=cStarSet_Default, s32 time=0) override
bool isEnableBalloonChibiYoshiFlySpin()
bool isChange() override
Definition PlayerObject.h:1017
void setSoundPlyMode()
bool updateDemoKimePose(ClearType clear_type) override
Angle mRopeAngleOld
Definition PlayerObject.h:1305
u32 _2b4c
Definition PlayerObject.h:1269
bool isPlayerHangChild()
void setDrawBalloonInPlayer(sead::Vector3f &pos)
CannonJumpSoundType
Definition PlayerObject.h:67
@ cCannonJumpSoundType_Normal
Definition PlayerObject.h:68
@ cCannonJumpSoundType_Warp
Definition PlayerObject.h:69
s32 mBalloonChibiYoshiFlyAscendGravityTimer
Definition PlayerObject.h:1244
void getSpinLiftUpCcSizeInfo(sead::Vector2f *center_offset, sead::Vector2f *half_size)
virtual void getSpinJumpEffectPos(sead::Vector3f &pos)
void setSpinLiftUpReserve()
u16 makeSpinJumpParam(s32 type, JumpSe jump_se_type)
CannonJumpSoundType mCannonJumpSoundType
Definition PlayerObject.h:1255
virtual void setFireBallDamage(ActorCollisionCheck::Attack attack)
EffectObj mStarEffect
Definition PlayerObject.h:1353
sead::BitFlag16 mPenguinSwimFlag
Definition PlayerObject.h:1297
u32 _2d24
Definition PlayerObject.h:1311
void executeDemoGoal_PreRun() override
virtual bool isDrawingCarryFukidashi()
void setBcSensorFlags()
DokanCannonType mDokanCannonType
Definition PlayerObject.h:1213
EffectObj mPMusaFlyEffect
Definition PlayerObject.h:1357
EffectID getDashSmokeEffectID() override
f32 _2ab8
Definition PlayerObject.h:1258
bool setDamage2(Actor *actor, DamageType type) override
bool isStar() const override
EffectID getWaterSplashEffectID(bool big) override
const PlayerGravityData * getGravityData() override
void setCarryFall(Actor *, s32) override
void throwCarryActor() override
static s32 getParamPlayerNo(u32 param_0)
Definition PlayerObject.h:1123
void setZPosition() override
const PropBlock * getCarryPropelBlock() const
u32 _2b54
Definition PlayerObject.h:1271
u32 _2a28
Definition PlayerObject.h:1226
PlayerObject * getRidePlayer()
Yoshi * getEatYoshi()
BgPointAnmType
Definition PlayerObject.h:125
@ cBgPointAnmType_Hang
Definition PlayerObject.h:128
@ cBgPointAnmType_StarRoll
Definition PlayerObject.h:130
@ cBgPointAnmType_Num
Definition PlayerObject.h:131
@ cBgPointAnmType_Swim
Definition PlayerObject.h:129
@ cBgPointAnmType_Squat
Definition PlayerObject.h:127
@ cBgPointAnmType_Normal
Definition PlayerObject.h:126
InvalidKeyTimerType
Definition PlayerObject.h:100
@ cInvalidKeyTimerType_ResetOnDescendOrGround
Definition PlayerObject.h:103
@ cInvalidKeyTimerType_Normal
Definition PlayerObject.h:101
@ cInvalidKeyTimerType_ResetOnGround
Definition PlayerObject.h:102
virtual bool setFlyDamageActionImpl_Part2(DamageType type, bool, bool=false, bool=false)
bool setHideNotGoalPlayer() override
u32 _2d50
Definition PlayerObject.h:1324
CarryStep mCarryStep
Definition PlayerObject.h:1182
bool vf19C() override
EffectID getLavaWaveSplashEffectID(bool big) override
CarryStep mCarryStepPrev
Definition PlayerObject.h:1183
virtual bool setCarry(Actor *actor, CarryType type)
void reviseBgPointDataCarryPlayer(ActorBgCollisionCheck::Sensor &wall, ActorBgCollisionCheck::Sensor &head)
bool mMusaCanDoJump
Definition PlayerObject.h:1321
u32 mPMusaFlyEffectStep
Definition PlayerObject.h:1356
const PlayerBgPointHIO * getBgPointDataBase(PlayerMode mode, BgPointAnmType anm_type)
bool setBalloonChibiYoshiFlySmall(f32 speed_y, f32 speed_F)
u8 mPropelActionSubTimer
Definition PlayerObject.h:1280
u32 _2ac0
Definition PlayerObject.h:1260
u32 _2b80
Definition PlayerObject.h:1282
u32 _2a74
Definition PlayerObject.h:1245
void setDemoGoal(const sead::Vector2f &pos, f32 walk_target_pos_x, bool secret_exit) override
f32 getHangBcOffsetY()
u32 _2a34
Definition PlayerObject.h:1229
bool vf4F4() override
void updateMusaEffect()
EffectID getTurnBrakeEffectID() override
void setBalloonCheckAllFade()
f32 getLiftUpOffset()
EffectID getWaterSplashSEffectID() override
bool setTimeOverDemo() override
bool checkWallJump()
bool setShadowkunHouseReadAction()
const BubbleChibiYoshi * getCarryBubbleChibiYoshi() const
f32 mLiftUpOffsetScale
Definition PlayerObject.h:1241
bool setPlayerModeForce(PlayerMode mode)
u32 _2d10
Definition PlayerObject.h:1307
bool mMusaStartWallSlide
Definition PlayerObject.h:1320
s32 mSlideAttackBgTimer
Definition PlayerObject.h:1233
bool isNoDamagePlayer() override
void setPlayerHangChildAnm(s32 anm_id, f32 blend_duration)
const PlayerBgPointHIO * getBgPointDataBase(BgPointAnmType anm_type=cBgPointAnmType_Normal)
Definition PlayerObject.h:363
EffectID getHipDropExEffectID() override
virtual ~PlayerObject()
Definition PlayerObject.h:160
void executeMain() override
EffectObj _2ad0
Definition PlayerObject.h:1264
Yoshi * getRideYoshi()
s32 mBalloonCheckAllFadeTimer
Definition PlayerObject.h:1251
sead::Vector2f _2d18
Definition PlayerObject.h:1309
Angle getMissSpinAngle()
bool mIsBubbleChibiYoshiShake
Definition PlayerObject.h:1247
PlayerObject(const ActorCreateParameter &param)
u32 _2cf8
Definition PlayerObject.h:1301
const ChibiYoshiBase * getCarryChibiYoshi() const
void setHipAttack_StandNormalEnd() override
void setSubjectCoinTimeUp() override
u8 _2b44
Definition PlayerObject.h:1267
sead::Vector2f _2b3c
Definition PlayerObject.h:1266
BgPointType
Definition PlayerObject.h:118
@ cBgPointType_PenguinSlide
Definition PlayerObject.h:120
@ cBgPointType_PenguinSwim
Definition PlayerObject.h:121
@ cBgPointType_Normal
Definition PlayerObject.h:119
sead::Vector2f mEatPosReserve
Definition PlayerObject.h:1329
bool setCarryToLiftUp()
void updateBalloonChibiYoshiFly()
virtual void setSpinJumpEffectSub()
EffectObj mPaddleSwimEffectL
Definition PlayerObject.h:1342
u32 _2d9c
Definition PlayerObject.h:1333
u32 _2b68
Definition PlayerObject.h:1275
void setShadowFail() override
s32 _2a6c
Definition PlayerObject.h:1243
bool checkEnableThrow()
bool setDemoBossCannonWarp(const sead::Vector3f &pos, const sead::Vector2f &speed, CannonJumpSoundType jump_sound_type=cCannonJumpSoundType_Warp)
bool setBubbleChibiYoshiShake()
void resetPropelFukidashi()
SpinActionMode getSpinActionMode()
Angle mSpinRotStep
Definition PlayerObject.h:1227
UniqueID mPlayerHangChildActorID
Definition PlayerObject.h:1331
PlayerModelMgr mModelMgr
Definition PlayerObject.h:1174
ActorBgCollisionCheck::Sensor mBcSensorVine
Definition PlayerObject.h:1175
static PlayerModelBase::Type getParamPlayerModelType(u32 param_0)
Definition PlayerObject.h:1138
bool checkCarryThrow(bool throw_hard=false)
bool setCannonWarpScale(f32 scale)
Effect mPowerUpEffect
Definition PlayerObject.h:1340
EffectObj mPaddleSwimEffectR
Definition PlayerObject.h:1343
EffectID getPoisonSplashEffectID(bool big) override
void setSpinLiftUpActor(Actor *player) override
bool checkWalkNextAction() override
void setZPosition(f32 z) override
s32 _2b84
Definition PlayerObject.h:1283
DirType mWallSlideDir
Definition PlayerObject.h:1235
s8 getStarCount() const override
Definition PlayerObject.h:1090
void setFallAction() override
u32 _2b74
Definition PlayerObject.h:1278
virtual void setRideOffDamage()
void setThrowActor(bool throw_hard=false)
bool checkCancelTarzanRopeLR(DirType dir)
QuakeMode
Definition PlayerObject.h:74
bool setHipAttackToKaniHangAction() override
const BalloonChibiYoshi * getCarryBalloonChibiYoshi() const
bool setBalloonButtonA()
BcMode
Definition PlayerObject.h:143
@ cBcMode_Direct
Definition PlayerObject.h:145
@ cBcMode_Chase
Definition PlayerObject.h:144
EffectObj mSpinHipAttackEffect
Definition PlayerObject.h:1287
s32 mQuakeRumbleTimer
Definition PlayerObject.h:1292
bool checkPole()
s32 _299c
Definition PlayerObject.h:1202
Angle _2d44
Definition PlayerObject.h:1319
f32 vf584() override
sead::Vector2f _2774
Definition PlayerObject.h:1178
void reviseBgPointDataCarryPlayerBase(ActorBgCollisionCheck::Sensor &wall, ActorBgCollisionCheck::Sensor &head, bool carry_force_crouch)
virtual bool canChangeTo(PlayerMode mode)
bool checkCancelTarzanRopeUp()
u32 mMusaJumpStep
Definition PlayerObject.h:1315
bool bouncePlayer1(f32 speed_y, f32 speed_F, bool enable_LR, BounceType bounce_type, JumpSe jump_se_type) override
void calcModelBalloon()
void calcLiftUpOffsetScale()
f32 getCarryStepRatio()
virtual bool isEnableChibiYoshiFukidashi()
EffectID getTurnBrakeSmokeEffectID() override
DirType getDirection() const
Definition PlayerObject.h:1168
u8 _2a14
Definition PlayerObject.h:1221
Angle mRopeAngleNow
Definition PlayerObject.h:1303
CarryType mCarryType
Definition PlayerObject.h:1239
void postBgCross() override
sead::SafeArray< s32, cInvalidKeyType_Num > mInvalidKeyTimer
Definition PlayerObject.h:1189
ScrollMode
Definition PlayerObject.h:79
@ cScrollMode_6
Definition PlayerObject.h:86
@ cScrollMode_5
Definition PlayerObject.h:85
@ cScrollMode_3
Definition PlayerObject.h:83
@ cScrollMode_2
Definition PlayerObject.h:82
@ cScrollMode_0
Definition PlayerObject.h:80
@ cScrollMode_4
Definition PlayerObject.h:84
@ cScrollMode_1
Definition PlayerObject.h:81
const ActorBgCollisionPlayerCheck::PcCheckArea & getRopeCheckArea()
s32 _3490
Definition PlayerObject.h:1362
bool setFlyDamageActionImpl(DamageType type, Actor *actor)
Definition PlayerObject.h:806
bool setSpinActionReq()
void resetMissSpin()
void setCenterOffset()
bool checkCloud2StateCrouch()
u32 mTarzanRopeBgType
Definition PlayerObject.h:1298
bool setBalloonInDispOutByYoshi(s32 type)
f32 _2cf0
Definition PlayerObject.h:1299
u32 _2a08
Definition PlayerObject.h:1218
void finalizeThrowCommonBase()
bool setFireBallAction()
EffectObj _3124
Definition PlayerObject.h:1348
s32 _2ce4
Definition PlayerObject.h:1296
UniqueID mCarryActorID
Definition PlayerObject.h:1181
s32 _2ce0
Definition PlayerObject.h:1295
f32 mJumpTimerF
Definition PlayerObject.h:1372
Effect mSpinJumpEffect
Definition PlayerObject.h:1346
CarryStep getCarryStep() const
Definition PlayerObject.h:932
virtual bool setFlyDamageAction(DamageType type, Actor *actor)
f32 _2b70
Definition PlayerObject.h:1277
bool canChangeTo(PlayerMode mode) const
void releaseCarryActor()
PlayerTallType getTallType(PlayerMode mode) override
sead::Vector3f _27c0
Definition PlayerObject.h:1196
s32 _2a78
Definition PlayerObject.h:1246
Angle _2d40
Definition PlayerObject.h:1318
void setFlagPassEffect()
CarryStep
Definition PlayerObject.h:50
@ cCarryStep_Carry
Definition PlayerObject.h:52
@ cCarryStep_None
Definition PlayerObject.h:51
@ cCarryStep_CarryLong
Definition PlayerObject.h:54
@ cCarryStep_LiftUp
Definition PlayerObject.h:53
PropBlock * getCarryPropelBlock()
f32 getCloudOffsetY() override
f32 _2abc
Definition PlayerObject.h:1259
void getModelScaleBase(sead::Vector3f *scale)
u32 _3410
Definition PlayerObject.h:1359
sead::Matrixf mJrCrownMtx
Definition PlayerObject.h:1334
void endDemoDokanCannon()
ChangeMgr mChangeMgr
Definition PlayerObject.h:1205
bool vf154() override
sead::Vector3f _2aac
Definition PlayerObject.h:1257
f32 mCarryStepLength
Definition PlayerObject.h:1185
EffectID getHipDropEffectID() override
bool setBalloonInDamage()
virtual void setRopeHasigoHangUpAngle()
void setZPositionDirect(f32 z) override
void setCloud2StateFireCreate()
void setSubjectFail() override
f32 _2a3c
Definition PlayerObject.h:1231
void setPlayerModeImpl(PlayerMode mode, bool temporary) override
u32 mMusaFlyStep
Definition PlayerObject.h:1325
bool mQuakeEffectFlag
Definition PlayerObject.h:1337
void initCcData()
bool vf504() override
f32 getTarzanRopeBcOffsetY()
bool setDamage(Actor *actor, DamageType type) override
u32 _2cc8
Definition PlayerObject.h:1289
u32 _2a1c
Definition PlayerObject.h:1223
bool _2cdc
Definition PlayerObject.h:1294
virtual bool updateEndingDanceImpl()
bool isClimb()
Definition PlayerObject.h:278
DirType mDirection
Definition PlayerObject.h:1216
static DirType getParamPlayerFacingDir(u32 param_0)
Definition PlayerObject.h:1158
s32 mBalloonHelpVoiceTimer
Definition PlayerObject.h:1250
void setPlayerHandPos()
virtual void setCharacterVoice()
bool setThrowPlayer()
bool getCarryMtx(sead::Matrixf *mtx)
bool vf7F4(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool _2d30
Definition PlayerObject.h:1314
s32 _2a80
Definition PlayerObject.h:1248
UniqueID mLiftUpActorID
Definition PlayerObject.h:1236
bool isStarLight()
EventPlayerChange * mEventPlayerChange
Definition PlayerObject.h:1204
void checkWalkWallBgCross()
u32 mQuakeTimer
Definition PlayerObject.h:1336
bool setItem(PlayerMode mode)
s32 mStarCnt
Definition PlayerObject.h:1180
SpinActionMode
Definition PlayerObject.h:108
@ cSpinActionMode_Normal
Definition PlayerObject.h:109
@ cSpinActionMode_Propel
Definition PlayerObject.h:110
@ cSpinActionMode_ChibiYoshiLight
Definition PlayerObject.h:113
@ cSpinActionMode_ChibiYoshiBubble
Definition PlayerObject.h:112
@ cSpinActionMode_Musa
Definition PlayerObject.h:114
@ cSpinActionMode_ChibiYoshiBalloon
Definition PlayerObject.h:111
bool setOutDokanAngle() override
void setDrawBalloonInPlayerEnable()
void finDemoKimePose() override
void calcModelRideYoshi()
bool preDraw() override
Callback invoked before the draw operation.
CarryObjBase * getCarryHardBlock()
bool checkChibiYoshiLiftUpBlocked()
virtual void onChangeRDashPhysics()
void reviseBgPointDataCarryUnk(ActorBgCollisionCheck::Sensor &foot, ActorBgCollisionCheck::Sensor &head, ActorBgCollisionCheck::Sensor &wall)
bool _34c5
Definition PlayerObject.h:1370
bool checkCrouch() override
u32 _2cc4
Definition PlayerObject.h:1288
void setItemGetEffect()
f32 _2a48
Definition PlayerObject.h:1234
void checkSpinLiftUpReserve(ActorCollisionCheck *cc)
u32 _2a38
Definition PlayerObject.h:1230
PlayerMode mModePrev
Definition PlayerObject.h:1176
Angle mMissSpinAngle
Definition PlayerObject.h:1228
f32 _27b8[2]
Definition PlayerObject.h:1195
void calcModelWaitFlag()
static PlayerCharacter getParamPlayerCharacter(u32 param_0)
Definition PlayerObject.h:1133
void endStar() override
virtual bool isIceSlipAnmPlay()
s32 mLiftUpCounter
Definition PlayerObject.h:1240
EffectObj mPropelFallSpinEffect
Definition PlayerObject.h:1284
EffectObj _3414
Definition PlayerObject.h:1360
EventDown * mEventDown
Definition PlayerObject.h:1208
bool setBalloonInDispOutBase(s32 type, bool by_yoshi)
sead::Vector2f _2b60
Definition PlayerObject.h:1274
sead::Vector3f _29e0
Definition PlayerObject.h:1211
Effect mItemGetEffect2
Definition PlayerObject.h:1339
EffectID getLavaSplashEffectID(bool big) override
f32 _2b6c
Definition PlayerObject.h:1276
void releaseFunsuiAction() override
u32 _2cf4
Definition PlayerObject.h:1300
bool setPressBgDamage(DamageType type, bool) override
void setPlayerNo(s8 id) override
void setGoalPoleCatchVoice() override
void calcInvalidKeyTimer()
u32 _2b38
Definition PlayerObject.h:1265
void setBcData(BcMode mode)
bool setRideOffPlayerJump(f32 speed_y, f32 speed_f)
u8 _29a0
Definition PlayerObject.h:1203
void initializeThrowCommonBase()
f32 mJumpAnmRate
Definition PlayerObject.h:1371
PlayerMode mModeNext
Definition PlayerObject.h:1177
static PlayerMode getParamPlayerMode(u32 param_0)
Definition PlayerObject.h:1128
EffectID getLandingSmokeEffectID() override
f32 _2d3c
Definition PlayerObject.h:1317
EffectObj mSwimEffect
Definition PlayerObject.h:1341
bool checkSetFireBall()
bool setQuakeAction()
u32 _2a84
Definition PlayerObject.h:1249
f32 getJumpSpeed() override
bool isLiftUp() override
void vf8AC(bool) override
void selectAction()
bool setHipAttackOnEnemy(const sead::Vector3f &target_pos) override
sead::SafeArray< InvalidKeyTimerType, cInvalidKeyType_Num > mInvalidKeyTimerType
Definition PlayerObject.h:1193
bool setBalloonDispOut() override
bool setPoleAction()
s32 mCannonJumpTimer
Definition PlayerObject.h:1253
bool isEnableDokanInStatus() override
f32 _2d38
Definition PlayerObject.h:1316
s32 mStarTimer
Definition PlayerObject.h:1179
void executeDemoGoal_RideOffJump() override
bool draw() override
Main rendering callback for the actor. Called every frame (the game runs at exactly 60 FPS).
bool checkSlipMoveEnd() override
EffectObj _2bf0
Definition PlayerObject.h:1285
void walkActionInit_Wait(AnmBlend blend) override
void calcScroll()
void updateMissSpinJumpEffect()
s32 mMusaFlyUpEffectIndex
Definition PlayerObject.h:1350
u8 _29d4
Definition PlayerObject.h:1207
DirType _2d90
Definition PlayerObject.h:1330
bool setForcedDamage(Actor *actor, DamageType type) override
bool setHangAction()
void resetPropelFlyTime()
Definition PlayerObject.h:604
UniqueID mPlayerHangParentActorID
Definition PlayerObject.h:1332
void vineWalk()
void setWalkActionAnm(AnmBlend blend) override
bool isCarry() override
bool setCannonWarpPos(const sead::Vector3f &pos)
Light mLight
Definition PlayerObject.h:1200
s32 _34d4
Definition PlayerObject.h:1374
bool setDoorDemo(Actor *, u32) override
void initCannonJump()
bool vf51C(u32) override
bool setTarzanRopeAction()
u32 mPMusaEffectStep
Definition PlayerObject.h:1354
bool isAmiRollAction()
bool isLiftUpExceptMame() override
Definition PropBlock.h:7
Definition Yoshi.h:8