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