Need for Speed: Most Wanted (2005)

Редактирование русской локализации UG1, UG2, MW и Carbon

Существует как минимум 2 инструмента для редактирования файлов русской локализации Underground, Underground 2, Most Wanted и Carbon. Здесь я рассмотрю оба инструмента.

NFS-LangEd v0.5.0
Инструмент поддерживает следующие части:
- Need for Speed: Underground
- Need for Speed: Underground 2
- Need for Speed: Most Wanted (2005)

Скачать можно здесь: https://www.playground.ru/nfs_underground/file/nfs_langed_v0_5_0-897942

Текст первого Underground можно редактировать сразу после открытия файла локализации (File > Open > Выбираем Russian.bin из папки Languages).
Для изменения необходимой строки дважды кликаем (или жмем Enter) на ней. Редактируемый текст появится под списком строк. Для применения изменений в строке необходимо нажать Apply. Если есть необходимость сохранить текст для редактирования из внешнего текстового редактора, можно воспользоваться функциями Save to text file и Load from text file.
Для сохранения файла, жмем File > Save. Автоматически создастся резервная копия старого файла.



Для того, чтобы отредактировать тексты Underground 2 и Most Wanted, понадобятся таблицы соответствия.
Скачать их можно здесь: https://disk.yandex.ru/d/Qk-9bNTgVg-35w
Их необходимо поместить в папку с NFS-LangEd, открыть файл config.ini и указать после Table= название файла с нужной таблицей, а именно russian-u2.txt для Underground 2 или russian-mw.txt для Most Wanted.



Затем открываем NFS-LangEd и работаем также, как описано выше.

Labrune
Инструмент поддерживает следующие части:
- Need for Speed: Underground
- Need for Speed: Underground 2
- Need for Speed: Most Wanted (2005)
- Need for Speed: Carbon
- Need for Speed: ProStreet
- Need for Speed: Undercover
- Need for Speed: World

Но я здесь рассмотрю только части, начиная с Underground по Carbon.

Скачать утилиту можно здесь: https://nfsmods.xyz/mod/1292
Также, вам понадобится Notepad++ и файл с макросами для него: https://disk.yandex.ru/d/nRdqckoDXb3LNQ
Файл нужно будет поместить по адресу C:\Users\<Имя пользователя>\AppData\Roaming\Notepad++
Не забудьте предварительно сохранить свой файл shortcuts.xml, если пользовались макросами в N++ до этого.


Дальше можно открывать Labrune. Жмем File > Open, выбираем необходимый локализационный файл (Russian.bin в UG1 и MW, English.bin в UG2 и Russian_Frontend.bin, Russian_Global.bin, и Russian_InGame.bin в Carbon). Как видим, текст выглядит нечитаемым. А Labrune не поддерживает таблицы соответствия, как NFS-LangEd



Поэтому, нам необходимо выбрать File > Export > Text File (All). Называем файл, как удобно, выбираем удобное место и жмем Сохранить.
Открываем сохраненный файл в Notepad++. Идем в меню "Макросы". Выбираем пункт "Расшифровать текст <название игры>".



Видим, что текст превратился в понятный.



Создаем пустой документ (Файл > Новый) и копируем целиком в него строки, которые нужно изменить. После того, как работа над текстом завершена, в созданном документе снова идем в меню "Макросы" и выбираем теперь уже Зашифровать текст <название игры>. Затем в Labrune жмем File > Import > Text File... и выбираем созданный документ. Сохраняем файл, нажав File > Save...
9
Привет!
Вижу ты попытался действительно упростить процесс редактирования русского текста в играх NFS.

Где-то ещё в январе я пилил статью о том, как я расшифровал байты для Undercover путём чтения runtime-памяти для того, чтобы запилить мем типа "рашка приплетена", и в итоге так я расшифровал байты для всех игр, начиная с Underground 2 и заканчивая World.
Ссылка на статью: https://vk.com/@hargabt-needforspeed-cyrillic-reverse-engineering

Madevi написал:
Текст первого Underground можно редактировать сразу после открытия файла локализации

Это потому что для первого андерграунда разрабы запилили нормальную кодировку Windows-1251.
Интересный факт: экзешник Underground 2 для СофтКлаб также частично поддерживает кодировку Windows-1251, но почему-то для этой игры решили сделать свою кодировку.

