Разбор формата *.object |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Разбор формата *.object |
16.02.2018, 22:04
Сообщение
#21
|
|
Геймер Репутация: 86 Группа: Участник Сообщений: 128 Награды: 4 Регистрация: 05.05.2012 |
К изложенному выше можно еще добавить четвертый путь: подцепиться к процессу при помощи
При наличии исходников задача упрощается в разы. -------------------- nop
|
 
|
|
|
|
16.02.2018, 22:14
Сообщение
#22
|
|
Почти Игроман Репутация: 187 Группа: Участник Сообщений: 647 Награды: 4 Регистрация: 05.05.2007 |
|
 
|
|
16.02.2018, 22:18
Сообщение
#23
|
|
Доктор Игровых Наук Репутация: 544 Группа: Участник Сообщений: 3657 Награды: 9 Регистрация: 12.07.2007 |
Орхетектор, современные игры не особо располагают для подключения отладчика =)
saas, встречаются и это юзается не только в инструкциях процев, к примеру как минимум ява свой код хранит в big endian, многие форматы файлов юзают такой порядок байт и т.д. |
 
|
|
16.02.2018, 22:40
Сообщение
#24
|
|
Геймер Репутация: 86 Группа: Участник Сообщений: 128 Награды: 4 Регистрация: 05.05.2012 |
Подскажите, что за данные находятся в блоках 0x7777-0x910-0x1008 и 0x7777-0x910-0x1012 Код #define EMESH_CURRENT_VERSION 0x0011 //---------------------------------------------------- #define EMESH_CHUNK_VERSION 0x1000 #define EMESH_CHUNK_MESHNAME 0x1001 #define EMESH_CHUNK_FLAGS 0x1002 #define EMESH_CHUNK_NOT_USED_0 0x1003 #define EMESH_CHUNK_BBOX 0x1004 #define EMESH_CHUNK_VERTS 0x1005 #define EMESH_CHUNK_FACES 0x1006 #define EMESH_CHUNK_VMAPS_0 0x1007 #define EMESH_CHUNK_VMREFS 0x1008 #define EMESH_CHUNK_SFACE 0x1009 #define EMESH_CHUNK_BOP 0x1010 #define EMESH_CHUNK_VMAPS_1 0x1011 #define EMESH_CHUNK_VMAPS_2 0x1012 #define EMESH_CHUNK_SG 0x1013 Код //---------------------------------------------------- #define EOBJ_CURRENT_VERSION 0x0010 //---------------------------------------------------- #define EOBJ_CHUNK_OBJECT_BODY 0x7777 #define EOBJ_CHUNK_VERSION 0x0900 #define EOBJ_CHUNK_REFERENCE 0x0902 #define EOBJ_CHUNK_FLAGS 0x0903 #define EOBJ_CHUNK_SURFACES 0x0905 #define EOBJ_CHUNK_SURFACES2 0x0906 #define EOBJ_CHUNK_SURFACES3 0x0907 #define EOBJ_CHUNK_EDITMESHES 0x0910 #define EOBJ_CHUNK_CLASSSCRIPT 0x0912 #define EOBJ_CHUNK_BONES 0x0913 #define EOBJ_CHUNK_SMOTIONS 0x0916 #define EOBJ_CHUNK_SURFACES_XRLC 0x0918 #define EOBJ_CHUNK_BONEPARTS 0x0919 #define EOBJ_CHUNK_ACTORTRANSFORM 0x0920 #define EOBJ_CHUNK_BONES2 0x0921 #define EOBJ_CHUNK_DESC 0x0922 #define EOBJ_CHUNK_BONEPARTS2 0x0923 #define EOBJ_CHUNK_SMOTIONS2 0x0924 #define EOBJ_CHUNK_LODS 0x0925 #define EOBJ_CHUNK_SMOTIONS3 0x0926 //---------------------------------------------------- Автору советую выкачать архив с исходниками вот из Сообщение отредактировал Орхетектор - 16.02.2018, 22:53 -------------------- nop
|
 
|
|
16.02.2018, 22:41
Сообщение
#25
|
|
Почти Игроман Репутация: 187 Группа: Участник Сообщений: 647 Награды: 4 Регистрация: 05.05.2007 |
|
 
|
|
16.02.2018, 22:59
Сообщение
#26
|
|
Доктор Игровых Наук Репутация: 544 Группа: Участник Сообщений: 3657 Награды: 9 Регистрация: 12.07.2007 |
saas, тут я к триалсу распаковщик както делал, так в нем часть файлов была одном порядке байт а часть в обратном. Самый живой пример и самый массовый network byte order т.е. прямо сейчас по ТСР байтики летает у тебя в big endian . Самый популярный формат картинок тоже в big endian =) Это из того что вспомнил.
PS порядок байт несет смысл не только от архитектуры проца но и от других вещей. Сообщение отредактировал jamakasi - 16.02.2018, 23:00 |
 
|
|
16.02.2018, 23:02
Сообщение
#27
|
|
Почти Игроман Репутация: 187 Группа: Участник Сообщений: 647 Награды: 4 Регистрация: 05.05.2007 |
Пишу импортёр *.object для блендер 3д. У меня не получается нормальные текстурные координаты получить. А вообще об этом бы неплохо написать. Я тоже очень долго не мог понять. У нас есть: 1. VMap (содержит UV координаты вес кости) 2. VMRef (содержит индекс VMap-ы и индекс UV или веса в этой VMap-е). 3. Треугольники. Содержат индекс вертекса и индекс VMRef, по которому надо выйти на нужную VMap-у и взять нужное значение из неё. Ссылок на VMap в VMRef может быть несколько. В билде с городом ацтеков можно было накладывать до 8 тексткур на один материал. В новых версиях в VMap к каждой координате(или весу) добавили индекс точки(или полигона) который её использует. Зачем? Формат .object не для слабаков, короче. Сообщение отредактировал saas - 16.02.2018, 23:18 |
 
|
|
16.02.2018, 23:06
Сообщение
#28
|
|
Геймер Репутация: 86 Группа: Участник Сообщений: 128 Награды: 4 Регистрация: 05.05.2012 |
прямо сейчас по ТСР байтики летает у тебя в big endian Это зависит от реализации протокола верхнего уровня, сам по себе транспорт конечно же не знает что за данные по нему гоняют. А вообще порядок следования байт определяется железом, в подавляющем большинстве это Intel/AMD, потому как правило все разработчики выбирают обратный порядок. Ну вот например из игр кто использует такой порядок байт в файлах? Кроме майнкрафта, конечно же. В Doom3 имеется поддержка как обратного так и прямого порядка. -------------------- nop
|
 
|
|
Текстовая версия | Сейчас: 19.04.2024, 11:01 |