Автор Тема: Rob Northern Compression (RNC)  (Прочитано 5077 раз)

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

Zilog

  • Гость
Rob Northern Compression (RNC)
« : 25 Апрель 2008, 17:06:58 »
Где то в сети нашёл RNC compressor\decompressor.
В теме про МК1 evgeny говорил, что там (в MK1) используется именно этот формат.
Вопрос: может ли эта прога распаковать сжатые данные?
P.S Если что не так - ногами не пинать...

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: Rob Northern Compression (RNC)
« Ответ #1 : 25 Апрель 2008, 17:47:10 »
По идее должен, алгоритм везде стандартизирован. Щас проверил на Аладдине - работает. Только с утилзой от Dungeon Keeper какие-то непонятки, берите отсюда:
http://www.devrs.com/gb/asmcode.php

Добавлено позже:
В смысле нормальную прогу берите "отсюда".

Оффлайн cari

  • Пользователь
  • Сообщений: 257
    • Просмотр профиля
Re: Rob Northern Compression (RNC)
« Ответ #2 : 25 Апрель 2008, 18:23:55 »
Zilog Сам скачал, с другими поделись

Zilog

  • Гость
Re: Rob Northern Compression (RNC)
« Ответ #3 : 25 Апрель 2008, 20:19:27 »
To cari, тов. GManiac дал ссылку, а то что я скачал, не запустилось ни на XP, ни на DosBOX.
To GManiac, спасиб, полезная ссыль.
P.S да кстати, как вы узнаёте, каким алгоритмом какая игра пожата? :blush:
P.P.S Я так понял, что файлы пожатые RNC имеют такой-же (RNC) заголовок. Они идут друг за другом последовательно без перерывов. Но я никак не могу распаковать прогой извлечённый из рома файл. Может не так извлёк?  :?
« Последнее редактирование: 25 Апрель 2008, 20:41:02 от Zilog »

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: Rob Northern Compression (RNC)
« Ответ #4 : 25 Апрель 2008, 20:45:49 »
В случае RNC очень просто - заголовок сжатых файлов "RNC\x01" присутствует в каждом сжатом куске в роме (т.е. это по сути архивы, сжатые RNC и внесённые в ром). Я ведь как проверял: нашёл такой кусок в Аладдине, скопировал некое число байт (где конец архива, неважно), разжал его этой прогой - получилось нечто, похожее на сеговскую графику. Потом сжал полученный файл и сравнил с вытащенным куском - они оказались совпадающими до конца нового архива, заодно и его размер можно узнать.
В других случаях в каждой игре какой-то свой алгоритм, чтобы узнать, как он работает, надо раскапывать его код.

Zilog

  • Гость
Re: Rob Northern Compression (RNC)
« Ответ #5 : 25 Апрель 2008, 21:00:23 »
Тоесть даже в сеговском РОМе у пожатой графики есть заголовки как у архивов?

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: Rob Northern Compression (RNC)
« Ответ #6 : 25 Апрель 2008, 21:33:42 »
У RNC - да. Я же говорю, это обычные архивы, засунутые в ром. Игра после указания нужного куска (адрсе в роме) просто сравнивает заголовок с "RNC" и дальше распаковывает кусок в память. Наверно, чтобы не создавать лишних действий при компиляции всей игры решили не трогать заголовки архивов.
В большинстве случаев никаких заголовков нет, иногда в самом сжатом куске могут быть указаны размеры сжатой/несжатой последовательности, но часто они (+адрес в ОЗУ, куда распаковывать) указываются перед вызовом процедуры декомпресии.

Добавлено позже:
Похоже, в MK1 изменённый формат. Куски из Aladdin или Earthworm Jim распаковывает спокойно.

Оффлайн sergi

  • Пользователь
  • Сообщений: 1650
    • ВКонтакте
    • Просмотр профиля
Re: Rob Northern Compression (RNC)
« Ответ #7 : 25 Апрель 2008, 22:00:13 »
А Dune распакует? :?

Zilog

  • Гость
Re: Rob Northern Compression (RNC)
« Ответ #8 : 25 Апрель 2008, 22:05:49 »
Если в РОМе имеются данные с заголовком RNC то 95% распакует. ;)

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: Rob Northern Compression (RNC)
« Ответ #9 : 25 Апрель 2008, 22:23:03 »
Нету там.