New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
IceBallBase.h
Go to the documentation of this file.
1#pragma once
2
3#include <actor/ActorState.h>
4#include <collision/ActorCollisionDrcTouchCallback.h>
5#include <state/FStateVirtualID.h>
6#include <audio/GameAudio.h>
7#include <actor/EatCallback.h>
8#include <actor/ChibiEatCallback.h>
9#include <map_obj/MaskDraw.h>
10#include <effect/EffectObj.h>
11#include <graphics/Light.h>
12
13// vtbl Address: 0x1003EA18
14class IceBallBase : public ActorState
15{
16 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9fAC
17 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101EA0B0
18 SEAD_RTTI_OVERRIDE(IceBallBase, ActorState)
19
20protected:
21 // vtbl Address: 0x1003E9C0
23 {
24 public:
25 // Address: 0x0217F5D4
27 // Address: 0x02171600
29 };
30 static_assert(sizeof(DrcTouchCB) == sizeof(ActorCollisionDrcTouchCallback));
31
32public:
33 // Address: 0x0217FA5C
34 IceBallBase(const ActorCreateParameter& param);
36
37 // Address: 0x0217FB8C
38 Result create() override;
39 // Address: 0x0217FD34
41 // Address: 0x02180028
42 bool draw() override;
43 // Address: 0x02180C04
44 Result doDelete() override;
45
46 // Address: 0x02180050
47 virtual void removeCollisionCheck() override;
48 // Address: 0x021800B0
49 virtual void reviveCollisionCheck() override;
50
51 // StateID_Move Address: 0x101F85B4
52 // initializeState_Move Address: 0x02180120
53 // executeState_Move Address: 0x02180130
54 // finalizeState_Move Address: 0x02180C0C
55 DECLARE_STATE_VIRTUAL_ID_BASE(IceBallBase, Move)
56 // StateID_Kill Address: 0x101F85D8
57 // initializeState_Kill Address: 0x02180234
58 // executeState_Kill Address: 0x021802B8
59 // finalizeState_Kill Address: 0x02180C10
61 // StateID_EatIn Address: 0x101F85FC
62 // initializeState_EatIn Address: 0x02180C14
63 // executeState_EatIn Address: 0x021802D4
64 // finalizeState_EatIn Address: 0x02180C18
66 // StateID_EatNow Address: 0x101F8620
67 // initializeState_EatNow Address: 0x02180C1C
68 // executeState_EatNow Address: 0x02180C20
69 // finalizeState_EatNow Address: 0x02180C24
71
72 // Address: 0x02180C28
73 virtual void onDrcTouch()
74 {
75 if (!isState(StateID_Kill)) {
79 }
80 GameAudio::getAudioObjMap()->startSound("SE_OBJ_PNGN_ICEBALL_DISAPP", mPos);
81 GameAudio::getAudioObjMap()->startSound("SE_EMY_CMN_TOUCH_DISAPPEAR", mPos,
83 }
84
85 // Address: 0x02180D44
86 virtual bool initialize()
87 {
88 return true;
89 }
90
91 // Address: 0x02180D4C
92 virtual void setInitialSpeed();
93
94 // Address: 0x021802F0
95 virtual bool checkDeleteBg();
96
97 // Address: 0x02180D7C
98 virtual bool iceEffect()
99 {
100 return mEffect.createEffect(RP_Cmn_Iceball_0, &mPos);
101 }
102
103 // Address: 0x02180D94
105 {
106 return 24;
107 }
108
109 // Address: 0x02180D9C
110 virtual f32 getLightRad()
111 {
112 return 120.0f;
113 }
114
115 // Address: 0x0217FCD0
117
118protected:
133};
134static_assert(sizeof(IceBallBase) == 0x1A40, "IceBallBase size mismatch");
Definition IceBallBase.h:15
EffectObj mEffect
Definition IceBallBase.h:128
u32 _17cc
Definition IceBallBase.h:120
virtual bool iceEffect()
Definition IceBallBase.h:98
virtual u32 getKillTimer()
Definition IceBallBase.h:104
bool execute() override
Main execution/logic callback for the actor. Called every frame (the game runs at exactly 60 FPS).
CircleLightMask mLightMask
Definition IceBallBase.h:125
WaterType mWaterType
Definition IceBallBase.h:119
ActorCollisionCheck mCollisionCheckDrcTouch
Definition IceBallBase.h:130
void setDeleteEffect()
virtual bool checkDeleteBg()
virtual void removeCollisionCheck() override
virtual f32 getLightRad()
Definition IceBallBase.h:110
~IceBallBase() override
Definition IceBallBase.h:35
IceBallBase(const ActorCreateParameter &param)
Result create() override
Main initialization/setup callback for the actor.
ChibiEatCallback mChibiEatData
Definition IceBallBase.h:124
Angle3 mEffectAngle
Definition IceBallBase.h:127
f32 mLightRadius
Definition IceBallBase.h:126
EatCallback mEatData
Definition IceBallBase.h:123
bool draw() override
Main rendering callback for the actor. Called every frame (the game runs at exactly 60 FPS).
Result doDelete() override
DrcTouchCB mDrcTouchCallback
Definition IceBallBase.h:131
virtual void reviveCollisionCheck() override
u32 mKillTimer
Definition IceBallBase.h:122
u8 _1a40[4]
Definition IceBallBase.h:132
sead::Vector3f _17d0
Definition IceBallBase.h:121
Light mLight
Definition IceBallBase.h:129