====== Présentation de l'interface originelle de Ryzom Core ======
{{ :fr:screenshot_20170107_205235.jpeg?direct&450 |}}
===== Appels depuis client_default.cfg =====
Les fichiers d'interface sont appelés à partir de ce qui se trouve dans la partie //INTERFACES// du fichier [[gitlab>khaganat/khanat-code/blob/develop/code/ryzom/client/client_default.cfg|client_default.cfg]]
Dans le code, ces appels sont gérés par deux fichiers :
* [[gitlab>khaganat/khanat-code/blob/develop/code/ryzom/client/src/init.cpp|init.cpp]] contient l'appel vers //XMLInputFile//.
* [[gitlab>khaganat/khanat-code/blob/develop/code/ryzom/client/src/interface_v3/interface_manager.cpp|interface_manager.cpp]] contient les appels vers //XMLLoginInterfaceFiles// et //XMLOutGameInterfaceFiles//, et vers les images //TexturesInterface//, //TexturesLoginInterface// et //TexturesOutGameInterface//.
==== XMLInputFile ====
Le fichier appelé actuellement est [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/input_config_v3.xml|input_config_v3.xml]] non modifié pour l'instant par rapport à RC.
==== XMLLoginInterfaceFiles ====
Ce sont les fichiers qui gèrent la fenêtre de connexion où l'on s'identifie.
Les fichiers appelés actuellement sont :
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/login_config.xml|login_config.xml]] non modifié pour l'instant par rapport à RC
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/login_widgets.xml|login_widgets.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/login_main.xml|login_main.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/login_keys.xml|login_keys.xml]]
==== XMLOutGameInterfaceFiles ====
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/out_v2_config.xml|out_v2_config.xml]] non modifié pour l'instant par rapport à RC
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/out_v2_widgets.xml|out_v2_widgets.xml]] non modifié pour l'instant par rapport à RC
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/out_v2_connect.xml|out_v2_connect.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/out_v2_intro.xml|out_v2_intro.xml]] non modifié par rapport à RC
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/out_v2_select.xml|out_v2_select.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/out_v2_appear.xml|out_v2_appear.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/out_v2_location.xml|out_v2_location.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/out_v2_crash.xml|out_v2_crash.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/out_v2_hierarchy.xml|out_v2_hierarchy.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/out_v2_keys.xml|out_v2_keys.xml]] non modifié par rapport à RC
==== TexturesInterface ====
La texture d'interface générale appelée est [[gitlab>https://branaz.khaganat.net/khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/interface_game_khaganat.tga|interface_game_khaganat]].
Elle est fabriquée selon une procédure précise, et est accompagnée d'un fichier .txt du même nom.
Voir les explications détaillées sur leur création dans : [[fr:generer_images_interface_khanat]].
==== TexturesLoginInterface ====
La texture pour l'interface de la fenêtre de connexion est [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/interface_login_khaganat.tga|interface_login_khaganat]]. Elle est fabriquée comme [[#texturesinterface|la texture d'interface ci-dessus]].
==== TexturesOutGameInterface ====
La texture pour l'interface de la fenêtre //Outgame//, c'est à dire de création et de sélection du personnage, est [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/interface_outgame_khaganat.tga|interface_outgame_khaganat]]. Elle est fabriquée comme [[#texturesinterface|la texture d'interface ci-dessus]].
==== XMLInterfaceFiles ====
XMLInterfaceFiles, présent dans le //client_default.cfg// (ou le //client.cfg//) la liste des fichiers XML utilisés pour l'interface de jeu [[#liste_des_fichiers_xml_d_interface_par_usage|détaillés ci-dessous]].
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/config.xml|config.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/widgets.xml|widgets.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/webig_widgets.xml|webig_widgets.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/player.xml|player.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/inventory.xml|inventory.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/interaction.xml|interaction.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/phrase.xml|phrase.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/harvest.xml|harvest.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/macros.xml|macros.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/info_player.xml|info_player.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/outpost.xml|outpost.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/guild.xml|guild.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/taskbar.xml|taskbar.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/game_config.xml|game_config.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/game_context_menu.xml|game_context_menu.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/player_trade.xml|player_trade.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/bot_chat_v4.xml|bot_chat_v4.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/compass.xml|compass.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/map.xml|map.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/hierarchy.xml|hierarchy.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/reset.xml|reset.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/actions.xml|actions.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/help.xml|help.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/encyclopedia.xml|encyclopedia.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/commands.xml|commands.xml]]
* [[gitlab>khaganat/khanat-data-client/blob/master/data/ryz/ryz_zzz_bazaar/commands2.xml|commands2.xml]]
* ring_access_point_filter.xml
* ring_window.xml
* [[gitlab>khaganat/khanat-data-client/blob/master/data/kh/kh_interfaces/bg_downloader.xml|bg_downloader.xml]]
Deux fichiers référencés semblent donc absents sans que cela ne gêne le fonctionnement du jeu (en relation avec le [[fr::ring|Ring]], il est vrai).
Les fichiers xml semblent être appelés dans l'ordre indiqué.
=== Configuration minimale ===
Après avoir fait de nombreux essais, il est possible de lancer un client en indiquant dans son ''client.cfg'' :
XMLInterfaceFiles = {
"config.xml", "widgets.xml", "inventory.xml", "interaction.xml", "phrase.xml", "macros.xml",
"info_player.xml", "taskbar.xml", "game_context_menu.xml", "bot_chat_v4.xml", "map.xml",
"hierarchy.xml", "actions.xml", "encyclopedia.xml", "commands.xml"
};
Cela permet de réduire au minimum les fenêtres créées et gérées, sans avoir de //segmentation Fault// au lancement, ceci dans le but de réduire le nombre de fichier à étudier.
===== La base de données =====
Le fichier [[gitlab>khaganat/khanat-code/blob/develop/code/ryzom/common/data_common/database.xml|database.xml]] recense l'architecture de la base qui est interrogée par les fichiers xml d'interface pour obtenir les données de jeudu serveur (apparemment).
Voir l'importance de ce fichier //database.xml// avec les indications sur [[fr:database_plr]].
Il existe un fichier [[gitlab>khaganat/khanat-code/blob/develop/code/ryzom/client/data/gamedev/interfaces_v3/local_database.xml|local_database.xml]] qui est fourni ensuite dans les data (il ne devrait pas être dans //gamedev//, c'est une erreur de placement). qui contient la base de données à interroger avec ''LOCAL:''.
**LOCAL, UI ou SERVER ?**
\\ Il faut toujours indiquer une localisation de départ lorsqu'on interroge une base :
* le serveur à la base avec l'entrée ''SERVER:'' au départ de la requête.
* ''LOCAL:'' quand on s'adresse à la base de données locale.
* quid des appels qui commencent avec ''UI:'' ?
Partie à confirmer/approfondir
L'architecture de la base données dans ces fichiers est simple : des branches //branch// jusqu'à des feuilles //leaf// qui indiquent une donnée à retourner.
Par exemple :
type="I7" />
Pour avoir le paramètre de BULK_MAX de nos animaux de bât, on pourrait créer des variables dans le fichier xml d'interface et leur affecter les valeurs avec les instructions :
Il suffit ensuite d'utiliser ces variables //pa1_bulk//, //pa2_bulk//, //pa3_bulk// et //pa5_bulk// dans nos //[[fr:configuration_interface_client#views|VIEWS]]// et autres //[[fr:configuration_interface_client#controls|CONTROLS]]//.
La plupart des variables appelées dans les fenêtres d'interface sont créées dans [[gitlab>khaganat/khanat-code/blob/develop/code/ryzom/client/data/gamedev/interfaces_v3/config.xml|config.xml]] qui est fourni dans les //data// du client.
===== Analyse de l'existant =====
==== Liste des fichiers XML d'interface par usage ====
=== config.xml ===
Ce fichier contient surtout des définitions de variable, des gabarits. La plupart des variables utilisées dans les autres fichiers XML sont définies dans ce fichier.
\\ On peut y remarquer, le lien entre les noms attribués aux images dans les appels des autres ficheirs XML et leur valeur en fichier. On peut changer l'aspect des images juste en changeant le contenu des variables.
On n'y rencontre aucun élément //GROUP//.
On y trouve le ''View type="pointer"'' ligne 2101 qui définit l'image de souris selon le contexte, avec sa taille etc.
On y trouve aussi la définition des groups //container// (''CONTAINER'') que sont les fenêtres dans l'interface de jeu lignes 529 et suivantes ;
=== widgets.xml ===
Ce fichier contient les gabarits des différentes composantes non fixes du jeu tels que:
* cadres d'informations dans la scène 3D (comme le contenu des sources : ''"forage_source"'') ;
* les bulles de dialogues ''"3dbulle_L"'' (à noter qu'il existe une version ''"3dbulle_R"'' non utilisée) ;
* gabarits de séparateurs de menus, de menus à cocher... ;
* menus de gestion des inventaires ;
* cadre affichage de la monnaie, des points de compétence, de faction ;
* éléments du chat, de la boîte d'édition, de l'aide contextuelle, de la boîte de dialogue de destruction d'objet, de certaines fenêtres modales ;
* les gabarits de fenêtres de message simple ;
* le gabarit de la fenêtre d'aide des objets et briques ''ITEM/BRICK HELP'' lignes 5394 et suivantes ;
* le gabarit des ''HTML FORM SELECT WIDGET'' et des ''HTML TEXT BUTTON WIDGET'', vers la ligne 6668 ;
* le gabarit de la fenêtre du WebIG :''html browser window'' ligne 7019 et suivantes.
=== webig_widgets.xml ===
Ce sont les widgets qui servent pour les fenêtres en liaison avec des applications de type webIG.
=== player.xml ===
Descriptifs des éléments de type :
* Informations au-dessus de la tête du personnage ;
* La barre de progression des actions ''CURRENT ACTION'' ligne 219. Les images utilisées pour la progression de l'action sont précisément : ''slot_jauge_action.tga'' pour le cadre et ''jauge_action.tga'' pour la zone de remplissage interne dynamique ;
* La fenêtre d'informations diverses (barres, noms, statut PvP) sur le personnage joueur ;
* La fenêtre de buff/debuff ''BONUS MALUS'' ligne 631 et suivantes ;
* Le menu de contrôle des animaux ''ANIMALS GLOBAL'' ligne 930 et suivantes, incluant :
* les ordres données aux créatures (//stop//, //Suivez-moi// etc.) ;
* La fenêtre de gestion globale des animaux ;
* La fenêtre de gestion des animaux morts ''ANIMAL(S) DEAD WINDOW'' lignes 1309 et suivantes ;
* Le gabarit de fenêtre d'inventaire des animaux ''ANIMALS INVENTORIES'' lignes 1359 et suivantes
=== inventory.xml ===
Ce fichier au titre explicite contient tous les éléments de gestion des fenêtres d'inventaire.
Cela comprend l'inventaire porté sur soi, celui de son logement, celui du sac de ses animaux, de sa salle de guilde, de la zone d'échange temporaire.
Il contient aussi les deux zones de //MAINS// avec les zones de raccourci d'action : ''HANDS'' lignes 1086 et suivantes pour la première, '' '' lignes 1501 et suivantes pour la seconde.
On y trouve également la fenêtre de répartition des gains d'équipe ''TEAM SHARING SYSTEM'' lignes 1933 et suivantes.
Une fenêtre ''DEFENSE'' est citée ligne 2326 et suivantes, dont la fonction demeure à préciser. Peut-être la zone d'équipement des armures, à vérifier.
Un //GROUP// ''CUSTOM TEXT EDITION AND DISPLAY'' est défini lignes 2637 et suivantes, qui sert peut-être à gérer la zone de saisie des textes personnalisés sur les objets.
=== interaction.xml ===
Ce fichier contient les éléments d'interaction avec les autres créatures du jeu.
À partir de la ligne 10 et suivantes, la zone ''TARGET'' permet de définir les affichages liés à la cible cliquée :
* son niveau/ sa puissance relative ;
* ses barres de niveau ;
* la liste d'amis et de //ignore list//, ''FRIEND LIST & IGNORE LIST TEMPLATE'' lignes 459 et suivantes (et voir plus bas) ;
* les zones de //CHAT// :
* ''CHAT TEMPLATE'' lignes 554 et suivantes ;
* ''CHAT WITH NO EDIT BOX TEMPLATE'' lignes 693 et suivantes ;
* ''CHAT WITH FILTER TEMPLATE'' lignes 745 et suivantes ;
* ''GROUP OF CHAT'' lignes 821 et suivantes ;
* ''template of a dynamic chat tab'' lignes 940 et suivantes ;
* ''the main chat group'' lignes 986 et suivantes avec :
* '' SYSTEM INFO TEMPLATE'' lignes 1327 et suivantes ;
* ''TEAM_CHAT''lignes 1383 et suivantes ;
* ''AROUND_ME'' lignes 1390 et suivantes puis lignes 1425 et suivantes ;
* ''REGION CHAT'' lignes 1397 et suivantes puis lignes 1433 et suivantes ;
* ''UNIVERSE CHAT'' lignes 1404 et suivantes ;
* ''SYSTEM INFO'' lignes 1418 et suivantes puis lignes 1441 et suivantes ;
* Les boites de dialogues avec l'équipe, ''TEAM'' lignes 1449 et suivantes ;
* ''BASE MENU FOR CHAT BOX'' lignes 1883 et suivantes (pour les fenêtres de Chat quand elles sont libres) :
* ''AROUND ME CHAT'' lignes 2013 et suivantes ;
* les gabarits des contacts :''CONTACT TEMPLATE'' lignes 1648 et suivantes, en liaison avec l'//ignore list//, la //friend list// ci-dessus
* le menu de gestion d'équipe ''TEAM_MENU'' lignes 2108 et suivantes ;
* le menu de gestion des contacts ''CONTACT_MENU'' lignes 2184 et suivantes ;
* le menu de chat par équipe et par guilde ''PARTY CHAT MENU'' lignes 2269 et suivantes ;
* la fenêtre pour rejoindre une équipe ''WINDOW TO ASK IF A PLAYER WANT TO JOIN A TEAM'' lignes 2333 et suivantes ;
* la fenêtre pour rejoindre une guilde ''WINDOW TO ASK IF A PLAYER WANT TO JOIN A GUILD'' lignes 2376 et suivantes ;
* fenêtre pour accepter un duel ''WINDOW TO ASK IF A PLAYER WANT TO DUEL WITH ANOTHER PLAYER'' lignes 2419 et suivantes ;
* fenêtre pour passer en PvP ''WINDOW TO ASK IF A PLAYER WANT TO PVP'' lignes 2482 et suivantes ;
* fenêtre pour passer en Pvp de faction (clan ?) ''WINDOW TO ASK CLAN PLAYER WANT JOIN FOR PVP'' lignes 2537 et suivantes ;
* fenêtre pour rejoindre un chat de groupe ''POPUP TO ASK IF A PLAYER WANT TO JOIN A PARTY CHAT'' lignes 2607 et suivantes ;
* fenêtre pour entrer dans une zone critique de mission ''POPUP TO ASK IF A PLAYER WANT TO ENTER A MISSION CRITICAL ZONE'' lignes 2642 et suivantes ;
* fenêtre pour demander téléportation ''POPUP TO ASK THE PLAYER FOR A TELEPORT LOCATION'' lignes 2684 et suivantes ;
* fenêtre pur entrer le nm d'une nouvelle fenêtre de chat de groupe : ''WINDOW TO ENTER THE NAME OF A NEW PARTY CHAT'' lignes 2978 et suivantes ;
* gestion de la fenêtre de débogage ''DEBUG CONSOLE'' lignes 3042 et suivantes ;
* gestion du ''YUBO CHAT'' lignes 3064 et suivantes ;
* gestion de canaux dynamiques ''DYNAMIC CHAT'' lignes 3071 et suivantes ;
=== phrase.xml ===
Ce fichier contient apparemment les éléments de la fenêtre de composition des //sbricks// en //sphrases// ainsi que celle de la composition des recettes d'artisanat.
Il contient les informations sur la fenêtre //Actions// :
* la définition de //GROUP// est lignes 135 et suivantes ''''.
=== harvest.xml ===
Visiblement obsolète (intégralement commenté), servait au ramassages des MPs récoltées.
=== macros.xml ===
Ce fichier contient les informations pour gérer la fenêtre d'information sur les touches :
* ''EDITION DES COMMANDES'' lignes 8 et suivantes pour la fenêtre d'assignation de touche à une commande ;
* ''EDIT COMMAND MAIN CONTAINER'' lignes 38 et suivantes pour la fenêtre d'information sur l'affectation des touches. Attention, le nom de gabarit ''teditcmd'' est hardcodé.
On trouve ensuite les informations sur la fenêtre de gestion des macros :
* ''MACROS CONTAINER'' lignes 235 et suivantes ;
Gestion de la fenêtre de création et de gestion des Macros.
=== info_player.xml ===
Ce fichier contient les éléments de différentes fenêtres en rapport avec le personnage et ses caractéristiques.
Tout d'abord la fenêtre d'information générale sur le personnage (''Identité'').
{{ user:yannk:player_infos_xml_01.jpg?direct&580 |}}
Les gabarits sont en premier, jusqu'à la ligne 556 puis des ficheirs de définition de //GROUPS// jusqu'à la ligne 1684.
{{ user:yannk:fame_xml_01.jpg?direct&580 |}}
On trouve ensuite la partie dédiée à la renommée, ''FAME'' lignes 1687 et suivantes avec d'abord les templates jusqu'à la ligne 1878 puis les //GROUPS// (incluant les //SPIRES// jusqu'à la ligne 2603.
Ensuite une zone ''info_player_journal'' qui doit certainement concerner la fenêtre de missions lignes 2606 et suivantes, avec les gabarits jusqu'à la ligne 2969 puis les //GROUPS// jusqu'à la ligne 3547
Puis une zone de définition des ''POPUP MESSAGES'' à partir de la ligne 3550 jusque 3667.
Enfin, une zone ''RPJOB TEMPLATES'' pour les métiers développés par le WebIG à partir de la ligne 3670 et une dernière ''NPC WEB PAGE'' pour les interactions avec les NPC gérés par le webIG à partir de la ligne 3700
=== outpost.xml ===
Ce fichier contient toutes les infos ayant trait à la gestion des avant-poste.
=== guild.xml ===
Gestion des éléments d'interface en rapport avec la guilde.
{{ user:yannk:guild_xml_01.jpg?direct&300 |}}{{ user:yannk:guild_xml_02.jpg?direct&300 |}}
Comme d'habitude, d'abord les éléments de gabarits :
* ''TEMPLATE MEMBER'' lignes 41 et suivantes
Puis les //GROUPS// :
* ''GUILD MAIN'' qui définit la fenêtre principale de gestion de la guilde, lignes 118 et suivantes, avec les deux onglets ;
* ''GUILD FORUM'' pour la gestion du forum de guilde, géré par le webIG lignes 464 et suivantes ;
* Ce qui doit être l'activation du canal de chat de guilde ''GUILD CHAT'' lignes 593 et suivantes ;
* L'inventaire de guilde ''GUILD INVENTORY'', qui vient donc compléter ce qui était décrit dans [[#inventoryxml|inventory.xml]]
On y trouve également d'autres fenêtres :
* la messagerie ''MAIL BOX'' lignes 809 et suivantes ;
* le ''WEB IG'' lignes 937 et suivantes ;
*
=== taskbar.xml ==
Ce fichier semble regrouper plusieurs fenêtres disparates :
* le bouton pour quitter le jeu ''QUIT MODAL'' lignes 58 et suivantes ;
* la fenêtre d'information quand la connexion serveur est perdue ''SERVER STALLED'' (le "Veuillez patienter") lignes 122 et suivantes ;
* la fenêtre de déconnexion, qui s'affiche le temps qu'on soit déconnecté du serveur quand on le quitte : ''GAME QUIT PROGRESSION'', lignes 138 et suivantes ;
* une fenêtre pour les joueurs en //free trial// ''Popup for free trial players'' lignes 170 et suivantes.
Il y a ensuite ce qui est appelé le //milko pad// lignes 192 et suivantes.
{{ user:yannk:taskbar_xml_01.jpg?direct&100 |}}
* variables, définitions et procédures en premier ;
* gabarits à partir de la ligne 238 ;
* le //GROUP// à partir de la ligne 354 :
* ''MODE 1 : text + button in two tabs : actions & windows'' lignes 397 et suivantes ;
* ''MODE 2 : buttons in two columns : actions & windows'' lignes 509 et suivantes ;
* ''MODE 3 : buttons in one columns : windows'' lignes 565 et suivantes ;
* ''MODE 4 : buttons in two rows : actions & windows'' lignes 615 et suivantes ;
* ''MODE 5 : buttons in one row : windows'' lignes 671 et suivantes ;
* les éléments de menus sont gérés par :
* le ''WINDOWS LIST MENU'' lignes 856 et suivantes (avec le ''HELP MENU'' en premier );
* le ''WINDOWS MENUS TEMPLATES'' lignes 862 et suivantes ;
* le ''GESTION_WINDOWS'' lignes 886 et suivantes ;
{{ user:yannk:taskbar_gestion_windows.png?direct&400 |}}
* zone ''PLAYER'' lignes 980 et suivantes ;
* zone ''INVENTORY'' lignes 1010 et suivantes ;
* zone ''GUILD & TEAM'' lignes 1042 et suivantes ;
* zone ''COMMUNICATION'' lignes 1073 et suivantes ;
* zone ''ORIENTATION'' lignes 1103 et suivantes ;
* zone ''ANIMALS'' lignes 1123 et suivantes ;
* zone ''OPTIONS'' lignes 1140 et suivantes.
Enfin il y a une partie ''WEB STUFF WHEN QUITING RYZOM'' lignes 1258 et suivantes dont la fonction demeure à préciser.
=== game_config.xml ==
Ce fichier contient tout d'abord des widgets très utiles :
* un color picker ''WIDGET TO CHOOSE A COLOR'' lignes 27 et suivantes ;
* un choix d'entier par scrolling ''WIDGET TO CHOOSE AN INTEGER FROM A SCROLL BAR'' lignes 167 et suivantes ;
* un choix de nombre à virgule flottante par scrolling ''WIDGET TO CHOOSE A FLOAT FROM A SCROLL BAR'' lignes 230 et suivantes ;
* un choix de booléen par scrolling ''WIDGET TO CHOOSE A BOOLEAN FROM A CHECK BOX'' lignes 293 et suivantes.
{{ user:yannk:game_config_xml_01.jpg?direct&595 |}}
On trouve ensuite la fenêtre en elle-même ''Main container'' lignes 415 et suivantes.
=== game_context_menu.xml ===
Ce fichier contient les éléments de menus contextuels appelés lors des interactions avec des éléments dans la scène de jeu 3D. Cela apparaît avec le clic droit qui propose par exemple si c'est un marchand de certains types d'objets, une entrée "Acheter..."
Les ''handler'' indiqués sont gérés dans [[gitlab>khaganat/khanat-code/blob/develop/code/ryzom/client/src/interface_v3/action_handler_game.cpp|action_handler_game.cpp]]
=== player_trade.xml ===
Ce fichier contient les informations sur les fenêtres de proposition ''accept_trade_invitation'' et d'échange/vente entre joueurs ''player_trade''.
=== bot_chat_v4.xml ===
Ce fichier contient les éléments des fenêtres lors des interactions avec les NPCs, les objets, l'environnement :
* le gabarit de base ''BOT CHAT BASICS'' lignes 10 et suivantes ;
* la fenêtre pour les dons ''BOT CHAT PAGE FOR PLAYER GIFT'' lignes 213 et suivantes ;
* la fenêtre de création de Guilde ''BOT CHAT PAGE FOR CREATE GUILD'' lignes 416 et suivantes ;
* la fenêtre modale de commerce (qui permet le paiement d'un achat ?) ''BOT CHAT TRADE MODAL '' lignes 1374 et suivantes ;
* la fenêtre de boutique ''BOT CHAT PAGE FOR TRADE : BUY & SELL'' lignes 2429 et suivantes ;
* la fenêtre d'achat seul ''BOT CHAT PAGE FOR TRADE : BUY ONLY'' lignes 3583 et suivantes ;
* la fenêtre ''BOT CHAT PAGE FOR NEWS'' lignes 3830 et suivantes qui semble permettre de demande des informations au bot ? Son entrée d'étiquette dans le fichier ''fr.uxt'' est uiBotChatNews -> //Nouvelles// ;
* la fenêtre de fin de mission ''BOT CHAT PAGE FOR MISSION END'' lignes 3860 et suivantes ;
* la fenêtre de mission dynamique (avec choix ?) ''BOT CHAT PAGE FOR DYNAMIC MISSION'' lignes 3969 et suivantes ;
* la fenêtre de choix et de prise de mission ''BOT CHAT PAGE FOR MISSIONS'' lignes 4147 et suivantes.
=== compass.xml ===
Ce fichier contient tout d'abord les indications pour le lecteur MP3 ''MP3 PLAYER'' lignes 15 et suivantes.
Il contient ensuite les indications pour la fenêtre de radar dans ''COMPASS'' lignes 307 et suivantes
Puis il contient les indications sur la fenêtre de connexion ''CONNECTION''lignes 794 et suivantes
=== map.xml ===
Ce fichier contient les indications pour créer la fenêtre présentant la carte :
* les paramètres de la fenêtre permettant d'ajouter un repère sur la carte ''WINDOW TO ENTER THE NAME OF A USER LANDMARK (or to rename one)'' lignes 44 et suivantes ;
* les indications sur la carte elle-même ''USER MAP'' lignes 144 et suivantes ;
On trouve ensuite les paramètres de la fenêtre de résurrection ''RESPAWN MAP'' lignes 329 et suivantes ;
=== hierarchy.xml ===
Ce fichier est à, part, il ne comporte qu'une liste de //tree nodes// dont toutes ont déjà été déclarées dans un autre fichier :
* tree node="gestion_windows" -> déclaré dans taskbar.xml, ligne 1198
* tree node="player" -> déclaré dans player.xml, ligne 629
* tree node="inventory" -> déclaré dans inventory.xml, ligne 747
* tree node="temp_inventory" -> déclaré dans inventory.xml, ligne 901
* tree node="gestionsets" -> déclaré dans inventory.xml, ligne 1316
* tree node="gestionsets2" -> déclaré dans inventory.xml, ligne 1508
* tree node="team_share" -> déclaré dans inventory.xml, ligne 1902
* tree node="defense" -> déclaré dans inventory.xml, ligne 2213
* tree node="inv_equip" -> déclaré dans inventory.xml, ligne 311
* tree node="inv_bag" -> déclaré dans inventory.xml, ligne 369
* tree node="inv_guild" -> déclaré dans guild.xml, ligne 715
* tree node="inv_room" -> déclaré dans inventory.xml, ligne 411
* tree node="animal_global">player.xml, ligne 1459
* tree node="userpa1" -> déclaré dans player.xml, ligne 1461
* tree node="userpa2" -> déclaré dans player.xml, ligne 1462
* tree node="userpa3" -> déclaré dans player.xml, ligne 1463
* tree node="userpa4" -> déclaré dans player.xml, ligne 1464
* tree node="compass" -> déclaré dans compass.xml, ligne 754
* tree node="target" -> déclaré dans interaction.xml, ligne 423
* tree node="contact_list">interaction.xml, ligne 2956
* tree node="guild_forum" -> déclaré dans guild.xml, ligne 591
* tree node="mailbox" -> déclaré dans guild.xml, ligne 935
* tree node="webig" -> déclaré dans guild.xml, ligne 1130
* tree node="info_player_journal" -> déclaré dans info_player.xml, ligne 3544
* tree node="info_player_skills" -> déclaré dans info_player.xml, ligne 1687
* tree node="fame" -> déclaré dans info_player.xml, ligne 2606
* tree node="game_config" -> déclaré dans game_config.xml, ligne 3900
* tree node="connection" -> déclaré dans compass.xml, ligne 1060
* tree node="keys" >macros.xml, ligne 650
* tree node="keys_movement" -> déclaré dans macros.xml, ligne 652
* tree node="keys_view" -> déclaré dans macros.xml, ligne 655
* tree node="keys_actionbar" -> déclaré dans macros.xml, ligne 212
* tree node="keys_fight" -> déclaré dans macros.xml, ligne 213
* tree node="keys_chat" -> déclaré dans macros.xml, ligne 654
* tree node="keys_edit" -> déclaré dans macros.xml, ligne 658
* tree node="keys_windows" -> déclaré dans macros.xml, ligne 656
* tree node="keys_miscellaneous" -> déclaré dans macros.xml, ligne 217
* tree node="keys_debug" -> déclaré dans macros.xml, ligne 659
* tree node="macros" -> déclaré dans macros.xml, ligne 316
* tree node="new_macro" -> déclaré dans macros.xml, ligne 424
=== reset.xml ===
Ce fichier contient les paramètres de réinitialisation de nombreux éléments d'interface, de façon à pouvoir revenir à 0, sur TOUS les bureaux virtuels.
=== actions.xml ===
Ce fichier contient essentiellement des listes d'//actions// organisées en //categories//, avec des //value// et des //parameters//. La nomenclature en est expliquée dans [[fr:configuration_interface_client#action_category_action_parameter_value]] mais son usage précis demeure à définir.
=== help.xml ===
Ce fichier contient les fenêtres d'aide et d'information suivantes :
* ''welcome_info'' lignes 10 et suivantes ;
* ''activate hardware cursor'' lignes 152 et suivantes ;
* ''universe chanel warning'' pour préciser que le channel Univers est spécial lignes 225 et suivantes ;
* ''death warning'' lignes 333 et suivantes ;
* ''Night Warning'' lignes 441 et suivantes ;
* ''help_browser'' lignes 548 et suivantes ;
* ''quick_help'' lignes 1034 et suivantes ;
* Série des ''HELP BUBBLES'' lignes 1210 et suivantes.
Il y a ensuite une partie ''Statistic report'' lignes 2817 et suivantes et enfin ''ADMIN WINDOW '' lignes 2914 et suivantes,
=== encyclopedia.xml ===
Ce fichier contient les paramètres d'affichage de la fenêtre d'[[fr:primitive:mission:encyclopedie]].
=== commands.xml ===
Ce fichier n'est qu'une liste de //commands// dont il semble que ce soient des paramètres pour entrer des instructions depuis la fenêtre de chat.
À tester/vérifier
=== commands2.xml ===
Fichier vide en dehors de ''''.
=== bg_downloader.xml ===
Ce fichier très bref définit les paramètres de la fenêtre de téléchargement en arrière-plan (?).
{{tag>interface client_rc_obsolete}}