Category: Баги

16
Мар
2022

Обновление релиза Prince of Persia

Исправлен приоритет при фехтовании: если Принц и стражник одновременно бьют, то урон получает стражник. Раньше приоритет был у стражника. Теперь все как в оригинале и шансов победить стало больше. Релиз обновлен.

22
Окт
2021

Релиз обновлен

Новый релиз, содержит фиксы и фичи:

  • BUG: по АР2+R сбрасывалось заданное управление
  • BUG: ждать конца звука перед музыкой
  • BUG: можно было хитро спрыгнуть без потери жизни
  • BUG: иногда пролетал сквозь решетку

Фичи:

  • сделано обнаружение отсутствия SMK и вывод надписи об этом
  • добавлена возможность записи игры

О записи подробнее.  Хоть я и прошел в свое время Принца без какой-либо записи, оказывается возможность такая была. И она описана в оригинальной доке:

Так я и реализовал ее:

  • запись доступна только начиная с 4 уровня
  • для записи нужно нажать клавиши АР2+W, при этом текущий лабиринт будет перезапущен
  • для чтения нужно во время начальной заставки нажать АР2+L, игра начнется с начала записанного уровня

 

06
Окт
2021

Добиваем баги

Фиксим последние (надеюсь) баги:

  • при спрыгивании с больших колонн нужно другое смещение, чем при спрыгивании со стены из висячего положения (баг оказался глубинным, я правил его два дня!)
  • при приземлении с ударом об решетку не сбрасывался высотомер
  • обнаружилось, что при выходе Принца из лабиринта вдруг исчезает труп стражника, если он валяется рядом

 

04
Окт
2021

Автодетект

Сделал автоопределение среды, в которой запущен Принц – эмулятор или реальная БК. Для эмулятора и железа используются разные задержки для смены палитр на лету и переключения экранов. Пришлось повозиться, т.к. процедура “записать в 177702 – прочитать из 177702” почему-то не всегда вызывает прерывание по вектору 4 на моей БК. Особо разбираться не стал, т.к. записанное значение из этого регистра все-таки не читается, а в эмуляторе читается. От этого факта и пляшем. Попутно пофикшены баги:

  • во время демо не блокировались управляющие клавиши, т.е. можно было включить задание управления, например
  • жуткий глюк, который мог приводить к вылетанию игры при перезапуске игры/лабиринта во время фехтования (при старте мог быть текущим профиль стражника, а не принца, а у того спрайты совсем не там….)
  • после задания управления от джойстика Принц делал прыжок – потому что игрок не успевал отпустить последнюю задаваемую кнопку (как раз прыжок). Теперь ждем, пока отпустит, а только потом выходим из процедуры задания управления.
30
Сен
2021

“Отберите у Теда желтый блокнот!”

Вычеркиваем:

  • нужно иметь возможность скипнуть заставку джойстиком
  • портится нажимающаяся плита, если справа падает пол
  • странный глюк  с игнорированием клавиш после смерти (повторить пока не удалось)

Хитрый глюк с игнорированием клавиш обнаружил Алекс Шестипалов, за что ему граненое мерси 🙂 Возникало это только в ситуации, когда Принц с пола вешался на стену, но залезать передумывал и спрыгивал обратно на пол. Причем именно на стену, а не на арку. И если после этого умудриться ни разу не упасть, не спрыгнуть с высоты хотя бы одного кирпича, а затем погибнуть в бою со стражником – вот только тогда не появлялась надпись “Press button to continue” и ожидание клавиши было бесконечным.  Просто при спрыгивании с кирпича (без залезания наверх) высотомер не сбрасывался (ошибочно, конечно). А вот ожидание обнуления высотомера я добавил только недавно, для того, чтобы дождаться полного падения Принца в пропасть, прежде чем перезапускать лабиринт по нажатию клавиши. И тут звезды сошлись… Принц считался летящим и ожидание было вечным.

Заставка теперь пропускается клавишей джойстика. Завтра буду делать новое управление от джойстика, с добавочной кнопкой для прыжков и стрельбы.

 

29
Сен
2021

Только я подумал, что все…

