]> icculus.org git repositories - taylor/freespace2.git/blob - include/missioncmdbrief.h
proper padding of PXO stats struct for FS2 demo
[taylor/freespace2.git] / include / missioncmdbrief.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/MissionCmdBrief.h $
11  * $Revision$
12  * $Date$
13  * $Author$
14  *
15  * Mission Command Briefing Screen
16  *
17  * $Log$
18  * Revision 1.3  2003/01/22 18:23:02  relnev
19  * added missing include guard
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  * 2     10/07/98 10:53a Dave
29  * Initial checkin.
30  * 
31  * 1     10/07/98 10:49a Dave
32  * 
33  * 7     4/06/98 8:37p Hoffoss
34  * Fixed a few bugs with command brief screen.  Now the voice starts after
35  * the text has printed, and options screen doesn't reset cmd brief.
36  * 
37  * 6     3/26/98 5:24p Hoffoss
38  * Changed Command Brief to use memory mapped ani files instead, so we
39  * avoid the huge pauses for huge anis that play!
40  * 
41  * 5     3/19/98 4:25p Hoffoss
42  * Added remaining support for command brief screen (ANI and WAVE file
43  * playing).
44  * 
45  * 4     3/17/98 6:26p Hoffoss
46  * Added wave filename to command brief structure.
47  * 
48  * 3     3/05/98 9:38p Hoffoss
49  * Finished up command brief screen.
50  * 
51  * 2     3/05/98 3:59p Hoffoss
52  * Added a bunch of new command brief stuff, and asteroid initialization
53  * to Fred.
54  * 
55  * 1     3/02/98 6:14p Hoffoss
56  *
57  * $NoKeywords: $
58  */
59
60 #ifndef MISSIONCMDBRIEF_H
61 #define MISSIONCMDBRIEF_H
62
63 #define CMD_BRIEF_TEXT_MAX              16384
64 #define CMD_BRIEF_STAGES_MAX    10
65
66 typedef struct {
67         char *text;  // text to display
68         char ani_filename[MAX_FILENAME_LEN];  // associated ani file to play
69         anim_t *anim;
70         anim_instance_t *anim_instance;
71         int anim_ref;  // potential reference to another index (use it's anim instead of this's)
72         char wave_filename[MAX_FILENAME_LEN];
73         int wave;  // instance number of above
74 } cmd_brief_stage;
75
76 typedef struct {
77         int num_stages;
78         cmd_brief_stage stage[CMD_BRIEF_STAGES_MAX];
79 } cmd_brief;
80
81 extern cmd_brief Cmd_briefs[MAX_TEAMS];
82 extern cmd_brief *Cur_cmd_brief;  // pointer to one of the Cmd_briefs elements (the active one)
83
84 void cmd_brief_init(int stages);
85 void cmd_brief_close();
86 void cmd_brief_do_frame(float frametime);
87 void cmd_brief_hold();
88 void cmd_brief_unhold();
89
90 #endif