| Разработка и ромхакинг > Ромхакинг и программирование |
| Battletoads & Double Dragon - Хакинг и секреты |
| << < (15/22) > >> |
| feos:
From: Quietust To: feos Posted: 2011-05-21 03:01:05 Subject: Re: Raw PCM drums feos wrote: --- Цитата ---Hi, didn't expect you're still active here. I know that you've dumped the NSF from Battletoads / Battletoads & Double Dragon with Raw PCM drums. My friends are making a hack of the Genesis version & are going to add these samples there, but we have them only gameripped to WAV. Can you provide some info on where they are in NES Bt&DD ROM? --- Конец цитаты --- Unfortunately, I do not know exactly where or how they are stored - I only located the subroutine responsible for playing them. Спросил его обратно, чтобы подмогнул найти эту процедуру. |
| evgeny:
--- Цитата: feos ---Спросил его обратно, чтобы подмогнул найти эту процедуру --- Конец цитаты --- Какой в этом смысл? Я смотрел эту процедуру, ее легко отследить дебаггером по записи в регистр $4011, там применяется битовый сдвиг. Судя по всему звук пожат в 4 бита.(точно не проверял, но было бы логично) |
| feos:
смысл такой, что я не волоку в программировании, и думал это будет полезно :lol: |
| -HammeR-:
Здрасте! А где качать сей чудесный хак от Ti? И что там со звуками?) |
| MASTERMAX:
-HammeR-, тут можно скачать(в аттаче) |
| Jinaya:
Может кто-то описывал такой глюк, но я повтарюсь. 1. В оригинале на денди если играешь на уровнях с видом сбоку, т.е можно ходить только влево вправо и лазать, короче 3-й уровень потом на космическом карабле ходишь. Если нажать на весь крестик, то герой как будто взлетает. Получается смещение картинок. Можно бегать хоть выше экрана. Никого бить нельзя, а тебя всё равно ударят. 2. На уровне 2 где гонки на машинах и в конце босс. Если в машину не просто подойти, а подбежать и резко нажать и держать кнопку прыжок, то машина взлетит выше экрана и можно будет пролететь пол трассы. Лично проверенно на денди. |
| Ti_:
--- Цитата: Jinaya от 17 Август 2011, 12:11:45 ---1. Если нажать на весь крестик, то герой как будто взлетает. --- Конец цитаты --- Достаточно нажать влево+вправо одновременно. Герой вроде бы просто смещается по оси Y. (которая на двухмерных уровнях не слишком большая, и доступна только врагам, например теткам, выходящим из дверей). Добавлено позже: --- Цитата: Jinaya от 17 Август 2011, 12:11:45 ---2. На уровне 2 где гонки на машинах и в конце босс. Если в машину не просто подойти, а подбежать и резко нажать и держать кнопку прыжок, то машина взлетит выше экрана и можно будет пролететь пол трассы. Лично проверенно на денди. --- Конец цитаты --- Я думаю это знают чуть ли не все кто играл в БТиДД. |
| Segaman:
--- Цитата: Jinaya от 17 Август 2011, 12:11:45 ---1. В оригинале на денди если играешь на уровнях с видом сбоку, т.е можно ходить только влево вправо и лазать, короче 3-й уровень потом на космическом карабле ходишь. Если нажать на весь крестик, то герой как будто взлетает. Получается смещение картинок. Можно бегать хоть выше экрана. Никого бить нельзя, а тебя всё равно ударят. --- Конец цитаты --- --- Цитата: Ti_ от 17 Август 2011, 12:22:17 ---Достаточно нажать влево+вправо одновременно. Герой вроде бы просто смещается по оси Y. (которая на двухмерных уровнях не слишком большая, и доступна только врагам, например теткам, выходящим из дверей). --- Конец цитаты --- имхо это смещение по оси Z --- Цитата: Jinaya от 17 Август 2011, 12:11:45 ---2. На уровне 2 где гонки на машинах и в конце босс. Если в машину не просто подойти, а подбежать и резко нажать и держать кнопку прыжок, то машина взлетит выше экрана и можно будет пролететь пол трассы. --- Конец цитаты --- --- Цитата: Ti_ от 17 Август 2011, 12:22:17 ---Добавлено позже: Я думаю это знают чуть ли не все кто играл в БТиДД. --- Конец цитаты --- я делал по другому. вдвоем играли один сел на моцык и в прыжке его второй сбивает с него. потом тот кто в него снизу запрыгнет улитит вверх за экран |
| feos:
Jinaya, думаю, тебе понравится это видео: http://www.youtube.com/watch?v=MKAlzW-Bbu0 записано на эмуляторе, но без кодов и читов, все это реально есть в игре. до кучи: http://www.youtube.com/watch?v=CBpPtRondZU http://www.youtube.com/watch?v=NJQjIMq46C0 Добавлено позже: --- Цитата: Segaman ---имхо это смещение по оси Z --- Конец цитаты --- оно самое. Всё дело в том, что при нажатии L+R вызывается обработчик нажатия Up. И всё. Для начала небольшое отступление. Ты в курсе, что уровни в РОМе лежат не в том порядке, в котором они проходятся в игре? Если не в курсе, сделай так. В FCEUX открываешь Hexeditor и в RAM по адресу 0x10 увидишь номер текущего уровня (от 00=интро до 0D=королева). Можешь прям там изменить этот номер. Но чтобы игра не зависла при внезапном переключении уровня, менять это значение надо на экране плана (синяя карта уровней, этот экранчик идёт сразу после разговора T-bird'а). В итоге таких изменений ты определишь реальную последовательность уровней, а не ту, которая осталась в релизной версии Жаб. Последовательность в игре: каньон, спуск, гонка, зима, сёрфинг, змеи и т.д. Последовательность в РОМе: каньон, спуск, гонка, зима, башня, самолёты и т.д. Так вот. Для каждого уровня в игре определен набор разрешённых кнопок креста (набор разрешённых направлений перемещения). Вот посмотри в РОМе Battletoads(U) последовательность байтов по адресу 0x1F1F (до 1F2B). Там идут байты со значениями 0F и 03. Если байт равен 0F, то разрешены все 4 направления, если 03 - то только два (вправо и влево). Например: 1F1F (каньон) - 0F 1F20 (спуск) - 03 1F21 (гонка) - 0F 1F22 (зима) - 03 1F23 (башня) - 03 и т.д. Можешь поменять (во внешнем хекс-редакторе типа Translhextion) значение по адресу 1F1F с 0F на 03 - и в первом уровне жаба не будет реагировать на кнопки вверх/вниз - она больше не сможет ходить по оси Z (только по оси X - вправо/влево, и по оси Y - прыгая). А можешь наоборот - изменить значение по адресу 1F22 с 03 на 0F - и в зимнем уровне жаба сможет ходить не только в плоскости экрана, но и по оси Z. Если не врубаешься в систему координат, вот наглядная картинка. http://archive.gamedev.net/reference/articles/1927/followingtargets2.gif Ну, должен же со школы помнить про ось абсцисс (X) и ординат (Y). А изометрическим играм типа жаб и черепашек требуется полноценная третья координата - хоть и проецируется на экран это всего лишь как смещение по оси Y. На самом деле это надо понимать как уход дальше/ближе к экрану. Короче, при нажатии ВВЕРХ (или L+R, что одно и то же) жаба переходит по оси Z вдаль от зрителя. При этом спрайт визуально перемещается вверх (проекция изометрического 3D на плоскость экрана), однако в плоскости XY координаты персонажа не меняются (т.к. персонаж не сдвинулся и не прыгал). В итоге, например, во втором уровне вороны атакуют не текущее визуальное положение спрайта (который поднялся из-за ухода вглубь с помощью L+R), а старые координаты (чуть пониже спрайта), потому что вороны остались в плоскости с координатой Z=0, а жаба ушла на Z=100500. |
| Ti_:
--- Цитата: Segaman от 17 Август 2011, 17:00:56 ---имхо это смещение по оси Z --- Конец цитаты --- значит у нас разные представления о координатах; x - лево-права z- высота низ вверх; в конфигах уровнях располжение объекта задавалось как помню X,Y,Z, и Z - там высота и на двухмерных уровнях и трехмерных. |
| feos:
Ti_, Зэд это же глубина. Она не катит только в играх, где надо идти вперед по диагонали, а ля Зен. А тут как раз. |
| Ti_:
--- Цитата: feos от 17 Август 2011, 18:12:46 ---Ti_, Зэд это же глубина. Она не катит только в играх, где надо идти вперед по диагонали, а ля Зен. А тут как раз. --- Конец цитаты --- Когда жаба по первому уровню бежит она же идет по X и Y, а прыгает по Z. По-крайней мере у меня такая логика. (Как и в RRR машина едет по X и Y , прыгает по Z). На двухмерных идет по X, прыгает также по Z. |
| feos:
в двухмерных уровнях жаб координата глубины тоже работает. и меняется в соответствии с положением перса, как и высота. тетки находясь за стенкой имеют одну гнлубину, выходя из двери - другую. если нажать лево-право в 5 уровне слишком надолго, перс потеряет возможность бить врагов, так как по глубине слишком сместится. в первых жабах в 9 уровне если сместить по глубине, стреляющие роботы перестанут взрываться при пересечении с ними, а прочие враги перестанут реагировать, кроме угрей. короче дело в том, КАК называть эту глубину. для меня логично что зэд, так как продвижение по уровню соответствует иксу и игреку. |
| Ti_:
--- Цитата: feos от 17 Август 2011, 18:26:47 ---для меня логично что зэд, так как продвижение по уровню соответствует иксу и игреку. --- Конец цитаты --- Я знаю что двухмерные уровни тоже трехмерны, я же делал уровни свои. Так вот координаты там XYZ (на первом уровне Z прыжок в высоту). Когда прописываем координаты объекта в 3-ем уровне, там Z отвечает за высоту также как и на первом. А Y там у всех одинаково примерно. Добавлено позже: --- Цитата: feos от 17 Август 2011, 18:26:47 --- для меня логично что зэд, так как продвижение по уровню соответствует иксу и игреку. --- Конец цитаты --- Если бы уровень был полностью двухмерный, для меня бы тоже было логично. FF0DCA - память коориданата X первого объекта (жабы) FF0DCC - коорд. Y FF0DCE - коорд. Z. Sega версия. Но не суть. Нажимаем кнопку прыжка - меняется Z, можете сами проверить. На всех уровнях. А по вашей логике, если вдруг уровень стал двухмерным (и то визуально) , то жаба по Y прыгать начинает. |
| Segaman:
кароче всем понятно по какому принцыпу баг происходит. значит есть шанс когда-нибудь вернуть координату к нулю ^_^ |
| feos:
Нет такого шанса, каждая координата определяется двумя байтами, нутыпонел. Вот в первых жабах такой шанс иногда есть, когда перс поднялся настолько вверх, что пол выгружается из памяти, он падает, и приземляется по глубине ниже пола. Потом можно нажать снова лево право и выровняться с ним. |
| Ti_:
--- Цитата: feos от 18 Август 2011, 18:37:14 ---Нет такого шанса, каждая координата определяется двумя байтами, нутыпонел. --- Конец цитаты --- Смотря какая скорость перемещения, если на единчку за 1кадр, то через 65536 вернется :3600 = 18минут всего-то :lol: , если правильно считаю. |
| feos:
это все теория, карта не позволяет скроллировать экран вверх (диагональ в 1 левеле не в счет). в первых жабах позволяет |
| Segaman:
--- Цитата: feos от 18 Август 2011, 18:37:14 ---Нет такого шанса, каждая координата определяется двумя байтами, нутыпонел. Вот в первых жабах такой шанс иногда есть, когда перс поднялся настолько вверх, что пол выгружается из памяти, он падает, и приземляется по глубине ниже пола. Потом можно нажать снова лево право и выровняться с ним. --- Конец цитаты --- но координата не будет той же. снаем мы такие качели. ударить все равно лельзя будет никого. будут только тебя бить |
| Roket:
Я думал новости какие-то по хаку появились :?, а вы тут координатами меряетесь <_<. Не всё ли равно какая координата вызывает баг, главное устранить этот баг, верно. |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |