Having reversed engineered the .d2i files from Dofus for fun, I decided to make a simple reader for them.
This is based on the 2.10 version.
There is now a TypeScript Version available: https://github.com/crimson-med/d2i-reader
Dim MyReader As New FastReader( "MyFile.d2i" , True )
MyReader.GetText( 41903 )
MyReader.Dispose()
Normal Load:
Fast Load:
The D2I format is a format used by Ankama to store character strings such as item names or dialogs and more. This file varies depending on the language but the structure remains the same.
The file is composed of 4 major parts:
Each of these parts is composed of an Index ( 4 bytes ) giving the size of the data which follows except the extra data.
The data is made up of 3 parts:
The Indexes since update 2.4X are more complex with the introduction of diacritics (the character string without accents or capital letters).
UI messages are messages which are given in certain packages but which do not allow having an ID (integer which points to the text)
Example: ui.message.check0
Not having really had the time to look into it, I don't know its content or its usefulness at the moment.