Eugene85, можно ли сделать оптимальный упаковщик для формата mlz ?
Eugene85, можно ли сделать оптимальный упаковщик для формата mlz ?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
drbars,
в mhmt и так реализовано оптимальное сжатие для MegaLZ и Hrum; а для Hrust1 - почти оптимальное.
Eugene85, WinXP. При запуске /Win32/oh1c.exe выдается сообщение: oh1c.exe не является приложением Win32.
Под gcc не компилится. А где бы мне взять visual studio? Кто подскажет?
Надо линковать с флагами
Для 64 битной версии надо 5.02 ставить.Код:/SUBSYSTEM:console,5.01
Да, действительно, не доглядел настройки проекта. Прилагаю исправленные.
Такую, чтобы по WinXP работала? Это надо версию 2010. Express версию можно взять здесь.
извините если не в тему, я в пакерах совсем ни в зуб ногой. вопрос у меня есть: есть пакованный файл, точнее два. один пожат megalz версией 4.89 и весит 33.5кб. второй пожат hrust 1.3 и весит 35.3кб. оба файла при всём моём желании не влезают разом в область tpa или какой ещё буфер. грузить нужно и распаковывать только частями. если я верно понял. оба пакера (депакера) не любят когда данные фрагментированы. что с этим можно поделать? может есть версия, где можно фрагментировать, бить на куски или ещё какой-то пакер/депакер с этой возможностью?
Sayman, megalz - лучше паковать не на zx, а с помощью mhmt от LVD. + насколько слышал, LVD сделал депакер для megalz с буфером кольцевым(это экономит объем буфера). Это то, что есть и можно использовать. Сам депакер я не видел. Интересно бы посмотреть. Если формат хруста1 хочешь, то лучше пакуй oh1c_20150310.zip - чуть выше был. Я его тестил, он отлично справился с тестовыми файлами. В отличие от mhmt (в режиме хруст1), он сохраняет пакованный файл с заголовком хруста1.
Без депакера и без заголовка. Депакер релоцируемый ~150 байт.
Вроде как рекорд для депакеров, не использующих буфер.
Давай угадаю способ: перекодируем по столбцам в третях экрана, далее самый простой RLE, потом Exomizer2? Или другой? Вообще, для именно заставок, когда есть место для буфера, надо бы более крутой пакер сделать. Будешь делать?
Не. Принцип сам довольно тупой, никакого поиска даже нет (хотя можно при желании и добавить) - паковать не байты, а квадраты пиксельные префиксным кодом, начиная с минимального 2x2, потом группы из 4 соседних, дальше получается знакоместо (если очень много пустого места - можно укрупнять дальше). Важна хитрость - упаковка не исходного знакоместа, а его ксорки со сдвигом на пиксельную строку или столбец, что для большинства "нормальных" картинок очень сильно увеличит кол-во пустот и перекосит вероятности вхождений непустых чанков. Недостаток - плохо пакуются текстуры, если их особо не обрабатывать (но пока я этим не занимался). Атрибуты жмутся по своим правилам, со сравнением с предыдущим по строке или по столбцу (что переключается на ходу).
Вообще метод годен для любого прямоугольника с размерами, кратными максимальной группе.
Можно из кусочков экран составить, хранить так крупные шрифты, графику для неактивных уровней в играх...
Пока пакер запланирован был только для песюка, но и до него еще далеко.
Я сейчас лишь на этапе экспериментов, только накропал на сях программку считать размеры.
Будет время - буду заниматься по настроению. Может, здесь еще идей каких-то подкинут...
Прихожу без разрешения, сею смерть и разрушение...
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)