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 Introuvable]](https://thefalcon.gitbooks.io/bot-dofus-cookie-bot/content/assets/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 Introuvable]](https://thefalcon.gitbooks.io/bot-dofus-cookie-bot/content/assets/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 Introuvable]](https://thefalcon.gitbooks.io/bot-dofus-cookie-bot/content/assets/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 Introuvable]](https://thefalcon.gitbooks.io/bot-dofus-cookie-bot/content/assets/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 Introuvable]](https://thefalcon.gitbooks.io/bot-dofus-cookie-bot/content/assets/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 Introuvable]](https://thefalcon.gitbooks.io/english-bot-dofus-cookie-bot/content/assets/total.PNG)