New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
BossDemo.h
Go to the documentation of this file.
1#pragma once
2
3#include <actor/ActorState.h>
4#include <sound/SndSceneMgr.h>
5#include <state/FStateVirtualID.h>
6
7class BossDemo : public ActorState // vtbl Address: 0x10005FC0
8{
9 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9F28
10 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101E9F2C
11 SEAD_RTTI_OVERRIDE(BossDemo, ActorState)
12
13public:
14 // Address: 0x0202E448
17
18protected:
19 // Address: 0x0202E4DC
20 Result create() override;
21 // Address: 0x0202E578
23 // Address: 0x0202E5A0
24 Result doDelete() override;
25
26public:
27 // StateID_Ready Address: 0x101F0AA0
28 // initializeState_Ready Address: 0x0202E6D4
29 // executeState_Ready Address: 0x0202E754
30 // finalizeState_Ready Address: 0x0202F780
31 DECLARE_STATE_VIRTUAL_ID_BASE(BossDemo, Ready)
32 // StateID_BattleStDemo Address: 0x101F0AC4
33 // initializeState_BattleStDemo Address: 0x0202E758
34 // executeState_BattleStDemo Address: 0x0202E7D8
35 // finalizeState_BattleStDemo Address: 0x0202E948
37 // StateID_BattleIn Address: 0x101F0AE8
38 // initializeState_BattleIn Address: 0x0202E9B8
39 // executeState_BattleIn Address: 0x0202EAD8
40 // finalizeState_BattleIn Address: 0x0202F784
42 // StateID_BattleEdDemo Address: 0x101F0B0C
43 // initializeState_BattleEdDemo Address: 0x0202EB50
44 // executeState_BattleEdDemo Address: 0x0202EE6C
45 // finalizeState_BattleEdDemo Address: 0x0202F788
47
48 // Address: 0x0202F110
49 virtual void startBGM();
50 // Address: 0x0202F158
51 virtual void stopBGM();
52
53 virtual bool checkBattleStDemo()
54 {
55 return false;
56 }
57
58 virtual bool checkBattleEdDemo()
59 {
60 return mIsBattleEdDemo;
61 }
62
63 virtual bool demoScroll()
64 {
65 return true;
66 }
67
68 virtual Actor* bossSearch()
69 {
70 return nullptr;
71 }
72
73 virtual void initialize()
74 {
75 }
76
77 virtual void startClearFanfare() const
78 {
79 SndSceneMgr::instance()->startBossClearFanfare(SndSceneMgr::cBossClear_Toride);
80 }
81
83 {
84 mIsBattleEdDemo = true;
85 }
86
87 void setClear()
88 {
89 mIsClear = true;
90 }
91
92protected:
93 // Address: 0x0202ED24
95
96protected:
104 s32 mIdleTimer; // A counter value that can be used freely in executeState_BattleStDemo and/or executeState_BattleEdDemo
105 bool _17dc;
106 bool mSkipKameckAtSt; // Encountering the boss with this set to true will skip the Kameck laugh cutscene (useful when re-encountering the boss after dying mid-fight)
107};
108static_assert(sizeof(BossDemo) == 0x17E0);
Definition BossDemo.h:8
u8 _17c8
Definition BossDemo.h:97
u8 mIsClear
Definition BossDemo.h:100
u8 _17c9
Definition BossDemo.h:98
Result doDelete() override
Main deletion callback for the actor.
virtual Actor * bossSearch()
Definition BossDemo.h:68
bool mIsBattleEdDemo
Definition BossDemo.h:99
u32 mBattleEdDemoState
Definition BossDemo.h:102
s32 mIdleTimer
Definition BossDemo.h:104
virtual void startClearFanfare() const
Definition BossDemo.h:77
virtual void initialize()
Definition BossDemo.h:73
virtual bool demoScroll()
Definition BossDemo.h:63
~BossDemo() override
Definition BossDemo.h:16
bool _17dc
Definition BossDemo.h:105
virtual bool checkBattleStDemo()
Definition BossDemo.h:53
void setBattleEdDemo()
Definition BossDemo.h:82
virtual bool checkBattleEdDemo()
Definition BossDemo.h:58
void setClear()
Definition BossDemo.h:87
Result create() override
Main initialization/setup callback for the actor.
bool execute() override
Main execution/logic callback for the actor. Called every frame (the game runs at exactly 60 FPS).
bool mSkipKameckAtSt
Definition BossDemo.h:106
void setCourseOutFaderPos_() const
u32 _17cc
Definition BossDemo.h:101
ActorUniqueID mBossID
Definition BossDemo.h:103
virtual void stopBGM()