Потом с каждой игрой внутренняя кодировка начала становиться сложнее и сложнее: начиная с Carbon байты для некоторых букв начали идти по двое: для буквы Ъ - 80 80.
В Undercover двойных байтов стало больше, в World их уже половина от целого алфавита.

А насчёт таблицы в LangEd: я как-то недавно сам (ещё до того, как прочитал твой пост) попытался сделать подобное, и вроде бы как и сделал, но не знал, что нужно поставить в конфиг файле Table=polish-mw.txt, чтобы заработало.

Респект!

UPD: прочитал твои таблицы для LangEd: там не хватает нужных байтов для Ё и ё: в случае с Most Wanted это CB и EB, для Underground 2 их почему-то нет, хотя эти буквы в спрайтовой карте (текстура CONDUITMDITC_TT21I в файле GLOBALA.BUN) есть.
5
HarGabt
Это потому что для первого андерграунда разрабы запилили нормальную кодировку Windows-1251.
Интересный факт: экзешник Underground 2 для СофтКлаб также частично поддерживает кодировку Windows-1251, но почему-то для этой игры решили сделать свою кодировку.

Что интересно, txt-файлы с титрами, начиная с U2 выглядят вполне себе читабельно, и при этом игры как-то правильно отображают взятый оттуда кириллический текст.

UPD: прочитал твои таблицы для LangEd: там не хватает нужных байтов для Ё и ё: в случае с Most Wanted это CB и EB, для Underground 2 их почему-то нет, хотя эти буквы в спрайтовой карте (текстура CONDUITMDITC_TT21I в файле GLOBALA.BUN) есть.

Буква Ё ни в одной из этих игр в тексте не используется, хотя и есть в шрифтах (там много чего есть). Внутри игры я не копался (плохо разбираюсь), поэтому всё, что тут есть, сделано только основываясь на локализационных файлах, так что на что менять букву Ё я бы просто не нашел.
6
Эхх круто когда такие гении находятся , Вы молотки .. таких бы для других игр понаходить , например есть игруха Флетаут 2 ( 2006 год ) и там тоже проблема шрифтов есть , хоть там и есть русик , но он ровно такой же как и тут , бука \ 1с все одинаково кривые были в те времена . Там зато хоть бонусы есть буквы Ёё применяются и что хорошо есть простой софт , который понимает кирилицу и байтами её пишет на игровом языке , расшифровывать ничего не надо , например значение 20-пробел там так же и т.д. еще значение 0А мол перенос строки и прочее ... Короче было бы круто сделать всё по уму но увы .
Если тут люди крутятся и могут открывать бин файл для языка или находить и менять маппинг букв для новой текстуры , то там - печаль , пару землекопов .
1
bеstia, во FlatOut, начиная с первой части и до FOUC, есть нативная поддержка русского языка, которую обеспечили сами разработчики. Разработчики сами кого-то нанимали для перевода игр, Бука только немного доработала перевод.
В ресурсах ПК версий этих игр с самых первых англоязычных релизов лежат локализационных файлы с текстом на русском языке. Но шрифты изначально там не очень с русским дружат (в первой части кривые русские буквы, во второй кириллицы нет вообще, в FOUC забыли дать поддержку кириллицы одному шрифту, так что даже в релизе от Буки есть один косячок во время игры).
2
HarGabt
Приветствую, увидел такое упоминание меня:
Спойлер
И не понял суть твоей претензии ко мне. Я о твоем методе узнал только, когда ты отписался в этой теме.
2
Ребят! Вот у русика такая проблема . Сколько версий перепробовал. Это единственное место где нет текста. Пытался редактировать как тут но там иероглифы. Пытался найти в других языках, что кросс говорит. Но не нашел текста. И не нашел как исправить.

Русик с этой темы https://www.playground.ru/nfs_most_wanted_2005/file/rusifikatsiya_teksta_dlya_need_for_speed_most_wanted_s_podderzhkoj_subtitrov-1110599
2
MONOLIT1986
Это проблема именно русификатора. Интересно, что при тесте всё нормально было) Почему текст превратился в вопросы, непонятно.
Я постараюсь сегодня это исправить, плюс может ещё какой-то текст изменю.
3
Madevi
Было бы неплохо.
Я был бы очень Вам благодарен за фикс. И не могли бы вы использовать exe , что я Вам по ссылке скину? У Вашего есть огромный недостаток exe файла игры

