Seta ou Set - par FSMOD
Leur enregistrement s'inscrit dans le fichier sof2mp.cfg du mode considéré.
Ce sont les définitions annoncées par les concepteurs du moteur quake 3 qui anime SOF2, ainsi que de nombreux autres jeux. Toutefois dans SOF2 les instructions set et seta ne répondent pas vraiment à ces définitions de base.
Pour comprendre il est nécessaire de commencer par le début, c'est à dire le moment où vous avez installé votre jeu et que vous vous apprêtez à le lancer pour la première fois en mode ROCMOD par exemple. A ce stade le fichier sof2mp.cfg n'existe pas encore dans le dossier ROCMOD.
SOF est maintenant lancé et sof2mp.cfg vient de se créer. Il renferme déjà de nombreux CVARS, bien avant que vous ayez paramétré vos touches, caractères graphiques, volume son, etc....
Même votre pseudo est définit par l'appellation UnnamedPlayer, appellation que l'on voit trop souvent sur les serveurs, indiquant ipso facto que des débutants sont pressés de jouer sans s'attarder sur des configurations dont l'élémentaire compréhension ne s'inscrit pas vraiment dans leur processus intellectuel.
Si vous quittez SOF maintenant et que vous ouvrez le fichier sof2mp.cfg fraîchement créé dans le répertoire ROCMOD, vous vous apercevrez qu'un nombre impressionnant de paramètres ont été sauvegardés, tous précédés de l'instruction seta. C'est bien la preuve que le programme a lui-même sauvegardé dans le fichier sof2mp.cfg, tous les paramètres qui lui seront nécessaires pour les lancements ultérieurs.
Vous noterez au passage la ligne suivante:
seta name "UnnamedPlayer"
qui indique bien qu'en l'absence de la définition d'un pseudo précis, le programme vous a affublé par défaut d'un pseudo anonyme.
Premier test
Si l'on relance SOF2 et que l'on tape en mode console l'une de ces 3 instructions
Le fichier sof2mp.cfg présentera dans ces 3 cas la ligne suivante:seta name "TOTO"
Ce qui démontre d'une part, que la redéfinition du pseudo en mode console (et des autres CVARS en général) ne nécessite pas l'usage des instructions set ou seta. Et surtout d'autre part, que l'instruction set s'est transformée en seta d'office.
Ce qui tendrait à infirmer la définition initiale du terme set énoncée par le mode d'emploi de SOF et citée en préambule :
SET: définit des variables temporaires qui ne seront pas enregistrées
On considère donc que vous avez opté pour la création d'un fichier de configuration (cfg.txt pour l'exemple). Grâce à lui il sera plus aisé de saisir le distinguo entre set et seta, aussi ténu soit-il.
Ouvrons cfg.txt et considérons le bind lié à la modification de la profondeur de champ (Field of View ou FOV) ainsi que sa boucle vstr associée qui renferme des instructions set.
| bind b "vstr fov" set fov "cg_fov 80;bind b vstr fov1" set fov1 "cg_fov 90;bind b vstr fov2" set fov2 "cg_fov 100;bind b vstr fov" |
Le tableau suivant résume les incidences de modifications dans la boucle vstr sur le fichier sof2mp.cfg.
| Rédaction dans cfg.txt | Résultats dans sof2mp.cfg | Interprétation |
| bind b "vstr fov" set fov "cg_fov 80;bind b vstr fov1" set fov1 "cg_fov 90;bind b vstr fov2" set fov2 "cg_fov 100;bind b vstr fov" |
bind b "vstr fov1" seta cg_fov "80" |
Le bind a été activé durant le jeu et le joueur a sélectionné la valeur 80. C'est donc la première ligne de la boucle qui sera mémorisée (80 = palier fov1). La ligne seta cg_fov "80" mémorise donc l'état de FOV qui sera lancé au prochain démarrage de SOF |
| bind b "vstr fov" seta fov "cg_fov 80;bind b vstr fov1" seta fov1 "cg_fov 90;bind b vstr fov2" seta fov2 "cg_fov 100;bind b vstr fov" |
bind b "vstr fov" seta cg_fov "80" seta fov2 "cg_fov 100;bind b vstr fov" seta fov1 "cg_fov 90;bind b vstr fov2" seta fov "cg_fov 80;bind b vstr fov1" |
Les instructions set ont été remplacées par seta. Le bind n'a pas été activé et SOF a été lancé avec la valeur précédente soit un FOV=80. Toutefois on constate que toutes les phases de la boucle ont été mémorisées dans sof2mp.cfg, alourdissant ce fichier. |
On conclusion, on s'aperçoit qu'il est possible de remplacer toutes les instructions set par seta au sein d'un fichier de configuration. Toutefois, le deuxième exemple du tableau montre qu'il convient de ne pas en abuser sous peine de générer un fichier sof2mp.cfg d'une taille prohibitive pour SOF2.
Remplacer tous les set par des seta est de toute façon, systématiquement déconseillé dans un fichier liè aux binds sons.
En effet si votre fichier renferme 40 sons dans une boucle de cette forme :
bind KP_LEFTARROW "vstr E00"
set E00 "say @820; bind KP_LEFTARROW vstr E01"
set E01 "say @821; bind KP_LEFTARROW vstr E02"
set E02 "say @826; bind KP_LEFTARROW vstr E03"
set E03 "say @827; bind KP_LEFTARROW vstr E04"
...............................................................................
set E41 "say @954; bind KP_LEFTARROW vstr E40"
set E42 "say @958; bind KP_LEFTARROW vstr E00"
la seule ligne mémorisée dans sof2mp.cfg correspondra au dernier son que vous avez envoyé (le numéro 3 pour l'exemple). Elle apparaîtra comme suit:
bind KP_LEFTARROW "vstr E03"
Alors que si aviez remplacé tous les set par des seta, il y aurait 40 lignes inscrites dans sof2mp.cfg, augmentant dangereusement son poids au risque de planter SOF2.
Ce qu'il faut donc retenir: