| Разработка и ромхакинг > Ромхакинг и программирование |
| Кто поможет вытащить спрайты из SNES? |
| (1/1) |
| DMI3Y:
Нужно из этой игры Joe and Mac 2: Lost in the Tropics вытащить финального босса, в спрайтах. Кто поможет? :? Или подскажите какой прогой пользоваться. На сайтах такого спрайта нет, всё перерыл |
| Sharpnull:
Открываете Mesen-S (или другой эмулятор как bsnes-plus), доходите до босса, открываете окно Debug -> Sprite Viewer: Ctrl+S для сохранения всех спрайтов на экране, так делаете для каждого нужного кадра. Там есть Lua-скрипты, что возможно поможет сохранить все кадры. Добавлено позже: Знаю ещё два метода: * Правильный и очевидный - изучить код, чтобы узнать структуры данных и т. п. Будут получены палитры, тайлы, карты (tilemap). * Автоматизированный способ описанный мной выше. Требует некоторых знаний программирования. Отключить в эмуляторе фоны (в Mesen - Options > Video > Advanced: Hide background layer 0/1/2/3), если так неудобно играть, то можно записать геймплей без отключения фонов (Mesen - Tools > Movies > Record) и после воспроизвести (Play) с отключёнными фонами. Записать lossless (без потерь) видео средствами эмулятора (а не дурацким Bandicam и т. п.) в месте с нужными спрайтами (Mesen - Tools > Video Recorder > Record: Camstudio). С помощью ffmpeg нарезать видео на кадры (PNG). С помощью Python и библиотеки PIL (pillow) найти все спрайты на кадрах, используя какой-нибудь метод "заливки" (обход графа), чтобы отделить связанные пиксели от сплошного фона. Позже удалить дубликаты спрайтов. Из минусов: спрайты могут быть наложены (главный герой + босс, например), тогда они не подойдут или придётся вручную удалять. Из плюсов: в конце получим готовые спрайты в отдельных файлах. |
| Witch:
А есть сейв перед боссом? А то не хочется проходить всю игру. |
| Sharpnull:
--- Цитата: Witch от 20 Октябрь 2020, 12:35:10 ---А есть сейв перед боссом? --- Конец цитаты --- Зачем, если savestate несовместимы между эмуляторами и версиями. Введите пароль MHDQ FDPS NJTP BGFB и GG читы 6DC4-3D64 (Invincibility), B9C1-3467 (Infinite Lives Player 1). Выйти из деревни, идти вниз и влево, потом линейно минут 10. |
| Witch:
С неуязвимостью не пускают к боссам, а если её отключить у меня реакция уже не та пройти несколько динозавров подряд. |
| Sharpnull:
--- Цитата: Witch от 20 Октябрь 2020, 19:36:39 ---С неуязвимостью не пускают к боссам --- Конец цитаты --- Вот это поворот. Я в Mesen-S DevWin 0.4.0.66 использовал этот пароль и именно эти читы, чтобы пройти до последнего босса. |
| Witch:
Может читы не полностью работают из-за конкретного эмулятора snes9x-1.53-win32-x64? |
| DMI3Y:
--- Цитата: Sharpnull от 20 Октябрь 2020, 06:40:27 ---Открываете Mesen-S (или другой эмулятор как bsnes-plus), доходите до босса, открываете окно Debug -> Sprite Viewer: Ctrl+S для сохранения всех спрайтов на экране, так делаете для каждого нужного кадра. Там есть Lua-скрипты, что возможно поможет сохранить все кадры. Добавлено позже: Знаю ещё два метода: * Правильный и очевидный - изучить код, чтобы узнать структуры данных и т. п. Будут получены палитры, тайлы, карты (tilemap). * Автоматизированный способ описанный мной выше. Требует некоторых знаний программирования. Отключить в эмуляторе фоны (в Mesen - Options > Video > Advanced: Hide background layer 0/1/2/3), если так неудобно играть, то можно записать геймплей без отключения фонов (Mesen - Tools > Movies > Record) и после воспроизвести (Play) с отключёнными фонами. Записать lossless (без потерь) видео средствами эмулятора (а не дурацким Bandicam и т. п.) в месте с нужными спрайтами (Mesen - Tools > Video Recorder > Record: Camstudio). С помощью ffmpeg нарезать видео на кадры (PNG). С помощью Python и библиотеки PIL (pillow) найти все спрайты на кадрах, используя какой-нибудь метод "заливки" (обход графа), чтобы отделить связанные пиксели от сплошного фона. Позже удалить дубликаты спрайтов. Из минусов: спрайты могут быть наложены (главный герой + босс, например), тогда они не подойдут или придётся вручную удалять. Из плюсов: в конце получим готовые спрайты в отдельных файлах. --- Конец цитаты --- Спасибо за дельный совет Добавлено позже: --- Цитата: Sharpnull от 20 Октябрь 2020, 06:40:27 ---Открываете Mesen-S (или другой эмулятор как bsnes-plus), доходите до босса, открываете окно Debug -> Sprite Viewer: Ctrl+S для сохранения всех спрайтов на экране, так делаете для каждого нужного кадра. Там есть Lua-скрипты, что возможно поможет сохранить все кадры. Добавлено позже: Знаю ещё два метода: * Правильный и очевидный - изучить код, чтобы узнать структуры данных и т. п. Будут получены палитры, тайлы, карты (tilemap). * Автоматизированный способ описанный мной выше. Требует некоторых знаний программирования. Отключить в эмуляторе фоны (в Mesen - Options > Video > Advanced: Hide background layer 0/1/2/3), если так неудобно играть, то можно записать геймплей без отключения фонов (Mesen - Tools > Movies > Record) и после воспроизвести (Play) с отключёнными фонами. Записать lossless (без потерь) видео средствами эмулятора (а не дурацким Bandicam и т. п.) в месте с нужными спрайтами (Mesen - Tools > Video Recorder > Record: Camstudio). С помощью ffmpeg нарезать видео на кадры (PNG). С помощью Python и библиотеки PIL (pillow) найти все спрайты на кадрах, используя какой-нибудь метод "заливки" (обход графа), чтобы отделить связанные пиксели от сплошного фона. Позже удалить дубликаты спрайтов. Из минусов: спрайты могут быть наложены (главный герой + босс, например), тогда они не подойдут или придётся вручную удалять. Из плюсов: в конце получим готовые спрайты в отдельных файлах. --- Конец цитаты --- А допустим взять игру Felix the Cat на NES и отключить задний фон, то сам спрайт чёрного цвета (felix) и обычный фон чёрного цвета. Как в данной ситуации быть? Менял палитру, меняется вместе со спрайтом |
| Навигация |
| Главная страница сообщений |