Descent3/USAGE.md
Jason Yundt 213df11ba6 Replace main.exe reference with Descent3.exe reference
Before this change, USAGE.md talked about “main.exe”. In Descent 3
v1.4.0, there was indeed an executable named MAIN.EXE. However, that
executable was renamed to Descent3.exe in v1.5.0.
2024-12-23 13:56:53 -05:00

16 KiB
Raw Blame History

Descent 3 Open source usage instructions

Important note: This open source distribution of Descent 3 DOES NOT CONTAIN GAME ASSETS. Assets must be acquired separately from an official copy of the game, and copied as described in the next section.

This is the first release of the Descent 3 open source engine, that should be considered a beta version. If you find a bug that has not been reported before, please open a new ticket it on our online issue tracker.

  1. Make sure that you have a copy of Descent 3. You can purchase a copy of Descent 3 from GOG or Steam.

  2. Install Descent 3. Note for Steam users: If you own Descent 3 on Steam, then its recommended that you install the Windows version of the game even if youre running macOS or Linux, otherwise movies will not work due to current lack of OGV support. You can use either Steam Play or SteamCMD to install the Windows version of the game on macOS or Linux.

  3. If your version of Descent 3 is older than v1.4, then update it to v1.4.

  4. Find the installation location of Descent 3. Using the Steam client, you can find it from the library page using the Manage > Browse local files context menu.

  5. Create a new folder named D3-open-source.

  6. Copy the following files from your installation of Descent 3 to D3-open-source:

    • All .hog files
    • The missions folder
    • (Optional) All .pld files
    • (Optional) The movies folder
  7. Create the custom/ folder in D3-open-source

  8. Obtain new Descent 3 engine files:

    • If you want to use pre-built binaries, then download the latest release. For a more cutting-edge experience with the latest features, use the artifacts from the latest automated build. You can find the list of automated builds here.
    • If you want to build the engine files yourself, the follow the instructions in BUILD.md. Once you build the engine files, theyll be put in builds/<platform>/build/<build-type>/. For example, if youre using Linux and you create a “Release” build, then the files will be located at builds/linux/build/Release.
  9. Copy all the new engine files into D3-open-source and overwrite any conflicts.

  10. Special notes:

    • D3 Open Source compiles level scripts in their own hogfiles. Make sure you copy and overwrite d3-{platform}.hog.
  11. Run the game:

    • On Windows, run D3-open-source\Descent3.exe from a command-line or double-click on the Descent3 executable.
    • On Linux, cd to D3-open-source and run ./Descent3. Wayland users may need to set environment variable SDL_VIDEODRIVER=wayland before launching the game.
    • On macOS, the .app bundle is currently not signed, so your operating system will not let you run it by double-clicking it. To remediate that, open your terminal and cd to D3-open-source. Run xattr -c ./Descent3.app, xattr -c ./netgames/*, chmod +x ./Descent3.app/Contents/MacOS/Descent3, and then run the game using ./Descent3.app/Contents/MacOS/Descent3

Troubleshooting

Descent 3 Message(Error: Couldn't find the string table.)

This error means that game data could not be found. Make sure you copied all game files to the D3-open-source folder, and that you're running the game from this same folder.

Command-Line Options

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.

Option Type Default Platform Description
Display Options
-aspect <value> floating-point number 1.3333333333333333 all Specifies the screen aspect ratio for non-standard displays, such as wide-screen TVs.
-display <number> integer 0 all Run game on the selected display.
-fullscreen or -f boolean On all Run game in fullscreen mode.
-height <height> integer 480 unless you select a different value in the options menu all Sets the screen resolution to the specified height, if possible.
-himem boolean Off all Forces normal operations even when low memory conditions are detected.
-lowmem boolean Off all Uses scaled-down textures and lower quality (8-bit) sounds to conserve memory.
-NoRenderWindows boolean Off all Causes all windows to be fully transparent. Use this option if your card does not correctly render partially-transparent windows.
-superlowmem boolean Off all Uses the -lowmem settings and further scales down textures to conserve memory.
-vsync boolean Off all 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> integer 640 unless you select a different value in the options menu all Sets the screen resolution to the specified width, if possible.
-windowed or -w boolean Off all Runs the game in a window.
-z32bit boolean Off WIN Enables the 32-bit z-buffer on cards that support it, such as the Matrox G400.
Audio Options
-nomusic boolean Off all Disables music.
-nosound boolean Off all Disables all sound, including music.
Input Options
-alternatejoy or -directinput boolean Off WIN Causes DirectInput to be used for the joystick or other game controller, instead of standard Windows API.
-chpro boolean Off all Enables a CH Flightstick Pro or compatible joystick.
-deadzone# <k> # is either the character 0 or the character 1. k is a floating-point number. 0.2 all Specifies the size of the deadzone for a joystick.
-mlooksens <scale> floating-point number 9.102 all Determines how much the player moves when the mouse is moved.
-mouseman boolean Off all Enables special handling for the Logitech MouseMan.
-mousesens <scale> floating-point number 1.0 all Adjusts the sensitivity of the mouse when not using mouselook mode.
-nomousegrab or -m boolean Off all Disable mouse capture.
Performance Options
-fastdemo boolean Off all Causes a demo to play back at the highest speed your computer is capable of.
-forcelightmaps boolean Off all Forces the use of lightmaps, even the Default Detail Level is set to Low in the launcher setup.
-framecap <fps> integer 60 all Limits the framerate to the number of frames per second specified.
-highvidmem boolean Off all Causes 2 MB Voodoo 1 cards to behave as if they had more memory.
-nocompress boolean Off all Turns off S3TC texture compression for cards that support it.
-nolightmaps boolean Off all Disables lightmaps. This will improve performance on low-end video cards.
-nomotionblur boolean Off all Disables motion blur on robots (Pentium III only).
-nomultitexture boolean Off all Disables single-pass multitexturing. This option could fix problems due to buggy drivers on future video cards.
-nooutdoorfog boolean Off all Disables fog on the terrain under Direct3D. This may improve performance on some cards.
-nopentium3 boolean Off all Disables detection of the Pentium III processor.
-nosatomega boolean Off all Disables alpha saturation on the omega cannon effect.
-subpixelcorrect boolean Off all Adjusts for subpixel correction under Direct3D for cards that do not support it.
-nosparkles boolean Off all Disables powerup sparkles (Pentium III only).
Multiplayer and Network Options
-audiotauntdelay <time> floating-point number 5.0 all 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> path <writable-base-directory>/netgames/autoexec.dmfc all 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> path None all Starts a dedicated server.
-gamespyport <port> integer 20142 all Specifies a port for to listen for GameSpy requests.
-gspyfile <config file> path gamespy.cfg all Specifies a GameSpy configuration file to use.
-httpproxy <addr> or -httpproxy <addr:port> string None all 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 boolean Off all Disables the Outrage logo that is normally displayed for five seconds at the start of a multiplayer game.
-nomultibmp boolean Off all Disables sending or receiving in-game custom bitmaps for ships.
-nonetwork boolean Off all Disables all network multiplayer functionality.
-playermessages boolean Off all Disables all weapon-related HUD messages in multiplayer games.
-pxoport <port> integer 20142 all Specifies the port that PXO will tell clients to use when contacting a server. The default is 2092.
-useip <IP> string All available network interfaces all 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> integer 2092 all Specifies the port that TCP/IP and IPX will use.
-usesmoothing boolean Off all 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.
Other Options
-logfile boolean Off all Generates a logfile d3.log if using the Debug build. All mprintf statements output to the logfile.
-loglevel <LEVEL> string INFO (on Release), DEBUG (on Debug) all Set log level (NONE, VERBOSE, DEBUG, INFO, WARNING, ERROR, FATAL)
-makemovie boolean Off all Causes the demo system to save a screenshot of every frame during playback.
-mission <name> string None all Loads the specified mission file at startup.
-nocrashbox boolean Off all Disables the error dialog displayed if Descent3 crashes.
-pilot <name> string None all Specifies the pilot to use, skipping the pilot selection dialog when the game starts.
-service boolean Off all Run game in service mode.
-setdir <path> path . all Specifies the working directory for Descent 3.
-useexedir boolean Off all Tells Descent 3 to use the directory in which the executable is located as the working directory.
-winconsole boolean Off WIN Enable windows console (off by default).