mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-08 21:07:42 +00:00
More class stubs
This commit is contained in:
43
Runtime/CMainFlowBase.cpp
Normal file
43
Runtime/CMainFlowBase.cpp
Normal file
@@ -0,0 +1,43 @@
|
||||
#include "CMainFlowBase.hpp"
|
||||
#include "CArchitectureMessage.hpp"
|
||||
|
||||
namespace Retro
|
||||
{
|
||||
|
||||
CIOWin::EMessageReturn CMainFlowBase::OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue)
|
||||
{
|
||||
switch (msg.GetType())
|
||||
{
|
||||
case MsgTimerTick:
|
||||
AdvanceGameState(queue);
|
||||
break;
|
||||
case MsgSetGameState:
|
||||
{
|
||||
const CArchMsgParmInt32& state = MakeMsg::GetParmNewGameflowState(msg);
|
||||
x14_gameState = EClientFlowStates(state.x4_parm);
|
||||
SetGameState(x14_gameState, queue);
|
||||
return MsgRetExit;
|
||||
}
|
||||
default: break;
|
||||
}
|
||||
return MsgRetNormal;
|
||||
}
|
||||
|
||||
void CMainFlowBase::AdvanceGameState(CArchitectureQueue& queue)
|
||||
{
|
||||
switch (x14_gameState)
|
||||
{
|
||||
case ClientStateFrontEnd:
|
||||
SetGameState(ClientStateGameLoad, queue);
|
||||
break;
|
||||
case ClientStateUnspecified:
|
||||
case ClientStateGameLoad:
|
||||
SetGameState(ClientStateMoviePlay, queue);
|
||||
break;
|
||||
case ClientStateMoviePlay:
|
||||
SetGameState(ClientStateFrontEnd, queue);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user