Русификация 3DO-версии Star Control 2

Русификация оригинальных игр и модификаций
BratWikipediy
Перевод SC2 для 3DO
Сообщения: 54
Регистрация: 02 июн 2025

Русификация 3DO-версии Star Control 2

Сообщение BratWikipediy »

Star Control 2 для 3DO - Русская версия

Изображение

Скачать образ русской версии v1.0.0:

Star_Control_II_(1994)(EU-US)_RUSSOUND_v1.0.0.zip


Star Control II — вторая игра серии Star Control. Является космическим квестом с элементами RPG и аркадными боями. Игра часто занимает первое место в топах игр для 3DO.

Тип перевода:
текст+звук

Работы по русификации образа Star Contol 2 для 3DO:
BratWikipediy - идея выпуска перевода, разбор ресурсов игры, написание скриптов по обратной запаковке, портирование текста перевода, перерисовка основного шрифта, запись новой озвучки в нейросети, модификация озвучки видеороликов
oamru - тестирование образа на реальной приставке, обнаружение проблем, которые не проявлялись в эмуляторе

99% русского текста и часть шрифтов взяты из русификатора The Ur-Quan Masters*, созданного командой Русские Ур-Кванские Хозяева и доработанного командой URQM.RU. Подробнее о переводе The Ur-Quan Masters
*порт игры Star Control 2 из исходников игры на ПК, не является точной копией версии 3DO, а как смесь DOS+3DO версий.
Участники перевода The Ur-Quan Masters
Команда URQM.RU:
- Чечеба Виталий (SLY) - большое количество правок в тексте, исправлений названий, терминов, наведение порядка в названиях модулей корабля и др.
- VitSmart
- Malin
- Vasaka

