MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / zGameStateSwitch

Function zGameStateSwitch

src/SB/Game/zGameState.cpp:197–252  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

195}
196
197void zGameStateSwitch(S32 theNewState)
198{
199 S32 stateOld = gGameState;
200 U32 theEvent = 0;
201
202 gGameState = theNewState;
203
204 if (theNewState == eGameState_Play && stateOld == eGameState_FirstTime)
205 {
206 startPressed = 1;
207 }
208
209 switch (gGameMode)
210 {
211 case eGameMode_Intro:
212 {
213 theEvent = sIntroState_DispatchTable[theNewState];
214 break;
215 }
216 case eGameMode_Title:
217 {
218 theEvent = sTitleState_DispatchTable[theNewState];
219 break;
220 }
221 case eGameMode_Load:
222 {
223 theEvent = sLoadState_DispatchTable[theNewState];
224 break;
225 }
226 case eGameMode_Options:
227 {
228 theEvent = sOptionsState_DispatchTable[theNewState];
229 break;
230 }
231 case eGameMode_Save:
232 {
233 theEvent = sSaveState_DispatchTable[theNewState];
234 break;
235 }
236 case eGameMode_Pause:
237 {
238 theEvent = sPauseState_DispatchTable[theNewState];
239 break;
240 }
241 case eGameMode_Game:
242 {
243 theEvent = sGameState_DispatchTable[theNewState];
244 break;
245 }
246 }
247
248 if (theEvent)
249 {
250 zEntEventAllOfType(theEvent, eBaseTypeDispatcher);
251 }
252}
253
254void zGameModeSwitch(eGameMode modeNew)

Callers 9

ZDSP_doCommandFunction · 0.70
zSaveLoad_LoadLoopFunction · 0.70
zSaveLoad_SaveLoopFunction · 0.70
updateMethod · 0.70
zGameStateSwitchEventFunction · 0.70
zSceneUpdateFunction · 0.70
zGamePauseFunction · 0.70
zGameUpdateModeFunction · 0.70
zMenuLoopFunction · 0.70

Calls 1

zEntEventAllOfTypeFunction · 0.85

Tested by

no test coverage detected