Решил поделится структурой файлов для хроник Grand Crusade:
SkillName-RU.dat стостоит из двух частей:
1 часть:
2 часть:
Как считать 3-х байтовый размер таблицы:
П.С. Брал за основу тулзу от asmi (l2clientstuff) и переделывал специально для dat.
SkillName-RU.dat стостоит из двух частей:
1 часть:
Код:
public String str;
private int str_id;
Код:
public int id;
public short lvl;
public short sub_lvl;
public int pr_id;
public short pr_lvl;
public short pr_sblvl;
public int name_id;
public int info_id;
public int stats_id;
private int enchant_name_id;
private int enchant_name_param_id;
private int enchant_desc_id;
private int enchant_desc_param_id;
Как считать 3-х байтовый размер таблицы:
Код:
public int readCompactInt() throws IOException
{
int output = 0;
boolean signed = false;
for (int i = 0; i < 5; i++)
{
int x = in.read();
if (x < 0)
{
throw new EOFException();
}
if (i == 0)
{
if ((x & 0x80) > 0)
{
signed = true;
}
output |= (x & 0x3F);
if ((x & 0x40) == 0)
{
break;
}
}
else if (i == 4)
{
output |= (x & 0x1F) << (6 + (3 * 7));
}
else
{
output |= (x & 0x7F) << (6 + ((i - 1) * 7));
if ((x & 0x80) == 0)
{
break;
}
}
}
if (signed)
{
output *= -1;
}
return output;
}
П.С. Брал за основу тулзу от asmi (l2clientstuff) и переделывал специально для dat.
Последнее редактирование: