]> icculus.org git repositories - taylor/freespace2.git/blob - include/cmdline.h
rendering functions mostly done; more complete shader setup
[taylor/freespace2.git] / include / cmdline.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/Cmdline/cmdline.h $
11  * $Revision$
12  * $Date$
13  * $Author$
14  *
15  * $Log$
16  * Revision 1.3  2003/05/06 07:20:14  taylor
17  * implement command line options
18  *
19  * Revision 1.2  2002/06/09 04:41:12  relnev
20  * added copyright header
21  *
22  * Revision 1.1.1.1  2002/05/03 03:28:11  root
23  * Initial import.
24  *
25  * 
26  * 8     8/26/99 8:51p Dave
27  * Gave multiplayer TvT messaging a heavy dose of sanity. Cheat codes.
28  * 
29  * 7     7/15/99 3:07p Dave
30  * 32 bit detection support. Mouse coord commandline.
31  * 
32  * 6     7/13/99 1:15p Dave
33  * 32 bit support. Whee!
34  * 
35  * 5     6/22/99 9:37p Dave
36  * Put in pof spewing.
37  * 
38  * 4     1/12/99 5:45p Dave
39  * Moved weapon pipeline in multiplayer to almost exclusively client side.
40  * Very good results. Bandwidth goes down, playability goes up for crappy
41  * connections. Fixed object update problem for ship subsystems.
42  * 
43  * 3     11/17/98 11:12a Dave
44  * Removed player identification by address. Now assign explicit id #'s.
45  * 
46  * 2     10/07/98 10:52a Dave
47  * Initial checkin.
48  * 
49  * 1     10/07/98 10:48a Dave
50  * 
51  * 27    9/15/98 4:04p Allender
52  * added back in the -ip_addr command line switch because it needs to be
53  * in the standalone server only executable
54  * 
55  * 26    9/14/98 11:28a Allender
56  * support for server bashing of address when received from client.  Added
57  * a cmdline.cfg file to process command line arguments from a file
58  * 
59  * 25    9/08/98 2:20p Allender
60  * temporary code to force IP address to a specific value.
61  * 
62  * 24    8/20/98 5:30p Dave
63  * Put in handy multiplayer logfile system. Now need to put in useful
64  * applications of it all over the code.
65  * 
66  * 23    8/07/98 10:40a Allender
67  * new command line flags for starting netgames.  Only starting currently
68  * works, and PXO isn't implemented yet
69  * 
70  * 22    7/24/98 11:14a Allender
71  * start of new command line options for version 1.04
72  * 
73  * 21    5/21/98 1:50a Dave
74  * Remove obsolete command line functions. Reduce shield explosion packets
75  * drastically. Tweak PXO screen even more. Fix file xfer system so that
76  * we can guarantee file uniqueness.
77  * 
78  * 20    5/18/98 9:10p Dave
79  * Put in many new PXO features. Fixed skill level bashing in multiplayer.
80  * Removed several old command line options. Put in network config files.
81  * 
82  * 19    5/09/98 7:16p Dave
83  * Put in CD checking. Put in standalone host password. Made pilot into
84  * popup scrollable.
85  * 
86  * 18    4/23/98 8:27p Allender
87  * basic support for cutscene playback.  Into movie code in place.  Tech
88  * room can view cutscenes stored in CDROM_dir variable
89  * 
90  * 17    3/14/98 2:48p Dave
91  * Cleaned up observer joining code. Put in support for file xfers to
92  * ingame joiners (observers or not). Revamped and reinstalled pseudo
93  * lag/loss system.
94  * 
95  * 16    1/31/98 4:32p Dave
96  * Put in new support for VMT player validation, game logging in and game
97  * logging out.
98  * 
99  * 15    12/10/97 4:45p Dave
100  * Added in more detailed support for multiplayer packet lag/loss. Fixed
101  * some multiplayer stuff. Added some controls to the standalone.
102  * 
103  * 14    12/09/97 6:14p Lawrance
104  * add -nomusic flag
105  * 
106  * 13    11/28/97 7:04p Dave
107  * Emergency checkin due to big system crash.
108  * 
109  * 12    11/28/97 5:06p Dave
110  * Put in facilities for simulating multiplayer lag.
111  * 
112  * 11    11/24/97 5:42p Dave
113  * Fixed a file xfer buffer free/malloc problem. Lengthened command line
114  * switch string parse length.
115  * 
116  * 10    11/12/97 4:39p Dave
117  * Put in multiplayer campaign support parsing, loading and saving. Made
118  * command-line variables better named. Changed some things on the initial
119  * pilot select screen.
120  * 
121  * 9     11/11/97 4:54p Dave
122  * Put in support for single vs. multiplayer pilots. Put in initial player
123  * selection screen (no command line option yet). Started work on
124  * multiplayer campaign file save gaming.
125  * 
126  * 8     9/18/97 10:13p Dave
127  * Added -gimmemedals, which gives the current pilot all the medals in the
128  * game (debug)
129  * 
130  * 7     9/18/97 9:20a Dave
131  * Minor modifications
132  * 
133  * 6     9/15/97 11:40p Lawrance
134  * remove demo granularity switch
135  * 
136  * 5     9/03/97 5:03p Lawrance
137  * add support for -nosound command line parm
138  * 
139  * 4     8/21/97 4:55p Dave
140  * Added a switch for multiplayer chat streaming. Added a section for
141  * global command line vars.
142  * 
143  * 3     8/06/97 2:26p Dave
144  * Made the command line parse more robust. Made it easier to add and
145  * process new command-line switches.
146  * 
147  * 2     8/04/97 3:13p Dave
148  * Added command line functions. See cmdline.cpp for directions on adding
149  * new switches
150  * 
151  * 1     8/04/97 9:58a Dave
152  * 
153  * $NoKeywords: $
154  */
155
156 #ifndef FS_CMDLINE_HEADER_FILE
157 #define FS_CMDLINE_HEADER_FILE
158
159 int parse_cmdline(const char *cmdline = 0);
160
161 // COMMAND LINE SETTINGS
162 // This section is for reference by all the *_init() functions. For example, the multiplayer init function
163 // could check to see if (int Cmdline_multi_stream_chat_to_file) has been set by the command line parser.
164 //
165 // Add any extern definitions here and put the actual variables inside of cmdline.cpp for ease of use
166 // Also, check to make sure anything you add doesn't break Fred or TestCode
167
168 extern int Cmdline_multi_stream_chat_to_file;
169 extern int Cmdline_freespace_no_sound;
170 extern int Cmdline_freespace_no_music;
171 extern int Cmdline_gimme_all_medals;
172 extern int Cmdline_use_last_pilot;
173 extern int Cmdline_cd_check;
174 extern int Cmdline_start_netgame;
175 extern int Cmdline_closed_game;
176 extern int Cmdline_restricted_game;
177 extern int Cmdline_network_port;
178 extern char *Cmdline_game_name;
179 extern char *Cmdline_game_password;
180 extern char *Cmdline_rank_above;
181 extern char *Cmdline_rank_below;
182 extern char *Cmdline_connect_addr;
183 extern int Cmdline_multi_log;
184 extern int Cmdline_server_firing;
185 extern int Cmdline_client_dodamage;
186 extern int Cmdline_spew_pof_info;
187 extern int Cmdline_force_32bit;
188 extern int Cmdline_mouse_coords;
189 extern int Cmdline_timeout;
190 extern int Cmdline_no_grab;
191 extern int Cmdline_play_movies;
192 extern int Cmdline_fullscreen;
193 extern int Cmdline_window;
194
195 #endif
196