====== Fichier de configuration ======

Par défaut la configuration de l'utilisateur est enregistrée dans le fichier ''q3config.cfg''. Ce fichier se trouve à différents endroits en fonction du système d'exploitation :

  * Linux : /home/utilisateur/.openarena/baseoa/
  * MacOSX :
  * Windows : C:\Documents and Settings\utilisateur\application Data\OpenArena\baseoa
  

Ce fichier est généré par l'interface du jeu, au premier démarrage du jeu puis lorsque l'utilisateur modifie les options dans les menus. <note tip>Prévoyez d'en faire une copie (q3config.cfg.bak) quand vous en êtes satisfait, car il arrive que ce fichier soit écrasé et réinitialisé par le jeu.</note>

OpenArena prévoit un mécanisme pour charger une configuration de l'utilisateur, par défaut au chargement du jeu, les fichiers suivant sont chargés (dans l'ordre) :
  * default.cfg
  * q3config.cfg
  * autoexec.cfg
  * puis tous les fichiers inclus par les commandes //exec// éventuellement contenues dans le fichier //autoexec.cfg//

Dans ''autoexec.cfg'' il est possible de redéfinir tout ce qui a été définit dans ''q3config.cfg'' et plus.

===== Conseils =====

Afin de garder une configuration propre il est possible de scinder son fichier de configuration en plusieurs parties : touches, graphisme, réseau, etc. L'avantage est de pouvoir utiliser facilement sa configuration sur un autre ordinateur.

L'idée est d'avoir un fichier //autoexec.cfg// minimaliste, qui ne contient que des commandes //exec// vers des fichiers de configuration spécialisés.

Par exemple :

<file>
unbindall // supprime la configuration des touches
exec "binding.cfg" // gestion des touches
exec "comm.cfg" // gestion de la communication avec les autres joueurs
exec "computer.cfg" // configuration dépendante de l'ordinateur
exec "network.cfg" // configuration réseau
exec "player.cfg"  // configuration spécifique au joueur
</file>


===== Paramètres =====

On peut placer plusieurs types de directives dans le fichier de configuration : la définition des touches, la définition des variables, des commandes.

