Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Convert table of command-line options into list
Browse files Browse the repository at this point in the history
Before this change, USAGE.md had an HTML table that contained
documentation for all of Descent 3’s command-line options. A concern was
raised that an HTML table might not be easy to read if someone
downloaded Descent 3 and opened USAGE.md in a plain text editor [1].
This commit alleviates that concern by converting the HTML table into
bulleted lists. Credit for this idea goes to @Lgt2x [2].

The main motivation behind this change is to help get #623 merged.

[1]: <#623 (comment)>
[2]: <#623 (comment)>
Jayman2000 committed Oct 20, 2024
1 parent 594ff0e commit a461d38
Showing 1 changed file with 473 additions and 357 deletions.
830 changes: 473 additions & 357 deletions USAGE.md
Original file line number Diff line number Diff line change
@@ -70,360 +70,476 @@ Let’s also say that both `my-writable-base-directory` and `my-read-only-base-d

The following command-line options are available in Descent 3. You can set command-line options on the Misc. tab of the Setup section of the Descent 3 launcher or by creating a shortcut to `Descent3.exe`. Case is not significant in command-line options, and `-`, `--`, and `+` are all accepted.

<table>
<tr>
<th>Option</th>
<th>Type</th>
<th>Default</th>
<th>Platform</th>
<th>Description</th>
</tr>
<tr>
<th colspan="5">Display Options</th>
</tr>
<tr>
<td><code>-aspect &lt;value&gt;</code></td>
<td>floating-point number</td>
<td>1.3333333333333333</td>
<td>all</td>
<td>Specifies the screen aspect ratio for non-standard displays, such as wide-screen TVs.</td>
</tr>
<tr>
<td><code>-fullscreen</code> or <code>-f</code></td>
<td>boolean</td>
<td>On</td>
<td>all</td>
<td>Run game in fullscreen mode.</td>
</tr>
<tr>
<td><code>-height &lt;height&gt;</code></td>
<td>integer</td>
<td>480 unless you select a different value in the options menu</td>
<td>all</td>
<td>Sets the screen resolution to the specified height, if possible.</td>
</tr>
<tr>
<td><code>-himem</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Forces normal operations even when low memory conditions are detected.</td>
</tr>
<tr>
<td><code>-lowmem</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Uses scaled-down textures and lower quality (8-bit) sounds to conserve memory.</td>
</tr>
<tr>
<td><code>-NoRenderWindows</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Causes all windows to be fully transparent. Use this option if your card does not correctly render partially-transparent windows.</td>
</tr>
<tr>
<td><code>-superlowmem</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Uses the <code>-lowmem</code> settings and further scales down textures to conserve memory.</td>
</tr>
<tr>
<td><code>-vsync</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Turns on Vertical Sync. The flag will be enabled in the registry so it will be on when the game is run again.</td>
</tr>
<tr>
<td><code>-width &lt;width&gt;</code></td>
<td>integer</td>
<td>640 unless you select a different value in the options menu</td>
<td>all</td>
<td>Sets the screen resolution to the specified width, if possible.</td>
</tr>
<tr>
<td><code>-windowed</code> or </code>-w</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Runs the game in a window.</td>
</tr>

<tr>
<th colspan="5">Audio Options</th>
</tr>
<tr>
<td><code>-nomusic</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Disables music.</td>
</tr>
<tr>
<td><code>-nosound</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Disables all sound, including music.</td>
</tr>

<tr>
<th colspan="5">Input Options</th>
</tr>
<tr>
<td><code>-deadzone# &lt;k&gt;</code></td>
<td><code>#</code> is either the character <code>0</code> or the character <code>1</code>. <code>k</code> is a floating-point number.</td>
<td>0.2</td>
<td>all</td>
<td>Specifies the size of the deadzone for a joystick.</td>
</tr>
<tr>
<td><code>-mlooksens &lt;scale&gt;</code></td>
<td>floating-point number</td>
<td>9.102</td>
<td>all</td>
<td>Determines how much the player moves when the mouse is moved.</td>
</tr>
<tr>
<td><code>-mousesens &lt;scale&gt;</code></td>
<td>floating-point number</td>
<td>1.0</td>
<td>all</td>
<td>Adjusts the sensitivity of the mouse when not using mouselook mode.</td>
</tr>
<tr>
<td><code>-nomousegrab</code> or <code>-m</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Disable mouse capture.</td>
</tr>
<tr>
<th colspan="5">Performance Options</th>
</tr>
<tr>
<td><code>-fastdemo</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Causes a demo to play back at the highest speed your computer is capable of.</td>
</tr>
<tr>
<td><code>-forcelightmaps</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Forces the use of lightmaps, even the Default Detail Level is set to Low in the launcher setup.</td>
</tr>
<tr>
<td><code>-framecap &lt;fps&gt;</code></td>
<td>integer</td>
<td>60</td>
<td>all</td>
<td>Limits the framerate to the number of frames per second specified.</td>
</tr>
<tr>
<td><code>-nomotionblur</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Disables motion blur on robots (Pentium III only).</td>
</tr>
<tr>
<td><code>-nosatomega</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Disables alpha saturation on the omega cannon effect.</td>
</tr>
<tr>
<td><code>-nosparkles</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Disables powerup sparkles (Pentium III only).</td>
</tr>

<tr>
<th colspan="5">Multiplayer and Network Options</th>
</tr>
<tr>
<td><code>-audiotauntdelay &lt;time&gt;</code></td>
<td>floating-point number</td>
<td>5.0</td>
<td>all</td>
<td>Sets the time in seconds the a user must wait after sending an audio taunt before he or she is able to send another. This option is only active when starting a server.</td>
</tr>
<tr>
<td><code>-autoexec &lt;file&gt;</code></td>
<td>path</td>
<td>&lt;writable-base-directory&gt;/netgames/autoexec.dmfc</td>
<td>all</td>
<td>Specifies the full path and file name of the multiplayer config file to be loaded and executed when a multiplayer game is initialized.</td>
</tr>
<tr>
<td><code>-dedicated &lt;config file&gt;</code> or <code>-d &lt;config file&gt;</code></td>
<td>path</td>
<td>None</td>
<td>all</td>
<td>Starts a dedicated server.</td>
</tr>
<tr>
<td><code>-gamespyport &lt;port&gt;</code></td>
<td>integer</td>
<td>20142</td>
<td>all</td>
<td>Specifies a port for to listen for GameSpy requests.</td>
</tr>
<tr>
<td><code>-gspyfile &lt;config file&gt;</code></td>
<td>path</td>
<td>gamespy.cfg</td>
<td>all</td>
<td>Specifies a GameSpy configuration file to use.</td>
</tr>
<tr>
<td><code>-httpproxy &lt;addr&gt;</code> or <code>-httpproxy &lt;addr:port&gt;</code></td>
<td>string</td>
<td>None</td>
<td>all</td>
<td>Specifies an HTTP proxy server. Descent 3 uses HTTP to auto-download a mission; use this option if your ISP requires a proxy server for HTTP connections. If the first form is used, the port value defaults to 80.</td>
</tr>
<tr>
<td><code>-nooutragelogo</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Disables the Outrage logo that is normally displayed for five seconds at the start of a multiplayer game.</td>
</tr>
<tr>
<td><code>-nomultibmp</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Disables sending or receiving in-game custom bitmaps for ships.</td>
</tr>
<tr>
<td><code>-nonetwork</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Disables all network multiplayer functionality.</td>
</tr>
<tr>
<td><code>-playermessages</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Disables all weapon-related HUD messages in multiplayer games.</td>
</tr>
<tr>
<td><code>-pxoport &lt;port&gt;</code></td>
<td>integer</td>
<td>20142</td>
<td>all</td>
<td>Specifies the port that PXO will tell clients to use when contacting a server. The default is 2092.</td>
</tr>
<tr>
<td><code>-useip &lt;IP&gt;</code></td>
<td>string</td>
<td>All available network interfaces</td>
<td>all</td>
<td>Binds Descent 3 to this IP address. Use this option to tell D3 which IP address to use if your computer has multiple IP addresses.</td>
</tr>
<tr>
<td><code>-useport &lt;port&gt;</code></td>
<td>integer</td>
<td>2092</td>
<td>all</td>
<td>Specifies the port that TCP/IP and IPX will use.</td>
</tr>
<tr>
<td><code>-usesmoothing</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Enables code to smooth the interpolation for fast-moving objects. This will fix "skipping" problems with fast weapons, such as the Phoenix. This option applies to clients only; using it on the server has no effect.</td>
</tr>

<tr>
<th colspan="5">Base Directory Options</th>
</tr>
<tr>
<td><code>-additionaldir &lt;path&gt;</code></td>
<td>path</td>
<td>None</td>
<td>all</td>
<td>Adds a directory to the list of read-only base directories. This options can be used multiple times to add multiple directories to the list.</td>
</tr>
<tr>
<td><code>-setdir &lt;path&gt;</code></td>
<td>path</td>
<td>.</td>
<td>all</td>
<td>Sets the writable base directory.</td>
</tr>
<tr>
<td><code>-useexedir</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Tells Descent 3 to use the directory in which the executable is located as the writable base directory.</td>
</tr>

<tr>
<th colspan="5">Other Options</th>
</tr>
<tr>
<td><code>-logfile</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Generates a logfile <code>d3.log</code> if using the Debug build. All <code>mprintf</code> statements output to the logfile.</td>
</tr>
<tr>
<td><code>-loglevel &lt;LEVEL&gt;</code></td>
<td>string</td>
<td>INFO (on Release), DEBUG (on Debug)</td>
<td>all</td>
<td>Set log level (NONE, VERBOSE, DEBUG, INFO, WARNING, ERROR, FATAL)</td>
</tr>
<tr>
<td><code>-makemovie</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Causes the demo system to save a screenshot of every frame during playback.</td>
</tr>
<tr>
<td><code>-mission &lt;name&gt;</code></td>
<td>string</td>
<td>None</td>
<td>all</td>
<td>Loads the specified mission file at startup.</td>
</tr>
<tr>
<td><code>-pilot &lt;name&gt;</code></td>
<td>string</td>
<td>None</td>
<td>all</td>
<td>Specifies the pilot to use, skipping the pilot selection dialog when the game starts.</td>
</tr>
<tr>
<td><code>-service</code></td>
<td>boolean</td>
<td>Off</td>
<td>all</td>
<td>Run game in service mode.</td>
</tr>
<tr>
<td><code>-winconsole</code></td>
<td>boolean</td>
<td>Off</td>
<td>WIN</td>
<td>Enable windows console (off by default).</td>
</tr>
</table>
### Display Options

- `-aspect <value>`

**Type:** floating-point number

**Default:** 1.3333333333333333

**Platform:** all

**Description:** Specifies the screen aspect ratio for non-standard displays, such as wide-screen TVs.

- `-fullscreen` or `-f`

**Type:** boolean

**Default:** On

**Platform:** all

**Description:** Run game in fullscreen mode.

- `-height <height>`

**Type:** integer

**Default:** 480 unless you select a different value in the options menu

**Platform:** all

**Description:** Sets the screen resolution to the specified height, if possible.

- `-himem`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Forces normal operations even when low memory conditions are detected.

- `-lowmem`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Uses scaled-down textures and lower quality (8-bit) sounds to conserve memory.

- `-NoRenderWindows`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Causes all windows to be fully transparent. Use this option if your card does not correctly render partially-transparent windows.

- `-superlowmem`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Uses the `-lowmem` settings and further scales down textures to conserve memory.

- `-vsync`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Turns on Vertical Sync. The flag will be enabled in the registry so it will be on when the game is run again.

- `-width <width>`

**Type:** integer

**Default:** 640 unless you select a different value in the options menu

**Platform:** all

**Description:** Sets the screen resolution to the specified width, if possible.

- `-windowed` or `-w`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Runs the game in a window.

### Audio Options

- `-nomusic`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Disables music.

- `-nosound`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Disables all sound, including music.

### Input Options

- `-deadzone# <k>`

