3DO ресурсы и разработка игр
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
Шаблоны для сайтов.
Шаблон.
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 5 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Форум » Технический раздел 3DO » Программирование » 3DO Res Unpacker by Holks
3DO Res Unpacker by Holks
HulkДата: Воскресенье, 02.06.2013, 18:27 | Сообщение # 61
Лейтенант
Группа: Пользователи
Сообщений: 53
Награды: 5
Репутация: 14
Статус: Offline
Похожи на текстуры, но точно разглядеть сложно. Тема интересная!
 
aliastДата: Воскресенье, 02.06.2013, 19:13 | Сообщение # 62
Сержант
Группа: 3DO Team
Сообщений: 33
Награды: 15
Репутация: 36
Статус: Offline
Мой HEX-редактор 010Editor, да я особой разницы между ними не вижу.. к этому просто привык.
Кому интересно в бинарнике Killing Time launchMe нашлась функция, обрабатывающая оффсеты в файлах CARY (только оффсеты! распаковывает какая-то другая функция). Её адрес в IDA Pro sub_E130. Адрес в эмуляторе 0x7E130. Игра загружает ary-файлы по мере необходимости, можно установить взаимосвязь между ary-файлами и уровнем, на котором они используются. Так например розовые стены в начале игры нашлись в 144.ary, там же что-то похожее на пол.
 
HolksДата: Воскресенье, 02.06.2013, 22:49 | Сообщение # 63
WebMoney WMZ: Z388130560516 WMR: R393137916307
Группа: Модератор 3DO TEAM
Сообщений: 110
Награды: 32
Репутация: 55
Статус: Offline
Цитата (aliast)
Ну пока не могу сказать что это такое и где встречается) До этого вообще получался набор квадратов-точек, а тут уже что-то похожее на текстуру стены\пола\потолка. Конвертировал руками в HEX-редакторе) Надо писать программу и конвертить все файлы. Тогда можно будет делать выводы. Если надо могу попробовать объяснить структуру файла, но там всё достаточно просто. Единственный вопрос остался. В самом CARY секция PLUT имеет размер 64 байта, а должно быть 68. Я пооткрывал несколько cel-картинок с этой секцией, вроде бы везде первые байты 00 00 00 20. Добавил их, получил осмысленную картинку.Не уверен насколько это правильно и что означает эта цифра...
Всё это очень радует, вот и ещё один замок взломан, добавь информацию по формату в раздел документации, думаю очень пригодится.

Phoenix, насколько я знаю, ты один из разработчиков 3DOResExplorer, может глянешь что там и как?)
Цитата (aliast)
Вроде бы нашлись оранжевые стены из стартовой зоны, так что похоже на правду. Есть подозрение, что не все файлы ARY распаковались правильно, просьба проверить. Тама после буковок CARY + 8 байт идёт (размер файла - 4), распаковщик иногда ошибается и укорачивает файл.


Проверю, а в каких файлах есть подозрения на ошибку?


Сообщение отредактировал Holks - Воскресенье, 02.06.2013, 22:52
 
aliastДата: Воскресенье, 02.06.2013, 23:29 | Сообщение # 64
Сержант
Группа: 3DO Team
Сообщений: 33
Награды: 15
Репутация: 36
Статус: Offline
Цитата (Holks)
Проверю, а в каких файлах есть подозрения на ошибку?

Навскидку в 58.ARY. Байты CARY_hdr + 8 = 00 00 61 B4, а файл обрывается на 1F8Eh
568.ARY - значится С050h, обрывается на BD5Eh
569.ARY - интересный экземпляр. Значится 1774h, имеем 1A6Bh. Честно говоря не пойму что с ним делать.. может я ошибся?)
 
PhoenixДата: Понедельник, 03.06.2013, 10:48 | Сообщение # 65
Сержант
Группа: Разработчики 3DO TEAM
Сообщений: 30
Награды: 22
Репутация: 43
Статус: Offline
Цитата (Holks)
Phoenix, насколько я знаю, ты один из разработчиков 3DOResExplorer, может глянешь что там и как?)
Да, я его немного доработал, чтобы он не вываливался при открытии видяшек и понимал больше заголовков. Самое ужасное это сохранение видео в BMP, конвертацию в AVI так и не прикрутил smile Теоретически в паре с ZStream Reader'о и любым видеоредактором можно сконвертить до конца.

Посмотреть в исходники не проблема, только код обработки CEL файлов писал не я. Если что, не тронутые мной исходники можно посмотреть на странице:
"http://arts-union.ru/node/20"

Ну или тут именно по работе с CEL



