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