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