Русификатор Yakuza 5 Remastered. Часть 7: Истинный виновник крашей, рабочий интерфейс и переезд на GOG
Разработка русификатора Yakuza 5 Remastered вышла на новый этап. Если раньше основной проблемой был поиск указателей вслепую, то теперь, с внедрением RGG DB Studio, я работаю с полноценными базами данных напрямую. Это не просто перебор байтов, это процесс перекомпиляции игровых структур. Но этот путь не обошелся без сюрпризов, детективных расследований и вынужденных переездов.
Глава 18: Оправдательный приговор для Дайго
В прошлом посте я жаловался, что игра намертво вылетает на первой же сюжетной катсцене — в такси с Дайго Доджимой. Я был уверен, что мой сканер сломал файлы диалогов (.msg), случайно перезаписав код анимаций. Оказалось, я ошибался.
Чтобы найти причину вылета, я устроил детективную проверку методом исключения. Я возвращал файлы к оригинальным английским версиям из 00_ORIGINAL_FILES и добавлял переведенные строго по одному, каждый раз запуская игру. Виновником оказался drive_parts.bin.
Это база данных, отвечающая за запчасти для такси. Проблема заключалась в поле CATEGORY. Для меня это просто текст («Wheel», «Sticker»), который логично перевести, но для движка игры — это жестко заданный «ключ» (Key). Как только я перевел названия категорий, логика игры нарушилась: она перестала видеть запчасти в меню и вылетала при загрузке. Стоило мне оставить CATEGORY в оригинале и перевести только NAME и DESC — всё заработало. Теперь такси едет, игра живет, а я получил важный урок: технические ключи в базе данных трогать нельзя, даже если они выглядят как обычный английский текст.
Глава 19: Плоды трудов
А теперь о приятном. Благодаря тому, что базы данных главного меню (boot архив) сдались, игра начала преображаться на глазах.
Я собрал всё вместе, и вот как это выглядит прямо сейчас в игре:
Как видите, переведено не только оружие и предметы, но и всплывающие подсказки, заметки, названия глав и меню. Текст не вылезает за рамки, кавычки работают корректно. Работы по полировке еще много, но видеть такой интерфейс в игре 2012 года — бесценно.
Глава 20: Исход в пиратскую гавань
Пока я воевал с кодом, прилетела проблема откуда не ждали: меня выбросило из аккаунта Steam, и зайти обратно оказалось той еще головной болью.
Без доступа к Стиму тестировать сборки невозможно, поэтому я принял стратегическое решение: я перехожу на GOG-версию игры.
Для модов это даже плюс. Файлы движка там абсолютно идентичны, но нет никакой привязки к лаунчерам, онлайну и DRM. Локальная, независимая версия — идеальная песочница для разработчика. Так что теперь русификатор куется в уютной "пиратской" гавани.
Глава 21: Вопрос к залу
К слову о вылетах из аккаунтов. Меня точно так же выбросило и из DTF. Зайти обратно я смог чудом. И это натолкнуло меня на мысль.
Я пишу эти посты не как сухие корпоративные отчеты, а как живой фан-дневник разработки. Мне нравится делиться эмоциями, странными багами и мемами, которые рождаются в процессе.
Как вы считаете, стоит ли мне завести Telegram-канал(или что-то ещё) параллельно с DTF? Там можно было бы кидать мелкие апдейты, смешные скриншоты с кривым текстом и общаться в более неформальной обстановке, не боясь, что платформа в любой момент отвалится. Напишите в комментариях, читали бы вы такой формат в Телеге?
Эпилог: С праздником!
Поскольку этот пост выходит 8 Марта, я не могу обойти это стороной.
Хочу поздравить всех девушек, которые читают этот блог, любят серию Yakuza или просто случайно сюда забрели — с Международным женским днем! Пусть в вашей жизни будет поменьше багов, побольше радостных катсцен, а все жизненные "лимиты" легко обходятся. Будьте счастливы!
Работа продолжается. На очереди — полноценный парсинг диалогов. До связи!
📋 СПИСОК ЗАВЕРШЕНИЯ (Часть 7)
ОСНОВНОЕ:
✅ RGG DB Studio: Успешная декомпиляция, правка и перекомпиляция баз данных (item.bin, ability.bin, drive_mission.bin).
✅ Стабилизация билда: Устранение крашей через метод исключения файлов и очистку технических полей от перевода.
✅ Переход на GOG: Стабилизация среды разработки и отказ от привязки к онлайн-аккаунтам.
✅ Интеграция перевода: Инвентарь, меню способностей, заметки и подсказки корректно отображаются в игре.
ИНСТРУМЕНТАРИЙ:
✅ RGG DB Studio: Интеграция Node.js скриптов для "честной" компиляции бинарных баз данных.
✅ Smart Build Engine (V38.0): Динамические границы поиска указателей (защита от порчи скриптов катсцен).
✅ Universal Editor Scanner: Улучшенная эвристика для отсечения префиксов и мусора перед строками.
✅ Patch Assistant: Автоматизация бэкапов и защита файлов от "неудачных" патчей.
ПЛАНЫ И ВЫЗОВЫ:
🛠 Доработка MSG-парсера: Перевод .msg файлов без "слепого" поиска (переход на прямой парсинг таблиц указателей).
🛠 Рефакторинг словаря: Очистка дубликатов, накопившихся после автоматизации, и синхронизация версий перевода
[UPD] Не буду дублировать ссылки на прошлые посты мне лень.