diff options
Diffstat (limited to 'src/include/netlem_state_machine.h')
-rw-r--r-- | src/include/netlem_state_machine.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/include/netlem_state_machine.h b/src/include/netlem_state_machine.h new file mode 100644 index 0000000..0bc9779 --- /dev/null +++ b/src/include/netlem_state_machine.h @@ -0,0 +1,32 @@ +#ifndef NETLEM_STATE_MACHINE_H +#define NETLEM_STATE_MACHINE_H + +#include "SDL/SDL_net.h" + +typedef enum { + eNull, // Pseudo_state for _getOrChangeState : do not change state, just return current state + eLaunching, // Initial state, during system objects initialization + eSplash, // State for displaying Game Logo + eMenuMain, // State for main menu (next lines are sub-menus) + eMenuOptions, // State for general options (screen resolution, music...) + eMenuSingle, // State for single player options (level selection...) + eMenuMultiChooseServer, // State for network game server selection + eMenuMultiChooseOptions, // State for network game options selection (level, players, speed...) + eMultiWaitPlayers, // State for + eMultiLoading, // + eMultiWaitLoading, // + eMultiGame, // + eMultiReport, // + eSingleBrief, // State for single player level briefing (number of Lemmings to save...) + eSingleGame, // State for single player game (user is actually playing) + eSingleReport, // State for single player game report (number of saved Lemmings, access code...) + eCredits, // + eEnd // State reached when this program is exiting +} state_t; + + +state_t getState(); +state_t changeState(state_t s); +state_t changeStateAndNotify(state_t s, TCPsocket sockClient); + +#endif /*NETLEM_STATE_MACHINE_H*/ |