Дело в том, что при его использовании сцена с Рейзером, Рогом, Мией , и в конце игры погоня Кросса. Из-за него открывается телефон и звучит голос.
В оригинале телефон просто берется и на фоне слышен разговор. А то получается стоят машины напротив друг друга в тишине. А разговор прошел уже. exe что даю. Брал когда то у одного репакера он en версии. https://disk.yandex.ru/d/Pn6CzIxpDe4cxQ
Мне бы чтобы Ваш русификатор работал с этим exe
1
MONOLIT1986
Я потестирую на нём.
1
Madevi
Я чуть текст выше поменял. Очень спешил Вам написать. Было бы здорово! Я наконец закончу свой репак для себя. И глядишь может и народу на торрент закину. Очень Вас прошу. Руссификатор Ваш великолепный.
1
MONOLIT1986
То, что в этих сценах игра ставится на паузу, это не недостаток. Этот exe предназначен для тех локализаций игры, в которых не предусмотрена локализованная озвучка. Чтобы игрок мог хотя бы прочитать текст на своем языке. Поэтому я его оставлю в русификаторе - всё-таки подразумевается, что игрок будет использовать английскую озвучку, поэтому лучше продублировать речь текстом.
На твоем exe русификатор тоже работает нормально, так что можешь использовать его, если считаешь нужным.
2
Помимо строчки с вопросами, я поправил и другие, где меня смущал перевод или конструкция предложений даже после исправления.
Но в русификаторе всё равно остаются несколько недостатков:
1. Буквы основного шрифта немного больше, чем надо, от чего в редких местах текст стал вылазить за отведенное место (точно видел такое в досье)
2. При вводе имени профиля некорректно отображается курсор ввода.
Я пока не знаю, как редактировать сетку символов, чтобы исправить эти два пункта.
3. Печати "Вне игры", "Арестован", "Конфискован" на финском языке (в твоем exe на испанском). Эти текстуры не меняются при смене языка. Пробовал сделать путем подмены - текстуры перестают отображаться. Нужен No-DVD, основанный на русской версии, либо что-то делать с имеющимися. Хотя, можно установить Upscaled HUD, там подмена текстур прошла успешно, но только для exe с финскими надписями (можно поменять у этих текстур окончание на SPA перед установкой мода через Binary, чтобы происходила замена испанских надписей).
4. Оставлен оригинальный плохой перевод звонков и SMS. По-хорошему, нужно это всё переводить с нуля, потому что то, что наворотили локализаторы можно назвать максимум "творческой адаптацией". И ладно бы если везде смысл был сохранён. Но там слишком много сообщений для меня - исправление потребует гораздо больше времени и сил.
2
Madevi
Отлично. Новая версия русика была бы кстати. Можно фикс диалога в ролике? Я понимаю, что Москва не сразу строилась. Но хотя бы перевод будет более менее нормальный тогда.
За вашим руссификатором я буду следить если можно.
0
MONOLIT1986
Я его обновил сегодня, он в том же самом посте.
0
Madevi
Огромное спасибо!
0
Здаров чел. Спасибо тебе за гайд! вдохновил самому напрячь голову и попробовать для себя что-то по переводить и знаешь че? У меня получилось, смог переминовать соперников по типу из мема про оксимрона, мол противниками выступают ГОВНО, ЗАЛ**** ПЕН*** ХЕ** ДАВАЛКА... Ну ты понял:D Решился взяться за кое-что покрупнее, и остался только с проё****м в пустую времени. Вот смотри, есть вот мод https://nfsmods.xyz/mod/338 там есть свои "стринги" на ангельскую версию игры, проблема вот в чем:
Как найти только те фалы, которые были добавлены именно этим модом? Потому что те файлы которые есть там, идут в перемешку с обычными фалами из ангельской версии игры. Т.е нужно найти файлы которые добавляет сам мод, вытащить их, перевести, и добавить уже в локализированную версию игры.
Порядок действий ясен, но вот в чем именно беда, как или с помощью чего можно отсортировать файлы которые уже и так были, от сторонних т.е добавленными уже модом?
2
Shmaylov
Экспортируешь через Labrune весь текст (File > Export > Text File (All)) из локализационных файлов оригинальной английской версии игры и из мода. Потом добавляешь эти два файла в WinMerge. Программа пометит отличающиеся строки. Копируешь эти строки из локализации мода в отдельный текстовый документ, переводишь и запихиваешь в файлы русской версии.
0
Madevi

