Русификатор Yakuza 5 Remastered. Часть 6: Невидимый фронт. Ремонт инструментария, лимиты памяти и пропавшее меню.
Привет всем, кто продолжает следить за проектом! С момента прошлого поста прошла всего неделя, но по ощущениям — целый месяц. Если вам кажется, что визуально в игре изменилось немногое, то вы совершенно правы. Эта неделя стала периодом сурового «техобслуживания», когда большая часть времени уходила на то, чтобы чинить, полировать и улучшать собственные инструменты. Работа не самая заметная, но фундаментальная.
Хотя не обошлось и без «производственных травм». На этой неделе я случайно затер результаты своей прошлой работы над Главным меню. Решил проверить черновые текстуры паузы для Кирю, но забыл о специфике движка: файлы главного меню прятались в под-архиве внутри папки ui_en_unpacked. Мой скрипт честно упаковал папку, перезаписав переведенные файлы старыми исходниками. В итоге «лицо» игры пришлось восстанавливать и перерисовывать заново.
Помимо этого «тушения пожара», работа шла над глубоким тюнингом всего хаба инструментов:
- Перековка Ядра: Я полностью переписал ядро сборки и сканеры в «Редакторе Дракона». Теперь софт гораздо эффективнее изолирует «опасные» системные строки, перевод которых раньше вызывал моментальный краш игры. Заодно внедрил систему автоматизированного сбора строк, длина которых выходит за рамки лимитов движка — это позволяет находить потенциальные ошибки отображения ещё до запуска игры.
- Апгрейд «Студии Сайджо»: Графический плагин прошел через капитальный ремонт. Исправлены алгоритмы отрисовки контуров текста, настроена жесткая привязка к рамкам и добавлена поддержка визуальных тем оформления. Также я подготовил подробную встроенную справку, чтобы в будущем не гадать над логикой собственных функций.
- Бинарные лабиринты: Массу времени уделил попыткам «взломать» логику сложных .bin файлов. Я написал для них отдельный анализатор, пытаясь разобраться с обновлением указателей и фильтрацией технических префиксов в строках. Но должен признать: этот орешек пока не расколот. Ни универсальный алгоритм, ни попытки настроить сборку под конкретные файлы пока не дают стабильного результата — бинарники Yakuza 5 крайне капризны к любому вмешательству.
Сегодня я покажу вам восстановленное из небытия меню, результаты смыслового сокращения самых проблемных фраз и расскажу, чем живет Yakuza Hub.
ГЛАВА 15: Поиск изъянов на ярком фоне
Всё началось с попытки отладить меню Кирю. Пытаясь внедрить черновой вариант интерфейса прокачки персонажа, я допустил ту самую досадную ошибку с архивами, которая стерла все наработки Главного меню. В итоге разработка «лица» игры пошла на второй круг.
На текущий момент у меня готов рабочий черновик меню Кирю, который я активно тестирую. Разница в поведении шрифта на светлом и тёмном фоне колоссальная — на скриншотах ниже видно, как на ярких участках вылезают огрехи сглаживания и артефакты отрисовки, которые совершенно незаметны в тени. Именно поэтому я доработал «Студию Сайджо»: к базовой «Океанской» теме я добавил ряд кислотных, гипер-контрастных фонов. Они не для красоты: это диагностический инструмент, позволяющий сразу увидеть «грязные» пиксели вокруг букв еще до того, как они попадут в игру.
Черновой билд статов Кирю пока далёк от идеала: размеры строк гуляют, а выравнивание требует точечной настройки. Но теперь инструментарий работает на меня:
- Я исправил контуры текста, чтобы они не размывались при отрисовке.
- Настроил систему так, чтобы надписи вписывались в рамку строго по заданным координатам.
- Написал подробную инструкцию к плагину. В первую очередь — для себя, чтобы не вспоминать настройки макросов через месяц, и на будущее для тех, кто захочет изучить или переделать мой код.
А результатом «неплановой» переделки стала новая версия Главного меню. Пусть и собранная на скорую руку, теперь она опирается на исправленную логику и чище встает на своё место
ГЛАВА 16: «Цифровой рентген» и 127 000 указателей
Пока я рисовал заголовки глав, «Редактор Дракона» прошел через полную переборку двигателя. Если раньше я воевал с вылетами, то теперь задача сменилась на хирургическую точность. Проблема с «пропадающими именами» и «обрезанными фразами» потребовала внедрения инструментов, которые обычно встречаются в профессиональных средах разработки.
Вот что появилось в версии V46.3:
- Детектор Префиксов: В игре одна и та же строка может быть чистым текстом, а может начинаться с технических байтов (префиксов типа 13, 43 или 4D). Раньше я их не видел и гадал, почему «Кирю» в одном диалоге переведен, а в другом — остался на английском. Теперь я вывел в редактор отдельные колонки prefix_hex и prefix_str. Я вижу каждый «грязный» байт перед строкой и могу точно настраивать словарь.
- Глобальный поиск: Искать слово в 3000 файлах вручную невозможно. Теперь в редактор встроен поисковик, который «прочесывает» все папки проекта и мгновенно собирает нужные фразы в одну таблицу. Это позволило мне за минуту найти все вхождения проблемных имен и поправить их разом.
- Охотник за «Опасными строками»: Та самая кнопка для борьбы с обрезанием текста. Редактор автоматически анализирует переводы, находит слишком длинные строки или те, что сильно отличаются по размеру от оригинала, и экспортирует их в отдельный список для «смысловой стрижки».
Что касается статистики сборки, то цифры сначала ввели меня в ступор. На пике отладки при лимите в 64 КБ скрипт обновил 127 495 указателей. Для понимания масштаба: это сотни тысяч адресов, которые программа нашла и переписала вручную за 13 секунд.
В текущей версии я стабилизировал это число в районе 42 тысяч, выставив «безопасное окно» сканирования в 32 КБ. Главный итог этой инженерной возни — сборка больше не вылетает. Бинарная структура файлов выстояла под натиском кириллицы, и теперь я могу сосредоточиться на том, чтобы текст не просто «был», но и идеально влезал в экран
ГЛАВА 17: Бинарные Лабиринты и Навигатор Pro
Несмотря на успехи с меню, главный «босс» бинарных файлов — ability.bin (файл способностей) — всё ещё не повержен. Оказалось, что структура указателей там гораздо коварнее, чем в обычных таблицах. Сколько бы я ни переписывал алгоритмы поиска, адреса в этом файле отказываются обновляться корректно.
Чтобы не превратить основной код в кашу из правок и костылей, я принял радикальное решение — создать отдельную модульную версию инструмента: Навигатор Сузуки Pro.
Это уже не один большой скрипт, а полноценная архитектура из десятка специализированных модулей:
- analyzer.py — отдельное «зрение» для структуры данных.
- builder.py — чистый движок сборки, не зависящий от интерфейса.
- formats.py — библиотека описания структур, где каждому хитрому файлу выделен свой «паспорт».
- prefixes.py — отдельная логика по борьбе с «мусорными» префиксами.
Я перешел на профессиональную модульную структуру, чтобы иметь возможность настраивать «обвесы» под каждый сложный файл игры отдельно, не боясь сломать старое. Да, ability.bin всё ещё сопротивляется, но теперь у меня есть не просто «ключ», а целый ремонтный цех, способный разобрать любой файл на запчасти.
Битва за бинарники перешла в стадию долгой осады, но я уверен: в Нагасугай нет такого двигателя, который Сузуки не смог бы заставить работать.
📋 СПИСОК ЗАВЕРШЕНИЯ (Часть 6)
ОСНОВНОЕ:
✅ Стабильная сборка (1784/2959 файлов успешно проходят через хаб без вылетов игры).
✅ «Навигатор Сузуки Pro» (Переход на модульную архитектуру — 11 отдельных модулей).
✅ Интеграция 56к+ строк (Диалоги города и меню в деле).
ИНСТРУМЕНТАРИЙ:
✅ Детектор префиксов (Теперь в редакторе видно «грязные» байты перед текстом).
✅ Охотник за обрезкой (Авто-сбор слишком длинных фраз для последующей правки).
✅ Глобальный поиск (Поиск и правка слов разом по всем файлам проекта).
✅ Сценарист (Сборщик катсцен снова в строю, поддержка длинных тире).
ПЛАНЫ И ВЫЗОВЫ:
🛠 Штурм ability.bin (Изучение уникальной структуры указателей через Навигатор Pro).
🛠 Смысловая компрессия (Ручная правка строк, найденных «Охотником за обрезкой»).
🔨 Символьный уровень (Переписывание логики редакторов: переход от сырых байтов к абстрактным символам).
Работа продолжается. Проект стал технически сложнее, но гораздо стабильнее. Бинарный код медленно, но верно отдает свои секреты.
📚 Хронологическая цепочка Хроник:
- Часть 1: Автоматизация — Читать
- [Side Story] Инструменты — Читать
- [Side Story] Инженерия Бешеного Пса — Читать
- Часть 2: Проблемы и решения — Читать
- Часть 3: Баг 0xFF — Читать
- [Side Story] Шрифт в 4К — Читать
- Часть 4: Навигатор Сузуки — Читать
- [Side Story] Студия Сайджо — Читать
- Часть 5: Лицо игры и изнанка кода — Читать