Home » Archimedes archive » Acorn User » AU 1997-Xmas B.adf » Regulars » StarInfo/Vibe/DRAWLINEC2

StarInfo/Vibe/DRAWLINEC2

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1997-Xmas B.adf » Regulars
Filename: StarInfo/Vibe/DRAWLINEC2
Read OK:
File size: 08E2 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > DRAWLINEC2
   20
   30MODE21:OFF
   40SYS"OS_ReadModeVariable",-1,4 TO,,SX%:SX%=2^SX%
   50SYS"OS_ReadModeVariable",-1,5 TO,,SY%:SY%=2^SY%
   60SYS"OS_ReadModeVariable",-1,11 TO,,XS%
   70SYS"OS_ReadModeVariable",-1,12 TO,,YS%
   80W%=SX%*XS%-1:H%=SY%*YS%-1
   90
  100DIM PATH% 100,JC% 15
  110JC%!0=0:JC%!4=0:JC%!8=0:JC%!12=0
  120
  130REPEAT
  140B%=RND(128)
  150X1%=RND(W%-B%)+B%/2:Y1%=RND(H%-B%)+B%/2
  160X2%=RND(W%-B%)+B%/2:Y2%=RND(H%-B%)+B%/2
  170REPEAT:R1%=RND(255):G1%=RND(255):B1%=RND(255):UNTILR1%+G1%+B1%<=128
  180REPEAT:R2%=RND(255):G2%=RND(255):B2%=RND(255):UNTILR2%+G2%+B2%<=640
  190REPEAT:R3%=RND(255):G3%=RND(255):B3%=RND(255):UNTILR3%+G3%+B3%>=128
  200REPEAT:R4%=RND(255):G4%=RND(255):B4%=RND(255):UNTILR4%+G4%+B4%>=640
  210PROCMLINE(X1%,Y1%,R1%,G1%,B1%,R2%,G2%,B2%,X2%,Y2%,R3%,G3%,B3%,R4%,G4%,B4%,B%)
  220UNTIL0
  230
  240DEFPROCMLINE(X1%,Y1%,R1%,G1%,B1%,R2%,G2%,B2%,X2%,Y2%,R3%,G3%,B3%,R4%,G4%,B4%,B%)
  250LOCAL N%,RA%,GA%,BA%,RB%,GB%,BB%
  260FORN%=B%TO2STEP-4
  270RA%=(R2%*(B%-N%)+R1%*N%)/B%:GA%=(G2%*(B%-N%)+G1%*N%)/B%:BA%=(B2%*(B%-N%)+B1%*N%)/B%
  280RB%=(R4%*(B%-N%)+R3%*N%)/B%:GB%=(G4%*(B%-N%)+G3%*N%)/B%:BB%=(B4%*(B%-N%)+B3%*N%)/B%
  290PROCLINE(X1%,Y1%,RA%,GA%,BA%,X2%,Y2%,RB%,GB%,BB%,N%)
  300NEXT
  310ENDPROC
  320
  330DEFPROCLINE(X1,Y1,R1%,G1%,B1%,X2,Y2,R2%,G2%,B2%,B)
  340LOCAL L,K%,N%,N1%,XA,YA,XB,YB,R%,G%,B%
  350L=SQR((X2-X1)^2+(Y2-Y1)^2)
  360K%=L/16+RND(8):IFK%<32 K%=24+RND(8)
  370XA=(X1*99+X2)/100:YA=(Y1*99+Y2)/100:JC%!0=&010000:PROCRGB(R1%,G1%,B1%):PROCL(X1,Y1,XA,YA,B)
  380XA=(X1+X2*99)/100:YA=(Y1+Y2*99)/100:JC%!0=&000100:PROCRGB(R2%,G2%,B2%):PROCL(XA,YA,X2,Y2,B)
  390JC%!0=&000000
  400FORN%=2TOK%:N1%=K%-N%
  410XA=(X1%*(N%-2)+X2%*(N1%+2))/K%:YA=(Y1%*(N%-2)+Y2%*(N1%+2))/K%
  420XB=(X1*N%+X2*N1%)/K%:YB=(Y1*N%+Y2*N1%)/K%
  430R%=((N%-2)*R1%+(N1%+2)*R2%)/K%:G%=((N%-2)*G1%+(N1%+2)*G2%)/K%
  440B%=((N%-2)*B1%+(N1%+2)*B2%)/K%:PROCRGB(R%,G%,B%)
  450PROCL(XA,YA,XB,YB,B)
  460NEXT
  470XA=(X1%*(K%-1)+X2%)/K%:YA=(Y1%*(K%-1)+Y2%)/K%:XB=X1:YB=Y1
  480R%=((K%-1)*R1%+R2%)/K%:G%=((K%-1)*G1%+G2%)/K%
  490B%=((K%-1)*B1%+B2%)/K%:PROCRGB(R%,G%,B%)
  500PROCL(XA,YA,XB,YB,B)
  510ENDPROC
  520
  530DEFPROCL(X1,Y1,X2,Y2,B)
  540LOCAL PP%,W
  550X1=256*X1:Y1=256*Y1:X2=256*X2:Y2=256*Y2
  560PATH%!PP%=2:PP%+=4:PATH%!PP%=X1:PP%+=4:PATH%!PP%=Y1:PP%+=4
  570PATH%!PP%=8:PP%+=4:PATH%!PP%=X2:PP%+=4:PATH%!PP%=Y2:PP%+=4
  580PATH%!PP%=0:PP%+=4:PATH%!PP%=PP%
  590W=256*B
  600SYS"Draw_Stroke",PATH%,0,0,0,W,JC%,0
  610ENDPROC
  620
  630DEFPROCRGB(R%,G%,B%)
  640LOCAL C%:C%=(R%<<8)+(G%<<16)+(B%<<24)
  650SYS "ColourTrans_SetGCOL",C%,,,&100,0
  660ENDPROC

