Код:
// entry = wdb_stream.ReadInt32();
int subname_len = (int)reader.ReadUInt32(11);
int unk_text_len = (int)reader.ReadUInt32(11);
int icon_name_len = (int)reader.ReadUInt32(6);
var unk_bit = reader.ReadBit() ? 1 : 0; // ???
int[] names_len = new int[4];
int[] unk_name_len = new int[4];
string[] names = new string[4];
string[] unk_names = new string[4];
for (int i2 = 0; i2 < 4; ++i2)
{
names_len[i2] = (int)reader.ReadUInt32(11);// name size
unk_name_len[i2] = (int)reader.ReadUInt32(11);// unk size
}
for (int i2 = 0; i2 < 4; ++i2)
{
names[i2] = reader.ReadEsqapedSqlString2(names_len[i2]);//name
unk_names[i2] = reader.ReadEsqapedSqlString2(unk_name_len[i2]);//unk str
}
var flag = reader.ReadUInt32(); // flag
var type_flag = reader.ReadInt32(); // type flag
var family = reader.ReadInt32(); // family
var rank = reader.ReadInt32(); // rank
var recial_leader = reader.ReadInt32();
var kill_kredit1 = reader.ReadInt32(); // kill kredit 1
var kill_kredit2 = reader.ReadInt32(); // kill kredit 2
var modelid1 = reader.ReadInt32();
var modelid2 = reader.ReadInt32();
var modelid3 = reader.ReadInt32();
var modelid4 = reader.ReadInt32();
var HealthModifier = reader.ReadFloat();
var PowerModifier = reader.ReadFloat();
var quest_item_count = reader.ReadInt32();
var movement_id = reader.ReadInt32(); // movement id ???
var unk2 = reader.ReadInt32(); // unk ???
var sub_name = reader.ReadEsqapedSqlString2(subname_len);
var unk_text = reader.ReadEsqapedSqlString2(unk_text_len);
var icon_name = reader.ReadEsqapedSqlString2(icon_name_len);
int[] QuestItem = new int[6];
for (int i = 0; i < quest_item_count; ++i)
QuestItem[i] = reader.ReadInt32();