К сожалению мне пришлось остановить свои работы по раскапыванию форматов ассетов Need For Speed: Hot Pursuit. Сейчас я полностью занят подготовкой к весенней сессии и написанием магистерской работы. Так как времени из-за работы у меня и так мало, то его не хватает даже на подготовку к летней защите, не говоря уже о сторонних проектах.
Поэтому я выкладываю исходники своей утилиты. Возможно кому-то они пригодятся, может быть кто-то возьмется ее доделать, незнаю. Моя миссия выполнена - я расковырял бандлы и основные ресурсы (текстуры и модели). По моей документации Олег (автор ZModeller'а) написал фильтр для импорта моделей NFS:HP в свою утилиту.
В ближайшем будущем постараюсь выполнить свое обещание и написать статью о реверсе игровых ресурсов.
А вот и ссылка на репозиторий с исходниками - NFS:HP Explorer SVN
Выкладываю обновление утилиты NFS:HP Bundle Explorer.
Качать здесь - ссылка.
Изменения в версии 0.2:
- Текстуры теперь извлекаются с мипмапами (если есть)
- Модели теперь извлекаются с нормалями и текстурными координатами
- Extract All теперь также извлекает модели
- Повышена общая стабильность
Работы по вскрытию все еще ведутся, но я решился выложить в публичный доступ утилиту исследования ресурсов Need For Speed: Hot Pursuit Bundle Explorer (качать здесь).
Я пока не готов выложить исходники, поэтому пока могу поделиться небольшой докой по форматам (смотреть здесь).
ЗЫ. Как обычно - тулой и докой вы пользуетесь на свой страх и риск - если вы убъете свой винт, видуху, или (не дай бог конечно же) удалите свой аккаунт на Одноклассниках/ВКонтакте/Facebook'е этой тулой - я вас предупредил
Иногда, когда игра мне очень нравится, или меня в ней что-то заинтересовало, и к игре нет стандартных утилит распаковки, я начинаю исследовать и вскрывать игровые ресурсы.
Так было с You Are Empty (написан плагин импорта моделей в 3DS Max), Metro 2033 (утилита распаковки паков, утилита восстановления текстур, плагины импорта моделей в 3DS Max и Maya).
16 ноября вышел в свет Need For Speed: Hot Pursuit. Поиграв несколько дней, и, как фанат серии, получив бешеное удовольствие от игры, задался целью расковырять ресурсы. Насколько мне известно, я пока что первый, кто добился каких-либо вменяемых результатов в этом.
На данный момент из игровых ресурсов на 100% извлекаются текстуры и на 90% извлекаются модели. Вот скриншоты некоторых достижений (картинки кликабельны):
NFS:HP Bundle Explorer - комплексная программа для извлечения ресурсов из паков
Результат извлечения молели Бугатти в OBJ и загрузки в 3DS Max
По завершении исследования ресурсов я выложу готовый тулсет и опишу устройство форматов.
Так же планирую написать статью в которой поделюсь опытом вскрытия игровых ресурсов.
Нашел на просторах "интернетов" интересный файлик frsqrt.hh в котором собраны большинство способов вычисления обратного корня квадратного.
Вот цитата из комментария которая перечисляет присутствующие техники:
Optimisations for/by Altivec : USE_RSQRT_ALTIVEC SSE/SSE2 : USE_RSQRT_SSE / USE_RSQRT_SSE2 Lookup : Lookup table approach by Ken Turkowski USE_RSQRT_LOOKUP Magic No. : Magic numbers for initial guess USE_RSQRT_MAGIC Fallback : standard implementation via libm USE_RSQRT_LIBM
Соббсно ссылочка - http://www.hlnum.org/english/doc/frsqrt/frsqrt.hh
PS. Реализация из исходников Quake 3 здесь тоже присутствует