Command line options: Difference between revisions
Hendricks266 (talk | contribs) No edit summary |
m Ensure VoidSW sample commands for P2P mode are listed separately, and use code tags |
||
(30 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
Files can be * | = EDuke32 Parameters = | ||
Usage: <code>eduke32 [files] [options]</code><br> | |||
Example: <code>eduke32 nukeland.map -usecwd -cfg myconfig.cfg </code> | |||
Files can be of types <code>{grp | zip | pk3 | pk4 | map | con | def | rts}</code>. | |||
* Specifying a <code>{grp|zip|pk3|pk4}</code> file is equivalent to using the <code>-g</code> parameter. | |||
* If a .map file is specified, it is immediately loaded and launched as a usermap (equivalent to <code>-map</code>). | |||
* If a .con file is specified, it replaces <code>GAME.CON</code> (equivalent to <code>-x</code>). | |||
* If a .def file is specified, it is used as the main DEF file (equivalent to <code>-h</code>). | |||
* If a .rts file is specified, it is used as the main RTS soundbank (equivalent to <code>-rts</code>). | |||
{| {{prettytable}} | {| {{prettytable}} | ||
! | !Parameter!!Description!!Notes!! | ||
|- | |- | ||
| - | | <code>-?</code><br><code>--help</code> | ||
| | |Displays a help message listing the available parameters, then exits. | ||
| | | | ||
|- | |- | ||
| - | | <code> -addon {0,1,2,3}</code> | ||
| | | Launch one of the addons for Duke 3D (if present), packaged with the Megaton Edition release. | ||
| 0 = none, 1 = Duke it out in D.C., 2 = Duke: Nuclear Winter, 3 = Duke Caribbean: Life's a Beach | |||
|- | |||
| <code>-cachesize [size]</code> | |||
|Sets initial cache size, in kilobytes. Usually not needed, as cache size is adjusted dynamically. | |||
| See also [[cachesize_(DEF)| cachesize (DEF)]]. | |||
|- | |||
| <code>-cfg [cfg_path]</code> | |||
| Use an alternate configuration file. | |||
| Default is "eduke32.cfg". | |||
|- | |||
| <code>-clipmap [file.map]</code> | |||
| Load an additional clipping map to define physical geometry for sprites, voxels and 3d models, for use with [[clipshape]] | |||
| Default is <code>_clipshape0.map</code>. | |||
|- | |||
| <code>-d [file.edm][:arg1,arg2]</code> | |||
| Plays an eduke32 demo. Can take optional parameters "arg1" and "arg2" which represent "frames per tic" and "number of repeats" respectively, and are used for debug performance profiling. | |||
| By default, the game plays a loop starting at <code>edemo001.edm</code>. | |||
|- | |||
| <code>-debughelp</code> | |||
|Displays debug parameters and exits. | |||
| | | | ||
|- | |- | ||
| - | | <code>-forcegl</code> | ||
| | | Disables GL driver blacklist on Windows. | ||
| | | | ||
|- | |- | ||
| - | | <code>-game_dir [dir]</code> | ||
|Use an extra group file | | Duke3d_w32 compatibility option. Set the directory from which to load files, which also changes where the cfg is created. | ||
| See also '-j' | |||
|- | |||
| <code> -gamegrp [file.grp]</code> | |||
| Defines which file to use as main grp. | |||
| | |||
|- | |||
| <code>-grp [path]</code><br><code>-g [path]</code> | |||
| Use an extra group (or .pk3 or .zip) file to load data from. | |||
| | | | ||
|- | |- | ||
| -h[file.def] | | <code>-h [file.def]</code> | ||
| | | Specify the main DEF file. | ||
| By default uses 'duke3d.def' if present in the folder. | |||
|- | |||
| <code>-j [dir]</code> | |||
|Adds a directory to EDuke32's search list. Does not alter the directory for config files. | |||
| | | | ||
|- | |- | ||
| - | | <code> -map [file.map]</code> | ||
| | | Starts the specified usermap on launch. | ||
| | | | ||
|- | |- | ||
| - | | <code> -mh [file.def]</code> | ||
| | |Include an additional DEF module, appended after the main DEF code. | ||
| | | | ||
|- | |- | ||
| - | | <code>-mx [file.con]</code> | ||
| | |Include an additional CON script module, appended after the GAME.CON code. | ||
| | | | ||
|- | |- | ||
| - | | <code>-m</code> | ||
|Disable monsters ([[m_monsters_off]] = 1) and sets [[m_player_skill]] and [[player_skill]] to 0. | |||
| | | | ||
|- | |- | ||
| - | | <code>-nam</code><br><code>-napalm</code><br><code>-ww2gi</code> | ||
|Run in [[NAM]] or [[WWII GI]] -compatible mode. | |||
| | | | ||
|- | |- | ||
| - | | <code>-noautoload</code> | ||
| | | Disables loading content from the [[autoload]] directory. | ||
| | | | ||
|- | |- | ||
| - | | <code>-nocontroller</code> | ||
| | | Completely disable controller support. | ||
| | | | ||
|- | |- | ||
| - | | <code>-nodinput</code> | ||
| | | Disable DirectInput (controller) support. (Windows) | ||
|( | | | ||
|- | |||
| <code>-noxinput</code> | |||
| Disable XInput (controller) support. (Linux) | |||
| | |||
|- | |||
| <code>-noinstancechecking</code> | |||
| Prevents eduke32 from checking whether another instance is already running. | |||
| | |||
|- | |||
| <code>-nologo</code> <br> <code>-quick</code> | |||
|Skip all the startup animations and logos. | |||
| | |||
|- | |||
| <code>-nosteam</code> | |||
| Disables Steam community API integrations (such as achievements) if binary is compiled with parameter EDUKE32_STANDALONE. | |||
| Currently only relevant for [[Ion Fury]] builds. | |||
|- | |||
| <code>-ns -nm </code> | |||
| Disable sound and music respectively. | |||
| | |||
|- | |||
| <code>-r</code> | |||
| Enables demo recording. | |||
| | |||
|- | |- | ||
| - | | <code>-rotatesprite-no-widescreen</code> | ||
| | | Debug parameter. If set, screen tiles (such as weapons) logos and menu tiles will be stretched horizontally. | ||
| | | | ||
|- | |- | ||
| -s# | | <code>-s# </code> | ||
|Set skill level ( | | Set the skill level (0-4). Cannot exceed 4 even when more skill levels are defined. Setting this to 4 is hardcoded to enable [[respawn_monsters]] and [[m_respawn_monsters]], regardless of what the skill itself defines. | ||
| | | | ||
|- | |- | ||
| -setup<br>-nosetup | | <code>-setup</code><br><code>-nosetup</code> | ||
|Enables/disables startup window | |Enables/disables startup window | ||
|[only on Windows, SDL, and/or GTK2 environments] | |[only on Windows, SDL, and/or GTK2 environments] | ||
|- | |- | ||
| -t# | | <code>-t#</code> | ||
|Set respawn mode: 1 = Monsters, 2 = Items, 3 = Inventory, x = All | |Set respawn mode: 1 = Monsters, 2 = Items, 3 = Inventory, x = All | ||
| | | | ||
|- | |- | ||
| -usecwd | | <code>-usecwd</code> | ||
| | | Force eduke32 to read game data and configuration files from working directory. | ||
|[ | | See also [[user_profiles_disabled]]. | ||
|- | |- | ||
| -u######### | | <code>-u#########</code> | ||
| | | Define the weapon switch order, as a string of 10 digits. | ||
|( | |(Default: <code>3425689071</code>) | ||
|- | |- | ||
| -v | | <code>-v[X] -l[Y]</code> | ||
|Warp to | | Warp to episode X, level Y if used together. If either is omitted, then warp assumes episode 1, resp. level 1. | ||
|see - | | | ||
|- | |||
| <code>-w</code> | |||
|Show coordinates as well as other debug information, including current sector num, lotag and hitag. | |||
| | |||
|- | |||
| <code>-x [game.con]</code> | |||
| Replace the main GAME.CON with the specified script file. | |||
| | |||
|- | |||
| <code>-z# </code><br><code>-condebug</code> | |||
|Enable line-by-line CON compile debugging at level #, and print the number of labels, variables and arrays used. | |||
| | |||
|} | |||
== Multiplayer Parameters == | |||
Note: Multiplayer is currently non-functional in mainline eduke32. For a working implementation, see [https://voidpoint.io/StrikerTheHedgefox/eduke32-csrefactor/-/releases NetDuke32]. | |||
The corresponding parameters are listed here for the sake of completeness. | |||
{| {{prettytable}} | |||
!Parameter!!Description!!Notes!! | |||
|- | |||
| <code>-a</code> | |||
| Use fake player AI (dukebots) (fake multiplayer only). | |||
| Sets [[playerai]] to 1, which doesn't do anything as of r9392. | |||
|- | |- | ||
| - | | <code>-c#</code> | ||
| Changes the value of [[m_coop]] to set the multiplayer mode. | |||
| | | | ||
|- | |- | ||
| - | | <code>-connect [ip]</code> | ||
| | | Connect to the specified IP address. | ||
|(see [[multiplayer]]) | |||
|- | |||
| <code>-dedicated</code> | |||
| Start eduke32 in dedicated server mode. | |||
|(see [[multiplayer]]) | |||
|- | |||
| <code>-name [name]</code> | |||
| Set the player name on startup. Can also be changed ingame. | |||
| | | | ||
|- | |- | ||
| - | | <code>-net</code> | ||
| | | Legacy P2P networking. | ||
| Disabled as of r9392. Will exit with an error message. | |||
|- | |||
| <code>-noffire</code> | |||
| Disables friendly fire in coop games (i.e. [[m_ffire]] set to 0). | |||
| | | | ||
|- | |- | ||
| - | | <code>-password [pw]</code> | ||
| | | Password required to authenticate when connecting to server. | ||
| Default is no password. | |||
|- | |||
| <code>-port</code> | |||
| Specify which UDP port to use for hosting the game or connecting. | |||
| | | | ||
|- | |- | ||
| - | | <code>-q#</code> | ||
| | | Fake multiplayer with # (2-16) players. | ||
| | | | ||
|- | |- | ||
| - | | <code>-rts [file.rts]</code> | ||
| | | Use the specified RTS soundbank for remote ridicule sounds. | ||
| Defaults: {DUKE.RTS, NAM.RTS, NAPALM.RTS, WW2GI.RTS} | |||
|- | |||
| <code>-server</code> | |||
| Start multiplayer server for network games. | |||
|(see [[multiplayer]]) | |||
|} | |||
== Removed Parameters == | |||
The following parameters used to exist, but are no longer referenced in current eduke32 revisions. | |||
{| {{prettytable}} | |||
!Parameter!!Description!!Notes!! | |||
|- | |||
| <code>-#</code> | |||
| Load and run a game from slot # (0-9) | |||
| EDuke32 no longer uses a fixed number of save slots, hence no longer works. | |||
|- | |||
| <code> -conversion [YYYYMMDD] </code> | |||
| Selects CON script version for compatibility with older mods. | |||
| | | | ||
|- | |- | ||
| - | | <code>-f#</code> | ||
|Send fewer packets in multiplayer (1, 2, 4) | |Send fewer packets in multiplayer (1, 2, 4) | ||
|(deprecated) | |(deprecated) | ||
|- | |- | ||
| -game_dir [dir] | | <code>-i#</code> | ||
| | | Use networking mode (1/0) | ||
| | | | ||
|- | |||
| <code>-nD</code> | |||
| Dump default gamevars to gamevars.txt | |||
| | |||
|- | |||
| <code>-rmnet</code> | |||
| Use network config file. | |||
| (OBSOLETE, see -net) | |||
|- | |||
| <code>-stun</code> | |||
| Use UDP hole punching for multiplayer connections. | |||
| | |||
|- | |||
|} | |||
= Mapster32 Parameters = | |||
Usage: <code>mapster32 [files] [options]</code><br> | |||
Example: <code>mapster32 nukeland.map -usecwd -cfg myconfig.cfg </code> | |||
Files can be of types <code>{grp | zip | map | con | def}</code>. | |||
* Specifying a <code>{grp|zip}</code> file is equivalent to using the <code>-j</code> parameter. | |||
* If a .map file is specified, it is directly opened in the editor. | |||
* If a .con file is specified, it is used as the main resource for M32 CON commands. | |||
* If a .def file is specified, it is used as the main DEF script. | |||
The set of parameters for mapster32 has some overlap with eduke32. Below is the complete list. | |||
== Shared Parameters == | |||
{| {{prettytable}} | |||
!Parameter!!Description!!Notes!! | |||
|- | |||
| <code>-?</code><br><code>--help</code> | |||
| Displays a help message listing the available parameters, then exits. | |||
| | |||
|- | |||
| <code> -addon {0,1,2,3}</code> | |||
| Load addon data like eduke32 equivalent. | |||
| 0 = none, 1 = DukeDC, 2 = DukeNW, 3 = Duke Caribbean | |||
|- | |||
| <code>-cachesize [size]</code> | |||
| Sets initial cache size in KB. | |||
| Unlike eduke32, this parameter has an upper limit of 1 MB. | |||
|- | |||
| <code>-cfg [cfg_path]</code> | |||
| Use an alternate configuration file. | |||
| Default is "mapster32.cfg". | |||
|- | |||
| <code>-clipmap [file.map]</code> | |||
| Load an additional clipping map to define physical geometry for sprites, voxels and 3d models, for use with [[clipshape]]. | |||
| Default is <code>_clipshape0.map</code>. | |||
|- | |||
| <code>-forcegl</code> | |||
| Disables GL driver blacklist on Windows. | |||
| | |||
|- | |||
| <code>-grp [path]</code><br><code>-g [path]</code> | |||
| Use an extra group (or .pk3 or .zip) file to load data from. | |||
| | |||
|- | |||
| <code>-game_dir [dir]</code> | |||
| Set the directory from which to load files, which also changes where the cfg is created. | |||
| | |||
|- | |||
| <code> -gamegrp [file.grp]</code> | |||
| Defines which file to use as main grp. | |||
| | |||
|- | |||
| <code>-h [file.def]</code> | |||
| Specifies the main DEF file. | |||
| | |||
|- | |||
| <code>-j [dir]</code> | |||
|Adds a directory to Mapster32's search list. | |||
| | |||
|- | |||
| <code> -mh [file.def]</code> | |||
|Include an additional DEF module, appended after the main DEF code. | |||
| | |||
|- | |||
| <code> -mx [file.con]</code> | |||
| Include an additional M32 script module. | |||
| See also the [[Console_commands#Editor-Specific| include command]]. | |||
|- | |||
| <code>-nam</code><br><code>-napalm</code><br><code>-ww2gi</code> | |||
|Run in [[NAM]] or [[WWII GI]] -compatible mode. | |||
| | |||
|- | |||
| <code>-noautoload</code> | |||
| Disables loading content from the [[autoload]] directory. | |||
| | |||
|- | |||
| <code>-usecwd</code> | |||
| Force mapster32 to read game data and configuration files from the current working directory. | |||
| See also [[user_profiles_disabled]]. | |||
|- | |||
| <code>-x [game.con]</code> | |||
| Replace the main GAME.CON with the specified file. | |||
| GAME.CON code is only needed for sound definitions. | |||
|- | |||
|} | |||
== Unique Parameters == | |||
{| {{prettytable}} | |||
!Parameter!!Description!!Notes!! | |||
|- | |||
| <code>-check</code> <br> <code> -nocheck </code> | |||
| Enables/Disables map pointer checking when saving. | |||
| Default is disabled. | |||
|- | |||
| <code> -namesfile [names.h]</code> | |||
| Path to a different names file for tile numbers. | |||
| Default is 'names.h'. | |||
|- | |||
|} | |||
= VoidSW Parameters = | |||
Usage: <code>voidsw [options]</code><br> | |||
Example: <code>voidsw -addon1 -level3 -cheat</code> | |||
VoidSW currently does not take files directly as arguments. | |||
{| {{prettytable}} | |||
!Parameter!!Description!!Notes!! | |||
|- | |||
| <code>-?</code> | |||
|Displays a help message listing the available parameters, then exits. | |||
| | |||
|- | |||
| <code>-addon#</code> | |||
| Launch one of the expansions included in Shadow Warrior Classic Complete. | |||
| 0 = SW v1.2, 1 = Wanton Destruction, 2 = Twin Dragon | |||
|- | |||
| <code>-cheat</code> | |||
| If combined with <code>-level#</code>, starts the game with all weapons, inventory items and god mode on. | |||
| | |||
|- | |||
| <code>-dr[filename]</code> | |||
| Records a demo with the given filename. Requires the <code>-level#</code> parameter to also be set. | |||
| No space between param and filename! | |||
|- | |||
| <code>-dp[filename]</code> | |||
| Starts playback of the given demo file. | |||
| No space between param and filename! | |||
|- | |||
| <code>-extcompat </code> | |||
| Controller compatibility mode. Multiplies movescale and turnscale by 5. | |||
| | |||
|- | |||
| <code>-g[file.grp]</code> | |||
| Load the specified GRP or ZIP file as main data. | |||
| No space between param and filename! | |||
|- | |||
| <code>-h[file.def]</code> | |||
| Load the specified file as the main DEF. | |||
| No space between param and filename! | |||
|- | |||
| <code>-j [dir]</code> | |||
| Adds the given directory to look for game data. | |||
| | |||
|- | |||
| <code>-level# </code> | |||
| Load the specified level on startup (0-27). | |||
| Does not use episodic structure unlike Duke. | |||
|- | |||
| <code>-map [file.map]</code> | |||
| Launch the specified usermap. | |||
| | |||
|- | |||
| <code>-mh[file.def]</code> | |||
| Load the specified file as DEF module. | |||
| No space between param and filename! | |||
|- | |||
| <code>-monst </code> | |||
| Disables monsters. | |||
| | |||
|- | |||
| <code>-movescale [val]</code> | |||
| Adjusts the movement scale: 256 = 1 unit | |||
| | |||
|- | |||
| <code>-nodemo </code> | |||
| Disables demo playback on the title screen. | |||
| | |||
|- | |||
| <code>-noinstancechecking</code> | |||
| Prevents voidsw from checking whether another instance is already running. | |||
| | |||
|- | |||
| <code>-nologo</code> <br> <code>-quick</code> | |||
| Skip all the startup animations and logos. | |||
| | |||
|- | |||
| <code>-nometers</code> | |||
| Prevents boss health bars and the air meter from being drawn onscreen. | |||
| | |||
|- | |||
| <code>-s# </code> | |||
| Defines the skill level (1-4). | |||
| | |||
|- | |||
| <code>-setup </code> <br> <code>-nosetup</code> | |||
| Enable/Disable the setup dialog. | |||
| | |||
|- | |||
| <code>-turnscale [val]</code> | |||
| Adjusts the turning scale: 256 = 1 unit | |||
| | |||
|- | |||
| <code>-usecwd</code> | |||
| Force VoidSW to read game data and configuration files from working directory. | |||
| See also [[user_profiles_disabled]]. | |||
|- | |||
|} | |||
== Multiplayer Parameters == | |||
=== Options === | |||
The following parameters define multiplayer game options and must be listed first. | |||
{| {{prettytable}} | |||
!Parameter!!Description!!Notes!! | |||
|- | |||
| <code>-autonet [params]</code> | |||
| The autonet parameter defines multiplayer game options, and takes exactly 10 arguments, separated by commas. | |||
These are, in order: | |||
* <code>[game_type]</code>: 0=WangBang, 1=WangBang (no item respawn), 2=Coop | |||
* <code>[level]</code>: Which level should be played (0-27). No episodic separation. | |||
* <code>[skill]</code>: Skill level (0-4). (0 being "no monsters") | |||
* <code>[markers]</code>: If set to 1, will enable item respawn markers (0/1). | |||
* <code>[team]</code>: Whether WangBang is Free-For-All (0) or Team Deathmatch (1). | |||
* <code>[hurtteam]</code>: If set to 1, friendly fire is on (coop or TDM). | |||
* <code>[kill]</code>: Defines the frag limit for Commbat. | |||
* <code>[time]</code>: Index that defines the time limit, 0 being no limit. Available limits: <code>{0,3,5,10,15,20,30,45,60} minutes</code>. | |||
* <code>[color]</code>: Player palette value. This determines the team colors. | |||
* <code>[nuke]</code>: If 0, will replace nuke pickups with railgun ammo. (0/1) | |||
| Example Use: <code> -autonet 0,0,1,1,1,0,3,2,1,1 </code> | |||
|- | |||
| <code>-col #</code> | |||
| Forces the player palette for joining players. | |||
| Workaround because <code>-autonet</code> fails to do so. | |||
|- | |||
| <code>-f#</code> | |||
| Packet duplication, i.e. how many "moves" are sent per packet. Choose higher values for lossy connections. | |||
| Valid values: <code>{2,4,8}</code> | |||
|- | |||
| <code>-name [pname]</code> | |||
| Sets the connecting player's name to the given value. | |||
| | |||
|- | |- | ||
| - | | <code>-nopredict</code> | ||
| | | Disables network prediction method, i.e., player position is no longer predicted. | ||
| | | | ||
|- | |- | ||
| - | | <code>-short </code> | ||
| | | Divides the frag limit by 10 and halves the time limit. | ||
| | | | ||
|- | |- | ||
| - | |} | ||
| | |||
=== Connection Establishment === | |||
The following parameters define which game to connect to, and MUST be listed last. | |||
Any other parameters that follow <code>-net</code> will be ignored. | |||
{| {{prettytable}} | |||
!Parameter!!Description!!Notes!! | |||
|- | |||
| <code>-net</code> | |||
| Required to use the parameters listed below. | |||
| | | | ||
|- | |- | ||
| | | <code>[ip]:[port]</code> <br> <code>[hostname]:[port]</code> | ||
| | | Connect to the given IP/hostname and port. | ||
| | | | ||
|- | |- | ||
| - | | <code>-n0:# </code> <br> <code>-i0:#</code> | ||
| | | Host a netgame in master-slave mode, expecting # players to join before launch. | ||
| | | | ||
|- | |- | ||
| - | | <code>-n1</code> <br> <code>-i1</code> | ||
| | | Use in peer-to-peer mode. The [hostname]:[port] pairs must be listed in the same order for all players, with the exception that -N1 has to be specified instead of the current player's [hostname]:[port] pair. | ||
| | | | ||
|- | |- | ||
| - | | <code>-p#</code> | ||
| | | Defines the port # to use for hosting. Valid range: 1025-65534 | ||
| | | | ||
|- | |- | ||
| - | |} | ||
| | |||
Usage example for 3-players game in peer-to-peer mode: | |||
Player 1: <code>voidsw -net -n1 <hostname2:port2> <hostname3:port3></code> | |||
Player 2: <code>voidsw -net <hostname1:port1> -n1 <hostname3:port3></code> | |||
Player 3: <code>voidsw -net <hostname1:port1> <hostname2:port2> -n1</code> | |||
== Debug Parameters == | |||
The following parameters are used to debug VoidSW. | |||
{| {{prettytable}} | |||
!Parameter!!Description!!Notes!! | |||
|- | |||
| <code>-allsync </code> | |||
| Sets sync bytes to 8 outside of demo recording. (purpose?) | |||
| | |||
|- | |||
| <code>-cam</code> | |||
| Enables camera view during normal gameplay, as if a demo recording is playing. | |||
| | |||
|- | |||
| <code>-commbat#</code> | |||
| Enables fake WangBang with the specified number of players. | |||
| | | | ||
|- | |- | ||
| - | | <code>-coop#</code> | ||
| | | Enables fake coop with the specified number of players. | ||
|( | |- | ||
| <code>-debug </code> | |||
| Only enabled for DEBUG builds. Shows debug help options. | |||
| | |||
|- | |||
| <code>-debugactor</code> | |||
| Disables all monsters. (same as <code>-monst</code>) | |||
| | |||
|- | |||
| <code>-debuganim</code> | |||
| Disables all animations. | |||
| | |||
|- | |||
| <code>-debugpanel</code> | |||
| Disables panel update. (?) | |||
| | |||
|- | |||
| <code>-debugsecret</code> | |||
| Displays debug info whenever an enemy is killed. | |||
| | |||
|- | |||
| <code>-debugsector</code> | |||
| Disables sector movement. | |||
| | |||
|- | |- | ||
| - | | <code>-debugso</code> | ||
| | | Disables sector objects. | ||
| | |||
|- | |||
| <code>-ddr[filename]</code> | |||
| Records a demo in debug mode with the given filename. Requires the <code>-level#</code> parameter to also be set. | |||
| | |||
|- | |||
| <code>-demosyncrecord </code> | |||
| Sets sync bytes to 8, records demo sync information to a file. | |||
| | |||
|- | |||
| <code>-demosynctest</code> | |||
| Sets sync bytes to 8, reads previously recorded demo sync information and errors out if demo playback doesn't match. | |||
| | |||
|- | |||
| <code>-randprint</code> | |||
| Prints the output of krand() functions whenever they are called. | |||
| | |||
|- | |||
| <code>-mono</code> | |||
| Enables some debug output during gameplay. | |||
| | |||
|- | |||
| <code>-nosyncprint</code> | |||
| Disables the "out-of-sync" message in multiplayer. | |||
| | |||
|- | |||
|} | |||
== Inactive Parameters == | |||
The following SW parameters are disabled, or have been removed. | |||
{| {{prettytable}} | |||
!Parameter!!Description!!Notes!! | |||
|- | |||
| <code>-bots</code> | |||
| Disabled. Would have added bots to fake multiplayer games. | |||
| | |||
|- | |||
| <code>-broadcast</code> | |||
| Replaced by -net | |||
| | |||
|- | |||
| <code>-cacheprint</code> | |||
| Used to print to stdout whenever a sound effect is cached/loaded. | |||
| | |||
|- | |||
| <code>-de[arg]</code> | |||
| Demo editing? Disabled. | |||
| | |||
|- | |||
| <code>-dt[arg]</code> | |||
| Temporary demo? Disabled. | |||
| | |||
|- | |||
| <code>-m </code> | |||
| Replaced by -monst. | |||
| | |||
|- | |||
| <code>-masterslave</code> | |||
| Replaced by -net | |||
| | | | ||
|- | |- | ||
| - | | <code>-nocdaudio</code> | ||
| | | Originally disabled the Redbook music. | ||
| | | | ||
|- | |- | ||
| - | | <code>-setupfile [arg]</code> | ||
| | | Originally used by setup.exe | ||
| | | | ||
|- | |||
|} | |} |
Latest revision as of 22:09, 19 September 2024
EDuke32 Parameters
Usage: eduke32 [files] [options]
Example: eduke32 nukeland.map -usecwd -cfg myconfig.cfg
Files can be of types {grp | zip | pk3 | pk4 | map | con | def | rts}
.
- Specifying a
{grp|zip|pk3|pk4}
file is equivalent to using the-g
parameter. - If a .map file is specified, it is immediately loaded and launched as a usermap (equivalent to
-map
). - If a .con file is specified, it replaces
GAME.CON
(equivalent to-x
). - If a .def file is specified, it is used as the main DEF file (equivalent to
-h
). - If a .rts file is specified, it is used as the main RTS soundbank (equivalent to
-rts
).
Parameter | Description | Notes | |
---|---|---|---|
-? --help
|
Displays a help message listing the available parameters, then exits. | ||
-addon {0,1,2,3}
|
Launch one of the addons for Duke 3D (if present), packaged with the Megaton Edition release. | 0 = none, 1 = Duke it out in D.C., 2 = Duke: Nuclear Winter, 3 = Duke Caribbean: Life's a Beach | |
-cachesize [size]
|
Sets initial cache size, in kilobytes. Usually not needed, as cache size is adjusted dynamically. | See also cachesize (DEF). | |
-cfg [cfg_path]
|
Use an alternate configuration file. | Default is "eduke32.cfg". | |
-clipmap [file.map]
|
Load an additional clipping map to define physical geometry for sprites, voxels and 3d models, for use with clipshape | Default is _clipshape0.map .
| |
-d [file.edm][:arg1,arg2]
|
Plays an eduke32 demo. Can take optional parameters "arg1" and "arg2" which represent "frames per tic" and "number of repeats" respectively, and are used for debug performance profiling. | By default, the game plays a loop starting at edemo001.edm .
| |
-debughelp
|
Displays debug parameters and exits. | ||
-forcegl
|
Disables GL driver blacklist on Windows. | ||
-game_dir [dir]
|
Duke3d_w32 compatibility option. Set the directory from which to load files, which also changes where the cfg is created. | See also '-j' | |
-gamegrp [file.grp]
|
Defines which file to use as main grp. | ||
-grp [path] -g [path]
|
Use an extra group (or .pk3 or .zip) file to load data from. | ||
-h [file.def]
|
Specify the main DEF file. | By default uses 'duke3d.def' if present in the folder. | |
-j [dir]
|
Adds a directory to EDuke32's search list. Does not alter the directory for config files. | ||
-map [file.map]
|
Starts the specified usermap on launch. | ||
-mh [file.def]
|
Include an additional DEF module, appended after the main DEF code. | ||
-mx [file.con]
|
Include an additional CON script module, appended after the GAME.CON code. | ||
-m
|
Disable monsters (m_monsters_off = 1) and sets m_player_skill and player_skill to 0. | ||
-nam -napalm -ww2gi
|
Run in NAM or WWII GI -compatible mode. | ||
-noautoload
|
Disables loading content from the autoload directory. | ||
-nocontroller
|
Completely disable controller support. | ||
-nodinput
|
Disable DirectInput (controller) support. (Windows) | ||
-noxinput
|
Disable XInput (controller) support. (Linux) | ||
-noinstancechecking
|
Prevents eduke32 from checking whether another instance is already running. | ||
-nologo -quick
|
Skip all the startup animations and logos. | ||
-nosteam
|
Disables Steam community API integrations (such as achievements) if binary is compiled with parameter EDUKE32_STANDALONE. | Currently only relevant for Ion Fury builds. | |
-ns -nm
|
Disable sound and music respectively. | ||
-r
|
Enables demo recording. | ||
-rotatesprite-no-widescreen
|
Debug parameter. If set, screen tiles (such as weapons) logos and menu tiles will be stretched horizontally. | ||
-s#
|
Set the skill level (0-4). Cannot exceed 4 even when more skill levels are defined. Setting this to 4 is hardcoded to enable respawn_monsters and m_respawn_monsters, regardless of what the skill itself defines. | ||
-setup -nosetup
|
Enables/disables startup window | [only on Windows, SDL, and/or GTK2 environments] | |
-t#
|
Set respawn mode: 1 = Monsters, 2 = Items, 3 = Inventory, x = All | ||
-usecwd
|
Force eduke32 to read game data and configuration files from working directory. | See also user_profiles_disabled. | |
-u#########
|
Define the weapon switch order, as a string of 10 digits. | (Default: 3425689071 )
| |
-v[X] -l[Y]
|
Warp to episode X, level Y if used together. If either is omitted, then warp assumes episode 1, resp. level 1. | ||
-w
|
Show coordinates as well as other debug information, including current sector num, lotag and hitag. | ||
-x [game.con]
|
Replace the main GAME.CON with the specified script file. | ||
-z# -condebug
|
Enable line-by-line CON compile debugging at level #, and print the number of labels, variables and arrays used. |
Multiplayer Parameters
Note: Multiplayer is currently non-functional in mainline eduke32. For a working implementation, see NetDuke32.
The corresponding parameters are listed here for the sake of completeness.
Parameter | Description | Notes | |
---|---|---|---|
-a
|
Use fake player AI (dukebots) (fake multiplayer only). | Sets playerai to 1, which doesn't do anything as of r9392. | |
-c#
|
Changes the value of m_coop to set the multiplayer mode. | ||
-connect [ip]
|
Connect to the specified IP address. | (see multiplayer) | |
-dedicated
|
Start eduke32 in dedicated server mode. | (see multiplayer) | |
-name [name]
|
Set the player name on startup. Can also be changed ingame. | ||
-net
|
Legacy P2P networking. | Disabled as of r9392. Will exit with an error message. | |
-noffire
|
Disables friendly fire in coop games (i.e. m_ffire set to 0). | ||
-password [pw]
|
Password required to authenticate when connecting to server. | Default is no password. | |
-port
|
Specify which UDP port to use for hosting the game or connecting. | ||
-q#
|
Fake multiplayer with # (2-16) players. | ||
-rts [file.rts]
|
Use the specified RTS soundbank for remote ridicule sounds. | Defaults: {DUKE.RTS, NAM.RTS, NAPALM.RTS, WW2GI.RTS} | |
-server
|
Start multiplayer server for network games. | (see multiplayer) |
Removed Parameters
The following parameters used to exist, but are no longer referenced in current eduke32 revisions.
Parameter | Description | Notes | |
---|---|---|---|
-#
|
Load and run a game from slot # (0-9) | EDuke32 no longer uses a fixed number of save slots, hence no longer works. | |
-conversion [YYYYMMDD]
|
Selects CON script version for compatibility with older mods. | ||
-f#
|
Send fewer packets in multiplayer (1, 2, 4) | (deprecated) | |
-i#
|
Use networking mode (1/0) | ||
-nD
|
Dump default gamevars to gamevars.txt | ||
-rmnet
|
Use network config file. | (OBSOLETE, see -net) | |
-stun
|
Use UDP hole punching for multiplayer connections. |
Mapster32 Parameters
Usage: mapster32 [files] [options]
Example: mapster32 nukeland.map -usecwd -cfg myconfig.cfg
Files can be of types {grp | zip | map | con | def}
.
- Specifying a
{grp|zip}
file is equivalent to using the-j
parameter. - If a .map file is specified, it is directly opened in the editor.
- If a .con file is specified, it is used as the main resource for M32 CON commands.
- If a .def file is specified, it is used as the main DEF script.
The set of parameters for mapster32 has some overlap with eduke32. Below is the complete list.
Parameter | Description | Notes | |
---|---|---|---|
-? --help
|
Displays a help message listing the available parameters, then exits. | ||
-addon {0,1,2,3}
|
Load addon data like eduke32 equivalent. | 0 = none, 1 = DukeDC, 2 = DukeNW, 3 = Duke Caribbean | |
-cachesize [size]
|
Sets initial cache size in KB. | Unlike eduke32, this parameter has an upper limit of 1 MB. | |
-cfg [cfg_path]
|
Use an alternate configuration file. | Default is "mapster32.cfg". | |
-clipmap [file.map]
|
Load an additional clipping map to define physical geometry for sprites, voxels and 3d models, for use with clipshape. | Default is _clipshape0.map .
| |
-forcegl
|
Disables GL driver blacklist on Windows. | ||
-grp [path] -g [path]
|
Use an extra group (or .pk3 or .zip) file to load data from. | ||
-game_dir [dir]
|
Set the directory from which to load files, which also changes where the cfg is created. | ||
-gamegrp [file.grp]
|
Defines which file to use as main grp. | ||
-h [file.def]
|
Specifies the main DEF file. | ||
-j [dir]
|
Adds a directory to Mapster32's search list. | ||
-mh [file.def]
|
Include an additional DEF module, appended after the main DEF code. | ||
-mx [file.con]
|
Include an additional M32 script module. | See also the include command. | |
-nam -napalm -ww2gi
|
Run in NAM or WWII GI -compatible mode. | ||
-noautoload
|
Disables loading content from the autoload directory. | ||
-usecwd
|
Force mapster32 to read game data and configuration files from the current working directory. | See also user_profiles_disabled. | |
-x [game.con]
|
Replace the main GAME.CON with the specified file. | GAME.CON code is only needed for sound definitions. |
Unique Parameters
Parameter | Description | Notes | |
---|---|---|---|
-check -nocheck
|
Enables/Disables map pointer checking when saving. | Default is disabled. | |
-namesfile [names.h]
|
Path to a different names file for tile numbers. | Default is 'names.h'. |
VoidSW Parameters
Usage: voidsw [options]
Example: voidsw -addon1 -level3 -cheat
VoidSW currently does not take files directly as arguments.
Parameter | Description | Notes | |
---|---|---|---|
-?
|
Displays a help message listing the available parameters, then exits. | ||
-addon#
|
Launch one of the expansions included in Shadow Warrior Classic Complete. | 0 = SW v1.2, 1 = Wanton Destruction, 2 = Twin Dragon | |
-cheat
|
If combined with -level# , starts the game with all weapons, inventory items and god mode on.
|
||
-dr[filename]
|
Records a demo with the given filename. Requires the -level# parameter to also be set.
|
No space between param and filename! | |
-dp[filename]
|
Starts playback of the given demo file. | No space between param and filename! | |
-extcompat
|
Controller compatibility mode. Multiplies movescale and turnscale by 5. | ||
-g[file.grp]
|
Load the specified GRP or ZIP file as main data. | No space between param and filename! | |
-h[file.def]
|
Load the specified file as the main DEF. | No space between param and filename! | |
-j [dir]
|
Adds the given directory to look for game data. | ||
-level#
|
Load the specified level on startup (0-27). | Does not use episodic structure unlike Duke. | |
-map [file.map]
|
Launch the specified usermap. | ||
-mh[file.def]
|
Load the specified file as DEF module. | No space between param and filename! | |
-monst
|
Disables monsters. | ||
-movescale [val]
|
Adjusts the movement scale: 256 = 1 unit | ||
-nodemo
|
Disables demo playback on the title screen. | ||
-noinstancechecking
|
Prevents voidsw from checking whether another instance is already running. | ||
-nologo -quick
|
Skip all the startup animations and logos. | ||
-nometers
|
Prevents boss health bars and the air meter from being drawn onscreen. | ||
-s#
|
Defines the skill level (1-4). | ||
-setup -nosetup
|
Enable/Disable the setup dialog. | ||
-turnscale [val]
|
Adjusts the turning scale: 256 = 1 unit | ||
-usecwd
|
Force VoidSW to read game data and configuration files from working directory. | See also user_profiles_disabled. |
Multiplayer Parameters
Options
The following parameters define multiplayer game options and must be listed first.
Parameter | Description | Notes | |
---|---|---|---|
-autonet [params]
|
The autonet parameter defines multiplayer game options, and takes exactly 10 arguments, separated by commas.
These are, in order:
|
Example Use: -autonet 0,0,1,1,1,0,3,2,1,1
| |
-col #
|
Forces the player palette for joining players. | Workaround because -autonet fails to do so.
| |
-f#
|
Packet duplication, i.e. how many "moves" are sent per packet. Choose higher values for lossy connections. | Valid values: {2,4,8}
| |
-name [pname]
|
Sets the connecting player's name to the given value. | ||
-nopredict
|
Disables network prediction method, i.e., player position is no longer predicted. | ||
-short
|
Divides the frag limit by 10 and halves the time limit. |
Connection Establishment
The following parameters define which game to connect to, and MUST be listed last.
Any other parameters that follow -net
will be ignored.
Parameter | Description | Notes | |
---|---|---|---|
-net
|
Required to use the parameters listed below. | ||
[ip]:[port] [hostname]:[port]
|
Connect to the given IP/hostname and port. | ||
-n0:# -i0:#
|
Host a netgame in master-slave mode, expecting # players to join before launch. | ||
-n1 -i1
|
Use in peer-to-peer mode. The [hostname]:[port] pairs must be listed in the same order for all players, with the exception that -N1 has to be specified instead of the current player's [hostname]:[port] pair. | ||
-p#
|
Defines the port # to use for hosting. Valid range: 1025-65534 |
Usage example for 3-players game in peer-to-peer mode:
Player 1: voidsw -net -n1 <hostname2:port2> <hostname3:port3>
Player 2: voidsw -net <hostname1:port1> -n1 <hostname3:port3>
Player 3: voidsw -net <hostname1:port1> <hostname2:port2> -n1
Debug Parameters
The following parameters are used to debug VoidSW.
Parameter | Description | Notes | |
---|---|---|---|
-allsync
|
Sets sync bytes to 8 outside of demo recording. (purpose?) | ||
-cam
|
Enables camera view during normal gameplay, as if a demo recording is playing. | ||
-commbat#
|
Enables fake WangBang with the specified number of players. | ||
-coop#
|
Enables fake coop with the specified number of players. | ||
-debug
|
Only enabled for DEBUG builds. Shows debug help options. | ||
-debugactor
|
Disables all monsters. (same as -monst )
|
||
-debuganim
|
Disables all animations. | ||
-debugpanel
|
Disables panel update. (?) | ||
-debugsecret
|
Displays debug info whenever an enemy is killed. | ||
-debugsector
|
Disables sector movement. | ||
-debugso
|
Disables sector objects. | ||
-ddr[filename]
|
Records a demo in debug mode with the given filename. Requires the -level# parameter to also be set.
|
||
-demosyncrecord
|
Sets sync bytes to 8, records demo sync information to a file. | ||
-demosynctest
|
Sets sync bytes to 8, reads previously recorded demo sync information and errors out if demo playback doesn't match. | ||
-randprint
|
Prints the output of krand() functions whenever they are called. | ||
-mono
|
Enables some debug output during gameplay. | ||
-nosyncprint
|
Disables the "out-of-sync" message in multiplayer. |
Inactive Parameters
The following SW parameters are disabled, or have been removed.
Parameter | Description | Notes | |
---|---|---|---|
-bots
|
Disabled. Would have added bots to fake multiplayer games. | ||
-broadcast
|
Replaced by -net | ||
-cacheprint
|
Used to print to stdout whenever a sound effect is cached/loaded. | ||
-de[arg]
|
Demo editing? Disabled. | ||
-dt[arg]
|
Temporary demo? Disabled. | ||
-m
|
Replaced by -monst. | ||
-masterslave
|
Replaced by -net | ||
-nocdaudio
|
Originally disabled the Redbook music. | ||
-setupfile [arg]
|
Originally used by setup.exe |