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
7// vtbl Address: 0x10005FC0
8class BossDemo : public ActorState
9{
10 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9F28
11 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101E9F2C
12 SEAD_RTTI_OVERRIDE(BossDemo, ActorState)
13
14public:
15 // Address: 0x0202E448
18
19protected:
20 // Address: 0x0202E4DC
21 Result create() override;
22 // Address: 0x0202E578
24 // Address: 0x0202E5A0
25 Result doDelete() override;
26
27public:
28 // StateID_Ready Address: 0x101F0AA0
29 // initializeState_Ready Address: 0x0202E6D4
30 // executeState_Ready Address: 0x0202E754
31 // finalizeState_Ready Address: 0x0202F780
32 DECLARE_STATE_VIRTUAL_ID_BASE(BossDemo, Ready)
33 // StateID_BattleStDemo Address: 0x101F0AC4
34 // initializeState_BattleStDemo Address: 0x0202E758
35 // executeState_BattleStDemo Address: 0x0202E7D8
36 // finalizeState_BattleStDemo Address: 0x0202E948
38 // StateID_BattleIn Address: 0x101F0AE8
39 // initializeState_BattleIn Address: 0x0202E9B8
40 // executeState_BattleIn Address: 0x0202EAD8
41 // finalizeState_BattleIn Address: 0x0202F784
43 // StateID_BattleEdDemo Address: 0x101F0B0C
44 // initializeState_BattleEdDemo Address: 0x0202EB50
45 // executeState_BattleEdDemo Address: 0x0202EE6C
46 // finalizeState_BattleEdDemo Address: 0x0202F788
48
49 // Address: 0x0202F110
50 virtual void startBGM();
51 // Address: 0x0202F158
52 virtual void stopBGM();
53
54 virtual bool checkBattleStDemo()
55 {
56 return false;
57 }
58
59 virtual bool checkBattleEdDemo()
60 {
61 return mIsBattleEdDemo;
62 }
63
64 virtual bool demoScroll()
65 {
66 return true;
67 }
68
69 virtual Actor* bossSearch()
70 {
71 return nullptr;
72 }
73
74 virtual void initialize()
75 {
76 }
77
78 virtual void startClearFanfare() const
79 {
80 SndSceneMgr::instance()->startBossClearFanfare(SndSceneMgr::cBossClear_Toride);
81 }
82
84 {
85 mIsBattleEdDemo = true;
86 }
87
88 void setClear()
89 {
90 mIsClear = true;
91 }
92
93protected:
94 // Address: 0x0202ED24
96
97protected:
105 s32 mIdleTimer; // A counter value that can be used freely in executeState_BattleStDemo and/or executeState_BattleEdDemo
106 bool _17dc;
107 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)
108};
109static_assert(sizeof(BossDemo) == 0x17E0);
Definition BossDemo.h:9
u8 _17c8
Definition BossDemo.h:98
u8 mIsClear
Definition BossDemo.h:101
u8 _17c9
Definition BossDemo.h:99
Result doDelete() override
virtual Actor * bossSearch()
Definition BossDemo.h:69
bool mIsBattleEdDemo
Definition BossDemo.h:100
u32 mBattleEdDemoState
Definition BossDemo.h:103
s32 mIdleTimer
Definition BossDemo.h:105
virtual void startClearFanfare() const
Definition BossDemo.h:78
UniqueID mBossID
Definition BossDemo.h:104
virtual void initialize()
Definition BossDemo.h:74
virtual bool demoScroll()
Definition BossDemo.h:64
~BossDemo() override
Definition BossDemo.h:17
bool _17dc
Definition BossDemo.h:106
virtual bool checkBattleStDemo()
Definition BossDemo.h:54
void setBattleEdDemo()
Definition BossDemo.h:83
virtual bool checkBattleEdDemo()
Definition BossDemo.h:59
void setClear()
Definition BossDemo.h:88
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:107
void setCourseOutFaderPos_() const
u32 _17cc
Definition BossDemo.h:102
virtual void stopBGM()