Informations hardcodées
Certaines données de jeu ne sont malheureusement pas situées au niveau des datasheets ou des primitives, et sont inclues directement dans le code originel.
Pouvoir les modifier est néanmoins nécessaire, certains étant directement rattachées au monde de WinchGate, Atys. Par ailleurs, pour d'autres, un peu de souplesse permettrait des ajustements de gameplay rendus impossibles par l'obligation de recompiler tant que ces données se trouvent dans le code C++.
Une tâche a été créée sur ce sujet.
Liste des fichiers de code contenant des données en dur
Dans ryzomcore/code/ryzom/common/src/game_share : Dans ryzomcore/code/ryzom/common/src/game_share :
- action_nature.cpp & action_nature.h : nature des actions possibles ;
- animal_type.h : Types d'animaux ;
- animal_orders.cpp & animal_orders.h : Ordres pour animaux ;
- armor_type.cpp & armor_type.h : types d'armures
- bg_downloader.cpp & bg_downloader.h : ? Téléchargement de fonds d'écrans ?
- body.cpp & body.h : types de corps de créature et leurs subdivisions ;
- bot_chat_types.cpp & bot_chat_types.h : type d'affichage des chats selon bots ;
- brick_families.cpp & brick_families.h : familles des briques ;
- brick_flags.cpp & brick_flags.h : types de flags possibles sur un perso (auras, PVP etc.)
- brick_types.cpp & brick_types.h : types de briques ;
- character_sync_itf.xml : races, civilisations et cultes ;
- character_titles.cpp & character_titles.h : titres de personnages ;
- characteristics.cpp & characteristics.h : caractéristiques (et leur nom) des personnages ;
- chat_group.cpp & chat_group.h : types et noms des canaux de chat ;
- client_action_type.cpp & client_action_type.h : types d'actions du personnage (et leur nom)
- combat_flying_text.h : nom des techniques de combat (aérien ?) ;
- constants.h : distance pour parler/diriger les animaux, des barres de vitesse des matériaux ;
- continents.cpp & continents.h : liste des zones géographiques ;
- crafting_tool_type.cpp & crafting_tool_type.h : types et noms des outils d'artisanat ;
- damage_types.cpp & damage_types.h : types des dommages possibles en combat ;
- dir_light_setup.cpp : direction et couleur de la lumière pour ?? ;
- ecosystem.cpp & ecosystem.h : écosystèmes existants ;
- effect_families.cpp & effect_families.h : familles d'effets sur les adversaires/cibles
- entity_types.h : types d'entités et leur nom ;
- fame.h : plusieurs renommées (culte et civilisation) ;
- fog_type.h : types de brouillards ;
- gender.h : genres ;
- guild_grade.cpp & guild_grade.h : grades de guildes ;
- interface_flags.cpp : flags d'interface ;
- inventories.cpp & inventories.h : liste des inventaires disponibles, du nombre d'animaux qu'on peut détenir…
- item_family.cpp & item_family.h : familles d'objets ;
- item_infos.cpp : Résistances magiques nommées par rapport aux écosystèmes ;
- item_origin.cpp & item_origin.h : origine raciale d'un objet ;
- item_type.cpp et item_type.h : types d'objets (liste avec mélange majuscule/minuscules) ;
- lift_icons.cpp & lift_icons.h : type d'icône pour les ascenseurs vers certains lieux (entraineurs de guilde par ex) ;
- light_cycle.cpp : heures de passage du jour à la nuit etc. (semble contredire le light_cycle.h qui appelle un DS) ;
- login_registry.cpp : chemin Windows indiqué en dur
- magic_fx.cpp & magic_fx.h: types de dégâts magiques occasionnables ;
- memorization_set.cpp & memorization_set.h : types de briques à apprendre, qui semblent avoir été mis en commentaires, à étudier ?
- misc_const.h : nombre max d'équipiers dans une équipe
- mount_people.cpp &mount_people.h : races détaillées pour la monte ;
- news_types.h : race fyros nommée ;
- outpost.h : certains constantes par rapport aux avant-postes ;
- pact.cpp & pact.h : type de pactes liés aux cultes ;
- people.cpp & people.h : lien entre noms des créatures et leur type (voir body.cpp & body.h) ;
- people_pd.cpp & people_pd.h : groupes de créatures ;
- power_types.cpp & power_types.h : types de pouvoirs ;
- protection_types & protection_types.h : types de protections ;
- pvp_clan.cpp & pvp_clan.h : types de ligues pour le PvP ;
- resistance_type.cpp & resistance_type.h : types de résistances par continent ;
- ring_access.cpp : races nommées ;
- rm_family.cpp : types de matériaux et lien avec les abbréviations ;
- season.cpp & season.h : cycle des saisons ;
- season.h : extension aux fichiers pour les relier aux saisons ;
- shield_types.cpp & shield_types.h : types de boucliers existants ;
- skills.cpp & skills.h : liste des compétences (codes) ;
- starting_point.cpp & starting_point.h : lieux de départ possibles ;
- teleport_types.cpp & teleport_types.h : types de téléportation possibles par culte ;
- zc_shard_common.cpp & zc_shard_common.h : état de paix/guerre de tiers, tribu en paix est commenté (à voir) ;
Dans ryzomcore/code/ryzom/common/src/game_share/time_weather_season :
- static_light_cycle.cpp : saisons nommées ;
- time_and_season.cpp & time_and_season.h : mois et jours de l'année nommés, constantes de calcul du temps de jeu par rapport à l'AFK ;