| Разработка и ромхакинг > Ромхакинг и программирование |
| Хак Captain America and The Avengers (NES) |
| << < (3/7) > >> |
| Kinbeas:
--- Цитата: BalinDMK от 05 Май 2013, 01:18:37 ---Я просто бываю нерегулярно. В теории, добавить Мандарина и Черепа в версус можно. Код для поведения второго игрока там reusable, не сильно зависит от персонажа. Больше меня смущает графика, банки и сами спрайты. Много таблиц придётся переносить. В общем, ничего не обещаю, т.к. сейчас сильно занят, но если будет возможность - попробую сделать.С кооперативом сложнее. Персонажи составлены из многих спрайтов, плюс оружие, плюс враги, плюс оружие врагов. Может просто места не хватить. Да и кода придётся огромное количество переписывать. --- Конец цитаты --- Не так, как минимум, чтобы и первый и второй игрок могли выбирать из пяти возможных персонажей. :blush: |
| Kinbeas:
--- Цитата: BalinDMK от 05 Май 2013, 01:18:37 ---Я просто бываю нерегулярно. В теории, добавить Мандарина и Черепа в версус можно. Код для поведения второго игрока там reusable, не сильно зависит от персонажа. Больше меня смущает графика, банки и сами спрайты. Много таблиц придётся переносить. В общем, ничего не обещаю, т.к. сейчас сильно занят, но если будет возможность - попробую сделать.С кооперативом сложнее. Персонажи составлены из многих спрайтов, плюс оружие, плюс враги, плюс оружие врагов. Может просто места не хватить. Да и кода придётся огромное количество переписывать. --- Конец цитаты --- Хотелось бы понять, насколько растяжимо выделенное слово?! ::) |
| BalinDMK:
--- Цитата: +Kinbeas+ от 05 Май 2013, 12:25:22 ---Не так, как минимум, чтобы и первый и второй игрок могли выбирать из пяти возможных персонажей. :blush: --- Конец цитаты --- В теории можно, конечно, добавить подпроцедуру, которая будет грузить либо боссов, либо персонажей, в зависимости от порядкового номера. Потом добавить соответствующий код в сам версус. Много работы, мало пользы. Не возьмусь. --- Цитата: +Kinbeas+ от 25 Май 2013, 13:16:53 ---Хотелось бы понять, насколько растяжимо выделенное слово?! ::) --- Конец цитаты --- Чрезвычайно, к сожалению. Жизнь, ничего не поделать. TMNT: TF Так как я не уверен, что буду продолжать хак Tournament Fighters - выкладываю последнюю версию и документацию, на случай, если кто-то захочет продолжить. Документация несортированная, шизофреничная, но довольно подробная. https://app.box.com/s/1b140n5g5awo0n5khbcr |
| spiiin:
да вполне нормальная документация, по ней можно продолжить работу над проектом. даже виден ход рабочего процесса. у меня обычно на выходе текстовик строк на 200 с основными метками. я бы рекомендовал тебе разобрать метод сборки рома с ассемблированием отдельных кусков кода и вставкой в ром, так у тебя код будет в текстовом, а не бинарном виде держаться небольшими кусочками, а не всё в основном роме храниться. http://spiiin.livejournal.com/69940.html Добавлено позже: а так, например, в роме баг - если не нажать start во время загрузки, то игра зависнет. вот как ты найдешь, с какой версии этот баг появился и как вернуться к рабочей, без отката всех остальных изменений? |
| BalinDMK:
Кое-что, что еще не выкладывал. Как было задумано: Кэпа обуревают воспоминания о WWII. Игрок попадает на уровень в стиле "Высадка в Нормандии", в конце, возможно, бьет Гитлера по черепу и, как бонус, после уровня находит Квинджет раньше в игре. Что я успел сделать пока не забросил: Если после первого уровня повернуть обратно в Майами и пройти Майами, то начнется дополнительная сценка, и попадаешь в доп. уровень. Т.к. я ничего не трогал, то выглядит он как Тампа, хотя использует свою тайловую карту и загружает данные о врагах независимо. Контейнеры неактивны, т.к. под них не написан код. Выйти из уровня можно только через меню. Вроде бы, ничего не поломано дополнительно. Ссылка: https://app.box.com/s/cakqoq8fqs5pg6lnj6ht |
| ПАУК:
--- Цитата: BalinDMK ---Т.к. не нашёл программы, позволяющей нормально распаковывать/запаковывать образы от PSX, то сделал её сам. --- Конец цитаты --- Перезалей её, пожалуйста. Добавлено позже: --- Цитата: BalinDMK ---Вроде бы, ничего не поломано дополнительно. --- Конец цитаты --- А прозрачный щит за 150, это так задумано? |
| BalinDMK:
--- Цитата: ПАУК от 23 Сентябрь 2014, 10:11:09 ---Перезалей её, пожалуйста. --- Конец цитаты --- Странно, у меня всё еще доступна. Ок. Ссылка: https://db.tt/J6rALcN5 --- Цитата ---А прозрачный щит за 150, это так задумано? --- Конец цитаты --- Да. Это плазменный/фотонный щит. Был у Кэпа, когда тот не мог пользоваться основным. |
| ПАУК:
У меня игра виснет после победы над красной угрозой. Чёрный экран. Добавлено позже: В оригинале всё норм. |
| BalinDMK:
Я знаю, что подобное уже несколько раз делали, но всё же. Ike Ike! Nekketsu Hockey Bu [T+Eng1.1_TransBRC] - VS Menu Hack Фичи: Открыты команды американцев, русских и юниоров. Можно играть за одинаковую команду. Изменено версус меню, чтобы их вмещать (кстати, иконки можно перерисовать, место есть, мне просто лень было). Известные баги: Смещены названия команд в расстановке игроков и номер P3 в версус режиме 2 (обнаружил после того, как ips сделал, возможно исправлю). Ссылка: https://db.tt/MpSf6PdV --- Цитата: ПАУК от 23 Сентябрь 2014, 11:48:24 ---У меня игра виснет после победы над красной угрозой. Чёрный экран. --- Конец цитаты --- Плохо. Я на середине забросил. Знал, что уровень непроходимый, но думал, что больше ничего не покалечил. Добавлено: Посмотрел. Я на единичку в оффсете обсчитался. Забавно. |
| DANGER X:
Wow incredible thanks man :wow: Добавлено позже: You know what can make it perfect?To change it from 1player vs 2player to 1player vs computer ;) Maybe you can make it... |
| ПАУК:
--- Цитата: BalinDMK ---Посмотрел. Я на единичку в оффсете обсчитался. Забавно. --- Конец цитаты --- И..? |
| Phil:
--- Цитата: BalinDMK от 28 Сентябрь 2014, 21:17:33 ---Добавлено: Посмотрел. Я на единичку в оффсете обсчитался. Забавно. --- Конец цитаты --- --- Цитата: ПАУК от 29 Сентябрь 2014, 12:06:32 --- И..? --- Конец цитаты --- +1 |
| Lipetsk:
--- Цитата: BalinDMK от 28 Сентябрь 2014, 21:17:33 ---Я знаю, что подобное уже несколько раз делали, но всё же. Ike Ike! Nekketsu Hockey Bu [T+Eng1.1_TransBRC] - VS Menu Hack --- Конец цитаты --- Зачет. Визуально меню лучше смотрится. Но проблему одинаковых палитр в повторяющихся командах ты не решил. |
| BalinDMK:
--- Цитата: ПАУК от 29 Сентябрь 2014, 12:06:32 --- И..? --- Конец цитаты --- Исправил баг с ред алерт. Добавил предметы на и выход из доп. уровня. Ссылка:https://db.tt/G5kCVpvI --- Цитата: Lipetsk от 29 Сентябрь 2014, 16:45:39 ---Зачет. Визуально меню лучше смотрится. Но проблему одинаковых палитр в повторяющихся командах ты не решил. --- Конец цитаты --- Да я как-то и не хотел их трогать. Мне кажется, что так даже забавнее. Другой вопрос, что цифра затирается в меню, если выбрать одну и ту же команду. Очень легко правится, но меню начинает сильно тормозить из-за постоянной перерисовки. Поэтому оставил как есть. --- Цитата: DANGER X от 29 Сентябрь 2014, 07:58:42 ---Wow incredible thanks man :wow: Добавлено позже: You know what can make it perfect?To change it from 1player vs 2player to 1player vs computer ;) Maybe you can make it... --- Конец цитаты --- Thanks. Thing is, I try not to change any original content in my hacks, only to include additional features. '1p vs cpu' probably could've been done as another game mode, but career mode is already basically '1p vs cpu' so I don't really see a reason for the moment. Sorry to disappoint. |
| DANGER X:
yeah but in carrer mode you can't chose your team...anyway thanks for the answer. |
| ПАУК:
А вот здесь, наверно, запятая должна быть ...в обращении. |
| BalinDMK:
--- Цитата: ПАУК от 29 Сентябрь 2014, 21:44:09 ---А вот здесь, наверно, запятая должна быть --- Конец цитаты --- У Кэпа вообще с пунктуацией не очень. Вот тут, например, точки не хватает. Первый же диалог. Но ты прав, не уподоблюсь. Исправил. :) Добавлено: Обновил. Теперь новый уровень - действительно новый. Своя графика, всё такое. Ссылка: https://db.tt/bvw8Q4sx |
| BalinDMK:
Немного информации. Если вы смотрели на графику баттлтоадс, то знаете, что баттлтоадс держит только один кадр анимации жабы в памяти, загружая остальные в chr-ram по мере необходимости. Но если попытаться сделать то же самое, то выясняется, что микроскопического времени vblank'а не хватает на то, чтобы обновить и несколько тайлов. Как же баттлтоадс это делает? Примерно так: Оставляем код обновления графики в основном цикле. Только теперь будем буферизовать тайлы прямо в стек. --- Код: ---tsx ;получаем исходную позицию стека stx org_s_pos ldx #$F2 txs ;выставляем позицию стека. F2 байт - это F тайлов и двухбайтовый указатель места в PPU ;загружаем данные и буферизуем через pha tsx stx gfx_s_pos ;получаем положение данных ldx org_s_pos txs ;возвращаем стек на место lda #$01 sta gfxflag ;запомнили, что данные подготовлены rts --- Конец кода --- Перемещать тайлы прямо в chr-ram будем во время nmi. Если gfxflag включен, то не делаем в nmi ничего лишнего, кроме самого обновления. --- Код: ---set_chrram: tsx stx org_s_pos ;получаем исходную позицию стека ldx gfx_s_pos txs ;переходим в данные pla sta $2006 pla sta $2006 ;те самые два байта set_chrram_l: pla sta $2007 ;получили байт тайла ;повторяем pla-sta 16 раз, чтобы получить целый тайл tsx cpx #$F2 bne set_chrram_l ;если загрузка не закончилась - повторяем ldx org_s_pos txs ;возвращаем стек на место lda #$00 sta gfxflag ;запомнили, что загрузка закончена rts --- Конец кода --- Таким образом можно обновлять целый ряд тайлов за nmi, что, конечно, не сравнится с переключением chr банков, но вполне достаточно для анимации одного-двух персонажей. Правда нужно помнить, что буфер занимает почти весь стек и нужно постараться не затереть данные случайным jsr'ом. |
| Ti_:
--- Цитата: BalinDMK от 11 Октябрь 2014, 06:08:44 ---Немного информации. Но если попытаться сделать то же самое, то выясняется, что микроскопического времени vblank'а не хватает на то, чтобы обновить и несколько тайлов. Как же баттлтоадс это делает? Примерно так: --- Конец цитаты --- Не совсем так. Через стек обновляются ряды и колонки скролла, атирибуты, палитры. Возможно ещё что-то. Графика жаб обновляется через модифицирующийся код в ОЗУ. В нём изменяются базовые адреса для кадра жабы. Обновляется не более 1 кадра за раз (не более 1 жабы). Если никому не надо обновлять то может быть использовано для анимации бекграундов. Также на некоторых уровнях (2-ой уровень), может быть ещё один подобный код для анимации. За vblank там ничего не обновляется. Экран со статусбаром включается только на 16 строке (но для ntsc это видимая 8-ая). На уровнях karnath lair и revolution и того позже. (на 32-ой?) Там можно заметить положение статус бара ниже. Добавлено позже: --- Цитата: BalinDMK от 11 Октябрь 2014, 06:08:44 ---Таким образом можно обновлять целый ряд тайлов за nmi, что, конечно, не сравнится с переключением chr банков --- Конец цитаты --- Стек скорости не добавляет если что. PLA и LDA abs,X одинаковые. Быстрее может быть только если в zeropage, или LDA #XX STA $2007 лежащие в озу (нужна куча озу, много времени на подготовку), ну или просто заготовленные последовательности (нужна дофига рома). |
| BalinDMK:
Afaik, жабы обновляют графику в 8225/235h. Обновляют около f тайлов (один кадр) через стек и пару сверху для эффектов уровней, да. Быстрее. Pla - 4 цикла, lda,x/y - 4+ цикла. Но lda требует inx/iny - 2 цикла каждый. С lda верхний максимум, которого я смог добиться - 7-8 тайлов за раз, с преподготовленными оффсетами, без промежуточных inx/iny. Но перещелкивание 16 байт занимает всё равно слишком много времени. С pha-pla успевает пройти f тайлов из стека. Может и больше, я не проверял. |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |