Автор Тема: [PSX] Перевод "Clock Tower 2", сжатие LZSS  (Прочитано 1238 раз)

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

Оффлайн ViToTiV

  • Пользователь
  • Сообщений: 172
    • Просмотр профиля
[PSX] Перевод "Clock Tower 2", сжатие LZSS
« : 25 Март 2022, 09:22:10 »
Приветствую всех! Уже не один раз мне здесь помогали с сжатием, очередной раз есть просьба.
Занялся переводом игр Clock Tower 1/2 на PSX.
Начал с "Clock Tower II - The Struggle Within (USA)", раскопал шрифт и текст:


Но меню в игре пожато, алгоритм вроде как LZSS, но не совсем корректно распаковывается, походу какая-то его модификация.
Знатоки, гляньте пожалуйста, хотелось бы сделать всё красиво, текстового перевода игр не существует.

* TITLE.rar (48.98 КБ - загружено 143 раз.)

Оффлайн Lin

  • Пользователь
  • Сообщений: 646
  • Пол: Мужской
    • Просмотр профиля
[PSX] Перевод "Clock Tower 2", сжатие LZSS
« Ответ #1 : 25 Март 2022, 17:45:08 »

Обратите внимание на слово "жёлтая". У вас у буквы "ё" двух точек не хватает.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5144
    • Просмотр профиля
[PSX] Перевод "Clock Tower 2", сжатие LZSS
« Ответ #2 : 25 Март 2022, 18:46:18 »
Спасибо плагину для Ghidra, я легко нашёл код декомпрессии. Там действительно LZSS, находится в FUN_80048ea8. Не помню термины сжатия. Чтение из файла с 8-го байта (вроде),  "контрольный байт" - 0 - сжатие, 1 - несжатый 1 байт. Из 2 байт смещение + длина: первые 12 бит - смещение, остальные 4 бита - длина (+2 байта). Сжатие блоками по 4096 байт или это классический буфер. Вот причёсанный код от Ghidra (мог ошибиться, не компилировал):
Возможно дело не в сжатии, а в обработке файла, поэтому в идеале достают несжатый файл из памяти эмулятора. Если никто не поможет, то я позже попробую помочь с написанием сжатия/разжатия (если дело в нём). Как я понял вы уже написали какой-то код или использовали "стандартную" реализацию, но почему-то не поделились.

Оффлайн Cyneprepou4uk

  • Пользователь
  • Сообщений: 206
  • Пол: Мужской
  • Самый лысый ромхакер
    • ВКонтакте
    • Просмотр профиля
[PSX] Перевод "Clock Tower 2", сжатие LZSS
« Ответ #3 : 26 Март 2022, 14:08:53 »
ViToTiV, не знаю финальный ли это перевод или просто черновик, но фраза "Don't look so worried" на первом скрине переведена слишком уж дословно. Вот несколько неплохих вариантов

Онлайн lupus

  • Пользователь
  • Сообщений: 3828
  • Пол: Мужской
  • man with no face
    • ВКонтакте
    • Просмотр профиля
[PSX] Перевод "Clock Tower 2", сжатие LZSS
« Ответ #4 : 26 Март 2022, 14:58:05 »
ViToTiV, не знаю финальный ли это перевод или просто черновик, но фраза "Don't look so worried" на первом скрине переведена слишком уж дословно. Вот несколько неплохих вариантов
С языка снял.)

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5144
    • Просмотр профиля
[PSX] Перевод "Clock Tower 2", сжатие LZSS
« Ответ #5 : 27 Март 2022, 00:54:30 »
Написал сжатие/разжатие. Сравнивал с несжатым файлов из эмулятора и замечу, что почти сразу игра изменяет данные с 0x13BAC (от начала этого файла). Использовал простой алгоритм, но сжимает TITLE.S3M немного лучше, а 0-й файл (0x350) из TITLE.IT хуже на 1 байт. В начале сжатых данных идёт магическое число - 45 58 53 01 (EXS\x01), потом 4 байта - размер несжатых данных. В архиве программа для x64. Для сжатия:
CT2_LZSS.exe несжатый_файл выходной_файлДля разжатия:
CT2_LZSS.exe -d сжатый_файл выходной_файлИ можно добавить смещени в файле (-p):
CT2_LZSS.exe -d TITLE.IT 350.bin -p 0x350Можете писать в ЛС, если будет проблемы. Я тестировал только TITLE.S3M в игре после пересжатия.

Оффлайн ViToTiV

  • Пользователь
  • Сообщений: 172
    • Просмотр профиля
[PSX] Перевод \"Clock Tower 2\", сжатие LZSS
« Ответ #6 : 27 Март 2022, 13:17:36 »
"Don't look so worried" на первом скрине переведена слишком уж дословно.
так речь именно о том, что сейчас придёт племянница, и ты не выгляди обеспокоенной.
Sharpnull, спасибо большое, попробую завтра!  :drinks:

Добавлено позже:
Sharpnull, всё работает, перевожу потихоньку. Ещё раз спасибо
« Последнее редактирование: 28 Март 2022, 20:47:59 от paul_met »

Оффлайн ViToTiV

  • Пользователь
  • Сообщений: 172
    • Просмотр профиля
[PSX] Перевод "Clock Tower 2", сжатие LZSS
« Ответ #7 : 22 Апрель 2022, 10:23:22 »
если кого интересует, перевод закончен, выложен на psxplanet и rutracker.
перехожу на первую часть, там как оказалось сжатия вообще нет (странно что пираты её не перевели)

Оффлайн ShiningSbun

  • Пользователь
  • Сообщений: 1819
  • Пол: Мужской
    • Просмотр профиля
[PSX] Перевод "Clock Tower 2", сжатие LZSS
« Ответ #8 : 22 Апрель 2022, 14:25:43 »
ViToTiV, Отличные новости, спасибо, как раз прошел сюжетную ветку за одну из героинь в  1й части