команда Русские Ур-Кванские Хозяева:
- Алексей Кравченко (gEtOvEr, getover@gmail.com): координатор и основатель проекта.
- Андрей Заболотный (zap, anpaza@mail.ru): перевёл файлы: chmmr, comandr, shofixt, starbas, supox, urquan, vux, intro, final; создал кириллические шрифты и сделал ряд патчей для внедрения UTF в UQM.
- Артём Попов (tfwo, artfwo@gmail.com): перевёл файлы: blackur, shofixt, spathi, talkpet, zoqfot, starcon, ipanims/*.txt.
- Евгений Жемчугов (Jini, jini.zh@gmail.com): перевёл файлы: arilou, blackur, chmmr, comandr, druuge, ilwrath, melnorm, mycon, rebel, spahome, yehat; проверил весь перевод на грамматические и орфографические ошибки, провёл бета-тестирование.
- Игорь Бетин (I-um, i-um@yandex.ru): перевёл файлы: orz, pkunk, slyhome, slyland, thradd, umgah, utwig.
- Ульяна Молдовян (ulea, anpaza@mail.ru): перевела файл: syreen
Материально поддержали проект перевода 3DO версии, за что им отдельное спасибо:
Dux, oamru

Основная тема: forum.3doplanet.ru
Оригинальная тема обсуждения работы над переводом игры: forum.3doplanet.ru

Демонстрация перевода игры:



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

Сейчас завел основную тему перевода на emu-land https://www.emu-land.net/forum/index.ph ... 181.0.html, там есть демо озвучки. Озвучку можно было потом портировать и в The Ur-Quan Masters, если будет желание такое.
Последний раз редактировалось Malin 12 июл 2025, 16:26, всего редактировалось 10 раз.
Аватара пользователя
Malin
Сообщения: 2175
Регистрация: 28 май 2023

Перевод 3do версии StarControl 2

Сообщение Malin »

Хорошая работа, BratWikipediy!
Прикрепи архив с каким-нибудь файлом к сообщению, например, для LANDER_FONT, т.е. 11203d01.
Любопытно посмотреть на досуге.
BratWikipediy
Перевод SC2 для 3DO
Сообщения: 54
Регистрация: 02 июн 2025

Перевод 3do версии StarControl 2

Сообщение BratWikipediy »

Вот 5 шрифтов, я так понял в 3DO всего столько. в uqm, как в Dos версии субтитры есть у рас, и они разными шрифтами как фишка расы. а здесь из-за того что субтитров нет, то и таких шрифтов нет.
Вложения
fonts.zip
(6.34 КБ) 19 скачиваний
Последний раз редактировалось BratWikipediy 10 июн 2025, 19:59, всего редактировалось 1 раз.
BratWikipediy
Перевод SC2 для 3DO
Сообщения: 54
Регистрация: 02 июн 2025

Перевод 3do версии StarControl 2

Сообщение BratWikipediy »

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

p.s проверил что в других шрифтах некоторые символы криво показываются, там где разной ширины, нужно еще будет посмотреть их внимательнее. хорошо отображается LANDER_FONT, там все одинаковой ширины и высоты символы.
Вложения
font-decode.png
font-decode.png (15.17 КБ) 274 просмотра
Последний раз редактировалось BratWikipediy 10 июн 2025, 22:42, всего редактировалось 3 раза.
BratWikipediy
Перевод SC2 для 3DO
Сообщения: 54
Регистрация: 02 июн 2025

Перевод 3do версии StarControl 2

Сообщение BratWikipediy »

все было правильно в декодировании, перепутал width и height местами, а в lander font были 5 на 5, поэтому не было заметно. теперь все шрифты ок распознаются из байтов.

Вот символы из шрифта диалогов, который нужно исправить, чтобы они стали кириллицей.
Вложения
player-symbols.png
player-symbols.png (10.62 КБ) 262 просмотра
Аватара пользователя
Malin
Сообщения: 2175
Регистрация: 28 май 2023

Перевод 3do версии StarControl 2

Сообщение Malin »

Здорово у тебя получается!

Я так понимаю в 3DO-шном файле по адресу имени файла, например, 0х11203d01 (для LANDER_FONT), со смещением например +0х00000380, будут лежать те же байты 40 00 00 31 00 05 00 00 00 05 00 05 00 00 09 F8 для буквы Q. Так?
Если это так, то можно просто в лоб заменить нужные байты в самом 3DO-шном файле. Заменить один пиксель в букве и посмотреть, что будет.

Кстати, как ты получил буквы? У меня что-то не получилось, или я до конца не понял описание. По адресу 0х00000380 со смещением +0x000009F8 лежит явно не битовая маска буквы Q.
BratWikipediy
Перевод SC2 для 3DO
Сообщения: 54
Регистрация: 02 июн 2025

Перевод 3do версии StarControl 2

Сообщение BratWikipediy »

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

В STARCON.PKG все файлы ресурсов упакованы без изменения байтов, т.е. без какого либо сжатия, т.е. можно байты править от шрифта уже потом уже и пересобирать образ.

Отображения символов я получил руководствуясь инструкциями gfxres и fontres из https://sourceforge.net/p/sc2/uqm/ci/ma ... doc/devel/, в частности
из gfxres
for every line in the image (bounds.height lines):
2 number of bytes used to encode this line
The actual number of bytes is computed like so:
(number-of-bytes + 2) * 4

сами байты уже строк полученные из инструкции выше потом декодировал повторив логику из ani https://sourceforge.net/p/sc2/uqm/ci/ma ... ni/unani.c

я не знаю, может там какой-то стандарт кодирования этот или именно их разработка, я в этой области не разбираюсь.
в утилите unani.c написано, что // information on the packed format can be found in 3do/imageint.c, я так понимаю это https://github.com/trapexit/3do-star-co ... imageint.c, но там я не смотрел, получилось на основе кода в unani восстановить логику
Вложения
char-change.png
char-change.png (33.77 КБ) 259 просмотров
Аватара пользователя
SLY
Сообщения: 3670
Регистрация: 23 сен 2013

Перевод 3do версии StarControl 2

Сообщение SLY »

О, да тут всё идёт семимильными шагами! Класс. Желаю, чтобы всё получилось и удалось таки дожать.
BratWikipediy
Перевод SC2 для 3DO
Сообщения: 54
Регистрация: 02 июн 2025

Перевод 3do версии StarControl 2

Сообщение BratWikipediy »

Получилось собрать упаковщик своих файлов в стандарте шрифтов star control 2 для 3DO из папки с png, там правда еще есть параметры точка выравнивания края картинки (например буква "р" чуть ниже хвост по Y), пока эти параметры не разбирался, просто скопировал в json, но можно чуть что-то просто править json и собрать новый fon файл еще раз. А такие настройки были у символов шрифтов в UQM?

Перерисовал png символа n в Н для теста, и автоматом мой скрипт создало из png новый fon, т.е. упаковщик работает, именно размещение пикселей из png упаковывает.

Я еще разобрался, как пересобрать STARCON.PKG, но не тестировал. Это было нужно если fonres файл станет больше, получить новый STARCON.PKG, но также это даст возможность увеличить и другие файлы ресурсов, наиболее интересные - ресурсы Conversation (где вопросы игрока), потому что часть фраз на русском более длинная, чем на английском.
Дальше попробую посмотреть, как устроены эти ресурсы Conversation, получится ли их так модифицировать, или придется ограничится кол-вом байтов оригинальный фраз.
Вложения
n-Н.png
n-Н.png (26.45 КБ) 243 просмотра
Последний раз редактировалось BratWikipediy 12 июн 2025, 17:31, всего редактировалось 2 раза.
Аватара пользователя
SLY
Сообщения: 3670
Регистрация: 23 сен 2013

Перевод 3do версии StarControl 2

Сообщение SLY »

BratWikipediy писал(а): 12 июн 2025, 17:29 Получилось собрать упаковщик своих файлов в стандарте шрифтов star control 2 для 3DO из папки с png, там правда еще есть параметры точка выравнивания края картинки (например буква "р" чуть ниже хвост по Y), пока эти параметры не разбирался, просто скопировал в json, но можно чуть что-то просто править json и собрать новый fon файл еще раз. А такие настройки были у символов шрифтов в UQM?
Не знаю, как оно было реализовано в коде, но на практике всё выравнивалось за счёт отступов в самом PNG с фиксированной высотой по Y. Если в шрифте присутствовали строчные буквы с "хвостами" вниз - типа "р", "у", "ф" и т.д., то у всех остальных букв снизу просто добавлялся отступ в несколько пустых пикселей. Покажу на примере HD, но в UQM тоже самое.

Изображение

В данном случае высота каждого PNG 34 пикселя, и у каждой буквы, у которой ничего снизу не "торчит" ещё 7 пустых пикселей.

Более того, когда создавал шрифты для HD, опытным путём выяснил, что даже строго заданная высота PNG вовсе не обязательна (по крайней мере для HD - в UQM надо проверять). К примеру, я создавал строчные буквы для шрифтов, в которых в оригинале был только один регистр (что по моему мнению зло), путём уменьшения букв того же самого шрифта. И подтвердилось, что высота PNG не имеет значения - достаточно соблюсти равный отступ в пикселях снизу, чтобы всё смотрелось ровно.

Изображение
Изображение

Но всё же это по HD. Поэтому на всякий случай ещё добавлю, что в UQM каждый шрифт имеет свою строгую высоту по всем буквам, и за счёт отступов регулируется её положение, но выравнивание там точно с таким же успехом может идти и по верху. Так, к примеру, сделано в МегаМоде. Когда пробовал подкидывать эти шрифты от HD туда, они начинали плясать.
Последний раз редактировалось SLY 13 июн 2025, 12:39, всего редактировалось 5 раз.
BratWikipediy
Перевод SC2 для 3DO
Сообщения: 54
Регистрация: 02 июн 2025

Перевод 3do версии StarControl 2

Сообщение BratWikipediy »

Понятно, спасибо за разъяснение этой части.

Я уже более менее понял как запакованы диалоги, оказалось что файлы conversations - это тоже pkg файлы, т.е. в starcon.pkg внутри еще могут быть pkg, вроде бы код 4 у них, но я другие pkg не искал. и вот если распаковать еще раз уже каждый conversations, то там есть файлы где только сами строки с заголовком, где прописаны длины каждой строки, т.е. по идее легко получится увеличить на новые значения строк.

Но пока я дальше разобрался как запаковывать назад распакованные данные, потому что в исходниках tool только для распаковки, но вроде бы почти получилось тоже повторить логики распаковки на python и сделать упаковщик. Просто без перепаковки новой нельзя увеличивать размеры файлов самих, где строки. Поэтому это более важный момент был сейчас.
Последний раз редактировалось BratWikipediy 13 июн 2025, 18:30, всего редактировалось 1 раз.
Ответить