@ifndef{MANPAGE}{
    @chapter{ Command line usage }

    It is possible to launch Doomsday directly from the command line. If all
    data files can be found under the default directories, the engine should be
    able to launch itself without further assistance. If not, command line
    options must be used to configure data file locations and other settings.
}
@else{
    @chapter{ Synopsis }
}

@ifndef{MACOSX}{
    @strong{doomsday} @man_opt2{iwad}{dir} @man_opt2{game}{id} @man_opt{wnd}
    @man_opt2{wh}{w h} @man_opt2{file}{file ...}
}
@else{
    @strong{Doomsday.app/Contents/MacOS/Doomsday} [options]
}

Everything following @opt{--} is ignored. @opt{@@} can be used to specify a
response file whose contents are added to the command line.

@ifdef{MANPAGE}{
    @chapter{ Options }
}

@deflist{

    @item{@opt{-file} | @opt{-f}} Specify one or more data files or packages
    (@file{.pack}, PK3, WAD, LMP) to load at startup. When used together with
    the @opt{-game} option, the specified files will be loaded at startup.
    Without @opt{-game} they are just registered as available files that can
    then be loaded in games. It is also possible to load data files at runtime
    by opening the Packages sidebar (see @ref{taskbar}{Task Bar}) or with the
    @cmd{load} console command.

    @item{@opt{-game} | @opt{-g}} Sets the game to load after startup. If
    omitted, the Home screen will be shown after startup. See
    @ref{gamemode}{Games} for a list of available games. For example:
    @opt{-game doom1-ultimate}

    @item{@opt{-h} | @opt{-?} | @opt{--help}} Prints a brief list of the
    command line options.

    @item{@opt{-iwad}} Specifies a directory where to look for IWAD files.
    Searches for IWADs from all known games and automatically loads them when
    needed.

    @item{@opt{-version}} Show version information.

    @item{@opt{-wnd} | @opt{-window}} Starts in windowed mode. The default is
    to start in fullscreen mode.

    @item{@opt{-wh}} Sets the size of the Doomsday window. In fullscreen mode
    specifies which display resolution to use.

}

@section{ Additional options }

@deflist{

    @item{@opt{-center}} Center the window (when not in fullscreen mode).

    @item{@opt{-command} | @opt{-cmd}} Execute a console command during
    startup. Multiple commands can be joined together with semicolons. Note
    that console variables have game plugin specific values, so if you change
    cvar values using this option without loading a game (with @opt{-game}),
    your values will be overwritten when a game plugin is loaded.

    @item{@opt{-connect}} Attempts to connect to the server running at the
    given network address. Equivalent to the console command @cmd{connect}.

    @item{@opt{-devlog} | @opt{-nodevlog}} Enables or disables developer log
    entries. These are useful for debugging and/or troubleshooting, but are too
    verbose or technical for everyday use.

    @ifndef{MACOSX}{ @item{@opt{-dpi}} Set the UI pixel density.
    @ifdef{WIN32}{The desktop UI scaling factor is automatically detected and
    used by Doomsday. This option will override it.} For example: @opt{-dpi
    2.0}}

    @item{@opt{-errors}} Set the name of the error output file. The file is
    written to the runtime folder. This output file is created in addition to
    the usual @file{doomsday.out}. For example: @opt{-errors errors.out}

    @item{@opt{-fullscreen} | @opt{-nofullscreen}} Enable or disable fullscreen
    mode.

    @item{@opt{-icd} | @opt{-imusic} | @opt{-isfx}} Set the audio plugin for
    CD playback, music, and sound effects. The following plugins are
    available:
    @list/thin{
        @item dummy
        @item fmod
        @ifndef{WIN32}{@item fluidsynth}
        @item sdlmixer
        @item openal
        @ifdef{WIN32}{@item dsound @item winmm}
    }

    @item{@opt{-fontsize}} Set a scaling factor for UI fonts. This is applied
    separately from the overall UI scale setting (see
    @ref{config}{Configuration}). For example: @opt{-fontsize 1.5}

    @item{@opt{-loglevel}} Set the log output level. The levels are: XVerbose,
    Verbose, Message, Note, Warning, Error, Critical.

    @item{@opt{-maximize} | @opt{-nomaximize}} Maximize the window, or set the
    window to non-maximized mode.

    @item{@opt{-noaudio}} Disable all audio (sound effects and music).

    @item{@opt{-noautoselect}} Do not try to automatically select a game to
    load. Only has effect when @opt{-game} is not used. Doomsday will always
    start in the Home screen or, when starting a server, not at all.

    @item{@opt{-nodiscovery}} Disable discovery of servers on the local network.

    @item{@opt{-nofsaa}} Disable antialiasing.

    @item{@opt{-nogog}} Disable detection of games from GOG.

    @item{@opt{-nojoy}} Disable gamepads and other game controllers.

    @item{@opt{-nomouse}} Disable mouse input.

    @item{@opt{-nomusic}} Disable music.

    @item{@opt{-nosfx}} Disable sound effects.

    @item{@opt{-nosteam}} Disable detection of games from Steam.

    @item{@opt{-novsync}} Disable vsync.

    @item{@opt{-out}} Set the name of the log output file. The file is always
    written to the runtime folder. This option overrides the default
    @file{doomsday.out}.

    @item{@opt{-parse} | @opt{-p}} Load and execute the specified file that
    contains console commands. Behavior is similar to @opt{-command} with the
    exception that the commands are loaded from a file.

    @item{@opt{-packs}} Set additional folders where to find packages. Works
    similar to @opt{-iwad}.

    @item{@opt{-pkg}} One or more identifiers of packages that are loaded when
    the @opt{-game} option is used to launch directly into a game.

    @item{@opt{-reset}} Reset the engine configuration to default values. In
    practice, this just erases the contents of the @file{persist.pack} file
    that stores configuration variables and UI state. The affected variables
    include, for example, game window size and position, and log filter
    settings.

    @item{@opt{-verbose} | @opt{-v}} Print verbose log messages. Specify more
    than once for extra verbosity.

    @item{@opt{-vvv}} Enables all log messages (normal and developer, all
    levels).

    @item{@opt{-warp}} When starting directly into a game using @opt{-game},
    automatically also jump to a specific map. The map can be specified either
    as the map number, a pair of numbers (episode and map), or the map
    identifier (e.g., "MAP12").

    @ifndef{MACOSX}{@item{@opt{-width} | @opt{-height}} Set the
    horizontal/vertical display resolution when in fullscreen mode.}

}
