| Разработка и ромхакинг > Ромхакинг и программирование |
| Хак Captain America and The Avengers (NES) |
| << < (2/7) > >> |
| CLAWS:
BalinDMK, браво, Маэстро! :thumbup: Второй фикс делает игру совершенством. Благодарствую. :drinks: Бросок щита вверх, имхо, от лукавого - это всё, конечно, интересно и привносит в игру что-то новое, но большая человеческая просьба поддерживать не только версию с радикальными нововведениями, но и редакцию со вторым фиксом. Заранее спасибо. Единственное, что ещё может органично вписаться в "классическую" версию, это возможность обоим игрокам играть за любых персонажей в Battle Mode, добавление в ростер Красного Черепа и режим 1P VS CPU. --- Цитата: Maximum ---Удобно, но до высоко летящих врагов все равно не достает. --- Конец цитаты --- Третья модификация и так бьёт на всю высоту, включая пространство под героем. Куда уж выше то? Ну, и баг - с броском вверх новая страница меню может иногда подглючивать, отображая только портрет персонажа, курсор и полоску энергии в строке "Здоровье". --- Цитата: Maximum ---вертикальную атаку можно придать всем трем щитам, но только у одного (второго по счету) она будет что-то решать. --- Конец цитаты --- Оспорю. Для всех трёх это будем дисбалансом. Как по мне атаку вверх (которая, кстати, сейчас работает для всех щитов) оставить только фотонному апгрейду, одиночный бросок до конца экрана - дать первому. Так появится мотивация для использования всего капитанского арсенала: щит 40-х - летит до конца экрана, классический - обладает самой лучшей "скорострельностью" за счёт небольшой дистанции броска и, соответственно, маленького времени ожидания возврата, фотонный - имеет круговой облёт (бррр!) и может быть брошен вверх. По прочности распределить так - рикошет выстрелов оставить только классическому, поглощение только щиту 40-х, фотонный сделать уязвимым (как плату за самые дальние броски в трёх направлениях). P.S. Патченные ромы для нуждающихся. |
| Про Игрок:
А смог бы кто добавить возможность выбирать Мандарина и Красного Черепа в vs mode? Может коих ярых фанатов этой игры и мало, но несколько раз сразится с другом новыми злодеями интересно. |
| Maximum:
--- Цитата: [b]CLAWS[/b] ---Бросок щита вверх, имхо, от лукавого - это всё, конечно, интересно и привносит в игру что-то новое, но большая человеческая просьба поддерживать не только версию с радикальными нововведениями, но и редакцию со вторым фиксом. --- Конец цитаты --- Идея с вертикальным броском продиктована не столько интересом, сколько возможностью сделать Капитана не беззащитным в некоторых ситуациях, к примеру, в битве с Мандарином. Раз зашла речь о Battle Mode... В свое время мы с братом играли в игру еще на железе. Так вот, если первый игрок выбирал Кэпа, а второй Визарда либо Ультрона, последнему достаточно было просто носиться под потолком, ни на секунду не снижаясь, чтобы легко заработать победу. Капитан до него просто не доставал. В итоге Кэпа вообще перестали выбирать, сосредоточились на одном Хоукае. Будь у Капитана вертикальная атака, оба врага не выглядели бы "сломанными" бойцами. --- Цитата ---Оспорю. Для всех трёх это будем дисбалансом. Как по мне атаку вверх (которая, кстати, сейчас работает для всех щитов) оставить только фотонному апгрейду, одиночный бросок до конца экрана - дать первому. --- Конец цитаты --- Возражений нет. Поддерживаю. |
| ((Killer)):
Очень рад что наконец-таки делается хак на любимую игру детства! :wow: |
| ПАУК:
Здорово :thumbup: Но на русском не поиграешь, патч все три русские версии каверкает :'( |
| BalinDMK:
Так как я уже очень давно не занимался этим хаком и хаком Robocop'а и вряд ли буду заниматься, то выкладываю в общий доступ всю имеющуюся информацию по ним. Captain America: https://www.box.com/s/0fsh05s4dj9qw3oev3es Robocop: https://www.box.com/s/2xn5ri27l0ywgxb1y0lm Хочу заметить, что информация никак не чистилась и не сортировалась, поэтому она не обладает связностью, полна размышлений, мусорного кода и личных ремарок. Тем не менее, она может оказаться полезной кому-то ещё. Удачи вам. |
| Lipetsk:
Недавно делали стрим на Капитана, так и не поняли чем отличаются 2 и 3 щит. И после 2-го вроде 3 уже нельзя купить. Captain America and The Avengers (U) [RPG Hack by BalinDMK]_Fix2 Давитель + Липецк + Кунио + Мемори |
| BalinDMK:
Чтобы не поднимать другие темы, буду использовать эту для всего интересного. Данные по Widget (U) [!]: --- Код: ---Значения кнопок: $00 $01 $04 $30d - Переключение в меню(?): 01 - ингейм, 02 - геймовер, 04 - мозг, 06 - конец уровня $32F по x - где x = $600 - разблокирована ли форма (1 - да) $3e3 - Тип Виджета $4fc - Номер уровня(?) Меню выбора уровня: B64F: Загрузить позиции для иконки B8BA: Загрузить текст для номера уровня B8C3: Загрузить текст названия уровня $4ec - Время трансформации 505 - Запускаемый звук - хранится номер звука, также запускает подпроцедуру $581 - Здоровье $600 - Выбранная форма виджета в меню формы В меню формы Виджета: 95FC - Применить трансформацию виджета 9793 - Изменить выбранную форму вправо 9779 - Изменить выбранную форму влево 97AD - Изменить выбранную форму вверх/вниз 97c3 и далее: загрузить позицию рамки Таблица: 991A (1392Ah) и далее - Позиция Y; 991b и далее - Позиция X Иконки рисуются из двух слоёв. Нижний слой из тайлов, как и всё меню. Верхний слой из спрайтов. Плюс, поверх рисуется рамка выбора. 97F9 - Проверка нужно ли загружать иконку для формы. 9807 - Загрузка самой иконки 980A - lda 9856, y - Загрузка позиции для верхнего слоя иконок (13866h) Где, для первой иконки: c6 - позиция 1, 20 - позиция 2 9818 - Загрузка таблицы сборки 9822 и далее - txa asl asl asl asl sta 14 - получение значений для дальнейшей сборки из номера формы 9835 - lda 9986, y - Загрузка таблицы сборки верхнего слоя иконок. C71F - Загрузка таблицы тайлов для меню форм (нижний слой) (13B02h) - Верхний левый угол закрытой иконки формы мыши 928A - Загрузка палитр lda 99FC,y - таблица палитр 92B1 - Загрузка банков (?) 972C - Загрузка текста 9926,y - Таблица текста AD66 - Загрузка иконок здоровья AD82 - Загрузка иконок энергии CCDC - Проверка, надо ли загружать меню форм -> CCE2 - загружать меню форм 96AA,x - Таблица требуемой для формы энергии. Если недостаточно - форма не используется. До 96B0 (не включая) 13DFEh - Где-то в таблице атрибутов для тайлов 95FC - Переключить выбранную в меню форму в используемую. $600->$3e3 --- Конец кода --- Lipetsk, спасибо, парни. Бета-теста часто очень не хватает. Весь ролик не смотрел - слишком длинный, но то, что видел, постарался исправить. Третий щит наносит больше урона, если я правильно помню. И крутится вокруг Кэпа. Fix 3: Изменения: Увеличена стоимость поднимаемых алмазов, теперь опыт набирается в два раза быстрее. Исправлена покупка третьего апгрейда после того, как прокачал здоровье. Исправлено движение в воде и сползание с платформы. У Хоукая урон зависит от типа стрел. Не исправлено: Испорченный нижний строки в меню за Хоукая. На Нестопии баг есть, на fceu - нет. Пока не исправил, предлагаю играть на fceu. Периодически портящаяся тайловая таблица при входе в меню. Постарался сделать стабильнее, но всё равно периодически появляется. Лечится заходом/выходом. Убрано: Бросок щита вверх. Слишком забагованный в том виде, в котором был. Если нужно - включается читом, записью в 9CF4 значения 03. |
| BalinDMK:
В соседней теме про TMNT III: Manhattan Project, Roket писал: --- Цитата: Roket от 22 Февраль 2013, 03:04:14 ---У меня также выйдет почти как у Ti_. Редактирование врагов не очень интересное. Хочется большего - сделать подряд несколько боссов или по две штуки. Ни то ни другое не работает. Можно чисто врагов по расставлять, что уже в принципе и сделал Ti_. Там в общем дополнительно код надо писать, чтобы заставить некоторых врагов нормально появляться и боссов сделать по несколько штук. --- Конец цитаты --- В общем, я нашёл код, отвечающий за расположение врагов, боссов и т.п. Пример во вложении. Сделан дешево и сердито, ломает выход с уровня, просто для примера. Как сделано: Данные о группах врагов грузятся в процедуре A001, с использованием таблицы оффсетов по адресу A61A и таблиц с данными. Для первого уровня данные располагаются по адресу A638. Например, для первой группы врагов первого уровня данные начинаются с 656h. Для обычных врагов используется 4 байта: --- Код: ---номер экрана; позиция экрана; номер группы; тэг --- Конец кода --- Тэг - особое значение, позволяющее влиять на уровень в дальнейшем. Тэг 2C говорит, что следующим врагом будет босс. Тэг FF прекращает загрузку врагов. Данные о боссах загружаются там же, но используют 12 байт: --- Код: ---номер экрана; позиция экрана; номер босса; ?; позиция по X; ?; позиция по Y; ?; позиция по Z; ?; ?; тэг --- Конец кода --- Меняя данные о врагах и тэги, можно расставлять боссов и группы врагов по уровню. D166 - процедура, выполняемая при убийстве босса. Код E6 A4 записывает 1 в $A4, запрещая игровому персонажу двигаться. Если затереть - можно двигаться и далее. $40 - внутриигровой статус. Используется для загрузки разных процедур. Ингейм равен E. После убийства босса выставляется в F и меняется далее. A952 - процедура, вызываемая когда босс умер окончательно. Находится в отдельном банке, дебагом ловится после попадания в D166. Код E6 40 записывает F в $40, вызывая конец уровня. Если заменить, например, на C6 40, то можно продолжить играть после босса. Предположения: Если в $40 записывать B, то можно перезапустить музыку уровня после смерти босса. Т.к. B - одно из значений для первоначальной загрузки уровня, вызывает несколько подпроцедур и меняется циклично до E. Можно в первую процедуру, вызываемую от F значения переменной $40 (кажется FAFA) врезать джамп на свой код. В коде загружать значение из новой таблицы, например, по номеру босса, проверять его и, либо заканчивать уровень нормально, либо возвращать всё в добоссовое состояние, чтобы продолжить играть на уровне. |
| spiiin:
инфа и документация к разобранному коду это круто и полезно, спасибо :) На форуме только держать её не очень прикольно, затеряется. Черепах третьих я тоже реверсил. В движке для некоторых параметров типа координат отведено по 10 байт (2 на игроков, 8 на врагов), но толку с этого, все равно уже с 3-мя врагами при игре вдвоем тормоза начинаются. |
| dekster88:
BalinDMK, :lol: |
| BalinDMK:
--- Цитата: spiiin от 27 Апрель 2013, 13:37:58 ---инфа и документация к разобранному коду это круто и полезно, спасибо :) На форуме только держать её не очень прикольно, затеряется. Черепах третьих я тоже реверсил. В движке для некоторых параметров типа координат отведено по 10 байт (2 на игроков, 8 на врагов), но толку с этого, все равно уже с 3-мя врагами при игре вдвоем тормоза начинаются. --- Конец цитаты --- Ну, это - да. Много врагов или несколько боссов на один экран не запихать. А подряд, сделать мини-боссов, или что-то подобное, можно. Инфа может затеряться, но что делать? Конечно, было бы удобнее, если бы была вики централизованная, но её же нет. Немного данных по Chip 'n Dale Rescue Rangers 2 (U) [!]: --- Код: ---$44 - Положение стрелки в стартовом меню по Y c678 - Процедура, которая устанавливает положение f47c - Таблица (1f48Ch - для Чипа | 1f48Eh = для Дейла) 1f48Bh - Номер тайла для стрелки $49 - Номер персонажа F46A - Смена номера персонажа в меню вверх/вниз F450 - Чтение по $49 при начале игры $C4/C5 - Первый/второй персонажи в игре. Записывается через $49 a771 - Запись $C4 в $32C d4e0 - Рисует здоровье персонажа на экране $32C, 32D - Дополнительный номер первого/второго персонажей F198 - Основная загрузка графики персонажей 809c - Таблица оффсетов для Чипа 80e2 - Таблица оффсетов для Дейла Массив байтов: ?; поз. X; поз. Y; номер тайла; аттр.; второй номер тайла; второй аттр. тайла; поз. X для третьего тайла; аттр. повторяется для нескольких кусков. 338 - Номер анимации|фрейма Idle с открытыми глазами = 0 | Idle с закрытыми глазами = 17 3f8 - таймер закрывания глаз. <10 - закрыты. >= 10 - открыты --- Конец кода --- |
| Cinder:
Дааа, тут обсуждаем черепах, в теме про Чипа с Дейлом - Чёрного Плаща... По идее, про гонки под рок-н-ролл тогда надо говорить в теме UMKT... |
| BalinDMK:
--- Цитата: Cinder от 27 Апрель 2013, 21:10:27 ---Дааа, тут обсуждаем черепах, в теме про Чипа с Дейлом - Чёрного Плаща... По идее, про гонки под рок-н-ролл тогда надо говорить в теме UMKT... --- Конец цитаты --- Ну а смысл множество тем по 2 сообщения плодить? Вот я ещё две переменных в черепахах найду, новую тему же не буду открывать. Или поднимать старые, годичной давности. Тем более, что хакинг - вещь такая, того же Чёрного Плаща открывают редактором, предназначенным для Чипа с Дейлом. Данные по Ike Ike! Nekketsu Hockey Bu - Subette Koronde Dai Rantou (J) [T+Rus100]: --- Код: ---451 - Выбранный стадион 45A - Выбранная команда игрока 1. 45B - Выбранная команда игрока 2. Меню выбора команд: 94F5 - Очистить инфу о ранее выбранной команде 9543 - Перерисовать портреты 9551 - Перерисовать имена 1165D - Таблица оффсетов для портретов/имен. Массив байтов: портрет; имя 9696 - Загрузить название выбранной команды 8551 - 2 bytes - оффсет для первой строки названия 8553 - 2 bytes - оффсет для второй строки названия 965F - Загрузить портреты команды? 967E - 2 bytes - [0] - банк голов команды, [1] - ? Меню расстановки игроков: 562 - Выбранный игрок в команде 906b - сменить вниз 904d - сменить вверх 9050 - дополнительная проверка при смене 972b - Загрузить статы и имена 97F5 - ? таблица 8749 - таблица оффсетов для статов и имён F70A - Отрисовка портретов: lda 562 -> adc 19 (командный оффсет) -> sta 19 -> sprite DMA F821 - Загрузить командный оффсет в $19 по (28) F724 - Получить (28) из оффсетной таблицы e7f8h - атрибуты для портрета игрока e7b6h - 55 54 - нижняя половина портрета Меню выбора стадиона: 9238 - Сменить стадион 924A - таблица позиций рамки по x 924B - таблица позиций рамки по y Ингейм: 5B - номер фрейма для персонажа 0 7B, x; 8B, x - настоящие позиции персонажей по X; Y 83; 93 - настоящая позиция шайбы по X; Y $3E0 - позиция персонажа 0 для отрисовки по X $3E8 - позиция шайбы для отрисовки по X $400 - позиция персонажа 0 для отрисовки по Y $409 - позиция стрелки для отрисовки по Y $309, 30a, 30b - значение таймера (в обр. порядке) FD5D - уменьшить $309 $4BE - номер контроллируемого персонажа первой команды $54D - сила (энергия) персонажа 0 первой команды $55F - голова персонажа 0 первой команды ( 07 - голова для состояния ярости) $583 - сила текущего удара персонажа 0 первой команды >= 8 - мигает >= 1c - супер >= 28 - потрачено $63D - Таймер ярости персонажа 0 первой команды. Если больше 0, то в ярости. $68D - положение камеры по X C368 - движение шайбы? DDB4->B5A9 - Установить состояние ярости 85A9 - загрузить палитру для команды $31a - ключевое значение для загрузки палитры (8a07 - 14a17h) - Палитра 1 команды Кунио D5C0 - Установить значение $31a для команды 1D86Ah - значение для команды Кунио --- Конец кода --- |
| BalinDMK:
Т.к. не нашёл программы, позволяющей нормально распаковывать/запаковывать образы от PSX, то сделал её сам. FEISTY Tool Копирую из ридми: --- Код: ---Русский: Программа FEISTY помогает распаковывать и запаковывать TOC-зависимые образы CD дисков. Например, от Сони ПлейСтейшн. Как распаковывать: -Сконвертируйте образ в формат iso любой пригодной программой. Я использую UltraIso. -Запустите FEISTY. Нажмите AUTO RIP и выберите ISO образ и папку, в которую вы хотите его распаковать. -Подождите. Распаковка занимает время, особенно в случае больших образов. -Если появилось сообщение, значит распаковка прошла удачно. Теперь вы можете делать с файлами всё, что угодно. Как запаковать: -Запустите FEISTY. Нажмите AUTO PACK и выберите последовательно: папку, в которую вы распаковывали данные, оригинальный ISO образ и название нового ISO образа. -Подождите. Запаковка также занимает время. -Опять же, если появилось сообщение, значит запаковка прошла успешно. -Однако, нужно сделать кое-что ещё. Откройте программу, которую вы использовали для конвертации образа (например, UltraISO), в ней откройте новый запакованный образ и сохраните его как ISO ещё раз. Готово. Примечание: FEISTY, скорее всего, не будет работать с мультидисковыми образами. -------------------------------------------------------------------------------- English: FEISTY tool is helpful for ripping and packing back TOC-dependent CD images. For example, PSX ones. How to Rip: -Convert disc you want to rip into iso format with any image converting software, let's say, UltraISO. -Start FEISTY tool. Push AUTO RIP button and choose what to rip and where to rip it. -Wait for it. It takes a little time, especially for big isos. -If a wild message has appeared, you successfully ripped your CD. Do anything with it now. How to Pack: -Start FEISTY tool. Push AUTO PACK button and choose a folder in which you unpacked your data, original iso image and where you would like packed iso to go to. -Wait for it. It takes a little time, especially for big isos. -Again, if a message has appeared, you have packed your iso. -However, you still need to do one thing. Open your image converting software (f.e. UltraISO) and load freshly packed iso. Then save it again as iso. Done. Note that FEISTY tool probably won't work with multi-disc images. --- Конец кода --- Вкратце, с помощью проги можно распаковать образ, изменить или добавить файлы и запаковать обратно. TOC пересоберется, он будет работать. Работоспособность проверена на X-Men: Mutant Academy, Batman Forever, Ehrgeiz, Dead or Alive. Зависимости проверены на виртуальной машине, dll и ocx приложил. Ссылка: https://www.box.com/s/qwirvh5e23vszwwhqfzm |
| Roket:
BalinDMK, по Чип и Дейл 2. Можно составить какой-нибудь простой редактор врагов для них наподобии кофигов Ti с battletoads. Известны расположения врагов. Хотелось бы больше боссов сделать на арену. Можно комбинировать зайчиху и страуса, есть некоторые лаги, но вот этим я ломаю уровень 5(дом с приведениями) и играть в него не возможно, так как там сломан порядок врагов за счёт дополнения дополнительного объекта в арену с боссом шестого уровня(часовня). :( |
| BalinDMK:
--- Цитата: Roket от 02 Май 2013, 10:04:01 ---BalinDMK, по Чип и Дейл 2. Можно составить какой-нибудь простой редактор врагов для них наподобии кофигов Ti с battletoads. Известны расположения врагов. Хотелось бы больше боссов сделать на арену. Можно комбинировать зайчиху и страуса, есть некоторые лаги, но вот этим я ломаю уровень 5(дом с приведениями) и играть в него не возможно, так как там сломан порядок врагов за счёт дополнения дополнительного объекта в арену с боссом шестого уровня(часовня). :( --- Конец цитаты --- Посмотрел. Начало процедуры спавна врагов находится в CBD7. Если заменить по адресу E401h (первая пчела) на 11220E, то почти сразу после начала первого уровня попадешь к боссу. Первый байт (11) - смещение экрана, второй (22) - положение на экране, описывается в другой процедуре, третий (0E) - номер объекта, врага, и т.п. Процедура по D8B4 загружает разные комнаты разных уровней. Использует переменные $72 - номер уровня и $73 - номер комнаты. $72 = 0; $73 = 5 - первый босс, $72 = 1; $73 = 2 - второй; и т.д. Если записать по E747h: 4F1840FF - то сражаться на первом уровне придется сразу с двумя боссами. Что я думаю: 1. Сделать редактор врагов можно, но он будет существенно ограничен местом. 2. Два босса одновременно маловероятно сделать. Поведение работает нормально, но процессор периодически захлебывается. Мерцание, это понятно. Существенно не хватает места в банках графики, но это теоретически можно попробовать обойти. В общем, лучше не надо. 3. Два, или несколько боссов подряд сделать скорее всего можно. Просто найти таблицу из которой записываются значения $72 и $73 и записывать переход в нужную комнату. Можно ещё и смещение экрана. 4. Для нормальной работы любого из вышеуказанного понадобится расширять ром. Минимум, чтобы повыдергивать таблицы врагов и процедуры их грузящие. |
| Kinbeas:
Я извиняюсь. Но здесь несколько человек спрашивали про режим версус в Капитан Америка. Хотелось бы хоть какой-то ответ получить. :D |
| Cinder:
Кооператив - вот чего данной игре не хватает. |
| BalinDMK:
--- Цитата: +Kinbeas+ от 03 Май 2013, 15:15:21 ---Я извиняюсь. Но здесь несколько человек спрашивали про режим версус в Капитан Америка. Хотелось бы хоть какой-то ответ получить. :D --- Конец цитаты --- Я просто бываю нерегулярно. В теории, добавить Мандарина и Черепа в версус можно. Код для поведения второго игрока там reusable, не сильно зависит от персонажа. Больше меня смущает графика, банки и сами спрайты. Много таблиц придётся переносить. В общем, ничего не обещаю, т.к. сейчас сильно занят, но если будет возможность - попробую сделать. --- Цитата: Cinder от 03 Май 2013, 15:39:37 ---Кооператив - вот чего данной игре не хватает. --- Конец цитаты --- С кооперативом сложнее. Персонажи составлены из многих спрайтов, плюс оружие, плюс враги, плюс оружие врагов. Может просто места не хватить. Да и кода придётся огромное количество переписывать. Добавлено: TMNT III - The Manhattan Project (U) [!] --- Код: ---$58 - номер уровня Процедуры, использующие $58 при загрузке уровня: ad8b - Загрузка банка ada5 - Загрузка палитр cad4 - Начальная позиция персонажей 89e7 - Загрузка тайлов fb5e - Эффект уровня через смену тайлов aeb5 - Музыка на уровне aee6 - Эффект уровня через поведение af22 - Что-то об уровне воды (?) Уровень: 8cc5 - записать данные о тайлах в 300,y из lda($06),y 81D9 - загрузить следующую тайловую колонку при смещении экрана из 300,y 89E7 - Основная загрузка тайлов -> 89F9 - sta 86 8e37 - записать значение в 0a из (86),y 8e19 - записать значение в 06 из (0a) 8c76 - загрузить метатайл из (06) Первый уровень использует около 84 метатайлов. Метатайл составлен из 4х4 тайлов. --- Конец кода --- |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |