Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - pashok6798

Страницы: [1]
1
На всякий случай запишу сюда адреса с картой тайлов в оригинальном роме (dx версию имеет точно такие же адреса) через программу Djinn Tile Mapper:
Меню - 0x387880 (почему-то указывается данный адрес, но ничего, соответственно, по данному адресу не сохраняется и не отображается перевод).
Список концовок - 0x387F80 (та же самая фигня)

Вступление:
Первый текст - 0x359000
Второй текст - 0x359800
Третий текст - 0x35A000
Четвёртый текст - 0x35A800
Пятый текст - 0x35B000
Шестой текст - 0x35C000
Седьмой текст - 0x35B800

Письмо отца - 0x33FE40

Плохая концовка:
Текст 1 - 0x3427BE
Текст 2 - 0x34303E
Текст 3 - 0x34373E

2
Sharpnull, благодарю за ответ. Теперь стало понятнее. Попробую адаптировать данные строки в выходные.

Кстати. Вспомнил, когда я в tile viewer смотрел тайлы, заметил, что в главном меню не отображался текст, а как раз был алфавит из заглавных латинских букв, текст только в отдельном слое (BG3 вроде назывался) можно было увидеть.

3
Благодарю за объяснение. В выходные попробую посмотреть.


Цитата
Текст появляется частями сверху вниз с помощью прерываний. Задаются scanline (позиция Y экрана сверху вниз) в нужном месте через код. Запись scanline происходит в WRAM $0DE1, поэтому можно найти по 8D E1 0D (в данной игре), перед этими байтами значение scanline. Точку срабатывания прерывания на экране можно посмотреть в Mesen, Debug > Event Viewer.

Вот видел в отладчике, но не понимал, откуда данные строки формируются. В ассемблере я очень слаб и мало имею представления в нюансах со смещениями по X, Y, что я видел. Ну и scanline тоже видел.

Добавлено 10 апреля 2026 года:
Еще возник вопрос, в каком окне можно посмотреть work ram? Я пытался по указанному в примере посмотреть адрес, а там было заполнено нулями. В video ram я видел те записи тайлы, о которых писали, и также индексы тайлов, но так и не понял, как из тех тайлов формируется строчка.

4
Вот прикрепил несколько ромов для сравнения. В DX и оригинале адреса нахождения текста находятся по адресу 0x300000, там будет первое смещение - 0x800 байт. Смещения меньше первого смещения я игнорировал и таким образом находил необходимый текст. Конец строки считается 0xFF, но также встречал какие-то непонятные значения, которые старался не трогать.
Таблица символов у меня получилась следующей:

Для оригинальной версии попробовал переместить шрифт из перевода группы Шедевр (прикрепил ром с русифицированным шрифтом).
Вот такая получилась таблица из рома от группы Шедевр:

Я не все символы внёс в таблицу, поэтому некоторые коды считаются как пробел.

Вот такой получилась таблица для адаптации перевода:

Шрифт в CT оригинал и dx находится по адресу 0x360000 и вроде он там идёт до самого конца или там отдельно идут шрифты для азиатских языков.

По следующим адресам нашёл индексы сжатых строк:

Также нашёл непонятное значение. То ли это смещение, то ли это длина блока, в переведённых ромах данное значение отличается: 0x1A718 - тут отличаются 2-3 байта.

5
Всем добрый день.
Хотел попробовать адаптировать перевод от группы Шедевр из оригинальной SNES версии в версию clock tower rewind. Я нашел текст, шрифты, для теста даже смог поправить интерфейс, но столкнулся с проблемой вступительных титров, титров в плохой концовке и в письме.

К примеру, во вступлении был текст:

It was September when Jennifer and her friends, who were all raised

В ресурсах игры он был скомпанован в такой формат:

ItwasSepmbrhnJidf,ol

При сравнении других переведённых ромов были обнаружены индексы сжатых строк, но дальше я не разобрался. Если нужны Ромы для изучения, могу их прислать.

Страницы: [1]