New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
PlayerMgr.h
Go to the documentation of this file.
1#pragma once
2
3#include <player/PlayerHIO_Air.h>
4#include <player/PlayerHIO_Anm.h>
5#include <player/PlayerHIO_ChibiYoshi.h>
6#include <player/PlayerHIO_FlyMusa.h>
7#include <player/PlayerHIO_General.h>
8#include <player/PlayerHIO_Gravity.h>
9#include <player/PlayerHIO_Speed.h>
10#include <player/PlayerHIO_Turn.h>
11
12#include <container/seadRingBuffer.h>
13#include <container/seadSafeArray.h>
14#include <heap/seadDisposer.h>
15#include <math/seadVector.h>
16#include <prim/seadBitFlag.h>
17
18class FieldGameData;
19class PlayerBase;
20class PlayerObject;
21class Yoshi;
22
24{
26
27public:
33 static_assert(sizeof(RDashPhysicsType) == 4, "PlayerMgr::RDashPhysicsType size mismatch");
34
35public:
37 {
38 return mPlayerObject[player_no];
39 }
40
42 {
43 return mPlayerObject2[player_no];
44 }
45
46 bool isPlayerActive(s32 player_no)
47 {
48 return mActPlayerInfo.isOnBit(player_no);
49 }
50
52 {
53 return mActPlayerInfo.countOnBit();
54 }
55
56 void addNum(s32 player_no)
57 {
58 mActPlayerInfo.setBit(player_no);
59 }
60
61 void decNum(s32 player_no)
62 {
63 mActPlayerInfo.resetBit(player_no);
64 }
65
67 {
68 mDemoWaitFlgDisable.makeAllOne();
69 }
70
72 {
73 mDemoWaitFlgDisable.makeAllZero();
74 }
75
76 bool isDemoWaitFlgDisable(s32 player_no)
77 {
78 return mDemoWaitFlgDisable.isOnBit(player_no);
79 }
80
81 void setPauseDisable(s32 player_no)
82 {
83 mPauseDisable.setBit(player_no);
84 }
85
86 void setPauseEnable(s32 player_no)
87 {
88 mPauseDisable.resetBit(player_no);
89 }
90
91 bool isPauseDisable(s32 player_no)
92 {
93 return mPauseDisable.isOnBit(player_no);
94 }
95
97 {
99 }
100
101 bool isCreateBalloon(s32 player_no)
102 {
103 return mCreateBalloonFlag.isOnBit(player_no);
104 }
105
107 {
108 mAllBalloon = true;
109 }
110
111 bool isAllBalloon() const
112 {
113 return mAllBalloon;
114 }
115
116 void setCannonJump(s32 player_no)
117 {
118 mCannonJumpFlag.setBit(player_no);
119 }
120
121 void resetCannonJump(s32 player_no)
122 {
123 mCannonJumpFlag.resetBit(player_no);
124 }
125
127 {
128 return mCannonJumpTimer;
129 }
130
131 void onNextGotoBlock(s32 player_no)
132 {
133 mPlayerNextGotoBlockInfo.setBit(player_no);
134 }
135
137 {
138 return mPlayerNextGotoBlockInfo.countOnBit();
139 }
140
142
143 PlayerBase* getCtrlPlayer(s32 player_no);
144
145 void setPlayer(s32 player_no, PlayerObject* player_obj);
146 void resetPlayer(s32 player_no);
147
148 bool isAcceptQuake(s32 player_no);
149
151
153
155
156 bool isEnableStopOutDokanOther(s32 player_no);
157
158 bool isCourseInStar(s32 player_no);
159
161
162 void setHipAttackQuake(s32 type, s32 player_no, bool ext);
163
165
166 // Address: 0x02918144
168
169private:
191 > mPlayerObject2; // Idk why
195 Yoshi*,
199 Yoshi*,
222};
223static_assert(sizeof(PlayerMgr) == 0xD0);
Definition FieldGame.h:12
Definition PlayerBase.h:39
Definition PlayerMgr.h:24
sead::BitFlag8 mCreateFlag
Definition PlayerMgr.h:192
bool isPlayerActive(s32 player_no)
Definition PlayerMgr.h:46
u8 _88
Definition PlayerMgr.h:203
u32 _a8
Definition PlayerMgr.h:212
s32 getCannonJumpTimer() const
Definition PlayerMgr.h:126
bool isAllBalloon() const
Definition PlayerMgr.h:111
s32 getNum()
Definition PlayerMgr.h:51
PlayerObject * getPlayerObject(s32 player_no)
Definition PlayerMgr.h:36
PlayerHIO_Gravity mPlayerHIO_Gravity
Definition PlayerMgr.h:174
bool mOdaiClear
Definition PlayerMgr.h:214
bool isAcceptQuake(s32 player_no)
void setHipAttackQuake(s32 type, s32 player_no, bool ext)
void setAllBalloon()
Definition PlayerMgr.h:106
s32 mCoinMaxNum
Definition PlayerMgr.h:217
PlayerHIO_Turn mPlayerHIO_Turn
Definition PlayerMgr.h:173
void resetPlayer(s32 player_no)
s32 getEntryNum()
u8 mPlayerHIO_Jump
Definition PlayerMgr.h:175
sead::FixedRingBuffer< Yoshi *, cPlayerNum > mYoshi
Definition PlayerMgr.h:197
sead::Vector3f mPlayerSetPos
Definition PlayerMgr.h:218
bool isDemoWaitFlgDisable(s32 player_no)
Definition PlayerMgr.h:76
sead::SafeArray< PlayerObject *, cPlayerNum > mPlayerObject2
Definition PlayerMgr.h:191
sead::BitFlag8 mCannonJumpFlag
Definition PlayerMgr.h:209
PlayerBase * getCtrlPlayer(s32 player_no)
PlayerObject * getPlayerObject2(s32 player_no)
Definition PlayerMgr.h:41
bool isCreateBalloon(s32 player_no)
Definition PlayerMgr.h:101
s32 mPreFanfareTimer
Definition PlayerMgr.h:213
bool isPauseDisable(s32 player_no)
Definition PlayerMgr.h:91
sead::BitFlag16 mBgmState
Definition PlayerMgr.h:211
RDashPhysicsType mRDashPhysics
Definition PlayerMgr.h:221
sead::BitFlag16 mPlayerNextGotoBlockInfo
Definition PlayerMgr.h:219
PlayerHIO_General mPlayerHIO_General
Definition PlayerMgr.h:170
void setPlayer(s32 player_no, PlayerObject *player_obj)
sead::BitFlag32 mPauseDisable
Definition PlayerMgr.h:205
sead::BitFlag32 mCreateBalloonFlag
Definition PlayerMgr.h:207
sead::FixedRingBuffer< Yoshi *, cPlayerNum > mYoshi2
Definition PlayerMgr.h:201
PlayerHIO_Air mPlayerHIO_Air
Definition PlayerMgr.h:172
PlayerHIO_Anm mPlayerHIO_Anm
Definition PlayerMgr.h:177
s32 getNumNextGotoBlock()
Definition PlayerMgr.h:136
sead::SafeArray< PlayerObject *, cPlayerNum > mPlayerObject
Definition PlayerMgr.h:187
s32 getCoinNumMin()
u8 mPlayerHIO_Yoshi
Definition PlayerMgr.h:182
PlayerHIO_ChibiYoshi mPlayerHIO_ChibiYoshi
Definition PlayerMgr.h:181
u32 _84
Definition PlayerMgr.h:202
void setSubjectClear()
bool isEnableStopOutDokanOther(s32 player_no)
void resetCannonJump(s32 player_no)
Definition PlayerMgr.h:121
s32 getNumInGame()
void addNum(s32 player_no)
Definition PlayerMgr.h:56
bool isNormalCourse()
u8 mPlayerHIO_Totten
Definition PlayerMgr.h:183
void onNextGotoBlock(s32 player_no)
Definition PlayerMgr.h:131
s32 getYoshiNum()
sead::BitFlag32 mDemoWaitFlgDisable
Definition PlayerMgr.h:204
u8 mPlayerHIO_Swim
Definition PlayerMgr.h:176
void setPauseDisable(s32 player_no)
Definition PlayerMgr.h:81
bool mAllBalloon
Definition PlayerMgr.h:208
FieldGameData * getGameData()
sead::BitFlag16 _ca
Definition PlayerMgr.h:220
PlayerHIO_Speed mPlayerHIO_Speed
Definition PlayerMgr.h:171
s32 mHpDpSpecialType
Definition PlayerMgr.h:216
void setPauseEnable(s32 player_no)
Definition PlayerMgr.h:86
void decNum(s32 player_no)
Definition PlayerMgr.h:61
u8 mPlayerHIO_Propel
Definition PlayerMgr.h:178
PlayerHIO_FlyMusa mPlayerHIO_FlyMusa
Definition PlayerMgr.h:180
void setCannonJump(s32 player_no)
Definition PlayerMgr.h:116
void setDemoWaitFlgDisable()
Definition PlayerMgr.h:66
bool mDisablePlayerInstrument
Definition PlayerMgr.h:206
void resetDemoWaitFlgDisable()
Definition PlayerMgr.h:71
bool isCourseInStar(s32 player_no)
s32 mCannonJumpTimer
Definition PlayerMgr.h:210
sead::BitFlag16 mActPlayerInfo
Definition PlayerMgr.h:193
u8 _b1
Definition PlayerMgr.h:215
u8 mPlayerHIO_Penguin
Definition PlayerMgr.h:179
bool isDisablePlayerInstrument() const
Definition PlayerMgr.h:96
Definition PlayerObject.h:22
Definition Yoshi.h:7