Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> Разбор формата *.object
autistic
сообщение 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




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(jamakasi @ 16.02.2018, 20:05) *
байты бывают little и big endian

А big endian процессоры всё ещё встречаются в природе? Я вот ниразу не слышал, чтобы где-то их до сих пор использовали.
Байты с обратным порядком битов это вообще из разряда фантастики.
Перейти в начало страницы
 
jamakasi
сообщение 16.02.2018, 22:18
Сообщение #23


Доктор Игровых Наук
*******************

Репутация:   544  
Группа: Участник
Сообщений: 3657
Награды: 9
Регистрация: 12.07.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Орхетектор, современные игры не особо располагают для подключения отладчика =)

saas, встречаются и это юзается не только в инструкциях процев, к примеру как минимум ява свой код хранит в big endian, многие форматы файлов юзают такой порядок байт и т.д.
Перейти в начало страницы
 
autistic
сообщение 16.02.2018, 22:40
Сообщение #24


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Pavel_Blend @ 03.06.2014, 01:11) *
Подскажите, что за данные находятся в блоках 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

https://github.com/OpenXRay/xray-16/blob/ma.../EditMeshIO.cpp

Код
//----------------------------------------------------
#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
//----------------------------------------------------

https://github.com/OpenXRay/xray-16/blob/ma...or/EditObject.h

Автору советую выкачать архив с исходниками вот из этой ветки и поиском в far-подобном файловом менеджере поискать ответы на свои вопросы.

Сообщение отредактировал Орхетектор - 16.02.2018, 22:53


--------------------
nop
Перейти в начало страницы
 
Молния в вакууме
сообщение 16.02.2018, 22:41
Сообщение #25


Почти Игроман
*********

Репутация:   187  
Группа: Участник
Сообщений: 647
Награды: 4
Регистрация: 05.05.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(jamakasi @ 16.02.2018, 22:18) *
многие форматы файлов юзают такой порядок байт

Ну вот например из игр кто использует такой порядок байт в файлах? Кроме майнкрафта, конечно же.
Перейти в начало страницы
 
jamakasi
сообщение 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




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Pavel_Blend @ 02.06.2014, 23:11) *
Пишу импортёр *.object для блендер 3д. У меня не получается нормальные текстурные координаты получить.

А вообще об этом бы неплохо написать. Я тоже очень долго не мог понять.

У нас есть:
1. VMap (содержит UV координаты вес кости)
2. VMRef (содержит индекс VMap-ы и индекс UV или веса в этой VMap-е).
3. Треугольники. Содержат индекс вертекса и индекс VMRef, по которому надо выйти на нужную VMap-у и взять нужное значение из неё.

Ссылок на VMap в VMRef может быть несколько. В билде с городом ацтеков можно было накладывать до 8 тексткур на один материал.
В новых версиях в VMap к каждой координате(или весу) добавили индекс точки(или полигона) который её использует. Зачем?

Формат .object не для слабаков, короче.

Сообщение отредактировал saas - 16.02.2018, 23:18
Перейти в начало страницы
 
autistic
сообщение 16.02.2018, 23:06
Сообщение #28


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(jamakasi @ 17.02.2018, 00:59) *
прямо сейчас по ТСР байтики летает у тебя в big endian

Это зависит от реализации протокола верхнего уровня, сам по себе транспорт конечно же не знает что за данные по нему гоняют.
А вообще порядок следования байт определяется железом, в подавляющем большинстве это Intel/AMD, потому как правило все разработчики выбирают обратный порядок.

Цитата(saas @ 17.02.2018, 00:41) *
Ну вот например из игр кто использует такой порядок байт в файлах? Кроме майнкрафта, конечно же.

В Doom3 имеется поддержка как обратного так и прямого порядка.


--------------------
nop
Перейти в начало страницы
 

2 страниц V  < 1 2
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19.04.2024, 11:01