New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
BgActorBase.h
Go to the documentation of this file.
1#pragma once
2
3#include <actor/ActorState.h>
4#include <graphics/AnimModel.h>
5#include <collision/ActorBoxBgCollision.h>
6#include <map_obj/Wave.h>
7#include <state/FStateVirtualID.h>
8
9// vtbl Address: 0x100FCF48
11{
12public:
13 // Address: 0x026F0A88
14 BgActorBase(const ActorCreateParameter& param);
15 // Address: 0x026F36E8
17
18 // StateID_NonMove Address: 0x1021FF98
19 // initializeState_NonMove Address: 0x026F36A4
20 // executeState_NonMove Address: 0x026F36A8
21 // finalizeState_NonMove Address: 0x026F36AC
22 DECLARE_STATE_ID(BgActorBase, NonMove)
23 // StateID_Switch Address: 0x1021FFB8
24 // initializeState_Switch Address: 0x026F36B0
25 // executeState_Switch Address: 0x026F1800
26 // finalizeState_Switch Address: 0x026F36B4
28 // StateID_WaitAutoScroll Address: 0x1021FFD8
29 // initializeState_WaitAutoScroll Address: 0x026F1914
30 // executeState_WaitAutoScroll Address: 0x026F1938
31 // finalizeState_WaitAutoScroll Address: 0x026F36B8
33 // StateID_SwitchAutoScrDownWait Address: 0x1021FFF8
34 // initializeState_SwitchAutoScrDownWait Address: 0x026F1D18
35 // executeState_SwitchAutoScrDownWait Address: 0x026F1E18
36 // finalizeState_SwitchAutoScrDownWait Address: 0x026F36BC
38 // StateID_SwitchAutoScrReserveUp Address: 0x10220018
39 // initializeState_SwitchAutoScrReserveUp Address: 0x026F36C0
40 // executeState_SwitchAutoScrReserveUp Address: 0x026F1F00
41 // finalizeState_SwitchAutoScrReserveUp Address: 0x026F36C4
43 // StateID_SwitchAutoScrUpMove Address: 0x10220038
44 // initializeState_SwitchAutoScrUpMove Address: 0x026F1F9C
45 // executeState_SwitchAutoScrUpMove Address: 0x026F1FBC
46 // finalizeState_SwitchAutoScrUpMove Address: 0x026F36C8
48 // StateID_SwitchAutoScrUpWait Address: 0x10220058
49 // initializeState_SwitchAutoScrUpWait Address: 0x026F2074
50 // executeState_SwitchAutoScrUpWait Address: 0x026F2130
51 // finalizeState_SwitchAutoScrUpWait Address: 0x026F36CC
53 // StateID_SwitchAutoScrReserveDown Address: 0x10220078
54 // initializeState_SwitchAutoScrReserveDown Address: 0x026F36D0
55 // executeState_SwitchAutoScrReserveDown Address: 0x026F21FC
56 // finalizeState_SwitchAutoScrReserveDown Address: 0x026F36D4
58 // StateID_SwitchAutoScrDownMove Address: 0x10220098
59 // initializeState_SwitchAutoScrDownMove Address: 0x026F22A0
60 // executeState_SwitchAutoScrDownMove Address: 0x026F22C0
61 // finalizeState_SwitchAutoScrDownMove Address: 0x026F36D8
63 // StateID_WaterDownDemo Address: 0x102200B8
64 // initializeState_WaterDownDemo Address: 0x026F232C
65 // executeState_WaterDownDemo Address: 0x026F233C
66 // finalizeState_WaterDownDemo Address: 0x026F36DC
68
69 // Address: 0x026F106C
70 void initial();
71 // Address: 0x026F0FC4
73 // Address: 0x026F0D60
74 void calcModel();
75
76 // Address: 0x026F0E9C
78 // Address: 0x026F0F54
79 bool draw() override;
80
81 // Address: 0x026F1268
82 void createWaterFaceLineSet(f32 y_pos);
83 // Address: 0x026F1278
84 void moveWaterFaceLineSet(f32 y_pos);
85 // Address: 0x026F12C8
86 void setMotionState(u8 state);
87 // Address: 0x026F1500
89 // Address: 0x026F15AC
91 // Address: 0x026F1618
93 // Address: 0x026F1688
94 void shakeMove();
95
96 // Address: 0x026F3558
97 virtual void createVariableZposSet();
98 // Address: 0x026F355C
99 virtual void createFixationZposSet();
100 // Address: 0x026F3560
101 virtual void calcModelHeat();
102 // Address: 0x026F3564
103 virtual void drawHeat();
104
105 // StateID_AutoScroll Address: 0x102200DC
106 // initializeState_AutoScroll Address: 0x026F2478
107 // executeState_AutoScroll Address: 0x026F248C
108 // finalizeState_AutoScroll Address: 0x026F36E0
109 DECLARE_STATE_VIRTUAL_ID_BASE(BgActorBase, AutoScroll)
110 // StateID_DispSuckAround Address: 0x10220100
111 // initializeState_DispSuckAround Address: 0x026F24F8
112 // executeState_DispSuckAround Address: 0x026F2504
113 // finalizeState_DispSuckAround Address: 0x026F36E4
115
116public:
117 const Wave& getWave() const
118 {
119 return mWave;
120 }
121
123 {
124 return mWave;
125 }
126
131
132public:
133 /**
134 * @brief 32.0f
135 * @par Address: 0x100FCF44
136 */
137 static const f32 cHeatYposDiffer;
138 /**
139 * @brief 45 degrees
140 * @par Address: 0x102200D8
141 */
142 static const u32 cShakeAngleAdd = 0x2000000;
143 /**
144 * @brief 8.0f
145 * @par Address: 0x100FCF3C
146 */
147 static const f32 cWaveYpos;
148
149protected:
151 u8 _17cc[4]; // Unknown values
161 f32 _1ab4; // used to call it mWidth
162 f32 _1ab8; // used to call it mBaselineHeight
163 f32 _1abc; // used to call it mEffectiveHeight
180 u8 _11a44[4]; // Unknown values
194 u8 _11a74[4]; // Unknown values
195};
196static_assert(sizeof(BgActorBase) == 0x11A78, "BgActorBase size mismatch");
Definition BgActorBase.h:11
u32 _11a54
Definition BgActorBase.h:184
AnimModel * mModel
Definition BgActorBase.h:150
void setMotionState(u8 state)
sead::Vector3f _17d0
Definition BgActorBase.h:152
sead::Vector2f _1a9c
Definition BgActorBase.h:156
void autoWaveMove()
sead::IDisposer _11a30
Definition BgActorBase.h:178
bool mOnlyRenderWaves
Definition BgActorBase.h:172
u32 _11a40
Definition BgActorBase.h:179
u8 _11a74[4]
Definition BgActorBase.h:194
virtual void calcModelHeat()
u32 _1ae0
Definition BgActorBase.h:176
u8 _1ade
Definition BgActorBase.h:174
u8 _1add
Definition BgActorBase.h:173
u32 _11a6c
Definition BgActorBase.h:190
u8 _11a44[4]
Definition BgActorBase.h:180
void calcModel()
virtual void createVariableZposSet()
u8 _1adf
Definition BgActorBase.h:175
u32 _11a48
Definition BgActorBase.h:181
f32 _1ac8
Definition BgActorBase.h:166
f32 _1ac0
Definition BgActorBase.h:164
f32 _1ac4
Definition BgActorBase.h:165
u16 _1ad8
Definition BgActorBase.h:170
u8 _11a72
Definition BgActorBase.h:192
u8 _11a73
Definition BgActorBase.h:193
f32 _11a68
Definition BgActorBase.h:189
u16 _11a70
Definition BgActorBase.h:191
u32 _11a50
Definition BgActorBase.h:183
u32 _11a58
Definition BgActorBase.h:185
virtual void drawHeat()
u32 _11a5c
Definition BgActorBase.h:186
void initialFixation()
BgCollision::LineInitArg mColliderInfo
Definition BgActorBase.h:155
void shakeMove()
f32 _1acc
Definition BgActorBase.h:167
void switchBitCheck()
bool draw() override
Main rendering callback for the actor. Called every frame (the game runs at exactly 60 FPS).
BgActorBase(const ActorCreateParameter &param)
u16 _1ada
Definition BgActorBase.h:171
f32 _1ab4
Definition BgActorBase.h:161
f32 _1ab0
Definition BgActorBase.h:160
f32 _1aac
Definition BgActorBase.h:159
f32 _1abc
Definition BgActorBase.h:163
void autoScroolSpeedSet()
bool execute() override
Main execution/logic callback for the actor. Called every frame (the game runs at exactly 60 FPS).
f32 _11a64
Definition BgActorBase.h:188
void moveWaterFaceLineSet(f32 y_pos)
static const f32 cWaveYpos
8.0f
Definition BgActorBase.h:147
ActorBoxBgCollision mCollider
Definition BgActorBase.h:154
f32 _1ab8
Definition BgActorBase.h:162
Wave mWave
Definition BgActorBase.h:177
~BgActorBase() override
u32 _1ad0
Definition BgActorBase.h:168
sead::Vector3f _17dc
Definition BgActorBase.h:153
static const u32 cShakeAngleAdd
45 degrees
Definition BgActorBase.h:142
u32 _11a4c
Definition BgActorBase.h:182
u32 _1aa8
Definition BgActorBase.h:158
void createWaterFaceLineSet(f32 y_pos)
u8 _17cc[4]
Definition BgActorBase.h:151
virtual void createFixationZposSet()
u32 _1ad4
Definition BgActorBase.h:169
u32 _1aa4
Definition BgActorBase.h:157
u32 _11a60
Definition BgActorBase.h:187