Разработка и ромхакинг > Редакторы для консольных игр
[NES] Prince of Persia Level editor
opr:
ок, раз цитируешь, буду стирать сообщ или прятать за спойлер, дабы уменьшить спам. Собственно Это в любом случае совместный хак, один дизайнит, другой занимается правкой... Как иначе? :neznayu:
В титрах в любом случае будет указаны ники всех причастных к хаку лиц.
Кстати, делюкс меня мало впечатлил, честно. Озвучивать свое мнение, почему, конечно не стану, но не окунает в атмосферу игры.
на счет за десяток перевалило - зато посмотри, какой результат, глаз радуется. С прежней сырой версией никакого сравнения, и раздолье в редактинге, так что работа проведена ой как не зря. Почти все основные глитчи исправлены.
ALXR:
Ну вот и пиши в дискорд. Приседать за код по каждой мелочи сильно лень
xKos:
Оставлю здесь для истории и общей информации (не критика и не призыв к исправлению):
Теперь в последних версиях рома нельзя выпить бутылку, стоящую на одиночной плите - Принц просто спустится с плиты из любого положения.
ALXR:
--- Цитата: xKos от 15 Август 2020, 10:12:54 ---Оставлю здесь для истории и общей информации (не критика и не призыв к исправлению):
Теперь в последних версиях рома нельзя выпить бутылку, стоящую на одиночной плите - Принц просто спустится с плиты из любого положения.
--- Конец цитаты ---
Ну тут варианты такие: либо выпивать, либо спускаться. :)
xKos:
--- Цитата: ALXR от 04 Сентябрь 2020, 20:42:15 ---Ну тут варианты такие: либо выпивать, либо спускаться. :)
--- Конец цитаты ---
В том-то и дело, что вариант только один - спускаться.
x.GREYSON.x:
--- Цитата: x.GREYSON.x от 06 Апрель 2020, 01:14:40 --- Благодарю за подробную инфу. =) Я смог закончить свой 2-й хак. спустя 5 лет Так что можете заценить. В архиве так же и первый хак, который тоже подправил титульник. Наименование вверху на экране с текстом. NEW STORY 1 и 2 соответственно 1-я и 2-я часть. =) В дальнейшем могут быть небольшие доработки.
Отличия от оригинала:
В 1-ом будет много графических косяков движка, которые стали частью антуража (т.е. задуманы как усложнения). Косяков в управлении нет, все проходимо за 60 мин. Хотелось добавить музыку на заставку, но Я не умею это делать.
Архив на 22.04.2020 - 11.10 Которые были до этого попрошу удалить.
Исправлены баги и убраны некоторые графические косяки.
--- Конец цитаты ---
В общем. Нашлись кое-какие баги и графические косяки, которые пришлось исправить. В наименовании, так же пришлось добавить номер версии-ревизии (Я стал запутываться в исправленных и не очень вариантах, стал их нумеровать). Хотелось добавить музыку на заставку, но Я не умею это делать. Новым редактором еще не пользовался., т.к. пришлось бы все с нуля делать, а мне лень (без доната).
Отличия от оригинала:
[NES] Prince of Persia (U Hack 1 By Greyson New Story v1.6) [!]
- на титульнике вверху указано название NEW STORY.
- времени со старта 90 мин.
- нельзя отключать музыку (краш финала)
- добавлена палитра уровней и стражников (что позволяет отделить Джаффара от остальных).
- увеличен максимум ХР с 5 до 18 (может больше, но будут графические баги).
- бутылки разные с разным действием (большая бутыль может отнять ХП, а малая прибавить).
- немного изменены строения уровней (рабочее наименование OriginHard).
- есть несколько вариантов пути.
- из-за сильных ограничений движка игры возможны графические глюки (спрайты/артефакты/мусор) на экране.
[NES] Prince of Persia (U Hack 2 By Greyson New Advance v1.6) [!]
- на титульнике вверху указано название NEW ADVANCE (пока не доработано, возникает краш финала. Пока название NEW STORY 2).
- времени со старта 75 мин.
- нельзя отключать музыку (краш финала)
- добавлена палитра уровней и стражников (что позволяет отделить Джаффара от остальных).
- увеличен максимум ХР с 5 до 18 (может больше, но будут графические баги).
- бутылки разные с разным действием (большая бутыль может отнять ХП, а малая прибавить).
- новые строения уровней.
- есть несколько вариантов пути.
- из-за сильных ограничений движка игры возможны графические глюки (спрайты/артефакты/мусор) на экране.
- имеется очень много пасхалок и отсылок.
Архив от 27.03.2021 - 23.03. Которые были до этого попрошу удалить. Они не актуальны.
x.GREYSON.x:
ALXR, какая сейчас последняя версия редактора (pro), и есть ли полное описание действий к нему? Попробовал тот, который от 18.06.2020. Что-то не понял как в нем что-то делать. При выборе типа блока/плиты нет цикличности и некоторые блоки глюченые. Бутылки хрен знает какие выбирать и кнопки. Постоянная анимация жутко бесит.
Хотел на него перенести свои хаки, чтобы не было глюков графических. А вот и не вышло.
ALXR:
Честно говоря, не понял что у тебя не получается. Переключение блоков - да, не цикличное, а в остальном, управление идентично первой версии. Переключать свойства блока - PgUp/PgDn.
Поставить и менять вид стражника (стражник/скелет/отражение) - пробелом. Что делают бутылки и какие баги были поправлены где-то в посте описывал...
С той поры ничего нового не появилось, вроде как. Точнее я сделал еще ряд добавлений для этого хака, но они чисто ситуативные и никаких прочих проблем не исправляют.
Глючные блоки - значит таковые они будут и в игре. Некоторые блоки из замка не будут корректно отображаться в подземелье.
Kronomorph:
Хотел бы узнать, есть кто-нибудь, кто может помочь с моим ромхаком. Мне нужно добавить в ром, чтобы игра заканчивалась с 1 смерти. По возможности, конечно, хотелось, чтобы не было выбора начать игру, и ввести код, игра начиналась сразу и после 1 смерти игра заканчивалась и начиналась заново, или вываливалась в стартовое меню.
Sharpnull:
--- Цитата: Kronomorph от 04 Июнь 2021, 17:30:32 ---чтобы игра заканчивалась с 1 смерти
--- Конец цитаты ---
С жизнями относительно просто. В $06CF хранятся жизни. На старте жизни устанавливаются из таблицы CPU $B4CA- (ROM $B4DA) в зависимости от уровня ($70), которые также влияют на жизни врагов. Я не разбирал за что всё отвечает здесь (CPU $B503, банк 02):
--- Код: --- LDX $70
LDA $B4CA,X
STA $06D0
STA $06F3
CLC
ADC $06F4
CMP #$05
BCC $B518
LDA #$05
STA $06F2
STA $06CF
RTS
--- Конец кода ---
Но если заменить LDA $B4CA,X на LDA #$01 | NOP, то у врагов будет тоже 1 жизнь. В $06F2 - макс. кол-во жизней героя, $06CF - сами жизни, поэтому можно написать:
--- Код: --- CMP #$01
BCC $B518
LDA #$01
--- Конец кода ---
ROM B523:01, B527:01. Чтобы запретить увеличение жизней, нужно отловить увеличение жизней ($06F2 или других), когда берётся бутылка, но в эту игру я не умею играть, оставляю на вас.
Установка 00 в $0735 на старте пропускает экран с "пароль и новая игра", поэтому изменить ROM 9FD2:00. Не знаю как это работает, перебрал адреса, которые устанавливаются после нажатия start на главном экране. Тестирование на вас.
UPD: Забыл сказать, что это для Prince of Persia (U) [!].
UPD2: Я неправильно понял с "1 смерти", вам нужно 1 continue, а жизни не трогать.
UPD3: После смерти работает счётчик - $04E5, когда значение становится $64, то начальный экран. Можно изменить проверку на CMP #$00 - ROM 9F33:00, тогда будет мгновенная смерть, что даже не будет видно самой смерти. Если хотите, чтобы игрок видел смерть, то нужно установить счётчик до нужного времени и убрать возможность нажать start и надпись.
UPD4: Исправил адрес счётчика выше ($04E5). Нашёл вариант лучше чтобы сделать 1 continue, ниже проверки счётчика была проверка на start (CPU $9F42, банк 02), достаточно заменить на JMP $C047 (ROM 9F5D:47), как после истечения времени и start тоже отправит на начальный экран.
Короче, ROM/HEX 9FD2:00 - убрать экран "пароль или новая игра", ROM/HEX 9F5D:47 - 1 continue.
ALXR:
--- Цитата: Sharpnull от 04 Июнь 2021, 20:05:30 ---С жизнями относительно просто. В $06CF хранятся жизни. На старте жизни устанавливаются из таблицы CPU $B4CA- (ROM $B4DA) в зависимости от уровня ($70), которые также влияют на жизни врагов. Я не разбирал за что всё отвечает здесь (CPU $B503, банк 02):
--- Код: --- LDX $70
LDA $B4CA,X
STA $06D0
STA $06F3
CLC
ADC $06F4
CMP #$05
BCC $B518
LDA #$05
STA $06F2
STA $06CF
RTS
--- Конец кода ---
Но если заменить LDA $B4CA,X на LDA #$01 | NOP, то у врагов будет тоже 1 жизнь. В $06F2 - макс. кол-во жизней героя, $06CF - сами жизни, поэтому можно написать:
--- Код: --- CMP #$01
BCC $B518
LDA #$01
--- Конец кода ---
ROM B523:01, B527:01. Чтобы запретить увеличение жизней, нужно отловить увеличение жизней ($06F2 или других), когда берётся бутылка, но в эту игру я не умею играть, оставляю на вас.
Установка 00 в $0735 на старте пропускает экран с "пароль и новая игра", поэтому изменить ROM 9FD2:00. Не знаю как это работает, перебрал адреса, которые устанавливаются после нажатия start на главном экране. Тестирование на вас.
UPD: Забыл сказать, что это для Prince of Persia (U) [!].
UPD2: Я неправильно понял с "1 смерти", вам нужно 1 continue, а жизни не трогать.
UPD3: После смерти работает счётчик - $04E5, когда значение становится $64, то начальный экран. Можно изменить проверку на CMP #$00 - ROM 9F33:00, тогда будет мгновенная смерть, что даже не будет видно самой смерти. Если хотите, чтобы игрок видел смерть, то нужно установить счётчик до нужного времени и убрать возможность нажать start и надпись.
UPD4: Исправил адрес счётчика выше ($04E5). Нашёл вариант лучше чтобы сделать 1 continue, ниже проверки счётчика была проверка на start (CPU $9F42, банк 02), достаточно заменить на JMP $C047 (ROM 9F5D:47), как после истечения времени и start тоже отправит на начальный экран.
Короче, ROM/HEX 9FD2:00 - убрать экран "пароль или новая игра", ROM/HEX 9F5D:47 - 1 continue.
--- Конец цитаты ---
Всё уже разобрано давно...
Если что, то тут есть худо-бедно сделанный реверс и можно править его, собирая потом в готовый ROM.
(CPU $B503, банк 02)
ROM 9FD2:00
$4E5
$6CF
$6F2
Sharpnull:
--- Цитата: ALXR от 09 Июнь 2021, 00:47:09 ---Всё уже разобрано давно
--- Конец цитаты ---
Чтобы разобраться в разобранном тоже нужно время :)
--- Цитата: ALXR от 09 Июнь 2021, 00:47:09 ---тут есть худо-бедно сделанный реверс
--- Конец цитаты ---
Спасибо, значит всё правильно. Надеюсь больше не пригодится.
В итоге, к HEX 9FD2:00 и 9F5D:47, были отправлены в ЛС изменения: 9F55:09 - не ждать нажатия start после смерти (изменил на OR), BC0A:10 - пропуск экрана с паролем после перехода на новый уровень (изменил на BPL). UPD: Хотя последнее возможно лучше было изменить ниже.
ПАУК:
Вторая часть из первой.
http://romhacking.ru/news/prince_of_persia_2_nes/2021-07-20-7681
Ссылка в описании на ютубе, наверное, будет меняться по мере обновлений.
Online:
Привет всем! А кто-нибудь проходил хак, сделанный ALXR Prince of Persia Altered?
Я дошёл до 11 уровня и где надо сделать прыжок, чтобы зацепиться за платформу в оригинале, здесь вместо статической платформы находится та, которая падает. Если попытаться зацепиться на неё с разбега, то принц отпускает сразу её и падает в пропасть. Для меня это место в игре на данный момент непроходимо. Может быть здесь какой-то другой способ прохождения? Или может здесь следует заменить эту платформу, если это место не проойти? На картинке постарался всё наглядно изобразить вам, буду признателен за любую информацию. ;) Прикрепил sava state для Virtual nes (слот 2) этого меса перед прыжком.
ALXR:
--- Цитата: Online от 05 Декабрь 2021, 13:59:45 ---Привет всем! А кто-нибудь проходил хак, сделанный ALXR Prince of Persia Altered?
Я дошёл до 11 уровня и где надо сделать прыжок, чтобы зацепиться за платформу в оригинале, здесь вместо статической платформы находится та, которая падает. Если попытаться зацепиться на неё с разбега, то принц отпускает сразу её и падает в пропасть. Для меня это место в игре на данный момент непроходимо. Может быть здесь какой-то другой способ прохождения? Или может здесь следует заменить эту платформу, если это место не проойти? На картинке постарался всё наглядно изобразить вам, буду признателен за любую информацию. ;) Прикрепил sava state для Virtual nes (слот 2) этого меса перед прыжком.
--- Конец цитаты ---
Хорошо всё проходится. :-)
А вот то, что падающая плита "воскрешает" его из мёртвых - надо бы исправить <_<
Online:
Ещё проверил систему паролей. У вас она работает? В архиве положил сейвы перед паролями для Virtual nes
.st0 - перед дверюью с паролем - слот 0
.st1 - перед дверюью с паролем 2 - слот 1
.st3 - перед паролем (уровень 12) - слот 3
ALXR:
--- Цитата: Online от 20 Февраль 2022, 16:54:16 ---Ещё проверил систему паролей. У вас она работает? В архиве положил сейвы перед паролями для Virtual nes
.st0 - перед дверюью с паролем - слот 0
.st1 - перед дверюью с паролем 2 - слот 1
.st3 - перед паролем (уровень 12) - слот 3
--- Конец цитаты ---
Похоже что-то пошло не так. :lol: Надо будет проверить. Возможно генерация паролей новая, а проверка старая (или наоборот)...
Kronomorph:
Доброго времени суток. Прошу помощи, может кто-то разбирается, сделать варп зону с 6 уровня (дверь-болкон) в уровень 10-12. Возможно за плату
x.GREYSON.x:
--- Цитата ---Прошу помощи, может кто-то разбирается, сделать варп зону с 6 уровня (дверь-болкон) в уровень 10-12
--- Конец цитаты ---
Тут такое не прокатит. Незачем. Игра не та, чтобы варпы делать. Пароли вводи, вот тебе варп.
Lexens:
Здравствуйте, у меня вопрос.
Как говорится, самый глупый вопрос это не заданный вопрос.)
Подскажите пожалуйста как сделать так что бы упавшие (плиты на голову) не наносили урона.
Есть места например на 12 уровне вверху , перед скелетом, невозможно пройти там и не получить урон от плиты, буду очень благодарен
Навигация
Перейти к полной версии