:: :: Client Features

:: OpenAL audio system:

The OpenAL audio module is enabled by default, to disable it you can use UI
or cvar s_module (0 = sound off, 1 = qf module, 2 = open module).

If loading of the OpenAL sound system doesn't succeed for some reason, the
traditional system will be used instead. Most common reason for a failure
is missing a OpenAL.dll. You can try downloading OpenAL installer for Windows:
http://developer.creative.com/articles/article.asp?cat=1&sbcat=31&top=38&aid=46

:: Graphical settings:

- cg_pickup_flash <0 or 1> - default: 1
Enables or disables the bright screen flash when picking up items.

- cg_damage_blend <0 or 1> - default: 1
Enable or disable flashing screen red when you get hit.

- cg_damage_kick <0 or 1> - default: 0
Toggles whether your screen will shake when you receive damage.

- cg_shadows <0, 1 or 2> - default: 1
Controls showing of model shadows. Value 0 disables them altogether. Value 1
enabled new pretty fast blob shadows. Using value 2 enables stencil shadows
(was r_stencilshadows 1 in last release).

- cg_showBloodTrail <0, 1 or 2> - default: 1
Toggles the display of blood effects when hit by a weapon or damaged by the
world. Using value 2 enables this effect, but doesn't show the blood orginating
from yourself.

:: Weapon stats:

If you look at the scoreboard while playing, you will see a list of your weapon
stats. In addition to this, there is command for showing more accurate stats in
the console and a variable to hide stats from scoreboard.

- /stats
Shows your (or the player's you're chasing) weapon accuracy stats.

- cg_scoreboardStats <0 or 1> - default: 1
Toggles showing of scoreboard stats in the scoreboard.

:: Showing of player names and teammates armor and health:

There are now few nice ways to identify the players around you. You can even
see the health and armor of your teammates just by looking at them. These
features are on by default, but if you prefer not to see players' names you can
turn them of by using following settings:

- cg_showPlayerNames <0 or 1> - default: 1
Whether to shows everyone's, who is close enough, name next to their feet on
your screen.

- cg_showPointedPlayer <0 or 1> - default: 1
If this option is enabled, then the player's name who you're pointing at is
showed over his head. Also if this player happens to be your teammate you see
his health and armor under his name.

:: Font system:

You can specify what font to use some different parts of the game, with the
following variables:

- con_fontSystemSmall <font name> - default: "bitstream_10"
Sets the default small sized font to be used.

- con_fontSystemMedium <font name> - default: "bitstream_12"
Sets the default medium sized font to be used.

- con_fontSystemBig <font name> - default: "virtue_16"
Sets the default big sized font to be used.

- cg_scoreboardFont <font name> - default: "virtue_10"
Sets the font to be used for most of the text in scoreboard.

- cg_scoreboardWidthScale <positive number> - default: 1.0
Controls how much scoreboards width is made bigger or smaller.

:: Voice commands:

You have the ability to communicate with your teammates and enemies using
voice commands. In the menu there is possibility to bind different messages to
different keys. The following two commands are used to generate these voice
messages:

- /vsay <voice token> <message>
Sends voice message specified by the token to everybody on the server. It will
be accompanied with chat message, that you can also specify. If you don't
specify any message a default one will be used. To get list of all the possible
voice tokens use this command without any arguments.

- /vsay_team <voice token> <message>
Sends voice message specified by the token to your teammates. It will be
accompanied with team chat message, that you can also specify, all the normal
say_team chat token can be used also in this message. If you don't specify any
message a default one will be used.

- cg_voiceChats <0 or 1> - default: 1
Whether to play voice messages at all.

- cg_volume_voicechats <0.0 - 2.0> - default: 1.0
Controls the relative volume of voice messages.

:: Setting player model, skin and color:

You can set model, skin and color for each team in the game (players, alpha,
beta, delta, gamma). It does not depend on whether the team is your team or
enemy team, but rather you set the values for each invidual team. Later, you
can force your team to always be appear as the alpha team, in which case the
enemy team in two team games will always appear as the beta team. These
settings can be easily set from the UI, but here is a list of variables anyway.

- cg_team[TEAM]model <model name> - default: ""
For every team there is a cvar named like this (for example cg_teamREDmodel).
If set to anything else than "" the model of all the players in this team will
be forced to the one specified.

- cg_team[TEAM]skin <skin name> - default: "default"
For every team there is a cvar named like this (for example cg_teamREDskin).
If set to anything else than "" the skin of all the players in this team will
be forced to the one specified.

- cg_team[TEAM]color <red green blue> - default: ""
For every team there is a cvar named like this (for example cg_teamREDcolor).
If set to anything else than "" the color of all the players in this team will
be forced to the one specified.

