Category: Баги

02
Сен
2021

Фиксим баги, снова

Пройдясь по новому варианту Принца, быстро насобирал список старых и новых багов и недоделок. Постепенно исправляю:

  • у Принца была возможность избежать боя со скелетом, поправил
  • если плита падала слева от шипов, то при срабатывании они затирали лежащие обломки. Разбирательство с этим багом привело к полному переписыванию вывода шипов, выкидыванию куска кода и ускорению их работы.
  • исправлено слишком быстрое убирание шипов, когда Принц от них отходит

Как ни странно, надо вернуть динамическую задержку в Принца, иначе он слишком быстро бегает, когда на экране мало всего происходит. Это, конечно, классно, но пила срабатывает слишком быстро и прыгать через нее в этом случае уже затруднительно. Причем задержка такая раньше была, но была выкинута с проклятьями “пусть хоть иногда он шевелится быстро”. Но оптимизация и переработка Принца, видимо, принесли ощутимые результаты 🙂

 

 

23
Авг
2021

Баги и мигания

Сегодня исправил несколько ошибок:

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

А так же продолжаю мучать мигание. Полноэкранное блымкание прикольное, но имеет задержку, обусловленную подготовкой скрытого экрана. Это не подходит для быстрого мигания при падении или получения удара в бою…

17
Май
2021

SMK побежден

Точнее, исправлена работа с памятью. Для этого пришлось сделать следующее:

  • все данные заново перетасовать по страницам-сегментам (в итоге используемых страниц стало меньше, что характерно)
  • переделать работу с памятью, т.к. теперь уже не получится просто подключить спрайты фехтования в окно 100000, надо их копировать, как раньше, поверх спрайтов, не используемых при фехтовании. И обратно.
  • процедуру свопа пришлось вынести в основную память, т.к. код, работающий в расширенном ОЗУ на адресах 100000-140000 норовит отключить сам себя

В результате Принц заработал на реплике БК11М с SMK-512.

Попутно выяснились две вещи:

  1. Все сложные прыжки на бегу вполне успешно выполняются на родной клавиатуре БК11М, без всяких проблем
  2. На железной БКшке с SMK-512 действительно есть прирост скорости за счет использования быстрого ОЗУ в SMK

Записал ролик, подтверждающий этот факт:

11
Май
2021

Хьюстон, у нас проблема

Запустил сегодня “железную” БК11М, чтобы проверить на ней задержки смены палитр – да, задержки нужны другие, не такие как на эмуляторе. Подобрал задержки. Проверил предложенный gid’ом способ определения “эмулятор или нет” с точки зрения программы, работающей на БК. Чтение из регистра 177702 на железной БКшке вызывает прерывание по вектору 4, а на эмуляторе – нет. Отлично.

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

То ли у меня бракованный новодел, то ли “не знаю что рассказывать” (с) М. Евдокимов

 

26
Апр
2021

Новые спрайты обстановки

Модифицировал редактор лабиринтов, теперь он позволяет использовать дополнительные спрайты обстановки – разные виды кирпичей, балконы и т.д. Благодаря Желтому Кролу исправил два мощных глюка, возникших после исправления предыдущих глюков ) Это некорректный вывод звезды, оказавшейся на границе экрана и ошибка в обработке пола и стены одновременно.

22
Апр
2021

Балконы, говоришь?

По просьбам трудящихся нарисовал балкон. Теперь надо встроить его в редактор. А заодно добавить туда новые кирпичи с “дефектами”, давно собирался. Лабиринты должны обрести новый вид 🙂

Пофиксено:

  • BUG: стражник убивает стоя спиной
  • BUG: мигающая жизнь конфликтует с переключением экранов

 

22
Апр
2021

Новая партия багов

Братец Кролик выдал новое ведро багов (копил, видать). Он их сопровождает видеороликами, я их смотрю и пишу для себя что исправить. И вдруг замечаю, что некоторые записи приобретают скрытый смысл, как будто вырваны из рассказов Эдгара По или Лавкрафта:

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

Итак, исправлено:

  • BUG: скелет теряет интерес к принцу
  • BUG: плита не падает в 11м
  • BUG: после выпивания кувшина сверху наступает хаос
  • BUG: смерть в перевернутом виде неизлечима
  • BUG: при спрыгивании из виса неверно считалась высота
  • BUG: на заносе пролетает сквозь закрытую решетку
  • BUG: глухой стражник в 9м

Тот самый глухой стражник:

В оригинале ситуация не сильно отличается:

20
Апр
2021

Новая магия

Переделал “магический звук”:

Исправил несколько глюков:

  • BUG: при выпивании кувшина портилась плита сверху
  • BUG: иногда мелькают руки сквозь плиту, при прыжке под ней

А также наконец-то дошли руки до исправления неверного момента включения видимого экрана. Раньше экран включался после рисования всей обстановки, а потом уже на нем выводился принц и стражник. Таким образом, в первый кадр на экране ни принца ни стражника не было. Теперь “видимость” включается уже тогда, когда все действующие лица на экране.

 

19
Апр
2021

И вновь продолжается бой!

Итак, очередная партия глюков побеждена. С некоторыми из них пришлось повозиться, особенно с выравниванием у кучи пил и с залезающим к стражнику принцем.

  • BUG: неверное выравнивание у нескольких пил подряд
  • BUG: не отжимается кнопка, если с нее впрыгивают в соседнее окно
  • BUG: не обрезается спрайт по правому краю
  • BUG: стражник падает в яму, если стоит у края, а к нему снизу залезает принц
  • BUG: координаты меча иногда рассинхронизировались с координатами принца
  • BUG: если стражник падал за границу окна и сразу находил землю, то его текущее окно не переключалось и все зависало

Вот как теперь ведет себя стражник:

16
Апр
2021

Бывают дни веселые…

Много раз читал в книге Мекнера что бывали дни (и даже месяцы) когда он вообще не имел желания работать над Принцем, настолько он его задолбал. Сегодня что-то у меня было аналогичное настроение )) Yellow Rabbit вдруг прислал мне целую кучу глюков, которые уже были неоднократно побеждены – проваливание в пол, зависание при падении стражника в пропасть, исчезновение меча у принца, неправильное выравние у пил… Каким макаром я умудрился все их снова воскресить? Сначала я подумал, что он взял какой-то древний вариант принца. Но нет…

Два глюка я уже исправил – проваливание в пол и исчезновение меча. Каким-то макаром Братец Кролик умудрился добиться таких значений координат меча и принца, при котором они не совпадали. Это талант.

Вчера выложил “магический” звук. С утра (как часто бывает) мне этот звук уже совсем не казался магическим, от него веет магией трансформаторной будки. Огибающая, конечно, работает, но результат не тот, что надо. Надо будет переделать.

Ладно, постепенно победим.