New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
LineMgr.h
Go to the documentation of this file.
1
#
pragma
once
2
3
#
include
<
state
/
FStateMgr
.
h
>
4
#
include
<
utility
/
Angle
.
h
>
5
#
include
<
utility
/
Direction
.
h
>
6
7
#
include
<
container
/
seadSafeArray
.
h
>
8
#
include
<
math
/
seadVector
.
h
>
9
10
class
LineMgr
11
{
12
public
:
13
enum
Type
14
{
15
cType_ReverseAtEnd
= 0,
// i.e., Two-way
16
cType_StopAtEnd
// i.e., One-way
17
};
18
19
public
:
20
// Address: 0x0200DC14
21
LineMgr
();
22
23
// Address: 0x0200DF60
24
void
init
(
const
sead::Vector2f& pos, u8 layer, f32 base_speed = 0.0f,
Type
type =
cType_ReverseAtEnd
, u8 dir_x =
cDirType_Right
);
25
26
// Address: 0x0200E0C0
27
void
setBaseSpeed
(f32 speed);
28
29
// Address: 0x0200E178
30
void
startLineMove
(
bool
exec_fall_down =
false
);
31
32
void
execute
()
33
{
34
mStateMgr.executeState();
35
}
36
37
const
sead
::
Vector2f
&
getPos
()
const
38
{
39
return
mPos;
40
}
41
42
bool
isState
(
const
StateID& state_id)
const
43
{
44
return
*mStateMgr.getStateID() == state_id;
45
}
46
47
u8
getDir
()
const
48
{
49
return
mDir;
50
}
51
52
public
:
53
// StateID_FallDown Address: 0x101ECA8C
54
// initializeState_FallDown Address: 0x0201371C
55
// executeState_FallDown Address: 0x02013730
56
// finalizeState_FallDown Address: 0x020170F4
57
DECLARE_STATE_ID(
LineMgr
, FallDown)
58
// StateID_Left45 Address: 0x101ECAAC
59
// initializeState_Left45 Address: 0x020137B4
60
// executeState_Left45 Address: 0x02013800
61
// finalizeState_Left45 Address: 0x020170F8
62
DECLARE_STATE_ID
(
LineMgr
,
Left45
)
63
// StateID_Right45 Address: 0x101ECACC
64
// initializeState_Right45 Address: 0x02013960
65
// executeState_Right45 Address: 0x020139A0
66
// finalizeState_Right45 Address: 0x020170FC
67
DECLARE_STATE_ID
(
LineMgr
,
Right45
)
68
//StateID_Side Address: 0x101ECAEC
69
//initializeState_Side Address: 0x02013AE0
70
//executeState_Side Address: 0x02013B1C
71
//finalizeState_Side Address: 0x02017100
72
DECLARE_STATE_ID
(
LineMgr
,
Side
)
73
//StateID_Height Address: 0x101ECB0C
74
//initializeState_Height Address: 0x02013CE0
75
//executeState_Height Address: 0x02013D1C
76
//finalizeState_Height Address: 0x02017104
77
DECLARE_STATE_ID
(
LineMgr
,
Height
)
78
//StateID_CornerHeightLine Address: 0x101ECB2C
79
//initializeState_CornerHeightLine Address: 0x02013E30
80
//executeState_CornerHeightLine Address: 0x02013E6C
81
//finalizeState_CornerHeightLine Address: 0x02017108
82
DECLARE_STATE_ID
(
LineMgr
,
CornerHeightLine
)
83
// StateID_Left30Left Address: 0x101ECB6C
84
// initializeState_Left30Left Address: 0x020140DC
85
// executeState_Left30Left Address: 0x0201413C
86
// finalizeState_Left30Left Address: 0x02017110
87
DECLARE_STATE_ID
(
LineMgr
,
Left30Left
)
88
// StateID_Left30Right Address: 0x101ECB8C
89
// initializeState_Left30Right Address: 0x0201438C
90
// executeState_Left30Right Address: 0x020143EC
91
// finalizeState_Left30Right Address: 0x02017114
92
DECLARE_STATE_ID
(
LineMgr
,
Left30Right
)
93
// StateID_Right30Left Address: 0x101ECBAC
94
// initializeState_Right30Left Address: 0x02014610
95
// executeState_Right30Left Address: 0x02014668
96
// finalizeState_Right30Left Address: 0x02017118
97
DECLARE_STATE_ID
(
LineMgr
,
Right30Left
)
98
// StateID_Right30Right Address: 0x101ECBCC
99
// initializeState_Right30Right Address: 0x02014894
100
// executeState_Right30Right Address: 0x020148EC
101
// finalizeState_Right30Right Address: 0x0201711C
102
DECLARE_STATE_ID
(
LineMgr
,
Right30Right
)
103
// StateID_Left60Up Address: 0x101ECBEC
104
// initializeState_Left60Up Address: 0x02014B20
105
// executeState_Left60Up Address: 0x02014B80
106
// finalizeState_Left60Up Address: 0x02017120
107
DECLARE_STATE_ID
(
LineMgr
,
Left60Up
)
108
// StateID_Left60Down Address: 0x101ECC0C
109
// initializeState_Left60Down Address: 0x02014DE0
110
// executeState_Left60Down Address: 0x02014E40
111
// finalizeState_Left60Down Address: 0x02017124
112
DECLARE_STATE_ID
(
LineMgr
,
Left60Down
)
113
// StateID_Right60Down Address: 0x101ECC2C
114
// initializeState_Right60Down Address: 0x02015074
115
// executeState_Right60Down Address: 0x020150D4
116
// finalizeState_Right60Down Address: 0x02017128
117
DECLARE_STATE_ID
(
LineMgr
,
Right60Down
)
118
// StateID_Right60Up Address: 0x101ECC4C
119
// initializeState_Right60Up Address: 0x02015314
120
// executeState_Right60Up Address: 0x0201536C
121
// finalizeState_Right60Up Address: 0x0201712C
122
DECLARE_STATE_ID
(
LineMgr
,
Right60Up
)
123
// StateID_Circle Address: 0x101ECC6C
124
// initializeState_Circle Address: 0x0201559C
125
// executeState_Circle Address: 0x020155D8
126
// finalizeState_Circle Address: 0x02017130
127
DECLARE_STATE_ID
(
LineMgr
,
Circle
)
128
// StateID_Circle2x2LeftUp Address: 0x101ECC8C
129
// initializeState_Circle2x2LeftUp Address: 0x02015668
130
// executeState_Circle2x2LeftUp Address: 0x020156A4
131
// finalizeState_Circle2x2LeftUp Address: 0x02017134
132
DECLARE_STATE_ID
(
LineMgr
,
Circle2x2LeftUp
)
133
// StateID_Circle2x2RightUp Address: 0x101ECCAC
134
// initializeState_Circle2x2RightUp Address: 0x020156B8
135
// executeState_Circle2x2RightUp Address: 0x020156FC
136
// finalizeState_Circle2x2RightUp Address: 0x02017138
137
DECLARE_STATE_ID
(
LineMgr
,
Circle2x2RightUp
)
138
// StateID_Circle2x2LeftDown Address: 0x101ECCCC
139
// initializeState_LeftDown Address: 0x02015710
140
// executeState_LeftDown Address: 0x0201574C
141
// finalizeState_LeftDown Address: 0x0201713C
142
DECLARE_STATE_ID
(
LineMgr
,
Circle2x2LeftDown
)
143
// StateID_Circle2x2RightDown Address: 0x101ECCEC
144
// initializeState_RightDown Address: 0x02015760
145
// executeState_RightDown Address: 0x0201579C
146
// finalizeState_RightDown Address: 0x02017140
147
DECLARE_STATE_ID
(
LineMgr
,
Circle2x2RightDown
)
148
// StateID_Circle4x4RightUp Address: 0x101ECD0C
149
// initializeState_Circle4x4RightUp Address: 0x020157B0
150
// executeState_Circle4x4RightUp Address: 0x020157F4
151
// finalizeState_Circle4x4RightUp Address: 0x02017144
152
DECLARE_STATE_ID
(
LineMgr
,
Circle4x4RightUp
)
153
154
protected
:
155
FStateMgr
<
LineMgr
>
mStateMgr
;
156
sead
::
UnsafeArray
<
sead
::
Vector2f
, 7>
_24
;
157
sead
::
Vector2f
mSpeed
;
158
sead
::
Vector2f
mPos
;
159
sead
::
Vector2f
mPosPrev
;
160
sead
::
Vector2f
mPosBlock
;
161
sead
::
Vector2f
_7c
;
162
Angle
mAngle
;
163
f32
mBaseSpeed
;
164
u8
mType
;
// See Type
165
u8
mLayer
;
166
u8
mDir
;
167
bool
_8f
;
// Set, but never read
168
};
169
static_assert
(
sizeof
(
LineMgr
) == 0x90);
LineMgr
Definition
LineMgr.h:11
LineMgr::mBaseSpeed
f32 mBaseSpeed
Definition
LineMgr.h:163
LineMgr::mSpeed
sead::Vector2f mSpeed
Definition
LineMgr.h:157
LineMgr::mType
u8 mType
Definition
LineMgr.h:164
LineMgr::Type
Type
Definition
LineMgr.h:14
LineMgr::cType_ReverseAtEnd
@ cType_ReverseAtEnd
Definition
LineMgr.h:15
LineMgr::cType_StopAtEnd
@ cType_StopAtEnd
Definition
LineMgr.h:16
LineMgr::mLayer
u8 mLayer
Definition
LineMgr.h:165
LineMgr::mPos
sead::Vector2f mPos
Definition
LineMgr.h:158
LineMgr::mPosBlock
sead::Vector2f mPosBlock
Definition
LineMgr.h:160
LineMgr::setBaseSpeed
void setBaseSpeed(f32 speed)
LineMgr::_7c
sead::Vector2f _7c
Definition
LineMgr.h:161
LineMgr::startLineMove
void startLineMove(bool exec_fall_down=false)
LineMgr::LineMgr
LineMgr()
LineMgr::mDir
u8 mDir
Definition
LineMgr.h:166
LineMgr::init
void init(const sead::Vector2f &pos, u8 layer, f32 base_speed=0.0f, Type type=cType_ReverseAtEnd, u8 dir_x=cDirType_Right)
LineMgr::execute
void execute()
Definition
LineMgr.h:32
LineMgr::getPos
const sead::Vector2f & getPos() const
Definition
LineMgr.h:37
LineMgr::_8f
bool _8f
Definition
LineMgr.h:167
LineMgr::_24
sead::UnsafeArray< sead::Vector2f, 7 > _24
Definition
LineMgr.h:156
LineMgr::mPosPrev
sead::Vector2f mPosPrev
Definition
LineMgr.h:159
LineMgr::isState
bool isState(const StateID &state_id) const
Definition
LineMgr.h:42
LineMgr::getDir
u8 getDir() const
Definition
LineMgr.h:47
LineMgr::mAngle
Angle mAngle
Definition
LineMgr.h:162
actor
LineMgr.h
Generated by
1.14.0