Home » Archimedes archive » Archimedes World » AW-1991-12.adf » December91 » !AWDec91/Goodies/Update/!RunImage

!AWDec91/Goodies/Update/!RunImage

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 » Archimedes World » AW-1991-12.adf » December91
Filename: !AWDec91/Goodies/Update/!RunImage
Read OK:
File size: 1AB87 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM ><Archrome$Dir>.!RunImage
   15REM Copyright Archimedes World 1991
   20ON ERROR VDU4,7:REPORT:PRINT;" at line ";ERL:END
   30SYS "OS_GetEnv" TO A$:IF RIGHT$(A$,1)<>" " THEN LF$=MID$(A$,INSTR(A$,""" ")+2) ELSE LF$=""
   40PROCsetup
   50ON ERROR PROCmakerr
   60PROCaction
   70PROCdie
   80END
   90DEFPROCsetup
  100DIM POI% 256,TAS% 2000,BLK% 1000,MENU% 8*1024,MENUIND% 8*1024,SEL% 256,ICBLK% 256,VARS 128,MENAD%(300),MENALO% 16,CODE% 6*1024,IO% 256,TRANSTAB% 256
  110MEOF%=0:MEIN%=0:MBUS%=FALSE
  120$MENALO%="A -~"
  130DIM PIC% 145*1024,SCALE% 32,PIXTAB% 256,PIXTAB2% 256,X%(8),Y%(8)
  140SPBUF%=HIMEM:SPSIZ%=0:SYS "Wimp_SlotSize",-1,-1 TO CUSL%
  150DIM PAL% 22600,OPAL% 22600,PALTAB% 512,BTC% 256,CTT% 256,TTB% 256,ROTTAB% 1800,RAND% 4096,PFILLS% 7000:!PAL%=22600:!OPAL%=22600:!PFILLS%=7000
  160DIM BRUSH% 13000:!BRUSH%=13000
  170SYS&2E,266,BRUSH%,"<Archrome$Dir>.Brushes"
  180SYS&2E,266,PAL%,"<Archrome$Dir>.Palette"
  190SYS&2E,266,OPAL%,"<Archrome$Dir>.Palette"
  200SYS&2E,266,PFILLS%,"<Archrome$Dir>.PatFills"
  210OSCLI("LOAD <Archrome$Dir>.PalTab "+STR$~PALTAB%)
  220OSCLI("LOAD <Archrome$Dir>.BTC "+STR$~BTC%):REM byte -> pal
  230OSCLI("LOAD <Archrome$Dir>.CTT "+STR$~CTT%):REM pal -> byte
  240OSCLI("LOAD <Archrome$Dir>.TTB "+STR$~TTB%):REM (col*64)+tint -> pal
  250OSCLI("LOAD <Archrome$Dir>.RotTab "+STR$~ROTTAB%)
  260OSCLI("LOAD <Archrome$Dir>.Code "+STR$~CODE%)
  270OSCLI("LOAD <Archrome$Dir>.RotTab "+STR$~ROTTAB%)
  280COL%=255:FUSE%=-1:FUST%=-1:FUCO%=0:BUTDO%=FALSE
  290$TAS%="TASK":SYS"Wimp_Initialise",200,!TAS%,"Archrome" TO HAND%
  300PROCloadsprites
  310PROCloadvars
  320!BLK%=-1:BLK%!4=0:BLK%!8=0:BLK%!12=64:BLK%!16=64:BLK%!20=&2102
  330DIM BLK%!24 10:$(BLK%!24)="!Archrome":BLK%!28=SPRITES%:BLK%!32=10
  340SYS "Wimp_CreateIcon",,BLK% TO ICHAND%
  350NOWIND%=24:NOMENS%=17
  360DIM STORE% 15*1024,BUF% 4048,HAND%(NOWIND%)
  370SOF%=STORE%
  380DATA Save,Info,Main,Palette,Airbrush,Brushes,Grid,SpriteSave,Area,Help,Linepat,Fillpat,EdBrush,EdFill,Text,Tback,FontParams,FillCont,ColRep,Frame,Pfills,RGBcont,Greyscale,Pixelate,Rotate
  390RESTORE 380
  400SYS "Wimp_OpenTemplate",,"<Archrome$Dir>.Templates"
  410FORK%=0 TO NOWIND%
  420READ A$:$IO%=A$
  430SYS "Wimp_LoadTemplate",,BUF%,SOF%,STORE%+(15*1024),-1,IO%,0 TO ,,SOF%
  440IF K%=2 THEN BUF%?35=&FF
  450SYS "Wimp_CreateWindow",,BUF% TO HAND%(K%):NEXT
  460SYS "Wimp_CloseTemplate"
  470FORL%=15 TO 46:PROCshadeicon(10,L%):NEXT
  480PROCseticon(13,44,"16")
  490VDU23,6,0|
  500PROCsystemvars
  510PROCchars
  520PROCloadfonts
  530PROCbuildmainmenu:PROCbuildiconmenu
  540ENDPROC
  550
  560DEFPROCsystemvars
  570!PIC%=145*1024
  580PIC%!4=0
  590PIC%!8=24
  600PIC%!12=24
  610REM IF L%=0 THEN SYS&2E,266,PIC%,"<Archrome$Dir>.Test"
  620SYS &2E,271,PIC%,"PIC",0,618,234,15
  630PIC$="<Untitled>"
  640REM IF LF$<>"" THEN OSCLI("LOAD "+LF$+" "+STR$~(PIC%+4)):PIC$=FNleaf(LF$):PROCseticon(0,1,LF$) ELSE PIC$="<Untitled>"
  650ESM%=-1:EPM%=-1
  660GRCO%=-1:GRTI%=-1:GRLO%=FALSE:GRWI%=1:GRHE%=1:GRBX%=0:GRBY%=0
  670GRXM%=1:GRXD%=1:GRYM%=1:GRYD%=1:GRFX%=FALSE:GRFY%=FALSE
  680ZOOM%=1
  690USE%=0:LITY%=5:GRMA%=FALSE
  700DIM PAT%(5):PAT%()=0:PALE%=8
  710DIM ECF%(8,4):ECF%()=0:ROT%=0
  720DIM GRFI%(15,1,4):GRFI%()=0
  730FIFC%=63:FIFT%=192:FILC%=3:FILT%=192:FILR%=0
  740IP%=FALSE
  750SELBR%=1:BXM%=1:BXD%=1:BYM%=1:BYD%=1
  760EDBR%=1:IDRAG%=FALSE:CPF%=1
  770PROCopenmain
  780PROCwindname(2,PIC$)
  790DIM TRASP% 256, REPS% 256
  800FORL%=0 TO 255:REPS%?L%=L%:NEXT
  810FORL%=0 TO 252 STEP 4:TRASP%!L%=0:NEXT
  820DIM FONT$(255),FONTT$(64)
  830FONTB%=0:SREP%=255
  840MMX%=1:MMY%=1:MOP%=FALSE:KUKE%=FALSE:KUKD%=0:KUKL%=-1
  850ENDPROC
  860
  870DEFPROCloadvars
  880F%=OPENIN("<Archrome$Dir>.Vars")
  890INPUT#F%,backuppic,fillmask,getpicbyte,getbrushbyte,setpicbyte,pixaverage,tintarea,averagebrush,tintbrush,findchangebox,graduatedfill,colrep,patfill,rgbcont,greyscale,rotate,transarea
  900CLOSE#F%
  910backuppic+=CODE%:fillmask+=CODE%:getpicbyte+=CODE%:getbrushbyte+=CODE%:setpicbyte+=CODE%:pixaverage+=CODE%:tintarea+=CODE%:averagebrush+=CODE%:tintbrush+=CODE%:findchangebox+=CODE%:graduatedfill+=CODE%:colrep+=CODE%
  920patfill+=CODE%:rgbcont+=CODE%:greyscale+=CODE%:rotate+=CODE%:transarea+=CODE%
  930ENDPROC
  940
  950DEFPROCloadfonts
  960N%=-1
  970FONT$(0)="System Font"
  980SYS "XOS_ReadVarVal","Font$Path",IO%,256,,3 TO ,,N% ;err%
  990IF (err% AND 1) THEN FONTS%=0:ENDPROC
 1000FP%=0:FONTS%=0
 1010REPEAT
 1020SYS "Font_ListFonts",,IO%,FP%,-1 TO ,,FP%
 1030FONT$(FONTS%+1)=$IO%:FONTS%+=1
 1040UNTIL FP%=-1
 1050FONTS%-=1
 1060SYS "Font_ReadFontMax" TO B%,C%,D%,E%,F%,G%
 1070PROCseticon(16,12,STR$(B% DIV 1024)):PROCseticon(16,13,STR$(C% DIV 1152)):PROCseticon(16,14,STR$(D% DIV 1152)):PROCseticon(16,15,STR$(E% DIV 1152)):PROCseticon(16,16,STR$(F% DIV 1152)):PROCseticon(16,17,STR$(G% DIV 1152))
 1080ENDPROC
 1090
 1100DEFPROCloadsprites
 1110DIM SPRITES% 2000
 1120!SPRITES%=2000:SPRITES%!4=0:SPRITES%!8=16:SPRITES%!12=16:SYS &2E,266,SPRITES%,"<Archrome$Dir>.!Sprites"
 1130ENDPROC
 1140
 1150DEFPROCaction
 1160REPEAT
 1170PROCpoll
 1180UNTIL (REAS%=17 OR REAS%=18) AND BLK%!16=0
 1190ENDPROC
 1200
 1210DEFPROCdie:OP%=0:PROCspbuf(0)
 1220SYS "Wimp_CloseDown",HAND%,!TAS%
 1230END
 1240ENDPROC
 1250
 1260DEFPROCpoll
 1270SYS "Wimp_GetPointerInfo",,BLK%
 1280IF BLK%!12<>HAND%(2) THEN MBUS%=TRUE
 1290!BLK%=%10011111110100110000
 1300SYS "Wimp_Poll",0,BLK% TO REAS%
 1310IF REAS%>-1 THEN PROCact
 1320ENDPROC
 1330DEFPROCact
 1340CASE REAS% OF
 1350WHEN 0:PROCkuke:PROCpicpoll
 1360WHEN 1:PROCredraw
 1370WHEN 2:PROCopmain
 1380WHEN 3:PROCclmain
 1390WHEN 6:PROCmouse
 1400WHEN 9:PROCmenu
 1410WHEN 7:PROCdragfin
 1420WHEN 17,18:PROCinmessage(BLK%!16)
 1430ENDCASE
 1440ENDPROC
 1450
 1460DEFPROCkuke:IF NOT KUKE% THEN ENDPROC
 1470KULI%=10
 1480MOUSE MX%,MY%,MH%:KP%=FALSE
 1490IF NOT INKEY(-58) THEN 1530
 1500IF KUKL%<>-58 THEN KUKL%=-58:KUKD%=0:MY%+=4:KP%=TRUE:GOTO 1530
 1510KUKD%+=1:IF KUKD%<KULI% THEN KP%=TRUE:GOTO 1530
 1520KUKD%=KULI%:MY%+=4:KP%=TRUE
 1530IF NOT INKEY(-42) THEN 1570
 1540IF KUKL%<>-58 THEN KUKL%=-58:KUKD%=0:MY%-=4:KP%=TRUE:GOTO 1570
 1550KUKD%+=1:IF KUKD%<KULI% THEN KP%=TRUE:GOTO 1570
 1560KUKD%=KULI%:MY%-=4:KP%=TRUE
 1570IF NOT INKEY(-26) THEN 1610
 1580IF KUKL%<>-58 THEN KUKL%=-58:KUKD%=0:MX%-=2:KP%=TRUE:GOTO 1610
 1590KUKD%+=1:IF KUKD%<KULI% THEN KP%=TRUE:GOTO 1610
 1600KUKD%=KULI%:MX%-=2:KP%=TRUE
 1610IF NOT INKEY(-122) THEN 1650
 1620IF KUKL%<>-58 THEN KUKL%=-58:KUKD%=0:MX%+=2:KP%=TRUE:GOTO 1650
 1630KUKD%+=1:IF KUKD%<KULI% THEN KP%=TRUE:GOTO 1650
 1640KUKD%=KULI%:MX%+=2:KP%=TRUE
 1650IF NOT KP% THEN KUKL%=-1:KUKD%=0
 1660MOUSE TO MX%,MY%
 1670ENDPROC
 1680
 1690DEFPROCredraw
 1700CASE !BLK% OF
 1710WHEN HAND%(2):PROCredrawmain
 1720WHEN HAND%(3):PROCredrawpal
 1730WHEN HAND%(5):PROCredrawbrush
 1740WHEN HAND%(11):PROCredrawpat
 1750WHEN HAND%(12):PROCredrawedbru
 1760WHEN HAND%(13):PROCredrawfill
 1770WHEN HAND%(15):PROCredrawtback
 1780WHEN HAND%(18):PROCredrawcolrep
 1790WHEN HAND%(20):PROCredrawpatfill
 1800ENDCASE
 1810ENDPROC
 1820
 1830DEFPROCredrawbrush
 1840SYS "Wimp_RedrawWindow",,BLK% TO FIN%
 1850PROCgetbrushor
 1860WHILE FIN%:PROCplotbrushes:SYS "Wimp_GetRectangle",,BLK% TO FIN%
 1870ENDWHILE
 1880ENDPROC
 1890
 1900DEFPROCredrawedbru
 1910SYS "Wimp_RedrawWindow",,BLK% TO FIN%
 1920PROCgetedbruor
 1930WHILE FIN%:PROCplotedbru:SYS "Wimp_GetRectangle",,BLK% TO FIN%
 1940ENDWHILE
 1950ENDPROC
 1960
 1970DEFPROCredrawpatfill
 1980SYS "Wimp_RedrawWindow",,BLK% TO FIN%
 1990PROCgetpatfillor
 2000WHILE FIN%:PROCplotpatfill:SYS "Wimp_GetRectangle",,BLK% TO FIN%
 2010ENDWHILE
 2020ENDPROC
 2030
 2040DEFPROCforcedrawpatfill:SYS "Wimp_ForceRedraw",HAND%(20),0,-108,1100,0:ENDPROC
 2050
 2060DEFPROCforcedrawedbru(x1%,y1%,x2%,y2%)
 2070!BLK%=HAND%(12)
 2080BLK%!4=x1%
 2090BLK%!8=y1%
 2100BLK%!12=x2%
 2110BLK%!16=y2%
 2120SYS "Wimp_UpdateWindow",,BLK% TO FIN%
 2130PROCgetedbruor
 2140WHILE FIN%
 2150PROCplotedbru
 2160SYS "Wimp_GetRectangle",,BLK% TO FIN%
 2170ENDWHILE
 2180ENDPROC
 2190
 2200DEFPROCforcedrawbrush
 2210!BLK%=HAND%(5)
 2220BLK%!4=0
 2230BLK%!8=-260
 2240BLK%!12=384
 2250BLK%!16=0
 2260SYS "Wimp_UpdateWindow",,BLK% TO FIN%
 2270PROCgetbrushor
 2280WHILE FIN%
 2290PROCplotbrushes
 2300SYS "Wimp_GetRectangle",,BLK% TO FIN%
 2310ENDWHILE
 2320ENDPROC
 2330
 2340DEFPROCplot256sprite(SPA%,SPI$,POX%,POY%)
 2350IF MODE<>15 THEN GOTO 2370
 2360!SCALE%=1:SCALE%!4=1:SCALE%!8=1:SCALE%!12=1:SYS "OS_SpriteOp",290,SPA%,SPI$,POX%,POY%:ENDPROC
 2370IF MODE<>ESM% THEN ESM%=MODE:EPM%=MODE:SYS&40740,15,0,-1,-1,PIXTAB%
 2380SYS&35,-1,4 TO ,,E%
 2390IF E%<1 THEN SX%=2^(1-E%):!SCALE%=SX%:SCALE%!8=1 ELSE SX%=2^(E%-1):!SCALE%=1:SCALE%!8=SX%
 2400SCALE%!4=1:SCALE%!12=1
 2410SYS "OS_SpriteOp",308,SPA%,SPI$,POX%,POY%,0,SCALE%,PIXTAB%
 2420ENDPROC
 2430
 2440DEFPROCplotpatfill
 2450FORL%=1 TO 12:PROCplot256sprite(PFILLS%,STR$L%,WOX%+((L%-1)*84)+24,WOY%+12):IF CPF%=L% THEN PROCcol(0,0,0):RECTANGLE WOX%+((CPF%-1)*84)+16,WOY%+4,78,76:RECTANGLE WOX%+((CPF%-1)*84)+18,WOY%+4,74,76
 2460NEXT
 2470ENDPROC
 2480
 2490DEFPROCplotbrushes
 2500FORL%=1 TO 12
 2510BLK%!400=HAND%(5):BLK%!404=L%-1:SYS "Wimp_GetIconState",,BLK%+400
 2520PROCplot256sprite(BRUSH%,STR$L%,WOX%+(BLK%!408)+2,WOY%+(260+(BLK%!412))+4)
 2530IF SELBR%=L% THEN PROCcol(48,192,3):RECTANGLE FILL WOX%+(BLK%!408)+2,WOY%+(260+(BLK%!412))+4,64,60
 2540NEXT
 2550ENDPROC
 2560
 2570DEFPROCplotedbru
 2580FORL%=1 TO 12
 2590BLK%!400=HAND%(12):BLK%!404=L%-1:SYS "Wimp_GetIconState",,BLK%+400
 2600PROCplot256sprite(BRUSH%,STR$L%,WOX%+((L%-1)*64)+32,WOY%+20)
 2610IF EDBR%=L% THEN PROCcol(48,192,3):RECTANGLE FILL WOX%+((L%-1)*64)+32,WOY%+20,64,60
 2620NEXT
 2630!SCALE%=(!SCALE%)*12:SCALE%!4=8
 2640IF MODE<>15 THEN SYS "OS_SpriteOp",308,BRUSH%,STR$EDBR%,WOX%+28,WOY%+112,0,SCALE%,PIXTAB% ELSE SYS "OS_SpriteOp",308,BRUSH%,STR$EDBR%,WOX%+28,WOY%+112,0,SCALE%
 2650EX%=WOX%+28:EY%=WOY%+112:PROCcol(21,192,0):FORL%=0 TO 32:LINE EX%+(L%*24),EY%,EX%+(L%*24),EY%+512:NEXT:FORL%=0 TO 16:LINE EX%,EY%+(L%*32),EX%+768,EY%+(L%*32):NEXT
 2660ENDPROC
 2670
 2680DEFPROCforcedrawmain
 2690!BLK%=HAND%(2)
 2700BLK%!4=0
 2710BLK%!8=-936*ZOOM%
 2720BLK%!12=1236*ZOOM%
 2730BLK%!16=0
 2740SYS "Wimp_UpdateWindow",,BLK% TO FIN%
 2750PROCgetor
 2760WHILE FIN%
 2770PROCplotpic
 2780SYS "Wimp_GetRectangle",,BLK% TO FIN%
 2790ENDWHILE
 2800ENDPROC
 2810
 2820DEFPROCquickdrawmain:IF NOT VACB% THEN ENDPROC
 2830!BLK%=HAND%(2)
 2840BLK%!4=CBMINX%
 2850BLK%!8=CBMINY%
 2860BLK%!12=CBMAXX%
 2870BLK%!16=CBMAXY%
 2880SYS "Wimp_UpdateWindow",,BLK% TO FIN%
 2890PROCgetor
 2900WHILE FIN%
 2910PROCplotpic
 2920SYS "Wimp_GetRectangle",,BLK% TO FIN%
 2930ENDWHILE
 2940ENDPROC
 2950
 2960DEFPROCinpic:IF IP% THEN ENDPROC
 2970IP%=TRUE
 2980SYS "OS_SpriteOp",316,PIC%,"PIC" TO V1,V2,V3,V4
 2990SYS "OS_ChangedBox",2
 3000SYS "OS_ChangedBox",1
 3010REM GCOL3,63:LINE 300,300,320,320:LINE 300,300,320,320
 3020VDU23,6:FORL%=1 TO 5:VDU PAT%(L%):NEXT:VDU 0|
 3030SYS6,163,242,PALE%
 3040ENDPROC
 3050
 3060DEFPROCinbackup:SYS "OS_SpriteOp",316,SPBUF%,"PIC" TO B1,B2,B3,B4:ENDPROC
 3070
 3080DEFPROCinsprite(ma%,sa%,sn$):SYS &2E,316+ma%,sa%,sn$ TO IS1,IS2,IS3,IS4:ENDPROC
 3090
 3100DEFPROCoutsprite:SYS &2E,IS1,IS2,IS3,IS4:ENDPROC
 3110
 3120DEFPROCoutbackup:SYS "OS_SpriteOp",B1,B2,B3,B4:ENDPROC
 3130
 3140DEFPROCoutpic:IF NOT IP% THEN ENDPROC
 3150IP%=FALSE
 3160SYS "OS_ChangedBox",-1 TO ,CBA%
 3170IF SGN(CBA%!4)=-1 OR SGN(CBA%!8)=-1 OR SGN(CBA%!12)=-1 OR SGN(CBA%!16)=-1 THEN VACB%=FALSE:SYS "OS_ChangedBox":SYS "OS_SpriteOp",V1,V2,V3,V4:ENDPROC ELSE VACB%=TRUE
 3180CBMINX%=CBA%!4:CBMINX%=CBMINX%*ZOOM%*2
 3190CBMINY%=CBA%!8:CBMINY%=(-936+(CBMINY%*4))*ZOOM%
 3200CBMAXX%=CBA%!12:CBMAXX%=CBMAXX%*ZOOM%*2
 3210CBMAXY%=CBA%!16:CBMAXY%=(-936+(CBMAXY%*4))*ZOOM%
 3220CBMAXX%+=4*ZOOM%
 3230CBMAXY%+=4*ZOOM%
 3240SYS "OS_ChangedBox"
 3250SYS "OS_SpriteOp",V1,V2,V3,V4
 3260ENDPROC
 3270
 3280DEFPROCredrawmain
 3290IF FUSE%=32 THEN
 3300IF FONT%<>0 AND EFM%<>-1 THEN
 3310IF MODE<>EFM% THEN PROCinpic:SYS "ColourTrans_SetFontColours",FHAND%,BPAL%,FPAL%,14:PROCoutpic:EFM%=MODE
 3320ENDIF
 3330ENDIF
 3340SYS "Wimp_RedrawWindow",,BLK% TO FIN%
 3350PROCgetor
 3360WHILE FIN%:PROCplotpic:SYS "Wimp_GetRectangle",,BLK% TO FIN%
 3370ENDWHILE
 3380ENDPROC
 3390
 3400DEFPROCplotpic
 3410IF MODE=15 AND ZOOM%=1 THEN SYS "OS_SpriteOp",290,PIC%,"PIC",WOX%,WOY%:PROCgrid:ENDPROC
 3420IF MODE<>ESM% THEN ESM%=MODE:EPM%=MODE:SYS&40740,15,0,-1,-1,PIXTAB%
 3430SYS&35,-1,4 TO ,,E%
 3440IF E%<1 THEN SX%=2^(1-E%):!SCALE%=SX%:SCALE%!8=1 ELSE SX%=2^(E%-1):!SCALE%=1:SCALE%!8=SX%
 3450!SCALE%=(!SCALE%)*ZOOM%
 3460SCALE%!4=ZOOM%
 3470SCALE%!12=1
 3480IF MODE=15 THEN TPIXTAB%=0 ELSE TPIXTAB%=PIXTAB%
 3490SYS "OS_SpriteOp",308,PIC%,"PIC",WOX%,WOY%,0,SCALE%,TPIXTAB%:PROCgrid:ENDPROC
 3500
 3510DEFPROCgrid:IF GRCO%=-1 OR (2*GRWI%*ZOOM%)<16 OR (4*GRHE%*ZOOM%)<16 THEN ENDPROC
 3520PROCgridcol
 3530LOCAL X%,Y%
 3540X%=(((BLK%!28)-WOX%) DIV (ZOOM%*(2*GRWI%)))*(2*GRWI%*ZOOM%)
 3550Y%=(((BLK%!32)-WOY%) DIV (ZOOM%*(4*GRHE%)))*(4*GRHE%*ZOOM%)
 3560XOF%=(GRWI%-GRBX%)*2*ZOOM%
 3570YOF%=(GRHE%-GRBY%)*4*ZOOM%
 3580X%+=WOX%-XOF%
 3590Y%+=WOY%-YOF%
 3600REPEAT:LINE X%,(BLK%!32),X%,(BLK%!40):X%+=(2*GRWI%*ZOOM%):UNTIL X%>(BLK%!36)
 3610REPEAT:LINE (BLK%!28),Y%,(BLK%!36),Y%:Y%+=(4*GRHE%*ZOOM%):UNTIL Y%>(BLK%!40)
 3620ENDPROC
 3630
 3640DEFPROCplotpal(PTU%)
 3650PROCcol(63,192,0)
 3660REM VDU4:PRINT WOX%,WOY%
 3670IF MODE<>15 THEN GOTO 3700
 3680SYS "OS_SpriteOp",290,PTU%,"Palette",WOX%,WOY%:IF PTU%=PAL% THEN RECTANGLE WOX%+((COL% MOD 32)*24),WOY%+((COL% DIV 32)*28),24,28
 3690ENDPROC
 3700IF MODE<>EPM% THEN ESM%=MODE:EPM%=MODE:SYS&40740,15,0,-1,-1,PIXTAB%
 3710SYS&35,-1,4 TO ,,E%
 3720IF E%<1 THEN SX%=2^(1-E%):!SCALE%=SX%:SCALE%!8=1 ELSE SX%=2^(E%-1):!SCALE%=1:SCALE%!8=SX%
 3730SCALE%!4=1
 3740SCALE%!12=1
 3750SYS "OS_SpriteOp",308,PTU%,"Palette",WOX%,WOY%,0,SCALE%,PIXTAB%
 3760IF PTU%=PAL% THEN RECTANGLE WOX%+((COL% MOD 32)*24),WOY%+((COL% DIV 32)*28),24,28
 3770ENDPROC
 3780
 3790DEFPROCtrasp(TC%)
 3800TRASP%?TC%=(TRASP%?TC%) EOR 1
 3810SYS "OS_SpriteOp",316,PAL%,"Palette" TO V1,V2,V3,V4
 3820TX%=((TC% MOD 32)*24):TY%=((TC% DIV 32)*28)
 3830IF (TRASP%?TC%)=0 THEN GCOL0,PALTAB%?(TC%*2) TINT PALTAB%?((TC%*2)+1) ELSE PROCanticol(PALTAB%?(TC%*2),PALTAB%?((TC%*2)+1),0)
 3840LINE TX%+6,TY%+20,TX%+18,TY%+20:LINE TX%+12,TY%+8,TX%+12,TY%+20
 3850SYS "OS_SpriteOp",V1,V2,V3,V4
 3860ENDPROC
 3870
 3880DEFPROCredrawpal
 3890SYS "Wimp_RedrawWindow",,BLK% TO FIN%
 3900PROCgetpalor
 3910WHILE FIN%:PROCplotpal(PAL%):SYS "Wimp_GetRectangle",,BLK% TO FIN%
 3920ENDWHILE
 3930ENDPROC
 3940
 3950DEFPROCredrawtback
 3960SYS "Wimp_RedrawWindow",,BLK% TO FIN%
 3970PROCgetpalor
 3980WHILE FIN%:PROCplotpal(OPAL%)
 3990PROCcol(63,192,0):RECTANGLE WOX%+((FONTB% MOD 32)*24),WOY%+((FONTB% DIV 32)*28),24,28
 4000SYS "Wimp_GetRectangle",,BLK% TO FIN%
 4010ENDWHILE
 4020ENDPROC
 4030
 4040DEFPROCredrawcolrep
 4050SYS "Wimp_RedrawWindow",,BLK% TO FIN%
 4060PROCgetpalor:WOY%-=328
 4070WHILE FIN%:WOY%+=290:PROCplotpal(OPAL%):PROCcol(0,0,0):LINE WOX%,WOY%+224,WOX%+770,WOY%+224:WOY%-=290
 4080PROCplotpal(SPBUF%):PROCcol(0,0,0):LINE WOX%,WOY%+224,WOX%+770,WOY%+224
 4090PROCcol(63,192,0):RECTANGLE WOX%+((SREP% MOD 32)*24),WOY%+((SREP% DIV 32)*28),24,28
 4100SYS "Wimp_GetRectangle",,BLK% TO FIN%
 4110ENDWHILE
 4120ENDPROC
 4130
 4140DEFPROCforcedrawcolrep
 4150!BLK%=HAND%(18)
 4160BLK%!4=0
 4170BLK%!8=-556
 4180BLK%!12=770
 4190BLK%!16=0
 4200SYS "Wimp_UpdateWindow",,BLK% TO FIN%
 4210PROCgetpalor:WOY%-=328
 4220WHILE FIN%
 4230WOY%+=290:PROCplotpal(OPAL%):PROCcol(0,0,0):LINE WOX%,WOY%+224,WOX%+770,WOY%+224:WOY%-=290
 4240PROCplotpal(SPBUF%):PROCcol(0,0,0):LINE WOX%,WOY%+224,WOX%+770,WOY%+224
 4250PROCcol(63,192,0):RECTANGLE WOX%+((SREP% MOD 32)*24),WOY%+((SREP% DIV 32)*28),24,28
 4260SYS "Wimp_GetRectangle",,BLK% TO FIN%
 4270ENDWHILE
 4280ENDPROC
 4290
 4300DEFFNcecf
 4310IF FNhigh(11,18) THEN =1
 4320IF FNhigh(11,19) THEN =2
 4330IF FNhigh(11,20) THEN =3
 4340IF FNhigh(11,21) THEN =4
 4350=0
 4360
 4370DEFPROCredrawpat
 4380SYS "Wimp_RedrawWindow",,BLK% TO FIN%
 4390PROCgetpator
 4400WHILE FIN%:PROCplotpal(OPAL%):PROCcol(0,0,0):LINE WOX%,WOY%+224,WOX%+770,WOY%+224
 4410CECF%=FNcecf:FORK%=0 TO 7:L%=ECF%(K%+1,CECF%)
 4420PE%=BTC%?L%:PROCcol(PALTAB%?(PE%*2),PALTAB%?((PE%*2)+1),0):RECTANGLE FILL WOX%-146,(WOY%+276)-(K%*40),38,36
 4430NEXT
 4440SYS "Wimp_GetRectangle",,BLK% TO FIN%
 4450ENDWHILE
 4460ENDPROC
 4470
 4480DEFFNgrafilno
 4490IF FNhigh(13,17) THEN =0
 4500IF FNhigh(13,18) THEN =1
 4510IF FNhigh(13,19) THEN =2
 4520IF FNhigh(13,20) THEN =3
 4530IF FNhigh(13,21) THEN =4
 4540=-1
 4550
 4560DEFPROCredrawfill
 4570SYS "Wimp_RedrawWindow",,BLK% TO FIN%
 4580PROCgetpator:WOY%-=140:WOX%-=140
 4590WHILE FIN%:WOY%+=232:WOX%+=380:PROCplotpal(OPAL%):PROCcol(0,0,0):LINE WOX%,WOY%+224,WOX%+770,WOY%+224:WOX%-=140:WOY%-=140
 4600FIX%=WOX%+200:GRFIN%=FNgrafilno:FORL%=0 TO 15:IF GRFIN%<>-1 THEN PROCcol(GRFI%(L%,0,GRFIN%),GRFI%(L%,1,GRFIN%),0) ELSE PROCcol(0,0,0)
 4610RECTANGLE FILL FIX%,WOY%-28,42,32:FIX%+=44:NEXT
 4620SYS "Wimp_GetRectangle",,BLK% TO FIN%
 4630ENDWHILE
 4640ENDPROC
 4650
 4660DEFPROCforcedrawfill
 4670!BLK%=HAND%(13)
 4680BLK%!4=0
 4690BLK%!8=-500
 4700BLK%!12=1200
 4710BLK%!16=-360
 4720SYS "Wimp_UpdateWindow",,BLK% TO FIN%
 4730PROCgetpator:WOY%-=48:WOX%+=100
 4740FIX%=WOX%+200:GRFIN%=FNgrafilno:FORL%=0 TO 15:IF GRFIN%<>-1 THEN PROCcol(GRFI%(L%,0,GRFIN%),GRFI%(L%,1,GRFIN%),0) ELSE PROCcol(0,0,0)
 4750RECTANGLE FILL FIX%,WOY%-28,42,32:FIX%+=44:NEXT
 4760WHILE FIN%
 4770SYS "Wimp_GetRectangle",,BLK% TO FIN%
 4780ENDWHILE
 4790ENDPROC
 4800
 4810DEFPROCforcedrawpat
 4820!BLK%=HAND%(11)
 4830BLK%!4=0
 4840BLK%!8=-356
 4850BLK%!12=100
 4860BLK%!16=0
 4870SYS "Wimp_UpdateWindow",,BLK% TO FIN%
 4880PROCgetpator
 4890WHILE FIN%
 4900PROCplotpal(OPAL%):PROCcol(0,0,0):LINE WOX%,WOY%+224,WOX%+770,WOY%+224
 4910CECF%=FNcecf
 4920FOR RK%=0 TO 7
 4930L%=ECF%(RK%+1,CECF%)
 4940PE%=BTC%?L%:PROCcol(PALTAB%?(PE%*2),PALTAB%?((PE%*2)+1),0):RECTANGLE FILL WOX%-146,(WOY%+276)-(RK%*40),38,36
 4950RECTANGLE FILL WOX%-146,(WOY%+276)-(RK%*40),38,36
 4960NEXT
 4970SYS "Wimp_GetRectangle",,BLK% TO FIN%
 4980ENDWHILE
 4990ENDPROC
 5000
 5010DEFFNctb(co%,ti%):by%=-1:FORL%=0 to 255
 5020
 5030DEFPROCdrawpicinit
 5040!BLK%=HAND%(2)
 5050BLK%!4=0
 5060BLK%!8=-936
 5070BLK%!12=1236
 5080BLK%!16=0
 5090SYS "Wimp_UpdateWindow",,BLK% TO FIN%
 5100PROCgetor
 5110ENDPROC
 5120
 5130DEFPROCforcedrawpal(PTU%)
 5140!BLK%=HAND%(3)
 5150BLK%!4=0
 5160BLK%!8=-228
 5170BLK%!12=770
 5180BLK%!16=0
 5190SYS "Wimp_UpdateWindow",,BLK% TO FIN%
 5200PROCgetpalor
 5210WHILE FIN%
 5220PROCplotpal(PTU%)
 5230SYS "Wimp_GetRectangle",,BLK% TO FIN%
 5240ENDWHILE
 5250ENDPROC
 5260
 5270DEFPROCforcedrawtback
 5280!BLK%=HAND%(15)
 5290BLK%!4=0
 5300BLK%!8=-228
 5310BLK%!12=770
 5320BLK%!16=0
 5330SYS "Wimp_UpdateWindow",,BLK% TO FIN%
 5340PROCgetpalor
 5350WHILE FIN%
 5360PROCplotpal(OPAL%)
 5370PROCcol(63,192,0):RECTANGLE WOX%+((FONTB% MOD 32)*24),WOY%+((FONTB% DIV 32)*28),24,28
 5380SYS "Wimp_GetRectangle",,BLK% TO FIN%
 5390ENDWHILE
 5400ENDPROC
 5410
 5420DEFPROCgetpalor
 5430WOX%=BLK%!4-BLK%!20
 5440WOY%=(BLK%!16-BLK%!24)-228
 5450ENDPROC
 5460
 5470DEFPROCgetpator
 5480WOX%=(BLK%!4-BLK%!20)+180
 5490WOY%=(BLK%!16-BLK%!24)-340
 5500ENDPROC
 5510
 5520DEFPROCpicpoll
 5530SYS "Wimp_GetPointerInfo",,BLK%
 5540REM VDU4:PRINTTAB(0,0);MBUS%;",";BLK%!8;"  ":VDU5
 5550IF MBUS% AND BLK%!8<>0 THEN ENDPROC ELSE MBUS%=FALSE
 5560IF BLK%!12<HAND%(0) OR BLK%!12>HAND%(NOWIND%) THEN IDRAG%=(BLK%!8<>0)
 5570IF BLK%!8=0 THEN IDRAG%=FALSE
 5580REM VDU4:PRINTTAB(0,0);BLK%!16;"   "
 5590IF BLK%!12<>HAND%(2) OR BLK%!16<>-1 THEN ENDPROC
 5600IF BLK%!8<>0 AND IDRAG% THEN ENDPROC
 5610X%=!BLK%:Y%=BLK%!4:BUT%=BLK%!8
 5620IF BUT%=2 THEN ENDPROC
 5630CASE FUSE% OF
 5640WHEN 1:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:GOTO 8290
 5650IF BUT%=0 OR FUST%=0 THEN FUST%=0:GOTO 8290
 5660PROCpicpos:PROCinpic:PROCsetcol:PROCl(X%(0),Y%(0),X%,Y%):PROCoutpic
 5670PROCquickdrawmain
 5680X%(0)=X%:Y%(0)=Y%
 5690WHEN 2:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:GCOL3,63 TINT 192:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain:GOTO 8290
 5700IF FUST%=0 THEN GOTO 8290
 5710IF BUT%=1 THEN PROCinpic:GCOL3,63 TINT 192:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:X%(0)=X%:Y%(0)=Y%:OX%=X%:OY%=Y%:FUST%=1:GCOL3,63 TINT 192:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain:GOTO 8290
 5720IF BUT%=4 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:PROCsetcol:PROCl(X%(0),Y%(0),X%,Y%):X%(0)=X%:Y%(0)=Y%:OX%=X%:OY%=Y%:PROCeoc:LINE X%(0),Y%(0),X%,Y%:PROCoutpic:PROCquickdrawmain:GOTO 8290
 5730PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 5740PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(0),Y%(0),X%,Y%:PROCoutpic:PROCquickdrawmain
 5750WHEN 4:IF FUST%=0 THEN PROCpaintscale:PROCpicpos:PROCinpic:PROCeorback:PROCpaintbrush(X%,Y%):PROCoutpic:PROCquickdrawmain:OX%=X%:OY%=Y%:FUST%=1:GOTO 8290
 5760PROCpicpos
 5770IF X%<>OX% OR Y%<>OY% THEN PROCpaintscale:PROCinpic:PROCeorback:PROCpaintbrush(OX%,OY%):PROCpaintbrush(X%,Y%):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain
 5780WHEN 5:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain:GOTO 8290
 5790IF FUST%=0 THEN GOTO 8290
 5800IF BUT%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 5810IF BUT%=4 AND (OX%<>X%(0) OR OY%<>Y%(0)) THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCpicpos:PROCsetcol:PROCr(X%(0),Y%(0),X%-X%(0),Y%-Y%(0)):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=0:GOTO 8290
 5820PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 5830PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):OX%=X%:OY%=Y%:RECTANGLE X%(0),Y%(0),X%-X%(0),Y%-Y%(0):PROCoutpic:PROCquickdrawmain
 5840WHEN 6:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:RECTANGLE FILL X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain:GOTO 8290
 5850IF FUST%=0 THEN GOTO 8290
 5860IF BUT%=1 THEN PROCinpic:PROCeoc:RECTANGLE FILL X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 5870IF BUT%=4 AND (OX%<>X%(0) OR OY%<>Y%(0)) THEN PROCinpic:PROCeoc:RECTANGLE FILL X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCpicpos:PROCsetcol:RECTANGLE FILL X%(0),Y%(0),X%-X%(0),Y%-Y%(0):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=0:GOTO 8290
 5880PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 5890PROCinpic:PROCeoc:RECTANGLE FILL X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):OX%=X%:OY%=Y%:RECTANGLE FILL X%(0),Y%(0),X%-X%(0),Y%-Y%(0):PROCoutpic:PROCquickdrawmain
 5900WHEN 7:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:CIRCLE X%(0),Y%(0),FNdist(OX%,OY%):PROCoutpic:PROCquickdrawmain:GOTO 8290
 5910IF FUST%=0 THEN GOTO 8290
 5920IF BUT%=1 THEN PROCinpic:PROCeoc:CIRCLE X%(0),Y%(0),FNdist(OX%,OY%):PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 5930IF BUT%=4 AND (OX%<>X%(0) OR OY%<>Y%(0)) THEN PROCinpic:PROCeoc:CIRCLE X%(0),Y%(0),FNdist(OX%,OY%):PROCpicpos:PROCsetcol:CIRCLE X%(0),Y%(0),FNdist(X%,Y%):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=0:GOTO 8290
 5940PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 5950PROCinpic:PROCeoc:CIRCLE X%(0),Y%(0),FNdist(OX%,OY%):OX%=X%:OY%=Y%:CIRCLE X%(0),Y%(0),FNdist(X%,Y%):PROCoutpic:PROCquickdrawmain
 5960WHEN 8:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:CIRCLE FILL X%(0),Y%(0),FNdist(OX%,OY%):PROCoutpic:PROCquickdrawmain:GOTO 8290
 5970IF FUST%=0 THEN GOTO 8290
 5980IF BUT%=1 THEN PROCinpic:PROCeoc:CIRCLE FILL X%(0),Y%(0),FNdist(OX%,OY%):PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 5990IF BUT%=4 AND (OX%<>X%(0) OR OY%<>Y%(0)) THEN PROCinpic:PROCeoc:CIRCLE FILL X%(0),Y%(0),FNdist(OX%,OY%):PROCpicpos:PROCsetcol:CIRCLE FILL X%(0),Y%(0),FNdist(X%,Y%):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=0:GOTO 8290
 6000PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 6010PROCinpic:PROCeoc:CIRCLE FILL X%(0),Y%(0),FNdist(OX%,OY%):OX%=X%:OY%=Y%:CIRCLE FILL X%(0),Y%(0),FNdist(X%,Y%):PROCoutpic:PROCquickdrawmain
 6020WHEN 9:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain:GOTO 8290
 6030IF FUST%=0 THEN GOTO 8290
 6040IF BUT%=1 AND FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6050IF BUT%=1 AND FUST%=2 THEN PROCinpic:PROCeoc:PROCtri(5,OX%,OY%):PROCpicpos:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6060IF BUT%=4 AND (OX%<>X%(0) OR OY%<>Y%(0)) AND FUST%=1 THEN PROCinpic:PROCeoc:X%(1)=OX%:Y%(1)=OY%:PROCpicpos:OX%=X%:OY%=Y%:LINE X%(1),Y%(1),X%,Y%:LINE X%(0),Y%(0),X%,Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=2:GOTO 8290
 6070IF BUT%=4 AND (OX%<>X%(1) OR OY%<>Y%(1)) AND FUST%=2 THEN PROCinpic:PROCeoc:PROCpicpos:PROCtri(5,OX%,OY%):PROCsetcol:PROCtri(0,X%,Y%):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=0:GOTO 8290
 6080PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 6090IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(0),Y%(0),X%,Y%:PROCoutpic:PROCquickdrawmain
 6100IF FUST%=2 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:LINE X%(1),Y%(1),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(0),Y%(0),X%,Y%:LINE X%(1),Y%(1),X%,Y%:PROCoutpic:PROCquickdrawmain
 6110WHEN 10:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain:GOTO 8290
 6120IF FUST%=0 THEN GOTO 8290
 6130IF BUT%=1 AND FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6140IF BUT%=1 AND FUST%=2 THEN PROCinpic:PROCeoc:PROCtri(85,OX%,OY%):PROCpicpos:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6150IF BUT%=4 AND (OX%<>X%(0) OR OY%<>Y%(0)) AND FUST%=1 THEN PROCinpic:PROCeoc:X%(1)=OX%:Y%(1)=OY%:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:PROCtri(85,X%,Y%):PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=2:GOTO 8290
 6160IF BUT%=4 AND (OX%<>X%(1) OR OY%<>Y%(1)) AND FUST%=2 THEN PROCinpic:PROCeoc:PROCpicpos:PROCtri(85,OX%,OY%):PROCsetcol:PROCtri(85,X%,Y%):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=0:GOTO 8290
 6170PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 6180IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(0),Y%(0),X%,Y%:PROCoutpic:PROCquickdrawmain
 6190IF FUST%=2 THEN PROCinpic:PROCeoc:PROCtri(85,OX%,OY%):OX%=X%:OY%=Y%:PROCtri(85,X%,Y%):PROCoutpic:PROCquickdrawmain
 6200WHEN 11:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain:GOTO 8290
 6210IF FUST%=0 THEN GOTO 8290
 6220IF BUT%=1 AND FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6230IF BUT%=1 AND FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&C5,OX%,OY%):PROCpicpos:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6240IF BUT%=4 AND (OX%<>X%(0) OR OY%<>Y%(0)) AND FUST%=1 THEN PROCinpic:PROCeoc:X%(1)=OX%:Y%(1)=OY%:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:PROCelip(&C5,X%,Y%):PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=2:GOTO 8290
 6250IF BUT%=4 AND (OX%<>X%(1) OR OY%<>Y%(1)) AND FUST%=2 THEN PROCinpic:PROCeoc:PROCpicpos:PROCelip(&C5,OX%,OY%):PROCsetcol:PROCelip(&C5,X%,Y%):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=0:GOTO 8290
 6260PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 6270IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(0),Y%(0),X%,Y%:PROCoutpic:PROCquickdrawmain
 6280IF FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&C5,OX%,OY%):OX%=X%:OY%=Y%:PROCelip(&C5,X%,Y%):PROCoutpic:PROCquickdrawmain
 6290WHEN 12:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain:GOTO 8290
 6300IF FUST%=0 THEN GOTO 8290
 6310IF BUT%=1 AND FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6320IF BUT%=1 AND FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&CD,OX%,OY%):PROCpicpos:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6330IF BUT%=4 AND (OX%<>X%(0) OR OY%<>Y%(0)) AND FUST%=1 THEN PROCinpic:PROCeoc:X%(1)=OX%:Y%(1)=OY%:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:PROCelip(&CD,X%,Y%):PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=2:GOTO 8290
 6340IF BUT%=4 AND (OX%<>X%(1) OR OY%<>Y%(1)) AND FUST%=2 THEN PROCinpic:PROCeoc:PROCpicpos:PROCelip(&CD,OX%,OY%):PROCsetcol:PROCelip(&CD,X%,Y%):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=0:GOTO 8290
 6350PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 6360IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(0),Y%(0),X%,Y%:PROCoutpic:PROCquickdrawmain
 6370IF FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&CD,OX%,OY%):OX%=X%:OY%=Y%:PROCelip(&CD,X%,Y%):PROCoutpic:PROCquickdrawmain
 6380WHEN 13:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain:GOTO 8290
 6390IF FUST%=0 THEN GOTO 8290
 6400IF BUT%=1 AND FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6410IF BUT%=1 AND FUST%=2 THEN PROCinpic:PROCeoc:PROCpara(0,0,OX%,OY%):PROCpicpos:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6420IF BUT%=4 AND (OX%<>X%(0) OR OY%<>Y%(0)) AND FUST%=1 THEN PROCinpic:PROCeoc:X%(1)=OX%:Y%(1)=OY%:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:PROCpara(0,0,X%,Y%):PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=2:GOTO 8290
 6430IF BUT%=4 AND (OX%<>X%(1) OR OY%<>Y%(1)) AND FUST%=2 THEN PROCinpic:PROCeoc:PROCpicpos:PROCpara(0,0,OX%,OY%):PROCsetcol:PROCpara(1,0,X%,Y%):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=0:GOTO 8290
 6440PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 6450IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(0),Y%(0),X%,Y%:PROCoutpic:PROCquickdrawmain
 6460IF FUST%=2 THEN PROCinpic:PROCeoc:PROCpara(0,0,OX%,OY%):OX%=X%:OY%=Y%:PROCpara(0,0,X%,Y%):PROCoutpic:PROCquickdrawmain
 6470WHEN 14:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain:GOTO 8290
 6480IF FUST%=0 THEN GOTO 8290
 6490IF BUT%=1 AND FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6500IF BUT%=1 AND FUST%=2 THEN PROCinpic:PROCeoc:PROCpara(0,1,OX%,OY%):PROCpicpos:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6510IF BUT%=4 AND (OX%<>X%(0) OR OY%<>Y%(0)) AND FUST%=1 THEN PROCinpic:PROCeoc:X%(1)=OX%:Y%(1)=OY%:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:PROCpara(0,1,X%,Y%):PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=2:GOTO 8290
 6520IF BUT%=4 AND (OX%<>X%(1) OR OY%<>Y%(1)) AND FUST%=2 THEN PROCinpic:PROCeoc:PROCpicpos:PROCpara(0,1,OX%,OY%):PROCsetcol:PROCpara(0,1,X%,Y%):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=0:GOTO 8290
 6530PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 6540IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(0),Y%(0),X%,Y%:PROCoutpic:PROCquickdrawmain
 6550IF FUST%=2 THEN PROCinpic:PROCeoc:PROCpara(0,1,OX%,OY%):OX%=X%:OY%=Y%:PROCpara(0,1,X%,Y%):PROCoutpic:PROCquickdrawmain
 6560WHEN 15:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain:GOTO 8290
 6570IF FUST%=0 THEN GOTO 8290
 6580IF BUT%=1 AND FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6590IF BUT%=1 AND FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&A5,OX%,OY%):PROCpicpos:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6600IF BUT%=4 AND (OX%<>X%(0) OR OY%<>Y%(0)) AND FUST%=1 THEN PROCinpic:PROCeoc:X%(1)=OX%:Y%(1)=OY%:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:PROCelip(&A5,X%,Y%):PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=2:GOTO 8290
 6610IF BUT%=4 AND (OX%<>X%(1) OR OY%<>Y%(1)) AND FUST%=2 THEN PROCinpic:PROCeoc:PROCpicpos:PROCelip(&A5,OX%,OY%):PROCsetcol:PROCelip(&A5,X%,Y%):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=0:GOTO 8290
 6620PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 6630IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(0),Y%(0),X%,Y%:PROCoutpic:PROCquickdrawmain
 6640IF FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&A5,OX%,OY%):OX%=X%:OY%=Y%:PROCelip(&A5,X%,Y%):PROCoutpic:PROCquickdrawmain
 6650WHEN 16:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain:GOTO 8290
 6660IF FUST%=0 THEN GOTO 8290
 6670IF BUT%=1 AND FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6680IF BUT%=1 AND FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&B5,OX%,OY%):PROCpicpos:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6690IF BUT%=4 AND (OX%<>X%(0) OR OY%<>Y%(0)) AND FUST%=1 THEN PROCinpic:PROCeoc:X%(1)=OX%:Y%(1)=OY%:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:PROCelip(&B5,X%,Y%):PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=2:GOTO 8290
 6700IF BUT%=4 AND (OX%<>X%(1) OR OY%<>Y%(1)) AND FUST%=2 THEN PROCinpic:PROCeoc:PROCpicpos:PROCelip(&B5,OX%,OY%):PROCsetcol:PROCelip(&B5,X%,Y%):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=0:GOTO 8290
 6710PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 6720IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(0),Y%(0),X%,Y%:PROCoutpic:PROCquickdrawmain
 6730IF FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&B5,OX%,OY%):OX%=X%:OY%=Y%:PROCelip(&B5,X%,Y%):PROCoutpic:PROCquickdrawmain
 6740WHEN 17:IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain:GOTO 8290
 6750IF FUST%=0 THEN GOTO 8290
 6760IF BUT%=1 AND FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6770IF BUT%=1 AND FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&AD,OX%,OY%):PROCpicpos:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:GOTO 8290
 6780IF BUT%=4 AND (OX%<>X%(0) OR OY%<>Y%(0)) AND FUST%=1 THEN PROCinpic:PROCeoc:X%(1)=OX%:Y%(1)=OY%:LINE X%(0),Y%(0),OX%,OY%:PROCpicpos:OX%=X%:OY%=Y%:PROCelip(&AD,X%,Y%):PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=2:GOTO 8290
 6790IF BUT%=4 AND (OX%<>X%(1) OR OY%<>Y%(1)) AND FUST%=2 THEN PROCinpic:PROCeoc:PROCpicpos:PROCelip(&AD,OX%,OY%):PROCsetcol:PROCelip(&AD,X%,Y%):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=0:GOTO 8290
 6800PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 6810IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(0),Y%(0),X%,Y%:PROCoutpic:PROCquickdrawmain
 6820IF FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&AD,OX%,OY%):OX%=X%:OY%=Y%:PROCelip(&AD,X%,Y%):PROCoutpic:PROCquickdrawmain
 6830WHEN 19:IF FUST%<2 THEN PROCgrabpoll(0):GOTO 8290
 6840IF BUT%=1 THEN PROCinpic:PROCpicpos:PROCpgrab(OX%,OY%,3):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:FUST%=0:PROCspinit:GOTO 8290
 6850IF BUT%=4 THEN PROCinpic:PROCpicpos:PROCpgrab(OX%,OY%,3):PROCpgrab(X%,Y%,0):OX%=X%:OY%=Y%:PROCpgrab(OX%,OY%,3):PROCoutpic:PROCquickdrawmain:GOTO 8290
 6860PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 6870PROCinpic:PROCpgrab(OX%,OY%,3):OX%=X%:OY%=Y%:PROCpgrab(X%,Y%,3):PROCoutpic:PROCquickdrawmain
 6880WHEN 18:IF FUST%<2 THEN PROCgrabpoll(1):GOTO 8290
 6890IF BUT%=1 THEN PROCinpic:PROCpicpos:PROCpgrab(OX%,OY%,3):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:FUST%=0:PROCspinit:GOTO 8290
 6900IF BUT%=4 THEN PROCinpic:PROCpicpos:PROCpgrab(OX%,OY%,3):PROCpgrab(X%,Y%,0):OX%=X%:OY%=Y%:PROCpgrab(OX%,OY%,3):PROCoutpic:PROCquickdrawmain:ENDPROC
 6910PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 6920PROCinpic:PROCpgrab(OX%,OY%,3):OX%=X%:OY%=Y%:PROCpgrab(X%,Y%,3):PROCoutpic:PROCquickdrawmain
 6930WHEN 20:IF FUST%<2 THEN PROCrectpoll:GOTO 8290
 6940PROCspbuf(FNspritesize(OX%-X%(0),OY%-Y%(0),1)):IF Q% THEN PROCspinit:PROCspbuferr
 6950PROCinpic:GRN$="GRAB":SYS&2E,272,SPBUF%,"GRAB",,X%(0),Y%(0),OX%,OY%
 6960SYS&2E,285,SPBUF%,"GRAB":GRABM%=8:PROCfillmask
 6970SYS&2E,290,SPBUF%,"GRAB",X%(0),Y%(0),3+GRABM%
 6980SYS&2E,303,SPBUF%,"GRAB":SYS&2E,290,SPBUF%,"GRAB",X%(0),Y%(0),GRABM%:PROCoutpic:FUST%=0:PROCspinit:PROCquickdrawmain
 6990WHEN 21:IF FUST%<2 THEN PROCrectpoll:GOTO 8290
 7000PROCspbuf(FNspritesize(OX%-X%(0),OY%-Y%(0),1)):IF Q% THEN PROCspinit:PROCspbuferr
 7010PROCinpic:GRN$="GRAB":SYS&2E,272,SPBUF%,"GRAB",,X%(0),Y%(0),OX%,OY%
 7020SYS&2E,285,SPBUF%,"GRAB":GRABM%=8:PROCfillmask
 7030SYS&2E,290,SPBUF%,"GRAB",X%(0),Y%(0),3+GRABM%
 7040SYS&2E,289,SPBUF%,"GRAB":SYS&2E,290,SPBUF%,"GRAB",X%(0),Y%(0),GRABM%:PROCoutpic:FUST%=0:PROCspinit:PROCquickdrawmain
 7050WHEN 22:IF FUST%<2 THEN PROCrectpoll:GOTO 8290
 7060PROCinpic:PROCsetcol:FORL%=0 TO 932 STEP 4
 7070IF L%<Y%(0) OR L%>OY% THEN LINE 0,L%,1232,L%:GOTO 7100
 7080IF X%(0)>0 THEN LINE 0,L%,X%(0)-2,L%
 7090IF OY%<1232 THEN LINE OX%+2,L%,1232,L%
 7100NEXT:PROCoutpic:FUST%=0:PROCquickdrawmain
 7110WHEN 23:IF FUST%<2 THEN PROCrectpoll:GOTO 8290
 7120IF FUCO%=0 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain:X%(1)=X%(0):Y%(1)=Y%(0):X%(2)=OX%:Y%(2)=OY%:FUST%=0:FUCO%=1:GOTO 8290
 7130PROCspbuf(FNspritesize(X%(2)-X%(1),Y%(2)-Y%(1),ABS(FNhigh(8,14)))):IF Q% THEN PROCspinit:PROCspbuferr
 7140PROCinpic:PROCeoc:RECTANGLE X%(1),Y%(1),X%(2)-X%(1),Y%(2)-Y%(1):GRN$="GRAB":SYS&2E,272,SPBUF%,"GRAB",,X%(1),Y%(1),X%(2),Y%(2)
 7150IF FNhigh(8,14) THEN SYS&2E,285,SPBUF%,"GRAB":GRABM%=8:PROCfillmask ELSE GRABM%=0
 7160PROCgrabflip:SCALE%!8=X%(2)-X%(1):SCALE%!12=Y%(2)-Y%(1):!SCALE%=OX%-X%(0):SCALE%!4=OY%-Y%(0)
 7170SYS&2E,308,SPBUF%,"GRAB",X%(0),Y%(0),GRABM%,SCALE%:PROCoutpic:FUST%=0:FUCO%=0:PROCspinit:PROCquickdrawmain
 7180WHEN 25:PROCinpic:GCOL3,63:PLOT69,300,300:PLOT69,300,300:PROCpicpos
 7190IF X%=OX% AND Y%=OY% THEN 7210
 7200PROCmapline
 7210IF BUT%<>1 AND BUT%<>4 THEN PROCoutpic:PROCquickdrawmain:GOTO 8290
 7220IF BUT%=4 THEN 7340
 7230PROCeoc
 7240CASE FUCO% OF
 7250WHEN 2:LINE X%(1),Y%(1),X%,Y%
 7260WHEN 3:LINE X%(1),Y%(1),X%(2),Y%(2):LINE X%(2),Y%(2),X%,Y%
 7270WHEN 4:LINE X%(1),Y%(1),X%(2),Y%(2):LINE X%(2),Y%(2),X%(3),Y%(3):LINE X%(3),Y%(3),X%,Y%:LINE X%,Y%,X%(1),Y%(1)
 7280WHEN 5:LINE X%(1),Y%(1),X%(2),Y%(2):LINE X%(2),Y%(2),X%(3),Y%(3):LINE X%(3),Y%(3),X%(4),Y%(4):LINE X%(4),Y%(4),X%(1),Y%(1)
 7290WHEN 6:LINE X%(1),Y%(1),X%(2),Y%(2):LINE X%(2),Y%(2),X%(3),Y%(3):LINE X%(3),Y%(3),X%(4),Y%(4):LINE X%(4),Y%(4),X%(1),Y%(1):LINE X%(5),Y%(5),X%,Y%
 7300WHEN 7:LINE X%(1),Y%(1),X%(2),Y%(2):LINE X%(2),Y%(2),X%(3),Y%(3):LINE X%(3),Y%(3),X%(4),Y%(4):LINE X%(4),Y%(4),X%(1),Y%(1):LINE X%(5),Y%(5),X%(6),Y%(6):LINE X%(6),Y%(6),X%,Y%
 7310WHEN 8:LINE X%(1),Y%(1),X%(2),Y%(2):LINE X%(2),Y%(2),X%(3),Y%(3):LINE X%(3),Y%(3),X%(4),Y%(4):LINE X%(4),Y%(4),X%(1),Y%(1):LINE X%(5),Y%(5),X%(6),Y%(6):LINE X%(6),Y%(6),X%(7),Y%(7):LINE X%(7),Y%(7),X%,Y%:LINE X%(5),Y%(5),X%,Y%
 7320ENDCASE
 7330FUCO%=1:PROCletgo:PROCoutpic:PROCquickdrawmain:GOTO 8290
 7340PROCeoc
 7350IF FUCO%=8 THEN GOTO 7390
 7360X%(FUCO%)=X%:Y%(FUCO%)=Y%:IF FUCO%<>4 THEN LINE X%(FUCO%),Y%(FUCO%),X%,Y%
 7370IF FUCO%=3 OR FUCO%=7 THEN LINE X%(FUCO%-2),Y%(FUCO%-2),X%,Y%
 7380OX%=X%:OY%=Y%:FUCO%+=1:PROCletgo:GOTO 8290
 7390X%(8)=X%:Y%(8)=Y%:FORL%=1 TO 3:LINE X%(L%),Y%(L%),X%(L%+1),Y%(L%+1):LINE X%(L%+4),Y%(L%+4),X%(L%+5),Y%(L%+5):NEXT:LINE X%(1),Y%(1),X%(4),Y%(4):LINE X%(5),Y%(5),X%(8),Y%(8):FUCO%=1
 7400PROCoutpic:PROCquickdrawmain:PROCpixelmap:GOTO 8290
 7410WHEN 27:IF FUST%<2 THEN PROCrectpoll:GOTO 8290
 7420PROCspinit:PROCspbuf(145*1024):IF Q% THEN PROCspbuferr
 7430PROCbackuppic:PROCswapcorns
 7440VARS!20=BTC%:VARS!24=PALTAB%
 7450VARS!28=PIC%:VARS!32=SPBUF%
 7460VARS!36=X%(0):VARS!40=Y%(0)
 7470VARS!44=OX%:VARS!48=OY%
 7480A%=VARS:SYS "Hourglass_On":CALL pixaverage:SYS "Hourglass_Off":PROCspinit:PROCforcedrawmain:FUST%=0
 7490WHEN 28:IF FUST%<2 THEN PROCrectpoll:GOTO 8290
 7500PROCswapcorns
 7510VARS!20=BTC%:VARS!24=PALTAB%
 7520VARS!28=PIC%
 7530VARS!36=X%(0):VARS!40=Y%(0)
 7540VARS!44=OX%:VARS!48=OY%
 7550VARS!84=PALTAB%?(COL%*2):VARS!88=PALTAB%?((COL%*2)+1)
 7560A%=VARS:SYS "Hourglass_On":CALL tintarea:SYS "Hourglass_Off":PROCforcedrawmain:FUST%=0
 7570WHEN 29:IF FUST%=0 THEN PROCpaintscale2:PROCpicpos:PROCinpic:PROCeorback:PROCpaintbrush(X%,Y%):PROCoutpic:PROCquickdrawmain:OX%=X%:OY%=Y%:FUST%=1:GOTO 8290
 7580PROCpicpos
 7590IF X%<>OX% OR Y%<>OY% THEN PROCpaintscale2:PROCinpic:PROCeorback:PROCpaintbrush(OX%,OY%):PROCpaintbrush(X%,Y%):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain
 7600WHEN 30:IF FUST%=0 THEN PROCpaintscale2:PROCpicpos:PROCinpic:PROCeorback:PROCpaintbrush(X%,Y%):PROCoutpic:PROCquickdrawmain:OX%=X%:OY%=Y%:FUST%=1:GOTO 8290
 7610PROCpicpos
 7620IF X%<>OX% OR Y%<>OY% THEN PROCpaintscale2:PROCinpic:PROCeorback:PROCpaintbrush(OX%,OY%):PROCpaintbrush(X%,Y%):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain
 7630WHEN 32:IF FONT%<>0 THEN
 7640PROCpicpos:IF BUT%=4 AND FUST%<>0 THEN PROCinbackup:SYS "Font_SetFont",FHAND%:SYS "Font_Paint",,TEXT$,16,X%,Y%:PROCoutbackup
 7650IF FUST%<>0 AND (X%<>OX% OR Y%<>OY%) THEN PROCrestpic:PROCinpic:SYS "Font_SetFont",FHAND%:SYS "Font_Paint",,TEXT$,16,X%,Y%:PROCoutpic:PROCforcedrawmain:OX%=X%:OY%=Y%
 7660ELSE
 7670PROCpicpos:IF BUT%=4 AND FUST%<>0 THEN PROCinbackup:PROCostext(X%,Y%):PROCoutbackup
 7680IF FUST%<>0 AND (X%<>OX% OR Y%<>OY%) THEN PROCrestpic:PROCinpic:PROCostext(X%,Y%):PROCoutpic:PROCforcedrawmain:OX%=X%:OY%=Y%
 7690ENDIF
 7700WHEN 31:IF FUST%<2 THEN PROCrectpoll:GOTO 8290
 7710PROCswapcorns:FMINX%=X%(0):FMINY%=Y%(0):FMAXX%=OX%:FMAXY%=OY%
 7720SYS "Hourglass_On":PROCfill:SYS "Hourglass_Off":FUST%=0
 7730WHEN 33:IF FUST%<2 THEN PROCrectpoll:GOTO 8290
 7740PROCswapcorns:FMINX%=X%(0):FMINY%=Y%(0):FMAXX%=OX%:FMAXY%=OY%
 7750SYS "Hourglass_On":!VARS=PIC%:VARS!4=PIC%:VARS!8=X%(0):VARS!12=Y%(0):VARS!16=OX%:VARS!20=OY%:VARS!24=BTC%:VARS!28=TTB%:VARS!32=REPS%:A%=VARS:CALL colrep:SYS "Hourglass_Off":FUST%=0:PROCforcedrawmain
 7760WHEN 34:IF FUST%=0 THEN 7780
 7770IF BUT%=4 THEN PROCinpic:PROCpicpos:PROCpimport(OX%,OY%,3):PROCpimport(X%,Y%,0):OX%=X%:OY%=Y%:PROCpimport(OX%,OY%,3):PROCoutpic:PROCquickdrawmain:GOTO 8290
 7780IF FUST%=0 THEN FUST%=1:PROCpicpos:OX%=X%:OY%=Y%:PROCinpic:PROCpimport(X%,Y%,3):PROCoutpic:PROCquickdrawmain:GOTO 8290
 7790PROCpicpos:IF X%=OX% AND Y%=OY% THEN GOTO 8290
 7800PROCinpic:PROCpimport(OX%,OY%,3):OX%=X%:OY%=Y%:PROCpimport(X%,Y%,3):PROCoutpic:PROCquickdrawmain
 7810WHEN 35:IF FUST%<2 THEN PROCgrabpoll(0):GOTO 8290
 7820IF FUST%=2 THEN PROCclosewind(8):PROCinpic:PROCpicpos:PROCpgrab(OX%,OY%,3):OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:FUST%=3:PROCopenwind(7):GOTO 8290
 7830WHEN 36:IF FUST%=0 THEN PROCpicpos:PROCinpic:PROCeoc:RECTANGLE X%,Y%,FRW%*2,FRH%*4:PROCoutpic:PROCquickdrawmain:OX%=X%:OY%=Y%:FUST%=1
 7840PROCpicpos:IF X%<>OX% OR Y%<>OY% THEN PROCinpic:PROCeoc:RECTANGLE OX%,OY%,FRW%*2,FRH%*4:OX%=X%:OY%=Y%:RECTANGLE OX%,OY%,FRW%*2,FRH%*4:PROCoutpic:PROCquickdrawmain
 7850IF BUT%<>4 THEN 8290
 7860PROCinpic:PROCeoc:RECTANGLE OX%,OY%,FRW%*2,FRH%*4:PROCsetcol:RECTANGLE OX%,OY%,FRW%*2,FRH%*4:PROCeoc:RECTANGLE OX%,OY%,FRW%*2,FRH%*4:PROCoutpic:PROCquickdrawmain
 7870WHEN 38:IF FUST%<2 THEN PROCrectpoll:GOTO 8290
 7880PROCswapcorns:FMINX%=X%(0):FMINY%=Y%(0):FMAXX%=OX%:FMAXY%=OY%
 7890SYS "Hourglass_On":!VARS=PIC%:VARS!4=PIC%:VARS!8=X%(0):VARS!12=Y%(0):VARS!16=OX%:VARS!20=OY%:VARS!24=TRASP%:VARS!28=BTC%:VARS!32=TRANSTAB%
 7900RW%=VALFNgeticon(21,4):GW%=VALFNgeticon(21,7):BW%=VALFNgeticon(21,10)
 7910FORL%=0 TO 255:SYS "ColourTrans_ColourNumberToGCOL",L% TO G%
 7920RC%=((G%AND%1111)*RW%)DIV100:GC%=((((G%AND48)>>2)+(G%AND3))*GW%)DIV100:BC%=((((G%AND192)>>4)+(G%AND3))*BW%)DIV100
 7930IF RC%>15 THEN RC%=15
 7940IF GC%>15 THEN GC%=15
 7950IF BC%>15 THEN BC%=15
 7960TC%=(((RC%AND3)+(GC%AND3)+(BC%AND3))DIV3):TC%=TC%+(RC%AND12)+((GC%AND12)<<2)+((BC%AND12)<<4):SYS"ColourTrans_GCOLToColourNumber",TC% TO TC%
 7970TRANSTAB%?L%=TC%:NEXT
 7980A%=VARS:CALL transarea:SYS "Hourglass_Off":FUST%=0:PROCforcedrawmain
 7990WHEN 39:IF FUST%<2 THEN PROCrectpoll:GOTO 8290
 8000PROCswapcorns:FMINX%=X%(0):FMINY%=Y%(0):FMAXX%=OX%:FMAXY%=OY%
 8010SYS "Hourglass_On":!VARS=PIC%:VARS!4=PIC%:VARS!8=X%(0):VARS!12=Y%(0):VARS!16=OX%:VARS!20=OY%:VARS!24=TRASP%:VARS!28=BTC%:VARS!32=TRANSTAB%
 8020RW%=VALFNgeticon(22,4):GW%=VALFNgeticon(22,7):BW%=VALFNgeticon(22,10):FORL%=0 TO 255:SYS "ColourTrans_ColourNumberToGCOL",L% TO G%
 8030RC%=(G%AND%1111)*RW%:GC%=(((G%AND48)>>2)+(G%AND3))*GW%:BC%=(((G%AND192)>>4)+(G%AND3))*BW%
 8040TC%=((RC%+GC%+BC%)DIV3):IF TC%>15 THEN TC%=15
 8050TC%=TC%+((TC%AND12)<<2)+((TC%AND12)<<4):SYS"ColourTrans_GCOLToColourNumber",TC% TO TC%
 8060TRANSTAB%?L%=TC%:NEXT
 8070A%=VARS:CALL transarea:SYS "Hourglass_Off":FUST%=0:PROCforcedrawmain
 8080WHEN 40:IF FUST%<2 THEN PROCrectpoll:GOTO 8290
 8090PROCswapcorns:FMINX%=X%(0):FMINY%=Y%(0):FMAXX%=OX%:FMAXY%=OY%
 8100PW%=VALFNgeticon(23,3)*2:PH%=VALFNgeticon(23,6)*4:POX%=PW%DIV2:POY%=PH%DIV2
 8110XP%=FMINX%:YP%=FMINY%:PROCinpic:VDU24,FMINX%;FMINY%;FMAXX%;FMAXY%;
 8120SYS "Hourglass_On"
 8130REPEAT:REPEAT:GCOL USE%,POINT(XP%+POX%,YP%+POY%) TINT TINT(XP%+POX%,YP%+POY%):RECTANGLE FILL XP%,YP%,PW%-2,PH%-4:XP%+=PW%:UNTIL XP%>FMAXX%:XP%=FMINX%:YP%+=PH%:UNTIL YP%>FMAXY%:VDU26:PROCoutpic:PROCforcedrawmain:FUST%=0
 8140SYS "Hourglass_Off"
 8150WHEN 41:IF FUST%<2 THEN PROCrectpoll:GOTO 8290
 8160IF FUST%=2 THEN PROCswapcorns:ROTCX%=(X%(0)+OX%)DIV2:ROTCY%=(Y%(0)+OY%)DIV2:FMINX%=X%(0)-ROTCX%:FMINY%=Y%(0)-ROTCY%:FMAXX%=OX%-ROTCX%:FMAXY%=OY%-ROTCY%:PROCpicpos:PROCinpic:PROCprotbox(X%,Y%):PROCoutpic:OX%=X%:OY%=Y%:PROCquickdrawmain:FUST%=3:GOTO 8290
 8170PROCpicpos:IF BUT%=1 OR BUT%=4 THEN GOTO 8190
 8180IF X%<>OX% OR Y%<>OY% THEN PROCinpic:PROCprotbox(OX%,OY%):OX%=X%:OY%=Y%:PROCprotbox(X%,Y%):PROCoutpic:PROCquickdrawmain:GOTO 8290 ELSE GOTO 8290
 8190IF BUT%=1 THEN PROCinpic:PROCprotbox(OX%,OY%):PROCoutpic:PROCquickdrawmain:FUST%=0:GOTO 8290
 8200PROCinpic:PROCprotbox(OX%,OY%):PROCoutpic:X%=OX%:Y%=OY%
 8210FUST%=4:PROCspinit:PROCspbuf(145*1024):IF Q% THEN PROCspbuferr
 8220PROCbackuppic:PROCinbackup:R%=ROT%:PROCrotpoint(FMINX%,FMINY%,R%,X1%,Y1%):PROCrotpoint(FMAXX%,FMINY%,R%,X2%,Y2%):PROCrotpoint(FMAXX%,FMAXY%,R%,X3%,Y3%):PROCrotpoint(FMINX%,FMAXY%,R%,X4%,Y4%)
 8230PROCrotpoint(0,(FMAXY%DIV3)*2,R%,MX1%,MY1%):PROCrotpoint(0,(FMAXY%DIV3)*4,R%,MX2%,MY2%)
 8240X1%+=X%:X2%+=X%:X3%+=X%:X4%+=X%
 8250Y1%+=Y%:Y2%+=Y%:Y3%+=Y%:Y4%+=Y%
 8260PROCeoc:PLOT4,X1%,Y1%:PLOT4,X2%,Y2%:PLOT85,X3%,Y3%:GCOL3,60 TINT 192:PLOT4,X4%,Y4%:PLOT85,X1%,Y1%:PROCoutbackup
 8270A%=VARS:VARS!4=PIC%:VARS!8=SPBUF%:VARS!12=ROTTAB%:VARS!16=(360-ROT%)MOD360:VARS!20=BTC%:VARS!24=TRASP%:VARS!28=X%:VARS!32=Y%:VARS!36=ROTCX%:VARS!40=ROTCY%:SYS "Hourglass_On":CALL rotate:SYS "Hourglass_Off"
 8280PROCinpic:SYS&2E,290,SPBUF%,"PIC":PROCprotbox(X%,Y%):FUST%=3:OX%=X%:OY%=Y%:PROCoutpic:PROCforcedrawmain:PROCspinit
 8290ENDCASE
 8300ENDPROC
 8310
 8320DEFPROCprotbox(CX%,CY%):PROCeoc:R%=ROT%:PROCrotpoint(FMINX%,FMINY%,R%,X1%,Y1%):PROCrotpoint(FMAXX%,FMINY%,R%,X2%,Y2%):PROCrotpoint(FMAXX%,FMAXY%,R%,X3%,Y3%):PROCrotpoint(FMINX%,FMAXY%,R%,X4%,Y4%)
 8330PROCrotpoint(0,(FMAXY%DIV3)*2,R%,MX1%,MY1%):PROCrotpoint(0,(FMAXY%DIV3)*4,R%,MX2%,MY2%)
 8340X1%+=CX%:X2%+=CX%:X3%+=CX%:X4%+=CX%
 8350Y1%+=CY%:Y2%+=CY%:Y3%+=CY%:Y4%+=CY%
 8360PLOT4,X1%,Y1%:PLOT5,X2%,Y2%:PLOT5,X3%,Y3%:PLOT5,X4%,Y4%:PLOT5,X1%,Y1%
 8370LINE MX1%+CX%,MY1%+CY%,MX2%+CX%,MY2%+CY%
 8380ENDPROC
 8390
 8400DEFPROCrotpoint(R0%,R1%,R%,RETURN RPX%,RETURN RPY%)
 8410R6%=(ROTTAB%!(R%*4))>>12:R7%=(!(ROTTAB%+(R%*4)+&168))>>12:R8%=R0%*R6%:R5%=R1%*R7%:R8%-=R5%:R5%=R1%*R6%:R1%=R0%*R7%:R1%+=R5%:RPX%=R1%>>18:RPY%=-(R8%>>18)
 8420ENDPROC
 8430
 8440DEFFNperc(WH%,IH%)
 8450I$=FNgeticon(WH%,IH%):=VAL(LEFT$(I$,LEN(I$)-1))
 8460
 8470DEFPROCmapline
 8480CASE FUCO% OF
 8490WHEN 2:PROCeoc:LINE X%(1),Y%(1),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(1),Y%(1),X%,Y%
 8500WHEN 3:PROCeoc:LINE X%(2),Y%(2),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(2),Y%(2),X%,Y%
 8510WHEN 4:PROCeoc:LINE X%(1),Y%(1),OX%,OY%:LINE X%(3),Y%(3),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(1),Y%(1),X%,Y%:LINE X%(3),Y%(3),X%,Y%
 8520WHEN 6:PROCeoc:LINE X%(5),Y%(5),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(5),Y%(5),X%,Y%
 8530WHEN 7:PROCeoc:LINE X%(6),Y%(6),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(6),Y%(6),X%,Y%
 8540WHEN 8:PROCeoc:LINE X%(5),Y%(5),OX%,OY%:LINE X%(7),Y%(7),OX%,OY%:OX%=X%:OY%=Y%:LINE X%(5),Y%(5),X%,Y%:LINE X%(7),Y%(7),X%,Y%
 8550ENDCASE
 8560ENDPROC
 8570
 8580DEFPROCpixelmap
 8590PROCspinit:PROCspbuf(145*1024):IF Q% THEN PROCspbuferr
 8600PROCbackuppic
 8610SYS "Hourglass_On"
 8620dsta=SQR((X%(6)-X%(5))^2+(Y%(5)-Y%(6))^2)
 8630dstb=SQR((X%(8)-X%(7))^2+(Y%(7)-Y%(8))^2)
 8640IF dsta>dstb THEN steps%=dsta DIV2 ELSE steps%=dstb DIV2
 8650fxsa=(X%(2)-X%(1))/steps%
 8660fxsb=(X%(3)-X%(4))/steps%
 8670fysa=(Y%(2)-Y%(1))/steps%
 8680fysb=(Y%(3)-Y%(4))/steps%
 8690txsa=(X%(6)-X%(5))/steps%
 8700txsb=(X%(7)-X%(8))/steps%
 8710tysa=(Y%(6)-Y%(5))/steps%
 8720tysb=(Y%(7)-Y%(8))/steps%
 8730FOR cb%=0 TO steps%
 8740fxa=X%(1)+cb%*fxsa
 8750fxb=X%(4)+cb%*fxsb
 8760fya=Y%(1)+cb%*fysa
 8770fyb=Y%(4)+cb%*fysb
 8780txa=X%(5)+cb%*txsa
 8790txb=X%(8)+cb%*txsb
 8800tya=Y%(5)+cb%*tysa
 8810tyb=Y%(8)+cb%*tysb
 8820PROCinpic:GCOL3,63:PLOT69,300,300:PLOT69,300,300:PROCmapln:PROCoutpic:PROCquickdrawmain
 8830NEXT
 8840PROCspinit
 8850SYS "Hourglass_Off"
 8860ENDPROC
 8870
 8880DEFPROCmapln
 8890LOCAL ns%,fxs,fys,txs,tys,c%
 8900ns%=1+SQR((txb-txa)^2+(tya-tyb)^2) DIV2
 8910fxs=(fxb-fxa)/ns%:txs=(txb-txa)/ns%
 8920fys=(fyb-fya)/ns%:tys=(tyb-tya)/ns%
 8930FOR c%=0 TO ns%
 8940SYS&2E,297,SPBUF%,"PIC",(fxa+c%*fxs)DIV2,(fya+c%*fys)DIV4 TO ,,,,,col%,tin%:GCOL USE%,col% TINT tin%
 8950IF TRASP%?FNfindpalent(col%,tin%)=0 THEN PLOT69,txa+c%*txs,tya+c%*tys
 8960NEXT
 8970ENDPROC
 8980
 8990DEFPROCgrabpoll(FT%)
 9000IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain:PROCletgo:ENDPROC
 9010IF FUST%=0 THEN ENDPROC
 9020IF BUT%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:ENDPROC
 9030IF BUT%<>4 OR (OX%=X%(0) AND OY%=Y%(0)) THEN GOTO 9120
 9040PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCpicpos:PROCspbuf(FNspritesize(X%-X%(0),Y%-Y%(0),ABS(FNhigh(8,14)))):IF Q% THEN RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCspinit:PROCspbuferr
 9050GRN$="GRAB":SYS&2E,272,SPBUF%,"GRAB",,X%(0),Y%(0),X%,Y%:IF FNhigh(8,14) THEN SYS&2E,285,SPBUF%,"GRAB":GRABM%=8:PROCfillmask ELSE GRABM%=0
 9060GRWI%=ABS(X%-X%(0)):GRHE%=ABS(Y%-Y%(0))
 9070IF X%<X%(0) THEN SWAP X%(0),X%
 9080IF Y%<Y%(0) THEN SWAP Y%(0),Y%
 9090IF FT%=1 THEN SYS&2E,290,SPBUF%,"GRAB",X%(0),Y%(0),3+GRABM%
 9100PROCpgrab(X%,Y%,3)
 9110OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=2:ENDPROC
 9120PROCpicpos:IF X%=OX% AND Y%=OY% THEN ENDPROC
 9130PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):OX%=X%:OY%=Y%:RECTANGLE X%(0),Y%(0),X%-X%(0),Y%-Y%(0):PROCoutpic:PROCquickdrawmain
 9140ENDPROC
 9150
 9160DEFPROCrectpoll
 9170IF FUST%=0 AND BUT%<>0 THEN PROCpicpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain:PROCletgo:ENDPROC
 9180IF FUST%=0 THEN ENDPROC
 9190IF BUT%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCpicpos:OX%=X%:OY%=Y%:FUST%=0:PROCoutpic:PROCquickdrawmain:PROCletgo:ENDPROC
 9200IF BUT%<>4 OR (OX%=X%(0) AND OY%=Y%(0)) THEN GOTO 9250
 9210PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCpicpos
 9220IF X%<X%(0) THEN SWAP X%(0),X%
 9230IF Y%<Y%(0) THEN SWAP Y%(0),Y%
 9240OX%=X%:OY%=Y%:PROCoutpic:PROCquickdrawmain:PROCletgo:FUST%=2:ENDPROC
 9250PROCpicpos:IF X%=OX% AND Y%=OY% THEN ENDPROC
 9260PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):OX%=X%:OY%=Y%:RECTANGLE X%(0),Y%(0),X%-X%(0),Y%-Y%(0):PROCoutpic:PROCquickdrawmain
 9270ENDPROC
 9280
 9290DEFPROCpgrab(DX%,DY%,PL%)
 9300XR=GRXM%/GRXD%
 9310YR=GRYM%/GRYD%
 9320!SCALE%=GRXM%
 9330SCALE%!4=GRYM%
 9340SCALE%!8=GRXD%
 9350SCALE%!12=GRYD%
 9360SYS&2E,308,SPBUF%,"GRAB",DX%-((GRWI% DIV 2)*XR),DY%-((GRHE% DIV 2)*YR),PL%+GRABM%,SCALE%
 9370ENDPROC
 9380
 9390DEFPROCpimport(DX%,DY%,PL%)
 9400XR=GRXM%/GRXD%:YR=GRYM%/GRYD%
 9410IO%!20=(!IO%)*GRXM%
 9420IO%!24=(IO%!4)*GRYM%
 9430IO%!28=(IO%!8)*GRXD%
 9440IO%!32=(IO%!12)*GRYD%
 9450IF NOT GRMA% THEN SYS&2E,308,SPBUF%,GRN$,DX%-((IMW% DIV 2)*XR),DY%-((IMH% DIV 2)*YR),PL%,IO%+20,IMPT% ELSE SYS&2E,308,SPBUF%,GRN$,DX%-((IMW% DIV 2)*XR),DY%-((IMH% DIV 2)*YR),PL%+8,IO%+20,IMPT%
 9460ENDPROC
 9470
 9480DEFPROCpara(LT%,PL%,DX%,DY%)
 9490IF PL%=1 THEN PROCelip(&75,DX%,DY%):ENDPROC
 9500IF LT%=1 THEN
 9510PROCl(X%(0),Y%(0),X%(1),Y%(1))
 9520PROCl(X%(1),Y%(1),DX%,DY%)
 9530PLOT LITY%-4,X%(0)-X%(1),Y%(0)-Y%(1)
 9540PLOT LITY%,X%(0),Y%(0)
 9550ELSE
 9560LINE X%(0),Y%(0),X%(1),Y%(1)
 9570LINE X%(1),Y%(1),DX%,DY%
 9580PLOT1,X%(0)-X%(1),Y%(0)-Y%(1)
 9590PLOT5,X%(0),Y%(0)
 9600ENDIF
 9610ENDPROC
 9620
 9630DEFPROCelip(PL%,DX%,DY%)
 9640MOVE X%(0),Y%(0)
 9650MOVE X%(1),Y%(1)
 9660PLOT PL%,DX%,DY%
 9670ENDPROC
 9680
 9690DEFPROCtri(PL%,DX%,DY%)
 9700IF PL%=5 OR PL%=85 THEN PLOT4,DX%,DY%:PLOT 5,X%(0),Y%(0):PLOT 5,X%(1),Y%(1):PLOT PL%,DX%,DY% ELSE PLOT4,DX%,DY%:PLOT LITY%,X%(0),Y%(0):PLOT LITY%,X%(1),Y%(1):PLOT LITY%,DX%,DY%
 9710ENDPROC
 9720
 9730DEFFNdist(DX%,DY%):=SQR(((DX%-X%(0))^2)+((DY%-Y%(0))^2))
 9740
 9750DEFPROCpaintbrush(BX%,BY%):SYS&2E,306,BRUSH%,STR$(SELBR%),BX%-(32*XR),BY%-(32*YR),,SCALE%:ENDPROC
 9760
 9770DEFPROCpaintbrush2(BX%,BY%):SYS&2E,305,BRUSH%,STR$(SELBR%),BX%-32,BY%-32:ENDPROC
 9780
 9790DEFPROCletgo:REPEAT:MOUSE X%,Y%,H%:UNTIL H%=0:ENDPROC
 9800
 9810DEFPROCkillf
 9820CASE FUSE% OF
 9830PROCspbuf(0)
 9840WHEN 2:IF FUST%>0 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain
 9850WHEN 3:PROCclosewind(4)
 9860WHEN 4:PROCclosewind(5):IF FUST%>0 THEN PROCinpic:PROCpaintscale:PROCeorback:PROCpaintbrush(OX%,OY%):PROCoutpic:PROCquickdrawmain
 9870WHEN 5:IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
 9880WHEN 6:IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE FILL X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
 9890WHEN 7:IF FUST%=1 THEN PROCinpic:PROCeoc:CIRCLE X%(0),Y%(0),FNdist(OX%,OY%):PROCoutpic:PROCquickdrawmain
 9900WHEN 8:IF FUST%=1 THEN PROCinpic:PROCeoc:CIRCLE FILL X%(0),Y%(0),FNdist(OX%,OY%):PROCoutpic:PROCquickdrawmain
 9910WHEN 9:IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain
 9920IF FUST%=2 THEN PROCinpic:PROCeoc:PROCtri(5,OX%,OY%):PROCoutpic:PROCquickdrawmain
 9930WHEN 10:IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain
 9940IF FUST%=2 THEN PROCinpic:PROCeoc:PROCtri(85,OX%,OY%):PROCoutpic:PROCquickdrawmain
 9950WHEN 11:IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain
 9960IF FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&C5,OX%,OY%):PROCoutpic:PROCquickdrawmain
 9970WHEN 12:IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain
 9980IF FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&CD,OX%,OY%):PROCoutpic:PROCquickdrawmain
 9990WHEN 13:IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain
10000IF FUST%=2 THEN PROCinpic:PROCeoc:PROCpara(0,0,OX%,OY%):PROCoutpic:PROCquickdrawmain
10010WHEN 14:IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain
10020IF FUST%=2 THEN PROCinpic:PROCeoc:PROCpara(0,1,OX%,OY%):PROCoutpic:PROCquickdrawmain
10030WHEN 15:IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain
10040IF FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&A5,OX%,OY%):PROCoutpic:PROCquickdrawmain
10050WHEN 16:IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain
10060IF FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&B5,OX%,OY%):PROCoutpic:PROCquickdrawmain
10070WHEN 17:IF FUST%=1 THEN PROCinpic:PROCeoc:LINE X%(0),Y%(0),OX%,OY%:PROCoutpic:PROCquickdrawmain
10080IF FUST%=2 THEN PROCinpic:PROCeoc:PROCelip(&AD,OX%,OY%):PROCoutpic:PROCquickdrawmain
10090WHEN 18:PROCclosewind(8):IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10100IF FUST%=2 THEN PROCinpic:PROCpgrab(OX%,OY%,3):PROCoutpic:PROCquickdrawmain:PROCspinit
10110WHEN 19:PROCclosewind(8):IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10120IF FUST%=2 THEN PROCinpic:PROCpgrab(OX%,OY%,3):PROCoutpic:PROCquickdrawmain:PROCspinit
10130WHEN 20:IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10140WHEN 21:IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10150WHEN 22:IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10160WHEN 23:PROCclosewind(8):IF FUCO%=1 AND FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(1),Y%(1),X%(2)-X%(1),Y%(2)-Y%(1):RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain:GOTO 10520
10170IF FUCO%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(1),Y%(1),X%(2)-X%(1),Y%(2)-Y%(1):PROCoutpic:PROCquickdrawmain:GOTO 10520
10180IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10190WHEN 25:PROCinpic
10200PROCeoc
10210CASE FUCO% OF
10220WHEN 2:LINE X%(1),Y%(1),X%,Y%
10230WHEN 3:LINE X%(1),Y%(1),X%(2),Y%(2):LINE X%(2),Y%(2),X%,Y%
10240WHEN 4:LINE X%(1),Y%(1),X%(2),Y%(2):LINE X%(2),Y%(2),X%(3),Y%(3):LINE X%(3),Y%(3),X%,Y%:LINE X%,Y%,X%(1),Y%(1)
10250WHEN 5:LINE X%(1),Y%(1),X%(2),Y%(2):LINE X%(2),Y%(2),X%(3),Y%(3):LINE X%(3),Y%(3),X%(4),Y%(4):LINE X%(4),Y%(4),X%(1),Y%(1)
10260WHEN 6:LINE X%(1),Y%(1),X%(2),Y%(2):LINE X%(2),Y%(2),X%(3),Y%(3):LINE X%(3),Y%(3),X%(4),Y%(4):LINE X%(4),Y%(4),X%(1),Y%(1):LINE X%(5),Y%(5),X%,Y%
10270WHEN 7:LINE X%(1),Y%(1),X%(2),Y%(2):LINE X%(2),Y%(2),X%(3),Y%(3):LINE X%(3),Y%(3),X%(4),Y%(4):LINE X%(4),Y%(4),X%(1),Y%(1):LINE X%(5),Y%(5),X%(6),Y%(6):LINE X%(6),Y%(6),X%,Y%
10280WHEN 8:LINE X%(1),Y%(1),X%(2),Y%(2):LINE X%(2),Y%(2),X%(3),Y%(3):LINE X%(3),Y%(3),X%(4),Y%(4):LINE X%(4),Y%(4),X%(1),Y%(1):LINE X%(5),Y%(5),X%(6),Y%(6):LINE X%(6),Y%(6),X%(7),Y%(7):LINE X%(7),Y%(7),X%,Y%:LINE X%(5),Y%(5),X%,Y%
10290ENDCASE
10300FUCO%=1:PROCoutpic:PROCquickdrawmain:PROCletgo
10310WHEN 27:IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10320WHEN 28:IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10330WHEN 29:PROCclosewind(5):IF FUST%>0 THEN PROCinpic:PROCpaintscale2:PROCeorback:PROCpaintbrush(OX%,OY%):PROCoutpic:PROCquickdrawmain
10340WHEN 30:PROCclosewind(5):IF FUST%>0 THEN PROCinpic:PROCpaintscale2:PROCeorback:PROCpaintbrush(OX%,OY%):PROCoutpic:PROCquickdrawmain
10350WHEN 32:PROCrestpic:PROCforcedrawmain:PROCclosewind(14):PROCspinit:IF FONT%<>0 THEN PROClosefont
10360WHEN 31:IF GRTY%=1 THEN
10370IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10380ENDIF
10390WHEN 33:PROCclosewind(18):PROCspinit:IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10400WHEN 34:IF FUST%=1 THEN PROCinpic:PROCpimport(OX%,OY%,3):PROCoutpic:PROCquickdrawmain
10410PROCclosewind(8):PROCspinit
10420WHEN 35:IF FUST%<2 THEN PROCclosewind(8)
10430IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10440IF FUST%=3 THEN PROCclosewind(7)
10450WHEN 36:IF FUST%<>0 THEN PROCinpic:PROCeoc:RECTANGLE OX%,OY%,FRW%*2,FRH%*4:PROCoutpic:PROCquickdrawmain
10460WHEN 37:PROCspinit:PROCclosewind(20)
10470WHEN 38:PROCclosewind(21):PROCspinit:IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10480WHEN 39:PROCclosewind(22):PROCspinit:IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10490WHEN 40:PROCclosewind(23):PROCspinit:IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10500WHEN 41:PROCclosewind(24):PROCspinit:IF FUST%=1 THEN PROCinpic:PROCeoc:RECTANGLE X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):PROCoutpic:PROCquickdrawmain
10510IF FUST%=3 THEN PROCinpic:PROCprotbox(OX%,OY%):PROCoutpic:PROCquickdrawmain
10520ENDCASE
10530ENDPROC
10540
10550DEFPROCeoc:GCOL3,63 TINT 192:ENDPROC
10560
10570DEFPROCeorback:GCOL3,191 TINT 192:ENDPROC
10580
10590DEFPROCpickcol
10600BLK%!8=HAND%(3):SYS "Wimp_GetWindowState",,BLK%+8
10610XOF%=(!BLK%)-(BLK%!12):IF XOF%>766 THEN XOF%=766
10620YOF%=(BLK%!4)-(BLK%!16):IF YOF%>220 THEN YOF%=220
10630IF MOUB%=4 THEN COL%=(XOF% DIV 24)+((YOF% DIV 28)*32) ELSE IF MOUB%=1 THEN PROCtrasp((XOF% DIV 24)+((YOF% DIV 28)*32))
10640PROCforcedrawpal(PAL%)
10650ENDPROC
10660
10670DEFPROCtbackclick
10680BLK%!8=HAND%(15):SYS "Wimp_GetWindowState",,BLK%+8
10690XOF%=(!BLK%)-(BLK%!12):IF XOF%>766 THEN XOF%=766
10700YOF%=(BLK%!4)-(BLK%!16):IF YOF%>220 THEN YOF%=220
10710FONTB%=(XOF% DIV 24)+((YOF% DIV 28)*32)
10720PROCforcedrawtback
10730ENDPROC
10740
10750DEFPROCpicpos
10760SCRX%=!BLK%:SCRY%=BLK%!4
10770BLK%!8=HAND%(2):SYS "Wimp_GetWindowState",,BLK%+8
10780X%=(((!BLK%)-(BLK%!12))+(BLK%!28)) DIV ZOOM%
10790Y%=936-((((BLK%!24)-(BLK%!4))-(BLK%!32)) DIV ZOOM%)
10800IF X%<0 THEN X%=0
10810IF X%>1232 THEN X%=1232
10820IF Y%<0 THEN Y%=0
10830IF Y%>934 THEN Y%=934
10840IF NOT GRLO% THEN ENDPROC
10850XOF%=(GRWI%-GRBX%)*2
10860YOF%=(GRHE%-GRBY%)*4
10870X%+=XOF%:Y%+=YOF%
10880X%=-XOF%+((X% DIV (2*GRWI%))*2*GRWI%)
10890Y%=-YOF%+((Y% DIV (4*GRHE%))*4*GRHE%)
10900REM VDU4:PRINTTAB(0,1);X%,Y%,XOF%,YOF%
10910ENDPROC
10920
10930DEFPROCgetor
10940WOX%=BLK%!4-BLK%!20
10950WOY%=(BLK%!16-BLK%!24)-(936*ZOOM%)
10960ENDPROC
10970
10980DEFPROCgetbrushor
10990WOX%=BLK%!4-BLK%!20
11000WOY%=(BLK%!16-BLK%!24)-260
11010ENDPROC
11020
11030DEFPROCgetpatfillor
11040WOX%=BLK%!4-BLK%!20
11050WOY%=(BLK%!16-BLK%!24)-108
11060ENDPROC
11070
11080DEFPROCgetedbruor
11090WOX%=BLK%!4-BLK%!20
11100WOY%=(BLK%!16-BLK%!24)-640
11110ENDPROC
11120
11130DEFPROCopenmain:MOP%=TRUE
11140!BLK%=HAND%(2):BLK%!4=0:BLK%!8=300:BLK%!12=1279:BLK%!16=1023:BLK%!20=0:BLK%!24=0:BLK%!28=-1:SYS "Wimp_OpenWindow",,BLK%
11150ENDPROC
11160
11170DEFPROCopenpal
11180!BLK%=HAND%(3):BLK%!4=100:BLK%!8=300:BLK%!12=1279:BLK%!16=600:BLK%!20=0:BLK%!24=0:BLK%!28=-1:SYS "Wimp_OpenWindow",,BLK%
11190ENDPROC
11200
11210DEFPROCopenwind(WH%)
11220!BLK%=HAND%(WH%):SYS "Wimp_GetWindowInfo",,BLK%
11230BLK%!28=-1:SYS "Wimp_OpenWindow",,BLK%
11240ENDPROC
11250
11260DEFPROCclosewind(WH%)
11270!BLK%=HAND%(WH%):SYS "Wimp_CloseWindow",,BLK%
11280ENDPROC
11290
11300DEFPROCopmain
11310SYS "Wimp_OpenWindow",,BLK%
11320ENDPROC
11330
11340DEFPROCclmain:MOP%=FALSE
11350SYS "Wimp_CloseWindow",,BLK%
11360ENDPROC
11370
11380DEFPROCairnoz
11390H%=-1:FORL%=9 TO 15:IF FNhigh(4,L%) THEN H%=L%:L%=15
11400NEXT
11410CASE H% OF
11420WHEN 9:XR=1:YR=.25
11430WHEN 10:XR=1:YR=.5
11440WHEN 11:XR=1:YR=.75
11450WHEN 12:XR=1:YR=1
11460WHEN 13:XR=.75:YR=1
11470WHEN 14:XR=.5:YR=1
11480WHEN 15:XR=.25:YR=1
11490ENDCASE
11500ENDPROC
11510
11520DEFPROCpaintscale
11530!SCALE%=BXM%
11540SCALE%!4=BYM%
11550SCALE%!8=BXD%
11560SCALE%!12=BYD%
11570XR=BXM%/BXD%
11580YR=BYM%/BYD%
11590ENDPROC
11600
11610DEFPROCpaintscale2
11620!SCALE%=1
11630SCALE%!4=1
11640SCALE%!8=1
11650SCALE%!12=1
11660XR=1
11670YR=1
11680ENDPROC
11690
11700DEFPROCpicclick
11710IF MBUS% AND MOUB%<>0 THEN ENDPROC ELSE MBUS%=FALSE
11720CASE FUSE% OF
11730WHEN -1:IF MOUB%=1 THEN PROCpicpos:PROCinpic:CO%=POINT(X%,Y%):TI%=TINT(X%,Y%):GCOL3,63 TINT 192:PLOT69,400,400:PLOT69,400,400:PROCoutpic:PROCtrasp(FNfindpalent(CO%,TI%)):PROCforcedrawpal(PAL%):GOTO 12330
11740IF MOUB%=4 THEN PROCpicpos:PROCinpic:CO%=POINT(X%,Y%):TI%=TINT(X%,Y%):GCOL3,63 TINT 192:PLOT69,400,400:PLOT69,400,400:PROCoutpic:COL%=FNfindpalent(CO%,TI%):PROCforcedrawpal(PAL%):GOTO 12330
11750WHEN 0:PROCpicpos:PROCinpic:PROCsetcol:PLOT69,X%,Y%:PROCoutpic:PROCquickdrawmain
11760WHEN 3:PROCairnoz:IF H%=-1 THEN GOTO 12330
11770PROCpicpos:PROCinpic:PROCsetcol:D%=VAL(FNgeticon(4,1)):R%=VAL(FNgeticon(4,3)):FORL%=1 TO D%:A=RND(3600)/10:PLOT69,COS(RAD(A))*RND((R%*XR))+X%,SIN(RAD(A))*RND((R%*YR))+Y%:NEXT:PROCoutpic:PROCquickdrawmain
11780WHEN 4:PROCpaintscale:PROCinpic:PROCpicpos
11790IF FUST%<>0 THEN PROCeorback:PROCpaintbrush(OX%,OY%)
11800PROCsetbackcol:PROCpaintbrush(X%,Y%):OX%=X%:OY%=Y%:FUST%=1
11810PROCeorback:PROCpaintbrush(OX%,OY%)
11820PROCoutpic:PROCquickdrawmain
11830WHEN 24:IF MOUB%<>4 THEN GOTO 12330
11840PROCpicpos:PROCinpic:GCOL3,63 TINT 192:PLOT69,400,400:PLOT69,400,400:PROCsetcol:TCO%=POINT(X%-2,Y%):TTI%=TINT(X%-2,Y%):TPE%=FNfindpalent(TCO%,TTI%):IF TPE%=COL% THEN PROCoutpic:PROCmessage(0,"Cannot trace the colour you are using.")
11850PROCtrace(X%,Y%,TCO%,TTI%):PROCoutpic:PROCquickdrawmain
11860WHEN 26:IF MOUB%<>4 THEN ENDPROC
11870PROCinpic:VDU23,17,4,1,0|:FORL%=1 TO 4:VDU23,L%+1:FORK%=1 TO 8:VDU ECF%(K%,L%):NEXT:NEXT
11880PROCpicpos:GCOL0,POINT(X%,Y%)+128 TINT TINT(X%,Y%):PROCsetcol:SYS "Hourglass_On":FILL X%,Y%:SYS "Hourglass_Off":PROCoutpic:PROCquickdrawmain
11890WHEN 29:PROCpaintscale2:PROCinpic:PROCpicpos
11900IF FUST%<>0 THEN PROCeorback:PROCpaintbrush2(OX%,OY%)
11910VARS!20=BTC%:VARS!24=PALTAB%
11920VARS!28=PIC%:VARS!32=SPBUF%
11930VARS!36=X%-32:VARS!40=Y%-32
11940VARS!44=SELBR%:VARS!48=BRUSH%
11950A%=VARS:CALL averagebrush
11960GCOL3,63:RECTANGLE X%-32,Y%-32,64,64:RECTANGLE X%-32,Y%-32,64,64
11970OX%=X%:OY%=Y%:FUST%=1:PROCeorback:PROCpaintbrush2(OX%,OY%)
11980PROCoutpic:PROCquickdrawmain
11990WHEN 30:PROCpaintscale2:PROCinpic:PROCpicpos
12000IF FUST%<>0 THEN PROCeorback:PROCpaintbrush2(OX%,OY%)
12010VARS!20=BTC%:VARS!24=PALTAB%
12020VARS!28=PIC%:VARS!32=SPBUF%
12030VARS!36=X%-32:VARS!40=Y%-32
12040VARS!44=SELBR%:VARS!48=BRUSH%
12050VARS!84=PALTAB%?(COL%*2):VARS!88=PALTAB%?((COL%*2)+1)
12060A%=VARS:CALL tintbrush
12070GCOL3,63:RECTANGLE X%-32,Y%-32,64,64:RECTANGLE X%-32,Y%-32,64,64
12080OX%=X%:OY%=Y%:FUST%=1:PROCeorback:PROCpaintbrush2(OX%,OY%)
12090PROCoutpic:PROCquickdrawmain
12100WHEN 31:IF MOUB%<>4 OR GRTY%=1 THEN ENDPROC
12110PROCspinit:PROCspbuf(145*1024):IF Q% THEN PROCspbuferr
12120PROCbackuppic
12130PROCinbackup:PROCpicpos:FBC%=POINT(X%,Y%):FBT%=TINT(X%,Y%):GCOL0,FBC%+128 TINT FBT%:FUT%=(FBC%+1) MOD 64
12140GCOL0,FUT% TINT FBT%:SYS "Hourglass_On":FILL X%,Y%:PROCoutbackup
12150A%=VARS:B%=PIC%:C%=SPBUF%:CALL findchangebox
12160FMINX%=(!VARS)*2
12170FMINY%=(VARS!4)*4
12180FMAXX%=(VARS!8)*2
12190FMAXY%=(VARS!12)*4
12200PROCfill
12210SYS "Hourglass_Off"
12220WHEN 37:IF MOUB%<>4 THEN ENDPROC
12230PROCspinit:PROCspbuf(145*1024):IF Q% THEN PROCspbuferr
12240PROCbackuppic
12250PROCinbackup:PROCpicpos:FBC%=POINT(X%,Y%):FBT%=TINT(X%,Y%):GCOL0,FBC%+128 TINT FBT%:FUT%=(FBC%+1) MOD 64
12260GCOL0,FUT% TINT FBT%:SYS "Hourglass_On":FILL X%,Y%:PROCoutbackup
12270A%=VARS:B%=PIC%:C%=SPBUF%:CALL findchangebox
12280FMINX%=(!VARS)*2:FMINY%=(VARS!4)*4:FMAXX%=(VARS!8)*2:FMAXY%=(VARS!12)*4
12290VARS!4=PIC%:VARS!8=SPBUF%:VARS!12=PFILLS%:VARS!16=CPF%
12300CALL patfill
12310SYS"Hourglass_Off"
12320PROCspinit:PROCforcedrawmain
12330ENDCASE
12340ENDPROC
12350
12360DEFPROCfill
12370NOS%=VALFNgeticon(13,44)
12380NOF%=GRFN%
12390ET%=0
12400IF FNhigh(13,55) THEN ET%=1
12410IF FNhigh(13,56) THEN ET%=2
12420IF FNhigh(13,57) THEN ET%=3
12430IF FNhigh(13,58) THEN ET%=4
12440FIT%=-1
12450IF FNhigh(13,22) THEN FIT%=1
12460IF FNhigh(13,23) THEN FIT%=2
12470IF FNhigh(13,64) THEN FIT%=3
12480IF FNhigh(13,65) THEN FIT%=4
12490IF FNhigh(13,24) THEN FIT%=5
12500IF FNhigh(13,25) THEN FIT%=6
12510IF ET%=1 OR ET%=2 THEN FIT%=1
12520IF ET%=3 OR ET%=4 THEN FIT%=4
12530IF FIT%=-1 THEN PROCspinit:PROCmessage(0,"You must choose a type of fill.")
12540CASE FIT% OF
12550WHEN 1:FIW%=FMAXX%-FMINX%:FIFC%=0:LAFC%=255:FID%=1
12560WHEN 2:FIW%=FMAXX%-FMINX%:FIFC%=255:LAFC%=0:FID%=-1
12570WHEN 4:FIW%=FMAXY%-FMINY%:FIFC%=0:LAFC%=255:FID%=1
12580WHEN 3:FIW%=FMAXY%-FMINY%:FIFC%=255:LAFC%=0:FID%=-1
12590WHEN 5:FIFC%=0:LAFC%=255:FID%=1
12600WHEN 6:FIFC%=255:LAFC%=0:FID%=-1
12610ENDCASE
12620IF FIT%=5 OR FIT%=6 THEN
12630IF (FMAXX%-X%)>(X%-FMINX%) THEN XOF%=FMAXX%-X% ELSE XOF%=X%-FMINX%
12640IF (FMAXY%-Y%)>(Y%-FMINY%) THEN YOF%=FMAXY%-Y% ELSE YOF%=Y%-FMINY%
12650FIW%=SQR((XOF%^2)+(YOF%^2))
12660ENDIF
12670CPP%=(255<<8) DIV FIW%:CPS%=(255<<8) DIV (NOS%-1)
12680I%=IO%:FORL%=0 TO 15:?I%=GRFI%(L%,0,NOF%):I%?1=GRFI%(L%,1,NOF%):I%+=2:NEXT
12690!VARS=PIC%:IF GRTY%=0 THEN VARS!4=SPBUF% ELSE VARS!4=PIC%
12700VARS!8=IO%:VARS!12=NOS%:VARS!16=FIFC%:VARS!20=LAFC%:VARS!24=FID%:VARS!28=CPP%:VARS!32=CPS%:VARS!36=X%:VARS!40=Y%:VARS!44=ROTTAB%:VARS!48=FIT%:VARS!52=FMINX%:VARS!56=FMINY%:VARS!60=FMAXX%:VARS!64=FMAXY%
12710VARS!68=RAND%:VARS!72=0
12720VARS!76=VALFNgeticon(13,39)
12730IF FNhigh(13,54) THEN VARS!80=1 ELSE VARS!80=0
12740VARS!84=ET%:VARS!88=TRASP%:VARS!92=GRTY%:VARS!96=BTC%
12750FORL%=0 TO 4092 STEP 4:RAND%!L%=RND(CPS%):NEXT
12760A%=VARS
12770CALL graduatedfill
12780PROCspinit:PROCforcedrawmain
12790ENDPROC
12800
12810DEFPROChg:SYS "Hourglass_Smash":ENDPROC
12820
12830DEFPROCswapcorns
12840IF X%(0)>OX% THEN SWAP X%(0),OX%
12850IF Y%(0)>OY% THEN SWAP Y%(0),OY%
12860ENDPROC
12870
12880DEFFNsamecol(x1%,y1%,col%,tin%):=(POINT(x1%,y1%)=col% AND TINT(x1%,y1%)=tin%)
12890
12900DEFPROCl(x1%,y1%,x2%,y2%):PLOT4,x1%,y1%:PLOT LITY%,x2%,y2%:ENDPROC
12910
12920DEFPROCr(x1%,y1%,x2%,y2%):PLOT4,x1%,y1%:PLOT LITY%-4,x2%,0:PLOT LITY%-4,0,y2%:PLOT LITY%-4,-x2%,0:PLOT LITY%-4,0,-y2%:ENDPROC
12930
12940DEFPROCtrace(X%,Y%,TCO%,TTI%)
12950SYS "Hourglass_On"
12960LOCAL dir%,x%,px%,py%
12970IF FNsamecol(X%,Y%,TCO%,TTI%) THEN PROCmessage(0,"Cannot trace from an adjacent pixel of the same colour.")
12980px%=X%:py%=Y%
12990dir%=3
13000PROCincdir
13010REPEAT
13020IF NOT FNsamecol(x%,y%,TCO%,TTI%) THEN PLOT69,x%,y%:px%=x%:py%=y%:PROCdecdir
13030PROCincdir
13040UNTIL x%=X% AND y%=Y%
13050PLOT69,x%,y%
13060SYS "Hourglass_Off"
13070ENDPROC
13080
13090DEFPROCincdir
13100dir%=(dir%+1)MOD4
13110CASE dir% OF
13120WHEN 0:x%=px%-2:y%=py%
13130WHEN 1:x%=px%:y%=py%+4
13140WHEN 2:x%=px%+2:y%=py%
13150WHEN 3:x%=px%:y%=py%-4
13160ENDCASE
13170ENDPROC
13180
13190DEFPROCdecdir
13200dir%=(dir%+2)MOD4
13210ENDPROC
13220
13230DEFFNfindpalent(CO%,TI%)
13240=CTT%?((CO%*4)+(TI% DIV 64))
13250
13260DEFPROCsetcol:GCOL USE%,PALTAB%?(COL%*2) TINT PALTAB%?((COL%*2)+1):ENDPROC
13270
13280DEFPROCsetbackcol:GCOL USE%,(PALTAB%?(COL%*2))+128 TINT PALTAB%?((COL%*2)+1):ENDPROC
13290
13300DEFPROCcol(C%,T%,U%)
13310SYS&35,-1,9 TO ,,BP%
13320IF BP%=3 THEN GCOLU%,C% TINT T%:ENDPROC
13330R%=((C% AND %11)*4)+(T% DIV 64):R%+=(R%<<4)
13340G%=(((C% AND %1100)>>2)*4)+(T% DIV 64):G%+=(G%<<4)
13350B%=(((C% AND %110000)>>4)*4)+(T% DIV 64):B%+=(B%<<4)
13360SYS "ColourTrans_SetGCOL",((B%<<24)+(G%<<16)+(R%<<8)),,,,U%
13370ENDPROC
13380
13390DEFPROCanticol(C%,T%,U%)
13400R%=((C% AND %11)*4)+(T% DIV 64):R%+=(R%<<4)
13410G%=(((C% AND %1100)>>2)*4)+(T% DIV 64):G%+=(G%<<4)
13420B%=(((C% AND %110000)>>4)*4)+(T% DIV 64):B%+=(B%<<4)
13430SYS "ColourTrans_ReturnOppGCOLForMode",((B%<<24)+(G%<<16)+(R%<<8)),15 TO GC%
13440GCOL U%,(GC%>>2) TINT (GC% AND %11)*64
13450ENDPROC
13460
13470DEFPROCgridcol
13480PROCcol(GRCO%,GRTI%,0)
13490ENDPROC
13500
13510DEFPROCmakerr
13520SYS "Wimp_DragBox",,0
13530!BLK%=ERR
13540ER=TRUE
13550CASE ERR OF
13560WHEN 222:$(BLK%+4)="File cannot be found"+CHR$(0):ER=FALSE
13570OTHERWISE
13580$(BLK%+4)="Archrome has suffered a serious internal error ("+STR$ERR+"/"+STR$ERL+") You should save your work and re-start as soon as possible."+CHR$(0)
13590ENDCASE
13600SYS "Wimp_ReportError",BLK%,1,"Archrome"
13610PROCaction:END
13620ENDPROC
13630
13640DEFPROCmessage(M%,M$):PROCoutpic
13650SYS "Wimp_DragBox",,0:!BLK%=M%:$(BLK%+4)=M$+CHR$(0):SYS "Wimp_ReportError",BLK%,1,"Archrome"
13660PROCforcedrawmain
13670PROCaction:END
13680ENDPROC
13690
13700DEFPROCmouse
13710MOUX%=!BLK%:MOUY%=BLK%!4:MOUB%=BLK%!8:MOUH%=BLK%!12:MOUIC%=BLK%!16
13720CASE MOUB% OF
13730WHEN 4,1:CASE MOUH% OF
13740WHEN -2:PROCopenmain
13750WHEN HAND%(0):IF BLK%!16=2 THEN PROCsaveok
13760WHEN HAND%(7):IF BLK%!16=2 THEN PROCspritesaveok
13770WHEN HAND%(2):PROCpicclick
13780WHEN HAND%(3):PROCpickcol
13790WHEN HAND%(4):PROCairbclick
13800WHEN HAND%(5):PROCbrushclick
13810WHEN HAND%(6):PROCgridclick
13820WHEN HAND%(8):PROCgrabclick
13830WHEN HAND%(10):PROClinepatclick
13840WHEN HAND%(11):PROCecfclick
13850WHEN HAND%(12):PROCedbruclick
13860WHEN HAND%(13):PROCfillclick
13870WHEN HAND%(14):PROCtextclick
13880WHEN HAND%(15):PROCtbackclick
13890WHEN HAND%(16):PROCtparclick
13900WHEN HAND%(17):PROCfillcontclick
13910WHEN HAND%(18):PROCcolrepclick
13920WHEN HAND%(19):PROCframeclick
13930WHEN HAND%(20):PROCpatfillclick
13940WHEN HAND%(21):PROCrgbcontclick
13950WHEN HAND%(22):PROCgreyscaleclick
13960WHEN HAND%(23):PROCpixelateclick
13970WHEN HAND%(24):PROCrotateclick
13980ENDCASE
13990WHEN 2:IF MOUH%=-2 THEN PROCiconmenu ELSE IF MOUH%=HAND%(2) THEN PROCwindmenu
14000WHEN 16,64:IF MOUH%=HAND%(0) THEN DRAG%=0:PROCstartdrag
14010IF MOUH%=HAND%(7) THEN DRAG%=7:PROCstartdrag
14020ENDCASE
14030ENDPROC
14040
14050DEFPROCrotateclick
14060IF MOUIC%<>1 AND MOUIC%<3 THEN ENDPROC
14070IF FUST%>=2 THEN PROCinpic:PROCprotbox(OX%,OY%)
14080IF MOUIC%=1 THEN ROT%-=1:IF ROT%<0 THEN ROT%+=360
14090IF MOUIC%=3 THEN ROT%=(ROT%+1)MOD360
14100IF MOUIC%=4 THEN ROT%-=10:IF ROT%<0 THEN ROT%+=360
14110IF MOUIC%=5 THEN ROT%=(ROT%+10)MOD360
14120IF FUST%>=2 THEN PROCprotbox(OX%,OY%):PROCoutpic:PROCquickdrawmain
14130PROCseticon(24,2,STR$ROT%)
14140ENDPROC
14150
14160DEFPROCrgbcontclick
14170RP%=FNperc(21,4):GP%=FNperc(21,7):BP%=FNperc(21,10)
14180IRP%=RP%:IGP%=GP%:IBP%=BP%
14190IF MOUIC%=3 THEN RP%-=1:IF RP%<0 THEN RP%=0
14200IF MOUIC%=5 THEN RP%+=1:IF RP%>200 THEN RP%=200
14210IF MOUIC%=6 THEN GP%-=1:IF GP%<0 THEN GP%=0
14220IF MOUIC%=8 THEN GP%+=1:IF GP%>200 THEN GP%=200
14230IF MOUIC%=9 THEN BP%-=1:IF BP%<0 THEN BP%=0
14240IF MOUIC%=11 THEN BP%+=1:IF BP%>200 THEN BP%=200
14250IF RP%<>IRP% THEN PROCseticon(21,4,STR$(RP%)+"%")
14260IF GP%<>IGP% THEN PROCseticon(21,7,STR$(GP%)+"%")
14270IF BP%<>IBP% THEN PROCseticon(21,10,STR$(BP%)+"%")
14280ENDPROC
14290
14300DEFPROCgreyscaleclick
14310PROCarrows(22,3,5,4,0,9,1):PROCarrows(22,6,8,7,0,9,1):PROCarrows(22,9,11,10,0,9,1)
14320ENDPROC
14330
14340DEFPROCpixelateclick
14350PROCarrows(23,2,4,3,1,100,1):PROCarrows(23,5,7,6,1,100,1)
14360ENDPROC
14370
14380DEFPROCframeclick
14390PROCarrows(19,5,7,3,1,618,1):PROCarrows(19,6,8,4,1,234,1)
14400IF MOUIC%<>2 THEN ENDPROC
14410PROCkillf
14420V%=VALFNgeticon(19,3):IF V%<1 THEN V%=1
14430IF V%>618 THEN V%=618
14440PROCseticon(19,3,STR$V%)
14450W%=VALFNgeticon(19,4):IF W%<1 THEN W%=1
14460IF W%>234 THEN W%=618
14470PROCseticon(19,4,STR$W%)
14480FRW%=V%+1:FRH%=W%+1:FUSE%=36:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [Set frame]")
14490IF MOUB%=4 THEN PROCmenoff
14500ENDPROC
14510
14520DEFPROCcolrepclick
14530IF MOUIC%=3 THEN SYS "Hourglass_On":FORL%=0 TO 22596 STEP 4:SPBUF%!L%=OPAL%!L%:NEXT:FORL%=0 TO 255:REPS%?L%=L%:NEXT:SYS "Hourglass_Off":PROCforcedrawcolrep:ENDPROC
14540BLK%!8=HAND%(18):SYS "Wimp_GetWindowState",,BLK%+8
14550XOF%=(!BLK%)-((BLK%!12)-(BLK%!28)):IF XOF%>766 THEN XOF%=766
14560YOF%=(BLK%!4)-(((BLK%!24)-(BLK%!32))-556):IF YOF%>550 THEN YOF%=550
14570REM VDU4:PRINT XOF%,YOF%
14580IF YOF%<=220 THEN SREP%=(XOF% DIV 24)+((YOF% DIV 28)*32):PROCforcedrawcolrep
14590IF YOF%>=290 AND YOF%<514 THEN
14600YOF%-=290:C%=(XOF% DIV 24)+((YOF% DIV 28)*32):PROCinsprite(0,SPBUF%,"Palette"):FX%=((SREP% MOD 32)*24)+2:FY%=((SREP% DIV 32)*28)+4:GCOL0,PALTAB%?(C%*2) TINT PALTAB%?((C%*2)+1)
14610RECTANGLE FILL FX%,FY%,20,20:PROCoutsprite:REPS%?SREP%=C%:PROCforcedrawcolrep
14620ENDIF
14630ENDPROC
14640
14650DEFPROCarrows(W%,DI%,UI%,TI%,LV%,UV%,I%)
14660V%=VALFNgeticon(W%,TI%):OV%=V%
14670IF MOUIC%=DI% THEN V%-=I%:IF V%<LV% THEN V%=LV%
14680IF MOUIC%=UI% THEN V%+=I%:IF V%>UV% THEN V%=UV%
14690IF V%<>OV% THEN PROCseticon(W%,TI%,STR$(V%))
14700ENDPROC
14710
14720DEFPROCtparclick
14730PROCarrows(16,6,18,12,0,1024,8):PROCarrows(16,7,19,13,0,999,1):PROCarrows(16,8,20,14,0,999,1):PROCarrows(16,9,21,15,0,999,1):PROCarrows(16,10,22,16,0,999,1):PROCarrows(16,11,23,17,0,999,1)
14740IF MOUIC%=24 THEN SYS "Font_SetFontMax",(VALFNgeticon(16,12))*1024,(VALFNgeticon(16,13))*1152,(VALFNgeticon(16,14))*1152,(VALFNgeticon(16,15))*1152,(VALFNgeticon(16,16))*1152,(VALFNgeticon(16,17))*1152
14750IF MOUIC%=24 AND MOUB%=4 THEN PROCmenoff
14760IF MOUIC%=25 THEN
14770OSCLI("Configure FontMax "+FNgeticon(16,12)+"K"):OSCLI("Configure FontMax1 "+FNgeticon(16,13)):OSCLI("Configure FontMax2 "+FNgeticon(16,14)):OSCLI("Configure FontMax3 "+FNgeticon(16,15)):OSCLI("Configure FontMax4 "+FNgeticon(16,16))
14780OSCLI("Configure FontMax5 "+FNgeticon(16,17))
14790ENDIF
14800ENDPROC
14810
14820DEFPROClosefont
14830IF FONT%<>0 THEN PROCinpic:SYS "Font_LoseFont",FHAND%:PROCoutpic
14840ENDPROC
14850
14860DEFPROCgetfont
14870IF VALFNgeticon(14,4)<6 THEN PROCseticon(14,4,"6")
14880IF VALFNgeticon(14,5)<6 THEN PROCseticon(14,5,"6")
14890FONTX%=VALFNgeticon(14,4):FONTY%=VALFNgeticon(14,5)
14891REM VDU4:PRINT'FONT%,FO$,FONTX%,FONTY%," 14900"
14892REM END
14900IF FONT%<>0 THEN PROCinpic:SYS "Font_FindFont",,FO$,FONTX%*16,FONTY%*16 TO FHAND%:PROCoutpic
14910ENDPROC
14920
14930DEFPROCrestpic
14940PROCinpic
14950SYS&2E,290,SPBUF%,"PIC"
14960PROCoutpic
14970ENDPROC
14980
14990DEFPROCtextclick
15000IF MOUIC%<>6 THEN GOTO 15030
15010V%=VALFNgeticon(14,4):V%-=1:IF V%<6 THEN V%=6
15020PROCseticon(14,4,STR$V%)
15030IF MOUIC%<>7 THEN GOTO 15060
15040V%=VALFNgeticon(14,4):V%+=1:IF V%>999 THEN V%=999
15050PROCseticon(14,4,STR$V%)
15060IF MOUIC%<>8 THEN GOTO 15090
15070V%=VALFNgeticon(14,5):V%-=1:IF V%<6 THEN V%=6
15080PROCseticon(14,5,STR$V%)
15090IF MOUIC%<>9 THEN GOTO 15120
15100V%=VALFNgeticon(14,5):V%+=1:IF V%>999 THEN V%=999
15110PROCseticon(14,5,STR$V%)
15120IF MOUIC%<>12 THEN ENDPROC
15121REM VDU4:PRINT FONT%,FUST%,FO$
15130IF FONT%<>0 THEN
15140IF FUST%<>0 THEN PROCrestpic:PROClosefont:PROCforcedrawmain
15150PROCgetfont
15151REM GOTO 15230
15160TEXT$=FNgeticon(14,11):IF TEXT$="" THEN TEXT$=" "
15170FCOL%=PALTAB%?(COL%*2):FTIN%=PALTAB%?((COL%*2)+1):FTIN%=FTIN%>>2
15180FPAL%=((((FCOL% AND %11)<<6)+FTIN%)<<8)+((((FCOL% AND %1100)<<4)+FTIN%)<<16)+((((FCOL% AND %110000)<<2)+FTIN%)<<24)
15190FCOL%=PALTAB%?(FONTB%*2):FTIN%=PALTAB%?((FONTB%*2)+1):FTIN%=FTIN%>>2
15200BPAL%=((((FCOL% AND %11)<<6)+FTIN%)<<8)+((((FCOL% AND %1100)<<4)+FTIN%)<<16)+((((FCOL% AND %110000)<<2)+FTIN%)<<24)
15201REM GOTO 15230
15210PROCinpic:SYS "ColourTrans_SetFontColours",FHAND%,BPAL%,FPAL%,14:PROCoutpic:EFM%=MODE
15220FUST%=1:OX%=-1:OY%=-1
15230ELSE
15240IF FUST%<>0 THEN PROCrestpic:PROCforcedrawmain
15250TEXT$=FNgeticon(14,11):IF TEXT$="" THEN TEXT$=" "
15260FUST%=1:OX%=-1:OY%=-1:TCOL%=COL%:TBAK%=FONTB%
15270IF VALFNgeticon(14,4)<1 THEN PROCseticon(14,4,"1")
15280IF VALFNgeticon(14,5)<1 THEN PROCseticon(14,5,"1")
15290FONTX%=VALFNgeticon(14,4):FONTY%=VALFNgeticon(14,5)
15300!IO%=FONTX%:IO%!4=FONTY%
15310IO%!8=8:IO%!12=8
15320ENDIF
15330ENDPROC
15340
15350DEFPROCostext(TX%,TY%)
15360LOCAL L%
15370TT%=0
15380IF FNhigh(14,14) THEN TT%=1
15390IF FNhigh(14,15) THEN TT%=2
15400IF FNhigh(14,16) THEN TT%=3
15410FCOL%=PALTAB%?(TCOL%*2):FTIN%=PALTAB%?((TCOL%*2)+1)
15420BCOL%=PALTAB%?(TBAK%*2):BTIN%=PALTAB%?((TBAK%*2)+1)
15430CASE TT% OF
15440WHEN 0:PROCcol(FCOL%,FTIN%,0):FORL%=1 TO LEN(TEXT$):SYS&2E,51,ASC(MID$(TEXT$,L%,1)),,TX%,TY%,,IO%:TX%+=FONTX%*2:NEXT
15450WHEN 2:PROCcol(BCOL%,BTIN%,0):OTX%=TX%:FORL%=1 TO LEN(TEXT$):SYS&2E,51,ASC(MID$(TEXT$,L%,1)),,TX%,TY%,,IO%:TX%+=FONTX%*2:NEXT:TX%=OTX%+2:TY%+=4
15460FORL%=1 TO LEN(TEXT$):SYS&2E,51,ASC(MID$(TEXT$,L%,1)),,TX%,TY%,,IO%:TX%+=FONTX%*2:NEXT:TX%=OTX%+4:TY%+=4
15470PROCcol(FCOL%,FTIN%,0):FORL%=1 TO LEN(TEXT$):SYS&2E,51,ASC(MID$(TEXT$,L%,1)),,TX%,TY%,,IO%:TX%+=FONTX%*2:NEXT
15480WHEN 1:PROCcol(BCOL%,BTIN%,0):OTX%=TX%:FORCX%=TX%-(FONTX% DIV4) TO TX%+(FONTX% DIV4) STEP (FONTX% DIV 4):FORCY%=TY%-(FONTY% DIV 2) TO TY%+(FONTY% DIV2) STEP (FONTY% DIV2):TX%=CX%:FORL%=1 TO LEN(TEXT$):SYS&2E,51,ASC(MID$(TEXT$,L%,1)),,TX%,CY%,,IO%:TX%+=FONTX%*2:NEXT:NEXT:NEXT
15490PROCcol(FCOL%,FTIN%,0):TX%=OTX%:FORL%=1 TO LEN(TEXT$):SYS&2E,51,ASC(MID$(TEXT$,L%,1)),,TX%,TY%,,IO%:TX%+=FONTX%*2:NEXT
15500WHEN 3:PROCcol(BCOL%,BTIN%,0):RECTANGLE FILL X%,Y%,(LEN(TEXT$))*(FONTX%*2),FONTY%*4:PROCcol(FCOL%,FTIN%,0)
15510FORL%=1 TO LEN(TEXT$):SYS&2E,51,ASC(MID$(TEXT$,L%,1)),,TX%,TY%,,IO%:TX%+=FONTX%*2:NEXT
15520ENDCASE
15530ENDPROC
15540
15550DEFPROCedbruclick
15560IF FUSE%=4 THEN PROCkillf:PROCwindname(2,PIC$):PROCspinit:FUSE%=-1
15570IF MOUIC%>=0 AND MOUIC%<=11 THEN EDBR%=MOUIC%+1:PROCforcedrawedbru(0,-640,1024,0):ENDPROC
15580IF MOUIC%=13 THEN SYS&2E,303,BRUSH%,STR$EDBR%:PROCforcedrawedbru(0,-640,1024,0):ENDPROC
15590IF MOUIC%=14 THEN SYS&2E,289,BRUSH%,STR$EDBR%:PROCforcedrawedbru(0,-640,1024,0):ENDPROC
15600IF MOUIC%<>15 THEN GOTO 15630
15610PROCinsprite(0,BRUSH%,STR$EDBR%):GCOL3,63 TINT 192:RECTANGLE FILL 0,0,62,60:PROCoutsprite:PROCinsprite(1,BRUSH%,STR$EDBR%):GCOL3,63 TINT 192:RECTANGLE FILL 0,0,62,60:PROCoutsprite
15620PROCforcedrawedbru(0,-640,1024,0):ENDPROC
15630IF MOUIC%<>16 THEN GOTO 15660
15640FORL%=0 TO 1:PROCinsprite(L%,BRUSH%,STR$EDBR%):PLOT4,0,0:PLOT4,60,60:PLOT189,2,0:PROCoutsprite:NEXT
15650PROCforcedrawedbru(0,-640,1024,0):ENDPROC
15660IF MOUIC%<>17 THEN GOTO 15690
15670FORL%=0 TO 1:PROCinsprite(L%,BRUSH%,STR$EDBR%):PLOT4,2,0:PLOT4,60,60:PLOT189,0,0:PROCoutsprite:NEXT
15680PROCforcedrawedbru(0,-640,1024,0):ENDPROC
15690IF MOUIC%<>18 THEN GOTO 15720
15700FORL%=0 TO 1:PROCinsprite(L%,BRUSH%,STR$EDBR%):PLOT4,0,0:PLOT4,62,56:PLOT189,0,4:PROCoutsprite:NEXT
15710PROCforcedrawedbru(0,-640,1024,0):ENDPROC
15720IF MOUIC%<>19 THEN GOTO 15750
15730FORL%=0 TO 1:PROCinsprite(L%,BRUSH%,STR$EDBR%):PLOT4,0,4:PLOT4,62,60:PLOT189,0,0:PROCoutsprite:NEXT
15740PROCforcedrawedbru(0,-640,1024,0):ENDPROC
15750IF MOUIC%<>12 THEN GOTO 15780
15760FORL%=0 TO 1:PROCinsprite(L%,BRUSH%,STR$EDBR%):GCOL0,0 TINT 0:RECTANGLE FILL 0,0,62,60:PROCoutsprite:NEXT
15770PROCforcedrawedbru(0,-640,1024,0):ENDPROC
15780IF MOUIC%=20 THEN SYS&2E,268,BRUSH%,"<Archrome$Dir>.Brushes":PROCmenoff:ENDPROC
15790IF MOUIC%=21 THEN SYS&2E,266,BRUSH%,"<Archrome$Dir>.Brushes":PROCforcedrawedbru(0,-640,1024,0):ENDPROC
15800BLK%!8=HAND%(12):SYS "Wimp_GetWindowState",,BLK%+8
15810XOF%=((!BLK%)-(BLK%!12))-28:IF XOF%>766 OR XOF%<0 THEN ENDPROC
15820YOF%=((BLK%!4)-(BLK%!16))-112:IF YOF%>508 OR YOF%<0 THEN ENDPROC
15830XOF%=XOF% DIV 24:YOF%=YOF% DIV 32
15840IF MOUB%=4 THEN SYS&2E,298,BRUSH%,STR$EDBR%,XOF%,YOF%,63,192:SYS&2E,300,BRUSH%,STR$EDBR%,XOF%,YOF%,1
15850IF MOUB%=1 THEN SYS&2E,298,BRUSH%,STR$EDBR%,XOF%,YOF%:SYS&2E,300,BRUSH%,STR$EDBR%,XOF%,YOF%
15860IF MOUB%<>1 AND MOUB%<>4 THEN ENDPROC
15870PROCforcedrawedbru((XOF%*24)+28,-(((15-YOF%)*32)+48),(XOF%*24)+52,-(((15-YOF%)*32)+16))
15880PROCforcedrawedbru(((EDBR%-1)*64)+32,-620,((EDBR%-1)*64)+96,-560)
15890ENDPROC
15900
15910DEFPROCecfclick
15920IF MOUIC%>17 AND MOUIC%<22 THEN PROCforcedrawpat:ENDPROC
15930IF MOUIC%<>16 THEN ENDPROC
15940IF MOUB%<>1 AND MOUB%<>4 THEN ENDPROC
15950BLK%!8=HAND%(11):SYS "Wimp_GetWindowState",,BLK%+8
15960XOF%=((!BLK%)-(BLK%!12))-180:IF XOF%>766 THEN XOF%=766
15970YOF%=((BLK%!4)-(BLK%!16))-20:IF YOF%>220 THEN YOF%=220
15980col%=(XOF% DIV 24)+((YOF% DIV 28)*32)
15990cby%=TTB%?col%
16000CECF%=FNcecf:L%=0:FORK%=8 TO 15:IF FNhigh(11,K%) THEN L%=K%-7:NEXT ELSE NEXT
16010IF L%=0 THEN ENDPROC
16020ECF%(L%,CECF%)=cby%
16030PROCforcedrawpat
16040ENDPROC
16050
16060DEFPROCreloadpatfills
16070SYS&2E,266,PFILLS%,"<Archrome$Dir>.PatFills"
16080ENDPROC
16090
16100DEFPROCpatfillclick
16110IF MOUIC%=0 THEN PROCreloadpatfills:ENDPROC
16120BLK%!8=HAND%(20):SYS "Wimp_GetWindowState",,BLK%+8
16130XOF%=((!BLK%)-(BLK%!12)):YOF%=((BLK%!4)-(BLK%!16))
16140K%=-1:FORL%=1 TO 12:BX%=((L%-1)*84)+24:BY%=52:IF XOF%>=BX% AND YOF%>=BY% AND XOF%<(BX%+64) AND YOF%<(BY%+64) THEN K%=L%:NEXT ELSE NEXT
16150IF K%=-1 THEN ENDPROC ELSE CPF%=K%:PROCforcedrawpatfill
16160ENDPROC
16170
16180DEFPROCsavegrfills
16190F%=OPENOUT("<Archrome$Dir>.GradFills")
16200FORL%=0 TO 15:FORK%=0 TO 1:FORI%=0 TO 4:PRINT#F%,GRFI%(L%,K%,I%):NEXT:NEXT:NEXT
16210CLOSE#F%
16220ENDPROC
16230
16240DEFPROCloadgrfills
16250F%=OPENIN("<Archrome$Dir>.GradFills")
16260FORL%=0 TO 15:FORK%=0 TO 1:FORI%=0 TO 4:INPUT#F%,GRFI%(L%,K%,I%):NEXT:NEXT:NEXT
16270CLOSE#F%
16280PROCforcedrawfill
16290ENDPROC
16300
16310DEFPROCfilluse
16320SNO%=FNgrafilno:IF SNO%=-1 THEN ENDPROC
16330PROCkillf:FUSE%=31:FUST%=0:GRFN%=SNO%:GRTY%=0:PROChelp:PROCwindname(2,PIC$+" [Graduated fill ("+FNfilldet(SNO%+1)+")]"):PROCspinit
16340IF MOUB%=4 THEN PROCmenoff
16350ENDPROC
16360
16370DEFFNfilldet(S%):IF GRTY%=0 THEN ="flood "+STR$S% ELSE ="area "+STR$S%
16380
16390DEFPROCinvertfill
16400NOS%=FNgrafilno
16410IA%=0:IB%=VALFNgeticon(13,44):IB%-=1
16420REPEAT:SWAP GRFI%(IA%,0,NOS%),GRFI%(IB%,0,NOS%):SWAP GRFI%(IA%,1,NOS%),GRFI%(IB%,1,NOS%):IA%+=1:IB%-=1:UNTIL IA%>IB%
16430PROCforcedrawfill
16440ENDPROC
16450
16460DEFPROCinterpfill
16470NOS%=FNgrafilno
16480IA%=0:REPEAT:IB%=IA%+1
16490IF IB%=16 THEN PROCforcedrawfill:ENDPROC
16500IF GRFI%(IB%,0,NOS%)=0 AND GRFI%(IB%,1,NOS%)=0 THEN IB%+=1:GOTO 16490
16510IF IB%=IA%+1 THEN IA%=IB%:IB%+=1:GOTO 16490
16520T1%=GRFI%(IA%,1,NOS%)>>6
16530R1%=((GRFI%(IA%,0,NOS%) AND %11)<<2)+T1%
16540G1%=(GRFI%(IA%,0,NOS%) AND %1100)+T1%
16550B1%=((GRFI%(IA%,0,NOS%) AND %110000)>>2)+T1%
16560T2%=GRFI%(IB%,1,NOS%)>>6
16570RD=((((GRFI%(IB%,0,NOS%) AND %11)<<2)+T2%)-R1%)/(IB%-IA%)
16580GD=(((GRFI%(IB%,0,NOS%) AND %1100)+T2%)-G1%)/(IB%-IA%)
16590BD=((((GRFI%(IB%,0,NOS%) AND %110000)>>2)+T2%)-B1%)/(IB%-IA%)
16600IA%+=1:FORL%=1 TO IB%-IA%
16610R%=R1%+(RD*L%):G%=G1%+(GD*L%):B%=B1%+(BD*L%)
16620SYS "ColourTrans_ReturnGCOLForMode",(B%<<28)+(G%<<20)+(R%<<12),15 TO G%
16630GRFI%(IA%,0,NOS%)=G%>>2:GRFI%(IA%,1,NOS%)=(G% AND %11)<<6
16640IA%+=1:NEXT
16650IB%=IA%+1:GOTO 16490
16660
16670DEFPROCwipefill
16680NOS%=FNgrafilno
16690FORL%=0 TO 15:FORK%=0 TO 1:GRFI%(L%,K%,NOS%)=0:NEXT:NEXT
16700PROCforcedrawfill:ENDPROC
16710
16720DEFPROCcompfill
16730NOS%=FNgrafilno
16740CA%=GRFI%(0,0,NOS%):TA%=GRFI%(0,1,NOS%):IA%=1:IB%=1
16750WHILE IB%<16
16760IF GRFI%(IB%,0,NOS%)<>CA% OR GRFI%(IB%,1,NOS%)<>TA% THEN GRFI%(IA%,0,NOS%)=GRFI%(IB%,0,NOS%):GRFI%(IA%,1,NOS%)=GRFI%(IB%,1,NOS%):CA%=GRFI%(IA%,0,NOS%):TA%=GRFI%(IA%,1,NOS%):IA%+=1
16770IB%+=1:ENDWHILE
16780WHILE IA%<16:GRFI%(IA%,0,NOS%)=0:GRFI%(IA%,1,NOS%)=0:IA%+=1:ENDWHILE
16790PROCforcedrawfill
16800ENDPROC
16810
16820DEFPROCfillclick
16830IF MOUIC%<0 THEN GOTO 17510
16840IF MOUIC%=51 THEN PROCsavegrfills
16850IF MOUIC%=50 THEN PROCloadgrfills
16860IF MOUIC%=52 THEN PROCfilluse:ENDPROC
16870IF MOUIC%=60 THEN PROCinvertfill:ENDPROC
16880IF MOUIC%=61 THEN PROCinterpfill:ENDPROC
16890IF MOUIC%=62 THEN PROCwipefill:ENDPROC
16900IF MOUIC%=63 THEN PROCcompfill:ENDPROC
16910IF MOUIC%>=0 AND MOUIC%<=15 THEN PROCsetgradfill:ENDPROC
16920IF MOUIC%>=17 AND MOUIC%<=21 THEN PROCforcedrawfill:ENDPROC
16930IF MOUIC%<>40 THEN GOTO 16960
16940FILR%=FILR%-1:IF FILR%<0 THEN FILR%=359
16950PROCseticon(13,39,STR$FILR%):ENDPROC
16960IF MOUIC%<>41 THEN GOTO 16990
16970FILR%=FILR%+1:IF FILR%>359 THEN FILR%=0
16980PROCseticon(13,39,STR$FILR%):ENDPROC
16990IF MOUIC%<>43 THEN GOTO 17020
17000NOS%=VALFNgeticon(13,44):IF NOS%=2 THEN ENDPROC
17010PROCshadeicon(13,FNfilic(NOS%-1)):NOS%-=1:PROCseticon(13,44,STR$(NOS%)):ENDPROC
17020IF MOUIC%<>45 THEN GOTO 17050
17030NOS%=VALFNgeticon(13,44):IF NOS%=16 THEN ENDPROC
17040PROCclearicon(13,FNfilic(NOS%)):NOS%+=1:PROCseticon(13,44,STR$(NOS%)):ENDPROC
17050
17060ENDPROC
17070
17080DEFPROCsetgradfill
17090SNO%=FNgrafilno
17100CASE MOUIC% OF
17110WHEN 0:RESTORE 17340
17120WHEN 1:RESTORE 17350
17130WHEN 2:RESTORE 17360
17140WHEN 3:RESTORE 17370
17150WHEN 4:RESTORE 17380
17160WHEN 5:RESTORE 17390
17170WHEN 6:RESTORE 17400
17180WHEN 7:RESTORE 17420
17190WHEN 8:RESTORE 17430
17200WHEN 9:RESTORE 17440
17210WHEN 10:RESTORE 17450
17220WHEN 11:RESTORE 17410
17230WHEN 12:RESTORE 17460
17240WHEN 13:RESTORE 17470
17250WHEN 14:RESTORE 17480
17260WHEN 15:RESTORE 17490
17270ENDCASE
17280FORL%=0 TO 15:PROCshadeicon(13,FNfilic(L%)):FORK%=0 TO 1:GRFI%(L%,K%,SNO%)=0:NEXT:NEXT
17290READ S%:FORL%=0 TO S%-1:PROCclearicon(13,FNfilic(L%)):FORK%=0 TO 1:READ GRFI%(L%,K%,SNO%):NEXT:NEXT
17300PROCseticon(13,44,STR$S%)
17310PROCforcedrawfill
17320ENDPROC
17330
17340DATA 12, 1,0,1,64,1,128,1,192,2,0,2,64,2,128,2,192,3,0,3,64,3,128,3,192
17350DATA 12, 4,0,4,64,4,128,4,192,8,0,8,64,8,128,8,192,12,0,12,64,12,128,12,192
17360DATA 12, 5,0,5,64,5,128,5,192,10,0,10,64,10,128,10,192,15,0,15,64,15,128,15,192
17370DATA 12, 16,0,16,64,16,128,16,192,32,0,32,64,32,128,32,192,48,0,48,64,48,128,48,192
17380DATA 12, 17,0,17,64,17,128,17,192,34,0,34,64,34,128,34,192,51,0,51,64,51,128,51,192
17390DATA 12, 20,0,20,64,20,128,20,192,40,0,40,64,40,128,40,192,60,0,60,64,60,128,60,192
17400DATA 15, 0,64,0,128,0,192,21,0,21,64,21,128,21,192,42,0,42,64,42,128,42,192,63,0,63,64,63,128,63,192
17410DATA 12, 1,0,1,64,1,128,1,192,6,0,6,64,6,128,6,192,27,0,27,64,27,128,27,192
17420DATA 8, 18,0,18,64,18,128,18,192,39,0,39,64,39,128,39,192
17430DATA 8, 2,0,2,64,2,128,2,192,7,0,7,64,7,128,7,192
17440DATA 12, 17,0,17,64,17,128,17,192,38,0,38,64,38,128,38,192,59,0,59,64,59,128,59,192
17450DATA 12, 5,0,5,64,5,128,5,192,10,0,26,64,26,128,26,192,47,0,47,64,47,128,47,192
17460DATA 12, 20,0,20,64,20,128,20,192,41,0,41,64,41,128,41,192,62,0,62,64,62,128,62,192
17470DATA 12, 1,0,1,64,1,128,1,192,22,0,22,64,22,128,22,192,43,0,43,64,43,128,43,192
17480DATA 8, 9,0,9,64,9,128,9,192,14,0,14,64,14,128,14,192,0
17490DATA 8, 21,0,21,64,21,128,21,192,42,0,42,64,42,128,42,192
17500
17510BLK%!8=HAND%(13):SYS "Wimp_GetWindowState",,BLK%+8
17520XOF%=((!BLK%)-(BLK%!12))-422:IF XOF%>766 OR XOF%<0 THEN ENDPROC
17530YOF%=((BLK%!4)-(BLK%!16))-236:IF YOF%>220 OR YOF%<0 THEN ENDPROC
17540col%=(XOF% DIV 24)+((YOF% DIV 28)*32)
17550tin%=PALTAB%?((col%*2)+1)
17560col%=PALTAB%?(col%*2)
17570FPE%=-1:FORL%=0 TO 15:IF FNhigh(13,FNfilic(L%)) THEN FPE%=L%:NEXT ELSE NEXT
17580SNO%=FNgrafilno
17590IF FPE%=-1 OR SNO%=-1 THEN ENDPROC
17600GRFI%(FPE%,0,SNO%)=col%:GRFI%(FPE%,1,SNO%)=tin%:PROCforcedrawfill
17610ENDPROC
17620
17630DEFFNfilic(FSN%):IF FSN%<=11 THEN =FSN%+26 ELSE =(FSN%-12)+46
17640
17650DEFPROClinepatclick
17660CASE MOUIC% OF
17670WHEN 3:PL%=VALFNgeticon(10,1):IF PL%>1 THEN PROCshadeicon(10,PL%+6):PL%-=1:PROCseticon(10,1,STR$PL%)
17680WHEN 2:PL%=VALFNgeticon(10,1):IF PL%<40 THEN PROCclearicon(10,PL%+7):PL%+=1:PROCseticon(10,1,STR$PL%)
17690WHEN 4:PALE%=VALFNgeticon(10,1):VDU23,6,
17700IN%=7:FORL%=1 TO 5:N%=0:I%=128:FORK%=1 TO 8:IF FNhigh(10,IN%) THEN N%+=I%
17710I%=I% DIV 2:IN%+=1:NEXT:VDU N%:PAT%(L%)=N%:NEXT:VDU 0|
17720IF MOUB%=4 THEN PROCmenoff
17730ENDCASE
17740ENDPROC
17750
17760DEFPROCgrabclick
17770IF MOUIC%<>12 OR (FUSE%<>34 AND FUST%<2) THEN ENDPROC
17780PROCinpic:IF FUSE%<>34 THEN PROCpgrab(OX%,OY%,3) ELSE PROCpimport(OX%,OY%,3)
17790GRXM%=VAL(FNgeticon(8,4)):IF GRXM%<1 THEN GRXM%=1:PROCseticon(8,4,STR$GRXM%)
17800GRYM%=VAL(FNgeticon(8,5)):IF GRYM%<1 THEN GRYM%=1:PROCseticon(8,5,STR$GRYM%)
17810GRXD%=VAL(FNgeticon(8,6)):IF GRXD%<1 THEN GRXD%=1:PROCseticon(8,6,STR$GRXD%)
17820GRYD%=VAL(FNgeticon(8,7)):IF GRYD%<1 THEN GRYD%=1:PROCseticon(8,6,STR$GRYD%)
17830PROCgrabflip
17840GRMA%=FNhigh(8,14)
17850IF FUSE%<>34 THEN PROCpgrab(OX%,OY%,3) ELSE PROCpimport(OX%,OY%,3)
17860PROCoutpic:PROCquickdrawmain
17870ENDPROC
17880
17890DEFPROCgrabflip
17900IF (FNhigh(8,10) AND NOT GRFX%) OR ((NOT FNhigh(8,10)) AND GRFX%) THEN SYS&2E,289,SPBUF%,GRN$:GRFX%=NOT GRFX%
17910IF (FNhigh(8,11) AND NOT GRFY%) OR ((NOT FNhigh(8,11)) AND GRFY%) THEN SYS&2E,303,SPBUF%,GRN$:GRFY%=NOT GRFY%
17920ENDPROC
17930
17940DEFPROCgridclick
17950D%=VAL(FNgeticon(6,4))
17960IF MOUIC%=2 AND D%>1 THEN D%-=1:PROCseticon(6,4,STR$D%):ENDPROC
17970IF MOUIC%=6 AND D%<999 THEN D%+=1:PROCseticon(6,4,STR$D%):ENDPROC
17980D%=VAL(FNgeticon(6,5))
17990IF MOUIC%=3 AND D%>1 THEN D%-=1:PROCseticon(6,5,STR$D%):ENDPROC
18000IF MOUIC%=7 AND D%<999 THEN D%+=1:PROCseticon(6,5,STR$D%):ENDPROC
18010D%=VAL(FNgeticon(6,12))
18020IF MOUIC%=10 AND D%>0 THEN D%-=1:PROCseticon(6,12,STR$D%):ENDPROC
18030IF MOUIC%=14 AND D%<999 THEN D%+=1:PROCseticon(6,12,STR$D%):ENDPROC
18040D%=VAL(FNgeticon(6,13))
18050IF MOUIC%=11 AND D%>0 THEN D%-=1:PROCseticon(6,13,STR$D%):ENDPROC
18060IF MOUIC%=15 AND D%<999 THEN D%+=1:PROCseticon(6,13,STR$D%):ENDPROC
18070IF MOUIC%=16 THEN PROCseticon(6,4,"1"):PROCseticon(6,5,"1"):PROCseticon(6,12,"0"):PROCseticon(6,13,"0"):ENDPROC
18080IF MOUIC%<>17 THEN ENDPROC
18090GRWI%=VAL(FNgeticon(6,4)):IF GRWI%<1 THEN GRWI%=1
18100GRHE%=VAL(FNgeticon(6,5)):IF GRHE%<1 THEN GRHE%=1
18110GRBX%=VAL(FNgeticon(6,12)):IF GRBX%>GRWI% THEN REPEAT:GRBX%-=GRWI%:UNTIL GRBX%<GRWI%:PROCseticon(6,12,STR$GRBX%)
18120GRBY%=VAL(FNgeticon(6,13)):IF GRBY%>GRHE% THEN REPEAT:GRBY%-=GRHE%:UNTIL GRBY%<GRHE%:PROCseticon(6,13,STR$GRBY%)
18130IF MOUB%=4 THEN PROCmenoff
18140PROCforcedrawmain
18150ENDPROC
18160
18170DEFPROCbrushclick
18180IF MOUIC%>=0 AND MOUIC%<=11 THEN
18190IF FUST%>0 THEN PROCinpic:PROCpaintscale:PROCeorback:PROCpaintbrush(OX%,OY%)
18200SELBR%=MOUIC%+1
18210IF FUST%>0 THEN PROCeorback:PROCpaintbrush(OX%,OY%):PROCoutpic:PROCquickdrawmain
18220PROCforcedrawbrush
18230ENDIF
18240IF MOUIC%<>20 OR FUSE%=29 OR FUSE%=30 THEN ENDPROC
18250IF FUST%>0 THEN PROCinpic:PROCpaintscale:PROCeorback:PROCpaintbrush(OX%,OY%)
18260BXM%=VAL(FNgeticon(5,16)):IF BXM%<1 THEN BXM%=1:PROCseticon(4,16,"1")
18270BYM%=VAL(FNgeticon(5,18)):IF BYM%<1 THEN BYM%=1:PROCseticon(4,18,"1")
18280BXD%=VAL(FNgeticon(5,17)):IF BXD%<1 THEN BXD%=1:PROCseticon(4,17,"1")
18290BYD%=VAL(FNgeticon(5,19)):IF BYD%<1 THEN BYD%=1:PROCseticon(4,19,"1")
18300IF FUST%>0 THEN PROCpaintscale:PROCeorback:PROCpaintbrush(OX%,OY%):PROCoutpic:PROCquickdrawmain
18310ENDPROC
18320
18330DEFPROCairbclick
18340D%=VAL(FNgeticon(4,1))
18350IF MOUIC%=4 AND D%>1 THEN D%-=1:PROCseticon(4,1,STR$D%):ENDPROC
18360IF MOUIC%=6 AND D%<999 THEN D%+=1:PROCseticon(4,1,STR$D%):ENDPROC
18370D%=VAL(FNgeticon(4,3))
18380IF MOUIC%=5 AND D%>4 THEN D%-=1:PROCseticon(4,3,STR$D%):ENDPROC
18390IF MOUIC%=7 AND D%<999 THEN D%+=1:PROCseticon(4,3,STR$D%):ENDPROC
18400ENDPROC
18410
18420DEFPROCmenoff:SYS "Wimp_CreateMenu",-1:ENDPROC
18430
18440DEFPROCbuildiconmenu
18450PROCbuildmenu(30,"Archrome")
18460PROCaddtomenu(30,"Info",1,"")
18470PROCaddtomenu(30,"Save",0,"L")
18480PROCaddtomenu(30,"Quit",-1,"F")
18490ENDPROC
18500
18510DEFPROCiconmenu:MENO%=30:SYS "Wimp_CreateMenu",,MENAD%(30),MOUX%-64,252:ENDPROC
18520
18530DEFPROCwindmenu:MENO%=0:MEBA%=MENU%:MEINBA%=MENUIND%
18540FORL%=0 TO NOMENS%:TAD%=MENAD%(L%)+28:REPEAT:!TAD%=(!TAD%) AND 130:TAD%!8=(TAD%!8) AND (&FFFFFFFF-(1<<22)):TAD%+=24:UNTIL !(TAD%-24)>127:NEXT
18550
18560IF LITY%=21 THEN PROCtickitem(12,1)
18570IF LITY%=53 THEN PROCtickitem(12,2)
18580IF LITY%=5 THEN PROCtickitem(11,1)
18590IF (USE% AND 15)=0 THEN PROCtickitem(11,3)
18600IF (USE% AND 15)=1 THEN PROCtickitem(11,4)
18610IF (USE% AND 15)=2 THEN PROCtickitem(11,5)
18620IF (USE% AND 15)=3 THEN PROCtickitem(11,6)
18630IF (USE% AND 15)=4 THEN PROCtickitem(11,7)
18640IF (USE% AND 15)=6 THEN PROCtickitem(11,8)
18650IF (USE% AND 15)=7 THEN PROCtickitem(11,9)
18660IF (USE% AND 112)=16 THEN PROCtickitem(11,10)
18670IF (USE% AND 112)=32 THEN PROCtickitem(11,11)
18680IF (USE% AND 112)=48 THEN PROCtickitem(11,12)
18690IF (USE% AND 112)=64 THEN PROCtickitem(11,13)
18700IF (USE% AND 112)=80 THEN PROCtickitem(11,14)
18710IF FONTS%=0 THEN PROCshadeitem(14,FONTS%+3)
18720MI%=1:FORL%=2 TO 16
18730IF ZOOM%=L% THEN PROCtickitem(3,MI%)
18740MI%+=1:NEXT
18750IF GRCO%=-1 THEN PROCshadeitem(5,2) ELSE PROCshadeitem(5,1)
18760IF GRLO% THEN PROCtickitem(5,3)
18770IF ZOOM%>1 THEN PROCtickitem(0,8)
18780IF KUKE% THEN PROCtickitem(10,2)
18790
18800SYS "Wimp_CreateMenu",,MENAD%(0),MOUX%-64,MOUY%+60
18810ENDPROC
18820
18830DEFPROCbuildmainmenu
18840MEOF%=0:MEIN%=0
18850
18860PROCbuildmenu(15,"Speed")
18870PROCaddtomenu(15,"Very fast",-1,"")
18880PROCaddtomenu(15,"Fast",-1,"")
18890PROCaddtomenu(15,"Medium",-1,"")
18900PROCaddtomenu(15,"Slow",-1,"F")
18910
18920PROCbuildmenu(16,"Mouse")
18930PROCaddtomenu(16,"X only",MENAD%(15),"")
18940PROCaddtomenu(16,"Y only",MENAD%(15),"")
18950PROCaddtomenu(16,"Both",MENAD%(15),"F")
18960
18970PROCbuildmenu(1,"File")
18980PROCaddtomenu(1,"Save",0,"")
18990PROCaddtomenu(1,"Save as sprite",7,"")
19000PROCaddtomenu(1,"Export",-1,"F")
19010
19020PROCbuildmenu(12,"Pattern")
19030PROCaddtomenu(12,"Restarted",-1,"")
19040PROCaddtomenu(12,"Continuous",-1,"F")
19050
19060PROCbuildmenu(11,"Styles")
19070PROCaddtomenu(11,"Solid line",-1,"")
19080PROCaddtomenu(11,"Line pattern",MENAD%(12),"L")
19090PROCaddtomenu(11,"Overwrite",-1,"")
19100PROCaddtomenu(11,"OR",-1,"")
19110PROCaddtomenu(11,"AND",-1,"")
19120PROCaddtomenu(11,"EOR",-1,"")
19130PROCaddtomenu(11,"Invert",-1,"")
19140PROCaddtomenu(11,"NAND",-1,"")
19150PROCaddtomenu(11,"NOR",-1,"L")
19160PROCaddtomenu(11,"ECF 1",-1,"")
19170PROCaddtomenu(11,"ECF 2",-1,"")
19180PROCaddtomenu(11,"ECF 3",-1,"")
19190PROCaddtomenu(11,"ECF 4",-1,"")
19200PROCaddtomenu(11,"Giant ECF",-1,"F")
19210
19220PROCbuildmenu(13,"Fill")
19230PROCaddtomenu(13,"Flood fill",-1,"")
19240PROCaddtomenu(13,"Pattern fill",-1,"L")
19250PROCaddtomenu(13,"Graduated fill",17,"F")
19260
19270PROCbuildmenu(2,"Paint")
19280PROCaddtomenu(2,"Show palette",-1,"")
19290PROCaddtomenu(2,"Unset transparents",-1,"")
19300PROCaddtomenu(2,"Set transparents",-1,"L")
19310PROCaddtomenu(2,"Pixels",-1,"")
19320PROCaddtomenu(2,"Sketch",-1,"")
19330PROCaddtomenu(2,"Rubber line",-1,"")
19340PROCaddtomenu(2,"Airbrush...",-1,"")
19350PROCaddtomenu(2,"Paintbrush...",-1,"L")
19360PROCaddtomenu(2,"Fill",MENAD%(13),"L")
19370PROCaddtomenu(2,"Line style",MENAD%(11),"F")
19380
19390L%=1:LFR$="":NOFM%=40:NOLF%=0
19400CFR$=FNfontroot(FONT$(L%))
19410IF CFR$=LFR$ THEN FONTT$(NOLF%)=RIGHT$(FONT$(L%),(LEN(FONT$(L%))-(LEN(CFR$)+1))):NOLF%+=1:GOTO 19510
19420IF LFR$<>"" THEN
19430IF NOLF%>0 THEN
19440PROCbuildmenu(NOFM%,LFR$):FORK%=0 TO NOLF%-1:IF K%=NOLF%-1 THEN O$="F" ELSE O$=""
19450PROCaddtomenu(NOFM%,FONTT$(K%),-1,O$):NEXT:NOLF%=0:NOFM%+=1
19460ELSE
19470IF INSTR(FONT$(L%-1),".")<>0 THEN PROCbuildmenu(NOFM%,LFR$):PROCaddtomenu(NOFM%,RIGHT$(FONT$(L%-1),(LEN(FONT$(L%-1))-(LEN(LFR$)+1))),-1,"F"):NOLF%=0:NOFM%+=1
19480ENDIF
19490ENDIF
19500LFR$=CFR$:IF INSTR(FONT$(L%),".")<>0 THEN FONTT$(NOLF%)=RIGHT$(FONT$(L%),(LEN(FONT$(L%))-(LEN(CFR$)+1))):NOLF%+=1
19510L%+=1:IF L%<=FONTS% THEN GOTO 19400
19520IF LFR$<>"" THEN
19530IF NOLF%>0 THEN
19540PROCbuildmenu(NOFM%,LFR$):FORK%=0 TO NOLF%-1:IF K%=NOLF%-1 THEN O$="F" ELSE O$=""
19550PROCaddtomenu(NOFM%,FONTT$(K%),-1,O$):NEXT:NOLF%=0:NOFM%+=1
19560ELSE
19570IF INSTR(FONT$(L%-1),".")<>0 THEN PROCbuildmenu(NOFM%,LFR$):PROCaddtomenu(NOFM%,RIGHT$(FONT$(L%-1),(LEN(FONT$(L%-1))-(LEN(LFR$)+1))),-1,"F"):NOLF%=0:NOFM%+=1
19580ENDIF
19590ENDIF
19600
19610PROCbuildmenu(14,"Fonts")
19620L%=0:LFR$="":NOFM%=40:COTF%=1
19630IF L%=0 AND FONTS%=0 THEN PROCaddtomenu(14,FONT$(0),-1,"L"):GOTO 19750
19640IF L%=0 THEN PROCaddtomenu(14,FONT$(0),-1,""):LFR$="System font":GOTO 19720
19650CFR$=FNfontroot(FONT$(L%))
19660IF CFR$=LFR$ THEN COTF%+=1:GOTO 19720
19670IF LFR$<>"System font" THEN
19680IF COTF%>1 OR INSTR(FONT$(L%-1),".")<>0 THEN PROCaddtomenu(14,LFR$,MENAD%(NOFM%),""):NOFM%+=1 ELSE PROCaddtomenu(14,LFR$,-1,"")
19690COTF%=1
19700ENDIF
19710LFR$=CFR$
19720L%+=1:IF L%<=FONTS% THEN GOTO 19630
19730IF COTF%>1 OR INSTR(FONT$(L%-1),".")<>0 THEN PROCaddtomenu(14,LFR$,MENAD%(NOFM%),"L") ELSE PROCaddtomenu(14,LFR$,-1,"L")
19740
19750PROCaddtomenu(14,"Background",15,"")
19760IF FONTS%>0 THEN PROCaddtomenu(14,"Parameters",16,"F") ELSE PROCaddtomenu(14,"Parameters",16,"SF")
19770
19780PROCbuildmenu(3,"Zoom")
19790FORL%=2 TO 16
19800IF L%=16 THEN O$="F" ELSE O$=""
19810PROCaddtomenu(3,"Zoom x"+STR$L%,-1,O$)
19820NEXT
19830
19840PROCbuildmenu(4,"Shapes")
19850PROCaddtomenu(4,"Wire rectangle",-1,"")
19860PROCaddtomenu(4,"Wire triangle",-1,"")
19870PROCaddtomenu(4,"Wire circle",-1,"")
19880PROCaddtomenu(4,"Wire ellipse",-1,"")
19890PROCaddtomenu(4,"Wire parallelogram",-1,"")
19900PROCaddtomenu(4,"Wire arc",-1,"L")
19910PROCaddtomenu(4,"Solid rectangle",-1,"")
19920PROCaddtomenu(4,"Solid triangle",-1,"")
19930PROCaddtomenu(4,"Solid circle",-1,"")
19940PROCaddtomenu(4,"Solid ellipse",-1,"")
19950PROCaddtomenu(4,"Solid parallelogram",-1,"")
19960PROCaddtomenu(4,"Solid sector",-1,"")
19970PROCaddtomenu(4,"Solid segment",-1,"F")
19980
19990PROCbuildmenu(6,"Presets")
20000PROCaddtomenu(6,"2x2 grid",-1,"")
20010PROCaddtomenu(6,"3x3 grid",-1,"")
20020PROCaddtomenu(6,"4x4 grid",-1,"")
20030PROCaddtomenu(6,"6x6 grid",-1,"")
20040PROCaddtomenu(6,"8x8 grid",-1,"")
20050PROCaddtomenu(6,"16x16 grid",-1,"")
20060PROCaddtomenu(6,"32x32 grid",-1,"")
20070PROCaddtomenu(6,"32x16 grid",-1,"F")
20080
20090PROCbuildmenu(5,"Grid")
20100PROCaddtomenu(5,"Show grid",-1,"")
20110PROCaddtomenu(5,"Hide grid",-1,"")
20120PROCaddtomenu(5,"Grid lock",-1,"")
20130PROCaddtomenu(5,"Preset grids",MENAD%(6),"")
20140PROCaddtomenu(5,"Edit grid",6,"F")
20150
20160PROCbuildmenu(7,"Manipulate")
20170PROCaddtomenu(7,"Copy area...",-1,"")
20180PROCaddtomenu(7,"Move area...",-1,"")
20190PROCaddtomenu(7,"Mirror area",-1,"")
20200PROCaddtomenu(7,"Invert area",-1,"")
20210PROCaddtomenu(7,"Strip area",-1,"")
20220PROCaddtomenu(7,"Rotate...",-1,"")
20230PROCaddtomenu(7,"Scale to fit...",-1,"L")
20240PROCaddtomenu(7,"Pixel mapping",-1,"F")
20250
20260PROCbuildmenu(8,"Special")
20270PROCaddtomenu(8,"Trace",-1,"")
20280PROCaddtomenu(8,"Smudge area",-1,"")
20290PROCaddtomenu(8,"Wet brush...",-1,"")
20300PROCaddtomenu(8,"Tint area",-1,"")
20310PROCaddtomenu(8,"Tint brush...",-1,"")
20320PROCaddtomenu(8,"Set frame",19,"")
20330PROCaddtomenu(8,"RGB control...",-1,"")
20340PROCaddtomenu(8,"Grey scale...",-1,"")
20350PROCaddtomenu(8,"Pixelate...",-1,"")
20360PROCaddtomenu(8,"Colour replace...",-1,"F")
20370
20380PROCbuildmenu(9,"Edit")
20390PROCaddtomenu(9,"Line pattern",10,"")
20400PROCaddtomenu(9,"Fill patterns",11,"")
20410PROCaddtomenu(9,"Edit brushes",12,"")
20420PROCaddtomenu(9,"Graduated fills",13,"F")
20430
20440PROCbuildmenu(10,"Options")
20450PROCaddtomenu(10,"Mouse",MENAD%(16),"L")
20460PROCaddtomenu(10,"Cursor keys",-1,"")
20470PROCaddtomenu(10,"Wipe picture",-1,"L")
20480PROCaddtomenu(10,"Help",-1,"F")
20490
20500PROCbuildmenu(0,"Archrome")
20510PROCaddtomenu(0,"File",MENAD%(1),"")
20520PROCaddtomenu(0,"Paint",MENAD%(2),"")
20530PROCaddtomenu(0,"Text",MENAD%(14),"")
20540PROCaddtomenu(0,"Shapes",MENAD%(4),"L")
20550PROCaddtomenu(0,"Special",MENAD%(8),"")
20560PROCaddtomenu(0,"Edit",MENAD%(9),"")
20570PROCaddtomenu(0,"Manipulate",MENAD%(7),"L")
20580PROCaddtomenu(0,"Zoom",MENAD%(3),"")
20590PROCaddtomenu(0,"Grid",MENAD%(5),"")
20600PROCaddtomenu(0,"Options",MENAD%(10),"F")
20610
20620ENDPROC
20630
20640DEFFNfontroot(F$):IF INSTR(F$,".")=0 THEN =F$
20650IPF%=1:IPF$="":WHILE MID$(F$,IPF%,1)<>".":IPF$=IPF$+MID$(F$,IPF%,1):IPF%+=1:ENDWHILE:=IPF$
20660
20670REM ** Create a menu (Number, Title)
20680DEFPROCbuildmenu(MN%,MT$)
20690MENAD%(MN%)=MENU%+MEOF%:TAD%=MENU%+MEOF%
20700$TAD%=MT$:TAD%?12=7:TAD%?13=2:TAD%?14=7:TAD%?15=0:TAD%!16=0:TAD%!20=44:TAD%!24=0
20710MEOF%+=28
20720IF MEOF%>8*1024 THEN PROCmessage(0,"Menu tree has run out of room.")
20730ENDPROC
20740
20750REM ** Feature format : L = Follow by dotted line
20760REM **                : F = Last item
20770DEFPROCaddtomenu(MN%,IT$,HA%,FE$)
20780TAD%=MENU%+MEOF%
20790FE%=0
20800IF INSTR(FE$,"L") THEN FE%+=2
20810IF INSTR(FE$,"F") THEN FE%+=128
20820!TAD%=FE%
20830IF HA%>-1 AND HA%<&8000 THEN TAD%!4=HAND%(HA%)
20840IF HA%=-1 THEN TAD%!4=-1
20850IF HA%>&8000 THEN TAD%!4=HA%
20860TAD%!8=1 OR (7<<24) OR 256
20870$(MENUIND%+MEIN%)=IT$
20880ILE%=LEN(IT$)+1
20890IF (ILE% MOD 4)>0 THEN ILE%=((ILE% DIV 4)+1)*4
20900TAD%!12=MENUIND%+MEIN%
20910TAD%!20=LEN(IT$)
20920TAD%!16=MENALO%
20930MEIN%+=ILE%
20940IF MEIN%>(8*1024) THEN PROCmessage(1,"Menu indirection buffer overflow.")
20950MEOF%+=24
20960IF MEOF%>(8*1024) THEN PROCmessage(0,"Menu tree has run out of room")
20970IF ((MENAD%(MN%)!16)-32)<(LEN(IT$)*16) THEN MENAD%(MN%)!16=(LEN(IT$)*16)+32
20980ENDPROC
20990
21000DEFPROCshadeitem(MN%,IN%):TAD%=MENAD%(MN%)+28+((IN%-1)*24):TAD%!8=(TAD%!8)+(1<<22):ENDPROC
21010
21020DEFPROCtickitem(MN%,IN%):TAD%=MENAD%(MN%)+28+((IN%-1)*24):!TAD%=(!TAD%)+1:ENDPROC
21030
21040DEFPROCmenu:SYS6,229
21050SYS "Wimp_GetPointerInfo",,BLK%+128:MBU%=BLK%!136
21060SYS "Wimp_DecodeMenu",,MENAD%(MENO%),BLK%,SEL%
21070DSI%=FALSE
21080REM VDU4:PRINT $SEL%:VDU5
21090SEL$=$SEL%
21100IF $SEL%="Quit" THEN PROCkillf:FUSE%=-1:PROCwindname(2,PIC$):PROCforcedrawmain:IF FNquityn THEN PROCdie
21110IF $SEL%="Paint" THEN DSI%=TRUE:PROCkillf:FUSE%=-1:PROChelp:PROCwindname(2,PIC$)
21120IF $SEL%="Paint.Show palette" THEN DSI%=TRUE:PROCopenpal
21130IF $SEL%="Paint.Pixels" THEN DSI%=TRUE:PROCkillf:FUSE%=0:PROChelp:PROCwindname(2,PIC$+" [pixels]")
21140IF $SEL%="Paint.Sketch" THEN DSI%=TRUE:PROCkillf:FUSE%=1:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [sketch]")
21150IF $SEL%="Paint.Rubber line" THEN DSI%=TRUE:PROCkillf:FUSE%=2:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [rubber line]")
21160IF $SEL%="Grid.Show grid" THEN DSI%=TRUE:GRCO%=PALTAB%?(COL%*2):GRTI%=PALTAB%?((COL%*2)+1):PROCforcedrawmain:GOTO 21180
21170IF $SEL%="Grid.Hide grid" THEN DSI%=TRUE:GRCO%=-1:PROCforcedrawmain:GOTO 21180
21180IF $SEL%="Zoom" THEN DSI%=TRUE:ZOOM%=1:PROCzoomsize
21190FORL%=2 TO 16
21200IF $SEL%="Zoom.Zoom x"+STR$L% THEN DSI%=TRUE:ZOOM%=L%:PROCzoomsize:PROCforcedrawmain
21210NEXT
21220IF $SEL%="Paint.Airbrush..." THEN PROCkillf:DSI%=TRUE:PROCopenwind(4):FUSE%=3:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [airbrush]")
21230IF $SEL%="Paint.Paintbrush..." THEN PROCkillf:DSI%=TRUE:PROCopenwind(5):FUSE%=4:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [paintbrush]")
21240IF $SEL%="Shapes.Wire rectangle" THEN DSI%=TRUE:PROCkillf:FUSE%=5:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [wire rectangle]")
21250IF $SEL%="Shapes.Solid rectangle" THEN DSI%=TRUE:PROCkillf:FUSE%=6:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [solid rectangle]")
21260IF $SEL%="Grid.Grid lock" THEN DSI%=TRUE:GRLO%=NOT GRLO%
21270IF $SEL%="Grid.Preset grids.2x2 grid" THEN DSI%=TRUE:GRWI%=2:GRHE%=2:PROCsetgric:PROCforcedrawmain
21280IF $SEL%="Grid.Preset grids.3x3 grid" THEN DSI%=TRUE:GRWI%=3:GRHE%=3:PROCsetgric:PROCforcedrawmain
21290IF $SEL%="Grid.Preset grids.4x4 grid" THEN DSI%=TRUE:GRWI%=4:GRHE%=4:PROCsetgric:PROCforcedrawmain
21300IF $SEL%="Grid.Preset grids.6x6 grid" THEN DSI%=TRUE:GRWI%=6:GRHE%=6:PROCsetgric:PROCforcedrawmain
21310IF $SEL%="Grid.Preset grids.8x8 grid" THEN DSI%=TRUE:GRWI%=8:GRHE%=8:PROCsetgric:PROCforcedrawmain
21320IF $SEL%="Grid.Preset grids.16x16 grid" THEN DSI%=TRUE:GRWI%=16:GRHE%=16:PROCsetgric:PROCforcedrawmain
21330IF $SEL%="Grid.Preset grids.32x32 grid" THEN DSI%=TRUE:GRWI%=32:GRHE%=32:PROCsetgric:PROCforcedrawmain
21340IF $SEL%="Grid.Preset grids.32x16 grid" THEN DSI%=TRUE:GRWI%=32:GRHE%=16:PROCsetgric:PROCforcedrawmain
21350IF $SEL%="Shapes.Wire circle" THEN DSI%=TRUE:PROCkillf:FUSE%=7:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [wire circle]")
21360IF $SEL%="Shapes.Solid circle" THEN DSI%=TRUE:PROCkillf:FUSE%=8:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [solid circle]")
21370IF $SEL%="Shapes.Wire triangle" THEN DSI%=TRUE:PROCkillf:FUSE%=9:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [wire triangle]")
21380IF $SEL%="Shapes.Solid triangle" THEN DSI%=TRUE:PROCkillf:FUSE%=10:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [solid triangle]")
21390IF $SEL%="Shapes.Wire ellipse" THEN DSI%=TRUE:PROCkillf:FUSE%=11:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [wire ellipse]")
21400IF $SEL%="Shapes.Solid ellipse" THEN DSI%=TRUE:PROCkillf:FUSE%=12:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [solid ellipse]")
21410IF $SEL%="Shapes.Wire parallelogram" THEN DSI%=TRUE:PROCkillf:FUSE%=13:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [wire parallelogram]")
21420IF $SEL%="Shapes.Solid parallelogram" THEN DSI%=TRUE:PROCkillf:FUSE%=14:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [solid parallelogram]")
21430IF $SEL%="Shapes.Wire arc" THEN DSI%=TRUE:PROCkillf:FUSE%=15:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [wire arc]")
21440IF $SEL%="Shapes.Solid sector" THEN DSI%=TRUE:PROCkillf:FUSE%=16:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [wire sector]")
21450IF $SEL%="Shapes.Solid segment" THEN DSI%=TRUE:PROCkillf:FUSE%=17:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [wire segment]")
21460IF $SEL%="Manipulate.Move area..." THEN DSI%=TRUE:PROCkillf:PROCspinit:FUSE%=18:FUST%=0:PROChelp:PROCopenwind(8):PROCwindname(2,PIC$+" [move area]")
21470IF $SEL%="Manipulate.Copy area..." THEN DSI%=TRUE:PROCkillf:PROCspinit:FUSE%=19:FUST%=0:PROChelp:PROCopenwind(8):PROCwindname(2,PIC$+" [copy area]")
21480IF $SEL%="Manipulate.Mirror area" THEN DSI%=TRUE:PROCkillf:PROCspinit:FUSE%=20:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [mirror area]")
21490IF $SEL%="Manipulate.Invert area" THEN DSI%=TRUE:PROCkillf:PROCspinit:FUSE%=21:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [invert area]")
21500IF $SEL%="Manipulate.Strip area" THEN DSI%=TRUE:PROCkillf:FUSE%=22:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [strip area]")
21510IF $SEL%="Manipulate.Scale to fit..." THEN DSI%=TRUE:PROCkillf:FUSE%=23:FUST%=0:FUCO%=0:PROChelp:PROCopenwind(8):PROCwindname(2,PIC$+" [scale to fit]")
21520IF $SEL%="Paint.Unset transparents" THEN DSI%=TRUE:PROCunsetrasp
21530IF $SEL%="Paint.Set transparents" THEN DSI%=TRUE:PROCsetrasp
21540IF $SEL%="Special.Trace" THEN DSI%=TRUE:PROCkillf:FUSE%=24:PROChelp:PROCwindname(2,PIC$+" [trace]")
21550IF $SEL%="Options.Help" THEN DSI%=TRUE:PROCopenwind(9)
21560IF $SEL%="Manipulate.Pixel mapping" THEN DSI%=TRUE:PROCkillf:FUSE%=25:FUST%=0:FUCO%=1:PROChelp:PROCwindname(2,PIC$+" [pixel mapping]"):OX%=-1:OY%=-1
21570REM ---------------------------------------------------------------------
21580IF SEL$="Paint.Line style.Solid line" THEN DSI%=TRUE:LITY%=5
21590IF SEL$="Paint.Line style.Line pattern.Restarted" THEN DSI%=TRUE:LITY%=21
21600IF SEL$="Paint.Line style.Line pattern.Continuous" THEN DSI%=TRUE:LITY%=53
21610IF SEL$="Paint.Line style.Overwrite" THEN DSI%=TRUE:USE%=(USE% AND 112)
21620IF SEL$="Paint.Line style.OR" THEN DSI%=TRUE:USE%=(USE% AND 112)+1
21630IF SEL$="Paint.Line style.AND" THEN DSI%=TRUE:USE%=(USE% AND 112)+2
21640IF SEL$="Paint.Line style.EOR" THEN DSI%=TRUE:USE%=(USE% AND 112)+3
21650IF SEL$="Paint.Line style.Invert" THEN DSI%=TRUE:USE%=(USE% AND 112)+4
21660IF SEL$="Paint.Line style.NAND" THEN DSI%=TRUE:USE%=(USE% AND 112)+6
21670IF SEL$="Paint.Line style.NOR" THEN DSI%=TRUE:USE%=(USE% AND 112)+7
21680IF SEL$="Paint.Line style.ECF 1" AND (USE% AND 112)=16 THEN DSI%=TRUE:USE%=(USE% AND 15) ELSE IF SEL$="Paint.Line style.ECF 1" THEN DSI%=TRUE:USE%=(USE% AND 15)+16
21690IF SEL$="Paint.Line style.ECF 2" AND (USE% AND 112)=32 THEN DSI%=TRUE:USE%=(USE% AND 15) ELSE IF SEL$="Paint.Line style.ECF 2" THEN DSI%=TRUE:USE%=(USE% AND 15)+32
21700IF SEL$="Paint.Line style.ECF 3" AND (USE% AND 112)=48 THEN DSI%=TRUE:USE%=(USE% AND 15) ELSE IF SEL$="Paint.Line style.ECF 3" THEN DSI%=TRUE:USE%=(USE% AND 15)+48
21710IF SEL$="Paint.Line style.ECF 4" AND (USE% AND 112)=64 THEN DSI%=TRUE:USE%=(USE% AND 15) ELSE IF SEL$="Paint.Line style.ECF 4" THEN DSI%=TRUE:USE%=(USE% AND 15)+64
21720IF SEL$="Paint.Line style.Giant ECF" AND (USE% AND 112)=80 THEN DSI%=TRUE:USE%=(USE% AND 15) ELSE IF SEL$="Paint.Line style.Giant ECF" THEN DSI%=TRUE:USE%=(USE% AND 15)+80
21730REM ---------------------------------------------------------------------
21740IF SEL$="Paint.Fill.Flood fill" THEN DSI%=TRUE:PROCkillf:FUSE%=26:PROChelp:PROCwindname(2,PIC$+" [Flood fill]")
21750IF SEL$="Special.Smudge area" THEN DSI%=TRUE:PROCkillf:FUSE%=27:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [Smudge area]")
21760IF SEL$="Special.Tint area" THEN DSI%=TRUE:PROCkillf:FUSE%=28:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [Tint area]")
21770IF $SEL%="Special.Wet brush..." THEN
21780PROCkillf:DSI%=TRUE:PROCopenwind(5):FUSE%=29:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [Wet brush]"):PROCspinit:PROCspbuf(145*1024):IF Q% THEN PROCspbuferr ELSE PROCbackuppic
21790ENDIF
21800IF $SEL%="Special.Tint brush..." THEN
21810PROCkillf:DSI%=TRUE:PROCopenwind(5):FUSE%=30:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [tint brush]"):PROCspinit:PROCspbuf(145*1024):IF Q% THEN PROCspbuferr ELSE PROCbackuppic
21820ENDIF
21830IF LEFT$(($SEL%),5)="Text." AND $SEL%<>"Text.Parameters" AND $SEL%<>"Text.Background" THEN
21840PROCkillf:PROCspinit:PROCspbuf(145*1024):IF Q% THEN PROCspbuferr
21850PROCbackuppic:OX%=-1:OY%=-1:EFM%=-1
21860DSI%=TRUE:FUSE%=32:FUST%=0:PROCopenwind(14):PROChelp:PROCwindname(2,PIC$+" [Text]"):FO$=RIGHT$($SEL%,LEN($SEL%)-5):PROCseticon(14,1,FO$)
21870FONT%=0:FORL%=0 TO FONTS%:IF FO$=FONT$(L%) THEN FONT%=L%:NEXT ELSE NEXT
21880ENDIF
21890IF $SEL%="Options.Mouse.X only.Very fast" THEN MMX%=4:MOUSE STEP MMX%,MMY%
21900IF $SEL%="Options.Mouse.X only.Fast" THEN MMX%=3:MOUSE STEP MMX%,MMY%
21910IF $SEL%="Options.Mouse.X only.Medium" THEN MMX%=2:MOUSE STEP MMX%,MMY%
21920IF $SEL%="Options.Mouse.X only.Slow" THEN MMX%=1:MOUSE STEP MMX%,MMY%
21930IF $SEL%="Options.Mouse.Y only.Very fast" THEN MMY%=4:MOUSE STEP MMX%,MMY%
21940IF $SEL%="Options.Mouse.Y only.Fast" THEN MMY%=3:MOUSE STEP MMX%,MMY%
21950IF $SEL%="Options.Mouse.Y only.Medium" THEN MMY%=2:MOUSE STEP MMX%,MMY%
21960IF $SEL%="Options.Mouse.Y only.Slow" THEN MMY%=1:MOUSE STEP MMX%,MMY%
21970IF $SEL%="Options.Mouse.Both.Very fast" THEN MMY%=4:MMX%=4:MOUSE STEP MMX%,MMY%
21980IF $SEL%="Options.Mouse.Both.Fast" THEN MMY%=3:MMX%=3:MOUSE STEP MMX%,MMY%
21990IF $SEL%="Options.Mouse.Both.Medium" THEN MMY%=2:MMX%=2:MOUSE STEP MMX%,MMY%
22000IF $SEL%="Options.Mouse.Both.Slow" THEN MMY%=1:MMX%=1:MOUSE STEP MMX%,MMY%
22010IF $SEL%="Special.Colour replace..." THEN
22020PROCkillf:DSI%=TRUE:PROCopenwind(18):FUSE%=33:FUST%=0:PROCspinit:PROCspbuf(24*1024):IF Q% THEN FUSE%=-1:PROCclosewind(18):PROCspinit:PROCspbuferr
22030SYS "Hourglass_On":FORL%=0 TO 22596 STEP 4:SPBUF%!L%=OPAL%!L%:NEXT:FORL%=0 TO 255:REPS%?L%=L%:NEXT:SYS "Hourglass_Off":PROCwindname(2,PIC$+" [Colour replace]"):PROChelp
22040ENDIF
22050IF $SEL%="File.Export" THEN PROCkillf:PROCseticon(7,1,"Export"):DSI%=TRUE:FUSE%=35:FUST%=0:PROChelp:PROCspinit:PROCwindname(2,PIC$+" [Export]"):PROCopenwind(8)
22060IF $SEL%="Paint.Fill.Pattern fill" THEN PROCkillf:PROCwindname(2,PIC$+" [Pattern fill]"):DSI%=TRUE:FUSE%=37:FUST%=0:PROChelp:PROCspinit:PROCopenwind(20)
22070IF $SEL%="Special.RGB control..." THEN PROCkillf:PROCwindname(2,PIC$+" [RGB control]"):DSI%=TRUE:FUSE%=38:FUST%=0:PROChelp:PROCspinit:PROCopenwind(21)
22080IF $SEL%="Special.Grey scale..." THEN PROCkillf:PROCwindname(2,PIC$+" [Grey scale]"):DSI%=TRUE:FUSE%=39:FUST%=0:PROChelp:PROCspinit:PROCopenwind(22)
22090IF $SEL%="Special.Pixelate..." THEN PROCkillf:PROCwindname(2,PIC$+" [Pixelate]"):DSI%=TRUE:FUSE%=40:FUST%=0:PROChelp:PROCspinit:PROCopenwind(23)
22100IF $SEL%="Manipulate.Rotate..." THEN PROCkillf:PROCwindname(2,PIC$+" [Rotate]"):DSI%=TRUE:FUSE%=41:FUST%=0:PROChelp:PROCspinit:PROCopenwind(24)
22110IF $SEL%="Options.Wipe picture" THEN PROCkillf:PROCwindname(2,PIC$):FUSE%=-1:PROChelp:PROCwipepic
22120IF $SEL%="Options.Cursor keys" THEN KUKE%=NOT KUKE%:DSI%=TRUE
22130IF DSI% AND MBU%=1 THEN PROCwindmenu
22140ENDPROC
22150
22160DEFPROCwipepic
22170!IO%=5:$(IO%+4)="Are you sure you want to wipe the picture?"+CHR$0
22180SYS "Wimp_ReportError",IO%,%11011,"!Archrome"+CHR$0 TO ,R%
22190IF R%=0 THEN GOTO 22180
22200IF R%=2 THEN ENDPROC
22210PROCinpic:VDU26:GCOL0,128 TINT 0:CLG:PROCoutpic:PROCforcedrawmain
22220ENDPROC
22230
22240DEFFNquityn
22250!IO%=5:$(IO%+4)="Are you sure you want to quit?"+CHR$0
22260SYS "Wimp_ReportError",IO%,%11011,"!Archrome"+CHR$0 TO ,R%
22270IF R%=0 THEN GOTO 22260
22280=(R%=1)
22290
22300DEFPROCimport
22310A$=FNgetname:BLK%!12=BLK%!8:BLK%!16=4:!BLK%=64:SYS "Wimp_SendMessage",17,BLK%,BLK%!4
22320PROCkillf:FUSE%=34:FUST%=0:PROCopenwind(8):PROChelp:PROCspinit
22330F%=OPENUP(A$):IMS%=EXT#F%:CLOSE#F%
22340PROCspbuf(IMS%+64):IF Q% THEN FUSE%=-1:PROCclosewind(8):PROCspinit:PROCspbuferr
22350SYS&2E,266,SPBUF%,A$:SYS&2E,269,SPBUF%,IO%,16,1 TO ,,,L%:IMP$="":FORK%=0 TO L%-1:IMP$=IMP$+CHR$(IO%?K%):NEXT
22360SYS&2E,296,SPBUF%,IMP$ TO ,,,IMW%,IMH%,,IMM%
22370SYS&35,IMM%,4 TO ,,E%
22380PWI%=2^E%
22390SX%=2^(E%-1):!IO%=SX%:IO%!8=1
22400IO%!4=1:IO%!12=1
22410L%=(SPBUF%+(SPBUF%!8)):IF L%!32=44 THEN
22420IMPA%=0
22430ELSE
22440IMPA%=L%+44:K%=48:I%=52:WHILE I%<(L%!32):L%!K%=L%!I%:I%+=8:K%+=4:ENDWHILE
22450ENDIF
22460IF IMM%<>15 OR IMPA%<>0 THEN SYS&40740,IMM%,IMPA%,15,0,PIXTAB2%:IMPT%=PIXTAB2% ELSE IMPT%=0
22470PROCwindname(2,PIC$+" [Import '"+IMP$+"']")
22480IMH%=IMH%*4:IMW%=IMW%*PWI%
22490GRN$=IMP$
22500ENDPROC
22510
22520DEFPROCfillcontclick
22530IF MOUIC%<>8 THEN ENDPROC
22540GRFN%=-1
22550IF FNhigh(17,1) THEN GRFN%=0
22560IF FNhigh(17,2) THEN GRFN%=1
22570IF FNhigh(17,3) THEN GRFN%=2
22580IF FNhigh(17,4) THEN GRFN%=3
22590IF FNhigh(17,5) THEN GRFN%=4
22600IF GRFN%=-1 THEN PROCmessage(0,"You must select a fill sequence to use.")
22610IF FUSE%=31 THEN
22620IF GRTY%=1 THEN PROCkillf
22630ENDIF
22640GRTY%=-1
22650IF FNhigh(17,6) THEN GRTY%=0
22660IF FNhigh(17,7) THEN GRTY%=1:FUST%=0
22670IF GRTY%=-1 THEN PROCmessage(0,"You must select the type of fill to use.")
22680PROCkillf:FUSE%=31:FUST%=0:PROChelp:PROCwindname(2,PIC$+" [Graduated fill ("+FNfilldet(GRFN%+1)+")]"):PROCspinit
22690IF MOUB%=4 THEN PROCmenoff
22700ENDPROC
22710
22720DEFPROCunsetrasp:SYS "Hourglass_On"
22730FORL%=0 TO 255
22740IF TRASP%?L%=1 THEN PROCtrasp(L%)
22750NEXT
22760PROCforcedrawpal(PAL%):SYS "Hourglass_Off"
22770ENDPROC
22780
22790DEFPROCsetrasp:SYS "Hourglass_On"
22800FORL%=0 TO 255
22810IF TRASP%?L%=0 THEN PROCtrasp(L%)
22820NEXT
22830PROCforcedrawpal(PAL%):SYS "Hourglass_Off"
22840ENDPROC
22850
22860DEFPROCspinit
22870PROCspbuf(0)
22880ENDPROC
22890
22900DEFPROCsetgric
22910PROCseticon(6,4,STR$GRWI%)
22920PROCseticon(6,5,STR$GRHE%)
22930GRBX%=VAL(FNgeticon(6,12)):IF GRBX%>GRWI% THEN REPEAT:GRBX%-=GRWI%:UNTIL GRBX%<GRWI%:PROCseticon(6,12,STR$GRBX%)
22940GRBY%=VAL(FNgeticon(6,13)):IF GRBY%>GRHE% THEN REPEAT:GRBY%-=GRHE%:UNTIL GRBY%<GRHE%:PROCseticon(6,13,STR$GRBY%)
22950ENDPROC
22960
22970DEFPROCzoomsize
22980!BLK%=HAND%(2):SYS "Wimp_GetWindowState",,BLK%:WIF%=BLK%!28
22990!BLK%=HAND%(2):SYS "Wimp_CloseWindow",,BLK%
23000!BLK%=0:BLK%!4=-936*ZOOM%:BLK%!8=1236*ZOOM%:BLK%!12=0:SYS "Wimp_SetExtent",HAND%(2),BLK%
23010!BLK%=HAND%(2):SYS "Wimp_GetWindowInfo",,BLK%
23020BLK%!28=WIF%:SYS "Wimp_OpenWindow",,BLK%:ENDPROC
23030
23040DEFFNgstr(AD%):W$="":IF ?AD%<32 THEN =W$ ELSE REPEAT:W$=W$+CHR$(?AD%):AD%+=1:UNTIL ?AD%<32:=W$
23050
23060DEFFNgeticon(WH%,IC%):!ICBLK%=HAND%(WH%):ICBLK%!4=IC%:SYS "Wimp_GetIconState",,ICBLK%:=FNgstr(!(ICBLK%+28))
23070
23080DEFPROCseticon(WH%,IC%,SET$):!ICBLK%=HAND%(WH%):ICBLK%!4=IC%:SYS "Wimp_GetIconState",,ICBLK%:ICBLK%!8=0:ICBLK%!12=0:$(ICBLK%!28)=SET$:SYS "Wimp_SetIconState",,ICBLK%:ENDPROC
23090
23100DEFFNhigh(WH%,IC%):!ICBLK%=HAND%(WH%):ICBLK%!4=IC%:SYS "Wimp_GetIconState",,ICBLK%:=((?(ICBLK%+26)) AND %100000)=32
23110
23120DEFPROCshadeicon(WH%,IC%)
23130!ICBLK%=HAND%(WH%):ICBLK%!4=IC%
23140ICBLK%!8=%10000000000000000000000:ICBLK%!12=ICBLK%!8
23150SYS "Wimp_SetIconState",,ICBLK%
23160ENDPROC
23170
23180DEFPROCclearicon(WH%,IC%)
23190!ICBLK%=HAND%(WH%):ICBLK%!4=IC%
23200ICBLK%!8=0:ICBLK%!12=%10000000000000000000000
23210SYS "Wimp_SetIconState",,ICBLK%
23220ENDPROC
23230
23240DEFPROCpoint:SYS "Wimp_GetPointerInfo",,POI%:MOX%=!POI%:MOY%=POI%!4:MOB%=POI%!8:MOH%=POI%!12:ENDPROC
23250
23260DEFPROCwindname(WH%,SET$):!BLK%=HAND%(WH%):SYS "Wimp_GetWindowState",,BLK%:WIF%=BLK%!28:SYS "Wimp_GetWindowInfo",,BLK%:SYS"Wimp_CloseWindow",,BLK%
23270AD%=BLK%!76:BLK%!28=WIF%:$AD%=SET$:SYS "Wimp_OpenWindow",,BLK%:ENDPROC
23280
23290DEFPROCdragfin
23300F$=FNgeticon(DRAG%,1):T$="":IF INSTR(F$,".")=0 THEN T$=F$:GOTO 23330
23310IF RIGHT$(F$,1)="." THEN T$="":GOTO 23330
23320K%=LEN(F$):REPEAT:T$=MID$(F$,K%,1)+T$:K%-=1:UNTIL MID$(F$,K%,1)="."
23330SYS "Wimp_GetPointerInfo",,POI%
23340POI%!20=64:POI%!32=0:POI%!36=1:POI%!40=POI%!12:POI%!44=POI%!16:POI%!48=!POI%:POI%!52=POI%!4:POI%!56=2048:POI%!60=&556:$(POI%+64)=T$
23350SYS "Wimp_SendMessage",17,POI%+20,POI%!12,POI%!16
23360ENDPROC
23370
23380DEFPROCstartdrag
23390SYS "Wimp_GetWindowState",,BLK%+12
23400X%=BLK%!16:Y%=BLK%!28:BLK%!16=0:SYS "Wimp_GetIconState",,BLK%+12
23410BLK%!16=5:BLK%!20+=X%-2:BLK%!24+=Y%-4
23420BLK%!28+=X%+2:BLK%!32+=Y%
23430BLK%!36=0:BLK%!40=0:BLK%!44=&7FFFFFFF:BLK%!48=&7FFFFFFF:SYS "Wimp_DragBox",,BLK%+12:ENDPROC
23440
23450DEFPROCinmessage(M%)
23460CASE M% OF
23470WHEN 0:PROCdie
23480WHEN 2:PROCdragsave
23490WHEN 5:IF BLK%!12=0 AND BLK%!40=&556 PROCload
23500WHEN 3:IF BLK%!12=0 AND BLK%!40=&556 PROCload ELSE IF BLK%!12=0 AND BLK%!40=&FF9 THEN PROCimport
23510ENDCASE:ENDPROC
23520
23530DEFPROCsaveok:A$=FNgeticon(0,1):IF INSTR(A$,".")=0 THEN PROCmessage(4,"To save, drag the icon to a directory viewer.")
23540REM ** SAVE ROUTINE HERE **
23550GOTO 23630
23560ENDPROC
23570DEFPROCdragsave:A$=FNgetname:PROCkillf
23580IF DRAG%=7 THEN GOTO 23690
23590PROCseticon(0,1,A$)
23600SYS "Wimp_CreateMenu",-1
23610BLK%!12=BLK%!8:BLK%!16=3:!BLK%=64:SYS "Wimp_SendMessage",17,BLK%,BLK%!20,BLK%!24
23620REM ** SAVE ROUTINE HERE **
23630PROCkillf:FUSE%=-1:SYS&2E,268,PIC%,A$
23640OSCLI("SETTYPE "+A$+" 556")
23650PIC$=FNleaf(A$):PROCwindname(2,PIC$)
23660ENDPROC
23670
23680DEFPROCspritesaveok:A$=FNgeticon(7,1):IF INSTR(A$,".")=0 THEN PROCmessage(4,"To save, drag the icon to a directory viewer.")
23690PROCseticon(7,1,A$)
23700SYS "Wimp_CreateMenu",-1
23710BLK%!12=BLK%!8:BLK%!16=3:!BLK%=64:SYS "Wimp_SendMessage",17,BLK%,BLK%!20,BLK%!24
23720REM ** SAVE ROUTINE HERE **
23730IF LEN(FNleaf(A$))>10 THEN PROCmessage(9,"Bad name")
23740IF FUSE%=35 THEN SYS&2E,282,SPBUF%,"GRAB",FNleaf(A$):SYS&2E,268,SPBUF%,A$:FUST%=0:PROCclosewind(7):PROCspinit ELSE SYS&2E,268,PIC%,A$
23750ENDPROC
23760
23770DEFFNgetname:W$="":P%=BLK%+44:WHILE ?P%<>0 AND ?P%<>13:W$=W$+CHR$(?P%):P%+=1:ENDWHILE:=W$
23780
23790DEFPROCload
23800A$=FNgetname:BLK%!12=BLK%!8:BLK%!16=4:!BLK%=64:SYS "Wimp_SendMessage",17,BLK%,BLK%!4
23810PROCseticon(0,1,A$)
23820REM ** LOAD ROUTINE HERE **
23830PROCkillf:FUSE%=-1
23840OSCLI("LOAD "+A$+" "+STR$~(PIC%+4))
23850PROCkillf
23860PIC$=FNleaf(A$):PROCwindname(2,PIC$)
23870PROCforcedrawmain
23880ENDPROC
23890
23900DEFPROCchars
23910VDU23,248,0,0,0,255,255,0,0,0
23920VDU23,249,0,0,126,255,255,126,0,0
23930VDU23,250,0,60,126,255,255,126,60,0
23940VDU23,251,60,126,255,255,255,255,126,60
23950VDU23,252,24,60,126,126,126,126,60,24
23960VDU23,253,24,60,60,60,60,60,60,24
23970VDU23,254,24,24,24,24,24,24,24,24
23980ENDPROC
23990
24000DEFPROCbackuppic
24010!VARS=PIC%
24020VARS!4=SPBUF%
24030A%=VARS
24040CALL backuppic
24050ENDPROC
24060
24070DEFPROCfillmask
24080VARS!8=SPBUF%
24090VARS!12=TRASP%
24100VARS!16=BTC%
24110A%=VARS
24120CALL fillmask
24130ENDPROC
24140
24150DEFFNleaf(F$)
24160IF INSTR(F$,".")=0 THEN =F$
24170T$=""
24180LP%=LENF$
24190WHILE MID$(F$,LP%,1)<>"."
24200T$=MID$(F$,LP%,1)+T$
24210LP%-=1
24220ENDWHILE
24230=T$
24240
24250DEFPROCspbuf(BS%)
24260IF BS%=0 THEN SYS "Wimp_SlotSize",CUSL%,-1:ENDPROC
24270SYS "Wimp_SlotSize",CUSL%+BS%,-1
24280SYS "Wimp_SlotSize",-1,-1 TO SPL%
24290IF SPL%<(CUSL%+BS%) THEN SYS "Wimp_SlotSize",CUSL%,-1:SPNE%=BS%:Q%=TRUE:ENDPROC ELSE Q%=FALSE
24300!SPBUF%=BS%
24310SPBUF%!8=16
24320SYS&2E,265,SPBUF%
24330SPSIZ%=BS%
24340ENDPROC
24350
24360DEFPROCspbuferr:PROCkillf:FUST%=-1:FUSE%=-1:PROCwindname(2,PIC$):PROCmessage(0,"No room to store sprite. ("+STR$(SPNE%)+" bytes needed)")
24370
24380DEFFNspritesize(DX%,DY%,PL%)
24390DX%=ABS(DX%) DIV 2:DY%=ABS(DY%) DIV 4
24400IF (DX% MOD 4)>0 THEN DX%=((DX% DIV 4)+1)*4
24410DX%+=16
24420=(DX%*DY%*(PL%+1))+1024
24430
24440DEFPROChelp
24450PROCseticon(9,0,""):PROCseticon(9,1,""):PROCseticon(9,2,"")
24460CASE FUSE% OF
24470WHEN 0:
24480PROCseticon(9,0,"Click SELECT over a pixel to change its colour to the currently selected")
24490PROCseticon(9,1,"one.")
24500WHEN 1:
24510PROCseticon(9,0,"Hold down SELECT while moving the mouse to draw freehand in the currently")
24520PROCseticon(9,1,"selected colour.")
24530WHEN 2:
24540PROCseticon(9,0,"Point to the start of the line and click SELECT, point to the end of the")
24550PROCseticon(9,1,"line and click SELECT again to fix. Clicking ADJUST will allow you to")
24560PROCseticon(9,2,"reposition the start of the line.")
24570WHEN 3:
24580PROCseticon(9,0,"Set the density and spread with the control window then click on the")
24590PROCseticon(9,1,"picture to spray with the current colour.")
24600WHEN 4:
24610PROCseticon(9,0,"Set the brush shape and scale with the control window then click on")
24620PROCseticon(9,1,"the picture to paint.")
24630WHEN 5:
24640PROCseticon(9,0,"Point to one corner of the rectangle and click. Move to the diagonally")
24650PROCseticon(9,1,"oposite corner and click again to fix. Clicking ADJUST will allow you")
24660PROCseticon(9,2,"to reposition the first corner.")
24670WHEN 6:
24680PROCseticon(9,0,"Point to one corner of the rectangle and click. Move to the diagonally")
24690PROCseticon(9,1,"oposite corner and click again to fix. Clicking ADJUST will allow you")
24700PROCseticon(9,2,"to reposition the first corner.")
24710WHEN 7:
24720PROCseticon(9,0,"Point to the centre of the circle and click. Move to any point on the")
24730PROCseticon(9,1,"circumfrence to set the size and click again to fix. Clicking ADJUST allows")
24740PROCseticon(9,2,"you to reposition the centre point.")
24750WHEN 8:
24760PROCseticon(9,0,"Point to the centre of the circle and click. Move to any point on the")
24770PROCseticon(9,1,"circumfrence to set the size and click again to fix. Clicking ADJUST allows")
24780PROCseticon(9,2,"you to reposition the centre point.")
24790WHEN 9:
24800PROCseticon(9,0,"Point to the first vertex and click. Move to the second vertex and click")
24810PROCseticon(9,1,"again. Move to the final one and click again to fix. ADJUST will let you")
24820PROCseticon(9,2,"start again.")
24830WHEN 10:
24840PROCseticon(9,0,"Point to the first vertex and click. Move to the second vertex and click")
24850PROCseticon(9,1,"again. Move to the final one and click again to fix. ADJUST will let you")
24860PROCseticon(9,2,"start again.")
24870WHEN 11:
24880PROCseticon(9,0,"Point to the centre and click. Move to a point along the major axis and")
24890PROCseticon(9,1,"click. Move to set the size and click again to fix. ADJUST allows you to")
24900PROCseticon(9,2,"start again.")
24910WHEN 12:
24920PROCseticon(9,0,"Point to the centre and click. Move to a point along the major axis and")
24930PROCseticon(9,1,"click. Move to set the size and click again to fix. ADJUST allows you to")
24940PROCseticon(9,2,"start again.")
24950WHEN 13:
24960PROCseticon(9,0,"Point to first corner and click. Move to second corner and click again.")
24970PROCseticon(9,1,"Move to third corner to set size and click to fix. ADJUST allows you to")
24980PROCseticon(9,2,"start again.")
24990WHEN 14:
25000PROCseticon(9,0,"Point to first corner and click. Move to second corner and click again.")
25010PROCseticon(9,1,"Move to third corner to set size and click to fix. ADJUST allows you to")
25020PROCseticon(9,2,"start again.")
25030WHEN 15:
25040PROCseticon(9,0,"Point to centre of arc and click. Move to a point on the arc and click again.")
25050PROCseticon(9,1,"Move to set the degree of the arc and click again to fix. ADJUST allows you")
25060PROCseticon(9,2,"to start again.")
25070WHEN 16:
25080PROCseticon(9,0,"Point to centre of sector and click. Move to start point on the circumfrence")
25090PROCseticon(9,1,"and click again. Move to set the degree and click again to fix. ADJUST allows")
25100PROCseticon(9,2,"you to start again.")
25110WHEN 17:
25120PROCseticon(9,0,"Point to centre of segment and click. Move to start point on circumfrence")
25130PROCseticon(9,1,"and click again. Move to set segment and click to fix. ADJUST allows you to")
25140PROCseticon(9,2,"start again.")
25150WHEN 18:
25160PROCseticon(9,0,"Point to lower-left corner of source area and click. Move to top-right corner")
25170PROCseticon(9,1,"and click to cut area. Move to position and click to paste. The transparency")
25180PROCseticon(9,2,"flags are used here.")
25190WHEN 19:
25200PROCseticon(9,0,"Point to lower-left corner of source area and click. Move to top-right corner")
25210PROCseticon(9,1,"and click to copy area. Move to position and click to paste. The transparency")
25220PROCseticon(9,2,"flags are used here.")
25230WHEN 20:
25240PROCseticon(9,0,"Point to lower-left corner of area and click. Move to top-right corner and")
25250PROCseticon(9,1,"click again to mirror. The transparency flags are used here.")
25260WHEN 21:
25270PROCseticon(9,0,"Point to lower-left corner of area and click. Move to top-right corner and")
25280PROCseticon(9,1,"click again to invert. The transparency flags are used here.")
25290WHEN 22:
25300PROCseticon(9,0,"Point to lower-left corner of area to preserve and click. Move to top-right")
25310PROCseticon(9,1,"corner and click again to strip surrounding area.")
25320WHEN 23:
25330PROCseticon(9,0,"Point to lower-left corner of source area and click. Move to top-right corner")
25340PROCseticon(9,1,"and click to fix. Do the same for destination area. The transparency flags")
25350PROCseticon(9,2,"are used here.")
25360WHEN 24:
25370PROCseticon(9,0,"Point to a pixel to the right of and adjacent to the colour to trace.")
25380PROCseticon(9,1,"Click to trace in the current colour.")
25390WHEN 25:
25400PROCseticon(9,0,"Point to the first vertex of the source area and click. Repeat for the other")
25410PROCseticon(9,1,"three vertices and for the four destination vertices. Clicking ADJUST at any")
25420PROCseticon(9,2,"point allows you to start again.")
25430WHEN 26:
25440PROCseticon(9,0,"Point inside the totally closed area to fill and click.")
25450WHEN 27:
25460PROCseticon(9,0,"Point to one corner of the area and click. Move to the diagonally oposite")
25470PROCseticon(9,1,"corner and click again to average.")
25480WHEN 28:
25490PROCseticon(9,0,"Point to one corner of the area and click. Move to the diagonally oposite")
25500PROCseticon(9,1,"corner and click again to tint with current colour.")
25510WHEN 29:
25520PROCseticon(9,0,"Set brush shape with control pannel. Move to position and click")
25530PROCseticon(9,1,"to use. The brush scale is ignored here.")
25540WHEN 30:
25550PROCseticon(9,0,"Set brush shape with control pannel. Move to position and click")
25560PROCseticon(9,1,"to use. The brush scale is ignored here.")
25570WHEN 31:
25580PROCseticon(9,0,"Set fill parameters with control box then click inside a totally bounded")
25590PROCseticon(9,1,"area to fill.")
25600WHEN 32:
25610PROCseticon(9,0,"Set point sizes and style from control window and click on OK.")
25620PROCseticon(9,1,"Move text to position and click to fix.")
25630WHEN 33:
25640PROCseticon(9,0,"Set up colour transformation with colour window then define rectangular")
25650PROCseticon(9,1,"area with last click to change colours.")
25660WHEN 34:
25670PROCseticon(9,0,"Set orientation and scale with control window and click to fix.")
25680WHEN 35:
25690PROCseticon(9,0,"Grab rectangle by lower-left and upper-right corners then use save window")
25700PROCseticon(9,1,"as usual to save.")
25710WHEN 36:
25720PROCseticon(9,0,"Position frame and click to fix.")
25730WHEN 37:
25740PROCseticon(9,0,"Select pattern from window and click in a totally enclosed area to fill.")
25750WHEN 38:
25760PROCseticon(9,0,"Set Red, Green and Blue percentages with the control window then define")
25770PROCseticon(9,1,"the rectangle to be changed by clicking bottom left then top right.")
25780PROCseticon(9,2,"Transparent colours will not be changed.")
25790WHEN 39:
25800PROCseticon(9,0,"Set weights for Red, Green and Blue components with the control window")
25810PROCseticon(9,1,"then define the rectangle to shade by clicking bottom left then top right.")
25820PROCseticon(9,2,"Transparent colours will not be changed.")
25830WHEN 40:
25840PROCseticon(9,0,"Set the X and Y resolutions for pixelation with the control window then")
25850PROCseticon(9,1,"define the rectangle to pixelate by clicking bottom left then top right.")
25860WHEN 41:
25870PROCseticon(9,0,"Define the rectangle to rotate by clicking bottom left then top right.")
25880PROCseticon(9,1,"Rotate area with the control window and click to rotate.")
25890PROCseticon(9,2,"Transparent colours will not be copied.")
25900ENDCASE
25910ENDPROC

� ><Archrome$Dir>.!RunImage
%� Copyright Archimedes World 1991
 � � �4,7:�:�;" at line ";�:�
Fș "OS_GetEnv" � A$:� �A$,1)<>" " � LF$=�A$,�A$,""" ")+2) � LF$=""
(
�setup
2� � �makerr
<�action
F�die
P�
Z��setup
d�� POI% 256,TAS% 2000,BLK% 1000,MENU% 8*1024,MENUIND% 8*1024,SEL% 256,ICBLK% 256,VARS 128,MENAD%(300),MENALO% 16,CODE% 6*1024,IO% 256,TRANSTAB% 256
nMEOF%=0:MEIN%=0:MBUS%=�
x$MENALO%="A -~"
�B� PIC% 145*1024,SCALE% 32,PIXTAB% 256,PIXTAB2% 256,X%(8),Y%(8)
�6SPBUF%=�:SPSIZ%=0:ș "Wimp_SlotSize",-1,-1 � CUSL%
��� PAL% 22600,OPAL% 22600,PALTAB% 512,BTC% 256,CTT% 256,TTB% 256,ROTTAB% 1800,RAND% 4096,PFILLS% 7000:!PAL%=22600:!OPAL%=22600:!PFILLS%=7000
� � BRUSH% 13000:!BRUSH%=13000
�-ș&2E,266,BRUSH%,"<Archrome$Dir>.Brushes"
�+ș&2E,266,PAL%,"<Archrome$Dir>.Palette"
�,ș&2E,266,OPAL%,"<Archrome$Dir>.Palette"
�/ș&2E,266,PFILLS%,"<Archrome$Dir>.PatFills"
�.�("LOAD <Archrome$Dir>.PalTab "+�~PALTAB%)
�6�("LOAD <Archrome$Dir>.BTC "+�~BTC%):� byte -> pal
�6�("LOAD <Archrome$Dir>.CTT "+�~CTT%):� pal -> byte
�?�("LOAD <Archrome$Dir>.TTB "+�~TTB%):� (col*64)+tint -> pal
�.�("LOAD <Archrome$Dir>.RotTab "+�~ROTTAB%)
*�("LOAD <Archrome$Dir>.Code "+�~CODE%)
.�("LOAD <Archrome$Dir>.RotTab "+�~ROTTAB%)
/COL%=255:FUSE%=-1:FUST%=-1:FUCO%=0:BUTDO%=�
"A$TAS%="TASK":ș"Wimp_Initialise",200,!TAS%,"Archrome" � HAND%
,�loadsprites
6
�loadvars
@B!BLK%=-1:BLK%!4=0:BLK%!8=0:BLK%!12=64:BLK%!16=64:BLK%!20=&2102
JC� BLK%!24 10:$(BLK%!24)="!Archrome":BLK%!28=SPRITES%:BLK%!32=10
T(ș "Wimp_CreateIcon",,BLK% � ICHAND%
^NOWIND%=24:NOMENS%=17
h-� STORE% 15*1024,BUF% 4048,HAND%(NOWIND%)
rSOF%=STORE%
|�� Save,Info,Main,Palette,Airbrush,Brushes,Grid,SpriteSave,Area,Help,Linepat,Fillpat,EdBrush,EdFill,Text,Tback,FontParams,FillCont,ColRep,Frame,Pfills,RGBcont,Greyscale,Pixelate,Rotate
�
� �D|A
�6ș "Wimp_OpenTemplate",,"<Archrome$Dir>.Templates"
��K%=0 � NOWIND%
�� A$:$IO%=A$
�Hș "Wimp_LoadTemplate",,BUF%,SOF%,STORE%+(15*1024),-1,IO%,0 � ,,SOF%
�� K%=2 � BUF%?35=&FF
�.ș "Wimp_CreateWindow",,BUF% � HAND%(K%):�
�ș "Wimp_CloseTemplate"
�#�L%=15 � 46:�shadeicon(10,L%):�
��seticon(13,44,"16")
��23,6,0|
��systemvars
�
�chars
�loadfonts
!�buildmainmenu:�buildiconmenu
�
&
0��systemvars
:!PIC%=145*1024
DPIC%!4=0
N
PIC%!8=24
XPIC%!12=24
b8� IF L%=0 THEN SYS&2E,266,PIC%,"<Archrome$Dir>.Test"
l&ș &2E,271,PIC%,"PIC",0,618,234,15
vPIC$="<Untitled>"
�w� IF LF$<>"" THEN OSCLI("LOAD "+LF$+" "+STR$~(PIC%+4)):PIC$=FNleaf(LF$):PROCseticon(0,1,LF$) ELSE PIC$="<Untitled>"
�ESM%=-1:EPM%=-1
�=GRCO%=-1:GRTI%=-1:GRLO%=�:GRWI%=1:GRHE%=1:GRBX%=0:GRBY%=0
�3GRXM%=1:GRXD%=1:GRYM%=1:GRYD%=1:GRFX%=�:GRFY%=�
�ZOOM%=1
�USE%=0:LITY%=5:GRMA%=�
�� PAT%(5):PAT%()=0:PALE%=8
�� ECF%(8,4):ECF%()=0:ROT%=0
�� GRFI%(15,1,4):GRFI%()=0
�0FIFC%=63:FIFT%=192:FILC%=3:FILT%=192:FILR%=0
�	IP%=�
�(SELBR%=1:BXM%=1:BXD%=1:BYM%=1:BYD%=1
�EDBR%=1:IDRAG%=�:CPF%=1

�openmain
�windname(2,PIC$)
� TRASP% 256, REPS% 256
 �L%=0 � 255:REPS%?L%=L%:�
*!�L%=0 � 252 � 4:TRASP%!L%=0:�
4� FONT$(255),FONTT$(64)
>FONTB%=0:SREP%=255
H1MMX%=1:MMY%=1:MOP%=�:KUKE%=�:KUKD%=0:KUKL%=-1
R�
\
f��loadvars
pF%=�("<Archrome$Dir>.Vars")
z��#F%,backuppic,fillmask,getpicbyte,getbrushbyte,setpicbyte,pixaverage,tintarea,averagebrush,tintbrush,findchangebox,graduatedfill,colrep,patfill,rgbcont,greyscale,rotate,transarea
��#F%
��backuppic+=CODE%:fillmask+=CODE%:getpicbyte+=CODE%:getbrushbyte+=CODE%:setpicbyte+=CODE%:pixaverage+=CODE%:tintarea+=CODE%:averagebrush+=CODE%:tintbrush+=CODE%:findchangebox+=CODE%:graduatedfill+=CODE%:colrep+=CODE%
�Qpatfill+=CODE%:rgbcont+=CODE%:greyscale+=CODE%:rotate+=CODE%:transarea+=CODE%
��
�
���loadfonts
�	N%=-1
�FONT$(0)="System Font"
�;ș "XOS_ReadVarVal","Font$Path",IO%,256,,3 � ,,N% ;err%
�� (err% � 1) � FONTS%=0:�
�FP%=0:FONTS%=0
��
�+ș "Font_ListFonts",,IO%,FP%,-1 � ,,FP%
"FONT$(FONTS%+1)=$IO%:FONTS%+=1
� FP%=-1

FONTS%-=1
$-ș "Font_ReadFontMax" � B%,C%,D%,E%,F%,G%
.��seticon(16,12,�(B% � 1024)):�seticon(16,13,�(C% � 1152)):�seticon(16,14,�(D% � 1152)):�seticon(16,15,�(E% � 1152)):�seticon(16,16,�(F% � 1152)):�seticon(16,17,�(G% � 1152))
8�
B
L��loadsprites
V� SPRITES% 2000
`j!SPRITES%=2000:SPRITES%!4=0:SPRITES%!8=16:SPRITES%!12=16:ș &2E,266,SPRITES%,"<Archrome$Dir>.!Sprites"
j�
t
~��action
��
�	�poll
�'� (REAS%=17 � REAS%=18) � BLK%!16=0
��
�
���die:OP%=0:�spbuf(0)
�#ș "Wimp_CloseDown",HAND%,!TAS%
��
��
�
�
��poll
�"ș "Wimp_GetPointerInfo",,BLK%
!� BLK%!12<>HAND%(2) � MBUS%=�

!BLK%=%10011111110100110000
!ș "Wimp_Poll",0,BLK% � REAS%
� REAS%>-1 � �act
(�
2	��act
<Ȏ REAS% �
F� 0:�kuke:�picpoll
P� 1:�redraw
Z� 2:�opmain
d� 3:�clmain
n� 6:�mouse
x
� 9:�menu
�� 7:�dragfin
�� 17,18:�inmessage(BLK%!16)
��
��
�
���kuke:� � KUKE% � �
�KULI%=10
�ȗ MX%,MY%,MH%:KP%=�
�� � �(-58) � �dzE
�8� KUKL%<>-58 � KUKL%=-58:KUKD%=0:MY%+=4:KP%=�:� �dzE
�)KUKD%+=1:� KUKD%<KULI% � KP%=�:� �dzE
�KUKD%=KULI%:MY%+=4:KP%=�
�� � �(-42) � �TbF
8� KUKL%<>-58 � KUKL%=-58:KUKD%=0:MY%-=4:KP%=�:� �TbF
)KUKD%+=1:� KUKD%<KULI% � KP%=�:� �TbF
KUKD%=KULI%:MY%-=4:KP%=�
"� � �(-26) � �DJF
,8� KUKL%<>-58 � KUKL%=-58:KUKD%=0:MX%-=2:KP%=�:� �DJF
6)KUKD%+=1:� KUKD%<KULI% � KP%=�:� �DJF
@KUKD%=KULI%:MX%-=2:KP%=�
J� � �(-122) � �DrF
T8� KUKL%<>-58 � KUKL%=-58:KUKD%=0:MX%+=2:KP%=�:� �DrF
^)KUKD%+=1:� KUKD%<KULI% � KP%=�:� �DrF
hKUKD%=KULI%:MX%+=2:KP%=�
r� � KP% � KUKL%=-1:KUKD%=0
|ȗ � MX%,MY%
��
�
���redraw
�Ȏ !BLK% �
�� HAND%(2):�redrawmain
�� HAND%(3):�redrawpal
�� HAND%(5):�redrawbrush
�� HAND%(11):�redrawpat
�� HAND%(12):�redrawedbru
�� HAND%(13):�redrawfill
�� HAND%(15):�redrawtback
�� HAND%(18):�redrawcolrep
�� HAND%(20):�redrawpatfill
�
�

&��redrawbrush
0'ș "Wimp_RedrawWindow",,BLK% � FIN%
:�getbrushor
D<ȕ FIN%:�plotbrushes:ș "Wimp_GetRectangle",,BLK% � FIN%
N�
X�
b
l��redrawedbru
v'ș "Wimp_RedrawWindow",,BLK% � FIN%
��getedbruor
�:ȕ FIN%:�plotedbru:ș "Wimp_GetRectangle",,BLK% � FIN%
��
��
�
���redrawpatfill
�'ș "Wimp_RedrawWindow",,BLK% � FIN%
��getpatfillor
�<ȕ FIN%:�plotpatfill:ș "Wimp_GetRectangle",,BLK% � FIN%
��
��
�
�F��forcedrawpatfill:ș "Wimp_ForceRedraw",HAND%(20),0,-108,1100,0:�

%��forcedrawedbru(x1%,y1%,x2%,y2%)
!BLK%=HAND%(12)
 BLK%!4=x1%
*BLK%!8=y1%
4BLK%!12=x2%
>BLK%!16=y2%
H'ș "Wimp_UpdateWindow",,BLK% � FIN%
R�getedbruor
\ȕ FIN%
f�plotedbru
p'ș "Wimp_GetRectangle",,BLK% � FIN%
z�
��
�
���forcedrawbrush
�!BLK%=HAND%(5)
�BLK%!4=0
�BLK%!8=-260
�BLK%!12=384
�
BLK%!16=0
�'ș "Wimp_UpdateWindow",,BLK% � FIN%
��getbrushor
�ȕ FIN%
��plotbrushes
�'ș "Wimp_GetRectangle",,BLK% � FIN%
	�
	�
	
	$(��plot256sprite(SPA%,SPI$,POX%,POY%)
	.� �<>15 � � �DBI
	8Z!SCALE%=1:SCALE%!4=1:SCALE%!8=1:SCALE%!12=1:ș "OS_SpriteOp",290,SPA%,SPI$,POX%,POY%:�
	B9� �<>ESM% � ESM%=�:EPM%=�:ș&40740,15,0,-1,-1,PIXTAB%
	Lș&35,-1,4 � ,,E%
	VV� E%<1 � SX%=2^(1-E%):!SCALE%=SX%:SCALE%!8=1 � SX%=2^(E%-1):!SCALE%=1:SCALE%!8=SX%
	`SCALE%!4=1:SCALE%!12=1
	j=ș "OS_SpriteOp",308,SPA%,SPI$,POX%,POY%,0,SCALE%,PIXTAB%
	t�
	~
	���plotpatfill
	���L%=1 � 12:�plot256sprite(PFILLS%,�L%,WOX%+((L%-1)*84)+24,WOY%+12):� CPF%=L% � �col(0,0,0):ȓ WOX%+((CPF%-1)*84)+16,WOY%+4,78,76:ȓ WOX%+((CPF%-1)*84)+18,WOY%+4,74,76
	��
	��
	�
	���plotbrushes
	��L%=1 � 12
	�DBLK%!400=HAND%(5):BLK%!404=L%-1:ș "Wimp_GetIconState",,BLK%+400
	�H�plot256sprite(BRUSH%,�L%,WOX%+(BLK%!408)+2,WOY%+(260+(BLK%!412))+4)
	�V� SELBR%=L% � �col(48,192,3):ȓ Ȑ WOX%+(BLK%!408)+2,WOY%+(260+(BLK%!412))+4,64,60
	��
	��


��plotedbru
�L%=1 � 12
EBLK%!400=HAND%(12):BLK%!404=L%-1:ș "Wimp_GetIconState",,BLK%+400
(:�plot256sprite(BRUSH%,�L%,WOX%+((L%-1)*64)+32,WOY%+20)
2G� EDBR%=L% � �col(48,192,3):ȓ Ȑ WOX%+((L%-1)*64)+32,WOY%+20,64,60
<�
F#!SCALE%=(!SCALE%)*12:SCALE%!4=8
P�� �<>15 � ș "OS_SpriteOp",308,BRUSH%,�EDBR%,WOX%+28,WOY%+112,0,SCALE%,PIXTAB% � ș "OS_SpriteOp",308,BRUSH%,�EDBR%,WOX%+28,WOY%+112,0,SCALE%
Z�EX%=WOX%+28:EY%=WOY%+112:�col(21,192,0):�L%=0 � 32:� EX%+(L%*24),EY%,EX%+(L%*24),EY%+512:�:�L%=0 � 16:� EX%,EY%+(L%*32),EX%+768,EY%+(L%*32):�
d�
n
x��forcedrawmain
�!BLK%=HAND%(2)
�BLK%!4=0
�BLK%!8=-936*ZOOM%
�BLK%!12=1236*ZOOM%
�
BLK%!16=0
�'ș "Wimp_UpdateWindow",,BLK% � FIN%
�
�getor
�ȕ FIN%
��plotpic
�'ș "Wimp_GetRectangle",,BLK% � FIN%
��
��
�
!��quickdrawmain:� � VACB% � �
!BLK%=HAND%(2)
BLK%!4=CBMINX%
"BLK%!8=CBMINY%
,BLK%!12=CBMAXX%
6BLK%!16=CBMAXY%
@'ș "Wimp_UpdateWindow",,BLK% � FIN%
J
�getor
Tȕ FIN%
^�plotpic
h'ș "Wimp_GetRectangle",,BLK% � FIN%
r�
|�
�
���inpic:� IP% � �
�	IP%=�
�1ș "OS_SpriteOp",316,PIC%,"PIC" � V1,V2,V3,V4
�ș "OS_ChangedBox",2
�ș "OS_ChangedBox",1
�8� GCOL3,63:LINE 300,300,320,320:LINE 300,300,320,320
�%�23,6:�L%=1 � 5:� PAT%(L%):�:� 0|
�ș6,163,242,PALE%
��
�
�@��inbackup:ș "OS_SpriteOp",316,SPBUF%,"PIC" � B1,B2,B3,B4:�
�
F��insprite(ma%,sa%,sn$):ș &2E,316+ma%,sa%,sn$ � IS1,IS2,IS3,IS4:�

(��outsprite:ș &2E,IS1,IS2,IS3,IS4:�
&
0.��outbackup:ș "OS_SpriteOp",B1,B2,B3,B4:�
:
D��outpic:� � IP% � �
N	IP%=�
X!ș "OS_ChangedBox",-1 � ,CBA%
b�� �(CBA%!4)=-1 � �(CBA%!8)=-1 � �(CBA%!12)=-1 � �(CBA%!16)=-1 � VACB%=�:ș "OS_ChangedBox":ș "OS_SpriteOp",V1,V2,V3,V4:� � VACB%=�
l*CBMINX%=CBA%!4:CBMINX%=CBMINX%*ZOOM%*2
v3CBMINY%=CBA%!8:CBMINY%=(-936+(CBMINY%*4))*ZOOM%
�+CBMAXX%=CBA%!12:CBMAXX%=CBMAXX%*ZOOM%*2
�4CBMAXY%=CBA%!16:CBMAXY%=(-936+(CBMAXY%*4))*ZOOM%
�CBMAXX%+=4*ZOOM%
�CBMAXY%+=4*ZOOM%
�ș "OS_ChangedBox"
� ș "OS_SpriteOp",V1,V2,V3,V4
��
�
���redrawmain
�� FUSE%=32 �
�� FONT%<>0 � EFM%<>-1 �
�[� �<>EFM% � �inpic:ș "ColourTrans_SetFontColours",FHAND%,BPAL%,FPAL%,14:�outpic:EFM%=�
��

�

'ș "Wimp_RedrawWindow",,BLK% � FIN%


�getor

 8ȕ FIN%:�plotpic:ș "Wimp_GetRectangle",,BLK% � FIN%

*�

4�

>

H
��plotpic

RH� �=15 � ZOOM%=1 � ș "OS_SpriteOp",290,PIC%,"PIC",WOX%,WOY%:�grid:�

\9� �<>ESM% � ESM%=�:EPM%=�:ș&40740,15,0,-1,-1,PIXTAB%

fș&35,-1,4 � ,,E%

pV� E%<1 � SX%=2^(1-E%):!SCALE%=SX%:SCALE%!8=1 � SX%=2^(E%-1):!SCALE%=1:SCALE%!8=SX%

z!SCALE%=(!SCALE%)*ZOOM%

�SCALE%!4=ZOOM%

�SCALE%!12=1

�*� �=15 � TPIXTAB%=0 � TPIXTAB%=PIXTAB%

�Gș "OS_SpriteOp",308,PIC%,"PIC",WOX%,WOY%,0,SCALE%,TPIXTAB%:�grid:�

�

�C��grid:� GRCO%=-1 � (2*GRWI%*ZOOM%)<16 � (4*GRHE%*ZOOM%)<16 � �

��gridcol

�� X%,Y%

�=X%=(((BLK%!28)-WOX%) � (ZOOM%*(2*GRWI%)))*(2*GRWI%*ZOOM%)

�=Y%=(((BLK%!32)-WOY%) � (ZOOM%*(4*GRHE%)))*(4*GRHE%*ZOOM%)

�XOF%=(GRWI%-GRBX%)*2*ZOOM%

�YOF%=(GRHE%-GRBY%)*4*ZOOM%

�X%+=WOX%-XOF%
Y%+=WOY%-YOF%
D�:� X%,(BLK%!32),X%,(BLK%!40):X%+=(2*GRWI%*ZOOM%):� X%>(BLK%!36)
D�:� (BLK%!28),Y%,(BLK%!36),Y%:Y%+=(4*GRHE%*ZOOM%):� Y%>(BLK%!40)
$�
.
8��plotpal(PTU%)
B�col(63,192,0)
L� VDU4:PRINT WOX%,WOY%
V� �<>15 � � �DtN
`tș "OS_SpriteOp",290,PTU%,"Palette",WOX%,WOY%:� PTU%=PAL% � ȓ WOX%+((COL% � 32)*24),WOY%+((COL% � 32)*28),24,28
j�
t9� �<>EPM% � ESM%=�:EPM%=�:ș&40740,15,0,-1,-1,PIXTAB%
~ș&35,-1,4 � ,,E%
�V� E%<1 � SX%=2^(1-E%):!SCALE%=SX%:SCALE%!8=1 � SX%=2^(E%-1):!SCALE%=1:SCALE%!8=SX%
�SCALE%!4=1
�SCALE%!12=1
�Bș "OS_SpriteOp",308,PTU%,"Palette",WOX%,WOY%,0,SCALE%,PIXTAB%
�F� PTU%=PAL% � ȓ WOX%+((COL% � 32)*24),WOY%+((COL% � 32)*28),24,28
��
�
���trasp(TC%)
�TRASP%?TC%=(TRASP%?TC%) � 1
�5ș "OS_SpriteOp",316,PAL%,"Palette" � V1,V2,V3,V4
�+TX%=((TC% � 32)*24):TY%=((TC% � 32)*28)
�r� (TRASP%?TC%)=0 � �0,PALTAB%?(TC%*2) Ȝ PALTAB%?((TC%*2)+1) � �anticol(PALTAB%?(TC%*2),PALTAB%?((TC%*2)+1),0)
=� TX%+6,TY%+20,TX%+18,TY%+20:� TX%+12,TY%+8,TX%+12,TY%+20

 ș "OS_SpriteOp",V1,V2,V3,V4
�

(��redrawpal
2'ș "Wimp_RedrawWindow",,BLK% � FIN%
<
�getpalor
F>ȕ FIN%:�plotpal(PAL%):ș "Wimp_GetRectangle",,BLK% � FIN%
P�
Z�
d
n��redrawtback
x'ș "Wimp_RedrawWindow",,BLK% � FIN%
�
�getpalor
�ȕ FIN%:�plotpal(OPAL%)
�K�col(63,192,0):ȓ WOX%+((FONTB% � 32)*24),WOY%+((FONTB% � 32)*28),24,28
�'ș "Wimp_GetRectangle",,BLK% � FIN%
��
��
�
���redrawcolrep
�'ș "Wimp_RedrawWindow",,BLK% � FIN%
��getpalor:WOY%-=328
�]ȕ FIN%:WOY%+=290:�plotpal(OPAL%):�col(0,0,0):� WOX%,WOY%+224,WOX%+770,WOY%+224:WOY%-=290
�B�plotpal(SPBUF%):�col(0,0,0):� WOX%,WOY%+224,WOX%+770,WOY%+224
�I�col(63,192,0):ȓ WOX%+((SREP% � 32)*24),WOY%+((SREP% � 32)*28),24,28
'ș "Wimp_GetRectangle",,BLK% � FIN%
�
�
"
,��forcedrawcolrep
6!BLK%=HAND%(18)
@BLK%!4=0
JBLK%!8=-556
TBLK%!12=770
^
BLK%!16=0
h'ș "Wimp_UpdateWindow",,BLK% � FIN%
r�getpalor:WOY%-=328
|ȕ FIN%
�UWOY%+=290:�plotpal(OPAL%):�col(0,0,0):� WOX%,WOY%+224,WOX%+770,WOY%+224:WOY%-=290
�B�plotpal(SPBUF%):�col(0,0,0):� WOX%,WOY%+224,WOX%+770,WOY%+224
�I�col(63,192,0):ȓ WOX%+((SREP% � 32)*24),WOY%+((SREP% � 32)*28),24,28
�'ș "Wimp_GetRectangle",,BLK% � FIN%
��
��
�
�
ݤcecf
�� �high(11,18) � =1
�� �high(11,19) � =2
�� �high(11,20) � =3
�� �high(11,21) � =4
�=0

��redrawpat
'ș "Wimp_RedrawWindow",,BLK% � FIN%
&
�getpator
0Iȕ FIN%:�plotpal(OPAL%):�col(0,0,0):� WOX%,WOY%+224,WOX%+770,WOY%+224
:-CECF%=�cecf:�K%=0 � 7:L%=ECF%(K%+1,CECF%)
DcPE%=BTC%?L%:�col(PALTAB%?(PE%*2),PALTAB%?((PE%*2)+1),0):ȓ Ȑ WOX%-146,(WOY%+276)-(K%*40),38,36
N�
X'ș "Wimp_GetRectangle",,BLK% � FIN%
b�
l�
v
�ݤgrafilno
�� �high(13,17) � =0
�� �high(13,18) � =1
�� �high(13,19) � =2
�� �high(13,20) � =3
�� �high(13,21) � =4
�=-1
�
���redrawfill
�'ș "Wimp_RedrawWindow",,BLK% � FIN%
�!�getpator:WOY%-=140:WOX%-=140
�qȕ FIN%:WOY%+=232:WOX%+=380:�plotpal(OPAL%):�col(0,0,0):� WOX%,WOY%+224,WOX%+770,WOY%+224:WOX%-=140:WOY%-=140
�xFIX%=WOX%+200:GRFIN%=�grafilno:�L%=0 � 15:� GRFIN%<>-1 � �col(GRFI%(L%,0,GRFIN%),GRFI%(L%,1,GRFIN%),0) � �col(0,0,0)
'ȓ Ȑ FIX%,WOY%-28,42,32:FIX%+=44:�
'ș "Wimp_GetRectangle",,BLK% � FIN%
�
 �
*
4��forcedrawfill
>!BLK%=HAND%(13)
HBLK%!4=0
RBLK%!8=-500
\BLK%!12=1200
fBLK%!16=-360
p'ș "Wimp_UpdateWindow",,BLK% � FIN%
z �getpator:WOY%-=48:WOX%+=100
�xFIX%=WOX%+200:GRFIN%=�grafilno:�L%=0 � 15:� GRFIN%<>-1 � �col(GRFI%(L%,0,GRFIN%),GRFI%(L%,1,GRFIN%),0) � �col(0,0,0)
�'ȓ Ȑ FIX%,WOY%-28,42,32:FIX%+=44:�
�ȕ FIN%
�'ș "Wimp_GetRectangle",,BLK% � FIN%
��
��
�
���forcedrawpat
�!BLK%=HAND%(11)
�BLK%!4=0
�BLK%!8=-356
�BLK%!12=100
�
BLK%!16=0
'ș "Wimp_UpdateWindow",,BLK% � FIN%

�getpator
ȕ FIN%
$A�plotpal(OPAL%):�col(0,0,0):� WOX%,WOY%+224,WOX%+770,WOY%+224
.CECF%=�cecf
8� RK%=0 � 7
BL%=ECF%(RK%+1,CECF%)
LdPE%=BTC%?L%:�col(PALTAB%?(PE%*2),PALTAB%?((PE%*2)+1),0):ȓ Ȑ WOX%-146,(WOY%+276)-(RK%*40),38,36
V,ȓ Ȑ WOX%-146,(WOY%+276)-(RK%*40),38,36
`�
j'ș "Wimp_GetRectangle",,BLK% � FIN%
t�
~�
�
�&ݤctb(co%,ti%):by%=-1:�L%=0 to 255
�
���drawpicinit
�!BLK%=HAND%(2)
�BLK%!4=0
�BLK%!8=-936
�BLK%!12=1236
�
BLK%!16=0
�'ș "Wimp_UpdateWindow",,BLK% � FIN%
�
�getor
��


��forcedrawpal(PTU%)
!BLK%=HAND%(3)
BLK%!4=0
(BLK%!8=-228
2BLK%!12=770
<
BLK%!16=0
F'ș "Wimp_UpdateWindow",,BLK% � FIN%
P
�getpalor
Zȕ FIN%
d�plotpal(PTU%)
n'ș "Wimp_GetRectangle",,BLK% � FIN%
x�
��
�
���forcedrawtback
�!BLK%=HAND%(15)
�BLK%!4=0
�BLK%!8=-228
�BLK%!12=770
�
BLK%!16=0
�'ș "Wimp_UpdateWindow",,BLK% � FIN%
�
�getpalor
�ȕ FIN%
��plotpal(OPAL%)
�K�col(63,192,0):ȓ WOX%+((FONTB% � 32)*24),WOY%+((FONTB% � 32)*28),24,28
'ș "Wimp_GetRectangle",,BLK% � FIN%
�
�
"
,��getpalor
6WOX%=BLK%!4-BLK%!20
@WOY%=(BLK%!16-BLK%!24)-228
J�
T
^��getpator
hWOX%=(BLK%!4-BLK%!20)+180
rWOY%=(BLK%!16-BLK%!24)-340
|�
�
�
��picpoll
�"ș "Wimp_GetPointerInfo",,BLK%
�3� VDU4:PRINTTAB(0,0);MBUS%;",";BLK%!8;"  ":VDU5
�%� MBUS% � BLK%!8<>0 � � � MBUS%=�
�D� BLK%!12<HAND%(0) � BLK%!12>HAND%(NOWIND%) � IDRAG%=(BLK%!8<>0)
�� BLK%!8=0 � IDRAG%=�
�&� VDU4:PRINTTAB(0,0);BLK%!16;"   "
�)� BLK%!12<>HAND%(2) � BLK%!16<>-1 � �
�� BLK%!8<>0 � IDRAG% � �
�"X%=!BLK%:Y%=BLK%!4:BUT%=BLK%!8
�� BUT%=2 � �
�Ȏ FUSE% �
F� 1:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:� �Db`
'� BUT%=0 � FUST%=0 � FUST%=0:� �Db`
8�picpos:�inpic:�setcol:�l(X%(0),Y%(0),X%,Y%):�outpic
&�quickdrawmain
0X%(0)=X%:Y%(0)=Y%
:�� 2:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�3,63 Ȝ 192:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain:� �Db`
D� FUST%=0 � � �Db`
N�� BUT%=1 � �inpic:�3,63 Ȝ 192:� X%(0),Y%(0),OX%,OY%:�picpos:X%(0)=X%:Y%(0)=Y%:OX%=X%:OY%=Y%:FUST%=1:�3,63 Ȝ 192:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain:� �Db`
X�� BUT%=4 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�picpos:�setcol:�l(X%(0),Y%(0),X%,Y%):X%(0)=X%:Y%(0)=Y%:OX%=X%:OY%=Y%:�eoc:� X%(0),Y%(0),X%,Y%:�outpic:�quickdrawmain:� �Db`
b&�picpos:� X%=OX% � Y%=OY% � � �Db`
l^�inpic:�eoc:� X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:� X%(0),Y%(0),X%,Y%:�outpic:�quickdrawmain
v~� 4:� FUST%=0 � �paintscale:�picpos:�inpic:�eorback:�paintbrush(X%,Y%):�outpic:�quickdrawmain:OX%=X%:OY%=Y%:FUST%=1:� �Db`
��picpos
��� X%<>OX% � Y%<>OY% � �paintscale:�inpic:�eorback:�paintbrush(OX%,OY%):�paintbrush(X%,Y%):OX%=X%:OY%=Y%:�outpic:�quickdrawmain
��� 5:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain:� �Db`
�� FUST%=0 � � �Db`
��� BUT%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
��� BUT%=4 � (OX%<>X%(0) � OY%<>Y%(0)) � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�picpos:�setcol:�r(X%(0),Y%(0),X%-X%(0),Y%-Y%(0)):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=0:� �Db`
�&�picpos:� X%=OX% � Y%=OY% � � �Db`
�x�inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):OX%=X%:OY%=Y%:ȓ X%(0),Y%(0),X%-X%(0),Y%-Y%(0):�outpic:�quickdrawmain
Н� 6:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:ȓ Ȑ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain:� �Db`
�� FUST%=0 � � �Db`
�� BUT%=1 � �inpic:�eoc:ȓ Ȑ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
��� BUT%=4 � (OX%<>X%(0) � OY%<>Y%(0)) � �inpic:�eoc:ȓ Ȑ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�picpos:�setcol:ȓ Ȑ X%(0),Y%(0),X%-X%(0),Y%-Y%(0):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=0:� �Db`
�&�picpos:� X%=OX% � Y%=OY% � � �Db`
~�inpic:�eoc:ȓ Ȑ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):OX%=X%:OY%=Y%:ȓ Ȑ X%(0),Y%(0),X%-X%(0),Y%-Y%(0):�outpic:�quickdrawmain
�� 7:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:ȏ X%(0),Y%(0),�dist(OX%,OY%):�outpic:�quickdrawmain:� �Db`
� FUST%=0 � � �Db`
 {� BUT%=1 � �inpic:�eoc:ȏ X%(0),Y%(0),�dist(OX%,OY%):�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
*�� BUT%=4 � (OX%<>X%(0) � OY%<>Y%(0)) � �inpic:�eoc:ȏ X%(0),Y%(0),�dist(OX%,OY%):�picpos:�setcol:ȏ X%(0),Y%(0),�dist(X%,Y%):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=0:� �Db`
4&�picpos:� X%=OX% � Y%=OY% � � �Db`
>n�inpic:�eoc:ȏ X%(0),Y%(0),�dist(OX%,OY%):OX%=X%:OY%=Y%:ȏ X%(0),Y%(0),�dist(X%,Y%):�outpic:�quickdrawmain
H�� 8:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:ȏ Ȑ X%(0),Y%(0),�dist(OX%,OY%):�outpic:�quickdrawmain:� �Db`
R� FUST%=0 � � �Db`
\~� BUT%=1 � �inpic:�eoc:ȏ Ȑ X%(0),Y%(0),�dist(OX%,OY%):�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
f�� BUT%=4 � (OX%<>X%(0) � OY%<>Y%(0)) � �inpic:�eoc:ȏ Ȑ X%(0),Y%(0),�dist(OX%,OY%):�picpos:�setcol:ȏ Ȑ X%(0),Y%(0),�dist(X%,Y%):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=0:� �Db`
p&�picpos:� X%=OX% � Y%=OY% � � �Db`
zt�inpic:�eoc:ȏ Ȑ X%(0),Y%(0),�dist(OX%,OY%):OX%=X%:OY%=Y%:ȏ Ȑ X%(0),Y%(0),�dist(X%,Y%):�outpic:�quickdrawmain
��� 9:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain:� �Db`
�� FUST%=0 � � �Db`
�}� BUT%=1 � FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
�i� BUT%=1 � FUST%=2 � �inpic:�eoc:�tri(5,OX%,OY%):�picpos:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
��� BUT%=4 � (OX%<>X%(0) � OY%<>Y%(0)) � FUST%=1 � �inpic:�eoc:X%(1)=OX%:Y%(1)=OY%:�picpos:OX%=X%:OY%=Y%:� X%(1),Y%(1),X%,Y%:� X%(0),Y%(0),X%,Y%:�outpic:�quickdrawmain:�letgo:FUST%=2:� �Db`
��� BUT%=4 � (OX%<>X%(1) � OY%<>Y%(1)) � FUST%=2 � �inpic:�eoc:�picpos:�tri(5,OX%,OY%):�setcol:�tri(0,X%,Y%):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=0:� �Db`
�&�picpos:� X%=OX% � Y%=OY% � � �Db`
�j� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:� X%(0),Y%(0),X%,Y%:�outpic:�quickdrawmain
Ԕ� FUST%=2 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:� X%(1),Y%(1),OX%,OY%:OX%=X%:OY%=Y%:� X%(0),Y%(0),X%,Y%:� X%(1),Y%(1),X%,Y%:�outpic:�quickdrawmain
ގ� 10:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain:� �Db`
�� FUST%=0 � � �Db`
�}� BUT%=1 � FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
�j� BUT%=1 � FUST%=2 � �inpic:�eoc:�tri(85,OX%,OY%):�picpos:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
�� BUT%=4 � (OX%<>X%(0) � OY%<>Y%(0)) � FUST%=1 � �inpic:�eoc:X%(1)=OX%:Y%(1)=OY%:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:�tri(85,X%,Y%):�outpic:�quickdrawmain:�letgo:FUST%=2:� �Db`
�� BUT%=4 � (OX%<>X%(1) � OY%<>Y%(1)) � FUST%=2 � �inpic:�eoc:�picpos:�tri(85,OX%,OY%):�setcol:�tri(85,X%,Y%):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=0:� �Db`
&�picpos:� X%=OX% � Y%=OY% � � �Db`
$j� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:� X%(0),Y%(0),X%,Y%:�outpic:�quickdrawmain
.`� FUST%=2 � �inpic:�eoc:�tri(85,OX%,OY%):OX%=X%:OY%=Y%:�tri(85,X%,Y%):�outpic:�quickdrawmain
8�� 11:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain:� �Db`
B� FUST%=0 � � �Db`
L}� BUT%=1 � FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
Vl� BUT%=1 � FUST%=2 � �inpic:�eoc:�elip(&C5,OX%,OY%):�picpos:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
`�� BUT%=4 � (OX%<>X%(0) � OY%<>Y%(0)) � FUST%=1 � �inpic:�eoc:X%(1)=OX%:Y%(1)=OY%:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:�elip(&C5,X%,Y%):�outpic:�quickdrawmain:�letgo:FUST%=2:� �Db`
j�� BUT%=4 � (OX%<>X%(1) � OY%<>Y%(1)) � FUST%=2 � �inpic:�eoc:�picpos:�elip(&C5,OX%,OY%):�setcol:�elip(&C5,X%,Y%):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=0:� �Db`
t&�picpos:� X%=OX% � Y%=OY% � � �Db`
~j� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:� X%(0),Y%(0),X%,Y%:�outpic:�quickdrawmain
�d� FUST%=2 � �inpic:�eoc:�elip(&C5,OX%,OY%):OX%=X%:OY%=Y%:�elip(&C5,X%,Y%):�outpic:�quickdrawmain
��� 12:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain:� �Db`
�� FUST%=0 � � �Db`
�}� BUT%=1 � FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
�l� BUT%=1 � FUST%=2 � �inpic:�eoc:�elip(&CD,OX%,OY%):�picpos:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
��� BUT%=4 � (OX%<>X%(0) � OY%<>Y%(0)) � FUST%=1 � �inpic:�eoc:X%(1)=OX%:Y%(1)=OY%:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:�elip(&CD,X%,Y%):�outpic:�quickdrawmain:�letgo:FUST%=2:� �Db`
į� BUT%=4 � (OX%<>X%(1) � OY%<>Y%(1)) � FUST%=2 � �inpic:�eoc:�picpos:�elip(&CD,OX%,OY%):�setcol:�elip(&CD,X%,Y%):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=0:� �Db`
�&�picpos:� X%=OX% � Y%=OY% � � �Db`
�j� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:� X%(0),Y%(0),X%,Y%:�outpic:�quickdrawmain
�d� FUST%=2 � �inpic:�eoc:�elip(&CD,OX%,OY%):OX%=X%:OY%=Y%:�elip(&CD,X%,Y%):�outpic:�quickdrawmain
�� 13:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain:� �Db`
�� FUST%=0 � � �Db`
}� BUT%=1 � FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`

l� BUT%=1 � FUST%=2 � �inpic:�eoc:�para(0,0,OX%,OY%):�picpos:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
�� BUT%=4 � (OX%<>X%(0) � OY%<>Y%(0)) � FUST%=1 � �inpic:�eoc:X%(1)=OX%:Y%(1)=OY%:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:�para(0,0,X%,Y%):�outpic:�quickdrawmain:�letgo:FUST%=2:� �Db`
�� BUT%=4 � (OX%<>X%(1) � OY%<>Y%(1)) � FUST%=2 � �inpic:�eoc:�picpos:�para(0,0,OX%,OY%):�setcol:�para(1,0,X%,Y%):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=0:� �Db`
(&�picpos:� X%=OX% � Y%=OY% � � �Db`
2j� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:� X%(0),Y%(0),X%,Y%:�outpic:�quickdrawmain
<d� FUST%=2 � �inpic:�eoc:�para(0,0,OX%,OY%):OX%=X%:OY%=Y%:�para(0,0,X%,Y%):�outpic:�quickdrawmain
F�� 14:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain:� �Db`
P� FUST%=0 � � �Db`
Z}� BUT%=1 � FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
dl� BUT%=1 � FUST%=2 � �inpic:�eoc:�para(0,1,OX%,OY%):�picpos:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
n�� BUT%=4 � (OX%<>X%(0) � OY%<>Y%(0)) � FUST%=1 � �inpic:�eoc:X%(1)=OX%:Y%(1)=OY%:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:�para(0,1,X%,Y%):�outpic:�quickdrawmain:�letgo:FUST%=2:� �Db`
x�� BUT%=4 � (OX%<>X%(1) � OY%<>Y%(1)) � FUST%=2 � �inpic:�eoc:�picpos:�para(0,1,OX%,OY%):�setcol:�para(0,1,X%,Y%):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=0:� �Db`
�&�picpos:� X%=OX% � Y%=OY% � � �Db`
�j� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:� X%(0),Y%(0),X%,Y%:�outpic:�quickdrawmain
�d� FUST%=2 � �inpic:�eoc:�para(0,1,OX%,OY%):OX%=X%:OY%=Y%:�para(0,1,X%,Y%):�outpic:�quickdrawmain
��� 15:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain:� �Db`
�� FUST%=0 � � �Db`
�}� BUT%=1 � FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
�l� BUT%=1 � FUST%=2 � �inpic:�eoc:�elip(&A5,OX%,OY%):�picpos:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
Ⱦ� BUT%=4 � (OX%<>X%(0) � OY%<>Y%(0)) � FUST%=1 � �inpic:�eoc:X%(1)=OX%:Y%(1)=OY%:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:�elip(&A5,X%,Y%):�outpic:�quickdrawmain:�letgo:FUST%=2:� �Db`
ү� BUT%=4 � (OX%<>X%(1) � OY%<>Y%(1)) � FUST%=2 � �inpic:�eoc:�picpos:�elip(&A5,OX%,OY%):�setcol:�elip(&A5,X%,Y%):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=0:� �Db`
�&�picpos:� X%=OX% � Y%=OY% � � �Db`
�j� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:� X%(0),Y%(0),X%,Y%:�outpic:�quickdrawmain
�d� FUST%=2 � �inpic:�eoc:�elip(&A5,OX%,OY%):OX%=X%:OY%=Y%:�elip(&A5,X%,Y%):�outpic:�quickdrawmain
��� 16:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain:� �Db`
� FUST%=0 � � �Db`
}� BUT%=1 � FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
l� BUT%=1 � FUST%=2 � �inpic:�eoc:�elip(&B5,OX%,OY%):�picpos:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
"�� BUT%=4 � (OX%<>X%(0) � OY%<>Y%(0)) � FUST%=1 � �inpic:�eoc:X%(1)=OX%:Y%(1)=OY%:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:�elip(&B5,X%,Y%):�outpic:�quickdrawmain:�letgo:FUST%=2:� �Db`
,�� BUT%=4 � (OX%<>X%(1) � OY%<>Y%(1)) � FUST%=2 � �inpic:�eoc:�picpos:�elip(&B5,OX%,OY%):�setcol:�elip(&B5,X%,Y%):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=0:� �Db`
6&�picpos:� X%=OX% � Y%=OY% � � �Db`
@j� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:� X%(0),Y%(0),X%,Y%:�outpic:�quickdrawmain
Jd� FUST%=2 � �inpic:�eoc:�elip(&B5,OX%,OY%):OX%=X%:OY%=Y%:�elip(&B5,X%,Y%):�outpic:�quickdrawmain
T�� 17:� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain:� �Db`
^� FUST%=0 � � �Db`
h}� BUT%=1 � FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
rl� BUT%=1 � FUST%=2 � �inpic:�eoc:�elip(&AD,OX%,OY%):�picpos:FUST%=0:�outpic:�quickdrawmain:�letgo:� �Db`
|�� BUT%=4 � (OX%<>X%(0) � OY%<>Y%(0)) � FUST%=1 � �inpic:�eoc:X%(1)=OX%:Y%(1)=OY%:� X%(0),Y%(0),OX%,OY%:�picpos:OX%=X%:OY%=Y%:�elip(&AD,X%,Y%):�outpic:�quickdrawmain:�letgo:FUST%=2:� �Db`
��� BUT%=4 � (OX%<>X%(1) � OY%<>Y%(1)) � FUST%=2 � �inpic:�eoc:�picpos:�elip(&AD,OX%,OY%):�setcol:�elip(&AD,X%,Y%):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=0:� �Db`
�&�picpos:� X%=OX% � Y%=OY% � � �Db`
�j� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:OX%=X%:OY%=Y%:� X%(0),Y%(0),X%,Y%:�outpic:�quickdrawmain
�d� FUST%=2 � �inpic:�eoc:�elip(&AD,OX%,OY%):OX%=X%:OY%=Y%:�elip(&AD,X%,Y%):�outpic:�quickdrawmain
�(� 19:� FUST%<2 � �grabpoll(0):� �Db`
�k� BUT%=1 � �inpic:�picpos:�pgrab(OX%,OY%,3):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:FUST%=0:�spinit:� �Db`
�}� BUT%=4 � �inpic:�picpos:�pgrab(OX%,OY%,3):�pgrab(X%,Y%,0):OX%=X%:OY%=Y%:�pgrab(OX%,OY%,3):�outpic:�quickdrawmain:� �Db`
�&�picpos:� X%=OX% � Y%=OY% � � �Db`
�Q�inpic:�pgrab(OX%,OY%,3):OX%=X%:OY%=Y%:�pgrab(X%,Y%,3):�outpic:�quickdrawmain
�(� 18:� FUST%<2 � �grabpoll(1):� �Db`
�k� BUT%=1 � �inpic:�picpos:�pgrab(OX%,OY%,3):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:FUST%=0:�spinit:� �Db`
�x� BUT%=4 � �inpic:�picpos:�pgrab(OX%,OY%,3):�pgrab(X%,Y%,0):OX%=X%:OY%=Y%:�pgrab(OX%,OY%,3):�outpic:�quickdrawmain:�
�&�picpos:� X%=OX% � Y%=OY% � � �Db`
Q�inpic:�pgrab(OX%,OY%,3):OX%=X%:OY%=Y%:�pgrab(X%,Y%,3):�outpic:�quickdrawmain
%� 20:� FUST%<2 � �rectpoll:� �Db`
G�spbuf(�spritesize(OX%-X%(0),OY%-Y%(0),1)):� Q% � �spinit:�spbuferr
&C�inpic:GRN$="GRAB":ș&2E,272,SPBUF%,"GRAB",,X%(0),Y%(0),OX%,OY%
0.ș&2E,285,SPBUF%,"GRAB":GRABM%=8:�fillmask
:0ș&2E,290,SPBUF%,"GRAB",X%(0),Y%(0),3+GRABM%
Dmș&2E,303,SPBUF%,"GRAB":ș&2E,290,SPBUF%,"GRAB",X%(0),Y%(0),GRABM%:�outpic:FUST%=0:�spinit:�quickdrawmain
N%� 21:� FUST%<2 � �rectpoll:� �Db`
XG�spbuf(�spritesize(OX%-X%(0),OY%-Y%(0),1)):� Q% � �spinit:�spbuferr
bC�inpic:GRN$="GRAB":ș&2E,272,SPBUF%,"GRAB",,X%(0),Y%(0),OX%,OY%
l.ș&2E,285,SPBUF%,"GRAB":GRABM%=8:�fillmask
v0ș&2E,290,SPBUF%,"GRAB",X%(0),Y%(0),3+GRABM%
�mș&2E,289,SPBUF%,"GRAB":ș&2E,290,SPBUF%,"GRAB",X%(0),Y%(0),GRABM%:�outpic:FUST%=0:�spinit:�quickdrawmain
�%� 22:� FUST%<2 � �rectpoll:� �Db`
�"�inpic:�setcol:�L%=0 � 932 � 4
�/� L%<Y%(0) � L%>OY% � � 0,L%,1232,L%:� �t|[
�!� X%(0)>0 � � 0,L%,X%(0)-2,L%
�#� OY%<1232 � � OX%+2,L%,1232,L%
�$�:�outpic:FUST%=0:�quickdrawmain
�%� 23:� FUST%<2 � �rectpoll:� �Db`
И� FUCO%=0 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain:X%(1)=X%(0):Y%(1)=Y%(0):X%(2)=OX%:Y%(2)=OY%:FUST%=0:FUCO%=1:� �Db`
�X�spbuf(�spritesize(X%(2)-X%(1),Y%(2)-Y%(1),�(�high(8,14)))):� Q% � �spinit:�spbuferr
�s�inpic:�eoc:ȓ X%(1),Y%(1),X%(2)-X%(1),Y%(2)-Y%(1):GRN$="GRAB":ș&2E,272,SPBUF%,"GRAB",,X%(1),Y%(1),X%(2),Y%(2)
�I� �high(8,14) � ș&2E,285,SPBUF%,"GRAB":GRABM%=8:�fillmask � GRABM%=0
�]�grabflip:SCALE%!8=X%(2)-X%(1):SCALE%!12=Y%(2)-Y%(1):!SCALE%=OX%-X%(0):SCALE%!4=OY%-Y%(0)
dș&2E,308,SPBUF%,"GRAB",X%(0),Y%(0),GRABM%,SCALE%:�outpic:FUST%=0:FUCO%=0:�spinit:�quickdrawmain
5� 25:�inpic:�3,63:�69,300,300:�69,300,300:�picpos
� X%=OX% � Y%=OY% � �Tj\
 �mapline
*7� BUT%<>1 � BUT%<>4 � �outpic:�quickdrawmain:� �Db`
4� BUT%=4 � �tl\
>�eoc
HȎ FUCO% �
R� 2:� X%(1),Y%(1),X%,Y%
\5� 3:� X%(1),Y%(1),X%(2),Y%(2):� X%(2),Y%(2),X%,Y%
fc� 4:� X%(1),Y%(1),X%(2),Y%(2):� X%(2),Y%(2),X%(3),Y%(3):� X%(3),Y%(3),X%,Y%:� X%,Y%,X%(1),Y%(1)
po� 5:� X%(1),Y%(1),X%(2),Y%(2):� X%(2),Y%(2),X%(3),Y%(3):� X%(3),Y%(3),X%(4),Y%(4):� X%(4),Y%(4),X%(1),Y%(1)
z�� 6:� X%(1),Y%(1),X%(2),Y%(2):� X%(2),Y%(2),X%(3),Y%(3):� X%(3),Y%(3),X%(4),Y%(4):� X%(4),Y%(4),X%(1),Y%(1):� X%(5),Y%(5),X%,Y%
��� 7:� X%(1),Y%(1),X%(2),Y%(2):� X%(2),Y%(2),X%(3),Y%(3):� X%(3),Y%(3),X%(4),Y%(4):� X%(4),Y%(4),X%(1),Y%(1):� X%(5),Y%(5),X%(6),Y%(6):� X%(6),Y%(6),X%,Y%
��� 8:� X%(1),Y%(1),X%(2),Y%(2):� X%(2),Y%(2),X%(3),Y%(3):� X%(3),Y%(3),X%(4),Y%(4):� X%(4),Y%(4),X%(1),Y%(1):� X%(5),Y%(5),X%(6),Y%(6):� X%(6),Y%(6),X%(7),Y%(7):� X%(7),Y%(7),X%,Y%:� X%(5),Y%(5),X%,Y%
��
�0FUCO%=1:�letgo:�outpic:�quickdrawmain:� �Db`
��eoc
�� FUCO%=8 � � �d^\
�FX%(FUCO%)=X%:Y%(FUCO%)=Y%:� FUCO%<>4 � � X%(FUCO%),Y%(FUCO%),X%,Y%
�9� FUCO%=3 � FUCO%=7 � � X%(FUCO%-2),Y%(FUCO%-2),X%,Y%
�(OX%=X%:OY%=Y%:FUCO%+=1:�letgo:� �Db`
ޥX%(8)=X%:Y%(8)=Y%:�L%=1 � 3:� X%(L%),Y%(L%),X%(L%+1),Y%(L%+1):� X%(L%+4),Y%(L%+4),X%(L%+5),Y%(L%+5):�:� X%(1),Y%(1),X%(4),Y%(4):� X%(5),Y%(5),X%(8),Y%(8):FUCO%=1
�+�outpic:�quickdrawmain:�pixelmap:� �Db`
�%� 27:� FUST%<2 � �rectpoll:� �Db`
�-�spinit:�spbuf(145*1024):� Q% � �spbuferr
�backuppic:�swapcorns
 VARS!20=BTC%:VARS!24=PALTAB%
VARS!28=PIC%:VARS!32=SPBUF%
$VARS!36=X%(0):VARS!40=Y%(0)
.VARS!44=OX%:VARS!48=OY%
8\A%=VARS:ș "Hourglass_On":� pixaverage:ș "Hourglass_Off":�spinit:�forcedrawmain:FUST%=0
B%� 28:� FUST%<2 � �rectpoll:� �Db`
L�swapcorns
V VARS!20=BTC%:VARS!24=PALTAB%
`VARS!28=PIC%
jVARS!36=X%(0):VARS!40=Y%(0)
tVARS!44=OX%:VARS!48=OY%
~9VARS!84=PALTAB%?(COL%*2):VARS!88=PALTAB%?((COL%*2)+1)
�RA%=VARS:ș "Hourglass_On":� tintarea:ș "Hourglass_Off":�forcedrawmain:FUST%=0
��� 29:� FUST%=0 � �paintscale2:�picpos:�inpic:�eorback:�paintbrush(X%,Y%):�outpic:�quickdrawmain:OX%=X%:OY%=Y%:FUST%=1:� �Db`
��picpos
��� X%<>OX% � Y%<>OY% � �paintscale2:�inpic:�eorback:�paintbrush(OX%,OY%):�paintbrush(X%,Y%):OX%=X%:OY%=Y%:�outpic:�quickdrawmain
��� 30:� FUST%=0 � �paintscale2:�picpos:�inpic:�eorback:�paintbrush(X%,Y%):�outpic:�quickdrawmain:OX%=X%:OY%=Y%:FUST%=1:� �Db`
��picpos
ă� X%<>OX% � Y%<>OY% � �paintscale2:�inpic:�eorback:�paintbrush(OX%,OY%):�paintbrush(X%,Y%):OX%=X%:OY%=Y%:�outpic:�quickdrawmain
�� 32:� FONT%<>0 �
�o�picpos:� BUT%=4 � FUST%<>0 � �inbackup:ș "Font_SetFont",FHAND%:ș "Font_Paint",,TEXT$,16,X%,Y%:�outbackup
�� FUST%<>0 � (X%<>OX% � Y%<>OY%) � �restpic:�inpic:ș "Font_SetFont",FHAND%:ș "Font_Paint",,TEXT$,16,X%,Y%:�outpic:�forcedrawmain:OX%=X%:OY%=Y%
��
�E�picpos:� BUT%=4 � FUST%<>0 � �inbackup:�ostext(X%,Y%):�outbackup
j� FUST%<>0 � (X%<>OX% � Y%<>OY%) � �restpic:�inpic:�ostext(X%,Y%):�outpic:�forcedrawmain:OX%=X%:OY%=Y%

�
%� 31:� FUST%<2 � �rectpoll:� �Db`
>�swapcorns:FMINX%=X%(0):FMINY%=Y%(0):FMAXX%=OX%:FMAXY%=OY%
(6ș "Hourglass_On":�fill:ș "Hourglass_Off":FUST%=0
2%� 33:� FUST%<2 � �rectpoll:� �Db`
<>�swapcorns:FMINX%=X%(0):FMINY%=Y%(0):FMAXX%=OX%:FMAXY%=OY%
F�ș "Hourglass_On":!VARS=PIC%:VARS!4=PIC%:VARS!8=X%(0):VARS!12=Y%(0):VARS!16=OX%:VARS!20=OY%:VARS!24=BTC%:VARS!28=TTB%:VARS!32=REPS%:A%=VARS:� colrep:ș "Hourglass_Off":FUST%=0:�forcedrawmain
P� 34:� FUST%=0 � �Dd^
Z�� BUT%=4 � �inpic:�picpos:�pimport(OX%,OY%,3):�pimport(X%,Y%,0):OX%=X%:OY%=Y%:�pimport(OX%,OY%,3):�outpic:�quickdrawmain:� �Db`
dd� FUST%=0 � FUST%=1:�picpos:OX%=X%:OY%=Y%:�inpic:�pimport(X%,Y%,3):�outpic:�quickdrawmain:� �Db`
n&�picpos:� X%=OX% � Y%=OY% � � �Db`
xU�inpic:�pimport(OX%,OY%,3):OX%=X%:OY%=Y%:�pimport(X%,Y%,3):�outpic:�quickdrawmain
�(� 35:� FUST%<2 � �grabpoll(0):� �Db`
�� FUST%=2 � �closewind(8):�inpic:�picpos:�pgrab(OX%,OY%,3):OX%=X%:OY%=Y%:�outpic:�quickdrawmain:FUST%=3:�openwind(7):� �Db`
�l� 36:� FUST%=0 � �picpos:�inpic:�eoc:ȓ X%,Y%,FRW%*2,FRH%*4:�outpic:�quickdrawmain:OX%=X%:OY%=Y%:FUST%=1
���picpos:� X%<>OX% � Y%<>OY% � �inpic:�eoc:ȓ OX%,OY%,FRW%*2,FRH%*4:OX%=X%:OY%=Y%:ȓ OX%,OY%,FRW%*2,FRH%*4:�outpic:�quickdrawmain
�� BUT%<>4 � �Db`
�~�inpic:�eoc:ȓ OX%,OY%,FRW%*2,FRH%*4:�setcol:ȓ OX%,OY%,FRW%*2,FRH%*4:�eoc:ȓ OX%,OY%,FRW%*2,FRH%*4:�outpic:�quickdrawmain
�%� 38:� FUST%<2 � �rectpoll:� �Db`
�>�swapcorns:FMINX%=X%(0):FMINY%=Y%(0):FMAXX%=OX%:FMAXY%=OY%
ҍș "Hourglass_On":!VARS=PIC%:VARS!4=PIC%:VARS!8=X%(0):VARS!12=Y%(0):VARS!16=OX%:VARS!20=OY%:VARS!24=TRASP%:VARS!28=BTC%:VARS!32=TRANSTAB%
�@RW%=��geticon(21,4):GW%=��geticon(21,7):BW%=��geticon(21,10)
�;�L%=0 � 255:ș "ColourTrans_ColourNumberToGCOL",L% � G%
�eRC%=((G%�%1111)*RW%)�100:GC%=((((G%�48)>>2)+(G%�3))*GW%)�100:BC%=((((G%�192)>>4)+(G%�3))*BW%)�100
�� RC%>15 � RC%=15
� GC%>15 � GC%=15
� BC%>15 � BC%=15
TC%=(((RC%�3)+(GC%�3)+(BC%�3))�3):TC%=TC%+(RC%�12)+((GC%�12)<<2)+((BC%�12)<<4):ș"ColourTrans_GCOLToColourNumber",TC% � TC%
"TRANSTAB%?L%=TC%:�
,AA%=VARS:� transarea:ș "Hourglass_Off":FUST%=0:�forcedrawmain
6%� 39:� FUST%<2 � �rectpoll:� �Db`
@>�swapcorns:FMINX%=X%(0):FMINY%=Y%(0):FMAXX%=OX%:FMAXY%=OY%
J�ș "Hourglass_On":!VARS=PIC%:VARS!4=PIC%:VARS!8=X%(0):VARS!12=Y%(0):VARS!16=OX%:VARS!20=OY%:VARS!24=TRASP%:VARS!28=BTC%:VARS!32=TRANSTAB%
TxRW%=��geticon(22,4):GW%=��geticon(22,7):BW%=��geticon(22,10):�L%=0 � 255:ș "ColourTrans_ColourNumberToGCOL",L% � G%
^SRC%=(G%�%1111)*RW%:GC%=(((G%�48)>>2)+(G%�3))*GW%:BC%=(((G%�192)>>4)+(G%�3))*BW%
h+TC%=((RC%+GC%+BC%)�3):� TC%>15 � TC%=15
rTTC%=TC%+((TC%�12)<<2)+((TC%�12)<<4):ș"ColourTrans_GCOLToColourNumber",TC% � TC%
|TRANSTAB%?L%=TC%:�
�AA%=VARS:� transarea:ș "Hourglass_Off":FUST%=0:�forcedrawmain
�%� 40:� FUST%<2 � �rectpoll:� �Db`
�>�swapcorns:FMINX%=X%(0):FMINY%=Y%(0):FMAXX%=OX%:FMAXY%=OY%
�EPW%=��geticon(23,3)*2:PH%=��geticon(23,6)*4:POX%=PW%�2:POY%=PH%�2
�AXP%=FMINX%:YP%=FMINY%:�inpic:�24,FMINX%;FMINY%;FMAXX%;FMAXY%;
�ș "Hourglass_On"
¯�:�:� USE%,�XP%+POX%,YP%+POY%) Ȝ Ȝ(XP%+POX%,YP%+POY%):ȓ Ȑ XP%,YP%,PW%-2,PH%-4:XP%+=PW%:� XP%>FMAXX%:XP%=FMINX%:YP%+=PH%:� YP%>FMAXY%:�26:�outpic:�forcedrawmain:FUST%=0
�ș "Hourglass_Off"
�%� 41:� FUST%<2 � �rectpoll:� �Db`
��� FUST%=2 � �swapcorns:ROTCX%=(X%(0)+OX%)�2:ROTCY%=(Y%(0)+OY%)�2:FMINX%=X%(0)-ROTCX%:FMINY%=Y%(0)-ROTCY%:FMAXX%=OX%-ROTCX%:FMAXY%=OY%-ROTCY%:�picpos:�inpic:�protbox(X%,Y%):�outpic:OX%=X%:OY%=Y%:�quickdrawmain:FUST%=3:� �Db`
�&�picpos:� BUT%=1 � BUT%=4 � � �d~_
�w� X%<>OX% � Y%<>OY% � �inpic:�protbox(OX%,OY%):OX%=X%:OY%=Y%:�protbox(X%,Y%):�outpic:�quickdrawmain:� �Db` � � �Db`
�M� BUT%=1 � �inpic:�protbox(OX%,OY%):�outpic:�quickdrawmain:FUST%=0:� �Db`
 2�inpic:�protbox(OX%,OY%):�outpic:X%=OX%:Y%=OY%
 5FUST%=4:�spinit:�spbuf(145*1024):� Q% � �spbuferr
 ��backuppic:�inbackup:R%=ROT%:�rotpoint(FMINX%,FMINY%,R%,X1%,Y1%):�rotpoint(FMAXX%,FMINY%,R%,X2%,Y2%):�rotpoint(FMAXX%,FMAXY%,R%,X3%,Y3%):�rotpoint(FMINX%,FMAXY%,R%,X4%,Y4%)
 &Q�rotpoint(0,(FMAXY%�3)*2,R%,MX1%,MY1%):�rotpoint(0,(FMAXY%�3)*4,R%,MX2%,MY2%)
 0#X1%+=X%:X2%+=X%:X3%+=X%:X4%+=X%
 :#Y1%+=Y%:Y2%+=Y%:Y3%+=Y%:Y4%+=Y%
 DY�eoc:�4,X1%,Y1%:�4,X2%,Y2%:�85,X3%,Y3%:�3,60 Ȝ 192:�4,X4%,Y4%:�85,X1%,Y1%:�outbackup
 N�A%=VARS:VARS!4=PIC%:VARS!8=SPBUF%:VARS!12=ROTTAB%:VARS!16=(360-ROT%)�360:VARS!20=BTC%:VARS!24=TRASP%:VARS!28=X%:VARS!32=Y%:VARS!36=ROTCX%:VARS!40=ROTCY%:ș "Hourglass_On":� rotate:ș "Hourglass_Off"
 Xf�inpic:ș&2E,290,SPBUF%,"PIC":�protbox(X%,Y%):FUST%=3:OX%=X%:OY%=Y%:�outpic:�forcedrawmain:�spinit
 b�
 l�
 v
 ����protbox(CX%,CY%):�eoc:R%=ROT%:�rotpoint(FMINX%,FMINY%,R%,X1%,Y1%):�rotpoint(FMAXX%,FMINY%,R%,X2%,Y2%):�rotpoint(FMAXX%,FMAXY%,R%,X3%,Y3%):�rotpoint(FMINX%,FMAXY%,R%,X4%,Y4%)
 �Q�rotpoint(0,(FMAXY%�3)*2,R%,MX1%,MY1%):�rotpoint(0,(FMAXY%�3)*4,R%,MX2%,MY2%)
 �'X1%+=CX%:X2%+=CX%:X3%+=CX%:X4%+=CX%
 �'Y1%+=CY%:Y2%+=CY%:Y3%+=CY%:Y4%+=CY%
 �:�4,X1%,Y1%:�5,X2%,Y2%:�5,X3%,Y3%:�5,X4%,Y4%:�5,X1%,Y1%
 �)� MX1%+CX%,MY1%+CY%,MX2%+CX%,MY2%+CY%
 ��
 �
 �(��rotpoint(R0%,R1%,R%,� RPX%,� RPY%)
 ڜR6%=(ROTTAB%!(R%*4))>>12:R7%=(!(ROTTAB%+(R%*4)+&168))>>12:R8%=R0%*R6%:R5%=R1%*R7%:R8%-=R5%:R5%=R1%*R6%:R1%=R0%*R7%:R1%+=R5%:RPX%=R1%>>18:RPY%=-(R8%>>18)
 ��
 �
 �ݤperc(WH%,IH%)
!)I$=�geticon(WH%,IH%):=�(�I$,�(I$)-1))
!
!
��mapline
! Ȏ FUCO% �
!*D� 2:�eoc:� X%(1),Y%(1),OX%,OY%:OX%=X%:OY%=Y%:� X%(1),Y%(1),X%,Y%
!4D� 3:�eoc:� X%(2),Y%(2),OX%,OY%:OX%=X%:OY%=Y%:� X%(2),Y%(2),X%,Y%
!>n� 4:�eoc:� X%(1),Y%(1),OX%,OY%:� X%(3),Y%(3),OX%,OY%:OX%=X%:OY%=Y%:� X%(1),Y%(1),X%,Y%:� X%(3),Y%(3),X%,Y%
!HD� 6:�eoc:� X%(5),Y%(5),OX%,OY%:OX%=X%:OY%=Y%:� X%(5),Y%(5),X%,Y%
!RD� 7:�eoc:� X%(6),Y%(6),OX%,OY%:OX%=X%:OY%=Y%:� X%(6),Y%(6),X%,Y%
!\n� 8:�eoc:� X%(5),Y%(5),OX%,OY%:� X%(7),Y%(7),OX%,OY%:OX%=X%:OY%=Y%:� X%(5),Y%(5),X%,Y%:� X%(7),Y%(7),X%,Y%
!f�
!p�
!z
!���pixelmap
!�-�spinit:�spbuf(145*1024):� Q% � �spbuferr
!��backuppic
!�ș "Hourglass_On"
!�+dsta=�((X%(6)-X%(5))^2+(Y%(5)-Y%(6))^2)
!�+dstb=�((X%(8)-X%(7))^2+(Y%(7)-Y%(8))^2)
!�1� dsta>dstb � steps%=dsta �2 � steps%=dstb �2
!�fxsa=(X%(2)-X%(1))/steps%
!�fxsb=(X%(3)-X%(4))/steps%
!�fysa=(Y%(2)-Y%(1))/steps%
!�fysb=(Y%(3)-Y%(4))/steps%
!�txsa=(X%(6)-X%(5))/steps%
!�txsb=(X%(7)-X%(8))/steps%
"tysa=(Y%(6)-Y%(5))/steps%
"tysb=(Y%(7)-Y%(8))/steps%
"� cb%=0 � steps%
"$fxa=X%(1)+cb%*fxsa
".fxb=X%(4)+cb%*fxsb
"8fya=Y%(1)+cb%*fysa
"Bfyb=Y%(4)+cb%*fysb
"Ltxa=X%(5)+cb%*txsa
"Vtxb=X%(8)+cb%*txsb
"`tya=Y%(5)+cb%*tysa
"jtyb=Y%(8)+cb%*tysb
"tF�inpic:�3,63:�69,300,300:�69,300,300:�mapln:�outpic:�quickdrawmain
"~�
"��spinit
"�ș "Hourglass_Off"
"��
"�
"���mapln
"�� ns%,fxs,fys,txs,tys,c%
"�'ns%=1+�((txb-txa)^2+(tya-tyb)^2) �2
"�'fxs=(fxb-fxa)/ns%:txs=(txb-txa)/ns%
"�'fys=(fyb-fya)/ns%:tys=(tyb-tya)/ns%
"�� c%=0 � ns%
"�]ș&2E,297,SPBUF%,"PIC",(fxa+c%*fxs)�2,(fya+c%*fys)�4 � ,,,,,col%,tin%:� USE%,col% Ȝ tin%
"�A� TRASP%?�findpalent(col%,tin%)=0 � �69,txa+c%*txs,tya+c%*tys
#�
#
�
#
#��grabpoll(FT%)
#(�� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain:�letgo:�
#2� FUST%=0 � �
#<{� BUT%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:�
#F0� BUT%<>4 � (OX%=X%(0) � OY%=Y%(0)) � � �t`c
#P��inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�picpos:�spbuf(�spritesize(X%-X%(0),Y%-Y%(0),�(�high(8,14)))):� Q% � ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�spinit:�spbuferr
#Z�GRN$="GRAB":ș&2E,272,SPBUF%,"GRAB",,X%(0),Y%(0),X%,Y%:� �high(8,14) � ș&2E,285,SPBUF%,"GRAB":GRABM%=8:�fillmask � GRABM%=0
#d'GRWI%=�(X%-X%(0)):GRHE%=�(Y%-Y%(0))
#n� X%<X%(0) � Ȕ X%(0),X%
#x� Y%<Y%(0) � Ȕ Y%(0),Y%
#�:� FT%=1 � ș&2E,290,SPBUF%,"GRAB",X%(0),Y%(0),3+GRABM%
#��pgrab(X%,Y%,3)
#�9OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=2:�
#�!�picpos:� X%=OX% � Y%=OY% � �
#�x�inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):OX%=X%:OY%=Y%:ȓ X%(0),Y%(0),X%-X%(0),Y%-Y%(0):�outpic:�quickdrawmain
#��
#�
#���rectpoll
#Ҙ� FUST%=0 � BUT%<>0 � �picpos:X%(0)=X%:Y%(0)=Y%:FUST%=1:OX%=X%:OY%=Y%:�inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain:�letgo:�
#�� FUST%=0 � �
#�{� BUT%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�picpos:OX%=X%:OY%=Y%:FUST%=0:�outpic:�quickdrawmain:�letgo:�
#�0� BUT%<>4 � (OX%=X%(0) � OY%=Y%(0)) � � �Tbd
#�:�inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�picpos
$� X%<X%(0) � Ȕ X%(0),X%
$� Y%<Y%(0) � Ȕ Y%(0),Y%
$9OX%=X%:OY%=Y%:�outpic:�quickdrawmain:�letgo:FUST%=2:�
$"!�picpos:� X%=OX% � Y%=OY% � �
$,x�inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):OX%=X%:OY%=Y%:ȓ X%(0),Y%(0),X%-X%(0),Y%-Y%(0):�outpic:�quickdrawmain
$6�
$@
$J��pgrab(DX%,DY%,PL%)
$TXR=GRXM%/GRXD%
$^YR=GRYM%/GRYD%
$h!SCALE%=GRXM%
$rSCALE%!4=GRYM%
$|SCALE%!8=GRXD%
$�SCALE%!12=GRYD%
$�Wș&2E,308,SPBUF%,"GRAB",DX%-((GRWI% � 2)*XR),DY%-((GRHE% � 2)*YR),PL%+GRABM%,SCALE%
$��
$�
$���pimport(DX%,DY%,PL%)
$�!XR=GRXM%/GRXD%:YR=GRYM%/GRYD%
$�IO%!20=(!IO%)*GRXM%
$�IO%!24=(IO%!4)*GRYM%
$�IO%!28=(IO%!8)*GRXD%
$�IO%!32=(IO%!12)*GRYD%
$�� � GRMA% � ș&2E,308,SPBUF%,GRN$,DX%-((IMW% � 2)*XR),DY%-((IMH% � 2)*YR),PL%,IO%+20,IMPT% � ș&2E,308,SPBUF%,GRN$,DX%-((IMW% � 2)*XR),DY%-((IMH% � 2)*YR),PL%+8,IO%+20,IMPT%
$��
$�
%��para(LT%,PL%,DX%,DY%)
%"� PL%=1 � �elip(&75,DX%,DY%):�
%
� LT%=1 �
%&�l(X%(0),Y%(0),X%(1),Y%(1))
%0�l(X%(1),Y%(1),DX%,DY%)
%:%� LITY%-4,X%(0)-X%(1),Y%(0)-Y%(1)
%D� LITY%,X%(0),Y%(0)
%N�
%X� X%(0),Y%(0),X%(1),Y%(1)
%b� X%(1),Y%(1),DX%,DY%
%l�1,X%(0)-X%(1),Y%(0)-Y%(1)
%v�5,X%(0),Y%(0)
%��
%��
%�
%���elip(PL%,DX%,DY%)
%�� X%(0),Y%(0)
%�� X%(1),Y%(1)
%�� PL%,DX%,DY%
%��
%�
%���tri(PL%,DX%,DY%)
%�� PL%=5 � PL%=85 � �4,DX%,DY%:� 5,X%(0),Y%(0):� 5,X%(1),Y%(1):� PL%,DX%,DY% � �4,DX%,DY%:� LITY%,X%(0),Y%(0):� LITY%,X%(1),Y%(1):� LITY%,DX%,DY%
%��
%�
&7ݤdist(DX%,DY%):=�(((DX%-X%(0))^2)+((DY%-Y%(0))^2))
&
&V��paintbrush(BX%,BY%):ș&2E,306,BRUSH%,�(SELBR%),BX%-(32*XR),BY%-(32*YR),,SCALE%:�
& 
&*E��paintbrush2(BX%,BY%):ș&2E,305,BRUSH%,�(SELBR%),BX%-32,BY%-32:�
&4
&>"��letgo:�:ȗ X%,Y%,H%:� H%=0:�
&H
&R��killf
&\Ȏ FUSE% �
&f
�spbuf(0)
&pL� 2:� FUST%>0 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain
&z� 3:�closewind(4)
&�i� 4:�closewind(5):� FUST%>0 � �inpic:�paintscale:�eorback:�paintbrush(OX%,OY%):�outpic:�quickdrawmain
&�Y� 5:� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
&�\� 6:� FUST%=1 � �inpic:�eoc:ȓ Ȑ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
&�T� 7:� FUST%=1 � �inpic:�eoc:ȏ X%(0),Y%(0),�dist(OX%,OY%):�outpic:�quickdrawmain
&�W� 8:� FUST%=1 � �inpic:�eoc:ȏ Ȑ X%(0),Y%(0),�dist(OX%,OY%):�outpic:�quickdrawmain
&�L� 9:� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain
&�B� FUST%=2 � �inpic:�eoc:�tri(5,OX%,OY%):�outpic:�quickdrawmain
&�M� 10:� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain
&�C� FUST%=2 � �inpic:�eoc:�tri(85,OX%,OY%):�outpic:�quickdrawmain
&�M� 11:� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain
&�E� FUST%=2 � �inpic:�eoc:�elip(&C5,OX%,OY%):�outpic:�quickdrawmain
&�M� 12:� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain
&�E� FUST%=2 � �inpic:�eoc:�elip(&CD,OX%,OY%):�outpic:�quickdrawmain
'M� 13:� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain
'E� FUST%=2 � �inpic:�eoc:�para(0,0,OX%,OY%):�outpic:�quickdrawmain
'M� 14:� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain
'$E� FUST%=2 � �inpic:�eoc:�para(0,1,OX%,OY%):�outpic:�quickdrawmain
'.M� 15:� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain
'8E� FUST%=2 � �inpic:�eoc:�elip(&A5,OX%,OY%):�outpic:�quickdrawmain
'BM� 16:� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain
'LE� FUST%=2 � �inpic:�eoc:�elip(&B5,OX%,OY%):�outpic:�quickdrawmain
'VM� 17:� FUST%=1 � �inpic:�eoc:� X%(0),Y%(0),OX%,OY%:�outpic:�quickdrawmain
'`E� FUST%=2 � �inpic:�eoc:�elip(&AD,OX%,OY%):�outpic:�quickdrawmain
'jh� 18:�closewind(8):� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
'tG� FUST%=2 � �inpic:�pgrab(OX%,OY%,3):�outpic:�quickdrawmain:�spinit
'~h� 19:�closewind(8):� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
'�G� FUST%=2 � �inpic:�pgrab(OX%,OY%,3):�outpic:�quickdrawmain:�spinit
'�Z� 20:� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
'�Z� 21:� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
'�Z� 22:� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
'��� 23:�closewind(8):� FUCO%=1 � FUST%=1 � �inpic:�eoc:ȓ X%(1),Y%(1),X%(2)-X%(1),Y%(2)-Y%(1):ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain:� �TXi
'�`� FUCO%=1 � �inpic:�eoc:ȓ X%(1),Y%(1),X%(2)-X%(1),Y%(2)-Y%(1):�outpic:�quickdrawmain:� �TXi
'�U� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
'�� 25:�inpic
'��eoc
'�Ȏ FUCO% �
'�� 2:� X%(1),Y%(1),X%,Y%
'�5� 3:� X%(1),Y%(1),X%(2),Y%(2):� X%(2),Y%(2),X%,Y%
(c� 4:� X%(1),Y%(1),X%(2),Y%(2):� X%(2),Y%(2),X%(3),Y%(3):� X%(3),Y%(3),X%,Y%:� X%,Y%,X%(1),Y%(1)
(
o� 5:� X%(1),Y%(1),X%(2),Y%(2):� X%(2),Y%(2),X%(3),Y%(3):� X%(3),Y%(3),X%(4),Y%(4):� X%(4),Y%(4),X%(1),Y%(1)
(�� 6:� X%(1),Y%(1),X%(2),Y%(2):� X%(2),Y%(2),X%(3),Y%(3):� X%(3),Y%(3),X%(4),Y%(4):� X%(4),Y%(4),X%(1),Y%(1):� X%(5),Y%(5),X%,Y%
(�� 7:� X%(1),Y%(1),X%(2),Y%(2):� X%(2),Y%(2),X%(3),Y%(3):� X%(3),Y%(3),X%(4),Y%(4):� X%(4),Y%(4),X%(1),Y%(1):� X%(5),Y%(5),X%(6),Y%(6):� X%(6),Y%(6),X%,Y%
((�� 8:� X%(1),Y%(1),X%(2),Y%(2):� X%(2),Y%(2),X%(3),Y%(3):� X%(3),Y%(3),X%(4),Y%(4):� X%(4),Y%(4),X%(1),Y%(1):� X%(5),Y%(5),X%(6),Y%(6):� X%(6),Y%(6),X%(7),Y%(7):� X%(7),Y%(7),X%,Y%:� X%(5),Y%(5),X%,Y%
(2�
(<)FUCO%=1:�outpic:�quickdrawmain:�letgo
(FZ� 27:� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
(PZ� 28:� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
(Zk� 29:�closewind(5):� FUST%>0 � �inpic:�paintscale2:�eorback:�paintbrush(OX%,OY%):�outpic:�quickdrawmain
(dk� 30:�closewind(5):� FUST%>0 � �inpic:�paintscale2:�eorback:�paintbrush(OX%,OY%):�outpic:�quickdrawmain
(nN� 32:�restpic:�forcedrawmain:�closewind(14):�spinit:� FONT%<>0 � �losefont
(x� 31:� GRTY%=1 �
(�U� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
(��
(�q� 33:�closewind(18):�spinit:� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
(�F� 34:� FUST%=1 � �inpic:�pimport(OX%,OY%,3):�outpic:�quickdrawmain
(��closewind(8):�spinit
(�"� 35:� FUST%<2 � �closewind(8)
(�U� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
(�� FUST%=3 � �closewind(7)
(�Q� 36:� FUST%<>0 � �inpic:�eoc:ȓ OX%,OY%,FRW%*2,FRH%*4:�outpic:�quickdrawmain
(�� 37:�spinit:�closewind(20)
(�q� 38:�closewind(21):�spinit:� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
(�q� 39:�closewind(22):�spinit:� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
(�q� 40:�closewind(23):�spinit:� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
)q� 41:�closewind(24):�spinit:� FUST%=1 � �inpic:�eoc:ȓ X%(0),Y%(0),OX%-X%(0),OY%-Y%(0):�outpic:�quickdrawmain
)?� FUST%=3 � �inpic:�protbox(OX%,OY%):�outpic:�quickdrawmain
)�
)"�
),
)6��eoc:�3,63 Ȝ 192:�
)@
)J��eorback:�3,191 Ȝ 192:�
)T
)^
��pickcol
)h4BLK%!8=HAND%(3):ș "Wimp_GetWindowState",,BLK%+8
)r0XOF%=(!BLK%)-(BLK%!12):� XOF%>766 � XOF%=766
)|1YOF%=(BLK%!4)-(BLK%!16):� YOF%>220 � YOF%=220
)�d� MOUB%=4 � COL%=(XOF% � 24)+((YOF% � 28)*32) � � MOUB%=1 � �trasp((XOF% � 24)+((YOF% � 28)*32))
)��forcedrawpal(PAL%)
)��
)�
)���tbackclick
)�5BLK%!8=HAND%(15):ș "Wimp_GetWindowState",,BLK%+8
)�0XOF%=(!BLK%)-(BLK%!12):� XOF%>766 � XOF%=766
)�1YOF%=(BLK%!4)-(BLK%!16):� YOF%>220 � YOF%=220
)�'FONTB%=(XOF% � 24)+((YOF% � 28)*32)
)��forcedrawtback
)��
)�
)���picpos
*SCRX%=!BLK%:SCRY%=BLK%!4
*4BLK%!8=HAND%(2):ș "Wimp_GetWindowState",,BLK%+8
*.X%=(((!BLK%)-(BLK%!12))+(BLK%!28)) � ZOOM%
*&5Y%=936-((((BLK%!24)-(BLK%!4))-(BLK%!32)) � ZOOM%)
*0� X%<0 � X%=0
*:� X%>1232 � X%=1232
*D� Y%<0 � Y%=0
*N� Y%>934 � Y%=934
*X� � GRLO% � �
*bXOF%=(GRWI%-GRBX%)*2
*lYOF%=(GRHE%-GRBY%)*4
*vX%+=XOF%:Y%+=YOF%
*�'X%=-XOF%+((X% � (2*GRWI%))*2*GRWI%)
*�'Y%=-YOF%+((Y% � (4*GRHE%))*4*GRHE%)
*�(� VDU4:PRINTTAB(0,1);X%,Y%,XOF%,YOF%
*��
*�
*���getor
*�WOX%=BLK%!4-BLK%!20
*�&WOY%=(BLK%!16-BLK%!24)-(936*ZOOM%)
*��
*�
*���getbrushor
*�WOX%=BLK%!4-BLK%!20
*�WOY%=(BLK%!16-BLK%!24)-260
+�
+
+��getpatfillor
+ WOX%=BLK%!4-BLK%!20
+*WOY%=(BLK%!16-BLK%!24)-108
+4�
+>
+H��getedbruor
+RWOX%=BLK%!4-BLK%!20
+\WOY%=(BLK%!16-BLK%!24)-640
+f�
+p
+z��openmain:MOP%=�
+�z!BLK%=HAND%(2):BLK%!4=0:BLK%!8=300:BLK%!12=1279:BLK%!16=1023:BLK%!20=0:BLK%!24=0:BLK%!28=-1:ș "Wimp_OpenWindow",,BLK%
+��
+�
+�
��openpal
+�{!BLK%=HAND%(3):BLK%!4=100:BLK%!8=300:BLK%!12=1279:BLK%!16=600:BLK%!20=0:BLK%!24=0:BLK%!28=-1:ș "Wimp_OpenWindow",,BLK%
+��
+�
+���openwind(WH%)
+�2!BLK%=HAND%(WH%):ș "Wimp_GetWindowInfo",,BLK%
+�)BLK%!28=-1:ș "Wimp_OpenWindow",,BLK%
+��
+�
+���closewind(WH%)
,0!BLK%=HAND%(WH%):ș "Wimp_CloseWindow",,BLK%
,�
,
,$��opmain
,.ș "Wimp_OpenWindow",,BLK%
,8�
,B
,L��clmain:MOP%=�
,Vș "Wimp_CloseWindow",,BLK%
,`�
,j
,t��airnoz
,~0H%=-1:�L%=9 � 15:� �high(4,L%) � H%=L%:L%=15
,��
,�Ȏ H% �
,�� 9:XR=1:YR=.25
,�� 10:XR=1:YR=.5
,�� 11:XR=1:YR=.75
,�� 12:XR=1:YR=1
,�� 13:XR=.75:YR=1
,�� 14:XR=.5:YR=1
,�� 15:XR=.25:YR=1
,��
,��
,�
-��paintscale
-
!SCALE%=BXM%
-SCALE%!4=BYM%
-SCALE%!8=BXD%
-(SCALE%!12=BYD%
-2XR=BXM%/BXD%
-<YR=BYM%/BYD%
-F�
-P
-Z��paintscale2
-d
!SCALE%=1
-nSCALE%!4=1
-xSCALE%!8=1
-�SCALE%!12=1
-�XR=1
-�YR=1
-��
-�
-���picclick
-�$� MBUS% � MOUB%<>0 � � � MBUS%=�
-�Ȏ FUSE% �
-Ң� -1:� MOUB%=1 � �picpos:�inpic:CO%=�X%,Y%):TI%=Ȝ(X%,Y%):�3,63 Ȝ 192:�69,400,400:�69,400,400:�outpic:�trasp(�findpalent(CO%,TI%)):�forcedrawpal(PAL%):� �Tjp
-ܚ� MOUB%=4 � �picpos:�inpic:CO%=�X%,Y%):TI%=Ȝ(X%,Y%):�3,63 Ȝ 192:�69,400,400:�69,400,400:�outpic:COL%=�findpalent(CO%,TI%):�forcedrawpal(PAL%):� �Tjp
-�?� 0:�picpos:�inpic:�setcol:�69,X%,Y%:�outpic:�quickdrawmain
-� � 3:�airnoz:� H%=-1 � � �Tjp
-���picpos:�inpic:�setcol:D%=�(�geticon(4,1)):R%=�(�geticon(4,3)):�L%=1 � D%:A=�(3600)/10:�69,�(�(A))*�((R%*XR))+X%,�(�(A))*�((R%*YR))+Y%:�:�outpic:�quickdrawmain
."� 4:�paintscale:�inpic:�picpos
..� FUST%<>0 � �eorback:�paintbrush(OX%,OY%)
.8�setbackcol:�paintbrush(X%,Y%):OX%=X%:OY%=Y%:FUST%=1
."!�eorback:�paintbrush(OX%,OY%)
.,�outpic:�quickdrawmain
.6� 24:� MOUB%<>4 � � �Tjp
.@��picpos:�inpic:�3,63 Ȝ 192:�69,400,400:�69,400,400:�setcol:TCO%=�X%-2,Y%):TTI%=Ȝ(X%-2,Y%):TPE%=�findpalent(TCO%,TTI%):� TPE%=COL% � �outpic:�message(0,"Cannot trace the colour you are using.")
.J2�trace(X%,Y%,TCO%,TTI%):�outpic:�quickdrawmain
.T� 26:� MOUB%<>4 � �
.^G�inpic:�23,17,4,1,0|:�L%=1 � 4:�23,L%+1:�K%=1 � 8:� ECF%(K%,L%):�:�
.ht�picpos:�0,�X%,Y%)+128 Ȝ Ȝ(X%,Y%):�setcol:ș "Hourglass_On":Ȑ X%,Y%:ș "Hourglass_Off":�outpic:�quickdrawmain
.r$� 29:�paintscale2:�inpic:�picpos
.|/� FUST%<>0 � �eorback:�paintbrush2(OX%,OY%)
.� VARS!20=BTC%:VARS!24=PALTAB%
.�VARS!28=PIC%:VARS!32=SPBUF%
.�VARS!36=X%-32:VARS!40=Y%-32
.�!VARS!44=SELBR%:VARS!48=BRUSH%
.�A%=VARS:� averagebrush
.�3�3,63:ȓ X%-32,Y%-32,64,64:ȓ X%-32,Y%-32,64,64
.�8OX%=X%:OY%=Y%:FUST%=1:�eorback:�paintbrush2(OX%,OY%)
.��outpic:�quickdrawmain
.�$� 30:�paintscale2:�inpic:�picpos
.�/� FUST%<>0 � �eorback:�paintbrush2(OX%,OY%)
.� VARS!20=BTC%:VARS!24=PALTAB%
.�VARS!28=PIC%:VARS!32=SPBUF%
.�VARS!36=X%-32:VARS!40=Y%-32
/!VARS!44=SELBR%:VARS!48=BRUSH%
/9VARS!84=PALTAB%?(COL%*2):VARS!88=PALTAB%?((COL%*2)+1)
/A%=VARS:� tintbrush
/&3�3,63:ȓ X%-32,Y%-32,64,64:ȓ X%-32,Y%-32,64,64
/08OX%=X%:OY%=Y%:FUST%=1:�eorback:�paintbrush2(OX%,OY%)
/:�outpic:�quickdrawmain
/D!� 31:� MOUB%<>4 � GRTY%=1 � �
/N-�spinit:�spbuf(145*1024):� Q% � �spbuferr
/X�backuppic
/bX�inbackup:�picpos:FBC%=�X%,Y%):FBT%=Ȝ(X%,Y%):�0,FBC%+128 Ȝ FBT%:FUT%=(FBC%+1) � 64
/l9�0,FUT% Ȝ FBT%:ș "Hourglass_On":Ȑ X%,Y%:�outbackup
/v-A%=VARS:B%=PIC%:C%=SPBUF%:� findchangebox
/�FMINX%=(!VARS)*2
/�FMINY%=(VARS!4)*4
/�FMAXX%=(VARS!8)*2
/�FMAXY%=(VARS!12)*4
/�	�fill
/�ș "Hourglass_Off"
/�� 37:� MOUB%<>4 � �
/�-�spinit:�spbuf(145*1024):� Q% � �spbuferr
/��backuppic
/�X�inbackup:�picpos:FBC%=�X%,Y%):FBT%=Ȝ(X%,Y%):�0,FBC%+128 Ȝ FBT%:FUT%=(FBC%+1) � 64
/�9�0,FUT% Ȝ FBT%:ș "Hourglass_On":Ȑ X%,Y%:�outbackup
/�-A%=VARS:B%=PIC%:C%=SPBUF%:� findchangebox
/�KFMINX%=(!VARS)*2:FMINY%=(VARS!4)*4:FMAXX%=(VARS!8)*2:FMAXY%=(VARS!12)*4
0:VARS!4=PIC%:VARS!8=SPBUF%:VARS!12=PFILLS%:VARS!16=CPF%
0
� patfill
0ș"Hourglass_Off"
0 �spinit:�forcedrawmain
0*�
04�
0>
0H
��fill
0RNOS%=��geticon(13,44)
0\NOF%=GRFN%
0f	ET%=0
0p� �high(13,55) � ET%=1
0z� �high(13,56) � ET%=2
0�� �high(13,57) � ET%=3
0�� �high(13,58) � ET%=4
0�FIT%=-1
0�� �high(13,22) � FIT%=1
0�� �high(13,23) � FIT%=2
0�� �high(13,64) � FIT%=3
0�� �high(13,65) � FIT%=4
0�� �high(13,24) � FIT%=5
0�� �high(13,25) � FIT%=6
0�� ET%=1 � ET%=2 � FIT%=1
0�� ET%=3 � ET%=4 � FIT%=4
0�E� FIT%=-1 � �spinit:�message(0,"You must choose a type of fill.")
0�
Ȏ FIT% �
13� 1:FIW%=FMAXX%-FMINX%:FIFC%=0:LAFC%=255:FID%=1
14� 2:FIW%=FMAXX%-FMINX%:FIFC%=255:LAFC%=0:FID%=-1
13� 4:FIW%=FMAXY%-FMINY%:FIFC%=0:LAFC%=255:FID%=1
1$4� 3:FIW%=FMAXY%-FMINY%:FIFC%=255:LAFC%=0:FID%=-1
1. � 5:FIFC%=0:LAFC%=255:FID%=1
18!� 6:FIFC%=255:LAFC%=0:FID%=-1
1B�
1L� FIT%=5 � FIT%=6 �
1V?� (FMAXX%-X%)>(X%-FMINX%) � XOF%=FMAXX%-X% � XOF%=X%-FMINX%
1`?� (FMAXY%-Y%)>(Y%-FMINY%) � YOF%=FMAXY%-Y% � YOF%=Y%-FMINY%
1jFIW%=�((XOF%^2)+(YOF%^2))
1t�
1~1CPP%=(255<<8) � FIW%:CPS%=(255<<8) � (NOS%-1)
1�HI%=IO%:�L%=0 � 15:?I%=GRFI%(L%,0,NOF%):I%?1=GRFI%(L%,1,NOF%):I%+=2:�
1�6!VARS=PIC%:� GRTY%=0 � VARS!4=SPBUF% � VARS!4=PIC%
1��VARS!8=IO%:VARS!12=NOS%:VARS!16=FIFC%:VARS!20=LAFC%:VARS!24=FID%:VARS!28=CPP%:VARS!32=CPS%:VARS!36=X%:VARS!40=Y%:VARS!44=ROTTAB%:VARS!48=FIT%:VARS!52=FMINX%:VARS!56=FMINY%:VARS!60=FMAXX%:VARS!64=FMAXY%
1�VARS!68=RAND%:VARS!72=0
1�VARS!76=��geticon(13,39)
1�*� �high(13,54) � VARS!80=1 � VARS!80=0
1�9VARS!84=ET%:VARS!88=TRASP%:VARS!92=GRTY%:VARS!96=BTC%
1�'�L%=0 � 4092 � 4:RAND%!L%=�(CPS%):�
1�A%=VARS
1�� graduatedfill
1��spinit:�forcedrawmain
1��
2
2
��hg:ș "Hourglass_Smash":�
2
2��swapcorns
2(� X%(0)>OX% � Ȕ X%(0),OX%
22� Y%(0)>OY% � Ȕ Y%(0),OY%
2<�
2F
2PEݤsamecol(x1%,y1%,col%,tin%):=(�x1%,y1%)=col% � Ȝ(x1%,y1%)=tin%)
2Z
2d5��l(x1%,y1%,x2%,y2%):�4,x1%,y1%:� LITY%,x2%,y2%:�
2n
2xg��r(x1%,y1%,x2%,y2%):�4,x1%,y1%:� LITY%-4,x2%,0:� LITY%-4,0,y2%:� LITY%-4,-x2%,0:� LITY%-4,0,-y2%:�
2�
2���trace(X%,Y%,TCO%,TTI%)
2�ș "Hourglass_On"
2�� dir%,x%,px%,py%
2�g� �samecol(X%,Y%,TCO%,TTI%) � �message(0,"Cannot trace from an adjacent pixel of the same colour.")
2�px%=X%:py%=Y%
2�
dir%=3
2��incdir
2��
2�C� � �samecol(x%,y%,TCO%,TTI%) � �69,x%,y%:px%=x%:py%=y%:�decdir
2��incdir
2�� x%=X% � y%=Y%
2�
�69,x%,y%
3ș "Hourglass_Off"
3�
3
3"��incdir
3,dir%=(dir%+1)�4
36
Ȏ dir% �
3@� 0:x%=px%-2:y%=py%
3J� 1:x%=px%:y%=py%+4
3T� 2:x%=px%+2:y%=py%
3^� 3:x%=px%:y%=py%-4
3h�
3r�
3|
3���decdir
3�dir%=(dir%+2)�4
3��
3�
3�ݤfindpalent(CO%,TI%)
3�=CTT%?((CO%*4)+(TI% � 64))
3�
3�>��setcol:� USE%,PALTAB%?(COL%*2) Ȝ PALTAB%?((COL%*2)+1):�
3�
3�H��setbackcol:� USE%,(PALTAB%?(COL%*2))+128 Ȝ PALTAB%?((COL%*2)+1):�
3�
3���col(C%,T%,U%)
3�ș&35,-1,9 � ,,BP%
4� BP%=3 � �U%,C% Ȝ T%:�
4+R%=((C% � %11)*4)+(T% � 64):R%+=(R%<<4)
42G%=(((C% � %1100)>>2)*4)+(T% � 64):G%+=(G%<<4)
4&4B%=(((C% � %110000)>>4)*4)+(T% � 64):B%+=(B%<<4)
40>ș "ColourTrans_SetGCOL",((B%<<24)+(G%<<16)+(R%<<8)),,,,U%
4:�
4D
4N��anticol(C%,T%,U%)
4X+R%=((C% � %11)*4)+(T% � 64):R%+=(R%<<4)
4b2G%=(((C% � %1100)>>2)*4)+(T% � 64):G%+=(G%<<4)
4l4B%=(((C% � %110000)>>4)*4)+(T% � 64):B%+=(B%<<4)
4vNș "ColourTrans_ReturnOppGCOLForMode",((B%<<24)+(G%<<16)+(R%<<8)),15 � GC%
4�#� U%,(GC%>>2) Ȝ (GC% � %11)*64
4��
4�
4�
��gridcol
4��col(GRCO%,GRTI%,0)
4��
4�
4���makerr
4�ș "Wimp_DragBox",,0
4�!BLK%=�
4�ER=�
4�
Ȏ � �
4�4� 222:$(BLK%+4)="File cannot be found"+�(0):ER=�
5
5�$(BLK%+4)="Archrome has suffered a serious internal error ("+ß+"/"+Þ+") You should save your work and re-start as soon as possible."+�(0)
5�
5 +ș "Wimp_ReportError",BLK%,1,"Archrome"
5*
�action:�
54�
5>
5H��message(M%,M$):�outpic
5R[ș "Wimp_DragBox",,0:!BLK%=M%:$(BLK%+4)=M$+�(0):ș "Wimp_ReportError",BLK%,1,"Archrome"
5\�forcedrawmain
5f
�action:�
5p�
5z
5���mouse
5�FMOUX%=!BLK%:MOUY%=BLK%!4:MOUB%=BLK%!8:MOUH%=BLK%!12:MOUIC%=BLK%!16
5�Ȏ MOUB% �
5�� 4,1:Ȏ MOUH% �
5�� -2:�openmain
5�$� HAND%(0):� BLK%!16=2 � �saveok
5�*� HAND%(7):� BLK%!16=2 � �spritesaveok
5�� HAND%(2):�picclick
5�� HAND%(3):�pickcol
5�� HAND%(4):�airbclick
5�� HAND%(5):�brushclick
5�� HAND%(6):�gridclick
5�� HAND%(8):�grabclick
6� HAND%(10):�linepatclick
6� HAND%(11):�ecfclick
6� HAND%(12):�edbruclick
6$� HAND%(13):�fillclick
6.� HAND%(14):�textclick
68� HAND%(15):�tbackclick
6B� HAND%(16):�tparclick
6L� HAND%(17):�fillcontclick
6V� HAND%(18):�colrepclick
6`� HAND%(19):�frameclick
6j� HAND%(20):�patfillclick
6t� HAND%(21):�rgbcontclick
6~� HAND%(22):�greyscaleclick
6�� HAND%(23):�pixelateclick
6�� HAND%(24):�rotateclick
6��
6�=� 2:� MOUH%=-2 � �iconmenu � � MOUH%=HAND%(2) � �windmenu
6�1� 16,64:� MOUH%=HAND%(0) � DRAG%=0:�startdrag
6�)� MOUH%=HAND%(7) � DRAG%=7:�startdrag
6��
6��
6�
6���rotateclick
6�� MOUIC%<>1 � MOUIC%<3 � �
6�)� FUST%>=2 � �inpic:�protbox(OX%,OY%)
7-� MOUIC%=1 � ROT%-=1:� ROT%<0 � ROT%+=360
7
"� MOUIC%=3 � ROT%=(ROT%+1)�360
7.� MOUIC%=4 � ROT%-=10:� ROT%<0 � ROT%+=360
7#� MOUIC%=5 � ROT%=(ROT%+10)�360
7(9� FUST%>=2 � �protbox(OX%,OY%):�outpic:�quickdrawmain
72�seticon(24,2,�ROT%)
7<�
7F
7P��rgbcontclick
7Z4RP%=�perc(21,4):GP%=�perc(21,7):BP%=�perc(21,10)
7dIRP%=RP%:IGP%=GP%:IBP%=BP%
7n'� MOUIC%=3 � RP%-=1:� RP%<0 � RP%=0
7x+� MOUIC%=5 � RP%+=1:� RP%>200 � RP%=200
7�'� MOUIC%=6 � GP%-=1:� GP%<0 � GP%=0
7�+� MOUIC%=8 � GP%+=1:� GP%>200 � GP%=200
7�'� MOUIC%=9 � BP%-=1:� BP%<0 � BP%=0
7�,� MOUIC%=11 � BP%+=1:� BP%>200 � BP%=200
7�+� RP%<>IRP% � �seticon(21,4,�(RP%)+"%")
7�+� GP%<>IGP% � �seticon(21,7,�(GP%)+"%")
7�,� BP%<>IBP% � �seticon(21,10,�(BP%)+"%")
7��
7�
7���greyscaleclick
7�M�arrows(22,3,5,4,0,9,1):�arrows(22,6,8,7,0,9,1):�arrows(22,9,11,10,0,9,1)
7��
7�
8��pixelateclick
87�arrows(23,2,4,3,1,100,1):�arrows(23,5,7,6,1,100,1)
8�
8"
8,��frameclick
867�arrows(19,5,7,3,1,618,1):�arrows(19,6,8,4,1,234,1)
8@� MOUIC%<>2 � �
8J
�killf
8T$V%=��geticon(19,3):� V%<1 � V%=1
8^� V%>618 � V%=618
8h�seticon(19,3,�V%)
8r$W%=��geticon(19,4):� W%<1 � W%=1
8|� W%>234 � W%=618
8��seticon(19,4,�W%)
8�OFRW%=V%+1:FRH%=W%+1:FUSE%=36:FUST%=0:�help:�windname(2,PIC$+" [Set frame]")
8�� MOUB%=4 � �menoff
8��
8�
8���colrepclick
8‰� MOUIC%=3 � ș "Hourglass_On":�L%=0 � 22596 � 4:SPBUF%!L%=OPAL%!L%:�:�L%=0 � 255:REPS%?L%=L%:�:ș "Hourglass_Off":�forcedrawcolrep:�
8�5BLK%!8=HAND%(18):ș "Wimp_GetWindowState",,BLK%+8
8�<XOF%=(!BLK%)-((BLK%!12)-(BLK%!28)):� XOF%>766 � XOF%=766
8�CYOF%=(BLK%!4)-(((BLK%!24)-(BLK%!32))-556):� YOF%>550 � YOF%=550
8�� VDU4:PRINT XOF%,YOF%
8�E� YOF%<=220 � SREP%=(XOF% � 24)+((YOF% � 28)*32):�forcedrawcolrep
8�� YOF%>=290 � YOF%<514 �
9�YOF%-=290:C%=(XOF% � 24)+((YOF% � 28)*32):�insprite(0,SPBUF%,"Palette"):FX%=((SREP% � 32)*24)+2:FY%=((SREP% � 32)*28)+4:�0,PALTAB%?(C%*2) Ȝ PALTAB%?((C%*2)+1)
9Bȓ Ȑ FX%,FY%,20,20:�outsprite:REPS%?SREP%=C%:�forcedrawcolrep
9�
9&�
90
9:'��arrows(W%,DI%,UI%,TI%,LV%,UV%,I%)
9DV%=��geticon(W%,TI%):OV%=V%
9N+� MOUIC%=DI% � V%-=I%:� V%<LV% � V%=LV%
9X+� MOUIC%=UI% � V%+=I%:� V%>UV% � V%=UV%
9b&� V%<>OV% � �seticon(W%,TI%,�(V%))
9l�
9v
9���tparclick
9���arrows(16,6,18,12,0,1024,8):�arrows(16,7,19,13,0,999,1):�arrows(16,8,20,14,0,999,1):�arrows(16,9,21,15,0,999,1):�arrows(16,10,22,16,0,999,1):�arrows(16,11,23,17,0,999,1)
9��� MOUIC%=24 � ș "Font_SetFontMax",(��geticon(16,12))*1024,(��geticon(16,13))*1152,(��geticon(16,14))*1152,(��geticon(16,15))*1152,(��geticon(16,16))*1152,(��geticon(16,17))*1152
9�#� MOUIC%=24 � MOUB%=4 � �menoff
9�� MOUIC%=25 �
9��("Configure FontMax "+�geticon(16,12)+"K"):�("Configure FontMax1 "+�geticon(16,13)):�("Configure FontMax2 "+�geticon(16,14)):�("Configure FontMax3 "+�geticon(16,15)):�("Configure FontMax4 "+�geticon(16,16))
9�,�("Configure FontMax5 "+�geticon(16,17))
9��
9��
9�
9���losefont
9�9� FONT%<>0 � �inpic:ș "Font_LoseFont",FHAND%:�outpic
9��
:
:
��getfont
:,� ��geticon(14,4)<6 � �seticon(14,4,"6")
: ,� ��geticon(14,5)<6 � �seticon(14,5,"6")
:*1FONTX%=��geticon(14,4):FONTY%=��geticon(14,5)
:+1� VDU4:PRINT'FONT%,FO$,FONTX%,FONTY%," 14900"
:,	� END
:4T� FONT%<>0 � �inpic:ș "Font_FindFont",,FO$,FONTX%*16,FONTY%*16 � FHAND%:�outpic
:>�
:H
:R
��restpic
:\
�inpic
:fș&2E,290,SPBUF%,"PIC"
:p�outpic
:z�
:�
:���textclick
:�� MOUIC%<>6 � � �tvz
:�*V%=��geticon(14,4):V%-=1:� V%<6 � V%=6
:��seticon(14,4,�V%)
:�� MOUIC%<>7 � � �dTz
:�.V%=��geticon(14,4):V%+=1:� V%>999 � V%=999
:��seticon(14,4,�V%)
:�� MOUIC%<>8 � � �drz
:�*V%=��geticon(14,5):V%-=1:� V%<6 � V%=6
:��seticon(14,5,�V%)
:�� MOUIC%<>9 � � �TP{
:�.V%=��geticon(14,5):V%+=1:� V%>999 � V%=999
;�seticon(14,5,�V%)
;� MOUIC%<>12 � �
; � VDU4:PRINT FONT%,FUST%,FO$
;� FONT%<>0 �
;$2� FUST%<>0 � �restpic:�losefont:�forcedrawmain
;.�getfont
;/� GOTO 15230
;80TEXT$=�geticon(14,11):� TEXT$="" � TEXT$=" "
;BDFCOL%=PALTAB%?(COL%*2):FTIN%=PALTAB%?((COL%*2)+1):FTIN%=FTIN%>>2
;LqFPAL%=((((FCOL% � %11)<<6)+FTIN%)<<8)+((((FCOL% � %1100)<<4)+FTIN%)<<16)+((((FCOL% � %110000)<<2)+FTIN%)<<24)
;VHFCOL%=PALTAB%?(FONTB%*2):FTIN%=PALTAB%?((FONTB%*2)+1):FTIN%=FTIN%>>2
;`qBPAL%=((((FCOL% � %11)<<6)+FTIN%)<<8)+((((FCOL% � %1100)<<4)+FTIN%)<<16)+((((FCOL% � %110000)<<2)+FTIN%)<<24)
;a� GOTO 15230
;jO�inpic:ș "ColourTrans_SetFontColours",FHAND%,BPAL%,FPAL%,14:�outpic:EFM%=�
;tFUST%=1:OX%=-1:OY%=-1
;~�
;�(� FUST%<>0 � �restpic:�forcedrawmain
;�0TEXT$=�geticon(14,11):� TEXT$="" � TEXT$=" "
;�1FUST%=1:OX%=-1:OY%=-1:TCOL%=COL%:TBAK%=FONTB%
;�,� ��geticon(14,4)<1 � �seticon(14,4,"1")
;�,� ��geticon(14,5)<1 � �seticon(14,5,"1")
;�1FONTX%=��geticon(14,4):FONTY%=��geticon(14,5)
;�!IO%=FONTX%:IO%!4=FONTY%
;�IO%!8=8:IO%!12=8
;��
;��
;�
;���ostext(TX%,TY%)
<� L%
<
	TT%=0
<� �high(14,14) � TT%=1
<� �high(14,15) � TT%=2
<(� �high(14,16) � TT%=3
<27FCOL%=PALTAB%?(TCOL%*2):FTIN%=PALTAB%?((TCOL%*2)+1)
<<7BCOL%=PALTAB%?(TBAK%*2):BTIN%=PALTAB%?((TBAK%*2)+1)
<FȎ TT% �
<Pc� 0:�col(FCOL%,FTIN%,0):�L%=1 � �(TEXT$):ș&2E,51,�(�TEXT$,L%,1)),,TX%,TY%,,IO%:TX%+=FONTX%*2:�
<Z~� 2:�col(BCOL%,BTIN%,0):OTX%=TX%:�L%=1 � �(TEXT$):ș&2E,51,�(�TEXT$,L%,1)),,TX%,TY%,,IO%:TX%+=FONTX%*2:�:TX%=OTX%+2:TY%+=4
<d]�L%=1 � �(TEXT$):ș&2E,51,�(�TEXT$,L%,1)),,TX%,TY%,,IO%:TX%+=FONTX%*2:�:TX%=OTX%+4:TY%+=4
<n_�col(FCOL%,FTIN%,0):�L%=1 � �(TEXT$):ș&2E,51,�(�TEXT$,L%,1)),,TX%,TY%,,IO%:TX%+=FONTX%*2:�
<x�� 1:�col(BCOL%,BTIN%,0):OTX%=TX%:�CX%=TX%-(FONTX% �4) � TX%+(FONTX% �4) � (FONTX% � 4):�CY%=TY%-(FONTY% � 2) � TY%+(FONTY% �2) � (FONTY% �2):TX%=CX%:�L%=1 � �(TEXT$):ș&2E,51,�(�TEXT$,L%,1)),,TX%,CY%,,IO%:TX%+=FONTX%*2:�:�:�
<�h�col(FCOL%,FTIN%,0):TX%=OTX%:�L%=1 � �(TEXT$):ș&2E,51,�(�TEXT$,L%,1)),,TX%,TY%,,IO%:TX%+=FONTX%*2:�
<�Z� 3:�col(BCOL%,BTIN%,0):ȓ Ȑ X%,Y%,(�(TEXT$))*(FONTX%*2),FONTY%*4:�col(FCOL%,FTIN%,0)
<�K�L%=1 � �(TEXT$):ș&2E,51,�(�TEXT$,L%,1)),,TX%,TY%,,IO%:TX%+=FONTX%*2:�
<��
<��
<�
<���edbruclick
<�9� FUSE%=4 � �killf:�windname(2,PIC$):�spinit:FUSE%=-1
<�N� MOUIC%>=0 � MOUIC%<=11 � EDBR%=MOUIC%+1:�forcedrawedbru(0,-640,1024,0):�
<�J� MOUIC%=13 � ș&2E,303,BRUSH%,�EDBR%:�forcedrawedbru(0,-640,1024,0):�
<�J� MOUIC%=14 � ș&2E,289,BRUSH%,�EDBR%:�forcedrawedbru(0,-640,1024,0):�
<�� MOUIC%<>15 � � �TN}
<���insprite(0,BRUSH%,�EDBR%):�3,63 Ȝ 192:ȓ Ȑ 0,0,62,60:�outsprite:�insprite(1,BRUSH%,�EDBR%):�3,63 Ȝ 192:ȓ Ȑ 0,0,62,60:�outsprite
=$�forcedrawedbru(0,-640,1024,0):�
=� MOUIC%<>16 � � �Tl}
=O�L%=0 � 1:�insprite(L%,BRUSH%,�EDBR%):�4,0,0:�4,60,60:�189,2,0:�outsprite:�
="$�forcedrawedbru(0,-640,1024,0):�
=,� MOUIC%<>17 � � �DJ}
=6O�L%=0 � 1:�insprite(L%,BRUSH%,�EDBR%):�4,2,0:�4,60,60:�189,0,0:�outsprite:�
=@$�forcedrawedbru(0,-640,1024,0):�
=J� MOUIC%<>18 � � �Dh}
=TO�L%=0 � 1:�insprite(L%,BRUSH%,�EDBR%):�4,0,0:�4,62,56:�189,0,4:�outsprite:�
=^$�forcedrawedbru(0,-640,1024,0):�
=h� MOUIC%<>19 � � �tF}
=rO�L%=0 � 1:�insprite(L%,BRUSH%,�EDBR%):�4,0,4:�4,62,60:�189,0,0:�outsprite:�
=|$�forcedrawedbru(0,-640,1024,0):�
=�� MOUIC%<>12 � � �td}
=�P�L%=0 � 1:�insprite(L%,BRUSH%,�EDBR%):�0,0 Ȝ 0:ȓ Ȑ 0,0,62,60:�outsprite:�
=�$�forcedrawedbru(0,-640,1024,0):�
=�E� MOUIC%=20 � ș&2E,268,BRUSH%,"<Archrome$Dir>.Brushes":�menoff:�
=�\� MOUIC%=21 � ș&2E,266,BRUSH%,"<Archrome$Dir>.Brushes":�forcedrawedbru(0,-640,1024,0):�
=�5BLK%!8=HAND%(12):ș "Wimp_GetWindowState",,BLK%+8
=�7XOF%=((!BLK%)-(BLK%!12))-28:� XOF%>766 � XOF%<0 � �
=�9YOF%=((BLK%!4)-(BLK%!16))-112:� YOF%>508 � YOF%<0 � �
=�!XOF%=XOF% � 24:YOF%=YOF% � 32
=�\� MOUB%=4 � ș&2E,298,BRUSH%,�EDBR%,XOF%,YOF%,63,192:ș&2E,300,BRUSH%,�EDBR%,XOF%,YOF%,1
=�S� MOUB%=1 � ș&2E,298,BRUSH%,�EDBR%,XOF%,YOF%:ș&2E,300,BRUSH%,�EDBR%,XOF%,YOF%
=�� MOUB%<>1 � MOUB%<>4 � �
=�X�forcedrawedbru((XOF%*24)+28,-(((15-YOF%)*32)+48),(XOF%*24)+52,-(((15-YOF%)*32)+16))
>B�forcedrawedbru(((EDBR%-1)*64)+32,-620,((EDBR%-1)*64)+96,-560)
>�
>
>&��ecfclick
>0-� MOUIC%>17 � MOUIC%<22 � �forcedrawpat:�
>:� MOUIC%<>16 � �
>D� MOUB%<>1 � MOUB%<>4 � �
>N5BLK%!8=HAND%(11):ș "Wimp_GetWindowState",,BLK%+8
>X6XOF%=((!BLK%)-(BLK%!12))-180:� XOF%>766 � XOF%=766
>b6YOF%=((BLK%!4)-(BLK%!16))-20:� YOF%>220 � YOF%=220
>l%col%=(XOF% � 24)+((YOF% � 28)*32)
>vcby%=TTB%?col%
>�>CECF%=�cecf:L%=0:�K%=8 � 15:� �high(11,K%) � L%=K%-7:� � �
>�� L%=0 � �
>�ECF%(L%,CECF%)=cby%
>��forcedrawpat
>��
>�
>���reloadpatfills
>�/ș&2E,266,PFILLS%,"<Archrome$Dir>.PatFills"
>��
>�
>���patfillclick
>�"� MOUIC%=0 � �reloadpatfills:�
>�5BLK%!8=HAND%(20):ș "Wimp_GetWindowState",,BLK%+8
?6XOF%=((!BLK%)-(BLK%!12)):YOF%=((BLK%!4)-(BLK%!16))
?tK%=-1:�L%=1 � 12:BX%=((L%-1)*84)+24:BY%=52:� XOF%>=BX% � YOF%>=BY% � XOF%<(BX%+64) � YOF%<(BY%+64) � K%=L%:� � �
?+� K%=-1 � � � CPF%=K%:�forcedrawpatfill
? �
?*
?4��savegrfills
?>$F%=�("<Archrome$Dir>.GradFills")
?H=�L%=0 � 15:�K%=0 � 1:�I%=0 � 4:�#F%,GRFI%(L%,K%,I%):�:�:�
?R�#F%
?\�
?f
?p��loadgrfills
?z$F%=�("<Archrome$Dir>.GradFills")
?�=�L%=0 � 15:�K%=0 � 1:�I%=0 � 4:�#F%,GRFI%(L%,K%,I%):�:�:�
?��#F%
?��forcedrawfill
?��
?�
?�
��filluse
?� SNO%=�grafilno:� SNO%=-1 � �
?�y�killf:FUSE%=31:FUST%=0:GRFN%=SNO%:GRTY%=0:�help:�windname(2,PIC$+" [Graduated fill ("+�filldet(SNO%+1)+")]"):�spinit
?�� MOUB%=4 � �menoff
?��
?�
?�:ݤfilldet(S%):� GRTY%=0 � ="flood "+�S% � ="area "+�S%
?�
@��invertfill
@NOS%=�grafilno
@%IA%=0:IB%=��geticon(13,44):IB%-=1
@$k�:Ȕ GRFI%(IA%,0,NOS%),GRFI%(IB%,0,NOS%):Ȕ GRFI%(IA%,1,NOS%),GRFI%(IB%,1,NOS%):IA%+=1:IB%-=1:� IA%>IB%
@.�forcedrawfill
@8�
@B
@L��interpfill
@VNOS%=�grafilno
@`IA%=0:�:IB%=IA%+1
@j� IB%=16 � �forcedrawfill:�
@t?� GRFI%(IB%,0,NOS%)=0 � GRFI%(IB%,1,NOS%)=0 � IB%+=1:� �@j@
@~'� IB%=IA%+1 � IA%=IB%:IB%+=1:� �@j@
@�T1%=GRFI%(IA%,1,NOS%)>>6
@�*R1%=((GRFI%(IA%,0,NOS%) � %11)<<2)+T1%
@�'G1%=(GRFI%(IA%,0,NOS%) � %1100)+T1%
@�.B1%=((GRFI%(IA%,0,NOS%) � %110000)>>2)+T1%
@�T2%=GRFI%(IB%,1,NOS%)>>6
@�;RD=((((GRFI%(IB%,0,NOS%) � %11)<<2)+T2%)-R1%)/(IB%-IA%)
@�8GD=(((GRFI%(IB%,0,NOS%) � %1100)+T2%)-G1%)/(IB%-IA%)
@�?BD=((((GRFI%(IB%,0,NOS%) � %110000)>>2)+T2%)-B1%)/(IB%-IA%)
@�IA%+=1:�L%=1 � IB%-IA%
@�0R%=R1%+(RD*L%):G%=G1%+(GD*L%):B%=B1%+(BD*L%)
@�Iș "ColourTrans_ReturnGCOLForMode",(B%<<28)+(G%<<20)+(R%<<12),15 � G%
@�;GRFI%(IA%,0,NOS%)=G%>>2:GRFI%(IA%,1,NOS%)=(G% � %11)<<6
AIA%+=1:�
A
IB%=IA%+1:� �@j@
A
A��wipefill
A(NOS%=�grafilno
A20�L%=0 � 15:�K%=0 � 1:GRFI%(L%,K%,NOS%)=0:�:�
A<�forcedrawfill:�
AF
AP��compfill
AZNOS%=�grafilno
Ad7CA%=GRFI%(0,0,NOS%):TA%=GRFI%(0,1,NOS%):IA%=1:IB%=1
An
ȕ IB%<16
Ax�� GRFI%(IB%,0,NOS%)<>CA% � GRFI%(IB%,1,NOS%)<>TA% � GRFI%(IA%,0,NOS%)=GRFI%(IB%,0,NOS%):GRFI%(IA%,1,NOS%)=GRFI%(IB%,1,NOS%):CA%=GRFI%(IA%,0,NOS%):TA%=GRFI%(IA%,1,NOS%):IA%+=1
A�IB%+=1:�
A�>ȕ IA%<16:GRFI%(IA%,0,NOS%)=0:GRFI%(IA%,1,NOS%)=0:IA%+=1:�
A��forcedrawfill
A��
A�
A���fillclick
A�� MOUIC%<0 � � �@fD
A�� MOUIC%=51 � �savegrfills
A�� MOUIC%=50 � �loadgrfills
A�� MOUIC%=52 � �filluse:�
A�� MOUIC%=60 � �invertfill:�
A�� MOUIC%=61 � �interpfill:�
A�� MOUIC%=62 � �wipefill:�
B� MOUIC%=63 � �compfill:�
B-� MOUIC%>=0 � MOUIC%<=15 � �setgradfill:�
B0� MOUIC%>=17 � MOUIC%<=21 � �forcedrawfill:�
B"� MOUIC%<>40 � � �@@B
B,'FILR%=FILR%-1:� FILR%<0 � FILR%=359
B6�seticon(13,39,�FILR%):�
B@� MOUIC%<>41 � � �@^B
BJ'FILR%=FILR%+1:� FILR%>359 � FILR%=0
BT�seticon(13,39,�FILR%):�
B^� MOUIC%<>43 � � �@|B
Bh&NOS%=��geticon(13,44):� NOS%=2 � �
BrC�shadeicon(13,�filic(NOS%-1)):NOS%-=1:�seticon(13,44,�(NOS%)):�
B|� MOUIC%<>45 � � �pZB
B�'NOS%=��geticon(13,44):� NOS%=16 � �
B�A�clearicon(13,�filic(NOS%)):NOS%+=1:�seticon(13,44,�(NOS%)):�
B�
B��
B�
B���setgradfill
B�SNO%=�grafilno
B�Ȏ MOUIC% �
B�� 0:� �p|C
B�� 1:� �`FC
B�� 2:� �`PC
B�� 3:� �`ZC
B�� 4:� �`dC
C� 5:� �`nC
C� 6:� �`xC
C� 7:� �PLD
C&� 8:� �PVD
C0� 9:� �P`D
C:� 10:� �PjD
CD� 11:� �PBD
CN� 12:� �PtD
CX� 13:� �P~D
Cb� 14:� �@HD
Cl� 15:� �@RD
Cv�
C�J�L%=0 � 15:�shadeicon(13,�filic(L%)):�K%=0 � 1:GRFI%(L%,K%,SNO%)=0:�:�
C�Q� S%:�L%=0 � S%-1:�clearicon(13,�filic(L%)):�K%=0 � 1:� GRFI%(L%,K%,SNO%):�:�
C��seticon(13,44,�S%)
C��forcedrawfill
C��
C�
C�H� 12, 1,0,1,64,1,128,1,192,2,0,2,64,2,128,2,192,3,0,3,64,3,128,3,192
C�L� 12, 4,0,4,64,4,128,4,192,8,0,8,64,8,128,8,192,12,0,12,64,12,128,12,192
C�P� 12, 5,0,5,64,5,128,5,192,10,0,10,64,10,128,10,192,15,0,15,64,15,128,15,192
C�T� 12, 16,0,16,64,16,128,16,192,32,0,32,64,32,128,32,192,48,0,48,64,48,128,48,192
C�T� 12, 17,0,17,64,17,128,17,192,34,0,34,64,34,128,34,192,51,0,51,64,51,128,51,192
C�T� 12, 20,0,20,64,20,128,20,192,40,0,40,64,40,128,40,192,60,0,60,64,60,128,60,192
C�e� 15, 0,64,0,128,0,192,21,0,21,64,21,128,21,192,42,0,42,64,42,128,42,192,63,0,63,64,63,128,63,192
DL� 12, 1,0,1,64,1,128,1,192,6,0,6,64,6,128,6,192,27,0,27,64,27,128,27,192
D:� 8, 18,0,18,64,18,128,18,192,39,0,39,64,39,128,39,192
D2� 8, 2,0,2,64,2,128,2,192,7,0,7,64,7,128,7,192
D T� 12, 17,0,17,64,17,128,17,192,38,0,38,64,38,128,38,192,59,0,59,64,59,128,59,192
D*P� 12, 5,0,5,64,5,128,5,192,10,0,26,64,26,128,26,192,47,0,47,64,47,128,47,192
D4T� 12, 20,0,20,64,20,128,20,192,41,0,41,64,41,128,41,192,62,0,62,64,62,128,62,192
D>P� 12, 1,0,1,64,1,128,1,192,22,0,22,64,22,128,22,192,43,0,43,64,43,128,43,192
DH8� 8, 9,0,9,64,9,128,9,192,14,0,14,64,14,128,14,192,0
DR:� 8, 21,0,21,64,21,128,21,192,42,0,42,64,42,128,42,192
D\
Df5BLK%!8=HAND%(13):ș "Wimp_GetWindowState",,BLK%+8
Dp8XOF%=((!BLK%)-(BLK%!12))-422:� XOF%>766 � XOF%<0 � �
Dz9YOF%=((BLK%!4)-(BLK%!16))-236:� YOF%>220 � YOF%<0 � �
D�%col%=(XOF% � 24)+((YOF% � 28)*32)
D�tin%=PALTAB%?((col%*2)+1)
D�col%=PALTAB%?(col%*2)
D�=FPE%=-1:�L%=0 � 15:� �high(13,�filic(L%)) � FPE%=L%:� � �
D�SNO%=�grafilno
D�� FPE%=-1 � SNO%=-1 � �
D�BGRFI%(FPE%,0,SNO%)=col%:GRFI%(FPE%,1,SNO%)=tin%:�forcedrawfill
D��
D�
D�7ݤfilic(FSN%):� FSN%<=11 � =FSN%+26 � =(FSN%-12)+46
D�
D���linepatclick
D�Ȏ MOUIC% �
EU� 3:PL%=��geticon(10,1):� PL%>1 � �shadeicon(10,PL%+6):PL%-=1:�seticon(10,1,�PL%)
EV� 2:PL%=��geticon(10,1):� PL%<40 � �clearicon(10,PL%+7):PL%+=1:�seticon(10,1,�PL%)
E$� 4:PALE%=��geticon(10,1):�23,6,
E$BIN%=7:�L%=1 � 5:N%=0:I%=128:�K%=1 � 8:� �high(10,IN%) � N%+=I%
E..I%=I% � 2:IN%+=1:�:� N%:PAT%(L%)=N%:�:� 0|
E8� MOUB%=4 � �menoff
EB�
EL�
EV
E`��grabclick
Ej,� MOUIC%<>12 � (FUSE%<>34 � FUST%<2) � �
Et@�inpic:� FUSE%<>34 � �pgrab(OX%,OY%,3) � �pimport(OX%,OY%,3)
E~CGRXM%=�(�geticon(8,4)):� GRXM%<1 � GRXM%=1:�seticon(8,4,�GRXM%)
E�CGRYM%=�(�geticon(8,5)):� GRYM%<1 � GRYM%=1:�seticon(8,5,�GRYM%)
E�CGRXD%=�(�geticon(8,6)):� GRXD%<1 � GRXD%=1:�seticon(8,6,�GRXD%)
E�CGRYD%=�(�geticon(8,7)):� GRYD%<1 � GRYD%=1:�seticon(8,6,�GRYD%)
E�
�grabflip
E�GRMA%=�high(8,14)
E�9� FUSE%<>34 � �pgrab(OX%,OY%,3) � �pimport(OX%,OY%,3)
E��outpic:�quickdrawmain
E��
E�
E���grabflip
E�_� (�high(8,10) � � GRFX%) � ((� �high(8,10)) � GRFX%) � ș&2E,289,SPBUF%,GRN$:GRFX%=� GRFX%
E�_� (�high(8,11) � � GRFY%) � ((� �high(8,11)) � GRFY%) � ș&2E,303,SPBUF%,GRN$:GRFY%=� GRFY%
F�
F

F��gridclick
FD%=�(�geticon(6,4))
F(1� MOUIC%=2 � D%>1 � D%-=1:�seticon(6,4,�D%):�
F23� MOUIC%=6 � D%<999 � D%+=1:�seticon(6,4,�D%):�
F<D%=�(�geticon(6,5))
FF1� MOUIC%=3 � D%>1 � D%-=1:�seticon(6,5,�D%):�
FP3� MOUIC%=7 � D%<999 � D%+=1:�seticon(6,5,�D%):�
FZD%=�(�geticon(6,12))
Fd3� MOUIC%=10 � D%>0 � D%-=1:�seticon(6,12,�D%):�
Fn5� MOUIC%=14 � D%<999 � D%+=1:�seticon(6,12,�D%):�
FxD%=�(�geticon(6,13))
F�3� MOUIC%=11 � D%>0 � D%-=1:�seticon(6,13,�D%):�
F�5� MOUIC%=15 � D%<999 � D%+=1:�seticon(6,13,�D%):�
F�]� MOUIC%=16 � �seticon(6,4,"1"):�seticon(6,5,"1"):�seticon(6,12,"0"):�seticon(6,13,"0"):�
F�� MOUIC%<>17 � �
F�.GRWI%=�(�geticon(6,4)):� GRWI%<1 � GRWI%=1
F�.GRHE%=�(�geticon(6,5)):� GRHE%<1 � GRHE%=1
F�^GRBX%=�(�geticon(6,12)):� GRBX%>GRWI% � �:GRBX%-=GRWI%:� GRBX%<GRWI%:�seticon(6,12,�GRBX%)
F�^GRBY%=�(�geticon(6,13)):� GRBY%>GRHE% � �:GRBY%-=GRHE%:� GRBY%<GRHE%:�seticon(6,13,�GRBY%)
F�� MOUB%=4 � �menoff
F��forcedrawmain
F��
F�
F���brushclick
G� MOUIC%>=0 � MOUIC%<=11 �
G@� FUST%>0 � �inpic:�paintscale:�eorback:�paintbrush(OX%,OY%)
GSELBR%=MOUIC%+1
G"D� FUST%>0 � �eorback:�paintbrush(OX%,OY%):�outpic:�quickdrawmain
G,�forcedrawbrush
G6�
G@*� MOUIC%<>20 � FUSE%=29 � FUSE%=30 � �
GJ@� FUST%>0 � �inpic:�paintscale:�eorback:�paintbrush(OX%,OY%)
GT?BXM%=�(�geticon(5,16)):� BXM%<1 � BXM%=1:�seticon(4,16,"1")
G^?BYM%=�(�geticon(5,18)):� BYM%<1 � BYM%=1:�seticon(4,18,"1")
Gh?BXD%=�(�geticon(5,17)):� BXD%<1 � BXD%=1:�seticon(4,17,"1")
Gr?BYD%=�(�geticon(5,19)):� BYD%<1 � BYD%=1:�seticon(4,19,"1")
G|P� FUST%>0 � �paintscale:�eorback:�paintbrush(OX%,OY%):�outpic:�quickdrawmain
G��
G�
G���airbclick
G�D%=�(�geticon(4,1))
G�1� MOUIC%=4 � D%>1 � D%-=1:�seticon(4,1,�D%):�
G�3� MOUIC%=6 � D%<999 � D%+=1:�seticon(4,1,�D%):�
G�D%=�(�geticon(4,3))
G�1� MOUIC%=5 � D%>4 � D%-=1:�seticon(4,3,�D%):�
G�3� MOUIC%=7 � D%<999 � D%+=1:�seticon(4,3,�D%):�
G��
G�
G�&��menoff:ș "Wimp_CreateMenu",-1:�
G�
H��buildiconmenu
H�buildmenu(30,"Archrome")
H�addtomenu(30,"Info",1,"")
H&�addtomenu(30,"Save",0,"L")
H0 �addtomenu(30,"Quit",-1,"F")
H:�
HD
HNG��iconmenu:MENO%=30:ș "Wimp_CreateMenu",,MENAD%(30),MOUX%-64,252:�
HX
Hb3��windmenu:MENO%=0:MEBA%=MENU%:MEINBA%=MENUIND%
Hl~�L%=0 � NOMENS%:TAD%=MENAD%(L%)+28:�:!TAD%=(!TAD%) � 130:TAD%!8=(TAD%!8) � (&FFFFFFFF-(1<<22)):TAD%+=24:� !(TAD%-24)>127:�
Hv
H� � LITY%=21 � �tickitem(12,1)
H� � LITY%=53 � �tickitem(12,2)
H�� LITY%=5 � �tickitem(11,1)
H�%� (USE% � 15)=0 � �tickitem(11,3)
H�%� (USE% � 15)=1 � �tickitem(11,4)
H�%� (USE% � 15)=2 � �tickitem(11,5)
H�%� (USE% � 15)=3 � �tickitem(11,6)
H�%� (USE% � 15)=4 � �tickitem(11,7)
H�%� (USE% � 15)=6 � �tickitem(11,8)
H�%� (USE% � 15)=7 � �tickitem(11,9)
H�(� (USE% � 112)=16 � �tickitem(11,10)
H�(� (USE% � 112)=32 � �tickitem(11,11)
H�(� (USE% � 112)=48 � �tickitem(11,12)
I(� (USE% � 112)=64 � �tickitem(11,13)
I(� (USE% � 112)=80 � �tickitem(11,14)
I(� FONTS%=0 � �shadeitem(14,FONTS%+3)
I MI%=1:�L%=2 � 16
I*!� ZOOM%=L% � �tickitem(3,MI%)
I4MI%+=1:�
I>2� GRCO%=-1 � �shadeitem(5,2) � �shadeitem(5,1)
IH� GRLO% � �tickitem(5,3)
IR� ZOOM%>1 � �tickitem(0,8)
I\� KUKE% � �tickitem(10,2)
If
Ip5ș "Wimp_CreateMenu",,MENAD%(0),MOUX%-64,MOUY%+60
Iz�
I�
I���buildmainmenu
I�MEOF%=0:MEIN%=0
I�
I��buildmenu(15,"Speed")
I�$�addtomenu(15,"Very fast",-1,"")
I��addtomenu(15,"Fast",-1,"")
I�!�addtomenu(15,"Medium",-1,"")
I� �addtomenu(15,"Slow",-1,"F")
I�
I��buildmenu(16,"Mouse")
I�)�addtomenu(16,"X only",MENAD%(15),"")
I�)�addtomenu(16,"Y only",MENAD%(15),"")
J(�addtomenu(16,"Both",MENAD%(15),"F")
J
J�buildmenu(1,"File")
J$�addtomenu(1,"Save",0,"")
J.'�addtomenu(1,"Save as sprite",7,"")
J8!�addtomenu(1,"Export",-1,"F")
JB
JL�buildmenu(12,"Pattern")
JV$�addtomenu(12,"Restarted",-1,"")
J`&�addtomenu(12,"Continuous",-1,"F")
Jj
Jt�buildmenu(11,"Styles")
J~%�addtomenu(11,"Solid line",-1,"")
J�0�addtomenu(11,"Line pattern",MENAD%(12),"L")
J�$�addtomenu(11,"Overwrite",-1,"")
J��addtomenu(11,"OR",-1,"")
J��addtomenu(11,"AND",-1,"")
J��addtomenu(11,"EOR",-1,"")
J�!�addtomenu(11,"Invert",-1,"")
J��addtomenu(11,"NAND",-1,"")
J��addtomenu(11,"NOR",-1,"L")
J� �addtomenu(11,"ECF 1",-1,"")
J� �addtomenu(11,"ECF 2",-1,"")
J� �addtomenu(11,"ECF 3",-1,"")
J� �addtomenu(11,"ECF 4",-1,"")
K%�addtomenu(11,"Giant ECF",-1,"F")
K

K�buildmenu(13,"Fill")
K%�addtomenu(13,"Flood fill",-1,"")
K((�addtomenu(13,"Pattern fill",-1,"L")
K2*�addtomenu(13,"Graduated fill",17,"F")
K<
KF�buildmenu(2,"Paint")
KP&�addtomenu(2,"Show palette",-1,"")
KZ,�addtomenu(2,"Unset transparents",-1,"")
Kd+�addtomenu(2,"Set transparents",-1,"L")
Kn �addtomenu(2,"Pixels",-1,"")
Kx �addtomenu(2,"Sketch",-1,"")
K�%�addtomenu(2,"Rubber line",-1,"")
K�%�addtomenu(2,"Airbrush...",-1,"")
K�(�addtomenu(2,"Paintbrush...",-1,"L")
K�'�addtomenu(2,"Fill",MENAD%(13),"L")
K�-�addtomenu(2,"Line style",MENAD%(11),"F")
K�
K�!L%=1:LFR$="":NOFM%=40:NOLF%=0
K�CFR$=�fontroot(FONT$(L%))
K�V� CFR$=LFR$ � FONTT$(NOLF%)=�FONT$(L%),(�(FONT$(L%))-(�(CFR$)+1))):NOLF%+=1:� �PvL
K�� LFR$<>"" �
K�� NOLF%>0 �
K�H�buildmenu(NOFM%,LFR$):�K%=0 � NOLF%-1:� K%=NOLF%-1 � O$="F" � O$=""
K�9�addtomenu(NOFM%,FONTT$(K%),-1,O$):�:NOLF%=0:NOFM%+=1
L�
L�� �FONT$(L%-1),".")<>0 � �buildmenu(NOFM%,LFR$):�addtomenu(NOFM%,�FONT$(L%-1),(�(FONT$(L%-1))-(�(LFR$)+1))),-1,"F"):NOLF%=0:NOFM%+=1
L�
L"�
L,bLFR$=CFR$:� �FONT$(L%),".")<>0 � FONTT$(NOLF%)=�FONT$(L%),(�(FONT$(L%))-(�(CFR$)+1))):NOLF%+=1
L6L%+=1:� L%<=FONTS% � � �`HK
L@� LFR$<>"" �
LJ� NOLF%>0 �
LTH�buildmenu(NOFM%,LFR$):�K%=0 � NOLF%-1:� K%=NOLF%-1 � O$="F" � O$=""
L^9�addtomenu(NOFM%,FONTT$(K%),-1,O$):�:NOLF%=0:NOFM%+=1
Lh�
Lr�� �FONT$(L%-1),".")<>0 � �buildmenu(NOFM%,LFR$):�addtomenu(NOFM%,�FONT$(L%-1),(�(FONT$(L%-1))-(�(LFR$)+1))),-1,"F"):NOLF%=0:NOFM%+=1
L|�
L��
L�
L��buildmenu(14,"Fonts")
L�!L%=0:LFR$="":NOFM%=40:COTF%=1
L�=� L%=0 � FONTS%=0 � �addtomenu(14,FONT$(0),-1,"L"):� �PfM
L�D� L%=0 � �addtomenu(14,FONT$(0),-1,""):LFR$="System font":� �PHM
L�CFR$=�fontroot(FONT$(L%))
L�!� CFR$=LFR$ � COTF%+=1:� �PHM
L�� LFR$<>"System font" �
L�p� COTF%>1 � �FONT$(L%-1),".")<>0 � �addtomenu(14,LFR$,MENAD%(NOFM%),""):NOFM%+=1 � �addtomenu(14,LFR$,-1,"")
L�COTF%=1
L��
L�
LFR$=CFR$
ML%+=1:� L%<=FONTS% � � �pnL
Mi� COTF%>1 � �FONT$(L%-1),".")<>0 � �addtomenu(14,LFR$,MENAD%(NOFM%),"L") � �addtomenu(14,LFR$,-1,"L")
M
M&%�addtomenu(14,"Background",15,"")
M0Y� FONTS%>0 � �addtomenu(14,"Parameters",16,"F") � �addtomenu(14,"Parameters",16,"SF")
M:
MD�buildmenu(3,"Zoom")
MN�L%=2 � 16
MX� L%=16 � O$="F" � O$=""
Mb$�addtomenu(3,"Zoom x"+�L%,-1,O$)
Ml�
Mv
M��buildmenu(4,"Shapes")
M�(�addtomenu(4,"Wire rectangle",-1,"")
M�'�addtomenu(4,"Wire triangle",-1,"")
M�%�addtomenu(4,"Wire circle",-1,"")
M�&�addtomenu(4,"Wire ellipse",-1,"")
M�,�addtomenu(4,"Wire parallelogram",-1,"")
M�#�addtomenu(4,"Wire arc",-1,"L")
M�)�addtomenu(4,"Solid rectangle",-1,"")
M�(�addtomenu(4,"Solid triangle",-1,"")
M�&�addtomenu(4,"Solid circle",-1,"")
M�'�addtomenu(4,"Solid ellipse",-1,"")
M�-�addtomenu(4,"Solid parallelogram",-1,"")
M�&�addtomenu(4,"Solid sector",-1,"")
N(�addtomenu(4,"Solid segment",-1,"F")
N
N�buildmenu(6,"Presets")
N "�addtomenu(6,"2x2 grid",-1,"")
N*"�addtomenu(6,"3x3 grid",-1,"")
N4"�addtomenu(6,"4x4 grid",-1,"")
N>"�addtomenu(6,"6x6 grid",-1,"")
NH"�addtomenu(6,"8x8 grid",-1,"")
NR$�addtomenu(6,"16x16 grid",-1,"")
N\$�addtomenu(6,"32x32 grid",-1,"")
Nf%�addtomenu(6,"32x16 grid",-1,"F")
Np
Nz�buildmenu(5,"Grid")
N�#�addtomenu(5,"Show grid",-1,"")
N�#�addtomenu(5,"Hide grid",-1,"")
N�#�addtomenu(5,"Grid lock",-1,"")
N�-�addtomenu(5,"Preset grids",MENAD%(6),"")
N�#�addtomenu(5,"Edit grid",6,"F")
N�
N��buildmenu(7,"Manipulate")
N�&�addtomenu(7,"Copy area...",-1,"")
N�&�addtomenu(7,"Move area...",-1,"")
N�%�addtomenu(7,"Mirror area",-1,"")
N�%�addtomenu(7,"Invert area",-1,"")
N�$�addtomenu(7,"Strip area",-1,"")
N�#�addtomenu(7,"Rotate...",-1,"")
O*�addtomenu(7,"Scale to fit...",-1,"L")
O(�addtomenu(7,"Pixel mapping",-1,"F")
O
O$�buildmenu(8,"Special")
O.�addtomenu(8,"Trace",-1,"")
O8%�addtomenu(8,"Smudge area",-1,"")
OB&�addtomenu(8,"Wet brush...",-1,"")
OL#�addtomenu(8,"Tint area",-1,"")
OV'�addtomenu(8,"Tint brush...",-1,"")
O`#�addtomenu(8,"Set frame",19,"")
Oj(�addtomenu(8,"RGB control...",-1,"")
Ot'�addtomenu(8,"Grey scale...",-1,"")
O~%�addtomenu(8,"Pixelate...",-1,"")
O�,�addtomenu(8,"Colour replace...",-1,"F")
O�
O��buildmenu(9,"Edit")
O�&�addtomenu(9,"Line pattern",10,"")
O�'�addtomenu(9,"Fill patterns",11,"")
O�&�addtomenu(9,"Edit brushes",12,"")
O�*�addtomenu(9,"Graduated fills",13,"F")
O�
O��buildmenu(10,"Options")
O�)�addtomenu(10,"Mouse",MENAD%(16),"L")
O�&�addtomenu(10,"Cursor keys",-1,"")
O�(�addtomenu(10,"Wipe picture",-1,"L")
P �addtomenu(10,"Help",-1,"F")
P

P�buildmenu(0,"Archrome")
P%�addtomenu(0,"File",MENAD%(1),"")
P(&�addtomenu(0,"Paint",MENAD%(2),"")
P2&�addtomenu(0,"Text",MENAD%(14),"")
P<(�addtomenu(0,"Shapes",MENAD%(4),"L")
PF(�addtomenu(0,"Special",MENAD%(8),"")
PP%�addtomenu(0,"Edit",MENAD%(9),"")
PZ,�addtomenu(0,"Manipulate",MENAD%(7),"L")
Pd%�addtomenu(0,"Zoom",MENAD%(3),"")
Pn%�addtomenu(0,"Grid",MENAD%(5),"")
Px*�addtomenu(0,"Options",MENAD%(10),"F")
P�
P��
P�
P�%ݤfontroot(F$):� �F$,".")=0 � =F$
P�LIPF%=1:IPF$="":ȕ �F$,IPF%,1)<>".":IPF$=IPF$+�F$,IPF%,1):IPF%+=1:�:=IPF$
P�
P�&� ** Create a menu (Number, Title)
P���buildmenu(MN%,MT$)
P�,MENAD%(MN%)=MENU%+MEOF%:TAD%=MENU%+MEOF%
P�T$TAD%=MT$:TAD%?12=7:TAD%?13=2:TAD%?14=7:TAD%?15=0:TAD%!16=0:TAD%!20=44:TAD%!24=0
P�
MEOF%+=28
P�A� MEOF%>8*1024 � �message(0,"Menu tree has run out of room.")
P��
Q
Q3� ** Feature format : L = Follow by dotted line
Q'� **                : F = Last item
Q" ��addtomenu(MN%,IT$,HA%,FE$)
Q,TAD%=MENU%+MEOF%
Q6	FE%=0
Q@� �FE$,"L") � FE%+=2
QJ� �FE$,"F") � FE%+=128
QT
!TAD%=FE%
Q^,� HA%>-1 � HA%<&8000 � TAD%!4=HAND%(HA%)
Qh� HA%=-1 � TAD%!4=-1
Qr� HA%>&8000 � TAD%!4=HA%
Q|TAD%!8=1 � (7<<24) � 256
Q�$(MENUIND%+MEIN%)=IT$
Q�ILE%=�(IT$)+1
Q�*� (ILE% � 4)>0 � ILE%=((ILE% � 4)+1)*4
Q�TAD%!12=MENUIND%+MEIN%
Q�TAD%!20=�(IT$)
Q�TAD%!16=MENALO%
Q�MEIN%+=ILE%
Q�F� MEIN%>(8*1024) � �message(1,"Menu indirection buffer overflow.")
Q�
MEOF%+=24
Q�B� MEOF%>(8*1024) � �message(0,"Menu tree has run out of room")
Q�G� ((MENAD%(MN%)!16)-32)<(�(IT$)*16) � MENAD%(MN%)!16=(�(IT$)*16)+32
Q��
Q�
RS��shadeitem(MN%,IN%):TAD%=MENAD%(MN%)+28+((IN%-1)*24):TAD%!8=(TAD%!8)+(1<<22):�
R
RJ��tickitem(MN%,IN%):TAD%=MENAD%(MN%)+28+((IN%-1)*24):!TAD%=(!TAD%)+1:�
R&
R0��menu:ș6,229
R:4ș "Wimp_GetPointerInfo",,BLK%+128:MBU%=BLK%!136
RD1ș "Wimp_DecodeMenu",,MENAD%(MENO%),BLK%,SEL%
RN
DSI%=�
RX� VDU4:PRINT $SEL%:VDU5
RbSEL$=$SEL%
RlV� $SEL%="Quit" � �killf:FUSE%=-1:�windname(2,PIC$):�forcedrawmain:� �quityn � �die
RvD� $SEL%="Paint" � DSI%=�:�killf:FUSE%=-1:�help:�windname(2,PIC$)
R�2� $SEL%="Paint.Show palette" � DSI%=�:�openpal
R�V� $SEL%="Paint.Pixels" � DSI%=�:�killf:FUSE%=0:�help:�windname(2,PIC$+" [pixels]")
R�^� $SEL%="Paint.Sketch" � DSI%=�:�killf:FUSE%=1:FUST%=0:�help:�windname(2,PIC$+" [sketch]")
R�h� $SEL%="Paint.Rubber line" � DSI%=�:�killf:FUSE%=2:FUST%=0:�help:�windname(2,PIC$+" [rubber line]")
R�m� $SEL%="Grid.Show grid" � DSI%=�:GRCO%=PALTAB%?(COL%*2):GRTI%=PALTAB%?((COL%*2)+1):�forcedrawmain:� �p|R
R�D� $SEL%="Grid.Hide grid" � DSI%=�:GRCO%=-1:�forcedrawmain:� �p|R
R�-� $SEL%="Zoom" � DSI%=�:ZOOM%=1:�zoomsize
R��L%=2 � 16
R�H� $SEL%="Zoom.Zoom x"+�L% � DSI%=�:ZOOM%=L%:�zoomsize:�forcedrawmain
R��
R�r� $SEL%="Paint.Airbrush..." � �killf:DSI%=�:�openwind(4):FUSE%=3:FUST%=0:�help:�windname(2,PIC$+" [airbrush]")
R�v� $SEL%="Paint.Paintbrush..." � �killf:DSI%=�:�openwind(5):FUSE%=4:FUST%=0:�help:�windname(2,PIC$+" [paintbrush]")
R�o� $SEL%="Shapes.Wire rectangle" � DSI%=�:�killf:FUSE%=5:FUST%=0:�help:�windname(2,PIC$+" [wire rectangle]")
Sq� $SEL%="Shapes.Solid rectangle" � DSI%=�:�killf:FUSE%=6:FUST%=0:�help:�windname(2,PIC$+" [solid rectangle]")
S3� $SEL%="Grid.Grid lock" � DSI%=�:GRLO%=� GRLO%
SY� $SEL%="Grid.Preset grids.2x2 grid" � DSI%=�:GRWI%=2:GRHE%=2:�setgric:�forcedrawmain
S Y� $SEL%="Grid.Preset grids.3x3 grid" � DSI%=�:GRWI%=3:GRHE%=3:�setgric:�forcedrawmain
S*Y� $SEL%="Grid.Preset grids.4x4 grid" � DSI%=�:GRWI%=4:GRHE%=4:�setgric:�forcedrawmain
S4Y� $SEL%="Grid.Preset grids.6x6 grid" � DSI%=�:GRWI%=6:GRHE%=6:�setgric:�forcedrawmain
S>Y� $SEL%="Grid.Preset grids.8x8 grid" � DSI%=�:GRWI%=8:GRHE%=8:�setgric:�forcedrawmain
SH]� $SEL%="Grid.Preset grids.16x16 grid" � DSI%=�:GRWI%=16:GRHE%=16:�setgric:�forcedrawmain
SR]� $SEL%="Grid.Preset grids.32x32 grid" � DSI%=�:GRWI%=32:GRHE%=32:�setgric:�forcedrawmain
S\]� $SEL%="Grid.Preset grids.32x16 grid" � DSI%=�:GRWI%=32:GRHE%=16:�setgric:�forcedrawmain
Sfi� $SEL%="Shapes.Wire circle" � DSI%=�:�killf:FUSE%=7:FUST%=0:�help:�windname(2,PIC$+" [wire circle]")
Spk� $SEL%="Shapes.Solid circle" � DSI%=�:�killf:FUSE%=8:FUST%=0:�help:�windname(2,PIC$+" [solid circle]")
Szm� $SEL%="Shapes.Wire triangle" � DSI%=�:�killf:FUSE%=9:FUST%=0:�help:�windname(2,PIC$+" [wire triangle]")
S�p� $SEL%="Shapes.Solid triangle" � DSI%=�:�killf:FUSE%=10:FUST%=0:�help:�windname(2,PIC$+" [solid triangle]")
S�l� $SEL%="Shapes.Wire ellipse" � DSI%=�:�killf:FUSE%=11:FUST%=0:�help:�windname(2,PIC$+" [wire ellipse]")
S�n� $SEL%="Shapes.Solid ellipse" � DSI%=�:�killf:FUSE%=12:FUST%=0:�help:�windname(2,PIC$+" [solid ellipse]")
S�x� $SEL%="Shapes.Wire parallelogram" � DSI%=�:�killf:FUSE%=13:FUST%=0:�help:�windname(2,PIC$+" [wire parallelogram]")
S�z� $SEL%="Shapes.Solid parallelogram" � DSI%=�:�killf:FUSE%=14:FUST%=0:�help:�windname(2,PIC$+" [solid parallelogram]")
S�d� $SEL%="Shapes.Wire arc" � DSI%=�:�killf:FUSE%=15:FUST%=0:�help:�windname(2,PIC$+" [wire arc]")
S�k� $SEL%="Shapes.Solid sector" � DSI%=�:�killf:FUSE%=16:FUST%=0:�help:�windname(2,PIC$+" [wire sector]")
S�m� $SEL%="Shapes.Solid segment" � DSI%=�:�killf:FUSE%=17:FUST%=0:�help:�windname(2,PIC$+" [wire segment]")
SԂ� $SEL%="Manipulate.Move area..." � DSI%=�:�killf:�spinit:FUSE%=18:FUST%=0:�help:�openwind(8):�windname(2,PIC$+" [move area]")
Sނ� $SEL%="Manipulate.Copy area..." � DSI%=�:�killf:�spinit:FUSE%=19:FUST%=0:�help:�openwind(8):�windname(2,PIC$+" [copy area]")
S�v� $SEL%="Manipulate.Mirror area" � DSI%=�:�killf:�spinit:FUSE%=20:FUST%=0:�help:�windname(2,PIC$+" [mirror area]")
S�v� $SEL%="Manipulate.Invert area" � DSI%=�:�killf:�spinit:FUSE%=21:FUST%=0:�help:�windname(2,PIC$+" [invert area]")
S�l� $SEL%="Manipulate.Strip area" � DSI%=�:�killf:FUSE%=22:FUST%=0:�help:�windname(2,PIC$+" [strip area]")
T�� $SEL%="Manipulate.Scale to fit..." � DSI%=�:�killf:FUSE%=23:FUST%=0:FUCO%=0:�help:�openwind(8):�windname(2,PIC$+" [scale to fit]")
T:� $SEL%="Paint.Unset transparents" � DSI%=�:�unsetrasp
T6� $SEL%="Paint.Set transparents" � DSI%=�:�setrasp
T$W� $SEL%="Special.Trace" � DSI%=�:�killf:FUSE%=24:�help:�windname(2,PIC$+" [trace]")
T.0� $SEL%="Options.Help" � DSI%=�:�openwind(9)
T8�� $SEL%="Manipulate.Pixel mapping" � DSI%=�:�killf:FUSE%=25:FUST%=0:FUCO%=1:�help:�windname(2,PIC$+" [pixel mapping]"):OX%=-1:OY%=-1
TBK� ---------------------------------------------------------------------
TL9� SEL$="Paint.Line style.Solid line" � DSI%=�:LITY%=5
TVF� SEL$="Paint.Line style.Line pattern.Restarted" � DSI%=�:LITY%=21
T`G� SEL$="Paint.Line style.Line pattern.Continuous" � DSI%=�:LITY%=53
TjB� SEL$="Paint.Line style.Overwrite" � DSI%=�:USE%=(USE% � 112)
Tt=� SEL$="Paint.Line style.OR" � DSI%=�:USE%=(USE% � 112)+1
T~>� SEL$="Paint.Line style.AND" � DSI%=�:USE%=(USE% � 112)+2
T�>� SEL$="Paint.Line style.EOR" � DSI%=�:USE%=(USE% � 112)+3
T�A� SEL$="Paint.Line style.Invert" � DSI%=�:USE%=(USE% � 112)+4
T�?� SEL$="Paint.Line style.NAND" � DSI%=�:USE%=(USE% � 112)+6
T�>� SEL$="Paint.Line style.NOR" � DSI%=�:USE%=(USE% � 112)+7
T��� SEL$="Paint.Line style.ECF 1" � (USE% � 112)=16 � DSI%=�:USE%=(USE% � 15) � � SEL$="Paint.Line style.ECF 1" � DSI%=�:USE%=(USE% � 15)+16
T��� SEL$="Paint.Line style.ECF 2" � (USE% � 112)=32 � DSI%=�:USE%=(USE% � 15) � � SEL$="Paint.Line style.ECF 2" � DSI%=�:USE%=(USE% � 15)+32
T� SEL$="Paint.Line style.ECF 3" � (USE% � 112)=48 � DSI%=�:USE%=(USE% � 15) � � SEL$="Paint.Line style.ECF 3" � DSI%=�:USE%=(USE% � 15)+48
TΎ� SEL$="Paint.Line style.ECF 4" � (USE% � 112)=64 � DSI%=�:USE%=(USE% � 15) � � SEL$="Paint.Line style.ECF 4" � DSI%=�:USE%=(USE% � 15)+64
Tؖ� SEL$="Paint.Line style.Giant ECF" � (USE% � 112)=80 � DSI%=�:USE%=(USE% � 15) � � SEL$="Paint.Line style.Giant ECF" � DSI%=�:USE%=(USE% � 15)+80
T�K� ---------------------------------------------------------------------
T�c� SEL$="Paint.Fill.Flood fill" � DSI%=�:�killf:FUSE%=26:�help:�windname(2,PIC$+" [Flood fill]")
T�j� SEL$="Special.Smudge area" � DSI%=�:�killf:FUSE%=27:FUST%=0:�help:�windname(2,PIC$+" [Smudge area]")
Uf� SEL$="Special.Tint area" � DSI%=�:�killf:FUSE%=28:FUST%=0:�help:�windname(2,PIC$+" [Tint area]")
U
$� $SEL%="Special.Wet brush..." �
U��killf:DSI%=�:�openwind(5):FUSE%=29:FUST%=0:�help:�windname(2,PIC$+" [Wet brush]"):�spinit:�spbuf(145*1024):� Q% � �spbuferr � �backuppic
U�
U(%� $SEL%="Special.Tint brush..." �
U2��killf:DSI%=�:�openwind(5):FUSE%=30:FUST%=0:�help:�windname(2,PIC$+" [tint brush]"):�spinit:�spbuf(145*1024):� Q% � �spbuferr � �backuppic
U<�
UFQ� �($SEL%),5)="Text." � $SEL%<>"Text.Parameters" � $SEL%<>"Text.Background" �
UP4�killf:�spinit:�spbuf(145*1024):� Q% � �spbuferr
UZ$�backuppic:OX%=-1:OY%=-1:EFM%=-1
UduDSI%=�:FUSE%=32:FUST%=0:�openwind(14):�help:�windname(2,PIC$+" [Text]"):FO$=�$SEL%,�($SEL%)-5):�seticon(14,1,FO$)
Un;FONT%=0:�L%=0 � FONTS%:� FO$=FONT$(L%) � FONT%=L%:� � �
Ux�
U�D� $SEL%="Options.Mouse.X only.Very fast" � MMX%=4:ȗ � MMX%,MMY%
U�?� $SEL%="Options.Mouse.X only.Fast" � MMX%=3:ȗ � MMX%,MMY%
U�A� $SEL%="Options.Mouse.X only.Medium" � MMX%=2:ȗ � MMX%,MMY%
U�?� $SEL%="Options.Mouse.X only.Slow" � MMX%=1:ȗ � MMX%,MMY%
U�D� $SEL%="Options.Mouse.Y only.Very fast" � MMY%=4:ȗ � MMX%,MMY%
U�?� $SEL%="Options.Mouse.Y only.Fast" � MMY%=3:ȗ � MMX%,MMY%
U�A� $SEL%="Options.Mouse.Y only.Medium" � MMY%=2:ȗ � MMX%,MMY%
U�?� $SEL%="Options.Mouse.Y only.Slow" � MMY%=1:ȗ � MMX%,MMY%
U�I� $SEL%="Options.Mouse.Both.Very fast" � MMY%=4:MMX%=4:ȗ � MMX%,MMY%
U�D� $SEL%="Options.Mouse.Both.Fast" � MMY%=3:MMX%=3:ȗ � MMX%,MMY%
U�F� $SEL%="Options.Mouse.Both.Medium" � MMY%=2:MMX%=2:ȗ � MMX%,MMY%
U�D� $SEL%="Options.Mouse.Both.Slow" � MMY%=1:MMX%=1:ȗ � MMX%,MMY%
U�)� $SEL%="Special.Colour replace..." �
Vy�killf:DSI%=�:�openwind(18):FUSE%=33:FUST%=0:�spinit:�spbuf(24*1024):� Q% � FUSE%=-1:�closewind(18):�spinit:�spbuferr
V�ș "Hourglass_On":�L%=0 � 22596 � 4:SPBUF%!L%=OPAL%!L%:�:�L%=0 � 255:REPS%?L%=L%:�:ș "Hourglass_Off":�windname(2,PIC$+" [Colour replace]"):�help
V�
V"�� $SEL%="File.Export" � �killf:�seticon(7,1,"Export"):DSI%=�:FUSE%=35:FUST%=0:�help:�spinit:�windname(2,PIC$+" [Export]"):�openwind(8)
V,�� $SEL%="Paint.Fill.Pattern fill" � �killf:�windname(2,PIC$+" [Pattern fill]"):DSI%=�:FUSE%=37:FUST%=0:�help:�spinit:�openwind(20)
V6�� $SEL%="Special.RGB control..." � �killf:�windname(2,PIC$+" [RGB control]"):DSI%=�:FUSE%=38:FUST%=0:�help:�spinit:�openwind(21)
V@�� $SEL%="Special.Grey scale..." � �killf:�windname(2,PIC$+" [Grey scale]"):DSI%=�:FUSE%=39:FUST%=0:�help:�spinit:�openwind(22)
VJ~� $SEL%="Special.Pixelate..." � �killf:�windname(2,PIC$+" [Pixelate]"):DSI%=�:FUSE%=40:FUST%=0:�help:�spinit:�openwind(23)
VT}� $SEL%="Manipulate.Rotate..." � �killf:�windname(2,PIC$+" [Rotate]"):DSI%=�:FUSE%=41:FUST%=0:�help:�spinit:�openwind(24)
V^U� $SEL%="Options.Wipe picture" � �killf:�windname(2,PIC$):FUSE%=-1:�help:�wipepic
Vh8� $SEL%="Options.Cursor keys" � KUKE%=� KUKE%:DSI%=�
Vr� DSI% � MBU%=1 � �windmenu
V|�
V�
V�
��wipepic
V�C!IO%=5:$(IO%+4)="Are you sure you want to wipe the picture?"+�0
V�9ș "Wimp_ReportError",IO%,%11011,"!Archrome"+�0 � ,R%
V�� R%=0 � � �pdV
V�� R%=2 � �
V�3�inpic:�26:�0,128 Ȝ 0:�:�outpic:�forcedrawmain
V��
V�
V�ݤquityn
V�7!IO%=5:$(IO%+4)="Are you sure you want to quit?"+�0
V�9ș "Wimp_ReportError",IO%,%11011,"!Archrome"+�0 � ,R%
V�� R%=0 � � �`tV
W=(R%=1)
W
W��import
W&VA$=�getname:BLK%!12=BLK%!8:BLK%!16=4:!BLK%=64:ș "Wimp_SendMessage",17,BLK%,BLK%!4
W06�killf:FUSE%=34:FUST%=0:�openwind(8):�help:�spinit
W:F%=�(A$):IMS%=�#F%:�#F%
WDC�spbuf(IMS%+64):� Q% � FUSE%=-1:�closewind(8):�spinit:�spbuferr
WNdș&2E,266,SPBUF%,A$:ș&2E,269,SPBUF%,IO%,16,1 � ,,,L%:IMP$="":�K%=0 � L%-1:IMP$=IMP$+�(IO%?K%):�
WX.ș&2E,296,SPBUF%,IMP$ � ,,,IMW%,IMH%,,IMM%
Wbș&35,IMM%,4 � ,,E%
Wl
PWI%=2^E%
Wv!SX%=2^(E%-1):!IO%=SX%:IO%!8=1
W�IO%!4=1:IO%!12=1
W�'L%=(SPBUF%+(SPBUF%!8)):� L%!32=44 �
W�IMPA%=0
W��
W�CIMPA%=L%+44:K%=48:I%=52:ȕ I%<(L%!32):L%!K%=L%!I%:I%+=8:K%+=4:�
W��
W�V� IMM%<>15 � IMPA%<>0 � ș&40740,IMM%,IMPA%,15,0,PIXTAB2%:IMPT%=PIXTAB2% � IMPT%=0
W�,�windname(2,PIC$+" [Import '"+IMP$+"']")
W�IMH%=IMH%*4:IMW%=IMW%*PWI%
W�
GRN$=IMP$
W��
W�
W���fillcontclick
X� MOUIC%<>8 � �
XGRFN%=-1
X� �high(17,1) � GRFN%=0
X � �high(17,2) � GRFN%=1
X*� �high(17,3) � GRFN%=2
X4� �high(17,4) � GRFN%=3
X>� �high(17,5) � GRFN%=4
XHF� GRFN%=-1 � �message(0,"You must select a fill sequence to use.")
XR� FUSE%=31 �
X\� GRTY%=1 � �killf
Xf�
XpGRTY%=-1
Xz� �high(17,6) � GRTY%=0
X�#� �high(17,7) � GRTY%=1:FUST%=0
X�G� GRTY%=-1 � �message(0,"You must select the type of fill to use.")
X�g�killf:FUSE%=31:FUST%=0:�help:�windname(2,PIC$+" [Graduated fill ("+�filldet(GRFN%+1)+")]"):�spinit
X�� MOUB%=4 � �menoff
X��
X�
X�!��unsetrasp:ș "Hourglass_On"
X��L%=0 � 255
X�� TRASP%?L%=1 � �trasp(L%)
X��
X�*�forcedrawpal(PAL%):ș "Hourglass_Off"
X��
X�
Y��setrasp:ș "Hourglass_On"
Y�L%=0 � 255
Y� TRASP%?L%=0 � �trasp(L%)
Y$�
Y.*�forcedrawpal(PAL%):ș "Hourglass_Off"
Y8�
YB
YL��spinit
YV
�spbuf(0)
Y`�
Yj
Yt
��setgric
Y~�seticon(6,4,�GRWI%)
Y��seticon(6,5,�GRHE%)
Y�^GRBX%=�(�geticon(6,12)):� GRBX%>GRWI% � �:GRBX%-=GRWI%:� GRBX%<GRWI%:�seticon(6,12,�GRBX%)
Y�^GRBY%=�(�geticon(6,13)):� GRBY%>GRHE% � �:GRBY%-=GRHE%:� GRBY%<GRHE%:�seticon(6,13,�GRBY%)
Y��
Y�
Y���zoomsize
Y�>!BLK%=HAND%(2):ș "Wimp_GetWindowState",,BLK%:WIF%=BLK%!28
Y�.!BLK%=HAND%(2):ș "Wimp_CloseWindow",,BLK%
Y�[!BLK%=0:BLK%!4=-936*ZOOM%:BLK%!8=1236*ZOOM%:BLK%!12=0:ș "Wimp_SetExtent",HAND%(2),BLK%
Y�0!BLK%=HAND%(2):ș "Wimp_GetWindowInfo",,BLK%
Y�-BLK%!28=WIF%:ș "Wimp_OpenWindow",,BLK%:�
Y�
ZLݤgstr(AD%):W$="":� ?AD%<32 � =W$ � �:W$=W$+�(?AD%):AD%+=1:� ?AD%<32:=W$
Z

Zjݤgeticon(WH%,IC%):!ICBLK%=HAND%(WH%):ICBLK%!4=IC%:ș "Wimp_GetIconState",,ICBLK%:=�gstr(!(ICBLK%+28))
Z
Z(���seticon(WH%,IC%,SET$):!ICBLK%=HAND%(WH%):ICBLK%!4=IC%:ș "Wimp_GetIconState",,ICBLK%:ICBLK%!8=0:ICBLK%!12=0:$(ICBLK%!28)=SET$:ș "Wimp_SetIconState",,ICBLK%:�
Z2
Z<qݤhigh(WH%,IC%):!ICBLK%=HAND%(WH%):ICBLK%!4=IC%:ș "Wimp_GetIconState",,ICBLK%:=((?(ICBLK%+26)) � %100000)=32
ZF
ZP��shadeicon(WH%,IC%)
ZZ#!ICBLK%=HAND%(WH%):ICBLK%!4=IC%
Zd8ICBLK%!8=%10000000000000000000000:ICBLK%!12=ICBLK%!8
Zn"ș "Wimp_SetIconState",,ICBLK%
Zx�
Z�
Z���clearicon(WH%,IC%)
Z�#!ICBLK%=HAND%(WH%):ICBLK%!4=IC%
Z�1ICBLK%!8=0:ICBLK%!12=%10000000000000000000000
Z�"ș "Wimp_SetIconState",,ICBLK%
Z��
Z�
Z�\��point:ș "Wimp_GetPointerInfo",,POI%:MOX%=!POI%:MOY%=POI%!4:MOB%=POI%!8:MOH%=POI%!12:�
Z�
Z܎��windname(WH%,SET$):!BLK%=HAND%(WH%):ș "Wimp_GetWindowState",,BLK%:WIF%=BLK%!28:ș "Wimp_GetWindowInfo",,BLK%:ș"Wimp_CloseWindow",,BLK%
Z�CAD%=BLK%!76:BLK%!28=WIF%:$AD%=SET$:ș "Wimp_OpenWindow",,BLK%:�
Z�
Z�
��dragfin
[:F$=�geticon(DRAG%,1):T$="":� �F$,".")=0 � T$=F$:� �Pb[
[� �F$,1)="." � T$="":� �Pb[
[4K%=�(F$):�:T$=�F$,K%,1)+T$:K%-=1:� �F$,K%,1)="."
[""ș "Wimp_GetPointerInfo",,POI%
[,�POI%!20=64:POI%!32=0:POI%!36=1:POI%!40=POI%!12:POI%!44=POI%!16:POI%!48=!POI%:POI%!52=POI%!4:POI%!56=2048:POI%!60=&556:$(POI%+64)=T$
[64ș "Wimp_SendMessage",17,POI%+20,POI%!12,POI%!16
[@�
[J
[T��startdrag
[^%ș "Wimp_GetWindowState",,BLK%+12
[hCX%=BLK%!16:Y%=BLK%!28:BLK%!16=0:ș "Wimp_GetIconState",,BLK%+12
[r)BLK%!16=5:BLK%!20+=X%-2:BLK%!24+=Y%-4
[|BLK%!28+=X%+2:BLK%!32+=Y%
[�XBLK%!36=0:BLK%!40=0:BLK%!44=&7FFFFFFF:BLK%!48=&7FFFFFFF:ș "Wimp_DragBox",,BLK%+12:�
[�
[���inmessage(M%)
[�Ȏ M% �
[�� 0:�die
[�� 2:�dragsave
[�(� 5:� BLK%!12=0 � BLK%!40=&556 �load
[�O� 3:� BLK%!12=0 � BLK%!40=&556 �load � � BLK%!12=0 � BLK%!40=&FF9 � �import
[��:�
[�
[�h��saveok:A$=�geticon(0,1):� �A$,".")=0 � �message(4,"To save, drag the icon to a directory viewer.")
[�� ** SAVE ROUTINE HERE **
[�
� �@N\
\�
\!��dragsave:A$=�getname:�killf
\� DRAG%=7 � � �pJ\
\&�seticon(0,1,A$)
\0ș "Wimp_CreateMenu",-1
\:SBLK%!12=BLK%!8:BLK%!16=3:!BLK%=64:ș "Wimp_SendMessage",17,BLK%,BLK%!20,BLK%!24
\D� ** SAVE ROUTINE HERE **
\N%�killf:FUSE%=-1:ș&2E,268,PIC%,A$
\X�("SETTYPE "+A$+" 556")
\b$PIC$=�leaf(A$):�windname(2,PIC$)
\l�
\v
\�n��spritesaveok:A$=�geticon(7,1):� �A$,".")=0 � �message(4,"To save, drag the icon to a directory viewer.")
\��seticon(7,1,A$)
\�ș "Wimp_CreateMenu",-1
\�SBLK%!12=BLK%!8:BLK%!16=3:!BLK%=64:ș "Wimp_SendMessage",17,BLK%,BLK%!20,BLK%!24
\�� ** SAVE ROUTINE HERE **
\�.� �(�leaf(A$))>10 � �message(9,"Bad name")
\�x� FUSE%=35 � ș&2E,282,SPBUF%,"GRAB",�leaf(A$):ș&2E,268,SPBUF%,A$:FUST%=0:�closewind(7):�spinit � ș&2E,268,PIC%,A$
\��
\�
\�Kݤgetname:W$="":P%=BLK%+44:ȕ ?P%<>0 � ?P%<>13:W$=W$+�(?P%):P%+=1:�:=W$
\�
\�
��load
\�VA$=�getname:BLK%!12=BLK%!8:BLK%!16=4:!BLK%=64:ș "Wimp_SendMessage",17,BLK%,BLK%!4
]�seticon(0,1,A$)
]� ** LOAD ROUTINE HERE **
]�killf:FUSE%=-1
]  �("LOAD "+A$+" "+�~(PIC%+4))
]*
�killf
]4$PIC$=�leaf(A$):�windname(2,PIC$)
]>�forcedrawmain
]H�
]R
]\��chars
]f�23,248,0,0,0,255,255,0,0,0
]p#�23,249,0,0,126,255,255,126,0,0
]z%�23,250,0,60,126,255,255,126,60,0
]�)�23,251,60,126,255,255,255,255,126,60
]�'�23,252,24,60,126,126,126,126,60,24
]�#�23,253,24,60,60,60,60,60,60,24
]�#�23,254,24,24,24,24,24,24,24,24
]��
]�
]���backuppic
]�!VARS=PIC%
]�VARS!4=SPBUF%
]�A%=VARS
]�� backuppic
]��
]�
^��fillmask
^VARS!8=SPBUF%
^VARS!12=TRASP%
^$VARS!16=BTC%
^.A%=VARS
^8� fillmask
^B�
^L
^Vݤleaf(F$)
^`� �F$,".")=0 � =F$
^j	T$=""
^tLP%=�F$
^~ȕ �F$,LP%,1)<>"."
^�T$=�F$,LP%,1)+T$
^�
LP%-=1
^��
^�=T$
^�
^���spbuf(BS%)
^�+� BS%=0 � ș "Wimp_SlotSize",CUSL%,-1:�
^�#ș "Wimp_SlotSize",CUSL%+BS%,-1
^�#ș "Wimp_SlotSize",-1,-1 � SPL%
^�L� SPL%<(CUSL%+BS%) � ș "Wimp_SlotSize",CUSL%,-1:SPNE%=BS%:Q%=�:� � Q%=�
^�!SPBUF%=BS%
^�SPBUF%!8=16
_ș&2E,265,SPBUF%
_
SPSIZ%=BS%
_�
_
_(|��spbuferr:�killf:FUST%=-1:FUSE%=-1:�windname(2,PIC$):�message(0,"No room to store sprite. ("+�(SPNE%)+" bytes needed)")
_2
_<ݤspritesize(DX%,DY%,PL%)
_F!DX%=�(DX%) � 2:DY%=�(DY%) � 4
_P'� (DX% � 4)>0 � DX%=((DX% � 4)+1)*4
_ZDX%+=16
_d=(DX%*DY%*(PL%+1))+1024
_n
_x
��help
_�6�seticon(9,0,""):�seticon(9,1,""):�seticon(9,2,"")
_�Ȏ FUSE% �
_�� 0:
_�\�seticon(9,0,"Click SELECT over a pixel to change its colour to the currently selected")
_��seticon(9,1,"one.")
_�� 1:
_�]�seticon(9,0,"Hold down SELECT while moving the mouse to draw freehand in the currently")
_�$�seticon(9,1,"selected colour.")
_�� 2:
_�\�seticon(9,0,"Point to the start of the line and click SELECT, point to the end of the")
_�Y�seticon(9,1,"line and click SELECT again to fix. Clicking ADJUST will allow you to")
_�5�seticon(9,2,"reposition the start of the line.")
_�� 3:
`X�seticon(9,0,"Set the density and spread with the control window then click on the")
`=�seticon(9,1,"picture to spray with the current colour.")
`� 4:
`"W�seticon(9,0,"Set the brush shape and scale with the control window then click on")
`,)�seticon(9,1,"the picture to paint.")
`6� 5:
`@Z�seticon(9,0,"Point to one corner of the rectangle and click. Move to the diagonally")
`JY�seticon(9,1,"oposite corner and click again to fix. Clicking ADJUST will allow you")
`T3�seticon(9,2,"to reposition the first corner.")
`^� 6:
`hZ�seticon(9,0,"Point to one corner of the rectangle and click. Move to the diagonally")
`rY�seticon(9,1,"oposite corner and click again to fix. Clicking ADJUST will allow you")
`|3�seticon(9,2,"to reposition the first corner.")
`�� 7:
`�Y�seticon(9,0,"Point to the centre of the circle and click. Move to any point on the")
`�_�seticon(9,1,"circumfrence to set the size and click again to fix. Clicking ADJUST allows")
`�7�seticon(9,2,"you to reposition the centre point.")
`�� 8:
`�Y�seticon(9,0,"Point to the centre of the circle and click. Move to any point on the")
`�_�seticon(9,1,"circumfrence to set the size and click again to fix. Clicking ADJUST allows")
`�7�seticon(9,2,"you to reposition the centre point.")
`�� 9:
`�\�seticon(9,0,"Point to the first vertex and click. Move to the second vertex and click")
`�\�seticon(9,1,"again. Move to the final one and click again to fix. ADJUST will let you")
`� �seticon(9,2,"start again.")
`�	� 10:
a\�seticon(9,0,"Point to the first vertex and click. Move to the second vertex and click")
a\�seticon(9,1,"again. Move to the final one and click again to fix. ADJUST will let you")
a �seticon(9,2,"start again.")
a&	� 11:
a0[�seticon(9,0,"Point to the centre and click. Move to a point along the major axis and")
a:\�seticon(9,1,"click. Move to set the size and click again to fix. ADJUST allows you to")
aD �seticon(9,2,"start again.")
aN	� 12:
aX[�seticon(9,0,"Point to the centre and click. Move to a point along the major axis and")
ab\�seticon(9,1,"click. Move to set the size and click again to fix. ADJUST allows you to")
al �seticon(9,2,"start again.")
av	� 13:
a�[�seticon(9,0,"Point to first corner and click. Move to second corner and click again.")
a�[�seticon(9,1,"Move to third corner to set size and click to fix. ADJUST allows you to")
a� �seticon(9,2,"start again.")
a�	� 14:
a�[�seticon(9,0,"Point to first corner and click. Move to second corner and click again.")
a�[�seticon(9,1,"Move to third corner to set size and click to fix. ADJUST allows you to")
a� �seticon(9,2,"start again.")
a�	� 15:
a�a�seticon(9,0,"Point to centre of arc and click. Move to a point on the arc and click again.")
a�_�seticon(9,1,"Move to set the degree of the arc and click again to fix. ADJUST allows you")
a�#�seticon(9,2,"to start again.")
a�	� 16:
a�`�seticon(9,0,"Point to centre of sector and click. Move to start point on the circumfrence")
ba�seticon(9,1,"and click again. Move to set the degree and click again to fix. ADJUST allows")
b'�seticon(9,2,"you to start again.")
b	� 17:
b ]�seticon(9,0,"Point to centre of segment and click. Move to start point on circumfrence")
b*_�seticon(9,1,"and click again. Move to set segment and click to fix. ADJUST allows you to")
b4 �seticon(9,2,"start again.")
b>	� 18:
bHa�seticon(9,0,"Point to lower-left corner of source area and click. Move to top-right corner")
bR`�seticon(9,1,"and click to cut area. Move to position and click to paste. The transparency")
b\(�seticon(9,2,"flags are used here.")
bf	� 19:
bpa�seticon(9,0,"Point to lower-left corner of source area and click. Move to top-right corner")
bza�seticon(9,1,"and click to copy area. Move to position and click to paste. The transparency")
b�(�seticon(9,2,"flags are used here.")
b�	� 20:
b�^�seticon(9,0,"Point to lower-left corner of area and click. Move to top-right corner and")
b�P�seticon(9,1,"click again to mirror. The transparency flags are used here.")
b�	� 21:
b�^�seticon(9,0,"Point to lower-left corner of area and click. Move to top-right corner and")
b�P�seticon(9,1,"click again to invert. The transparency flags are used here.")
b�	� 22:
b�_�seticon(9,0,"Point to lower-left corner of area to preserve and click. Move to top-right")
b�E�seticon(9,1,"corner and click again to strip surrounding area.")
b�	� 23:
b�a�seticon(9,0,"Point to lower-left corner of source area and click. Move to top-right corner")
b�^�seticon(9,1,"and click to fix. Do the same for destination area. The transparency flags")
c"�seticon(9,2,"are used here.")
c	� 24:
cY�seticon(9,0,"Point to a pixel to the right of and adjacent to the colour to trace.")
c$9�seticon(9,1,"Click to trace in the current colour.")
c.	� 25:
c8`�seticon(9,0,"Point to the first vertex of the source area and click. Repeat for the other")
cB`�seticon(9,1,"three vertices and for the four destination vertices. Clicking ADJUST at any")
cL4�seticon(9,2,"point allows you to start again.")
cV	� 26:
c`K�seticon(9,0,"Point inside the totally closed area to fill and click.")
cj	� 27:
ct]�seticon(9,0,"Point to one corner of the area and click. Move to the diagonally oposite")
c~6�seticon(9,1,"corner and click again to average.")
c�	� 28:
c�]�seticon(9,0,"Point to one corner of the area and click. Move to the diagonally oposite")
c�G�seticon(9,1,"corner and click again to tint with current colour.")
c�	� 29:
c�S�seticon(9,0,"Set brush shape with control pannel. Move to position and click")
c�<�seticon(9,1,"to use. The brush scale is ignored here.")
c�	� 30:
c�S�seticon(9,0,"Set brush shape with control pannel. Move to position and click")
c�<�seticon(9,1,"to use. The brush scale is ignored here.")
c�	� 31:
c�\�seticon(9,0,"Set fill parameters with control box then click inside a totally bounded")
c�!�seticon(9,1,"area to fill.")
d	� 32:
d
R�seticon(9,0,"Set point sizes and style from control window and click on OK.")
d;�seticon(9,1,"Move text to position and click to fix.")
d	� 33:
d([�seticon(9,0,"Set up colour transformation with colour window then define rectangular")
d2;�seticon(9,1,"area with last click to change colours.")
d<	� 34:
dFS�seticon(9,0,"Set orientation and scale with control window and click to fix.")
dP	� 35:
dZ]�seticon(9,0,"Grab rectangle by lower-left and upper-right corners then use save window")
dd%�seticon(9,1,"as usual to save.")
dn	� 36:
dx4�seticon(9,0,"Position frame and click to fix.")
d�	� 37:
d�\�seticon(9,0,"Select pattern from window and click in a totally enclosed area to fill.")
d�	� 38:
d�[�seticon(9,0,"Set Red, Green and Blue percentages with the control window then define")
d�W�seticon(9,1,"the rectangle to be changed by clicking bottom left then top right.")
d�<�seticon(9,2,"Transparent colours will not be changed.")
d�	� 39:
d�Z�seticon(9,0,"Set weights for Red, Green and Blue components with the control window")
d�^�seticon(9,1,"then define the rectangle to shade by clicking bottom left then top right.")
d�<�seticon(9,2,"Transparent colours will not be changed.")
d�	� 40:
d�[�seticon(9,0,"Set the X and Y resolutions for pixelation with the control window then")
d�\�seticon(9,1,"define the rectangle to pixelate by clicking bottom left then top right.")
e	� 41:
eZ�seticon(9,0,"Define the rectangle to rotate by clicking bottom left then top right.")
eL�seticon(9,1,"Rotate area with the control window and click to rotate.")
e";�seticon(9,2,"Transparent colours will not be copied.")
e,�
e6�
�
00000000  0d 00 0a 1f f4 20 3e 3c  41 72 63 68 72 6f 6d 65  |..... ><Archrome|
00000010  24 44 69 72 3e 2e 21 52  75 6e 49 6d 61 67 65 0d  |$Dir>.!RunImage.|
00000020  00 0f 25 f4 20 43 6f 70  79 72 69 67 68 74 20 41  |..%. Copyright A|
00000030  72 63 68 69 6d 65 64 65  73 20 57 6f 72 6c 64 20  |rchimedes World |
00000040  31 39 39 31 0d 00 14 20  ee 20 85 20 ef 34 2c 37  |1991... . . .4,7|
00000050  3a f6 3a f1 3b 22 20 61  74 20 6c 69 6e 65 20 22  |:.:.;" at line "|
00000060  3b 9e 3a e0 0d 00 1e 46  c8 99 20 22 4f 53 5f 47  |;.:....F.. "OS_G|
00000070  65 74 45 6e 76 22 20 b8  20 41 24 3a e7 20 c2 41  |etEnv" . A$:. .A|
00000080  24 2c 31 29 3c 3e 22 20  22 20 8c 20 4c 46 24 3d  |$,1)<>" " . LF$=|
00000090  c1 41 24 2c a7 41 24 2c  22 22 22 20 22 29 2b 32  |.A$,.A$,""" ")+2|
000000a0  29 20 8b 20 4c 46 24 3d  22 22 0d 00 28 0a f2 73  |) . LF$=""..(..s|
000000b0  65 74 75 70 0d 00 32 0f  ee 20 85 20 f2 6d 61 6b  |etup..2.. . .mak|
000000c0  65 72 72 0d 00 3c 0b f2  61 63 74 69 6f 6e 0d 00  |err..<..action..|
000000d0  46 08 f2 64 69 65 0d 00  50 05 e0 0d 00 5a 0b dd  |F..die..P....Z..|
000000e0  f2 73 65 74 75 70 0d 00  64 96 de 20 50 4f 49 25  |.setup..d.. POI%|
000000f0  20 32 35 36 2c 54 41 53  25 20 32 30 30 30 2c 42  | 256,TAS% 2000,B|
00000100  4c 4b 25 20 31 30 30 30  2c 4d 45 4e 55 25 20 38  |LK% 1000,MENU% 8|
00000110  2a 31 30 32 34 2c 4d 45  4e 55 49 4e 44 25 20 38  |*1024,MENUIND% 8|
00000120  2a 31 30 32 34 2c 53 45  4c 25 20 32 35 36 2c 49  |*1024,SEL% 256,I|
00000130  43 42 4c 4b 25 20 32 35  36 2c 56 41 52 53 20 31  |CBLK% 256,VARS 1|
00000140  32 38 2c 4d 45 4e 41 44  25 28 33 30 30 29 2c 4d  |28,MENAD%(300),M|
00000150  45 4e 41 4c 4f 25 20 31  36 2c 43 4f 44 45 25 20  |ENALO% 16,CODE% |
00000160  36 2a 31 30 32 34 2c 49  4f 25 20 32 35 36 2c 54  |6*1024,IO% 256,T|
00000170  52 41 4e 53 54 41 42 25  20 32 35 36 0d 00 6e 1b  |RANSTAB% 256..n.|
00000180  4d 45 4f 46 25 3d 30 3a  4d 45 49 4e 25 3d 30 3a  |MEOF%=0:MEIN%=0:|
00000190  4d 42 55 53 25 3d a3 0d  00 78 13 24 4d 45 4e 41  |MBUS%=...x.$MENA|
000001a0  4c 4f 25 3d 22 41 20 2d  7e 22 0d 00 82 42 de 20  |LO%="A -~"...B. |
000001b0  50 49 43 25 20 31 34 35  2a 31 30 32 34 2c 53 43  |PIC% 145*1024,SC|
000001c0  41 4c 45 25 20 33 32 2c  50 49 58 54 41 42 25 20  |ALE% 32,PIXTAB% |
000001d0  32 35 36 2c 50 49 58 54  41 42 32 25 20 32 35 36  |256,PIXTAB2% 256|
000001e0  2c 58 25 28 38 29 2c 59  25 28 38 29 0d 00 8c 36  |,X%(8),Y%(8)...6|
000001f0  53 50 42 55 46 25 3d 93  3a 53 50 53 49 5a 25 3d  |SPBUF%=.:SPSIZ%=|
00000200  30 3a c8 99 20 22 57 69  6d 70 5f 53 6c 6f 74 53  |0:.. "Wimp_SlotS|
00000210  69 7a 65 22 2c 2d 31 2c  2d 31 20 b8 20 43 55 53  |ize",-1,-1 . CUS|
00000220  4c 25 0d 00 96 8f de 20  50 41 4c 25 20 32 32 36  |L%..... PAL% 226|
00000230  30 30 2c 4f 50 41 4c 25  20 32 32 36 30 30 2c 50  |00,OPAL% 22600,P|
00000240  41 4c 54 41 42 25 20 35  31 32 2c 42 54 43 25 20  |ALTAB% 512,BTC% |
00000250  32 35 36 2c 43 54 54 25  20 32 35 36 2c 54 54 42  |256,CTT% 256,TTB|
00000260  25 20 32 35 36 2c 52 4f  54 54 41 42 25 20 31 38  |% 256,ROTTAB% 18|
00000270  30 30 2c 52 41 4e 44 25  20 34 30 39 36 2c 50 46  |00,RAND% 4096,PF|
00000280  49 4c 4c 53 25 20 37 30  30 30 3a 21 50 41 4c 25  |ILLS% 7000:!PAL%|
00000290  3d 32 32 36 30 30 3a 21  4f 50 41 4c 25 3d 32 32  |=22600:!OPAL%=22|
000002a0  36 30 30 3a 21 50 46 49  4c 4c 53 25 3d 37 30 30  |600:!PFILLS%=700|
000002b0  30 0d 00 a0 20 de 20 42  52 55 53 48 25 20 31 33  |0... . BRUSH% 13|
000002c0  30 30 30 3a 21 42 52 55  53 48 25 3d 31 33 30 30  |000:!BRUSH%=1300|
000002d0  30 0d 00 aa 2d c8 99 26  32 45 2c 32 36 36 2c 42  |0...-..&2E,266,B|
000002e0  52 55 53 48 25 2c 22 3c  41 72 63 68 72 6f 6d 65  |RUSH%,"<Archrome|
000002f0  24 44 69 72 3e 2e 42 72  75 73 68 65 73 22 0d 00  |$Dir>.Brushes"..|
00000300  b4 2b c8 99 26 32 45 2c  32 36 36 2c 50 41 4c 25  |.+..&2E,266,PAL%|
00000310  2c 22 3c 41 72 63 68 72  6f 6d 65 24 44 69 72 3e  |,"<Archrome$Dir>|
00000320  2e 50 61 6c 65 74 74 65  22 0d 00 be 2c c8 99 26  |.Palette"...,..&|
00000330  32 45 2c 32 36 36 2c 4f  50 41 4c 25 2c 22 3c 41  |2E,266,OPAL%,"<A|
00000340  72 63 68 72 6f 6d 65 24  44 69 72 3e 2e 50 61 6c  |rchrome$Dir>.Pal|
00000350  65 74 74 65 22 0d 00 c8  2f c8 99 26 32 45 2c 32  |ette".../..&2E,2|
00000360  36 36 2c 50 46 49 4c 4c  53 25 2c 22 3c 41 72 63  |66,PFILLS%,"<Arc|
00000370  68 72 6f 6d 65 24 44 69  72 3e 2e 50 61 74 46 69  |hrome$Dir>.PatFi|
00000380  6c 6c 73 22 0d 00 d2 2e  ff 28 22 4c 4f 41 44 20  |lls".....("LOAD |
00000390  3c 41 72 63 68 72 6f 6d  65 24 44 69 72 3e 2e 50  |<Archrome$Dir>.P|
000003a0  61 6c 54 61 62 20 22 2b  c3 7e 50 41 4c 54 41 42  |alTab "+.~PALTAB|
000003b0  25 29 0d 00 dc 36 ff 28  22 4c 4f 41 44 20 3c 41  |%)...6.("LOAD <A|
000003c0  72 63 68 72 6f 6d 65 24  44 69 72 3e 2e 42 54 43  |rchrome$Dir>.BTC|
000003d0  20 22 2b c3 7e 42 54 43  25 29 3a f4 20 62 79 74  | "+.~BTC%):. byt|
000003e0  65 20 2d 3e 20 70 61 6c  0d 00 e6 36 ff 28 22 4c  |e -> pal...6.("L|
000003f0  4f 41 44 20 3c 41 72 63  68 72 6f 6d 65 24 44 69  |OAD <Archrome$Di|
00000400  72 3e 2e 43 54 54 20 22  2b c3 7e 43 54 54 25 29  |r>.CTT "+.~CTT%)|
00000410  3a f4 20 70 61 6c 20 2d  3e 20 62 79 74 65 0d 00  |:. pal -> byte..|
00000420  f0 3f ff 28 22 4c 4f 41  44 20 3c 41 72 63 68 72  |.?.("LOAD <Archr|
00000430  6f 6d 65 24 44 69 72 3e  2e 54 54 42 20 22 2b c3  |ome$Dir>.TTB "+.|
00000440  7e 54 54 42 25 29 3a f4  20 28 63 6f 6c 2a 36 34  |~TTB%):. (col*64|
00000450  29 2b 74 69 6e 74 20 2d  3e 20 70 61 6c 0d 00 fa  |)+tint -> pal...|
00000460  2e ff 28 22 4c 4f 41 44  20 3c 41 72 63 68 72 6f  |..("LOAD <Archro|
00000470  6d 65 24 44 69 72 3e 2e  52 6f 74 54 61 62 20 22  |me$Dir>.RotTab "|
00000480  2b c3 7e 52 4f 54 54 41  42 25 29 0d 01 04 2a ff  |+.~ROTTAB%)...*.|
00000490  28 22 4c 4f 41 44 20 3c  41 72 63 68 72 6f 6d 65  |("LOAD <Archrome|
000004a0  24 44 69 72 3e 2e 43 6f  64 65 20 22 2b c3 7e 43  |$Dir>.Code "+.~C|
000004b0  4f 44 45 25 29 0d 01 0e  2e ff 28 22 4c 4f 41 44  |ODE%).....("LOAD|
000004c0  20 3c 41 72 63 68 72 6f  6d 65 24 44 69 72 3e 2e  | <Archrome$Dir>.|
000004d0  52 6f 74 54 61 62 20 22  2b c3 7e 52 4f 54 54 41  |RotTab "+.~ROTTA|
000004e0  42 25 29 0d 01 18 2f 43  4f 4c 25 3d 32 35 35 3a  |B%).../COL%=255:|
000004f0  46 55 53 45 25 3d 2d 31  3a 46 55 53 54 25 3d 2d  |FUSE%=-1:FUST%=-|
00000500  31 3a 46 55 43 4f 25 3d  30 3a 42 55 54 44 4f 25  |1:FUCO%=0:BUTDO%|
00000510  3d a3 0d 01 22 41 24 54  41 53 25 3d 22 54 41 53  |=..."A$TAS%="TAS|
00000520  4b 22 3a c8 99 22 57 69  6d 70 5f 49 6e 69 74 69  |K":.."Wimp_Initi|
00000530  61 6c 69 73 65 22 2c 32  30 30 2c 21 54 41 53 25  |alise",200,!TAS%|
00000540  2c 22 41 72 63 68 72 6f  6d 65 22 20 b8 20 48 41  |,"Archrome" . HA|
00000550  4e 44 25 0d 01 2c 10 f2  6c 6f 61 64 73 70 72 69  |ND%..,..loadspri|
00000560  74 65 73 0d 01 36 0d f2  6c 6f 61 64 76 61 72 73  |tes..6..loadvars|
00000570  0d 01 40 42 21 42 4c 4b  25 3d 2d 31 3a 42 4c 4b  |..@B!BLK%=-1:BLK|
00000580  25 21 34 3d 30 3a 42 4c  4b 25 21 38 3d 30 3a 42  |%!4=0:BLK%!8=0:B|
00000590  4c 4b 25 21 31 32 3d 36  34 3a 42 4c 4b 25 21 31  |LK%!12=64:BLK%!1|
000005a0  36 3d 36 34 3a 42 4c 4b  25 21 32 30 3d 26 32 31  |6=64:BLK%!20=&21|
000005b0  30 32 0d 01 4a 43 de 20  42 4c 4b 25 21 32 34 20  |02..JC. BLK%!24 |
000005c0  31 30 3a 24 28 42 4c 4b  25 21 32 34 29 3d 22 21  |10:$(BLK%!24)="!|
000005d0  41 72 63 68 72 6f 6d 65  22 3a 42 4c 4b 25 21 32  |Archrome":BLK%!2|
000005e0  38 3d 53 50 52 49 54 45  53 25 3a 42 4c 4b 25 21  |8=SPRITES%:BLK%!|
000005f0  33 32 3d 31 30 0d 01 54  28 c8 99 20 22 57 69 6d  |32=10..T(.. "Wim|
00000600  70 5f 43 72 65 61 74 65  49 63 6f 6e 22 2c 2c 42  |p_CreateIcon",,B|
00000610  4c 4b 25 20 b8 20 49 43  48 41 4e 44 25 0d 01 5e  |LK% . ICHAND%..^|
00000620  19 4e 4f 57 49 4e 44 25  3d 32 34 3a 4e 4f 4d 45  |.NOWIND%=24:NOME|
00000630  4e 53 25 3d 31 37 0d 01  68 2d de 20 53 54 4f 52  |NS%=17..h-. STOR|
00000640  45 25 20 31 35 2a 31 30  32 34 2c 42 55 46 25 20  |E% 15*1024,BUF% |
00000650  34 30 34 38 2c 48 41 4e  44 25 28 4e 4f 57 49 4e  |4048,HAND%(NOWIN|
00000660  44 25 29 0d 01 72 0f 53  4f 46 25 3d 53 54 4f 52  |D%)..r.SOF%=STOR|
00000670  45 25 0d 01 7c bb dc 20  53 61 76 65 2c 49 6e 66  |E%..|.. Save,Inf|
00000680  6f 2c 4d 61 69 6e 2c 50  61 6c 65 74 74 65 2c 41  |o,Main,Palette,A|
00000690  69 72 62 72 75 73 68 2c  42 72 75 73 68 65 73 2c  |irbrush,Brushes,|
000006a0  47 72 69 64 2c 53 70 72  69 74 65 53 61 76 65 2c  |Grid,SpriteSave,|
000006b0  41 72 65 61 2c 48 65 6c  70 2c 4c 69 6e 65 70 61  |Area,Help,Linepa|
000006c0  74 2c 46 69 6c 6c 70 61  74 2c 45 64 42 72 75 73  |t,Fillpat,EdBrus|
000006d0  68 2c 45 64 46 69 6c 6c  2c 54 65 78 74 2c 54 62  |h,EdFill,Text,Tb|
000006e0  61 63 6b 2c 46 6f 6e 74  50 61 72 61 6d 73 2c 46  |ack,FontParams,F|
000006f0  69 6c 6c 43 6f 6e 74 2c  43 6f 6c 52 65 70 2c 46  |illCont,ColRep,F|
00000700  72 61 6d 65 2c 50 66 69  6c 6c 73 2c 52 47 42 63  |rame,Pfills,RGBc|
00000710  6f 6e 74 2c 47 72 65 79  73 63 61 6c 65 2c 50 69  |ont,Greyscale,Pi|
00000720  78 65 6c 61 74 65 2c 52  6f 74 61 74 65 0d 01 86  |xelate,Rotate...|
00000730  0a f7 20 8d 44 7c 41 0d  01 90 36 c8 99 20 22 57  |.. .D|A...6.. "W|
00000740  69 6d 70 5f 4f 70 65 6e  54 65 6d 70 6c 61 74 65  |imp_OpenTemplate|
00000750  22 2c 2c 22 3c 41 72 63  68 72 6f 6d 65 24 44 69  |",,"<Archrome$Di|
00000760  72 3e 2e 54 65 6d 70 6c  61 74 65 73 22 0d 01 9a  |r>.Templates"...|
00000770  13 e3 4b 25 3d 30 20 b8  20 4e 4f 57 49 4e 44 25  |..K%=0 . NOWIND%|
00000780  0d 01 a4 10 f3 20 41 24  3a 24 49 4f 25 3d 41 24  |..... A$:$IO%=A$|
00000790  0d 01 ae 48 c8 99 20 22  57 69 6d 70 5f 4c 6f 61  |...H.. "Wimp_Loa|
000007a0  64 54 65 6d 70 6c 61 74  65 22 2c 2c 42 55 46 25  |dTemplate",,BUF%|
000007b0  2c 53 4f 46 25 2c 53 54  4f 52 45 25 2b 28 31 35  |,SOF%,STORE%+(15|
000007c0  2a 31 30 32 34 29 2c 2d  31 2c 49 4f 25 2c 30 20  |*1024),-1,IO%,0 |
000007d0  b8 20 2c 2c 53 4f 46 25  0d 01 b8 18 e7 20 4b 25  |. ,,SOF%..... K%|
000007e0  3d 32 20 8c 20 42 55 46  25 3f 33 35 3d 26 46 46  |=2 . BUF%?35=&FF|
000007f0  0d 01 c2 2e c8 99 20 22  57 69 6d 70 5f 43 72 65  |...... "Wimp_Cre|
00000800  61 74 65 57 69 6e 64 6f  77 22 2c 2c 42 55 46 25  |ateWindow",,BUF%|
00000810  20 b8 20 48 41 4e 44 25  28 4b 25 29 3a ed 0d 01  | . HAND%(K%):...|
00000820  cc 1b c8 99 20 22 57 69  6d 70 5f 43 6c 6f 73 65  |.... "Wimp_Close|
00000830  54 65 6d 70 6c 61 74 65  22 0d 01 d6 23 e3 4c 25  |Template"...#.L%|
00000840  3d 31 35 20 b8 20 34 36  3a f2 73 68 61 64 65 69  |=15 . 46:.shadei|
00000850  63 6f 6e 28 31 30 2c 4c  25 29 3a ed 0d 01 e0 18  |con(10,L%):.....|
00000860  f2 73 65 74 69 63 6f 6e  28 31 33 2c 34 34 2c 22  |.seticon(13,44,"|
00000870  31 36 22 29 0d 01 ea 0c  ef 32 33 2c 36 2c 30 7c  |16").....23,6,0||
00000880  0d 01 f4 0f f2 73 79 73  74 65 6d 76 61 72 73 0d  |.....systemvars.|
00000890  01 fe 0a f2 63 68 61 72  73 0d 02 08 0e f2 6c 6f  |....chars.....lo|
000008a0  61 64 66 6f 6e 74 73 0d  02 12 21 f2 62 75 69 6c  |adfonts...!.buil|
000008b0  64 6d 61 69 6e 6d 65 6e  75 3a f2 62 75 69 6c 64  |dmainmenu:.build|
000008c0  69 63 6f 6e 6d 65 6e 75  0d 02 1c 05 e1 0d 02 26  |iconmenu.......&|
000008d0  04 0d 02 30 10 dd f2 73  79 73 74 65 6d 76 61 72  |...0...systemvar|
000008e0  73 0d 02 3a 12 21 50 49  43 25 3d 31 34 35 2a 31  |s..:.!PIC%=145*1|
000008f0  30 32 34 0d 02 44 0c 50  49 43 25 21 34 3d 30 0d  |024..D.PIC%!4=0.|
00000900  02 4e 0d 50 49 43 25 21  38 3d 32 34 0d 02 58 0e  |.N.PIC%!8=24..X.|
00000910  50 49 43 25 21 31 32 3d  32 34 0d 02 62 38 f4 20  |PIC%!12=24..b8. |
00000920  49 46 20 4c 25 3d 30 20  54 48 45 4e 20 53 59 53  |IF L%=0 THEN SYS|
00000930  26 32 45 2c 32 36 36 2c  50 49 43 25 2c 22 3c 41  |&2E,266,PIC%,"<A|
00000940  72 63 68 72 6f 6d 65 24  44 69 72 3e 2e 54 65 73  |rchrome$Dir>.Tes|
00000950  74 22 0d 02 6c 26 c8 99  20 26 32 45 2c 32 37 31  |t"..l&.. &2E,271|
00000960  2c 50 49 43 25 2c 22 50  49 43 22 2c 30 2c 36 31  |,PIC%,"PIC",0,61|
00000970  38 2c 32 33 34 2c 31 35  0d 02 76 15 50 49 43 24  |8,234,15..v.PIC$|
00000980  3d 22 3c 55 6e 74 69 74  6c 65 64 3e 22 0d 02 80  |="<Untitled>"...|
00000990  77 f4 20 49 46 20 4c 46  24 3c 3e 22 22 20 54 48  |w. IF LF$<>"" TH|
000009a0  45 4e 20 4f 53 43 4c 49  28 22 4c 4f 41 44 20 22  |EN OSCLI("LOAD "|
000009b0  2b 4c 46 24 2b 22 20 22  2b 53 54 52 24 7e 28 50  |+LF$+" "+STR$~(P|
000009c0  49 43 25 2b 34 29 29 3a  50 49 43 24 3d 46 4e 6c  |IC%+4)):PIC$=FNl|
000009d0  65 61 66 28 4c 46 24 29  3a 50 52 4f 43 73 65 74  |eaf(LF$):PROCset|
000009e0  69 63 6f 6e 28 30 2c 31  2c 4c 46 24 29 20 45 4c  |icon(0,1,LF$) EL|
000009f0  53 45 20 50 49 43 24 3d  22 3c 55 6e 74 69 74 6c  |SE PIC$="<Untitl|
00000a00  65 64 3e 22 0d 02 8a 13  45 53 4d 25 3d 2d 31 3a  |ed>"....ESM%=-1:|
00000a10  45 50 4d 25 3d 2d 31 0d  02 94 3d 47 52 43 4f 25  |EPM%=-1...=GRCO%|
00000a20  3d 2d 31 3a 47 52 54 49  25 3d 2d 31 3a 47 52 4c  |=-1:GRTI%=-1:GRL|
00000a30  4f 25 3d a3 3a 47 52 57  49 25 3d 31 3a 47 52 48  |O%=.:GRWI%=1:GRH|
00000a40  45 25 3d 31 3a 47 52 42  58 25 3d 30 3a 47 52 42  |E%=1:GRBX%=0:GRB|
00000a50  59 25 3d 30 0d 02 9e 33  47 52 58 4d 25 3d 31 3a  |Y%=0...3GRXM%=1:|
00000a60  47 52 58 44 25 3d 31 3a  47 52 59 4d 25 3d 31 3a  |GRXD%=1:GRYM%=1:|
00000a70  47 52 59 44 25 3d 31 3a  47 52 46 58 25 3d a3 3a  |GRYD%=1:GRFX%=.:|
00000a80  47 52 46 59 25 3d a3 0d  02 a8 0b 5a 4f 4f 4d 25  |GRFY%=.....ZOOM%|
00000a90  3d 31 0d 02 b2 1a 55 53  45 25 3d 30 3a 4c 49 54  |=1....USE%=0:LIT|
00000aa0  59 25 3d 35 3a 47 52 4d  41 25 3d a3 0d 02 bc 1e  |Y%=5:GRMA%=.....|
00000ab0  de 20 50 41 54 25 28 35  29 3a 50 41 54 25 28 29  |. PAT%(5):PAT%()|
00000ac0  3d 30 3a 50 41 4c 45 25  3d 38 0d 02 c6 1f de 20  |=0:PALE%=8..... |
00000ad0  45 43 46 25 28 38 2c 34  29 3a 45 43 46 25 28 29  |ECF%(8,4):ECF%()|
00000ae0  3d 30 3a 52 4f 54 25 3d  30 0d 02 d0 1d de 20 47  |=0:ROT%=0..... G|
00000af0  52 46 49 25 28 31 35 2c  31 2c 34 29 3a 47 52 46  |RFI%(15,1,4):GRF|
00000b00  49 25 28 29 3d 30 0d 02  da 30 46 49 46 43 25 3d  |I%()=0...0FIFC%=|
00000b10  36 33 3a 46 49 46 54 25  3d 31 39 32 3a 46 49 4c  |63:FIFT%=192:FIL|
00000b20  43 25 3d 33 3a 46 49 4c  54 25 3d 31 39 32 3a 46  |C%=3:FILT%=192:F|
00000b30  49 4c 52 25 3d 30 0d 02  e4 09 49 50 25 3d a3 0d  |ILR%=0....IP%=..|
00000b40  02 ee 28 53 45 4c 42 52  25 3d 31 3a 42 58 4d 25  |..(SELBR%=1:BXM%|
00000b50  3d 31 3a 42 58 44 25 3d  31 3a 42 59 4d 25 3d 31  |=1:BXD%=1:BYM%=1|
00000b60  3a 42 59 44 25 3d 31 0d  02 f8 1b 45 44 42 52 25  |:BYD%=1....EDBR%|
00000b70  3d 31 3a 49 44 52 41 47  25 3d a3 3a 43 50 46 25  |=1:IDRAG%=.:CPF%|
00000b80  3d 31 0d 03 02 0d f2 6f  70 65 6e 6d 61 69 6e 0d  |=1.....openmain.|
00000b90  03 0c 15 f2 77 69 6e 64  6e 61 6d 65 28 32 2c 50  |....windname(2,P|
00000ba0  49 43 24 29 0d 03 16 1b  de 20 54 52 41 53 50 25  |IC$)..... TRASP%|
00000bb0  20 32 35 36 2c 20 52 45  50 53 25 20 32 35 36 0d  | 256, REPS% 256.|
00000bc0  03 20 1d e3 4c 25 3d 30  20 b8 20 32 35 35 3a 52  |. ..L%=0 . 255:R|
00000bd0  45 50 53 25 3f 4c 25 3d  4c 25 3a ed 0d 03 2a 21  |EPS%?L%=L%:...*!|
00000be0  e3 4c 25 3d 30 20 b8 20  32 35 32 20 88 20 34 3a  |.L%=0 . 252 . 4:|
00000bf0  54 52 41 53 50 25 21 4c  25 3d 30 3a ed 0d 03 34  |TRASP%!L%=0:...4|
00000c00  1b de 20 46 4f 4e 54 24  28 32 35 35 29 2c 46 4f  |.. FONT$(255),FO|
00000c10  4e 54 54 24 28 36 34 29  0d 03 3e 16 46 4f 4e 54  |NTT$(64)..>.FONT|
00000c20  42 25 3d 30 3a 53 52 45  50 25 3d 32 35 35 0d 03  |B%=0:SREP%=255..|
00000c30  48 31 4d 4d 58 25 3d 31  3a 4d 4d 59 25 3d 31 3a  |H1MMX%=1:MMY%=1:|
00000c40  4d 4f 50 25 3d a3 3a 4b  55 4b 45 25 3d a3 3a 4b  |MOP%=.:KUKE%=.:K|
00000c50  55 4b 44 25 3d 30 3a 4b  55 4b 4c 25 3d 2d 31 0d  |UKD%=0:KUKL%=-1.|
00000c60  03 52 05 e1 0d 03 5c 04  0d 03 66 0e dd f2 6c 6f  |.R....\...f...lo|
00000c70  61 64 76 61 72 73 0d 03  70 1f 46 25 3d 8e 28 22  |advars..p.F%=.("|
00000c80  3c 41 72 63 68 72 6f 6d  65 24 44 69 72 3e 2e 56  |<Archrome$Dir>.V|
00000c90  61 72 73 22 29 0d 03 7a  b7 e8 23 46 25 2c 62 61  |ars")..z..#F%,ba|
00000ca0  63 6b 75 70 70 69 63 2c  66 69 6c 6c 6d 61 73 6b  |ckuppic,fillmask|
00000cb0  2c 67 65 74 70 69 63 62  79 74 65 2c 67 65 74 62  |,getpicbyte,getb|
00000cc0  72 75 73 68 62 79 74 65  2c 73 65 74 70 69 63 62  |rushbyte,setpicb|
00000cd0  79 74 65 2c 70 69 78 61  76 65 72 61 67 65 2c 74  |yte,pixaverage,t|
00000ce0  69 6e 74 61 72 65 61 2c  61 76 65 72 61 67 65 62  |intarea,averageb|
00000cf0  72 75 73 68 2c 74 69 6e  74 62 72 75 73 68 2c 66  |rush,tintbrush,f|
00000d00  69 6e 64 63 68 61 6e 67  65 62 6f 78 2c 67 72 61  |indchangebox,gra|
00000d10  64 75 61 74 65 64 66 69  6c 6c 2c 63 6f 6c 72 65  |duatedfill,colre|
00000d20  70 2c 70 61 74 66 69 6c  6c 2c 72 67 62 63 6f 6e  |p,patfill,rgbcon|
00000d30  74 2c 67 72 65 79 73 63  61 6c 65 2c 72 6f 74 61  |t,greyscale,rota|
00000d40  74 65 2c 74 72 61 6e 73  61 72 65 61 0d 03 84 08  |te,transarea....|
00000d50  d9 23 46 25 0d 03 8e db  62 61 63 6b 75 70 70 69  |.#F%....backuppi|
00000d60  63 2b 3d 43 4f 44 45 25  3a 66 69 6c 6c 6d 61 73  |c+=CODE%:fillmas|
00000d70  6b 2b 3d 43 4f 44 45 25  3a 67 65 74 70 69 63 62  |k+=CODE%:getpicb|
00000d80  79 74 65 2b 3d 43 4f 44  45 25 3a 67 65 74 62 72  |yte+=CODE%:getbr|
00000d90  75 73 68 62 79 74 65 2b  3d 43 4f 44 45 25 3a 73  |ushbyte+=CODE%:s|
00000da0  65 74 70 69 63 62 79 74  65 2b 3d 43 4f 44 45 25  |etpicbyte+=CODE%|
00000db0  3a 70 69 78 61 76 65 72  61 67 65 2b 3d 43 4f 44  |:pixaverage+=COD|
00000dc0  45 25 3a 74 69 6e 74 61  72 65 61 2b 3d 43 4f 44  |E%:tintarea+=COD|
00000dd0  45 25 3a 61 76 65 72 61  67 65 62 72 75 73 68 2b  |E%:averagebrush+|
00000de0  3d 43 4f 44 45 25 3a 74  69 6e 74 62 72 75 73 68  |=CODE%:tintbrush|
00000df0  2b 3d 43 4f 44 45 25 3a  66 69 6e 64 63 68 61 6e  |+=CODE%:findchan|
00000e00  67 65 62 6f 78 2b 3d 43  4f 44 45 25 3a 67 72 61  |gebox+=CODE%:gra|
00000e10  64 75 61 74 65 64 66 69  6c 6c 2b 3d 43 4f 44 45  |duatedfill+=CODE|
00000e20  25 3a 63 6f 6c 72 65 70  2b 3d 43 4f 44 45 25 0d  |%:colrep+=CODE%.|
00000e30  03 98 51 70 61 74 66 69  6c 6c 2b 3d 43 4f 44 45  |..Qpatfill+=CODE|
00000e40  25 3a 72 67 62 63 6f 6e  74 2b 3d 43 4f 44 45 25  |%:rgbcont+=CODE%|
00000e50  3a 67 72 65 79 73 63 61  6c 65 2b 3d 43 4f 44 45  |:greyscale+=CODE|
00000e60  25 3a 72 6f 74 61 74 65  2b 3d 43 4f 44 45 25 3a  |%:rotate+=CODE%:|
00000e70  74 72 61 6e 73 61 72 65  61 2b 3d 43 4f 44 45 25  |transarea+=CODE%|
00000e80  0d 03 a2 05 e1 0d 03 ac  04 0d 03 b6 0f dd f2 6c  |...............l|
00000e90  6f 61 64 66 6f 6e 74 73  0d 03 c0 09 4e 25 3d 2d  |oadfonts....N%=-|
00000ea0  31 0d 03 ca 1a 46 4f 4e  54 24 28 30 29 3d 22 53  |1....FONT$(0)="S|
00000eb0  79 73 74 65 6d 20 46 6f  6e 74 22 0d 03 d4 3b c8  |ystem Font"...;.|
00000ec0  99 20 22 58 4f 53 5f 52  65 61 64 56 61 72 56 61  |. "XOS_ReadVarVa|
00000ed0  6c 22 2c 22 46 6f 6e 74  24 50 61 74 68 22 2c 49  |l","Font$Path",I|
00000ee0  4f 25 2c 32 35 36 2c 2c  33 20 b8 20 2c 2c 4e 25  |O%,256,,3 . ,,N%|
00000ef0  20 3b 65 72 72 25 0d 03  de 1d e7 20 28 65 72 72  | ;err%..... (err|
00000f00  25 20 80 20 31 29 20 8c  20 46 4f 4e 54 53 25 3d  |% . 1) . FONTS%=|
00000f10  30 3a e1 0d 03 e8 12 46  50 25 3d 30 3a 46 4f 4e  |0:.....FP%=0:FON|
00000f20  54 53 25 3d 30 0d 03 f2  05 f5 0d 03 fc 2b c8 99  |TS%=0........+..|
00000f30  20 22 46 6f 6e 74 5f 4c  69 73 74 46 6f 6e 74 73  | "Font_ListFonts|
00000f40  22 2c 2c 49 4f 25 2c 46  50 25 2c 2d 31 20 b8 20  |",,IO%,FP%,-1 . |
00000f50  2c 2c 46 50 25 0d 04 06  22 46 4f 4e 54 24 28 46  |,,FP%..."FONT$(F|
00000f60  4f 4e 54 53 25 2b 31 29  3d 24 49 4f 25 3a 46 4f  |ONTS%+1)=$IO%:FO|
00000f70  4e 54 53 25 2b 3d 31 0d  04 10 0c fd 20 46 50 25  |NTS%+=1..... FP%|
00000f80  3d 2d 31 0d 04 1a 0d 46  4f 4e 54 53 25 2d 3d 31  |=-1....FONTS%-=1|
00000f90  0d 04 24 2d c8 99 20 22  46 6f 6e 74 5f 52 65 61  |..$-.. "Font_Rea|
00000fa0  64 46 6f 6e 74 4d 61 78  22 20 b8 20 42 25 2c 43  |dFontMax" . B%,C|
00000fb0  25 2c 44 25 2c 45 25 2c  46 25 2c 47 25 0d 04 2e  |%,D%,E%,F%,G%...|
00000fc0  b1 f2 73 65 74 69 63 6f  6e 28 31 36 2c 31 32 2c  |..seticon(16,12,|
00000fd0  c3 28 42 25 20 81 20 31  30 32 34 29 29 3a f2 73  |.(B% . 1024)):.s|
00000fe0  65 74 69 63 6f 6e 28 31  36 2c 31 33 2c c3 28 43  |eticon(16,13,.(C|
00000ff0  25 20 81 20 31 31 35 32  29 29 3a f2 73 65 74 69  |% . 1152)):.seti|
00001000  63 6f 6e 28 31 36 2c 31  34 2c c3 28 44 25 20 81  |con(16,14,.(D% .|
00001010  20 31 31 35 32 29 29 3a  f2 73 65 74 69 63 6f 6e  | 1152)):.seticon|
00001020  28 31 36 2c 31 35 2c c3  28 45 25 20 81 20 31 31  |(16,15,.(E% . 11|
00001030  35 32 29 29 3a f2 73 65  74 69 63 6f 6e 28 31 36  |52)):.seticon(16|
00001040  2c 31 36 2c c3 28 46 25  20 81 20 31 31 35 32 29  |,16,.(F% . 1152)|
00001050  29 3a f2 73 65 74 69 63  6f 6e 28 31 36 2c 31 37  |):.seticon(16,17|
00001060  2c c3 28 47 25 20 81 20  31 31 35 32 29 29 0d 04  |,.(G% . 1152))..|
00001070  38 05 e1 0d 04 42 04 0d  04 4c 11 dd f2 6c 6f 61  |8....B...L...loa|
00001080  64 73 70 72 69 74 65 73  0d 04 56 13 de 20 53 50  |dsprites..V.. SP|
00001090  52 49 54 45 53 25 20 32  30 30 30 0d 04 60 6a 21  |RITES% 2000..`j!|
000010a0  53 50 52 49 54 45 53 25  3d 32 30 30 30 3a 53 50  |SPRITES%=2000:SP|
000010b0  52 49 54 45 53 25 21 34  3d 30 3a 53 50 52 49 54  |RITES%!4=0:SPRIT|
000010c0  45 53 25 21 38 3d 31 36  3a 53 50 52 49 54 45 53  |ES%!8=16:SPRITES|
000010d0  25 21 31 32 3d 31 36 3a  c8 99 20 26 32 45 2c 32  |%!12=16:.. &2E,2|
000010e0  36 36 2c 53 50 52 49 54  45 53 25 2c 22 3c 41 72  |66,SPRITES%,"<Ar|
000010f0  63 68 72 6f 6d 65 24 44  69 72 3e 2e 21 53 70 72  |chrome$Dir>.!Spr|
00001100  69 74 65 73 22 0d 04 6a  05 e1 0d 04 74 04 0d 04  |ites"..j....t...|
00001110  7e 0c dd f2 61 63 74 69  6f 6e 0d 04 88 05 f5 0d  |~...action......|
00001120  04 92 09 f2 70 6f 6c 6c  0d 04 9c 27 fd 20 28 52  |....poll...'. (R|
00001130  45 41 53 25 3d 31 37 20  84 20 52 45 41 53 25 3d  |EAS%=17 . REAS%=|
00001140  31 38 29 20 80 20 42 4c  4b 25 21 31 36 3d 30 0d  |18) . BLK%!16=0.|
00001150  04 a6 05 e1 0d 04 b0 04  0d 04 ba 19 dd f2 64 69  |..............di|
00001160  65 3a 4f 50 25 3d 30 3a  f2 73 70 62 75 66 28 30  |e:OP%=0:.spbuf(0|
00001170  29 0d 04 c4 23 c8 99 20  22 57 69 6d 70 5f 43 6c  |)...#.. "Wimp_Cl|
00001180  6f 73 65 44 6f 77 6e 22  2c 48 41 4e 44 25 2c 21  |oseDown",HAND%,!|
00001190  54 41 53 25 0d 04 ce 05  e0 0d 04 d8 05 e1 0d 04  |TAS%............|
000011a0  e2 04 0d 04 ec 0a dd f2  70 6f 6c 6c 0d 04 f6 22  |........poll..."|
000011b0  c8 99 20 22 57 69 6d 70  5f 47 65 74 50 6f 69 6e  |.. "Wimp_GetPoin|
000011c0  74 65 72 49 6e 66 6f 22  2c 2c 42 4c 4b 25 0d 05  |terInfo",,BLK%..|
000011d0  00 21 e7 20 42 4c 4b 25  21 31 32 3c 3e 48 41 4e  |.!. BLK%!12<>HAN|
000011e0  44 25 28 32 29 20 8c 20  4d 42 55 53 25 3d b9 0d  |D%(2) . MBUS%=..|
000011f0  05 0a 1f 21 42 4c 4b 25  3d 25 31 30 30 31 31 31  |...!BLK%=%100111|
00001200  31 31 31 31 30 31 30 30  31 31 30 30 30 30 0d 05  |11110100110000..|
00001210  14 21 c8 99 20 22 57 69  6d 70 5f 50 6f 6c 6c 22  |.!.. "Wimp_Poll"|
00001220  2c 30 2c 42 4c 4b 25 20  b8 20 52 45 41 53 25 0d  |,0,BLK% . REAS%.|
00001230  05 1e 15 e7 20 52 45 41  53 25 3e 2d 31 20 8c 20  |.... REAS%>-1 . |
00001240  f2 61 63 74 0d 05 28 05  e1 0d 05 32 09 dd f2 61  |.act..(....2...a|
00001250  63 74 0d 05 3c 0e c8 8e  20 52 45 41 53 25 20 ca  |ct..<... REAS% .|
00001260  0d 05 46 16 c9 20 30 3a  f2 6b 75 6b 65 3a f2 70  |..F.. 0:.kuke:.p|
00001270  69 63 70 6f 6c 6c 0d 05  50 0f c9 20 31 3a f2 72  |icpoll..P.. 1:.r|
00001280  65 64 72 61 77 0d 05 5a  0f c9 20 32 3a f2 6f 70  |edraw..Z.. 2:.op|
00001290  6d 61 69 6e 0d 05 64 0f  c9 20 33 3a f2 63 6c 6d  |main..d.. 3:.clm|
000012a0  61 69 6e 0d 05 6e 0e c9  20 36 3a f2 6d 6f 75 73  |ain..n.. 6:.mous|
000012b0  65 0d 05 78 0d c9 20 39  3a f2 6d 65 6e 75 0d 05  |e..x.. 9:.menu..|
000012c0  82 10 c9 20 37 3a f2 64  72 61 67 66 69 6e 0d 05  |... 7:.dragfin..|
000012d0  8c 1f c9 20 31 37 2c 31  38 3a f2 69 6e 6d 65 73  |... 17,18:.inmes|
000012e0  73 61 67 65 28 42 4c 4b  25 21 31 36 29 0d 05 96  |sage(BLK%!16)...|
000012f0  05 cb 0d 05 a0 05 e1 0d  05 aa 04 0d 05 b4 18 dd  |................|
00001300  f2 6b 75 6b 65 3a e7 20  ac 20 4b 55 4b 45 25 20  |.kuke:. . KUKE% |
00001310  8c 20 e1 0d 05 be 0c 4b  55 4c 49 25 3d 31 30 0d  |. .....KULI%=10.|
00001320  05 c8 18 c8 97 20 4d 58  25 2c 4d 59 25 2c 4d 48  |..... MX%,MY%,MH|
00001330  25 3a 4b 50 25 3d a3 0d  05 d2 15 e7 20 ac 20 a6  |%:KP%=...... . .|
00001340  28 2d 35 38 29 20 8c 20  8d 64 7a 45 0d 05 dc 38  |(-58) . .dzE...8|
00001350  e7 20 4b 55 4b 4c 25 3c  3e 2d 35 38 20 8c 20 4b  |. KUKL%<>-58 . K|
00001360  55 4b 4c 25 3d 2d 35 38  3a 4b 55 4b 44 25 3d 30  |UKL%=-58:KUKD%=0|
00001370  3a 4d 59 25 2b 3d 34 3a  4b 50 25 3d b9 3a e5 20  |:MY%+=4:KP%=.:. |
00001380  8d 64 7a 45 0d 05 e6 29  4b 55 4b 44 25 2b 3d 31  |.dzE...)KUKD%+=1|
00001390  3a e7 20 4b 55 4b 44 25  3c 4b 55 4c 49 25 20 8c  |:. KUKD%<KULI% .|
000013a0  20 4b 50 25 3d b9 3a e5  20 8d 64 7a 45 0d 05 f0  | KP%=.:. .dzE...|
000013b0  1c 4b 55 4b 44 25 3d 4b  55 4c 49 25 3a 4d 59 25  |.KUKD%=KULI%:MY%|
000013c0  2b 3d 34 3a 4b 50 25 3d  b9 0d 05 fa 15 e7 20 ac  |+=4:KP%=...... .|
000013d0  20 a6 28 2d 34 32 29 20  8c 20 8d 54 62 46 0d 06  | .(-42) . .TbF..|
000013e0  04 38 e7 20 4b 55 4b 4c  25 3c 3e 2d 35 38 20 8c  |.8. KUKL%<>-58 .|
000013f0  20 4b 55 4b 4c 25 3d 2d  35 38 3a 4b 55 4b 44 25  | KUKL%=-58:KUKD%|
00001400  3d 30 3a 4d 59 25 2d 3d  34 3a 4b 50 25 3d b9 3a  |=0:MY%-=4:KP%=.:|
00001410  e5 20 8d 54 62 46 0d 06  0e 29 4b 55 4b 44 25 2b  |. .TbF...)KUKD%+|
00001420  3d 31 3a e7 20 4b 55 4b  44 25 3c 4b 55 4c 49 25  |=1:. KUKD%<KULI%|
00001430  20 8c 20 4b 50 25 3d b9  3a e5 20 8d 54 62 46 0d  | . KP%=.:. .TbF.|
00001440  06 18 1c 4b 55 4b 44 25  3d 4b 55 4c 49 25 3a 4d  |...KUKD%=KULI%:M|
00001450  59 25 2d 3d 34 3a 4b 50  25 3d b9 0d 06 22 15 e7  |Y%-=4:KP%=..."..|
00001460  20 ac 20 a6 28 2d 32 36  29 20 8c 20 8d 44 4a 46  | . .(-26) . .DJF|
00001470  0d 06 2c 38 e7 20 4b 55  4b 4c 25 3c 3e 2d 35 38  |..,8. KUKL%<>-58|
00001480  20 8c 20 4b 55 4b 4c 25  3d 2d 35 38 3a 4b 55 4b  | . KUKL%=-58:KUK|
00001490  44 25 3d 30 3a 4d 58 25  2d 3d 32 3a 4b 50 25 3d  |D%=0:MX%-=2:KP%=|
000014a0  b9 3a e5 20 8d 44 4a 46  0d 06 36 29 4b 55 4b 44  |.:. .DJF..6)KUKD|
000014b0  25 2b 3d 31 3a e7 20 4b  55 4b 44 25 3c 4b 55 4c  |%+=1:. KUKD%<KUL|
000014c0  49 25 20 8c 20 4b 50 25  3d b9 3a e5 20 8d 44 4a  |I% . KP%=.:. .DJ|
000014d0  46 0d 06 40 1c 4b 55 4b  44 25 3d 4b 55 4c 49 25  |F..@.KUKD%=KULI%|
000014e0  3a 4d 58 25 2d 3d 32 3a  4b 50 25 3d b9 0d 06 4a  |:MX%-=2:KP%=...J|
000014f0  16 e7 20 ac 20 a6 28 2d  31 32 32 29 20 8c 20 8d  |.. . .(-122) . .|
00001500  44 72 46 0d 06 54 38 e7  20 4b 55 4b 4c 25 3c 3e  |DrF..T8. KUKL%<>|
00001510  2d 35 38 20 8c 20 4b 55  4b 4c 25 3d 2d 35 38 3a  |-58 . KUKL%=-58:|
00001520  4b 55 4b 44 25 3d 30 3a  4d 58 25 2b 3d 32 3a 4b  |KUKD%=0:MX%+=2:K|
00001530  50 25 3d b9 3a e5 20 8d  44 72 46 0d 06 5e 29 4b  |P%=.:. .DrF..^)K|
00001540  55 4b 44 25 2b 3d 31 3a  e7 20 4b 55 4b 44 25 3c  |UKD%+=1:. KUKD%<|
00001550  4b 55 4c 49 25 20 8c 20  4b 50 25 3d b9 3a e5 20  |KULI% . KP%=.:. |
00001560  8d 44 72 46 0d 06 68 1c  4b 55 4b 44 25 3d 4b 55  |.DrF..h.KUKD%=KU|
00001570  4c 49 25 3a 4d 58 25 2b  3d 32 3a 4b 50 25 3d b9  |LI%:MX%+=2:KP%=.|
00001580  0d 06 72 1e e7 20 ac 20  4b 50 25 20 8c 20 4b 55  |..r.. . KP% . KU|
00001590  4b 4c 25 3d 2d 31 3a 4b  55 4b 44 25 3d 30 0d 06  |KL%=-1:KUKD%=0..|
000015a0  7c 10 c8 97 20 b8 20 4d  58 25 2c 4d 59 25 0d 06  ||... . MX%,MY%..|
000015b0  86 05 e1 0d 06 90 04 0d  06 9a 0c dd f2 72 65 64  |.............red|
000015c0  72 61 77 0d 06 a4 0e c8  8e 20 21 42 4c 4b 25 20  |raw...... !BLK% |
000015d0  ca 0d 06 ae 1a c9 20 48  41 4e 44 25 28 32 29 3a  |...... HAND%(2):|
000015e0  f2 72 65 64 72 61 77 6d  61 69 6e 0d 06 b8 19 c9  |.redrawmain.....|
000015f0  20 48 41 4e 44 25 28 33  29 3a f2 72 65 64 72 61  | HAND%(3):.redra|
00001600  77 70 61 6c 0d 06 c2 1b  c9 20 48 41 4e 44 25 28  |wpal..... HAND%(|
00001610  35 29 3a f2 72 65 64 72  61 77 62 72 75 73 68 0d  |5):.redrawbrush.|
00001620  06 cc 1a c9 20 48 41 4e  44 25 28 31 31 29 3a f2  |.... HAND%(11):.|
00001630  72 65 64 72 61 77 70 61  74 0d 06 d6 1c c9 20 48  |redrawpat..... H|
00001640  41 4e 44 25 28 31 32 29  3a f2 72 65 64 72 61 77  |AND%(12):.redraw|
00001650  65 64 62 72 75 0d 06 e0  1b c9 20 48 41 4e 44 25  |edbru..... HAND%|
00001660  28 31 33 29 3a f2 72 65  64 72 61 77 66 69 6c 6c  |(13):.redrawfill|
00001670  0d 06 ea 1c c9 20 48 41  4e 44 25 28 31 35 29 3a  |..... HAND%(15):|
00001680  f2 72 65 64 72 61 77 74  62 61 63 6b 0d 06 f4 1d  |.redrawtback....|
00001690  c9 20 48 41 4e 44 25 28  31 38 29 3a f2 72 65 64  |. HAND%(18):.red|
000016a0  72 61 77 63 6f 6c 72 65  70 0d 06 fe 1e c9 20 48  |rawcolrep..... H|
000016b0  41 4e 44 25 28 32 30 29  3a f2 72 65 64 72 61 77  |AND%(20):.redraw|
000016c0  70 61 74 66 69 6c 6c 0d  07 08 05 cb 0d 07 12 05  |patfill.........|
000016d0  e1 0d 07 1c 04 0d 07 26  11 dd f2 72 65 64 72 61  |.......&...redra|
000016e0  77 62 72 75 73 68 0d 07  30 27 c8 99 20 22 57 69  |wbrush..0'.. "Wi|
000016f0  6d 70 5f 52 65 64 72 61  77 57 69 6e 64 6f 77 22  |mp_RedrawWindow"|
00001700  2c 2c 42 4c 4b 25 20 b8  20 46 49 4e 25 0d 07 3a  |,,BLK% . FIN%..:|
00001710  0f f2 67 65 74 62 72 75  73 68 6f 72 0d 07 44 3c  |..getbrushor..D<|
00001720  c8 95 20 46 49 4e 25 3a  f2 70 6c 6f 74 62 72 75  |.. FIN%:.plotbru|
00001730  73 68 65 73 3a c8 99 20  22 57 69 6d 70 5f 47 65  |shes:.. "Wimp_Ge|
00001740  74 52 65 63 74 61 6e 67  6c 65 22 2c 2c 42 4c 4b  |tRectangle",,BLK|
00001750  25 20 b8 20 46 49 4e 25  0d 07 4e 05 ce 0d 07 58  |% . FIN%..N....X|
00001760  05 e1 0d 07 62 04 0d 07  6c 11 dd f2 72 65 64 72  |....b...l...redr|
00001770  61 77 65 64 62 72 75 0d  07 76 27 c8 99 20 22 57  |awedbru..v'.. "W|
00001780  69 6d 70 5f 52 65 64 72  61 77 57 69 6e 64 6f 77  |imp_RedrawWindow|
00001790  22 2c 2c 42 4c 4b 25 20  b8 20 46 49 4e 25 0d 07  |",,BLK% . FIN%..|
000017a0  80 0f f2 67 65 74 65 64  62 72 75 6f 72 0d 07 8a  |...getedbruor...|
000017b0  3a c8 95 20 46 49 4e 25  3a f2 70 6c 6f 74 65 64  |:.. FIN%:.ploted|
000017c0  62 72 75 3a c8 99 20 22  57 69 6d 70 5f 47 65 74  |bru:.. "Wimp_Get|
000017d0  52 65 63 74 61 6e 67 6c  65 22 2c 2c 42 4c 4b 25  |Rectangle",,BLK%|
000017e0  20 b8 20 46 49 4e 25 0d  07 94 05 ce 0d 07 9e 05  | . FIN%.........|
000017f0  e1 0d 07 a8 04 0d 07 b2  13 dd f2 72 65 64 72 61  |...........redra|
00001800  77 70 61 74 66 69 6c 6c  0d 07 bc 27 c8 99 20 22  |wpatfill...'.. "|
00001810  57 69 6d 70 5f 52 65 64  72 61 77 57 69 6e 64 6f  |Wimp_RedrawWindo|
00001820  77 22 2c 2c 42 4c 4b 25  20 b8 20 46 49 4e 25 0d  |w",,BLK% . FIN%.|
00001830  07 c6 11 f2 67 65 74 70  61 74 66 69 6c 6c 6f 72  |....getpatfillor|
00001840  0d 07 d0 3c c8 95 20 46  49 4e 25 3a f2 70 6c 6f  |...<.. FIN%:.plo|
00001850  74 70 61 74 66 69 6c 6c  3a c8 99 20 22 57 69 6d  |tpatfill:.. "Wim|
00001860  70 5f 47 65 74 52 65 63  74 61 6e 67 6c 65 22 2c  |p_GetRectangle",|
00001870  2c 42 4c 4b 25 20 b8 20  46 49 4e 25 0d 07 da 05  |,BLK% . FIN%....|
00001880  ce 0d 07 e4 05 e1 0d 07  ee 04 0d 07 f8 46 dd f2  |.............F..|
00001890  66 6f 72 63 65 64 72 61  77 70 61 74 66 69 6c 6c  |forcedrawpatfill|
000018a0  3a c8 99 20 22 57 69 6d  70 5f 46 6f 72 63 65 52  |:.. "Wimp_ForceR|
000018b0  65 64 72 61 77 22 2c 48  41 4e 44 25 28 32 30 29  |edraw",HAND%(20)|
000018c0  2c 30 2c 2d 31 30 38 2c  31 31 30 30 2c 30 3a e1  |,0,-108,1100,0:.|
000018d0  0d 08 02 04 0d 08 0c 25  dd f2 66 6f 72 63 65 64  |.......%..forced|
000018e0  72 61 77 65 64 62 72 75  28 78 31 25 2c 79 31 25  |rawedbru(x1%,y1%|
000018f0  2c 78 32 25 2c 79 32 25  29 0d 08 16 13 21 42 4c  |,x2%,y2%)....!BL|
00001900  4b 25 3d 48 41 4e 44 25  28 31 32 29 0d 08 20 0e  |K%=HAND%(12).. .|
00001910  42 4c 4b 25 21 34 3d 78  31 25 0d 08 2a 0e 42 4c  |BLK%!4=x1%..*.BL|
00001920  4b 25 21 38 3d 79 31 25  0d 08 34 0f 42 4c 4b 25  |K%!8=y1%..4.BLK%|
00001930  21 31 32 3d 78 32 25 0d  08 3e 0f 42 4c 4b 25 21  |!12=x2%..>.BLK%!|
00001940  31 36 3d 79 32 25 0d 08  48 27 c8 99 20 22 57 69  |16=y2%..H'.. "Wi|
00001950  6d 70 5f 55 70 64 61 74  65 57 69 6e 64 6f 77 22  |mp_UpdateWindow"|
00001960  2c 2c 42 4c 4b 25 20 b8  20 46 49 4e 25 0d 08 52  |,,BLK% . FIN%..R|
00001970  0f f2 67 65 74 65 64 62  72 75 6f 72 0d 08 5c 0b  |..getedbruor..\.|
00001980  c8 95 20 46 49 4e 25 0d  08 66 0e f2 70 6c 6f 74  |.. FIN%..f..plot|
00001990  65 64 62 72 75 0d 08 70  27 c8 99 20 22 57 69 6d  |edbru..p'.. "Wim|
000019a0  70 5f 47 65 74 52 65 63  74 61 6e 67 6c 65 22 2c  |p_GetRectangle",|
000019b0  2c 42 4c 4b 25 20 b8 20  46 49 4e 25 0d 08 7a 05  |,BLK% . FIN%..z.|
000019c0  ce 0d 08 84 05 e1 0d 08  8e 04 0d 08 98 14 dd f2  |................|
000019d0  66 6f 72 63 65 64 72 61  77 62 72 75 73 68 0d 08  |forcedrawbrush..|
000019e0  a2 12 21 42 4c 4b 25 3d  48 41 4e 44 25 28 35 29  |..!BLK%=HAND%(5)|
000019f0  0d 08 ac 0c 42 4c 4b 25  21 34 3d 30 0d 08 b6 0f  |....BLK%!4=0....|
00001a00  42 4c 4b 25 21 38 3d 2d  32 36 30 0d 08 c0 0f 42  |BLK%!8=-260....B|
00001a10  4c 4b 25 21 31 32 3d 33  38 34 0d 08 ca 0d 42 4c  |LK%!12=384....BL|
00001a20  4b 25 21 31 36 3d 30 0d  08 d4 27 c8 99 20 22 57  |K%!16=0...'.. "W|
00001a30  69 6d 70 5f 55 70 64 61  74 65 57 69 6e 64 6f 77  |imp_UpdateWindow|
00001a40  22 2c 2c 42 4c 4b 25 20  b8 20 46 49 4e 25 0d 08  |",,BLK% . FIN%..|
00001a50  de 0f f2 67 65 74 62 72  75 73 68 6f 72 0d 08 e8  |...getbrushor...|
00001a60  0b c8 95 20 46 49 4e 25  0d 08 f2 10 f2 70 6c 6f  |... FIN%.....plo|
00001a70  74 62 72 75 73 68 65 73  0d 08 fc 27 c8 99 20 22  |tbrushes...'.. "|
00001a80  57 69 6d 70 5f 47 65 74  52 65 63 74 61 6e 67 6c  |Wimp_GetRectangl|
00001a90  65 22 2c 2c 42 4c 4b 25  20 b8 20 46 49 4e 25 0d  |e",,BLK% . FIN%.|
00001aa0  09 06 05 ce 0d 09 10 05  e1 0d 09 1a 04 0d 09 24  |...............$|
00001ab0  28 dd f2 70 6c 6f 74 32  35 36 73 70 72 69 74 65  |(..plot256sprite|
00001ac0  28 53 50 41 25 2c 53 50  49 24 2c 50 4f 58 25 2c  |(SPA%,SPI$,POX%,|
00001ad0  50 4f 59 25 29 0d 09 2e  14 e7 20 eb 3c 3e 31 35  |POY%)..... .<>15|
00001ae0  20 8c 20 e5 20 8d 44 42  49 0d 09 38 5a 21 53 43  | . . .DBI..8Z!SC|
00001af0  41 4c 45 25 3d 31 3a 53  43 41 4c 45 25 21 34 3d  |ALE%=1:SCALE%!4=|
00001b00  31 3a 53 43 41 4c 45 25  21 38 3d 31 3a 53 43 41  |1:SCALE%!8=1:SCA|
00001b10  4c 45 25 21 31 32 3d 31  3a c8 99 20 22 4f 53 5f  |LE%!12=1:.. "OS_|
00001b20  53 70 72 69 74 65 4f 70  22 2c 32 39 30 2c 53 50  |SpriteOp",290,SP|
00001b30  41 25 2c 53 50 49 24 2c  50 4f 58 25 2c 50 4f 59  |A%,SPI$,POX%,POY|
00001b40  25 3a e1 0d 09 42 39 e7  20 eb 3c 3e 45 53 4d 25  |%:...B9. .<>ESM%|
00001b50  20 8c 20 45 53 4d 25 3d  eb 3a 45 50 4d 25 3d eb  | . ESM%=.:EPM%=.|
00001b60  3a c8 99 26 34 30 37 34  30 2c 31 35 2c 30 2c 2d  |:..&40740,15,0,-|
00001b70  31 2c 2d 31 2c 50 49 58  54 41 42 25 0d 09 4c 15  |1,-1,PIXTAB%..L.|
00001b80  c8 99 26 33 35 2c 2d 31  2c 34 20 b8 20 2c 2c 45  |..&35,-1,4 . ,,E|
00001b90  25 0d 09 56 56 e7 20 45  25 3c 31 20 8c 20 53 58  |%..VV. E%<1 . SX|
00001ba0  25 3d 32 5e 28 31 2d 45  25 29 3a 21 53 43 41 4c  |%=2^(1-E%):!SCAL|
00001bb0  45 25 3d 53 58 25 3a 53  43 41 4c 45 25 21 38 3d  |E%=SX%:SCALE%!8=|
00001bc0  31 20 8b 20 53 58 25 3d  32 5e 28 45 25 2d 31 29  |1 . SX%=2^(E%-1)|
00001bd0  3a 21 53 43 41 4c 45 25  3d 31 3a 53 43 41 4c 45  |:!SCALE%=1:SCALE|
00001be0  25 21 38 3d 53 58 25 0d  09 60 1a 53 43 41 4c 45  |%!8=SX%..`.SCALE|
00001bf0  25 21 34 3d 31 3a 53 43  41 4c 45 25 21 31 32 3d  |%!4=1:SCALE%!12=|
00001c00  31 0d 09 6a 3d c8 99 20  22 4f 53 5f 53 70 72 69  |1..j=.. "OS_Spri|
00001c10  74 65 4f 70 22 2c 33 30  38 2c 53 50 41 25 2c 53  |teOp",308,SPA%,S|
00001c20  50 49 24 2c 50 4f 58 25  2c 50 4f 59 25 2c 30 2c  |PI$,POX%,POY%,0,|
00001c30  53 43 41 4c 45 25 2c 50  49 58 54 41 42 25 0d 09  |SCALE%,PIXTAB%..|
00001c40  74 05 e1 0d 09 7e 04 0d  09 88 11 dd f2 70 6c 6f  |t....~.......plo|
00001c50  74 70 61 74 66 69 6c 6c  0d 09 92 aa e3 4c 25 3d  |tpatfill.....L%=|
00001c60  31 20 b8 20 31 32 3a f2  70 6c 6f 74 32 35 36 73  |1 . 12:.plot256s|
00001c70  70 72 69 74 65 28 50 46  49 4c 4c 53 25 2c c3 4c  |prite(PFILLS%,.L|
00001c80  25 2c 57 4f 58 25 2b 28  28 4c 25 2d 31 29 2a 38  |%,WOX%+((L%-1)*8|
00001c90  34 29 2b 32 34 2c 57 4f  59 25 2b 31 32 29 3a e7  |4)+24,WOY%+12):.|
00001ca0  20 43 50 46 25 3d 4c 25  20 8c 20 f2 63 6f 6c 28  | CPF%=L% . .col(|
00001cb0  30 2c 30 2c 30 29 3a c8  93 20 57 4f 58 25 2b 28  |0,0,0):.. WOX%+(|
00001cc0  28 43 50 46 25 2d 31 29  2a 38 34 29 2b 31 36 2c  |(CPF%-1)*84)+16,|
00001cd0  57 4f 59 25 2b 34 2c 37  38 2c 37 36 3a c8 93 20  |WOY%+4,78,76:.. |
00001ce0  57 4f 58 25 2b 28 28 43  50 46 25 2d 31 29 2a 38  |WOX%+((CPF%-1)*8|
00001cf0  34 29 2b 31 38 2c 57 4f  59 25 2b 34 2c 37 34 2c  |4)+18,WOY%+4,74,|
00001d00  37 36 0d 09 9c 05 ed 0d  09 a6 05 e1 0d 09 b0 04  |76..............|
00001d10  0d 09 ba 11 dd f2 70 6c  6f 74 62 72 75 73 68 65  |......plotbrushe|
00001d20  73 0d 09 c4 0e e3 4c 25  3d 31 20 b8 20 31 32 0d  |s.....L%=1 . 12.|
00001d30  09 ce 44 42 4c 4b 25 21  34 30 30 3d 48 41 4e 44  |..DBLK%!400=HAND|
00001d40  25 28 35 29 3a 42 4c 4b  25 21 34 30 34 3d 4c 25  |%(5):BLK%!404=L%|
00001d50  2d 31 3a c8 99 20 22 57  69 6d 70 5f 47 65 74 49  |-1:.. "Wimp_GetI|
00001d60  63 6f 6e 53 74 61 74 65  22 2c 2c 42 4c 4b 25 2b  |conState",,BLK%+|
00001d70  34 30 30 0d 09 d8 48 f2  70 6c 6f 74 32 35 36 73  |400...H.plot256s|
00001d80  70 72 69 74 65 28 42 52  55 53 48 25 2c c3 4c 25  |prite(BRUSH%,.L%|
00001d90  2c 57 4f 58 25 2b 28 42  4c 4b 25 21 34 30 38 29  |,WOX%+(BLK%!408)|
00001da0  2b 32 2c 57 4f 59 25 2b  28 32 36 30 2b 28 42 4c  |+2,WOY%+(260+(BL|
00001db0  4b 25 21 34 31 32 29 29  2b 34 29 0d 09 e2 56 e7  |K%!412))+4)...V.|
00001dc0  20 53 45 4c 42 52 25 3d  4c 25 20 8c 20 f2 63 6f  | SELBR%=L% . .co|
00001dd0  6c 28 34 38 2c 31 39 32  2c 33 29 3a c8 93 20 c8  |l(48,192,3):.. .|
00001de0  90 20 57 4f 58 25 2b 28  42 4c 4b 25 21 34 30 38  |. WOX%+(BLK%!408|
00001df0  29 2b 32 2c 57 4f 59 25  2b 28 32 36 30 2b 28 42  |)+2,WOY%+(260+(B|
00001e00  4c 4b 25 21 34 31 32 29  29 2b 34 2c 36 34 2c 36  |LK%!412))+4,64,6|
00001e10  30 0d 09 ec 05 ed 0d 09  f6 05 e1 0d 0a 00 04 0d  |0...............|
00001e20  0a 0a 0f dd f2 70 6c 6f  74 65 64 62 72 75 0d 0a  |.....plotedbru..|
00001e30  14 0e e3 4c 25 3d 31 20  b8 20 31 32 0d 0a 1e 45  |...L%=1 . 12...E|
00001e40  42 4c 4b 25 21 34 30 30  3d 48 41 4e 44 25 28 31  |BLK%!400=HAND%(1|
00001e50  32 29 3a 42 4c 4b 25 21  34 30 34 3d 4c 25 2d 31  |2):BLK%!404=L%-1|
00001e60  3a c8 99 20 22 57 69 6d  70 5f 47 65 74 49 63 6f  |:.. "Wimp_GetIco|
00001e70  6e 53 74 61 74 65 22 2c  2c 42 4c 4b 25 2b 34 30  |nState",,BLK%+40|
00001e80  30 0d 0a 28 3a f2 70 6c  6f 74 32 35 36 73 70 72  |0..(:.plot256spr|
00001e90  69 74 65 28 42 52 55 53  48 25 2c c3 4c 25 2c 57  |ite(BRUSH%,.L%,W|
00001ea0  4f 58 25 2b 28 28 4c 25  2d 31 29 2a 36 34 29 2b  |OX%+((L%-1)*64)+|
00001eb0  33 32 2c 57 4f 59 25 2b  32 30 29 0d 0a 32 47 e7  |32,WOY%+20)..2G.|
00001ec0  20 45 44 42 52 25 3d 4c  25 20 8c 20 f2 63 6f 6c  | EDBR%=L% . .col|
00001ed0  28 34 38 2c 31 39 32 2c  33 29 3a c8 93 20 c8 90  |(48,192,3):.. ..|
00001ee0  20 57 4f 58 25 2b 28 28  4c 25 2d 31 29 2a 36 34  | WOX%+((L%-1)*64|
00001ef0  29 2b 33 32 2c 57 4f 59  25 2b 32 30 2c 36 34 2c  |)+32,WOY%+20,64,|
00001f00  36 30 0d 0a 3c 05 ed 0d  0a 46 23 21 53 43 41 4c  |60..<....F#!SCAL|
00001f10  45 25 3d 28 21 53 43 41  4c 45 25 29 2a 31 32 3a  |E%=(!SCALE%)*12:|
00001f20  53 43 41 4c 45 25 21 34  3d 38 0d 0a 50 91 e7 20  |SCALE%!4=8..P.. |
00001f30  eb 3c 3e 31 35 20 8c 20  c8 99 20 22 4f 53 5f 53  |.<>15 . .. "OS_S|
00001f40  70 72 69 74 65 4f 70 22  2c 33 30 38 2c 42 52 55  |priteOp",308,BRU|
00001f50  53 48 25 2c c3 45 44 42  52 25 2c 57 4f 58 25 2b  |SH%,.EDBR%,WOX%+|
00001f60  32 38 2c 57 4f 59 25 2b  31 31 32 2c 30 2c 53 43  |28,WOY%+112,0,SC|
00001f70  41 4c 45 25 2c 50 49 58  54 41 42 25 20 8b 20 c8  |ALE%,PIXTAB% . .|
00001f80  99 20 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |. "OS_SpriteOp",|
00001f90  33 30 38 2c 42 52 55 53  48 25 2c c3 45 44 42 52  |308,BRUSH%,.EDBR|
00001fa0  25 2c 57 4f 58 25 2b 32  38 2c 57 4f 59 25 2b 31  |%,WOX%+28,WOY%+1|
00001fb0  31 32 2c 30 2c 53 43 41  4c 45 25 0d 0a 5a 91 45  |12,0,SCALE%..Z.E|
00001fc0  58 25 3d 57 4f 58 25 2b  32 38 3a 45 59 25 3d 57  |X%=WOX%+28:EY%=W|
00001fd0  4f 59 25 2b 31 31 32 3a  f2 63 6f 6c 28 32 31 2c  |OY%+112:.col(21,|
00001fe0  31 39 32 2c 30 29 3a e3  4c 25 3d 30 20 b8 20 33  |192,0):.L%=0 . 3|
00001ff0  32 3a 86 20 45 58 25 2b  28 4c 25 2a 32 34 29 2c  |2:. EX%+(L%*24),|
00002000  45 59 25 2c 45 58 25 2b  28 4c 25 2a 32 34 29 2c  |EY%,EX%+(L%*24),|
00002010  45 59 25 2b 35 31 32 3a  ed 3a e3 4c 25 3d 30 20  |EY%+512:.:.L%=0 |
00002020  b8 20 31 36 3a 86 20 45  58 25 2c 45 59 25 2b 28  |. 16:. EX%,EY%+(|
00002030  4c 25 2a 33 32 29 2c 45  58 25 2b 37 36 38 2c 45  |L%*32),EX%+768,E|
00002040  59 25 2b 28 4c 25 2a 33  32 29 3a ed 0d 0a 64 05  |Y%+(L%*32):...d.|
00002050  e1 0d 0a 6e 04 0d 0a 78  13 dd f2 66 6f 72 63 65  |...n...x...force|
00002060  64 72 61 77 6d 61 69 6e  0d 0a 82 12 21 42 4c 4b  |drawmain....!BLK|
00002070  25 3d 48 41 4e 44 25 28  32 29 0d 0a 8c 0c 42 4c  |%=HAND%(2)....BL|
00002080  4b 25 21 34 3d 30 0d 0a  96 15 42 4c 4b 25 21 38  |K%!4=0....BLK%!8|
00002090  3d 2d 39 33 36 2a 5a 4f  4f 4d 25 0d 0a a0 16 42  |=-936*ZOOM%....B|
000020a0  4c 4b 25 21 31 32 3d 31  32 33 36 2a 5a 4f 4f 4d  |LK%!12=1236*ZOOM|
000020b0  25 0d 0a aa 0d 42 4c 4b  25 21 31 36 3d 30 0d 0a  |%....BLK%!16=0..|
000020c0  b4 27 c8 99 20 22 57 69  6d 70 5f 55 70 64 61 74  |.'.. "Wimp_Updat|
000020d0  65 57 69 6e 64 6f 77 22  2c 2c 42 4c 4b 25 20 b8  |eWindow",,BLK% .|
000020e0  20 46 49 4e 25 0d 0a be  0a f2 67 65 74 6f 72 0d  | FIN%.....getor.|
000020f0  0a c8 0b c8 95 20 46 49  4e 25 0d 0a d2 0c f2 70  |..... FIN%.....p|
00002100  6c 6f 74 70 69 63 0d 0a  dc 27 c8 99 20 22 57 69  |lotpic...'.. "Wi|
00002110  6d 70 5f 47 65 74 52 65  63 74 61 6e 67 6c 65 22  |mp_GetRectangle"|
00002120  2c 2c 42 4c 4b 25 20 b8  20 46 49 4e 25 0d 0a e6  |,,BLK% . FIN%...|
00002130  05 ce 0d 0a f0 05 e1 0d  0a fa 04 0d 0b 04 21 dd  |..............!.|
00002140  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 3a e7  |.quickdrawmain:.|
00002150  20 ac 20 56 41 43 42 25  20 8c 20 e1 0d 0b 0e 12  | . VACB% . .....|
00002160  21 42 4c 4b 25 3d 48 41  4e 44 25 28 32 29 0d 0b  |!BLK%=HAND%(2)..|
00002170  18 12 42 4c 4b 25 21 34  3d 43 42 4d 49 4e 58 25  |..BLK%!4=CBMINX%|
00002180  0d 0b 22 12 42 4c 4b 25  21 38 3d 43 42 4d 49 4e  |..".BLK%!8=CBMIN|
00002190  59 25 0d 0b 2c 13 42 4c  4b 25 21 31 32 3d 43 42  |Y%..,.BLK%!12=CB|
000021a0  4d 41 58 58 25 0d 0b 36  13 42 4c 4b 25 21 31 36  |MAXX%..6.BLK%!16|
000021b0  3d 43 42 4d 41 58 59 25  0d 0b 40 27 c8 99 20 22  |=CBMAXY%..@'.. "|
000021c0  57 69 6d 70 5f 55 70 64  61 74 65 57 69 6e 64 6f  |Wimp_UpdateWindo|
000021d0  77 22 2c 2c 42 4c 4b 25  20 b8 20 46 49 4e 25 0d  |w",,BLK% . FIN%.|
000021e0  0b 4a 0a f2 67 65 74 6f  72 0d 0b 54 0b c8 95 20  |.J..getor..T... |
000021f0  46 49 4e 25 0d 0b 5e 0c  f2 70 6c 6f 74 70 69 63  |FIN%..^..plotpic|
00002200  0d 0b 68 27 c8 99 20 22  57 69 6d 70 5f 47 65 74  |..h'.. "Wimp_Get|
00002210  52 65 63 74 61 6e 67 6c  65 22 2c 2c 42 4c 4b 25  |Rectangle",,BLK%|
00002220  20 b8 20 46 49 4e 25 0d  0b 72 05 ce 0d 0b 7c 05  | . FIN%..r....|.|
00002230  e1 0d 0b 86 04 0d 0b 90  15 dd f2 69 6e 70 69 63  |...........inpic|
00002240  3a e7 20 49 50 25 20 8c  20 e1 0d 0b 9a 09 49 50  |:. IP% . .....IP|
00002250  25 3d b9 0d 0b a4 31 c8  99 20 22 4f 53 5f 53 70  |%=....1.. "OS_Sp|
00002260  72 69 74 65 4f 70 22 2c  33 31 36 2c 50 49 43 25  |riteOp",316,PIC%|
00002270  2c 22 50 49 43 22 20 b8  20 56 31 2c 56 32 2c 56  |,"PIC" . V1,V2,V|
00002280  33 2c 56 34 0d 0b ae 18  c8 99 20 22 4f 53 5f 43  |3,V4...... "OS_C|
00002290  68 61 6e 67 65 64 42 6f  78 22 2c 32 0d 0b b8 18  |hangedBox",2....|
000022a0  c8 99 20 22 4f 53 5f 43  68 61 6e 67 65 64 42 6f  |.. "OS_ChangedBo|
000022b0  78 22 2c 31 0d 0b c2 38  f4 20 47 43 4f 4c 33 2c  |x",1...8. GCOL3,|
000022c0  36 33 3a 4c 49 4e 45 20  33 30 30 2c 33 30 30 2c  |63:LINE 300,300,|
000022d0  33 32 30 2c 33 32 30 3a  4c 49 4e 45 20 33 30 30  |320,320:LINE 300|
000022e0  2c 33 30 30 2c 33 32 30  2c 33 32 30 0d 0b cc 25  |,300,320,320...%|
000022f0  ef 32 33 2c 36 3a e3 4c  25 3d 31 20 b8 20 35 3a  |.23,6:.L%=1 . 5:|
00002300  ef 20 50 41 54 25 28 4c  25 29 3a ed 3a ef 20 30  |. PAT%(L%):.:. 0|
00002310  7c 0d 0b d6 15 c8 99 36  2c 31 36 33 2c 32 34 32  ||......6,163,242|
00002320  2c 50 41 4c 45 25 0d 0b  e0 05 e1 0d 0b ea 04 0d  |,PALE%..........|
00002330  0b f4 40 dd f2 69 6e 62  61 63 6b 75 70 3a c8 99  |..@..inbackup:..|
00002340  20 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 33  | "OS_SpriteOp",3|
00002350  31 36 2c 53 50 42 55 46  25 2c 22 50 49 43 22 20  |16,SPBUF%,"PIC" |
00002360  b8 20 42 31 2c 42 32 2c  42 33 2c 42 34 3a e1 0d  |. B1,B2,B3,B4:..|
00002370  0b fe 04 0d 0c 08 46 dd  f2 69 6e 73 70 72 69 74  |......F..insprit|
00002380  65 28 6d 61 25 2c 73 61  25 2c 73 6e 24 29 3a c8  |e(ma%,sa%,sn$):.|
00002390  99 20 26 32 45 2c 33 31  36 2b 6d 61 25 2c 73 61  |. &2E,316+ma%,sa|
000023a0  25 2c 73 6e 24 20 b8 20  49 53 31 2c 49 53 32 2c  |%,sn$ . IS1,IS2,|
000023b0  49 53 33 2c 49 53 34 3a  e1 0d 0c 12 04 0d 0c 1c  |IS3,IS4:........|
000023c0  28 dd f2 6f 75 74 73 70  72 69 74 65 3a c8 99 20  |(..outsprite:.. |
000023d0  26 32 45 2c 49 53 31 2c  49 53 32 2c 49 53 33 2c  |&2E,IS1,IS2,IS3,|
000023e0  49 53 34 3a e1 0d 0c 26  04 0d 0c 30 2e dd f2 6f  |IS4:...&...0...o|
000023f0  75 74 62 61 63 6b 75 70  3a c8 99 20 22 4f 53 5f  |utbackup:.. "OS_|
00002400  53 70 72 69 74 65 4f 70  22 2c 42 31 2c 42 32 2c  |SpriteOp",B1,B2,|
00002410  42 33 2c 42 34 3a e1 0d  0c 3a 04 0d 0c 44 18 dd  |B3,B4:...:...D..|
00002420  f2 6f 75 74 70 69 63 3a  e7 20 ac 20 49 50 25 20  |.outpic:. . IP% |
00002430  8c 20 e1 0d 0c 4e 09 49  50 25 3d a3 0d 0c 58 21  |. ...N.IP%=...X!|
00002440  c8 99 20 22 4f 53 5f 43  68 61 6e 67 65 64 42 6f  |.. "OS_ChangedBo|
00002450  78 22 2c 2d 31 20 b8 20  2c 43 42 41 25 0d 0c 62  |x",-1 . ,CBA%..b|
00002460  87 e7 20 b4 28 43 42 41  25 21 34 29 3d 2d 31 20  |.. .(CBA%!4)=-1 |
00002470  84 20 b4 28 43 42 41 25  21 38 29 3d 2d 31 20 84  |. .(CBA%!8)=-1 .|
00002480  20 b4 28 43 42 41 25 21  31 32 29 3d 2d 31 20 84  | .(CBA%!12)=-1 .|
00002490  20 b4 28 43 42 41 25 21  31 36 29 3d 2d 31 20 8c  | .(CBA%!16)=-1 .|
000024a0  20 56 41 43 42 25 3d a3  3a c8 99 20 22 4f 53 5f  | VACB%=.:.. "OS_|
000024b0  43 68 61 6e 67 65 64 42  6f 78 22 3a c8 99 20 22  |ChangedBox":.. "|
000024c0  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 56 31 2c  |OS_SpriteOp",V1,|
000024d0  56 32 2c 56 33 2c 56 34  3a e1 20 8b 20 56 41 43  |V2,V3,V4:. . VAC|
000024e0  42 25 3d b9 0d 0c 6c 2a  43 42 4d 49 4e 58 25 3d  |B%=...l*CBMINX%=|
000024f0  43 42 41 25 21 34 3a 43  42 4d 49 4e 58 25 3d 43  |CBA%!4:CBMINX%=C|
00002500  42 4d 49 4e 58 25 2a 5a  4f 4f 4d 25 2a 32 0d 0c  |BMINX%*ZOOM%*2..|
00002510  76 33 43 42 4d 49 4e 59  25 3d 43 42 41 25 21 38  |v3CBMINY%=CBA%!8|
00002520  3a 43 42 4d 49 4e 59 25  3d 28 2d 39 33 36 2b 28  |:CBMINY%=(-936+(|
00002530  43 42 4d 49 4e 59 25 2a  34 29 29 2a 5a 4f 4f 4d  |CBMINY%*4))*ZOOM|
00002540  25 0d 0c 80 2b 43 42 4d  41 58 58 25 3d 43 42 41  |%...+CBMAXX%=CBA|
00002550  25 21 31 32 3a 43 42 4d  41 58 58 25 3d 43 42 4d  |%!12:CBMAXX%=CBM|
00002560  41 58 58 25 2a 5a 4f 4f  4d 25 2a 32 0d 0c 8a 34  |AXX%*ZOOM%*2...4|
00002570  43 42 4d 41 58 59 25 3d  43 42 41 25 21 31 36 3a  |CBMAXY%=CBA%!16:|
00002580  43 42 4d 41 58 59 25 3d  28 2d 39 33 36 2b 28 43  |CBMAXY%=(-936+(C|
00002590  42 4d 41 58 59 25 2a 34  29 29 2a 5a 4f 4f 4d 25  |BMAXY%*4))*ZOOM%|
000025a0  0d 0c 94 14 43 42 4d 41  58 58 25 2b 3d 34 2a 5a  |....CBMAXX%+=4*Z|
000025b0  4f 4f 4d 25 0d 0c 9e 14  43 42 4d 41 58 59 25 2b  |OOM%....CBMAXY%+|
000025c0  3d 34 2a 5a 4f 4f 4d 25  0d 0c a8 16 c8 99 20 22  |=4*ZOOM%...... "|
000025d0  4f 53 5f 43 68 61 6e 67  65 64 42 6f 78 22 0d 0c  |OS_ChangedBox"..|
000025e0  b2 20 c8 99 20 22 4f 53  5f 53 70 72 69 74 65 4f  |. .. "OS_SpriteO|
000025f0  70 22 2c 56 31 2c 56 32  2c 56 33 2c 56 34 0d 0c  |p",V1,V2,V3,V4..|
00002600  bc 05 e1 0d 0c c6 04 0d  0c d0 10 dd f2 72 65 64  |.............red|
00002610  72 61 77 6d 61 69 6e 0d  0c da 10 e7 20 46 55 53  |rawmain..... FUS|
00002620  45 25 3d 33 32 20 8c 0d  0c e4 1b e7 20 46 4f 4e  |E%=32 ...... FON|
00002630  54 25 3c 3e 30 20 80 20  45 46 4d 25 3c 3e 2d 31  |T%<>0 . EFM%<>-1|
00002640  20 8c 0d 0c ee 5b e7 20  eb 3c 3e 45 46 4d 25 20  | ....[. .<>EFM% |
00002650  8c 20 f2 69 6e 70 69 63  3a c8 99 20 22 43 6f 6c  |. .inpic:.. "Col|
00002660  6f 75 72 54 72 61 6e 73  5f 53 65 74 46 6f 6e 74  |ourTrans_SetFont|
00002670  43 6f 6c 6f 75 72 73 22  2c 46 48 41 4e 44 25 2c  |Colours",FHAND%,|
00002680  42 50 41 4c 25 2c 46 50  41 4c 25 2c 31 34 3a f2  |BPAL%,FPAL%,14:.|
00002690  6f 75 74 70 69 63 3a 45  46 4d 25 3d eb 0d 0c f8  |outpic:EFM%=....|
000026a0  05 cd 0d 0d 02 05 cd 0d  0d 0c 27 c8 99 20 22 57  |..........'.. "W|
000026b0  69 6d 70 5f 52 65 64 72  61 77 57 69 6e 64 6f 77  |imp_RedrawWindow|
000026c0  22 2c 2c 42 4c 4b 25 20  b8 20 46 49 4e 25 0d 0d  |",,BLK% . FIN%..|
000026d0  16 0a f2 67 65 74 6f 72  0d 0d 20 38 c8 95 20 46  |...getor.. 8.. F|
000026e0  49 4e 25 3a f2 70 6c 6f  74 70 69 63 3a c8 99 20  |IN%:.plotpic:.. |
000026f0  22 57 69 6d 70 5f 47 65  74 52 65 63 74 61 6e 67  |"Wimp_GetRectang|
00002700  6c 65 22 2c 2c 42 4c 4b  25 20 b8 20 46 49 4e 25  |le",,BLK% . FIN%|
00002710  0d 0d 2a 05 ce 0d 0d 34  05 e1 0d 0d 3e 04 0d 0d  |..*....4....>...|
00002720  48 0d dd f2 70 6c 6f 74  70 69 63 0d 0d 52 48 e7  |H...plotpic..RH.|
00002730  20 eb 3d 31 35 20 80 20  5a 4f 4f 4d 25 3d 31 20  | .=15 . ZOOM%=1 |
00002740  8c 20 c8 99 20 22 4f 53  5f 53 70 72 69 74 65 4f  |. .. "OS_SpriteO|
00002750  70 22 2c 32 39 30 2c 50  49 43 25 2c 22 50 49 43  |p",290,PIC%,"PIC|
00002760  22 2c 57 4f 58 25 2c 57  4f 59 25 3a f2 67 72 69  |",WOX%,WOY%:.gri|
00002770  64 3a e1 0d 0d 5c 39 e7  20 eb 3c 3e 45 53 4d 25  |d:...\9. .<>ESM%|
00002780  20 8c 20 45 53 4d 25 3d  eb 3a 45 50 4d 25 3d eb  | . ESM%=.:EPM%=.|
00002790  3a c8 99 26 34 30 37 34  30 2c 31 35 2c 30 2c 2d  |:..&40740,15,0,-|
000027a0  31 2c 2d 31 2c 50 49 58  54 41 42 25 0d 0d 66 15  |1,-1,PIXTAB%..f.|
000027b0  c8 99 26 33 35 2c 2d 31  2c 34 20 b8 20 2c 2c 45  |..&35,-1,4 . ,,E|
000027c0  25 0d 0d 70 56 e7 20 45  25 3c 31 20 8c 20 53 58  |%..pV. E%<1 . SX|
000027d0  25 3d 32 5e 28 31 2d 45  25 29 3a 21 53 43 41 4c  |%=2^(1-E%):!SCAL|
000027e0  45 25 3d 53 58 25 3a 53  43 41 4c 45 25 21 38 3d  |E%=SX%:SCALE%!8=|
000027f0  31 20 8b 20 53 58 25 3d  32 5e 28 45 25 2d 31 29  |1 . SX%=2^(E%-1)|
00002800  3a 21 53 43 41 4c 45 25  3d 31 3a 53 43 41 4c 45  |:!SCALE%=1:SCALE|
00002810  25 21 38 3d 53 58 25 0d  0d 7a 1b 21 53 43 41 4c  |%!8=SX%..z.!SCAL|
00002820  45 25 3d 28 21 53 43 41  4c 45 25 29 2a 5a 4f 4f  |E%=(!SCALE%)*ZOO|
00002830  4d 25 0d 0d 84 12 53 43  41 4c 45 25 21 34 3d 5a  |M%....SCALE%!4=Z|
00002840  4f 4f 4d 25 0d 0d 8e 0f  53 43 41 4c 45 25 21 31  |OOM%....SCALE%!1|
00002850  32 3d 31 0d 0d 98 2a e7  20 eb 3d 31 35 20 8c 20  |2=1...*. .=15 . |
00002860  54 50 49 58 54 41 42 25  3d 30 20 8b 20 54 50 49  |TPIXTAB%=0 . TPI|
00002870  58 54 41 42 25 3d 50 49  58 54 41 42 25 0d 0d a2  |XTAB%=PIXTAB%...|
00002880  47 c8 99 20 22 4f 53 5f  53 70 72 69 74 65 4f 70  |G.. "OS_SpriteOp|
00002890  22 2c 33 30 38 2c 50 49  43 25 2c 22 50 49 43 22  |",308,PIC%,"PIC"|
000028a0  2c 57 4f 58 25 2c 57 4f  59 25 2c 30 2c 53 43 41  |,WOX%,WOY%,0,SCA|
000028b0  4c 45 25 2c 54 50 49 58  54 41 42 25 3a f2 67 72  |LE%,TPIXTAB%:.gr|
000028c0  69 64 3a e1 0d 0d ac 04  0d 0d b6 43 dd f2 67 72  |id:........C..gr|
000028d0  69 64 3a e7 20 47 52 43  4f 25 3d 2d 31 20 84 20  |id:. GRCO%=-1 . |
000028e0  28 32 2a 47 52 57 49 25  2a 5a 4f 4f 4d 25 29 3c  |(2*GRWI%*ZOOM%)<|
000028f0  31 36 20 84 20 28 34 2a  47 52 48 45 25 2a 5a 4f  |16 . (4*GRHE%*ZO|
00002900  4f 4d 25 29 3c 31 36 20  8c 20 e1 0d 0d c0 0c f2  |OM%)<16 . ......|
00002910  67 72 69 64 63 6f 6c 0d  0d ca 0b ea 20 58 25 2c  |gridcol..... X%,|
00002920  59 25 0d 0d d4 3d 58 25  3d 28 28 28 42 4c 4b 25  |Y%...=X%=(((BLK%|
00002930  21 32 38 29 2d 57 4f 58  25 29 20 81 20 28 5a 4f  |!28)-WOX%) . (ZO|
00002940  4f 4d 25 2a 28 32 2a 47  52 57 49 25 29 29 29 2a  |OM%*(2*GRWI%)))*|
00002950  28 32 2a 47 52 57 49 25  2a 5a 4f 4f 4d 25 29 0d  |(2*GRWI%*ZOOM%).|
00002960  0d de 3d 59 25 3d 28 28  28 42 4c 4b 25 21 33 32  |..=Y%=(((BLK%!32|
00002970  29 2d 57 4f 59 25 29 20  81 20 28 5a 4f 4f 4d 25  |)-WOY%) . (ZOOM%|
00002980  2a 28 34 2a 47 52 48 45  25 29 29 29 2a 28 34 2a  |*(4*GRHE%)))*(4*|
00002990  47 52 48 45 25 2a 5a 4f  4f 4d 25 29 0d 0d e8 1e  |GRHE%*ZOOM%)....|
000029a0  58 4f 46 25 3d 28 47 52  57 49 25 2d 47 52 42 58  |XOF%=(GRWI%-GRBX|
000029b0  25 29 2a 32 2a 5a 4f 4f  4d 25 0d 0d f2 1e 59 4f  |%)*2*ZOOM%....YO|
000029c0  46 25 3d 28 47 52 48 45  25 2d 47 52 42 59 25 29  |F%=(GRHE%-GRBY%)|
000029d0  2a 34 2a 5a 4f 4f 4d 25  0d 0d fc 11 58 25 2b 3d  |*4*ZOOM%....X%+=|
000029e0  57 4f 58 25 2d 58 4f 46  25 0d 0e 06 11 59 25 2b  |WOX%-XOF%....Y%+|
000029f0  3d 57 4f 59 25 2d 59 4f  46 25 0d 0e 10 44 f5 3a  |=WOY%-YOF%...D.:|
00002a00  86 20 58 25 2c 28 42 4c  4b 25 21 33 32 29 2c 58  |. X%,(BLK%!32),X|
00002a10  25 2c 28 42 4c 4b 25 21  34 30 29 3a 58 25 2b 3d  |%,(BLK%!40):X%+=|
00002a20  28 32 2a 47 52 57 49 25  2a 5a 4f 4f 4d 25 29 3a  |(2*GRWI%*ZOOM%):|
00002a30  fd 20 58 25 3e 28 42 4c  4b 25 21 33 36 29 0d 0e  |. X%>(BLK%!36)..|
00002a40  1a 44 f5 3a 86 20 28 42  4c 4b 25 21 32 38 29 2c  |.D.:. (BLK%!28),|
00002a50  59 25 2c 28 42 4c 4b 25  21 33 36 29 2c 59 25 3a  |Y%,(BLK%!36),Y%:|
00002a60  59 25 2b 3d 28 34 2a 47  52 48 45 25 2a 5a 4f 4f  |Y%+=(4*GRHE%*ZOO|
00002a70  4d 25 29 3a fd 20 59 25  3e 28 42 4c 4b 25 21 34  |M%):. Y%>(BLK%!4|
00002a80  30 29 0d 0e 24 05 e1 0d  0e 2e 04 0d 0e 38 13 dd  |0)..$........8..|
00002a90  f2 70 6c 6f 74 70 61 6c  28 50 54 55 25 29 0d 0e  |.plotpal(PTU%)..|
00002aa0  42 12 f2 63 6f 6c 28 36  33 2c 31 39 32 2c 30 29  |B..col(63,192,0)|
00002ab0  0d 0e 4c 1a f4 20 56 44  55 34 3a 50 52 49 4e 54  |..L.. VDU4:PRINT|
00002ac0  20 57 4f 58 25 2c 57 4f  59 25 0d 0e 56 14 e7 20  | WOX%,WOY%..V.. |
00002ad0  eb 3c 3e 31 35 20 8c 20  e5 20 8d 44 74 4e 0d 0e  |.<>15 . . .DtN..|
00002ae0  60 74 c8 99 20 22 4f 53  5f 53 70 72 69 74 65 4f  |`t.. "OS_SpriteO|
00002af0  70 22 2c 32 39 30 2c 50  54 55 25 2c 22 50 61 6c  |p",290,PTU%,"Pal|
00002b00  65 74 74 65 22 2c 57 4f  58 25 2c 57 4f 59 25 3a  |ette",WOX%,WOY%:|
00002b10  e7 20 50 54 55 25 3d 50  41 4c 25 20 8c 20 c8 93  |. PTU%=PAL% . ..|
00002b20  20 57 4f 58 25 2b 28 28  43 4f 4c 25 20 83 20 33  | WOX%+((COL% . 3|
00002b30  32 29 2a 32 34 29 2c 57  4f 59 25 2b 28 28 43 4f  |2)*24),WOY%+((CO|
00002b40  4c 25 20 81 20 33 32 29  2a 32 38 29 2c 32 34 2c  |L% . 32)*28),24,|
00002b50  32 38 0d 0e 6a 05 e1 0d  0e 74 39 e7 20 eb 3c 3e  |28..j....t9. .<>|
00002b60  45 50 4d 25 20 8c 20 45  53 4d 25 3d eb 3a 45 50  |EPM% . ESM%=.:EP|
00002b70  4d 25 3d eb 3a c8 99 26  34 30 37 34 30 2c 31 35  |M%=.:..&40740,15|
00002b80  2c 30 2c 2d 31 2c 2d 31  2c 50 49 58 54 41 42 25  |,0,-1,-1,PIXTAB%|
00002b90  0d 0e 7e 15 c8 99 26 33  35 2c 2d 31 2c 34 20 b8  |..~...&35,-1,4 .|
00002ba0  20 2c 2c 45 25 0d 0e 88  56 e7 20 45 25 3c 31 20  | ,,E%...V. E%<1 |
00002bb0  8c 20 53 58 25 3d 32 5e  28 31 2d 45 25 29 3a 21  |. SX%=2^(1-E%):!|
00002bc0  53 43 41 4c 45 25 3d 53  58 25 3a 53 43 41 4c 45  |SCALE%=SX%:SCALE|
00002bd0  25 21 38 3d 31 20 8b 20  53 58 25 3d 32 5e 28 45  |%!8=1 . SX%=2^(E|
00002be0  25 2d 31 29 3a 21 53 43  41 4c 45 25 3d 31 3a 53  |%-1):!SCALE%=1:S|
00002bf0  43 41 4c 45 25 21 38 3d  53 58 25 0d 0e 92 0e 53  |CALE%!8=SX%....S|
00002c00  43 41 4c 45 25 21 34 3d  31 0d 0e 9c 0f 53 43 41  |CALE%!4=1....SCA|
00002c10  4c 45 25 21 31 32 3d 31  0d 0e a6 42 c8 99 20 22  |LE%!12=1...B.. "|
00002c20  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 33 30 38  |OS_SpriteOp",308|
00002c30  2c 50 54 55 25 2c 22 50  61 6c 65 74 74 65 22 2c  |,PTU%,"Palette",|
00002c40  57 4f 58 25 2c 57 4f 59  25 2c 30 2c 53 43 41 4c  |WOX%,WOY%,0,SCAL|
00002c50  45 25 2c 50 49 58 54 41  42 25 0d 0e b0 46 e7 20  |E%,PIXTAB%...F. |
00002c60  50 54 55 25 3d 50 41 4c  25 20 8c 20 c8 93 20 57  |PTU%=PAL% . .. W|
00002c70  4f 58 25 2b 28 28 43 4f  4c 25 20 83 20 33 32 29  |OX%+((COL% . 32)|
00002c80  2a 32 34 29 2c 57 4f 59  25 2b 28 28 43 4f 4c 25  |*24),WOY%+((COL%|
00002c90  20 81 20 33 32 29 2a 32  38 29 2c 32 34 2c 32 38  | . 32)*28),24,28|
00002ca0  0d 0e ba 05 e1 0d 0e c4  04 0d 0e ce 10 dd f2 74  |...............t|
00002cb0  72 61 73 70 28 54 43 25  29 0d 0e d8 1f 54 52 41  |rasp(TC%)....TRA|
00002cc0  53 50 25 3f 54 43 25 3d  28 54 52 41 53 50 25 3f  |SP%?TC%=(TRASP%?|
00002cd0  54 43 25 29 20 82 20 31  0d 0e e2 35 c8 99 20 22  |TC%) . 1...5.. "|
00002ce0  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 33 31 36  |OS_SpriteOp",316|
00002cf0  2c 50 41 4c 25 2c 22 50  61 6c 65 74 74 65 22 20  |,PAL%,"Palette" |
00002d00  b8 20 56 31 2c 56 32 2c  56 33 2c 56 34 0d 0e ec  |. V1,V2,V3,V4...|
00002d10  2b 54 58 25 3d 28 28 54  43 25 20 83 20 33 32 29  |+TX%=((TC% . 32)|
00002d20  2a 32 34 29 3a 54 59 25  3d 28 28 54 43 25 20 81  |*24):TY%=((TC% .|
00002d30  20 33 32 29 2a 32 38 29  0d 0e f6 72 e7 20 28 54  | 32)*28)...r. (T|
00002d40  52 41 53 50 25 3f 54 43  25 29 3d 30 20 8c 20 e6  |RASP%?TC%)=0 . .|
00002d50  30 2c 50 41 4c 54 41 42  25 3f 28 54 43 25 2a 32  |0,PALTAB%?(TC%*2|
00002d60  29 20 c8 9c 20 50 41 4c  54 41 42 25 3f 28 28 54  |) .. PALTAB%?((T|
00002d70  43 25 2a 32 29 2b 31 29  20 8b 20 f2 61 6e 74 69  |C%*2)+1) . .anti|
00002d80  63 6f 6c 28 50 41 4c 54  41 42 25 3f 28 54 43 25  |col(PALTAB%?(TC%|
00002d90  2a 32 29 2c 50 41 4c 54  41 42 25 3f 28 28 54 43  |*2),PALTAB%?((TC|
00002da0  25 2a 32 29 2b 31 29 2c  30 29 0d 0f 00 3d 86 20  |%*2)+1),0)...=. |
00002db0  54 58 25 2b 36 2c 54 59  25 2b 32 30 2c 54 58 25  |TX%+6,TY%+20,TX%|
00002dc0  2b 31 38 2c 54 59 25 2b  32 30 3a 86 20 54 58 25  |+18,TY%+20:. TX%|
00002dd0  2b 31 32 2c 54 59 25 2b  38 2c 54 58 25 2b 31 32  |+12,TY%+8,TX%+12|
00002de0  2c 54 59 25 2b 32 30 0d  0f 0a 20 c8 99 20 22 4f  |,TY%+20... .. "O|
00002df0  53 5f 53 70 72 69 74 65  4f 70 22 2c 56 31 2c 56  |S_SpriteOp",V1,V|
00002e00  32 2c 56 33 2c 56 34 0d  0f 14 05 e1 0d 0f 1e 04  |2,V3,V4.........|
00002e10  0d 0f 28 0f dd f2 72 65  64 72 61 77 70 61 6c 0d  |..(...redrawpal.|
00002e20  0f 32 27 c8 99 20 22 57  69 6d 70 5f 52 65 64 72  |.2'.. "Wimp_Redr|
00002e30  61 77 57 69 6e 64 6f 77  22 2c 2c 42 4c 4b 25 20  |awWindow",,BLK% |
00002e40  b8 20 46 49 4e 25 0d 0f  3c 0d f2 67 65 74 70 61  |. FIN%..<..getpa|
00002e50  6c 6f 72 0d 0f 46 3e c8  95 20 46 49 4e 25 3a f2  |lor..F>.. FIN%:.|
00002e60  70 6c 6f 74 70 61 6c 28  50 41 4c 25 29 3a c8 99  |plotpal(PAL%):..|
00002e70  20 22 57 69 6d 70 5f 47  65 74 52 65 63 74 61 6e  | "Wimp_GetRectan|
00002e80  67 6c 65 22 2c 2c 42 4c  4b 25 20 b8 20 46 49 4e  |gle",,BLK% . FIN|
00002e90  25 0d 0f 50 05 ce 0d 0f  5a 05 e1 0d 0f 64 04 0d  |%..P....Z....d..|
00002ea0  0f 6e 11 dd f2 72 65 64  72 61 77 74 62 61 63 6b  |.n...redrawtback|
00002eb0  0d 0f 78 27 c8 99 20 22  57 69 6d 70 5f 52 65 64  |..x'.. "Wimp_Red|
00002ec0  72 61 77 57 69 6e 64 6f  77 22 2c 2c 42 4c 4b 25  |rawWindow",,BLK%|
00002ed0  20 b8 20 46 49 4e 25 0d  0f 82 0d f2 67 65 74 70  | . FIN%.....getp|
00002ee0  61 6c 6f 72 0d 0f 8c 1b  c8 95 20 46 49 4e 25 3a  |alor...... FIN%:|
00002ef0  f2 70 6c 6f 74 70 61 6c  28 4f 50 41 4c 25 29 0d  |.plotpal(OPAL%).|
00002f00  0f 96 4b f2 63 6f 6c 28  36 33 2c 31 39 32 2c 30  |..K.col(63,192,0|
00002f10  29 3a c8 93 20 57 4f 58  25 2b 28 28 46 4f 4e 54  |):.. WOX%+((FONT|
00002f20  42 25 20 83 20 33 32 29  2a 32 34 29 2c 57 4f 59  |B% . 32)*24),WOY|
00002f30  25 2b 28 28 46 4f 4e 54  42 25 20 81 20 33 32 29  |%+((FONTB% . 32)|
00002f40  2a 32 38 29 2c 32 34 2c  32 38 0d 0f a0 27 c8 99  |*28),24,28...'..|
00002f50  20 22 57 69 6d 70 5f 47  65 74 52 65 63 74 61 6e  | "Wimp_GetRectan|
00002f60  67 6c 65 22 2c 2c 42 4c  4b 25 20 b8 20 46 49 4e  |gle",,BLK% . FIN|
00002f70  25 0d 0f aa 05 ce 0d 0f  b4 05 e1 0d 0f be 04 0d  |%...............|
00002f80  0f c8 12 dd f2 72 65 64  72 61 77 63 6f 6c 72 65  |.....redrawcolre|
00002f90  70 0d 0f d2 27 c8 99 20  22 57 69 6d 70 5f 52 65  |p...'.. "Wimp_Re|
00002fa0  64 72 61 77 57 69 6e 64  6f 77 22 2c 2c 42 4c 4b  |drawWindow",,BLK|
00002fb0  25 20 b8 20 46 49 4e 25  0d 0f dc 17 f2 67 65 74  |% . FIN%.....get|
00002fc0  70 61 6c 6f 72 3a 57 4f  59 25 2d 3d 33 32 38 0d  |palor:WOY%-=328.|
00002fd0  0f e6 5d c8 95 20 46 49  4e 25 3a 57 4f 59 25 2b  |..].. FIN%:WOY%+|
00002fe0  3d 32 39 30 3a f2 70 6c  6f 74 70 61 6c 28 4f 50  |=290:.plotpal(OP|
00002ff0  41 4c 25 29 3a f2 63 6f  6c 28 30 2c 30 2c 30 29  |AL%):.col(0,0,0)|
00003000  3a 86 20 57 4f 58 25 2c  57 4f 59 25 2b 32 32 34  |:. WOX%,WOY%+224|
00003010  2c 57 4f 58 25 2b 37 37  30 2c 57 4f 59 25 2b 32  |,WOX%+770,WOY%+2|
00003020  32 34 3a 57 4f 59 25 2d  3d 32 39 30 0d 0f f0 42  |24:WOY%-=290...B|
00003030  f2 70 6c 6f 74 70 61 6c  28 53 50 42 55 46 25 29  |.plotpal(SPBUF%)|
00003040  3a f2 63 6f 6c 28 30 2c  30 2c 30 29 3a 86 20 57  |:.col(0,0,0):. W|
00003050  4f 58 25 2c 57 4f 59 25  2b 32 32 34 2c 57 4f 58  |OX%,WOY%+224,WOX|
00003060  25 2b 37 37 30 2c 57 4f  59 25 2b 32 32 34 0d 0f  |%+770,WOY%+224..|
00003070  fa 49 f2 63 6f 6c 28 36  33 2c 31 39 32 2c 30 29  |.I.col(63,192,0)|
00003080  3a c8 93 20 57 4f 58 25  2b 28 28 53 52 45 50 25  |:.. WOX%+((SREP%|
00003090  20 83 20 33 32 29 2a 32  34 29 2c 57 4f 59 25 2b  | . 32)*24),WOY%+|
000030a0  28 28 53 52 45 50 25 20  81 20 33 32 29 2a 32 38  |((SREP% . 32)*28|
000030b0  29 2c 32 34 2c 32 38 0d  10 04 27 c8 99 20 22 57  |),24,28...'.. "W|
000030c0  69 6d 70 5f 47 65 74 52  65 63 74 61 6e 67 6c 65  |imp_GetRectangle|
000030d0  22 2c 2c 42 4c 4b 25 20  b8 20 46 49 4e 25 0d 10  |",,BLK% . FIN%..|
000030e0  0e 05 ce 0d 10 18 05 e1  0d 10 22 04 0d 10 2c 15  |.........."...,.|
000030f0  dd f2 66 6f 72 63 65 64  72 61 77 63 6f 6c 72 65  |..forcedrawcolre|
00003100  70 0d 10 36 13 21 42 4c  4b 25 3d 48 41 4e 44 25  |p..6.!BLK%=HAND%|
00003110  28 31 38 29 0d 10 40 0c  42 4c 4b 25 21 34 3d 30  |(18)..@.BLK%!4=0|
00003120  0d 10 4a 0f 42 4c 4b 25  21 38 3d 2d 35 35 36 0d  |..J.BLK%!8=-556.|
00003130  10 54 0f 42 4c 4b 25 21  31 32 3d 37 37 30 0d 10  |.T.BLK%!12=770..|
00003140  5e 0d 42 4c 4b 25 21 31  36 3d 30 0d 10 68 27 c8  |^.BLK%!16=0..h'.|
00003150  99 20 22 57 69 6d 70 5f  55 70 64 61 74 65 57 69  |. "Wimp_UpdateWi|
00003160  6e 64 6f 77 22 2c 2c 42  4c 4b 25 20 b8 20 46 49  |ndow",,BLK% . FI|
00003170  4e 25 0d 10 72 17 f2 67  65 74 70 61 6c 6f 72 3a  |N%..r..getpalor:|
00003180  57 4f 59 25 2d 3d 33 32  38 0d 10 7c 0b c8 95 20  |WOY%-=328..|... |
00003190  46 49 4e 25 0d 10 86 55  57 4f 59 25 2b 3d 32 39  |FIN%...UWOY%+=29|
000031a0  30 3a f2 70 6c 6f 74 70  61 6c 28 4f 50 41 4c 25  |0:.plotpal(OPAL%|
000031b0  29 3a f2 63 6f 6c 28 30  2c 30 2c 30 29 3a 86 20  |):.col(0,0,0):. |
000031c0  57 4f 58 25 2c 57 4f 59  25 2b 32 32 34 2c 57 4f  |WOX%,WOY%+224,WO|
000031d0  58 25 2b 37 37 30 2c 57  4f 59 25 2b 32 32 34 3a  |X%+770,WOY%+224:|
000031e0  57 4f 59 25 2d 3d 32 39  30 0d 10 90 42 f2 70 6c  |WOY%-=290...B.pl|
000031f0  6f 74 70 61 6c 28 53 50  42 55 46 25 29 3a f2 63  |otpal(SPBUF%):.c|
00003200  6f 6c 28 30 2c 30 2c 30  29 3a 86 20 57 4f 58 25  |ol(0,0,0):. WOX%|
00003210  2c 57 4f 59 25 2b 32 32  34 2c 57 4f 58 25 2b 37  |,WOY%+224,WOX%+7|
00003220  37 30 2c 57 4f 59 25 2b  32 32 34 0d 10 9a 49 f2  |70,WOY%+224...I.|
00003230  63 6f 6c 28 36 33 2c 31  39 32 2c 30 29 3a c8 93  |col(63,192,0):..|
00003240  20 57 4f 58 25 2b 28 28  53 52 45 50 25 20 83 20  | WOX%+((SREP% . |
00003250  33 32 29 2a 32 34 29 2c  57 4f 59 25 2b 28 28 53  |32)*24),WOY%+((S|
00003260  52 45 50 25 20 81 20 33  32 29 2a 32 38 29 2c 32  |REP% . 32)*28),2|
00003270  34 2c 32 38 0d 10 a4 27  c8 99 20 22 57 69 6d 70  |4,28...'.. "Wimp|
00003280  5f 47 65 74 52 65 63 74  61 6e 67 6c 65 22 2c 2c  |_GetRectangle",,|
00003290  42 4c 4b 25 20 b8 20 46  49 4e 25 0d 10 ae 05 ce  |BLK% . FIN%.....|
000032a0  0d 10 b8 05 e1 0d 10 c2  04 0d 10 cc 0a dd a4 63  |...............c|
000032b0  65 63 66 0d 10 d6 17 e7  20 a4 68 69 67 68 28 31  |ecf..... .high(1|
000032c0  31 2c 31 38 29 20 8c 20  3d 31 0d 10 e0 17 e7 20  |1,18) . =1..... |
000032d0  a4 68 69 67 68 28 31 31  2c 31 39 29 20 8c 20 3d  |.high(11,19) . =|
000032e0  32 0d 10 ea 17 e7 20 a4  68 69 67 68 28 31 31 2c  |2..... .high(11,|
000032f0  32 30 29 20 8c 20 3d 33  0d 10 f4 17 e7 20 a4 68  |20) . =3..... .h|
00003300  69 67 68 28 31 31 2c 32  31 29 20 8c 20 3d 34 0d  |igh(11,21) . =4.|
00003310  10 fe 06 3d 30 0d 11 08  04 0d 11 12 0f dd f2 72  |...=0..........r|
00003320  65 64 72 61 77 70 61 74  0d 11 1c 27 c8 99 20 22  |edrawpat...'.. "|
00003330  57 69 6d 70 5f 52 65 64  72 61 77 57 69 6e 64 6f  |Wimp_RedrawWindo|
00003340  77 22 2c 2c 42 4c 4b 25  20 b8 20 46 49 4e 25 0d  |w",,BLK% . FIN%.|
00003350  11 26 0d f2 67 65 74 70  61 74 6f 72 0d 11 30 49  |.&..getpator..0I|
00003360  c8 95 20 46 49 4e 25 3a  f2 70 6c 6f 74 70 61 6c  |.. FIN%:.plotpal|
00003370  28 4f 50 41 4c 25 29 3a  f2 63 6f 6c 28 30 2c 30  |(OPAL%):.col(0,0|
00003380  2c 30 29 3a 86 20 57 4f  58 25 2c 57 4f 59 25 2b  |,0):. WOX%,WOY%+|
00003390  32 32 34 2c 57 4f 58 25  2b 37 37 30 2c 57 4f 59  |224,WOX%+770,WOY|
000033a0  25 2b 32 32 34 0d 11 3a  2d 43 45 43 46 25 3d a4  |%+224..:-CECF%=.|
000033b0  63 65 63 66 3a e3 4b 25  3d 30 20 b8 20 37 3a 4c  |cecf:.K%=0 . 7:L|
000033c0  25 3d 45 43 46 25 28 4b  25 2b 31 2c 43 45 43 46  |%=ECF%(K%+1,CECF|
000033d0  25 29 0d 11 44 63 50 45  25 3d 42 54 43 25 3f 4c  |%)..DcPE%=BTC%?L|
000033e0  25 3a f2 63 6f 6c 28 50  41 4c 54 41 42 25 3f 28  |%:.col(PALTAB%?(|
000033f0  50 45 25 2a 32 29 2c 50  41 4c 54 41 42 25 3f 28  |PE%*2),PALTAB%?(|
00003400  28 50 45 25 2a 32 29 2b  31 29 2c 30 29 3a c8 93  |(PE%*2)+1),0):..|
00003410  20 c8 90 20 57 4f 58 25  2d 31 34 36 2c 28 57 4f  | .. WOX%-146,(WO|
00003420  59 25 2b 32 37 36 29 2d  28 4b 25 2a 34 30 29 2c  |Y%+276)-(K%*40),|
00003430  33 38 2c 33 36 0d 11 4e  05 ed 0d 11 58 27 c8 99  |38,36..N....X'..|
00003440  20 22 57 69 6d 70 5f 47  65 74 52 65 63 74 61 6e  | "Wimp_GetRectan|
00003450  67 6c 65 22 2c 2c 42 4c  4b 25 20 b8 20 46 49 4e  |gle",,BLK% . FIN|
00003460  25 0d 11 62 05 ce 0d 11  6c 05 e1 0d 11 76 04 0d  |%..b....l....v..|
00003470  11 80 0e dd a4 67 72 61  66 69 6c 6e 6f 0d 11 8a  |.....grafilno...|
00003480  17 e7 20 a4 68 69 67 68  28 31 33 2c 31 37 29 20  |.. .high(13,17) |
00003490  8c 20 3d 30 0d 11 94 17  e7 20 a4 68 69 67 68 28  |. =0..... .high(|
000034a0  31 33 2c 31 38 29 20 8c  20 3d 31 0d 11 9e 17 e7  |13,18) . =1.....|
000034b0  20 a4 68 69 67 68 28 31  33 2c 31 39 29 20 8c 20  | .high(13,19) . |
000034c0  3d 32 0d 11 a8 17 e7 20  a4 68 69 67 68 28 31 33  |=2..... .high(13|
000034d0  2c 32 30 29 20 8c 20 3d  33 0d 11 b2 17 e7 20 a4  |,20) . =3..... .|
000034e0  68 69 67 68 28 31 33 2c  32 31 29 20 8c 20 3d 34  |high(13,21) . =4|
000034f0  0d 11 bc 07 3d 2d 31 0d  11 c6 04 0d 11 d0 10 dd  |....=-1.........|
00003500  f2 72 65 64 72 61 77 66  69 6c 6c 0d 11 da 27 c8  |.redrawfill...'.|
00003510  99 20 22 57 69 6d 70 5f  52 65 64 72 61 77 57 69  |. "Wimp_RedrawWi|
00003520  6e 64 6f 77 22 2c 2c 42  4c 4b 25 20 b8 20 46 49  |ndow",,BLK% . FI|
00003530  4e 25 0d 11 e4 21 f2 67  65 74 70 61 74 6f 72 3a  |N%...!.getpator:|
00003540  57 4f 59 25 2d 3d 31 34  30 3a 57 4f 58 25 2d 3d  |WOY%-=140:WOX%-=|
00003550  31 34 30 0d 11 ee 71 c8  95 20 46 49 4e 25 3a 57  |140...q.. FIN%:W|
00003560  4f 59 25 2b 3d 32 33 32  3a 57 4f 58 25 2b 3d 33  |OY%+=232:WOX%+=3|
00003570  38 30 3a f2 70 6c 6f 74  70 61 6c 28 4f 50 41 4c  |80:.plotpal(OPAL|
00003580  25 29 3a f2 63 6f 6c 28  30 2c 30 2c 30 29 3a 86  |%):.col(0,0,0):.|
00003590  20 57 4f 58 25 2c 57 4f  59 25 2b 32 32 34 2c 57  | WOX%,WOY%+224,W|
000035a0  4f 58 25 2b 37 37 30 2c  57 4f 59 25 2b 32 32 34  |OX%+770,WOY%+224|
000035b0  3a 57 4f 58 25 2d 3d 31  34 30 3a 57 4f 59 25 2d  |:WOX%-=140:WOY%-|
000035c0  3d 31 34 30 0d 11 f8 78  46 49 58 25 3d 57 4f 58  |=140...xFIX%=WOX|
000035d0  25 2b 32 30 30 3a 47 52  46 49 4e 25 3d a4 67 72  |%+200:GRFIN%=.gr|
000035e0  61 66 69 6c 6e 6f 3a e3  4c 25 3d 30 20 b8 20 31  |afilno:.L%=0 . 1|
000035f0  35 3a e7 20 47 52 46 49  4e 25 3c 3e 2d 31 20 8c  |5:. GRFIN%<>-1 .|
00003600  20 f2 63 6f 6c 28 47 52  46 49 25 28 4c 25 2c 30  | .col(GRFI%(L%,0|
00003610  2c 47 52 46 49 4e 25 29  2c 47 52 46 49 25 28 4c  |,GRFIN%),GRFI%(L|
00003620  25 2c 31 2c 47 52 46 49  4e 25 29 2c 30 29 20 8b  |%,1,GRFIN%),0) .|
00003630  20 f2 63 6f 6c 28 30 2c  30 2c 30 29 0d 12 02 27  | .col(0,0,0)...'|
00003640  c8 93 20 c8 90 20 46 49  58 25 2c 57 4f 59 25 2d  |.. .. FIX%,WOY%-|
00003650  32 38 2c 34 32 2c 33 32  3a 46 49 58 25 2b 3d 34  |28,42,32:FIX%+=4|
00003660  34 3a ed 0d 12 0c 27 c8  99 20 22 57 69 6d 70 5f  |4:....'.. "Wimp_|
00003670  47 65 74 52 65 63 74 61  6e 67 6c 65 22 2c 2c 42  |GetRectangle",,B|
00003680  4c 4b 25 20 b8 20 46 49  4e 25 0d 12 16 05 ce 0d  |LK% . FIN%......|
00003690  12 20 05 e1 0d 12 2a 04  0d 12 34 13 dd f2 66 6f  |. ....*...4...fo|
000036a0  72 63 65 64 72 61 77 66  69 6c 6c 0d 12 3e 13 21  |rcedrawfill..>.!|
000036b0  42 4c 4b 25 3d 48 41 4e  44 25 28 31 33 29 0d 12  |BLK%=HAND%(13)..|
000036c0  48 0c 42 4c 4b 25 21 34  3d 30 0d 12 52 0f 42 4c  |H.BLK%!4=0..R.BL|
000036d0  4b 25 21 38 3d 2d 35 30  30 0d 12 5c 10 42 4c 4b  |K%!8=-500..\.BLK|
000036e0  25 21 31 32 3d 31 32 30  30 0d 12 66 10 42 4c 4b  |%!12=1200..f.BLK|
000036f0  25 21 31 36 3d 2d 33 36  30 0d 12 70 27 c8 99 20  |%!16=-360..p'.. |
00003700  22 57 69 6d 70 5f 55 70  64 61 74 65 57 69 6e 64  |"Wimp_UpdateWind|
00003710  6f 77 22 2c 2c 42 4c 4b  25 20 b8 20 46 49 4e 25  |ow",,BLK% . FIN%|
00003720  0d 12 7a 20 f2 67 65 74  70 61 74 6f 72 3a 57 4f  |..z .getpator:WO|
00003730  59 25 2d 3d 34 38 3a 57  4f 58 25 2b 3d 31 30 30  |Y%-=48:WOX%+=100|
00003740  0d 12 84 78 46 49 58 25  3d 57 4f 58 25 2b 32 30  |...xFIX%=WOX%+20|
00003750  30 3a 47 52 46 49 4e 25  3d a4 67 72 61 66 69 6c  |0:GRFIN%=.grafil|
00003760  6e 6f 3a e3 4c 25 3d 30  20 b8 20 31 35 3a e7 20  |no:.L%=0 . 15:. |
00003770  47 52 46 49 4e 25 3c 3e  2d 31 20 8c 20 f2 63 6f  |GRFIN%<>-1 . .co|
00003780  6c 28 47 52 46 49 25 28  4c 25 2c 30 2c 47 52 46  |l(GRFI%(L%,0,GRF|
00003790  49 4e 25 29 2c 47 52 46  49 25 28 4c 25 2c 31 2c  |IN%),GRFI%(L%,1,|
000037a0  47 52 46 49 4e 25 29 2c  30 29 20 8b 20 f2 63 6f  |GRFIN%),0) . .co|
000037b0  6c 28 30 2c 30 2c 30 29  0d 12 8e 27 c8 93 20 c8  |l(0,0,0)...'.. .|
000037c0  90 20 46 49 58 25 2c 57  4f 59 25 2d 32 38 2c 34  |. FIX%,WOY%-28,4|
000037d0  32 2c 33 32 3a 46 49 58  25 2b 3d 34 34 3a ed 0d  |2,32:FIX%+=44:..|
000037e0  12 98 0b c8 95 20 46 49  4e 25 0d 12 a2 27 c8 99  |..... FIN%...'..|
000037f0  20 22 57 69 6d 70 5f 47  65 74 52 65 63 74 61 6e  | "Wimp_GetRectan|
00003800  67 6c 65 22 2c 2c 42 4c  4b 25 20 b8 20 46 49 4e  |gle",,BLK% . FIN|
00003810  25 0d 12 ac 05 ce 0d 12  b6 05 e1 0d 12 c0 04 0d  |%...............|
00003820  12 ca 12 dd f2 66 6f 72  63 65 64 72 61 77 70 61  |.....forcedrawpa|
00003830  74 0d 12 d4 13 21 42 4c  4b 25 3d 48 41 4e 44 25  |t....!BLK%=HAND%|
00003840  28 31 31 29 0d 12 de 0c  42 4c 4b 25 21 34 3d 30  |(11)....BLK%!4=0|
00003850  0d 12 e8 0f 42 4c 4b 25  21 38 3d 2d 33 35 36 0d  |....BLK%!8=-356.|
00003860  12 f2 0f 42 4c 4b 25 21  31 32 3d 31 30 30 0d 12  |...BLK%!12=100..|
00003870  fc 0d 42 4c 4b 25 21 31  36 3d 30 0d 13 06 27 c8  |..BLK%!16=0...'.|
00003880  99 20 22 57 69 6d 70 5f  55 70 64 61 74 65 57 69  |. "Wimp_UpdateWi|
00003890  6e 64 6f 77 22 2c 2c 42  4c 4b 25 20 b8 20 46 49  |ndow",,BLK% . FI|
000038a0  4e 25 0d 13 10 0d f2 67  65 74 70 61 74 6f 72 0d  |N%.....getpator.|
000038b0  13 1a 0b c8 95 20 46 49  4e 25 0d 13 24 41 f2 70  |..... FIN%..$A.p|
000038c0  6c 6f 74 70 61 6c 28 4f  50 41 4c 25 29 3a f2 63  |lotpal(OPAL%):.c|
000038d0  6f 6c 28 30 2c 30 2c 30  29 3a 86 20 57 4f 58 25  |ol(0,0,0):. WOX%|
000038e0  2c 57 4f 59 25 2b 32 32  34 2c 57 4f 58 25 2b 37  |,WOY%+224,WOX%+7|
000038f0  37 30 2c 57 4f 59 25 2b  32 32 34 0d 13 2e 0f 43  |70,WOY%+224....C|
00003900  45 43 46 25 3d a4 63 65  63 66 0d 13 38 0f e3 20  |ECF%=.cecf..8.. |
00003910  52 4b 25 3d 30 20 b8 20  37 0d 13 42 18 4c 25 3d  |RK%=0 . 7..B.L%=|
00003920  45 43 46 25 28 52 4b 25  2b 31 2c 43 45 43 46 25  |ECF%(RK%+1,CECF%|
00003930  29 0d 13 4c 64 50 45 25  3d 42 54 43 25 3f 4c 25  |)..LdPE%=BTC%?L%|
00003940  3a f2 63 6f 6c 28 50 41  4c 54 41 42 25 3f 28 50  |:.col(PALTAB%?(P|
00003950  45 25 2a 32 29 2c 50 41  4c 54 41 42 25 3f 28 28  |E%*2),PALTAB%?((|
00003960  50 45 25 2a 32 29 2b 31  29 2c 30 29 3a c8 93 20  |PE%*2)+1),0):.. |
00003970  c8 90 20 57 4f 58 25 2d  31 34 36 2c 28 57 4f 59  |.. WOX%-146,(WOY|
00003980  25 2b 32 37 36 29 2d 28  52 4b 25 2a 34 30 29 2c  |%+276)-(RK%*40),|
00003990  33 38 2c 33 36 0d 13 56  2c c8 93 20 c8 90 20 57  |38,36..V,.. .. W|
000039a0  4f 58 25 2d 31 34 36 2c  28 57 4f 59 25 2b 32 37  |OX%-146,(WOY%+27|
000039b0  36 29 2d 28 52 4b 25 2a  34 30 29 2c 33 38 2c 33  |6)-(RK%*40),38,3|
000039c0  36 0d 13 60 05 ed 0d 13  6a 27 c8 99 20 22 57 69  |6..`....j'.. "Wi|
000039d0  6d 70 5f 47 65 74 52 65  63 74 61 6e 67 6c 65 22  |mp_GetRectangle"|
000039e0  2c 2c 42 4c 4b 25 20 b8  20 46 49 4e 25 0d 13 74  |,,BLK% . FIN%..t|
000039f0  05 ce 0d 13 7e 05 e1 0d  13 88 04 0d 13 92 26 dd  |....~.........&.|
00003a00  a4 63 74 62 28 63 6f 25  2c 74 69 25 29 3a 62 79  |.ctb(co%,ti%):by|
00003a10  25 3d 2d 31 3a e3 4c 25  3d 30 20 74 6f 20 32 35  |%=-1:.L%=0 to 25|
00003a20  35 0d 13 9c 04 0d 13 a6  11 dd f2 64 72 61 77 70  |5..........drawp|
00003a30  69 63 69 6e 69 74 0d 13  b0 12 21 42 4c 4b 25 3d  |icinit....!BLK%=|
00003a40  48 41 4e 44 25 28 32 29  0d 13 ba 0c 42 4c 4b 25  |HAND%(2)....BLK%|
00003a50  21 34 3d 30 0d 13 c4 0f  42 4c 4b 25 21 38 3d 2d  |!4=0....BLK%!8=-|
00003a60  39 33 36 0d 13 ce 10 42  4c 4b 25 21 31 32 3d 31  |936....BLK%!12=1|
00003a70  32 33 36 0d 13 d8 0d 42  4c 4b 25 21 31 36 3d 30  |236....BLK%!16=0|
00003a80  0d 13 e2 27 c8 99 20 22  57 69 6d 70 5f 55 70 64  |...'.. "Wimp_Upd|
00003a90  61 74 65 57 69 6e 64 6f  77 22 2c 2c 42 4c 4b 25  |ateWindow",,BLK%|
00003aa0  20 b8 20 46 49 4e 25 0d  13 ec 0a f2 67 65 74 6f  | . FIN%.....geto|
00003ab0  72 0d 13 f6 05 e1 0d 14  00 04 0d 14 0a 18 dd f2  |r...............|
00003ac0  66 6f 72 63 65 64 72 61  77 70 61 6c 28 50 54 55  |forcedrawpal(PTU|
00003ad0  25 29 0d 14 14 12 21 42  4c 4b 25 3d 48 41 4e 44  |%)....!BLK%=HAND|
00003ae0  25 28 33 29 0d 14 1e 0c  42 4c 4b 25 21 34 3d 30  |%(3)....BLK%!4=0|
00003af0  0d 14 28 0f 42 4c 4b 25  21 38 3d 2d 32 32 38 0d  |..(.BLK%!8=-228.|
00003b00  14 32 0f 42 4c 4b 25 21  31 32 3d 37 37 30 0d 14  |.2.BLK%!12=770..|
00003b10  3c 0d 42 4c 4b 25 21 31  36 3d 30 0d 14 46 27 c8  |<.BLK%!16=0..F'.|
00003b20  99 20 22 57 69 6d 70 5f  55 70 64 61 74 65 57 69  |. "Wimp_UpdateWi|
00003b30  6e 64 6f 77 22 2c 2c 42  4c 4b 25 20 b8 20 46 49  |ndow",,BLK% . FI|
00003b40  4e 25 0d 14 50 0d f2 67  65 74 70 61 6c 6f 72 0d  |N%..P..getpalor.|
00003b50  14 5a 0b c8 95 20 46 49  4e 25 0d 14 64 12 f2 70  |.Z... FIN%..d..p|
00003b60  6c 6f 74 70 61 6c 28 50  54 55 25 29 0d 14 6e 27  |lotpal(PTU%)..n'|
00003b70  c8 99 20 22 57 69 6d 70  5f 47 65 74 52 65 63 74  |.. "Wimp_GetRect|
00003b80  61 6e 67 6c 65 22 2c 2c  42 4c 4b 25 20 b8 20 46  |angle",,BLK% . F|
00003b90  49 4e 25 0d 14 78 05 ce  0d 14 82 05 e1 0d 14 8c  |IN%..x..........|
00003ba0  04 0d 14 96 14 dd f2 66  6f 72 63 65 64 72 61 77  |.......forcedraw|
00003bb0  74 62 61 63 6b 0d 14 a0  13 21 42 4c 4b 25 3d 48  |tback....!BLK%=H|
00003bc0  41 4e 44 25 28 31 35 29  0d 14 aa 0c 42 4c 4b 25  |AND%(15)....BLK%|
00003bd0  21 34 3d 30 0d 14 b4 0f  42 4c 4b 25 21 38 3d 2d  |!4=0....BLK%!8=-|
00003be0  32 32 38 0d 14 be 0f 42  4c 4b 25 21 31 32 3d 37  |228....BLK%!12=7|
00003bf0  37 30 0d 14 c8 0d 42 4c  4b 25 21 31 36 3d 30 0d  |70....BLK%!16=0.|
00003c00  14 d2 27 c8 99 20 22 57  69 6d 70 5f 55 70 64 61  |..'.. "Wimp_Upda|
00003c10  74 65 57 69 6e 64 6f 77  22 2c 2c 42 4c 4b 25 20  |teWindow",,BLK% |
00003c20  b8 20 46 49 4e 25 0d 14  dc 0d f2 67 65 74 70 61  |. FIN%.....getpa|
00003c30  6c 6f 72 0d 14 e6 0b c8  95 20 46 49 4e 25 0d 14  |lor...... FIN%..|
00003c40  f0 13 f2 70 6c 6f 74 70  61 6c 28 4f 50 41 4c 25  |...plotpal(OPAL%|
00003c50  29 0d 14 fa 4b f2 63 6f  6c 28 36 33 2c 31 39 32  |)...K.col(63,192|
00003c60  2c 30 29 3a c8 93 20 57  4f 58 25 2b 28 28 46 4f  |,0):.. WOX%+((FO|
00003c70  4e 54 42 25 20 83 20 33  32 29 2a 32 34 29 2c 57  |NTB% . 32)*24),W|
00003c80  4f 59 25 2b 28 28 46 4f  4e 54 42 25 20 81 20 33  |OY%+((FONTB% . 3|
00003c90  32 29 2a 32 38 29 2c 32  34 2c 32 38 0d 15 04 27  |2)*28),24,28...'|
00003ca0  c8 99 20 22 57 69 6d 70  5f 47 65 74 52 65 63 74  |.. "Wimp_GetRect|
00003cb0  61 6e 67 6c 65 22 2c 2c  42 4c 4b 25 20 b8 20 46  |angle",,BLK% . F|
00003cc0  49 4e 25 0d 15 0e 05 ce  0d 15 18 05 e1 0d 15 22  |IN%............"|
00003cd0  04 0d 15 2c 0e dd f2 67  65 74 70 61 6c 6f 72 0d  |...,...getpalor.|
00003ce0  15 36 17 57 4f 58 25 3d  42 4c 4b 25 21 34 2d 42  |.6.WOX%=BLK%!4-B|
00003cf0  4c 4b 25 21 32 30 0d 15  40 1e 57 4f 59 25 3d 28  |LK%!20..@.WOY%=(|
00003d00  42 4c 4b 25 21 31 36 2d  42 4c 4b 25 21 32 34 29  |BLK%!16-BLK%!24)|
00003d10  2d 32 32 38 0d 15 4a 05  e1 0d 15 54 04 0d 15 5e  |-228..J....T...^|
00003d20  0e dd f2 67 65 74 70 61  74 6f 72 0d 15 68 1d 57  |...getpator..h.W|
00003d30  4f 58 25 3d 28 42 4c 4b  25 21 34 2d 42 4c 4b 25  |OX%=(BLK%!4-BLK%|
00003d40  21 32 30 29 2b 31 38 30  0d 15 72 1e 57 4f 59 25  |!20)+180..r.WOY%|
00003d50  3d 28 42 4c 4b 25 21 31  36 2d 42 4c 4b 25 21 32  |=(BLK%!16-BLK%!2|
00003d60  34 29 2d 33 34 30 0d 15  7c 05 e1 0d 15 86 04 0d  |4)-340..|.......|
00003d70  15 90 0d dd f2 70 69 63  70 6f 6c 6c 0d 15 9a 22  |.....picpoll..."|
00003d80  c8 99 20 22 57 69 6d 70  5f 47 65 74 50 6f 69 6e  |.. "Wimp_GetPoin|
00003d90  74 65 72 49 6e 66 6f 22  2c 2c 42 4c 4b 25 0d 15  |terInfo",,BLK%..|
00003da0  a4 33 f4 20 56 44 55 34  3a 50 52 49 4e 54 54 41  |.3. VDU4:PRINTTA|
00003db0  42 28 30 2c 30 29 3b 4d  42 55 53 25 3b 22 2c 22  |B(0,0);MBUS%;","|
00003dc0  3b 42 4c 4b 25 21 38 3b  22 20 20 22 3a 56 44 55  |;BLK%!8;"  ":VDU|
00003dd0  35 0d 15 ae 25 e7 20 4d  42 55 53 25 20 80 20 42  |5...%. MBUS% . B|
00003de0  4c 4b 25 21 38 3c 3e 30  20 8c 20 e1 20 8b 20 4d  |LK%!8<>0 . . . M|
00003df0  42 55 53 25 3d a3 0d 15  b8 44 e7 20 42 4c 4b 25  |BUS%=....D. BLK%|
00003e00  21 31 32 3c 48 41 4e 44  25 28 30 29 20 84 20 42  |!12<HAND%(0) . B|
00003e10  4c 4b 25 21 31 32 3e 48  41 4e 44 25 28 4e 4f 57  |LK%!12>HAND%(NOW|
00003e20  49 4e 44 25 29 20 8c 20  49 44 52 41 47 25 3d 28  |IND%) . IDRAG%=(|
00003e30  42 4c 4b 25 21 38 3c 3e  30 29 0d 15 c2 19 e7 20  |BLK%!8<>0)..... |
00003e40  42 4c 4b 25 21 38 3d 30  20 8c 20 49 44 52 41 47  |BLK%!8=0 . IDRAG|
00003e50  25 3d a3 0d 15 cc 26 f4  20 56 44 55 34 3a 50 52  |%=....&. VDU4:PR|
00003e60  49 4e 54 54 41 42 28 30  2c 30 29 3b 42 4c 4b 25  |INTTAB(0,0);BLK%|
00003e70  21 31 36 3b 22 20 20 20  22 0d 15 d6 29 e7 20 42  |!16;"   "...). B|
00003e80  4c 4b 25 21 31 32 3c 3e  48 41 4e 44 25 28 32 29  |LK%!12<>HAND%(2)|
00003e90  20 84 20 42 4c 4b 25 21  31 36 3c 3e 2d 31 20 8c  | . BLK%!16<>-1 .|
00003ea0  20 e1 0d 15 e0 1c e7 20  42 4c 4b 25 21 38 3c 3e  | ...... BLK%!8<>|
00003eb0  30 20 80 20 49 44 52 41  47 25 20 8c 20 e1 0d 15  |0 . IDRAG% . ...|
00003ec0  ea 22 58 25 3d 21 42 4c  4b 25 3a 59 25 3d 42 4c  |."X%=!BLK%:Y%=BL|
00003ed0  4b 25 21 34 3a 42 55 54  25 3d 42 4c 4b 25 21 38  |K%!4:BUT%=BLK%!8|
00003ee0  0d 15 f4 10 e7 20 42 55  54 25 3d 32 20 8c 20 e1  |..... BUT%=2 . .|
00003ef0  0d 15 fe 0e c8 8e 20 46  55 53 45 25 20 ca 0d 16  |...... FUSE% ...|
00003f00  08 46 c9 20 31 3a e7 20  46 55 53 54 25 3d 30 20  |.F. 1:. FUST%=0 |
00003f10  80 20 42 55 54 25 3c 3e  30 20 8c 20 f2 70 69 63  |. BUT%<>0 . .pic|
00003f20  70 6f 73 3a 58 25 28 30  29 3d 58 25 3a 59 25 28  |pos:X%(0)=X%:Y%(|
00003f30  30 29 3d 59 25 3a 46 55  53 54 25 3d 31 3a e5 20  |0)=Y%:FUST%=1:. |
00003f40  8d 44 62 60 0d 16 12 27  e7 20 42 55 54 25 3d 30  |.Db`...'. BUT%=0|
00003f50  20 84 20 46 55 53 54 25  3d 30 20 8c 20 46 55 53  | . FUST%=0 . FUS|
00003f60  54 25 3d 30 3a e5 20 8d  44 62 60 0d 16 1c 38 f2  |T%=0:. .Db`...8.|
00003f70  70 69 63 70 6f 73 3a f2  69 6e 70 69 63 3a f2 73  |picpos:.inpic:.s|
00003f80  65 74 63 6f 6c 3a f2 6c  28 58 25 28 30 29 2c 59  |etcol:.l(X%(0),Y|
00003f90  25 28 30 29 2c 58 25 2c  59 25 29 3a f2 6f 75 74  |%(0),X%,Y%):.out|
00003fa0  70 69 63 0d 16 26 12 f2  71 75 69 63 6b 64 72 61  |pic..&..quickdra|
00003fb0  77 6d 61 69 6e 0d 16 30  15 58 25 28 30 29 3d 58  |wmain..0.X%(0)=X|
00003fc0  25 3a 59 25 28 30 29 3d  59 25 0d 16 3a 95 c9 20  |%:Y%(0)=Y%..:.. |
00003fd0  32 3a e7 20 46 55 53 54  25 3d 30 20 80 20 42 55  |2:. FUST%=0 . BU|
00003fe0  54 25 3c 3e 30 20 8c 20  f2 70 69 63 70 6f 73 3a  |T%<>0 . .picpos:|
00003ff0  58 25 28 30 29 3d 58 25  3a 59 25 28 30 29 3d 59  |X%(0)=X%:Y%(0)=Y|
00004000  25 3a 46 55 53 54 25 3d  31 3a 4f 58 25 3d 58 25  |%:FUST%=1:OX%=X%|
00004010  3a 4f 59 25 3d 59 25 3a  f2 69 6e 70 69 63 3a e6  |:OY%=Y%:.inpic:.|
00004020  33 2c 36 33 20 c8 9c 20  31 39 32 3a 86 20 58 25  |3,63 .. 192:. X%|
00004030  28 30 29 2c 59 25 28 30  29 2c 4f 58 25 2c 4f 59  |(0),Y%(0),OX%,OY|
00004040  25 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |%:.outpic:.quick|
00004050  64 72 61 77 6d 61 69 6e  3a e5 20 8d 44 62 60 0d  |drawmain:. .Db`.|
00004060  16 44 16 e7 20 46 55 53  54 25 3d 30 20 8c 20 e5  |.D.. FUST%=0 . .|
00004070  20 8d 44 62 60 0d 16 4e  a9 e7 20 42 55 54 25 3d  | .Db`..N.. BUT%=|
00004080  31 20 8c 20 f2 69 6e 70  69 63 3a e6 33 2c 36 33  |1 . .inpic:.3,63|
00004090  20 c8 9c 20 31 39 32 3a  86 20 58 25 28 30 29 2c  | .. 192:. X%(0),|
000040a0  59 25 28 30 29 2c 4f 58  25 2c 4f 59 25 3a f2 70  |Y%(0),OX%,OY%:.p|
000040b0  69 63 70 6f 73 3a 58 25  28 30 29 3d 58 25 3a 59  |icpos:X%(0)=X%:Y|
000040c0  25 28 30 29 3d 59 25 3a  4f 58 25 3d 58 25 3a 4f  |%(0)=Y%:OX%=X%:O|
000040d0  59 25 3d 59 25 3a 46 55  53 54 25 3d 31 3a e6 33  |Y%=Y%:FUST%=1:.3|
000040e0  2c 36 33 20 c8 9c 20 31  39 32 3a 86 20 58 25 28  |,63 .. 192:. X%(|
000040f0  30 29 2c 59 25 28 30 29  2c 4f 58 25 2c 4f 59 25  |0),Y%(0),OX%,OY%|
00004100  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
00004110  72 61 77 6d 61 69 6e 3a  e5 20 8d 44 62 60 0d 16  |rawmain:. .Db`..|
00004120  58 ad e7 20 42 55 54 25  3d 34 20 8c 20 f2 69 6e  |X.. BUT%=4 . .in|
00004130  70 69 63 3a f2 65 6f 63  3a 86 20 58 25 28 30 29  |pic:.eoc:. X%(0)|
00004140  2c 59 25 28 30 29 2c 4f  58 25 2c 4f 59 25 3a f2  |,Y%(0),OX%,OY%:.|
00004150  70 69 63 70 6f 73 3a f2  73 65 74 63 6f 6c 3a f2  |picpos:.setcol:.|
00004160  6c 28 58 25 28 30 29 2c  59 25 28 30 29 2c 58 25  |l(X%(0),Y%(0),X%|
00004170  2c 59 25 29 3a 58 25 28  30 29 3d 58 25 3a 59 25  |,Y%):X%(0)=X%:Y%|
00004180  28 30 29 3d 59 25 3a 4f  58 25 3d 58 25 3a 4f 59  |(0)=Y%:OX%=X%:OY|
00004190  25 3d 59 25 3a f2 65 6f  63 3a 86 20 58 25 28 30  |%=Y%:.eoc:. X%(0|
000041a0  29 2c 59 25 28 30 29 2c  58 25 2c 59 25 3a f2 6f  |),Y%(0),X%,Y%:.o|
000041b0  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
000041c0  6d 61 69 6e 3a e5 20 8d  44 62 60 0d 16 62 26 f2  |main:. .Db`..b&.|
000041d0  70 69 63 70 6f 73 3a e7  20 58 25 3d 4f 58 25 20  |picpos:. X%=OX% |
000041e0  80 20 59 25 3d 4f 59 25  20 8c 20 e5 20 8d 44 62  |. Y%=OY% . . .Db|
000041f0  60 0d 16 6c 5e f2 69 6e  70 69 63 3a f2 65 6f 63  |`..l^.inpic:.eoc|
00004200  3a 86 20 58 25 28 30 29  2c 59 25 28 30 29 2c 4f  |:. X%(0),Y%(0),O|
00004210  58 25 2c 4f 59 25 3a 4f  58 25 3d 58 25 3a 4f 59  |X%,OY%:OX%=X%:OY|
00004220  25 3d 59 25 3a 86 20 58  25 28 30 29 2c 59 25 28  |%=Y%:. X%(0),Y%(|
00004230  30 29 2c 58 25 2c 59 25  3a f2 6f 75 74 70 69 63  |0),X%,Y%:.outpic|
00004240  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 0d  |:.quickdrawmain.|
00004250  16 76 7e c9 20 34 3a e7  20 46 55 53 54 25 3d 30  |.v~. 4:. FUST%=0|
00004260  20 8c 20 f2 70 61 69 6e  74 73 63 61 6c 65 3a f2  | . .paintscale:.|
00004270  70 69 63 70 6f 73 3a f2  69 6e 70 69 63 3a f2 65  |picpos:.inpic:.e|
00004280  6f 72 62 61 63 6b 3a f2  70 61 69 6e 74 62 72 75  |orback:.paintbru|
00004290  73 68 28 58 25 2c 59 25  29 3a f2 6f 75 74 70 69  |sh(X%,Y%):.outpi|
000042a0  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
000042b0  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a 46  |:OX%=X%:OY%=Y%:F|
000042c0  55 53 54 25 3d 31 3a e5  20 8d 44 62 60 0d 16 80  |UST%=1:. .Db`...|
000042d0  0b f2 70 69 63 70 6f 73  0d 16 8a 82 e7 20 58 25  |..picpos..... X%|
000042e0  3c 3e 4f 58 25 20 84 20  59 25 3c 3e 4f 59 25 20  |<>OX% . Y%<>OY% |
000042f0  8c 20 f2 70 61 69 6e 74  73 63 61 6c 65 3a f2 69  |. .paintscale:.i|
00004300  6e 70 69 63 3a f2 65 6f  72 62 61 63 6b 3a f2 70  |npic:.eorback:.p|
00004310  61 69 6e 74 62 72 75 73  68 28 4f 58 25 2c 4f 59  |aintbrush(OX%,OY|
00004320  25 29 3a f2 70 61 69 6e  74 62 72 75 73 68 28 58  |%):.paintbrush(X|
00004330  25 2c 59 25 29 3a 4f 58  25 3d 58 25 3a 4f 59 25  |%,Y%):OX%=X%:OY%|
00004340  3d 59 25 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |=Y%:.outpic:.qui|
00004350  63 6b 64 72 61 77 6d 61  69 6e 0d 16 94 9a c9 20  |ckdrawmain..... |
00004360  35 3a e7 20 46 55 53 54  25 3d 30 20 80 20 42 55  |5:. FUST%=0 . BU|
00004370  54 25 3c 3e 30 20 8c 20  f2 70 69 63 70 6f 73 3a  |T%<>0 . .picpos:|
00004380  58 25 28 30 29 3d 58 25  3a 59 25 28 30 29 3d 59  |X%(0)=X%:Y%(0)=Y|
00004390  25 3a 46 55 53 54 25 3d  31 3a 4f 58 25 3d 58 25  |%:FUST%=1:OX%=X%|
000043a0  3a 4f 59 25 3d 59 25 3a  f2 69 6e 70 69 63 3a f2  |:OY%=Y%:.inpic:.|
000043b0  65 6f 63 3a c8 93 20 58  25 28 30 29 2c 59 25 28  |eoc:.. X%(0),Y%(|
000043c0  30 29 2c 4f 58 25 2d 58  25 28 30 29 2c 4f 59 25  |0),OX%-X%(0),OY%|
000043d0  2d 59 25 28 30 29 3a f2  6f 75 74 70 69 63 3a f2  |-Y%(0):.outpic:.|
000043e0  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 3a e5 20  |quickdrawmain:. |
000043f0  8d 44 62 60 0d 16 9e 16  e7 20 46 55 53 54 25 3d  |.Db`..... FUST%=|
00004400  30 20 8c 20 e5 20 8d 44  62 60 0d 16 a8 80 e7 20  |0 . . .Db`..... |
00004410  42 55 54 25 3d 31 20 8c  20 f2 69 6e 70 69 63 3a  |BUT%=1 . .inpic:|
00004420  f2 65 6f 63 3a c8 93 20  58 25 28 30 29 2c 59 25  |.eoc:.. X%(0),Y%|
00004430  28 30 29 2c 4f 58 25 2d  58 25 28 30 29 2c 4f 59  |(0),OX%-X%(0),OY|
00004440  25 2d 59 25 28 30 29 3a  f2 70 69 63 70 6f 73 3a  |%-Y%(0):.picpos:|
00004450  4f 58 25 3d 58 25 3a 4f  59 25 3d 59 25 3a 46 55  |OX%=X%:OY%=Y%:FU|
00004460  53 54 25 3d 30 3a f2 6f  75 74 70 69 63 3a f2 71  |ST%=0:.outpic:.q|
00004470  75 69 63 6b 64 72 61 77  6d 61 69 6e 3a f2 6c 65  |uickdrawmain:.le|
00004480  74 67 6f 3a e5 20 8d 44  62 60 0d 16 b2 c6 e7 20  |tgo:. .Db`..... |
00004490  42 55 54 25 3d 34 20 80  20 28 4f 58 25 3c 3e 58  |BUT%=4 . (OX%<>X|
000044a0  25 28 30 29 20 84 20 4f  59 25 3c 3e 59 25 28 30  |%(0) . OY%<>Y%(0|
000044b0  29 29 20 8c 20 f2 69 6e  70 69 63 3a f2 65 6f 63  |)) . .inpic:.eoc|
000044c0  3a c8 93 20 58 25 28 30  29 2c 59 25 28 30 29 2c  |:.. X%(0),Y%(0),|
000044d0  4f 58 25 2d 58 25 28 30  29 2c 4f 59 25 2d 59 25  |OX%-X%(0),OY%-Y%|
000044e0  28 30 29 3a f2 70 69 63  70 6f 73 3a f2 73 65 74  |(0):.picpos:.set|
000044f0  63 6f 6c 3a f2 72 28 58  25 28 30 29 2c 59 25 28  |col:.r(X%(0),Y%(|
00004500  30 29 2c 58 25 2d 58 25  28 30 29 2c 59 25 2d 59  |0),X%-X%(0),Y%-Y|
00004510  25 28 30 29 29 3a 4f 58  25 3d 58 25 3a 4f 59 25  |%(0)):OX%=X%:OY%|
00004520  3d 59 25 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |=Y%:.outpic:.qui|
00004530  63 6b 64 72 61 77 6d 61  69 6e 3a f2 6c 65 74 67  |ckdrawmain:.letg|
00004540  6f 3a 46 55 53 54 25 3d  30 3a e5 20 8d 44 62 60  |o:FUST%=0:. .Db`|
00004550  0d 16 bc 26 f2 70 69 63  70 6f 73 3a e7 20 58 25  |...&.picpos:. X%|
00004560  3d 4f 58 25 20 80 20 59  25 3d 4f 59 25 20 8c 20  |=OX% . Y%=OY% . |
00004570  e5 20 8d 44 62 60 0d 16  c6 78 f2 69 6e 70 69 63  |. .Db`...x.inpic|
00004580  3a f2 65 6f 63 3a c8 93  20 58 25 28 30 29 2c 59  |:.eoc:.. X%(0),Y|
00004590  25 28 30 29 2c 4f 58 25  2d 58 25 28 30 29 2c 4f  |%(0),OX%-X%(0),O|
000045a0  59 25 2d 59 25 28 30 29  3a 4f 58 25 3d 58 25 3a  |Y%-Y%(0):OX%=X%:|
000045b0  4f 59 25 3d 59 25 3a c8  93 20 58 25 28 30 29 2c  |OY%=Y%:.. X%(0),|
000045c0  59 25 28 30 29 2c 58 25  2d 58 25 28 30 29 2c 59  |Y%(0),X%-X%(0),Y|
000045d0  25 2d 59 25 28 30 29 3a  f2 6f 75 74 70 69 63 3a  |%-Y%(0):.outpic:|
000045e0  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 0d 16  |.quickdrawmain..|
000045f0  d0 9d c9 20 36 3a e7 20  46 55 53 54 25 3d 30 20  |... 6:. FUST%=0 |
00004600  80 20 42 55 54 25 3c 3e  30 20 8c 20 f2 70 69 63  |. BUT%<>0 . .pic|
00004610  70 6f 73 3a 58 25 28 30  29 3d 58 25 3a 59 25 28  |pos:X%(0)=X%:Y%(|
00004620  30 29 3d 59 25 3a 46 55  53 54 25 3d 31 3a 4f 58  |0)=Y%:FUST%=1:OX|
00004630  25 3d 58 25 3a 4f 59 25  3d 59 25 3a f2 69 6e 70  |%=X%:OY%=Y%:.inp|
00004640  69 63 3a f2 65 6f 63 3a  c8 93 20 c8 90 20 58 25  |ic:.eoc:.. .. X%|
00004650  28 30 29 2c 59 25 28 30  29 2c 4f 58 25 2d 58 25  |(0),Y%(0),OX%-X%|
00004660  28 30 29 2c 4f 59 25 2d  59 25 28 30 29 3a f2 6f  |(0),OY%-Y%(0):.o|
00004670  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
00004680  6d 61 69 6e 3a e5 20 8d  44 62 60 0d 16 da 16 e7  |main:. .Db`.....|
00004690  20 46 55 53 54 25 3d 30  20 8c 20 e5 20 8d 44 62  | FUST%=0 . . .Db|
000046a0  60 0d 16 e4 83 e7 20 42  55 54 25 3d 31 20 8c 20  |`..... BUT%=1 . |
000046b0  f2 69 6e 70 69 63 3a f2  65 6f 63 3a c8 93 20 c8  |.inpic:.eoc:.. .|
000046c0  90 20 58 25 28 30 29 2c  59 25 28 30 29 2c 4f 58  |. X%(0),Y%(0),OX|
000046d0  25 2d 58 25 28 30 29 2c  4f 59 25 2d 59 25 28 30  |%-X%(0),OY%-Y%(0|
000046e0  29 3a f2 70 69 63 70 6f  73 3a 4f 58 25 3d 58 25  |):.picpos:OX%=X%|
000046f0  3a 4f 59 25 3d 59 25 3a  46 55 53 54 25 3d 30 3a  |:OY%=Y%:FUST%=0:|
00004700  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
00004710  61 77 6d 61 69 6e 3a f2  6c 65 74 67 6f 3a e5 20  |awmain:.letgo:. |
00004720  8d 44 62 60 0d 16 ee cb  e7 20 42 55 54 25 3d 34  |.Db`..... BUT%=4|
00004730  20 80 20 28 4f 58 25 3c  3e 58 25 28 30 29 20 84  | . (OX%<>X%(0) .|
00004740  20 4f 59 25 3c 3e 59 25  28 30 29 29 20 8c 20 f2  | OY%<>Y%(0)) . .|
00004750  69 6e 70 69 63 3a f2 65  6f 63 3a c8 93 20 c8 90  |inpic:.eoc:.. ..|
00004760  20 58 25 28 30 29 2c 59  25 28 30 29 2c 4f 58 25  | X%(0),Y%(0),OX%|
00004770  2d 58 25 28 30 29 2c 4f  59 25 2d 59 25 28 30 29  |-X%(0),OY%-Y%(0)|
00004780  3a f2 70 69 63 70 6f 73  3a f2 73 65 74 63 6f 6c  |:.picpos:.setcol|
00004790  3a c8 93 20 c8 90 20 58  25 28 30 29 2c 59 25 28  |:.. .. X%(0),Y%(|
000047a0  30 29 2c 58 25 2d 58 25  28 30 29 2c 59 25 2d 59  |0),X%-X%(0),Y%-Y|
000047b0  25 28 30 29 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |%(0):OX%=X%:OY%=|
000047c0  59 25 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |Y%:.outpic:.quic|
000047d0  6b 64 72 61 77 6d 61 69  6e 3a f2 6c 65 74 67 6f  |kdrawmain:.letgo|
000047e0  3a 46 55 53 54 25 3d 30  3a e5 20 8d 44 62 60 0d  |:FUST%=0:. .Db`.|
000047f0  16 f8 26 f2 70 69 63 70  6f 73 3a e7 20 58 25 3d  |..&.picpos:. X%=|
00004800  4f 58 25 20 80 20 59 25  3d 4f 59 25 20 8c 20 e5  |OX% . Y%=OY% . .|
00004810  20 8d 44 62 60 0d 17 02  7e f2 69 6e 70 69 63 3a  | .Db`...~.inpic:|
00004820  f2 65 6f 63 3a c8 93 20  c8 90 20 58 25 28 30 29  |.eoc:.. .. X%(0)|
00004830  2c 59 25 28 30 29 2c 4f  58 25 2d 58 25 28 30 29  |,Y%(0),OX%-X%(0)|
00004840  2c 4f 59 25 2d 59 25 28  30 29 3a 4f 58 25 3d 58  |,OY%-Y%(0):OX%=X|
00004850  25 3a 4f 59 25 3d 59 25  3a c8 93 20 c8 90 20 58  |%:OY%=Y%:.. .. X|
00004860  25 28 30 29 2c 59 25 28  30 29 2c 58 25 2d 58 25  |%(0),Y%(0),X%-X%|
00004870  28 30 29 2c 59 25 2d 59  25 28 30 29 3a f2 6f 75  |(0),Y%-Y%(0):.ou|
00004880  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
00004890  61 69 6e 0d 17 0c 95 c9  20 37 3a e7 20 46 55 53  |ain..... 7:. FUS|
000048a0  54 25 3d 30 20 80 20 42  55 54 25 3c 3e 30 20 8c  |T%=0 . BUT%<>0 .|
000048b0  20 f2 70 69 63 70 6f 73  3a 58 25 28 30 29 3d 58  | .picpos:X%(0)=X|
000048c0  25 3a 59 25 28 30 29 3d  59 25 3a 46 55 53 54 25  |%:Y%(0)=Y%:FUST%|
000048d0  3d 31 3a 4f 58 25 3d 58  25 3a 4f 59 25 3d 59 25  |=1:OX%=X%:OY%=Y%|
000048e0  3a f2 69 6e 70 69 63 3a  f2 65 6f 63 3a c8 8f 20  |:.inpic:.eoc:.. |
000048f0  58 25 28 30 29 2c 59 25  28 30 29 2c a4 64 69 73  |X%(0),Y%(0),.dis|
00004900  74 28 4f 58 25 2c 4f 59  25 29 3a f2 6f 75 74 70  |t(OX%,OY%):.outp|
00004910  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00004920  6e 3a e5 20 8d 44 62 60  0d 17 16 16 e7 20 46 55  |n:. .Db`..... FU|
00004930  53 54 25 3d 30 20 8c 20  e5 20 8d 44 62 60 0d 17  |ST%=0 . . .Db`..|
00004940  20 7b e7 20 42 55 54 25  3d 31 20 8c 20 f2 69 6e  | {. BUT%=1 . .in|
00004950  70 69 63 3a f2 65 6f 63  3a c8 8f 20 58 25 28 30  |pic:.eoc:.. X%(0|
00004960  29 2c 59 25 28 30 29 2c  a4 64 69 73 74 28 4f 58  |),Y%(0),.dist(OX|
00004970  25 2c 4f 59 25 29 3a f2  70 69 63 70 6f 73 3a 4f  |%,OY%):.picpos:O|
00004980  58 25 3d 58 25 3a 4f 59  25 3d 59 25 3a 46 55 53  |X%=X%:OY%=Y%:FUS|
00004990  54 25 3d 30 3a f2 6f 75  74 70 69 63 3a f2 71 75  |T%=0:.outpic:.qu|
000049a0  69 63 6b 64 72 61 77 6d  61 69 6e 3a f2 6c 65 74  |ickdrawmain:.let|
000049b0  67 6f 3a e5 20 8d 44 62  60 0d 17 2a bb e7 20 42  |go:. .Db`..*.. B|
000049c0  55 54 25 3d 34 20 80 20  28 4f 58 25 3c 3e 58 25  |UT%=4 . (OX%<>X%|
000049d0  28 30 29 20 84 20 4f 59  25 3c 3e 59 25 28 30 29  |(0) . OY%<>Y%(0)|
000049e0  29 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |) . .inpic:.eoc:|
000049f0  c8 8f 20 58 25 28 30 29  2c 59 25 28 30 29 2c a4  |.. X%(0),Y%(0),.|
00004a00  64 69 73 74 28 4f 58 25  2c 4f 59 25 29 3a f2 70  |dist(OX%,OY%):.p|
00004a10  69 63 70 6f 73 3a f2 73  65 74 63 6f 6c 3a c8 8f  |icpos:.setcol:..|
00004a20  20 58 25 28 30 29 2c 59  25 28 30 29 2c a4 64 69  | X%(0),Y%(0),.di|
00004a30  73 74 28 58 25 2c 59 25  29 3a 4f 58 25 3d 58 25  |st(X%,Y%):OX%=X%|
00004a40  3a 4f 59 25 3d 59 25 3a  f2 6f 75 74 70 69 63 3a  |:OY%=Y%:.outpic:|
00004a50  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 3a f2  |.quickdrawmain:.|
00004a60  6c 65 74 67 6f 3a 46 55  53 54 25 3d 30 3a e5 20  |letgo:FUST%=0:. |
00004a70  8d 44 62 60 0d 17 34 26  f2 70 69 63 70 6f 73 3a  |.Db`..4&.picpos:|
00004a80  e7 20 58 25 3d 4f 58 25  20 80 20 59 25 3d 4f 59  |. X%=OX% . Y%=OY|
00004a90  25 20 8c 20 e5 20 8d 44  62 60 0d 17 3e 6e f2 69  |% . . .Db`..>n.i|
00004aa0  6e 70 69 63 3a f2 65 6f  63 3a c8 8f 20 58 25 28  |npic:.eoc:.. X%(|
00004ab0  30 29 2c 59 25 28 30 29  2c a4 64 69 73 74 28 4f  |0),Y%(0),.dist(O|
00004ac0  58 25 2c 4f 59 25 29 3a  4f 58 25 3d 58 25 3a 4f  |X%,OY%):OX%=X%:O|
00004ad0  59 25 3d 59 25 3a c8 8f  20 58 25 28 30 29 2c 59  |Y%=Y%:.. X%(0),Y|
00004ae0  25 28 30 29 2c a4 64 69  73 74 28 58 25 2c 59 25  |%(0),.dist(X%,Y%|
00004af0  29 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |):.outpic:.quick|
00004b00  64 72 61 77 6d 61 69 6e  0d 17 48 98 c9 20 38 3a  |drawmain..H.. 8:|
00004b10  e7 20 46 55 53 54 25 3d  30 20 80 20 42 55 54 25  |. FUST%=0 . BUT%|
00004b20  3c 3e 30 20 8c 20 f2 70  69 63 70 6f 73 3a 58 25  |<>0 . .picpos:X%|
00004b30  28 30 29 3d 58 25 3a 59  25 28 30 29 3d 59 25 3a  |(0)=X%:Y%(0)=Y%:|
00004b40  46 55 53 54 25 3d 31 3a  4f 58 25 3d 58 25 3a 4f  |FUST%=1:OX%=X%:O|
00004b50  59 25 3d 59 25 3a f2 69  6e 70 69 63 3a f2 65 6f  |Y%=Y%:.inpic:.eo|
00004b60  63 3a c8 8f 20 c8 90 20  58 25 28 30 29 2c 59 25  |c:.. .. X%(0),Y%|
00004b70  28 30 29 2c a4 64 69 73  74 28 4f 58 25 2c 4f 59  |(0),.dist(OX%,OY|
00004b80  25 29 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |%):.outpic:.quic|
00004b90  6b 64 72 61 77 6d 61 69  6e 3a e5 20 8d 44 62 60  |kdrawmain:. .Db`|
00004ba0  0d 17 52 16 e7 20 46 55  53 54 25 3d 30 20 8c 20  |..R.. FUST%=0 . |
00004bb0  e5 20 8d 44 62 60 0d 17  5c 7e e7 20 42 55 54 25  |. .Db`..\~. BUT%|
00004bc0  3d 31 20 8c 20 f2 69 6e  70 69 63 3a f2 65 6f 63  |=1 . .inpic:.eoc|
00004bd0  3a c8 8f 20 c8 90 20 58  25 28 30 29 2c 59 25 28  |:.. .. X%(0),Y%(|
00004be0  30 29 2c a4 64 69 73 74  28 4f 58 25 2c 4f 59 25  |0),.dist(OX%,OY%|
00004bf0  29 3a f2 70 69 63 70 6f  73 3a 4f 58 25 3d 58 25  |):.picpos:OX%=X%|
00004c00  3a 4f 59 25 3d 59 25 3a  46 55 53 54 25 3d 30 3a  |:OY%=Y%:FUST%=0:|
00004c10  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
00004c20  61 77 6d 61 69 6e 3a f2  6c 65 74 67 6f 3a e5 20  |awmain:.letgo:. |
00004c30  8d 44 62 60 0d 17 66 c1  e7 20 42 55 54 25 3d 34  |.Db`..f.. BUT%=4|
00004c40  20 80 20 28 4f 58 25 3c  3e 58 25 28 30 29 20 84  | . (OX%<>X%(0) .|
00004c50  20 4f 59 25 3c 3e 59 25  28 30 29 29 20 8c 20 f2  | OY%<>Y%(0)) . .|
00004c60  69 6e 70 69 63 3a f2 65  6f 63 3a c8 8f 20 c8 90  |inpic:.eoc:.. ..|
00004c70  20 58 25 28 30 29 2c 59  25 28 30 29 2c a4 64 69  | X%(0),Y%(0),.di|
00004c80  73 74 28 4f 58 25 2c 4f  59 25 29 3a f2 70 69 63  |st(OX%,OY%):.pic|
00004c90  70 6f 73 3a f2 73 65 74  63 6f 6c 3a c8 8f 20 c8  |pos:.setcol:.. .|
00004ca0  90 20 58 25 28 30 29 2c  59 25 28 30 29 2c a4 64  |. X%(0),Y%(0),.d|
00004cb0  69 73 74 28 58 25 2c 59  25 29 3a 4f 58 25 3d 58  |ist(X%,Y%):OX%=X|
00004cc0  25 3a 4f 59 25 3d 59 25  3a f2 6f 75 74 70 69 63  |%:OY%=Y%:.outpic|
00004cd0  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 3a  |:.quickdrawmain:|
00004ce0  f2 6c 65 74 67 6f 3a 46  55 53 54 25 3d 30 3a e5  |.letgo:FUST%=0:.|
00004cf0  20 8d 44 62 60 0d 17 70  26 f2 70 69 63 70 6f 73  | .Db`..p&.picpos|
00004d00  3a e7 20 58 25 3d 4f 58  25 20 80 20 59 25 3d 4f  |:. X%=OX% . Y%=O|
00004d10  59 25 20 8c 20 e5 20 8d  44 62 60 0d 17 7a 74 f2  |Y% . . .Db`..zt.|
00004d20  69 6e 70 69 63 3a f2 65  6f 63 3a c8 8f 20 c8 90  |inpic:.eoc:.. ..|
00004d30  20 58 25 28 30 29 2c 59  25 28 30 29 2c a4 64 69  | X%(0),Y%(0),.di|
00004d40  73 74 28 4f 58 25 2c 4f  59 25 29 3a 4f 58 25 3d  |st(OX%,OY%):OX%=|
00004d50  58 25 3a 4f 59 25 3d 59  25 3a c8 8f 20 c8 90 20  |X%:OY%=Y%:.. .. |
00004d60  58 25 28 30 29 2c 59 25  28 30 29 2c a4 64 69 73  |X%(0),Y%(0),.dis|
00004d70  74 28 58 25 2c 59 25 29  3a f2 6f 75 74 70 69 63  |t(X%,Y%):.outpic|
00004d80  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 0d  |:.quickdrawmain.|
00004d90  17 84 8d c9 20 39 3a e7  20 46 55 53 54 25 3d 30  |.... 9:. FUST%=0|
00004da0  20 80 20 42 55 54 25 3c  3e 30 20 8c 20 f2 70 69  | . BUT%<>0 . .pi|
00004db0  63 70 6f 73 3a 58 25 28  30 29 3d 58 25 3a 59 25  |cpos:X%(0)=X%:Y%|
00004dc0  28 30 29 3d 59 25 3a 46  55 53 54 25 3d 31 3a 4f  |(0)=Y%:FUST%=1:O|
00004dd0  58 25 3d 58 25 3a 4f 59  25 3d 59 25 3a f2 69 6e  |X%=X%:OY%=Y%:.in|
00004de0  70 69 63 3a f2 65 6f 63  3a 86 20 58 25 28 30 29  |pic:.eoc:. X%(0)|
00004df0  2c 59 25 28 30 29 2c 4f  58 25 2c 4f 59 25 3a f2  |,Y%(0),OX%,OY%:.|
00004e00  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
00004e10  77 6d 61 69 6e 3a e5 20  8d 44 62 60 0d 17 8e 16  |wmain:. .Db`....|
00004e20  e7 20 46 55 53 54 25 3d  30 20 8c 20 e5 20 8d 44  |. FUST%=0 . . .D|
00004e30  62 60 0d 17 98 7d e7 20  42 55 54 25 3d 31 20 80  |b`...}. BUT%=1 .|
00004e40  20 46 55 53 54 25 3d 31  20 8c 20 f2 69 6e 70 69  | FUST%=1 . .inpi|
00004e50  63 3a f2 65 6f 63 3a 86  20 58 25 28 30 29 2c 59  |c:.eoc:. X%(0),Y|
00004e60  25 28 30 29 2c 4f 58 25  2c 4f 59 25 3a f2 70 69  |%(0),OX%,OY%:.pi|
00004e70  63 70 6f 73 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |cpos:OX%=X%:OY%=|
00004e80  59 25 3a 46 55 53 54 25  3d 30 3a f2 6f 75 74 70  |Y%:FUST%=0:.outp|
00004e90  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00004ea0  6e 3a f2 6c 65 74 67 6f  3a e5 20 8d 44 62 60 0d  |n:.letgo:. .Db`.|
00004eb0  17 a2 69 e7 20 42 55 54  25 3d 31 20 80 20 46 55  |..i. BUT%=1 . FU|
00004ec0  53 54 25 3d 32 20 8c 20  f2 69 6e 70 69 63 3a f2  |ST%=2 . .inpic:.|
00004ed0  65 6f 63 3a f2 74 72 69  28 35 2c 4f 58 25 2c 4f  |eoc:.tri(5,OX%,O|
00004ee0  59 25 29 3a f2 70 69 63  70 6f 73 3a 46 55 53 54  |Y%):.picpos:FUST|
00004ef0  25 3d 30 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |%=0:.outpic:.qui|
00004f00  63 6b 64 72 61 77 6d 61  69 6e 3a f2 6c 65 74 67  |ckdrawmain:.letg|
00004f10  6f 3a e5 20 8d 44 62 60  0d 17 ac bf e7 20 42 55  |o:. .Db`..... BU|
00004f20  54 25 3d 34 20 80 20 28  4f 58 25 3c 3e 58 25 28  |T%=4 . (OX%<>X%(|
00004f30  30 29 20 84 20 4f 59 25  3c 3e 59 25 28 30 29 29  |0) . OY%<>Y%(0))|
00004f40  20 80 20 46 55 53 54 25  3d 31 20 8c 20 f2 69 6e  | . FUST%=1 . .in|
00004f50  70 69 63 3a f2 65 6f 63  3a 58 25 28 31 29 3d 4f  |pic:.eoc:X%(1)=O|
00004f60  58 25 3a 59 25 28 31 29  3d 4f 59 25 3a f2 70 69  |X%:Y%(1)=OY%:.pi|
00004f70  63 70 6f 73 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |cpos:OX%=X%:OY%=|
00004f80  59 25 3a 86 20 58 25 28  31 29 2c 59 25 28 31 29  |Y%:. X%(1),Y%(1)|
00004f90  2c 58 25 2c 59 25 3a 86  20 58 25 28 30 29 2c 59  |,X%,Y%:. X%(0),Y|
00004fa0  25 28 30 29 2c 58 25 2c  59 25 3a f2 6f 75 74 70  |%(0),X%,Y%:.outp|
00004fb0  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00004fc0  6e 3a f2 6c 65 74 67 6f  3a 46 55 53 54 25 3d 32  |n:.letgo:FUST%=2|
00004fd0  3a e5 20 8d 44 62 60 0d  17 b6 a9 e7 20 42 55 54  |:. .Db`..... BUT|
00004fe0  25 3d 34 20 80 20 28 4f  58 25 3c 3e 58 25 28 31  |%=4 . (OX%<>X%(1|
00004ff0  29 20 84 20 4f 59 25 3c  3e 59 25 28 31 29 29 20  |) . OY%<>Y%(1)) |
00005000  80 20 46 55 53 54 25 3d  32 20 8c 20 f2 69 6e 70  |. FUST%=2 . .inp|
00005010  69 63 3a f2 65 6f 63 3a  f2 70 69 63 70 6f 73 3a  |ic:.eoc:.picpos:|
00005020  f2 74 72 69 28 35 2c 4f  58 25 2c 4f 59 25 29 3a  |.tri(5,OX%,OY%):|
00005030  f2 73 65 74 63 6f 6c 3a  f2 74 72 69 28 30 2c 58  |.setcol:.tri(0,X|
00005040  25 2c 59 25 29 3a 4f 58  25 3d 58 25 3a 4f 59 25  |%,Y%):OX%=X%:OY%|
00005050  3d 59 25 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |=Y%:.outpic:.qui|
00005060  63 6b 64 72 61 77 6d 61  69 6e 3a f2 6c 65 74 67  |ckdrawmain:.letg|
00005070  6f 3a 46 55 53 54 25 3d  30 3a e5 20 8d 44 62 60  |o:FUST%=0:. .Db`|
00005080  0d 17 c0 26 f2 70 69 63  70 6f 73 3a e7 20 58 25  |...&.picpos:. X%|
00005090  3d 4f 58 25 20 80 20 59  25 3d 4f 59 25 20 8c 20  |=OX% . Y%=OY% . |
000050a0  e5 20 8d 44 62 60 0d 17  ca 6a e7 20 46 55 53 54  |. .Db`...j. FUST|
000050b0  25 3d 31 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=1 . .inpic:.eo|
000050c0  63 3a 86 20 58 25 28 30  29 2c 59 25 28 30 29 2c  |c:. X%(0),Y%(0),|
000050d0  4f 58 25 2c 4f 59 25 3a  4f 58 25 3d 58 25 3a 4f  |OX%,OY%:OX%=X%:O|
000050e0  59 25 3d 59 25 3a 86 20  58 25 28 30 29 2c 59 25  |Y%=Y%:. X%(0),Y%|
000050f0  28 30 29 2c 58 25 2c 59  25 3a f2 6f 75 74 70 69  |(0),X%,Y%:.outpi|
00005100  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
00005110  0d 17 d4 94 e7 20 46 55  53 54 25 3d 32 20 8c 20  |..... FUST%=2 . |
00005120  f2 69 6e 70 69 63 3a f2  65 6f 63 3a 86 20 58 25  |.inpic:.eoc:. X%|
00005130  28 30 29 2c 59 25 28 30  29 2c 4f 58 25 2c 4f 59  |(0),Y%(0),OX%,OY|
00005140  25 3a 86 20 58 25 28 31  29 2c 59 25 28 31 29 2c  |%:. X%(1),Y%(1),|
00005150  4f 58 25 2c 4f 59 25 3a  4f 58 25 3d 58 25 3a 4f  |OX%,OY%:OX%=X%:O|
00005160  59 25 3d 59 25 3a 86 20  58 25 28 30 29 2c 59 25  |Y%=Y%:. X%(0),Y%|
00005170  28 30 29 2c 58 25 2c 59  25 3a 86 20 58 25 28 31  |(0),X%,Y%:. X%(1|
00005180  29 2c 59 25 28 31 29 2c  58 25 2c 59 25 3a f2 6f  |),Y%(1),X%,Y%:.o|
00005190  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
000051a0  6d 61 69 6e 0d 17 de 8e  c9 20 31 30 3a e7 20 46  |main..... 10:. F|
000051b0  55 53 54 25 3d 30 20 80  20 42 55 54 25 3c 3e 30  |UST%=0 . BUT%<>0|
000051c0  20 8c 20 f2 70 69 63 70  6f 73 3a 58 25 28 30 29  | . .picpos:X%(0)|
000051d0  3d 58 25 3a 59 25 28 30  29 3d 59 25 3a 46 55 53  |=X%:Y%(0)=Y%:FUS|
000051e0  54 25 3d 31 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |T%=1:OX%=X%:OY%=|
000051f0  59 25 3a f2 69 6e 70 69  63 3a f2 65 6f 63 3a 86  |Y%:.inpic:.eoc:.|
00005200  20 58 25 28 30 29 2c 59  25 28 30 29 2c 4f 58 25  | X%(0),Y%(0),OX%|
00005210  2c 4f 59 25 3a f2 6f 75  74 70 69 63 3a f2 71 75  |,OY%:.outpic:.qu|
00005220  69 63 6b 64 72 61 77 6d  61 69 6e 3a e5 20 8d 44  |ickdrawmain:. .D|
00005230  62 60 0d 17 e8 16 e7 20  46 55 53 54 25 3d 30 20  |b`..... FUST%=0 |
00005240  8c 20 e5 20 8d 44 62 60  0d 17 f2 7d e7 20 42 55  |. . .Db`...}. BU|
00005250  54 25 3d 31 20 80 20 46  55 53 54 25 3d 31 20 8c  |T%=1 . FUST%=1 .|
00005260  20 f2 69 6e 70 69 63 3a  f2 65 6f 63 3a 86 20 58  | .inpic:.eoc:. X|
00005270  25 28 30 29 2c 59 25 28  30 29 2c 4f 58 25 2c 4f  |%(0),Y%(0),OX%,O|
00005280  59 25 3a f2 70 69 63 70  6f 73 3a 4f 58 25 3d 58  |Y%:.picpos:OX%=X|
00005290  25 3a 4f 59 25 3d 59 25  3a 46 55 53 54 25 3d 30  |%:OY%=Y%:FUST%=0|
000052a0  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
000052b0  72 61 77 6d 61 69 6e 3a  f2 6c 65 74 67 6f 3a e5  |rawmain:.letgo:.|
000052c0  20 8d 44 62 60 0d 17 fc  6a e7 20 42 55 54 25 3d  | .Db`...j. BUT%=|
000052d0  31 20 80 20 46 55 53 54  25 3d 32 20 8c 20 f2 69  |1 . FUST%=2 . .i|
000052e0  6e 70 69 63 3a f2 65 6f  63 3a f2 74 72 69 28 38  |npic:.eoc:.tri(8|
000052f0  35 2c 4f 58 25 2c 4f 59  25 29 3a f2 70 69 63 70  |5,OX%,OY%):.picp|
00005300  6f 73 3a 46 55 53 54 25  3d 30 3a f2 6f 75 74 70  |os:FUST%=0:.outp|
00005310  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00005320  6e 3a f2 6c 65 74 67 6f  3a e5 20 8d 44 62 60 0d  |n:.letgo:. .Db`.|
00005330  18 06 bc e7 20 42 55 54  25 3d 34 20 80 20 28 4f  |.... BUT%=4 . (O|
00005340  58 25 3c 3e 58 25 28 30  29 20 84 20 4f 59 25 3c  |X%<>X%(0) . OY%<|
00005350  3e 59 25 28 30 29 29 20  80 20 46 55 53 54 25 3d  |>Y%(0)) . FUST%=|
00005360  31 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |1 . .inpic:.eoc:|
00005370  58 25 28 31 29 3d 4f 58  25 3a 59 25 28 31 29 3d  |X%(1)=OX%:Y%(1)=|
00005380  4f 59 25 3a 86 20 58 25  28 30 29 2c 59 25 28 30  |OY%:. X%(0),Y%(0|
00005390  29 2c 4f 58 25 2c 4f 59  25 3a f2 70 69 63 70 6f  |),OX%,OY%:.picpo|
000053a0  73 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |s:OX%=X%:OY%=Y%:|
000053b0  f2 74 72 69 28 38 35 2c  58 25 2c 59 25 29 3a f2  |.tri(85,X%,Y%):.|
000053c0  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
000053d0  77 6d 61 69 6e 3a f2 6c  65 74 67 6f 3a 46 55 53  |wmain:.letgo:FUS|
000053e0  54 25 3d 32 3a e5 20 8d  44 62 60 0d 18 10 ab e7  |T%=2:. .Db`.....|
000053f0  20 42 55 54 25 3d 34 20  80 20 28 4f 58 25 3c 3e  | BUT%=4 . (OX%<>|
00005400  58 25 28 31 29 20 84 20  4f 59 25 3c 3e 59 25 28  |X%(1) . OY%<>Y%(|
00005410  31 29 29 20 80 20 46 55  53 54 25 3d 32 20 8c 20  |1)) . FUST%=2 . |
00005420  f2 69 6e 70 69 63 3a f2  65 6f 63 3a f2 70 69 63  |.inpic:.eoc:.pic|
00005430  70 6f 73 3a f2 74 72 69  28 38 35 2c 4f 58 25 2c  |pos:.tri(85,OX%,|
00005440  4f 59 25 29 3a f2 73 65  74 63 6f 6c 3a f2 74 72  |OY%):.setcol:.tr|
00005450  69 28 38 35 2c 58 25 2c  59 25 29 3a 4f 58 25 3d  |i(85,X%,Y%):OX%=|
00005460  58 25 3a 4f 59 25 3d 59  25 3a f2 6f 75 74 70 69  |X%:OY%=Y%:.outpi|
00005470  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
00005480  3a f2 6c 65 74 67 6f 3a  46 55 53 54 25 3d 30 3a  |:.letgo:FUST%=0:|
00005490  e5 20 8d 44 62 60 0d 18  1a 26 f2 70 69 63 70 6f  |. .Db`...&.picpo|
000054a0  73 3a e7 20 58 25 3d 4f  58 25 20 80 20 59 25 3d  |s:. X%=OX% . Y%=|
000054b0  4f 59 25 20 8c 20 e5 20  8d 44 62 60 0d 18 24 6a  |OY% . . .Db`..$j|
000054c0  e7 20 46 55 53 54 25 3d  31 20 8c 20 f2 69 6e 70  |. FUST%=1 . .inp|
000054d0  69 63 3a f2 65 6f 63 3a  86 20 58 25 28 30 29 2c  |ic:.eoc:. X%(0),|
000054e0  59 25 28 30 29 2c 4f 58  25 2c 4f 59 25 3a 4f 58  |Y%(0),OX%,OY%:OX|
000054f0  25 3d 58 25 3a 4f 59 25  3d 59 25 3a 86 20 58 25  |%=X%:OY%=Y%:. X%|
00005500  28 30 29 2c 59 25 28 30  29 2c 58 25 2c 59 25 3a  |(0),Y%(0),X%,Y%:|
00005510  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
00005520  61 77 6d 61 69 6e 0d 18  2e 60 e7 20 46 55 53 54  |awmain...`. FUST|
00005530  25 3d 32 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=2 . .inpic:.eo|
00005540  63 3a f2 74 72 69 28 38  35 2c 4f 58 25 2c 4f 59  |c:.tri(85,OX%,OY|
00005550  25 29 3a 4f 58 25 3d 58  25 3a 4f 59 25 3d 59 25  |%):OX%=X%:OY%=Y%|
00005560  3a f2 74 72 69 28 38 35  2c 58 25 2c 59 25 29 3a  |:.tri(85,X%,Y%):|
00005570  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
00005580  61 77 6d 61 69 6e 0d 18  38 8e c9 20 31 31 3a e7  |awmain..8.. 11:.|
00005590  20 46 55 53 54 25 3d 30  20 80 20 42 55 54 25 3c  | FUST%=0 . BUT%<|
000055a0  3e 30 20 8c 20 f2 70 69  63 70 6f 73 3a 58 25 28  |>0 . .picpos:X%(|
000055b0  30 29 3d 58 25 3a 59 25  28 30 29 3d 59 25 3a 46  |0)=X%:Y%(0)=Y%:F|
000055c0  55 53 54 25 3d 31 3a 4f  58 25 3d 58 25 3a 4f 59  |UST%=1:OX%=X%:OY|
000055d0  25 3d 59 25 3a f2 69 6e  70 69 63 3a f2 65 6f 63  |%=Y%:.inpic:.eoc|
000055e0  3a 86 20 58 25 28 30 29  2c 59 25 28 30 29 2c 4f  |:. X%(0),Y%(0),O|
000055f0  58 25 2c 4f 59 25 3a f2  6f 75 74 70 69 63 3a f2  |X%,OY%:.outpic:.|
00005600  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 3a e5 20  |quickdrawmain:. |
00005610  8d 44 62 60 0d 18 42 16  e7 20 46 55 53 54 25 3d  |.Db`..B.. FUST%=|
00005620  30 20 8c 20 e5 20 8d 44  62 60 0d 18 4c 7d e7 20  |0 . . .Db`..L}. |
00005630  42 55 54 25 3d 31 20 80  20 46 55 53 54 25 3d 31  |BUT%=1 . FUST%=1|
00005640  20 8c 20 f2 69 6e 70 69  63 3a f2 65 6f 63 3a 86  | . .inpic:.eoc:.|
00005650  20 58 25 28 30 29 2c 59  25 28 30 29 2c 4f 58 25  | X%(0),Y%(0),OX%|
00005660  2c 4f 59 25 3a f2 70 69  63 70 6f 73 3a 4f 58 25  |,OY%:.picpos:OX%|
00005670  3d 58 25 3a 4f 59 25 3d  59 25 3a 46 55 53 54 25  |=X%:OY%=Y%:FUST%|
00005680  3d 30 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |=0:.outpic:.quic|
00005690  6b 64 72 61 77 6d 61 69  6e 3a f2 6c 65 74 67 6f  |kdrawmain:.letgo|
000056a0  3a e5 20 8d 44 62 60 0d  18 56 6c e7 20 42 55 54  |:. .Db`..Vl. BUT|
000056b0  25 3d 31 20 80 20 46 55  53 54 25 3d 32 20 8c 20  |%=1 . FUST%=2 . |
000056c0  f2 69 6e 70 69 63 3a f2  65 6f 63 3a f2 65 6c 69  |.inpic:.eoc:.eli|
000056d0  70 28 26 43 35 2c 4f 58  25 2c 4f 59 25 29 3a f2  |p(&C5,OX%,OY%):.|
000056e0  70 69 63 70 6f 73 3a 46  55 53 54 25 3d 30 3a f2  |picpos:FUST%=0:.|
000056f0  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
00005700  77 6d 61 69 6e 3a f2 6c  65 74 67 6f 3a e5 20 8d  |wmain:.letgo:. .|
00005710  44 62 60 0d 18 60 be e7  20 42 55 54 25 3d 34 20  |Db`..`.. BUT%=4 |
00005720  80 20 28 4f 58 25 3c 3e  58 25 28 30 29 20 84 20  |. (OX%<>X%(0) . |
00005730  4f 59 25 3c 3e 59 25 28  30 29 29 20 80 20 46 55  |OY%<>Y%(0)) . FU|
00005740  53 54 25 3d 31 20 8c 20  f2 69 6e 70 69 63 3a f2  |ST%=1 . .inpic:.|
00005750  65 6f 63 3a 58 25 28 31  29 3d 4f 58 25 3a 59 25  |eoc:X%(1)=OX%:Y%|
00005760  28 31 29 3d 4f 59 25 3a  86 20 58 25 28 30 29 2c  |(1)=OY%:. X%(0),|
00005770  59 25 28 30 29 2c 4f 58  25 2c 4f 59 25 3a f2 70  |Y%(0),OX%,OY%:.p|
00005780  69 63 70 6f 73 3a 4f 58  25 3d 58 25 3a 4f 59 25  |icpos:OX%=X%:OY%|
00005790  3d 59 25 3a f2 65 6c 69  70 28 26 43 35 2c 58 25  |=Y%:.elip(&C5,X%|
000057a0  2c 59 25 29 3a f2 6f 75  74 70 69 63 3a f2 71 75  |,Y%):.outpic:.qu|
000057b0  69 63 6b 64 72 61 77 6d  61 69 6e 3a f2 6c 65 74  |ickdrawmain:.let|
000057c0  67 6f 3a 46 55 53 54 25  3d 32 3a e5 20 8d 44 62  |go:FUST%=2:. .Db|
000057d0  60 0d 18 6a af e7 20 42  55 54 25 3d 34 20 80 20  |`..j.. BUT%=4 . |
000057e0  28 4f 58 25 3c 3e 58 25  28 31 29 20 84 20 4f 59  |(OX%<>X%(1) . OY|
000057f0  25 3c 3e 59 25 28 31 29  29 20 80 20 46 55 53 54  |%<>Y%(1)) . FUST|
00005800  25 3d 32 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=2 . .inpic:.eo|
00005810  63 3a f2 70 69 63 70 6f  73 3a f2 65 6c 69 70 28  |c:.picpos:.elip(|
00005820  26 43 35 2c 4f 58 25 2c  4f 59 25 29 3a f2 73 65  |&C5,OX%,OY%):.se|
00005830  74 63 6f 6c 3a f2 65 6c  69 70 28 26 43 35 2c 58  |tcol:.elip(&C5,X|
00005840  25 2c 59 25 29 3a 4f 58  25 3d 58 25 3a 4f 59 25  |%,Y%):OX%=X%:OY%|
00005850  3d 59 25 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |=Y%:.outpic:.qui|
00005860  63 6b 64 72 61 77 6d 61  69 6e 3a f2 6c 65 74 67  |ckdrawmain:.letg|
00005870  6f 3a 46 55 53 54 25 3d  30 3a e5 20 8d 44 62 60  |o:FUST%=0:. .Db`|
00005880  0d 18 74 26 f2 70 69 63  70 6f 73 3a e7 20 58 25  |..t&.picpos:. X%|
00005890  3d 4f 58 25 20 80 20 59  25 3d 4f 59 25 20 8c 20  |=OX% . Y%=OY% . |
000058a0  e5 20 8d 44 62 60 0d 18  7e 6a e7 20 46 55 53 54  |. .Db`..~j. FUST|
000058b0  25 3d 31 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=1 . .inpic:.eo|
000058c0  63 3a 86 20 58 25 28 30  29 2c 59 25 28 30 29 2c  |c:. X%(0),Y%(0),|
000058d0  4f 58 25 2c 4f 59 25 3a  4f 58 25 3d 58 25 3a 4f  |OX%,OY%:OX%=X%:O|
000058e0  59 25 3d 59 25 3a 86 20  58 25 28 30 29 2c 59 25  |Y%=Y%:. X%(0),Y%|
000058f0  28 30 29 2c 58 25 2c 59  25 3a f2 6f 75 74 70 69  |(0),X%,Y%:.outpi|
00005900  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
00005910  0d 18 88 64 e7 20 46 55  53 54 25 3d 32 20 8c 20  |...d. FUST%=2 . |
00005920  f2 69 6e 70 69 63 3a f2  65 6f 63 3a f2 65 6c 69  |.inpic:.eoc:.eli|
00005930  70 28 26 43 35 2c 4f 58  25 2c 4f 59 25 29 3a 4f  |p(&C5,OX%,OY%):O|
00005940  58 25 3d 58 25 3a 4f 59  25 3d 59 25 3a f2 65 6c  |X%=X%:OY%=Y%:.el|
00005950  69 70 28 26 43 35 2c 58  25 2c 59 25 29 3a f2 6f  |ip(&C5,X%,Y%):.o|
00005960  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
00005970  6d 61 69 6e 0d 18 92 8e  c9 20 31 32 3a e7 20 46  |main..... 12:. F|
00005980  55 53 54 25 3d 30 20 80  20 42 55 54 25 3c 3e 30  |UST%=0 . BUT%<>0|
00005990  20 8c 20 f2 70 69 63 70  6f 73 3a 58 25 28 30 29  | . .picpos:X%(0)|
000059a0  3d 58 25 3a 59 25 28 30  29 3d 59 25 3a 46 55 53  |=X%:Y%(0)=Y%:FUS|
000059b0  54 25 3d 31 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |T%=1:OX%=X%:OY%=|
000059c0  59 25 3a f2 69 6e 70 69  63 3a f2 65 6f 63 3a 86  |Y%:.inpic:.eoc:.|
000059d0  20 58 25 28 30 29 2c 59  25 28 30 29 2c 4f 58 25  | X%(0),Y%(0),OX%|
000059e0  2c 4f 59 25 3a f2 6f 75  74 70 69 63 3a f2 71 75  |,OY%:.outpic:.qu|
000059f0  69 63 6b 64 72 61 77 6d  61 69 6e 3a e5 20 8d 44  |ickdrawmain:. .D|
00005a00  62 60 0d 18 9c 16 e7 20  46 55 53 54 25 3d 30 20  |b`..... FUST%=0 |
00005a10  8c 20 e5 20 8d 44 62 60  0d 18 a6 7d e7 20 42 55  |. . .Db`...}. BU|
00005a20  54 25 3d 31 20 80 20 46  55 53 54 25 3d 31 20 8c  |T%=1 . FUST%=1 .|
00005a30  20 f2 69 6e 70 69 63 3a  f2 65 6f 63 3a 86 20 58  | .inpic:.eoc:. X|
00005a40  25 28 30 29 2c 59 25 28  30 29 2c 4f 58 25 2c 4f  |%(0),Y%(0),OX%,O|
00005a50  59 25 3a f2 70 69 63 70  6f 73 3a 4f 58 25 3d 58  |Y%:.picpos:OX%=X|
00005a60  25 3a 4f 59 25 3d 59 25  3a 46 55 53 54 25 3d 30  |%:OY%=Y%:FUST%=0|
00005a70  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
00005a80  72 61 77 6d 61 69 6e 3a  f2 6c 65 74 67 6f 3a e5  |rawmain:.letgo:.|
00005a90  20 8d 44 62 60 0d 18 b0  6c e7 20 42 55 54 25 3d  | .Db`...l. BUT%=|
00005aa0  31 20 80 20 46 55 53 54  25 3d 32 20 8c 20 f2 69  |1 . FUST%=2 . .i|
00005ab0  6e 70 69 63 3a f2 65 6f  63 3a f2 65 6c 69 70 28  |npic:.eoc:.elip(|
00005ac0  26 43 44 2c 4f 58 25 2c  4f 59 25 29 3a f2 70 69  |&CD,OX%,OY%):.pi|
00005ad0  63 70 6f 73 3a 46 55 53  54 25 3d 30 3a f2 6f 75  |cpos:FUST%=0:.ou|
00005ae0  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
00005af0  61 69 6e 3a f2 6c 65 74  67 6f 3a e5 20 8d 44 62  |ain:.letgo:. .Db|
00005b00  60 0d 18 ba be e7 20 42  55 54 25 3d 34 20 80 20  |`..... BUT%=4 . |
00005b10  28 4f 58 25 3c 3e 58 25  28 30 29 20 84 20 4f 59  |(OX%<>X%(0) . OY|
00005b20  25 3c 3e 59 25 28 30 29  29 20 80 20 46 55 53 54  |%<>Y%(0)) . FUST|
00005b30  25 3d 31 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=1 . .inpic:.eo|
00005b40  63 3a 58 25 28 31 29 3d  4f 58 25 3a 59 25 28 31  |c:X%(1)=OX%:Y%(1|
00005b50  29 3d 4f 59 25 3a 86 20  58 25 28 30 29 2c 59 25  |)=OY%:. X%(0),Y%|
00005b60  28 30 29 2c 4f 58 25 2c  4f 59 25 3a f2 70 69 63  |(0),OX%,OY%:.pic|
00005b70  70 6f 73 3a 4f 58 25 3d  58 25 3a 4f 59 25 3d 59  |pos:OX%=X%:OY%=Y|
00005b80  25 3a f2 65 6c 69 70 28  26 43 44 2c 58 25 2c 59  |%:.elip(&CD,X%,Y|
00005b90  25 29 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |%):.outpic:.quic|
00005ba0  6b 64 72 61 77 6d 61 69  6e 3a f2 6c 65 74 67 6f  |kdrawmain:.letgo|
00005bb0  3a 46 55 53 54 25 3d 32  3a e5 20 8d 44 62 60 0d  |:FUST%=2:. .Db`.|
00005bc0  18 c4 af e7 20 42 55 54  25 3d 34 20 80 20 28 4f  |.... BUT%=4 . (O|
00005bd0  58 25 3c 3e 58 25 28 31  29 20 84 20 4f 59 25 3c  |X%<>X%(1) . OY%<|
00005be0  3e 59 25 28 31 29 29 20  80 20 46 55 53 54 25 3d  |>Y%(1)) . FUST%=|
00005bf0  32 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |2 . .inpic:.eoc:|
00005c00  f2 70 69 63 70 6f 73 3a  f2 65 6c 69 70 28 26 43  |.picpos:.elip(&C|
00005c10  44 2c 4f 58 25 2c 4f 59  25 29 3a f2 73 65 74 63  |D,OX%,OY%):.setc|
00005c20  6f 6c 3a f2 65 6c 69 70  28 26 43 44 2c 58 25 2c  |ol:.elip(&CD,X%,|
00005c30  59 25 29 3a 4f 58 25 3d  58 25 3a 4f 59 25 3d 59  |Y%):OX%=X%:OY%=Y|
00005c40  25 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |%:.outpic:.quick|
00005c50  64 72 61 77 6d 61 69 6e  3a f2 6c 65 74 67 6f 3a  |drawmain:.letgo:|
00005c60  46 55 53 54 25 3d 30 3a  e5 20 8d 44 62 60 0d 18  |FUST%=0:. .Db`..|
00005c70  ce 26 f2 70 69 63 70 6f  73 3a e7 20 58 25 3d 4f  |.&.picpos:. X%=O|
00005c80  58 25 20 80 20 59 25 3d  4f 59 25 20 8c 20 e5 20  |X% . Y%=OY% . . |
00005c90  8d 44 62 60 0d 18 d8 6a  e7 20 46 55 53 54 25 3d  |.Db`...j. FUST%=|
00005ca0  31 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |1 . .inpic:.eoc:|
00005cb0  86 20 58 25 28 30 29 2c  59 25 28 30 29 2c 4f 58  |. X%(0),Y%(0),OX|
00005cc0  25 2c 4f 59 25 3a 4f 58  25 3d 58 25 3a 4f 59 25  |%,OY%:OX%=X%:OY%|
00005cd0  3d 59 25 3a 86 20 58 25  28 30 29 2c 59 25 28 30  |=Y%:. X%(0),Y%(0|
00005ce0  29 2c 58 25 2c 59 25 3a  f2 6f 75 74 70 69 63 3a  |),X%,Y%:.outpic:|
00005cf0  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 0d 18  |.quickdrawmain..|
00005d00  e2 64 e7 20 46 55 53 54  25 3d 32 20 8c 20 f2 69  |.d. FUST%=2 . .i|
00005d10  6e 70 69 63 3a f2 65 6f  63 3a f2 65 6c 69 70 28  |npic:.eoc:.elip(|
00005d20  26 43 44 2c 4f 58 25 2c  4f 59 25 29 3a 4f 58 25  |&CD,OX%,OY%):OX%|
00005d30  3d 58 25 3a 4f 59 25 3d  59 25 3a f2 65 6c 69 70  |=X%:OY%=Y%:.elip|
00005d40  28 26 43 44 2c 58 25 2c  59 25 29 3a f2 6f 75 74  |(&CD,X%,Y%):.out|
00005d50  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
00005d60  69 6e 0d 18 ec 8e c9 20  31 33 3a e7 20 46 55 53  |in..... 13:. FUS|
00005d70  54 25 3d 30 20 80 20 42  55 54 25 3c 3e 30 20 8c  |T%=0 . BUT%<>0 .|
00005d80  20 f2 70 69 63 70 6f 73  3a 58 25 28 30 29 3d 58  | .picpos:X%(0)=X|
00005d90  25 3a 59 25 28 30 29 3d  59 25 3a 46 55 53 54 25  |%:Y%(0)=Y%:FUST%|
00005da0  3d 31 3a 4f 58 25 3d 58  25 3a 4f 59 25 3d 59 25  |=1:OX%=X%:OY%=Y%|
00005db0  3a f2 69 6e 70 69 63 3a  f2 65 6f 63 3a 86 20 58  |:.inpic:.eoc:. X|
00005dc0  25 28 30 29 2c 59 25 28  30 29 2c 4f 58 25 2c 4f  |%(0),Y%(0),OX%,O|
00005dd0  59 25 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |Y%:.outpic:.quic|
00005de0  6b 64 72 61 77 6d 61 69  6e 3a e5 20 8d 44 62 60  |kdrawmain:. .Db`|
00005df0  0d 18 f6 16 e7 20 46 55  53 54 25 3d 30 20 8c 20  |..... FUST%=0 . |
00005e00  e5 20 8d 44 62 60 0d 19  00 7d e7 20 42 55 54 25  |. .Db`...}. BUT%|
00005e10  3d 31 20 80 20 46 55 53  54 25 3d 31 20 8c 20 f2  |=1 . FUST%=1 . .|
00005e20  69 6e 70 69 63 3a f2 65  6f 63 3a 86 20 58 25 28  |inpic:.eoc:. X%(|
00005e30  30 29 2c 59 25 28 30 29  2c 4f 58 25 2c 4f 59 25  |0),Y%(0),OX%,OY%|
00005e40  3a f2 70 69 63 70 6f 73  3a 4f 58 25 3d 58 25 3a  |:.picpos:OX%=X%:|
00005e50  4f 59 25 3d 59 25 3a 46  55 53 54 25 3d 30 3a f2  |OY%=Y%:FUST%=0:.|
00005e60  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
00005e70  77 6d 61 69 6e 3a f2 6c  65 74 67 6f 3a e5 20 8d  |wmain:.letgo:. .|
00005e80  44 62 60 0d 19 0a 6c e7  20 42 55 54 25 3d 31 20  |Db`...l. BUT%=1 |
00005e90  80 20 46 55 53 54 25 3d  32 20 8c 20 f2 69 6e 70  |. FUST%=2 . .inp|
00005ea0  69 63 3a f2 65 6f 63 3a  f2 70 61 72 61 28 30 2c  |ic:.eoc:.para(0,|
00005eb0  30 2c 4f 58 25 2c 4f 59  25 29 3a f2 70 69 63 70  |0,OX%,OY%):.picp|
00005ec0  6f 73 3a 46 55 53 54 25  3d 30 3a f2 6f 75 74 70  |os:FUST%=0:.outp|
00005ed0  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00005ee0  6e 3a f2 6c 65 74 67 6f  3a e5 20 8d 44 62 60 0d  |n:.letgo:. .Db`.|
00005ef0  19 14 be e7 20 42 55 54  25 3d 34 20 80 20 28 4f  |.... BUT%=4 . (O|
00005f00  58 25 3c 3e 58 25 28 30  29 20 84 20 4f 59 25 3c  |X%<>X%(0) . OY%<|
00005f10  3e 59 25 28 30 29 29 20  80 20 46 55 53 54 25 3d  |>Y%(0)) . FUST%=|
00005f20  31 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |1 . .inpic:.eoc:|
00005f30  58 25 28 31 29 3d 4f 58  25 3a 59 25 28 31 29 3d  |X%(1)=OX%:Y%(1)=|
00005f40  4f 59 25 3a 86 20 58 25  28 30 29 2c 59 25 28 30  |OY%:. X%(0),Y%(0|
00005f50  29 2c 4f 58 25 2c 4f 59  25 3a f2 70 69 63 70 6f  |),OX%,OY%:.picpo|
00005f60  73 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |s:OX%=X%:OY%=Y%:|
00005f70  f2 70 61 72 61 28 30 2c  30 2c 58 25 2c 59 25 29  |.para(0,0,X%,Y%)|
00005f80  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
00005f90  72 61 77 6d 61 69 6e 3a  f2 6c 65 74 67 6f 3a 46  |rawmain:.letgo:F|
00005fa0  55 53 54 25 3d 32 3a e5  20 8d 44 62 60 0d 19 1e  |UST%=2:. .Db`...|
00005fb0  af e7 20 42 55 54 25 3d  34 20 80 20 28 4f 58 25  |.. BUT%=4 . (OX%|
00005fc0  3c 3e 58 25 28 31 29 20  84 20 4f 59 25 3c 3e 59  |<>X%(1) . OY%<>Y|
00005fd0  25 28 31 29 29 20 80 20  46 55 53 54 25 3d 32 20  |%(1)) . FUST%=2 |
00005fe0  8c 20 f2 69 6e 70 69 63  3a f2 65 6f 63 3a f2 70  |. .inpic:.eoc:.p|
00005ff0  69 63 70 6f 73 3a f2 70  61 72 61 28 30 2c 30 2c  |icpos:.para(0,0,|
00006000  4f 58 25 2c 4f 59 25 29  3a f2 73 65 74 63 6f 6c  |OX%,OY%):.setcol|
00006010  3a f2 70 61 72 61 28 31  2c 30 2c 58 25 2c 59 25  |:.para(1,0,X%,Y%|
00006020  29 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |):OX%=X%:OY%=Y%:|
00006030  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
00006040  61 77 6d 61 69 6e 3a f2  6c 65 74 67 6f 3a 46 55  |awmain:.letgo:FU|
00006050  53 54 25 3d 30 3a e5 20  8d 44 62 60 0d 19 28 26  |ST%=0:. .Db`..(&|
00006060  f2 70 69 63 70 6f 73 3a  e7 20 58 25 3d 4f 58 25  |.picpos:. X%=OX%|
00006070  20 80 20 59 25 3d 4f 59  25 20 8c 20 e5 20 8d 44  | . Y%=OY% . . .D|
00006080  62 60 0d 19 32 6a e7 20  46 55 53 54 25 3d 31 20  |b`..2j. FUST%=1 |
00006090  8c 20 f2 69 6e 70 69 63  3a f2 65 6f 63 3a 86 20  |. .inpic:.eoc:. |
000060a0  58 25 28 30 29 2c 59 25  28 30 29 2c 4f 58 25 2c  |X%(0),Y%(0),OX%,|
000060b0  4f 59 25 3a 4f 58 25 3d  58 25 3a 4f 59 25 3d 59  |OY%:OX%=X%:OY%=Y|
000060c0  25 3a 86 20 58 25 28 30  29 2c 59 25 28 30 29 2c  |%:. X%(0),Y%(0),|
000060d0  58 25 2c 59 25 3a f2 6f  75 74 70 69 63 3a f2 71  |X%,Y%:.outpic:.q|
000060e0  75 69 63 6b 64 72 61 77  6d 61 69 6e 0d 19 3c 64  |uickdrawmain..<d|
000060f0  e7 20 46 55 53 54 25 3d  32 20 8c 20 f2 69 6e 70  |. FUST%=2 . .inp|
00006100  69 63 3a f2 65 6f 63 3a  f2 70 61 72 61 28 30 2c  |ic:.eoc:.para(0,|
00006110  30 2c 4f 58 25 2c 4f 59  25 29 3a 4f 58 25 3d 58  |0,OX%,OY%):OX%=X|
00006120  25 3a 4f 59 25 3d 59 25  3a f2 70 61 72 61 28 30  |%:OY%=Y%:.para(0|
00006130  2c 30 2c 58 25 2c 59 25  29 3a f2 6f 75 74 70 69  |,0,X%,Y%):.outpi|
00006140  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
00006150  0d 19 46 8e c9 20 31 34  3a e7 20 46 55 53 54 25  |..F.. 14:. FUST%|
00006160  3d 30 20 80 20 42 55 54  25 3c 3e 30 20 8c 20 f2  |=0 . BUT%<>0 . .|
00006170  70 69 63 70 6f 73 3a 58  25 28 30 29 3d 58 25 3a  |picpos:X%(0)=X%:|
00006180  59 25 28 30 29 3d 59 25  3a 46 55 53 54 25 3d 31  |Y%(0)=Y%:FUST%=1|
00006190  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a f2  |:OX%=X%:OY%=Y%:.|
000061a0  69 6e 70 69 63 3a f2 65  6f 63 3a 86 20 58 25 28  |inpic:.eoc:. X%(|
000061b0  30 29 2c 59 25 28 30 29  2c 4f 58 25 2c 4f 59 25  |0),Y%(0),OX%,OY%|
000061c0  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
000061d0  72 61 77 6d 61 69 6e 3a  e5 20 8d 44 62 60 0d 19  |rawmain:. .Db`..|
000061e0  50 16 e7 20 46 55 53 54  25 3d 30 20 8c 20 e5 20  |P.. FUST%=0 . . |
000061f0  8d 44 62 60 0d 19 5a 7d  e7 20 42 55 54 25 3d 31  |.Db`..Z}. BUT%=1|
00006200  20 80 20 46 55 53 54 25  3d 31 20 8c 20 f2 69 6e  | . FUST%=1 . .in|
00006210  70 69 63 3a f2 65 6f 63  3a 86 20 58 25 28 30 29  |pic:.eoc:. X%(0)|
00006220  2c 59 25 28 30 29 2c 4f  58 25 2c 4f 59 25 3a f2  |,Y%(0),OX%,OY%:.|
00006230  70 69 63 70 6f 73 3a 4f  58 25 3d 58 25 3a 4f 59  |picpos:OX%=X%:OY|
00006240  25 3d 59 25 3a 46 55 53  54 25 3d 30 3a f2 6f 75  |%=Y%:FUST%=0:.ou|
00006250  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
00006260  61 69 6e 3a f2 6c 65 74  67 6f 3a e5 20 8d 44 62  |ain:.letgo:. .Db|
00006270  60 0d 19 64 6c e7 20 42  55 54 25 3d 31 20 80 20  |`..dl. BUT%=1 . |
00006280  46 55 53 54 25 3d 32 20  8c 20 f2 69 6e 70 69 63  |FUST%=2 . .inpic|
00006290  3a f2 65 6f 63 3a f2 70  61 72 61 28 30 2c 31 2c  |:.eoc:.para(0,1,|
000062a0  4f 58 25 2c 4f 59 25 29  3a f2 70 69 63 70 6f 73  |OX%,OY%):.picpos|
000062b0  3a 46 55 53 54 25 3d 30  3a f2 6f 75 74 70 69 63  |:FUST%=0:.outpic|
000062c0  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 3a  |:.quickdrawmain:|
000062d0  f2 6c 65 74 67 6f 3a e5  20 8d 44 62 60 0d 19 6e  |.letgo:. .Db`..n|
000062e0  be e7 20 42 55 54 25 3d  34 20 80 20 28 4f 58 25  |.. BUT%=4 . (OX%|
000062f0  3c 3e 58 25 28 30 29 20  84 20 4f 59 25 3c 3e 59  |<>X%(0) . OY%<>Y|
00006300  25 28 30 29 29 20 80 20  46 55 53 54 25 3d 31 20  |%(0)) . FUST%=1 |
00006310  8c 20 f2 69 6e 70 69 63  3a f2 65 6f 63 3a 58 25  |. .inpic:.eoc:X%|
00006320  28 31 29 3d 4f 58 25 3a  59 25 28 31 29 3d 4f 59  |(1)=OX%:Y%(1)=OY|
00006330  25 3a 86 20 58 25 28 30  29 2c 59 25 28 30 29 2c  |%:. X%(0),Y%(0),|
00006340  4f 58 25 2c 4f 59 25 3a  f2 70 69 63 70 6f 73 3a  |OX%,OY%:.picpos:|
00006350  4f 58 25 3d 58 25 3a 4f  59 25 3d 59 25 3a f2 70  |OX%=X%:OY%=Y%:.p|
00006360  61 72 61 28 30 2c 31 2c  58 25 2c 59 25 29 3a f2  |ara(0,1,X%,Y%):.|
00006370  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
00006380  77 6d 61 69 6e 3a f2 6c  65 74 67 6f 3a 46 55 53  |wmain:.letgo:FUS|
00006390  54 25 3d 32 3a e5 20 8d  44 62 60 0d 19 78 af e7  |T%=2:. .Db`..x..|
000063a0  20 42 55 54 25 3d 34 20  80 20 28 4f 58 25 3c 3e  | BUT%=4 . (OX%<>|
000063b0  58 25 28 31 29 20 84 20  4f 59 25 3c 3e 59 25 28  |X%(1) . OY%<>Y%(|
000063c0  31 29 29 20 80 20 46 55  53 54 25 3d 32 20 8c 20  |1)) . FUST%=2 . |
000063d0  f2 69 6e 70 69 63 3a f2  65 6f 63 3a f2 70 69 63  |.inpic:.eoc:.pic|
000063e0  70 6f 73 3a f2 70 61 72  61 28 30 2c 31 2c 4f 58  |pos:.para(0,1,OX|
000063f0  25 2c 4f 59 25 29 3a f2  73 65 74 63 6f 6c 3a f2  |%,OY%):.setcol:.|
00006400  70 61 72 61 28 30 2c 31  2c 58 25 2c 59 25 29 3a  |para(0,1,X%,Y%):|
00006410  4f 58 25 3d 58 25 3a 4f  59 25 3d 59 25 3a f2 6f  |OX%=X%:OY%=Y%:.o|
00006420  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
00006430  6d 61 69 6e 3a f2 6c 65  74 67 6f 3a 46 55 53 54  |main:.letgo:FUST|
00006440  25 3d 30 3a e5 20 8d 44  62 60 0d 19 82 26 f2 70  |%=0:. .Db`...&.p|
00006450  69 63 70 6f 73 3a e7 20  58 25 3d 4f 58 25 20 80  |icpos:. X%=OX% .|
00006460  20 59 25 3d 4f 59 25 20  8c 20 e5 20 8d 44 62 60  | Y%=OY% . . .Db`|
00006470  0d 19 8c 6a e7 20 46 55  53 54 25 3d 31 20 8c 20  |...j. FUST%=1 . |
00006480  f2 69 6e 70 69 63 3a f2  65 6f 63 3a 86 20 58 25  |.inpic:.eoc:. X%|
00006490  28 30 29 2c 59 25 28 30  29 2c 4f 58 25 2c 4f 59  |(0),Y%(0),OX%,OY|
000064a0  25 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |%:OX%=X%:OY%=Y%:|
000064b0  86 20 58 25 28 30 29 2c  59 25 28 30 29 2c 58 25  |. X%(0),Y%(0),X%|
000064c0  2c 59 25 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |,Y%:.outpic:.qui|
000064d0  63 6b 64 72 61 77 6d 61  69 6e 0d 19 96 64 e7 20  |ckdrawmain...d. |
000064e0  46 55 53 54 25 3d 32 20  8c 20 f2 69 6e 70 69 63  |FUST%=2 . .inpic|
000064f0  3a f2 65 6f 63 3a f2 70  61 72 61 28 30 2c 31 2c  |:.eoc:.para(0,1,|
00006500  4f 58 25 2c 4f 59 25 29  3a 4f 58 25 3d 58 25 3a  |OX%,OY%):OX%=X%:|
00006510  4f 59 25 3d 59 25 3a f2  70 61 72 61 28 30 2c 31  |OY%=Y%:.para(0,1|
00006520  2c 58 25 2c 59 25 29 3a  f2 6f 75 74 70 69 63 3a  |,X%,Y%):.outpic:|
00006530  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 0d 19  |.quickdrawmain..|
00006540  a0 8e c9 20 31 35 3a e7  20 46 55 53 54 25 3d 30  |... 15:. FUST%=0|
00006550  20 80 20 42 55 54 25 3c  3e 30 20 8c 20 f2 70 69  | . BUT%<>0 . .pi|
00006560  63 70 6f 73 3a 58 25 28  30 29 3d 58 25 3a 59 25  |cpos:X%(0)=X%:Y%|
00006570  28 30 29 3d 59 25 3a 46  55 53 54 25 3d 31 3a 4f  |(0)=Y%:FUST%=1:O|
00006580  58 25 3d 58 25 3a 4f 59  25 3d 59 25 3a f2 69 6e  |X%=X%:OY%=Y%:.in|
00006590  70 69 63 3a f2 65 6f 63  3a 86 20 58 25 28 30 29  |pic:.eoc:. X%(0)|
000065a0  2c 59 25 28 30 29 2c 4f  58 25 2c 4f 59 25 3a f2  |,Y%(0),OX%,OY%:.|
000065b0  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
000065c0  77 6d 61 69 6e 3a e5 20  8d 44 62 60 0d 19 aa 16  |wmain:. .Db`....|
000065d0  e7 20 46 55 53 54 25 3d  30 20 8c 20 e5 20 8d 44  |. FUST%=0 . . .D|
000065e0  62 60 0d 19 b4 7d e7 20  42 55 54 25 3d 31 20 80  |b`...}. BUT%=1 .|
000065f0  20 46 55 53 54 25 3d 31  20 8c 20 f2 69 6e 70 69  | FUST%=1 . .inpi|
00006600  63 3a f2 65 6f 63 3a 86  20 58 25 28 30 29 2c 59  |c:.eoc:. X%(0),Y|
00006610  25 28 30 29 2c 4f 58 25  2c 4f 59 25 3a f2 70 69  |%(0),OX%,OY%:.pi|
00006620  63 70 6f 73 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |cpos:OX%=X%:OY%=|
00006630  59 25 3a 46 55 53 54 25  3d 30 3a f2 6f 75 74 70  |Y%:FUST%=0:.outp|
00006640  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00006650  6e 3a f2 6c 65 74 67 6f  3a e5 20 8d 44 62 60 0d  |n:.letgo:. .Db`.|
00006660  19 be 6c e7 20 42 55 54  25 3d 31 20 80 20 46 55  |..l. BUT%=1 . FU|
00006670  53 54 25 3d 32 20 8c 20  f2 69 6e 70 69 63 3a f2  |ST%=2 . .inpic:.|
00006680  65 6f 63 3a f2 65 6c 69  70 28 26 41 35 2c 4f 58  |eoc:.elip(&A5,OX|
00006690  25 2c 4f 59 25 29 3a f2  70 69 63 70 6f 73 3a 46  |%,OY%):.picpos:F|
000066a0  55 53 54 25 3d 30 3a f2  6f 75 74 70 69 63 3a f2  |UST%=0:.outpic:.|
000066b0  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 3a f2 6c  |quickdrawmain:.l|
000066c0  65 74 67 6f 3a e5 20 8d  44 62 60 0d 19 c8 be e7  |etgo:. .Db`.....|
000066d0  20 42 55 54 25 3d 34 20  80 20 28 4f 58 25 3c 3e  | BUT%=4 . (OX%<>|
000066e0  58 25 28 30 29 20 84 20  4f 59 25 3c 3e 59 25 28  |X%(0) . OY%<>Y%(|
000066f0  30 29 29 20 80 20 46 55  53 54 25 3d 31 20 8c 20  |0)) . FUST%=1 . |
00006700  f2 69 6e 70 69 63 3a f2  65 6f 63 3a 58 25 28 31  |.inpic:.eoc:X%(1|
00006710  29 3d 4f 58 25 3a 59 25  28 31 29 3d 4f 59 25 3a  |)=OX%:Y%(1)=OY%:|
00006720  86 20 58 25 28 30 29 2c  59 25 28 30 29 2c 4f 58  |. X%(0),Y%(0),OX|
00006730  25 2c 4f 59 25 3a f2 70  69 63 70 6f 73 3a 4f 58  |%,OY%:.picpos:OX|
00006740  25 3d 58 25 3a 4f 59 25  3d 59 25 3a f2 65 6c 69  |%=X%:OY%=Y%:.eli|
00006750  70 28 26 41 35 2c 58 25  2c 59 25 29 3a f2 6f 75  |p(&A5,X%,Y%):.ou|
00006760  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
00006770  61 69 6e 3a f2 6c 65 74  67 6f 3a 46 55 53 54 25  |ain:.letgo:FUST%|
00006780  3d 32 3a e5 20 8d 44 62  60 0d 19 d2 af e7 20 42  |=2:. .Db`..... B|
00006790  55 54 25 3d 34 20 80 20  28 4f 58 25 3c 3e 58 25  |UT%=4 . (OX%<>X%|
000067a0  28 31 29 20 84 20 4f 59  25 3c 3e 59 25 28 31 29  |(1) . OY%<>Y%(1)|
000067b0  29 20 80 20 46 55 53 54  25 3d 32 20 8c 20 f2 69  |) . FUST%=2 . .i|
000067c0  6e 70 69 63 3a f2 65 6f  63 3a f2 70 69 63 70 6f  |npic:.eoc:.picpo|
000067d0  73 3a f2 65 6c 69 70 28  26 41 35 2c 4f 58 25 2c  |s:.elip(&A5,OX%,|
000067e0  4f 59 25 29 3a f2 73 65  74 63 6f 6c 3a f2 65 6c  |OY%):.setcol:.el|
000067f0  69 70 28 26 41 35 2c 58  25 2c 59 25 29 3a 4f 58  |ip(&A5,X%,Y%):OX|
00006800  25 3d 58 25 3a 4f 59 25  3d 59 25 3a f2 6f 75 74  |%=X%:OY%=Y%:.out|
00006810  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
00006820  69 6e 3a f2 6c 65 74 67  6f 3a 46 55 53 54 25 3d  |in:.letgo:FUST%=|
00006830  30 3a e5 20 8d 44 62 60  0d 19 dc 26 f2 70 69 63  |0:. .Db`...&.pic|
00006840  70 6f 73 3a e7 20 58 25  3d 4f 58 25 20 80 20 59  |pos:. X%=OX% . Y|
00006850  25 3d 4f 59 25 20 8c 20  e5 20 8d 44 62 60 0d 19  |%=OY% . . .Db`..|
00006860  e6 6a e7 20 46 55 53 54  25 3d 31 20 8c 20 f2 69  |.j. FUST%=1 . .i|
00006870  6e 70 69 63 3a f2 65 6f  63 3a 86 20 58 25 28 30  |npic:.eoc:. X%(0|
00006880  29 2c 59 25 28 30 29 2c  4f 58 25 2c 4f 59 25 3a  |),Y%(0),OX%,OY%:|
00006890  4f 58 25 3d 58 25 3a 4f  59 25 3d 59 25 3a 86 20  |OX%=X%:OY%=Y%:. |
000068a0  58 25 28 30 29 2c 59 25  28 30 29 2c 58 25 2c 59  |X%(0),Y%(0),X%,Y|
000068b0  25 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |%:.outpic:.quick|
000068c0  64 72 61 77 6d 61 69 6e  0d 19 f0 64 e7 20 46 55  |drawmain...d. FU|
000068d0  53 54 25 3d 32 20 8c 20  f2 69 6e 70 69 63 3a f2  |ST%=2 . .inpic:.|
000068e0  65 6f 63 3a f2 65 6c 69  70 28 26 41 35 2c 4f 58  |eoc:.elip(&A5,OX|
000068f0  25 2c 4f 59 25 29 3a 4f  58 25 3d 58 25 3a 4f 59  |%,OY%):OX%=X%:OY|
00006900  25 3d 59 25 3a f2 65 6c  69 70 28 26 41 35 2c 58  |%=Y%:.elip(&A5,X|
00006910  25 2c 59 25 29 3a f2 6f  75 74 70 69 63 3a f2 71  |%,Y%):.outpic:.q|
00006920  75 69 63 6b 64 72 61 77  6d 61 69 6e 0d 19 fa 8e  |uickdrawmain....|
00006930  c9 20 31 36 3a e7 20 46  55 53 54 25 3d 30 20 80  |. 16:. FUST%=0 .|
00006940  20 42 55 54 25 3c 3e 30  20 8c 20 f2 70 69 63 70  | BUT%<>0 . .picp|
00006950  6f 73 3a 58 25 28 30 29  3d 58 25 3a 59 25 28 30  |os:X%(0)=X%:Y%(0|
00006960  29 3d 59 25 3a 46 55 53  54 25 3d 31 3a 4f 58 25  |)=Y%:FUST%=1:OX%|
00006970  3d 58 25 3a 4f 59 25 3d  59 25 3a f2 69 6e 70 69  |=X%:OY%=Y%:.inpi|
00006980  63 3a f2 65 6f 63 3a 86  20 58 25 28 30 29 2c 59  |c:.eoc:. X%(0),Y|
00006990  25 28 30 29 2c 4f 58 25  2c 4f 59 25 3a f2 6f 75  |%(0),OX%,OY%:.ou|
000069a0  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
000069b0  61 69 6e 3a e5 20 8d 44  62 60 0d 1a 04 16 e7 20  |ain:. .Db`..... |
000069c0  46 55 53 54 25 3d 30 20  8c 20 e5 20 8d 44 62 60  |FUST%=0 . . .Db`|
000069d0  0d 1a 0e 7d e7 20 42 55  54 25 3d 31 20 80 20 46  |...}. BUT%=1 . F|
000069e0  55 53 54 25 3d 31 20 8c  20 f2 69 6e 70 69 63 3a  |UST%=1 . .inpic:|
000069f0  f2 65 6f 63 3a 86 20 58  25 28 30 29 2c 59 25 28  |.eoc:. X%(0),Y%(|
00006a00  30 29 2c 4f 58 25 2c 4f  59 25 3a f2 70 69 63 70  |0),OX%,OY%:.picp|
00006a10  6f 73 3a 4f 58 25 3d 58  25 3a 4f 59 25 3d 59 25  |os:OX%=X%:OY%=Y%|
00006a20  3a 46 55 53 54 25 3d 30  3a f2 6f 75 74 70 69 63  |:FUST%=0:.outpic|
00006a30  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 3a  |:.quickdrawmain:|
00006a40  f2 6c 65 74 67 6f 3a e5  20 8d 44 62 60 0d 1a 18  |.letgo:. .Db`...|
00006a50  6c e7 20 42 55 54 25 3d  31 20 80 20 46 55 53 54  |l. BUT%=1 . FUST|
00006a60  25 3d 32 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=2 . .inpic:.eo|
00006a70  63 3a f2 65 6c 69 70 28  26 42 35 2c 4f 58 25 2c  |c:.elip(&B5,OX%,|
00006a80  4f 59 25 29 3a f2 70 69  63 70 6f 73 3a 46 55 53  |OY%):.picpos:FUS|
00006a90  54 25 3d 30 3a f2 6f 75  74 70 69 63 3a f2 71 75  |T%=0:.outpic:.qu|
00006aa0  69 63 6b 64 72 61 77 6d  61 69 6e 3a f2 6c 65 74  |ickdrawmain:.let|
00006ab0  67 6f 3a e5 20 8d 44 62  60 0d 1a 22 be e7 20 42  |go:. .Db`..".. B|
00006ac0  55 54 25 3d 34 20 80 20  28 4f 58 25 3c 3e 58 25  |UT%=4 . (OX%<>X%|
00006ad0  28 30 29 20 84 20 4f 59  25 3c 3e 59 25 28 30 29  |(0) . OY%<>Y%(0)|
00006ae0  29 20 80 20 46 55 53 54  25 3d 31 20 8c 20 f2 69  |) . FUST%=1 . .i|
00006af0  6e 70 69 63 3a f2 65 6f  63 3a 58 25 28 31 29 3d  |npic:.eoc:X%(1)=|
00006b00  4f 58 25 3a 59 25 28 31  29 3d 4f 59 25 3a 86 20  |OX%:Y%(1)=OY%:. |
00006b10  58 25 28 30 29 2c 59 25  28 30 29 2c 4f 58 25 2c  |X%(0),Y%(0),OX%,|
00006b20  4f 59 25 3a f2 70 69 63  70 6f 73 3a 4f 58 25 3d  |OY%:.picpos:OX%=|
00006b30  58 25 3a 4f 59 25 3d 59  25 3a f2 65 6c 69 70 28  |X%:OY%=Y%:.elip(|
00006b40  26 42 35 2c 58 25 2c 59  25 29 3a f2 6f 75 74 70  |&B5,X%,Y%):.outp|
00006b50  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00006b60  6e 3a f2 6c 65 74 67 6f  3a 46 55 53 54 25 3d 32  |n:.letgo:FUST%=2|
00006b70  3a e5 20 8d 44 62 60 0d  1a 2c af e7 20 42 55 54  |:. .Db`..,.. BUT|
00006b80  25 3d 34 20 80 20 28 4f  58 25 3c 3e 58 25 28 31  |%=4 . (OX%<>X%(1|
00006b90  29 20 84 20 4f 59 25 3c  3e 59 25 28 31 29 29 20  |) . OY%<>Y%(1)) |
00006ba0  80 20 46 55 53 54 25 3d  32 20 8c 20 f2 69 6e 70  |. FUST%=2 . .inp|
00006bb0  69 63 3a f2 65 6f 63 3a  f2 70 69 63 70 6f 73 3a  |ic:.eoc:.picpos:|
00006bc0  f2 65 6c 69 70 28 26 42  35 2c 4f 58 25 2c 4f 59  |.elip(&B5,OX%,OY|
00006bd0  25 29 3a f2 73 65 74 63  6f 6c 3a f2 65 6c 69 70  |%):.setcol:.elip|
00006be0  28 26 42 35 2c 58 25 2c  59 25 29 3a 4f 58 25 3d  |(&B5,X%,Y%):OX%=|
00006bf0  58 25 3a 4f 59 25 3d 59  25 3a f2 6f 75 74 70 69  |X%:OY%=Y%:.outpi|
00006c00  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
00006c10  3a f2 6c 65 74 67 6f 3a  46 55 53 54 25 3d 30 3a  |:.letgo:FUST%=0:|
00006c20  e5 20 8d 44 62 60 0d 1a  36 26 f2 70 69 63 70 6f  |. .Db`..6&.picpo|
00006c30  73 3a e7 20 58 25 3d 4f  58 25 20 80 20 59 25 3d  |s:. X%=OX% . Y%=|
00006c40  4f 59 25 20 8c 20 e5 20  8d 44 62 60 0d 1a 40 6a  |OY% . . .Db`..@j|
00006c50  e7 20 46 55 53 54 25 3d  31 20 8c 20 f2 69 6e 70  |. FUST%=1 . .inp|
00006c60  69 63 3a f2 65 6f 63 3a  86 20 58 25 28 30 29 2c  |ic:.eoc:. X%(0),|
00006c70  59 25 28 30 29 2c 4f 58  25 2c 4f 59 25 3a 4f 58  |Y%(0),OX%,OY%:OX|
00006c80  25 3d 58 25 3a 4f 59 25  3d 59 25 3a 86 20 58 25  |%=X%:OY%=Y%:. X%|
00006c90  28 30 29 2c 59 25 28 30  29 2c 58 25 2c 59 25 3a  |(0),Y%(0),X%,Y%:|
00006ca0  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
00006cb0  61 77 6d 61 69 6e 0d 1a  4a 64 e7 20 46 55 53 54  |awmain..Jd. FUST|
00006cc0  25 3d 32 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=2 . .inpic:.eo|
00006cd0  63 3a f2 65 6c 69 70 28  26 42 35 2c 4f 58 25 2c  |c:.elip(&B5,OX%,|
00006ce0  4f 59 25 29 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |OY%):OX%=X%:OY%=|
00006cf0  59 25 3a f2 65 6c 69 70  28 26 42 35 2c 58 25 2c  |Y%:.elip(&B5,X%,|
00006d00  59 25 29 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |Y%):.outpic:.qui|
00006d10  63 6b 64 72 61 77 6d 61  69 6e 0d 1a 54 8e c9 20  |ckdrawmain..T.. |
00006d20  31 37 3a e7 20 46 55 53  54 25 3d 30 20 80 20 42  |17:. FUST%=0 . B|
00006d30  55 54 25 3c 3e 30 20 8c  20 f2 70 69 63 70 6f 73  |UT%<>0 . .picpos|
00006d40  3a 58 25 28 30 29 3d 58  25 3a 59 25 28 30 29 3d  |:X%(0)=X%:Y%(0)=|
00006d50  59 25 3a 46 55 53 54 25  3d 31 3a 4f 58 25 3d 58  |Y%:FUST%=1:OX%=X|
00006d60  25 3a 4f 59 25 3d 59 25  3a f2 69 6e 70 69 63 3a  |%:OY%=Y%:.inpic:|
00006d70  f2 65 6f 63 3a 86 20 58  25 28 30 29 2c 59 25 28  |.eoc:. X%(0),Y%(|
00006d80  30 29 2c 4f 58 25 2c 4f  59 25 3a f2 6f 75 74 70  |0),OX%,OY%:.outp|
00006d90  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00006da0  6e 3a e5 20 8d 44 62 60  0d 1a 5e 16 e7 20 46 55  |n:. .Db`..^.. FU|
00006db0  53 54 25 3d 30 20 8c 20  e5 20 8d 44 62 60 0d 1a  |ST%=0 . . .Db`..|
00006dc0  68 7d e7 20 42 55 54 25  3d 31 20 80 20 46 55 53  |h}. BUT%=1 . FUS|
00006dd0  54 25 3d 31 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=1 . .inpic:.e|
00006de0  6f 63 3a 86 20 58 25 28  30 29 2c 59 25 28 30 29  |oc:. X%(0),Y%(0)|
00006df0  2c 4f 58 25 2c 4f 59 25  3a f2 70 69 63 70 6f 73  |,OX%,OY%:.picpos|
00006e00  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a 46  |:OX%=X%:OY%=Y%:F|
00006e10  55 53 54 25 3d 30 3a f2  6f 75 74 70 69 63 3a f2  |UST%=0:.outpic:.|
00006e20  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 3a f2 6c  |quickdrawmain:.l|
00006e30  65 74 67 6f 3a e5 20 8d  44 62 60 0d 1a 72 6c e7  |etgo:. .Db`..rl.|
00006e40  20 42 55 54 25 3d 31 20  80 20 46 55 53 54 25 3d  | BUT%=1 . FUST%=|
00006e50  32 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |2 . .inpic:.eoc:|
00006e60  f2 65 6c 69 70 28 26 41  44 2c 4f 58 25 2c 4f 59  |.elip(&AD,OX%,OY|
00006e70  25 29 3a f2 70 69 63 70  6f 73 3a 46 55 53 54 25  |%):.picpos:FUST%|
00006e80  3d 30 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |=0:.outpic:.quic|
00006e90  6b 64 72 61 77 6d 61 69  6e 3a f2 6c 65 74 67 6f  |kdrawmain:.letgo|
00006ea0  3a e5 20 8d 44 62 60 0d  1a 7c be e7 20 42 55 54  |:. .Db`..|.. BUT|
00006eb0  25 3d 34 20 80 20 28 4f  58 25 3c 3e 58 25 28 30  |%=4 . (OX%<>X%(0|
00006ec0  29 20 84 20 4f 59 25 3c  3e 59 25 28 30 29 29 20  |) . OY%<>Y%(0)) |
00006ed0  80 20 46 55 53 54 25 3d  31 20 8c 20 f2 69 6e 70  |. FUST%=1 . .inp|
00006ee0  69 63 3a f2 65 6f 63 3a  58 25 28 31 29 3d 4f 58  |ic:.eoc:X%(1)=OX|
00006ef0  25 3a 59 25 28 31 29 3d  4f 59 25 3a 86 20 58 25  |%:Y%(1)=OY%:. X%|
00006f00  28 30 29 2c 59 25 28 30  29 2c 4f 58 25 2c 4f 59  |(0),Y%(0),OX%,OY|
00006f10  25 3a f2 70 69 63 70 6f  73 3a 4f 58 25 3d 58 25  |%:.picpos:OX%=X%|
00006f20  3a 4f 59 25 3d 59 25 3a  f2 65 6c 69 70 28 26 41  |:OY%=Y%:.elip(&A|
00006f30  44 2c 58 25 2c 59 25 29  3a f2 6f 75 74 70 69 63  |D,X%,Y%):.outpic|
00006f40  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 3a  |:.quickdrawmain:|
00006f50  f2 6c 65 74 67 6f 3a 46  55 53 54 25 3d 32 3a e5  |.letgo:FUST%=2:.|
00006f60  20 8d 44 62 60 0d 1a 86  af e7 20 42 55 54 25 3d  | .Db`..... BUT%=|
00006f70  34 20 80 20 28 4f 58 25  3c 3e 58 25 28 31 29 20  |4 . (OX%<>X%(1) |
00006f80  84 20 4f 59 25 3c 3e 59  25 28 31 29 29 20 80 20  |. OY%<>Y%(1)) . |
00006f90  46 55 53 54 25 3d 32 20  8c 20 f2 69 6e 70 69 63  |FUST%=2 . .inpic|
00006fa0  3a f2 65 6f 63 3a f2 70  69 63 70 6f 73 3a f2 65  |:.eoc:.picpos:.e|
00006fb0  6c 69 70 28 26 41 44 2c  4f 58 25 2c 4f 59 25 29  |lip(&AD,OX%,OY%)|
00006fc0  3a f2 73 65 74 63 6f 6c  3a f2 65 6c 69 70 28 26  |:.setcol:.elip(&|
00006fd0  41 44 2c 58 25 2c 59 25  29 3a 4f 58 25 3d 58 25  |AD,X%,Y%):OX%=X%|
00006fe0  3a 4f 59 25 3d 59 25 3a  f2 6f 75 74 70 69 63 3a  |:OY%=Y%:.outpic:|
00006ff0  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 3a f2  |.quickdrawmain:.|
00007000  6c 65 74 67 6f 3a 46 55  53 54 25 3d 30 3a e5 20  |letgo:FUST%=0:. |
00007010  8d 44 62 60 0d 1a 90 26  f2 70 69 63 70 6f 73 3a  |.Db`...&.picpos:|
00007020  e7 20 58 25 3d 4f 58 25  20 80 20 59 25 3d 4f 59  |. X%=OX% . Y%=OY|
00007030  25 20 8c 20 e5 20 8d 44  62 60 0d 1a 9a 6a e7 20  |% . . .Db`...j. |
00007040  46 55 53 54 25 3d 31 20  8c 20 f2 69 6e 70 69 63  |FUST%=1 . .inpic|
00007050  3a f2 65 6f 63 3a 86 20  58 25 28 30 29 2c 59 25  |:.eoc:. X%(0),Y%|
00007060  28 30 29 2c 4f 58 25 2c  4f 59 25 3a 4f 58 25 3d  |(0),OX%,OY%:OX%=|
00007070  58 25 3a 4f 59 25 3d 59  25 3a 86 20 58 25 28 30  |X%:OY%=Y%:. X%(0|
00007080  29 2c 59 25 28 30 29 2c  58 25 2c 59 25 3a f2 6f  |),Y%(0),X%,Y%:.o|
00007090  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
000070a0  6d 61 69 6e 0d 1a a4 64  e7 20 46 55 53 54 25 3d  |main...d. FUST%=|
000070b0  32 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |2 . .inpic:.eoc:|
000070c0  f2 65 6c 69 70 28 26 41  44 2c 4f 58 25 2c 4f 59  |.elip(&AD,OX%,OY|
000070d0  25 29 3a 4f 58 25 3d 58  25 3a 4f 59 25 3d 59 25  |%):OX%=X%:OY%=Y%|
000070e0  3a f2 65 6c 69 70 28 26  41 44 2c 58 25 2c 59 25  |:.elip(&AD,X%,Y%|
000070f0  29 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |):.outpic:.quick|
00007100  64 72 61 77 6d 61 69 6e  0d 1a ae 28 c9 20 31 39  |drawmain...(. 19|
00007110  3a e7 20 46 55 53 54 25  3c 32 20 8c 20 f2 67 72  |:. FUST%<2 . .gr|
00007120  61 62 70 6f 6c 6c 28 30  29 3a e5 20 8d 44 62 60  |abpoll(0):. .Db`|
00007130  0d 1a b8 6b e7 20 42 55  54 25 3d 31 20 8c 20 f2  |...k. BUT%=1 . .|
00007140  69 6e 70 69 63 3a f2 70  69 63 70 6f 73 3a f2 70  |inpic:.picpos:.p|
00007150  67 72 61 62 28 4f 58 25  2c 4f 59 25 2c 33 29 3a  |grab(OX%,OY%,3):|
00007160  4f 58 25 3d 58 25 3a 4f  59 25 3d 59 25 3a f2 6f  |OX%=X%:OY%=Y%:.o|
00007170  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
00007180  6d 61 69 6e 3a 46 55 53  54 25 3d 30 3a f2 73 70  |main:FUST%=0:.sp|
00007190  69 6e 69 74 3a e5 20 8d  44 62 60 0d 1a c2 7d e7  |init:. .Db`...}.|
000071a0  20 42 55 54 25 3d 34 20  8c 20 f2 69 6e 70 69 63  | BUT%=4 . .inpic|
000071b0  3a f2 70 69 63 70 6f 73  3a f2 70 67 72 61 62 28  |:.picpos:.pgrab(|
000071c0  4f 58 25 2c 4f 59 25 2c  33 29 3a f2 70 67 72 61  |OX%,OY%,3):.pgra|
000071d0  62 28 58 25 2c 59 25 2c  30 29 3a 4f 58 25 3d 58  |b(X%,Y%,0):OX%=X|
000071e0  25 3a 4f 59 25 3d 59 25  3a f2 70 67 72 61 62 28  |%:OY%=Y%:.pgrab(|
000071f0  4f 58 25 2c 4f 59 25 2c  33 29 3a f2 6f 75 74 70  |OX%,OY%,3):.outp|
00007200  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00007210  6e 3a e5 20 8d 44 62 60  0d 1a cc 26 f2 70 69 63  |n:. .Db`...&.pic|
00007220  70 6f 73 3a e7 20 58 25  3d 4f 58 25 20 80 20 59  |pos:. X%=OX% . Y|
00007230  25 3d 4f 59 25 20 8c 20  e5 20 8d 44 62 60 0d 1a  |%=OY% . . .Db`..|
00007240  d6 51 f2 69 6e 70 69 63  3a f2 70 67 72 61 62 28  |.Q.inpic:.pgrab(|
00007250  4f 58 25 2c 4f 59 25 2c  33 29 3a 4f 58 25 3d 58  |OX%,OY%,3):OX%=X|
00007260  25 3a 4f 59 25 3d 59 25  3a f2 70 67 72 61 62 28  |%:OY%=Y%:.pgrab(|
00007270  58 25 2c 59 25 2c 33 29  3a f2 6f 75 74 70 69 63  |X%,Y%,3):.outpic|
00007280  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 0d  |:.quickdrawmain.|
00007290  1a e0 28 c9 20 31 38 3a  e7 20 46 55 53 54 25 3c  |..(. 18:. FUST%<|
000072a0  32 20 8c 20 f2 67 72 61  62 70 6f 6c 6c 28 31 29  |2 . .grabpoll(1)|
000072b0  3a e5 20 8d 44 62 60 0d  1a ea 6b e7 20 42 55 54  |:. .Db`...k. BUT|
000072c0  25 3d 31 20 8c 20 f2 69  6e 70 69 63 3a f2 70 69  |%=1 . .inpic:.pi|
000072d0  63 70 6f 73 3a f2 70 67  72 61 62 28 4f 58 25 2c  |cpos:.pgrab(OX%,|
000072e0  4f 59 25 2c 33 29 3a 4f  58 25 3d 58 25 3a 4f 59  |OY%,3):OX%=X%:OY|
000072f0  25 3d 59 25 3a f2 6f 75  74 70 69 63 3a f2 71 75  |%=Y%:.outpic:.qu|
00007300  69 63 6b 64 72 61 77 6d  61 69 6e 3a 46 55 53 54  |ickdrawmain:FUST|
00007310  25 3d 30 3a f2 73 70 69  6e 69 74 3a e5 20 8d 44  |%=0:.spinit:. .D|
00007320  62 60 0d 1a f4 78 e7 20  42 55 54 25 3d 34 20 8c  |b`...x. BUT%=4 .|
00007330  20 f2 69 6e 70 69 63 3a  f2 70 69 63 70 6f 73 3a  | .inpic:.picpos:|
00007340  f2 70 67 72 61 62 28 4f  58 25 2c 4f 59 25 2c 33  |.pgrab(OX%,OY%,3|
00007350  29 3a f2 70 67 72 61 62  28 58 25 2c 59 25 2c 30  |):.pgrab(X%,Y%,0|
00007360  29 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |):OX%=X%:OY%=Y%:|
00007370  f2 70 67 72 61 62 28 4f  58 25 2c 4f 59 25 2c 33  |.pgrab(OX%,OY%,3|
00007380  29 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |):.outpic:.quick|
00007390  64 72 61 77 6d 61 69 6e  3a e1 0d 1a fe 26 f2 70  |drawmain:....&.p|
000073a0  69 63 70 6f 73 3a e7 20  58 25 3d 4f 58 25 20 80  |icpos:. X%=OX% .|
000073b0  20 59 25 3d 4f 59 25 20  8c 20 e5 20 8d 44 62 60  | Y%=OY% . . .Db`|
000073c0  0d 1b 08 51 f2 69 6e 70  69 63 3a f2 70 67 72 61  |...Q.inpic:.pgra|
000073d0  62 28 4f 58 25 2c 4f 59  25 2c 33 29 3a 4f 58 25  |b(OX%,OY%,3):OX%|
000073e0  3d 58 25 3a 4f 59 25 3d  59 25 3a f2 70 67 72 61  |=X%:OY%=Y%:.pgra|
000073f0  62 28 58 25 2c 59 25 2c  33 29 3a f2 6f 75 74 70  |b(X%,Y%,3):.outp|
00007400  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00007410  6e 0d 1b 12 25 c9 20 32  30 3a e7 20 46 55 53 54  |n...%. 20:. FUST|
00007420  25 3c 32 20 8c 20 f2 72  65 63 74 70 6f 6c 6c 3a  |%<2 . .rectpoll:|
00007430  e5 20 8d 44 62 60 0d 1b  1c 47 f2 73 70 62 75 66  |. .Db`...G.spbuf|
00007440  28 a4 73 70 72 69 74 65  73 69 7a 65 28 4f 58 25  |(.spritesize(OX%|
00007450  2d 58 25 28 30 29 2c 4f  59 25 2d 59 25 28 30 29  |-X%(0),OY%-Y%(0)|
00007460  2c 31 29 29 3a e7 20 51  25 20 8c 20 f2 73 70 69  |,1)):. Q% . .spi|
00007470  6e 69 74 3a f2 73 70 62  75 66 65 72 72 0d 1b 26  |nit:.spbuferr..&|
00007480  43 f2 69 6e 70 69 63 3a  47 52 4e 24 3d 22 47 52  |C.inpic:GRN$="GR|
00007490  41 42 22 3a c8 99 26 32  45 2c 32 37 32 2c 53 50  |AB":..&2E,272,SP|
000074a0  42 55 46 25 2c 22 47 52  41 42 22 2c 2c 58 25 28  |BUF%,"GRAB",,X%(|
000074b0  30 29 2c 59 25 28 30 29  2c 4f 58 25 2c 4f 59 25  |0),Y%(0),OX%,OY%|
000074c0  0d 1b 30 2e c8 99 26 32  45 2c 32 38 35 2c 53 50  |..0...&2E,285,SP|
000074d0  42 55 46 25 2c 22 47 52  41 42 22 3a 47 52 41 42  |BUF%,"GRAB":GRAB|
000074e0  4d 25 3d 38 3a f2 66 69  6c 6c 6d 61 73 6b 0d 1b  |M%=8:.fillmask..|
000074f0  3a 30 c8 99 26 32 45 2c  32 39 30 2c 53 50 42 55  |:0..&2E,290,SPBU|
00007500  46 25 2c 22 47 52 41 42  22 2c 58 25 28 30 29 2c  |F%,"GRAB",X%(0),|
00007510  59 25 28 30 29 2c 33 2b  47 52 41 42 4d 25 0d 1b  |Y%(0),3+GRABM%..|
00007520  44 6d c8 99 26 32 45 2c  33 30 33 2c 53 50 42 55  |Dm..&2E,303,SPBU|
00007530  46 25 2c 22 47 52 41 42  22 3a c8 99 26 32 45 2c  |F%,"GRAB":..&2E,|
00007540  32 39 30 2c 53 50 42 55  46 25 2c 22 47 52 41 42  |290,SPBUF%,"GRAB|
00007550  22 2c 58 25 28 30 29 2c  59 25 28 30 29 2c 47 52  |",X%(0),Y%(0),GR|
00007560  41 42 4d 25 3a f2 6f 75  74 70 69 63 3a 46 55 53  |ABM%:.outpic:FUS|
00007570  54 25 3d 30 3a f2 73 70  69 6e 69 74 3a f2 71 75  |T%=0:.spinit:.qu|
00007580  69 63 6b 64 72 61 77 6d  61 69 6e 0d 1b 4e 25 c9  |ickdrawmain..N%.|
00007590  20 32 31 3a e7 20 46 55  53 54 25 3c 32 20 8c 20  | 21:. FUST%<2 . |
000075a0  f2 72 65 63 74 70 6f 6c  6c 3a e5 20 8d 44 62 60  |.rectpoll:. .Db`|
000075b0  0d 1b 58 47 f2 73 70 62  75 66 28 a4 73 70 72 69  |..XG.spbuf(.spri|
000075c0  74 65 73 69 7a 65 28 4f  58 25 2d 58 25 28 30 29  |tesize(OX%-X%(0)|
000075d0  2c 4f 59 25 2d 59 25 28  30 29 2c 31 29 29 3a e7  |,OY%-Y%(0),1)):.|
000075e0  20 51 25 20 8c 20 f2 73  70 69 6e 69 74 3a f2 73  | Q% . .spinit:.s|
000075f0  70 62 75 66 65 72 72 0d  1b 62 43 f2 69 6e 70 69  |pbuferr..bC.inpi|
00007600  63 3a 47 52 4e 24 3d 22  47 52 41 42 22 3a c8 99  |c:GRN$="GRAB":..|
00007610  26 32 45 2c 32 37 32 2c  53 50 42 55 46 25 2c 22  |&2E,272,SPBUF%,"|
00007620  47 52 41 42 22 2c 2c 58  25 28 30 29 2c 59 25 28  |GRAB",,X%(0),Y%(|
00007630  30 29 2c 4f 58 25 2c 4f  59 25 0d 1b 6c 2e c8 99  |0),OX%,OY%..l...|
00007640  26 32 45 2c 32 38 35 2c  53 50 42 55 46 25 2c 22  |&2E,285,SPBUF%,"|
00007650  47 52 41 42 22 3a 47 52  41 42 4d 25 3d 38 3a f2  |GRAB":GRABM%=8:.|
00007660  66 69 6c 6c 6d 61 73 6b  0d 1b 76 30 c8 99 26 32  |fillmask..v0..&2|
00007670  45 2c 32 39 30 2c 53 50  42 55 46 25 2c 22 47 52  |E,290,SPBUF%,"GR|
00007680  41 42 22 2c 58 25 28 30  29 2c 59 25 28 30 29 2c  |AB",X%(0),Y%(0),|
00007690  33 2b 47 52 41 42 4d 25  0d 1b 80 6d c8 99 26 32  |3+GRABM%...m..&2|
000076a0  45 2c 32 38 39 2c 53 50  42 55 46 25 2c 22 47 52  |E,289,SPBUF%,"GR|
000076b0  41 42 22 3a c8 99 26 32  45 2c 32 39 30 2c 53 50  |AB":..&2E,290,SP|
000076c0  42 55 46 25 2c 22 47 52  41 42 22 2c 58 25 28 30  |BUF%,"GRAB",X%(0|
000076d0  29 2c 59 25 28 30 29 2c  47 52 41 42 4d 25 3a f2  |),Y%(0),GRABM%:.|
000076e0  6f 75 74 70 69 63 3a 46  55 53 54 25 3d 30 3a f2  |outpic:FUST%=0:.|
000076f0  73 70 69 6e 69 74 3a f2  71 75 69 63 6b 64 72 61  |spinit:.quickdra|
00007700  77 6d 61 69 6e 0d 1b 8a  25 c9 20 32 32 3a e7 20  |wmain...%. 22:. |
00007710  46 55 53 54 25 3c 32 20  8c 20 f2 72 65 63 74 70  |FUST%<2 . .rectp|
00007720  6f 6c 6c 3a e5 20 8d 44  62 60 0d 1b 94 22 f2 69  |oll:. .Db`...".i|
00007730  6e 70 69 63 3a f2 73 65  74 63 6f 6c 3a e3 4c 25  |npic:.setcol:.L%|
00007740  3d 30 20 b8 20 39 33 32  20 88 20 34 0d 1b 9e 2f  |=0 . 932 . 4.../|
00007750  e7 20 4c 25 3c 59 25 28  30 29 20 84 20 4c 25 3e  |. L%<Y%(0) . L%>|
00007760  4f 59 25 20 8c 20 86 20  30 2c 4c 25 2c 31 32 33  |OY% . . 0,L%,123|
00007770  32 2c 4c 25 3a e5 20 8d  74 7c 5b 0d 1b a8 21 e7  |2,L%:. .t|[...!.|
00007780  20 58 25 28 30 29 3e 30  20 8c 20 86 20 30 2c 4c  | X%(0)>0 . . 0,L|
00007790  25 2c 58 25 28 30 29 2d  32 2c 4c 25 0d 1b b2 23  |%,X%(0)-2,L%...#|
000077a0  e7 20 4f 59 25 3c 31 32  33 32 20 8c 20 86 20 4f  |. OY%<1232 . . O|
000077b0  58 25 2b 32 2c 4c 25 2c  31 32 33 32 2c 4c 25 0d  |X%+2,L%,1232,L%.|
000077c0  1b bc 24 ed 3a f2 6f 75  74 70 69 63 3a 46 55 53  |..$.:.outpic:FUS|
000077d0  54 25 3d 30 3a f2 71 75  69 63 6b 64 72 61 77 6d  |T%=0:.quickdrawm|
000077e0  61 69 6e 0d 1b c6 25 c9  20 32 33 3a e7 20 46 55  |ain...%. 23:. FU|
000077f0  53 54 25 3c 32 20 8c 20  f2 72 65 63 74 70 6f 6c  |ST%<2 . .rectpol|
00007800  6c 3a e5 20 8d 44 62 60  0d 1b d0 98 e7 20 46 55  |l:. .Db`..... FU|
00007810  43 4f 25 3d 30 20 8c 20  f2 69 6e 70 69 63 3a f2  |CO%=0 . .inpic:.|
00007820  65 6f 63 3a c8 93 20 58  25 28 30 29 2c 59 25 28  |eoc:.. X%(0),Y%(|
00007830  30 29 2c 4f 58 25 2d 58  25 28 30 29 2c 4f 59 25  |0),OX%-X%(0),OY%|
00007840  2d 59 25 28 30 29 3a f2  6f 75 74 70 69 63 3a f2  |-Y%(0):.outpic:.|
00007850  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 3a 58 25  |quickdrawmain:X%|
00007860  28 31 29 3d 58 25 28 30  29 3a 59 25 28 31 29 3d  |(1)=X%(0):Y%(1)=|
00007870  59 25 28 30 29 3a 58 25  28 32 29 3d 4f 58 25 3a  |Y%(0):X%(2)=OX%:|
00007880  59 25 28 32 29 3d 4f 59  25 3a 46 55 53 54 25 3d  |Y%(2)=OY%:FUST%=|
00007890  30 3a 46 55 43 4f 25 3d  31 3a e5 20 8d 44 62 60  |0:FUCO%=1:. .Db`|
000078a0  0d 1b da 58 f2 73 70 62  75 66 28 a4 73 70 72 69  |...X.spbuf(.spri|
000078b0  74 65 73 69 7a 65 28 58  25 28 32 29 2d 58 25 28  |tesize(X%(2)-X%(|
000078c0  31 29 2c 59 25 28 32 29  2d 59 25 28 31 29 2c 94  |1),Y%(2)-Y%(1),.|
000078d0  28 a4 68 69 67 68 28 38  2c 31 34 29 29 29 29 3a  |(.high(8,14)))):|
000078e0  e7 20 51 25 20 8c 20 f2  73 70 69 6e 69 74 3a f2  |. Q% . .spinit:.|
000078f0  73 70 62 75 66 65 72 72  0d 1b e4 73 f2 69 6e 70  |spbuferr...s.inp|
00007900  69 63 3a f2 65 6f 63 3a  c8 93 20 58 25 28 31 29  |ic:.eoc:.. X%(1)|
00007910  2c 59 25 28 31 29 2c 58  25 28 32 29 2d 58 25 28  |,Y%(1),X%(2)-X%(|
00007920  31 29 2c 59 25 28 32 29  2d 59 25 28 31 29 3a 47  |1),Y%(2)-Y%(1):G|
00007930  52 4e 24 3d 22 47 52 41  42 22 3a c8 99 26 32 45  |RN$="GRAB":..&2E|
00007940  2c 32 37 32 2c 53 50 42  55 46 25 2c 22 47 52 41  |,272,SPBUF%,"GRA|
00007950  42 22 2c 2c 58 25 28 31  29 2c 59 25 28 31 29 2c  |B",,X%(1),Y%(1),|
00007960  58 25 28 32 29 2c 59 25  28 32 29 0d 1b ee 49 e7  |X%(2),Y%(2)...I.|
00007970  20 a4 68 69 67 68 28 38  2c 31 34 29 20 8c 20 c8  | .high(8,14) . .|
00007980  99 26 32 45 2c 32 38 35  2c 53 50 42 55 46 25 2c  |.&2E,285,SPBUF%,|
00007990  22 47 52 41 42 22 3a 47  52 41 42 4d 25 3d 38 3a  |"GRAB":GRABM%=8:|
000079a0  f2 66 69 6c 6c 6d 61 73  6b 20 8b 20 47 52 41 42  |.fillmask . GRAB|
000079b0  4d 25 3d 30 0d 1b f8 5d  f2 67 72 61 62 66 6c 69  |M%=0...].grabfli|
000079c0  70 3a 53 43 41 4c 45 25  21 38 3d 58 25 28 32 29  |p:SCALE%!8=X%(2)|
000079d0  2d 58 25 28 31 29 3a 53  43 41 4c 45 25 21 31 32  |-X%(1):SCALE%!12|
000079e0  3d 59 25 28 32 29 2d 59  25 28 31 29 3a 21 53 43  |=Y%(2)-Y%(1):!SC|
000079f0  41 4c 45 25 3d 4f 58 25  2d 58 25 28 30 29 3a 53  |ALE%=OX%-X%(0):S|
00007a00  43 41 4c 45 25 21 34 3d  4f 59 25 2d 59 25 28 30  |CALE%!4=OY%-Y%(0|
00007a10  29 0d 1c 02 64 c8 99 26  32 45 2c 33 30 38 2c 53  |)...d..&2E,308,S|
00007a20  50 42 55 46 25 2c 22 47  52 41 42 22 2c 58 25 28  |PBUF%,"GRAB",X%(|
00007a30  30 29 2c 59 25 28 30 29  2c 47 52 41 42 4d 25 2c  |0),Y%(0),GRABM%,|
00007a40  53 43 41 4c 45 25 3a f2  6f 75 74 70 69 63 3a 46  |SCALE%:.outpic:F|
00007a50  55 53 54 25 3d 30 3a 46  55 43 4f 25 3d 30 3a f2  |UST%=0:FUCO%=0:.|
00007a60  73 70 69 6e 69 74 3a f2  71 75 69 63 6b 64 72 61  |spinit:.quickdra|
00007a70  77 6d 61 69 6e 0d 1c 0c  35 c9 20 32 35 3a f2 69  |wmain...5. 25:.i|
00007a80  6e 70 69 63 3a e6 33 2c  36 33 3a f0 36 39 2c 33  |npic:.3,63:.69,3|
00007a90  30 30 2c 33 30 30 3a f0  36 39 2c 33 30 30 2c 33  |00,300:.69,300,3|
00007aa0  30 30 3a f2 70 69 63 70  6f 73 0d 1c 16 1c e7 20  |00:.picpos..... |
00007ab0  58 25 3d 4f 58 25 20 80  20 59 25 3d 4f 59 25 20  |X%=OX% . Y%=OY% |
00007ac0  8c 20 8d 54 6a 5c 0d 1c  20 0c f2 6d 61 70 6c 69  |. .Tj\.. ..mapli|
00007ad0  6e 65 0d 1c 2a 37 e7 20  42 55 54 25 3c 3e 31 20  |ne..*7. BUT%<>1 |
00007ae0  80 20 42 55 54 25 3c 3e  34 20 8c 20 f2 6f 75 74  |. BUT%<>4 . .out|
00007af0  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
00007b00  69 6e 3a e5 20 8d 44 62  60 0d 1c 34 13 e7 20 42  |in:. .Db`..4.. B|
00007b10  55 54 25 3d 34 20 8c 20  8d 74 6c 5c 0d 1c 3e 08  |UT%=4 . .tl\..>.|
00007b20  f2 65 6f 63 0d 1c 48 0e  c8 8e 20 46 55 43 4f 25  |.eoc..H... FUCO%|
00007b30  20 ca 0d 1c 52 1b c9 20  32 3a 86 20 58 25 28 31  | ...R.. 2:. X%(1|
00007b40  29 2c 59 25 28 31 29 2c  58 25 2c 59 25 0d 1c 5c  |),Y%(1),X%,Y%..\|
00007b50  35 c9 20 33 3a 86 20 58  25 28 31 29 2c 59 25 28  |5. 3:. X%(1),Y%(|
00007b60  31 29 2c 58 25 28 32 29  2c 59 25 28 32 29 3a 86  |1),X%(2),Y%(2):.|
00007b70  20 58 25 28 32 29 2c 59  25 28 32 29 2c 58 25 2c  | X%(2),Y%(2),X%,|
00007b80  59 25 0d 1c 66 63 c9 20  34 3a 86 20 58 25 28 31  |Y%..fc. 4:. X%(1|
00007b90  29 2c 59 25 28 31 29 2c  58 25 28 32 29 2c 59 25  |),Y%(1),X%(2),Y%|
00007ba0  28 32 29 3a 86 20 58 25  28 32 29 2c 59 25 28 32  |(2):. X%(2),Y%(2|
00007bb0  29 2c 58 25 28 33 29 2c  59 25 28 33 29 3a 86 20  |),X%(3),Y%(3):. |
00007bc0  58 25 28 33 29 2c 59 25  28 33 29 2c 58 25 2c 59  |X%(3),Y%(3),X%,Y|
00007bd0  25 3a 86 20 58 25 2c 59  25 2c 58 25 28 31 29 2c  |%:. X%,Y%,X%(1),|
00007be0  59 25 28 31 29 0d 1c 70  6f c9 20 35 3a 86 20 58  |Y%(1)..po. 5:. X|
00007bf0  25 28 31 29 2c 59 25 28  31 29 2c 58 25 28 32 29  |%(1),Y%(1),X%(2)|
00007c00  2c 59 25 28 32 29 3a 86  20 58 25 28 32 29 2c 59  |,Y%(2):. X%(2),Y|
00007c10  25 28 32 29 2c 58 25 28  33 29 2c 59 25 28 33 29  |%(2),X%(3),Y%(3)|
00007c20  3a 86 20 58 25 28 33 29  2c 59 25 28 33 29 2c 58  |:. X%(3),Y%(3),X|
00007c30  25 28 34 29 2c 59 25 28  34 29 3a 86 20 58 25 28  |%(4),Y%(4):. X%(|
00007c40  34 29 2c 59 25 28 34 29  2c 58 25 28 31 29 2c 59  |4),Y%(4),X%(1),Y|
00007c50  25 28 31 29 0d 1c 7a 83  c9 20 36 3a 86 20 58 25  |%(1)..z.. 6:. X%|
00007c60  28 31 29 2c 59 25 28 31  29 2c 58 25 28 32 29 2c  |(1),Y%(1),X%(2),|
00007c70  59 25 28 32 29 3a 86 20  58 25 28 32 29 2c 59 25  |Y%(2):. X%(2),Y%|
00007c80  28 32 29 2c 58 25 28 33  29 2c 59 25 28 33 29 3a  |(2),X%(3),Y%(3):|
00007c90  86 20 58 25 28 33 29 2c  59 25 28 33 29 2c 58 25  |. X%(3),Y%(3),X%|
00007ca0  28 34 29 2c 59 25 28 34  29 3a 86 20 58 25 28 34  |(4),Y%(4):. X%(4|
00007cb0  29 2c 59 25 28 34 29 2c  58 25 28 31 29 2c 59 25  |),Y%(4),X%(1),Y%|
00007cc0  28 31 29 3a 86 20 58 25  28 35 29 2c 59 25 28 35  |(1):. X%(5),Y%(5|
00007cd0  29 2c 58 25 2c 59 25 0d  1c 84 9d c9 20 37 3a 86  |),X%,Y%..... 7:.|
00007ce0  20 58 25 28 31 29 2c 59  25 28 31 29 2c 58 25 28  | X%(1),Y%(1),X%(|
00007cf0  32 29 2c 59 25 28 32 29  3a 86 20 58 25 28 32 29  |2),Y%(2):. X%(2)|
00007d00  2c 59 25 28 32 29 2c 58  25 28 33 29 2c 59 25 28  |,Y%(2),X%(3),Y%(|
00007d10  33 29 3a 86 20 58 25 28  33 29 2c 59 25 28 33 29  |3):. X%(3),Y%(3)|
00007d20  2c 58 25 28 34 29 2c 59  25 28 34 29 3a 86 20 58  |,X%(4),Y%(4):. X|
00007d30  25 28 34 29 2c 59 25 28  34 29 2c 58 25 28 31 29  |%(4),Y%(4),X%(1)|
00007d40  2c 59 25 28 31 29 3a 86  20 58 25 28 35 29 2c 59  |,Y%(1):. X%(5),Y|
00007d50  25 28 35 29 2c 58 25 28  36 29 2c 59 25 28 36 29  |%(5),X%(6),Y%(6)|
00007d60  3a 86 20 58 25 28 36 29  2c 59 25 28 36 29 2c 58  |:. X%(6),Y%(6),X|
00007d70  25 2c 59 25 0d 1c 8e cb  c9 20 38 3a 86 20 58 25  |%,Y%..... 8:. X%|
00007d80  28 31 29 2c 59 25 28 31  29 2c 58 25 28 32 29 2c  |(1),Y%(1),X%(2),|
00007d90  59 25 28 32 29 3a 86 20  58 25 28 32 29 2c 59 25  |Y%(2):. X%(2),Y%|
00007da0  28 32 29 2c 58 25 28 33  29 2c 59 25 28 33 29 3a  |(2),X%(3),Y%(3):|
00007db0  86 20 58 25 28 33 29 2c  59 25 28 33 29 2c 58 25  |. X%(3),Y%(3),X%|
00007dc0  28 34 29 2c 59 25 28 34  29 3a 86 20 58 25 28 34  |(4),Y%(4):. X%(4|
00007dd0  29 2c 59 25 28 34 29 2c  58 25 28 31 29 2c 59 25  |),Y%(4),X%(1),Y%|
00007de0  28 31 29 3a 86 20 58 25  28 35 29 2c 59 25 28 35  |(1):. X%(5),Y%(5|
00007df0  29 2c 58 25 28 36 29 2c  59 25 28 36 29 3a 86 20  |),X%(6),Y%(6):. |
00007e00  58 25 28 36 29 2c 59 25  28 36 29 2c 58 25 28 37  |X%(6),Y%(6),X%(7|
00007e10  29 2c 59 25 28 37 29 3a  86 20 58 25 28 37 29 2c  |),Y%(7):. X%(7),|
00007e20  59 25 28 37 29 2c 58 25  2c 59 25 3a 86 20 58 25  |Y%(7),X%,Y%:. X%|
00007e30  28 35 29 2c 59 25 28 35  29 2c 58 25 2c 59 25 0d  |(5),Y%(5),X%,Y%.|
00007e40  1c 98 05 cb 0d 1c a2 30  46 55 43 4f 25 3d 31 3a  |.......0FUCO%=1:|
00007e50  f2 6c 65 74 67 6f 3a f2  6f 75 74 70 69 63 3a f2  |.letgo:.outpic:.|
00007e60  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 3a e5 20  |quickdrawmain:. |
00007e70  8d 44 62 60 0d 1c ac 08  f2 65 6f 63 0d 1c b6 16  |.Db`.....eoc....|
00007e80  e7 20 46 55 43 4f 25 3d  38 20 8c 20 e5 20 8d 64  |. FUCO%=8 . . .d|
00007e90  5e 5c 0d 1c c0 46 58 25  28 46 55 43 4f 25 29 3d  |^\...FX%(FUCO%)=|
00007ea0  58 25 3a 59 25 28 46 55  43 4f 25 29 3d 59 25 3a  |X%:Y%(FUCO%)=Y%:|
00007eb0  e7 20 46 55 43 4f 25 3c  3e 34 20 8c 20 86 20 58  |. FUCO%<>4 . . X|
00007ec0  25 28 46 55 43 4f 25 29  2c 59 25 28 46 55 43 4f  |%(FUCO%),Y%(FUCO|
00007ed0  25 29 2c 58 25 2c 59 25  0d 1c ca 39 e7 20 46 55  |%),X%,Y%...9. FU|
00007ee0  43 4f 25 3d 33 20 84 20  46 55 43 4f 25 3d 37 20  |CO%=3 . FUCO%=7 |
00007ef0  8c 20 86 20 58 25 28 46  55 43 4f 25 2d 32 29 2c  |. . X%(FUCO%-2),|
00007f00  59 25 28 46 55 43 4f 25  2d 32 29 2c 58 25 2c 59  |Y%(FUCO%-2),X%,Y|
00007f10  25 0d 1c d4 28 4f 58 25  3d 58 25 3a 4f 59 25 3d  |%...(OX%=X%:OY%=|
00007f20  59 25 3a 46 55 43 4f 25  2b 3d 31 3a f2 6c 65 74  |Y%:FUCO%+=1:.let|
00007f30  67 6f 3a e5 20 8d 44 62  60 0d 1c de a5 58 25 28  |go:. .Db`....X%(|
00007f40  38 29 3d 58 25 3a 59 25  28 38 29 3d 59 25 3a e3  |8)=X%:Y%(8)=Y%:.|
00007f50  4c 25 3d 31 20 b8 20 33  3a 86 20 58 25 28 4c 25  |L%=1 . 3:. X%(L%|
00007f60  29 2c 59 25 28 4c 25 29  2c 58 25 28 4c 25 2b 31  |),Y%(L%),X%(L%+1|
00007f70  29 2c 59 25 28 4c 25 2b  31 29 3a 86 20 58 25 28  |),Y%(L%+1):. X%(|
00007f80  4c 25 2b 34 29 2c 59 25  28 4c 25 2b 34 29 2c 58  |L%+4),Y%(L%+4),X|
00007f90  25 28 4c 25 2b 35 29 2c  59 25 28 4c 25 2b 35 29  |%(L%+5),Y%(L%+5)|
00007fa0  3a ed 3a 86 20 58 25 28  31 29 2c 59 25 28 31 29  |:.:. X%(1),Y%(1)|
00007fb0  2c 58 25 28 34 29 2c 59  25 28 34 29 3a 86 20 58  |,X%(4),Y%(4):. X|
00007fc0  25 28 35 29 2c 59 25 28  35 29 2c 58 25 28 38 29  |%(5),Y%(5),X%(8)|
00007fd0  2c 59 25 28 38 29 3a 46  55 43 4f 25 3d 31 0d 1c  |,Y%(8):FUCO%=1..|
00007fe0  e8 2b f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |.+.outpic:.quick|
00007ff0  64 72 61 77 6d 61 69 6e  3a f2 70 69 78 65 6c 6d  |drawmain:.pixelm|
00008000  61 70 3a e5 20 8d 44 62  60 0d 1c f2 25 c9 20 32  |ap:. .Db`...%. 2|
00008010  37 3a e7 20 46 55 53 54  25 3c 32 20 8c 20 f2 72  |7:. FUST%<2 . .r|
00008020  65 63 74 70 6f 6c 6c 3a  e5 20 8d 44 62 60 0d 1c  |ectpoll:. .Db`..|
00008030  fc 2d f2 73 70 69 6e 69  74 3a f2 73 70 62 75 66  |.-.spinit:.spbuf|
00008040  28 31 34 35 2a 31 30 32  34 29 3a e7 20 51 25 20  |(145*1024):. Q% |
00008050  8c 20 f2 73 70 62 75 66  65 72 72 0d 1d 06 19 f2  |. .spbuferr.....|
00008060  62 61 63 6b 75 70 70 69  63 3a f2 73 77 61 70 63  |backuppic:.swapc|
00008070  6f 72 6e 73 0d 1d 10 20  56 41 52 53 21 32 30 3d  |orns... VARS!20=|
00008080  42 54 43 25 3a 56 41 52  53 21 32 34 3d 50 41 4c  |BTC%:VARS!24=PAL|
00008090  54 41 42 25 0d 1d 1a 1f  56 41 52 53 21 32 38 3d  |TAB%....VARS!28=|
000080a0  50 49 43 25 3a 56 41 52  53 21 33 32 3d 53 50 42  |PIC%:VARS!32=SPB|
000080b0  55 46 25 0d 1d 24 1f 56  41 52 53 21 33 36 3d 58  |UF%..$.VARS!36=X|
000080c0  25 28 30 29 3a 56 41 52  53 21 34 30 3d 59 25 28  |%(0):VARS!40=Y%(|
000080d0  30 29 0d 1d 2e 1b 56 41  52 53 21 34 34 3d 4f 58  |0)....VARS!44=OX|
000080e0  25 3a 56 41 52 53 21 34  38 3d 4f 59 25 0d 1d 38  |%:VARS!48=OY%..8|
000080f0  5c 41 25 3d 56 41 52 53  3a c8 99 20 22 48 6f 75  |\A%=VARS:.. "Hou|
00008100  72 67 6c 61 73 73 5f 4f  6e 22 3a d6 20 70 69 78  |rglass_On":. pix|
00008110  61 76 65 72 61 67 65 3a  c8 99 20 22 48 6f 75 72  |average:.. "Hour|
00008120  67 6c 61 73 73 5f 4f 66  66 22 3a f2 73 70 69 6e  |glass_Off":.spin|
00008130  69 74 3a f2 66 6f 72 63  65 64 72 61 77 6d 61 69  |it:.forcedrawmai|
00008140  6e 3a 46 55 53 54 25 3d  30 0d 1d 42 25 c9 20 32  |n:FUST%=0..B%. 2|
00008150  38 3a e7 20 46 55 53 54  25 3c 32 20 8c 20 f2 72  |8:. FUST%<2 . .r|
00008160  65 63 74 70 6f 6c 6c 3a  e5 20 8d 44 62 60 0d 1d  |ectpoll:. .Db`..|
00008170  4c 0e f2 73 77 61 70 63  6f 72 6e 73 0d 1d 56 20  |L..swapcorns..V |
00008180  56 41 52 53 21 32 30 3d  42 54 43 25 3a 56 41 52  |VARS!20=BTC%:VAR|
00008190  53 21 32 34 3d 50 41 4c  54 41 42 25 0d 1d 60 10  |S!24=PALTAB%..`.|
000081a0  56 41 52 53 21 32 38 3d  50 49 43 25 0d 1d 6a 1f  |VARS!28=PIC%..j.|
000081b0  56 41 52 53 21 33 36 3d  58 25 28 30 29 3a 56 41  |VARS!36=X%(0):VA|
000081c0  52 53 21 34 30 3d 59 25  28 30 29 0d 1d 74 1b 56  |RS!40=Y%(0)..t.V|
000081d0  41 52 53 21 34 34 3d 4f  58 25 3a 56 41 52 53 21  |ARS!44=OX%:VARS!|
000081e0  34 38 3d 4f 59 25 0d 1d  7e 39 56 41 52 53 21 38  |48=OY%..~9VARS!8|
000081f0  34 3d 50 41 4c 54 41 42  25 3f 28 43 4f 4c 25 2a  |4=PALTAB%?(COL%*|
00008200  32 29 3a 56 41 52 53 21  38 38 3d 50 41 4c 54 41  |2):VARS!88=PALTA|
00008210  42 25 3f 28 28 43 4f 4c  25 2a 32 29 2b 31 29 0d  |B%?((COL%*2)+1).|
00008220  1d 88 52 41 25 3d 56 41  52 53 3a c8 99 20 22 48  |..RA%=VARS:.. "H|
00008230  6f 75 72 67 6c 61 73 73  5f 4f 6e 22 3a d6 20 74  |ourglass_On":. t|
00008240  69 6e 74 61 72 65 61 3a  c8 99 20 22 48 6f 75 72  |intarea:.. "Hour|
00008250  67 6c 61 73 73 5f 4f 66  66 22 3a f2 66 6f 72 63  |glass_Off":.forc|
00008260  65 64 72 61 77 6d 61 69  6e 3a 46 55 53 54 25 3d  |edrawmain:FUST%=|
00008270  30 0d 1d 92 80 c9 20 32  39 3a e7 20 46 55 53 54  |0..... 29:. FUST|
00008280  25 3d 30 20 8c 20 f2 70  61 69 6e 74 73 63 61 6c  |%=0 . .paintscal|
00008290  65 32 3a f2 70 69 63 70  6f 73 3a f2 69 6e 70 69  |e2:.picpos:.inpi|
000082a0  63 3a f2 65 6f 72 62 61  63 6b 3a f2 70 61 69 6e  |c:.eorback:.pain|
000082b0  74 62 72 75 73 68 28 58  25 2c 59 25 29 3a f2 6f  |tbrush(X%,Y%):.o|
000082c0  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
000082d0  6d 61 69 6e 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |main:OX%=X%:OY%=|
000082e0  59 25 3a 46 55 53 54 25  3d 31 3a e5 20 8d 44 62  |Y%:FUST%=1:. .Db|
000082f0  60 0d 1d 9c 0b f2 70 69  63 70 6f 73 0d 1d a6 83  |`.....picpos....|
00008300  e7 20 58 25 3c 3e 4f 58  25 20 84 20 59 25 3c 3e  |. X%<>OX% . Y%<>|
00008310  4f 59 25 20 8c 20 f2 70  61 69 6e 74 73 63 61 6c  |OY% . .paintscal|
00008320  65 32 3a f2 69 6e 70 69  63 3a f2 65 6f 72 62 61  |e2:.inpic:.eorba|
00008330  63 6b 3a f2 70 61 69 6e  74 62 72 75 73 68 28 4f  |ck:.paintbrush(O|
00008340  58 25 2c 4f 59 25 29 3a  f2 70 61 69 6e 74 62 72  |X%,OY%):.paintbr|
00008350  75 73 68 28 58 25 2c 59  25 29 3a 4f 58 25 3d 58  |ush(X%,Y%):OX%=X|
00008360  25 3a 4f 59 25 3d 59 25  3a f2 6f 75 74 70 69 63  |%:OY%=Y%:.outpic|
00008370  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 0d  |:.quickdrawmain.|
00008380  1d b0 80 c9 20 33 30 3a  e7 20 46 55 53 54 25 3d  |.... 30:. FUST%=|
00008390  30 20 8c 20 f2 70 61 69  6e 74 73 63 61 6c 65 32  |0 . .paintscale2|
000083a0  3a f2 70 69 63 70 6f 73  3a f2 69 6e 70 69 63 3a  |:.picpos:.inpic:|
000083b0  f2 65 6f 72 62 61 63 6b  3a f2 70 61 69 6e 74 62  |.eorback:.paintb|
000083c0  72 75 73 68 28 58 25 2c  59 25 29 3a f2 6f 75 74  |rush(X%,Y%):.out|
000083d0  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
000083e0  69 6e 3a 4f 58 25 3d 58  25 3a 4f 59 25 3d 59 25  |in:OX%=X%:OY%=Y%|
000083f0  3a 46 55 53 54 25 3d 31  3a e5 20 8d 44 62 60 0d  |:FUST%=1:. .Db`.|
00008400  1d ba 0b f2 70 69 63 70  6f 73 0d 1d c4 83 e7 20  |....picpos..... |
00008410  58 25 3c 3e 4f 58 25 20  84 20 59 25 3c 3e 4f 59  |X%<>OX% . Y%<>OY|
00008420  25 20 8c 20 f2 70 61 69  6e 74 73 63 61 6c 65 32  |% . .paintscale2|
00008430  3a f2 69 6e 70 69 63 3a  f2 65 6f 72 62 61 63 6b  |:.inpic:.eorback|
00008440  3a f2 70 61 69 6e 74 62  72 75 73 68 28 4f 58 25  |:.paintbrush(OX%|
00008450  2c 4f 59 25 29 3a f2 70  61 69 6e 74 62 72 75 73  |,OY%):.paintbrus|
00008460  68 28 58 25 2c 59 25 29  3a 4f 58 25 3d 58 25 3a  |h(X%,Y%):OX%=X%:|
00008470  4f 59 25 3d 59 25 3a f2  6f 75 74 70 69 63 3a f2  |OY%=Y%:.outpic:.|
00008480  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 0d 1d ce  |quickdrawmain...|
00008490  15 c9 20 33 32 3a e7 20  46 4f 4e 54 25 3c 3e 30  |.. 32:. FONT%<>0|
000084a0  20 8c 0d 1d d8 6f f2 70  69 63 70 6f 73 3a e7 20  | ....o.picpos:. |
000084b0  42 55 54 25 3d 34 20 80  20 46 55 53 54 25 3c 3e  |BUT%=4 . FUST%<>|
000084c0  30 20 8c 20 f2 69 6e 62  61 63 6b 75 70 3a c8 99  |0 . .inbackup:..|
000084d0  20 22 46 6f 6e 74 5f 53  65 74 46 6f 6e 74 22 2c  | "Font_SetFont",|
000084e0  46 48 41 4e 44 25 3a c8  99 20 22 46 6f 6e 74 5f  |FHAND%:.. "Font_|
000084f0  50 61 69 6e 74 22 2c 2c  54 45 58 54 24 2c 31 36  |Paint",,TEXT$,16|
00008500  2c 58 25 2c 59 25 3a f2  6f 75 74 62 61 63 6b 75  |,X%,Y%:.outbacku|
00008510  70 0d 1d e2 94 e7 20 46  55 53 54 25 3c 3e 30 20  |p..... FUST%<>0 |
00008520  80 20 28 58 25 3c 3e 4f  58 25 20 84 20 59 25 3c  |. (X%<>OX% . Y%<|
00008530  3e 4f 59 25 29 20 8c 20  f2 72 65 73 74 70 69 63  |>OY%) . .restpic|
00008540  3a f2 69 6e 70 69 63 3a  c8 99 20 22 46 6f 6e 74  |:.inpic:.. "Font|
00008550  5f 53 65 74 46 6f 6e 74  22 2c 46 48 41 4e 44 25  |_SetFont",FHAND%|
00008560  3a c8 99 20 22 46 6f 6e  74 5f 50 61 69 6e 74 22  |:.. "Font_Paint"|
00008570  2c 2c 54 45 58 54 24 2c  31 36 2c 58 25 2c 59 25  |,,TEXT$,16,X%,Y%|
00008580  3a f2 6f 75 74 70 69 63  3a f2 66 6f 72 63 65 64  |:.outpic:.forced|
00008590  72 61 77 6d 61 69 6e 3a  4f 58 25 3d 58 25 3a 4f  |rawmain:OX%=X%:O|
000085a0  59 25 3d 59 25 0d 1d ec  05 cc 0d 1d f6 45 f2 70  |Y%=Y%........E.p|
000085b0  69 63 70 6f 73 3a e7 20  42 55 54 25 3d 34 20 80  |icpos:. BUT%=4 .|
000085c0  20 46 55 53 54 25 3c 3e  30 20 8c 20 f2 69 6e 62  | FUST%<>0 . .inb|
000085d0  61 63 6b 75 70 3a f2 6f  73 74 65 78 74 28 58 25  |ackup:.ostext(X%|
000085e0  2c 59 25 29 3a f2 6f 75  74 62 61 63 6b 75 70 0d  |,Y%):.outbackup.|
000085f0  1e 00 6a e7 20 46 55 53  54 25 3c 3e 30 20 80 20  |..j. FUST%<>0 . |
00008600  28 58 25 3c 3e 4f 58 25  20 84 20 59 25 3c 3e 4f  |(X%<>OX% . Y%<>O|
00008610  59 25 29 20 8c 20 f2 72  65 73 74 70 69 63 3a f2  |Y%) . .restpic:.|
00008620  69 6e 70 69 63 3a f2 6f  73 74 65 78 74 28 58 25  |inpic:.ostext(X%|
00008630  2c 59 25 29 3a f2 6f 75  74 70 69 63 3a f2 66 6f  |,Y%):.outpic:.fo|
00008640  72 63 65 64 72 61 77 6d  61 69 6e 3a 4f 58 25 3d  |rcedrawmain:OX%=|
00008650  58 25 3a 4f 59 25 3d 59  25 0d 1e 0a 05 cd 0d 1e  |X%:OY%=Y%.......|
00008660  14 25 c9 20 33 31 3a e7  20 46 55 53 54 25 3c 32  |.%. 31:. FUST%<2|
00008670  20 8c 20 f2 72 65 63 74  70 6f 6c 6c 3a e5 20 8d  | . .rectpoll:. .|
00008680  44 62 60 0d 1e 1e 3e f2  73 77 61 70 63 6f 72 6e  |Db`...>.swapcorn|
00008690  73 3a 46 4d 49 4e 58 25  3d 58 25 28 30 29 3a 46  |s:FMINX%=X%(0):F|
000086a0  4d 49 4e 59 25 3d 59 25  28 30 29 3a 46 4d 41 58  |MINY%=Y%(0):FMAX|
000086b0  58 25 3d 4f 58 25 3a 46  4d 41 58 59 25 3d 4f 59  |X%=OX%:FMAXY%=OY|
000086c0  25 0d 1e 28 36 c8 99 20  22 48 6f 75 72 67 6c 61  |%..(6.. "Hourgla|
000086d0  73 73 5f 4f 6e 22 3a f2  66 69 6c 6c 3a c8 99 20  |ss_On":.fill:.. |
000086e0  22 48 6f 75 72 67 6c 61  73 73 5f 4f 66 66 22 3a  |"Hourglass_Off":|
000086f0  46 55 53 54 25 3d 30 0d  1e 32 25 c9 20 33 33 3a  |FUST%=0..2%. 33:|
00008700  e7 20 46 55 53 54 25 3c  32 20 8c 20 f2 72 65 63  |. FUST%<2 . .rec|
00008710  74 70 6f 6c 6c 3a e5 20  8d 44 62 60 0d 1e 3c 3e  |tpoll:. .Db`..<>|
00008720  f2 73 77 61 70 63 6f 72  6e 73 3a 46 4d 49 4e 58  |.swapcorns:FMINX|
00008730  25 3d 58 25 28 30 29 3a  46 4d 49 4e 59 25 3d 59  |%=X%(0):FMINY%=Y|
00008740  25 28 30 29 3a 46 4d 41  58 58 25 3d 4f 58 25 3a  |%(0):FMAXX%=OX%:|
00008750  46 4d 41 58 59 25 3d 4f  59 25 0d 1e 46 c2 c8 99  |FMAXY%=OY%..F...|
00008760  20 22 48 6f 75 72 67 6c  61 73 73 5f 4f 6e 22 3a  | "Hourglass_On":|
00008770  21 56 41 52 53 3d 50 49  43 25 3a 56 41 52 53 21  |!VARS=PIC%:VARS!|
00008780  34 3d 50 49 43 25 3a 56  41 52 53 21 38 3d 58 25  |4=PIC%:VARS!8=X%|
00008790  28 30 29 3a 56 41 52 53  21 31 32 3d 59 25 28 30  |(0):VARS!12=Y%(0|
000087a0  29 3a 56 41 52 53 21 31  36 3d 4f 58 25 3a 56 41  |):VARS!16=OX%:VA|
000087b0  52 53 21 32 30 3d 4f 59  25 3a 56 41 52 53 21 32  |RS!20=OY%:VARS!2|
000087c0  34 3d 42 54 43 25 3a 56  41 52 53 21 32 38 3d 54  |4=BTC%:VARS!28=T|
000087d0  54 42 25 3a 56 41 52 53  21 33 32 3d 52 45 50 53  |TB%:VARS!32=REPS|
000087e0  25 3a 41 25 3d 56 41 52  53 3a d6 20 63 6f 6c 72  |%:A%=VARS:. colr|
000087f0  65 70 3a c8 99 20 22 48  6f 75 72 67 6c 61 73 73  |ep:.. "Hourglass|
00008800  5f 4f 66 66 22 3a 46 55  53 54 25 3d 30 3a f2 66  |_Off":FUST%=0:.f|
00008810  6f 72 63 65 64 72 61 77  6d 61 69 6e 0d 1e 50 19  |orcedrawmain..P.|
00008820  c9 20 33 34 3a e7 20 46  55 53 54 25 3d 30 20 8c  |. 34:. FUST%=0 .|
00008830  20 8d 44 64 5e 0d 1e 5a  83 e7 20 42 55 54 25 3d  | .Dd^..Z.. BUT%=|
00008840  34 20 8c 20 f2 69 6e 70  69 63 3a f2 70 69 63 70  |4 . .inpic:.picp|
00008850  6f 73 3a f2 70 69 6d 70  6f 72 74 28 4f 58 25 2c  |os:.pimport(OX%,|
00008860  4f 59 25 2c 33 29 3a f2  70 69 6d 70 6f 72 74 28  |OY%,3):.pimport(|
00008870  58 25 2c 59 25 2c 30 29  3a 4f 58 25 3d 58 25 3a  |X%,Y%,0):OX%=X%:|
00008880  4f 59 25 3d 59 25 3a f2  70 69 6d 70 6f 72 74 28  |OY%=Y%:.pimport(|
00008890  4f 58 25 2c 4f 59 25 2c  33 29 3a f2 6f 75 74 70  |OX%,OY%,3):.outp|
000088a0  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
000088b0  6e 3a e5 20 8d 44 62 60  0d 1e 64 64 e7 20 46 55  |n:. .Db`..dd. FU|
000088c0  53 54 25 3d 30 20 8c 20  46 55 53 54 25 3d 31 3a  |ST%=0 . FUST%=1:|
000088d0  f2 70 69 63 70 6f 73 3a  4f 58 25 3d 58 25 3a 4f  |.picpos:OX%=X%:O|
000088e0  59 25 3d 59 25 3a f2 69  6e 70 69 63 3a f2 70 69  |Y%=Y%:.inpic:.pi|
000088f0  6d 70 6f 72 74 28 58 25  2c 59 25 2c 33 29 3a f2  |mport(X%,Y%,3):.|
00008900  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
00008910  77 6d 61 69 6e 3a e5 20  8d 44 62 60 0d 1e 6e 26  |wmain:. .Db`..n&|
00008920  f2 70 69 63 70 6f 73 3a  e7 20 58 25 3d 4f 58 25  |.picpos:. X%=OX%|
00008930  20 80 20 59 25 3d 4f 59  25 20 8c 20 e5 20 8d 44  | . Y%=OY% . . .D|
00008940  62 60 0d 1e 78 55 f2 69  6e 70 69 63 3a f2 70 69  |b`..xU.inpic:.pi|
00008950  6d 70 6f 72 74 28 4f 58  25 2c 4f 59 25 2c 33 29  |mport(OX%,OY%,3)|
00008960  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a f2  |:OX%=X%:OY%=Y%:.|
00008970  70 69 6d 70 6f 72 74 28  58 25 2c 59 25 2c 33 29  |pimport(X%,Y%,3)|
00008980  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
00008990  72 61 77 6d 61 69 6e 0d  1e 82 28 c9 20 33 35 3a  |rawmain...(. 35:|
000089a0  e7 20 46 55 53 54 25 3c  32 20 8c 20 f2 67 72 61  |. FUST%<2 . .gra|
000089b0  62 70 6f 6c 6c 28 30 29  3a e5 20 8d 44 62 60 0d  |bpoll(0):. .Db`.|
000089c0  1e 8c 7f e7 20 46 55 53  54 25 3d 32 20 8c 20 f2  |.... FUST%=2 . .|
000089d0  63 6c 6f 73 65 77 69 6e  64 28 38 29 3a f2 69 6e  |closewind(8):.in|
000089e0  70 69 63 3a f2 70 69 63  70 6f 73 3a f2 70 67 72  |pic:.picpos:.pgr|
000089f0  61 62 28 4f 58 25 2c 4f  59 25 2c 33 29 3a 4f 58  |ab(OX%,OY%,3):OX|
00008a00  25 3d 58 25 3a 4f 59 25  3d 59 25 3a f2 6f 75 74  |%=X%:OY%=Y%:.out|
00008a10  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
00008a20  69 6e 3a 46 55 53 54 25  3d 33 3a f2 6f 70 65 6e  |in:FUST%=3:.open|
00008a30  77 69 6e 64 28 37 29 3a  e5 20 8d 44 62 60 0d 1e  |wind(7):. .Db`..|
00008a40  96 6c c9 20 33 36 3a e7  20 46 55 53 54 25 3d 30  |.l. 36:. FUST%=0|
00008a50  20 8c 20 f2 70 69 63 70  6f 73 3a f2 69 6e 70 69  | . .picpos:.inpi|
00008a60  63 3a f2 65 6f 63 3a c8  93 20 58 25 2c 59 25 2c  |c:.eoc:.. X%,Y%,|
00008a70  46 52 57 25 2a 32 2c 46  52 48 25 2a 34 3a f2 6f  |FRW%*2,FRH%*4:.o|
00008a80  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
00008a90  6d 61 69 6e 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |main:OX%=X%:OY%=|
00008aa0  59 25 3a 46 55 53 54 25  3d 31 0d 1e a0 84 f2 70  |Y%:FUST%=1.....p|
00008ab0  69 63 70 6f 73 3a e7 20  58 25 3c 3e 4f 58 25 20  |icpos:. X%<>OX% |
00008ac0  84 20 59 25 3c 3e 4f 59  25 20 8c 20 f2 69 6e 70  |. Y%<>OY% . .inp|
00008ad0  69 63 3a f2 65 6f 63 3a  c8 93 20 4f 58 25 2c 4f  |ic:.eoc:.. OX%,O|
00008ae0  59 25 2c 46 52 57 25 2a  32 2c 46 52 48 25 2a 34  |Y%,FRW%*2,FRH%*4|
00008af0  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a c8  |:OX%=X%:OY%=Y%:.|
00008b00  93 20 4f 58 25 2c 4f 59  25 2c 46 52 57 25 2a 32  |. OX%,OY%,FRW%*2|
00008b10  2c 46 52 48 25 2a 34 3a  f2 6f 75 74 70 69 63 3a  |,FRH%*4:.outpic:|
00008b20  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 0d 1e  |.quickdrawmain..|
00008b30  aa 14 e7 20 42 55 54 25  3c 3e 34 20 8c 20 8d 44  |... BUT%<>4 . .D|
00008b40  62 60 0d 1e b4 7e f2 69  6e 70 69 63 3a f2 65 6f  |b`...~.inpic:.eo|
00008b50  63 3a c8 93 20 4f 58 25  2c 4f 59 25 2c 46 52 57  |c:.. OX%,OY%,FRW|
00008b60  25 2a 32 2c 46 52 48 25  2a 34 3a f2 73 65 74 63  |%*2,FRH%*4:.setc|
00008b70  6f 6c 3a c8 93 20 4f 58  25 2c 4f 59 25 2c 46 52  |ol:.. OX%,OY%,FR|
00008b80  57 25 2a 32 2c 46 52 48  25 2a 34 3a f2 65 6f 63  |W%*2,FRH%*4:.eoc|
00008b90  3a c8 93 20 4f 58 25 2c  4f 59 25 2c 46 52 57 25  |:.. OX%,OY%,FRW%|
00008ba0  2a 32 2c 46 52 48 25 2a  34 3a f2 6f 75 74 70 69  |*2,FRH%*4:.outpi|
00008bb0  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
00008bc0  0d 1e be 25 c9 20 33 38  3a e7 20 46 55 53 54 25  |...%. 38:. FUST%|
00008bd0  3c 32 20 8c 20 f2 72 65  63 74 70 6f 6c 6c 3a e5  |<2 . .rectpoll:.|
00008be0  20 8d 44 62 60 0d 1e c8  3e f2 73 77 61 70 63 6f  | .Db`...>.swapco|
00008bf0  72 6e 73 3a 46 4d 49 4e  58 25 3d 58 25 28 30 29  |rns:FMINX%=X%(0)|
00008c00  3a 46 4d 49 4e 59 25 3d  59 25 28 30 29 3a 46 4d  |:FMINY%=Y%(0):FM|
00008c10  41 58 58 25 3d 4f 58 25  3a 46 4d 41 58 59 25 3d  |AXX%=OX%:FMAXY%=|
00008c20  4f 59 25 0d 1e d2 8d c8  99 20 22 48 6f 75 72 67  |OY%...... "Hourg|
00008c30  6c 61 73 73 5f 4f 6e 22  3a 21 56 41 52 53 3d 50  |lass_On":!VARS=P|
00008c40  49 43 25 3a 56 41 52 53  21 34 3d 50 49 43 25 3a  |IC%:VARS!4=PIC%:|
00008c50  56 41 52 53 21 38 3d 58  25 28 30 29 3a 56 41 52  |VARS!8=X%(0):VAR|
00008c60  53 21 31 32 3d 59 25 28  30 29 3a 56 41 52 53 21  |S!12=Y%(0):VARS!|
00008c70  31 36 3d 4f 58 25 3a 56  41 52 53 21 32 30 3d 4f  |16=OX%:VARS!20=O|
00008c80  59 25 3a 56 41 52 53 21  32 34 3d 54 52 41 53 50  |Y%:VARS!24=TRASP|
00008c90  25 3a 56 41 52 53 21 32  38 3d 42 54 43 25 3a 56  |%:VARS!28=BTC%:V|
00008ca0  41 52 53 21 33 32 3d 54  52 41 4e 53 54 41 42 25  |ARS!32=TRANSTAB%|
00008cb0  0d 1e dc 40 52 57 25 3d  bb a4 67 65 74 69 63 6f  |...@RW%=..getico|
00008cc0  6e 28 32 31 2c 34 29 3a  47 57 25 3d bb a4 67 65  |n(21,4):GW%=..ge|
00008cd0  74 69 63 6f 6e 28 32 31  2c 37 29 3a 42 57 25 3d  |ticon(21,7):BW%=|
00008ce0  bb a4 67 65 74 69 63 6f  6e 28 32 31 2c 31 30 29  |..geticon(21,10)|
00008cf0  0d 1e e6 3b e3 4c 25 3d  30 20 b8 20 32 35 35 3a  |...;.L%=0 . 255:|
00008d00  c8 99 20 22 43 6f 6c 6f  75 72 54 72 61 6e 73 5f  |.. "ColourTrans_|
00008d10  43 6f 6c 6f 75 72 4e 75  6d 62 65 72 54 6f 47 43  |ColourNumberToGC|
00008d20  4f 4c 22 2c 4c 25 20 b8  20 47 25 0d 1e f0 65 52  |OL",L% . G%...eR|
00008d30  43 25 3d 28 28 47 25 80  25 31 31 31 31 29 2a 52  |C%=((G%.%1111)*R|
00008d40  57 25 29 81 31 30 30 3a  47 43 25 3d 28 28 28 28  |W%).100:GC%=((((|
00008d50  47 25 80 34 38 29 3e 3e  32 29 2b 28 47 25 80 33  |G%.48)>>2)+(G%.3|
00008d60  29 29 2a 47 57 25 29 81  31 30 30 3a 42 43 25 3d  |))*GW%).100:BC%=|
00008d70  28 28 28 28 47 25 80 31  39 32 29 3e 3e 34 29 2b  |((((G%.192)>>4)+|
00008d80  28 47 25 80 33 29 29 2a  42 57 25 29 81 31 30 30  |(G%.3))*BW%).100|
00008d90  0d 1e fa 15 e7 20 52 43  25 3e 31 35 20 8c 20 52  |..... RC%>15 . R|
00008da0  43 25 3d 31 35 0d 1f 04  15 e7 20 47 43 25 3e 31  |C%=15..... GC%>1|
00008db0  35 20 8c 20 47 43 25 3d  31 35 0d 1f 0e 15 e7 20  |5 . GC%=15..... |
00008dc0  42 43 25 3e 31 35 20 8c  20 42 43 25 3d 31 35 0d  |BC%>15 . BC%=15.|
00008dd0  1f 18 7f 54 43 25 3d 28  28 28 52 43 25 80 33 29  |...TC%=(((RC%.3)|
00008de0  2b 28 47 43 25 80 33 29  2b 28 42 43 25 80 33 29  |+(GC%.3)+(BC%.3)|
00008df0  29 81 33 29 3a 54 43 25  3d 54 43 25 2b 28 52 43  |).3):TC%=TC%+(RC|
00008e00  25 80 31 32 29 2b 28 28  47 43 25 80 31 32 29 3c  |%.12)+((GC%.12)<|
00008e10  3c 32 29 2b 28 28 42 43  25 80 31 32 29 3c 3c 34  |<2)+((BC%.12)<<4|
00008e20  29 3a c8 99 22 43 6f 6c  6f 75 72 54 72 61 6e 73  |):.."ColourTrans|
00008e30  5f 47 43 4f 4c 54 6f 43  6f 6c 6f 75 72 4e 75 6d  |_GCOLToColourNum|
00008e40  62 65 72 22 2c 54 43 25  20 b8 20 54 43 25 0d 1f  |ber",TC% . TC%..|
00008e50  22 16 54 52 41 4e 53 54  41 42 25 3f 4c 25 3d 54  |".TRANSTAB%?L%=T|
00008e60  43 25 3a ed 0d 1f 2c 41  41 25 3d 56 41 52 53 3a  |C%:...,AA%=VARS:|
00008e70  d6 20 74 72 61 6e 73 61  72 65 61 3a c8 99 20 22  |. transarea:.. "|
00008e80  48 6f 75 72 67 6c 61 73  73 5f 4f 66 66 22 3a 46  |Hourglass_Off":F|
00008e90  55 53 54 25 3d 30 3a f2  66 6f 72 63 65 64 72 61  |UST%=0:.forcedra|
00008ea0  77 6d 61 69 6e 0d 1f 36  25 c9 20 33 39 3a e7 20  |wmain..6%. 39:. |
00008eb0  46 55 53 54 25 3c 32 20  8c 20 f2 72 65 63 74 70  |FUST%<2 . .rectp|
00008ec0  6f 6c 6c 3a e5 20 8d 44  62 60 0d 1f 40 3e f2 73  |oll:. .Db`..@>.s|
00008ed0  77 61 70 63 6f 72 6e 73  3a 46 4d 49 4e 58 25 3d  |wapcorns:FMINX%=|
00008ee0  58 25 28 30 29 3a 46 4d  49 4e 59 25 3d 59 25 28  |X%(0):FMINY%=Y%(|
00008ef0  30 29 3a 46 4d 41 58 58  25 3d 4f 58 25 3a 46 4d  |0):FMAXX%=OX%:FM|
00008f00  41 58 59 25 3d 4f 59 25  0d 1f 4a 8d c8 99 20 22  |AXY%=OY%..J... "|
00008f10  48 6f 75 72 67 6c 61 73  73 5f 4f 6e 22 3a 21 56  |Hourglass_On":!V|
00008f20  41 52 53 3d 50 49 43 25  3a 56 41 52 53 21 34 3d  |ARS=PIC%:VARS!4=|
00008f30  50 49 43 25 3a 56 41 52  53 21 38 3d 58 25 28 30  |PIC%:VARS!8=X%(0|
00008f40  29 3a 56 41 52 53 21 31  32 3d 59 25 28 30 29 3a  |):VARS!12=Y%(0):|
00008f50  56 41 52 53 21 31 36 3d  4f 58 25 3a 56 41 52 53  |VARS!16=OX%:VARS|
00008f60  21 32 30 3d 4f 59 25 3a  56 41 52 53 21 32 34 3d  |!20=OY%:VARS!24=|
00008f70  54 52 41 53 50 25 3a 56  41 52 53 21 32 38 3d 42  |TRASP%:VARS!28=B|
00008f80  54 43 25 3a 56 41 52 53  21 33 32 3d 54 52 41 4e  |TC%:VARS!32=TRAN|
00008f90  53 54 41 42 25 0d 1f 54  78 52 57 25 3d bb a4 67  |STAB%..TxRW%=..g|
00008fa0  65 74 69 63 6f 6e 28 32  32 2c 34 29 3a 47 57 25  |eticon(22,4):GW%|
00008fb0  3d bb a4 67 65 74 69 63  6f 6e 28 32 32 2c 37 29  |=..geticon(22,7)|
00008fc0  3a 42 57 25 3d bb a4 67  65 74 69 63 6f 6e 28 32  |:BW%=..geticon(2|
00008fd0  32 2c 31 30 29 3a e3 4c  25 3d 30 20 b8 20 32 35  |2,10):.L%=0 . 25|
00008fe0  35 3a c8 99 20 22 43 6f  6c 6f 75 72 54 72 61 6e  |5:.. "ColourTran|
00008ff0  73 5f 43 6f 6c 6f 75 72  4e 75 6d 62 65 72 54 6f  |s_ColourNumberTo|
00009000  47 43 4f 4c 22 2c 4c 25  20 b8 20 47 25 0d 1f 5e  |GCOL",L% . G%..^|
00009010  53 52 43 25 3d 28 47 25  80 25 31 31 31 31 29 2a  |SRC%=(G%.%1111)*|
00009020  52 57 25 3a 47 43 25 3d  28 28 28 47 25 80 34 38  |RW%:GC%=(((G%.48|
00009030  29 3e 3e 32 29 2b 28 47  25 80 33 29 29 2a 47 57  |)>>2)+(G%.3))*GW|
00009040  25 3a 42 43 25 3d 28 28  28 47 25 80 31 39 32 29  |%:BC%=(((G%.192)|
00009050  3e 3e 34 29 2b 28 47 25  80 33 29 29 2a 42 57 25  |>>4)+(G%.3))*BW%|
00009060  0d 1f 68 2b 54 43 25 3d  28 28 52 43 25 2b 47 43  |..h+TC%=((RC%+GC|
00009070  25 2b 42 43 25 29 81 33  29 3a e7 20 54 43 25 3e  |%+BC%).3):. TC%>|
00009080  31 35 20 8c 20 54 43 25  3d 31 35 0d 1f 72 54 54  |15 . TC%=15..rTT|
00009090  43 25 3d 54 43 25 2b 28  28 54 43 25 80 31 32 29  |C%=TC%+((TC%.12)|
000090a0  3c 3c 32 29 2b 28 28 54  43 25 80 31 32 29 3c 3c  |<<2)+((TC%.12)<<|
000090b0  34 29 3a c8 99 22 43 6f  6c 6f 75 72 54 72 61 6e  |4):.."ColourTran|
000090c0  73 5f 47 43 4f 4c 54 6f  43 6f 6c 6f 75 72 4e 75  |s_GCOLToColourNu|
000090d0  6d 62 65 72 22 2c 54 43  25 20 b8 20 54 43 25 0d  |mber",TC% . TC%.|
000090e0  1f 7c 16 54 52 41 4e 53  54 41 42 25 3f 4c 25 3d  |.|.TRANSTAB%?L%=|
000090f0  54 43 25 3a ed 0d 1f 86  41 41 25 3d 56 41 52 53  |TC%:....AA%=VARS|
00009100  3a d6 20 74 72 61 6e 73  61 72 65 61 3a c8 99 20  |:. transarea:.. |
00009110  22 48 6f 75 72 67 6c 61  73 73 5f 4f 66 66 22 3a  |"Hourglass_Off":|
00009120  46 55 53 54 25 3d 30 3a  f2 66 6f 72 63 65 64 72  |FUST%=0:.forcedr|
00009130  61 77 6d 61 69 6e 0d 1f  90 25 c9 20 34 30 3a e7  |awmain...%. 40:.|
00009140  20 46 55 53 54 25 3c 32  20 8c 20 f2 72 65 63 74  | FUST%<2 . .rect|
00009150  70 6f 6c 6c 3a e5 20 8d  44 62 60 0d 1f 9a 3e f2  |poll:. .Db`...>.|
00009160  73 77 61 70 63 6f 72 6e  73 3a 46 4d 49 4e 58 25  |swapcorns:FMINX%|
00009170  3d 58 25 28 30 29 3a 46  4d 49 4e 59 25 3d 59 25  |=X%(0):FMINY%=Y%|
00009180  28 30 29 3a 46 4d 41 58  58 25 3d 4f 58 25 3a 46  |(0):FMAXX%=OX%:F|
00009190  4d 41 58 59 25 3d 4f 59  25 0d 1f a4 45 50 57 25  |MAXY%=OY%...EPW%|
000091a0  3d bb a4 67 65 74 69 63  6f 6e 28 32 33 2c 33 29  |=..geticon(23,3)|
000091b0  2a 32 3a 50 48 25 3d bb  a4 67 65 74 69 63 6f 6e  |*2:PH%=..geticon|
000091c0  28 32 33 2c 36 29 2a 34  3a 50 4f 58 25 3d 50 57  |(23,6)*4:POX%=PW|
000091d0  25 81 32 3a 50 4f 59 25  3d 50 48 25 81 32 0d 1f  |%.2:POY%=PH%.2..|
000091e0  ae 41 58 50 25 3d 46 4d  49 4e 58 25 3a 59 50 25  |.AXP%=FMINX%:YP%|
000091f0  3d 46 4d 49 4e 59 25 3a  f2 69 6e 70 69 63 3a ef  |=FMINY%:.inpic:.|
00009200  32 34 2c 46 4d 49 4e 58  25 3b 46 4d 49 4e 59 25  |24,FMINX%;FMINY%|
00009210  3b 46 4d 41 58 58 25 3b  46 4d 41 58 59 25 3b 0d  |;FMAXX%;FMAXY%;.|
00009220  1f b8 15 c8 99 20 22 48  6f 75 72 67 6c 61 73 73  |..... "Hourglass|
00009230  5f 4f 6e 22 0d 1f c2 af  f5 3a f5 3a e6 20 55 53  |_On".....:.:. US|
00009240  45 25 2c b0 58 50 25 2b  50 4f 58 25 2c 59 50 25  |E%,.XP%+POX%,YP%|
00009250  2b 50 4f 59 25 29 20 c8  9c 20 c8 9c 28 58 50 25  |+POY%) .. ..(XP%|
00009260  2b 50 4f 58 25 2c 59 50  25 2b 50 4f 59 25 29 3a  |+POX%,YP%+POY%):|
00009270  c8 93 20 c8 90 20 58 50  25 2c 59 50 25 2c 50 57  |.. .. XP%,YP%,PW|
00009280  25 2d 32 2c 50 48 25 2d  34 3a 58 50 25 2b 3d 50  |%-2,PH%-4:XP%+=P|
00009290  57 25 3a fd 20 58 50 25  3e 46 4d 41 58 58 25 3a  |W%:. XP%>FMAXX%:|
000092a0  58 50 25 3d 46 4d 49 4e  58 25 3a 59 50 25 2b 3d  |XP%=FMINX%:YP%+=|
000092b0  50 48 25 3a fd 20 59 50  25 3e 46 4d 41 58 59 25  |PH%:. YP%>FMAXY%|
000092c0  3a ef 32 36 3a f2 6f 75  74 70 69 63 3a f2 66 6f  |:.26:.outpic:.fo|
000092d0  72 63 65 64 72 61 77 6d  61 69 6e 3a 46 55 53 54  |rcedrawmain:FUST|
000092e0  25 3d 30 0d 1f cc 16 c8  99 20 22 48 6f 75 72 67  |%=0...... "Hourg|
000092f0  6c 61 73 73 5f 4f 66 66  22 0d 1f d6 25 c9 20 34  |lass_Off"...%. 4|
00009300  31 3a e7 20 46 55 53 54  25 3c 32 20 8c 20 f2 72  |1:. FUST%<2 . .r|
00009310  65 63 74 70 6f 6c 6c 3a  e5 20 8d 44 62 60 0d 1f  |ectpoll:. .Db`..|
00009320  e0 e3 e7 20 46 55 53 54  25 3d 32 20 8c 20 f2 73  |... FUST%=2 . .s|
00009330  77 61 70 63 6f 72 6e 73  3a 52 4f 54 43 58 25 3d  |wapcorns:ROTCX%=|
00009340  28 58 25 28 30 29 2b 4f  58 25 29 81 32 3a 52 4f  |(X%(0)+OX%).2:RO|
00009350  54 43 59 25 3d 28 59 25  28 30 29 2b 4f 59 25 29  |TCY%=(Y%(0)+OY%)|
00009360  81 32 3a 46 4d 49 4e 58  25 3d 58 25 28 30 29 2d  |.2:FMINX%=X%(0)-|
00009370  52 4f 54 43 58 25 3a 46  4d 49 4e 59 25 3d 59 25  |ROTCX%:FMINY%=Y%|
00009380  28 30 29 2d 52 4f 54 43  59 25 3a 46 4d 41 58 58  |(0)-ROTCY%:FMAXX|
00009390  25 3d 4f 58 25 2d 52 4f  54 43 58 25 3a 46 4d 41  |%=OX%-ROTCX%:FMA|
000093a0  58 59 25 3d 4f 59 25 2d  52 4f 54 43 59 25 3a f2  |XY%=OY%-ROTCY%:.|
000093b0  70 69 63 70 6f 73 3a f2  69 6e 70 69 63 3a f2 70  |picpos:.inpic:.p|
000093c0  72 6f 74 62 6f 78 28 58  25 2c 59 25 29 3a f2 6f  |rotbox(X%,Y%):.o|
000093d0  75 74 70 69 63 3a 4f 58  25 3d 58 25 3a 4f 59 25  |utpic:OX%=X%:OY%|
000093e0  3d 59 25 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |=Y%:.quickdrawma|
000093f0  69 6e 3a 46 55 53 54 25  3d 33 3a e5 20 8d 44 62  |in:FUST%=3:. .Db|
00009400  60 0d 1f ea 26 f2 70 69  63 70 6f 73 3a e7 20 42  |`...&.picpos:. B|
00009410  55 54 25 3d 31 20 84 20  42 55 54 25 3d 34 20 8c  |UT%=1 . BUT%=4 .|
00009420  20 e5 20 8d 64 7e 5f 0d  1f f4 77 e7 20 58 25 3c  | . .d~_...w. X%<|
00009430  3e 4f 58 25 20 84 20 59  25 3c 3e 4f 59 25 20 8c  |>OX% . Y%<>OY% .|
00009440  20 f2 69 6e 70 69 63 3a  f2 70 72 6f 74 62 6f 78  | .inpic:.protbox|
00009450  28 4f 58 25 2c 4f 59 25  29 3a 4f 58 25 3d 58 25  |(OX%,OY%):OX%=X%|
00009460  3a 4f 59 25 3d 59 25 3a  f2 70 72 6f 74 62 6f 78  |:OY%=Y%:.protbox|
00009470  28 58 25 2c 59 25 29 3a  f2 6f 75 74 70 69 63 3a  |(X%,Y%):.outpic:|
00009480  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 3a e5  |.quickdrawmain:.|
00009490  20 8d 44 62 60 20 8b 20  e5 20 8d 44 62 60 0d 1f  | .Db` . . .Db`..|
000094a0  fe 4d e7 20 42 55 54 25  3d 31 20 8c 20 f2 69 6e  |.M. BUT%=1 . .in|
000094b0  70 69 63 3a f2 70 72 6f  74 62 6f 78 28 4f 58 25  |pic:.protbox(OX%|
000094c0  2c 4f 59 25 29 3a f2 6f  75 74 70 69 63 3a f2 71  |,OY%):.outpic:.q|
000094d0  75 69 63 6b 64 72 61 77  6d 61 69 6e 3a 46 55 53  |uickdrawmain:FUS|
000094e0  54 25 3d 30 3a e5 20 8d  44 62 60 0d 20 08 32 f2  |T%=0:. .Db`. .2.|
000094f0  69 6e 70 69 63 3a f2 70  72 6f 74 62 6f 78 28 4f  |inpic:.protbox(O|
00009500  58 25 2c 4f 59 25 29 3a  f2 6f 75 74 70 69 63 3a  |X%,OY%):.outpic:|
00009510  58 25 3d 4f 58 25 3a 59  25 3d 4f 59 25 0d 20 12  |X%=OX%:Y%=OY%. .|
00009520  35 46 55 53 54 25 3d 34  3a f2 73 70 69 6e 69 74  |5FUST%=4:.spinit|
00009530  3a f2 73 70 62 75 66 28  31 34 35 2a 31 30 32 34  |:.spbuf(145*1024|
00009540  29 3a e7 20 51 25 20 8c  20 f2 73 70 62 75 66 65  |):. Q% . .spbufe|
00009550  72 72 0d 20 1c b0 f2 62  61 63 6b 75 70 70 69 63  |rr. ...backuppic|
00009560  3a f2 69 6e 62 61 63 6b  75 70 3a 52 25 3d 52 4f  |:.inbackup:R%=RO|
00009570  54 25 3a f2 72 6f 74 70  6f 69 6e 74 28 46 4d 49  |T%:.rotpoint(FMI|
00009580  4e 58 25 2c 46 4d 49 4e  59 25 2c 52 25 2c 58 31  |NX%,FMINY%,R%,X1|
00009590  25 2c 59 31 25 29 3a f2  72 6f 74 70 6f 69 6e 74  |%,Y1%):.rotpoint|
000095a0  28 46 4d 41 58 58 25 2c  46 4d 49 4e 59 25 2c 52  |(FMAXX%,FMINY%,R|
000095b0  25 2c 58 32 25 2c 59 32  25 29 3a f2 72 6f 74 70  |%,X2%,Y2%):.rotp|
000095c0  6f 69 6e 74 28 46 4d 41  58 58 25 2c 46 4d 41 58  |oint(FMAXX%,FMAX|
000095d0  59 25 2c 52 25 2c 58 33  25 2c 59 33 25 29 3a f2  |Y%,R%,X3%,Y3%):.|
000095e0  72 6f 74 70 6f 69 6e 74  28 46 4d 49 4e 58 25 2c  |rotpoint(FMINX%,|
000095f0  46 4d 41 58 59 25 2c 52  25 2c 58 34 25 2c 59 34  |FMAXY%,R%,X4%,Y4|
00009600  25 29 0d 20 26 51 f2 72  6f 74 70 6f 69 6e 74 28  |%). &Q.rotpoint(|
00009610  30 2c 28 46 4d 41 58 59  25 81 33 29 2a 32 2c 52  |0,(FMAXY%.3)*2,R|
00009620  25 2c 4d 58 31 25 2c 4d  59 31 25 29 3a f2 72 6f  |%,MX1%,MY1%):.ro|
00009630  74 70 6f 69 6e 74 28 30  2c 28 46 4d 41 58 59 25  |tpoint(0,(FMAXY%|
00009640  81 33 29 2a 34 2c 52 25  2c 4d 58 32 25 2c 4d 59  |.3)*4,R%,MX2%,MY|
00009650  32 25 29 0d 20 30 23 58  31 25 2b 3d 58 25 3a 58  |2%). 0#X1%+=X%:X|
00009660  32 25 2b 3d 58 25 3a 58  33 25 2b 3d 58 25 3a 58  |2%+=X%:X3%+=X%:X|
00009670  34 25 2b 3d 58 25 0d 20  3a 23 59 31 25 2b 3d 59  |4%+=X%. :#Y1%+=Y|
00009680  25 3a 59 32 25 2b 3d 59  25 3a 59 33 25 2b 3d 59  |%:Y2%+=Y%:Y3%+=Y|
00009690  25 3a 59 34 25 2b 3d 59  25 0d 20 44 59 f2 65 6f  |%:Y4%+=Y%. DY.eo|
000096a0  63 3a f0 34 2c 58 31 25  2c 59 31 25 3a f0 34 2c  |c:.4,X1%,Y1%:.4,|
000096b0  58 32 25 2c 59 32 25 3a  f0 38 35 2c 58 33 25 2c  |X2%,Y2%:.85,X3%,|
000096c0  59 33 25 3a e6 33 2c 36  30 20 c8 9c 20 31 39 32  |Y3%:.3,60 .. 192|
000096d0  3a f0 34 2c 58 34 25 2c  59 34 25 3a f0 38 35 2c  |:.4,X4%,Y4%:.85,|
000096e0  58 31 25 2c 59 31 25 3a  f2 6f 75 74 62 61 63 6b  |X1%,Y1%:.outback|
000096f0  75 70 0d 20 4e ca 41 25  3d 56 41 52 53 3a 56 41  |up. N.A%=VARS:VA|
00009700  52 53 21 34 3d 50 49 43  25 3a 56 41 52 53 21 38  |RS!4=PIC%:VARS!8|
00009710  3d 53 50 42 55 46 25 3a  56 41 52 53 21 31 32 3d  |=SPBUF%:VARS!12=|
00009720  52 4f 54 54 41 42 25 3a  56 41 52 53 21 31 36 3d  |ROTTAB%:VARS!16=|
00009730  28 33 36 30 2d 52 4f 54  25 29 83 33 36 30 3a 56  |(360-ROT%).360:V|
00009740  41 52 53 21 32 30 3d 42  54 43 25 3a 56 41 52 53  |ARS!20=BTC%:VARS|
00009750  21 32 34 3d 54 52 41 53  50 25 3a 56 41 52 53 21  |!24=TRASP%:VARS!|
00009760  32 38 3d 58 25 3a 56 41  52 53 21 33 32 3d 59 25  |28=X%:VARS!32=Y%|
00009770  3a 56 41 52 53 21 33 36  3d 52 4f 54 43 58 25 3a  |:VARS!36=ROTCX%:|
00009780  56 41 52 53 21 34 30 3d  52 4f 54 43 59 25 3a c8  |VARS!40=ROTCY%:.|
00009790  99 20 22 48 6f 75 72 67  6c 61 73 73 5f 4f 6e 22  |. "Hourglass_On"|
000097a0  3a d6 20 72 6f 74 61 74  65 3a c8 99 20 22 48 6f  |:. rotate:.. "Ho|
000097b0  75 72 67 6c 61 73 73 5f  4f 66 66 22 0d 20 58 66  |urglass_Off". Xf|
000097c0  f2 69 6e 70 69 63 3a c8  99 26 32 45 2c 32 39 30  |.inpic:..&2E,290|
000097d0  2c 53 50 42 55 46 25 2c  22 50 49 43 22 3a f2 70  |,SPBUF%,"PIC":.p|
000097e0  72 6f 74 62 6f 78 28 58  25 2c 59 25 29 3a 46 55  |rotbox(X%,Y%):FU|
000097f0  53 54 25 3d 33 3a 4f 58  25 3d 58 25 3a 4f 59 25  |ST%=3:OX%=X%:OY%|
00009800  3d 59 25 3a f2 6f 75 74  70 69 63 3a f2 66 6f 72  |=Y%:.outpic:.for|
00009810  63 65 64 72 61 77 6d 61  69 6e 3a f2 73 70 69 6e  |cedrawmain:.spin|
00009820  69 74 0d 20 62 05 cb 0d  20 6c 05 e1 0d 20 76 04  |it. b... l... v.|
00009830  0d 20 80 b3 dd f2 70 72  6f 74 62 6f 78 28 43 58  |. ....protbox(CX|
00009840  25 2c 43 59 25 29 3a f2  65 6f 63 3a 52 25 3d 52  |%,CY%):.eoc:R%=R|
00009850  4f 54 25 3a f2 72 6f 74  70 6f 69 6e 74 28 46 4d  |OT%:.rotpoint(FM|
00009860  49 4e 58 25 2c 46 4d 49  4e 59 25 2c 52 25 2c 58  |INX%,FMINY%,R%,X|
00009870  31 25 2c 59 31 25 29 3a  f2 72 6f 74 70 6f 69 6e  |1%,Y1%):.rotpoin|
00009880  74 28 46 4d 41 58 58 25  2c 46 4d 49 4e 59 25 2c  |t(FMAXX%,FMINY%,|
00009890  52 25 2c 58 32 25 2c 59  32 25 29 3a f2 72 6f 74  |R%,X2%,Y2%):.rot|
000098a0  70 6f 69 6e 74 28 46 4d  41 58 58 25 2c 46 4d 41  |point(FMAXX%,FMA|
000098b0  58 59 25 2c 52 25 2c 58  33 25 2c 59 33 25 29 3a  |XY%,R%,X3%,Y3%):|
000098c0  f2 72 6f 74 70 6f 69 6e  74 28 46 4d 49 4e 58 25  |.rotpoint(FMINX%|
000098d0  2c 46 4d 41 58 59 25 2c  52 25 2c 58 34 25 2c 59  |,FMAXY%,R%,X4%,Y|
000098e0  34 25 29 0d 20 8a 51 f2  72 6f 74 70 6f 69 6e 74  |4%). .Q.rotpoint|
000098f0  28 30 2c 28 46 4d 41 58  59 25 81 33 29 2a 32 2c  |(0,(FMAXY%.3)*2,|
00009900  52 25 2c 4d 58 31 25 2c  4d 59 31 25 29 3a f2 72  |R%,MX1%,MY1%):.r|
00009910  6f 74 70 6f 69 6e 74 28  30 2c 28 46 4d 41 58 59  |otpoint(0,(FMAXY|
00009920  25 81 33 29 2a 34 2c 52  25 2c 4d 58 32 25 2c 4d  |%.3)*4,R%,MX2%,M|
00009930  59 32 25 29 0d 20 94 27  58 31 25 2b 3d 43 58 25  |Y2%). .'X1%+=CX%|
00009940  3a 58 32 25 2b 3d 43 58  25 3a 58 33 25 2b 3d 43  |:X2%+=CX%:X3%+=C|
00009950  58 25 3a 58 34 25 2b 3d  43 58 25 0d 20 9e 27 59  |X%:X4%+=CX%. .'Y|
00009960  31 25 2b 3d 43 59 25 3a  59 32 25 2b 3d 43 59 25  |1%+=CY%:Y2%+=CY%|
00009970  3a 59 33 25 2b 3d 43 59  25 3a 59 34 25 2b 3d 43  |:Y3%+=CY%:Y4%+=C|
00009980  59 25 0d 20 a8 3a f0 34  2c 58 31 25 2c 59 31 25  |Y%. .:.4,X1%,Y1%|
00009990  3a f0 35 2c 58 32 25 2c  59 32 25 3a f0 35 2c 58  |:.5,X2%,Y2%:.5,X|
000099a0  33 25 2c 59 33 25 3a f0  35 2c 58 34 25 2c 59 34  |3%,Y3%:.5,X4%,Y4|
000099b0  25 3a f0 35 2c 58 31 25  2c 59 31 25 0d 20 b2 29  |%:.5,X1%,Y1%. .)|
000099c0  86 20 4d 58 31 25 2b 43  58 25 2c 4d 59 31 25 2b  |. MX1%+CX%,MY1%+|
000099d0  43 59 25 2c 4d 58 32 25  2b 43 58 25 2c 4d 59 32  |CY%,MX2%+CX%,MY2|
000099e0  25 2b 43 59 25 0d 20 bc  05 e1 0d 20 c6 04 0d 20  |%+CY%. .... ... |
000099f0  d0 28 dd f2 72 6f 74 70  6f 69 6e 74 28 52 30 25  |.(..rotpoint(R0%|
00009a00  2c 52 31 25 2c 52 25 2c  f8 20 52 50 58 25 2c f8  |,R1%,R%,. RPX%,.|
00009a10  20 52 50 59 25 29 0d 20  da 9c 52 36 25 3d 28 52  | RPY%). ..R6%=(R|
00009a20  4f 54 54 41 42 25 21 28  52 25 2a 34 29 29 3e 3e  |OTTAB%!(R%*4))>>|
00009a30  31 32 3a 52 37 25 3d 28  21 28 52 4f 54 54 41 42  |12:R7%=(!(ROTTAB|
00009a40  25 2b 28 52 25 2a 34 29  2b 26 31 36 38 29 29 3e  |%+(R%*4)+&168))>|
00009a50  3e 31 32 3a 52 38 25 3d  52 30 25 2a 52 36 25 3a  |>12:R8%=R0%*R6%:|
00009a60  52 35 25 3d 52 31 25 2a  52 37 25 3a 52 38 25 2d  |R5%=R1%*R7%:R8%-|
00009a70  3d 52 35 25 3a 52 35 25  3d 52 31 25 2a 52 36 25  |=R5%:R5%=R1%*R6%|
00009a80  3a 52 31 25 3d 52 30 25  2a 52 37 25 3a 52 31 25  |:R1%=R0%*R7%:R1%|
00009a90  2b 3d 52 35 25 3a 52 50  58 25 3d 52 31 25 3e 3e  |+=R5%:RPX%=R1%>>|
00009aa0  31 38 3a 52 50 59 25 3d  2d 28 52 38 25 3e 3e 31  |18:RPY%=-(R8%>>1|
00009ab0  38 29 0d 20 e4 05 e1 0d  20 ee 04 0d 20 f8 13 dd  |8). .... ... ...|
00009ac0  a4 70 65 72 63 28 57 48  25 2c 49 48 25 29 0d 21  |.perc(WH%,IH%).!|
00009ad0  02 29 49 24 3d a4 67 65  74 69 63 6f 6e 28 57 48  |.)I$=.geticon(WH|
00009ae0  25 2c 49 48 25 29 3a 3d  bb 28 c0 49 24 2c a9 28  |%,IH%):=.(.I$,.(|
00009af0  49 24 29 2d 31 29 29 0d  21 0c 04 0d 21 16 0d dd  |I$)-1)).!...!...|
00009b00  f2 6d 61 70 6c 69 6e 65  0d 21 20 0e c8 8e 20 46  |.mapline.! ... F|
00009b10  55 43 4f 25 20 ca 0d 21  2a 44 c9 20 32 3a f2 65  |UCO% ..!*D. 2:.e|
00009b20  6f 63 3a 86 20 58 25 28  31 29 2c 59 25 28 31 29  |oc:. X%(1),Y%(1)|
00009b30  2c 4f 58 25 2c 4f 59 25  3a 4f 58 25 3d 58 25 3a  |,OX%,OY%:OX%=X%:|
00009b40  4f 59 25 3d 59 25 3a 86  20 58 25 28 31 29 2c 59  |OY%=Y%:. X%(1),Y|
00009b50  25 28 31 29 2c 58 25 2c  59 25 0d 21 34 44 c9 20  |%(1),X%,Y%.!4D. |
00009b60  33 3a f2 65 6f 63 3a 86  20 58 25 28 32 29 2c 59  |3:.eoc:. X%(2),Y|
00009b70  25 28 32 29 2c 4f 58 25  2c 4f 59 25 3a 4f 58 25  |%(2),OX%,OY%:OX%|
00009b80  3d 58 25 3a 4f 59 25 3d  59 25 3a 86 20 58 25 28  |=X%:OY%=Y%:. X%(|
00009b90  32 29 2c 59 25 28 32 29  2c 58 25 2c 59 25 0d 21  |2),Y%(2),X%,Y%.!|
00009ba0  3e 6e c9 20 34 3a f2 65  6f 63 3a 86 20 58 25 28  |>n. 4:.eoc:. X%(|
00009bb0  31 29 2c 59 25 28 31 29  2c 4f 58 25 2c 4f 59 25  |1),Y%(1),OX%,OY%|
00009bc0  3a 86 20 58 25 28 33 29  2c 59 25 28 33 29 2c 4f  |:. X%(3),Y%(3),O|
00009bd0  58 25 2c 4f 59 25 3a 4f  58 25 3d 58 25 3a 4f 59  |X%,OY%:OX%=X%:OY|
00009be0  25 3d 59 25 3a 86 20 58  25 28 31 29 2c 59 25 28  |%=Y%:. X%(1),Y%(|
00009bf0  31 29 2c 58 25 2c 59 25  3a 86 20 58 25 28 33 29  |1),X%,Y%:. X%(3)|
00009c00  2c 59 25 28 33 29 2c 58  25 2c 59 25 0d 21 48 44  |,Y%(3),X%,Y%.!HD|
00009c10  c9 20 36 3a f2 65 6f 63  3a 86 20 58 25 28 35 29  |. 6:.eoc:. X%(5)|
00009c20  2c 59 25 28 35 29 2c 4f  58 25 2c 4f 59 25 3a 4f  |,Y%(5),OX%,OY%:O|
00009c30  58 25 3d 58 25 3a 4f 59  25 3d 59 25 3a 86 20 58  |X%=X%:OY%=Y%:. X|
00009c40  25 28 35 29 2c 59 25 28  35 29 2c 58 25 2c 59 25  |%(5),Y%(5),X%,Y%|
00009c50  0d 21 52 44 c9 20 37 3a  f2 65 6f 63 3a 86 20 58  |.!RD. 7:.eoc:. X|
00009c60  25 28 36 29 2c 59 25 28  36 29 2c 4f 58 25 2c 4f  |%(6),Y%(6),OX%,O|
00009c70  59 25 3a 4f 58 25 3d 58  25 3a 4f 59 25 3d 59 25  |Y%:OX%=X%:OY%=Y%|
00009c80  3a 86 20 58 25 28 36 29  2c 59 25 28 36 29 2c 58  |:. X%(6),Y%(6),X|
00009c90  25 2c 59 25 0d 21 5c 6e  c9 20 38 3a f2 65 6f 63  |%,Y%.!\n. 8:.eoc|
00009ca0  3a 86 20 58 25 28 35 29  2c 59 25 28 35 29 2c 4f  |:. X%(5),Y%(5),O|
00009cb0  58 25 2c 4f 59 25 3a 86  20 58 25 28 37 29 2c 59  |X%,OY%:. X%(7),Y|
00009cc0  25 28 37 29 2c 4f 58 25  2c 4f 59 25 3a 4f 58 25  |%(7),OX%,OY%:OX%|
00009cd0  3d 58 25 3a 4f 59 25 3d  59 25 3a 86 20 58 25 28  |=X%:OY%=Y%:. X%(|
00009ce0  35 29 2c 59 25 28 35 29  2c 58 25 2c 59 25 3a 86  |5),Y%(5),X%,Y%:.|
00009cf0  20 58 25 28 37 29 2c 59  25 28 37 29 2c 58 25 2c  | X%(7),Y%(7),X%,|
00009d00  59 25 0d 21 66 05 cb 0d  21 70 05 e1 0d 21 7a 04  |Y%.!f...!p...!z.|
00009d10  0d 21 84 0e dd f2 70 69  78 65 6c 6d 61 70 0d 21  |.!....pixelmap.!|
00009d20  8e 2d f2 73 70 69 6e 69  74 3a f2 73 70 62 75 66  |.-.spinit:.spbuf|
00009d30  28 31 34 35 2a 31 30 32  34 29 3a e7 20 51 25 20  |(145*1024):. Q% |
00009d40  8c 20 f2 73 70 62 75 66  65 72 72 0d 21 98 0e f2  |. .spbuferr.!...|
00009d50  62 61 63 6b 75 70 70 69  63 0d 21 a2 15 c8 99 20  |backuppic.!.... |
00009d60  22 48 6f 75 72 67 6c 61  73 73 5f 4f 6e 22 0d 21  |"Hourglass_On".!|
00009d70  ac 2b 64 73 74 61 3d b6  28 28 58 25 28 36 29 2d  |.+dsta=.((X%(6)-|
00009d80  58 25 28 35 29 29 5e 32  2b 28 59 25 28 35 29 2d  |X%(5))^2+(Y%(5)-|
00009d90  59 25 28 36 29 29 5e 32  29 0d 21 b6 2b 64 73 74  |Y%(6))^2).!.+dst|
00009da0  62 3d b6 28 28 58 25 28  38 29 2d 58 25 28 37 29  |b=.((X%(8)-X%(7)|
00009db0  29 5e 32 2b 28 59 25 28  37 29 2d 59 25 28 38 29  |)^2+(Y%(7)-Y%(8)|
00009dc0  29 5e 32 29 0d 21 c0 31  e7 20 64 73 74 61 3e 64  |)^2).!.1. dsta>d|
00009dd0  73 74 62 20 8c 20 73 74  65 70 73 25 3d 64 73 74  |stb . steps%=dst|
00009de0  61 20 81 32 20 8b 20 73  74 65 70 73 25 3d 64 73  |a .2 . steps%=ds|
00009df0  74 62 20 81 32 0d 21 ca  1d 66 78 73 61 3d 28 58  |tb .2.!..fxsa=(X|
00009e00  25 28 32 29 2d 58 25 28  31 29 29 2f 73 74 65 70  |%(2)-X%(1))/step|
00009e10  73 25 0d 21 d4 1d 66 78  73 62 3d 28 58 25 28 33  |s%.!..fxsb=(X%(3|
00009e20  29 2d 58 25 28 34 29 29  2f 73 74 65 70 73 25 0d  |)-X%(4))/steps%.|
00009e30  21 de 1d 66 79 73 61 3d  28 59 25 28 32 29 2d 59  |!..fysa=(Y%(2)-Y|
00009e40  25 28 31 29 29 2f 73 74  65 70 73 25 0d 21 e8 1d  |%(1))/steps%.!..|
00009e50  66 79 73 62 3d 28 59 25  28 33 29 2d 59 25 28 34  |fysb=(Y%(3)-Y%(4|
00009e60  29 29 2f 73 74 65 70 73  25 0d 21 f2 1d 74 78 73  |))/steps%.!..txs|
00009e70  61 3d 28 58 25 28 36 29  2d 58 25 28 35 29 29 2f  |a=(X%(6)-X%(5))/|
00009e80  73 74 65 70 73 25 0d 21  fc 1d 74 78 73 62 3d 28  |steps%.!..txsb=(|
00009e90  58 25 28 37 29 2d 58 25  28 38 29 29 2f 73 74 65  |X%(7)-X%(8))/ste|
00009ea0  70 73 25 0d 22 06 1d 74  79 73 61 3d 28 59 25 28  |ps%."..tysa=(Y%(|
00009eb0  36 29 2d 59 25 28 35 29  29 2f 73 74 65 70 73 25  |6)-Y%(5))/steps%|
00009ec0  0d 22 10 1d 74 79 73 62  3d 28 59 25 28 37 29 2d  |."..tysb=(Y%(7)-|
00009ed0  59 25 28 38 29 29 2f 73  74 65 70 73 25 0d 22 1a  |Y%(8))/steps%.".|
00009ee0  14 e3 20 63 62 25 3d 30  20 b8 20 73 74 65 70 73  |.. cb%=0 . steps|
00009ef0  25 0d 22 24 16 66 78 61  3d 58 25 28 31 29 2b 63  |%."$.fxa=X%(1)+c|
00009f00  62 25 2a 66 78 73 61 0d  22 2e 16 66 78 62 3d 58  |b%*fxsa."..fxb=X|
00009f10  25 28 34 29 2b 63 62 25  2a 66 78 73 62 0d 22 38  |%(4)+cb%*fxsb."8|
00009f20  16 66 79 61 3d 59 25 28  31 29 2b 63 62 25 2a 66  |.fya=Y%(1)+cb%*f|
00009f30  79 73 61 0d 22 42 16 66  79 62 3d 59 25 28 34 29  |ysa."B.fyb=Y%(4)|
00009f40  2b 63 62 25 2a 66 79 73  62 0d 22 4c 16 74 78 61  |+cb%*fysb."L.txa|
00009f50  3d 58 25 28 35 29 2b 63  62 25 2a 74 78 73 61 0d  |=X%(5)+cb%*txsa.|
00009f60  22 56 16 74 78 62 3d 58  25 28 38 29 2b 63 62 25  |"V.txb=X%(8)+cb%|
00009f70  2a 74 78 73 62 0d 22 60  16 74 79 61 3d 59 25 28  |*txsb."`.tya=Y%(|
00009f80  35 29 2b 63 62 25 2a 74  79 73 61 0d 22 6a 16 74  |5)+cb%*tysa."j.t|
00009f90  79 62 3d 59 25 28 38 29  2b 63 62 25 2a 74 79 73  |yb=Y%(8)+cb%*tys|
00009fa0  62 0d 22 74 46 f2 69 6e  70 69 63 3a e6 33 2c 36  |b."tF.inpic:.3,6|
00009fb0  33 3a f0 36 39 2c 33 30  30 2c 33 30 30 3a f0 36  |3:.69,300,300:.6|
00009fc0  39 2c 33 30 30 2c 33 30  30 3a f2 6d 61 70 6c 6e  |9,300,300:.mapln|
00009fd0  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
00009fe0  72 61 77 6d 61 69 6e 0d  22 7e 05 ed 0d 22 88 0b  |rawmain."~..."..|
00009ff0  f2 73 70 69 6e 69 74 0d  22 92 16 c8 99 20 22 48  |.spinit.".... "H|
0000a000  6f 75 72 67 6c 61 73 73  5f 4f 66 66 22 0d 22 9c  |ourglass_Off".".|
0000a010  05 e1 0d 22 a6 04 0d 22  b0 0b dd f2 6d 61 70 6c  |..."..."....mapl|
0000a020  6e 0d 22 ba 1c ea 20 6e  73 25 2c 66 78 73 2c 66  |n."... ns%,fxs,f|
0000a030  79 73 2c 74 78 73 2c 74  79 73 2c 63 25 0d 22 c4  |ys,txs,tys,c%.".|
0000a040  27 6e 73 25 3d 31 2b b6  28 28 74 78 62 2d 74 78  |'ns%=1+.((txb-tx|
0000a050  61 29 5e 32 2b 28 74 79  61 2d 74 79 62 29 5e 32  |a)^2+(tya-tyb)^2|
0000a060  29 20 81 32 0d 22 ce 27  66 78 73 3d 28 66 78 62  |) .2.".'fxs=(fxb|
0000a070  2d 66 78 61 29 2f 6e 73  25 3a 74 78 73 3d 28 74  |-fxa)/ns%:txs=(t|
0000a080  78 62 2d 74 78 61 29 2f  6e 73 25 0d 22 d8 27 66  |xb-txa)/ns%.".'f|
0000a090  79 73 3d 28 66 79 62 2d  66 79 61 29 2f 6e 73 25  |ys=(fyb-fya)/ns%|
0000a0a0  3a 74 79 73 3d 28 74 79  62 2d 74 79 61 29 2f 6e  |:tys=(tyb-tya)/n|
0000a0b0  73 25 0d 22 e2 10 e3 20  63 25 3d 30 20 b8 20 6e  |s%."... c%=0 . n|
0000a0c0  73 25 0d 22 ec 5d c8 99  26 32 45 2c 32 39 37 2c  |s%.".]..&2E,297,|
0000a0d0  53 50 42 55 46 25 2c 22  50 49 43 22 2c 28 66 78  |SPBUF%,"PIC",(fx|
0000a0e0  61 2b 63 25 2a 66 78 73  29 81 32 2c 28 66 79 61  |a+c%*fxs).2,(fya|
0000a0f0  2b 63 25 2a 66 79 73 29  81 34 20 b8 20 2c 2c 2c  |+c%*fys).4 . ,,,|
0000a100  2c 2c 63 6f 6c 25 2c 74  69 6e 25 3a e6 20 55 53  |,,col%,tin%:. US|
0000a110  45 25 2c 63 6f 6c 25 20  c8 9c 20 74 69 6e 25 0d  |E%,col% .. tin%.|
0000a120  22 f6 41 e7 20 54 52 41  53 50 25 3f a4 66 69 6e  |".A. TRASP%?.fin|
0000a130  64 70 61 6c 65 6e 74 28  63 6f 6c 25 2c 74 69 6e  |dpalent(col%,tin|
0000a140  25 29 3d 30 20 8c 20 f0  36 39 2c 74 78 61 2b 63  |%)=0 . .69,txa+c|
0000a150  25 2a 74 78 73 2c 74 79  61 2b 63 25 2a 74 79 73  |%*txs,tya+c%*tys|
0000a160  0d 23 00 05 ed 0d 23 0a  05 e1 0d 23 14 04 0d 23  |.#....#....#...#|
0000a170  1e 13 dd f2 67 72 61 62  70 6f 6c 6c 28 46 54 25  |....grabpoll(FT%|
0000a180  29 0d 23 28 98 e7 20 46  55 53 54 25 3d 30 20 80  |).#(.. FUST%=0 .|
0000a190  20 42 55 54 25 3c 3e 30  20 8c 20 f2 70 69 63 70  | BUT%<>0 . .picp|
0000a1a0  6f 73 3a 58 25 28 30 29  3d 58 25 3a 59 25 28 30  |os:X%(0)=X%:Y%(0|
0000a1b0  29 3d 59 25 3a 46 55 53  54 25 3d 31 3a 4f 58 25  |)=Y%:FUST%=1:OX%|
0000a1c0  3d 58 25 3a 4f 59 25 3d  59 25 3a f2 69 6e 70 69  |=X%:OY%=Y%:.inpi|
0000a1d0  63 3a f2 65 6f 63 3a c8  93 20 58 25 28 30 29 2c  |c:.eoc:.. X%(0),|
0000a1e0  59 25 28 30 29 2c 4f 58  25 2d 58 25 28 30 29 2c  |Y%(0),OX%-X%(0),|
0000a1f0  4f 59 25 2d 59 25 28 30  29 3a f2 6f 75 74 70 69  |OY%-Y%(0):.outpi|
0000a200  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
0000a210  3a f2 6c 65 74 67 6f 3a  e1 0d 23 32 11 e7 20 46  |:.letgo:..#2.. F|
0000a220  55 53 54 25 3d 30 20 8c  20 e1 0d 23 3c 7b e7 20  |UST%=0 . ..#<{. |
0000a230  42 55 54 25 3d 31 20 8c  20 f2 69 6e 70 69 63 3a  |BUT%=1 . .inpic:|
0000a240  f2 65 6f 63 3a c8 93 20  58 25 28 30 29 2c 59 25  |.eoc:.. X%(0),Y%|
0000a250  28 30 29 2c 4f 58 25 2d  58 25 28 30 29 2c 4f 59  |(0),OX%-X%(0),OY|
0000a260  25 2d 59 25 28 30 29 3a  f2 70 69 63 70 6f 73 3a  |%-Y%(0):.picpos:|
0000a270  4f 58 25 3d 58 25 3a 4f  59 25 3d 59 25 3a 46 55  |OX%=X%:OY%=Y%:FU|
0000a280  53 54 25 3d 30 3a f2 6f  75 74 70 69 63 3a f2 71  |ST%=0:.outpic:.q|
0000a290  75 69 63 6b 64 72 61 77  6d 61 69 6e 3a f2 6c 65  |uickdrawmain:.le|
0000a2a0  74 67 6f 3a e1 0d 23 46  30 e7 20 42 55 54 25 3c  |tgo:..#F0. BUT%<|
0000a2b0  3e 34 20 84 20 28 4f 58  25 3d 58 25 28 30 29 20  |>4 . (OX%=X%(0) |
0000a2c0  80 20 4f 59 25 3d 59 25  28 30 29 29 20 8c 20 e5  |. OY%=Y%(0)) . .|
0000a2d0  20 8d 74 60 63 0d 23 50  b4 f2 69 6e 70 69 63 3a  | .t`c.#P..inpic:|
0000a2e0  f2 65 6f 63 3a c8 93 20  58 25 28 30 29 2c 59 25  |.eoc:.. X%(0),Y%|
0000a2f0  28 30 29 2c 4f 58 25 2d  58 25 28 30 29 2c 4f 59  |(0),OX%-X%(0),OY|
0000a300  25 2d 59 25 28 30 29 3a  f2 70 69 63 70 6f 73 3a  |%-Y%(0):.picpos:|
0000a310  f2 73 70 62 75 66 28 a4  73 70 72 69 74 65 73 69  |.spbuf(.spritesi|
0000a320  7a 65 28 58 25 2d 58 25  28 30 29 2c 59 25 2d 59  |ze(X%-X%(0),Y%-Y|
0000a330  25 28 30 29 2c 94 28 a4  68 69 67 68 28 38 2c 31  |%(0),.(.high(8,1|
0000a340  34 29 29 29 29 3a e7 20  51 25 20 8c 20 c8 93 20  |4)))):. Q% . .. |
0000a350  58 25 28 30 29 2c 59 25  28 30 29 2c 4f 58 25 2d  |X%(0),Y%(0),OX%-|
0000a360  58 25 28 30 29 2c 4f 59  25 2d 59 25 28 30 29 3a  |X%(0),OY%-Y%(0):|
0000a370  f2 6f 75 74 70 69 63 3a  f2 73 70 69 6e 69 74 3a  |.outpic:.spinit:|
0000a380  f2 73 70 62 75 66 65 72  72 0d 23 5a 80 47 52 4e  |.spbuferr.#Z.GRN|
0000a390  24 3d 22 47 52 41 42 22  3a c8 99 26 32 45 2c 32  |$="GRAB":..&2E,2|
0000a3a0  37 32 2c 53 50 42 55 46  25 2c 22 47 52 41 42 22  |72,SPBUF%,"GRAB"|
0000a3b0  2c 2c 58 25 28 30 29 2c  59 25 28 30 29 2c 58 25  |,,X%(0),Y%(0),X%|
0000a3c0  2c 59 25 3a e7 20 a4 68  69 67 68 28 38 2c 31 34  |,Y%:. .high(8,14|
0000a3d0  29 20 8c 20 c8 99 26 32  45 2c 32 38 35 2c 53 50  |) . ..&2E,285,SP|
0000a3e0  42 55 46 25 2c 22 47 52  41 42 22 3a 47 52 41 42  |BUF%,"GRAB":GRAB|
0000a3f0  4d 25 3d 38 3a f2 66 69  6c 6c 6d 61 73 6b 20 8b  |M%=8:.fillmask .|
0000a400  20 47 52 41 42 4d 25 3d  30 0d 23 64 27 47 52 57  | GRABM%=0.#d'GRW|
0000a410  49 25 3d 94 28 58 25 2d  58 25 28 30 29 29 3a 47  |I%=.(X%-X%(0)):G|
0000a420  52 48 45 25 3d 94 28 59  25 2d 59 25 28 30 29 29  |RHE%=.(Y%-Y%(0))|
0000a430  0d 23 6e 1c e7 20 58 25  3c 58 25 28 30 29 20 8c  |.#n.. X%<X%(0) .|
0000a440  20 c8 94 20 58 25 28 30  29 2c 58 25 0d 23 78 1c  | .. X%(0),X%.#x.|
0000a450  e7 20 59 25 3c 59 25 28  30 29 20 8c 20 c8 94 20  |. Y%<Y%(0) . .. |
0000a460  59 25 28 30 29 2c 59 25  0d 23 82 3a e7 20 46 54  |Y%(0),Y%.#.:. FT|
0000a470  25 3d 31 20 8c 20 c8 99  26 32 45 2c 32 39 30 2c  |%=1 . ..&2E,290,|
0000a480  53 50 42 55 46 25 2c 22  47 52 41 42 22 2c 58 25  |SPBUF%,"GRAB",X%|
0000a490  28 30 29 2c 59 25 28 30  29 2c 33 2b 47 52 41 42  |(0),Y%(0),3+GRAB|
0000a4a0  4d 25 0d 23 8c 13 f2 70  67 72 61 62 28 58 25 2c  |M%.#...pgrab(X%,|
0000a4b0  59 25 2c 33 29 0d 23 96  39 4f 58 25 3d 58 25 3a  |Y%,3).#.9OX%=X%:|
0000a4c0  4f 59 25 3d 59 25 3a f2  6f 75 74 70 69 63 3a f2  |OY%=Y%:.outpic:.|
0000a4d0  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 3a f2 6c  |quickdrawmain:.l|
0000a4e0  65 74 67 6f 3a 46 55 53  54 25 3d 32 3a e1 0d 23  |etgo:FUST%=2:..#|
0000a4f0  a0 21 f2 70 69 63 70 6f  73 3a e7 20 58 25 3d 4f  |.!.picpos:. X%=O|
0000a500  58 25 20 80 20 59 25 3d  4f 59 25 20 8c 20 e1 0d  |X% . Y%=OY% . ..|
0000a510  23 aa 78 f2 69 6e 70 69  63 3a f2 65 6f 63 3a c8  |#.x.inpic:.eoc:.|
0000a520  93 20 58 25 28 30 29 2c  59 25 28 30 29 2c 4f 58  |. X%(0),Y%(0),OX|
0000a530  25 2d 58 25 28 30 29 2c  4f 59 25 2d 59 25 28 30  |%-X%(0),OY%-Y%(0|
0000a540  29 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |):OX%=X%:OY%=Y%:|
0000a550  c8 93 20 58 25 28 30 29  2c 59 25 28 30 29 2c 58  |.. X%(0),Y%(0),X|
0000a560  25 2d 58 25 28 30 29 2c  59 25 2d 59 25 28 30 29  |%-X%(0),Y%-Y%(0)|
0000a570  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
0000a580  72 61 77 6d 61 69 6e 0d  23 b4 05 e1 0d 23 be 04  |rawmain.#....#..|
0000a590  0d 23 c8 0e dd f2 72 65  63 74 70 6f 6c 6c 0d 23  |.#....rectpoll.#|
0000a5a0  d2 98 e7 20 46 55 53 54  25 3d 30 20 80 20 42 55  |... FUST%=0 . BU|
0000a5b0  54 25 3c 3e 30 20 8c 20  f2 70 69 63 70 6f 73 3a  |T%<>0 . .picpos:|
0000a5c0  58 25 28 30 29 3d 58 25  3a 59 25 28 30 29 3d 59  |X%(0)=X%:Y%(0)=Y|
0000a5d0  25 3a 46 55 53 54 25 3d  31 3a 4f 58 25 3d 58 25  |%:FUST%=1:OX%=X%|
0000a5e0  3a 4f 59 25 3d 59 25 3a  f2 69 6e 70 69 63 3a f2  |:OY%=Y%:.inpic:.|
0000a5f0  65 6f 63 3a c8 93 20 58  25 28 30 29 2c 59 25 28  |eoc:.. X%(0),Y%(|
0000a600  30 29 2c 4f 58 25 2d 58  25 28 30 29 2c 4f 59 25  |0),OX%-X%(0),OY%|
0000a610  2d 59 25 28 30 29 3a f2  6f 75 74 70 69 63 3a f2  |-Y%(0):.outpic:.|
0000a620  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 3a f2 6c  |quickdrawmain:.l|
0000a630  65 74 67 6f 3a e1 0d 23  dc 11 e7 20 46 55 53 54  |etgo:..#... FUST|
0000a640  25 3d 30 20 8c 20 e1 0d  23 e6 7b e7 20 42 55 54  |%=0 . ..#.{. BUT|
0000a650  25 3d 31 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=1 . .inpic:.eo|
0000a660  63 3a c8 93 20 58 25 28  30 29 2c 59 25 28 30 29  |c:.. X%(0),Y%(0)|
0000a670  2c 4f 58 25 2d 58 25 28  30 29 2c 4f 59 25 2d 59  |,OX%-X%(0),OY%-Y|
0000a680  25 28 30 29 3a f2 70 69  63 70 6f 73 3a 4f 58 25  |%(0):.picpos:OX%|
0000a690  3d 58 25 3a 4f 59 25 3d  59 25 3a 46 55 53 54 25  |=X%:OY%=Y%:FUST%|
0000a6a0  3d 30 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |=0:.outpic:.quic|
0000a6b0  6b 64 72 61 77 6d 61 69  6e 3a f2 6c 65 74 67 6f  |kdrawmain:.letgo|
0000a6c0  3a e1 0d 23 f0 30 e7 20  42 55 54 25 3c 3e 34 20  |:..#.0. BUT%<>4 |
0000a6d0  84 20 28 4f 58 25 3d 58  25 28 30 29 20 80 20 4f  |. (OX%=X%(0) . O|
0000a6e0  59 25 3d 59 25 28 30 29  29 20 8c 20 e5 20 8d 54  |Y%=Y%(0)) . . .T|
0000a6f0  62 64 0d 23 fa 3a f2 69  6e 70 69 63 3a f2 65 6f  |bd.#.:.inpic:.eo|
0000a700  63 3a c8 93 20 58 25 28  30 29 2c 59 25 28 30 29  |c:.. X%(0),Y%(0)|
0000a710  2c 4f 58 25 2d 58 25 28  30 29 2c 4f 59 25 2d 59  |,OX%-X%(0),OY%-Y|
0000a720  25 28 30 29 3a f2 70 69  63 70 6f 73 0d 24 04 1c  |%(0):.picpos.$..|
0000a730  e7 20 58 25 3c 58 25 28  30 29 20 8c 20 c8 94 20  |. X%<X%(0) . .. |
0000a740  58 25 28 30 29 2c 58 25  0d 24 0e 1c e7 20 59 25  |X%(0),X%.$... Y%|
0000a750  3c 59 25 28 30 29 20 8c  20 c8 94 20 59 25 28 30  |<Y%(0) . .. Y%(0|
0000a760  29 2c 59 25 0d 24 18 39  4f 58 25 3d 58 25 3a 4f  |),Y%.$.9OX%=X%:O|
0000a770  59 25 3d 59 25 3a f2 6f  75 74 70 69 63 3a f2 71  |Y%=Y%:.outpic:.q|
0000a780  75 69 63 6b 64 72 61 77  6d 61 69 6e 3a f2 6c 65  |uickdrawmain:.le|
0000a790  74 67 6f 3a 46 55 53 54  25 3d 32 3a e1 0d 24 22  |tgo:FUST%=2:..$"|
0000a7a0  21 f2 70 69 63 70 6f 73  3a e7 20 58 25 3d 4f 58  |!.picpos:. X%=OX|
0000a7b0  25 20 80 20 59 25 3d 4f  59 25 20 8c 20 e1 0d 24  |% . Y%=OY% . ..$|
0000a7c0  2c 78 f2 69 6e 70 69 63  3a f2 65 6f 63 3a c8 93  |,x.inpic:.eoc:..|
0000a7d0  20 58 25 28 30 29 2c 59  25 28 30 29 2c 4f 58 25  | X%(0),Y%(0),OX%|
0000a7e0  2d 58 25 28 30 29 2c 4f  59 25 2d 59 25 28 30 29  |-X%(0),OY%-Y%(0)|
0000a7f0  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a c8  |:OX%=X%:OY%=Y%:.|
0000a800  93 20 58 25 28 30 29 2c  59 25 28 30 29 2c 58 25  |. X%(0),Y%(0),X%|
0000a810  2d 58 25 28 30 29 2c 59  25 2d 59 25 28 30 29 3a  |-X%(0),Y%-Y%(0):|
0000a820  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
0000a830  61 77 6d 61 69 6e 0d 24  36 05 e1 0d 24 40 04 0d  |awmain.$6...$@..|
0000a840  24 4a 18 dd f2 70 67 72  61 62 28 44 58 25 2c 44  |$J...pgrab(DX%,D|
0000a850  59 25 2c 50 4c 25 29 0d  24 54 12 58 52 3d 47 52  |Y%,PL%).$T.XR=GR|
0000a860  58 4d 25 2f 47 52 58 44  25 0d 24 5e 12 59 52 3d  |XM%/GRXD%.$^.YR=|
0000a870  47 52 59 4d 25 2f 47 52  59 44 25 0d 24 68 11 21  |GRYM%/GRYD%.$h.!|
0000a880  53 43 41 4c 45 25 3d 47  52 58 4d 25 0d 24 72 12  |SCALE%=GRXM%.$r.|
0000a890  53 43 41 4c 45 25 21 34  3d 47 52 59 4d 25 0d 24  |SCALE%!4=GRYM%.$|
0000a8a0  7c 12 53 43 41 4c 45 25  21 38 3d 47 52 58 44 25  ||.SCALE%!8=GRXD%|
0000a8b0  0d 24 86 13 53 43 41 4c  45 25 21 31 32 3d 47 52  |.$..SCALE%!12=GR|
0000a8c0  59 44 25 0d 24 90 57 c8  99 26 32 45 2c 33 30 38  |YD%.$.W..&2E,308|
0000a8d0  2c 53 50 42 55 46 25 2c  22 47 52 41 42 22 2c 44  |,SPBUF%,"GRAB",D|
0000a8e0  58 25 2d 28 28 47 52 57  49 25 20 81 20 32 29 2a  |X%-((GRWI% . 2)*|
0000a8f0  58 52 29 2c 44 59 25 2d  28 28 47 52 48 45 25 20  |XR),DY%-((GRHE% |
0000a900  81 20 32 29 2a 59 52 29  2c 50 4c 25 2b 47 52 41  |. 2)*YR),PL%+GRA|
0000a910  42 4d 25 2c 53 43 41 4c  45 25 0d 24 9a 05 e1 0d  |BM%,SCALE%.$....|
0000a920  24 a4 04 0d 24 ae 1a dd  f2 70 69 6d 70 6f 72 74  |$...$....pimport|
0000a930  28 44 58 25 2c 44 59 25  2c 50 4c 25 29 0d 24 b8  |(DX%,DY%,PL%).$.|
0000a940  21 58 52 3d 47 52 58 4d  25 2f 47 52 58 44 25 3a  |!XR=GRXM%/GRXD%:|
0000a950  59 52 3d 47 52 59 4d 25  2f 47 52 59 44 25 0d 24  |YR=GRYM%/GRYD%.$|
0000a960  c2 17 49 4f 25 21 32 30  3d 28 21 49 4f 25 29 2a  |..IO%!20=(!IO%)*|
0000a970  47 52 58 4d 25 0d 24 cc  18 49 4f 25 21 32 34 3d  |GRXM%.$..IO%!24=|
0000a980  28 49 4f 25 21 34 29 2a  47 52 59 4d 25 0d 24 d6  |(IO%!4)*GRYM%.$.|
0000a990  18 49 4f 25 21 32 38 3d  28 49 4f 25 21 38 29 2a  |.IO%!28=(IO%!8)*|
0000a9a0  47 52 58 44 25 0d 24 e0  19 49 4f 25 21 33 32 3d  |GRXD%.$..IO%!32=|
0000a9b0  28 49 4f 25 21 31 32 29  2a 47 52 59 44 25 0d 24  |(IO%!12)*GRYD%.$|
0000a9c0  ea b1 e7 20 ac 20 47 52  4d 41 25 20 8c 20 c8 99  |... . GRMA% . ..|
0000a9d0  26 32 45 2c 33 30 38 2c  53 50 42 55 46 25 2c 47  |&2E,308,SPBUF%,G|
0000a9e0  52 4e 24 2c 44 58 25 2d  28 28 49 4d 57 25 20 81  |RN$,DX%-((IMW% .|
0000a9f0  20 32 29 2a 58 52 29 2c  44 59 25 2d 28 28 49 4d  | 2)*XR),DY%-((IM|
0000aa00  48 25 20 81 20 32 29 2a  59 52 29 2c 50 4c 25 2c  |H% . 2)*YR),PL%,|
0000aa10  49 4f 25 2b 32 30 2c 49  4d 50 54 25 20 8b 20 c8  |IO%+20,IMPT% . .|
0000aa20  99 26 32 45 2c 33 30 38  2c 53 50 42 55 46 25 2c  |.&2E,308,SPBUF%,|
0000aa30  47 52 4e 24 2c 44 58 25  2d 28 28 49 4d 57 25 20  |GRN$,DX%-((IMW% |
0000aa40  81 20 32 29 2a 58 52 29  2c 44 59 25 2d 28 28 49  |. 2)*XR),DY%-((I|
0000aa50  4d 48 25 20 81 20 32 29  2a 59 52 29 2c 50 4c 25  |MH% . 2)*YR),PL%|
0000aa60  2b 38 2c 49 4f 25 2b 32  30 2c 49 4d 50 54 25 0d  |+8,IO%+20,IMPT%.|
0000aa70  24 f4 05 e1 0d 24 fe 04  0d 25 08 1b dd f2 70 61  |$....$...%....pa|
0000aa80  72 61 28 4c 54 25 2c 50  4c 25 2c 44 58 25 2c 44  |ra(LT%,PL%,DX%,D|
0000aa90  59 25 29 0d 25 12 22 e7  20 50 4c 25 3d 31 20 8c  |Y%).%.". PL%=1 .|
0000aaa0  20 f2 65 6c 69 70 28 26  37 35 2c 44 58 25 2c 44  | .elip(&75,DX%,D|
0000aab0  59 25 29 3a e1 0d 25 1c  0d e7 20 4c 54 25 3d 31  |Y%):..%... LT%=1|
0000aac0  20 8c 0d 25 26 1f f2 6c  28 58 25 28 30 29 2c 59  | ..%&..l(X%(0),Y|
0000aad0  25 28 30 29 2c 58 25 28  31 29 2c 59 25 28 31 29  |%(0),X%(1),Y%(1)|
0000aae0  29 0d 25 30 1b f2 6c 28  58 25 28 31 29 2c 59 25  |).%0..l(X%(1),Y%|
0000aaf0  28 31 29 2c 44 58 25 2c  44 59 25 29 0d 25 3a 25  |(1),DX%,DY%).%:%|
0000ab00  f0 20 4c 49 54 59 25 2d  34 2c 58 25 28 30 29 2d  |. LITY%-4,X%(0)-|
0000ab10  58 25 28 31 29 2c 59 25  28 30 29 2d 59 25 28 31  |X%(1),Y%(0)-Y%(1|
0000ab20  29 0d 25 44 17 f0 20 4c  49 54 59 25 2c 58 25 28  |).%D.. LITY%,X%(|
0000ab30  30 29 2c 59 25 28 30 29  0d 25 4e 05 cc 0d 25 58  |0),Y%(0).%N...%X|
0000ab40  1d 86 20 58 25 28 30 29  2c 59 25 28 30 29 2c 58  |.. X%(0),Y%(0),X|
0000ab50  25 28 31 29 2c 59 25 28  31 29 0d 25 62 19 86 20  |%(1),Y%(1).%b.. |
0000ab60  58 25 28 31 29 2c 59 25  28 31 29 2c 44 58 25 2c  |X%(1),Y%(1),DX%,|
0000ab70  44 59 25 0d 25 6c 1e f0  31 2c 58 25 28 30 29 2d  |DY%.%l..1,X%(0)-|
0000ab80  58 25 28 31 29 2c 59 25  28 30 29 2d 59 25 28 31  |X%(1),Y%(0)-Y%(1|
0000ab90  29 0d 25 76 12 f0 35 2c  58 25 28 30 29 2c 59 25  |).%v..5,X%(0),Y%|
0000aba0  28 30 29 0d 25 80 05 cd  0d 25 8a 05 e1 0d 25 94  |(0).%....%....%.|
0000abb0  04 0d 25 9e 17 dd f2 65  6c 69 70 28 50 4c 25 2c  |..%....elip(PL%,|
0000abc0  44 58 25 2c 44 59 25 29  0d 25 a8 11 ec 20 58 25  |DX%,DY%).%... X%|
0000abd0  28 30 29 2c 59 25 28 30  29 0d 25 b2 11 ec 20 58  |(0),Y%(0).%... X|
0000abe0  25 28 31 29 2c 59 25 28  31 29 0d 25 bc 11 f0 20  |%(1),Y%(1).%... |
0000abf0  50 4c 25 2c 44 58 25 2c  44 59 25 0d 25 c6 05 e1  |PL%,DX%,DY%.%...|
0000ac00  0d 25 d0 04 0d 25 da 16  dd f2 74 72 69 28 50 4c  |.%...%....tri(PL|
0000ac10  25 2c 44 58 25 2c 44 59  25 29 0d 25 e4 94 e7 20  |%,DX%,DY%).%... |
0000ac20  50 4c 25 3d 35 20 84 20  50 4c 25 3d 38 35 20 8c  |PL%=5 . PL%=85 .|
0000ac30  20 f0 34 2c 44 58 25 2c  44 59 25 3a f0 20 35 2c  | .4,DX%,DY%:. 5,|
0000ac40  58 25 28 30 29 2c 59 25  28 30 29 3a f0 20 35 2c  |X%(0),Y%(0):. 5,|
0000ac50  58 25 28 31 29 2c 59 25  28 31 29 3a f0 20 50 4c  |X%(1),Y%(1):. PL|
0000ac60  25 2c 44 58 25 2c 44 59  25 20 8b 20 f0 34 2c 44  |%,DX%,DY% . .4,D|
0000ac70  58 25 2c 44 59 25 3a f0  20 4c 49 54 59 25 2c 58  |X%,DY%:. LITY%,X|
0000ac80  25 28 30 29 2c 59 25 28  30 29 3a f0 20 4c 49 54  |%(0),Y%(0):. LIT|
0000ac90  59 25 2c 58 25 28 31 29  2c 59 25 28 31 29 3a f0  |Y%,X%(1),Y%(1):.|
0000aca0  20 4c 49 54 59 25 2c 44  58 25 2c 44 59 25 0d 25  | LITY%,DX%,DY%.%|
0000acb0  ee 05 e1 0d 25 f8 04 0d  26 02 37 dd a4 64 69 73  |....%...&.7..dis|
0000acc0  74 28 44 58 25 2c 44 59  25 29 3a 3d b6 28 28 28  |t(DX%,DY%):=.(((|
0000acd0  44 58 25 2d 58 25 28 30  29 29 5e 32 29 2b 28 28  |DX%-X%(0))^2)+((|
0000ace0  44 59 25 2d 59 25 28 30  29 29 5e 32 29 29 0d 26  |DY%-Y%(0))^2)).&|
0000acf0  0c 04 0d 26 16 56 dd f2  70 61 69 6e 74 62 72 75  |...&.V..paintbru|
0000ad00  73 68 28 42 58 25 2c 42  59 25 29 3a c8 99 26 32  |sh(BX%,BY%):..&2|
0000ad10  45 2c 33 30 36 2c 42 52  55 53 48 25 2c c3 28 53  |E,306,BRUSH%,.(S|
0000ad20  45 4c 42 52 25 29 2c 42  58 25 2d 28 33 32 2a 58  |ELBR%),BX%-(32*X|
0000ad30  52 29 2c 42 59 25 2d 28  33 32 2a 59 52 29 2c 2c  |R),BY%-(32*YR),,|
0000ad40  53 43 41 4c 45 25 3a e1  0d 26 20 04 0d 26 2a 45  |SCALE%:..& ..&*E|
0000ad50  dd f2 70 61 69 6e 74 62  72 75 73 68 32 28 42 58  |..paintbrush2(BX|
0000ad60  25 2c 42 59 25 29 3a c8  99 26 32 45 2c 33 30 35  |%,BY%):..&2E,305|
0000ad70  2c 42 52 55 53 48 25 2c  c3 28 53 45 4c 42 52 25  |,BRUSH%,.(SELBR%|
0000ad80  29 2c 42 58 25 2d 33 32  2c 42 59 25 2d 33 32 3a  |),BX%-32,BY%-32:|
0000ad90  e1 0d 26 34 04 0d 26 3e  22 dd f2 6c 65 74 67 6f  |..&4..&>"..letgo|
0000ada0  3a f5 3a c8 97 20 58 25  2c 59 25 2c 48 25 3a fd  |:.:.. X%,Y%,H%:.|
0000adb0  20 48 25 3d 30 3a e1 0d  26 48 04 0d 26 52 0b dd  | H%=0:..&H..&R..|
0000adc0  f2 6b 69 6c 6c 66 0d 26  5c 0e c8 8e 20 46 55 53  |.killf.&\... FUS|
0000add0  45 25 20 ca 0d 26 66 0d  f2 73 70 62 75 66 28 30  |E% ..&f..spbuf(0|
0000ade0  29 0d 26 70 4c c9 20 32  3a e7 20 46 55 53 54 25  |).&pL. 2:. FUST%|
0000adf0  3e 30 20 8c 20 f2 69 6e  70 69 63 3a f2 65 6f 63  |>0 . .inpic:.eoc|
0000ae00  3a 86 20 58 25 28 30 29  2c 59 25 28 30 29 2c 4f  |:. X%(0),Y%(0),O|
0000ae10  58 25 2c 4f 59 25 3a f2  6f 75 74 70 69 63 3a f2  |X%,OY%:.outpic:.|
0000ae20  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 0d 26 7a  |quickdrawmain.&z|
0000ae30  15 c9 20 33 3a f2 63 6c  6f 73 65 77 69 6e 64 28  |.. 3:.closewind(|
0000ae40  34 29 0d 26 84 69 c9 20  34 3a f2 63 6c 6f 73 65  |4).&.i. 4:.close|
0000ae50  77 69 6e 64 28 35 29 3a  e7 20 46 55 53 54 25 3e  |wind(5):. FUST%>|
0000ae60  30 20 8c 20 f2 69 6e 70  69 63 3a f2 70 61 69 6e  |0 . .inpic:.pain|
0000ae70  74 73 63 61 6c 65 3a f2  65 6f 72 62 61 63 6b 3a  |tscale:.eorback:|
0000ae80  f2 70 61 69 6e 74 62 72  75 73 68 28 4f 58 25 2c  |.paintbrush(OX%,|
0000ae90  4f 59 25 29 3a f2 6f 75  74 70 69 63 3a f2 71 75  |OY%):.outpic:.qu|
0000aea0  69 63 6b 64 72 61 77 6d  61 69 6e 0d 26 8e 59 c9  |ickdrawmain.&.Y.|
0000aeb0  20 35 3a e7 20 46 55 53  54 25 3d 31 20 8c 20 f2  | 5:. FUST%=1 . .|
0000aec0  69 6e 70 69 63 3a f2 65  6f 63 3a c8 93 20 58 25  |inpic:.eoc:.. X%|
0000aed0  28 30 29 2c 59 25 28 30  29 2c 4f 58 25 2d 58 25  |(0),Y%(0),OX%-X%|
0000aee0  28 30 29 2c 4f 59 25 2d  59 25 28 30 29 3a f2 6f  |(0),OY%-Y%(0):.o|
0000aef0  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
0000af00  6d 61 69 6e 0d 26 98 5c  c9 20 36 3a e7 20 46 55  |main.&.\. 6:. FU|
0000af10  53 54 25 3d 31 20 8c 20  f2 69 6e 70 69 63 3a f2  |ST%=1 . .inpic:.|
0000af20  65 6f 63 3a c8 93 20 c8  90 20 58 25 28 30 29 2c  |eoc:.. .. X%(0),|
0000af30  59 25 28 30 29 2c 4f 58  25 2d 58 25 28 30 29 2c  |Y%(0),OX%-X%(0),|
0000af40  4f 59 25 2d 59 25 28 30  29 3a f2 6f 75 74 70 69  |OY%-Y%(0):.outpi|
0000af50  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
0000af60  0d 26 a2 54 c9 20 37 3a  e7 20 46 55 53 54 25 3d  |.&.T. 7:. FUST%=|
0000af70  31 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |1 . .inpic:.eoc:|
0000af80  c8 8f 20 58 25 28 30 29  2c 59 25 28 30 29 2c a4  |.. X%(0),Y%(0),.|
0000af90  64 69 73 74 28 4f 58 25  2c 4f 59 25 29 3a f2 6f  |dist(OX%,OY%):.o|
0000afa0  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
0000afb0  6d 61 69 6e 0d 26 ac 57  c9 20 38 3a e7 20 46 55  |main.&.W. 8:. FU|
0000afc0  53 54 25 3d 31 20 8c 20  f2 69 6e 70 69 63 3a f2  |ST%=1 . .inpic:.|
0000afd0  65 6f 63 3a c8 8f 20 c8  90 20 58 25 28 30 29 2c  |eoc:.. .. X%(0),|
0000afe0  59 25 28 30 29 2c a4 64  69 73 74 28 4f 58 25 2c  |Y%(0),.dist(OX%,|
0000aff0  4f 59 25 29 3a f2 6f 75  74 70 69 63 3a f2 71 75  |OY%):.outpic:.qu|
0000b000  69 63 6b 64 72 61 77 6d  61 69 6e 0d 26 b6 4c c9  |ickdrawmain.&.L.|
0000b010  20 39 3a e7 20 46 55 53  54 25 3d 31 20 8c 20 f2  | 9:. FUST%=1 . .|
0000b020  69 6e 70 69 63 3a f2 65  6f 63 3a 86 20 58 25 28  |inpic:.eoc:. X%(|
0000b030  30 29 2c 59 25 28 30 29  2c 4f 58 25 2c 4f 59 25  |0),Y%(0),OX%,OY%|
0000b040  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
0000b050  72 61 77 6d 61 69 6e 0d  26 c0 42 e7 20 46 55 53  |rawmain.&.B. FUS|
0000b060  54 25 3d 32 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=2 . .inpic:.e|
0000b070  6f 63 3a f2 74 72 69 28  35 2c 4f 58 25 2c 4f 59  |oc:.tri(5,OX%,OY|
0000b080  25 29 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |%):.outpic:.quic|
0000b090  6b 64 72 61 77 6d 61 69  6e 0d 26 ca 4d c9 20 31  |kdrawmain.&.M. 1|
0000b0a0  30 3a e7 20 46 55 53 54  25 3d 31 20 8c 20 f2 69  |0:. FUST%=1 . .i|
0000b0b0  6e 70 69 63 3a f2 65 6f  63 3a 86 20 58 25 28 30  |npic:.eoc:. X%(0|
0000b0c0  29 2c 59 25 28 30 29 2c  4f 58 25 2c 4f 59 25 3a  |),Y%(0),OX%,OY%:|
0000b0d0  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
0000b0e0  61 77 6d 61 69 6e 0d 26  d4 43 e7 20 46 55 53 54  |awmain.&.C. FUST|
0000b0f0  25 3d 32 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=2 . .inpic:.eo|
0000b100  63 3a f2 74 72 69 28 38  35 2c 4f 58 25 2c 4f 59  |c:.tri(85,OX%,OY|
0000b110  25 29 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |%):.outpic:.quic|
0000b120  6b 64 72 61 77 6d 61 69  6e 0d 26 de 4d c9 20 31  |kdrawmain.&.M. 1|
0000b130  31 3a e7 20 46 55 53 54  25 3d 31 20 8c 20 f2 69  |1:. FUST%=1 . .i|
0000b140  6e 70 69 63 3a f2 65 6f  63 3a 86 20 58 25 28 30  |npic:.eoc:. X%(0|
0000b150  29 2c 59 25 28 30 29 2c  4f 58 25 2c 4f 59 25 3a  |),Y%(0),OX%,OY%:|
0000b160  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
0000b170  61 77 6d 61 69 6e 0d 26  e8 45 e7 20 46 55 53 54  |awmain.&.E. FUST|
0000b180  25 3d 32 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=2 . .inpic:.eo|
0000b190  63 3a f2 65 6c 69 70 28  26 43 35 2c 4f 58 25 2c  |c:.elip(&C5,OX%,|
0000b1a0  4f 59 25 29 3a f2 6f 75  74 70 69 63 3a f2 71 75  |OY%):.outpic:.qu|
0000b1b0  69 63 6b 64 72 61 77 6d  61 69 6e 0d 26 f2 4d c9  |ickdrawmain.&.M.|
0000b1c0  20 31 32 3a e7 20 46 55  53 54 25 3d 31 20 8c 20  | 12:. FUST%=1 . |
0000b1d0  f2 69 6e 70 69 63 3a f2  65 6f 63 3a 86 20 58 25  |.inpic:.eoc:. X%|
0000b1e0  28 30 29 2c 59 25 28 30  29 2c 4f 58 25 2c 4f 59  |(0),Y%(0),OX%,OY|
0000b1f0  25 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |%:.outpic:.quick|
0000b200  64 72 61 77 6d 61 69 6e  0d 26 fc 45 e7 20 46 55  |drawmain.&.E. FU|
0000b210  53 54 25 3d 32 20 8c 20  f2 69 6e 70 69 63 3a f2  |ST%=2 . .inpic:.|
0000b220  65 6f 63 3a f2 65 6c 69  70 28 26 43 44 2c 4f 58  |eoc:.elip(&CD,OX|
0000b230  25 2c 4f 59 25 29 3a f2  6f 75 74 70 69 63 3a f2  |%,OY%):.outpic:.|
0000b240  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 0d 27 06  |quickdrawmain.'.|
0000b250  4d c9 20 31 33 3a e7 20  46 55 53 54 25 3d 31 20  |M. 13:. FUST%=1 |
0000b260  8c 20 f2 69 6e 70 69 63  3a f2 65 6f 63 3a 86 20  |. .inpic:.eoc:. |
0000b270  58 25 28 30 29 2c 59 25  28 30 29 2c 4f 58 25 2c  |X%(0),Y%(0),OX%,|
0000b280  4f 59 25 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |OY%:.outpic:.qui|
0000b290  63 6b 64 72 61 77 6d 61  69 6e 0d 27 10 45 e7 20  |ckdrawmain.'.E. |
0000b2a0  46 55 53 54 25 3d 32 20  8c 20 f2 69 6e 70 69 63  |FUST%=2 . .inpic|
0000b2b0  3a f2 65 6f 63 3a f2 70  61 72 61 28 30 2c 30 2c  |:.eoc:.para(0,0,|
0000b2c0  4f 58 25 2c 4f 59 25 29  3a f2 6f 75 74 70 69 63  |OX%,OY%):.outpic|
0000b2d0  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 0d  |:.quickdrawmain.|
0000b2e0  27 1a 4d c9 20 31 34 3a  e7 20 46 55 53 54 25 3d  |'.M. 14:. FUST%=|
0000b2f0  31 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |1 . .inpic:.eoc:|
0000b300  86 20 58 25 28 30 29 2c  59 25 28 30 29 2c 4f 58  |. X%(0),Y%(0),OX|
0000b310  25 2c 4f 59 25 3a f2 6f  75 74 70 69 63 3a f2 71  |%,OY%:.outpic:.q|
0000b320  75 69 63 6b 64 72 61 77  6d 61 69 6e 0d 27 24 45  |uickdrawmain.'$E|
0000b330  e7 20 46 55 53 54 25 3d  32 20 8c 20 f2 69 6e 70  |. FUST%=2 . .inp|
0000b340  69 63 3a f2 65 6f 63 3a  f2 70 61 72 61 28 30 2c  |ic:.eoc:.para(0,|
0000b350  31 2c 4f 58 25 2c 4f 59  25 29 3a f2 6f 75 74 70  |1,OX%,OY%):.outp|
0000b360  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
0000b370  6e 0d 27 2e 4d c9 20 31  35 3a e7 20 46 55 53 54  |n.'.M. 15:. FUST|
0000b380  25 3d 31 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=1 . .inpic:.eo|
0000b390  63 3a 86 20 58 25 28 30  29 2c 59 25 28 30 29 2c  |c:. X%(0),Y%(0),|
0000b3a0  4f 58 25 2c 4f 59 25 3a  f2 6f 75 74 70 69 63 3a  |OX%,OY%:.outpic:|
0000b3b0  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 0d 27  |.quickdrawmain.'|
0000b3c0  38 45 e7 20 46 55 53 54  25 3d 32 20 8c 20 f2 69  |8E. FUST%=2 . .i|
0000b3d0  6e 70 69 63 3a f2 65 6f  63 3a f2 65 6c 69 70 28  |npic:.eoc:.elip(|
0000b3e0  26 41 35 2c 4f 58 25 2c  4f 59 25 29 3a f2 6f 75  |&A5,OX%,OY%):.ou|
0000b3f0  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
0000b400  61 69 6e 0d 27 42 4d c9  20 31 36 3a e7 20 46 55  |ain.'BM. 16:. FU|
0000b410  53 54 25 3d 31 20 8c 20  f2 69 6e 70 69 63 3a f2  |ST%=1 . .inpic:.|
0000b420  65 6f 63 3a 86 20 58 25  28 30 29 2c 59 25 28 30  |eoc:. X%(0),Y%(0|
0000b430  29 2c 4f 58 25 2c 4f 59  25 3a f2 6f 75 74 70 69  |),OX%,OY%:.outpi|
0000b440  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
0000b450  0d 27 4c 45 e7 20 46 55  53 54 25 3d 32 20 8c 20  |.'LE. FUST%=2 . |
0000b460  f2 69 6e 70 69 63 3a f2  65 6f 63 3a f2 65 6c 69  |.inpic:.eoc:.eli|
0000b470  70 28 26 42 35 2c 4f 58  25 2c 4f 59 25 29 3a f2  |p(&B5,OX%,OY%):.|
0000b480  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
0000b490  77 6d 61 69 6e 0d 27 56  4d c9 20 31 37 3a e7 20  |wmain.'VM. 17:. |
0000b4a0  46 55 53 54 25 3d 31 20  8c 20 f2 69 6e 70 69 63  |FUST%=1 . .inpic|
0000b4b0  3a f2 65 6f 63 3a 86 20  58 25 28 30 29 2c 59 25  |:.eoc:. X%(0),Y%|
0000b4c0  28 30 29 2c 4f 58 25 2c  4f 59 25 3a f2 6f 75 74  |(0),OX%,OY%:.out|
0000b4d0  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
0000b4e0  69 6e 0d 27 60 45 e7 20  46 55 53 54 25 3d 32 20  |in.'`E. FUST%=2 |
0000b4f0  8c 20 f2 69 6e 70 69 63  3a f2 65 6f 63 3a f2 65  |. .inpic:.eoc:.e|
0000b500  6c 69 70 28 26 41 44 2c  4f 58 25 2c 4f 59 25 29  |lip(&AD,OX%,OY%)|
0000b510  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
0000b520  72 61 77 6d 61 69 6e 0d  27 6a 68 c9 20 31 38 3a  |rawmain.'jh. 18:|
0000b530  f2 63 6c 6f 73 65 77 69  6e 64 28 38 29 3a e7 20  |.closewind(8):. |
0000b540  46 55 53 54 25 3d 31 20  8c 20 f2 69 6e 70 69 63  |FUST%=1 . .inpic|
0000b550  3a f2 65 6f 63 3a c8 93  20 58 25 28 30 29 2c 59  |:.eoc:.. X%(0),Y|
0000b560  25 28 30 29 2c 4f 58 25  2d 58 25 28 30 29 2c 4f  |%(0),OX%-X%(0),O|
0000b570  59 25 2d 59 25 28 30 29  3a f2 6f 75 74 70 69 63  |Y%-Y%(0):.outpic|
0000b580  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 0d  |:.quickdrawmain.|
0000b590  27 74 47 e7 20 46 55 53  54 25 3d 32 20 8c 20 f2  |'tG. FUST%=2 . .|
0000b5a0  69 6e 70 69 63 3a f2 70  67 72 61 62 28 4f 58 25  |inpic:.pgrab(OX%|
0000b5b0  2c 4f 59 25 2c 33 29 3a  f2 6f 75 74 70 69 63 3a  |,OY%,3):.outpic:|
0000b5c0  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 3a f2  |.quickdrawmain:.|
0000b5d0  73 70 69 6e 69 74 0d 27  7e 68 c9 20 31 39 3a f2  |spinit.'~h. 19:.|
0000b5e0  63 6c 6f 73 65 77 69 6e  64 28 38 29 3a e7 20 46  |closewind(8):. F|
0000b5f0  55 53 54 25 3d 31 20 8c  20 f2 69 6e 70 69 63 3a  |UST%=1 . .inpic:|
0000b600  f2 65 6f 63 3a c8 93 20  58 25 28 30 29 2c 59 25  |.eoc:.. X%(0),Y%|
0000b610  28 30 29 2c 4f 58 25 2d  58 25 28 30 29 2c 4f 59  |(0),OX%-X%(0),OY|
0000b620  25 2d 59 25 28 30 29 3a  f2 6f 75 74 70 69 63 3a  |%-Y%(0):.outpic:|
0000b630  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 0d 27  |.quickdrawmain.'|
0000b640  88 47 e7 20 46 55 53 54  25 3d 32 20 8c 20 f2 69  |.G. FUST%=2 . .i|
0000b650  6e 70 69 63 3a f2 70 67  72 61 62 28 4f 58 25 2c  |npic:.pgrab(OX%,|
0000b660  4f 59 25 2c 33 29 3a f2  6f 75 74 70 69 63 3a f2  |OY%,3):.outpic:.|
0000b670  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 3a f2 73  |quickdrawmain:.s|
0000b680  70 69 6e 69 74 0d 27 92  5a c9 20 32 30 3a e7 20  |pinit.'.Z. 20:. |
0000b690  46 55 53 54 25 3d 31 20  8c 20 f2 69 6e 70 69 63  |FUST%=1 . .inpic|
0000b6a0  3a f2 65 6f 63 3a c8 93  20 58 25 28 30 29 2c 59  |:.eoc:.. X%(0),Y|
0000b6b0  25 28 30 29 2c 4f 58 25  2d 58 25 28 30 29 2c 4f  |%(0),OX%-X%(0),O|
0000b6c0  59 25 2d 59 25 28 30 29  3a f2 6f 75 74 70 69 63  |Y%-Y%(0):.outpic|
0000b6d0  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 0d  |:.quickdrawmain.|
0000b6e0  27 9c 5a c9 20 32 31 3a  e7 20 46 55 53 54 25 3d  |'.Z. 21:. FUST%=|
0000b6f0  31 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |1 . .inpic:.eoc:|
0000b700  c8 93 20 58 25 28 30 29  2c 59 25 28 30 29 2c 4f  |.. X%(0),Y%(0),O|
0000b710  58 25 2d 58 25 28 30 29  2c 4f 59 25 2d 59 25 28  |X%-X%(0),OY%-Y%(|
0000b720  30 29 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |0):.outpic:.quic|
0000b730  6b 64 72 61 77 6d 61 69  6e 0d 27 a6 5a c9 20 32  |kdrawmain.'.Z. 2|
0000b740  32 3a e7 20 46 55 53 54  25 3d 31 20 8c 20 f2 69  |2:. FUST%=1 . .i|
0000b750  6e 70 69 63 3a f2 65 6f  63 3a c8 93 20 58 25 28  |npic:.eoc:.. X%(|
0000b760  30 29 2c 59 25 28 30 29  2c 4f 58 25 2d 58 25 28  |0),Y%(0),OX%-X%(|
0000b770  30 29 2c 4f 59 25 2d 59  25 28 30 29 3a f2 6f 75  |0),OY%-Y%(0):.ou|
0000b780  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
0000b790  61 69 6e 0d 27 b0 a0 c9  20 32 33 3a f2 63 6c 6f  |ain.'... 23:.clo|
0000b7a0  73 65 77 69 6e 64 28 38  29 3a e7 20 46 55 43 4f  |sewind(8):. FUCO|
0000b7b0  25 3d 31 20 80 20 46 55  53 54 25 3d 31 20 8c 20  |%=1 . FUST%=1 . |
0000b7c0  f2 69 6e 70 69 63 3a f2  65 6f 63 3a c8 93 20 58  |.inpic:.eoc:.. X|
0000b7d0  25 28 31 29 2c 59 25 28  31 29 2c 58 25 28 32 29  |%(1),Y%(1),X%(2)|
0000b7e0  2d 58 25 28 31 29 2c 59  25 28 32 29 2d 59 25 28  |-X%(1),Y%(2)-Y%(|
0000b7f0  31 29 3a c8 93 20 58 25  28 30 29 2c 59 25 28 30  |1):.. X%(0),Y%(0|
0000b800  29 2c 4f 58 25 2d 58 25  28 30 29 2c 4f 59 25 2d  |),OX%-X%(0),OY%-|
0000b810  59 25 28 30 29 3a f2 6f  75 74 70 69 63 3a f2 71  |Y%(0):.outpic:.q|
0000b820  75 69 63 6b 64 72 61 77  6d 61 69 6e 3a e5 20 8d  |uickdrawmain:. .|
0000b830  54 58 69 0d 27 ba 60 e7  20 46 55 43 4f 25 3d 31  |TXi.'.`. FUCO%=1|
0000b840  20 8c 20 f2 69 6e 70 69  63 3a f2 65 6f 63 3a c8  | . .inpic:.eoc:.|
0000b850  93 20 58 25 28 31 29 2c  59 25 28 31 29 2c 58 25  |. X%(1),Y%(1),X%|
0000b860  28 32 29 2d 58 25 28 31  29 2c 59 25 28 32 29 2d  |(2)-X%(1),Y%(2)-|
0000b870  59 25 28 31 29 3a f2 6f  75 74 70 69 63 3a f2 71  |Y%(1):.outpic:.q|
0000b880  75 69 63 6b 64 72 61 77  6d 61 69 6e 3a e5 20 8d  |uickdrawmain:. .|
0000b890  54 58 69 0d 27 c4 55 e7  20 46 55 53 54 25 3d 31  |TXi.'.U. FUST%=1|
0000b8a0  20 8c 20 f2 69 6e 70 69  63 3a f2 65 6f 63 3a c8  | . .inpic:.eoc:.|
0000b8b0  93 20 58 25 28 30 29 2c  59 25 28 30 29 2c 4f 58  |. X%(0),Y%(0),OX|
0000b8c0  25 2d 58 25 28 30 29 2c  4f 59 25 2d 59 25 28 30  |%-X%(0),OY%-Y%(0|
0000b8d0  29 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |):.outpic:.quick|
0000b8e0  64 72 61 77 6d 61 69 6e  0d 27 ce 0f c9 20 32 35  |drawmain.'... 25|
0000b8f0  3a f2 69 6e 70 69 63 0d  27 d8 08 f2 65 6f 63 0d  |:.inpic.'...eoc.|
0000b900  27 e2 0e c8 8e 20 46 55  43 4f 25 20 ca 0d 27 ec  |'.... FUCO% ..'.|
0000b910  1b c9 20 32 3a 86 20 58  25 28 31 29 2c 59 25 28  |.. 2:. X%(1),Y%(|
0000b920  31 29 2c 58 25 2c 59 25  0d 27 f6 35 c9 20 33 3a  |1),X%,Y%.'.5. 3:|
0000b930  86 20 58 25 28 31 29 2c  59 25 28 31 29 2c 58 25  |. X%(1),Y%(1),X%|
0000b940  28 32 29 2c 59 25 28 32  29 3a 86 20 58 25 28 32  |(2),Y%(2):. X%(2|
0000b950  29 2c 59 25 28 32 29 2c  58 25 2c 59 25 0d 28 00  |),Y%(2),X%,Y%.(.|
0000b960  63 c9 20 34 3a 86 20 58  25 28 31 29 2c 59 25 28  |c. 4:. X%(1),Y%(|
0000b970  31 29 2c 58 25 28 32 29  2c 59 25 28 32 29 3a 86  |1),X%(2),Y%(2):.|
0000b980  20 58 25 28 32 29 2c 59  25 28 32 29 2c 58 25 28  | X%(2),Y%(2),X%(|
0000b990  33 29 2c 59 25 28 33 29  3a 86 20 58 25 28 33 29  |3),Y%(3):. X%(3)|
0000b9a0  2c 59 25 28 33 29 2c 58  25 2c 59 25 3a 86 20 58  |,Y%(3),X%,Y%:. X|
0000b9b0  25 2c 59 25 2c 58 25 28  31 29 2c 59 25 28 31 29  |%,Y%,X%(1),Y%(1)|
0000b9c0  0d 28 0a 6f c9 20 35 3a  86 20 58 25 28 31 29 2c  |.(.o. 5:. X%(1),|
0000b9d0  59 25 28 31 29 2c 58 25  28 32 29 2c 59 25 28 32  |Y%(1),X%(2),Y%(2|
0000b9e0  29 3a 86 20 58 25 28 32  29 2c 59 25 28 32 29 2c  |):. X%(2),Y%(2),|
0000b9f0  58 25 28 33 29 2c 59 25  28 33 29 3a 86 20 58 25  |X%(3),Y%(3):. X%|
0000ba00  28 33 29 2c 59 25 28 33  29 2c 58 25 28 34 29 2c  |(3),Y%(3),X%(4),|
0000ba10  59 25 28 34 29 3a 86 20  58 25 28 34 29 2c 59 25  |Y%(4):. X%(4),Y%|
0000ba20  28 34 29 2c 58 25 28 31  29 2c 59 25 28 31 29 0d  |(4),X%(1),Y%(1).|
0000ba30  28 14 83 c9 20 36 3a 86  20 58 25 28 31 29 2c 59  |(... 6:. X%(1),Y|
0000ba40  25 28 31 29 2c 58 25 28  32 29 2c 59 25 28 32 29  |%(1),X%(2),Y%(2)|
0000ba50  3a 86 20 58 25 28 32 29  2c 59 25 28 32 29 2c 58  |:. X%(2),Y%(2),X|
0000ba60  25 28 33 29 2c 59 25 28  33 29 3a 86 20 58 25 28  |%(3),Y%(3):. X%(|
0000ba70  33 29 2c 59 25 28 33 29  2c 58 25 28 34 29 2c 59  |3),Y%(3),X%(4),Y|
0000ba80  25 28 34 29 3a 86 20 58  25 28 34 29 2c 59 25 28  |%(4):. X%(4),Y%(|
0000ba90  34 29 2c 58 25 28 31 29  2c 59 25 28 31 29 3a 86  |4),X%(1),Y%(1):.|
0000baa0  20 58 25 28 35 29 2c 59  25 28 35 29 2c 58 25 2c  | X%(5),Y%(5),X%,|
0000bab0  59 25 0d 28 1e 9d c9 20  37 3a 86 20 58 25 28 31  |Y%.(... 7:. X%(1|
0000bac0  29 2c 59 25 28 31 29 2c  58 25 28 32 29 2c 59 25  |),Y%(1),X%(2),Y%|
0000bad0  28 32 29 3a 86 20 58 25  28 32 29 2c 59 25 28 32  |(2):. X%(2),Y%(2|
0000bae0  29 2c 58 25 28 33 29 2c  59 25 28 33 29 3a 86 20  |),X%(3),Y%(3):. |
0000baf0  58 25 28 33 29 2c 59 25  28 33 29 2c 58 25 28 34  |X%(3),Y%(3),X%(4|
0000bb00  29 2c 59 25 28 34 29 3a  86 20 58 25 28 34 29 2c  |),Y%(4):. X%(4),|
0000bb10  59 25 28 34 29 2c 58 25  28 31 29 2c 59 25 28 31  |Y%(4),X%(1),Y%(1|
0000bb20  29 3a 86 20 58 25 28 35  29 2c 59 25 28 35 29 2c  |):. X%(5),Y%(5),|
0000bb30  58 25 28 36 29 2c 59 25  28 36 29 3a 86 20 58 25  |X%(6),Y%(6):. X%|
0000bb40  28 36 29 2c 59 25 28 36  29 2c 58 25 2c 59 25 0d  |(6),Y%(6),X%,Y%.|
0000bb50  28 28 cb c9 20 38 3a 86  20 58 25 28 31 29 2c 59  |((.. 8:. X%(1),Y|
0000bb60  25 28 31 29 2c 58 25 28  32 29 2c 59 25 28 32 29  |%(1),X%(2),Y%(2)|
0000bb70  3a 86 20 58 25 28 32 29  2c 59 25 28 32 29 2c 58  |:. X%(2),Y%(2),X|
0000bb80  25 28 33 29 2c 59 25 28  33 29 3a 86 20 58 25 28  |%(3),Y%(3):. X%(|
0000bb90  33 29 2c 59 25 28 33 29  2c 58 25 28 34 29 2c 59  |3),Y%(3),X%(4),Y|
0000bba0  25 28 34 29 3a 86 20 58  25 28 34 29 2c 59 25 28  |%(4):. X%(4),Y%(|
0000bbb0  34 29 2c 58 25 28 31 29  2c 59 25 28 31 29 3a 86  |4),X%(1),Y%(1):.|
0000bbc0  20 58 25 28 35 29 2c 59  25 28 35 29 2c 58 25 28  | X%(5),Y%(5),X%(|
0000bbd0  36 29 2c 59 25 28 36 29  3a 86 20 58 25 28 36 29  |6),Y%(6):. X%(6)|
0000bbe0  2c 59 25 28 36 29 2c 58  25 28 37 29 2c 59 25 28  |,Y%(6),X%(7),Y%(|
0000bbf0  37 29 3a 86 20 58 25 28  37 29 2c 59 25 28 37 29  |7):. X%(7),Y%(7)|
0000bc00  2c 58 25 2c 59 25 3a 86  20 58 25 28 35 29 2c 59  |,X%,Y%:. X%(5),Y|
0000bc10  25 28 35 29 2c 58 25 2c  59 25 0d 28 32 05 cb 0d  |%(5),X%,Y%.(2...|
0000bc20  28 3c 29 46 55 43 4f 25  3d 31 3a f2 6f 75 74 70  |(<)FUCO%=1:.outp|
0000bc30  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
0000bc40  6e 3a f2 6c 65 74 67 6f  0d 28 46 5a c9 20 32 37  |n:.letgo.(FZ. 27|
0000bc50  3a e7 20 46 55 53 54 25  3d 31 20 8c 20 f2 69 6e  |:. FUST%=1 . .in|
0000bc60  70 69 63 3a f2 65 6f 63  3a c8 93 20 58 25 28 30  |pic:.eoc:.. X%(0|
0000bc70  29 2c 59 25 28 30 29 2c  4f 58 25 2d 58 25 28 30  |),Y%(0),OX%-X%(0|
0000bc80  29 2c 4f 59 25 2d 59 25  28 30 29 3a f2 6f 75 74  |),OY%-Y%(0):.out|
0000bc90  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
0000bca0  69 6e 0d 28 50 5a c9 20  32 38 3a e7 20 46 55 53  |in.(PZ. 28:. FUS|
0000bcb0  54 25 3d 31 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=1 . .inpic:.e|
0000bcc0  6f 63 3a c8 93 20 58 25  28 30 29 2c 59 25 28 30  |oc:.. X%(0),Y%(0|
0000bcd0  29 2c 4f 58 25 2d 58 25  28 30 29 2c 4f 59 25 2d  |),OX%-X%(0),OY%-|
0000bce0  59 25 28 30 29 3a f2 6f  75 74 70 69 63 3a f2 71  |Y%(0):.outpic:.q|
0000bcf0  75 69 63 6b 64 72 61 77  6d 61 69 6e 0d 28 5a 6b  |uickdrawmain.(Zk|
0000bd00  c9 20 32 39 3a f2 63 6c  6f 73 65 77 69 6e 64 28  |. 29:.closewind(|
0000bd10  35 29 3a e7 20 46 55 53  54 25 3e 30 20 8c 20 f2  |5):. FUST%>0 . .|
0000bd20  69 6e 70 69 63 3a f2 70  61 69 6e 74 73 63 61 6c  |inpic:.paintscal|
0000bd30  65 32 3a f2 65 6f 72 62  61 63 6b 3a f2 70 61 69  |e2:.eorback:.pai|
0000bd40  6e 74 62 72 75 73 68 28  4f 58 25 2c 4f 59 25 29  |ntbrush(OX%,OY%)|
0000bd50  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
0000bd60  72 61 77 6d 61 69 6e 0d  28 64 6b c9 20 33 30 3a  |rawmain.(dk. 30:|
0000bd70  f2 63 6c 6f 73 65 77 69  6e 64 28 35 29 3a e7 20  |.closewind(5):. |
0000bd80  46 55 53 54 25 3e 30 20  8c 20 f2 69 6e 70 69 63  |FUST%>0 . .inpic|
0000bd90  3a f2 70 61 69 6e 74 73  63 61 6c 65 32 3a f2 65  |:.paintscale2:.e|
0000bda0  6f 72 62 61 63 6b 3a f2  70 61 69 6e 74 62 72 75  |orback:.paintbru|
0000bdb0  73 68 28 4f 58 25 2c 4f  59 25 29 3a f2 6f 75 74  |sh(OX%,OY%):.out|
0000bdc0  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
0000bdd0  69 6e 0d 28 6e 4e c9 20  33 32 3a f2 72 65 73 74  |in.(nN. 32:.rest|
0000bde0  70 69 63 3a f2 66 6f 72  63 65 64 72 61 77 6d 61  |pic:.forcedrawma|
0000bdf0  69 6e 3a f2 63 6c 6f 73  65 77 69 6e 64 28 31 34  |in:.closewind(14|
0000be00  29 3a f2 73 70 69 6e 69  74 3a e7 20 46 4f 4e 54  |):.spinit:. FONT|
0000be10  25 3c 3e 30 20 8c 20 f2  6c 6f 73 65 66 6f 6e 74  |%<>0 . .losefont|
0000be20  0d 28 78 14 c9 20 33 31  3a e7 20 47 52 54 59 25  |.(x.. 31:. GRTY%|
0000be30  3d 31 20 8c 0d 28 82 55  e7 20 46 55 53 54 25 3d  |=1 ..(.U. FUST%=|
0000be40  31 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |1 . .inpic:.eoc:|
0000be50  c8 93 20 58 25 28 30 29  2c 59 25 28 30 29 2c 4f  |.. X%(0),Y%(0),O|
0000be60  58 25 2d 58 25 28 30 29  2c 4f 59 25 2d 59 25 28  |X%-X%(0),OY%-Y%(|
0000be70  30 29 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |0):.outpic:.quic|
0000be80  6b 64 72 61 77 6d 61 69  6e 0d 28 8c 05 cd 0d 28  |kdrawmain.(....(|
0000be90  96 71 c9 20 33 33 3a f2  63 6c 6f 73 65 77 69 6e  |.q. 33:.closewin|
0000bea0  64 28 31 38 29 3a f2 73  70 69 6e 69 74 3a e7 20  |d(18):.spinit:. |
0000beb0  46 55 53 54 25 3d 31 20  8c 20 f2 69 6e 70 69 63  |FUST%=1 . .inpic|
0000bec0  3a f2 65 6f 63 3a c8 93  20 58 25 28 30 29 2c 59  |:.eoc:.. X%(0),Y|
0000bed0  25 28 30 29 2c 4f 58 25  2d 58 25 28 30 29 2c 4f  |%(0),OX%-X%(0),O|
0000bee0  59 25 2d 59 25 28 30 29  3a f2 6f 75 74 70 69 63  |Y%-Y%(0):.outpic|
0000bef0  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 0d  |:.quickdrawmain.|
0000bf00  28 a0 46 c9 20 33 34 3a  e7 20 46 55 53 54 25 3d  |(.F. 34:. FUST%=|
0000bf10  31 20 8c 20 f2 69 6e 70  69 63 3a f2 70 69 6d 70  |1 . .inpic:.pimp|
0000bf20  6f 72 74 28 4f 58 25 2c  4f 59 25 2c 33 29 3a f2  |ort(OX%,OY%,3):.|
0000bf30  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
0000bf40  77 6d 61 69 6e 0d 28 aa  19 f2 63 6c 6f 73 65 77  |wmain.(...closew|
0000bf50  69 6e 64 28 38 29 3a f2  73 70 69 6e 69 74 0d 28  |ind(8):.spinit.(|
0000bf60  b4 22 c9 20 33 35 3a e7  20 46 55 53 54 25 3c 32  |.". 35:. FUST%<2|
0000bf70  20 8c 20 f2 63 6c 6f 73  65 77 69 6e 64 28 38 29  | . .closewind(8)|
0000bf80  0d 28 be 55 e7 20 46 55  53 54 25 3d 31 20 8c 20  |.(.U. FUST%=1 . |
0000bf90  f2 69 6e 70 69 63 3a f2  65 6f 63 3a c8 93 20 58  |.inpic:.eoc:.. X|
0000bfa0  25 28 30 29 2c 59 25 28  30 29 2c 4f 58 25 2d 58  |%(0),Y%(0),OX%-X|
0000bfb0  25 28 30 29 2c 4f 59 25  2d 59 25 28 30 29 3a f2  |%(0),OY%-Y%(0):.|
0000bfc0  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
0000bfd0  77 6d 61 69 6e 0d 28 c8  1d e7 20 46 55 53 54 25  |wmain.(... FUST%|
0000bfe0  3d 33 20 8c 20 f2 63 6c  6f 73 65 77 69 6e 64 28  |=3 . .closewind(|
0000bff0  37 29 0d 28 d2 51 c9 20  33 36 3a e7 20 46 55 53  |7).(.Q. 36:. FUS|
0000c000  54 25 3c 3e 30 20 8c 20  f2 69 6e 70 69 63 3a f2  |T%<>0 . .inpic:.|
0000c010  65 6f 63 3a c8 93 20 4f  58 25 2c 4f 59 25 2c 46  |eoc:.. OX%,OY%,F|
0000c020  52 57 25 2a 32 2c 46 52  48 25 2a 34 3a f2 6f 75  |RW%*2,FRH%*4:.ou|
0000c030  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
0000c040  61 69 6e 0d 28 dc 1f c9  20 33 37 3a f2 73 70 69  |ain.(... 37:.spi|
0000c050  6e 69 74 3a f2 63 6c 6f  73 65 77 69 6e 64 28 32  |nit:.closewind(2|
0000c060  30 29 0d 28 e6 71 c9 20  33 38 3a f2 63 6c 6f 73  |0).(.q. 38:.clos|
0000c070  65 77 69 6e 64 28 32 31  29 3a f2 73 70 69 6e 69  |ewind(21):.spini|
0000c080  74 3a e7 20 46 55 53 54  25 3d 31 20 8c 20 f2 69  |t:. FUST%=1 . .i|
0000c090  6e 70 69 63 3a f2 65 6f  63 3a c8 93 20 58 25 28  |npic:.eoc:.. X%(|
0000c0a0  30 29 2c 59 25 28 30 29  2c 4f 58 25 2d 58 25 28  |0),Y%(0),OX%-X%(|
0000c0b0  30 29 2c 4f 59 25 2d 59  25 28 30 29 3a f2 6f 75  |0),OY%-Y%(0):.ou|
0000c0c0  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
0000c0d0  61 69 6e 0d 28 f0 71 c9  20 33 39 3a f2 63 6c 6f  |ain.(.q. 39:.clo|
0000c0e0  73 65 77 69 6e 64 28 32  32 29 3a f2 73 70 69 6e  |sewind(22):.spin|
0000c0f0  69 74 3a e7 20 46 55 53  54 25 3d 31 20 8c 20 f2  |it:. FUST%=1 . .|
0000c100  69 6e 70 69 63 3a f2 65  6f 63 3a c8 93 20 58 25  |inpic:.eoc:.. X%|
0000c110  28 30 29 2c 59 25 28 30  29 2c 4f 58 25 2d 58 25  |(0),Y%(0),OX%-X%|
0000c120  28 30 29 2c 4f 59 25 2d  59 25 28 30 29 3a f2 6f  |(0),OY%-Y%(0):.o|
0000c130  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
0000c140  6d 61 69 6e 0d 28 fa 71  c9 20 34 30 3a f2 63 6c  |main.(.q. 40:.cl|
0000c150  6f 73 65 77 69 6e 64 28  32 33 29 3a f2 73 70 69  |osewind(23):.spi|
0000c160  6e 69 74 3a e7 20 46 55  53 54 25 3d 31 20 8c 20  |nit:. FUST%=1 . |
0000c170  f2 69 6e 70 69 63 3a f2  65 6f 63 3a c8 93 20 58  |.inpic:.eoc:.. X|
0000c180  25 28 30 29 2c 59 25 28  30 29 2c 4f 58 25 2d 58  |%(0),Y%(0),OX%-X|
0000c190  25 28 30 29 2c 4f 59 25  2d 59 25 28 30 29 3a f2  |%(0),OY%-Y%(0):.|
0000c1a0  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
0000c1b0  77 6d 61 69 6e 0d 29 04  71 c9 20 34 31 3a f2 63  |wmain.).q. 41:.c|
0000c1c0  6c 6f 73 65 77 69 6e 64  28 32 34 29 3a f2 73 70  |losewind(24):.sp|
0000c1d0  69 6e 69 74 3a e7 20 46  55 53 54 25 3d 31 20 8c  |init:. FUST%=1 .|
0000c1e0  20 f2 69 6e 70 69 63 3a  f2 65 6f 63 3a c8 93 20  | .inpic:.eoc:.. |
0000c1f0  58 25 28 30 29 2c 59 25  28 30 29 2c 4f 58 25 2d  |X%(0),Y%(0),OX%-|
0000c200  58 25 28 30 29 2c 4f 59  25 2d 59 25 28 30 29 3a  |X%(0),OY%-Y%(0):|
0000c210  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
0000c220  61 77 6d 61 69 6e 0d 29  0e 3f e7 20 46 55 53 54  |awmain.).?. FUST|
0000c230  25 3d 33 20 8c 20 f2 69  6e 70 69 63 3a f2 70 72  |%=3 . .inpic:.pr|
0000c240  6f 74 62 6f 78 28 4f 58  25 2c 4f 59 25 29 3a f2  |otbox(OX%,OY%):.|
0000c250  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
0000c260  77 6d 61 69 6e 0d 29 18  05 cb 0d 29 22 05 e1 0d  |wmain.)....)"...|
0000c270  29 2c 04 0d 29 36 18 dd  f2 65 6f 63 3a e6 33 2c  |),..)6...eoc:.3,|
0000c280  36 33 20 c8 9c 20 31 39  32 3a e1 0d 29 40 04 0d  |63 .. 192:..)@..|
0000c290  29 4a 1d dd f2 65 6f 72  62 61 63 6b 3a e6 33 2c  |)J...eorback:.3,|
0000c2a0  31 39 31 20 c8 9c 20 31  39 32 3a e1 0d 29 54 04  |191 .. 192:..)T.|
0000c2b0  0d 29 5e 0d dd f2 70 69  63 6b 63 6f 6c 0d 29 68  |.)^...pickcol.)h|
0000c2c0  34 42 4c 4b 25 21 38 3d  48 41 4e 44 25 28 33 29  |4BLK%!8=HAND%(3)|
0000c2d0  3a c8 99 20 22 57 69 6d  70 5f 47 65 74 57 69 6e  |:.. "Wimp_GetWin|
0000c2e0  64 6f 77 53 74 61 74 65  22 2c 2c 42 4c 4b 25 2b  |dowState",,BLK%+|
0000c2f0  38 0d 29 72 30 58 4f 46  25 3d 28 21 42 4c 4b 25  |8.)r0XOF%=(!BLK%|
0000c300  29 2d 28 42 4c 4b 25 21  31 32 29 3a e7 20 58 4f  |)-(BLK%!12):. XO|
0000c310  46 25 3e 37 36 36 20 8c  20 58 4f 46 25 3d 37 36  |F%>766 . XOF%=76|
0000c320  36 0d 29 7c 31 59 4f 46  25 3d 28 42 4c 4b 25 21  |6.)|1YOF%=(BLK%!|
0000c330  34 29 2d 28 42 4c 4b 25  21 31 36 29 3a e7 20 59  |4)-(BLK%!16):. Y|
0000c340  4f 46 25 3e 32 32 30 20  8c 20 59 4f 46 25 3d 32  |OF%>220 . YOF%=2|
0000c350  32 30 0d 29 86 64 e7 20  4d 4f 55 42 25 3d 34 20  |20.).d. MOUB%=4 |
0000c360  8c 20 43 4f 4c 25 3d 28  58 4f 46 25 20 81 20 32  |. COL%=(XOF% . 2|
0000c370  34 29 2b 28 28 59 4f 46  25 20 81 20 32 38 29 2a  |4)+((YOF% . 28)*|
0000c380  33 32 29 20 8b 20 e7 20  4d 4f 55 42 25 3d 31 20  |32) . . MOUB%=1 |
0000c390  8c 20 f2 74 72 61 73 70  28 28 58 4f 46 25 20 81  |. .trasp((XOF% .|
0000c3a0  20 32 34 29 2b 28 28 59  4f 46 25 20 81 20 32 38  | 24)+((YOF% . 28|
0000c3b0  29 2a 33 32 29 29 0d 29  90 17 f2 66 6f 72 63 65  |)*32)).)...force|
0000c3c0  64 72 61 77 70 61 6c 28  50 41 4c 25 29 0d 29 9a  |drawpal(PAL%).).|
0000c3d0  05 e1 0d 29 a4 04 0d 29  ae 10 dd f2 74 62 61 63  |...)...)....tbac|
0000c3e0  6b 63 6c 69 63 6b 0d 29  b8 35 42 4c 4b 25 21 38  |kclick.).5BLK%!8|
0000c3f0  3d 48 41 4e 44 25 28 31  35 29 3a c8 99 20 22 57  |=HAND%(15):.. "W|
0000c400  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 53 74 61  |imp_GetWindowSta|
0000c410  74 65 22 2c 2c 42 4c 4b  25 2b 38 0d 29 c2 30 58  |te",,BLK%+8.).0X|
0000c420  4f 46 25 3d 28 21 42 4c  4b 25 29 2d 28 42 4c 4b  |OF%=(!BLK%)-(BLK|
0000c430  25 21 31 32 29 3a e7 20  58 4f 46 25 3e 37 36 36  |%!12):. XOF%>766|
0000c440  20 8c 20 58 4f 46 25 3d  37 36 36 0d 29 cc 31 59  | . XOF%=766.).1Y|
0000c450  4f 46 25 3d 28 42 4c 4b  25 21 34 29 2d 28 42 4c  |OF%=(BLK%!4)-(BL|
0000c460  4b 25 21 31 36 29 3a e7  20 59 4f 46 25 3e 32 32  |K%!16):. YOF%>22|
0000c470  30 20 8c 20 59 4f 46 25  3d 32 32 30 0d 29 d6 27  |0 . YOF%=220.).'|
0000c480  46 4f 4e 54 42 25 3d 28  58 4f 46 25 20 81 20 32  |FONTB%=(XOF% . 2|
0000c490  34 29 2b 28 28 59 4f 46  25 20 81 20 32 38 29 2a  |4)+((YOF% . 28)*|
0000c4a0  33 32 29 0d 29 e0 13 f2  66 6f 72 63 65 64 72 61  |32).)...forcedra|
0000c4b0  77 74 62 61 63 6b 0d 29  ea 05 e1 0d 29 f4 04 0d  |wtback.)....)...|
0000c4c0  29 fe 0c dd f2 70 69 63  70 6f 73 0d 2a 08 1c 53  |)....picpos.*..S|
0000c4d0  43 52 58 25 3d 21 42 4c  4b 25 3a 53 43 52 59 25  |CRX%=!BLK%:SCRY%|
0000c4e0  3d 42 4c 4b 25 21 34 0d  2a 12 34 42 4c 4b 25 21  |=BLK%!4.*.4BLK%!|
0000c4f0  38 3d 48 41 4e 44 25 28  32 29 3a c8 99 20 22 57  |8=HAND%(2):.. "W|
0000c500  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 53 74 61  |imp_GetWindowSta|
0000c510  74 65 22 2c 2c 42 4c 4b  25 2b 38 0d 2a 1c 2e 58  |te",,BLK%+8.*..X|
0000c520  25 3d 28 28 28 21 42 4c  4b 25 29 2d 28 42 4c 4b  |%=(((!BLK%)-(BLK|
0000c530  25 21 31 32 29 29 2b 28  42 4c 4b 25 21 32 38 29  |%!12))+(BLK%!28)|
0000c540  29 20 81 20 5a 4f 4f 4d  25 0d 2a 26 35 59 25 3d  |) . ZOOM%.*&5Y%=|
0000c550  39 33 36 2d 28 28 28 28  42 4c 4b 25 21 32 34 29  |936-((((BLK%!24)|
0000c560  2d 28 42 4c 4b 25 21 34  29 29 2d 28 42 4c 4b 25  |-(BLK%!4))-(BLK%|
0000c570  21 33 32 29 29 20 81 20  5a 4f 4f 4d 25 29 0d 2a  |!32)) . ZOOM%).*|
0000c580  30 11 e7 20 58 25 3c 30  20 8c 20 58 25 3d 30 0d  |0.. X%<0 . X%=0.|
0000c590  2a 3a 17 e7 20 58 25 3e  31 32 33 32 20 8c 20 58  |*:.. X%>1232 . X|
0000c5a0  25 3d 31 32 33 32 0d 2a  44 11 e7 20 59 25 3c 30  |%=1232.*D.. Y%<0|
0000c5b0  20 8c 20 59 25 3d 30 0d  2a 4e 15 e7 20 59 25 3e  | . Y%=0.*N.. Y%>|
0000c5c0  39 33 34 20 8c 20 59 25  3d 39 33 34 0d 2a 58 11  |934 . Y%=934.*X.|
0000c5d0  e7 20 ac 20 47 52 4c 4f  25 20 8c 20 e1 0d 2a 62  |. . GRLO% . ..*b|
0000c5e0  18 58 4f 46 25 3d 28 47  52 57 49 25 2d 47 52 42  |.XOF%=(GRWI%-GRB|
0000c5f0  58 25 29 2a 32 0d 2a 6c  18 59 4f 46 25 3d 28 47  |X%)*2.*l.YOF%=(G|
0000c600  52 48 45 25 2d 47 52 42  59 25 29 2a 34 0d 2a 76  |RHE%-GRBY%)*4.*v|
0000c610  15 58 25 2b 3d 58 4f 46  25 3a 59 25 2b 3d 59 4f  |.X%+=XOF%:Y%+=YO|
0000c620  46 25 0d 2a 80 27 58 25  3d 2d 58 4f 46 25 2b 28  |F%.*.'X%=-XOF%+(|
0000c630  28 58 25 20 81 20 28 32  2a 47 52 57 49 25 29 29  |(X% . (2*GRWI%))|
0000c640  2a 32 2a 47 52 57 49 25  29 0d 2a 8a 27 59 25 3d  |*2*GRWI%).*.'Y%=|
0000c650  2d 59 4f 46 25 2b 28 28  59 25 20 81 20 28 34 2a  |-YOF%+((Y% . (4*|
0000c660  47 52 48 45 25 29 29 2a  34 2a 47 52 48 45 25 29  |GRHE%))*4*GRHE%)|
0000c670  0d 2a 94 28 f4 20 56 44  55 34 3a 50 52 49 4e 54  |.*.(. VDU4:PRINT|
0000c680  54 41 42 28 30 2c 31 29  3b 58 25 2c 59 25 2c 58  |TAB(0,1);X%,Y%,X|
0000c690  4f 46 25 2c 59 4f 46 25  0d 2a 9e 05 e1 0d 2a a8  |OF%,YOF%.*....*.|
0000c6a0  04 0d 2a b2 0b dd f2 67  65 74 6f 72 0d 2a bc 17  |..*....getor.*..|
0000c6b0  57 4f 58 25 3d 42 4c 4b  25 21 34 2d 42 4c 4b 25  |WOX%=BLK%!4-BLK%|
0000c6c0  21 32 30 0d 2a c6 26 57  4f 59 25 3d 28 42 4c 4b  |!20.*.&WOY%=(BLK|
0000c6d0  25 21 31 36 2d 42 4c 4b  25 21 32 34 29 2d 28 39  |%!16-BLK%!24)-(9|
0000c6e0  33 36 2a 5a 4f 4f 4d 25  29 0d 2a d0 05 e1 0d 2a  |36*ZOOM%).*....*|
0000c6f0  da 04 0d 2a e4 10 dd f2  67 65 74 62 72 75 73 68  |...*....getbrush|
0000c700  6f 72 0d 2a ee 17 57 4f  58 25 3d 42 4c 4b 25 21  |or.*..WOX%=BLK%!|
0000c710  34 2d 42 4c 4b 25 21 32  30 0d 2a f8 1e 57 4f 59  |4-BLK%!20.*..WOY|
0000c720  25 3d 28 42 4c 4b 25 21  31 36 2d 42 4c 4b 25 21  |%=(BLK%!16-BLK%!|
0000c730  32 34 29 2d 32 36 30 0d  2b 02 05 e1 0d 2b 0c 04  |24)-260.+....+..|
0000c740  0d 2b 16 12 dd f2 67 65  74 70 61 74 66 69 6c 6c  |.+....getpatfill|
0000c750  6f 72 0d 2b 20 17 57 4f  58 25 3d 42 4c 4b 25 21  |or.+ .WOX%=BLK%!|
0000c760  34 2d 42 4c 4b 25 21 32  30 0d 2b 2a 1e 57 4f 59  |4-BLK%!20.+*.WOY|
0000c770  25 3d 28 42 4c 4b 25 21  31 36 2d 42 4c 4b 25 21  |%=(BLK%!16-BLK%!|
0000c780  32 34 29 2d 31 30 38 0d  2b 34 05 e1 0d 2b 3e 04  |24)-108.+4...+>.|
0000c790  0d 2b 48 10 dd f2 67 65  74 65 64 62 72 75 6f 72  |.+H...getedbruor|
0000c7a0  0d 2b 52 17 57 4f 58 25  3d 42 4c 4b 25 21 34 2d  |.+R.WOX%=BLK%!4-|
0000c7b0  42 4c 4b 25 21 32 30 0d  2b 5c 1e 57 4f 59 25 3d  |BLK%!20.+\.WOY%=|
0000c7c0  28 42 4c 4b 25 21 31 36  2d 42 4c 4b 25 21 32 34  |(BLK%!16-BLK%!24|
0000c7d0  29 2d 36 34 30 0d 2b 66  05 e1 0d 2b 70 04 0d 2b  |)-640.+f...+p..+|
0000c7e0  7a 15 dd f2 6f 70 65 6e  6d 61 69 6e 3a 4d 4f 50  |z...openmain:MOP|
0000c7f0  25 3d b9 0d 2b 84 7a 21  42 4c 4b 25 3d 48 41 4e  |%=..+.z!BLK%=HAN|
0000c800  44 25 28 32 29 3a 42 4c  4b 25 21 34 3d 30 3a 42  |D%(2):BLK%!4=0:B|
0000c810  4c 4b 25 21 38 3d 33 30  30 3a 42 4c 4b 25 21 31  |LK%!8=300:BLK%!1|
0000c820  32 3d 31 32 37 39 3a 42  4c 4b 25 21 31 36 3d 31  |2=1279:BLK%!16=1|
0000c830  30 32 33 3a 42 4c 4b 25  21 32 30 3d 30 3a 42 4c  |023:BLK%!20=0:BL|
0000c840  4b 25 21 32 34 3d 30 3a  42 4c 4b 25 21 32 38 3d  |K%!24=0:BLK%!28=|
0000c850  2d 31 3a c8 99 20 22 57  69 6d 70 5f 4f 70 65 6e  |-1:.. "Wimp_Open|
0000c860  57 69 6e 64 6f 77 22 2c  2c 42 4c 4b 25 0d 2b 8e  |Window",,BLK%.+.|
0000c870  05 e1 0d 2b 98 04 0d 2b  a2 0d dd f2 6f 70 65 6e  |...+...+....open|
0000c880  70 61 6c 0d 2b ac 7b 21  42 4c 4b 25 3d 48 41 4e  |pal.+.{!BLK%=HAN|
0000c890  44 25 28 33 29 3a 42 4c  4b 25 21 34 3d 31 30 30  |D%(3):BLK%!4=100|
0000c8a0  3a 42 4c 4b 25 21 38 3d  33 30 30 3a 42 4c 4b 25  |:BLK%!8=300:BLK%|
0000c8b0  21 31 32 3d 31 32 37 39  3a 42 4c 4b 25 21 31 36  |!12=1279:BLK%!16|
0000c8c0  3d 36 30 30 3a 42 4c 4b  25 21 32 30 3d 30 3a 42  |=600:BLK%!20=0:B|
0000c8d0  4c 4b 25 21 32 34 3d 30  3a 42 4c 4b 25 21 32 38  |LK%!24=0:BLK%!28|
0000c8e0  3d 2d 31 3a c8 99 20 22  57 69 6d 70 5f 4f 70 65  |=-1:.. "Wimp_Ope|
0000c8f0  6e 57 69 6e 64 6f 77 22  2c 2c 42 4c 4b 25 0d 2b  |nWindow",,BLK%.+|
0000c900  b6 05 e1 0d 2b c0 04 0d  2b ca 13 dd f2 6f 70 65  |....+...+....ope|
0000c910  6e 77 69 6e 64 28 57 48  25 29 0d 2b d4 32 21 42  |nwind(WH%).+.2!B|
0000c920  4c 4b 25 3d 48 41 4e 44  25 28 57 48 25 29 3a c8  |LK%=HAND%(WH%):.|
0000c930  99 20 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |. "Wimp_GetWindo|
0000c940  77 49 6e 66 6f 22 2c 2c  42 4c 4b 25 0d 2b de 29  |wInfo",,BLK%.+.)|
0000c950  42 4c 4b 25 21 32 38 3d  2d 31 3a c8 99 20 22 57  |BLK%!28=-1:.. "W|
0000c960  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
0000c970  2c 42 4c 4b 25 0d 2b e8  05 e1 0d 2b f2 04 0d 2b  |,BLK%.+....+...+|
0000c980  fc 14 dd f2 63 6c 6f 73  65 77 69 6e 64 28 57 48  |....closewind(WH|
0000c990  25 29 0d 2c 06 30 21 42  4c 4b 25 3d 48 41 4e 44  |%).,.0!BLK%=HAND|
0000c9a0  25 28 57 48 25 29 3a c8  99 20 22 57 69 6d 70 5f  |%(WH%):.. "Wimp_|
0000c9b0  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 42 4c  |CloseWindow",,BL|
0000c9c0  4b 25 0d 2c 10 05 e1 0d  2c 1a 04 0d 2c 24 0c dd  |K%.,....,...,$..|
0000c9d0  f2 6f 70 6d 61 69 6e 0d  2c 2e 1e c8 99 20 22 57  |.opmain.,.... "W|
0000c9e0  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
0000c9f0  2c 42 4c 4b 25 0d 2c 38  05 e1 0d 2c 42 04 0d 2c  |,BLK%.,8...,B..,|
0000ca00  4c 13 dd f2 63 6c 6d 61  69 6e 3a 4d 4f 50 25 3d  |L...clmain:MOP%=|
0000ca10  a3 0d 2c 56 1f c8 99 20  22 57 69 6d 70 5f 43 6c  |..,V... "Wimp_Cl|
0000ca20  6f 73 65 57 69 6e 64 6f  77 22 2c 2c 42 4c 4b 25  |oseWindow",,BLK%|
0000ca30  0d 2c 60 05 e1 0d 2c 6a  04 0d 2c 74 0c dd f2 61  |.,`...,j..,t...a|
0000ca40  69 72 6e 6f 7a 0d 2c 7e  30 48 25 3d 2d 31 3a e3  |irnoz.,~0H%=-1:.|
0000ca50  4c 25 3d 39 20 b8 20 31  35 3a e7 20 a4 68 69 67  |L%=9 . 15:. .hig|
0000ca60  68 28 34 2c 4c 25 29 20  8c 20 48 25 3d 4c 25 3a  |h(4,L%) . H%=L%:|
0000ca70  4c 25 3d 31 35 0d 2c 88  05 ed 0d 2c 92 0b c8 8e  |L%=15.,....,....|
0000ca80  20 48 25 20 ca 0d 2c 9c  13 c9 20 39 3a 58 52 3d  | H% ..,... 9:XR=|
0000ca90  31 3a 59 52 3d 2e 32 35  0d 2c a6 13 c9 20 31 30  |1:YR=.25.,... 10|
0000caa0  3a 58 52 3d 31 3a 59 52  3d 2e 35 0d 2c b0 14 c9  |:XR=1:YR=.5.,...|
0000cab0  20 31 31 3a 58 52 3d 31  3a 59 52 3d 2e 37 35 0d  | 11:XR=1:YR=.75.|
0000cac0  2c ba 12 c9 20 31 32 3a  58 52 3d 31 3a 59 52 3d  |,... 12:XR=1:YR=|
0000cad0  31 0d 2c c4 14 c9 20 31  33 3a 58 52 3d 2e 37 35  |1.,... 13:XR=.75|
0000cae0  3a 59 52 3d 31 0d 2c ce  13 c9 20 31 34 3a 58 52  |:YR=1.,... 14:XR|
0000caf0  3d 2e 35 3a 59 52 3d 31  0d 2c d8 14 c9 20 31 35  |=.5:YR=1.,... 15|
0000cb00  3a 58 52 3d 2e 32 35 3a  59 52 3d 31 0d 2c e2 05  |:XR=.25:YR=1.,..|
0000cb10  cb 0d 2c ec 05 e1 0d 2c  f6 04 0d 2d 00 10 dd f2  |..,....,...-....|
0000cb20  70 61 69 6e 74 73 63 61  6c 65 0d 2d 0a 10 21 53  |paintscale.-..!S|
0000cb30  43 41 4c 45 25 3d 42 58  4d 25 0d 2d 14 11 53 43  |CALE%=BXM%.-..SC|
0000cb40  41 4c 45 25 21 34 3d 42  59 4d 25 0d 2d 1e 11 53  |ALE%!4=BYM%.-..S|
0000cb50  43 41 4c 45 25 21 38 3d  42 58 44 25 0d 2d 28 12  |CALE%!8=BXD%.-(.|
0000cb60  53 43 41 4c 45 25 21 31  32 3d 42 59 44 25 0d 2d  |SCALE%!12=BYD%.-|
0000cb70  32 10 58 52 3d 42 58 4d  25 2f 42 58 44 25 0d 2d  |2.XR=BXM%/BXD%.-|
0000cb80  3c 10 59 52 3d 42 59 4d  25 2f 42 59 44 25 0d 2d  |<.YR=BYM%/BYD%.-|
0000cb90  46 05 e1 0d 2d 50 04 0d  2d 5a 11 dd f2 70 61 69  |F...-P..-Z...pai|
0000cba0  6e 74 73 63 61 6c 65 32  0d 2d 64 0d 21 53 43 41  |ntscale2.-d.!SCA|
0000cbb0  4c 45 25 3d 31 0d 2d 6e  0e 53 43 41 4c 45 25 21  |LE%=1.-n.SCALE%!|
0000cbc0  34 3d 31 0d 2d 78 0e 53  43 41 4c 45 25 21 38 3d  |4=1.-x.SCALE%!8=|
0000cbd0  31 0d 2d 82 0f 53 43 41  4c 45 25 21 31 32 3d 31  |1.-..SCALE%!12=1|
0000cbe0  0d 2d 8c 08 58 52 3d 31  0d 2d 96 08 59 52 3d 31  |.-..XR=1.-..YR=1|
0000cbf0  0d 2d a0 05 e1 0d 2d aa  04 0d 2d b4 0e dd f2 70  |.-....-...-....p|
0000cc00  69 63 63 6c 69 63 6b 0d  2d be 24 e7 20 4d 42 55  |icclick.-.$. MBU|
0000cc10  53 25 20 80 20 4d 4f 55  42 25 3c 3e 30 20 8c 20  |S% . MOUB%<>0 . |
0000cc20  e1 20 8b 20 4d 42 55 53  25 3d a3 0d 2d c8 0e c8  |. . MBUS%=..-...|
0000cc30  8e 20 46 55 53 45 25 20  ca 0d 2d d2 a2 c9 20 2d  |. FUSE% ..-... -|
0000cc40  31 3a e7 20 4d 4f 55 42  25 3d 31 20 8c 20 f2 70  |1:. MOUB%=1 . .p|
0000cc50  69 63 70 6f 73 3a f2 69  6e 70 69 63 3a 43 4f 25  |icpos:.inpic:CO%|
0000cc60  3d b0 58 25 2c 59 25 29  3a 54 49 25 3d c8 9c 28  |=.X%,Y%):TI%=..(|
0000cc70  58 25 2c 59 25 29 3a e6  33 2c 36 33 20 c8 9c 20  |X%,Y%):.3,63 .. |
0000cc80  31 39 32 3a f0 36 39 2c  34 30 30 2c 34 30 30 3a  |192:.69,400,400:|
0000cc90  f0 36 39 2c 34 30 30 2c  34 30 30 3a f2 6f 75 74  |.69,400,400:.out|
0000cca0  70 69 63 3a f2 74 72 61  73 70 28 a4 66 69 6e 64  |pic:.trasp(.find|
0000ccb0  70 61 6c 65 6e 74 28 43  4f 25 2c 54 49 25 29 29  |palent(CO%,TI%))|
0000ccc0  3a f2 66 6f 72 63 65 64  72 61 77 70 61 6c 28 50  |:.forcedrawpal(P|
0000ccd0  41 4c 25 29 3a e5 20 8d  54 6a 70 0d 2d dc 9a e7  |AL%):. .Tjp.-...|
0000cce0  20 4d 4f 55 42 25 3d 34  20 8c 20 f2 70 69 63 70  | MOUB%=4 . .picp|
0000ccf0  6f 73 3a f2 69 6e 70 69  63 3a 43 4f 25 3d b0 58  |os:.inpic:CO%=.X|
0000cd00  25 2c 59 25 29 3a 54 49  25 3d c8 9c 28 58 25 2c  |%,Y%):TI%=..(X%,|
0000cd10  59 25 29 3a e6 33 2c 36  33 20 c8 9c 20 31 39 32  |Y%):.3,63 .. 192|
0000cd20  3a f0 36 39 2c 34 30 30  2c 34 30 30 3a f0 36 39  |:.69,400,400:.69|
0000cd30  2c 34 30 30 2c 34 30 30  3a f2 6f 75 74 70 69 63  |,400,400:.outpic|
0000cd40  3a 43 4f 4c 25 3d a4 66  69 6e 64 70 61 6c 65 6e  |:COL%=.findpalen|
0000cd50  74 28 43 4f 25 2c 54 49  25 29 3a f2 66 6f 72 63  |t(CO%,TI%):.forc|
0000cd60  65 64 72 61 77 70 61 6c  28 50 41 4c 25 29 3a e5  |edrawpal(PAL%):.|
0000cd70  20 8d 54 6a 70 0d 2d e6  3f c9 20 30 3a f2 70 69  | .Tjp.-.?. 0:.pi|
0000cd80  63 70 6f 73 3a f2 69 6e  70 69 63 3a f2 73 65 74  |cpos:.inpic:.set|
0000cd90  63 6f 6c 3a f0 36 39 2c  58 25 2c 59 25 3a f2 6f  |col:.69,X%,Y%:.o|
0000cda0  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
0000cdb0  6d 61 69 6e 0d 2d f0 20  c9 20 33 3a f2 61 69 72  |main.-. . 3:.air|
0000cdc0  6e 6f 7a 3a e7 20 48 25  3d 2d 31 20 8c 20 e5 20  |noz:. H%=-1 . . |
0000cdd0  8d 54 6a 70 0d 2d fa a3  f2 70 69 63 70 6f 73 3a  |.Tjp.-...picpos:|
0000cde0  f2 69 6e 70 69 63 3a f2  73 65 74 63 6f 6c 3a 44  |.inpic:.setcol:D|
0000cdf0  25 3d bb 28 a4 67 65 74  69 63 6f 6e 28 34 2c 31  |%=.(.geticon(4,1|
0000ce00  29 29 3a 52 25 3d bb 28  a4 67 65 74 69 63 6f 6e  |)):R%=.(.geticon|
0000ce10  28 34 2c 33 29 29 3a e3  4c 25 3d 31 20 b8 20 44  |(4,3)):.L%=1 . D|
0000ce20  25 3a 41 3d b3 28 33 36  30 30 29 2f 31 30 3a f0  |%:A=.(3600)/10:.|
0000ce30  36 39 2c 9b 28 b2 28 41  29 29 2a b3 28 28 52 25  |69,.(.(A))*.((R%|
0000ce40  2a 58 52 29 29 2b 58 25  2c b5 28 b2 28 41 29 29  |*XR))+X%,.(.(A))|
0000ce50  2a b3 28 28 52 25 2a 59  52 29 29 2b 59 25 3a ed  |*.((R%*YR))+Y%:.|
0000ce60  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
0000ce70  72 61 77 6d 61 69 6e 0d  2e 04 22 c9 20 34 3a f2  |rawmain...". 4:.|
0000ce80  70 61 69 6e 74 73 63 61  6c 65 3a f2 69 6e 70 69  |paintscale:.inpi|
0000ce90  63 3a f2 70 69 63 70 6f  73 0d 2e 0e 2e e7 20 46  |c:.picpos..... F|
0000cea0  55 53 54 25 3c 3e 30 20  8c 20 f2 65 6f 72 62 61  |UST%<>0 . .eorba|
0000ceb0  63 6b 3a f2 70 61 69 6e  74 62 72 75 73 68 28 4f  |ck:.paintbrush(O|
0000cec0  58 25 2c 4f 59 25 29 0d  2e 18 38 f2 73 65 74 62  |X%,OY%)...8.setb|
0000ced0  61 63 6b 63 6f 6c 3a f2  70 61 69 6e 74 62 72 75  |ackcol:.paintbru|
0000cee0  73 68 28 58 25 2c 59 25  29 3a 4f 58 25 3d 58 25  |sh(X%,Y%):OX%=X%|
0000cef0  3a 4f 59 25 3d 59 25 3a  46 55 53 54 25 3d 31 0d  |:OY%=Y%:FUST%=1.|
0000cf00  2e 22 21 f2 65 6f 72 62  61 63 6b 3a f2 70 61 69  |."!.eorback:.pai|
0000cf10  6e 74 62 72 75 73 68 28  4f 58 25 2c 4f 59 25 29  |ntbrush(OX%,OY%)|
0000cf20  0d 2e 2c 1a f2 6f 75 74  70 69 63 3a f2 71 75 69  |..,..outpic:.qui|
0000cf30  63 6b 64 72 61 77 6d 61  69 6e 0d 2e 36 1c c9 20  |ckdrawmain..6.. |
0000cf40  32 34 3a e7 20 4d 4f 55  42 25 3c 3e 34 20 8c 20  |24:. MOUB%<>4 . |
0000cf50  e5 20 8d 54 6a 70 0d 2e  40 c6 f2 70 69 63 70 6f  |. .Tjp..@..picpo|
0000cf60  73 3a f2 69 6e 70 69 63  3a e6 33 2c 36 33 20 c8  |s:.inpic:.3,63 .|
0000cf70  9c 20 31 39 32 3a f0 36  39 2c 34 30 30 2c 34 30  |. 192:.69,400,40|
0000cf80  30 3a f0 36 39 2c 34 30  30 2c 34 30 30 3a f2 73  |0:.69,400,400:.s|
0000cf90  65 74 63 6f 6c 3a 54 43  4f 25 3d b0 58 25 2d 32  |etcol:TCO%=.X%-2|
0000cfa0  2c 59 25 29 3a 54 54 49  25 3d c8 9c 28 58 25 2d  |,Y%):TTI%=..(X%-|
0000cfb0  32 2c 59 25 29 3a 54 50  45 25 3d a4 66 69 6e 64  |2,Y%):TPE%=.find|
0000cfc0  70 61 6c 65 6e 74 28 54  43 4f 25 2c 54 54 49 25  |palent(TCO%,TTI%|
0000cfd0  29 3a e7 20 54 50 45 25  3d 43 4f 4c 25 20 8c 20  |):. TPE%=COL% . |
0000cfe0  f2 6f 75 74 70 69 63 3a  f2 6d 65 73 73 61 67 65  |.outpic:.message|
0000cff0  28 30 2c 22 43 61 6e 6e  6f 74 20 74 72 61 63 65  |(0,"Cannot trace|
0000d000  20 74 68 65 20 63 6f 6c  6f 75 72 20 79 6f 75 20  | the colour you |
0000d010  61 72 65 20 75 73 69 6e  67 2e 22 29 0d 2e 4a 32  |are using.")..J2|
0000d020  f2 74 72 61 63 65 28 58  25 2c 59 25 2c 54 43 4f  |.trace(X%,Y%,TCO|
0000d030  25 2c 54 54 49 25 29 3a  f2 6f 75 74 70 69 63 3a  |%,TTI%):.outpic:|
0000d040  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 0d 2e  |.quickdrawmain..|
0000d050  54 17 c9 20 32 36 3a e7  20 4d 4f 55 42 25 3c 3e  |T.. 26:. MOUB%<>|
0000d060  34 20 8c 20 e1 0d 2e 5e  47 f2 69 6e 70 69 63 3a  |4 . ...^G.inpic:|
0000d070  ef 32 33 2c 31 37 2c 34  2c 31 2c 30 7c 3a e3 4c  |.23,17,4,1,0|:.L|
0000d080  25 3d 31 20 b8 20 34 3a  ef 32 33 2c 4c 25 2b 31  |%=1 . 4:.23,L%+1|
0000d090  3a e3 4b 25 3d 31 20 b8  20 38 3a ef 20 45 43 46  |:.K%=1 . 8:. ECF|
0000d0a0  25 28 4b 25 2c 4c 25 29  3a ed 3a ed 0d 2e 68 74  |%(K%,L%):.:...ht|
0000d0b0  f2 70 69 63 70 6f 73 3a  e6 30 2c b0 58 25 2c 59  |.picpos:.0,.X%,Y|
0000d0c0  25 29 2b 31 32 38 20 c8  9c 20 c8 9c 28 58 25 2c  |%)+128 .. ..(X%,|
0000d0d0  59 25 29 3a f2 73 65 74  63 6f 6c 3a c8 99 20 22  |Y%):.setcol:.. "|
0000d0e0  48 6f 75 72 67 6c 61 73  73 5f 4f 6e 22 3a c8 90  |Hourglass_On":..|
0000d0f0  20 58 25 2c 59 25 3a c8  99 20 22 48 6f 75 72 67  | X%,Y%:.. "Hourg|
0000d100  6c 61 73 73 5f 4f 66 66  22 3a f2 6f 75 74 70 69  |lass_Off":.outpi|
0000d110  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
0000d120  0d 2e 72 24 c9 20 32 39  3a f2 70 61 69 6e 74 73  |..r$. 29:.paints|
0000d130  63 61 6c 65 32 3a f2 69  6e 70 69 63 3a f2 70 69  |cale2:.inpic:.pi|
0000d140  63 70 6f 73 0d 2e 7c 2f  e7 20 46 55 53 54 25 3c  |cpos..|/. FUST%<|
0000d150  3e 30 20 8c 20 f2 65 6f  72 62 61 63 6b 3a f2 70  |>0 . .eorback:.p|
0000d160  61 69 6e 74 62 72 75 73  68 32 28 4f 58 25 2c 4f  |aintbrush2(OX%,O|
0000d170  59 25 29 0d 2e 86 20 56  41 52 53 21 32 30 3d 42  |Y%)... VARS!20=B|
0000d180  54 43 25 3a 56 41 52 53  21 32 34 3d 50 41 4c 54  |TC%:VARS!24=PALT|
0000d190  41 42 25 0d 2e 90 1f 56  41 52 53 21 32 38 3d 50  |AB%....VARS!28=P|
0000d1a0  49 43 25 3a 56 41 52 53  21 33 32 3d 53 50 42 55  |IC%:VARS!32=SPBU|
0000d1b0  46 25 0d 2e 9a 1f 56 41  52 53 21 33 36 3d 58 25  |F%....VARS!36=X%|
0000d1c0  2d 33 32 3a 56 41 52 53  21 34 30 3d 59 25 2d 33  |-32:VARS!40=Y%-3|
0000d1d0  32 0d 2e a4 21 56 41 52  53 21 34 34 3d 53 45 4c  |2...!VARS!44=SEL|
0000d1e0  42 52 25 3a 56 41 52 53  21 34 38 3d 42 52 55 53  |BR%:VARS!48=BRUS|
0000d1f0  48 25 0d 2e ae 1a 41 25  3d 56 41 52 53 3a d6 20  |H%....A%=VARS:. |
0000d200  61 76 65 72 61 67 65 62  72 75 73 68 0d 2e b8 33  |averagebrush...3|
0000d210  e6 33 2c 36 33 3a c8 93  20 58 25 2d 33 32 2c 59  |.3,63:.. X%-32,Y|
0000d220  25 2d 33 32 2c 36 34 2c  36 34 3a c8 93 20 58 25  |%-32,64,64:.. X%|
0000d230  2d 33 32 2c 59 25 2d 33  32 2c 36 34 2c 36 34 0d  |-32,Y%-32,64,64.|
0000d240  2e c2 38 4f 58 25 3d 58  25 3a 4f 59 25 3d 59 25  |..8OX%=X%:OY%=Y%|
0000d250  3a 46 55 53 54 25 3d 31  3a f2 65 6f 72 62 61 63  |:FUST%=1:.eorbac|
0000d260  6b 3a f2 70 61 69 6e 74  62 72 75 73 68 32 28 4f  |k:.paintbrush2(O|
0000d270  58 25 2c 4f 59 25 29 0d  2e cc 1a f2 6f 75 74 70  |X%,OY%).....outp|
0000d280  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
0000d290  6e 0d 2e d6 24 c9 20 33  30 3a f2 70 61 69 6e 74  |n...$. 30:.paint|
0000d2a0  73 63 61 6c 65 32 3a f2  69 6e 70 69 63 3a f2 70  |scale2:.inpic:.p|
0000d2b0  69 63 70 6f 73 0d 2e e0  2f e7 20 46 55 53 54 25  |icpos.../. FUST%|
0000d2c0  3c 3e 30 20 8c 20 f2 65  6f 72 62 61 63 6b 3a f2  |<>0 . .eorback:.|
0000d2d0  70 61 69 6e 74 62 72 75  73 68 32 28 4f 58 25 2c  |paintbrush2(OX%,|
0000d2e0  4f 59 25 29 0d 2e ea 20  56 41 52 53 21 32 30 3d  |OY%)... VARS!20=|
0000d2f0  42 54 43 25 3a 56 41 52  53 21 32 34 3d 50 41 4c  |BTC%:VARS!24=PAL|
0000d300  54 41 42 25 0d 2e f4 1f  56 41 52 53 21 32 38 3d  |TAB%....VARS!28=|
0000d310  50 49 43 25 3a 56 41 52  53 21 33 32 3d 53 50 42  |PIC%:VARS!32=SPB|
0000d320  55 46 25 0d 2e fe 1f 56  41 52 53 21 33 36 3d 58  |UF%....VARS!36=X|
0000d330  25 2d 33 32 3a 56 41 52  53 21 34 30 3d 59 25 2d  |%-32:VARS!40=Y%-|
0000d340  33 32 0d 2f 08 21 56 41  52 53 21 34 34 3d 53 45  |32./.!VARS!44=SE|
0000d350  4c 42 52 25 3a 56 41 52  53 21 34 38 3d 42 52 55  |LBR%:VARS!48=BRU|
0000d360  53 48 25 0d 2f 12 39 56  41 52 53 21 38 34 3d 50  |SH%./.9VARS!84=P|
0000d370  41 4c 54 41 42 25 3f 28  43 4f 4c 25 2a 32 29 3a  |ALTAB%?(COL%*2):|
0000d380  56 41 52 53 21 38 38 3d  50 41 4c 54 41 42 25 3f  |VARS!88=PALTAB%?|
0000d390  28 28 43 4f 4c 25 2a 32  29 2b 31 29 0d 2f 1c 17  |((COL%*2)+1)./..|
0000d3a0  41 25 3d 56 41 52 53 3a  d6 20 74 69 6e 74 62 72  |A%=VARS:. tintbr|
0000d3b0  75 73 68 0d 2f 26 33 e6  33 2c 36 33 3a c8 93 20  |ush./&3.3,63:.. |
0000d3c0  58 25 2d 33 32 2c 59 25  2d 33 32 2c 36 34 2c 36  |X%-32,Y%-32,64,6|
0000d3d0  34 3a c8 93 20 58 25 2d  33 32 2c 59 25 2d 33 32  |4:.. X%-32,Y%-32|
0000d3e0  2c 36 34 2c 36 34 0d 2f  30 38 4f 58 25 3d 58 25  |,64,64./08OX%=X%|
0000d3f0  3a 4f 59 25 3d 59 25 3a  46 55 53 54 25 3d 31 3a  |:OY%=Y%:FUST%=1:|
0000d400  f2 65 6f 72 62 61 63 6b  3a f2 70 61 69 6e 74 62  |.eorback:.paintb|
0000d410  72 75 73 68 32 28 4f 58  25 2c 4f 59 25 29 0d 2f  |rush2(OX%,OY%)./|
0000d420  3a 1a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |:..outpic:.quick|
0000d430  64 72 61 77 6d 61 69 6e  0d 2f 44 21 c9 20 33 31  |drawmain./D!. 31|
0000d440  3a e7 20 4d 4f 55 42 25  3c 3e 34 20 84 20 47 52  |:. MOUB%<>4 . GR|
0000d450  54 59 25 3d 31 20 8c 20  e1 0d 2f 4e 2d f2 73 70  |TY%=1 . ../N-.sp|
0000d460  69 6e 69 74 3a f2 73 70  62 75 66 28 31 34 35 2a  |init:.spbuf(145*|
0000d470  31 30 32 34 29 3a e7 20  51 25 20 8c 20 f2 73 70  |1024):. Q% . .sp|
0000d480  62 75 66 65 72 72 0d 2f  58 0e f2 62 61 63 6b 75  |buferr./X..backu|
0000d490  70 70 69 63 0d 2f 62 58  f2 69 6e 62 61 63 6b 75  |ppic./bX.inbacku|
0000d4a0  70 3a f2 70 69 63 70 6f  73 3a 46 42 43 25 3d b0  |p:.picpos:FBC%=.|
0000d4b0  58 25 2c 59 25 29 3a 46  42 54 25 3d c8 9c 28 58  |X%,Y%):FBT%=..(X|
0000d4c0  25 2c 59 25 29 3a e6 30  2c 46 42 43 25 2b 31 32  |%,Y%):.0,FBC%+12|
0000d4d0  38 20 c8 9c 20 46 42 54  25 3a 46 55 54 25 3d 28  |8 .. FBT%:FUT%=(|
0000d4e0  46 42 43 25 2b 31 29 20  83 20 36 34 0d 2f 6c 39  |FBC%+1) . 64./l9|
0000d4f0  e6 30 2c 46 55 54 25 20  c8 9c 20 46 42 54 25 3a  |.0,FUT% .. FBT%:|
0000d500  c8 99 20 22 48 6f 75 72  67 6c 61 73 73 5f 4f 6e  |.. "Hourglass_On|
0000d510  22 3a c8 90 20 58 25 2c  59 25 3a f2 6f 75 74 62  |":.. X%,Y%:.outb|
0000d520  61 63 6b 75 70 0d 2f 76  2d 41 25 3d 56 41 52 53  |ackup./v-A%=VARS|
0000d530  3a 42 25 3d 50 49 43 25  3a 43 25 3d 53 50 42 55  |:B%=PIC%:C%=SPBU|
0000d540  46 25 3a d6 20 66 69 6e  64 63 68 61 6e 67 65 62  |F%:. findchangeb|
0000d550  6f 78 0d 2f 80 14 46 4d  49 4e 58 25 3d 28 21 56  |ox./..FMINX%=(!V|
0000d560  41 52 53 29 2a 32 0d 2f  8a 15 46 4d 49 4e 59 25  |ARS)*2./..FMINY%|
0000d570  3d 28 56 41 52 53 21 34  29 2a 34 0d 2f 94 15 46  |=(VARS!4)*4./..F|
0000d580  4d 41 58 58 25 3d 28 56  41 52 53 21 38 29 2a 32  |MAXX%=(VARS!8)*2|
0000d590  0d 2f 9e 16 46 4d 41 58  59 25 3d 28 56 41 52 53  |./..FMAXY%=(VARS|
0000d5a0  21 31 32 29 2a 34 0d 2f  a8 09 f2 66 69 6c 6c 0d  |!12)*4./...fill.|
0000d5b0  2f b2 16 c8 99 20 22 48  6f 75 72 67 6c 61 73 73  |/.... "Hourglass|
0000d5c0  5f 4f 66 66 22 0d 2f bc  17 c9 20 33 37 3a e7 20  |_Off"./... 37:. |
0000d5d0  4d 4f 55 42 25 3c 3e 34  20 8c 20 e1 0d 2f c6 2d  |MOUB%<>4 . ../.-|
0000d5e0  f2 73 70 69 6e 69 74 3a  f2 73 70 62 75 66 28 31  |.spinit:.spbuf(1|
0000d5f0  34 35 2a 31 30 32 34 29  3a e7 20 51 25 20 8c 20  |45*1024):. Q% . |
0000d600  f2 73 70 62 75 66 65 72  72 0d 2f d0 0e f2 62 61  |.spbuferr./...ba|
0000d610  63 6b 75 70 70 69 63 0d  2f da 58 f2 69 6e 62 61  |ckuppic./.X.inba|
0000d620  63 6b 75 70 3a f2 70 69  63 70 6f 73 3a 46 42 43  |ckup:.picpos:FBC|
0000d630  25 3d b0 58 25 2c 59 25  29 3a 46 42 54 25 3d c8  |%=.X%,Y%):FBT%=.|
0000d640  9c 28 58 25 2c 59 25 29  3a e6 30 2c 46 42 43 25  |.(X%,Y%):.0,FBC%|
0000d650  2b 31 32 38 20 c8 9c 20  46 42 54 25 3a 46 55 54  |+128 .. FBT%:FUT|
0000d660  25 3d 28 46 42 43 25 2b  31 29 20 83 20 36 34 0d  |%=(FBC%+1) . 64.|
0000d670  2f e4 39 e6 30 2c 46 55  54 25 20 c8 9c 20 46 42  |/.9.0,FUT% .. FB|
0000d680  54 25 3a c8 99 20 22 48  6f 75 72 67 6c 61 73 73  |T%:.. "Hourglass|
0000d690  5f 4f 6e 22 3a c8 90 20  58 25 2c 59 25 3a f2 6f  |_On":.. X%,Y%:.o|
0000d6a0  75 74 62 61 63 6b 75 70  0d 2f ee 2d 41 25 3d 56  |utbackup./.-A%=V|
0000d6b0  41 52 53 3a 42 25 3d 50  49 43 25 3a 43 25 3d 53  |ARS:B%=PIC%:C%=S|
0000d6c0  50 42 55 46 25 3a d6 20  66 69 6e 64 63 68 61 6e  |PBUF%:. findchan|
0000d6d0  67 65 62 6f 78 0d 2f f8  4b 46 4d 49 4e 58 25 3d  |gebox./.KFMINX%=|
0000d6e0  28 21 56 41 52 53 29 2a  32 3a 46 4d 49 4e 59 25  |(!VARS)*2:FMINY%|
0000d6f0  3d 28 56 41 52 53 21 34  29 2a 34 3a 46 4d 41 58  |=(VARS!4)*4:FMAX|
0000d700  58 25 3d 28 56 41 52 53  21 38 29 2a 32 3a 46 4d  |X%=(VARS!8)*2:FM|
0000d710  41 58 59 25 3d 28 56 41  52 53 21 31 32 29 2a 34  |AXY%=(VARS!12)*4|
0000d720  0d 30 02 3a 56 41 52 53  21 34 3d 50 49 43 25 3a  |.0.:VARS!4=PIC%:|
0000d730  56 41 52 53 21 38 3d 53  50 42 55 46 25 3a 56 41  |VARS!8=SPBUF%:VA|
0000d740  52 53 21 31 32 3d 50 46  49 4c 4c 53 25 3a 56 41  |RS!12=PFILLS%:VA|
0000d750  52 53 21 31 36 3d 43 50  46 25 0d 30 0c 0d d6 20  |RS!16=CPF%.0... |
0000d760  70 61 74 66 69 6c 6c 0d  30 16 15 c8 99 22 48 6f  |patfill.0...."Ho|
0000d770  75 72 67 6c 61 73 73 5f  4f 66 66 22 0d 30 20 1a  |urglass_Off".0 .|
0000d780  f2 73 70 69 6e 69 74 3a  f2 66 6f 72 63 65 64 72  |.spinit:.forcedr|
0000d790  61 77 6d 61 69 6e 0d 30  2a 05 cb 0d 30 34 05 e1  |awmain.0*...04..|
0000d7a0  0d 30 3e 04 0d 30 48 0a  dd f2 66 69 6c 6c 0d 30  |.0>..0H...fill.0|
0000d7b0  52 19 4e 4f 53 25 3d bb  a4 67 65 74 69 63 6f 6e  |R.NOS%=..geticon|
0000d7c0  28 31 33 2c 34 34 29 0d  30 5c 0e 4e 4f 46 25 3d  |(13,44).0\.NOF%=|
0000d7d0  47 52 46 4e 25 0d 30 66  09 45 54 25 3d 30 0d 30  |GRFN%.0f.ET%=0.0|
0000d7e0  70 1a e7 20 a4 68 69 67  68 28 31 33 2c 35 35 29  |p.. .high(13,55)|
0000d7f0  20 8c 20 45 54 25 3d 31  0d 30 7a 1a e7 20 a4 68  | . ET%=1.0z.. .h|
0000d800  69 67 68 28 31 33 2c 35  36 29 20 8c 20 45 54 25  |igh(13,56) . ET%|
0000d810  3d 32 0d 30 84 1a e7 20  a4 68 69 67 68 28 31 33  |=2.0... .high(13|
0000d820  2c 35 37 29 20 8c 20 45  54 25 3d 33 0d 30 8e 1a  |,57) . ET%=3.0..|
0000d830  e7 20 a4 68 69 67 68 28  31 33 2c 35 38 29 20 8c  |. .high(13,58) .|
0000d840  20 45 54 25 3d 34 0d 30  98 0b 46 49 54 25 3d 2d  | ET%=4.0..FIT%=-|
0000d850  31 0d 30 a2 1b e7 20 a4  68 69 67 68 28 31 33 2c  |1.0... .high(13,|
0000d860  32 32 29 20 8c 20 46 49  54 25 3d 31 0d 30 ac 1b  |22) . FIT%=1.0..|
0000d870  e7 20 a4 68 69 67 68 28  31 33 2c 32 33 29 20 8c  |. .high(13,23) .|
0000d880  20 46 49 54 25 3d 32 0d  30 b6 1b e7 20 a4 68 69  | FIT%=2.0... .hi|
0000d890  67 68 28 31 33 2c 36 34  29 20 8c 20 46 49 54 25  |gh(13,64) . FIT%|
0000d8a0  3d 33 0d 30 c0 1b e7 20  a4 68 69 67 68 28 31 33  |=3.0... .high(13|
0000d8b0  2c 36 35 29 20 8c 20 46  49 54 25 3d 34 0d 30 ca  |,65) . FIT%=4.0.|
0000d8c0  1b e7 20 a4 68 69 67 68  28 31 33 2c 32 34 29 20  |.. .high(13,24) |
0000d8d0  8c 20 46 49 54 25 3d 35  0d 30 d4 1b e7 20 a4 68  |. FIT%=5.0... .h|
0000d8e0  69 67 68 28 31 33 2c 32  35 29 20 8c 20 46 49 54  |igh(13,25) . FIT|
0000d8f0  25 3d 36 0d 30 de 1c e7  20 45 54 25 3d 31 20 84  |%=6.0... ET%=1 .|
0000d900  20 45 54 25 3d 32 20 8c  20 46 49 54 25 3d 31 0d  | ET%=2 . FIT%=1.|
0000d910  30 e8 1c e7 20 45 54 25  3d 33 20 84 20 45 54 25  |0... ET%=3 . ET%|
0000d920  3d 34 20 8c 20 46 49 54  25 3d 34 0d 30 f2 45 e7  |=4 . FIT%=4.0.E.|
0000d930  20 46 49 54 25 3d 2d 31  20 8c 20 f2 73 70 69 6e  | FIT%=-1 . .spin|
0000d940  69 74 3a f2 6d 65 73 73  61 67 65 28 30 2c 22 59  |it:.message(0,"Y|
0000d950  6f 75 20 6d 75 73 74 20  63 68 6f 6f 73 65 20 61  |ou must choose a|
0000d960  20 74 79 70 65 20 6f 66  20 66 69 6c 6c 2e 22 29  | type of fill.")|
0000d970  0d 30 fc 0d c8 8e 20 46  49 54 25 20 ca 0d 31 06  |.0.... FIT% ..1.|
0000d980  33 c9 20 31 3a 46 49 57  25 3d 46 4d 41 58 58 25  |3. 1:FIW%=FMAXX%|
0000d990  2d 46 4d 49 4e 58 25 3a  46 49 46 43 25 3d 30 3a  |-FMINX%:FIFC%=0:|
0000d9a0  4c 41 46 43 25 3d 32 35  35 3a 46 49 44 25 3d 31  |LAFC%=255:FID%=1|
0000d9b0  0d 31 10 34 c9 20 32 3a  46 49 57 25 3d 46 4d 41  |.1.4. 2:FIW%=FMA|
0000d9c0  58 58 25 2d 46 4d 49 4e  58 25 3a 46 49 46 43 25  |XX%-FMINX%:FIFC%|
0000d9d0  3d 32 35 35 3a 4c 41 46  43 25 3d 30 3a 46 49 44  |=255:LAFC%=0:FID|
0000d9e0  25 3d 2d 31 0d 31 1a 33  c9 20 34 3a 46 49 57 25  |%=-1.1.3. 4:FIW%|
0000d9f0  3d 46 4d 41 58 59 25 2d  46 4d 49 4e 59 25 3a 46  |=FMAXY%-FMINY%:F|
0000da00  49 46 43 25 3d 30 3a 4c  41 46 43 25 3d 32 35 35  |IFC%=0:LAFC%=255|
0000da10  3a 46 49 44 25 3d 31 0d  31 24 34 c9 20 33 3a 46  |:FID%=1.1$4. 3:F|
0000da20  49 57 25 3d 46 4d 41 58  59 25 2d 46 4d 49 4e 59  |IW%=FMAXY%-FMINY|
0000da30  25 3a 46 49 46 43 25 3d  32 35 35 3a 4c 41 46 43  |%:FIFC%=255:LAFC|
0000da40  25 3d 30 3a 46 49 44 25  3d 2d 31 0d 31 2e 20 c9  |%=0:FID%=-1.1. .|
0000da50  20 35 3a 46 49 46 43 25  3d 30 3a 4c 41 46 43 25  | 5:FIFC%=0:LAFC%|
0000da60  3d 32 35 35 3a 46 49 44  25 3d 31 0d 31 38 21 c9  |=255:FID%=1.18!.|
0000da70  20 36 3a 46 49 46 43 25  3d 32 35 35 3a 4c 41 46  | 6:FIFC%=255:LAF|
0000da80  43 25 3d 30 3a 46 49 44  25 3d 2d 31 0d 31 42 05  |C%=0:FID%=-1.1B.|
0000da90  cb 0d 31 4c 17 e7 20 46  49 54 25 3d 35 20 84 20  |..1L.. FIT%=5 . |
0000daa0  46 49 54 25 3d 36 20 8c  0d 31 56 3f e7 20 28 46  |FIT%=6 ..1V?. (F|
0000dab0  4d 41 58 58 25 2d 58 25  29 3e 28 58 25 2d 46 4d  |MAXX%-X%)>(X%-FM|
0000dac0  49 4e 58 25 29 20 8c 20  58 4f 46 25 3d 46 4d 41  |INX%) . XOF%=FMA|
0000dad0  58 58 25 2d 58 25 20 8b  20 58 4f 46 25 3d 58 25  |XX%-X% . XOF%=X%|
0000dae0  2d 46 4d 49 4e 58 25 0d  31 60 3f e7 20 28 46 4d  |-FMINX%.1`?. (FM|
0000daf0  41 58 59 25 2d 59 25 29  3e 28 59 25 2d 46 4d 49  |AXY%-Y%)>(Y%-FMI|
0000db00  4e 59 25 29 20 8c 20 59  4f 46 25 3d 46 4d 41 58  |NY%) . YOF%=FMAX|
0000db10  59 25 2d 59 25 20 8b 20  59 4f 46 25 3d 59 25 2d  |Y%-Y% . YOF%=Y%-|
0000db20  46 4d 49 4e 59 25 0d 31  6a 1d 46 49 57 25 3d b6  |FMINY%.1j.FIW%=.|
0000db30  28 28 58 4f 46 25 5e 32  29 2b 28 59 4f 46 25 5e  |((XOF%^2)+(YOF%^|
0000db40  32 29 29 0d 31 74 05 cd  0d 31 7e 31 43 50 50 25  |2)).1t...1~1CPP%|
0000db50  3d 28 32 35 35 3c 3c 38  29 20 81 20 46 49 57 25  |=(255<<8) . FIW%|
0000db60  3a 43 50 53 25 3d 28 32  35 35 3c 3c 38 29 20 81  |:CPS%=(255<<8) .|
0000db70  20 28 4e 4f 53 25 2d 31  29 0d 31 88 48 49 25 3d  | (NOS%-1).1.HI%=|
0000db80  49 4f 25 3a e3 4c 25 3d  30 20 b8 20 31 35 3a 3f  |IO%:.L%=0 . 15:?|
0000db90  49 25 3d 47 52 46 49 25  28 4c 25 2c 30 2c 4e 4f  |I%=GRFI%(L%,0,NO|
0000dba0  46 25 29 3a 49 25 3f 31  3d 47 52 46 49 25 28 4c  |F%):I%?1=GRFI%(L|
0000dbb0  25 2c 31 2c 4e 4f 46 25  29 3a 49 25 2b 3d 32 3a  |%,1,NOF%):I%+=2:|
0000dbc0  ed 0d 31 92 36 21 56 41  52 53 3d 50 49 43 25 3a  |..1.6!VARS=PIC%:|
0000dbd0  e7 20 47 52 54 59 25 3d  30 20 8c 20 56 41 52 53  |. GRTY%=0 . VARS|
0000dbe0  21 34 3d 53 50 42 55 46  25 20 8b 20 56 41 52 53  |!4=SPBUF% . VARS|
0000dbf0  21 34 3d 50 49 43 25 0d  31 9c cd 56 41 52 53 21  |!4=PIC%.1..VARS!|
0000dc00  38 3d 49 4f 25 3a 56 41  52 53 21 31 32 3d 4e 4f  |8=IO%:VARS!12=NO|
0000dc10  53 25 3a 56 41 52 53 21  31 36 3d 46 49 46 43 25  |S%:VARS!16=FIFC%|
0000dc20  3a 56 41 52 53 21 32 30  3d 4c 41 46 43 25 3a 56  |:VARS!20=LAFC%:V|
0000dc30  41 52 53 21 32 34 3d 46  49 44 25 3a 56 41 52 53  |ARS!24=FID%:VARS|
0000dc40  21 32 38 3d 43 50 50 25  3a 56 41 52 53 21 33 32  |!28=CPP%:VARS!32|
0000dc50  3d 43 50 53 25 3a 56 41  52 53 21 33 36 3d 58 25  |=CPS%:VARS!36=X%|
0000dc60  3a 56 41 52 53 21 34 30  3d 59 25 3a 56 41 52 53  |:VARS!40=Y%:VARS|
0000dc70  21 34 34 3d 52 4f 54 54  41 42 25 3a 56 41 52 53  |!44=ROTTAB%:VARS|
0000dc80  21 34 38 3d 46 49 54 25  3a 56 41 52 53 21 35 32  |!48=FIT%:VARS!52|
0000dc90  3d 46 4d 49 4e 58 25 3a  56 41 52 53 21 35 36 3d  |=FMINX%:VARS!56=|
0000dca0  46 4d 49 4e 59 25 3a 56  41 52 53 21 36 30 3d 46  |FMINY%:VARS!60=F|
0000dcb0  4d 41 58 58 25 3a 56 41  52 53 21 36 34 3d 46 4d  |MAXX%:VARS!64=FM|
0000dcc0  41 58 59 25 0d 31 a6 1b  56 41 52 53 21 36 38 3d  |AXY%.1..VARS!68=|
0000dcd0  52 41 4e 44 25 3a 56 41  52 53 21 37 32 3d 30 0d  |RAND%:VARS!72=0.|
0000dce0  31 b0 1c 56 41 52 53 21  37 36 3d bb a4 67 65 74  |1..VARS!76=..get|
0000dcf0  69 63 6f 6e 28 31 33 2c  33 39 29 0d 31 ba 2a e7  |icon(13,39).1.*.|
0000dd00  20 a4 68 69 67 68 28 31  33 2c 35 34 29 20 8c 20  | .high(13,54) . |
0000dd10  56 41 52 53 21 38 30 3d  31 20 8b 20 56 41 52 53  |VARS!80=1 . VARS|
0000dd20  21 38 30 3d 30 0d 31 c4  39 56 41 52 53 21 38 34  |!80=0.1.9VARS!84|
0000dd30  3d 45 54 25 3a 56 41 52  53 21 38 38 3d 54 52 41  |=ET%:VARS!88=TRA|
0000dd40  53 50 25 3a 56 41 52 53  21 39 32 3d 47 52 54 59  |SP%:VARS!92=GRTY|
0000dd50  25 3a 56 41 52 53 21 39  36 3d 42 54 43 25 0d 31  |%:VARS!96=BTC%.1|
0000dd60  ce 27 e3 4c 25 3d 30 20  b8 20 34 30 39 32 20 88  |.'.L%=0 . 4092 .|
0000dd70  20 34 3a 52 41 4e 44 25  21 4c 25 3d b3 28 43 50  | 4:RAND%!L%=.(CP|
0000dd80  53 25 29 3a ed 0d 31 d8  0b 41 25 3d 56 41 52 53  |S%):..1..A%=VARS|
0000dd90  0d 31 e2 13 d6 20 67 72  61 64 75 61 74 65 64 66  |.1... graduatedf|
0000dda0  69 6c 6c 0d 31 ec 1a f2  73 70 69 6e 69 74 3a f2  |ill.1...spinit:.|
0000ddb0  66 6f 72 63 65 64 72 61  77 6d 61 69 6e 0d 31 f6  |forcedrawmain.1.|
0000ddc0  05 e1 0d 32 00 04 0d 32  0a 1f dd f2 68 67 3a c8  |...2...2....hg:.|
0000ddd0  99 20 22 48 6f 75 72 67  6c 61 73 73 5f 53 6d 61  |. "Hourglass_Sma|
0000dde0  73 68 22 3a e1 0d 32 14  04 0d 32 1e 0f dd f2 73  |sh":..2...2....s|
0000ddf0  77 61 70 63 6f 72 6e 73  0d 32 28 1e e7 20 58 25  |wapcorns.2(.. X%|
0000de00  28 30 29 3e 4f 58 25 20  8c 20 c8 94 20 58 25 28  |(0)>OX% . .. X%(|
0000de10  30 29 2c 4f 58 25 0d 32  32 1e e7 20 59 25 28 30  |0),OX%.22.. Y%(0|
0000de20  29 3e 4f 59 25 20 8c 20  c8 94 20 59 25 28 30 29  |)>OY% . .. Y%(0)|
0000de30  2c 4f 59 25 0d 32 3c 05  e1 0d 32 46 04 0d 32 50  |,OY%.2<...2F..2P|
0000de40  45 dd a4 73 61 6d 65 63  6f 6c 28 78 31 25 2c 79  |E..samecol(x1%,y|
0000de50  31 25 2c 63 6f 6c 25 2c  74 69 6e 25 29 3a 3d 28  |1%,col%,tin%):=(|
0000de60  b0 78 31 25 2c 79 31 25  29 3d 63 6f 6c 25 20 80  |.x1%,y1%)=col% .|
0000de70  20 c8 9c 28 78 31 25 2c  79 31 25 29 3d 74 69 6e  | ..(x1%,y1%)=tin|
0000de80  25 29 0d 32 5a 04 0d 32  64 35 dd f2 6c 28 78 31  |%).2Z..2d5..l(x1|
0000de90  25 2c 79 31 25 2c 78 32  25 2c 79 32 25 29 3a f0  |%,y1%,x2%,y2%):.|
0000dea0  34 2c 78 31 25 2c 79 31  25 3a f0 20 4c 49 54 59  |4,x1%,y1%:. LITY|
0000deb0  25 2c 78 32 25 2c 79 32  25 3a e1 0d 32 6e 04 0d  |%,x2%,y2%:..2n..|
0000dec0  32 78 67 dd f2 72 28 78  31 25 2c 79 31 25 2c 78  |2xg..r(x1%,y1%,x|
0000ded0  32 25 2c 79 32 25 29 3a  f0 34 2c 78 31 25 2c 79  |2%,y2%):.4,x1%,y|
0000dee0  31 25 3a f0 20 4c 49 54  59 25 2d 34 2c 78 32 25  |1%:. LITY%-4,x2%|
0000def0  2c 30 3a f0 20 4c 49 54  59 25 2d 34 2c 30 2c 79  |,0:. LITY%-4,0,y|
0000df00  32 25 3a f0 20 4c 49 54  59 25 2d 34 2c 2d 78 32  |2%:. LITY%-4,-x2|
0000df10  25 2c 30 3a f0 20 4c 49  54 59 25 2d 34 2c 30 2c  |%,0:. LITY%-4,0,|
0000df20  2d 79 32 25 3a e1 0d 32  82 04 0d 32 8c 1c dd f2  |-y2%:..2...2....|
0000df30  74 72 61 63 65 28 58 25  2c 59 25 2c 54 43 4f 25  |trace(X%,Y%,TCO%|
0000df40  2c 54 54 49 25 29 0d 32  96 15 c8 99 20 22 48 6f  |,TTI%).2.... "Ho|
0000df50  75 72 67 6c 61 73 73 5f  4f 6e 22 0d 32 a0 15 ea  |urglass_On".2...|
0000df60  20 64 69 72 25 2c 78 25  2c 70 78 25 2c 70 79 25  | dir%,x%,px%,py%|
0000df70  0d 32 aa 67 e7 20 a4 73  61 6d 65 63 6f 6c 28 58  |.2.g. .samecol(X|
0000df80  25 2c 59 25 2c 54 43 4f  25 2c 54 54 49 25 29 20  |%,Y%,TCO%,TTI%) |
0000df90  8c 20 f2 6d 65 73 73 61  67 65 28 30 2c 22 43 61  |. .message(0,"Ca|
0000dfa0  6e 6e 6f 74 20 74 72 61  63 65 20 66 72 6f 6d 20  |nnot trace from |
0000dfb0  61 6e 20 61 64 6a 61 63  65 6e 74 20 70 69 78 65  |an adjacent pixe|
0000dfc0  6c 20 6f 66 20 74 68 65  20 73 61 6d 65 20 63 6f  |l of the same co|
0000dfd0  6c 6f 75 72 2e 22 29 0d  32 b4 11 70 78 25 3d 58  |lour.").2..px%=X|
0000dfe0  25 3a 70 79 25 3d 59 25  0d 32 be 0a 64 69 72 25  |%:py%=Y%.2..dir%|
0000dff0  3d 33 0d 32 c8 0b f2 69  6e 63 64 69 72 0d 32 d2  |=3.2...incdir.2.|
0000e000  05 f5 0d 32 dc 43 e7 20  ac 20 a4 73 61 6d 65 63  |...2.C. . .samec|
0000e010  6f 6c 28 78 25 2c 79 25  2c 54 43 4f 25 2c 54 54  |ol(x%,y%,TCO%,TT|
0000e020  49 25 29 20 8c 20 f0 36  39 2c 78 25 2c 79 25 3a  |I%) . .69,x%,y%:|
0000e030  70 78 25 3d 78 25 3a 70  79 25 3d 79 25 3a f2 64  |px%=x%:py%=y%:.d|
0000e040  65 63 64 69 72 0d 32 e6  0b f2 69 6e 63 64 69 72  |ecdir.2...incdir|
0000e050  0d 32 f0 13 fd 20 78 25  3d 58 25 20 80 20 79 25  |.2... x%=X% . y%|
0000e060  3d 59 25 0d 32 fa 0d f0  36 39 2c 78 25 2c 79 25  |=Y%.2...69,x%,y%|
0000e070  0d 33 04 16 c8 99 20 22  48 6f 75 72 67 6c 61 73  |.3.... "Hourglas|
0000e080  73 5f 4f 66 66 22 0d 33  0e 05 e1 0d 33 18 04 0d  |s_Off".3....3...|
0000e090  33 22 0c dd f2 69 6e 63  64 69 72 0d 33 2c 13 64  |3"...incdir.3,.d|
0000e0a0  69 72 25 3d 28 64 69 72  25 2b 31 29 83 34 0d 33  |ir%=(dir%+1).4.3|
0000e0b0  36 0d c8 8e 20 64 69 72  25 20 ca 0d 33 40 17 c9  |6... dir% ..3@..|
0000e0c0  20 30 3a 78 25 3d 70 78  25 2d 32 3a 79 25 3d 70  | 0:x%=px%-2:y%=p|
0000e0d0  79 25 0d 33 4a 17 c9 20  31 3a 78 25 3d 70 78 25  |y%.3J.. 1:x%=px%|
0000e0e0  3a 79 25 3d 70 79 25 2b  34 0d 33 54 17 c9 20 32  |:y%=py%+4.3T.. 2|
0000e0f0  3a 78 25 3d 70 78 25 2b  32 3a 79 25 3d 70 79 25  |:x%=px%+2:y%=py%|
0000e100  0d 33 5e 17 c9 20 33 3a  78 25 3d 70 78 25 3a 79  |.3^.. 3:x%=px%:y|
0000e110  25 3d 70 79 25 2d 34 0d  33 68 05 cb 0d 33 72 05  |%=py%-4.3h...3r.|
0000e120  e1 0d 33 7c 04 0d 33 86  0c dd f2 64 65 63 64 69  |..3|..3....decdi|
0000e130  72 0d 33 90 13 64 69 72  25 3d 28 64 69 72 25 2b  |r.3..dir%=(dir%+|
0000e140  32 29 83 34 0d 33 9a 05  e1 0d 33 a4 04 0d 33 ae  |2).4.3....3...3.|
0000e150  19 dd a4 66 69 6e 64 70  61 6c 65 6e 74 28 43 4f  |...findpalent(CO|
0000e160  25 2c 54 49 25 29 0d 33  b8 1e 3d 43 54 54 25 3f  |%,TI%).3..=CTT%?|
0000e170  28 28 43 4f 25 2a 34 29  2b 28 54 49 25 20 81 20  |((CO%*4)+(TI% . |
0000e180  36 34 29 29 0d 33 c2 04  0d 33 cc 3e dd f2 73 65  |64)).3...3.>..se|
0000e190  74 63 6f 6c 3a e6 20 55  53 45 25 2c 50 41 4c 54  |tcol:. USE%,PALT|
0000e1a0  41 42 25 3f 28 43 4f 4c  25 2a 32 29 20 c8 9c 20  |AB%?(COL%*2) .. |
0000e1b0  50 41 4c 54 41 42 25 3f  28 28 43 4f 4c 25 2a 32  |PALTAB%?((COL%*2|
0000e1c0  29 2b 31 29 3a e1 0d 33  d6 04 0d 33 e0 48 dd f2  |)+1):..3...3.H..|
0000e1d0  73 65 74 62 61 63 6b 63  6f 6c 3a e6 20 55 53 45  |setbackcol:. USE|
0000e1e0  25 2c 28 50 41 4c 54 41  42 25 3f 28 43 4f 4c 25  |%,(PALTAB%?(COL%|
0000e1f0  2a 32 29 29 2b 31 32 38  20 c8 9c 20 50 41 4c 54  |*2))+128 .. PALT|
0000e200  41 42 25 3f 28 28 43 4f  4c 25 2a 32 29 2b 31 29  |AB%?((COL%*2)+1)|
0000e210  3a e1 0d 33 ea 04 0d 33  f4 13 dd f2 63 6f 6c 28  |:..3...3....col(|
0000e220  43 25 2c 54 25 2c 55 25  29 0d 33 fe 16 c8 99 26  |C%,T%,U%).3....&|
0000e230  33 35 2c 2d 31 2c 39 20  b8 20 2c 2c 42 50 25 0d  |35,-1,9 . ,,BP%.|
0000e240  34 08 1c e7 20 42 50 25  3d 33 20 8c 20 e6 55 25  |4... BP%=3 . .U%|
0000e250  2c 43 25 20 c8 9c 20 54  25 3a e1 0d 34 12 2b 52  |,C% .. T%:..4.+R|
0000e260  25 3d 28 28 43 25 20 80  20 25 31 31 29 2a 34 29  |%=((C% . %11)*4)|
0000e270  2b 28 54 25 20 81 20 36  34 29 3a 52 25 2b 3d 28  |+(T% . 64):R%+=(|
0000e280  52 25 3c 3c 34 29 0d 34  1c 32 47 25 3d 28 28 28  |R%<<4).4.2G%=(((|
0000e290  43 25 20 80 20 25 31 31  30 30 29 3e 3e 32 29 2a  |C% . %1100)>>2)*|
0000e2a0  34 29 2b 28 54 25 20 81  20 36 34 29 3a 47 25 2b  |4)+(T% . 64):G%+|
0000e2b0  3d 28 47 25 3c 3c 34 29  0d 34 26 34 42 25 3d 28  |=(G%<<4).4&4B%=(|
0000e2c0  28 28 43 25 20 80 20 25  31 31 30 30 30 30 29 3e  |((C% . %110000)>|
0000e2d0  3e 34 29 2a 34 29 2b 28  54 25 20 81 20 36 34 29  |>4)*4)+(T% . 64)|
0000e2e0  3a 42 25 2b 3d 28 42 25  3c 3c 34 29 0d 34 30 3e  |:B%+=(B%<<4).40>|
0000e2f0  c8 99 20 22 43 6f 6c 6f  75 72 54 72 61 6e 73 5f  |.. "ColourTrans_|
0000e300  53 65 74 47 43 4f 4c 22  2c 28 28 42 25 3c 3c 32  |SetGCOL",((B%<<2|
0000e310  34 29 2b 28 47 25 3c 3c  31 36 29 2b 28 52 25 3c  |4)+(G%<<16)+(R%<|
0000e320  3c 38 29 29 2c 2c 2c 2c  55 25 0d 34 3a 05 e1 0d  |<8)),,,,U%.4:...|
0000e330  34 44 04 0d 34 4e 17 dd  f2 61 6e 74 69 63 6f 6c  |4D..4N...anticol|
0000e340  28 43 25 2c 54 25 2c 55  25 29 0d 34 58 2b 52 25  |(C%,T%,U%).4X+R%|
0000e350  3d 28 28 43 25 20 80 20  25 31 31 29 2a 34 29 2b  |=((C% . %11)*4)+|
0000e360  28 54 25 20 81 20 36 34  29 3a 52 25 2b 3d 28 52  |(T% . 64):R%+=(R|
0000e370  25 3c 3c 34 29 0d 34 62  32 47 25 3d 28 28 28 43  |%<<4).4b2G%=(((C|
0000e380  25 20 80 20 25 31 31 30  30 29 3e 3e 32 29 2a 34  |% . %1100)>>2)*4|
0000e390  29 2b 28 54 25 20 81 20  36 34 29 3a 47 25 2b 3d  |)+(T% . 64):G%+=|
0000e3a0  28 47 25 3c 3c 34 29 0d  34 6c 34 42 25 3d 28 28  |(G%<<4).4l4B%=((|
0000e3b0  28 43 25 20 80 20 25 31  31 30 30 30 30 29 3e 3e  |(C% . %110000)>>|
0000e3c0  34 29 2a 34 29 2b 28 54  25 20 81 20 36 34 29 3a  |4)*4)+(T% . 64):|
0000e3d0  42 25 2b 3d 28 42 25 3c  3c 34 29 0d 34 76 4e c8  |B%+=(B%<<4).4vN.|
0000e3e0  99 20 22 43 6f 6c 6f 75  72 54 72 61 6e 73 5f 52  |. "ColourTrans_R|
0000e3f0  65 74 75 72 6e 4f 70 70  47 43 4f 4c 46 6f 72 4d  |eturnOppGCOLForM|
0000e400  6f 64 65 22 2c 28 28 42  25 3c 3c 32 34 29 2b 28  |ode",((B%<<24)+(|
0000e410  47 25 3c 3c 31 36 29 2b  28 52 25 3c 3c 38 29 29  |G%<<16)+(R%<<8))|
0000e420  2c 31 35 20 b8 20 47 43  25 0d 34 80 23 e6 20 55  |,15 . GC%.4.#. U|
0000e430  25 2c 28 47 43 25 3e 3e  32 29 20 c8 9c 20 28 47  |%,(GC%>>2) .. (G|
0000e440  43 25 20 80 20 25 31 31  29 2a 36 34 0d 34 8a 05  |C% . %11)*64.4..|
0000e450  e1 0d 34 94 04 0d 34 9e  0d dd f2 67 72 69 64 63  |..4...4....gridc|
0000e460  6f 6c 0d 34 a8 17 f2 63  6f 6c 28 47 52 43 4f 25  |ol.4...col(GRCO%|
0000e470  2c 47 52 54 49 25 2c 30  29 0d 34 b2 05 e1 0d 34  |,GRTI%,0).4....4|
0000e480  bc 04 0d 34 c6 0c dd f2  6d 61 6b 65 72 72 0d 34  |...4....makerr.4|
0000e490  d0 18 c8 99 20 22 57 69  6d 70 5f 44 72 61 67 42  |.... "Wimp_DragB|
0000e4a0  6f 78 22 2c 2c 30 0d 34  da 0b 21 42 4c 4b 25 3d  |ox",,0.4..!BLK%=|
0000e4b0  9f 0d 34 e4 08 45 52 3d  b9 0d 34 ee 0a c8 8e 20  |..4..ER=..4.... |
0000e4c0  9f 20 ca 0d 34 f8 34 c9  20 32 32 32 3a 24 28 42  |. ..4.4. 222:$(B|
0000e4d0  4c 4b 25 2b 34 29 3d 22  46 69 6c 65 20 63 61 6e  |LK%+4)="File can|
0000e4e0  6e 6f 74 20 62 65 20 66  6f 75 6e 64 22 2b bd 28  |not be found"+.(|
0000e4f0  30 29 3a 45 52 3d a3 0d  35 02 05 7f 0d 35 0c 8f  |0):ER=..5....5..|
0000e500  24 28 42 4c 4b 25 2b 34  29 3d 22 41 72 63 68 72  |$(BLK%+4)="Archr|
0000e510  6f 6d 65 20 68 61 73 20  73 75 66 66 65 72 65 64  |ome has suffered|
0000e520  20 61 20 73 65 72 69 6f  75 73 20 69 6e 74 65 72  | a serious inter|
0000e530  6e 61 6c 20 65 72 72 6f  72 20 28 22 2b c3 9f 2b  |nal error ("+..+|
0000e540  22 2f 22 2b c3 9e 2b 22  29 20 59 6f 75 20 73 68  |"/"+..+") You sh|
0000e550  6f 75 6c 64 20 73 61 76  65 20 79 6f 75 72 20 77  |ould save your w|
0000e560  6f 72 6b 20 61 6e 64 20  72 65 2d 73 74 61 72 74  |ork and re-start|
0000e570  20 61 73 20 73 6f 6f 6e  20 61 73 20 70 6f 73 73  | as soon as poss|
0000e580  69 62 6c 65 2e 22 2b bd  28 30 29 0d 35 16 05 cb  |ible."+.(0).5...|
0000e590  0d 35 20 2b c8 99 20 22  57 69 6d 70 5f 52 65 70  |.5 +.. "Wimp_Rep|
0000e5a0  6f 72 74 45 72 72 6f 72  22 2c 42 4c 4b 25 2c 31  |ortError",BLK%,1|
0000e5b0  2c 22 41 72 63 68 72 6f  6d 65 22 0d 35 2a 0d f2  |,"Archrome".5*..|
0000e5c0  61 63 74 69 6f 6e 3a e0  0d 35 34 05 e1 0d 35 3e  |action:..54...5>|
0000e5d0  04 0d 35 48 1c dd f2 6d  65 73 73 61 67 65 28 4d  |..5H...message(M|
0000e5e0  25 2c 4d 24 29 3a f2 6f  75 74 70 69 63 0d 35 52  |%,M$):.outpic.5R|
0000e5f0  5b c8 99 20 22 57 69 6d  70 5f 44 72 61 67 42 6f  |[.. "Wimp_DragBo|
0000e600  78 22 2c 2c 30 3a 21 42  4c 4b 25 3d 4d 25 3a 24  |x",,0:!BLK%=M%:$|
0000e610  28 42 4c 4b 25 2b 34 29  3d 4d 24 2b bd 28 30 29  |(BLK%+4)=M$+.(0)|
0000e620  3a c8 99 20 22 57 69 6d  70 5f 52 65 70 6f 72 74  |:.. "Wimp_Report|
0000e630  45 72 72 6f 72 22 2c 42  4c 4b 25 2c 31 2c 22 41  |Error",BLK%,1,"A|
0000e640  72 63 68 72 6f 6d 65 22  0d 35 5c 12 f2 66 6f 72  |rchrome".5\..for|
0000e650  63 65 64 72 61 77 6d 61  69 6e 0d 35 66 0d f2 61  |cedrawmain.5f..a|
0000e660  63 74 69 6f 6e 3a e0 0d  35 70 05 e1 0d 35 7a 04  |ction:..5p...5z.|
0000e670  0d 35 84 0b dd f2 6d 6f  75 73 65 0d 35 8e 46 4d  |.5....mouse.5.FM|
0000e680  4f 55 58 25 3d 21 42 4c  4b 25 3a 4d 4f 55 59 25  |OUX%=!BLK%:MOUY%|
0000e690  3d 42 4c 4b 25 21 34 3a  4d 4f 55 42 25 3d 42 4c  |=BLK%!4:MOUB%=BL|
0000e6a0  4b 25 21 38 3a 4d 4f 55  48 25 3d 42 4c 4b 25 21  |K%!8:MOUH%=BLK%!|
0000e6b0  31 32 3a 4d 4f 55 49 43  25 3d 42 4c 4b 25 21 31  |12:MOUIC%=BLK%!1|
0000e6c0  36 0d 35 98 0e c8 8e 20  4d 4f 55 42 25 20 ca 0d  |6.5.... MOUB% ..|
0000e6d0  35 a2 14 c9 20 34 2c 31  3a c8 8e 20 4d 4f 55 48  |5... 4,1:.. MOUH|
0000e6e0  25 20 ca 0d 35 ac 12 c9  20 2d 32 3a f2 6f 70 65  |% ..5... -2:.ope|
0000e6f0  6e 6d 61 69 6e 0d 35 b6  24 c9 20 48 41 4e 44 25  |nmain.5.$. HAND%|
0000e700  28 30 29 3a e7 20 42 4c  4b 25 21 31 36 3d 32 20  |(0):. BLK%!16=2 |
0000e710  8c 20 f2 73 61 76 65 6f  6b 0d 35 c0 2a c9 20 48  |. .saveok.5.*. H|
0000e720  41 4e 44 25 28 37 29 3a  e7 20 42 4c 4b 25 21 31  |AND%(7):. BLK%!1|
0000e730  36 3d 32 20 8c 20 f2 73  70 72 69 74 65 73 61 76  |6=2 . .spritesav|
0000e740  65 6f 6b 0d 35 ca 18 c9  20 48 41 4e 44 25 28 32  |eok.5... HAND%(2|
0000e750  29 3a f2 70 69 63 63 6c  69 63 6b 0d 35 d4 17 c9  |):.picclick.5...|
0000e760  20 48 41 4e 44 25 28 33  29 3a f2 70 69 63 6b 63  | HAND%(3):.pickc|
0000e770  6f 6c 0d 35 de 19 c9 20  48 41 4e 44 25 28 34 29  |ol.5... HAND%(4)|
0000e780  3a f2 61 69 72 62 63 6c  69 63 6b 0d 35 e8 1a c9  |:.airbclick.5...|
0000e790  20 48 41 4e 44 25 28 35  29 3a f2 62 72 75 73 68  | HAND%(5):.brush|
0000e7a0  63 6c 69 63 6b 0d 35 f2  19 c9 20 48 41 4e 44 25  |click.5... HAND%|
0000e7b0  28 36 29 3a f2 67 72 69  64 63 6c 69 63 6b 0d 35  |(6):.gridclick.5|
0000e7c0  fc 19 c9 20 48 41 4e 44  25 28 38 29 3a f2 67 72  |... HAND%(8):.gr|
0000e7d0  61 62 63 6c 69 63 6b 0d  36 06 1d c9 20 48 41 4e  |abclick.6... HAN|
0000e7e0  44 25 28 31 30 29 3a f2  6c 69 6e 65 70 61 74 63  |D%(10):.linepatc|
0000e7f0  6c 69 63 6b 0d 36 10 19  c9 20 48 41 4e 44 25 28  |lick.6... HAND%(|
0000e800  31 31 29 3a f2 65 63 66  63 6c 69 63 6b 0d 36 1a  |11):.ecfclick.6.|
0000e810  1b c9 20 48 41 4e 44 25  28 31 32 29 3a f2 65 64  |.. HAND%(12):.ed|
0000e820  62 72 75 63 6c 69 63 6b  0d 36 24 1a c9 20 48 41  |bruclick.6$.. HA|
0000e830  4e 44 25 28 31 33 29 3a  f2 66 69 6c 6c 63 6c 69  |ND%(13):.fillcli|
0000e840  63 6b 0d 36 2e 1a c9 20  48 41 4e 44 25 28 31 34  |ck.6... HAND%(14|
0000e850  29 3a f2 74 65 78 74 63  6c 69 63 6b 0d 36 38 1b  |):.textclick.68.|
0000e860  c9 20 48 41 4e 44 25 28  31 35 29 3a f2 74 62 61  |. HAND%(15):.tba|
0000e870  63 6b 63 6c 69 63 6b 0d  36 42 1a c9 20 48 41 4e  |ckclick.6B.. HAN|
0000e880  44 25 28 31 36 29 3a f2  74 70 61 72 63 6c 69 63  |D%(16):.tparclic|
0000e890  6b 0d 36 4c 1e c9 20 48  41 4e 44 25 28 31 37 29  |k.6L.. HAND%(17)|
0000e8a0  3a f2 66 69 6c 6c 63 6f  6e 74 63 6c 69 63 6b 0d  |:.fillcontclick.|
0000e8b0  36 56 1c c9 20 48 41 4e  44 25 28 31 38 29 3a f2  |6V.. HAND%(18):.|
0000e8c0  63 6f 6c 72 65 70 63 6c  69 63 6b 0d 36 60 1b c9  |colrepclick.6`..|
0000e8d0  20 48 41 4e 44 25 28 31  39 29 3a f2 66 72 61 6d  | HAND%(19):.fram|
0000e8e0  65 63 6c 69 63 6b 0d 36  6a 1d c9 20 48 41 4e 44  |eclick.6j.. HAND|
0000e8f0  25 28 32 30 29 3a f2 70  61 74 66 69 6c 6c 63 6c  |%(20):.patfillcl|
0000e900  69 63 6b 0d 36 74 1d c9  20 48 41 4e 44 25 28 32  |ick.6t.. HAND%(2|
0000e910  31 29 3a f2 72 67 62 63  6f 6e 74 63 6c 69 63 6b  |1):.rgbcontclick|
0000e920  0d 36 7e 1f c9 20 48 41  4e 44 25 28 32 32 29 3a  |.6~.. HAND%(22):|
0000e930  f2 67 72 65 79 73 63 61  6c 65 63 6c 69 63 6b 0d  |.greyscaleclick.|
0000e940  36 88 1e c9 20 48 41 4e  44 25 28 32 33 29 3a f2  |6... HAND%(23):.|
0000e950  70 69 78 65 6c 61 74 65  63 6c 69 63 6b 0d 36 92  |pixelateclick.6.|
0000e960  1c c9 20 48 41 4e 44 25  28 32 34 29 3a f2 72 6f  |.. HAND%(24):.ro|
0000e970  74 61 74 65 63 6c 69 63  6b 0d 36 9c 05 cb 0d 36  |tateclick.6....6|
0000e980  a6 3d c9 20 32 3a e7 20  4d 4f 55 48 25 3d 2d 32  |.=. 2:. MOUH%=-2|
0000e990  20 8c 20 f2 69 63 6f 6e  6d 65 6e 75 20 8b 20 e7  | . .iconmenu . .|
0000e9a0  20 4d 4f 55 48 25 3d 48  41 4e 44 25 28 32 29 20  | MOUH%=HAND%(2) |
0000e9b0  8c 20 f2 77 69 6e 64 6d  65 6e 75 0d 36 b0 31 c9  |. .windmenu.6.1.|
0000e9c0  20 31 36 2c 36 34 3a e7  20 4d 4f 55 48 25 3d 48  | 16,64:. MOUH%=H|
0000e9d0  41 4e 44 25 28 30 29 20  8c 20 44 52 41 47 25 3d  |AND%(0) . DRAG%=|
0000e9e0  30 3a f2 73 74 61 72 74  64 72 61 67 0d 36 ba 29  |0:.startdrag.6.)|
0000e9f0  e7 20 4d 4f 55 48 25 3d  48 41 4e 44 25 28 37 29  |. MOUH%=HAND%(7)|
0000ea00  20 8c 20 44 52 41 47 25  3d 37 3a f2 73 74 61 72  | . DRAG%=7:.star|
0000ea10  74 64 72 61 67 0d 36 c4  05 cb 0d 36 ce 05 e1 0d  |tdrag.6....6....|
0000ea20  36 d8 04 0d 36 e2 11 dd  f2 72 6f 74 61 74 65 63  |6...6....rotatec|
0000ea30  6c 69 63 6b 0d 36 ec 1e  e7 20 4d 4f 55 49 43 25  |lick.6... MOUIC%|
0000ea40  3c 3e 31 20 80 20 4d 4f  55 49 43 25 3c 33 20 8c  |<>1 . MOUIC%<3 .|
0000ea50  20 e1 0d 36 f6 29 e7 20  46 55 53 54 25 3e 3d 32  | ..6.). FUST%>=2|
0000ea60  20 8c 20 f2 69 6e 70 69  63 3a f2 70 72 6f 74 62  | . .inpic:.protb|
0000ea70  6f 78 28 4f 58 25 2c 4f  59 25 29 0d 37 00 2d e7  |ox(OX%,OY%).7.-.|
0000ea80  20 4d 4f 55 49 43 25 3d  31 20 8c 20 52 4f 54 25  | MOUIC%=1 . ROT%|
0000ea90  2d 3d 31 3a e7 20 52 4f  54 25 3c 30 20 8c 20 52  |-=1:. ROT%<0 . R|
0000eaa0  4f 54 25 2b 3d 33 36 30  0d 37 0a 22 e7 20 4d 4f  |OT%+=360.7.". MO|
0000eab0  55 49 43 25 3d 33 20 8c  20 52 4f 54 25 3d 28 52  |UIC%=3 . ROT%=(R|
0000eac0  4f 54 25 2b 31 29 83 33  36 30 0d 37 14 2e e7 20  |OT%+1).360.7... |
0000ead0  4d 4f 55 49 43 25 3d 34  20 8c 20 52 4f 54 25 2d  |MOUIC%=4 . ROT%-|
0000eae0  3d 31 30 3a e7 20 52 4f  54 25 3c 30 20 8c 20 52  |=10:. ROT%<0 . R|
0000eaf0  4f 54 25 2b 3d 33 36 30  0d 37 1e 23 e7 20 4d 4f  |OT%+=360.7.#. MO|
0000eb00  55 49 43 25 3d 35 20 8c  20 52 4f 54 25 3d 28 52  |UIC%=5 . ROT%=(R|
0000eb10  4f 54 25 2b 31 30 29 83  33 36 30 0d 37 28 39 e7  |OT%+10).360.7(9.|
0000eb20  20 46 55 53 54 25 3e 3d  32 20 8c 20 f2 70 72 6f  | FUST%>=2 . .pro|
0000eb30  74 62 6f 78 28 4f 58 25  2c 4f 59 25 29 3a f2 6f  |tbox(OX%,OY%):.o|
0000eb40  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
0000eb50  6d 61 69 6e 0d 37 32 18  f2 73 65 74 69 63 6f 6e  |main.72..seticon|
0000eb60  28 32 34 2c 32 2c c3 52  4f 54 25 29 0d 37 3c 05  |(24,2,.ROT%).7<.|
0000eb70  e1 0d 37 46 04 0d 37 50  12 dd f2 72 67 62 63 6f  |..7F..7P...rgbco|
0000eb80  6e 74 63 6c 69 63 6b 0d  37 5a 34 52 50 25 3d a4  |ntclick.7Z4RP%=.|
0000eb90  70 65 72 63 28 32 31 2c  34 29 3a 47 50 25 3d a4  |perc(21,4):GP%=.|
0000eba0  70 65 72 63 28 32 31 2c  37 29 3a 42 50 25 3d a4  |perc(21,7):BP%=.|
0000ebb0  70 65 72 63 28 32 31 2c  31 30 29 0d 37 64 1e 49  |perc(21,10).7d.I|
0000ebc0  52 50 25 3d 52 50 25 3a  49 47 50 25 3d 47 50 25  |RP%=RP%:IGP%=GP%|
0000ebd0  3a 49 42 50 25 3d 42 50  25 0d 37 6e 27 e7 20 4d  |:IBP%=BP%.7n'. M|
0000ebe0  4f 55 49 43 25 3d 33 20  8c 20 52 50 25 2d 3d 31  |OUIC%=3 . RP%-=1|
0000ebf0  3a e7 20 52 50 25 3c 30  20 8c 20 52 50 25 3d 30  |:. RP%<0 . RP%=0|
0000ec00  0d 37 78 2b e7 20 4d 4f  55 49 43 25 3d 35 20 8c  |.7x+. MOUIC%=5 .|
0000ec10  20 52 50 25 2b 3d 31 3a  e7 20 52 50 25 3e 32 30  | RP%+=1:. RP%>20|
0000ec20  30 20 8c 20 52 50 25 3d  32 30 30 0d 37 82 27 e7  |0 . RP%=200.7.'.|
0000ec30  20 4d 4f 55 49 43 25 3d  36 20 8c 20 47 50 25 2d  | MOUIC%=6 . GP%-|
0000ec40  3d 31 3a e7 20 47 50 25  3c 30 20 8c 20 47 50 25  |=1:. GP%<0 . GP%|
0000ec50  3d 30 0d 37 8c 2b e7 20  4d 4f 55 49 43 25 3d 38  |=0.7.+. MOUIC%=8|
0000ec60  20 8c 20 47 50 25 2b 3d  31 3a e7 20 47 50 25 3e  | . GP%+=1:. GP%>|
0000ec70  32 30 30 20 8c 20 47 50  25 3d 32 30 30 0d 37 96  |200 . GP%=200.7.|
0000ec80  27 e7 20 4d 4f 55 49 43  25 3d 39 20 8c 20 42 50  |'. MOUIC%=9 . BP|
0000ec90  25 2d 3d 31 3a e7 20 42  50 25 3c 30 20 8c 20 42  |%-=1:. BP%<0 . B|
0000eca0  50 25 3d 30 0d 37 a0 2c  e7 20 4d 4f 55 49 43 25  |P%=0.7.,. MOUIC%|
0000ecb0  3d 31 31 20 8c 20 42 50  25 2b 3d 31 3a e7 20 42  |=11 . BP%+=1:. B|
0000ecc0  50 25 3e 32 30 30 20 8c  20 42 50 25 3d 32 30 30  |P%>200 . BP%=200|
0000ecd0  0d 37 aa 2b e7 20 52 50  25 3c 3e 49 52 50 25 20  |.7.+. RP%<>IRP% |
0000ece0  8c 20 f2 73 65 74 69 63  6f 6e 28 32 31 2c 34 2c  |. .seticon(21,4,|
0000ecf0  c3 28 52 50 25 29 2b 22  25 22 29 0d 37 b4 2b e7  |.(RP%)+"%").7.+.|
0000ed00  20 47 50 25 3c 3e 49 47  50 25 20 8c 20 f2 73 65  | GP%<>IGP% . .se|
0000ed10  74 69 63 6f 6e 28 32 31  2c 37 2c c3 28 47 50 25  |ticon(21,7,.(GP%|
0000ed20  29 2b 22 25 22 29 0d 37  be 2c e7 20 42 50 25 3c  |)+"%").7.,. BP%<|
0000ed30  3e 49 42 50 25 20 8c 20  f2 73 65 74 69 63 6f 6e  |>IBP% . .seticon|
0000ed40  28 32 31 2c 31 30 2c c3  28 42 50 25 29 2b 22 25  |(21,10,.(BP%)+"%|
0000ed50  22 29 0d 37 c8 05 e1 0d  37 d2 04 0d 37 dc 14 dd  |").7....7...7...|
0000ed60  f2 67 72 65 79 73 63 61  6c 65 63 6c 69 63 6b 0d  |.greyscaleclick.|
0000ed70  37 e6 4d f2 61 72 72 6f  77 73 28 32 32 2c 33 2c  |7.M.arrows(22,3,|
0000ed80  35 2c 34 2c 30 2c 39 2c  31 29 3a f2 61 72 72 6f  |5,4,0,9,1):.arro|
0000ed90  77 73 28 32 32 2c 36 2c  38 2c 37 2c 30 2c 39 2c  |ws(22,6,8,7,0,9,|
0000eda0  31 29 3a f2 61 72 72 6f  77 73 28 32 32 2c 39 2c  |1):.arrows(22,9,|
0000edb0  31 31 2c 31 30 2c 30 2c  39 2c 31 29 0d 37 f0 05  |11,10,0,9,1).7..|
0000edc0  e1 0d 37 fa 04 0d 38 04  13 dd f2 70 69 78 65 6c  |..7...8....pixel|
0000edd0  61 74 65 63 6c 69 63 6b  0d 38 0e 37 f2 61 72 72  |ateclick.8.7.arr|
0000ede0  6f 77 73 28 32 33 2c 32  2c 34 2c 33 2c 31 2c 31  |ows(23,2,4,3,1,1|
0000edf0  30 30 2c 31 29 3a f2 61  72 72 6f 77 73 28 32 33  |00,1):.arrows(23|
0000ee00  2c 35 2c 37 2c 36 2c 31  2c 31 30 30 2c 31 29 0d  |,5,7,6,1,100,1).|
0000ee10  38 18 05 e1 0d 38 22 04  0d 38 2c 10 dd f2 66 72  |8....8"..8,...fr|
0000ee20  61 6d 65 63 6c 69 63 6b  0d 38 36 37 f2 61 72 72  |ameclick.867.arr|
0000ee30  6f 77 73 28 31 39 2c 35  2c 37 2c 33 2c 31 2c 36  |ows(19,5,7,3,1,6|
0000ee40  31 38 2c 31 29 3a f2 61  72 72 6f 77 73 28 31 39  |18,1):.arrows(19|
0000ee50  2c 36 2c 38 2c 34 2c 31  2c 32 33 34 2c 31 29 0d  |,6,8,4,1,234,1).|
0000ee60  38 40 13 e7 20 4d 4f 55  49 43 25 3c 3e 32 20 8c  |8@.. MOUIC%<>2 .|
0000ee70  20 e1 0d 38 4a 0a f2 6b  69 6c 6c 66 0d 38 54 24  | ..8J..killf.8T$|
0000ee80  56 25 3d bb a4 67 65 74  69 63 6f 6e 28 31 39 2c  |V%=..geticon(19,|
0000ee90  33 29 3a e7 20 56 25 3c  31 20 8c 20 56 25 3d 31  |3):. V%<1 . V%=1|
0000eea0  0d 38 5e 15 e7 20 56 25  3e 36 31 38 20 8c 20 56  |.8^.. V%>618 . V|
0000eeb0  25 3d 36 31 38 0d 38 68  16 f2 73 65 74 69 63 6f  |%=618.8h..setico|
0000eec0  6e 28 31 39 2c 33 2c c3  56 25 29 0d 38 72 24 57  |n(19,3,.V%).8r$W|
0000eed0  25 3d bb a4 67 65 74 69  63 6f 6e 28 31 39 2c 34  |%=..geticon(19,4|
0000eee0  29 3a e7 20 57 25 3c 31  20 8c 20 57 25 3d 31 0d  |):. W%<1 . W%=1.|
0000eef0  38 7c 15 e7 20 57 25 3e  32 33 34 20 8c 20 57 25  |8|.. W%>234 . W%|
0000ef00  3d 36 31 38 0d 38 86 16  f2 73 65 74 69 63 6f 6e  |=618.8...seticon|
0000ef10  28 31 39 2c 34 2c c3 57  25 29 0d 38 90 4f 46 52  |(19,4,.W%).8.OFR|
0000ef20  57 25 3d 56 25 2b 31 3a  46 52 48 25 3d 57 25 2b  |W%=V%+1:FRH%=W%+|
0000ef30  31 3a 46 55 53 45 25 3d  33 36 3a 46 55 53 54 25  |1:FUSE%=36:FUST%|
0000ef40  3d 30 3a f2 68 65 6c 70  3a f2 77 69 6e 64 6e 61  |=0:.help:.windna|
0000ef50  6d 65 28 32 2c 50 49 43  24 2b 22 20 5b 53 65 74  |me(2,PIC$+" [Set|
0000ef60  20 66 72 61 6d 65 5d 22  29 0d 38 9a 17 e7 20 4d  | frame]").8... M|
0000ef70  4f 55 42 25 3d 34 20 8c  20 f2 6d 65 6e 6f 66 66  |OUB%=4 . .menoff|
0000ef80  0d 38 a4 05 e1 0d 38 ae  04 0d 38 b8 11 dd f2 63  |.8....8...8....c|
0000ef90  6f 6c 72 65 70 63 6c 69  63 6b 0d 38 c2 89 e7 20  |olrepclick.8... |
0000efa0  4d 4f 55 49 43 25 3d 33  20 8c 20 c8 99 20 22 48  |MOUIC%=3 . .. "H|
0000efb0  6f 75 72 67 6c 61 73 73  5f 4f 6e 22 3a e3 4c 25  |ourglass_On":.L%|
0000efc0  3d 30 20 b8 20 32 32 35  39 36 20 88 20 34 3a 53  |=0 . 22596 . 4:S|
0000efd0  50 42 55 46 25 21 4c 25  3d 4f 50 41 4c 25 21 4c  |PBUF%!L%=OPAL%!L|
0000efe0  25 3a ed 3a e3 4c 25 3d  30 20 b8 20 32 35 35 3a  |%:.:.L%=0 . 255:|
0000eff0  52 45 50 53 25 3f 4c 25  3d 4c 25 3a ed 3a c8 99  |REPS%?L%=L%:.:..|
0000f000  20 22 48 6f 75 72 67 6c  61 73 73 5f 4f 66 66 22  | "Hourglass_Off"|
0000f010  3a f2 66 6f 72 63 65 64  72 61 77 63 6f 6c 72 65  |:.forcedrawcolre|
0000f020  70 3a e1 0d 38 cc 35 42  4c 4b 25 21 38 3d 48 41  |p:..8.5BLK%!8=HA|
0000f030  4e 44 25 28 31 38 29 3a  c8 99 20 22 57 69 6d 70  |ND%(18):.. "Wimp|
0000f040  5f 47 65 74 57 69 6e 64  6f 77 53 74 61 74 65 22  |_GetWindowState"|
0000f050  2c 2c 42 4c 4b 25 2b 38  0d 38 d6 3c 58 4f 46 25  |,,BLK%+8.8.<XOF%|
0000f060  3d 28 21 42 4c 4b 25 29  2d 28 28 42 4c 4b 25 21  |=(!BLK%)-((BLK%!|
0000f070  31 32 29 2d 28 42 4c 4b  25 21 32 38 29 29 3a e7  |12)-(BLK%!28)):.|
0000f080  20 58 4f 46 25 3e 37 36  36 20 8c 20 58 4f 46 25  | XOF%>766 . XOF%|
0000f090  3d 37 36 36 0d 38 e0 43  59 4f 46 25 3d 28 42 4c  |=766.8.CYOF%=(BL|
0000f0a0  4b 25 21 34 29 2d 28 28  28 42 4c 4b 25 21 32 34  |K%!4)-(((BLK%!24|
0000f0b0  29 2d 28 42 4c 4b 25 21  33 32 29 29 2d 35 35 36  |)-(BLK%!32))-556|
0000f0c0  29 3a e7 20 59 4f 46 25  3e 35 35 30 20 8c 20 59  |):. YOF%>550 . Y|
0000f0d0  4f 46 25 3d 35 35 30 0d  38 ea 1a f4 20 56 44 55  |OF%=550.8... VDU|
0000f0e0  34 3a 50 52 49 4e 54 20  58 4f 46 25 2c 59 4f 46  |4:PRINT XOF%,YOF|
0000f0f0  25 0d 38 f4 45 e7 20 59  4f 46 25 3c 3d 32 32 30  |%.8.E. YOF%<=220|
0000f100  20 8c 20 53 52 45 50 25  3d 28 58 4f 46 25 20 81  | . SREP%=(XOF% .|
0000f110  20 32 34 29 2b 28 28 59  4f 46 25 20 81 20 32 38  | 24)+((YOF% . 28|
0000f120  29 2a 33 32 29 3a f2 66  6f 72 63 65 64 72 61 77  |)*32):.forcedraw|
0000f130  63 6f 6c 72 65 70 0d 38  fe 1c e7 20 59 4f 46 25  |colrep.8... YOF%|
0000f140  3e 3d 32 39 30 20 80 20  59 4f 46 25 3c 35 31 34  |>=290 . YOF%<514|
0000f150  20 8c 0d 39 08 a3 59 4f  46 25 2d 3d 32 39 30 3a  | ..9..YOF%-=290:|
0000f160  43 25 3d 28 58 4f 46 25  20 81 20 32 34 29 2b 28  |C%=(XOF% . 24)+(|
0000f170  28 59 4f 46 25 20 81 20  32 38 29 2a 33 32 29 3a  |(YOF% . 28)*32):|
0000f180  f2 69 6e 73 70 72 69 74  65 28 30 2c 53 50 42 55  |.insprite(0,SPBU|
0000f190  46 25 2c 22 50 61 6c 65  74 74 65 22 29 3a 46 58  |F%,"Palette"):FX|
0000f1a0  25 3d 28 28 53 52 45 50  25 20 83 20 33 32 29 2a  |%=((SREP% . 32)*|
0000f1b0  32 34 29 2b 32 3a 46 59  25 3d 28 28 53 52 45 50  |24)+2:FY%=((SREP|
0000f1c0  25 20 81 20 33 32 29 2a  32 38 29 2b 34 3a e6 30  |% . 32)*28)+4:.0|
0000f1d0  2c 50 41 4c 54 41 42 25  3f 28 43 25 2a 32 29 20  |,PALTAB%?(C%*2) |
0000f1e0  c8 9c 20 50 41 4c 54 41  42 25 3f 28 28 43 25 2a  |.. PALTAB%?((C%*|
0000f1f0  32 29 2b 31 29 0d 39 12  42 c8 93 20 c8 90 20 46  |2)+1).9.B.. .. F|
0000f200  58 25 2c 46 59 25 2c 32  30 2c 32 30 3a f2 6f 75  |X%,FY%,20,20:.ou|
0000f210  74 73 70 72 69 74 65 3a  52 45 50 53 25 3f 53 52  |tsprite:REPS%?SR|
0000f220  45 50 25 3d 43 25 3a f2  66 6f 72 63 65 64 72 61  |EP%=C%:.forcedra|
0000f230  77 63 6f 6c 72 65 70 0d  39 1c 05 cd 0d 39 26 05  |wcolrep.9....9&.|
0000f240  e1 0d 39 30 04 0d 39 3a  27 dd f2 61 72 72 6f 77  |..90..9:'..arrow|
0000f250  73 28 57 25 2c 44 49 25  2c 55 49 25 2c 54 49 25  |s(W%,DI%,UI%,TI%|
0000f260  2c 4c 56 25 2c 55 56 25  2c 49 25 29 0d 39 44 1f  |,LV%,UV%,I%).9D.|
0000f270  56 25 3d bb a4 67 65 74  69 63 6f 6e 28 57 25 2c  |V%=..geticon(W%,|
0000f280  54 49 25 29 3a 4f 56 25  3d 56 25 0d 39 4e 2b e7  |TI%):OV%=V%.9N+.|
0000f290  20 4d 4f 55 49 43 25 3d  44 49 25 20 8c 20 56 25  | MOUIC%=DI% . V%|
0000f2a0  2d 3d 49 25 3a e7 20 56  25 3c 4c 56 25 20 8c 20  |-=I%:. V%<LV% . |
0000f2b0  56 25 3d 4c 56 25 0d 39  58 2b e7 20 4d 4f 55 49  |V%=LV%.9X+. MOUI|
0000f2c0  43 25 3d 55 49 25 20 8c  20 56 25 2b 3d 49 25 3a  |C%=UI% . V%+=I%:|
0000f2d0  e7 20 56 25 3e 55 56 25  20 8c 20 56 25 3d 55 56  |. V%>UV% . V%=UV|
0000f2e0  25 0d 39 62 26 e7 20 56  25 3c 3e 4f 56 25 20 8c  |%.9b&. V%<>OV% .|
0000f2f0  20 f2 73 65 74 69 63 6f  6e 28 57 25 2c 54 49 25  | .seticon(W%,TI%|
0000f300  2c c3 28 56 25 29 29 0d  39 6c 05 e1 0d 39 76 04  |,.(V%)).9l...9v.|
0000f310  0d 39 80 0f dd f2 74 70  61 72 63 6c 69 63 6b 0d  |.9....tparclick.|
0000f320  39 8a ae f2 61 72 72 6f  77 73 28 31 36 2c 36 2c  |9...arrows(16,6,|
0000f330  31 38 2c 31 32 2c 30 2c  31 30 32 34 2c 38 29 3a  |18,12,0,1024,8):|
0000f340  f2 61 72 72 6f 77 73 28  31 36 2c 37 2c 31 39 2c  |.arrows(16,7,19,|
0000f350  31 33 2c 30 2c 39 39 39  2c 31 29 3a f2 61 72 72  |13,0,999,1):.arr|
0000f360  6f 77 73 28 31 36 2c 38  2c 32 30 2c 31 34 2c 30  |ows(16,8,20,14,0|
0000f370  2c 39 39 39 2c 31 29 3a  f2 61 72 72 6f 77 73 28  |,999,1):.arrows(|
0000f380  31 36 2c 39 2c 32 31 2c  31 35 2c 30 2c 39 39 39  |16,9,21,15,0,999|
0000f390  2c 31 29 3a f2 61 72 72  6f 77 73 28 31 36 2c 31  |,1):.arrows(16,1|
0000f3a0  30 2c 32 32 2c 31 36 2c  30 2c 39 39 39 2c 31 29  |0,22,16,0,999,1)|
0000f3b0  3a f2 61 72 72 6f 77 73  28 31 36 2c 31 31 2c 32  |:.arrows(16,11,2|
0000f3c0  33 2c 31 37 2c 30 2c 39  39 39 2c 31 29 0d 39 94  |3,17,0,999,1).9.|
0000f3d0  b6 e7 20 4d 4f 55 49 43  25 3d 32 34 20 8c 20 c8  |.. MOUIC%=24 . .|
0000f3e0  99 20 22 46 6f 6e 74 5f  53 65 74 46 6f 6e 74 4d  |. "Font_SetFontM|
0000f3f0  61 78 22 2c 28 bb a4 67  65 74 69 63 6f 6e 28 31  |ax",(..geticon(1|
0000f400  36 2c 31 32 29 29 2a 31  30 32 34 2c 28 bb a4 67  |6,12))*1024,(..g|
0000f410  65 74 69 63 6f 6e 28 31  36 2c 31 33 29 29 2a 31  |eticon(16,13))*1|
0000f420  31 35 32 2c 28 bb a4 67  65 74 69 63 6f 6e 28 31  |152,(..geticon(1|
0000f430  36 2c 31 34 29 29 2a 31  31 35 32 2c 28 bb a4 67  |6,14))*1152,(..g|
0000f440  65 74 69 63 6f 6e 28 31  36 2c 31 35 29 29 2a 31  |eticon(16,15))*1|
0000f450  31 35 32 2c 28 bb a4 67  65 74 69 63 6f 6e 28 31  |152,(..geticon(1|
0000f460  36 2c 31 36 29 29 2a 31  31 35 32 2c 28 bb a4 67  |6,16))*1152,(..g|
0000f470  65 74 69 63 6f 6e 28 31  36 2c 31 37 29 29 2a 31  |eticon(16,17))*1|
0000f480  31 35 32 0d 39 9e 23 e7  20 4d 4f 55 49 43 25 3d  |152.9.#. MOUIC%=|
0000f490  32 34 20 80 20 4d 4f 55  42 25 3d 34 20 8c 20 f2  |24 . MOUB%=4 . .|
0000f4a0  6d 65 6e 6f 66 66 0d 39  a8 11 e7 20 4d 4f 55 49  |menoff.9... MOUI|
0000f4b0  43 25 3d 32 35 20 8c 0d  39 b2 d3 ff 28 22 43 6f  |C%=25 ..9...("Co|
0000f4c0  6e 66 69 67 75 72 65 20  46 6f 6e 74 4d 61 78 20  |nfigure FontMax |
0000f4d0  22 2b a4 67 65 74 69 63  6f 6e 28 31 36 2c 31 32  |"+.geticon(16,12|
0000f4e0  29 2b 22 4b 22 29 3a ff  28 22 43 6f 6e 66 69 67  |)+"K"):.("Config|
0000f4f0  75 72 65 20 46 6f 6e 74  4d 61 78 31 20 22 2b a4  |ure FontMax1 "+.|
0000f500  67 65 74 69 63 6f 6e 28  31 36 2c 31 33 29 29 3a  |geticon(16,13)):|
0000f510  ff 28 22 43 6f 6e 66 69  67 75 72 65 20 46 6f 6e  |.("Configure Fon|
0000f520  74 4d 61 78 32 20 22 2b  a4 67 65 74 69 63 6f 6e  |tMax2 "+.geticon|
0000f530  28 31 36 2c 31 34 29 29  3a ff 28 22 43 6f 6e 66  |(16,14)):.("Conf|
0000f540  69 67 75 72 65 20 46 6f  6e 74 4d 61 78 33 20 22  |igure FontMax3 "|
0000f550  2b a4 67 65 74 69 63 6f  6e 28 31 36 2c 31 35 29  |+.geticon(16,15)|
0000f560  29 3a ff 28 22 43 6f 6e  66 69 67 75 72 65 20 46  |):.("Configure F|
0000f570  6f 6e 74 4d 61 78 34 20  22 2b a4 67 65 74 69 63  |ontMax4 "+.getic|
0000f580  6f 6e 28 31 36 2c 31 36  29 29 0d 39 bc 2c ff 28  |on(16,16)).9.,.(|
0000f590  22 43 6f 6e 66 69 67 75  72 65 20 46 6f 6e 74 4d  |"Configure FontM|
0000f5a0  61 78 35 20 22 2b a4 67  65 74 69 63 6f 6e 28 31  |ax5 "+.geticon(1|
0000f5b0  36 2c 31 37 29 29 0d 39  c6 05 cd 0d 39 d0 05 e1  |6,17)).9....9...|
0000f5c0  0d 39 da 04 0d 39 e4 0e  dd f2 6c 6f 73 65 66 6f  |.9...9....losefo|
0000f5d0  6e 74 0d 39 ee 39 e7 20  46 4f 4e 54 25 3c 3e 30  |nt.9.9. FONT%<>0|
0000f5e0  20 8c 20 f2 69 6e 70 69  63 3a c8 99 20 22 46 6f  | . .inpic:.. "Fo|
0000f5f0  6e 74 5f 4c 6f 73 65 46  6f 6e 74 22 2c 46 48 41  |nt_LoseFont",FHA|
0000f600  4e 44 25 3a f2 6f 75 74  70 69 63 0d 39 f8 05 e1  |ND%:.outpic.9...|
0000f610  0d 3a 02 04 0d 3a 0c 0d  dd f2 67 65 74 66 6f 6e  |.:...:....getfon|
0000f620  74 0d 3a 16 2c e7 20 bb  a4 67 65 74 69 63 6f 6e  |t.:.,. ..geticon|
0000f630  28 31 34 2c 34 29 3c 36  20 8c 20 f2 73 65 74 69  |(14,4)<6 . .seti|
0000f640  63 6f 6e 28 31 34 2c 34  2c 22 36 22 29 0d 3a 20  |con(14,4,"6").: |
0000f650  2c e7 20 bb a4 67 65 74  69 63 6f 6e 28 31 34 2c  |,. ..geticon(14,|
0000f660  35 29 3c 36 20 8c 20 f2  73 65 74 69 63 6f 6e 28  |5)<6 . .seticon(|
0000f670  31 34 2c 35 2c 22 36 22  29 0d 3a 2a 31 46 4f 4e  |14,5,"6").:*1FON|
0000f680  54 58 25 3d bb a4 67 65  74 69 63 6f 6e 28 31 34  |TX%=..geticon(14|
0000f690  2c 34 29 3a 46 4f 4e 54  59 25 3d bb a4 67 65 74  |,4):FONTY%=..get|
0000f6a0  69 63 6f 6e 28 31 34 2c  35 29 0d 3a 2b 31 f4 20  |icon(14,5).:+1. |
0000f6b0  56 44 55 34 3a 50 52 49  4e 54 27 46 4f 4e 54 25  |VDU4:PRINT'FONT%|
0000f6c0  2c 46 4f 24 2c 46 4f 4e  54 58 25 2c 46 4f 4e 54  |,FO$,FONTX%,FONT|
0000f6d0  59 25 2c 22 20 31 34 39  30 30 22 0d 3a 2c 09 f4  |Y%," 14900".:,..|
0000f6e0  20 45 4e 44 0d 3a 34 54  e7 20 46 4f 4e 54 25 3c  | END.:4T. FONT%<|
0000f6f0  3e 30 20 8c 20 f2 69 6e  70 69 63 3a c8 99 20 22  |>0 . .inpic:.. "|
0000f700  46 6f 6e 74 5f 46 69 6e  64 46 6f 6e 74 22 2c 2c  |Font_FindFont",,|
0000f710  46 4f 24 2c 46 4f 4e 54  58 25 2a 31 36 2c 46 4f  |FO$,FONTX%*16,FO|
0000f720  4e 54 59 25 2a 31 36 20  b8 20 46 48 41 4e 44 25  |NTY%*16 . FHAND%|
0000f730  3a f2 6f 75 74 70 69 63  0d 3a 3e 05 e1 0d 3a 48  |:.outpic.:>...:H|
0000f740  04 0d 3a 52 0d dd f2 72  65 73 74 70 69 63 0d 3a  |..:R...restpic.:|
0000f750  5c 0a f2 69 6e 70 69 63  0d 3a 66 1a c8 99 26 32  |\..inpic.:f...&2|
0000f760  45 2c 32 39 30 2c 53 50  42 55 46 25 2c 22 50 49  |E,290,SPBUF%,"PI|
0000f770  43 22 0d 3a 70 0b f2 6f  75 74 70 69 63 0d 3a 7a  |C".:p..outpic.:z|
0000f780  05 e1 0d 3a 84 04 0d 3a  8e 0f dd f2 74 65 78 74  |...:...:....text|
0000f790  63 6c 69 63 6b 0d 3a 98  18 e7 20 4d 4f 55 49 43  |click.:... MOUIC|
0000f7a0  25 3c 3e 36 20 8c 20 e5  20 8d 74 76 7a 0d 3a a2  |%<>6 . . .tvz.:.|
0000f7b0  2a 56 25 3d bb a4 67 65  74 69 63 6f 6e 28 31 34  |*V%=..geticon(14|
0000f7c0  2c 34 29 3a 56 25 2d 3d  31 3a e7 20 56 25 3c 36  |,4):V%-=1:. V%<6|
0000f7d0  20 8c 20 56 25 3d 36 0d  3a ac 16 f2 73 65 74 69  | . V%=6.:...seti|
0000f7e0  63 6f 6e 28 31 34 2c 34  2c c3 56 25 29 0d 3a b6  |con(14,4,.V%).:.|
0000f7f0  18 e7 20 4d 4f 55 49 43  25 3c 3e 37 20 8c 20 e5  |.. MOUIC%<>7 . .|
0000f800  20 8d 64 54 7a 0d 3a c0  2e 56 25 3d bb a4 67 65  | .dTz.:..V%=..ge|
0000f810  74 69 63 6f 6e 28 31 34  2c 34 29 3a 56 25 2b 3d  |ticon(14,4):V%+=|
0000f820  31 3a e7 20 56 25 3e 39  39 39 20 8c 20 56 25 3d  |1:. V%>999 . V%=|
0000f830  39 39 39 0d 3a ca 16 f2  73 65 74 69 63 6f 6e 28  |999.:...seticon(|
0000f840  31 34 2c 34 2c c3 56 25  29 0d 3a d4 18 e7 20 4d  |14,4,.V%).:... M|
0000f850  4f 55 49 43 25 3c 3e 38  20 8c 20 e5 20 8d 64 72  |OUIC%<>8 . . .dr|
0000f860  7a 0d 3a de 2a 56 25 3d  bb a4 67 65 74 69 63 6f  |z.:.*V%=..getico|
0000f870  6e 28 31 34 2c 35 29 3a  56 25 2d 3d 31 3a e7 20  |n(14,5):V%-=1:. |
0000f880  56 25 3c 36 20 8c 20 56  25 3d 36 0d 3a e8 16 f2  |V%<6 . V%=6.:...|
0000f890  73 65 74 69 63 6f 6e 28  31 34 2c 35 2c c3 56 25  |seticon(14,5,.V%|
0000f8a0  29 0d 3a f2 18 e7 20 4d  4f 55 49 43 25 3c 3e 39  |).:... MOUIC%<>9|
0000f8b0  20 8c 20 e5 20 8d 54 50  7b 0d 3a fc 2e 56 25 3d  | . . .TP{.:..V%=|
0000f8c0  bb a4 67 65 74 69 63 6f  6e 28 31 34 2c 35 29 3a  |..geticon(14,5):|
0000f8d0  56 25 2b 3d 31 3a e7 20  56 25 3e 39 39 39 20 8c  |V%+=1:. V%>999 .|
0000f8e0  20 56 25 3d 39 39 39 0d  3b 06 16 f2 73 65 74 69  | V%=999.;...seti|
0000f8f0  63 6f 6e 28 31 34 2c 35  2c c3 56 25 29 0d 3b 10  |con(14,5,.V%).;.|
0000f900  14 e7 20 4d 4f 55 49 43  25 3c 3e 31 32 20 8c 20  |.. MOUIC%<>12 . |
0000f910  e1 0d 3b 11 20 f4 20 56  44 55 34 3a 50 52 49 4e  |..;. . VDU4:PRIN|
0000f920  54 20 46 4f 4e 54 25 2c  46 55 53 54 25 2c 46 4f  |T FONT%,FUST%,FO|
0000f930  24 0d 3b 1a 10 e7 20 46  4f 4e 54 25 3c 3e 30 20  |$.;... FONT%<>0 |
0000f940  8c 0d 3b 24 32 e7 20 46  55 53 54 25 3c 3e 30 20  |..;$2. FUST%<>0 |
0000f950  8c 20 f2 72 65 73 74 70  69 63 3a f2 6c 6f 73 65  |. .restpic:.lose|
0000f960  66 6f 6e 74 3a f2 66 6f  72 63 65 64 72 61 77 6d  |font:.forcedrawm|
0000f970  61 69 6e 0d 3b 2e 0c f2  67 65 74 66 6f 6e 74 0d  |ain.;...getfont.|
0000f980  3b 2f 10 f4 20 47 4f 54  4f 20 31 35 32 33 30 0d  |;/.. GOTO 15230.|
0000f990  3b 38 30 54 45 58 54 24  3d a4 67 65 74 69 63 6f  |;80TEXT$=.getico|
0000f9a0  6e 28 31 34 2c 31 31 29  3a e7 20 54 45 58 54 24  |n(14,11):. TEXT$|
0000f9b0  3d 22 22 20 8c 20 54 45  58 54 24 3d 22 20 22 0d  |="" . TEXT$=" ".|
0000f9c0  3b 42 44 46 43 4f 4c 25  3d 50 41 4c 54 41 42 25  |;BDFCOL%=PALTAB%|
0000f9d0  3f 28 43 4f 4c 25 2a 32  29 3a 46 54 49 4e 25 3d  |?(COL%*2):FTIN%=|
0000f9e0  50 41 4c 54 41 42 25 3f  28 28 43 4f 4c 25 2a 32  |PALTAB%?((COL%*2|
0000f9f0  29 2b 31 29 3a 46 54 49  4e 25 3d 46 54 49 4e 25  |)+1):FTIN%=FTIN%|
0000fa00  3e 3e 32 0d 3b 4c 71 46  50 41 4c 25 3d 28 28 28  |>>2.;LqFPAL%=(((|
0000fa10  28 46 43 4f 4c 25 20 80  20 25 31 31 29 3c 3c 36  |(FCOL% . %11)<<6|
0000fa20  29 2b 46 54 49 4e 25 29  3c 3c 38 29 2b 28 28 28  |)+FTIN%)<<8)+(((|
0000fa30  28 46 43 4f 4c 25 20 80  20 25 31 31 30 30 29 3c  |(FCOL% . %1100)<|
0000fa40  3c 34 29 2b 46 54 49 4e  25 29 3c 3c 31 36 29 2b  |<4)+FTIN%)<<16)+|
0000fa50  28 28 28 28 46 43 4f 4c  25 20 80 20 25 31 31 30  |((((FCOL% . %110|
0000fa60  30 30 30 29 3c 3c 32 29  2b 46 54 49 4e 25 29 3c  |000)<<2)+FTIN%)<|
0000fa70  3c 32 34 29 0d 3b 56 48  46 43 4f 4c 25 3d 50 41  |<24).;VHFCOL%=PA|
0000fa80  4c 54 41 42 25 3f 28 46  4f 4e 54 42 25 2a 32 29  |LTAB%?(FONTB%*2)|
0000fa90  3a 46 54 49 4e 25 3d 50  41 4c 54 41 42 25 3f 28  |:FTIN%=PALTAB%?(|
0000faa0  28 46 4f 4e 54 42 25 2a  32 29 2b 31 29 3a 46 54  |(FONTB%*2)+1):FT|
0000fab0  49 4e 25 3d 46 54 49 4e  25 3e 3e 32 0d 3b 60 71  |IN%=FTIN%>>2.;`q|
0000fac0  42 50 41 4c 25 3d 28 28  28 28 46 43 4f 4c 25 20  |BPAL%=((((FCOL% |
0000fad0  80 20 25 31 31 29 3c 3c  36 29 2b 46 54 49 4e 25  |. %11)<<6)+FTIN%|
0000fae0  29 3c 3c 38 29 2b 28 28  28 28 46 43 4f 4c 25 20  |)<<8)+((((FCOL% |
0000faf0  80 20 25 31 31 30 30 29  3c 3c 34 29 2b 46 54 49  |. %1100)<<4)+FTI|
0000fb00  4e 25 29 3c 3c 31 36 29  2b 28 28 28 28 46 43 4f  |N%)<<16)+((((FCO|
0000fb10  4c 25 20 80 20 25 31 31  30 30 30 30 29 3c 3c 32  |L% . %110000)<<2|
0000fb20  29 2b 46 54 49 4e 25 29  3c 3c 32 34 29 0d 3b 61  |)+FTIN%)<<24).;a|
0000fb30  10 f4 20 47 4f 54 4f 20  31 35 32 33 30 0d 3b 6a  |.. GOTO 15230.;j|
0000fb40  4f f2 69 6e 70 69 63 3a  c8 99 20 22 43 6f 6c 6f  |O.inpic:.. "Colo|
0000fb50  75 72 54 72 61 6e 73 5f  53 65 74 46 6f 6e 74 43  |urTrans_SetFontC|
0000fb60  6f 6c 6f 75 72 73 22 2c  46 48 41 4e 44 25 2c 42  |olours",FHAND%,B|
0000fb70  50 41 4c 25 2c 46 50 41  4c 25 2c 31 34 3a f2 6f  |PAL%,FPAL%,14:.o|
0000fb80  75 74 70 69 63 3a 45 46  4d 25 3d eb 0d 3b 74 19  |utpic:EFM%=..;t.|
0000fb90  46 55 53 54 25 3d 31 3a  4f 58 25 3d 2d 31 3a 4f  |FUST%=1:OX%=-1:O|
0000fba0  59 25 3d 2d 31 0d 3b 7e  05 cc 0d 3b 88 28 e7 20  |Y%=-1.;~...;.(. |
0000fbb0  46 55 53 54 25 3c 3e 30  20 8c 20 f2 72 65 73 74  |FUST%<>0 . .rest|
0000fbc0  70 69 63 3a f2 66 6f 72  63 65 64 72 61 77 6d 61  |pic:.forcedrawma|
0000fbd0  69 6e 0d 3b 92 30 54 45  58 54 24 3d a4 67 65 74  |in.;.0TEXT$=.get|
0000fbe0  69 63 6f 6e 28 31 34 2c  31 31 29 3a e7 20 54 45  |icon(14,11):. TE|
0000fbf0  58 54 24 3d 22 22 20 8c  20 54 45 58 54 24 3d 22  |XT$="" . TEXT$="|
0000fc00  20 22 0d 3b 9c 31 46 55  53 54 25 3d 31 3a 4f 58  | ".;.1FUST%=1:OX|
0000fc10  25 3d 2d 31 3a 4f 59 25  3d 2d 31 3a 54 43 4f 4c  |%=-1:OY%=-1:TCOL|
0000fc20  25 3d 43 4f 4c 25 3a 54  42 41 4b 25 3d 46 4f 4e  |%=COL%:TBAK%=FON|
0000fc30  54 42 25 0d 3b a6 2c e7  20 bb a4 67 65 74 69 63  |TB%.;.,. ..getic|
0000fc40  6f 6e 28 31 34 2c 34 29  3c 31 20 8c 20 f2 73 65  |on(14,4)<1 . .se|
0000fc50  74 69 63 6f 6e 28 31 34  2c 34 2c 22 31 22 29 0d  |ticon(14,4,"1").|
0000fc60  3b b0 2c e7 20 bb a4 67  65 74 69 63 6f 6e 28 31  |;.,. ..geticon(1|
0000fc70  34 2c 35 29 3c 31 20 8c  20 f2 73 65 74 69 63 6f  |4,5)<1 . .setico|
0000fc80  6e 28 31 34 2c 35 2c 22  31 22 29 0d 3b ba 31 46  |n(14,5,"1").;.1F|
0000fc90  4f 4e 54 58 25 3d bb a4  67 65 74 69 63 6f 6e 28  |ONTX%=..geticon(|
0000fca0  31 34 2c 34 29 3a 46 4f  4e 54 59 25 3d bb a4 67  |14,4):FONTY%=..g|
0000fcb0  65 74 69 63 6f 6e 28 31  34 2c 35 29 0d 3b c4 1c  |eticon(14,5).;..|
0000fcc0  21 49 4f 25 3d 46 4f 4e  54 58 25 3a 49 4f 25 21  |!IO%=FONTX%:IO%!|
0000fcd0  34 3d 46 4f 4e 54 59 25  0d 3b ce 14 49 4f 25 21  |4=FONTY%.;..IO%!|
0000fce0  38 3d 38 3a 49 4f 25 21  31 32 3d 38 0d 3b d8 05  |8=8:IO%!12=8.;..|
0000fcf0  cd 0d 3b e2 05 e1 0d 3b  ec 04 0d 3b f6 15 dd f2  |..;....;...;....|
0000fd00  6f 73 74 65 78 74 28 54  58 25 2c 54 59 25 29 0d  |ostext(TX%,TY%).|
0000fd10  3c 00 08 ea 20 4c 25 0d  3c 0a 09 54 54 25 3d 30  |<... L%.<..TT%=0|
0000fd20  0d 3c 14 1a e7 20 a4 68  69 67 68 28 31 34 2c 31  |.<... .high(14,1|
0000fd30  34 29 20 8c 20 54 54 25  3d 31 0d 3c 1e 1a e7 20  |4) . TT%=1.<... |
0000fd40  a4 68 69 67 68 28 31 34  2c 31 35 29 20 8c 20 54  |.high(14,15) . T|
0000fd50  54 25 3d 32 0d 3c 28 1a  e7 20 a4 68 69 67 68 28  |T%=2.<(.. .high(|
0000fd60  31 34 2c 31 36 29 20 8c  20 54 54 25 3d 33 0d 3c  |14,16) . TT%=3.<|
0000fd70  32 37 46 43 4f 4c 25 3d  50 41 4c 54 41 42 25 3f  |27FCOL%=PALTAB%?|
0000fd80  28 54 43 4f 4c 25 2a 32  29 3a 46 54 49 4e 25 3d  |(TCOL%*2):FTIN%=|
0000fd90  50 41 4c 54 41 42 25 3f  28 28 54 43 4f 4c 25 2a  |PALTAB%?((TCOL%*|
0000fda0  32 29 2b 31 29 0d 3c 3c  37 42 43 4f 4c 25 3d 50  |2)+1).<<7BCOL%=P|
0000fdb0  41 4c 54 41 42 25 3f 28  54 42 41 4b 25 2a 32 29  |ALTAB%?(TBAK%*2)|
0000fdc0  3a 42 54 49 4e 25 3d 50  41 4c 54 41 42 25 3f 28  |:BTIN%=PALTAB%?(|
0000fdd0  28 54 42 41 4b 25 2a 32  29 2b 31 29 0d 3c 46 0c  |(TBAK%*2)+1).<F.|
0000fde0  c8 8e 20 54 54 25 20 ca  0d 3c 50 63 c9 20 30 3a  |.. TT% ..<Pc. 0:|
0000fdf0  f2 63 6f 6c 28 46 43 4f  4c 25 2c 46 54 49 4e 25  |.col(FCOL%,FTIN%|
0000fe00  2c 30 29 3a e3 4c 25 3d  31 20 b8 20 a9 28 54 45  |,0):.L%=1 . .(TE|
0000fe10  58 54 24 29 3a c8 99 26  32 45 2c 35 31 2c 97 28  |XT$):..&2E,51,.(|
0000fe20  c1 54 45 58 54 24 2c 4c  25 2c 31 29 29 2c 2c 54  |.TEXT$,L%,1)),,T|
0000fe30  58 25 2c 54 59 25 2c 2c  49 4f 25 3a 54 58 25 2b  |X%,TY%,,IO%:TX%+|
0000fe40  3d 46 4f 4e 54 58 25 2a  32 3a ed 0d 3c 5a 7e c9  |=FONTX%*2:..<Z~.|
0000fe50  20 32 3a f2 63 6f 6c 28  42 43 4f 4c 25 2c 42 54  | 2:.col(BCOL%,BT|
0000fe60  49 4e 25 2c 30 29 3a 4f  54 58 25 3d 54 58 25 3a  |IN%,0):OTX%=TX%:|
0000fe70  e3 4c 25 3d 31 20 b8 20  a9 28 54 45 58 54 24 29  |.L%=1 . .(TEXT$)|
0000fe80  3a c8 99 26 32 45 2c 35  31 2c 97 28 c1 54 45 58  |:..&2E,51,.(.TEX|
0000fe90  54 24 2c 4c 25 2c 31 29  29 2c 2c 54 58 25 2c 54  |T$,L%,1)),,TX%,T|
0000fea0  59 25 2c 2c 49 4f 25 3a  54 58 25 2b 3d 46 4f 4e  |Y%,,IO%:TX%+=FON|
0000feb0  54 58 25 2a 32 3a ed 3a  54 58 25 3d 4f 54 58 25  |TX%*2:.:TX%=OTX%|
0000fec0  2b 32 3a 54 59 25 2b 3d  34 0d 3c 64 5d e3 4c 25  |+2:TY%+=4.<d].L%|
0000fed0  3d 31 20 b8 20 a9 28 54  45 58 54 24 29 3a c8 99  |=1 . .(TEXT$):..|
0000fee0  26 32 45 2c 35 31 2c 97  28 c1 54 45 58 54 24 2c  |&2E,51,.(.TEXT$,|
0000fef0  4c 25 2c 31 29 29 2c 2c  54 58 25 2c 54 59 25 2c  |L%,1)),,TX%,TY%,|
0000ff00  2c 49 4f 25 3a 54 58 25  2b 3d 46 4f 4e 54 58 25  |,IO%:TX%+=FONTX%|
0000ff10  2a 32 3a ed 3a 54 58 25  3d 4f 54 58 25 2b 34 3a  |*2:.:TX%=OTX%+4:|
0000ff20  54 59 25 2b 3d 34 0d 3c  6e 5f f2 63 6f 6c 28 46  |TY%+=4.<n_.col(F|
0000ff30  43 4f 4c 25 2c 46 54 49  4e 25 2c 30 29 3a e3 4c  |COL%,FTIN%,0):.L|
0000ff40  25 3d 31 20 b8 20 a9 28  54 45 58 54 24 29 3a c8  |%=1 . .(TEXT$):.|
0000ff50  99 26 32 45 2c 35 31 2c  97 28 c1 54 45 58 54 24  |.&2E,51,.(.TEXT$|
0000ff60  2c 4c 25 2c 31 29 29 2c  2c 54 58 25 2c 54 59 25  |,L%,1)),,TX%,TY%|
0000ff70  2c 2c 49 4f 25 3a 54 58  25 2b 3d 46 4f 4e 54 58  |,,IO%:TX%+=FONTX|
0000ff80  25 2a 32 3a ed 0d 3c 78  e4 c9 20 31 3a f2 63 6f  |%*2:..<x.. 1:.co|
0000ff90  6c 28 42 43 4f 4c 25 2c  42 54 49 4e 25 2c 30 29  |l(BCOL%,BTIN%,0)|
0000ffa0  3a 4f 54 58 25 3d 54 58  25 3a e3 43 58 25 3d 54  |:OTX%=TX%:.CX%=T|
0000ffb0  58 25 2d 28 46 4f 4e 54  58 25 20 81 34 29 20 b8  |X%-(FONTX% .4) .|
0000ffc0  20 54 58 25 2b 28 46 4f  4e 54 58 25 20 81 34 29  | TX%+(FONTX% .4)|
0000ffd0  20 88 20 28 46 4f 4e 54  58 25 20 81 20 34 29 3a  | . (FONTX% . 4):|
0000ffe0  e3 43 59 25 3d 54 59 25  2d 28 46 4f 4e 54 59 25  |.CY%=TY%-(FONTY%|
0000fff0  20 81 20 32 29 20 b8 20  54 59 25 2b 28 46 4f 4e  | . 2) . TY%+(FON|
00010000  54 59 25 20 81 32 29 20  88 20 28 46 4f 4e 54 59  |TY% .2) . (FONTY|
00010010  25 20 81 32 29 3a 54 58  25 3d 43 58 25 3a e3 4c  |% .2):TX%=CX%:.L|
00010020  25 3d 31 20 b8 20 a9 28  54 45 58 54 24 29 3a c8  |%=1 . .(TEXT$):.|
00010030  99 26 32 45 2c 35 31 2c  97 28 c1 54 45 58 54 24  |.&2E,51,.(.TEXT$|
00010040  2c 4c 25 2c 31 29 29 2c  2c 54 58 25 2c 43 59 25  |,L%,1)),,TX%,CY%|
00010050  2c 2c 49 4f 25 3a 54 58  25 2b 3d 46 4f 4e 54 58  |,,IO%:TX%+=FONTX|
00010060  25 2a 32 3a ed 3a ed 3a  ed 0d 3c 82 68 f2 63 6f  |%*2:.:.:..<.h.co|
00010070  6c 28 46 43 4f 4c 25 2c  46 54 49 4e 25 2c 30 29  |l(FCOL%,FTIN%,0)|
00010080  3a 54 58 25 3d 4f 54 58  25 3a e3 4c 25 3d 31 20  |:TX%=OTX%:.L%=1 |
00010090  b8 20 a9 28 54 45 58 54  24 29 3a c8 99 26 32 45  |. .(TEXT$):..&2E|
000100a0  2c 35 31 2c 97 28 c1 54  45 58 54 24 2c 4c 25 2c  |,51,.(.TEXT$,L%,|
000100b0  31 29 29 2c 2c 54 58 25  2c 54 59 25 2c 2c 49 4f  |1)),,TX%,TY%,,IO|
000100c0  25 3a 54 58 25 2b 3d 46  4f 4e 54 58 25 2a 32 3a  |%:TX%+=FONTX%*2:|
000100d0  ed 0d 3c 8c 5a c9 20 33  3a f2 63 6f 6c 28 42 43  |..<.Z. 3:.col(BC|
000100e0  4f 4c 25 2c 42 54 49 4e  25 2c 30 29 3a c8 93 20  |OL%,BTIN%,0):.. |
000100f0  c8 90 20 58 25 2c 59 25  2c 28 a9 28 54 45 58 54  |.. X%,Y%,(.(TEXT|
00010100  24 29 29 2a 28 46 4f 4e  54 58 25 2a 32 29 2c 46  |$))*(FONTX%*2),F|
00010110  4f 4e 54 59 25 2a 34 3a  f2 63 6f 6c 28 46 43 4f  |ONTY%*4:.col(FCO|
00010120  4c 25 2c 46 54 49 4e 25  2c 30 29 0d 3c 96 4b e3  |L%,FTIN%,0).<.K.|
00010130  4c 25 3d 31 20 b8 20 a9  28 54 45 58 54 24 29 3a  |L%=1 . .(TEXT$):|
00010140  c8 99 26 32 45 2c 35 31  2c 97 28 c1 54 45 58 54  |..&2E,51,.(.TEXT|
00010150  24 2c 4c 25 2c 31 29 29  2c 2c 54 58 25 2c 54 59  |$,L%,1)),,TX%,TY|
00010160  25 2c 2c 49 4f 25 3a 54  58 25 2b 3d 46 4f 4e 54  |%,,IO%:TX%+=FONT|
00010170  58 25 2a 32 3a ed 0d 3c  a0 05 cb 0d 3c aa 05 e1  |X%*2:..<....<...|
00010180  0d 3c b4 04 0d 3c be 10  dd f2 65 64 62 72 75 63  |.<...<....edbruc|
00010190  6c 69 63 6b 0d 3c c8 39  e7 20 46 55 53 45 25 3d  |lick.<.9. FUSE%=|
000101a0  34 20 8c 20 f2 6b 69 6c  6c 66 3a f2 77 69 6e 64  |4 . .killf:.wind|
000101b0  6e 61 6d 65 28 32 2c 50  49 43 24 29 3a f2 73 70  |name(2,PIC$):.sp|
000101c0  69 6e 69 74 3a 46 55 53  45 25 3d 2d 31 0d 3c d2  |init:FUSE%=-1.<.|
000101d0  4e e7 20 4d 4f 55 49 43  25 3e 3d 30 20 80 20 4d  |N. MOUIC%>=0 . M|
000101e0  4f 55 49 43 25 3c 3d 31  31 20 8c 20 45 44 42 52  |OUIC%<=11 . EDBR|
000101f0  25 3d 4d 4f 55 49 43 25  2b 31 3a f2 66 6f 72 63  |%=MOUIC%+1:.forc|
00010200  65 64 72 61 77 65 64 62  72 75 28 30 2c 2d 36 34  |edrawedbru(0,-64|
00010210  30 2c 31 30 32 34 2c 30  29 3a e1 0d 3c dc 4a e7  |0,1024,0):..<.J.|
00010220  20 4d 4f 55 49 43 25 3d  31 33 20 8c 20 c8 99 26  | MOUIC%=13 . ..&|
00010230  32 45 2c 33 30 33 2c 42  52 55 53 48 25 2c c3 45  |2E,303,BRUSH%,.E|
00010240  44 42 52 25 3a f2 66 6f  72 63 65 64 72 61 77 65  |DBR%:.forcedrawe|
00010250  64 62 72 75 28 30 2c 2d  36 34 30 2c 31 30 32 34  |dbru(0,-640,1024|
00010260  2c 30 29 3a e1 0d 3c e6  4a e7 20 4d 4f 55 49 43  |,0):..<.J. MOUIC|
00010270  25 3d 31 34 20 8c 20 c8  99 26 32 45 2c 32 38 39  |%=14 . ..&2E,289|
00010280  2c 42 52 55 53 48 25 2c  c3 45 44 42 52 25 3a f2  |,BRUSH%,.EDBR%:.|
00010290  66 6f 72 63 65 64 72 61  77 65 64 62 72 75 28 30  |forcedrawedbru(0|
000102a0  2c 2d 36 34 30 2c 31 30  32 34 2c 30 29 3a e1 0d  |,-640,1024,0):..|
000102b0  3c f0 19 e7 20 4d 4f 55  49 43 25 3c 3e 31 35 20  |<... MOUIC%<>15 |
000102c0  8c 20 e5 20 8d 54 4e 7d  0d 3c fa 89 f2 69 6e 73  |. . .TN}.<...ins|
000102d0  70 72 69 74 65 28 30 2c  42 52 55 53 48 25 2c c3  |prite(0,BRUSH%,.|
000102e0  45 44 42 52 25 29 3a e6  33 2c 36 33 20 c8 9c 20  |EDBR%):.3,63 .. |
000102f0  31 39 32 3a c8 93 20 c8  90 20 30 2c 30 2c 36 32  |192:.. .. 0,0,62|
00010300  2c 36 30 3a f2 6f 75 74  73 70 72 69 74 65 3a f2  |,60:.outsprite:.|
00010310  69 6e 73 70 72 69 74 65  28 31 2c 42 52 55 53 48  |insprite(1,BRUSH|
00010320  25 2c c3 45 44 42 52 25  29 3a e6 33 2c 36 33 20  |%,.EDBR%):.3,63 |
00010330  c8 9c 20 31 39 32 3a c8  93 20 c8 90 20 30 2c 30  |.. 192:.. .. 0,0|
00010340  2c 36 32 2c 36 30 3a f2  6f 75 74 73 70 72 69 74  |,62,60:.outsprit|
00010350  65 0d 3d 04 24 f2 66 6f  72 63 65 64 72 61 77 65  |e.=.$.forcedrawe|
00010360  64 62 72 75 28 30 2c 2d  36 34 30 2c 31 30 32 34  |dbru(0,-640,1024|
00010370  2c 30 29 3a e1 0d 3d 0e  19 e7 20 4d 4f 55 49 43  |,0):..=... MOUIC|
00010380  25 3c 3e 31 36 20 8c 20  e5 20 8d 54 6c 7d 0d 3d  |%<>16 . . .Tl}.=|
00010390  18 4f e3 4c 25 3d 30 20  b8 20 31 3a f2 69 6e 73  |.O.L%=0 . 1:.ins|
000103a0  70 72 69 74 65 28 4c 25  2c 42 52 55 53 48 25 2c  |prite(L%,BRUSH%,|
000103b0  c3 45 44 42 52 25 29 3a  f0 34 2c 30 2c 30 3a f0  |.EDBR%):.4,0,0:.|
000103c0  34 2c 36 30 2c 36 30 3a  f0 31 38 39 2c 32 2c 30  |4,60,60:.189,2,0|
000103d0  3a f2 6f 75 74 73 70 72  69 74 65 3a ed 0d 3d 22  |:.outsprite:..="|
000103e0  24 f2 66 6f 72 63 65 64  72 61 77 65 64 62 72 75  |$.forcedrawedbru|
000103f0  28 30 2c 2d 36 34 30 2c  31 30 32 34 2c 30 29 3a  |(0,-640,1024,0):|
00010400  e1 0d 3d 2c 19 e7 20 4d  4f 55 49 43 25 3c 3e 31  |..=,.. MOUIC%<>1|
00010410  37 20 8c 20 e5 20 8d 44  4a 7d 0d 3d 36 4f e3 4c  |7 . . .DJ}.=6O.L|
00010420  25 3d 30 20 b8 20 31 3a  f2 69 6e 73 70 72 69 74  |%=0 . 1:.insprit|
00010430  65 28 4c 25 2c 42 52 55  53 48 25 2c c3 45 44 42  |e(L%,BRUSH%,.EDB|
00010440  52 25 29 3a f0 34 2c 32  2c 30 3a f0 34 2c 36 30  |R%):.4,2,0:.4,60|
00010450  2c 36 30 3a f0 31 38 39  2c 30 2c 30 3a f2 6f 75  |,60:.189,0,0:.ou|
00010460  74 73 70 72 69 74 65 3a  ed 0d 3d 40 24 f2 66 6f  |tsprite:..=@$.fo|
00010470  72 63 65 64 72 61 77 65  64 62 72 75 28 30 2c 2d  |rcedrawedbru(0,-|
00010480  36 34 30 2c 31 30 32 34  2c 30 29 3a e1 0d 3d 4a  |640,1024,0):..=J|
00010490  19 e7 20 4d 4f 55 49 43  25 3c 3e 31 38 20 8c 20  |.. MOUIC%<>18 . |
000104a0  e5 20 8d 44 68 7d 0d 3d  54 4f e3 4c 25 3d 30 20  |. .Dh}.=TO.L%=0 |
000104b0  b8 20 31 3a f2 69 6e 73  70 72 69 74 65 28 4c 25  |. 1:.insprite(L%|
000104c0  2c 42 52 55 53 48 25 2c  c3 45 44 42 52 25 29 3a  |,BRUSH%,.EDBR%):|
000104d0  f0 34 2c 30 2c 30 3a f0  34 2c 36 32 2c 35 36 3a  |.4,0,0:.4,62,56:|
000104e0  f0 31 38 39 2c 30 2c 34  3a f2 6f 75 74 73 70 72  |.189,0,4:.outspr|
000104f0  69 74 65 3a ed 0d 3d 5e  24 f2 66 6f 72 63 65 64  |ite:..=^$.forced|
00010500  72 61 77 65 64 62 72 75  28 30 2c 2d 36 34 30 2c  |rawedbru(0,-640,|
00010510  31 30 32 34 2c 30 29 3a  e1 0d 3d 68 19 e7 20 4d  |1024,0):..=h.. M|
00010520  4f 55 49 43 25 3c 3e 31  39 20 8c 20 e5 20 8d 74  |OUIC%<>19 . . .t|
00010530  46 7d 0d 3d 72 4f e3 4c  25 3d 30 20 b8 20 31 3a  |F}.=rO.L%=0 . 1:|
00010540  f2 69 6e 73 70 72 69 74  65 28 4c 25 2c 42 52 55  |.insprite(L%,BRU|
00010550  53 48 25 2c c3 45 44 42  52 25 29 3a f0 34 2c 30  |SH%,.EDBR%):.4,0|
00010560  2c 34 3a f0 34 2c 36 32  2c 36 30 3a f0 31 38 39  |,4:.4,62,60:.189|
00010570  2c 30 2c 30 3a f2 6f 75  74 73 70 72 69 74 65 3a  |,0,0:.outsprite:|
00010580  ed 0d 3d 7c 24 f2 66 6f  72 63 65 64 72 61 77 65  |..=|$.forcedrawe|
00010590  64 62 72 75 28 30 2c 2d  36 34 30 2c 31 30 32 34  |dbru(0,-640,1024|
000105a0  2c 30 29 3a e1 0d 3d 86  19 e7 20 4d 4f 55 49 43  |,0):..=... MOUIC|
000105b0  25 3c 3e 31 32 20 8c 20  e5 20 8d 74 64 7d 0d 3d  |%<>12 . . .td}.=|
000105c0  90 50 e3 4c 25 3d 30 20  b8 20 31 3a f2 69 6e 73  |.P.L%=0 . 1:.ins|
000105d0  70 72 69 74 65 28 4c 25  2c 42 52 55 53 48 25 2c  |prite(L%,BRUSH%,|
000105e0  c3 45 44 42 52 25 29 3a  e6 30 2c 30 20 c8 9c 20  |.EDBR%):.0,0 .. |
000105f0  30 3a c8 93 20 c8 90 20  30 2c 30 2c 36 32 2c 36  |0:.. .. 0,0,62,6|
00010600  30 3a f2 6f 75 74 73 70  72 69 74 65 3a ed 0d 3d  |0:.outsprite:..=|
00010610  9a 24 f2 66 6f 72 63 65  64 72 61 77 65 64 62 72  |.$.forcedrawedbr|
00010620  75 28 30 2c 2d 36 34 30  2c 31 30 32 34 2c 30 29  |u(0,-640,1024,0)|
00010630  3a e1 0d 3d a4 45 e7 20  4d 4f 55 49 43 25 3d 32  |:..=.E. MOUIC%=2|
00010640  30 20 8c 20 c8 99 26 32  45 2c 32 36 38 2c 42 52  |0 . ..&2E,268,BR|
00010650  55 53 48 25 2c 22 3c 41  72 63 68 72 6f 6d 65 24  |USH%,"<Archrome$|
00010660  44 69 72 3e 2e 42 72 75  73 68 65 73 22 3a f2 6d  |Dir>.Brushes":.m|
00010670  65 6e 6f 66 66 3a e1 0d  3d ae 5c e7 20 4d 4f 55  |enoff:..=.\. MOU|
00010680  49 43 25 3d 32 31 20 8c  20 c8 99 26 32 45 2c 32  |IC%=21 . ..&2E,2|
00010690  36 36 2c 42 52 55 53 48  25 2c 22 3c 41 72 63 68  |66,BRUSH%,"<Arch|
000106a0  72 6f 6d 65 24 44 69 72  3e 2e 42 72 75 73 68 65  |rome$Dir>.Brushe|
000106b0  73 22 3a f2 66 6f 72 63  65 64 72 61 77 65 64 62  |s":.forcedrawedb|
000106c0  72 75 28 30 2c 2d 36 34  30 2c 31 30 32 34 2c 30  |ru(0,-640,1024,0|
000106d0  29 3a e1 0d 3d b8 35 42  4c 4b 25 21 38 3d 48 41  |):..=.5BLK%!8=HA|
000106e0  4e 44 25 28 31 32 29 3a  c8 99 20 22 57 69 6d 70  |ND%(12):.. "Wimp|
000106f0  5f 47 65 74 57 69 6e 64  6f 77 53 74 61 74 65 22  |_GetWindowState"|
00010700  2c 2c 42 4c 4b 25 2b 38  0d 3d c2 37 58 4f 46 25  |,,BLK%+8.=.7XOF%|
00010710  3d 28 28 21 42 4c 4b 25  29 2d 28 42 4c 4b 25 21  |=((!BLK%)-(BLK%!|
00010720  31 32 29 29 2d 32 38 3a  e7 20 58 4f 46 25 3e 37  |12))-28:. XOF%>7|
00010730  36 36 20 84 20 58 4f 46  25 3c 30 20 8c 20 e1 0d  |66 . XOF%<0 . ..|
00010740  3d cc 39 59 4f 46 25 3d  28 28 42 4c 4b 25 21 34  |=.9YOF%=((BLK%!4|
00010750  29 2d 28 42 4c 4b 25 21  31 36 29 29 2d 31 31 32  |)-(BLK%!16))-112|
00010760  3a e7 20 59 4f 46 25 3e  35 30 38 20 84 20 59 4f  |:. YOF%>508 . YO|
00010770  46 25 3c 30 20 8c 20 e1  0d 3d d6 21 58 4f 46 25  |F%<0 . ..=.!XOF%|
00010780  3d 58 4f 46 25 20 81 20  32 34 3a 59 4f 46 25 3d  |=XOF% . 24:YOF%=|
00010790  59 4f 46 25 20 81 20 33  32 0d 3d e0 5c e7 20 4d  |YOF% . 32.=.\. M|
000107a0  4f 55 42 25 3d 34 20 8c  20 c8 99 26 32 45 2c 32  |OUB%=4 . ..&2E,2|
000107b0  39 38 2c 42 52 55 53 48  25 2c c3 45 44 42 52 25  |98,BRUSH%,.EDBR%|
000107c0  2c 58 4f 46 25 2c 59 4f  46 25 2c 36 33 2c 31 39  |,XOF%,YOF%,63,19|
000107d0  32 3a c8 99 26 32 45 2c  33 30 30 2c 42 52 55 53  |2:..&2E,300,BRUS|
000107e0  48 25 2c c3 45 44 42 52  25 2c 58 4f 46 25 2c 59  |H%,.EDBR%,XOF%,Y|
000107f0  4f 46 25 2c 31 0d 3d ea  53 e7 20 4d 4f 55 42 25  |OF%,1.=.S. MOUB%|
00010800  3d 31 20 8c 20 c8 99 26  32 45 2c 32 39 38 2c 42  |=1 . ..&2E,298,B|
00010810  52 55 53 48 25 2c c3 45  44 42 52 25 2c 58 4f 46  |RUSH%,.EDBR%,XOF|
00010820  25 2c 59 4f 46 25 3a c8  99 26 32 45 2c 33 30 30  |%,YOF%:..&2E,300|
00010830  2c 42 52 55 53 48 25 2c  c3 45 44 42 52 25 2c 58  |,BRUSH%,.EDBR%,X|
00010840  4f 46 25 2c 59 4f 46 25  0d 3d f4 1d e7 20 4d 4f  |OF%,YOF%.=... MO|
00010850  55 42 25 3c 3e 31 20 80  20 4d 4f 55 42 25 3c 3e  |UB%<>1 . MOUB%<>|
00010860  34 20 8c 20 e1 0d 3d fe  58 f2 66 6f 72 63 65 64  |4 . ..=.X.forced|
00010870  72 61 77 65 64 62 72 75  28 28 58 4f 46 25 2a 32  |rawedbru((XOF%*2|
00010880  34 29 2b 32 38 2c 2d 28  28 28 31 35 2d 59 4f 46  |4)+28,-(((15-YOF|
00010890  25 29 2a 33 32 29 2b 34  38 29 2c 28 58 4f 46 25  |%)*32)+48),(XOF%|
000108a0  2a 32 34 29 2b 35 32 2c  2d 28 28 28 31 35 2d 59  |*24)+52,-(((15-Y|
000108b0  4f 46 25 29 2a 33 32 29  2b 31 36 29 29 0d 3e 08  |OF%)*32)+16)).>.|
000108c0  42 f2 66 6f 72 63 65 64  72 61 77 65 64 62 72 75  |B.forcedrawedbru|
000108d0  28 28 28 45 44 42 52 25  2d 31 29 2a 36 34 29 2b  |(((EDBR%-1)*64)+|
000108e0  33 32 2c 2d 36 32 30 2c  28 28 45 44 42 52 25 2d  |32,-620,((EDBR%-|
000108f0  31 29 2a 36 34 29 2b 39  36 2c 2d 35 36 30 29 0d  |1)*64)+96,-560).|
00010900  3e 12 05 e1 0d 3e 1c 04  0d 3e 26 0e dd f2 65 63  |>....>...>&...ec|
00010910  66 63 6c 69 63 6b 0d 3e  30 2d e7 20 4d 4f 55 49  |fclick.>0-. MOUI|
00010920  43 25 3e 31 37 20 80 20  4d 4f 55 49 43 25 3c 32  |C%>17 . MOUIC%<2|
00010930  32 20 8c 20 f2 66 6f 72  63 65 64 72 61 77 70 61  |2 . .forcedrawpa|
00010940  74 3a e1 0d 3e 3a 14 e7  20 4d 4f 55 49 43 25 3c  |t:..>:.. MOUIC%<|
00010950  3e 31 36 20 8c 20 e1 0d  3e 44 1d e7 20 4d 4f 55  |>16 . ..>D.. MOU|
00010960  42 25 3c 3e 31 20 80 20  4d 4f 55 42 25 3c 3e 34  |B%<>1 . MOUB%<>4|
00010970  20 8c 20 e1 0d 3e 4e 35  42 4c 4b 25 21 38 3d 48  | . ..>N5BLK%!8=H|
00010980  41 4e 44 25 28 31 31 29  3a c8 99 20 22 57 69 6d  |AND%(11):.. "Wim|
00010990  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
000109a0  22 2c 2c 42 4c 4b 25 2b  38 0d 3e 58 36 58 4f 46  |",,BLK%+8.>X6XOF|
000109b0  25 3d 28 28 21 42 4c 4b  25 29 2d 28 42 4c 4b 25  |%=((!BLK%)-(BLK%|
000109c0  21 31 32 29 29 2d 31 38  30 3a e7 20 58 4f 46 25  |!12))-180:. XOF%|
000109d0  3e 37 36 36 20 8c 20 58  4f 46 25 3d 37 36 36 0d  |>766 . XOF%=766.|
000109e0  3e 62 36 59 4f 46 25 3d  28 28 42 4c 4b 25 21 34  |>b6YOF%=((BLK%!4|
000109f0  29 2d 28 42 4c 4b 25 21  31 36 29 29 2d 32 30 3a  |)-(BLK%!16))-20:|
00010a00  e7 20 59 4f 46 25 3e 32  32 30 20 8c 20 59 4f 46  |. YOF%>220 . YOF|
00010a10  25 3d 32 32 30 0d 3e 6c  25 63 6f 6c 25 3d 28 58  |%=220.>l%col%=(X|
00010a20  4f 46 25 20 81 20 32 34  29 2b 28 28 59 4f 46 25  |OF% . 24)+((YOF%|
00010a30  20 81 20 32 38 29 2a 33  32 29 0d 3e 76 12 63 62  | . 28)*32).>v.cb|
00010a40  79 25 3d 54 54 42 25 3f  63 6f 6c 25 0d 3e 80 3e  |y%=TTB%?col%.>.>|
00010a50  43 45 43 46 25 3d a4 63  65 63 66 3a 4c 25 3d 30  |CECF%=.cecf:L%=0|
00010a60  3a e3 4b 25 3d 38 20 b8  20 31 35 3a e7 20 a4 68  |:.K%=8 . 15:. .h|
00010a70  69 67 68 28 31 31 2c 4b  25 29 20 8c 20 4c 25 3d  |igh(11,K%) . L%=|
00010a80  4b 25 2d 37 3a ed 20 8b  20 ed 0d 3e 8a 0e e7 20  |K%-7:. . ..>... |
00010a90  4c 25 3d 30 20 8c 20 e1  0d 3e 94 17 45 43 46 25  |L%=0 . ..>..ECF%|
00010aa0  28 4c 25 2c 43 45 43 46  25 29 3d 63 62 79 25 0d  |(L%,CECF%)=cby%.|
00010ab0  3e 9e 11 f2 66 6f 72 63  65 64 72 61 77 70 61 74  |>...forcedrawpat|
00010ac0  0d 3e a8 05 e1 0d 3e b2  04 0d 3e bc 14 dd f2 72  |.>....>...>....r|
00010ad0  65 6c 6f 61 64 70 61 74  66 69 6c 6c 73 0d 3e c6  |eloadpatfills.>.|
00010ae0  2f c8 99 26 32 45 2c 32  36 36 2c 50 46 49 4c 4c  |/..&2E,266,PFILL|
00010af0  53 25 2c 22 3c 41 72 63  68 72 6f 6d 65 24 44 69  |S%,"<Archrome$Di|
00010b00  72 3e 2e 50 61 74 46 69  6c 6c 73 22 0d 3e d0 05  |r>.PatFills".>..|
00010b10  e1 0d 3e da 04 0d 3e e4  12 dd f2 70 61 74 66 69  |..>...>....patfi|
00010b20  6c 6c 63 6c 69 63 6b 0d  3e ee 22 e7 20 4d 4f 55  |llclick.>.". MOU|
00010b30  49 43 25 3d 30 20 8c 20  f2 72 65 6c 6f 61 64 70  |IC%=0 . .reloadp|
00010b40  61 74 66 69 6c 6c 73 3a  e1 0d 3e f8 35 42 4c 4b  |atfills:..>.5BLK|
00010b50  25 21 38 3d 48 41 4e 44  25 28 32 30 29 3a c8 99  |%!8=HAND%(20):..|
00010b60  20 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  | "Wimp_GetWindow|
00010b70  53 74 61 74 65 22 2c 2c  42 4c 4b 25 2b 38 0d 3f  |State",,BLK%+8.?|
00010b80  02 36 58 4f 46 25 3d 28  28 21 42 4c 4b 25 29 2d  |.6XOF%=((!BLK%)-|
00010b90  28 42 4c 4b 25 21 31 32  29 29 3a 59 4f 46 25 3d  |(BLK%!12)):YOF%=|
00010ba0  28 28 42 4c 4b 25 21 34  29 2d 28 42 4c 4b 25 21  |((BLK%!4)-(BLK%!|
00010bb0  31 36 29 29 0d 3f 0c 74  4b 25 3d 2d 31 3a e3 4c  |16)).?.tK%=-1:.L|
00010bc0  25 3d 31 20 b8 20 31 32  3a 42 58 25 3d 28 28 4c  |%=1 . 12:BX%=((L|
00010bd0  25 2d 31 29 2a 38 34 29  2b 32 34 3a 42 59 25 3d  |%-1)*84)+24:BY%=|
00010be0  35 32 3a e7 20 58 4f 46  25 3e 3d 42 58 25 20 80  |52:. XOF%>=BX% .|
00010bf0  20 59 4f 46 25 3e 3d 42  59 25 20 80 20 58 4f 46  | YOF%>=BY% . XOF|
00010c00  25 3c 28 42 58 25 2b 36  34 29 20 80 20 59 4f 46  |%<(BX%+64) . YOF|
00010c10  25 3c 28 42 59 25 2b 36  34 29 20 8c 20 4b 25 3d  |%<(BY%+64) . K%=|
00010c20  4c 25 3a ed 20 8b 20 ed  0d 3f 16 2b e7 20 4b 25  |L%:. . ..?.+. K%|
00010c30  3d 2d 31 20 8c 20 e1 20  8b 20 43 50 46 25 3d 4b  |=-1 . . . CPF%=K|
00010c40  25 3a f2 66 6f 72 63 65  64 72 61 77 70 61 74 66  |%:.forcedrawpatf|
00010c50  69 6c 6c 0d 3f 20 05 e1  0d 3f 2a 04 0d 3f 34 11  |ill.? ...?*..?4.|
00010c60  dd f2 73 61 76 65 67 72  66 69 6c 6c 73 0d 3f 3e  |..savegrfills.?>|
00010c70  24 46 25 3d ae 28 22 3c  41 72 63 68 72 6f 6d 65  |$F%=.("<Archrome|
00010c80  24 44 69 72 3e 2e 47 72  61 64 46 69 6c 6c 73 22  |$Dir>.GradFills"|
00010c90  29 0d 3f 48 3d e3 4c 25  3d 30 20 b8 20 31 35 3a  |).?H=.L%=0 . 15:|
00010ca0  e3 4b 25 3d 30 20 b8 20  31 3a e3 49 25 3d 30 20  |.K%=0 . 1:.I%=0 |
00010cb0  b8 20 34 3a f1 23 46 25  2c 47 52 46 49 25 28 4c  |. 4:.#F%,GRFI%(L|
00010cc0  25 2c 4b 25 2c 49 25 29  3a ed 3a ed 3a ed 0d 3f  |%,K%,I%):.:.:..?|
00010cd0  52 08 d9 23 46 25 0d 3f  5c 05 e1 0d 3f 66 04 0d  |R..#F%.?\...?f..|
00010ce0  3f 70 11 dd f2 6c 6f 61  64 67 72 66 69 6c 6c 73  |?p...loadgrfills|
00010cf0  0d 3f 7a 24 46 25 3d 8e  28 22 3c 41 72 63 68 72  |.?z$F%=.("<Archr|
00010d00  6f 6d 65 24 44 69 72 3e  2e 47 72 61 64 46 69 6c  |ome$Dir>.GradFil|
00010d10  6c 73 22 29 0d 3f 84 3d  e3 4c 25 3d 30 20 b8 20  |ls").?.=.L%=0 . |
00010d20  31 35 3a e3 4b 25 3d 30  20 b8 20 31 3a e3 49 25  |15:.K%=0 . 1:.I%|
00010d30  3d 30 20 b8 20 34 3a e8  23 46 25 2c 47 52 46 49  |=0 . 4:.#F%,GRFI|
00010d40  25 28 4c 25 2c 4b 25 2c  49 25 29 3a ed 3a ed 3a  |%(L%,K%,I%):.:.:|
00010d50  ed 0d 3f 8e 08 d9 23 46  25 0d 3f 98 12 f2 66 6f  |..?...#F%.?...fo|
00010d60  72 63 65 64 72 61 77 66  69 6c 6c 0d 3f a2 05 e1  |rcedrawfill.?...|
00010d70  0d 3f ac 04 0d 3f b6 0d  dd f2 66 69 6c 6c 75 73  |.?...?....fillus|
00010d80  65 0d 3f c0 20 53 4e 4f  25 3d a4 67 72 61 66 69  |e.?. SNO%=.grafi|
00010d90  6c 6e 6f 3a e7 20 53 4e  4f 25 3d 2d 31 20 8c 20  |lno:. SNO%=-1 . |
00010da0  e1 0d 3f ca 79 f2 6b 69  6c 6c 66 3a 46 55 53 45  |..?.y.killf:FUSE|
00010db0  25 3d 33 31 3a 46 55 53  54 25 3d 30 3a 47 52 46  |%=31:FUST%=0:GRF|
00010dc0  4e 25 3d 53 4e 4f 25 3a  47 52 54 59 25 3d 30 3a  |N%=SNO%:GRTY%=0:|
00010dd0  f2 68 65 6c 70 3a f2 77  69 6e 64 6e 61 6d 65 28  |.help:.windname(|
00010de0  32 2c 50 49 43 24 2b 22  20 5b 47 72 61 64 75 61  |2,PIC$+" [Gradua|
00010df0  74 65 64 20 66 69 6c 6c  20 28 22 2b a4 66 69 6c  |ted fill ("+.fil|
00010e00  6c 64 65 74 28 53 4e 4f  25 2b 31 29 2b 22 29 5d  |ldet(SNO%+1)+")]|
00010e10  22 29 3a f2 73 70 69 6e  69 74 0d 3f d4 17 e7 20  |"):.spinit.?... |
00010e20  4d 4f 55 42 25 3d 34 20  8c 20 f2 6d 65 6e 6f 66  |MOUB%=4 . .menof|
00010e30  66 0d 3f de 05 e1 0d 3f  e8 04 0d 3f f2 3a dd a4  |f.?....?...?.:..|
00010e40  66 69 6c 6c 64 65 74 28  53 25 29 3a e7 20 47 52  |filldet(S%):. GR|
00010e50  54 59 25 3d 30 20 8c 20  3d 22 66 6c 6f 6f 64 20  |TY%=0 . ="flood |
00010e60  22 2b c3 53 25 20 8b 20  3d 22 61 72 65 61 20 22  |"+.S% . ="area "|
00010e70  2b c3 53 25 0d 3f fc 04  0d 40 06 10 dd f2 69 6e  |+.S%.?...@....in|
00010e80  76 65 72 74 66 69 6c 6c  0d 40 10 12 4e 4f 53 25  |vertfill.@..NOS%|
00010e90  3d a4 67 72 61 66 69 6c  6e 6f 0d 40 1a 25 49 41  |=.grafilno.@.%IA|
00010ea0  25 3d 30 3a 49 42 25 3d  bb a4 67 65 74 69 63 6f  |%=0:IB%=..getico|
00010eb0  6e 28 31 33 2c 34 34 29  3a 49 42 25 2d 3d 31 0d  |n(13,44):IB%-=1.|
00010ec0  40 24 6b f5 3a c8 94 20  47 52 46 49 25 28 49 41  |@$k.:.. GRFI%(IA|
00010ed0  25 2c 30 2c 4e 4f 53 25  29 2c 47 52 46 49 25 28  |%,0,NOS%),GRFI%(|
00010ee0  49 42 25 2c 30 2c 4e 4f  53 25 29 3a c8 94 20 47  |IB%,0,NOS%):.. G|
00010ef0  52 46 49 25 28 49 41 25  2c 31 2c 4e 4f 53 25 29  |RFI%(IA%,1,NOS%)|
00010f00  2c 47 52 46 49 25 28 49  42 25 2c 31 2c 4e 4f 53  |,GRFI%(IB%,1,NOS|
00010f10  25 29 3a 49 41 25 2b 3d  31 3a 49 42 25 2d 3d 31  |%):IA%+=1:IB%-=1|
00010f20  3a fd 20 49 41 25 3e 49  42 25 0d 40 2e 12 f2 66  |:. IA%>IB%.@...f|
00010f30  6f 72 63 65 64 72 61 77  66 69 6c 6c 0d 40 38 05  |orcedrawfill.@8.|
00010f40  e1 0d 40 42 04 0d 40 4c  10 dd f2 69 6e 74 65 72  |..@B..@L...inter|
00010f50  70 66 69 6c 6c 0d 40 56  12 4e 4f 53 25 3d a4 67  |pfill.@V.NOS%=.g|
00010f60  72 61 66 69 6c 6e 6f 0d  40 60 15 49 41 25 3d 30  |rafilno.@`.IA%=0|
00010f70  3a f5 3a 49 42 25 3d 49  41 25 2b 31 0d 40 6a 1f  |:.:IB%=IA%+1.@j.|
00010f80  e7 20 49 42 25 3d 31 36  20 8c 20 f2 66 6f 72 63  |. IB%=16 . .forc|
00010f90  65 64 72 61 77 66 69 6c  6c 3a e1 0d 40 74 3f e7  |edrawfill:..@t?.|
00010fa0  20 47 52 46 49 25 28 49  42 25 2c 30 2c 4e 4f 53  | GRFI%(IB%,0,NOS|
00010fb0  25 29 3d 30 20 80 20 47  52 46 49 25 28 49 42 25  |%)=0 . GRFI%(IB%|
00010fc0  2c 31 2c 4e 4f 53 25 29  3d 30 20 8c 20 49 42 25  |,1,NOS%)=0 . IB%|
00010fd0  2b 3d 31 3a e5 20 8d 40  6a 40 0d 40 7e 27 e7 20  |+=1:. .@j@.@~'. |
00010fe0  49 42 25 3d 49 41 25 2b  31 20 8c 20 49 41 25 3d  |IB%=IA%+1 . IA%=|
00010ff0  49 42 25 3a 49 42 25 2b  3d 31 3a e5 20 8d 40 6a  |IB%:IB%+=1:. .@j|
00011000  40 0d 40 88 1c 54 31 25  3d 47 52 46 49 25 28 49  |@.@..T1%=GRFI%(I|
00011010  41 25 2c 31 2c 4e 4f 53  25 29 3e 3e 36 0d 40 92  |A%,1,NOS%)>>6.@.|
00011020  2a 52 31 25 3d 28 28 47  52 46 49 25 28 49 41 25  |*R1%=((GRFI%(IA%|
00011030  2c 30 2c 4e 4f 53 25 29  20 80 20 25 31 31 29 3c  |,0,NOS%) . %11)<|
00011040  3c 32 29 2b 54 31 25 0d  40 9c 27 47 31 25 3d 28  |<2)+T1%.@.'G1%=(|
00011050  47 52 46 49 25 28 49 41  25 2c 30 2c 4e 4f 53 25  |GRFI%(IA%,0,NOS%|
00011060  29 20 80 20 25 31 31 30  30 29 2b 54 31 25 0d 40  |) . %1100)+T1%.@|
00011070  a6 2e 42 31 25 3d 28 28  47 52 46 49 25 28 49 41  |..B1%=((GRFI%(IA|
00011080  25 2c 30 2c 4e 4f 53 25  29 20 80 20 25 31 31 30  |%,0,NOS%) . %110|
00011090  30 30 30 29 3e 3e 32 29  2b 54 31 25 0d 40 b0 1c  |000)>>2)+T1%.@..|
000110a0  54 32 25 3d 47 52 46 49  25 28 49 42 25 2c 31 2c  |T2%=GRFI%(IB%,1,|
000110b0  4e 4f 53 25 29 3e 3e 36  0d 40 ba 3b 52 44 3d 28  |NOS%)>>6.@.;RD=(|
000110c0  28 28 28 47 52 46 49 25  28 49 42 25 2c 30 2c 4e  |(((GRFI%(IB%,0,N|
000110d0  4f 53 25 29 20 80 20 25  31 31 29 3c 3c 32 29 2b  |OS%) . %11)<<2)+|
000110e0  54 32 25 29 2d 52 31 25  29 2f 28 49 42 25 2d 49  |T2%)-R1%)/(IB%-I|
000110f0  41 25 29 0d 40 c4 38 47  44 3d 28 28 28 47 52 46  |A%).@.8GD=(((GRF|
00011100  49 25 28 49 42 25 2c 30  2c 4e 4f 53 25 29 20 80  |I%(IB%,0,NOS%) .|
00011110  20 25 31 31 30 30 29 2b  54 32 25 29 2d 47 31 25  | %1100)+T2%)-G1%|
00011120  29 2f 28 49 42 25 2d 49  41 25 29 0d 40 ce 3f 42  |)/(IB%-IA%).@.?B|
00011130  44 3d 28 28 28 28 47 52  46 49 25 28 49 42 25 2c  |D=((((GRFI%(IB%,|
00011140  30 2c 4e 4f 53 25 29 20  80 20 25 31 31 30 30 30  |0,NOS%) . %11000|
00011150  30 29 3e 3e 32 29 2b 54  32 25 29 2d 42 31 25 29  |0)>>2)+T2%)-B1%)|
00011160  2f 28 49 42 25 2d 49 41  25 29 0d 40 d8 1a 49 41  |/(IB%-IA%).@..IA|
00011170  25 2b 3d 31 3a e3 4c 25  3d 31 20 b8 20 49 42 25  |%+=1:.L%=1 . IB%|
00011180  2d 49 41 25 0d 40 e2 30  52 25 3d 52 31 25 2b 28  |-IA%.@.0R%=R1%+(|
00011190  52 44 2a 4c 25 29 3a 47  25 3d 47 31 25 2b 28 47  |RD*L%):G%=G1%+(G|
000111a0  44 2a 4c 25 29 3a 42 25  3d 42 31 25 2b 28 42 44  |D*L%):B%=B1%+(BD|
000111b0  2a 4c 25 29 0d 40 ec 49  c8 99 20 22 43 6f 6c 6f  |*L%).@.I.. "Colo|
000111c0  75 72 54 72 61 6e 73 5f  52 65 74 75 72 6e 47 43  |urTrans_ReturnGC|
000111d0  4f 4c 46 6f 72 4d 6f 64  65 22 2c 28 42 25 3c 3c  |OLForMode",(B%<<|
000111e0  32 38 29 2b 28 47 25 3c  3c 32 30 29 2b 28 52 25  |28)+(G%<<20)+(R%|
000111f0  3c 3c 31 32 29 2c 31 35  20 b8 20 47 25 0d 40 f6  |<<12),15 . G%.@.|
00011200  3b 47 52 46 49 25 28 49  41 25 2c 30 2c 4e 4f 53  |;GRFI%(IA%,0,NOS|
00011210  25 29 3d 47 25 3e 3e 32  3a 47 52 46 49 25 28 49  |%)=G%>>2:GRFI%(I|
00011220  41 25 2c 31 2c 4e 4f 53  25 29 3d 28 47 25 20 80  |A%,1,NOS%)=(G% .|
00011230  20 25 31 31 29 3c 3c 36  0d 41 00 0c 49 41 25 2b  | %11)<<6.A..IA%+|
00011240  3d 31 3a ed 0d 41 0a 14  49 42 25 3d 49 41 25 2b  |=1:..A..IB%=IA%+|
00011250  31 3a e5 20 8d 40 6a 40  0d 41 14 04 0d 41 1e 0e  |1:. .@j@.A...A..|
00011260  dd f2 77 69 70 65 66 69  6c 6c 0d 41 28 12 4e 4f  |..wipefill.A(.NO|
00011270  53 25 3d a4 67 72 61 66  69 6c 6e 6f 0d 41 32 30  |S%=.grafilno.A20|
00011280  e3 4c 25 3d 30 20 b8 20  31 35 3a e3 4b 25 3d 30  |.L%=0 . 15:.K%=0|
00011290  20 b8 20 31 3a 47 52 46  49 25 28 4c 25 2c 4b 25  | . 1:GRFI%(L%,K%|
000112a0  2c 4e 4f 53 25 29 3d 30  3a ed 3a ed 0d 41 3c 14  |,NOS%)=0:.:..A<.|
000112b0  f2 66 6f 72 63 65 64 72  61 77 66 69 6c 6c 3a e1  |.forcedrawfill:.|
000112c0  0d 41 46 04 0d 41 50 0e  dd f2 63 6f 6d 70 66 69  |.AF..AP...compfi|
000112d0  6c 6c 0d 41 5a 12 4e 4f  53 25 3d a4 67 72 61 66  |ll.AZ.NOS%=.graf|
000112e0  69 6c 6e 6f 0d 41 64 37  43 41 25 3d 47 52 46 49  |ilno.Ad7CA%=GRFI|
000112f0  25 28 30 2c 30 2c 4e 4f  53 25 29 3a 54 41 25 3d  |%(0,0,NOS%):TA%=|
00011300  47 52 46 49 25 28 30 2c  31 2c 4e 4f 53 25 29 3a  |GRFI%(0,1,NOS%):|
00011310  49 41 25 3d 31 3a 49 42  25 3d 31 0d 41 6e 0d c8  |IA%=1:IB%=1.An..|
00011320  95 20 49 42 25 3c 31 36  0d 41 78 b2 e7 20 47 52  |. IB%<16.Ax.. GR|
00011330  46 49 25 28 49 42 25 2c  30 2c 4e 4f 53 25 29 3c  |FI%(IB%,0,NOS%)<|
00011340  3e 43 41 25 20 84 20 47  52 46 49 25 28 49 42 25  |>CA% . GRFI%(IB%|
00011350  2c 31 2c 4e 4f 53 25 29  3c 3e 54 41 25 20 8c 20  |,1,NOS%)<>TA% . |
00011360  47 52 46 49 25 28 49 41  25 2c 30 2c 4e 4f 53 25  |GRFI%(IA%,0,NOS%|
00011370  29 3d 47 52 46 49 25 28  49 42 25 2c 30 2c 4e 4f  |)=GRFI%(IB%,0,NO|
00011380  53 25 29 3a 47 52 46 49  25 28 49 41 25 2c 31 2c  |S%):GRFI%(IA%,1,|
00011390  4e 4f 53 25 29 3d 47 52  46 49 25 28 49 42 25 2c  |NOS%)=GRFI%(IB%,|
000113a0  31 2c 4e 4f 53 25 29 3a  43 41 25 3d 47 52 46 49  |1,NOS%):CA%=GRFI|
000113b0  25 28 49 41 25 2c 30 2c  4e 4f 53 25 29 3a 54 41  |%(IA%,0,NOS%):TA|
000113c0  25 3d 47 52 46 49 25 28  49 41 25 2c 31 2c 4e 4f  |%=GRFI%(IA%,1,NO|
000113d0  53 25 29 3a 49 41 25 2b  3d 31 0d 41 82 0c 49 42  |S%):IA%+=1.A..IB|
000113e0  25 2b 3d 31 3a ce 0d 41  8c 3e c8 95 20 49 41 25  |%+=1:..A.>.. IA%|
000113f0  3c 31 36 3a 47 52 46 49  25 28 49 41 25 2c 30 2c  |<16:GRFI%(IA%,0,|
00011400  4e 4f 53 25 29 3d 30 3a  47 52 46 49 25 28 49 41  |NOS%)=0:GRFI%(IA|
00011410  25 2c 31 2c 4e 4f 53 25  29 3d 30 3a 49 41 25 2b  |%,1,NOS%)=0:IA%+|
00011420  3d 31 3a ce 0d 41 96 12  f2 66 6f 72 63 65 64 72  |=1:..A...forcedr|
00011430  61 77 66 69 6c 6c 0d 41  a0 05 e1 0d 41 aa 04 0d  |awfill.A....A...|
00011440  41 b4 0f dd f2 66 69 6c  6c 63 6c 69 63 6b 0d 41  |A....fillclick.A|
00011450  be 17 e7 20 4d 4f 55 49  43 25 3c 30 20 8c 20 e5  |... MOUIC%<0 . .|
00011460  20 8d 40 66 44 0d 41 c8  1e e7 20 4d 4f 55 49 43  | .@fD.A... MOUIC|
00011470  25 3d 35 31 20 8c 20 f2  73 61 76 65 67 72 66 69  |%=51 . .savegrfi|
00011480  6c 6c 73 0d 41 d2 1e e7  20 4d 4f 55 49 43 25 3d  |lls.A... MOUIC%=|
00011490  35 30 20 8c 20 f2 6c 6f  61 64 67 72 66 69 6c 6c  |50 . .loadgrfill|
000114a0  73 0d 41 dc 1c e7 20 4d  4f 55 49 43 25 3d 35 32  |s.A... MOUIC%=52|
000114b0  20 8c 20 f2 66 69 6c 6c  75 73 65 3a e1 0d 41 e6  | . .filluse:..A.|
000114c0  1f e7 20 4d 4f 55 49 43  25 3d 36 30 20 8c 20 f2  |.. MOUIC%=60 . .|
000114d0  69 6e 76 65 72 74 66 69  6c 6c 3a e1 0d 41 f0 1f  |invertfill:..A..|
000114e0  e7 20 4d 4f 55 49 43 25  3d 36 31 20 8c 20 f2 69  |. MOUIC%=61 . .i|
000114f0  6e 74 65 72 70 66 69 6c  6c 3a e1 0d 41 fa 1d e7  |nterpfill:..A...|
00011500  20 4d 4f 55 49 43 25 3d  36 32 20 8c 20 f2 77 69  | MOUIC%=62 . .wi|
00011510  70 65 66 69 6c 6c 3a e1  0d 42 04 1d e7 20 4d 4f  |pefill:..B... MO|
00011520  55 49 43 25 3d 36 33 20  8c 20 f2 63 6f 6d 70 66  |UIC%=63 . .compf|
00011530  69 6c 6c 3a e1 0d 42 0e  2d e7 20 4d 4f 55 49 43  |ill:..B.-. MOUIC|
00011540  25 3e 3d 30 20 80 20 4d  4f 55 49 43 25 3c 3d 31  |%>=0 . MOUIC%<=1|
00011550  35 20 8c 20 f2 73 65 74  67 72 61 64 66 69 6c 6c  |5 . .setgradfill|
00011560  3a e1 0d 42 18 30 e7 20  4d 4f 55 49 43 25 3e 3d  |:..B.0. MOUIC%>=|
00011570  31 37 20 80 20 4d 4f 55  49 43 25 3c 3d 32 31 20  |17 . MOUIC%<=21 |
00011580  8c 20 f2 66 6f 72 63 65  64 72 61 77 66 69 6c 6c  |. .forcedrawfill|
00011590  3a e1 0d 42 22 19 e7 20  4d 4f 55 49 43 25 3c 3e  |:..B".. MOUIC%<>|
000115a0  34 30 20 8c 20 e5 20 8d  40 40 42 0d 42 2c 27 46  |40 . . .@@B.B,'F|
000115b0  49 4c 52 25 3d 46 49 4c  52 25 2d 31 3a e7 20 46  |ILR%=FILR%-1:. F|
000115c0  49 4c 52 25 3c 30 20 8c  20 46 49 4c 52 25 3d 33  |ILR%<0 . FILR%=3|
000115d0  35 39 0d 42 36 1c f2 73  65 74 69 63 6f 6e 28 31  |59.B6..seticon(1|
000115e0  33 2c 33 39 2c c3 46 49  4c 52 25 29 3a e1 0d 42  |3,39,.FILR%):..B|
000115f0  40 19 e7 20 4d 4f 55 49  43 25 3c 3e 34 31 20 8c  |@.. MOUIC%<>41 .|
00011600  20 e5 20 8d 40 5e 42 0d  42 4a 27 46 49 4c 52 25  | . .@^B.BJ'FILR%|
00011610  3d 46 49 4c 52 25 2b 31  3a e7 20 46 49 4c 52 25  |=FILR%+1:. FILR%|
00011620  3e 33 35 39 20 8c 20 46  49 4c 52 25 3d 30 0d 42  |>359 . FILR%=0.B|
00011630  54 1c f2 73 65 74 69 63  6f 6e 28 31 33 2c 33 39  |T..seticon(13,39|
00011640  2c c3 46 49 4c 52 25 29  3a e1 0d 42 5e 19 e7 20  |,.FILR%):..B^.. |
00011650  4d 4f 55 49 43 25 3c 3e  34 33 20 8c 20 e5 20 8d  |MOUIC%<>43 . . .|
00011660  40 7c 42 0d 42 68 26 4e  4f 53 25 3d bb a4 67 65  |@|B.Bh&NOS%=..ge|
00011670  74 69 63 6f 6e 28 31 33  2c 34 34 29 3a e7 20 4e  |ticon(13,44):. N|
00011680  4f 53 25 3d 32 20 8c 20  e1 0d 42 72 43 f2 73 68  |OS%=2 . ..BrC.sh|
00011690  61 64 65 69 63 6f 6e 28  31 33 2c a4 66 69 6c 69  |adeicon(13,.fili|
000116a0  63 28 4e 4f 53 25 2d 31  29 29 3a 4e 4f 53 25 2d  |c(NOS%-1)):NOS%-|
000116b0  3d 31 3a f2 73 65 74 69  63 6f 6e 28 31 33 2c 34  |=1:.seticon(13,4|
000116c0  34 2c c3 28 4e 4f 53 25  29 29 3a e1 0d 42 7c 19  |4,.(NOS%)):..B|.|
000116d0  e7 20 4d 4f 55 49 43 25  3c 3e 34 35 20 8c 20 e5  |. MOUIC%<>45 . .|
000116e0  20 8d 70 5a 42 0d 42 86  27 4e 4f 53 25 3d bb a4  | .pZB.B.'NOS%=..|
000116f0  67 65 74 69 63 6f 6e 28  31 33 2c 34 34 29 3a e7  |geticon(13,44):.|
00011700  20 4e 4f 53 25 3d 31 36  20 8c 20 e1 0d 42 90 41  | NOS%=16 . ..B.A|
00011710  f2 63 6c 65 61 72 69 63  6f 6e 28 31 33 2c a4 66  |.clearicon(13,.f|
00011720  69 6c 69 63 28 4e 4f 53  25 29 29 3a 4e 4f 53 25  |ilic(NOS%)):NOS%|
00011730  2b 3d 31 3a f2 73 65 74  69 63 6f 6e 28 31 33 2c  |+=1:.seticon(13,|
00011740  34 34 2c c3 28 4e 4f 53  25 29 29 3a e1 0d 42 9a  |44,.(NOS%)):..B.|
00011750  04 0d 42 a4 05 e1 0d 42  ae 04 0d 42 b8 11 dd f2  |..B....B...B....|
00011760  73 65 74 67 72 61 64 66  69 6c 6c 0d 42 c2 12 53  |setgradfill.B..S|
00011770  4e 4f 25 3d a4 67 72 61  66 69 6c 6e 6f 0d 42 cc  |NO%=.grafilno.B.|
00011780  0f c8 8e 20 4d 4f 55 49  43 25 20 ca 0d 42 d6 0e  |... MOUIC% ..B..|
00011790  c9 20 30 3a f7 20 8d 70  7c 43 0d 42 e0 0e c9 20  |. 0:. .p|C.B... |
000117a0  31 3a f7 20 8d 60 46 43  0d 42 ea 0e c9 20 32 3a  |1:. .`FC.B... 2:|
000117b0  f7 20 8d 60 50 43 0d 42  f4 0e c9 20 33 3a f7 20  |. .`PC.B... 3:. |
000117c0  8d 60 5a 43 0d 42 fe 0e  c9 20 34 3a f7 20 8d 60  |.`ZC.B... 4:. .`|
000117d0  64 43 0d 43 08 0e c9 20  35 3a f7 20 8d 60 6e 43  |dC.C... 5:. .`nC|
000117e0  0d 43 12 0e c9 20 36 3a  f7 20 8d 60 78 43 0d 43  |.C... 6:. .`xC.C|
000117f0  1c 0e c9 20 37 3a f7 20  8d 50 4c 44 0d 43 26 0e  |... 7:. .PLD.C&.|
00011800  c9 20 38 3a f7 20 8d 50  56 44 0d 43 30 0e c9 20  |. 8:. .PVD.C0.. |
00011810  39 3a f7 20 8d 50 60 44  0d 43 3a 0f c9 20 31 30  |9:. .P`D.C:.. 10|
00011820  3a f7 20 8d 50 6a 44 0d  43 44 0f c9 20 31 31 3a  |:. .PjD.CD.. 11:|
00011830  f7 20 8d 50 42 44 0d 43  4e 0f c9 20 31 32 3a f7  |. .PBD.CN.. 12:.|
00011840  20 8d 50 74 44 0d 43 58  0f c9 20 31 33 3a f7 20  | .PtD.CX.. 13:. |
00011850  8d 50 7e 44 0d 43 62 0f  c9 20 31 34 3a f7 20 8d  |.P~D.Cb.. 14:. .|
00011860  40 48 44 0d 43 6c 0f c9  20 31 35 3a f7 20 8d 40  |@HD.Cl.. 15:. .@|
00011870  52 44 0d 43 76 05 cb 0d  43 80 4a e3 4c 25 3d 30  |RD.Cv...C.J.L%=0|
00011880  20 b8 20 31 35 3a f2 73  68 61 64 65 69 63 6f 6e  | . 15:.shadeicon|
00011890  28 31 33 2c a4 66 69 6c  69 63 28 4c 25 29 29 3a  |(13,.filic(L%)):|
000118a0  e3 4b 25 3d 30 20 b8 20  31 3a 47 52 46 49 25 28  |.K%=0 . 1:GRFI%(|
000118b0  4c 25 2c 4b 25 2c 53 4e  4f 25 29 3d 30 3a ed 3a  |L%,K%,SNO%)=0:.:|
000118c0  ed 0d 43 8a 51 f3 20 53  25 3a e3 4c 25 3d 30 20  |..C.Q. S%:.L%=0 |
000118d0  b8 20 53 25 2d 31 3a f2  63 6c 65 61 72 69 63 6f  |. S%-1:.clearico|
000118e0  6e 28 31 33 2c a4 66 69  6c 69 63 28 4c 25 29 29  |n(13,.filic(L%))|
000118f0  3a e3 4b 25 3d 30 20 b8  20 31 3a f3 20 47 52 46  |:.K%=0 . 1:. GRF|
00011900  49 25 28 4c 25 2c 4b 25  2c 53 4e 4f 25 29 3a ed  |I%(L%,K%,SNO%):.|
00011910  3a ed 0d 43 94 17 f2 73  65 74 69 63 6f 6e 28 31  |:..C...seticon(1|
00011920  33 2c 34 34 2c c3 53 25  29 0d 43 9e 12 f2 66 6f  |3,44,.S%).C...fo|
00011930  72 63 65 64 72 61 77 66  69 6c 6c 0d 43 a8 05 e1  |rcedrawfill.C...|
00011940  0d 43 b2 04 0d 43 bc 48  dc 20 31 32 2c 20 31 2c  |.C...C.H. 12, 1,|
00011950  30 2c 31 2c 36 34 2c 31  2c 31 32 38 2c 31 2c 31  |0,1,64,1,128,1,1|
00011960  39 32 2c 32 2c 30 2c 32  2c 36 34 2c 32 2c 31 32  |92,2,0,2,64,2,12|
00011970  38 2c 32 2c 31 39 32 2c  33 2c 30 2c 33 2c 36 34  |8,2,192,3,0,3,64|
00011980  2c 33 2c 31 32 38 2c 33  2c 31 39 32 0d 43 c6 4c  |,3,128,3,192.C.L|
00011990  dc 20 31 32 2c 20 34 2c  30 2c 34 2c 36 34 2c 34  |. 12, 4,0,4,64,4|
000119a0  2c 31 32 38 2c 34 2c 31  39 32 2c 38 2c 30 2c 38  |,128,4,192,8,0,8|
000119b0  2c 36 34 2c 38 2c 31 32  38 2c 38 2c 31 39 32 2c  |,64,8,128,8,192,|
000119c0  31 32 2c 30 2c 31 32 2c  36 34 2c 31 32 2c 31 32  |12,0,12,64,12,12|
000119d0  38 2c 31 32 2c 31 39 32  0d 43 d0 50 dc 20 31 32  |8,12,192.C.P. 12|
000119e0  2c 20 35 2c 30 2c 35 2c  36 34 2c 35 2c 31 32 38  |, 5,0,5,64,5,128|
000119f0  2c 35 2c 31 39 32 2c 31  30 2c 30 2c 31 30 2c 36  |,5,192,10,0,10,6|
00011a00  34 2c 31 30 2c 31 32 38  2c 31 30 2c 31 39 32 2c  |4,10,128,10,192,|
00011a10  31 35 2c 30 2c 31 35 2c  36 34 2c 31 35 2c 31 32  |15,0,15,64,15,12|
00011a20  38 2c 31 35 2c 31 39 32  0d 43 da 54 dc 20 31 32  |8,15,192.C.T. 12|
00011a30  2c 20 31 36 2c 30 2c 31  36 2c 36 34 2c 31 36 2c  |, 16,0,16,64,16,|
00011a40  31 32 38 2c 31 36 2c 31  39 32 2c 33 32 2c 30 2c  |128,16,192,32,0,|
00011a50  33 32 2c 36 34 2c 33 32  2c 31 32 38 2c 33 32 2c  |32,64,32,128,32,|
00011a60  31 39 32 2c 34 38 2c 30  2c 34 38 2c 36 34 2c 34  |192,48,0,48,64,4|
00011a70  38 2c 31 32 38 2c 34 38  2c 31 39 32 0d 43 e4 54  |8,128,48,192.C.T|
00011a80  dc 20 31 32 2c 20 31 37  2c 30 2c 31 37 2c 36 34  |. 12, 17,0,17,64|
00011a90  2c 31 37 2c 31 32 38 2c  31 37 2c 31 39 32 2c 33  |,17,128,17,192,3|
00011aa0  34 2c 30 2c 33 34 2c 36  34 2c 33 34 2c 31 32 38  |4,0,34,64,34,128|
00011ab0  2c 33 34 2c 31 39 32 2c  35 31 2c 30 2c 35 31 2c  |,34,192,51,0,51,|
00011ac0  36 34 2c 35 31 2c 31 32  38 2c 35 31 2c 31 39 32  |64,51,128,51,192|
00011ad0  0d 43 ee 54 dc 20 31 32  2c 20 32 30 2c 30 2c 32  |.C.T. 12, 20,0,2|
00011ae0  30 2c 36 34 2c 32 30 2c  31 32 38 2c 32 30 2c 31  |0,64,20,128,20,1|
00011af0  39 32 2c 34 30 2c 30 2c  34 30 2c 36 34 2c 34 30  |92,40,0,40,64,40|
00011b00  2c 31 32 38 2c 34 30 2c  31 39 32 2c 36 30 2c 30  |,128,40,192,60,0|
00011b10  2c 36 30 2c 36 34 2c 36  30 2c 31 32 38 2c 36 30  |,60,64,60,128,60|
00011b20  2c 31 39 32 0d 43 f8 65  dc 20 31 35 2c 20 30 2c  |,192.C.e. 15, 0,|
00011b30  36 34 2c 30 2c 31 32 38  2c 30 2c 31 39 32 2c 32  |64,0,128,0,192,2|
00011b40  31 2c 30 2c 32 31 2c 36  34 2c 32 31 2c 31 32 38  |1,0,21,64,21,128|
00011b50  2c 32 31 2c 31 39 32 2c  34 32 2c 30 2c 34 32 2c  |,21,192,42,0,42,|
00011b60  36 34 2c 34 32 2c 31 32  38 2c 34 32 2c 31 39 32  |64,42,128,42,192|
00011b70  2c 36 33 2c 30 2c 36 33  2c 36 34 2c 36 33 2c 31  |,63,0,63,64,63,1|
00011b80  32 38 2c 36 33 2c 31 39  32 0d 44 02 4c dc 20 31  |28,63,192.D.L. 1|
00011b90  32 2c 20 31 2c 30 2c 31  2c 36 34 2c 31 2c 31 32  |2, 1,0,1,64,1,12|
00011ba0  38 2c 31 2c 31 39 32 2c  36 2c 30 2c 36 2c 36 34  |8,1,192,6,0,6,64|
00011bb0  2c 36 2c 31 32 38 2c 36  2c 31 39 32 2c 32 37 2c  |,6,128,6,192,27,|
00011bc0  30 2c 32 37 2c 36 34 2c  32 37 2c 31 32 38 2c 32  |0,27,64,27,128,2|
00011bd0  37 2c 31 39 32 0d 44 0c  3a dc 20 38 2c 20 31 38  |7,192.D.:. 8, 18|
00011be0  2c 30 2c 31 38 2c 36 34  2c 31 38 2c 31 32 38 2c  |,0,18,64,18,128,|
00011bf0  31 38 2c 31 39 32 2c 33  39 2c 30 2c 33 39 2c 36  |18,192,39,0,39,6|
00011c00  34 2c 33 39 2c 31 32 38  2c 33 39 2c 31 39 32 0d  |4,39,128,39,192.|
00011c10  44 16 32 dc 20 38 2c 20  32 2c 30 2c 32 2c 36 34  |D.2. 8, 2,0,2,64|
00011c20  2c 32 2c 31 32 38 2c 32  2c 31 39 32 2c 37 2c 30  |,2,128,2,192,7,0|
00011c30  2c 37 2c 36 34 2c 37 2c  31 32 38 2c 37 2c 31 39  |,7,64,7,128,7,19|
00011c40  32 0d 44 20 54 dc 20 31  32 2c 20 31 37 2c 30 2c  |2.D T. 12, 17,0,|
00011c50  31 37 2c 36 34 2c 31 37  2c 31 32 38 2c 31 37 2c  |17,64,17,128,17,|
00011c60  31 39 32 2c 33 38 2c 30  2c 33 38 2c 36 34 2c 33  |192,38,0,38,64,3|
00011c70  38 2c 31 32 38 2c 33 38  2c 31 39 32 2c 35 39 2c  |8,128,38,192,59,|
00011c80  30 2c 35 39 2c 36 34 2c  35 39 2c 31 32 38 2c 35  |0,59,64,59,128,5|
00011c90  39 2c 31 39 32 0d 44 2a  50 dc 20 31 32 2c 20 35  |9,192.D*P. 12, 5|
00011ca0  2c 30 2c 35 2c 36 34 2c  35 2c 31 32 38 2c 35 2c  |,0,5,64,5,128,5,|
00011cb0  31 39 32 2c 31 30 2c 30  2c 32 36 2c 36 34 2c 32  |192,10,0,26,64,2|
00011cc0  36 2c 31 32 38 2c 32 36  2c 31 39 32 2c 34 37 2c  |6,128,26,192,47,|
00011cd0  30 2c 34 37 2c 36 34 2c  34 37 2c 31 32 38 2c 34  |0,47,64,47,128,4|
00011ce0  37 2c 31 39 32 0d 44 34  54 dc 20 31 32 2c 20 32  |7,192.D4T. 12, 2|
00011cf0  30 2c 30 2c 32 30 2c 36  34 2c 32 30 2c 31 32 38  |0,0,20,64,20,128|
00011d00  2c 32 30 2c 31 39 32 2c  34 31 2c 30 2c 34 31 2c  |,20,192,41,0,41,|
00011d10  36 34 2c 34 31 2c 31 32  38 2c 34 31 2c 31 39 32  |64,41,128,41,192|
00011d20  2c 36 32 2c 30 2c 36 32  2c 36 34 2c 36 32 2c 31  |,62,0,62,64,62,1|
00011d30  32 38 2c 36 32 2c 31 39  32 0d 44 3e 50 dc 20 31  |28,62,192.D>P. 1|
00011d40  32 2c 20 31 2c 30 2c 31  2c 36 34 2c 31 2c 31 32  |2, 1,0,1,64,1,12|
00011d50  38 2c 31 2c 31 39 32 2c  32 32 2c 30 2c 32 32 2c  |8,1,192,22,0,22,|
00011d60  36 34 2c 32 32 2c 31 32  38 2c 32 32 2c 31 39 32  |64,22,128,22,192|
00011d70  2c 34 33 2c 30 2c 34 33  2c 36 34 2c 34 33 2c 31  |,43,0,43,64,43,1|
00011d80  32 38 2c 34 33 2c 31 39  32 0d 44 48 38 dc 20 38  |28,43,192.DH8. 8|
00011d90  2c 20 39 2c 30 2c 39 2c  36 34 2c 39 2c 31 32 38  |, 9,0,9,64,9,128|
00011da0  2c 39 2c 31 39 32 2c 31  34 2c 30 2c 31 34 2c 36  |,9,192,14,0,14,6|
00011db0  34 2c 31 34 2c 31 32 38  2c 31 34 2c 31 39 32 2c  |4,14,128,14,192,|
00011dc0  30 0d 44 52 3a dc 20 38  2c 20 32 31 2c 30 2c 32  |0.DR:. 8, 21,0,2|
00011dd0  31 2c 36 34 2c 32 31 2c  31 32 38 2c 32 31 2c 31  |1,64,21,128,21,1|
00011de0  39 32 2c 34 32 2c 30 2c  34 32 2c 36 34 2c 34 32  |92,42,0,42,64,42|
00011df0  2c 31 32 38 2c 34 32 2c  31 39 32 0d 44 5c 04 0d  |,128,42,192.D\..|
00011e00  44 66 35 42 4c 4b 25 21  38 3d 48 41 4e 44 25 28  |Df5BLK%!8=HAND%(|
00011e10  31 33 29 3a c8 99 20 22  57 69 6d 70 5f 47 65 74  |13):.. "Wimp_Get|
00011e20  57 69 6e 64 6f 77 53 74  61 74 65 22 2c 2c 42 4c  |WindowState",,BL|
00011e30  4b 25 2b 38 0d 44 70 38  58 4f 46 25 3d 28 28 21  |K%+8.Dp8XOF%=((!|
00011e40  42 4c 4b 25 29 2d 28 42  4c 4b 25 21 31 32 29 29  |BLK%)-(BLK%!12))|
00011e50  2d 34 32 32 3a e7 20 58  4f 46 25 3e 37 36 36 20  |-422:. XOF%>766 |
00011e60  84 20 58 4f 46 25 3c 30  20 8c 20 e1 0d 44 7a 39  |. XOF%<0 . ..Dz9|
00011e70  59 4f 46 25 3d 28 28 42  4c 4b 25 21 34 29 2d 28  |YOF%=((BLK%!4)-(|
00011e80  42 4c 4b 25 21 31 36 29  29 2d 32 33 36 3a e7 20  |BLK%!16))-236:. |
00011e90  59 4f 46 25 3e 32 32 30  20 84 20 59 4f 46 25 3c  |YOF%>220 . YOF%<|
00011ea0  30 20 8c 20 e1 0d 44 84  25 63 6f 6c 25 3d 28 58  |0 . ..D.%col%=(X|
00011eb0  4f 46 25 20 81 20 32 34  29 2b 28 28 59 4f 46 25  |OF% . 24)+((YOF%|
00011ec0  20 81 20 32 38 29 2a 33  32 29 0d 44 8e 1d 74 69  | . 28)*32).D..ti|
00011ed0  6e 25 3d 50 41 4c 54 41  42 25 3f 28 28 63 6f 6c  |n%=PALTAB%?((col|
00011ee0  25 2a 32 29 2b 31 29 0d  44 98 19 63 6f 6c 25 3d  |%*2)+1).D..col%=|
00011ef0  50 41 4c 54 41 42 25 3f  28 63 6f 6c 25 2a 32 29  |PALTAB%?(col%*2)|
00011f00  0d 44 a2 3d 46 50 45 25  3d 2d 31 3a e3 4c 25 3d  |.D.=FPE%=-1:.L%=|
00011f10  30 20 b8 20 31 35 3a e7  20 a4 68 69 67 68 28 31  |0 . 15:. .high(1|
00011f20  33 2c a4 66 69 6c 69 63  28 4c 25 29 29 20 8c 20  |3,.filic(L%)) . |
00011f30  46 50 45 25 3d 4c 25 3a  ed 20 8b 20 ed 0d 44 ac  |FPE%=L%:. . ..D.|
00011f40  12 53 4e 4f 25 3d a4 67  72 61 66 69 6c 6e 6f 0d  |.SNO%=.grafilno.|
00011f50  44 b6 1b e7 20 46 50 45  25 3d 2d 31 20 84 20 53  |D... FPE%=-1 . S|
00011f60  4e 4f 25 3d 2d 31 20 8c  20 e1 0d 44 c0 42 47 52  |NO%=-1 . ..D.BGR|
00011f70  46 49 25 28 46 50 45 25  2c 30 2c 53 4e 4f 25 29  |FI%(FPE%,0,SNO%)|
00011f80  3d 63 6f 6c 25 3a 47 52  46 49 25 28 46 50 45 25  |=col%:GRFI%(FPE%|
00011f90  2c 31 2c 53 4e 4f 25 29  3d 74 69 6e 25 3a f2 66  |,1,SNO%)=tin%:.f|
00011fa0  6f 72 63 65 64 72 61 77  66 69 6c 6c 0d 44 ca 05  |orcedrawfill.D..|
00011fb0  e1 0d 44 d4 04 0d 44 de  37 dd a4 66 69 6c 69 63  |..D...D.7..filic|
00011fc0  28 46 53 4e 25 29 3a e7  20 46 53 4e 25 3c 3d 31  |(FSN%):. FSN%<=1|
00011fd0  31 20 8c 20 3d 46 53 4e  25 2b 32 36 20 8b 20 3d  |1 . =FSN%+26 . =|
00011fe0  28 46 53 4e 25 2d 31 32  29 2b 34 36 0d 44 e8 04  |(FSN%-12)+46.D..|
00011ff0  0d 44 f2 12 dd f2 6c 69  6e 65 70 61 74 63 6c 69  |.D....linepatcli|
00012000  63 6b 0d 44 fc 0f c8 8e  20 4d 4f 55 49 43 25 20  |ck.D.... MOUIC% |
00012010  ca 0d 45 06 55 c9 20 33  3a 50 4c 25 3d bb a4 67  |..E.U. 3:PL%=..g|
00012020  65 74 69 63 6f 6e 28 31  30 2c 31 29 3a e7 20 50  |eticon(10,1):. P|
00012030  4c 25 3e 31 20 8c 20 f2  73 68 61 64 65 69 63 6f  |L%>1 . .shadeico|
00012040  6e 28 31 30 2c 50 4c 25  2b 36 29 3a 50 4c 25 2d  |n(10,PL%+6):PL%-|
00012050  3d 31 3a f2 73 65 74 69  63 6f 6e 28 31 30 2c 31  |=1:.seticon(10,1|
00012060  2c c3 50 4c 25 29 0d 45  10 56 c9 20 32 3a 50 4c  |,.PL%).E.V. 2:PL|
00012070  25 3d bb a4 67 65 74 69  63 6f 6e 28 31 30 2c 31  |%=..geticon(10,1|
00012080  29 3a e7 20 50 4c 25 3c  34 30 20 8c 20 f2 63 6c  |):. PL%<40 . .cl|
00012090  65 61 72 69 63 6f 6e 28  31 30 2c 50 4c 25 2b 37  |earicon(10,PL%+7|
000120a0  29 3a 50 4c 25 2b 3d 31  3a f2 73 65 74 69 63 6f  |):PL%+=1:.setico|
000120b0  6e 28 31 30 2c 31 2c c3  50 4c 25 29 0d 45 1a 24  |n(10,1,.PL%).E.$|
000120c0  c9 20 34 3a 50 41 4c 45  25 3d bb a4 67 65 74 69  |. 4:PALE%=..geti|
000120d0  63 6f 6e 28 31 30 2c 31  29 3a ef 32 33 2c 36 2c  |con(10,1):.23,6,|
000120e0  0d 45 24 42 49 4e 25 3d  37 3a e3 4c 25 3d 31 20  |.E$BIN%=7:.L%=1 |
000120f0  b8 20 35 3a 4e 25 3d 30  3a 49 25 3d 31 32 38 3a  |. 5:N%=0:I%=128:|
00012100  e3 4b 25 3d 31 20 b8 20  38 3a e7 20 a4 68 69 67  |.K%=1 . 8:. .hig|
00012110  68 28 31 30 2c 49 4e 25  29 20 8c 20 4e 25 2b 3d  |h(10,IN%) . N%+=|
00012120  49 25 0d 45 2e 2e 49 25  3d 49 25 20 81 20 32 3a  |I%.E..I%=I% . 2:|
00012130  49 4e 25 2b 3d 31 3a ed  3a ef 20 4e 25 3a 50 41  |IN%+=1:.:. N%:PA|
00012140  54 25 28 4c 25 29 3d 4e  25 3a ed 3a ef 20 30 7c  |T%(L%)=N%:.:. 0||
00012150  0d 45 38 17 e7 20 4d 4f  55 42 25 3d 34 20 8c 20  |.E8.. MOUB%=4 . |
00012160  f2 6d 65 6e 6f 66 66 0d  45 42 05 cb 0d 45 4c 05  |.menoff.EB...EL.|
00012170  e1 0d 45 56 04 0d 45 60  0f dd f2 67 72 61 62 63  |..EV..E`...grabc|
00012180  6c 69 63 6b 0d 45 6a 2c  e7 20 4d 4f 55 49 43 25  |lick.Ej,. MOUIC%|
00012190  3c 3e 31 32 20 84 20 28  46 55 53 45 25 3c 3e 33  |<>12 . (FUSE%<>3|
000121a0  34 20 80 20 46 55 53 54  25 3c 32 29 20 8c 20 e1  |4 . FUST%<2) . .|
000121b0  0d 45 74 40 f2 69 6e 70  69 63 3a e7 20 46 55 53  |.Et@.inpic:. FUS|
000121c0  45 25 3c 3e 33 34 20 8c  20 f2 70 67 72 61 62 28  |E%<>34 . .pgrab(|
000121d0  4f 58 25 2c 4f 59 25 2c  33 29 20 8b 20 f2 70 69  |OX%,OY%,3) . .pi|
000121e0  6d 70 6f 72 74 28 4f 58  25 2c 4f 59 25 2c 33 29  |mport(OX%,OY%,3)|
000121f0  0d 45 7e 43 47 52 58 4d  25 3d bb 28 a4 67 65 74  |.E~CGRXM%=.(.get|
00012200  69 63 6f 6e 28 38 2c 34  29 29 3a e7 20 47 52 58  |icon(8,4)):. GRX|
00012210  4d 25 3c 31 20 8c 20 47  52 58 4d 25 3d 31 3a f2  |M%<1 . GRXM%=1:.|
00012220  73 65 74 69 63 6f 6e 28  38 2c 34 2c c3 47 52 58  |seticon(8,4,.GRX|
00012230  4d 25 29 0d 45 88 43 47  52 59 4d 25 3d bb 28 a4  |M%).E.CGRYM%=.(.|
00012240  67 65 74 69 63 6f 6e 28  38 2c 35 29 29 3a e7 20  |geticon(8,5)):. |
00012250  47 52 59 4d 25 3c 31 20  8c 20 47 52 59 4d 25 3d  |GRYM%<1 . GRYM%=|
00012260  31 3a f2 73 65 74 69 63  6f 6e 28 38 2c 35 2c c3  |1:.seticon(8,5,.|
00012270  47 52 59 4d 25 29 0d 45  92 43 47 52 58 44 25 3d  |GRYM%).E.CGRXD%=|
00012280  bb 28 a4 67 65 74 69 63  6f 6e 28 38 2c 36 29 29  |.(.geticon(8,6))|
00012290  3a e7 20 47 52 58 44 25  3c 31 20 8c 20 47 52 58  |:. GRXD%<1 . GRX|
000122a0  44 25 3d 31 3a f2 73 65  74 69 63 6f 6e 28 38 2c  |D%=1:.seticon(8,|
000122b0  36 2c c3 47 52 58 44 25  29 0d 45 9c 43 47 52 59  |6,.GRXD%).E.CGRY|
000122c0  44 25 3d bb 28 a4 67 65  74 69 63 6f 6e 28 38 2c  |D%=.(.geticon(8,|
000122d0  37 29 29 3a e7 20 47 52  59 44 25 3c 31 20 8c 20  |7)):. GRYD%<1 . |
000122e0  47 52 59 44 25 3d 31 3a  f2 73 65 74 69 63 6f 6e  |GRYD%=1:.seticon|
000122f0  28 38 2c 36 2c c3 47 52  59 44 25 29 0d 45 a6 0d  |(8,6,.GRYD%).E..|
00012300  f2 67 72 61 62 66 6c 69  70 0d 45 b0 15 47 52 4d  |.grabflip.E..GRM|
00012310  41 25 3d a4 68 69 67 68  28 38 2c 31 34 29 0d 45  |A%=.high(8,14).E|
00012320  ba 39 e7 20 46 55 53 45  25 3c 3e 33 34 20 8c 20  |.9. FUSE%<>34 . |
00012330  f2 70 67 72 61 62 28 4f  58 25 2c 4f 59 25 2c 33  |.pgrab(OX%,OY%,3|
00012340  29 20 8b 20 f2 70 69 6d  70 6f 72 74 28 4f 58 25  |) . .pimport(OX%|
00012350  2c 4f 59 25 2c 33 29 0d  45 c4 1a f2 6f 75 74 70  |,OY%,3).E...outp|
00012360  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00012370  6e 0d 45 ce 05 e1 0d 45  d8 04 0d 45 e2 0e dd f2  |n.E....E...E....|
00012380  67 72 61 62 66 6c 69 70  0d 45 ec 5f e7 20 28 a4  |grabflip.E._. (.|
00012390  68 69 67 68 28 38 2c 31  30 29 20 80 20 ac 20 47  |high(8,10) . . G|
000123a0  52 46 58 25 29 20 84 20  28 28 ac 20 a4 68 69 67  |RFX%) . ((. .hig|
000123b0  68 28 38 2c 31 30 29 29  20 80 20 47 52 46 58 25  |h(8,10)) . GRFX%|
000123c0  29 20 8c 20 c8 99 26 32  45 2c 32 38 39 2c 53 50  |) . ..&2E,289,SP|
000123d0  42 55 46 25 2c 47 52 4e  24 3a 47 52 46 58 25 3d  |BUF%,GRN$:GRFX%=|
000123e0  ac 20 47 52 46 58 25 0d  45 f6 5f e7 20 28 a4 68  |. GRFX%.E._. (.h|
000123f0  69 67 68 28 38 2c 31 31  29 20 80 20 ac 20 47 52  |igh(8,11) . . GR|
00012400  46 59 25 29 20 84 20 28  28 ac 20 a4 68 69 67 68  |FY%) . ((. .high|
00012410  28 38 2c 31 31 29 29 20  80 20 47 52 46 59 25 29  |(8,11)) . GRFY%)|
00012420  20 8c 20 c8 99 26 32 45  2c 33 30 33 2c 53 50 42  | . ..&2E,303,SPB|
00012430  55 46 25 2c 47 52 4e 24  3a 47 52 46 59 25 3d ac  |UF%,GRN$:GRFY%=.|
00012440  20 47 52 46 59 25 0d 46  00 05 e1 0d 46 0a 04 0d  | GRFY%.F....F...|
00012450  46 14 0f dd f2 67 72 69  64 63 6c 69 63 6b 0d 46  |F....gridclick.F|
00012460  1e 17 44 25 3d bb 28 a4  67 65 74 69 63 6f 6e 28  |..D%=.(.geticon(|
00012470  36 2c 34 29 29 0d 46 28  31 e7 20 4d 4f 55 49 43  |6,4)).F(1. MOUIC|
00012480  25 3d 32 20 80 20 44 25  3e 31 20 8c 20 44 25 2d  |%=2 . D%>1 . D%-|
00012490  3d 31 3a f2 73 65 74 69  63 6f 6e 28 36 2c 34 2c  |=1:.seticon(6,4,|
000124a0  c3 44 25 29 3a e1 0d 46  32 33 e7 20 4d 4f 55 49  |.D%):..F23. MOUI|
000124b0  43 25 3d 36 20 80 20 44  25 3c 39 39 39 20 8c 20  |C%=6 . D%<999 . |
000124c0  44 25 2b 3d 31 3a f2 73  65 74 69 63 6f 6e 28 36  |D%+=1:.seticon(6|
000124d0  2c 34 2c c3 44 25 29 3a  e1 0d 46 3c 17 44 25 3d  |,4,.D%):..F<.D%=|
000124e0  bb 28 a4 67 65 74 69 63  6f 6e 28 36 2c 35 29 29  |.(.geticon(6,5))|
000124f0  0d 46 46 31 e7 20 4d 4f  55 49 43 25 3d 33 20 80  |.FF1. MOUIC%=3 .|
00012500  20 44 25 3e 31 20 8c 20  44 25 2d 3d 31 3a f2 73  | D%>1 . D%-=1:.s|
00012510  65 74 69 63 6f 6e 28 36  2c 35 2c c3 44 25 29 3a  |eticon(6,5,.D%):|
00012520  e1 0d 46 50 33 e7 20 4d  4f 55 49 43 25 3d 37 20  |..FP3. MOUIC%=7 |
00012530  80 20 44 25 3c 39 39 39  20 8c 20 44 25 2b 3d 31  |. D%<999 . D%+=1|
00012540  3a f2 73 65 74 69 63 6f  6e 28 36 2c 35 2c c3 44  |:.seticon(6,5,.D|
00012550  25 29 3a e1 0d 46 5a 18  44 25 3d bb 28 a4 67 65  |%):..FZ.D%=.(.ge|
00012560  74 69 63 6f 6e 28 36 2c  31 32 29 29 0d 46 64 33  |ticon(6,12)).Fd3|
00012570  e7 20 4d 4f 55 49 43 25  3d 31 30 20 80 20 44 25  |. MOUIC%=10 . D%|
00012580  3e 30 20 8c 20 44 25 2d  3d 31 3a f2 73 65 74 69  |>0 . D%-=1:.seti|
00012590  63 6f 6e 28 36 2c 31 32  2c c3 44 25 29 3a e1 0d  |con(6,12,.D%):..|
000125a0  46 6e 35 e7 20 4d 4f 55  49 43 25 3d 31 34 20 80  |Fn5. MOUIC%=14 .|
000125b0  20 44 25 3c 39 39 39 20  8c 20 44 25 2b 3d 31 3a  | D%<999 . D%+=1:|
000125c0  f2 73 65 74 69 63 6f 6e  28 36 2c 31 32 2c c3 44  |.seticon(6,12,.D|
000125d0  25 29 3a e1 0d 46 78 18  44 25 3d bb 28 a4 67 65  |%):..Fx.D%=.(.ge|
000125e0  74 69 63 6f 6e 28 36 2c  31 33 29 29 0d 46 82 33  |ticon(6,13)).F.3|
000125f0  e7 20 4d 4f 55 49 43 25  3d 31 31 20 80 20 44 25  |. MOUIC%=11 . D%|
00012600  3e 30 20 8c 20 44 25 2d  3d 31 3a f2 73 65 74 69  |>0 . D%-=1:.seti|
00012610  63 6f 6e 28 36 2c 31 33  2c c3 44 25 29 3a e1 0d  |con(6,13,.D%):..|
00012620  46 8c 35 e7 20 4d 4f 55  49 43 25 3d 31 35 20 80  |F.5. MOUIC%=15 .|
00012630  20 44 25 3c 39 39 39 20  8c 20 44 25 2b 3d 31 3a  | D%<999 . D%+=1:|
00012640  f2 73 65 74 69 63 6f 6e  28 36 2c 31 33 2c c3 44  |.seticon(6,13,.D|
00012650  25 29 3a e1 0d 46 96 5d  e7 20 4d 4f 55 49 43 25  |%):..F.]. MOUIC%|
00012660  3d 31 36 20 8c 20 f2 73  65 74 69 63 6f 6e 28 36  |=16 . .seticon(6|
00012670  2c 34 2c 22 31 22 29 3a  f2 73 65 74 69 63 6f 6e  |,4,"1"):.seticon|
00012680  28 36 2c 35 2c 22 31 22  29 3a f2 73 65 74 69 63  |(6,5,"1"):.setic|
00012690  6f 6e 28 36 2c 31 32 2c  22 30 22 29 3a f2 73 65  |on(6,12,"0"):.se|
000126a0  74 69 63 6f 6e 28 36 2c  31 33 2c 22 30 22 29 3a  |ticon(6,13,"0"):|
000126b0  e1 0d 46 a0 14 e7 20 4d  4f 55 49 43 25 3c 3e 31  |..F... MOUIC%<>1|
000126c0  37 20 8c 20 e1 0d 46 aa  2e 47 52 57 49 25 3d bb  |7 . ..F..GRWI%=.|
000126d0  28 a4 67 65 74 69 63 6f  6e 28 36 2c 34 29 29 3a  |(.geticon(6,4)):|
000126e0  e7 20 47 52 57 49 25 3c  31 20 8c 20 47 52 57 49  |. GRWI%<1 . GRWI|
000126f0  25 3d 31 0d 46 b4 2e 47  52 48 45 25 3d bb 28 a4  |%=1.F..GRHE%=.(.|
00012700  67 65 74 69 63 6f 6e 28  36 2c 35 29 29 3a e7 20  |geticon(6,5)):. |
00012710  47 52 48 45 25 3c 31 20  8c 20 47 52 48 45 25 3d  |GRHE%<1 . GRHE%=|
00012720  31 0d 46 be 5e 47 52 42  58 25 3d bb 28 a4 67 65  |1.F.^GRBX%=.(.ge|
00012730  74 69 63 6f 6e 28 36 2c  31 32 29 29 3a e7 20 47  |ticon(6,12)):. G|
00012740  52 42 58 25 3e 47 52 57  49 25 20 8c 20 f5 3a 47  |RBX%>GRWI% . .:G|
00012750  52 42 58 25 2d 3d 47 52  57 49 25 3a fd 20 47 52  |RBX%-=GRWI%:. GR|
00012760  42 58 25 3c 47 52 57 49  25 3a f2 73 65 74 69 63  |BX%<GRWI%:.setic|
00012770  6f 6e 28 36 2c 31 32 2c  c3 47 52 42 58 25 29 0d  |on(6,12,.GRBX%).|
00012780  46 c8 5e 47 52 42 59 25  3d bb 28 a4 67 65 74 69  |F.^GRBY%=.(.geti|
00012790  63 6f 6e 28 36 2c 31 33  29 29 3a e7 20 47 52 42  |con(6,13)):. GRB|
000127a0  59 25 3e 47 52 48 45 25  20 8c 20 f5 3a 47 52 42  |Y%>GRHE% . .:GRB|
000127b0  59 25 2d 3d 47 52 48 45  25 3a fd 20 47 52 42 59  |Y%-=GRHE%:. GRBY|
000127c0  25 3c 47 52 48 45 25 3a  f2 73 65 74 69 63 6f 6e  |%<GRHE%:.seticon|
000127d0  28 36 2c 31 33 2c c3 47  52 42 59 25 29 0d 46 d2  |(6,13,.GRBY%).F.|
000127e0  17 e7 20 4d 4f 55 42 25  3d 34 20 8c 20 f2 6d 65  |.. MOUB%=4 . .me|
000127f0  6e 6f 66 66 0d 46 dc 12  f2 66 6f 72 63 65 64 72  |noff.F...forcedr|
00012800  61 77 6d 61 69 6e 0d 46  e6 05 e1 0d 46 f0 04 0d  |awmain.F....F...|
00012810  46 fa 10 dd f2 62 72 75  73 68 63 6c 69 63 6b 0d  |F....brushclick.|
00012820  47 04 1e e7 20 4d 4f 55  49 43 25 3e 3d 30 20 80  |G... MOUIC%>=0 .|
00012830  20 4d 4f 55 49 43 25 3c  3d 31 31 20 8c 0d 47 0e  | MOUIC%<=11 ..G.|
00012840  40 e7 20 46 55 53 54 25  3e 30 20 8c 20 f2 69 6e  |@. FUST%>0 . .in|
00012850  70 69 63 3a f2 70 61 69  6e 74 73 63 61 6c 65 3a  |pic:.paintscale:|
00012860  f2 65 6f 72 62 61 63 6b  3a f2 70 61 69 6e 74 62  |.eorback:.paintb|
00012870  72 75 73 68 28 4f 58 25  2c 4f 59 25 29 0d 47 18  |rush(OX%,OY%).G.|
00012880  13 53 45 4c 42 52 25 3d  4d 4f 55 49 43 25 2b 31  |.SELBR%=MOUIC%+1|
00012890  0d 47 22 44 e7 20 46 55  53 54 25 3e 30 20 8c 20  |.G"D. FUST%>0 . |
000128a0  f2 65 6f 72 62 61 63 6b  3a f2 70 61 69 6e 74 62  |.eorback:.paintb|
000128b0  72 75 73 68 28 4f 58 25  2c 4f 59 25 29 3a f2 6f  |rush(OX%,OY%):.o|
000128c0  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
000128d0  6d 61 69 6e 0d 47 2c 13  f2 66 6f 72 63 65 64 72  |main.G,..forcedr|
000128e0  61 77 62 72 75 73 68 0d  47 36 05 cd 0d 47 40 2a  |awbrush.G6...G@*|
000128f0  e7 20 4d 4f 55 49 43 25  3c 3e 32 30 20 84 20 46  |. MOUIC%<>20 . F|
00012900  55 53 45 25 3d 32 39 20  84 20 46 55 53 45 25 3d  |USE%=29 . FUSE%=|
00012910  33 30 20 8c 20 e1 0d 47  4a 40 e7 20 46 55 53 54  |30 . ..GJ@. FUST|
00012920  25 3e 30 20 8c 20 f2 69  6e 70 69 63 3a f2 70 61  |%>0 . .inpic:.pa|
00012930  69 6e 74 73 63 61 6c 65  3a f2 65 6f 72 62 61 63  |intscale:.eorbac|
00012940  6b 3a f2 70 61 69 6e 74  62 72 75 73 68 28 4f 58  |k:.paintbrush(OX|
00012950  25 2c 4f 59 25 29 0d 47  54 3f 42 58 4d 25 3d bb  |%,OY%).GT?BXM%=.|
00012960  28 a4 67 65 74 69 63 6f  6e 28 35 2c 31 36 29 29  |(.geticon(5,16))|
00012970  3a e7 20 42 58 4d 25 3c  31 20 8c 20 42 58 4d 25  |:. BXM%<1 . BXM%|
00012980  3d 31 3a f2 73 65 74 69  63 6f 6e 28 34 2c 31 36  |=1:.seticon(4,16|
00012990  2c 22 31 22 29 0d 47 5e  3f 42 59 4d 25 3d bb 28  |,"1").G^?BYM%=.(|
000129a0  a4 67 65 74 69 63 6f 6e  28 35 2c 31 38 29 29 3a  |.geticon(5,18)):|
000129b0  e7 20 42 59 4d 25 3c 31  20 8c 20 42 59 4d 25 3d  |. BYM%<1 . BYM%=|
000129c0  31 3a f2 73 65 74 69 63  6f 6e 28 34 2c 31 38 2c  |1:.seticon(4,18,|
000129d0  22 31 22 29 0d 47 68 3f  42 58 44 25 3d bb 28 a4  |"1").Gh?BXD%=.(.|
000129e0  67 65 74 69 63 6f 6e 28  35 2c 31 37 29 29 3a e7  |geticon(5,17)):.|
000129f0  20 42 58 44 25 3c 31 20  8c 20 42 58 44 25 3d 31  | BXD%<1 . BXD%=1|
00012a00  3a f2 73 65 74 69 63 6f  6e 28 34 2c 31 37 2c 22  |:.seticon(4,17,"|
00012a10  31 22 29 0d 47 72 3f 42  59 44 25 3d bb 28 a4 67  |1").Gr?BYD%=.(.g|
00012a20  65 74 69 63 6f 6e 28 35  2c 31 39 29 29 3a e7 20  |eticon(5,19)):. |
00012a30  42 59 44 25 3c 31 20 8c  20 42 59 44 25 3d 31 3a  |BYD%<1 . BYD%=1:|
00012a40  f2 73 65 74 69 63 6f 6e  28 34 2c 31 39 2c 22 31  |.seticon(4,19,"1|
00012a50  22 29 0d 47 7c 50 e7 20  46 55 53 54 25 3e 30 20  |").G|P. FUST%>0 |
00012a60  8c 20 f2 70 61 69 6e 74  73 63 61 6c 65 3a f2 65  |. .paintscale:.e|
00012a70  6f 72 62 61 63 6b 3a f2  70 61 69 6e 74 62 72 75  |orback:.paintbru|
00012a80  73 68 28 4f 58 25 2c 4f  59 25 29 3a f2 6f 75 74  |sh(OX%,OY%):.out|
00012a90  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
00012aa0  69 6e 0d 47 86 05 e1 0d  47 90 04 0d 47 9a 0f dd  |in.G....G...G...|
00012ab0  f2 61 69 72 62 63 6c 69  63 6b 0d 47 a4 17 44 25  |.airbclick.G..D%|
00012ac0  3d bb 28 a4 67 65 74 69  63 6f 6e 28 34 2c 31 29  |=.(.geticon(4,1)|
00012ad0  29 0d 47 ae 31 e7 20 4d  4f 55 49 43 25 3d 34 20  |).G.1. MOUIC%=4 |
00012ae0  80 20 44 25 3e 31 20 8c  20 44 25 2d 3d 31 3a f2  |. D%>1 . D%-=1:.|
00012af0  73 65 74 69 63 6f 6e 28  34 2c 31 2c c3 44 25 29  |seticon(4,1,.D%)|
00012b00  3a e1 0d 47 b8 33 e7 20  4d 4f 55 49 43 25 3d 36  |:..G.3. MOUIC%=6|
00012b10  20 80 20 44 25 3c 39 39  39 20 8c 20 44 25 2b 3d  | . D%<999 . D%+=|
00012b20  31 3a f2 73 65 74 69 63  6f 6e 28 34 2c 31 2c c3  |1:.seticon(4,1,.|
00012b30  44 25 29 3a e1 0d 47 c2  17 44 25 3d bb 28 a4 67  |D%):..G..D%=.(.g|
00012b40  65 74 69 63 6f 6e 28 34  2c 33 29 29 0d 47 cc 31  |eticon(4,3)).G.1|
00012b50  e7 20 4d 4f 55 49 43 25  3d 35 20 80 20 44 25 3e  |. MOUIC%=5 . D%>|
00012b60  34 20 8c 20 44 25 2d 3d  31 3a f2 73 65 74 69 63  |4 . D%-=1:.setic|
00012b70  6f 6e 28 34 2c 33 2c c3  44 25 29 3a e1 0d 47 d6  |on(4,3,.D%):..G.|
00012b80  33 e7 20 4d 4f 55 49 43  25 3d 37 20 80 20 44 25  |3. MOUIC%=7 . D%|
00012b90  3c 39 39 39 20 8c 20 44  25 2b 3d 31 3a f2 73 65  |<999 . D%+=1:.se|
00012ba0  74 69 63 6f 6e 28 34 2c  33 2c c3 44 25 29 3a e1  |ticon(4,3,.D%):.|
00012bb0  0d 47 e0 05 e1 0d 47 ea  04 0d 47 f4 26 dd f2 6d  |.G....G...G.&..m|
00012bc0  65 6e 6f 66 66 3a c8 99  20 22 57 69 6d 70 5f 43  |enoff:.. "Wimp_C|
00012bd0  72 65 61 74 65 4d 65 6e  75 22 2c 2d 31 3a e1 0d  |reateMenu",-1:..|
00012be0  47 fe 04 0d 48 08 13 dd  f2 62 75 69 6c 64 69 63  |G...H....buildic|
00012bf0  6f 6e 6d 65 6e 75 0d 48  12 1d f2 62 75 69 6c 64  |onmenu.H...build|
00012c00  6d 65 6e 75 28 33 30 2c  22 41 72 63 68 72 6f 6d  |menu(30,"Archrom|
00012c10  65 22 29 0d 48 1c 1e f2  61 64 64 74 6f 6d 65 6e  |e").H...addtomen|
00012c20  75 28 33 30 2c 22 49 6e  66 6f 22 2c 31 2c 22 22  |u(30,"Info",1,""|
00012c30  29 0d 48 26 1f f2 61 64  64 74 6f 6d 65 6e 75 28  |).H&..addtomenu(|
00012c40  33 30 2c 22 53 61 76 65  22 2c 30 2c 22 4c 22 29  |30,"Save",0,"L")|
00012c50  0d 48 30 20 f2 61 64 64  74 6f 6d 65 6e 75 28 33  |.H0 .addtomenu(3|
00012c60  30 2c 22 51 75 69 74 22  2c 2d 31 2c 22 46 22 29  |0,"Quit",-1,"F")|
00012c70  0d 48 3a 05 e1 0d 48 44  04 0d 48 4e 47 dd f2 69  |.H:...HD..HNG..i|
00012c80  63 6f 6e 6d 65 6e 75 3a  4d 45 4e 4f 25 3d 33 30  |conmenu:MENO%=30|
00012c90  3a c8 99 20 22 57 69 6d  70 5f 43 72 65 61 74 65  |:.. "Wimp_Create|
00012ca0  4d 65 6e 75 22 2c 2c 4d  45 4e 41 44 25 28 33 30  |Menu",,MENAD%(30|
00012cb0  29 2c 4d 4f 55 58 25 2d  36 34 2c 32 35 32 3a e1  |),MOUX%-64,252:.|
00012cc0  0d 48 58 04 0d 48 62 33  dd f2 77 69 6e 64 6d 65  |.HX..Hb3..windme|
00012cd0  6e 75 3a 4d 45 4e 4f 25  3d 30 3a 4d 45 42 41 25  |nu:MENO%=0:MEBA%|
00012ce0  3d 4d 45 4e 55 25 3a 4d  45 49 4e 42 41 25 3d 4d  |=MENU%:MEINBA%=M|
00012cf0  45 4e 55 49 4e 44 25 0d  48 6c 7e e3 4c 25 3d 30  |ENUIND%.Hl~.L%=0|
00012d00  20 b8 20 4e 4f 4d 45 4e  53 25 3a 54 41 44 25 3d  | . NOMENS%:TAD%=|
00012d10  4d 45 4e 41 44 25 28 4c  25 29 2b 32 38 3a f5 3a  |MENAD%(L%)+28:.:|
00012d20  21 54 41 44 25 3d 28 21  54 41 44 25 29 20 80 20  |!TAD%=(!TAD%) . |
00012d30  31 33 30 3a 54 41 44 25  21 38 3d 28 54 41 44 25  |130:TAD%!8=(TAD%|
00012d40  21 38 29 20 80 20 28 26  46 46 46 46 46 46 46 46  |!8) . (&FFFFFFFF|
00012d50  2d 28 31 3c 3c 32 32 29  29 3a 54 41 44 25 2b 3d  |-(1<<22)):TAD%+=|
00012d60  32 34 3a fd 20 21 28 54  41 44 25 2d 32 34 29 3e  |24:. !(TAD%-24)>|
00012d70  31 32 37 3a ed 0d 48 76  04 0d 48 80 20 e7 20 4c  |127:..Hv..H. . L|
00012d80  49 54 59 25 3d 32 31 20  8c 20 f2 74 69 63 6b 69  |ITY%=21 . .ticki|
00012d90  74 65 6d 28 31 32 2c 31  29 0d 48 8a 20 e7 20 4c  |tem(12,1).H. . L|
00012da0  49 54 59 25 3d 35 33 20  8c 20 f2 74 69 63 6b 69  |ITY%=53 . .ticki|
00012db0  74 65 6d 28 31 32 2c 32  29 0d 48 94 1f e7 20 4c  |tem(12,2).H... L|
00012dc0  49 54 59 25 3d 35 20 8c  20 f2 74 69 63 6b 69 74  |ITY%=5 . .tickit|
00012dd0  65 6d 28 31 31 2c 31 29  0d 48 9e 25 e7 20 28 55  |em(11,1).H.%. (U|
00012de0  53 45 25 20 80 20 31 35  29 3d 30 20 8c 20 f2 74  |SE% . 15)=0 . .t|
00012df0  69 63 6b 69 74 65 6d 28  31 31 2c 33 29 0d 48 a8  |ickitem(11,3).H.|
00012e00  25 e7 20 28 55 53 45 25  20 80 20 31 35 29 3d 31  |%. (USE% . 15)=1|
00012e10  20 8c 20 f2 74 69 63 6b  69 74 65 6d 28 31 31 2c  | . .tickitem(11,|
00012e20  34 29 0d 48 b2 25 e7 20  28 55 53 45 25 20 80 20  |4).H.%. (USE% . |
00012e30  31 35 29 3d 32 20 8c 20  f2 74 69 63 6b 69 74 65  |15)=2 . .tickite|
00012e40  6d 28 31 31 2c 35 29 0d  48 bc 25 e7 20 28 55 53  |m(11,5).H.%. (US|
00012e50  45 25 20 80 20 31 35 29  3d 33 20 8c 20 f2 74 69  |E% . 15)=3 . .ti|
00012e60  63 6b 69 74 65 6d 28 31  31 2c 36 29 0d 48 c6 25  |ckitem(11,6).H.%|
00012e70  e7 20 28 55 53 45 25 20  80 20 31 35 29 3d 34 20  |. (USE% . 15)=4 |
00012e80  8c 20 f2 74 69 63 6b 69  74 65 6d 28 31 31 2c 37  |. .tickitem(11,7|
00012e90  29 0d 48 d0 25 e7 20 28  55 53 45 25 20 80 20 31  |).H.%. (USE% . 1|
00012ea0  35 29 3d 36 20 8c 20 f2  74 69 63 6b 69 74 65 6d  |5)=6 . .tickitem|
00012eb0  28 31 31 2c 38 29 0d 48  da 25 e7 20 28 55 53 45  |(11,8).H.%. (USE|
00012ec0  25 20 80 20 31 35 29 3d  37 20 8c 20 f2 74 69 63  |% . 15)=7 . .tic|
00012ed0  6b 69 74 65 6d 28 31 31  2c 39 29 0d 48 e4 28 e7  |kitem(11,9).H.(.|
00012ee0  20 28 55 53 45 25 20 80  20 31 31 32 29 3d 31 36  | (USE% . 112)=16|
00012ef0  20 8c 20 f2 74 69 63 6b  69 74 65 6d 28 31 31 2c  | . .tickitem(11,|
00012f00  31 30 29 0d 48 ee 28 e7  20 28 55 53 45 25 20 80  |10).H.(. (USE% .|
00012f10  20 31 31 32 29 3d 33 32  20 8c 20 f2 74 69 63 6b  | 112)=32 . .tick|
00012f20  69 74 65 6d 28 31 31 2c  31 31 29 0d 48 f8 28 e7  |item(11,11).H.(.|
00012f30  20 28 55 53 45 25 20 80  20 31 31 32 29 3d 34 38  | (USE% . 112)=48|
00012f40  20 8c 20 f2 74 69 63 6b  69 74 65 6d 28 31 31 2c  | . .tickitem(11,|
00012f50  31 32 29 0d 49 02 28 e7  20 28 55 53 45 25 20 80  |12).I.(. (USE% .|
00012f60  20 31 31 32 29 3d 36 34  20 8c 20 f2 74 69 63 6b  | 112)=64 . .tick|
00012f70  69 74 65 6d 28 31 31 2c  31 33 29 0d 49 0c 28 e7  |item(11,13).I.(.|
00012f80  20 28 55 53 45 25 20 80  20 31 31 32 29 3d 38 30  | (USE% . 112)=80|
00012f90  20 8c 20 f2 74 69 63 6b  69 74 65 6d 28 31 31 2c  | . .tickitem(11,|
00012fa0  31 34 29 0d 49 16 28 e7  20 46 4f 4e 54 53 25 3d  |14).I.(. FONTS%=|
00012fb0  30 20 8c 20 f2 73 68 61  64 65 69 74 65 6d 28 31  |0 . .shadeitem(1|
00012fc0  34 2c 46 4f 4e 54 53 25  2b 33 29 0d 49 20 14 4d  |4,FONTS%+3).I .M|
00012fd0  49 25 3d 31 3a e3 4c 25  3d 32 20 b8 20 31 36 0d  |I%=1:.L%=2 . 16.|
00012fe0  49 2a 21 e7 20 5a 4f 4f  4d 25 3d 4c 25 20 8c 20  |I*!. ZOOM%=L% . |
00012ff0  f2 74 69 63 6b 69 74 65  6d 28 33 2c 4d 49 25 29  |.tickitem(3,MI%)|
00013000  0d 49 34 0c 4d 49 25 2b  3d 31 3a ed 0d 49 3e 32  |.I4.MI%+=1:..I>2|
00013010  e7 20 47 52 43 4f 25 3d  2d 31 20 8c 20 f2 73 68  |. GRCO%=-1 . .sh|
00013020  61 64 65 69 74 65 6d 28  35 2c 32 29 20 8b 20 f2  |adeitem(5,2) . .|
00013030  73 68 61 64 65 69 74 65  6d 28 35 2c 31 29 0d 49  |shadeitem(5,1).I|
00013040  48 1c e7 20 47 52 4c 4f  25 20 8c 20 f2 74 69 63  |H.. GRLO% . .tic|
00013050  6b 69 74 65 6d 28 35 2c  33 29 0d 49 52 1e e7 20  |kitem(5,3).IR.. |
00013060  5a 4f 4f 4d 25 3e 31 20  8c 20 f2 74 69 63 6b 69  |ZOOM%>1 . .ticki|
00013070  74 65 6d 28 30 2c 38 29  0d 49 5c 1d e7 20 4b 55  |tem(0,8).I\.. KU|
00013080  4b 45 25 20 8c 20 f2 74  69 63 6b 69 74 65 6d 28  |KE% . .tickitem(|
00013090  31 30 2c 32 29 0d 49 66  04 0d 49 70 35 c8 99 20  |10,2).If..Ip5.. |
000130a0  22 57 69 6d 70 5f 43 72  65 61 74 65 4d 65 6e 75  |"Wimp_CreateMenu|
000130b0  22 2c 2c 4d 45 4e 41 44  25 28 30 29 2c 4d 4f 55  |",,MENAD%(0),MOU|
000130c0  58 25 2d 36 34 2c 4d 4f  55 59 25 2b 36 30 0d 49  |X%-64,MOUY%+60.I|
000130d0  7a 05 e1 0d 49 84 04 0d  49 8e 13 dd f2 62 75 69  |z...I...I....bui|
000130e0  6c 64 6d 61 69 6e 6d 65  6e 75 0d 49 98 13 4d 45  |ldmainmenu.I..ME|
000130f0  4f 46 25 3d 30 3a 4d 45  49 4e 25 3d 30 0d 49 a2  |OF%=0:MEIN%=0.I.|
00013100  04 0d 49 ac 1a f2 62 75  69 6c 64 6d 65 6e 75 28  |..I...buildmenu(|
00013110  31 35 2c 22 53 70 65 65  64 22 29 0d 49 b6 24 f2  |15,"Speed").I.$.|
00013120  61 64 64 74 6f 6d 65 6e  75 28 31 35 2c 22 56 65  |addtomenu(15,"Ve|
00013130  72 79 20 66 61 73 74 22  2c 2d 31 2c 22 22 29 0d  |ry fast",-1,"").|
00013140  49 c0 1f f2 61 64 64 74  6f 6d 65 6e 75 28 31 35  |I...addtomenu(15|
00013150  2c 22 46 61 73 74 22 2c  2d 31 2c 22 22 29 0d 49  |,"Fast",-1,"").I|
00013160  ca 21 f2 61 64 64 74 6f  6d 65 6e 75 28 31 35 2c  |.!.addtomenu(15,|
00013170  22 4d 65 64 69 75 6d 22  2c 2d 31 2c 22 22 29 0d  |"Medium",-1,"").|
00013180  49 d4 20 f2 61 64 64 74  6f 6d 65 6e 75 28 31 35  |I. .addtomenu(15|
00013190  2c 22 53 6c 6f 77 22 2c  2d 31 2c 22 46 22 29 0d  |,"Slow",-1,"F").|
000131a0  49 de 04 0d 49 e8 1a f2  62 75 69 6c 64 6d 65 6e  |I...I...buildmen|
000131b0  75 28 31 36 2c 22 4d 6f  75 73 65 22 29 0d 49 f2  |u(16,"Mouse").I.|
000131c0  29 f2 61 64 64 74 6f 6d  65 6e 75 28 31 36 2c 22  |).addtomenu(16,"|
000131d0  58 20 6f 6e 6c 79 22 2c  4d 45 4e 41 44 25 28 31  |X only",MENAD%(1|
000131e0  35 29 2c 22 22 29 0d 49  fc 29 f2 61 64 64 74 6f  |5),"").I.).addto|
000131f0  6d 65 6e 75 28 31 36 2c  22 59 20 6f 6e 6c 79 22  |menu(16,"Y only"|
00013200  2c 4d 45 4e 41 44 25 28  31 35 29 2c 22 22 29 0d  |,MENAD%(15),"").|
00013210  4a 06 28 f2 61 64 64 74  6f 6d 65 6e 75 28 31 36  |J.(.addtomenu(16|
00013220  2c 22 42 6f 74 68 22 2c  4d 45 4e 41 44 25 28 31  |,"Both",MENAD%(1|
00013230  35 29 2c 22 46 22 29 0d  4a 10 04 0d 4a 1a 18 f2  |5),"F").J...J...|
00013240  62 75 69 6c 64 6d 65 6e  75 28 31 2c 22 46 69 6c  |buildmenu(1,"Fil|
00013250  65 22 29 0d 4a 24 1d f2  61 64 64 74 6f 6d 65 6e  |e").J$..addtomen|
00013260  75 28 31 2c 22 53 61 76  65 22 2c 30 2c 22 22 29  |u(1,"Save",0,"")|
00013270  0d 4a 2e 27 f2 61 64 64  74 6f 6d 65 6e 75 28 31  |.J.'.addtomenu(1|
00013280  2c 22 53 61 76 65 20 61  73 20 73 70 72 69 74 65  |,"Save as sprite|
00013290  22 2c 37 2c 22 22 29 0d  4a 38 21 f2 61 64 64 74  |",7,"").J8!.addt|
000132a0  6f 6d 65 6e 75 28 31 2c  22 45 78 70 6f 72 74 22  |omenu(1,"Export"|
000132b0  2c 2d 31 2c 22 46 22 29  0d 4a 42 04 0d 4a 4c 1c  |,-1,"F").JB..JL.|
000132c0  f2 62 75 69 6c 64 6d 65  6e 75 28 31 32 2c 22 50  |.buildmenu(12,"P|
000132d0  61 74 74 65 72 6e 22 29  0d 4a 56 24 f2 61 64 64  |attern").JV$.add|
000132e0  74 6f 6d 65 6e 75 28 31  32 2c 22 52 65 73 74 61  |tomenu(12,"Resta|
000132f0  72 74 65 64 22 2c 2d 31  2c 22 22 29 0d 4a 60 26  |rted",-1,"").J`&|
00013300  f2 61 64 64 74 6f 6d 65  6e 75 28 31 32 2c 22 43  |.addtomenu(12,"C|
00013310  6f 6e 74 69 6e 75 6f 75  73 22 2c 2d 31 2c 22 46  |ontinuous",-1,"F|
00013320  22 29 0d 4a 6a 04 0d 4a  74 1b f2 62 75 69 6c 64  |").Jj..Jt..build|
00013330  6d 65 6e 75 28 31 31 2c  22 53 74 79 6c 65 73 22  |menu(11,"Styles"|
00013340  29 0d 4a 7e 25 f2 61 64  64 74 6f 6d 65 6e 75 28  |).J~%.addtomenu(|
00013350  31 31 2c 22 53 6f 6c 69  64 20 6c 69 6e 65 22 2c  |11,"Solid line",|
00013360  2d 31 2c 22 22 29 0d 4a  88 30 f2 61 64 64 74 6f  |-1,"").J.0.addto|
00013370  6d 65 6e 75 28 31 31 2c  22 4c 69 6e 65 20 70 61  |menu(11,"Line pa|
00013380  74 74 65 72 6e 22 2c 4d  45 4e 41 44 25 28 31 32  |ttern",MENAD%(12|
00013390  29 2c 22 4c 22 29 0d 4a  92 24 f2 61 64 64 74 6f  |),"L").J.$.addto|
000133a0  6d 65 6e 75 28 31 31 2c  22 4f 76 65 72 77 72 69  |menu(11,"Overwri|
000133b0  74 65 22 2c 2d 31 2c 22  22 29 0d 4a 9c 1d f2 61  |te",-1,"").J...a|
000133c0  64 64 74 6f 6d 65 6e 75  28 31 31 2c 22 4f 52 22  |ddtomenu(11,"OR"|
000133d0  2c 2d 31 2c 22 22 29 0d  4a a6 1e f2 61 64 64 74  |,-1,"").J...addt|
000133e0  6f 6d 65 6e 75 28 31 31  2c 22 41 4e 44 22 2c 2d  |omenu(11,"AND",-|
000133f0  31 2c 22 22 29 0d 4a b0  1e f2 61 64 64 74 6f 6d  |1,"").J...addtom|
00013400  65 6e 75 28 31 31 2c 22  45 4f 52 22 2c 2d 31 2c  |enu(11,"EOR",-1,|
00013410  22 22 29 0d 4a ba 21 f2  61 64 64 74 6f 6d 65 6e  |"").J.!.addtomen|
00013420  75 28 31 31 2c 22 49 6e  76 65 72 74 22 2c 2d 31  |u(11,"Invert",-1|
00013430  2c 22 22 29 0d 4a c4 1f  f2 61 64 64 74 6f 6d 65  |,"").J...addtome|
00013440  6e 75 28 31 31 2c 22 4e  41 4e 44 22 2c 2d 31 2c  |nu(11,"NAND",-1,|
00013450  22 22 29 0d 4a ce 1f f2  61 64 64 74 6f 6d 65 6e  |"").J...addtomen|
00013460  75 28 31 31 2c 22 4e 4f  52 22 2c 2d 31 2c 22 4c  |u(11,"NOR",-1,"L|
00013470  22 29 0d 4a d8 20 f2 61  64 64 74 6f 6d 65 6e 75  |").J. .addtomenu|
00013480  28 31 31 2c 22 45 43 46  20 31 22 2c 2d 31 2c 22  |(11,"ECF 1",-1,"|
00013490  22 29 0d 4a e2 20 f2 61  64 64 74 6f 6d 65 6e 75  |").J. .addtomenu|
000134a0  28 31 31 2c 22 45 43 46  20 32 22 2c 2d 31 2c 22  |(11,"ECF 2",-1,"|
000134b0  22 29 0d 4a ec 20 f2 61  64 64 74 6f 6d 65 6e 75  |").J. .addtomenu|
000134c0  28 31 31 2c 22 45 43 46  20 33 22 2c 2d 31 2c 22  |(11,"ECF 3",-1,"|
000134d0  22 29 0d 4a f6 20 f2 61  64 64 74 6f 6d 65 6e 75  |").J. .addtomenu|
000134e0  28 31 31 2c 22 45 43 46  20 34 22 2c 2d 31 2c 22  |(11,"ECF 4",-1,"|
000134f0  22 29 0d 4b 00 25 f2 61  64 64 74 6f 6d 65 6e 75  |").K.%.addtomenu|
00013500  28 31 31 2c 22 47 69 61  6e 74 20 45 43 46 22 2c  |(11,"Giant ECF",|
00013510  2d 31 2c 22 46 22 29 0d  4b 0a 04 0d 4b 14 19 f2  |-1,"F").K...K...|
00013520  62 75 69 6c 64 6d 65 6e  75 28 31 33 2c 22 46 69  |buildmenu(13,"Fi|
00013530  6c 6c 22 29 0d 4b 1e 25  f2 61 64 64 74 6f 6d 65  |ll").K.%.addtome|
00013540  6e 75 28 31 33 2c 22 46  6c 6f 6f 64 20 66 69 6c  |nu(13,"Flood fil|
00013550  6c 22 2c 2d 31 2c 22 22  29 0d 4b 28 28 f2 61 64  |l",-1,"").K((.ad|
00013560  64 74 6f 6d 65 6e 75 28  31 33 2c 22 50 61 74 74  |dtomenu(13,"Patt|
00013570  65 72 6e 20 66 69 6c 6c  22 2c 2d 31 2c 22 4c 22  |ern fill",-1,"L"|
00013580  29 0d 4b 32 2a f2 61 64  64 74 6f 6d 65 6e 75 28  |).K2*.addtomenu(|
00013590  31 33 2c 22 47 72 61 64  75 61 74 65 64 20 66 69  |13,"Graduated fi|
000135a0  6c 6c 22 2c 31 37 2c 22  46 22 29 0d 4b 3c 04 0d  |ll",17,"F").K<..|
000135b0  4b 46 19 f2 62 75 69 6c  64 6d 65 6e 75 28 32 2c  |KF..buildmenu(2,|
000135c0  22 50 61 69 6e 74 22 29  0d 4b 50 26 f2 61 64 64  |"Paint").KP&.add|
000135d0  74 6f 6d 65 6e 75 28 32  2c 22 53 68 6f 77 20 70  |tomenu(2,"Show p|
000135e0  61 6c 65 74 74 65 22 2c  2d 31 2c 22 22 29 0d 4b  |alette",-1,"").K|
000135f0  5a 2c f2 61 64 64 74 6f  6d 65 6e 75 28 32 2c 22  |Z,.addtomenu(2,"|
00013600  55 6e 73 65 74 20 74 72  61 6e 73 70 61 72 65 6e  |Unset transparen|
00013610  74 73 22 2c 2d 31 2c 22  22 29 0d 4b 64 2b f2 61  |ts",-1,"").Kd+.a|
00013620  64 64 74 6f 6d 65 6e 75  28 32 2c 22 53 65 74 20  |ddtomenu(2,"Set |
00013630  74 72 61 6e 73 70 61 72  65 6e 74 73 22 2c 2d 31  |transparents",-1|
00013640  2c 22 4c 22 29 0d 4b 6e  20 f2 61 64 64 74 6f 6d  |,"L").Kn .addtom|
00013650  65 6e 75 28 32 2c 22 50  69 78 65 6c 73 22 2c 2d  |enu(2,"Pixels",-|
00013660  31 2c 22 22 29 0d 4b 78  20 f2 61 64 64 74 6f 6d  |1,"").Kx .addtom|
00013670  65 6e 75 28 32 2c 22 53  6b 65 74 63 68 22 2c 2d  |enu(2,"Sketch",-|
00013680  31 2c 22 22 29 0d 4b 82  25 f2 61 64 64 74 6f 6d  |1,"").K.%.addtom|
00013690  65 6e 75 28 32 2c 22 52  75 62 62 65 72 20 6c 69  |enu(2,"Rubber li|
000136a0  6e 65 22 2c 2d 31 2c 22  22 29 0d 4b 8c 25 f2 61  |ne",-1,"").K.%.a|
000136b0  64 64 74 6f 6d 65 6e 75  28 32 2c 22 41 69 72 62  |ddtomenu(2,"Airb|
000136c0  72 75 73 68 2e 2e 2e 22  2c 2d 31 2c 22 22 29 0d  |rush...",-1,"").|
000136d0  4b 96 28 f2 61 64 64 74  6f 6d 65 6e 75 28 32 2c  |K.(.addtomenu(2,|
000136e0  22 50 61 69 6e 74 62 72  75 73 68 2e 2e 2e 22 2c  |"Paintbrush...",|
000136f0  2d 31 2c 22 4c 22 29 0d  4b a0 27 f2 61 64 64 74  |-1,"L").K.'.addt|
00013700  6f 6d 65 6e 75 28 32 2c  22 46 69 6c 6c 22 2c 4d  |omenu(2,"Fill",M|
00013710  45 4e 41 44 25 28 31 33  29 2c 22 4c 22 29 0d 4b  |ENAD%(13),"L").K|
00013720  aa 2d f2 61 64 64 74 6f  6d 65 6e 75 28 32 2c 22  |.-.addtomenu(2,"|
00013730  4c 69 6e 65 20 73 74 79  6c 65 22 2c 4d 45 4e 41  |Line style",MENA|
00013740  44 25 28 31 31 29 2c 22  46 22 29 0d 4b b4 04 0d  |D%(11),"F").K...|
00013750  4b be 21 4c 25 3d 31 3a  4c 46 52 24 3d 22 22 3a  |K.!L%=1:LFR$="":|
00013760  4e 4f 46 4d 25 3d 34 30  3a 4e 4f 4c 46 25 3d 30  |NOFM%=40:NOLF%=0|
00013770  0d 4b c8 1d 43 46 52 24  3d a4 66 6f 6e 74 72 6f  |.K..CFR$=.fontro|
00013780  6f 74 28 46 4f 4e 54 24  28 4c 25 29 29 0d 4b d2  |ot(FONT$(L%)).K.|
00013790  56 e7 20 43 46 52 24 3d  4c 46 52 24 20 8c 20 46  |V. CFR$=LFR$ . F|
000137a0  4f 4e 54 54 24 28 4e 4f  4c 46 25 29 3d c2 46 4f  |ONTT$(NOLF%)=.FO|
000137b0  4e 54 24 28 4c 25 29 2c  28 a9 28 46 4f 4e 54 24  |NT$(L%),(.(FONT$|
000137c0  28 4c 25 29 29 2d 28 a9  28 43 46 52 24 29 2b 31  |(L%))-(.(CFR$)+1|
000137d0  29 29 29 3a 4e 4f 4c 46  25 2b 3d 31 3a e5 20 8d  |))):NOLF%+=1:. .|
000137e0  50 76 4c 0d 4b dc 10 e7  20 4c 46 52 24 3c 3e 22  |PvL.K... LFR$<>"|
000137f0  22 20 8c 0d 4b e6 0f e7  20 4e 4f 4c 46 25 3e 30  |" ..K... NOLF%>0|
00013800  20 8c 0d 4b f0 48 f2 62  75 69 6c 64 6d 65 6e 75  | ..K.H.buildmenu|
00013810  28 4e 4f 46 4d 25 2c 4c  46 52 24 29 3a e3 4b 25  |(NOFM%,LFR$):.K%|
00013820  3d 30 20 b8 20 4e 4f 4c  46 25 2d 31 3a e7 20 4b  |=0 . NOLF%-1:. K|
00013830  25 3d 4e 4f 4c 46 25 2d  31 20 8c 20 4f 24 3d 22  |%=NOLF%-1 . O$="|
00013840  46 22 20 8b 20 4f 24 3d  22 22 0d 4b fa 39 f2 61  |F" . O$="".K.9.a|
00013850  64 64 74 6f 6d 65 6e 75  28 4e 4f 46 4d 25 2c 46  |ddtomenu(NOFM%,F|
00013860  4f 4e 54 54 24 28 4b 25  29 2c 2d 31 2c 4f 24 29  |ONTT$(K%),-1,O$)|
00013870  3a ed 3a 4e 4f 4c 46 25  3d 30 3a 4e 4f 46 4d 25  |:.:NOLF%=0:NOFM%|
00013880  2b 3d 31 0d 4c 04 05 cc  0d 4c 0e 88 e7 20 a7 46  |+=1.L....L... .F|
00013890  4f 4e 54 24 28 4c 25 2d  31 29 2c 22 2e 22 29 3c  |ONT$(L%-1),".")<|
000138a0  3e 30 20 8c 20 f2 62 75  69 6c 64 6d 65 6e 75 28  |>0 . .buildmenu(|
000138b0  4e 4f 46 4d 25 2c 4c 46  52 24 29 3a f2 61 64 64  |NOFM%,LFR$):.add|
000138c0  74 6f 6d 65 6e 75 28 4e  4f 46 4d 25 2c c2 46 4f  |tomenu(NOFM%,.FO|
000138d0  4e 54 24 28 4c 25 2d 31  29 2c 28 a9 28 46 4f 4e  |NT$(L%-1),(.(FON|
000138e0  54 24 28 4c 25 2d 31 29  29 2d 28 a9 28 4c 46 52  |T$(L%-1))-(.(LFR|
000138f0  24 29 2b 31 29 29 29 2c  2d 31 2c 22 46 22 29 3a  |$)+1))),-1,"F"):|
00013900  4e 4f 4c 46 25 3d 30 3a  4e 4f 46 4d 25 2b 3d 31  |NOLF%=0:NOFM%+=1|
00013910  0d 4c 18 05 cd 0d 4c 22  05 cd 0d 4c 2c 62 4c 46  |.L....L"...L,bLF|
00013920  52 24 3d 43 46 52 24 3a  e7 20 a7 46 4f 4e 54 24  |R$=CFR$:. .FONT$|
00013930  28 4c 25 29 2c 22 2e 22  29 3c 3e 30 20 8c 20 46  |(L%),".")<>0 . F|
00013940  4f 4e 54 54 24 28 4e 4f  4c 46 25 29 3d c2 46 4f  |ONTT$(NOLF%)=.FO|
00013950  4e 54 24 28 4c 25 29 2c  28 a9 28 46 4f 4e 54 24  |NT$(L%),(.(FONT$|
00013960  28 4c 25 29 29 2d 28 a9  28 43 46 52 24 29 2b 31  |(L%))-(.(CFR$)+1|
00013970  29 29 29 3a 4e 4f 4c 46  25 2b 3d 31 0d 4c 36 1f  |))):NOLF%+=1.L6.|
00013980  4c 25 2b 3d 31 3a e7 20  4c 25 3c 3d 46 4f 4e 54  |L%+=1:. L%<=FONT|
00013990  53 25 20 8c 20 e5 20 8d  60 48 4b 0d 4c 40 10 e7  |S% . . .`HK.L@..|
000139a0  20 4c 46 52 24 3c 3e 22  22 20 8c 0d 4c 4a 0f e7  | LFR$<>"" ..LJ..|
000139b0  20 4e 4f 4c 46 25 3e 30  20 8c 0d 4c 54 48 f2 62  | NOLF%>0 ..LTH.b|
000139c0  75 69 6c 64 6d 65 6e 75  28 4e 4f 46 4d 25 2c 4c  |uildmenu(NOFM%,L|
000139d0  46 52 24 29 3a e3 4b 25  3d 30 20 b8 20 4e 4f 4c  |FR$):.K%=0 . NOL|
000139e0  46 25 2d 31 3a e7 20 4b  25 3d 4e 4f 4c 46 25 2d  |F%-1:. K%=NOLF%-|
000139f0  31 20 8c 20 4f 24 3d 22  46 22 20 8b 20 4f 24 3d  |1 . O$="F" . O$=|
00013a00  22 22 0d 4c 5e 39 f2 61  64 64 74 6f 6d 65 6e 75  |"".L^9.addtomenu|
00013a10  28 4e 4f 46 4d 25 2c 46  4f 4e 54 54 24 28 4b 25  |(NOFM%,FONTT$(K%|
00013a20  29 2c 2d 31 2c 4f 24 29  3a ed 3a 4e 4f 4c 46 25  |),-1,O$):.:NOLF%|
00013a30  3d 30 3a 4e 4f 46 4d 25  2b 3d 31 0d 4c 68 05 cc  |=0:NOFM%+=1.Lh..|
00013a40  0d 4c 72 88 e7 20 a7 46  4f 4e 54 24 28 4c 25 2d  |.Lr.. .FONT$(L%-|
00013a50  31 29 2c 22 2e 22 29 3c  3e 30 20 8c 20 f2 62 75  |1),".")<>0 . .bu|
00013a60  69 6c 64 6d 65 6e 75 28  4e 4f 46 4d 25 2c 4c 46  |ildmenu(NOFM%,LF|
00013a70  52 24 29 3a f2 61 64 64  74 6f 6d 65 6e 75 28 4e  |R$):.addtomenu(N|
00013a80  4f 46 4d 25 2c c2 46 4f  4e 54 24 28 4c 25 2d 31  |OFM%,.FONT$(L%-1|
00013a90  29 2c 28 a9 28 46 4f 4e  54 24 28 4c 25 2d 31 29  |),(.(FONT$(L%-1)|
00013aa0  29 2d 28 a9 28 4c 46 52  24 29 2b 31 29 29 29 2c  |)-(.(LFR$)+1))),|
00013ab0  2d 31 2c 22 46 22 29 3a  4e 4f 4c 46 25 3d 30 3a  |-1,"F"):NOLF%=0:|
00013ac0  4e 4f 46 4d 25 2b 3d 31  0d 4c 7c 05 cd 0d 4c 86  |NOFM%+=1.L|...L.|
00013ad0  05 cd 0d 4c 90 04 0d 4c  9a 1a f2 62 75 69 6c 64  |...L...L...build|
00013ae0  6d 65 6e 75 28 31 34 2c  22 46 6f 6e 74 73 22 29  |menu(14,"Fonts")|
00013af0  0d 4c a4 21 4c 25 3d 30  3a 4c 46 52 24 3d 22 22  |.L.!L%=0:LFR$=""|
00013b00  3a 4e 4f 46 4d 25 3d 34  30 3a 43 4f 54 46 25 3d  |:NOFM%=40:COTF%=|
00013b10  31 0d 4c ae 3d e7 20 4c  25 3d 30 20 80 20 46 4f  |1.L.=. L%=0 . FO|
00013b20  4e 54 53 25 3d 30 20 8c  20 f2 61 64 64 74 6f 6d  |NTS%=0 . .addtom|
00013b30  65 6e 75 28 31 34 2c 46  4f 4e 54 24 28 30 29 2c  |enu(14,FONT$(0),|
00013b40  2d 31 2c 22 4c 22 29 3a  e5 20 8d 50 66 4d 0d 4c  |-1,"L"):. .PfM.L|
00013b50  b8 44 e7 20 4c 25 3d 30  20 8c 20 f2 61 64 64 74  |.D. L%=0 . .addt|
00013b60  6f 6d 65 6e 75 28 31 34  2c 46 4f 4e 54 24 28 30  |omenu(14,FONT$(0|
00013b70  29 2c 2d 31 2c 22 22 29  3a 4c 46 52 24 3d 22 53  |),-1,""):LFR$="S|
00013b80  79 73 74 65 6d 20 66 6f  6e 74 22 3a e5 20 8d 50  |ystem font":. .P|
00013b90  48 4d 0d 4c c2 1d 43 46  52 24 3d a4 66 6f 6e 74  |HM.L..CFR$=.font|
00013ba0  72 6f 6f 74 28 46 4f 4e  54 24 28 4c 25 29 29 0d  |root(FONT$(L%)).|
00013bb0  4c cc 21 e7 20 43 46 52  24 3d 4c 46 52 24 20 8c  |L.!. CFR$=LFR$ .|
00013bc0  20 43 4f 54 46 25 2b 3d  31 3a e5 20 8d 50 48 4d  | COTF%+=1:. .PHM|
00013bd0  0d 4c d6 1b e7 20 4c 46  52 24 3c 3e 22 53 79 73  |.L... LFR$<>"Sys|
00013be0  74 65 6d 20 66 6f 6e 74  22 20 8c 0d 4c e0 70 e7  |tem font" ..L.p.|
00013bf0  20 43 4f 54 46 25 3e 31  20 84 20 a7 46 4f 4e 54  | COTF%>1 . .FONT|
00013c00  24 28 4c 25 2d 31 29 2c  22 2e 22 29 3c 3e 30 20  |$(L%-1),".")<>0 |
00013c10  8c 20 f2 61 64 64 74 6f  6d 65 6e 75 28 31 34 2c  |. .addtomenu(14,|
00013c20  4c 46 52 24 2c 4d 45 4e  41 44 25 28 4e 4f 46 4d  |LFR$,MENAD%(NOFM|
00013c30  25 29 2c 22 22 29 3a 4e  4f 46 4d 25 2b 3d 31 20  |%),""):NOFM%+=1 |
00013c40  8b 20 f2 61 64 64 74 6f  6d 65 6e 75 28 31 34 2c  |. .addtomenu(14,|
00013c50  4c 46 52 24 2c 2d 31 2c  22 22 29 0d 4c ea 0b 43  |LFR$,-1,"").L..C|
00013c60  4f 54 46 25 3d 31 0d 4c  f4 05 cd 0d 4c fe 0d 4c  |OTF%=1.L....L..L|
00013c70  46 52 24 3d 43 46 52 24  0d 4d 08 1f 4c 25 2b 3d  |FR$=CFR$.M..L%+=|
00013c80  31 3a e7 20 4c 25 3c 3d  46 4f 4e 54 53 25 20 8c  |1:. L%<=FONTS% .|
00013c90  20 e5 20 8d 70 6e 4c 0d  4d 12 69 e7 20 43 4f 54  | . .pnL.M.i. COT|
00013ca0  46 25 3e 31 20 84 20 a7  46 4f 4e 54 24 28 4c 25  |F%>1 . .FONT$(L%|
00013cb0  2d 31 29 2c 22 2e 22 29  3c 3e 30 20 8c 20 f2 61  |-1),".")<>0 . .a|
00013cc0  64 64 74 6f 6d 65 6e 75  28 31 34 2c 4c 46 52 24  |ddtomenu(14,LFR$|
00013cd0  2c 4d 45 4e 41 44 25 28  4e 4f 46 4d 25 29 2c 22  |,MENAD%(NOFM%),"|
00013ce0  4c 22 29 20 8b 20 f2 61  64 64 74 6f 6d 65 6e 75  |L") . .addtomenu|
00013cf0  28 31 34 2c 4c 46 52 24  2c 2d 31 2c 22 4c 22 29  |(14,LFR$,-1,"L")|
00013d00  0d 4d 1c 04 0d 4d 26 25  f2 61 64 64 74 6f 6d 65  |.M...M&%.addtome|
00013d10  6e 75 28 31 34 2c 22 42  61 63 6b 67 72 6f 75 6e  |nu(14,"Backgroun|
00013d20  64 22 2c 31 35 2c 22 22  29 0d 4d 30 59 e7 20 46  |d",15,"").M0Y. F|
00013d30  4f 4e 54 53 25 3e 30 20  8c 20 f2 61 64 64 74 6f  |ONTS%>0 . .addto|
00013d40  6d 65 6e 75 28 31 34 2c  22 50 61 72 61 6d 65 74  |menu(14,"Paramet|
00013d50  65 72 73 22 2c 31 36 2c  22 46 22 29 20 8b 20 f2  |ers",16,"F") . .|
00013d60  61 64 64 74 6f 6d 65 6e  75 28 31 34 2c 22 50 61  |addtomenu(14,"Pa|
00013d70  72 61 6d 65 74 65 72 73  22 2c 31 36 2c 22 53 46  |rameters",16,"SF|
00013d80  22 29 0d 4d 3a 04 0d 4d  44 18 f2 62 75 69 6c 64  |").M:..MD..build|
00013d90  6d 65 6e 75 28 33 2c 22  5a 6f 6f 6d 22 29 0d 4d  |menu(3,"Zoom").M|
00013da0  4e 0e e3 4c 25 3d 32 20  b8 20 31 36 0d 4d 58 1c  |N..L%=2 . 16.MX.|
00013db0  e7 20 4c 25 3d 31 36 20  8c 20 4f 24 3d 22 46 22  |. L%=16 . O$="F"|
00013dc0  20 8b 20 4f 24 3d 22 22  0d 4d 62 24 f2 61 64 64  | . O$="".Mb$.add|
00013dd0  74 6f 6d 65 6e 75 28 33  2c 22 5a 6f 6f 6d 20 78  |tomenu(3,"Zoom x|
00013de0  22 2b c3 4c 25 2c 2d 31  2c 4f 24 29 0d 4d 6c 05  |"+.L%,-1,O$).Ml.|
00013df0  ed 0d 4d 76 04 0d 4d 80  1a f2 62 75 69 6c 64 6d  |..Mv..M...buildm|
00013e00  65 6e 75 28 34 2c 22 53  68 61 70 65 73 22 29 0d  |enu(4,"Shapes").|
00013e10  4d 8a 28 f2 61 64 64 74  6f 6d 65 6e 75 28 34 2c  |M.(.addtomenu(4,|
00013e20  22 57 69 72 65 20 72 65  63 74 61 6e 67 6c 65 22  |"Wire rectangle"|
00013e30  2c 2d 31 2c 22 22 29 0d  4d 94 27 f2 61 64 64 74  |,-1,"").M.'.addt|
00013e40  6f 6d 65 6e 75 28 34 2c  22 57 69 72 65 20 74 72  |omenu(4,"Wire tr|
00013e50  69 61 6e 67 6c 65 22 2c  2d 31 2c 22 22 29 0d 4d  |iangle",-1,"").M|
00013e60  9e 25 f2 61 64 64 74 6f  6d 65 6e 75 28 34 2c 22  |.%.addtomenu(4,"|
00013e70  57 69 72 65 20 63 69 72  63 6c 65 22 2c 2d 31 2c  |Wire circle",-1,|
00013e80  22 22 29 0d 4d a8 26 f2  61 64 64 74 6f 6d 65 6e  |"").M.&.addtomen|
00013e90  75 28 34 2c 22 57 69 72  65 20 65 6c 6c 69 70 73  |u(4,"Wire ellips|
00013ea0  65 22 2c 2d 31 2c 22 22  29 0d 4d b2 2c f2 61 64  |e",-1,"").M.,.ad|
00013eb0  64 74 6f 6d 65 6e 75 28  34 2c 22 57 69 72 65 20  |dtomenu(4,"Wire |
00013ec0  70 61 72 61 6c 6c 65 6c  6f 67 72 61 6d 22 2c 2d  |parallelogram",-|
00013ed0  31 2c 22 22 29 0d 4d bc  23 f2 61 64 64 74 6f 6d  |1,"").M.#.addtom|
00013ee0  65 6e 75 28 34 2c 22 57  69 72 65 20 61 72 63 22  |enu(4,"Wire arc"|
00013ef0  2c 2d 31 2c 22 4c 22 29  0d 4d c6 29 f2 61 64 64  |,-1,"L").M.).add|
00013f00  74 6f 6d 65 6e 75 28 34  2c 22 53 6f 6c 69 64 20  |tomenu(4,"Solid |
00013f10  72 65 63 74 61 6e 67 6c  65 22 2c 2d 31 2c 22 22  |rectangle",-1,""|
00013f20  29 0d 4d d0 28 f2 61 64  64 74 6f 6d 65 6e 75 28  |).M.(.addtomenu(|
00013f30  34 2c 22 53 6f 6c 69 64  20 74 72 69 61 6e 67 6c  |4,"Solid triangl|
00013f40  65 22 2c 2d 31 2c 22 22  29 0d 4d da 26 f2 61 64  |e",-1,"").M.&.ad|
00013f50  64 74 6f 6d 65 6e 75 28  34 2c 22 53 6f 6c 69 64  |dtomenu(4,"Solid|
00013f60  20 63 69 72 63 6c 65 22  2c 2d 31 2c 22 22 29 0d  | circle",-1,"").|
00013f70  4d e4 27 f2 61 64 64 74  6f 6d 65 6e 75 28 34 2c  |M.'.addtomenu(4,|
00013f80  22 53 6f 6c 69 64 20 65  6c 6c 69 70 73 65 22 2c  |"Solid ellipse",|
00013f90  2d 31 2c 22 22 29 0d 4d  ee 2d f2 61 64 64 74 6f  |-1,"").M.-.addto|
00013fa0  6d 65 6e 75 28 34 2c 22  53 6f 6c 69 64 20 70 61  |menu(4,"Solid pa|
00013fb0  72 61 6c 6c 65 6c 6f 67  72 61 6d 22 2c 2d 31 2c  |rallelogram",-1,|
00013fc0  22 22 29 0d 4d f8 26 f2  61 64 64 74 6f 6d 65 6e  |"").M.&.addtomen|
00013fd0  75 28 34 2c 22 53 6f 6c  69 64 20 73 65 63 74 6f  |u(4,"Solid secto|
00013fe0  72 22 2c 2d 31 2c 22 22  29 0d 4e 02 28 f2 61 64  |r",-1,"").N.(.ad|
00013ff0  64 74 6f 6d 65 6e 75 28  34 2c 22 53 6f 6c 69 64  |dtomenu(4,"Solid|
00014000  20 73 65 67 6d 65 6e 74  22 2c 2d 31 2c 22 46 22  | segment",-1,"F"|
00014010  29 0d 4e 0c 04 0d 4e 16  1b f2 62 75 69 6c 64 6d  |).N...N...buildm|
00014020  65 6e 75 28 36 2c 22 50  72 65 73 65 74 73 22 29  |enu(6,"Presets")|
00014030  0d 4e 20 22 f2 61 64 64  74 6f 6d 65 6e 75 28 36  |.N ".addtomenu(6|
00014040  2c 22 32 78 32 20 67 72  69 64 22 2c 2d 31 2c 22  |,"2x2 grid",-1,"|
00014050  22 29 0d 4e 2a 22 f2 61  64 64 74 6f 6d 65 6e 75  |").N*".addtomenu|
00014060  28 36 2c 22 33 78 33 20  67 72 69 64 22 2c 2d 31  |(6,"3x3 grid",-1|
00014070  2c 22 22 29 0d 4e 34 22  f2 61 64 64 74 6f 6d 65  |,"").N4".addtome|
00014080  6e 75 28 36 2c 22 34 78  34 20 67 72 69 64 22 2c  |nu(6,"4x4 grid",|
00014090  2d 31 2c 22 22 29 0d 4e  3e 22 f2 61 64 64 74 6f  |-1,"").N>".addto|
000140a0  6d 65 6e 75 28 36 2c 22  36 78 36 20 67 72 69 64  |menu(6,"6x6 grid|
000140b0  22 2c 2d 31 2c 22 22 29  0d 4e 48 22 f2 61 64 64  |",-1,"").NH".add|
000140c0  74 6f 6d 65 6e 75 28 36  2c 22 38 78 38 20 67 72  |tomenu(6,"8x8 gr|
000140d0  69 64 22 2c 2d 31 2c 22  22 29 0d 4e 52 24 f2 61  |id",-1,"").NR$.a|
000140e0  64 64 74 6f 6d 65 6e 75  28 36 2c 22 31 36 78 31  |ddtomenu(6,"16x1|
000140f0  36 20 67 72 69 64 22 2c  2d 31 2c 22 22 29 0d 4e  |6 grid",-1,"").N|
00014100  5c 24 f2 61 64 64 74 6f  6d 65 6e 75 28 36 2c 22  |\$.addtomenu(6,"|
00014110  33 32 78 33 32 20 67 72  69 64 22 2c 2d 31 2c 22  |32x32 grid",-1,"|
00014120  22 29 0d 4e 66 25 f2 61  64 64 74 6f 6d 65 6e 75  |").Nf%.addtomenu|
00014130  28 36 2c 22 33 32 78 31  36 20 67 72 69 64 22 2c  |(6,"32x16 grid",|
00014140  2d 31 2c 22 46 22 29 0d  4e 70 04 0d 4e 7a 18 f2  |-1,"F").Np..Nz..|
00014150  62 75 69 6c 64 6d 65 6e  75 28 35 2c 22 47 72 69  |buildmenu(5,"Gri|
00014160  64 22 29 0d 4e 84 23 f2  61 64 64 74 6f 6d 65 6e  |d").N.#.addtomen|
00014170  75 28 35 2c 22 53 68 6f  77 20 67 72 69 64 22 2c  |u(5,"Show grid",|
00014180  2d 31 2c 22 22 29 0d 4e  8e 23 f2 61 64 64 74 6f  |-1,"").N.#.addto|
00014190  6d 65 6e 75 28 35 2c 22  48 69 64 65 20 67 72 69  |menu(5,"Hide gri|
000141a0  64 22 2c 2d 31 2c 22 22  29 0d 4e 98 23 f2 61 64  |d",-1,"").N.#.ad|
000141b0  64 74 6f 6d 65 6e 75 28  35 2c 22 47 72 69 64 20  |dtomenu(5,"Grid |
000141c0  6c 6f 63 6b 22 2c 2d 31  2c 22 22 29 0d 4e a2 2d  |lock",-1,"").N.-|
000141d0  f2 61 64 64 74 6f 6d 65  6e 75 28 35 2c 22 50 72  |.addtomenu(5,"Pr|
000141e0  65 73 65 74 20 67 72 69  64 73 22 2c 4d 45 4e 41  |eset grids",MENA|
000141f0  44 25 28 36 29 2c 22 22  29 0d 4e ac 23 f2 61 64  |D%(6),"").N.#.ad|
00014200  64 74 6f 6d 65 6e 75 28  35 2c 22 45 64 69 74 20  |dtomenu(5,"Edit |
00014210  67 72 69 64 22 2c 36 2c  22 46 22 29 0d 4e b6 04  |grid",6,"F").N..|
00014220  0d 4e c0 1e f2 62 75 69  6c 64 6d 65 6e 75 28 37  |.N...buildmenu(7|
00014230  2c 22 4d 61 6e 69 70 75  6c 61 74 65 22 29 0d 4e  |,"Manipulate").N|
00014240  ca 26 f2 61 64 64 74 6f  6d 65 6e 75 28 37 2c 22  |.&.addtomenu(7,"|
00014250  43 6f 70 79 20 61 72 65  61 2e 2e 2e 22 2c 2d 31  |Copy area...",-1|
00014260  2c 22 22 29 0d 4e d4 26  f2 61 64 64 74 6f 6d 65  |,"").N.&.addtome|
00014270  6e 75 28 37 2c 22 4d 6f  76 65 20 61 72 65 61 2e  |nu(7,"Move area.|
00014280  2e 2e 22 2c 2d 31 2c 22  22 29 0d 4e de 25 f2 61  |..",-1,"").N.%.a|
00014290  64 64 74 6f 6d 65 6e 75  28 37 2c 22 4d 69 72 72  |ddtomenu(7,"Mirr|
000142a0  6f 72 20 61 72 65 61 22  2c 2d 31 2c 22 22 29 0d  |or area",-1,"").|
000142b0  4e e8 25 f2 61 64 64 74  6f 6d 65 6e 75 28 37 2c  |N.%.addtomenu(7,|
000142c0  22 49 6e 76 65 72 74 20  61 72 65 61 22 2c 2d 31  |"Invert area",-1|
000142d0  2c 22 22 29 0d 4e f2 24  f2 61 64 64 74 6f 6d 65  |,"").N.$.addtome|
000142e0  6e 75 28 37 2c 22 53 74  72 69 70 20 61 72 65 61  |nu(7,"Strip area|
000142f0  22 2c 2d 31 2c 22 22 29  0d 4e fc 23 f2 61 64 64  |",-1,"").N.#.add|
00014300  74 6f 6d 65 6e 75 28 37  2c 22 52 6f 74 61 74 65  |tomenu(7,"Rotate|
00014310  2e 2e 2e 22 2c 2d 31 2c  22 22 29 0d 4f 06 2a f2  |...",-1,"").O.*.|
00014320  61 64 64 74 6f 6d 65 6e  75 28 37 2c 22 53 63 61  |addtomenu(7,"Sca|
00014330  6c 65 20 74 6f 20 66 69  74 2e 2e 2e 22 2c 2d 31  |le to fit...",-1|
00014340  2c 22 4c 22 29 0d 4f 10  28 f2 61 64 64 74 6f 6d  |,"L").O.(.addtom|
00014350  65 6e 75 28 37 2c 22 50  69 78 65 6c 20 6d 61 70  |enu(7,"Pixel map|
00014360  70 69 6e 67 22 2c 2d 31  2c 22 46 22 29 0d 4f 1a  |ping",-1,"F").O.|
00014370  04 0d 4f 24 1b f2 62 75  69 6c 64 6d 65 6e 75 28  |..O$..buildmenu(|
00014380  38 2c 22 53 70 65 63 69  61 6c 22 29 0d 4f 2e 1f  |8,"Special").O..|
00014390  f2 61 64 64 74 6f 6d 65  6e 75 28 38 2c 22 54 72  |.addtomenu(8,"Tr|
000143a0  61 63 65 22 2c 2d 31 2c  22 22 29 0d 4f 38 25 f2  |ace",-1,"").O8%.|
000143b0  61 64 64 74 6f 6d 65 6e  75 28 38 2c 22 53 6d 75  |addtomenu(8,"Smu|
000143c0  64 67 65 20 61 72 65 61  22 2c 2d 31 2c 22 22 29  |dge area",-1,"")|
000143d0  0d 4f 42 26 f2 61 64 64  74 6f 6d 65 6e 75 28 38  |.OB&.addtomenu(8|
000143e0  2c 22 57 65 74 20 62 72  75 73 68 2e 2e 2e 22 2c  |,"Wet brush...",|
000143f0  2d 31 2c 22 22 29 0d 4f  4c 23 f2 61 64 64 74 6f  |-1,"").OL#.addto|
00014400  6d 65 6e 75 28 38 2c 22  54 69 6e 74 20 61 72 65  |menu(8,"Tint are|
00014410  61 22 2c 2d 31 2c 22 22  29 0d 4f 56 27 f2 61 64  |a",-1,"").OV'.ad|
00014420  64 74 6f 6d 65 6e 75 28  38 2c 22 54 69 6e 74 20  |dtomenu(8,"Tint |
00014430  62 72 75 73 68 2e 2e 2e  22 2c 2d 31 2c 22 22 29  |brush...",-1,"")|
00014440  0d 4f 60 23 f2 61 64 64  74 6f 6d 65 6e 75 28 38  |.O`#.addtomenu(8|
00014450  2c 22 53 65 74 20 66 72  61 6d 65 22 2c 31 39 2c  |,"Set frame",19,|
00014460  22 22 29 0d 4f 6a 28 f2  61 64 64 74 6f 6d 65 6e  |"").Oj(.addtomen|
00014470  75 28 38 2c 22 52 47 42  20 63 6f 6e 74 72 6f 6c  |u(8,"RGB control|
00014480  2e 2e 2e 22 2c 2d 31 2c  22 22 29 0d 4f 74 27 f2  |...",-1,"").Ot'.|
00014490  61 64 64 74 6f 6d 65 6e  75 28 38 2c 22 47 72 65  |addtomenu(8,"Gre|
000144a0  79 20 73 63 61 6c 65 2e  2e 2e 22 2c 2d 31 2c 22  |y scale...",-1,"|
000144b0  22 29 0d 4f 7e 25 f2 61  64 64 74 6f 6d 65 6e 75  |").O~%.addtomenu|
000144c0  28 38 2c 22 50 69 78 65  6c 61 74 65 2e 2e 2e 22  |(8,"Pixelate..."|
000144d0  2c 2d 31 2c 22 22 29 0d  4f 88 2c f2 61 64 64 74  |,-1,"").O.,.addt|
000144e0  6f 6d 65 6e 75 28 38 2c  22 43 6f 6c 6f 75 72 20  |omenu(8,"Colour |
000144f0  72 65 70 6c 61 63 65 2e  2e 2e 22 2c 2d 31 2c 22  |replace...",-1,"|
00014500  46 22 29 0d 4f 92 04 0d  4f 9c 18 f2 62 75 69 6c  |F").O...O...buil|
00014510  64 6d 65 6e 75 28 39 2c  22 45 64 69 74 22 29 0d  |dmenu(9,"Edit").|
00014520  4f a6 26 f2 61 64 64 74  6f 6d 65 6e 75 28 39 2c  |O.&.addtomenu(9,|
00014530  22 4c 69 6e 65 20 70 61  74 74 65 72 6e 22 2c 31  |"Line pattern",1|
00014540  30 2c 22 22 29 0d 4f b0  27 f2 61 64 64 74 6f 6d  |0,"").O.'.addtom|
00014550  65 6e 75 28 39 2c 22 46  69 6c 6c 20 70 61 74 74  |enu(9,"Fill patt|
00014560  65 72 6e 73 22 2c 31 31  2c 22 22 29 0d 4f ba 26  |erns",11,"").O.&|
00014570  f2 61 64 64 74 6f 6d 65  6e 75 28 39 2c 22 45 64  |.addtomenu(9,"Ed|
00014580  69 74 20 62 72 75 73 68  65 73 22 2c 31 32 2c 22  |it brushes",12,"|
00014590  22 29 0d 4f c4 2a f2 61  64 64 74 6f 6d 65 6e 75  |").O.*.addtomenu|
000145a0  28 39 2c 22 47 72 61 64  75 61 74 65 64 20 66 69  |(9,"Graduated fi|
000145b0  6c 6c 73 22 2c 31 33 2c  22 46 22 29 0d 4f ce 04  |lls",13,"F").O..|
000145c0  0d 4f d8 1c f2 62 75 69  6c 64 6d 65 6e 75 28 31  |.O...buildmenu(1|
000145d0  30 2c 22 4f 70 74 69 6f  6e 73 22 29 0d 4f e2 29  |0,"Options").O.)|
000145e0  f2 61 64 64 74 6f 6d 65  6e 75 28 31 30 2c 22 4d  |.addtomenu(10,"M|
000145f0  6f 75 73 65 22 2c 4d 45  4e 41 44 25 28 31 36 29  |ouse",MENAD%(16)|
00014600  2c 22 4c 22 29 0d 4f ec  26 f2 61 64 64 74 6f 6d  |,"L").O.&.addtom|
00014610  65 6e 75 28 31 30 2c 22  43 75 72 73 6f 72 20 6b  |enu(10,"Cursor k|
00014620  65 79 73 22 2c 2d 31 2c  22 22 29 0d 4f f6 28 f2  |eys",-1,"").O.(.|
00014630  61 64 64 74 6f 6d 65 6e  75 28 31 30 2c 22 57 69  |addtomenu(10,"Wi|
00014640  70 65 20 70 69 63 74 75  72 65 22 2c 2d 31 2c 22  |pe picture",-1,"|
00014650  4c 22 29 0d 50 00 20 f2  61 64 64 74 6f 6d 65 6e  |L").P. .addtomen|
00014660  75 28 31 30 2c 22 48 65  6c 70 22 2c 2d 31 2c 22  |u(10,"Help",-1,"|
00014670  46 22 29 0d 50 0a 04 0d  50 14 1c f2 62 75 69 6c  |F").P...P...buil|
00014680  64 6d 65 6e 75 28 30 2c  22 41 72 63 68 72 6f 6d  |dmenu(0,"Archrom|
00014690  65 22 29 0d 50 1e 25 f2  61 64 64 74 6f 6d 65 6e  |e").P.%.addtomen|
000146a0  75 28 30 2c 22 46 69 6c  65 22 2c 4d 45 4e 41 44  |u(0,"File",MENAD|
000146b0  25 28 31 29 2c 22 22 29  0d 50 28 26 f2 61 64 64  |%(1),"").P(&.add|
000146c0  74 6f 6d 65 6e 75 28 30  2c 22 50 61 69 6e 74 22  |tomenu(0,"Paint"|
000146d0  2c 4d 45 4e 41 44 25 28  32 29 2c 22 22 29 0d 50  |,MENAD%(2),"").P|
000146e0  32 26 f2 61 64 64 74 6f  6d 65 6e 75 28 30 2c 22  |2&.addtomenu(0,"|
000146f0  54 65 78 74 22 2c 4d 45  4e 41 44 25 28 31 34 29  |Text",MENAD%(14)|
00014700  2c 22 22 29 0d 50 3c 28  f2 61 64 64 74 6f 6d 65  |,"").P<(.addtome|
00014710  6e 75 28 30 2c 22 53 68  61 70 65 73 22 2c 4d 45  |nu(0,"Shapes",ME|
00014720  4e 41 44 25 28 34 29 2c  22 4c 22 29 0d 50 46 28  |NAD%(4),"L").PF(|
00014730  f2 61 64 64 74 6f 6d 65  6e 75 28 30 2c 22 53 70  |.addtomenu(0,"Sp|
00014740  65 63 69 61 6c 22 2c 4d  45 4e 41 44 25 28 38 29  |ecial",MENAD%(8)|
00014750  2c 22 22 29 0d 50 50 25  f2 61 64 64 74 6f 6d 65  |,"").PP%.addtome|
00014760  6e 75 28 30 2c 22 45 64  69 74 22 2c 4d 45 4e 41  |nu(0,"Edit",MENA|
00014770  44 25 28 39 29 2c 22 22  29 0d 50 5a 2c f2 61 64  |D%(9),"").PZ,.ad|
00014780  64 74 6f 6d 65 6e 75 28  30 2c 22 4d 61 6e 69 70  |dtomenu(0,"Manip|
00014790  75 6c 61 74 65 22 2c 4d  45 4e 41 44 25 28 37 29  |ulate",MENAD%(7)|
000147a0  2c 22 4c 22 29 0d 50 64  25 f2 61 64 64 74 6f 6d  |,"L").Pd%.addtom|
000147b0  65 6e 75 28 30 2c 22 5a  6f 6f 6d 22 2c 4d 45 4e  |enu(0,"Zoom",MEN|
000147c0  41 44 25 28 33 29 2c 22  22 29 0d 50 6e 25 f2 61  |AD%(3),"").Pn%.a|
000147d0  64 64 74 6f 6d 65 6e 75  28 30 2c 22 47 72 69 64  |ddtomenu(0,"Grid|
000147e0  22 2c 4d 45 4e 41 44 25  28 35 29 2c 22 22 29 0d  |",MENAD%(5),"").|
000147f0  50 78 2a f2 61 64 64 74  6f 6d 65 6e 75 28 30 2c  |Px*.addtomenu(0,|
00014800  22 4f 70 74 69 6f 6e 73  22 2c 4d 45 4e 41 44 25  |"Options",MENAD%|
00014810  28 31 30 29 2c 22 46 22  29 0d 50 82 04 0d 50 8c  |(10),"F").P...P.|
00014820  05 e1 0d 50 96 04 0d 50  a0 25 dd a4 66 6f 6e 74  |...P...P.%..font|
00014830  72 6f 6f 74 28 46 24 29  3a e7 20 a7 46 24 2c 22  |root(F$):. .F$,"|
00014840  2e 22 29 3d 30 20 8c 20  3d 46 24 0d 50 aa 4c 49  |.")=0 . =F$.P.LI|
00014850  50 46 25 3d 31 3a 49 50  46 24 3d 22 22 3a c8 95  |PF%=1:IPF$="":..|
00014860  20 c1 46 24 2c 49 50 46  25 2c 31 29 3c 3e 22 2e  | .F$,IPF%,1)<>".|
00014870  22 3a 49 50 46 24 3d 49  50 46 24 2b c1 46 24 2c  |":IPF$=IPF$+.F$,|
00014880  49 50 46 25 2c 31 29 3a  49 50 46 25 2b 3d 31 3a  |IPF%,1):IPF%+=1:|
00014890  ce 3a 3d 49 50 46 24 0d  50 b4 04 0d 50 be 26 f4  |.:=IPF$.P...P.&.|
000148a0  20 2a 2a 20 43 72 65 61  74 65 20 61 20 6d 65 6e  | ** Create a men|
000148b0  75 20 28 4e 75 6d 62 65  72 2c 20 54 69 74 6c 65  |u (Number, Title|
000148c0  29 0d 50 c8 18 dd f2 62  75 69 6c 64 6d 65 6e 75  |).P....buildmenu|
000148d0  28 4d 4e 25 2c 4d 54 24  29 0d 50 d2 2c 4d 45 4e  |(MN%,MT$).P.,MEN|
000148e0  41 44 25 28 4d 4e 25 29  3d 4d 45 4e 55 25 2b 4d  |AD%(MN%)=MENU%+M|
000148f0  45 4f 46 25 3a 54 41 44  25 3d 4d 45 4e 55 25 2b  |EOF%:TAD%=MENU%+|
00014900  4d 45 4f 46 25 0d 50 dc  54 24 54 41 44 25 3d 4d  |MEOF%.P.T$TAD%=M|
00014910  54 24 3a 54 41 44 25 3f  31 32 3d 37 3a 54 41 44  |T$:TAD%?12=7:TAD|
00014920  25 3f 31 33 3d 32 3a 54  41 44 25 3f 31 34 3d 37  |%?13=2:TAD%?14=7|
00014930  3a 54 41 44 25 3f 31 35  3d 30 3a 54 41 44 25 21  |:TAD%?15=0:TAD%!|
00014940  31 36 3d 30 3a 54 41 44  25 21 32 30 3d 34 34 3a  |16=0:TAD%!20=44:|
00014950  54 41 44 25 21 32 34 3d  30 0d 50 e6 0d 4d 45 4f  |TAD%!24=0.P..MEO|
00014960  46 25 2b 3d 32 38 0d 50  f0 41 e7 20 4d 45 4f 46  |F%+=28.P.A. MEOF|
00014970  25 3e 38 2a 31 30 32 34  20 8c 20 f2 6d 65 73 73  |%>8*1024 . .mess|
00014980  61 67 65 28 30 2c 22 4d  65 6e 75 20 74 72 65 65  |age(0,"Menu tree|
00014990  20 68 61 73 20 72 75 6e  20 6f 75 74 20 6f 66 20  | has run out of |
000149a0  72 6f 6f 6d 2e 22 29 0d  50 fa 05 e1 0d 51 04 04  |room.").P....Q..|
000149b0  0d 51 0e 33 f4 20 2a 2a  20 46 65 61 74 75 72 65  |.Q.3. ** Feature|
000149c0  20 66 6f 72 6d 61 74 20  3a 20 4c 20 3d 20 46 6f  | format : L = Fo|
000149d0  6c 6c 6f 77 20 62 79 20  64 6f 74 74 65 64 20 6c  |llow by dotted l|
000149e0  69 6e 65 0d 51 18 27 f4  20 2a 2a 20 20 20 20 20  |ine.Q.'. **     |
000149f0  20 20 20 20 20 20 20 20  20 20 20 3a 20 46 20 3d  |           : F =|
00014a00  20 4c 61 73 74 20 69 74  65 6d 0d 51 22 20 dd f2  | Last item.Q" ..|
00014a10  61 64 64 74 6f 6d 65 6e  75 28 4d 4e 25 2c 49 54  |addtomenu(MN%,IT|
00014a20  24 2c 48 41 25 2c 46 45  24 29 0d 51 2c 14 54 41  |$,HA%,FE$).Q,.TA|
00014a30  44 25 3d 4d 45 4e 55 25  2b 4d 45 4f 46 25 0d 51  |D%=MENU%+MEOF%.Q|
00014a40  36 09 46 45 25 3d 30 0d  51 40 18 e7 20 a7 46 45  |6.FE%=0.Q@.. .FE|
00014a50  24 2c 22 4c 22 29 20 8c  20 46 45 25 2b 3d 32 0d  |$,"L") . FE%+=2.|
00014a60  51 4a 1a e7 20 a7 46 45  24 2c 22 46 22 29 20 8c  |QJ.. .FE$,"F") .|
00014a70  20 46 45 25 2b 3d 31 32  38 0d 51 54 0d 21 54 41  | FE%+=128.QT.!TA|
00014a80  44 25 3d 46 45 25 0d 51  5e 2c e7 20 48 41 25 3e  |D%=FE%.Q^,. HA%>|
00014a90  2d 31 20 80 20 48 41 25  3c 26 38 30 30 30 20 8c  |-1 . HA%<&8000 .|
00014aa0  20 54 41 44 25 21 34 3d  48 41 4e 44 25 28 48 41  | TAD%!4=HAND%(HA|
00014ab0  25 29 0d 51 68 18 e7 20  48 41 25 3d 2d 31 20 8c  |%).Qh.. HA%=-1 .|
00014ac0  20 54 41 44 25 21 34 3d  2d 31 0d 51 72 1c e7 20  | TAD%!4=-1.Qr.. |
00014ad0  48 41 25 3e 26 38 30 30  30 20 8c 20 54 41 44 25  |HA%>&8000 . TAD%|
00014ae0  21 34 3d 48 41 25 0d 51  7c 1c 54 41 44 25 21 38  |!4=HA%.Q|.TAD%!8|
00014af0  3d 31 20 84 20 28 37 3c  3c 32 34 29 20 84 20 32  |=1 . (7<<24) . 2|
00014b00  35 36 0d 51 86 19 24 28  4d 45 4e 55 49 4e 44 25  |56.Q..$(MENUIND%|
00014b10  2b 4d 45 49 4e 25 29 3d  49 54 24 0d 51 90 11 49  |+MEIN%)=IT$.Q..I|
00014b20  4c 45 25 3d a9 28 49 54  24 29 2b 31 0d 51 9a 2a  |LE%=.(IT$)+1.Q.*|
00014b30  e7 20 28 49 4c 45 25 20  83 20 34 29 3e 30 20 8c  |. (ILE% . 4)>0 .|
00014b40  20 49 4c 45 25 3d 28 28  49 4c 45 25 20 81 20 34  | ILE%=((ILE% . 4|
00014b50  29 2b 31 29 2a 34 0d 51  a4 1a 54 41 44 25 21 31  |)+1)*4.Q..TAD%!1|
00014b60  32 3d 4d 45 4e 55 49 4e  44 25 2b 4d 45 49 4e 25  |2=MENUIND%+MEIN%|
00014b70  0d 51 ae 12 54 41 44 25  21 32 30 3d a9 28 49 54  |.Q..TAD%!20=.(IT|
00014b80  24 29 0d 51 b8 13 54 41  44 25 21 31 36 3d 4d 45  |$).Q..TAD%!16=ME|
00014b90  4e 41 4c 4f 25 0d 51 c2  0f 4d 45 49 4e 25 2b 3d  |NALO%.Q..MEIN%+=|
00014ba0  49 4c 45 25 0d 51 cc 46  e7 20 4d 45 49 4e 25 3e  |ILE%.Q.F. MEIN%>|
00014bb0  28 38 2a 31 30 32 34 29  20 8c 20 f2 6d 65 73 73  |(8*1024) . .mess|
00014bc0  61 67 65 28 31 2c 22 4d  65 6e 75 20 69 6e 64 69  |age(1,"Menu indi|
00014bd0  72 65 63 74 69 6f 6e 20  62 75 66 66 65 72 20 6f  |rection buffer o|
00014be0  76 65 72 66 6c 6f 77 2e  22 29 0d 51 d6 0d 4d 45  |verflow.").Q..ME|
00014bf0  4f 46 25 2b 3d 32 34 0d  51 e0 42 e7 20 4d 45 4f  |OF%+=24.Q.B. MEO|
00014c00  46 25 3e 28 38 2a 31 30  32 34 29 20 8c 20 f2 6d  |F%>(8*1024) . .m|
00014c10  65 73 73 61 67 65 28 30  2c 22 4d 65 6e 75 20 74  |essage(0,"Menu t|
00014c20  72 65 65 20 68 61 73 20  72 75 6e 20 6f 75 74 20  |ree has run out |
00014c30  6f 66 20 72 6f 6f 6d 22  29 0d 51 ea 47 e7 20 28  |of room").Q.G. (|
00014c40  28 4d 45 4e 41 44 25 28  4d 4e 25 29 21 31 36 29  |(MENAD%(MN%)!16)|
00014c50  2d 33 32 29 3c 28 a9 28  49 54 24 29 2a 31 36 29  |-32)<(.(IT$)*16)|
00014c60  20 8c 20 4d 45 4e 41 44  25 28 4d 4e 25 29 21 31  | . MENAD%(MN%)!1|
00014c70  36 3d 28 a9 28 49 54 24  29 2a 31 36 29 2b 33 32  |6=(.(IT$)*16)+32|
00014c80  0d 51 f4 05 e1 0d 51 fe  04 0d 52 08 53 dd f2 73  |.Q....Q...R.S..s|
00014c90  68 61 64 65 69 74 65 6d  28 4d 4e 25 2c 49 4e 25  |hadeitem(MN%,IN%|
00014ca0  29 3a 54 41 44 25 3d 4d  45 4e 41 44 25 28 4d 4e  |):TAD%=MENAD%(MN|
00014cb0  25 29 2b 32 38 2b 28 28  49 4e 25 2d 31 29 2a 32  |%)+28+((IN%-1)*2|
00014cc0  34 29 3a 54 41 44 25 21  38 3d 28 54 41 44 25 21  |4):TAD%!8=(TAD%!|
00014cd0  38 29 2b 28 31 3c 3c 32  32 29 3a e1 0d 52 12 04  |8)+(1<<22):..R..|
00014ce0  0d 52 1c 4a dd f2 74 69  63 6b 69 74 65 6d 28 4d  |.R.J..tickitem(M|
00014cf0  4e 25 2c 49 4e 25 29 3a  54 41 44 25 3d 4d 45 4e  |N%,IN%):TAD%=MEN|
00014d00  41 44 25 28 4d 4e 25 29  2b 32 38 2b 28 28 49 4e  |AD%(MN%)+28+((IN|
00014d10  25 2d 31 29 2a 32 34 29  3a 21 54 41 44 25 3d 28  |%-1)*24):!TAD%=(|
00014d20  21 54 41 44 25 29 2b 31  3a e1 0d 52 26 04 0d 52  |!TAD%)+1:..R&..R|
00014d30  30 12 dd f2 6d 65 6e 75  3a c8 99 36 2c 32 32 39  |0...menu:..6,229|
00014d40  0d 52 3a 34 c8 99 20 22  57 69 6d 70 5f 47 65 74  |.R:4.. "Wimp_Get|
00014d50  50 6f 69 6e 74 65 72 49  6e 66 6f 22 2c 2c 42 4c  |PointerInfo",,BL|
00014d60  4b 25 2b 31 32 38 3a 4d  42 55 25 3d 42 4c 4b 25  |K%+128:MBU%=BLK%|
00014d70  21 31 33 36 0d 52 44 31  c8 99 20 22 57 69 6d 70  |!136.RD1.. "Wimp|
00014d80  5f 44 65 63 6f 64 65 4d  65 6e 75 22 2c 2c 4d 45  |_DecodeMenu",,ME|
00014d90  4e 41 44 25 28 4d 45 4e  4f 25 29 2c 42 4c 4b 25  |NAD%(MENO%),BLK%|
00014da0  2c 53 45 4c 25 0d 52 4e  0a 44 53 49 25 3d a3 0d  |,SEL%.RN.DSI%=..|
00014db0  52 58 1b f4 20 56 44 55  34 3a 50 52 49 4e 54 20  |RX.. VDU4:PRINT |
00014dc0  24 53 45 4c 25 3a 56 44  55 35 0d 52 62 0e 53 45  |$SEL%:VDU5.Rb.SE|
00014dd0  4c 24 3d 24 53 45 4c 25  0d 52 6c 56 e7 20 24 53  |L$=$SEL%.RlV. $S|
00014de0  45 4c 25 3d 22 51 75 69  74 22 20 8c 20 f2 6b 69  |EL%="Quit" . .ki|
00014df0  6c 6c 66 3a 46 55 53 45  25 3d 2d 31 3a f2 77 69  |llf:FUSE%=-1:.wi|
00014e00  6e 64 6e 61 6d 65 28 32  2c 50 49 43 24 29 3a f2  |ndname(2,PIC$):.|
00014e10  66 6f 72 63 65 64 72 61  77 6d 61 69 6e 3a e7 20  |forcedrawmain:. |
00014e20  a4 71 75 69 74 79 6e 20  8c 20 f2 64 69 65 0d 52  |.quityn . .die.R|
00014e30  76 44 e7 20 24 53 45 4c  25 3d 22 50 61 69 6e 74  |vD. $SEL%="Paint|
00014e40  22 20 8c 20 44 53 49 25  3d b9 3a f2 6b 69 6c 6c  |" . DSI%=.:.kill|
00014e50  66 3a 46 55 53 45 25 3d  2d 31 3a f2 68 65 6c 70  |f:FUSE%=-1:.help|
00014e60  3a f2 77 69 6e 64 6e 61  6d 65 28 32 2c 50 49 43  |:.windname(2,PIC|
00014e70  24 29 0d 52 80 32 e7 20  24 53 45 4c 25 3d 22 50  |$).R.2. $SEL%="P|
00014e80  61 69 6e 74 2e 53 68 6f  77 20 70 61 6c 65 74 74  |aint.Show palett|
00014e90  65 22 20 8c 20 44 53 49  25 3d b9 3a f2 6f 70 65  |e" . DSI%=.:.ope|
00014ea0  6e 70 61 6c 0d 52 8a 56  e7 20 24 53 45 4c 25 3d  |npal.R.V. $SEL%=|
00014eb0  22 50 61 69 6e 74 2e 50  69 78 65 6c 73 22 20 8c  |"Paint.Pixels" .|
00014ec0  20 44 53 49 25 3d b9 3a  f2 6b 69 6c 6c 66 3a 46  | DSI%=.:.killf:F|
00014ed0  55 53 45 25 3d 30 3a f2  68 65 6c 70 3a f2 77 69  |USE%=0:.help:.wi|
00014ee0  6e 64 6e 61 6d 65 28 32  2c 50 49 43 24 2b 22 20  |ndname(2,PIC$+" |
00014ef0  5b 70 69 78 65 6c 73 5d  22 29 0d 52 94 5e e7 20  |[pixels]").R.^. |
00014f00  24 53 45 4c 25 3d 22 50  61 69 6e 74 2e 53 6b 65  |$SEL%="Paint.Ske|
00014f10  74 63 68 22 20 8c 20 44  53 49 25 3d b9 3a f2 6b  |tch" . DSI%=.:.k|
00014f20  69 6c 6c 66 3a 46 55 53  45 25 3d 31 3a 46 55 53  |illf:FUSE%=1:FUS|
00014f30  54 25 3d 30 3a f2 68 65  6c 70 3a f2 77 69 6e 64  |T%=0:.help:.wind|
00014f40  6e 61 6d 65 28 32 2c 50  49 43 24 2b 22 20 5b 73  |name(2,PIC$+" [s|
00014f50  6b 65 74 63 68 5d 22 29  0d 52 9e 68 e7 20 24 53  |ketch]").R.h. $S|
00014f60  45 4c 25 3d 22 50 61 69  6e 74 2e 52 75 62 62 65  |EL%="Paint.Rubbe|
00014f70  72 20 6c 69 6e 65 22 20  8c 20 44 53 49 25 3d b9  |r line" . DSI%=.|
00014f80  3a f2 6b 69 6c 6c 66 3a  46 55 53 45 25 3d 32 3a  |:.killf:FUSE%=2:|
00014f90  46 55 53 54 25 3d 30 3a  f2 68 65 6c 70 3a f2 77  |FUST%=0:.help:.w|
00014fa0  69 6e 64 6e 61 6d 65 28  32 2c 50 49 43 24 2b 22  |indname(2,PIC$+"|
00014fb0  20 5b 72 75 62 62 65 72  20 6c 69 6e 65 5d 22 29  | [rubber line]")|
00014fc0  0d 52 a8 6d e7 20 24 53  45 4c 25 3d 22 47 72 69  |.R.m. $SEL%="Gri|
00014fd0  64 2e 53 68 6f 77 20 67  72 69 64 22 20 8c 20 44  |d.Show grid" . D|
00014fe0  53 49 25 3d b9 3a 47 52  43 4f 25 3d 50 41 4c 54  |SI%=.:GRCO%=PALT|
00014ff0  41 42 25 3f 28 43 4f 4c  25 2a 32 29 3a 47 52 54  |AB%?(COL%*2):GRT|
00015000  49 25 3d 50 41 4c 54 41  42 25 3f 28 28 43 4f 4c  |I%=PALTAB%?((COL|
00015010  25 2a 32 29 2b 31 29 3a  f2 66 6f 72 63 65 64 72  |%*2)+1):.forcedr|
00015020  61 77 6d 61 69 6e 3a e5  20 8d 70 7c 52 0d 52 b2  |awmain:. .p|R.R.|
00015030  44 e7 20 24 53 45 4c 25  3d 22 47 72 69 64 2e 48  |D. $SEL%="Grid.H|
00015040  69 64 65 20 67 72 69 64  22 20 8c 20 44 53 49 25  |ide grid" . DSI%|
00015050  3d b9 3a 47 52 43 4f 25  3d 2d 31 3a f2 66 6f 72  |=.:GRCO%=-1:.for|
00015060  63 65 64 72 61 77 6d 61  69 6e 3a e5 20 8d 70 7c  |cedrawmain:. .p||
00015070  52 0d 52 bc 2d e7 20 24  53 45 4c 25 3d 22 5a 6f  |R.R.-. $SEL%="Zo|
00015080  6f 6d 22 20 8c 20 44 53  49 25 3d b9 3a 5a 4f 4f  |om" . DSI%=.:ZOO|
00015090  4d 25 3d 31 3a f2 7a 6f  6f 6d 73 69 7a 65 0d 52  |M%=1:.zoomsize.R|
000150a0  c6 0e e3 4c 25 3d 32 20  b8 20 31 36 0d 52 d0 48  |...L%=2 . 16.R.H|
000150b0  e7 20 24 53 45 4c 25 3d  22 5a 6f 6f 6d 2e 5a 6f  |. $SEL%="Zoom.Zo|
000150c0  6f 6d 20 78 22 2b c3 4c  25 20 8c 20 44 53 49 25  |om x"+.L% . DSI%|
000150d0  3d b9 3a 5a 4f 4f 4d 25  3d 4c 25 3a f2 7a 6f 6f  |=.:ZOOM%=L%:.zoo|
000150e0  6d 73 69 7a 65 3a f2 66  6f 72 63 65 64 72 61 77  |msize:.forcedraw|
000150f0  6d 61 69 6e 0d 52 da 05  ed 0d 52 e4 72 e7 20 24  |main.R....R.r. $|
00015100  53 45 4c 25 3d 22 50 61  69 6e 74 2e 41 69 72 62  |SEL%="Paint.Airb|
00015110  72 75 73 68 2e 2e 2e 22  20 8c 20 f2 6b 69 6c 6c  |rush..." . .kill|
00015120  66 3a 44 53 49 25 3d b9  3a f2 6f 70 65 6e 77 69  |f:DSI%=.:.openwi|
00015130  6e 64 28 34 29 3a 46 55  53 45 25 3d 33 3a 46 55  |nd(4):FUSE%=3:FU|
00015140  53 54 25 3d 30 3a f2 68  65 6c 70 3a f2 77 69 6e  |ST%=0:.help:.win|
00015150  64 6e 61 6d 65 28 32 2c  50 49 43 24 2b 22 20 5b  |dname(2,PIC$+" [|
00015160  61 69 72 62 72 75 73 68  5d 22 29 0d 52 ee 76 e7  |airbrush]").R.v.|
00015170  20 24 53 45 4c 25 3d 22  50 61 69 6e 74 2e 50 61  | $SEL%="Paint.Pa|
00015180  69 6e 74 62 72 75 73 68  2e 2e 2e 22 20 8c 20 f2  |intbrush..." . .|
00015190  6b 69 6c 6c 66 3a 44 53  49 25 3d b9 3a f2 6f 70  |killf:DSI%=.:.op|
000151a0  65 6e 77 69 6e 64 28 35  29 3a 46 55 53 45 25 3d  |enwind(5):FUSE%=|
000151b0  34 3a 46 55 53 54 25 3d  30 3a f2 68 65 6c 70 3a  |4:FUST%=0:.help:|
000151c0  f2 77 69 6e 64 6e 61 6d  65 28 32 2c 50 49 43 24  |.windname(2,PIC$|
000151d0  2b 22 20 5b 70 61 69 6e  74 62 72 75 73 68 5d 22  |+" [paintbrush]"|
000151e0  29 0d 52 f8 6f e7 20 24  53 45 4c 25 3d 22 53 68  |).R.o. $SEL%="Sh|
000151f0  61 70 65 73 2e 57 69 72  65 20 72 65 63 74 61 6e  |apes.Wire rectan|
00015200  67 6c 65 22 20 8c 20 44  53 49 25 3d b9 3a f2 6b  |gle" . DSI%=.:.k|
00015210  69 6c 6c 66 3a 46 55 53  45 25 3d 35 3a 46 55 53  |illf:FUSE%=5:FUS|
00015220  54 25 3d 30 3a f2 68 65  6c 70 3a f2 77 69 6e 64  |T%=0:.help:.wind|
00015230  6e 61 6d 65 28 32 2c 50  49 43 24 2b 22 20 5b 77  |name(2,PIC$+" [w|
00015240  69 72 65 20 72 65 63 74  61 6e 67 6c 65 5d 22 29  |ire rectangle]")|
00015250  0d 53 02 71 e7 20 24 53  45 4c 25 3d 22 53 68 61  |.S.q. $SEL%="Sha|
00015260  70 65 73 2e 53 6f 6c 69  64 20 72 65 63 74 61 6e  |pes.Solid rectan|
00015270  67 6c 65 22 20 8c 20 44  53 49 25 3d b9 3a f2 6b  |gle" . DSI%=.:.k|
00015280  69 6c 6c 66 3a 46 55 53  45 25 3d 36 3a 46 55 53  |illf:FUSE%=6:FUS|
00015290  54 25 3d 30 3a f2 68 65  6c 70 3a f2 77 69 6e 64  |T%=0:.help:.wind|
000152a0  6e 61 6d 65 28 32 2c 50  49 43 24 2b 22 20 5b 73  |name(2,PIC$+" [s|
000152b0  6f 6c 69 64 20 72 65 63  74 61 6e 67 6c 65 5d 22  |olid rectangle]"|
000152c0  29 0d 53 0c 33 e7 20 24  53 45 4c 25 3d 22 47 72  |).S.3. $SEL%="Gr|
000152d0  69 64 2e 47 72 69 64 20  6c 6f 63 6b 22 20 8c 20  |id.Grid lock" . |
000152e0  44 53 49 25 3d b9 3a 47  52 4c 4f 25 3d ac 20 47  |DSI%=.:GRLO%=. G|
000152f0  52 4c 4f 25 0d 53 16 59  e7 20 24 53 45 4c 25 3d  |RLO%.S.Y. $SEL%=|
00015300  22 47 72 69 64 2e 50 72  65 73 65 74 20 67 72 69  |"Grid.Preset gri|
00015310  64 73 2e 32 78 32 20 67  72 69 64 22 20 8c 20 44  |ds.2x2 grid" . D|
00015320  53 49 25 3d b9 3a 47 52  57 49 25 3d 32 3a 47 52  |SI%=.:GRWI%=2:GR|
00015330  48 45 25 3d 32 3a f2 73  65 74 67 72 69 63 3a f2  |HE%=2:.setgric:.|
00015340  66 6f 72 63 65 64 72 61  77 6d 61 69 6e 0d 53 20  |forcedrawmain.S |
00015350  59 e7 20 24 53 45 4c 25  3d 22 47 72 69 64 2e 50  |Y. $SEL%="Grid.P|
00015360  72 65 73 65 74 20 67 72  69 64 73 2e 33 78 33 20  |reset grids.3x3 |
00015370  67 72 69 64 22 20 8c 20  44 53 49 25 3d b9 3a 47  |grid" . DSI%=.:G|
00015380  52 57 49 25 3d 33 3a 47  52 48 45 25 3d 33 3a f2  |RWI%=3:GRHE%=3:.|
00015390  73 65 74 67 72 69 63 3a  f2 66 6f 72 63 65 64 72  |setgric:.forcedr|
000153a0  61 77 6d 61 69 6e 0d 53  2a 59 e7 20 24 53 45 4c  |awmain.S*Y. $SEL|
000153b0  25 3d 22 47 72 69 64 2e  50 72 65 73 65 74 20 67  |%="Grid.Preset g|
000153c0  72 69 64 73 2e 34 78 34  20 67 72 69 64 22 20 8c  |rids.4x4 grid" .|
000153d0  20 44 53 49 25 3d b9 3a  47 52 57 49 25 3d 34 3a  | DSI%=.:GRWI%=4:|
000153e0  47 52 48 45 25 3d 34 3a  f2 73 65 74 67 72 69 63  |GRHE%=4:.setgric|
000153f0  3a f2 66 6f 72 63 65 64  72 61 77 6d 61 69 6e 0d  |:.forcedrawmain.|
00015400  53 34 59 e7 20 24 53 45  4c 25 3d 22 47 72 69 64  |S4Y. $SEL%="Grid|
00015410  2e 50 72 65 73 65 74 20  67 72 69 64 73 2e 36 78  |.Preset grids.6x|
00015420  36 20 67 72 69 64 22 20  8c 20 44 53 49 25 3d b9  |6 grid" . DSI%=.|
00015430  3a 47 52 57 49 25 3d 36  3a 47 52 48 45 25 3d 36  |:GRWI%=6:GRHE%=6|
00015440  3a f2 73 65 74 67 72 69  63 3a f2 66 6f 72 63 65  |:.setgric:.force|
00015450  64 72 61 77 6d 61 69 6e  0d 53 3e 59 e7 20 24 53  |drawmain.S>Y. $S|
00015460  45 4c 25 3d 22 47 72 69  64 2e 50 72 65 73 65 74  |EL%="Grid.Preset|
00015470  20 67 72 69 64 73 2e 38  78 38 20 67 72 69 64 22  | grids.8x8 grid"|
00015480  20 8c 20 44 53 49 25 3d  b9 3a 47 52 57 49 25 3d  | . DSI%=.:GRWI%=|
00015490  38 3a 47 52 48 45 25 3d  38 3a f2 73 65 74 67 72  |8:GRHE%=8:.setgr|
000154a0  69 63 3a f2 66 6f 72 63  65 64 72 61 77 6d 61 69  |ic:.forcedrawmai|
000154b0  6e 0d 53 48 5d e7 20 24  53 45 4c 25 3d 22 47 72  |n.SH]. $SEL%="Gr|
000154c0  69 64 2e 50 72 65 73 65  74 20 67 72 69 64 73 2e  |id.Preset grids.|
000154d0  31 36 78 31 36 20 67 72  69 64 22 20 8c 20 44 53  |16x16 grid" . DS|
000154e0  49 25 3d b9 3a 47 52 57  49 25 3d 31 36 3a 47 52  |I%=.:GRWI%=16:GR|
000154f0  48 45 25 3d 31 36 3a f2  73 65 74 67 72 69 63 3a  |HE%=16:.setgric:|
00015500  f2 66 6f 72 63 65 64 72  61 77 6d 61 69 6e 0d 53  |.forcedrawmain.S|
00015510  52 5d e7 20 24 53 45 4c  25 3d 22 47 72 69 64 2e  |R]. $SEL%="Grid.|
00015520  50 72 65 73 65 74 20 67  72 69 64 73 2e 33 32 78  |Preset grids.32x|
00015530  33 32 20 67 72 69 64 22  20 8c 20 44 53 49 25 3d  |32 grid" . DSI%=|
00015540  b9 3a 47 52 57 49 25 3d  33 32 3a 47 52 48 45 25  |.:GRWI%=32:GRHE%|
00015550  3d 33 32 3a f2 73 65 74  67 72 69 63 3a f2 66 6f  |=32:.setgric:.fo|
00015560  72 63 65 64 72 61 77 6d  61 69 6e 0d 53 5c 5d e7  |rcedrawmain.S\].|
00015570  20 24 53 45 4c 25 3d 22  47 72 69 64 2e 50 72 65  | $SEL%="Grid.Pre|
00015580  73 65 74 20 67 72 69 64  73 2e 33 32 78 31 36 20  |set grids.32x16 |
00015590  67 72 69 64 22 20 8c 20  44 53 49 25 3d b9 3a 47  |grid" . DSI%=.:G|
000155a0  52 57 49 25 3d 33 32 3a  47 52 48 45 25 3d 31 36  |RWI%=32:GRHE%=16|
000155b0  3a f2 73 65 74 67 72 69  63 3a f2 66 6f 72 63 65  |:.setgric:.force|
000155c0  64 72 61 77 6d 61 69 6e  0d 53 66 69 e7 20 24 53  |drawmain.Sfi. $S|
000155d0  45 4c 25 3d 22 53 68 61  70 65 73 2e 57 69 72 65  |EL%="Shapes.Wire|
000155e0  20 63 69 72 63 6c 65 22  20 8c 20 44 53 49 25 3d  | circle" . DSI%=|
000155f0  b9 3a f2 6b 69 6c 6c 66  3a 46 55 53 45 25 3d 37  |.:.killf:FUSE%=7|
00015600  3a 46 55 53 54 25 3d 30  3a f2 68 65 6c 70 3a f2  |:FUST%=0:.help:.|
00015610  77 69 6e 64 6e 61 6d 65  28 32 2c 50 49 43 24 2b  |windname(2,PIC$+|
00015620  22 20 5b 77 69 72 65 20  63 69 72 63 6c 65 5d 22  |" [wire circle]"|
00015630  29 0d 53 70 6b e7 20 24  53 45 4c 25 3d 22 53 68  |).Spk. $SEL%="Sh|
00015640  61 70 65 73 2e 53 6f 6c  69 64 20 63 69 72 63 6c  |apes.Solid circl|
00015650  65 22 20 8c 20 44 53 49  25 3d b9 3a f2 6b 69 6c  |e" . DSI%=.:.kil|
00015660  6c 66 3a 46 55 53 45 25  3d 38 3a 46 55 53 54 25  |lf:FUSE%=8:FUST%|
00015670  3d 30 3a f2 68 65 6c 70  3a f2 77 69 6e 64 6e 61  |=0:.help:.windna|
00015680  6d 65 28 32 2c 50 49 43  24 2b 22 20 5b 73 6f 6c  |me(2,PIC$+" [sol|
00015690  69 64 20 63 69 72 63 6c  65 5d 22 29 0d 53 7a 6d  |id circle]").Szm|
000156a0  e7 20 24 53 45 4c 25 3d  22 53 68 61 70 65 73 2e  |. $SEL%="Shapes.|
000156b0  57 69 72 65 20 74 72 69  61 6e 67 6c 65 22 20 8c  |Wire triangle" .|
000156c0  20 44 53 49 25 3d b9 3a  f2 6b 69 6c 6c 66 3a 46  | DSI%=.:.killf:F|
000156d0  55 53 45 25 3d 39 3a 46  55 53 54 25 3d 30 3a f2  |USE%=9:FUST%=0:.|
000156e0  68 65 6c 70 3a f2 77 69  6e 64 6e 61 6d 65 28 32  |help:.windname(2|
000156f0  2c 50 49 43 24 2b 22 20  5b 77 69 72 65 20 74 72  |,PIC$+" [wire tr|
00015700  69 61 6e 67 6c 65 5d 22  29 0d 53 84 70 e7 20 24  |iangle]").S.p. $|
00015710  53 45 4c 25 3d 22 53 68  61 70 65 73 2e 53 6f 6c  |SEL%="Shapes.Sol|
00015720  69 64 20 74 72 69 61 6e  67 6c 65 22 20 8c 20 44  |id triangle" . D|
00015730  53 49 25 3d b9 3a f2 6b  69 6c 6c 66 3a 46 55 53  |SI%=.:.killf:FUS|
00015740  45 25 3d 31 30 3a 46 55  53 54 25 3d 30 3a f2 68  |E%=10:FUST%=0:.h|
00015750  65 6c 70 3a f2 77 69 6e  64 6e 61 6d 65 28 32 2c  |elp:.windname(2,|
00015760  50 49 43 24 2b 22 20 5b  73 6f 6c 69 64 20 74 72  |PIC$+" [solid tr|
00015770  69 61 6e 67 6c 65 5d 22  29 0d 53 8e 6c e7 20 24  |iangle]").S.l. $|
00015780  53 45 4c 25 3d 22 53 68  61 70 65 73 2e 57 69 72  |SEL%="Shapes.Wir|
00015790  65 20 65 6c 6c 69 70 73  65 22 20 8c 20 44 53 49  |e ellipse" . DSI|
000157a0  25 3d b9 3a f2 6b 69 6c  6c 66 3a 46 55 53 45 25  |%=.:.killf:FUSE%|
000157b0  3d 31 31 3a 46 55 53 54  25 3d 30 3a f2 68 65 6c  |=11:FUST%=0:.hel|
000157c0  70 3a f2 77 69 6e 64 6e  61 6d 65 28 32 2c 50 49  |p:.windname(2,PI|
000157d0  43 24 2b 22 20 5b 77 69  72 65 20 65 6c 6c 69 70  |C$+" [wire ellip|
000157e0  73 65 5d 22 29 0d 53 98  6e e7 20 24 53 45 4c 25  |se]").S.n. $SEL%|
000157f0  3d 22 53 68 61 70 65 73  2e 53 6f 6c 69 64 20 65  |="Shapes.Solid e|
00015800  6c 6c 69 70 73 65 22 20  8c 20 44 53 49 25 3d b9  |llipse" . DSI%=.|
00015810  3a f2 6b 69 6c 6c 66 3a  46 55 53 45 25 3d 31 32  |:.killf:FUSE%=12|
00015820  3a 46 55 53 54 25 3d 30  3a f2 68 65 6c 70 3a f2  |:FUST%=0:.help:.|
00015830  77 69 6e 64 6e 61 6d 65  28 32 2c 50 49 43 24 2b  |windname(2,PIC$+|
00015840  22 20 5b 73 6f 6c 69 64  20 65 6c 6c 69 70 73 65  |" [solid ellipse|
00015850  5d 22 29 0d 53 a2 78 e7  20 24 53 45 4c 25 3d 22  |]").S.x. $SEL%="|
00015860  53 68 61 70 65 73 2e 57  69 72 65 20 70 61 72 61  |Shapes.Wire para|
00015870  6c 6c 65 6c 6f 67 72 61  6d 22 20 8c 20 44 53 49  |llelogram" . DSI|
00015880  25 3d b9 3a f2 6b 69 6c  6c 66 3a 46 55 53 45 25  |%=.:.killf:FUSE%|
00015890  3d 31 33 3a 46 55 53 54  25 3d 30 3a f2 68 65 6c  |=13:FUST%=0:.hel|
000158a0  70 3a f2 77 69 6e 64 6e  61 6d 65 28 32 2c 50 49  |p:.windname(2,PI|
000158b0  43 24 2b 22 20 5b 77 69  72 65 20 70 61 72 61 6c  |C$+" [wire paral|
000158c0  6c 65 6c 6f 67 72 61 6d  5d 22 29 0d 53 ac 7a e7  |lelogram]").S.z.|
000158d0  20 24 53 45 4c 25 3d 22  53 68 61 70 65 73 2e 53  | $SEL%="Shapes.S|
000158e0  6f 6c 69 64 20 70 61 72  61 6c 6c 65 6c 6f 67 72  |olid parallelogr|
000158f0  61 6d 22 20 8c 20 44 53  49 25 3d b9 3a f2 6b 69  |am" . DSI%=.:.ki|
00015900  6c 6c 66 3a 46 55 53 45  25 3d 31 34 3a 46 55 53  |llf:FUSE%=14:FUS|
00015910  54 25 3d 30 3a f2 68 65  6c 70 3a f2 77 69 6e 64  |T%=0:.help:.wind|
00015920  6e 61 6d 65 28 32 2c 50  49 43 24 2b 22 20 5b 73  |name(2,PIC$+" [s|
00015930  6f 6c 69 64 20 70 61 72  61 6c 6c 65 6c 6f 67 72  |olid parallelogr|
00015940  61 6d 5d 22 29 0d 53 b6  64 e7 20 24 53 45 4c 25  |am]").S.d. $SEL%|
00015950  3d 22 53 68 61 70 65 73  2e 57 69 72 65 20 61 72  |="Shapes.Wire ar|
00015960  63 22 20 8c 20 44 53 49  25 3d b9 3a f2 6b 69 6c  |c" . DSI%=.:.kil|
00015970  6c 66 3a 46 55 53 45 25  3d 31 35 3a 46 55 53 54  |lf:FUSE%=15:FUST|
00015980  25 3d 30 3a f2 68 65 6c  70 3a f2 77 69 6e 64 6e  |%=0:.help:.windn|
00015990  61 6d 65 28 32 2c 50 49  43 24 2b 22 20 5b 77 69  |ame(2,PIC$+" [wi|
000159a0  72 65 20 61 72 63 5d 22  29 0d 53 c0 6b e7 20 24  |re arc]").S.k. $|
000159b0  53 45 4c 25 3d 22 53 68  61 70 65 73 2e 53 6f 6c  |SEL%="Shapes.Sol|
000159c0  69 64 20 73 65 63 74 6f  72 22 20 8c 20 44 53 49  |id sector" . DSI|
000159d0  25 3d b9 3a f2 6b 69 6c  6c 66 3a 46 55 53 45 25  |%=.:.killf:FUSE%|
000159e0  3d 31 36 3a 46 55 53 54  25 3d 30 3a f2 68 65 6c  |=16:FUST%=0:.hel|
000159f0  70 3a f2 77 69 6e 64 6e  61 6d 65 28 32 2c 50 49  |p:.windname(2,PI|
00015a00  43 24 2b 22 20 5b 77 69  72 65 20 73 65 63 74 6f  |C$+" [wire secto|
00015a10  72 5d 22 29 0d 53 ca 6d  e7 20 24 53 45 4c 25 3d  |r]").S.m. $SEL%=|
00015a20  22 53 68 61 70 65 73 2e  53 6f 6c 69 64 20 73 65  |"Shapes.Solid se|
00015a30  67 6d 65 6e 74 22 20 8c  20 44 53 49 25 3d b9 3a  |gment" . DSI%=.:|
00015a40  f2 6b 69 6c 6c 66 3a 46  55 53 45 25 3d 31 37 3a  |.killf:FUSE%=17:|
00015a50  46 55 53 54 25 3d 30 3a  f2 68 65 6c 70 3a f2 77  |FUST%=0:.help:.w|
00015a60  69 6e 64 6e 61 6d 65 28  32 2c 50 49 43 24 2b 22  |indname(2,PIC$+"|
00015a70  20 5b 77 69 72 65 20 73  65 67 6d 65 6e 74 5d 22  | [wire segment]"|
00015a80  29 0d 53 d4 82 e7 20 24  53 45 4c 25 3d 22 4d 61  |).S... $SEL%="Ma|
00015a90  6e 69 70 75 6c 61 74 65  2e 4d 6f 76 65 20 61 72  |nipulate.Move ar|
00015aa0  65 61 2e 2e 2e 22 20 8c  20 44 53 49 25 3d b9 3a  |ea..." . DSI%=.:|
00015ab0  f2 6b 69 6c 6c 66 3a f2  73 70 69 6e 69 74 3a 46  |.killf:.spinit:F|
00015ac0  55 53 45 25 3d 31 38 3a  46 55 53 54 25 3d 30 3a  |USE%=18:FUST%=0:|
00015ad0  f2 68 65 6c 70 3a f2 6f  70 65 6e 77 69 6e 64 28  |.help:.openwind(|
00015ae0  38 29 3a f2 77 69 6e 64  6e 61 6d 65 28 32 2c 50  |8):.windname(2,P|
00015af0  49 43 24 2b 22 20 5b 6d  6f 76 65 20 61 72 65 61  |IC$+" [move area|
00015b00  5d 22 29 0d 53 de 82 e7  20 24 53 45 4c 25 3d 22  |]").S... $SEL%="|
00015b10  4d 61 6e 69 70 75 6c 61  74 65 2e 43 6f 70 79 20  |Manipulate.Copy |
00015b20  61 72 65 61 2e 2e 2e 22  20 8c 20 44 53 49 25 3d  |area..." . DSI%=|
00015b30  b9 3a f2 6b 69 6c 6c 66  3a f2 73 70 69 6e 69 74  |.:.killf:.spinit|
00015b40  3a 46 55 53 45 25 3d 31  39 3a 46 55 53 54 25 3d  |:FUSE%=19:FUST%=|
00015b50  30 3a f2 68 65 6c 70 3a  f2 6f 70 65 6e 77 69 6e  |0:.help:.openwin|
00015b60  64 28 38 29 3a f2 77 69  6e 64 6e 61 6d 65 28 32  |d(8):.windname(2|
00015b70  2c 50 49 43 24 2b 22 20  5b 63 6f 70 79 20 61 72  |,PIC$+" [copy ar|
00015b80  65 61 5d 22 29 0d 53 e8  76 e7 20 24 53 45 4c 25  |ea]").S.v. $SEL%|
00015b90  3d 22 4d 61 6e 69 70 75  6c 61 74 65 2e 4d 69 72  |="Manipulate.Mir|
00015ba0  72 6f 72 20 61 72 65 61  22 20 8c 20 44 53 49 25  |ror area" . DSI%|
00015bb0  3d b9 3a f2 6b 69 6c 6c  66 3a f2 73 70 69 6e 69  |=.:.killf:.spini|
00015bc0  74 3a 46 55 53 45 25 3d  32 30 3a 46 55 53 54 25  |t:FUSE%=20:FUST%|
00015bd0  3d 30 3a f2 68 65 6c 70  3a f2 77 69 6e 64 6e 61  |=0:.help:.windna|
00015be0  6d 65 28 32 2c 50 49 43  24 2b 22 20 5b 6d 69 72  |me(2,PIC$+" [mir|
00015bf0  72 6f 72 20 61 72 65 61  5d 22 29 0d 53 f2 76 e7  |ror area]").S.v.|
00015c00  20 24 53 45 4c 25 3d 22  4d 61 6e 69 70 75 6c 61  | $SEL%="Manipula|
00015c10  74 65 2e 49 6e 76 65 72  74 20 61 72 65 61 22 20  |te.Invert area" |
00015c20  8c 20 44 53 49 25 3d b9  3a f2 6b 69 6c 6c 66 3a  |. DSI%=.:.killf:|
00015c30  f2 73 70 69 6e 69 74 3a  46 55 53 45 25 3d 32 31  |.spinit:FUSE%=21|
00015c40  3a 46 55 53 54 25 3d 30  3a f2 68 65 6c 70 3a f2  |:FUST%=0:.help:.|
00015c50  77 69 6e 64 6e 61 6d 65  28 32 2c 50 49 43 24 2b  |windname(2,PIC$+|
00015c60  22 20 5b 69 6e 76 65 72  74 20 61 72 65 61 5d 22  |" [invert area]"|
00015c70  29 0d 53 fc 6c e7 20 24  53 45 4c 25 3d 22 4d 61  |).S.l. $SEL%="Ma|
00015c80  6e 69 70 75 6c 61 74 65  2e 53 74 72 69 70 20 61  |nipulate.Strip a|
00015c90  72 65 61 22 20 8c 20 44  53 49 25 3d b9 3a f2 6b  |rea" . DSI%=.:.k|
00015ca0  69 6c 6c 66 3a 46 55 53  45 25 3d 32 32 3a 46 55  |illf:FUSE%=22:FU|
00015cb0  53 54 25 3d 30 3a f2 68  65 6c 70 3a f2 77 69 6e  |ST%=0:.help:.win|
00015cc0  64 6e 61 6d 65 28 32 2c  50 49 43 24 2b 22 20 5b  |dname(2,PIC$+" [|
00015cd0  73 74 72 69 70 20 61 72  65 61 5d 22 29 0d 54 06  |strip area]").T.|
00015ce0  88 e7 20 24 53 45 4c 25  3d 22 4d 61 6e 69 70 75  |.. $SEL%="Manipu|
00015cf0  6c 61 74 65 2e 53 63 61  6c 65 20 74 6f 20 66 69  |late.Scale to fi|
00015d00  74 2e 2e 2e 22 20 8c 20  44 53 49 25 3d b9 3a f2  |t..." . DSI%=.:.|
00015d10  6b 69 6c 6c 66 3a 46 55  53 45 25 3d 32 33 3a 46  |killf:FUSE%=23:F|
00015d20  55 53 54 25 3d 30 3a 46  55 43 4f 25 3d 30 3a f2  |UST%=0:FUCO%=0:.|
00015d30  68 65 6c 70 3a f2 6f 70  65 6e 77 69 6e 64 28 38  |help:.openwind(8|
00015d40  29 3a f2 77 69 6e 64 6e  61 6d 65 28 32 2c 50 49  |):.windname(2,PI|
00015d50  43 24 2b 22 20 5b 73 63  61 6c 65 20 74 6f 20 66  |C$+" [scale to f|
00015d60  69 74 5d 22 29 0d 54 10  3a e7 20 24 53 45 4c 25  |it]").T.:. $SEL%|
00015d70  3d 22 50 61 69 6e 74 2e  55 6e 73 65 74 20 74 72  |="Paint.Unset tr|
00015d80  61 6e 73 70 61 72 65 6e  74 73 22 20 8c 20 44 53  |ansparents" . DS|
00015d90  49 25 3d b9 3a f2 75 6e  73 65 74 72 61 73 70 0d  |I%=.:.unsetrasp.|
00015da0  54 1a 36 e7 20 24 53 45  4c 25 3d 22 50 61 69 6e  |T.6. $SEL%="Pain|
00015db0  74 2e 53 65 74 20 74 72  61 6e 73 70 61 72 65 6e  |t.Set transparen|
00015dc0  74 73 22 20 8c 20 44 53  49 25 3d b9 3a f2 73 65  |ts" . DSI%=.:.se|
00015dd0  74 72 61 73 70 0d 54 24  57 e7 20 24 53 45 4c 25  |trasp.T$W. $SEL%|
00015de0  3d 22 53 70 65 63 69 61  6c 2e 54 72 61 63 65 22  |="Special.Trace"|
00015df0  20 8c 20 44 53 49 25 3d  b9 3a f2 6b 69 6c 6c 66  | . DSI%=.:.killf|
00015e00  3a 46 55 53 45 25 3d 32  34 3a f2 68 65 6c 70 3a  |:FUSE%=24:.help:|
00015e10  f2 77 69 6e 64 6e 61 6d  65 28 32 2c 50 49 43 24  |.windname(2,PIC$|
00015e20  2b 22 20 5b 74 72 61 63  65 5d 22 29 0d 54 2e 30  |+" [trace]").T.0|
00015e30  e7 20 24 53 45 4c 25 3d  22 4f 70 74 69 6f 6e 73  |. $SEL%="Options|
00015e40  2e 48 65 6c 70 22 20 8c  20 44 53 49 25 3d b9 3a  |.Help" . DSI%=.:|
00015e50  f2 6f 70 65 6e 77 69 6e  64 28 39 29 0d 54 38 88  |.openwind(9).T8.|
00015e60  e7 20 24 53 45 4c 25 3d  22 4d 61 6e 69 70 75 6c  |. $SEL%="Manipul|
00015e70  61 74 65 2e 50 69 78 65  6c 20 6d 61 70 70 69 6e  |ate.Pixel mappin|
00015e80  67 22 20 8c 20 44 53 49  25 3d b9 3a f2 6b 69 6c  |g" . DSI%=.:.kil|
00015e90  6c 66 3a 46 55 53 45 25  3d 32 35 3a 46 55 53 54  |lf:FUSE%=25:FUST|
00015ea0  25 3d 30 3a 46 55 43 4f  25 3d 31 3a f2 68 65 6c  |%=0:FUCO%=1:.hel|
00015eb0  70 3a f2 77 69 6e 64 6e  61 6d 65 28 32 2c 50 49  |p:.windname(2,PI|
00015ec0  43 24 2b 22 20 5b 70 69  78 65 6c 20 6d 61 70 70  |C$+" [pixel mapp|
00015ed0  69 6e 67 5d 22 29 3a 4f  58 25 3d 2d 31 3a 4f 59  |ing]"):OX%=-1:OY|
00015ee0  25 3d 2d 31 0d 54 42 4b  f4 20 2d 2d 2d 2d 2d 2d  |%=-1.TBK. ------|
00015ef0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00015f20  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0d  |---------------.|
00015f30  54 4c 39 e7 20 53 45 4c  24 3d 22 50 61 69 6e 74  |TL9. SEL$="Paint|
00015f40  2e 4c 69 6e 65 20 73 74  79 6c 65 2e 53 6f 6c 69  |.Line style.Soli|
00015f50  64 20 6c 69 6e 65 22 20  8c 20 44 53 49 25 3d b9  |d line" . DSI%=.|
00015f60  3a 4c 49 54 59 25 3d 35  0d 54 56 46 e7 20 53 45  |:LITY%=5.TVF. SE|
00015f70  4c 24 3d 22 50 61 69 6e  74 2e 4c 69 6e 65 20 73  |L$="Paint.Line s|
00015f80  74 79 6c 65 2e 4c 69 6e  65 20 70 61 74 74 65 72  |tyle.Line patter|
00015f90  6e 2e 52 65 73 74 61 72  74 65 64 22 20 8c 20 44  |n.Restarted" . D|
00015fa0  53 49 25 3d b9 3a 4c 49  54 59 25 3d 32 31 0d 54  |SI%=.:LITY%=21.T|
00015fb0  60 47 e7 20 53 45 4c 24  3d 22 50 61 69 6e 74 2e  |`G. SEL$="Paint.|
00015fc0  4c 69 6e 65 20 73 74 79  6c 65 2e 4c 69 6e 65 20  |Line style.Line |
00015fd0  70 61 74 74 65 72 6e 2e  43 6f 6e 74 69 6e 75 6f  |pattern.Continuo|
00015fe0  75 73 22 20 8c 20 44 53  49 25 3d b9 3a 4c 49 54  |us" . DSI%=.:LIT|
00015ff0  59 25 3d 35 33 0d 54 6a  42 e7 20 53 45 4c 24 3d  |Y%=53.TjB. SEL$=|
00016000  22 50 61 69 6e 74 2e 4c  69 6e 65 20 73 74 79 6c  |"Paint.Line styl|
00016010  65 2e 4f 76 65 72 77 72  69 74 65 22 20 8c 20 44  |e.Overwrite" . D|
00016020  53 49 25 3d b9 3a 55 53  45 25 3d 28 55 53 45 25  |SI%=.:USE%=(USE%|
00016030  20 80 20 31 31 32 29 0d  54 74 3d e7 20 53 45 4c  | . 112).Tt=. SEL|
00016040  24 3d 22 50 61 69 6e 74  2e 4c 69 6e 65 20 73 74  |$="Paint.Line st|
00016050  79 6c 65 2e 4f 52 22 20  8c 20 44 53 49 25 3d b9  |yle.OR" . DSI%=.|
00016060  3a 55 53 45 25 3d 28 55  53 45 25 20 80 20 31 31  |:USE%=(USE% . 11|
00016070  32 29 2b 31 0d 54 7e 3e  e7 20 53 45 4c 24 3d 22  |2)+1.T~>. SEL$="|
00016080  50 61 69 6e 74 2e 4c 69  6e 65 20 73 74 79 6c 65  |Paint.Line style|
00016090  2e 41 4e 44 22 20 8c 20  44 53 49 25 3d b9 3a 55  |.AND" . DSI%=.:U|
000160a0  53 45 25 3d 28 55 53 45  25 20 80 20 31 31 32 29  |SE%=(USE% . 112)|
000160b0  2b 32 0d 54 88 3e e7 20  53 45 4c 24 3d 22 50 61  |+2.T.>. SEL$="Pa|
000160c0  69 6e 74 2e 4c 69 6e 65  20 73 74 79 6c 65 2e 45  |int.Line style.E|
000160d0  4f 52 22 20 8c 20 44 53  49 25 3d b9 3a 55 53 45  |OR" . DSI%=.:USE|
000160e0  25 3d 28 55 53 45 25 20  80 20 31 31 32 29 2b 33  |%=(USE% . 112)+3|
000160f0  0d 54 92 41 e7 20 53 45  4c 24 3d 22 50 61 69 6e  |.T.A. SEL$="Pain|
00016100  74 2e 4c 69 6e 65 20 73  74 79 6c 65 2e 49 6e 76  |t.Line style.Inv|
00016110  65 72 74 22 20 8c 20 44  53 49 25 3d b9 3a 55 53  |ert" . DSI%=.:US|
00016120  45 25 3d 28 55 53 45 25  20 80 20 31 31 32 29 2b  |E%=(USE% . 112)+|
00016130  34 0d 54 9c 3f e7 20 53  45 4c 24 3d 22 50 61 69  |4.T.?. SEL$="Pai|
00016140  6e 74 2e 4c 69 6e 65 20  73 74 79 6c 65 2e 4e 41  |nt.Line style.NA|
00016150  4e 44 22 20 8c 20 44 53  49 25 3d b9 3a 55 53 45  |ND" . DSI%=.:USE|
00016160  25 3d 28 55 53 45 25 20  80 20 31 31 32 29 2b 36  |%=(USE% . 112)+6|
00016170  0d 54 a6 3e e7 20 53 45  4c 24 3d 22 50 61 69 6e  |.T.>. SEL$="Pain|
00016180  74 2e 4c 69 6e 65 20 73  74 79 6c 65 2e 4e 4f 52  |t.Line style.NOR|
00016190  22 20 8c 20 44 53 49 25  3d b9 3a 55 53 45 25 3d  |" . DSI%=.:USE%=|
000161a0  28 55 53 45 25 20 80 20  31 31 32 29 2b 37 0d 54  |(USE% . 112)+7.T|
000161b0  b0 8e e7 20 53 45 4c 24  3d 22 50 61 69 6e 74 2e  |... SEL$="Paint.|
000161c0  4c 69 6e 65 20 73 74 79  6c 65 2e 45 43 46 20 31  |Line style.ECF 1|
000161d0  22 20 80 20 28 55 53 45  25 20 80 20 31 31 32 29  |" . (USE% . 112)|
000161e0  3d 31 36 20 8c 20 44 53  49 25 3d b9 3a 55 53 45  |=16 . DSI%=.:USE|
000161f0  25 3d 28 55 53 45 25 20  80 20 31 35 29 20 8b 20  |%=(USE% . 15) . |
00016200  e7 20 53 45 4c 24 3d 22  50 61 69 6e 74 2e 4c 69  |. SEL$="Paint.Li|
00016210  6e 65 20 73 74 79 6c 65  2e 45 43 46 20 31 22 20  |ne style.ECF 1" |
00016220  8c 20 44 53 49 25 3d b9  3a 55 53 45 25 3d 28 55  |. DSI%=.:USE%=(U|
00016230  53 45 25 20 80 20 31 35  29 2b 31 36 0d 54 ba 8e  |SE% . 15)+16.T..|
00016240  e7 20 53 45 4c 24 3d 22  50 61 69 6e 74 2e 4c 69  |. SEL$="Paint.Li|
00016250  6e 65 20 73 74 79 6c 65  2e 45 43 46 20 32 22 20  |ne style.ECF 2" |
00016260  80 20 28 55 53 45 25 20  80 20 31 31 32 29 3d 33  |. (USE% . 112)=3|
00016270  32 20 8c 20 44 53 49 25  3d b9 3a 55 53 45 25 3d  |2 . DSI%=.:USE%=|
00016280  28 55 53 45 25 20 80 20  31 35 29 20 8b 20 e7 20  |(USE% . 15) . . |
00016290  53 45 4c 24 3d 22 50 61  69 6e 74 2e 4c 69 6e 65  |SEL$="Paint.Line|
000162a0  20 73 74 79 6c 65 2e 45  43 46 20 32 22 20 8c 20  | style.ECF 2" . |
000162b0  44 53 49 25 3d b9 3a 55  53 45 25 3d 28 55 53 45  |DSI%=.:USE%=(USE|
000162c0  25 20 80 20 31 35 29 2b  33 32 0d 54 c4 8e e7 20  |% . 15)+32.T... |
000162d0  53 45 4c 24 3d 22 50 61  69 6e 74 2e 4c 69 6e 65  |SEL$="Paint.Line|
000162e0  20 73 74 79 6c 65 2e 45  43 46 20 33 22 20 80 20  | style.ECF 3" . |
000162f0  28 55 53 45 25 20 80 20  31 31 32 29 3d 34 38 20  |(USE% . 112)=48 |
00016300  8c 20 44 53 49 25 3d b9  3a 55 53 45 25 3d 28 55  |. DSI%=.:USE%=(U|
00016310  53 45 25 20 80 20 31 35  29 20 8b 20 e7 20 53 45  |SE% . 15) . . SE|
00016320  4c 24 3d 22 50 61 69 6e  74 2e 4c 69 6e 65 20 73  |L$="Paint.Line s|
00016330  74 79 6c 65 2e 45 43 46  20 33 22 20 8c 20 44 53  |tyle.ECF 3" . DS|
00016340  49 25 3d b9 3a 55 53 45  25 3d 28 55 53 45 25 20  |I%=.:USE%=(USE% |
00016350  80 20 31 35 29 2b 34 38  0d 54 ce 8e e7 20 53 45  |. 15)+48.T... SE|
00016360  4c 24 3d 22 50 61 69 6e  74 2e 4c 69 6e 65 20 73  |L$="Paint.Line s|
00016370  74 79 6c 65 2e 45 43 46  20 34 22 20 80 20 28 55  |tyle.ECF 4" . (U|
00016380  53 45 25 20 80 20 31 31  32 29 3d 36 34 20 8c 20  |SE% . 112)=64 . |
00016390  44 53 49 25 3d b9 3a 55  53 45 25 3d 28 55 53 45  |DSI%=.:USE%=(USE|
000163a0  25 20 80 20 31 35 29 20  8b 20 e7 20 53 45 4c 24  |% . 15) . . SEL$|
000163b0  3d 22 50 61 69 6e 74 2e  4c 69 6e 65 20 73 74 79  |="Paint.Line sty|
000163c0  6c 65 2e 45 43 46 20 34  22 20 8c 20 44 53 49 25  |le.ECF 4" . DSI%|
000163d0  3d b9 3a 55 53 45 25 3d  28 55 53 45 25 20 80 20  |=.:USE%=(USE% . |
000163e0  31 35 29 2b 36 34 0d 54  d8 96 e7 20 53 45 4c 24  |15)+64.T... SEL$|
000163f0  3d 22 50 61 69 6e 74 2e  4c 69 6e 65 20 73 74 79  |="Paint.Line sty|
00016400  6c 65 2e 47 69 61 6e 74  20 45 43 46 22 20 80 20  |le.Giant ECF" . |
00016410  28 55 53 45 25 20 80 20  31 31 32 29 3d 38 30 20  |(USE% . 112)=80 |
00016420  8c 20 44 53 49 25 3d b9  3a 55 53 45 25 3d 28 55  |. DSI%=.:USE%=(U|
00016430  53 45 25 20 80 20 31 35  29 20 8b 20 e7 20 53 45  |SE% . 15) . . SE|
00016440  4c 24 3d 22 50 61 69 6e  74 2e 4c 69 6e 65 20 73  |L$="Paint.Line s|
00016450  74 79 6c 65 2e 47 69 61  6e 74 20 45 43 46 22 20  |tyle.Giant ECF" |
00016460  8c 20 44 53 49 25 3d b9  3a 55 53 45 25 3d 28 55  |. DSI%=.:USE%=(U|
00016470  53 45 25 20 80 20 31 35  29 2b 38 30 0d 54 e2 4b  |SE% . 15)+80.T.K|
00016480  f4 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |. --------------|
00016490  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000164c0  2d 2d 2d 2d 2d 2d 2d 0d  54 ec 63 e7 20 53 45 4c  |-------.T.c. SEL|
000164d0  24 3d 22 50 61 69 6e 74  2e 46 69 6c 6c 2e 46 6c  |$="Paint.Fill.Fl|
000164e0  6f 6f 64 20 66 69 6c 6c  22 20 8c 20 44 53 49 25  |ood fill" . DSI%|
000164f0  3d b9 3a f2 6b 69 6c 6c  66 3a 46 55 53 45 25 3d  |=.:.killf:FUSE%=|
00016500  32 36 3a f2 68 65 6c 70  3a f2 77 69 6e 64 6e 61  |26:.help:.windna|
00016510  6d 65 28 32 2c 50 49 43  24 2b 22 20 5b 46 6c 6f  |me(2,PIC$+" [Flo|
00016520  6f 64 20 66 69 6c 6c 5d  22 29 0d 54 f6 6a e7 20  |od fill]").T.j. |
00016530  53 45 4c 24 3d 22 53 70  65 63 69 61 6c 2e 53 6d  |SEL$="Special.Sm|
00016540  75 64 67 65 20 61 72 65  61 22 20 8c 20 44 53 49  |udge area" . DSI|
00016550  25 3d b9 3a f2 6b 69 6c  6c 66 3a 46 55 53 45 25  |%=.:.killf:FUSE%|
00016560  3d 32 37 3a 46 55 53 54  25 3d 30 3a f2 68 65 6c  |=27:FUST%=0:.hel|
00016570  70 3a f2 77 69 6e 64 6e  61 6d 65 28 32 2c 50 49  |p:.windname(2,PI|
00016580  43 24 2b 22 20 5b 53 6d  75 64 67 65 20 61 72 65  |C$+" [Smudge are|
00016590  61 5d 22 29 0d 55 00 66  e7 20 53 45 4c 24 3d 22  |a]").U.f. SEL$="|
000165a0  53 70 65 63 69 61 6c 2e  54 69 6e 74 20 61 72 65  |Special.Tint are|
000165b0  61 22 20 8c 20 44 53 49  25 3d b9 3a f2 6b 69 6c  |a" . DSI%=.:.kil|
000165c0  6c 66 3a 46 55 53 45 25  3d 32 38 3a 46 55 53 54  |lf:FUSE%=28:FUST|
000165d0  25 3d 30 3a f2 68 65 6c  70 3a f2 77 69 6e 64 6e  |%=0:.help:.windn|
000165e0  61 6d 65 28 32 2c 50 49  43 24 2b 22 20 5b 54 69  |ame(2,PIC$+" [Ti|
000165f0  6e 74 20 61 72 65 61 5d  22 29 0d 55 0a 24 e7 20  |nt area]").U.$. |
00016600  24 53 45 4c 25 3d 22 53  70 65 63 69 61 6c 2e 57  |$SEL%="Special.W|
00016610  65 74 20 62 72 75 73 68  2e 2e 2e 22 20 8c 0d 55  |et brush..." ..U|
00016620  14 8d f2 6b 69 6c 6c 66  3a 44 53 49 25 3d b9 3a  |...killf:DSI%=.:|
00016630  f2 6f 70 65 6e 77 69 6e  64 28 35 29 3a 46 55 53  |.openwind(5):FUS|
00016640  45 25 3d 32 39 3a 46 55  53 54 25 3d 30 3a f2 68  |E%=29:FUST%=0:.h|
00016650  65 6c 70 3a f2 77 69 6e  64 6e 61 6d 65 28 32 2c  |elp:.windname(2,|
00016660  50 49 43 24 2b 22 20 5b  57 65 74 20 62 72 75 73  |PIC$+" [Wet brus|
00016670  68 5d 22 29 3a f2 73 70  69 6e 69 74 3a f2 73 70  |h]"):.spinit:.sp|
00016680  62 75 66 28 31 34 35 2a  31 30 32 34 29 3a e7 20  |buf(145*1024):. |
00016690  51 25 20 8c 20 f2 73 70  62 75 66 65 72 72 20 8b  |Q% . .spbuferr .|
000166a0  20 f2 62 61 63 6b 75 70  70 69 63 0d 55 1e 05 cd  | .backuppic.U...|
000166b0  0d 55 28 25 e7 20 24 53  45 4c 25 3d 22 53 70 65  |.U(%. $SEL%="Spe|
000166c0  63 69 61 6c 2e 54 69 6e  74 20 62 72 75 73 68 2e  |cial.Tint brush.|
000166d0  2e 2e 22 20 8c 0d 55 32  8e f2 6b 69 6c 6c 66 3a  |.." ..U2..killf:|
000166e0  44 53 49 25 3d b9 3a f2  6f 70 65 6e 77 69 6e 64  |DSI%=.:.openwind|
000166f0  28 35 29 3a 46 55 53 45  25 3d 33 30 3a 46 55 53  |(5):FUSE%=30:FUS|
00016700  54 25 3d 30 3a f2 68 65  6c 70 3a f2 77 69 6e 64  |T%=0:.help:.wind|
00016710  6e 61 6d 65 28 32 2c 50  49 43 24 2b 22 20 5b 74  |name(2,PIC$+" [t|
00016720  69 6e 74 20 62 72 75 73  68 5d 22 29 3a f2 73 70  |int brush]"):.sp|
00016730  69 6e 69 74 3a f2 73 70  62 75 66 28 31 34 35 2a  |init:.spbuf(145*|
00016740  31 30 32 34 29 3a e7 20  51 25 20 8c 20 f2 73 70  |1024):. Q% . .sp|
00016750  62 75 66 65 72 72 20 8b  20 f2 62 61 63 6b 75 70  |buferr . .backup|
00016760  70 69 63 0d 55 3c 05 cd  0d 55 46 51 e7 20 c0 28  |pic.U<...UFQ. .(|
00016770  24 53 45 4c 25 29 2c 35  29 3d 22 54 65 78 74 2e  |$SEL%),5)="Text.|
00016780  22 20 80 20 24 53 45 4c  25 3c 3e 22 54 65 78 74  |" . $SEL%<>"Text|
00016790  2e 50 61 72 61 6d 65 74  65 72 73 22 20 80 20 24  |.Parameters" . $|
000167a0  53 45 4c 25 3c 3e 22 54  65 78 74 2e 42 61 63 6b  |SEL%<>"Text.Back|
000167b0  67 72 6f 75 6e 64 22 20  8c 0d 55 50 34 f2 6b 69  |ground" ..UP4.ki|
000167c0  6c 6c 66 3a f2 73 70 69  6e 69 74 3a f2 73 70 62  |llf:.spinit:.spb|
000167d0  75 66 28 31 34 35 2a 31  30 32 34 29 3a e7 20 51  |uf(145*1024):. Q|
000167e0  25 20 8c 20 f2 73 70 62  75 66 65 72 72 0d 55 5a  |% . .spbuferr.UZ|
000167f0  24 f2 62 61 63 6b 75 70  70 69 63 3a 4f 58 25 3d  |$.backuppic:OX%=|
00016800  2d 31 3a 4f 59 25 3d 2d  31 3a 45 46 4d 25 3d 2d  |-1:OY%=-1:EFM%=-|
00016810  31 0d 55 64 75 44 53 49  25 3d b9 3a 46 55 53 45  |1.UduDSI%=.:FUSE|
00016820  25 3d 33 32 3a 46 55 53  54 25 3d 30 3a f2 6f 70  |%=32:FUST%=0:.op|
00016830  65 6e 77 69 6e 64 28 31  34 29 3a f2 68 65 6c 70  |enwind(14):.help|
00016840  3a f2 77 69 6e 64 6e 61  6d 65 28 32 2c 50 49 43  |:.windname(2,PIC|
00016850  24 2b 22 20 5b 54 65 78  74 5d 22 29 3a 46 4f 24  |$+" [Text]"):FO$|
00016860  3d c2 24 53 45 4c 25 2c  a9 28 24 53 45 4c 25 29  |=.$SEL%,.($SEL%)|
00016870  2d 35 29 3a f2 73 65 74  69 63 6f 6e 28 31 34 2c  |-5):.seticon(14,|
00016880  31 2c 46 4f 24 29 0d 55  6e 3b 46 4f 4e 54 25 3d  |1,FO$).Un;FONT%=|
00016890  30 3a e3 4c 25 3d 30 20  b8 20 46 4f 4e 54 53 25  |0:.L%=0 . FONTS%|
000168a0  3a e7 20 46 4f 24 3d 46  4f 4e 54 24 28 4c 25 29  |:. FO$=FONT$(L%)|
000168b0  20 8c 20 46 4f 4e 54 25  3d 4c 25 3a ed 20 8b 20  | . FONT%=L%:. . |
000168c0  ed 0d 55 78 05 cd 0d 55  82 44 e7 20 24 53 45 4c  |..Ux...U.D. $SEL|
000168d0  25 3d 22 4f 70 74 69 6f  6e 73 2e 4d 6f 75 73 65  |%="Options.Mouse|
000168e0  2e 58 20 6f 6e 6c 79 2e  56 65 72 79 20 66 61 73  |.X only.Very fas|
000168f0  74 22 20 8c 20 4d 4d 58  25 3d 34 3a c8 97 20 88  |t" . MMX%=4:.. .|
00016900  20 4d 4d 58 25 2c 4d 4d  59 25 0d 55 8c 3f e7 20  | MMX%,MMY%.U.?. |
00016910  24 53 45 4c 25 3d 22 4f  70 74 69 6f 6e 73 2e 4d  |$SEL%="Options.M|
00016920  6f 75 73 65 2e 58 20 6f  6e 6c 79 2e 46 61 73 74  |ouse.X only.Fast|
00016930  22 20 8c 20 4d 4d 58 25  3d 33 3a c8 97 20 88 20  |" . MMX%=3:.. . |
00016940  4d 4d 58 25 2c 4d 4d 59  25 0d 55 96 41 e7 20 24  |MMX%,MMY%.U.A. $|
00016950  53 45 4c 25 3d 22 4f 70  74 69 6f 6e 73 2e 4d 6f  |SEL%="Options.Mo|
00016960  75 73 65 2e 58 20 6f 6e  6c 79 2e 4d 65 64 69 75  |use.X only.Mediu|
00016970  6d 22 20 8c 20 4d 4d 58  25 3d 32 3a c8 97 20 88  |m" . MMX%=2:.. .|
00016980  20 4d 4d 58 25 2c 4d 4d  59 25 0d 55 a0 3f e7 20  | MMX%,MMY%.U.?. |
00016990  24 53 45 4c 25 3d 22 4f  70 74 69 6f 6e 73 2e 4d  |$SEL%="Options.M|
000169a0  6f 75 73 65 2e 58 20 6f  6e 6c 79 2e 53 6c 6f 77  |ouse.X only.Slow|
000169b0  22 20 8c 20 4d 4d 58 25  3d 31 3a c8 97 20 88 20  |" . MMX%=1:.. . |
000169c0  4d 4d 58 25 2c 4d 4d 59  25 0d 55 aa 44 e7 20 24  |MMX%,MMY%.U.D. $|
000169d0  53 45 4c 25 3d 22 4f 70  74 69 6f 6e 73 2e 4d 6f  |SEL%="Options.Mo|
000169e0  75 73 65 2e 59 20 6f 6e  6c 79 2e 56 65 72 79 20  |use.Y only.Very |
000169f0  66 61 73 74 22 20 8c 20  4d 4d 59 25 3d 34 3a c8  |fast" . MMY%=4:.|
00016a00  97 20 88 20 4d 4d 58 25  2c 4d 4d 59 25 0d 55 b4  |. . MMX%,MMY%.U.|
00016a10  3f e7 20 24 53 45 4c 25  3d 22 4f 70 74 69 6f 6e  |?. $SEL%="Option|
00016a20  73 2e 4d 6f 75 73 65 2e  59 20 6f 6e 6c 79 2e 46  |s.Mouse.Y only.F|
00016a30  61 73 74 22 20 8c 20 4d  4d 59 25 3d 33 3a c8 97  |ast" . MMY%=3:..|
00016a40  20 88 20 4d 4d 58 25 2c  4d 4d 59 25 0d 55 be 41  | . MMX%,MMY%.U.A|
00016a50  e7 20 24 53 45 4c 25 3d  22 4f 70 74 69 6f 6e 73  |. $SEL%="Options|
00016a60  2e 4d 6f 75 73 65 2e 59  20 6f 6e 6c 79 2e 4d 65  |.Mouse.Y only.Me|
00016a70  64 69 75 6d 22 20 8c 20  4d 4d 59 25 3d 32 3a c8  |dium" . MMY%=2:.|
00016a80  97 20 88 20 4d 4d 58 25  2c 4d 4d 59 25 0d 55 c8  |. . MMX%,MMY%.U.|
00016a90  3f e7 20 24 53 45 4c 25  3d 22 4f 70 74 69 6f 6e  |?. $SEL%="Option|
00016aa0  73 2e 4d 6f 75 73 65 2e  59 20 6f 6e 6c 79 2e 53  |s.Mouse.Y only.S|
00016ab0  6c 6f 77 22 20 8c 20 4d  4d 59 25 3d 31 3a c8 97  |low" . MMY%=1:..|
00016ac0  20 88 20 4d 4d 58 25 2c  4d 4d 59 25 0d 55 d2 49  | . MMX%,MMY%.U.I|
00016ad0  e7 20 24 53 45 4c 25 3d  22 4f 70 74 69 6f 6e 73  |. $SEL%="Options|
00016ae0  2e 4d 6f 75 73 65 2e 42  6f 74 68 2e 56 65 72 79  |.Mouse.Both.Very|
00016af0  20 66 61 73 74 22 20 8c  20 4d 4d 59 25 3d 34 3a  | fast" . MMY%=4:|
00016b00  4d 4d 58 25 3d 34 3a c8  97 20 88 20 4d 4d 58 25  |MMX%=4:.. . MMX%|
00016b10  2c 4d 4d 59 25 0d 55 dc  44 e7 20 24 53 45 4c 25  |,MMY%.U.D. $SEL%|
00016b20  3d 22 4f 70 74 69 6f 6e  73 2e 4d 6f 75 73 65 2e  |="Options.Mouse.|
00016b30  42 6f 74 68 2e 46 61 73  74 22 20 8c 20 4d 4d 59  |Both.Fast" . MMY|
00016b40  25 3d 33 3a 4d 4d 58 25  3d 33 3a c8 97 20 88 20  |%=3:MMX%=3:.. . |
00016b50  4d 4d 58 25 2c 4d 4d 59  25 0d 55 e6 46 e7 20 24  |MMX%,MMY%.U.F. $|
00016b60  53 45 4c 25 3d 22 4f 70  74 69 6f 6e 73 2e 4d 6f  |SEL%="Options.Mo|
00016b70  75 73 65 2e 42 6f 74 68  2e 4d 65 64 69 75 6d 22  |use.Both.Medium"|
00016b80  20 8c 20 4d 4d 59 25 3d  32 3a 4d 4d 58 25 3d 32  | . MMY%=2:MMX%=2|
00016b90  3a c8 97 20 88 20 4d 4d  58 25 2c 4d 4d 59 25 0d  |:.. . MMX%,MMY%.|
00016ba0  55 f0 44 e7 20 24 53 45  4c 25 3d 22 4f 70 74 69  |U.D. $SEL%="Opti|
00016bb0  6f 6e 73 2e 4d 6f 75 73  65 2e 42 6f 74 68 2e 53  |ons.Mouse.Both.S|
00016bc0  6c 6f 77 22 20 8c 20 4d  4d 59 25 3d 31 3a 4d 4d  |low" . MMY%=1:MM|
00016bd0  58 25 3d 31 3a c8 97 20  88 20 4d 4d 58 25 2c 4d  |X%=1:.. . MMX%,M|
00016be0  4d 59 25 0d 55 fa 29 e7  20 24 53 45 4c 25 3d 22  |MY%.U.). $SEL%="|
00016bf0  53 70 65 63 69 61 6c 2e  43 6f 6c 6f 75 72 20 72  |Special.Colour r|
00016c00  65 70 6c 61 63 65 2e 2e  2e 22 20 8c 0d 56 04 79  |eplace..." ..V.y|
00016c10  f2 6b 69 6c 6c 66 3a 44  53 49 25 3d b9 3a f2 6f  |.killf:DSI%=.:.o|
00016c20  70 65 6e 77 69 6e 64 28  31 38 29 3a 46 55 53 45  |penwind(18):FUSE|
00016c30  25 3d 33 33 3a 46 55 53  54 25 3d 30 3a f2 73 70  |%=33:FUST%=0:.sp|
00016c40  69 6e 69 74 3a f2 73 70  62 75 66 28 32 34 2a 31  |init:.spbuf(24*1|
00016c50  30 32 34 29 3a e7 20 51  25 20 8c 20 46 55 53 45  |024):. Q% . FUSE|
00016c60  25 3d 2d 31 3a f2 63 6c  6f 73 65 77 69 6e 64 28  |%=-1:.closewind(|
00016c70  31 38 29 3a f2 73 70 69  6e 69 74 3a f2 73 70 62  |18):.spinit:.spb|
00016c80  75 66 65 72 72 0d 56 0e  95 c8 99 20 22 48 6f 75  |uferr.V.... "Hou|
00016c90  72 67 6c 61 73 73 5f 4f  6e 22 3a e3 4c 25 3d 30  |rglass_On":.L%=0|
00016ca0  20 b8 20 32 32 35 39 36  20 88 20 34 3a 53 50 42  | . 22596 . 4:SPB|
00016cb0  55 46 25 21 4c 25 3d 4f  50 41 4c 25 21 4c 25 3a  |UF%!L%=OPAL%!L%:|
00016cc0  ed 3a e3 4c 25 3d 30 20  b8 20 32 35 35 3a 52 45  |.:.L%=0 . 255:RE|
00016cd0  50 53 25 3f 4c 25 3d 4c  25 3a ed 3a c8 99 20 22  |PS%?L%=L%:.:.. "|
00016ce0  48 6f 75 72 67 6c 61 73  73 5f 4f 66 66 22 3a f2  |Hourglass_Off":.|
00016cf0  77 69 6e 64 6e 61 6d 65  28 32 2c 50 49 43 24 2b  |windname(2,PIC$+|
00016d00  22 20 5b 43 6f 6c 6f 75  72 20 72 65 70 6c 61 63  |" [Colour replac|
00016d10  65 5d 22 29 3a f2 68 65  6c 70 0d 56 18 05 cd 0d  |e]"):.help.V....|
00016d20  56 22 8a e7 20 24 53 45  4c 25 3d 22 46 69 6c 65  |V".. $SEL%="File|
00016d30  2e 45 78 70 6f 72 74 22  20 8c 20 f2 6b 69 6c 6c  |.Export" . .kill|
00016d40  66 3a f2 73 65 74 69 63  6f 6e 28 37 2c 31 2c 22  |f:.seticon(7,1,"|
00016d50  45 78 70 6f 72 74 22 29  3a 44 53 49 25 3d b9 3a  |Export"):DSI%=.:|
00016d60  46 55 53 45 25 3d 33 35  3a 46 55 53 54 25 3d 30  |FUSE%=35:FUST%=0|
00016d70  3a f2 68 65 6c 70 3a f2  73 70 69 6e 69 74 3a f2  |:.help:.spinit:.|
00016d80  77 69 6e 64 6e 61 6d 65  28 32 2c 50 49 43 24 2b  |windname(2,PIC$+|
00016d90  22 20 5b 45 78 70 6f 72  74 5d 22 29 3a f2 6f 70  |" [Export]"):.op|
00016da0  65 6e 77 69 6e 64 28 38  29 0d 56 2c 86 e7 20 24  |enwind(8).V,.. $|
00016db0  53 45 4c 25 3d 22 50 61  69 6e 74 2e 46 69 6c 6c  |SEL%="Paint.Fill|
00016dc0  2e 50 61 74 74 65 72 6e  20 66 69 6c 6c 22 20 8c  |.Pattern fill" .|
00016dd0  20 f2 6b 69 6c 6c 66 3a  f2 77 69 6e 64 6e 61 6d  | .killf:.windnam|
00016de0  65 28 32 2c 50 49 43 24  2b 22 20 5b 50 61 74 74  |e(2,PIC$+" [Patt|
00016df0  65 72 6e 20 66 69 6c 6c  5d 22 29 3a 44 53 49 25  |ern fill]"):DSI%|
00016e00  3d b9 3a 46 55 53 45 25  3d 33 37 3a 46 55 53 54  |=.:FUSE%=37:FUST|
00016e10  25 3d 30 3a f2 68 65 6c  70 3a f2 73 70 69 6e 69  |%=0:.help:.spini|
00016e20  74 3a f2 6f 70 65 6e 77  69 6e 64 28 32 30 29 0d  |t:.openwind(20).|
00016e30  56 36 84 e7 20 24 53 45  4c 25 3d 22 53 70 65 63  |V6.. $SEL%="Spec|
00016e40  69 61 6c 2e 52 47 42 20  63 6f 6e 74 72 6f 6c 2e  |ial.RGB control.|
00016e50  2e 2e 22 20 8c 20 f2 6b  69 6c 6c 66 3a f2 77 69  |.." . .killf:.wi|
00016e60  6e 64 6e 61 6d 65 28 32  2c 50 49 43 24 2b 22 20  |ndname(2,PIC$+" |
00016e70  5b 52 47 42 20 63 6f 6e  74 72 6f 6c 5d 22 29 3a  |[RGB control]"):|
00016e80  44 53 49 25 3d b9 3a 46  55 53 45 25 3d 33 38 3a  |DSI%=.:FUSE%=38:|
00016e90  46 55 53 54 25 3d 30 3a  f2 68 65 6c 70 3a f2 73  |FUST%=0:.help:.s|
00016ea0  70 69 6e 69 74 3a f2 6f  70 65 6e 77 69 6e 64 28  |pinit:.openwind(|
00016eb0  32 31 29 0d 56 40 82 e7  20 24 53 45 4c 25 3d 22  |21).V@.. $SEL%="|
00016ec0  53 70 65 63 69 61 6c 2e  47 72 65 79 20 73 63 61  |Special.Grey sca|
00016ed0  6c 65 2e 2e 2e 22 20 8c  20 f2 6b 69 6c 6c 66 3a  |le..." . .killf:|
00016ee0  f2 77 69 6e 64 6e 61 6d  65 28 32 2c 50 49 43 24  |.windname(2,PIC$|
00016ef0  2b 22 20 5b 47 72 65 79  20 73 63 61 6c 65 5d 22  |+" [Grey scale]"|
00016f00  29 3a 44 53 49 25 3d b9  3a 46 55 53 45 25 3d 33  |):DSI%=.:FUSE%=3|
00016f10  39 3a 46 55 53 54 25 3d  30 3a f2 68 65 6c 70 3a  |9:FUST%=0:.help:|
00016f20  f2 73 70 69 6e 69 74 3a  f2 6f 70 65 6e 77 69 6e  |.spinit:.openwin|
00016f30  64 28 32 32 29 0d 56 4a  7e e7 20 24 53 45 4c 25  |d(22).VJ~. $SEL%|
00016f40  3d 22 53 70 65 63 69 61  6c 2e 50 69 78 65 6c 61  |="Special.Pixela|
00016f50  74 65 2e 2e 2e 22 20 8c  20 f2 6b 69 6c 6c 66 3a  |te..." . .killf:|
00016f60  f2 77 69 6e 64 6e 61 6d  65 28 32 2c 50 49 43 24  |.windname(2,PIC$|
00016f70  2b 22 20 5b 50 69 78 65  6c 61 74 65 5d 22 29 3a  |+" [Pixelate]"):|
00016f80  44 53 49 25 3d b9 3a 46  55 53 45 25 3d 34 30 3a  |DSI%=.:FUSE%=40:|
00016f90  46 55 53 54 25 3d 30 3a  f2 68 65 6c 70 3a f2 73  |FUST%=0:.help:.s|
00016fa0  70 69 6e 69 74 3a f2 6f  70 65 6e 77 69 6e 64 28  |pinit:.openwind(|
00016fb0  32 33 29 0d 56 54 7d e7  20 24 53 45 4c 25 3d 22  |23).VT}. $SEL%="|
00016fc0  4d 61 6e 69 70 75 6c 61  74 65 2e 52 6f 74 61 74  |Manipulate.Rotat|
00016fd0  65 2e 2e 2e 22 20 8c 20  f2 6b 69 6c 6c 66 3a f2  |e..." . .killf:.|
00016fe0  77 69 6e 64 6e 61 6d 65  28 32 2c 50 49 43 24 2b  |windname(2,PIC$+|
00016ff0  22 20 5b 52 6f 74 61 74  65 5d 22 29 3a 44 53 49  |" [Rotate]"):DSI|
00017000  25 3d b9 3a 46 55 53 45  25 3d 34 31 3a 46 55 53  |%=.:FUSE%=41:FUS|
00017010  54 25 3d 30 3a f2 68 65  6c 70 3a f2 73 70 69 6e  |T%=0:.help:.spin|
00017020  69 74 3a f2 6f 70 65 6e  77 69 6e 64 28 32 34 29  |it:.openwind(24)|
00017030  0d 56 5e 55 e7 20 24 53  45 4c 25 3d 22 4f 70 74  |.V^U. $SEL%="Opt|
00017040  69 6f 6e 73 2e 57 69 70  65 20 70 69 63 74 75 72  |ions.Wipe pictur|
00017050  65 22 20 8c 20 f2 6b 69  6c 6c 66 3a f2 77 69 6e  |e" . .killf:.win|
00017060  64 6e 61 6d 65 28 32 2c  50 49 43 24 29 3a 46 55  |dname(2,PIC$):FU|
00017070  53 45 25 3d 2d 31 3a f2  68 65 6c 70 3a f2 77 69  |SE%=-1:.help:.wi|
00017080  70 65 70 69 63 0d 56 68  38 e7 20 24 53 45 4c 25  |pepic.Vh8. $SEL%|
00017090  3d 22 4f 70 74 69 6f 6e  73 2e 43 75 72 73 6f 72  |="Options.Cursor|
000170a0  20 6b 65 79 73 22 20 8c  20 4b 55 4b 45 25 3d ac  | keys" . KUKE%=.|
000170b0  20 4b 55 4b 45 25 3a 44  53 49 25 3d b9 0d 56 72  | KUKE%:DSI%=..Vr|
000170c0  1f e7 20 44 53 49 25 20  80 20 4d 42 55 25 3d 31  |.. DSI% . MBU%=1|
000170d0  20 8c 20 f2 77 69 6e 64  6d 65 6e 75 0d 56 7c 05  | . .windmenu.V|.|
000170e0  e1 0d 56 86 04 0d 56 90  0d dd f2 77 69 70 65 70  |..V...V....wipep|
000170f0  69 63 0d 56 9a 43 21 49  4f 25 3d 35 3a 24 28 49  |ic.V.C!IO%=5:$(I|
00017100  4f 25 2b 34 29 3d 22 41  72 65 20 79 6f 75 20 73  |O%+4)="Are you s|
00017110  75 72 65 20 79 6f 75 20  77 61 6e 74 20 74 6f 20  |ure you want to |
00017120  77 69 70 65 20 74 68 65  20 70 69 63 74 75 72 65  |wipe the picture|
00017130  3f 22 2b bd 30 0d 56 a4  39 c8 99 20 22 57 69 6d  |?"+.0.V.9.. "Wim|
00017140  70 5f 52 65 70 6f 72 74  45 72 72 6f 72 22 2c 49  |p_ReportError",I|
00017150  4f 25 2c 25 31 31 30 31  31 2c 22 21 41 72 63 68  |O%,%11011,"!Arch|
00017160  72 6f 6d 65 22 2b bd 30  20 b8 20 2c 52 25 0d 56  |rome"+.0 . ,R%.V|
00017170  ae 13 e7 20 52 25 3d 30  20 8c 20 e5 20 8d 70 64  |... R%=0 . . .pd|
00017180  56 0d 56 b8 0e e7 20 52  25 3d 32 20 8c 20 e1 0d  |V.V... R%=2 . ..|
00017190  56 c2 33 f2 69 6e 70 69  63 3a ef 32 36 3a e6 30  |V.3.inpic:.26:.0|
000171a0  2c 31 32 38 20 c8 9c 20  30 3a da 3a f2 6f 75 74  |,128 .. 0:.:.out|
000171b0  70 69 63 3a f2 66 6f 72  63 65 64 72 61 77 6d 61  |pic:.forcedrawma|
000171c0  69 6e 0d 56 cc 05 e1 0d  56 d6 04 0d 56 e0 0c dd  |in.V....V...V...|
000171d0  a4 71 75 69 74 79 6e 0d  56 ea 37 21 49 4f 25 3d  |.quityn.V.7!IO%=|
000171e0  35 3a 24 28 49 4f 25 2b  34 29 3d 22 41 72 65 20  |5:$(IO%+4)="Are |
000171f0  79 6f 75 20 73 75 72 65  20 79 6f 75 20 77 61 6e  |you sure you wan|
00017200  74 20 74 6f 20 71 75 69  74 3f 22 2b bd 30 0d 56  |t to quit?"+.0.V|
00017210  f4 39 c8 99 20 22 57 69  6d 70 5f 52 65 70 6f 72  |.9.. "Wimp_Repor|
00017220  74 45 72 72 6f 72 22 2c  49 4f 25 2c 25 31 31 30  |tError",IO%,%110|
00017230  31 31 2c 22 21 41 72 63  68 72 6f 6d 65 22 2b bd  |11,"!Archrome"+.|
00017240  30 20 b8 20 2c 52 25 0d  56 fe 13 e7 20 52 25 3d  |0 . ,R%.V... R%=|
00017250  30 20 8c 20 e5 20 8d 60  74 56 0d 57 08 0b 3d 28  |0 . . .`tV.W..=(|
00017260  52 25 3d 31 29 0d 57 12  04 0d 57 1c 0c dd f2 69  |R%=1).W...W....i|
00017270  6d 70 6f 72 74 0d 57 26  56 41 24 3d a4 67 65 74  |mport.W&VA$=.get|
00017280  6e 61 6d 65 3a 42 4c 4b  25 21 31 32 3d 42 4c 4b  |name:BLK%!12=BLK|
00017290  25 21 38 3a 42 4c 4b 25  21 31 36 3d 34 3a 21 42  |%!8:BLK%!16=4:!B|
000172a0  4c 4b 25 3d 36 34 3a c8  99 20 22 57 69 6d 70 5f  |LK%=64:.. "Wimp_|
000172b0  53 65 6e 64 4d 65 73 73  61 67 65 22 2c 31 37 2c  |SendMessage",17,|
000172c0  42 4c 4b 25 2c 42 4c 4b  25 21 34 0d 57 30 36 f2  |BLK%,BLK%!4.W06.|
000172d0  6b 69 6c 6c 66 3a 46 55  53 45 25 3d 33 34 3a 46  |killf:FUSE%=34:F|
000172e0  55 53 54 25 3d 30 3a f2  6f 70 65 6e 77 69 6e 64  |UST%=0:.openwind|
000172f0  28 38 29 3a f2 68 65 6c  70 3a f2 73 70 69 6e 69  |(8):.help:.spini|
00017300  74 0d 57 3a 1b 46 25 3d  ad 28 41 24 29 3a 49 4d  |t.W:.F%=.(A$):IM|
00017310  53 25 3d a2 23 46 25 3a  d9 23 46 25 0d 57 44 43  |S%=.#F%:.#F%.WDC|
00017320  f2 73 70 62 75 66 28 49  4d 53 25 2b 36 34 29 3a  |.spbuf(IMS%+64):|
00017330  e7 20 51 25 20 8c 20 46  55 53 45 25 3d 2d 31 3a  |. Q% . FUSE%=-1:|
00017340  f2 63 6c 6f 73 65 77 69  6e 64 28 38 29 3a f2 73  |.closewind(8):.s|
00017350  70 69 6e 69 74 3a f2 73  70 62 75 66 65 72 72 0d  |pinit:.spbuferr.|
00017360  57 4e 64 c8 99 26 32 45  2c 32 36 36 2c 53 50 42  |WNd..&2E,266,SPB|
00017370  55 46 25 2c 41 24 3a c8  99 26 32 45 2c 32 36 39  |UF%,A$:..&2E,269|
00017380  2c 53 50 42 55 46 25 2c  49 4f 25 2c 31 36 2c 31  |,SPBUF%,IO%,16,1|
00017390  20 b8 20 2c 2c 2c 4c 25  3a 49 4d 50 24 3d 22 22  | . ,,,L%:IMP$=""|
000173a0  3a e3 4b 25 3d 30 20 b8  20 4c 25 2d 31 3a 49 4d  |:.K%=0 . L%-1:IM|
000173b0  50 24 3d 49 4d 50 24 2b  bd 28 49 4f 25 3f 4b 25  |P$=IMP$+.(IO%?K%|
000173c0  29 3a ed 0d 57 58 2e c8  99 26 32 45 2c 32 39 36  |):..WX...&2E,296|
000173d0  2c 53 50 42 55 46 25 2c  49 4d 50 24 20 b8 20 2c  |,SPBUF%,IMP$ . ,|
000173e0  2c 2c 49 4d 57 25 2c 49  4d 48 25 2c 2c 49 4d 4d  |,,IMW%,IMH%,,IMM|
000173f0  25 0d 57 62 17 c8 99 26  33 35 2c 49 4d 4d 25 2c  |%.Wb...&35,IMM%,|
00017400  34 20 b8 20 2c 2c 45 25  0d 57 6c 0d 50 57 49 25  |4 . ,,E%.Wl.PWI%|
00017410  3d 32 5e 45 25 0d 57 76  21 53 58 25 3d 32 5e 28  |=2^E%.Wv!SX%=2^(|
00017420  45 25 2d 31 29 3a 21 49  4f 25 3d 53 58 25 3a 49  |E%-1):!IO%=SX%:I|
00017430  4f 25 21 38 3d 31 0d 57  80 14 49 4f 25 21 34 3d  |O%!8=1.W..IO%!4=|
00017440  31 3a 49 4f 25 21 31 32  3d 31 0d 57 8a 27 4c 25  |1:IO%!12=1.W.'L%|
00017450  3d 28 53 50 42 55 46 25  2b 28 53 50 42 55 46 25  |=(SPBUF%+(SPBUF%|
00017460  21 38 29 29 3a e7 20 4c  25 21 33 32 3d 34 34 20  |!8)):. L%!32=44 |
00017470  8c 0d 57 94 0b 49 4d 50  41 25 3d 30 0d 57 9e 05  |..W..IMPA%=0.W..|
00017480  cc 0d 57 a8 43 49 4d 50  41 25 3d 4c 25 2b 34 34  |..W.CIMPA%=L%+44|
00017490  3a 4b 25 3d 34 38 3a 49  25 3d 35 32 3a c8 95 20  |:K%=48:I%=52:.. |
000174a0  49 25 3c 28 4c 25 21 33  32 29 3a 4c 25 21 4b 25  |I%<(L%!32):L%!K%|
000174b0  3d 4c 25 21 49 25 3a 49  25 2b 3d 38 3a 4b 25 2b  |=L%!I%:I%+=8:K%+|
000174c0  3d 34 3a ce 0d 57 b2 05  cd 0d 57 bc 56 e7 20 49  |=4:..W....W.V. I|
000174d0  4d 4d 25 3c 3e 31 35 20  84 20 49 4d 50 41 25 3c  |MM%<>15 . IMPA%<|
000174e0  3e 30 20 8c 20 c8 99 26  34 30 37 34 30 2c 49 4d  |>0 . ..&40740,IM|
000174f0  4d 25 2c 49 4d 50 41 25  2c 31 35 2c 30 2c 50 49  |M%,IMPA%,15,0,PI|
00017500  58 54 41 42 32 25 3a 49  4d 50 54 25 3d 50 49 58  |XTAB2%:IMPT%=PIX|
00017510  54 41 42 32 25 20 8b 20  49 4d 50 54 25 3d 30 0d  |TAB2% . IMPT%=0.|
00017520  57 c6 2c f2 77 69 6e 64  6e 61 6d 65 28 32 2c 50  |W.,.windname(2,P|
00017530  49 43 24 2b 22 20 5b 49  6d 70 6f 72 74 20 27 22  |IC$+" [Import '"|
00017540  2b 49 4d 50 24 2b 22 27  5d 22 29 0d 57 d0 1e 49  |+IMP$+"']").W..I|
00017550  4d 48 25 3d 49 4d 48 25  2a 34 3a 49 4d 57 25 3d  |MH%=IMH%*4:IMW%=|
00017560  49 4d 57 25 2a 50 57 49  25 0d 57 da 0d 47 52 4e  |IMW%*PWI%.W..GRN|
00017570  24 3d 49 4d 50 24 0d 57  e4 05 e1 0d 57 ee 04 0d  |$=IMP$.W....W...|
00017580  57 f8 13 dd f2 66 69 6c  6c 63 6f 6e 74 63 6c 69  |W....fillcontcli|
00017590  63 6b 0d 58 02 13 e7 20  4d 4f 55 49 43 25 3c 3e  |ck.X... MOUIC%<>|
000175a0  38 20 8c 20 e1 0d 58 0c  0c 47 52 46 4e 25 3d 2d  |8 . ..X..GRFN%=-|
000175b0  31 0d 58 16 1b e7 20 a4  68 69 67 68 28 31 37 2c  |1.X... .high(17,|
000175c0  31 29 20 8c 20 47 52 46  4e 25 3d 30 0d 58 20 1b  |1) . GRFN%=0.X .|
000175d0  e7 20 a4 68 69 67 68 28  31 37 2c 32 29 20 8c 20  |. .high(17,2) . |
000175e0  47 52 46 4e 25 3d 31 0d  58 2a 1b e7 20 a4 68 69  |GRFN%=1.X*.. .hi|
000175f0  67 68 28 31 37 2c 33 29  20 8c 20 47 52 46 4e 25  |gh(17,3) . GRFN%|
00017600  3d 32 0d 58 34 1b e7 20  a4 68 69 67 68 28 31 37  |=2.X4.. .high(17|
00017610  2c 34 29 20 8c 20 47 52  46 4e 25 3d 33 0d 58 3e  |,4) . GRFN%=3.X>|
00017620  1b e7 20 a4 68 69 67 68  28 31 37 2c 35 29 20 8c  |.. .high(17,5) .|
00017630  20 47 52 46 4e 25 3d 34  0d 58 48 46 e7 20 47 52  | GRFN%=4.XHF. GR|
00017640  46 4e 25 3d 2d 31 20 8c  20 f2 6d 65 73 73 61 67  |FN%=-1 . .messag|
00017650  65 28 30 2c 22 59 6f 75  20 6d 75 73 74 20 73 65  |e(0,"You must se|
00017660  6c 65 63 74 20 61 20 66  69 6c 6c 20 73 65 71 75  |lect a fill sequ|
00017670  65 6e 63 65 20 74 6f 20  75 73 65 2e 22 29 0d 58  |ence to use.").X|
00017680  52 10 e7 20 46 55 53 45  25 3d 33 31 20 8c 0d 58  |R.. FUSE%=31 ..X|
00017690  5c 16 e7 20 47 52 54 59  25 3d 31 20 8c 20 f2 6b  |\.. GRTY%=1 . .k|
000176a0  69 6c 6c 66 0d 58 66 05  cd 0d 58 70 0c 47 52 54  |illf.Xf...Xp.GRT|
000176b0  59 25 3d 2d 31 0d 58 7a  1b e7 20 a4 68 69 67 68  |Y%=-1.Xz.. .high|
000176c0  28 31 37 2c 36 29 20 8c  20 47 52 54 59 25 3d 30  |(17,6) . GRTY%=0|
000176d0  0d 58 84 23 e7 20 a4 68  69 67 68 28 31 37 2c 37  |.X.#. .high(17,7|
000176e0  29 20 8c 20 47 52 54 59  25 3d 31 3a 46 55 53 54  |) . GRTY%=1:FUST|
000176f0  25 3d 30 0d 58 8e 47 e7  20 47 52 54 59 25 3d 2d  |%=0.X.G. GRTY%=-|
00017700  31 20 8c 20 f2 6d 65 73  73 61 67 65 28 30 2c 22  |1 . .message(0,"|
00017710  59 6f 75 20 6d 75 73 74  20 73 65 6c 65 63 74 20  |You must select |
00017720  74 68 65 20 74 79 70 65  20 6f 66 20 66 69 6c 6c  |the type of fill|
00017730  20 74 6f 20 75 73 65 2e  22 29 0d 58 98 67 f2 6b  | to use.").X.g.k|
00017740  69 6c 6c 66 3a 46 55 53  45 25 3d 33 31 3a 46 55  |illf:FUSE%=31:FU|
00017750  53 54 25 3d 30 3a f2 68  65 6c 70 3a f2 77 69 6e  |ST%=0:.help:.win|
00017760  64 6e 61 6d 65 28 32 2c  50 49 43 24 2b 22 20 5b  |dname(2,PIC$+" [|
00017770  47 72 61 64 75 61 74 65  64 20 66 69 6c 6c 20 28  |Graduated fill (|
00017780  22 2b a4 66 69 6c 6c 64  65 74 28 47 52 46 4e 25  |"+.filldet(GRFN%|
00017790  2b 31 29 2b 22 29 5d 22  29 3a f2 73 70 69 6e 69  |+1)+")]"):.spini|
000177a0  74 0d 58 a2 17 e7 20 4d  4f 55 42 25 3d 34 20 8c  |t.X... MOUB%=4 .|
000177b0  20 f2 6d 65 6e 6f 66 66  0d 58 ac 05 e1 0d 58 b6  | .menoff.X....X.|
000177c0  04 0d 58 c0 21 dd f2 75  6e 73 65 74 72 61 73 70  |..X.!..unsetrasp|
000177d0  3a c8 99 20 22 48 6f 75  72 67 6c 61 73 73 5f 4f  |:.. "Hourglass_O|
000177e0  6e 22 0d 58 ca 0f e3 4c  25 3d 30 20 b8 20 32 35  |n".X...L%=0 . 25|
000177f0  35 0d 58 d4 1e e7 20 54  52 41 53 50 25 3f 4c 25  |5.X... TRASP%?L%|
00017800  3d 31 20 8c 20 f2 74 72  61 73 70 28 4c 25 29 0d  |=1 . .trasp(L%).|
00017810  58 de 05 ed 0d 58 e8 2a  f2 66 6f 72 63 65 64 72  |X....X.*.forcedr|
00017820  61 77 70 61 6c 28 50 41  4c 25 29 3a c8 99 20 22  |awpal(PAL%):.. "|
00017830  48 6f 75 72 67 6c 61 73  73 5f 4f 66 66 22 0d 58  |Hourglass_Off".X|
00017840  f2 05 e1 0d 58 fc 04 0d  59 06 1f dd f2 73 65 74  |....X...Y....set|
00017850  72 61 73 70 3a c8 99 20  22 48 6f 75 72 67 6c 61  |rasp:.. "Hourgla|
00017860  73 73 5f 4f 6e 22 0d 59  10 0f e3 4c 25 3d 30 20  |ss_On".Y...L%=0 |
00017870  b8 20 32 35 35 0d 59 1a  1e e7 20 54 52 41 53 50  |. 255.Y... TRASP|
00017880  25 3f 4c 25 3d 30 20 8c  20 f2 74 72 61 73 70 28  |%?L%=0 . .trasp(|
00017890  4c 25 29 0d 59 24 05 ed  0d 59 2e 2a f2 66 6f 72  |L%).Y$...Y.*.for|
000178a0  63 65 64 72 61 77 70 61  6c 28 50 41 4c 25 29 3a  |cedrawpal(PAL%):|
000178b0  c8 99 20 22 48 6f 75 72  67 6c 61 73 73 5f 4f 66  |.. "Hourglass_Of|
000178c0  66 22 0d 59 38 05 e1 0d  59 42 04 0d 59 4c 0c dd  |f".Y8...YB..YL..|
000178d0  f2 73 70 69 6e 69 74 0d  59 56 0d f2 73 70 62 75  |.spinit.YV..spbu|
000178e0  66 28 30 29 0d 59 60 05  e1 0d 59 6a 04 0d 59 74  |f(0).Y`...Yj..Yt|
000178f0  0d dd f2 73 65 74 67 72  69 63 0d 59 7e 18 f2 73  |...setgric.Y~..s|
00017900  65 74 69 63 6f 6e 28 36  2c 34 2c c3 47 52 57 49  |eticon(6,4,.GRWI|
00017910  25 29 0d 59 88 18 f2 73  65 74 69 63 6f 6e 28 36  |%).Y...seticon(6|
00017920  2c 35 2c c3 47 52 48 45  25 29 0d 59 92 5e 47 52  |,5,.GRHE%).Y.^GR|
00017930  42 58 25 3d bb 28 a4 67  65 74 69 63 6f 6e 28 36  |BX%=.(.geticon(6|
00017940  2c 31 32 29 29 3a e7 20  47 52 42 58 25 3e 47 52  |,12)):. GRBX%>GR|
00017950  57 49 25 20 8c 20 f5 3a  47 52 42 58 25 2d 3d 47  |WI% . .:GRBX%-=G|
00017960  52 57 49 25 3a fd 20 47  52 42 58 25 3c 47 52 57  |RWI%:. GRBX%<GRW|
00017970  49 25 3a f2 73 65 74 69  63 6f 6e 28 36 2c 31 32  |I%:.seticon(6,12|
00017980  2c c3 47 52 42 58 25 29  0d 59 9c 5e 47 52 42 59  |,.GRBX%).Y.^GRBY|
00017990  25 3d bb 28 a4 67 65 74  69 63 6f 6e 28 36 2c 31  |%=.(.geticon(6,1|
000179a0  33 29 29 3a e7 20 47 52  42 59 25 3e 47 52 48 45  |3)):. GRBY%>GRHE|
000179b0  25 20 8c 20 f5 3a 47 52  42 59 25 2d 3d 47 52 48  |% . .:GRBY%-=GRH|
000179c0  45 25 3a fd 20 47 52 42  59 25 3c 47 52 48 45 25  |E%:. GRBY%<GRHE%|
000179d0  3a f2 73 65 74 69 63 6f  6e 28 36 2c 31 33 2c c3  |:.seticon(6,13,.|
000179e0  47 52 42 59 25 29 0d 59  a6 05 e1 0d 59 b0 04 0d  |GRBY%).Y....Y...|
000179f0  59 ba 0e dd f2 7a 6f 6f  6d 73 69 7a 65 0d 59 c4  |Y....zoomsize.Y.|
00017a00  3e 21 42 4c 4b 25 3d 48  41 4e 44 25 28 32 29 3a  |>!BLK%=HAND%(2):|
00017a10  c8 99 20 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  |.. "Wimp_GetWind|
00017a20  6f 77 53 74 61 74 65 22  2c 2c 42 4c 4b 25 3a 57  |owState",,BLK%:W|
00017a30  49 46 25 3d 42 4c 4b 25  21 32 38 0d 59 ce 2e 21  |IF%=BLK%!28.Y..!|
00017a40  42 4c 4b 25 3d 48 41 4e  44 25 28 32 29 3a c8 99  |BLK%=HAND%(2):..|
00017a50  20 22 57 69 6d 70 5f 43  6c 6f 73 65 57 69 6e 64  | "Wimp_CloseWind|
00017a60  6f 77 22 2c 2c 42 4c 4b  25 0d 59 d8 5b 21 42 4c  |ow",,BLK%.Y.[!BL|
00017a70  4b 25 3d 30 3a 42 4c 4b  25 21 34 3d 2d 39 33 36  |K%=0:BLK%!4=-936|
00017a80  2a 5a 4f 4f 4d 25 3a 42  4c 4b 25 21 38 3d 31 32  |*ZOOM%:BLK%!8=12|
00017a90  33 36 2a 5a 4f 4f 4d 25  3a 42 4c 4b 25 21 31 32  |36*ZOOM%:BLK%!12|
00017aa0  3d 30 3a c8 99 20 22 57  69 6d 70 5f 53 65 74 45  |=0:.. "Wimp_SetE|
00017ab0  78 74 65 6e 74 22 2c 48  41 4e 44 25 28 32 29 2c  |xtent",HAND%(2),|
00017ac0  42 4c 4b 25 0d 59 e2 30  21 42 4c 4b 25 3d 48 41  |BLK%.Y.0!BLK%=HA|
00017ad0  4e 44 25 28 32 29 3a c8  99 20 22 57 69 6d 70 5f  |ND%(2):.. "Wimp_|
00017ae0  47 65 74 57 69 6e 64 6f  77 49 6e 66 6f 22 2c 2c  |GetWindowInfo",,|
00017af0  42 4c 4b 25 0d 59 ec 2d  42 4c 4b 25 21 32 38 3d  |BLK%.Y.-BLK%!28=|
00017b00  57 49 46 25 3a c8 99 20  22 57 69 6d 70 5f 4f 70  |WIF%:.. "Wimp_Op|
00017b10  65 6e 57 69 6e 64 6f 77  22 2c 2c 42 4c 4b 25 3a  |enWindow",,BLK%:|
00017b20  e1 0d 59 f6 04 0d 5a 00  4c dd a4 67 73 74 72 28  |..Y...Z.L..gstr(|
00017b30  41 44 25 29 3a 57 24 3d  22 22 3a e7 20 3f 41 44  |AD%):W$="":. ?AD|
00017b40  25 3c 33 32 20 8c 20 3d  57 24 20 8b 20 f5 3a 57  |%<32 . =W$ . .:W|
00017b50  24 3d 57 24 2b bd 28 3f  41 44 25 29 3a 41 44 25  |$=W$+.(?AD%):AD%|
00017b60  2b 3d 31 3a fd 20 3f 41  44 25 3c 33 32 3a 3d 57  |+=1:. ?AD%<32:=W|
00017b70  24 0d 5a 0a 04 0d 5a 14  6a dd a4 67 65 74 69 63  |$.Z...Z.j..getic|
00017b80  6f 6e 28 57 48 25 2c 49  43 25 29 3a 21 49 43 42  |on(WH%,IC%):!ICB|
00017b90  4c 4b 25 3d 48 41 4e 44  25 28 57 48 25 29 3a 49  |LK%=HAND%(WH%):I|
00017ba0  43 42 4c 4b 25 21 34 3d  49 43 25 3a c8 99 20 22  |CBLK%!4=IC%:.. "|
00017bb0  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
00017bc0  65 22 2c 2c 49 43 42 4c  4b 25 3a 3d a4 67 73 74  |e",,ICBLK%:=.gst|
00017bd0  72 28 21 28 49 43 42 4c  4b 25 2b 32 38 29 29 0d  |r(!(ICBLK%+28)).|
00017be0  5a 1e 04 0d 5a 28 a4 dd  f2 73 65 74 69 63 6f 6e  |Z...Z(...seticon|
00017bf0  28 57 48 25 2c 49 43 25  2c 53 45 54 24 29 3a 21  |(WH%,IC%,SET$):!|
00017c00  49 43 42 4c 4b 25 3d 48  41 4e 44 25 28 57 48 25  |ICBLK%=HAND%(WH%|
00017c10  29 3a 49 43 42 4c 4b 25  21 34 3d 49 43 25 3a c8  |):ICBLK%!4=IC%:.|
00017c20  99 20 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |. "Wimp_GetIconS|
00017c30  74 61 74 65 22 2c 2c 49  43 42 4c 4b 25 3a 49 43  |tate",,ICBLK%:IC|
00017c40  42 4c 4b 25 21 38 3d 30  3a 49 43 42 4c 4b 25 21  |BLK%!8=0:ICBLK%!|
00017c50  31 32 3d 30 3a 24 28 49  43 42 4c 4b 25 21 32 38  |12=0:$(ICBLK%!28|
00017c60  29 3d 53 45 54 24 3a c8  99 20 22 57 69 6d 70 5f  |)=SET$:.. "Wimp_|
00017c70  53 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 49  |SetIconState",,I|
00017c80  43 42 4c 4b 25 3a e1 0d  5a 32 04 0d 5a 3c 71 dd  |CBLK%:..Z2..Z<q.|
00017c90  a4 68 69 67 68 28 57 48  25 2c 49 43 25 29 3a 21  |.high(WH%,IC%):!|
00017ca0  49 43 42 4c 4b 25 3d 48  41 4e 44 25 28 57 48 25  |ICBLK%=HAND%(WH%|
00017cb0  29 3a 49 43 42 4c 4b 25  21 34 3d 49 43 25 3a c8  |):ICBLK%!4=IC%:.|
00017cc0  99 20 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |. "Wimp_GetIconS|
00017cd0  74 61 74 65 22 2c 2c 49  43 42 4c 4b 25 3a 3d 28  |tate",,ICBLK%:=(|
00017ce0  28 3f 28 49 43 42 4c 4b  25 2b 32 36 29 29 20 80  |(?(ICBLK%+26)) .|
00017cf0  20 25 31 30 30 30 30 30  29 3d 33 32 0d 5a 46 04  | %100000)=32.ZF.|
00017d00  0d 5a 50 18 dd f2 73 68  61 64 65 69 63 6f 6e 28  |.ZP...shadeicon(|
00017d10  57 48 25 2c 49 43 25 29  0d 5a 5a 23 21 49 43 42  |WH%,IC%).ZZ#!ICB|
00017d20  4c 4b 25 3d 48 41 4e 44  25 28 57 48 25 29 3a 49  |LK%=HAND%(WH%):I|
00017d30  43 42 4c 4b 25 21 34 3d  49 43 25 0d 5a 64 38 49  |CBLK%!4=IC%.Zd8I|
00017d40  43 42 4c 4b 25 21 38 3d  25 31 30 30 30 30 30 30  |CBLK%!8=%1000000|
00017d50  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
00017d60  3a 49 43 42 4c 4b 25 21  31 32 3d 49 43 42 4c 4b  |:ICBLK%!12=ICBLK|
00017d70  25 21 38 0d 5a 6e 22 c8  99 20 22 57 69 6d 70 5f  |%!8.Zn".. "Wimp_|
00017d80  53 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 49  |SetIconState",,I|
00017d90  43 42 4c 4b 25 0d 5a 78  05 e1 0d 5a 82 04 0d 5a  |CBLK%.Zx...Z...Z|
00017da0  8c 18 dd f2 63 6c 65 61  72 69 63 6f 6e 28 57 48  |....clearicon(WH|
00017db0  25 2c 49 43 25 29 0d 5a  96 23 21 49 43 42 4c 4b  |%,IC%).Z.#!ICBLK|
00017dc0  25 3d 48 41 4e 44 25 28  57 48 25 29 3a 49 43 42  |%=HAND%(WH%):ICB|
00017dd0  4c 4b 25 21 34 3d 49 43  25 0d 5a a0 31 49 43 42  |LK%!4=IC%.Z.1ICB|
00017de0  4c 4b 25 21 38 3d 30 3a  49 43 42 4c 4b 25 21 31  |LK%!8=0:ICBLK%!1|
00017df0  32 3d 25 31 30 30 30 30  30 30 30 30 30 30 30 30  |2=%1000000000000|
00017e00  30 30 30 30 30 30 30 30  30 30 0d 5a aa 22 c8 99  |0000000000.Z."..|
00017e10  20 22 57 69 6d 70 5f 53  65 74 49 63 6f 6e 53 74  | "Wimp_SetIconSt|
00017e20  61 74 65 22 2c 2c 49 43  42 4c 4b 25 0d 5a b4 05  |ate",,ICBLK%.Z..|
00017e30  e1 0d 5a be 04 0d 5a c8  5c dd f2 70 6f 69 6e 74  |..Z...Z.\..point|
00017e40  3a c8 99 20 22 57 69 6d  70 5f 47 65 74 50 6f 69  |:.. "Wimp_GetPoi|
00017e50  6e 74 65 72 49 6e 66 6f  22 2c 2c 50 4f 49 25 3a  |nterInfo",,POI%:|
00017e60  4d 4f 58 25 3d 21 50 4f  49 25 3a 4d 4f 59 25 3d  |MOX%=!POI%:MOY%=|
00017e70  50 4f 49 25 21 34 3a 4d  4f 42 25 3d 50 4f 49 25  |POI%!4:MOB%=POI%|
00017e80  21 38 3a 4d 4f 48 25 3d  50 4f 49 25 21 31 32 3a  |!8:MOH%=POI%!12:|
00017e90  e1 0d 5a d2 04 0d 5a dc  8e dd f2 77 69 6e 64 6e  |..Z...Z....windn|
00017ea0  61 6d 65 28 57 48 25 2c  53 45 54 24 29 3a 21 42  |ame(WH%,SET$):!B|
00017eb0  4c 4b 25 3d 48 41 4e 44  25 28 57 48 25 29 3a c8  |LK%=HAND%(WH%):.|
00017ec0  99 20 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |. "Wimp_GetWindo|
00017ed0  77 53 74 61 74 65 22 2c  2c 42 4c 4b 25 3a 57 49  |wState",,BLK%:WI|
00017ee0  46 25 3d 42 4c 4b 25 21  32 38 3a c8 99 20 22 57  |F%=BLK%!28:.. "W|
00017ef0  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 49 6e 66  |imp_GetWindowInf|
00017f00  6f 22 2c 2c 42 4c 4b 25  3a c8 99 22 57 69 6d 70  |o",,BLK%:.."Wimp|
00017f10  5f 43 6c 6f 73 65 57 69  6e 64 6f 77 22 2c 2c 42  |_CloseWindow",,B|
00017f20  4c 4b 25 0d 5a e6 43 41  44 25 3d 42 4c 4b 25 21  |LK%.Z.CAD%=BLK%!|
00017f30  37 36 3a 42 4c 4b 25 21  32 38 3d 57 49 46 25 3a  |76:BLK%!28=WIF%:|
00017f40  24 41 44 25 3d 53 45 54  24 3a c8 99 20 22 57 69  |$AD%=SET$:.. "Wi|
00017f50  6d 70 5f 4f 70 65 6e 57  69 6e 64 6f 77 22 2c 2c  |mp_OpenWindow",,|
00017f60  42 4c 4b 25 3a e1 0d 5a  f0 04 0d 5a fa 0d dd f2  |BLK%:..Z...Z....|
00017f70  64 72 61 67 66 69 6e 0d  5b 04 3a 46 24 3d a4 67  |dragfin.[.:F$=.g|
00017f80  65 74 69 63 6f 6e 28 44  52 41 47 25 2c 31 29 3a  |eticon(DRAG%,1):|
00017f90  54 24 3d 22 22 3a e7 20  a7 46 24 2c 22 2e 22 29  |T$="":. .F$,".")|
00017fa0  3d 30 20 8c 20 54 24 3d  46 24 3a e5 20 8d 50 62  |=0 . T$=F$:. .Pb|
00017fb0  5b 0d 5b 0e 1f e7 20 c2  46 24 2c 31 29 3d 22 2e  |[.[... .F$,1)=".|
00017fc0  22 20 8c 20 54 24 3d 22  22 3a e5 20 8d 50 62 5b  |" . T$="":. .Pb[|
00017fd0  0d 5b 18 34 4b 25 3d a9  28 46 24 29 3a f5 3a 54  |.[.4K%=.(F$):.:T|
00017fe0  24 3d c1 46 24 2c 4b 25  2c 31 29 2b 54 24 3a 4b  |$=.F$,K%,1)+T$:K|
00017ff0  25 2d 3d 31 3a fd 20 c1  46 24 2c 4b 25 2c 31 29  |%-=1:. .F$,K%,1)|
00018000  3d 22 2e 22 0d 5b 22 22  c8 99 20 22 57 69 6d 70  |=".".["".. "Wimp|
00018010  5f 47 65 74 50 6f 69 6e  74 65 72 49 6e 66 6f 22  |_GetPointerInfo"|
00018020  2c 2c 50 4f 49 25 0d 5b  2c 87 50 4f 49 25 21 32  |,,POI%.[,.POI%!2|
00018030  30 3d 36 34 3a 50 4f 49  25 21 33 32 3d 30 3a 50  |0=64:POI%!32=0:P|
00018040  4f 49 25 21 33 36 3d 31  3a 50 4f 49 25 21 34 30  |OI%!36=1:POI%!40|
00018050  3d 50 4f 49 25 21 31 32  3a 50 4f 49 25 21 34 34  |=POI%!12:POI%!44|
00018060  3d 50 4f 49 25 21 31 36  3a 50 4f 49 25 21 34 38  |=POI%!16:POI%!48|
00018070  3d 21 50 4f 49 25 3a 50  4f 49 25 21 35 32 3d 50  |=!POI%:POI%!52=P|
00018080  4f 49 25 21 34 3a 50 4f  49 25 21 35 36 3d 32 30  |OI%!4:POI%!56=20|
00018090  34 38 3a 50 4f 49 25 21  36 30 3d 26 35 35 36 3a  |48:POI%!60=&556:|
000180a0  24 28 50 4f 49 25 2b 36  34 29 3d 54 24 0d 5b 36  |$(POI%+64)=T$.[6|
000180b0  34 c8 99 20 22 57 69 6d  70 5f 53 65 6e 64 4d 65  |4.. "Wimp_SendMe|
000180c0  73 73 61 67 65 22 2c 31  37 2c 50 4f 49 25 2b 32  |ssage",17,POI%+2|
000180d0  30 2c 50 4f 49 25 21 31  32 2c 50 4f 49 25 21 31  |0,POI%!12,POI%!1|
000180e0  36 0d 5b 40 05 e1 0d 5b  4a 04 0d 5b 54 0f dd f2  |6.[@...[J..[T...|
000180f0  73 74 61 72 74 64 72 61  67 0d 5b 5e 25 c8 99 20  |startdrag.[^%.. |
00018100  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
00018110  74 61 74 65 22 2c 2c 42  4c 4b 25 2b 31 32 0d 5b  |tate",,BLK%+12.[|
00018120  68 43 58 25 3d 42 4c 4b  25 21 31 36 3a 59 25 3d  |hCX%=BLK%!16:Y%=|
00018130  42 4c 4b 25 21 32 38 3a  42 4c 4b 25 21 31 36 3d  |BLK%!28:BLK%!16=|
00018140  30 3a c8 99 20 22 57 69  6d 70 5f 47 65 74 49 63  |0:.. "Wimp_GetIc|
00018150  6f 6e 53 74 61 74 65 22  2c 2c 42 4c 4b 25 2b 31  |onState",,BLK%+1|
00018160  32 0d 5b 72 29 42 4c 4b  25 21 31 36 3d 35 3a 42  |2.[r)BLK%!16=5:B|
00018170  4c 4b 25 21 32 30 2b 3d  58 25 2d 32 3a 42 4c 4b  |LK%!20+=X%-2:BLK|
00018180  25 21 32 34 2b 3d 59 25  2d 34 0d 5b 7c 1d 42 4c  |%!24+=Y%-4.[|.BL|
00018190  4b 25 21 32 38 2b 3d 58  25 2b 32 3a 42 4c 4b 25  |K%!28+=X%+2:BLK%|
000181a0  21 33 32 2b 3d 59 25 0d  5b 86 58 42 4c 4b 25 21  |!32+=Y%.[.XBLK%!|
000181b0  33 36 3d 30 3a 42 4c 4b  25 21 34 30 3d 30 3a 42  |36=0:BLK%!40=0:B|
000181c0  4c 4b 25 21 34 34 3d 26  37 46 46 46 46 46 46 46  |LK%!44=&7FFFFFFF|
000181d0  3a 42 4c 4b 25 21 34 38  3d 26 37 46 46 46 46 46  |:BLK%!48=&7FFFFF|
000181e0  46 46 3a c8 99 20 22 57  69 6d 70 5f 44 72 61 67  |FF:.. "Wimp_Drag|
000181f0  42 6f 78 22 2c 2c 42 4c  4b 25 2b 31 32 3a e1 0d  |Box",,BLK%+12:..|
00018200  5b 90 04 0d 5b 9a 13 dd  f2 69 6e 6d 65 73 73 61  |[...[....inmessa|
00018210  67 65 28 4d 25 29 0d 5b  a4 0b c8 8e 20 4d 25 20  |ge(M%).[.... M% |
00018220  ca 0d 5b ae 0c c9 20 30  3a f2 64 69 65 0d 5b b8  |..[... 0:.die.[.|
00018230  11 c9 20 32 3a f2 64 72  61 67 73 61 76 65 0d 5b  |.. 2:.dragsave.[|
00018240  c2 28 c9 20 35 3a e7 20  42 4c 4b 25 21 31 32 3d  |.(. 5:. BLK%!12=|
00018250  30 20 80 20 42 4c 4b 25  21 34 30 3d 26 35 35 36  |0 . BLK%!40=&556|
00018260  20 f2 6c 6f 61 64 0d 5b  cc 4f c9 20 33 3a e7 20  | .load.[.O. 3:. |
00018270  42 4c 4b 25 21 31 32 3d  30 20 80 20 42 4c 4b 25  |BLK%!12=0 . BLK%|
00018280  21 34 30 3d 26 35 35 36  20 f2 6c 6f 61 64 20 8b  |!40=&556 .load .|
00018290  20 e7 20 42 4c 4b 25 21  31 32 3d 30 20 80 20 42  | . BLK%!12=0 . B|
000182a0  4c 4b 25 21 34 30 3d 26  46 46 39 20 8c 20 f2 69  |LK%!40=&FF9 . .i|
000182b0  6d 70 6f 72 74 0d 5b d6  07 cb 3a e1 0d 5b e0 04  |mport.[...:..[..|
000182c0  0d 5b ea 68 dd f2 73 61  76 65 6f 6b 3a 41 24 3d  |.[.h..saveok:A$=|
000182d0  a4 67 65 74 69 63 6f 6e  28 30 2c 31 29 3a e7 20  |.geticon(0,1):. |
000182e0  a7 41 24 2c 22 2e 22 29  3d 30 20 8c 20 f2 6d 65  |.A$,".")=0 . .me|
000182f0  73 73 61 67 65 28 34 2c  22 54 6f 20 73 61 76 65  |ssage(4,"To save|
00018300  2c 20 64 72 61 67 20 74  68 65 20 69 63 6f 6e 20  |, drag the icon |
00018310  74 6f 20 61 20 64 69 72  65 63 74 6f 72 79 20 76  |to a directory v|
00018320  69 65 77 65 72 2e 22 29  0d 5b f4 1d f4 20 2a 2a  |iewer.").[... **|
00018330  20 53 41 56 45 20 52 4f  55 54 49 4e 45 20 48 45  | SAVE ROUTINE HE|
00018340  52 45 20 2a 2a 0d 5b fe  0a e5 20 8d 40 4e 5c 0d  |RE **.[... .@N\.|
00018350  5c 08 05 e1 0d 5c 12 21  dd f2 64 72 61 67 73 61  |\....\.!..dragsa|
00018360  76 65 3a 41 24 3d a4 67  65 74 6e 61 6d 65 3a f2  |ve:A$=.getname:.|
00018370  6b 69 6c 6c 66 0d 5c 1c  16 e7 20 44 52 41 47 25  |killf.\... DRAG%|
00018380  3d 37 20 8c 20 e5 20 8d  70 4a 5c 0d 5c 26 14 f2  |=7 . . .pJ\.\&..|
00018390  73 65 74 69 63 6f 6e 28  30 2c 31 2c 41 24 29 0d  |seticon(0,1,A$).|
000183a0  5c 30 1b c8 99 20 22 57  69 6d 70 5f 43 72 65 61  |\0... "Wimp_Crea|
000183b0  74 65 4d 65 6e 75 22 2c  2d 31 0d 5c 3a 53 42 4c  |teMenu",-1.\:SBL|
000183c0  4b 25 21 31 32 3d 42 4c  4b 25 21 38 3a 42 4c 4b  |K%!12=BLK%!8:BLK|
000183d0  25 21 31 36 3d 33 3a 21  42 4c 4b 25 3d 36 34 3a  |%!16=3:!BLK%=64:|
000183e0  c8 99 20 22 57 69 6d 70  5f 53 65 6e 64 4d 65 73  |.. "Wimp_SendMes|
000183f0  73 61 67 65 22 2c 31 37  2c 42 4c 4b 25 2c 42 4c  |sage",17,BLK%,BL|
00018400  4b 25 21 32 30 2c 42 4c  4b 25 21 32 34 0d 5c 44  |K%!20,BLK%!24.\D|
00018410  1d f4 20 2a 2a 20 53 41  56 45 20 52 4f 55 54 49  |.. ** SAVE ROUTI|
00018420  4e 45 20 48 45 52 45 20  2a 2a 0d 5c 4e 25 f2 6b  |NE HERE **.\N%.k|
00018430  69 6c 6c 66 3a 46 55 53  45 25 3d 2d 31 3a c8 99  |illf:FUSE%=-1:..|
00018440  26 32 45 2c 32 36 38 2c  50 49 43 25 2c 41 24 0d  |&2E,268,PIC%,A$.|
00018450  5c 58 1b ff 28 22 53 45  54 54 59 50 45 20 22 2b  |\X..("SETTYPE "+|
00018460  41 24 2b 22 20 35 35 36  22 29 0d 5c 62 24 50 49  |A$+" 556").\b$PI|
00018470  43 24 3d a4 6c 65 61 66  28 41 24 29 3a f2 77 69  |C$=.leaf(A$):.wi|
00018480  6e 64 6e 61 6d 65 28 32  2c 50 49 43 24 29 0d 5c  |ndname(2,PIC$).\|
00018490  6c 05 e1 0d 5c 76 04 0d  5c 80 6e dd f2 73 70 72  |l...\v..\.n..spr|
000184a0  69 74 65 73 61 76 65 6f  6b 3a 41 24 3d a4 67 65  |itesaveok:A$=.ge|
000184b0  74 69 63 6f 6e 28 37 2c  31 29 3a e7 20 a7 41 24  |ticon(7,1):. .A$|
000184c0  2c 22 2e 22 29 3d 30 20  8c 20 f2 6d 65 73 73 61  |,".")=0 . .messa|
000184d0  67 65 28 34 2c 22 54 6f  20 73 61 76 65 2c 20 64  |ge(4,"To save, d|
000184e0  72 61 67 20 74 68 65 20  69 63 6f 6e 20 74 6f 20  |rag the icon to |
000184f0  61 20 64 69 72 65 63 74  6f 72 79 20 76 69 65 77  |a directory view|
00018500  65 72 2e 22 29 0d 5c 8a  14 f2 73 65 74 69 63 6f  |er.").\...setico|
00018510  6e 28 37 2c 31 2c 41 24  29 0d 5c 94 1b c8 99 20  |n(7,1,A$).\.... |
00018520  22 57 69 6d 70 5f 43 72  65 61 74 65 4d 65 6e 75  |"Wimp_CreateMenu|
00018530  22 2c 2d 31 0d 5c 9e 53  42 4c 4b 25 21 31 32 3d  |",-1.\.SBLK%!12=|
00018540  42 4c 4b 25 21 38 3a 42  4c 4b 25 21 31 36 3d 33  |BLK%!8:BLK%!16=3|
00018550  3a 21 42 4c 4b 25 3d 36  34 3a c8 99 20 22 57 69  |:!BLK%=64:.. "Wi|
00018560  6d 70 5f 53 65 6e 64 4d  65 73 73 61 67 65 22 2c  |mp_SendMessage",|
00018570  31 37 2c 42 4c 4b 25 2c  42 4c 4b 25 21 32 30 2c  |17,BLK%,BLK%!20,|
00018580  42 4c 4b 25 21 32 34 0d  5c a8 1d f4 20 2a 2a 20  |BLK%!24.\... ** |
00018590  53 41 56 45 20 52 4f 55  54 49 4e 45 20 48 45 52  |SAVE ROUTINE HER|
000185a0  45 20 2a 2a 0d 5c b2 2e  e7 20 a9 28 a4 6c 65 61  |E **.\... .(.lea|
000185b0  66 28 41 24 29 29 3e 31  30 20 8c 20 f2 6d 65 73  |f(A$))>10 . .mes|
000185c0  73 61 67 65 28 39 2c 22  42 61 64 20 6e 61 6d 65  |sage(9,"Bad name|
000185d0  22 29 0d 5c bc 78 e7 20  46 55 53 45 25 3d 33 35  |").\.x. FUSE%=35|
000185e0  20 8c 20 c8 99 26 32 45  2c 32 38 32 2c 53 50 42  | . ..&2E,282,SPB|
000185f0  55 46 25 2c 22 47 52 41  42 22 2c a4 6c 65 61 66  |UF%,"GRAB",.leaf|
00018600  28 41 24 29 3a c8 99 26  32 45 2c 32 36 38 2c 53  |(A$):..&2E,268,S|
00018610  50 42 55 46 25 2c 41 24  3a 46 55 53 54 25 3d 30  |PBUF%,A$:FUST%=0|
00018620  3a f2 63 6c 6f 73 65 77  69 6e 64 28 37 29 3a f2  |:.closewind(7):.|
00018630  73 70 69 6e 69 74 20 8b  20 c8 99 26 32 45 2c 32  |spinit . ..&2E,2|
00018640  36 38 2c 50 49 43 25 2c  41 24 0d 5c c6 05 e1 0d  |68,PIC%,A$.\....|
00018650  5c d0 04 0d 5c da 4b dd  a4 67 65 74 6e 61 6d 65  |\...\.K..getname|
00018660  3a 57 24 3d 22 22 3a 50  25 3d 42 4c 4b 25 2b 34  |:W$="":P%=BLK%+4|
00018670  34 3a c8 95 20 3f 50 25  3c 3e 30 20 80 20 3f 50  |4:.. ?P%<>0 . ?P|
00018680  25 3c 3e 31 33 3a 57 24  3d 57 24 2b bd 28 3f 50  |%<>13:W$=W$+.(?P|
00018690  25 29 3a 50 25 2b 3d 31  3a ce 3a 3d 57 24 0d 5c  |%):P%+=1:.:=W$.\|
000186a0  e4 04 0d 5c ee 0a dd f2  6c 6f 61 64 0d 5c f8 56  |...\....load.\.V|
000186b0  41 24 3d a4 67 65 74 6e  61 6d 65 3a 42 4c 4b 25  |A$=.getname:BLK%|
000186c0  21 31 32 3d 42 4c 4b 25  21 38 3a 42 4c 4b 25 21  |!12=BLK%!8:BLK%!|
000186d0  31 36 3d 34 3a 21 42 4c  4b 25 3d 36 34 3a c8 99  |16=4:!BLK%=64:..|
000186e0  20 22 57 69 6d 70 5f 53  65 6e 64 4d 65 73 73 61  | "Wimp_SendMessa|
000186f0  67 65 22 2c 31 37 2c 42  4c 4b 25 2c 42 4c 4b 25  |ge",17,BLK%,BLK%|
00018700  21 34 0d 5d 02 14 f2 73  65 74 69 63 6f 6e 28 30  |!4.]...seticon(0|
00018710  2c 31 2c 41 24 29 0d 5d  0c 1d f4 20 2a 2a 20 4c  |,1,A$).]... ** L|
00018720  4f 41 44 20 52 4f 55 54  49 4e 45 20 48 45 52 45  |OAD ROUTINE HERE|
00018730  20 2a 2a 0d 5d 16 13 f2  6b 69 6c 6c 66 3a 46 55  | **.]...killf:FU|
00018740  53 45 25 3d 2d 31 0d 5d  20 20 ff 28 22 4c 4f 41  |SE%=-1.]  .("LOA|
00018750  44 20 22 2b 41 24 2b 22  20 22 2b c3 7e 28 50 49  |D "+A$+" "+.~(PI|
00018760  43 25 2b 34 29 29 0d 5d  2a 0a f2 6b 69 6c 6c 66  |C%+4)).]*..killf|
00018770  0d 5d 34 24 50 49 43 24  3d a4 6c 65 61 66 28 41  |.]4$PIC$=.leaf(A|
00018780  24 29 3a f2 77 69 6e 64  6e 61 6d 65 28 32 2c 50  |$):.windname(2,P|
00018790  49 43 24 29 0d 5d 3e 12  f2 66 6f 72 63 65 64 72  |IC$).]>..forcedr|
000187a0  61 77 6d 61 69 6e 0d 5d  48 05 e1 0d 5d 52 04 0d  |awmain.]H...]R..|
000187b0  5d 5c 0b dd f2 63 68 61  72 73 0d 5d 66 1f ef 32  |]\...chars.]f..2|
000187c0  33 2c 32 34 38 2c 30 2c  30 2c 30 2c 32 35 35 2c  |3,248,0,0,0,255,|
000187d0  32 35 35 2c 30 2c 30 2c  30 0d 5d 70 23 ef 32 33  |255,0,0,0.]p#.23|
000187e0  2c 32 34 39 2c 30 2c 30  2c 31 32 36 2c 32 35 35  |,249,0,0,126,255|
000187f0  2c 32 35 35 2c 31 32 36  2c 30 2c 30 0d 5d 7a 25  |,255,126,0,0.]z%|
00018800  ef 32 33 2c 32 35 30 2c  30 2c 36 30 2c 31 32 36  |.23,250,0,60,126|
00018810  2c 32 35 35 2c 32 35 35  2c 31 32 36 2c 36 30 2c  |,255,255,126,60,|
00018820  30 0d 5d 84 29 ef 32 33  2c 32 35 31 2c 36 30 2c  |0.].).23,251,60,|
00018830  31 32 36 2c 32 35 35 2c  32 35 35 2c 32 35 35 2c  |126,255,255,255,|
00018840  32 35 35 2c 31 32 36 2c  36 30 0d 5d 8e 27 ef 32  |255,126,60.].'.2|
00018850  33 2c 32 35 32 2c 32 34  2c 36 30 2c 31 32 36 2c  |3,252,24,60,126,|
00018860  31 32 36 2c 31 32 36 2c  31 32 36 2c 36 30 2c 32  |126,126,126,60,2|
00018870  34 0d 5d 98 23 ef 32 33  2c 32 35 33 2c 32 34 2c  |4.].#.23,253,24,|
00018880  36 30 2c 36 30 2c 36 30  2c 36 30 2c 36 30 2c 36  |60,60,60,60,60,6|
00018890  30 2c 32 34 0d 5d a2 23  ef 32 33 2c 32 35 34 2c  |0,24.].#.23,254,|
000188a0  32 34 2c 32 34 2c 32 34  2c 32 34 2c 32 34 2c 32  |24,24,24,24,24,2|
000188b0  34 2c 32 34 2c 32 34 0d  5d ac 05 e1 0d 5d b6 04  |4,24,24.]....]..|
000188c0  0d 5d c0 0f dd f2 62 61  63 6b 75 70 70 69 63 0d  |.]....backuppic.|
000188d0  5d ca 0e 21 56 41 52 53  3d 50 49 43 25 0d 5d d4  |]..!VARS=PIC%.].|
000188e0  11 56 41 52 53 21 34 3d  53 50 42 55 46 25 0d 5d  |.VARS!4=SPBUF%.]|
000188f0  de 0b 41 25 3d 56 41 52  53 0d 5d e8 0f d6 20 62  |..A%=VARS.]... b|
00018900  61 63 6b 75 70 70 69 63  0d 5d f2 05 e1 0d 5d fc  |ackuppic.]....].|
00018910  04 0d 5e 06 0e dd f2 66  69 6c 6c 6d 61 73 6b 0d  |..^....fillmask.|
00018920  5e 10 11 56 41 52 53 21  38 3d 53 50 42 55 46 25  |^..VARS!8=SPBUF%|
00018930  0d 5e 1a 12 56 41 52 53  21 31 32 3d 54 52 41 53  |.^..VARS!12=TRAS|
00018940  50 25 0d 5e 24 10 56 41  52 53 21 31 36 3d 42 54  |P%.^$.VARS!16=BT|
00018950  43 25 0d 5e 2e 0b 41 25  3d 56 41 52 53 0d 5e 38  |C%.^..A%=VARS.^8|
00018960  0e d6 20 66 69 6c 6c 6d  61 73 6b 0d 5e 42 05 e1  |.. fillmask.^B..|
00018970  0d 5e 4c 04 0d 5e 56 0e  dd a4 6c 65 61 66 28 46  |.^L..^V...leaf(F|
00018980  24 29 0d 5e 60 16 e7 20  a7 46 24 2c 22 2e 22 29  |$).^`.. .F$,".")|
00018990  3d 30 20 8c 20 3d 46 24  0d 5e 6a 09 54 24 3d 22  |=0 . =F$.^j.T$="|
000189a0  22 0d 5e 74 0b 4c 50 25  3d a9 46 24 0d 5e 7e 16  |".^t.LP%=.F$.^~.|
000189b0  c8 95 20 c1 46 24 2c 4c  50 25 2c 31 29 3c 3e 22  |.. .F$,LP%,1)<>"|
000189c0  2e 22 0d 5e 88 14 54 24  3d c1 46 24 2c 4c 50 25  |.".^..T$=.F$,LP%|
000189d0  2c 31 29 2b 54 24 0d 5e  92 0a 4c 50 25 2d 3d 31  |,1)+T$.^..LP%-=1|
000189e0  0d 5e 9c 05 ce 0d 5e a6  07 3d 54 24 0d 5e b0 04  |.^....^..=T$.^..|
000189f0  0d 5e ba 10 dd f2 73 70  62 75 66 28 42 53 25 29  |.^....spbuf(BS%)|
00018a00  0d 5e c4 2b e7 20 42 53  25 3d 30 20 8c 20 c8 99  |.^.+. BS%=0 . ..|
00018a10  20 22 57 69 6d 70 5f 53  6c 6f 74 53 69 7a 65 22  | "Wimp_SlotSize"|
00018a20  2c 43 55 53 4c 25 2c 2d  31 3a e1 0d 5e ce 23 c8  |,CUSL%,-1:..^.#.|
00018a30  99 20 22 57 69 6d 70 5f  53 6c 6f 74 53 69 7a 65  |. "Wimp_SlotSize|
00018a40  22 2c 43 55 53 4c 25 2b  42 53 25 2c 2d 31 0d 5e  |",CUSL%+BS%,-1.^|
00018a50  d8 23 c8 99 20 22 57 69  6d 70 5f 53 6c 6f 74 53  |.#.. "Wimp_SlotS|
00018a60  69 7a 65 22 2c 2d 31 2c  2d 31 20 b8 20 53 50 4c  |ize",-1,-1 . SPL|
00018a70  25 0d 5e e2 4c e7 20 53  50 4c 25 3c 28 43 55 53  |%.^.L. SPL%<(CUS|
00018a80  4c 25 2b 42 53 25 29 20  8c 20 c8 99 20 22 57 69  |L%+BS%) . .. "Wi|
00018a90  6d 70 5f 53 6c 6f 74 53  69 7a 65 22 2c 43 55 53  |mp_SlotSize",CUS|
00018aa0  4c 25 2c 2d 31 3a 53 50  4e 45 25 3d 42 53 25 3a  |L%,-1:SPNE%=BS%:|
00018ab0  51 25 3d b9 3a e1 20 8b  20 51 25 3d a3 0d 5e ec  |Q%=.:. . Q%=..^.|
00018ac0  0f 21 53 50 42 55 46 25  3d 42 53 25 0d 5e f6 0f  |.!SPBUF%=BS%.^..|
00018ad0  53 50 42 55 46 25 21 38  3d 31 36 0d 5f 00 14 c8  |SPBUF%!8=16._...|
00018ae0  99 26 32 45 2c 32 36 35  2c 53 50 42 55 46 25 0d  |.&2E,265,SPBUF%.|
00018af0  5f 0a 0e 53 50 53 49 5a  25 3d 42 53 25 0d 5f 14  |_..SPSIZ%=BS%._.|
00018b00  05 e1 0d 5f 1e 04 0d 5f  28 7c dd f2 73 70 62 75  |..._..._(|..spbu|
00018b10  66 65 72 72 3a f2 6b 69  6c 6c 66 3a 46 55 53 54  |ferr:.killf:FUST|
00018b20  25 3d 2d 31 3a 46 55 53  45 25 3d 2d 31 3a f2 77  |%=-1:FUSE%=-1:.w|
00018b30  69 6e 64 6e 61 6d 65 28  32 2c 50 49 43 24 29 3a  |indname(2,PIC$):|
00018b40  f2 6d 65 73 73 61 67 65  28 30 2c 22 4e 6f 20 72  |.message(0,"No r|
00018b50  6f 6f 6d 20 74 6f 20 73  74 6f 72 65 20 73 70 72  |oom to store spr|
00018b60  69 74 65 2e 20 28 22 2b  c3 28 53 50 4e 45 25 29  |ite. ("+.(SPNE%)|
00018b70  2b 22 20 62 79 74 65 73  20 6e 65 65 64 65 64 29  |+" bytes needed)|
00018b80  22 29 0d 5f 32 04 0d 5f  3c 1d dd a4 73 70 72 69  |")._2.._<...spri|
00018b90  74 65 73 69 7a 65 28 44  58 25 2c 44 59 25 2c 50  |tesize(DX%,DY%,P|
00018ba0  4c 25 29 0d 5f 46 21 44  58 25 3d 94 28 44 58 25  |L%)._F!DX%=.(DX%|
00018bb0  29 20 81 20 32 3a 44 59  25 3d 94 28 44 59 25 29  |) . 2:DY%=.(DY%)|
00018bc0  20 81 20 34 0d 5f 50 27  e7 20 28 44 58 25 20 83  | . 4._P'. (DX% .|
00018bd0  20 34 29 3e 30 20 8c 20  44 58 25 3d 28 28 44 58  | 4)>0 . DX%=((DX|
00018be0  25 20 81 20 34 29 2b 31  29 2a 34 0d 5f 5a 0b 44  |% . 4)+1)*4._Z.D|
00018bf0  58 25 2b 3d 31 36 0d 5f  64 1b 3d 28 44 58 25 2a  |X%+=16._d.=(DX%*|
00018c00  44 59 25 2a 28 50 4c 25  2b 31 29 29 2b 31 30 32  |DY%*(PL%+1))+102|
00018c10  34 0d 5f 6e 04 0d 5f 78  0a dd f2 68 65 6c 70 0d  |4._n.._x...help.|
00018c20  5f 82 36 f2 73 65 74 69  63 6f 6e 28 39 2c 30 2c  |_.6.seticon(9,0,|
00018c30  22 22 29 3a f2 73 65 74  69 63 6f 6e 28 39 2c 31  |""):.seticon(9,1|
00018c40  2c 22 22 29 3a f2 73 65  74 69 63 6f 6e 28 39 2c  |,""):.seticon(9,|
00018c50  32 2c 22 22 29 0d 5f 8c  0e c8 8e 20 46 55 53 45  |2,"")._.... FUSE|
00018c60  25 20 ca 0d 5f 96 08 c9  20 30 3a 0d 5f a0 5c f2  |% .._... 0:._.\.|
00018c70  73 65 74 69 63 6f 6e 28  39 2c 30 2c 22 43 6c 69  |seticon(9,0,"Cli|
00018c80  63 6b 20 53 45 4c 45 43  54 20 6f 76 65 72 20 61  |ck SELECT over a|
00018c90  20 70 69 78 65 6c 20 74  6f 20 63 68 61 6e 67 65  | pixel to change|
00018ca0  20 69 74 73 20 63 6f 6c  6f 75 72 20 74 6f 20 74  | its colour to t|
00018cb0  68 65 20 63 75 72 72 65  6e 74 6c 79 20 73 65 6c  |he currently sel|
00018cc0  65 63 74 65 64 22 29 0d  5f aa 18 f2 73 65 74 69  |ected")._...seti|
00018cd0  63 6f 6e 28 39 2c 31 2c  22 6f 6e 65 2e 22 29 0d  |con(9,1,"one.").|
00018ce0  5f b4 08 c9 20 31 3a 0d  5f be 5d f2 73 65 74 69  |_... 1:._.].seti|
00018cf0  63 6f 6e 28 39 2c 30 2c  22 48 6f 6c 64 20 64 6f  |con(9,0,"Hold do|
00018d00  77 6e 20 53 45 4c 45 43  54 20 77 68 69 6c 65 20  |wn SELECT while |
00018d10  6d 6f 76 69 6e 67 20 74  68 65 20 6d 6f 75 73 65  |moving the mouse|
00018d20  20 74 6f 20 64 72 61 77  20 66 72 65 65 68 61 6e  | to draw freehan|
00018d30  64 20 69 6e 20 74 68 65  20 63 75 72 72 65 6e 74  |d in the current|
00018d40  6c 79 22 29 0d 5f c8 24  f2 73 65 74 69 63 6f 6e  |ly")._.$.seticon|
00018d50  28 39 2c 31 2c 22 73 65  6c 65 63 74 65 64 20 63  |(9,1,"selected c|
00018d60  6f 6c 6f 75 72 2e 22 29  0d 5f d2 08 c9 20 32 3a  |olour.")._... 2:|
00018d70  0d 5f dc 5c f2 73 65 74  69 63 6f 6e 28 39 2c 30  |._.\.seticon(9,0|
00018d80  2c 22 50 6f 69 6e 74 20  74 6f 20 74 68 65 20 73  |,"Point to the s|
00018d90  74 61 72 74 20 6f 66 20  74 68 65 20 6c 69 6e 65  |tart of the line|
00018da0  20 61 6e 64 20 63 6c 69  63 6b 20 53 45 4c 45 43  | and click SELEC|
00018db0  54 2c 20 70 6f 69 6e 74  20 74 6f 20 74 68 65 20  |T, point to the |
00018dc0  65 6e 64 20 6f 66 20 74  68 65 22 29 0d 5f e6 59  |end of the")._.Y|
00018dd0  f2 73 65 74 69 63 6f 6e  28 39 2c 31 2c 22 6c 69  |.seticon(9,1,"li|
00018de0  6e 65 20 61 6e 64 20 63  6c 69 63 6b 20 53 45 4c  |ne and click SEL|
00018df0  45 43 54 20 61 67 61 69  6e 20 74 6f 20 66 69 78  |ECT again to fix|
00018e00  2e 20 43 6c 69 63 6b 69  6e 67 20 41 44 4a 55 53  |. Clicking ADJUS|
00018e10  54 20 77 69 6c 6c 20 61  6c 6c 6f 77 20 79 6f 75  |T will allow you|
00018e20  20 74 6f 22 29 0d 5f f0  35 f2 73 65 74 69 63 6f  | to")._.5.setico|
00018e30  6e 28 39 2c 32 2c 22 72  65 70 6f 73 69 74 69 6f  |n(9,2,"repositio|
00018e40  6e 20 74 68 65 20 73 74  61 72 74 20 6f 66 20 74  |n the start of t|
00018e50  68 65 20 6c 69 6e 65 2e  22 29 0d 5f fa 08 c9 20  |he line.")._... |
00018e60  33 3a 0d 60 04 58 f2 73  65 74 69 63 6f 6e 28 39  |3:.`.X.seticon(9|
00018e70  2c 30 2c 22 53 65 74 20  74 68 65 20 64 65 6e 73  |,0,"Set the dens|
00018e80  69 74 79 20 61 6e 64 20  73 70 72 65 61 64 20 77  |ity and spread w|
00018e90  69 74 68 20 74 68 65 20  63 6f 6e 74 72 6f 6c 20  |ith the control |
00018ea0  77 69 6e 64 6f 77 20 74  68 65 6e 20 63 6c 69 63  |window then clic|
00018eb0  6b 20 6f 6e 20 74 68 65  22 29 0d 60 0e 3d f2 73  |k on the").`.=.s|
00018ec0  65 74 69 63 6f 6e 28 39  2c 31 2c 22 70 69 63 74  |eticon(9,1,"pict|
00018ed0  75 72 65 20 74 6f 20 73  70 72 61 79 20 77 69 74  |ure to spray wit|
00018ee0  68 20 74 68 65 20 63 75  72 72 65 6e 74 20 63 6f  |h the current co|
00018ef0  6c 6f 75 72 2e 22 29 0d  60 18 08 c9 20 34 3a 0d  |lour.").`... 4:.|
00018f00  60 22 57 f2 73 65 74 69  63 6f 6e 28 39 2c 30 2c  |`"W.seticon(9,0,|
00018f10  22 53 65 74 20 74 68 65  20 62 72 75 73 68 20 73  |"Set the brush s|
00018f20  68 61 70 65 20 61 6e 64  20 73 63 61 6c 65 20 77  |hape and scale w|
00018f30  69 74 68 20 74 68 65 20  63 6f 6e 74 72 6f 6c 20  |ith the control |
00018f40  77 69 6e 64 6f 77 20 74  68 65 6e 20 63 6c 69 63  |window then clic|
00018f50  6b 20 6f 6e 22 29 0d 60  2c 29 f2 73 65 74 69 63  |k on").`,).setic|
00018f60  6f 6e 28 39 2c 31 2c 22  74 68 65 20 70 69 63 74  |on(9,1,"the pict|
00018f70  75 72 65 20 74 6f 20 70  61 69 6e 74 2e 22 29 0d  |ure to paint.").|
00018f80  60 36 08 c9 20 35 3a 0d  60 40 5a f2 73 65 74 69  |`6.. 5:.`@Z.seti|
00018f90  63 6f 6e 28 39 2c 30 2c  22 50 6f 69 6e 74 20 74  |con(9,0,"Point t|
00018fa0  6f 20 6f 6e 65 20 63 6f  72 6e 65 72 20 6f 66 20  |o one corner of |
00018fb0  74 68 65 20 72 65 63 74  61 6e 67 6c 65 20 61 6e  |the rectangle an|
00018fc0  64 20 63 6c 69 63 6b 2e  20 4d 6f 76 65 20 74 6f  |d click. Move to|
00018fd0  20 74 68 65 20 64 69 61  67 6f 6e 61 6c 6c 79 22  | the diagonally"|
00018fe0  29 0d 60 4a 59 f2 73 65  74 69 63 6f 6e 28 39 2c  |).`JY.seticon(9,|
00018ff0  31 2c 22 6f 70 6f 73 69  74 65 20 63 6f 72 6e 65  |1,"oposite corne|
00019000  72 20 61 6e 64 20 63 6c  69 63 6b 20 61 67 61 69  |r and click agai|
00019010  6e 20 74 6f 20 66 69 78  2e 20 43 6c 69 63 6b 69  |n to fix. Clicki|
00019020  6e 67 20 41 44 4a 55 53  54 20 77 69 6c 6c 20 61  |ng ADJUST will a|
00019030  6c 6c 6f 77 20 79 6f 75  22 29 0d 60 54 33 f2 73  |llow you").`T3.s|
00019040  65 74 69 63 6f 6e 28 39  2c 32 2c 22 74 6f 20 72  |eticon(9,2,"to r|
00019050  65 70 6f 73 69 74 69 6f  6e 20 74 68 65 20 66 69  |eposition the fi|
00019060  72 73 74 20 63 6f 72 6e  65 72 2e 22 29 0d 60 5e  |rst corner.").`^|
00019070  08 c9 20 36 3a 0d 60 68  5a f2 73 65 74 69 63 6f  |.. 6:.`hZ.setico|
00019080  6e 28 39 2c 30 2c 22 50  6f 69 6e 74 20 74 6f 20  |n(9,0,"Point to |
00019090  6f 6e 65 20 63 6f 72 6e  65 72 20 6f 66 20 74 68  |one corner of th|
000190a0  65 20 72 65 63 74 61 6e  67 6c 65 20 61 6e 64 20  |e rectangle and |
000190b0  63 6c 69 63 6b 2e 20 4d  6f 76 65 20 74 6f 20 74  |click. Move to t|
000190c0  68 65 20 64 69 61 67 6f  6e 61 6c 6c 79 22 29 0d  |he diagonally").|
000190d0  60 72 59 f2 73 65 74 69  63 6f 6e 28 39 2c 31 2c  |`rY.seticon(9,1,|
000190e0  22 6f 70 6f 73 69 74 65  20 63 6f 72 6e 65 72 20  |"oposite corner |
000190f0  61 6e 64 20 63 6c 69 63  6b 20 61 67 61 69 6e 20  |and click again |
00019100  74 6f 20 66 69 78 2e 20  43 6c 69 63 6b 69 6e 67  |to fix. Clicking|
00019110  20 41 44 4a 55 53 54 20  77 69 6c 6c 20 61 6c 6c  | ADJUST will all|
00019120  6f 77 20 79 6f 75 22 29  0d 60 7c 33 f2 73 65 74  |ow you").`|3.set|
00019130  69 63 6f 6e 28 39 2c 32  2c 22 74 6f 20 72 65 70  |icon(9,2,"to rep|
00019140  6f 73 69 74 69 6f 6e 20  74 68 65 20 66 69 72 73  |osition the firs|
00019150  74 20 63 6f 72 6e 65 72  2e 22 29 0d 60 86 08 c9  |t corner.").`...|
00019160  20 37 3a 0d 60 90 59 f2  73 65 74 69 63 6f 6e 28  | 7:.`.Y.seticon(|
00019170  39 2c 30 2c 22 50 6f 69  6e 74 20 74 6f 20 74 68  |9,0,"Point to th|
00019180  65 20 63 65 6e 74 72 65  20 6f 66 20 74 68 65 20  |e centre of the |
00019190  63 69 72 63 6c 65 20 61  6e 64 20 63 6c 69 63 6b  |circle and click|
000191a0  2e 20 4d 6f 76 65 20 74  6f 20 61 6e 79 20 70 6f  |. Move to any po|
000191b0  69 6e 74 20 6f 6e 20 74  68 65 22 29 0d 60 9a 5f  |int on the").`._|
000191c0  f2 73 65 74 69 63 6f 6e  28 39 2c 31 2c 22 63 69  |.seticon(9,1,"ci|
000191d0  72 63 75 6d 66 72 65 6e  63 65 20 74 6f 20 73 65  |rcumfrence to se|
000191e0  74 20 74 68 65 20 73 69  7a 65 20 61 6e 64 20 63  |t the size and c|
000191f0  6c 69 63 6b 20 61 67 61  69 6e 20 74 6f 20 66 69  |lick again to fi|
00019200  78 2e 20 43 6c 69 63 6b  69 6e 67 20 41 44 4a 55  |x. Clicking ADJU|
00019210  53 54 20 61 6c 6c 6f 77  73 22 29 0d 60 a4 37 f2  |ST allows").`.7.|
00019220  73 65 74 69 63 6f 6e 28  39 2c 32 2c 22 79 6f 75  |seticon(9,2,"you|
00019230  20 74 6f 20 72 65 70 6f  73 69 74 69 6f 6e 20 74  | to reposition t|
00019240  68 65 20 63 65 6e 74 72  65 20 70 6f 69 6e 74 2e  |he centre point.|
00019250  22 29 0d 60 ae 08 c9 20  38 3a 0d 60 b8 59 f2 73  |").`... 8:.`.Y.s|
00019260  65 74 69 63 6f 6e 28 39  2c 30 2c 22 50 6f 69 6e  |eticon(9,0,"Poin|
00019270  74 20 74 6f 20 74 68 65  20 63 65 6e 74 72 65 20  |t to the centre |
00019280  6f 66 20 74 68 65 20 63  69 72 63 6c 65 20 61 6e  |of the circle an|
00019290  64 20 63 6c 69 63 6b 2e  20 4d 6f 76 65 20 74 6f  |d click. Move to|
000192a0  20 61 6e 79 20 70 6f 69  6e 74 20 6f 6e 20 74 68  | any point on th|
000192b0  65 22 29 0d 60 c2 5f f2  73 65 74 69 63 6f 6e 28  |e").`._.seticon(|
000192c0  39 2c 31 2c 22 63 69 72  63 75 6d 66 72 65 6e 63  |9,1,"circumfrenc|
000192d0  65 20 74 6f 20 73 65 74  20 74 68 65 20 73 69 7a  |e to set the siz|
000192e0  65 20 61 6e 64 20 63 6c  69 63 6b 20 61 67 61 69  |e and click agai|
000192f0  6e 20 74 6f 20 66 69 78  2e 20 43 6c 69 63 6b 69  |n to fix. Clicki|
00019300  6e 67 20 41 44 4a 55 53  54 20 61 6c 6c 6f 77 73  |ng ADJUST allows|
00019310  22 29 0d 60 cc 37 f2 73  65 74 69 63 6f 6e 28 39  |").`.7.seticon(9|
00019320  2c 32 2c 22 79 6f 75 20  74 6f 20 72 65 70 6f 73  |,2,"you to repos|
00019330  69 74 69 6f 6e 20 74 68  65 20 63 65 6e 74 72 65  |ition the centre|
00019340  20 70 6f 69 6e 74 2e 22  29 0d 60 d6 08 c9 20 39  | point.").`... 9|
00019350  3a 0d 60 e0 5c f2 73 65  74 69 63 6f 6e 28 39 2c  |:.`.\.seticon(9,|
00019360  30 2c 22 50 6f 69 6e 74  20 74 6f 20 74 68 65 20  |0,"Point to the |
00019370  66 69 72 73 74 20 76 65  72 74 65 78 20 61 6e 64  |first vertex and|
00019380  20 63 6c 69 63 6b 2e 20  4d 6f 76 65 20 74 6f 20  | click. Move to |
00019390  74 68 65 20 73 65 63 6f  6e 64 20 76 65 72 74 65  |the second verte|
000193a0  78 20 61 6e 64 20 63 6c  69 63 6b 22 29 0d 60 ea  |x and click").`.|
000193b0  5c f2 73 65 74 69 63 6f  6e 28 39 2c 31 2c 22 61  |\.seticon(9,1,"a|
000193c0  67 61 69 6e 2e 20 4d 6f  76 65 20 74 6f 20 74 68  |gain. Move to th|
000193d0  65 20 66 69 6e 61 6c 20  6f 6e 65 20 61 6e 64 20  |e final one and |
000193e0  63 6c 69 63 6b 20 61 67  61 69 6e 20 74 6f 20 66  |click again to f|
000193f0  69 78 2e 20 41 44 4a 55  53 54 20 77 69 6c 6c 20  |ix. ADJUST will |
00019400  6c 65 74 20 79 6f 75 22  29 0d 60 f4 20 f2 73 65  |let you").`. .se|
00019410  74 69 63 6f 6e 28 39 2c  32 2c 22 73 74 61 72 74  |ticon(9,2,"start|
00019420  20 61 67 61 69 6e 2e 22  29 0d 60 fe 09 c9 20 31  | again.").`... 1|
00019430  30 3a 0d 61 08 5c f2 73  65 74 69 63 6f 6e 28 39  |0:.a.\.seticon(9|
00019440  2c 30 2c 22 50 6f 69 6e  74 20 74 6f 20 74 68 65  |,0,"Point to the|
00019450  20 66 69 72 73 74 20 76  65 72 74 65 78 20 61 6e  | first vertex an|
00019460  64 20 63 6c 69 63 6b 2e  20 4d 6f 76 65 20 74 6f  |d click. Move to|
00019470  20 74 68 65 20 73 65 63  6f 6e 64 20 76 65 72 74  | the second vert|
00019480  65 78 20 61 6e 64 20 63  6c 69 63 6b 22 29 0d 61  |ex and click").a|
00019490  12 5c f2 73 65 74 69 63  6f 6e 28 39 2c 31 2c 22  |.\.seticon(9,1,"|
000194a0  61 67 61 69 6e 2e 20 4d  6f 76 65 20 74 6f 20 74  |again. Move to t|
000194b0  68 65 20 66 69 6e 61 6c  20 6f 6e 65 20 61 6e 64  |he final one and|
000194c0  20 63 6c 69 63 6b 20 61  67 61 69 6e 20 74 6f 20  | click again to |
000194d0  66 69 78 2e 20 41 44 4a  55 53 54 20 77 69 6c 6c  |fix. ADJUST will|
000194e0  20 6c 65 74 20 79 6f 75  22 29 0d 61 1c 20 f2 73  | let you").a. .s|
000194f0  65 74 69 63 6f 6e 28 39  2c 32 2c 22 73 74 61 72  |eticon(9,2,"star|
00019500  74 20 61 67 61 69 6e 2e  22 29 0d 61 26 09 c9 20  |t again.").a&.. |
00019510  31 31 3a 0d 61 30 5b f2  73 65 74 69 63 6f 6e 28  |11:.a0[.seticon(|
00019520  39 2c 30 2c 22 50 6f 69  6e 74 20 74 6f 20 74 68  |9,0,"Point to th|
00019530  65 20 63 65 6e 74 72 65  20 61 6e 64 20 63 6c 69  |e centre and cli|
00019540  63 6b 2e 20 4d 6f 76 65  20 74 6f 20 61 20 70 6f  |ck. Move to a po|
00019550  69 6e 74 20 61 6c 6f 6e  67 20 74 68 65 20 6d 61  |int along the ma|
00019560  6a 6f 72 20 61 78 69 73  20 61 6e 64 22 29 0d 61  |jor axis and").a|
00019570  3a 5c f2 73 65 74 69 63  6f 6e 28 39 2c 31 2c 22  |:\.seticon(9,1,"|
00019580  63 6c 69 63 6b 2e 20 4d  6f 76 65 20 74 6f 20 73  |click. Move to s|
00019590  65 74 20 74 68 65 20 73  69 7a 65 20 61 6e 64 20  |et the size and |
000195a0  63 6c 69 63 6b 20 61 67  61 69 6e 20 74 6f 20 66  |click again to f|
000195b0  69 78 2e 20 41 44 4a 55  53 54 20 61 6c 6c 6f 77  |ix. ADJUST allow|
000195c0  73 20 79 6f 75 20 74 6f  22 29 0d 61 44 20 f2 73  |s you to").aD .s|
000195d0  65 74 69 63 6f 6e 28 39  2c 32 2c 22 73 74 61 72  |eticon(9,2,"star|
000195e0  74 20 61 67 61 69 6e 2e  22 29 0d 61 4e 09 c9 20  |t again.").aN.. |
000195f0  31 32 3a 0d 61 58 5b f2  73 65 74 69 63 6f 6e 28  |12:.aX[.seticon(|
00019600  39 2c 30 2c 22 50 6f 69  6e 74 20 74 6f 20 74 68  |9,0,"Point to th|
00019610  65 20 63 65 6e 74 72 65  20 61 6e 64 20 63 6c 69  |e centre and cli|
00019620  63 6b 2e 20 4d 6f 76 65  20 74 6f 20 61 20 70 6f  |ck. Move to a po|
00019630  69 6e 74 20 61 6c 6f 6e  67 20 74 68 65 20 6d 61  |int along the ma|
00019640  6a 6f 72 20 61 78 69 73  20 61 6e 64 22 29 0d 61  |jor axis and").a|
00019650  62 5c f2 73 65 74 69 63  6f 6e 28 39 2c 31 2c 22  |b\.seticon(9,1,"|
00019660  63 6c 69 63 6b 2e 20 4d  6f 76 65 20 74 6f 20 73  |click. Move to s|
00019670  65 74 20 74 68 65 20 73  69 7a 65 20 61 6e 64 20  |et the size and |
00019680  63 6c 69 63 6b 20 61 67  61 69 6e 20 74 6f 20 66  |click again to f|
00019690  69 78 2e 20 41 44 4a 55  53 54 20 61 6c 6c 6f 77  |ix. ADJUST allow|
000196a0  73 20 79 6f 75 20 74 6f  22 29 0d 61 6c 20 f2 73  |s you to").al .s|
000196b0  65 74 69 63 6f 6e 28 39  2c 32 2c 22 73 74 61 72  |eticon(9,2,"star|
000196c0  74 20 61 67 61 69 6e 2e  22 29 0d 61 76 09 c9 20  |t again.").av.. |
000196d0  31 33 3a 0d 61 80 5b f2  73 65 74 69 63 6f 6e 28  |13:.a.[.seticon(|
000196e0  39 2c 30 2c 22 50 6f 69  6e 74 20 74 6f 20 66 69  |9,0,"Point to fi|
000196f0  72 73 74 20 63 6f 72 6e  65 72 20 61 6e 64 20 63  |rst corner and c|
00019700  6c 69 63 6b 2e 20 4d 6f  76 65 20 74 6f 20 73 65  |lick. Move to se|
00019710  63 6f 6e 64 20 63 6f 72  6e 65 72 20 61 6e 64 20  |cond corner and |
00019720  63 6c 69 63 6b 20 61 67  61 69 6e 2e 22 29 0d 61  |click again.").a|
00019730  8a 5b f2 73 65 74 69 63  6f 6e 28 39 2c 31 2c 22  |.[.seticon(9,1,"|
00019740  4d 6f 76 65 20 74 6f 20  74 68 69 72 64 20 63 6f  |Move to third co|
00019750  72 6e 65 72 20 74 6f 20  73 65 74 20 73 69 7a 65  |rner to set size|
00019760  20 61 6e 64 20 63 6c 69  63 6b 20 74 6f 20 66 69  | and click to fi|
00019770  78 2e 20 41 44 4a 55 53  54 20 61 6c 6c 6f 77 73  |x. ADJUST allows|
00019780  20 79 6f 75 20 74 6f 22  29 0d 61 94 20 f2 73 65  | you to").a. .se|
00019790  74 69 63 6f 6e 28 39 2c  32 2c 22 73 74 61 72 74  |ticon(9,2,"start|
000197a0  20 61 67 61 69 6e 2e 22  29 0d 61 9e 09 c9 20 31  | again.").a... 1|
000197b0  34 3a 0d 61 a8 5b f2 73  65 74 69 63 6f 6e 28 39  |4:.a.[.seticon(9|
000197c0  2c 30 2c 22 50 6f 69 6e  74 20 74 6f 20 66 69 72  |,0,"Point to fir|
000197d0  73 74 20 63 6f 72 6e 65  72 20 61 6e 64 20 63 6c  |st corner and cl|
000197e0  69 63 6b 2e 20 4d 6f 76  65 20 74 6f 20 73 65 63  |ick. Move to sec|
000197f0  6f 6e 64 20 63 6f 72 6e  65 72 20 61 6e 64 20 63  |ond corner and c|
00019800  6c 69 63 6b 20 61 67 61  69 6e 2e 22 29 0d 61 b2  |lick again.").a.|
00019810  5b f2 73 65 74 69 63 6f  6e 28 39 2c 31 2c 22 4d  |[.seticon(9,1,"M|
00019820  6f 76 65 20 74 6f 20 74  68 69 72 64 20 63 6f 72  |ove to third cor|
00019830  6e 65 72 20 74 6f 20 73  65 74 20 73 69 7a 65 20  |ner to set size |
00019840  61 6e 64 20 63 6c 69 63  6b 20 74 6f 20 66 69 78  |and click to fix|
00019850  2e 20 41 44 4a 55 53 54  20 61 6c 6c 6f 77 73 20  |. ADJUST allows |
00019860  79 6f 75 20 74 6f 22 29  0d 61 bc 20 f2 73 65 74  |you to").a. .set|
00019870  69 63 6f 6e 28 39 2c 32  2c 22 73 74 61 72 74 20  |icon(9,2,"start |
00019880  61 67 61 69 6e 2e 22 29  0d 61 c6 09 c9 20 31 35  |again.").a... 15|
00019890  3a 0d 61 d0 61 f2 73 65  74 69 63 6f 6e 28 39 2c  |:.a.a.seticon(9,|
000198a0  30 2c 22 50 6f 69 6e 74  20 74 6f 20 63 65 6e 74  |0,"Point to cent|
000198b0  72 65 20 6f 66 20 61 72  63 20 61 6e 64 20 63 6c  |re of arc and cl|
000198c0  69 63 6b 2e 20 4d 6f 76  65 20 74 6f 20 61 20 70  |ick. Move to a p|
000198d0  6f 69 6e 74 20 6f 6e 20  74 68 65 20 61 72 63 20  |oint on the arc |
000198e0  61 6e 64 20 63 6c 69 63  6b 20 61 67 61 69 6e 2e  |and click again.|
000198f0  22 29 0d 61 da 5f f2 73  65 74 69 63 6f 6e 28 39  |").a._.seticon(9|
00019900  2c 31 2c 22 4d 6f 76 65  20 74 6f 20 73 65 74 20  |,1,"Move to set |
00019910  74 68 65 20 64 65 67 72  65 65 20 6f 66 20 74 68  |the degree of th|
00019920  65 20 61 72 63 20 61 6e  64 20 63 6c 69 63 6b 20  |e arc and click |
00019930  61 67 61 69 6e 20 74 6f  20 66 69 78 2e 20 41 44  |again to fix. AD|
00019940  4a 55 53 54 20 61 6c 6c  6f 77 73 20 79 6f 75 22  |JUST allows you"|
00019950  29 0d 61 e4 23 f2 73 65  74 69 63 6f 6e 28 39 2c  |).a.#.seticon(9,|
00019960  32 2c 22 74 6f 20 73 74  61 72 74 20 61 67 61 69  |2,"to start agai|
00019970  6e 2e 22 29 0d 61 ee 09  c9 20 31 36 3a 0d 61 f8  |n.").a... 16:.a.|
00019980  60 f2 73 65 74 69 63 6f  6e 28 39 2c 30 2c 22 50  |`.seticon(9,0,"P|
00019990  6f 69 6e 74 20 74 6f 20  63 65 6e 74 72 65 20 6f  |oint to centre o|
000199a0  66 20 73 65 63 74 6f 72  20 61 6e 64 20 63 6c 69  |f sector and cli|
000199b0  63 6b 2e 20 4d 6f 76 65  20 74 6f 20 73 74 61 72  |ck. Move to star|
000199c0  74 20 70 6f 69 6e 74 20  6f 6e 20 74 68 65 20 63  |t point on the c|
000199d0  69 72 63 75 6d 66 72 65  6e 63 65 22 29 0d 62 02  |ircumfrence").b.|
000199e0  61 f2 73 65 74 69 63 6f  6e 28 39 2c 31 2c 22 61  |a.seticon(9,1,"a|
000199f0  6e 64 20 63 6c 69 63 6b  20 61 67 61 69 6e 2e 20  |nd click again. |
00019a00  4d 6f 76 65 20 74 6f 20  73 65 74 20 74 68 65 20  |Move to set the |
00019a10  64 65 67 72 65 65 20 61  6e 64 20 63 6c 69 63 6b  |degree and click|
00019a20  20 61 67 61 69 6e 20 74  6f 20 66 69 78 2e 20 41  | again to fix. A|
00019a30  44 4a 55 53 54 20 61 6c  6c 6f 77 73 22 29 0d 62  |DJUST allows").b|
00019a40  0c 27 f2 73 65 74 69 63  6f 6e 28 39 2c 32 2c 22  |.'.seticon(9,2,"|
00019a50  79 6f 75 20 74 6f 20 73  74 61 72 74 20 61 67 61  |you to start aga|
00019a60  69 6e 2e 22 29 0d 62 16  09 c9 20 31 37 3a 0d 62  |in.").b... 17:.b|
00019a70  20 5d f2 73 65 74 69 63  6f 6e 28 39 2c 30 2c 22  | ].seticon(9,0,"|
00019a80  50 6f 69 6e 74 20 74 6f  20 63 65 6e 74 72 65 20  |Point to centre |
00019a90  6f 66 20 73 65 67 6d 65  6e 74 20 61 6e 64 20 63  |of segment and c|
00019aa0  6c 69 63 6b 2e 20 4d 6f  76 65 20 74 6f 20 73 74  |lick. Move to st|
00019ab0  61 72 74 20 70 6f 69 6e  74 20 6f 6e 20 63 69 72  |art point on cir|
00019ac0  63 75 6d 66 72 65 6e 63  65 22 29 0d 62 2a 5f f2  |cumfrence").b*_.|
00019ad0  73 65 74 69 63 6f 6e 28  39 2c 31 2c 22 61 6e 64  |seticon(9,1,"and|
00019ae0  20 63 6c 69 63 6b 20 61  67 61 69 6e 2e 20 4d 6f  | click again. Mo|
00019af0  76 65 20 74 6f 20 73 65  74 20 73 65 67 6d 65 6e  |ve to set segmen|
00019b00  74 20 61 6e 64 20 63 6c  69 63 6b 20 74 6f 20 66  |t and click to f|
00019b10  69 78 2e 20 41 44 4a 55  53 54 20 61 6c 6c 6f 77  |ix. ADJUST allow|
00019b20  73 20 79 6f 75 20 74 6f  22 29 0d 62 34 20 f2 73  |s you to").b4 .s|
00019b30  65 74 69 63 6f 6e 28 39  2c 32 2c 22 73 74 61 72  |eticon(9,2,"star|
00019b40  74 20 61 67 61 69 6e 2e  22 29 0d 62 3e 09 c9 20  |t again.").b>.. |
00019b50  31 38 3a 0d 62 48 61 f2  73 65 74 69 63 6f 6e 28  |18:.bHa.seticon(|
00019b60  39 2c 30 2c 22 50 6f 69  6e 74 20 74 6f 20 6c 6f  |9,0,"Point to lo|
00019b70  77 65 72 2d 6c 65 66 74  20 63 6f 72 6e 65 72 20  |wer-left corner |
00019b80  6f 66 20 73 6f 75 72 63  65 20 61 72 65 61 20 61  |of source area a|
00019b90  6e 64 20 63 6c 69 63 6b  2e 20 4d 6f 76 65 20 74  |nd click. Move t|
00019ba0  6f 20 74 6f 70 2d 72 69  67 68 74 20 63 6f 72 6e  |o top-right corn|
00019bb0  65 72 22 29 0d 62 52 60  f2 73 65 74 69 63 6f 6e  |er").bR`.seticon|
00019bc0  28 39 2c 31 2c 22 61 6e  64 20 63 6c 69 63 6b 20  |(9,1,"and click |
00019bd0  74 6f 20 63 75 74 20 61  72 65 61 2e 20 4d 6f 76  |to cut area. Mov|
00019be0  65 20 74 6f 20 70 6f 73  69 74 69 6f 6e 20 61 6e  |e to position an|
00019bf0  64 20 63 6c 69 63 6b 20  74 6f 20 70 61 73 74 65  |d click to paste|
00019c00  2e 20 54 68 65 20 74 72  61 6e 73 70 61 72 65 6e  |. The transparen|
00019c10  63 79 22 29 0d 62 5c 28  f2 73 65 74 69 63 6f 6e  |cy").b\(.seticon|
00019c20  28 39 2c 32 2c 22 66 6c  61 67 73 20 61 72 65 20  |(9,2,"flags are |
00019c30  75 73 65 64 20 68 65 72  65 2e 22 29 0d 62 66 09  |used here.").bf.|
00019c40  c9 20 31 39 3a 0d 62 70  61 f2 73 65 74 69 63 6f  |. 19:.bpa.setico|
00019c50  6e 28 39 2c 30 2c 22 50  6f 69 6e 74 20 74 6f 20  |n(9,0,"Point to |
00019c60  6c 6f 77 65 72 2d 6c 65  66 74 20 63 6f 72 6e 65  |lower-left corne|
00019c70  72 20 6f 66 20 73 6f 75  72 63 65 20 61 72 65 61  |r of source area|
00019c80  20 61 6e 64 20 63 6c 69  63 6b 2e 20 4d 6f 76 65  | and click. Move|
00019c90  20 74 6f 20 74 6f 70 2d  72 69 67 68 74 20 63 6f  | to top-right co|
00019ca0  72 6e 65 72 22 29 0d 62  7a 61 f2 73 65 74 69 63  |rner").bza.setic|
00019cb0  6f 6e 28 39 2c 31 2c 22  61 6e 64 20 63 6c 69 63  |on(9,1,"and clic|
00019cc0  6b 20 74 6f 20 63 6f 70  79 20 61 72 65 61 2e 20  |k to copy area. |
00019cd0  4d 6f 76 65 20 74 6f 20  70 6f 73 69 74 69 6f 6e  |Move to position|
00019ce0  20 61 6e 64 20 63 6c 69  63 6b 20 74 6f 20 70 61  | and click to pa|
00019cf0  73 74 65 2e 20 54 68 65  20 74 72 61 6e 73 70 61  |ste. The transpa|
00019d00  72 65 6e 63 79 22 29 0d  62 84 28 f2 73 65 74 69  |rency").b.(.seti|
00019d10  63 6f 6e 28 39 2c 32 2c  22 66 6c 61 67 73 20 61  |con(9,2,"flags a|
00019d20  72 65 20 75 73 65 64 20  68 65 72 65 2e 22 29 0d  |re used here.").|
00019d30  62 8e 09 c9 20 32 30 3a  0d 62 98 5e f2 73 65 74  |b... 20:.b.^.set|
00019d40  69 63 6f 6e 28 39 2c 30  2c 22 50 6f 69 6e 74 20  |icon(9,0,"Point |
00019d50  74 6f 20 6c 6f 77 65 72  2d 6c 65 66 74 20 63 6f  |to lower-left co|
00019d60  72 6e 65 72 20 6f 66 20  61 72 65 61 20 61 6e 64  |rner of area and|
00019d70  20 63 6c 69 63 6b 2e 20  4d 6f 76 65 20 74 6f 20  | click. Move to |
00019d80  74 6f 70 2d 72 69 67 68  74 20 63 6f 72 6e 65 72  |top-right corner|
00019d90  20 61 6e 64 22 29 0d 62  a2 50 f2 73 65 74 69 63  | and").b.P.setic|
00019da0  6f 6e 28 39 2c 31 2c 22  63 6c 69 63 6b 20 61 67  |on(9,1,"click ag|
00019db0  61 69 6e 20 74 6f 20 6d  69 72 72 6f 72 2e 20 54  |ain to mirror. T|
00019dc0  68 65 20 74 72 61 6e 73  70 61 72 65 6e 63 79 20  |he transparency |
00019dd0  66 6c 61 67 73 20 61 72  65 20 75 73 65 64 20 68  |flags are used h|
00019de0  65 72 65 2e 22 29 0d 62  ac 09 c9 20 32 31 3a 0d  |ere.").b... 21:.|
00019df0  62 b6 5e f2 73 65 74 69  63 6f 6e 28 39 2c 30 2c  |b.^.seticon(9,0,|
00019e00  22 50 6f 69 6e 74 20 74  6f 20 6c 6f 77 65 72 2d  |"Point to lower-|
00019e10  6c 65 66 74 20 63 6f 72  6e 65 72 20 6f 66 20 61  |left corner of a|
00019e20  72 65 61 20 61 6e 64 20  63 6c 69 63 6b 2e 20 4d  |rea and click. M|
00019e30  6f 76 65 20 74 6f 20 74  6f 70 2d 72 69 67 68 74  |ove to top-right|
00019e40  20 63 6f 72 6e 65 72 20  61 6e 64 22 29 0d 62 c0  | corner and").b.|
00019e50  50 f2 73 65 74 69 63 6f  6e 28 39 2c 31 2c 22 63  |P.seticon(9,1,"c|
00019e60  6c 69 63 6b 20 61 67 61  69 6e 20 74 6f 20 69 6e  |lick again to in|
00019e70  76 65 72 74 2e 20 54 68  65 20 74 72 61 6e 73 70  |vert. The transp|
00019e80  61 72 65 6e 63 79 20 66  6c 61 67 73 20 61 72 65  |arency flags are|
00019e90  20 75 73 65 64 20 68 65  72 65 2e 22 29 0d 62 ca  | used here.").b.|
00019ea0  09 c9 20 32 32 3a 0d 62  d4 5f f2 73 65 74 69 63  |.. 22:.b._.setic|
00019eb0  6f 6e 28 39 2c 30 2c 22  50 6f 69 6e 74 20 74 6f  |on(9,0,"Point to|
00019ec0  20 6c 6f 77 65 72 2d 6c  65 66 74 20 63 6f 72 6e  | lower-left corn|
00019ed0  65 72 20 6f 66 20 61 72  65 61 20 74 6f 20 70 72  |er of area to pr|
00019ee0  65 73 65 72 76 65 20 61  6e 64 20 63 6c 69 63 6b  |eserve and click|
00019ef0  2e 20 4d 6f 76 65 20 74  6f 20 74 6f 70 2d 72 69  |. Move to top-ri|
00019f00  67 68 74 22 29 0d 62 de  45 f2 73 65 74 69 63 6f  |ght").b.E.setico|
00019f10  6e 28 39 2c 31 2c 22 63  6f 72 6e 65 72 20 61 6e  |n(9,1,"corner an|
00019f20  64 20 63 6c 69 63 6b 20  61 67 61 69 6e 20 74 6f  |d click again to|
00019f30  20 73 74 72 69 70 20 73  75 72 72 6f 75 6e 64 69  | strip surroundi|
00019f40  6e 67 20 61 72 65 61 2e  22 29 0d 62 e8 09 c9 20  |ng area.").b... |
00019f50  32 33 3a 0d 62 f2 61 f2  73 65 74 69 63 6f 6e 28  |23:.b.a.seticon(|
00019f60  39 2c 30 2c 22 50 6f 69  6e 74 20 74 6f 20 6c 6f  |9,0,"Point to lo|
00019f70  77 65 72 2d 6c 65 66 74  20 63 6f 72 6e 65 72 20  |wer-left corner |
00019f80  6f 66 20 73 6f 75 72 63  65 20 61 72 65 61 20 61  |of source area a|
00019f90  6e 64 20 63 6c 69 63 6b  2e 20 4d 6f 76 65 20 74  |nd click. Move t|
00019fa0  6f 20 74 6f 70 2d 72 69  67 68 74 20 63 6f 72 6e  |o top-right corn|
00019fb0  65 72 22 29 0d 62 fc 5e  f2 73 65 74 69 63 6f 6e  |er").b.^.seticon|
00019fc0  28 39 2c 31 2c 22 61 6e  64 20 63 6c 69 63 6b 20  |(9,1,"and click |
00019fd0  74 6f 20 66 69 78 2e 20  44 6f 20 74 68 65 20 73  |to fix. Do the s|
00019fe0  61 6d 65 20 66 6f 72 20  64 65 73 74 69 6e 61 74  |ame for destinat|
00019ff0  69 6f 6e 20 61 72 65 61  2e 20 54 68 65 20 74 72  |ion area. The tr|
0001a000  61 6e 73 70 61 72 65 6e  63 79 20 66 6c 61 67 73  |ansparency flags|
0001a010  22 29 0d 63 06 22 f2 73  65 74 69 63 6f 6e 28 39  |").c.".seticon(9|
0001a020  2c 32 2c 22 61 72 65 20  75 73 65 64 20 68 65 72  |,2,"are used her|
0001a030  65 2e 22 29 0d 63 10 09  c9 20 32 34 3a 0d 63 1a  |e.").c... 24:.c.|
0001a040  59 f2 73 65 74 69 63 6f  6e 28 39 2c 30 2c 22 50  |Y.seticon(9,0,"P|
0001a050  6f 69 6e 74 20 74 6f 20  61 20 70 69 78 65 6c 20  |oint to a pixel |
0001a060  74 6f 20 74 68 65 20 72  69 67 68 74 20 6f 66 20  |to the right of |
0001a070  61 6e 64 20 61 64 6a 61  63 65 6e 74 20 74 6f 20  |and adjacent to |
0001a080  74 68 65 20 63 6f 6c 6f  75 72 20 74 6f 20 74 72  |the colour to tr|
0001a090  61 63 65 2e 22 29 0d 63  24 39 f2 73 65 74 69 63  |ace.").c$9.setic|
0001a0a0  6f 6e 28 39 2c 31 2c 22  43 6c 69 63 6b 20 74 6f  |on(9,1,"Click to|
0001a0b0  20 74 72 61 63 65 20 69  6e 20 74 68 65 20 63 75  | trace in the cu|
0001a0c0  72 72 65 6e 74 20 63 6f  6c 6f 75 72 2e 22 29 0d  |rrent colour.").|
0001a0d0  63 2e 09 c9 20 32 35 3a  0d 63 38 60 f2 73 65 74  |c... 25:.c8`.set|
0001a0e0  69 63 6f 6e 28 39 2c 30  2c 22 50 6f 69 6e 74 20  |icon(9,0,"Point |
0001a0f0  74 6f 20 74 68 65 20 66  69 72 73 74 20 76 65 72  |to the first ver|
0001a100  74 65 78 20 6f 66 20 74  68 65 20 73 6f 75 72 63  |tex of the sourc|
0001a110  65 20 61 72 65 61 20 61  6e 64 20 63 6c 69 63 6b  |e area and click|
0001a120  2e 20 52 65 70 65 61 74  20 66 6f 72 20 74 68 65  |. Repeat for the|
0001a130  20 6f 74 68 65 72 22 29  0d 63 42 60 f2 73 65 74  | other").cB`.set|
0001a140  69 63 6f 6e 28 39 2c 31  2c 22 74 68 72 65 65 20  |icon(9,1,"three |
0001a150  76 65 72 74 69 63 65 73  20 61 6e 64 20 66 6f 72  |vertices and for|
0001a160  20 74 68 65 20 66 6f 75  72 20 64 65 73 74 69 6e  | the four destin|
0001a170  61 74 69 6f 6e 20 76 65  72 74 69 63 65 73 2e 20  |ation vertices. |
0001a180  43 6c 69 63 6b 69 6e 67  20 41 44 4a 55 53 54 20  |Clicking ADJUST |
0001a190  61 74 20 61 6e 79 22 29  0d 63 4c 34 f2 73 65 74  |at any").cL4.set|
0001a1a0  69 63 6f 6e 28 39 2c 32  2c 22 70 6f 69 6e 74 20  |icon(9,2,"point |
0001a1b0  61 6c 6c 6f 77 73 20 79  6f 75 20 74 6f 20 73 74  |allows you to st|
0001a1c0  61 72 74 20 61 67 61 69  6e 2e 22 29 0d 63 56 09  |art again.").cV.|
0001a1d0  c9 20 32 36 3a 0d 63 60  4b f2 73 65 74 69 63 6f  |. 26:.c`K.setico|
0001a1e0  6e 28 39 2c 30 2c 22 50  6f 69 6e 74 20 69 6e 73  |n(9,0,"Point ins|
0001a1f0  69 64 65 20 74 68 65 20  74 6f 74 61 6c 6c 79 20  |ide the totally |
0001a200  63 6c 6f 73 65 64 20 61  72 65 61 20 74 6f 20 66  |closed area to f|
0001a210  69 6c 6c 20 61 6e 64 20  63 6c 69 63 6b 2e 22 29  |ill and click.")|
0001a220  0d 63 6a 09 c9 20 32 37  3a 0d 63 74 5d f2 73 65  |.cj.. 27:.ct].se|
0001a230  74 69 63 6f 6e 28 39 2c  30 2c 22 50 6f 69 6e 74  |ticon(9,0,"Point|
0001a240  20 74 6f 20 6f 6e 65 20  63 6f 72 6e 65 72 20 6f  | to one corner o|
0001a250  66 20 74 68 65 20 61 72  65 61 20 61 6e 64 20 63  |f the area and c|
0001a260  6c 69 63 6b 2e 20 4d 6f  76 65 20 74 6f 20 74 68  |lick. Move to th|
0001a270  65 20 64 69 61 67 6f 6e  61 6c 6c 79 20 6f 70 6f  |e diagonally opo|
0001a280  73 69 74 65 22 29 0d 63  7e 36 f2 73 65 74 69 63  |site").c~6.setic|
0001a290  6f 6e 28 39 2c 31 2c 22  63 6f 72 6e 65 72 20 61  |on(9,1,"corner a|
0001a2a0  6e 64 20 63 6c 69 63 6b  20 61 67 61 69 6e 20 74  |nd click again t|
0001a2b0  6f 20 61 76 65 72 61 67  65 2e 22 29 0d 63 88 09  |o average.").c..|
0001a2c0  c9 20 32 38 3a 0d 63 92  5d f2 73 65 74 69 63 6f  |. 28:.c.].setico|
0001a2d0  6e 28 39 2c 30 2c 22 50  6f 69 6e 74 20 74 6f 20  |n(9,0,"Point to |
0001a2e0  6f 6e 65 20 63 6f 72 6e  65 72 20 6f 66 20 74 68  |one corner of th|
0001a2f0  65 20 61 72 65 61 20 61  6e 64 20 63 6c 69 63 6b  |e area and click|
0001a300  2e 20 4d 6f 76 65 20 74  6f 20 74 68 65 20 64 69  |. Move to the di|
0001a310  61 67 6f 6e 61 6c 6c 79  20 6f 70 6f 73 69 74 65  |agonally oposite|
0001a320  22 29 0d 63 9c 47 f2 73  65 74 69 63 6f 6e 28 39  |").c.G.seticon(9|
0001a330  2c 31 2c 22 63 6f 72 6e  65 72 20 61 6e 64 20 63  |,1,"corner and c|
0001a340  6c 69 63 6b 20 61 67 61  69 6e 20 74 6f 20 74 69  |lick again to ti|
0001a350  6e 74 20 77 69 74 68 20  63 75 72 72 65 6e 74 20  |nt with current |
0001a360  63 6f 6c 6f 75 72 2e 22  29 0d 63 a6 09 c9 20 32  |colour.").c... 2|
0001a370  39 3a 0d 63 b0 53 f2 73  65 74 69 63 6f 6e 28 39  |9:.c.S.seticon(9|
0001a380  2c 30 2c 22 53 65 74 20  62 72 75 73 68 20 73 68  |,0,"Set brush sh|
0001a390  61 70 65 20 77 69 74 68  20 63 6f 6e 74 72 6f 6c  |ape with control|
0001a3a0  20 70 61 6e 6e 65 6c 2e  20 4d 6f 76 65 20 74 6f  | pannel. Move to|
0001a3b0  20 70 6f 73 69 74 69 6f  6e 20 61 6e 64 20 63 6c  | position and cl|
0001a3c0  69 63 6b 22 29 0d 63 ba  3c f2 73 65 74 69 63 6f  |ick").c.<.setico|
0001a3d0  6e 28 39 2c 31 2c 22 74  6f 20 75 73 65 2e 20 54  |n(9,1,"to use. T|
0001a3e0  68 65 20 62 72 75 73 68  20 73 63 61 6c 65 20 69  |he brush scale i|
0001a3f0  73 20 69 67 6e 6f 72 65  64 20 68 65 72 65 2e 22  |s ignored here."|
0001a400  29 0d 63 c4 09 c9 20 33  30 3a 0d 63 ce 53 f2 73  |).c... 30:.c.S.s|
0001a410  65 74 69 63 6f 6e 28 39  2c 30 2c 22 53 65 74 20  |eticon(9,0,"Set |
0001a420  62 72 75 73 68 20 73 68  61 70 65 20 77 69 74 68  |brush shape with|
0001a430  20 63 6f 6e 74 72 6f 6c  20 70 61 6e 6e 65 6c 2e  | control pannel.|
0001a440  20 4d 6f 76 65 20 74 6f  20 70 6f 73 69 74 69 6f  | Move to positio|
0001a450  6e 20 61 6e 64 20 63 6c  69 63 6b 22 29 0d 63 d8  |n and click").c.|
0001a460  3c f2 73 65 74 69 63 6f  6e 28 39 2c 31 2c 22 74  |<.seticon(9,1,"t|
0001a470  6f 20 75 73 65 2e 20 54  68 65 20 62 72 75 73 68  |o use. The brush|
0001a480  20 73 63 61 6c 65 20 69  73 20 69 67 6e 6f 72 65  | scale is ignore|
0001a490  64 20 68 65 72 65 2e 22  29 0d 63 e2 09 c9 20 33  |d here.").c... 3|
0001a4a0  31 3a 0d 63 ec 5c f2 73  65 74 69 63 6f 6e 28 39  |1:.c.\.seticon(9|
0001a4b0  2c 30 2c 22 53 65 74 20  66 69 6c 6c 20 70 61 72  |,0,"Set fill par|
0001a4c0  61 6d 65 74 65 72 73 20  77 69 74 68 20 63 6f 6e  |ameters with con|
0001a4d0  74 72 6f 6c 20 62 6f 78  20 74 68 65 6e 20 63 6c  |trol box then cl|
0001a4e0  69 63 6b 20 69 6e 73 69  64 65 20 61 20 74 6f 74  |ick inside a tot|
0001a4f0  61 6c 6c 79 20 62 6f 75  6e 64 65 64 22 29 0d 63  |ally bounded").c|
0001a500  f6 21 f2 73 65 74 69 63  6f 6e 28 39 2c 31 2c 22  |.!.seticon(9,1,"|
0001a510  61 72 65 61 20 74 6f 20  66 69 6c 6c 2e 22 29 0d  |area to fill.").|
0001a520  64 00 09 c9 20 33 32 3a  0d 64 0a 52 f2 73 65 74  |d... 32:.d.R.set|
0001a530  69 63 6f 6e 28 39 2c 30  2c 22 53 65 74 20 70 6f  |icon(9,0,"Set po|
0001a540  69 6e 74 20 73 69 7a 65  73 20 61 6e 64 20 73 74  |int sizes and st|
0001a550  79 6c 65 20 66 72 6f 6d  20 63 6f 6e 74 72 6f 6c  |yle from control|
0001a560  20 77 69 6e 64 6f 77 20  61 6e 64 20 63 6c 69 63  | window and clic|
0001a570  6b 20 6f 6e 20 4f 4b 2e  22 29 0d 64 14 3b f2 73  |k on OK.").d.;.s|
0001a580  65 74 69 63 6f 6e 28 39  2c 31 2c 22 4d 6f 76 65  |eticon(9,1,"Move|
0001a590  20 74 65 78 74 20 74 6f  20 70 6f 73 69 74 69 6f  | text to positio|
0001a5a0  6e 20 61 6e 64 20 63 6c  69 63 6b 20 74 6f 20 66  |n and click to f|
0001a5b0  69 78 2e 22 29 0d 64 1e  09 c9 20 33 33 3a 0d 64  |ix.").d... 33:.d|
0001a5c0  28 5b f2 73 65 74 69 63  6f 6e 28 39 2c 30 2c 22  |([.seticon(9,0,"|
0001a5d0  53 65 74 20 75 70 20 63  6f 6c 6f 75 72 20 74 72  |Set up colour tr|
0001a5e0  61 6e 73 66 6f 72 6d 61  74 69 6f 6e 20 77 69 74  |ansformation wit|
0001a5f0  68 20 63 6f 6c 6f 75 72  20 77 69 6e 64 6f 77 20  |h colour window |
0001a600  74 68 65 6e 20 64 65 66  69 6e 65 20 72 65 63 74  |then define rect|
0001a610  61 6e 67 75 6c 61 72 22  29 0d 64 32 3b f2 73 65  |angular").d2;.se|
0001a620  74 69 63 6f 6e 28 39 2c  31 2c 22 61 72 65 61 20  |ticon(9,1,"area |
0001a630  77 69 74 68 20 6c 61 73  74 20 63 6c 69 63 6b 20  |with last click |
0001a640  74 6f 20 63 68 61 6e 67  65 20 63 6f 6c 6f 75 72  |to change colour|
0001a650  73 2e 22 29 0d 64 3c 09  c9 20 33 34 3a 0d 64 46  |s.").d<.. 34:.dF|
0001a660  53 f2 73 65 74 69 63 6f  6e 28 39 2c 30 2c 22 53  |S.seticon(9,0,"S|
0001a670  65 74 20 6f 72 69 65 6e  74 61 74 69 6f 6e 20 61  |et orientation a|
0001a680  6e 64 20 73 63 61 6c 65  20 77 69 74 68 20 63 6f  |nd scale with co|
0001a690  6e 74 72 6f 6c 20 77 69  6e 64 6f 77 20 61 6e 64  |ntrol window and|
0001a6a0  20 63 6c 69 63 6b 20 74  6f 20 66 69 78 2e 22 29  | click to fix.")|
0001a6b0  0d 64 50 09 c9 20 33 35  3a 0d 64 5a 5d f2 73 65  |.dP.. 35:.dZ].se|
0001a6c0  74 69 63 6f 6e 28 39 2c  30 2c 22 47 72 61 62 20  |ticon(9,0,"Grab |
0001a6d0  72 65 63 74 61 6e 67 6c  65 20 62 79 20 6c 6f 77  |rectangle by low|
0001a6e0  65 72 2d 6c 65 66 74 20  61 6e 64 20 75 70 70 65  |er-left and uppe|
0001a6f0  72 2d 72 69 67 68 74 20  63 6f 72 6e 65 72 73 20  |r-right corners |
0001a700  74 68 65 6e 20 75 73 65  20 73 61 76 65 20 77 69  |then use save wi|
0001a710  6e 64 6f 77 22 29 0d 64  64 25 f2 73 65 74 69 63  |ndow").dd%.setic|
0001a720  6f 6e 28 39 2c 31 2c 22  61 73 20 75 73 75 61 6c  |on(9,1,"as usual|
0001a730  20 74 6f 20 73 61 76 65  2e 22 29 0d 64 6e 09 c9  | to save.").dn..|
0001a740  20 33 36 3a 0d 64 78 34  f2 73 65 74 69 63 6f 6e  | 36:.dx4.seticon|
0001a750  28 39 2c 30 2c 22 50 6f  73 69 74 69 6f 6e 20 66  |(9,0,"Position f|
0001a760  72 61 6d 65 20 61 6e 64  20 63 6c 69 63 6b 20 74  |rame and click t|
0001a770  6f 20 66 69 78 2e 22 29  0d 64 82 09 c9 20 33 37  |o fix.").d... 37|
0001a780  3a 0d 64 8c 5c f2 73 65  74 69 63 6f 6e 28 39 2c  |:.d.\.seticon(9,|
0001a790  30 2c 22 53 65 6c 65 63  74 20 70 61 74 74 65 72  |0,"Select patter|
0001a7a0  6e 20 66 72 6f 6d 20 77  69 6e 64 6f 77 20 61 6e  |n from window an|
0001a7b0  64 20 63 6c 69 63 6b 20  69 6e 20 61 20 74 6f 74  |d click in a tot|
0001a7c0  61 6c 6c 79 20 65 6e 63  6c 6f 73 65 64 20 61 72  |ally enclosed ar|
0001a7d0  65 61 20 74 6f 20 66 69  6c 6c 2e 22 29 0d 64 96  |ea to fill.").d.|
0001a7e0  09 c9 20 33 38 3a 0d 64  a0 5b f2 73 65 74 69 63  |.. 38:.d.[.setic|
0001a7f0  6f 6e 28 39 2c 30 2c 22  53 65 74 20 52 65 64 2c  |on(9,0,"Set Red,|
0001a800  20 47 72 65 65 6e 20 61  6e 64 20 42 6c 75 65 20  | Green and Blue |
0001a810  70 65 72 63 65 6e 74 61  67 65 73 20 77 69 74 68  |percentages with|
0001a820  20 74 68 65 20 63 6f 6e  74 72 6f 6c 20 77 69 6e  | the control win|
0001a830  64 6f 77 20 74 68 65 6e  20 64 65 66 69 6e 65 22  |dow then define"|
0001a840  29 0d 64 aa 57 f2 73 65  74 69 63 6f 6e 28 39 2c  |).d.W.seticon(9,|
0001a850  31 2c 22 74 68 65 20 72  65 63 74 61 6e 67 6c 65  |1,"the rectangle|
0001a860  20 74 6f 20 62 65 20 63  68 61 6e 67 65 64 20 62  | to be changed b|
0001a870  79 20 63 6c 69 63 6b 69  6e 67 20 62 6f 74 74 6f  |y clicking botto|
0001a880  6d 20 6c 65 66 74 20 74  68 65 6e 20 74 6f 70 20  |m left then top |
0001a890  72 69 67 68 74 2e 22 29  0d 64 b4 3c f2 73 65 74  |right.").d.<.set|
0001a8a0  69 63 6f 6e 28 39 2c 32  2c 22 54 72 61 6e 73 70  |icon(9,2,"Transp|
0001a8b0  61 72 65 6e 74 20 63 6f  6c 6f 75 72 73 20 77 69  |arent colours wi|
0001a8c0  6c 6c 20 6e 6f 74 20 62  65 20 63 68 61 6e 67 65  |ll not be change|
0001a8d0  64 2e 22 29 0d 64 be 09  c9 20 33 39 3a 0d 64 c8  |d.").d... 39:.d.|
0001a8e0  5a f2 73 65 74 69 63 6f  6e 28 39 2c 30 2c 22 53  |Z.seticon(9,0,"S|
0001a8f0  65 74 20 77 65 69 67 68  74 73 20 66 6f 72 20 52  |et weights for R|
0001a900  65 64 2c 20 47 72 65 65  6e 20 61 6e 64 20 42 6c  |ed, Green and Bl|
0001a910  75 65 20 63 6f 6d 70 6f  6e 65 6e 74 73 20 77 69  |ue components wi|
0001a920  74 68 20 74 68 65 20 63  6f 6e 74 72 6f 6c 20 77  |th the control w|
0001a930  69 6e 64 6f 77 22 29 0d  64 d2 5e f2 73 65 74 69  |indow").d.^.seti|
0001a940  63 6f 6e 28 39 2c 31 2c  22 74 68 65 6e 20 64 65  |con(9,1,"then de|
0001a950  66 69 6e 65 20 74 68 65  20 72 65 63 74 61 6e 67  |fine the rectang|
0001a960  6c 65 20 74 6f 20 73 68  61 64 65 20 62 79 20 63  |le to shade by c|
0001a970  6c 69 63 6b 69 6e 67 20  62 6f 74 74 6f 6d 20 6c  |licking bottom l|
0001a980  65 66 74 20 74 68 65 6e  20 74 6f 70 20 72 69 67  |eft then top rig|
0001a990  68 74 2e 22 29 0d 64 dc  3c f2 73 65 74 69 63 6f  |ht.").d.<.setico|
0001a9a0  6e 28 39 2c 32 2c 22 54  72 61 6e 73 70 61 72 65  |n(9,2,"Transpare|
0001a9b0  6e 74 20 63 6f 6c 6f 75  72 73 20 77 69 6c 6c 20  |nt colours will |
0001a9c0  6e 6f 74 20 62 65 20 63  68 61 6e 67 65 64 2e 22  |not be changed."|
0001a9d0  29 0d 64 e6 09 c9 20 34  30 3a 0d 64 f0 5b f2 73  |).d... 40:.d.[.s|
0001a9e0  65 74 69 63 6f 6e 28 39  2c 30 2c 22 53 65 74 20  |eticon(9,0,"Set |
0001a9f0  74 68 65 20 58 20 61 6e  64 20 59 20 72 65 73 6f  |the X and Y reso|
0001aa00  6c 75 74 69 6f 6e 73 20  66 6f 72 20 70 69 78 65  |lutions for pixe|
0001aa10  6c 61 74 69 6f 6e 20 77  69 74 68 20 74 68 65 20  |lation with the |
0001aa20  63 6f 6e 74 72 6f 6c 20  77 69 6e 64 6f 77 20 74  |control window t|
0001aa30  68 65 6e 22 29 0d 64 fa  5c f2 73 65 74 69 63 6f  |hen").d.\.setico|
0001aa40  6e 28 39 2c 31 2c 22 64  65 66 69 6e 65 20 74 68  |n(9,1,"define th|
0001aa50  65 20 72 65 63 74 61 6e  67 6c 65 20 74 6f 20 70  |e rectangle to p|
0001aa60  69 78 65 6c 61 74 65 20  62 79 20 63 6c 69 63 6b  |ixelate by click|
0001aa70  69 6e 67 20 62 6f 74 74  6f 6d 20 6c 65 66 74 20  |ing bottom left |
0001aa80  74 68 65 6e 20 74 6f 70  20 72 69 67 68 74 2e 22  |then top right."|
0001aa90  29 0d 65 04 09 c9 20 34  31 3a 0d 65 0e 5a f2 73  |).e... 41:.e.Z.s|
0001aaa0  65 74 69 63 6f 6e 28 39  2c 30 2c 22 44 65 66 69  |eticon(9,0,"Defi|
0001aab0  6e 65 20 74 68 65 20 72  65 63 74 61 6e 67 6c 65  |ne the rectangle|
0001aac0  20 74 6f 20 72 6f 74 61  74 65 20 62 79 20 63 6c  | to rotate by cl|
0001aad0  69 63 6b 69 6e 67 20 62  6f 74 74 6f 6d 20 6c 65  |icking bottom le|
0001aae0  66 74 20 74 68 65 6e 20  74 6f 70 20 72 69 67 68  |ft then top righ|
0001aaf0  74 2e 22 29 0d 65 18 4c  f2 73 65 74 69 63 6f 6e  |t.").e.L.seticon|
0001ab00  28 39 2c 31 2c 22 52 6f  74 61 74 65 20 61 72 65  |(9,1,"Rotate are|
0001ab10  61 20 77 69 74 68 20 74  68 65 20 63 6f 6e 74 72  |a with the contr|
0001ab20  6f 6c 20 77 69 6e 64 6f  77 20 61 6e 64 20 63 6c  |ol window and cl|
0001ab30  69 63 6b 20 74 6f 20 72  6f 74 61 74 65 2e 22 29  |ick to rotate.")|
0001ab40  0d 65 22 3b f2 73 65 74  69 63 6f 6e 28 39 2c 32  |.e";.seticon(9,2|
0001ab50  2c 22 54 72 61 6e 73 70  61 72 65 6e 74 20 63 6f  |,"Transparent co|
0001ab60  6c 6f 75 72 73 20 77 69  6c 6c 20 6e 6f 74 20 62  |lours will not b|
0001ab70  65 20 63 6f 70 69 65 64  2e 22 29 0d 65 2c 05 cb  |e copied.").e,..|
0001ab80  0d 65 36 05 e1 0d ff                              |.e6....|
0001ab87