Mortal Kombat Komplete Edition

Mortal Kombat Komplete Edition

64 ratings
Пользовательские иконки кнопок
By Ri-0T
Как изменить иконки кнопок с XBox на PS при помощи xbox 360 controller emulator
   
Award
Favorite
Favorited
Unfavorite
С чего все началось
Выход Mortal Kombat Komplete Edition на ПК заставил меня приобрести эту игру и, разумеется, геймпад. Я приобрел себе самый простой Dialog GP-A11.



Как видите, он очень похож на геймпад от Sony PlayStation, но вместо привычных иконок ввиде треугольника, круга, креста и квадрата здесь цифры. Поэтому я решил заменить своему геймападу кнопки от нерабочего DVTech вот с такими кнопками:



Казалось бы, какие могут возникнуть проблемы, ведь в игре все хорошо:


Я уверен, что многие так и играют с этими цифрами на геймпаде и с цифрами в игре. Меня это не устраивает. Я хочу, чтобы в игре отображались не цифры, а реальные иконки (в моем случае это иконки от Sony PlayStation).
Эмулятор контроллера xbox360ce
Если играть через эмулятор контроллера xbox360ce, вы увидите, что цифры в скобках заменились на кнопки от xbox:


Уже лучше, ну все равно не то. Должен же быть какой-то способ, верно?
Замена текстур
Здесь я расскажу, как я изменил текстуры на свои.

Для этого вам понадобится:

На самом деле все просто. Необходимо найти, в каком игровом архиве хранятся текстуры с конпками от xbox. Затем необходимо экспортировать эти текстуры в формат *.dds, открыть в Adobe Photoshop и нарисовать собственные кнопки. После этого нужно снять компрессию с игрового архива и внедрить в него нашу измененную текстуру. В итоге получится архив, которым необходимо заменить оригинальный. Получилось что-то вроде этого:
Приступим
Для начала, нужно скачать XBOX 360 Controller Emulator[code.google.com] и библиотеки для него (в моем случае это x360ce.App-2.1.2.191.zip и x360ce_libraries_r642_x86.zip)

Файлы из скачанных архивов необходимо поместить туда, где расположен исполняемый файл MKKE.exe, а именно:

dinput8.dll x360ce.exe x360ce.gdb xinput1_3.dll
В моем случае, путь к MKKE.exe выглядит так:
D:\Games\steamgames\SteamApps\common\MortalKombat_KompleteEdition\DiscContentPC)

Запустив x360ce.exe можно увидеть следующее:


По умолчанию эмулятор неправильно определяет кнопки 1, 2, 3 и 4. Это можно изменить:

Y Button - Button 1
X Button - Button 4
B Button - Button 2
A Button - Button 3

Далее необходимо сохранить настройки и закрыть это приложение. При запуске игры Ваше устройство DirectInput будет работать как XInput (контроллер от xbox) и следовательно, вместо цифр будет это:


Чтобы изменить эти текстуры, необходимо найти файл ui_c_buttonLib.xxx в папке Asset
У меня он находится здесь: D:\Games\steamgames\SteamApps\common\MortalKombat_KompleteEdition\DiscContentPC\Asset\ui_c_buttonLib.xxx

Внимание! Всегда делайте резервные копии изменяемых файлов. В данном случае, это всего один файл ui_c_buttonLib.xxx

Скачайте набор инструментов от Gildor[www.gildor.org] (UE Viewer, Unreal Package Extractor, Unreal Package Decompressor). Создайте любую папку и поместите в нее следующие файлы из инструментов от Gildor:
decompress.exe extract.exe SDL.dll umodel.exe
В моем случае, это будет папка "D:\Test"

Скопируйте файл ui_c_buttonLib.xxx в папку с инструментами от Gildor
Откройте командную строку (Win+R, введите "cmd"), перейдите в папку с инструментами и игровым архивом ui_c_buttonLib.xxx
Введите команду:
umodel.exe -export -dds ui_c_buttonLib.xxx
Не закрывайте командную строку, она еще понадобится. По завершению процедуры экспорта в вашей папке с инструментами будет создана папка "ui_c_buttonLib" с распакованными текстурами в формате *.dds. Текстуры, которые необходимо отредактировать:
Key_-.dds Key_RCtrl.dds LThumb_D.dds RThumb_L.dds RTrigger.dds RUp.dds Select.dds

