Author: grf

06
Мар
2021

Продолжаю править баги и не баги

Исправлено:

  • BUG: если стражник дохнет на кнопке то заменяет ее на фрезу!
  • BUG: двойник из зеркала вылезает в экран слева
  • BUG: взятие меча с глюками при складывании после отказа от свопа
  • BUG: после двойника в 4-м стражник тоже как двойник
  • BUG: после прыжка сквозь зеркало должна остаться одна жизнь
  • BUG: у зеркала должна быть маска
  • BUG: у ковра тоже должна быть маска
  • BUG: в 10м можно впрыгнуть сквозь решетку слева внизу
  • BUG: принц уходит с кнопки, на которую упали обломки, и она поднимается
  • BUG: стражник не реагирует на звук прыжка с высоты
  • BUG: если на экране несколько фрез, то кровавыми становятся все, а не только та, которая запилила
  • BUG: при входе в первый лабиринт контузия быть должна, а жизнь теряться не должна
  • BUG: при входе должно быть 3 жизни
  • BUG: неверно было распределены лабиринты по двум файлам

Ну и теперь принц уже должен сам брать меч, изначально его нет.

Переход на загрузку всего в SMK позволил убрать загрузку спрайтов фехтования, теперь просто подключается страница с ними. Раньше при начале боя грузились спрайты с винчестера, для этого приходилось подключать ПЗУ контроллера винта. После боя снова грузились спрайты бегающего принца. Это позволяло экономить память, но больше такой своп особо применить было негде: все остальные спрайты принца и текущего лабиринта могут понадобиться в любой момент.

 

04
Мар
2021

Полное погружение

Для того, чтобы отвязать принца от ANDOS-зависимости, я переделал загрузчик. Теперь все данные при старте грузятся в доп.память SMK и больше обращений к жесткому диску нет. Все грузится через стандартное ЕМТ 36, больше нет никаких поисков по FAT и блочного чтения напрямую с винта. Пришлось поломать голову над неочевидными вещами в SMK. А в CSI-DOS еще и каталоги оказались реальными, от чего я давно отвык на ANDOS ))

28
Фев
2021

AY!

Сегодня было немного фиксов:

  • исправил кровищу на фрезах — после первого запила она потом была на всех фрезах
  • перерисовал спрайты заколотого шипами и запиленного фрезой стражника — у них была чалма от визиря
  • исправил фехтование «простых» стражников в 8-м лабиринте,  у них стоял флаг крутости
  • стражник на шипах теперь выводится правильно, если выйти из окна с ним и снова войти (раньше шипы исчезали, а стражник висел в воздухе)
  • при фехтовании принц терял меч, если упирался спиной в решетку
  • стражник игнорировал звуки принца (было поломано при разборках со звуками на кадр позже)

 

А также сегодня начал делать звуки для AY. И вот первый звук:

Потом все повешалось, но это уже неважно ))

26
Фев
2021

Маскарад и кровища

Продолжил править маски объектов. Наконец-то нормальную маску получили обломки. Раньше для них использовалась маска обычной плиты, и если в подвалах это было не особо заметно, т.к. там торец плиты черный, то в дворцах это очень бросалось в глаза, когда обломки лежали у стены. Они накладывались на стену или решетку и выглядело это ужасно. Теперь все как положено. К тому же и принц теперь бродит среди обломков правильно — отдельные камни закрывают ступни.

Выглядело это так:

 

Теперь вот так:

 

Сделал кровищу на пиле. Т.к. в палитре подвала нет красного цвета, пришлось сделать кровь черной.

26
Фев
2021

Столбы и решетки

Стыковал сегодня спрайты: арки и плиты, столбы и решетки, а также столбы и столбы. Избавлялся от надоевших черных прочерков между столбами. Оказалось, не так все просто — из-за использования псевдоцвета столб стыковался с решеткой, но не стыковался сам с собой. Хорошо, что в таблице элементов обстановки для подвалов есть пустые места (потому как в дворцах больше элементов, чем в подвалах), там я и добавил новый элемент «смещенный столб», который теперь стыкуется с нормальным столбом. Починил недавно поломанный механизм нажимания кнопок упавшими плитами.

23
Фев
2021

Снова неплохо поохотился

