Русификатор Yakuza 5 Remastered. Часть 4: «Навигатор Сузуки», восстановление сборки и 41 000 строк.

Русификатор Yakuza 5 Remastered. Часть 4: «Навигатор Сузуки», восстановление сборки и 41 000 строк.

Вступление: Ошибка «Универсального Солдата»

В программировании есть соблазн сделать одну программу, которая делает всё. Я попытался превратить свой «Редактор Дракона» в универсального помощника для всех типов файлов сразу. Идея была красивой, но реализация привела к краху.

Пытаясь научить редактор работать с бинарниками, я сломал то, что уже работало. Старая сборка отвалилась, новая не завелась, .bin файлы игру вешали намертво. Несколько дней работа стояла.

Пришлось признать ошибку, откатить амбиции и написать отдельный, специализированный инструмент для сложных задач — «Навигатор Сузуки». Сегодня о том, как я восстанавливал проект из пепла, воевал с защитой заголовков в файлах и довел базу переводов до 41 000 строк.

ГЛАВА 9: «Навигатор Сузуки» и Выстрел себе в ногу

Эпицентром взрыва стала папка boot — сердце интерфейса игры. Мой старый универсальный редактор, который я пытался «натянуть» на все форматы, на бинарных файлах сломался окончательно.

Ситуацию усугубило то, что я сам загнал себя в ловушку: поторопился и перевел кучу строк из boot-архива без надежных фильтров. Когда игра начала вылетать, я оказался в тупике. Что именно сломало движок? Мой новый код, который неверно пересчитал байты? Или я случайно перевел системный тег на русский, и скрипты игры сошли с ума?

Пришлось откатываться назад и писать новый, узкоспециализированный инструмент — «Навигатор Сузуки».

Русификатор Yakuza 5 Remastered. Часть 4: «Навигатор Сузуки», восстановление сборки и 41 000 строк.

В его основе лежит код старого «Редактора Меню» (о создании которого я писал в [Побочной истории про создание инструментария]), скрещенный с удачными фичами «Редактора Дракона» — цветовым выделением и фильтрами строк.

Русификатор Yakuza 5 Remastered. Часть 4: «Навигатор Сузуки», восстановление сборки и 41 000 строк.

Важный нюанс: пока Навигатор работает строго с одним файлом (string_tbl.bin). Это не универсальная "волшебная кнопка". Я даже сканер префиксов к нему еще не прикрутил, поэтому очищать строки от мусорных символов приходится вручную.

Но именно этот «ручной» подход позволил найти Баг Века, который я сам же и создал.

Ошибка «Безопасного Заголовка»:

  1. Мой скрипт честно рассчитывал новые адреса для строк, обновлял их, всё было идеально.
  2. Но последним шагом срабатывала функция «Защита заголовка». Она брала первые 64 байта из старого оригинального файла и копировала их в новый, «чтобы ничего не сломать».
  3. Проблема в том, что именно в этих первых байтах и хранились те самые обновленные указатели!

В итоге скрипт сначала чинил файл, а за секунду до сохранения сам ломал его обратно, перезаписывая правильные адреса старыми данными. Только исправив и вычистив словарь, я наконец-то запустил игру.

ГЛАВА 10: Камуро-Дизайн и Ручная Калибровка

Визуальную часть тоже пришлось допиливать. Про битву с цветом я подробно рассказывал в , но оставалась проблема геометрии.

Автоматическая калибровка в «Камуро-Дизайн» работала неидеально — текст предательски сползал вниз. Поэтому я использовал её только для поиска базовой линии, а дальше действовал вручную.

Я доработал плагин, чтобы можно было принудительно менять высоту символов. Пришлось слегка увеличить их и подогнать так, чтобы низ русской буквы стоял идеально вровень с точкой в английском оригинале. Теперь текст не «плавает» относительно интерфейса.

Заодно провел точечный ремонт:

  • Отрисовал новый пресет для буквы «ё» и перенес её в другую ячейку таблицы (подальше от греха и технических конфликтов).
  • Слегка сдвинул «п», чтобы она не слипалась с соседями.

В итоге — это всё ещё ручная работа, но теперь у меня есть инструменты, чтобы видеть результат сразу, а не после десятого перезапуска игры.

Русификатор Yakuza 5 Remastered. Часть 4: «Навигатор Сузуки», восстановление сборки и 41 000 строк.

