User Tag List

Страница 28 из 99 ПерваяПервая ... 242526272829303132 ... ПоследняяПоследняя
Показано с 271 по 280 из 985

Тема: WarCraft 1 - под классический 128+TR-Dos

  1. #271

    Регистрация
    20.01.2021
    Адрес
    г. Санкт-Петербург
    Сообщений
    804
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    298
    Поблагодарили
    92 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    NewArt помог мне все мои дискеты оцифровать в образы. Теперь имею доступ к своим сокровищам. Кто-то там в начале спрашивал не те ли это "Heroes II", которые я писал. Нет, "те" - это от Рината. Но теперь у меня есть мой проект на руках. Не знаю, что с ним делать, дописывать я его не собираюсь, мне сейчас не интересен этот жанр. Наверное, самое логичное открыть другую ветку и выложить все наработки? Мож кому пригодятся....



    Куча графики осталась: все менюхи, предметы и т.д. Герои полноэкранные отрисованные вручную с нуля в фотографичном режиме цветные. Тайловые карты полностью прорисованные. Даже есть демо сборка пустого уровня со всеми объектами и артефактами.
    Последний раз редактировалось DragonsLord; 12.04.2021 в 07:26.

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

    Andrew771(11.04.2021), b2m(12.04.2021), Bedazzle(11.04.2021), bolini(11.04.2021), Dart Alver(12.04.2021), nimdasys_inbox_ru(29.04.2021), Oleg N. Cher(11.04.2021), OMu4(11.04.2021), ZX_NOVOSIB(11.04.2021)

  2. #271
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #272

    Регистрация
    20.01.2021
    Адрес
    г. Санкт-Петербург
    Сообщений
    804
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    298
    Поблагодарили
    92 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Возможно Медноногов и не виноват, что кнопки мыши инвертированы. Всё зависит от того, какой их двух стандартов существующих кемпстонов он поддерживал. Например в Unreal эмулируется нормальная мышка, как на PC. А на Spin эмулируется с обратными кнопками. Эт я ща заметил, - сижу интегрирую кемпстом маус в свою графическую библиотеку. Апгрейжу её перед началом продакшена Варика.

    По идее надо делать автоопределение истинной "левой" кнопки в самом начале, предложив юзеру нажать любую кнопку в менюшке.

  4. #273

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,867
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    311
    Поблагодарили
    235 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DragonsLord Посмотреть сообщение
    Возможно Медноногов и не виноват, что кнопки мыши инвертированы. Всё зависит от того, какой их двух стандартов существующих кемпстонов он поддерживал. Например в Unreal эмулируется нормальная мышка, как на PC. А на Spin эмулируется с обратными кнопками. Эт я ща заметил, - сижу интегрирую кемпстом маус в свою графическую библиотеку. Апгрейжу её перед началом продакшена Варика.

    По идее надо делать автоопределение истинной "левой" кнопки в самом начале, предложив юзеру нажать любую кнопку в менюшке.
    В ZX Format драйвер мыши был с автонастройкой - первая нажатая кнопка считалась LMB
    С уважением,
    Jerri / Red Triangle.

  5. #274

    Регистрация
    20.01.2021
    Адрес
    г. Санкт-Петербург
    Сообщений
    804
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    298
    Поблагодарили
    92 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В ZX Format драйвер мыши был с автонастройкой - первая нажатая кнопка считалась LMB
    Я знаю

    Такс, посоны, перестановки кадровые. Слипу дико жалко, что я собрался выкинуть всю графику "HEROES II" в мусорку, а также она ему СИИИИЛЬНО понравилась (как и любая от меня ), короче, я ему отдаю весь графен и он пишет Героев. ВарКрафт пишу я сам.

    Открыл ветку "Heroes II", куда выложил демку и буду выкидывать весь заготовленный графоний для неё:
    https://zx-pk.ru/threads/33190-heroe...28-tr-dos.html
    Последний раз редактировалось DragonsLord; 13.04.2021 в 18:45.

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

    Oleg N. Cher(14.04.2021), OMu4(13.04.2021), Slider(12.04.2021)

  6. #275

    Регистрация
    20.01.2021
    Адрес
    г. Санкт-Петербург
    Сообщений
    804
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    298
    Поблагодарили
    92 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Успешно привинтил мышку к своей старой графической библиотеке. Осталось написать ей небольшую доработку по клиппированию и можно начинать запиливать первую альфу с демонстрацией тайлового поля.

  7. #276

    Регистрация
    20.01.2021
    Адрес
    г. Санкт-Петербург
    Сообщений
    804
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    298
    Поблагодарили
    92 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Джерри, Санчез, Алоний, меня все тщательно отговаривают от реализации с 2-мя экранами и принуждают к рисовке через буфер, аля 48к режим. А как, простите, выбросить буфер на экран, чтобы мышка не мигнула? Наврядли эта переброска вообще будет меньше фрэйма по таймингам.

    Все говорят о якобы высоконаучных мегареализованных способах синхры не фрэймового игрового поля с фрэймовой мышкой. Как минимум я слышал о "по Медноногову, как в ЧВ", "по Алонию, как в Аллодах", можно ещё придумать, как "не у Медноногова и не у Алония". Прошу объяснение вариантов алгоритма отрисовки в студию! Словами.
    Последний раз редактировалось DragonsLord; 24.04.2021 в 19:12.

  8. #277

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,867
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    311
    Поблагодарили
    235 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DragonsLord Посмотреть сообщение
    Джерри, Санчез, Алоний, меня все тщательно отговаривают от реализации с 2-мя экранами и принуждают к рисовке через буфер, аля 48к режим. А как, простите, выбросить буфер на экран, чтобы мышка не мигнула? Наврядли эта переброска вообще будет меньше фрэйма по таймингам.

    Все говорят о якобы высоконаучных мегареализованных способах синхры не фрэймового игрового поля с фрэймовой мышкой. Как минимум я слышал о "по Медноногову, как в ЧВ", "по Алонию, как в Аллодах", можно ещё придумать, как "не у Медноногова и не у Алония". Прошу объяснение алгоритма отрисовки в студию! Словами.
    Тебя никто не отговаривает от 2хэкранки. Тебе говорят о 80 кб графики в страницах которую придется кидать через буфер в 7ой экран.
    Но поскольку у тебя свой путь, то тебе по нему и идти.

    Синхра мыши по Медноногову.
    есть счетчик текущей рисуемой строки
    если он меньше координаты У мыши то рисуем строку
    если больше то проверяем не попадает текущая строка под курсор, если да то проверяем флаг восстановления фона, устанавливаем флаг и восстанавливаем фон.

    на прерывании в случае флага исключаем восстановление фона.
    С уважением,
    Jerri / Red Triangle.

  9. #278

    Регистрация
    20.01.2021
    Адрес
    г. Санкт-Петербург
    Сообщений
    804
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    298
    Поблагодарили
    92 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А "по Алонию"?
    А где ещё способы? "По Джерри", например?

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

    если больше то проверяем не попадает текущая строка под курсор, если да то проверяем флаг восстановления фона, устанавливаем флаг и восстанавливаем фон
    У него что, учитывая минимышку, 8 флагов запоминания подложки и 8 отдельных процедур восстановления или засасывания 2 байт? Тупо в лоб, но эффективно.

  10. #279

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,867
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    311
    Поблагодарили
    235 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DragonsLord Посмотреть сообщение
    У него что, учитывая минимышку, 8 флагов запоминания подложки и 8 отдельных процедур восстановления или засасывания 2 байт? Тупо в лоб, но эффективно.
    зачем?


    W_INTV.a80

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


    Код:
    ;Kурсор на прерываниях	******
    
    BLITER	;обновл экр с уч прерыв
    	CALL MEM7
    	XOR A
    	LD (P_FLAG),A
    	DEC A
    	LD (V_LINE),A
    	LD A,2
    	LD (V_FLAG),A
    	CALL V_GET2
    	CALL V_MRK2
    	LD A,1
    	LD (V_FLAG),A
    	CALL DS2SC
    	CALL V_copy ;м.быть уч P_FLAG=1 :)
    	XOR A
    	LD (V_FLAG),A
    	RET
    
    DS2SC	;регенер экр
    	LD HL,DSCR
    	LD DE,SCR
    	LD B,192
    DSS0	LD A,H
    	CPL
    	AND %11000
    	RET Z
    	PUSH BC
    	PUSH DE
    	PUSH HL
    	LDI;
    	LDI
    	LDI
    	LDI
    	LDI
    	LDI
    	LDI
    	LDI
    	LDI;
    	LDI
    	LDI
    	LDI
    	LDI
    	LDI
    	LDI
    	LDI
    	LDI;
    	LDI
    	LDI
    	LDI
    	LDI
    	LDI
    	LDI
    	LDI
    	LD HL,V_LINE
    	INC (HL)
    	POP HL
    	POP DE
    	POP BC
    	INC H
    	INC D
    	LD A,H
    	AND 7
    	JR NZ,DSS1
    	LD A,L
    	ADD A,32
    	LD L,A
    	LD E,A
    	JR C,DSS1
    	LD A,H
    	SUB 8
    	LD H,A
    	LD A,D
    	SUB 8
    	LD D,A
    DSS1	LD A,(P_FLAG)
    	OR A
    	CALL NZ,V_BLIT
    	DJNZ DSS0
    	RET
    
    Vforce	;принудительный выв A строк
    	EXX
    	LD B,8
    	CALL DSS0
    	EXX
    	RET
    
    V_BLIT	;выв курс во время рефреша
    	DI
    	EXX
    	XOR A
    	LD (P_FLAG),A
    	LD HL,V_LINE
    	LD A,(G_MY) ;очистка
    	CP (HL)
    	JR C,vbt1
    	JR NZ,vbt2
    vbt1	ADD A,8
    	CP (HL)
    	JR C,vbt4
    	CALL Vforce
    vbt4	CALL V_copy
    vbt2	CALL V_PUT1
    	CALL V_PUT2
    	LD HL,(MX)  ;взятие в буф
    	LD (G_MX),HL
    	LD A,H
    	LD HL,V_LINE
    	CP (HL)
    	JR C,vpt1
    	JR NZ,vpt2
    vpt1	ADD A,8
    	CP (HL)
    	JR C,vpt4
    	CALL Vforce
    vpt4	CALL V_GET1
    	CALL V_GET2
    	LD A,(GBAD2+1)
    	XOR #60
    	LD (GBAD1+1),A
    	CALL V_copy
    	CALL V_MRK1
    	JR vptR
    vpt2	CALL V_GET1
    	CALL V_GET2
    	CALL V_MRK1
    	CALL V_MRK2
    vptR	EXX
    	EI
    	RET
    
    ON256	LD	A,%10000
    	JR	M2
    OFF256	XOR	A
    M2	LD	BC,#1FFD ;скорп
    	OUT	(C),A
    	LD	A,%11000
    	LD	B,#7F
    	OUT	(C),A ;пент
    	RET
    
    
    INAR0	;Обр прерываний
    	PUSH$
    	EXX
    	PUSH$
    	PUSH AF
    	EX AF,AF
    	PUSH AF
    	PUSH IX
    	PUSH IY
    	LD A,(R128)
    	LD (IR128),A
    	;анти-теневик
    antiTM	LD HL,(G_MX) ;[**]
    	LD A,H
    	OR #C0
    	LD H,A
    	CALL ON256
    	LD E,(HL) ;д.быть #A4 байт-заполнитель или (HL)
    	CALL OFF256
    	LD A,E
    	CP #A4
    	JR Z,INAMM
    	CP (HL)
    	RET NZ
    	;музыка
    INAMM	CALL MEM6
    	LD A,(MUSONF)
    	OR A
    	JR Z,INA0FX
    	;патч к музыке
    	 XOR A
    	 LD (#EEC9),A
    	 LD (#F221),A
    	CALL WMUSIC+6  ;6
    	JR INA0M
    INA0FX	LD BC,#FFFD
    	LD A,7
    	OUT (C),A
    	LD A,B
    	LD B,#BF
    	OUT (C),A
    	LD (#EEC9),A
    INA0M	CALL pSOUND ;эффекты
    	CALL MMOV
    	LD A,(V_FLAG)
    	CP 1
    	JR Z,INA01
    	JR NC,INA02
    	CALL MEM7
    	LD HL,(JP_SUB+1)
    	PUSH HL
    	LD HL,(SET_SP+1)
    	PUSH HL
    	LD HL,(SCRADR)
    	PUSH HL
    	CALL V_PUT1
    	LD HL,(MX)
    	LD (G_MX),HL
    	CALL V_GET1
    	CALL V_MRK1
    	POP HL
    	LD (SCRADR),HL
    	POP HL
    	LD (SET_SP+1),HL
    	POP HL
    	LD (JP_SUB+1),HL
    	JR INA02
    INA01	LD (P_FLAG),A
    INA02	LD A,(IR128)
    	CALL MEM
    	POP IY
    	POP IX
    	POP AF
    	EX AF,AF
    	POP AF
    	POP$
    	EXX
    	POP$
    	RET
    
    
    ;---------------------------------------
    
    G_IMG1	DEFB %11111100,%11111100 ;обычн курсор
    	DEFB %11111110,%10000110
    	DEFB %11111110,%10000010
    	DEFB %11111110,%10000110
    	DEFB %11111111,%10000011
    	DEFB %11111111,%11010001
    	DEFB %01111111,%01111011
    	DEFB %00001110,%00001110
    
    G_MAP1	DEFB %11111100,%00000000 ;курсор на карте/при нажатом FIRE
    	DEFB %11111110,%01111000
    	DEFB %11111110,%01000100
    	DEFB %11111110,%01001000
    	DEFB %11111111,%01010100
    	DEFB %11111111,%00101010
    	DEFB %01111111,%00000100
    	DEFB %00001110,%00000000
    
    G_FIX1	DEFB %11111100,%00000000 ;курсор при зафикс. цели
    	DEFB %11111110,%01111000
    	DEFB %11111110,%01111100
    	DEFB %11111110,%01111000
    	DEFB %11111111,%01111100
    	DEFB %11111111,%00101110
    	DEFB %01111111,%00000100
    	DEFB %00001110,%00000000
    
    
    V_copy	;gbu2->gbu1
    	LD BC,16
    	LD HL,GBU2
    	LD DE,GBU1
    	LDIR
    	RET
    
    V_PUT1	;  gbu1->[SCR]
    	LD HL,(GBAD1)
    	LD DE,GBU1
    	JR v1pEN
    
    V_PUT2	;  gbu2->[DSCR]
    	LD HL,(GBAD2)
    	LD DE,GBU2
    v1pEN	CALL v1p0
    	LD A,L
    	AND 31
    	CP 31
    	RET Z
    	INC L
    v1p0	LD B,8
    	PUSH HL
    v1p1	LD A,(DE)
    	LD (HL),A
    	INC DE
    	INC H
    	LD A,H
    	AND 7
    	JR NZ,v1p2
    	LD A,L
    	ADD A,32
    	LD L,A
    	JR C,v1p3
    	LD A,H
    	SUB 8
    	LD H,A
    	JR v1p2
    v1p3	LD A,H
    	CPL
    	AND %11000
    	JR Z,v1p6
    v1p2	DJNZ v1p1
    	POP HL
    	RET
    v1p5	INC DE
    v1p6	DJNZ v1p5
    	POP HL
    	RET
    
    
    V_GET1	; HL->gbad1  [SCR]->gbu1
    	LD DE,(G_MX) ;выв гр курс
    	CALL STS
    	CALL PCOORD
    	LD (GBAD1),HL
    	LD DE,GBU1
    	CALL v1g0
    	INC L
    v1g0	LD B,8
    	PUSH HL
    v1g1	LD A,(HL)
    	LD (DE),A
    	INC DE
    	INC H
    	LD A,H
    	AND 7
    	JR NZ,v1g2
    	LD A,L
    	ADD A,32
    	LD L,A
    	JR C,v1g2
    	LD A,H
    	SUB 8
    	LD H,A
    v1g2	DJNZ v1g1
    	POP HL
    	RET
    
    V_GET2	; HL->gbad2  [DSCR]->gbu2
    	LD DE,(G_MX) ;выв гр курс
    	CALL STD
    	CALL PCOORD
    	LD (GBAD2),HL
    	LD DE,GBU2
    	CALL v2g0
    	INC L
    v2g0	LD B,8
    	LD A,L
    	AND 31
    	CP 24
    	JR C,v2g00
    	PUSH HL
    	LD HL,GBU1-GBU2
    	ADD HL,DE
    	LD BC,8
    	LDIR
    	POP HL
    	RET
    v2g00	PUSH HL
    v2g1	LD A,(HL)
    	LD (DE),A
    	INC DE
    	INC H
    	LD A,H
    	AND 7
    	JR NZ,v2g2
    	LD A,L
    	ADD A,32
    	LD L,A
    	JR C,v2g2
    	LD A,H
    	SUB 8
    	LD H,A
    v2g2	DJNZ v2g1
    	POP HL
    	RET
    
    
    V_MRK2	;mrk->SCR
    	LD BC,(GBAD2)
    	JR vmr1
    
    V_MRK1	;mrk->SCR
    	LD BC,(GBAD1)
    vmr1	LD HL,(G_MX)
    	LD A,H
    	SUB 185
    	JR C,vmr2
    	XOR 7
    	JR vmr3
    vmr2	LD A,8
    vmr3	LD (G_SIZE),A
    	LD A,L
    	AND 7
    	LD HL,HE_N
    	CALL WT
    	LD (JP_SUB+1),HL
    	LD HL,(G_IMG)
    	LD E,(HL)
    	INC HL
    	LD D,(HL)
    	INC HL
    	LD (SET_SP+1),SP
    	LD SP,HL
    	LD L,C
    	LD H,B
    	LD A,(G_SIZE)
    	LD B,A
    	JP JP_SUB
    [свернуть]
    С уважением,
    Jerri / Red Triangle.

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

    Bedazzle(25.04.2021)

  11. #280

    Регистрация
    20.01.2021
    Адрес
    г. Санкт-Петербург
    Сообщений
    804
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    298
    Поблагодарили
    92 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    Уже забыл кто (Димас, кажись) спрашивали, как сделать мультиопрос клавы без меню выбора в начале игры. Вот мой код:

    Код:
    KBDJOY      in      a,(31)
                ld      e,a 
                and     3
                cp      3
                jr      nz,KBDJ1
                ld      e,0
    KBDJ1       ld      hl,DKEY
    KBDJ2       ld      c,(hl)
                inc     c
                dec     c
                ld      a,e 
                ret     z 
                inc     hl
                ld      b,(hl)
                inc     hl
                in      a,(c)
                cpl
                and     (hl)
                inc     hl
                jr      z,KBDJ3
                ld      a,(hl)
                or      e
                ld      e,a
    KBDJ3       inc     hl
                jr      KBDJ2
    DKEY        defb    #FE,#FD,2,8  ;S
                defb    #FE,#FE,4,4  ;X
                defb    #FE,#FB,1,8  ;Q
                defb    #FE,#FD,1,4  ;a 
                defb    #FE,#DF,2,2  ;O
                defb    #FE,#DF,1,1  ;p
                defb    #FE,#7F,8,16 ;n 
                defb    #FE,#7F,4,16 ;m 
                defb    #FE,#EF,16,2 ;ЛЕВО
                defb    #FE,#EF,8,1  ;ПРАВО
                defb    #FE,#EF,4,4  ;ВНИЗ
                defb    #FE,#EF,2,8  ;ВВЕРХ
                defb    #FE,#EF,1,16 ;ОГОНЬ
                defb    #FE,#7F,1,16 ;SPACE
                defb    #FE,#BF,1,16 ;ENTER
                defb    0            ;END
    можно сколько угодно кнопок добавлять. работают сразу все одновременно.

    Думаю, код максимально прозрачен. В описателе пишете порт строки на клаве и номер кнопки, и значение бита, которое выставлять в результирующем накопителе. В конце описателей НОЛЬ. На выходе получите этот накопленный байт с нужными включёнными битами.
    Последний раз редактировалось DragonsLord; 25.04.2021 в 04:52.

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

    Bedazzle(25.04.2021), izzx(25.04.2021)

Страница 28 из 99 ПерваяПервая ... 242526272829303132 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. как портировать музон с Warcraft inroduction
    от ALKO в разделе Музыка
    Ответов: 20
    Последнее: 03.02.2021, 01:06
  2. Ответов: 1
    Последнее: 25.07.2018, 19:52
  3. Чтение дисков TR-DOS под XP
    от Zloy в разделе Софт
    Ответов: 47
    Последнее: 19.09.2008, 09:06
  4. NK-DOS (вариант MS-DOS под TR-DOS)
    от Nomy Graphics в разделе Оси
    Ответов: 30
    Последнее: 03.09.2007, 16:59
  5. Софт под iS-dos
    от demon_zx в разделе Софт
    Ответов: 0
    Последнее: 07.03.2006, 23:35

Ваши права

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