Добавлено (03.06.2013, 10:48)
---------------------------------------------
Цитата (aliast)
Навскидку в 58.ARY. Байты CARY_hdr + 8 = 00 00 61 B4, а файл обрывается на 1F8Eh 568.ARY - значится С050h, обрывается на BD5Eh 569.ARY - интересный экземпляр. Значится 1774h, имеем 1A6Bh. Честно говоря не пойму что с ним делать.. может я ошибся?)
Разница уж слишком большая в первом случае 4226h. Во втором 2F2h, в третьем 2F7h это ещё куда не шло. Но я не понял что за цифры ты привёл? 58.ARY находится по адресу 18A0044h в ZStream, там до него стоит JOIN (размером 1FB8)->JARY->JHDR. Следующий за ним находится файл VRT по адресу 18A1FD4 с заголовком JOIN(размером 1FB8)->JVRTJHDR.  58.ARY прочитан верно.


Сообщение отредактировал Phoenix - Понедельник, 03.06.2013, 11:02
 
aliastДата: Понедельник, 03.06.2013, 15:07 | Сообщение # 66
Сержант
Группа: 3DO Team
Сообщений: 33
Награды: 15
Репутация: 36
Статус: Offline
Цитата (Phoenix)
8.ARY находится по адресу 18A0044h в ZStream, там до него стоит JOIN (размером 1FB8)->JARY->JHDR. Следующий за ним находится файл VRT по адресу 18A1FD4 с заголовком JOIN(размером 1FB8)->JVRTJHDR.  58.ARY прочитан верно.

Так то оно так, но... что означают циферки после JARY->JHDR (там стоит 0000 61B8h) - по идее это размер файла, но применительно к 58.ARY это не прокатывает... по логике следом должен идти JDAT, но мы видим JVRTJHDR и это меня сбивает с толку( ощущение такое что либо JVRT является частью СARY, либо его продолжение следует искать где-то в другом месте стрима... и никому не показалось странным целая куча файлов размером 8080 (или 8079) байт? Все эти файлы, имхо, обрезаны))

Upd: Ну вот смотрите. После 58.ARY следует JVRT, а после JVRT следует JARYJDAT!!!, а распаковщик не глядя пихает эту часть в качесте продолжения 59.VRT... Далее идёт ещё 3 куска JARYJDAT и в итоге размер 58.ary у меня получился заданные 61b8h (25016) байт.


Сообщение отредактировал aliast - Понедельник, 03.06.2013, 15:39
 
PhoenixДата: Понедельник, 03.06.2013, 16:19 | Сообщение # 67
Сержант
Группа: Разработчики 3DO TEAM
Сообщений: 30
Награды: 22
Репутация: 43
Статус: Offline
aliast, из написанного тобой следует один вывод, что VRT файлов не существует, это запчасть одного большого файла (пусть это будет ARY, Хотя х.з как на самом деле). Весь вопрос, что это за тип файла такой. Ведь чтобы вытащить звуковой файл из стрима, нужно пройтись по SNDS(sounds), SHDR(sound header) и SSMP(sound sample) чанкам. Значит обрезки нужно собирать воедино, а тащить в отдельные файлы. Самый верный путь смотреть в 3DO SDK, что там сказано про это, как это правильно собрать.

Сообщение отредактировал Phoenix - Понедельник, 03.06.2013, 16:23
 
3doДата: Понедельник, 03.06.2013, 16:55 | Сообщение # 68
WebMoney WMZ - Z217808981915 WMR- R373273358346
Группа: Администраторы
Сообщений: 196
Награды: 66
Репутация: 60
Статус: Offline

все может быть, такое уже было в 3do форматах один файл имеет несколько частей,заголовков, они все взаимосвязаны, но VRT существует в реале, встречался в играх 3do как Uprising, Battle Tank
инфо маловато в интернете http://www.gdal.org/gdal_vrttut.html
даже  встречаются обрывки кодов по конвертации в текстуры,но совсем не понятно что там к чему.
 
