Перейти к содержимому
Zone of Games Forum
KosmoRei

Объясните систему адресации ссылок в одной из разновидностей LZ

Рекомендованные сообщения

Есть сжатые файлы игры Dragon Quest 5 для PS2. Хочу сделать порт русского перевода с NDS. Выдрал из RAM распакованный вариант и сравнивая с запакованным выяснил все, что опишу ниже здесь.

В сжатом потоке периодически расставлены контрольные байты (КБ), а их биты значат, чем являются следующие 8 сущностей (С1 - С8) (дословными байтами (1 байт) или ссылками (2 байта)).
Пример: КБ С1 С2 С3 С4 С5 С6 С7 С8 КБ С1 ...С8 КБ ...
Т. е. байт FC (11111100) значит, что у нас сразу за ним идет две двухбайтовых ссылки одна за другой, а затем 6 дословных байт. А затем следующий контрольный байт.

Я описал все, что мне известно об этом алгоритме на картинке.

u_2a88bc5d35d6abf4644d482d8dc80b41.png
И прикладываю сжатый файл и распакованный, который я выдрал из RAM.
Сжатый файл: https://www.dropbox.com/s/bw53z2qp9qsw2n1/cdf3b.chaindata.lz?dl=1
Распакованный файл: https://www.dropbox.com/s/hd0hvbnaevszh76/cdf3b.chaindata.lz_decompr?dl=1

Проблема в том, что непонятно куда указывают ссылки. Первая невесть куда указывает. Вторая тоже. Остальные чуть поближе. Судя по последовательностям, на которые они указывают, они берутся не из воздуха, а именно из того, что было уже распаковано с помощью дословных байт. Но непонятно, как с помощью таких больших адресов и при малом количестве распакованных байт что-то работает.

Было бы неплохо, если бы кто-то помог добить этот алгоритм... Ассемблера я не знаю.

Изменено пользователем KosmoRei

Поделиться сообщением


Ссылка на сообщение

Скажи, куда указывают ссылки, сколько на них выделено битов, если не 12? Я прогал lzss однажды, так там нифига не как здесь. Здесь контрольные байты, а там были контрольные биты, чье значение определяло то, что сразу за ним — дословный байт или ссылка.

Поделиться сообщением


Ссылка на сообщение

Спасибо, поразбираюсь…

Однако после такой распаковки отличий с файлом из RAM чуть больше, чем половина размера файла. Что-то не так со ссылками. Ну я еще посоображаю… Имена переменных крайне неиформативные.

