Разработка и ромхакинг > Ромхакинг и программирование
[SS] RLE сжатие графики
(1/2) > >>
ViToTiV:
Господа, помогите разобраться в сжатии картинки, скорее всего это RLE (игра для Sega Saturn - "Casper"). Перевёл всю игру, перерисовал всю графику, и вот 4 (из 50) картинки сжаты.

Вот сама картинка (скрин из игры)


Вот оригинальный файл
 Loading.rar (5.7 КБ - загружено 60 раз.)

По формату файла:
0х24 - ширина (2 байта)
0х26 - высота (2 байта)
Данные картинки начинаются скорее всего с 0х30 (в не сжатых файлах так по крайней мере).
Вроде как сразу идёт палитра (уже сжата), потом картинка (FE00FE00FE00FE00...) - черный фон, потому и решил что RLE.
Сама картинка скорее всего 4 или 8 бит (судя по размеру файла), не сжатые картинки все 15-битные.
DrMefistO:
Мне привычнее по бинарям разбирать код. Поделишься в личку?
ViToTiV:
DrMefistO, бинари - в смысле запускные файлы? их там два, первый для титульного экрана, второй для самой игры.
DrMefistO:
А картинки эти где используются? В самой игре?
ViToTiV:
да, при загрузке уровней (которая сжата), а в игре на уровнях не сжатые
картинки меню игры ("Load", "Save", "New Game") тоже сжаты по такому же алгоритму
DrMefistO:
вроде нашёл код анпакера в игре, попробую разобраться
ViToTiV:
DrMefistO, оперативно)
если получится, будет гуд.
DrMefistO:
А можно анпакнутую картинку как есть?

Добавлено позже:
Картинок такого формата я увидел больше, чем 4.

Добавлено позже:
Оказывается, в формате PX много чо пожато.
paul_met:
Странно зачем вообще понадобилось сжимать картинку для экрана загрузки? Игра и так на паузе, так как идёт чтение с диска. Ну грузилась бы она на пол секунды дольше, если бы картинка была не сжата. Смысла в такой оптимизации как-то совсем не прослеживается.
DrMefistO:
Распаковщик написал. В изображениях может быть несколько блоков.
Что странно, изображения безпалитровые, но цвета у них битые, почему-то.



Добавлено позже:
У меня есть подозрение, что блоки - это анимации

Добавлено позже:
И ты точно не мог всю графику перерисовать, потому что PX там повсюду.
paul_met:

--- Цитата: DrMefistO от 14 Май 2021, 19:43:02 ---Что странно, изображения безпалитровые, но цвета у них битые, почему-то.
--- Конец цитаты ---
Картинка 15 / 16 bpp?
DrMefistO:
Да, 16 bpp. Вот ещё пример, более сумасшедший:
paul_met:
Ну так все 15/16 bpp изображения с обратным порядком байт. Чтобы в молестере они правильно отображались, надо свапнуть бинарник. Вообще с этой игрой сплошные странности. Зачем использовать тяжёлые 15 / 16 bpp изображения, если визуальной разницы с 8bpp после их конвертации нет. Сплошное разбазаривание VRAM и лень возиться с палитрой.
DrMefistO:
Свапнуть - это в смысле у вордов поменять порядок байт?

Добавлено позже:
Проверил. Да, так лучше:)
DrMefistO:
Почему-то мне не удаётся довести до нормального цвета этот бинарь (распакованный) из первого сообщения:
paul_met:

--- Цитата: DrMefistO от 14 Май 2021, 21:14:31 ---Почему-то мне не удаётся довести до нормального цвета этот бинарь (распакованный) из первого сообщения:


--- Конец цитаты ---
Потому, что распакован он неправильно. Прикрепил дамп.
DrMefistO:
Спасибо, нашёл у себя багу. Удалось распаковать нормально.
paul_met:
Вообще, PX файлы (сжатые) можно легко превратить в PZ (несжатые), вытащив распакованные данные из дампа VDP1 и прилепив к ним 30h байт заголовка оригинала (исправив PX на PZ). Необходимо лишь пересобрать образ с новым файлом. Вот пример того файла с экрана загрузки.
DrMefistO:
Да, можно. Но если охота как в оригинале, то подождите, я делаю пакер:)
ViToTiV:

--- Цитата: DrMefistO от 14 Май 2021, 19:43:02 ---И ты точно не мог всю графику перерисовать, потому что PX там повсюду.
--- Конец цитаты ---
ну вроде то, что отображается с текстом, всю (правда протестировал только первый акт игры). Там сжата возможно графика уровней, но она мне не нужна.

--- Цитата: paul_met от 14 Май 2021, 22:20:02 ---вытащив распакованные данные из дампа VDP1
--- Конец цитаты ---
а как вытащить дамп VDP1? и что это вообще такое?) я с Сатурном только начал знакомство.

--- Цитата: DrMefistO от 14 Май 2021, 22:25:01 ---Но если охота как в оригинале, то подождите, я делаю пакер:)
--- Конец цитаты ---
лучше конечно как в оригинале, не факт что без запаковки не будет глюков на железе.
так в итоге всё-таки RLE сжатие?

--- Цитата: paul_met от 14 Май 2021, 20:58:22 ---Вообще с этой игрой сплошные странности
--- Конец цитаты ---
а её походу изначально делали для 3DO (там есть файлы с таким же расширением), потом решили портануть на Saturn и PSX. На psx так вообще половина этой графики не используется, перегнали в видео и bitstream изображения.
Навигация
Главная страница сообщений
Следующая страница

Перейти к полной версии