Автор Тема: [SMD] Centurion: Defender of Rome [T-RUS ArtBavial Software 2026]  (Прочитано 212 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн artbavial

  • Пользователь
  • Сообщений: 7
  • Пол: Мужской
    • Просмотр профиля
Всем привет!

Готовлю русский перевод Centurion: Defender of Rome для Sega Mega Drive / Genesis. Работа идёт не быстро. Наконец была решена проблема которая в принципе сделала этот перевод возможным, но об этом ниже. Да и летом решил начать делать Чингисхана 2 от Koei и этот проект остановился в текущем состоянии.

Что уже сделано:
- Добавлена кириллица в основной игровой шрифт. Латинские буквы сохранены, поэтому оставшийся английский текст не превращается в нечитаемый набор символов.
- Переведена значительная часть меню, команд и сообщений о легионах и флотах.
- Переведены названия провинций, многие имена командиров и правителей.
- Добавлен перевод некоторых дипломатических реплик, диалогов с Клеопатрой, результатов морских сражений и части случайных событий.
- Переведены вступление и часть текста завершения игры.
- Перерисовал главную заставку игры. Вроде как получилось в одном стиле.
- Во многих местах поработал с указателями. Текст теперь читается красивее и понятнее. Но там еще работы дофига, процесс медленный.
- Понял как работать с сжатыми данными в игре. Дипломатические реплики с противниками одни из них.

Проблема которую смог решить только в начале этого года
После изменения ROM обнаружилась неприятная проблема: при запуске игра останавливалась на тёмном экране.
Оказалось, что Centurion использует не только стандартную контрольную сумму в заголовке Sega, но и собственную внутреннюю проверку целостности. При загрузке она рассчитывает 32-битное значение по определённым областям ROM и сравнивает его с фиксированной константой, записанной в коде.
У оригинала ожидаемое значение — 0x3A18B046. После изменения текстов и расширения ROM результат стал другим. Обычная контрольная сумма в заголовке была пересчитана, но этого оказалось недостаточно: внутренняя проверка не проходила, и программа уходила в бесконечный цикл вместо продолжения загрузки.
Проверку отключать не стал. Воспроизвёл её алгоритм, пересчитал значение для изменённого ROM и обновил ожидаемую константу. Затем заново пересчитал стандартную контрольную сумму. После этого запуск восстановился и это был мой триумф, ибо на этой проблеме было сломано столько копей.
Теперь при каждой новой сборке проверяются обе суммы, чтобы не повторить эту ошибку.

Текущая стадия
Перевод находится на стадии частичной тестовой русификации. Основной интерфейс и многие игровые сообщения уже читаются по-русски, но итоговая статистика, титры и отдельные блоки текста ещё требуют доработки. Текст еще просит форматирования и изменения а так же работы с указателями. Я думал будет быстрее, но очень много текста в игре оказалось.

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

« Последнее редактирование: Сегодня в 01:31:56 от artbavial »

Оффлайн Checnochok

  • Пользователь
  • Сообщений: 24
    • Просмотр профиля
[SMD] Centurion: Defender of Rome [T-RUS ArtBavial Software 2026]
« Ответ #1 : Вчера в 12:22:11 »
Неушта пиривод биз поинтерав?

Оффлайн artbavial

  • Пользователь
  • Сообщений: 7
  • Пол: Мужской
    • Просмотр профиля
[SMD] Centurion: Defender of Rome [T-RUS ArtBavial Software 2026]
« Ответ #2 : Вчера в 12:26:59 »
Неушта пиривод биз поинтерав?

Поинтеры есть, конечно. Пока большую часть текста заменяю на месте, а там, где нужно увеличить строку, переношу её в свободную область ROM и меняю указатель. Например, подпись звания уже так переделал.
Сокращения в некоторых местах всё равно нужны из-за размеров окон и пунктов меню. Но конкретно здесь проблема исправимая, это недоработка будет исправлена.

Я же говорю еще работы много. Поэтому я и не выкладываю недоделанный ром.

Оффлайн Iron

  • Администратор
  • Сообщений: 2587
  • Пол: Мужской
  • Founder
    • Просмотр профиля
[SMD] Centurion: Defender of Rome [T-RUS ArtBavial Software 2026]
« Ответ #3 : Вчера в 13:03:34 »
Отлично :thumbup:

К таким играм можно сразу и руководства переводить: если раньше не играл - ничего не понятно :debile:

https://www.emu-land.net/library/manuals/genesis?act=dlfile&id=5625

Оффлайн artbavial

  • Пользователь
  • Сообщений: 7
  • Пол: Мужской
    • Просмотр профиля
[SMD] Centurion: Defender of Rome [T-RUS ArtBavial Software 2026]
« Ответ #4 : Вчера в 13:59:21 »
Отлично :thumbup:

К таким играм можно сразу и руководства переводить: если раньше не играл - ничего не понятно :debile:

https://www.emu-land.net/library/manuals/genesis?act=dlfile&id=5625

Неплохая идея) Может кто возьмется?

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5753
    • Просмотр профиля