- cg_forceMyTeamAlpha <0 or 1> - default: 0
Switches your team's looks with Alpha team's looks. This makes the your team
appear as Alpha team and the real Alpha team appear as your real team.

- cg_forceTeamPlayersTeamBeta <0 or 1> - default: 1
Forces team Players to appear like team Beta.

Team aspects can of course still be controlled from the UI.

:: Timeout system:

You can call a timeout when playing Warsow. This pauses game for some time,
allowing you to take that important phone call and after that continue playing
like nothing had happened. All servers might not allow timeouts, or only allow
certain amount per game. There are few commands for this purpose:

- /timeout
Starts a timeout. This pause will last three minutes unless timein is called
before that.

- /timein
Resumes game when in timeout. There will be five second countdown first.
Note that only the person or team who called the timeout can call timein.

- /callvote timeout
If the vote passes timeout begins. This can be used even if you or your team
doesn't have any timeouts left.

- /callvote timein
If the vote passes timein is called. This can be used even if you didn't call
the timeout.

- /callvote maxtimeouts <unlimited or a number>
Changes the number of timeouts a player, or a team in teambased gametypes, can
use in one game.

:: Automatic downloading:

It's possible to automatically download missing maps from the web or directly
from the server. This feature is enabled by default, you don't need to do
anything. Two config variables allow you to control it:

- cl_downloads <0 or 1> - default: 1
Whether to allow automatic downloading at all.
Both from the web and directly from the server.

- cl_downloads_from_web <0 or 1> - default: 1
Enable or disable downloading from URLs provided by the server.

:: Serverside demos:

By default 0.2 servers record server side multiview demos of the matches
played. You can list the available demos with 'demolist' command and download a
demo with 'demoget' command. Unfortunately there is no proper download progress
bar at the moment, but you can use 'downloadstatus' command to see how the
download is coming along. The 'downloadcancel' command can be used to abort
downloading.

:: High resolution timer for Windows:

An enhanced timing system is available on win32 client. This code is activated
using a command line option (-hwtimer) and uses windows high resolution timers.
By default it is not activated as it may cause some lags on some computers. To
try it create a shortcut to warsow.exe and add -hwtimer to it or create a batch
file.

:: Misc settings and commands:

- in_minmsecs <milliseconds> - default: 5
Defaults the minimum amount of time to wait before asking for new input data.

- /cointoss
Can be used in prewar or timeout to 'toss a coin'

- /toggleready
Changes your state between ready and not ready

- /+scores
Can be bound to a key to view scoreboard when that key is being pressed

- /showserverip
Displays the IP of the server you are currently connected to

:: :: Server features

:: Timeout system:

As described above, clients can now call timeouts while in game. Server can
control how many timeouts per game are allowed with the following cvar:

- g_maxtimeouts <number>
This sets the number of timeouts each player, or a team in teambased gametypes,
can use per one game. If set to -1 unlimited number of timeouts is allowed.
Note that this cvar can be changed with callvote (to disable this callvote use
g_disable_vote_maxtimeouts 1).

:: Automatic downloading:

It's possible to allow clients download missing maps from the server or from
URLs provided by the server. By default the server allows downloading directly,
but doesn't provide any URLs. Following variables can be used to customize this
behaviour:

- sv_uploads <0 or 1> - default: 1
Whether allow uploading at all. Both from the server or from URLs.

- sv_uploads_from_server <0 or 1> - default: 1
Enable or disable uploading directly from the server.

- sv_uploads_baseurl <URL> - default: "" (empty string)
Controls the URL sent to clients for webdownloading. This base value will have
a slash (/) and the filename (map_wdm1.pk3) appended to it, before it's send to
client. Use "" to disable sending of the URLs.

:: Challengers queue:

Duel and midair gametypes allows for using challengers queue. This means that
after duel has been playing winner stays in and first player from challengers
queue replaces his opponent. Following cvar can be used to re-enable old
behaviour.

- g_challengers <0 or 1> - default: 1
Whether to use challengers queue in duel and midair gametypes.

:: Console logging changes:

With these variables you can control writing of the server logfile. By default
log named "wswconsole.log" is written.

- logconsole <filename> - default: "wswconsole.log"
Sets the filename where to log console message. Use "" to disable logging.

- logconsole_append <0 or 1> - default: 1
Whether the append to the end of the old file if it exists, instead of
deleting it.

- logconsole_flush <0 or 1> - default: 0
Enabling this make Warsow flush console file after every printed line. This
takes much more resources, but ensures that you get last in the log if the game
crashes.
