New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
CarryObjBase.h
Go to the documentation of this file.
1#pragma once
2
3#include <player/PlayerObject.h>
4#include <actor/ActorState.h>
5
6// vtbl Address: 0x10106424
7class CarryObjBase : public ActorState
8{
9 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101EA8CC
10 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101EA8D0
11 SEAD_RTTI_OVERRIDE(CarryObjBase, ActorState)
12
13public:
20 static_assert(sizeof(FukidashiInfo) == 0x10, "FukidashiInfo size mismatch");
21
22public:
23 // Address: 0x02721B68
24 CarryObjBase(const ActorCreateParameter& param, const FukidashiInfo& fukidashi_info);
25 // Address: 0x02722AE4
27
28protected:
29 // Address: 0x02721D48
31 // Address: 0x02721E7C
32 void postExecute(MainState state) override;
33 // Address: 0x02721F04
34 Result doDelete() override;
35 // Address: 0x027224AC
37
38public:
39 // Address: 0x02721E38
40 void carryFukidashiCancel(const FukidashiInfo& fukidashi_info, s32 player_no);
41 // Address: 0x02721DF4
42 void carryFukidashiCheck(const FukidashiInfo& fukidashi_info);
43
44 // Address: 0x02721C94
46 // Address: 0x027221E8
48 // Address: 0x02721F30
49 void processBc();
50 // Address: 0x02722484
52
53 // Address: 0x027228BC
55
56 // Address: 0x0272243C
57 void setCarryFall(Actor*, s32) override;
58 // Address: 0x02722AD0
60 // Address: 0x0272218C
61 void setSpinLiftUpActor(Actor* player) override;
62
63 // Address: 0x02722ADC
65 // Address: 0x027224DC
66 void setQuake_(QuakeType type) override;
67
68 // StateID_Idle Address: 0x10220B9C
69 // initializeState_Idle Address: 0x02721F38
70 // executeState_Idle Address: 0x02721F70
71 // finalizeState_Idle Address: 0x02721FE4
72 DECLARE_STATE_VIRTUAL_ID_BASE(CarryObjBase, Idle)
73 // StateID_Carry Address: 0x10220BC0
74 // initializeState_Carry Address: 0x02721FFC
75 // executeState_Carry Address: 0x02722AC8
76 // finalizeState_Carry Address: 0x02722020
78 // StateID_Thrown Address: 0x10220BE4
79 // initializeState_Thrown Address: 0x027220CC
80 // executeState_Thrown Address: 0x02722ACC
81 // finalizeState_Thrown Address: 0x027220E4
83 // StateID_Unknown Address: 0x10220C08
84 // initializeState_Unknown Address: 0x02722124
85 // executeState_Unknown Address: 0x02722150
86 // finalizeState_Unknown Address: 0x02722154
88
89 // Address: 0x02722338
90 virtual void playerThrown(PlayerBase*);
91 /**
92 * @brief When thrown with a spin jump, the actor continuously rotates along the Y-axis.
93 * @par Address: 0x02722394
94 */
95 virtual void changeThrownRot();
96
97public:
98 bool checkCarried() const
99 {
100 return mFlag & (1 << 2);
101 }
102
104 {
105 return mFukidashiInfo;
106 }
107
108 void setFukidashiInfo(FukidashiInfo fukidashi_info)
109 {
110 mFukidashiInfo = fukidashi_info;
111 }
112
113protected:
115 u32 _17d8[(0x17E0 - 0x17D8) / sizeof(u32)];
117 u32 _17E4[(0x17F4 - 0x17E4) / sizeof(u32)];
118};
119static_assert(sizeof(CarryObjBase) == 0x17F8, "CarryObjBase size mismatch");
Definition CarryObjBase.h:8
void postExecute(MainState state) override
Callback invoked unconditionally after the execute phase completes. It executes even if preExecute() ...
FukidashiInfo getFukidashiInfo() const
Definition CarryObjBase.h:103
bool isQuakeEnable_() override
PlayerBase * getCarryPlayer()
CarryObjBase(const ActorCreateParameter &param, const FukidashiInfo &fukidashi_info)
FukidashiInfo mFukidashiInfo
Definition CarryObjBase.h:114
bool isSpinLiftUpEnable() override
void blockHitInit_() override
virtual void changeThrownRot()
When thrown with a spin jump, the actor continuously rotates along the Y-axis.
u32 _17E4[(0x17F4 - 0x17E4)/sizeof(u32)]
Definition CarryObjBase.h:117
bool preExecute() override
Callback invoked before the execute operation.
void carryFukidashiCheck(const FukidashiInfo &fukidashi_info)
ActorBgCollisionCheck * getBgCheck() override
PlayerObject * getCarryPlayerObject()
u32 mFlag
Definition CarryObjBase.h:116
void carryFukidashiCancel(const FukidashiInfo &fukidashi_info, s32 player_no)
void setCarryFall(Actor *, s32) override
void setSpinLiftUpActor(Actor *player) override
bool checkCarried() const
Definition CarryObjBase.h:98
void reverseDirection()
void processBc()
Result doDelete() override
void setQuake_(QuakeType type) override
u32 _17d8[(0x17E0 - 0x17D8)/sizeof(u32)]
Definition CarryObjBase.h:115
void setFukidashiInfo(FukidashiInfo fukidashi_info)
Definition CarryObjBase.h:108
~CarryObjBase() override
Definition CarryObjBase.h:26