[SMD] Centurion: Defender of Rome [T-RUS ArtBavial Software 2026]
« Ответ #5 : Вчера в 15:15:10 »
Часть текста сжата, я адаптировал программу сжатия для одного человека, но похоже он пока не сделал перевод. Вы так подробно описываете простую задачу с контрольной суммой, но почему-то не упомянули сжатие, поэтому я не понял, разобрались ли вы со сжатием.

Оффлайн artbavial

  • Пользователь
  • Сообщений: 7
  • Пол: Мужской
    • Просмотр профиля
Re: [SMD] Centurion: Defender of Rome [T-RUS ArtBavial Software 2026]
« Ответ #6 : Вчера в 15:24:32 »
Часть текста сжата, я адаптировал программу сжатия для одного человека, но похоже он пока не сделал перевод. Вы так подробно описываете простую задачу с контрольной суммой, но почему-то не упомянули сжатие, поэтому я не понял, разобрались ли вы со сжатием.

Да, со сжатием пока не разобрался: до сих пор работал с несжатыми текстовыми блоками, шрифтом и указателями. Сжатую часть текста ещё не распаковывал и не перепаковывал, поэтому перевод и обозначен как частичный.

Контрольную сумму подробно описал потому, что именно на этой проблеме остановилась моя попытка перевода в 2021 году. Не хотел представить её как какую-то особо сложную задачу — для меня тогда причина остановки запуска была непонятна, а сейчас удалось разобраться и получить воспроизводимое решение. Но это, конечно, не означает, что остальные форматы данных игры уже исследованы.

Если можете поделиться адаптированной программой или подсказать, для каких блоков ROM она предназначена, буду благодарен. Она включает только сжатие или также распаковку? Это помогло бы продолжить работу со сжатой частью текста.

Оффлайн artbavial

  • Пользователь
  • Сообщений: 7
  • Пол: Мужской
    • Просмотр профиля
[SMD] Centurion: Defender of Rome [T-RUS ArtBavial Software 2026]
« Ответ #7 : Вчера в 23:02:59 »
Сегодня решил начать шлифовку игры:
- Доработал главную заставку игры. Вышло 1 в 1 в стиле оригинала, я доволен работой.
- Так же выровнял и перераспределил текст в интро к игре.
- Поправил проблему с буквой "Б". Процедура очистки карты экрана записывала 2049 слов вместо 2048. Последнее, лишнее слово попадало в начало тайла «Б» и портило её верхний левый угол.
- Поправил отображения меню и статистики боя. Теперь на нее приятно смотреть.
- Перевел все дипломатические реплики. Реплик дофига вносить их в игру буду не быстро))

Еще изменения дополню в этом посте. Еще вожусь с текстами в игре.



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

Все я разобрался сжатыми данными. Ничего не нужно. :)
« Последнее редактирование: Сегодня в 01:23:09 от artbavial »