Les variables et commandes sont de différents types, identifiés par un préfixe. Les types disponibles sont((l'info originale provient du site http://str0ss.free.fr/partage/Quake3/Dossier%20Q3/q3config.html)) :

^  Préfixe  ^  Signification  ^  Commentaire  ^  Exemple  ^
| bot_  | robot  | tout ce qui concerne la gestion des //bots//, utile pour un serveur  | bot_enable  |
| cg_  | client game  | paramètres de la gestion du jeu côté client  | cg_fov  |
| cl_  | client  | paramètres concernant le moteur du jeu côté client  | cl_allowDownload  |
| com_  | //common, computer// ?  | paramètres de la machine virtuelle côté client  | com_maxfps  |
| g_  | game  | paramètres du jeu, utile côté serveur  | g_friendlyFire  |
| in_  | input  | paramètres des périphériques d'entrées (clavier, souris)  | in_mouse  | 
| m_  | mouse  | gestion de la souris  | m_pitch  |
| net_  | network  | gestion du réseau  | net_noudp  |
| r_  | renderer  | gestion du moteur de rendu pour l'affichage  | r_vertexLight  |
| s_  | sound  | gestion du son  | s_useOpenAL  |
| sv_  | server  | paramètres génériques d'un serveur  | sv_pure  |
| ui_  | user interface  | gestion de l'interface graphique utilisateur  | ui_bigFont  |

Pour définir une variable, il faut utiliser au choix la commande ''set'' ou ''seta'' ; la seconde forme (''seta'') écrira en plus son résultat dans le fichier ''q3config.cfg''. L'une ou l'autre s'utilisent ainsi :
<file>
seta <variable> <valeur>
</file>


Il y a de nombreuses variables booléennes, c'est-à-dire dont la valeur est soit vraie soit fausse, représentée respectivement par la valeur ''1'' ou ''0''.

Voici une liste explicative de l'ensemble des paramètres disponibles, avec une tentative de classement par thème :

==== Commandes générales ====

^  Commande  ^  Effet  ^  Commentaire  ^
| set <variable> <valeur> | Affecte la valeur <valeur> à la variable <variable> | |
| seta <variable> <valeur> | Affecte la valeur <valeur> à la variable <variable> | la valeur de la variable sera sauvegardé dans le fichier //q3config.cfg// |
| bind <touche> | Configure une action sur la touche <touche> | |
| unbind <touche> | Supprime la configuration de la touche <touche> | |
| unbindall | Supprime toutes les touches | |
| exec <fichier.cfg> | Charge le fichier <fichier.cfg>, un fichier de configuration supplémentaire | |
| modelist | Affiche la liste des modes graphiques supportés | |
| cvar_restart | Affecte à toutes les variables leur valeur par défaut | utile pour tester des fichier de configuration |
| vid_restart | Réinitialise l'affichage vidéo | utile pour tester un changement de mode d'affichage |

==== Déplacement ====

^  Commande  ^  Effet  ^
| +moveright | Déplacement latéral à droite |
| +moveleft | Déplacement latéral à gauche |
| +back | Déplacement vers l'arrière |
| +forward | Déplacement vers l'avant |
| +movedown | S'accroupir |
| +moveup | Sauter |
| +left | Tourner à gauche |
| +right | Tourner à droite |


^ Variable  ^  Valeurs possibles  ^  Effet  ^
| cl_mouseAccel | 0, 1 | Active l'accélération du pointeur de la souris |
| sensitivity | généralement entre 5 et 20 | Indique la vitesse de déplacement de la souris, ce paramètre est fortement dépendant du joueur |
| cl_run | 0, 1 | Le joueur court au lieu de marcher |


==== Arme ====

^  Commande  ^  Effet  ^
| weapnext | Changer vers l'arme suivante |
| weapprev | Changer vers l'arme précédente |
| weapon <numéro> | Change l'arme courante vers l'arme numéro <numéro> |
| +attack | Tir (important, si si, croyez moi...) |
| +zoom | Passe la vue en mode zoom |

^ Variable  ^  Valeurs possibles  ^  Effet  ^
| cg_autoswitch | 0, 1 | Change automatiquement d'arme. Quand cette variable est activée, le ramassage d'une arme sur le terrain de jeu fera changer automatiquement l'arme courante du joueur avec cette arme  |

Numéro des armes :

^  Numéro  ^  Arme  ^
| 1 | Gauntlet |
| 2 | Rifle |
| 3 | Shotgun |
| 4 | Grenade launcher |
| 5 | Rocket launcher |
| 6 | Lightning gun |
| 7 | Rail gun |
| 8 | Plasma gun |
| 9 | BFG 10k |


==== Graphisme ====

^  Options disponibles dans le menu //systeme//  ^^^
^ Variable  ^  Valeurs possibles  ^  Effet  ^
| r_depthbits | 0, 16, 24 | Profondeur des couleurs (0 pour la profondeur par défaut) |
| r_fullscreen | 0, 1 | Affiche en plein écran |
| r_vertexLight | 0, 1 | Active le rendu en mode vertex (moins joli mais plus économe en ressource) |
| r_flares | 0, 1 | Active de jolis effets lumineux (halo) |
| r_bloom | 0, 1 | Active d'autres jolis effets lumineux (flou) |
| r_picmip | 0 à 3 | Qualité des textures : 0 haute qualité, 3 basse qualité |
| r_detailtextures | 0, 1 | Active les textures détailées |
| r_texturebits | 0, 16, 32 | Profondeur de couleur des textures (0 pour la profondeur par défaut) |
| r_textureMode | GL_LINEAR_MIPMAP_NEAREST (bilinéaire), GL_LINEAR_MIPMAP_LINEAR (trilinéaire)| Filtre qui sera appliqué au textures |
| r_ext_texture_filter_anisotropic | 0, 1 | Active le filtre anisotropique de texture |
| r_mode | -1 à 11 | Change la résolution de l'affichage (voir le tableau **Liste des résolution**) |
| r_customWidth | <nombre> | définit une valeur personnalisée de largeur d'affichage (voir le tableau **Liste des résolution**) |
| r_customHeight | <nombre> | définit une valeur personnalisée de hauteur d'affichage (voir le tableau **Liste des résolution**) |


^  Options disponibles dans le menu //game options//  ^^^
^ Variable  ^  Valeurs possibles  ^  Effet  ^
| cg_simpleitems | 0, 1 | Active les items simple (en 2 dimensions) |
| cg_drawCrosshair | 0 à 9 | Change le style de l'indicateur de visée |
| cg_drawGun | 0, 1 | Affiche l'arme |
| cg_marks | 0, 1 | Affiche les marques de tir sur les murs |
| cg_brassTime | 0 à 2500 (voir plus) | Temps en millisecondes d'affichages des cartouches éjectées des armes (0 pour désactiver) |
| r_dynamiclight | 0, 1 | Utilise les lumières dynamiques |
| r_fastsky | 0, 1 | Rendu rapide du ciel |
| r_finish | 0, 1 | Active la synchronisation du rendu (généralement appelé synchronisation verticale) |

^  Autres options  ^^^
^ Variable  ^  Valeurs possibles  ^  Effet  ^
| com_blood | 0, 1 | Affiche les éclabousures de sang |
| cg_gibs | 0, 1 | Affiche les morceaux de corps après une explosion |
| cg_drawFPS | 0, 1 | Affiche le nombre de FPS //(Frame Per Second)// en haut à droite |
| cg_drawTimer | 0, 1 | Compteur de temps depuis que la partie à commencée, permet de se synchroniser avec l'apparition des items |
| cg_fov | 1 à 360, par défaut 90 | (//Field Of Vision//) Champs de vision, plus il est élevé plus on voit sur les côtés (Note : avec un écran 16:9 ou 16:10, une valeur de 100 restitue un aspect optimal) |
| cg_zoomfov | 1 à 360, par défaut 22.5 | Champ de vision lorsqu'on appuie sur la touche ''zoom'' |
| cg_noProjectileTrail | 0, 1 | Active la traînée de fumée derrière les rockets |
| cg_drawCrosshairNames | 0, 1 | Affiche le nom des joueurs sous l'indicateur de visée |
| com_maxfps | <nombre> | Valeur maximum de FPS que le moteur graphique doit afficher. Autrefois, les phénomènes physiques du jeu étaient dépendants de cette valeur, mais ça n'est plus le cas. Voir [[:doc:joueur:physique_fps|notre article]]. |
| r_drawSun | 0, 1 | Affiche le soleil (gros point lumineux dans le ciel) |


^  Liste des résolutions  ^^
^  Valeur de r_mode  ^  Résolution  ^
| -1 | valeur personnalisée((à définir en utilisant r_customWidth et r_customHeight)) |
| 0 | 320x240 |
| 1 | 400x300 |
| 2 | 512x384 |
| 3 | 640x480 |
| 4 | 800x600 |
| 5 | 960x720 |
| 6 | 1024x768 |
| 7 | 1152x864 |
| 8 | 1280x1024 |
| 9 | 1600x1200 |
| 10 | 2048x1536 |
| 11 | 856x480 (wide) |

==== Modèle ====

^ Variable  ^  Valeurs possibles  ^  Effet  ^
| model | <nom/variante> | Utilise le modèle <nom> avec les couleurs <variante> pour le joueur |
| headmodel | <nom/variante> | Utilise le modèle <nom> avec les couleurs <variante> pour la tête du joueur |
| team_model | <nom/variante> | Utilise le modèle <nom> avec les couleurs <variante> pour le joueur lors du jeu en équipe |
| team_headmodel | <nom/variante> | Utilise le modèle <nom> avec les couleurs <variante> pour la tête du joueur lors du jeu en équipe |
| cg_forceModel | 0, 1 | force le modèle de tous les joueurs à être le même |
| cg_deferPlayers | 0, 1 | retarde le chargement des skins des nouveaux joueurs au prochaine événement : mort, score (tab), nouvelle carte |

==== Communication ====

^  Commande  ^  Effet  ^
| say <message> | Envoi le message <message> à tous les joueurs (même spectateur) |
| say_team <message> | Envoi le message <message> à ses coéquipiers (uniquement aux spectateurs si on est spectateur) |
| messagemode | Passe en mode ''envoi de texte'', un curseur apparaît en haut de l'écran (précédé par ''say:'' et permet d'envoyer un message à tous les joueur |
| messagemode2 | Idem que ''messagemode'' mais uniquement aux coéquipiers |

^ Variable  ^  Valeurs possibles  ^  Effet  ^
| cg_teamChatTime | nombre de milliseconde | Temps d'affichage des messages des coéquipiers |
| cg_teamChatHeight | nombre | Nombre de lignes du pavés qui regroupe les messages des coéquipiers en bas de l'écran |
| cg_teamChatsOnly | 0, 1 | N'affiche que les messages des coéquipiers et pas ceux de l'équipe adverse |

==== Divers ====

^  Commande  ^  Effet  ^
| +scores | Affiche le tableau des scores |
| +button2 | Utilise l'item si le joueur en possède |
| +button3 | Produit le son du modèle de personnage choisi (taunt) |
| togglemenu | Affiche le menu du jeu |
| toggleconsole | Affiche la console |
| pause | Met le jeu en pause (solo uniquement) |
| vote <yes,no> | Vote lorsqu'un vote est en cours (la commande attend ''yes'' ou ''no'' comme paramètre) |
| ui_teamorders | Affiche le menu qui permet de donner des ordres à l'équipe (surtout aux bots) |
| screenshot | Prend une photo de l'écran au format TGA |
| screenshotJPEG | Prend une photo de l'écran au format JPEG (format compressé, prend beaucoup moins de place) |
| record | démarre l'enregistrement d'une démo |
| stoprecord | arrête l'enregistrement d'une démo |

^ Variable  ^  Valeurs possibles  ^  Effet  ^
| cl_allowDownload | 0, 1 | Active le téléchargement automatique des pk3 lors de la connexion à un serveur |
| name | <caractères> | Nom du joueur, voir la page consacré au [[:doc:couleurs|couleurs]] pour l'affichage d'un nom en couleur |
| scr_conspeed | <nombre> | Vitesse de descente de la console (1000 pour instantanée) |
| com_hunkMegs | <nombre> | Mémoire disponible pour les éléments ''hunk'' du jeu (96, indique 96 Mo ce qui est optimal pour des configurations modernes) |
| com_soundMegs | <nombre> | Mémoire disponible pour les éléments sonore du jeu (16, indique 16 Mo ce qui est optimal pour des configurations modernes) |
| com_zoneMegs | <nombre> | Mémoire disponible pour les éléments ''zone'' du jeu (24, indique 24 Mo ce qui est optimal pour des configurations modernes) |
| cg_precachedmodels | <nombre> | Mémoire disponible pour les modèles préchargés du jeu (15, indique 15 Mo ce qui est optimal pour des configurations modernes) |

===== Exemple de fichiers =====

Le fichier //autoexec.cfg// contient les appels vers les autres fichiers :

<file>
// ----- Fichier autoexec.cfg -----
unbindall

exec "binding.cfg"
exec "comm.cfg"
exec "computer.cfg"
exec "network.cfg"
exec "player.cfg"
</file>

Le fichier //binding.cfg// contient la configuration des touches du joueur :
<file>
// mouvement
bind d "+moveright"
bind q "+moveleft"
bind s "+back"
bind z "+forward"
bind ALT "+movedown"

bind SPACE "+zoom"

bind & "weapon 1" // gauntlet
bind WORLD_73 "weapon 2" // rifle (é/2)
bind ' "weapon 3" // shotgun
bind ( "weapon 4" // grenade launcher
bind a "weapon 5" // rocket
bind 0x22 "weapon 6" // electric gun ("/3)
bind SHIFT "weapon 7" // rail
bind e "weapon 8" // plasma

bind MOUSE1 "+attack"
bind MOUSE2 "+moveup"
bind MOUSE3 "+zoom"
bind MWHEELDOWN "weapnext"
bind MWHEELUP "weapprev"

bind TAB "+scores"
bind ENTER "+button2" // use item
bind ESCAPE "togglemenu"
bind ` "toggleconsole"
bind ~ "toggleconsole"
bind F1 "vote yes"
bind F2 "vote no"
bind F3 "ui_teamorders"
bind F11 "screenshot"
bind F12 "screenshotJPEG"
</file>

Le fichier //comm.cfg// contient les messages qui peuvent être envoyés aux autres joueurs :

<file>
// chat
bind t "messagemode" // say
bind g "messagemode2" // say team

bind f "say :)"

bind r "+button3" // taunt

set cg_teamChatTime "8000"
set cg_teamChatHeight "8"
set cg_teamChatsOnly "0"

bind KP_INS "say_team ^2I'll get our flag back^7"
bind KP_PLUS "say_team ^4I attack^7"
bind KP_ENTER "say_team ^2I defend^7"
bind KP_END "say_team ^2base clear^7"
bind KP_DOWNARROW "say_team ^4clear the base please^7"
</file>

Le fichier //computer.cfg// contient les réglages spécifiques à la machine utilisée pour jouer :

<file>
set com_maxfps "125"

// memoire dispo pour le jeu en Mo
set com_hunkMegs "96"
set com_soundMegs "16"
set com_zoneMegs "24"
set cg_precachedmodels "15"

set r_mode 6 // 1024x768
// fullscreen
set r_fullscreen "1" // 0 fenetre

// lightning
set r_vertexLight "0" // 0 lightmap, 1 vertex

// geometric detail
set r_picmip "0" // 0 haut qualite, 3 basse qualite
</file>

Le fichier //network.cfg// contient les réglage réseau :

<file>// affiche l'etat du reseau
set cl_shownet "0"

// telechargement automatique des cartes
set cl_allowDownload "1"

// network
set cl_maxPackets "125"
set rate "25000"
set snaps "40"
</file>

Le fichier //player.cfg// contient les réglage spécifiques du joueur :

<file>
// le Field Of Vision depend du r_mode
set cg_fov "90"
set cg_zoomfov "22.5"

set cg_drawCrosshair "1"
set cg_drawCrosshairNames "1"

set cg_autoswitch "0"
set cl_run "1"

set cl_mouseAccel "0"
set m_filter "0"
set sensitivity "10"
set in_mouse "1"

// supprime l'affichage de l'arme
set cg_drawGun "0"

set name "^10x^5mathieu"
set team_headmodel "tony/default"
set team_model "tony/default"
set headmodel "tony/default"
set model "tony/default"

set cg_forceModel "1"
</file>