| Разработка и ромхакинг > Ромхакинг и программирование |
| Как разжимать спрайты на Сега играх? [Streets of Rage 2] |
| << < (2/2) |
| Sharpnull:
savokgear, 1.6b новее, возможно исходный код был потерян. Попробовал декомпилировать версию 1.6b, все имена методов сохранились, только почему-то нет form-файлов. При желании автор мог бы всё восстановить, но это не быстро сливать оба кода. |
| eskayelle:
--- Цитата ---Quote: eskayelle on Today at 04:24:34 Would the compressor be able to compress a new picture such that it properly replaces the compressed picture at $ 02DDB2? If the compressed picture has a small file size: Code: [Highlight] sor2_comp.py -c "new_pic.bin" -r "Streets of Rage 2 (U) [!].gen" 0x02DDB2 -o "SoR2_hack.gen" -u You should also know how to change the tilemap. --- Конец цитаты --- Sharpnull, is there a specific format you recommend for the new picture (.bmp? .png?) and a tool that'd work best to convert that format to .bin for use with the script? sor2_comp.py is a Python script that first needs to be compiled, correct? The file size will be 6KB when compressed. Will that be too large for the compressor? I do have access to the tile map to modify it, as needed. It's at $02F6D2, with the pointer at $022E90. |
| savokgear:
Sharpnull, Благодаря тебе обновил хак River City Girls, теперь там все новые боссы, кроме мистера Х. И даже с альтернативной палитрой. По прежнему это костели эдишин, пришлось убрать поломанные мешки с деньгами и золото, но все работает без проблем. Осталось разобраться с обычными врагами. |
| eskayelle:
Sharpnull, I want to extend a thanks as well. I created a template in a tile editor, saved the template to .bin, set the codec to 4bpp planar, and dropped my image in. I then used a Python compiler to run the compressor and it inserted the image right where I needed it. The tile map needed some massaging, and the Mega Drive's palette limitations weren't too friendly with my image, but I think it turned out very well! Thanks again! |
| SeregaZ:
split your image to different pieces. use it not as image + 1 pallete for all image, but a few pieces with 1-2-3-4 palletes. as it was for a Dune 2 |
| Sharpnull:
savokgear, как глупо, я не посмотрел другие ветки (branch) на github, автор уже давно восстановил потерянную версию 1.6b, она была здесь https://github.com/gsaurus/sor_pancakes/tree/feature/revive_pk2, а не в основной (master) ветке. Кроме восстановления он что-то ещё пофиксил и добавил удаление персонажа (не знаю как работает). Прикладываю билд, на всякий случай. Я ничего своего не добавлял, Barbon всё также не исправлен в default.txt. |
| savokgear:
Скачал, кнопка удаления персонажа похоже, что не работает, попробовал нажать, но ничего не изменилось. Пробовал на Хаке, думал может удалит все новые спрайты и вернёт стандартного персонажа, ничего. Пробовал на оригинале. Возможно эта кнопка для хака синдикат ворс. Лучше бы была кнопка добавить персонажа, для оригинала. :lol: Так-же остался баг - невозможность редактировать хитбоксы скейта. |
| Sharpnull:
savokgear, посмотрел код, эта магия с удалением работает только после использования "Generate From Image" или Import Character -> Generate from Spritesheet и Import from other ROM. Эта фича меняет только адреса, на основе которых будет выбираться куда вставить спрайт/анимацию после использования тех же "Generate..." и ..., ... . Она ничего не сделает, если просто открыть ром. Наверно потому он не добавил обновление в основную ветку, так как не доделал: адрес у Generate Sprite пропал (специально?), интерфейс кривоват, в коде вместо переменных констант просто числа (после декомпиляции). Если я бы хотел делать хаки для SOR2, написал бы программу заново :) --- Цитата: savokgear от 21 Ноябрь 2019, 04:53:42 ---Так-же остался баг - невозможность редактировать хитбоксы скейта. --- Конец цитаты --- Нашёл ошибку: --- Код: ---if (id == 24 && numPlayableChars < 24 || id == numPlayableChars - 1) break; --- Конец кода --- Эта проверка встречается ещё два раза при записи. Добавлено было для SW, где количество игровых персонажей (numPlayableChars) может быть больше 4. id - персонажа от 0. Очень странная проверка на 24 (25-й персонаж) - это граната, которую в версии 1.5 не допускали до этого участка кода, а здесь разрешается, но потом идёт проверка именно на неё (id == 24 && numPlayableChars < 24) и почему-то не numPlayableChars <= 24. Чем не угодил последний игровой персонаж (как Skate) неясно. Исправить можно, но думаю нет смысла для вас. |
| savokgear:
--- Цитата: Sharpnull от 21 Ноябрь 2019, 08:34:52 --- Если я бы хотел делать хаки для SOR2, написал бы программу заново :) --- Конец цитаты --- Да вот многие на панкейк жалуются, но я не программист. Import from other ROM кстати говоря вообще глюченная функция. Персонажи в SoR подвязаны по двое - Макс с Акселем и Блейз с Скейтом. И стоит импотировать скажем Скейта поломаются хитбоксы Блейз. Они появятся на других спрайтах, высота и длинна поплывет и прочее. Можно потратить время, восстановить и обнаружить, что теперь поломалось все у Скейта, и так по кругу чинишь у одного ломается у другого. Ром в этот момент проще выбросить. |
| savokgear:
Как оказалась Resize Animation тоже крашит РоМ. В последнем хаке собрал Макса, проверил, всё работает. Потом собрал Акселя, всё работает, и обнаружил, что пропали первые два спрайта бега Макса. Если в этот момент попробовать обновить поломанные спрайты - ром точно можно выбрасывать. Опытным путём удалось выяснить, что если добавляешь уникальные спрайты атаки мечём для Акселя, то ломаются первые два спрайта бега Макса, и если бы бег был из 4 или менее спрайтов, то всё бы было в порядке. Пришлось отказаться от уникальных спрайтов и дублировать спрайты трубы. Панкейк страшная штука, куда не чихнёшь - всё ломается. Собирать персонажей с ним хоть и просто, но ой как не просто на самом деле. |
| Sharpnull:
savokgear, про уникальные не знаю, но если просто применить оба ваших файла, то у Макса будет неверная 49-я анимация, а после переключения 50-я. |
| savokgear:
Тема пусть просвещена немного другому, но тем не менее обновил свой хак River City Girls ..of Rage http://www.romhacking.net/hacks/4691/ Теперь изменены все боссы, кроме местера Х. (и джета, но технически он не босс). У каждого нового босса при повторных битвах используется альтернативная паллитра. Следующий этап - обычные враги, нужно с этим всем делом тщательно разбираться. |
| perfect_genius:
Не думал просто заплатить реверсеру, чтобы он всё это разобрал как работает и что сделать? |
| Ogr:
--- Цитата: SUPER_ROBOT от 25 Ноябрь 2019, 12:48:36 ---заплатить --- Конец цитаты --- :rofl: |
| perfect_genius:
Что не так? Дорого берут? |
| savokgear:
Не думал, даже не знал, что существуют люди, которые этим занимаются на платной основе. Да и как водится - денег сейчас нет, без второго монитора сижу. Блок питания сгорел, забрал с собой видеокарту и монитор, последние сбережения слил. |
| SeregaZ:
сэкономил на блоке питания в свое время? этож фигня важнее чем процессор и видеокарта вместе взятые :) фирменные многоватные брать надо. |
| savokgear:
Конечно немного не по теме, но вот Исходники всех трёт частей Streets of Rage https://github.com/gsaurus/sor-disassemblies Может теперь Special Bar из третьей части можно прикрутить во вторую. |
| Навигация |
| Главная страница сообщений |
| Предыдущая страница |