• Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[DOFUS] Comprendre Les Fichiers D2i / Understanding D2i Files
#1
Bonjour tout le monde,

Lors de la création de mes readers d2i j'ai pas mal analysé la structure et j'ai fais un petit guide pour Cookie Bot que je mets a votre disposition.

Introduction

Le format D2I est un format utilisé par Ankama pour stocker des chaînes de caractères (string) comme par exemple les noms d’items ou dialogues et plus. Ce fichier varie en fonction de la langue mais la structure reste la même.

La Structure

Le Fichier

Le fichier est lui composé en 4 majeures parties:
  •     Les Datas
  •     Les Indexes
  •     Les UI Messages
  •     de l'extra data
Chacune des ces parties sont composées d'un Index (4 bytes) donnant la taille des données qui suivent hormis l'extra data.

Les Datas

Les datas sont eux composés de 3 parties:
  •     Taille de tous les datas (4 bytes)
  •     Taille de la chaîne de caractères (2 bytes orange)
  •     La chaîne de caractères en UTF-8 (X bytes gris)
[Image: data.PNG]

Les indexes

Les Indexes eux depuis la mise à jour 2.4X sont plus complexe avec l'introduction des diacritiques ( la chaîne de caractères sans accents ou majuscules).
  • Taille de tous les indexes (4 bytes)
  • l'ID de la chaîne ; généralement appelé dans les d2o (4 bytes orange)
  • Diacritique existant? (boolean)(1 byte bleu clair)
  • Pointeur vers la chaîne (4 bytes marron)
  • Si diacritique existe Pointeur vers la chaîne diacritique (4 bytes bleu marine)
[Image: indexes.PNG]

Les UI messages

Les UI messages sont des messages qui sont donnés dans certain paquets mais qui ne permette pas d'avoir un ID (integer qui pointe vers le texte)

Example: ui.message.check0

L'extra data

N'ayant pas vraiment eu le temps de me pencher dessus je ne sais pas son contenue ou son utilité pour l'instant.

Schéma

[Image: total.PNG]

______________________________________________________________________

Introduction

The d2i format is used by Ankama to save the strings from the game for example: item name, dialogues, etc... The file varies from different languages but the structure stays the same.

The Structure

The File

The file is composed of four major parts:
  •     The Datas
  •     The Indexes
  •     The UI Messages
  •     The extra data
Each of those parts is composed of an Index (4 bytes) giving the size of the data that will follow except for the extra data.

The Datas

The datas are composed of three parts:
  •     Size of all datas (4 bytes)
  •     Size of the string (2 bytes orange)
  •     The string in UTF-8 (X bytes gris)
[Image: data.PNG]

The indexes

The Indexes since the 2.4X update have become a bit more complicated. The notion of diacritical was introduced (string without capitals or accents).
  • Size of all the indexes (4 bytes)
  • ID of the string; usually called in the d2o files (4 bytes orange)
  • Diacritical Exists? (boolean)(1 byte light blue)
  • Pointer to the string (4 bytes brown)
  • If diacritical exists then Pointer to the diacritical string (4 bytes dark blue)
[Image: indexes.PNG]

The UI messages

The UI messages are messages which are given in certain packets that don't use the ID system

Example: ui.message.check0

Extra data

At the end of the file there is some extra data which I haven't had time to analyze yet.

Diagram

[Image: total.PNG]
  Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)