summaryrefslogtreecommitdiff
path: root/src/avp/avppages.hpp
blob: 6a6a76f59f99b580d33468b85061c46934f71bda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
/*
	
	avppages.hpp

*/

#ifndef _avppages
#define _avppages 1

	#if ( defined( __WATCOMC__ ) || defined( _MSC_VER ) )
		#pragma once
	#endif

	#ifndef _rebmenus_hpp
		#include "rebmenus.hpp"
	#endif

#if UseRebMenus
class Command_QuitProgram : public Command
{
public:
	Command_QuitProgram() : Command()
	{
	}
	OurBool Execute(void);
};

class Command_StartSoloGame : public Command
{
public:
	Command_StartSoloGame
	(
		I_PLAYER_TYPE inPlayerType,
		I_AVP_ENVIRONMENTS inStartingEnv
	) : Command(),
		thePlayerType(inPlayerType),
		theStartingEnv(inStartingEnv)
	{
	}
	OurBool Execute(void);
private:
	const I_PLAYER_TYPE thePlayerType;		
	const I_AVP_ENVIRONMENTS theStartingEnv;
};

class Command_Multiplayer : public Command
{
public:
	Command_Multiplayer() : Command()
	{
	}
	OurBool Execute(void);

	// Only takes effect if the flag's been set (and clears the flag)
	// Triggers the multiplayer dialog boxes
	static void EndOfMenuLoopProcessing(void);

private:
	static OurBool bTriggerMenuDialog;
};

class Command_ExitCurrentGame : public Command
{
public:
	Command_ExitCurrentGame() : Command()
	{
	}

	OurBool Execute(void);
};

namespace RebMenus
{
	class Page_NoMenu : public Page
	{
	public:
		Page_NoMenu();
	};
	class Page_Initial : public Page
	{
	public:
		Page_Initial();
	};
	class Page_ChooseCharacter : public Page
	{
	public:
		Page_ChooseCharacter();
	};
	class Page_Options : public Page
	{
	public:
		Page_Options();
	};
	class Page_VideoOptions : public Page
	{
	public:
		Page_VideoOptions();
	private:
		void Hook_LeavingPage(void);
	};
	class Page_AudioOptions : public Page
	{
	public:
		Page_AudioOptions();
	};
	class Page_LevelsOfDetail : public Page
	{
	public:
		Page_LevelsOfDetail();
	};
	class Page_MarineBriefing : public Page
	{
	public:
		Page_MarineBriefing();
	};
	class Page_PredatorBriefing : public Page
	{
	public:
		Page_PredatorBriefing();
	};
	class Page_AlienBriefing : public Page
	{
	public:
		Page_AlienBriefing();
	};
	class Page_LoadGame : public Page
	{
	public:
		Page_LoadGame();
	};
	class Page_InputOptions : public Page
	{
	public:
		Page_InputOptions();
	private:	
		void Hook_LeavingPage(void);
	};
	class Page_ConfigMouse : public Page
	{
	public:
		Page_ConfigMouse();
	};
	class Page_PlaceholderMultiplayer : public Page
	{
	public:
		Page_PlaceholderMultiplayer();
	private:
		void Hook_EnteringPage(void);
		void Hook_LeavingPage(void);
	};
	class Page_MultiplayerErrorScreen : public Page
	{
	public:
		Page_MultiplayerErrorScreen();
	};
}; // namespace RebMenus
#endif // UseRebMenus


/* End of the header ****************************************************/



#endif