Login

Subversion Repositories NedoOS

Rev

Rev 1001 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

;Процедуры вывода "Об игре" и "Об авторах"
;
;ABOUT

;Эти переменные нужно взять
;из основной программы, либо компилировать
;в составе основной проги!
;--------------------
;PG_VIEW EQU 7
;PAGE   EQU 0
;MKEYSp1  EQU 0
;CURSCR EQU 0
;PR64   EQU 0
;IM2M2  EQU 0
;IM2N   EQU 0
;--------------------

PRINTER_SCREEN=0x4000;#c000

PRINTER
;d=0..1
;       LD A,16
;       LD (CURSCR-1),A
        CALL PAGE_PG_VIEW

        PUSH BC
        PUSH DE
       if EGA
        xor a
        ld (curscrnum_int),a
        ld e,a
        OS_SETSCREEN
        ;ld a,(user_scr1_high) ;ok
        ;SETPGC000
       endif

PRTER   XOR A
        LD (MKEYSp1),A

        LD DE,#1800
        LD HL,PRINTER_SCREEN+0x1800;#D800
        LD BC,32
PRTLP0  LD (HL),E
        CPI
        JP PE,PRTLP0
        HALT
        DEC D
        JR NZ,PRTLP0-3

        LD HL,PRINTER_SCREEN;#C000
        LD DE,PRINTER_SCREEN+1;#C001
        LD BC,6143
        LD (HL),L
        LDIR

        POP DE
        POP BC
        LD A,D      ;Если D=1 - заходим в описание первый раз
        OR E        ;Если DE=0 - выход из описания в меню
        RET Z
        DEC D
        JR Z,PRTLP1
        INC D
        JR PRTLP2   ;Продолжение описания с адреса DE
PRTLP1
       if RUS
        LD HL,#1202;3 ;координаты
       else
        LD HL,#1201;3 ;координаты
       endif
        LD DE,ABGM1 ;об игре
        INC C
        DEC C
        JR Z,PRTLP2
        LD DE,AUTR  ;об авторах
PRTLP2  CALL PR64

;можно юзать токен смены координат: 0,1,X,Y

        INC DE
        LD A,(DE)
        DEC A
        JR NZ,PRTLP5
        INC DE
        EX DE,HL
        LD D,(HL)
        INC HL
        LD E,(HL)
        INC HL
        EX DE,HL
        JR PRTLP2

PRTLP5
        EX DE,HL
        INC HL
        LD D,(HL)
        INC HL
        LD E,(HL)
        INC HL
        LD A,(HL)
        INC HL
        LD C,(HL)
        INC HL
        LD B,(HL)
        EX DE,HL
        PUSH BC
        PUSH BC

        LD DE,PRINTER_SCREEN+0x1800;#D800
        LD B,23
PRTLP4  PUSH BC
        ADD HL,HL
        ADC A,A
        CALL ATRLIN
        POP BC
        DJNZ PRTLP4
       
;Ожид. клавишу
PRTLP3  LD H,25 ;скорость мигания во фреймах
        HALT
        LD A,(MKEYSp1)
        AND %00010000 ;Fire
        LD B,A
        LD A,(KEYSp1)
        AND %10000000 ;Enter
        OR B
        JR NZ,PRTER
        DEC H
        JR NZ,PRTLP3+2
        LD DE,PRINTER_SCREEN+0x1ae0;#DAE0
        LD A,6  ;Цвет мигания
        XOR 6
        LD ($-1),A
        LD C,A
        CALL ATRLP
        JR PRTLP3

ATRLIN  LD C,7
        JR NC,$+4
        LD C,4
ATRLP   LD B,32
        EX DE,HL
        LD (HL),C
        INC HL
        DJNZ $-2
        EX DE,HL
        RET

AUTR
       if RUS
        DB "Художник",13
        DB "Кирилл Каган (Surfin Bird)",13
        db "(цвет - Sergio Neznany)",13
        db 13

        DB "Композиторы:",13
        DB "Дмитрий Жемков (C-jeff)",13
        DB "Андрей Пеунов (Bedjamen)",13
        DB "n1k-o",13,13

        DB "Программисты:",13
        DB "Александр Шушков (Axor)",13
        DB "Александр Синяков (SAM style)",13
        DB "Сергей Бульба",13
        DB "Дмитрий Быстров (Alone Coder)",13,13

        DB "Авторы сценария:",13
        DB "Владимир Сивов",13
        DB "Александр Разумов",13,13
       else
        DB "Graphics:",13
        DB "Kirill Kagan (Surfin' Bird)",13
        db "(colour - Sergio Neznany)",13
        db 13

        DB "Music:",13
        DB "Dmitry Zhemkov (C-jeff)",13
        DB "Andrey Peunov (Bedjamen)",13
        DB "n1k-o",13,13

        DB "Code:",13
        DB "Aleksandr Shushkov (Axor)",13
        DB "Aleksandr Sinyakov (SAM style)",13
        DB "Sergey Bulba",13
        DB "Dmitry Bystrov (Alone Coder)",13,13

        DB "Script:",13
        DB "Vladimir Sivov",13
        DB "Aleksandr Razumov",13
        db "(English - Serg Yakimovich)",13
        db "(Proofreading - Equinox)",13
        db 13
       endif

        DB "(c) 2003-2008, Perspective",0

       if RUS
        DB 1,58,23,"В меню",0,2
       else
        DB 1,58,23," Back",0,2
       endif
       
       if RUS
        DB %00010000,%01000000 ;атрибутная раскраска по строкам
        DB %00100010
       else
        DB %00100000,%10000000 ;атрибутная раскраска по строкам
        DB %01000100
       endif
        DW 0        ;адрес продолжения текста, 0,0-конец

