New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
PlayerDemoMgr.h
Go to the documentation of this file.
1#pragma once
2
3#include <player/PlayerEnum.h>
4#include <state/FStateID.h>
5
6#include <container/seadRingBuffer.h>
7#include <heap/seadDisposer.h>
8#include <math/seadVector.h>
9#include <prim/seadBitFlag.h>
10
12
14{
15 // sInstance Address: 0x101E2238
17
18public:
26 static_assert(cMode_Num == 3);
27
28public:
29 void setDemoMode(Mode mode);
30 bool isDemoMode(const StateID& state_id) const;
31
32 // Address: 0x029103A4
34 // Address: 0x0290F584
36
37 bool isGoalDemoMode() const;
38
40
43
45
46 void stopOther();
47 void playOther();
48
49 void setCourseOutList(s32 player_no);
50
51 s32 getCourseOutList(s32 index) const
52 {
53 return mCourseOutList[index];
54 }
55
57 {
58 return mCourseOutPlayerNo;
59 }
60
61 void setCourseOutPlayerNo(s32 player_no)
62 {
63 mCourseOutPlayerNo = player_no;
64 }
65
67 {
69 }
70
72 {
74 }
75
76 bool checkDemoNo(s8* player_no)
77 {
78 return isEnableCheckDemoNo() && getNextDemoNo() == *player_no;
79 }
80
81 void setDemoNo(s32 player_no)
82 {
83 if (!mDemoNoRingBuffer.isFull())
84 mDemoNoRingBuffer.pushBack(player_no);
85 }
86
90 void clearDemoNo(s32 player_no);
91 s32 searchDemoNo(s32 player_no);
92
93 s32 setGoalDemoList(s32 player_no);
94
96 {
97 return mGoalDemoNum;
98 }
99
100 s32 getPoleBelowPlayer(s32 player_no);
101
103 {
104 mGoalFlag.setBit(0);
105 }
106
108 {
109 mGoalFlag.resetBit(3);
110 }
111
113 {
114 mGoalFlag.setBit(4);
115 }
116
118 {
119 mGoalFlag.resetBit(4);
120 }
121
122 bool isUnkGoalFlag6() const
123 {
124 return mGoalFlag.isOnBit(6);
125 }
126
127 bool isUnkGoalFlag7() const
128 {
129 return mGoalFlag.isOnBit(7);
130 }
131
132 bool isSecretExit() const
133 {
134 return mIsSecretExit;
135 }
136
137 void setSecretExit(bool b)
138 {
139 mIsSecretExit = b;
140 }
141
142 bool isNormalExit() const
143 {
144 return !mIsSecretExit;
145 }
146
147 const sead::Vector2f& getGoalPos() const
148 {
149 return mGoalPos;
150 }
151
152 void setGoalPos(const sead::Vector2f& pos)
153 {
154 mGoalPos = pos;
155 }
156
158 {
159 mGoalWalkTargetPosX = x;
160 }
161
162 void setHanabiPos(const sead::Vector3f& pos)
163 {
164 mHanabiPos = pos;
165 }
166
168
173
175 {
176 return mFlag.isOnBit(0);
177 }
178
180
181protected:
182 u32 _10[(0x3C - 0x10) / sizeof(u32)];
184 u32 _40[(0x48 - 0x40) / sizeof(u32)];
186 u32 _4c[(0xD8 - 0x4C) / sizeof(u32)];
188 u32 _dc[(0xF0 - 0xDC) / sizeof(u32)];
190 u32 _f8[(0x108 - 0xF8) / sizeof(u32)];
192 u32 _10c[(0x128 - 0x10C) / sizeof(u32)];
194 u32 _134[(0x158 - 0x134) / sizeof(u32)];
202 u32 _1c8[(0x1D8 - 0x1C8) / sizeof(u32)];
204 u32 _1dc[(0x1F4 - 0x1DC) / sizeof(u32)];
205};
206static_assert(sizeof(PlayerDemoMgr) == 0x1F4, "PlayerDemoMgr size mismatch");
Definition EventGoalActorStop.h:7
Definition PlayerDemoMgr.h:14
s32 getGoalDemoNum() const
Definition PlayerDemoMgr.h:95
bool isNormalExit() const
Definition PlayerDemoMgr.h:142
u32 _40[(0x48 - 0x40)/sizeof(u32)]
Definition PlayerDemoMgr.h:184
s32 getNumDemoNo()
bool isEnableCheckDemoNo()
Definition PlayerDemoMgr.h:66
u32 _4c[(0xD8 - 0x4C)/sizeof(u32)]
Definition PlayerDemoMgr.h:186
void setCourseOutPlayerNo(s32 player_no)
Definition PlayerDemoMgr.h:61
void setHanabiPos(const sead::Vector3f &pos)
Definition PlayerDemoMgr.h:162
s32 getCourseOutList(s32 index) const
Definition PlayerDemoMgr.h:51
void playOther()
sead::Vector2f mGoalPos
Definition PlayerDemoMgr.h:189
f32 mGoalWalkTargetPosX
Definition PlayerDemoMgr.h:191
sead::FixedRingBuffer< s32, cPlayerNum > mDemoNoRingBuffer
Definition PlayerDemoMgr.h:196
void offUnkGoalFlag3()
Definition PlayerDemoMgr.h:107
sead::FixedRingBuffer< s32, cPlayerNum > mCourseOutList
Definition PlayerDemoMgr.h:195
void setSecretExit(bool b)
Definition PlayerDemoMgr.h:137
void setDemoMode(Mode mode)
bool mIsSecretExit
Definition PlayerDemoMgr.h:187
u32 _1bc
Definition PlayerDemoMgr.h:199
void clearDemoNo(s32 player_no)
bool isSecretExit() const
Definition PlayerDemoMgr.h:132
void setGoalPos(const sead::Vector2f &pos)
Definition PlayerDemoMgr.h:152
s32 mGoalDemoNum
Definition PlayerDemoMgr.h:185
bool isGoalDemoKimeWait()
bool isGoalDemoMode() const
sead::BitFlag32 mGoalFlag
Definition PlayerDemoMgr.h:183
sead::Vector3f mHanabiPos
Definition PlayerDemoMgr.h:193
void stopOther()
s32 getPoleBelowPlayer(s32 player_no)
void setDemoNo(s32 player_no)
Definition PlayerDemoMgr.h:81
bool startControlDemoAll()
EventGoalActorStop * getGoalStopEvent() const
Definition PlayerDemoMgr.h:169
bool isPlayerGameStop()
bool isGoalDemoItem()
void onHangFlag()
Definition PlayerDemoMgr.h:112
void setCourseOutList(s32 player_no)
u32 _134[(0x158 - 0x134)/sizeof(u32)]
Definition PlayerDemoMgr.h:194
sead::BitFlag32 mFlag
Definition PlayerDemoMgr.h:201
u32 _10c[(0x128 - 0x10C)/sizeof(u32)]
Definition PlayerDemoMgr.h:192
s32 mCourseOutPlayerNo
Definition PlayerDemoMgr.h:198
void setEnableCheckDemoNo()
Definition PlayerDemoMgr.h:71
u32 _10[(0x3C - 0x10)/sizeof(u32)]
Definition PlayerDemoMgr.h:182
bool mIsEnableCheckDemoNo
Definition PlayerDemoMgr.h:200
void setSubjectClear()
void stopBgmGoalDemo()
void endControlDemoAll()
void setPoleDown()
Definition PlayerDemoMgr.h:102
s32 getCourseOutPlayerNo() const
Definition PlayerDemoMgr.h:56
s32 setGoalDemoList(s32 player_no)
void turnNextDemoNo()
void offHangFlag()
Definition PlayerDemoMgr.h:117
u32 _dc[(0xF0 - 0xDC)/sizeof(u32)]
Definition PlayerDemoMgr.h:188
bool isUnkGoalFlag7() const
Definition PlayerDemoMgr.h:127
u32 _1dc[(0x1F4 - 0x1DC)/sizeof(u32)]
Definition PlayerDemoMgr.h:204
s32 getControlDemoPlayerNum() const
EventGoalActorStop * mEventGoalActorStop
Definition PlayerDemoMgr.h:203
const sead::Vector2f & getGoalPos() const
Definition PlayerDemoMgr.h:147
bool isUnderwaterKoopaJrDemo() const
Definition PlayerDemoMgr.h:174
bool isDemoMode(const StateID &state_id) const
bool isUnkGoalFlag6() const
Definition PlayerDemoMgr.h:122
sead::FixedRingBuffer< s32, cPlayerNum > mDemoNoRingBufferCopy
Definition PlayerDemoMgr.h:197
s32 searchDemoNo(s32 player_no)
void setGoalWalkTargetPosX(f32 x)
Definition PlayerDemoMgr.h:157
u32 _f8[(0x108 - 0xF8)/sizeof(u32)]
Definition PlayerDemoMgr.h:190
bool checkDemoNo(s8 *player_no)
Definition PlayerDemoMgr.h:76
s32 getNextDemoNo()
u32 _1c8[(0x1D8 - 0x1C8)/sizeof(u32)]
Definition PlayerDemoMgr.h:202