Difference between revisions of "Command-Line Reference"

From FreeSpace Wiki
Jump to: navigation, search
(-mod)
(Add MSAA)
(194 intermediate revisions by 42 users not shown)
Line 1: Line 1:
==Launcher Flags==
+
 
The following command-line options can be chosen from the launcher.
+
{{TableVersionGit|2020-02-01|93f71ec20}}
 +
 
 +
Command-Line Flags (also called Command-Line Parameters) are optional flags passed to the FSO executable, and generally enables one or more features added to the FS2 Open engine. These flags are accessed conveniently through an [[FSO Launcher]]. To have FSO list all available flags, use any one of the following: [[Command-Line_Reference#-help|-help]], [[Command-Line_Reference#-help|--help]], [[Command-Line_Reference#-help|-h]], or [[Command-Line_Reference#-help|-?]].
 +
 
 
===Graphics===
 
===Graphics===
====-spec====
 
Enables specular mapping.  Only polygons mapped with textures for which a shinemap exists will recieve specular mapping; no attempt is made to generate spec maps where they do not exist.  Specular maps are specified with the base map name plus "-shine" (i.e. TCov3A-shine.pcx).
 
====-env====
 
Enables environment mapping.  Environment mapping intensity will be determined from the intensity of specular maps.  At the time of this writing (build 3.6.9 RC7), environment mapping only works when the video mode is OpenGL. [[Installing_fs2_open#Video setup|See Video setup.]]
 
  
====-glow====
+
====-nospec====
Enables glowmapping. Only polygons mapped with textures for which a glowmap exists will be glowmapped. Glow maps are specified with the base map name plus "-glow" (i.e. TCov4A-glow.pcx)
+
{{Table37|
 +
'''"Disable Specular"'''
 +
 
 +
Disables support for specular mapping.
 +
}}
 +
 
 +
====-noglow====
 +
{{Table37|
 +
'''"Disable glow maps"'''
 +
 
 +
Disables support for glowmapping.
 +
}}
 +
 
 +
====-noenv====
 +
{{Table37|
 +
'''"Disable environment maps"'''
 +
 
 +
Disables support for environment mapping.
 +
}}
 +
 
 +
====-nonormal====
 +
{{Table37|
 +
'''"Disable normal maps"'''
 +
 
 +
Disables support for normal mapping.
 +
}}
 +
 
 +
====-emissive_light====
 +
{{Table190|
 +
'''"Enable emissive light from ships"'''
 +
 
 +
In retail FS2, ships had a pseudo light source applied to them to make them stand out against the background. Due to the changes in the render pipeline associated with HDR, this behaviour has been disabled by default; this cmdline option restores it.
 +
}}
 +
{{Table224|
 +
This flag is now an alias for using -emissive 0.3
 +
}}
 +
 
 +
====-noheight====
 +
{{Table37|
 +
'''"Disable height maps"'''
 +
 
 +
Disables support for height mapping.
 +
}}
 +
 
 +
====-3dshockwave====
 +
'''"Enable 3D Shockwaves"'''
 +
 
 +
This only has any effect when both a 2D and 3D shockwave effect are present, otherwise the only available effect is used (2D shockwave is defined by effects/shockwave01.eff or .ani, and 3D shockwave by models/shockwave.pof)
 +
 
 +
Note that 3D shockwaves are usually flat discs that FSO scales up. The animated 2D billboards used by 2D shockwaves with the addition of [[Command-Line Reference#-soft_particles|soft particles]], may look better when intersecting with models (which shockwaves often do). Use at your discretion.
 +
 
 +
====-no_post_process====
 +
{{Table190|
 +
'''"Disable Post Processing"'''
 +
 
 +
Disables the use of post-processing effects as defined by the post_process.tbl. Bloom usage has an additional cmdline option for setting its value, most post processing effects are achieved in mission per the mission designer or can be enabled globally in the table. Since post-processing is required for nebula effects post-3.8, it has been enabled by default as of Release 19.
 +
}}
 +
 
 +
====-soft_particles====
 +
'''"Enable soft particles"'''
 +
 
 +
Applies a blending factor to particles depending on their proximity to geometry
 +
 
 +
====-aa====
 +
{{Table202|
 +
'''"Enable post-processing antialiasing"'''
 +
*'''-aa''' This flag enables the default antialiasing. Because FSO uses a deferred renderer, hardware-driven AA methods like MSAA cannot be used; the engine includes the well-established FXAA and SMAA post-processing shaders to get antialiasing instead. By default, the "Low" preset of the SMAA shader will be used.
 +
*'''-aa_preset''' Sets a different antialiasing mode, in case the default is insufficient or is too taxing on the GPU. This parameter takes a numeric argument ranging from 0 to 6. 0-2 correspond to the Low, Medium and High FXAA presets, 3-6 to the Low, Medium, High and Ultra SMAA presets respectively. The impact of these presets, both in terms of performance and in terms of visuals, can be observed in the F3 lab: The number keys 0-6 can be used to switch through the various AA presets on the fly there.
 +
}}
 +
 
 +
====-msaa====
 +
{{Table232|
 +
'''"Enable multisample antialiasing"'''
 +
This parameter helps to reduce glinting and flickering of details on ships and other models when they are far away. Should be used together with -aa and not as a replacement for it!
 +
Enables MSAA and sets the number of samples for it. This parameter takes a numeric argument ranging from 0 to 16, in powers of two (0, 4, 8, 16). 0 disables the feature, 4 is recommended for midrange systems, and 8 for high-end systems.
 +
}}
 +
 
 +
====-fxaa====
 +
'''"Enable FXAA antialiasing"'''
 +
 
 +
Enables the FXAA anti-aliasing. Further information can be found here: http://www.hard-light.net/forums/index.php?topic=76145.0
 +
There is an associated parameter -fxaa_preset, which takes a number from 0 to 7; these can be used to set the effect's quality. Note that, while there are up to 7 possible values for this parameter, there are only 3 presets available: a value of 0-3 corresponds to the "Low" preset, 4-6 gets you the "medium" preset, and 7 and up switches to the "High" preset.
 +
 
 +
This antialiasing mode should only be used on very old (read: 2005-2010 era) hardware. For all other systems, the -smaa flag (detailed below) should be used.
 +
{{Table202|
 +
This parameter has been deprecated in favour of the -aa parameter, as seen above
 +
}}
 +
 
 +
====-smaa====
 +
'''"Enable SMAA anti-aliasing"'''
 +
 
 +
Enables the SMAA anti-aliasing method. Like FXAA, this is a post-processing effect that provides an AA stage; It is a more advanced and therefore more resource-intensive effect, but generally produces higher-quality images.
 +
Like -fxaa, there is a configurable flag -smaa_preset, which takes a number from 0 to 3; these correspond directly to the Low, Medium, High and Ultra presets of the SMAA shader.
 +
 
 +
It is possible to compare the effectiveness of the different AA shaders by using the F3 lab: Load up any ship model and a background, then use the number keys 0 to x to switch through the various AA methods. 0-2 correspond to FXAA Low, Medium and High, 3-6 correspond to SMAA Low, Medium, High and Ultra.
 +
{{Table202|
 +
This parameter has been deprecated in favour of the -aa parameter, as seen above
 +
}}
 +
 
 +
====-nolightshafts====
 +
'''"Disable lightshafts"'''
 +
 
 +
Disables Lightshafts even if a mission designer enables them via SEXP in a mission.  This was previously documented as -flightshaftsoff but appears to have been changed to -nolightshafts for consistency before -flightshaftsoff was ever used in a released build.
 +
 
 +
====-fb_explosions====
 +
'''"Enable Framebuffer Shockwaves"'''
 +
 
 +
Applies a framebuffer distortion effect to shockwaves
  
====-jpgtga====
+
====-fb_thrusters====
Enables the use of TGA and JPG file formats for image files.  If a ship is showing up partially invisible, select this option.
+
'''"Enable Framebuffer Thrusters"'''
====-pcx32====
 
'''WARNING - HIGH MEMORY USAGE'''
 
  
Enables PCX files to be loaded into 32-bit memory. This will not imporove the rendering of any ships in-game, and is usually more of a burden on performance than is worthwhile.  Use at your own risk.  Removed from launcher options after 3.6.7.
+
Applies a framebuffer distortion effect to Thrusters. NOTE: Only "point" thrusters are affected by this; modelled thrusters (as used on most retail models) are not affected by this.
  
====-cell====
+
====-no_deferred====
Enables cell shading.  This will make graphics appear more "cartoonish".  For use with media in mv_cell.vp.  Not considered a standard enhancement.
+
'''"Disable Deferred Lighting"'''
====-mipmap====
 
Enables mipmapping.
 
  
====-nomotiondebris====
+
DESCRIPTION NEEDED
Disables motion debris.
 
====-2d_poof====
 
Applies nebula poofs in 2d, effectively preventing them from forming intersections with ships.
 
====-noscalevid====
 
Disables scaling of video clips.
 
====-missile_lighting====
 
Applys lighting to missiles.
 
====-rlm====
 
'''Obsolete Argument'''
 
  
<font color=yellow>
+
====-enable_shadows====
Enables more accurate lighting model for OpenGL mode.  Always on in current builds, so this command-line option has been removed.</font>
+
{{table373|
 +
'''"Enable shadows"'''
  
----
+
Enables shadows where supported by the OpenGL version provided by the user's GPU. -shadow_quality can be used to control the quality level.
 +
{{note|Currently doesn't support shadows for cockpits and show ship.}}
 +
}}
  
 
===Game Speed===
 
===Game Speed===
====-img2dds====
+
 
Converts all images to DDS (compressed) format.  Decreases memory usage but potentially reduces image quality.
 
 
====-no_vsync====
 
====-no_vsync====
Disables vertical sync.
+
'''"Disable vertical sync"'''
====-cache_bitmaps====
 
Caches bitmaps between missions, which will ideally reduce the load-time from one mission to another.
 
  
----
 
  
 
===HUD===
 
===HUD===
 +
 +
====-fps====
 +
'''"Show frames per second on HUD"'''
 +
 +
Displays current frames per second.
 +
 
====-dualscanlines====
 
====-dualscanlines====
 +
'''"Another Pair of Scanning Lines"'''
 +
 
Adds a second pair of scanning lines to the target window when scanning an object.
 
Adds a second pair of scanning lines to the target window when scanning an object.
 +
 
====-targetinfo====
 
====-targetinfo====
 +
'''"Enable Info next to Target"'''
 +
 
Displays target info, such as name and class, beside the targeted object.
 
Displays target info, such as name and class, beside the targeted object.
 +
 
====-orbradar====
 
====-orbradar====
Enables 3D radar (the Orb).  3D radar will replace the standard 2D version.
+
'''"Enables 3D radar"'''
 +
 
 +
An Orb style 3D radar will replace the standard 2D version.
 +
 
 +
====-rearm_timer====
 +
'''"Enable Rearm/Repair Completion Timer"'''
 +
 
 +
Displays time remaining until rearm and repair from a support ship is complete.
 +
 
 
====-ballistic_gauge====
 
====-ballistic_gauge====
 +
'''"Enable the analog Ballistic Ammo gauge"'''
 +
 
Adds an ammo gauge to the HUD when armed with a ballistic weapon.
 
Adds an ammo gauge to the HUD when armed with a ballistic weapon.
====-rearm_timer====
 
Displays time remaining until rearm and repair from a support ship is complete.
 
  
----
 
  
 
===Gameplay===
 
===Gameplay===
====-smart_shields====
+
 
Enables "smart" shield rechargingShield recharge is distributed to the most damaged shield quadrant instead of being distributed equally across the entire shield and be wasted when a quadrant is full.
+
====-window====
 +
'''"Run in Window"'''
 +
 
 +
Runs the game in a windowNo check to make sure that resolution is no higher than your desktop resolution, so be careful.
 +
 
 +
====-fullscreen_window====
 +
'''"Run in Fullscreen Window"'''
 +
 
 +
Runs the game in a borderless window.
 +
 
 +
====-stretch_menu====
 +
'''"Stretch interface to fill screen"'''
 +
 
 +
Scales the interface to fill the screen without preserving the aspect ratio. Omit this to keep the aspect ratio, adding black bars where appropriate.
 +
 
 +
====-noscalevid====
 +
"Disable scale-to-window for Movies"
 +
 
 +
Disables fullscreen scaling of video clips.
 +
 
 +
====-nomotiondebris====
 +
'''"Disable motion debris"'''
 +
 
 
====-ship_choice_3d====
 
====-ship_choice_3d====
Use ship and weapon models in ship selection and weapon loadout. Completely disables the standard ANI interface on those screens.
+
'''"Use Models for Ship Selection"'''
 +
 
 +
Uses ship models in ship selection window. It completely disables the standard ANI interface in this screen. <br>
 +
If a mod does not supply the required interface art for a ship, this mode will be used instead.
 +
 
 +
====-weapon_choice_3d====
 +
'''"Use Models for Weapon Selection"'''
 +
 
 +
Uses weapon models in weapon loadout window for secondary weapons (missiles and bombs). It completely disables the standard ANI interface in this screen.  <br>
 +
If a mod does not supply the required interface art for a weapon, this mode will be used instead.
 +
 
 
====-3dwarp====
 
====-3dwarp====
 +
'''"Enable 3D Warp"'''
 +
 
Use full geometry for the subspace warp effect.
 
Use full geometry for the subspace warp effect.
 +
 
====-warp_flash====
 
====-warp_flash====
 +
'''"Enable Flash upon Warp"'''
 +
 
Enable a flash at warp in and warp out.
 
Enable a flash at warp in and warp out.
====-UseNewAI====
 
Tells the game to use new AI routines.  This argument alters mission balance and is not considered a standard feature.
 
====-tbp====
 
Enable feature set for The Babylon Project
 
====-wcsaga====
 
Enable feature set for The Wing Commander Saga
 
  
----
+
====-no_ap_interrupt====
 +
'''"Disable Interrupting of AutoPilot"'''
 +
 
 +
Tells the game to not allow players to interrupt an autopilot already-in-progress.
 +
 
  
 
===Audio===
 
===Audio===
====-snd_preload====
+
 
Preload mission sounds.  Useful in preventing game stuttering when sounds are played for the first time.
 
 
====-nosound====
 
====-nosound====
Disables all sounds.
+
'''"Disable Sound and Music"'''
 +
 
 
====-nomusic====
 
====-nomusic====
Disables music only.
+
'''"Disables Music"'''
  
----
+
====-no_enhanced_sound====
 +
'''"Disable enhanced sound"'''
 +
 
 +
Disables the enhanced sound rendering functions enabled by OpenAL Soft.
 +
 
 +
 
 +
===Launcher===
 +
 
 +
====-override_data====
 +
{{Table230|
 +
 
 +
'''"Enable override directory"'''
 +
 
 +
Inserts an '_override/' location into the load order after all mod directories, intended for user table overrides layered over top multiple mods without as many accidental pollution issues for other mods or load order confusion that older methods can cause.
 +
 
 +
}}
 +
 
 +
====-portable_mode====
 +
'''"Store config in portable location"'''
 +
 
 +
 
 +
Uses the root directory of FSO for storing pilot and config files. The current launcher does not have proper support for this yet so you need to manually copy the fs2_open.ini from the original config directory to your FreeSpace Root directory.
 +
 
 +
 
 +
====-parse_cmdline_only====
 +
'''"Parse Command Line Only"'''
 +
 
 +
Parse only the application command line settings, and ignore any that may have been set in the on-disk data/cmdline_fso.cfg or per-user cmdline_fso.cfg (on Linux/Mac)
 +
 
 +
 
 +
====-get_flags====
 +
{{Table38|'''"Output the launcher flags file"'''
 +
Used by launchers to get certain information from FSO via binary file or stdout.
 +
*Syntax: '''''String''''', either '''binary''' or '''json_v1'''
 +
 
 +
'''binary''' will output info to a binary file in the root directory (probably within AppData)
 +
'''json_v1''' will output via stdout on the console a .json object as a string}}
  
 
===Multiplayer===
 
===Multiplayer===
 +
 
====-standalone====
 
====-standalone====
Creates a standalone server.
+
'''"Run as Stand Alone Server"'''
 +
 
 +
Creates a standalone multi-player server.
 +
 
 
====-startgame====
 
====-startgame====
 +
'''"Skip Mainhall and Start Hosting"'''
 +
 
Once you launch and choose a pilot within the game, you will immediately have begun to host a game.  This can be used in conjunction with several options to customize the game you create: -closed, -restricted, -password, -gamename, -allowabove, and -allowbelow.  -startgame has no effect when -standalone is used.
 
Once you launch and choose a pilot within the game, you will immediately have begun to host a game.  This can be used in conjunction with several options to customize the game you create: -closed, -restricted, -password, -gamename, -allowabove, and -allowbelow.  -startgame has no effect when -standalone is used.
  
Line 99: Line 287:
  
 
====-closed====
 
====-closed====
 +
'''"Start Hosted Server as Closed"'''
 +
 
Hosts a new game in a closed state, where no one can join until the in-game "Close" button is cleared.  This only works when used in conjunction with -startgame.  Cannot be used in conjunction with -restricted or -password.
 
Hosts a new game in a closed state, where no one can join until the in-game "Close" button is cleared.  This only works when used in conjunction with -startgame.  Cannot be used in conjunction with -restricted or -password.
  
Line 104: Line 294:
  
 
====-restricted====
 
====-restricted====
 +
'''"Host Confirms Join requests"'''
 +
 
Hosts a new game in a restricted state.  The host is presented with option to accept or deny each client's request to join the game.  This only works when used in conjunction with -startgame.  Cannot be used in conjunction with -closed or -password.
 
Hosts a new game in a restricted state.  The host is presented with option to accept or deny each client's request to join the game.  This only works when used in conjunction with -startgame.  Cannot be used in conjunction with -closed or -password.
  
Line 109: Line 301:
  
 
====-multilog====
 
====-multilog====
Creates a log file with a summary of packets sent and received in multiplayer games.  The file is saved as \data\multi.log within the active mod folder - or with main data folder if no mod is active.
+
Creates a log file with a summary of packets sent and received in multiplayer games.  The file is saved as \data\multi.log within the active mod folder&mdash;or with main data folder if no mod is active.
  
 
====-clientdamage====
 
====-clientdamage====
<font color=yellow>This feature is not available in current builds.</font>
+
{{Note| Removed as of 21.0}}
  
 
====-mpnoreturn====
 
====-mpnoreturn====
 +
'''"Disables Flight Deck option"'''
 +
 
Disables return to the flight deck screen after a mission completes.
 
Disables return to the flight deck screen after a mission completes.
  
----
+
====-gateway_ip====
 +
'''"Set gateway IP address"'''
 +
 
  
 
===Troubleshooting===
 
===Troubleshooting===
====-fixbugs====
 
'''Obsolete Argument - Removed in builds after 3.6.7'''
 
  
<font color=yellow>
+
====-no_set_gamma====
Originally used to disable certain crashing behavior as a stop-gap measure.  This feature is not available in current builds.</font>
+
'''"Disable Setting of Gamma"'''
====-nocrash====
 
'''Obsolete Argument - Removed in builds after 3.6.7'''
 
  
<font color=yellow>
+
Disables the gamma settings in the options screen.
Originally used to disable certain crashing behavior as a stop-gap measure.  This feature is not available in current builds.</font>
 
====-oldfire====
 
<font color=yellow>This feature is not available in current builds.</font>
 
  
====-nohtl====
+
====-nomovies====
'''WARNING - VERY SLOW'''
+
'''"Disable Video Playback"'''
  
Reverts to software rendering mode.  Does this work any more?
 
====-no_set_gamma====
 
Disables the gamma settings in the options screen.
 
====-nomovies====
 
 
Disables all video playback.
 
Disables all video playback.
 +
 
====-noparseerrors====
 
====-noparseerrors====
Disables some parsing warnings and makes other parse errors non-fatal.  Do not rely on this when creating new tables, the errors are there for a reason.
+
'''"Disable Parsing Errors"'''
====-safeloading====
+
 
Loads missions the old way.  Typically safer, but slower.
+
Disables some parsing warnings and makes other parse errors non-fatal.  Do not rely on this when creating new tables. The errors are there for a reason.
====-query_speech====
+
 
Determines if the current build includes text-to-speech.
 
====-d3d_bad_tsys====
 
Enable inefficient texture system.
 
====-novbo====
 
Disables OpenGL VBO.
 
====-noibx====
 
Disables IBX caching of model geometry data.  This will dramatically increase load times, but will help troubleshoot a model if one is working incorrectly.
 
 
====-loadallweps====
 
====-loadallweps====
Load all weapons, even those not used.
+
'''"Load all weapons, even those not used"'''
 +
 
 +
====-disable_fbo====
 +
'''"Disable OpenGL RenderTargets"'''
  
----
+
====-disable_pbo====
 +
'''"Disable OpenGL Pixel Buffer Objects"'''
 +
 
 +
Disables the use of Pixel Buffer Objects (PBO) which may cause certain OpenGL operations to perform slower. Note PBO's were only used at three places in FSO anyway so it's *probably* not going to have a noticeable effect. 
 +
 
 +
May be required to workaround issues in certain versions of Linux's Mesa drivers for Intel integrated graphics cards where crashes occur in the mainhall (i.e. whenever a popup occurs). Distros that seem to have this problem presently include Ubuntu 13.10 and openSUSE 13.1.
 +
{{Table371|
 +
*This feature is present to work around a bug in Linux's Mesa drivers for Intel integrated graphics cards}}
 +
 
 +
====-ati_swap====
 +
'''"Fix Color issues on some ATI cards"'''
 +
 
 +
[http://scp.indiegames.us/mantis/view.php?id=1669 Mantis #1669] is what led to this flag's creation.
 +
 
 +
====-no_3d_sound====
 +
'''"Use only 2D/stereo for sound effects"'''
 +
 
 +
====-mipmap====
 +
'''"Enable mipmapping"'''
 +
 
 +
Causes for non-mipmapped textures to have mipmaps generated within the GPU on certain kind of texture formats, (IIRC, DDS formatted textures with a power of 2 size in both width and height). <br>
 +
Since the use of already mipmapped DDS textures has become common, it has become deprecated.
 +
The quality of the generated mipmaps depends on each GPU and used driver. It is normally used with [[Command-Line_Reference#-img2dds|-img2dds]] flag.
 +
 
 +
====-use_gldrawelements====
 +
'''"Use glDrawElements instead of glDrawRangeElements"'''
 +
 
 +
Introduced as a means of switching to the slower OpenGL call glDrawElements, instead of glDrawRangeElements.
 +
{{Table3614|
 +
*This feature may resolve certain rendering problems where parts of models are not drawn on Linux drivers}}
 +
 
 +
====-gl_finish====
 +
'''"Fix input lag on AMD+Linux"'''
 +
{{Table371|
 +
This option adds a "glFinish()" call just prior to swapping buffers. It works around an issue with "recent" (HD 6000 & newer?) AMD cards using proprietary drivers on Linux. Be warned that enabling this may reduce framerate.
 +
}}
 +
 
 +
Refer to [http://www.hard-light.net/forums/index.php?topic=88102.0 this thread] and [https://github.com/ValveSoftware/Source-1-Games/issues/765 Valve's bugtracker] for more details).
 +
 
 +
====-no_geo_effects====
 +
'''"Disable geometry shader for effects"'''
 +
 
 +
Particle rendering uses geometry shaders for high performance, this flag disables that behaviour.
 +
 
 +
====-set_cpu_affinity====
 +
'''"Sets processor affinity to config value"'''
 +
 
 +
Use this to force FSO to run on the specified core. CPU cores are numbered starting with 0 for the first core.
 +
 
 +
====-nograb====
 +
Disables focus grabbing in a window.
 +
{{Note| This feature is not available on Windows.}}
 +
 
 +
====-noshadercache====
 +
'''"Disables the shader cache"'''
 +
 
 +
On GPUs with support for OpenGL 4 and higher, FSO caches the compiled shaders for increased performance.
 +
 
 +
====-fix_registry====
 +
'''"Use a different registry path"''''
 +
 
 +
====-log_multi_packet====
 +
'''"Dump packet type to the debug log.  Helps with misaligned multi packets."''''
 +
 
 +
DESCRIPTION NEEDED
  
 
===Experimental===
 
===Experimental===
====-alpha_env====
+
 
Enables alpha environment mapping.  OpenGL only.  Environment mapping intensity will be determined from the alpha channel of specular maps.
 
====-decals====
 
Enables damage decals.
 
 
====-ingame_join====
 
====-ingame_join====
 +
'''"Allows Ingame Joining"'''
 +
 
Enables ingame joining in multiplayer.  FIXME: Host option?
 
Enables ingame joining in multiplayer.  FIXME: Host option?
====-tga16====
 
'''Obsolete Argument - Removed in builds after 3.6.7'''
 
  
<font color=yellow>
+
====-voicer====
Originally used to converts TGA images to 16-bits in order to reduce memory footprint (at the expense of image quality), superseded by ''-img2dds''.</font>
+
'''"Voice Recognition"'''
----
+
 
 +
Windows-only.  Enables voice-recognition for wingmen commands.  Must be specifically compiled into a build in order for it to be available; 3.6.10 final includes the feature.  See [[Voice Recognition]] for more details.
 +
 
  
 
===Development Tools===
 
===Development Tools===
====-fps====
+
 
Displays current frames per second.
+
====-bmpmanusage====
 +
'''"Show how many BMPMAN slots are in use"'''
 +
 
 +
Adds a BMPMAN slot usage display near where the FPS display is (or would be, if it's not enabled). Can be used by mod makers to see if they need to increase their [[Game_settings.tbl#$BMPMAN Slot Limit:|BMPMAN slot limit]].
 +
 
 
====-pos====
 
====-pos====
 +
'''"Show Position of Camera"'''
 +
 
Displays current position coordinates of camera.
 
Displays current position coordinates of camera.
====-window====
+
 
Runs the game in a window.  No check to make sure that resolution is no higher than your desktop resolution, so be careful.
 
====-timerbar====
 
Displays a timing bar across the top of the screen.  Timebar format varies by build.
 
 
====-stats====
 
====-stats====
 +
'''"Show Statistics"'''
 +
 
Shows total and free physical memory, virtual memory and system pagefile.
 
Shows total and free physical memory, virtual memory and system pagefile.
  
 
====-coords====
 
====-coords====
 +
'''"Show Coordinates"'''
 +
 
Shows coordinates of the mouse cursor.
 
Shows coordinates of the mouse cursor.
====-show_mem_usage====
 
Shows detailed RAM usage in HUD.
 
  
The meaning of the info displayed in the upper right corner is:
+
====-pofspew====
 +
Loads all POF files in the current mod and prints out information on their LODs and mesh faces.  In previous version of FSO this command also generated IBX cache files for each object in the data/cache folder for that mod, but IBX cache files are no longer used. <br>
 +
Nowadays, this command is most useful for quickly checking all models in a mod for any debug errors.
  
'''DYN''' = dynamic memory, basically anything that's been allocated by the vm_* memory functions.  This does NOT indicate total memory usage but does account for most of it.
+
====-weaponspew====
 +
{{table202|
 +
Outputs information about player-allowed weapons (and child munitions) to the log file.  This includes a CSV with comparative stats on all weapons, as well as MediaVP-style descriptions for the loadout screen. <br>
 +
The command '-weaponspew all' will print all weapons, not just player-allowed weapons.}}
  
'''POF''' = model memory, how much memory is being used by models (does not include textures)
+
====-tablecrcs====
 +
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.
 +
Example usage: "-table_crcs MediaVPs" will create a table_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the tables used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.
  
'''C-BMP, BMP''' = bmpman memory, how much is used by the textures/images that are loaded. C-BMP means that you are using -cache_bitmaps and it will try to keep textures in memory between level loads and as the new level is loading it will keep what it needs and unload what it doesn't.  Can greatly increase level loading speed, but does so at the cost of memory between level loads.  This does not increase overall memory usage though, only during the loading screen. BMP means that it is not cached and all textures are unloaded from memory at the start of level load and all needed textures are then loaded from the disk again.
+
====-missioncrcs====
 +
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.
 +
Example usage: "-mission_crcs MediaVPs" will create a mission_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the missions used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.
  
'''S-RAM''' = sound memory, how much is used by the sounds loaded in memory at the time.  This counts static sounds only (from sounds.tbl, etc.) and not streaming sounds (music, voices, briefing stuff, etc).
+
====-dis_collisions====
 +
'''"Disable Collisions"'''
  
'''V-RAM''' = approximate memory usage of video textures.  This is not mean that your card has this much memory and can report higher numbers that your card actually has memory.  For OpenGL it also includes some of the geometry data, but this number does not reflect the total memory that your video card is using.  It only reports how much data the game has purposefully loaded into API memory (meaning it could be in system memory, video card memory, or AGP memory).
+
Disables all collisions.
  
 +
====-dis_weapons====
 +
'''"Disable Weapon Rendering"'''
  
''(It only works with debug builds, not with release builds).''
+
Disables weapons rendering.
  
====-pofspew====
 
'''''What does this do?'''''
 
====-tablecrcs====
 
'''''What does this do?'''''
 
====-missioncrcs====
 
'''''What does this do?'''''
 
====-dis_collisions====
 
Disables all collisions.
 
====-dis_weapons====
 
Disables weapons rendering.
 
 
====-output_sexps====
 
====-output_sexps====
Outputs SEXPs to sexps.html.
+
This will make the FSO build spit out an html file that documents the supported SEXP's.
 +
 
 +
Just double click on sexps.html and it should open in your default web browser.
 +
 
 
====-output_scripting====
 
====-output_scripting====
Outputs scripting to scripting.html.
+
This will make the FSO build spit out an html file that documents the supported scripting hooks and LUA libraries.
====-nograb====
+
 
Unix only. Disables focus grabbing in a window.
+
Just double click on scripting.html and it should open in your default web browser.
 +
 
 +
====-save_render_target====
 +
'''"Save Render Targets to file"'''
 +
 
 +
====-verify_vps====
 +
'''"Spew VP crcs to vp_crcs.txt"'''
 +
 
 +
Exports the CRC values of the VP files being loaded into a vp_crcs.txt file.
 +
 
 +
====-reparse_mainhall====
 +
'''"Reparse mainhall.tbl when loading halls"'''
 +
 
 +
Mainhall.tbl will be reparsed every time a mainhall is loaded, as opposed to just once at game startup.
 +
 
 +
====-noninteractive====
 +
'''"Disables interactive dialogs"'''
 +
Disables all dialogs and chooses the default option when one would be displayed. Very useful for a standalone server on a headless system.
 +
 
 +
====-no_unfocused_pause====
 +
'''"Don't pause if the window isn't focused"'''
 +
 
 +
When the FSO window looses focus it will not pause the game, useful for doing non-interactive test runs.
 +
 
 +
====-benchmark_mode====
 +
'''"Puts the game into benchmark mode"'''
 +
See [[Benchmarking]] for more information.
 +
 
 +
====-profile_frame_time====
 +
'''"Profile frame time"'''
 +
 
 +
Activates the frame profiling code. This presents a readout showing the current, minimum, maximum and average percentages of frametime a given section of code has taken up; this can be used to identify particular bottlenecks or measure the effectiveness of certain optimizations.
 +
 
 +
====-profile_write_file====
 +
'''"Write profiling information to file"'''
 +
 
 +
This will write the frame times of each gameplay frame to the file 'profiling.csv' where each line is ''<time>;<frametime>''. Both times are measured in nanoseconds(1/1000000000th of a second). ''time'' is measured from an arbitrary time in the past. To get consistent results the first ''time'' value should be substracted from all ''time'' values. The first two frames are usually very long because the timer is set at engine startup so you might want to exclude those from your data.
 +
 
 +
====-json_profiling====
 +
'''"Generate JSON profiling output"'''
 +
 
 +
Gathers information from the built-in profiling tools and writes them out to a .json file readable by the Google Chrome tracer or TraceCompass/SpaceCompass.
 +
NOTE: This will create fairly massive data sets (several hundred megabytes per minute of gameplay). The files will be written to the subdirectory "tracing" in the FreeSpace data folder; FreeSpace will not create that folder automatically, however.
 +
 
 +
====-debug_window====
 +
'''"Display Debug Window"'''
 +
 
 +
Lists the fs2_open.log in (nearly)real-time generation.
 +
 
 +
====-gr_debug====
 +
'''"Output graphics debug information"'''
 +
 
 +
====-stdout_log====
 +
'''"Output log file to stdout"'''
 +
 
 +
====-slow_frames_ok====
 +
'''"Don't adjust timestamps for slow frames"'''
 +
 
 +
====-luadev====
 +
{{Table230|
 +
 
 +
'''"Make lua errors non-fatal"'''
 +
 
 +
Intended for use with live-development scripts to allow iteration without engine restarts.
 +
 
 +
}}
 +
 
 
==Other==
 
==Other==
The following options are not available as checkboxes in the launcher.  Many require parameters, which follow the flag seperated by a space.  The prototype for use in this case is "-option argument"
+
 
===Graphics===
+
The following options are not available as checkboxes in the launcher and must be entered into the "Custom flags" field.  Many require parameters, which follow the flag separated by a space.  The prototype for use in this case is "-option argument"
 +
 
 +
===Lighting===
 +
These factors can dramatically alter the atmosphere of the game. [[Sample Lighting Settings|This page]] has some sample lighting settings with screenshots. Largely sourced from [https://www.hard-light.net/forums/index.php?topic=94875.msg1870215#msg1870215 this thread].
 +
 
 +
{{Table224|
 +
This method of configuring a mod's lighting has been replaced with the [[Lighting_Profiles.tbl]]. New lighting flags now mainly serve usability and accessibility reasons, with some legacy support for modifying ambient intensity.}}
 +
====-light====
 +
{{Table224|
 +
This is a multiplier applied to all level lights. This includes a mission's ambient light setting, but does not include imaged-based lighting from a mission's background. Defaults to 1.
 +
 
 +
}}
 +
====-ambient ====
 +
 
 +
{{Table224|
 +
This is a multiplier applied to the intensity of level ambient lighting. It applies only to the simple ambient light value, not to image-based lighting from a mission's background. Defaults to 1.
 +
 
 +
Unlike the old -ambient_factor flag this is a true multiplier to light intensity and does not use special math, and is not clamped above 0. A value of 0 will effective disable ambient light.
 +
 
 +
}}
 +
====-emissive====
 +
 
 +
{{Table224|
 +
This sets an amount of white ambient light added to all models. This is in addition to any amount of ambient light already present in a level. This is a relative amount, 1.0 is equivalent to a mission set to 255,255,255, and it can be set higher than this. This light is added after the multiplier from -ambient or any mod ambient settings are applied, so will add light regardless of other settings. Defaults 0.
 +
 
 +
}}
 
====-ambient_factor====
 
====-ambient_factor====
 +
This is a multiplier applied to the intensity of ambient lighting. Ambient light is lighting applied to all parts of a ship. The way this works is a bit weird. (ambient factor * 2) - 255 is "added" to mission ambient, but since this will almost always be a negative value it's actually removed from mission ambient. Because of how light values are clamped it cannot go below 5.1, ambient_factor 70 will result in -115 to mission ambient which is 120 by default. 70 is essentially the lowest ambient for missions with default ambient settings which are all retail missions and the vast majority of mod missions. FS2's standard value is 120. 70 is basically no ambient, 80 is a bit of ambient, and 90 is quite a bit of ambient(ships will look bright from all sides). Anything above that will make ships look incredibly "flat". This is a relative value.
 +
 +
{{Table224|
 +
 +
*'''''This feature is now deprecated, it will have no effect on rendering. see -ambient for an alternative user setting and [[Lighting_Profiles.tbl]] for mod configuration'''''
 +
}}
 +
====-spec_point====
 +
This is a multiplier that adjusts how much laser weapons contribute to specular highlights. Higher number mean greater contributions. If you want lasers to light up more set this to around 2. If you want less lighting, set it to around 0.5. Default is 1.0. This is a relative value.
  
This must be entered into the "Custom flags" field. This is a multiplier applied to the intensity of ambient lighting. Ambient light is lighting applied to all parts of a ship. FS2's standard value is 120. Try 75 for a good and realistic looking value. However, that is relative.
+
{{Table224|
 +
*'''''This feature is now deprecated, it will have no effect on rendering. see [[Lighting_Profiles.tbl]] for mod configuration alternatives'''''
 +
}}
 +
====-spec_static====
 +
This is a multiplier that adjusts how much suns contribute to specular highlights. Higher numbers mean a greater contribution. For non-PBR models it will make their sun-lit side very shiny and reflective; for PBR models it will make the sun-lit side a lot brighter. There's no flag to control diffuse static lighting so non-PBR models will always have the same amount of light come from suns. Default is 1.0. This is a relative value.
 +
 
 +
{{Table224|
 +
*'''''This feature is now deprecated, it will have no effect on rendering. see [[Lighting_Profiles.tbl]] for mod configuration alternatives'''''
 +
}}
 +
====-spec_tube====
 +
This is a multiplier that adjusts how much beam weapons contribute to specular highlights. Higher numbers mean a greater contribution. If you want lasers to light up more set this to around 2. If you want less lighting, set it to around 0.5. Default is 1.0. This is a relative value.
 +
 
 +
{{Table224|
 +
*'''''This feature is now deprecated, it will have no effect on rendering. see [[Lighting_Profiles.tbl]] for mod configuration alternatives'''''
 +
}}
 +
====-ogl_spec====
 +
*'''''This feature is now deprecated, it will have no effect on rendering.'''''
 +
Takes a numerical argument. This value changes the basic shininess of the specular light in OpenGL.  A lower value reduces the overall intensity of the light making it broader and less powerful.  A higher value makes it more focused and brighter. The default value is 80, and the usable range is 0 to 128 (clamped). The original default value was 60, but it was raised to behave more D3D like.
  
 
====-spec_exp====
 
====-spec_exp====
 +
*'''''This feature is now deprecated, it will have no effect on rendering.'''''
 +
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts the size of the shiny spot on ships. Higher number mean smaller spots. Default is 16. This is a relative value.
  
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts the size of the shiny spot on ships. Higher number mean smaller spots. Default is 16, however 11 is recommended. However, that is relative.
+
===Graphics===
 +
 
 +
====-bloom_intensity====
 +
Requires -post_processing ("Enable Post Processing") command.
 +
Default value is 25. Range is 0-200.
 +
 
 +
====-shadow_quality====
 +
{{table373|
 +
'''"Set shadows quality"'''
 +
 
 +
This sets the resolution for the shadow maps the engine uses for real-time shadowing.
 +
Note that higher resolutions require more processing power and VRAM; this feature is only recommended for users with a decently powerful dedicated GPU.
 +
Valid ranges are 0 to 4 with 2 being the default.
 +
 
 +
* 0 disables shadows (so there's no point in setting it!)
 +
* 1 uses 512x512 resolution (lower quality)
 +
* 2 uses 1024x1024 resolution (medium quality)
 +
* 3 uses 2048x2048 resolution (high quality)
 +
* 4 uses 4096x4096 resolution (ultra quality)
 +
 
 +
Currently this requires -enable_shadows to be set, or it has no effect.
 +
}}
 +
{{table38|No longer requires -enable_shadows to be set.}}
  
====-spec_point====
+
====-anisotropic_filter====
 +
{{table382|
 +
'''"Set anisotropic filtering level"'''
 +
Valid ranges are 1 to whatever maximum the GPU supports (which should be 16 for most currently available GPUs)
 +
By default, the GPUs' max supported level is used; set this to 1 if you want the minimum level available.}}
 +
 
 +
====-res====
 +
Allows you to specify a resolution if the desired one cannot be set in the Launcher.
 +
For example, -res 1920x1080 would run the game in 1920 x 1080 resolution. Since it requires an argument, it needs to be entered as a custom flag when using the Launcher. The "Run at specified resolution" option the Launcher gives is essentially this, but without being able to actually specify a resolution, it doesn't work.
 +
 
 +
====-center_res====
 +
Specifies how much of the screen area should be utilized by menus, movies, the HUD, and various other 2D graphics. Intended for use with configurations with an extremely wide field of view, such as triple-monitor setups.
 +
 
 +
By default, if the screen resolution's aspect ratio is wider than 7:2, most 2D elements utilize only the center 3/10 of the screen area. This setting allows users to override this behavior to make better use of the center monitor. (The reason for using 3/10 rather than 1/3 is that many triple-monitor setups use bezel correction, which reduces the fraction of the screen area that the center monitor displays.)
  
This must be used with the -spec command line parameter and must be entered into the
+
For example, if the screen resolution is 6000x1080, then -center_res 1920x1080 will keep most 2D graphics in the center 1920x1080 area. This setting is automatically scaled to fit the screen resolution, so (assuming the resolution is still 6000x1080) -center_res 1280x720 is given, then that resolution is enlarged to 1920x1080.
"Custom flags" field. Adjusts how much laser weapons contribute to specular highlights. Higher number mean greater contributions. Default is 1.0, however 0.6 is recommended. However, that is relative.
 
  
====-spec_static====
+
====-aa_preset====
 +
{{table202|
 +
This parameter can be used to select the AA solution the engine is using. Valid values are 0 to 6 inclusive:
 +
* 0: FXAA Low
 +
* 1: FXAA Medium
 +
* 2: FXAA High
 +
* 3: SMAA Low
 +
* 4: SMAA Medium
 +
* 5: SMAA High
 +
* 6: SMAA Ultra
  
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much suns contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0, however is 0.8 recommended. However, that is relative.
+
The various AA presets can be tested in the F3 lab; the number keys from 0-6 switch between the various presets as described above.
 +
}}
  
====-spec_tube====
+
====-fxaa_preset====
 +
Requires both -post_processing and -fxaa. Can be used to adjust the FXAA quality and speed, 0 is fastest, 9 is highest quality. Default setting is 6.
 +
{{table202|Has been superceded by the -aa_preset cmdline argument}}
  
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much Beam Weapons contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0, however 0.4 is recommended. However, that is relative.
+
====-smaa_preset====
 +
Requires both -post_processing and -smaa. Can be used to adjust the SMAA quality and speed, 0 is low, 1 is medium, 2 is high, and 3 is ultra (highest quality). Default setting is 1.
 +
{{table202|Has been superceded by the -aa_preset cmdline argument}}
  
====-clipdist====
+
===Game Speed===
Changes the distance from the viewpoint for the near-clipping plane.
 
  
Takes one argument decimal specifying the distance to the near-clipping plane.
+
====-no_fps_capping====
 +
'''"Don't limit frames-per-second"'''
  
----
 
  
 
===Gameplay===
 
===Gameplay===
 +
 +
====-keyboard_layout====
 +
'''"Manually sets a keyboard layout"'''
 +
 +
A commandline parameter to set the keyboard layout as a string parameter.
 +
{{Table3614|
 +
*Currently the only valid string is "qwertz" (German) but French azerty may be added in future.}}
 +
 +
====-start_mission====
 +
'''"Skip the mainhall in jump right into the specified mission"'''
 +
 +
Jump into the mission specified by the filename.  Only in effect on the first run. This will skip load of the mainhall and its other related things altogether.
 +
 
====-mod====
 
====-mod====
 +
Specifies in which folders inside FreeSpace 2 directory, the game looks for all the game data (models, missions, textures, tables, ...). Retail version only looks inside ''Freespace2/data/'' structure and ''Freespace2/vp archives''.
  
Specifies in which folders inside Freespace2 directory, the game looks for all the game data (models, missions, textures, tables, ...). Retail version only looks inside ''Freespace2/data/'' structure and ''Freespace2/vp archives''.
+
This flag allows installing several different mods that modify retail behavior, and switching between them without needing to erase files or having undesired cross effects. Each mod should be installed in its own folder.
 
 
This flag allows installing several different mods that modify retail behaviour, and switching between them without needing to erase files or having undesired cross effects. Each mod should be installed in its own folder.
 
  
 
It takes one argument string: the chain of names of the used directories. Comma (''',''') must be used as separator. In this way, '''-mod dir1,dir2,dir3,...,dirx''' causes the game to use the following directory precedence:
 
It takes one argument string: the chain of names of the used directories. Comma (''',''') must be used as separator. In this way, '''-mod dir1,dir2,dir3,...,dirx''' causes the game to use the following directory precedence:
Line 267: Line 699:
 
#Freespace2/
 
#Freespace2/
  
:::Please note. Freespace Open doesn't like spaces in directories (in the full path) so do not install the game within ''Program Files/Freespace2'' or ''Games/Freespace 2'' and, of course, do not use spaces within mod directories (''dir1'' is OK but ''dir 1'' isn't).
+
This flag can be indirectly set, (and it is normally set), through Launcher MOD tab and [[mod.ini]] file.
  
This flag can be indirectly set, (and it is normally set), through Launcher MOD tab and mod.ini file. Within this Launcher tab you can select one directory, (let's call it ''moddir''), so the flag is at least set to '''-mod moddir'''. If ''Freespace2/moddir/mod.ini'' exists, (its format must be plain text), it will be read and, inside it, the following section and lines can be used to modify the -mod flag too:
+
Within the Launcher's MOD tab you can select one directory, (let's call it ''moddir''), so the flag is at least set to '''-mod moddir'''.
 +
If ''Freespace2/moddir/[[mod.ini]]'' exists it will be used to modify the -mod flag, too.
  
: [multimod] <br> PrimaryList  = Pri1,Pri2,...(the rest of desired directories)...,Prix; <br>SecondaryList = Sec1,Sec2,...(the rest of desired directories)...,Secx;
+
For further details, see '''[[mod.ini]]'''
  
(Please note the ending semicolon (;) in each list line). With these lines the following flag would be built:
+
'''Data precedence'''
: '''-mod Pri1,Pri2,...,Prix,moddir,Sec1,Sec2,...,Secx'''
 
  
If primary or secondary folders aren't used, their respective line can be erased or it can be typed as ''xxxxxxList = ;''.
+
As already said, within the different directories, the data precedence is set by the specified order in the -mod flag. The lowest priority goes to the Freespace2 installation directory.
  
::: '''''PLEASE NOTE''': '''Launcher v 5.4''', or later, '''must be used'''. Earlier versions had some bugs that would cause the previous explanation about mod.ini fail.''
+
Inside each directory, data precedence is the following:
  
::: The most common use of mod.ini and SecondaryList is sharing resources between mods. And the best example is the enhaced media vps from SCP crew. Most of the people install them in a folder called ''mediavps'' inside ''Freespace2''. In this way when running retail FS2 they do not interfere with this original game version that doesn't use this -mod flag feature. When using FS2_Open but without mods, you just need to select ''mediavps'' in Launcher MOD tab to use them. And if you want to enjoy that enhacements while playing any 'real' mod, you just need to put a mod.ini file inside its ''moddir'' with at least a ''SecondaryList = mediavps;'' line.
+
#Individual files located in ''Current_dir/data/'' subdir structure. See [[FS2_Data_Structure|FS2 Data Structure topic]] for deeper info about the different folders and contents this structure has.
 +
#Files located inside vp archives. (These vp archives are "similar" to zip archives. They just contain other files and folders. Moreover, files have to be stored using the same ''data/'' structure used outside it). <br>Vp archives are read in alphabetical order with files loaded earlier taking priority over those loaded later. So aaa.vp files have higher priority than aab.vp files and so on.
 +
 
 +
The highest priority file overrides the rest of them. In this way, if you have a ''Mission.fs2'' inside ''Freespace2/Pri1/data/missions/'' it doesn't matter that this ''Mission.fs2'' is also inside ''Freespace2/Pri1/aaa.vp'', ''Freespace2/Pri1/aab.vp'', ... or ''Freespace2/data/missions/''. This data precedence allows the user to quickly replace old files by corrected or enhanced ones adding them in a higher priority place.
  
Inside each directory, data precedence is the following:
 
  
#Individual files located in ''Current_dir/data/'' subdir structure.
+
'''Additional notes'''
#Files located inside vp archives. (These vp archives are 'similar' to zip archives, they just contain other files and folders. Moreover, files have to be stored using the same ''data/'' structure used outside it). <br>Vp archives are read in alphabetical order so aaa.vp files have higher priority than aab.vp files and so on.
+
# As derived from the explanation, the exact names for directories or vp archives are actually irrelevant. It only matters the directory order inside -mod flag argument and the alphabetical order for vp archives inside each used directory.
 +
# This flag is also used by [[Portal:FRED|FRED]]. So if there is special mod info, (like backgrounds maps, ship models or whatever), it must be typed, (''Fred2_Open_r.exe -MOD whatever''), or FRED won't be able to use it. A special build of wxLauncher is able to configure FRED so that the -mod doesn't have to be done manually see [http://www.hard-light.net/forums/index.php?topic=67950.msg1387911#msg1387911 the forum post] for more details.
 +
{{Table3612|As of 3.6.12 FRED now loads cmdline_fso.cfg just like FS does so FRED will use the same settings as FS including the -mod settings}}
 +
# Be careful while typing the directory names in the flag argument or inside mod.ini files. The program doesn't check if the typed directories exist. If they do not exist, they are just ignored. No warnings, no errors, no messages at all.
  
The highest priority file overrides the rest of them. In this way, if you have a ''Mission.fs2'' inside ''Freespace2/Pri1/data/missions/'' it doesn't matter how this ''Mission.fs2'' is inside ''Freespace2/Pri1/aaa.vp'', ''Freespace2/Pri1/aab.vp'', ... or ''Freespace2/data/missions/''. This data precedence allows the user to quickly replace old files by corrected or enhaced ones adding them in a higher priority place.
+
{{Warning| '''Priority and Texture Formats'''
  
As derived from explanation, the exact names for directories or vp archives are actually irrelevant. It only matters the directory order inside -mod flag argument and the alphabetical order for vp archives inside each used directory.
+
''Obsolete behavior - Until FS2_open v3.6.9.:''
  
:'''Additional notes'''
+
FS2_Open can use several file formats in textures: [http://en.wikipedia.org/wiki/PCX PCX], [http://en.wikipedia.org/wiki/DirectDraw_Surface DDS], [http://en.wikipedia.org/wiki/JPG JPG] and [http://en.wikipedia.org/wiki/TGA TGA]. Make sure you keep the format when you update your texture. For example if you update the old ''TextureOfMyFighter.tga'', do not save it as ''TextureOfMyFighter.dds'' in a higher priority place, because there is a chance of the game loading the old one despite of all.
  
# This flag is also used by FRED. So if there is special mod info, (like backgrounds maps, ship models or whatever), it must be typed, (''Fred2_Open_r.exe -MOD whatever''), or FRED won't be able to use it. No Launcher MOD tab available for this use. <br> 
+
The reason to do this is that, loading process (including priorities) is applied firstly for a kind of textures (TGAs), then for another kind (JPGs), and so on. This behavior can lead to situation where your new, updated and higher priority placed texture is not read because the format of the older one.
# Be careful while typing the directory names in the flag argument or inside mod.ini files. The program doesn't check if the typed directories exist. If they do not exist, they are just ignored. No warnings, no errors, no messages at all.
 
  
  
:'''VERY IMPORTANT INFO ABOUT PRIORITY AND TEXTURE FORMATS'''
+
''New behavior - From FS2_open v3.6.10. (including previous beta testing releases):''
  
:FS2_Open can use several file formats in textures: PCX, DDS, JPG and TGA (the last two need the flag [[Command-Line_Reference#-jpgtga|-jpgtga]]). '''Always update every texture keeping its format'''. For example if you update the old ''TextureOfMyFighter.tga'', do not save it as ''TextureOfMyFighter.dds'' in a higher priority place, because there is a chance of the game loading the old one despite of all.
+
The former issue has been fixed. Now texture format priority is only applied within the same location. In this ''strange'' situation it goes DDS -> TGA -> JPG -> PCX. Examples:
 +
* ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.dds'' is loaded instead of ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.tga''.
 +
* But your improved ''/Freespace2/data/maps/MyTexture.xxx'' will override them both despite of its format.
 +
In this way, when you update any texture, you don't have to pay attention to its original format. Just place it in a higher priority place.
  
:The reason to do this is that, at least in FS2_Open v3.6.9. and previous versions, loading process (including priorities) is applied firstly for a kind of textures (TGAs), then for another kind (JPGs), and so on. The exact order of this global texture type priority may change in the future but nevertheless there is always going to be a fixed loading order between them. This behaviour can lead to situation where your new, updated and higher priority placed texture is not read because the format of the older one. (An example of this situation can be found in [http://scp.indiegames.us/mantis/view.php?id=1123 this false Mantised Bug 1123]).
+
Nevertheless, global priority is kept between animated and static textures. Because of their management, animated textures (ANIs and EFFs) are looked for BEFORE static ones. In this way there's no way to update an animated texture with a static one (an obsolete ANI is always going to be loaded before the newer DDS version). The solution: use an updated EFF with just one frame.
  
:The reason of this behaviour relays in the way the game looks for files. Without this way of coding, the number of file searches would hugely increase, so mission loading times would be much higher.
+
}}
  
 
====-fov====
 
====-fov====
Specifies the Field of View for the player eyepoint.
+
This flag allows the player to specify the ''vertical'' Field of View (FoV) angle, in radians, for the player eyepoint. The angle is measured across the full height of the viewing cone. The FoV angle is technically known as the Angle of View (AoV)
  
Takes one argument decimal specifying the angle of the viewing cone in radians, from 0 to 2*pi
+
*Syntax: '''''float''''' Angle
 +
*Valid Values: 0 to 2*Pi radians
 +
*Default Value: 0.75 radians
  
You can set the cone of view making things look bigger/smaller. The problem with this is that if you choose a small FOV, you will have a squashed look on the edges of your screen - stretched edges with a too high FOV. It is recommended to change the FOV as FS2 normally has some perspective distortion at the screen edges (FOV too high). Set the FOV to something like 0.39 - it will fix the distortion problem, and (as a nice side effect) will make everything look bigger and more realistic scale-wise. The default is 0.75, if you go higher, you'll get the fish-eye effect. Feel free to experiment. This must be entered into the "Custom flags" field
+
{{Note|For peculiar reasons, the actual FoV/AoV used by the game will be the supplied value multiplied by 1.39626348.}}
  
''Because of an active bug, FOV can misalign target boxes, effects, etc. Please check [http://lore.maxgaming.net/~scp/mantis/bug_view_advanced_page.php?bug_id=0000083 Mantis bug 083 status]if you are going to change the default value. Even with the default value, (no flag), there are small distortions.''
 
  
----
+
The the FoV angle/AoV is what determines the relative zoom level of the main game camera. Smaller angles generally equal to higher zoom levels, while larger angles equal to lower zoom levels (down to the theoretical x0 magnification).
 +
 
 +
 
 +
However, too small of an angle will have a squashed look on the edges of your screen, and too high of an angle will greatly stretch edges. It is recommended to change the AoV, as FS2's default AoV has some perspective distortion at the screen edges (the default AoV is too high).
 +
 
 +
 
 +
A natural looking (as if you where physically in the cockpit) AoV depends on the distance the player's actual eyes are away from the screen: the further away from the screen, the smaller the AoV should be, and vice versa. "Ergonomic" distances generally yield a '''''diagonal''''' AoV of 0.523 radians (30 degrees), but you can easily find the natural AoV by the following formula:
 +
 
 +
 
 +
AoV (radians) = 2 * atan( H / ( 2*D ))
 +
 
 +
where:
 +
 
 +
Height of screen = H
 +
 
 +
Distance between head/eye and the screen = D
 +
 
 +
 
 +
Generally, gamers like to increase the AoV in order to increase their peripheral vision on the screen, so as to gain a better situational awareness around their craft. An AoV of 0.39 radians seems to be a good start, but feel free to experiment and use whatever AoV you are most comfortable with.
 +
 
 +
 
 +
====-deadzone====
 +
This allows the player to set the deadzone value as a percentage of the joystick's range, allowing a more finely tuned setting than with the in-game options.
 +
*Syntax: '''''integer''''' Percentage
 +
*Valid Values: 0 to 100
 +
*Default Value: 0
 +
 
 +
Setting this value to 100 will make the joystick axes completely unresponsive.   
 +
While this flag is set, the in-game deadzone options will be disabled.
 +
 
 +
===Launcher===
 +
 
 +
====-query_speech====
 +
'''"Does this build have Speech?"'''
 +
 
 +
Determines if the current build includes text-to-speech.
 +
 
  
 
===Multiplayer===
 
===Multiplayer===
 +
 
====-gamename====
 
====-gamename====
 
Specifies the name of the game to be created by the host.  This only works when used in conjunction with -startgame.   
 
Specifies the name of the game to be created by the host.  This only works when used in conjunction with -startgame.   
Line 327: Line 804:
  
 
====-password====
 
====-password====
Specifies the password for a stand-alone server.  This only works when used in conjunction with -startgame.  Cannot be used in conjunction with -closed or -restricted.
+
Specifies the password for a standalone server.  This only works when used in conjunction with -startgame.  Cannot be used in conjunction with -closed or -restricted.
  
 
Takes one argument string, the required password for the game being created.
 
Takes one argument string, the required password for the game being created.
Line 341: Line 818:
  
 
====-allowbelow====
 
====-allowbelow====
Specifies a player's maximum rank for joining a game on a stand-alone server.  This only works when used in conjunction with -startgame.
+
Specifies a player's maximum rank for joining a game on a standalone server.  This only works when used in conjunction with -startgame.
  
 
Takes one argument integer, the points ranking below which a player must be to enter the game.
 
Takes one argument integer, the points ranking below which a player must be to enter the game.
Line 348: Line 825:
  
 
====-port====
 
====-port====
Specifies the port on which to host a game or serve a stand-alone game.
+
Specifies the port on which to host a game or serve a standalone game.
  
 
Takes one argument integer, the port on which the host will listen for clients.
 
Takes one argument integer, the port on which the host will listen for clients.
  
 
====-connect====
 
====-connect====
'''''What does this do?'''''
+
Automatically connect to multiplayer IP:PORT.
 +
 
 +
Takes one string value, such as 192.168.0.1:
  
 
====-timeout====
 
====-timeout====
'''''What does this do?'''''
+
Multiplayer network timeout (secs).
 +
 
 +
Takes one integer argument, the timeout value in seconds.  Default is 30.
 +
 
 +
====-cap_object_update====
 +
Caps the maximum object update the server will respond to regardless of what the client has set. If the client is set to request high object updates but the server is capped to low, then that's all the client will get.
 +
 
 +
Takes one argument integer (0 to 3) which corresponds to the object update cap (With 0 being low and 3 being LAN).
 +
 
 +
 
 +
===Help===
 +
 
 +
====-help====
 +
Instructs FSO to print out all supported parameters. Some launchers can use these options to automatically populate the available command line options, even if the version of FSO is far newer than the launcher itself. NOTE: This option only works in Linux builds...
 +
 
 +
====--help====
 +
See [[Command-Line_Reference#-help|-help]]
 +
 
 +
====-h====
 +
See [[Command-Line_Reference#-help|-help]]
 +
 
 +
====-?====
 +
See [[Command-Line_Reference#-help|-help]]
 +
 
 +
 
 +
===Deprecated Options===
 +
These options were present in the executable for some time, but have since been removed and deprecated. The engine will throw a non-fatal error when they are found in the commandline. Some of these functions have been removed entirely, others are now part of the standard operation of the engine.
 +
 
 +
====-clipdist====
 +
 
 +
====-spec====
 +
 
 +
====-env====
 +
 
 +
====-glow====
 +
 
 +
====-normal====
 +
 
 +
====-height====
 +
 
 +
====-missile_lighting====
 +
 
 +
====-img2dds====
 +
 
 +
====-snd_preload====
 +
 
 +
====-nohtl====
 +
 
 +
====-safeloading====
 +
 
 +
====-timerbar====
 +
 
 +
====-old_collision====
 +
 
 +
====-json_pilot====
 +
'''"Dump pilot files in JSON format"'''
 +
 
 +
Writes the information stored in savefiles to JSON files.
 +
 
 +
====-novbo====
 +
'''"Disable OpenGL VBO"'''
 +
 
 +
====-noibx====
 +
'''"Don't use cached index buffers (IBX)"'''
 +
 
 +
Disables IBX caching of model geometry data.  This will dramatically increase load times, but will help troubleshoot a model if one is working incorrectly.
 +
 
 +
====-no_glsl====
 +
'''"Disable GLSL (shader) Support"'''
 +
 
 +
Disables the use of GLSL rendering (OpenGL shaders). The game will revert to legacy fixed render pipeline. Please note that Normal and Height map effects will be unavailable.
 +
 
 +
====-disable_glsl_model====
 +
'''"Don't use shaders for model rendering"'''
 +
 
 +
====-disable_di_mouse====
 +
'''"Disables the DirectInput mouse code for FSO on windows."'''
 +
 
 +
'''Windows Only''' Can make mouse movement smoother on certain machines.
 +
 
 +
====-cache_bitmaps====
 +
'''"Cache bitmaps between missions"'''
 +
 
 +
====-no_emissive_lighting====
 +
See -emissive_lighting.
 +
 
 +
====-post_process====
 +
See -no_post_process.
 +
 
 +
 
 +
===Completely Removed Options===
 +
Using one of these is the same as using a random string.
 +
 
 +
====-show_mem_usage====
  
 
[[Category:Lists]]
 
[[Category:Lists]]
 
[[Category:Source Code Project]]
 
[[Category:Source Code Project]]

Revision as of 17:02, 16 May 2023

Revision information.....

FSO Git Commit: Date: 2020-02-01 SHA: 93f71ec20
Note: Please update the revision information when the page is updated. If your edit had nothing to do with new code entries then please do not edit the revision information


Command-Line Flags (also called Command-Line Parameters) are optional flags passed to the FSO executable, and generally enables one or more features added to the FS2 Open engine. These flags are accessed conveniently through an FSO Launcher. To have FSO list all available flags, use any one of the following: -help, --help, -h, or -?.

Contents

Graphics

-nospec

FS2 Open, 3.7:

"Disable Specular"

Disables support for specular mapping.

-noglow

FS2 Open, 3.7:

"Disable glow maps"

Disables support for glowmapping.

-noenv

FS2 Open, 3.7:

"Disable environment maps"

Disables support for environment mapping.

-nonormal

FS2 Open, 3.7:

"Disable normal maps"

Disables support for normal mapping.

-emissive_light

FS2 Open, 19.0:

"Enable emissive light from ships"

In retail FS2, ships had a pseudo light source applied to them to make them stand out against the background. Due to the changes in the render pipeline associated with HDR, this behaviour has been disabled by default; this cmdline option restores it.

FS2 Open, 23.0:

This flag is now an alias for using -emissive 0.3

-noheight

FS2 Open, 3.7:

"Disable height maps"

Disables support for height mapping.

-3dshockwave

"Enable 3D Shockwaves"

This only has any effect when both a 2D and 3D shockwave effect are present, otherwise the only available effect is used (2D shockwave is defined by effects/shockwave01.eff or .ani, and 3D shockwave by models/shockwave.pof)

Note that 3D shockwaves are usually flat discs that FSO scales up. The animated 2D billboards used by 2D shockwaves with the addition of soft particles, may look better when intersecting with models (which shockwaves often do). Use at your discretion.

-no_post_process

FS2 Open, 19.0:

"Disable Post Processing"

Disables the use of post-processing effects as defined by the post_process.tbl. Bloom usage has an additional cmdline option for setting its value, most post processing effects are achieved in mission per the mission designer or can be enabled globally in the table. Since post-processing is required for nebula effects post-3.8, it has been enabled by default as of Release 19.

-soft_particles

"Enable soft particles"

Applies a blending factor to particles depending on their proximity to geometry

-aa

FS2 Open, 21.0:

"Enable post-processing antialiasing"

  • -aa This flag enables the default antialiasing. Because FSO uses a deferred renderer, hardware-driven AA methods like MSAA cannot be used; the engine includes the well-established FXAA and SMAA post-processing shaders to get antialiasing instead. By default, the "Low" preset of the SMAA shader will be used.
  • -aa_preset Sets a different antialiasing mode, in case the default is insufficient or is too taxing on the GPU. This parameter takes a numeric argument ranging from 0 to 6. 0-2 correspond to the Low, Medium and High FXAA presets, 3-6 to the Low, Medium, High and Ultra SMAA presets respectively. The impact of these presets, both in terms of performance and in terms of visuals, can be observed in the F3 lab: The number keys 0-6 can be used to switch through the various AA presets on the fly there.

-msaa

FS2 Open, 23.2:

"Enable multisample antialiasing" This parameter helps to reduce glinting and flickering of details on ships and other models when they are far away. Should be used together with -aa and not as a replacement for it! Enables MSAA and sets the number of samples for it. This parameter takes a numeric argument ranging from 0 to 16, in powers of two (0, 4, 8, 16). 0 disables the feature, 4 is recommended for midrange systems, and 8 for high-end systems.

-fxaa

"Enable FXAA antialiasing"

Enables the FXAA anti-aliasing. Further information can be found here: http://www.hard-light.net/forums/index.php?topic=76145.0 There is an associated parameter -fxaa_preset, which takes a number from 0 to 7; these can be used to set the effect's quality. Note that, while there are up to 7 possible values for this parameter, there are only 3 presets available: a value of 0-3 corresponds to the "Low" preset, 4-6 gets you the "medium" preset, and 7 and up switches to the "High" preset.

This antialiasing mode should only be used on very old (read: 2005-2010 era) hardware. For all other systems, the -smaa flag (detailed below) should be used.

FS2 Open, 21.0:

This parameter has been deprecated in favour of the -aa parameter, as seen above

-smaa

"Enable SMAA anti-aliasing"

Enables the SMAA anti-aliasing method. Like FXAA, this is a post-processing effect that provides an AA stage; It is a more advanced and therefore more resource-intensive effect, but generally produces higher-quality images. Like -fxaa, there is a configurable flag -smaa_preset, which takes a number from 0 to 3; these correspond directly to the Low, Medium, High and Ultra presets of the SMAA shader.

It is possible to compare the effectiveness of the different AA shaders by using the F3 lab: Load up any ship model and a background, then use the number keys 0 to x to switch through the various AA methods. 0-2 correspond to FXAA Low, Medium and High, 3-6 correspond to SMAA Low, Medium, High and Ultra.

FS2 Open, 21.0:

This parameter has been deprecated in favour of the -aa parameter, as seen above

-nolightshafts

"Disable lightshafts"

Disables Lightshafts even if a mission designer enables them via SEXP in a mission. This was previously documented as -flightshaftsoff but appears to have been changed to -nolightshafts for consistency before -flightshaftsoff was ever used in a released build.

-fb_explosions

"Enable Framebuffer Shockwaves"

Applies a framebuffer distortion effect to shockwaves

-fb_thrusters

"Enable Framebuffer Thrusters"

Applies a framebuffer distortion effect to Thrusters. NOTE: Only "point" thrusters are affected by this; modelled thrusters (as used on most retail models) are not affected by this.

-no_deferred

"Disable Deferred Lighting"

DESCRIPTION NEEDED

-enable_shadows

FS2 Open, 3.7.4:

"Enable shadows"

Enables shadows where supported by the OpenGL version provided by the user's GPU. -shadow_quality can be used to control the quality level.

Note: Currently doesn't support shadows for cockpits and show ship.

Game Speed

-no_vsync

"Disable vertical sync"


HUD

-fps

"Show frames per second on HUD"

Displays current frames per second.

-dualscanlines

"Another Pair of Scanning Lines"

Adds a second pair of scanning lines to the target window when scanning an object.

-targetinfo

"Enable Info next to Target"

Displays target info, such as name and class, beside the targeted object.

-orbradar

"Enables 3D radar"

An Orb style 3D radar will replace the standard 2D version.

-rearm_timer

"Enable Rearm/Repair Completion Timer"

Displays time remaining until rearm and repair from a support ship is complete.

-ballistic_gauge

"Enable the analog Ballistic Ammo gauge"

Adds an ammo gauge to the HUD when armed with a ballistic weapon.


Gameplay

-window

"Run in Window"

Runs the game in a window. No check to make sure that resolution is no higher than your desktop resolution, so be careful.

-fullscreen_window

"Run in Fullscreen Window"

Runs the game in a borderless window.

-stretch_menu

"Stretch interface to fill screen"

Scales the interface to fill the screen without preserving the aspect ratio. Omit this to keep the aspect ratio, adding black bars where appropriate.

-noscalevid

"Disable scale-to-window for Movies"

Disables fullscreen scaling of video clips.

-nomotiondebris

"Disable motion debris"

-ship_choice_3d

"Use Models for Ship Selection"

Uses ship models in ship selection window. It completely disables the standard ANI interface in this screen.
If a mod does not supply the required interface art for a ship, this mode will be used instead.

-weapon_choice_3d

"Use Models for Weapon Selection"

Uses weapon models in weapon loadout window for secondary weapons (missiles and bombs). It completely disables the standard ANI interface in this screen.
If a mod does not supply the required interface art for a weapon, this mode will be used instead.

-3dwarp

"Enable 3D Warp"

Use full geometry for the subspace warp effect.

-warp_flash

"Enable Flash upon Warp"

Enable a flash at warp in and warp out.

-no_ap_interrupt

"Disable Interrupting of AutoPilot"

Tells the game to not allow players to interrupt an autopilot already-in-progress.


Audio

-nosound

"Disable Sound and Music"

-nomusic

"Disables Music"

-no_enhanced_sound

"Disable enhanced sound"

Disables the enhanced sound rendering functions enabled by OpenAL Soft.


Launcher

-override_data

FS2 Open, 23.0:

"Enable override directory"

Inserts an '_override/' location into the load order after all mod directories, intended for user table overrides layered over top multiple mods without as many accidental pollution issues for other mods or load order confusion that older methods can cause.

-portable_mode

"Store config in portable location"


Uses the root directory of FSO for storing pilot and config files. The current launcher does not have proper support for this yet so you need to manually copy the fs2_open.ini from the original config directory to your FreeSpace Root directory.


-parse_cmdline_only

"Parse Command Line Only"

Parse only the application command line settings, and ignore any that may have been set in the on-disk data/cmdline_fso.cfg or per-user cmdline_fso.cfg (on Linux/Mac)


-get_flags

FS2 Open, 3.8: "Output the launcher flags file"

Used by launchers to get certain information from FSO via binary file or stdout.

  • Syntax: String, either binary or json_v1

binary will output info to a binary file in the root directory (probably within AppData)

json_v1 will output via stdout on the console a .json object as a string

Multiplayer

-standalone

"Run as Stand Alone Server"

Creates a standalone multi-player server.

-startgame

"Skip Mainhall and Start Hosting"

Once you launch and choose a pilot within the game, you will immediately have begun to host a game. This can be used in conjunction with several options to customize the game you create: -closed, -restricted, -password, -gamename, -allowabove, and -allowbelow. -startgame has no effect when -standalone is used.

See related: -closed -restricted -password -gamename -allowabove -allowbelow

-closed

"Start Hosted Server as Closed"

Hosts a new game in a closed state, where no one can join until the in-game "Close" button is cleared. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -restricted or -password.

See related: -startgame -restricted -password

-restricted

"Host Confirms Join requests"

Hosts a new game in a restricted state. The host is presented with option to accept or deny each client's request to join the game. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -password.

See related: -startgame -closed -password

-multilog

Creates a log file with a summary of packets sent and received in multiplayer games. The file is saved as \data\multi.log within the active mod folder—or with main data folder if no mod is active.

-clientdamage

Note: Removed as of 21.0

-mpnoreturn

"Disables Flight Deck option"

Disables return to the flight deck screen after a mission completes.

-gateway_ip

"Set gateway IP address"


Troubleshooting

-no_set_gamma

"Disable Setting of Gamma"

Disables the gamma settings in the options screen.

-nomovies

"Disable Video Playback"

Disables all video playback.

-noparseerrors

"Disable Parsing Errors"

Disables some parsing warnings and makes other parse errors non-fatal. Do not rely on this when creating new tables. The errors are there for a reason.

-loadallweps

"Load all weapons, even those not used"

-disable_fbo

"Disable OpenGL RenderTargets"

-disable_pbo

"Disable OpenGL Pixel Buffer Objects"

Disables the use of Pixel Buffer Objects (PBO) which may cause certain OpenGL operations to perform slower. Note PBO's were only used at three places in FSO anyway so it's *probably* not going to have a noticeable effect.

May be required to workaround issues in certain versions of Linux's Mesa drivers for Intel integrated graphics cards where crashes occur in the mainhall (i.e. whenever a popup occurs). Distros that seem to have this problem presently include Ubuntu 13.10 and openSUSE 13.1.

FS2 Open, 3.7.2:
  • This feature is present to work around a bug in Linux's Mesa drivers for Intel integrated graphics cards

-ati_swap

"Fix Color issues on some ATI cards"

Mantis #1669 is what led to this flag's creation.

-no_3d_sound

"Use only 2D/stereo for sound effects"

-mipmap

"Enable mipmapping"

Causes for non-mipmapped textures to have mipmaps generated within the GPU on certain kind of texture formats, (IIRC, DDS formatted textures with a power of 2 size in both width and height).
Since the use of already mipmapped DDS textures has become common, it has become deprecated. The quality of the generated mipmaps depends on each GPU and used driver. It is normally used with -img2dds flag.

-use_gldrawelements

"Use glDrawElements instead of glDrawRangeElements"

Introduced as a means of switching to the slower OpenGL call glDrawElements, instead of glDrawRangeElements.

FS2 Open, 3.6.14:
  • This feature may resolve certain rendering problems where parts of models are not drawn on Linux drivers

-gl_finish

"Fix input lag on AMD+Linux"

FS2 Open, 3.7.2:

This option adds a "glFinish()" call just prior to swapping buffers. It works around an issue with "recent" (HD 6000 & newer?) AMD cards using proprietary drivers on Linux. Be warned that enabling this may reduce framerate.

Refer to this thread and Valve's bugtracker for more details).

-no_geo_effects

"Disable geometry shader for effects"

Particle rendering uses geometry shaders for high performance, this flag disables that behaviour.

-set_cpu_affinity

"Sets processor affinity to config value"

Use this to force FSO to run on the specified core. CPU cores are numbered starting with 0 for the first core.

-nograb

Disables focus grabbing in a window.

Note: This feature is not available on Windows.

-noshadercache

"Disables the shader cache"

On GPUs with support for OpenGL 4 and higher, FSO caches the compiled shaders for increased performance.

-fix_registry

"Use a different registry path"'

-log_multi_packet

"Dump packet type to the debug log. Helps with misaligned multi packets."'

DESCRIPTION NEEDED

Experimental

-ingame_join

"Allows Ingame Joining"

Enables ingame joining in multiplayer. FIXME: Host option?

-voicer

"Voice Recognition"

Windows-only. Enables voice-recognition for wingmen commands. Must be specifically compiled into a build in order for it to be available; 3.6.10 final includes the feature. See Voice Recognition for more details.


Development Tools

-bmpmanusage

"Show how many BMPMAN slots are in use"

Adds a BMPMAN slot usage display near where the FPS display is (or would be, if it's not enabled). Can be used by mod makers to see if they need to increase their BMPMAN slot limit.

-pos

"Show Position of Camera"

Displays current position coordinates of camera.

-stats

"Show Statistics"

Shows total and free physical memory, virtual memory and system pagefile.

-coords

"Show Coordinates"

Shows coordinates of the mouse cursor.

-pofspew

Loads all POF files in the current mod and prints out information on their LODs and mesh faces. In previous version of FSO this command also generated IBX cache files for each object in the data/cache folder for that mod, but IBX cache files are no longer used.
Nowadays, this command is most useful for quickly checking all models in a mod for any debug errors.

-weaponspew

FS2 Open, 21.0:

Outputs information about player-allowed weapons (and child munitions) to the log file. This includes a CSV with comparative stats on all weapons, as well as MediaVP-style descriptions for the loadout screen.

The command '-weaponspew all' will print all weapons, not just player-allowed weapons.

-tablecrcs

Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name. Example usage: "-table_crcs MediaVPs" will create a table_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the tables used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.

-missioncrcs

Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name. Example usage: "-mission_crcs MediaVPs" will create a mission_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the missions used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.

-dis_collisions

"Disable Collisions"

Disables all collisions.

-dis_weapons

"Disable Weapon Rendering"

Disables weapons rendering.

-output_sexps

This will make the FSO build spit out an html file that documents the supported SEXP's.

Just double click on sexps.html and it should open in your default web browser.

-output_scripting

This will make the FSO build spit out an html file that documents the supported scripting hooks and LUA libraries.

Just double click on scripting.html and it should open in your default web browser.

-save_render_target

"Save Render Targets to file"

-verify_vps

"Spew VP crcs to vp_crcs.txt"

Exports the CRC values of the VP files being loaded into a vp_crcs.txt file.

-reparse_mainhall

"Reparse mainhall.tbl when loading halls"

Mainhall.tbl will be reparsed every time a mainhall is loaded, as opposed to just once at game startup.

-noninteractive

"Disables interactive dialogs" Disables all dialogs and chooses the default option when one would be displayed. Very useful for a standalone server on a headless system.

-no_unfocused_pause

"Don't pause if the window isn't focused"

When the FSO window looses focus it will not pause the game, useful for doing non-interactive test runs.

-benchmark_mode

"Puts the game into benchmark mode" See Benchmarking for more information.

-profile_frame_time

"Profile frame time"

Activates the frame profiling code. This presents a readout showing the current, minimum, maximum and average percentages of frametime a given section of code has taken up; this can be used to identify particular bottlenecks or measure the effectiveness of certain optimizations.

-profile_write_file

"Write profiling information to file"

This will write the frame times of each gameplay frame to the file 'profiling.csv' where each line is . Both times are measured in nanoseconds(1/1000000000th of a second). time is measured from an arbitrary time in the past. To get consistent results the first time value should be substracted from all time values. The first two frames are usually very long because the timer is set at engine startup so you might want to exclude those from your data.

-json_profiling

"Generate JSON profiling output"

Gathers information from the built-in profiling tools and writes them out to a .json file readable by the Google Chrome tracer or TraceCompass/SpaceCompass. NOTE: This will create fairly massive data sets (several hundred megabytes per minute of gameplay). The files will be written to the subdirectory "tracing" in the FreeSpace data folder; FreeSpace will not create that folder automatically, however.

-debug_window

"Display Debug Window"

Lists the fs2_open.log in (nearly)real-time generation.

-gr_debug

"Output graphics debug information"

-stdout_log

"Output log file to stdout"

-slow_frames_ok

"Don't adjust timestamps for slow frames"

-luadev

FS2 Open, 23.0:

"Make lua errors non-fatal"

Intended for use with live-development scripts to allow iteration without engine restarts.

Other

The following options are not available as checkboxes in the launcher and must be entered into the "Custom flags" field. Many require parameters, which follow the flag separated by a space. The prototype for use in this case is "-option argument"

Lighting

These factors can dramatically alter the atmosphere of the game. This page has some sample lighting settings with screenshots. Largely sourced from this thread.


FS2 Open, 23.0: This method of configuring a mod's lighting has been replaced with the Lighting_Profiles.tbl. New lighting flags now mainly serve usability and accessibility reasons, with some legacy support for modifying ambient intensity.

-light

FS2 Open, 23.0:

This is a multiplier applied to all level lights. This includes a mission's ambient light setting, but does not include imaged-based lighting from a mission's background. Defaults to 1.

-ambient

FS2 Open, 23.0:

This is a multiplier applied to the intensity of level ambient lighting. It applies only to the simple ambient light value, not to image-based lighting from a mission's background. Defaults to 1.

Unlike the old -ambient_factor flag this is a true multiplier to light intensity and does not use special math, and is not clamped above 0. A value of 0 will effective disable ambient light.

-emissive

FS2 Open, 23.0:

This sets an amount of white ambient light added to all models. This is in addition to any amount of ambient light already present in a level. This is a relative amount, 1.0 is equivalent to a mission set to 255,255,255, and it can be set higher than this. This light is added after the multiplier from -ambient or any mod ambient settings are applied, so will add light regardless of other settings. Defaults 0.

-ambient_factor

This is a multiplier applied to the intensity of ambient lighting. Ambient light is lighting applied to all parts of a ship. The way this works is a bit weird. (ambient factor * 2) - 255 is "added" to mission ambient, but since this will almost always be a negative value it's actually removed from mission ambient. Because of how light values are clamped it cannot go below 5.1, ambient_factor 70 will result in -115 to mission ambient which is 120 by default. 70 is essentially the lowest ambient for missions with default ambient settings which are all retail missions and the vast majority of mod missions. FS2's standard value is 120. 70 is basically no ambient, 80 is a bit of ambient, and 90 is quite a bit of ambient(ships will look bright from all sides). Anything above that will make ships look incredibly "flat". This is a relative value.


FS2 Open, 23.0:
  • This feature is now deprecated, it will have no effect on rendering. see -ambient for an alternative user setting and Lighting_Profiles.tbl for mod configuration

-spec_point

This is a multiplier that adjusts how much laser weapons contribute to specular highlights. Higher number mean greater contributions. If you want lasers to light up more set this to around 2. If you want less lighting, set it to around 0.5. Default is 1.0. This is a relative value.


FS2 Open, 23.0:
  • This feature is now deprecated, it will have no effect on rendering. see Lighting_Profiles.tbl for mod configuration alternatives

-spec_static

This is a multiplier that adjusts how much suns contribute to specular highlights. Higher numbers mean a greater contribution. For non-PBR models it will make their sun-lit side very shiny and reflective; for PBR models it will make the sun-lit side a lot brighter. There's no flag to control diffuse static lighting so non-PBR models will always have the same amount of light come from suns. Default is 1.0. This is a relative value.


FS2 Open, 23.0:
  • This feature is now deprecated, it will have no effect on rendering. see Lighting_Profiles.tbl for mod configuration alternatives

-spec_tube

This is a multiplier that adjusts how much beam weapons contribute to specular highlights. Higher numbers mean a greater contribution. If you want lasers to light up more set this to around 2. If you want less lighting, set it to around 0.5. Default is 1.0. This is a relative value.


FS2 Open, 23.0:
  • This feature is now deprecated, it will have no effect on rendering. see Lighting_Profiles.tbl for mod configuration alternatives

-ogl_spec

  • This feature is now deprecated, it will have no effect on rendering.

Takes a numerical argument. This value changes the basic shininess of the specular light in OpenGL. A lower value reduces the overall intensity of the light making it broader and less powerful. A higher value makes it more focused and brighter. The default value is 80, and the usable range is 0 to 128 (clamped). The original default value was 60, but it was raised to behave more D3D like.

-spec_exp

  • This feature is now deprecated, it will have no effect on rendering.

This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts the size of the shiny spot on ships. Higher number mean smaller spots. Default is 16. This is a relative value.

Graphics

-bloom_intensity

Requires -post_processing ("Enable Post Processing") command. Default value is 25. Range is 0-200.

-shadow_quality

FS2 Open, 3.7.4:

"Set shadows quality"

This sets the resolution for the shadow maps the engine uses for real-time shadowing. Note that higher resolutions require more processing power and VRAM; this feature is only recommended for users with a decently powerful dedicated GPU. Valid ranges are 0 to 4 with 2 being the default.

  • 0 disables shadows (so there's no point in setting it!)
  • 1 uses 512x512 resolution (lower quality)
  • 2 uses 1024x1024 resolution (medium quality)
  • 3 uses 2048x2048 resolution (high quality)
  • 4 uses 4096x4096 resolution (ultra quality)

Currently this requires -enable_shadows to be set, or it has no effect.

FS2 Open, 3.8: No longer requires -enable_shadows to be set.

-anisotropic_filter

FS2 Open, 19.0:

"Set anisotropic filtering level" Valid ranges are 1 to whatever maximum the GPU supports (which should be 16 for most currently available GPUs)

By default, the GPUs' max supported level is used; set this to 1 if you want the minimum level available.

-res

Allows you to specify a resolution if the desired one cannot be set in the Launcher. For example, -res 1920x1080 would run the game in 1920 x 1080 resolution. Since it requires an argument, it needs to be entered as a custom flag when using the Launcher. The "Run at specified resolution" option the Launcher gives is essentially this, but without being able to actually specify a resolution, it doesn't work.

-center_res

Specifies how much of the screen area should be utilized by menus, movies, the HUD, and various other 2D graphics. Intended for use with configurations with an extremely wide field of view, such as triple-monitor setups.

By default, if the screen resolution's aspect ratio is wider than 7:2, most 2D elements utilize only the center 3/10 of the screen area. This setting allows users to override this behavior to make better use of the center monitor. (The reason for using 3/10 rather than 1/3 is that many triple-monitor setups use bezel correction, which reduces the fraction of the screen area that the center monitor displays.)

For example, if the screen resolution is 6000x1080, then -center_res 1920x1080 will keep most 2D graphics in the center 1920x1080 area. This setting is automatically scaled to fit the screen resolution, so (assuming the resolution is still 6000x1080) -center_res 1280x720 is given, then that resolution is enlarged to 1920x1080.

-aa_preset

FS2 Open, 21.0:

This parameter can be used to select the AA solution the engine is using. Valid values are 0 to 6 inclusive:

  • 0: FXAA Low
  • 1: FXAA Medium
  • 2: FXAA High
  • 3: SMAA Low
  • 4: SMAA Medium
  • 5: SMAA High
  • 6: SMAA Ultra

The various AA presets can be tested in the F3 lab; the number keys from 0-6 switch between the various presets as described above.

-fxaa_preset

Requires both -post_processing and -fxaa. Can be used to adjust the FXAA quality and speed, 0 is fastest, 9 is highest quality. Default setting is 6.

FS2 Open, 21.0: Has been superceded by the -aa_preset cmdline argument

-smaa_preset

Requires both -post_processing and -smaa. Can be used to adjust the SMAA quality and speed, 0 is low, 1 is medium, 2 is high, and 3 is ultra (highest quality). Default setting is 1.

FS2 Open, 21.0: Has been superceded by the -aa_preset cmdline argument

Game Speed

-no_fps_capping

"Don't limit frames-per-second"


Gameplay

-keyboard_layout

"Manually sets a keyboard layout"

A commandline parameter to set the keyboard layout as a string parameter.

FS2 Open, 3.6.14:
  • Currently the only valid string is "qwertz" (German) but French azerty may be added in future.

-start_mission

"Skip the mainhall in jump right into the specified mission"

Jump into the mission specified by the filename. Only in effect on the first run. This will skip load of the mainhall and its other related things altogether.

-mod

Specifies in which folders inside FreeSpace 2 directory, the game looks for all the game data (models, missions, textures, tables, ...). Retail version only looks inside Freespace2/data/ structure and Freespace2/vp archives.

This flag allows installing several different mods that modify retail behavior, and switching between them without needing to erase files or having undesired cross effects. Each mod should be installed in its own folder.

It takes one argument string: the chain of names of the used directories. Comma (,) must be used as separator. In this way, -mod dir1,dir2,dir3,...,dirx causes the game to use the following directory precedence:

  1. Freespace2/dir1/
  2. Freespace2/dir2/
  3. Freespace2/dir3/
  4. ... (the rest of the typed directories) ...
  5. Freespace2/dirx/
  6. Freespace2/

This flag can be indirectly set, (and it is normally set), through Launcher MOD tab and mod.ini file.

Within the Launcher's MOD tab you can select one directory, (let's call it moddir), so the flag is at least set to -mod moddir. If Freespace2/moddir/mod.ini exists it will be used to modify the -mod flag, too.

For further details, see mod.ini

Data precedence

As already said, within the different directories, the data precedence is set by the specified order in the -mod flag. The lowest priority goes to the Freespace2 installation directory.

Inside each directory, data precedence is the following:

  1. Individual files located in Current_dir/data/ subdir structure. See FS2 Data Structure topic for deeper info about the different folders and contents this structure has.
  2. Files located inside vp archives. (These vp archives are "similar" to zip archives. They just contain other files and folders. Moreover, files have to be stored using the same data/ structure used outside it).
    Vp archives are read in alphabetical order with files loaded earlier taking priority over those loaded later. So aaa.vp files have higher priority than aab.vp files and so on.

The highest priority file overrides the rest of them. In this way, if you have a Mission.fs2 inside Freespace2/Pri1/data/missions/ it doesn't matter that this Mission.fs2 is also inside Freespace2/Pri1/aaa.vp, Freespace2/Pri1/aab.vp, ... or Freespace2/data/missions/. This data precedence allows the user to quickly replace old files by corrected or enhanced ones adding them in a higher priority place.


Additional notes

  1. As derived from the explanation, the exact names for directories or vp archives are actually irrelevant. It only matters the directory order inside -mod flag argument and the alphabetical order for vp archives inside each used directory.
  2. This flag is also used by FRED. So if there is special mod info, (like backgrounds maps, ship models or whatever), it must be typed, (Fred2_Open_r.exe -MOD whatever), or FRED won't be able to use it. A special build of wxLauncher is able to configure FRED so that the -mod doesn't have to be done manually see the forum post for more details.
FS2 Open, 3.6.12: As of 3.6.12 FRED now loads cmdline_fso.cfg just like FS does so FRED will use the same settings as FS including the -mod settings
  1. Be careful while typing the directory names in the flag argument or inside mod.ini files. The program doesn't check if the typed directories exist. If they do not exist, they are just ignored. No warnings, no errors, no messages at all.


Warning: Priority and Texture Formats

Obsolete behavior - Until FS2_open v3.6.9.:

FS2_Open can use several file formats in textures: PCX, DDS, JPG and TGA. Make sure you keep the format when you update your texture. For example if you update the old TextureOfMyFighter.tga, do not save it as TextureOfMyFighter.dds in a higher priority place, because there is a chance of the game loading the old one despite of all.

The reason to do this is that, loading process (including priorities) is applied firstly for a kind of textures (TGAs), then for another kind (JPGs), and so on. This behavior can lead to situation where your new, updated and higher priority placed texture is not read because the format of the older one.


New behavior - From FS2_open v3.6.10. (including previous beta testing releases):

The former issue has been fixed. Now texture format priority is only applied within the same location. In this strange situation it goes DDS -> TGA -> JPG -> PCX. Examples:

  • /Freespace2/MyVp.vp>>>data/maps/MyTexture.dds is loaded instead of /Freespace2/MyVp.vp>>>data/maps/MyTexture.tga.
  • But your improved /Freespace2/data/maps/MyTexture.xxx will override them both despite of its format.

In this way, when you update any texture, you don't have to pay attention to its original format. Just place it in a higher priority place.

Nevertheless, global priority is kept between animated and static textures. Because of their management, animated textures (ANIs and EFFs) are looked for BEFORE static ones. In this way there's no way to update an animated texture with a static one (an obsolete ANI is always going to be loaded before the newer DDS version). The solution: use an updated EFF with just one frame.

-fov

This flag allows the player to specify the vertical Field of View (FoV) angle, in radians, for the player eyepoint. The angle is measured across the full height of the viewing cone. The FoV angle is technically known as the Angle of View (AoV)

  • Syntax: float Angle
  • Valid Values: 0 to 2*Pi radians
  • Default Value: 0.75 radians


Note: For peculiar reasons, the actual FoV/AoV used by the game will be the supplied value multiplied by 1.39626348.


The the FoV angle/AoV is what determines the relative zoom level of the main game camera. Smaller angles generally equal to higher zoom levels, while larger angles equal to lower zoom levels (down to the theoretical x0 magnification).


However, too small of an angle will have a squashed look on the edges of your screen, and too high of an angle will greatly stretch edges. It is recommended to change the AoV, as FS2's default AoV has some perspective distortion at the screen edges (the default AoV is too high).


A natural looking (as if you where physically in the cockpit) AoV depends on the distance the player's actual eyes are away from the screen: the further away from the screen, the smaller the AoV should be, and vice versa. "Ergonomic" distances generally yield a diagonal AoV of 0.523 radians (30 degrees), but you can easily find the natural AoV by the following formula:


AoV (radians) = 2 * atan( H / ( 2*D ))

where:

Height of screen = H

Distance between head/eye and the screen = D


Generally, gamers like to increase the AoV in order to increase their peripheral vision on the screen, so as to gain a better situational awareness around their craft. An AoV of 0.39 radians seems to be a good start, but feel free to experiment and use whatever AoV you are most comfortable with.


-deadzone

This allows the player to set the deadzone value as a percentage of the joystick's range, allowing a more finely tuned setting than with the in-game options.

  • Syntax: integer Percentage
  • Valid Values: 0 to 100
  • Default Value: 0

Setting this value to 100 will make the joystick axes completely unresponsive. While this flag is set, the in-game deadzone options will be disabled.

Launcher

-query_speech

"Does this build have Speech?"

Determines if the current build includes text-to-speech.


Multiplayer

-gamename

Specifies the name of the game to be created by the host. This only works when used in conjunction with -startgame.

Takes one argument string, the name to be assigned to the game being created.

This argument does nothing when used with -standalone. To set the name for a standalone server, see Standalone Servers.

See related:   -startgame   Standalone Servers

-password

Specifies the password for a standalone server. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -restricted.

Takes one argument string, the required password for the game being created.

See related: -startgame -closed -restricted

-allowabove

Specifies a player's minimum rank for joining a game. This only works when used in conjunction with -startgame.

Takes one argument integer, the points ranking above which a player must be to enter the game.

See related: -startgame

-allowbelow

Specifies a player's maximum rank for joining a game on a standalone server. This only works when used in conjunction with -startgame.

Takes one argument integer, the points ranking below which a player must be to enter the game.

See related: -startgame

-port

Specifies the port on which to host a game or serve a standalone game.

Takes one argument integer, the port on which the host will listen for clients.

-connect

Automatically connect to multiplayer IP:PORT.

Takes one string value, such as 192.168.0.1:

-timeout

Multiplayer network timeout (secs).

Takes one integer argument, the timeout value in seconds. Default is 30.

-cap_object_update

Caps the maximum object update the server will respond to regardless of what the client has set. If the client is set to request high object updates but the server is capped to low, then that's all the client will get.

Takes one argument integer (0 to 3) which corresponds to the object update cap (With 0 being low and 3 being LAN).


Help

-help

Instructs FSO to print out all supported parameters. Some launchers can use these options to automatically populate the available command line options, even if the version of FSO is far newer than the launcher itself. NOTE: This option only works in Linux builds...

--help

See -help

-h

See -help

-?

See -help


Deprecated Options

These options were present in the executable for some time, but have since been removed and deprecated. The engine will throw a non-fatal error when they are found in the commandline. Some of these functions have been removed entirely, others are now part of the standard operation of the engine.

-clipdist

-spec

-env

-glow

-normal

-height

-missile_lighting

-img2dds

-snd_preload

-nohtl

-safeloading

-timerbar

-old_collision

-json_pilot

"Dump pilot files in JSON format"

Writes the information stored in savefiles to JSON files.

-novbo

"Disable OpenGL VBO"

-noibx

"Don't use cached index buffers (IBX)"

Disables IBX caching of model geometry data. This will dramatically increase load times, but will help troubleshoot a model if one is working incorrectly.

-no_glsl

"Disable GLSL (shader) Support"

Disables the use of GLSL rendering (OpenGL shaders). The game will revert to legacy fixed render pipeline. Please note that Normal and Height map effects will be unavailable.

-disable_glsl_model

"Don't use shaders for model rendering"

-disable_di_mouse

"Disables the DirectInput mouse code for FSO on windows."

Windows Only Can make mouse movement smoother on certain machines.

-cache_bitmaps

"Cache bitmaps between missions"

-no_emissive_lighting

See -emissive_lighting.

-post_process

See -no_post_process.


Completely Removed Options

Using one of these is the same as using a random string.

-show_mem_usage