Перейти к содержимому


Arsunt

Присоединился: 30 июн 2007
Оффлайн Последний вход: 02 июн 2020 22:20
*****

Мои сообщения

В теме:Локализация Tomb Raider для Nokia N-Gage

15 Май 2019 - 20:57

Напомню о себе :)
После длительного перерыва продолжил работу над переводом NGE версии, шрифт побеждён, наконец! (На скриншоте видно, что с таблицей ширины и вертикальным положением некоторых глифов нужно будет поработать, но это мелочи ;)
Добрый день! Последние полгода был очень занят и совсем пропустил ваше сообщение. Я рад, что вы вернулись к проекту.
Фотка с телефона прикрепляться не захотела, даю линк:
https://pp.userapi.c...a76vN-Gxnxg.jpg
Смотрится неплохо!
Arsunt, вы писали про диакритики. В целом понятно и я этим планирую воспользоваться для отрисовка буквы ё. Спасибо.Единственное, что не могу понять, как выводится немецкая ß, я на неё одну букву повесил
Немецкая 'ß' используется вместо символа '=' (равно)

В теме:Локализация Tomb3 и Tomb3Gold

06 Июнь 2018 - 10:40

Приветствую всех поклонников старых томб рэйдеров!

Решил апнуть тему =)

Уважаемые Arsunt, Dato и вся команда локализаторов-энтузиастов! может быть есть возможность выложить альфа-версию Ваших трудов?

Было бы супер! А то вот снова от Фаргуса начал проходить TR III от нетерпения.... но после Ваших великолепных локализаций TR I и TR II это конечно не то...))

Добрый день! Да, будет альфа или бета этим летом.


В теме:Локализация Tomb Raider для Nokia N-Gage

02 Февраль 2018 - 00:18

Структура файлов в PSX во многом повторяет таковую для PC версии, главное отличие в текстурах, которые 4-bit а не 8-bit. Если кто-то из команды, работавшей над переводом для PC взялся бы помочь с этим...
К сожалению, я не программист и всё делаю путём проб и ошибок. Готов предоставить все файлы и ту информацию, что сумел найти в сети или понять сам.
Пока, я в тупике, но не унываю :)
arsunt(собака)gmail.com
Если предоставите информацию по различиям структуры файлов уровней между Playstation и PC, окажу всю необходимую помощь по модификации спрайтов текста.

В теме:Локализация Tomb Raider для Nokia N-Gage

29 Январь 2018 - 00:26

Добрый день! Хотел ответить вам сразу, но это было бы малоэффективно без опубликованного программного кода. Теперь он готов. Правда он относится к TR2, но в первой части игры код вывода текста практически идентичен. Итак, нас интересует файл text.cpp. А именно функция T_DrawText. Игра пробегает строку в цикле, анализируя каждый символ, пока не встретит нуль-терминатор. Возможны несколько типов встреченных символов, в зависимости от диапазона в который они попадают:
  • 0x00 Нуль-терминатор (конец разбираемой строки)
  • 0x01..0x0A Цифры, отображающие количество оставшихся патронов
  • 0x0B..0x12 Различные специальные пиктограммы, в их числе значок динамика, патронов, а также курсорные стрелки
  • 0x13..0x1F Незадействованный игнорируемый диапазон. Игра пропускает символ, оказавшийся в данном диапазоне
  • 0x20 Пробел. Обнаружив проблел, игра просто делает отступ и переходит к обработке следующего символа
  • 0x21..0x7E Стандартные символы ASCII-таблицы, за исключением некоторых подмененных, выделенных под другие цели. См.ниже
  • 0x7F..0x81 Изображения трех секретов (дракончиков). Присутствует только в TR2, выводится на экран статистики вместе с другим текстом
  • 0x82..0xFF Незадействованный игнорируемый диапазон. Игра пропускает символ, оказавшийся в данном диапазоне
Среди символов ASCII-диапазона особенно выделяются:
  • Цифры. Ширина занимаемого цифрой поля (отступ), в отличии от других символов, не зависит от табличного значения. Она всегда 12. Отступ, указанный в таблице для каждой конкретной цифры, используется для выравнивания спрайта цифры внутри общей ширины поля в 12 единиц. Это также означает, что табличные отступы для цифр не должны превышать 12 единиц
  • Диакритические знаки. Для рисования всяких черточек, галочек, точечек над символами нижнего регистра, игра использует четыре специальных символа: ( ) $ ~. На них игрой назначены спрайты диакритических знаков, причем спрайты рисуются, но табличные значения отступа игнорируются. Отступ не производится вовсе, чтобы следующий выводимый символ оказался ровно под нарисованным только что спрайтом. Например, последовательность символов t~est на экране даст результат tёst.
Код ASCII-символа минус значение 0x20 дает индекс массива T_RemapASCII, в котором содержатся номера спрайтов, привязанных к текстурам выводимых символов. Номер спрайта также является индексом массива T_TextSpacing, который представляет собой таблицу отступов каждого из символов.

Все спрайты символов закреплены за объектом ID_ALPHABET (для TR1 код 190, для TR2 код 255). Насчет полного списка объектов смотреть тут. Общее понимание структуры файла уровня можно получить на том же сайте. Как устроена структура файла в PS-версии игры понятия не имею, но можно поискать в коде OpenLara или спросить у XProgger в Discord личным сообщением совета, куда смотреть.

Что было сделано нами для того чтобы включить поддержку кириллицы в TR1? Все латинские буквы были заменены на транслит-аналоги кириллицы. Оставшиеся буквы были разбросаны по таблице вместо некоторых неиспользуемых знаков пунктуации. Размеры спрайтов и UV-координаты соответствующих текстур скорректированы, табличные значения отступов скорректированы. Код не менялся.

Что было сделано нами для того чтобы включить поддержку кириллицы в TR2-TR3? PaulD поправил код игры таким образом чтобы участок 0x82..0xFF более не считался невалидным, и расширил таблицы T_RemapASCII и T_TextSpacing. Машинист добавил к объекту ID_ALPHABET 66 спрайтов под русские символы, разместил все их текстуры на новой текстурной странице, создал спрайты типового размера, подобрал для каждого символа подходящий табличный отступ. Вуаля, работают оба алфавита, причем даже не надо мудрить с транслитом при заполнении текста в файле.

В теме:Локализация Tomb Raider I

02 Январь 2018 - 23:05

Спасиибо, Yushin! Только у нас вместо "Город Камун" переведено "Храм Камун" (хотя "Город Камун" правильнее и предпочтительнее, что будет исправлено).
И еще, когда будем перевыпускать игру, исправим "Атланты" на "Атлантида", а "Святилище Наследия" на "Святилище Сциона", чтобы соответствовать названию артефакта в озвучке и инвентаре.