Madevi написал:
Я о твоем методе узнал только, когда ты отписался в этой теме.

Тогда можешь объяснить, как ты это делал и какими методами ты раскрыл кодировку локализации?

Madevi написал:
И не понял суть твоей претензии ко мне.

Потому что мне кажется, что ты мог (или не мог) воспользоваться моими методами расшифровки для своих модов и для этой статьи в этой теме лишь потому, что моя статья появилась в конце января того года, а твой первый мод на тему отредактированной локализации (русские субтитры в Carbon) появился как раз позже, в марте того же года. Совпадение?
0
HarGabt написал:
Совпадение?

Совпадение. Ну вот приспичило мне разобраться, как отредактировать локализацию именно в то время.
HarGabt написал:
Тогда можешь объяснить, как ты это делал и какими методами ты раскрыл кодировку локализации?

Вообще никаких проблем. Давай даже с картинками.
1. Через Labrune экспортируем текст из русской версии в txt-файл.

2. Открываем его в Notepad++
3. Видим, как и в Labrune, полную байду, но хотя бы каждый символ отображается.

4. Открываем также в Labrune и английскую локализацию.

4. Видим, что самой первой строчкой у нас идет *VINYL TRANSFORM*, чем в русской версии является *ТРАНСФОРМАЦИЯ АППЛИКАЦИЙ*.

5. Выписываем в отдельный текстовый документ эту строчку из русской версии, разбиваем по буквам и пишем для каждого непонятного символа соответствующую ему русскую букву. Убираем повторяющиеся буквы и для удобства в дальнейшем сортируем их по алфавиту.

6. Итого, у нас уже расшифровано 15 заглавных букв.
7. Одновременно со всем этим поочередно производим замену символов в исходом документе обычной функцией текстового редактора "Замена".

8. Видим, что помимо того, что нам стала полностью понятна первая строчка, начал проглядываться смысл и в других. Например, в строчке 16, очевидно, должно быть написано *ДИСКИ*, а в строке 18 - *ЦВЕТ АППЛИКАЦИИ*. Соответственно, выписываем из них символы, обозначающие Д, В и Е, в наш текстовый документ с алфавитом.
9. Дальше мы либо продолжаем угадывать, что означают оставшиеся символы в других строчках, либо опять ищем в английской версии строчку, перевод которой легко найти в игре, выписываем зашифрованные символы в файл и пишем к ним соответствие букв согласно переводу. Таким образом, постепенно мы получаем почти полный алфавит (Ё в пролёте, так как в текстах не используется) и в конце концов весь текст, написанный заглавными буквами, становится нам понятен.
10. Повторяем все это для строчных букв.
11. В итоге у нас получается такой документ с алфавитом. Оформляется как удобно, потому что дальше он нам нужен только косвенно.

12. Теперь нам нужно сделать макрос, потому что каждый раз вручную заменять каждый символ будет мучением. Снова открываем оригинальный зашифрованный текст русской версии и держим рядом расшифровку букв.
13. Заходим в меню "Макросы" и жмем "Начать запись".
14. Далее заходим в меню "Поиск" - "Замена" и последовательно, один за другим заменяем каждый зашифрованный символ на обычную букву, руководствуясь составленному алфавиту.
15. После того, как мы заменили последний символ, заходим в меню "Макросы" и жмем "Остановить запись". Снова открываем меню "Макросы" и жмем "Сохранить записанный макрос". Называем, например, "Расшифровать текст Carbon".

16. Теперь, таким образом мы можем в любой момент легко расшифровать и другие локализационные файлы Carbon. Но чтобы так же легко текст зашифровывать в понятный игре...
17. Снова записываем макрос, но уже с заменой обычных букв на зашифрованные символы.
18. Готово. Теперь можно проделать то же самое и для некоторых других частей, так как в них тот же принцип, но свои символы в каждой. Например, я ограничился четырьмя частями, но такая же проблема с текстом есть как минимум в Prostreet.
0
Madevi
Довольно интересный у тебя подход. Если в твоём случае выгадывались буквы, то в моём случае был простой брутфорс.
Беру свои претензии обратно.
0
Авторизуйтесь, чтобы принять участие в обсуждении.