Важная информация

User Tag List

Страница 9 из 10 ПерваяПервая ... 5678910 ПоследняяПоследняя
Показано с 81 по 90 из 94

Тема: Косметический ремонт REX-2

  1. #81
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,046
    Спасибо Благодарностей отдано 
    982
    Спасибо Благодарностей получено 
    246
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подправил создание пуль, чтобы вылетали изнутри стреляющего, а не как раньше, возникали перед пушкой. Для спрея приделал костылёк, чтобы распылялось всё таки перед пушкой.
    Когда покадрово сравнивал старую и новую анимацию выстрелов, внезапно заметил, что сама собой наладилась анимация попадания пульки от турели в землю. Раньше было так: 1 - рисовалась пулька , 2 - двигались её координаты, 3 - проверялось попадание, начало вспышки рисовалось в этом же кадре, 4 - потом уже смещался адрес. В результате был крестик, поверх которого точка, не OR, а LD, и получалась вертикальная палочка.
    А сейчас я перенёс первый пункт после четвёртого, и такого налезания нет.

    Прикладываю последнюю версию, но не пугайтесь, что Вторая заставка, красный "REX" подпорчена, это я на потом оставил поправить.

    А пока взялся вникать, как рисуется статика. Оказалось, что в цикле, через стек читается адрес знакоместа в теневом экране и в "знакогенераторе", потом переносится 8 байт знака и так далее.
    Данные для этого, что и куда переносить, готовятся при входе в экран. Всё закодировано 10х7 блоками, каждый состоит из 3х3 значков. Чтобы лучше понять что там, начал ляпать в Лазарусе просмоторщик уровней, с прицелом в дальнейшем на редактор.

    Забавные вещи. Область в 30х21 байт выделена для того чтобы писать туда порядковый номер вывода на экран значка. И это потом нигде не используется. Наверное было для отладки, а потом забыли.
    Чтобы умножить на 70, нужно все лишь семьдесят раз сделать "ADD HL,DE".

    Переделать процедуру входа на экран планирую так:
    1 Изменить цикл, чтобы шёл не блоками 3х3 а строками символов, для меньшего мерцания. Статику выводить прямо на экран. В команды писать вывод, опять-же на экран, статику, только ту, которая не статика, то есть всякие дёргающиеся стрелки, крутящиеся крутилки и ползающие элеваторы-транспортёры. Также сразу в те-же команды писать команды переноса строчек символов из теневого экрана в основной, те на которых могут быть спрайты.
    Вложения Вложения

  2. Эти 7 пользователя(ей) поблагодарили Reobne за это полезное сообщение:

    AndyFox (08.05.2024), Black Cat / Era CG (17.07.2022), Digitizer (21.07.2022), jerri (17.07.2022), Oleg N. Cher (17.07.2022), tiboh (01.08.2022), Vatr (18.07.2022)

  3. #82
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,590
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    237
    Поблагодарили
    186 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Reobne, на всякий учти, что, насколько помню, я впёр смену цвета фона на чёрный для последнего экрана куда-то в неиспользуемый тайл 3x3
    Прихожу без разрешения, сею смерть и разрушение...

  4. Этот пользователь поблагодарил Lethargeek за это полезное сообщение:

    Reobne (17.07.2022)

  5. #83
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,046
    Спасибо Благодарностей отдано 
    982
    Спасибо Благодарностей получено 
    246
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Lethargeek, Спасибо, посмотрю.

    Ещё раз, подробнее, что собираюсь сделать с выводом статики.

    В оригинале вывод работает так:
    1 На теневом экране рисуются спрайты (Пули, Рекс, дроны, противники)
    2 На теневом-же экране рисуется вся статика, о ней ниже поподробнее.
    3 Теневой экран переносится в видимый.
    4 Теневой экран стирается.

    При входе Рекса на экран, формируется список того, что нужно сделать чтобы нарисовать статику. Там команды "печати значка", адреса куда и откуда переносить из набора значков в теневой экран. И в конце код завершения #FF.
    Порядок переноса - блоками 3х3
    Код:
    01 02 03 10 11 12 19 20 21 ...
    04 05 06 13 14 15 22 23 24 ...
    07 08 09 16 17 18 25 26 27 ...
    ...
    Всякие крутилки в статике реализуются изменением, на каждом игровом цикле, прямо в наборе значков.

    Видно, что проделывается много лишней работы. Больший процент статики не меняется, однако печатается в теневой экран, потом переносится в основной-видимый, а потом стирается.

    У меня идея этапы 2 и 3, а может и 4, делать сразу, за один проход.
    Для начала изменить порядок перебора знакомест с блоков 3х3 на линейную
    Код:
    01 02 03 04 ...
    31 32 33 34 ...
    ...
    Всю неподвижную статику рисовать один раз, сразу на экране, чтобы потом в игровом цикле её вообще не трогать.
    Список команд разнообразить.
    Сделать команду печати подвижной статики, прямо на основной экран, а не в теневой.
    Сделать команду переноса из теневого экран в основной, участков со спрайтами.
    Ну и, конечно, команду завершения, как же без неё?
    Вход в команду, через стек, по RET. Далее POP-ами берём аргументы, откуда, куда и сколько. Переносим. При выходе восстанавливаем указатель стека.
    Чтобы включить прерывания, просто продублируем этот список команд, чтобы можно было быстро восстановить подпорченное.
    Со стиранием теневого экрана ещё не решил. Думаю попробовать оставить как есть, стирать целиком PUSH 0; и попробовать другой вариант, стирать только то, что перенесли. Пуши, они быстрее, но стирают лишнее.
    [свернуть]

  6. #84
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,046
    Спасибо Благодарностей отдано 
    982
    Спасибо Благодарностей получено 
    246
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Lethargeek, Хм, а я не вижу разницы с оригиналом. Смотрел на скорости 20%. Пулька действительно немного налазит в некоторых фазах, потому что вписана в один байт. Она рисуется одним LD.
    Вот запусти оригинал, там точно также. Или я чегото не замечаю?
    Или ты предлагаешь это исправлять, и выводить пульки попиксельно?

  7. #85
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,046
    Спасибо Благодарностей отдано 
    982
    Спасибо Благодарностей получено 
    246
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Напомню, что надо смотреть в последнем тестовом снапшоте.
    Самое заметное, это стрельба по блокам в упор. Раньше пуля пролетала насквозь, не задев.
    Менее заметно, что улучшилась анимация попадания крупными пульками. Но там только в одном кадре налезание было, и только для крупных пуль от турели это было видно.
    Ещё менее заметно ускорение при выводе отзакаленных спрайтов.

  8. #86
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,590
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    237
    Поблагодарили
    186 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я в последнем и смотрел, но блин, присмотрелся и правда в оригинале так же - от положения по горизонтали зависит (как теперь развидеть)))

    меня сбило с толку
    Цитата Сообщение от Reobne Посмотреть сообщение
    Подправил создание пуль, чтобы вылетали изнутри стреляющего, а не как раньше, возникали перед пушкой.
    а что именно тогда ты подправил-то? можешь в две картинки сравнительных?
    Прихожу без разрешения, сею смерть и разрушение...

  9. #87
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,046
    Спасибо Благодарностей отдано 
    982
    Спасибо Благодарностей получено 
    246
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    а что именно тогда ты подправил-то? можешь в две картинки сравнительных?
    Сначала я подправил порядок обработки пули, чтобы она рисовалась там где она находится, а не там где она находилась в предыдущем игровом цикле.
    было так:
    Цитата Сообщение от Reobne Посмотреть сообщение
    1 - рисовалась пулька
    2 - двигались её координаты
    3 - проверялось попадание, начало вспышки рисовалось в этом же кадре
    4 - потом уже смещался адрес.
    Цитата Сообщение от Reobne Посмотреть сообщение
    А сейчас я перенёс первый пункт после четвёртого
    И стало так
    1 - Двигаются координаты
    2 - Проверяются поподания
    3 - Смещается адрес спрайта
    4 - Рисуется

    Позже нарисую.

    - - - Добавлено - - -

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

  10. #88
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,046
    Спасибо Благодарностей отдано 
    982
    Спасибо Благодарностей получено 
    246
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    Позже нарисую
    Gif-ка
    Раскадровка
    Жёлтыми крестиками я наметил координаты пуль.
    В шестом кадре пульку Рекса заслонила пулька от турели.
    В первом и девятом кадрах, видна палочка. Это режультат того, что пулька от турели сначала нарисовалась, потом её координаты влипли в статплатформу, после чего она превратилась во вспышку, первая фаза вспышки, это точка, была нарисована тут-же, в этом-же кадре. И получилась такая "палочка". Вспышка уже никуда не летит, и координаты, и адрес изображения не меняются.

    - - - Добавлено - - -

    Тем временем в просмоторщике уровней что-то нарисовалось

    Интересные значки "J" "RJ". Это, как я понял, джамп и рандом джамп. Подсказочки для людишек, чтобы они всегда прыгали или иногда. "D", чтобы стреляли с колена. Большая "S", похоже, пустая статика, то есть там спрайтов быть не может.
    Посчитал статистику для каждого значка, сколько раз он используется в блоках_3х3. И статистику для блока, сколько раз он используется в экранах. Так больше 30 значков не используются в блоках. И 6 блоков не используются. Причём они, как бы, осмысленно нарисованы. Прям хочется довести эту лазарусную поделку до редактора, и попробовать что нибудь посоставлять из этих значков.

    Ясно, что противники и пути их появления кодируются где-то ещё. А так-же топология переходов с экрана на экран.
    Вложения Вложения

  11. Эти 4 пользователя(ей) поблагодарили Reobne за это полезное сообщение:

    AndyFox (08.05.2024), Black Cat / Era CG (19.07.2022), jerri (19.07.2022), tiboh (01.08.2022)

  12. #89
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,046
    Спасибо Благодарностей отдано 
    982
    Спасибо Благодарностей получено 
    246
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    Для начала изменить порядок перебора знакомест с блоков 3х3 на линейную
    Сделал, отладил.
    Показать нечего, всё выглядит точно так-же.

    Просмоторщик экранов превратил в тупенький редактор экранов. Сейчас он выглядит так:

    Родилась мысль, в дальнейшем, попробовать перенести в Rex1 экраны с RexDemo. И подлодку.
    Значков неиспользуемых штук 30, и 6 тайлов. Памяти я 600 байт освободил, когда таблицы адресов и зеркалирования перенёс.

    А пока с помощью редактора, исследую экраны. Понял почему в лестницах, на второй ступеньке сверху повышенная проходимость.

    Казалось, уже разгадал правила, по котором спамятся враги. Сделал уже галочки "сверху", "слева", "справа". Но в некоторых экранах нет ни одной галочки, а враги всё равно спамятся. Надо ещё разбираться.

  13. Эти 8 пользователя(ей) поблагодарили Reobne за это полезное сообщение:

    AndyFox (08.05.2024), Bedazzle (29.07.2022), Black Cat / Era CG (29.07.2022), Djim (02.08.2022), jerri (20.01.2023), kyv (03.08.2022), tiboh (01.08.2022), vlad-kras (29.07.2022)

  14. #90
    Сибирский антропоморфн Аватар для Black Cat / Era CG
    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,587
    Спасибо Благодарностей отдано 
    945
    Спасибо Благодарностей получено 
    905
    Поблагодарили
    668 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    И тут. Тоже вроде пока обновленная версия кроме форума нигде не светится.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  15. Этот пользователь поблагодарил Black Cat / Era CG за это полезное сообщение:

    Reobne (20.01.2023)

Страница 9 из 10 ПерваяПервая ... 5678910 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ремонт Пентагона
    от geners в разделе Pentagon
    Ответов: 56
    Последнее: 29.11.2011, 09:47
  2. Ремонт Профи
    от molodcov_alex в разделе Profi
    Ответов: 7
    Последнее: 19.06.2008, 15:42
  3. Ремонт Профи
    от spleen в разделе Profi
    Ответов: 2
    Последнее: 07.04.2006, 13:23
  4. Ремонт дисководов в PDF
    от fk0 в разделе Пресса
    Ответов: 0
    Последнее: 06.02.2006, 12:18
  5. Ремонт фирменного 48-го
    от kgbplus в разделе Зарубежные модели
    Ответов: 2
    Последнее: 11.03.2005, 20:43

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •