Тёмный

критерионы, идите на хⓨй! 

Ռոբերտ Գալոյան
Подписаться 1,7 тыс.
Просмотров 420
50% 1

этот парень просто пи-до-раааааас - любит праздники и громкий секс
Кто не понял - это была попытка запилить русские наименования соперников через ID/хэши в файле локали, как это делалось в NFS Heat. Неудачная, как можете видеть.
forum.zoneofgames.ru/topic/71...

Игры

Опубликовано:

 

4 июн 2023

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 1   
@HarGabt
@HarGabt Год назад
Почему так происходит? Ответ довольно простой, и в то же время подлый. В NFS 2015, Payback и Heat информация о гонщиках хранится в контейнерах формата Blueprint (в случае с Heat один контейнер для обычных гонщиков, другой для гонщиков по бездорожью). Главная суть в том, что игра берёт имена гонщиков из файла локализации, опираясь на тег PersonaNameId (есть также тег PersonaName, но он всегда пуст), в значении которого написан ID строки локализации, который так или иначе интерпретируется в восьмизначный шестнадцатеричный хэш, хранящийся в файле локализации, и благодаря этому, когда вы играете в Heat на русском языке - все имена персонажей отображаются на русском языке. В Unbound разрабы из Criterion пошли по другому пути: в этот раз информация о гонщиках хранится уже отдельно друг от друга, на каждого гонщика приходится свой контейнер. И в этих контейнерах отсутствует тег, который отвечает за интерпретацию имени из файла локализации. Все имена уже записаны напрямую в тег RivalName, из-за чего у нас нет возможности повлиять на имя персонажа. И, если я правильно понимаю, во фрости имена закодированы в ISO 8859-1 - например, имя гонщика Rüdiger в ассете зашифровано как Rüdiger, а Eléonore как Eléonore. cdn.discordapp.com/attachments/1027938389636423731/1115364677141155931/image.png И изначально у нас не было возможности вставить кириллицу в титры - игра попросту её не понимает - даже зашитые буквы (Несправедливо, Гори, Воїн) и показывает кракозябру. cdn.discordapp.com/attachments/1079373096034771044/1100471383806459944/image.png cdn.discordapp.com/attachments/1079373096034771044/1100474252098023504/image.png А всё началось с того, что когда от нефиг делать я начал копаться в файлах Heat чтобы посмотреть как игра взаимодействует с русским языком, я увидел, что в файле титров зашиты ID референсы к файлу локализации, из-за чего у меня родилась идея - а что если в файл локали добавить новые ID/хэши и заставить игру их подргужать? Так я и сделал: распаковал chunk с текстом и хэшами, вставил новые хэши с новым текстом, отредачил файл с титрами вставив ID референсы, вставил всё это добро через Frosty, запустил её, и вуаля - русский текст в титрах! Я, горящий идеей запилить русифицированые имена, пошёл дальше, запилив новые хэши и строки (на это ушло почти час - вручную искать места для вставки хэшей и редактировать оба файла параллельно), сделав все действия уже с именами персонажей через RivalName - запустил игру, пошёл в геймплей... и был разочарован. Так что да, запилить русифицированые имена гонщиков не получится. И да, я пробовал писать там как прямиком по-русски, так и через кодировку - в лучшем случае игра отображает пустоту, в худшем те же самые кракозябры. cdn.discordapp.com/attachments/951527850727600158/1115585100797718559/Need_for_SpeedTM_Unbound_2023.06.05-23.55.png Нет, дело не в новой строке в файле локализации: имеющиеся ID игра так же не читает. cdn.discordapp.com/attachments/458400414145052672/1115269462258614412/Need_for_SpeedTM_Unbound_2023.06.05-17.19.mp4_snapshot_00.10_2023.06.05_17.20.25.png И нет, взять закодированные названия песен на кириллице из титров игры (которые тоже зашифрованы кодировкой ISO 8859-1) и вставить их в имена соперников тоже не получится.
Далее
Who is the Fastest Blacklist Boss in NFS Most Wanted?
6:35
Чистка пляжа с золотом
00:49
Просмотров 302 тыс.
NEED FOR SPEED UNBOUND #1
42:18
Просмотров 10
Face Your Biggest Fear To Win $800,000
22:03
Просмотров 244 млн
DOTA 2 - МЕТА
20:39
Просмотров 296 тыс.