Очень просто! Подписи к титрам хранятся в файлах заставок - обычных текстовых файлах, которые можно найти либо в исходнике Юрика, либо (для Windows) в папке, где установлена игра, в подкаталоге titles. Обычно это C:\Program Files\yourik\titles.
Каждый уровень имеет по файлу заставки, где прописаны - текстовые титры и ссылки на картинки. Каждый файл-заставка имеет имя и расширение. Имя обозначает уровень игры. Расширение соответствует языку. Например "01.ru" - файл с русскими титрами к первому уровню, а "01.en" - файл с английскими титрами к первому уровню.
Если вы хотите сделать, скажем, украинский перевод, надо создать такой же файл, но с расширением "uk" - "01.uk". Для этого проще открыть сущестующий "русский" файл "01.ru" и сохранить его как "01.uk". А потом останется только перевести внутри его все текстовые титры.
Названия файлов (но не расширения) жестко прописаны в коде TEA, так что меняйте расширение, не название. От 01 до 06 идут внутренне пронумерованные уровни, а after-luna и luna - так называются дополнительные, скрытые уровни. Также есть уровень gameover. В движке Юрика "чистые" заставки, равно как и экран конца игры выполнены как обычные уровни, которым выставлен атрибут "пройдено". Поэтому после показа заставки такого уровня сразу идет переход на другой уровень (в случае gameover - в начало первого уровня).
Файлы заставок представляют собой обычные текстовые файлы в кодировке UTF-8. Для их правки вам подойдет любой текстовый редактор с поддержкой UTF-8, например TEA. "Блокнот" из Windows не подходит - потому, что он не понимает невидимые символы конца строки, которые в файлах Юрика имеют формат UNIX, а не Windows. Правильные редакторы понимают любой формат конца строки. В Блокноте же текстовые файлы из состава Юрика выглядят как каша без разделения на строки.
Если вы откроете файл заставки, то обнаружите, что он состоит из строк особого формата. Например:
text 1 10 500 beige "грузятся тонны текстур..."
Синтаксис таков:
команда время X Y цвет "надпись или имя файла"
Подробнее. Командой может быть одно из двух слов: text либо image. text обозначает, что показываем текст. image - показываем картинку.
Время - задает в секундах, сколько секунд показываем текст или картинку.
X и Y - координаты, по которым выводим текст или картинку. Координаты отсчитываются сверху вниз, слева направо. То есть в левом верхнем углу экрана у нас 0, 0.
цвет - название цвета или его шестнадцатиричный код в формате #RRGGBB
Далее в кавычках пишем либо надпись, либо имя файла с картинкой - в зависимости от того, какая команда стоит, text или image. В надписи можно использовать тэг br для переноса строки, а файл с картинкой должен лежать в каталоге /pix, где хранятся все картинки игры.
Если цвет не указан, используется белый цвет.
Примеры:
text 2 13 15 red "красный текст"
В этом примере мы выводим текст красного цвета, в течении 3 секунд, по координатам 13, 15.
text 1 2 4 #00FF00 "зеленый текст"
Зеленый текст 1 секунду по координатам 2, 4.
image 4 5 5 "boss-death.png"
Выводим картинку "boss-death.png" на 4 секунды по координатам 5, 5.
О картинках. И переводе заставочных экранов, где встречается текст.
Исходники этих экраны, как почти вся исходная графика в Юрике, находятся в векторном формате SVG. Для правки таких файлов вам понадобятся сами исходники картинок и редактор векторной графики Inkscape. Если вам лень с этим возиться, можете просто прислать мне тексты к экранам, а я сам сделаю векторную картинку и сохраню её в PNG.
Как вы заметили, в Юрике кроме текстовых титров есть титры-картинки. Выше я говорил, что исходники картинок идут большей частью в SVG. Но для сборок Юрика, для самой игры, я отрендерил их в полноцветный PNG. Именно PNG-кадры подгружаются движком титров.
Какие еще графические форматы поддерживаются?
Во-первых, можно использовать SVG напрямую, но возможны косяки и тормоза. Не советую.
Во-вторых, JPEG, TIFF, BMP, MNG, GIF. Реалистично из этого использовать JPEG, если вас одолеет скупость на дисковое пространство. Но отрендеренная векторная графика лучше смотрится именно в PNG - четче.
В переведенных версиях файлов титров, когда показываете картинки-заставки, просто загружайте переведенную версию картинки, например:
image 2 5 5 "01-title-120-ru.png"
Исходные SVG-файлы, которые подлежат переводу, в исходнике помечены мною названием языка в суффиксе, например:
01-title-120-ru.svg
01-title-120-en.svg
Скажем, мы хотим сделать украинский вариант такой картинки.
1. Открываем в Inkscape 01-title-120-ru.svg.
2. Переводим надписи. Сохраняем как 01-title-120-uk.svg (ну или как-то иначе). Рендерим в 01-title-120-uk.png (Файл - Экспортировать в растр, помечаем там "Страница", вводим имя файла, жмем кнопку "Экспорт").
3. В текстовом файле 01.uk пишем примерно такое:
image 2 5 5 "01-title-120-uk.png"
4. Готово.
Время показа картинок лучше не менять. Время показа текстов - смотрите по длине перевода. На большие строки пускайте по 3-4 секунды.
Чтобы удобнее было переводить и отлаживать Юрика, игру можно запускать в так называемом "режиме разработчика". Для этого надо запустить Юрика, указав в командной строке параметры - уровень и язык. Например, для Windows:
yourik.exe level02 ru
Или, для Linux:
yourik level02 ru
Уровни имеют такие названия (в скобках даю описание):
level01 (лаборатория)
level02 (станция)
level03 (шлюз)
level04 (космос, сражение с крейсером)
level05 (фабрика унитазов)
level06 (заставка концовки)
luna (лунное кладбище)
after-luna (альтернативная концовка)
level_gameover (экран конца игры)
При запуске в режиме разработчика, под Linux меняются пути к каталогам, откуда игра считывает данные. А именно - берутся данные из подкаталогов, откуда запущен бинарник. То есть в режиме разработки и при сборке из исходника, движок будет смотреть картинки, титры и звуки не в /usr/local/share/yourik/pics, /usr/local/share/yourik/titles, /usr/local/share/yourik/snd, а в подкаталогах snd, titles, pics ИСХОДНИКА. Так сделано, чтобы не пришлось каждый раз делать make install для проверки своих изменений.
В Windows же просто помещайте свои файлы там, где лежат остальные подобные файлы игры - то есть в каталоге, где она установлена.
Кроме того, в режиме разработчика можно включать и выключать бессмертие клавишей F1.