2 * Copyright (C) Volition, Inc. 1999. All rights reserved.
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
10 * $Logfile: /Freespace2/code/MissionUI/MissionBrief.h $
15 * Header file for code to display the mission briefing to the player
18 * Revision 1.2 2002/06/09 04:41:13 relnev
19 * added copyright header
21 * Revision 1.1.1.1 2002/05/03 03:28:12 root
25 * 3 9/07/99 6:53p Jefff
26 * functionality to break out of a loop
28 * 2 10/07/98 10:53a Dave
31 * 1 10/07/98 10:49a Dave
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.
37 * 6 4/20/98 3:53p Lawrance
38 * Fix various bugs with auto-advancing through briefings.
40 * 5 3/30/98 5:16p Lawrance
41 * centralize a check for disabled loadout screens
43 * 4 3/11/98 10:28a Lawrance
44 * Add 'skip training' button
46 * 3 1/13/98 5:35p Lawrance
47 * Added brief_turn_off_closeup_icon()
49 * 2 12/05/97 2:39p Lawrance
50 * added some different sounds to main hall, add support for looping
53 * 1 9/30/97 10:16a Lawrance
54 * move files from Mission lib to MissionUI lib
56 * 39 9/24/97 5:29p Lawrance
57 * add voice playback of briefing text
59 * 38 9/24/97 5:03p Dave
60 * Spliced a bunch of stuff into MissionScreenCommon.[h,cpp]
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
66 * 36 9/18/97 11:11p Lawrance
67 * extern Brief_background_bitmap
69 * 35 8/19/97 1:33p Dave
70 * Enhancements to multi brief chat screen (sounds, scrolling, etc.)
72 * 34 8/17/97 2:41p Lawrance
75 * 33 8/15/97 8:25p Lawrance
76 * fix bug with freeing input box on briefing screens
78 * 32 8/15/97 7:58p Lawrance
79 * integrate new art for the briefing screens
81 * 31 8/14/97 5:21p Dave
82 * Added multiplayer briefing chat system.
84 * 30 7/31/97 1:38p Lawrance
85 * show multiplayer chat window in all screens (blited from common_render)
87 * 29 7/20/97 6:59p Lawrance
88 * changed name of some anim functions to be more consistent
90 * 28 7/14/97 3:58p Lawrance
91 * limit frametime to 33 ms for animation timing
93 * 27 6/26/97 12:12a Lawrance
94 * supporting anti-aliased bitmap animations
96 * 26 6/24/97 11:46p Lawrance
97 * supporting icon text and rotating models
99 * 25 6/18/97 11:00a Lawrance
100 * add in ship icons, move briefing render code into MissionBriefCommon
102 * 24 6/12/97 11:09p Lawrance
103 * getting map and text integrated into briefing
105 * 23 6/12/97 5:15p Lawrance
106 * added hook for ambient sound in briefing/ship select
108 * 22 6/12/97 11:27a Lawrance
109 * separating FRED dependant briefing code
111 * 21 6/12/97 9:58a Lawrance
112 * Move grid header stuff to separate file
114 * 20 6/12/97 2:48a Lawrance
115 * integrating briefing into ship select / weapon loadout screen
117 * 19 6/11/97 11:55a Lawrance
118 * added new data structures to hold briefing/debriefing info
120 * 18 4/02/97 11:57a Lawrance
121 * pre-load buffer for briefing music so no delay when briefing starts
123 * 17 3/31/97 5:45p Lawrance
124 * supporting changes to allow multiple streamed audio files
126 * 16 2/05/97 10:35a Lawrance
127 * supporting spooled music at menus, briefings, credits etc.
134 #ifndef _MISSIONBRIEF_H
135 #define _MISSIONBRIEF_H
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
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
157 #define NUM_BREIFING_REGIONS (NUM_COMMON_REGIONS + 8)
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];
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;
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();
175 void briefing_stop_music();
176 void briefing_start_music();
177 void briefing_load_music(char* fname);
178 void brief_stop_voices();
180 int brief_only_allow_briefing();
182 #endif // don't add anything past this line