int init_chr = '\0'; //так, хотя бы, первые 138 байт файлов совпадают.

 

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Продвигаемые темы

  • Последние сообщения

    • То-есть это совершившийся факт? В любой непонятной ситуации спи.  Видать как Проктер и Гамбел. Они заботятся обо мне, и моём здоровье.  Просто такие моменты часто встречаются. И приходится учить великому и могучему. 
    • Обновление от 02.06.2025
      -Добавлена поддержка Steam Deck.
      https://drive.google.com/file/d/1MBOHKrob45RPwF7YZKbqySmj4HZxqnOZ/view?usp=sharing
    • Колхозный перевод делать не нужно. Механический перевод можно делать через любой автопереводчик i18n json. Позже выложу перевод через google translate на русском. Из главных проблем механического перевода — он ломает теги и их нужно править вручную.
      С нейросетями проблемы нет. Нужна только подписка на сервис. Локально разворачивать deepseek, openai не вариант, т.к. нужно ресурсов много. Автопереводчики умеют работать с нейронками.

      Также в новом апдейте заметил, что шрифты отрисовывают кириллицу, но там беда с отступами — в такое играть невозможно. Тут 2 варианта — либо перепаковывать шрифты, либо править textstyle.json файл с шрифтами.

      А ну и похоже в игре все-таки не только altinn-dinn, но еще и другие шрифты есть, которые используются для стилизации текста в некоторых местах. Возможно в них тоже кириллица не заложена. Выше вот скидывал инстурмент https://github.com/mololab/json-translator который умеет механический перевод делать для i18n через сервисы:
        Google Translate ✅ ✅ FREE Google Translate 2 ✅ ✅ FREE Microsoft Bing Translate ✅ ✅ FREE Libre Translate ✅ ✅ FREE Argos Translate ✅ ✅ FREE DeepL Translate ✅ require API KEY (DEEPL_API_KEY as env)
      optional API URL (DEEPL_API_URL as env) gpt-4o ✅ require API KEY (OPENAI_API_KEY as env) gpt-3.5-turbo ✅ require API KEY (OPENAI_API_KEY as env) gpt-4 ✅ require API KEY (OPENAI_API_KEY as env) gpt-4o-mini ✅ require API KEY (OPENAI_API_KEY as env)
    • Неправда ваша. По обеим ссылкам загрузка идёт.
    • в игре очень много текста 30390 строк. литературно переводить а потом и печатать это займет довольно таки приличное время.
      с нейросетями я так понял что проблема в ограничении на количество символов, и то что некоторые нейросети сами теги переводят.
      насколько я понимаю пока доступен колхозный вариант вручную закидывать в переводчик построчно а потом контрл+с контрл+в.
      в принципе при наличии шрифтов и отсутствии альтернативы я мог бы этим заняться, и возможно даже не лишусь рассудка в процессе.
      игрушка очень годная, но без русского языка постоянно выпадаешь из процесса.
    • Подскажите пожалуйста а перевод модификации Watchtower планируется ?
    • Вчера вечером как-то еще было норм, грузилось, тьфу-тьфу нормально. Хз, что помогло, или отпустило Стим или помог ребут. Сам то я живу в пгт, тут только один провайдер, других вариантов нет.
    • Ну дык около трети всех жителей РФ, использующих интернет, на нём сидит. Другие встречаются значительно реже, а потому оно и неудивительно, что тех, кого значительно больше, видно чаще. Ближайшие конкуренты по числу клиентов — это провайдеры мобильного интернета. Проще говоря, чуть ли куда ни плюнь — скорее всего чуть ли не каждый первый пользователь стима в РФ будет клиентом ростелекома (где-то 3 из 4-х, если не чаше). В т.ч. провайдеры помельче один смысл в массе своей используют линии связи и инфраструктуру ростелекома, арендуя их мощности. Удивлён тем, что его ещё за монополию не прижучили, ну и пока он поглощал в себя всех подряд, то смотрели на это сквозь пальцы. А ведь когда-то ещё была конкуренция, цены на интернет даже падали, а качество росло, а теперь же цены только лишь растут, а качества прирост где-то подзастрял (вне столиц и других самых крупных городов по крайней мере).
  • Изменения статусов

    • Дмитрий Соснов  »  Tirniel

      Привет! ты разбираешься в компьютерном железе, сможешь помочь с советом по апгрейду старого компа?
      · 1 ответ
    • SHAMAH

      Куда вход на сайт убрали и ЗАЧЕМ? Хотел файл скачать, там только медленная загрузка и “зарегистрируйтесь”. Все. Пришлось вручную страницу входа прописывать.
      · 0 ответов
    • Nosferatu  »  behar

      Добрый вечер.
      Подскажите пожалуйста, у вас не осталось случайно исходников для фикса на широкоформатные мониторы для игры Vampire The Masquerade Redemption?
      Если да, то не могли бы вы ими поделиться, а если нет, то прошу прощенья что побеспокоил.
      Заранее спасибо.
      · 0 ответов
    • AlcoKolyic  »  makc_ar

      Здраствуйте! Извините, а можно попросить ссылку на место где можно взять перевод (патч или образ игры с переводом) El Shaddai: Ascension of the Metatron для ps3, пожалуйста? А то в теме к этой игре у меня не получилось найти работающие ссылки… Первая ведет в группу в которой удалены большинство постов, а пост с этой игрой ведет на сайт https://psnext.ru который сейчас не имеет отношения к видеоиграм. 
      · 0 ответов
    • oleg72  »  Boor

      https://www.skidrowcodex.net/fate-reawakened-goldberg/
      · 0 ответов
  • Лучшие авторы


Zone of Games © 2003–2025 | Реклама на сайте.

×