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