Разработка и ромхакинг > Ромхакинг и программирование
Распаковка графики в Earthworm Jim SMD
(1/1)
trintel:
Привет, у меня не получается запаковать графику так чтобы не было лишних артефактов, в данное время я пытаюсь изменить запакованную графику в Earthworm Jim SMD, вот данные которые уже есть:
Процедура распаковки запакованной графики находится по адресу 2599DE, а сам архив с графикой 1го уровня игры по адресу 20A704. Архивы с запакованными данными в формате RNC (описание формата здесь), там такой же формат как в играх Aladdin, MK2. У меня есть и эта программа для этого формата архивов, я просто беру извлекаю RNC из рома, распаковываю его, ничего с ним не делаю (для теста запаковщика), запаковываю, вставляю этот архив обратно в игру, но в графике появляются артефакты, когда я сравниваю первоначальный архив, с заново запакованным то они немного отличаются, выходит что дело в запаковщике, я много времени убил на то чтобы разобраться с алгоритмом, но так и не смог понять в чем дело, может быть здесь кто-то в этом разбирается (в запаковке-распаковке, алгоритмах), помогите решить эту задачу.
Ti_:

--- Цитата: trintel от 20 Апрель 2015, 18:25:22 ---Привет, у меня не получается запаковать графику так чтобы не было лишних артефактов, в данное время я пытаюсь изменить запакованную графику в Earthworm Jim SMD, вот данные которые уже есть:
Процедура распаковки запакованной графики находится по адресу 2599DE, а сам архив с графикой 1го уровня игры по адресу 20A704. Архивы с запакованными данными в формате RNC (описание формата здесь), там такой же формат как в играх Aladdin, MK2. У меня есть и эта программа для этого формата архивов, я просто беру извлекаю RNC из рома, распаковываю его, ничего с ним не делаю (для теста запаковщика), запаковываю, вставляю этот архив обратно в игру, но в графике появляются артефакты, когда я сравниваю первоначальный архив, с заново запакованным то они немного отличаются, выходит что дело в запаковщике, я много времени убил на то чтобы разобраться с алгоритмом, но так и не смог понять в чем дело, может быть здесь кто-то в этом разбирается (в запаковке-распаковке, алгоритмах), помогите решить эту задачу.

--- Конец цитаты ---
Там есть два метода rnc1 и rnc2, возможно в этом дело.
trintel:

--- Цитата: Ti_ от 21 Апрель 2015, 10:55:44 ---Там есть два метода rnc1 и rnc2, возможно в этом дело.

--- Конец цитаты ---
Пробовал и тот и другой, все возможные настройки, так понимаю что у разработчиков был другой запаковщик.
spiiin:
Может, ты RNC-архив неправильно выдираешь. Там к размеру архива, указанных в самом архиве, надо 0x12 байт прибавлять. Если размер архива после пережатия меньше оригинального, можешь после окончания ещё все байты на всякий случай занулить.

тут с примерами расчёта адресов пережатие карты тайлов, работает без артефактов:
http://spiiin.livejournal.com/82289.html
DrMefistO:
А я все надеюсь завершить начатое: переписать на C этот компрессор. Правда пока затягивается с дебагом. Но, думаю, скоро все будет.
worm:
И тут RNC)) Мой друг, кстати, написал рипер RNC архивов, чтобы я не мучился, выдирая их из МК1 самостоятельно.

--- Цитата: DrMefistO от 28 Апрель 2015, 10:24:36 ---переписать на C этот компрессор
--- Конец цитаты ---
Звучит здорово, буду ждать) (если выложишь на всеобщее пользование, конечно)
DrMefistO:
worm, конечно выложу.
До этого я успешно декомпилировал IMP! пакер. Сорсы выложил. В этом и цель.
worm:

--- Цитата: DrMefistO от 28 Апрель 2015, 15:06:23 ---worm, конечно выложу.
До этого я успешно декомпилировал IMP! пакер. Сорсы выложил. В этом и цель.

--- Конец цитаты ---
Наш человек)) Я тоже никогда не жлобил сорсы, даже к хакам сорс под спойлерами выкладываю)
trintel:

--- Цитата: spiiin от 27 Апрель 2015, 16:31:38 ---Может, ты RNC-архив неправильно выдираешь. Там к размеру архива, указанных в самом архиве, надо 0x12 байт прибавлять. Если размер архива после пережатия меньше оригинального, можешь после окончания ещё все байты на всякий случай занулить.

тут с примерами расчёта адресов пережатие карты тайлов, работает без артефактов:
http://spiiin.livejournal.com/82289.html

--- Конец цитаты ---

Спасибо за ссылку, буду думать

Добавлено позже:

--- Цитата: DrMefistO от 28 Апрель 2015, 10:24:36 ---А я все надеюсь завершить начатое: переписать на C этот компрессор. Правда пока затягивается с дебагом. Но, думаю, скоро все будет.

--- Конец цитаты ---
DrMefistO, можешь протестировать его на Earthworm Jim как закончишь?
DrMefistO:
trintel, хорошо.
Ti_:
Тут глянь:
http://www.yoda.arachsys.com/dk/utils.html
DrMefistO:
Ti_, чекал. Но там нет RNC v2.
Навигация
Главная страница сообщений

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