Итак, начнём:
PHP код:
int - i32
unsignet int - u32
float - float
double - double
char - i8
unsigned char - u8
short - i16
unsigned short - u16
char ***91;***93;(массив чар) - cstr + обязательный параметр len=x(где х - количество байт)
Открываем наш хидер, ищем нужную нам структуру по названию (я возьму для примера ItemLooting)
struct _ItemLooting_fld
Перед нами структура такого вида:
PHP код:
struct _ItemLooting_fld
{
_base_fld baseclass_0;
int m_nLootRate;
int m_nLootTime;
int m_nOperationCount;
int m_nLootListCount;
char m_itmLootCodeKey***91;200***93;***91;8***93;;
};
Переводим:
Для начала маска структуры:
PHP код:
***91;filemask="ItemLooting.dat"***93;
struct ItemLootingFile
{
u32 nBlocks;
u32 nColumns;
u32 nSize;
child ItemLootingBlock ***91;count=nBlocks***93;;
}
Затем переводим каждую строчку
_base_fld baseclass_0;
Ищем в хидере структуру struct _base_fld
Переводим:
PHP код:
struct ItemLootingBlock ***91;preload=1***93;
{
u32 Index;
cstr ***91;len=64***93; Code;
У нас получилось:
PHP код:
***91;filemask="ItemLooting.dat"***93;
struct ItemLootingFile
{
u32 nBlocks;
u32 nColumns;
u32 nSize;
child ItemLootingBlock ***91;count=nBlocks***93;;
struct ItemLootingBlock ***91;preload=1***93;
{
u32 Index;
cstr ***91;len=64***93; Code;
Переводим далее:
PHP код:
***91;filemask="ItemLooting.dat"***93;
struct ItemLootingFile
{
u32 nBlocks;
u32 nColumns;
u32 nSize;
child ItemLootingBlock ***91;count=nBlocks***93;;
struct ItemLootingBlock ***91;preload=1***93;
{
u32 Index;
cstr ***91;len=64***93; Code;
i32 LootRate;
i32 LootTime;
i32 OperationCount;
i32 LootListCount;
Разбор последней строчки:
PHP код:
char m_itmLootCodeKey***91;200***93;***91;8***93;;
char = cstr + len=8(число из квадратных скобок - кол-во байт, 200 - сколько раз должна повторяться ета строчка, у нас получиться:
PHP код:
***91;filemask="ItemLooting.dat"***93;
struct ItemLootingFile
{
u32 nBlocks;
u32 nColumns;
u32 nSize;
child ItemLootingBlock ***91;count=nBlocks***93;;
struct ItemLootingBlock ***91;preload=1***93;
{
u32 Index;
cstr ***91;len=64***93; Code;
i32 LootRate;
i32 LootTime;
i32 OperationCount;
i32 LootListCount;
repeat 200
{
cstr ***91;len=8***93; LootCodeKey;
}
}
Вот и всё! Удачи!
Дополнил [scaR]