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/PlayerBase.h>
7#include <player/PlayerEatData.h>
8#include <player/PlayerModelMgr.h>
9#include <player/PlyOrchestra.h>
10#include <player/util/ChangeMgr.h>
11
12class CarryObjBase;
13class EventDown;
15class Yoshi;
16
17class PlayerObject : public PlayerBase // vtbl Address: 0x1016C150
18{
19 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9C9C
20 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101E9CA0
21 SEAD_RTTI_OVERRIDE(PlayerObject, PlayerBase)
22
23public:
42 static_assert(cCcSizeDataType_Num == 14);
43
51 static_assert(sizeof(CarryStep) == 4);
52
59 static_assert(sizeof(DokanCannonType) == 4);
60
66 static_assert(sizeof(CannonJumpSoundType) == 4);
67
69 {
70 };
71 static_assert(sizeof(QuakeMode) == 4);
72
83 static_assert(sizeof(ScrollMode) == 4);
84
92 static_assert(cInvalidKeyType_Num == 3);
93
100 static_assert(sizeof(InvalidKeyTimerType) == 4);
101
111
118
128 static_assert(cBgPointAnmType_Num == 5);
129
136
142
143public:
144 // ------------------------------------ PlayerObject.cpp ------------------------------------ //
145
146 // Address: 0x02923520
147 PlayerObject(const ActorCreateParam& param);
148
149 virtual ~PlayerObject()
150 {
151 }
152
153protected:
154 // Address: 0x02923DB0
155 Result create() override;
156 // Address: 0x02923F04
157 Result doDelete() override;
158 // Address: 0x02923F44
160 // Address: 0x02923FA0
162 // Address: 0x02923FF8
164 // Address: 0x029242F4
165 void postExecute(MainState state) override;
166
167public:
168 // Address: 0x029246FC
170 // Address: 0x02924BA0
172
173 // Address: 0x02924CBC
174 void setPlayerNo(s8 id) override;
175
176 // Address: 0x02924E98
177 void setPlayerModeImpl(PlayerMode mode, bool temporary) override;
178
179private:
180 inline void setPlayerData_();
181
182public:
183 // Address: 0x02924CC0
185 // Address: 0x02924DC4
187 // Address: 0x02924E5C
189
190 // Address: 0x0292507C
192
193 using PlayerBase::getTallType;
194 // Address: 0x02925128
195 PlayerTallType getTallType(PlayerMode mode) override;
196
197 // Address: 0x0292513C
199 // Address: 0x029251E8
200 void setZPosition(f32 z) override;
201 // Address: 0x02925234
202 void setZPositionDirect(f32 z) override;
203 // Address: 0x02925248
205
206 // Address: 0x02923D74
208
209 // Address: 0x0292406C
211
212 // Address: 0x02925258
213 virtual void setCharacterVoice();
214 // Address: 0x02923D7C
216
217 // Address: 0x029252DC
218 void getMaskPos(sead::Vector3f& pos) override;
219 // Address: 0x02925354
220 void getMaskCaveCheckPos(sead::Vector3f* pos, f32* y_offset) override;
221
222 // Address: 0x029254FC
224
225 // Address: Deleted
227 // Address: 0x0292555C
229 // Address: Deleted
231 // Address: 0x02925570
233
234 // Address: 0x02925804
236
237 // Address: 0x02925818
238 void startQuakeShock(Quake::ShockType shock_type) override;
239 // Address: 0x02925874
240 void startPatternRumble(const char* pattern) override;
241
242private:
243 inline void calcModel_();
244
245public:
246 // Address: 0x02924A7C
248
249 // Address: 0x029258D0
251
252 // Address: 0x02924600
254 // Address: 0x02924630
255 void getModelScaleBase(sead::Vector3f* scale);
256 // Address: 0x02924690
257 void getModelScale(sead::Vector3f* scale);
258
259 // Address: 0x0292434C
261
262 // Address: 0x02925964
264 // Address: 0x0292596C
266
267 bool isClimb()
268 {
269 return isStatus(cStatus_PoleRope) ||
270 isStatus(cStatus_Vine) ||
271 isStatus(cStatus_Hang) ||
272 isStatus(cStatus_KaniHang) ||
273 isStatus(cStatus_Pole);
274 }
275
276 // Address: 0x02925974
277 bool bouncePlayer1(f32 speed_y, f32 speed_F, bool enable_LR, BounceType bounce_type, JumpSe jump_se_type) override;
278 // Address: 0x029259D0
279 bool bouncePlayer2(f32 speed_y, f32 speed_F, bool enable_LR, BounceType bounce_type, JumpSe jump_se_type) override;
280 // Address: 0x02925C70
281 bool bouncePlayerSpin(f32 speed_y, f32 speed_F);
282
283 // Address: 0x02925EFC
285
286 // ------------------------------------ PlayerObjectBalloon.cpp ------------------------------------ //
287
288 // StateID_Balloon Address: 0x1022B18C
289 // initializeState_Balloon Address: 0x029265C0
290 // executeState_Balloon Address: 0x02926AA0
291 // finalizeState_Balloon Address: 0x02926EF4
292 DECLARE_STATE_ID(PlayerObject, Balloon)
293
294 // Address: 0x02926574
296
297 // Address: 0x02926A24
299
300 // Address: 0x02927018
302 // Address: 0x029270B0
304 // Address: 0x02927190
306 // Address: 0x02927294
308 // Address: 0x0292746C
309 bool setBalloonInDispOutBase(s32 type, bool by_yoshi);
310 // Address: 0x029275EC
312 // Address: 0x029275F4
314 // Address: 0x029276F8
315 bool setBalloonInDispOut(s32 type) override;
316 // Address: 0x02927740
318
319 // Address: 0x029277C0
320 void setBreakBalloonJump(Angle angle);
321
322 // Address: 0x02927998
323 void setDrawBalloonInPlayer(sead::Vector3f& pos);
324 // Address: 0x02927A90
326
327 // Address: 0x02927AA8
329
330 // Address: 0x02927B18
332
333 // ------------------------------------ PlayerObjectBg.cpp ------------------------------------ //
334
335 // Address: 0x02927F48
337 // Address: 0x02927BF4
339
340 // Address: 0x02928DC0
342
343 // Address: 0x0292897C
344 void setBcData(BcMode mode);
345
346 // Address: 0x02927BC4
348
349 // Address: 0x029282A8
350 const PlayerBgPointHIO* getBgPointDataBase(PlayerMode mode, BgPointAnmType anm_type);
351
353 {
354 return getBgPointDataBase(mMode, anm_type);
355 }
356
357 // Address: 0x029282F8
358 void reviseBgPointDataCarryHardBlock(ActorBgCollisionCheck::Sensor& wall, ActorBgCollisionCheck::Sensor& head);
359 // Address: 0x02928798
360 void reviseBgPointDataCarryPlayer(ActorBgCollisionCheck::Sensor& wall, ActorBgCollisionCheck::Sensor& head);
361 // Address: 0x0292817C
362 void reviseBgPointDataCarryUnk(ActorBgCollisionCheck::Sensor& foot, ActorBgCollisionCheck::Sensor& head, ActorBgCollisionCheck::Sensor& wall);
363
364 // Address: 0x0292861C
365 void reviseBgPointDataCarryPlayerBase(ActorBgCollisionCheck::Sensor& wall, ActorBgCollisionCheck::Sensor& head, bool carry_force_crouch);
366
367 // Address: 0x029283A4
368 CarryPlayerType checkCarryPlayerRoof(const ActorBgCollisionCheck::Sensor& wall, const ActorBgCollisionCheck::Sensor& head);
369
370 // Address: 0x02928E10
372
373 // Address: 0x02928F58
374 bool checkCancelTarzanRopeLR(DirType dir);
375 // Address: 0x02929014
377 // Address: 0x0292908C
379
380 // Address: 0x02929144
382
383 // Address: 0x02929228
385
386 // Address: 0x029292B4
388 // Address: 0x029293BC
390
391 // Address: 0x0292990C
393
394 // Address: 0x029288BC
396
397 // Address: 0x029299A8
398 bool checkPole();
399
400 // Address: 0x02929AA0
402
403 // Address: 0x02929B28
405 // Address: 0x02929B4C
407
408 // ------------------------------------ PlayerObjectByYoshi.cpp ------------------------------------ //
409
410 // StateID_Cloud2 Address: 0x1022B5D8
411 // initializeState_Cloud2 Address: 0x02929D24
412 // executeState_Cloud2 Address: 0x02929E8C
413 // finalizeState_Cloud2 Address: 0x0292A154
414 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(PlayerObject, Cloud2) // Unused, but functions almost exactly the same as Cloud
415 // StateID_BalloonChibiYoshiFly Address: 0x1022B24C
416 // initializeState_BalloonChibiYoshiFly Address: 0x0292A2E4
417 // executeState_BalloonChibiYoshiFly Address: 0x0292A474
418 // finalizeState_BalloonChibiYoshiFly Address: 0x0292A8F8
420
421 // Address: 0x02929D28
423 // Address: 0x02929D6C
425 // Address: 0x02929DF4
427
428 // Address: 0x0292A95C
430 // Address: 0x0292AB0C
431 bool setBalloonChibiYoshiFlySmall(f32 speed_y, f32 speed_F);
432
433 // Address: 0x0292A1BC
434 void setBalloonChibiYoshiFlyAnm(s32 anm_id, f32 blend_duration);
435
436 // Address: 0x0292A468
438
439 // Address: 0x0292AC44
441
442 // Address: 0x0292AD84
444 // Address: 0x0292AE70
446 // Address: 0x0292AE7C
448
449 // Address: 0x0292AEE4
451
452 // Address: 0x0292AE8C
453 void setBubbleChibiYoshiShakeAnm(f32 blend_duration);
454
455 // Address: 0x0292AF2C
457
458 // Address: 0x0292B1AC
460
461 // Address: 0x0292B294
462 void setChibiYoshiSpeed(f32 speed_y, f32 speed_F);
463
464 // ------------------------------------ PlayerObjectCannon.cpp ------------------------------------ //
465
466 // StateID_DemoBossCannonWarp Address: 0x1022AF08
467 // initializeState_DemoBossCannonWarp Address: 0x0292B568
468 // executeState_DemoBossCannonWarp Address: 0x0292B5C8
469 // finalizeState_DemoBossCannonWarp Address: 0x0292B634
470 DECLARE_STATE_ID(PlayerObject, DemoBossCannonWarp)
471
472 // StateID_CannonJump Address: 0x1022B1AC
473 // initializeState_CannonJump Address: 0x0292B674
474 // executeState_CannonJump Address: 0x0292B718
475 // finalizeState_CannonJump Address: 0x0292BD38
477
478 // Address: 0x0292BE1C
480
481 // Address: 0x0292BED8
482 bool setCannonJump(const sead::Vector3f& pos, const sead::Vector2f& speed, s32 jump_time);
483 // Address: 0x0292BFA4
484 bool setDemoBossCannonWarp(const sead::Vector3f& pos, const sead::Vector2f& speed, CannonJumpSoundType jump_sound_type = cCannonJumpSoundType_Warp);
485
486 // Address: 0x0292B35C
488 // Address: 0x0292B5F4
490
491 // Address: 0x0292BFF8
492 bool setCannonWarpPos(const sead::Vector3f& pos);
493 // Address: 0x0292C05C
494 bool setCannonWarpSpeed(const sead::Vector2f& speed);
495 // Address: 0x0292C08C
496 bool setCannonWarpScale(f32 scale);
497 // Address: 0x0292C0B8
498 bool setCannonWarpAngleX(Angle angle_x);
499
500 // ------------------------------------ PlayerObjectCc.cpp ------------------------------------ //
501
502 // Address: 0x0292E92C
503 void getSpinLiftUpCcSizeInfo(sead::Vector2f* center_offset, sead::Vector2f* half_size);
504
505 // Address: 0x0292E9C8
506 virtual void setFireBallDamage(ActorCollisionCheck::Attack attack);
507
508 // Address: 0x0292EA6C
510
511 // Address: 0x0292EB3C
512 virtual bool setPlayerFlyDamage(PlayerBase* player_other, ActorCollisionCheck::Attack attack);
513
514 // Address: 0x0292EC18
516
517 // ------------------------------------ PlayerObjectDemo.cpp ------------------------------------ //
518
519 // Address: 0x02931B34
520 virtual bool canChangeTo(PlayerMode mode);
521
522 // Address: 0x02931D18
523 bool setPlayerModeForce(PlayerMode mode);
524
525 // ------------------------------------ PlayerObjectDemoDoa.cpp ------------------------------------ //
526
527 // Address: 0x02935158
529
530 // ------------------------------------ PlayerObjectDemoDokan.cpp ------------------------------------ //
531
532 // Address: 0x02936020
533 void initDemoInDokan(DokanDir dir) override;
534 // Address: 0x02936130
535 virtual void initDemoInDokanAngle(DokanDir dir);
536
537 // Address: 0x02936288
539
540 // ------------------------------------ PlayerObjectDemoDown.cpp ------------------------------------ //
541
542 // Address: 0x02937794
544
545 // ------------------------------------ PlayerObjectDemoSubject.cpp ------------------------------------ //
546
547 // Address: 0x02939720
549
550 // ------------------------------------ PlayerObjectFire.cpp ------------------------------------ //
551
552 // Address: 0x0293AD58
553 void createFireBall(bool spin = false);
554
555 // Address: 0x0293B018
557
558 // Address: 0x0293B3E4
560
561 // ------------------------------------ PlayerObjectKani.cpp ------------------------------------ //
562
563 // StateID_KaniJump Address: 0x1022B34C
564 // initializeState_KaniJump Address: 0x02941D98
565 // executeState_KaniJump Address: 0x02941E18
566 // finalizeState_KaniJump Address: 0x02941EA8
567 DECLARE_STATE_ID(PlayerObject, KaniJump)
568
569 // Address: 0x02941EE4
571
572 // ------------------------------------ PlayerObjectMonkey.cpp ------------------------------------ //
573
574 // Address: 0x029457D8
576
577 // ------------------------------------ PlayerObjectPole.cpp ------------------------------------ //
578
579 // Address: 0x02947270
581
582 // ------------------------------------ PlayerObjectPropel.cpp ------------------------------------ //
583
584 // StateID_Propel Address: 0x1022B1EC
585 // initializeState_Propel Address: 0x029475C0
586 // executeState_Propel Address: 0x02947CF0
587 // finalizeState_Propel Address: 0x02947FA8
588 DECLARE_STATE_ID(PlayerObject, Propel)
589
590 // Address: 0x029480AC
592
594 {
595 mPropelFlyTime = true;
596 }
597
598 // ------------------------------------ PlayerObjectRide.cpp ------------------------------------ //
599
600 // Address: 0x029489B0
601 PlayerObject* getRidePlayer(); // The player we are currently riding, or nullptr if we aren't riding anything
602
603 // Address: 0x02948FCC
604 bool setRideOffPlayerJump(f32 speed_y, f32 speed_f);
605
606 // Address: 0x02949A28
608
609 // Address: 0x02949ACC
611
612 // Address: 0x02949BB4
614
615 // ------------------------------------ PlayerObjectStar.cpp ------------------------------------ //
616
617 // Address: 0x0294FF20
618 bool isStar() const override;
619
620 // Address: 0x029500DC
622
623 // ------------------------------------ PlayerObjectThrow.cpp ------------------------------------ //
624
625 // Address: 0x02953314
627 // Address: 0x029533D4
628 bool checkCarryThrow(bool throw_hard = false);
629 // Address: 0x02952F20
630 void setThrowActor(bool throw_hard = false);
631
632 // Address: 0x02952C2C
634 // Address: 0x02953218
636
637 // Address: 0x02953494
639
640 // ------------------------------------ PlayerObjectVine.cpp ------------------------------------ //
641
642 // Address: 0x02954840
644
645 // Address: 0x02953D50
647 // Address: 0x02953E2C
649 // Address: 0x0295436C
651 // Address: 0x02954560
652 void vineWalk();
653
654 // Address: 0x02954D8C
656
657 // Address: 0x02954E94
659
660 // ------------------------------------ PlayerObjectWalk.cpp ------------------------------------ //
661
662 // StateID_Walk Address: 0x1022B44C
663 // initializeState_Walk Address: 0x029551A4
664 // executeState_Walk Address: 0x029554C8
665 // finalizeState_Walk Address: 0x029555C0
666 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(PlayerObject, Walk)
667
668 // Address: 0x02957034
670
671 // Address: 0x029573A8
672 virtual bool isIceSlipAnmPlay();
673
674 // Address: 0x02957418
676
677 // Address: 0x02957430
678 virtual void setTurnAction_Turned();
679
680 // ------------------------------------ PlayerObjectWalkWall.cpp ------------------------------------ //
681
682 // Address: 0x029587B4
684
685 // ------------------------------------ PlayerObjectWallJump.cpp ------------------------------------ //
686
687 // Address: 0x02959B04
689
690 // ------------------------------------ PlayerObjectJump.cpp ------------------------------------ //
691
692 // StateID_Jump Address: 0x1022B470
693 // initializeState_Jump Address: 0x0293F214
694 // executeState_Jump Address: 0x0293FBFC
695 // finalizeState_Jump Address: 0x0293FCE4
696 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(PlayerObject, Jump)
697 // StateID_Fall Address: 0x1022B494
698 // initializeState_Fall Address: 0x0293FD98
699 // executeState_Fall Address: 0x0293FE7C
700 // finalizeState_Fall Address: 0x0293FF8C
702 // StateID_Land Address: 0x1022B4B8
703 // initializeState_Land Address: 0x0293FFE8
704 // executeState_Land Address: 0x02940068
705 // finalizeState_Land Address: 0x029401C0
707 // StateID_SitJump Address: 0x1022B500
708 // initializeState_SitJump Address: 0x029401E8
709 // executeState_SitJump Address: 0x02940310
710 // finalizeState_SitJump Address: 0x029403E0
712
713 // Address: 0x02940C38
714 virtual void setFunsuiAscendAnm();
715
716 // ------------------------------------ PlayerObjectSPIN.cpp ------------------------------------ //
717
718 // StateID_SpinJump Address: 0x1022B0AC
719 // initializeState_SpinJump Address: 0x0294A36C
720 // executeState_SpinJump Address: 0x0294AAF4
721 // finalizeState_SpinJump Address: 0x0294AB78
722 DECLARE_STATE_ID(PlayerObject, SpinJump)
723
724 // Address: 0x0294AC64
726
727 // Address: 0x0294AD14
728 u16 makeSpinJumpParam(s32 type, JumpSe jump_se_type);
729
730 // Address: 0x0294AD20
732
733 // Address: 0x0294ADD0
735
736 // Address: 0x0294AF60
738
739 // Address: 0x0294A87C
741
742 // Address: 0x0294B37C
743 virtual void getSpinJumpEffectPos(sead::Vector3f& pos);
744
745 // Address: 0x0294B398
746 virtual void setSpinJumpEffectSub();
747
748 // Address: 0x0294B4B8
750
751 // Address: 0x0294B578
753
754 // Address: 0x0294B5B8
756
757 // ------------------------------------ PlayerObjectSWIM.cpp ------------------------------------ //
758
759 // StateID_Swim Address: 0x1022B5B4
760 // initializeState_Swim Address: 0x0294BD5C
761 // executeState_Swim Address: 0x0294EA34
762 // finalizeState_Swim Address: 0x0294EE2C
763 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(PlayerObject, Swim)
764
765 // Address: 0x0294EF64
767
768 // Address: 0x0294F190
769 bool setSwimSpeed(f32 speed_y, f32 speed_F);
770
771 // ------------------------------------ PlayerObjectTarzanRope.cpp ------------------------------------ //
772
773 // Address: 0x029529A8
775
776 // Address: 0x02952B58
778
779 // ------------------------------------ PlayerObjectDamage.cpp ------------------------------------ //
780
781 // Address: 0x02930858
782 bool setDamage2(Actor* actor, DamageType type) override;
783
784 // Address: 0x02930A8C
785 virtual bool setFlyDamageAction(DamageType type, Actor* actor);
786
787 // Address: 0x0293063C
788 bool setFlyDamageActionImpl_Part1(DamageType type, Actor* actor);
789 // Address: 0x02930B48
790 virtual bool setFlyDamageActionImpl_Part2(DamageType type, bool, bool = false, bool = false);
791
792 bool setFlyDamageActionImpl(DamageType type, Actor* actor)
793 {
794 if (setFlyDamageActionImpl_Part2(type, setFlyDamageActionImpl_Part1(type, actor)))
795 return true;
796 return false;
797 }
798
799 // Address: 0x02930CEC
801
802 // Address: 0x02930D68
803 virtual void setElecDamage();
804
805 // Address: 0x02931368
806 bool setDamage(Actor* actor, DamageType type) override;
807 // Address: 0x02931458
808 bool setForcedDamage(Actor* actor, DamageType type) override;
809
810 // Address: 0x0293153C
811 bool setFlyDamage(DamageType type, DirType dir, bool, bool, f32 speed_F, f32 speed_y) override;
812
813 // Address: 0x02931678
814 virtual void setRideOffDamage();
815
816 // ------------------------------------ PlayerObjectCarry.cpp ------------------------------------ //
817
818 // Address: 0x0292C170
820 // Address: 0x0292C20C
822
823 // Address: 0x0292C7FC
825
826 // Address: 0x0292CF48
828 // Address: 0x0292D048
830
831 // Address: 0x0292D138
832 virtual bool setCarry(Actor* actor, CarryType type);
833
834 // Address: 0x0292CEBC
835 void cancelCarry(Actor* actor);
836
837 // Address: 0x0292D564
839
840 // Address: 0x0292D704
841 void getCarryPos(sead::Vector3f* pos);
842 // Address: 0x0292D704
843 bool getCarryMtx(sead::Matrixf* mtx);
844
845 // Address: 0x0292D8A4
847
848 // Address: 0x0292D9A4
850
851 // Address: 0x0292DAE8
853
855 {
856 return mCarryActorID;
857 }
858
860 {
861 return mCarryStep;
862 }
863
864 // ------------------------------------ PlayerObjectEat.cpp ------------------------------------ //
865
866 // Address: 0x029398EC
867 Yoshi* getEatYoshi(); // The Yoshi we are currently eaten by, or nullptr if we aren't being carried in a Yoshi's mouth
868
869 // ------------------------------------ PlayerObjectYoshi.cpp ------------------------------------ //
870
871 // Address: 0x0295A3EC
873
874 // Address: 0x0295A59C
876
877 // Address: 0x0295A6F8
879
880 // Address: 0x0295A7E4
881 virtual bool vfAE4();
882
883 // ------------------------------------ PlayerObjectFly.cpp ------------------------------------ //
884
885 // Address: 0x0293D5DC
887
888 // ------------------------------------ PlayerObjectHangPlayer.cpp ------------------------------------ //
889
890 // Address: 0x0293DF70
891 virtual bool isPlayerHang(PlayerObject* player_obj_parent);
892
893 // Address: 0x0293E1A4
894 void setPlayerHangChildAnm(s32 anm_id, f32 blend_duration);
895
896 // ------------------------------------ PlayerObjectFukidashi.cpp ------------------------------------ //
897
898 // Address: 0x0293D6AC
900
901 // Address: 0x0293D754
903
904 // Address: 0x0293D908
906
907 // ------------------------------------ PlayerObjectStf.cpp ------------------------------------ //
908
909 // Address: 0x02950B50
910 virtual bool updateEndingDanceImpl();
911
912 // ------------------------------------ PlayerObjectRuiji.cpp ------------------------------------ //
913
914 // Address: 0x0294A0D4
915 virtual void onChangeRDashPhysics();
916
917 // Address: 0x0294A130
919 // Address: 0x0294A168
921
922 // ------------------------------------ Uncategorized ------------------------------------ //
923
924 // Address: 0x02931C1C
925 bool setItem(PlayerMode mode);
926
928
930
932
933 void initializeDemoControl(bool carry_chibi_yoshi = true) override;
934
936 {
937 return mChangeMgr.isChange();
938 }
939
942
943 void setDemoGoal(const sead::Vector2f& pos, f32 walk_target_pos_x, bool secret_exit) override;
945 bool vf51C(u32) override;
946 bool setDoorDemo(Actor*, u32) override;
948
953
954 bool updateDemoKimePose(ClearType clear_type) override;
956
959
960 f32 vf584() override;
961 void getDokanWallBgPointData(ActorBgCollisionCheck::Sensor* sensor) override;
962
964
966
968
969 void setWaitActionAnm(AnmBlend blend) override;
970 void setWalkActionAnm(AnmBlend blend) override;
971 void walkActionInit_Wait(AnmBlend blend) override;
972
974
976
977 bool setHipAttackOnEnemy(const sead::Vector3f& target_pos) override;
979
981
983
985
987
988 bool vf7F4(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
989
991
993
995
996 f32 getJumpSpeed() override;
998
999 void setJumpSound(JumpSe jump_se_type) override;
1000 void vf8AC(bool) override;
1001
1004 bool setNormalDamage(ActorCollisionCheck* cc) override;
1005 bool setPressBgDamage(DamageType type, bool) override;
1006
1007 void clearStarCount() override { mStarCnt = 0; }
1008 s8 getStarCount() const override { return mStarCnt; }
1009 s8 calcStarCount(s32 max) override;
1010 void setStar(StarSet set_type = cStarSet_Default, s32 time = 0) override;
1012 void setVirusStar(PlayerBase* other) override;
1013
1029
1034
1035 void setCarryFall(Actor*, s32) override;
1037 void setSpinLiftUpActor(Actor* player) override;
1038
1040
1042
1047
1049
1050 static s32 getParamPlayerNo(u32 param_0)
1051 {
1052 return param_0 & 0xF;
1053 }
1054
1055 static PlayerMode getParamPlayerMode(u32 param_0)
1056 {
1057 return PlayerMode(param_0 >> 4 & 0xF);
1058 }
1059
1061 {
1062 return PlayerCharacter(param_0 >> 8 & 0xF);
1063 }
1064
1066 {
1067 switch (getParamPlayerCharacter(param_0))
1068 {
1069 case cPlayerCharacter_Mario:
1070 default:
1071 return PlayerModelBase::cType_Mario;
1072 case cPlayerCharacter_Luigi:
1073 return PlayerModelBase::cType_Luigi;
1074 case cPlayerCharacter_YellowToad:
1075 return PlayerModelBase::cType_YellowToad;
1076 case cPlayerCharacter_BlueToad:
1077 return PlayerModelBase::cType_BlueToad;
1078 case cPlayerCharacter_Nabbit:
1079 return PlayerModelBase::cType_Nabbit;
1080 case cPlayerCharacter_Mii:
1081 return PlayerModelBase::cType_Mii;
1082 }
1083 }
1084
1086 {
1087 return DirType(param_0 >> 24 & 0xF);
1088 }
1089
1090protected:
1103 sead::SafeArray<
1104 s32,
1106 > mInvalidKeyTimer; // [0] = all input, [1] = LR, [2] = shake
1107 sead::SafeArray<
1134 bool _2a04;
1211 bool _2cdc;
1215 u32 mTarzanRopeBgType; // 0 = ivy, 1 = kusari, 2 = rope(?)
1231 bool _2d30;
1245 bool _2d84;
1269 u32 mStarEffectStep; // 0 = Idle, 1 = Active, 2 = Fading
1279 s32 _3490; // Ending Dance related
1280 s32 _3494; // ^^^
1284 u32 _34ac; // ^^^
1286 bool _34c4; // ^^^
1287 bool _34c5; // ^^^
1291 s32 _34d4; // Some random timer
1292};
1293static_assert(sizeof(PlayerObject) == 0x34D8);
Definition CarryObjBase.h:8
Definition EventDown.h:6
Definition EventPlayerChange.h:6
Definition PlayerObject.h:18
virtual void setTurnAction_Turned()
bool _2a04
Definition PlayerObject.h:1134
f32 getTarzanRopeCenterY()
EffectObj mPMusaEffect
Definition PlayerObject.h:1272
bool setBalloonInNextgoto()
u32 _2ac8
Definition PlayerObject.h:1179
void getCarryPos(sead::Vector3f *pos)
Effect mItemGetEffect1
Definition PlayerObject.h:1255
void setYoshiBackPos()
f32 _2cd8
Definition PlayerObject.h:1210
void updateSpinJumpEffect()
bool preExecute() override
Callback invoked before the execute operation.
CarryPlayerType
Definition PlayerObject.h:131
@ cCarryPlayerType_Blocked
Definition PlayerObject.h:134
@ cCarryPlayerType_Normal
Definition PlayerObject.h:132
@ cCarryPlayerType_ForceCrouch
Definition PlayerObject.h:133
u32 _2a40
Definition PlayerObject.h:1149
bool checkCancelTarzanRopeUpRDash()
bool isEnableZoom()
u32 _2a24
Definition PlayerObject.h:1142
u32 _34ac
Definition PlayerObject.h:1284
void setBcSensorFlagsPlayer()
u32 _2d20
Definition PlayerObject.h:1227
u32 _2b58
Definition PlayerObject.h:1189
CarryPlayerType checkCarryPlayerRoof(const ActorBgCollisionCheck::Sensor &wall, const ActorBgCollisionCheck::Sensor &head)
EffectID getHipDropBlurEffectID() override
sead::SafeArray< EffectObj, 2 > mMusaFlyUpEffectDoubleBuffer
Definition PlayerObject.h:1268
virtual void initDemoInDokanAngle(DokanDir dir)
f32 mKaniPosY
Definition PlayerObject.h:1230
virtual bool isPlayerHang(PlayerObject *player_obj_parent)
virtual CcSizeDataType getCcSizeDataType()
bool setVineAction()
u32 _2aa8
Definition PlayerObject.h:1173
void setClampFaceRot()
void setModeGravity()
u32 _2cfc
Definition PlayerObject.h:1219
u8 _29dc
Definition PlayerObject.h:1126
void calcVineSpeed()
void finCannonJump()
virtual bool setPlayerFlyDamage(PlayerBase *player_other, ActorCollisionCheck::Attack attack)
sead::Vector2f mDemoInBossMoveTarget
Definition PlayerObject.h:1131
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:1111
bool isFaceRot() override
const PlayerGravityHIO * getGravityData() override
EffectObj _303c
Definition PlayerObject.h:1262
bool bouncePlayer2(f32 speed_y, f32 speed_F, bool enable_LR, BounceType bounce_type, JumpSe jump_se_type) override
void setWaitActionAnm(AnmBlend blend) override
void setPlayerData_()
void resetLight() override
u32 mWhichJump
Definition PlayerObject.h:1139
u32 mPMusaTransformStep
Definition PlayerObject.h:1132
void initializeDemoControl(bool carry_chibi_yoshi=true) override
u32 _2d28
Definition PlayerObject.h:1229
void executeLastAll() override
EffectObj mMusaFlyEffect
Definition PlayerObject.h:1266
s32 _3494
Definition PlayerObject.h:1280
Angle _2ac4
Definition PlayerObject.h:1178
void setSlipAction() override
Effect mMissSpinJumpEffect
Definition PlayerObject.h:1264
void setJumpSound(JumpSe jump_se_type) override
bool isCarryMamePlayer() override
u32 _2a20
Definition PlayerObject.h:1141
ActorUniqueID mPlyIceActorID
Definition PlayerObject.h:1207
EffectID getRunSmokeEffectID() override
bool setCannonWarpAngleX(Angle angle_x)
PlayerObject * getCarryPlayer()
bool isEnableRDashLuigiPhysics() const override
s32 mIdleCounter
Definition PlayerObject.h:1283
void executeLastPlayer() override
Angle mRopeAngleDiffOld
Definition PlayerObject.h:1223
void clearStarCount() override
Definition PlayerObject.h:1007
DokanCannonType
Definition PlayerObject.h:54
@ cDokanCannonType_ShootUp
Definition PlayerObject.h:55
@ cDokanCannonType_WarpCannon
Definition PlayerObject.h:57
@ cDokanCannonType_ShootDiagonal
Definition PlayerObject.h:56
void setScrollMode(ScrollMode mode)
f32 getStandHeadBgPointY() override
EffectID getHipDropSurfaceEffectID() override
bool mThrowHard
Definition PlayerObject.h:1159
sead::BitFlag8 _34a4
Definition PlayerObject.h:1282
sead::Vector2f mEatPosOffset
Definition PlayerObject.h:1244
void getMaskCaveCheckPos(sead::Vector3f *pos, f32 *y_offset) override
f32 mWalkWallSpeed
Definition PlayerObject.h:1225
virtual bool vfAE4()
bool isNoDamage() override
void createFireBall(bool spin=false)
void calcModelRidePlayer()
void setInvalidKeyTimer_LR(s32 time, InvalidKeyTimerType type)
bool checkRidePlayerRoofRidePress()
s32 _2acc
Definition PlayerObject.h:1180
bool mPropelFlyTime
Definition PlayerObject.h:1198
Angle mRopeAngleDiffNow
Definition PlayerObject.h:1221
virtual void initPlayerDownCommonImpl()
bool setFlyDamage(DamageType type, DirType dir, bool, bool, f32 speed_F, f32 speed_y) override
f32 _2a54
Definition PlayerObject.h:1154
f32 mLiftUpOffsetRatio
Definition PlayerObject.h:1155
void setHipAttack_AttackStart() override
f32 _29d0
Definition PlayerObject.h:1123
void setJrCrownPos()
f32 mEffectScale
Definition PlayerObject.h:1129
bool setNormalDamage(ActorCollisionCheck *cc) override
void setModelDark()
void VineActionNet()
PlayerEatData mEatData
Definition PlayerObject.h:1243
u8 _2d4a
Definition PlayerObject.h:1239
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:1116
bool _2d84
Definition PlayerObject.h:1245
void updateBubbleChibiYoshiShake()
bool setLightChibiYoshiShake()
u32 _2a0c
Definition PlayerObject.h:1136
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:1281
InvalidKeyType
Definition PlayerObject.h:86
@ cInvalidKeyType_All
Definition PlayerObject.h:87
@ cInvalidKeyType_Num
Definition PlayerObject.h:90
@ cInvalidKeyType_Shake
Definition PlayerObject.h:89
@ cInvalidKeyType_LR
Definition PlayerObject.h:88
virtual bool isEnableRDashLuigiGravity()
sead::Vector3f mCannonJumpStartPos
Definition PlayerObject.h:1171
Result create() override
Main initialization/setup callback for the actor.
void initDemoInDokan(DokanDir dir) override
ActorUniqueID mPlayerHangChildActorID
Definition PlayerObject.h:1248
u32 _2a10
Definition PlayerObject.h:1137
virtual void setElecDamage()
u32 mStarEffectStep
Definition PlayerObject.h:1269
void getDokanWallBgPointData(ActorBgCollisionCheck::Sensor *sensor) override
bool setCannonWarpSpeed(const sead::Vector2f &speed)
u32 _2d4c
Definition PlayerObject.h:1240
bool setBalloonChibiYoshiFly()
u32 _2b78
Definition PlayerObject.h:1196
u32 _27cc
Definition PlayerObject.h:1114
void setHipBlockBreak() override
u32 _2b48
Definition PlayerObject.h:1185
f32 _2b5c
Definition PlayerObject.h:1190
void getMaskPos(sead::Vector3f &pos) override
u32 mBalloonControllerConnectStatus
Definition PlayerObject.h:1169
s32 mJumpAnmID
Definition PlayerObject.h:1290
bool mPlayerEatDieNow
Definition PlayerObject.h:1127
void setBalloonHelpVoice()
bool _34c4
Definition PlayerObject.h:1286
void cancelCarry(Actor *actor)
Angle _2c58
Definition PlayerObject.h:1203
EffectObj _2fd4
Definition PlayerObject.h:1261
void offZPosSetNone() override
QuakeMode mQuakeMode
Definition PlayerObject.h:1208
void clearSpinLiftUpReserve()
void startPatternRumble(const char *pattern) override
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:1252
bool isSpinLiftUpEnable() override
f32 mCarryStepTimer
Definition PlayerObject.h:1101
void executeDemoGoal_Item() override
u32 _340c
Definition PlayerObject.h:1275
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:1285
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:1187
void setChibiYoshiSpeed(f32 speed_y, f32 speed_F)
void initDemoOutDokan() override
s32 _2998
Definition PlayerObject.h:1118
bool isEnableMameDokanIn() override
void setInvalidKeyTimer_Shake(s32 time, InvalidKeyTimerType type)
ScrollMode mScrollMode
Definition PlayerObject.h:1115
s8 calcStarCount(s32 max) override
void setStar(StarSet set_type=cStarSet_Default, s32 time=0) override
bool isEnableBalloonChibiYoshiFlySpin()
bool isChange() override
Definition PlayerObject.h:935
void setSoundPlyMode()
bool updateDemoKimePose(ClearType clear_type) override
Angle mRopeAngleOld
Definition PlayerObject.h:1222
u32 _2b4c
Definition PlayerObject.h:1186
bool isPlayerHangChild()
void setDrawBalloonInPlayer(sead::Vector3f &pos)
CannonJumpSoundType
Definition PlayerObject.h:62
@ cCannonJumpSoundType_Normal
Definition PlayerObject.h:63
@ cCannonJumpSoundType_Warp
Definition PlayerObject.h:64
s32 mBalloonChibiYoshiFlyAscendGravityTimer
Definition PlayerObject.h:1161
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:854
CannonJumpSoundType mCannonJumpSoundType
Definition PlayerObject.h:1172
virtual void setFireBallDamage(ActorCollisionCheck::Attack attack)
EffectObj mStarEffect
Definition PlayerObject.h:1270
sead::BitFlag16 mPenguinSwimFlag
Definition PlayerObject.h:1214
u32 _2d24
Definition PlayerObject.h:1228
void executeDemoGoal_PreRun() override
virtual bool isDrawingCarryFukidashi()
void setBcSensorFlags()
DokanCannonType mDokanCannonType
Definition PlayerObject.h:1130
EffectObj mPMusaFlyEffect
Definition PlayerObject.h:1274
EffectID getDashSmokeEffectID() override
f32 _2ab8
Definition PlayerObject.h:1175
bool setDamage2(Actor *actor, DamageType type) override
bool isStar() const override
EffectID getWaterSplashEffectID(bool big) override
ActorUniqueID mLiftUpActorID
Definition PlayerObject.h:1153
void setCarryFall(Actor *, s32) override
void throwCarryActor() override
static s32 getParamPlayerNo(u32 param_0)
Definition PlayerObject.h:1050
void setZPosition() override
u32 _2b54
Definition PlayerObject.h:1188
u32 _2a28
Definition PlayerObject.h:1143
PlayerObject * getRidePlayer()
Yoshi * getEatYoshi()
BgPointAnmType
Definition PlayerObject.h:120
@ cBgPointAnmType_Hang
Definition PlayerObject.h:123
@ cBgPointAnmType_StarRoll
Definition PlayerObject.h:125
@ cBgPointAnmType_Num
Definition PlayerObject.h:126
@ cBgPointAnmType_Swim
Definition PlayerObject.h:124
@ cBgPointAnmType_Squat
Definition PlayerObject.h:122
@ cBgPointAnmType_Normal
Definition PlayerObject.h:121
InvalidKeyTimerType
Definition PlayerObject.h:95
@ cInvalidKeyTimerType_ResetOnDescendOrGround
Definition PlayerObject.h:98
@ cInvalidKeyTimerType_Normal
Definition PlayerObject.h:96
@ cInvalidKeyTimerType_ResetOnGround
Definition PlayerObject.h:97
virtual bool setFlyDamageActionImpl_Part2(DamageType type, bool, bool=false, bool=false)
bool setHideNotGoalPlayer() override
u32 _2d50
Definition PlayerObject.h:1241
CarryStep mCarryStep
Definition PlayerObject.h:1099
bool vf19C() override
EffectID getLavaWaveSplashEffectID(bool big) override
CarryStep mCarryStepPrev
Definition PlayerObject.h:1100
virtual bool setCarry(Actor *actor, CarryType type)
void reviseBgPointDataCarryPlayer(ActorBgCollisionCheck::Sensor &wall, ActorBgCollisionCheck::Sensor &head)
bool mMusaCanDoJump
Definition PlayerObject.h:1238
u32 mPMusaFlyEffectStep
Definition PlayerObject.h:1273
const PlayerBgPointHIO * getBgPointDataBase(PlayerMode mode, BgPointAnmType anm_type)
bool setBalloonChibiYoshiFlySmall(f32 speed_y, f32 speed_F)
u8 mPropelActionSubTimer
Definition PlayerObject.h:1197
u32 _2ac0
Definition PlayerObject.h:1177
u32 _2b80
Definition PlayerObject.h:1199
u32 _2a74
Definition PlayerObject.h:1162
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:1146
bool vf4F4() override
void updateMusaEffect()
EffectID getTurnBrakeEffectID() override
void setBalloonCheckAllFade()
EffectID getWaterSplashSEffectID() override
bool setTimeOverDemo() override
bool checkWallJump()
bool setShadowkunHouseReadAction()
f32 mLiftUpOffsetScale
Definition PlayerObject.h:1158
bool setPlayerModeForce(PlayerMode mode)
u32 _2d10
Definition PlayerObject.h:1224
bool mMusaStartWallSlide
Definition PlayerObject.h:1237
s32 mSlideAttackBgTimer
Definition PlayerObject.h:1150
bool isNoDamagePlayer() override
void setPlayerHangChildAnm(s32 anm_id, f32 blend_duration)
const PlayerBgPointHIO * getBgPointDataBase(BgPointAnmType anm_type=cBgPointAnmType_Normal)
Definition PlayerObject.h:352
EffectID getHipDropExEffectID() override
Actor * getCarryChibiYoshi()
virtual ~PlayerObject()
Definition PlayerObject.h:149
void executeMain() override
EffectObj _2ad0
Definition PlayerObject.h:1181
Yoshi * getRideYoshi()
s32 mBalloonCheckAllFadeTimer
Definition PlayerObject.h:1168
sead::Vector2f _2d18
Definition PlayerObject.h:1226
Angle getMissSpinAngle()
bool mIsBubbleChibiYoshiShake
Definition PlayerObject.h:1164
u32 _2cf8
Definition PlayerObject.h:1218
void setHipAttack_StandNormalEnd() override
void setSubjectCoinTimeUp() override
u8 _2b44
Definition PlayerObject.h:1184
sead::Vector2f _2b3c
Definition PlayerObject.h:1183
BgPointType
Definition PlayerObject.h:113
@ cBgPointType_PenguinSlide
Definition PlayerObject.h:115
@ cBgPointType_PenguinSwim
Definition PlayerObject.h:116
@ cBgPointType_Normal
Definition PlayerObject.h:114
sead::Vector2f mEatPosReserve
Definition PlayerObject.h:1246
void updateBalloonChibiYoshiFly()
virtual void setSpinJumpEffectSub()
EffectObj mPaddleSwimEffectL
Definition PlayerObject.h:1259
u32 _2d9c
Definition PlayerObject.h:1250
u32 _2b68
Definition PlayerObject.h:1192
void setShadowFail() override
s32 _2a6c
Definition PlayerObject.h:1160
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:1144
PlayerModelMgr mModelMgr
Definition PlayerObject.h:1091
ActorBgCollisionCheck::Sensor mBcSensorVine
Definition PlayerObject.h:1092
static PlayerModelBase::Type getParamPlayerModelType(u32 param_0)
Definition PlayerObject.h:1065
bool checkCarryThrow(bool throw_hard=false)
bool setCannonWarpScale(f32 scale)
Effect mPowerUpEffect
Definition PlayerObject.h:1257
EffectObj mPaddleSwimEffectR
Definition PlayerObject.h:1260
EffectID getPoisonSplashEffectID(bool big) override
void setSpinLiftUpActor(Actor *player) override
bool checkWalkNextAction() override
void setZPosition(f32 z) override
s32 _2b84
Definition PlayerObject.h:1200
DirType mWallSlideDir
Definition PlayerObject.h:1152
s8 getStarCount() const override
Definition PlayerObject.h:1008
void setFallAction() override
u32 _2b74
Definition PlayerObject.h:1195
virtual void setRideOffDamage()
void setThrowActor(bool throw_hard=false)
bool checkCancelTarzanRopeLR(DirType dir)
QuakeMode
Definition PlayerObject.h:69
bool setHipAttackToKaniHangAction() override
bool setBalloonButtonA()
BcMode
Definition PlayerObject.h:138
@ cBcMode_Direct
Definition PlayerObject.h:140
@ cBcMode_Chase
Definition PlayerObject.h:139
EffectObj mSpinHipAttackEffect
Definition PlayerObject.h:1204
s32 mQuakeRumbleTimer
Definition PlayerObject.h:1209
bool checkPole()
s32 _299c
Definition PlayerObject.h:1119
Angle _2d44
Definition PlayerObject.h:1236
f32 vf584() override
sead::Vector2f _2774
Definition PlayerObject.h:1095
u32 _2a5c
Definition PlayerObject.h:1156
void reviseBgPointDataCarryPlayerBase(ActorBgCollisionCheck::Sensor &wall, ActorBgCollisionCheck::Sensor &head, bool carry_force_crouch)
PlyOrchestra mOrchestra
Definition PlayerObject.h:1278
virtual bool canChangeTo(PlayerMode mode)
bool checkCancelTarzanRopeUp()
u32 mMusaJumpStep
Definition PlayerObject.h:1232
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
u8 _2a14
Definition PlayerObject.h:1138
Angle mRopeAngleNow
Definition PlayerObject.h:1220
void postBgCross() override
sead::SafeArray< s32, cInvalidKeyType_Num > mInvalidKeyTimer
Definition PlayerObject.h:1106
ScrollMode
Definition PlayerObject.h:74
@ cScrollMode_6
Definition PlayerObject.h:81
@ cScrollMode_5
Definition PlayerObject.h:80
@ cScrollMode_3
Definition PlayerObject.h:78
@ cScrollMode_2
Definition PlayerObject.h:77
@ cScrollMode_0
Definition PlayerObject.h:75
@ cScrollMode_4
Definition PlayerObject.h:79
@ cScrollMode_1
Definition PlayerObject.h:76
const ActorBgCollisionPlayerCheck::PcCheckArea & getRopeCheckArea()
s32 _3490
Definition PlayerObject.h:1279
bool setFlyDamageActionImpl(DamageType type, Actor *actor)
Definition PlayerObject.h:792
bool setSpinActionReq()
void resetMissSpin()
void setCenterOffset()
bool checkCloud2StateCrouch()
u32 mTarzanRopeBgType
Definition PlayerObject.h:1215
bool setBalloonInDispOutByYoshi(s32 type)
f32 _2cf0
Definition PlayerObject.h:1216
u32 _2a08
Definition PlayerObject.h:1135
void finalizeThrowCommonBase()
bool setFireBallAction()
EffectObj _3124
Definition PlayerObject.h:1265
s32 _2ce4
Definition PlayerObject.h:1213
s32 _2ce0
Definition PlayerObject.h:1212
f32 mJumpTimerF
Definition PlayerObject.h:1289
Effect mSpinJumpEffect
Definition PlayerObject.h:1263
CarryStep getCarryStep() const
Definition PlayerObject.h:859
virtual bool setFlyDamageAction(DamageType type, Actor *actor)
f32 _2b70
Definition PlayerObject.h:1194
void releaseCarryActor()
PlayerTallType getTallType(PlayerMode mode) override
sead::Vector3f _27c0
Definition PlayerObject.h:1113
s32 _2a78
Definition PlayerObject.h:1163
Angle _2d40
Definition PlayerObject.h:1235
CarryStep
Definition PlayerObject.h:45
@ cCarryStep_Carry
Definition PlayerObject.h:49
@ cCarryStep_None
Definition PlayerObject.h:46
@ cCarryStep_Carry_NoTimer
Definition PlayerObject.h:47
@ cCarryStep_LiftUp
Definition PlayerObject.h:48
f32 getCloudOffsetY() override
f32 _2abc
Definition PlayerObject.h:1176
void getModelScaleBase(sead::Vector3f *scale)
u32 _3410
Definition PlayerObject.h:1276
sead::Matrixf mJrCrownMtx
Definition PlayerObject.h:1251
void endDemoDokanCannon()
ChangeMgr mChangeMgr
Definition PlayerObject.h:1122
bool vf154() override
sead::Vector3f _2aac
Definition PlayerObject.h:1174
f32 mCarryStepLength
Definition PlayerObject.h:1102
EffectID getHipDropEffectID() override
bool setBalloonInDamage()
virtual void setRopeHasigoHangUpAngle()
void setZPositionDirect(f32 z) override
void setCloud2StateFireCreate()
void setSubjectFail() override
ActorUniqueID mPlayerHangParentActorID
Definition PlayerObject.h:1249
f32 _2a3c
Definition PlayerObject.h:1148
DirType _2a00
Definition PlayerObject.h:1133
void setPlayerModeImpl(PlayerMode mode, bool temporary) override
u32 mMusaFlyStep
Definition PlayerObject.h:1242
bool mQuakeEffectFlag
Definition PlayerObject.h:1254
void initCcData()
bool vf504() override
f32 getTarzanRopeBcOffsetY()
bool setDamage(Actor *actor, DamageType type) override
u32 _2cc8
Definition PlayerObject.h:1206
u32 _2a1c
Definition PlayerObject.h:1140
bool _2cdc
Definition PlayerObject.h:1211
virtual bool updateEndingDanceImpl()
bool isClimb()
Definition PlayerObject.h:267
static DirType getParamPlayerFacingDir(u32 param_0)
Definition PlayerObject.h:1085
s32 mBalloonHelpVoiceTimer
Definition PlayerObject.h:1167
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:1231
s32 _2a80
Definition PlayerObject.h:1165
bool isStarLight()
EventPlayerChange * mEventPlayerChange
Definition PlayerObject.h:1121
void checkWalkWallBgCross()
u32 mQuakeTimer
Definition PlayerObject.h:1253
bool setItem(PlayerMode mode)
s32 mStarCnt
Definition PlayerObject.h:1097
SpinActionMode
Definition PlayerObject.h:103
@ cSpinActionMode_Normal
Definition PlayerObject.h:104
@ cSpinActionMode_Propel
Definition PlayerObject.h:105
@ cSpinActionMode_ChibiYoshiLight
Definition PlayerObject.h:108
@ cSpinActionMode_ChibiYoshiBubble
Definition PlayerObject.h:107
@ cSpinActionMode_Musa
Definition PlayerObject.h:109
@ cSpinActionMode_ChibiYoshiBalloon
Definition PlayerObject.h:106
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:1287
bool checkCrouch() override
u32 _2cc4
Definition PlayerObject.h:1205
f32 _2a48
Definition PlayerObject.h:1151
u32 _2a38
Definition PlayerObject.h:1147
PlayerMode mModePrev
Definition PlayerObject.h:1093
Angle mMissSpinAngle
Definition PlayerObject.h:1145
f32 _27b8[2]
Definition PlayerObject.h:1112
void calcModelWaitFlag()
static PlayerCharacter getParamPlayerCharacter(u32 param_0)
Definition PlayerObject.h:1060
void endStar() override
virtual bool isIceSlipAnmPlay()
s32 mLiftUpCounter
Definition PlayerObject.h:1157
EffectObj mPropelFallSpinEffect
Definition PlayerObject.h:1201
EffectObj _3414
Definition PlayerObject.h:1277
EventDown * mEventDown
Definition PlayerObject.h:1125
bool setBalloonInDispOutBase(s32 type, bool by_yoshi)
sead::Vector2f _2b60
Definition PlayerObject.h:1191
sead::Vector3f _29e0
Definition PlayerObject.h:1128
Effect mItemGetEffect2
Definition PlayerObject.h:1256
EffectID getLavaSplashEffectID(bool big) override
f32 _2b6c
Definition PlayerObject.h:1193
void releaseFunsuiAction() override
u32 _2cf4
Definition PlayerObject.h:1217
bool setPressBgDamage(DamageType type, bool) override
void setPlayerNo(s8 id) override
void setGoalPoleCatchVoice() override
void calcInvalidKeyTimer()
u32 _2b38
Definition PlayerObject.h:1182
void setBcData(BcMode mode)
bool setRideOffPlayerJump(f32 speed_y, f32 speed_f)
u8 _29a0
Definition PlayerObject.h:1120
void initializeThrowCommonBase()
f32 mJumpAnmRate
Definition PlayerObject.h:1288
PlayerMode mModeNext
Definition PlayerObject.h:1094
static PlayerMode getParamPlayerMode(u32 param_0)
Definition PlayerObject.h:1055
EffectID getLandingSmokeEffectID() override
f32 _2d3c
Definition PlayerObject.h:1234
EffectObj mSwimEffect
Definition PlayerObject.h:1258
bool checkSetFireBall()
bool setQuakeAction()
u32 _2a84
Definition PlayerObject.h:1166
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:1110
bool setBalloonDispOut() override
bool setPoleAction()
s32 mCannonJumpTimer
Definition PlayerObject.h:1170
ActorUniqueID mCarryActorID
Definition PlayerObject.h:1098
bool isEnableDokanInStatus() override
f32 _2d38
Definition PlayerObject.h:1233
s32 mStarTimer
Definition PlayerObject.h:1096
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:1202
void walkActionInit_Wait(AnmBlend blend) override
void calcScroll()
void updateMissSpinJumpEffect()
s32 mMusaFlyUpEffectIndex
Definition PlayerObject.h:1267
u8 _29d4
Definition PlayerObject.h:1124
DirType _2d90
Definition PlayerObject.h:1247
bool setForcedDamage(Actor *actor, DamageType type) override
bool setHangAction()
void resetPropelFlyTime()
Definition PlayerObject.h:593
void vineWalk()
void setWalkActionAnm(AnmBlend blend) override
bool isCarry() override
bool setCannonWarpPos(const sead::Vector3f &pos)
Light mLight
Definition PlayerObject.h:1117
s32 _34d4
Definition PlayerObject.h:1291
bool setDoorDemo(Actor *, u32) override
void initCannonJump()
bool vf51C(u32) override
bool setTarzanRopeAction()
u32 mPMusaEffectStep
Definition PlayerObject.h:1271
bool isAmiRollAction()
bool isLiftUpExceptMame() override
Definition Yoshi.h:7