Gildor's Forums

Русскоязычный Форум => Unreal-кодинг => Topic started by: nonema on September 22, 2016, 15:54



Title: 16 Byte в конце "2DTexture" - что это?
Post by: nonema on September 22, 2016, 15:54
Доброго времени суток уважаемый Gildor, не могли бы подсказать, для чего нужны 16 байт следующие сразу после высоты последней mip текстуры. За ними в моем случае следует 4 байта нулей. Но встречал в других играх, что нулей бывает больше, а бывает, что этих 16 байт нет вообще. Заранее спасибо.

Ах да - совсем забыл - если удалить эти 20 байт(16 и 4 байта нулей), то игра падает, даже не смотря на то, что в таблице экспорта офсеты верные. А если забить эти 16 байт нулями, то игра работает как и должна.


Title: Re: 16 Byte в конце "2DTexture" - что это?
Post by: Gildor on September 22, 2016, 16:40
Добрый день.
1. текстуры есть во всех играх, и формат у них отличается
2. я по hex dump-ам не особо ориентируюсь :)
3. исходники UModel есть на github, можно было там посмотреть

Могу предположить что разговор об UE3. Там "высота последней mip текстуры" находится в UTexture2D::Mips. За этой "высотой" сразу следуют остальные поля UTexture2D. Вот код:
https://github.com/gildor2/UModel/blob/master/Unreal/UnTexture3.cpp#L127

Здесь видно, что вариантов очень много, и имеется большая зависимость от того, что это за игра, а также от версии движка.

Удалять ничего из объектов нельзя, там всё что есть - читается движком.


Title: Re: 16 Byte в конце "2DTexture" - что это?
Post by: nonema on September 22, 2016, 17:39
Добрый день.
1. текстуры есть во всех играх, и формат у них отличается
2. я по hex dump-ам не особо ориентируюсь :)
3. исходники UModel есть на github, можно было там посмотреть

Могу предположить что разговор об UE3. Там "высота последней mip текстуры" находится в UTexture2D::Mips. За этой "высотой" сразу следуют остальные поля UTexture2D. Вот код:
https://github.com/gildor2/UModel/blob/master/Unreal/UnTexture3.cpp#L127

Здесь видно, что вариантов очень много, и имеется большая зависимость от того, что это за игра, а также от версии движка.

Удалять ничего из объектов нельзя, там всё что есть - читается движком.
Все.. Понял - это GUID текстуры. Спасибо за помощь)