2 * $Logfile: /Freespace2/code/MissionUI/MissionBrief.h $
7 * Header file for code to display the mission briefing to the player
10 * Revision 1.1 2002/05/03 03:28:12 root
14 * 3 9/07/99 6:53p Jefff
15 * functionality to break out of a loop
17 * 2 10/07/98 10:53a Dave
20 * 1 10/07/98 10:49a Dave
22 * 7 5/19/98 8:35p Dave
23 * Revamp PXO channel listing system. Send campaign goals/events to
24 * clients for evaluation. Made lock button pressable on all screens.
26 * 6 4/20/98 3:53p Lawrance
27 * Fix various bugs with auto-advancing through briefings.
29 * 5 3/30/98 5:16p Lawrance
30 * centralize a check for disabled loadout screens
32 * 4 3/11/98 10:28a Lawrance
33 * Add 'skip training' button
35 * 3 1/13/98 5:35p Lawrance
36 * Added brief_turn_off_closeup_icon()
38 * 2 12/05/97 2:39p Lawrance
39 * added some different sounds to main hall, add support for looping
42 * 1 9/30/97 10:16a Lawrance
43 * move files from Mission lib to MissionUI lib
45 * 39 9/24/97 5:29p Lawrance
46 * add voice playback of briefing text
48 * 38 9/24/97 5:03p Dave
49 * Spliced a bunch of stuff into MissionScreenCommon.[h,cpp]
51 * 37 9/22/97 5:12p Dave
52 * Added stats transfer game _mode_. Started work on multiplayer chat
53 * screens for weapon and ship select
55 * 36 9/18/97 11:11p Lawrance
56 * extern Brief_background_bitmap
58 * 35 8/19/97 1:33p Dave
59 * Enhancements to multi brief chat screen (sounds, scrolling, etc.)
61 * 34 8/17/97 2:41p Lawrance
64 * 33 8/15/97 8:25p Lawrance
65 * fix bug with freeing input box on briefing screens
67 * 32 8/15/97 7:58p Lawrance
68 * integrate new art for the briefing screens
70 * 31 8/14/97 5:21p Dave
71 * Added multiplayer briefing chat system.
73 * 30 7/31/97 1:38p Lawrance
74 * show multiplayer chat window in all screens (blited from common_render)
76 * 29 7/20/97 6:59p Lawrance
77 * changed name of some anim functions to be more consistent
79 * 28 7/14/97 3:58p Lawrance
80 * limit frametime to 33 ms for animation timing
82 * 27 6/26/97 12:12a Lawrance
83 * supporting anti-aliased bitmap animations
85 * 26 6/24/97 11:46p Lawrance
86 * supporting icon text and rotating models
88 * 25 6/18/97 11:00a Lawrance
89 * add in ship icons, move briefing render code into MissionBriefCommon
91 * 24 6/12/97 11:09p Lawrance
92 * getting map and text integrated into briefing
94 * 23 6/12/97 5:15p Lawrance
95 * added hook for ambient sound in briefing/ship select
97 * 22 6/12/97 11:27a Lawrance
98 * separating FRED dependant briefing code
100 * 21 6/12/97 9:58a Lawrance
101 * Move grid header stuff to separate file
103 * 20 6/12/97 2:48a Lawrance
104 * integrating briefing into ship select / weapon loadout screen
106 * 19 6/11/97 11:55a Lawrance
107 * added new data structures to hold briefing/debriefing info
109 * 18 4/02/97 11:57a Lawrance
110 * pre-load buffer for briefing music so no delay when briefing starts
112 * 17 3/31/97 5:45p Lawrance
113 * supporting changes to allow multiple streamed audio files
115 * 16 2/05/97 10:35a Lawrance
116 * supporting spooled music at menus, briefings, credits etc.
123 #ifndef _MISSIONBRIEF_H
124 #define _MISSIONBRIEF_H
128 // #defines to identify which screen we are on
129 #define ON_BRIEFING_SELECT 1
130 #define ON_SHIP_SELECT 2
131 #define ON_WEAPON_SELECT 3
134 #define BRIEF_BUTTON_LAST_STAGE 0
135 #define BRIEF_BUTTON_NEXT_STAGE 1
136 #define BRIEF_BUTTON_PREV_STAGE 2
137 #define BRIEF_BUTTON_FIRST_STAGE 3
138 #define BRIEF_BUTTON_SCROLL_UP 4
139 #define BRIEF_BUTTON_SCROLL_DOWN 5
140 #define BRIEF_BUTTON_SKIP_TRAINING 6
141 #define BRIEF_BUTTON_PAUSE 7
142 #define BRIEF_BUTTON_MULTI_LOCK 8
143 #define BRIEF_BUTTON_EXIT_LOOP 9
146 #define NUM_BREIFING_REGIONS (NUM_COMMON_REGIONS + 8)
148 extern int Brief_multitext_bitmap; // bitmap for multiplayer chat window
149 extern int Brief_background_bitmap;
150 extern UI_INPUTBOX Common_multi_text_inputbox[3];
153 #define BRIEFING_MUSIC_DELAY 2500 // 650 ms delay before breifing music starts
154 extern int Briefing_music_handle;
155 extern int Briefing_music_begin_timestamp;
159 void brief_do_frame(float frametime);
160 void brief_unhide_buttons();
161 uint brief_get_closeup_icon();
162 void brief_turn_off_closeup_icon();
164 void briefing_stop_music();
165 void briefing_start_music();
166 void briefing_load_music(char* fname);
167 void brief_stop_voices();
169 int brief_only_allow_briefing();
171 #endif // don't add anything past this line