**Type:** `#` is either the character `0` or the character `1`. `k` is a floating-point number.

**Default:** 0.2

**Platform:** all

**Description:** Specifies the size of the deadzone for a joystick.

- `-mlooksens <scale>`

**Type:** floating-point number

**Default:** 9.102

**Platform:** all

**Description:** Determines how much the player moves when the mouse is moved.

- `-mousesens <scale>`

**Type:** floating-point number

**Default:** 1.0

**Platform:** all

**Description:** Adjusts the sensitivity of the mouse when not using mouselook mode.

- `-nomousegrab` or `-m`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Disable mouse capture.

### Performance Options

- `-fastdemo`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Causes a demo to play back at the highest speed your computer is capable of.

- `-forcelightmaps`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Forces the use of lightmaps, even the Default Detail Level is set to Low in the launcher setup.

- `-framecap <fps>`

**Type:** integer

**Default:** 60

**Platform:** all

**Description:** Limits the framerate to the number of frames per second specified.

- `-nomotionblur`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Disables motion blur on robots (Pentium III only).

- `-nosatomega`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Disables alpha saturation on the omega cannon effect.

- `-nosparkles`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Disables powerup sparkles (Pentium III only).

### Multiplayer and Network Options

- `-audiotauntdelay <time>`

**Type:** floating-point number

