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 <container/seadRingBuffer.h>
4#include <container/seadSafeArray.h>
5#include <heap/seadDisposer.h>
6#include <math/seadVector.h>
7#include <prim/seadBitFlag.h>
8
9class FieldGameData;
10class PlayerBase;
11class PlayerObject;
12class Yoshi;
13
15{
17
18public:
24 static_assert(sizeof(RDashPhysicsType) == 4, "PlayerMgr::RDashPhysicsType size mismatch");
25
26public:
28 {
29 return mPlayerObject[player_no];
30 }
31
33 {
34 return mPlayerObject2[player_no];
35 }
36
37 bool isPlayerActive(s32 player_no)
38 {
39 return mActPlayerInfo.isOnBit(player_no);
40 }
41
43 {
44 return mActPlayerInfo.countOnBit();
45 }
46
47 void addNum(s32 player_no)
48 {
49 mActPlayerInfo.setBit(player_no);
50 }
51
52 void decNum(s32 player_no)
53 {
54 mActPlayerInfo.resetBit(player_no);
55 }
56
58 {
59 mDemoWaitFlgDisable.makeAllOne();
60 }
61
63 {
64 mDemoWaitFlgDisable.makeAllZero();
65 }
66
67 bool isDemoWaitFlgDisable(s32 player_no)
68 {
69 return mDemoWaitFlgDisable.isOnBit(player_no);
70 }
71
72 void setPauseDisable(s32 player_no)
73 {
74 mPauseDisable.setBit(player_no);
75 }
76
77 void setPauseEnable(s32 player_no)
78 {
79 mPauseDisable.resetBit(player_no);
80 }
81
82 bool isPauseDisable(s32 player_no)
83 {
84 return mPauseDisable.isOnBit(player_no);
85 }
86
87 bool isDisableOrchestra() const
88 {
89 return mDisableOrchestra;
90 }
91
92 bool isCreateBalloon(s32 player_no)
93 {
94 return mCreateBalloonFlag.isOnBit(player_no);
95 }
96
98 {
99 mAllBalloon = true;
100 }
101
102 bool isAllBalloon() const
103 {
104 return mAllBalloon;
105 }
106
107 void setCannonJump(s32 player_no)
108 {
109 mCannonJumpFlag.setBit(player_no);
110 }
111
112 void resetCannonJump(s32 player_no)
113 {
114 mCannonJumpFlag.resetBit(player_no);
115 }
116
118 {
119 return mCannonJumpTimer;
120 }
121
122 void onNextGotoBlock(s32 player_no)
123 {
124 mPlayerNextGotoBlockInfo.setBit(player_no);
125 }
126
128 {
129 return mPlayerNextGotoBlockInfo.countOnBit();
130 }
131
133
134 PlayerBase* getCtrlPlayer(s32 player_no);
135
136 void setPlayer(s32 player_no, PlayerObject* player_obj);
137 void resetPlayer(s32 player_no);
138
139 bool isAcceptQuake(s32 player_no);
140
142
144
146
147 bool isEnableStopOutDokanOther(s32 player_no);
148
149 bool isCourseInStar(s32 player_no);
150
152
153 void setHipAttackQuake(s32 type, s32 player_no, bool ext);
154
156
157private:
158 u32 _10[(0x20 - 0x10) / sizeof(u32)];
185};
186static_assert(sizeof(PlayerMgr) == 0xD0);
Definition FieldGame.h:11
Definition PlayerBase.h:37
Definition PlayerMgr.h:15
sead::BitFlag8 mCreateFlag
Definition PlayerMgr.h:161
bool isPlayerActive(s32 player_no)
Definition PlayerMgr.h:37
u8 _88
Definition PlayerMgr.h:166
u32 _a8
Definition PlayerMgr.h:175
s32 getCannonJumpTimer() const
Definition PlayerMgr.h:117
bool isAllBalloon() const
Definition PlayerMgr.h:102
s32 getNum()
Definition PlayerMgr.h:42
PlayerObject * getPlayerObject(s32 player_no)
Definition PlayerMgr.h:27
bool mOdaiClear
Definition PlayerMgr.h:177
bool isAcceptQuake(s32 player_no)
void setHipAttackQuake(s32 type, s32 player_no, bool ext)
void setAllBalloon()
Definition PlayerMgr.h:97
s32 mCoinMaxNum
Definition PlayerMgr.h:180
sead::SafeArray< PlayerObject *, 4 > mPlayerObject
Definition PlayerMgr.h:159
void resetPlayer(s32 player_no)
s32 getEntryNum()
sead::FixedRingBuffer< Yoshi *, 4 > mYoshi
Definition PlayerMgr.h:163
sead::Vector3f mPlayerSetPos
Definition PlayerMgr.h:181
bool isDemoWaitFlgDisable(s32 player_no)
Definition PlayerMgr.h:67
sead::SafeArray< PlayerObject *, 4 > mPlayerObject2
Definition PlayerMgr.h:160
sead::BitFlag8 mCannonJumpFlag
Definition PlayerMgr.h:172
PlayerBase * getCtrlPlayer(s32 player_no)
PlayerObject * getPlayerObject2(s32 player_no)
Definition PlayerMgr.h:32
bool isCreateBalloon(s32 player_no)
Definition PlayerMgr.h:92
s32 mPreFanfareTimer
Definition PlayerMgr.h:176
bool isPauseDisable(s32 player_no)
Definition PlayerMgr.h:82
sead::BitFlag16 mBgmState
Definition PlayerMgr.h:174
RDashPhysicsType mRDashPhysics
Definition PlayerMgr.h:184
sead::BitFlag16 mPlayerNextGotoBlockInfo
Definition PlayerMgr.h:182
void setPlayer(s32 player_no, PlayerObject *player_obj)
sead::BitFlag32 mPauseDisable
Definition PlayerMgr.h:168
sead::BitFlag32 mCreateBalloonFlag
Definition PlayerMgr.h:170
sead::FixedRingBuffer< Yoshi *, 4 > mYoshi2
Definition PlayerMgr.h:164
u32 _10[(0x20 - 0x10)/sizeof(u32)]
Definition PlayerMgr.h:158
s32 getNumNextGotoBlock()
Definition PlayerMgr.h:127
s32 getCoinNumMin()
u32 _84
Definition PlayerMgr.h:165
void setSubjectClear()
bool isEnableStopOutDokanOther(s32 player_no)
void resetCannonJump(s32 player_no)
Definition PlayerMgr.h:112
bool isDisableOrchestra() const
Definition PlayerMgr.h:87
s32 getNumInGame()
void addNum(s32 player_no)
Definition PlayerMgr.h:47
bool isNormalCourse()
void onNextGotoBlock(s32 player_no)
Definition PlayerMgr.h:122
sead::BitFlag32 mDemoWaitFlgDisable
Definition PlayerMgr.h:167
void setPauseDisable(s32 player_no)
Definition PlayerMgr.h:72
bool mAllBalloon
Definition PlayerMgr.h:171
FieldGameData * getGameData()
sead::BitFlag16 _ca
Definition PlayerMgr.h:183
s32 mHpDpSpecialType
Definition PlayerMgr.h:179
void setPauseEnable(s32 player_no)
Definition PlayerMgr.h:77
void decNum(s32 player_no)
Definition PlayerMgr.h:52
void setCannonJump(s32 player_no)
Definition PlayerMgr.h:107
void setDemoWaitFlgDisable()
Definition PlayerMgr.h:57
void resetDemoWaitFlgDisable()
Definition PlayerMgr.h:62
bool isCourseInStar(s32 player_no)
s32 mCannonJumpTimer
Definition PlayerMgr.h:173
sead::BitFlag16 mActPlayerInfo
Definition PlayerMgr.h:162
bool mDisableOrchestra
Definition PlayerMgr.h:169
u8 _b1
Definition PlayerMgr.h:178
Definition PlayerObject.h:18
Definition Yoshi.h:7