� > DRAWLINEC2

	�21:�
(1ș"OS_ReadModeVariable",-1,4 �,,SX%:SX%=2^SX%
21ș"OS_ReadModeVariable",-1,5 �,,SY%:SY%=2^SY%
<(ș"OS_ReadModeVariable",-1,11 �,,XS%
F(ș"OS_ReadModeVariable",-1,12 �,,YS%
PW%=SX%*XS%-1:H%=SY%*YS%-1
Z
d� PATH% 100,JC% 15
n$JC%!0=0:JC%!4=0:JC%!8=0:JC%!12=0
x
��
�
B%=�(128)
�'X1%=�(W%-B%)+B%/2:Y1%=�(H%-B%)+B%/2
�'X2%=�(W%-B%)+B%/2:Y2%=�(H%-B%)+B%/2
�8�:R1%=�(255):G1%=�(255):B1%=�(255):�R1%+G1%+B1%<=128
�8�:R2%=�(255):G2%=�(255):B2%=�(255):�R2%+G2%+B2%<=640
�8�:R3%=�(255):G3%=�(255):B3%=�(255):�R3%+G3%+B3%>=128
�8�:R4%=�(255):G4%=�(255):B4%=�(255):�R4%+G4%+B4%>=640
�N�MLINE(X1%,Y1%,R1%,G1%,B1%,R2%,G2%,B2%,X2%,Y2%,R3%,G3%,B3%,R4%,G4%,B4%,B%)
��0
�
�O��MLINE(X1%,Y1%,R1%,G1%,B1%,R2%,G2%,B2%,X2%,Y2%,R3%,G3%,B3%,R4%,G4%,B4%,B%)
� � N%,RA%,GA%,BA%,RB%,GB%,BB%
�N%=B%�2�-4
WRA%=(R2%*(B%-N%)+R1%*N%)/B%:GA%=(G2%*(B%-N%)+G1%*N%)/B%:BA%=(B2%*(B%-N%)+B1%*N%)/B%
WRB%=(R4%*(B%-N%)+R3%*N%)/B%:GB%=(G4%*(B%-N%)+G3%*N%)/B%:BB%=(B4%*(B%-N%)+B3%*N%)/B%
"5�LINE(X1%,Y1%,RA%,GA%,BA%,X2%,Y2%,RB%,GB%,BB%,N%)
,�
6�
@
J1��LINE(X1,Y1,R1%,G1%,B1%,X2,Y2,R2%,G2%,B2%,B)
T&� L,K%,N%,N1%,XA,YA,XB,YB,R%,G%,B%
^L=�((X2-X1)^2+(Y2-Y1)^2)
h"K%=L/16+�(8):�K%<32 K%=24+�(8)
rYXA=(X1*99+X2)/100:YA=(Y1*99+Y2)/100:JC%!0=&010000:�RGB(R1%,G1%,B1%):�L(X1,Y1,XA,YA,B)
|YXA=(X1+X2*99)/100:YA=(Y1+Y2*99)/100:JC%!0=&000100:�RGB(R2%,G2%,B2%):�L(XA,YA,X2,Y2,B)
�JC%!0=&000000
��N%=2�K%:N1%=K%-N%
�AXA=(X1%*(N%-2)+X2%*(N1%+2))/K%:YA=(Y1%*(N%-2)+Y2%*(N1%+2))/K%
�-XB=(X1*N%+X2*N1%)/K%:YB=(Y1*N%+Y2*N1%)/K%
�AR%=((N%-2)*R1%+(N1%+2)*R2%)/K%:G%=((N%-2)*G1%+(N1%+2)*G2%)/K%
�1B%=((N%-2)*B1%+(N1%+2)*B2%)/K%:�RGB(R%,G%,B%)
��L(XA,YA,XB,YB,B)
��
�=XA=(X1%*(K%-1)+X2%)/K%:YA=(Y1%*(K%-1)+Y2%)/K%:XB=X1:YB=Y1
�1R%=((K%-1)*R1%+R2%)/K%:G%=((K%-1)*G1%+G2%)/K%
�)B%=((K%-1)*B1%+B2%)/K%:�RGB(R%,G%,B%)
��L(XA,YA,XB,YB,B)
��

��L(X1,Y1,X2,Y2,B)
� PP%,W
&+X1=256*X1:Y1=256*Y1:X2=256*X2:Y2=256*Y2
0>PATH%!PP%=2:PP%+=4:PATH%!PP%=X1:PP%+=4:PATH%!PP%=Y1:PP%+=4
:>PATH%!PP%=8:PP%+=4:PATH%!PP%=X2:PP%+=4:PATH%!PP%=Y2:PP%+=4
D$PATH%!PP%=0:PP%+=4:PATH%!PP%=PP%
NW=256*B
X'ș"Draw_Stroke",PATH%,0,0,0,W,JC%,0
b�
l
v��RGB(R%,G%,B%)
�%� C%:C%=(R%<<8)+(G%<<16)+(B%<<24)
�(ș "ColourTrans_SetGCOL",C%,,,&100,0
��
�
00000000  0d 00 0a 12 f4 20 3e 20  44 52 41 57 4c 49 4e 45  |..... > DRAWLINE|
00000010  43 32 0d 00 14 04 0d 00  1e 09 eb 32 31 3a 87 0d  |C2.........21:..|
00000020  00 28 31 c8 99 22 4f 53  5f 52 65 61 64 4d 6f 64  |.(1.."OS_ReadMod|
00000030  65 56 61 72 69 61 62 6c  65 22 2c 2d 31 2c 34 20  |eVariable",-1,4 |
00000040  b8 2c 2c 53 58 25 3a 53  58 25 3d 32 5e 53 58 25  |.,,SX%:SX%=2^SX%|
00000050  0d 00 32 31 c8 99 22 4f  53 5f 52 65 61 64 4d 6f  |..21.."OS_ReadMo|
00000060  64 65 56 61 72 69 61 62  6c 65 22 2c 2d 31 2c 35  |deVariable",-1,5|
00000070  20 b8 2c 2c 53 59 25 3a  53 59 25 3d 32 5e 53 59  | .,,SY%:SY%=2^SY|
00000080  25 0d 00 3c 28 c8 99 22  4f 53 5f 52 65 61 64 4d  |%..<(.."OS_ReadM|
00000090  6f 64 65 56 61 72 69 61  62 6c 65 22 2c 2d 31 2c  |odeVariable",-1,|
000000a0  31 31 20 b8 2c 2c 58 53  25 0d 00 46 28 c8 99 22  |11 .,,XS%..F(.."|
000000b0  4f 53 5f 52 65 61 64 4d  6f 64 65 56 61 72 69 61  |OS_ReadModeVaria|
000000c0  62 6c 65 22 2c 2d 31 2c  31 32 20 b8 2c 2c 59 53  |ble",-1,12 .,,YS|
000000d0  25 0d 00 50 1d 57 25 3d  53 58 25 2a 58 53 25 2d  |%..P.W%=SX%*XS%-|
000000e0  31 3a 48 25 3d 53 59 25  2a 59 53 25 2d 31 0d 00  |1:H%=SY%*YS%-1..|
000000f0  5a 04 0d 00 64 16 de 20  50 41 54 48 25 20 31 30  |Z...d.. PATH% 10|
00000100  30 2c 4a 43 25 20 31 35  0d 00 6e 24 4a 43 25 21  |0,JC% 15..n$JC%!|
00000110  30 3d 30 3a 4a 43 25 21  34 3d 30 3a 4a 43 25 21  |0=0:JC%!4=0:JC%!|
00000120  38 3d 30 3a 4a 43 25 21  31 32 3d 30 0d 00 78 04  |8=0:JC%!12=0..x.|
00000130  0d 00 82 05 f5 0d 00 8c  0d 42 25 3d b3 28 31 32  |.........B%=.(12|
00000140  38 29 0d 00 96 27 58 31  25 3d b3 28 57 25 2d 42  |8)...'X1%=.(W%-B|
00000150  25 29 2b 42 25 2f 32 3a  59 31 25 3d b3 28 48 25  |%)+B%/2:Y1%=.(H%|
00000160  2d 42 25 29 2b 42 25 2f  32 0d 00 a0 27 58 32 25  |-B%)+B%/2...'X2%|
00000170  3d b3 28 57 25 2d 42 25  29 2b 42 25 2f 32 3a 59  |=.(W%-B%)+B%/2:Y|
00000180  32 25 3d b3 28 48 25 2d  42 25 29 2b 42 25 2f 32  |2%=.(H%-B%)+B%/2|
00000190  0d 00 aa 38 f5 3a 52 31  25 3d b3 28 32 35 35 29  |...8.:R1%=.(255)|
000001a0  3a 47 31 25 3d b3 28 32  35 35 29 3a 42 31 25 3d  |:G1%=.(255):B1%=|
000001b0  b3 28 32 35 35 29 3a fd  52 31 25 2b 47 31 25 2b  |.(255):.R1%+G1%+|
000001c0  42 31 25 3c 3d 31 32 38  0d 00 b4 38 f5 3a 52 32  |B1%<=128...8.:R2|
000001d0  25 3d b3 28 32 35 35 29  3a 47 32 25 3d b3 28 32  |%=.(255):G2%=.(2|
000001e0  35 35 29 3a 42 32 25 3d  b3 28 32 35 35 29 3a fd  |55):B2%=.(255):.|
000001f0  52 32 25 2b 47 32 25 2b  42 32 25 3c 3d 36 34 30  |R2%+G2%+B2%<=640|
00000200  0d 00 be 38 f5 3a 52 33  25 3d b3 28 32 35 35 29  |...8.:R3%=.(255)|
00000210  3a 47 33 25 3d b3 28 32  35 35 29 3a 42 33 25 3d  |:G3%=.(255):B3%=|
00000220  b3 28 32 35 35 29 3a fd  52 33 25 2b 47 33 25 2b  |.(255):.R3%+G3%+|
00000230  42 33 25 3e 3d 31 32 38  0d 00 c8 38 f5 3a 52 34  |B3%>=128...8.:R4|
00000240  25 3d b3 28 32 35 35 29  3a 47 34 25 3d b3 28 32  |%=.(255):G4%=.(2|
00000250  35 35 29 3a 42 34 25 3d  b3 28 32 35 35 29 3a fd  |55):B4%=.(255):.|
00000260  52 34 25 2b 47 34 25 2b  42 34 25 3e 3d 36 34 30  |R4%+G4%+B4%>=640|
00000270  0d 00 d2 4e f2 4d 4c 49  4e 45 28 58 31 25 2c 59  |...N.MLINE(X1%,Y|
00000280  31 25 2c 52 31 25 2c 47  31 25 2c 42 31 25 2c 52  |1%,R1%,G1%,B1%,R|
00000290  32 25 2c 47 32 25 2c 42  32 25 2c 58 32 25 2c 59  |2%,G2%,B2%,X2%,Y|
000002a0  32 25 2c 52 33 25 2c 47  33 25 2c 42 33 25 2c 52  |2%,R3%,G3%,B3%,R|
000002b0  34 25 2c 47 34 25 2c 42  34 25 2c 42 25 29 0d 00  |4%,G4%,B4%,B%)..|
000002c0  dc 06 fd 30 0d 00 e6 04  0d 00 f0 4f dd f2 4d 4c  |...0.......O..ML|
000002d0  49 4e 45 28 58 31 25 2c  59 31 25 2c 52 31 25 2c  |INE(X1%,Y1%,R1%,|
000002e0  47 31 25 2c 42 31 25 2c  52 32 25 2c 47 32 25 2c  |G1%,B1%,R2%,G2%,|
000002f0  42 32 25 2c 58 32 25 2c  59 32 25 2c 52 33 25 2c  |B2%,X2%,Y2%,R3%,|
00000300  47 33 25 2c 42 33 25 2c  52 34 25 2c 47 34 25 2c  |G3%,B3%,R4%,G4%,|
00000310  42 34 25 2c 42 25 29 0d  00 fa 20 ea 20 4e 25 2c  |B4%,B%)... . N%,|
00000320  52 41 25 2c 47 41 25 2c  42 41 25 2c 52 42 25 2c  |RA%,GA%,BA%,RB%,|
00000330  47 42 25 2c 42 42 25 0d  01 04 0f e3 4e 25 3d 42  |GB%,BB%.....N%=B|
00000340  25 b8 32 88 2d 34 0d 01  0e 57 52 41 25 3d 28 52  |%.2.-4...WRA%=(R|
00000350  32 25 2a 28 42 25 2d 4e  25 29 2b 52 31 25 2a 4e  |2%*(B%-N%)+R1%*N|
00000360  25 29 2f 42 25 3a 47 41  25 3d 28 47 32 25 2a 28  |%)/B%:GA%=(G2%*(|
00000370  42 25 2d 4e 25 29 2b 47  31 25 2a 4e 25 29 2f 42  |B%-N%)+G1%*N%)/B|
00000380  25 3a 42 41 25 3d 28 42  32 25 2a 28 42 25 2d 4e  |%:BA%=(B2%*(B%-N|
00000390  25 29 2b 42 31 25 2a 4e  25 29 2f 42 25 0d 01 18  |%)+B1%*N%)/B%...|
000003a0  57 52 42 25 3d 28 52 34  25 2a 28 42 25 2d 4e 25  |WRB%=(R4%*(B%-N%|
000003b0  29 2b 52 33 25 2a 4e 25  29 2f 42 25 3a 47 42 25  |)+R3%*N%)/B%:GB%|
000003c0  3d 28 47 34 25 2a 28 42  25 2d 4e 25 29 2b 47 33  |=(G4%*(B%-N%)+G3|
000003d0  25 2a 4e 25 29 2f 42 25  3a 42 42 25 3d 28 42 34  |%*N%)/B%:BB%=(B4|
000003e0  25 2a 28 42 25 2d 4e 25  29 2b 42 33 25 2a 4e 25  |%*(B%-N%)+B3%*N%|
000003f0  29 2f 42 25 0d 01 22 35  f2 4c 49 4e 45 28 58 31  |)/B%.."5.LINE(X1|
00000400  25 2c 59 31 25 2c 52 41  25 2c 47 41 25 2c 42 41  |%,Y1%,RA%,GA%,BA|
00000410  25 2c 58 32 25 2c 59 32  25 2c 52 42 25 2c 47 42  |%,X2%,Y2%,RB%,GB|
00000420  25 2c 42 42 25 2c 4e 25  29 0d 01 2c 05 ed 0d 01  |%,BB%,N%)..,....|
00000430  36 05 e1 0d 01 40 04 0d  01 4a 31 dd f2 4c 49 4e  |6....@...J1..LIN|
00000440  45 28 58 31 2c 59 31 2c  52 31 25 2c 47 31 25 2c  |E(X1,Y1,R1%,G1%,|
00000450  42 31 25 2c 58 32 2c 59  32 2c 52 32 25 2c 47 32  |B1%,X2,Y2,R2%,G2|
00000460  25 2c 42 32 25 2c 42 29  0d 01 54 26 ea 20 4c 2c  |%,B2%,B)..T&. L,|
00000470  4b 25 2c 4e 25 2c 4e 31  25 2c 58 41 2c 59 41 2c  |K%,N%,N1%,XA,YA,|
00000480  58 42 2c 59 42 2c 52 25  2c 47 25 2c 42 25 0d 01  |XB,YB,R%,G%,B%..|
00000490  5e 1c 4c 3d b6 28 28 58  32 2d 58 31 29 5e 32 2b  |^.L=.((X2-X1)^2+|
000004a0  28 59 32 2d 59 31 29 5e  32 29 0d 01 68 22 4b 25  |(Y2-Y1)^2)..h"K%|
000004b0  3d 4c 2f 31 36 2b b3 28  38 29 3a e7 4b 25 3c 33  |=L/16+.(8):.K%<3|
000004c0  32 20 4b 25 3d 32 34 2b  b3 28 38 29 0d 01 72 59  |2 K%=24+.(8)..rY|
000004d0  58 41 3d 28 58 31 2a 39  39 2b 58 32 29 2f 31 30  |XA=(X1*99+X2)/10|
000004e0  30 3a 59 41 3d 28 59 31  2a 39 39 2b 59 32 29 2f  |0:YA=(Y1*99+Y2)/|
000004f0  31 30 30 3a 4a 43 25 21  30 3d 26 30 31 30 30 30  |100:JC%!0=&01000|
00000500  30 3a f2 52 47 42 28 52  31 25 2c 47 31 25 2c 42  |0:.RGB(R1%,G1%,B|
00000510  31 25 29 3a f2 4c 28 58  31 2c 59 31 2c 58 41 2c  |1%):.L(X1,Y1,XA,|
00000520  59 41 2c 42 29 0d 01 7c  59 58 41 3d 28 58 31 2b  |YA,B)..|YXA=(X1+|
00000530  58 32 2a 39 39 29 2f 31  30 30 3a 59 41 3d 28 59  |X2*99)/100:YA=(Y|
00000540  31 2b 59 32 2a 39 39 29  2f 31 30 30 3a 4a 43 25  |1+Y2*99)/100:JC%|
00000550  21 30 3d 26 30 30 30 31  30 30 3a f2 52 47 42 28  |!0=&000100:.RGB(|
00000560  52 32 25 2c 47 32 25 2c  42 32 25 29 3a f2 4c 28  |R2%,G2%,B2%):.L(|
00000570  58 41 2c 59 41 2c 58 32  2c 59 32 2c 42 29 0d 01  |XA,YA,X2,Y2,B)..|
00000580  86 11 4a 43 25 21 30 3d  26 30 30 30 30 30 30 0d  |..JC%!0=&000000.|
00000590  01 90 16 e3 4e 25 3d 32  b8 4b 25 3a 4e 31 25 3d  |....N%=2.K%:N1%=|
000005a0  4b 25 2d 4e 25 0d 01 9a  41 58 41 3d 28 58 31 25  |K%-N%...AXA=(X1%|
000005b0  2a 28 4e 25 2d 32 29 2b  58 32 25 2a 28 4e 31 25  |*(N%-2)+X2%*(N1%|
000005c0  2b 32 29 29 2f 4b 25 3a  59 41 3d 28 59 31 25 2a  |+2))/K%:YA=(Y1%*|
000005d0  28 4e 25 2d 32 29 2b 59  32 25 2a 28 4e 31 25 2b  |(N%-2)+Y2%*(N1%+|
000005e0  32 29 29 2f 4b 25 0d 01  a4 2d 58 42 3d 28 58 31  |2))/K%...-XB=(X1|
000005f0  2a 4e 25 2b 58 32 2a 4e  31 25 29 2f 4b 25 3a 59  |*N%+X2*N1%)/K%:Y|
00000600  42 3d 28 59 31 2a 4e 25  2b 59 32 2a 4e 31 25 29  |B=(Y1*N%+Y2*N1%)|
00000610  2f 4b 25 0d 01 ae 41 52  25 3d 28 28 4e 25 2d 32  |/K%...AR%=((N%-2|
00000620  29 2a 52 31 25 2b 28 4e  31 25 2b 32 29 2a 52 32  |)*R1%+(N1%+2)*R2|
00000630  25 29 2f 4b 25 3a 47 25  3d 28 28 4e 25 2d 32 29  |%)/K%:G%=((N%-2)|
00000640  2a 47 31 25 2b 28 4e 31  25 2b 32 29 2a 47 32 25  |*G1%+(N1%+2)*G2%|
00000650  29 2f 4b 25 0d 01 b8 31  42 25 3d 28 28 4e 25 2d  |)/K%...1B%=((N%-|
00000660  32 29 2a 42 31 25 2b 28  4e 31 25 2b 32 29 2a 42  |2)*B1%+(N1%+2)*B|
00000670  32 25 29 2f 4b 25 3a f2  52 47 42 28 52 25 2c 47  |2%)/K%:.RGB(R%,G|
00000680  25 2c 42 25 29 0d 01 c2  15 f2 4c 28 58 41 2c 59  |%,B%).....L(XA,Y|
00000690  41 2c 58 42 2c 59 42 2c  42 29 0d 01 cc 05 ed 0d  |A,XB,YB,B)......|
000006a0  01 d6 3d 58 41 3d 28 58  31 25 2a 28 4b 25 2d 31  |..=XA=(X1%*(K%-1|
000006b0  29 2b 58 32 25 29 2f 4b  25 3a 59 41 3d 28 59 31  |)+X2%)/K%:YA=(Y1|
000006c0  25 2a 28 4b 25 2d 31 29  2b 59 32 25 29 2f 4b 25  |%*(K%-1)+Y2%)/K%|
000006d0  3a 58 42 3d 58 31 3a 59  42 3d 59 31 0d 01 e0 31  |:XB=X1:YB=Y1...1|
000006e0  52 25 3d 28 28 4b 25 2d  31 29 2a 52 31 25 2b 52  |R%=((K%-1)*R1%+R|
000006f0  32 25 29 2f 4b 25 3a 47  25 3d 28 28 4b 25 2d 31  |2%)/K%:G%=((K%-1|
00000700  29 2a 47 31 25 2b 47 32  25 29 2f 4b 25 0d 01 ea  |)*G1%+G2%)/K%...|
00000710  29 42 25 3d 28 28 4b 25  2d 31 29 2a 42 31 25 2b  |)B%=((K%-1)*B1%+|
00000720  42 32 25 29 2f 4b 25 3a  f2 52 47 42 28 52 25 2c  |B2%)/K%:.RGB(R%,|
00000730  47 25 2c 42 25 29 0d 01  f4 15 f2 4c 28 58 41 2c  |G%,B%).....L(XA,|
00000740  59 41 2c 58 42 2c 59 42  2c 42 29 0d 01 fe 05 e1  |YA,XB,YB,B).....|
00000750  0d 02 08 04 0d 02 12 16  dd f2 4c 28 58 31 2c 59  |..........L(X1,Y|
00000760  31 2c 58 32 2c 59 32 2c  42 29 0d 02 1c 0b ea 20  |1,X2,Y2,B)..... |
00000770  50 50 25 2c 57 0d 02 26  2b 58 31 3d 32 35 36 2a  |PP%,W..&+X1=256*|
00000780  58 31 3a 59 31 3d 32 35  36 2a 59 31 3a 58 32 3d  |X1:Y1=256*Y1:X2=|
00000790  32 35 36 2a 58 32 3a 59  32 3d 32 35 36 2a 59 32  |256*X2:Y2=256*Y2|
000007a0  0d 02 30 3e 50 41 54 48  25 21 50 50 25 3d 32 3a  |..0>PATH%!PP%=2:|
000007b0  50 50 25 2b 3d 34 3a 50  41 54 48 25 21 50 50 25  |PP%+=4:PATH%!PP%|
000007c0  3d 58 31 3a 50 50 25 2b  3d 34 3a 50 41 54 48 25  |=X1:PP%+=4:PATH%|
000007d0  21 50 50 25 3d 59 31 3a  50 50 25 2b 3d 34 0d 02  |!PP%=Y1:PP%+=4..|
000007e0  3a 3e 50 41 54 48 25 21  50 50 25 3d 38 3a 50 50  |:>PATH%!PP%=8:PP|
000007f0  25 2b 3d 34 3a 50 41 54  48 25 21 50 50 25 3d 58  |%+=4:PATH%!PP%=X|
00000800  32 3a 50 50 25 2b 3d 34  3a 50 41 54 48 25 21 50  |2:PP%+=4:PATH%!P|
00000810  50 25 3d 59 32 3a 50 50  25 2b 3d 34 0d 02 44 24  |P%=Y2:PP%+=4..D$|
00000820  50 41 54 48 25 21 50 50  25 3d 30 3a 50 50 25 2b  |PATH%!PP%=0:PP%+|
00000830  3d 34 3a 50 41 54 48 25  21 50 50 25 3d 50 50 25  |=4:PATH%!PP%=PP%|
00000840  0d 02 4e 0b 57 3d 32 35  36 2a 42 0d 02 58 27 c8  |..N.W=256*B..X'.|
00000850  99 22 44 72 61 77 5f 53  74 72 6f 6b 65 22 2c 50  |."Draw_Stroke",P|
00000860  41 54 48 25 2c 30 2c 30  2c 30 2c 57 2c 4a 43 25  |ATH%,0,0,0,W,JC%|
00000870  2c 30 0d 02 62 05 e1 0d  02 6c 04 0d 02 76 13 dd  |,0..b....l...v..|
00000880  f2 52 47 42 28 52 25 2c  47 25 2c 42 25 29 0d 02  |.RGB(R%,G%,B%)..|
00000890  80 25 ea 20 43 25 3a 43  25 3d 28 52 25 3c 3c 38  |.%. C%:C%=(R%<<8|
000008a0  29 2b 28 47 25 3c 3c 31  36 29 2b 28 42 25 3c 3c  |)+(G%<<16)+(B%<<|
000008b0  32 34 29 0d 02 8a 28 c8  99 20 22 43 6f 6c 6f 75  |24)...(.. "Colou|
000008c0  72 54 72 61 6e 73 5f 53  65 74 47 43 4f 4c 22 2c  |rTrans_SetGCOL",|
000008d0  43 25 2c 2c 2c 26 31 30  30 2c 30 0d 02 94 05 e1  |C%,,,&100,0.....|
000008e0  0d ff                                             |..|
000008e2