**Default:** 5.0

**Platform:** all

**Description:** Sets the time in seconds the a user must wait after sending an audio taunt before he or she is able to send another. This option is only active when starting a server.

- `-autoexec <file>`

**Type:** path

**Default:** `<writable-base-directory>/netgames/autoexec.dmfc`

**Platform:** all

**Description:** Specifies the full path and file name of the multiplayer config file to be loaded and executed when a multiplayer game is initialized.

- `-dedicated <config file>` or `-d <config file>`

**Type:** path

**Default:** None

**Platform:** all

**Description:** Starts a dedicated server.

- `-gamespyport <port>`

**Type:** integer

**Default:** 20142

**Platform:** all

**Description:** Specifies a port for to listen for GameSpy requests.

- `-gspyfile <config file>`

**Type:** path

**Default:** gamespy.cfg

**Platform:** all

**Description:** Specifies a GameSpy configuration file to use.

- `-httpproxy <addr>` or `-httpproxy <addr:port>`

**Type:** string

**Default:** None

**Platform:** all

**Description:** Specifies an HTTP proxy server. Descent 3 uses HTTP to auto-download a mission; use this option if your ISP requires a proxy server for HTTP connections. If the first form is used, the port value defaults to 80.

- `-nooutragelogo`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Disables the Outrage logo that is normally displayed for five seconds at the start of a multiplayer game.

