FS2_Open
Open source remastering of the Freespace 2 engine
mainhallmenu.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) Volition, Inc. 1999. All rights reserved.
3  *
4  * All source code herein is the property of Volition, Inc. You may not sell
5  * or otherwise commercially exploit the source or things you created based on the
6  * source.
7  *
8 */
9 
10 #ifndef _MAIN_HALL_MENU_HEADER_FILE
11 #define _MAIN_HALL_MENU_HEADER_FILE
12 
13 #include "globalincs/globals.h"
14 #include "globalincs/pstypes.h"
15 
16 // CommanderDJ - this is now dynamic
17 // #define MAIN_HALLS_MAX 10
18 
20 {
21 public:
22  int mask;
23  char key;
25  int action;
27 
28  main_hall_region(int _mask, char _key, const SCP_string &_description, int _action, const SCP_string &_lua_action)
29  : mask(_mask), key(_key), description(_description), action(_action), lua_action(_lua_action)
30  {}
31 
33  : mask(0), key(0), description(), action(0), lua_action()
34  {}
35 };
36 
38 {
39 public:
40  // mainhall name identifier
42 
46 
47  // minimum resolution and aspect ratio needed to display this main hall
48  int min_width;
51 
52  // bitmap and mask
55 
56  // music
59 
60  // help overlay
63 
64  // zoom area
67 
68  // intercom defines -------------------
69 
70  // # of intercom sounds
72 
73  // random (min/max) delays between playing intercom sounds
75 
76  // intercom sounds themselves
78 
79  // intercom sound pan values
81 
82 
83  // misc animations --------------------
84 
85  // # of misc animations
87 
88  // filenames of the misc animations
90 
91  // Time until we will next play a given misc animation, min delay, and max delay
93 
94  // Goober5000, used in preference to the flag in generic_anim
96 
97  // Goober5000, used when we want to play one of several anims
99 
100  // coords of where to play the misc anim
102 
103  // misc anim play modes (see MISC_ANIM_MODE_* above)
105 
106  // panning values for each of the misc anims
108 
109  //sounds for each of the misc anims
111 
112  //frame number triggers for each of the misc anims
114 
115  //flags for each of the misc anim sounds
117 
118  // controls the render order
120 
121 
122  // door animations --------------------
123 
124  // # of door animations
126 
127  // filenames of the door animations
129 
130  // first pair : coords of where to play a given door anim
131  // second pair : center of a given door anim in windowed mode
133 
134  // sounds for each region (open/close)
136 
137  // pan values for the door sounds
139 
140  // region descriptions ----------------
141 
142  // font used for the tooltips, version number, etc.
143  int font;
144 
145  // action
147 
149 
150  // num pixels shader is above/below tooltip text
152 
153  // y coord of where to draw tooltip text
155 
156 };
157 
159 
160 
161 // initialize the main hall proper
162 void main_hall_init(const SCP_string &main_hall_name);
163 
164 // parse mainhall table files
165 void main_hall_table_init();
166 
167 // read in mainhall tables
168 void parse_main_hall_table(const char* filename);
169 
170 // do a frame for the main hall
171 void main_hall_do(float frametime);
172 
173 // close the main hall proper
174 void main_hall_close();
175 
176 // start the main hall music playing
177 void main_hall_start_music();
178 
179 // stop the main hall music
180 void main_hall_stop_music(bool fade);
181 
182 // get the music index
183 int main_hall_get_music_index(int main_hall_num);
184 
186 
187 int main_hall_get_index(const SCP_string &name_to_find);
188 
189 int main_hall_get_resolution_index(int main_hall_num);
190 
191 void main_hall_get_name(SCP_string &name, unsigned int index);
192 
195 
196 // what main hall we're on
197 int main_hall_id();
198 
199 // Vasudan?
201 
202 // start the ambient sounds playing in the main hall
206 
208 
209 // make the vasudan main hall funny
211 
212 void main_hall_pause();
213 void main_hall_unpause();
214 
215 #endif
SCP_string music_name
Definition: mainhallmenu.h:57
void main_hall_close()
SCP_vector< int > misc_anim_paused
Definition: mainhallmenu.h:95
int main_hall_get_music_index(int main_hall_num)
GLuint index
Definition: Glext.h:5608
SCP_vector< SCP_string > cheat_anim_from
Definition: mainhallmenu.h:44
SCP_vector< float > door_sound_pan
Definition: mainhallmenu.h:138
void main_hall_pause()
int num_random_intercom_sounds
Definition: mainhallmenu.h:71
void parse_main_hall_table(const char *filename)
int help_overlay_resolution_index
Definition: mainhallmenu.h:62
void main_hall_do_multi_ready()
void main_hall_stop_ambient()
std::basic_string< char, std::char_traits< char >, std::allocator< char > > SCP_string
Definition: vmallocator.h:21
SCP_vector< SCP_vector< int > > misc_anim_coords
Definition: mainhallmenu.h:101
SCP_vector< int > misc_anim_group
Definition: mainhallmenu.h:98
void main_hall_do(float frametime)
SCP_string name
Definition: mainhallmenu.h:41
SCP_vector< SCP_vector< int > > door_sounds
Definition: mainhallmenu.h:135
SCP_string lua_action
Definition: mainhallmenu.h:26
void main_hall_unpause()
void main_hall_init(const SCP_string &main_hall_name)
SCP_string substitute_music_name
Definition: mainhallmenu.h:58
SCP_string bitmap
Definition: mainhallmenu.h:53
char * filename
void main_hall_stop_music(bool fade)
SCP_vector< int > misc_anim_modes
Definition: mainhallmenu.h:104
SCP_vector< SCP_string > cheat
Definition: mainhallmenu.h:43
SCP_vector< SCP_string > cheat_anim_to
Definition: mainhallmenu.h:45
int main_hall_get_index(const SCP_string &name_to_find)
int main_hall_id()
SCP_vector< bool > misc_anim_over_doors
Definition: mainhallmenu.h:119
main_hall_region(int _mask, char _key, const SCP_string &_description, int _action, const SCP_string &_lua_action)
Definition: mainhallmenu.h:28
int main_hall_get_resolution_index(int main_hall_num)
void main_hall_table_init()
void main_hall_get_name(SCP_string &name, unsigned int index)
main_hall_defines * main_hall_get_pointer(const SCP_string &name_to_find)
int main_hall_is_vasudan()
SCP_vector< SCP_vector< main_hall_defines > > Main_hall_defines
SCP_string description
Definition: mainhallmenu.h:24
SCP_string mask
Definition: mainhallmenu.h:54
SCP_vector< float > misc_anim_sound_pan
Definition: mainhallmenu.h:107
void main_hall_vasudan_funny()
GLuint const GLchar * name
Definition: Glext.h:5608
SCP_vector< int > intercom_sounds
Definition: mainhallmenu.h:77
SCP_vector< SCP_vector< int > > misc_anim_special_trigger
Definition: mainhallmenu.h:113
SCP_vector< main_hall_region > regions
Definition: mainhallmenu.h:146
SCP_vector< SCP_vector< int > > intercom_delay
Definition: mainhallmenu.h:74
SCP_vector< float > intercom_sound_pan
Definition: mainhallmenu.h:80
void main_hall_reset_ambient_vol()
int main_hall_get_overlay_resolution_index()
SCP_vector< SCP_vector< int > > door_anim_coords
Definition: mainhallmenu.h:132
SCP_vector< SCP_vector< int > > misc_anim_sound_flag
Definition: mainhallmenu.h:116
void main_hall_start_ambient()
SCP_vector< SCP_vector< int > > misc_anim_delay
Definition: mainhallmenu.h:92
SCP_vector< SCP_string > misc_anim_name
Definition: mainhallmenu.h:89
void main_hall_start_music()
SCP_vector< SCP_string > door_anim_name
Definition: mainhallmenu.h:128
SCP_vector< SCP_vector< int > > misc_anim_special_sounds
Definition: mainhallmenu.h:110
int main_hall_get_overlay_id()
SCP_string help_overlay_name
Definition: mainhallmenu.h:61