Отдал Принца на тесты и уже получил несколько “приветов”. Что ж, буду фиксить 🙂

  • неудобно прыгать на бегу на джойстике с крестовиной (типа Dandy) – ок, заюзаем вторую кнопку
  • нужно иметь возможность скипнуть заставку джойстиком
  • служебные клавиши работают только на латинском регистре (посыпаю голову пеплом)
  • портится нажимающаяся плита, если справа падает пол
  • меч мигал не там, где надо – это я сам нашел и уже исправил
  • странный глюк  с игнорированием клавиш после смерти (повторить пока не удалось)

Ну, не все так плохо, знавали мы глюки и похлеще ))

 

28
Сен
2021

A Hard Day’s Night

Сегодня исправил несколько багов, обнаруженных Yellow Rabbit и мной:

  • иногда некорректно определялось место для повешения на шипах
  • новые игровые часы продолжали идти и во время паузы 🙂
  • звездочка при заколе иногда выводилась не там, где надо

А также занимался грандиозным делом – подбирал на железной БК задержки для смены палитр “на лету”. Занятие не для слабонервных. Но мне удалось их подобрать! Теперь надо сделать определение среды запуска “эмулятор/железо” и применять те или иные тайминги. Так как я весь вечер гонял Принца на железной БК, то могу сказать, что Принц на железе работает шустрее, чем в эмуляторе. Очень заметно 🙂 Прям радует.

 

26
Сен
2021

Славная охота

Итак, сегодня сделано:

  • иногда не выключался муз.проц, исправлено
  • исправлена плита у зеркала
  • приземление с большой высоты с ударом об стену проходило без анимации контузии
  • при падении с большой высоты и ударе о “ветхую” плиту Принц помирал, но продолжал падать (и это правильно) и при этом мог зацепиться и повиснуть, раскачиваясь как живой (вот это неправильно)
  • поправлены некоторые новые спрайты во дворцах
  • игровое время теперь считается по таймеру, так что на игру реально выделяется час

Осталось совсем немного:

  • разобраться с масками дохлого Принца
  • добавить внезапный музон в 6-м
  • исправить музон победы в бою (что-то там щелкает)
  • восстановить вывод звука на спикер
  • сделать выбор устройства вывода звука
  • настроить задержки для палитр на железе

 

 

25
Сен
2021

Шумеры

Сделано:

  • по совету Yellow Rabbit сделал микширование шума поприличнее. Артефактов стало поменьше.
  • поправил некоторые лабиринты (в паре мест обрывался узор, а в демо-лабиринт закрался дворцовый кирпич)
  • пришлось править сценарии демо-битв, т.к. с новым RND стражники стали драться активнее
  • увеличил паузу в срабатывании пил, почему там было 6 кадров вместо положеных 8 – неясно. Теперь пила работает как в оригинале. Но в итоге в демо пришлось править сценарий прохода через пилу, т.к. вместо “как надо переходить через пилу” с новой пилой получилась демка “как Принц запиливается”

Что осталось сделать:

  • у зеркала осталась синяя плита (от старой обстановки дворцов)
  • иногда муз.процессор не выключается и продолжает шуршать или свистеть
  • у стражника остались удары-промахи без звука
  • в падении с большой высоты Принц может помереть два раза, если упадет на “ветхую” плиту
  • маски на дохлого Принца надо накладывать иначе
  • добавить внезапный музон в 6-м
  • сделать подсчет времени по таймеру, а не по кадрам (раз Принц теперь бегает как на PC)
  • попытаться оптимизировать вывод решеток – они (в большом количестве) все-таки тормозят Принца. Может там тоже найдется что ускорить.

Звуки на спикер еще не выброшены из Принца, они вполне прилично звучат. Пробовал даже включать одновременный вывод звука и на AY и на спикер – прикольно. Наверное стоит их доделать, теперь они не тормозят принца. Неясно что делать с музыкой на спикер, правда. Попробовал несколько музыкальных редакторов (“Маэстро”, еще какой-то) – как-то фальшиво звучит в эмуляторе. Не знаю, может дело в эмуляторе, а может в тех демо-музонах, которые с ним идут. “Клавесин” на железе вроде звучал прилично, но та версия, что мне удалось найти, в эмуляторе виснет при старте.