Ради интереса проведя реверс-инжиниринг файлов .d2i из Dofus, я решил сделать для них простую программу чтения.
Это основано на версии 2.10 .
Теперь доступна версия TypeScript: https://github.com/crimson-med/d2i-reader.
Dim MyReader As New FastReader( "MyFile.d2i" , True )
MyReader.GetText( 41903 )
MyReader.Dispose()
Нормальная нагрузка:
Быстрая загрузка:
Формат D2I — это формат, используемый Ankama для хранения строк символов, таких как имена элементов, диалоги и т. д. Этот файл различается в зависимости от языка, но структура остается той же.
Файл состоит из 4 основных частей:
Каждая из этих частей состоит из индекса ( 4 байта ), указывающего размер следующих данных, за исключением дополнительных данных.
Данные состоят из 3 частей:
Индексы после обновления 2.4X стали более сложными из-за введения диакритических знаков (строка символов без акцентов и заглавных букв).
Сообщения пользовательского интерфейса — это сообщения, которые предоставляются в определенных пакетах, но не позволяют иметь идентификатор (целое число, указывающее на текст).
Пример: ui.message.check0
Не имея времени на его изучение, я на данный момент не знаю его содержания и полезности.