]> icculus.org git repositories - taylor/freespace2.git/blob - include/missionbrief.h
embed standalone web in executable
[taylor/freespace2.git] / include / missionbrief.h
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
6  * the source.
7  */
8
9 /*
10  * $Logfile: /Freespace2/code/MissionUI/MissionBrief.h $
11  * $Revision$
12  * $Date$
13  * $Author$
14  *
15  * Header file for code to display the mission briefing to the player
16  *
17  * $Log$
18  * Revision 1.3  2004/07/04 11:31:43  taylor
19  * amd64 support, compiler warning fixes, don't use software rendering
20  *
21  * Revision 1.2  2002/06/09 04:41:13  relnev
22  * added copyright header
23  *
24  * Revision 1.1.1.1  2002/05/03 03:28:12  root
25  * Initial import.
26  *
27  * 
28  * 3     9/07/99 6:53p Jefff
29  * functionality to break out of a loop
30  * 
31  * 2     10/07/98 10:53a Dave
32  * Initial checkin.
33  * 
34  * 1     10/07/98 10:49a Dave
35  * 
36  * 7     5/19/98 8:35p Dave
37  * Revamp PXO channel listing system. Send campaign goals/events to
38  * clients for evaluation. Made lock button pressable on all screens. 
39  * 
40  * 6     4/20/98 3:53p Lawrance
41  * Fix various bugs with auto-advancing through briefings.
42  * 
43  * 5     3/30/98 5:16p Lawrance
44  * centralize a check for disabled loadout screens
45  * 
46  * 4     3/11/98 10:28a Lawrance
47  * Add 'skip training' button
48  * 
49  * 3     1/13/98 5:35p Lawrance
50  * Added brief_turn_off_closeup_icon()
51  * 
52  * 2     12/05/97 2:39p Lawrance
53  * added some different sounds to main hall, add support for looping
54  * ambient sounds
55  * 
56  * 1     9/30/97 10:16a Lawrance
57  * move files from Mission lib to MissionUI lib
58  * 
59  * 39    9/24/97 5:29p Lawrance
60  * add voice playback of briefing text
61  * 
62  * 38    9/24/97 5:03p Dave
63  * Spliced a bunch of stuff into MissionScreenCommon.[h,cpp]
64  * 
65  * 37    9/22/97 5:12p Dave
66  * Added stats transfer game _mode_. Started work on multiplayer chat
67  * screens for weapon and ship select
68  * 
69  * 36    9/18/97 11:11p Lawrance
70  * extern Brief_background_bitmap
71  * 
72  * 35    8/19/97 1:33p Dave
73  * Enhancements to multi brief chat screen (sounds, scrolling, etc.)
74  * 
75  * 34    8/17/97 2:41p Lawrance
76  * improving interface
77  * 
78  * 33    8/15/97 8:25p Lawrance
79  * fix bug with freeing input box on briefing screens
80  * 
81  * 32    8/15/97 7:58p Lawrance
82  * integrate new art for the briefing screens
83  * 
84  * 31    8/14/97 5:21p Dave
85  * Added multiplayer briefing chat system.
86  * 
87  * 30    7/31/97 1:38p Lawrance
88  * show multiplayer chat window in all screens (blited from common_render)
89  * 
90  * 29    7/20/97 6:59p Lawrance
91  * changed name of some anim functions to be more consistent
92  * 
93  * 28    7/14/97 3:58p Lawrance
94  * limit frametime to 33 ms for animation timing
95  * 
96  * 27    6/26/97 12:12a Lawrance
97  * supporting anti-aliased bitmap animations
98  * 
99  * 26    6/24/97 11:46p Lawrance
100  * supporting icon text and rotating models
101  * 
102  * 25    6/18/97 11:00a Lawrance
103  * add in ship icons, move briefing render code into MissionBriefCommon
104  * 
105  * 24    6/12/97 11:09p Lawrance
106  * getting map and text integrated into briefing
107  * 
108  * 23    6/12/97 5:15p Lawrance
109  * added hook for ambient sound in briefing/ship select
110  * 
111  * 22    6/12/97 11:27a Lawrance
112  * separating FRED dependant briefing code
113  * 
114  * 21    6/12/97 9:58a Lawrance
115  * Move grid header stuff to separate file
116  * 
117  * 20    6/12/97 2:48a Lawrance
118  * integrating briefing into ship select / weapon loadout screen
119  * 
120  * 19    6/11/97 11:55a Lawrance
121  * added new data structures to hold briefing/debriefing info
122  * 
123  * 18    4/02/97 11:57a Lawrance
124  * pre-load buffer for briefing music so no delay when briefing starts
125  * 
126  * 17    3/31/97 5:45p Lawrance
127  * supporting changes to allow multiple streamed audio files
128  * 
129  * 16    2/05/97 10:35a Lawrance
130  * supporting spooled music at menus, briefings, credits etc.
131  * 
132  *
133  * $NoKeywords: $
134  *
135  */
136
137 #ifndef _MISSIONBRIEF_H
138 #define _MISSIONBRIEF_H
139
140 #include "ui.h"
141
142 // #defines to identify which screen we are on
143 #define ON_BRIEFING_SELECT                      1
144 #define ON_SHIP_SELECT                          2
145 #define ON_WEAPON_SELECT                        3
146
147 // briefing buttons
148 #define BRIEF_BUTTON_LAST_STAGE         0
149 #define BRIEF_BUTTON_NEXT_STAGE         1
150 #define BRIEF_BUTTON_PREV_STAGE         2
151 #define BRIEF_BUTTON_FIRST_STAGE                3
152 #define BRIEF_BUTTON_SCROLL_UP          4
153 #define BRIEF_BUTTON_SCROLL_DOWN                5
154 #define BRIEF_BUTTON_SKIP_TRAINING      6
155 #define BRIEF_BUTTON_PAUSE                              7
156 #define BRIEF_BUTTON_MULTI_LOCK         8
157 #define BRIEF_BUTTON_EXIT_LOOP          9
158
159
160 #define NUM_BREIFING_REGIONS    (NUM_COMMON_REGIONS + 8)
161
162 extern int      Brief_multitext_bitmap; // bitmap for multiplayer chat window
163 extern int      Brief_background_bitmap;
164 extern UI_INPUTBOX      Common_multi_text_inputbox[3];
165
166 // Sounds
167 #define         BRIEFING_MUSIC_DELAY    2500            // 650 ms delay before breifing music starts
168 extern int      Briefing_music_handle;
169 extern int      Briefing_music_begin_timestamp;
170
171 void brief_init();
172 void brief_close();
173 void brief_do_frame(float frametime);
174 void brief_unhide_buttons();
175 brief_icon *brief_get_closeup_icon();
176 void brief_turn_off_closeup_icon();
177
178 void briefing_stop_music();
179 void briefing_start_music();
180 void briefing_load_music(const char* fname);
181 void brief_stop_voices();
182
183 int brief_only_allow_briefing();
184
185 #endif // don't add anything past this line
186