Вообщем как и написано - ищу помощь со структурой файлов Unreal Engine на которой работает Л2.
Что вообще хочу... Хочу разобрать весь Unreal Engine файл и повтороно его запаковать.
Хочу открыть файл unreal engine, а именно полностью разобрать его и собрать его в том же виде, в каком он был.
Я его разобрал до уровня:
* Header
* Name
* Imports
* Exports
* t3d
Я разобрал и собрал первые 4 блока, но у меня сейчас проблема с t3d обьектами, а если более точно - с обьектами, которые имеют флаг HasStack.
Обьекты, которые не имеют этого блока, я могу разобрать без каких либо проблем, но вот блоки с HasStack.
У них как минимум есть "заголовок", который еще и имеет динамический заголовок, но не могу понять что именно там и как он должен читаться.
Условно, даже если я могу прочитать этот заголовок - дальше получается идет сам блок has stack...
В начале идет просто 0 и все. Даже если ноль этот обойти - посреди блока опять же идет 0.
Как я думаю:
Условно блоке has stack 2 под_блока записано и чтение должно происходить как
HEADER
0
SUB_BLOCK_01
0
SUB_BLOCK_02
0
Но опять же, так тоже не получается. Как минимум я не знаю сколько под блоков, а в header, если его читать так, как я это делаю, то там вообще непонятно что.
Прошу помощи !
Сам заголовок читаю так:
Что вообще хочу... Хочу разобрать весь Unreal Engine файл и повтороно его запаковать.
Хочу открыть файл unreal engine, а именно полностью разобрать его и собрать его в том же виде, в каком он был.
Я его разобрал до уровня:
* Header
* Name
* Imports
* Exports
* t3d
Я разобрал и собрал первые 4 блока, но у меня сейчас проблема с t3d обьектами, а если более точно - с обьектами, которые имеют флаг HasStack.
Обьекты, которые не имеют этого блока, я могу разобрать без каких либо проблем, но вот блоки с HasStack.
У них как минимум есть "заголовок", который еще и имеет динамический заголовок, но не могу понять что именно там и как он должен читаться.
Условно, даже если я могу прочитать этот заголовок - дальше получается идет сам блок has stack...
В начале идет просто 0 и все. Даже если ноль этот обойти - посреди блока опять же идет 0.
Как я думаю:
Условно блоке has stack 2 под_блока записано и чтение должно происходить как
HEADER
0
SUB_BLOCK_01
0
SUB_BLOCK_02
0
Но опять же, так тоже не получается. Как минимум я не знаю сколько под блоков, а в header, если его читать так, как я это делаю, то там вообще непонятно что.
Прошу помощи !

Сам заголовок читаю так:
Код:
_nodeIndex = Lineage2DataReaderBuffer.readCompactInt(buffer, crypt);
_stateNodeIndex = Lineage2DataReaderBuffer.readCompactInt(buffer, crypt);
_stateNode = Lineage2DataReaderBuffer.readInt(buffer, crypt);
_probeMask = Lineage2DataReaderBuffer.readLong(buffer, crypt);
_latentAction = Lineage2DataReaderBuffer.readInt(buffer, crypt);