;процедуры для рисования оформления, верхнего уровня (не зависят от типа экрана)
 
 
 
;печать панельки энергии и ветра + названия команд
 
DrawEnergyPanel
 
        call ClearEnergyPanel
 
       SCRADDR RAMKAX,4
 
        LD HL,_;#4401
 
        CALL ENRAMKA
 
       SCRADDR RAMKAX+16,4
 
        LD HL,_;#4411
 
        CALL ENRAMKA
 
       SCRADDR RAMKAX,6
 
        LD HL,_;#4601
 
        ld c,9*3      ;color3 (red)
 
        CALL ENFAKE ;рисуем полную энергию у команды
 
       SCRADDR RAMKAX,6+7
 
        LD HL,_
 
        ld c,9*1+0xc0 ;color9 (yellow)
 
        CALL ENFAKE ;рисуем полную энергию у команды
 
       SCRADDR RAMKAX+16,6
 
        LD HL,_;#4611
 
        ld c,9*2+0xc0 ;color10 (green)
 
        CALL ENFAKE ;рисуем полную энергию у команды
 
       SCRADDR RAMKAX+16,6+7
 
        LD HL,_
 
        ld c,9*6+0xc0 ;color14 (cyan)
 
        CALL ENFAKE ;рисуем полную энергию у команды
 
        LD HL,CUTEAMS
 
       SCRADDR RAMKAX+1,1
 
        LD DE,_;#4102
 
        CALL PRTEAM
 
       SCRADDR RAMKAX+1,16
 
        LD DE,_;#4042
 
        CALL PRTEAM
 
       SCRADDR RAMKAX+29-6,1
 
        LD DE,_;#411E
 
        CALL PRTEAMRIGHT
 
       SCRADDR RAMKAX+29-6,16
 
        LD DE,_;#405E
 
        CALL PRTEAMRIGHT
 
 
 
       SCRADDR RAMKAX-1,0
 
        LD HL,_;#4000
 
        CALL PRSTAR
 
       SCRADDR RAMKAX+30,0
 
        LD HL,_;#401F
 
        CALL PRSTAR
 
       SCRADDR RAMKAX-1,15
 
        LD HL,_;#4720
 
        CALL PRSTAR
 
       SCRADDR RAMKAX+30,15
 
        LD HL,_;#473F
 
        jp PRSTAR
 
        
 
PRTEAM
 
        PUSH HL
 
        call PRTEAM_FindLen
 
        EX (SP),HL ;hl=teamname, (sp)=nextteamname
 
;b=teamname len
 
PRTEAM0 LD A,(HL)
 
        INC HL
 
        CALL PR64
 
        DJNZ PRTEAM0
 
        POP HL
 
        RET 
 
 
 
PRTEAMRIGHT
 
        PUSH HL
 
        call PRTEAM_FindLen
 
        EX (SP),HL ;hl=teamname, (sp)=nextteamname
 
        ld a,12
 
        SUB B ;name len
 
        RRA
 
       if !ATM
 
        RL C
 
        SLA C ;x phase
 
       endif
 
        add a,e
 
        LD E,A
 
        jr nc,$+3
 
        inc d
 
        jr PRTEAM0
 
 
 
PRTEAM_FindLen
 
        LD B,TEAMLEN
 
        ld a,l
 
        add a,b
 
        ld l,a
 
        jr nc,$+3
 
        inc h
 
        PUSH HL
 
        LD A,' '
 
PRTEAMF DEC HL
 
        CP (HL)
 
        JR NZ,PRTEAME
 
        DJNZ PRTEAMF
 
        INC B ;1
 
PRTEAME
 
        POP HL
 
;b=teamname len
 
       if !ATM
 
        ld c,0
 
       endif
 
        ret
 
 
 
;печать полосок энергии и ветра
 
DrawEnergy
 
        ld a,(wind) ;-46..46 ;TODO на ATM ширина 58 (пересчитать из 128?)
 
        add a,windLAwid;47
 
        ld c,a ;1..46 left, 47 no, 48..93 right
 
       ;ld c,1;46
 
        LD HL,windLA
 
        LD b,windLAwid;47
 
        LD E,windLAbit;32
 
PRnrg0
 
        ;LD A,B
 
        ;DEC A
 
        ;CP C
 
        ;ccf
 
        ;CALL nrgPLOT
 
        ;CALL nrgGOLEFT
 
        LD A,B
 
        ADD A,C
 
        CP windLAwid+1
 
        CALL nrgPLOT
 
        ;CALL nrgGORIGHT
 
        DJNZ PRnrg0
 
windP
 
        LD HL,windRA
 
        LD b,windLAwid;47
 
        LD E,windRAbit;4
 
PRnrg1
 
        LD A,B
 
        ADD A,C
 
        ;CP windLAwid*2+1;95
 
        ;ccf
 
        jr c,$+4
 
        add a,-(windLAwid*2+1)
 
        CALL nrgPLOT
 
        ;CALL nrgGORIGHT
 
        DJNZ PRnrg1
 
PRnrgE
 
        ld a,(powr) ;0..118 ;TODO на АТМ ширина 148 (пересчитать из 256?)
 
        ;cpl
 
        ;add a,windEAwid;119
 
        ld c,a
 
        LD HL,windEA
 
        LD B,windEAwid;-1;#76
 
        LD E,windEAbit;4
 
PRnrg2
 
        ;LD A,c
 
        ;CP b
 
         ld a,b
 
         add a,c
 
         jr c,$+4
 
         add a,-windEAwid
 
        CALL nrgPLOT
 
        ;CALL nrgGORIGHT
 
        DJNZ PRnrg2
 
        RET 
 
 
 
MTIDEAD
 
;hl=name+12
 
        LD bc,13
 
        LD A,' ';32
 
FNDLF   DEC HL
 
        DEC C
 
        CP (HL)
 
        JR Z,FNDLF
 
;hl=before the last space, c=length
 
        LD A,C
 
        LD DE,MESDIE+11
 
        LDDR 
 
        EX DE,HL
 
        ADD A,14
 
        LD (HL),A
 
MTITLE
 
;hl=title to add
 
titlecuraddr=$+1
 
        LD DE,TITBUF
 
        
 
;if too many unprinted titles, overwrite the last one
 
       ld a,(curdrawingtitle)
 
       sub e
 
       neg ;titlecuraddr - drawingtitle
 
       cp 192
 
       jr c,MTITLE_nooverwrite
 
MTITLE_overwrite0
 
        dec e
 
        ld a,(de)
 
        cp 32
 
        jr nc,MTITLE_overwrite0 ;find len of pre-last message
 
        ;inc e
 
MTITLE_nooverwrite
 
        LD B,(HL) ;len
 
        INC B
 
MTITLEC LD A,(HL)
 
        LD (DE),A
 
        INC HL
 
        INC e ;!!!
 
        DJNZ MTITLEC
 
        EX DE,HL
 
        LD (HL),B ;0
 
        LD (titlecuraddr),HL
 
        RET 
 
 
 
DrawPie
 
DrawPieaddr=$+1
 
        LD HL,0
 
        call DrawPieHL
 
        LD (DrawPieaddr),HL
 
        ret;jp PRGA ;set old page