- `-nomultibmp`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Disables sending or receiving in-game custom bitmaps for ships.

- `-nonetwork`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Disables all network multiplayer functionality.

- `-playermessages`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Disables all weapon-related HUD messages in multiplayer games.

- `-pxoport <port>`

**Type:** integer

**Default:** 20142

**Platform:** all

**Description:** Specifies the port that PXO will tell clients to use when contacting a server. The default is 2092.

- `-useip <IP>`

**Type:** string

**Default:** All available network interfaces

**Platform:** all

**Description:** Binds Descent 3 to this IP address. Use this option to tell D3 which IP address to use if your computer has multiple IP addresses.

- `-useport <port>`

**Type:** integer

**Default:** 2092

**Platform:** all

**Description:** Specifies the port that TCP/IP and IPX will use.

- `-usesmoothing`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Enables code to smooth the interpolation for fast-moving objects. This will fix "skipping" problems with fast weapons, such as the Phoenix. This option applies to clients only; using it on the server has no effect.

### Base Directory Options

- `-additionaldir <path>`

**Type:** path

**Default:** None

**Platform:** all

**Description:** Adds a directory to the list of read-only base directories. This options can be used multiple times to add multiple directories to the list.

- `-setdir <path>`

**Type:** path

**Default:** .

**Platform:** all

**Description:** Sets the writable base directory.

- `-useexedir`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Tells Descent 3 to use the directory in which the executable is located as the writable base directory.

### Other Options

- `-logfile`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Generates a logfile `d3.log` if using the Debug build. All `mprintf` statements output to the logfile.

- `-loglevel <LEVEL>`

**Type:** string

**Default:** INFO (on Release), DEBUG (on Debug)

**Platform:** all

**Description:** Set log level (NONE, VERBOSE, DEBUG, INFO, WARNING, ERROR, FATAL)

- `-makemovie`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Causes the demo system to save a screenshot of every frame during playback.

- `-mission <name>`

**Type:** string

**Default:** None

**Platform:** all

**Description:** Loads the specified mission file at startup.

- `-pilot <name>`

**Type:** string

**Default:** None

**Platform:** all

**Description:** Specifies the pilot to use, skipping the pilot selection dialog when the game starts.

- `-service`

**Type:** boolean

**Default:** Off

**Platform:** all

**Description:** Run game in service mode.

- `-winconsole`

**Type:** boolean

**Default:** Off

**Platform:** WIN

**Description:** Enable windows console (off by default).

0 comments on commit a461d38

Please sign in to comment.