Tendo feito a engenharia reversa dos arquivos .d2i do Dofus por diversão, decidi fazer um leitor simples para eles.
Isso é baseado na versão 2.10 .
Agora existe uma versão TypeScript disponível: https://github.com/crimson-med/d2i-reader
Dim MyReader As New FastReader( "MyFile.d2i" , True )
MyReader.GetText( 41903 )
MyReader.Dispose()
Carga normal:
Carregamento rápido:
O formato D2I é um formato usado pela Ankama para armazenar sequências de caracteres, como nomes de itens ou caixas de diálogo, entre outros. Este arquivo varia dependendo do idioma, mas a estrutura permanece a mesma.
O arquivo é composto por 4 partes principais:
Cada uma dessas partes é composta por um índice ( 4 bytes ) que indica o tamanho dos dados que seguem, exceto os dados extras.
Os dados são compostos por 3 partes:
Os índices desde a atualização 2.4X são mais complexos com a introdução de diacríticos (a sequência de caracteres sem acentos ou letras maiúsculas).
Mensagens UI são mensagens fornecidas em determinados pacotes, mas que não permitem ter um ID (número inteiro que aponta para o texto)
Exemplo: ui.message.check0
Não tendo realmente tido tempo para analisá-lo, não conheço o seu conteúdo nem a sua utilidade neste momento.