Сегодня неплохо поохотился на баги и недоделки:

  • FIX не уменьшаются жизни, если стражник теряет их в другом окне
  • FIX стражник улетел и закололся, а жизни все равно есть
  • FIX у стражника нет «пустых» жизней, они сразу стираются
  • FIX при приземлении после прыжка принц не издает звука и стражник его не слышит
  • FIX в 13м плита, падающая на плиту, не сразу ее уносит, а начинает качать. Или это принц
  • FIX после смерти визиря должна открыться дверь
  • FIX в 10м плита падает на кнопку и решетка начинает открываться с самого закрытого состояния, хотя итак была открыта
  • FIX при фехтовании принц на шипах сразу убивается
  • FIX при входе в третий у скелета и в 13м звук двери не нужен!
  • FIX при вставании скелета черные дыры! видимо выводится только полплиты
  • FIX при блоке удара стражником раздается звук нажатия плиты и потом звон
  • FIX звуки фехтования отстают на кадр
  • FIX шипы в крайнем положении все время выдают звук, пока на них сверху летит стражник или принц
  • FIX не проваливается, пока сидит в контузии, а под ним ушла плита
  • FIX у визиря не выводятся жизни
  • FIX в 12м дверь сразу закрыта!
  • FIX обвал плит в 13м должен быть однократным
21
Фев
2021

Ох уж эти персы со своими коврами

Взял очередную запись о баге: «в 10м лабиринте две решетки друг над другом и падающая плита при падении портит вторую решетку». Ок, посмотрим!

Итак, действительно, решетки две, одна над другой:

Справа от верхней решетки плита, которая при обрушении затирает часть нижней решетки. С чего бы? Начал разбираться — оказывается, вовсе не плита затирает нижнюю решетку, а верхняя решетка. Когда решетка движется, она выводит сохраненный фон справа, где изначально лежит плита. Потом плита исчезает, решетка запоминает новый фон, а там на мгновение мелькает пустота при стирании начавшей падать плиты. Откуда же берется пустота-то? Ведь должна вывестись нижняя решетка и заполнить ее. Ага, решетка-то выводится, а вот самый верхний ее уголок выводится отдельно. Ведь он может вообще отсутствовать (если над решеткой кирпич, к примеру). Потому углы эти выводятся только тогда, когда решетка видна целиком. А эта решетка изначально закрыта той самой (еще не обвалившейся) плитой. Такс, я же уже делал что-то подобное, когда плиты обваливал перед решеткой… Ага, там решетка была сверху, а тут и сверху и снизу…. И для верхней надо новый фон взять, и для нижней… Интересно, а есть ли еще такие места вообще в принце, или я только ради одного места напихаю лишних заморочек с фонами?

Надо быстро загуглить карту лабиринтов принца да и глянуть. Гуглю. Что-то карт досовского принца не попадается, только карты клонов. И что там в этом месте? А вот что:

Какая-то ересь, однако. Небось чуваки тоже столкнулись с этой проблемой и решили не заморачиваться с такой сложной комбинацией решеток, просто убрав ее. Может и мне выкинуть ее нафиг? Авось никто и не заметит )) А что там в оригинале-то?

 

Е-мое… Да как так-то??  В оригинале тоже нет решетки здесь! Ковер повесили! А почему я весь день мучаюсь с этими долбаными фонами?? Надо тоже поставить там ковер!

Запускаю редактор, ставлю ковер, ааа….. ага…. вот почему тут решетка — потому что нет у нас такого элемента «столб с плитой». Есть только столб. И есть решетка, где все это в комплекте. И, судя по всему, в далекие 90-е, я решил добавить элемент потом, а пока просто впендюрил туда решетку. И вот теперь сам же и мучаюсь, изобретая механизмы подмены фонов для всяких там углов решеток. Добавлять элемент — это лишняя память опять. А не состряпать ли нам его из имеющихся запчастей? Можно же вывести просто левую часть решетки и на нее ковер нацепить.

Вуаля:

Ну и дополнительно поправил пару багов:

  • вывод падающих плит и решеток был не в той последовательности.
  • буферы фона для шипов и падающих плит пересекались, в итоге они не могли быть одновременно на экране, если с ними одновременно взаимодействовал принц
  • принц застревал у решетки в определенных условиях
19
Фев
2021

Продолжаем фиксить

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

  • исправил падение от закрытой решетки
  • сделал «отодвигание» принца закрывающейся решеткой, когда она начинает опускаться прямо в него
  • исправил глюк с выкидыванием принца из-за закрытой решетки
19
Фев
2021

Мышь

Переделал движения мыши. Теперь она ждет сколько надо перед появлением, нажимает и освобождает кнопки как положено.