From fa02b5479d40991ab367de780fad55d8992d3820 Mon Sep 17 00:00:00 2001 From: Gabor Bata Date: Thu, 28 Sep 2023 16:36:56 +0200 Subject: [PATCH] Add docs on command-line parameters --- CONFIG.md | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 106 insertions(+), 8 deletions(-) diff --git a/CONFIG.md b/CONFIG.md index fcb02f9d..36efaa25 100644 --- a/CONFIG.md +++ b/CONFIG.md @@ -1,13 +1,110 @@ -# Configuration file +# Configuration + +## Command-line parameters + +In general, Mocha Doom supports all of the standard vanilla/DOS Doom command-line +parameters, plus some of its own. Here's the documentation for some that might +be useful: + +* `-fullscreen`: + Can also be specified in the `default.cfg` file with the: `fullscreen true` setting. + It will attempt switching to a fullscreen mode compatible with the current + resolution, or the closest available reported by the host OS. + NOTE: Windows users might have to disable the Direct3D pipeline + with the `-Dsun.java2d.d3d=false` JVM parameter for this to work. +* `-truecolor`: + Uses the all-new truecolor renderering mode, an enhancement that combines the + oldschool renderer's look with true 24-bit depth colormaps and lighting. +* `-hicolor`: + Uses the all-new hicolor renderering mode, an enhancement that restores the + look and feel of the historical Doom v0.4 Alpha's HiColor mode, + with 15-bit color depth and lighting. +* `-oldawtevents`: + Forces using the older awt event handling system. + Use it only if the new default one gives you trouble. +* `-novert [disable]`: + By default, vertical mouse movement for the player will + be disabled, unless you use the -novert disable command. +* `-grabmouse`: + Forces a more aggressive way of keeping the mouse + confined in the game window. Only used with `-oldawtevents`, + where it's turned OFF by default. Otherwise, it's not effective. +* `-multiply `: + Multiplies the base resolution by n times. Acceptable + values are 1-5. Base resolution is 320x200, default is `-multiply 3` + unless overriden. Has priority over `-height` and `-width` +* `-width `: + Specifies window width to use e.g. `-width 640`. + For now, this will be forbily set to the closest multiple + of the base width, which is 320 pixels, so actual values + are only 320, 640, 960, etc. with a maximum of 5 times + the base width. +* `-height `: + Similar to `-width`, but operates on height. Base height + is 200 pixels, so actual values are only 200, 400, 600, + etc. If both are used, the one which yield the largest + scaling will be used (scaling is isotropic). +* `-file [file2] ...`: + Used to append PWADs. Can accept multiple files and + quoted names in a row, except names starting with '-' and '+'. +* `-iwad `: + Allows specifying which IWAD to use +* `-millis`: + Uses system millisecond accuracy for the timer. + Default is nanosecond accuracy, but you may wish + to change it if you get timing issues e.g. with + certain older AMD Athlon 64 X2 CPUs. +* `-fasttic`: + Plays as fast as possible without cancelling adaptiveness, by using an as fast + as possible timer. Useless unless you want to greatly speed up game time or something. +* `-serialrender`: + Selects the (default) serial rendering code. This is OK for most machines. +* `-parallelrenderer [m] [n]`: + Selects the parallel rendering code, which can be up to 100% + faster on multicore machines, depending on the scene being + rendered. The optional parameters m and n specify the number + of wall and floor rendering threads to use. + The default values are 2 and 1 respectively. +* `-fastdemo `: + Plays an external demo lump as fast as possible, skipping + frames if not necessary. +* `-timedemo `: + Plays an external demo lump as fast as possible but by rendering every frame. +* `-playdemo `: + Plays back an external demo at normal speed. +* `-record `: + Records a demo. These demos are generally not very compatible + with other ports in most cases, even though they are in vanilla + Doom format, so use at your own risk. +* `-nosound`: + Entirely shuts off sound and music. +* `-nosfx`: + Disables sound effects. +* `-nomusic`: + Disables music +* `-audiolines`: + Uses a multithreaded, AudioLine based sound effects driver. +* `-clipsounds`: + Uses a Clip-based sound effects driver. +* `-speakersound`: + PC speaker emulation (uses default sound driver) +* `+map or `: + Warps to the specified Episode and Mission (e.g. E1M9) or + game map (for Doom II, e.g. MAP31). + +NOTE: Demo lumps are automatically appended a `.lmp` extension upon loading/saving. +DO NOT SPECIFY IT YOURSELF, otherwise it will result in a load error. + +## Configuration file The Doom configuration file is a text file which holds settings set by setup.exe and from inside the game and its menus. The file is normally named `default.cfg`, but the `-config` command line parameter can be used to specify an alternate file to use. The file takes the format of a list of configuration settings, with each line of the form: ` ` -## Settings +### Settings -### Display +#### Display * `screenblocks` Controls the screensize, ranging from 3–11. A value of 10 gives a fullscreen window with the status bar, while 11 gives fullscreen without status bar. The default value is 9. @@ -16,7 +113,7 @@ The file takes the format of a list of configuration settings, with each line of * `usegamma` Gamma correction setting. This ranges from 0–4, with 0 representing no gamma correction, while 4 gives maximum gamma correction. The default value is 0. -### Joystick +#### Joystick * `use_joystick` Boolean value used to control whether the joystick is enabled. Default is 0 (off). @@ -29,7 +126,7 @@ The file takes the format of a list of configuration settings, with each line of * `joyb_strafe` Joystick button used to make the player strafe. -### Keyboard +#### Keyboard * `key_right` Keyboard scan code of the key used to turn the player to the right. @@ -52,7 +149,7 @@ The file takes the format of a list of configuration settings, with each line of * `key_speed` Keyboard scan code of the key used to make the player run. -### Mouse +#### Mouse * `use_mouse` Boolean value used to control whether the mouse is enabled. Default is 1 (on). @@ -65,7 +162,7 @@ The file takes the format of a list of configuration settings, with each line of * `mouse_sensitivity` Numerical value storing the value of the mouse sensitivity setting. The default value is "5". -### Sound +#### Sound * `sfx_volume` The volume of sound effects, ranging from 0–15. The default is 8. @@ -100,7 +197,7 @@ The file takes the format of a list of configuration settings, with each line of * `snd_mport` I/O Port to use to access the music card. -### Other +#### Other * `show_messages` Boolean value which controls whether messages are displayed in the heads up display. The default is 1 (on) @@ -132,3 +229,4 @@ The `joyb_speed` setting can be set to 29 to make the player always run in most The configuration file can be used to set the mouse sensitivity above the regular maximum of 9, though note that setting it to a value higher than 30 will make the game terminate upon entering the options menu. The configuration file can be rearranged and comments added; however, the game will overwrite any such changes on exit. The file can be made read-only to avoid this problem. +