Gildor's Forums

Author Topic: Mortal Kombat vs. DC Universe (xbox360, ps3)  (Read 8691 times)
escape777
Newbie
*
Posts: 13


View Profile
Mortal Kombat vs. DC Universe (xbox360, ps3)
« on: November 16, 2011, 14:47 »

Всем доброго времени суток.
Загорелся идеей переделать сабж. для ПК. Далее распишу порядок моих действий:
1. Качнул оба образа (бокс и пс3)
2. Из боксовского xex-файла вынул exe-файл, дизассемблировал его IDA Pro 6.1.
3. Кроме xex-файла в игре есть еще папка Assets c 698-ю xxx-файлами. Выяснил, что эти файлы от Unreal engine 3.
4. Качнул UDK2011 последний с офф.сайта, качнул extract и decompress.
5. decompress'ом разжал все .ххх от бокса и пс3 (от бокса 1 файл - char_jax.xxx - выдаёт ошибку с любыми параметрами компрессии; от пс3 этот файл другого размера, заменить не получится)
6. Пробовал открывать .xxx оригиналы и разжатые в UnrealEd Content Browser - результат один - падает.
То, что получилось после обработки всех .ххх extract'ом - имеет непонятный формат и в UnrealEd судя по всему не откроется...
Так каким же образом открыть эти пакеты в редакторе? Еще заметил, что заголовок пакетов в .xxx формате один (первые 4 символа в файле), а в формате .upk (те, что лежат в папке udk2011) первые 4 символа те же, но в другом порядке. В чём может быть проблема?
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Mortal Kombat vs. DC Universe (xbox360, ps3)
« Reply #1 on: November 16, 2011, 15:01 »

Всем доброго времени суток.
Добрый день (хотя я и не "все" Wink)
Quote
Загорелся идеей переделать сабж. для ПК.
Невозможно. По крайней мере на основе выдранного контента. "Ремейк" сделать можно (пересоздать практически всё), но с привлечением команды разработчиков по уровню не хуже, чем была у Midway (в России таких не наберётся) ну и конечно с определёнными затратами времени и денег.
Quote
...
2. Из боксовского xex-файла вынул exe-файл, дизассемблировал его IDA Pro 6.1.
у вас есть крутой опыт дизассемблирования под XBox360? (не говорю уже о том, что нужно очень хорошее знание UE3, которого, судя по остальному тексту вашего сообщения, нет)
Quote
...
6. Пробовал открывать .xxx оригиналы и разжатые в UnrealEd Content Browser - результат один - падает.
То, что получилось после обработки всех .ххх extract'ом - имеет непонятный формат и в UnrealEd судя по всему не откроется...
Оригинальный xxx откорет только UnrealEd от самой MK vs DC (хотя не уверен, что cooked packages вообще можно открыть в редакторе).
Распакованное через extract.exe не открыть ничем, кроме какого-нибудь hex editor-а (чисто посмотреть начинку)
Quote
Еще заметил, что заголовок пакетов в .xxx формате один (первые 4 символа в файле), а в формате .upk (те, что лежат в папке udk2011) первые 4 символа те же, но в другом порядке. В чём может быть проблема?
Да, все пакеты начинаются с одинаковых 4 байт - идентификатора. На Xbox360 и PS3 формат байт обратный из-за big-endian CPU.
Logged
escape777
Newbie
*
Posts: 13


View Profile
Re: Mortal Kombat vs. DC Universe (xbox360, ps3)
« Reply #2 on: November 16, 2011, 15:37 »

вот я и хочу попытаться пересобрать игру (переписать\модифицировать exe).
Как я понял, исходя из листингов иды, экзешник в нужные моменты подгружает необходимые пакеты. Среди пакетов с моделями, локациями и прочей графикой есть также пакет с названием игры, затем engine.xxx, core.xxx и другие. Хотелось бы загрузить их все в редактор и посмотреть, что они из себя представляют; иначе дальнейший анализ смысла просто не имеет. У меня так же есть информация о том, какие библиотеки использует экзешник, в нём обязательно должна присутствовать часть движка (обработчик пакетов то есть), функции работы с директиксом, с управлением.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Mortal Kombat vs. DC Universe (xbox360, ps3)
« Reply #3 on: November 16, 2011, 15:49 »

вот я и хочу попытаться пересобрать игру (переписать\модифицировать exe).
Как я понял, исходя из листингов иды, экзешник в нужные моменты подгружает необходимые пакеты. Среди пакетов с моделями, локациями и прочей графикой есть также пакет с названием игры, затем engine.xxx, core.xxx и другие. Хотелось бы загрузить их все в редактор и посмотреть, что они из себя представляют; иначе дальнейший анализ смысла просто не имеет. У меня так же есть информация о том, какие библиотеки использует экзешник, в нём обязательно должна присутствовать часть движка (обработчик пакетов то есть), функции работы с директиксом, с управлением.
Читайте мой пост более внимательно:
Оригинальный xxx откорет только UnrealEd от самой MK vs DC (хотя не уверен, что cooked packages вообще можно открыть в редакторе).
Другими словами - не загрузите вы эти xxx-файлы НИКУДА.
Logged
escape777
Newbie
*
Posts: 13


View Profile
Re: Mortal Kombat vs. DC Universe (xbox360, ps3)
« Reply #4 on: November 17, 2011, 00:31 »

