New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
FireBallBase.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 <collision/BgCollisionCheckHitResult.h>
8#include <map_obj/MaskDraw.h>
9#include <actor/EatCallback.h>
10#include <actor/ChibiEatCallback.h>
11#include <effect/EffectObj.h>
12#include <graphics/Light.h>
13
14// vtbl Address: 0x1003B0F4
16{
17 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9EF8
18 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101EA0AC
19 SEAD_RTTI_OVERRIDE(FireBallBase, ActorState)
20
21protected:
22 // vtbl Address: 0x1003B09C
24 {
25 public:
26 // Address: 0x0216F9F0
28 // Address: 0x02171600
30 };
31 static_assert(sizeof(DrcTouchCB) == sizeof(ActorCollisionDrcTouchCallback));
32
33public:
34 // Address: 0x0216FED0
35 FireBallBase(const ActorCreateParameter& param);
37
38 // Address: 0x0217001C
39 Result create() override;
40 // Address: 0x021701E0
42 // Address: 0x021703D0
44 // Address: 0x021706EC
45 bool draw() override;
46 // Address: 0x02170714
47 Result doDelete() override;
48
49 // Address: 0x02170750
50 virtual void removeCollisionCheck() override;
51 // Address: 0x021707b0
52 virtual void reviveCollisionCheck() override;
53
54 // StateID_Move Address: 0x101F8044
55 // initializeState_Move Address: 0x02171740
56 // executeState_Move Address: 0x02171744
57 // finalizeState_Move Address: 0x02171748
58 DECLARE_STATE_VIRTUAL_ID_BASE(FireBallBase, Move)
59 // StateID_Kill Address: 0x101F8068
60 // initializeState_Kill Address: 0x02170820
61 // executeState_Kill Address: 0x021708A4
62 // finalizeState_Kill Address: 0x0217174C
64 // StateID_EatIn Address: 0x101F808C
65 // initializeState_EatIn Address: 0x02171750
66 // executeState_EatIn Address: 0x021708C0
67 // finalizeState_EatIn Address: 0x02171754
69 // StateID_EatNow Address: 0x101F80B0
70 // initializeState_EatNow Address: 0x02171758
71 // executeState_EatNow Address: 0x0217175C
72 // finalizeState_EatNow Address: 0x02171760
74
75 // Address: 0x02171764
76 virtual void playDisappearSound()
77 {
78 GameAudio::getAudioObjMap()->startSound("SE_OBJ_EMY_FIRE_DISAPP", mPos);
79 }
80
81 // Address: 0x021717C4
82 virtual void onDrcTouch()
83 {
85 kill();
86 GameAudio::getAudioObjMap()->startSound("SE_EMY_CMN_TOUCH_DISAPPEAR", mPos,
88 }
89
90 // Address: 0x02171840
91 virtual bool initialize()
92 {
93 return true;
94 }
95
96 // Address: 0x02171848
97 virtual bool createCheck()
98 {
99 return true;
100 }
101
102 // Address: 0x02171850
103 virtual void setCollisionCheck()
104 {
105 }
106
107 // Address: 0x02170B08
108 virtual void setBgCollision();
109
110 // Address: 0x02171854
111 virtual void changeZpos()
112 {
113 }
114
115 // Address: 0x02170B2C
116 virtual void fireEffect();
117
118 // Address: 0x02170C08
119 virtual void beginSplash(f32);
120
121 // Address: 0x02170D00
122 virtual void beginAirSplash(BgCollisionCheckHitResult*);
123
124 // Address: 0x02170DF8
125 virtual void beginYoganWaveSplash();
126
127 // Address: 0x02170EA4
128 virtual void beginPoisonSplash(f32);
129
130 // Address: 0x02171858
131 virtual f32 getLightRad()
132 {
133 return 120.0f;
134 }
135
136 // Address: 0x02171864
138 {
139 return 24;
140 }
141
142 // Address: 0x0217186C
143 virtual void decFireBallCount()
144 {
145 }
146
147 // Address: 0x02170F9C
148 virtual void beginYoganSplash();
149
150 // Address: 0x0216FC4C
151 void kill();
152
153protected:
169};
170static_assert(sizeof(FireBallBase) == 0x1A58, "FireBallBase size mismatch");
Definition FireBallBase.h:16
FireBallBase(const ActorCreateParameter &param)
DrcTouchCB mDrcTouchCallback
Definition FireBallBase.h:166
virtual void changeZpos()
Definition FireBallBase.h:111
virtual void fireEffect()
u8 _1a54[4]
Definition FireBallBase.h:168
bool draw() override
Main rendering callback for the actor. Called every frame (the game runs at exactly 60 FPS).
Result create() override
Main initialization/setup callback for the actor.
virtual void beginYoganWaveSplash()
bool preExecute() override
Callback invoked before the execute operation.
virtual void beginYoganSplash()
virtual u32 getKillTimer()
Definition FireBallBase.h:137
f32 mLightRadius
Definition FireBallBase.h:155
Light mLight
Definition FireBallBase.h:164
virtual void beginAirSplash(BgCollisionCheckHitResult *)
ActorCollisionCheck mCollisionCheckDrcTouch
Definition FireBallBase.h:165
EatCallback mEatData
Definition FireBallBase.h:156
virtual f32 getLightRad()
Definition FireBallBase.h:131
virtual void beginPoisonSplash(f32)
BgCollisionCheckHitResult mWaterHitResult
Definition FireBallBase.h:167
sead::Vector3f _1848
Definition FireBallBase.h:159
virtual void decFireBallCount()
Definition FireBallBase.h:143
u32 mKillTimer
Definition FireBallBase.h:161
bool mIsKill
Definition FireBallBase.h:160
bool execute() override
Main execution/logic callback for the actor. Called every frame (the game runs at exactly 60 FPS).
virtual void reviveCollisionCheck() override
sead::Vector3f _183c
Definition FireBallBase.h:158
EffectObj mEffect
Definition FireBallBase.h:163
virtual void beginSplash(f32)
ChibiEatCallback mChibiEatData
Definition FireBallBase.h:157
Result doDelete() override
CircleLightMask mLightMask
Definition FireBallBase.h:154
Angle3 mEffectAngle
Definition FireBallBase.h:162
~FireBallBase() override
Definition FireBallBase.h:36
virtual void removeCollisionCheck() override