Разработка и ромхакинг > Ромхакинг
[SS] Casper - RLE сжатие графики
ViToTiV:
DrMefistO, пасиб, это для phyton? Ставить просто последнюю версию и все, или ещё что-то надо установить?
DrMefistO:
Да, питон любой третьей версии
paul_met:
--- Цитата: ViToTiV от 14 Мая 2021, 23:21:03 ---а как вытащить дамп VDP1? и что это вообще такое?) я с Сатурном только начал знакомство.
--- Конец цитаты ---
VDP1 - один из видеочипов Сатурна, отвечающих за обработку спрайтов и полигонов. В отладчике VDP1 эмуля Yabause можно видеть все активные в конкретный момент времени спрайты и их характеристики (адрес в видеопамять, размеры, формат цвета и т.д.). Оттуда и дампишь нужный тебе спрайт.
ViToTiV:
всем спасибо, всё пучком)
только в скрипте "pack_cel.py" на 251 строке к аргументам надо "sys." добавить, иначе ошибка.
DrMefistO:
Для того, чтобы многокадровые собирало, там в скрипте сборщика нужно на строке 242 передавать в квадратные скобки данные и остальных блоков, просто я тестировал на одном, и не успел добавить открытие списка файлов.
А про 'sys.' - да, перед публикацией скрипта в конце добавлял аргументы, на скорую руку уже, поэтому забыл:).
Марат:
--- Цитата: DrMefistO от 15 Мая 2021, 06:56:55 ---Второй скрип умеет паковать (хуже, чем оригинал, т.к. в оригинале используется умный подбор оптимальных последовательностей, а у меня оптимизации практически нет). Если есть у кого желание доделать (например, у Марата), было бы круто.
--- Конец цитаты ---
Вот. Ещё в идеале надо добавить обработку переполнения словаря: когда словарь заполнится отправлять словарь и ссылки на фразы в словаре в выходной поток, и дальше работать с новым пустым словарём.
Перезалил.
Марат:
Кстати, здесь
--- Код: ---dest += pack_word(len(data))
--- Конец кода ---
в оригинале указан размер сжатого файла без хедера. А у тебя указан размер несжатого файла.
--- Код: --- for data in blocks:
dest += pack_word(len(data))
packed, woff = pack_block(data)
dest += pack_word(woff)
dest += packed
return dest
--- Конец кода ---
изменил на
--- Код: --- for data in blocks:
packed, woff = pack_block(data)
dest += pack_word(len(packed) + 2 + 2)
dest += pack_word(woff)
dest += packed
--- Конец кода ---
DrMefistO:
Супер, спасибо:)
Навигация
Перейти к полной версии