| Разработка и ромхакинг > Ромхакинг и программирование |
| Поделитесь IMP! пакером-анпакером |
| << < (2/2) |
| DrMefistO:
--- Цитата: Ti_ ---Потому что в ромах сильнее сжато, чем пересжимает твой пакер. --- Конец цитаты --- Уверен? Если так - хреново) Т.к. в структуре IMP!-архива не указывается его размер, поэтому сказать - жмет хуже или лучше не могу. Добавлено позже: Проверил - жмет лучше оригинала) Поэтому то что надо!) |
| Ti_:
Эм, а 0x8 разве не сжатый размер? У архива Micro Machines (UE) [c][!]_4AA26.bin он $1744. После пересжатия - $1810 , что больше. --- Код: ---ROM:0004AA26 aImp_0: dc.b 'IMP!' ROM:0004AA2A dc.l $3146 ; unpacked size ROM:0004AA2E dc.l $1744 ; packed size --- Конец кода --- |
| DrMefistO:
Не совсем, но почти: 0x8 = LONG. Если к нему прибавить 0x32 - получится размер всего архива. И да, вышло, что у меня жмется хуже. Значит, библа гэ. Или она что-то лишнее высирает? |
| Ti_:
--- Цитата: DrMefistO от 07 Январь 2013, 18:25:47 ---И да, вышло, что у меня жмется хуже. Значит, библа гэ. Или она что-то лишнее высирает? --- Конец цитаты --- Потому что в оригинале сжато с рейтом >0. А у тебя это не пашет или .dll кривая. Вместо меньшего делает больший размер, докидывая нули. |
| DrMefistO:
Странно, но в конце оно кидает не нули. Но это ладно. Я ведь всего лишь оболочку сделал к библе. Плиз, глянь тут: http://testaware.bplaced.net/Toolz/Pictures/fimpdll.htm Может чего подскажешь, что не так. Я догадываюсь что именно, но не уверен - возвращаемый размер сжатых данных, которые я потом сейваю неправильно возвращается библой. В частности вот тут: --- Код: ---D[1] = cmode << 16; --- Конец кода --- Может быть компилятор библиотеки хреново кранчмод тут получает. Я к тому, может из-за того, что cmode - int, а D[1] - uint. |
| Ti_:
--- Цитата: DrMefistO от 07 Январь 2013, 18:32:43 ---Плиз, глянь тут: http://testaware.bplaced.net/Toolz/Pictures/fimpdll.htm Может чего подскажешь, что не так. --- Конец цитаты --- Я бы глянул, но в этом не разбираюсь. :) Кстати попробовал через winuae оригинальный FIMP, 0-11 там скорее 'режимы' сжатия. Так как больший там не всегда сжимает сильнее. На том архиве проверил - сильнее всего сжалось с '5', что на 8 байт меньше чем на sega. |
| DrMefistO:
--- Цитата: Ti_ ---На том архиве проверил - сильнее всего сжалось с '5', что на 8 байт меньше чем на sega. --- Конец цитаты --- Вывод - делать цикл с разными режимами - с поиском лучшего. Если жмет оно правильно. А я думаю, что жмет оно правильно) |
| Ti_:
--- Цитата: DrMefistO от 07 Январь 2013, 19:04:56 ---Вывод - делать цикл с разными режимами - с поиском лучшего. Если жмет оно правильно. А я думаю, что жмет оно правильно) --- Конец цитаты --- Там ещё если ничего не указано, то режим не '0', а 6 или 7, толи тоже как-то подбирается. Вот так если паковать без выбора то получается именно то, что в оригинале на sega. |
| DrMefistO:
--- Цитата: Ti_ ---Вот так если паковать без выбора то получается именно то, что в оригинале на sega. --- Конец цитаты --- Так 6 или 7?) |
| Ti_:
--- Цитата: DrMefistO от 07 Январь 2013, 19:14:11 ---Так 6 или 7?) --- Конец цитаты --- 6. |
| DrMefistO:
Т.е. оно жмет все равно хорошо, а не как у меня. Хреново. Режим особо роли не играет. Дело в библиотеке. Добавлено позже: Как сам автор пишет - он тестил только cmode = 0. Оно и понятно) Но другого рабочего пакера то и нету под венду без эмуляторов) |
| Марат:
--- Цитата: GManiac от 05 Ноябрь 2012, 15:41:10 ---В Comix Zone нету его там. Там есть слово WIMP! из сюжетного диалога. --- Конец цитаты --- Я так и не понял какой там метод сжатия. |
| GManiac:
Там - это где? В Comix Zone не используется пакер IMP!, там просто есть фраза: YA WIMP! COME ON! Которая нашлась Тотал Коммандером, когда DrMefistO искал подстроку IMP!, чтобы узнать, в каких играх используется такой пакер. |
| Ti_:
--- Цитата: GManiac от 14 Январь 2013, 17:31:37 ---Там - это где? --- Конец цитаты --- В IMP используется Imp, а что в ComixZone пока никто не разгадал. Так что 'там' это Comix. :) |
| DrMefistO:
--- Цитата: Марат ---Я так и не понял какой там метод сжатия. --- Конец цитаты --- Если сильно нужен компрессор к Комиксу, могу взяться. Анпакер то уже есть. |
| Марат:
--- Цитата: GManiac от 14 Январь 2013, 17:31:37 ---Там - это где? В Comix Zone не используется пакер IMP!, там просто есть фраза: YA WIMP! COME ON! Которая нашлась Тотал Коммандером, когда DrMefistO искал подстроку IMP!, чтобы узнать, в каких играх используется такой пакер. --- Конец цитаты --- Так я и не говорю, что используется. Я лишь сказал, что не разобрался какой же всё-таки там(в Comix Zone) используется метод сжатия. Добавлено позже: --- Цитата: DrMefistO от 15 Январь 2013, 13:20:55 --- Если сильно нужен компрессор к Комиксу, могу взяться. Анпакер то уже есть. --- Конец цитаты --- Мне не нужен готовый компрессор. Меня лишь интересует какой метод сжатия в этой игре? Так как мне не удалось его определить. Если есть исходник распаковщика, то интересно было бы посмотреть. |
| Марат:
По поводу Comix Zone http://chiefnet.1bb.ru/index.php?act=ST&f=3&t=649 |
| DrMefistO:
Собственно, переделанный с нуля Imploder. Жмет точно так же как оригинал. Распространяется в виде dll-ки, консольной версии и гуишки. В ридми экспорты для dll-ки, если захотите заюзать у себя в проекте. Из возможностей GUI: - Распаковка по оффсету; - Поиск и извлечение всех архивов; - Упаковка выбранным режимом сжатия; - Поиск наилучшего режима сжатия для данного архива; - Получение режима сжатия выбранного архива (или файла по смещению). И, проверенный список игр (помеченных [!]), в которых есть данное сжатие: * Cosmic Spacehead * Fantastic Dizzy * Lawnmower Man, The * Man Overboard! - S.S. Lucifer * Mega SWIV * Micro Machines * Pete Sampras TennisДобавлено позже: Добавил консольную версию. |
| DrMefistO:
Переписанная с нуля версия WinImploder идентична коду Imploder-кранчера на Amiga. Для тех, кто не в курсе: нужна для распаковки данных, с тегом IMP!. Из возможностей GUI: - Распаковка по оффсету; - Поиск и извлечение всех архивов; - Упаковка выбранным режимом сжатия; - Поиск наилучшего режима сжатия для данного архива; - Получение режима сжатия выбранного архива (или файла по смещению). И, проверенный список игр (помеченных [!]), в которых есть данное сжатие: * Cosmic Spacehead * Fantastic Dizzy * Lawnmower Man, The * Man Overboard! - S.S. Lucifer * Mega SWIV * Micro Machines * Pete Sampras Tennis Изменения в версии 2: * Полностью переписанный и теперь открытый код библиотеки; * Исправления в код GUI. |
| Навигация |
| Главная страница сообщений |
| Предыдущая страница |