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