RyudoДата: Понедельник, 03.06.2013, 17:02 | Сообщение # 69
WebMoney WMZ - Z308684103571 WMR - R132981283614
Группа: Разработчики 3DO TEAM
Сообщений: 138
Награды: 74
Репутация: 63
Статус: Offline
С этого сайта http://arts-union.ru/ редкие проги может кто выложить сюда?),у меня сайт arts-union.ru 
вот так работает(( (Невозможно подключиться к удалённому серверу)

Прикрепления: 4609371.jpg (172.8 Kb)
 
3doДата: Понедельник, 03.06.2013, 17:11 | Сообщение # 70
WebMoney WMZ - Z217808981915 WMR- R373273358346
Группа: Администраторы
Сообщений: 196
Награды: 66
Репутация: 60
Статус: Offline
Ryudo,  там  вроде Altmer рулит, если что выкладывать надо с его согласия наверное или он сам может проявит желание, а материала полезного там очень много.
 
aliastДата: Понедельник, 03.06.2013, 17:21 | Сообщение # 71
Сержант
Группа: 3DO Team
Сообщений: 33
Награды: 15
Репутация: 36
Статус: Offline
Цитата (Phoenix)
aliast, из написанного тобой следует один вывод, что VRT файлов не существует, это запчасть одного большого файла

Вы меня неправильно поняли. Это было моё предположение, которое я тут же опроверг. Там получается такая картина:
1) Сначала идёт ПЕРВЫЙ СЕГМЕНТ файла 58.ary, его размер 1F90h. Заголовок JARY JHDR
2) Далее начинается ПЕРВЫЙ СЕГМЕНТ файла 59.vrt, размером тоже 1F90h. Заголовок JVRT JHDR
3) Далее идёт ВТОРОЙ сегмент файла 58.ARY, размер 1F90h. Заголовок JARYJDAT. В этом месте распаковщик тупит и пишет этот сегмент в 59.VRT вместо 58.ARY
4) Далее файл 60.MAP, размером 0B12h. Заголовок JMAP JHDR
5) Далее нули FILL
6) Далее ВТОРОЙ СЕГМЕНТ файла 59.VRT. Размер 1A70h JVRT JDAT
7) Далее ТРЕТИЙ сегмент 58.ARY. Размер 1F90h JARY JDAT
8) Далее ПЕРВЫЙ сегмент 61.FAC. Размер 1F90h JFAC JHDR
9) Далее ЧЕТВЕРТЫЙ, последний сегмент злополучного 58.ARY, размером 0308h JARY JDAT
...
58.ARY распаковали. Вот такая сегментация. А у нас получился только первый кусок ARY...


Сообщение отредактировал aliast - Понедельник, 03.06.2013, 17:24
 
HulkДата: Понедельник, 03.06.2013, 22:06 | Сообщение # 72
Лейтенант
Группа: Пользователи
Сообщений: 53
Награды: 5
Репутация: 14
Статус: Offline
очередность распаковки  программой имеет какое значение? 
Вот например
 58.ARY
 59.VRT
 60.MAP
 61.FAC
  62.VNT
cлед. 85.ARY 86.ARY
а что за 86.idb  что это за файл? у меня два 86
 
aliastДата: Понедельник, 03.06.2013, 23:00 | Сообщение # 73
Сержант
Группа: 3DO Team
Сообщений: 33
Награды: 15
Репутация: 36
Статус: Offline
86.idb у меня нет, по идее это файл Ida Pro. Как он к вам попал не знаю, может пытались ARY-файл в Иде ковырять?)
Про очередность вопроса не понял. Если имелась ввиду выборочная распакова файлов, то нет никакого значения в очередности, распаковывайте в любом порядке) Однако распаковщик некоторые файлы не до конца распаковывает по вышеописанной причине (неправильная склейка сегментированных файлов).
Кстати, только сейчас заметил ещё один прикол с этим 58.ARY. В окне программы выводится "58.ARY Размер: 25 Кб", а распаковывается только 8 Кб... 25 Кб - правильный размер.


Сообщение отредактировал aliast - Понедельник, 03.06.2013, 23:05
 
HulkДата: Понедельник, 03.06.2013, 23:17 | Сообщение # 74
Лейтенант
Группа: Пользователи
Сообщений: 53
Награды: 5
Репутация: 14
Статус: Offline
меня уже переглючило))). верно файл ida. очередность расширения файлов после распаковки, сначала очередность
такая
58.ARY
59.VRT
60.MAP
61.FAC
62.VNT
а потом подряд два 85.ARY 86.ARY
может как раз они и не открылись

Добавлено (03.06.2013, 23:17)
---------------------------------------------
может каждый файл ARY несет несколько заголовков ,которые взаимосвязаны типа VRT,MAP,FAC и др
 поетому остальные неправильно открылись или не соответствуют по размерам


Сообщение отредактировал Hulk - Понедельник, 03.06.2013, 23:19
 
HolksДата: Вторник, 04.06.2013, 09:48 | Сообщение # 75
WebMoney WMZ: Z388130560516 WMR: R393137916307
Группа: Модератор 3DO TEAM
Сообщений: 110
Награды: 32
Репутация: 55
Статус: Offline
aliast, спасибо за информацию, баг действительно наблюдается при распаковке некоторых файлов, программа путает блоки одних файлов с другими, и получается манная каша с набором из разных файлов, происходит это потому что все JOIN - JHDR, JDAT обрабатываются в одном потоке, без учёта формата файлов, но сам алгоритм распаковки правильный, могу так же предположить что по этой причине некоторые из CEL's не открывались, но всё будет ясно когда исправлю баг.

Сообщение отредактировал Holks - Вторник, 04.06.2013, 09:54
 
Форум » Технический раздел 3DO » Программирование » 3DO Res Unpacker by Holks
  • Страница 5 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Поиск:

Disign by 3DO Team© 2024
Конструктор сайтов - uCoz
Сегодня нас посетили наши пользователи




Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player