Просмотр полной версии : HeroesII - под классический 128+TR-Dos
DragonsLord
13.04.2021, 18:39
По многочисленным просьбам участников форума выкладываю реквизиты цифровых кошельков для ДОНАТА на поддержание идей автора.
Можете перечислить любое количество средств "по сердцу", если вам нравится, что я делаю и вы хотите оказать моральную поддержку. :tongue:
СБЕР: 4279 3806 9488 7532
Яндекс.Деньги (они же yoomoney): 41001318897076
WebMoney: WMID: 890037554880 кошелёк:Z401891667965 (доллары)
------------------------------------------------------------------------------------------------------------
Вашему вниманию предлагается взглянуть на демку игры от 98 года
HeroesII demo 0.01
Скачать в формате TRD образа здесь:
http://dragons-world.ru/ZX_Spectrum/HeroesII_demo_by_DL_98.zip
https://b.radikal.ru/b42/2104/5b/98dcc486690e.png
https://b.radikal.ru/b03/2104/b4/cb5f509c68c7.png
Демка показывает тайловый вывод одного демо уровня, специально набранного вручную без редактора, чтобы показать, как возможно будет выглядеть уровень. Персонажей нет. Планировался познакоместный вывод цветных героев.
- ЦВЕТНЫЕ тайлы бэграунда: воды, берега, травки, пустыни, гор, леса
- деревушки и замки всех 4х видов
- ресурсные строения
- ресурсы, собираемые на карте
- специальные строения, повышающие характеристики героев
- артефакты, валяющиеся на уровне
- реализован быстрый скроллер карты
- реализована анимация выводимых тайлов
На самом деле это не "Герои 2", это реплика "Героев 1" с PC, но однажды, в конце 98 года я встретил в магазе Логроса некоего Рината, который, как оказалось, тоже делал тех же самых "Героев 1". Трезво оценив свои силы и скорость работы я пришёл к выводу, - шанс велик, что посоны (а Ринату помогали два чела) обгонят меня по срокам релиза, а значит появится путаница в названии программы. Именно поэтому я переименовал проект в "Герои II".
Версию Рината вы все видели:
https://zxart.ee/rus/soft/game/adventure/rpg/heroes-of-might-and-magic1/qid:293632/
Моя была более цветная и более соответствовала оригиналу. Версия Рината же напоминала "квадратную" кингс баунти.
Расклад такой: на сегодня я полностью утерял интерес к данному проекту. Канули времена первых Героев, и вторых,... и даже третьих эпоха прошла :tongue: Так что. считаю нецелесообразным тратить своё время на никому не нужную игру в 21 году. В которую никто не будет играть. А посему выкидываю все графические наработки по проекту в свободный доступ. Для всех. Графика и концепт очень понравились Слипу, посему он накладывает свою руку на материалы, - сказал "будет писать игру". Но ежели, вдруг расхочет, держите с ним связь, - я не против, чтобы кто угодно использовал материалы в своих проджектах.
- - - Добавлено - - -
Согласно оригиналу, планировалось 4 расы, 4 вида деревушек и замков, 4 героя предводителя. Героев в студию!
Король IRONFIST - замок рыцарей
https://d.radikal.ru/d32/2104/63/f4da6bc4b91d.png
Королева LAMANDA - замок эльфов
https://a.radikal.ru/a22/2104/0b/8e08fef02752.png
Некромант ALAMAR - замок нежити
https://d.radikal.ru/d25/2104/23/290a61b06340.png
Лорд SLAYER - замок варваров
https://d.radikal.ru/d14/2104/8b/ef589bfaf5e6.png
Забыл отметить такую деталь: вся графика нарисована вручную с нуля. Никаких сканеров и конвертеров не применялось.
DragonsLord
13.04.2021, 20:24
Ага! Тоже сидишь на том же Анриле, что и я. Попалился :biggrin:
Я вообще хз, что конкретно вызывает ресет ВО ВСЕХ моих старых проектах. Возможно тот факт, что графическая библиотека юзает процедуры из нижней памяти Бейсик48, а Анрил по умолчанию пытается вставить туда 128к.
На реальном железе ничего такого не происходит и всё прекрасно работает.
Запусти в Spin, - там всё ОК.
- - - Добавлено - - -
Продолжаем выкладку материалов. Тайлы (ландшафт, строения, артефакты, герои, ресурсы):
https://d.radikal.ru/d41/2104/50/024094047e9f.png
https://b.radikal.ru/b02/2104/2e/8e555ee9a53b.png
https://a.radikal.ru/a22/2104/77/eb1a0925901b.png
Оказывается, как бы я не напихивал на демо уровень плотно всё, что есть, - там не представлена лавовая местность с анимированным аулканом. Вот на этой версии скрина есть тайлы вулканической местности:
https://c.radikal.ru/c20/2104/b4/18f044db0e0f.png
Ага! Тоже сидишь на том же Анриле, что и я. Попалился
Я вообще хз, что конкретно вызывает ресет ВО ВСЕХ моих старых проектах. Возможно тот факт, что
эмуль не виноват. дело в trdos 5.04 !!!
на каноничной и православной 5.03 всё пучком
у тебя команды для TRDOS после REM набраны по буквам (не токенами) , вот файлы и не грузятся
DragonsLord
13.04.2021, 22:12
Ну я же набирал в 128 бейсике. Там же по буквам :biggrin:
Ладно, к нашим баранам. Продолжаю выкладку графония. Напоминаю, сие есть просто визуальные размышления на тему интерфейса и не считаются каноном. Можете перерисовывать, как вам нужно и как кажется красивее. Это просто болванки с системных мусорок.
https://c.radikal.ru/c29/2104/90/6d5cd21a0306.png
https://c.radikal.ru/c06/2104/2e/7c78a1c025b2.png
https://a.radikal.ru/a39/2104/bf/61d1472868b6.png
https://d.radikal.ru/d20/2104/7c/7ab434676298.png
https://a.radikal.ru/a08/2104/bd/7323681139b8.png
https://a.radikal.ru/a42/2104/d6/e28389df377e.png
https://d.radikal.ru/d36/2104/09/31c8766c6cdd.png
и даже третьих эпоха прошла :tongue: Так что. считаю нецелесообразным тратить своё время на никому не нужную игру в 21 году.
Тащемта, третьи герои до сих пор популярны и развиваются. В конце 2020 года на том же твиче стримы по героям в первую десятку по популярности вышли. Так что про "никому не нужную" игру, это зря.
Хотя на спеке да, они вряд ли взлетят, слишком много механик и контента придется порезать, без которых это будет уже не та игра.
DragonsLord
14.04.2021, 02:11
Да, я знаю. Там уже не в тех "Героев III" играют, а в онлайн версию. Это уже совершенно другой с нуля собранный проект с дополнительными наворотами.
Ёу, посоны, оказывается есть таки на демо уровне лава и вулканы. Я наконец смог в Unreal прогрузить!
Для сего магического ритуала фикса проблемы необходимо и достаточно:
- Открываете unreal.ini
- Пробиваете поиском строку "trd504tm" и в двух местах меняете её на "trd503"
И ВСЁ НАЧИНАЕТ РАБОТАТЬ на ура!!!
:v2_dizzy_punk:
- - - Добавлено - - -
Ладно, продолжаем публиковать графические наброски интерфейса. На этот раз попытки отрисовать внутренности замка:
https://b.radikal.ru/b38/2104/05/c28613cc2ec0.png
https://d.radikal.ru/d18/2104/a1/30b820b4bf79.png
https://a.radikal.ru/a27/2104/bc/6fd3ce32bf68.png
https://b.radikal.ru/b42/2104/bf/73880b5441fb.png
https://b.radikal.ru/b39/2104/42/a054663daf22.png
DragonsLord
14.04.2021, 16:08
Ещё пара прикидок игрового процесса:
https://d.radikal.ru/d41/2104/56/bee1f4a04034.png
https://d.radikal.ru/d08/2104/f6/d4ef2be8bb13.png
Bedazzle
14.04.2021, 18:50
Капец сколько материала. Жалко что проект заброшен.
DragonsLord
14.04.2021, 19:16
Это ещё не всё, господа. В копилочку для будущих разработок могу приложить графоний с версии Рината, упоминаемой в первом посте. На сколько я понял, в сети не сохранилось следов этих материалов. Они есть только у меня. Например, в его демке никак не показаны деревушки, хотя они были отрисованы. Также есть анимации некоторых юнитов, и шикарные скалы для рельефа (хотя, я бы рекомендовал перерисовать их с регулярных чанков на нерегулярный дитеринг червячками). Я с радостью с вами поделюсь:
https://c.radikal.ru/c27/2104/09/c1a98e20a1df.png
https://a.radikal.ru/a33/2104/c0/f939735a5ee8.png
https://b.radikal.ru/b21/2104/95/8c873d44ce25.png
https://b.radikal.ru/b33/2104/be/bbe144547a4f.png
https://c.radikal.ru/c05/2104/c3/5ea6128dc926.png
https://c.radikal.ru/c07/2104/01/cd723b9b845d.png
Круто! Очень жаль, что проект заброшен.
DragonsLord
15.04.2021, 15:20
Вот, кстати, ещё в ту же копилочку. Некий Алексей Кутузов (Snake) из города Владимир, которого я не знаю и никогда не видел. Он тоже пофантазировал на эту тему, и я думаю, будет счастлив, если вы примените эти скрины в своём релизе:
https://b.radikal.ru/b18/2104/af/018d7bb95f54.png
https://d.radikal.ru/d27/2104/b0/4679f655e1c3.png
https://c.radikal.ru/c25/2104/a9/a2043a54188e.png
И, кстати, можете не ждать Слипа. У него сессия, потом у него какая-то игра про Ниндзей, так что можно не дождаться.
Берите смело материалы в оборот и делайте игру. Удачи!
DragonsLord
27.04.2021, 00:33
Глянул в код. Оказца всякие артефакты, ресурсы, лампы джинов, сундучки с сокровищами не в тайловом поле, как можно было бы подумать, а реально положены на карту со своими хедерами и их реально можно взять. И всё это уже закодено. Вот я прошаренный малый был :biggrin:
DragonsLord
27.04.2021, 15:26
Зарелизил вчера пересборку Героев под мою обновлённую графическую библиотеку. Теперь есть мышка и всё скроллится чисто мышкой. Допишу все подсистемы и вечером выложу снапшот.
DragonsLord
28.04.2021, 07:09
Предлагается вниманию пересборка от 2021 года
HEROES II Might&Magic
http://dragons-world.ru/ZX_Spectrum/HeroesII_21_0_alpha.sna
https://d.radikal.ru/d41/2104/09/aa8ed1e391db.png
Отличия от сборки 1998 года:
- Проект полностью пересобран в sjasmplus (был в ZXASM3.0)
- Снапшот предоставлен в режиме 48к (прошлая демка была 128к)
- Обновлено графическое ядро библиотеки низкого уровня.
- Добавлена поддержка Kempston Mouse (включена всегда параллельно всем вариантам управления с клавиатуры)
- Расширена область перемещения курсора мыши до 256х192.
- Реализован клиппинг спрайта мыши.
И нет, я не вернулся с проектом и не собрался его доделывать. Единственная цель была побыстрому привинтить к новой мышке какую-нибудь графику и оценить удобство и юзабалили мышиного способа управления контентом. В данном случае: скроллера карты. Работа выполнена в рамках "вспомнить asm" перед написанием WarCraft. Варик создаётся в этой теме:
https://zx-pk.ru/threads/32718-warcraft-1-pod-klassicheskij-128-tr-dos.html
И вы по прежнему можете дербанить весь проект Героев в своих целях. Доделывать его как угодно. Никаких копирайтов я не заявляю.
DragonsLord
28.04.2021, 15:35
Хочу получить фидбэк по запуску на разных эмуляторах. Не накосячил ли я с драйвером и всё такое.
А то помните, у Санчеза в его игре про Рэмбо в половине эмулей драйвер читает какую-то хрень и мусор из порта (наверное) и невозможно играть в принципе. Курсор мыши скачет, дрожит, автонажатия кнопки стрельбы и всё такое. Великолепная игрушка слита в унитаз банальным отсутствием этапа тестирования базовых функций ядра.
Black Cat / Era CG
28.04.2021, 15:39
А то помните, у Санчеза в его игре про Рэмбо в половине эмулей драйвер читает какую-то хрень и мусор из порта (наверное) и невозможно играть в принципе. Курсор мыши скачет, дрожит, автонажатия кнопки стрельбы и всё такое. Великолепная игрушка слита в унитаз банальным отсутствием этапа тестирования базовых функций ядра.Survivisection? Чето даже не в курсе был о таких проблемах.
75324 75323 75325
Unreal с таймингами скорпиона. Вверху экрана курсор не успевает отрисоваться до прихода луча.
DragonsLord
28.04.2021, 20:14
Вверху экрана курсор не успевает отрисоваться до прихода луча.
Не обращай внимание. Там немного кода вставлено не там, где надо, и не успевает исполняться. Решается на изичах, но не буду :biggrin:
В чистой библиотеке там всё чин-чинарём. Огромный запасище по времени. Для компов с любыми растактовками.
Кстати, чистая демка графической библиотеки на Спине проигрывается чисто. Без нареканий.
А тот же самый код мыши, прикрученный к Героям в Спине подсасывает маленько мусора. Стрелка нет-нет, да норовит маленько подвинуться сама.
С чем это может быть связано? Что на Spin так влияет?
Хочу получить фидбэк по запуску на разных эмуляторах
Не обращай внимание. Там немного кода вставлено не там, где надо
Ну может для начала тогда вставить то что надо куда надо, а потом просить отзывы?
В код не смотрел, но чисто сомневаюсь насчёт большого запаса.
Был бы бы большой запас, так можно было б вывести курсор 4x4 знакоместа.
- - - Добавлено - - -
Ну как бы эта версия
Скачать в формате TRD образа здесь:
http://dragons-world.ru/ZX_Spectrum/...o_by_DL_98.zip
и то что ту положено....
http://dragons-world.ru/ZX_Spectrum/...21_0_alpha.sna
оно небо и земля. нафига так было поганить первую версию?
DragonsLord
28.04.2021, 21:08
Запас в половину верхнего бордюра. Верь мне. И это при наличии музыки.
Я просил дравер мышки протестировать на разных эмулях и присоветовать, как устранить "мусор" на некоторых их них, а не отрисовку курсора тестить :biggrin:
Алоний в 3DEngine даже отрубатор мышки встроил, там на каком то эмуле прям грязь была.
оно небо и земля. нафига так было поганить первую версию?
Абсолютно идентичные версии до последнего байта. За исключением, - я вырезал менеджер верхней памяти и убрал некоторую графику которая на доп-странице лежала. 48к!
Абсолютно идентичные версии до последнего байта
сорри, эмуль на разных компах видать ведет себя по разному
Но это не умаляет глюка верхней строки.
Переосмысли п/п вывода курсора.
DragonsLord
28.04.2021, 22:20
Да всё там нормально с курсором. Тупо по быстрому собрал демо из мусора :) Убрать этот глюк - на изичах, но нафиг не сдалось. Гыгы.
Кстати, подумалось тут, раз переходим к конкретике, нужно привести код мыши. Я использую такую процедуру:
;***KEMPMOUSE**
; #FADF - состояние кнопок мышки:
; bit 0 - левая кнопка,
; bit 1 - правая кнопка,
; bit 2 - средняя кнопка.
; #FBDF - X-координата мышки
; #FFDF - Y-координата мышки
; Восстановление координат
MXY LD A,#FB ; Прочитать состоянии X-координаты
IN A,(#DF) ; мышки и
LD (MOUSE_X+1),A ; занести его в метку MOUSE_X
LD A,#FF ; Прочитать состоянии Y-координаты
IN A,(#DF) ; мышки и
LD (MOUSE_Y+1),A ; занести его в метку MOUSE_Y
RET
; Проверка состояния кнопок мышки
FIRE LD A,#FA;DF ; Чтение байта состояния кнопок
IN A,(#DF)
RRA ; Проверка нажатия левой кнопки
JP NC,L_BUT ; Если нажата, то прейти на метку L_BUT
RRA ; Проверка нажатия правой кнопки
JP NC,R_BUT ; Если нажата, то прейти на метку R_BUT
RET ; Кнопки не были нажаты (третья кнопка
; не используется)
L_BUT ld a,(NAJALIKN) ; нажата левая кнопка мыши
or 16
ld (NAJALIKN),a
RET
R_BUT ld a,(NAJALIKN) ; нажата правая кнопка мыши
or 32
ld (NAJALIKN),a
RET
; Движение мышки. X=0..255, Y=0..191
MOVE LD A,#FB
IN A,(#DF) ; Читаем состояние X-координаты мышки
MOUSE_X LD E,0 ; В регистре E предыдущая X-координата
LD (MOUSE_X+1),A ; Сохраняем новую координату
SUB E ; Проверяем изменилась ли X-координата
CALL NZ,MOVE_X ; Если да, то вызываем подпрог. MOVE_X
LD A,#FF
IN A,(#DF) ; Читаем состояние Y-координаты мышки
MOUSE_Y LD E,0 ; В регистре E предыдущая Y-координата
LD (MOUSE_Y+1),A ; Сохраняем новую координату
SUB E ; Проверяем изменилась ли Y-координата
CALL NZ,MOVE_Y ; Если да, то вызываем подпрог. MOVE_Y
RET
MOVE_Y JP M,MOUSE_D ; Если флаг S = 1, значит мышку дви-
; гали вниз, иначе вверх
MOUSE_U ;ADD A,A ; Увеличиваем смешение в два раза
LD D,A ; Сохраняем его в рег. D
LD A,(OLDHL) ; Берем текущую Y-координату курсора
SUB D ; Уменьшаем ее
JR NC,$+3 ; Если результат оказался меньше 0,
XOR A ; то обнулить Y-координату
LD (OLDHL),A ; Заносим новую Y-координату курсора
RET
MOUSE_D NEG ; Приводим смешение в нормальный вид
;ADD A,A ; Увеличиваем смешение в два раза
LD D,A ; Сохраняем его в рег. D
LD A,(OLDHL) ; Берем текущую Y-координату курсора
ADD A,D ; Увеличиваем ее
JR C,MM_2 ; Если результат оказался больше 255,
CP 192 ; или больше 191, то
JR C,$+4
MM_2 LD A,191 ; меняем его на 191
LD (OLDHL),A ; Заносим новую Y-координату курсора
RET
MOUSE_L NEG ; Приводим смешение в нормальный вид
;ADD A,A ; Увеличиваем смешение в два раза
LD D,A ; Сохраняем его в рег. D
LD A,(OLDHL+1) ; Берем текущую X-координату курсора
SUB D ; Уменьшаем ее
JR NC,$+3 ; Если результат оказался меньше 0,
XOR A ; то обнулить X-координату
LD (OLDHL+1),A ; Заносим новую X-координату курсора
RET
MOVE_X JP M,MOUSE_L ; Если флаг S = 1, значит мышку дви-
; гали влево, иначе вправо
MOUSE_R ;ADD A,A ; Увеличиваем смешение в два раза
LD D,A ; Сохраняем его в рег. D
LD A,(OLDHL+1) ; Берем текущую X-координату курсора
ADD A,D ; Увеличиваем ее
JR NC,$+4 ; Если результат оказался больше 255,
LD A,255 ; то меняем его на 255
LD (OLDHL+1),A ; Заносим новую X-координату курсора
RET
NAJALIKN defb 0
YMOUSE defb 90 ;Y
XMOUSE defb 120 ;X
MXY вызываю один раз в самом начале инициализации всей графической библиотеки, чтобы засинхронить координаты в коде и координаты в ячейках памяти. Больше не вызываю никогда.
В прерываниях вызываю
CALL MOVE ;читаем перемещения мышки из порта
CALL FIRE ;читаем нажатия мыши
Инициализацию мыши в таком виде НЕ ИСПОЛЬЗУЮ НИКОГДА:
KEMPMOUSE LD A,#90 ; Хитрожопые
OUT (#7F),A ; манипуляции
OUT (#5F),A ; для Питерских компов
LD BC,#FADF
IN A,(C) ; Считываем в A состояние порта #FADF
PUSH AF ; и сохраняем его на стеке
AND #F8 ; Проверка старших пяти битов на 1
CP #F8
CALL NZ,NOTMOUS ; Вызов подпрограммы отключения мышки
INC B
IN L,(C) ; Считываем в L состояние порта #FBDF
LD B,#FF
IN H,(C) ; Считываем в H состояние порта #FFDF
POP AF ; Восстанавливаем регистр A
CP L ; Проверка на совпадение значений
JR NZ,$+6 ; Если байты разные, то на YESMOUSE
CP H ; Если одинаковые, то проверям дальше
CALL Z,NOTMOUS ; Если опять сопали, то на откл. мышки
CALL MXY ; чтобы курсор не прыгал в неизвестном направлении
YESMOUS ; мышка обнаружена
CALL MOVE
CALL FIRE
JP QUIT
NOTMOUS ; мышка не подключена
JP QUIT
QUIT
;JP YESMOUS
RET
Что скажут гуру глубокого копания? Если заметите крамольное место - сообщите, почему бажит и как исправить. Повторяю, в чистом виде - всё прекрасно работает и не глючит. Как только привинтил на "Героев" - наблюдаю в Spin считывание мусора - мышка дрыгается самопроизвольно. В Unreal всё норм. Хотелось бы выяснить причину и купировать проблему.
Может я чёто не так делаю? Например может надо так в прерывании делать?
CALL MXY
CALL MOVE ;читаем перемещения мышки из порта
CALL FIRE ;читаем нажатия мыши
или ещё какой-нибудь фокус. Может в порт в начале прерывания нуль запихивать? Я не совсем знаток, как порт функционирует. Откуда грязь появляется там, где быть не должно? Может зря я инициализацию выкинул? Может там какая настройка важная есть на этот счёт?...
DragonsLord
29.04.2021, 13:11
Почему-то всех тянет оффтопить там, где не надо и ничего не писать там, где надо :biggrin:
Вот парниша видео записал, как этот мусор из порта выглядит:
https://zx-pk.ru/threads/32718-warcraft-1-pod-klassicheskij-128-tr-dos.html?p=1115133&viewfull=1#post1115133
Там еще от SSHIFT`а она улетает в нирвану.
DragonsLord,
вот это из игры Walker
GETKEY
LD HL,KEYDAT
LD C,1
GEK0
LD A,(HL)
IN A,(#FE)
INC HL
AND (HL)
INC HL
CP 1
RL C
JR NC,GEK0
LD A,(KEMM)
OR A
JR Z,NOMOUS
MOUSD3
LD A,#FA
IN A,(#DF)
MOUI CPL
AND 3
JR Z,NOMOUS
LD B,A
MOUF AND 0
JR Z,$+4
SET 4,C
LD A,B
MOUL AND 0
JR Z,$+4
SET 5,C
NOMOUS
LD A,#FF
IN A,(#1F)
KEM AND #1F
OR C
LD (TRACKEY),A
LD C,A
RET
MOUSIN
LD BC,#FBDF
IN D,(C)
LD B,#FF
IN E,(C)
LD (SUBN+1),DE
RET
MOUSD1
PUSH BC
PUSH DE
LD BC,#FBDF
IN D,(C)
LD B,#FF
IN E,(C)
SUBN LD BC,0
LD (SUBN+1),DE
LD A,B
SUB D
ADD A,H
LD H,A
LD A,C
SUB E
ADD A,L
LD L,A
POP DE
POP BC
RET
а вот как используется
TRAMOV
LD HL,(TRADIF)
LD A,(KEMM)
OR A
CALL NZ,MOUSD1
LD E,#04 ;TRACK SPEED
; ><GFUDLR
RR C
JR C,$+5
LD A,H
ADD A,E
LD H,A
RR C
JR C,$+5
LD A,H
SUB E
LD H,A
RR C
JR C,$+5
LD A,L
SUB E
LD L,A
RR C
JR C,$+5
LD A,L
ADD A,E
LD L,A
CORR1
LD (TRADIF),HL
RET
TRAADD
LD HL,(TRADIF)
EX DE,HL
LD HL,(OTRAC)
LD A,D
NEG
LD D,A
OR A
JP P,SUBL
ADDL NEG
LD D,A
LD A,H
SUB D
JR NC,$+3
XOR A
JR DTTL
SUBL ADD A,H
JR NC,$+4
LD A,#FF
CP #FF
JR C,$+4
LD A,#FF
DTTL LD H,A
LD A,E
OR A
JP P,SUBH
ADDH NEG
LD E,A
LD A,L
SUB E
JR NC,$+3
XOR A
JR DTTH
SUBH ADD A,L
JR NC,$+4
LD A,#BF
CP #BF
JR C,$+4
LD A,#BF
DTTH LD L,A
LD (OTRAC),HL
LD HL,0
JR CORR1
не спрашивай почему так.
Это код 25 летней давности
Как только привинтил на "Героев" - наблюдаю в Spin считывание мусора - мышка дрыгается самопроизвольно. В Unreal всё норм. Хотелось бы выяснить причину и купировать проблему.
попробуй убрать опрос kempston joystick`а
DragonsLord
29.04.2021, 19:41
Нет опроса кемпстон джойстика вообще.
а что тогда опрашивается по адресу #ACEB ?
SNA из поста №15
DragonsLord
29.04.2021, 23:30
В код не смотрел, но чисто сомневаюсь насчёт большого запаса.
Был бы бы большой запас, так можно было б вывести курсор 4x4 знакоместа.
Подкрасил вывод стрелки зелёным:
https://b.radikal.ru/b05/2104/73/ab48832069c7.png
https://b.radikal.ru/b12/2104/43/16b8cb1ddc15.png
https://b.radikal.ru/b19/2104/0d/5b4fe29095a7.png
Представлен ПОЛНЫЙ цикл, т.е.
- положить старую подложку
- запомнить новую подложку
- вывести указатель мыши
LD A,4
OUT (#FE),A
ld bc,(YMOUSE)
call LOJIM ;вывели подложку
ld bc,(OLDHL) ;всегда опаздываем на 1 фрейм
call BEREM ;запомнили подложку + вывели СТРЕЛКУ с маской
LD A,0
OUT (#FE),A
Нижний край зелёной области должен быть выше нижнего края указателя мыши для гарантированно чёткого вывода без подмигиваний и пропаданий.
Ещё вопросы к скорости вывода мыши есть? :biggrin:
Dimon spb
01.05.2021, 11:39
Ещё вопросы к скорости вывода мыши есть?
Как бы да. Нафига такой огромный курсор на пол экрана, который четверть инта сжирает?
Вот мой лёгкий и изящный курсор ;)
https://youtu.be/wO78w_0vZiU
И там еще есть чего оптимизировать.
И мой без опозданий на фрейм ;)
DragonsLord
02.05.2021, 14:09
Потому что там написана универсальная процедура на все случаи жизни. Особенно на те, когда придётся вместо стрелки вставлять всякие анимации 2х2.
Урезать до 1 знакоместа никогда не поздно. Суть была, чтобы большой отрабатывать успевал :tongue:
В Героях, кстати, как раз тот случай, когда нужно 2х2. Там игровой курсор изменяется, то конь на дыбы встаёт, то меч появляется.
Dimon spb
05.05.2021, 14:52
Ну хз, по мне так в одно знакоместо можно нарисовать и меч, и часы. Дело хозяйское. Просто количество тактов растет в геометрической прогрессии от размера курсора.
DragonsLord
06.05.2021, 22:43
Никого не интересуют такты, когда есть задача перенести геймплей исходника один в один.
Да и какие "такты" могут быть в НЕ реалтайм игре? "Герои" это не rts, а пошаговая стратегия.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot