Перейти к публикации
Планета Deus Ex

Deus Ex extractor


Рекомендованные сообщения

Написал на днях программку для «вытягивания» из игры DeusEx текстур, палитр, музыки, звуков, текстов, диалогов(!), модели и т.д. Может кому пригодится.

deusextools10191.zip

Использование:

DEEDCUI.EXE source [/E:destination] [/D:destination] [/C:classes]

source Specifies the directory to be processed.

-lpm Treat meshes as low precision.

/E:destination Specifies the directory for extracted files.

/D:destination Specifies the directory for decompiled files.

/C:classes Specifies the file name where classes are listed.

Например:

deedcui "C:GamesDeusEx" /E:"C:GamesDeusExExtracted"

Параметр «classes» необязателен. Он содержит имя файла, в котором перечислены классы которые будут извлечены (одна строка — один класс). Если запускать без третьего параметра, то будут извлечены все классы известные программе.

!!! destination очищается перед записью. Будьте внимательны!

Если есть пожелания и замечания, пишите.

Frequently Asked Questions

--------------------------------------

Q: При запуске программы появляется сообщение об ошибке. Что делать?

A: Предположительно не установлен .NET Framework 2.0. Для запуска экстрактора нужно его установить.
Скачать .NET Framework 2.0 Redistributable Package можно тут.

--------------------------------------

Q: Нужно ли скачивать .NET Framework 2.0 если я использую Windows Vista?

A: Не нужно. В Windows Vista .NET Framework 2.0 есть изначально.

--------------------------------------

Q: Какой интерфейс у программы: консольный или графический

A: Есть оба.
deedcui.exe - консольный
deedgui.exe - графический

--------------------------------------

Q: Я использую консольную версию DEED. Как можно указать путь к игре если он содержит пробелы?

A: Для того, чтобы указать путь содержащий пробелы нужно заключить его в кавычки.
Например:
Предположим Deus Ex установлен в "C:\Games\Deus Ex" и вы хотите декомпилировать пэкэджи в папку "C:\Games\Decompiled Deus Ex Content". В данном случае нужно использовать следующую консольную команду:

DEEDCUI.EXE "C:\Games\Deus Ex" /D:"C:\Games\Decompiled Deus Ex Content"

Спецификаторы /D: или /E: или /C: в кавычки брать не нужно.

--------------------------------------

Q: Извлекает ли DEED анимацию 3D моделей?

A: Да.

--------------------------------------

Q: При запуске DeusEx3DViewer появляется сообщение об ошибке. Что делать?

A: Если сообщение об ошибке выглядит следующим образом:
post-7858-1215344261_thumb.jpg,
то следует скачать и установить Microsoft Visual C++ 2008 Redistributable Package (x86) или Microsoft Visual C++ 2008 Redistributable Package (x64).
Если сообщение об ошибке выглядит так:
post-7858-1215344294_thumb.jpg,
то необходимо скачать и установить DirectX End-User Runtimes

--------------------------------------

 

Изменено пользователем hexy
nelflucifer и GreenEyesMan понравилось это
Ссылка на комментарий
Текстуры, музыку, звуки вытаскивают многие программы. Тексты же - по-моему ты тут первый. А что значит "некоторые"?

 

Некоторые - потому, что пока ещё не уверен, что все :shock:

 

datacube, book, bulletin, newspaper, email тексты находятся в папке DeusExText.uExtString.

 

Сделаю скоро, чтобы вытаскивались палитры и записывались в Microsoft PAL формат, который можно в фотошопе импортировать.

Ссылка на комментарий

Обновил программу.

1. Убрал всякую ненужную информацию, которая выводилась на экран во время распаковки.

2. Сортировка файлов по папкам ведётся не только по классам, но и по группам: PackageName->ClassName->GroupName->ObjectName

3. Добавил распаковку палитр в Microsoft PAL формат (можно импортировать в фотошопе).

 

Итого на данный момент поддерживается распаковка классов Texture, Palette, Sound, Music, TextBuffer, ExtString.

 

Пока всё. Жду пожеланий и критики.

Ссылка на комментарий

РЕСПЕКТ!!!

 

пожелание:

Скрипт, который будет вытаскивать из u диалоги и собирать их в con-файл. По-моему нефиговая работёнка.

И надо сказать, что у пользователя должен быть установлен Net Framework v2.0.50727

Ссылка на комментарий

пожелание:

Скрипт, который будет вытаскивать из u диалоги и собирать их в con-файл. По-моему нефиговая работёнка.

 

Для реализации такой программы нужно знать формат con файлов. Его я пока не знаю. Правда если покопать, то ничего особо сложного нету. Сейчас почитаю про ConEdit, посмотрим. :shock:

Ссылка на комментарий

пожелание:

Скрипт, который будет вытаскивать из u диалоги и собирать их в con-файл. По-моему нефиговая работёнка.

 

Для реализации такой программы нужно знать формат con файлов. Его я пока не знаю. Правда если покопать, то ничего особо сложного нету. Сейчас почитаю про ConEdit, посмотрим. :shock:

 

Желаю прогресса и удачи!

Ссылка на комментарий

Для реализации такой программы нужно знать формат con файлов. Его я пока не знаю. Правда если покопать, то ничего особо сложного нету. Сейчас почитаю про ConEdit, посмотрим. :)

 

Желаю прогресса и удачи!

 

Если помогёте с тестированием и выявлением багов, то сделаю.

Ссылка на комментарий
На мой взгляд баги:

 

Тексты выдирает, но русифицированные--нет  

 

Папка для распаковки НЕ ДОЛЖНА существовать иначе она удаляется.

 

Насчёт кодировки: Есть такой баг. Пофикшу в следующей версии.

 

Насчёт удаления папки: Так и должно быть, просто я не предупредил. Добавил в самый первый пост.

 

Спасибо.

Ссылка на комментарий

Пофиксил баг с некорректным извлечением русифицированых файлов.

 

Добавил тестовое извлечение диалогов в *.con файлы. Event`ы извлекаются пока только частично. Проверяйте в папке DeusExConText.u.

Ссылка на комментарий
Не вытаскивает DefaultProperties у скриптов. Хотя это можно и в WotGreal или UnrealED сделать .

 

А где WOTgreal достать можно? Чё-то на страничке автора глюки какие-то.

 

Ну не знаю я оттуда брала. Вообще-то ГРИЛЬ иногда ломает значения свойств...

Ссылка на комментарий

Проделал анализ conversations. Они ссылаются на следующие audioPackageName. Цифра показывает кол-во ссылок.

 

AIBarks 58785

EndGame 40

Intro 22

HK_Shared 8746

Mission15 626

Mission14 450

Mission12 927

Mission11 907

Mission10 2680

Mission09 650

NYShared 1000

Mission08 987

Mission05 870

Mission04 2124

Mission03 2594

Mission02 2542

Mission01 1551

Mission00 260

 

 

Но если мы возьмём оригинальный файл импорта conversations то видим:

 

 

#exec CONVERSATION IMPORT FILE="Mission0.Con"

#exec CONVERSATION IMPORT FILE="Mission0_Infolink.Con"

#exec CONVERSATION IMPORT FILE="Mission1.Con"

#exec CONVERSATION IMPORT FILE="Mission1_Infolink.Con"

#exec CONVERSATION IMPORT FILE="Mission2.Con"

#exec CONVERSATION IMPORT FILE="Mission2_Infolink.Con"

#exec CONVERSATION IMPORT FILE="Mission3.Con"

#exec CONVERSATION IMPORT FILE="Mission3_Infolink.Con"

#exec CONVERSATION IMPORT FILE="Mission4.Con"

#exec CONVERSATION IMPORT FILE="Mission4_Infolink.Con"

#exec CONVERSATION IMPORT FILE="Mission5.Con"

#exec CONVERSATION IMPORT FILE="Mission5_Infolink.Con"

#exec CONVERSATION IMPORT FILE="Mission8.Con"

#exec CONVERSATION IMPORT FILE="Mission8_Infolink.Con"

#exec CONVERSATION IMPORT FILE="Mission9.Con"

#exec CONVERSATION IMPORT FILE="Mission9_Infolink.Con"

#exec CONVERSATION IMPORT FILE="Mission10.Con"

#exec CONVERSATION IMPORT FILE="Mission10_Infolink.Con"

#exec CONVERSATION IMPORT FILE="Mission11.Con"

#exec CONVERSATION IMPORT FILE="Mission11_Infolink.Con"

#exec CONVERSATION IMPORT FILE="Mission12.Con"

#exec CONVERSATION IMPORT FILE="Mission12_Infolink.Con"

#exec CONVERSATION IMPORT FILE="Mission14.Con"

#exec CONVERSATION IMPORT FILE="Mission14_Infolink.Con"

#exec CONVERSATION IMPORT FILE="Mission15.Con"

#exec CONVERSATION IMPORT FILE="Mission15_Infolink.Con"

 

// shared conversations

#exec CONVERSATION IMPORT FILE="NYC_Smuggler_Shared.Con"

#exec CONVERSATION IMPORT FILE="NYC_Clinic_Shared.Con"

#exec CONVERSATION IMPORT FILE="HK_Shared.Con"

#exec CONVERSATION IMPORT FILE="HK_Infolink_Shared.Con"

 

// Intro/Endgame

#exec CONVERSATION IMPORT FILE="Intro.Con"

#exec CONVERSATION IMPORT FILE="EndGame.Con"

 

// AI Barks

#exec CONVERSATION IMPORT FILE="AIBarks.Con"

#exec CONVERSATION IMPORT FILE="UNATCOBarks.Con"

#exec CONVERSATION IMPORT FILE="UNATCOBarks2.Con"

 

 

Т.е. ucc объединяет некоторые файлы. Допустим infolink от обычного сообщения мы можем отличить и создать два *.con файла. А вот как отличить сообщения NYShared которые должны находится в файлах NYC_Smuggler_Shared.Con, NYC_Clinic_Shared.Con??? Тоже самое не ясно с UNATCOBarks.Con и UNATCOBarks2.Con.

Ссылка на комментарий
Не вытаскивает DefaultProperties у скриптов. Хотя это можно и в WotGreal или UnrealED сделать .

 

А где WOTgreal достать можно? Чё-то на страничке автора глюки какие-то.

 

Ну не знаю я оттуда брала. Вообще-то ГРИЛЬ иногда ломает значения свойств...

 

А можете дать прямую ссылку на закачку?

Ссылка на комментарий

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...