ГЛАВА 11: 41 000 строк, «Советник» и поломка сюжета

Пока я воевал с архитектурой и бинарниками, база переводов («Master Dictionary») разрослась до неимоверных масштабов. На данный момент в словаре зафиксировано уже более 41 000 строк. Теперь при входе в игру встречает не только логотип, но и понятные русские пункты в Настройках и Главном меню.

Русификатор Yakuza 5 Remastered. Часть 4: «Навигатор Сузуки», восстановление сборки и 41 000 строк.

Чтобы не утонуть в таком объеме, я внедрил в инструментарий «Советника». Это алгоритм внутри редактора, который анализирует структуру строки и подсвечивает её: диалоги — зеленым, а опасные системные ID — красным.

Русификатор Yakuza 5 Remastered. Часть 4: «Навигатор Сузуки», восстановление сборки и 41 000 строк.

В вопросах пунктуации я решил не рисковать. Чтобы игра гарантированно не вылетала, я настроил автоматическую замену русских кавычек-ёлочек «» на стандартные "". Красота важна, но стабильность важнее. А вот длинное тире — удалось сохранить, и теперь оно отображается корректно.

Русификатор Yakuza 5 Remastered. Часть 4: «Навигатор Сузуки», восстановление сборки и 41 000 строк.
Русификатор Yakuza 5 Remastered. Часть 4: «Навигатор Сузуки», восстановление сборки и 41 000 строк.

Но самая главная победа — в логике. Помните мою статью про Решение проблемы 0xFF? Чтобы окончательно победить вылеты, я внедрил систему Двойной Кодировки.

Это кажется костылем, но это работает: программа анализирует файл, и если видит технические данные, использует одну таблицу символов, а для диалогов — другую, безопасную, где русская "я" не превращается в смертельный байт FF. Только этот гибридный подход позволил запустить меню без крашей.

Но без «ложки дегтя» не обошлось. Плагин «Сценарист», отвечающий за сборку катсцен, перестал работать. То ли я давно его не обновлял, то ли он не подружился с новым ядром кодировки, но собирать файлы сюжета он отказывается.

Русификатор Yakuza 5 Remastered. Часть 4: «Навигатор Сузуки», восстановление сборки и 41 000 строк.

Тем не менее, на старых сборках уже видно, как преобразился шрифт в катсценах — он стал ровным и четким (скриншоты приложу). Теперь цель — переписать «Сценариста» под новые стандарты и вернуть сюжет в строй.

Русификатор Yakuza 5 Remastered. Часть 4: «Навигатор Сузуки», восстановление сборки и 41 000 строк.
Русификатор Yakuza 5 Remastered. Часть 4: «Навигатор Сузуки», восстановление сборки и 41 000 строк.

И символ переноса экранировал правильно

Русификатор Yakuza 5 Remastered. Часть 4: «Навигатор Сузуки», восстановление сборки и 41 000 строк.
Русификатор Yakuza 5 Remastered. Часть 4: «Навигатор Сузуки», восстановление сборки и 41 000 строк.

📋 СПИСОК ЗАВЕРШЕНИЯ

ОСНОВНОЕ:

✅ Восстановить систему сборки (После критического сбоя)

✅ Создать «Навигатор Сузуки» (Инструмент для .bin файлов)

✅ Интеграция перевода (Главное меню и Настройки работают)

ТЕКСТ И ШРИФТЫ:

✅ Базовая линия (Текст выровнен по высоте, исправлены отступы)

✅ Пунктуация (Тире работает, кавычки заменены на безопасные)

✅ Объем словаря (Достигнута отметка 41 000+ строк)

ПРОБЛЕМЫ И ПЛАНЫ:

❌ Плагин «Сценарист» (Сломан, требуется ремонт)

❌ Кернинг (Буквы местами слипаются, требуется полировка)

🔨 Редактор Текстур (Старый стал редактором шрифтов, нужен новый для UI-картинок)

Хроники разработки:

  1. Часть 1: Автоматизация перевода — Читать
  2. [Side Story] Создание инструментария — Читать
  3. [Side Story] Инженерия Бешеного Пса — Читать
  4. Часть 2: Проблемы и решения — Читать
  5. Часть 3: Проблема 0xFF — Читать
  6. [Side Story] Битва за Шрифт в 4К — Читать
19
1
21 комментарий