ABGM1   ;INCBIN "VERA_ZX1.C" ;текст об игре1
       if RUS
        db 0,1,14,1,"Вера",0,1,0,3
       else
        db 0,1,14,1,"Vera",0,1,0,3
       endif
       if RUS
        db "  Холодный  северный  ветер, свистевший в голых ветвях деревьев,",13
        db "подгонял   низко   летящие  тяжелые  свинцовые  тучи,  грозившие",13
        db "разразиться  долгим и нудным дождем. Иногда среди них появлялись",13
        db "просветы,  но  они  были  настолько  малы, что убывающий бледный",13
        db "месяц  едва  помещался  в  них и с трудом разгонял тот мрак, что",13
        db "царил сейчас вокруг.",13
        db 13
        db "  Деревянные  полусгнившие столбы, поддерживающие потрескавшиеся",13
        db "изваяния древних идолов, окружили заброшенное капище и угрожающе",13
        db "поскрипывали,  как  будто  предупреждая  чужаков, без разрешения",13
        db "вторгшихся на запретную территорию о том, что подобное кощунство",13
        db "не останется безнаказанным."
        db 13
        db "  Их  было  двое.  Один, высокий и худой, закутанный в балахон -",13
        db "черный   колдун  Зловет.  Он  лихорадочно  разгребал  деревянной",13
        db "лопатой  землю  на вершине небольшого кургана, время от времени,",13
        db "издавая странные звуки, похожие то на хриплый зловещий шепот, то",13
        db "на страшные завывания жуткого зверя."
       else
        db "  The cold north wind whistled in the bare branches of trees and",13
        db "drove the  heavy leaden clouds  that threatened to burst  into a",13
        db "long boring rain. Sometimes gaps appeared between them, but they",13
        db "were  so small  that the  pale waning moon  barely fit into them",13
        db "and only partially dispelled the darkness that reigned around.",13
        db 13
        db "  Half-decayed  wooden  pillars supported the cracked statues of",13
        db "ancient  idols  that surrounded the abandoned temple and creaked",13
        db "with  menace,  as  if  to  warn strangers  who  might invade the",13
        db "forbidden territory without permission that such blasphemy would",13
        db "not remain unpunished.",13
        db 13
        db "  There  were two of them. The first one, tall and thin, wrapped",13
        db "in a hooded cloak, was the black sorcerer Evilon. He frantically",13
        db "raked  the earth  at the  top  of a  small mound  with a  wooden",13
        db "shovel. From time to time, he made strange sounds, like a hoarse",13
        db "ominous whisper, then like the howls of a terrible beast.",13
       endif

       if RUS
        db 0,1,59,23,"Далее",0
       else
        db 0,1,59,23,"Next",0
       endif

        DB 0
        DB 0,0,64
        DW ABGM2

ABGM2   ;INCBIN "VERA_ZX2.C" ;текст об игре2
        db 0,1,0,1
       if RUS
        db "  Вторым  участником  этой  сцены  был волк-оборотень, по кличке",13
        db "Обжора,   абсолютно  седой,  громадного  роста  и  с  неутолимым",13
        db "чувством  голода  в  яростных  желтых  глазах.  Он молча сидел в",13
        db "стороне  и  поглядывал  по  сторонам,  охраняя  погрузившегося в",13
        db "ритуал колдуна.",13
        db 13
        db "  Яркий  зеленый свет вдруг на мгновение осветил вершину кургана",13
        db "и  сразу  же  погас.  Зловет  поднялся с колен и, сжимая в руках",13
        db "жезл, бросил взгляд на волка: ",34,"Все, серый, отправляйся в логово,",13
        db "пока ты мне не нужен, а у меня есть еще кое-какие дела",34,".",0,1,29,12
        db "* * *",0,1,0,14
        db "  Старейшина  Хевор  задумчиво  смотрел  на свет чадящих факелов",13
        db "освещавших небольшую часть его двора. Где-то на краю освещаемого",13
        db "участка  мелькнула,  одетая в рванину, фигура провидца Глеба. За",13
        db "его  способности  к  провидению,  ему  была  выделена  маленькая",13
        db "сараюшка,  по совместительству использующаяся для хранения дров.",13
        db "Погрузившись  в свои думы, Хевор не услышал, что со спины к нему",13
        db "кто-то подошел..."
       else
        db "  The  second  participant  in  this  scene was a werewolf named",13
        db "Eager,  grey-haired all over,  of  enormous stature  and with an",13
        db "insatiable  hunger  in  his  furious  yellow  eyes. He sat aside",13
        db "silently  and  looked  around, guarding the the sorcerer who was",13
        db "deep into the ritual.",13
        db 13
        db "  A bright green light suddenly illuminated the top of the mound",13
        db "for  a  moment  and  immediately  went out. Evilon rose from his",13
        db "knees and clutching the staff in his hands, glanced at the wolf:",13
        db 34,"That's  all, grey  thing, go  to  the  lair, until  I  need you.",13
        db "I have some other things to do.",34,0,1,29,13
        db "* * *",0,1,0,15
        db "  Elder  Hevor  gazed   thoughtfully   at  the  glowing  torches",13
        db "illuminating a small part  of his  courtyard.   Somewhere at the",13
        db "edge of the illuminated place a figure glimmered,  clad in rags.",13
        db "This  was Gleb, the seer, who was granted  a small firewood shed",13
        db "for his  gift of  prophecy.  Sinking  into  his thoughts,  Hevor",13
        db "did not hear somebody approaching from behind..."
       endif
       
       if RUS
        db 0,1,25,23,"Верьте в добро",0
       else
        db 0,1,23,23,"Believe in goodness",0
       endif

        DS 6