| Разработка и ромхакинг > Ромхакинг и программирование |
| [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 изображения. |
| Навигация |
| Главная страница сообщений |
| Следующая страница |