]> git.mxchange.org Git - flightgear.git/blob - src/FDM/LaRCsim/ls_sim_control.h
Updates to the scenery loading infrastructure to make it more flexible,
[flightgear.git] / src / FDM / LaRCsim / ls_sim_control.h
1 /***************************************************************************
2
3         TITLE:          ls_sim_control.h
4         
5 ----------------------------------------------------------------------------
6
7         FUNCTION:       LaRCSim simulation control parameters header file
8
9 ----------------------------------------------------------------------------
10
11         MODULE STATUS:  developmental
12
13 ----------------------------------------------------------------------------
14
15         GENEALOGY:      Created 18 DEC 1993 by Bruce Jackson
16
17 ----------------------------------------------------------------------------
18
19         DESIGNED BY:    B. Jackson
20         
21         CODED BY:       B. Jackson
22         
23         MAINTAINED BY:  guess who
24
25 ----------------------------------------------------------------------------
26
27         MODIFICATION HISTORY:
28         
29         DATE    PURPOSE                                         BY
30         
31         940204  Added "overrun" flag to indicate non-real-time frame.
32         940210  Added "vision" flag to indicate use of shared memory.
33         940513  Added "max_tape_channels" and "max_time_slices" EBJ
34         950308  Increased size of time_stamp and date_string to include
35                 terminating null char.                          EBJ
36         950314  Addedf "paused" flag to make this global (was local to
37                 ls_cockpit routine).                            EBJ
38         950406  Removed tape_channels parameter, and added end_time, model_hz,
39                 and term_update_hz parameters.                  EBJ     
40
41 $Header$
42 $Log$
43 Revision 1.1  1999/06/17 18:07:33  curt
44 Initial revision
45
46 Revision 1.1.1.1  1999/04/05 21:32:45  curt
47 Start of 0.6.x branch.
48
49 Revision 1.4  1998/08/06 12:46:39  curt
50 Header change.
51
52 Revision 1.3  1998/01/22 02:59:33  curt
53 Changed #ifdef FILE_H to #ifdef _FILE_H
54
55 Revision 1.2  1998/01/06 01:20:17  curt
56 Tweaks to help building with MSVC++
57
58 Revision 1.1  1997/05/29 00:09:59  curt
59 Initial Flight Gear revision.
60
61  * Revision 1.11  1995/04/07  01:39:09  bjax
62  * Removed tape_channels and added end_time, model_hz, and term_update_hz.
63  *
64  * Revision 1.10  1995/03/15  12:33:29  bjax
65  * Added 'paused' flag.
66  *
67  * Revision 1.9  1995/03/08  12:34:21  bjax
68  * Increased size of date_string and time_stamp by 1 to include terminating null;
69  * added userid field and include of stdio.h. EBJ
70  *
71  * Revision 1.8  1994/05/13  20:41:43  bjax
72  * Increased size of time_stamp to 8 chars to allow for colons.
73  * Added fields "tape_channels" and "time_slices" to allow user to change.
74  *
75  * Revision 1.7  1994/05/10  15:18:49  bjax
76  * Modified write_cmp2 flag to write_asc1 flag, since XPLOT 4.00 doesn't
77  * support cmp2.  Also added RCS header and log entries in header.
78  *
79                 
80
81 --------------------------------------------------------------------------*/
82
83
84 #ifndef _LS_SIM_CONTROL_H
85 #define _LS_SIM_CONTROL_H
86
87
88 #include <stdio.h>
89
90 #ifndef SIM_CONTROL
91
92 typedef struct {
93
94   enum { batch, terminal, GLmouse, cockpit } sim_type;
95   char simname[64];     /* name of simulation */
96   int run_number;       /* run number of this session                     */
97   char date_string[7];  /* like "931220" */
98   char time_stamp[9];   /* like "13:00:00" */
99 #ifdef COMPILE_THIS_CODE_THIS_USELESS_CODE
100   char userid[L_cuserid]; /* who is running this sim */
101 #endif /* COMPILE_THIS_CODE_THIS_USELESS_CODE */
102   long time_slices;     /* number of points that can be recorded (circ buff) */
103   int write_av;         /* will be writing out an Agile_VU file after run */
104   int write_mat;        /* will be writing out a matrix script of session */
105   int write_tab;        /* will be writing out a tab-delimited time history */
106   int write_asc1;       /* will be writing out a GetData ASCII 1 file */
107   int save_spacing;     /* spacing between data points when recording
108                            data to memory; 0 = every point, 1 = every 
109                            other point; 2 = every fourth point, etc. */
110   int write_spacing;    /* spacing between data points when writing
111                            output files; 0 = every point, 1 = every 
112                            other point; 2 = every fourth point, etc. */
113   int overrun;          /* indicates, if non-zero, a frame overrun
114                            occurred in the previous frame. Suitable for
115                            setting a display flag or writing an error
116                            message.                                     */
117   int vision;           /* indicates, if non-zero, marriage to LaRC VISION
118                            software (developed A. Dare and J. Burley of the 
119                            former Cockpit Technologies Branch) */
120   int debug;            /* indicates, if non-zero, to operate in debug mode
121                            which implies disable double-buffering and synch.
122                            attempts to avoid errors */
123   int paused;           /* indicates simulation is paused */
124   float end_time;       /* end of simulation run value */
125   float model_hz;       /* current inner loop frame rate */
126   float term_update_hz; /* current terminal refresh frequency */
127
128 } SIM_CONTROL;
129
130 extern SIM_CONTROL sim_control_;
131
132 #endif
133
134
135 #endif /* _LS_SIM_CONTROL_H */
136
137
138 /*------------------------  end of ls_sim_control.h ----------------------*/