Gildor's Forums

Author Topic: 16 Byte в конце "2DTexture" - что это?  (Read 1828 times)
nonema
Newbie
*
Posts: 2


View Profile
16 Byte в конце "2DTexture" - что это?
« on: September 22, 2016, 15:54 »

Доброго времени суток уважаемый Gildor, не могли бы подсказать, для чего нужны 16 байт следующие сразу после высоты последней mip текстуры. За ними в моем случае следует 4 байта нулей. Но встречал в других играх, что нулей бывает больше, а бывает, что этих 16 байт нет вообще. Заранее спасибо.

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


* Снимок.JPG (59.8 KB, 752x247 - viewed 364 times.)
« Last Edit: September 22, 2016, 16:16 by nonema » Logged
Gildor
Administrator
Hero Member
*****
Posts: 7764



View Profile WWW
Re: 16 Byte в конце "2DTexture" - что это?
« Reply #1 on: September 22, 2016, 16:40 »

Добрый день.
1. текстуры есть во всех играх, и формат у них отличается
2. я по hex dump-ам не особо ориентируюсь Smiley
3. исходники UModel есть на github, можно было там посмотреть

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

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

Удалять ничего из объектов нельзя, там всё что есть - читается движком.
Logged
nonema
Newbie
*
Posts: 2


View Profile
Re: 16 Byte в конце "2DTexture" - что это?
« Reply #2 on: September 22, 2016, 17:39 »

Добрый день.
1. текстуры есть во всех играх, и формат у них отличается
2. я по hex dump-ам не особо ориентируюсь Smiley
3. исходники UModel есть на github, можно было там посмотреть

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

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

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

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Leviathan design by Bloc | XHTML | CSS