Chief-NET

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Chief-NET » Программирование » Mario Bros. Evil Tetris


Mario Bros. Evil Tetris

Сообщений 1 страница 8 из 8

1

Сделал небольшой хак: Mario Bros. Evil Tetris

http://guyverperevod.narod.ru/temp/logo_patch.png

Вот бы ещё найти где банки с музыкой лежат, я бы её очень хотел бы изменить. Помогите кто-нибудь идентифицировать её местонахождение?!

http://s1.sendimage.me/6LVOD39U.png http://s1.sendimage.me/MHGKN39V.png
http://s1.sendimage.me/KEzsJ39W.png http://s1.sendimage.me/bECqG39X.png

Теперь при ударе о пол он проваливается. Таким образом игра стала намного труднее, ведь уровень теперь изменяется в зависимости от ваших действий, а враги так и норовят свалиться вам на голову! Поэтому я добавил Марио и Луиджи ещё 1 дополнительную жизнь.

Вот патч, ставится на версию Mario Bros. (U) [!].nes http://guyverperevod.narod.ru/temp/mario_b...k_by_guyver.rar

А это сам ром: http://guyverperevod.narod.ru/temp/rom_mar...k_by_guyver.rar

В начале играть кажется не так трудно, но когда дойдёшь до крабов... Я даже 1 этап с ними не всегда прохожу... Хардкор вышел, надо бы ещё жизней добавить. В идеале, получился бы очень классный хак, если бы при игре на 2 игроков один из них проваливал пол, а другой наоборот делал. Вот это бы получился кооператив!

2

Алекс, ты это. Не глянешь где музыка? Ром-то маленький... А? :rolleyes:

3

Хорошо, вечером погляжу.

4

Мать моя - женщина...
Как ты будешь в этом разбираться - не знаю:
1. в игре 8, с позволения сказать, "мелодий" (коды h00 - h07)
2. 0x3E74 (в памяти - xFE64) - таблица однобайтовых поинтеров на "коды мелодий", поинтеры относителны адреса первого поинтера, то есть первый поинтер = h08 указывает на адрес 0x3E74+h08=0x3E7C, и т.д.
3. "код мелодии" - структура из 6-ти байт:
1) первый влияет на скорость мелодии, хотя и не только, полностью не удалось выяснить его значение
2) второй и третий - поинтер на "тело" мелодии в RAM (например, в первом "коде мелодии" второй и третий байты - h95 и hFE соответственно, они образуют поинтер hFE95, его адрес в роме - 0x3EA5)
3) четвертый, пятый и шестой - соответствуют инструментам, и указывают количество нот последовательно на каждый из трех инструментов:
  - первый инструмент от 0 до четвертого,
  - второй инструмент от четвертого до пятого,
  - третий инструмент от пятого до шестого (счетчики работают именно по ним, хотя в роме количество байтов нот несколько отличается).

Мелодии титульника можно переключить кодом по адресу 0x3D44 (коды h00 - h07), чтобы протестить все.

5

Спасибо! Уже кое-что...

6

Хм... Вроде ничего сложного. Всё просто.

Мелодия, когда начинается уровень. Само её тело расположено по адресу 0x3EA5

0x3EA5 - 1 нота
0x3EA5 - 2 нота
0x3EA5 - 3 нота

0x3EB8 - как я понял, стопбайт... Т.е. ставим 00 - и всё, мелодия обрывается...

Вроде нормально всё меняется. Самое главное для меня - найти сами мелодии...

7

И это. Тут как бы сразу 2 мелодии играет одновременно. Главная тема и аккомпонимент. Аккомпонимент я ещё на нашёл...

Т.е. главную мелодию я изменил, а вот аккомпонимент...

В общем, если не сложно, алекс, напиши мне адреса на "тела" самих мелодий (ещё бы найти где аккомпонименты мелодий запрятаны...), поинтеры мне, скорее всего, не понадобятся...

Отредактировано Guyver (2013-11-08 17:15:54)

8

А разве тело не одно? Просто каждый инструмент играет со своего места,
тело состоит из трех частей идущих подряд одна за другой:
XX .. XX YY .. YY ZZ .. ZZ - количество нот каждой группы задается третьей частью "кода мелодии".


Вы здесь » Chief-NET » Программирование » Mario Bros. Evil Tetris