| Разработка и ромхакинг > Ромхакинг и программирование |
| Friday 13th (NES) хак. |
| (1/1) |
| BalinDMK:
Я считаю, что это замечательная игра, пусть и переусложненная. Но как и в некоторых нес-овских играх в ней нет необходимой вещи - выстрела (броска) в прыжке. Ради вселенской справедливости я хакнул ром и добавил пресловутый выстрел в прыжке. Достигнуто это было следующим образом: по FFD4 в дебаггере или же по 7FE4 в хексе добавлен код 20 6E B2 JSR B2 6E Подпроцедура, которая проверяет нажат ли выстрел F0 0B BEQ $FFE4 И если не нажат то пропускаем следующие B символов переходя в адрес $FFE4 A9 04 LDA #04 Загружаем в A четверку - номер анимации выстрела в присяде, которая использовалась для выстрела в прыжке 9D 08 03 STA $308, X Пишем ее в 308, которое отвечает за анимации главного героя 20 97 AA JSR $AA97 Подпроцедура, которая отрисовывает героя 20 96 B4 JSR $B496 Подпроцедура выстрела 20 AB B2 JSR $B2AB Код который был на месте, куда мы врезали вызов своего 4C 1C B1 JMP $B11C Возврат на место из которого вызывался наш код И по хекс адресу 7FE4 врезан 4C D4 FF, который вызывает наш код. В процессе хака были найдены интересные значения, которые могут кому-нибудь пригодиться: В $2d хранится опрос джойстика. В $360 по x и $370 по х соответственно хранятся координаты х и у для спрайтов $308 по х отвечает за номер анимации для персонажа. В $506 хранится число отвечающее за текущее оружие (т.е. пишем в 506, например, 5 - получаем трезубец) В $B32B хранится левая граница, при достижении которой начинается сдвиг экрана (по умолчанию - 70) В $B364 - правая (по умолчанию - 90) В $AF92 и $AF96 хранятся координаты точек, в которые отбрасывается персонаж при достижении границ из B32B и B364 Приложенный IPS патч ставится на (U)[!] версию. Каких либо проблем, связанных с новым кодом, замечено не было. |
| Phil:
BalinDMK, хак понравился! Правда смысл, от того, что герои в прыжке стреляют... Зомбики же по земле ходят... Вот если бы ещё и некоторые зомбики прыгали (или все зомбики прыгали время от времени), чтобы их можно было сбивать в воздухе. |
| zhiharka:
а как поставить хак??? |
| x.GREYSON.x:
Очень нужная вещь. Как раз в пещере, в лесу отбиваться и Джейсона валить удобно. Можно было б добавить в этот хак, где при уроне от Джейсона отнималась 1 черточка, а то быстро убивает, 4 удара и все, и все в такой же прогрессии. И/или хак от оригинала с начальным оружием Мачете. |
| x.GREYSON.x:
Если можно сделать так, чтобы было видно на карте где находится Джейсон. Или изобразить таким же (только зеленым) человечком, или мигающими домами. Вот это было б нужно. |
| BalinDMK:
x.GREYSON.x, Насчет урона, это было бы слишком легко. От Джейсона очень просто уворачиваться, нажимая вниз+вбок. Показывать положение Джейсона на карте теоретически возможно, но в роме практически нет свободного места под новый код. Я до сих пор не уверен на все сто, что не затер что-то нужное хаком. |
| x.GREYSON.x:
BalinDMK, ты что-то повредил. Если бить Джейсона на улице в прыжке, то, иногда, в низу экрана появляются куски оружия и игру глючит. а Джейсон на карте, типа моргание дома (любого, хоть большого) где он рядом находиться, т.к. он бывает в пустых домах. Но лучше человечком. :D И еще, начальное оружие Мачете (или в место ножа(а в место мачете - топор)). Я немного изменил графу оружия и Джейсона. |
| BalinDMK:
--- Цитата: x.GREYSON.x от 12 Август 2010, 20:51:20 ---BalinDMK, ты что-то повредил. --- Конец цитаты --- Мда. Действительно повредил. Причем умудрился ради теста пробежать пол игры и не столкнуться с багом. Совсем плохо у этого рома со свободным местом. --- Цитата ---Если можно сделать так, чтобы было видно на карте где находится Джейсон. --- Конец цитаты --- Посмотрел код. За местоположение Джейсона отвечает переменная $512. Проверка на встречу с Джейсоном начинается в B65B. Из трех переменных - $360 (положение x игрока на экране), $53 (счетчик положения игрока на подкольце карты), $8C (номер подкольца карты) вычисляется число, которое после сравнивается с переменной $512. То есть, во-первых, похоже, что Джейсон, фактически, находится в нескольких местах сразу, чтобы увеличить вероятность столкновения с ним. Во-вторых, я не вижу способа получить положение на карте из переменной $512 (для координат игрока используются совсем другие переменные - 2FF и 2FC). Само отображение на карте домиком или человечком сделать совсем просто. Но нет координат и нет свободного места в коде. P.S. Не хотелось заниматься некробампингом, но раз уж нашел данные, то решил поделиться на случай, если кто-то другой найдет способ. |
| x.GREYSON.x:
BalinDMK, ну с этим понятно, практически лажа. Переменный код с множеством значений неполучиться отследить. Но в игре то Джейсон бегает по одной линии (несчитая момента появления на озере, т.к. код получается многозначным) и это должно указываться на карте( слотов под это много оставлено). А насчет смены оружия как? Можно сменить? |
| x.GREYSON.x:
Всем привет!!! Вопрос по игре такой возник. В роме есть несколько "запчастей" которых в игре не видно и непонятно для чего они нужны. Возможно ли включить их в игру. И еще кое-что. Как можно узнать содержание всех игровых сообщений (записки)? |
| Kinbeas:
BalinDMK, смысл вообще было создавать отдельную ветку ради такого незначительного хака? Смысла в стрельбе в прыжках особого нет. Отображать Джейсона на карте - тем более. Мне кажется, это всё испортит. Но если ты реально хочешь что-то добавить, то не сокрушайся на отсутствие свободного места, а расширяй ром и добавляй, и не выделывайся с файлами .ips. Тем более раз патч ставится только на одну версию игры, то смысла вообще нет в патче. Публикуй сразу ром, как белый человек. Пока создание новой ветки не оправдывает себя абсолютно. |
| UnderCrops:
--- Цитата: +Kinbeas+ от 04 Ноябрь 2016, 21:30:38 ---Смысл вообще было создавать отдельную ветку ради такого незначительного хака? --- Конец цитаты --- А куда надо было залить?) |
| Kinbeas:
--- Цитата: UnderCrops от 05 Ноябрь 2016, 16:44:45 ---А куда надо было залить?) --- Конец цитаты --- В общую ветку хаков, которая прикреплена к главным в разделе. |
| UnderCrops:
--- Цитата: +Kinbeas+ от 05 Ноябрь 2016, 21:29:15 ---В общую ветку хаков, которая прикреплена к главным в разделе. --- Конец цитаты --- Если ты говоришь о "хаки на любой вкус", то она почти на два года позже была создана. |
| Kinbeas:
UnderCrops, а, сорри, я думал, это свежая ветка. :blush: |
| UnderCrops:
--- Цитата: +Kinbeas+ от 06 Ноябрь 2016, 21:00:02 ---А, сорри, я думал, это свежая ветка. :blush: --- Конец цитаты --- Я понял, что ты не обратил внимания на дату. По этому и отписал тебе. |
| Навигация |
| Главная страница сообщений |