1 // SONIC ROBO BLAST 2
2 //-----------------------------------------------------------------------------
3 // Copyright (C) 1998-2000 by DooM Legacy Team.
4 // Copyright (C) 1999-2020 by Sonic Team Junior.
5 //
6 // This program is free software distributed under the
7 // terms of the GNU General Public License, version 2.
8 // See the 'LICENSE' file for more details.
9 //-----------------------------------------------------------------------------
10 /// \file  g_state.h
11 /// \brief SRB2 game states
12 
13 #ifndef __G_STATE__
14 #define __G_STATE__
15 
16 #include "doomtype.h"
17 
18 // the current state of the game
19 typedef enum
20 {
21 	GS_NULL = 0,        // At beginning.
22 
23 	// Fadable gamestates
24 	GS_LEVEL,           // Playing, in a level.
25 	GS_INTERMISSION,    // Gazing at the intermission screen.
26 	GS_CONTINUING,      // continue screen
27 
28 	GS_TITLESCREEN,     // title screen
29 	GS_TIMEATTACK,      // time attack menu
30 
31 	GS_CREDITS,         // credit sequence
32 	GS_EVALUATION,      // Evaluation at the end of a game.
33 	GS_GAMEEND,         // game end sequence - "did you get all those chaos emeralds?"
34 
35 	// Hardcoded fades or other fading methods
36 	GS_INTRO,           // introduction
37 	GS_ENDING,          // currently shared between bad and good endings
38 	GS_CUTSCENE,        // custom cutscene
39 
40 	// Not fadable
41 	GS_DEDICATEDSERVER, // new state for dedicated server
42 	GS_WAITINGPLAYERS   // waiting for players in a net game
43 } gamestate_t;
44 
45 typedef enum
46 {
47 	ga_nothing,
48 	ga_completed,
49 	ga_worlddone,
50 	ga_startcont,
51 	ga_continued,
52 } gameaction_t;
53 
54 extern gamestate_t gamestate;
55 extern UINT8 titlemapinaction;
56 extern UINT8 ultimatemode; // was sk_insane
57 extern gameaction_t gameaction;
58 
59 extern boolean botingame;
60 extern UINT8 botskin;
61 extern UINT16 botcolor;
62 
63 #endif //__G_STATE__
64