Далее необходимо установить плагин NVIDIA Texture Tools for Adobe Photoshop[developer.nvidia.com]
Затем нужно открыть файл *.dds в Adobe Photoshop и отредактировать изображение. Например, вместо кнопки Y нарисуйте треугольник, вместо кнопки X - квадрат, и так далее. Обратите внимание, что изображение в канале RGB должно полностью соответствовать изображению в альфа-канале. Я подгонял размер своих кнопок под размер кнопок альфа-канала.
Измененная текстура готова и ее нужно сохранить в формате *.dds со следующими параметрами:


Сохраните куда-нибудь ваши измененные текстуры.

Следующий шаг — снятие компрессии и извлечение игрового архива ui_c_buttonLib.xxx
Если вы закрыли командную строку, откройте ее еще раз и перейдите в папку с инструментами от Gildor (в моем случае это "D:\Test")
Введите команду:
decompress ui_c_buttonLib.xxx
По завершению процедуры снятия компрессии в папке с инструментами будет создана папка "unpacked", в которой будет находиться игровой архив без компрессии ui_c_buttonLib.xxx. Необходимо извлечь данные из этого архива. Введите в командной строке:
extract.exe ./unpacked/ui_c_buttonLib.xxx
По завершению процедуры извлечения в папке с инструментами в папке "ui_c_buttonLib" будут находиться данные архива. Необходимо найти среди них
Key_-.Texture2D Key_RCtrl.Texture2D LThumb_D.Texture2D RThumb_L.Texture2D RTrigger.Texture2D RUp.Texture2D Select.Texture2D

Последний шаг — внедрение измененных текстур в игровой архив ui_c_buttonLib.xxx
Для этого понадобится скрипт MK9 texture injector[www.gamevixenzone.net]
Поместите ваши измененные текстуры *.dds, извлеченные текстуры *.Texture2D и ui_c_buttonLib.xxx без компрессии (из папки "unpacked") в папку со скриптом MK9.DDSInjector и запустите "run.bat":


Откроется командная строка, к которой необходимо ввести сначала название игрового архива, затем поочередно названия текстур *.dds:


Если текстура была импортирована правильно, в командной строке будет надпись "File injected". Игровой архив ui_c_buttonLib.xxx с измененными кнопками готов. Его необходимо поместить в папку "Asset".

Можно запускать игру. У меня получилось вот такое:

Скачать
Измененный ui_c_button_lib[rghost.ru]
78 Comments
Vadym Mar 21, 2021 @ 3:51am 
ui_c_button_lib больше не скачать
dnl Apr 18, 2019 @ 6:30pm 
Can Anyone say if it works and if it so translate it to english? Google is translating but somethings are sooo confused ...I can't get it right
dnl Apr 18, 2019 @ 6:21pm 
. Mar 2, 2019 @ 5:36am 
Смысл в простоте. И он такой:
идем на соурс кодовый сайт https://github.com/x360ce/x360ce и там качаем два файла x360ce.zip и dinput_x86.dll. С архива выдираем файл x360ce.exe, и вместе с ним копируем dinput_x86.dll в папку игры.
Запускаем x360ce.exe, он скажет, что нет ряда dll, тогда нажимаем кнопку "Сгенерировать".
Дальше в нем же назначаем правильно кнопки (можно и по другому, как кому нравится)
Y Button - Button 1
X Button - Button 4
B Button - Button 2
A Button - Button 3
После с этим все. Качаем ui_c_button_lib и забрасываем его в ...Steam_games\steamapps\common\MortalKombat_KompleteEdition\DiscContentPC\Asset. Можна с заменой, а можна старый переименовать.
Ri-0T  [author] Jan 6, 2018 @ 1:40pm 
Teron, разумеется. Мы, взрослые, не ищем легких путей.
Teron Jan 6, 2018 @ 1:06am 
чет заморочек много
Arkadiy Oct 1, 2017 @ 12:40am 
Не открывается сам xbox360ce, когда открываю пишет мол нету куча файлов и перечисляет их, что делать люди добрые?
aka_sektor Dec 2, 2016 @ 1:31pm 
Не ну... как сказать накрылся.
Пишет что инжекнулся, но файл становится в 11 раз больше. И при попытке запуска игры, ошибка "Out of memory"
Ri-0T  [author] Dec 1, 2016 @ 10:07pm 
aka_sector, с тех пор много воды утекло, я к сожалению ничем не могу помочь. Да и разбираться желания нет никакого. Простите.
aka_sektor Dec 1, 2016 @ 4:28pm 
Инжектор накрылся(
После последней обновы формат видимо изменился, хотя сами файлы те же.
Есть альтернативы?