?login_element?

Subversion Repositories NedoOS

Rev

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

  1. ;процедуры для рисования оформления, верхнего уровня (не зависят от типа экрана)
  2.  
  3. ;печать панельки энергии и ветра + названия команд
  4. DrawEnergyPanel
  5.         call ClearEnergyPanel
  6.        SCRADDR RAMKAX,4
  7.         LD HL,_;#4401
  8.         CALL ENRAMKA
  9.        SCRADDR RAMKAX+16,4
  10.         LD HL,_;#4411
  11.         CALL ENRAMKA
  12.        SCRADDR RAMKAX,6
  13.         LD HL,_;#4601
  14.         ld c,9*3      ;color3 (red)
  15.         CALL ENFAKE ;рисуем полную энергию у команды
  16.        SCRADDR RAMKAX,6+7
  17.         LD HL,_
  18.         ld c,9*1+0xc0 ;color9 (yellow)
  19.         CALL ENFAKE ;рисуем полную энергию у команды
  20.        SCRADDR RAMKAX+16,6
  21.         LD HL,_;#4611
  22.         ld c,9*2+0xc0 ;color10 (green)
  23.         CALL ENFAKE ;рисуем полную энергию у команды
  24.        SCRADDR RAMKAX+16,6+7
  25.         LD HL,_
  26.         ld c,9*6+0xc0 ;color14 (cyan)
  27.         CALL ENFAKE ;рисуем полную энергию у команды
  28.         LD HL,CUTEAMS
  29.        SCRADDR RAMKAX+1,1
  30.         LD DE,_;#4102
  31.         CALL PRTEAM
  32.        SCRADDR RAMKAX+1,16
  33.         LD DE,_;#4042
  34.         CALL PRTEAM
  35.        SCRADDR RAMKAX+29-6,1
  36.         LD DE,_;#411E
  37.         CALL PRTEAMRIGHT
  38.        SCRADDR RAMKAX+29-6,16
  39.         LD DE,_;#405E
  40.         CALL PRTEAMRIGHT
  41.  
  42.        SCRADDR RAMKAX-1,0
  43.         LD HL,_;#4000
  44.         CALL PRSTAR
  45.        SCRADDR RAMKAX+30,0
  46.         LD HL,_;#401F
  47.         CALL PRSTAR
  48.        SCRADDR RAMKAX-1,15
  49.         LD HL,_;#4720
  50.         CALL PRSTAR
  51.        SCRADDR RAMKAX+30,15
  52.         LD HL,_;#473F
  53.         jp PRSTAR
  54.        
  55. PRTEAM
  56.         PUSH HL
  57.         call PRTEAM_FindLen
  58.         EX (SP),HL ;hl=teamname, (sp)=nextteamname
  59. ;b=teamname len
  60. PRTEAM0 LD A,(HL)
  61.         INC HL
  62.         CALL PR64
  63.         DJNZ PRTEAM0
  64.         POP HL
  65.         RET
  66.  
  67. PRTEAMRIGHT
  68.         PUSH HL
  69.         call PRTEAM_FindLen
  70.         EX (SP),HL ;hl=teamname, (sp)=nextteamname
  71.         ld a,12
  72.         SUB B ;name len
  73.         RRA
  74.        if !ATM
  75.         RL C
  76.         SLA C ;x phase
  77.        endif
  78.         add a,e
  79.         LD E,A
  80.         jr nc,$+3
  81.         inc d
  82.         jr PRTEAM0
  83.  
  84. PRTEAM_FindLen
  85.         LD B,TEAMLEN
  86.         ld a,l
  87.         add a,b
  88.         ld l,a
  89.         jr nc,$+3
  90.         inc h
  91.         PUSH HL
  92.         LD A,' '
  93. PRTEAMF DEC HL
  94.         CP (HL)
  95.         JR NZ,PRTEAME
  96.         DJNZ PRTEAMF
  97.         INC B ;1
  98. PRTEAME
  99.         POP HL
  100. ;b=teamname len
  101.        if !ATM
  102.         ld c,0
  103.        endif
  104.         ret
  105.  
  106. ;печать полосок энергии и ветра
  107. DrawEnergy
  108.         ld a,(wind) ;-46..46 ;TODO на ATM ширина 58 (пересчитать из 128?)
  109.         add a,windLAwid;47
  110.         ld c,a ;1..46 left, 47 no, 48..93 right
  111.        ;ld c,1;46
  112.         LD HL,windLA
  113.         LD b,windLAwid;47
  114.         LD E,windLAbit;32
  115. PRnrg0
  116.         ;LD A,B
  117.         ;DEC A
  118.         ;CP C
  119.         ;ccf
  120.         ;CALL nrgPLOT
  121.         ;CALL nrgGOLEFT
  122.         LD A,B
  123.         ADD A,C
  124.         CP windLAwid+1
  125.         CALL nrgPLOT
  126.         ;CALL nrgGORIGHT
  127.         DJNZ PRnrg0
  128. windP
  129.         LD HL,windRA
  130.         LD b,windLAwid;47
  131.         LD E,windRAbit;4
  132. PRnrg1
  133.         LD A,B
  134.         ADD A,C
  135.         ;CP windLAwid*2+1;95
  136.         ;ccf
  137.         jr c,$+4
  138.         add a,-(windLAwid*2+1)
  139.         CALL nrgPLOT
  140.         ;CALL nrgGORIGHT
  141.         DJNZ PRnrg1
  142. PRnrgE
  143.         ld a,(powr) ;0..118 ;TODO на АТМ ширина 148 (пересчитать из 256?)
  144.         ;cpl
  145.         ;add a,windEAwid;119
  146.         ld c,a
  147.         LD HL,windEA
  148.         LD B,windEAwid;-1;#76
  149.         LD E,windEAbit;4
  150. PRnrg2
  151.         ;LD A,c
  152.         ;CP b
  153.          ld a,b
  154.          add a,c
  155.          jr c,$+4
  156.          add a,-windEAwid
  157.         CALL nrgPLOT
  158.         ;CALL nrgGORIGHT
  159.         DJNZ PRnrg2
  160.         RET
  161.  
  162. MTIDEAD
  163. ;hl=name+12
  164.         LD bc,13
  165.         LD A,' ';32
  166. FNDLF   DEC HL
  167.         DEC C
  168.         CP (HL)
  169.         JR Z,FNDLF
  170. ;hl=before the last space, c=length
  171.         LD A,C
  172.         LD DE,MESDIE+11
  173.         LDDR
  174.         EX DE,HL
  175.         ADD A,14
  176.         LD (HL),A
  177. MTITLE
  178. ;hl=title to add
  179. titlecuraddr=$+1
  180.         LD DE,TITBUF
  181.        
  182. ;if too many unprinted titles, overwrite the last one
  183.        ld a,(curdrawingtitle)
  184.        sub e
  185.        neg ;titlecuraddr - drawingtitle
  186.        cp 192
  187.        jr c,MTITLE_nooverwrite
  188. MTITLE_overwrite0
  189.         dec e
  190.         ld a,(de)
  191.         cp 32
  192.         jr nc,MTITLE_overwrite0 ;find len of pre-last message
  193.         ;inc e
  194. MTITLE_nooverwrite
  195.         LD B,(HL) ;len
  196.         INC B
  197. MTITLEC LD A,(HL)
  198.         LD (DE),A
  199.         INC HL
  200.         INC e ;!!!
  201.         DJNZ MTITLEC
  202.         EX DE,HL
  203.         LD (HL),B ;0
  204.         LD (titlecuraddr),HL
  205.         RET
  206.  
  207. DrawPie
  208. DrawPieaddr=$+1
  209.         LD HL,0
  210.         call DrawPieHL
  211.         LD (DrawPieaddr),HL
  212.         ret;jp PRGA ;set old page
  213.