Cooked packages можно открыть в редакторе; формат .upk (little endian)
не подскажете структуру заголовка .xxx (big endian) файлов, чтобы я смог корректно перевести ее в литл эндиан?
Logged
escape777
Newbie
*
Posts: 13


View Profile
Re: Mortal Kombat vs. DC Universe (xbox360, ps3)
« Reply #5 on: November 17, 2011, 00:35 »

там как-то не просто всё. Например 8KM в заголовке - это MK8 в биг эндиан, но рядом есть None, да и все остальные имена (strings) в правильном порядке байт... так что же именно там в big endian?
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Mortal Kombat vs. DC Universe (xbox360, ps3)
« Reply #6 on: November 17, 2011, 08:18 »

Там весь файл в big endian, а не только заголовок. Плюс, звуки и текстуры в формате для XBox360. А в дополнение ко всему, в игре используются нестандартные анимации (и подозреваю что не только они).
Ну и ещё - вы не найдёте редактора от этой игры, а в "стандартном" редакторе вы ничего открыть не сможете, даже если кто-то вам даст PC-версию не-cooked пакетов.
« Last Edit: November 17, 2011, 08:21 by gildor » Logged
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Mortal Kombat vs. DC Universe (xbox360, ps3)
« Reply #7 on: November 17, 2011, 12:04 »

не сразу заметил ...
Например 8KM в заголовке - это MK8 в биг эндиан, но рядом есть None, да и все остальные имена (strings) в правильном порядке байт...
"8KM" - это идентификатор, идёт как 32-bit int, а не как строка. А у ANSI-строк endian быть не может по определению - что можно переставить в одном байте?
Quote
так что же именно там в big endian?
всё
Logged
escape777
Newbie
*
Posts: 13


View Profile
Re: Mortal Kombat vs. DC Universe (xbox360, ps3)
« Reply #8 on: November 17, 2011, 12:10 »

Понятно. Спасибо.

А возможно ли в принципе организовать на С++ работу с .ххх пакетами в big endian на x86/x64, используя исходники движка?
« Last Edit: November 17, 2011, 12:23 by escape777 » Logged
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Mortal Kombat vs. DC Universe (xbox360, ps3)
« Reply #9 on: November 17, 2011, 20:07 »

В исходниках движка это уже есть. Только исходники есть мало у кого, а у кого есть - тому данные вещи не интересны, да и лицензия не позволяет этим заниматься.
Logged
escape777
Newbie
*
Posts: 13


View Profile
Re: Mortal Kombat vs. DC Universe (xbox360, ps3)
« Reply #10 on: November 20, 2011, 18:36 »

если немного подправить Hex-редактором xxx-файл, то при его открытии редактор не падает, как раньше, а ругается на версию файла, старая типа слишком... Отсюда вывод - UnrealEd прекрасно работает как с little-endian форматом, так и с big-endian... буду копать дальше)
Logged
escape777
Newbie
*
Posts: 13


View Profile
Re: Mortal Kombat vs. DC Universe (xbox360, ps3)
« Reply #11 on: December 12, 2011, 19:06 »

Gildor, не подскажете, как связаны License ver. и Package ver. между собой и с остальным пакетом? Что эти байты сообщают движку, помимо, собственно, версии?
« Last Edit: December 12, 2011, 19:08 by escape777 » Logged
escape777
Newbie
*
Posts: 13


View Profile
Re: Mortal Kombat vs. DC Universe (xbox360, ps3)
« Reply #12 on: December 12, 2011, 19:33 »

Что удалось обнаружить и понять на текущий момент:
Если игру всё-таки удастся запустить, то только на UDK Engine; либо писать собственный экзешник (нереально без исходников похожей на Engine 2605 версии). Нашел в сети "сырцы" очень древнего билда, точно не помню, 468й что-ли.. в общем он дико недоделанный для мортала(
Пакеты от ПС3-версии УДКшкой не подхватывается вообще, даже после "пропатчивания пакетов" (удаление 8 байт после HeadersSize и перед строкой PackageGroup) - редактор падает, в логах непонятные кракозябры в точке крэша. ИксБоксовские пакеты также "вешают" редактор, однако после их пропатчивания редактор матерится на версию пакетов, что старая слишком и открывать их отказывается. При запуске движка в логах всё та же запись последней строкой - "не могу открыть пакет, он создан в ранеей версии, которая не поддерживается". Все пакеты пихал в редактор после расжатия. Изменение Fileversion и Engineversion на соответствующие из УДКшных пакетов ничего не дает: даже пропатченные пакеты продолжают вешать редактор... поэтому я написал предыдущий пост))
Logged
escape777
Newbie
*
Posts: 13


View Profile
Re: Mortal Kombat vs. DC Universe (xbox360, ps3)
« Reply #13 on: December 12, 2011, 19:48 »

насчет нестандартной анимации: какие-то параметры есть в MK8AnimCompression.ini
« Last Edit: December 12, 2011, 19:52 by escape777 » Logged
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Mortal Kombat vs. DC Universe (xbox360, ps3)
« Reply #14 on: December 12, 2011, 20:24 »

Gildor, не подскажете, как связаны License ver. и Package ver. между собой и с остальным пакетом? Что эти байты сообщают движку, помимо, собственно, версии?
Никак. LicenseeVer обрабатывается программистами компании, купившей движок, по своему собственному усмотрению.
Logged
Jump to:  

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