Home » Archimedes archive » Archimedes World » AW-1991-11.adf » November91 » !AWNov91/Goodies/Archrome/!Archrome/!RunImage

!AWNov91/Goodies/Archrome/!Archrome/!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-11.adf » November91
Filename: !AWNov91/Goodies/Archrome/!Archrome/!RunImage
Read OK:
File size: 1AB96 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM ><Archrome$Dir>.!RunImage
   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% 5*1024,MENUIND% 5*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>"
  640IF 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):PROCmhtrbm:ENDPROC
15590IF MOUIC%=14 THEN SYS&2E,289,BRUSH%,STR$EDBR%:PROCforcedrawedbru(0,-640,1024,0):PROCmhtrbm: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):PROCmhtrbm: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):PROCmhtrbm: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):PROCmhtrbm: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):PROCmhtrbm: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):PROCmhtrbm: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):PROCmhtrbm: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):PROCmhtrbm: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%>5*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%>(5*1024) THEN PROCmessage(1,"Menu indirection buffer overflow.")
20950MEOF%+=24
20960IF MEOF%>(5*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
 � � �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% 5*1024,MENUIND% 5*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>"
�c� LF$<>"" � �("LOAD "+LF$+" "+�~(PIC%+4)):PIC$=�leaf(LF$):�seticon(0,1,LF$) � 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):�
<�R� MOUIC%=13 � ș&2E,303,BRUSH%,�EDBR%:�forcedrawedbru(0,-640,1024,0):�mhtrbm:�
<�R� MOUIC%=14 � ș&2E,289,BRUSH%,�EDBR%:�forcedrawedbru(0,-640,1024,0):�mhtrbm:�
<�� 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):�mhtrbm:�
=� 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):�mhtrbm:�
=,� 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):�mhtrbm:�
=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):�mhtrbm:�
=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):�mhtrbm:�
=�� MOUIC%<>12 � � �td}
=�P�L%=0 � 1:�insprite(L%,BRUSH%,�EDBR%):�0,0 Ȝ 0:ȓ Ȑ 0,0,62,60:�outsprite:�
=�,�forcedrawedbru(0,-640,1024,0):�mhtrbm:�
=�E� MOUIC%=20 � ș&2E,268,BRUSH%,"<Archrome$Dir>.Brushes":�menoff:�
=�d� MOUIC%=21 � ș&2E,266,BRUSH%,"<Archrome$Dir>.Brushes":�forcedrawedbru(0,-640,1024,0):�mhtrbm:�
=�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%>5*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%>(5*1024) � �message(1,"Menu indirection buffer overflow.")
Q�
MEOF%+=24
Q�B� MEOF%>(5*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 14 20 ee 20 85 20 ef  34 2c 37 3a f6 3a f1 3b  |.. . . .4,7:.:.;|
00000030  22 20 61 74 20 6c 69 6e  65 20 22 3b 9e 3a e0 0d  |" at line ";.:..|
00000040  00 1e 46 c8 99 20 22 4f  53 5f 47 65 74 45 6e 76  |..F.. "OS_GetEnv|
00000050  22 20 b8 20 41 24 3a e7  20 c2 41 24 2c 31 29 3c  |" . A$:. .A$,1)<|
00000060  3e 22 20 22 20 8c 20 4c  46 24 3d c1 41 24 2c a7  |>" " . LF$=.A$,.|
00000070  41 24 2c 22 22 22 20 22  29 2b 32 29 20 8b 20 4c  |A$,""" ")+2) . L|
00000080  46 24 3d 22 22 0d 00 28  0a f2 73 65 74 75 70 0d  |F$=""..(..setup.|
00000090  00 32 0f ee 20 85 20 f2  6d 61 6b 65 72 72 0d 00  |.2.. . .makerr..|
000000a0  3c 0b f2 61 63 74 69 6f  6e 0d 00 46 08 f2 64 69  |<..action..F..di|
000000b0  65 0d 00 50 05 e0 0d 00  5a 0b dd f2 73 65 74 75  |e..P....Z...setu|
000000c0  70 0d 00 64 96 de 20 50  4f 49 25 20 32 35 36 2c  |p..d.. POI% 256,|
000000d0  54 41 53 25 20 32 30 30  30 2c 42 4c 4b 25 20 31  |TAS% 2000,BLK% 1|
000000e0  30 30 30 2c 4d 45 4e 55  25 20 35 2a 31 30 32 34  |000,MENU% 5*1024|
000000f0  2c 4d 45 4e 55 49 4e 44  25 20 35 2a 31 30 32 34  |,MENUIND% 5*1024|
00000100  2c 53 45 4c 25 20 32 35  36 2c 49 43 42 4c 4b 25  |,SEL% 256,ICBLK%|
00000110  20 32 35 36 2c 56 41 52  53 20 31 32 38 2c 4d 45  | 256,VARS 128,ME|
00000120  4e 41 44 25 28 33 30 30  29 2c 4d 45 4e 41 4c 4f  |NAD%(300),MENALO|
00000130  25 20 31 36 2c 43 4f 44  45 25 20 36 2a 31 30 32  |% 16,CODE% 6*102|
00000140  34 2c 49 4f 25 20 32 35  36 2c 54 52 41 4e 53 54  |4,IO% 256,TRANST|
00000150  41 42 25 20 32 35 36 0d  00 6e 1b 4d 45 4f 46 25  |AB% 256..n.MEOF%|
00000160  3d 30 3a 4d 45 49 4e 25  3d 30 3a 4d 42 55 53 25  |=0:MEIN%=0:MBUS%|
00000170  3d a3 0d 00 78 13 24 4d  45 4e 41 4c 4f 25 3d 22  |=...x.$MENALO%="|
00000180  41 20 2d 7e 22 0d 00 82  42 de 20 50 49 43 25 20  |A -~"...B. PIC% |
00000190  31 34 35 2a 31 30 32 34  2c 53 43 41 4c 45 25 20  |145*1024,SCALE% |
000001a0  33 32 2c 50 49 58 54 41  42 25 20 32 35 36 2c 50  |32,PIXTAB% 256,P|
000001b0  49 58 54 41 42 32 25 20  32 35 36 2c 58 25 28 38  |IXTAB2% 256,X%(8|
000001c0  29 2c 59 25 28 38 29 0d  00 8c 36 53 50 42 55 46  |),Y%(8)...6SPBUF|
000001d0  25 3d 93 3a 53 50 53 49  5a 25 3d 30 3a c8 99 20  |%=.:SPSIZ%=0:.. |
000001e0  22 57 69 6d 70 5f 53 6c  6f 74 53 69 7a 65 22 2c  |"Wimp_SlotSize",|
000001f0  2d 31 2c 2d 31 20 b8 20  43 55 53 4c 25 0d 00 96  |-1,-1 . CUSL%...|
00000200  8f de 20 50 41 4c 25 20  32 32 36 30 30 2c 4f 50  |.. PAL% 22600,OP|
00000210  41 4c 25 20 32 32 36 30  30 2c 50 41 4c 54 41 42  |AL% 22600,PALTAB|
00000220  25 20 35 31 32 2c 42 54  43 25 20 32 35 36 2c 43  |% 512,BTC% 256,C|
00000230  54 54 25 20 32 35 36 2c  54 54 42 25 20 32 35 36  |TT% 256,TTB% 256|
00000240  2c 52 4f 54 54 41 42 25  20 31 38 30 30 2c 52 41  |,ROTTAB% 1800,RA|
00000250  4e 44 25 20 34 30 39 36  2c 50 46 49 4c 4c 53 25  |ND% 4096,PFILLS%|
00000260  20 37 30 30 30 3a 21 50  41 4c 25 3d 32 32 36 30  | 7000:!PAL%=2260|
00000270  30 3a 21 4f 50 41 4c 25  3d 32 32 36 30 30 3a 21  |0:!OPAL%=22600:!|
00000280  50 46 49 4c 4c 53 25 3d  37 30 30 30 0d 00 a0 20  |PFILLS%=7000... |
00000290  de 20 42 52 55 53 48 25  20 31 33 30 30 30 3a 21  |. BRUSH% 13000:!|
000002a0  42 52 55 53 48 25 3d 31  33 30 30 30 0d 00 aa 2d  |BRUSH%=13000...-|
000002b0  c8 99 26 32 45 2c 32 36  36 2c 42 52 55 53 48 25  |..&2E,266,BRUSH%|
000002c0  2c 22 3c 41 72 63 68 72  6f 6d 65 24 44 69 72 3e  |,"<Archrome$Dir>|
000002d0  2e 42 72 75 73 68 65 73  22 0d 00 b4 2b c8 99 26  |.Brushes"...+..&|
000002e0  32 45 2c 32 36 36 2c 50  41 4c 25 2c 22 3c 41 72  |2E,266,PAL%,"<Ar|
000002f0  63 68 72 6f 6d 65 24 44  69 72 3e 2e 50 61 6c 65  |chrome$Dir>.Pale|
00000300  74 74 65 22 0d 00 be 2c  c8 99 26 32 45 2c 32 36  |tte"...,..&2E,26|
00000310  36 2c 4f 50 41 4c 25 2c  22 3c 41 72 63 68 72 6f  |6,OPAL%,"<Archro|
00000320  6d 65 24 44 69 72 3e 2e  50 61 6c 65 74 74 65 22  |me$Dir>.Palette"|
00000330  0d 00 c8 2f c8 99 26 32  45 2c 32 36 36 2c 50 46  |.../..&2E,266,PF|
00000340  49 4c 4c 53 25 2c 22 3c  41 72 63 68 72 6f 6d 65  |ILLS%,"<Archrome|
00000350  24 44 69 72 3e 2e 50 61  74 46 69 6c 6c 73 22 0d  |$Dir>.PatFills".|
00000360  00 d2 2e ff 28 22 4c 4f  41 44 20 3c 41 72 63 68  |....("LOAD <Arch|
00000370  72 6f 6d 65 24 44 69 72  3e 2e 50 61 6c 54 61 62  |rome$Dir>.PalTab|
00000380  20 22 2b c3 7e 50 41 4c  54 41 42 25 29 0d 00 dc  | "+.~PALTAB%)...|
00000390  36 ff 28 22 4c 4f 41 44  20 3c 41 72 63 68 72 6f  |6.("LOAD <Archro|
000003a0  6d 65 24 44 69 72 3e 2e  42 54 43 20 22 2b c3 7e  |me$Dir>.BTC "+.~|
000003b0  42 54 43 25 29 3a f4 20  62 79 74 65 20 2d 3e 20  |BTC%):. byte -> |
000003c0  70 61 6c 0d 00 e6 36 ff  28 22 4c 4f 41 44 20 3c  |pal...6.("LOAD <|
000003d0  41 72 63 68 72 6f 6d 65  24 44 69 72 3e 2e 43 54  |Archrome$Dir>.CT|
000003e0  54 20 22 2b c3 7e 43 54  54 25 29 3a f4 20 70 61  |T "+.~CTT%):. pa|
000003f0  6c 20 2d 3e 20 62 79 74  65 0d 00 f0 3f ff 28 22  |l -> byte...?.("|
00000400  4c 4f 41 44 20 3c 41 72  63 68 72 6f 6d 65 24 44  |LOAD <Archrome$D|
00000410  69 72 3e 2e 54 54 42 20  22 2b c3 7e 54 54 42 25  |ir>.TTB "+.~TTB%|
00000420  29 3a f4 20 28 63 6f 6c  2a 36 34 29 2b 74 69 6e  |):. (col*64)+tin|
00000430  74 20 2d 3e 20 70 61 6c  0d 00 fa 2e ff 28 22 4c  |t -> pal.....("L|
00000440  4f 41 44 20 3c 41 72 63  68 72 6f 6d 65 24 44 69  |OAD <Archrome$Di|
00000450  72 3e 2e 52 6f 74 54 61  62 20 22 2b c3 7e 52 4f  |r>.RotTab "+.~RO|
00000460  54 54 41 42 25 29 0d 01  04 2a ff 28 22 4c 4f 41  |TTAB%)...*.("LOA|
00000470  44 20 3c 41 72 63 68 72  6f 6d 65 24 44 69 72 3e  |D <Archrome$Dir>|
00000480  2e 43 6f 64 65 20 22 2b  c3 7e 43 4f 44 45 25 29  |.Code "+.~CODE%)|
00000490  0d 01 0e 2e ff 28 22 4c  4f 41 44 20 3c 41 72 63  |.....("LOAD <Arc|
000004a0  68 72 6f 6d 65 24 44 69  72 3e 2e 52 6f 74 54 61  |hrome$Dir>.RotTa|
000004b0  62 20 22 2b c3 7e 52 4f  54 54 41 42 25 29 0d 01  |b "+.~ROTTAB%)..|
000004c0  18 2f 43 4f 4c 25 3d 32  35 35 3a 46 55 53 45 25  |./COL%=255:FUSE%|
000004d0  3d 2d 31 3a 46 55 53 54  25 3d 2d 31 3a 46 55 43  |=-1:FUST%=-1:FUC|
000004e0  4f 25 3d 30 3a 42 55 54  44 4f 25 3d a3 0d 01 22  |O%=0:BUTDO%=..."|
000004f0  41 24 54 41 53 25 3d 22  54 41 53 4b 22 3a c8 99  |A$TAS%="TASK":..|
00000500  22 57 69 6d 70 5f 49 6e  69 74 69 61 6c 69 73 65  |"Wimp_Initialise|
00000510  22 2c 32 30 30 2c 21 54  41 53 25 2c 22 41 72 63  |",200,!TAS%,"Arc|
00000520  68 72 6f 6d 65 22 20 b8  20 48 41 4e 44 25 0d 01  |hrome" . HAND%..|
00000530  2c 10 f2 6c 6f 61 64 73  70 72 69 74 65 73 0d 01  |,..loadsprites..|
00000540  36 0d f2 6c 6f 61 64 76  61 72 73 0d 01 40 42 21  |6..loadvars..@B!|
00000550  42 4c 4b 25 3d 2d 31 3a  42 4c 4b 25 21 34 3d 30  |BLK%=-1:BLK%!4=0|
00000560  3a 42 4c 4b 25 21 38 3d  30 3a 42 4c 4b 25 21 31  |:BLK%!8=0:BLK%!1|
00000570  32 3d 36 34 3a 42 4c 4b  25 21 31 36 3d 36 34 3a  |2=64:BLK%!16=64:|
00000580  42 4c 4b 25 21 32 30 3d  26 32 31 30 32 0d 01 4a  |BLK%!20=&2102..J|
00000590  43 de 20 42 4c 4b 25 21  32 34 20 31 30 3a 24 28  |C. BLK%!24 10:$(|
000005a0  42 4c 4b 25 21 32 34 29  3d 22 21 41 72 63 68 72  |BLK%!24)="!Archr|
000005b0  6f 6d 65 22 3a 42 4c 4b  25 21 32 38 3d 53 50 52  |ome":BLK%!28=SPR|
000005c0  49 54 45 53 25 3a 42 4c  4b 25 21 33 32 3d 31 30  |ITES%:BLK%!32=10|
000005d0  0d 01 54 28 c8 99 20 22  57 69 6d 70 5f 43 72 65  |..T(.. "Wimp_Cre|
000005e0  61 74 65 49 63 6f 6e 22  2c 2c 42 4c 4b 25 20 b8  |ateIcon",,BLK% .|
000005f0  20 49 43 48 41 4e 44 25  0d 01 5e 19 4e 4f 57 49  | ICHAND%..^.NOWI|
00000600  4e 44 25 3d 32 34 3a 4e  4f 4d 45 4e 53 25 3d 31  |ND%=24:NOMENS%=1|
00000610  37 0d 01 68 2d de 20 53  54 4f 52 45 25 20 31 35  |7..h-. STORE% 15|
00000620  2a 31 30 32 34 2c 42 55  46 25 20 34 30 34 38 2c  |*1024,BUF% 4048,|
00000630  48 41 4e 44 25 28 4e 4f  57 49 4e 44 25 29 0d 01  |HAND%(NOWIND%)..|
00000640  72 0f 53 4f 46 25 3d 53  54 4f 52 45 25 0d 01 7c  |r.SOF%=STORE%..||
00000650  bb dc 20 53 61 76 65 2c  49 6e 66 6f 2c 4d 61 69  |.. Save,Info,Mai|
00000660  6e 2c 50 61 6c 65 74 74  65 2c 41 69 72 62 72 75  |n,Palette,Airbru|
00000670  73 68 2c 42 72 75 73 68  65 73 2c 47 72 69 64 2c  |sh,Brushes,Grid,|
00000680  53 70 72 69 74 65 53 61  76 65 2c 41 72 65 61 2c  |SpriteSave,Area,|
00000690  48 65 6c 70 2c 4c 69 6e  65 70 61 74 2c 46 69 6c  |Help,Linepat,Fil|
000006a0  6c 70 61 74 2c 45 64 42  72 75 73 68 2c 45 64 46  |lpat,EdBrush,EdF|
000006b0  69 6c 6c 2c 54 65 78 74  2c 54 62 61 63 6b 2c 46  |ill,Text,Tback,F|
000006c0  6f 6e 74 50 61 72 61 6d  73 2c 46 69 6c 6c 43 6f  |ontParams,FillCo|
000006d0  6e 74 2c 43 6f 6c 52 65  70 2c 46 72 61 6d 65 2c  |nt,ColRep,Frame,|
000006e0  50 66 69 6c 6c 73 2c 52  47 42 63 6f 6e 74 2c 47  |Pfills,RGBcont,G|
000006f0  72 65 79 73 63 61 6c 65  2c 50 69 78 65 6c 61 74  |reyscale,Pixelat|
00000700  65 2c 52 6f 74 61 74 65  0d 01 86 0a f7 20 8d 44  |e,Rotate..... .D|
00000710  7c 41 0d 01 90 36 c8 99  20 22 57 69 6d 70 5f 4f  ||A...6.. "Wimp_O|
00000720  70 65 6e 54 65 6d 70 6c  61 74 65 22 2c 2c 22 3c  |penTemplate",,"<|
00000730  41 72 63 68 72 6f 6d 65  24 44 69 72 3e 2e 54 65  |Archrome$Dir>.Te|
00000740  6d 70 6c 61 74 65 73 22  0d 01 9a 13 e3 4b 25 3d  |mplates".....K%=|
00000750  30 20 b8 20 4e 4f 57 49  4e 44 25 0d 01 a4 10 f3  |0 . NOWIND%.....|
00000760  20 41 24 3a 24 49 4f 25  3d 41 24 0d 01 ae 48 c8  | A$:$IO%=A$...H.|
00000770  99 20 22 57 69 6d 70 5f  4c 6f 61 64 54 65 6d 70  |. "Wimp_LoadTemp|
00000780  6c 61 74 65 22 2c 2c 42  55 46 25 2c 53 4f 46 25  |late",,BUF%,SOF%|
00000790  2c 53 54 4f 52 45 25 2b  28 31 35 2a 31 30 32 34  |,STORE%+(15*1024|
000007a0  29 2c 2d 31 2c 49 4f 25  2c 30 20 b8 20 2c 2c 53  |),-1,IO%,0 . ,,S|
000007b0  4f 46 25 0d 01 b8 18 e7  20 4b 25 3d 32 20 8c 20  |OF%..... K%=2 . |
000007c0  42 55 46 25 3f 33 35 3d  26 46 46 0d 01 c2 2e c8  |BUF%?35=&FF.....|
000007d0  99 20 22 57 69 6d 70 5f  43 72 65 61 74 65 57 69  |. "Wimp_CreateWi|
000007e0  6e 64 6f 77 22 2c 2c 42  55 46 25 20 b8 20 48 41  |ndow",,BUF% . HA|
000007f0  4e 44 25 28 4b 25 29 3a  ed 0d 01 cc 1b c8 99 20  |ND%(K%):....... |
00000800  22 57 69 6d 70 5f 43 6c  6f 73 65 54 65 6d 70 6c  |"Wimp_CloseTempl|
00000810  61 74 65 22 0d 01 d6 23  e3 4c 25 3d 31 35 20 b8  |ate"...#.L%=15 .|
00000820  20 34 36 3a f2 73 68 61  64 65 69 63 6f 6e 28 31  | 46:.shadeicon(1|
00000830  30 2c 4c 25 29 3a ed 0d  01 e0 18 f2 73 65 74 69  |0,L%):......seti|
00000840  63 6f 6e 28 31 33 2c 34  34 2c 22 31 36 22 29 0d  |con(13,44,"16").|
00000850  01 ea 0c ef 32 33 2c 36  2c 30 7c 0d 01 f4 0f f2  |....23,6,0|.....|
00000860  73 79 73 74 65 6d 76 61  72 73 0d 01 fe 0a f2 63  |systemvars.....c|
00000870  68 61 72 73 0d 02 08 0e  f2 6c 6f 61 64 66 6f 6e  |hars.....loadfon|
00000880  74 73 0d 02 12 21 f2 62  75 69 6c 64 6d 61 69 6e  |ts...!.buildmain|
00000890  6d 65 6e 75 3a f2 62 75  69 6c 64 69 63 6f 6e 6d  |menu:.buildiconm|
000008a0  65 6e 75 0d 02 1c 05 e1  0d 02 26 04 0d 02 30 10  |enu.......&...0.|
000008b0  dd f2 73 79 73 74 65 6d  76 61 72 73 0d 02 3a 12  |..systemvars..:.|
000008c0  21 50 49 43 25 3d 31 34  35 2a 31 30 32 34 0d 02  |!PIC%=145*1024..|
000008d0  44 0c 50 49 43 25 21 34  3d 30 0d 02 4e 0d 50 49  |D.PIC%!4=0..N.PI|
000008e0  43 25 21 38 3d 32 34 0d  02 58 0e 50 49 43 25 21  |C%!8=24..X.PIC%!|
000008f0  31 32 3d 32 34 0d 02 62  38 f4 20 49 46 20 4c 25  |12=24..b8. IF L%|
00000900  3d 30 20 54 48 45 4e 20  53 59 53 26 32 45 2c 32  |=0 THEN SYS&2E,2|
00000910  36 36 2c 50 49 43 25 2c  22 3c 41 72 63 68 72 6f  |66,PIC%,"<Archro|
00000920  6d 65 24 44 69 72 3e 2e  54 65 73 74 22 0d 02 6c  |me$Dir>.Test"..l|
00000930  26 c8 99 20 26 32 45 2c  32 37 31 2c 50 49 43 25  |&.. &2E,271,PIC%|
00000940  2c 22 50 49 43 22 2c 30  2c 36 31 38 2c 32 33 34  |,"PIC",0,618,234|
00000950  2c 31 35 0d 02 76 15 50  49 43 24 3d 22 3c 55 6e  |,15..v.PIC$="<Un|
00000960  74 69 74 6c 65 64 3e 22  0d 02 80 63 e7 20 4c 46  |titled>"...c. LF|
00000970  24 3c 3e 22 22 20 8c 20  ff 28 22 4c 4f 41 44 20  |$<>"" . .("LOAD |
00000980  22 2b 4c 46 24 2b 22 20  22 2b c3 7e 28 50 49 43  |"+LF$+" "+.~(PIC|
00000990  25 2b 34 29 29 3a 50 49  43 24 3d a4 6c 65 61 66  |%+4)):PIC$=.leaf|
000009a0  28 4c 46 24 29 3a f2 73  65 74 69 63 6f 6e 28 30  |(LF$):.seticon(0|
000009b0  2c 31 2c 4c 46 24 29 20  8b 20 50 49 43 24 3d 22  |,1,LF$) . PIC$="|
000009c0  3c 55 6e 74 69 74 6c 65  64 3e 22 0d 02 8a 13 45  |<Untitled>"....E|
000009d0  53 4d 25 3d 2d 31 3a 45  50 4d 25 3d 2d 31 0d 02  |SM%=-1:EPM%=-1..|
000009e0  94 3d 47 52 43 4f 25 3d  2d 31 3a 47 52 54 49 25  |.=GRCO%=-1:GRTI%|
000009f0  3d 2d 31 3a 47 52 4c 4f  25 3d a3 3a 47 52 57 49  |=-1:GRLO%=.:GRWI|
00000a00  25 3d 31 3a 47 52 48 45  25 3d 31 3a 47 52 42 58  |%=1:GRHE%=1:GRBX|
00000a10  25 3d 30 3a 47 52 42 59  25 3d 30 0d 02 9e 33 47  |%=0:GRBY%=0...3G|
00000a20  52 58 4d 25 3d 31 3a 47  52 58 44 25 3d 31 3a 47  |RXM%=1:GRXD%=1:G|
00000a30  52 59 4d 25 3d 31 3a 47  52 59 44 25 3d 31 3a 47  |RYM%=1:GRYD%=1:G|
00000a40  52 46 58 25 3d a3 3a 47  52 46 59 25 3d a3 0d 02  |RFX%=.:GRFY%=...|
00000a50  a8 0b 5a 4f 4f 4d 25 3d  31 0d 02 b2 1a 55 53 45  |..ZOOM%=1....USE|
00000a60  25 3d 30 3a 4c 49 54 59  25 3d 35 3a 47 52 4d 41  |%=0:LITY%=5:GRMA|
00000a70  25 3d a3 0d 02 bc 1e de  20 50 41 54 25 28 35 29  |%=...... PAT%(5)|
00000a80  3a 50 41 54 25 28 29 3d  30 3a 50 41 4c 45 25 3d  |:PAT%()=0:PALE%=|
00000a90  38 0d 02 c6 1f de 20 45  43 46 25 28 38 2c 34 29  |8..... ECF%(8,4)|
00000aa0  3a 45 43 46 25 28 29 3d  30 3a 52 4f 54 25 3d 30  |:ECF%()=0:ROT%=0|
00000ab0  0d 02 d0 1d de 20 47 52  46 49 25 28 31 35 2c 31  |..... GRFI%(15,1|
00000ac0  2c 34 29 3a 47 52 46 49  25 28 29 3d 30 0d 02 da  |,4):GRFI%()=0...|
00000ad0  30 46 49 46 43 25 3d 36  33 3a 46 49 46 54 25 3d  |0FIFC%=63:FIFT%=|
00000ae0  31 39 32 3a 46 49 4c 43  25 3d 33 3a 46 49 4c 54  |192:FILC%=3:FILT|
00000af0  25 3d 31 39 32 3a 46 49  4c 52 25 3d 30 0d 02 e4  |%=192:FILR%=0...|
00000b00  09 49 50 25 3d a3 0d 02  ee 28 53 45 4c 42 52 25  |.IP%=....(SELBR%|
00000b10  3d 31 3a 42 58 4d 25 3d  31 3a 42 58 44 25 3d 31  |=1:BXM%=1:BXD%=1|
00000b20  3a 42 59 4d 25 3d 31 3a  42 59 44 25 3d 31 0d 02  |:BYM%=1:BYD%=1..|
00000b30  f8 1b 45 44 42 52 25 3d  31 3a 49 44 52 41 47 25  |..EDBR%=1:IDRAG%|
00000b40  3d a3 3a 43 50 46 25 3d  31 0d 03 02 0d f2 6f 70  |=.:CPF%=1.....op|
00000b50  65 6e 6d 61 69 6e 0d 03  0c 15 f2 77 69 6e 64 6e  |enmain.....windn|
00000b60  61 6d 65 28 32 2c 50 49  43 24 29 0d 03 16 1b de  |ame(2,PIC$).....|
00000b70  20 54 52 41 53 50 25 20  32 35 36 2c 20 52 45 50  | TRASP% 256, REP|
00000b80  53 25 20 32 35 36 0d 03  20 1d e3 4c 25 3d 30 20  |S% 256.. ..L%=0 |
00000b90  b8 20 32 35 35 3a 52 45  50 53 25 3f 4c 25 3d 4c  |. 255:REPS%?L%=L|
00000ba0  25 3a ed 0d 03 2a 21 e3  4c 25 3d 30 20 b8 20 32  |%:...*!.L%=0 . 2|
00000bb0  35 32 20 88 20 34 3a 54  52 41 53 50 25 21 4c 25  |52 . 4:TRASP%!L%|
00000bc0  3d 30 3a ed 0d 03 34 1b  de 20 46 4f 4e 54 24 28  |=0:...4.. FONT$(|
00000bd0  32 35 35 29 2c 46 4f 4e  54 54 24 28 36 34 29 0d  |255),FONTT$(64).|
00000be0  03 3e 16 46 4f 4e 54 42  25 3d 30 3a 53 52 45 50  |.>.FONTB%=0:SREP|
00000bf0  25 3d 32 35 35 0d 03 48  31 4d 4d 58 25 3d 31 3a  |%=255..H1MMX%=1:|
00000c00  4d 4d 59 25 3d 31 3a 4d  4f 50 25 3d a3 3a 4b 55  |MMY%=1:MOP%=.:KU|
00000c10  4b 45 25 3d a3 3a 4b 55  4b 44 25 3d 30 3a 4b 55  |KE%=.:KUKD%=0:KU|
00000c20  4b 4c 25 3d 2d 31 0d 03  52 05 e1 0d 03 5c 04 0d  |KL%=-1..R....\..|
00000c30  03 66 0e dd f2 6c 6f 61  64 76 61 72 73 0d 03 70  |.f...loadvars..p|
00000c40  1f 46 25 3d 8e 28 22 3c  41 72 63 68 72 6f 6d 65  |.F%=.("<Archrome|
00000c50  24 44 69 72 3e 2e 56 61  72 73 22 29 0d 03 7a b7  |$Dir>.Vars")..z.|
00000c60  e8 23 46 25 2c 62 61 63  6b 75 70 70 69 63 2c 66  |.#F%,backuppic,f|
00000c70  69 6c 6c 6d 61 73 6b 2c  67 65 74 70 69 63 62 79  |illmask,getpicby|
00000c80  74 65 2c 67 65 74 62 72  75 73 68 62 79 74 65 2c  |te,getbrushbyte,|
00000c90  73 65 74 70 69 63 62 79  74 65 2c 70 69 78 61 76  |setpicbyte,pixav|
00000ca0  65 72 61 67 65 2c 74 69  6e 74 61 72 65 61 2c 61  |erage,tintarea,a|
00000cb0  76 65 72 61 67 65 62 72  75 73 68 2c 74 69 6e 74  |veragebrush,tint|
00000cc0  62 72 75 73 68 2c 66 69  6e 64 63 68 61 6e 67 65  |brush,findchange|
00000cd0  62 6f 78 2c 67 72 61 64  75 61 74 65 64 66 69 6c  |box,graduatedfil|
00000ce0  6c 2c 63 6f 6c 72 65 70  2c 70 61 74 66 69 6c 6c  |l,colrep,patfill|
00000cf0  2c 72 67 62 63 6f 6e 74  2c 67 72 65 79 73 63 61  |,rgbcont,greysca|
00000d00  6c 65 2c 72 6f 74 61 74  65 2c 74 72 61 6e 73 61  |le,rotate,transa|
00000d10  72 65 61 0d 03 84 08 d9  23 46 25 0d 03 8e db 62  |rea.....#F%....b|
00000d20  61 63 6b 75 70 70 69 63  2b 3d 43 4f 44 45 25 3a  |ackuppic+=CODE%:|
00000d30  66 69 6c 6c 6d 61 73 6b  2b 3d 43 4f 44 45 25 3a  |fillmask+=CODE%:|
00000d40  67 65 74 70 69 63 62 79  74 65 2b 3d 43 4f 44 45  |getpicbyte+=CODE|
00000d50  25 3a 67 65 74 62 72 75  73 68 62 79 74 65 2b 3d  |%:getbrushbyte+=|
00000d60  43 4f 44 45 25 3a 73 65  74 70 69 63 62 79 74 65  |CODE%:setpicbyte|
00000d70  2b 3d 43 4f 44 45 25 3a  70 69 78 61 76 65 72 61  |+=CODE%:pixavera|
00000d80  67 65 2b 3d 43 4f 44 45  25 3a 74 69 6e 74 61 72  |ge+=CODE%:tintar|
00000d90  65 61 2b 3d 43 4f 44 45  25 3a 61 76 65 72 61 67  |ea+=CODE%:averag|
00000da0  65 62 72 75 73 68 2b 3d  43 4f 44 45 25 3a 74 69  |ebrush+=CODE%:ti|
00000db0  6e 74 62 72 75 73 68 2b  3d 43 4f 44 45 25 3a 66  |ntbrush+=CODE%:f|
00000dc0  69 6e 64 63 68 61 6e 67  65 62 6f 78 2b 3d 43 4f  |indchangebox+=CO|
00000dd0  44 45 25 3a 67 72 61 64  75 61 74 65 64 66 69 6c  |DE%:graduatedfil|
00000de0  6c 2b 3d 43 4f 44 45 25  3a 63 6f 6c 72 65 70 2b  |l+=CODE%:colrep+|
00000df0  3d 43 4f 44 45 25 0d 03  98 51 70 61 74 66 69 6c  |=CODE%...Qpatfil|
00000e00  6c 2b 3d 43 4f 44 45 25  3a 72 67 62 63 6f 6e 74  |l+=CODE%:rgbcont|
00000e10  2b 3d 43 4f 44 45 25 3a  67 72 65 79 73 63 61 6c  |+=CODE%:greyscal|
00000e20  65 2b 3d 43 4f 44 45 25  3a 72 6f 74 61 74 65 2b  |e+=CODE%:rotate+|
00000e30  3d 43 4f 44 45 25 3a 74  72 61 6e 73 61 72 65 61  |=CODE%:transarea|
00000e40  2b 3d 43 4f 44 45 25 0d  03 a2 05 e1 0d 03 ac 04  |+=CODE%.........|
00000e50  0d 03 b6 0f dd f2 6c 6f  61 64 66 6f 6e 74 73 0d  |......loadfonts.|
00000e60  03 c0 09 4e 25 3d 2d 31  0d 03 ca 1a 46 4f 4e 54  |...N%=-1....FONT|
00000e70  24 28 30 29 3d 22 53 79  73 74 65 6d 20 46 6f 6e  |$(0)="System Fon|
00000e80  74 22 0d 03 d4 3b c8 99  20 22 58 4f 53 5f 52 65  |t"...;.. "XOS_Re|
00000e90  61 64 56 61 72 56 61 6c  22 2c 22 46 6f 6e 74 24  |adVarVal","Font$|
00000ea0  50 61 74 68 22 2c 49 4f  25 2c 32 35 36 2c 2c 33  |Path",IO%,256,,3|
00000eb0  20 b8 20 2c 2c 4e 25 20  3b 65 72 72 25 0d 03 de  | . ,,N% ;err%...|
00000ec0  1d e7 20 28 65 72 72 25  20 80 20 31 29 20 8c 20  |.. (err% . 1) . |
00000ed0  46 4f 4e 54 53 25 3d 30  3a e1 0d 03 e8 12 46 50  |FONTS%=0:.....FP|
00000ee0  25 3d 30 3a 46 4f 4e 54  53 25 3d 30 0d 03 f2 05  |%=0:FONTS%=0....|
00000ef0  f5 0d 03 fc 2b c8 99 20  22 46 6f 6e 74 5f 4c 69  |....+.. "Font_Li|
00000f00  73 74 46 6f 6e 74 73 22  2c 2c 49 4f 25 2c 46 50  |stFonts",,IO%,FP|
00000f10  25 2c 2d 31 20 b8 20 2c  2c 46 50 25 0d 04 06 22  |%,-1 . ,,FP%..."|
00000f20  46 4f 4e 54 24 28 46 4f  4e 54 53 25 2b 31 29 3d  |FONT$(FONTS%+1)=|
00000f30  24 49 4f 25 3a 46 4f 4e  54 53 25 2b 3d 31 0d 04  |$IO%:FONTS%+=1..|
00000f40  10 0c fd 20 46 50 25 3d  2d 31 0d 04 1a 0d 46 4f  |... FP%=-1....FO|
00000f50  4e 54 53 25 2d 3d 31 0d  04 24 2d c8 99 20 22 46  |NTS%-=1..$-.. "F|
00000f60  6f 6e 74 5f 52 65 61 64  46 6f 6e 74 4d 61 78 22  |ont_ReadFontMax"|
00000f70  20 b8 20 42 25 2c 43 25  2c 44 25 2c 45 25 2c 46  | . B%,C%,D%,E%,F|
00000f80  25 2c 47 25 0d 04 2e b1  f2 73 65 74 69 63 6f 6e  |%,G%.....seticon|
00000f90  28 31 36 2c 31 32 2c c3  28 42 25 20 81 20 31 30  |(16,12,.(B% . 10|
00000fa0  32 34 29 29 3a f2 73 65  74 69 63 6f 6e 28 31 36  |24)):.seticon(16|
00000fb0  2c 31 33 2c c3 28 43 25  20 81 20 31 31 35 32 29  |,13,.(C% . 1152)|
00000fc0  29 3a f2 73 65 74 69 63  6f 6e 28 31 36 2c 31 34  |):.seticon(16,14|
00000fd0  2c c3 28 44 25 20 81 20  31 31 35 32 29 29 3a f2  |,.(D% . 1152)):.|
00000fe0  73 65 74 69 63 6f 6e 28  31 36 2c 31 35 2c c3 28  |seticon(16,15,.(|
00000ff0  45 25 20 81 20 31 31 35  32 29 29 3a f2 73 65 74  |E% . 1152)):.set|
00001000  69 63 6f 6e 28 31 36 2c  31 36 2c c3 28 46 25 20  |icon(16,16,.(F% |
00001010  81 20 31 31 35 32 29 29  3a f2 73 65 74 69 63 6f  |. 1152)):.setico|
00001020  6e 28 31 36 2c 31 37 2c  c3 28 47 25 20 81 20 31  |n(16,17,.(G% . 1|
00001030  31 35 32 29 29 0d 04 38  05 e1 0d 04 42 04 0d 04  |152))..8....B...|
00001040  4c 11 dd f2 6c 6f 61 64  73 70 72 69 74 65 73 0d  |L...loadsprites.|
00001050  04 56 13 de 20 53 50 52  49 54 45 53 25 20 32 30  |.V.. SPRITES% 20|
00001060  30 30 0d 04 60 6a 21 53  50 52 49 54 45 53 25 3d  |00..`j!SPRITES%=|
00001070  32 30 30 30 3a 53 50 52  49 54 45 53 25 21 34 3d  |2000:SPRITES%!4=|
00001080  30 3a 53 50 52 49 54 45  53 25 21 38 3d 31 36 3a  |0:SPRITES%!8=16:|
00001090  53 50 52 49 54 45 53 25  21 31 32 3d 31 36 3a c8  |SPRITES%!12=16:.|
000010a0  99 20 26 32 45 2c 32 36  36 2c 53 50 52 49 54 45  |. &2E,266,SPRITE|
000010b0  53 25 2c 22 3c 41 72 63  68 72 6f 6d 65 24 44 69  |S%,"<Archrome$Di|
000010c0  72 3e 2e 21 53 70 72 69  74 65 73 22 0d 04 6a 05  |r>.!Sprites"..j.|
000010d0  e1 0d 04 74 04 0d 04 7e  0c dd f2 61 63 74 69 6f  |...t...~...actio|
000010e0  6e 0d 04 88 05 f5 0d 04  92 09 f2 70 6f 6c 6c 0d  |n..........poll.|
000010f0  04 9c 27 fd 20 28 52 45  41 53 25 3d 31 37 20 84  |..'. (REAS%=17 .|
00001100  20 52 45 41 53 25 3d 31  38 29 20 80 20 42 4c 4b  | REAS%=18) . BLK|
00001110  25 21 31 36 3d 30 0d 04  a6 05 e1 0d 04 b0 04 0d  |%!16=0..........|
00001120  04 ba 19 dd f2 64 69 65  3a 4f 50 25 3d 30 3a f2  |.....die:OP%=0:.|
00001130  73 70 62 75 66 28 30 29  0d 04 c4 23 c8 99 20 22  |spbuf(0)...#.. "|
00001140  57 69 6d 70 5f 43 6c 6f  73 65 44 6f 77 6e 22 2c  |Wimp_CloseDown",|
00001150  48 41 4e 44 25 2c 21 54  41 53 25 0d 04 ce 05 e0  |HAND%,!TAS%.....|
00001160  0d 04 d8 05 e1 0d 04 e2  04 0d 04 ec 0a dd f2 70  |...............p|
00001170  6f 6c 6c 0d 04 f6 22 c8  99 20 22 57 69 6d 70 5f  |oll...".. "Wimp_|
00001180  47 65 74 50 6f 69 6e 74  65 72 49 6e 66 6f 22 2c  |GetPointerInfo",|
00001190  2c 42 4c 4b 25 0d 05 00  21 e7 20 42 4c 4b 25 21  |,BLK%...!. BLK%!|
000011a0  31 32 3c 3e 48 41 4e 44  25 28 32 29 20 8c 20 4d  |12<>HAND%(2) . M|
000011b0  42 55 53 25 3d b9 0d 05  0a 1f 21 42 4c 4b 25 3d  |BUS%=.....!BLK%=|
000011c0  25 31 30 30 31 31 31 31  31 31 31 30 31 30 30 31  |%100111111101001|
000011d0  31 30 30 30 30 0d 05 14  21 c8 99 20 22 57 69 6d  |10000...!.. "Wim|
000011e0  70 5f 50 6f 6c 6c 22 2c  30 2c 42 4c 4b 25 20 b8  |p_Poll",0,BLK% .|
000011f0  20 52 45 41 53 25 0d 05  1e 15 e7 20 52 45 41 53  | REAS%..... REAS|
00001200  25 3e 2d 31 20 8c 20 f2  61 63 74 0d 05 28 05 e1  |%>-1 . .act..(..|
00001210  0d 05 32 09 dd f2 61 63  74 0d 05 3c 0e c8 8e 20  |..2...act..<... |
00001220  52 45 41 53 25 20 ca 0d  05 46 16 c9 20 30 3a f2  |REAS% ...F.. 0:.|
00001230  6b 75 6b 65 3a f2 70 69  63 70 6f 6c 6c 0d 05 50  |kuke:.picpoll..P|
00001240  0f c9 20 31 3a f2 72 65  64 72 61 77 0d 05 5a 0f  |.. 1:.redraw..Z.|
00001250  c9 20 32 3a f2 6f 70 6d  61 69 6e 0d 05 64 0f c9  |. 2:.opmain..d..|
00001260  20 33 3a f2 63 6c 6d 61  69 6e 0d 05 6e 0e c9 20  | 3:.clmain..n.. |
00001270  36 3a f2 6d 6f 75 73 65  0d 05 78 0d c9 20 39 3a  |6:.mouse..x.. 9:|
00001280  f2 6d 65 6e 75 0d 05 82  10 c9 20 37 3a f2 64 72  |.menu..... 7:.dr|
00001290  61 67 66 69 6e 0d 05 8c  1f c9 20 31 37 2c 31 38  |agfin..... 17,18|
000012a0  3a f2 69 6e 6d 65 73 73  61 67 65 28 42 4c 4b 25  |:.inmessage(BLK%|
000012b0  21 31 36 29 0d 05 96 05  cb 0d 05 a0 05 e1 0d 05  |!16)............|
000012c0  aa 04 0d 05 b4 18 dd f2  6b 75 6b 65 3a e7 20 ac  |........kuke:. .|
000012d0  20 4b 55 4b 45 25 20 8c  20 e1 0d 05 be 0c 4b 55  | KUKE% . .....KU|
000012e0  4c 49 25 3d 31 30 0d 05  c8 18 c8 97 20 4d 58 25  |LI%=10...... MX%|
000012f0  2c 4d 59 25 2c 4d 48 25  3a 4b 50 25 3d a3 0d 05  |,MY%,MH%:KP%=...|
00001300  d2 15 e7 20 ac 20 a6 28  2d 35 38 29 20 8c 20 8d  |... . .(-58) . .|
00001310  64 7a 45 0d 05 dc 38 e7  20 4b 55 4b 4c 25 3c 3e  |dzE...8. KUKL%<>|
00001320  2d 35 38 20 8c 20 4b 55  4b 4c 25 3d 2d 35 38 3a  |-58 . KUKL%=-58:|
00001330  4b 55 4b 44 25 3d 30 3a  4d 59 25 2b 3d 34 3a 4b  |KUKD%=0:MY%+=4:K|
00001340  50 25 3d b9 3a e5 20 8d  64 7a 45 0d 05 e6 29 4b  |P%=.:. .dzE...)K|
00001350  55 4b 44 25 2b 3d 31 3a  e7 20 4b 55 4b 44 25 3c  |UKD%+=1:. KUKD%<|
00001360  4b 55 4c 49 25 20 8c 20  4b 50 25 3d b9 3a e5 20  |KULI% . KP%=.:. |
00001370  8d 64 7a 45 0d 05 f0 1c  4b 55 4b 44 25 3d 4b 55  |.dzE....KUKD%=KU|
00001380  4c 49 25 3a 4d 59 25 2b  3d 34 3a 4b 50 25 3d b9  |LI%:MY%+=4:KP%=.|
00001390  0d 05 fa 15 e7 20 ac 20  a6 28 2d 34 32 29 20 8c  |..... . .(-42) .|
000013a0  20 8d 54 62 46 0d 06 04  38 e7 20 4b 55 4b 4c 25  | .TbF...8. KUKL%|
000013b0  3c 3e 2d 35 38 20 8c 20  4b 55 4b 4c 25 3d 2d 35  |<>-58 . KUKL%=-5|
000013c0  38 3a 4b 55 4b 44 25 3d  30 3a 4d 59 25 2d 3d 34  |8:KUKD%=0:MY%-=4|
000013d0  3a 4b 50 25 3d b9 3a e5  20 8d 54 62 46 0d 06 0e  |:KP%=.:. .TbF...|
000013e0  29 4b 55 4b 44 25 2b 3d  31 3a e7 20 4b 55 4b 44  |)KUKD%+=1:. KUKD|
000013f0  25 3c 4b 55 4c 49 25 20  8c 20 4b 50 25 3d b9 3a  |%<KULI% . KP%=.:|
00001400  e5 20 8d 54 62 46 0d 06  18 1c 4b 55 4b 44 25 3d  |. .TbF....KUKD%=|
00001410  4b 55 4c 49 25 3a 4d 59  25 2d 3d 34 3a 4b 50 25  |KULI%:MY%-=4:KP%|
00001420  3d b9 0d 06 22 15 e7 20  ac 20 a6 28 2d 32 36 29  |=...".. . .(-26)|
00001430  20 8c 20 8d 44 4a 46 0d  06 2c 38 e7 20 4b 55 4b  | . .DJF..,8. KUK|
00001440  4c 25 3c 3e 2d 35 38 20  8c 20 4b 55 4b 4c 25 3d  |L%<>-58 . KUKL%=|
00001450  2d 35 38 3a 4b 55 4b 44  25 3d 30 3a 4d 58 25 2d  |-58:KUKD%=0:MX%-|
00001460  3d 32 3a 4b 50 25 3d b9  3a e5 20 8d 44 4a 46 0d  |=2:KP%=.:. .DJF.|
00001470  06 36 29 4b 55 4b 44 25  2b 3d 31 3a e7 20 4b 55  |.6)KUKD%+=1:. KU|
00001480  4b 44 25 3c 4b 55 4c 49  25 20 8c 20 4b 50 25 3d  |KD%<KULI% . KP%=|
00001490  b9 3a e5 20 8d 44 4a 46  0d 06 40 1c 4b 55 4b 44  |.:. .DJF..@.KUKD|
000014a0  25 3d 4b 55 4c 49 25 3a  4d 58 25 2d 3d 32 3a 4b  |%=KULI%:MX%-=2:K|
000014b0  50 25 3d b9 0d 06 4a 16  e7 20 ac 20 a6 28 2d 31  |P%=...J.. . .(-1|
000014c0  32 32 29 20 8c 20 8d 44  72 46 0d 06 54 38 e7 20  |22) . .DrF..T8. |
000014d0  4b 55 4b 4c 25 3c 3e 2d  35 38 20 8c 20 4b 55 4b  |KUKL%<>-58 . KUK|
000014e0  4c 25 3d 2d 35 38 3a 4b  55 4b 44 25 3d 30 3a 4d  |L%=-58:KUKD%=0:M|
000014f0  58 25 2b 3d 32 3a 4b 50  25 3d b9 3a e5 20 8d 44  |X%+=2:KP%=.:. .D|
00001500  72 46 0d 06 5e 29 4b 55  4b 44 25 2b 3d 31 3a e7  |rF..^)KUKD%+=1:.|
00001510  20 4b 55 4b 44 25 3c 4b  55 4c 49 25 20 8c 20 4b  | KUKD%<KULI% . K|
00001520  50 25 3d b9 3a e5 20 8d  44 72 46 0d 06 68 1c 4b  |P%=.:. .DrF..h.K|
00001530  55 4b 44 25 3d 4b 55 4c  49 25 3a 4d 58 25 2b 3d  |UKD%=KULI%:MX%+=|
00001540  32 3a 4b 50 25 3d b9 0d  06 72 1e e7 20 ac 20 4b  |2:KP%=...r.. . K|
00001550  50 25 20 8c 20 4b 55 4b  4c 25 3d 2d 31 3a 4b 55  |P% . KUKL%=-1:KU|
00001560  4b 44 25 3d 30 0d 06 7c  10 c8 97 20 b8 20 4d 58  |KD%=0..|... . MX|
00001570  25 2c 4d 59 25 0d 06 86  05 e1 0d 06 90 04 0d 06  |%,MY%...........|
00001580  9a 0c dd f2 72 65 64 72  61 77 0d 06 a4 0e c8 8e  |....redraw......|
00001590  20 21 42 4c 4b 25 20 ca  0d 06 ae 1a c9 20 48 41  | !BLK% ...... HA|
000015a0  4e 44 25 28 32 29 3a f2  72 65 64 72 61 77 6d 61  |ND%(2):.redrawma|
000015b0  69 6e 0d 06 b8 19 c9 20  48 41 4e 44 25 28 33 29  |in..... HAND%(3)|
000015c0  3a f2 72 65 64 72 61 77  70 61 6c 0d 06 c2 1b c9  |:.redrawpal.....|
000015d0  20 48 41 4e 44 25 28 35  29 3a f2 72 65 64 72 61  | HAND%(5):.redra|
000015e0  77 62 72 75 73 68 0d 06  cc 1a c9 20 48 41 4e 44  |wbrush..... HAND|
000015f0  25 28 31 31 29 3a f2 72  65 64 72 61 77 70 61 74  |%(11):.redrawpat|
00001600  0d 06 d6 1c c9 20 48 41  4e 44 25 28 31 32 29 3a  |..... HAND%(12):|
00001610  f2 72 65 64 72 61 77 65  64 62 72 75 0d 06 e0 1b  |.redrawedbru....|
00001620  c9 20 48 41 4e 44 25 28  31 33 29 3a f2 72 65 64  |. HAND%(13):.red|
00001630  72 61 77 66 69 6c 6c 0d  06 ea 1c c9 20 48 41 4e  |rawfill..... HAN|
00001640  44 25 28 31 35 29 3a f2  72 65 64 72 61 77 74 62  |D%(15):.redrawtb|
00001650  61 63 6b 0d 06 f4 1d c9  20 48 41 4e 44 25 28 31  |ack..... HAND%(1|
00001660  38 29 3a f2 72 65 64 72  61 77 63 6f 6c 72 65 70  |8):.redrawcolrep|
00001670  0d 06 fe 1e c9 20 48 41  4e 44 25 28 32 30 29 3a  |..... HAND%(20):|
00001680  f2 72 65 64 72 61 77 70  61 74 66 69 6c 6c 0d 07  |.redrawpatfill..|
00001690  08 05 cb 0d 07 12 05 e1  0d 07 1c 04 0d 07 26 11  |..............&.|
000016a0  dd f2 72 65 64 72 61 77  62 72 75 73 68 0d 07 30  |..redrawbrush..0|
000016b0  27 c8 99 20 22 57 69 6d  70 5f 52 65 64 72 61 77  |'.. "Wimp_Redraw|
000016c0  57 69 6e 64 6f 77 22 2c  2c 42 4c 4b 25 20 b8 20  |Window",,BLK% . |
000016d0  46 49 4e 25 0d 07 3a 0f  f2 67 65 74 62 72 75 73  |FIN%..:..getbrus|
000016e0  68 6f 72 0d 07 44 3c c8  95 20 46 49 4e 25 3a f2  |hor..D<.. FIN%:.|
000016f0  70 6c 6f 74 62 72 75 73  68 65 73 3a c8 99 20 22  |plotbrushes:.. "|
00001700  57 69 6d 70 5f 47 65 74  52 65 63 74 61 6e 67 6c  |Wimp_GetRectangl|
00001710  65 22 2c 2c 42 4c 4b 25  20 b8 20 46 49 4e 25 0d  |e",,BLK% . FIN%.|
00001720  07 4e 05 ce 0d 07 58 05  e1 0d 07 62 04 0d 07 6c  |.N....X....b...l|
00001730  11 dd f2 72 65 64 72 61  77 65 64 62 72 75 0d 07  |...redrawedbru..|
00001740  76 27 c8 99 20 22 57 69  6d 70 5f 52 65 64 72 61  |v'.. "Wimp_Redra|
00001750  77 57 69 6e 64 6f 77 22  2c 2c 42 4c 4b 25 20 b8  |wWindow",,BLK% .|
00001760  20 46 49 4e 25 0d 07 80  0f f2 67 65 74 65 64 62  | FIN%.....getedb|
00001770  72 75 6f 72 0d 07 8a 3a  c8 95 20 46 49 4e 25 3a  |ruor...:.. FIN%:|
00001780  f2 70 6c 6f 74 65 64 62  72 75 3a c8 99 20 22 57  |.plotedbru:.. "W|
00001790  69 6d 70 5f 47 65 74 52  65 63 74 61 6e 67 6c 65  |imp_GetRectangle|
000017a0  22 2c 2c 42 4c 4b 25 20  b8 20 46 49 4e 25 0d 07  |",,BLK% . FIN%..|
000017b0  94 05 ce 0d 07 9e 05 e1  0d 07 a8 04 0d 07 b2 13  |................|
000017c0  dd f2 72 65 64 72 61 77  70 61 74 66 69 6c 6c 0d  |..redrawpatfill.|
000017d0  07 bc 27 c8 99 20 22 57  69 6d 70 5f 52 65 64 72  |..'.. "Wimp_Redr|
000017e0  61 77 57 69 6e 64 6f 77  22 2c 2c 42 4c 4b 25 20  |awWindow",,BLK% |
000017f0  b8 20 46 49 4e 25 0d 07  c6 11 f2 67 65 74 70 61  |. FIN%.....getpa|
00001800  74 66 69 6c 6c 6f 72 0d  07 d0 3c c8 95 20 46 49  |tfillor...<.. FI|
00001810  4e 25 3a f2 70 6c 6f 74  70 61 74 66 69 6c 6c 3a  |N%:.plotpatfill:|
00001820  c8 99 20 22 57 69 6d 70  5f 47 65 74 52 65 63 74  |.. "Wimp_GetRect|
00001830  61 6e 67 6c 65 22 2c 2c  42 4c 4b 25 20 b8 20 46  |angle",,BLK% . F|
00001840  49 4e 25 0d 07 da 05 ce  0d 07 e4 05 e1 0d 07 ee  |IN%.............|
00001850  04 0d 07 f8 46 dd f2 66  6f 72 63 65 64 72 61 77  |....F..forcedraw|
00001860  70 61 74 66 69 6c 6c 3a  c8 99 20 22 57 69 6d 70  |patfill:.. "Wimp|
00001870  5f 46 6f 72 63 65 52 65  64 72 61 77 22 2c 48 41  |_ForceRedraw",HA|
00001880  4e 44 25 28 32 30 29 2c  30 2c 2d 31 30 38 2c 31  |ND%(20),0,-108,1|
00001890  31 30 30 2c 30 3a e1 0d  08 02 04 0d 08 0c 25 dd  |100,0:........%.|
000018a0  f2 66 6f 72 63 65 64 72  61 77 65 64 62 72 75 28  |.forcedrawedbru(|
000018b0  78 31 25 2c 79 31 25 2c  78 32 25 2c 79 32 25 29  |x1%,y1%,x2%,y2%)|
000018c0  0d 08 16 13 21 42 4c 4b  25 3d 48 41 4e 44 25 28  |....!BLK%=HAND%(|
000018d0  31 32 29 0d 08 20 0e 42  4c 4b 25 21 34 3d 78 31  |12).. .BLK%!4=x1|
000018e0  25 0d 08 2a 0e 42 4c 4b  25 21 38 3d 79 31 25 0d  |%..*.BLK%!8=y1%.|
000018f0  08 34 0f 42 4c 4b 25 21  31 32 3d 78 32 25 0d 08  |.4.BLK%!12=x2%..|
00001900  3e 0f 42 4c 4b 25 21 31  36 3d 79 32 25 0d 08 48  |>.BLK%!16=y2%..H|
00001910  27 c8 99 20 22 57 69 6d  70 5f 55 70 64 61 74 65  |'.. "Wimp_Update|
00001920  57 69 6e 64 6f 77 22 2c  2c 42 4c 4b 25 20 b8 20  |Window",,BLK% . |
00001930  46 49 4e 25 0d 08 52 0f  f2 67 65 74 65 64 62 72  |FIN%..R..getedbr|
00001940  75 6f 72 0d 08 5c 0b c8  95 20 46 49 4e 25 0d 08  |uor..\... FIN%..|
00001950  66 0e f2 70 6c 6f 74 65  64 62 72 75 0d 08 70 27  |f..plotedbru..p'|
00001960  c8 99 20 22 57 69 6d 70  5f 47 65 74 52 65 63 74  |.. "Wimp_GetRect|
00001970  61 6e 67 6c 65 22 2c 2c  42 4c 4b 25 20 b8 20 46  |angle",,BLK% . F|
00001980  49 4e 25 0d 08 7a 05 ce  0d 08 84 05 e1 0d 08 8e  |IN%..z..........|
00001990  04 0d 08 98 14 dd f2 66  6f 72 63 65 64 72 61 77  |.......forcedraw|
000019a0  62 72 75 73 68 0d 08 a2  12 21 42 4c 4b 25 3d 48  |brush....!BLK%=H|
000019b0  41 4e 44 25 28 35 29 0d  08 ac 0c 42 4c 4b 25 21  |AND%(5)....BLK%!|
000019c0  34 3d 30 0d 08 b6 0f 42  4c 4b 25 21 38 3d 2d 32  |4=0....BLK%!8=-2|
000019d0  36 30 0d 08 c0 0f 42 4c  4b 25 21 31 32 3d 33 38  |60....BLK%!12=38|
000019e0  34 0d 08 ca 0d 42 4c 4b  25 21 31 36 3d 30 0d 08  |4....BLK%!16=0..|
000019f0  d4 27 c8 99 20 22 57 69  6d 70 5f 55 70 64 61 74  |.'.. "Wimp_Updat|
00001a00  65 57 69 6e 64 6f 77 22  2c 2c 42 4c 4b 25 20 b8  |eWindow",,BLK% .|
00001a10  20 46 49 4e 25 0d 08 de  0f f2 67 65 74 62 72 75  | FIN%.....getbru|
00001a20  73 68 6f 72 0d 08 e8 0b  c8 95 20 46 49 4e 25 0d  |shor...... FIN%.|
00001a30  08 f2 10 f2 70 6c 6f 74  62 72 75 73 68 65 73 0d  |....plotbrushes.|
00001a40  08 fc 27 c8 99 20 22 57  69 6d 70 5f 47 65 74 52  |..'.. "Wimp_GetR|
00001a50  65 63 74 61 6e 67 6c 65  22 2c 2c 42 4c 4b 25 20  |ectangle",,BLK% |
00001a60  b8 20 46 49 4e 25 0d 09  06 05 ce 0d 09 10 05 e1  |. FIN%..........|
00001a70  0d 09 1a 04 0d 09 24 28  dd f2 70 6c 6f 74 32 35  |......$(..plot25|
00001a80  36 73 70 72 69 74 65 28  53 50 41 25 2c 53 50 49  |6sprite(SPA%,SPI|
00001a90  24 2c 50 4f 58 25 2c 50  4f 59 25 29 0d 09 2e 14  |$,POX%,POY%)....|
00001aa0  e7 20 eb 3c 3e 31 35 20  8c 20 e5 20 8d 44 42 49  |. .<>15 . . .DBI|
00001ab0  0d 09 38 5a 21 53 43 41  4c 45 25 3d 31 3a 53 43  |..8Z!SCALE%=1:SC|
00001ac0  41 4c 45 25 21 34 3d 31  3a 53 43 41 4c 45 25 21  |ALE%!4=1:SCALE%!|
00001ad0  38 3d 31 3a 53 43 41 4c  45 25 21 31 32 3d 31 3a  |8=1:SCALE%!12=1:|
00001ae0  c8 99 20 22 4f 53 5f 53  70 72 69 74 65 4f 70 22  |.. "OS_SpriteOp"|
00001af0  2c 32 39 30 2c 53 50 41  25 2c 53 50 49 24 2c 50  |,290,SPA%,SPI$,P|
00001b00  4f 58 25 2c 50 4f 59 25  3a e1 0d 09 42 39 e7 20  |OX%,POY%:...B9. |
00001b10  eb 3c 3e 45 53 4d 25 20  8c 20 45 53 4d 25 3d eb  |.<>ESM% . ESM%=.|
00001b20  3a 45 50 4d 25 3d eb 3a  c8 99 26 34 30 37 34 30  |:EPM%=.:..&40740|
00001b30  2c 31 35 2c 30 2c 2d 31  2c 2d 31 2c 50 49 58 54  |,15,0,-1,-1,PIXT|
00001b40  41 42 25 0d 09 4c 15 c8  99 26 33 35 2c 2d 31 2c  |AB%..L...&35,-1,|
00001b50  34 20 b8 20 2c 2c 45 25  0d 09 56 56 e7 20 45 25  |4 . ,,E%..VV. E%|
00001b60  3c 31 20 8c 20 53 58 25  3d 32 5e 28 31 2d 45 25  |<1 . SX%=2^(1-E%|
00001b70  29 3a 21 53 43 41 4c 45  25 3d 53 58 25 3a 53 43  |):!SCALE%=SX%:SC|
00001b80  41 4c 45 25 21 38 3d 31  20 8b 20 53 58 25 3d 32  |ALE%!8=1 . SX%=2|
00001b90  5e 28 45 25 2d 31 29 3a  21 53 43 41 4c 45 25 3d  |^(E%-1):!SCALE%=|
00001ba0  31 3a 53 43 41 4c 45 25  21 38 3d 53 58 25 0d 09  |1:SCALE%!8=SX%..|
00001bb0  60 1a 53 43 41 4c 45 25  21 34 3d 31 3a 53 43 41  |`.SCALE%!4=1:SCA|
00001bc0  4c 45 25 21 31 32 3d 31  0d 09 6a 3d c8 99 20 22  |LE%!12=1..j=.. "|
00001bd0  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 33 30 38  |OS_SpriteOp",308|
00001be0  2c 53 50 41 25 2c 53 50  49 24 2c 50 4f 58 25 2c  |,SPA%,SPI$,POX%,|
00001bf0  50 4f 59 25 2c 30 2c 53  43 41 4c 45 25 2c 50 49  |POY%,0,SCALE%,PI|
00001c00  58 54 41 42 25 0d 09 74  05 e1 0d 09 7e 04 0d 09  |XTAB%..t....~...|
00001c10  88 11 dd f2 70 6c 6f 74  70 61 74 66 69 6c 6c 0d  |....plotpatfill.|
00001c20  09 92 aa e3 4c 25 3d 31  20 b8 20 31 32 3a f2 70  |....L%=1 . 12:.p|
00001c30  6c 6f 74 32 35 36 73 70  72 69 74 65 28 50 46 49  |lot256sprite(PFI|
00001c40  4c 4c 53 25 2c c3 4c 25  2c 57 4f 58 25 2b 28 28  |LLS%,.L%,WOX%+((|
00001c50  4c 25 2d 31 29 2a 38 34  29 2b 32 34 2c 57 4f 59  |L%-1)*84)+24,WOY|
00001c60  25 2b 31 32 29 3a e7 20  43 50 46 25 3d 4c 25 20  |%+12):. CPF%=L% |
00001c70  8c 20 f2 63 6f 6c 28 30  2c 30 2c 30 29 3a c8 93  |. .col(0,0,0):..|
00001c80  20 57 4f 58 25 2b 28 28  43 50 46 25 2d 31 29 2a  | WOX%+((CPF%-1)*|
00001c90  38 34 29 2b 31 36 2c 57  4f 59 25 2b 34 2c 37 38  |84)+16,WOY%+4,78|
00001ca0  2c 37 36 3a c8 93 20 57  4f 58 25 2b 28 28 43 50  |,76:.. WOX%+((CP|
00001cb0  46 25 2d 31 29 2a 38 34  29 2b 31 38 2c 57 4f 59  |F%-1)*84)+18,WOY|
00001cc0  25 2b 34 2c 37 34 2c 37  36 0d 09 9c 05 ed 0d 09  |%+4,74,76.......|
00001cd0  a6 05 e1 0d 09 b0 04 0d  09 ba 11 dd f2 70 6c 6f  |.............plo|
00001ce0  74 62 72 75 73 68 65 73  0d 09 c4 0e e3 4c 25 3d  |tbrushes.....L%=|
00001cf0  31 20 b8 20 31 32 0d 09  ce 44 42 4c 4b 25 21 34  |1 . 12...DBLK%!4|
00001d00  30 30 3d 48 41 4e 44 25  28 35 29 3a 42 4c 4b 25  |00=HAND%(5):BLK%|
00001d10  21 34 30 34 3d 4c 25 2d  31 3a c8 99 20 22 57 69  |!404=L%-1:.. "Wi|
00001d20  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
00001d30  2c 2c 42 4c 4b 25 2b 34  30 30 0d 09 d8 48 f2 70  |,,BLK%+400...H.p|
00001d40  6c 6f 74 32 35 36 73 70  72 69 74 65 28 42 52 55  |lot256sprite(BRU|
00001d50  53 48 25 2c c3 4c 25 2c  57 4f 58 25 2b 28 42 4c  |SH%,.L%,WOX%+(BL|
00001d60  4b 25 21 34 30 38 29 2b  32 2c 57 4f 59 25 2b 28  |K%!408)+2,WOY%+(|
00001d70  32 36 30 2b 28 42 4c 4b  25 21 34 31 32 29 29 2b  |260+(BLK%!412))+|
00001d80  34 29 0d 09 e2 56 e7 20  53 45 4c 42 52 25 3d 4c  |4)...V. SELBR%=L|
00001d90  25 20 8c 20 f2 63 6f 6c  28 34 38 2c 31 39 32 2c  |% . .col(48,192,|
00001da0  33 29 3a c8 93 20 c8 90  20 57 4f 58 25 2b 28 42  |3):.. .. WOX%+(B|
00001db0  4c 4b 25 21 34 30 38 29  2b 32 2c 57 4f 59 25 2b  |LK%!408)+2,WOY%+|
00001dc0  28 32 36 30 2b 28 42 4c  4b 25 21 34 31 32 29 29  |(260+(BLK%!412))|
00001dd0  2b 34 2c 36 34 2c 36 30  0d 09 ec 05 ed 0d 09 f6  |+4,64,60........|
00001de0  05 e1 0d 0a 00 04 0d 0a  0a 0f dd f2 70 6c 6f 74  |............plot|
00001df0  65 64 62 72 75 0d 0a 14  0e e3 4c 25 3d 31 20 b8  |edbru.....L%=1 .|
00001e00  20 31 32 0d 0a 1e 45 42  4c 4b 25 21 34 30 30 3d  | 12...EBLK%!400=|
00001e10  48 41 4e 44 25 28 31 32  29 3a 42 4c 4b 25 21 34  |HAND%(12):BLK%!4|
00001e20  30 34 3d 4c 25 2d 31 3a  c8 99 20 22 57 69 6d 70  |04=L%-1:.. "Wimp|
00001e30  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
00001e40  42 4c 4b 25 2b 34 30 30  0d 0a 28 3a f2 70 6c 6f  |BLK%+400..(:.plo|
00001e50  74 32 35 36 73 70 72 69  74 65 28 42 52 55 53 48  |t256sprite(BRUSH|
00001e60  25 2c c3 4c 25 2c 57 4f  58 25 2b 28 28 4c 25 2d  |%,.L%,WOX%+((L%-|
00001e70  31 29 2a 36 34 29 2b 33  32 2c 57 4f 59 25 2b 32  |1)*64)+32,WOY%+2|
00001e80  30 29 0d 0a 32 47 e7 20  45 44 42 52 25 3d 4c 25  |0)..2G. EDBR%=L%|
00001e90  20 8c 20 f2 63 6f 6c 28  34 38 2c 31 39 32 2c 33  | . .col(48,192,3|
00001ea0  29 3a c8 93 20 c8 90 20  57 4f 58 25 2b 28 28 4c  |):.. .. WOX%+((L|
00001eb0  25 2d 31 29 2a 36 34 29  2b 33 32 2c 57 4f 59 25  |%-1)*64)+32,WOY%|
00001ec0  2b 32 30 2c 36 34 2c 36  30 0d 0a 3c 05 ed 0d 0a  |+20,64,60..<....|
00001ed0  46 23 21 53 43 41 4c 45  25 3d 28 21 53 43 41 4c  |F#!SCALE%=(!SCAL|
00001ee0  45 25 29 2a 31 32 3a 53  43 41 4c 45 25 21 34 3d  |E%)*12:SCALE%!4=|
00001ef0  38 0d 0a 50 91 e7 20 eb  3c 3e 31 35 20 8c 20 c8  |8..P.. .<>15 . .|
00001f00  99 20 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |. "OS_SpriteOp",|
00001f10  33 30 38 2c 42 52 55 53  48 25 2c c3 45 44 42 52  |308,BRUSH%,.EDBR|
00001f20  25 2c 57 4f 58 25 2b 32  38 2c 57 4f 59 25 2b 31  |%,WOX%+28,WOY%+1|
00001f30  31 32 2c 30 2c 53 43 41  4c 45 25 2c 50 49 58 54  |12,0,SCALE%,PIXT|
00001f40  41 42 25 20 8b 20 c8 99  20 22 4f 53 5f 53 70 72  |AB% . .. "OS_Spr|
00001f50  69 74 65 4f 70 22 2c 33  30 38 2c 42 52 55 53 48  |iteOp",308,BRUSH|
00001f60  25 2c c3 45 44 42 52 25  2c 57 4f 58 25 2b 32 38  |%,.EDBR%,WOX%+28|
00001f70  2c 57 4f 59 25 2b 31 31  32 2c 30 2c 53 43 41 4c  |,WOY%+112,0,SCAL|
00001f80  45 25 0d 0a 5a 91 45 58  25 3d 57 4f 58 25 2b 32  |E%..Z.EX%=WOX%+2|
00001f90  38 3a 45 59 25 3d 57 4f  59 25 2b 31 31 32 3a f2  |8:EY%=WOY%+112:.|
00001fa0  63 6f 6c 28 32 31 2c 31  39 32 2c 30 29 3a e3 4c  |col(21,192,0):.L|
00001fb0  25 3d 30 20 b8 20 33 32  3a 86 20 45 58 25 2b 28  |%=0 . 32:. EX%+(|
00001fc0  4c 25 2a 32 34 29 2c 45  59 25 2c 45 58 25 2b 28  |L%*24),EY%,EX%+(|
00001fd0  4c 25 2a 32 34 29 2c 45  59 25 2b 35 31 32 3a ed  |L%*24),EY%+512:.|
00001fe0  3a e3 4c 25 3d 30 20 b8  20 31 36 3a 86 20 45 58  |:.L%=0 . 16:. EX|
00001ff0  25 2c 45 59 25 2b 28 4c  25 2a 33 32 29 2c 45 58  |%,EY%+(L%*32),EX|
00002000  25 2b 37 36 38 2c 45 59  25 2b 28 4c 25 2a 33 32  |%+768,EY%+(L%*32|
00002010  29 3a ed 0d 0a 64 05 e1  0d 0a 6e 04 0d 0a 78 13  |):...d....n...x.|
00002020  dd f2 66 6f 72 63 65 64  72 61 77 6d 61 69 6e 0d  |..forcedrawmain.|
00002030  0a 82 12 21 42 4c 4b 25  3d 48 41 4e 44 25 28 32  |...!BLK%=HAND%(2|
00002040  29 0d 0a 8c 0c 42 4c 4b  25 21 34 3d 30 0d 0a 96  |)....BLK%!4=0...|
00002050  15 42 4c 4b 25 21 38 3d  2d 39 33 36 2a 5a 4f 4f  |.BLK%!8=-936*ZOO|
00002060  4d 25 0d 0a a0 16 42 4c  4b 25 21 31 32 3d 31 32  |M%....BLK%!12=12|
00002070  33 36 2a 5a 4f 4f 4d 25  0d 0a aa 0d 42 4c 4b 25  |36*ZOOM%....BLK%|
00002080  21 31 36 3d 30 0d 0a b4  27 c8 99 20 22 57 69 6d  |!16=0...'.. "Wim|
00002090  70 5f 55 70 64 61 74 65  57 69 6e 64 6f 77 22 2c  |p_UpdateWindow",|
000020a0  2c 42 4c 4b 25 20 b8 20  46 49 4e 25 0d 0a be 0a  |,BLK% . FIN%....|
000020b0  f2 67 65 74 6f 72 0d 0a  c8 0b c8 95 20 46 49 4e  |.getor...... FIN|
000020c0  25 0d 0a d2 0c f2 70 6c  6f 74 70 69 63 0d 0a dc  |%.....plotpic...|
000020d0  27 c8 99 20 22 57 69 6d  70 5f 47 65 74 52 65 63  |'.. "Wimp_GetRec|
000020e0  74 61 6e 67 6c 65 22 2c  2c 42 4c 4b 25 20 b8 20  |tangle",,BLK% . |
000020f0  46 49 4e 25 0d 0a e6 05  ce 0d 0a f0 05 e1 0d 0a  |FIN%............|
00002100  fa 04 0d 0b 04 21 dd f2  71 75 69 63 6b 64 72 61  |.....!..quickdra|
00002110  77 6d 61 69 6e 3a e7 20  ac 20 56 41 43 42 25 20  |wmain:. . VACB% |
00002120  8c 20 e1 0d 0b 0e 12 21  42 4c 4b 25 3d 48 41 4e  |. .....!BLK%=HAN|
00002130  44 25 28 32 29 0d 0b 18  12 42 4c 4b 25 21 34 3d  |D%(2)....BLK%!4=|
00002140  43 42 4d 49 4e 58 25 0d  0b 22 12 42 4c 4b 25 21  |CBMINX%..".BLK%!|
00002150  38 3d 43 42 4d 49 4e 59  25 0d 0b 2c 13 42 4c 4b  |8=CBMINY%..,.BLK|
00002160  25 21 31 32 3d 43 42 4d  41 58 58 25 0d 0b 36 13  |%!12=CBMAXX%..6.|
00002170  42 4c 4b 25 21 31 36 3d  43 42 4d 41 58 59 25 0d  |BLK%!16=CBMAXY%.|
00002180  0b 40 27 c8 99 20 22 57  69 6d 70 5f 55 70 64 61  |.@'.. "Wimp_Upda|
00002190  74 65 57 69 6e 64 6f 77  22 2c 2c 42 4c 4b 25 20  |teWindow",,BLK% |
000021a0  b8 20 46 49 4e 25 0d 0b  4a 0a f2 67 65 74 6f 72  |. FIN%..J..getor|
000021b0  0d 0b 54 0b c8 95 20 46  49 4e 25 0d 0b 5e 0c f2  |..T... FIN%..^..|
000021c0  70 6c 6f 74 70 69 63 0d  0b 68 27 c8 99 20 22 57  |plotpic..h'.. "W|
000021d0  69 6d 70 5f 47 65 74 52  65 63 74 61 6e 67 6c 65  |imp_GetRectangle|
000021e0  22 2c 2c 42 4c 4b 25 20  b8 20 46 49 4e 25 0d 0b  |",,BLK% . FIN%..|
000021f0  72 05 ce 0d 0b 7c 05 e1  0d 0b 86 04 0d 0b 90 15  |r....|..........|
00002200  dd f2 69 6e 70 69 63 3a  e7 20 49 50 25 20 8c 20  |..inpic:. IP% . |
00002210  e1 0d 0b 9a 09 49 50 25  3d b9 0d 0b a4 31 c8 99  |.....IP%=....1..|
00002220  20 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 33  | "OS_SpriteOp",3|
00002230  31 36 2c 50 49 43 25 2c  22 50 49 43 22 20 b8 20  |16,PIC%,"PIC" . |
00002240  56 31 2c 56 32 2c 56 33  2c 56 34 0d 0b ae 18 c8  |V1,V2,V3,V4.....|
00002250  99 20 22 4f 53 5f 43 68  61 6e 67 65 64 42 6f 78  |. "OS_ChangedBox|
00002260  22 2c 32 0d 0b b8 18 c8  99 20 22 4f 53 5f 43 68  |",2...... "OS_Ch|
00002270  61 6e 67 65 64 42 6f 78  22 2c 31 0d 0b c2 38 f4  |angedBox",1...8.|
00002280  20 47 43 4f 4c 33 2c 36  33 3a 4c 49 4e 45 20 33  | GCOL3,63:LINE 3|
00002290  30 30 2c 33 30 30 2c 33  32 30 2c 33 32 30 3a 4c  |00,300,320,320:L|
000022a0  49 4e 45 20 33 30 30 2c  33 30 30 2c 33 32 30 2c  |INE 300,300,320,|
000022b0  33 32 30 0d 0b cc 25 ef  32 33 2c 36 3a e3 4c 25  |320...%.23,6:.L%|
000022c0  3d 31 20 b8 20 35 3a ef  20 50 41 54 25 28 4c 25  |=1 . 5:. PAT%(L%|
000022d0  29 3a ed 3a ef 20 30 7c  0d 0b d6 15 c8 99 36 2c  |):.:. 0|......6,|
000022e0  31 36 33 2c 32 34 32 2c  50 41 4c 45 25 0d 0b e0  |163,242,PALE%...|
000022f0  05 e1 0d 0b ea 04 0d 0b  f4 40 dd f2 69 6e 62 61  |.........@..inba|
00002300  63 6b 75 70 3a c8 99 20  22 4f 53 5f 53 70 72 69  |ckup:.. "OS_Spri|
00002310  74 65 4f 70 22 2c 33 31  36 2c 53 50 42 55 46 25  |teOp",316,SPBUF%|
00002320  2c 22 50 49 43 22 20 b8  20 42 31 2c 42 32 2c 42  |,"PIC" . B1,B2,B|
00002330  33 2c 42 34 3a e1 0d 0b  fe 04 0d 0c 08 46 dd f2  |3,B4:........F..|
00002340  69 6e 73 70 72 69 74 65  28 6d 61 25 2c 73 61 25  |insprite(ma%,sa%|
00002350  2c 73 6e 24 29 3a c8 99  20 26 32 45 2c 33 31 36  |,sn$):.. &2E,316|
00002360  2b 6d 61 25 2c 73 61 25  2c 73 6e 24 20 b8 20 49  |+ma%,sa%,sn$ . I|
00002370  53 31 2c 49 53 32 2c 49  53 33 2c 49 53 34 3a e1  |S1,IS2,IS3,IS4:.|
00002380  0d 0c 12 04 0d 0c 1c 28  dd f2 6f 75 74 73 70 72  |.......(..outspr|
00002390  69 74 65 3a c8 99 20 26  32 45 2c 49 53 31 2c 49  |ite:.. &2E,IS1,I|
000023a0  53 32 2c 49 53 33 2c 49  53 34 3a e1 0d 0c 26 04  |S2,IS3,IS4:...&.|
000023b0  0d 0c 30 2e dd f2 6f 75  74 62 61 63 6b 75 70 3a  |..0...outbackup:|
000023c0  c8 99 20 22 4f 53 5f 53  70 72 69 74 65 4f 70 22  |.. "OS_SpriteOp"|
000023d0  2c 42 31 2c 42 32 2c 42  33 2c 42 34 3a e1 0d 0c  |,B1,B2,B3,B4:...|
000023e0  3a 04 0d 0c 44 18 dd f2  6f 75 74 70 69 63 3a e7  |:...D...outpic:.|
000023f0  20 ac 20 49 50 25 20 8c  20 e1 0d 0c 4e 09 49 50  | . IP% . ...N.IP|
00002400  25 3d a3 0d 0c 58 21 c8  99 20 22 4f 53 5f 43 68  |%=...X!.. "OS_Ch|
00002410  61 6e 67 65 64 42 6f 78  22 2c 2d 31 20 b8 20 2c  |angedBox",-1 . ,|
00002420  43 42 41 25 0d 0c 62 87  e7 20 b4 28 43 42 41 25  |CBA%..b.. .(CBA%|
00002430  21 34 29 3d 2d 31 20 84  20 b4 28 43 42 41 25 21  |!4)=-1 . .(CBA%!|
00002440  38 29 3d 2d 31 20 84 20  b4 28 43 42 41 25 21 31  |8)=-1 . .(CBA%!1|
00002450  32 29 3d 2d 31 20 84 20  b4 28 43 42 41 25 21 31  |2)=-1 . .(CBA%!1|
00002460  36 29 3d 2d 31 20 8c 20  56 41 43 42 25 3d a3 3a  |6)=-1 . VACB%=.:|
00002470  c8 99 20 22 4f 53 5f 43  68 61 6e 67 65 64 42 6f  |.. "OS_ChangedBo|
00002480  78 22 3a c8 99 20 22 4f  53 5f 53 70 72 69 74 65  |x":.. "OS_Sprite|
00002490  4f 70 22 2c 56 31 2c 56  32 2c 56 33 2c 56 34 3a  |Op",V1,V2,V3,V4:|
000024a0  e1 20 8b 20 56 41 43 42  25 3d b9 0d 0c 6c 2a 43  |. . VACB%=...l*C|
000024b0  42 4d 49 4e 58 25 3d 43  42 41 25 21 34 3a 43 42  |BMINX%=CBA%!4:CB|
000024c0  4d 49 4e 58 25 3d 43 42  4d 49 4e 58 25 2a 5a 4f  |MINX%=CBMINX%*ZO|
000024d0  4f 4d 25 2a 32 0d 0c 76  33 43 42 4d 49 4e 59 25  |OM%*2..v3CBMINY%|
000024e0  3d 43 42 41 25 21 38 3a  43 42 4d 49 4e 59 25 3d  |=CBA%!8:CBMINY%=|
000024f0  28 2d 39 33 36 2b 28 43  42 4d 49 4e 59 25 2a 34  |(-936+(CBMINY%*4|
00002500  29 29 2a 5a 4f 4f 4d 25  0d 0c 80 2b 43 42 4d 41  |))*ZOOM%...+CBMA|
00002510  58 58 25 3d 43 42 41 25  21 31 32 3a 43 42 4d 41  |XX%=CBA%!12:CBMA|
00002520  58 58 25 3d 43 42 4d 41  58 58 25 2a 5a 4f 4f 4d  |XX%=CBMAXX%*ZOOM|
00002530  25 2a 32 0d 0c 8a 34 43  42 4d 41 58 59 25 3d 43  |%*2...4CBMAXY%=C|
00002540  42 41 25 21 31 36 3a 43  42 4d 41 58 59 25 3d 28  |BA%!16:CBMAXY%=(|
00002550  2d 39 33 36 2b 28 43 42  4d 41 58 59 25 2a 34 29  |-936+(CBMAXY%*4)|
00002560  29 2a 5a 4f 4f 4d 25 0d  0c 94 14 43 42 4d 41 58  |)*ZOOM%....CBMAX|
00002570  58 25 2b 3d 34 2a 5a 4f  4f 4d 25 0d 0c 9e 14 43  |X%+=4*ZOOM%....C|
00002580  42 4d 41 58 59 25 2b 3d  34 2a 5a 4f 4f 4d 25 0d  |BMAXY%+=4*ZOOM%.|
00002590  0c a8 16 c8 99 20 22 4f  53 5f 43 68 61 6e 67 65  |..... "OS_Change|
000025a0  64 42 6f 78 22 0d 0c b2  20 c8 99 20 22 4f 53 5f  |dBox"... .. "OS_|
000025b0  53 70 72 69 74 65 4f 70  22 2c 56 31 2c 56 32 2c  |SpriteOp",V1,V2,|
000025c0  56 33 2c 56 34 0d 0c bc  05 e1 0d 0c c6 04 0d 0c  |V3,V4...........|
000025d0  d0 10 dd f2 72 65 64 72  61 77 6d 61 69 6e 0d 0c  |....redrawmain..|
000025e0  da 10 e7 20 46 55 53 45  25 3d 33 32 20 8c 0d 0c  |... FUSE%=32 ...|
000025f0  e4 1b e7 20 46 4f 4e 54  25 3c 3e 30 20 80 20 45  |... FONT%<>0 . E|
00002600  46 4d 25 3c 3e 2d 31 20  8c 0d 0c ee 5b e7 20 eb  |FM%<>-1 ....[. .|
00002610  3c 3e 45 46 4d 25 20 8c  20 f2 69 6e 70 69 63 3a  |<>EFM% . .inpic:|
00002620  c8 99 20 22 43 6f 6c 6f  75 72 54 72 61 6e 73 5f  |.. "ColourTrans_|
00002630  53 65 74 46 6f 6e 74 43  6f 6c 6f 75 72 73 22 2c  |SetFontColours",|
00002640  46 48 41 4e 44 25 2c 42  50 41 4c 25 2c 46 50 41  |FHAND%,BPAL%,FPA|
00002650  4c 25 2c 31 34 3a f2 6f  75 74 70 69 63 3a 45 46  |L%,14:.outpic:EF|
00002660  4d 25 3d eb 0d 0c f8 05  cd 0d 0d 02 05 cd 0d 0d  |M%=.............|
00002670  0c 27 c8 99 20 22 57 69  6d 70 5f 52 65 64 72 61  |.'.. "Wimp_Redra|
00002680  77 57 69 6e 64 6f 77 22  2c 2c 42 4c 4b 25 20 b8  |wWindow",,BLK% .|
00002690  20 46 49 4e 25 0d 0d 16  0a f2 67 65 74 6f 72 0d  | FIN%.....getor.|
000026a0  0d 20 38 c8 95 20 46 49  4e 25 3a f2 70 6c 6f 74  |. 8.. FIN%:.plot|
000026b0  70 69 63 3a c8 99 20 22  57 69 6d 70 5f 47 65 74  |pic:.. "Wimp_Get|
000026c0  52 65 63 74 61 6e 67 6c  65 22 2c 2c 42 4c 4b 25  |Rectangle",,BLK%|
000026d0  20 b8 20 46 49 4e 25 0d  0d 2a 05 ce 0d 0d 34 05  | . FIN%..*....4.|
000026e0  e1 0d 0d 3e 04 0d 0d 48  0d dd f2 70 6c 6f 74 70  |...>...H...plotp|
000026f0  69 63 0d 0d 52 48 e7 20  eb 3d 31 35 20 80 20 5a  |ic..RH. .=15 . Z|
00002700  4f 4f 4d 25 3d 31 20 8c  20 c8 99 20 22 4f 53 5f  |OOM%=1 . .. "OS_|
00002710  53 70 72 69 74 65 4f 70  22 2c 32 39 30 2c 50 49  |SpriteOp",290,PI|
00002720  43 25 2c 22 50 49 43 22  2c 57 4f 58 25 2c 57 4f  |C%,"PIC",WOX%,WO|
00002730  59 25 3a f2 67 72 69 64  3a e1 0d 0d 5c 39 e7 20  |Y%:.grid:...\9. |
00002740  eb 3c 3e 45 53 4d 25 20  8c 20 45 53 4d 25 3d eb  |.<>ESM% . ESM%=.|
00002750  3a 45 50 4d 25 3d eb 3a  c8 99 26 34 30 37 34 30  |:EPM%=.:..&40740|
00002760  2c 31 35 2c 30 2c 2d 31  2c 2d 31 2c 50 49 58 54  |,15,0,-1,-1,PIXT|
00002770  41 42 25 0d 0d 66 15 c8  99 26 33 35 2c 2d 31 2c  |AB%..f...&35,-1,|
00002780  34 20 b8 20 2c 2c 45 25  0d 0d 70 56 e7 20 45 25  |4 . ,,E%..pV. E%|
00002790  3c 31 20 8c 20 53 58 25  3d 32 5e 28 31 2d 45 25  |<1 . SX%=2^(1-E%|
000027a0  29 3a 21 53 43 41 4c 45  25 3d 53 58 25 3a 53 43  |):!SCALE%=SX%:SC|
000027b0  41 4c 45 25 21 38 3d 31  20 8b 20 53 58 25 3d 32  |ALE%!8=1 . SX%=2|
000027c0  5e 28 45 25 2d 31 29 3a  21 53 43 41 4c 45 25 3d  |^(E%-1):!SCALE%=|
000027d0  31 3a 53 43 41 4c 45 25  21 38 3d 53 58 25 0d 0d  |1:SCALE%!8=SX%..|
000027e0  7a 1b 21 53 43 41 4c 45  25 3d 28 21 53 43 41 4c  |z.!SCALE%=(!SCAL|
000027f0  45 25 29 2a 5a 4f 4f 4d  25 0d 0d 84 12 53 43 41  |E%)*ZOOM%....SCA|
00002800  4c 45 25 21 34 3d 5a 4f  4f 4d 25 0d 0d 8e 0f 53  |LE%!4=ZOOM%....S|
00002810  43 41 4c 45 25 21 31 32  3d 31 0d 0d 98 2a e7 20  |CALE%!12=1...*. |
00002820  eb 3d 31 35 20 8c 20 54  50 49 58 54 41 42 25 3d  |.=15 . TPIXTAB%=|
00002830  30 20 8b 20 54 50 49 58  54 41 42 25 3d 50 49 58  |0 . TPIXTAB%=PIX|
00002840  54 41 42 25 0d 0d a2 47  c8 99 20 22 4f 53 5f 53  |TAB%...G.. "OS_S|
00002850  70 72 69 74 65 4f 70 22  2c 33 30 38 2c 50 49 43  |priteOp",308,PIC|
00002860  25 2c 22 50 49 43 22 2c  57 4f 58 25 2c 57 4f 59  |%,"PIC",WOX%,WOY|
00002870  25 2c 30 2c 53 43 41 4c  45 25 2c 54 50 49 58 54  |%,0,SCALE%,TPIXT|
00002880  41 42 25 3a f2 67 72 69  64 3a e1 0d 0d ac 04 0d  |AB%:.grid:......|
00002890  0d b6 43 dd f2 67 72 69  64 3a e7 20 47 52 43 4f  |..C..grid:. GRCO|
000028a0  25 3d 2d 31 20 84 20 28  32 2a 47 52 57 49 25 2a  |%=-1 . (2*GRWI%*|
000028b0  5a 4f 4f 4d 25 29 3c 31  36 20 84 20 28 34 2a 47  |ZOOM%)<16 . (4*G|
000028c0  52 48 45 25 2a 5a 4f 4f  4d 25 29 3c 31 36 20 8c  |RHE%*ZOOM%)<16 .|
000028d0  20 e1 0d 0d c0 0c f2 67  72 69 64 63 6f 6c 0d 0d  | ......gridcol..|
000028e0  ca 0b ea 20 58 25 2c 59  25 0d 0d d4 3d 58 25 3d  |... X%,Y%...=X%=|
000028f0  28 28 28 42 4c 4b 25 21  32 38 29 2d 57 4f 58 25  |(((BLK%!28)-WOX%|
00002900  29 20 81 20 28 5a 4f 4f  4d 25 2a 28 32 2a 47 52  |) . (ZOOM%*(2*GR|
00002910  57 49 25 29 29 29 2a 28  32 2a 47 52 57 49 25 2a  |WI%)))*(2*GRWI%*|
00002920  5a 4f 4f 4d 25 29 0d 0d  de 3d 59 25 3d 28 28 28  |ZOOM%)...=Y%=(((|
00002930  42 4c 4b 25 21 33 32 29  2d 57 4f 59 25 29 20 81  |BLK%!32)-WOY%) .|
00002940  20 28 5a 4f 4f 4d 25 2a  28 34 2a 47 52 48 45 25  | (ZOOM%*(4*GRHE%|
00002950  29 29 29 2a 28 34 2a 47  52 48 45 25 2a 5a 4f 4f  |)))*(4*GRHE%*ZOO|
00002960  4d 25 29 0d 0d e8 1e 58  4f 46 25 3d 28 47 52 57  |M%)....XOF%=(GRW|
00002970  49 25 2d 47 52 42 58 25  29 2a 32 2a 5a 4f 4f 4d  |I%-GRBX%)*2*ZOOM|
00002980  25 0d 0d f2 1e 59 4f 46  25 3d 28 47 52 48 45 25  |%....YOF%=(GRHE%|
00002990  2d 47 52 42 59 25 29 2a  34 2a 5a 4f 4f 4d 25 0d  |-GRBY%)*4*ZOOM%.|
000029a0  0d fc 11 58 25 2b 3d 57  4f 58 25 2d 58 4f 46 25  |...X%+=WOX%-XOF%|
000029b0  0d 0e 06 11 59 25 2b 3d  57 4f 59 25 2d 59 4f 46  |....Y%+=WOY%-YOF|
000029c0  25 0d 0e 10 44 f5 3a 86  20 58 25 2c 28 42 4c 4b  |%...D.:. X%,(BLK|
000029d0  25 21 33 32 29 2c 58 25  2c 28 42 4c 4b 25 21 34  |%!32),X%,(BLK%!4|
000029e0  30 29 3a 58 25 2b 3d 28  32 2a 47 52 57 49 25 2a  |0):X%+=(2*GRWI%*|
000029f0  5a 4f 4f 4d 25 29 3a fd  20 58 25 3e 28 42 4c 4b  |ZOOM%):. X%>(BLK|
00002a00  25 21 33 36 29 0d 0e 1a  44 f5 3a 86 20 28 42 4c  |%!36)...D.:. (BL|
00002a10  4b 25 21 32 38 29 2c 59  25 2c 28 42 4c 4b 25 21  |K%!28),Y%,(BLK%!|
00002a20  33 36 29 2c 59 25 3a 59  25 2b 3d 28 34 2a 47 52  |36),Y%:Y%+=(4*GR|
00002a30  48 45 25 2a 5a 4f 4f 4d  25 29 3a fd 20 59 25 3e  |HE%*ZOOM%):. Y%>|
00002a40  28 42 4c 4b 25 21 34 30  29 0d 0e 24 05 e1 0d 0e  |(BLK%!40)..$....|
00002a50  2e 04 0d 0e 38 13 dd f2  70 6c 6f 74 70 61 6c 28  |....8...plotpal(|
00002a60  50 54 55 25 29 0d 0e 42  12 f2 63 6f 6c 28 36 33  |PTU%)..B..col(63|
00002a70  2c 31 39 32 2c 30 29 0d  0e 4c 1a f4 20 56 44 55  |,192,0)..L.. VDU|
00002a80  34 3a 50 52 49 4e 54 20  57 4f 58 25 2c 57 4f 59  |4:PRINT WOX%,WOY|
00002a90  25 0d 0e 56 14 e7 20 eb  3c 3e 31 35 20 8c 20 e5  |%..V.. .<>15 . .|
00002aa0  20 8d 44 74 4e 0d 0e 60  74 c8 99 20 22 4f 53 5f  | .DtN..`t.. "OS_|
00002ab0  53 70 72 69 74 65 4f 70  22 2c 32 39 30 2c 50 54  |SpriteOp",290,PT|
00002ac0  55 25 2c 22 50 61 6c 65  74 74 65 22 2c 57 4f 58  |U%,"Palette",WOX|
00002ad0  25 2c 57 4f 59 25 3a e7  20 50 54 55 25 3d 50 41  |%,WOY%:. PTU%=PA|
00002ae0  4c 25 20 8c 20 c8 93 20  57 4f 58 25 2b 28 28 43  |L% . .. WOX%+((C|
00002af0  4f 4c 25 20 83 20 33 32  29 2a 32 34 29 2c 57 4f  |OL% . 32)*24),WO|
00002b00  59 25 2b 28 28 43 4f 4c  25 20 81 20 33 32 29 2a  |Y%+((COL% . 32)*|
00002b10  32 38 29 2c 32 34 2c 32  38 0d 0e 6a 05 e1 0d 0e  |28),24,28..j....|
00002b20  74 39 e7 20 eb 3c 3e 45  50 4d 25 20 8c 20 45 53  |t9. .<>EPM% . ES|
00002b30  4d 25 3d eb 3a 45 50 4d  25 3d eb 3a c8 99 26 34  |M%=.:EPM%=.:..&4|
00002b40  30 37 34 30 2c 31 35 2c  30 2c 2d 31 2c 2d 31 2c  |0740,15,0,-1,-1,|
00002b50  50 49 58 54 41 42 25 0d  0e 7e 15 c8 99 26 33 35  |PIXTAB%..~...&35|
00002b60  2c 2d 31 2c 34 20 b8 20  2c 2c 45 25 0d 0e 88 56  |,-1,4 . ,,E%...V|
00002b70  e7 20 45 25 3c 31 20 8c  20 53 58 25 3d 32 5e 28  |. E%<1 . SX%=2^(|
00002b80  31 2d 45 25 29 3a 21 53  43 41 4c 45 25 3d 53 58  |1-E%):!SCALE%=SX|
00002b90  25 3a 53 43 41 4c 45 25  21 38 3d 31 20 8b 20 53  |%:SCALE%!8=1 . S|
00002ba0  58 25 3d 32 5e 28 45 25  2d 31 29 3a 21 53 43 41  |X%=2^(E%-1):!SCA|
00002bb0  4c 45 25 3d 31 3a 53 43  41 4c 45 25 21 38 3d 53  |LE%=1:SCALE%!8=S|
00002bc0  58 25 0d 0e 92 0e 53 43  41 4c 45 25 21 34 3d 31  |X%....SCALE%!4=1|
00002bd0  0d 0e 9c 0f 53 43 41 4c  45 25 21 31 32 3d 31 0d  |....SCALE%!12=1.|
00002be0  0e a6 42 c8 99 20 22 4f  53 5f 53 70 72 69 74 65  |..B.. "OS_Sprite|
00002bf0  4f 70 22 2c 33 30 38 2c  50 54 55 25 2c 22 50 61  |Op",308,PTU%,"Pa|
00002c00  6c 65 74 74 65 22 2c 57  4f 58 25 2c 57 4f 59 25  |lette",WOX%,WOY%|
00002c10  2c 30 2c 53 43 41 4c 45  25 2c 50 49 58 54 41 42  |,0,SCALE%,PIXTAB|
00002c20  25 0d 0e b0 46 e7 20 50  54 55 25 3d 50 41 4c 25  |%...F. PTU%=PAL%|
00002c30  20 8c 20 c8 93 20 57 4f  58 25 2b 28 28 43 4f 4c  | . .. WOX%+((COL|
00002c40  25 20 83 20 33 32 29 2a  32 34 29 2c 57 4f 59 25  |% . 32)*24),WOY%|
00002c50  2b 28 28 43 4f 4c 25 20  81 20 33 32 29 2a 32 38  |+((COL% . 32)*28|
00002c60  29 2c 32 34 2c 32 38 0d  0e ba 05 e1 0d 0e c4 04  |),24,28.........|
00002c70  0d 0e ce 10 dd f2 74 72  61 73 70 28 54 43 25 29  |......trasp(TC%)|
00002c80  0d 0e d8 1f 54 52 41 53  50 25 3f 54 43 25 3d 28  |....TRASP%?TC%=(|
00002c90  54 52 41 53 50 25 3f 54  43 25 29 20 82 20 31 0d  |TRASP%?TC%) . 1.|
00002ca0  0e e2 35 c8 99 20 22 4f  53 5f 53 70 72 69 74 65  |..5.. "OS_Sprite|
00002cb0  4f 70 22 2c 33 31 36 2c  50 41 4c 25 2c 22 50 61  |Op",316,PAL%,"Pa|
00002cc0  6c 65 74 74 65 22 20 b8  20 56 31 2c 56 32 2c 56  |lette" . V1,V2,V|
00002cd0  33 2c 56 34 0d 0e ec 2b  54 58 25 3d 28 28 54 43  |3,V4...+TX%=((TC|
00002ce0  25 20 83 20 33 32 29 2a  32 34 29 3a 54 59 25 3d  |% . 32)*24):TY%=|
00002cf0  28 28 54 43 25 20 81 20  33 32 29 2a 32 38 29 0d  |((TC% . 32)*28).|
00002d00  0e f6 72 e7 20 28 54 52  41 53 50 25 3f 54 43 25  |..r. (TRASP%?TC%|
00002d10  29 3d 30 20 8c 20 e6 30  2c 50 41 4c 54 41 42 25  |)=0 . .0,PALTAB%|
00002d20  3f 28 54 43 25 2a 32 29  20 c8 9c 20 50 41 4c 54  |?(TC%*2) .. PALT|
00002d30  41 42 25 3f 28 28 54 43  25 2a 32 29 2b 31 29 20  |AB%?((TC%*2)+1) |
00002d40  8b 20 f2 61 6e 74 69 63  6f 6c 28 50 41 4c 54 41  |. .anticol(PALTA|
00002d50  42 25 3f 28 54 43 25 2a  32 29 2c 50 41 4c 54 41  |B%?(TC%*2),PALTA|
00002d60  42 25 3f 28 28 54 43 25  2a 32 29 2b 31 29 2c 30  |B%?((TC%*2)+1),0|
00002d70  29 0d 0f 00 3d 86 20 54  58 25 2b 36 2c 54 59 25  |)...=. TX%+6,TY%|
00002d80  2b 32 30 2c 54 58 25 2b  31 38 2c 54 59 25 2b 32  |+20,TX%+18,TY%+2|
00002d90  30 3a 86 20 54 58 25 2b  31 32 2c 54 59 25 2b 38  |0:. TX%+12,TY%+8|
00002da0  2c 54 58 25 2b 31 32 2c  54 59 25 2b 32 30 0d 0f  |,TX%+12,TY%+20..|
00002db0  0a 20 c8 99 20 22 4f 53  5f 53 70 72 69 74 65 4f  |. .. "OS_SpriteO|
00002dc0  70 22 2c 56 31 2c 56 32  2c 56 33 2c 56 34 0d 0f  |p",V1,V2,V3,V4..|
00002dd0  14 05 e1 0d 0f 1e 04 0d  0f 28 0f dd f2 72 65 64  |.........(...red|
00002de0  72 61 77 70 61 6c 0d 0f  32 27 c8 99 20 22 57 69  |rawpal..2'.. "Wi|
00002df0  6d 70 5f 52 65 64 72 61  77 57 69 6e 64 6f 77 22  |mp_RedrawWindow"|
00002e00  2c 2c 42 4c 4b 25 20 b8  20 46 49 4e 25 0d 0f 3c  |,,BLK% . FIN%..<|
00002e10  0d f2 67 65 74 70 61 6c  6f 72 0d 0f 46 3e c8 95  |..getpalor..F>..|
00002e20  20 46 49 4e 25 3a f2 70  6c 6f 74 70 61 6c 28 50  | FIN%:.plotpal(P|
00002e30  41 4c 25 29 3a c8 99 20  22 57 69 6d 70 5f 47 65  |AL%):.. "Wimp_Ge|
00002e40  74 52 65 63 74 61 6e 67  6c 65 22 2c 2c 42 4c 4b  |tRectangle",,BLK|
00002e50  25 20 b8 20 46 49 4e 25  0d 0f 50 05 ce 0d 0f 5a  |% . FIN%..P....Z|
00002e60  05 e1 0d 0f 64 04 0d 0f  6e 11 dd f2 72 65 64 72  |....d...n...redr|
00002e70  61 77 74 62 61 63 6b 0d  0f 78 27 c8 99 20 22 57  |awtback..x'.. "W|
00002e80  69 6d 70 5f 52 65 64 72  61 77 57 69 6e 64 6f 77  |imp_RedrawWindow|
00002e90  22 2c 2c 42 4c 4b 25 20  b8 20 46 49 4e 25 0d 0f  |",,BLK% . FIN%..|
00002ea0  82 0d f2 67 65 74 70 61  6c 6f 72 0d 0f 8c 1b c8  |...getpalor.....|
00002eb0  95 20 46 49 4e 25 3a f2  70 6c 6f 74 70 61 6c 28  |. FIN%:.plotpal(|
00002ec0  4f 50 41 4c 25 29 0d 0f  96 4b f2 63 6f 6c 28 36  |OPAL%)...K.col(6|
00002ed0  33 2c 31 39 32 2c 30 29  3a c8 93 20 57 4f 58 25  |3,192,0):.. WOX%|
00002ee0  2b 28 28 46 4f 4e 54 42  25 20 83 20 33 32 29 2a  |+((FONTB% . 32)*|
00002ef0  32 34 29 2c 57 4f 59 25  2b 28 28 46 4f 4e 54 42  |24),WOY%+((FONTB|
00002f00  25 20 81 20 33 32 29 2a  32 38 29 2c 32 34 2c 32  |% . 32)*28),24,2|
00002f10  38 0d 0f a0 27 c8 99 20  22 57 69 6d 70 5f 47 65  |8...'.. "Wimp_Ge|
00002f20  74 52 65 63 74 61 6e 67  6c 65 22 2c 2c 42 4c 4b  |tRectangle",,BLK|
00002f30  25 20 b8 20 46 49 4e 25  0d 0f aa 05 ce 0d 0f b4  |% . FIN%........|
00002f40  05 e1 0d 0f be 04 0d 0f  c8 12 dd f2 72 65 64 72  |............redr|
00002f50  61 77 63 6f 6c 72 65 70  0d 0f d2 27 c8 99 20 22  |awcolrep...'.. "|
00002f60  57 69 6d 70 5f 52 65 64  72 61 77 57 69 6e 64 6f  |Wimp_RedrawWindo|
00002f70  77 22 2c 2c 42 4c 4b 25  20 b8 20 46 49 4e 25 0d  |w",,BLK% . FIN%.|
00002f80  0f dc 17 f2 67 65 74 70  61 6c 6f 72 3a 57 4f 59  |....getpalor:WOY|
00002f90  25 2d 3d 33 32 38 0d 0f  e6 5d c8 95 20 46 49 4e  |%-=328...].. FIN|
00002fa0  25 3a 57 4f 59 25 2b 3d  32 39 30 3a f2 70 6c 6f  |%:WOY%+=290:.plo|
00002fb0  74 70 61 6c 28 4f 50 41  4c 25 29 3a f2 63 6f 6c  |tpal(OPAL%):.col|
00002fc0  28 30 2c 30 2c 30 29 3a  86 20 57 4f 58 25 2c 57  |(0,0,0):. WOX%,W|
00002fd0  4f 59 25 2b 32 32 34 2c  57 4f 58 25 2b 37 37 30  |OY%+224,WOX%+770|
00002fe0  2c 57 4f 59 25 2b 32 32  34 3a 57 4f 59 25 2d 3d  |,WOY%+224:WOY%-=|
00002ff0  32 39 30 0d 0f f0 42 f2  70 6c 6f 74 70 61 6c 28  |290...B.plotpal(|
00003000  53 50 42 55 46 25 29 3a  f2 63 6f 6c 28 30 2c 30  |SPBUF%):.col(0,0|
00003010  2c 30 29 3a 86 20 57 4f  58 25 2c 57 4f 59 25 2b  |,0):. WOX%,WOY%+|
00003020  32 32 34 2c 57 4f 58 25  2b 37 37 30 2c 57 4f 59  |224,WOX%+770,WOY|
00003030  25 2b 32 32 34 0d 0f fa  49 f2 63 6f 6c 28 36 33  |%+224...I.col(63|
00003040  2c 31 39 32 2c 30 29 3a  c8 93 20 57 4f 58 25 2b  |,192,0):.. WOX%+|
00003050  28 28 53 52 45 50 25 20  83 20 33 32 29 2a 32 34  |((SREP% . 32)*24|
00003060  29 2c 57 4f 59 25 2b 28  28 53 52 45 50 25 20 81  |),WOY%+((SREP% .|
00003070  20 33 32 29 2a 32 38 29  2c 32 34 2c 32 38 0d 10  | 32)*28),24,28..|
00003080  04 27 c8 99 20 22 57 69  6d 70 5f 47 65 74 52 65  |.'.. "Wimp_GetRe|
00003090  63 74 61 6e 67 6c 65 22  2c 2c 42 4c 4b 25 20 b8  |ctangle",,BLK% .|
000030a0  20 46 49 4e 25 0d 10 0e  05 ce 0d 10 18 05 e1 0d  | FIN%...........|
000030b0  10 22 04 0d 10 2c 15 dd  f2 66 6f 72 63 65 64 72  |."...,...forcedr|
000030c0  61 77 63 6f 6c 72 65 70  0d 10 36 13 21 42 4c 4b  |awcolrep..6.!BLK|
000030d0  25 3d 48 41 4e 44 25 28  31 38 29 0d 10 40 0c 42  |%=HAND%(18)..@.B|
000030e0  4c 4b 25 21 34 3d 30 0d  10 4a 0f 42 4c 4b 25 21  |LK%!4=0..J.BLK%!|
000030f0  38 3d 2d 35 35 36 0d 10  54 0f 42 4c 4b 25 21 31  |8=-556..T.BLK%!1|
00003100  32 3d 37 37 30 0d 10 5e  0d 42 4c 4b 25 21 31 36  |2=770..^.BLK%!16|
00003110  3d 30 0d 10 68 27 c8 99  20 22 57 69 6d 70 5f 55  |=0..h'.. "Wimp_U|
00003120  70 64 61 74 65 57 69 6e  64 6f 77 22 2c 2c 42 4c  |pdateWindow",,BL|
00003130  4b 25 20 b8 20 46 49 4e  25 0d 10 72 17 f2 67 65  |K% . FIN%..r..ge|
00003140  74 70 61 6c 6f 72 3a 57  4f 59 25 2d 3d 33 32 38  |tpalor:WOY%-=328|
00003150  0d 10 7c 0b c8 95 20 46  49 4e 25 0d 10 86 55 57  |..|... FIN%...UW|
00003160  4f 59 25 2b 3d 32 39 30  3a f2 70 6c 6f 74 70 61  |OY%+=290:.plotpa|
00003170  6c 28 4f 50 41 4c 25 29  3a f2 63 6f 6c 28 30 2c  |l(OPAL%):.col(0,|
00003180  30 2c 30 29 3a 86 20 57  4f 58 25 2c 57 4f 59 25  |0,0):. WOX%,WOY%|
00003190  2b 32 32 34 2c 57 4f 58  25 2b 37 37 30 2c 57 4f  |+224,WOX%+770,WO|
000031a0  59 25 2b 32 32 34 3a 57  4f 59 25 2d 3d 32 39 30  |Y%+224:WOY%-=290|
000031b0  0d 10 90 42 f2 70 6c 6f  74 70 61 6c 28 53 50 42  |...B.plotpal(SPB|
000031c0  55 46 25 29 3a f2 63 6f  6c 28 30 2c 30 2c 30 29  |UF%):.col(0,0,0)|
000031d0  3a 86 20 57 4f 58 25 2c  57 4f 59 25 2b 32 32 34  |:. WOX%,WOY%+224|
000031e0  2c 57 4f 58 25 2b 37 37  30 2c 57 4f 59 25 2b 32  |,WOX%+770,WOY%+2|
000031f0  32 34 0d 10 9a 49 f2 63  6f 6c 28 36 33 2c 31 39  |24...I.col(63,19|
00003200  32 2c 30 29 3a c8 93 20  57 4f 58 25 2b 28 28 53  |2,0):.. WOX%+((S|
00003210  52 45 50 25 20 83 20 33  32 29 2a 32 34 29 2c 57  |REP% . 32)*24),W|
00003220  4f 59 25 2b 28 28 53 52  45 50 25 20 81 20 33 32  |OY%+((SREP% . 32|
00003230  29 2a 32 38 29 2c 32 34  2c 32 38 0d 10 a4 27 c8  |)*28),24,28...'.|
00003240  99 20 22 57 69 6d 70 5f  47 65 74 52 65 63 74 61  |. "Wimp_GetRecta|
00003250  6e 67 6c 65 22 2c 2c 42  4c 4b 25 20 b8 20 46 49  |ngle",,BLK% . FI|
00003260  4e 25 0d 10 ae 05 ce 0d  10 b8 05 e1 0d 10 c2 04  |N%..............|
00003270  0d 10 cc 0a dd a4 63 65  63 66 0d 10 d6 17 e7 20  |......cecf..... |
00003280  a4 68 69 67 68 28 31 31  2c 31 38 29 20 8c 20 3d  |.high(11,18) . =|
00003290  31 0d 10 e0 17 e7 20 a4  68 69 67 68 28 31 31 2c  |1..... .high(11,|
000032a0  31 39 29 20 8c 20 3d 32  0d 10 ea 17 e7 20 a4 68  |19) . =2..... .h|
000032b0  69 67 68 28 31 31 2c 32  30 29 20 8c 20 3d 33 0d  |igh(11,20) . =3.|
000032c0  10 f4 17 e7 20 a4 68 69  67 68 28 31 31 2c 32 31  |.... .high(11,21|
000032d0  29 20 8c 20 3d 34 0d 10  fe 06 3d 30 0d 11 08 04  |) . =4....=0....|
000032e0  0d 11 12 0f dd f2 72 65  64 72 61 77 70 61 74 0d  |......redrawpat.|
000032f0  11 1c 27 c8 99 20 22 57  69 6d 70 5f 52 65 64 72  |..'.. "Wimp_Redr|
00003300  61 77 57 69 6e 64 6f 77  22 2c 2c 42 4c 4b 25 20  |awWindow",,BLK% |
00003310  b8 20 46 49 4e 25 0d 11  26 0d f2 67 65 74 70 61  |. FIN%..&..getpa|
00003320  74 6f 72 0d 11 30 49 c8  95 20 46 49 4e 25 3a f2  |tor..0I.. FIN%:.|
00003330  70 6c 6f 74 70 61 6c 28  4f 50 41 4c 25 29 3a f2  |plotpal(OPAL%):.|
00003340  63 6f 6c 28 30 2c 30 2c  30 29 3a 86 20 57 4f 58  |col(0,0,0):. WOX|
00003350  25 2c 57 4f 59 25 2b 32  32 34 2c 57 4f 58 25 2b  |%,WOY%+224,WOX%+|
00003360  37 37 30 2c 57 4f 59 25  2b 32 32 34 0d 11 3a 2d  |770,WOY%+224..:-|
00003370  43 45 43 46 25 3d a4 63  65 63 66 3a e3 4b 25 3d  |CECF%=.cecf:.K%=|
00003380  30 20 b8 20 37 3a 4c 25  3d 45 43 46 25 28 4b 25  |0 . 7:L%=ECF%(K%|
00003390  2b 31 2c 43 45 43 46 25  29 0d 11 44 63 50 45 25  |+1,CECF%)..DcPE%|
000033a0  3d 42 54 43 25 3f 4c 25  3a f2 63 6f 6c 28 50 41  |=BTC%?L%:.col(PA|
000033b0  4c 54 41 42 25 3f 28 50  45 25 2a 32 29 2c 50 41  |LTAB%?(PE%*2),PA|
000033c0  4c 54 41 42 25 3f 28 28  50 45 25 2a 32 29 2b 31  |LTAB%?((PE%*2)+1|
000033d0  29 2c 30 29 3a c8 93 20  c8 90 20 57 4f 58 25 2d  |),0):.. .. WOX%-|
000033e0  31 34 36 2c 28 57 4f 59  25 2b 32 37 36 29 2d 28  |146,(WOY%+276)-(|
000033f0  4b 25 2a 34 30 29 2c 33  38 2c 33 36 0d 11 4e 05  |K%*40),38,36..N.|
00003400  ed 0d 11 58 27 c8 99 20  22 57 69 6d 70 5f 47 65  |...X'.. "Wimp_Ge|
00003410  74 52 65 63 74 61 6e 67  6c 65 22 2c 2c 42 4c 4b  |tRectangle",,BLK|
00003420  25 20 b8 20 46 49 4e 25  0d 11 62 05 ce 0d 11 6c  |% . FIN%..b....l|
00003430  05 e1 0d 11 76 04 0d 11  80 0e dd a4 67 72 61 66  |....v.......graf|
00003440  69 6c 6e 6f 0d 11 8a 17  e7 20 a4 68 69 67 68 28  |ilno..... .high(|
00003450  31 33 2c 31 37 29 20 8c  20 3d 30 0d 11 94 17 e7  |13,17) . =0.....|
00003460  20 a4 68 69 67 68 28 31  33 2c 31 38 29 20 8c 20  | .high(13,18) . |
00003470  3d 31 0d 11 9e 17 e7 20  a4 68 69 67 68 28 31 33  |=1..... .high(13|
00003480  2c 31 39 29 20 8c 20 3d  32 0d 11 a8 17 e7 20 a4  |,19) . =2..... .|
00003490  68 69 67 68 28 31 33 2c  32 30 29 20 8c 20 3d 33  |high(13,20) . =3|
000034a0  0d 11 b2 17 e7 20 a4 68  69 67 68 28 31 33 2c 32  |..... .high(13,2|
000034b0  31 29 20 8c 20 3d 34 0d  11 bc 07 3d 2d 31 0d 11  |1) . =4....=-1..|
000034c0  c6 04 0d 11 d0 10 dd f2  72 65 64 72 61 77 66 69  |........redrawfi|
000034d0  6c 6c 0d 11 da 27 c8 99  20 22 57 69 6d 70 5f 52  |ll...'.. "Wimp_R|
000034e0  65 64 72 61 77 57 69 6e  64 6f 77 22 2c 2c 42 4c  |edrawWindow",,BL|
000034f0  4b 25 20 b8 20 46 49 4e  25 0d 11 e4 21 f2 67 65  |K% . FIN%...!.ge|
00003500  74 70 61 74 6f 72 3a 57  4f 59 25 2d 3d 31 34 30  |tpator:WOY%-=140|
00003510  3a 57 4f 58 25 2d 3d 31  34 30 0d 11 ee 71 c8 95  |:WOX%-=140...q..|
00003520  20 46 49 4e 25 3a 57 4f  59 25 2b 3d 32 33 32 3a  | FIN%:WOY%+=232:|
00003530  57 4f 58 25 2b 3d 33 38  30 3a f2 70 6c 6f 74 70  |WOX%+=380:.plotp|
00003540  61 6c 28 4f 50 41 4c 25  29 3a f2 63 6f 6c 28 30  |al(OPAL%):.col(0|
00003550  2c 30 2c 30 29 3a 86 20  57 4f 58 25 2c 57 4f 59  |,0,0):. WOX%,WOY|
00003560  25 2b 32 32 34 2c 57 4f  58 25 2b 37 37 30 2c 57  |%+224,WOX%+770,W|
00003570  4f 59 25 2b 32 32 34 3a  57 4f 58 25 2d 3d 31 34  |OY%+224:WOX%-=14|
00003580  30 3a 57 4f 59 25 2d 3d  31 34 30 0d 11 f8 78 46  |0:WOY%-=140...xF|
00003590  49 58 25 3d 57 4f 58 25  2b 32 30 30 3a 47 52 46  |IX%=WOX%+200:GRF|
000035a0  49 4e 25 3d a4 67 72 61  66 69 6c 6e 6f 3a e3 4c  |IN%=.grafilno:.L|
000035b0  25 3d 30 20 b8 20 31 35  3a e7 20 47 52 46 49 4e  |%=0 . 15:. GRFIN|
000035c0  25 3c 3e 2d 31 20 8c 20  f2 63 6f 6c 28 47 52 46  |%<>-1 . .col(GRF|
000035d0  49 25 28 4c 25 2c 30 2c  47 52 46 49 4e 25 29 2c  |I%(L%,0,GRFIN%),|
000035e0  47 52 46 49 25 28 4c 25  2c 31 2c 47 52 46 49 4e  |GRFI%(L%,1,GRFIN|
000035f0  25 29 2c 30 29 20 8b 20  f2 63 6f 6c 28 30 2c 30  |%),0) . .col(0,0|
00003600  2c 30 29 0d 12 02 27 c8  93 20 c8 90 20 46 49 58  |,0)...'.. .. FIX|
00003610  25 2c 57 4f 59 25 2d 32  38 2c 34 32 2c 33 32 3a  |%,WOY%-28,42,32:|
00003620  46 49 58 25 2b 3d 34 34  3a ed 0d 12 0c 27 c8 99  |FIX%+=44:....'..|
00003630  20 22 57 69 6d 70 5f 47  65 74 52 65 63 74 61 6e  | "Wimp_GetRectan|
00003640  67 6c 65 22 2c 2c 42 4c  4b 25 20 b8 20 46 49 4e  |gle",,BLK% . FIN|
00003650  25 0d 12 16 05 ce 0d 12  20 05 e1 0d 12 2a 04 0d  |%....... ....*..|
00003660  12 34 13 dd f2 66 6f 72  63 65 64 72 61 77 66 69  |.4...forcedrawfi|
00003670  6c 6c 0d 12 3e 13 21 42  4c 4b 25 3d 48 41 4e 44  |ll..>.!BLK%=HAND|
00003680  25 28 31 33 29 0d 12 48  0c 42 4c 4b 25 21 34 3d  |%(13)..H.BLK%!4=|
00003690  30 0d 12 52 0f 42 4c 4b  25 21 38 3d 2d 35 30 30  |0..R.BLK%!8=-500|
000036a0  0d 12 5c 10 42 4c 4b 25  21 31 32 3d 31 32 30 30  |..\.BLK%!12=1200|
000036b0  0d 12 66 10 42 4c 4b 25  21 31 36 3d 2d 33 36 30  |..f.BLK%!16=-360|
000036c0  0d 12 70 27 c8 99 20 22  57 69 6d 70 5f 55 70 64  |..p'.. "Wimp_Upd|
000036d0  61 74 65 57 69 6e 64 6f  77 22 2c 2c 42 4c 4b 25  |ateWindow",,BLK%|
000036e0  20 b8 20 46 49 4e 25 0d  12 7a 20 f2 67 65 74 70  | . FIN%..z .getp|
000036f0  61 74 6f 72 3a 57 4f 59  25 2d 3d 34 38 3a 57 4f  |ator:WOY%-=48:WO|
00003700  58 25 2b 3d 31 30 30 0d  12 84 78 46 49 58 25 3d  |X%+=100...xFIX%=|
00003710  57 4f 58 25 2b 32 30 30  3a 47 52 46 49 4e 25 3d  |WOX%+200:GRFIN%=|
00003720  a4 67 72 61 66 69 6c 6e  6f 3a e3 4c 25 3d 30 20  |.grafilno:.L%=0 |
00003730  b8 20 31 35 3a e7 20 47  52 46 49 4e 25 3c 3e 2d  |. 15:. GRFIN%<>-|
00003740  31 20 8c 20 f2 63 6f 6c  28 47 52 46 49 25 28 4c  |1 . .col(GRFI%(L|
00003750  25 2c 30 2c 47 52 46 49  4e 25 29 2c 47 52 46 49  |%,0,GRFIN%),GRFI|
00003760  25 28 4c 25 2c 31 2c 47  52 46 49 4e 25 29 2c 30  |%(L%,1,GRFIN%),0|
00003770  29 20 8b 20 f2 63 6f 6c  28 30 2c 30 2c 30 29 0d  |) . .col(0,0,0).|
00003780  12 8e 27 c8 93 20 c8 90  20 46 49 58 25 2c 57 4f  |..'.. .. FIX%,WO|
00003790  59 25 2d 32 38 2c 34 32  2c 33 32 3a 46 49 58 25  |Y%-28,42,32:FIX%|
000037a0  2b 3d 34 34 3a ed 0d 12  98 0b c8 95 20 46 49 4e  |+=44:....... FIN|
000037b0  25 0d 12 a2 27 c8 99 20  22 57 69 6d 70 5f 47 65  |%...'.. "Wimp_Ge|
000037c0  74 52 65 63 74 61 6e 67  6c 65 22 2c 2c 42 4c 4b  |tRectangle",,BLK|
000037d0  25 20 b8 20 46 49 4e 25  0d 12 ac 05 ce 0d 12 b6  |% . FIN%........|
000037e0  05 e1 0d 12 c0 04 0d 12  ca 12 dd f2 66 6f 72 63  |............forc|
000037f0  65 64 72 61 77 70 61 74  0d 12 d4 13 21 42 4c 4b  |edrawpat....!BLK|
00003800  25 3d 48 41 4e 44 25 28  31 31 29 0d 12 de 0c 42  |%=HAND%(11)....B|
00003810  4c 4b 25 21 34 3d 30 0d  12 e8 0f 42 4c 4b 25 21  |LK%!4=0....BLK%!|
00003820  38 3d 2d 33 35 36 0d 12  f2 0f 42 4c 4b 25 21 31  |8=-356....BLK%!1|
00003830  32 3d 31 30 30 0d 12 fc  0d 42 4c 4b 25 21 31 36  |2=100....BLK%!16|
00003840  3d 30 0d 13 06 27 c8 99  20 22 57 69 6d 70 5f 55  |=0...'.. "Wimp_U|
00003850  70 64 61 74 65 57 69 6e  64 6f 77 22 2c 2c 42 4c  |pdateWindow",,BL|
00003860  4b 25 20 b8 20 46 49 4e  25 0d 13 10 0d f2 67 65  |K% . FIN%.....ge|
00003870  74 70 61 74 6f 72 0d 13  1a 0b c8 95 20 46 49 4e  |tpator...... FIN|
00003880  25 0d 13 24 41 f2 70 6c  6f 74 70 61 6c 28 4f 50  |%..$A.plotpal(OP|
00003890  41 4c 25 29 3a f2 63 6f  6c 28 30 2c 30 2c 30 29  |AL%):.col(0,0,0)|
000038a0  3a 86 20 57 4f 58 25 2c  57 4f 59 25 2b 32 32 34  |:. WOX%,WOY%+224|
000038b0  2c 57 4f 58 25 2b 37 37  30 2c 57 4f 59 25 2b 32  |,WOX%+770,WOY%+2|
000038c0  32 34 0d 13 2e 0f 43 45  43 46 25 3d a4 63 65 63  |24....CECF%=.cec|
000038d0  66 0d 13 38 0f e3 20 52  4b 25 3d 30 20 b8 20 37  |f..8.. RK%=0 . 7|
000038e0  0d 13 42 18 4c 25 3d 45  43 46 25 28 52 4b 25 2b  |..B.L%=ECF%(RK%+|
000038f0  31 2c 43 45 43 46 25 29  0d 13 4c 64 50 45 25 3d  |1,CECF%)..LdPE%=|
00003900  42 54 43 25 3f 4c 25 3a  f2 63 6f 6c 28 50 41 4c  |BTC%?L%:.col(PAL|
00003910  54 41 42 25 3f 28 50 45  25 2a 32 29 2c 50 41 4c  |TAB%?(PE%*2),PAL|
00003920  54 41 42 25 3f 28 28 50  45 25 2a 32 29 2b 31 29  |TAB%?((PE%*2)+1)|
00003930  2c 30 29 3a c8 93 20 c8  90 20 57 4f 58 25 2d 31  |,0):.. .. WOX%-1|
00003940  34 36 2c 28 57 4f 59 25  2b 32 37 36 29 2d 28 52  |46,(WOY%+276)-(R|
00003950  4b 25 2a 34 30 29 2c 33  38 2c 33 36 0d 13 56 2c  |K%*40),38,36..V,|
00003960  c8 93 20 c8 90 20 57 4f  58 25 2d 31 34 36 2c 28  |.. .. WOX%-146,(|
00003970  57 4f 59 25 2b 32 37 36  29 2d 28 52 4b 25 2a 34  |WOY%+276)-(RK%*4|
00003980  30 29 2c 33 38 2c 33 36  0d 13 60 05 ed 0d 13 6a  |0),38,36..`....j|
00003990  27 c8 99 20 22 57 69 6d  70 5f 47 65 74 52 65 63  |'.. "Wimp_GetRec|
000039a0  74 61 6e 67 6c 65 22 2c  2c 42 4c 4b 25 20 b8 20  |tangle",,BLK% . |
000039b0  46 49 4e 25 0d 13 74 05  ce 0d 13 7e 05 e1 0d 13  |FIN%..t....~....|
000039c0  88 04 0d 13 92 26 dd a4  63 74 62 28 63 6f 25 2c  |.....&..ctb(co%,|
000039d0  74 69 25 29 3a 62 79 25  3d 2d 31 3a e3 4c 25 3d  |ti%):by%=-1:.L%=|
000039e0  30 20 74 6f 20 32 35 35  0d 13 9c 04 0d 13 a6 11  |0 to 255........|
000039f0  dd f2 64 72 61 77 70 69  63 69 6e 69 74 0d 13 b0  |..drawpicinit...|
00003a00  12 21 42 4c 4b 25 3d 48  41 4e 44 25 28 32 29 0d  |.!BLK%=HAND%(2).|
00003a10  13 ba 0c 42 4c 4b 25 21  34 3d 30 0d 13 c4 0f 42  |...BLK%!4=0....B|
00003a20  4c 4b 25 21 38 3d 2d 39  33 36 0d 13 ce 10 42 4c  |LK%!8=-936....BL|
00003a30  4b 25 21 31 32 3d 31 32  33 36 0d 13 d8 0d 42 4c  |K%!12=1236....BL|
00003a40  4b 25 21 31 36 3d 30 0d  13 e2 27 c8 99 20 22 57  |K%!16=0...'.. "W|
00003a50  69 6d 70 5f 55 70 64 61  74 65 57 69 6e 64 6f 77  |imp_UpdateWindow|
00003a60  22 2c 2c 42 4c 4b 25 20  b8 20 46 49 4e 25 0d 13  |",,BLK% . FIN%..|
00003a70  ec 0a f2 67 65 74 6f 72  0d 13 f6 05 e1 0d 14 00  |...getor........|
00003a80  04 0d 14 0a 18 dd f2 66  6f 72 63 65 64 72 61 77  |.......forcedraw|
00003a90  70 61 6c 28 50 54 55 25  29 0d 14 14 12 21 42 4c  |pal(PTU%)....!BL|
00003aa0  4b 25 3d 48 41 4e 44 25  28 33 29 0d 14 1e 0c 42  |K%=HAND%(3)....B|
00003ab0  4c 4b 25 21 34 3d 30 0d  14 28 0f 42 4c 4b 25 21  |LK%!4=0..(.BLK%!|
00003ac0  38 3d 2d 32 32 38 0d 14  32 0f 42 4c 4b 25 21 31  |8=-228..2.BLK%!1|
00003ad0  32 3d 37 37 30 0d 14 3c  0d 42 4c 4b 25 21 31 36  |2=770..<.BLK%!16|
00003ae0  3d 30 0d 14 46 27 c8 99  20 22 57 69 6d 70 5f 55  |=0..F'.. "Wimp_U|
00003af0  70 64 61 74 65 57 69 6e  64 6f 77 22 2c 2c 42 4c  |pdateWindow",,BL|
00003b00  4b 25 20 b8 20 46 49 4e  25 0d 14 50 0d f2 67 65  |K% . FIN%..P..ge|
00003b10  74 70 61 6c 6f 72 0d 14  5a 0b c8 95 20 46 49 4e  |tpalor..Z... FIN|
00003b20  25 0d 14 64 12 f2 70 6c  6f 74 70 61 6c 28 50 54  |%..d..plotpal(PT|
00003b30  55 25 29 0d 14 6e 27 c8  99 20 22 57 69 6d 70 5f  |U%)..n'.. "Wimp_|
00003b40  47 65 74 52 65 63 74 61  6e 67 6c 65 22 2c 2c 42  |GetRectangle",,B|
00003b50  4c 4b 25 20 b8 20 46 49  4e 25 0d 14 78 05 ce 0d  |LK% . FIN%..x...|
00003b60  14 82 05 e1 0d 14 8c 04  0d 14 96 14 dd f2 66 6f  |..............fo|
00003b70  72 63 65 64 72 61 77 74  62 61 63 6b 0d 14 a0 13  |rcedrawtback....|
00003b80  21 42 4c 4b 25 3d 48 41  4e 44 25 28 31 35 29 0d  |!BLK%=HAND%(15).|
00003b90  14 aa 0c 42 4c 4b 25 21  34 3d 30 0d 14 b4 0f 42  |...BLK%!4=0....B|
00003ba0  4c 4b 25 21 38 3d 2d 32  32 38 0d 14 be 0f 42 4c  |LK%!8=-228....BL|
00003bb0  4b 25 21 31 32 3d 37 37  30 0d 14 c8 0d 42 4c 4b  |K%!12=770....BLK|
00003bc0  25 21 31 36 3d 30 0d 14  d2 27 c8 99 20 22 57 69  |%!16=0...'.. "Wi|
00003bd0  6d 70 5f 55 70 64 61 74  65 57 69 6e 64 6f 77 22  |mp_UpdateWindow"|
00003be0  2c 2c 42 4c 4b 25 20 b8  20 46 49 4e 25 0d 14 dc  |,,BLK% . FIN%...|
00003bf0  0d f2 67 65 74 70 61 6c  6f 72 0d 14 e6 0b c8 95  |..getpalor......|
00003c00  20 46 49 4e 25 0d 14 f0  13 f2 70 6c 6f 74 70 61  | FIN%.....plotpa|
00003c10  6c 28 4f 50 41 4c 25 29  0d 14 fa 4b f2 63 6f 6c  |l(OPAL%)...K.col|
00003c20  28 36 33 2c 31 39 32 2c  30 29 3a c8 93 20 57 4f  |(63,192,0):.. WO|
00003c30  58 25 2b 28 28 46 4f 4e  54 42 25 20 83 20 33 32  |X%+((FONTB% . 32|
00003c40  29 2a 32 34 29 2c 57 4f  59 25 2b 28 28 46 4f 4e  |)*24),WOY%+((FON|
00003c50  54 42 25 20 81 20 33 32  29 2a 32 38 29 2c 32 34  |TB% . 32)*28),24|
00003c60  2c 32 38 0d 15 04 27 c8  99 20 22 57 69 6d 70 5f  |,28...'.. "Wimp_|
00003c70  47 65 74 52 65 63 74 61  6e 67 6c 65 22 2c 2c 42  |GetRectangle",,B|
00003c80  4c 4b 25 20 b8 20 46 49  4e 25 0d 15 0e 05 ce 0d  |LK% . FIN%......|
00003c90  15 18 05 e1 0d 15 22 04  0d 15 2c 0e dd f2 67 65  |......"...,...ge|
00003ca0  74 70 61 6c 6f 72 0d 15  36 17 57 4f 58 25 3d 42  |tpalor..6.WOX%=B|
00003cb0  4c 4b 25 21 34 2d 42 4c  4b 25 21 32 30 0d 15 40  |LK%!4-BLK%!20..@|
00003cc0  1e 57 4f 59 25 3d 28 42  4c 4b 25 21 31 36 2d 42  |.WOY%=(BLK%!16-B|
00003cd0  4c 4b 25 21 32 34 29 2d  32 32 38 0d 15 4a 05 e1  |LK%!24)-228..J..|
00003ce0  0d 15 54 04 0d 15 5e 0e  dd f2 67 65 74 70 61 74  |..T...^...getpat|
00003cf0  6f 72 0d 15 68 1d 57 4f  58 25 3d 28 42 4c 4b 25  |or..h.WOX%=(BLK%|
00003d00  21 34 2d 42 4c 4b 25 21  32 30 29 2b 31 38 30 0d  |!4-BLK%!20)+180.|
00003d10  15 72 1e 57 4f 59 25 3d  28 42 4c 4b 25 21 31 36  |.r.WOY%=(BLK%!16|
00003d20  2d 42 4c 4b 25 21 32 34  29 2d 33 34 30 0d 15 7c  |-BLK%!24)-340..||
00003d30  05 e1 0d 15 86 04 0d 15  90 0d dd f2 70 69 63 70  |............picp|
00003d40  6f 6c 6c 0d 15 9a 22 c8  99 20 22 57 69 6d 70 5f  |oll...".. "Wimp_|
00003d50  47 65 74 50 6f 69 6e 74  65 72 49 6e 66 6f 22 2c  |GetPointerInfo",|
00003d60  2c 42 4c 4b 25 0d 15 a4  33 f4 20 56 44 55 34 3a  |,BLK%...3. VDU4:|
00003d70  50 52 49 4e 54 54 41 42  28 30 2c 30 29 3b 4d 42  |PRINTTAB(0,0);MB|
00003d80  55 53 25 3b 22 2c 22 3b  42 4c 4b 25 21 38 3b 22  |US%;",";BLK%!8;"|
00003d90  20 20 22 3a 56 44 55 35  0d 15 ae 25 e7 20 4d 42  |  ":VDU5...%. MB|
00003da0  55 53 25 20 80 20 42 4c  4b 25 21 38 3c 3e 30 20  |US% . BLK%!8<>0 |
00003db0  8c 20 e1 20 8b 20 4d 42  55 53 25 3d a3 0d 15 b8  |. . . MBUS%=....|
00003dc0  44 e7 20 42 4c 4b 25 21  31 32 3c 48 41 4e 44 25  |D. BLK%!12<HAND%|
00003dd0  28 30 29 20 84 20 42 4c  4b 25 21 31 32 3e 48 41  |(0) . BLK%!12>HA|
00003de0  4e 44 25 28 4e 4f 57 49  4e 44 25 29 20 8c 20 49  |ND%(NOWIND%) . I|
00003df0  44 52 41 47 25 3d 28 42  4c 4b 25 21 38 3c 3e 30  |DRAG%=(BLK%!8<>0|
00003e00  29 0d 15 c2 19 e7 20 42  4c 4b 25 21 38 3d 30 20  |)..... BLK%!8=0 |
00003e10  8c 20 49 44 52 41 47 25  3d a3 0d 15 cc 26 f4 20  |. IDRAG%=....&. |
00003e20  56 44 55 34 3a 50 52 49  4e 54 54 41 42 28 30 2c  |VDU4:PRINTTAB(0,|
00003e30  30 29 3b 42 4c 4b 25 21  31 36 3b 22 20 20 20 22  |0);BLK%!16;"   "|
00003e40  0d 15 d6 29 e7 20 42 4c  4b 25 21 31 32 3c 3e 48  |...). BLK%!12<>H|
00003e50  41 4e 44 25 28 32 29 20  84 20 42 4c 4b 25 21 31  |AND%(2) . BLK%!1|
00003e60  36 3c 3e 2d 31 20 8c 20  e1 0d 15 e0 1c e7 20 42  |6<>-1 . ...... B|
00003e70  4c 4b 25 21 38 3c 3e 30  20 80 20 49 44 52 41 47  |LK%!8<>0 . IDRAG|
00003e80  25 20 8c 20 e1 0d 15 ea  22 58 25 3d 21 42 4c 4b  |% . ...."X%=!BLK|
00003e90  25 3a 59 25 3d 42 4c 4b  25 21 34 3a 42 55 54 25  |%:Y%=BLK%!4:BUT%|
00003ea0  3d 42 4c 4b 25 21 38 0d  15 f4 10 e7 20 42 55 54  |=BLK%!8..... BUT|
00003eb0  25 3d 32 20 8c 20 e1 0d  15 fe 0e c8 8e 20 46 55  |%=2 . ....... FU|
00003ec0  53 45 25 20 ca 0d 16 08  46 c9 20 31 3a e7 20 46  |SE% ....F. 1:. F|
00003ed0  55 53 54 25 3d 30 20 80  20 42 55 54 25 3c 3e 30  |UST%=0 . BUT%<>0|
00003ee0  20 8c 20 f2 70 69 63 70  6f 73 3a 58 25 28 30 29  | . .picpos:X%(0)|
00003ef0  3d 58 25 3a 59 25 28 30  29 3d 59 25 3a 46 55 53  |=X%:Y%(0)=Y%:FUS|
00003f00  54 25 3d 31 3a e5 20 8d  44 62 60 0d 16 12 27 e7  |T%=1:. .Db`...'.|
00003f10  20 42 55 54 25 3d 30 20  84 20 46 55 53 54 25 3d  | BUT%=0 . FUST%=|
00003f20  30 20 8c 20 46 55 53 54  25 3d 30 3a e5 20 8d 44  |0 . FUST%=0:. .D|
00003f30  62 60 0d 16 1c 38 f2 70  69 63 70 6f 73 3a f2 69  |b`...8.picpos:.i|
00003f40  6e 70 69 63 3a f2 73 65  74 63 6f 6c 3a f2 6c 28  |npic:.setcol:.l(|
00003f50  58 25 28 30 29 2c 59 25  28 30 29 2c 58 25 2c 59  |X%(0),Y%(0),X%,Y|
00003f60  25 29 3a f2 6f 75 74 70  69 63 0d 16 26 12 f2 71  |%):.outpic..&..q|
00003f70  75 69 63 6b 64 72 61 77  6d 61 69 6e 0d 16 30 15  |uickdrawmain..0.|
00003f80  58 25 28 30 29 3d 58 25  3a 59 25 28 30 29 3d 59  |X%(0)=X%:Y%(0)=Y|
00003f90  25 0d 16 3a 95 c9 20 32  3a e7 20 46 55 53 54 25  |%..:.. 2:. FUST%|
00003fa0  3d 30 20 80 20 42 55 54  25 3c 3e 30 20 8c 20 f2  |=0 . BUT%<>0 . .|
00003fb0  70 69 63 70 6f 73 3a 58  25 28 30 29 3d 58 25 3a  |picpos:X%(0)=X%:|
00003fc0  59 25 28 30 29 3d 59 25  3a 46 55 53 54 25 3d 31  |Y%(0)=Y%:FUST%=1|
00003fd0  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a f2  |:OX%=X%:OY%=Y%:.|
00003fe0  69 6e 70 69 63 3a e6 33  2c 36 33 20 c8 9c 20 31  |inpic:.3,63 .. 1|
00003ff0  39 32 3a 86 20 58 25 28  30 29 2c 59 25 28 30 29  |92:. X%(0),Y%(0)|
00004000  2c 4f 58 25 2c 4f 59 25  3a f2 6f 75 74 70 69 63  |,OX%,OY%:.outpic|
00004010  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 3a  |:.quickdrawmain:|
00004020  e5 20 8d 44 62 60 0d 16  44 16 e7 20 46 55 53 54  |. .Db`..D.. FUST|
00004030  25 3d 30 20 8c 20 e5 20  8d 44 62 60 0d 16 4e a9  |%=0 . . .Db`..N.|
00004040  e7 20 42 55 54 25 3d 31  20 8c 20 f2 69 6e 70 69  |. BUT%=1 . .inpi|
00004050  63 3a e6 33 2c 36 33 20  c8 9c 20 31 39 32 3a 86  |c:.3,63 .. 192:.|
00004060  20 58 25 28 30 29 2c 59  25 28 30 29 2c 4f 58 25  | X%(0),Y%(0),OX%|
00004070  2c 4f 59 25 3a f2 70 69  63 70 6f 73 3a 58 25 28  |,OY%:.picpos:X%(|
00004080  30 29 3d 58 25 3a 59 25  28 30 29 3d 59 25 3a 4f  |0)=X%:Y%(0)=Y%:O|
00004090  58 25 3d 58 25 3a 4f 59  25 3d 59 25 3a 46 55 53  |X%=X%:OY%=Y%:FUS|
000040a0  54 25 3d 31 3a e6 33 2c  36 33 20 c8 9c 20 31 39  |T%=1:.3,63 .. 19|
000040b0  32 3a 86 20 58 25 28 30  29 2c 59 25 28 30 29 2c  |2:. X%(0),Y%(0),|
000040c0  4f 58 25 2c 4f 59 25 3a  f2 6f 75 74 70 69 63 3a  |OX%,OY%:.outpic:|
000040d0  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 3a e5  |.quickdrawmain:.|
000040e0  20 8d 44 62 60 0d 16 58  ad e7 20 42 55 54 25 3d  | .Db`..X.. BUT%=|
000040f0  34 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |4 . .inpic:.eoc:|
00004100  86 20 58 25 28 30 29 2c  59 25 28 30 29 2c 4f 58  |. X%(0),Y%(0),OX|
00004110  25 2c 4f 59 25 3a f2 70  69 63 70 6f 73 3a f2 73  |%,OY%:.picpos:.s|
00004120  65 74 63 6f 6c 3a f2 6c  28 58 25 28 30 29 2c 59  |etcol:.l(X%(0),Y|
00004130  25 28 30 29 2c 58 25 2c  59 25 29 3a 58 25 28 30  |%(0),X%,Y%):X%(0|
00004140  29 3d 58 25 3a 59 25 28  30 29 3d 59 25 3a 4f 58  |)=X%:Y%(0)=Y%:OX|
00004150  25 3d 58 25 3a 4f 59 25  3d 59 25 3a f2 65 6f 63  |%=X%:OY%=Y%:.eoc|
00004160  3a 86 20 58 25 28 30 29  2c 59 25 28 30 29 2c 58  |:. X%(0),Y%(0),X|
00004170  25 2c 59 25 3a f2 6f 75  74 70 69 63 3a f2 71 75  |%,Y%:.outpic:.qu|
00004180  69 63 6b 64 72 61 77 6d  61 69 6e 3a e5 20 8d 44  |ickdrawmain:. .D|
00004190  62 60 0d 16 62 26 f2 70  69 63 70 6f 73 3a e7 20  |b`..b&.picpos:. |
000041a0  58 25 3d 4f 58 25 20 80  20 59 25 3d 4f 59 25 20  |X%=OX% . Y%=OY% |
000041b0  8c 20 e5 20 8d 44 62 60  0d 16 6c 5e f2 69 6e 70  |. . .Db`..l^.inp|
000041c0  69 63 3a f2 65 6f 63 3a  86 20 58 25 28 30 29 2c  |ic:.eoc:. X%(0),|
000041d0  59 25 28 30 29 2c 4f 58  25 2c 4f 59 25 3a 4f 58  |Y%(0),OX%,OY%:OX|
000041e0  25 3d 58 25 3a 4f 59 25  3d 59 25 3a 86 20 58 25  |%=X%:OY%=Y%:. X%|
000041f0  28 30 29 2c 59 25 28 30  29 2c 58 25 2c 59 25 3a  |(0),Y%(0),X%,Y%:|
00004200  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
00004210  61 77 6d 61 69 6e 0d 16  76 7e c9 20 34 3a e7 20  |awmain..v~. 4:. |
00004220  46 55 53 54 25 3d 30 20  8c 20 f2 70 61 69 6e 74  |FUST%=0 . .paint|
00004230  73 63 61 6c 65 3a f2 70  69 63 70 6f 73 3a f2 69  |scale:.picpos:.i|
00004240  6e 70 69 63 3a f2 65 6f  72 62 61 63 6b 3a f2 70  |npic:.eorback:.p|
00004250  61 69 6e 74 62 72 75 73  68 28 58 25 2c 59 25 29  |aintbrush(X%,Y%)|
00004260  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
00004270  72 61 77 6d 61 69 6e 3a  4f 58 25 3d 58 25 3a 4f  |rawmain:OX%=X%:O|
00004280  59 25 3d 59 25 3a 46 55  53 54 25 3d 31 3a e5 20  |Y%=Y%:FUST%=1:. |
00004290  8d 44 62 60 0d 16 80 0b  f2 70 69 63 70 6f 73 0d  |.Db`.....picpos.|
000042a0  16 8a 82 e7 20 58 25 3c  3e 4f 58 25 20 84 20 59  |.... X%<>OX% . Y|
000042b0  25 3c 3e 4f 59 25 20 8c  20 f2 70 61 69 6e 74 73  |%<>OY% . .paints|
000042c0  63 61 6c 65 3a f2 69 6e  70 69 63 3a f2 65 6f 72  |cale:.inpic:.eor|
000042d0  62 61 63 6b 3a f2 70 61  69 6e 74 62 72 75 73 68  |back:.paintbrush|
000042e0  28 4f 58 25 2c 4f 59 25  29 3a f2 70 61 69 6e 74  |(OX%,OY%):.paint|
000042f0  62 72 75 73 68 28 58 25  2c 59 25 29 3a 4f 58 25  |brush(X%,Y%):OX%|
00004300  3d 58 25 3a 4f 59 25 3d  59 25 3a f2 6f 75 74 70  |=X%:OY%=Y%:.outp|
00004310  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00004320  6e 0d 16 94 9a c9 20 35  3a e7 20 46 55 53 54 25  |n..... 5:. FUST%|
00004330  3d 30 20 80 20 42 55 54  25 3c 3e 30 20 8c 20 f2  |=0 . BUT%<>0 . .|
00004340  70 69 63 70 6f 73 3a 58  25 28 30 29 3d 58 25 3a  |picpos:X%(0)=X%:|
00004350  59 25 28 30 29 3d 59 25  3a 46 55 53 54 25 3d 31  |Y%(0)=Y%:FUST%=1|
00004360  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a f2  |:OX%=X%:OY%=Y%:.|
00004370  69 6e 70 69 63 3a f2 65  6f 63 3a c8 93 20 58 25  |inpic:.eoc:.. X%|
00004380  28 30 29 2c 59 25 28 30  29 2c 4f 58 25 2d 58 25  |(0),Y%(0),OX%-X%|
00004390  28 30 29 2c 4f 59 25 2d  59 25 28 30 29 3a f2 6f  |(0),OY%-Y%(0):.o|
000043a0  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
000043b0  6d 61 69 6e 3a e5 20 8d  44 62 60 0d 16 9e 16 e7  |main:. .Db`.....|
000043c0  20 46 55 53 54 25 3d 30  20 8c 20 e5 20 8d 44 62  | FUST%=0 . . .Db|
000043d0  60 0d 16 a8 80 e7 20 42  55 54 25 3d 31 20 8c 20  |`..... BUT%=1 . |
000043e0  f2 69 6e 70 69 63 3a f2  65 6f 63 3a c8 93 20 58  |.inpic:.eoc:.. X|
000043f0  25 28 30 29 2c 59 25 28  30 29 2c 4f 58 25 2d 58  |%(0),Y%(0),OX%-X|
00004400  25 28 30 29 2c 4f 59 25  2d 59 25 28 30 29 3a f2  |%(0),OY%-Y%(0):.|
00004410  70 69 63 70 6f 73 3a 4f  58 25 3d 58 25 3a 4f 59  |picpos:OX%=X%:OY|
00004420  25 3d 59 25 3a 46 55 53  54 25 3d 30 3a f2 6f 75  |%=Y%:FUST%=0:.ou|
00004430  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
00004440  61 69 6e 3a f2 6c 65 74  67 6f 3a e5 20 8d 44 62  |ain:.letgo:. .Db|
00004450  60 0d 16 b2 c6 e7 20 42  55 54 25 3d 34 20 80 20  |`..... BUT%=4 . |
00004460  28 4f 58 25 3c 3e 58 25  28 30 29 20 84 20 4f 59  |(OX%<>X%(0) . OY|
00004470  25 3c 3e 59 25 28 30 29  29 20 8c 20 f2 69 6e 70  |%<>Y%(0)) . .inp|
00004480  69 63 3a f2 65 6f 63 3a  c8 93 20 58 25 28 30 29  |ic:.eoc:.. X%(0)|
00004490  2c 59 25 28 30 29 2c 4f  58 25 2d 58 25 28 30 29  |,Y%(0),OX%-X%(0)|
000044a0  2c 4f 59 25 2d 59 25 28  30 29 3a f2 70 69 63 70  |,OY%-Y%(0):.picp|
000044b0  6f 73 3a f2 73 65 74 63  6f 6c 3a f2 72 28 58 25  |os:.setcol:.r(X%|
000044c0  28 30 29 2c 59 25 28 30  29 2c 58 25 2d 58 25 28  |(0),Y%(0),X%-X%(|
000044d0  30 29 2c 59 25 2d 59 25  28 30 29 29 3a 4f 58 25  |0),Y%-Y%(0)):OX%|
000044e0  3d 58 25 3a 4f 59 25 3d  59 25 3a f2 6f 75 74 70  |=X%:OY%=Y%:.outp|
000044f0  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00004500  6e 3a f2 6c 65 74 67 6f  3a 46 55 53 54 25 3d 30  |n:.letgo:FUST%=0|
00004510  3a e5 20 8d 44 62 60 0d  16 bc 26 f2 70 69 63 70  |:. .Db`...&.picp|
00004520  6f 73 3a e7 20 58 25 3d  4f 58 25 20 80 20 59 25  |os:. X%=OX% . Y%|
00004530  3d 4f 59 25 20 8c 20 e5  20 8d 44 62 60 0d 16 c6  |=OY% . . .Db`...|
00004540  78 f2 69 6e 70 69 63 3a  f2 65 6f 63 3a c8 93 20  |x.inpic:.eoc:.. |
00004550  58 25 28 30 29 2c 59 25  28 30 29 2c 4f 58 25 2d  |X%(0),Y%(0),OX%-|
00004560  58 25 28 30 29 2c 4f 59  25 2d 59 25 28 30 29 3a  |X%(0),OY%-Y%(0):|
00004570  4f 58 25 3d 58 25 3a 4f  59 25 3d 59 25 3a c8 93  |OX%=X%:OY%=Y%:..|
00004580  20 58 25 28 30 29 2c 59  25 28 30 29 2c 58 25 2d  | X%(0),Y%(0),X%-|
00004590  58 25 28 30 29 2c 59 25  2d 59 25 28 30 29 3a f2  |X%(0),Y%-Y%(0):.|
000045a0  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
000045b0  77 6d 61 69 6e 0d 16 d0  9d c9 20 36 3a e7 20 46  |wmain..... 6:. F|
000045c0  55 53 54 25 3d 30 20 80  20 42 55 54 25 3c 3e 30  |UST%=0 . BUT%<>0|
000045d0  20 8c 20 f2 70 69 63 70  6f 73 3a 58 25 28 30 29  | . .picpos:X%(0)|
000045e0  3d 58 25 3a 59 25 28 30  29 3d 59 25 3a 46 55 53  |=X%:Y%(0)=Y%:FUS|
000045f0  54 25 3d 31 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |T%=1:OX%=X%:OY%=|
00004600  59 25 3a f2 69 6e 70 69  63 3a f2 65 6f 63 3a c8  |Y%:.inpic:.eoc:.|
00004610  93 20 c8 90 20 58 25 28  30 29 2c 59 25 28 30 29  |. .. X%(0),Y%(0)|
00004620  2c 4f 58 25 2d 58 25 28  30 29 2c 4f 59 25 2d 59  |,OX%-X%(0),OY%-Y|
00004630  25 28 30 29 3a f2 6f 75  74 70 69 63 3a f2 71 75  |%(0):.outpic:.qu|
00004640  69 63 6b 64 72 61 77 6d  61 69 6e 3a e5 20 8d 44  |ickdrawmain:. .D|
00004650  62 60 0d 16 da 16 e7 20  46 55 53 54 25 3d 30 20  |b`..... FUST%=0 |
00004660  8c 20 e5 20 8d 44 62 60  0d 16 e4 83 e7 20 42 55  |. . .Db`..... BU|
00004670  54 25 3d 31 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=1 . .inpic:.e|
00004680  6f 63 3a c8 93 20 c8 90  20 58 25 28 30 29 2c 59  |oc:.. .. X%(0),Y|
00004690  25 28 30 29 2c 4f 58 25  2d 58 25 28 30 29 2c 4f  |%(0),OX%-X%(0),O|
000046a0  59 25 2d 59 25 28 30 29  3a f2 70 69 63 70 6f 73  |Y%-Y%(0):.picpos|
000046b0  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a 46  |:OX%=X%:OY%=Y%:F|
000046c0  55 53 54 25 3d 30 3a f2  6f 75 74 70 69 63 3a f2  |UST%=0:.outpic:.|
000046d0  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 3a f2 6c  |quickdrawmain:.l|
000046e0  65 74 67 6f 3a e5 20 8d  44 62 60 0d 16 ee cb e7  |etgo:. .Db`.....|
000046f0  20 42 55 54 25 3d 34 20  80 20 28 4f 58 25 3c 3e  | BUT%=4 . (OX%<>|
00004700  58 25 28 30 29 20 84 20  4f 59 25 3c 3e 59 25 28  |X%(0) . OY%<>Y%(|
00004710  30 29 29 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |0)) . .inpic:.eo|
00004720  63 3a c8 93 20 c8 90 20  58 25 28 30 29 2c 59 25  |c:.. .. X%(0),Y%|
00004730  28 30 29 2c 4f 58 25 2d  58 25 28 30 29 2c 4f 59  |(0),OX%-X%(0),OY|
00004740  25 2d 59 25 28 30 29 3a  f2 70 69 63 70 6f 73 3a  |%-Y%(0):.picpos:|
00004750  f2 73 65 74 63 6f 6c 3a  c8 93 20 c8 90 20 58 25  |.setcol:.. .. X%|
00004760  28 30 29 2c 59 25 28 30  29 2c 58 25 2d 58 25 28  |(0),Y%(0),X%-X%(|
00004770  30 29 2c 59 25 2d 59 25  28 30 29 3a 4f 58 25 3d  |0),Y%-Y%(0):OX%=|
00004780  58 25 3a 4f 59 25 3d 59  25 3a f2 6f 75 74 70 69  |X%:OY%=Y%:.outpi|
00004790  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
000047a0  3a f2 6c 65 74 67 6f 3a  46 55 53 54 25 3d 30 3a  |:.letgo:FUST%=0:|
000047b0  e5 20 8d 44 62 60 0d 16  f8 26 f2 70 69 63 70 6f  |. .Db`...&.picpo|
000047c0  73 3a e7 20 58 25 3d 4f  58 25 20 80 20 59 25 3d  |s:. X%=OX% . Y%=|
000047d0  4f 59 25 20 8c 20 e5 20  8d 44 62 60 0d 17 02 7e  |OY% . . .Db`...~|
000047e0  f2 69 6e 70 69 63 3a f2  65 6f 63 3a c8 93 20 c8  |.inpic:.eoc:.. .|
000047f0  90 20 58 25 28 30 29 2c  59 25 28 30 29 2c 4f 58  |. X%(0),Y%(0),OX|
00004800  25 2d 58 25 28 30 29 2c  4f 59 25 2d 59 25 28 30  |%-X%(0),OY%-Y%(0|
00004810  29 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |):OX%=X%:OY%=Y%:|
00004820  c8 93 20 c8 90 20 58 25  28 30 29 2c 59 25 28 30  |.. .. X%(0),Y%(0|
00004830  29 2c 58 25 2d 58 25 28  30 29 2c 59 25 2d 59 25  |),X%-X%(0),Y%-Y%|
00004840  28 30 29 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |(0):.outpic:.qui|
00004850  63 6b 64 72 61 77 6d 61  69 6e 0d 17 0c 95 c9 20  |ckdrawmain..... |
00004860  37 3a e7 20 46 55 53 54  25 3d 30 20 80 20 42 55  |7:. FUST%=0 . BU|
00004870  54 25 3c 3e 30 20 8c 20  f2 70 69 63 70 6f 73 3a  |T%<>0 . .picpos:|
00004880  58 25 28 30 29 3d 58 25  3a 59 25 28 30 29 3d 59  |X%(0)=X%:Y%(0)=Y|
00004890  25 3a 46 55 53 54 25 3d  31 3a 4f 58 25 3d 58 25  |%:FUST%=1:OX%=X%|
000048a0  3a 4f 59 25 3d 59 25 3a  f2 69 6e 70 69 63 3a f2  |:OY%=Y%:.inpic:.|
000048b0  65 6f 63 3a c8 8f 20 58  25 28 30 29 2c 59 25 28  |eoc:.. X%(0),Y%(|
000048c0  30 29 2c a4 64 69 73 74  28 4f 58 25 2c 4f 59 25  |0),.dist(OX%,OY%|
000048d0  29 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |):.outpic:.quick|
000048e0  64 72 61 77 6d 61 69 6e  3a e5 20 8d 44 62 60 0d  |drawmain:. .Db`.|
000048f0  17 16 16 e7 20 46 55 53  54 25 3d 30 20 8c 20 e5  |.... FUST%=0 . .|
00004900  20 8d 44 62 60 0d 17 20  7b e7 20 42 55 54 25 3d  | .Db`.. {. BUT%=|
00004910  31 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |1 . .inpic:.eoc:|
00004920  c8 8f 20 58 25 28 30 29  2c 59 25 28 30 29 2c a4  |.. X%(0),Y%(0),.|
00004930  64 69 73 74 28 4f 58 25  2c 4f 59 25 29 3a f2 70  |dist(OX%,OY%):.p|
00004940  69 63 70 6f 73 3a 4f 58  25 3d 58 25 3a 4f 59 25  |icpos:OX%=X%:OY%|
00004950  3d 59 25 3a 46 55 53 54  25 3d 30 3a f2 6f 75 74  |=Y%:FUST%=0:.out|
00004960  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
00004970  69 6e 3a f2 6c 65 74 67  6f 3a e5 20 8d 44 62 60  |in:.letgo:. .Db`|
00004980  0d 17 2a bb e7 20 42 55  54 25 3d 34 20 80 20 28  |..*.. BUT%=4 . (|
00004990  4f 58 25 3c 3e 58 25 28  30 29 20 84 20 4f 59 25  |OX%<>X%(0) . OY%|
000049a0  3c 3e 59 25 28 30 29 29  20 8c 20 f2 69 6e 70 69  |<>Y%(0)) . .inpi|
000049b0  63 3a f2 65 6f 63 3a c8  8f 20 58 25 28 30 29 2c  |c:.eoc:.. X%(0),|
000049c0  59 25 28 30 29 2c a4 64  69 73 74 28 4f 58 25 2c  |Y%(0),.dist(OX%,|
000049d0  4f 59 25 29 3a f2 70 69  63 70 6f 73 3a f2 73 65  |OY%):.picpos:.se|
000049e0  74 63 6f 6c 3a c8 8f 20  58 25 28 30 29 2c 59 25  |tcol:.. X%(0),Y%|
000049f0  28 30 29 2c a4 64 69 73  74 28 58 25 2c 59 25 29  |(0),.dist(X%,Y%)|
00004a00  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a f2  |:OX%=X%:OY%=Y%:.|
00004a10  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
00004a20  77 6d 61 69 6e 3a f2 6c  65 74 67 6f 3a 46 55 53  |wmain:.letgo:FUS|
00004a30  54 25 3d 30 3a e5 20 8d  44 62 60 0d 17 34 26 f2  |T%=0:. .Db`..4&.|
00004a40  70 69 63 70 6f 73 3a e7  20 58 25 3d 4f 58 25 20  |picpos:. X%=OX% |
00004a50  80 20 59 25 3d 4f 59 25  20 8c 20 e5 20 8d 44 62  |. Y%=OY% . . .Db|
00004a60  60 0d 17 3e 6e f2 69 6e  70 69 63 3a f2 65 6f 63  |`..>n.inpic:.eoc|
00004a70  3a c8 8f 20 58 25 28 30  29 2c 59 25 28 30 29 2c  |:.. X%(0),Y%(0),|
00004a80  a4 64 69 73 74 28 4f 58  25 2c 4f 59 25 29 3a 4f  |.dist(OX%,OY%):O|
00004a90  58 25 3d 58 25 3a 4f 59  25 3d 59 25 3a c8 8f 20  |X%=X%:OY%=Y%:.. |
00004aa0  58 25 28 30 29 2c 59 25  28 30 29 2c a4 64 69 73  |X%(0),Y%(0),.dis|
00004ab0  74 28 58 25 2c 59 25 29  3a f2 6f 75 74 70 69 63  |t(X%,Y%):.outpic|
00004ac0  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 0d  |:.quickdrawmain.|
00004ad0  17 48 98 c9 20 38 3a e7  20 46 55 53 54 25 3d 30  |.H.. 8:. FUST%=0|
00004ae0  20 80 20 42 55 54 25 3c  3e 30 20 8c 20 f2 70 69  | . BUT%<>0 . .pi|
00004af0  63 70 6f 73 3a 58 25 28  30 29 3d 58 25 3a 59 25  |cpos:X%(0)=X%:Y%|
00004b00  28 30 29 3d 59 25 3a 46  55 53 54 25 3d 31 3a 4f  |(0)=Y%:FUST%=1:O|
00004b10  58 25 3d 58 25 3a 4f 59  25 3d 59 25 3a f2 69 6e  |X%=X%:OY%=Y%:.in|
00004b20  70 69 63 3a f2 65 6f 63  3a c8 8f 20 c8 90 20 58  |pic:.eoc:.. .. X|
00004b30  25 28 30 29 2c 59 25 28  30 29 2c a4 64 69 73 74  |%(0),Y%(0),.dist|
00004b40  28 4f 58 25 2c 4f 59 25  29 3a f2 6f 75 74 70 69  |(OX%,OY%):.outpi|
00004b50  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
00004b60  3a e5 20 8d 44 62 60 0d  17 52 16 e7 20 46 55 53  |:. .Db`..R.. FUS|
00004b70  54 25 3d 30 20 8c 20 e5  20 8d 44 62 60 0d 17 5c  |T%=0 . . .Db`..\|
00004b80  7e e7 20 42 55 54 25 3d  31 20 8c 20 f2 69 6e 70  |~. BUT%=1 . .inp|
00004b90  69 63 3a f2 65 6f 63 3a  c8 8f 20 c8 90 20 58 25  |ic:.eoc:.. .. X%|
00004ba0  28 30 29 2c 59 25 28 30  29 2c a4 64 69 73 74 28  |(0),Y%(0),.dist(|
00004bb0  4f 58 25 2c 4f 59 25 29  3a f2 70 69 63 70 6f 73  |OX%,OY%):.picpos|
00004bc0  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a 46  |:OX%=X%:OY%=Y%:F|
00004bd0  55 53 54 25 3d 30 3a f2  6f 75 74 70 69 63 3a f2  |UST%=0:.outpic:.|
00004be0  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 3a f2 6c  |quickdrawmain:.l|
00004bf0  65 74 67 6f 3a e5 20 8d  44 62 60 0d 17 66 c1 e7  |etgo:. .Db`..f..|
00004c00  20 42 55 54 25 3d 34 20  80 20 28 4f 58 25 3c 3e  | BUT%=4 . (OX%<>|
00004c10  58 25 28 30 29 20 84 20  4f 59 25 3c 3e 59 25 28  |X%(0) . OY%<>Y%(|
00004c20  30 29 29 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |0)) . .inpic:.eo|
00004c30  63 3a c8 8f 20 c8 90 20  58 25 28 30 29 2c 59 25  |c:.. .. X%(0),Y%|
00004c40  28 30 29 2c a4 64 69 73  74 28 4f 58 25 2c 4f 59  |(0),.dist(OX%,OY|
00004c50  25 29 3a f2 70 69 63 70  6f 73 3a f2 73 65 74 63  |%):.picpos:.setc|
00004c60  6f 6c 3a c8 8f 20 c8 90  20 58 25 28 30 29 2c 59  |ol:.. .. X%(0),Y|
00004c70  25 28 30 29 2c a4 64 69  73 74 28 58 25 2c 59 25  |%(0),.dist(X%,Y%|
00004c80  29 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |):OX%=X%:OY%=Y%:|
00004c90  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
00004ca0  61 77 6d 61 69 6e 3a f2  6c 65 74 67 6f 3a 46 55  |awmain:.letgo:FU|
00004cb0  53 54 25 3d 30 3a e5 20  8d 44 62 60 0d 17 70 26  |ST%=0:. .Db`..p&|
00004cc0  f2 70 69 63 70 6f 73 3a  e7 20 58 25 3d 4f 58 25  |.picpos:. X%=OX%|
00004cd0  20 80 20 59 25 3d 4f 59  25 20 8c 20 e5 20 8d 44  | . Y%=OY% . . .D|
00004ce0  62 60 0d 17 7a 74 f2 69  6e 70 69 63 3a f2 65 6f  |b`..zt.inpic:.eo|
00004cf0  63 3a c8 8f 20 c8 90 20  58 25 28 30 29 2c 59 25  |c:.. .. X%(0),Y%|
00004d00  28 30 29 2c a4 64 69 73  74 28 4f 58 25 2c 4f 59  |(0),.dist(OX%,OY|
00004d10  25 29 3a 4f 58 25 3d 58  25 3a 4f 59 25 3d 59 25  |%):OX%=X%:OY%=Y%|
00004d20  3a c8 8f 20 c8 90 20 58  25 28 30 29 2c 59 25 28  |:.. .. X%(0),Y%(|
00004d30  30 29 2c a4 64 69 73 74  28 58 25 2c 59 25 29 3a  |0),.dist(X%,Y%):|
00004d40  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
00004d50  61 77 6d 61 69 6e 0d 17  84 8d c9 20 39 3a e7 20  |awmain..... 9:. |
00004d60  46 55 53 54 25 3d 30 20  80 20 42 55 54 25 3c 3e  |FUST%=0 . BUT%<>|
00004d70  30 20 8c 20 f2 70 69 63  70 6f 73 3a 58 25 28 30  |0 . .picpos:X%(0|
00004d80  29 3d 58 25 3a 59 25 28  30 29 3d 59 25 3a 46 55  |)=X%:Y%(0)=Y%:FU|
00004d90  53 54 25 3d 31 3a 4f 58  25 3d 58 25 3a 4f 59 25  |ST%=1:OX%=X%:OY%|
00004da0  3d 59 25 3a f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |=Y%:.inpic:.eoc:|
00004db0  86 20 58 25 28 30 29 2c  59 25 28 30 29 2c 4f 58  |. X%(0),Y%(0),OX|
00004dc0  25 2c 4f 59 25 3a f2 6f  75 74 70 69 63 3a f2 71  |%,OY%:.outpic:.q|
00004dd0  75 69 63 6b 64 72 61 77  6d 61 69 6e 3a e5 20 8d  |uickdrawmain:. .|
00004de0  44 62 60 0d 17 8e 16 e7  20 46 55 53 54 25 3d 30  |Db`..... FUST%=0|
00004df0  20 8c 20 e5 20 8d 44 62  60 0d 17 98 7d e7 20 42  | . . .Db`...}. B|
00004e00  55 54 25 3d 31 20 80 20  46 55 53 54 25 3d 31 20  |UT%=1 . FUST%=1 |
00004e10  8c 20 f2 69 6e 70 69 63  3a f2 65 6f 63 3a 86 20  |. .inpic:.eoc:. |
00004e20  58 25 28 30 29 2c 59 25  28 30 29 2c 4f 58 25 2c  |X%(0),Y%(0),OX%,|
00004e30  4f 59 25 3a f2 70 69 63  70 6f 73 3a 4f 58 25 3d  |OY%:.picpos:OX%=|
00004e40  58 25 3a 4f 59 25 3d 59  25 3a 46 55 53 54 25 3d  |X%:OY%=Y%:FUST%=|
00004e50  30 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |0:.outpic:.quick|
00004e60  64 72 61 77 6d 61 69 6e  3a f2 6c 65 74 67 6f 3a  |drawmain:.letgo:|
00004e70  e5 20 8d 44 62 60 0d 17  a2 69 e7 20 42 55 54 25  |. .Db`...i. BUT%|
00004e80  3d 31 20 80 20 46 55 53  54 25 3d 32 20 8c 20 f2  |=1 . FUST%=2 . .|
00004e90  69 6e 70 69 63 3a f2 65  6f 63 3a f2 74 72 69 28  |inpic:.eoc:.tri(|
00004ea0  35 2c 4f 58 25 2c 4f 59  25 29 3a f2 70 69 63 70  |5,OX%,OY%):.picp|
00004eb0  6f 73 3a 46 55 53 54 25  3d 30 3a f2 6f 75 74 70  |os:FUST%=0:.outp|
00004ec0  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00004ed0  6e 3a f2 6c 65 74 67 6f  3a e5 20 8d 44 62 60 0d  |n:.letgo:. .Db`.|
00004ee0  17 ac bf e7 20 42 55 54  25 3d 34 20 80 20 28 4f  |.... BUT%=4 . (O|
00004ef0  58 25 3c 3e 58 25 28 30  29 20 84 20 4f 59 25 3c  |X%<>X%(0) . OY%<|
00004f00  3e 59 25 28 30 29 29 20  80 20 46 55 53 54 25 3d  |>Y%(0)) . FUST%=|
00004f10  31 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |1 . .inpic:.eoc:|
00004f20  58 25 28 31 29 3d 4f 58  25 3a 59 25 28 31 29 3d  |X%(1)=OX%:Y%(1)=|
00004f30  4f 59 25 3a f2 70 69 63  70 6f 73 3a 4f 58 25 3d  |OY%:.picpos:OX%=|
00004f40  58 25 3a 4f 59 25 3d 59  25 3a 86 20 58 25 28 31  |X%:OY%=Y%:. X%(1|
00004f50  29 2c 59 25 28 31 29 2c  58 25 2c 59 25 3a 86 20  |),Y%(1),X%,Y%:. |
00004f60  58 25 28 30 29 2c 59 25  28 30 29 2c 58 25 2c 59  |X%(0),Y%(0),X%,Y|
00004f70  25 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |%:.outpic:.quick|
00004f80  64 72 61 77 6d 61 69 6e  3a f2 6c 65 74 67 6f 3a  |drawmain:.letgo:|
00004f90  46 55 53 54 25 3d 32 3a  e5 20 8d 44 62 60 0d 17  |FUST%=2:. .Db`..|
00004fa0  b6 a9 e7 20 42 55 54 25  3d 34 20 80 20 28 4f 58  |... BUT%=4 . (OX|
00004fb0  25 3c 3e 58 25 28 31 29  20 84 20 4f 59 25 3c 3e  |%<>X%(1) . OY%<>|
00004fc0  59 25 28 31 29 29 20 80  20 46 55 53 54 25 3d 32  |Y%(1)) . FUST%=2|
00004fd0  20 8c 20 f2 69 6e 70 69  63 3a f2 65 6f 63 3a f2  | . .inpic:.eoc:.|
00004fe0  70 69 63 70 6f 73 3a f2  74 72 69 28 35 2c 4f 58  |picpos:.tri(5,OX|
00004ff0  25 2c 4f 59 25 29 3a f2  73 65 74 63 6f 6c 3a f2  |%,OY%):.setcol:.|
00005000  74 72 69 28 30 2c 58 25  2c 59 25 29 3a 4f 58 25  |tri(0,X%,Y%):OX%|
00005010  3d 58 25 3a 4f 59 25 3d  59 25 3a f2 6f 75 74 70  |=X%:OY%=Y%:.outp|
00005020  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00005030  6e 3a f2 6c 65 74 67 6f  3a 46 55 53 54 25 3d 30  |n:.letgo:FUST%=0|
00005040  3a e5 20 8d 44 62 60 0d  17 c0 26 f2 70 69 63 70  |:. .Db`...&.picp|
00005050  6f 73 3a e7 20 58 25 3d  4f 58 25 20 80 20 59 25  |os:. X%=OX% . Y%|
00005060  3d 4f 59 25 20 8c 20 e5  20 8d 44 62 60 0d 17 ca  |=OY% . . .Db`...|
00005070  6a e7 20 46 55 53 54 25  3d 31 20 8c 20 f2 69 6e  |j. FUST%=1 . .in|
00005080  70 69 63 3a f2 65 6f 63  3a 86 20 58 25 28 30 29  |pic:.eoc:. X%(0)|
00005090  2c 59 25 28 30 29 2c 4f  58 25 2c 4f 59 25 3a 4f  |,Y%(0),OX%,OY%:O|
000050a0  58 25 3d 58 25 3a 4f 59  25 3d 59 25 3a 86 20 58  |X%=X%:OY%=Y%:. X|
000050b0  25 28 30 29 2c 59 25 28  30 29 2c 58 25 2c 59 25  |%(0),Y%(0),X%,Y%|
000050c0  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
000050d0  72 61 77 6d 61 69 6e 0d  17 d4 94 e7 20 46 55 53  |rawmain..... FUS|
000050e0  54 25 3d 32 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=2 . .inpic:.e|
000050f0  6f 63 3a 86 20 58 25 28  30 29 2c 59 25 28 30 29  |oc:. X%(0),Y%(0)|
00005100  2c 4f 58 25 2c 4f 59 25  3a 86 20 58 25 28 31 29  |,OX%,OY%:. X%(1)|
00005110  2c 59 25 28 31 29 2c 4f  58 25 2c 4f 59 25 3a 4f  |,Y%(1),OX%,OY%:O|
00005120  58 25 3d 58 25 3a 4f 59  25 3d 59 25 3a 86 20 58  |X%=X%:OY%=Y%:. X|
00005130  25 28 30 29 2c 59 25 28  30 29 2c 58 25 2c 59 25  |%(0),Y%(0),X%,Y%|
00005140  3a 86 20 58 25 28 31 29  2c 59 25 28 31 29 2c 58  |:. X%(1),Y%(1),X|
00005150  25 2c 59 25 3a f2 6f 75  74 70 69 63 3a f2 71 75  |%,Y%:.outpic:.qu|
00005160  69 63 6b 64 72 61 77 6d  61 69 6e 0d 17 de 8e c9  |ickdrawmain.....|
00005170  20 31 30 3a e7 20 46 55  53 54 25 3d 30 20 80 20  | 10:. FUST%=0 . |
00005180  42 55 54 25 3c 3e 30 20  8c 20 f2 70 69 63 70 6f  |BUT%<>0 . .picpo|
00005190  73 3a 58 25 28 30 29 3d  58 25 3a 59 25 28 30 29  |s:X%(0)=X%:Y%(0)|
000051a0  3d 59 25 3a 46 55 53 54  25 3d 31 3a 4f 58 25 3d  |=Y%:FUST%=1:OX%=|
000051b0  58 25 3a 4f 59 25 3d 59  25 3a f2 69 6e 70 69 63  |X%:OY%=Y%:.inpic|
000051c0  3a f2 65 6f 63 3a 86 20  58 25 28 30 29 2c 59 25  |:.eoc:. X%(0),Y%|
000051d0  28 30 29 2c 4f 58 25 2c  4f 59 25 3a f2 6f 75 74  |(0),OX%,OY%:.out|
000051e0  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
000051f0  69 6e 3a e5 20 8d 44 62  60 0d 17 e8 16 e7 20 46  |in:. .Db`..... F|
00005200  55 53 54 25 3d 30 20 8c  20 e5 20 8d 44 62 60 0d  |UST%=0 . . .Db`.|
00005210  17 f2 7d e7 20 42 55 54  25 3d 31 20 80 20 46 55  |..}. BUT%=1 . FU|
00005220  53 54 25 3d 31 20 8c 20  f2 69 6e 70 69 63 3a f2  |ST%=1 . .inpic:.|
00005230  65 6f 63 3a 86 20 58 25  28 30 29 2c 59 25 28 30  |eoc:. X%(0),Y%(0|
00005240  29 2c 4f 58 25 2c 4f 59  25 3a f2 70 69 63 70 6f  |),OX%,OY%:.picpo|
00005250  73 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |s:OX%=X%:OY%=Y%:|
00005260  46 55 53 54 25 3d 30 3a  f2 6f 75 74 70 69 63 3a  |FUST%=0:.outpic:|
00005270  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 3a f2  |.quickdrawmain:.|
00005280  6c 65 74 67 6f 3a e5 20  8d 44 62 60 0d 17 fc 6a  |letgo:. .Db`...j|
00005290  e7 20 42 55 54 25 3d 31  20 80 20 46 55 53 54 25  |. BUT%=1 . FUST%|
000052a0  3d 32 20 8c 20 f2 69 6e  70 69 63 3a f2 65 6f 63  |=2 . .inpic:.eoc|
000052b0  3a f2 74 72 69 28 38 35  2c 4f 58 25 2c 4f 59 25  |:.tri(85,OX%,OY%|
000052c0  29 3a f2 70 69 63 70 6f  73 3a 46 55 53 54 25 3d  |):.picpos:FUST%=|
000052d0  30 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |0:.outpic:.quick|
000052e0  64 72 61 77 6d 61 69 6e  3a f2 6c 65 74 67 6f 3a  |drawmain:.letgo:|
000052f0  e5 20 8d 44 62 60 0d 18  06 bc e7 20 42 55 54 25  |. .Db`..... BUT%|
00005300  3d 34 20 80 20 28 4f 58  25 3c 3e 58 25 28 30 29  |=4 . (OX%<>X%(0)|
00005310  20 84 20 4f 59 25 3c 3e  59 25 28 30 29 29 20 80  | . OY%<>Y%(0)) .|
00005320  20 46 55 53 54 25 3d 31  20 8c 20 f2 69 6e 70 69  | FUST%=1 . .inpi|
00005330  63 3a f2 65 6f 63 3a 58  25 28 31 29 3d 4f 58 25  |c:.eoc:X%(1)=OX%|
00005340  3a 59 25 28 31 29 3d 4f  59 25 3a 86 20 58 25 28  |:Y%(1)=OY%:. X%(|
00005350  30 29 2c 59 25 28 30 29  2c 4f 58 25 2c 4f 59 25  |0),Y%(0),OX%,OY%|
00005360  3a f2 70 69 63 70 6f 73  3a 4f 58 25 3d 58 25 3a  |:.picpos:OX%=X%:|
00005370  4f 59 25 3d 59 25 3a f2  74 72 69 28 38 35 2c 58  |OY%=Y%:.tri(85,X|
00005380  25 2c 59 25 29 3a f2 6f  75 74 70 69 63 3a f2 71  |%,Y%):.outpic:.q|
00005390  75 69 63 6b 64 72 61 77  6d 61 69 6e 3a f2 6c 65  |uickdrawmain:.le|
000053a0  74 67 6f 3a 46 55 53 54  25 3d 32 3a e5 20 8d 44  |tgo:FUST%=2:. .D|
000053b0  62 60 0d 18 10 ab e7 20  42 55 54 25 3d 34 20 80  |b`..... BUT%=4 .|
000053c0  20 28 4f 58 25 3c 3e 58  25 28 31 29 20 84 20 4f  | (OX%<>X%(1) . O|
000053d0  59 25 3c 3e 59 25 28 31  29 29 20 80 20 46 55 53  |Y%<>Y%(1)) . FUS|
000053e0  54 25 3d 32 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=2 . .inpic:.e|
000053f0  6f 63 3a f2 70 69 63 70  6f 73 3a f2 74 72 69 28  |oc:.picpos:.tri(|
00005400  38 35 2c 4f 58 25 2c 4f  59 25 29 3a f2 73 65 74  |85,OX%,OY%):.set|
00005410  63 6f 6c 3a f2 74 72 69  28 38 35 2c 58 25 2c 59  |col:.tri(85,X%,Y|
00005420  25 29 3a 4f 58 25 3d 58  25 3a 4f 59 25 3d 59 25  |%):OX%=X%:OY%=Y%|
00005430  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
00005440  72 61 77 6d 61 69 6e 3a  f2 6c 65 74 67 6f 3a 46  |rawmain:.letgo:F|
00005450  55 53 54 25 3d 30 3a e5  20 8d 44 62 60 0d 18 1a  |UST%=0:. .Db`...|
00005460  26 f2 70 69 63 70 6f 73  3a e7 20 58 25 3d 4f 58  |&.picpos:. X%=OX|
00005470  25 20 80 20 59 25 3d 4f  59 25 20 8c 20 e5 20 8d  |% . Y%=OY% . . .|
00005480  44 62 60 0d 18 24 6a e7  20 46 55 53 54 25 3d 31  |Db`..$j. FUST%=1|
00005490  20 8c 20 f2 69 6e 70 69  63 3a f2 65 6f 63 3a 86  | . .inpic:.eoc:.|
000054a0  20 58 25 28 30 29 2c 59  25 28 30 29 2c 4f 58 25  | X%(0),Y%(0),OX%|
000054b0  2c 4f 59 25 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |,OY%:OX%=X%:OY%=|
000054c0  59 25 3a 86 20 58 25 28  30 29 2c 59 25 28 30 29  |Y%:. X%(0),Y%(0)|
000054d0  2c 58 25 2c 59 25 3a f2  6f 75 74 70 69 63 3a f2  |,X%,Y%:.outpic:.|
000054e0  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 0d 18 2e  |quickdrawmain...|
000054f0  60 e7 20 46 55 53 54 25  3d 32 20 8c 20 f2 69 6e  |`. FUST%=2 . .in|
00005500  70 69 63 3a f2 65 6f 63  3a f2 74 72 69 28 38 35  |pic:.eoc:.tri(85|
00005510  2c 4f 58 25 2c 4f 59 25  29 3a 4f 58 25 3d 58 25  |,OX%,OY%):OX%=X%|
00005520  3a 4f 59 25 3d 59 25 3a  f2 74 72 69 28 38 35 2c  |:OY%=Y%:.tri(85,|
00005530  58 25 2c 59 25 29 3a f2  6f 75 74 70 69 63 3a f2  |X%,Y%):.outpic:.|
00005540  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 0d 18 38  |quickdrawmain..8|
00005550  8e c9 20 31 31 3a e7 20  46 55 53 54 25 3d 30 20  |.. 11:. FUST%=0 |
00005560  80 20 42 55 54 25 3c 3e  30 20 8c 20 f2 70 69 63  |. BUT%<>0 . .pic|
00005570  70 6f 73 3a 58 25 28 30  29 3d 58 25 3a 59 25 28  |pos:X%(0)=X%:Y%(|
00005580  30 29 3d 59 25 3a 46 55  53 54 25 3d 31 3a 4f 58  |0)=Y%:FUST%=1:OX|
00005590  25 3d 58 25 3a 4f 59 25  3d 59 25 3a f2 69 6e 70  |%=X%:OY%=Y%:.inp|
000055a0  69 63 3a f2 65 6f 63 3a  86 20 58 25 28 30 29 2c  |ic:.eoc:. X%(0),|
000055b0  59 25 28 30 29 2c 4f 58  25 2c 4f 59 25 3a f2 6f  |Y%(0),OX%,OY%:.o|
000055c0  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
000055d0  6d 61 69 6e 3a e5 20 8d  44 62 60 0d 18 42 16 e7  |main:. .Db`..B..|
000055e0  20 46 55 53 54 25 3d 30  20 8c 20 e5 20 8d 44 62  | FUST%=0 . . .Db|
000055f0  60 0d 18 4c 7d e7 20 42  55 54 25 3d 31 20 80 20  |`..L}. BUT%=1 . |
00005600  46 55 53 54 25 3d 31 20  8c 20 f2 69 6e 70 69 63  |FUST%=1 . .inpic|
00005610  3a f2 65 6f 63 3a 86 20  58 25 28 30 29 2c 59 25  |:.eoc:. X%(0),Y%|
00005620  28 30 29 2c 4f 58 25 2c  4f 59 25 3a f2 70 69 63  |(0),OX%,OY%:.pic|
00005630  70 6f 73 3a 4f 58 25 3d  58 25 3a 4f 59 25 3d 59  |pos:OX%=X%:OY%=Y|
00005640  25 3a 46 55 53 54 25 3d  30 3a f2 6f 75 74 70 69  |%:FUST%=0:.outpi|
00005650  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
00005660  3a f2 6c 65 74 67 6f 3a  e5 20 8d 44 62 60 0d 18  |:.letgo:. .Db`..|
00005670  56 6c e7 20 42 55 54 25  3d 31 20 80 20 46 55 53  |Vl. BUT%=1 . FUS|
00005680  54 25 3d 32 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=2 . .inpic:.e|
00005690  6f 63 3a f2 65 6c 69 70  28 26 43 35 2c 4f 58 25  |oc:.elip(&C5,OX%|
000056a0  2c 4f 59 25 29 3a f2 70  69 63 70 6f 73 3a 46 55  |,OY%):.picpos:FU|
000056b0  53 54 25 3d 30 3a f2 6f  75 74 70 69 63 3a f2 71  |ST%=0:.outpic:.q|
000056c0  75 69 63 6b 64 72 61 77  6d 61 69 6e 3a f2 6c 65  |uickdrawmain:.le|
000056d0  74 67 6f 3a e5 20 8d 44  62 60 0d 18 60 be e7 20  |tgo:. .Db`..`.. |
000056e0  42 55 54 25 3d 34 20 80  20 28 4f 58 25 3c 3e 58  |BUT%=4 . (OX%<>X|
000056f0  25 28 30 29 20 84 20 4f  59 25 3c 3e 59 25 28 30  |%(0) . OY%<>Y%(0|
00005700  29 29 20 80 20 46 55 53  54 25 3d 31 20 8c 20 f2  |)) . FUST%=1 . .|
00005710  69 6e 70 69 63 3a f2 65  6f 63 3a 58 25 28 31 29  |inpic:.eoc:X%(1)|
00005720  3d 4f 58 25 3a 59 25 28  31 29 3d 4f 59 25 3a 86  |=OX%:Y%(1)=OY%:.|
00005730  20 58 25 28 30 29 2c 59  25 28 30 29 2c 4f 58 25  | X%(0),Y%(0),OX%|
00005740  2c 4f 59 25 3a f2 70 69  63 70 6f 73 3a 4f 58 25  |,OY%:.picpos:OX%|
00005750  3d 58 25 3a 4f 59 25 3d  59 25 3a f2 65 6c 69 70  |=X%:OY%=Y%:.elip|
00005760  28 26 43 35 2c 58 25 2c  59 25 29 3a f2 6f 75 74  |(&C5,X%,Y%):.out|
00005770  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
00005780  69 6e 3a f2 6c 65 74 67  6f 3a 46 55 53 54 25 3d  |in:.letgo:FUST%=|
00005790  32 3a e5 20 8d 44 62 60  0d 18 6a af e7 20 42 55  |2:. .Db`..j.. BU|
000057a0  54 25 3d 34 20 80 20 28  4f 58 25 3c 3e 58 25 28  |T%=4 . (OX%<>X%(|
000057b0  31 29 20 84 20 4f 59 25  3c 3e 59 25 28 31 29 29  |1) . OY%<>Y%(1))|
000057c0  20 80 20 46 55 53 54 25  3d 32 20 8c 20 f2 69 6e  | . FUST%=2 . .in|
000057d0  70 69 63 3a f2 65 6f 63  3a f2 70 69 63 70 6f 73  |pic:.eoc:.picpos|
000057e0  3a f2 65 6c 69 70 28 26  43 35 2c 4f 58 25 2c 4f  |:.elip(&C5,OX%,O|
000057f0  59 25 29 3a f2 73 65 74  63 6f 6c 3a f2 65 6c 69  |Y%):.setcol:.eli|
00005800  70 28 26 43 35 2c 58 25  2c 59 25 29 3a 4f 58 25  |p(&C5,X%,Y%):OX%|
00005810  3d 58 25 3a 4f 59 25 3d  59 25 3a f2 6f 75 74 70  |=X%:OY%=Y%:.outp|
00005820  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00005830  6e 3a f2 6c 65 74 67 6f  3a 46 55 53 54 25 3d 30  |n:.letgo:FUST%=0|
00005840  3a e5 20 8d 44 62 60 0d  18 74 26 f2 70 69 63 70  |:. .Db`..t&.picp|
00005850  6f 73 3a e7 20 58 25 3d  4f 58 25 20 80 20 59 25  |os:. X%=OX% . Y%|
00005860  3d 4f 59 25 20 8c 20 e5  20 8d 44 62 60 0d 18 7e  |=OY% . . .Db`..~|
00005870  6a e7 20 46 55 53 54 25  3d 31 20 8c 20 f2 69 6e  |j. FUST%=1 . .in|
00005880  70 69 63 3a f2 65 6f 63  3a 86 20 58 25 28 30 29  |pic:.eoc:. X%(0)|
00005890  2c 59 25 28 30 29 2c 4f  58 25 2c 4f 59 25 3a 4f  |,Y%(0),OX%,OY%:O|
000058a0  58 25 3d 58 25 3a 4f 59  25 3d 59 25 3a 86 20 58  |X%=X%:OY%=Y%:. X|
000058b0  25 28 30 29 2c 59 25 28  30 29 2c 58 25 2c 59 25  |%(0),Y%(0),X%,Y%|
000058c0  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
000058d0  72 61 77 6d 61 69 6e 0d  18 88 64 e7 20 46 55 53  |rawmain...d. FUS|
000058e0  54 25 3d 32 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=2 . .inpic:.e|
000058f0  6f 63 3a f2 65 6c 69 70  28 26 43 35 2c 4f 58 25  |oc:.elip(&C5,OX%|
00005900  2c 4f 59 25 29 3a 4f 58  25 3d 58 25 3a 4f 59 25  |,OY%):OX%=X%:OY%|
00005910  3d 59 25 3a f2 65 6c 69  70 28 26 43 35 2c 58 25  |=Y%:.elip(&C5,X%|
00005920  2c 59 25 29 3a f2 6f 75  74 70 69 63 3a f2 71 75  |,Y%):.outpic:.qu|
00005930  69 63 6b 64 72 61 77 6d  61 69 6e 0d 18 92 8e c9  |ickdrawmain.....|
00005940  20 31 32 3a e7 20 46 55  53 54 25 3d 30 20 80 20  | 12:. FUST%=0 . |
00005950  42 55 54 25 3c 3e 30 20  8c 20 f2 70 69 63 70 6f  |BUT%<>0 . .picpo|
00005960  73 3a 58 25 28 30 29 3d  58 25 3a 59 25 28 30 29  |s:X%(0)=X%:Y%(0)|
00005970  3d 59 25 3a 46 55 53 54  25 3d 31 3a 4f 58 25 3d  |=Y%:FUST%=1:OX%=|
00005980  58 25 3a 4f 59 25 3d 59  25 3a f2 69 6e 70 69 63  |X%:OY%=Y%:.inpic|
00005990  3a f2 65 6f 63 3a 86 20  58 25 28 30 29 2c 59 25  |:.eoc:. X%(0),Y%|
000059a0  28 30 29 2c 4f 58 25 2c  4f 59 25 3a f2 6f 75 74  |(0),OX%,OY%:.out|
000059b0  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
000059c0  69 6e 3a e5 20 8d 44 62  60 0d 18 9c 16 e7 20 46  |in:. .Db`..... F|
000059d0  55 53 54 25 3d 30 20 8c  20 e5 20 8d 44 62 60 0d  |UST%=0 . . .Db`.|
000059e0  18 a6 7d e7 20 42 55 54  25 3d 31 20 80 20 46 55  |..}. BUT%=1 . FU|
000059f0  53 54 25 3d 31 20 8c 20  f2 69 6e 70 69 63 3a f2  |ST%=1 . .inpic:.|
00005a00  65 6f 63 3a 86 20 58 25  28 30 29 2c 59 25 28 30  |eoc:. X%(0),Y%(0|
00005a10  29 2c 4f 58 25 2c 4f 59  25 3a f2 70 69 63 70 6f  |),OX%,OY%:.picpo|
00005a20  73 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |s:OX%=X%:OY%=Y%:|
00005a30  46 55 53 54 25 3d 30 3a  f2 6f 75 74 70 69 63 3a  |FUST%=0:.outpic:|
00005a40  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 3a f2  |.quickdrawmain:.|
00005a50  6c 65 74 67 6f 3a e5 20  8d 44 62 60 0d 18 b0 6c  |letgo:. .Db`...l|
00005a60  e7 20 42 55 54 25 3d 31  20 80 20 46 55 53 54 25  |. BUT%=1 . FUST%|
00005a70  3d 32 20 8c 20 f2 69 6e  70 69 63 3a f2 65 6f 63  |=2 . .inpic:.eoc|
00005a80  3a f2 65 6c 69 70 28 26  43 44 2c 4f 58 25 2c 4f  |:.elip(&CD,OX%,O|
00005a90  59 25 29 3a f2 70 69 63  70 6f 73 3a 46 55 53 54  |Y%):.picpos:FUST|
00005aa0  25 3d 30 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |%=0:.outpic:.qui|
00005ab0  63 6b 64 72 61 77 6d 61  69 6e 3a f2 6c 65 74 67  |ckdrawmain:.letg|
00005ac0  6f 3a e5 20 8d 44 62 60  0d 18 ba be e7 20 42 55  |o:. .Db`..... BU|
00005ad0  54 25 3d 34 20 80 20 28  4f 58 25 3c 3e 58 25 28  |T%=4 . (OX%<>X%(|
00005ae0  30 29 20 84 20 4f 59 25  3c 3e 59 25 28 30 29 29  |0) . OY%<>Y%(0))|
00005af0  20 80 20 46 55 53 54 25  3d 31 20 8c 20 f2 69 6e  | . FUST%=1 . .in|
00005b00  70 69 63 3a f2 65 6f 63  3a 58 25 28 31 29 3d 4f  |pic:.eoc:X%(1)=O|
00005b10  58 25 3a 59 25 28 31 29  3d 4f 59 25 3a 86 20 58  |X%:Y%(1)=OY%:. X|
00005b20  25 28 30 29 2c 59 25 28  30 29 2c 4f 58 25 2c 4f  |%(0),Y%(0),OX%,O|
00005b30  59 25 3a f2 70 69 63 70  6f 73 3a 4f 58 25 3d 58  |Y%:.picpos:OX%=X|
00005b40  25 3a 4f 59 25 3d 59 25  3a f2 65 6c 69 70 28 26  |%:OY%=Y%:.elip(&|
00005b50  43 44 2c 58 25 2c 59 25  29 3a f2 6f 75 74 70 69  |CD,X%,Y%):.outpi|
00005b60  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
00005b70  3a f2 6c 65 74 67 6f 3a  46 55 53 54 25 3d 32 3a  |:.letgo:FUST%=2:|
00005b80  e5 20 8d 44 62 60 0d 18  c4 af e7 20 42 55 54 25  |. .Db`..... BUT%|
00005b90  3d 34 20 80 20 28 4f 58  25 3c 3e 58 25 28 31 29  |=4 . (OX%<>X%(1)|
00005ba0  20 84 20 4f 59 25 3c 3e  59 25 28 31 29 29 20 80  | . OY%<>Y%(1)) .|
00005bb0  20 46 55 53 54 25 3d 32  20 8c 20 f2 69 6e 70 69  | FUST%=2 . .inpi|
00005bc0  63 3a f2 65 6f 63 3a f2  70 69 63 70 6f 73 3a f2  |c:.eoc:.picpos:.|
00005bd0  65 6c 69 70 28 26 43 44  2c 4f 58 25 2c 4f 59 25  |elip(&CD,OX%,OY%|
00005be0  29 3a f2 73 65 74 63 6f  6c 3a f2 65 6c 69 70 28  |):.setcol:.elip(|
00005bf0  26 43 44 2c 58 25 2c 59  25 29 3a 4f 58 25 3d 58  |&CD,X%,Y%):OX%=X|
00005c00  25 3a 4f 59 25 3d 59 25  3a f2 6f 75 74 70 69 63  |%:OY%=Y%:.outpic|
00005c10  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 3a  |:.quickdrawmain:|
00005c20  f2 6c 65 74 67 6f 3a 46  55 53 54 25 3d 30 3a e5  |.letgo:FUST%=0:.|
00005c30  20 8d 44 62 60 0d 18 ce  26 f2 70 69 63 70 6f 73  | .Db`...&.picpos|
00005c40  3a e7 20 58 25 3d 4f 58  25 20 80 20 59 25 3d 4f  |:. X%=OX% . Y%=O|
00005c50  59 25 20 8c 20 e5 20 8d  44 62 60 0d 18 d8 6a e7  |Y% . . .Db`...j.|
00005c60  20 46 55 53 54 25 3d 31  20 8c 20 f2 69 6e 70 69  | FUST%=1 . .inpi|
00005c70  63 3a f2 65 6f 63 3a 86  20 58 25 28 30 29 2c 59  |c:.eoc:. X%(0),Y|
00005c80  25 28 30 29 2c 4f 58 25  2c 4f 59 25 3a 4f 58 25  |%(0),OX%,OY%:OX%|
00005c90  3d 58 25 3a 4f 59 25 3d  59 25 3a 86 20 58 25 28  |=X%:OY%=Y%:. X%(|
00005ca0  30 29 2c 59 25 28 30 29  2c 58 25 2c 59 25 3a f2  |0),Y%(0),X%,Y%:.|
00005cb0  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
00005cc0  77 6d 61 69 6e 0d 18 e2  64 e7 20 46 55 53 54 25  |wmain...d. FUST%|
00005cd0  3d 32 20 8c 20 f2 69 6e  70 69 63 3a f2 65 6f 63  |=2 . .inpic:.eoc|
00005ce0  3a f2 65 6c 69 70 28 26  43 44 2c 4f 58 25 2c 4f  |:.elip(&CD,OX%,O|
00005cf0  59 25 29 3a 4f 58 25 3d  58 25 3a 4f 59 25 3d 59  |Y%):OX%=X%:OY%=Y|
00005d00  25 3a f2 65 6c 69 70 28  26 43 44 2c 58 25 2c 59  |%:.elip(&CD,X%,Y|
00005d10  25 29 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |%):.outpic:.quic|
00005d20  6b 64 72 61 77 6d 61 69  6e 0d 18 ec 8e c9 20 31  |kdrawmain..... 1|
00005d30  33 3a e7 20 46 55 53 54  25 3d 30 20 80 20 42 55  |3:. FUST%=0 . BU|
00005d40  54 25 3c 3e 30 20 8c 20  f2 70 69 63 70 6f 73 3a  |T%<>0 . .picpos:|
00005d50  58 25 28 30 29 3d 58 25  3a 59 25 28 30 29 3d 59  |X%(0)=X%:Y%(0)=Y|
00005d60  25 3a 46 55 53 54 25 3d  31 3a 4f 58 25 3d 58 25  |%:FUST%=1:OX%=X%|
00005d70  3a 4f 59 25 3d 59 25 3a  f2 69 6e 70 69 63 3a f2  |:OY%=Y%:.inpic:.|
00005d80  65 6f 63 3a 86 20 58 25  28 30 29 2c 59 25 28 30  |eoc:. X%(0),Y%(0|
00005d90  29 2c 4f 58 25 2c 4f 59  25 3a f2 6f 75 74 70 69  |),OX%,OY%:.outpi|
00005da0  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
00005db0  3a e5 20 8d 44 62 60 0d  18 f6 16 e7 20 46 55 53  |:. .Db`..... FUS|
00005dc0  54 25 3d 30 20 8c 20 e5  20 8d 44 62 60 0d 19 00  |T%=0 . . .Db`...|
00005dd0  7d e7 20 42 55 54 25 3d  31 20 80 20 46 55 53 54  |}. BUT%=1 . FUST|
00005de0  25 3d 31 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=1 . .inpic:.eo|
00005df0  63 3a 86 20 58 25 28 30  29 2c 59 25 28 30 29 2c  |c:. X%(0),Y%(0),|
00005e00  4f 58 25 2c 4f 59 25 3a  f2 70 69 63 70 6f 73 3a  |OX%,OY%:.picpos:|
00005e10  4f 58 25 3d 58 25 3a 4f  59 25 3d 59 25 3a 46 55  |OX%=X%:OY%=Y%:FU|
00005e20  53 54 25 3d 30 3a f2 6f  75 74 70 69 63 3a f2 71  |ST%=0:.outpic:.q|
00005e30  75 69 63 6b 64 72 61 77  6d 61 69 6e 3a f2 6c 65  |uickdrawmain:.le|
00005e40  74 67 6f 3a e5 20 8d 44  62 60 0d 19 0a 6c e7 20  |tgo:. .Db`...l. |
00005e50  42 55 54 25 3d 31 20 80  20 46 55 53 54 25 3d 32  |BUT%=1 . FUST%=2|
00005e60  20 8c 20 f2 69 6e 70 69  63 3a f2 65 6f 63 3a f2  | . .inpic:.eoc:.|
00005e70  70 61 72 61 28 30 2c 30  2c 4f 58 25 2c 4f 59 25  |para(0,0,OX%,OY%|
00005e80  29 3a f2 70 69 63 70 6f  73 3a 46 55 53 54 25 3d  |):.picpos:FUST%=|
00005e90  30 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |0:.outpic:.quick|
00005ea0  64 72 61 77 6d 61 69 6e  3a f2 6c 65 74 67 6f 3a  |drawmain:.letgo:|
00005eb0  e5 20 8d 44 62 60 0d 19  14 be e7 20 42 55 54 25  |. .Db`..... BUT%|
00005ec0  3d 34 20 80 20 28 4f 58  25 3c 3e 58 25 28 30 29  |=4 . (OX%<>X%(0)|
00005ed0  20 84 20 4f 59 25 3c 3e  59 25 28 30 29 29 20 80  | . OY%<>Y%(0)) .|
00005ee0  20 46 55 53 54 25 3d 31  20 8c 20 f2 69 6e 70 69  | FUST%=1 . .inpi|
00005ef0  63 3a f2 65 6f 63 3a 58  25 28 31 29 3d 4f 58 25  |c:.eoc:X%(1)=OX%|
00005f00  3a 59 25 28 31 29 3d 4f  59 25 3a 86 20 58 25 28  |:Y%(1)=OY%:. X%(|
00005f10  30 29 2c 59 25 28 30 29  2c 4f 58 25 2c 4f 59 25  |0),Y%(0),OX%,OY%|
00005f20  3a f2 70 69 63 70 6f 73  3a 4f 58 25 3d 58 25 3a  |:.picpos:OX%=X%:|
00005f30  4f 59 25 3d 59 25 3a f2  70 61 72 61 28 30 2c 30  |OY%=Y%:.para(0,0|
00005f40  2c 58 25 2c 59 25 29 3a  f2 6f 75 74 70 69 63 3a  |,X%,Y%):.outpic:|
00005f50  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 3a f2  |.quickdrawmain:.|
00005f60  6c 65 74 67 6f 3a 46 55  53 54 25 3d 32 3a e5 20  |letgo:FUST%=2:. |
00005f70  8d 44 62 60 0d 19 1e af  e7 20 42 55 54 25 3d 34  |.Db`..... BUT%=4|
00005f80  20 80 20 28 4f 58 25 3c  3e 58 25 28 31 29 20 84  | . (OX%<>X%(1) .|
00005f90  20 4f 59 25 3c 3e 59 25  28 31 29 29 20 80 20 46  | OY%<>Y%(1)) . F|
00005fa0  55 53 54 25 3d 32 20 8c  20 f2 69 6e 70 69 63 3a  |UST%=2 . .inpic:|
00005fb0  f2 65 6f 63 3a f2 70 69  63 70 6f 73 3a f2 70 61  |.eoc:.picpos:.pa|
00005fc0  72 61 28 30 2c 30 2c 4f  58 25 2c 4f 59 25 29 3a  |ra(0,0,OX%,OY%):|
00005fd0  f2 73 65 74 63 6f 6c 3a  f2 70 61 72 61 28 31 2c  |.setcol:.para(1,|
00005fe0  30 2c 58 25 2c 59 25 29  3a 4f 58 25 3d 58 25 3a  |0,X%,Y%):OX%=X%:|
00005ff0  4f 59 25 3d 59 25 3a f2  6f 75 74 70 69 63 3a f2  |OY%=Y%:.outpic:.|
00006000  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 3a f2 6c  |quickdrawmain:.l|
00006010  65 74 67 6f 3a 46 55 53  54 25 3d 30 3a e5 20 8d  |etgo:FUST%=0:. .|
00006020  44 62 60 0d 19 28 26 f2  70 69 63 70 6f 73 3a e7  |Db`..(&.picpos:.|
00006030  20 58 25 3d 4f 58 25 20  80 20 59 25 3d 4f 59 25  | X%=OX% . Y%=OY%|
00006040  20 8c 20 e5 20 8d 44 62  60 0d 19 32 6a e7 20 46  | . . .Db`..2j. F|
00006050  55 53 54 25 3d 31 20 8c  20 f2 69 6e 70 69 63 3a  |UST%=1 . .inpic:|
00006060  f2 65 6f 63 3a 86 20 58  25 28 30 29 2c 59 25 28  |.eoc:. X%(0),Y%(|
00006070  30 29 2c 4f 58 25 2c 4f  59 25 3a 4f 58 25 3d 58  |0),OX%,OY%:OX%=X|
00006080  25 3a 4f 59 25 3d 59 25  3a 86 20 58 25 28 30 29  |%:OY%=Y%:. X%(0)|
00006090  2c 59 25 28 30 29 2c 58  25 2c 59 25 3a f2 6f 75  |,Y%(0),X%,Y%:.ou|
000060a0  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
000060b0  61 69 6e 0d 19 3c 64 e7  20 46 55 53 54 25 3d 32  |ain..<d. FUST%=2|
000060c0  20 8c 20 f2 69 6e 70 69  63 3a f2 65 6f 63 3a f2  | . .inpic:.eoc:.|
000060d0  70 61 72 61 28 30 2c 30  2c 4f 58 25 2c 4f 59 25  |para(0,0,OX%,OY%|
000060e0  29 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |):OX%=X%:OY%=Y%:|
000060f0  f2 70 61 72 61 28 30 2c  30 2c 58 25 2c 59 25 29  |.para(0,0,X%,Y%)|
00006100  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
00006110  72 61 77 6d 61 69 6e 0d  19 46 8e c9 20 31 34 3a  |rawmain..F.. 14:|
00006120  e7 20 46 55 53 54 25 3d  30 20 80 20 42 55 54 25  |. FUST%=0 . BUT%|
00006130  3c 3e 30 20 8c 20 f2 70  69 63 70 6f 73 3a 58 25  |<>0 . .picpos:X%|
00006140  28 30 29 3d 58 25 3a 59  25 28 30 29 3d 59 25 3a  |(0)=X%:Y%(0)=Y%:|
00006150  46 55 53 54 25 3d 31 3a  4f 58 25 3d 58 25 3a 4f  |FUST%=1:OX%=X%:O|
00006160  59 25 3d 59 25 3a f2 69  6e 70 69 63 3a f2 65 6f  |Y%=Y%:.inpic:.eo|
00006170  63 3a 86 20 58 25 28 30  29 2c 59 25 28 30 29 2c  |c:. X%(0),Y%(0),|
00006180  4f 58 25 2c 4f 59 25 3a  f2 6f 75 74 70 69 63 3a  |OX%,OY%:.outpic:|
00006190  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 3a e5  |.quickdrawmain:.|
000061a0  20 8d 44 62 60 0d 19 50  16 e7 20 46 55 53 54 25  | .Db`..P.. FUST%|
000061b0  3d 30 20 8c 20 e5 20 8d  44 62 60 0d 19 5a 7d e7  |=0 . . .Db`..Z}.|
000061c0  20 42 55 54 25 3d 31 20  80 20 46 55 53 54 25 3d  | BUT%=1 . FUST%=|
000061d0  31 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |1 . .inpic:.eoc:|
000061e0  86 20 58 25 28 30 29 2c  59 25 28 30 29 2c 4f 58  |. X%(0),Y%(0),OX|
000061f0  25 2c 4f 59 25 3a f2 70  69 63 70 6f 73 3a 4f 58  |%,OY%:.picpos:OX|
00006200  25 3d 58 25 3a 4f 59 25  3d 59 25 3a 46 55 53 54  |%=X%:OY%=Y%:FUST|
00006210  25 3d 30 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |%=0:.outpic:.qui|
00006220  63 6b 64 72 61 77 6d 61  69 6e 3a f2 6c 65 74 67  |ckdrawmain:.letg|
00006230  6f 3a e5 20 8d 44 62 60  0d 19 64 6c e7 20 42 55  |o:. .Db`..dl. BU|
00006240  54 25 3d 31 20 80 20 46  55 53 54 25 3d 32 20 8c  |T%=1 . FUST%=2 .|
00006250  20 f2 69 6e 70 69 63 3a  f2 65 6f 63 3a f2 70 61  | .inpic:.eoc:.pa|
00006260  72 61 28 30 2c 31 2c 4f  58 25 2c 4f 59 25 29 3a  |ra(0,1,OX%,OY%):|
00006270  f2 70 69 63 70 6f 73 3a  46 55 53 54 25 3d 30 3a  |.picpos:FUST%=0:|
00006280  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
00006290  61 77 6d 61 69 6e 3a f2  6c 65 74 67 6f 3a e5 20  |awmain:.letgo:. |
000062a0  8d 44 62 60 0d 19 6e be  e7 20 42 55 54 25 3d 34  |.Db`..n.. BUT%=4|
000062b0  20 80 20 28 4f 58 25 3c  3e 58 25 28 30 29 20 84  | . (OX%<>X%(0) .|
000062c0  20 4f 59 25 3c 3e 59 25  28 30 29 29 20 80 20 46  | OY%<>Y%(0)) . F|
000062d0  55 53 54 25 3d 31 20 8c  20 f2 69 6e 70 69 63 3a  |UST%=1 . .inpic:|
000062e0  f2 65 6f 63 3a 58 25 28  31 29 3d 4f 58 25 3a 59  |.eoc:X%(1)=OX%:Y|
000062f0  25 28 31 29 3d 4f 59 25  3a 86 20 58 25 28 30 29  |%(1)=OY%:. X%(0)|
00006300  2c 59 25 28 30 29 2c 4f  58 25 2c 4f 59 25 3a f2  |,Y%(0),OX%,OY%:.|
00006310  70 69 63 70 6f 73 3a 4f  58 25 3d 58 25 3a 4f 59  |picpos:OX%=X%:OY|
00006320  25 3d 59 25 3a f2 70 61  72 61 28 30 2c 31 2c 58  |%=Y%:.para(0,1,X|
00006330  25 2c 59 25 29 3a f2 6f  75 74 70 69 63 3a f2 71  |%,Y%):.outpic:.q|
00006340  75 69 63 6b 64 72 61 77  6d 61 69 6e 3a f2 6c 65  |uickdrawmain:.le|
00006350  74 67 6f 3a 46 55 53 54  25 3d 32 3a e5 20 8d 44  |tgo:FUST%=2:. .D|
00006360  62 60 0d 19 78 af e7 20  42 55 54 25 3d 34 20 80  |b`..x.. BUT%=4 .|
00006370  20 28 4f 58 25 3c 3e 58  25 28 31 29 20 84 20 4f  | (OX%<>X%(1) . O|
00006380  59 25 3c 3e 59 25 28 31  29 29 20 80 20 46 55 53  |Y%<>Y%(1)) . FUS|
00006390  54 25 3d 32 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=2 . .inpic:.e|
000063a0  6f 63 3a f2 70 69 63 70  6f 73 3a f2 70 61 72 61  |oc:.picpos:.para|
000063b0  28 30 2c 31 2c 4f 58 25  2c 4f 59 25 29 3a f2 73  |(0,1,OX%,OY%):.s|
000063c0  65 74 63 6f 6c 3a f2 70  61 72 61 28 30 2c 31 2c  |etcol:.para(0,1,|
000063d0  58 25 2c 59 25 29 3a 4f  58 25 3d 58 25 3a 4f 59  |X%,Y%):OX%=X%:OY|
000063e0  25 3d 59 25 3a f2 6f 75  74 70 69 63 3a f2 71 75  |%=Y%:.outpic:.qu|
000063f0  69 63 6b 64 72 61 77 6d  61 69 6e 3a f2 6c 65 74  |ickdrawmain:.let|
00006400  67 6f 3a 46 55 53 54 25  3d 30 3a e5 20 8d 44 62  |go:FUST%=0:. .Db|
00006410  60 0d 19 82 26 f2 70 69  63 70 6f 73 3a e7 20 58  |`...&.picpos:. X|
00006420  25 3d 4f 58 25 20 80 20  59 25 3d 4f 59 25 20 8c  |%=OX% . Y%=OY% .|
00006430  20 e5 20 8d 44 62 60 0d  19 8c 6a e7 20 46 55 53  | . .Db`...j. FUS|
00006440  54 25 3d 31 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=1 . .inpic:.e|
00006450  6f 63 3a 86 20 58 25 28  30 29 2c 59 25 28 30 29  |oc:. X%(0),Y%(0)|
00006460  2c 4f 58 25 2c 4f 59 25  3a 4f 58 25 3d 58 25 3a  |,OX%,OY%:OX%=X%:|
00006470  4f 59 25 3d 59 25 3a 86  20 58 25 28 30 29 2c 59  |OY%=Y%:. X%(0),Y|
00006480  25 28 30 29 2c 58 25 2c  59 25 3a f2 6f 75 74 70  |%(0),X%,Y%:.outp|
00006490  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
000064a0  6e 0d 19 96 64 e7 20 46  55 53 54 25 3d 32 20 8c  |n...d. FUST%=2 .|
000064b0  20 f2 69 6e 70 69 63 3a  f2 65 6f 63 3a f2 70 61  | .inpic:.eoc:.pa|
000064c0  72 61 28 30 2c 31 2c 4f  58 25 2c 4f 59 25 29 3a  |ra(0,1,OX%,OY%):|
000064d0  4f 58 25 3d 58 25 3a 4f  59 25 3d 59 25 3a f2 70  |OX%=X%:OY%=Y%:.p|
000064e0  61 72 61 28 30 2c 31 2c  58 25 2c 59 25 29 3a f2  |ara(0,1,X%,Y%):.|
000064f0  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
00006500  77 6d 61 69 6e 0d 19 a0  8e c9 20 31 35 3a e7 20  |wmain..... 15:. |
00006510  46 55 53 54 25 3d 30 20  80 20 42 55 54 25 3c 3e  |FUST%=0 . BUT%<>|
00006520  30 20 8c 20 f2 70 69 63  70 6f 73 3a 58 25 28 30  |0 . .picpos:X%(0|
00006530  29 3d 58 25 3a 59 25 28  30 29 3d 59 25 3a 46 55  |)=X%:Y%(0)=Y%:FU|
00006540  53 54 25 3d 31 3a 4f 58  25 3d 58 25 3a 4f 59 25  |ST%=1:OX%=X%:OY%|
00006550  3d 59 25 3a f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |=Y%:.inpic:.eoc:|
00006560  86 20 58 25 28 30 29 2c  59 25 28 30 29 2c 4f 58  |. X%(0),Y%(0),OX|
00006570  25 2c 4f 59 25 3a f2 6f  75 74 70 69 63 3a f2 71  |%,OY%:.outpic:.q|
00006580  75 69 63 6b 64 72 61 77  6d 61 69 6e 3a e5 20 8d  |uickdrawmain:. .|
00006590  44 62 60 0d 19 aa 16 e7  20 46 55 53 54 25 3d 30  |Db`..... FUST%=0|
000065a0  20 8c 20 e5 20 8d 44 62  60 0d 19 b4 7d e7 20 42  | . . .Db`...}. B|
000065b0  55 54 25 3d 31 20 80 20  46 55 53 54 25 3d 31 20  |UT%=1 . FUST%=1 |
000065c0  8c 20 f2 69 6e 70 69 63  3a f2 65 6f 63 3a 86 20  |. .inpic:.eoc:. |
000065d0  58 25 28 30 29 2c 59 25  28 30 29 2c 4f 58 25 2c  |X%(0),Y%(0),OX%,|
000065e0  4f 59 25 3a f2 70 69 63  70 6f 73 3a 4f 58 25 3d  |OY%:.picpos:OX%=|
000065f0  58 25 3a 4f 59 25 3d 59  25 3a 46 55 53 54 25 3d  |X%:OY%=Y%:FUST%=|
00006600  30 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |0:.outpic:.quick|
00006610  64 72 61 77 6d 61 69 6e  3a f2 6c 65 74 67 6f 3a  |drawmain:.letgo:|
00006620  e5 20 8d 44 62 60 0d 19  be 6c e7 20 42 55 54 25  |. .Db`...l. BUT%|
00006630  3d 31 20 80 20 46 55 53  54 25 3d 32 20 8c 20 f2  |=1 . FUST%=2 . .|
00006640  69 6e 70 69 63 3a f2 65  6f 63 3a f2 65 6c 69 70  |inpic:.eoc:.elip|
00006650  28 26 41 35 2c 4f 58 25  2c 4f 59 25 29 3a f2 70  |(&A5,OX%,OY%):.p|
00006660  69 63 70 6f 73 3a 46 55  53 54 25 3d 30 3a f2 6f  |icpos:FUST%=0:.o|
00006670  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
00006680  6d 61 69 6e 3a f2 6c 65  74 67 6f 3a e5 20 8d 44  |main:.letgo:. .D|
00006690  62 60 0d 19 c8 be e7 20  42 55 54 25 3d 34 20 80  |b`..... BUT%=4 .|
000066a0  20 28 4f 58 25 3c 3e 58  25 28 30 29 20 84 20 4f  | (OX%<>X%(0) . O|
000066b0  59 25 3c 3e 59 25 28 30  29 29 20 80 20 46 55 53  |Y%<>Y%(0)) . FUS|
000066c0  54 25 3d 31 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=1 . .inpic:.e|
000066d0  6f 63 3a 58 25 28 31 29  3d 4f 58 25 3a 59 25 28  |oc:X%(1)=OX%:Y%(|
000066e0  31 29 3d 4f 59 25 3a 86  20 58 25 28 30 29 2c 59  |1)=OY%:. X%(0),Y|
000066f0  25 28 30 29 2c 4f 58 25  2c 4f 59 25 3a f2 70 69  |%(0),OX%,OY%:.pi|
00006700  63 70 6f 73 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |cpos:OX%=X%:OY%=|
00006710  59 25 3a f2 65 6c 69 70  28 26 41 35 2c 58 25 2c  |Y%:.elip(&A5,X%,|
00006720  59 25 29 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |Y%):.outpic:.qui|
00006730  63 6b 64 72 61 77 6d 61  69 6e 3a f2 6c 65 74 67  |ckdrawmain:.letg|
00006740  6f 3a 46 55 53 54 25 3d  32 3a e5 20 8d 44 62 60  |o:FUST%=2:. .Db`|
00006750  0d 19 d2 af e7 20 42 55  54 25 3d 34 20 80 20 28  |..... BUT%=4 . (|
00006760  4f 58 25 3c 3e 58 25 28  31 29 20 84 20 4f 59 25  |OX%<>X%(1) . OY%|
00006770  3c 3e 59 25 28 31 29 29  20 80 20 46 55 53 54 25  |<>Y%(1)) . FUST%|
00006780  3d 32 20 8c 20 f2 69 6e  70 69 63 3a f2 65 6f 63  |=2 . .inpic:.eoc|
00006790  3a f2 70 69 63 70 6f 73  3a f2 65 6c 69 70 28 26  |:.picpos:.elip(&|
000067a0  41 35 2c 4f 58 25 2c 4f  59 25 29 3a f2 73 65 74  |A5,OX%,OY%):.set|
000067b0  63 6f 6c 3a f2 65 6c 69  70 28 26 41 35 2c 58 25  |col:.elip(&A5,X%|
000067c0  2c 59 25 29 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |,Y%):OX%=X%:OY%=|
000067d0  59 25 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |Y%:.outpic:.quic|
000067e0  6b 64 72 61 77 6d 61 69  6e 3a f2 6c 65 74 67 6f  |kdrawmain:.letgo|
000067f0  3a 46 55 53 54 25 3d 30  3a e5 20 8d 44 62 60 0d  |:FUST%=0:. .Db`.|
00006800  19 dc 26 f2 70 69 63 70  6f 73 3a e7 20 58 25 3d  |..&.picpos:. X%=|
00006810  4f 58 25 20 80 20 59 25  3d 4f 59 25 20 8c 20 e5  |OX% . Y%=OY% . .|
00006820  20 8d 44 62 60 0d 19 e6  6a e7 20 46 55 53 54 25  | .Db`...j. FUST%|
00006830  3d 31 20 8c 20 f2 69 6e  70 69 63 3a f2 65 6f 63  |=1 . .inpic:.eoc|
00006840  3a 86 20 58 25 28 30 29  2c 59 25 28 30 29 2c 4f  |:. X%(0),Y%(0),O|
00006850  58 25 2c 4f 59 25 3a 4f  58 25 3d 58 25 3a 4f 59  |X%,OY%:OX%=X%:OY|
00006860  25 3d 59 25 3a 86 20 58  25 28 30 29 2c 59 25 28  |%=Y%:. X%(0),Y%(|
00006870  30 29 2c 58 25 2c 59 25  3a f2 6f 75 74 70 69 63  |0),X%,Y%:.outpic|
00006880  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 0d  |:.quickdrawmain.|
00006890  19 f0 64 e7 20 46 55 53  54 25 3d 32 20 8c 20 f2  |..d. FUST%=2 . .|
000068a0  69 6e 70 69 63 3a f2 65  6f 63 3a f2 65 6c 69 70  |inpic:.eoc:.elip|
000068b0  28 26 41 35 2c 4f 58 25  2c 4f 59 25 29 3a 4f 58  |(&A5,OX%,OY%):OX|
000068c0  25 3d 58 25 3a 4f 59 25  3d 59 25 3a f2 65 6c 69  |%=X%:OY%=Y%:.eli|
000068d0  70 28 26 41 35 2c 58 25  2c 59 25 29 3a f2 6f 75  |p(&A5,X%,Y%):.ou|
000068e0  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
000068f0  61 69 6e 0d 19 fa 8e c9  20 31 36 3a e7 20 46 55  |ain..... 16:. FU|
00006900  53 54 25 3d 30 20 80 20  42 55 54 25 3c 3e 30 20  |ST%=0 . BUT%<>0 |
00006910  8c 20 f2 70 69 63 70 6f  73 3a 58 25 28 30 29 3d  |. .picpos:X%(0)=|
00006920  58 25 3a 59 25 28 30 29  3d 59 25 3a 46 55 53 54  |X%:Y%(0)=Y%:FUST|
00006930  25 3d 31 3a 4f 58 25 3d  58 25 3a 4f 59 25 3d 59  |%=1:OX%=X%:OY%=Y|
00006940  25 3a f2 69 6e 70 69 63  3a f2 65 6f 63 3a 86 20  |%:.inpic:.eoc:. |
00006950  58 25 28 30 29 2c 59 25  28 30 29 2c 4f 58 25 2c  |X%(0),Y%(0),OX%,|
00006960  4f 59 25 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |OY%:.outpic:.qui|
00006970  63 6b 64 72 61 77 6d 61  69 6e 3a e5 20 8d 44 62  |ckdrawmain:. .Db|
00006980  60 0d 1a 04 16 e7 20 46  55 53 54 25 3d 30 20 8c  |`..... FUST%=0 .|
00006990  20 e5 20 8d 44 62 60 0d  1a 0e 7d e7 20 42 55 54  | . .Db`...}. BUT|
000069a0  25 3d 31 20 80 20 46 55  53 54 25 3d 31 20 8c 20  |%=1 . FUST%=1 . |
000069b0  f2 69 6e 70 69 63 3a f2  65 6f 63 3a 86 20 58 25  |.inpic:.eoc:. X%|
000069c0  28 30 29 2c 59 25 28 30  29 2c 4f 58 25 2c 4f 59  |(0),Y%(0),OX%,OY|
000069d0  25 3a f2 70 69 63 70 6f  73 3a 4f 58 25 3d 58 25  |%:.picpos:OX%=X%|
000069e0  3a 4f 59 25 3d 59 25 3a  46 55 53 54 25 3d 30 3a  |:OY%=Y%:FUST%=0:|
000069f0  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
00006a00  61 77 6d 61 69 6e 3a f2  6c 65 74 67 6f 3a e5 20  |awmain:.letgo:. |
00006a10  8d 44 62 60 0d 1a 18 6c  e7 20 42 55 54 25 3d 31  |.Db`...l. BUT%=1|
00006a20  20 80 20 46 55 53 54 25  3d 32 20 8c 20 f2 69 6e  | . FUST%=2 . .in|
00006a30  70 69 63 3a f2 65 6f 63  3a f2 65 6c 69 70 28 26  |pic:.eoc:.elip(&|
00006a40  42 35 2c 4f 58 25 2c 4f  59 25 29 3a f2 70 69 63  |B5,OX%,OY%):.pic|
00006a50  70 6f 73 3a 46 55 53 54  25 3d 30 3a f2 6f 75 74  |pos:FUST%=0:.out|
00006a60  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
00006a70  69 6e 3a f2 6c 65 74 67  6f 3a e5 20 8d 44 62 60  |in:.letgo:. .Db`|
00006a80  0d 1a 22 be e7 20 42 55  54 25 3d 34 20 80 20 28  |..".. BUT%=4 . (|
00006a90  4f 58 25 3c 3e 58 25 28  30 29 20 84 20 4f 59 25  |OX%<>X%(0) . OY%|
00006aa0  3c 3e 59 25 28 30 29 29  20 80 20 46 55 53 54 25  |<>Y%(0)) . FUST%|
00006ab0  3d 31 20 8c 20 f2 69 6e  70 69 63 3a f2 65 6f 63  |=1 . .inpic:.eoc|
00006ac0  3a 58 25 28 31 29 3d 4f  58 25 3a 59 25 28 31 29  |:X%(1)=OX%:Y%(1)|
00006ad0  3d 4f 59 25 3a 86 20 58  25 28 30 29 2c 59 25 28  |=OY%:. X%(0),Y%(|
00006ae0  30 29 2c 4f 58 25 2c 4f  59 25 3a f2 70 69 63 70  |0),OX%,OY%:.picp|
00006af0  6f 73 3a 4f 58 25 3d 58  25 3a 4f 59 25 3d 59 25  |os:OX%=X%:OY%=Y%|
00006b00  3a f2 65 6c 69 70 28 26  42 35 2c 58 25 2c 59 25  |:.elip(&B5,X%,Y%|
00006b10  29 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |):.outpic:.quick|
00006b20  64 72 61 77 6d 61 69 6e  3a f2 6c 65 74 67 6f 3a  |drawmain:.letgo:|
00006b30  46 55 53 54 25 3d 32 3a  e5 20 8d 44 62 60 0d 1a  |FUST%=2:. .Db`..|
00006b40  2c af e7 20 42 55 54 25  3d 34 20 80 20 28 4f 58  |,.. BUT%=4 . (OX|
00006b50  25 3c 3e 58 25 28 31 29  20 84 20 4f 59 25 3c 3e  |%<>X%(1) . OY%<>|
00006b60  59 25 28 31 29 29 20 80  20 46 55 53 54 25 3d 32  |Y%(1)) . FUST%=2|
00006b70  20 8c 20 f2 69 6e 70 69  63 3a f2 65 6f 63 3a f2  | . .inpic:.eoc:.|
00006b80  70 69 63 70 6f 73 3a f2  65 6c 69 70 28 26 42 35  |picpos:.elip(&B5|
00006b90  2c 4f 58 25 2c 4f 59 25  29 3a f2 73 65 74 63 6f  |,OX%,OY%):.setco|
00006ba0  6c 3a f2 65 6c 69 70 28  26 42 35 2c 58 25 2c 59  |l:.elip(&B5,X%,Y|
00006bb0  25 29 3a 4f 58 25 3d 58  25 3a 4f 59 25 3d 59 25  |%):OX%=X%:OY%=Y%|
00006bc0  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
00006bd0  72 61 77 6d 61 69 6e 3a  f2 6c 65 74 67 6f 3a 46  |rawmain:.letgo:F|
00006be0  55 53 54 25 3d 30 3a e5  20 8d 44 62 60 0d 1a 36  |UST%=0:. .Db`..6|
00006bf0  26 f2 70 69 63 70 6f 73  3a e7 20 58 25 3d 4f 58  |&.picpos:. X%=OX|
00006c00  25 20 80 20 59 25 3d 4f  59 25 20 8c 20 e5 20 8d  |% . Y%=OY% . . .|
00006c10  44 62 60 0d 1a 40 6a e7  20 46 55 53 54 25 3d 31  |Db`..@j. FUST%=1|
00006c20  20 8c 20 f2 69 6e 70 69  63 3a f2 65 6f 63 3a 86  | . .inpic:.eoc:.|
00006c30  20 58 25 28 30 29 2c 59  25 28 30 29 2c 4f 58 25  | X%(0),Y%(0),OX%|
00006c40  2c 4f 59 25 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |,OY%:OX%=X%:OY%=|
00006c50  59 25 3a 86 20 58 25 28  30 29 2c 59 25 28 30 29  |Y%:. X%(0),Y%(0)|
00006c60  2c 58 25 2c 59 25 3a f2  6f 75 74 70 69 63 3a f2  |,X%,Y%:.outpic:.|
00006c70  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 0d 1a 4a  |quickdrawmain..J|
00006c80  64 e7 20 46 55 53 54 25  3d 32 20 8c 20 f2 69 6e  |d. FUST%=2 . .in|
00006c90  70 69 63 3a f2 65 6f 63  3a f2 65 6c 69 70 28 26  |pic:.eoc:.elip(&|
00006ca0  42 35 2c 4f 58 25 2c 4f  59 25 29 3a 4f 58 25 3d  |B5,OX%,OY%):OX%=|
00006cb0  58 25 3a 4f 59 25 3d 59  25 3a f2 65 6c 69 70 28  |X%:OY%=Y%:.elip(|
00006cc0  26 42 35 2c 58 25 2c 59  25 29 3a f2 6f 75 74 70  |&B5,X%,Y%):.outp|
00006cd0  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00006ce0  6e 0d 1a 54 8e c9 20 31  37 3a e7 20 46 55 53 54  |n..T.. 17:. FUST|
00006cf0  25 3d 30 20 80 20 42 55  54 25 3c 3e 30 20 8c 20  |%=0 . BUT%<>0 . |
00006d00  f2 70 69 63 70 6f 73 3a  58 25 28 30 29 3d 58 25  |.picpos:X%(0)=X%|
00006d10  3a 59 25 28 30 29 3d 59  25 3a 46 55 53 54 25 3d  |:Y%(0)=Y%:FUST%=|
00006d20  31 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |1:OX%=X%:OY%=Y%:|
00006d30  f2 69 6e 70 69 63 3a f2  65 6f 63 3a 86 20 58 25  |.inpic:.eoc:. X%|
00006d40  28 30 29 2c 59 25 28 30  29 2c 4f 58 25 2c 4f 59  |(0),Y%(0),OX%,OY|
00006d50  25 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |%:.outpic:.quick|
00006d60  64 72 61 77 6d 61 69 6e  3a e5 20 8d 44 62 60 0d  |drawmain:. .Db`.|
00006d70  1a 5e 16 e7 20 46 55 53  54 25 3d 30 20 8c 20 e5  |.^.. FUST%=0 . .|
00006d80  20 8d 44 62 60 0d 1a 68  7d e7 20 42 55 54 25 3d  | .Db`..h}. BUT%=|
00006d90  31 20 80 20 46 55 53 54  25 3d 31 20 8c 20 f2 69  |1 . FUST%=1 . .i|
00006da0  6e 70 69 63 3a f2 65 6f  63 3a 86 20 58 25 28 30  |npic:.eoc:. X%(0|
00006db0  29 2c 59 25 28 30 29 2c  4f 58 25 2c 4f 59 25 3a  |),Y%(0),OX%,OY%:|
00006dc0  f2 70 69 63 70 6f 73 3a  4f 58 25 3d 58 25 3a 4f  |.picpos:OX%=X%:O|
00006dd0  59 25 3d 59 25 3a 46 55  53 54 25 3d 30 3a f2 6f  |Y%=Y%:FUST%=0:.o|
00006de0  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
00006df0  6d 61 69 6e 3a f2 6c 65  74 67 6f 3a e5 20 8d 44  |main:.letgo:. .D|
00006e00  62 60 0d 1a 72 6c e7 20  42 55 54 25 3d 31 20 80  |b`..rl. BUT%=1 .|
00006e10  20 46 55 53 54 25 3d 32  20 8c 20 f2 69 6e 70 69  | FUST%=2 . .inpi|
00006e20  63 3a f2 65 6f 63 3a f2  65 6c 69 70 28 26 41 44  |c:.eoc:.elip(&AD|
00006e30  2c 4f 58 25 2c 4f 59 25  29 3a f2 70 69 63 70 6f  |,OX%,OY%):.picpo|
00006e40  73 3a 46 55 53 54 25 3d  30 3a f2 6f 75 74 70 69  |s:FUST%=0:.outpi|
00006e50  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
00006e60  3a f2 6c 65 74 67 6f 3a  e5 20 8d 44 62 60 0d 1a  |:.letgo:. .Db`..|
00006e70  7c be e7 20 42 55 54 25  3d 34 20 80 20 28 4f 58  ||.. BUT%=4 . (OX|
00006e80  25 3c 3e 58 25 28 30 29  20 84 20 4f 59 25 3c 3e  |%<>X%(0) . OY%<>|
00006e90  59 25 28 30 29 29 20 80  20 46 55 53 54 25 3d 31  |Y%(0)) . FUST%=1|
00006ea0  20 8c 20 f2 69 6e 70 69  63 3a f2 65 6f 63 3a 58  | . .inpic:.eoc:X|
00006eb0  25 28 31 29 3d 4f 58 25  3a 59 25 28 31 29 3d 4f  |%(1)=OX%:Y%(1)=O|
00006ec0  59 25 3a 86 20 58 25 28  30 29 2c 59 25 28 30 29  |Y%:. X%(0),Y%(0)|
00006ed0  2c 4f 58 25 2c 4f 59 25  3a f2 70 69 63 70 6f 73  |,OX%,OY%:.picpos|
00006ee0  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a f2  |:OX%=X%:OY%=Y%:.|
00006ef0  65 6c 69 70 28 26 41 44  2c 58 25 2c 59 25 29 3a  |elip(&AD,X%,Y%):|
00006f00  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
00006f10  61 77 6d 61 69 6e 3a f2  6c 65 74 67 6f 3a 46 55  |awmain:.letgo:FU|
00006f20  53 54 25 3d 32 3a e5 20  8d 44 62 60 0d 1a 86 af  |ST%=2:. .Db`....|
00006f30  e7 20 42 55 54 25 3d 34  20 80 20 28 4f 58 25 3c  |. BUT%=4 . (OX%<|
00006f40  3e 58 25 28 31 29 20 84  20 4f 59 25 3c 3e 59 25  |>X%(1) . OY%<>Y%|
00006f50  28 31 29 29 20 80 20 46  55 53 54 25 3d 32 20 8c  |(1)) . FUST%=2 .|
00006f60  20 f2 69 6e 70 69 63 3a  f2 65 6f 63 3a f2 70 69  | .inpic:.eoc:.pi|
00006f70  63 70 6f 73 3a f2 65 6c  69 70 28 26 41 44 2c 4f  |cpos:.elip(&AD,O|
00006f80  58 25 2c 4f 59 25 29 3a  f2 73 65 74 63 6f 6c 3a  |X%,OY%):.setcol:|
00006f90  f2 65 6c 69 70 28 26 41  44 2c 58 25 2c 59 25 29  |.elip(&AD,X%,Y%)|
00006fa0  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a f2  |:OX%=X%:OY%=Y%:.|
00006fb0  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
00006fc0  77 6d 61 69 6e 3a f2 6c  65 74 67 6f 3a 46 55 53  |wmain:.letgo:FUS|
00006fd0  54 25 3d 30 3a e5 20 8d  44 62 60 0d 1a 90 26 f2  |T%=0:. .Db`...&.|
00006fe0  70 69 63 70 6f 73 3a e7  20 58 25 3d 4f 58 25 20  |picpos:. X%=OX% |
00006ff0  80 20 59 25 3d 4f 59 25  20 8c 20 e5 20 8d 44 62  |. Y%=OY% . . .Db|
00007000  60 0d 1a 9a 6a e7 20 46  55 53 54 25 3d 31 20 8c  |`...j. FUST%=1 .|
00007010  20 f2 69 6e 70 69 63 3a  f2 65 6f 63 3a 86 20 58  | .inpic:.eoc:. X|
00007020  25 28 30 29 2c 59 25 28  30 29 2c 4f 58 25 2c 4f  |%(0),Y%(0),OX%,O|
00007030  59 25 3a 4f 58 25 3d 58  25 3a 4f 59 25 3d 59 25  |Y%:OX%=X%:OY%=Y%|
00007040  3a 86 20 58 25 28 30 29  2c 59 25 28 30 29 2c 58  |:. X%(0),Y%(0),X|
00007050  25 2c 59 25 3a f2 6f 75  74 70 69 63 3a f2 71 75  |%,Y%:.outpic:.qu|
00007060  69 63 6b 64 72 61 77 6d  61 69 6e 0d 1a a4 64 e7  |ickdrawmain...d.|
00007070  20 46 55 53 54 25 3d 32  20 8c 20 f2 69 6e 70 69  | FUST%=2 . .inpi|
00007080  63 3a f2 65 6f 63 3a f2  65 6c 69 70 28 26 41 44  |c:.eoc:.elip(&AD|
00007090  2c 4f 58 25 2c 4f 59 25  29 3a 4f 58 25 3d 58 25  |,OX%,OY%):OX%=X%|
000070a0  3a 4f 59 25 3d 59 25 3a  f2 65 6c 69 70 28 26 41  |:OY%=Y%:.elip(&A|
000070b0  44 2c 58 25 2c 59 25 29  3a f2 6f 75 74 70 69 63  |D,X%,Y%):.outpic|
000070c0  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 0d  |:.quickdrawmain.|
000070d0  1a ae 28 c9 20 31 39 3a  e7 20 46 55 53 54 25 3c  |..(. 19:. FUST%<|
000070e0  32 20 8c 20 f2 67 72 61  62 70 6f 6c 6c 28 30 29  |2 . .grabpoll(0)|
000070f0  3a e5 20 8d 44 62 60 0d  1a b8 6b e7 20 42 55 54  |:. .Db`...k. BUT|
00007100  25 3d 31 20 8c 20 f2 69  6e 70 69 63 3a f2 70 69  |%=1 . .inpic:.pi|
00007110  63 70 6f 73 3a f2 70 67  72 61 62 28 4f 58 25 2c  |cpos:.pgrab(OX%,|
00007120  4f 59 25 2c 33 29 3a 4f  58 25 3d 58 25 3a 4f 59  |OY%,3):OX%=X%:OY|
00007130  25 3d 59 25 3a f2 6f 75  74 70 69 63 3a f2 71 75  |%=Y%:.outpic:.qu|
00007140  69 63 6b 64 72 61 77 6d  61 69 6e 3a 46 55 53 54  |ickdrawmain:FUST|
00007150  25 3d 30 3a f2 73 70 69  6e 69 74 3a e5 20 8d 44  |%=0:.spinit:. .D|
00007160  62 60 0d 1a c2 7d e7 20  42 55 54 25 3d 34 20 8c  |b`...}. BUT%=4 .|
00007170  20 f2 69 6e 70 69 63 3a  f2 70 69 63 70 6f 73 3a  | .inpic:.picpos:|
00007180  f2 70 67 72 61 62 28 4f  58 25 2c 4f 59 25 2c 33  |.pgrab(OX%,OY%,3|
00007190  29 3a f2 70 67 72 61 62  28 58 25 2c 59 25 2c 30  |):.pgrab(X%,Y%,0|
000071a0  29 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |):OX%=X%:OY%=Y%:|
000071b0  f2 70 67 72 61 62 28 4f  58 25 2c 4f 59 25 2c 33  |.pgrab(OX%,OY%,3|
000071c0  29 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |):.outpic:.quick|
000071d0  64 72 61 77 6d 61 69 6e  3a e5 20 8d 44 62 60 0d  |drawmain:. .Db`.|
000071e0  1a cc 26 f2 70 69 63 70  6f 73 3a e7 20 58 25 3d  |..&.picpos:. X%=|
000071f0  4f 58 25 20 80 20 59 25  3d 4f 59 25 20 8c 20 e5  |OX% . Y%=OY% . .|
00007200  20 8d 44 62 60 0d 1a d6  51 f2 69 6e 70 69 63 3a  | .Db`...Q.inpic:|
00007210  f2 70 67 72 61 62 28 4f  58 25 2c 4f 59 25 2c 33  |.pgrab(OX%,OY%,3|
00007220  29 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |):OX%=X%:OY%=Y%:|
00007230  f2 70 67 72 61 62 28 58  25 2c 59 25 2c 33 29 3a  |.pgrab(X%,Y%,3):|
00007240  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
00007250  61 77 6d 61 69 6e 0d 1a  e0 28 c9 20 31 38 3a e7  |awmain...(. 18:.|
00007260  20 46 55 53 54 25 3c 32  20 8c 20 f2 67 72 61 62  | FUST%<2 . .grab|
00007270  70 6f 6c 6c 28 31 29 3a  e5 20 8d 44 62 60 0d 1a  |poll(1):. .Db`..|
00007280  ea 6b e7 20 42 55 54 25  3d 31 20 8c 20 f2 69 6e  |.k. BUT%=1 . .in|
00007290  70 69 63 3a f2 70 69 63  70 6f 73 3a f2 70 67 72  |pic:.picpos:.pgr|
000072a0  61 62 28 4f 58 25 2c 4f  59 25 2c 33 29 3a 4f 58  |ab(OX%,OY%,3):OX|
000072b0  25 3d 58 25 3a 4f 59 25  3d 59 25 3a f2 6f 75 74  |%=X%:OY%=Y%:.out|
000072c0  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
000072d0  69 6e 3a 46 55 53 54 25  3d 30 3a f2 73 70 69 6e  |in:FUST%=0:.spin|
000072e0  69 74 3a e5 20 8d 44 62  60 0d 1a f4 78 e7 20 42  |it:. .Db`...x. B|
000072f0  55 54 25 3d 34 20 8c 20  f2 69 6e 70 69 63 3a f2  |UT%=4 . .inpic:.|
00007300  70 69 63 70 6f 73 3a f2  70 67 72 61 62 28 4f 58  |picpos:.pgrab(OX|
00007310  25 2c 4f 59 25 2c 33 29  3a f2 70 67 72 61 62 28  |%,OY%,3):.pgrab(|
00007320  58 25 2c 59 25 2c 30 29  3a 4f 58 25 3d 58 25 3a  |X%,Y%,0):OX%=X%:|
00007330  4f 59 25 3d 59 25 3a f2  70 67 72 61 62 28 4f 58  |OY%=Y%:.pgrab(OX|
00007340  25 2c 4f 59 25 2c 33 29  3a f2 6f 75 74 70 69 63  |%,OY%,3):.outpic|
00007350  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 3a  |:.quickdrawmain:|
00007360  e1 0d 1a fe 26 f2 70 69  63 70 6f 73 3a e7 20 58  |....&.picpos:. X|
00007370  25 3d 4f 58 25 20 80 20  59 25 3d 4f 59 25 20 8c  |%=OX% . Y%=OY% .|
00007380  20 e5 20 8d 44 62 60 0d  1b 08 51 f2 69 6e 70 69  | . .Db`...Q.inpi|
00007390  63 3a f2 70 67 72 61 62  28 4f 58 25 2c 4f 59 25  |c:.pgrab(OX%,OY%|
000073a0  2c 33 29 3a 4f 58 25 3d  58 25 3a 4f 59 25 3d 59  |,3):OX%=X%:OY%=Y|
000073b0  25 3a f2 70 67 72 61 62  28 58 25 2c 59 25 2c 33  |%:.pgrab(X%,Y%,3|
000073c0  29 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |):.outpic:.quick|
000073d0  64 72 61 77 6d 61 69 6e  0d 1b 12 25 c9 20 32 30  |drawmain...%. 20|
000073e0  3a e7 20 46 55 53 54 25  3c 32 20 8c 20 f2 72 65  |:. FUST%<2 . .re|
000073f0  63 74 70 6f 6c 6c 3a e5  20 8d 44 62 60 0d 1b 1c  |ctpoll:. .Db`...|
00007400  47 f2 73 70 62 75 66 28  a4 73 70 72 69 74 65 73  |G.spbuf(.sprites|
00007410  69 7a 65 28 4f 58 25 2d  58 25 28 30 29 2c 4f 59  |ize(OX%-X%(0),OY|
00007420  25 2d 59 25 28 30 29 2c  31 29 29 3a e7 20 51 25  |%-Y%(0),1)):. Q%|
00007430  20 8c 20 f2 73 70 69 6e  69 74 3a f2 73 70 62 75  | . .spinit:.spbu|
00007440  66 65 72 72 0d 1b 26 43  f2 69 6e 70 69 63 3a 47  |ferr..&C.inpic:G|
00007450  52 4e 24 3d 22 47 52 41  42 22 3a c8 99 26 32 45  |RN$="GRAB":..&2E|
00007460  2c 32 37 32 2c 53 50 42  55 46 25 2c 22 47 52 41  |,272,SPBUF%,"GRA|
00007470  42 22 2c 2c 58 25 28 30  29 2c 59 25 28 30 29 2c  |B",,X%(0),Y%(0),|
00007480  4f 58 25 2c 4f 59 25 0d  1b 30 2e c8 99 26 32 45  |OX%,OY%..0...&2E|
00007490  2c 32 38 35 2c 53 50 42  55 46 25 2c 22 47 52 41  |,285,SPBUF%,"GRA|
000074a0  42 22 3a 47 52 41 42 4d  25 3d 38 3a f2 66 69 6c  |B":GRABM%=8:.fil|
000074b0  6c 6d 61 73 6b 0d 1b 3a  30 c8 99 26 32 45 2c 32  |lmask..:0..&2E,2|
000074c0  39 30 2c 53 50 42 55 46  25 2c 22 47 52 41 42 22  |90,SPBUF%,"GRAB"|
000074d0  2c 58 25 28 30 29 2c 59  25 28 30 29 2c 33 2b 47  |,X%(0),Y%(0),3+G|
000074e0  52 41 42 4d 25 0d 1b 44  6d c8 99 26 32 45 2c 33  |RABM%..Dm..&2E,3|
000074f0  30 33 2c 53 50 42 55 46  25 2c 22 47 52 41 42 22  |03,SPBUF%,"GRAB"|
00007500  3a c8 99 26 32 45 2c 32  39 30 2c 53 50 42 55 46  |:..&2E,290,SPBUF|
00007510  25 2c 22 47 52 41 42 22  2c 58 25 28 30 29 2c 59  |%,"GRAB",X%(0),Y|
00007520  25 28 30 29 2c 47 52 41  42 4d 25 3a f2 6f 75 74  |%(0),GRABM%:.out|
00007530  70 69 63 3a 46 55 53 54  25 3d 30 3a f2 73 70 69  |pic:FUST%=0:.spi|
00007540  6e 69 74 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |nit:.quickdrawma|
00007550  69 6e 0d 1b 4e 25 c9 20  32 31 3a e7 20 46 55 53  |in..N%. 21:. FUS|
00007560  54 25 3c 32 20 8c 20 f2  72 65 63 74 70 6f 6c 6c  |T%<2 . .rectpoll|
00007570  3a e5 20 8d 44 62 60 0d  1b 58 47 f2 73 70 62 75  |:. .Db`..XG.spbu|
00007580  66 28 a4 73 70 72 69 74  65 73 69 7a 65 28 4f 58  |f(.spritesize(OX|
00007590  25 2d 58 25 28 30 29 2c  4f 59 25 2d 59 25 28 30  |%-X%(0),OY%-Y%(0|
000075a0  29 2c 31 29 29 3a e7 20  51 25 20 8c 20 f2 73 70  |),1)):. Q% . .sp|
000075b0  69 6e 69 74 3a f2 73 70  62 75 66 65 72 72 0d 1b  |init:.spbuferr..|
000075c0  62 43 f2 69 6e 70 69 63  3a 47 52 4e 24 3d 22 47  |bC.inpic:GRN$="G|
000075d0  52 41 42 22 3a c8 99 26  32 45 2c 32 37 32 2c 53  |RAB":..&2E,272,S|
000075e0  50 42 55 46 25 2c 22 47  52 41 42 22 2c 2c 58 25  |PBUF%,"GRAB",,X%|
000075f0  28 30 29 2c 59 25 28 30  29 2c 4f 58 25 2c 4f 59  |(0),Y%(0),OX%,OY|
00007600  25 0d 1b 6c 2e c8 99 26  32 45 2c 32 38 35 2c 53  |%..l...&2E,285,S|
00007610  50 42 55 46 25 2c 22 47  52 41 42 22 3a 47 52 41  |PBUF%,"GRAB":GRA|
00007620  42 4d 25 3d 38 3a f2 66  69 6c 6c 6d 61 73 6b 0d  |BM%=8:.fillmask.|
00007630  1b 76 30 c8 99 26 32 45  2c 32 39 30 2c 53 50 42  |.v0..&2E,290,SPB|
00007640  55 46 25 2c 22 47 52 41  42 22 2c 58 25 28 30 29  |UF%,"GRAB",X%(0)|
00007650  2c 59 25 28 30 29 2c 33  2b 47 52 41 42 4d 25 0d  |,Y%(0),3+GRABM%.|
00007660  1b 80 6d c8 99 26 32 45  2c 32 38 39 2c 53 50 42  |..m..&2E,289,SPB|
00007670  55 46 25 2c 22 47 52 41  42 22 3a c8 99 26 32 45  |UF%,"GRAB":..&2E|
00007680  2c 32 39 30 2c 53 50 42  55 46 25 2c 22 47 52 41  |,290,SPBUF%,"GRA|
00007690  42 22 2c 58 25 28 30 29  2c 59 25 28 30 29 2c 47  |B",X%(0),Y%(0),G|
000076a0  52 41 42 4d 25 3a f2 6f  75 74 70 69 63 3a 46 55  |RABM%:.outpic:FU|
000076b0  53 54 25 3d 30 3a f2 73  70 69 6e 69 74 3a f2 71  |ST%=0:.spinit:.q|
000076c0  75 69 63 6b 64 72 61 77  6d 61 69 6e 0d 1b 8a 25  |uickdrawmain...%|
000076d0  c9 20 32 32 3a e7 20 46  55 53 54 25 3c 32 20 8c  |. 22:. FUST%<2 .|
000076e0  20 f2 72 65 63 74 70 6f  6c 6c 3a e5 20 8d 44 62  | .rectpoll:. .Db|
000076f0  60 0d 1b 94 22 f2 69 6e  70 69 63 3a f2 73 65 74  |`...".inpic:.set|
00007700  63 6f 6c 3a e3 4c 25 3d  30 20 b8 20 39 33 32 20  |col:.L%=0 . 932 |
00007710  88 20 34 0d 1b 9e 2f e7  20 4c 25 3c 59 25 28 30  |. 4.../. L%<Y%(0|
00007720  29 20 84 20 4c 25 3e 4f  59 25 20 8c 20 86 20 30  |) . L%>OY% . . 0|
00007730  2c 4c 25 2c 31 32 33 32  2c 4c 25 3a e5 20 8d 74  |,L%,1232,L%:. .t|
00007740  7c 5b 0d 1b a8 21 e7 20  58 25 28 30 29 3e 30 20  ||[...!. X%(0)>0 |
00007750  8c 20 86 20 30 2c 4c 25  2c 58 25 28 30 29 2d 32  |. . 0,L%,X%(0)-2|
00007760  2c 4c 25 0d 1b b2 23 e7  20 4f 59 25 3c 31 32 33  |,L%...#. OY%<123|
00007770  32 20 8c 20 86 20 4f 58  25 2b 32 2c 4c 25 2c 31  |2 . . OX%+2,L%,1|
00007780  32 33 32 2c 4c 25 0d 1b  bc 24 ed 3a f2 6f 75 74  |232,L%...$.:.out|
00007790  70 69 63 3a 46 55 53 54  25 3d 30 3a f2 71 75 69  |pic:FUST%=0:.qui|
000077a0  63 6b 64 72 61 77 6d 61  69 6e 0d 1b c6 25 c9 20  |ckdrawmain...%. |
000077b0  32 33 3a e7 20 46 55 53  54 25 3c 32 20 8c 20 f2  |23:. FUST%<2 . .|
000077c0  72 65 63 74 70 6f 6c 6c  3a e5 20 8d 44 62 60 0d  |rectpoll:. .Db`.|
000077d0  1b d0 98 e7 20 46 55 43  4f 25 3d 30 20 8c 20 f2  |.... FUCO%=0 . .|
000077e0  69 6e 70 69 63 3a f2 65  6f 63 3a c8 93 20 58 25  |inpic:.eoc:.. X%|
000077f0  28 30 29 2c 59 25 28 30  29 2c 4f 58 25 2d 58 25  |(0),Y%(0),OX%-X%|
00007800  28 30 29 2c 4f 59 25 2d  59 25 28 30 29 3a f2 6f  |(0),OY%-Y%(0):.o|
00007810  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
00007820  6d 61 69 6e 3a 58 25 28  31 29 3d 58 25 28 30 29  |main:X%(1)=X%(0)|
00007830  3a 59 25 28 31 29 3d 59  25 28 30 29 3a 58 25 28  |:Y%(1)=Y%(0):X%(|
00007840  32 29 3d 4f 58 25 3a 59  25 28 32 29 3d 4f 59 25  |2)=OX%:Y%(2)=OY%|
00007850  3a 46 55 53 54 25 3d 30  3a 46 55 43 4f 25 3d 31  |:FUST%=0:FUCO%=1|
00007860  3a e5 20 8d 44 62 60 0d  1b da 58 f2 73 70 62 75  |:. .Db`...X.spbu|
00007870  66 28 a4 73 70 72 69 74  65 73 69 7a 65 28 58 25  |f(.spritesize(X%|
00007880  28 32 29 2d 58 25 28 31  29 2c 59 25 28 32 29 2d  |(2)-X%(1),Y%(2)-|
00007890  59 25 28 31 29 2c 94 28  a4 68 69 67 68 28 38 2c  |Y%(1),.(.high(8,|
000078a0  31 34 29 29 29 29 3a e7  20 51 25 20 8c 20 f2 73  |14)))):. Q% . .s|
000078b0  70 69 6e 69 74 3a f2 73  70 62 75 66 65 72 72 0d  |pinit:.spbuferr.|
000078c0  1b e4 73 f2 69 6e 70 69  63 3a f2 65 6f 63 3a c8  |..s.inpic:.eoc:.|
000078d0  93 20 58 25 28 31 29 2c  59 25 28 31 29 2c 58 25  |. X%(1),Y%(1),X%|
000078e0  28 32 29 2d 58 25 28 31  29 2c 59 25 28 32 29 2d  |(2)-X%(1),Y%(2)-|
000078f0  59 25 28 31 29 3a 47 52  4e 24 3d 22 47 52 41 42  |Y%(1):GRN$="GRAB|
00007900  22 3a c8 99 26 32 45 2c  32 37 32 2c 53 50 42 55  |":..&2E,272,SPBU|
00007910  46 25 2c 22 47 52 41 42  22 2c 2c 58 25 28 31 29  |F%,"GRAB",,X%(1)|
00007920  2c 59 25 28 31 29 2c 58  25 28 32 29 2c 59 25 28  |,Y%(1),X%(2),Y%(|
00007930  32 29 0d 1b ee 49 e7 20  a4 68 69 67 68 28 38 2c  |2)...I. .high(8,|
00007940  31 34 29 20 8c 20 c8 99  26 32 45 2c 32 38 35 2c  |14) . ..&2E,285,|
00007950  53 50 42 55 46 25 2c 22  47 52 41 42 22 3a 47 52  |SPBUF%,"GRAB":GR|
00007960  41 42 4d 25 3d 38 3a f2  66 69 6c 6c 6d 61 73 6b  |ABM%=8:.fillmask|
00007970  20 8b 20 47 52 41 42 4d  25 3d 30 0d 1b f8 5d f2  | . GRABM%=0...].|
00007980  67 72 61 62 66 6c 69 70  3a 53 43 41 4c 45 25 21  |grabflip:SCALE%!|
00007990  38 3d 58 25 28 32 29 2d  58 25 28 31 29 3a 53 43  |8=X%(2)-X%(1):SC|
000079a0  41 4c 45 25 21 31 32 3d  59 25 28 32 29 2d 59 25  |ALE%!12=Y%(2)-Y%|
000079b0  28 31 29 3a 21 53 43 41  4c 45 25 3d 4f 58 25 2d  |(1):!SCALE%=OX%-|
000079c0  58 25 28 30 29 3a 53 43  41 4c 45 25 21 34 3d 4f  |X%(0):SCALE%!4=O|
000079d0  59 25 2d 59 25 28 30 29  0d 1c 02 64 c8 99 26 32  |Y%-Y%(0)...d..&2|
000079e0  45 2c 33 30 38 2c 53 50  42 55 46 25 2c 22 47 52  |E,308,SPBUF%,"GR|
000079f0  41 42 22 2c 58 25 28 30  29 2c 59 25 28 30 29 2c  |AB",X%(0),Y%(0),|
00007a00  47 52 41 42 4d 25 2c 53  43 41 4c 45 25 3a f2 6f  |GRABM%,SCALE%:.o|
00007a10  75 74 70 69 63 3a 46 55  53 54 25 3d 30 3a 46 55  |utpic:FUST%=0:FU|
00007a20  43 4f 25 3d 30 3a f2 73  70 69 6e 69 74 3a f2 71  |CO%=0:.spinit:.q|
00007a30  75 69 63 6b 64 72 61 77  6d 61 69 6e 0d 1c 0c 35  |uickdrawmain...5|
00007a40  c9 20 32 35 3a f2 69 6e  70 69 63 3a e6 33 2c 36  |. 25:.inpic:.3,6|
00007a50  33 3a f0 36 39 2c 33 30  30 2c 33 30 30 3a f0 36  |3:.69,300,300:.6|
00007a60  39 2c 33 30 30 2c 33 30  30 3a f2 70 69 63 70 6f  |9,300,300:.picpo|
00007a70  73 0d 1c 16 1c e7 20 58  25 3d 4f 58 25 20 80 20  |s..... X%=OX% . |
00007a80  59 25 3d 4f 59 25 20 8c  20 8d 54 6a 5c 0d 1c 20  |Y%=OY% . .Tj\.. |
00007a90  0c f2 6d 61 70 6c 69 6e  65 0d 1c 2a 37 e7 20 42  |..mapline..*7. B|
00007aa0  55 54 25 3c 3e 31 20 80  20 42 55 54 25 3c 3e 34  |UT%<>1 . BUT%<>4|
00007ab0  20 8c 20 f2 6f 75 74 70  69 63 3a f2 71 75 69 63  | . .outpic:.quic|
00007ac0  6b 64 72 61 77 6d 61 69  6e 3a e5 20 8d 44 62 60  |kdrawmain:. .Db`|
00007ad0  0d 1c 34 13 e7 20 42 55  54 25 3d 34 20 8c 20 8d  |..4.. BUT%=4 . .|
00007ae0  74 6c 5c 0d 1c 3e 08 f2  65 6f 63 0d 1c 48 0e c8  |tl\..>..eoc..H..|
00007af0  8e 20 46 55 43 4f 25 20  ca 0d 1c 52 1b c9 20 32  |. FUCO% ...R.. 2|
00007b00  3a 86 20 58 25 28 31 29  2c 59 25 28 31 29 2c 58  |:. X%(1),Y%(1),X|
00007b10  25 2c 59 25 0d 1c 5c 35  c9 20 33 3a 86 20 58 25  |%,Y%..\5. 3:. X%|
00007b20  28 31 29 2c 59 25 28 31  29 2c 58 25 28 32 29 2c  |(1),Y%(1),X%(2),|
00007b30  59 25 28 32 29 3a 86 20  58 25 28 32 29 2c 59 25  |Y%(2):. X%(2),Y%|
00007b40  28 32 29 2c 58 25 2c 59  25 0d 1c 66 63 c9 20 34  |(2),X%,Y%..fc. 4|
00007b50  3a 86 20 58 25 28 31 29  2c 59 25 28 31 29 2c 58  |:. X%(1),Y%(1),X|
00007b60  25 28 32 29 2c 59 25 28  32 29 3a 86 20 58 25 28  |%(2),Y%(2):. X%(|
00007b70  32 29 2c 59 25 28 32 29  2c 58 25 28 33 29 2c 59  |2),Y%(2),X%(3),Y|
00007b80  25 28 33 29 3a 86 20 58  25 28 33 29 2c 59 25 28  |%(3):. X%(3),Y%(|
00007b90  33 29 2c 58 25 2c 59 25  3a 86 20 58 25 2c 59 25  |3),X%,Y%:. X%,Y%|
00007ba0  2c 58 25 28 31 29 2c 59  25 28 31 29 0d 1c 70 6f  |,X%(1),Y%(1)..po|
00007bb0  c9 20 35 3a 86 20 58 25  28 31 29 2c 59 25 28 31  |. 5:. X%(1),Y%(1|
00007bc0  29 2c 58 25 28 32 29 2c  59 25 28 32 29 3a 86 20  |),X%(2),Y%(2):. |
00007bd0  58 25 28 32 29 2c 59 25  28 32 29 2c 58 25 28 33  |X%(2),Y%(2),X%(3|
00007be0  29 2c 59 25 28 33 29 3a  86 20 58 25 28 33 29 2c  |),Y%(3):. X%(3),|
00007bf0  59 25 28 33 29 2c 58 25  28 34 29 2c 59 25 28 34  |Y%(3),X%(4),Y%(4|
00007c00  29 3a 86 20 58 25 28 34  29 2c 59 25 28 34 29 2c  |):. X%(4),Y%(4),|
00007c10  58 25 28 31 29 2c 59 25  28 31 29 0d 1c 7a 83 c9  |X%(1),Y%(1)..z..|
00007c20  20 36 3a 86 20 58 25 28  31 29 2c 59 25 28 31 29  | 6:. X%(1),Y%(1)|
00007c30  2c 58 25 28 32 29 2c 59  25 28 32 29 3a 86 20 58  |,X%(2),Y%(2):. X|
00007c40  25 28 32 29 2c 59 25 28  32 29 2c 58 25 28 33 29  |%(2),Y%(2),X%(3)|
00007c50  2c 59 25 28 33 29 3a 86  20 58 25 28 33 29 2c 59  |,Y%(3):. X%(3),Y|
00007c60  25 28 33 29 2c 58 25 28  34 29 2c 59 25 28 34 29  |%(3),X%(4),Y%(4)|
00007c70  3a 86 20 58 25 28 34 29  2c 59 25 28 34 29 2c 58  |:. X%(4),Y%(4),X|
00007c80  25 28 31 29 2c 59 25 28  31 29 3a 86 20 58 25 28  |%(1),Y%(1):. X%(|
00007c90  35 29 2c 59 25 28 35 29  2c 58 25 2c 59 25 0d 1c  |5),Y%(5),X%,Y%..|
00007ca0  84 9d c9 20 37 3a 86 20  58 25 28 31 29 2c 59 25  |... 7:. X%(1),Y%|
00007cb0  28 31 29 2c 58 25 28 32  29 2c 59 25 28 32 29 3a  |(1),X%(2),Y%(2):|
00007cc0  86 20 58 25 28 32 29 2c  59 25 28 32 29 2c 58 25  |. X%(2),Y%(2),X%|
00007cd0  28 33 29 2c 59 25 28 33  29 3a 86 20 58 25 28 33  |(3),Y%(3):. X%(3|
00007ce0  29 2c 59 25 28 33 29 2c  58 25 28 34 29 2c 59 25  |),Y%(3),X%(4),Y%|
00007cf0  28 34 29 3a 86 20 58 25  28 34 29 2c 59 25 28 34  |(4):. X%(4),Y%(4|
00007d00  29 2c 58 25 28 31 29 2c  59 25 28 31 29 3a 86 20  |),X%(1),Y%(1):. |
00007d10  58 25 28 35 29 2c 59 25  28 35 29 2c 58 25 28 36  |X%(5),Y%(5),X%(6|
00007d20  29 2c 59 25 28 36 29 3a  86 20 58 25 28 36 29 2c  |),Y%(6):. X%(6),|
00007d30  59 25 28 36 29 2c 58 25  2c 59 25 0d 1c 8e cb c9  |Y%(6),X%,Y%.....|
00007d40  20 38 3a 86 20 58 25 28  31 29 2c 59 25 28 31 29  | 8:. X%(1),Y%(1)|
00007d50  2c 58 25 28 32 29 2c 59  25 28 32 29 3a 86 20 58  |,X%(2),Y%(2):. X|
00007d60  25 28 32 29 2c 59 25 28  32 29 2c 58 25 28 33 29  |%(2),Y%(2),X%(3)|
00007d70  2c 59 25 28 33 29 3a 86  20 58 25 28 33 29 2c 59  |,Y%(3):. X%(3),Y|
00007d80  25 28 33 29 2c 58 25 28  34 29 2c 59 25 28 34 29  |%(3),X%(4),Y%(4)|
00007d90  3a 86 20 58 25 28 34 29  2c 59 25 28 34 29 2c 58  |:. X%(4),Y%(4),X|
00007da0  25 28 31 29 2c 59 25 28  31 29 3a 86 20 58 25 28  |%(1),Y%(1):. X%(|
00007db0  35 29 2c 59 25 28 35 29  2c 58 25 28 36 29 2c 59  |5),Y%(5),X%(6),Y|
00007dc0  25 28 36 29 3a 86 20 58  25 28 36 29 2c 59 25 28  |%(6):. X%(6),Y%(|
00007dd0  36 29 2c 58 25 28 37 29  2c 59 25 28 37 29 3a 86  |6),X%(7),Y%(7):.|
00007de0  20 58 25 28 37 29 2c 59  25 28 37 29 2c 58 25 2c  | X%(7),Y%(7),X%,|
00007df0  59 25 3a 86 20 58 25 28  35 29 2c 59 25 28 35 29  |Y%:. X%(5),Y%(5)|
00007e00  2c 58 25 2c 59 25 0d 1c  98 05 cb 0d 1c a2 30 46  |,X%,Y%........0F|
00007e10  55 43 4f 25 3d 31 3a f2  6c 65 74 67 6f 3a f2 6f  |UCO%=1:.letgo:.o|
00007e20  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
00007e30  6d 61 69 6e 3a e5 20 8d  44 62 60 0d 1c ac 08 f2  |main:. .Db`.....|
00007e40  65 6f 63 0d 1c b6 16 e7  20 46 55 43 4f 25 3d 38  |eoc..... FUCO%=8|
00007e50  20 8c 20 e5 20 8d 64 5e  5c 0d 1c c0 46 58 25 28  | . . .d^\...FX%(|
00007e60  46 55 43 4f 25 29 3d 58  25 3a 59 25 28 46 55 43  |FUCO%)=X%:Y%(FUC|
00007e70  4f 25 29 3d 59 25 3a e7  20 46 55 43 4f 25 3c 3e  |O%)=Y%:. FUCO%<>|
00007e80  34 20 8c 20 86 20 58 25  28 46 55 43 4f 25 29 2c  |4 . . X%(FUCO%),|
00007e90  59 25 28 46 55 43 4f 25  29 2c 58 25 2c 59 25 0d  |Y%(FUCO%),X%,Y%.|
00007ea0  1c ca 39 e7 20 46 55 43  4f 25 3d 33 20 84 20 46  |..9. FUCO%=3 . F|
00007eb0  55 43 4f 25 3d 37 20 8c  20 86 20 58 25 28 46 55  |UCO%=7 . . X%(FU|
00007ec0  43 4f 25 2d 32 29 2c 59  25 28 46 55 43 4f 25 2d  |CO%-2),Y%(FUCO%-|
00007ed0  32 29 2c 58 25 2c 59 25  0d 1c d4 28 4f 58 25 3d  |2),X%,Y%...(OX%=|
00007ee0  58 25 3a 4f 59 25 3d 59  25 3a 46 55 43 4f 25 2b  |X%:OY%=Y%:FUCO%+|
00007ef0  3d 31 3a f2 6c 65 74 67  6f 3a e5 20 8d 44 62 60  |=1:.letgo:. .Db`|
00007f00  0d 1c de a5 58 25 28 38  29 3d 58 25 3a 59 25 28  |....X%(8)=X%:Y%(|
00007f10  38 29 3d 59 25 3a e3 4c  25 3d 31 20 b8 20 33 3a  |8)=Y%:.L%=1 . 3:|
00007f20  86 20 58 25 28 4c 25 29  2c 59 25 28 4c 25 29 2c  |. X%(L%),Y%(L%),|
00007f30  58 25 28 4c 25 2b 31 29  2c 59 25 28 4c 25 2b 31  |X%(L%+1),Y%(L%+1|
00007f40  29 3a 86 20 58 25 28 4c  25 2b 34 29 2c 59 25 28  |):. X%(L%+4),Y%(|
00007f50  4c 25 2b 34 29 2c 58 25  28 4c 25 2b 35 29 2c 59  |L%+4),X%(L%+5),Y|
00007f60  25 28 4c 25 2b 35 29 3a  ed 3a 86 20 58 25 28 31  |%(L%+5):.:. X%(1|
00007f70  29 2c 59 25 28 31 29 2c  58 25 28 34 29 2c 59 25  |),Y%(1),X%(4),Y%|
00007f80  28 34 29 3a 86 20 58 25  28 35 29 2c 59 25 28 35  |(4):. X%(5),Y%(5|
00007f90  29 2c 58 25 28 38 29 2c  59 25 28 38 29 3a 46 55  |),X%(8),Y%(8):FU|
00007fa0  43 4f 25 3d 31 0d 1c e8  2b f2 6f 75 74 70 69 63  |CO%=1...+.outpic|
00007fb0  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 3a  |:.quickdrawmain:|
00007fc0  f2 70 69 78 65 6c 6d 61  70 3a e5 20 8d 44 62 60  |.pixelmap:. .Db`|
00007fd0  0d 1c f2 25 c9 20 32 37  3a e7 20 46 55 53 54 25  |...%. 27:. FUST%|
00007fe0  3c 32 20 8c 20 f2 72 65  63 74 70 6f 6c 6c 3a e5  |<2 . .rectpoll:.|
00007ff0  20 8d 44 62 60 0d 1c fc  2d f2 73 70 69 6e 69 74  | .Db`...-.spinit|
00008000  3a f2 73 70 62 75 66 28  31 34 35 2a 31 30 32 34  |:.spbuf(145*1024|
00008010  29 3a e7 20 51 25 20 8c  20 f2 73 70 62 75 66 65  |):. Q% . .spbufe|
00008020  72 72 0d 1d 06 19 f2 62  61 63 6b 75 70 70 69 63  |rr.....backuppic|
00008030  3a f2 73 77 61 70 63 6f  72 6e 73 0d 1d 10 20 56  |:.swapcorns... V|
00008040  41 52 53 21 32 30 3d 42  54 43 25 3a 56 41 52 53  |ARS!20=BTC%:VARS|
00008050  21 32 34 3d 50 41 4c 54  41 42 25 0d 1d 1a 1f 56  |!24=PALTAB%....V|
00008060  41 52 53 21 32 38 3d 50  49 43 25 3a 56 41 52 53  |ARS!28=PIC%:VARS|
00008070  21 33 32 3d 53 50 42 55  46 25 0d 1d 24 1f 56 41  |!32=SPBUF%..$.VA|
00008080  52 53 21 33 36 3d 58 25  28 30 29 3a 56 41 52 53  |RS!36=X%(0):VARS|
00008090  21 34 30 3d 59 25 28 30  29 0d 1d 2e 1b 56 41 52  |!40=Y%(0)....VAR|
000080a0  53 21 34 34 3d 4f 58 25  3a 56 41 52 53 21 34 38  |S!44=OX%:VARS!48|
000080b0  3d 4f 59 25 0d 1d 38 5c  41 25 3d 56 41 52 53 3a  |=OY%..8\A%=VARS:|
000080c0  c8 99 20 22 48 6f 75 72  67 6c 61 73 73 5f 4f 6e  |.. "Hourglass_On|
000080d0  22 3a d6 20 70 69 78 61  76 65 72 61 67 65 3a c8  |":. pixaverage:.|
000080e0  99 20 22 48 6f 75 72 67  6c 61 73 73 5f 4f 66 66  |. "Hourglass_Off|
000080f0  22 3a f2 73 70 69 6e 69  74 3a f2 66 6f 72 63 65  |":.spinit:.force|
00008100  64 72 61 77 6d 61 69 6e  3a 46 55 53 54 25 3d 30  |drawmain:FUST%=0|
00008110  0d 1d 42 25 c9 20 32 38  3a e7 20 46 55 53 54 25  |..B%. 28:. FUST%|
00008120  3c 32 20 8c 20 f2 72 65  63 74 70 6f 6c 6c 3a e5  |<2 . .rectpoll:.|
00008130  20 8d 44 62 60 0d 1d 4c  0e f2 73 77 61 70 63 6f  | .Db`..L..swapco|
00008140  72 6e 73 0d 1d 56 20 56  41 52 53 21 32 30 3d 42  |rns..V VARS!20=B|
00008150  54 43 25 3a 56 41 52 53  21 32 34 3d 50 41 4c 54  |TC%:VARS!24=PALT|
00008160  41 42 25 0d 1d 60 10 56  41 52 53 21 32 38 3d 50  |AB%..`.VARS!28=P|
00008170  49 43 25 0d 1d 6a 1f 56  41 52 53 21 33 36 3d 58  |IC%..j.VARS!36=X|
00008180  25 28 30 29 3a 56 41 52  53 21 34 30 3d 59 25 28  |%(0):VARS!40=Y%(|
00008190  30 29 0d 1d 74 1b 56 41  52 53 21 34 34 3d 4f 58  |0)..t.VARS!44=OX|
000081a0  25 3a 56 41 52 53 21 34  38 3d 4f 59 25 0d 1d 7e  |%:VARS!48=OY%..~|
000081b0  39 56 41 52 53 21 38 34  3d 50 41 4c 54 41 42 25  |9VARS!84=PALTAB%|
000081c0  3f 28 43 4f 4c 25 2a 32  29 3a 56 41 52 53 21 38  |?(COL%*2):VARS!8|
000081d0  38 3d 50 41 4c 54 41 42  25 3f 28 28 43 4f 4c 25  |8=PALTAB%?((COL%|
000081e0  2a 32 29 2b 31 29 0d 1d  88 52 41 25 3d 56 41 52  |*2)+1)...RA%=VAR|
000081f0  53 3a c8 99 20 22 48 6f  75 72 67 6c 61 73 73 5f  |S:.. "Hourglass_|
00008200  4f 6e 22 3a d6 20 74 69  6e 74 61 72 65 61 3a c8  |On":. tintarea:.|
00008210  99 20 22 48 6f 75 72 67  6c 61 73 73 5f 4f 66 66  |. "Hourglass_Off|
00008220  22 3a f2 66 6f 72 63 65  64 72 61 77 6d 61 69 6e  |":.forcedrawmain|
00008230  3a 46 55 53 54 25 3d 30  0d 1d 92 80 c9 20 32 39  |:FUST%=0..... 29|
00008240  3a e7 20 46 55 53 54 25  3d 30 20 8c 20 f2 70 61  |:. FUST%=0 . .pa|
00008250  69 6e 74 73 63 61 6c 65  32 3a f2 70 69 63 70 6f  |intscale2:.picpo|
00008260  73 3a f2 69 6e 70 69 63  3a f2 65 6f 72 62 61 63  |s:.inpic:.eorbac|
00008270  6b 3a f2 70 61 69 6e 74  62 72 75 73 68 28 58 25  |k:.paintbrush(X%|
00008280  2c 59 25 29 3a f2 6f 75  74 70 69 63 3a f2 71 75  |,Y%):.outpic:.qu|
00008290  69 63 6b 64 72 61 77 6d  61 69 6e 3a 4f 58 25 3d  |ickdrawmain:OX%=|
000082a0  58 25 3a 4f 59 25 3d 59  25 3a 46 55 53 54 25 3d  |X%:OY%=Y%:FUST%=|
000082b0  31 3a e5 20 8d 44 62 60  0d 1d 9c 0b f2 70 69 63  |1:. .Db`.....pic|
000082c0  70 6f 73 0d 1d a6 83 e7  20 58 25 3c 3e 4f 58 25  |pos..... X%<>OX%|
000082d0  20 84 20 59 25 3c 3e 4f  59 25 20 8c 20 f2 70 61  | . Y%<>OY% . .pa|
000082e0  69 6e 74 73 63 61 6c 65  32 3a f2 69 6e 70 69 63  |intscale2:.inpic|
000082f0  3a f2 65 6f 72 62 61 63  6b 3a f2 70 61 69 6e 74  |:.eorback:.paint|
00008300  62 72 75 73 68 28 4f 58  25 2c 4f 59 25 29 3a f2  |brush(OX%,OY%):.|
00008310  70 61 69 6e 74 62 72 75  73 68 28 58 25 2c 59 25  |paintbrush(X%,Y%|
00008320  29 3a 4f 58 25 3d 58 25  3a 4f 59 25 3d 59 25 3a  |):OX%=X%:OY%=Y%:|
00008330  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
00008340  61 77 6d 61 69 6e 0d 1d  b0 80 c9 20 33 30 3a e7  |awmain..... 30:.|
00008350  20 46 55 53 54 25 3d 30  20 8c 20 f2 70 61 69 6e  | FUST%=0 . .pain|
00008360  74 73 63 61 6c 65 32 3a  f2 70 69 63 70 6f 73 3a  |tscale2:.picpos:|
00008370  f2 69 6e 70 69 63 3a f2  65 6f 72 62 61 63 6b 3a  |.inpic:.eorback:|
00008380  f2 70 61 69 6e 74 62 72  75 73 68 28 58 25 2c 59  |.paintbrush(X%,Y|
00008390  25 29 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |%):.outpic:.quic|
000083a0  6b 64 72 61 77 6d 61 69  6e 3a 4f 58 25 3d 58 25  |kdrawmain:OX%=X%|
000083b0  3a 4f 59 25 3d 59 25 3a  46 55 53 54 25 3d 31 3a  |:OY%=Y%:FUST%=1:|
000083c0  e5 20 8d 44 62 60 0d 1d  ba 0b f2 70 69 63 70 6f  |. .Db`.....picpo|
000083d0  73 0d 1d c4 83 e7 20 58  25 3c 3e 4f 58 25 20 84  |s..... X%<>OX% .|
000083e0  20 59 25 3c 3e 4f 59 25  20 8c 20 f2 70 61 69 6e  | Y%<>OY% . .pain|
000083f0  74 73 63 61 6c 65 32 3a  f2 69 6e 70 69 63 3a f2  |tscale2:.inpic:.|
00008400  65 6f 72 62 61 63 6b 3a  f2 70 61 69 6e 74 62 72  |eorback:.paintbr|
00008410  75 73 68 28 4f 58 25 2c  4f 59 25 29 3a f2 70 61  |ush(OX%,OY%):.pa|
00008420  69 6e 74 62 72 75 73 68  28 58 25 2c 59 25 29 3a  |intbrush(X%,Y%):|
00008430  4f 58 25 3d 58 25 3a 4f  59 25 3d 59 25 3a f2 6f  |OX%=X%:OY%=Y%:.o|
00008440  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
00008450  6d 61 69 6e 0d 1d ce 15  c9 20 33 32 3a e7 20 46  |main..... 32:. F|
00008460  4f 4e 54 25 3c 3e 30 20  8c 0d 1d d8 6f f2 70 69  |ONT%<>0 ....o.pi|
00008470  63 70 6f 73 3a e7 20 42  55 54 25 3d 34 20 80 20  |cpos:. BUT%=4 . |
00008480  46 55 53 54 25 3c 3e 30  20 8c 20 f2 69 6e 62 61  |FUST%<>0 . .inba|
00008490  63 6b 75 70 3a c8 99 20  22 46 6f 6e 74 5f 53 65  |ckup:.. "Font_Se|
000084a0  74 46 6f 6e 74 22 2c 46  48 41 4e 44 25 3a c8 99  |tFont",FHAND%:..|
000084b0  20 22 46 6f 6e 74 5f 50  61 69 6e 74 22 2c 2c 54  | "Font_Paint",,T|
000084c0  45 58 54 24 2c 31 36 2c  58 25 2c 59 25 3a f2 6f  |EXT$,16,X%,Y%:.o|
000084d0  75 74 62 61 63 6b 75 70  0d 1d e2 94 e7 20 46 55  |utbackup..... FU|
000084e0  53 54 25 3c 3e 30 20 80  20 28 58 25 3c 3e 4f 58  |ST%<>0 . (X%<>OX|
000084f0  25 20 84 20 59 25 3c 3e  4f 59 25 29 20 8c 20 f2  |% . Y%<>OY%) . .|
00008500  72 65 73 74 70 69 63 3a  f2 69 6e 70 69 63 3a c8  |restpic:.inpic:.|
00008510  99 20 22 46 6f 6e 74 5f  53 65 74 46 6f 6e 74 22  |. "Font_SetFont"|
00008520  2c 46 48 41 4e 44 25 3a  c8 99 20 22 46 6f 6e 74  |,FHAND%:.. "Font|
00008530  5f 50 61 69 6e 74 22 2c  2c 54 45 58 54 24 2c 31  |_Paint",,TEXT$,1|
00008540  36 2c 58 25 2c 59 25 3a  f2 6f 75 74 70 69 63 3a  |6,X%,Y%:.outpic:|
00008550  f2 66 6f 72 63 65 64 72  61 77 6d 61 69 6e 3a 4f  |.forcedrawmain:O|
00008560  58 25 3d 58 25 3a 4f 59  25 3d 59 25 0d 1d ec 05  |X%=X%:OY%=Y%....|
00008570  cc 0d 1d f6 45 f2 70 69  63 70 6f 73 3a e7 20 42  |....E.picpos:. B|
00008580  55 54 25 3d 34 20 80 20  46 55 53 54 25 3c 3e 30  |UT%=4 . FUST%<>0|
00008590  20 8c 20 f2 69 6e 62 61  63 6b 75 70 3a f2 6f 73  | . .inbackup:.os|
000085a0  74 65 78 74 28 58 25 2c  59 25 29 3a f2 6f 75 74  |text(X%,Y%):.out|
000085b0  62 61 63 6b 75 70 0d 1e  00 6a e7 20 46 55 53 54  |backup...j. FUST|
000085c0  25 3c 3e 30 20 80 20 28  58 25 3c 3e 4f 58 25 20  |%<>0 . (X%<>OX% |
000085d0  84 20 59 25 3c 3e 4f 59  25 29 20 8c 20 f2 72 65  |. Y%<>OY%) . .re|
000085e0  73 74 70 69 63 3a f2 69  6e 70 69 63 3a f2 6f 73  |stpic:.inpic:.os|
000085f0  74 65 78 74 28 58 25 2c  59 25 29 3a f2 6f 75 74  |text(X%,Y%):.out|
00008600  70 69 63 3a f2 66 6f 72  63 65 64 72 61 77 6d 61  |pic:.forcedrawma|
00008610  69 6e 3a 4f 58 25 3d 58  25 3a 4f 59 25 3d 59 25  |in:OX%=X%:OY%=Y%|
00008620  0d 1e 0a 05 cd 0d 1e 14  25 c9 20 33 31 3a e7 20  |........%. 31:. |
00008630  46 55 53 54 25 3c 32 20  8c 20 f2 72 65 63 74 70  |FUST%<2 . .rectp|
00008640  6f 6c 6c 3a e5 20 8d 44  62 60 0d 1e 1e 3e f2 73  |oll:. .Db`...>.s|
00008650  77 61 70 63 6f 72 6e 73  3a 46 4d 49 4e 58 25 3d  |wapcorns:FMINX%=|
00008660  58 25 28 30 29 3a 46 4d  49 4e 59 25 3d 59 25 28  |X%(0):FMINY%=Y%(|
00008670  30 29 3a 46 4d 41 58 58  25 3d 4f 58 25 3a 46 4d  |0):FMAXX%=OX%:FM|
00008680  41 58 59 25 3d 4f 59 25  0d 1e 28 36 c8 99 20 22  |AXY%=OY%..(6.. "|
00008690  48 6f 75 72 67 6c 61 73  73 5f 4f 6e 22 3a f2 66  |Hourglass_On":.f|
000086a0  69 6c 6c 3a c8 99 20 22  48 6f 75 72 67 6c 61 73  |ill:.. "Hourglas|
000086b0  73 5f 4f 66 66 22 3a 46  55 53 54 25 3d 30 0d 1e  |s_Off":FUST%=0..|
000086c0  32 25 c9 20 33 33 3a e7  20 46 55 53 54 25 3c 32  |2%. 33:. FUST%<2|
000086d0  20 8c 20 f2 72 65 63 74  70 6f 6c 6c 3a e5 20 8d  | . .rectpoll:. .|
000086e0  44 62 60 0d 1e 3c 3e f2  73 77 61 70 63 6f 72 6e  |Db`..<>.swapcorn|
000086f0  73 3a 46 4d 49 4e 58 25  3d 58 25 28 30 29 3a 46  |s:FMINX%=X%(0):F|
00008700  4d 49 4e 59 25 3d 59 25  28 30 29 3a 46 4d 41 58  |MINY%=Y%(0):FMAX|
00008710  58 25 3d 4f 58 25 3a 46  4d 41 58 59 25 3d 4f 59  |X%=OX%:FMAXY%=OY|
00008720  25 0d 1e 46 c2 c8 99 20  22 48 6f 75 72 67 6c 61  |%..F... "Hourgla|
00008730  73 73 5f 4f 6e 22 3a 21  56 41 52 53 3d 50 49 43  |ss_On":!VARS=PIC|
00008740  25 3a 56 41 52 53 21 34  3d 50 49 43 25 3a 56 41  |%:VARS!4=PIC%:VA|
00008750  52 53 21 38 3d 58 25 28  30 29 3a 56 41 52 53 21  |RS!8=X%(0):VARS!|
00008760  31 32 3d 59 25 28 30 29  3a 56 41 52 53 21 31 36  |12=Y%(0):VARS!16|
00008770  3d 4f 58 25 3a 56 41 52  53 21 32 30 3d 4f 59 25  |=OX%:VARS!20=OY%|
00008780  3a 56 41 52 53 21 32 34  3d 42 54 43 25 3a 56 41  |:VARS!24=BTC%:VA|
00008790  52 53 21 32 38 3d 54 54  42 25 3a 56 41 52 53 21  |RS!28=TTB%:VARS!|
000087a0  33 32 3d 52 45 50 53 25  3a 41 25 3d 56 41 52 53  |32=REPS%:A%=VARS|
000087b0  3a d6 20 63 6f 6c 72 65  70 3a c8 99 20 22 48 6f  |:. colrep:.. "Ho|
000087c0  75 72 67 6c 61 73 73 5f  4f 66 66 22 3a 46 55 53  |urglass_Off":FUS|
000087d0  54 25 3d 30 3a f2 66 6f  72 63 65 64 72 61 77 6d  |T%=0:.forcedrawm|
000087e0  61 69 6e 0d 1e 50 19 c9  20 33 34 3a e7 20 46 55  |ain..P.. 34:. FU|
000087f0  53 54 25 3d 30 20 8c 20  8d 44 64 5e 0d 1e 5a 83  |ST%=0 . .Dd^..Z.|
00008800  e7 20 42 55 54 25 3d 34  20 8c 20 f2 69 6e 70 69  |. BUT%=4 . .inpi|
00008810  63 3a f2 70 69 63 70 6f  73 3a f2 70 69 6d 70 6f  |c:.picpos:.pimpo|
00008820  72 74 28 4f 58 25 2c 4f  59 25 2c 33 29 3a f2 70  |rt(OX%,OY%,3):.p|
00008830  69 6d 70 6f 72 74 28 58  25 2c 59 25 2c 30 29 3a  |import(X%,Y%,0):|
00008840  4f 58 25 3d 58 25 3a 4f  59 25 3d 59 25 3a f2 70  |OX%=X%:OY%=Y%:.p|
00008850  69 6d 70 6f 72 74 28 4f  58 25 2c 4f 59 25 2c 33  |import(OX%,OY%,3|
00008860  29 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |):.outpic:.quick|
00008870  64 72 61 77 6d 61 69 6e  3a e5 20 8d 44 62 60 0d  |drawmain:. .Db`.|
00008880  1e 64 64 e7 20 46 55 53  54 25 3d 30 20 8c 20 46  |.dd. FUST%=0 . F|
00008890  55 53 54 25 3d 31 3a f2  70 69 63 70 6f 73 3a 4f  |UST%=1:.picpos:O|
000088a0  58 25 3d 58 25 3a 4f 59  25 3d 59 25 3a f2 69 6e  |X%=X%:OY%=Y%:.in|
000088b0  70 69 63 3a f2 70 69 6d  70 6f 72 74 28 58 25 2c  |pic:.pimport(X%,|
000088c0  59 25 2c 33 29 3a f2 6f  75 74 70 69 63 3a f2 71  |Y%,3):.outpic:.q|
000088d0  75 69 63 6b 64 72 61 77  6d 61 69 6e 3a e5 20 8d  |uickdrawmain:. .|
000088e0  44 62 60 0d 1e 6e 26 f2  70 69 63 70 6f 73 3a e7  |Db`..n&.picpos:.|
000088f0  20 58 25 3d 4f 58 25 20  80 20 59 25 3d 4f 59 25  | X%=OX% . Y%=OY%|
00008900  20 8c 20 e5 20 8d 44 62  60 0d 1e 78 55 f2 69 6e  | . . .Db`..xU.in|
00008910  70 69 63 3a f2 70 69 6d  70 6f 72 74 28 4f 58 25  |pic:.pimport(OX%|
00008920  2c 4f 59 25 2c 33 29 3a  4f 58 25 3d 58 25 3a 4f  |,OY%,3):OX%=X%:O|
00008930  59 25 3d 59 25 3a f2 70  69 6d 70 6f 72 74 28 58  |Y%=Y%:.pimport(X|
00008940  25 2c 59 25 2c 33 29 3a  f2 6f 75 74 70 69 63 3a  |%,Y%,3):.outpic:|
00008950  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 0d 1e  |.quickdrawmain..|
00008960  82 28 c9 20 33 35 3a e7  20 46 55 53 54 25 3c 32  |.(. 35:. FUST%<2|
00008970  20 8c 20 f2 67 72 61 62  70 6f 6c 6c 28 30 29 3a  | . .grabpoll(0):|
00008980  e5 20 8d 44 62 60 0d 1e  8c 7f e7 20 46 55 53 54  |. .Db`..... FUST|
00008990  25 3d 32 20 8c 20 f2 63  6c 6f 73 65 77 69 6e 64  |%=2 . .closewind|
000089a0  28 38 29 3a f2 69 6e 70  69 63 3a f2 70 69 63 70  |(8):.inpic:.picp|
000089b0  6f 73 3a f2 70 67 72 61  62 28 4f 58 25 2c 4f 59  |os:.pgrab(OX%,OY|
000089c0  25 2c 33 29 3a 4f 58 25  3d 58 25 3a 4f 59 25 3d  |%,3):OX%=X%:OY%=|
000089d0  59 25 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |Y%:.outpic:.quic|
000089e0  6b 64 72 61 77 6d 61 69  6e 3a 46 55 53 54 25 3d  |kdrawmain:FUST%=|
000089f0  33 3a f2 6f 70 65 6e 77  69 6e 64 28 37 29 3a e5  |3:.openwind(7):.|
00008a00  20 8d 44 62 60 0d 1e 96  6c c9 20 33 36 3a e7 20  | .Db`...l. 36:. |
00008a10  46 55 53 54 25 3d 30 20  8c 20 f2 70 69 63 70 6f  |FUST%=0 . .picpo|
00008a20  73 3a f2 69 6e 70 69 63  3a f2 65 6f 63 3a c8 93  |s:.inpic:.eoc:..|
00008a30  20 58 25 2c 59 25 2c 46  52 57 25 2a 32 2c 46 52  | X%,Y%,FRW%*2,FR|
00008a40  48 25 2a 34 3a f2 6f 75  74 70 69 63 3a f2 71 75  |H%*4:.outpic:.qu|
00008a50  69 63 6b 64 72 61 77 6d  61 69 6e 3a 4f 58 25 3d  |ickdrawmain:OX%=|
00008a60  58 25 3a 4f 59 25 3d 59  25 3a 46 55 53 54 25 3d  |X%:OY%=Y%:FUST%=|
00008a70  31 0d 1e a0 84 f2 70 69  63 70 6f 73 3a e7 20 58  |1.....picpos:. X|
00008a80  25 3c 3e 4f 58 25 20 84  20 59 25 3c 3e 4f 59 25  |%<>OX% . Y%<>OY%|
00008a90  20 8c 20 f2 69 6e 70 69  63 3a f2 65 6f 63 3a c8  | . .inpic:.eoc:.|
00008aa0  93 20 4f 58 25 2c 4f 59  25 2c 46 52 57 25 2a 32  |. OX%,OY%,FRW%*2|
00008ab0  2c 46 52 48 25 2a 34 3a  4f 58 25 3d 58 25 3a 4f  |,FRH%*4:OX%=X%:O|
00008ac0  59 25 3d 59 25 3a c8 93  20 4f 58 25 2c 4f 59 25  |Y%=Y%:.. OX%,OY%|
00008ad0  2c 46 52 57 25 2a 32 2c  46 52 48 25 2a 34 3a f2  |,FRW%*2,FRH%*4:.|
00008ae0  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
00008af0  77 6d 61 69 6e 0d 1e aa  14 e7 20 42 55 54 25 3c  |wmain..... BUT%<|
00008b00  3e 34 20 8c 20 8d 44 62  60 0d 1e b4 7e f2 69 6e  |>4 . .Db`...~.in|
00008b10  70 69 63 3a f2 65 6f 63  3a c8 93 20 4f 58 25 2c  |pic:.eoc:.. OX%,|
00008b20  4f 59 25 2c 46 52 57 25  2a 32 2c 46 52 48 25 2a  |OY%,FRW%*2,FRH%*|
00008b30  34 3a f2 73 65 74 63 6f  6c 3a c8 93 20 4f 58 25  |4:.setcol:.. OX%|
00008b40  2c 4f 59 25 2c 46 52 57  25 2a 32 2c 46 52 48 25  |,OY%,FRW%*2,FRH%|
00008b50  2a 34 3a f2 65 6f 63 3a  c8 93 20 4f 58 25 2c 4f  |*4:.eoc:.. OX%,O|
00008b60  59 25 2c 46 52 57 25 2a  32 2c 46 52 48 25 2a 34  |Y%,FRW%*2,FRH%*4|
00008b70  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
00008b80  72 61 77 6d 61 69 6e 0d  1e be 25 c9 20 33 38 3a  |rawmain...%. 38:|
00008b90  e7 20 46 55 53 54 25 3c  32 20 8c 20 f2 72 65 63  |. FUST%<2 . .rec|
00008ba0  74 70 6f 6c 6c 3a e5 20  8d 44 62 60 0d 1e c8 3e  |tpoll:. .Db`...>|
00008bb0  f2 73 77 61 70 63 6f 72  6e 73 3a 46 4d 49 4e 58  |.swapcorns:FMINX|
00008bc0  25 3d 58 25 28 30 29 3a  46 4d 49 4e 59 25 3d 59  |%=X%(0):FMINY%=Y|
00008bd0  25 28 30 29 3a 46 4d 41  58 58 25 3d 4f 58 25 3a  |%(0):FMAXX%=OX%:|
00008be0  46 4d 41 58 59 25 3d 4f  59 25 0d 1e d2 8d c8 99  |FMAXY%=OY%......|
00008bf0  20 22 48 6f 75 72 67 6c  61 73 73 5f 4f 6e 22 3a  | "Hourglass_On":|
00008c00  21 56 41 52 53 3d 50 49  43 25 3a 56 41 52 53 21  |!VARS=PIC%:VARS!|
00008c10  34 3d 50 49 43 25 3a 56  41 52 53 21 38 3d 58 25  |4=PIC%:VARS!8=X%|
00008c20  28 30 29 3a 56 41 52 53  21 31 32 3d 59 25 28 30  |(0):VARS!12=Y%(0|
00008c30  29 3a 56 41 52 53 21 31  36 3d 4f 58 25 3a 56 41  |):VARS!16=OX%:VA|
00008c40  52 53 21 32 30 3d 4f 59  25 3a 56 41 52 53 21 32  |RS!20=OY%:VARS!2|
00008c50  34 3d 54 52 41 53 50 25  3a 56 41 52 53 21 32 38  |4=TRASP%:VARS!28|
00008c60  3d 42 54 43 25 3a 56 41  52 53 21 33 32 3d 54 52  |=BTC%:VARS!32=TR|
00008c70  41 4e 53 54 41 42 25 0d  1e dc 40 52 57 25 3d bb  |ANSTAB%...@RW%=.|
00008c80  a4 67 65 74 69 63 6f 6e  28 32 31 2c 34 29 3a 47  |.geticon(21,4):G|
00008c90  57 25 3d bb a4 67 65 74  69 63 6f 6e 28 32 31 2c  |W%=..geticon(21,|
00008ca0  37 29 3a 42 57 25 3d bb  a4 67 65 74 69 63 6f 6e  |7):BW%=..geticon|
00008cb0  28 32 31 2c 31 30 29 0d  1e e6 3b e3 4c 25 3d 30  |(21,10)...;.L%=0|
00008cc0  20 b8 20 32 35 35 3a c8  99 20 22 43 6f 6c 6f 75  | . 255:.. "Colou|
00008cd0  72 54 72 61 6e 73 5f 43  6f 6c 6f 75 72 4e 75 6d  |rTrans_ColourNum|
00008ce0  62 65 72 54 6f 47 43 4f  4c 22 2c 4c 25 20 b8 20  |berToGCOL",L% . |
00008cf0  47 25 0d 1e f0 65 52 43  25 3d 28 28 47 25 80 25  |G%...eRC%=((G%.%|
00008d00  31 31 31 31 29 2a 52 57  25 29 81 31 30 30 3a 47  |1111)*RW%).100:G|
00008d10  43 25 3d 28 28 28 28 47  25 80 34 38 29 3e 3e 32  |C%=((((G%.48)>>2|
00008d20  29 2b 28 47 25 80 33 29  29 2a 47 57 25 29 81 31  |)+(G%.3))*GW%).1|
00008d30  30 30 3a 42 43 25 3d 28  28 28 28 47 25 80 31 39  |00:BC%=((((G%.19|
00008d40  32 29 3e 3e 34 29 2b 28  47 25 80 33 29 29 2a 42  |2)>>4)+(G%.3))*B|
00008d50  57 25 29 81 31 30 30 0d  1e fa 15 e7 20 52 43 25  |W%).100..... RC%|
00008d60  3e 31 35 20 8c 20 52 43  25 3d 31 35 0d 1f 04 15  |>15 . RC%=15....|
00008d70  e7 20 47 43 25 3e 31 35  20 8c 20 47 43 25 3d 31  |. GC%>15 . GC%=1|
00008d80  35 0d 1f 0e 15 e7 20 42  43 25 3e 31 35 20 8c 20  |5..... BC%>15 . |
00008d90  42 43 25 3d 31 35 0d 1f  18 7f 54 43 25 3d 28 28  |BC%=15....TC%=((|
00008da0  28 52 43 25 80 33 29 2b  28 47 43 25 80 33 29 2b  |(RC%.3)+(GC%.3)+|
00008db0  28 42 43 25 80 33 29 29  81 33 29 3a 54 43 25 3d  |(BC%.3)).3):TC%=|
00008dc0  54 43 25 2b 28 52 43 25  80 31 32 29 2b 28 28 47  |TC%+(RC%.12)+((G|
00008dd0  43 25 80 31 32 29 3c 3c  32 29 2b 28 28 42 43 25  |C%.12)<<2)+((BC%|
00008de0  80 31 32 29 3c 3c 34 29  3a c8 99 22 43 6f 6c 6f  |.12)<<4):.."Colo|
00008df0  75 72 54 72 61 6e 73 5f  47 43 4f 4c 54 6f 43 6f  |urTrans_GCOLToCo|
00008e00  6c 6f 75 72 4e 75 6d 62  65 72 22 2c 54 43 25 20  |lourNumber",TC% |
00008e10  b8 20 54 43 25 0d 1f 22  16 54 52 41 4e 53 54 41  |. TC%..".TRANSTA|
00008e20  42 25 3f 4c 25 3d 54 43  25 3a ed 0d 1f 2c 41 41  |B%?L%=TC%:...,AA|
00008e30  25 3d 56 41 52 53 3a d6  20 74 72 61 6e 73 61 72  |%=VARS:. transar|
00008e40  65 61 3a c8 99 20 22 48  6f 75 72 67 6c 61 73 73  |ea:.. "Hourglass|
00008e50  5f 4f 66 66 22 3a 46 55  53 54 25 3d 30 3a f2 66  |_Off":FUST%=0:.f|
00008e60  6f 72 63 65 64 72 61 77  6d 61 69 6e 0d 1f 36 25  |orcedrawmain..6%|
00008e70  c9 20 33 39 3a e7 20 46  55 53 54 25 3c 32 20 8c  |. 39:. FUST%<2 .|
00008e80  20 f2 72 65 63 74 70 6f  6c 6c 3a e5 20 8d 44 62  | .rectpoll:. .Db|
00008e90  60 0d 1f 40 3e f2 73 77  61 70 63 6f 72 6e 73 3a  |`..@>.swapcorns:|
00008ea0  46 4d 49 4e 58 25 3d 58  25 28 30 29 3a 46 4d 49  |FMINX%=X%(0):FMI|
00008eb0  4e 59 25 3d 59 25 28 30  29 3a 46 4d 41 58 58 25  |NY%=Y%(0):FMAXX%|
00008ec0  3d 4f 58 25 3a 46 4d 41  58 59 25 3d 4f 59 25 0d  |=OX%:FMAXY%=OY%.|
00008ed0  1f 4a 8d c8 99 20 22 48  6f 75 72 67 6c 61 73 73  |.J... "Hourglass|
00008ee0  5f 4f 6e 22 3a 21 56 41  52 53 3d 50 49 43 25 3a  |_On":!VARS=PIC%:|
00008ef0  56 41 52 53 21 34 3d 50  49 43 25 3a 56 41 52 53  |VARS!4=PIC%:VARS|
00008f00  21 38 3d 58 25 28 30 29  3a 56 41 52 53 21 31 32  |!8=X%(0):VARS!12|
00008f10  3d 59 25 28 30 29 3a 56  41 52 53 21 31 36 3d 4f  |=Y%(0):VARS!16=O|
00008f20  58 25 3a 56 41 52 53 21  32 30 3d 4f 59 25 3a 56  |X%:VARS!20=OY%:V|
00008f30  41 52 53 21 32 34 3d 54  52 41 53 50 25 3a 56 41  |ARS!24=TRASP%:VA|
00008f40  52 53 21 32 38 3d 42 54  43 25 3a 56 41 52 53 21  |RS!28=BTC%:VARS!|
00008f50  33 32 3d 54 52 41 4e 53  54 41 42 25 0d 1f 54 78  |32=TRANSTAB%..Tx|
00008f60  52 57 25 3d bb a4 67 65  74 69 63 6f 6e 28 32 32  |RW%=..geticon(22|
00008f70  2c 34 29 3a 47 57 25 3d  bb a4 67 65 74 69 63 6f  |,4):GW%=..getico|
00008f80  6e 28 32 32 2c 37 29 3a  42 57 25 3d bb a4 67 65  |n(22,7):BW%=..ge|
00008f90  74 69 63 6f 6e 28 32 32  2c 31 30 29 3a e3 4c 25  |ticon(22,10):.L%|
00008fa0  3d 30 20 b8 20 32 35 35  3a c8 99 20 22 43 6f 6c  |=0 . 255:.. "Col|
00008fb0  6f 75 72 54 72 61 6e 73  5f 43 6f 6c 6f 75 72 4e  |ourTrans_ColourN|
00008fc0  75 6d 62 65 72 54 6f 47  43 4f 4c 22 2c 4c 25 20  |umberToGCOL",L% |
00008fd0  b8 20 47 25 0d 1f 5e 53  52 43 25 3d 28 47 25 80  |. G%..^SRC%=(G%.|
00008fe0  25 31 31 31 31 29 2a 52  57 25 3a 47 43 25 3d 28  |%1111)*RW%:GC%=(|
00008ff0  28 28 47 25 80 34 38 29  3e 3e 32 29 2b 28 47 25  |((G%.48)>>2)+(G%|
00009000  80 33 29 29 2a 47 57 25  3a 42 43 25 3d 28 28 28  |.3))*GW%:BC%=(((|
00009010  47 25 80 31 39 32 29 3e  3e 34 29 2b 28 47 25 80  |G%.192)>>4)+(G%.|
00009020  33 29 29 2a 42 57 25 0d  1f 68 2b 54 43 25 3d 28  |3))*BW%..h+TC%=(|
00009030  28 52 43 25 2b 47 43 25  2b 42 43 25 29 81 33 29  |(RC%+GC%+BC%).3)|
00009040  3a e7 20 54 43 25 3e 31  35 20 8c 20 54 43 25 3d  |:. TC%>15 . TC%=|
00009050  31 35 0d 1f 72 54 54 43  25 3d 54 43 25 2b 28 28  |15..rTTC%=TC%+((|
00009060  54 43 25 80 31 32 29 3c  3c 32 29 2b 28 28 54 43  |TC%.12)<<2)+((TC|
00009070  25 80 31 32 29 3c 3c 34  29 3a c8 99 22 43 6f 6c  |%.12)<<4):.."Col|
00009080  6f 75 72 54 72 61 6e 73  5f 47 43 4f 4c 54 6f 43  |ourTrans_GCOLToC|
00009090  6f 6c 6f 75 72 4e 75 6d  62 65 72 22 2c 54 43 25  |olourNumber",TC%|
000090a0  20 b8 20 54 43 25 0d 1f  7c 16 54 52 41 4e 53 54  | . TC%..|.TRANST|
000090b0  41 42 25 3f 4c 25 3d 54  43 25 3a ed 0d 1f 86 41  |AB%?L%=TC%:....A|
000090c0  41 25 3d 56 41 52 53 3a  d6 20 74 72 61 6e 73 61  |A%=VARS:. transa|
000090d0  72 65 61 3a c8 99 20 22  48 6f 75 72 67 6c 61 73  |rea:.. "Hourglas|
000090e0  73 5f 4f 66 66 22 3a 46  55 53 54 25 3d 30 3a f2  |s_Off":FUST%=0:.|
000090f0  66 6f 72 63 65 64 72 61  77 6d 61 69 6e 0d 1f 90  |forcedrawmain...|
00009100  25 c9 20 34 30 3a e7 20  46 55 53 54 25 3c 32 20  |%. 40:. FUST%<2 |
00009110  8c 20 f2 72 65 63 74 70  6f 6c 6c 3a e5 20 8d 44  |. .rectpoll:. .D|
00009120  62 60 0d 1f 9a 3e f2 73  77 61 70 63 6f 72 6e 73  |b`...>.swapcorns|
00009130  3a 46 4d 49 4e 58 25 3d  58 25 28 30 29 3a 46 4d  |:FMINX%=X%(0):FM|
00009140  49 4e 59 25 3d 59 25 28  30 29 3a 46 4d 41 58 58  |INY%=Y%(0):FMAXX|
00009150  25 3d 4f 58 25 3a 46 4d  41 58 59 25 3d 4f 59 25  |%=OX%:FMAXY%=OY%|
00009160  0d 1f a4 45 50 57 25 3d  bb a4 67 65 74 69 63 6f  |...EPW%=..getico|
00009170  6e 28 32 33 2c 33 29 2a  32 3a 50 48 25 3d bb a4  |n(23,3)*2:PH%=..|
00009180  67 65 74 69 63 6f 6e 28  32 33 2c 36 29 2a 34 3a  |geticon(23,6)*4:|
00009190  50 4f 58 25 3d 50 57 25  81 32 3a 50 4f 59 25 3d  |POX%=PW%.2:POY%=|
000091a0  50 48 25 81 32 0d 1f ae  41 58 50 25 3d 46 4d 49  |PH%.2...AXP%=FMI|
000091b0  4e 58 25 3a 59 50 25 3d  46 4d 49 4e 59 25 3a f2  |NX%:YP%=FMINY%:.|
000091c0  69 6e 70 69 63 3a ef 32  34 2c 46 4d 49 4e 58 25  |inpic:.24,FMINX%|
000091d0  3b 46 4d 49 4e 59 25 3b  46 4d 41 58 58 25 3b 46  |;FMINY%;FMAXX%;F|
000091e0  4d 41 58 59 25 3b 0d 1f  b8 15 c8 99 20 22 48 6f  |MAXY%;...... "Ho|
000091f0  75 72 67 6c 61 73 73 5f  4f 6e 22 0d 1f c2 af f5  |urglass_On".....|
00009200  3a f5 3a e6 20 55 53 45  25 2c b0 58 50 25 2b 50  |:.:. USE%,.XP%+P|
00009210  4f 58 25 2c 59 50 25 2b  50 4f 59 25 29 20 c8 9c  |OX%,YP%+POY%) ..|
00009220  20 c8 9c 28 58 50 25 2b  50 4f 58 25 2c 59 50 25  | ..(XP%+POX%,YP%|
00009230  2b 50 4f 59 25 29 3a c8  93 20 c8 90 20 58 50 25  |+POY%):.. .. XP%|
00009240  2c 59 50 25 2c 50 57 25  2d 32 2c 50 48 25 2d 34  |,YP%,PW%-2,PH%-4|
00009250  3a 58 50 25 2b 3d 50 57  25 3a fd 20 58 50 25 3e  |:XP%+=PW%:. XP%>|
00009260  46 4d 41 58 58 25 3a 58  50 25 3d 46 4d 49 4e 58  |FMAXX%:XP%=FMINX|
00009270  25 3a 59 50 25 2b 3d 50  48 25 3a fd 20 59 50 25  |%:YP%+=PH%:. YP%|
00009280  3e 46 4d 41 58 59 25 3a  ef 32 36 3a f2 6f 75 74  |>FMAXY%:.26:.out|
00009290  70 69 63 3a f2 66 6f 72  63 65 64 72 61 77 6d 61  |pic:.forcedrawma|
000092a0  69 6e 3a 46 55 53 54 25  3d 30 0d 1f cc 16 c8 99  |in:FUST%=0......|
000092b0  20 22 48 6f 75 72 67 6c  61 73 73 5f 4f 66 66 22  | "Hourglass_Off"|
000092c0  0d 1f d6 25 c9 20 34 31  3a e7 20 46 55 53 54 25  |...%. 41:. FUST%|
000092d0  3c 32 20 8c 20 f2 72 65  63 74 70 6f 6c 6c 3a e5  |<2 . .rectpoll:.|
000092e0  20 8d 44 62 60 0d 1f e0  e3 e7 20 46 55 53 54 25  | .Db`..... FUST%|
000092f0  3d 32 20 8c 20 f2 73 77  61 70 63 6f 72 6e 73 3a  |=2 . .swapcorns:|
00009300  52 4f 54 43 58 25 3d 28  58 25 28 30 29 2b 4f 58  |ROTCX%=(X%(0)+OX|
00009310  25 29 81 32 3a 52 4f 54  43 59 25 3d 28 59 25 28  |%).2:ROTCY%=(Y%(|
00009320  30 29 2b 4f 59 25 29 81  32 3a 46 4d 49 4e 58 25  |0)+OY%).2:FMINX%|
00009330  3d 58 25 28 30 29 2d 52  4f 54 43 58 25 3a 46 4d  |=X%(0)-ROTCX%:FM|
00009340  49 4e 59 25 3d 59 25 28  30 29 2d 52 4f 54 43 59  |INY%=Y%(0)-ROTCY|
00009350  25 3a 46 4d 41 58 58 25  3d 4f 58 25 2d 52 4f 54  |%:FMAXX%=OX%-ROT|
00009360  43 58 25 3a 46 4d 41 58  59 25 3d 4f 59 25 2d 52  |CX%:FMAXY%=OY%-R|
00009370  4f 54 43 59 25 3a f2 70  69 63 70 6f 73 3a f2 69  |OTCY%:.picpos:.i|
00009380  6e 70 69 63 3a f2 70 72  6f 74 62 6f 78 28 58 25  |npic:.protbox(X%|
00009390  2c 59 25 29 3a f2 6f 75  74 70 69 63 3a 4f 58 25  |,Y%):.outpic:OX%|
000093a0  3d 58 25 3a 4f 59 25 3d  59 25 3a f2 71 75 69 63  |=X%:OY%=Y%:.quic|
000093b0  6b 64 72 61 77 6d 61 69  6e 3a 46 55 53 54 25 3d  |kdrawmain:FUST%=|
000093c0  33 3a e5 20 8d 44 62 60  0d 1f ea 26 f2 70 69 63  |3:. .Db`...&.pic|
000093d0  70 6f 73 3a e7 20 42 55  54 25 3d 31 20 84 20 42  |pos:. BUT%=1 . B|
000093e0  55 54 25 3d 34 20 8c 20  e5 20 8d 64 7e 5f 0d 1f  |UT%=4 . . .d~_..|
000093f0  f4 77 e7 20 58 25 3c 3e  4f 58 25 20 84 20 59 25  |.w. X%<>OX% . Y%|
00009400  3c 3e 4f 59 25 20 8c 20  f2 69 6e 70 69 63 3a f2  |<>OY% . .inpic:.|
00009410  70 72 6f 74 62 6f 78 28  4f 58 25 2c 4f 59 25 29  |protbox(OX%,OY%)|
00009420  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a f2  |:OX%=X%:OY%=Y%:.|
00009430  70 72 6f 74 62 6f 78 28  58 25 2c 59 25 29 3a f2  |protbox(X%,Y%):.|
00009440  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
00009450  77 6d 61 69 6e 3a e5 20  8d 44 62 60 20 8b 20 e5  |wmain:. .Db` . .|
00009460  20 8d 44 62 60 0d 1f fe  4d e7 20 42 55 54 25 3d  | .Db`...M. BUT%=|
00009470  31 20 8c 20 f2 69 6e 70  69 63 3a f2 70 72 6f 74  |1 . .inpic:.prot|
00009480  62 6f 78 28 4f 58 25 2c  4f 59 25 29 3a f2 6f 75  |box(OX%,OY%):.ou|
00009490  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
000094a0  61 69 6e 3a 46 55 53 54  25 3d 30 3a e5 20 8d 44  |ain:FUST%=0:. .D|
000094b0  62 60 0d 20 08 32 f2 69  6e 70 69 63 3a f2 70 72  |b`. .2.inpic:.pr|
000094c0  6f 74 62 6f 78 28 4f 58  25 2c 4f 59 25 29 3a f2  |otbox(OX%,OY%):.|
000094d0  6f 75 74 70 69 63 3a 58  25 3d 4f 58 25 3a 59 25  |outpic:X%=OX%:Y%|
000094e0  3d 4f 59 25 0d 20 12 35  46 55 53 54 25 3d 34 3a  |=OY%. .5FUST%=4:|
000094f0  f2 73 70 69 6e 69 74 3a  f2 73 70 62 75 66 28 31  |.spinit:.spbuf(1|
00009500  34 35 2a 31 30 32 34 29  3a e7 20 51 25 20 8c 20  |45*1024):. Q% . |
00009510  f2 73 70 62 75 66 65 72  72 0d 20 1c b0 f2 62 61  |.spbuferr. ...ba|
00009520  63 6b 75 70 70 69 63 3a  f2 69 6e 62 61 63 6b 75  |ckuppic:.inbacku|
00009530  70 3a 52 25 3d 52 4f 54  25 3a f2 72 6f 74 70 6f  |p:R%=ROT%:.rotpo|
00009540  69 6e 74 28 46 4d 49 4e  58 25 2c 46 4d 49 4e 59  |int(FMINX%,FMINY|
00009550  25 2c 52 25 2c 58 31 25  2c 59 31 25 29 3a f2 72  |%,R%,X1%,Y1%):.r|
00009560  6f 74 70 6f 69 6e 74 28  46 4d 41 58 58 25 2c 46  |otpoint(FMAXX%,F|
00009570  4d 49 4e 59 25 2c 52 25  2c 58 32 25 2c 59 32 25  |MINY%,R%,X2%,Y2%|
00009580  29 3a f2 72 6f 74 70 6f  69 6e 74 28 46 4d 41 58  |):.rotpoint(FMAX|
00009590  58 25 2c 46 4d 41 58 59  25 2c 52 25 2c 58 33 25  |X%,FMAXY%,R%,X3%|
000095a0  2c 59 33 25 29 3a f2 72  6f 74 70 6f 69 6e 74 28  |,Y3%):.rotpoint(|
000095b0  46 4d 49 4e 58 25 2c 46  4d 41 58 59 25 2c 52 25  |FMINX%,FMAXY%,R%|
000095c0  2c 58 34 25 2c 59 34 25  29 0d 20 26 51 f2 72 6f  |,X4%,Y4%). &Q.ro|
000095d0  74 70 6f 69 6e 74 28 30  2c 28 46 4d 41 58 59 25  |tpoint(0,(FMAXY%|
000095e0  81 33 29 2a 32 2c 52 25  2c 4d 58 31 25 2c 4d 59  |.3)*2,R%,MX1%,MY|
000095f0  31 25 29 3a f2 72 6f 74  70 6f 69 6e 74 28 30 2c  |1%):.rotpoint(0,|
00009600  28 46 4d 41 58 59 25 81  33 29 2a 34 2c 52 25 2c  |(FMAXY%.3)*4,R%,|
00009610  4d 58 32 25 2c 4d 59 32  25 29 0d 20 30 23 58 31  |MX2%,MY2%). 0#X1|
00009620  25 2b 3d 58 25 3a 58 32  25 2b 3d 58 25 3a 58 33  |%+=X%:X2%+=X%:X3|
00009630  25 2b 3d 58 25 3a 58 34  25 2b 3d 58 25 0d 20 3a  |%+=X%:X4%+=X%. :|
00009640  23 59 31 25 2b 3d 59 25  3a 59 32 25 2b 3d 59 25  |#Y1%+=Y%:Y2%+=Y%|
00009650  3a 59 33 25 2b 3d 59 25  3a 59 34 25 2b 3d 59 25  |:Y3%+=Y%:Y4%+=Y%|
00009660  0d 20 44 59 f2 65 6f 63  3a f0 34 2c 58 31 25 2c  |. DY.eoc:.4,X1%,|
00009670  59 31 25 3a f0 34 2c 58  32 25 2c 59 32 25 3a f0  |Y1%:.4,X2%,Y2%:.|
00009680  38 35 2c 58 33 25 2c 59  33 25 3a e6 33 2c 36 30  |85,X3%,Y3%:.3,60|
00009690  20 c8 9c 20 31 39 32 3a  f0 34 2c 58 34 25 2c 59  | .. 192:.4,X4%,Y|
000096a0  34 25 3a f0 38 35 2c 58  31 25 2c 59 31 25 3a f2  |4%:.85,X1%,Y1%:.|
000096b0  6f 75 74 62 61 63 6b 75  70 0d 20 4e ca 41 25 3d  |outbackup. N.A%=|
000096c0  56 41 52 53 3a 56 41 52  53 21 34 3d 50 49 43 25  |VARS:VARS!4=PIC%|
000096d0  3a 56 41 52 53 21 38 3d  53 50 42 55 46 25 3a 56  |:VARS!8=SPBUF%:V|
000096e0  41 52 53 21 31 32 3d 52  4f 54 54 41 42 25 3a 56  |ARS!12=ROTTAB%:V|
000096f0  41 52 53 21 31 36 3d 28  33 36 30 2d 52 4f 54 25  |ARS!16=(360-ROT%|
00009700  29 83 33 36 30 3a 56 41  52 53 21 32 30 3d 42 54  |).360:VARS!20=BT|
00009710  43 25 3a 56 41 52 53 21  32 34 3d 54 52 41 53 50  |C%:VARS!24=TRASP|
00009720  25 3a 56 41 52 53 21 32  38 3d 58 25 3a 56 41 52  |%:VARS!28=X%:VAR|
00009730  53 21 33 32 3d 59 25 3a  56 41 52 53 21 33 36 3d  |S!32=Y%:VARS!36=|
00009740  52 4f 54 43 58 25 3a 56  41 52 53 21 34 30 3d 52  |ROTCX%:VARS!40=R|
00009750  4f 54 43 59 25 3a c8 99  20 22 48 6f 75 72 67 6c  |OTCY%:.. "Hourgl|
00009760  61 73 73 5f 4f 6e 22 3a  d6 20 72 6f 74 61 74 65  |ass_On":. rotate|
00009770  3a c8 99 20 22 48 6f 75  72 67 6c 61 73 73 5f 4f  |:.. "Hourglass_O|
00009780  66 66 22 0d 20 58 66 f2  69 6e 70 69 63 3a c8 99  |ff". Xf.inpic:..|
00009790  26 32 45 2c 32 39 30 2c  53 50 42 55 46 25 2c 22  |&2E,290,SPBUF%,"|
000097a0  50 49 43 22 3a f2 70 72  6f 74 62 6f 78 28 58 25  |PIC":.protbox(X%|
000097b0  2c 59 25 29 3a 46 55 53  54 25 3d 33 3a 4f 58 25  |,Y%):FUST%=3:OX%|
000097c0  3d 58 25 3a 4f 59 25 3d  59 25 3a f2 6f 75 74 70  |=X%:OY%=Y%:.outp|
000097d0  69 63 3a f2 66 6f 72 63  65 64 72 61 77 6d 61 69  |ic:.forcedrawmai|
000097e0  6e 3a f2 73 70 69 6e 69  74 0d 20 62 05 cb 0d 20  |n:.spinit. b... |
000097f0  6c 05 e1 0d 20 76 04 0d  20 80 b3 dd f2 70 72 6f  |l... v.. ....pro|
00009800  74 62 6f 78 28 43 58 25  2c 43 59 25 29 3a f2 65  |tbox(CX%,CY%):.e|
00009810  6f 63 3a 52 25 3d 52 4f  54 25 3a f2 72 6f 74 70  |oc:R%=ROT%:.rotp|
00009820  6f 69 6e 74 28 46 4d 49  4e 58 25 2c 46 4d 49 4e  |oint(FMINX%,FMIN|
00009830  59 25 2c 52 25 2c 58 31  25 2c 59 31 25 29 3a f2  |Y%,R%,X1%,Y1%):.|
00009840  72 6f 74 70 6f 69 6e 74  28 46 4d 41 58 58 25 2c  |rotpoint(FMAXX%,|
00009850  46 4d 49 4e 59 25 2c 52  25 2c 58 32 25 2c 59 32  |FMINY%,R%,X2%,Y2|
00009860  25 29 3a f2 72 6f 74 70  6f 69 6e 74 28 46 4d 41  |%):.rotpoint(FMA|
00009870  58 58 25 2c 46 4d 41 58  59 25 2c 52 25 2c 58 33  |XX%,FMAXY%,R%,X3|
00009880  25 2c 59 33 25 29 3a f2  72 6f 74 70 6f 69 6e 74  |%,Y3%):.rotpoint|
00009890  28 46 4d 49 4e 58 25 2c  46 4d 41 58 59 25 2c 52  |(FMINX%,FMAXY%,R|
000098a0  25 2c 58 34 25 2c 59 34  25 29 0d 20 8a 51 f2 72  |%,X4%,Y4%). .Q.r|
000098b0  6f 74 70 6f 69 6e 74 28  30 2c 28 46 4d 41 58 59  |otpoint(0,(FMAXY|
000098c0  25 81 33 29 2a 32 2c 52  25 2c 4d 58 31 25 2c 4d  |%.3)*2,R%,MX1%,M|
000098d0  59 31 25 29 3a f2 72 6f  74 70 6f 69 6e 74 28 30  |Y1%):.rotpoint(0|
000098e0  2c 28 46 4d 41 58 59 25  81 33 29 2a 34 2c 52 25  |,(FMAXY%.3)*4,R%|
000098f0  2c 4d 58 32 25 2c 4d 59  32 25 29 0d 20 94 27 58  |,MX2%,MY2%). .'X|
00009900  31 25 2b 3d 43 58 25 3a  58 32 25 2b 3d 43 58 25  |1%+=CX%:X2%+=CX%|
00009910  3a 58 33 25 2b 3d 43 58  25 3a 58 34 25 2b 3d 43  |:X3%+=CX%:X4%+=C|
00009920  58 25 0d 20 9e 27 59 31  25 2b 3d 43 59 25 3a 59  |X%. .'Y1%+=CY%:Y|
00009930  32 25 2b 3d 43 59 25 3a  59 33 25 2b 3d 43 59 25  |2%+=CY%:Y3%+=CY%|
00009940  3a 59 34 25 2b 3d 43 59  25 0d 20 a8 3a f0 34 2c  |:Y4%+=CY%. .:.4,|
00009950  58 31 25 2c 59 31 25 3a  f0 35 2c 58 32 25 2c 59  |X1%,Y1%:.5,X2%,Y|
00009960  32 25 3a f0 35 2c 58 33  25 2c 59 33 25 3a f0 35  |2%:.5,X3%,Y3%:.5|
00009970  2c 58 34 25 2c 59 34 25  3a f0 35 2c 58 31 25 2c  |,X4%,Y4%:.5,X1%,|
00009980  59 31 25 0d 20 b2 29 86  20 4d 58 31 25 2b 43 58  |Y1%. .). MX1%+CX|
00009990  25 2c 4d 59 31 25 2b 43  59 25 2c 4d 58 32 25 2b  |%,MY1%+CY%,MX2%+|
000099a0  43 58 25 2c 4d 59 32 25  2b 43 59 25 0d 20 bc 05  |CX%,MY2%+CY%. ..|
000099b0  e1 0d 20 c6 04 0d 20 d0  28 dd f2 72 6f 74 70 6f  |.. ... .(..rotpo|
000099c0  69 6e 74 28 52 30 25 2c  52 31 25 2c 52 25 2c f8  |int(R0%,R1%,R%,.|
000099d0  20 52 50 58 25 2c f8 20  52 50 59 25 29 0d 20 da  | RPX%,. RPY%). .|
000099e0  9c 52 36 25 3d 28 52 4f  54 54 41 42 25 21 28 52  |.R6%=(ROTTAB%!(R|
000099f0  25 2a 34 29 29 3e 3e 31  32 3a 52 37 25 3d 28 21  |%*4))>>12:R7%=(!|
00009a00  28 52 4f 54 54 41 42 25  2b 28 52 25 2a 34 29 2b  |(ROTTAB%+(R%*4)+|
00009a10  26 31 36 38 29 29 3e 3e  31 32 3a 52 38 25 3d 52  |&168))>>12:R8%=R|
00009a20  30 25 2a 52 36 25 3a 52  35 25 3d 52 31 25 2a 52  |0%*R6%:R5%=R1%*R|
00009a30  37 25 3a 52 38 25 2d 3d  52 35 25 3a 52 35 25 3d  |7%:R8%-=R5%:R5%=|
00009a40  52 31 25 2a 52 36 25 3a  52 31 25 3d 52 30 25 2a  |R1%*R6%:R1%=R0%*|
00009a50  52 37 25 3a 52 31 25 2b  3d 52 35 25 3a 52 50 58  |R7%:R1%+=R5%:RPX|
00009a60  25 3d 52 31 25 3e 3e 31  38 3a 52 50 59 25 3d 2d  |%=R1%>>18:RPY%=-|
00009a70  28 52 38 25 3e 3e 31 38  29 0d 20 e4 05 e1 0d 20  |(R8%>>18). .... |
00009a80  ee 04 0d 20 f8 13 dd a4  70 65 72 63 28 57 48 25  |... ....perc(WH%|
00009a90  2c 49 48 25 29 0d 21 02  29 49 24 3d a4 67 65 74  |,IH%).!.)I$=.get|
00009aa0  69 63 6f 6e 28 57 48 25  2c 49 48 25 29 3a 3d bb  |icon(WH%,IH%):=.|
00009ab0  28 c0 49 24 2c a9 28 49  24 29 2d 31 29 29 0d 21  |(.I$,.(I$)-1)).!|
00009ac0  0c 04 0d 21 16 0d dd f2  6d 61 70 6c 69 6e 65 0d  |...!....mapline.|
00009ad0  21 20 0e c8 8e 20 46 55  43 4f 25 20 ca 0d 21 2a  |! ... FUCO% ..!*|
00009ae0  44 c9 20 32 3a f2 65 6f  63 3a 86 20 58 25 28 31  |D. 2:.eoc:. X%(1|
00009af0  29 2c 59 25 28 31 29 2c  4f 58 25 2c 4f 59 25 3a  |),Y%(1),OX%,OY%:|
00009b00  4f 58 25 3d 58 25 3a 4f  59 25 3d 59 25 3a 86 20  |OX%=X%:OY%=Y%:. |
00009b10  58 25 28 31 29 2c 59 25  28 31 29 2c 58 25 2c 59  |X%(1),Y%(1),X%,Y|
00009b20  25 0d 21 34 44 c9 20 33  3a f2 65 6f 63 3a 86 20  |%.!4D. 3:.eoc:. |
00009b30  58 25 28 32 29 2c 59 25  28 32 29 2c 4f 58 25 2c  |X%(2),Y%(2),OX%,|
00009b40  4f 59 25 3a 4f 58 25 3d  58 25 3a 4f 59 25 3d 59  |OY%:OX%=X%:OY%=Y|
00009b50  25 3a 86 20 58 25 28 32  29 2c 59 25 28 32 29 2c  |%:. X%(2),Y%(2),|
00009b60  58 25 2c 59 25 0d 21 3e  6e c9 20 34 3a f2 65 6f  |X%,Y%.!>n. 4:.eo|
00009b70  63 3a 86 20 58 25 28 31  29 2c 59 25 28 31 29 2c  |c:. X%(1),Y%(1),|
00009b80  4f 58 25 2c 4f 59 25 3a  86 20 58 25 28 33 29 2c  |OX%,OY%:. X%(3),|
00009b90  59 25 28 33 29 2c 4f 58  25 2c 4f 59 25 3a 4f 58  |Y%(3),OX%,OY%:OX|
00009ba0  25 3d 58 25 3a 4f 59 25  3d 59 25 3a 86 20 58 25  |%=X%:OY%=Y%:. X%|
00009bb0  28 31 29 2c 59 25 28 31  29 2c 58 25 2c 59 25 3a  |(1),Y%(1),X%,Y%:|
00009bc0  86 20 58 25 28 33 29 2c  59 25 28 33 29 2c 58 25  |. X%(3),Y%(3),X%|
00009bd0  2c 59 25 0d 21 48 44 c9  20 36 3a f2 65 6f 63 3a  |,Y%.!HD. 6:.eoc:|
00009be0  86 20 58 25 28 35 29 2c  59 25 28 35 29 2c 4f 58  |. X%(5),Y%(5),OX|
00009bf0  25 2c 4f 59 25 3a 4f 58  25 3d 58 25 3a 4f 59 25  |%,OY%:OX%=X%:OY%|
00009c00  3d 59 25 3a 86 20 58 25  28 35 29 2c 59 25 28 35  |=Y%:. X%(5),Y%(5|
00009c10  29 2c 58 25 2c 59 25 0d  21 52 44 c9 20 37 3a f2  |),X%,Y%.!RD. 7:.|
00009c20  65 6f 63 3a 86 20 58 25  28 36 29 2c 59 25 28 36  |eoc:. X%(6),Y%(6|
00009c30  29 2c 4f 58 25 2c 4f 59  25 3a 4f 58 25 3d 58 25  |),OX%,OY%:OX%=X%|
00009c40  3a 4f 59 25 3d 59 25 3a  86 20 58 25 28 36 29 2c  |:OY%=Y%:. X%(6),|
00009c50  59 25 28 36 29 2c 58 25  2c 59 25 0d 21 5c 6e c9  |Y%(6),X%,Y%.!\n.|
00009c60  20 38 3a f2 65 6f 63 3a  86 20 58 25 28 35 29 2c  | 8:.eoc:. X%(5),|
00009c70  59 25 28 35 29 2c 4f 58  25 2c 4f 59 25 3a 86 20  |Y%(5),OX%,OY%:. |
00009c80  58 25 28 37 29 2c 59 25  28 37 29 2c 4f 58 25 2c  |X%(7),Y%(7),OX%,|
00009c90  4f 59 25 3a 4f 58 25 3d  58 25 3a 4f 59 25 3d 59  |OY%:OX%=X%:OY%=Y|
00009ca0  25 3a 86 20 58 25 28 35  29 2c 59 25 28 35 29 2c  |%:. X%(5),Y%(5),|
00009cb0  58 25 2c 59 25 3a 86 20  58 25 28 37 29 2c 59 25  |X%,Y%:. X%(7),Y%|
00009cc0  28 37 29 2c 58 25 2c 59  25 0d 21 66 05 cb 0d 21  |(7),X%,Y%.!f...!|
00009cd0  70 05 e1 0d 21 7a 04 0d  21 84 0e dd f2 70 69 78  |p...!z..!....pix|
00009ce0  65 6c 6d 61 70 0d 21 8e  2d f2 73 70 69 6e 69 74  |elmap.!.-.spinit|
00009cf0  3a f2 73 70 62 75 66 28  31 34 35 2a 31 30 32 34  |:.spbuf(145*1024|
00009d00  29 3a e7 20 51 25 20 8c  20 f2 73 70 62 75 66 65  |):. Q% . .spbufe|
00009d10  72 72 0d 21 98 0e f2 62  61 63 6b 75 70 70 69 63  |rr.!...backuppic|
00009d20  0d 21 a2 15 c8 99 20 22  48 6f 75 72 67 6c 61 73  |.!.... "Hourglas|
00009d30  73 5f 4f 6e 22 0d 21 ac  2b 64 73 74 61 3d b6 28  |s_On".!.+dsta=.(|
00009d40  28 58 25 28 36 29 2d 58  25 28 35 29 29 5e 32 2b  |(X%(6)-X%(5))^2+|
00009d50  28 59 25 28 35 29 2d 59  25 28 36 29 29 5e 32 29  |(Y%(5)-Y%(6))^2)|
00009d60  0d 21 b6 2b 64 73 74 62  3d b6 28 28 58 25 28 38  |.!.+dstb=.((X%(8|
00009d70  29 2d 58 25 28 37 29 29  5e 32 2b 28 59 25 28 37  |)-X%(7))^2+(Y%(7|
00009d80  29 2d 59 25 28 38 29 29  5e 32 29 0d 21 c0 31 e7  |)-Y%(8))^2).!.1.|
00009d90  20 64 73 74 61 3e 64 73  74 62 20 8c 20 73 74 65  | dsta>dstb . ste|
00009da0  70 73 25 3d 64 73 74 61  20 81 32 20 8b 20 73 74  |ps%=dsta .2 . st|
00009db0  65 70 73 25 3d 64 73 74  62 20 81 32 0d 21 ca 1d  |eps%=dstb .2.!..|
00009dc0  66 78 73 61 3d 28 58 25  28 32 29 2d 58 25 28 31  |fxsa=(X%(2)-X%(1|
00009dd0  29 29 2f 73 74 65 70 73  25 0d 21 d4 1d 66 78 73  |))/steps%.!..fxs|
00009de0  62 3d 28 58 25 28 33 29  2d 58 25 28 34 29 29 2f  |b=(X%(3)-X%(4))/|
00009df0  73 74 65 70 73 25 0d 21  de 1d 66 79 73 61 3d 28  |steps%.!..fysa=(|
00009e00  59 25 28 32 29 2d 59 25  28 31 29 29 2f 73 74 65  |Y%(2)-Y%(1))/ste|
00009e10  70 73 25 0d 21 e8 1d 66  79 73 62 3d 28 59 25 28  |ps%.!..fysb=(Y%(|
00009e20  33 29 2d 59 25 28 34 29  29 2f 73 74 65 70 73 25  |3)-Y%(4))/steps%|
00009e30  0d 21 f2 1d 74 78 73 61  3d 28 58 25 28 36 29 2d  |.!..txsa=(X%(6)-|
00009e40  58 25 28 35 29 29 2f 73  74 65 70 73 25 0d 21 fc  |X%(5))/steps%.!.|
00009e50  1d 74 78 73 62 3d 28 58  25 28 37 29 2d 58 25 28  |.txsb=(X%(7)-X%(|
00009e60  38 29 29 2f 73 74 65 70  73 25 0d 22 06 1d 74 79  |8))/steps%."..ty|
00009e70  73 61 3d 28 59 25 28 36  29 2d 59 25 28 35 29 29  |sa=(Y%(6)-Y%(5))|
00009e80  2f 73 74 65 70 73 25 0d  22 10 1d 74 79 73 62 3d  |/steps%."..tysb=|
00009e90  28 59 25 28 37 29 2d 59  25 28 38 29 29 2f 73 74  |(Y%(7)-Y%(8))/st|
00009ea0  65 70 73 25 0d 22 1a 14  e3 20 63 62 25 3d 30 20  |eps%."... cb%=0 |
00009eb0  b8 20 73 74 65 70 73 25  0d 22 24 16 66 78 61 3d  |. steps%."$.fxa=|
00009ec0  58 25 28 31 29 2b 63 62  25 2a 66 78 73 61 0d 22  |X%(1)+cb%*fxsa."|
00009ed0  2e 16 66 78 62 3d 58 25  28 34 29 2b 63 62 25 2a  |..fxb=X%(4)+cb%*|
00009ee0  66 78 73 62 0d 22 38 16  66 79 61 3d 59 25 28 31  |fxsb."8.fya=Y%(1|
00009ef0  29 2b 63 62 25 2a 66 79  73 61 0d 22 42 16 66 79  |)+cb%*fysa."B.fy|
00009f00  62 3d 59 25 28 34 29 2b  63 62 25 2a 66 79 73 62  |b=Y%(4)+cb%*fysb|
00009f10  0d 22 4c 16 74 78 61 3d  58 25 28 35 29 2b 63 62  |."L.txa=X%(5)+cb|
00009f20  25 2a 74 78 73 61 0d 22  56 16 74 78 62 3d 58 25  |%*txsa."V.txb=X%|
00009f30  28 38 29 2b 63 62 25 2a  74 78 73 62 0d 22 60 16  |(8)+cb%*txsb."`.|
00009f40  74 79 61 3d 59 25 28 35  29 2b 63 62 25 2a 74 79  |tya=Y%(5)+cb%*ty|
00009f50  73 61 0d 22 6a 16 74 79  62 3d 59 25 28 38 29 2b  |sa."j.tyb=Y%(8)+|
00009f60  63 62 25 2a 74 79 73 62  0d 22 74 46 f2 69 6e 70  |cb%*tysb."tF.inp|
00009f70  69 63 3a e6 33 2c 36 33  3a f0 36 39 2c 33 30 30  |ic:.3,63:.69,300|
00009f80  2c 33 30 30 3a f0 36 39  2c 33 30 30 2c 33 30 30  |,300:.69,300,300|
00009f90  3a f2 6d 61 70 6c 6e 3a  f2 6f 75 74 70 69 63 3a  |:.mapln:.outpic:|
00009fa0  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 0d 22  |.quickdrawmain."|
00009fb0  7e 05 ed 0d 22 88 0b f2  73 70 69 6e 69 74 0d 22  |~..."...spinit."|
00009fc0  92 16 c8 99 20 22 48 6f  75 72 67 6c 61 73 73 5f  |.... "Hourglass_|
00009fd0  4f 66 66 22 0d 22 9c 05  e1 0d 22 a6 04 0d 22 b0  |Off"."...."...".|
00009fe0  0b dd f2 6d 61 70 6c 6e  0d 22 ba 1c ea 20 6e 73  |...mapln."... ns|
00009ff0  25 2c 66 78 73 2c 66 79  73 2c 74 78 73 2c 74 79  |%,fxs,fys,txs,ty|
0000a000  73 2c 63 25 0d 22 c4 27  6e 73 25 3d 31 2b b6 28  |s,c%.".'ns%=1+.(|
0000a010  28 74 78 62 2d 74 78 61  29 5e 32 2b 28 74 79 61  |(txb-txa)^2+(tya|
0000a020  2d 74 79 62 29 5e 32 29  20 81 32 0d 22 ce 27 66  |-tyb)^2) .2.".'f|
0000a030  78 73 3d 28 66 78 62 2d  66 78 61 29 2f 6e 73 25  |xs=(fxb-fxa)/ns%|
0000a040  3a 74 78 73 3d 28 74 78  62 2d 74 78 61 29 2f 6e  |:txs=(txb-txa)/n|
0000a050  73 25 0d 22 d8 27 66 79  73 3d 28 66 79 62 2d 66  |s%.".'fys=(fyb-f|
0000a060  79 61 29 2f 6e 73 25 3a  74 79 73 3d 28 74 79 62  |ya)/ns%:tys=(tyb|
0000a070  2d 74 79 61 29 2f 6e 73  25 0d 22 e2 10 e3 20 63  |-tya)/ns%."... c|
0000a080  25 3d 30 20 b8 20 6e 73  25 0d 22 ec 5d c8 99 26  |%=0 . ns%.".]..&|
0000a090  32 45 2c 32 39 37 2c 53  50 42 55 46 25 2c 22 50  |2E,297,SPBUF%,"P|
0000a0a0  49 43 22 2c 28 66 78 61  2b 63 25 2a 66 78 73 29  |IC",(fxa+c%*fxs)|
0000a0b0  81 32 2c 28 66 79 61 2b  63 25 2a 66 79 73 29 81  |.2,(fya+c%*fys).|
0000a0c0  34 20 b8 20 2c 2c 2c 2c  2c 63 6f 6c 25 2c 74 69  |4 . ,,,,,col%,ti|
0000a0d0  6e 25 3a e6 20 55 53 45  25 2c 63 6f 6c 25 20 c8  |n%:. USE%,col% .|
0000a0e0  9c 20 74 69 6e 25 0d 22  f6 41 e7 20 54 52 41 53  |. tin%.".A. TRAS|
0000a0f0  50 25 3f a4 66 69 6e 64  70 61 6c 65 6e 74 28 63  |P%?.findpalent(c|
0000a100  6f 6c 25 2c 74 69 6e 25  29 3d 30 20 8c 20 f0 36  |ol%,tin%)=0 . .6|
0000a110  39 2c 74 78 61 2b 63 25  2a 74 78 73 2c 74 79 61  |9,txa+c%*txs,tya|
0000a120  2b 63 25 2a 74 79 73 0d  23 00 05 ed 0d 23 0a 05  |+c%*tys.#....#..|
0000a130  e1 0d 23 14 04 0d 23 1e  13 dd f2 67 72 61 62 70  |..#...#....grabp|
0000a140  6f 6c 6c 28 46 54 25 29  0d 23 28 98 e7 20 46 55  |oll(FT%).#(.. FU|
0000a150  53 54 25 3d 30 20 80 20  42 55 54 25 3c 3e 30 20  |ST%=0 . BUT%<>0 |
0000a160  8c 20 f2 70 69 63 70 6f  73 3a 58 25 28 30 29 3d  |. .picpos:X%(0)=|
0000a170  58 25 3a 59 25 28 30 29  3d 59 25 3a 46 55 53 54  |X%:Y%(0)=Y%:FUST|
0000a180  25 3d 31 3a 4f 58 25 3d  58 25 3a 4f 59 25 3d 59  |%=1:OX%=X%:OY%=Y|
0000a190  25 3a f2 69 6e 70 69 63  3a f2 65 6f 63 3a c8 93  |%:.inpic:.eoc:..|
0000a1a0  20 58 25 28 30 29 2c 59  25 28 30 29 2c 4f 58 25  | X%(0),Y%(0),OX%|
0000a1b0  2d 58 25 28 30 29 2c 4f  59 25 2d 59 25 28 30 29  |-X%(0),OY%-Y%(0)|
0000a1c0  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
0000a1d0  72 61 77 6d 61 69 6e 3a  f2 6c 65 74 67 6f 3a e1  |rawmain:.letgo:.|
0000a1e0  0d 23 32 11 e7 20 46 55  53 54 25 3d 30 20 8c 20  |.#2.. FUST%=0 . |
0000a1f0  e1 0d 23 3c 7b e7 20 42  55 54 25 3d 31 20 8c 20  |..#<{. BUT%=1 . |
0000a200  f2 69 6e 70 69 63 3a f2  65 6f 63 3a c8 93 20 58  |.inpic:.eoc:.. X|
0000a210  25 28 30 29 2c 59 25 28  30 29 2c 4f 58 25 2d 58  |%(0),Y%(0),OX%-X|
0000a220  25 28 30 29 2c 4f 59 25  2d 59 25 28 30 29 3a f2  |%(0),OY%-Y%(0):.|
0000a230  70 69 63 70 6f 73 3a 4f  58 25 3d 58 25 3a 4f 59  |picpos:OX%=X%:OY|
0000a240  25 3d 59 25 3a 46 55 53  54 25 3d 30 3a f2 6f 75  |%=Y%:FUST%=0:.ou|
0000a250  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
0000a260  61 69 6e 3a f2 6c 65 74  67 6f 3a e1 0d 23 46 30  |ain:.letgo:..#F0|
0000a270  e7 20 42 55 54 25 3c 3e  34 20 84 20 28 4f 58 25  |. BUT%<>4 . (OX%|
0000a280  3d 58 25 28 30 29 20 80  20 4f 59 25 3d 59 25 28  |=X%(0) . OY%=Y%(|
0000a290  30 29 29 20 8c 20 e5 20  8d 74 60 63 0d 23 50 b4  |0)) . . .t`c.#P.|
0000a2a0  f2 69 6e 70 69 63 3a f2  65 6f 63 3a c8 93 20 58  |.inpic:.eoc:.. X|
0000a2b0  25 28 30 29 2c 59 25 28  30 29 2c 4f 58 25 2d 58  |%(0),Y%(0),OX%-X|
0000a2c0  25 28 30 29 2c 4f 59 25  2d 59 25 28 30 29 3a f2  |%(0),OY%-Y%(0):.|
0000a2d0  70 69 63 70 6f 73 3a f2  73 70 62 75 66 28 a4 73  |picpos:.spbuf(.s|
0000a2e0  70 72 69 74 65 73 69 7a  65 28 58 25 2d 58 25 28  |pritesize(X%-X%(|
0000a2f0  30 29 2c 59 25 2d 59 25  28 30 29 2c 94 28 a4 68  |0),Y%-Y%(0),.(.h|
0000a300  69 67 68 28 38 2c 31 34  29 29 29 29 3a e7 20 51  |igh(8,14)))):. Q|
0000a310  25 20 8c 20 c8 93 20 58  25 28 30 29 2c 59 25 28  |% . .. X%(0),Y%(|
0000a320  30 29 2c 4f 58 25 2d 58  25 28 30 29 2c 4f 59 25  |0),OX%-X%(0),OY%|
0000a330  2d 59 25 28 30 29 3a f2  6f 75 74 70 69 63 3a f2  |-Y%(0):.outpic:.|
0000a340  73 70 69 6e 69 74 3a f2  73 70 62 75 66 65 72 72  |spinit:.spbuferr|
0000a350  0d 23 5a 80 47 52 4e 24  3d 22 47 52 41 42 22 3a  |.#Z.GRN$="GRAB":|
0000a360  c8 99 26 32 45 2c 32 37  32 2c 53 50 42 55 46 25  |..&2E,272,SPBUF%|
0000a370  2c 22 47 52 41 42 22 2c  2c 58 25 28 30 29 2c 59  |,"GRAB",,X%(0),Y|
0000a380  25 28 30 29 2c 58 25 2c  59 25 3a e7 20 a4 68 69  |%(0),X%,Y%:. .hi|
0000a390  67 68 28 38 2c 31 34 29  20 8c 20 c8 99 26 32 45  |gh(8,14) . ..&2E|
0000a3a0  2c 32 38 35 2c 53 50 42  55 46 25 2c 22 47 52 41  |,285,SPBUF%,"GRA|
0000a3b0  42 22 3a 47 52 41 42 4d  25 3d 38 3a f2 66 69 6c  |B":GRABM%=8:.fil|
0000a3c0  6c 6d 61 73 6b 20 8b 20  47 52 41 42 4d 25 3d 30  |lmask . GRABM%=0|
0000a3d0  0d 23 64 27 47 52 57 49  25 3d 94 28 58 25 2d 58  |.#d'GRWI%=.(X%-X|
0000a3e0  25 28 30 29 29 3a 47 52  48 45 25 3d 94 28 59 25  |%(0)):GRHE%=.(Y%|
0000a3f0  2d 59 25 28 30 29 29 0d  23 6e 1c e7 20 58 25 3c  |-Y%(0)).#n.. X%<|
0000a400  58 25 28 30 29 20 8c 20  c8 94 20 58 25 28 30 29  |X%(0) . .. X%(0)|
0000a410  2c 58 25 0d 23 78 1c e7  20 59 25 3c 59 25 28 30  |,X%.#x.. Y%<Y%(0|
0000a420  29 20 8c 20 c8 94 20 59  25 28 30 29 2c 59 25 0d  |) . .. Y%(0),Y%.|
0000a430  23 82 3a e7 20 46 54 25  3d 31 20 8c 20 c8 99 26  |#.:. FT%=1 . ..&|
0000a440  32 45 2c 32 39 30 2c 53  50 42 55 46 25 2c 22 47  |2E,290,SPBUF%,"G|
0000a450  52 41 42 22 2c 58 25 28  30 29 2c 59 25 28 30 29  |RAB",X%(0),Y%(0)|
0000a460  2c 33 2b 47 52 41 42 4d  25 0d 23 8c 13 f2 70 67  |,3+GRABM%.#...pg|
0000a470  72 61 62 28 58 25 2c 59  25 2c 33 29 0d 23 96 39  |rab(X%,Y%,3).#.9|
0000a480  4f 58 25 3d 58 25 3a 4f  59 25 3d 59 25 3a f2 6f  |OX%=X%:OY%=Y%:.o|
0000a490  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
0000a4a0  6d 61 69 6e 3a f2 6c 65  74 67 6f 3a 46 55 53 54  |main:.letgo:FUST|
0000a4b0  25 3d 32 3a e1 0d 23 a0  21 f2 70 69 63 70 6f 73  |%=2:..#.!.picpos|
0000a4c0  3a e7 20 58 25 3d 4f 58  25 20 80 20 59 25 3d 4f  |:. X%=OX% . Y%=O|
0000a4d0  59 25 20 8c 20 e1 0d 23  aa 78 f2 69 6e 70 69 63  |Y% . ..#.x.inpic|
0000a4e0  3a f2 65 6f 63 3a c8 93  20 58 25 28 30 29 2c 59  |:.eoc:.. X%(0),Y|
0000a4f0  25 28 30 29 2c 4f 58 25  2d 58 25 28 30 29 2c 4f  |%(0),OX%-X%(0),O|
0000a500  59 25 2d 59 25 28 30 29  3a 4f 58 25 3d 58 25 3a  |Y%-Y%(0):OX%=X%:|
0000a510  4f 59 25 3d 59 25 3a c8  93 20 58 25 28 30 29 2c  |OY%=Y%:.. X%(0),|
0000a520  59 25 28 30 29 2c 58 25  2d 58 25 28 30 29 2c 59  |Y%(0),X%-X%(0),Y|
0000a530  25 2d 59 25 28 30 29 3a  f2 6f 75 74 70 69 63 3a  |%-Y%(0):.outpic:|
0000a540  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 0d 23  |.quickdrawmain.#|
0000a550  b4 05 e1 0d 23 be 04 0d  23 c8 0e dd f2 72 65 63  |....#...#....rec|
0000a560  74 70 6f 6c 6c 0d 23 d2  98 e7 20 46 55 53 54 25  |tpoll.#... FUST%|
0000a570  3d 30 20 80 20 42 55 54  25 3c 3e 30 20 8c 20 f2  |=0 . BUT%<>0 . .|
0000a580  70 69 63 70 6f 73 3a 58  25 28 30 29 3d 58 25 3a  |picpos:X%(0)=X%:|
0000a590  59 25 28 30 29 3d 59 25  3a 46 55 53 54 25 3d 31  |Y%(0)=Y%:FUST%=1|
0000a5a0  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a f2  |:OX%=X%:OY%=Y%:.|
0000a5b0  69 6e 70 69 63 3a f2 65  6f 63 3a c8 93 20 58 25  |inpic:.eoc:.. X%|
0000a5c0  28 30 29 2c 59 25 28 30  29 2c 4f 58 25 2d 58 25  |(0),Y%(0),OX%-X%|
0000a5d0  28 30 29 2c 4f 59 25 2d  59 25 28 30 29 3a f2 6f  |(0),OY%-Y%(0):.o|
0000a5e0  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
0000a5f0  6d 61 69 6e 3a f2 6c 65  74 67 6f 3a e1 0d 23 dc  |main:.letgo:..#.|
0000a600  11 e7 20 46 55 53 54 25  3d 30 20 8c 20 e1 0d 23  |.. FUST%=0 . ..#|
0000a610  e6 7b e7 20 42 55 54 25  3d 31 20 8c 20 f2 69 6e  |.{. BUT%=1 . .in|
0000a620  70 69 63 3a f2 65 6f 63  3a c8 93 20 58 25 28 30  |pic:.eoc:.. X%(0|
0000a630  29 2c 59 25 28 30 29 2c  4f 58 25 2d 58 25 28 30  |),Y%(0),OX%-X%(0|
0000a640  29 2c 4f 59 25 2d 59 25  28 30 29 3a f2 70 69 63  |),OY%-Y%(0):.pic|
0000a650  70 6f 73 3a 4f 58 25 3d  58 25 3a 4f 59 25 3d 59  |pos:OX%=X%:OY%=Y|
0000a660  25 3a 46 55 53 54 25 3d  30 3a f2 6f 75 74 70 69  |%:FUST%=0:.outpi|
0000a670  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
0000a680  3a f2 6c 65 74 67 6f 3a  e1 0d 23 f0 30 e7 20 42  |:.letgo:..#.0. B|
0000a690  55 54 25 3c 3e 34 20 84  20 28 4f 58 25 3d 58 25  |UT%<>4 . (OX%=X%|
0000a6a0  28 30 29 20 80 20 4f 59  25 3d 59 25 28 30 29 29  |(0) . OY%=Y%(0))|
0000a6b0  20 8c 20 e5 20 8d 54 62  64 0d 23 fa 3a f2 69 6e  | . . .Tbd.#.:.in|
0000a6c0  70 69 63 3a f2 65 6f 63  3a c8 93 20 58 25 28 30  |pic:.eoc:.. X%(0|
0000a6d0  29 2c 59 25 28 30 29 2c  4f 58 25 2d 58 25 28 30  |),Y%(0),OX%-X%(0|
0000a6e0  29 2c 4f 59 25 2d 59 25  28 30 29 3a f2 70 69 63  |),OY%-Y%(0):.pic|
0000a6f0  70 6f 73 0d 24 04 1c e7  20 58 25 3c 58 25 28 30  |pos.$... X%<X%(0|
0000a700  29 20 8c 20 c8 94 20 58  25 28 30 29 2c 58 25 0d  |) . .. X%(0),X%.|
0000a710  24 0e 1c e7 20 59 25 3c  59 25 28 30 29 20 8c 20  |$... Y%<Y%(0) . |
0000a720  c8 94 20 59 25 28 30 29  2c 59 25 0d 24 18 39 4f  |.. Y%(0),Y%.$.9O|
0000a730  58 25 3d 58 25 3a 4f 59  25 3d 59 25 3a f2 6f 75  |X%=X%:OY%=Y%:.ou|
0000a740  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
0000a750  61 69 6e 3a f2 6c 65 74  67 6f 3a 46 55 53 54 25  |ain:.letgo:FUST%|
0000a760  3d 32 3a e1 0d 24 22 21  f2 70 69 63 70 6f 73 3a  |=2:..$"!.picpos:|
0000a770  e7 20 58 25 3d 4f 58 25  20 80 20 59 25 3d 4f 59  |. X%=OX% . Y%=OY|
0000a780  25 20 8c 20 e1 0d 24 2c  78 f2 69 6e 70 69 63 3a  |% . ..$,x.inpic:|
0000a790  f2 65 6f 63 3a c8 93 20  58 25 28 30 29 2c 59 25  |.eoc:.. X%(0),Y%|
0000a7a0  28 30 29 2c 4f 58 25 2d  58 25 28 30 29 2c 4f 59  |(0),OX%-X%(0),OY|
0000a7b0  25 2d 59 25 28 30 29 3a  4f 58 25 3d 58 25 3a 4f  |%-Y%(0):OX%=X%:O|
0000a7c0  59 25 3d 59 25 3a c8 93  20 58 25 28 30 29 2c 59  |Y%=Y%:.. X%(0),Y|
0000a7d0  25 28 30 29 2c 58 25 2d  58 25 28 30 29 2c 59 25  |%(0),X%-X%(0),Y%|
0000a7e0  2d 59 25 28 30 29 3a f2  6f 75 74 70 69 63 3a f2  |-Y%(0):.outpic:.|
0000a7f0  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 0d 24 36  |quickdrawmain.$6|
0000a800  05 e1 0d 24 40 04 0d 24  4a 18 dd f2 70 67 72 61  |...$@..$J...pgra|
0000a810  62 28 44 58 25 2c 44 59  25 2c 50 4c 25 29 0d 24  |b(DX%,DY%,PL%).$|
0000a820  54 12 58 52 3d 47 52 58  4d 25 2f 47 52 58 44 25  |T.XR=GRXM%/GRXD%|
0000a830  0d 24 5e 12 59 52 3d 47  52 59 4d 25 2f 47 52 59  |.$^.YR=GRYM%/GRY|
0000a840  44 25 0d 24 68 11 21 53  43 41 4c 45 25 3d 47 52  |D%.$h.!SCALE%=GR|
0000a850  58 4d 25 0d 24 72 12 53  43 41 4c 45 25 21 34 3d  |XM%.$r.SCALE%!4=|
0000a860  47 52 59 4d 25 0d 24 7c  12 53 43 41 4c 45 25 21  |GRYM%.$|.SCALE%!|
0000a870  38 3d 47 52 58 44 25 0d  24 86 13 53 43 41 4c 45  |8=GRXD%.$..SCALE|
0000a880  25 21 31 32 3d 47 52 59  44 25 0d 24 90 57 c8 99  |%!12=GRYD%.$.W..|
0000a890  26 32 45 2c 33 30 38 2c  53 50 42 55 46 25 2c 22  |&2E,308,SPBUF%,"|
0000a8a0  47 52 41 42 22 2c 44 58  25 2d 28 28 47 52 57 49  |GRAB",DX%-((GRWI|
0000a8b0  25 20 81 20 32 29 2a 58  52 29 2c 44 59 25 2d 28  |% . 2)*XR),DY%-(|
0000a8c0  28 47 52 48 45 25 20 81  20 32 29 2a 59 52 29 2c  |(GRHE% . 2)*YR),|
0000a8d0  50 4c 25 2b 47 52 41 42  4d 25 2c 53 43 41 4c 45  |PL%+GRABM%,SCALE|
0000a8e0  25 0d 24 9a 05 e1 0d 24  a4 04 0d 24 ae 1a dd f2  |%.$....$...$....|
0000a8f0  70 69 6d 70 6f 72 74 28  44 58 25 2c 44 59 25 2c  |pimport(DX%,DY%,|
0000a900  50 4c 25 29 0d 24 b8 21  58 52 3d 47 52 58 4d 25  |PL%).$.!XR=GRXM%|
0000a910  2f 47 52 58 44 25 3a 59  52 3d 47 52 59 4d 25 2f  |/GRXD%:YR=GRYM%/|
0000a920  47 52 59 44 25 0d 24 c2  17 49 4f 25 21 32 30 3d  |GRYD%.$..IO%!20=|
0000a930  28 21 49 4f 25 29 2a 47  52 58 4d 25 0d 24 cc 18  |(!IO%)*GRXM%.$..|
0000a940  49 4f 25 21 32 34 3d 28  49 4f 25 21 34 29 2a 47  |IO%!24=(IO%!4)*G|
0000a950  52 59 4d 25 0d 24 d6 18  49 4f 25 21 32 38 3d 28  |RYM%.$..IO%!28=(|
0000a960  49 4f 25 21 38 29 2a 47  52 58 44 25 0d 24 e0 19  |IO%!8)*GRXD%.$..|
0000a970  49 4f 25 21 33 32 3d 28  49 4f 25 21 31 32 29 2a  |IO%!32=(IO%!12)*|
0000a980  47 52 59 44 25 0d 24 ea  b1 e7 20 ac 20 47 52 4d  |GRYD%.$... . GRM|
0000a990  41 25 20 8c 20 c8 99 26  32 45 2c 33 30 38 2c 53  |A% . ..&2E,308,S|
0000a9a0  50 42 55 46 25 2c 47 52  4e 24 2c 44 58 25 2d 28  |PBUF%,GRN$,DX%-(|
0000a9b0  28 49 4d 57 25 20 81 20  32 29 2a 58 52 29 2c 44  |(IMW% . 2)*XR),D|
0000a9c0  59 25 2d 28 28 49 4d 48  25 20 81 20 32 29 2a 59  |Y%-((IMH% . 2)*Y|
0000a9d0  52 29 2c 50 4c 25 2c 49  4f 25 2b 32 30 2c 49 4d  |R),PL%,IO%+20,IM|
0000a9e0  50 54 25 20 8b 20 c8 99  26 32 45 2c 33 30 38 2c  |PT% . ..&2E,308,|
0000a9f0  53 50 42 55 46 25 2c 47  52 4e 24 2c 44 58 25 2d  |SPBUF%,GRN$,DX%-|
0000aa00  28 28 49 4d 57 25 20 81  20 32 29 2a 58 52 29 2c  |((IMW% . 2)*XR),|
0000aa10  44 59 25 2d 28 28 49 4d  48 25 20 81 20 32 29 2a  |DY%-((IMH% . 2)*|
0000aa20  59 52 29 2c 50 4c 25 2b  38 2c 49 4f 25 2b 32 30  |YR),PL%+8,IO%+20|
0000aa30  2c 49 4d 50 54 25 0d 24  f4 05 e1 0d 24 fe 04 0d  |,IMPT%.$....$...|
0000aa40  25 08 1b dd f2 70 61 72  61 28 4c 54 25 2c 50 4c  |%....para(LT%,PL|
0000aa50  25 2c 44 58 25 2c 44 59  25 29 0d 25 12 22 e7 20  |%,DX%,DY%).%.". |
0000aa60  50 4c 25 3d 31 20 8c 20  f2 65 6c 69 70 28 26 37  |PL%=1 . .elip(&7|
0000aa70  35 2c 44 58 25 2c 44 59  25 29 3a e1 0d 25 1c 0d  |5,DX%,DY%):..%..|
0000aa80  e7 20 4c 54 25 3d 31 20  8c 0d 25 26 1f f2 6c 28  |. LT%=1 ..%&..l(|
0000aa90  58 25 28 30 29 2c 59 25  28 30 29 2c 58 25 28 31  |X%(0),Y%(0),X%(1|
0000aaa0  29 2c 59 25 28 31 29 29  0d 25 30 1b f2 6c 28 58  |),Y%(1)).%0..l(X|
0000aab0  25 28 31 29 2c 59 25 28  31 29 2c 44 58 25 2c 44  |%(1),Y%(1),DX%,D|
0000aac0  59 25 29 0d 25 3a 25 f0  20 4c 49 54 59 25 2d 34  |Y%).%:%. LITY%-4|
0000aad0  2c 58 25 28 30 29 2d 58  25 28 31 29 2c 59 25 28  |,X%(0)-X%(1),Y%(|
0000aae0  30 29 2d 59 25 28 31 29  0d 25 44 17 f0 20 4c 49  |0)-Y%(1).%D.. LI|
0000aaf0  54 59 25 2c 58 25 28 30  29 2c 59 25 28 30 29 0d  |TY%,X%(0),Y%(0).|
0000ab00  25 4e 05 cc 0d 25 58 1d  86 20 58 25 28 30 29 2c  |%N...%X.. X%(0),|
0000ab10  59 25 28 30 29 2c 58 25  28 31 29 2c 59 25 28 31  |Y%(0),X%(1),Y%(1|
0000ab20  29 0d 25 62 19 86 20 58  25 28 31 29 2c 59 25 28  |).%b.. X%(1),Y%(|
0000ab30  31 29 2c 44 58 25 2c 44  59 25 0d 25 6c 1e f0 31  |1),DX%,DY%.%l..1|
0000ab40  2c 58 25 28 30 29 2d 58  25 28 31 29 2c 59 25 28  |,X%(0)-X%(1),Y%(|
0000ab50  30 29 2d 59 25 28 31 29  0d 25 76 12 f0 35 2c 58  |0)-Y%(1).%v..5,X|
0000ab60  25 28 30 29 2c 59 25 28  30 29 0d 25 80 05 cd 0d  |%(0),Y%(0).%....|
0000ab70  25 8a 05 e1 0d 25 94 04  0d 25 9e 17 dd f2 65 6c  |%....%...%....el|
0000ab80  69 70 28 50 4c 25 2c 44  58 25 2c 44 59 25 29 0d  |ip(PL%,DX%,DY%).|
0000ab90  25 a8 11 ec 20 58 25 28  30 29 2c 59 25 28 30 29  |%... X%(0),Y%(0)|
0000aba0  0d 25 b2 11 ec 20 58 25  28 31 29 2c 59 25 28 31  |.%... X%(1),Y%(1|
0000abb0  29 0d 25 bc 11 f0 20 50  4c 25 2c 44 58 25 2c 44  |).%... PL%,DX%,D|
0000abc0  59 25 0d 25 c6 05 e1 0d  25 d0 04 0d 25 da 16 dd  |Y%.%....%...%...|
0000abd0  f2 74 72 69 28 50 4c 25  2c 44 58 25 2c 44 59 25  |.tri(PL%,DX%,DY%|
0000abe0  29 0d 25 e4 94 e7 20 50  4c 25 3d 35 20 84 20 50  |).%... PL%=5 . P|
0000abf0  4c 25 3d 38 35 20 8c 20  f0 34 2c 44 58 25 2c 44  |L%=85 . .4,DX%,D|
0000ac00  59 25 3a f0 20 35 2c 58  25 28 30 29 2c 59 25 28  |Y%:. 5,X%(0),Y%(|
0000ac10  30 29 3a f0 20 35 2c 58  25 28 31 29 2c 59 25 28  |0):. 5,X%(1),Y%(|
0000ac20  31 29 3a f0 20 50 4c 25  2c 44 58 25 2c 44 59 25  |1):. PL%,DX%,DY%|
0000ac30  20 8b 20 f0 34 2c 44 58  25 2c 44 59 25 3a f0 20  | . .4,DX%,DY%:. |
0000ac40  4c 49 54 59 25 2c 58 25  28 30 29 2c 59 25 28 30  |LITY%,X%(0),Y%(0|
0000ac50  29 3a f0 20 4c 49 54 59  25 2c 58 25 28 31 29 2c  |):. LITY%,X%(1),|
0000ac60  59 25 28 31 29 3a f0 20  4c 49 54 59 25 2c 44 58  |Y%(1):. LITY%,DX|
0000ac70  25 2c 44 59 25 0d 25 ee  05 e1 0d 25 f8 04 0d 26  |%,DY%.%....%...&|
0000ac80  02 37 dd a4 64 69 73 74  28 44 58 25 2c 44 59 25  |.7..dist(DX%,DY%|
0000ac90  29 3a 3d b6 28 28 28 44  58 25 2d 58 25 28 30 29  |):=.(((DX%-X%(0)|
0000aca0  29 5e 32 29 2b 28 28 44  59 25 2d 59 25 28 30 29  |)^2)+((DY%-Y%(0)|
0000acb0  29 5e 32 29 29 0d 26 0c  04 0d 26 16 56 dd f2 70  |)^2)).&...&.V..p|
0000acc0  61 69 6e 74 62 72 75 73  68 28 42 58 25 2c 42 59  |aintbrush(BX%,BY|
0000acd0  25 29 3a c8 99 26 32 45  2c 33 30 36 2c 42 52 55  |%):..&2E,306,BRU|
0000ace0  53 48 25 2c c3 28 53 45  4c 42 52 25 29 2c 42 58  |SH%,.(SELBR%),BX|
0000acf0  25 2d 28 33 32 2a 58 52  29 2c 42 59 25 2d 28 33  |%-(32*XR),BY%-(3|
0000ad00  32 2a 59 52 29 2c 2c 53  43 41 4c 45 25 3a e1 0d  |2*YR),,SCALE%:..|
0000ad10  26 20 04 0d 26 2a 45 dd  f2 70 61 69 6e 74 62 72  |& ..&*E..paintbr|
0000ad20  75 73 68 32 28 42 58 25  2c 42 59 25 29 3a c8 99  |ush2(BX%,BY%):..|
0000ad30  26 32 45 2c 33 30 35 2c  42 52 55 53 48 25 2c c3  |&2E,305,BRUSH%,.|
0000ad40  28 53 45 4c 42 52 25 29  2c 42 58 25 2d 33 32 2c  |(SELBR%),BX%-32,|
0000ad50  42 59 25 2d 33 32 3a e1  0d 26 34 04 0d 26 3e 22  |BY%-32:..&4..&>"|
0000ad60  dd f2 6c 65 74 67 6f 3a  f5 3a c8 97 20 58 25 2c  |..letgo:.:.. X%,|
0000ad70  59 25 2c 48 25 3a fd 20  48 25 3d 30 3a e1 0d 26  |Y%,H%:. H%=0:..&|
0000ad80  48 04 0d 26 52 0b dd f2  6b 69 6c 6c 66 0d 26 5c  |H..&R...killf.&\|
0000ad90  0e c8 8e 20 46 55 53 45  25 20 ca 0d 26 66 0d f2  |... FUSE% ..&f..|
0000ada0  73 70 62 75 66 28 30 29  0d 26 70 4c c9 20 32 3a  |spbuf(0).&pL. 2:|
0000adb0  e7 20 46 55 53 54 25 3e  30 20 8c 20 f2 69 6e 70  |. FUST%>0 . .inp|
0000adc0  69 63 3a f2 65 6f 63 3a  86 20 58 25 28 30 29 2c  |ic:.eoc:. X%(0),|
0000add0  59 25 28 30 29 2c 4f 58  25 2c 4f 59 25 3a f2 6f  |Y%(0),OX%,OY%:.o|
0000ade0  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
0000adf0  6d 61 69 6e 0d 26 7a 15  c9 20 33 3a f2 63 6c 6f  |main.&z.. 3:.clo|
0000ae00  73 65 77 69 6e 64 28 34  29 0d 26 84 69 c9 20 34  |sewind(4).&.i. 4|
0000ae10  3a f2 63 6c 6f 73 65 77  69 6e 64 28 35 29 3a e7  |:.closewind(5):.|
0000ae20  20 46 55 53 54 25 3e 30  20 8c 20 f2 69 6e 70 69  | FUST%>0 . .inpi|
0000ae30  63 3a f2 70 61 69 6e 74  73 63 61 6c 65 3a f2 65  |c:.paintscale:.e|
0000ae40  6f 72 62 61 63 6b 3a f2  70 61 69 6e 74 62 72 75  |orback:.paintbru|
0000ae50  73 68 28 4f 58 25 2c 4f  59 25 29 3a f2 6f 75 74  |sh(OX%,OY%):.out|
0000ae60  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
0000ae70  69 6e 0d 26 8e 59 c9 20  35 3a e7 20 46 55 53 54  |in.&.Y. 5:. FUST|
0000ae80  25 3d 31 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=1 . .inpic:.eo|
0000ae90  63 3a c8 93 20 58 25 28  30 29 2c 59 25 28 30 29  |c:.. X%(0),Y%(0)|
0000aea0  2c 4f 58 25 2d 58 25 28  30 29 2c 4f 59 25 2d 59  |,OX%-X%(0),OY%-Y|
0000aeb0  25 28 30 29 3a f2 6f 75  74 70 69 63 3a f2 71 75  |%(0):.outpic:.qu|
0000aec0  69 63 6b 64 72 61 77 6d  61 69 6e 0d 26 98 5c c9  |ickdrawmain.&.\.|
0000aed0  20 36 3a e7 20 46 55 53  54 25 3d 31 20 8c 20 f2  | 6:. FUST%=1 . .|
0000aee0  69 6e 70 69 63 3a f2 65  6f 63 3a c8 93 20 c8 90  |inpic:.eoc:.. ..|
0000aef0  20 58 25 28 30 29 2c 59  25 28 30 29 2c 4f 58 25  | X%(0),Y%(0),OX%|
0000af00  2d 58 25 28 30 29 2c 4f  59 25 2d 59 25 28 30 29  |-X%(0),OY%-Y%(0)|
0000af10  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
0000af20  72 61 77 6d 61 69 6e 0d  26 a2 54 c9 20 37 3a e7  |rawmain.&.T. 7:.|
0000af30  20 46 55 53 54 25 3d 31  20 8c 20 f2 69 6e 70 69  | FUST%=1 . .inpi|
0000af40  63 3a f2 65 6f 63 3a c8  8f 20 58 25 28 30 29 2c  |c:.eoc:.. X%(0),|
0000af50  59 25 28 30 29 2c a4 64  69 73 74 28 4f 58 25 2c  |Y%(0),.dist(OX%,|
0000af60  4f 59 25 29 3a f2 6f 75  74 70 69 63 3a f2 71 75  |OY%):.outpic:.qu|
0000af70  69 63 6b 64 72 61 77 6d  61 69 6e 0d 26 ac 57 c9  |ickdrawmain.&.W.|
0000af80  20 38 3a e7 20 46 55 53  54 25 3d 31 20 8c 20 f2  | 8:. FUST%=1 . .|
0000af90  69 6e 70 69 63 3a f2 65  6f 63 3a c8 8f 20 c8 90  |inpic:.eoc:.. ..|
0000afa0  20 58 25 28 30 29 2c 59  25 28 30 29 2c a4 64 69  | X%(0),Y%(0),.di|
0000afb0  73 74 28 4f 58 25 2c 4f  59 25 29 3a f2 6f 75 74  |st(OX%,OY%):.out|
0000afc0  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
0000afd0  69 6e 0d 26 b6 4c c9 20  39 3a e7 20 46 55 53 54  |in.&.L. 9:. FUST|
0000afe0  25 3d 31 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=1 . .inpic:.eo|
0000aff0  63 3a 86 20 58 25 28 30  29 2c 59 25 28 30 29 2c  |c:. X%(0),Y%(0),|
0000b000  4f 58 25 2c 4f 59 25 3a  f2 6f 75 74 70 69 63 3a  |OX%,OY%:.outpic:|
0000b010  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 0d 26  |.quickdrawmain.&|
0000b020  c0 42 e7 20 46 55 53 54  25 3d 32 20 8c 20 f2 69  |.B. FUST%=2 . .i|
0000b030  6e 70 69 63 3a f2 65 6f  63 3a f2 74 72 69 28 35  |npic:.eoc:.tri(5|
0000b040  2c 4f 58 25 2c 4f 59 25  29 3a f2 6f 75 74 70 69  |,OX%,OY%):.outpi|
0000b050  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
0000b060  0d 26 ca 4d c9 20 31 30  3a e7 20 46 55 53 54 25  |.&.M. 10:. FUST%|
0000b070  3d 31 20 8c 20 f2 69 6e  70 69 63 3a f2 65 6f 63  |=1 . .inpic:.eoc|
0000b080  3a 86 20 58 25 28 30 29  2c 59 25 28 30 29 2c 4f  |:. X%(0),Y%(0),O|
0000b090  58 25 2c 4f 59 25 3a f2  6f 75 74 70 69 63 3a f2  |X%,OY%:.outpic:.|
0000b0a0  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 0d 26 d4  |quickdrawmain.&.|
0000b0b0  43 e7 20 46 55 53 54 25  3d 32 20 8c 20 f2 69 6e  |C. FUST%=2 . .in|
0000b0c0  70 69 63 3a f2 65 6f 63  3a f2 74 72 69 28 38 35  |pic:.eoc:.tri(85|
0000b0d0  2c 4f 58 25 2c 4f 59 25  29 3a f2 6f 75 74 70 69  |,OX%,OY%):.outpi|
0000b0e0  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
0000b0f0  0d 26 de 4d c9 20 31 31  3a e7 20 46 55 53 54 25  |.&.M. 11:. FUST%|
0000b100  3d 31 20 8c 20 f2 69 6e  70 69 63 3a f2 65 6f 63  |=1 . .inpic:.eoc|
0000b110  3a 86 20 58 25 28 30 29  2c 59 25 28 30 29 2c 4f  |:. X%(0),Y%(0),O|
0000b120  58 25 2c 4f 59 25 3a f2  6f 75 74 70 69 63 3a f2  |X%,OY%:.outpic:.|
0000b130  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 0d 26 e8  |quickdrawmain.&.|
0000b140  45 e7 20 46 55 53 54 25  3d 32 20 8c 20 f2 69 6e  |E. FUST%=2 . .in|
0000b150  70 69 63 3a f2 65 6f 63  3a f2 65 6c 69 70 28 26  |pic:.eoc:.elip(&|
0000b160  43 35 2c 4f 58 25 2c 4f  59 25 29 3a f2 6f 75 74  |C5,OX%,OY%):.out|
0000b170  70 69 63 3a f2 71 75 69  63 6b 64 72 61 77 6d 61  |pic:.quickdrawma|
0000b180  69 6e 0d 26 f2 4d c9 20  31 32 3a e7 20 46 55 53  |in.&.M. 12:. FUS|
0000b190  54 25 3d 31 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=1 . .inpic:.e|
0000b1a0  6f 63 3a 86 20 58 25 28  30 29 2c 59 25 28 30 29  |oc:. X%(0),Y%(0)|
0000b1b0  2c 4f 58 25 2c 4f 59 25  3a f2 6f 75 74 70 69 63  |,OX%,OY%:.outpic|
0000b1c0  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 0d  |:.quickdrawmain.|
0000b1d0  26 fc 45 e7 20 46 55 53  54 25 3d 32 20 8c 20 f2  |&.E. FUST%=2 . .|
0000b1e0  69 6e 70 69 63 3a f2 65  6f 63 3a f2 65 6c 69 70  |inpic:.eoc:.elip|
0000b1f0  28 26 43 44 2c 4f 58 25  2c 4f 59 25 29 3a f2 6f  |(&CD,OX%,OY%):.o|
0000b200  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
0000b210  6d 61 69 6e 0d 27 06 4d  c9 20 31 33 3a e7 20 46  |main.'.M. 13:. F|
0000b220  55 53 54 25 3d 31 20 8c  20 f2 69 6e 70 69 63 3a  |UST%=1 . .inpic:|
0000b230  f2 65 6f 63 3a 86 20 58  25 28 30 29 2c 59 25 28  |.eoc:. X%(0),Y%(|
0000b240  30 29 2c 4f 58 25 2c 4f  59 25 3a f2 6f 75 74 70  |0),OX%,OY%:.outp|
0000b250  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
0000b260  6e 0d 27 10 45 e7 20 46  55 53 54 25 3d 32 20 8c  |n.'.E. FUST%=2 .|
0000b270  20 f2 69 6e 70 69 63 3a  f2 65 6f 63 3a f2 70 61  | .inpic:.eoc:.pa|
0000b280  72 61 28 30 2c 30 2c 4f  58 25 2c 4f 59 25 29 3a  |ra(0,0,OX%,OY%):|
0000b290  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
0000b2a0  61 77 6d 61 69 6e 0d 27  1a 4d c9 20 31 34 3a e7  |awmain.'.M. 14:.|
0000b2b0  20 46 55 53 54 25 3d 31  20 8c 20 f2 69 6e 70 69  | FUST%=1 . .inpi|
0000b2c0  63 3a f2 65 6f 63 3a 86  20 58 25 28 30 29 2c 59  |c:.eoc:. X%(0),Y|
0000b2d0  25 28 30 29 2c 4f 58 25  2c 4f 59 25 3a f2 6f 75  |%(0),OX%,OY%:.ou|
0000b2e0  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
0000b2f0  61 69 6e 0d 27 24 45 e7  20 46 55 53 54 25 3d 32  |ain.'$E. FUST%=2|
0000b300  20 8c 20 f2 69 6e 70 69  63 3a f2 65 6f 63 3a f2  | . .inpic:.eoc:.|
0000b310  70 61 72 61 28 30 2c 31  2c 4f 58 25 2c 4f 59 25  |para(0,1,OX%,OY%|
0000b320  29 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |):.outpic:.quick|
0000b330  64 72 61 77 6d 61 69 6e  0d 27 2e 4d c9 20 31 35  |drawmain.'.M. 15|
0000b340  3a e7 20 46 55 53 54 25  3d 31 20 8c 20 f2 69 6e  |:. FUST%=1 . .in|
0000b350  70 69 63 3a f2 65 6f 63  3a 86 20 58 25 28 30 29  |pic:.eoc:. X%(0)|
0000b360  2c 59 25 28 30 29 2c 4f  58 25 2c 4f 59 25 3a f2  |,Y%(0),OX%,OY%:.|
0000b370  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
0000b380  77 6d 61 69 6e 0d 27 38  45 e7 20 46 55 53 54 25  |wmain.'8E. FUST%|
0000b390  3d 32 20 8c 20 f2 69 6e  70 69 63 3a f2 65 6f 63  |=2 . .inpic:.eoc|
0000b3a0  3a f2 65 6c 69 70 28 26  41 35 2c 4f 58 25 2c 4f  |:.elip(&A5,OX%,O|
0000b3b0  59 25 29 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |Y%):.outpic:.qui|
0000b3c0  63 6b 64 72 61 77 6d 61  69 6e 0d 27 42 4d c9 20  |ckdrawmain.'BM. |
0000b3d0  31 36 3a e7 20 46 55 53  54 25 3d 31 20 8c 20 f2  |16:. FUST%=1 . .|
0000b3e0  69 6e 70 69 63 3a f2 65  6f 63 3a 86 20 58 25 28  |inpic:.eoc:. X%(|
0000b3f0  30 29 2c 59 25 28 30 29  2c 4f 58 25 2c 4f 59 25  |0),Y%(0),OX%,OY%|
0000b400  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
0000b410  72 61 77 6d 61 69 6e 0d  27 4c 45 e7 20 46 55 53  |rawmain.'LE. FUS|
0000b420  54 25 3d 32 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=2 . .inpic:.e|
0000b430  6f 63 3a f2 65 6c 69 70  28 26 42 35 2c 4f 58 25  |oc:.elip(&B5,OX%|
0000b440  2c 4f 59 25 29 3a f2 6f  75 74 70 69 63 3a f2 71  |,OY%):.outpic:.q|
0000b450  75 69 63 6b 64 72 61 77  6d 61 69 6e 0d 27 56 4d  |uickdrawmain.'VM|
0000b460  c9 20 31 37 3a e7 20 46  55 53 54 25 3d 31 20 8c  |. 17:. FUST%=1 .|
0000b470  20 f2 69 6e 70 69 63 3a  f2 65 6f 63 3a 86 20 58  | .inpic:.eoc:. X|
0000b480  25 28 30 29 2c 59 25 28  30 29 2c 4f 58 25 2c 4f  |%(0),Y%(0),OX%,O|
0000b490  59 25 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |Y%:.outpic:.quic|
0000b4a0  6b 64 72 61 77 6d 61 69  6e 0d 27 60 45 e7 20 46  |kdrawmain.'`E. F|
0000b4b0  55 53 54 25 3d 32 20 8c  20 f2 69 6e 70 69 63 3a  |UST%=2 . .inpic:|
0000b4c0  f2 65 6f 63 3a f2 65 6c  69 70 28 26 41 44 2c 4f  |.eoc:.elip(&AD,O|
0000b4d0  58 25 2c 4f 59 25 29 3a  f2 6f 75 74 70 69 63 3a  |X%,OY%):.outpic:|
0000b4e0  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 0d 27  |.quickdrawmain.'|
0000b4f0  6a 68 c9 20 31 38 3a f2  63 6c 6f 73 65 77 69 6e  |jh. 18:.closewin|
0000b500  64 28 38 29 3a e7 20 46  55 53 54 25 3d 31 20 8c  |d(8):. FUST%=1 .|
0000b510  20 f2 69 6e 70 69 63 3a  f2 65 6f 63 3a c8 93 20  | .inpic:.eoc:.. |
0000b520  58 25 28 30 29 2c 59 25  28 30 29 2c 4f 58 25 2d  |X%(0),Y%(0),OX%-|
0000b530  58 25 28 30 29 2c 4f 59  25 2d 59 25 28 30 29 3a  |X%(0),OY%-Y%(0):|
0000b540  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
0000b550  61 77 6d 61 69 6e 0d 27  74 47 e7 20 46 55 53 54  |awmain.'tG. FUST|
0000b560  25 3d 32 20 8c 20 f2 69  6e 70 69 63 3a f2 70 67  |%=2 . .inpic:.pg|
0000b570  72 61 62 28 4f 58 25 2c  4f 59 25 2c 33 29 3a f2  |rab(OX%,OY%,3):.|
0000b580  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
0000b590  77 6d 61 69 6e 3a f2 73  70 69 6e 69 74 0d 27 7e  |wmain:.spinit.'~|
0000b5a0  68 c9 20 31 39 3a f2 63  6c 6f 73 65 77 69 6e 64  |h. 19:.closewind|
0000b5b0  28 38 29 3a e7 20 46 55  53 54 25 3d 31 20 8c 20  |(8):. FUST%=1 . |
0000b5c0  f2 69 6e 70 69 63 3a f2  65 6f 63 3a c8 93 20 58  |.inpic:.eoc:.. X|
0000b5d0  25 28 30 29 2c 59 25 28  30 29 2c 4f 58 25 2d 58  |%(0),Y%(0),OX%-X|
0000b5e0  25 28 30 29 2c 4f 59 25  2d 59 25 28 30 29 3a f2  |%(0),OY%-Y%(0):.|
0000b5f0  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
0000b600  77 6d 61 69 6e 0d 27 88  47 e7 20 46 55 53 54 25  |wmain.'.G. FUST%|
0000b610  3d 32 20 8c 20 f2 69 6e  70 69 63 3a f2 70 67 72  |=2 . .inpic:.pgr|
0000b620  61 62 28 4f 58 25 2c 4f  59 25 2c 33 29 3a f2 6f  |ab(OX%,OY%,3):.o|
0000b630  75 74 70 69 63 3a f2 71  75 69 63 6b 64 72 61 77  |utpic:.quickdraw|
0000b640  6d 61 69 6e 3a f2 73 70  69 6e 69 74 0d 27 92 5a  |main:.spinit.'.Z|
0000b650  c9 20 32 30 3a e7 20 46  55 53 54 25 3d 31 20 8c  |. 20:. FUST%=1 .|
0000b660  20 f2 69 6e 70 69 63 3a  f2 65 6f 63 3a c8 93 20  | .inpic:.eoc:.. |
0000b670  58 25 28 30 29 2c 59 25  28 30 29 2c 4f 58 25 2d  |X%(0),Y%(0),OX%-|
0000b680  58 25 28 30 29 2c 4f 59  25 2d 59 25 28 30 29 3a  |X%(0),OY%-Y%(0):|
0000b690  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
0000b6a0  61 77 6d 61 69 6e 0d 27  9c 5a c9 20 32 31 3a e7  |awmain.'.Z. 21:.|
0000b6b0  20 46 55 53 54 25 3d 31  20 8c 20 f2 69 6e 70 69  | FUST%=1 . .inpi|
0000b6c0  63 3a f2 65 6f 63 3a c8  93 20 58 25 28 30 29 2c  |c:.eoc:.. X%(0),|
0000b6d0  59 25 28 30 29 2c 4f 58  25 2d 58 25 28 30 29 2c  |Y%(0),OX%-X%(0),|
0000b6e0  4f 59 25 2d 59 25 28 30  29 3a f2 6f 75 74 70 69  |OY%-Y%(0):.outpi|
0000b6f0  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
0000b700  0d 27 a6 5a c9 20 32 32  3a e7 20 46 55 53 54 25  |.'.Z. 22:. FUST%|
0000b710  3d 31 20 8c 20 f2 69 6e  70 69 63 3a f2 65 6f 63  |=1 . .inpic:.eoc|
0000b720  3a c8 93 20 58 25 28 30  29 2c 59 25 28 30 29 2c  |:.. X%(0),Y%(0),|
0000b730  4f 58 25 2d 58 25 28 30  29 2c 4f 59 25 2d 59 25  |OX%-X%(0),OY%-Y%|
0000b740  28 30 29 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |(0):.outpic:.qui|
0000b750  63 6b 64 72 61 77 6d 61  69 6e 0d 27 b0 a0 c9 20  |ckdrawmain.'... |
0000b760  32 33 3a f2 63 6c 6f 73  65 77 69 6e 64 28 38 29  |23:.closewind(8)|
0000b770  3a e7 20 46 55 43 4f 25  3d 31 20 80 20 46 55 53  |:. FUCO%=1 . FUS|
0000b780  54 25 3d 31 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=1 . .inpic:.e|
0000b790  6f 63 3a c8 93 20 58 25  28 31 29 2c 59 25 28 31  |oc:.. X%(1),Y%(1|
0000b7a0  29 2c 58 25 28 32 29 2d  58 25 28 31 29 2c 59 25  |),X%(2)-X%(1),Y%|
0000b7b0  28 32 29 2d 59 25 28 31  29 3a c8 93 20 58 25 28  |(2)-Y%(1):.. X%(|
0000b7c0  30 29 2c 59 25 28 30 29  2c 4f 58 25 2d 58 25 28  |0),Y%(0),OX%-X%(|
0000b7d0  30 29 2c 4f 59 25 2d 59  25 28 30 29 3a f2 6f 75  |0),OY%-Y%(0):.ou|
0000b7e0  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
0000b7f0  61 69 6e 3a e5 20 8d 54  58 69 0d 27 ba 60 e7 20  |ain:. .TXi.'.`. |
0000b800  46 55 43 4f 25 3d 31 20  8c 20 f2 69 6e 70 69 63  |FUCO%=1 . .inpic|
0000b810  3a f2 65 6f 63 3a c8 93  20 58 25 28 31 29 2c 59  |:.eoc:.. X%(1),Y|
0000b820  25 28 31 29 2c 58 25 28  32 29 2d 58 25 28 31 29  |%(1),X%(2)-X%(1)|
0000b830  2c 59 25 28 32 29 2d 59  25 28 31 29 3a f2 6f 75  |,Y%(2)-Y%(1):.ou|
0000b840  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
0000b850  61 69 6e 3a e5 20 8d 54  58 69 0d 27 c4 55 e7 20  |ain:. .TXi.'.U. |
0000b860  46 55 53 54 25 3d 31 20  8c 20 f2 69 6e 70 69 63  |FUST%=1 . .inpic|
0000b870  3a f2 65 6f 63 3a c8 93  20 58 25 28 30 29 2c 59  |:.eoc:.. X%(0),Y|
0000b880  25 28 30 29 2c 4f 58 25  2d 58 25 28 30 29 2c 4f  |%(0),OX%-X%(0),O|
0000b890  59 25 2d 59 25 28 30 29  3a f2 6f 75 74 70 69 63  |Y%-Y%(0):.outpic|
0000b8a0  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 0d  |:.quickdrawmain.|
0000b8b0  27 ce 0f c9 20 32 35 3a  f2 69 6e 70 69 63 0d 27  |'... 25:.inpic.'|
0000b8c0  d8 08 f2 65 6f 63 0d 27  e2 0e c8 8e 20 46 55 43  |...eoc.'.... FUC|
0000b8d0  4f 25 20 ca 0d 27 ec 1b  c9 20 32 3a 86 20 58 25  |O% ..'... 2:. X%|
0000b8e0  28 31 29 2c 59 25 28 31  29 2c 58 25 2c 59 25 0d  |(1),Y%(1),X%,Y%.|
0000b8f0  27 f6 35 c9 20 33 3a 86  20 58 25 28 31 29 2c 59  |'.5. 3:. X%(1),Y|
0000b900  25 28 31 29 2c 58 25 28  32 29 2c 59 25 28 32 29  |%(1),X%(2),Y%(2)|
0000b910  3a 86 20 58 25 28 32 29  2c 59 25 28 32 29 2c 58  |:. X%(2),Y%(2),X|
0000b920  25 2c 59 25 0d 28 00 63  c9 20 34 3a 86 20 58 25  |%,Y%.(.c. 4:. X%|
0000b930  28 31 29 2c 59 25 28 31  29 2c 58 25 28 32 29 2c  |(1),Y%(1),X%(2),|
0000b940  59 25 28 32 29 3a 86 20  58 25 28 32 29 2c 59 25  |Y%(2):. X%(2),Y%|
0000b950  28 32 29 2c 58 25 28 33  29 2c 59 25 28 33 29 3a  |(2),X%(3),Y%(3):|
0000b960  86 20 58 25 28 33 29 2c  59 25 28 33 29 2c 58 25  |. X%(3),Y%(3),X%|
0000b970  2c 59 25 3a 86 20 58 25  2c 59 25 2c 58 25 28 31  |,Y%:. X%,Y%,X%(1|
0000b980  29 2c 59 25 28 31 29 0d  28 0a 6f c9 20 35 3a 86  |),Y%(1).(.o. 5:.|
0000b990  20 58 25 28 31 29 2c 59  25 28 31 29 2c 58 25 28  | X%(1),Y%(1),X%(|
0000b9a0  32 29 2c 59 25 28 32 29  3a 86 20 58 25 28 32 29  |2),Y%(2):. X%(2)|
0000b9b0  2c 59 25 28 32 29 2c 58  25 28 33 29 2c 59 25 28  |,Y%(2),X%(3),Y%(|
0000b9c0  33 29 3a 86 20 58 25 28  33 29 2c 59 25 28 33 29  |3):. X%(3),Y%(3)|
0000b9d0  2c 58 25 28 34 29 2c 59  25 28 34 29 3a 86 20 58  |,X%(4),Y%(4):. X|
0000b9e0  25 28 34 29 2c 59 25 28  34 29 2c 58 25 28 31 29  |%(4),Y%(4),X%(1)|
0000b9f0  2c 59 25 28 31 29 0d 28  14 83 c9 20 36 3a 86 20  |,Y%(1).(... 6:. |
0000ba00  58 25 28 31 29 2c 59 25  28 31 29 2c 58 25 28 32  |X%(1),Y%(1),X%(2|
0000ba10  29 2c 59 25 28 32 29 3a  86 20 58 25 28 32 29 2c  |),Y%(2):. X%(2),|
0000ba20  59 25 28 32 29 2c 58 25  28 33 29 2c 59 25 28 33  |Y%(2),X%(3),Y%(3|
0000ba30  29 3a 86 20 58 25 28 33  29 2c 59 25 28 33 29 2c  |):. X%(3),Y%(3),|
0000ba40  58 25 28 34 29 2c 59 25  28 34 29 3a 86 20 58 25  |X%(4),Y%(4):. X%|
0000ba50  28 34 29 2c 59 25 28 34  29 2c 58 25 28 31 29 2c  |(4),Y%(4),X%(1),|
0000ba60  59 25 28 31 29 3a 86 20  58 25 28 35 29 2c 59 25  |Y%(1):. X%(5),Y%|
0000ba70  28 35 29 2c 58 25 2c 59  25 0d 28 1e 9d c9 20 37  |(5),X%,Y%.(... 7|
0000ba80  3a 86 20 58 25 28 31 29  2c 59 25 28 31 29 2c 58  |:. X%(1),Y%(1),X|
0000ba90  25 28 32 29 2c 59 25 28  32 29 3a 86 20 58 25 28  |%(2),Y%(2):. X%(|
0000baa0  32 29 2c 59 25 28 32 29  2c 58 25 28 33 29 2c 59  |2),Y%(2),X%(3),Y|
0000bab0  25 28 33 29 3a 86 20 58  25 28 33 29 2c 59 25 28  |%(3):. X%(3),Y%(|
0000bac0  33 29 2c 58 25 28 34 29  2c 59 25 28 34 29 3a 86  |3),X%(4),Y%(4):.|
0000bad0  20 58 25 28 34 29 2c 59  25 28 34 29 2c 58 25 28  | X%(4),Y%(4),X%(|
0000bae0  31 29 2c 59 25 28 31 29  3a 86 20 58 25 28 35 29  |1),Y%(1):. X%(5)|
0000baf0  2c 59 25 28 35 29 2c 58  25 28 36 29 2c 59 25 28  |,Y%(5),X%(6),Y%(|
0000bb00  36 29 3a 86 20 58 25 28  36 29 2c 59 25 28 36 29  |6):. X%(6),Y%(6)|
0000bb10  2c 58 25 2c 59 25 0d 28  28 cb c9 20 38 3a 86 20  |,X%,Y%.((.. 8:. |
0000bb20  58 25 28 31 29 2c 59 25  28 31 29 2c 58 25 28 32  |X%(1),Y%(1),X%(2|
0000bb30  29 2c 59 25 28 32 29 3a  86 20 58 25 28 32 29 2c  |),Y%(2):. X%(2),|
0000bb40  59 25 28 32 29 2c 58 25  28 33 29 2c 59 25 28 33  |Y%(2),X%(3),Y%(3|
0000bb50  29 3a 86 20 58 25 28 33  29 2c 59 25 28 33 29 2c  |):. X%(3),Y%(3),|
0000bb60  58 25 28 34 29 2c 59 25  28 34 29 3a 86 20 58 25  |X%(4),Y%(4):. X%|
0000bb70  28 34 29 2c 59 25 28 34  29 2c 58 25 28 31 29 2c  |(4),Y%(4),X%(1),|
0000bb80  59 25 28 31 29 3a 86 20  58 25 28 35 29 2c 59 25  |Y%(1):. X%(5),Y%|
0000bb90  28 35 29 2c 58 25 28 36  29 2c 59 25 28 36 29 3a  |(5),X%(6),Y%(6):|
0000bba0  86 20 58 25 28 36 29 2c  59 25 28 36 29 2c 58 25  |. X%(6),Y%(6),X%|
0000bbb0  28 37 29 2c 59 25 28 37  29 3a 86 20 58 25 28 37  |(7),Y%(7):. X%(7|
0000bbc0  29 2c 59 25 28 37 29 2c  58 25 2c 59 25 3a 86 20  |),Y%(7),X%,Y%:. |
0000bbd0  58 25 28 35 29 2c 59 25  28 35 29 2c 58 25 2c 59  |X%(5),Y%(5),X%,Y|
0000bbe0  25 0d 28 32 05 cb 0d 28  3c 29 46 55 43 4f 25 3d  |%.(2...(<)FUCO%=|
0000bbf0  31 3a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |1:.outpic:.quick|
0000bc00  64 72 61 77 6d 61 69 6e  3a f2 6c 65 74 67 6f 0d  |drawmain:.letgo.|
0000bc10  28 46 5a c9 20 32 37 3a  e7 20 46 55 53 54 25 3d  |(FZ. 27:. FUST%=|
0000bc20  31 20 8c 20 f2 69 6e 70  69 63 3a f2 65 6f 63 3a  |1 . .inpic:.eoc:|
0000bc30  c8 93 20 58 25 28 30 29  2c 59 25 28 30 29 2c 4f  |.. X%(0),Y%(0),O|
0000bc40  58 25 2d 58 25 28 30 29  2c 4f 59 25 2d 59 25 28  |X%-X%(0),OY%-Y%(|
0000bc50  30 29 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |0):.outpic:.quic|
0000bc60  6b 64 72 61 77 6d 61 69  6e 0d 28 50 5a c9 20 32  |kdrawmain.(PZ. 2|
0000bc70  38 3a e7 20 46 55 53 54  25 3d 31 20 8c 20 f2 69  |8:. FUST%=1 . .i|
0000bc80  6e 70 69 63 3a f2 65 6f  63 3a c8 93 20 58 25 28  |npic:.eoc:.. X%(|
0000bc90  30 29 2c 59 25 28 30 29  2c 4f 58 25 2d 58 25 28  |0),Y%(0),OX%-X%(|
0000bca0  30 29 2c 4f 59 25 2d 59  25 28 30 29 3a f2 6f 75  |0),OY%-Y%(0):.ou|
0000bcb0  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
0000bcc0  61 69 6e 0d 28 5a 6b c9  20 32 39 3a f2 63 6c 6f  |ain.(Zk. 29:.clo|
0000bcd0  73 65 77 69 6e 64 28 35  29 3a e7 20 46 55 53 54  |sewind(5):. FUST|
0000bce0  25 3e 30 20 8c 20 f2 69  6e 70 69 63 3a f2 70 61  |%>0 . .inpic:.pa|
0000bcf0  69 6e 74 73 63 61 6c 65  32 3a f2 65 6f 72 62 61  |intscale2:.eorba|
0000bd00  63 6b 3a f2 70 61 69 6e  74 62 72 75 73 68 28 4f  |ck:.paintbrush(O|
0000bd10  58 25 2c 4f 59 25 29 3a  f2 6f 75 74 70 69 63 3a  |X%,OY%):.outpic:|
0000bd20  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 0d 28  |.quickdrawmain.(|
0000bd30  64 6b c9 20 33 30 3a f2  63 6c 6f 73 65 77 69 6e  |dk. 30:.closewin|
0000bd40  64 28 35 29 3a e7 20 46  55 53 54 25 3e 30 20 8c  |d(5):. FUST%>0 .|
0000bd50  20 f2 69 6e 70 69 63 3a  f2 70 61 69 6e 74 73 63  | .inpic:.paintsc|
0000bd60  61 6c 65 32 3a f2 65 6f  72 62 61 63 6b 3a f2 70  |ale2:.eorback:.p|
0000bd70  61 69 6e 74 62 72 75 73  68 28 4f 58 25 2c 4f 59  |aintbrush(OX%,OY|
0000bd80  25 29 3a f2 6f 75 74 70  69 63 3a f2 71 75 69 63  |%):.outpic:.quic|
0000bd90  6b 64 72 61 77 6d 61 69  6e 0d 28 6e 4e c9 20 33  |kdrawmain.(nN. 3|
0000bda0  32 3a f2 72 65 73 74 70  69 63 3a f2 66 6f 72 63  |2:.restpic:.forc|
0000bdb0  65 64 72 61 77 6d 61 69  6e 3a f2 63 6c 6f 73 65  |edrawmain:.close|
0000bdc0  77 69 6e 64 28 31 34 29  3a f2 73 70 69 6e 69 74  |wind(14):.spinit|
0000bdd0  3a e7 20 46 4f 4e 54 25  3c 3e 30 20 8c 20 f2 6c  |:. FONT%<>0 . .l|
0000bde0  6f 73 65 66 6f 6e 74 0d  28 78 14 c9 20 33 31 3a  |osefont.(x.. 31:|
0000bdf0  e7 20 47 52 54 59 25 3d  31 20 8c 0d 28 82 55 e7  |. GRTY%=1 ..(.U.|
0000be00  20 46 55 53 54 25 3d 31  20 8c 20 f2 69 6e 70 69  | FUST%=1 . .inpi|
0000be10  63 3a f2 65 6f 63 3a c8  93 20 58 25 28 30 29 2c  |c:.eoc:.. X%(0),|
0000be20  59 25 28 30 29 2c 4f 58  25 2d 58 25 28 30 29 2c  |Y%(0),OX%-X%(0),|
0000be30  4f 59 25 2d 59 25 28 30  29 3a f2 6f 75 74 70 69  |OY%-Y%(0):.outpi|
0000be40  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
0000be50  0d 28 8c 05 cd 0d 28 96  71 c9 20 33 33 3a f2 63  |.(....(.q. 33:.c|
0000be60  6c 6f 73 65 77 69 6e 64  28 31 38 29 3a f2 73 70  |losewind(18):.sp|
0000be70  69 6e 69 74 3a e7 20 46  55 53 54 25 3d 31 20 8c  |init:. FUST%=1 .|
0000be80  20 f2 69 6e 70 69 63 3a  f2 65 6f 63 3a c8 93 20  | .inpic:.eoc:.. |
0000be90  58 25 28 30 29 2c 59 25  28 30 29 2c 4f 58 25 2d  |X%(0),Y%(0),OX%-|
0000bea0  58 25 28 30 29 2c 4f 59  25 2d 59 25 28 30 29 3a  |X%(0),OY%-Y%(0):|
0000beb0  f2 6f 75 74 70 69 63 3a  f2 71 75 69 63 6b 64 72  |.outpic:.quickdr|
0000bec0  61 77 6d 61 69 6e 0d 28  a0 46 c9 20 33 34 3a e7  |awmain.(.F. 34:.|
0000bed0  20 46 55 53 54 25 3d 31  20 8c 20 f2 69 6e 70 69  | FUST%=1 . .inpi|
0000bee0  63 3a f2 70 69 6d 70 6f  72 74 28 4f 58 25 2c 4f  |c:.pimport(OX%,O|
0000bef0  59 25 2c 33 29 3a f2 6f  75 74 70 69 63 3a f2 71  |Y%,3):.outpic:.q|
0000bf00  75 69 63 6b 64 72 61 77  6d 61 69 6e 0d 28 aa 19  |uickdrawmain.(..|
0000bf10  f2 63 6c 6f 73 65 77 69  6e 64 28 38 29 3a f2 73  |.closewind(8):.s|
0000bf20  70 69 6e 69 74 0d 28 b4  22 c9 20 33 35 3a e7 20  |pinit.(.". 35:. |
0000bf30  46 55 53 54 25 3c 32 20  8c 20 f2 63 6c 6f 73 65  |FUST%<2 . .close|
0000bf40  77 69 6e 64 28 38 29 0d  28 be 55 e7 20 46 55 53  |wind(8).(.U. FUS|
0000bf50  54 25 3d 31 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=1 . .inpic:.e|
0000bf60  6f 63 3a c8 93 20 58 25  28 30 29 2c 59 25 28 30  |oc:.. X%(0),Y%(0|
0000bf70  29 2c 4f 58 25 2d 58 25  28 30 29 2c 4f 59 25 2d  |),OX%-X%(0),OY%-|
0000bf80  59 25 28 30 29 3a f2 6f  75 74 70 69 63 3a f2 71  |Y%(0):.outpic:.q|
0000bf90  75 69 63 6b 64 72 61 77  6d 61 69 6e 0d 28 c8 1d  |uickdrawmain.(..|
0000bfa0  e7 20 46 55 53 54 25 3d  33 20 8c 20 f2 63 6c 6f  |. FUST%=3 . .clo|
0000bfb0  73 65 77 69 6e 64 28 37  29 0d 28 d2 51 c9 20 33  |sewind(7).(.Q. 3|
0000bfc0  36 3a e7 20 46 55 53 54  25 3c 3e 30 20 8c 20 f2  |6:. FUST%<>0 . .|
0000bfd0  69 6e 70 69 63 3a f2 65  6f 63 3a c8 93 20 4f 58  |inpic:.eoc:.. OX|
0000bfe0  25 2c 4f 59 25 2c 46 52  57 25 2a 32 2c 46 52 48  |%,OY%,FRW%*2,FRH|
0000bff0  25 2a 34 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |%*4:.outpic:.qui|
0000c000  63 6b 64 72 61 77 6d 61  69 6e 0d 28 dc 1f c9 20  |ckdrawmain.(... |
0000c010  33 37 3a f2 73 70 69 6e  69 74 3a f2 63 6c 6f 73  |37:.spinit:.clos|
0000c020  65 77 69 6e 64 28 32 30  29 0d 28 e6 71 c9 20 33  |ewind(20).(.q. 3|
0000c030  38 3a f2 63 6c 6f 73 65  77 69 6e 64 28 32 31 29  |8:.closewind(21)|
0000c040  3a f2 73 70 69 6e 69 74  3a e7 20 46 55 53 54 25  |:.spinit:. FUST%|
0000c050  3d 31 20 8c 20 f2 69 6e  70 69 63 3a f2 65 6f 63  |=1 . .inpic:.eoc|
0000c060  3a c8 93 20 58 25 28 30  29 2c 59 25 28 30 29 2c  |:.. X%(0),Y%(0),|
0000c070  4f 58 25 2d 58 25 28 30  29 2c 4f 59 25 2d 59 25  |OX%-X%(0),OY%-Y%|
0000c080  28 30 29 3a f2 6f 75 74  70 69 63 3a f2 71 75 69  |(0):.outpic:.qui|
0000c090  63 6b 64 72 61 77 6d 61  69 6e 0d 28 f0 71 c9 20  |ckdrawmain.(.q. |
0000c0a0  33 39 3a f2 63 6c 6f 73  65 77 69 6e 64 28 32 32  |39:.closewind(22|
0000c0b0  29 3a f2 73 70 69 6e 69  74 3a e7 20 46 55 53 54  |):.spinit:. FUST|
0000c0c0  25 3d 31 20 8c 20 f2 69  6e 70 69 63 3a f2 65 6f  |%=1 . .inpic:.eo|
0000c0d0  63 3a c8 93 20 58 25 28  30 29 2c 59 25 28 30 29  |c:.. X%(0),Y%(0)|
0000c0e0  2c 4f 58 25 2d 58 25 28  30 29 2c 4f 59 25 2d 59  |,OX%-X%(0),OY%-Y|
0000c0f0  25 28 30 29 3a f2 6f 75  74 70 69 63 3a f2 71 75  |%(0):.outpic:.qu|
0000c100  69 63 6b 64 72 61 77 6d  61 69 6e 0d 28 fa 71 c9  |ickdrawmain.(.q.|
0000c110  20 34 30 3a f2 63 6c 6f  73 65 77 69 6e 64 28 32  | 40:.closewind(2|
0000c120  33 29 3a f2 73 70 69 6e  69 74 3a e7 20 46 55 53  |3):.spinit:. FUS|
0000c130  54 25 3d 31 20 8c 20 f2  69 6e 70 69 63 3a f2 65  |T%=1 . .inpic:.e|
0000c140  6f 63 3a c8 93 20 58 25  28 30 29 2c 59 25 28 30  |oc:.. X%(0),Y%(0|
0000c150  29 2c 4f 58 25 2d 58 25  28 30 29 2c 4f 59 25 2d  |),OX%-X%(0),OY%-|
0000c160  59 25 28 30 29 3a f2 6f  75 74 70 69 63 3a f2 71  |Y%(0):.outpic:.q|
0000c170  75 69 63 6b 64 72 61 77  6d 61 69 6e 0d 29 04 71  |uickdrawmain.).q|
0000c180  c9 20 34 31 3a f2 63 6c  6f 73 65 77 69 6e 64 28  |. 41:.closewind(|
0000c190  32 34 29 3a f2 73 70 69  6e 69 74 3a e7 20 46 55  |24):.spinit:. FU|
0000c1a0  53 54 25 3d 31 20 8c 20  f2 69 6e 70 69 63 3a f2  |ST%=1 . .inpic:.|
0000c1b0  65 6f 63 3a c8 93 20 58  25 28 30 29 2c 59 25 28  |eoc:.. X%(0),Y%(|
0000c1c0  30 29 2c 4f 58 25 2d 58  25 28 30 29 2c 4f 59 25  |0),OX%-X%(0),OY%|
0000c1d0  2d 59 25 28 30 29 3a f2  6f 75 74 70 69 63 3a f2  |-Y%(0):.outpic:.|
0000c1e0  71 75 69 63 6b 64 72 61  77 6d 61 69 6e 0d 29 0e  |quickdrawmain.).|
0000c1f0  3f e7 20 46 55 53 54 25  3d 33 20 8c 20 f2 69 6e  |?. FUST%=3 . .in|
0000c200  70 69 63 3a f2 70 72 6f  74 62 6f 78 28 4f 58 25  |pic:.protbox(OX%|
0000c210  2c 4f 59 25 29 3a f2 6f  75 74 70 69 63 3a f2 71  |,OY%):.outpic:.q|
0000c220  75 69 63 6b 64 72 61 77  6d 61 69 6e 0d 29 18 05  |uickdrawmain.)..|
0000c230  cb 0d 29 22 05 e1 0d 29  2c 04 0d 29 36 18 dd f2  |..)"...),..)6...|
0000c240  65 6f 63 3a e6 33 2c 36  33 20 c8 9c 20 31 39 32  |eoc:.3,63 .. 192|
0000c250  3a e1 0d 29 40 04 0d 29  4a 1d dd f2 65 6f 72 62  |:..)@..)J...eorb|
0000c260  61 63 6b 3a e6 33 2c 31  39 31 20 c8 9c 20 31 39  |ack:.3,191 .. 19|
0000c270  32 3a e1 0d 29 54 04 0d  29 5e 0d dd f2 70 69 63  |2:..)T..)^...pic|
0000c280  6b 63 6f 6c 0d 29 68 34  42 4c 4b 25 21 38 3d 48  |kcol.)h4BLK%!8=H|
0000c290  41 4e 44 25 28 33 29 3a  c8 99 20 22 57 69 6d 70  |AND%(3):.. "Wimp|
0000c2a0  5f 47 65 74 57 69 6e 64  6f 77 53 74 61 74 65 22  |_GetWindowState"|
0000c2b0  2c 2c 42 4c 4b 25 2b 38  0d 29 72 30 58 4f 46 25  |,,BLK%+8.)r0XOF%|
0000c2c0  3d 28 21 42 4c 4b 25 29  2d 28 42 4c 4b 25 21 31  |=(!BLK%)-(BLK%!1|
0000c2d0  32 29 3a e7 20 58 4f 46  25 3e 37 36 36 20 8c 20  |2):. XOF%>766 . |
0000c2e0  58 4f 46 25 3d 37 36 36  0d 29 7c 31 59 4f 46 25  |XOF%=766.)|1YOF%|
0000c2f0  3d 28 42 4c 4b 25 21 34  29 2d 28 42 4c 4b 25 21  |=(BLK%!4)-(BLK%!|
0000c300  31 36 29 3a e7 20 59 4f  46 25 3e 32 32 30 20 8c  |16):. YOF%>220 .|
0000c310  20 59 4f 46 25 3d 32 32  30 0d 29 86 64 e7 20 4d  | YOF%=220.).d. M|
0000c320  4f 55 42 25 3d 34 20 8c  20 43 4f 4c 25 3d 28 58  |OUB%=4 . COL%=(X|
0000c330  4f 46 25 20 81 20 32 34  29 2b 28 28 59 4f 46 25  |OF% . 24)+((YOF%|
0000c340  20 81 20 32 38 29 2a 33  32 29 20 8b 20 e7 20 4d  | . 28)*32) . . M|
0000c350  4f 55 42 25 3d 31 20 8c  20 f2 74 72 61 73 70 28  |OUB%=1 . .trasp(|
0000c360  28 58 4f 46 25 20 81 20  32 34 29 2b 28 28 59 4f  |(XOF% . 24)+((YO|
0000c370  46 25 20 81 20 32 38 29  2a 33 32 29 29 0d 29 90  |F% . 28)*32)).).|
0000c380  17 f2 66 6f 72 63 65 64  72 61 77 70 61 6c 28 50  |..forcedrawpal(P|
0000c390  41 4c 25 29 0d 29 9a 05  e1 0d 29 a4 04 0d 29 ae  |AL%).)....)...).|
0000c3a0  10 dd f2 74 62 61 63 6b  63 6c 69 63 6b 0d 29 b8  |...tbackclick.).|
0000c3b0  35 42 4c 4b 25 21 38 3d  48 41 4e 44 25 28 31 35  |5BLK%!8=HAND%(15|
0000c3c0  29 3a c8 99 20 22 57 69  6d 70 5f 47 65 74 57 69  |):.. "Wimp_GetWi|
0000c3d0  6e 64 6f 77 53 74 61 74  65 22 2c 2c 42 4c 4b 25  |ndowState",,BLK%|
0000c3e0  2b 38 0d 29 c2 30 58 4f  46 25 3d 28 21 42 4c 4b  |+8.).0XOF%=(!BLK|
0000c3f0  25 29 2d 28 42 4c 4b 25  21 31 32 29 3a e7 20 58  |%)-(BLK%!12):. X|
0000c400  4f 46 25 3e 37 36 36 20  8c 20 58 4f 46 25 3d 37  |OF%>766 . XOF%=7|
0000c410  36 36 0d 29 cc 31 59 4f  46 25 3d 28 42 4c 4b 25  |66.).1YOF%=(BLK%|
0000c420  21 34 29 2d 28 42 4c 4b  25 21 31 36 29 3a e7 20  |!4)-(BLK%!16):. |
0000c430  59 4f 46 25 3e 32 32 30  20 8c 20 59 4f 46 25 3d  |YOF%>220 . YOF%=|
0000c440  32 32 30 0d 29 d6 27 46  4f 4e 54 42 25 3d 28 58  |220.).'FONTB%=(X|
0000c450  4f 46 25 20 81 20 32 34  29 2b 28 28 59 4f 46 25  |OF% . 24)+((YOF%|
0000c460  20 81 20 32 38 29 2a 33  32 29 0d 29 e0 13 f2 66  | . 28)*32).)...f|
0000c470  6f 72 63 65 64 72 61 77  74 62 61 63 6b 0d 29 ea  |orcedrawtback.).|
0000c480  05 e1 0d 29 f4 04 0d 29  fe 0c dd f2 70 69 63 70  |...)...)....picp|
0000c490  6f 73 0d 2a 08 1c 53 43  52 58 25 3d 21 42 4c 4b  |os.*..SCRX%=!BLK|
0000c4a0  25 3a 53 43 52 59 25 3d  42 4c 4b 25 21 34 0d 2a  |%:SCRY%=BLK%!4.*|
0000c4b0  12 34 42 4c 4b 25 21 38  3d 48 41 4e 44 25 28 32  |.4BLK%!8=HAND%(2|
0000c4c0  29 3a c8 99 20 22 57 69  6d 70 5f 47 65 74 57 69  |):.. "Wimp_GetWi|
0000c4d0  6e 64 6f 77 53 74 61 74  65 22 2c 2c 42 4c 4b 25  |ndowState",,BLK%|
0000c4e0  2b 38 0d 2a 1c 2e 58 25  3d 28 28 28 21 42 4c 4b  |+8.*..X%=(((!BLK|
0000c4f0  25 29 2d 28 42 4c 4b 25  21 31 32 29 29 2b 28 42  |%)-(BLK%!12))+(B|
0000c500  4c 4b 25 21 32 38 29 29  20 81 20 5a 4f 4f 4d 25  |LK%!28)) . ZOOM%|
0000c510  0d 2a 26 35 59 25 3d 39  33 36 2d 28 28 28 28 42  |.*&5Y%=936-((((B|
0000c520  4c 4b 25 21 32 34 29 2d  28 42 4c 4b 25 21 34 29  |LK%!24)-(BLK%!4)|
0000c530  29 2d 28 42 4c 4b 25 21  33 32 29 29 20 81 20 5a  |)-(BLK%!32)) . Z|
0000c540  4f 4f 4d 25 29 0d 2a 30  11 e7 20 58 25 3c 30 20  |OOM%).*0.. X%<0 |
0000c550  8c 20 58 25 3d 30 0d 2a  3a 17 e7 20 58 25 3e 31  |. X%=0.*:.. X%>1|
0000c560  32 33 32 20 8c 20 58 25  3d 31 32 33 32 0d 2a 44  |232 . X%=1232.*D|
0000c570  11 e7 20 59 25 3c 30 20  8c 20 59 25 3d 30 0d 2a  |.. Y%<0 . Y%=0.*|
0000c580  4e 15 e7 20 59 25 3e 39  33 34 20 8c 20 59 25 3d  |N.. Y%>934 . Y%=|
0000c590  39 33 34 0d 2a 58 11 e7  20 ac 20 47 52 4c 4f 25  |934.*X.. . GRLO%|
0000c5a0  20 8c 20 e1 0d 2a 62 18  58 4f 46 25 3d 28 47 52  | . ..*b.XOF%=(GR|
0000c5b0  57 49 25 2d 47 52 42 58  25 29 2a 32 0d 2a 6c 18  |WI%-GRBX%)*2.*l.|
0000c5c0  59 4f 46 25 3d 28 47 52  48 45 25 2d 47 52 42 59  |YOF%=(GRHE%-GRBY|
0000c5d0  25 29 2a 34 0d 2a 76 15  58 25 2b 3d 58 4f 46 25  |%)*4.*v.X%+=XOF%|
0000c5e0  3a 59 25 2b 3d 59 4f 46  25 0d 2a 80 27 58 25 3d  |:Y%+=YOF%.*.'X%=|
0000c5f0  2d 58 4f 46 25 2b 28 28  58 25 20 81 20 28 32 2a  |-XOF%+((X% . (2*|
0000c600  47 52 57 49 25 29 29 2a  32 2a 47 52 57 49 25 29  |GRWI%))*2*GRWI%)|
0000c610  0d 2a 8a 27 59 25 3d 2d  59 4f 46 25 2b 28 28 59  |.*.'Y%=-YOF%+((Y|
0000c620  25 20 81 20 28 34 2a 47  52 48 45 25 29 29 2a 34  |% . (4*GRHE%))*4|
0000c630  2a 47 52 48 45 25 29 0d  2a 94 28 f4 20 56 44 55  |*GRHE%).*.(. VDU|
0000c640  34 3a 50 52 49 4e 54 54  41 42 28 30 2c 31 29 3b  |4:PRINTTAB(0,1);|
0000c650  58 25 2c 59 25 2c 58 4f  46 25 2c 59 4f 46 25 0d  |X%,Y%,XOF%,YOF%.|
0000c660  2a 9e 05 e1 0d 2a a8 04  0d 2a b2 0b dd f2 67 65  |*....*...*....ge|
0000c670  74 6f 72 0d 2a bc 17 57  4f 58 25 3d 42 4c 4b 25  |tor.*..WOX%=BLK%|
0000c680  21 34 2d 42 4c 4b 25 21  32 30 0d 2a c6 26 57 4f  |!4-BLK%!20.*.&WO|
0000c690  59 25 3d 28 42 4c 4b 25  21 31 36 2d 42 4c 4b 25  |Y%=(BLK%!16-BLK%|
0000c6a0  21 32 34 29 2d 28 39 33  36 2a 5a 4f 4f 4d 25 29  |!24)-(936*ZOOM%)|
0000c6b0  0d 2a d0 05 e1 0d 2a da  04 0d 2a e4 10 dd f2 67  |.*....*...*....g|
0000c6c0  65 74 62 72 75 73 68 6f  72 0d 2a ee 17 57 4f 58  |etbrushor.*..WOX|
0000c6d0  25 3d 42 4c 4b 25 21 34  2d 42 4c 4b 25 21 32 30  |%=BLK%!4-BLK%!20|
0000c6e0  0d 2a f8 1e 57 4f 59 25  3d 28 42 4c 4b 25 21 31  |.*..WOY%=(BLK%!1|
0000c6f0  36 2d 42 4c 4b 25 21 32  34 29 2d 32 36 30 0d 2b  |6-BLK%!24)-260.+|
0000c700  02 05 e1 0d 2b 0c 04 0d  2b 16 12 dd f2 67 65 74  |....+...+....get|
0000c710  70 61 74 66 69 6c 6c 6f  72 0d 2b 20 17 57 4f 58  |patfillor.+ .WOX|
0000c720  25 3d 42 4c 4b 25 21 34  2d 42 4c 4b 25 21 32 30  |%=BLK%!4-BLK%!20|
0000c730  0d 2b 2a 1e 57 4f 59 25  3d 28 42 4c 4b 25 21 31  |.+*.WOY%=(BLK%!1|
0000c740  36 2d 42 4c 4b 25 21 32  34 29 2d 31 30 38 0d 2b  |6-BLK%!24)-108.+|
0000c750  34 05 e1 0d 2b 3e 04 0d  2b 48 10 dd f2 67 65 74  |4...+>..+H...get|
0000c760  65 64 62 72 75 6f 72 0d  2b 52 17 57 4f 58 25 3d  |edbruor.+R.WOX%=|
0000c770  42 4c 4b 25 21 34 2d 42  4c 4b 25 21 32 30 0d 2b  |BLK%!4-BLK%!20.+|
0000c780  5c 1e 57 4f 59 25 3d 28  42 4c 4b 25 21 31 36 2d  |\.WOY%=(BLK%!16-|
0000c790  42 4c 4b 25 21 32 34 29  2d 36 34 30 0d 2b 66 05  |BLK%!24)-640.+f.|
0000c7a0  e1 0d 2b 70 04 0d 2b 7a  15 dd f2 6f 70 65 6e 6d  |..+p..+z...openm|
0000c7b0  61 69 6e 3a 4d 4f 50 25  3d b9 0d 2b 84 7a 21 42  |ain:MOP%=..+.z!B|
0000c7c0  4c 4b 25 3d 48 41 4e 44  25 28 32 29 3a 42 4c 4b  |LK%=HAND%(2):BLK|
0000c7d0  25 21 34 3d 30 3a 42 4c  4b 25 21 38 3d 33 30 30  |%!4=0:BLK%!8=300|
0000c7e0  3a 42 4c 4b 25 21 31 32  3d 31 32 37 39 3a 42 4c  |:BLK%!12=1279:BL|
0000c7f0  4b 25 21 31 36 3d 31 30  32 33 3a 42 4c 4b 25 21  |K%!16=1023:BLK%!|
0000c800  32 30 3d 30 3a 42 4c 4b  25 21 32 34 3d 30 3a 42  |20=0:BLK%!24=0:B|
0000c810  4c 4b 25 21 32 38 3d 2d  31 3a c8 99 20 22 57 69  |LK%!28=-1:.. "Wi|
0000c820  6d 70 5f 4f 70 65 6e 57  69 6e 64 6f 77 22 2c 2c  |mp_OpenWindow",,|
0000c830  42 4c 4b 25 0d 2b 8e 05  e1 0d 2b 98 04 0d 2b a2  |BLK%.+....+...+.|
0000c840  0d dd f2 6f 70 65 6e 70  61 6c 0d 2b ac 7b 21 42  |...openpal.+.{!B|
0000c850  4c 4b 25 3d 48 41 4e 44  25 28 33 29 3a 42 4c 4b  |LK%=HAND%(3):BLK|
0000c860  25 21 34 3d 31 30 30 3a  42 4c 4b 25 21 38 3d 33  |%!4=100:BLK%!8=3|
0000c870  30 30 3a 42 4c 4b 25 21  31 32 3d 31 32 37 39 3a  |00:BLK%!12=1279:|
0000c880  42 4c 4b 25 21 31 36 3d  36 30 30 3a 42 4c 4b 25  |BLK%!16=600:BLK%|
0000c890  21 32 30 3d 30 3a 42 4c  4b 25 21 32 34 3d 30 3a  |!20=0:BLK%!24=0:|
0000c8a0  42 4c 4b 25 21 32 38 3d  2d 31 3a c8 99 20 22 57  |BLK%!28=-1:.. "W|
0000c8b0  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
0000c8c0  2c 42 4c 4b 25 0d 2b b6  05 e1 0d 2b c0 04 0d 2b  |,BLK%.+....+...+|
0000c8d0  ca 13 dd f2 6f 70 65 6e  77 69 6e 64 28 57 48 25  |....openwind(WH%|
0000c8e0  29 0d 2b d4 32 21 42 4c  4b 25 3d 48 41 4e 44 25  |).+.2!BLK%=HAND%|
0000c8f0  28 57 48 25 29 3a c8 99  20 22 57 69 6d 70 5f 47  |(WH%):.. "Wimp_G|
0000c900  65 74 57 69 6e 64 6f 77  49 6e 66 6f 22 2c 2c 42  |etWindowInfo",,B|
0000c910  4c 4b 25 0d 2b de 29 42  4c 4b 25 21 32 38 3d 2d  |LK%.+.)BLK%!28=-|
0000c920  31 3a c8 99 20 22 57 69  6d 70 5f 4f 70 65 6e 57  |1:.. "Wimp_OpenW|
0000c930  69 6e 64 6f 77 22 2c 2c  42 4c 4b 25 0d 2b e8 05  |indow",,BLK%.+..|
0000c940  e1 0d 2b f2 04 0d 2b fc  14 dd f2 63 6c 6f 73 65  |..+...+....close|
0000c950  77 69 6e 64 28 57 48 25  29 0d 2c 06 30 21 42 4c  |wind(WH%).,.0!BL|
0000c960  4b 25 3d 48 41 4e 44 25  28 57 48 25 29 3a c8 99  |K%=HAND%(WH%):..|
0000c970  20 22 57 69 6d 70 5f 43  6c 6f 73 65 57 69 6e 64  | "Wimp_CloseWind|
0000c980  6f 77 22 2c 2c 42 4c 4b  25 0d 2c 10 05 e1 0d 2c  |ow",,BLK%.,....,|
0000c990  1a 04 0d 2c 24 0c dd f2  6f 70 6d 61 69 6e 0d 2c  |...,$...opmain.,|
0000c9a0  2e 1e c8 99 20 22 57 69  6d 70 5f 4f 70 65 6e 57  |.... "Wimp_OpenW|
0000c9b0  69 6e 64 6f 77 22 2c 2c  42 4c 4b 25 0d 2c 38 05  |indow",,BLK%.,8.|
0000c9c0  e1 0d 2c 42 04 0d 2c 4c  13 dd f2 63 6c 6d 61 69  |..,B..,L...clmai|
0000c9d0  6e 3a 4d 4f 50 25 3d a3  0d 2c 56 1f c8 99 20 22  |n:MOP%=..,V... "|
0000c9e0  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
0000c9f0  22 2c 2c 42 4c 4b 25 0d  2c 60 05 e1 0d 2c 6a 04  |",,BLK%.,`...,j.|
0000ca00  0d 2c 74 0c dd f2 61 69  72 6e 6f 7a 0d 2c 7e 30  |.,t...airnoz.,~0|
0000ca10  48 25 3d 2d 31 3a e3 4c  25 3d 39 20 b8 20 31 35  |H%=-1:.L%=9 . 15|
0000ca20  3a e7 20 a4 68 69 67 68  28 34 2c 4c 25 29 20 8c  |:. .high(4,L%) .|
0000ca30  20 48 25 3d 4c 25 3a 4c  25 3d 31 35 0d 2c 88 05  | H%=L%:L%=15.,..|
0000ca40  ed 0d 2c 92 0b c8 8e 20  48 25 20 ca 0d 2c 9c 13  |..,.... H% ..,..|
0000ca50  c9 20 39 3a 58 52 3d 31  3a 59 52 3d 2e 32 35 0d  |. 9:XR=1:YR=.25.|
0000ca60  2c a6 13 c9 20 31 30 3a  58 52 3d 31 3a 59 52 3d  |,... 10:XR=1:YR=|
0000ca70  2e 35 0d 2c b0 14 c9 20  31 31 3a 58 52 3d 31 3a  |.5.,... 11:XR=1:|
0000ca80  59 52 3d 2e 37 35 0d 2c  ba 12 c9 20 31 32 3a 58  |YR=.75.,... 12:X|
0000ca90  52 3d 31 3a 59 52 3d 31  0d 2c c4 14 c9 20 31 33  |R=1:YR=1.,... 13|
0000caa0  3a 58 52 3d 2e 37 35 3a  59 52 3d 31 0d 2c ce 13  |:XR=.75:YR=1.,..|
0000cab0  c9 20 31 34 3a 58 52 3d  2e 35 3a 59 52 3d 31 0d  |. 14:XR=.5:YR=1.|
0000cac0  2c d8 14 c9 20 31 35 3a  58 52 3d 2e 32 35 3a 59  |,... 15:XR=.25:Y|
0000cad0  52 3d 31 0d 2c e2 05 cb  0d 2c ec 05 e1 0d 2c f6  |R=1.,....,....,.|
0000cae0  04 0d 2d 00 10 dd f2 70  61 69 6e 74 73 63 61 6c  |..-....paintscal|
0000caf0  65 0d 2d 0a 10 21 53 43  41 4c 45 25 3d 42 58 4d  |e.-..!SCALE%=BXM|
0000cb00  25 0d 2d 14 11 53 43 41  4c 45 25 21 34 3d 42 59  |%.-..SCALE%!4=BY|
0000cb10  4d 25 0d 2d 1e 11 53 43  41 4c 45 25 21 38 3d 42  |M%.-..SCALE%!8=B|
0000cb20  58 44 25 0d 2d 28 12 53  43 41 4c 45 25 21 31 32  |XD%.-(.SCALE%!12|
0000cb30  3d 42 59 44 25 0d 2d 32  10 58 52 3d 42 58 4d 25  |=BYD%.-2.XR=BXM%|
0000cb40  2f 42 58 44 25 0d 2d 3c  10 59 52 3d 42 59 4d 25  |/BXD%.-<.YR=BYM%|
0000cb50  2f 42 59 44 25 0d 2d 46  05 e1 0d 2d 50 04 0d 2d  |/BYD%.-F...-P..-|
0000cb60  5a 11 dd f2 70 61 69 6e  74 73 63 61 6c 65 32 0d  |Z...paintscale2.|
0000cb70  2d 64 0d 21 53 43 41 4c  45 25 3d 31 0d 2d 6e 0e  |-d.!SCALE%=1.-n.|
0000cb80  53 43 41 4c 45 25 21 34  3d 31 0d 2d 78 0e 53 43  |SCALE%!4=1.-x.SC|
0000cb90  41 4c 45 25 21 38 3d 31  0d 2d 82 0f 53 43 41 4c  |ALE%!8=1.-..SCAL|
0000cba0  45 25 21 31 32 3d 31 0d  2d 8c 08 58 52 3d 31 0d  |E%!12=1.-..XR=1.|
0000cbb0  2d 96 08 59 52 3d 31 0d  2d a0 05 e1 0d 2d aa 04  |-..YR=1.-....-..|
0000cbc0  0d 2d b4 0e dd f2 70 69  63 63 6c 69 63 6b 0d 2d  |.-....picclick.-|
0000cbd0  be 24 e7 20 4d 42 55 53  25 20 80 20 4d 4f 55 42  |.$. MBUS% . MOUB|
0000cbe0  25 3c 3e 30 20 8c 20 e1  20 8b 20 4d 42 55 53 25  |%<>0 . . . MBUS%|
0000cbf0  3d a3 0d 2d c8 0e c8 8e  20 46 55 53 45 25 20 ca  |=..-.... FUSE% .|
0000cc00  0d 2d d2 a2 c9 20 2d 31  3a e7 20 4d 4f 55 42 25  |.-... -1:. MOUB%|
0000cc10  3d 31 20 8c 20 f2 70 69  63 70 6f 73 3a f2 69 6e  |=1 . .picpos:.in|
0000cc20  70 69 63 3a 43 4f 25 3d  b0 58 25 2c 59 25 29 3a  |pic:CO%=.X%,Y%):|
0000cc30  54 49 25 3d c8 9c 28 58  25 2c 59 25 29 3a e6 33  |TI%=..(X%,Y%):.3|
0000cc40  2c 36 33 20 c8 9c 20 31  39 32 3a f0 36 39 2c 34  |,63 .. 192:.69,4|
0000cc50  30 30 2c 34 30 30 3a f0  36 39 2c 34 30 30 2c 34  |00,400:.69,400,4|
0000cc60  30 30 3a f2 6f 75 74 70  69 63 3a f2 74 72 61 73  |00:.outpic:.tras|
0000cc70  70 28 a4 66 69 6e 64 70  61 6c 65 6e 74 28 43 4f  |p(.findpalent(CO|
0000cc80  25 2c 54 49 25 29 29 3a  f2 66 6f 72 63 65 64 72  |%,TI%)):.forcedr|
0000cc90  61 77 70 61 6c 28 50 41  4c 25 29 3a e5 20 8d 54  |awpal(PAL%):. .T|
0000cca0  6a 70 0d 2d dc 9a e7 20  4d 4f 55 42 25 3d 34 20  |jp.-... MOUB%=4 |
0000ccb0  8c 20 f2 70 69 63 70 6f  73 3a f2 69 6e 70 69 63  |. .picpos:.inpic|
0000ccc0  3a 43 4f 25 3d b0 58 25  2c 59 25 29 3a 54 49 25  |:CO%=.X%,Y%):TI%|
0000ccd0  3d c8 9c 28 58 25 2c 59  25 29 3a e6 33 2c 36 33  |=..(X%,Y%):.3,63|
0000cce0  20 c8 9c 20 31 39 32 3a  f0 36 39 2c 34 30 30 2c  | .. 192:.69,400,|
0000ccf0  34 30 30 3a f0 36 39 2c  34 30 30 2c 34 30 30 3a  |400:.69,400,400:|
0000cd00  f2 6f 75 74 70 69 63 3a  43 4f 4c 25 3d a4 66 69  |.outpic:COL%=.fi|
0000cd10  6e 64 70 61 6c 65 6e 74  28 43 4f 25 2c 54 49 25  |ndpalent(CO%,TI%|
0000cd20  29 3a f2 66 6f 72 63 65  64 72 61 77 70 61 6c 28  |):.forcedrawpal(|
0000cd30  50 41 4c 25 29 3a e5 20  8d 54 6a 70 0d 2d e6 3f  |PAL%):. .Tjp.-.?|
0000cd40  c9 20 30 3a f2 70 69 63  70 6f 73 3a f2 69 6e 70  |. 0:.picpos:.inp|
0000cd50  69 63 3a f2 73 65 74 63  6f 6c 3a f0 36 39 2c 58  |ic:.setcol:.69,X|
0000cd60  25 2c 59 25 3a f2 6f 75  74 70 69 63 3a f2 71 75  |%,Y%:.outpic:.qu|
0000cd70  69 63 6b 64 72 61 77 6d  61 69 6e 0d 2d f0 20 c9  |ickdrawmain.-. .|
0000cd80  20 33 3a f2 61 69 72 6e  6f 7a 3a e7 20 48 25 3d  | 3:.airnoz:. H%=|
0000cd90  2d 31 20 8c 20 e5 20 8d  54 6a 70 0d 2d fa a3 f2  |-1 . . .Tjp.-...|
0000cda0  70 69 63 70 6f 73 3a f2  69 6e 70 69 63 3a f2 73  |picpos:.inpic:.s|
0000cdb0  65 74 63 6f 6c 3a 44 25  3d bb 28 a4 67 65 74 69  |etcol:D%=.(.geti|
0000cdc0  63 6f 6e 28 34 2c 31 29  29 3a 52 25 3d bb 28 a4  |con(4,1)):R%=.(.|
0000cdd0  67 65 74 69 63 6f 6e 28  34 2c 33 29 29 3a e3 4c  |geticon(4,3)):.L|
0000cde0  25 3d 31 20 b8 20 44 25  3a 41 3d b3 28 33 36 30  |%=1 . D%:A=.(360|
0000cdf0  30 29 2f 31 30 3a f0 36  39 2c 9b 28 b2 28 41 29  |0)/10:.69,.(.(A)|
0000ce00  29 2a b3 28 28 52 25 2a  58 52 29 29 2b 58 25 2c  |)*.((R%*XR))+X%,|
0000ce10  b5 28 b2 28 41 29 29 2a  b3 28 28 52 25 2a 59 52  |.(.(A))*.((R%*YR|
0000ce20  29 29 2b 59 25 3a ed 3a  f2 6f 75 74 70 69 63 3a  |))+Y%:.:.outpic:|
0000ce30  f2 71 75 69 63 6b 64 72  61 77 6d 61 69 6e 0d 2e  |.quickdrawmain..|
0000ce40  04 22 c9 20 34 3a f2 70  61 69 6e 74 73 63 61 6c  |.". 4:.paintscal|
0000ce50  65 3a f2 69 6e 70 69 63  3a f2 70 69 63 70 6f 73  |e:.inpic:.picpos|
0000ce60  0d 2e 0e 2e e7 20 46 55  53 54 25 3c 3e 30 20 8c  |..... FUST%<>0 .|
0000ce70  20 f2 65 6f 72 62 61 63  6b 3a f2 70 61 69 6e 74  | .eorback:.paint|
0000ce80  62 72 75 73 68 28 4f 58  25 2c 4f 59 25 29 0d 2e  |brush(OX%,OY%)..|
0000ce90  18 38 f2 73 65 74 62 61  63 6b 63 6f 6c 3a f2 70  |.8.setbackcol:.p|
0000cea0  61 69 6e 74 62 72 75 73  68 28 58 25 2c 59 25 29  |aintbrush(X%,Y%)|
0000ceb0  3a 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a 46  |:OX%=X%:OY%=Y%:F|
0000cec0  55 53 54 25 3d 31 0d 2e  22 21 f2 65 6f 72 62 61  |UST%=1.."!.eorba|
0000ced0  63 6b 3a f2 70 61 69 6e  74 62 72 75 73 68 28 4f  |ck:.paintbrush(O|
0000cee0  58 25 2c 4f 59 25 29 0d  2e 2c 1a f2 6f 75 74 70  |X%,OY%)..,..outp|
0000cef0  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
0000cf00  6e 0d 2e 36 1c c9 20 32  34 3a e7 20 4d 4f 55 42  |n..6.. 24:. MOUB|
0000cf10  25 3c 3e 34 20 8c 20 e5  20 8d 54 6a 70 0d 2e 40  |%<>4 . . .Tjp..@|
0000cf20  c6 f2 70 69 63 70 6f 73  3a f2 69 6e 70 69 63 3a  |..picpos:.inpic:|
0000cf30  e6 33 2c 36 33 20 c8 9c  20 31 39 32 3a f0 36 39  |.3,63 .. 192:.69|
0000cf40  2c 34 30 30 2c 34 30 30  3a f0 36 39 2c 34 30 30  |,400,400:.69,400|
0000cf50  2c 34 30 30 3a f2 73 65  74 63 6f 6c 3a 54 43 4f  |,400:.setcol:TCO|
0000cf60  25 3d b0 58 25 2d 32 2c  59 25 29 3a 54 54 49 25  |%=.X%-2,Y%):TTI%|
0000cf70  3d c8 9c 28 58 25 2d 32  2c 59 25 29 3a 54 50 45  |=..(X%-2,Y%):TPE|
0000cf80  25 3d a4 66 69 6e 64 70  61 6c 65 6e 74 28 54 43  |%=.findpalent(TC|
0000cf90  4f 25 2c 54 54 49 25 29  3a e7 20 54 50 45 25 3d  |O%,TTI%):. TPE%=|
0000cfa0  43 4f 4c 25 20 8c 20 f2  6f 75 74 70 69 63 3a f2  |COL% . .outpic:.|
0000cfb0  6d 65 73 73 61 67 65 28  30 2c 22 43 61 6e 6e 6f  |message(0,"Canno|
0000cfc0  74 20 74 72 61 63 65 20  74 68 65 20 63 6f 6c 6f  |t trace the colo|
0000cfd0  75 72 20 79 6f 75 20 61  72 65 20 75 73 69 6e 67  |ur you are using|
0000cfe0  2e 22 29 0d 2e 4a 32 f2  74 72 61 63 65 28 58 25  |.")..J2.trace(X%|
0000cff0  2c 59 25 2c 54 43 4f 25  2c 54 54 49 25 29 3a f2  |,Y%,TCO%,TTI%):.|
0000d000  6f 75 74 70 69 63 3a f2  71 75 69 63 6b 64 72 61  |outpic:.quickdra|
0000d010  77 6d 61 69 6e 0d 2e 54  17 c9 20 32 36 3a e7 20  |wmain..T.. 26:. |
0000d020  4d 4f 55 42 25 3c 3e 34  20 8c 20 e1 0d 2e 5e 47  |MOUB%<>4 . ...^G|
0000d030  f2 69 6e 70 69 63 3a ef  32 33 2c 31 37 2c 34 2c  |.inpic:.23,17,4,|
0000d040  31 2c 30 7c 3a e3 4c 25  3d 31 20 b8 20 34 3a ef  |1,0|:.L%=1 . 4:.|
0000d050  32 33 2c 4c 25 2b 31 3a  e3 4b 25 3d 31 20 b8 20  |23,L%+1:.K%=1 . |
0000d060  38 3a ef 20 45 43 46 25  28 4b 25 2c 4c 25 29 3a  |8:. ECF%(K%,L%):|
0000d070  ed 3a ed 0d 2e 68 74 f2  70 69 63 70 6f 73 3a e6  |.:...ht.picpos:.|
0000d080  30 2c b0 58 25 2c 59 25  29 2b 31 32 38 20 c8 9c  |0,.X%,Y%)+128 ..|
0000d090  20 c8 9c 28 58 25 2c 59  25 29 3a f2 73 65 74 63  | ..(X%,Y%):.setc|
0000d0a0  6f 6c 3a c8 99 20 22 48  6f 75 72 67 6c 61 73 73  |ol:.. "Hourglass|
0000d0b0  5f 4f 6e 22 3a c8 90 20  58 25 2c 59 25 3a c8 99  |_On":.. X%,Y%:..|
0000d0c0  20 22 48 6f 75 72 67 6c  61 73 73 5f 4f 66 66 22  | "Hourglass_Off"|
0000d0d0  3a f2 6f 75 74 70 69 63  3a f2 71 75 69 63 6b 64  |:.outpic:.quickd|
0000d0e0  72 61 77 6d 61 69 6e 0d  2e 72 24 c9 20 32 39 3a  |rawmain..r$. 29:|
0000d0f0  f2 70 61 69 6e 74 73 63  61 6c 65 32 3a f2 69 6e  |.paintscale2:.in|
0000d100  70 69 63 3a f2 70 69 63  70 6f 73 0d 2e 7c 2f e7  |pic:.picpos..|/.|
0000d110  20 46 55 53 54 25 3c 3e  30 20 8c 20 f2 65 6f 72  | FUST%<>0 . .eor|
0000d120  62 61 63 6b 3a f2 70 61  69 6e 74 62 72 75 73 68  |back:.paintbrush|
0000d130  32 28 4f 58 25 2c 4f 59  25 29 0d 2e 86 20 56 41  |2(OX%,OY%)... VA|
0000d140  52 53 21 32 30 3d 42 54  43 25 3a 56 41 52 53 21  |RS!20=BTC%:VARS!|
0000d150  32 34 3d 50 41 4c 54 41  42 25 0d 2e 90 1f 56 41  |24=PALTAB%....VA|
0000d160  52 53 21 32 38 3d 50 49  43 25 3a 56 41 52 53 21  |RS!28=PIC%:VARS!|
0000d170  33 32 3d 53 50 42 55 46  25 0d 2e 9a 1f 56 41 52  |32=SPBUF%....VAR|
0000d180  53 21 33 36 3d 58 25 2d  33 32 3a 56 41 52 53 21  |S!36=X%-32:VARS!|
0000d190  34 30 3d 59 25 2d 33 32  0d 2e a4 21 56 41 52 53  |40=Y%-32...!VARS|
0000d1a0  21 34 34 3d 53 45 4c 42  52 25 3a 56 41 52 53 21  |!44=SELBR%:VARS!|
0000d1b0  34 38 3d 42 52 55 53 48  25 0d 2e ae 1a 41 25 3d  |48=BRUSH%....A%=|
0000d1c0  56 41 52 53 3a d6 20 61  76 65 72 61 67 65 62 72  |VARS:. averagebr|
0000d1d0  75 73 68 0d 2e b8 33 e6  33 2c 36 33 3a c8 93 20  |ush...3.3,63:.. |
0000d1e0  58 25 2d 33 32 2c 59 25  2d 33 32 2c 36 34 2c 36  |X%-32,Y%-32,64,6|
0000d1f0  34 3a c8 93 20 58 25 2d  33 32 2c 59 25 2d 33 32  |4:.. X%-32,Y%-32|
0000d200  2c 36 34 2c 36 34 0d 2e  c2 38 4f 58 25 3d 58 25  |,64,64...8OX%=X%|
0000d210  3a 4f 59 25 3d 59 25 3a  46 55 53 54 25 3d 31 3a  |:OY%=Y%:FUST%=1:|
0000d220  f2 65 6f 72 62 61 63 6b  3a f2 70 61 69 6e 74 62  |.eorback:.paintb|
0000d230  72 75 73 68 32 28 4f 58  25 2c 4f 59 25 29 0d 2e  |rush2(OX%,OY%)..|
0000d240  cc 1a f2 6f 75 74 70 69  63 3a f2 71 75 69 63 6b  |...outpic:.quick|
0000d250  64 72 61 77 6d 61 69 6e  0d 2e d6 24 c9 20 33 30  |drawmain...$. 30|
0000d260  3a f2 70 61 69 6e 74 73  63 61 6c 65 32 3a f2 69  |:.paintscale2:.i|
0000d270  6e 70 69 63 3a f2 70 69  63 70 6f 73 0d 2e e0 2f  |npic:.picpos.../|
0000d280  e7 20 46 55 53 54 25 3c  3e 30 20 8c 20 f2 65 6f  |. FUST%<>0 . .eo|
0000d290  72 62 61 63 6b 3a f2 70  61 69 6e 74 62 72 75 73  |rback:.paintbrus|
0000d2a0  68 32 28 4f 58 25 2c 4f  59 25 29 0d 2e ea 20 56  |h2(OX%,OY%)... V|
0000d2b0  41 52 53 21 32 30 3d 42  54 43 25 3a 56 41 52 53  |ARS!20=BTC%:VARS|
0000d2c0  21 32 34 3d 50 41 4c 54  41 42 25 0d 2e f4 1f 56  |!24=PALTAB%....V|
0000d2d0  41 52 53 21 32 38 3d 50  49 43 25 3a 56 41 52 53  |ARS!28=PIC%:VARS|
0000d2e0  21 33 32 3d 53 50 42 55  46 25 0d 2e fe 1f 56 41  |!32=SPBUF%....VA|
0000d2f0  52 53 21 33 36 3d 58 25  2d 33 32 3a 56 41 52 53  |RS!36=X%-32:VARS|
0000d300  21 34 30 3d 59 25 2d 33  32 0d 2f 08 21 56 41 52  |!40=Y%-32./.!VAR|
0000d310  53 21 34 34 3d 53 45 4c  42 52 25 3a 56 41 52 53  |S!44=SELBR%:VARS|
0000d320  21 34 38 3d 42 52 55 53  48 25 0d 2f 12 39 56 41  |!48=BRUSH%./.9VA|
0000d330  52 53 21 38 34 3d 50 41  4c 54 41 42 25 3f 28 43  |RS!84=PALTAB%?(C|
0000d340  4f 4c 25 2a 32 29 3a 56  41 52 53 21 38 38 3d 50  |OL%*2):VARS!88=P|
0000d350  41 4c 54 41 42 25 3f 28  28 43 4f 4c 25 2a 32 29  |ALTAB%?((COL%*2)|
0000d360  2b 31 29 0d 2f 1c 17 41  25 3d 56 41 52 53 3a d6  |+1)./..A%=VARS:.|
0000d370  20 74 69 6e 74 62 72 75  73 68 0d 2f 26 33 e6 33  | tintbrush./&3.3|
0000d380  2c 36 33 3a c8 93 20 58  25 2d 33 32 2c 59 25 2d  |,63:.. X%-32,Y%-|
0000d390  33 32 2c 36 34 2c 36 34  3a c8 93 20 58 25 2d 33  |32,64,64:.. X%-3|
0000d3a0  32 2c 59 25 2d 33 32 2c  36 34 2c 36 34 0d 2f 30  |2,Y%-32,64,64./0|
0000d3b0  38 4f 58 25 3d 58 25 3a  4f 59 25 3d 59 25 3a 46  |8OX%=X%:OY%=Y%:F|
0000d3c0  55 53 54 25 3d 31 3a f2  65 6f 72 62 61 63 6b 3a  |UST%=1:.eorback:|
0000d3d0  f2 70 61 69 6e 74 62 72  75 73 68 32 28 4f 58 25  |.paintbrush2(OX%|
0000d3e0  2c 4f 59 25 29 0d 2f 3a  1a f2 6f 75 74 70 69 63  |,OY%)./:..outpic|
0000d3f0  3a f2 71 75 69 63 6b 64  72 61 77 6d 61 69 6e 0d  |:.quickdrawmain.|
0000d400  2f 44 21 c9 20 33 31 3a  e7 20 4d 4f 55 42 25 3c  |/D!. 31:. MOUB%<|
0000d410  3e 34 20 84 20 47 52 54  59 25 3d 31 20 8c 20 e1  |>4 . GRTY%=1 . .|
0000d420  0d 2f 4e 2d f2 73 70 69  6e 69 74 3a f2 73 70 62  |./N-.spinit:.spb|
0000d430  75 66 28 31 34 35 2a 31  30 32 34 29 3a e7 20 51  |uf(145*1024):. Q|
0000d440  25 20 8c 20 f2 73 70 62  75 66 65 72 72 0d 2f 58  |% . .spbuferr./X|
0000d450  0e f2 62 61 63 6b 75 70  70 69 63 0d 2f 62 58 f2  |..backuppic./bX.|
0000d460  69 6e 62 61 63 6b 75 70  3a f2 70 69 63 70 6f 73  |inbackup:.picpos|
0000d470  3a 46 42 43 25 3d b0 58  25 2c 59 25 29 3a 46 42  |:FBC%=.X%,Y%):FB|
0000d480  54 25 3d c8 9c 28 58 25  2c 59 25 29 3a e6 30 2c  |T%=..(X%,Y%):.0,|
0000d490  46 42 43 25 2b 31 32 38  20 c8 9c 20 46 42 54 25  |FBC%+128 .. FBT%|
0000d4a0  3a 46 55 54 25 3d 28 46  42 43 25 2b 31 29 20 83  |:FUT%=(FBC%+1) .|
0000d4b0  20 36 34 0d 2f 6c 39 e6  30 2c 46 55 54 25 20 c8  | 64./l9.0,FUT% .|
0000d4c0  9c 20 46 42 54 25 3a c8  99 20 22 48 6f 75 72 67  |. FBT%:.. "Hourg|
0000d4d0  6c 61 73 73 5f 4f 6e 22  3a c8 90 20 58 25 2c 59  |lass_On":.. X%,Y|
0000d4e0  25 3a f2 6f 75 74 62 61  63 6b 75 70 0d 2f 76 2d  |%:.outbackup./v-|
0000d4f0  41 25 3d 56 41 52 53 3a  42 25 3d 50 49 43 25 3a  |A%=VARS:B%=PIC%:|
0000d500  43 25 3d 53 50 42 55 46  25 3a d6 20 66 69 6e 64  |C%=SPBUF%:. find|
0000d510  63 68 61 6e 67 65 62 6f  78 0d 2f 80 14 46 4d 49  |changebox./..FMI|
0000d520  4e 58 25 3d 28 21 56 41  52 53 29 2a 32 0d 2f 8a  |NX%=(!VARS)*2./.|
0000d530  15 46 4d 49 4e 59 25 3d  28 56 41 52 53 21 34 29  |.FMINY%=(VARS!4)|
0000d540  2a 34 0d 2f 94 15 46 4d  41 58 58 25 3d 28 56 41  |*4./..FMAXX%=(VA|
0000d550  52 53 21 38 29 2a 32 0d  2f 9e 16 46 4d 41 58 59  |RS!8)*2./..FMAXY|
0000d560  25 3d 28 56 41 52 53 21  31 32 29 2a 34 0d 2f a8  |%=(VARS!12)*4./.|
0000d570  09 f2 66 69 6c 6c 0d 2f  b2 16 c8 99 20 22 48 6f  |..fill./.... "Ho|
0000d580  75 72 67 6c 61 73 73 5f  4f 66 66 22 0d 2f bc 17  |urglass_Off"./..|
0000d590  c9 20 33 37 3a e7 20 4d  4f 55 42 25 3c 3e 34 20  |. 37:. MOUB%<>4 |
0000d5a0  8c 20 e1 0d 2f c6 2d f2  73 70 69 6e 69 74 3a f2  |. ../.-.spinit:.|
0000d5b0  73 70 62 75 66 28 31 34  35 2a 31 30 32 34 29 3a  |spbuf(145*1024):|
0000d5c0  e7 20 51 25 20 8c 20 f2  73 70 62 75 66 65 72 72  |. Q% . .spbuferr|
0000d5d0  0d 2f d0 0e f2 62 61 63  6b 75 70 70 69 63 0d 2f  |./...backuppic./|
0000d5e0  da 58 f2 69 6e 62 61 63  6b 75 70 3a f2 70 69 63  |.X.inbackup:.pic|
0000d5f0  70 6f 73 3a 46 42 43 25  3d b0 58 25 2c 59 25 29  |pos:FBC%=.X%,Y%)|
0000d600  3a 46 42 54 25 3d c8 9c  28 58 25 2c 59 25 29 3a  |:FBT%=..(X%,Y%):|
0000d610  e6 30 2c 46 42 43 25 2b  31 32 38 20 c8 9c 20 46  |.0,FBC%+128 .. F|
0000d620  42 54 25 3a 46 55 54 25  3d 28 46 42 43 25 2b 31  |BT%:FUT%=(FBC%+1|
0000d630  29 20 83 20 36 34 0d 2f  e4 39 e6 30 2c 46 55 54  |) . 64./.9.0,FUT|
0000d640  25 20 c8 9c 20 46 42 54  25 3a c8 99 20 22 48 6f  |% .. FBT%:.. "Ho|
0000d650  75 72 67 6c 61 73 73 5f  4f 6e 22 3a c8 90 20 58  |urglass_On":.. X|
0000d660  25 2c 59 25 3a f2 6f 75  74 62 61 63 6b 75 70 0d  |%,Y%:.outbackup.|
0000d670  2f ee 2d 41 25 3d 56 41  52 53 3a 42 25 3d 50 49  |/.-A%=VARS:B%=PI|
0000d680  43 25 3a 43 25 3d 53 50  42 55 46 25 3a d6 20 66  |C%:C%=SPBUF%:. f|
0000d690  69 6e 64 63 68 61 6e 67  65 62 6f 78 0d 2f f8 4b  |indchangebox./.K|
0000d6a0  46 4d 49 4e 58 25 3d 28  21 56 41 52 53 29 2a 32  |FMINX%=(!VARS)*2|
0000d6b0  3a 46 4d 49 4e 59 25 3d  28 56 41 52 53 21 34 29  |:FMINY%=(VARS!4)|
0000d6c0  2a 34 3a 46 4d 41 58 58  25 3d 28 56 41 52 53 21  |*4:FMAXX%=(VARS!|
0000d6d0  38 29 2a 32 3a 46 4d 41  58 59 25 3d 28 56 41 52  |8)*2:FMAXY%=(VAR|
0000d6e0  53 21 31 32 29 2a 34 0d  30 02 3a 56 41 52 53 21  |S!12)*4.0.:VARS!|
0000d6f0  34 3d 50 49 43 25 3a 56  41 52 53 21 38 3d 53 50  |4=PIC%:VARS!8=SP|
0000d700  42 55 46 25 3a 56 41 52  53 21 31 32 3d 50 46 49  |BUF%:VARS!12=PFI|
0000d710  4c 4c 53 25 3a 56 41 52  53 21 31 36 3d 43 50 46  |LLS%:VARS!16=CPF|
0000d720  25 0d 30 0c 0d d6 20 70  61 74 66 69 6c 6c 0d 30  |%.0... patfill.0|
0000d730  16 15 c8 99 22 48 6f 75  72 67 6c 61 73 73 5f 4f  |...."Hourglass_O|
0000d740  66 66 22 0d 30 20 1a f2  73 70 69 6e 69 74 3a f2  |ff".0 ..spinit:.|
0000d750  66 6f 72 63 65 64 72 61  77 6d 61 69 6e 0d 30 2a  |forcedrawmain.0*|
0000d760  05 cb 0d 30 34 05 e1 0d  30 3e 04 0d 30 48 0a dd  |...04...0>..0H..|
0000d770  f2 66 69 6c 6c 0d 30 52  19 4e 4f 53 25 3d bb a4  |.fill.0R.NOS%=..|
0000d780  67 65 74 69 63 6f 6e 28  31 33 2c 34 34 29 0d 30  |geticon(13,44).0|
0000d790  5c 0e 4e 4f 46 25 3d 47  52 46 4e 25 0d 30 66 09  |\.NOF%=GRFN%.0f.|
0000d7a0  45 54 25 3d 30 0d 30 70  1a e7 20 a4 68 69 67 68  |ET%=0.0p.. .high|
0000d7b0  28 31 33 2c 35 35 29 20  8c 20 45 54 25 3d 31 0d  |(13,55) . ET%=1.|
0000d7c0  30 7a 1a e7 20 a4 68 69  67 68 28 31 33 2c 35 36  |0z.. .high(13,56|
0000d7d0  29 20 8c 20 45 54 25 3d  32 0d 30 84 1a e7 20 a4  |) . ET%=2.0... .|
0000d7e0  68 69 67 68 28 31 33 2c  35 37 29 20 8c 20 45 54  |high(13,57) . ET|
0000d7f0  25 3d 33 0d 30 8e 1a e7  20 a4 68 69 67 68 28 31  |%=3.0... .high(1|
0000d800  33 2c 35 38 29 20 8c 20  45 54 25 3d 34 0d 30 98  |3,58) . ET%=4.0.|
0000d810  0b 46 49 54 25 3d 2d 31  0d 30 a2 1b e7 20 a4 68  |.FIT%=-1.0... .h|
0000d820  69 67 68 28 31 33 2c 32  32 29 20 8c 20 46 49 54  |igh(13,22) . FIT|
0000d830  25 3d 31 0d 30 ac 1b e7  20 a4 68 69 67 68 28 31  |%=1.0... .high(1|
0000d840  33 2c 32 33 29 20 8c 20  46 49 54 25 3d 32 0d 30  |3,23) . FIT%=2.0|
0000d850  b6 1b e7 20 a4 68 69 67  68 28 31 33 2c 36 34 29  |... .high(13,64)|
0000d860  20 8c 20 46 49 54 25 3d  33 0d 30 c0 1b e7 20 a4  | . FIT%=3.0... .|
0000d870  68 69 67 68 28 31 33 2c  36 35 29 20 8c 20 46 49  |high(13,65) . FI|
0000d880  54 25 3d 34 0d 30 ca 1b  e7 20 a4 68 69 67 68 28  |T%=4.0... .high(|
0000d890  31 33 2c 32 34 29 20 8c  20 46 49 54 25 3d 35 0d  |13,24) . FIT%=5.|
0000d8a0  30 d4 1b e7 20 a4 68 69  67 68 28 31 33 2c 32 35  |0... .high(13,25|
0000d8b0  29 20 8c 20 46 49 54 25  3d 36 0d 30 de 1c e7 20  |) . FIT%=6.0... |
0000d8c0  45 54 25 3d 31 20 84 20  45 54 25 3d 32 20 8c 20  |ET%=1 . ET%=2 . |
0000d8d0  46 49 54 25 3d 31 0d 30  e8 1c e7 20 45 54 25 3d  |FIT%=1.0... ET%=|
0000d8e0  33 20 84 20 45 54 25 3d  34 20 8c 20 46 49 54 25  |3 . ET%=4 . FIT%|
0000d8f0  3d 34 0d 30 f2 45 e7 20  46 49 54 25 3d 2d 31 20  |=4.0.E. FIT%=-1 |
0000d900  8c 20 f2 73 70 69 6e 69  74 3a f2 6d 65 73 73 61  |. .spinit:.messa|
0000d910  67 65 28 30 2c 22 59 6f  75 20 6d 75 73 74 20 63  |ge(0,"You must c|
0000d920  68 6f 6f 73 65 20 61 20  74 79 70 65 20 6f 66 20  |hoose a type of |
0000d930  66 69 6c 6c 2e 22 29 0d  30 fc 0d c8 8e 20 46 49  |fill.").0.... FI|
0000d940  54 25 20 ca 0d 31 06 33  c9 20 31 3a 46 49 57 25  |T% ..1.3. 1:FIW%|
0000d950  3d 46 4d 41 58 58 25 2d  46 4d 49 4e 58 25 3a 46  |=FMAXX%-FMINX%:F|
0000d960  49 46 43 25 3d 30 3a 4c  41 46 43 25 3d 32 35 35  |IFC%=0:LAFC%=255|
0000d970  3a 46 49 44 25 3d 31 0d  31 10 34 c9 20 32 3a 46  |:FID%=1.1.4. 2:F|
0000d980  49 57 25 3d 46 4d 41 58  58 25 2d 46 4d 49 4e 58  |IW%=FMAXX%-FMINX|
0000d990  25 3a 46 49 46 43 25 3d  32 35 35 3a 4c 41 46 43  |%:FIFC%=255:LAFC|
0000d9a0  25 3d 30 3a 46 49 44 25  3d 2d 31 0d 31 1a 33 c9  |%=0:FID%=-1.1.3.|
0000d9b0  20 34 3a 46 49 57 25 3d  46 4d 41 58 59 25 2d 46  | 4:FIW%=FMAXY%-F|
0000d9c0  4d 49 4e 59 25 3a 46 49  46 43 25 3d 30 3a 4c 41  |MINY%:FIFC%=0:LA|
0000d9d0  46 43 25 3d 32 35 35 3a  46 49 44 25 3d 31 0d 31  |FC%=255:FID%=1.1|
0000d9e0  24 34 c9 20 33 3a 46 49  57 25 3d 46 4d 41 58 59  |$4. 3:FIW%=FMAXY|
0000d9f0  25 2d 46 4d 49 4e 59 25  3a 46 49 46 43 25 3d 32  |%-FMINY%:FIFC%=2|
0000da00  35 35 3a 4c 41 46 43 25  3d 30 3a 46 49 44 25 3d  |55:LAFC%=0:FID%=|
0000da10  2d 31 0d 31 2e 20 c9 20  35 3a 46 49 46 43 25 3d  |-1.1. . 5:FIFC%=|
0000da20  30 3a 4c 41 46 43 25 3d  32 35 35 3a 46 49 44 25  |0:LAFC%=255:FID%|
0000da30  3d 31 0d 31 38 21 c9 20  36 3a 46 49 46 43 25 3d  |=1.18!. 6:FIFC%=|
0000da40  32 35 35 3a 4c 41 46 43  25 3d 30 3a 46 49 44 25  |255:LAFC%=0:FID%|
0000da50  3d 2d 31 0d 31 42 05 cb  0d 31 4c 17 e7 20 46 49  |=-1.1B...1L.. FI|
0000da60  54 25 3d 35 20 84 20 46  49 54 25 3d 36 20 8c 0d  |T%=5 . FIT%=6 ..|
0000da70  31 56 3f e7 20 28 46 4d  41 58 58 25 2d 58 25 29  |1V?. (FMAXX%-X%)|
0000da80  3e 28 58 25 2d 46 4d 49  4e 58 25 29 20 8c 20 58  |>(X%-FMINX%) . X|
0000da90  4f 46 25 3d 46 4d 41 58  58 25 2d 58 25 20 8b 20  |OF%=FMAXX%-X% . |
0000daa0  58 4f 46 25 3d 58 25 2d  46 4d 49 4e 58 25 0d 31  |XOF%=X%-FMINX%.1|
0000dab0  60 3f e7 20 28 46 4d 41  58 59 25 2d 59 25 29 3e  |`?. (FMAXY%-Y%)>|
0000dac0  28 59 25 2d 46 4d 49 4e  59 25 29 20 8c 20 59 4f  |(Y%-FMINY%) . YO|
0000dad0  46 25 3d 46 4d 41 58 59  25 2d 59 25 20 8b 20 59  |F%=FMAXY%-Y% . Y|
0000dae0  4f 46 25 3d 59 25 2d 46  4d 49 4e 59 25 0d 31 6a  |OF%=Y%-FMINY%.1j|
0000daf0  1d 46 49 57 25 3d b6 28  28 58 4f 46 25 5e 32 29  |.FIW%=.((XOF%^2)|
0000db00  2b 28 59 4f 46 25 5e 32  29 29 0d 31 74 05 cd 0d  |+(YOF%^2)).1t...|
0000db10  31 7e 31 43 50 50 25 3d  28 32 35 35 3c 3c 38 29  |1~1CPP%=(255<<8)|
0000db20  20 81 20 46 49 57 25 3a  43 50 53 25 3d 28 32 35  | . FIW%:CPS%=(25|
0000db30  35 3c 3c 38 29 20 81 20  28 4e 4f 53 25 2d 31 29  |5<<8) . (NOS%-1)|
0000db40  0d 31 88 48 49 25 3d 49  4f 25 3a e3 4c 25 3d 30  |.1.HI%=IO%:.L%=0|
0000db50  20 b8 20 31 35 3a 3f 49  25 3d 47 52 46 49 25 28  | . 15:?I%=GRFI%(|
0000db60  4c 25 2c 30 2c 4e 4f 46  25 29 3a 49 25 3f 31 3d  |L%,0,NOF%):I%?1=|
0000db70  47 52 46 49 25 28 4c 25  2c 31 2c 4e 4f 46 25 29  |GRFI%(L%,1,NOF%)|
0000db80  3a 49 25 2b 3d 32 3a ed  0d 31 92 36 21 56 41 52  |:I%+=2:..1.6!VAR|
0000db90  53 3d 50 49 43 25 3a e7  20 47 52 54 59 25 3d 30  |S=PIC%:. GRTY%=0|
0000dba0  20 8c 20 56 41 52 53 21  34 3d 53 50 42 55 46 25  | . VARS!4=SPBUF%|
0000dbb0  20 8b 20 56 41 52 53 21  34 3d 50 49 43 25 0d 31  | . VARS!4=PIC%.1|
0000dbc0  9c cd 56 41 52 53 21 38  3d 49 4f 25 3a 56 41 52  |..VARS!8=IO%:VAR|
0000dbd0  53 21 31 32 3d 4e 4f 53  25 3a 56 41 52 53 21 31  |S!12=NOS%:VARS!1|
0000dbe0  36 3d 46 49 46 43 25 3a  56 41 52 53 21 32 30 3d  |6=FIFC%:VARS!20=|
0000dbf0  4c 41 46 43 25 3a 56 41  52 53 21 32 34 3d 46 49  |LAFC%:VARS!24=FI|
0000dc00  44 25 3a 56 41 52 53 21  32 38 3d 43 50 50 25 3a  |D%:VARS!28=CPP%:|
0000dc10  56 41 52 53 21 33 32 3d  43 50 53 25 3a 56 41 52  |VARS!32=CPS%:VAR|
0000dc20  53 21 33 36 3d 58 25 3a  56 41 52 53 21 34 30 3d  |S!36=X%:VARS!40=|
0000dc30  59 25 3a 56 41 52 53 21  34 34 3d 52 4f 54 54 41  |Y%:VARS!44=ROTTA|
0000dc40  42 25 3a 56 41 52 53 21  34 38 3d 46 49 54 25 3a  |B%:VARS!48=FIT%:|
0000dc50  56 41 52 53 21 35 32 3d  46 4d 49 4e 58 25 3a 56  |VARS!52=FMINX%:V|
0000dc60  41 52 53 21 35 36 3d 46  4d 49 4e 59 25 3a 56 41  |ARS!56=FMINY%:VA|
0000dc70  52 53 21 36 30 3d 46 4d  41 58 58 25 3a 56 41 52  |RS!60=FMAXX%:VAR|
0000dc80  53 21 36 34 3d 46 4d 41  58 59 25 0d 31 a6 1b 56  |S!64=FMAXY%.1..V|
0000dc90  41 52 53 21 36 38 3d 52  41 4e 44 25 3a 56 41 52  |ARS!68=RAND%:VAR|
0000dca0  53 21 37 32 3d 30 0d 31  b0 1c 56 41 52 53 21 37  |S!72=0.1..VARS!7|
0000dcb0  36 3d bb a4 67 65 74 69  63 6f 6e 28 31 33 2c 33  |6=..geticon(13,3|
0000dcc0  39 29 0d 31 ba 2a e7 20  a4 68 69 67 68 28 31 33  |9).1.*. .high(13|
0000dcd0  2c 35 34 29 20 8c 20 56  41 52 53 21 38 30 3d 31  |,54) . VARS!80=1|
0000dce0  20 8b 20 56 41 52 53 21  38 30 3d 30 0d 31 c4 39  | . VARS!80=0.1.9|
0000dcf0  56 41 52 53 21 38 34 3d  45 54 25 3a 56 41 52 53  |VARS!84=ET%:VARS|
0000dd00  21 38 38 3d 54 52 41 53  50 25 3a 56 41 52 53 21  |!88=TRASP%:VARS!|
0000dd10  39 32 3d 47 52 54 59 25  3a 56 41 52 53 21 39 36  |92=GRTY%:VARS!96|
0000dd20  3d 42 54 43 25 0d 31 ce  27 e3 4c 25 3d 30 20 b8  |=BTC%.1.'.L%=0 .|
0000dd30  20 34 30 39 32 20 88 20  34 3a 52 41 4e 44 25 21  | 4092 . 4:RAND%!|
0000dd40  4c 25 3d b3 28 43 50 53  25 29 3a ed 0d 31 d8 0b  |L%=.(CPS%):..1..|
0000dd50  41 25 3d 56 41 52 53 0d  31 e2 13 d6 20 67 72 61  |A%=VARS.1... gra|
0000dd60  64 75 61 74 65 64 66 69  6c 6c 0d 31 ec 1a f2 73  |duatedfill.1...s|
0000dd70  70 69 6e 69 74 3a f2 66  6f 72 63 65 64 72 61 77  |pinit:.forcedraw|
0000dd80  6d 61 69 6e 0d 31 f6 05  e1 0d 32 00 04 0d 32 0a  |main.1....2...2.|
0000dd90  1f dd f2 68 67 3a c8 99  20 22 48 6f 75 72 67 6c  |...hg:.. "Hourgl|
0000dda0  61 73 73 5f 53 6d 61 73  68 22 3a e1 0d 32 14 04  |ass_Smash":..2..|
0000ddb0  0d 32 1e 0f dd f2 73 77  61 70 63 6f 72 6e 73 0d  |.2....swapcorns.|
0000ddc0  32 28 1e e7 20 58 25 28  30 29 3e 4f 58 25 20 8c  |2(.. X%(0)>OX% .|
0000ddd0  20 c8 94 20 58 25 28 30  29 2c 4f 58 25 0d 32 32  | .. X%(0),OX%.22|
0000dde0  1e e7 20 59 25 28 30 29  3e 4f 59 25 20 8c 20 c8  |.. Y%(0)>OY% . .|
0000ddf0  94 20 59 25 28 30 29 2c  4f 59 25 0d 32 3c 05 e1  |. Y%(0),OY%.2<..|
0000de00  0d 32 46 04 0d 32 50 45  dd a4 73 61 6d 65 63 6f  |.2F..2PE..sameco|
0000de10  6c 28 78 31 25 2c 79 31  25 2c 63 6f 6c 25 2c 74  |l(x1%,y1%,col%,t|
0000de20  69 6e 25 29 3a 3d 28 b0  78 31 25 2c 79 31 25 29  |in%):=(.x1%,y1%)|
0000de30  3d 63 6f 6c 25 20 80 20  c8 9c 28 78 31 25 2c 79  |=col% . ..(x1%,y|
0000de40  31 25 29 3d 74 69 6e 25  29 0d 32 5a 04 0d 32 64  |1%)=tin%).2Z..2d|
0000de50  35 dd f2 6c 28 78 31 25  2c 79 31 25 2c 78 32 25  |5..l(x1%,y1%,x2%|
0000de60  2c 79 32 25 29 3a f0 34  2c 78 31 25 2c 79 31 25  |,y2%):.4,x1%,y1%|
0000de70  3a f0 20 4c 49 54 59 25  2c 78 32 25 2c 79 32 25  |:. LITY%,x2%,y2%|
0000de80  3a e1 0d 32 6e 04 0d 32  78 67 dd f2 72 28 78 31  |:..2n..2xg..r(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 2d 34 2c 78 32 25 2c  30 3a f0 20 4c 49 54 59  |%-4,x2%,0:. LITY|
0000dec0  25 2d 34 2c 30 2c 79 32  25 3a f0 20 4c 49 54 59  |%-4,0,y2%:. LITY|
0000ded0  25 2d 34 2c 2d 78 32 25  2c 30 3a f0 20 4c 49 54  |%-4,-x2%,0:. LIT|
0000dee0  59 25 2d 34 2c 30 2c 2d  79 32 25 3a e1 0d 32 82  |Y%-4,0,-y2%:..2.|
0000def0  04 0d 32 8c 1c dd f2 74  72 61 63 65 28 58 25 2c  |..2....trace(X%,|
0000df00  59 25 2c 54 43 4f 25 2c  54 54 49 25 29 0d 32 96  |Y%,TCO%,TTI%).2.|
0000df10  15 c8 99 20 22 48 6f 75  72 67 6c 61 73 73 5f 4f  |... "Hourglass_O|
0000df20  6e 22 0d 32 a0 15 ea 20  64 69 72 25 2c 78 25 2c  |n".2... dir%,x%,|
0000df30  70 78 25 2c 70 79 25 0d  32 aa 67 e7 20 a4 73 61  |px%,py%.2.g. .sa|
0000df40  6d 65 63 6f 6c 28 58 25  2c 59 25 2c 54 43 4f 25  |mecol(X%,Y%,TCO%|
0000df50  2c 54 54 49 25 29 20 8c  20 f2 6d 65 73 73 61 67  |,TTI%) . .messag|
0000df60  65 28 30 2c 22 43 61 6e  6e 6f 74 20 74 72 61 63  |e(0,"Cannot trac|
0000df70  65 20 66 72 6f 6d 20 61  6e 20 61 64 6a 61 63 65  |e from an adjace|
0000df80  6e 74 20 70 69 78 65 6c  20 6f 66 20 74 68 65 20  |nt pixel of the |
0000df90  73 61 6d 65 20 63 6f 6c  6f 75 72 2e 22 29 0d 32  |same colour.").2|
0000dfa0  b4 11 70 78 25 3d 58 25  3a 70 79 25 3d 59 25 0d  |..px%=X%:py%=Y%.|
0000dfb0  32 be 0a 64 69 72 25 3d  33 0d 32 c8 0b f2 69 6e  |2..dir%=3.2...in|
0000dfc0  63 64 69 72 0d 32 d2 05  f5 0d 32 dc 43 e7 20 ac  |cdir.2....2.C. .|
0000dfd0  20 a4 73 61 6d 65 63 6f  6c 28 78 25 2c 79 25 2c  | .samecol(x%,y%,|
0000dfe0  54 43 4f 25 2c 54 54 49  25 29 20 8c 20 f0 36 39  |TCO%,TTI%) . .69|
0000dff0  2c 78 25 2c 79 25 3a 70  78 25 3d 78 25 3a 70 79  |,x%,y%:px%=x%:py|
0000e000  25 3d 79 25 3a f2 64 65  63 64 69 72 0d 32 e6 0b  |%=y%:.decdir.2..|
0000e010  f2 69 6e 63 64 69 72 0d  32 f0 13 fd 20 78 25 3d  |.incdir.2... x%=|
0000e020  58 25 20 80 20 79 25 3d  59 25 0d 32 fa 0d f0 36  |X% . y%=Y%.2...6|
0000e030  39 2c 78 25 2c 79 25 0d  33 04 16 c8 99 20 22 48  |9,x%,y%.3.... "H|
0000e040  6f 75 72 67 6c 61 73 73  5f 4f 66 66 22 0d 33 0e  |ourglass_Off".3.|
0000e050  05 e1 0d 33 18 04 0d 33  22 0c dd f2 69 6e 63 64  |...3...3"...incd|
0000e060  69 72 0d 33 2c 13 64 69  72 25 3d 28 64 69 72 25  |ir.3,.dir%=(dir%|
0000e070  2b 31 29 83 34 0d 33 36  0d c8 8e 20 64 69 72 25  |+1).4.36... dir%|
0000e080  20 ca 0d 33 40 17 c9 20  30 3a 78 25 3d 70 78 25  | ..3@.. 0:x%=px%|
0000e090  2d 32 3a 79 25 3d 70 79  25 0d 33 4a 17 c9 20 31  |-2:y%=py%.3J.. 1|
0000e0a0  3a 78 25 3d 70 78 25 3a  79 25 3d 70 79 25 2b 34  |:x%=px%:y%=py%+4|
0000e0b0  0d 33 54 17 c9 20 32 3a  78 25 3d 70 78 25 2b 32  |.3T.. 2:x%=px%+2|
0000e0c0  3a 79 25 3d 70 79 25 0d  33 5e 17 c9 20 33 3a 78  |:y%=py%.3^.. 3:x|
0000e0d0  25 3d 70 78 25 3a 79 25  3d 70 79 25 2d 34 0d 33  |%=px%:y%=py%-4.3|
0000e0e0  68 05 cb 0d 33 72 05 e1  0d 33 7c 04 0d 33 86 0c  |h...3r...3|..3..|
0000e0f0  dd f2 64 65 63 64 69 72  0d 33 90 13 64 69 72 25  |..decdir.3..dir%|
0000e100  3d 28 64 69 72 25 2b 32  29 83 34 0d 33 9a 05 e1  |=(dir%+2).4.3...|
0000e110  0d 33 a4 04 0d 33 ae 19  dd a4 66 69 6e 64 70 61  |.3...3....findpa|
0000e120  6c 65 6e 74 28 43 4f 25  2c 54 49 25 29 0d 33 b8  |lent(CO%,TI%).3.|
0000e130  1e 3d 43 54 54 25 3f 28  28 43 4f 25 2a 34 29 2b  |.=CTT%?((CO%*4)+|
0000e140  28 54 49 25 20 81 20 36  34 29 29 0d 33 c2 04 0d  |(TI% . 64)).3...|
0000e150  33 cc 3e dd f2 73 65 74  63 6f 6c 3a e6 20 55 53  |3.>..setcol:. US|
0000e160  45 25 2c 50 41 4c 54 41  42 25 3f 28 43 4f 4c 25  |E%,PALTAB%?(COL%|
0000e170  2a 32 29 20 c8 9c 20 50  41 4c 54 41 42 25 3f 28  |*2) .. PALTAB%?(|
0000e180  28 43 4f 4c 25 2a 32 29  2b 31 29 3a e1 0d 33 d6  |(COL%*2)+1):..3.|
0000e190  04 0d 33 e0 48 dd f2 73  65 74 62 61 63 6b 63 6f  |..3.H..setbackco|
0000e1a0  6c 3a e6 20 55 53 45 25  2c 28 50 41 4c 54 41 42  |l:. USE%,(PALTAB|
0000e1b0  25 3f 28 43 4f 4c 25 2a  32 29 29 2b 31 32 38 20  |%?(COL%*2))+128 |
0000e1c0  c8 9c 20 50 41 4c 54 41  42 25 3f 28 28 43 4f 4c  |.. PALTAB%?((COL|
0000e1d0  25 2a 32 29 2b 31 29 3a  e1 0d 33 ea 04 0d 33 f4  |%*2)+1):..3...3.|
0000e1e0  13 dd f2 63 6f 6c 28 43  25 2c 54 25 2c 55 25 29  |...col(C%,T%,U%)|
0000e1f0  0d 33 fe 16 c8 99 26 33  35 2c 2d 31 2c 39 20 b8  |.3....&35,-1,9 .|
0000e200  20 2c 2c 42 50 25 0d 34  08 1c e7 20 42 50 25 3d  | ,,BP%.4... BP%=|
0000e210  33 20 8c 20 e6 55 25 2c  43 25 20 c8 9c 20 54 25  |3 . .U%,C% .. T%|
0000e220  3a e1 0d 34 12 2b 52 25  3d 28 28 43 25 20 80 20  |:..4.+R%=((C% . |
0000e230  25 31 31 29 2a 34 29 2b  28 54 25 20 81 20 36 34  |%11)*4)+(T% . 64|
0000e240  29 3a 52 25 2b 3d 28 52  25 3c 3c 34 29 0d 34 1c  |):R%+=(R%<<4).4.|
0000e250  32 47 25 3d 28 28 28 43  25 20 80 20 25 31 31 30  |2G%=(((C% . %110|
0000e260  30 29 3e 3e 32 29 2a 34  29 2b 28 54 25 20 81 20  |0)>>2)*4)+(T% . |
0000e270  36 34 29 3a 47 25 2b 3d  28 47 25 3c 3c 34 29 0d  |64):G%+=(G%<<4).|
0000e280  34 26 34 42 25 3d 28 28  28 43 25 20 80 20 25 31  |4&4B%=(((C% . %1|
0000e290  31 30 30 30 30 29 3e 3e  34 29 2a 34 29 2b 28 54  |10000)>>4)*4)+(T|
0000e2a0  25 20 81 20 36 34 29 3a  42 25 2b 3d 28 42 25 3c  |% . 64):B%+=(B%<|
0000e2b0  3c 34 29 0d 34 30 3e c8  99 20 22 43 6f 6c 6f 75  |<4).40>.. "Colou|
0000e2c0  72 54 72 61 6e 73 5f 53  65 74 47 43 4f 4c 22 2c  |rTrans_SetGCOL",|
0000e2d0  28 28 42 25 3c 3c 32 34  29 2b 28 47 25 3c 3c 31  |((B%<<24)+(G%<<1|
0000e2e0  36 29 2b 28 52 25 3c 3c  38 29 29 2c 2c 2c 2c 55  |6)+(R%<<8)),,,,U|
0000e2f0  25 0d 34 3a 05 e1 0d 34  44 04 0d 34 4e 17 dd f2  |%.4:...4D..4N...|
0000e300  61 6e 74 69 63 6f 6c 28  43 25 2c 54 25 2c 55 25  |anticol(C%,T%,U%|
0000e310  29 0d 34 58 2b 52 25 3d  28 28 43 25 20 80 20 25  |).4X+R%=((C% . %|
0000e320  31 31 29 2a 34 29 2b 28  54 25 20 81 20 36 34 29  |11)*4)+(T% . 64)|
0000e330  3a 52 25 2b 3d 28 52 25  3c 3c 34 29 0d 34 62 32  |:R%+=(R%<<4).4b2|
0000e340  47 25 3d 28 28 28 43 25  20 80 20 25 31 31 30 30  |G%=(((C% . %1100|
0000e350  29 3e 3e 32 29 2a 34 29  2b 28 54 25 20 81 20 36  |)>>2)*4)+(T% . 6|
0000e360  34 29 3a 47 25 2b 3d 28  47 25 3c 3c 34 29 0d 34  |4):G%+=(G%<<4).4|
0000e370  6c 34 42 25 3d 28 28 28  43 25 20 80 20 25 31 31  |l4B%=(((C% . %11|
0000e380  30 30 30 30 29 3e 3e 34  29 2a 34 29 2b 28 54 25  |0000)>>4)*4)+(T%|
0000e390  20 81 20 36 34 29 3a 42  25 2b 3d 28 42 25 3c 3c  | . 64):B%+=(B%<<|
0000e3a0  34 29 0d 34 76 4e c8 99  20 22 43 6f 6c 6f 75 72  |4).4vN.. "Colour|
0000e3b0  54 72 61 6e 73 5f 52 65  74 75 72 6e 4f 70 70 47  |Trans_ReturnOppG|
0000e3c0  43 4f 4c 46 6f 72 4d 6f  64 65 22 2c 28 28 42 25  |COLForMode",((B%|
0000e3d0  3c 3c 32 34 29 2b 28 47  25 3c 3c 31 36 29 2b 28  |<<24)+(G%<<16)+(|
0000e3e0  52 25 3c 3c 38 29 29 2c  31 35 20 b8 20 47 43 25  |R%<<8)),15 . GC%|
0000e3f0  0d 34 80 23 e6 20 55 25  2c 28 47 43 25 3e 3e 32  |.4.#. U%,(GC%>>2|
0000e400  29 20 c8 9c 20 28 47 43  25 20 80 20 25 31 31 29  |) .. (GC% . %11)|
0000e410  2a 36 34 0d 34 8a 05 e1  0d 34 94 04 0d 34 9e 0d  |*64.4....4...4..|
0000e420  dd f2 67 72 69 64 63 6f  6c 0d 34 a8 17 f2 63 6f  |..gridcol.4...co|
0000e430  6c 28 47 52 43 4f 25 2c  47 52 54 49 25 2c 30 29  |l(GRCO%,GRTI%,0)|
0000e440  0d 34 b2 05 e1 0d 34 bc  04 0d 34 c6 0c dd f2 6d  |.4....4...4....m|
0000e450  61 6b 65 72 72 0d 34 d0  18 c8 99 20 22 57 69 6d  |akerr.4.... "Wim|
0000e460  70 5f 44 72 61 67 42 6f  78 22 2c 2c 30 0d 34 da  |p_DragBox",,0.4.|
0000e470  0b 21 42 4c 4b 25 3d 9f  0d 34 e4 08 45 52 3d b9  |.!BLK%=..4..ER=.|
0000e480  0d 34 ee 0a c8 8e 20 9f  20 ca 0d 34 f8 34 c9 20  |.4.... . ..4.4. |
0000e490  32 32 32 3a 24 28 42 4c  4b 25 2b 34 29 3d 22 46  |222:$(BLK%+4)="F|
0000e4a0  69 6c 65 20 63 61 6e 6e  6f 74 20 62 65 20 66 6f  |ile cannot be fo|
0000e4b0  75 6e 64 22 2b bd 28 30  29 3a 45 52 3d a3 0d 35  |und"+.(0):ER=..5|
0000e4c0  02 05 7f 0d 35 0c 8f 24  28 42 4c 4b 25 2b 34 29  |....5..$(BLK%+4)|
0000e4d0  3d 22 41 72 63 68 72 6f  6d 65 20 68 61 73 20 73  |="Archrome has s|
0000e4e0  75 66 66 65 72 65 64 20  61 20 73 65 72 69 6f 75  |uffered a seriou|
0000e4f0  73 20 69 6e 74 65 72 6e  61 6c 20 65 72 72 6f 72  |s internal error|
0000e500  20 28 22 2b c3 9f 2b 22  2f 22 2b c3 9e 2b 22 29  | ("+..+"/"+..+")|
0000e510  20 59 6f 75 20 73 68 6f  75 6c 64 20 73 61 76 65  | You should save|
0000e520  20 79 6f 75 72 20 77 6f  72 6b 20 61 6e 64 20 72  | your work and r|
0000e530  65 2d 73 74 61 72 74 20  61 73 20 73 6f 6f 6e 20  |e-start as soon |
0000e540  61 73 20 70 6f 73 73 69  62 6c 65 2e 22 2b bd 28  |as possible."+.(|
0000e550  30 29 0d 35 16 05 cb 0d  35 20 2b c8 99 20 22 57  |0).5....5 +.. "W|
0000e560  69 6d 70 5f 52 65 70 6f  72 74 45 72 72 6f 72 22  |imp_ReportError"|
0000e570  2c 42 4c 4b 25 2c 31 2c  22 41 72 63 68 72 6f 6d  |,BLK%,1,"Archrom|
0000e580  65 22 0d 35 2a 0d f2 61  63 74 69 6f 6e 3a e0 0d  |e".5*..action:..|
0000e590  35 34 05 e1 0d 35 3e 04  0d 35 48 1c dd f2 6d 65  |54...5>..5H...me|
0000e5a0  73 73 61 67 65 28 4d 25  2c 4d 24 29 3a f2 6f 75  |ssage(M%,M$):.ou|
0000e5b0  74 70 69 63 0d 35 52 5b  c8 99 20 22 57 69 6d 70  |tpic.5R[.. "Wimp|
0000e5c0  5f 44 72 61 67 42 6f 78  22 2c 2c 30 3a 21 42 4c  |_DragBox",,0:!BL|
0000e5d0  4b 25 3d 4d 25 3a 24 28  42 4c 4b 25 2b 34 29 3d  |K%=M%:$(BLK%+4)=|
0000e5e0  4d 24 2b bd 28 30 29 3a  c8 99 20 22 57 69 6d 70  |M$+.(0):.. "Wimp|
0000e5f0  5f 52 65 70 6f 72 74 45  72 72 6f 72 22 2c 42 4c  |_ReportError",BL|
0000e600  4b 25 2c 31 2c 22 41 72  63 68 72 6f 6d 65 22 0d  |K%,1,"Archrome".|
0000e610  35 5c 12 f2 66 6f 72 63  65 64 72 61 77 6d 61 69  |5\..forcedrawmai|
0000e620  6e 0d 35 66 0d f2 61 63  74 69 6f 6e 3a e0 0d 35  |n.5f..action:..5|
0000e630  70 05 e1 0d 35 7a 04 0d  35 84 0b dd f2 6d 6f 75  |p...5z..5....mou|
0000e640  73 65 0d 35 8e 46 4d 4f  55 58 25 3d 21 42 4c 4b  |se.5.FMOUX%=!BLK|
0000e650  25 3a 4d 4f 55 59 25 3d  42 4c 4b 25 21 34 3a 4d  |%:MOUY%=BLK%!4:M|
0000e660  4f 55 42 25 3d 42 4c 4b  25 21 38 3a 4d 4f 55 48  |OUB%=BLK%!8:MOUH|
0000e670  25 3d 42 4c 4b 25 21 31  32 3a 4d 4f 55 49 43 25  |%=BLK%!12:MOUIC%|
0000e680  3d 42 4c 4b 25 21 31 36  0d 35 98 0e c8 8e 20 4d  |=BLK%!16.5.... M|
0000e690  4f 55 42 25 20 ca 0d 35  a2 14 c9 20 34 2c 31 3a  |OUB% ..5... 4,1:|
0000e6a0  c8 8e 20 4d 4f 55 48 25  20 ca 0d 35 ac 12 c9 20  |.. MOUH% ..5... |
0000e6b0  2d 32 3a f2 6f 70 65 6e  6d 61 69 6e 0d 35 b6 24  |-2:.openmain.5.$|
0000e6c0  c9 20 48 41 4e 44 25 28  30 29 3a e7 20 42 4c 4b  |. HAND%(0):. BLK|
0000e6d0  25 21 31 36 3d 32 20 8c  20 f2 73 61 76 65 6f 6b  |%!16=2 . .saveok|
0000e6e0  0d 35 c0 2a c9 20 48 41  4e 44 25 28 37 29 3a e7  |.5.*. HAND%(7):.|
0000e6f0  20 42 4c 4b 25 21 31 36  3d 32 20 8c 20 f2 73 70  | BLK%!16=2 . .sp|
0000e700  72 69 74 65 73 61 76 65  6f 6b 0d 35 ca 18 c9 20  |ritesaveok.5... |
0000e710  48 41 4e 44 25 28 32 29  3a f2 70 69 63 63 6c 69  |HAND%(2):.piccli|
0000e720  63 6b 0d 35 d4 17 c9 20  48 41 4e 44 25 28 33 29  |ck.5... HAND%(3)|
0000e730  3a f2 70 69 63 6b 63 6f  6c 0d 35 de 19 c9 20 48  |:.pickcol.5... H|
0000e740  41 4e 44 25 28 34 29 3a  f2 61 69 72 62 63 6c 69  |AND%(4):.airbcli|
0000e750  63 6b 0d 35 e8 1a c9 20  48 41 4e 44 25 28 35 29  |ck.5... HAND%(5)|
0000e760  3a f2 62 72 75 73 68 63  6c 69 63 6b 0d 35 f2 19  |:.brushclick.5..|
0000e770  c9 20 48 41 4e 44 25 28  36 29 3a f2 67 72 69 64  |. HAND%(6):.grid|
0000e780  63 6c 69 63 6b 0d 35 fc  19 c9 20 48 41 4e 44 25  |click.5... HAND%|
0000e790  28 38 29 3a f2 67 72 61  62 63 6c 69 63 6b 0d 36  |(8):.grabclick.6|
0000e7a0  06 1d c9 20 48 41 4e 44  25 28 31 30 29 3a f2 6c  |... HAND%(10):.l|
0000e7b0  69 6e 65 70 61 74 63 6c  69 63 6b 0d 36 10 19 c9  |inepatclick.6...|
0000e7c0  20 48 41 4e 44 25 28 31  31 29 3a f2 65 63 66 63  | HAND%(11):.ecfc|
0000e7d0  6c 69 63 6b 0d 36 1a 1b  c9 20 48 41 4e 44 25 28  |lick.6... HAND%(|
0000e7e0  31 32 29 3a f2 65 64 62  72 75 63 6c 69 63 6b 0d  |12):.edbruclick.|
0000e7f0  36 24 1a c9 20 48 41 4e  44 25 28 31 33 29 3a f2  |6$.. HAND%(13):.|
0000e800  66 69 6c 6c 63 6c 69 63  6b 0d 36 2e 1a c9 20 48  |fillclick.6... H|
0000e810  41 4e 44 25 28 31 34 29  3a f2 74 65 78 74 63 6c  |AND%(14):.textcl|
0000e820  69 63 6b 0d 36 38 1b c9  20 48 41 4e 44 25 28 31  |ick.68.. HAND%(1|
0000e830  35 29 3a f2 74 62 61 63  6b 63 6c 69 63 6b 0d 36  |5):.tbackclick.6|
0000e840  42 1a c9 20 48 41 4e 44  25 28 31 36 29 3a f2 74  |B.. HAND%(16):.t|
0000e850  70 61 72 63 6c 69 63 6b  0d 36 4c 1e c9 20 48 41  |parclick.6L.. HA|
0000e860  4e 44 25 28 31 37 29 3a  f2 66 69 6c 6c 63 6f 6e  |ND%(17):.fillcon|
0000e870  74 63 6c 69 63 6b 0d 36  56 1c c9 20 48 41 4e 44  |tclick.6V.. HAND|
0000e880  25 28 31 38 29 3a f2 63  6f 6c 72 65 70 63 6c 69  |%(18):.colrepcli|
0000e890  63 6b 0d 36 60 1b c9 20  48 41 4e 44 25 28 31 39  |ck.6`.. HAND%(19|
0000e8a0  29 3a f2 66 72 61 6d 65  63 6c 69 63 6b 0d 36 6a  |):.frameclick.6j|
0000e8b0  1d c9 20 48 41 4e 44 25  28 32 30 29 3a f2 70 61  |.. HAND%(20):.pa|
0000e8c0  74 66 69 6c 6c 63 6c 69  63 6b 0d 36 74 1d c9 20  |tfillclick.6t.. |
0000e8d0  48 41 4e 44 25 28 32 31  29 3a f2 72 67 62 63 6f  |HAND%(21):.rgbco|
0000e8e0  6e 74 63 6c 69 63 6b 0d  36 7e 1f c9 20 48 41 4e  |ntclick.6~.. HAN|
0000e8f0  44 25 28 32 32 29 3a f2  67 72 65 79 73 63 61 6c  |D%(22):.greyscal|
0000e900  65 63 6c 69 63 6b 0d 36  88 1e c9 20 48 41 4e 44  |eclick.6... HAND|
0000e910  25 28 32 33 29 3a f2 70  69 78 65 6c 61 74 65 63  |%(23):.pixelatec|
0000e920  6c 69 63 6b 0d 36 92 1c  c9 20 48 41 4e 44 25 28  |lick.6... HAND%(|
0000e930  32 34 29 3a f2 72 6f 74  61 74 65 63 6c 69 63 6b  |24):.rotateclick|
0000e940  0d 36 9c 05 cb 0d 36 a6  3d c9 20 32 3a e7 20 4d  |.6....6.=. 2:. M|
0000e950  4f 55 48 25 3d 2d 32 20  8c 20 f2 69 63 6f 6e 6d  |OUH%=-2 . .iconm|
0000e960  65 6e 75 20 8b 20 e7 20  4d 4f 55 48 25 3d 48 41  |enu . . MOUH%=HA|
0000e970  4e 44 25 28 32 29 20 8c  20 f2 77 69 6e 64 6d 65  |ND%(2) . .windme|
0000e980  6e 75 0d 36 b0 31 c9 20  31 36 2c 36 34 3a e7 20  |nu.6.1. 16,64:. |
0000e990  4d 4f 55 48 25 3d 48 41  4e 44 25 28 30 29 20 8c  |MOUH%=HAND%(0) .|
0000e9a0  20 44 52 41 47 25 3d 30  3a f2 73 74 61 72 74 64  | DRAG%=0:.startd|
0000e9b0  72 61 67 0d 36 ba 29 e7  20 4d 4f 55 48 25 3d 48  |rag.6.). MOUH%=H|
0000e9c0  41 4e 44 25 28 37 29 20  8c 20 44 52 41 47 25 3d  |AND%(7) . DRAG%=|
0000e9d0  37 3a f2 73 74 61 72 74  64 72 61 67 0d 36 c4 05  |7:.startdrag.6..|
0000e9e0  cb 0d 36 ce 05 e1 0d 36  d8 04 0d 36 e2 11 dd f2  |..6....6...6....|
0000e9f0  72 6f 74 61 74 65 63 6c  69 63 6b 0d 36 ec 1e e7  |rotateclick.6...|
0000ea00  20 4d 4f 55 49 43 25 3c  3e 31 20 80 20 4d 4f 55  | MOUIC%<>1 . MOU|
0000ea10  49 43 25 3c 33 20 8c 20  e1 0d 36 f6 29 e7 20 46  |IC%<3 . ..6.). F|
0000ea20  55 53 54 25 3e 3d 32 20  8c 20 f2 69 6e 70 69 63  |UST%>=2 . .inpic|
0000ea30  3a f2 70 72 6f 74 62 6f  78 28 4f 58 25 2c 4f 59  |:.protbox(OX%,OY|
0000ea40  25 29 0d 37 00 2d e7 20  4d 4f 55 49 43 25 3d 31  |%).7.-. MOUIC%=1|
0000ea50  20 8c 20 52 4f 54 25 2d  3d 31 3a e7 20 52 4f 54  | . ROT%-=1:. ROT|
0000ea60  25 3c 30 20 8c 20 52 4f  54 25 2b 3d 33 36 30 0d  |%<0 . ROT%+=360.|
0000ea70  37 0a 22 e7 20 4d 4f 55  49 43 25 3d 33 20 8c 20  |7.". MOUIC%=3 . |
0000ea80  52 4f 54 25 3d 28 52 4f  54 25 2b 31 29 83 33 36  |ROT%=(ROT%+1).36|
0000ea90  30 0d 37 14 2e e7 20 4d  4f 55 49 43 25 3d 34 20  |0.7... MOUIC%=4 |
0000eaa0  8c 20 52 4f 54 25 2d 3d  31 30 3a e7 20 52 4f 54  |. ROT%-=10:. ROT|
0000eab0  25 3c 30 20 8c 20 52 4f  54 25 2b 3d 33 36 30 0d  |%<0 . ROT%+=360.|
0000eac0  37 1e 23 e7 20 4d 4f 55  49 43 25 3d 35 20 8c 20  |7.#. MOUIC%=5 . |
0000ead0  52 4f 54 25 3d 28 52 4f  54 25 2b 31 30 29 83 33  |ROT%=(ROT%+10).3|
0000eae0  36 30 0d 37 28 39 e7 20  46 55 53 54 25 3e 3d 32  |60.7(9. FUST%>=2|
0000eaf0  20 8c 20 f2 70 72 6f 74  62 6f 78 28 4f 58 25 2c  | . .protbox(OX%,|
0000eb00  4f 59 25 29 3a f2 6f 75  74 70 69 63 3a f2 71 75  |OY%):.outpic:.qu|
0000eb10  69 63 6b 64 72 61 77 6d  61 69 6e 0d 37 32 18 f2  |ickdrawmain.72..|
0000eb20  73 65 74 69 63 6f 6e 28  32 34 2c 32 2c c3 52 4f  |seticon(24,2,.RO|
0000eb30  54 25 29 0d 37 3c 05 e1  0d 37 46 04 0d 37 50 12  |T%).7<...7F..7P.|
0000eb40  dd f2 72 67 62 63 6f 6e  74 63 6c 69 63 6b 0d 37  |..rgbcontclick.7|
0000eb50  5a 34 52 50 25 3d a4 70  65 72 63 28 32 31 2c 34  |Z4RP%=.perc(21,4|
0000eb60  29 3a 47 50 25 3d a4 70  65 72 63 28 32 31 2c 37  |):GP%=.perc(21,7|
0000eb70  29 3a 42 50 25 3d a4 70  65 72 63 28 32 31 2c 31  |):BP%=.perc(21,1|
0000eb80  30 29 0d 37 64 1e 49 52  50 25 3d 52 50 25 3a 49  |0).7d.IRP%=RP%:I|
0000eb90  47 50 25 3d 47 50 25 3a  49 42 50 25 3d 42 50 25  |GP%=GP%:IBP%=BP%|
0000eba0  0d 37 6e 27 e7 20 4d 4f  55 49 43 25 3d 33 20 8c  |.7n'. MOUIC%=3 .|
0000ebb0  20 52 50 25 2d 3d 31 3a  e7 20 52 50 25 3c 30 20  | RP%-=1:. RP%<0 |
0000ebc0  8c 20 52 50 25 3d 30 0d  37 78 2b e7 20 4d 4f 55  |. RP%=0.7x+. MOU|
0000ebd0  49 43 25 3d 35 20 8c 20  52 50 25 2b 3d 31 3a e7  |IC%=5 . RP%+=1:.|
0000ebe0  20 52 50 25 3e 32 30 30  20 8c 20 52 50 25 3d 32  | RP%>200 . RP%=2|
0000ebf0  30 30 0d 37 82 27 e7 20  4d 4f 55 49 43 25 3d 36  |00.7.'. MOUIC%=6|
0000ec00  20 8c 20 47 50 25 2d 3d  31 3a e7 20 47 50 25 3c  | . GP%-=1:. GP%<|
0000ec10  30 20 8c 20 47 50 25 3d  30 0d 37 8c 2b e7 20 4d  |0 . GP%=0.7.+. M|
0000ec20  4f 55 49 43 25 3d 38 20  8c 20 47 50 25 2b 3d 31  |OUIC%=8 . GP%+=1|
0000ec30  3a e7 20 47 50 25 3e 32  30 30 20 8c 20 47 50 25  |:. GP%>200 . GP%|
0000ec40  3d 32 30 30 0d 37 96 27  e7 20 4d 4f 55 49 43 25  |=200.7.'. MOUIC%|
0000ec50  3d 39 20 8c 20 42 50 25  2d 3d 31 3a e7 20 42 50  |=9 . BP%-=1:. BP|
0000ec60  25 3c 30 20 8c 20 42 50  25 3d 30 0d 37 a0 2c e7  |%<0 . BP%=0.7.,.|
0000ec70  20 4d 4f 55 49 43 25 3d  31 31 20 8c 20 42 50 25  | MOUIC%=11 . BP%|
0000ec80  2b 3d 31 3a e7 20 42 50  25 3e 32 30 30 20 8c 20  |+=1:. BP%>200 . |
0000ec90  42 50 25 3d 32 30 30 0d  37 aa 2b e7 20 52 50 25  |BP%=200.7.+. RP%|
0000eca0  3c 3e 49 52 50 25 20 8c  20 f2 73 65 74 69 63 6f  |<>IRP% . .setico|
0000ecb0  6e 28 32 31 2c 34 2c c3  28 52 50 25 29 2b 22 25  |n(21,4,.(RP%)+"%|
0000ecc0  22 29 0d 37 b4 2b e7 20  47 50 25 3c 3e 49 47 50  |").7.+. GP%<>IGP|
0000ecd0  25 20 8c 20 f2 73 65 74  69 63 6f 6e 28 32 31 2c  |% . .seticon(21,|
0000ece0  37 2c c3 28 47 50 25 29  2b 22 25 22 29 0d 37 be  |7,.(GP%)+"%").7.|
0000ecf0  2c e7 20 42 50 25 3c 3e  49 42 50 25 20 8c 20 f2  |,. BP%<>IBP% . .|
0000ed00  73 65 74 69 63 6f 6e 28  32 31 2c 31 30 2c c3 28  |seticon(21,10,.(|
0000ed10  42 50 25 29 2b 22 25 22  29 0d 37 c8 05 e1 0d 37  |BP%)+"%").7....7|
0000ed20  d2 04 0d 37 dc 14 dd f2  67 72 65 79 73 63 61 6c  |...7....greyscal|
0000ed30  65 63 6c 69 63 6b 0d 37  e6 4d f2 61 72 72 6f 77  |eclick.7.M.arrow|
0000ed40  73 28 32 32 2c 33 2c 35  2c 34 2c 30 2c 39 2c 31  |s(22,3,5,4,0,9,1|
0000ed50  29 3a f2 61 72 72 6f 77  73 28 32 32 2c 36 2c 38  |):.arrows(22,6,8|
0000ed60  2c 37 2c 30 2c 39 2c 31  29 3a f2 61 72 72 6f 77  |,7,0,9,1):.arrow|
0000ed70  73 28 32 32 2c 39 2c 31  31 2c 31 30 2c 30 2c 39  |s(22,9,11,10,0,9|
0000ed80  2c 31 29 0d 37 f0 05 e1  0d 37 fa 04 0d 38 04 13  |,1).7....7...8..|
0000ed90  dd f2 70 69 78 65 6c 61  74 65 63 6c 69 63 6b 0d  |..pixelateclick.|
0000eda0  38 0e 37 f2 61 72 72 6f  77 73 28 32 33 2c 32 2c  |8.7.arrows(23,2,|
0000edb0  34 2c 33 2c 31 2c 31 30  30 2c 31 29 3a f2 61 72  |4,3,1,100,1):.ar|
0000edc0  72 6f 77 73 28 32 33 2c  35 2c 37 2c 36 2c 31 2c  |rows(23,5,7,6,1,|
0000edd0  31 30 30 2c 31 29 0d 38  18 05 e1 0d 38 22 04 0d  |100,1).8....8"..|
0000ede0  38 2c 10 dd f2 66 72 61  6d 65 63 6c 69 63 6b 0d  |8,...frameclick.|
0000edf0  38 36 37 f2 61 72 72 6f  77 73 28 31 39 2c 35 2c  |867.arrows(19,5,|
0000ee00  37 2c 33 2c 31 2c 36 31  38 2c 31 29 3a f2 61 72  |7,3,1,618,1):.ar|
0000ee10  72 6f 77 73 28 31 39 2c  36 2c 38 2c 34 2c 31 2c  |rows(19,6,8,4,1,|
0000ee20  32 33 34 2c 31 29 0d 38  40 13 e7 20 4d 4f 55 49  |234,1).8@.. MOUI|
0000ee30  43 25 3c 3e 32 20 8c 20  e1 0d 38 4a 0a f2 6b 69  |C%<>2 . ..8J..ki|
0000ee40  6c 6c 66 0d 38 54 24 56  25 3d bb a4 67 65 74 69  |llf.8T$V%=..geti|
0000ee50  63 6f 6e 28 31 39 2c 33  29 3a e7 20 56 25 3c 31  |con(19,3):. V%<1|
0000ee60  20 8c 20 56 25 3d 31 0d  38 5e 15 e7 20 56 25 3e  | . V%=1.8^.. V%>|
0000ee70  36 31 38 20 8c 20 56 25  3d 36 31 38 0d 38 68 16  |618 . V%=618.8h.|
0000ee80  f2 73 65 74 69 63 6f 6e  28 31 39 2c 33 2c c3 56  |.seticon(19,3,.V|
0000ee90  25 29 0d 38 72 24 57 25  3d bb a4 67 65 74 69 63  |%).8r$W%=..getic|
0000eea0  6f 6e 28 31 39 2c 34 29  3a e7 20 57 25 3c 31 20  |on(19,4):. W%<1 |
0000eeb0  8c 20 57 25 3d 31 0d 38  7c 15 e7 20 57 25 3e 32  |. W%=1.8|.. W%>2|
0000eec0  33 34 20 8c 20 57 25 3d  36 31 38 0d 38 86 16 f2  |34 . W%=618.8...|
0000eed0  73 65 74 69 63 6f 6e 28  31 39 2c 34 2c c3 57 25  |seticon(19,4,.W%|
0000eee0  29 0d 38 90 4f 46 52 57  25 3d 56 25 2b 31 3a 46  |).8.OFRW%=V%+1:F|
0000eef0  52 48 25 3d 57 25 2b 31  3a 46 55 53 45 25 3d 33  |RH%=W%+1:FUSE%=3|
0000ef00  36 3a 46 55 53 54 25 3d  30 3a f2 68 65 6c 70 3a  |6:FUST%=0:.help:|
0000ef10  f2 77 69 6e 64 6e 61 6d  65 28 32 2c 50 49 43 24  |.windname(2,PIC$|
0000ef20  2b 22 20 5b 53 65 74 20  66 72 61 6d 65 5d 22 29  |+" [Set frame]")|
0000ef30  0d 38 9a 17 e7 20 4d 4f  55 42 25 3d 34 20 8c 20  |.8... MOUB%=4 . |
0000ef40  f2 6d 65 6e 6f 66 66 0d  38 a4 05 e1 0d 38 ae 04  |.menoff.8....8..|
0000ef50  0d 38 b8 11 dd f2 63 6f  6c 72 65 70 63 6c 69 63  |.8....colrepclic|
0000ef60  6b 0d 38 c2 89 e7 20 4d  4f 55 49 43 25 3d 33 20  |k.8... MOUIC%=3 |
0000ef70  8c 20 c8 99 20 22 48 6f  75 72 67 6c 61 73 73 5f  |. .. "Hourglass_|
0000ef80  4f 6e 22 3a e3 4c 25 3d  30 20 b8 20 32 32 35 39  |On":.L%=0 . 2259|
0000ef90  36 20 88 20 34 3a 53 50  42 55 46 25 21 4c 25 3d  |6 . 4:SPBUF%!L%=|
0000efa0  4f 50 41 4c 25 21 4c 25  3a ed 3a e3 4c 25 3d 30  |OPAL%!L%:.:.L%=0|
0000efb0  20 b8 20 32 35 35 3a 52  45 50 53 25 3f 4c 25 3d  | . 255:REPS%?L%=|
0000efc0  4c 25 3a ed 3a c8 99 20  22 48 6f 75 72 67 6c 61  |L%:.:.. "Hourgla|
0000efd0  73 73 5f 4f 66 66 22 3a  f2 66 6f 72 63 65 64 72  |ss_Off":.forcedr|
0000efe0  61 77 63 6f 6c 72 65 70  3a e1 0d 38 cc 35 42 4c  |awcolrep:..8.5BL|
0000eff0  4b 25 21 38 3d 48 41 4e  44 25 28 31 38 29 3a c8  |K%!8=HAND%(18):.|
0000f000  99 20 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |. "Wimp_GetWindo|
0000f010  77 53 74 61 74 65 22 2c  2c 42 4c 4b 25 2b 38 0d  |wState",,BLK%+8.|
0000f020  38 d6 3c 58 4f 46 25 3d  28 21 42 4c 4b 25 29 2d  |8.<XOF%=(!BLK%)-|
0000f030  28 28 42 4c 4b 25 21 31  32 29 2d 28 42 4c 4b 25  |((BLK%!12)-(BLK%|
0000f040  21 32 38 29 29 3a e7 20  58 4f 46 25 3e 37 36 36  |!28)):. XOF%>766|
0000f050  20 8c 20 58 4f 46 25 3d  37 36 36 0d 38 e0 43 59  | . XOF%=766.8.CY|
0000f060  4f 46 25 3d 28 42 4c 4b  25 21 34 29 2d 28 28 28  |OF%=(BLK%!4)-(((|
0000f070  42 4c 4b 25 21 32 34 29  2d 28 42 4c 4b 25 21 33  |BLK%!24)-(BLK%!3|
0000f080  32 29 29 2d 35 35 36 29  3a e7 20 59 4f 46 25 3e  |2))-556):. YOF%>|
0000f090  35 35 30 20 8c 20 59 4f  46 25 3d 35 35 30 0d 38  |550 . YOF%=550.8|
0000f0a0  ea 1a f4 20 56 44 55 34  3a 50 52 49 4e 54 20 58  |... VDU4:PRINT X|
0000f0b0  4f 46 25 2c 59 4f 46 25  0d 38 f4 45 e7 20 59 4f  |OF%,YOF%.8.E. YO|
0000f0c0  46 25 3c 3d 32 32 30 20  8c 20 53 52 45 50 25 3d  |F%<=220 . SREP%=|
0000f0d0  28 58 4f 46 25 20 81 20  32 34 29 2b 28 28 59 4f  |(XOF% . 24)+((YO|
0000f0e0  46 25 20 81 20 32 38 29  2a 33 32 29 3a f2 66 6f  |F% . 28)*32):.fo|
0000f0f0  72 63 65 64 72 61 77 63  6f 6c 72 65 70 0d 38 fe  |rcedrawcolrep.8.|
0000f100  1c e7 20 59 4f 46 25 3e  3d 32 39 30 20 80 20 59  |.. YOF%>=290 . Y|
0000f110  4f 46 25 3c 35 31 34 20  8c 0d 39 08 a3 59 4f 46  |OF%<514 ..9..YOF|
0000f120  25 2d 3d 32 39 30 3a 43  25 3d 28 58 4f 46 25 20  |%-=290:C%=(XOF% |
0000f130  81 20 32 34 29 2b 28 28  59 4f 46 25 20 81 20 32  |. 24)+((YOF% . 2|
0000f140  38 29 2a 33 32 29 3a f2  69 6e 73 70 72 69 74 65  |8)*32):.insprite|
0000f150  28 30 2c 53 50 42 55 46  25 2c 22 50 61 6c 65 74  |(0,SPBUF%,"Palet|
0000f160  74 65 22 29 3a 46 58 25  3d 28 28 53 52 45 50 25  |te"):FX%=((SREP%|
0000f170  20 83 20 33 32 29 2a 32  34 29 2b 32 3a 46 59 25  | . 32)*24)+2:FY%|
0000f180  3d 28 28 53 52 45 50 25  20 81 20 33 32 29 2a 32  |=((SREP% . 32)*2|
0000f190  38 29 2b 34 3a e6 30 2c  50 41 4c 54 41 42 25 3f  |8)+4:.0,PALTAB%?|
0000f1a0  28 43 25 2a 32 29 20 c8  9c 20 50 41 4c 54 41 42  |(C%*2) .. PALTAB|
0000f1b0  25 3f 28 28 43 25 2a 32  29 2b 31 29 0d 39 12 42  |%?((C%*2)+1).9.B|
0000f1c0  c8 93 20 c8 90 20 46 58  25 2c 46 59 25 2c 32 30  |.. .. FX%,FY%,20|
0000f1d0  2c 32 30 3a f2 6f 75 74  73 70 72 69 74 65 3a 52  |,20:.outsprite:R|
0000f1e0  45 50 53 25 3f 53 52 45  50 25 3d 43 25 3a f2 66  |EPS%?SREP%=C%:.f|
0000f1f0  6f 72 63 65 64 72 61 77  63 6f 6c 72 65 70 0d 39  |orcedrawcolrep.9|
0000f200  1c 05 cd 0d 39 26 05 e1  0d 39 30 04 0d 39 3a 27  |....9&...90..9:'|
0000f210  dd f2 61 72 72 6f 77 73  28 57 25 2c 44 49 25 2c  |..arrows(W%,DI%,|
0000f220  55 49 25 2c 54 49 25 2c  4c 56 25 2c 55 56 25 2c  |UI%,TI%,LV%,UV%,|
0000f230  49 25 29 0d 39 44 1f 56  25 3d bb a4 67 65 74 69  |I%).9D.V%=..geti|
0000f240  63 6f 6e 28 57 25 2c 54  49 25 29 3a 4f 56 25 3d  |con(W%,TI%):OV%=|
0000f250  56 25 0d 39 4e 2b e7 20  4d 4f 55 49 43 25 3d 44  |V%.9N+. MOUIC%=D|
0000f260  49 25 20 8c 20 56 25 2d  3d 49 25 3a e7 20 56 25  |I% . V%-=I%:. V%|
0000f270  3c 4c 56 25 20 8c 20 56  25 3d 4c 56 25 0d 39 58  |<LV% . V%=LV%.9X|
0000f280  2b e7 20 4d 4f 55 49 43  25 3d 55 49 25 20 8c 20  |+. MOUIC%=UI% . |
0000f290  56 25 2b 3d 49 25 3a e7  20 56 25 3e 55 56 25 20  |V%+=I%:. V%>UV% |
0000f2a0  8c 20 56 25 3d 55 56 25  0d 39 62 26 e7 20 56 25  |. V%=UV%.9b&. V%|
0000f2b0  3c 3e 4f 56 25 20 8c 20  f2 73 65 74 69 63 6f 6e  |<>OV% . .seticon|
0000f2c0  28 57 25 2c 54 49 25 2c  c3 28 56 25 29 29 0d 39  |(W%,TI%,.(V%)).9|
0000f2d0  6c 05 e1 0d 39 76 04 0d  39 80 0f dd f2 74 70 61  |l...9v..9....tpa|
0000f2e0  72 63 6c 69 63 6b 0d 39  8a ae f2 61 72 72 6f 77  |rclick.9...arrow|
0000f2f0  73 28 31 36 2c 36 2c 31  38 2c 31 32 2c 30 2c 31  |s(16,6,18,12,0,1|
0000f300  30 32 34 2c 38 29 3a f2  61 72 72 6f 77 73 28 31  |024,8):.arrows(1|
0000f310  36 2c 37 2c 31 39 2c 31  33 2c 30 2c 39 39 39 2c  |6,7,19,13,0,999,|
0000f320  31 29 3a f2 61 72 72 6f  77 73 28 31 36 2c 38 2c  |1):.arrows(16,8,|
0000f330  32 30 2c 31 34 2c 30 2c  39 39 39 2c 31 29 3a f2  |20,14,0,999,1):.|
0000f340  61 72 72 6f 77 73 28 31  36 2c 39 2c 32 31 2c 31  |arrows(16,9,21,1|
0000f350  35 2c 30 2c 39 39 39 2c  31 29 3a f2 61 72 72 6f  |5,0,999,1):.arro|
0000f360  77 73 28 31 36 2c 31 30  2c 32 32 2c 31 36 2c 30  |ws(16,10,22,16,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 31 31 2c 32 33  2c 31 37 2c 30 2c 39 39  |16,11,23,17,0,99|
0000f390  39 2c 31 29 0d 39 94 b6  e7 20 4d 4f 55 49 43 25  |9,1).9... MOUIC%|
0000f3a0  3d 32 34 20 8c 20 c8 99  20 22 46 6f 6e 74 5f 53  |=24 . .. "Font_S|
0000f3b0  65 74 46 6f 6e 74 4d 61  78 22 2c 28 bb a4 67 65  |etFontMax",(..ge|
0000f3c0  74 69 63 6f 6e 28 31 36  2c 31 32 29 29 2a 31 30  |ticon(16,12))*10|
0000f3d0  32 34 2c 28 bb a4 67 65  74 69 63 6f 6e 28 31 36  |24,(..geticon(16|
0000f3e0  2c 31 33 29 29 2a 31 31  35 32 2c 28 bb a4 67 65  |,13))*1152,(..ge|
0000f3f0  74 69 63 6f 6e 28 31 36  2c 31 34 29 29 2a 31 31  |ticon(16,14))*11|
0000f400  35 32 2c 28 bb a4 67 65  74 69 63 6f 6e 28 31 36  |52,(..geticon(16|
0000f410  2c 31 35 29 29 2a 31 31  35 32 2c 28 bb a4 67 65  |,15))*1152,(..ge|
0000f420  74 69 63 6f 6e 28 31 36  2c 31 36 29 29 2a 31 31  |ticon(16,16))*11|
0000f430  35 32 2c 28 bb a4 67 65  74 69 63 6f 6e 28 31 36  |52,(..geticon(16|
0000f440  2c 31 37 29 29 2a 31 31  35 32 0d 39 9e 23 e7 20  |,17))*1152.9.#. |
0000f450  4d 4f 55 49 43 25 3d 32  34 20 80 20 4d 4f 55 42  |MOUIC%=24 . MOUB|
0000f460  25 3d 34 20 8c 20 f2 6d  65 6e 6f 66 66 0d 39 a8  |%=4 . .menoff.9.|
0000f470  11 e7 20 4d 4f 55 49 43  25 3d 32 35 20 8c 0d 39  |.. MOUIC%=25 ..9|
0000f480  b2 d3 ff 28 22 43 6f 6e  66 69 67 75 72 65 20 46  |...("Configure F|
0000f490  6f 6e 74 4d 61 78 20 22  2b a4 67 65 74 69 63 6f  |ontMax "+.getico|
0000f4a0  6e 28 31 36 2c 31 32 29  2b 22 4b 22 29 3a ff 28  |n(16,12)+"K"):.(|
0000f4b0  22 43 6f 6e 66 69 67 75  72 65 20 46 6f 6e 74 4d  |"Configure FontM|
0000f4c0  61 78 31 20 22 2b a4 67  65 74 69 63 6f 6e 28 31  |ax1 "+.geticon(1|
0000f4d0  36 2c 31 33 29 29 3a ff  28 22 43 6f 6e 66 69 67  |6,13)):.("Config|
0000f4e0  75 72 65 20 46 6f 6e 74  4d 61 78 32 20 22 2b a4  |ure FontMax2 "+.|
0000f4f0  67 65 74 69 63 6f 6e 28  31 36 2c 31 34 29 29 3a  |geticon(16,14)):|
0000f500  ff 28 22 43 6f 6e 66 69  67 75 72 65 20 46 6f 6e  |.("Configure Fon|
0000f510  74 4d 61 78 33 20 22 2b  a4 67 65 74 69 63 6f 6e  |tMax3 "+.geticon|
0000f520  28 31 36 2c 31 35 29 29  3a ff 28 22 43 6f 6e 66  |(16,15)):.("Conf|
0000f530  69 67 75 72 65 20 46 6f  6e 74 4d 61 78 34 20 22  |igure FontMax4 "|
0000f540  2b a4 67 65 74 69 63 6f  6e 28 31 36 2c 31 36 29  |+.geticon(16,16)|
0000f550  29 0d 39 bc 2c ff 28 22  43 6f 6e 66 69 67 75 72  |).9.,.("Configur|
0000f560  65 20 46 6f 6e 74 4d 61  78 35 20 22 2b a4 67 65  |e FontMax5 "+.ge|
0000f570  74 69 63 6f 6e 28 31 36  2c 31 37 29 29 0d 39 c6  |ticon(16,17)).9.|
0000f580  05 cd 0d 39 d0 05 e1 0d  39 da 04 0d 39 e4 0e dd  |...9....9...9...|
0000f590  f2 6c 6f 73 65 66 6f 6e  74 0d 39 ee 39 e7 20 46  |.losefont.9.9. F|
0000f5a0  4f 4e 54 25 3c 3e 30 20  8c 20 f2 69 6e 70 69 63  |ONT%<>0 . .inpic|
0000f5b0  3a c8 99 20 22 46 6f 6e  74 5f 4c 6f 73 65 46 6f  |:.. "Font_LoseFo|
0000f5c0  6e 74 22 2c 46 48 41 4e  44 25 3a f2 6f 75 74 70  |nt",FHAND%:.outp|
0000f5d0  69 63 0d 39 f8 05 e1 0d  3a 02 04 0d 3a 0c 0d dd  |ic.9....:...:...|
0000f5e0  f2 67 65 74 66 6f 6e 74  0d 3a 16 2c e7 20 bb a4  |.getfont.:.,. ..|
0000f5f0  67 65 74 69 63 6f 6e 28  31 34 2c 34 29 3c 36 20  |geticon(14,4)<6 |
0000f600  8c 20 f2 73 65 74 69 63  6f 6e 28 31 34 2c 34 2c  |. .seticon(14,4,|
0000f610  22 36 22 29 0d 3a 20 2c  e7 20 bb a4 67 65 74 69  |"6").: ,. ..geti|
0000f620  63 6f 6e 28 31 34 2c 35  29 3c 36 20 8c 20 f2 73  |con(14,5)<6 . .s|
0000f630  65 74 69 63 6f 6e 28 31  34 2c 35 2c 22 36 22 29  |eticon(14,5,"6")|
0000f640  0d 3a 2a 31 46 4f 4e 54  58 25 3d bb a4 67 65 74  |.:*1FONTX%=..get|
0000f650  69 63 6f 6e 28 31 34 2c  34 29 3a 46 4f 4e 54 59  |icon(14,4):FONTY|
0000f660  25 3d bb a4 67 65 74 69  63 6f 6e 28 31 34 2c 35  |%=..geticon(14,5|
0000f670  29 0d 3a 2b 31 f4 20 56  44 55 34 3a 50 52 49 4e  |).:+1. VDU4:PRIN|
0000f680  54 27 46 4f 4e 54 25 2c  46 4f 24 2c 46 4f 4e 54  |T'FONT%,FO$,FONT|
0000f690  58 25 2c 46 4f 4e 54 59  25 2c 22 20 31 34 39 30  |X%,FONTY%," 1490|
0000f6a0  30 22 0d 3a 2c 09 f4 20  45 4e 44 0d 3a 34 54 e7  |0".:,.. END.:4T.|
0000f6b0  20 46 4f 4e 54 25 3c 3e  30 20 8c 20 f2 69 6e 70  | FONT%<>0 . .inp|
0000f6c0  69 63 3a c8 99 20 22 46  6f 6e 74 5f 46 69 6e 64  |ic:.. "Font_Find|
0000f6d0  46 6f 6e 74 22 2c 2c 46  4f 24 2c 46 4f 4e 54 58  |Font",,FO$,FONTX|
0000f6e0  25 2a 31 36 2c 46 4f 4e  54 59 25 2a 31 36 20 b8  |%*16,FONTY%*16 .|
0000f6f0  20 46 48 41 4e 44 25 3a  f2 6f 75 74 70 69 63 0d  | FHAND%:.outpic.|
0000f700  3a 3e 05 e1 0d 3a 48 04  0d 3a 52 0d dd f2 72 65  |:>...:H..:R...re|
0000f710  73 74 70 69 63 0d 3a 5c  0a f2 69 6e 70 69 63 0d  |stpic.:\..inpic.|
0000f720  3a 66 1a c8 99 26 32 45  2c 32 39 30 2c 53 50 42  |:f...&2E,290,SPB|
0000f730  55 46 25 2c 22 50 49 43  22 0d 3a 70 0b f2 6f 75  |UF%,"PIC".:p..ou|
0000f740  74 70 69 63 0d 3a 7a 05  e1 0d 3a 84 04 0d 3a 8e  |tpic.:z...:...:.|
0000f750  0f dd f2 74 65 78 74 63  6c 69 63 6b 0d 3a 98 18  |...textclick.:..|
0000f760  e7 20 4d 4f 55 49 43 25  3c 3e 36 20 8c 20 e5 20  |. MOUIC%<>6 . . |
0000f770  8d 74 76 7a 0d 3a a2 2a  56 25 3d bb a4 67 65 74  |.tvz.:.*V%=..get|
0000f780  69 63 6f 6e 28 31 34 2c  34 29 3a 56 25 2d 3d 31  |icon(14,4):V%-=1|
0000f790  3a e7 20 56 25 3c 36 20  8c 20 56 25 3d 36 0d 3a  |:. V%<6 . V%=6.:|
0000f7a0  ac 16 f2 73 65 74 69 63  6f 6e 28 31 34 2c 34 2c  |...seticon(14,4,|
0000f7b0  c3 56 25 29 0d 3a b6 18  e7 20 4d 4f 55 49 43 25  |.V%).:... MOUIC%|
0000f7c0  3c 3e 37 20 8c 20 e5 20  8d 64 54 7a 0d 3a c0 2e  |<>7 . . .dTz.:..|
0000f7d0  56 25 3d bb a4 67 65 74  69 63 6f 6e 28 31 34 2c  |V%=..geticon(14,|
0000f7e0  34 29 3a 56 25 2b 3d 31  3a e7 20 56 25 3e 39 39  |4):V%+=1:. V%>99|
0000f7f0  39 20 8c 20 56 25 3d 39  39 39 0d 3a ca 16 f2 73  |9 . V%=999.:...s|
0000f800  65 74 69 63 6f 6e 28 31  34 2c 34 2c c3 56 25 29  |eticon(14,4,.V%)|
0000f810  0d 3a d4 18 e7 20 4d 4f  55 49 43 25 3c 3e 38 20  |.:... MOUIC%<>8 |
0000f820  8c 20 e5 20 8d 64 72 7a  0d 3a de 2a 56 25 3d bb  |. . .drz.:.*V%=.|
0000f830  a4 67 65 74 69 63 6f 6e  28 31 34 2c 35 29 3a 56  |.geticon(14,5):V|
0000f840  25 2d 3d 31 3a e7 20 56  25 3c 36 20 8c 20 56 25  |%-=1:. V%<6 . V%|
0000f850  3d 36 0d 3a e8 16 f2 73  65 74 69 63 6f 6e 28 31  |=6.:...seticon(1|
0000f860  34 2c 35 2c c3 56 25 29  0d 3a f2 18 e7 20 4d 4f  |4,5,.V%).:... MO|
0000f870  55 49 43 25 3c 3e 39 20  8c 20 e5 20 8d 54 50 7b  |UIC%<>9 . . .TP{|
0000f880  0d 3a fc 2e 56 25 3d bb  a4 67 65 74 69 63 6f 6e  |.:..V%=..geticon|
0000f890  28 31 34 2c 35 29 3a 56  25 2b 3d 31 3a e7 20 56  |(14,5):V%+=1:. V|
0000f8a0  25 3e 39 39 39 20 8c 20  56 25 3d 39 39 39 0d 3b  |%>999 . V%=999.;|
0000f8b0  06 16 f2 73 65 74 69 63  6f 6e 28 31 34 2c 35 2c  |...seticon(14,5,|
0000f8c0  c3 56 25 29 0d 3b 10 14  e7 20 4d 4f 55 49 43 25  |.V%).;... MOUIC%|
0000f8d0  3c 3e 31 32 20 8c 20 e1  0d 3b 11 20 f4 20 56 44  |<>12 . ..;. . VD|
0000f8e0  55 34 3a 50 52 49 4e 54  20 46 4f 4e 54 25 2c 46  |U4:PRINT FONT%,F|
0000f8f0  55 53 54 25 2c 46 4f 24  0d 3b 1a 10 e7 20 46 4f  |UST%,FO$.;... FO|
0000f900  4e 54 25 3c 3e 30 20 8c  0d 3b 24 32 e7 20 46 55  |NT%<>0 ..;$2. FU|
0000f910  53 54 25 3c 3e 30 20 8c  20 f2 72 65 73 74 70 69  |ST%<>0 . .restpi|
0000f920  63 3a f2 6c 6f 73 65 66  6f 6e 74 3a f2 66 6f 72  |c:.losefont:.for|
0000f930  63 65 64 72 61 77 6d 61  69 6e 0d 3b 2e 0c f2 67  |cedrawmain.;...g|
0000f940  65 74 66 6f 6e 74 0d 3b  2f 10 f4 20 47 4f 54 4f  |etfont.;/.. GOTO|
0000f950  20 31 35 32 33 30 0d 3b  38 30 54 45 58 54 24 3d  | 15230.;80TEXT$=|
0000f960  a4 67 65 74 69 63 6f 6e  28 31 34 2c 31 31 29 3a  |.geticon(14,11):|
0000f970  e7 20 54 45 58 54 24 3d  22 22 20 8c 20 54 45 58  |. TEXT$="" . TEX|
0000f980  54 24 3d 22 20 22 0d 3b  42 44 46 43 4f 4c 25 3d  |T$=" ".;BDFCOL%=|
0000f990  50 41 4c 54 41 42 25 3f  28 43 4f 4c 25 2a 32 29  |PALTAB%?(COL%*2)|
0000f9a0  3a 46 54 49 4e 25 3d 50  41 4c 54 41 42 25 3f 28  |:FTIN%=PALTAB%?(|
0000f9b0  28 43 4f 4c 25 2a 32 29  2b 31 29 3a 46 54 49 4e  |(COL%*2)+1):FTIN|
0000f9c0  25 3d 46 54 49 4e 25 3e  3e 32 0d 3b 4c 71 46 50  |%=FTIN%>>2.;LqFP|
0000f9d0  41 4c 25 3d 28 28 28 28  46 43 4f 4c 25 20 80 20  |AL%=((((FCOL% . |
0000f9e0  25 31 31 29 3c 3c 36 29  2b 46 54 49 4e 25 29 3c  |%11)<<6)+FTIN%)<|
0000f9f0  3c 38 29 2b 28 28 28 28  46 43 4f 4c 25 20 80 20  |<8)+((((FCOL% . |
0000fa00  25 31 31 30 30 29 3c 3c  34 29 2b 46 54 49 4e 25  |%1100)<<4)+FTIN%|
0000fa10  29 3c 3c 31 36 29 2b 28  28 28 28 46 43 4f 4c 25  |)<<16)+((((FCOL%|
0000fa20  20 80 20 25 31 31 30 30  30 30 29 3c 3c 32 29 2b  | . %110000)<<2)+|
0000fa30  46 54 49 4e 25 29 3c 3c  32 34 29 0d 3b 56 48 46  |FTIN%)<<24).;VHF|
0000fa40  43 4f 4c 25 3d 50 41 4c  54 41 42 25 3f 28 46 4f  |COL%=PALTAB%?(FO|
0000fa50  4e 54 42 25 2a 32 29 3a  46 54 49 4e 25 3d 50 41  |NTB%*2):FTIN%=PA|
0000fa60  4c 54 41 42 25 3f 28 28  46 4f 4e 54 42 25 2a 32  |LTAB%?((FONTB%*2|
0000fa70  29 2b 31 29 3a 46 54 49  4e 25 3d 46 54 49 4e 25  |)+1):FTIN%=FTIN%|
0000fa80  3e 3e 32 0d 3b 60 71 42  50 41 4c 25 3d 28 28 28  |>>2.;`qBPAL%=(((|
0000fa90  28 46 43 4f 4c 25 20 80  20 25 31 31 29 3c 3c 36  |(FCOL% . %11)<<6|
0000faa0  29 2b 46 54 49 4e 25 29  3c 3c 38 29 2b 28 28 28  |)+FTIN%)<<8)+(((|
0000fab0  28 46 43 4f 4c 25 20 80  20 25 31 31 30 30 29 3c  |(FCOL% . %1100)<|
0000fac0  3c 34 29 2b 46 54 49 4e  25 29 3c 3c 31 36 29 2b  |<4)+FTIN%)<<16)+|
0000fad0  28 28 28 28 46 43 4f 4c  25 20 80 20 25 31 31 30  |((((FCOL% . %110|
0000fae0  30 30 30 29 3c 3c 32 29  2b 46 54 49 4e 25 29 3c  |000)<<2)+FTIN%)<|
0000faf0  3c 32 34 29 0d 3b 61 10  f4 20 47 4f 54 4f 20 31  |<24).;a.. GOTO 1|
0000fb00  35 32 33 30 0d 3b 6a 4f  f2 69 6e 70 69 63 3a c8  |5230.;jO.inpic:.|
0000fb10  99 20 22 43 6f 6c 6f 75  72 54 72 61 6e 73 5f 53  |. "ColourTrans_S|
0000fb20  65 74 46 6f 6e 74 43 6f  6c 6f 75 72 73 22 2c 46  |etFontColours",F|
0000fb30  48 41 4e 44 25 2c 42 50  41 4c 25 2c 46 50 41 4c  |HAND%,BPAL%,FPAL|
0000fb40  25 2c 31 34 3a f2 6f 75  74 70 69 63 3a 45 46 4d  |%,14:.outpic:EFM|
0000fb50  25 3d eb 0d 3b 74 19 46  55 53 54 25 3d 31 3a 4f  |%=..;t.FUST%=1:O|
0000fb60  58 25 3d 2d 31 3a 4f 59  25 3d 2d 31 0d 3b 7e 05  |X%=-1:OY%=-1.;~.|
0000fb70  cc 0d 3b 88 28 e7 20 46  55 53 54 25 3c 3e 30 20  |..;.(. FUST%<>0 |
0000fb80  8c 20 f2 72 65 73 74 70  69 63 3a f2 66 6f 72 63  |. .restpic:.forc|
0000fb90  65 64 72 61 77 6d 61 69  6e 0d 3b 92 30 54 45 58  |edrawmain.;.0TEX|
0000fba0  54 24 3d a4 67 65 74 69  63 6f 6e 28 31 34 2c 31  |T$=.geticon(14,1|
0000fbb0  31 29 3a e7 20 54 45 58  54 24 3d 22 22 20 8c 20  |1):. TEXT$="" . |
0000fbc0  54 45 58 54 24 3d 22 20  22 0d 3b 9c 31 46 55 53  |TEXT$=" ".;.1FUS|
0000fbd0  54 25 3d 31 3a 4f 58 25  3d 2d 31 3a 4f 59 25 3d  |T%=1:OX%=-1:OY%=|
0000fbe0  2d 31 3a 54 43 4f 4c 25  3d 43 4f 4c 25 3a 54 42  |-1:TCOL%=COL%:TB|
0000fbf0  41 4b 25 3d 46 4f 4e 54  42 25 0d 3b a6 2c e7 20  |AK%=FONTB%.;.,. |
0000fc00  bb a4 67 65 74 69 63 6f  6e 28 31 34 2c 34 29 3c  |..geticon(14,4)<|
0000fc10  31 20 8c 20 f2 73 65 74  69 63 6f 6e 28 31 34 2c  |1 . .seticon(14,|
0000fc20  34 2c 22 31 22 29 0d 3b  b0 2c e7 20 bb a4 67 65  |4,"1").;.,. ..ge|
0000fc30  74 69 63 6f 6e 28 31 34  2c 35 29 3c 31 20 8c 20  |ticon(14,5)<1 . |
0000fc40  f2 73 65 74 69 63 6f 6e  28 31 34 2c 35 2c 22 31  |.seticon(14,5,"1|
0000fc50  22 29 0d 3b ba 31 46 4f  4e 54 58 25 3d bb a4 67  |").;.1FONTX%=..g|
0000fc60  65 74 69 63 6f 6e 28 31  34 2c 34 29 3a 46 4f 4e  |eticon(14,4):FON|
0000fc70  54 59 25 3d bb a4 67 65  74 69 63 6f 6e 28 31 34  |TY%=..geticon(14|
0000fc80  2c 35 29 0d 3b c4 1c 21  49 4f 25 3d 46 4f 4e 54  |,5).;..!IO%=FONT|
0000fc90  58 25 3a 49 4f 25 21 34  3d 46 4f 4e 54 59 25 0d  |X%:IO%!4=FONTY%.|
0000fca0  3b ce 14 49 4f 25 21 38  3d 38 3a 49 4f 25 21 31  |;..IO%!8=8:IO%!1|
0000fcb0  32 3d 38 0d 3b d8 05 cd  0d 3b e2 05 e1 0d 3b ec  |2=8.;....;....;.|
0000fcc0  04 0d 3b f6 15 dd f2 6f  73 74 65 78 74 28 54 58  |..;....ostext(TX|
0000fcd0  25 2c 54 59 25 29 0d 3c  00 08 ea 20 4c 25 0d 3c  |%,TY%).<... L%.<|
0000fce0  0a 09 54 54 25 3d 30 0d  3c 14 1a e7 20 a4 68 69  |..TT%=0.<... .hi|
0000fcf0  67 68 28 31 34 2c 31 34  29 20 8c 20 54 54 25 3d  |gh(14,14) . TT%=|
0000fd00  31 0d 3c 1e 1a e7 20 a4  68 69 67 68 28 31 34 2c  |1.<... .high(14,|
0000fd10  31 35 29 20 8c 20 54 54  25 3d 32 0d 3c 28 1a e7  |15) . TT%=2.<(..|
0000fd20  20 a4 68 69 67 68 28 31  34 2c 31 36 29 20 8c 20  | .high(14,16) . |
0000fd30  54 54 25 3d 33 0d 3c 32  37 46 43 4f 4c 25 3d 50  |TT%=3.<27FCOL%=P|
0000fd40  41 4c 54 41 42 25 3f 28  54 43 4f 4c 25 2a 32 29  |ALTAB%?(TCOL%*2)|
0000fd50  3a 46 54 49 4e 25 3d 50  41 4c 54 41 42 25 3f 28  |:FTIN%=PALTAB%?(|
0000fd60  28 54 43 4f 4c 25 2a 32  29 2b 31 29 0d 3c 3c 37  |(TCOL%*2)+1).<<7|
0000fd70  42 43 4f 4c 25 3d 50 41  4c 54 41 42 25 3f 28 54  |BCOL%=PALTAB%?(T|
0000fd80  42 41 4b 25 2a 32 29 3a  42 54 49 4e 25 3d 50 41  |BAK%*2):BTIN%=PA|
0000fd90  4c 54 41 42 25 3f 28 28  54 42 41 4b 25 2a 32 29  |LTAB%?((TBAK%*2)|
0000fda0  2b 31 29 0d 3c 46 0c c8  8e 20 54 54 25 20 ca 0d  |+1).<F... TT% ..|
0000fdb0  3c 50 63 c9 20 30 3a f2  63 6f 6c 28 46 43 4f 4c  |<Pc. 0:.col(FCOL|
0000fdc0  25 2c 46 54 49 4e 25 2c  30 29 3a e3 4c 25 3d 31  |%,FTIN%,0):.L%=1|
0000fdd0  20 b8 20 a9 28 54 45 58  54 24 29 3a c8 99 26 32  | . .(TEXT$):..&2|
0000fde0  45 2c 35 31 2c 97 28 c1  54 45 58 54 24 2c 4c 25  |E,51,.(.TEXT$,L%|
0000fdf0  2c 31 29 29 2c 2c 54 58  25 2c 54 59 25 2c 2c 49  |,1)),,TX%,TY%,,I|
0000fe00  4f 25 3a 54 58 25 2b 3d  46 4f 4e 54 58 25 2a 32  |O%:TX%+=FONTX%*2|
0000fe10  3a ed 0d 3c 5a 7e c9 20  32 3a f2 63 6f 6c 28 42  |:..<Z~. 2:.col(B|
0000fe20  43 4f 4c 25 2c 42 54 49  4e 25 2c 30 29 3a 4f 54  |COL%,BTIN%,0):OT|
0000fe30  58 25 3d 54 58 25 3a e3  4c 25 3d 31 20 b8 20 a9  |X%=TX%:.L%=1 . .|
0000fe40  28 54 45 58 54 24 29 3a  c8 99 26 32 45 2c 35 31  |(TEXT$):..&2E,51|
0000fe50  2c 97 28 c1 54 45 58 54  24 2c 4c 25 2c 31 29 29  |,.(.TEXT$,L%,1))|
0000fe60  2c 2c 54 58 25 2c 54 59  25 2c 2c 49 4f 25 3a 54  |,,TX%,TY%,,IO%:T|
0000fe70  58 25 2b 3d 46 4f 4e 54  58 25 2a 32 3a ed 3a 54  |X%+=FONTX%*2:.:T|
0000fe80  58 25 3d 4f 54 58 25 2b  32 3a 54 59 25 2b 3d 34  |X%=OTX%+2:TY%+=4|
0000fe90  0d 3c 64 5d e3 4c 25 3d  31 20 b8 20 a9 28 54 45  |.<d].L%=1 . .(TE|
0000fea0  58 54 24 29 3a c8 99 26  32 45 2c 35 31 2c 97 28  |XT$):..&2E,51,.(|
0000feb0  c1 54 45 58 54 24 2c 4c  25 2c 31 29 29 2c 2c 54  |.TEXT$,L%,1)),,T|
0000fec0  58 25 2c 54 59 25 2c 2c  49 4f 25 3a 54 58 25 2b  |X%,TY%,,IO%:TX%+|
0000fed0  3d 46 4f 4e 54 58 25 2a  32 3a ed 3a 54 58 25 3d  |=FONTX%*2:.:TX%=|
0000fee0  4f 54 58 25 2b 34 3a 54  59 25 2b 3d 34 0d 3c 6e  |OTX%+4:TY%+=4.<n|
0000fef0  5f f2 63 6f 6c 28 46 43  4f 4c 25 2c 46 54 49 4e  |_.col(FCOL%,FTIN|
0000ff00  25 2c 30 29 3a e3 4c 25  3d 31 20 b8 20 a9 28 54  |%,0):.L%=1 . .(T|
0000ff10  45 58 54 24 29 3a c8 99  26 32 45 2c 35 31 2c 97  |EXT$):..&2E,51,.|
0000ff20  28 c1 54 45 58 54 24 2c  4c 25 2c 31 29 29 2c 2c  |(.TEXT$,L%,1)),,|
0000ff30  54 58 25 2c 54 59 25 2c  2c 49 4f 25 3a 54 58 25  |TX%,TY%,,IO%:TX%|
0000ff40  2b 3d 46 4f 4e 54 58 25  2a 32 3a ed 0d 3c 78 e4  |+=FONTX%*2:..<x.|
0000ff50  c9 20 31 3a f2 63 6f 6c  28 42 43 4f 4c 25 2c 42  |. 1:.col(BCOL%,B|
0000ff60  54 49 4e 25 2c 30 29 3a  4f 54 58 25 3d 54 58 25  |TIN%,0):OTX%=TX%|
0000ff70  3a e3 43 58 25 3d 54 58  25 2d 28 46 4f 4e 54 58  |:.CX%=TX%-(FONTX|
0000ff80  25 20 81 34 29 20 b8 20  54 58 25 2b 28 46 4f 4e  |% .4) . TX%+(FON|
0000ff90  54 58 25 20 81 34 29 20  88 20 28 46 4f 4e 54 58  |TX% .4) . (FONTX|
0000ffa0  25 20 81 20 34 29 3a e3  43 59 25 3d 54 59 25 2d  |% . 4):.CY%=TY%-|
0000ffb0  28 46 4f 4e 54 59 25 20  81 20 32 29 20 b8 20 54  |(FONTY% . 2) . T|
0000ffc0  59 25 2b 28 46 4f 4e 54  59 25 20 81 32 29 20 88  |Y%+(FONTY% .2) .|
0000ffd0  20 28 46 4f 4e 54 59 25  20 81 32 29 3a 54 58 25  | (FONTY% .2):TX%|
0000ffe0  3d 43 58 25 3a e3 4c 25  3d 31 20 b8 20 a9 28 54  |=CX%:.L%=1 . .(T|
0000fff0  45 58 54 24 29 3a c8 99  26 32 45 2c 35 31 2c 97  |EXT$):..&2E,51,.|
00010000  28 c1 54 45 58 54 24 2c  4c 25 2c 31 29 29 2c 2c  |(.TEXT$,L%,1)),,|
00010010  54 58 25 2c 43 59 25 2c  2c 49 4f 25 3a 54 58 25  |TX%,CY%,,IO%:TX%|
00010020  2b 3d 46 4f 4e 54 58 25  2a 32 3a ed 3a ed 3a ed  |+=FONTX%*2:.:.:.|
00010030  0d 3c 82 68 f2 63 6f 6c  28 46 43 4f 4c 25 2c 46  |.<.h.col(FCOL%,F|
00010040  54 49 4e 25 2c 30 29 3a  54 58 25 3d 4f 54 58 25  |TIN%,0):TX%=OTX%|
00010050  3a e3 4c 25 3d 31 20 b8  20 a9 28 54 45 58 54 24  |:.L%=1 . .(TEXT$|
00010060  29 3a c8 99 26 32 45 2c  35 31 2c 97 28 c1 54 45  |):..&2E,51,.(.TE|
00010070  58 54 24 2c 4c 25 2c 31  29 29 2c 2c 54 58 25 2c  |XT$,L%,1)),,TX%,|
00010080  54 59 25 2c 2c 49 4f 25  3a 54 58 25 2b 3d 46 4f  |TY%,,IO%:TX%+=FO|
00010090  4e 54 58 25 2a 32 3a ed  0d 3c 8c 5a c9 20 33 3a  |NTX%*2:..<.Z. 3:|
000100a0  f2 63 6f 6c 28 42 43 4f  4c 25 2c 42 54 49 4e 25  |.col(BCOL%,BTIN%|
000100b0  2c 30 29 3a c8 93 20 c8  90 20 58 25 2c 59 25 2c  |,0):.. .. X%,Y%,|
000100c0  28 a9 28 54 45 58 54 24  29 29 2a 28 46 4f 4e 54  |(.(TEXT$))*(FONT|
000100d0  58 25 2a 32 29 2c 46 4f  4e 54 59 25 2a 34 3a f2  |X%*2),FONTY%*4:.|
000100e0  63 6f 6c 28 46 43 4f 4c  25 2c 46 54 49 4e 25 2c  |col(FCOL%,FTIN%,|
000100f0  30 29 0d 3c 96 4b e3 4c  25 3d 31 20 b8 20 a9 28  |0).<.K.L%=1 . .(|
00010100  54 45 58 54 24 29 3a c8  99 26 32 45 2c 35 31 2c  |TEXT$):..&2E,51,|
00010110  97 28 c1 54 45 58 54 24  2c 4c 25 2c 31 29 29 2c  |.(.TEXT$,L%,1)),|
00010120  2c 54 58 25 2c 54 59 25  2c 2c 49 4f 25 3a 54 58  |,TX%,TY%,,IO%:TX|
00010130  25 2b 3d 46 4f 4e 54 58  25 2a 32 3a ed 0d 3c a0  |%+=FONTX%*2:..<.|
00010140  05 cb 0d 3c aa 05 e1 0d  3c b4 04 0d 3c be 10 dd  |...<....<...<...|
00010150  f2 65 64 62 72 75 63 6c  69 63 6b 0d 3c c8 39 e7  |.edbruclick.<.9.|
00010160  20 46 55 53 45 25 3d 34  20 8c 20 f2 6b 69 6c 6c  | FUSE%=4 . .kill|
00010170  66 3a f2 77 69 6e 64 6e  61 6d 65 28 32 2c 50 49  |f:.windname(2,PI|
00010180  43 24 29 3a f2 73 70 69  6e 69 74 3a 46 55 53 45  |C$):.spinit:FUSE|
00010190  25 3d 2d 31 0d 3c d2 4e  e7 20 4d 4f 55 49 43 25  |%=-1.<.N. MOUIC%|
000101a0  3e 3d 30 20 80 20 4d 4f  55 49 43 25 3c 3d 31 31  |>=0 . MOUIC%<=11|
000101b0  20 8c 20 45 44 42 52 25  3d 4d 4f 55 49 43 25 2b  | . EDBR%=MOUIC%+|
000101c0  31 3a f2 66 6f 72 63 65  64 72 61 77 65 64 62 72  |1:.forcedrawedbr|
000101d0  75 28 30 2c 2d 36 34 30  2c 31 30 32 34 2c 30 29  |u(0,-640,1024,0)|
000101e0  3a e1 0d 3c dc 52 e7 20  4d 4f 55 49 43 25 3d 31  |:..<.R. MOUIC%=1|
000101f0  33 20 8c 20 c8 99 26 32  45 2c 33 30 33 2c 42 52  |3 . ..&2E,303,BR|
00010200  55 53 48 25 2c c3 45 44  42 52 25 3a f2 66 6f 72  |USH%,.EDBR%:.for|
00010210  63 65 64 72 61 77 65 64  62 72 75 28 30 2c 2d 36  |cedrawedbru(0,-6|
00010220  34 30 2c 31 30 32 34 2c  30 29 3a f2 6d 68 74 72  |40,1024,0):.mhtr|
00010230  62 6d 3a e1 0d 3c e6 52  e7 20 4d 4f 55 49 43 25  |bm:..<.R. MOUIC%|
00010240  3d 31 34 20 8c 20 c8 99  26 32 45 2c 32 38 39 2c  |=14 . ..&2E,289,|
00010250  42 52 55 53 48 25 2c c3  45 44 42 52 25 3a f2 66  |BRUSH%,.EDBR%:.f|
00010260  6f 72 63 65 64 72 61 77  65 64 62 72 75 28 30 2c  |orcedrawedbru(0,|
00010270  2d 36 34 30 2c 31 30 32  34 2c 30 29 3a f2 6d 68  |-640,1024,0):.mh|
00010280  74 72 62 6d 3a e1 0d 3c  f0 19 e7 20 4d 4f 55 49  |trbm:..<... MOUI|
00010290  43 25 3c 3e 31 35 20 8c  20 e5 20 8d 54 4e 7d 0d  |C%<>15 . . .TN}.|
000102a0  3c fa 89 f2 69 6e 73 70  72 69 74 65 28 30 2c 42  |<...insprite(0,B|
000102b0  52 55 53 48 25 2c c3 45  44 42 52 25 29 3a e6 33  |RUSH%,.EDBR%):.3|
000102c0  2c 36 33 20 c8 9c 20 31  39 32 3a c8 93 20 c8 90  |,63 .. 192:.. ..|
000102d0  20 30 2c 30 2c 36 32 2c  36 30 3a f2 6f 75 74 73  | 0,0,62,60:.outs|
000102e0  70 72 69 74 65 3a f2 69  6e 73 70 72 69 74 65 28  |prite:.insprite(|
000102f0  31 2c 42 52 55 53 48 25  2c c3 45 44 42 52 25 29  |1,BRUSH%,.EDBR%)|
00010300  3a e6 33 2c 36 33 20 c8  9c 20 31 39 32 3a c8 93  |:.3,63 .. 192:..|
00010310  20 c8 90 20 30 2c 30 2c  36 32 2c 36 30 3a f2 6f  | .. 0,0,62,60:.o|
00010320  75 74 73 70 72 69 74 65  0d 3d 04 2c f2 66 6f 72  |utsprite.=.,.for|
00010330  63 65 64 72 61 77 65 64  62 72 75 28 30 2c 2d 36  |cedrawedbru(0,-6|
00010340  34 30 2c 31 30 32 34 2c  30 29 3a f2 6d 68 74 72  |40,1024,0):.mhtr|
00010350  62 6d 3a e1 0d 3d 0e 19  e7 20 4d 4f 55 49 43 25  |bm:..=... MOUIC%|
00010360  3c 3e 31 36 20 8c 20 e5  20 8d 54 6c 7d 0d 3d 18  |<>16 . . .Tl}.=.|
00010370  4f e3 4c 25 3d 30 20 b8  20 31 3a f2 69 6e 73 70  |O.L%=0 . 1:.insp|
00010380  72 69 74 65 28 4c 25 2c  42 52 55 53 48 25 2c c3  |rite(L%,BRUSH%,.|
00010390  45 44 42 52 25 29 3a f0  34 2c 30 2c 30 3a f0 34  |EDBR%):.4,0,0:.4|
000103a0  2c 36 30 2c 36 30 3a f0  31 38 39 2c 32 2c 30 3a  |,60,60:.189,2,0:|
000103b0  f2 6f 75 74 73 70 72 69  74 65 3a ed 0d 3d 22 2c  |.outsprite:..=",|
000103c0  f2 66 6f 72 63 65 64 72  61 77 65 64 62 72 75 28  |.forcedrawedbru(|
000103d0  30 2c 2d 36 34 30 2c 31  30 32 34 2c 30 29 3a f2  |0,-640,1024,0):.|
000103e0  6d 68 74 72 62 6d 3a e1  0d 3d 2c 19 e7 20 4d 4f  |mhtrbm:..=,.. MO|
000103f0  55 49 43 25 3c 3e 31 37  20 8c 20 e5 20 8d 44 4a  |UIC%<>17 . . .DJ|
00010400  7d 0d 3d 36 4f e3 4c 25  3d 30 20 b8 20 31 3a f2  |}.=6O.L%=0 . 1:.|
00010410  69 6e 73 70 72 69 74 65  28 4c 25 2c 42 52 55 53  |insprite(L%,BRUS|
00010420  48 25 2c c3 45 44 42 52  25 29 3a f0 34 2c 32 2c  |H%,.EDBR%):.4,2,|
00010430  30 3a f0 34 2c 36 30 2c  36 30 3a f0 31 38 39 2c  |0:.4,60,60:.189,|
00010440  30 2c 30 3a f2 6f 75 74  73 70 72 69 74 65 3a ed  |0,0:.outsprite:.|
00010450  0d 3d 40 2c f2 66 6f 72  63 65 64 72 61 77 65 64  |.=@,.forcedrawed|
00010460  62 72 75 28 30 2c 2d 36  34 30 2c 31 30 32 34 2c  |bru(0,-640,1024,|
00010470  30 29 3a f2 6d 68 74 72  62 6d 3a e1 0d 3d 4a 19  |0):.mhtrbm:..=J.|
00010480  e7 20 4d 4f 55 49 43 25  3c 3e 31 38 20 8c 20 e5  |. MOUIC%<>18 . .|
00010490  20 8d 44 68 7d 0d 3d 54  4f e3 4c 25 3d 30 20 b8  | .Dh}.=TO.L%=0 .|
000104a0  20 31 3a f2 69 6e 73 70  72 69 74 65 28 4c 25 2c  | 1:.insprite(L%,|
000104b0  42 52 55 53 48 25 2c c3  45 44 42 52 25 29 3a f0  |BRUSH%,.EDBR%):.|
000104c0  34 2c 30 2c 30 3a f0 34  2c 36 32 2c 35 36 3a f0  |4,0,0:.4,62,56:.|
000104d0  31 38 39 2c 30 2c 34 3a  f2 6f 75 74 73 70 72 69  |189,0,4:.outspri|
000104e0  74 65 3a ed 0d 3d 5e 2c  f2 66 6f 72 63 65 64 72  |te:..=^,.forcedr|
000104f0  61 77 65 64 62 72 75 28  30 2c 2d 36 34 30 2c 31  |awedbru(0,-640,1|
00010500  30 32 34 2c 30 29 3a f2  6d 68 74 72 62 6d 3a e1  |024,0):.mhtrbm:.|
00010510  0d 3d 68 19 e7 20 4d 4f  55 49 43 25 3c 3e 31 39  |.=h.. MOUIC%<>19|
00010520  20 8c 20 e5 20 8d 74 46  7d 0d 3d 72 4f e3 4c 25  | . . .tF}.=rO.L%|
00010530  3d 30 20 b8 20 31 3a f2  69 6e 73 70 72 69 74 65  |=0 . 1:.insprite|
00010540  28 4c 25 2c 42 52 55 53  48 25 2c c3 45 44 42 52  |(L%,BRUSH%,.EDBR|
00010550  25 29 3a f0 34 2c 30 2c  34 3a f0 34 2c 36 32 2c  |%):.4,0,4:.4,62,|
00010560  36 30 3a f0 31 38 39 2c  30 2c 30 3a f2 6f 75 74  |60:.189,0,0:.out|
00010570  73 70 72 69 74 65 3a ed  0d 3d 7c 2c f2 66 6f 72  |sprite:..=|,.for|
00010580  63 65 64 72 61 77 65 64  62 72 75 28 30 2c 2d 36  |cedrawedbru(0,-6|
00010590  34 30 2c 31 30 32 34 2c  30 29 3a f2 6d 68 74 72  |40,1024,0):.mhtr|
000105a0  62 6d 3a e1 0d 3d 86 19  e7 20 4d 4f 55 49 43 25  |bm:..=... MOUIC%|
000105b0  3c 3e 31 32 20 8c 20 e5  20 8d 74 64 7d 0d 3d 90  |<>12 . . .td}.=.|
000105c0  50 e3 4c 25 3d 30 20 b8  20 31 3a f2 69 6e 73 70  |P.L%=0 . 1:.insp|
000105d0  72 69 74 65 28 4c 25 2c  42 52 55 53 48 25 2c c3  |rite(L%,BRUSH%,.|
000105e0  45 44 42 52 25 29 3a e6  30 2c 30 20 c8 9c 20 30  |EDBR%):.0,0 .. 0|
000105f0  3a c8 93 20 c8 90 20 30  2c 30 2c 36 32 2c 36 30  |:.. .. 0,0,62,60|
00010600  3a f2 6f 75 74 73 70 72  69 74 65 3a ed 0d 3d 9a  |:.outsprite:..=.|
00010610  2c f2 66 6f 72 63 65 64  72 61 77 65 64 62 72 75  |,.forcedrawedbru|
00010620  28 30 2c 2d 36 34 30 2c  31 30 32 34 2c 30 29 3a  |(0,-640,1024,0):|
00010630  f2 6d 68 74 72 62 6d 3a  e1 0d 3d a4 45 e7 20 4d  |.mhtrbm:..=.E. M|
00010640  4f 55 49 43 25 3d 32 30  20 8c 20 c8 99 26 32 45  |OUIC%=20 . ..&2E|
00010650  2c 32 36 38 2c 42 52 55  53 48 25 2c 22 3c 41 72  |,268,BRUSH%,"<Ar|
00010660  63 68 72 6f 6d 65 24 44  69 72 3e 2e 42 72 75 73  |chrome$Dir>.Brus|
00010670  68 65 73 22 3a f2 6d 65  6e 6f 66 66 3a e1 0d 3d  |hes":.menoff:..=|
00010680  ae 64 e7 20 4d 4f 55 49  43 25 3d 32 31 20 8c 20  |.d. MOUIC%=21 . |
00010690  c8 99 26 32 45 2c 32 36  36 2c 42 52 55 53 48 25  |..&2E,266,BRUSH%|
000106a0  2c 22 3c 41 72 63 68 72  6f 6d 65 24 44 69 72 3e  |,"<Archrome$Dir>|
000106b0  2e 42 72 75 73 68 65 73  22 3a f2 66 6f 72 63 65  |.Brushes":.force|
000106c0  64 72 61 77 65 64 62 72  75 28 30 2c 2d 36 34 30  |drawedbru(0,-640|
000106d0  2c 31 30 32 34 2c 30 29  3a f2 6d 68 74 72 62 6d  |,1024,0):.mhtrbm|
000106e0  3a e1 0d 3d b8 35 42 4c  4b 25 21 38 3d 48 41 4e  |:..=.5BLK%!8=HAN|
000106f0  44 25 28 31 32 29 3a c8  99 20 22 57 69 6d 70 5f  |D%(12):.. "Wimp_|
00010700  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
00010710  2c 42 4c 4b 25 2b 38 0d  3d c2 37 58 4f 46 25 3d  |,BLK%+8.=.7XOF%=|
00010720  28 28 21 42 4c 4b 25 29  2d 28 42 4c 4b 25 21 31  |((!BLK%)-(BLK%!1|
00010730  32 29 29 2d 32 38 3a e7  20 58 4f 46 25 3e 37 36  |2))-28:. XOF%>76|
00010740  36 20 84 20 58 4f 46 25  3c 30 20 8c 20 e1 0d 3d  |6 . XOF%<0 . ..=|
00010750  cc 39 59 4f 46 25 3d 28  28 42 4c 4b 25 21 34 29  |.9YOF%=((BLK%!4)|
00010760  2d 28 42 4c 4b 25 21 31  36 29 29 2d 31 31 32 3a  |-(BLK%!16))-112:|
00010770  e7 20 59 4f 46 25 3e 35  30 38 20 84 20 59 4f 46  |. YOF%>508 . YOF|
00010780  25 3c 30 20 8c 20 e1 0d  3d d6 21 58 4f 46 25 3d  |%<0 . ..=.!XOF%=|
00010790  58 4f 46 25 20 81 20 32  34 3a 59 4f 46 25 3d 59  |XOF% . 24:YOF%=Y|
000107a0  4f 46 25 20 81 20 33 32  0d 3d e0 5c e7 20 4d 4f  |OF% . 32.=.\. MO|
000107b0  55 42 25 3d 34 20 8c 20  c8 99 26 32 45 2c 32 39  |UB%=4 . ..&2E,29|
000107c0  38 2c 42 52 55 53 48 25  2c c3 45 44 42 52 25 2c  |8,BRUSH%,.EDBR%,|
000107d0  58 4f 46 25 2c 59 4f 46  25 2c 36 33 2c 31 39 32  |XOF%,YOF%,63,192|
000107e0  3a c8 99 26 32 45 2c 33  30 30 2c 42 52 55 53 48  |:..&2E,300,BRUSH|
000107f0  25 2c c3 45 44 42 52 25  2c 58 4f 46 25 2c 59 4f  |%,.EDBR%,XOF%,YO|
00010800  46 25 2c 31 0d 3d ea 53  e7 20 4d 4f 55 42 25 3d  |F%,1.=.S. MOUB%=|
00010810  31 20 8c 20 c8 99 26 32  45 2c 32 39 38 2c 42 52  |1 . ..&2E,298,BR|
00010820  55 53 48 25 2c c3 45 44  42 52 25 2c 58 4f 46 25  |USH%,.EDBR%,XOF%|
00010830  2c 59 4f 46 25 3a c8 99  26 32 45 2c 33 30 30 2c  |,YOF%:..&2E,300,|
00010840  42 52 55 53 48 25 2c c3  45 44 42 52 25 2c 58 4f  |BRUSH%,.EDBR%,XO|
00010850  46 25 2c 59 4f 46 25 0d  3d f4 1d e7 20 4d 4f 55  |F%,YOF%.=... MOU|
00010860  42 25 3c 3e 31 20 80 20  4d 4f 55 42 25 3c 3e 34  |B%<>1 . MOUB%<>4|
00010870  20 8c 20 e1 0d 3d fe 58  f2 66 6f 72 63 65 64 72  | . ..=.X.forcedr|
00010880  61 77 65 64 62 72 75 28  28 58 4f 46 25 2a 32 34  |awedbru((XOF%*24|
00010890  29 2b 32 38 2c 2d 28 28  28 31 35 2d 59 4f 46 25  |)+28,-(((15-YOF%|
000108a0  29 2a 33 32 29 2b 34 38  29 2c 28 58 4f 46 25 2a  |)*32)+48),(XOF%*|
000108b0  32 34 29 2b 35 32 2c 2d  28 28 28 31 35 2d 59 4f  |24)+52,-(((15-YO|
000108c0  46 25 29 2a 33 32 29 2b  31 36 29 29 0d 3e 08 42  |F%)*32)+16)).>.B|
000108d0  f2 66 6f 72 63 65 64 72  61 77 65 64 62 72 75 28  |.forcedrawedbru(|
000108e0  28 28 45 44 42 52 25 2d  31 29 2a 36 34 29 2b 33  |((EDBR%-1)*64)+3|
000108f0  32 2c 2d 36 32 30 2c 28  28 45 44 42 52 25 2d 31  |2,-620,((EDBR%-1|
00010900  29 2a 36 34 29 2b 39 36  2c 2d 35 36 30 29 0d 3e  |)*64)+96,-560).>|
00010910  12 05 e1 0d 3e 1c 04 0d  3e 26 0e dd f2 65 63 66  |....>...>&...ecf|
00010920  63 6c 69 63 6b 0d 3e 30  2d e7 20 4d 4f 55 49 43  |click.>0-. MOUIC|
00010930  25 3e 31 37 20 80 20 4d  4f 55 49 43 25 3c 32 32  |%>17 . MOUIC%<22|
00010940  20 8c 20 f2 66 6f 72 63  65 64 72 61 77 70 61 74  | . .forcedrawpat|
00010950  3a e1 0d 3e 3a 14 e7 20  4d 4f 55 49 43 25 3c 3e  |:..>:.. MOUIC%<>|
00010960  31 36 20 8c 20 e1 0d 3e  44 1d e7 20 4d 4f 55 42  |16 . ..>D.. MOUB|
00010970  25 3c 3e 31 20 80 20 4d  4f 55 42 25 3c 3e 34 20  |%<>1 . MOUB%<>4 |
00010980  8c 20 e1 0d 3e 4e 35 42  4c 4b 25 21 38 3d 48 41  |. ..>N5BLK%!8=HA|
00010990  4e 44 25 28 31 31 29 3a  c8 99 20 22 57 69 6d 70  |ND%(11):.. "Wimp|
000109a0  5f 47 65 74 57 69 6e 64  6f 77 53 74 61 74 65 22  |_GetWindowState"|
000109b0  2c 2c 42 4c 4b 25 2b 38  0d 3e 58 36 58 4f 46 25  |,,BLK%+8.>X6XOF%|
000109c0  3d 28 28 21 42 4c 4b 25  29 2d 28 42 4c 4b 25 21  |=((!BLK%)-(BLK%!|
000109d0  31 32 29 29 2d 31 38 30  3a e7 20 58 4f 46 25 3e  |12))-180:. XOF%>|
000109e0  37 36 36 20 8c 20 58 4f  46 25 3d 37 36 36 0d 3e  |766 . XOF%=766.>|
000109f0  62 36 59 4f 46 25 3d 28  28 42 4c 4b 25 21 34 29  |b6YOF%=((BLK%!4)|
00010a00  2d 28 42 4c 4b 25 21 31  36 29 29 2d 32 30 3a e7  |-(BLK%!16))-20:.|
00010a10  20 59 4f 46 25 3e 32 32  30 20 8c 20 59 4f 46 25  | YOF%>220 . YOF%|
00010a20  3d 32 32 30 0d 3e 6c 25  63 6f 6c 25 3d 28 58 4f  |=220.>l%col%=(XO|
00010a30  46 25 20 81 20 32 34 29  2b 28 28 59 4f 46 25 20  |F% . 24)+((YOF% |
00010a40  81 20 32 38 29 2a 33 32  29 0d 3e 76 12 63 62 79  |. 28)*32).>v.cby|
00010a50  25 3d 54 54 42 25 3f 63  6f 6c 25 0d 3e 80 3e 43  |%=TTB%?col%.>.>C|
00010a60  45 43 46 25 3d a4 63 65  63 66 3a 4c 25 3d 30 3a  |ECF%=.cecf:L%=0:|
00010a70  e3 4b 25 3d 38 20 b8 20  31 35 3a e7 20 a4 68 69  |.K%=8 . 15:. .hi|
00010a80  67 68 28 31 31 2c 4b 25  29 20 8c 20 4c 25 3d 4b  |gh(11,K%) . L%=K|
00010a90  25 2d 37 3a ed 20 8b 20  ed 0d 3e 8a 0e e7 20 4c  |%-7:. . ..>... L|
00010aa0  25 3d 30 20 8c 20 e1 0d  3e 94 17 45 43 46 25 28  |%=0 . ..>..ECF%(|
00010ab0  4c 25 2c 43 45 43 46 25  29 3d 63 62 79 25 0d 3e  |L%,CECF%)=cby%.>|
00010ac0  9e 11 f2 66 6f 72 63 65  64 72 61 77 70 61 74 0d  |...forcedrawpat.|
00010ad0  3e a8 05 e1 0d 3e b2 04  0d 3e bc 14 dd f2 72 65  |>....>...>....re|
00010ae0  6c 6f 61 64 70 61 74 66  69 6c 6c 73 0d 3e c6 2f  |loadpatfills.>./|
00010af0  c8 99 26 32 45 2c 32 36  36 2c 50 46 49 4c 4c 53  |..&2E,266,PFILLS|
00010b00  25 2c 22 3c 41 72 63 68  72 6f 6d 65 24 44 69 72  |%,"<Archrome$Dir|
00010b10  3e 2e 50 61 74 46 69 6c  6c 73 22 0d 3e d0 05 e1  |>.PatFills".>...|
00010b20  0d 3e da 04 0d 3e e4 12  dd f2 70 61 74 66 69 6c  |.>...>....patfil|
00010b30  6c 63 6c 69 63 6b 0d 3e  ee 22 e7 20 4d 4f 55 49  |lclick.>.". MOUI|
00010b40  43 25 3d 30 20 8c 20 f2  72 65 6c 6f 61 64 70 61  |C%=0 . .reloadpa|
00010b50  74 66 69 6c 6c 73 3a e1  0d 3e f8 35 42 4c 4b 25  |tfills:..>.5BLK%|
00010b60  21 38 3d 48 41 4e 44 25  28 32 30 29 3a c8 99 20  |!8=HAND%(20):.. |
00010b70  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
00010b80  74 61 74 65 22 2c 2c 42  4c 4b 25 2b 38 0d 3f 02  |tate",,BLK%+8.?.|
00010b90  36 58 4f 46 25 3d 28 28  21 42 4c 4b 25 29 2d 28  |6XOF%=((!BLK%)-(|
00010ba0  42 4c 4b 25 21 31 32 29  29 3a 59 4f 46 25 3d 28  |BLK%!12)):YOF%=(|
00010bb0  28 42 4c 4b 25 21 34 29  2d 28 42 4c 4b 25 21 31  |(BLK%!4)-(BLK%!1|
00010bc0  36 29 29 0d 3f 0c 74 4b  25 3d 2d 31 3a e3 4c 25  |6)).?.tK%=-1:.L%|
00010bd0  3d 31 20 b8 20 31 32 3a  42 58 25 3d 28 28 4c 25  |=1 . 12:BX%=((L%|
00010be0  2d 31 29 2a 38 34 29 2b  32 34 3a 42 59 25 3d 35  |-1)*84)+24:BY%=5|
00010bf0  32 3a e7 20 58 4f 46 25  3e 3d 42 58 25 20 80 20  |2:. XOF%>=BX% . |
00010c00  59 4f 46 25 3e 3d 42 59  25 20 80 20 58 4f 46 25  |YOF%>=BY% . XOF%|
00010c10  3c 28 42 58 25 2b 36 34  29 20 80 20 59 4f 46 25  |<(BX%+64) . YOF%|
00010c20  3c 28 42 59 25 2b 36 34  29 20 8c 20 4b 25 3d 4c  |<(BY%+64) . K%=L|
00010c30  25 3a ed 20 8b 20 ed 0d  3f 16 2b e7 20 4b 25 3d  |%:. . ..?.+. K%=|
00010c40  2d 31 20 8c 20 e1 20 8b  20 43 50 46 25 3d 4b 25  |-1 . . . CPF%=K%|
00010c50  3a f2 66 6f 72 63 65 64  72 61 77 70 61 74 66 69  |:.forcedrawpatfi|
00010c60  6c 6c 0d 3f 20 05 e1 0d  3f 2a 04 0d 3f 34 11 dd  |ll.? ...?*..?4..|
00010c70  f2 73 61 76 65 67 72 66  69 6c 6c 73 0d 3f 3e 24  |.savegrfills.?>$|
00010c80  46 25 3d ae 28 22 3c 41  72 63 68 72 6f 6d 65 24  |F%=.("<Archrome$|
00010c90  44 69 72 3e 2e 47 72 61  64 46 69 6c 6c 73 22 29  |Dir>.GradFills")|
00010ca0  0d 3f 48 3d e3 4c 25 3d  30 20 b8 20 31 35 3a e3  |.?H=.L%=0 . 15:.|
00010cb0  4b 25 3d 30 20 b8 20 31  3a e3 49 25 3d 30 20 b8  |K%=0 . 1:.I%=0 .|
00010cc0  20 34 3a f1 23 46 25 2c  47 52 46 49 25 28 4c 25  | 4:.#F%,GRFI%(L%|
00010cd0  2c 4b 25 2c 49 25 29 3a  ed 3a ed 3a ed 0d 3f 52  |,K%,I%):.:.:..?R|
00010ce0  08 d9 23 46 25 0d 3f 5c  05 e1 0d 3f 66 04 0d 3f  |..#F%.?\...?f..?|
00010cf0  70 11 dd f2 6c 6f 61 64  67 72 66 69 6c 6c 73 0d  |p...loadgrfills.|
00010d00  3f 7a 24 46 25 3d 8e 28  22 3c 41 72 63 68 72 6f  |?z$F%=.("<Archro|
00010d10  6d 65 24 44 69 72 3e 2e  47 72 61 64 46 69 6c 6c  |me$Dir>.GradFill|
00010d20  73 22 29 0d 3f 84 3d e3  4c 25 3d 30 20 b8 20 31  |s").?.=.L%=0 . 1|
00010d30  35 3a e3 4b 25 3d 30 20  b8 20 31 3a e3 49 25 3d  |5:.K%=0 . 1:.I%=|
00010d40  30 20 b8 20 34 3a e8 23  46 25 2c 47 52 46 49 25  |0 . 4:.#F%,GRFI%|
00010d50  28 4c 25 2c 4b 25 2c 49  25 29 3a ed 3a ed 3a ed  |(L%,K%,I%):.:.:.|
00010d60  0d 3f 8e 08 d9 23 46 25  0d 3f 98 12 f2 66 6f 72  |.?...#F%.?...for|
00010d70  63 65 64 72 61 77 66 69  6c 6c 0d 3f a2 05 e1 0d  |cedrawfill.?....|
00010d80  3f ac 04 0d 3f b6 0d dd  f2 66 69 6c 6c 75 73 65  |?...?....filluse|
00010d90  0d 3f c0 20 53 4e 4f 25  3d a4 67 72 61 66 69 6c  |.?. SNO%=.grafil|
00010da0  6e 6f 3a e7 20 53 4e 4f  25 3d 2d 31 20 8c 20 e1  |no:. SNO%=-1 . .|
00010db0  0d 3f ca 79 f2 6b 69 6c  6c 66 3a 46 55 53 45 25  |.?.y.killf:FUSE%|
00010dc0  3d 33 31 3a 46 55 53 54  25 3d 30 3a 47 52 46 4e  |=31:FUST%=0:GRFN|
00010dd0  25 3d 53 4e 4f 25 3a 47  52 54 59 25 3d 30 3a f2  |%=SNO%:GRTY%=0:.|
00010de0  68 65 6c 70 3a f2 77 69  6e 64 6e 61 6d 65 28 32  |help:.windname(2|
00010df0  2c 50 49 43 24 2b 22 20  5b 47 72 61 64 75 61 74  |,PIC$+" [Graduat|
00010e00  65 64 20 66 69 6c 6c 20  28 22 2b a4 66 69 6c 6c  |ed fill ("+.fill|
00010e10  64 65 74 28 53 4e 4f 25  2b 31 29 2b 22 29 5d 22  |det(SNO%+1)+")]"|
00010e20  29 3a f2 73 70 69 6e 69  74 0d 3f d4 17 e7 20 4d  |):.spinit.?... M|
00010e30  4f 55 42 25 3d 34 20 8c  20 f2 6d 65 6e 6f 66 66  |OUB%=4 . .menoff|
00010e40  0d 3f de 05 e1 0d 3f e8  04 0d 3f f2 3a dd a4 66  |.?....?...?.:..f|
00010e50  69 6c 6c 64 65 74 28 53  25 29 3a e7 20 47 52 54  |illdet(S%):. GRT|
00010e60  59 25 3d 30 20 8c 20 3d  22 66 6c 6f 6f 64 20 22  |Y%=0 . ="flood "|
00010e70  2b c3 53 25 20 8b 20 3d  22 61 72 65 61 20 22 2b  |+.S% . ="area "+|
00010e80  c3 53 25 0d 3f fc 04 0d  40 06 10 dd f2 69 6e 76  |.S%.?...@....inv|
00010e90  65 72 74 66 69 6c 6c 0d  40 10 12 4e 4f 53 25 3d  |ertfill.@..NOS%=|
00010ea0  a4 67 72 61 66 69 6c 6e  6f 0d 40 1a 25 49 41 25  |.grafilno.@.%IA%|
00010eb0  3d 30 3a 49 42 25 3d bb  a4 67 65 74 69 63 6f 6e  |=0:IB%=..geticon|
00010ec0  28 31 33 2c 34 34 29 3a  49 42 25 2d 3d 31 0d 40  |(13,44):IB%-=1.@|
00010ed0  24 6b f5 3a c8 94 20 47  52 46 49 25 28 49 41 25  |$k.:.. GRFI%(IA%|
00010ee0  2c 30 2c 4e 4f 53 25 29  2c 47 52 46 49 25 28 49  |,0,NOS%),GRFI%(I|
00010ef0  42 25 2c 30 2c 4e 4f 53  25 29 3a c8 94 20 47 52  |B%,0,NOS%):.. GR|
00010f00  46 49 25 28 49 41 25 2c  31 2c 4e 4f 53 25 29 2c  |FI%(IA%,1,NOS%),|
00010f10  47 52 46 49 25 28 49 42  25 2c 31 2c 4e 4f 53 25  |GRFI%(IB%,1,NOS%|
00010f20  29 3a 49 41 25 2b 3d 31  3a 49 42 25 2d 3d 31 3a  |):IA%+=1:IB%-=1:|
00010f30  fd 20 49 41 25 3e 49 42  25 0d 40 2e 12 f2 66 6f  |. IA%>IB%.@...fo|
00010f40  72 63 65 64 72 61 77 66  69 6c 6c 0d 40 38 05 e1  |rcedrawfill.@8..|
00010f50  0d 40 42 04 0d 40 4c 10  dd f2 69 6e 74 65 72 70  |.@B..@L...interp|
00010f60  66 69 6c 6c 0d 40 56 12  4e 4f 53 25 3d a4 67 72  |fill.@V.NOS%=.gr|
00010f70  61 66 69 6c 6e 6f 0d 40  60 15 49 41 25 3d 30 3a  |afilno.@`.IA%=0:|
00010f80  f5 3a 49 42 25 3d 49 41  25 2b 31 0d 40 6a 1f e7  |.:IB%=IA%+1.@j..|
00010f90  20 49 42 25 3d 31 36 20  8c 20 f2 66 6f 72 63 65  | IB%=16 . .force|
00010fa0  64 72 61 77 66 69 6c 6c  3a e1 0d 40 74 3f e7 20  |drawfill:..@t?. |
00010fb0  47 52 46 49 25 28 49 42  25 2c 30 2c 4e 4f 53 25  |GRFI%(IB%,0,NOS%|
00010fc0  29 3d 30 20 80 20 47 52  46 49 25 28 49 42 25 2c  |)=0 . GRFI%(IB%,|
00010fd0  31 2c 4e 4f 53 25 29 3d  30 20 8c 20 49 42 25 2b  |1,NOS%)=0 . IB%+|
00010fe0  3d 31 3a e5 20 8d 40 6a  40 0d 40 7e 27 e7 20 49  |=1:. .@j@.@~'. I|
00010ff0  42 25 3d 49 41 25 2b 31  20 8c 20 49 41 25 3d 49  |B%=IA%+1 . IA%=I|
00011000  42 25 3a 49 42 25 2b 3d  31 3a e5 20 8d 40 6a 40  |B%:IB%+=1:. .@j@|
00011010  0d 40 88 1c 54 31 25 3d  47 52 46 49 25 28 49 41  |.@..T1%=GRFI%(IA|
00011020  25 2c 31 2c 4e 4f 53 25  29 3e 3e 36 0d 40 92 2a  |%,1,NOS%)>>6.@.*|
00011030  52 31 25 3d 28 28 47 52  46 49 25 28 49 41 25 2c  |R1%=((GRFI%(IA%,|
00011040  30 2c 4e 4f 53 25 29 20  80 20 25 31 31 29 3c 3c  |0,NOS%) . %11)<<|
00011050  32 29 2b 54 31 25 0d 40  9c 27 47 31 25 3d 28 47  |2)+T1%.@.'G1%=(G|
00011060  52 46 49 25 28 49 41 25  2c 30 2c 4e 4f 53 25 29  |RFI%(IA%,0,NOS%)|
00011070  20 80 20 25 31 31 30 30  29 2b 54 31 25 0d 40 a6  | . %1100)+T1%.@.|
00011080  2e 42 31 25 3d 28 28 47  52 46 49 25 28 49 41 25  |.B1%=((GRFI%(IA%|
00011090  2c 30 2c 4e 4f 53 25 29  20 80 20 25 31 31 30 30  |,0,NOS%) . %1100|
000110a0  30 30 29 3e 3e 32 29 2b  54 31 25 0d 40 b0 1c 54  |00)>>2)+T1%.@..T|
000110b0  32 25 3d 47 52 46 49 25  28 49 42 25 2c 31 2c 4e  |2%=GRFI%(IB%,1,N|
000110c0  4f 53 25 29 3e 3e 36 0d  40 ba 3b 52 44 3d 28 28  |OS%)>>6.@.;RD=((|
000110d0  28 28 47 52 46 49 25 28  49 42 25 2c 30 2c 4e 4f  |((GRFI%(IB%,0,NO|
000110e0  53 25 29 20 80 20 25 31  31 29 3c 3c 32 29 2b 54  |S%) . %11)<<2)+T|
000110f0  32 25 29 2d 52 31 25 29  2f 28 49 42 25 2d 49 41  |2%)-R1%)/(IB%-IA|
00011100  25 29 0d 40 c4 38 47 44  3d 28 28 28 47 52 46 49  |%).@.8GD=(((GRFI|
00011110  25 28 49 42 25 2c 30 2c  4e 4f 53 25 29 20 80 20  |%(IB%,0,NOS%) . |
00011120  25 31 31 30 30 29 2b 54  32 25 29 2d 47 31 25 29  |%1100)+T2%)-G1%)|
00011130  2f 28 49 42 25 2d 49 41  25 29 0d 40 ce 3f 42 44  |/(IB%-IA%).@.?BD|
00011140  3d 28 28 28 28 47 52 46  49 25 28 49 42 25 2c 30  |=((((GRFI%(IB%,0|
00011150  2c 4e 4f 53 25 29 20 80  20 25 31 31 30 30 30 30  |,NOS%) . %110000|
00011160  29 3e 3e 32 29 2b 54 32  25 29 2d 42 31 25 29 2f  |)>>2)+T2%)-B1%)/|
00011170  28 49 42 25 2d 49 41 25  29 0d 40 d8 1a 49 41 25  |(IB%-IA%).@..IA%|
00011180  2b 3d 31 3a e3 4c 25 3d  31 20 b8 20 49 42 25 2d  |+=1:.L%=1 . IB%-|
00011190  49 41 25 0d 40 e2 30 52  25 3d 52 31 25 2b 28 52  |IA%.@.0R%=R1%+(R|
000111a0  44 2a 4c 25 29 3a 47 25  3d 47 31 25 2b 28 47 44  |D*L%):G%=G1%+(GD|
000111b0  2a 4c 25 29 3a 42 25 3d  42 31 25 2b 28 42 44 2a  |*L%):B%=B1%+(BD*|
000111c0  4c 25 29 0d 40 ec 49 c8  99 20 22 43 6f 6c 6f 75  |L%).@.I.. "Colou|
000111d0  72 54 72 61 6e 73 5f 52  65 74 75 72 6e 47 43 4f  |rTrans_ReturnGCO|
000111e0  4c 46 6f 72 4d 6f 64 65  22 2c 28 42 25 3c 3c 32  |LForMode",(B%<<2|
000111f0  38 29 2b 28 47 25 3c 3c  32 30 29 2b 28 52 25 3c  |8)+(G%<<20)+(R%<|
00011200  3c 31 32 29 2c 31 35 20  b8 20 47 25 0d 40 f6 3b  |<12),15 . G%.@.;|
00011210  47 52 46 49 25 28 49 41  25 2c 30 2c 4e 4f 53 25  |GRFI%(IA%,0,NOS%|
00011220  29 3d 47 25 3e 3e 32 3a  47 52 46 49 25 28 49 41  |)=G%>>2:GRFI%(IA|
00011230  25 2c 31 2c 4e 4f 53 25  29 3d 28 47 25 20 80 20  |%,1,NOS%)=(G% . |
00011240  25 31 31 29 3c 3c 36 0d  41 00 0c 49 41 25 2b 3d  |%11)<<6.A..IA%+=|
00011250  31 3a ed 0d 41 0a 14 49  42 25 3d 49 41 25 2b 31  |1:..A..IB%=IA%+1|
00011260  3a e5 20 8d 40 6a 40 0d  41 14 04 0d 41 1e 0e dd  |:. .@j@.A...A...|
00011270  f2 77 69 70 65 66 69 6c  6c 0d 41 28 12 4e 4f 53  |.wipefill.A(.NOS|
00011280  25 3d a4 67 72 61 66 69  6c 6e 6f 0d 41 32 30 e3  |%=.grafilno.A20.|
00011290  4c 25 3d 30 20 b8 20 31  35 3a e3 4b 25 3d 30 20  |L%=0 . 15:.K%=0 |
000112a0  b8 20 31 3a 47 52 46 49  25 28 4c 25 2c 4b 25 2c  |. 1:GRFI%(L%,K%,|
000112b0  4e 4f 53 25 29 3d 30 3a  ed 3a ed 0d 41 3c 14 f2  |NOS%)=0:.:..A<..|
000112c0  66 6f 72 63 65 64 72 61  77 66 69 6c 6c 3a e1 0d  |forcedrawfill:..|
000112d0  41 46 04 0d 41 50 0e dd  f2 63 6f 6d 70 66 69 6c  |AF..AP...compfil|
000112e0  6c 0d 41 5a 12 4e 4f 53  25 3d a4 67 72 61 66 69  |l.AZ.NOS%=.grafi|
000112f0  6c 6e 6f 0d 41 64 37 43  41 25 3d 47 52 46 49 25  |lno.Ad7CA%=GRFI%|
00011300  28 30 2c 30 2c 4e 4f 53  25 29 3a 54 41 25 3d 47  |(0,0,NOS%):TA%=G|
00011310  52 46 49 25 28 30 2c 31  2c 4e 4f 53 25 29 3a 49  |RFI%(0,1,NOS%):I|
00011320  41 25 3d 31 3a 49 42 25  3d 31 0d 41 6e 0d c8 95  |A%=1:IB%=1.An...|
00011330  20 49 42 25 3c 31 36 0d  41 78 b2 e7 20 47 52 46  | IB%<16.Ax.. GRF|
00011340  49 25 28 49 42 25 2c 30  2c 4e 4f 53 25 29 3c 3e  |I%(IB%,0,NOS%)<>|
00011350  43 41 25 20 84 20 47 52  46 49 25 28 49 42 25 2c  |CA% . GRFI%(IB%,|
00011360  31 2c 4e 4f 53 25 29 3c  3e 54 41 25 20 8c 20 47  |1,NOS%)<>TA% . G|
00011370  52 46 49 25 28 49 41 25  2c 30 2c 4e 4f 53 25 29  |RFI%(IA%,0,NOS%)|
00011380  3d 47 52 46 49 25 28 49  42 25 2c 30 2c 4e 4f 53  |=GRFI%(IB%,0,NOS|
00011390  25 29 3a 47 52 46 49 25  28 49 41 25 2c 31 2c 4e  |%):GRFI%(IA%,1,N|
000113a0  4f 53 25 29 3d 47 52 46  49 25 28 49 42 25 2c 31  |OS%)=GRFI%(IB%,1|
000113b0  2c 4e 4f 53 25 29 3a 43  41 25 3d 47 52 46 49 25  |,NOS%):CA%=GRFI%|
000113c0  28 49 41 25 2c 30 2c 4e  4f 53 25 29 3a 54 41 25  |(IA%,0,NOS%):TA%|
000113d0  3d 47 52 46 49 25 28 49  41 25 2c 31 2c 4e 4f 53  |=GRFI%(IA%,1,NOS|
000113e0  25 29 3a 49 41 25 2b 3d  31 0d 41 82 0c 49 42 25  |%):IA%+=1.A..IB%|
000113f0  2b 3d 31 3a ce 0d 41 8c  3e c8 95 20 49 41 25 3c  |+=1:..A.>.. IA%<|
00011400  31 36 3a 47 52 46 49 25  28 49 41 25 2c 30 2c 4e  |16:GRFI%(IA%,0,N|
00011410  4f 53 25 29 3d 30 3a 47  52 46 49 25 28 49 41 25  |OS%)=0:GRFI%(IA%|
00011420  2c 31 2c 4e 4f 53 25 29  3d 30 3a 49 41 25 2b 3d  |,1,NOS%)=0:IA%+=|
00011430  31 3a ce 0d 41 96 12 f2  66 6f 72 63 65 64 72 61  |1:..A...forcedra|
00011440  77 66 69 6c 6c 0d 41 a0  05 e1 0d 41 aa 04 0d 41  |wfill.A....A...A|
00011450  b4 0f dd f2 66 69 6c 6c  63 6c 69 63 6b 0d 41 be  |....fillclick.A.|
00011460  17 e7 20 4d 4f 55 49 43  25 3c 30 20 8c 20 e5 20  |.. MOUIC%<0 . . |
00011470  8d 40 66 44 0d 41 c8 1e  e7 20 4d 4f 55 49 43 25  |.@fD.A... MOUIC%|
00011480  3d 35 31 20 8c 20 f2 73  61 76 65 67 72 66 69 6c  |=51 . .savegrfil|
00011490  6c 73 0d 41 d2 1e e7 20  4d 4f 55 49 43 25 3d 35  |ls.A... MOUIC%=5|
000114a0  30 20 8c 20 f2 6c 6f 61  64 67 72 66 69 6c 6c 73  |0 . .loadgrfills|
000114b0  0d 41 dc 1c e7 20 4d 4f  55 49 43 25 3d 35 32 20  |.A... MOUIC%=52 |
000114c0  8c 20 f2 66 69 6c 6c 75  73 65 3a e1 0d 41 e6 1f  |. .filluse:..A..|
000114d0  e7 20 4d 4f 55 49 43 25  3d 36 30 20 8c 20 f2 69  |. MOUIC%=60 . .i|
000114e0  6e 76 65 72 74 66 69 6c  6c 3a e1 0d 41 f0 1f e7  |nvertfill:..A...|
000114f0  20 4d 4f 55 49 43 25 3d  36 31 20 8c 20 f2 69 6e  | MOUIC%=61 . .in|
00011500  74 65 72 70 66 69 6c 6c  3a e1 0d 41 fa 1d e7 20  |terpfill:..A... |
00011510  4d 4f 55 49 43 25 3d 36  32 20 8c 20 f2 77 69 70  |MOUIC%=62 . .wip|
00011520  65 66 69 6c 6c 3a e1 0d  42 04 1d e7 20 4d 4f 55  |efill:..B... MOU|
00011530  49 43 25 3d 36 33 20 8c  20 f2 63 6f 6d 70 66 69  |IC%=63 . .compfi|
00011540  6c 6c 3a e1 0d 42 0e 2d  e7 20 4d 4f 55 49 43 25  |ll:..B.-. MOUIC%|
00011550  3e 3d 30 20 80 20 4d 4f  55 49 43 25 3c 3d 31 35  |>=0 . MOUIC%<=15|
00011560  20 8c 20 f2 73 65 74 67  72 61 64 66 69 6c 6c 3a  | . .setgradfill:|
00011570  e1 0d 42 18 30 e7 20 4d  4f 55 49 43 25 3e 3d 31  |..B.0. MOUIC%>=1|
00011580  37 20 80 20 4d 4f 55 49  43 25 3c 3d 32 31 20 8c  |7 . MOUIC%<=21 .|
00011590  20 f2 66 6f 72 63 65 64  72 61 77 66 69 6c 6c 3a  | .forcedrawfill:|
000115a0  e1 0d 42 22 19 e7 20 4d  4f 55 49 43 25 3c 3e 34  |..B".. MOUIC%<>4|
000115b0  30 20 8c 20 e5 20 8d 40  40 42 0d 42 2c 27 46 49  |0 . . .@@B.B,'FI|
000115c0  4c 52 25 3d 46 49 4c 52  25 2d 31 3a e7 20 46 49  |LR%=FILR%-1:. FI|
000115d0  4c 52 25 3c 30 20 8c 20  46 49 4c 52 25 3d 33 35  |LR%<0 . FILR%=35|
000115e0  39 0d 42 36 1c f2 73 65  74 69 63 6f 6e 28 31 33  |9.B6..seticon(13|
000115f0  2c 33 39 2c c3 46 49 4c  52 25 29 3a e1 0d 42 40  |,39,.FILR%):..B@|
00011600  19 e7 20 4d 4f 55 49 43  25 3c 3e 34 31 20 8c 20  |.. MOUIC%<>41 . |
00011610  e5 20 8d 40 5e 42 0d 42  4a 27 46 49 4c 52 25 3d  |. .@^B.BJ'FILR%=|
00011620  46 49 4c 52 25 2b 31 3a  e7 20 46 49 4c 52 25 3e  |FILR%+1:. FILR%>|
00011630  33 35 39 20 8c 20 46 49  4c 52 25 3d 30 0d 42 54  |359 . FILR%=0.BT|
00011640  1c f2 73 65 74 69 63 6f  6e 28 31 33 2c 33 39 2c  |..seticon(13,39,|
00011650  c3 46 49 4c 52 25 29 3a  e1 0d 42 5e 19 e7 20 4d  |.FILR%):..B^.. M|
00011660  4f 55 49 43 25 3c 3e 34  33 20 8c 20 e5 20 8d 40  |OUIC%<>43 . . .@|
00011670  7c 42 0d 42 68 26 4e 4f  53 25 3d bb a4 67 65 74  ||B.Bh&NOS%=..get|
00011680  69 63 6f 6e 28 31 33 2c  34 34 29 3a e7 20 4e 4f  |icon(13,44):. NO|
00011690  53 25 3d 32 20 8c 20 e1  0d 42 72 43 f2 73 68 61  |S%=2 . ..BrC.sha|
000116a0  64 65 69 63 6f 6e 28 31  33 2c a4 66 69 6c 69 63  |deicon(13,.filic|
000116b0  28 4e 4f 53 25 2d 31 29  29 3a 4e 4f 53 25 2d 3d  |(NOS%-1)):NOS%-=|
000116c0  31 3a f2 73 65 74 69 63  6f 6e 28 31 33 2c 34 34  |1:.seticon(13,44|
000116d0  2c c3 28 4e 4f 53 25 29  29 3a e1 0d 42 7c 19 e7  |,.(NOS%)):..B|..|
000116e0  20 4d 4f 55 49 43 25 3c  3e 34 35 20 8c 20 e5 20  | MOUIC%<>45 . . |
000116f0  8d 70 5a 42 0d 42 86 27  4e 4f 53 25 3d bb a4 67  |.pZB.B.'NOS%=..g|
00011700  65 74 69 63 6f 6e 28 31  33 2c 34 34 29 3a e7 20  |eticon(13,44):. |
00011710  4e 4f 53 25 3d 31 36 20  8c 20 e1 0d 42 90 41 f2  |NOS%=16 . ..B.A.|
00011720  63 6c 65 61 72 69 63 6f  6e 28 31 33 2c a4 66 69  |clearicon(13,.fi|
00011730  6c 69 63 28 4e 4f 53 25  29 29 3a 4e 4f 53 25 2b  |lic(NOS%)):NOS%+|
00011740  3d 31 3a f2 73 65 74 69  63 6f 6e 28 31 33 2c 34  |=1:.seticon(13,4|
00011750  34 2c c3 28 4e 4f 53 25  29 29 3a e1 0d 42 9a 04  |4,.(NOS%)):..B..|
00011760  0d 42 a4 05 e1 0d 42 ae  04 0d 42 b8 11 dd f2 73  |.B....B...B....s|
00011770  65 74 67 72 61 64 66 69  6c 6c 0d 42 c2 12 53 4e  |etgradfill.B..SN|
00011780  4f 25 3d a4 67 72 61 66  69 6c 6e 6f 0d 42 cc 0f  |O%=.grafilno.B..|
00011790  c8 8e 20 4d 4f 55 49 43  25 20 ca 0d 42 d6 0e c9  |.. MOUIC% ..B...|
000117a0  20 30 3a f7 20 8d 70 7c  43 0d 42 e0 0e c9 20 31  | 0:. .p|C.B... 1|
000117b0  3a f7 20 8d 60 46 43 0d  42 ea 0e c9 20 32 3a f7  |:. .`FC.B... 2:.|
000117c0  20 8d 60 50 43 0d 42 f4  0e c9 20 33 3a f7 20 8d  | .`PC.B... 3:. .|
000117d0  60 5a 43 0d 42 fe 0e c9  20 34 3a f7 20 8d 60 64  |`ZC.B... 4:. .`d|
000117e0  43 0d 43 08 0e c9 20 35  3a f7 20 8d 60 6e 43 0d  |C.C... 5:. .`nC.|
000117f0  43 12 0e c9 20 36 3a f7  20 8d 60 78 43 0d 43 1c  |C... 6:. .`xC.C.|
00011800  0e c9 20 37 3a f7 20 8d  50 4c 44 0d 43 26 0e c9  |.. 7:. .PLD.C&..|
00011810  20 38 3a f7 20 8d 50 56  44 0d 43 30 0e c9 20 39  | 8:. .PVD.C0.. 9|
00011820  3a f7 20 8d 50 60 44 0d  43 3a 0f c9 20 31 30 3a  |:. .P`D.C:.. 10:|
00011830  f7 20 8d 50 6a 44 0d 43  44 0f c9 20 31 31 3a f7  |. .PjD.CD.. 11:.|
00011840  20 8d 50 42 44 0d 43 4e  0f c9 20 31 32 3a f7 20  | .PBD.CN.. 12:. |
00011850  8d 50 74 44 0d 43 58 0f  c9 20 31 33 3a f7 20 8d  |.PtD.CX.. 13:. .|
00011860  50 7e 44 0d 43 62 0f c9  20 31 34 3a f7 20 8d 40  |P~D.Cb.. 14:. .@|
00011870  48 44 0d 43 6c 0f c9 20  31 35 3a f7 20 8d 40 52  |HD.Cl.. 15:. .@R|
00011880  44 0d 43 76 05 cb 0d 43  80 4a e3 4c 25 3d 30 20  |D.Cv...C.J.L%=0 |
00011890  b8 20 31 35 3a f2 73 68  61 64 65 69 63 6f 6e 28  |. 15:.shadeicon(|
000118a0  31 33 2c a4 66 69 6c 69  63 28 4c 25 29 29 3a e3  |13,.filic(L%)):.|
000118b0  4b 25 3d 30 20 b8 20 31  3a 47 52 46 49 25 28 4c  |K%=0 . 1:GRFI%(L|
000118c0  25 2c 4b 25 2c 53 4e 4f  25 29 3d 30 3a ed 3a ed  |%,K%,SNO%)=0:.:.|
000118d0  0d 43 8a 51 f3 20 53 25  3a e3 4c 25 3d 30 20 b8  |.C.Q. S%:.L%=0 .|
000118e0  20 53 25 2d 31 3a f2 63  6c 65 61 72 69 63 6f 6e  | S%-1:.clearicon|
000118f0  28 31 33 2c a4 66 69 6c  69 63 28 4c 25 29 29 3a  |(13,.filic(L%)):|
00011900  e3 4b 25 3d 30 20 b8 20  31 3a f3 20 47 52 46 49  |.K%=0 . 1:. GRFI|
00011910  25 28 4c 25 2c 4b 25 2c  53 4e 4f 25 29 3a ed 3a  |%(L%,K%,SNO%):.:|
00011920  ed 0d 43 94 17 f2 73 65  74 69 63 6f 6e 28 31 33  |..C...seticon(13|
00011930  2c 34 34 2c c3 53 25 29  0d 43 9e 12 f2 66 6f 72  |,44,.S%).C...for|
00011940  63 65 64 72 61 77 66 69  6c 6c 0d 43 a8 05 e1 0d  |cedrawfill.C....|
00011950  43 b2 04 0d 43 bc 48 dc  20 31 32 2c 20 31 2c 30  |C...C.H. 12, 1,0|
00011960  2c 31 2c 36 34 2c 31 2c  31 32 38 2c 31 2c 31 39  |,1,64,1,128,1,19|
00011970  32 2c 32 2c 30 2c 32 2c  36 34 2c 32 2c 31 32 38  |2,2,0,2,64,2,128|
00011980  2c 32 2c 31 39 32 2c 33  2c 30 2c 33 2c 36 34 2c  |,2,192,3,0,3,64,|
00011990  33 2c 31 32 38 2c 33 2c  31 39 32 0d 43 c6 4c dc  |3,128,3,192.C.L.|
000119a0  20 31 32 2c 20 34 2c 30  2c 34 2c 36 34 2c 34 2c  | 12, 4,0,4,64,4,|
000119b0  31 32 38 2c 34 2c 31 39  32 2c 38 2c 30 2c 38 2c  |128,4,192,8,0,8,|
000119c0  36 34 2c 38 2c 31 32 38  2c 38 2c 31 39 32 2c 31  |64,8,128,8,192,1|
000119d0  32 2c 30 2c 31 32 2c 36  34 2c 31 32 2c 31 32 38  |2,0,12,64,12,128|
000119e0  2c 31 32 2c 31 39 32 0d  43 d0 50 dc 20 31 32 2c  |,12,192.C.P. 12,|
000119f0  20 35 2c 30 2c 35 2c 36  34 2c 35 2c 31 32 38 2c  | 5,0,5,64,5,128,|
00011a00  35 2c 31 39 32 2c 31 30  2c 30 2c 31 30 2c 36 34  |5,192,10,0,10,64|
00011a10  2c 31 30 2c 31 32 38 2c  31 30 2c 31 39 32 2c 31  |,10,128,10,192,1|
00011a20  35 2c 30 2c 31 35 2c 36  34 2c 31 35 2c 31 32 38  |5,0,15,64,15,128|
00011a30  2c 31 35 2c 31 39 32 0d  43 da 54 dc 20 31 32 2c  |,15,192.C.T. 12,|
00011a40  20 31 36 2c 30 2c 31 36  2c 36 34 2c 31 36 2c 31  | 16,0,16,64,16,1|
00011a50  32 38 2c 31 36 2c 31 39  32 2c 33 32 2c 30 2c 33  |28,16,192,32,0,3|
00011a60  32 2c 36 34 2c 33 32 2c  31 32 38 2c 33 32 2c 31  |2,64,32,128,32,1|
00011a70  39 32 2c 34 38 2c 30 2c  34 38 2c 36 34 2c 34 38  |92,48,0,48,64,48|
00011a80  2c 31 32 38 2c 34 38 2c  31 39 32 0d 43 e4 54 dc  |,128,48,192.C.T.|
00011a90  20 31 32 2c 20 31 37 2c  30 2c 31 37 2c 36 34 2c  | 12, 17,0,17,64,|
00011aa0  31 37 2c 31 32 38 2c 31  37 2c 31 39 32 2c 33 34  |17,128,17,192,34|
00011ab0  2c 30 2c 33 34 2c 36 34  2c 33 34 2c 31 32 38 2c  |,0,34,64,34,128,|
00011ac0  33 34 2c 31 39 32 2c 35  31 2c 30 2c 35 31 2c 36  |34,192,51,0,51,6|
00011ad0  34 2c 35 31 2c 31 32 38  2c 35 31 2c 31 39 32 0d  |4,51,128,51,192.|
00011ae0  43 ee 54 dc 20 31 32 2c  20 32 30 2c 30 2c 32 30  |C.T. 12, 20,0,20|
00011af0  2c 36 34 2c 32 30 2c 31  32 38 2c 32 30 2c 31 39  |,64,20,128,20,19|
00011b00  32 2c 34 30 2c 30 2c 34  30 2c 36 34 2c 34 30 2c  |2,40,0,40,64,40,|
00011b10  31 32 38 2c 34 30 2c 31  39 32 2c 36 30 2c 30 2c  |128,40,192,60,0,|
00011b20  36 30 2c 36 34 2c 36 30  2c 31 32 38 2c 36 30 2c  |60,64,60,128,60,|
00011b30  31 39 32 0d 43 f8 65 dc  20 31 35 2c 20 30 2c 36  |192.C.e. 15, 0,6|
00011b40  34 2c 30 2c 31 32 38 2c  30 2c 31 39 32 2c 32 31  |4,0,128,0,192,21|
00011b50  2c 30 2c 32 31 2c 36 34  2c 32 31 2c 31 32 38 2c  |,0,21,64,21,128,|
00011b60  32 31 2c 31 39 32 2c 34  32 2c 30 2c 34 32 2c 36  |21,192,42,0,42,6|
00011b70  34 2c 34 32 2c 31 32 38  2c 34 32 2c 31 39 32 2c  |4,42,128,42,192,|
00011b80  36 33 2c 30 2c 36 33 2c  36 34 2c 36 33 2c 31 32  |63,0,63,64,63,12|
00011b90  38 2c 36 33 2c 31 39 32  0d 44 02 4c dc 20 31 32  |8,63,192.D.L. 12|
00011ba0  2c 20 31 2c 30 2c 31 2c  36 34 2c 31 2c 31 32 38  |, 1,0,1,64,1,128|
00011bb0  2c 31 2c 31 39 32 2c 36  2c 30 2c 36 2c 36 34 2c  |,1,192,6,0,6,64,|
00011bc0  36 2c 31 32 38 2c 36 2c  31 39 32 2c 32 37 2c 30  |6,128,6,192,27,0|
00011bd0  2c 32 37 2c 36 34 2c 32  37 2c 31 32 38 2c 32 37  |,27,64,27,128,27|
00011be0  2c 31 39 32 0d 44 0c 3a  dc 20 38 2c 20 31 38 2c  |,192.D.:. 8, 18,|
00011bf0  30 2c 31 38 2c 36 34 2c  31 38 2c 31 32 38 2c 31  |0,18,64,18,128,1|
00011c00  38 2c 31 39 32 2c 33 39  2c 30 2c 33 39 2c 36 34  |8,192,39,0,39,64|
00011c10  2c 33 39 2c 31 32 38 2c  33 39 2c 31 39 32 0d 44  |,39,128,39,192.D|
00011c20  16 32 dc 20 38 2c 20 32  2c 30 2c 32 2c 36 34 2c  |.2. 8, 2,0,2,64,|
00011c30  32 2c 31 32 38 2c 32 2c  31 39 32 2c 37 2c 30 2c  |2,128,2,192,7,0,|
00011c40  37 2c 36 34 2c 37 2c 31  32 38 2c 37 2c 31 39 32  |7,64,7,128,7,192|
00011c50  0d 44 20 54 dc 20 31 32  2c 20 31 37 2c 30 2c 31  |.D T. 12, 17,0,1|
00011c60  37 2c 36 34 2c 31 37 2c  31 32 38 2c 31 37 2c 31  |7,64,17,128,17,1|
00011c70  39 32 2c 33 38 2c 30 2c  33 38 2c 36 34 2c 33 38  |92,38,0,38,64,38|
00011c80  2c 31 32 38 2c 33 38 2c  31 39 32 2c 35 39 2c 30  |,128,38,192,59,0|
00011c90  2c 35 39 2c 36 34 2c 35  39 2c 31 32 38 2c 35 39  |,59,64,59,128,59|
00011ca0  2c 31 39 32 0d 44 2a 50  dc 20 31 32 2c 20 35 2c  |,192.D*P. 12, 5,|
00011cb0  30 2c 35 2c 36 34 2c 35  2c 31 32 38 2c 35 2c 31  |0,5,64,5,128,5,1|
00011cc0  39 32 2c 31 30 2c 30 2c  32 36 2c 36 34 2c 32 36  |92,10,0,26,64,26|
00011cd0  2c 31 32 38 2c 32 36 2c  31 39 32 2c 34 37 2c 30  |,128,26,192,47,0|
00011ce0  2c 34 37 2c 36 34 2c 34  37 2c 31 32 38 2c 34 37  |,47,64,47,128,47|
00011cf0  2c 31 39 32 0d 44 34 54  dc 20 31 32 2c 20 32 30  |,192.D4T. 12, 20|
00011d00  2c 30 2c 32 30 2c 36 34  2c 32 30 2c 31 32 38 2c  |,0,20,64,20,128,|
00011d10  32 30 2c 31 39 32 2c 34  31 2c 30 2c 34 31 2c 36  |20,192,41,0,41,6|
00011d20  34 2c 34 31 2c 31 32 38  2c 34 31 2c 31 39 32 2c  |4,41,128,41,192,|
00011d30  36 32 2c 30 2c 36 32 2c  36 34 2c 36 32 2c 31 32  |62,0,62,64,62,12|
00011d40  38 2c 36 32 2c 31 39 32  0d 44 3e 50 dc 20 31 32  |8,62,192.D>P. 12|
00011d50  2c 20 31 2c 30 2c 31 2c  36 34 2c 31 2c 31 32 38  |, 1,0,1,64,1,128|
00011d60  2c 31 2c 31 39 32 2c 32  32 2c 30 2c 32 32 2c 36  |,1,192,22,0,22,6|
00011d70  34 2c 32 32 2c 31 32 38  2c 32 32 2c 31 39 32 2c  |4,22,128,22,192,|
00011d80  34 33 2c 30 2c 34 33 2c  36 34 2c 34 33 2c 31 32  |43,0,43,64,43,12|
00011d90  38 2c 34 33 2c 31 39 32  0d 44 48 38 dc 20 38 2c  |8,43,192.DH8. 8,|
00011da0  20 39 2c 30 2c 39 2c 36  34 2c 39 2c 31 32 38 2c  | 9,0,9,64,9,128,|
00011db0  39 2c 31 39 32 2c 31 34  2c 30 2c 31 34 2c 36 34  |9,192,14,0,14,64|
00011dc0  2c 31 34 2c 31 32 38 2c  31 34 2c 31 39 32 2c 30  |,14,128,14,192,0|
00011dd0  0d 44 52 3a dc 20 38 2c  20 32 31 2c 30 2c 32 31  |.DR:. 8, 21,0,21|
00011de0  2c 36 34 2c 32 31 2c 31  32 38 2c 32 31 2c 31 39  |,64,21,128,21,19|
00011df0  32 2c 34 32 2c 30 2c 34  32 2c 36 34 2c 34 32 2c  |2,42,0,42,64,42,|
00011e00  31 32 38 2c 34 32 2c 31  39 32 0d 44 5c 04 0d 44  |128,42,192.D\..D|
00011e10  66 35 42 4c 4b 25 21 38  3d 48 41 4e 44 25 28 31  |f5BLK%!8=HAND%(1|
00011e20  33 29 3a c8 99 20 22 57  69 6d 70 5f 47 65 74 57  |3):.. "Wimp_GetW|
00011e30  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 42 4c 4b  |indowState",,BLK|
00011e40  25 2b 38 0d 44 70 38 58  4f 46 25 3d 28 28 21 42  |%+8.Dp8XOF%=((!B|
00011e50  4c 4b 25 29 2d 28 42 4c  4b 25 21 31 32 29 29 2d  |LK%)-(BLK%!12))-|
00011e60  34 32 32 3a e7 20 58 4f  46 25 3e 37 36 36 20 84  |422:. XOF%>766 .|
00011e70  20 58 4f 46 25 3c 30 20  8c 20 e1 0d 44 7a 39 59  | XOF%<0 . ..Dz9Y|
00011e80  4f 46 25 3d 28 28 42 4c  4b 25 21 34 29 2d 28 42  |OF%=((BLK%!4)-(B|
00011e90  4c 4b 25 21 31 36 29 29  2d 32 33 36 3a e7 20 59  |LK%!16))-236:. Y|
00011ea0  4f 46 25 3e 32 32 30 20  84 20 59 4f 46 25 3c 30  |OF%>220 . YOF%<0|
00011eb0  20 8c 20 e1 0d 44 84 25  63 6f 6c 25 3d 28 58 4f  | . ..D.%col%=(XO|
00011ec0  46 25 20 81 20 32 34 29  2b 28 28 59 4f 46 25 20  |F% . 24)+((YOF% |
00011ed0  81 20 32 38 29 2a 33 32  29 0d 44 8e 1d 74 69 6e  |. 28)*32).D..tin|
00011ee0  25 3d 50 41 4c 54 41 42  25 3f 28 28 63 6f 6c 25  |%=PALTAB%?((col%|
00011ef0  2a 32 29 2b 31 29 0d 44  98 19 63 6f 6c 25 3d 50  |*2)+1).D..col%=P|
00011f00  41 4c 54 41 42 25 3f 28  63 6f 6c 25 2a 32 29 0d  |ALTAB%?(col%*2).|
00011f10  44 a2 3d 46 50 45 25 3d  2d 31 3a e3 4c 25 3d 30  |D.=FPE%=-1:.L%=0|
00011f20  20 b8 20 31 35 3a e7 20  a4 68 69 67 68 28 31 33  | . 15:. .high(13|
00011f30  2c a4 66 69 6c 69 63 28  4c 25 29 29 20 8c 20 46  |,.filic(L%)) . F|
00011f40  50 45 25 3d 4c 25 3a ed  20 8b 20 ed 0d 44 ac 12  |PE%=L%:. . ..D..|
00011f50  53 4e 4f 25 3d a4 67 72  61 66 69 6c 6e 6f 0d 44  |SNO%=.grafilno.D|
00011f60  b6 1b e7 20 46 50 45 25  3d 2d 31 20 84 20 53 4e  |... FPE%=-1 . SN|
00011f70  4f 25 3d 2d 31 20 8c 20  e1 0d 44 c0 42 47 52 46  |O%=-1 . ..D.BGRF|
00011f80  49 25 28 46 50 45 25 2c  30 2c 53 4e 4f 25 29 3d  |I%(FPE%,0,SNO%)=|
00011f90  63 6f 6c 25 3a 47 52 46  49 25 28 46 50 45 25 2c  |col%:GRFI%(FPE%,|
00011fa0  31 2c 53 4e 4f 25 29 3d  74 69 6e 25 3a f2 66 6f  |1,SNO%)=tin%:.fo|
00011fb0  72 63 65 64 72 61 77 66  69 6c 6c 0d 44 ca 05 e1  |rcedrawfill.D...|
00011fc0  0d 44 d4 04 0d 44 de 37  dd a4 66 69 6c 69 63 28  |.D...D.7..filic(|
00011fd0  46 53 4e 25 29 3a e7 20  46 53 4e 25 3c 3d 31 31  |FSN%):. FSN%<=11|
00011fe0  20 8c 20 3d 46 53 4e 25  2b 32 36 20 8b 20 3d 28  | . =FSN%+26 . =(|
00011ff0  46 53 4e 25 2d 31 32 29  2b 34 36 0d 44 e8 04 0d  |FSN%-12)+46.D...|
00012000  44 f2 12 dd f2 6c 69 6e  65 70 61 74 63 6c 69 63  |D....linepatclic|
00012010  6b 0d 44 fc 0f c8 8e 20  4d 4f 55 49 43 25 20 ca  |k.D.... MOUIC% .|
00012020  0d 45 06 55 c9 20 33 3a  50 4c 25 3d bb a4 67 65  |.E.U. 3:PL%=..ge|
00012030  74 69 63 6f 6e 28 31 30  2c 31 29 3a e7 20 50 4c  |ticon(10,1):. PL|
00012040  25 3e 31 20 8c 20 f2 73  68 61 64 65 69 63 6f 6e  |%>1 . .shadeicon|
00012050  28 31 30 2c 50 4c 25 2b  36 29 3a 50 4c 25 2d 3d  |(10,PL%+6):PL%-=|
00012060  31 3a f2 73 65 74 69 63  6f 6e 28 31 30 2c 31 2c  |1:.seticon(10,1,|
00012070  c3 50 4c 25 29 0d 45 10  56 c9 20 32 3a 50 4c 25  |.PL%).E.V. 2:PL%|
00012080  3d bb a4 67 65 74 69 63  6f 6e 28 31 30 2c 31 29  |=..geticon(10,1)|
00012090  3a e7 20 50 4c 25 3c 34  30 20 8c 20 f2 63 6c 65  |:. PL%<40 . .cle|
000120a0  61 72 69 63 6f 6e 28 31  30 2c 50 4c 25 2b 37 29  |aricon(10,PL%+7)|
000120b0  3a 50 4c 25 2b 3d 31 3a  f2 73 65 74 69 63 6f 6e  |:PL%+=1:.seticon|
000120c0  28 31 30 2c 31 2c c3 50  4c 25 29 0d 45 1a 24 c9  |(10,1,.PL%).E.$.|
000120d0  20 34 3a 50 41 4c 45 25  3d bb a4 67 65 74 69 63  | 4:PALE%=..getic|
000120e0  6f 6e 28 31 30 2c 31 29  3a ef 32 33 2c 36 2c 0d  |on(10,1):.23,6,.|
000120f0  45 24 42 49 4e 25 3d 37  3a e3 4c 25 3d 31 20 b8  |E$BIN%=7:.L%=1 .|
00012100  20 35 3a 4e 25 3d 30 3a  49 25 3d 31 32 38 3a e3  | 5:N%=0:I%=128:.|
00012110  4b 25 3d 31 20 b8 20 38  3a e7 20 a4 68 69 67 68  |K%=1 . 8:. .high|
00012120  28 31 30 2c 49 4e 25 29  20 8c 20 4e 25 2b 3d 49  |(10,IN%) . N%+=I|
00012130  25 0d 45 2e 2e 49 25 3d  49 25 20 81 20 32 3a 49  |%.E..I%=I% . 2:I|
00012140  4e 25 2b 3d 31 3a ed 3a  ef 20 4e 25 3a 50 41 54  |N%+=1:.:. N%:PAT|
00012150  25 28 4c 25 29 3d 4e 25  3a ed 3a ef 20 30 7c 0d  |%(L%)=N%:.:. 0|.|
00012160  45 38 17 e7 20 4d 4f 55  42 25 3d 34 20 8c 20 f2  |E8.. MOUB%=4 . .|
00012170  6d 65 6e 6f 66 66 0d 45  42 05 cb 0d 45 4c 05 e1  |menoff.EB...EL..|
00012180  0d 45 56 04 0d 45 60 0f  dd f2 67 72 61 62 63 6c  |.EV..E`...grabcl|
00012190  69 63 6b 0d 45 6a 2c e7  20 4d 4f 55 49 43 25 3c  |ick.Ej,. MOUIC%<|
000121a0  3e 31 32 20 84 20 28 46  55 53 45 25 3c 3e 33 34  |>12 . (FUSE%<>34|
000121b0  20 80 20 46 55 53 54 25  3c 32 29 20 8c 20 e1 0d  | . FUST%<2) . ..|
000121c0  45 74 40 f2 69 6e 70 69  63 3a e7 20 46 55 53 45  |Et@.inpic:. FUSE|
000121d0  25 3c 3e 33 34 20 8c 20  f2 70 67 72 61 62 28 4f  |%<>34 . .pgrab(O|
000121e0  58 25 2c 4f 59 25 2c 33  29 20 8b 20 f2 70 69 6d  |X%,OY%,3) . .pim|
000121f0  70 6f 72 74 28 4f 58 25  2c 4f 59 25 2c 33 29 0d  |port(OX%,OY%,3).|
00012200  45 7e 43 47 52 58 4d 25  3d bb 28 a4 67 65 74 69  |E~CGRXM%=.(.geti|
00012210  63 6f 6e 28 38 2c 34 29  29 3a e7 20 47 52 58 4d  |con(8,4)):. GRXM|
00012220  25 3c 31 20 8c 20 47 52  58 4d 25 3d 31 3a f2 73  |%<1 . GRXM%=1:.s|
00012230  65 74 69 63 6f 6e 28 38  2c 34 2c c3 47 52 58 4d  |eticon(8,4,.GRXM|
00012240  25 29 0d 45 88 43 47 52  59 4d 25 3d bb 28 a4 67  |%).E.CGRYM%=.(.g|
00012250  65 74 69 63 6f 6e 28 38  2c 35 29 29 3a e7 20 47  |eticon(8,5)):. G|
00012260  52 59 4d 25 3c 31 20 8c  20 47 52 59 4d 25 3d 31  |RYM%<1 . GRYM%=1|
00012270  3a f2 73 65 74 69 63 6f  6e 28 38 2c 35 2c c3 47  |:.seticon(8,5,.G|
00012280  52 59 4d 25 29 0d 45 92  43 47 52 58 44 25 3d bb  |RYM%).E.CGRXD%=.|
00012290  28 a4 67 65 74 69 63 6f  6e 28 38 2c 36 29 29 3a  |(.geticon(8,6)):|
000122a0  e7 20 47 52 58 44 25 3c  31 20 8c 20 47 52 58 44  |. GRXD%<1 . GRXD|
000122b0  25 3d 31 3a f2 73 65 74  69 63 6f 6e 28 38 2c 36  |%=1:.seticon(8,6|
000122c0  2c c3 47 52 58 44 25 29  0d 45 9c 43 47 52 59 44  |,.GRXD%).E.CGRYD|
000122d0  25 3d bb 28 a4 67 65 74  69 63 6f 6e 28 38 2c 37  |%=.(.geticon(8,7|
000122e0  29 29 3a e7 20 47 52 59  44 25 3c 31 20 8c 20 47  |)):. GRYD%<1 . G|
000122f0  52 59 44 25 3d 31 3a f2  73 65 74 69 63 6f 6e 28  |RYD%=1:.seticon(|
00012300  38 2c 36 2c c3 47 52 59  44 25 29 0d 45 a6 0d f2  |8,6,.GRYD%).E...|
00012310  67 72 61 62 66 6c 69 70  0d 45 b0 15 47 52 4d 41  |grabflip.E..GRMA|
00012320  25 3d a4 68 69 67 68 28  38 2c 31 34 29 0d 45 ba  |%=.high(8,14).E.|
00012330  39 e7 20 46 55 53 45 25  3c 3e 33 34 20 8c 20 f2  |9. FUSE%<>34 . .|
00012340  70 67 72 61 62 28 4f 58  25 2c 4f 59 25 2c 33 29  |pgrab(OX%,OY%,3)|
00012350  20 8b 20 f2 70 69 6d 70  6f 72 74 28 4f 58 25 2c  | . .pimport(OX%,|
00012360  4f 59 25 2c 33 29 0d 45  c4 1a f2 6f 75 74 70 69  |OY%,3).E...outpi|
00012370  63 3a f2 71 75 69 63 6b  64 72 61 77 6d 61 69 6e  |c:.quickdrawmain|
00012380  0d 45 ce 05 e1 0d 45 d8  04 0d 45 e2 0e dd f2 67  |.E....E...E....g|
00012390  72 61 62 66 6c 69 70 0d  45 ec 5f e7 20 28 a4 68  |rabflip.E._. (.h|
000123a0  69 67 68 28 38 2c 31 30  29 20 80 20 ac 20 47 52  |igh(8,10) . . GR|
000123b0  46 58 25 29 20 84 20 28  28 ac 20 a4 68 69 67 68  |FX%) . ((. .high|
000123c0  28 38 2c 31 30 29 29 20  80 20 47 52 46 58 25 29  |(8,10)) . GRFX%)|
000123d0  20 8c 20 c8 99 26 32 45  2c 32 38 39 2c 53 50 42  | . ..&2E,289,SPB|
000123e0  55 46 25 2c 47 52 4e 24  3a 47 52 46 58 25 3d ac  |UF%,GRN$:GRFX%=.|
000123f0  20 47 52 46 58 25 0d 45  f6 5f e7 20 28 a4 68 69  | GRFX%.E._. (.hi|
00012400  67 68 28 38 2c 31 31 29  20 80 20 ac 20 47 52 46  |gh(8,11) . . GRF|
00012410  59 25 29 20 84 20 28 28  ac 20 a4 68 69 67 68 28  |Y%) . ((. .high(|
00012420  38 2c 31 31 29 29 20 80  20 47 52 46 59 25 29 20  |8,11)) . GRFY%) |
00012430  8c 20 c8 99 26 32 45 2c  33 30 33 2c 53 50 42 55  |. ..&2E,303,SPBU|
00012440  46 25 2c 47 52 4e 24 3a  47 52 46 59 25 3d ac 20  |F%,GRN$:GRFY%=. |
00012450  47 52 46 59 25 0d 46 00  05 e1 0d 46 0a 04 0d 46  |GRFY%.F....F...F|
00012460  14 0f dd f2 67 72 69 64  63 6c 69 63 6b 0d 46 1e  |....gridclick.F.|
00012470  17 44 25 3d bb 28 a4 67  65 74 69 63 6f 6e 28 36  |.D%=.(.geticon(6|
00012480  2c 34 29 29 0d 46 28 31  e7 20 4d 4f 55 49 43 25  |,4)).F(1. MOUIC%|
00012490  3d 32 20 80 20 44 25 3e  31 20 8c 20 44 25 2d 3d  |=2 . D%>1 . D%-=|
000124a0  31 3a f2 73 65 74 69 63  6f 6e 28 36 2c 34 2c c3  |1:.seticon(6,4,.|
000124b0  44 25 29 3a e1 0d 46 32  33 e7 20 4d 4f 55 49 43  |D%):..F23. MOUIC|
000124c0  25 3d 36 20 80 20 44 25  3c 39 39 39 20 8c 20 44  |%=6 . D%<999 . D|
000124d0  25 2b 3d 31 3a f2 73 65  74 69 63 6f 6e 28 36 2c  |%+=1:.seticon(6,|
000124e0  34 2c c3 44 25 29 3a e1  0d 46 3c 17 44 25 3d bb  |4,.D%):..F<.D%=.|
000124f0  28 a4 67 65 74 69 63 6f  6e 28 36 2c 35 29 29 0d  |(.geticon(6,5)).|
00012500  46 46 31 e7 20 4d 4f 55  49 43 25 3d 33 20 80 20  |FF1. MOUIC%=3 . |
00012510  44 25 3e 31 20 8c 20 44  25 2d 3d 31 3a f2 73 65  |D%>1 . D%-=1:.se|
00012520  74 69 63 6f 6e 28 36 2c  35 2c c3 44 25 29 3a e1  |ticon(6,5,.D%):.|
00012530  0d 46 50 33 e7 20 4d 4f  55 49 43 25 3d 37 20 80  |.FP3. MOUIC%=7 .|
00012540  20 44 25 3c 39 39 39 20  8c 20 44 25 2b 3d 31 3a  | D%<999 . D%+=1:|
00012550  f2 73 65 74 69 63 6f 6e  28 36 2c 35 2c c3 44 25  |.seticon(6,5,.D%|
00012560  29 3a e1 0d 46 5a 18 44  25 3d bb 28 a4 67 65 74  |):..FZ.D%=.(.get|
00012570  69 63 6f 6e 28 36 2c 31  32 29 29 0d 46 64 33 e7  |icon(6,12)).Fd3.|
00012580  20 4d 4f 55 49 43 25 3d  31 30 20 80 20 44 25 3e  | MOUIC%=10 . D%>|
00012590  30 20 8c 20 44 25 2d 3d  31 3a f2 73 65 74 69 63  |0 . D%-=1:.setic|
000125a0  6f 6e 28 36 2c 31 32 2c  c3 44 25 29 3a e1 0d 46  |on(6,12,.D%):..F|
000125b0  6e 35 e7 20 4d 4f 55 49  43 25 3d 31 34 20 80 20  |n5. MOUIC%=14 . |
000125c0  44 25 3c 39 39 39 20 8c  20 44 25 2b 3d 31 3a f2  |D%<999 . D%+=1:.|
000125d0  73 65 74 69 63 6f 6e 28  36 2c 31 32 2c c3 44 25  |seticon(6,12,.D%|
000125e0  29 3a e1 0d 46 78 18 44  25 3d bb 28 a4 67 65 74  |):..Fx.D%=.(.get|
000125f0  69 63 6f 6e 28 36 2c 31  33 29 29 0d 46 82 33 e7  |icon(6,13)).F.3.|
00012600  20 4d 4f 55 49 43 25 3d  31 31 20 80 20 44 25 3e  | MOUIC%=11 . D%>|
00012610  30 20 8c 20 44 25 2d 3d  31 3a f2 73 65 74 69 63  |0 . D%-=1:.setic|
00012620  6f 6e 28 36 2c 31 33 2c  c3 44 25 29 3a e1 0d 46  |on(6,13,.D%):..F|
00012630  8c 35 e7 20 4d 4f 55 49  43 25 3d 31 35 20 80 20  |.5. MOUIC%=15 . |
00012640  44 25 3c 39 39 39 20 8c  20 44 25 2b 3d 31 3a f2  |D%<999 . D%+=1:.|
00012650  73 65 74 69 63 6f 6e 28  36 2c 31 33 2c c3 44 25  |seticon(6,13,.D%|
00012660  29 3a e1 0d 46 96 5d e7  20 4d 4f 55 49 43 25 3d  |):..F.]. MOUIC%=|
00012670  31 36 20 8c 20 f2 73 65  74 69 63 6f 6e 28 36 2c  |16 . .seticon(6,|
00012680  34 2c 22 31 22 29 3a f2  73 65 74 69 63 6f 6e 28  |4,"1"):.seticon(|
00012690  36 2c 35 2c 22 31 22 29  3a f2 73 65 74 69 63 6f  |6,5,"1"):.setico|
000126a0  6e 28 36 2c 31 32 2c 22  30 22 29 3a f2 73 65 74  |n(6,12,"0"):.set|
000126b0  69 63 6f 6e 28 36 2c 31  33 2c 22 30 22 29 3a e1  |icon(6,13,"0"):.|
000126c0  0d 46 a0 14 e7 20 4d 4f  55 49 43 25 3c 3e 31 37  |.F... MOUIC%<>17|
000126d0  20 8c 20 e1 0d 46 aa 2e  47 52 57 49 25 3d bb 28  | . ..F..GRWI%=.(|
000126e0  a4 67 65 74 69 63 6f 6e  28 36 2c 34 29 29 3a e7  |.geticon(6,4)):.|
000126f0  20 47 52 57 49 25 3c 31  20 8c 20 47 52 57 49 25  | GRWI%<1 . GRWI%|
00012700  3d 31 0d 46 b4 2e 47 52  48 45 25 3d bb 28 a4 67  |=1.F..GRHE%=.(.g|
00012710  65 74 69 63 6f 6e 28 36  2c 35 29 29 3a e7 20 47  |eticon(6,5)):. G|
00012720  52 48 45 25 3c 31 20 8c  20 47 52 48 45 25 3d 31  |RHE%<1 . GRHE%=1|
00012730  0d 46 be 5e 47 52 42 58  25 3d bb 28 a4 67 65 74  |.F.^GRBX%=.(.get|
00012740  69 63 6f 6e 28 36 2c 31  32 29 29 3a e7 20 47 52  |icon(6,12)):. GR|
00012750  42 58 25 3e 47 52 57 49  25 20 8c 20 f5 3a 47 52  |BX%>GRWI% . .:GR|
00012760  42 58 25 2d 3d 47 52 57  49 25 3a fd 20 47 52 42  |BX%-=GRWI%:. GRB|
00012770  58 25 3c 47 52 57 49 25  3a f2 73 65 74 69 63 6f  |X%<GRWI%:.setico|
00012780  6e 28 36 2c 31 32 2c c3  47 52 42 58 25 29 0d 46  |n(6,12,.GRBX%).F|
00012790  c8 5e 47 52 42 59 25 3d  bb 28 a4 67 65 74 69 63  |.^GRBY%=.(.getic|
000127a0  6f 6e 28 36 2c 31 33 29  29 3a e7 20 47 52 42 59  |on(6,13)):. GRBY|
000127b0  25 3e 47 52 48 45 25 20  8c 20 f5 3a 47 52 42 59  |%>GRHE% . .:GRBY|
000127c0  25 2d 3d 47 52 48 45 25  3a fd 20 47 52 42 59 25  |%-=GRHE%:. GRBY%|
000127d0  3c 47 52 48 45 25 3a f2  73 65 74 69 63 6f 6e 28  |<GRHE%:.seticon(|
000127e0  36 2c 31 33 2c c3 47 52  42 59 25 29 0d 46 d2 17  |6,13,.GRBY%).F..|
000127f0  e7 20 4d 4f 55 42 25 3d  34 20 8c 20 f2 6d 65 6e  |. MOUB%=4 . .men|
00012800  6f 66 66 0d 46 dc 12 f2  66 6f 72 63 65 64 72 61  |off.F...forcedra|
00012810  77 6d 61 69 6e 0d 46 e6  05 e1 0d 46 f0 04 0d 46  |wmain.F....F...F|
00012820  fa 10 dd f2 62 72 75 73  68 63 6c 69 63 6b 0d 47  |....brushclick.G|
00012830  04 1e e7 20 4d 4f 55 49  43 25 3e 3d 30 20 80 20  |... MOUIC%>=0 . |
00012840  4d 4f 55 49 43 25 3c 3d  31 31 20 8c 0d 47 0e 40  |MOUIC%<=11 ..G.@|
00012850  e7 20 46 55 53 54 25 3e  30 20 8c 20 f2 69 6e 70  |. FUST%>0 . .inp|
00012860  69 63 3a f2 70 61 69 6e  74 73 63 61 6c 65 3a f2  |ic:.paintscale:.|
00012870  65 6f 72 62 61 63 6b 3a  f2 70 61 69 6e 74 62 72  |eorback:.paintbr|
00012880  75 73 68 28 4f 58 25 2c  4f 59 25 29 0d 47 18 13  |ush(OX%,OY%).G..|
00012890  53 45 4c 42 52 25 3d 4d  4f 55 49 43 25 2b 31 0d  |SELBR%=MOUIC%+1.|
000128a0  47 22 44 e7 20 46 55 53  54 25 3e 30 20 8c 20 f2  |G"D. FUST%>0 . .|
000128b0  65 6f 72 62 61 63 6b 3a  f2 70 61 69 6e 74 62 72  |eorback:.paintbr|
000128c0  75 73 68 28 4f 58 25 2c  4f 59 25 29 3a f2 6f 75  |ush(OX%,OY%):.ou|
000128d0  74 70 69 63 3a f2 71 75  69 63 6b 64 72 61 77 6d  |tpic:.quickdrawm|
000128e0  61 69 6e 0d 47 2c 13 f2  66 6f 72 63 65 64 72 61  |ain.G,..forcedra|
000128f0  77 62 72 75 73 68 0d 47  36 05 cd 0d 47 40 2a e7  |wbrush.G6...G@*.|
00012900  20 4d 4f 55 49 43 25 3c  3e 32 30 20 84 20 46 55  | MOUIC%<>20 . FU|
00012910  53 45 25 3d 32 39 20 84  20 46 55 53 45 25 3d 33  |SE%=29 . FUSE%=3|
00012920  30 20 8c 20 e1 0d 47 4a  40 e7 20 46 55 53 54 25  |0 . ..GJ@. FUST%|
00012930  3e 30 20 8c 20 f2 69 6e  70 69 63 3a f2 70 61 69  |>0 . .inpic:.pai|
00012940  6e 74 73 63 61 6c 65 3a  f2 65 6f 72 62 61 63 6b  |ntscale:.eorback|
00012950  3a f2 70 61 69 6e 74 62  72 75 73 68 28 4f 58 25  |:.paintbrush(OX%|
00012960  2c 4f 59 25 29 0d 47 54  3f 42 58 4d 25 3d bb 28  |,OY%).GT?BXM%=.(|
00012970  a4 67 65 74 69 63 6f 6e  28 35 2c 31 36 29 29 3a  |.geticon(5,16)):|
00012980  e7 20 42 58 4d 25 3c 31  20 8c 20 42 58 4d 25 3d  |. BXM%<1 . BXM%=|
00012990  31 3a f2 73 65 74 69 63  6f 6e 28 34 2c 31 36 2c  |1:.seticon(4,16,|
000129a0  22 31 22 29 0d 47 5e 3f  42 59 4d 25 3d bb 28 a4  |"1").G^?BYM%=.(.|
000129b0  67 65 74 69 63 6f 6e 28  35 2c 31 38 29 29 3a e7  |geticon(5,18)):.|
000129c0  20 42 59 4d 25 3c 31 20  8c 20 42 59 4d 25 3d 31  | BYM%<1 . BYM%=1|
000129d0  3a f2 73 65 74 69 63 6f  6e 28 34 2c 31 38 2c 22  |:.seticon(4,18,"|
000129e0  31 22 29 0d 47 68 3f 42  58 44 25 3d bb 28 a4 67  |1").Gh?BXD%=.(.g|
000129f0  65 74 69 63 6f 6e 28 35  2c 31 37 29 29 3a e7 20  |eticon(5,17)):. |
00012a00  42 58 44 25 3c 31 20 8c  20 42 58 44 25 3d 31 3a  |BXD%<1 . BXD%=1:|
00012a10  f2 73 65 74 69 63 6f 6e  28 34 2c 31 37 2c 22 31  |.seticon(4,17,"1|
00012a20  22 29 0d 47 72 3f 42 59  44 25 3d bb 28 a4 67 65  |").Gr?BYD%=.(.ge|
00012a30  74 69 63 6f 6e 28 35 2c  31 39 29 29 3a e7 20 42  |ticon(5,19)):. B|
00012a40  59 44 25 3c 31 20 8c 20  42 59 44 25 3d 31 3a f2  |YD%<1 . BYD%=1:.|
00012a50  73 65 74 69 63 6f 6e 28  34 2c 31 39 2c 22 31 22  |seticon(4,19,"1"|
00012a60  29 0d 47 7c 50 e7 20 46  55 53 54 25 3e 30 20 8c  |).G|P. FUST%>0 .|
00012a70  20 f2 70 61 69 6e 74 73  63 61 6c 65 3a f2 65 6f  | .paintscale:.eo|
00012a80  72 62 61 63 6b 3a f2 70  61 69 6e 74 62 72 75 73  |rback:.paintbrus|
00012a90  68 28 4f 58 25 2c 4f 59  25 29 3a f2 6f 75 74 70  |h(OX%,OY%):.outp|
00012aa0  69 63 3a f2 71 75 69 63  6b 64 72 61 77 6d 61 69  |ic:.quickdrawmai|
00012ab0  6e 0d 47 86 05 e1 0d 47  90 04 0d 47 9a 0f dd f2  |n.G....G...G....|
00012ac0  61 69 72 62 63 6c 69 63  6b 0d 47 a4 17 44 25 3d  |airbclick.G..D%=|
00012ad0  bb 28 a4 67 65 74 69 63  6f 6e 28 34 2c 31 29 29  |.(.geticon(4,1))|
00012ae0  0d 47 ae 31 e7 20 4d 4f  55 49 43 25 3d 34 20 80  |.G.1. MOUIC%=4 .|
00012af0  20 44 25 3e 31 20 8c 20  44 25 2d 3d 31 3a f2 73  | D%>1 . D%-=1:.s|
00012b00  65 74 69 63 6f 6e 28 34  2c 31 2c c3 44 25 29 3a  |eticon(4,1,.D%):|
00012b10  e1 0d 47 b8 33 e7 20 4d  4f 55 49 43 25 3d 36 20  |..G.3. MOUIC%=6 |
00012b20  80 20 44 25 3c 39 39 39  20 8c 20 44 25 2b 3d 31  |. D%<999 . D%+=1|
00012b30  3a f2 73 65 74 69 63 6f  6e 28 34 2c 31 2c c3 44  |:.seticon(4,1,.D|
00012b40  25 29 3a e1 0d 47 c2 17  44 25 3d bb 28 a4 67 65  |%):..G..D%=.(.ge|
00012b50  74 69 63 6f 6e 28 34 2c  33 29 29 0d 47 cc 31 e7  |ticon(4,3)).G.1.|
00012b60  20 4d 4f 55 49 43 25 3d  35 20 80 20 44 25 3e 34  | MOUIC%=5 . D%>4|
00012b70  20 8c 20 44 25 2d 3d 31  3a f2 73 65 74 69 63 6f  | . D%-=1:.setico|
00012b80  6e 28 34 2c 33 2c c3 44  25 29 3a e1 0d 47 d6 33  |n(4,3,.D%):..G.3|
00012b90  e7 20 4d 4f 55 49 43 25  3d 37 20 80 20 44 25 3c  |. MOUIC%=7 . D%<|
00012ba0  39 39 39 20 8c 20 44 25  2b 3d 31 3a f2 73 65 74  |999 . D%+=1:.set|
00012bb0  69 63 6f 6e 28 34 2c 33  2c c3 44 25 29 3a e1 0d  |icon(4,3,.D%):..|
00012bc0  47 e0 05 e1 0d 47 ea 04  0d 47 f4 26 dd f2 6d 65  |G....G...G.&..me|
00012bd0  6e 6f 66 66 3a c8 99 20  22 57 69 6d 70 5f 43 72  |noff:.. "Wimp_Cr|
00012be0  65 61 74 65 4d 65 6e 75  22 2c 2d 31 3a e1 0d 47  |eateMenu",-1:..G|
00012bf0  fe 04 0d 48 08 13 dd f2  62 75 69 6c 64 69 63 6f  |...H....buildico|
00012c00  6e 6d 65 6e 75 0d 48 12  1d f2 62 75 69 6c 64 6d  |nmenu.H...buildm|
00012c10  65 6e 75 28 33 30 2c 22  41 72 63 68 72 6f 6d 65  |enu(30,"Archrome|
00012c20  22 29 0d 48 1c 1e f2 61  64 64 74 6f 6d 65 6e 75  |").H...addtomenu|
00012c30  28 33 30 2c 22 49 6e 66  6f 22 2c 31 2c 22 22 29  |(30,"Info",1,"")|
00012c40  0d 48 26 1f f2 61 64 64  74 6f 6d 65 6e 75 28 33  |.H&..addtomenu(3|
00012c50  30 2c 22 53 61 76 65 22  2c 30 2c 22 4c 22 29 0d  |0,"Save",0,"L").|
00012c60  48 30 20 f2 61 64 64 74  6f 6d 65 6e 75 28 33 30  |H0 .addtomenu(30|
00012c70  2c 22 51 75 69 74 22 2c  2d 31 2c 22 46 22 29 0d  |,"Quit",-1,"F").|
00012c80  48 3a 05 e1 0d 48 44 04  0d 48 4e 47 dd f2 69 63  |H:...HD..HNG..ic|
00012c90  6f 6e 6d 65 6e 75 3a 4d  45 4e 4f 25 3d 33 30 3a  |onmenu:MENO%=30:|
00012ca0  c8 99 20 22 57 69 6d 70  5f 43 72 65 61 74 65 4d  |.. "Wimp_CreateM|
00012cb0  65 6e 75 22 2c 2c 4d 45  4e 41 44 25 28 33 30 29  |enu",,MENAD%(30)|
00012cc0  2c 4d 4f 55 58 25 2d 36  34 2c 32 35 32 3a e1 0d  |,MOUX%-64,252:..|
00012cd0  48 58 04 0d 48 62 33 dd  f2 77 69 6e 64 6d 65 6e  |HX..Hb3..windmen|
00012ce0  75 3a 4d 45 4e 4f 25 3d  30 3a 4d 45 42 41 25 3d  |u:MENO%=0:MEBA%=|
00012cf0  4d 45 4e 55 25 3a 4d 45  49 4e 42 41 25 3d 4d 45  |MENU%:MEINBA%=ME|
00012d00  4e 55 49 4e 44 25 0d 48  6c 7e e3 4c 25 3d 30 20  |NUIND%.Hl~.L%=0 |
00012d10  b8 20 4e 4f 4d 45 4e 53  25 3a 54 41 44 25 3d 4d  |. NOMENS%:TAD%=M|
00012d20  45 4e 41 44 25 28 4c 25  29 2b 32 38 3a f5 3a 21  |ENAD%(L%)+28:.:!|
00012d30  54 41 44 25 3d 28 21 54  41 44 25 29 20 80 20 31  |TAD%=(!TAD%) . 1|
00012d40  33 30 3a 54 41 44 25 21  38 3d 28 54 41 44 25 21  |30:TAD%!8=(TAD%!|
00012d50  38 29 20 80 20 28 26 46  46 46 46 46 46 46 46 2d  |8) . (&FFFFFFFF-|
00012d60  28 31 3c 3c 32 32 29 29  3a 54 41 44 25 2b 3d 32  |(1<<22)):TAD%+=2|
00012d70  34 3a fd 20 21 28 54 41  44 25 2d 32 34 29 3e 31  |4:. !(TAD%-24)>1|
00012d80  32 37 3a ed 0d 48 76 04  0d 48 80 20 e7 20 4c 49  |27:..Hv..H. . LI|
00012d90  54 59 25 3d 32 31 20 8c  20 f2 74 69 63 6b 69 74  |TY%=21 . .tickit|
00012da0  65 6d 28 31 32 2c 31 29  0d 48 8a 20 e7 20 4c 49  |em(12,1).H. . LI|
00012db0  54 59 25 3d 35 33 20 8c  20 f2 74 69 63 6b 69 74  |TY%=53 . .tickit|
00012dc0  65 6d 28 31 32 2c 32 29  0d 48 94 1f e7 20 4c 49  |em(12,2).H... LI|
00012dd0  54 59 25 3d 35 20 8c 20  f2 74 69 63 6b 69 74 65  |TY%=5 . .tickite|
00012de0  6d 28 31 31 2c 31 29 0d  48 9e 25 e7 20 28 55 53  |m(11,1).H.%. (US|
00012df0  45 25 20 80 20 31 35 29  3d 30 20 8c 20 f2 74 69  |E% . 15)=0 . .ti|
00012e00  63 6b 69 74 65 6d 28 31  31 2c 33 29 0d 48 a8 25  |ckitem(11,3).H.%|
00012e10  e7 20 28 55 53 45 25 20  80 20 31 35 29 3d 31 20  |. (USE% . 15)=1 |
00012e20  8c 20 f2 74 69 63 6b 69  74 65 6d 28 31 31 2c 34  |. .tickitem(11,4|
00012e30  29 0d 48 b2 25 e7 20 28  55 53 45 25 20 80 20 31  |).H.%. (USE% . 1|
00012e40  35 29 3d 32 20 8c 20 f2  74 69 63 6b 69 74 65 6d  |5)=2 . .tickitem|
00012e50  28 31 31 2c 35 29 0d 48  bc 25 e7 20 28 55 53 45  |(11,5).H.%. (USE|
00012e60  25 20 80 20 31 35 29 3d  33 20 8c 20 f2 74 69 63  |% . 15)=3 . .tic|
00012e70  6b 69 74 65 6d 28 31 31  2c 36 29 0d 48 c6 25 e7  |kitem(11,6).H.%.|
00012e80  20 28 55 53 45 25 20 80  20 31 35 29 3d 34 20 8c  | (USE% . 15)=4 .|
00012e90  20 f2 74 69 63 6b 69 74  65 6d 28 31 31 2c 37 29  | .tickitem(11,7)|
00012ea0  0d 48 d0 25 e7 20 28 55  53 45 25 20 80 20 31 35  |.H.%. (USE% . 15|
00012eb0  29 3d 36 20 8c 20 f2 74  69 63 6b 69 74 65 6d 28  |)=6 . .tickitem(|
00012ec0  31 31 2c 38 29 0d 48 da  25 e7 20 28 55 53 45 25  |11,8).H.%. (USE%|
00012ed0  20 80 20 31 35 29 3d 37  20 8c 20 f2 74 69 63 6b  | . 15)=7 . .tick|
00012ee0  69 74 65 6d 28 31 31 2c  39 29 0d 48 e4 28 e7 20  |item(11,9).H.(. |
00012ef0  28 55 53 45 25 20 80 20  31 31 32 29 3d 31 36 20  |(USE% . 112)=16 |
00012f00  8c 20 f2 74 69 63 6b 69  74 65 6d 28 31 31 2c 31  |. .tickitem(11,1|
00012f10  30 29 0d 48 ee 28 e7 20  28 55 53 45 25 20 80 20  |0).H.(. (USE% . |
00012f20  31 31 32 29 3d 33 32 20  8c 20 f2 74 69 63 6b 69  |112)=32 . .ticki|
00012f30  74 65 6d 28 31 31 2c 31  31 29 0d 48 f8 28 e7 20  |tem(11,11).H.(. |
00012f40  28 55 53 45 25 20 80 20  31 31 32 29 3d 34 38 20  |(USE% . 112)=48 |
00012f50  8c 20 f2 74 69 63 6b 69  74 65 6d 28 31 31 2c 31  |. .tickitem(11,1|
00012f60  32 29 0d 49 02 28 e7 20  28 55 53 45 25 20 80 20  |2).I.(. (USE% . |
00012f70  31 31 32 29 3d 36 34 20  8c 20 f2 74 69 63 6b 69  |112)=64 . .ticki|
00012f80  74 65 6d 28 31 31 2c 31  33 29 0d 49 0c 28 e7 20  |tem(11,13).I.(. |
00012f90  28 55 53 45 25 20 80 20  31 31 32 29 3d 38 30 20  |(USE% . 112)=80 |
00012fa0  8c 20 f2 74 69 63 6b 69  74 65 6d 28 31 31 2c 31  |. .tickitem(11,1|
00012fb0  34 29 0d 49 16 28 e7 20  46 4f 4e 54 53 25 3d 30  |4).I.(. FONTS%=0|
00012fc0  20 8c 20 f2 73 68 61 64  65 69 74 65 6d 28 31 34  | . .shadeitem(14|
00012fd0  2c 46 4f 4e 54 53 25 2b  33 29 0d 49 20 14 4d 49  |,FONTS%+3).I .MI|
00012fe0  25 3d 31 3a e3 4c 25 3d  32 20 b8 20 31 36 0d 49  |%=1:.L%=2 . 16.I|
00012ff0  2a 21 e7 20 5a 4f 4f 4d  25 3d 4c 25 20 8c 20 f2  |*!. ZOOM%=L% . .|
00013000  74 69 63 6b 69 74 65 6d  28 33 2c 4d 49 25 29 0d  |tickitem(3,MI%).|
00013010  49 34 0c 4d 49 25 2b 3d  31 3a ed 0d 49 3e 32 e7  |I4.MI%+=1:..I>2.|
00013020  20 47 52 43 4f 25 3d 2d  31 20 8c 20 f2 73 68 61  | GRCO%=-1 . .sha|
00013030  64 65 69 74 65 6d 28 35  2c 32 29 20 8b 20 f2 73  |deitem(5,2) . .s|
00013040  68 61 64 65 69 74 65 6d  28 35 2c 31 29 0d 49 48  |hadeitem(5,1).IH|
00013050  1c e7 20 47 52 4c 4f 25  20 8c 20 f2 74 69 63 6b  |.. GRLO% . .tick|
00013060  69 74 65 6d 28 35 2c 33  29 0d 49 52 1e e7 20 5a  |item(5,3).IR.. Z|
00013070  4f 4f 4d 25 3e 31 20 8c  20 f2 74 69 63 6b 69 74  |OOM%>1 . .tickit|
00013080  65 6d 28 30 2c 38 29 0d  49 5c 1d e7 20 4b 55 4b  |em(0,8).I\.. KUK|
00013090  45 25 20 8c 20 f2 74 69  63 6b 69 74 65 6d 28 31  |E% . .tickitem(1|
000130a0  30 2c 32 29 0d 49 66 04  0d 49 70 35 c8 99 20 22  |0,2).If..Ip5.. "|
000130b0  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
000130c0  2c 2c 4d 45 4e 41 44 25  28 30 29 2c 4d 4f 55 58  |,,MENAD%(0),MOUX|
000130d0  25 2d 36 34 2c 4d 4f 55  59 25 2b 36 30 0d 49 7a  |%-64,MOUY%+60.Iz|
000130e0  05 e1 0d 49 84 04 0d 49  8e 13 dd f2 62 75 69 6c  |...I...I....buil|
000130f0  64 6d 61 69 6e 6d 65 6e  75 0d 49 98 13 4d 45 4f  |dmainmenu.I..MEO|
00013100  46 25 3d 30 3a 4d 45 49  4e 25 3d 30 0d 49 a2 04  |F%=0:MEIN%=0.I..|
00013110  0d 49 ac 1a f2 62 75 69  6c 64 6d 65 6e 75 28 31  |.I...buildmenu(1|
00013120  35 2c 22 53 70 65 65 64  22 29 0d 49 b6 24 f2 61  |5,"Speed").I.$.a|
00013130  64 64 74 6f 6d 65 6e 75  28 31 35 2c 22 56 65 72  |ddtomenu(15,"Ver|
00013140  79 20 66 61 73 74 22 2c  2d 31 2c 22 22 29 0d 49  |y fast",-1,"").I|
00013150  c0 1f f2 61 64 64 74 6f  6d 65 6e 75 28 31 35 2c  |...addtomenu(15,|
00013160  22 46 61 73 74 22 2c 2d  31 2c 22 22 29 0d 49 ca  |"Fast",-1,"").I.|
00013170  21 f2 61 64 64 74 6f 6d  65 6e 75 28 31 35 2c 22  |!.addtomenu(15,"|
00013180  4d 65 64 69 75 6d 22 2c  2d 31 2c 22 22 29 0d 49  |Medium",-1,"").I|
00013190  d4 20 f2 61 64 64 74 6f  6d 65 6e 75 28 31 35 2c  |. .addtomenu(15,|
000131a0  22 53 6c 6f 77 22 2c 2d  31 2c 22 46 22 29 0d 49  |"Slow",-1,"F").I|
000131b0  de 04 0d 49 e8 1a f2 62  75 69 6c 64 6d 65 6e 75  |...I...buildmenu|
000131c0  28 31 36 2c 22 4d 6f 75  73 65 22 29 0d 49 f2 29  |(16,"Mouse").I.)|
000131d0  f2 61 64 64 74 6f 6d 65  6e 75 28 31 36 2c 22 58  |.addtomenu(16,"X|
000131e0  20 6f 6e 6c 79 22 2c 4d  45 4e 41 44 25 28 31 35  | only",MENAD%(15|
000131f0  29 2c 22 22 29 0d 49 fc  29 f2 61 64 64 74 6f 6d  |),"").I.).addtom|
00013200  65 6e 75 28 31 36 2c 22  59 20 6f 6e 6c 79 22 2c  |enu(16,"Y only",|
00013210  4d 45 4e 41 44 25 28 31  35 29 2c 22 22 29 0d 4a  |MENAD%(15),"").J|
00013220  06 28 f2 61 64 64 74 6f  6d 65 6e 75 28 31 36 2c  |.(.addtomenu(16,|
00013230  22 42 6f 74 68 22 2c 4d  45 4e 41 44 25 28 31 35  |"Both",MENAD%(15|
00013240  29 2c 22 46 22 29 0d 4a  10 04 0d 4a 1a 18 f2 62  |),"F").J...J...b|
00013250  75 69 6c 64 6d 65 6e 75  28 31 2c 22 46 69 6c 65  |uildmenu(1,"File|
00013260  22 29 0d 4a 24 1d f2 61  64 64 74 6f 6d 65 6e 75  |").J$..addtomenu|
00013270  28 31 2c 22 53 61 76 65  22 2c 30 2c 22 22 29 0d  |(1,"Save",0,"").|
00013280  4a 2e 27 f2 61 64 64 74  6f 6d 65 6e 75 28 31 2c  |J.'.addtomenu(1,|
00013290  22 53 61 76 65 20 61 73  20 73 70 72 69 74 65 22  |"Save as sprite"|
000132a0  2c 37 2c 22 22 29 0d 4a  38 21 f2 61 64 64 74 6f  |,7,"").J8!.addto|
000132b0  6d 65 6e 75 28 31 2c 22  45 78 70 6f 72 74 22 2c  |menu(1,"Export",|
000132c0  2d 31 2c 22 46 22 29 0d  4a 42 04 0d 4a 4c 1c f2  |-1,"F").JB..JL..|
000132d0  62 75 69 6c 64 6d 65 6e  75 28 31 32 2c 22 50 61  |buildmenu(12,"Pa|
000132e0  74 74 65 72 6e 22 29 0d  4a 56 24 f2 61 64 64 74  |ttern").JV$.addt|
000132f0  6f 6d 65 6e 75 28 31 32  2c 22 52 65 73 74 61 72  |omenu(12,"Restar|
00013300  74 65 64 22 2c 2d 31 2c  22 22 29 0d 4a 60 26 f2  |ted",-1,"").J`&.|
00013310  61 64 64 74 6f 6d 65 6e  75 28 31 32 2c 22 43 6f  |addtomenu(12,"Co|
00013320  6e 74 69 6e 75 6f 75 73  22 2c 2d 31 2c 22 46 22  |ntinuous",-1,"F"|
00013330  29 0d 4a 6a 04 0d 4a 74  1b f2 62 75 69 6c 64 6d  |).Jj..Jt..buildm|
00013340  65 6e 75 28 31 31 2c 22  53 74 79 6c 65 73 22 29  |enu(11,"Styles")|
00013350  0d 4a 7e 25 f2 61 64 64  74 6f 6d 65 6e 75 28 31  |.J~%.addtomenu(1|
00013360  31 2c 22 53 6f 6c 69 64  20 6c 69 6e 65 22 2c 2d  |1,"Solid line",-|
00013370  31 2c 22 22 29 0d 4a 88  30 f2 61 64 64 74 6f 6d  |1,"").J.0.addtom|
00013380  65 6e 75 28 31 31 2c 22  4c 69 6e 65 20 70 61 74  |enu(11,"Line pat|
00013390  74 65 72 6e 22 2c 4d 45  4e 41 44 25 28 31 32 29  |tern",MENAD%(12)|
000133a0  2c 22 4c 22 29 0d 4a 92  24 f2 61 64 64 74 6f 6d  |,"L").J.$.addtom|
000133b0  65 6e 75 28 31 31 2c 22  4f 76 65 72 77 72 69 74  |enu(11,"Overwrit|
000133c0  65 22 2c 2d 31 2c 22 22  29 0d 4a 9c 1d f2 61 64  |e",-1,"").J...ad|
000133d0  64 74 6f 6d 65 6e 75 28  31 31 2c 22 4f 52 22 2c  |dtomenu(11,"OR",|
000133e0  2d 31 2c 22 22 29 0d 4a  a6 1e f2 61 64 64 74 6f  |-1,"").J...addto|
000133f0  6d 65 6e 75 28 31 31 2c  22 41 4e 44 22 2c 2d 31  |menu(11,"AND",-1|
00013400  2c 22 22 29 0d 4a b0 1e  f2 61 64 64 74 6f 6d 65  |,"").J...addtome|
00013410  6e 75 28 31 31 2c 22 45  4f 52 22 2c 2d 31 2c 22  |nu(11,"EOR",-1,"|
00013420  22 29 0d 4a ba 21 f2 61  64 64 74 6f 6d 65 6e 75  |").J.!.addtomenu|
00013430  28 31 31 2c 22 49 6e 76  65 72 74 22 2c 2d 31 2c  |(11,"Invert",-1,|
00013440  22 22 29 0d 4a c4 1f f2  61 64 64 74 6f 6d 65 6e  |"").J...addtomen|
00013450  75 28 31 31 2c 22 4e 41  4e 44 22 2c 2d 31 2c 22  |u(11,"NAND",-1,"|
00013460  22 29 0d 4a ce 1f f2 61  64 64 74 6f 6d 65 6e 75  |").J...addtomenu|
00013470  28 31 31 2c 22 4e 4f 52  22 2c 2d 31 2c 22 4c 22  |(11,"NOR",-1,"L"|
00013480  29 0d 4a d8 20 f2 61 64  64 74 6f 6d 65 6e 75 28  |).J. .addtomenu(|
00013490  31 31 2c 22 45 43 46 20  31 22 2c 2d 31 2c 22 22  |11,"ECF 1",-1,""|
000134a0  29 0d 4a e2 20 f2 61 64  64 74 6f 6d 65 6e 75 28  |).J. .addtomenu(|
000134b0  31 31 2c 22 45 43 46 20  32 22 2c 2d 31 2c 22 22  |11,"ECF 2",-1,""|
000134c0  29 0d 4a ec 20 f2 61 64  64 74 6f 6d 65 6e 75 28  |).J. .addtomenu(|
000134d0  31 31 2c 22 45 43 46 20  33 22 2c 2d 31 2c 22 22  |11,"ECF 3",-1,""|
000134e0  29 0d 4a f6 20 f2 61 64  64 74 6f 6d 65 6e 75 28  |).J. .addtomenu(|
000134f0  31 31 2c 22 45 43 46 20  34 22 2c 2d 31 2c 22 22  |11,"ECF 4",-1,""|
00013500  29 0d 4b 00 25 f2 61 64  64 74 6f 6d 65 6e 75 28  |).K.%.addtomenu(|
00013510  31 31 2c 22 47 69 61 6e  74 20 45 43 46 22 2c 2d  |11,"Giant ECF",-|
00013520  31 2c 22 46 22 29 0d 4b  0a 04 0d 4b 14 19 f2 62  |1,"F").K...K...b|
00013530  75 69 6c 64 6d 65 6e 75  28 31 33 2c 22 46 69 6c  |uildmenu(13,"Fil|
00013540  6c 22 29 0d 4b 1e 25 f2  61 64 64 74 6f 6d 65 6e  |l").K.%.addtomen|
00013550  75 28 31 33 2c 22 46 6c  6f 6f 64 20 66 69 6c 6c  |u(13,"Flood fill|
00013560  22 2c 2d 31 2c 22 22 29  0d 4b 28 28 f2 61 64 64  |",-1,"").K((.add|
00013570  74 6f 6d 65 6e 75 28 31  33 2c 22 50 61 74 74 65  |tomenu(13,"Patte|
00013580  72 6e 20 66 69 6c 6c 22  2c 2d 31 2c 22 4c 22 29  |rn fill",-1,"L")|
00013590  0d 4b 32 2a f2 61 64 64  74 6f 6d 65 6e 75 28 31  |.K2*.addtomenu(1|
000135a0  33 2c 22 47 72 61 64 75  61 74 65 64 20 66 69 6c  |3,"Graduated fil|
000135b0  6c 22 2c 31 37 2c 22 46  22 29 0d 4b 3c 04 0d 4b  |l",17,"F").K<..K|
000135c0  46 19 f2 62 75 69 6c 64  6d 65 6e 75 28 32 2c 22  |F..buildmenu(2,"|
000135d0  50 61 69 6e 74 22 29 0d  4b 50 26 f2 61 64 64 74  |Paint").KP&.addt|
000135e0  6f 6d 65 6e 75 28 32 2c  22 53 68 6f 77 20 70 61  |omenu(2,"Show pa|
000135f0  6c 65 74 74 65 22 2c 2d  31 2c 22 22 29 0d 4b 5a  |lette",-1,"").KZ|
00013600  2c f2 61 64 64 74 6f 6d  65 6e 75 28 32 2c 22 55  |,.addtomenu(2,"U|
00013610  6e 73 65 74 20 74 72 61  6e 73 70 61 72 65 6e 74  |nset transparent|
00013620  73 22 2c 2d 31 2c 22 22  29 0d 4b 64 2b f2 61 64  |s",-1,"").Kd+.ad|
00013630  64 74 6f 6d 65 6e 75 28  32 2c 22 53 65 74 20 74  |dtomenu(2,"Set t|
00013640  72 61 6e 73 70 61 72 65  6e 74 73 22 2c 2d 31 2c  |ransparents",-1,|
00013650  22 4c 22 29 0d 4b 6e 20  f2 61 64 64 74 6f 6d 65  |"L").Kn .addtome|
00013660  6e 75 28 32 2c 22 50 69  78 65 6c 73 22 2c 2d 31  |nu(2,"Pixels",-1|
00013670  2c 22 22 29 0d 4b 78 20  f2 61 64 64 74 6f 6d 65  |,"").Kx .addtome|
00013680  6e 75 28 32 2c 22 53 6b  65 74 63 68 22 2c 2d 31  |nu(2,"Sketch",-1|
00013690  2c 22 22 29 0d 4b 82 25  f2 61 64 64 74 6f 6d 65  |,"").K.%.addtome|
000136a0  6e 75 28 32 2c 22 52 75  62 62 65 72 20 6c 69 6e  |nu(2,"Rubber lin|
000136b0  65 22 2c 2d 31 2c 22 22  29 0d 4b 8c 25 f2 61 64  |e",-1,"").K.%.ad|
000136c0  64 74 6f 6d 65 6e 75 28  32 2c 22 41 69 72 62 72  |dtomenu(2,"Airbr|
000136d0  75 73 68 2e 2e 2e 22 2c  2d 31 2c 22 22 29 0d 4b  |ush...",-1,"").K|
000136e0  96 28 f2 61 64 64 74 6f  6d 65 6e 75 28 32 2c 22  |.(.addtomenu(2,"|
000136f0  50 61 69 6e 74 62 72 75  73 68 2e 2e 2e 22 2c 2d  |Paintbrush...",-|
00013700  31 2c 22 4c 22 29 0d 4b  a0 27 f2 61 64 64 74 6f  |1,"L").K.'.addto|
00013710  6d 65 6e 75 28 32 2c 22  46 69 6c 6c 22 2c 4d 45  |menu(2,"Fill",ME|
00013720  4e 41 44 25 28 31 33 29  2c 22 4c 22 29 0d 4b aa  |NAD%(13),"L").K.|
00013730  2d f2 61 64 64 74 6f 6d  65 6e 75 28 32 2c 22 4c  |-.addtomenu(2,"L|
00013740  69 6e 65 20 73 74 79 6c  65 22 2c 4d 45 4e 41 44  |ine style",MENAD|
00013750  25 28 31 31 29 2c 22 46  22 29 0d 4b b4 04 0d 4b  |%(11),"F").K...K|
00013760  be 21 4c 25 3d 31 3a 4c  46 52 24 3d 22 22 3a 4e  |.!L%=1:LFR$="":N|
00013770  4f 46 4d 25 3d 34 30 3a  4e 4f 4c 46 25 3d 30 0d  |OFM%=40:NOLF%=0.|
00013780  4b c8 1d 43 46 52 24 3d  a4 66 6f 6e 74 72 6f 6f  |K..CFR$=.fontroo|
00013790  74 28 46 4f 4e 54 24 28  4c 25 29 29 0d 4b d2 56  |t(FONT$(L%)).K.V|
000137a0  e7 20 43 46 52 24 3d 4c  46 52 24 20 8c 20 46 4f  |. CFR$=LFR$ . FO|
000137b0  4e 54 54 24 28 4e 4f 4c  46 25 29 3d c2 46 4f 4e  |NTT$(NOLF%)=.FON|
000137c0  54 24 28 4c 25 29 2c 28  a9 28 46 4f 4e 54 24 28  |T$(L%),(.(FONT$(|
000137d0  4c 25 29 29 2d 28 a9 28  43 46 52 24 29 2b 31 29  |L%))-(.(CFR$)+1)|
000137e0  29 29 3a 4e 4f 4c 46 25  2b 3d 31 3a e5 20 8d 50  |)):NOLF%+=1:. .P|
000137f0  76 4c 0d 4b dc 10 e7 20  4c 46 52 24 3c 3e 22 22  |vL.K... LFR$<>""|
00013800  20 8c 0d 4b e6 0f e7 20  4e 4f 4c 46 25 3e 30 20  | ..K... NOLF%>0 |
00013810  8c 0d 4b f0 48 f2 62 75  69 6c 64 6d 65 6e 75 28  |..K.H.buildmenu(|
00013820  4e 4f 46 4d 25 2c 4c 46  52 24 29 3a e3 4b 25 3d  |NOFM%,LFR$):.K%=|
00013830  30 20 b8 20 4e 4f 4c 46  25 2d 31 3a e7 20 4b 25  |0 . NOLF%-1:. K%|
00013840  3d 4e 4f 4c 46 25 2d 31  20 8c 20 4f 24 3d 22 46  |=NOLF%-1 . O$="F|
00013850  22 20 8b 20 4f 24 3d 22  22 0d 4b fa 39 f2 61 64  |" . O$="".K.9.ad|
00013860  64 74 6f 6d 65 6e 75 28  4e 4f 46 4d 25 2c 46 4f  |dtomenu(NOFM%,FO|
00013870  4e 54 54 24 28 4b 25 29  2c 2d 31 2c 4f 24 29 3a  |NTT$(K%),-1,O$):|
00013880  ed 3a 4e 4f 4c 46 25 3d  30 3a 4e 4f 46 4d 25 2b  |.:NOLF%=0:NOFM%+|
00013890  3d 31 0d 4c 04 05 cc 0d  4c 0e 88 e7 20 a7 46 4f  |=1.L....L... .FO|
000138a0  4e 54 24 28 4c 25 2d 31  29 2c 22 2e 22 29 3c 3e  |NT$(L%-1),".")<>|
000138b0  30 20 8c 20 f2 62 75 69  6c 64 6d 65 6e 75 28 4e  |0 . .buildmenu(N|
000138c0  4f 46 4d 25 2c 4c 46 52  24 29 3a f2 61 64 64 74  |OFM%,LFR$):.addt|
000138d0  6f 6d 65 6e 75 28 4e 4f  46 4d 25 2c c2 46 4f 4e  |omenu(NOFM%,.FON|
000138e0  54 24 28 4c 25 2d 31 29  2c 28 a9 28 46 4f 4e 54  |T$(L%-1),(.(FONT|
000138f0  24 28 4c 25 2d 31 29 29  2d 28 a9 28 4c 46 52 24  |$(L%-1))-(.(LFR$|
00013900  29 2b 31 29 29 29 2c 2d  31 2c 22 46 22 29 3a 4e  |)+1))),-1,"F"):N|
00013910  4f 4c 46 25 3d 30 3a 4e  4f 46 4d 25 2b 3d 31 0d  |OLF%=0:NOFM%+=1.|
00013920  4c 18 05 cd 0d 4c 22 05  cd 0d 4c 2c 62 4c 46 52  |L....L"...L,bLFR|
00013930  24 3d 43 46 52 24 3a e7  20 a7 46 4f 4e 54 24 28  |$=CFR$:. .FONT$(|
00013940  4c 25 29 2c 22 2e 22 29  3c 3e 30 20 8c 20 46 4f  |L%),".")<>0 . FO|
00013950  4e 54 54 24 28 4e 4f 4c  46 25 29 3d c2 46 4f 4e  |NTT$(NOLF%)=.FON|
00013960  54 24 28 4c 25 29 2c 28  a9 28 46 4f 4e 54 24 28  |T$(L%),(.(FONT$(|
00013970  4c 25 29 29 2d 28 a9 28  43 46 52 24 29 2b 31 29  |L%))-(.(CFR$)+1)|
00013980  29 29 3a 4e 4f 4c 46 25  2b 3d 31 0d 4c 36 1f 4c  |)):NOLF%+=1.L6.L|
00013990  25 2b 3d 31 3a e7 20 4c  25 3c 3d 46 4f 4e 54 53  |%+=1:. L%<=FONTS|
000139a0  25 20 8c 20 e5 20 8d 60  48 4b 0d 4c 40 10 e7 20  |% . . .`HK.L@.. |
000139b0  4c 46 52 24 3c 3e 22 22  20 8c 0d 4c 4a 0f e7 20  |LFR$<>"" ..LJ.. |
000139c0  4e 4f 4c 46 25 3e 30 20  8c 0d 4c 54 48 f2 62 75  |NOLF%>0 ..LTH.bu|
000139d0  69 6c 64 6d 65 6e 75 28  4e 4f 46 4d 25 2c 4c 46  |ildmenu(NOFM%,LF|
000139e0  52 24 29 3a e3 4b 25 3d  30 20 b8 20 4e 4f 4c 46  |R$):.K%=0 . NOLF|
000139f0  25 2d 31 3a e7 20 4b 25  3d 4e 4f 4c 46 25 2d 31  |%-1:. K%=NOLF%-1|
00013a00  20 8c 20 4f 24 3d 22 46  22 20 8b 20 4f 24 3d 22  | . O$="F" . O$="|
00013a10  22 0d 4c 5e 39 f2 61 64  64 74 6f 6d 65 6e 75 28  |".L^9.addtomenu(|
00013a20  4e 4f 46 4d 25 2c 46 4f  4e 54 54 24 28 4b 25 29  |NOFM%,FONTT$(K%)|
00013a30  2c 2d 31 2c 4f 24 29 3a  ed 3a 4e 4f 4c 46 25 3d  |,-1,O$):.:NOLF%=|
00013a40  30 3a 4e 4f 46 4d 25 2b  3d 31 0d 4c 68 05 cc 0d  |0:NOFM%+=1.Lh...|
00013a50  4c 72 88 e7 20 a7 46 4f  4e 54 24 28 4c 25 2d 31  |Lr.. .FONT$(L%-1|
00013a60  29 2c 22 2e 22 29 3c 3e  30 20 8c 20 f2 62 75 69  |),".")<>0 . .bui|
00013a70  6c 64 6d 65 6e 75 28 4e  4f 46 4d 25 2c 4c 46 52  |ldmenu(NOFM%,LFR|
00013a80  24 29 3a f2 61 64 64 74  6f 6d 65 6e 75 28 4e 4f  |$):.addtomenu(NO|
00013a90  46 4d 25 2c c2 46 4f 4e  54 24 28 4c 25 2d 31 29  |FM%,.FONT$(L%-1)|
00013aa0  2c 28 a9 28 46 4f 4e 54  24 28 4c 25 2d 31 29 29  |,(.(FONT$(L%-1))|
00013ab0  2d 28 a9 28 4c 46 52 24  29 2b 31 29 29 29 2c 2d  |-(.(LFR$)+1))),-|
00013ac0  31 2c 22 46 22 29 3a 4e  4f 4c 46 25 3d 30 3a 4e  |1,"F"):NOLF%=0:N|
00013ad0  4f 46 4d 25 2b 3d 31 0d  4c 7c 05 cd 0d 4c 86 05  |OFM%+=1.L|...L..|
00013ae0  cd 0d 4c 90 04 0d 4c 9a  1a f2 62 75 69 6c 64 6d  |..L...L...buildm|
00013af0  65 6e 75 28 31 34 2c 22  46 6f 6e 74 73 22 29 0d  |enu(14,"Fonts").|
00013b00  4c a4 21 4c 25 3d 30 3a  4c 46 52 24 3d 22 22 3a  |L.!L%=0:LFR$="":|
00013b10  4e 4f 46 4d 25 3d 34 30  3a 43 4f 54 46 25 3d 31  |NOFM%=40:COTF%=1|
00013b20  0d 4c ae 3d e7 20 4c 25  3d 30 20 80 20 46 4f 4e  |.L.=. L%=0 . FON|
00013b30  54 53 25 3d 30 20 8c 20  f2 61 64 64 74 6f 6d 65  |TS%=0 . .addtome|
00013b40  6e 75 28 31 34 2c 46 4f  4e 54 24 28 30 29 2c 2d  |nu(14,FONT$(0),-|
00013b50  31 2c 22 4c 22 29 3a e5  20 8d 50 66 4d 0d 4c b8  |1,"L"):. .PfM.L.|
00013b60  44 e7 20 4c 25 3d 30 20  8c 20 f2 61 64 64 74 6f  |D. L%=0 . .addto|
00013b70  6d 65 6e 75 28 31 34 2c  46 4f 4e 54 24 28 30 29  |menu(14,FONT$(0)|
00013b80  2c 2d 31 2c 22 22 29 3a  4c 46 52 24 3d 22 53 79  |,-1,""):LFR$="Sy|
00013b90  73 74 65 6d 20 66 6f 6e  74 22 3a e5 20 8d 50 48  |stem font":. .PH|
00013ba0  4d 0d 4c c2 1d 43 46 52  24 3d a4 66 6f 6e 74 72  |M.L..CFR$=.fontr|
00013bb0  6f 6f 74 28 46 4f 4e 54  24 28 4c 25 29 29 0d 4c  |oot(FONT$(L%)).L|
00013bc0  cc 21 e7 20 43 46 52 24  3d 4c 46 52 24 20 8c 20  |.!. CFR$=LFR$ . |
00013bd0  43 4f 54 46 25 2b 3d 31  3a e5 20 8d 50 48 4d 0d  |COTF%+=1:. .PHM.|
00013be0  4c d6 1b e7 20 4c 46 52  24 3c 3e 22 53 79 73 74  |L... LFR$<>"Syst|
00013bf0  65 6d 20 66 6f 6e 74 22  20 8c 0d 4c e0 70 e7 20  |em font" ..L.p. |
00013c00  43 4f 54 46 25 3e 31 20  84 20 a7 46 4f 4e 54 24  |COTF%>1 . .FONT$|
00013c10  28 4c 25 2d 31 29 2c 22  2e 22 29 3c 3e 30 20 8c  |(L%-1),".")<>0 .|
00013c20  20 f2 61 64 64 74 6f 6d  65 6e 75 28 31 34 2c 4c  | .addtomenu(14,L|
00013c30  46 52 24 2c 4d 45 4e 41  44 25 28 4e 4f 46 4d 25  |FR$,MENAD%(NOFM%|
00013c40  29 2c 22 22 29 3a 4e 4f  46 4d 25 2b 3d 31 20 8b  |),""):NOFM%+=1 .|
00013c50  20 f2 61 64 64 74 6f 6d  65 6e 75 28 31 34 2c 4c  | .addtomenu(14,L|
00013c60  46 52 24 2c 2d 31 2c 22  22 29 0d 4c ea 0b 43 4f  |FR$,-1,"").L..CO|
00013c70  54 46 25 3d 31 0d 4c f4  05 cd 0d 4c fe 0d 4c 46  |TF%=1.L....L..LF|
00013c80  52 24 3d 43 46 52 24 0d  4d 08 1f 4c 25 2b 3d 31  |R$=CFR$.M..L%+=1|
00013c90  3a e7 20 4c 25 3c 3d 46  4f 4e 54 53 25 20 8c 20  |:. L%<=FONTS% . |
00013ca0  e5 20 8d 70 6e 4c 0d 4d  12 69 e7 20 43 4f 54 46  |. .pnL.M.i. COTF|
00013cb0  25 3e 31 20 84 20 a7 46  4f 4e 54 24 28 4c 25 2d  |%>1 . .FONT$(L%-|
00013cc0  31 29 2c 22 2e 22 29 3c  3e 30 20 8c 20 f2 61 64  |1),".")<>0 . .ad|
00013cd0  64 74 6f 6d 65 6e 75 28  31 34 2c 4c 46 52 24 2c  |dtomenu(14,LFR$,|
00013ce0  4d 45 4e 41 44 25 28 4e  4f 46 4d 25 29 2c 22 4c  |MENAD%(NOFM%),"L|
00013cf0  22 29 20 8b 20 f2 61 64  64 74 6f 6d 65 6e 75 28  |") . .addtomenu(|
00013d00  31 34 2c 4c 46 52 24 2c  2d 31 2c 22 4c 22 29 0d  |14,LFR$,-1,"L").|
00013d10  4d 1c 04 0d 4d 26 25 f2  61 64 64 74 6f 6d 65 6e  |M...M&%.addtomen|
00013d20  75 28 31 34 2c 22 42 61  63 6b 67 72 6f 75 6e 64  |u(14,"Background|
00013d30  22 2c 31 35 2c 22 22 29  0d 4d 30 59 e7 20 46 4f  |",15,"").M0Y. FO|
00013d40  4e 54 53 25 3e 30 20 8c  20 f2 61 64 64 74 6f 6d  |NTS%>0 . .addtom|
00013d50  65 6e 75 28 31 34 2c 22  50 61 72 61 6d 65 74 65  |enu(14,"Paramete|
00013d60  72 73 22 2c 31 36 2c 22  46 22 29 20 8b 20 f2 61  |rs",16,"F") . .a|
00013d70  64 64 74 6f 6d 65 6e 75  28 31 34 2c 22 50 61 72  |ddtomenu(14,"Par|
00013d80  61 6d 65 74 65 72 73 22  2c 31 36 2c 22 53 46 22  |ameters",16,"SF"|
00013d90  29 0d 4d 3a 04 0d 4d 44  18 f2 62 75 69 6c 64 6d  |).M:..MD..buildm|
00013da0  65 6e 75 28 33 2c 22 5a  6f 6f 6d 22 29 0d 4d 4e  |enu(3,"Zoom").MN|
00013db0  0e e3 4c 25 3d 32 20 b8  20 31 36 0d 4d 58 1c e7  |..L%=2 . 16.MX..|
00013dc0  20 4c 25 3d 31 36 20 8c  20 4f 24 3d 22 46 22 20  | L%=16 . O$="F" |
00013dd0  8b 20 4f 24 3d 22 22 0d  4d 62 24 f2 61 64 64 74  |. O$="".Mb$.addt|
00013de0  6f 6d 65 6e 75 28 33 2c  22 5a 6f 6f 6d 20 78 22  |omenu(3,"Zoom x"|
00013df0  2b c3 4c 25 2c 2d 31 2c  4f 24 29 0d 4d 6c 05 ed  |+.L%,-1,O$).Ml..|
00013e00  0d 4d 76 04 0d 4d 80 1a  f2 62 75 69 6c 64 6d 65  |.Mv..M...buildme|
00013e10  6e 75 28 34 2c 22 53 68  61 70 65 73 22 29 0d 4d  |nu(4,"Shapes").M|
00013e20  8a 28 f2 61 64 64 74 6f  6d 65 6e 75 28 34 2c 22  |.(.addtomenu(4,"|
00013e30  57 69 72 65 20 72 65 63  74 61 6e 67 6c 65 22 2c  |Wire rectangle",|
00013e40  2d 31 2c 22 22 29 0d 4d  94 27 f2 61 64 64 74 6f  |-1,"").M.'.addto|
00013e50  6d 65 6e 75 28 34 2c 22  57 69 72 65 20 74 72 69  |menu(4,"Wire tri|
00013e60  61 6e 67 6c 65 22 2c 2d  31 2c 22 22 29 0d 4d 9e  |angle",-1,"").M.|
00013e70  25 f2 61 64 64 74 6f 6d  65 6e 75 28 34 2c 22 57  |%.addtomenu(4,"W|
00013e80  69 72 65 20 63 69 72 63  6c 65 22 2c 2d 31 2c 22  |ire circle",-1,"|
00013e90  22 29 0d 4d a8 26 f2 61  64 64 74 6f 6d 65 6e 75  |").M.&.addtomenu|
00013ea0  28 34 2c 22 57 69 72 65  20 65 6c 6c 69 70 73 65  |(4,"Wire ellipse|
00013eb0  22 2c 2d 31 2c 22 22 29  0d 4d b2 2c f2 61 64 64  |",-1,"").M.,.add|
00013ec0  74 6f 6d 65 6e 75 28 34  2c 22 57 69 72 65 20 70  |tomenu(4,"Wire p|
00013ed0  61 72 61 6c 6c 65 6c 6f  67 72 61 6d 22 2c 2d 31  |arallelogram",-1|
00013ee0  2c 22 22 29 0d 4d bc 23  f2 61 64 64 74 6f 6d 65  |,"").M.#.addtome|
00013ef0  6e 75 28 34 2c 22 57 69  72 65 20 61 72 63 22 2c  |nu(4,"Wire arc",|
00013f00  2d 31 2c 22 4c 22 29 0d  4d c6 29 f2 61 64 64 74  |-1,"L").M.).addt|
00013f10  6f 6d 65 6e 75 28 34 2c  22 53 6f 6c 69 64 20 72  |omenu(4,"Solid r|
00013f20  65 63 74 61 6e 67 6c 65  22 2c 2d 31 2c 22 22 29  |ectangle",-1,"")|
00013f30  0d 4d d0 28 f2 61 64 64  74 6f 6d 65 6e 75 28 34  |.M.(.addtomenu(4|
00013f40  2c 22 53 6f 6c 69 64 20  74 72 69 61 6e 67 6c 65  |,"Solid triangle|
00013f50  22 2c 2d 31 2c 22 22 29  0d 4d da 26 f2 61 64 64  |",-1,"").M.&.add|
00013f60  74 6f 6d 65 6e 75 28 34  2c 22 53 6f 6c 69 64 20  |tomenu(4,"Solid |
00013f70  63 69 72 63 6c 65 22 2c  2d 31 2c 22 22 29 0d 4d  |circle",-1,"").M|
00013f80  e4 27 f2 61 64 64 74 6f  6d 65 6e 75 28 34 2c 22  |.'.addtomenu(4,"|
00013f90  53 6f 6c 69 64 20 65 6c  6c 69 70 73 65 22 2c 2d  |Solid ellipse",-|
00013fa0  31 2c 22 22 29 0d 4d ee  2d f2 61 64 64 74 6f 6d  |1,"").M.-.addtom|
00013fb0  65 6e 75 28 34 2c 22 53  6f 6c 69 64 20 70 61 72  |enu(4,"Solid par|
00013fc0  61 6c 6c 65 6c 6f 67 72  61 6d 22 2c 2d 31 2c 22  |allelogram",-1,"|
00013fd0  22 29 0d 4d f8 26 f2 61  64 64 74 6f 6d 65 6e 75  |").M.&.addtomenu|
00013fe0  28 34 2c 22 53 6f 6c 69  64 20 73 65 63 74 6f 72  |(4,"Solid sector|
00013ff0  22 2c 2d 31 2c 22 22 29  0d 4e 02 28 f2 61 64 64  |",-1,"").N.(.add|
00014000  74 6f 6d 65 6e 75 28 34  2c 22 53 6f 6c 69 64 20  |tomenu(4,"Solid |
00014010  73 65 67 6d 65 6e 74 22  2c 2d 31 2c 22 46 22 29  |segment",-1,"F")|
00014020  0d 4e 0c 04 0d 4e 16 1b  f2 62 75 69 6c 64 6d 65  |.N...N...buildme|
00014030  6e 75 28 36 2c 22 50 72  65 73 65 74 73 22 29 0d  |nu(6,"Presets").|
00014040  4e 20 22 f2 61 64 64 74  6f 6d 65 6e 75 28 36 2c  |N ".addtomenu(6,|
00014050  22 32 78 32 20 67 72 69  64 22 2c 2d 31 2c 22 22  |"2x2 grid",-1,""|
00014060  29 0d 4e 2a 22 f2 61 64  64 74 6f 6d 65 6e 75 28  |).N*".addtomenu(|
00014070  36 2c 22 33 78 33 20 67  72 69 64 22 2c 2d 31 2c  |6,"3x3 grid",-1,|
00014080  22 22 29 0d 4e 34 22 f2  61 64 64 74 6f 6d 65 6e  |"").N4".addtomen|
00014090  75 28 36 2c 22 34 78 34  20 67 72 69 64 22 2c 2d  |u(6,"4x4 grid",-|
000140a0  31 2c 22 22 29 0d 4e 3e  22 f2 61 64 64 74 6f 6d  |1,"").N>".addtom|
000140b0  65 6e 75 28 36 2c 22 36  78 36 20 67 72 69 64 22  |enu(6,"6x6 grid"|
000140c0  2c 2d 31 2c 22 22 29 0d  4e 48 22 f2 61 64 64 74  |,-1,"").NH".addt|
000140d0  6f 6d 65 6e 75 28 36 2c  22 38 78 38 20 67 72 69  |omenu(6,"8x8 gri|
000140e0  64 22 2c 2d 31 2c 22 22  29 0d 4e 52 24 f2 61 64  |d",-1,"").NR$.ad|
000140f0  64 74 6f 6d 65 6e 75 28  36 2c 22 31 36 78 31 36  |dtomenu(6,"16x16|
00014100  20 67 72 69 64 22 2c 2d  31 2c 22 22 29 0d 4e 5c  | grid",-1,"").N\|
00014110  24 f2 61 64 64 74 6f 6d  65 6e 75 28 36 2c 22 33  |$.addtomenu(6,"3|
00014120  32 78 33 32 20 67 72 69  64 22 2c 2d 31 2c 22 22  |2x32 grid",-1,""|
00014130  29 0d 4e 66 25 f2 61 64  64 74 6f 6d 65 6e 75 28  |).Nf%.addtomenu(|
00014140  36 2c 22 33 32 78 31 36  20 67 72 69 64 22 2c 2d  |6,"32x16 grid",-|
00014150  31 2c 22 46 22 29 0d 4e  70 04 0d 4e 7a 18 f2 62  |1,"F").Np..Nz..b|
00014160  75 69 6c 64 6d 65 6e 75  28 35 2c 22 47 72 69 64  |uildmenu(5,"Grid|
00014170  22 29 0d 4e 84 23 f2 61  64 64 74 6f 6d 65 6e 75  |").N.#.addtomenu|
00014180  28 35 2c 22 53 68 6f 77  20 67 72 69 64 22 2c 2d  |(5,"Show grid",-|
00014190  31 2c 22 22 29 0d 4e 8e  23 f2 61 64 64 74 6f 6d  |1,"").N.#.addtom|
000141a0  65 6e 75 28 35 2c 22 48  69 64 65 20 67 72 69 64  |enu(5,"Hide grid|
000141b0  22 2c 2d 31 2c 22 22 29  0d 4e 98 23 f2 61 64 64  |",-1,"").N.#.add|
000141c0  74 6f 6d 65 6e 75 28 35  2c 22 47 72 69 64 20 6c  |tomenu(5,"Grid l|
000141d0  6f 63 6b 22 2c 2d 31 2c  22 22 29 0d 4e a2 2d f2  |ock",-1,"").N.-.|
000141e0  61 64 64 74 6f 6d 65 6e  75 28 35 2c 22 50 72 65  |addtomenu(5,"Pre|
000141f0  73 65 74 20 67 72 69 64  73 22 2c 4d 45 4e 41 44  |set grids",MENAD|
00014200  25 28 36 29 2c 22 22 29  0d 4e ac 23 f2 61 64 64  |%(6),"").N.#.add|
00014210  74 6f 6d 65 6e 75 28 35  2c 22 45 64 69 74 20 67  |tomenu(5,"Edit g|
00014220  72 69 64 22 2c 36 2c 22  46 22 29 0d 4e b6 04 0d  |rid",6,"F").N...|
00014230  4e c0 1e f2 62 75 69 6c  64 6d 65 6e 75 28 37 2c  |N...buildmenu(7,|
00014240  22 4d 61 6e 69 70 75 6c  61 74 65 22 29 0d 4e ca  |"Manipulate").N.|
00014250  26 f2 61 64 64 74 6f 6d  65 6e 75 28 37 2c 22 43  |&.addtomenu(7,"C|
00014260  6f 70 79 20 61 72 65 61  2e 2e 2e 22 2c 2d 31 2c  |opy area...",-1,|
00014270  22 22 29 0d 4e d4 26 f2  61 64 64 74 6f 6d 65 6e  |"").N.&.addtomen|
00014280  75 28 37 2c 22 4d 6f 76  65 20 61 72 65 61 2e 2e  |u(7,"Move area..|
00014290  2e 22 2c 2d 31 2c 22 22  29 0d 4e de 25 f2 61 64  |.",-1,"").N.%.ad|
000142a0  64 74 6f 6d 65 6e 75 28  37 2c 22 4d 69 72 72 6f  |dtomenu(7,"Mirro|
000142b0  72 20 61 72 65 61 22 2c  2d 31 2c 22 22 29 0d 4e  |r area",-1,"").N|
000142c0  e8 25 f2 61 64 64 74 6f  6d 65 6e 75 28 37 2c 22  |.%.addtomenu(7,"|
000142d0  49 6e 76 65 72 74 20 61  72 65 61 22 2c 2d 31 2c  |Invert area",-1,|
000142e0  22 22 29 0d 4e f2 24 f2  61 64 64 74 6f 6d 65 6e  |"").N.$.addtomen|
000142f0  75 28 37 2c 22 53 74 72  69 70 20 61 72 65 61 22  |u(7,"Strip area"|
00014300  2c 2d 31 2c 22 22 29 0d  4e fc 23 f2 61 64 64 74  |,-1,"").N.#.addt|
00014310  6f 6d 65 6e 75 28 37 2c  22 52 6f 74 61 74 65 2e  |omenu(7,"Rotate.|
00014320  2e 2e 22 2c 2d 31 2c 22  22 29 0d 4f 06 2a f2 61  |..",-1,"").O.*.a|
00014330  64 64 74 6f 6d 65 6e 75  28 37 2c 22 53 63 61 6c  |ddtomenu(7,"Scal|
00014340  65 20 74 6f 20 66 69 74  2e 2e 2e 22 2c 2d 31 2c  |e to fit...",-1,|
00014350  22 4c 22 29 0d 4f 10 28  f2 61 64 64 74 6f 6d 65  |"L").O.(.addtome|
00014360  6e 75 28 37 2c 22 50 69  78 65 6c 20 6d 61 70 70  |nu(7,"Pixel mapp|
00014370  69 6e 67 22 2c 2d 31 2c  22 46 22 29 0d 4f 1a 04  |ing",-1,"F").O..|
00014380  0d 4f 24 1b f2 62 75 69  6c 64 6d 65 6e 75 28 38  |.O$..buildmenu(8|
00014390  2c 22 53 70 65 63 69 61  6c 22 29 0d 4f 2e 1f f2  |,"Special").O...|
000143a0  61 64 64 74 6f 6d 65 6e  75 28 38 2c 22 54 72 61  |addtomenu(8,"Tra|
000143b0  63 65 22 2c 2d 31 2c 22  22 29 0d 4f 38 25 f2 61  |ce",-1,"").O8%.a|
000143c0  64 64 74 6f 6d 65 6e 75  28 38 2c 22 53 6d 75 64  |ddtomenu(8,"Smud|
000143d0  67 65 20 61 72 65 61 22  2c 2d 31 2c 22 22 29 0d  |ge area",-1,"").|
000143e0  4f 42 26 f2 61 64 64 74  6f 6d 65 6e 75 28 38 2c  |OB&.addtomenu(8,|
000143f0  22 57 65 74 20 62 72 75  73 68 2e 2e 2e 22 2c 2d  |"Wet brush...",-|
00014400  31 2c 22 22 29 0d 4f 4c  23 f2 61 64 64 74 6f 6d  |1,"").OL#.addtom|
00014410  65 6e 75 28 38 2c 22 54  69 6e 74 20 61 72 65 61  |enu(8,"Tint area|
00014420  22 2c 2d 31 2c 22 22 29  0d 4f 56 27 f2 61 64 64  |",-1,"").OV'.add|
00014430  74 6f 6d 65 6e 75 28 38  2c 22 54 69 6e 74 20 62  |tomenu(8,"Tint b|
00014440  72 75 73 68 2e 2e 2e 22  2c 2d 31 2c 22 22 29 0d  |rush...",-1,"").|
00014450  4f 60 23 f2 61 64 64 74  6f 6d 65 6e 75 28 38 2c  |O`#.addtomenu(8,|
00014460  22 53 65 74 20 66 72 61  6d 65 22 2c 31 39 2c 22  |"Set frame",19,"|
00014470  22 29 0d 4f 6a 28 f2 61  64 64 74 6f 6d 65 6e 75  |").Oj(.addtomenu|
00014480  28 38 2c 22 52 47 42 20  63 6f 6e 74 72 6f 6c 2e  |(8,"RGB control.|
00014490  2e 2e 22 2c 2d 31 2c 22  22 29 0d 4f 74 27 f2 61  |..",-1,"").Ot'.a|
000144a0  64 64 74 6f 6d 65 6e 75  28 38 2c 22 47 72 65 79  |ddtomenu(8,"Grey|
000144b0  20 73 63 61 6c 65 2e 2e  2e 22 2c 2d 31 2c 22 22  | scale...",-1,""|
000144c0  29 0d 4f 7e 25 f2 61 64  64 74 6f 6d 65 6e 75 28  |).O~%.addtomenu(|
000144d0  38 2c 22 50 69 78 65 6c  61 74 65 2e 2e 2e 22 2c  |8,"Pixelate...",|
000144e0  2d 31 2c 22 22 29 0d 4f  88 2c f2 61 64 64 74 6f  |-1,"").O.,.addto|
000144f0  6d 65 6e 75 28 38 2c 22  43 6f 6c 6f 75 72 20 72  |menu(8,"Colour r|
00014500  65 70 6c 61 63 65 2e 2e  2e 22 2c 2d 31 2c 22 46  |eplace...",-1,"F|
00014510  22 29 0d 4f 92 04 0d 4f  9c 18 f2 62 75 69 6c 64  |").O...O...build|
00014520  6d 65 6e 75 28 39 2c 22  45 64 69 74 22 29 0d 4f  |menu(9,"Edit").O|
00014530  a6 26 f2 61 64 64 74 6f  6d 65 6e 75 28 39 2c 22  |.&.addtomenu(9,"|
00014540  4c 69 6e 65 20 70 61 74  74 65 72 6e 22 2c 31 30  |Line pattern",10|
00014550  2c 22 22 29 0d 4f b0 27  f2 61 64 64 74 6f 6d 65  |,"").O.'.addtome|
00014560  6e 75 28 39 2c 22 46 69  6c 6c 20 70 61 74 74 65  |nu(9,"Fill patte|
00014570  72 6e 73 22 2c 31 31 2c  22 22 29 0d 4f ba 26 f2  |rns",11,"").O.&.|
00014580  61 64 64 74 6f 6d 65 6e  75 28 39 2c 22 45 64 69  |addtomenu(9,"Edi|
00014590  74 20 62 72 75 73 68 65  73 22 2c 31 32 2c 22 22  |t brushes",12,""|
000145a0  29 0d 4f c4 2a f2 61 64  64 74 6f 6d 65 6e 75 28  |).O.*.addtomenu(|
000145b0  39 2c 22 47 72 61 64 75  61 74 65 64 20 66 69 6c  |9,"Graduated fil|
000145c0  6c 73 22 2c 31 33 2c 22  46 22 29 0d 4f ce 04 0d  |ls",13,"F").O...|
000145d0  4f d8 1c f2 62 75 69 6c  64 6d 65 6e 75 28 31 30  |O...buildmenu(10|
000145e0  2c 22 4f 70 74 69 6f 6e  73 22 29 0d 4f e2 29 f2  |,"Options").O.).|
000145f0  61 64 64 74 6f 6d 65 6e  75 28 31 30 2c 22 4d 6f  |addtomenu(10,"Mo|
00014600  75 73 65 22 2c 4d 45 4e  41 44 25 28 31 36 29 2c  |use",MENAD%(16),|
00014610  22 4c 22 29 0d 4f ec 26  f2 61 64 64 74 6f 6d 65  |"L").O.&.addtome|
00014620  6e 75 28 31 30 2c 22 43  75 72 73 6f 72 20 6b 65  |nu(10,"Cursor ke|
00014630  79 73 22 2c 2d 31 2c 22  22 29 0d 4f f6 28 f2 61  |ys",-1,"").O.(.a|
00014640  64 64 74 6f 6d 65 6e 75  28 31 30 2c 22 57 69 70  |ddtomenu(10,"Wip|
00014650  65 20 70 69 63 74 75 72  65 22 2c 2d 31 2c 22 4c  |e picture",-1,"L|
00014660  22 29 0d 50 00 20 f2 61  64 64 74 6f 6d 65 6e 75  |").P. .addtomenu|
00014670  28 31 30 2c 22 48 65 6c  70 22 2c 2d 31 2c 22 46  |(10,"Help",-1,"F|
00014680  22 29 0d 50 0a 04 0d 50  14 1c f2 62 75 69 6c 64  |").P...P...build|
00014690  6d 65 6e 75 28 30 2c 22  41 72 63 68 72 6f 6d 65  |menu(0,"Archrome|
000146a0  22 29 0d 50 1e 25 f2 61  64 64 74 6f 6d 65 6e 75  |").P.%.addtomenu|
000146b0  28 30 2c 22 46 69 6c 65  22 2c 4d 45 4e 41 44 25  |(0,"File",MENAD%|
000146c0  28 31 29 2c 22 22 29 0d  50 28 26 f2 61 64 64 74  |(1),"").P(&.addt|
000146d0  6f 6d 65 6e 75 28 30 2c  22 50 61 69 6e 74 22 2c  |omenu(0,"Paint",|
000146e0  4d 45 4e 41 44 25 28 32  29 2c 22 22 29 0d 50 32  |MENAD%(2),"").P2|
000146f0  26 f2 61 64 64 74 6f 6d  65 6e 75 28 30 2c 22 54  |&.addtomenu(0,"T|
00014700  65 78 74 22 2c 4d 45 4e  41 44 25 28 31 34 29 2c  |ext",MENAD%(14),|
00014710  22 22 29 0d 50 3c 28 f2  61 64 64 74 6f 6d 65 6e  |"").P<(.addtomen|
00014720  75 28 30 2c 22 53 68 61  70 65 73 22 2c 4d 45 4e  |u(0,"Shapes",MEN|
00014730  41 44 25 28 34 29 2c 22  4c 22 29 0d 50 46 28 f2  |AD%(4),"L").PF(.|
00014740  61 64 64 74 6f 6d 65 6e  75 28 30 2c 22 53 70 65  |addtomenu(0,"Spe|
00014750  63 69 61 6c 22 2c 4d 45  4e 41 44 25 28 38 29 2c  |cial",MENAD%(8),|
00014760  22 22 29 0d 50 50 25 f2  61 64 64 74 6f 6d 65 6e  |"").PP%.addtomen|
00014770  75 28 30 2c 22 45 64 69  74 22 2c 4d 45 4e 41 44  |u(0,"Edit",MENAD|
00014780  25 28 39 29 2c 22 22 29  0d 50 5a 2c f2 61 64 64  |%(9),"").PZ,.add|
00014790  74 6f 6d 65 6e 75 28 30  2c 22 4d 61 6e 69 70 75  |tomenu(0,"Manipu|
000147a0  6c 61 74 65 22 2c 4d 45  4e 41 44 25 28 37 29 2c  |late",MENAD%(7),|
000147b0  22 4c 22 29 0d 50 64 25  f2 61 64 64 74 6f 6d 65  |"L").Pd%.addtome|
000147c0  6e 75 28 30 2c 22 5a 6f  6f 6d 22 2c 4d 45 4e 41  |nu(0,"Zoom",MENA|
000147d0  44 25 28 33 29 2c 22 22  29 0d 50 6e 25 f2 61 64  |D%(3),"").Pn%.ad|
000147e0  64 74 6f 6d 65 6e 75 28  30 2c 22 47 72 69 64 22  |dtomenu(0,"Grid"|
000147f0  2c 4d 45 4e 41 44 25 28  35 29 2c 22 22 29 0d 50  |,MENAD%(5),"").P|
00014800  78 2a f2 61 64 64 74 6f  6d 65 6e 75 28 30 2c 22  |x*.addtomenu(0,"|
00014810  4f 70 74 69 6f 6e 73 22  2c 4d 45 4e 41 44 25 28  |Options",MENAD%(|
00014820  31 30 29 2c 22 46 22 29  0d 50 82 04 0d 50 8c 05  |10),"F").P...P..|
00014830  e1 0d 50 96 04 0d 50 a0  25 dd a4 66 6f 6e 74 72  |..P...P.%..fontr|
00014840  6f 6f 74 28 46 24 29 3a  e7 20 a7 46 24 2c 22 2e  |oot(F$):. .F$,".|
00014850  22 29 3d 30 20 8c 20 3d  46 24 0d 50 aa 4c 49 50  |")=0 . =F$.P.LIP|
00014860  46 25 3d 31 3a 49 50 46  24 3d 22 22 3a c8 95 20  |F%=1:IPF$="":.. |
00014870  c1 46 24 2c 49 50 46 25  2c 31 29 3c 3e 22 2e 22  |.F$,IPF%,1)<>"."|
00014880  3a 49 50 46 24 3d 49 50  46 24 2b c1 46 24 2c 49  |:IPF$=IPF$+.F$,I|
00014890  50 46 25 2c 31 29 3a 49  50 46 25 2b 3d 31 3a ce  |PF%,1):IPF%+=1:.|
000148a0  3a 3d 49 50 46 24 0d 50  b4 04 0d 50 be 26 f4 20  |:=IPF$.P...P.&. |
000148b0  2a 2a 20 43 72 65 61 74  65 20 61 20 6d 65 6e 75  |** Create a menu|
000148c0  20 28 4e 75 6d 62 65 72  2c 20 54 69 74 6c 65 29  | (Number, Title)|
000148d0  0d 50 c8 18 dd f2 62 75  69 6c 64 6d 65 6e 75 28  |.P....buildmenu(|
000148e0  4d 4e 25 2c 4d 54 24 29  0d 50 d2 2c 4d 45 4e 41  |MN%,MT$).P.,MENA|
000148f0  44 25 28 4d 4e 25 29 3d  4d 45 4e 55 25 2b 4d 45  |D%(MN%)=MENU%+ME|
00014900  4f 46 25 3a 54 41 44 25  3d 4d 45 4e 55 25 2b 4d  |OF%:TAD%=MENU%+M|
00014910  45 4f 46 25 0d 50 dc 54  24 54 41 44 25 3d 4d 54  |EOF%.P.T$TAD%=MT|
00014920  24 3a 54 41 44 25 3f 31  32 3d 37 3a 54 41 44 25  |$:TAD%?12=7:TAD%|
00014930  3f 31 33 3d 32 3a 54 41  44 25 3f 31 34 3d 37 3a  |?13=2:TAD%?14=7:|
00014940  54 41 44 25 3f 31 35 3d  30 3a 54 41 44 25 21 31  |TAD%?15=0:TAD%!1|
00014950  36 3d 30 3a 54 41 44 25  21 32 30 3d 34 34 3a 54  |6=0:TAD%!20=44:T|
00014960  41 44 25 21 32 34 3d 30  0d 50 e6 0d 4d 45 4f 46  |AD%!24=0.P..MEOF|
00014970  25 2b 3d 32 38 0d 50 f0  41 e7 20 4d 45 4f 46 25  |%+=28.P.A. MEOF%|
00014980  3e 35 2a 31 30 32 34 20  8c 20 f2 6d 65 73 73 61  |>5*1024 . .messa|
00014990  67 65 28 30 2c 22 4d 65  6e 75 20 74 72 65 65 20  |ge(0,"Menu tree |
000149a0  68 61 73 20 72 75 6e 20  6f 75 74 20 6f 66 20 72  |has run out of r|
000149b0  6f 6f 6d 2e 22 29 0d 50  fa 05 e1 0d 51 04 04 0d  |oom.").P....Q...|
000149c0  51 0e 33 f4 20 2a 2a 20  46 65 61 74 75 72 65 20  |Q.3. ** Feature |
000149d0  66 6f 72 6d 61 74 20 3a  20 4c 20 3d 20 46 6f 6c  |format : L = Fol|
000149e0  6c 6f 77 20 62 79 20 64  6f 74 74 65 64 20 6c 69  |low by dotted li|
000149f0  6e 65 0d 51 18 27 f4 20  2a 2a 20 20 20 20 20 20  |ne.Q.'. **      |
00014a00  20 20 20 20 20 20 20 20  20 20 3a 20 46 20 3d 20  |          : F = |
00014a10  4c 61 73 74 20 69 74 65  6d 0d 51 22 20 dd f2 61  |Last item.Q" ..a|
00014a20  64 64 74 6f 6d 65 6e 75  28 4d 4e 25 2c 49 54 24  |ddtomenu(MN%,IT$|
00014a30  2c 48 41 25 2c 46 45 24  29 0d 51 2c 14 54 41 44  |,HA%,FE$).Q,.TAD|
00014a40  25 3d 4d 45 4e 55 25 2b  4d 45 4f 46 25 0d 51 36  |%=MENU%+MEOF%.Q6|
00014a50  09 46 45 25 3d 30 0d 51  40 18 e7 20 a7 46 45 24  |.FE%=0.Q@.. .FE$|
00014a60  2c 22 4c 22 29 20 8c 20  46 45 25 2b 3d 32 0d 51  |,"L") . FE%+=2.Q|
00014a70  4a 1a e7 20 a7 46 45 24  2c 22 46 22 29 20 8c 20  |J.. .FE$,"F") . |
00014a80  46 45 25 2b 3d 31 32 38  0d 51 54 0d 21 54 41 44  |FE%+=128.QT.!TAD|
00014a90  25 3d 46 45 25 0d 51 5e  2c e7 20 48 41 25 3e 2d  |%=FE%.Q^,. HA%>-|
00014aa0  31 20 80 20 48 41 25 3c  26 38 30 30 30 20 8c 20  |1 . HA%<&8000 . |
00014ab0  54 41 44 25 21 34 3d 48  41 4e 44 25 28 48 41 25  |TAD%!4=HAND%(HA%|
00014ac0  29 0d 51 68 18 e7 20 48  41 25 3d 2d 31 20 8c 20  |).Qh.. HA%=-1 . |
00014ad0  54 41 44 25 21 34 3d 2d  31 0d 51 72 1c e7 20 48  |TAD%!4=-1.Qr.. H|
00014ae0  41 25 3e 26 38 30 30 30  20 8c 20 54 41 44 25 21  |A%>&8000 . TAD%!|
00014af0  34 3d 48 41 25 0d 51 7c  1c 54 41 44 25 21 38 3d  |4=HA%.Q|.TAD%!8=|
00014b00  31 20 84 20 28 37 3c 3c  32 34 29 20 84 20 32 35  |1 . (7<<24) . 25|
00014b10  36 0d 51 86 19 24 28 4d  45 4e 55 49 4e 44 25 2b  |6.Q..$(MENUIND%+|
00014b20  4d 45 49 4e 25 29 3d 49  54 24 0d 51 90 11 49 4c  |MEIN%)=IT$.Q..IL|
00014b30  45 25 3d a9 28 49 54 24  29 2b 31 0d 51 9a 2a e7  |E%=.(IT$)+1.Q.*.|
00014b40  20 28 49 4c 45 25 20 83  20 34 29 3e 30 20 8c 20  | (ILE% . 4)>0 . |
00014b50  49 4c 45 25 3d 28 28 49  4c 45 25 20 81 20 34 29  |ILE%=((ILE% . 4)|
00014b60  2b 31 29 2a 34 0d 51 a4  1a 54 41 44 25 21 31 32  |+1)*4.Q..TAD%!12|
00014b70  3d 4d 45 4e 55 49 4e 44  25 2b 4d 45 49 4e 25 0d  |=MENUIND%+MEIN%.|
00014b80  51 ae 12 54 41 44 25 21  32 30 3d a9 28 49 54 24  |Q..TAD%!20=.(IT$|
00014b90  29 0d 51 b8 13 54 41 44  25 21 31 36 3d 4d 45 4e  |).Q..TAD%!16=MEN|
00014ba0  41 4c 4f 25 0d 51 c2 0f  4d 45 49 4e 25 2b 3d 49  |ALO%.Q..MEIN%+=I|
00014bb0  4c 45 25 0d 51 cc 46 e7  20 4d 45 49 4e 25 3e 28  |LE%.Q.F. MEIN%>(|
00014bc0  35 2a 31 30 32 34 29 20  8c 20 f2 6d 65 73 73 61  |5*1024) . .messa|
00014bd0  67 65 28 31 2c 22 4d 65  6e 75 20 69 6e 64 69 72  |ge(1,"Menu indir|
00014be0  65 63 74 69 6f 6e 20 62  75 66 66 65 72 20 6f 76  |ection buffer ov|
00014bf0  65 72 66 6c 6f 77 2e 22  29 0d 51 d6 0d 4d 45 4f  |erflow.").Q..MEO|
00014c00  46 25 2b 3d 32 34 0d 51  e0 42 e7 20 4d 45 4f 46  |F%+=24.Q.B. MEOF|
00014c10  25 3e 28 35 2a 31 30 32  34 29 20 8c 20 f2 6d 65  |%>(5*1024) . .me|
00014c20  73 73 61 67 65 28 30 2c  22 4d 65 6e 75 20 74 72  |ssage(0,"Menu tr|
00014c30  65 65 20 68 61 73 20 72  75 6e 20 6f 75 74 20 6f  |ee has run out o|
00014c40  66 20 72 6f 6f 6d 22 29  0d 51 ea 47 e7 20 28 28  |f room").Q.G. ((|
00014c50  4d 45 4e 41 44 25 28 4d  4e 25 29 21 31 36 29 2d  |MENAD%(MN%)!16)-|
00014c60  33 32 29 3c 28 a9 28 49  54 24 29 2a 31 36 29 20  |32)<(.(IT$)*16) |
00014c70  8c 20 4d 45 4e 41 44 25  28 4d 4e 25 29 21 31 36  |. MENAD%(MN%)!16|
00014c80  3d 28 a9 28 49 54 24 29  2a 31 36 29 2b 33 32 0d  |=(.(IT$)*16)+32.|
00014c90  51 f4 05 e1 0d 51 fe 04  0d 52 08 53 dd f2 73 68  |Q....Q...R.S..sh|
00014ca0  61 64 65 69 74 65 6d 28  4d 4e 25 2c 49 4e 25 29  |adeitem(MN%,IN%)|
00014cb0  3a 54 41 44 25 3d 4d 45  4e 41 44 25 28 4d 4e 25  |:TAD%=MENAD%(MN%|
00014cc0  29 2b 32 38 2b 28 28 49  4e 25 2d 31 29 2a 32 34  |)+28+((IN%-1)*24|
00014cd0  29 3a 54 41 44 25 21 38  3d 28 54 41 44 25 21 38  |):TAD%!8=(TAD%!8|
00014ce0  29 2b 28 31 3c 3c 32 32  29 3a e1 0d 52 12 04 0d  |)+(1<<22):..R...|
00014cf0  52 1c 4a dd f2 74 69 63  6b 69 74 65 6d 28 4d 4e  |R.J..tickitem(MN|
00014d00  25 2c 49 4e 25 29 3a 54  41 44 25 3d 4d 45 4e 41  |%,IN%):TAD%=MENA|
00014d10  44 25 28 4d 4e 25 29 2b  32 38 2b 28 28 49 4e 25  |D%(MN%)+28+((IN%|
00014d20  2d 31 29 2a 32 34 29 3a  21 54 41 44 25 3d 28 21  |-1)*24):!TAD%=(!|
00014d30  54 41 44 25 29 2b 31 3a  e1 0d 52 26 04 0d 52 30  |TAD%)+1:..R&..R0|
00014d40  12 dd f2 6d 65 6e 75 3a  c8 99 36 2c 32 32 39 0d  |...menu:..6,229.|
00014d50  52 3a 34 c8 99 20 22 57  69 6d 70 5f 47 65 74 50  |R:4.. "Wimp_GetP|
00014d60  6f 69 6e 74 65 72 49 6e  66 6f 22 2c 2c 42 4c 4b  |ointerInfo",,BLK|
00014d70  25 2b 31 32 38 3a 4d 42  55 25 3d 42 4c 4b 25 21  |%+128:MBU%=BLK%!|
00014d80  31 33 36 0d 52 44 31 c8  99 20 22 57 69 6d 70 5f  |136.RD1.. "Wimp_|
00014d90  44 65 63 6f 64 65 4d 65  6e 75 22 2c 2c 4d 45 4e  |DecodeMenu",,MEN|
00014da0  41 44 25 28 4d 45 4e 4f  25 29 2c 42 4c 4b 25 2c  |AD%(MENO%),BLK%,|
00014db0  53 45 4c 25 0d 52 4e 0a  44 53 49 25 3d a3 0d 52  |SEL%.RN.DSI%=..R|
00014dc0  58 1b f4 20 56 44 55 34  3a 50 52 49 4e 54 20 24  |X.. VDU4:PRINT $|
00014dd0  53 45 4c 25 3a 56 44 55  35 0d 52 62 0e 53 45 4c  |SEL%:VDU5.Rb.SEL|
00014de0  24 3d 24 53 45 4c 25 0d  52 6c 56 e7 20 24 53 45  |$=$SEL%.RlV. $SE|
00014df0  4c 25 3d 22 51 75 69 74  22 20 8c 20 f2 6b 69 6c  |L%="Quit" . .kil|
00014e00  6c 66 3a 46 55 53 45 25  3d 2d 31 3a f2 77 69 6e  |lf:FUSE%=-1:.win|
00014e10  64 6e 61 6d 65 28 32 2c  50 49 43 24 29 3a f2 66  |dname(2,PIC$):.f|
00014e20  6f 72 63 65 64 72 61 77  6d 61 69 6e 3a e7 20 a4  |orcedrawmain:. .|
00014e30  71 75 69 74 79 6e 20 8c  20 f2 64 69 65 0d 52 76  |quityn . .die.Rv|
00014e40  44 e7 20 24 53 45 4c 25  3d 22 50 61 69 6e 74 22  |D. $SEL%="Paint"|
00014e50  20 8c 20 44 53 49 25 3d  b9 3a f2 6b 69 6c 6c 66  | . DSI%=.:.killf|
00014e60  3a 46 55 53 45 25 3d 2d  31 3a f2 68 65 6c 70 3a  |:FUSE%=-1:.help:|
00014e70  f2 77 69 6e 64 6e 61 6d  65 28 32 2c 50 49 43 24  |.windname(2,PIC$|
00014e80  29 0d 52 80 32 e7 20 24  53 45 4c 25 3d 22 50 61  |).R.2. $SEL%="Pa|
00014e90  69 6e 74 2e 53 68 6f 77  20 70 61 6c 65 74 74 65  |int.Show palette|
00014ea0  22 20 8c 20 44 53 49 25  3d b9 3a f2 6f 70 65 6e  |" . DSI%=.:.open|
00014eb0  70 61 6c 0d 52 8a 56 e7  20 24 53 45 4c 25 3d 22  |pal.R.V. $SEL%="|
00014ec0  50 61 69 6e 74 2e 50 69  78 65 6c 73 22 20 8c 20  |Paint.Pixels" . |
00014ed0  44 53 49 25 3d b9 3a f2  6b 69 6c 6c 66 3a 46 55  |DSI%=.:.killf:FU|
00014ee0  53 45 25 3d 30 3a f2 68  65 6c 70 3a f2 77 69 6e  |SE%=0:.help:.win|
00014ef0  64 6e 61 6d 65 28 32 2c  50 49 43 24 2b 22 20 5b  |dname(2,PIC$+" [|
00014f00  70 69 78 65 6c 73 5d 22  29 0d 52 94 5e e7 20 24  |pixels]").R.^. $|
00014f10  53 45 4c 25 3d 22 50 61  69 6e 74 2e 53 6b 65 74  |SEL%="Paint.Sket|
00014f20  63 68 22 20 8c 20 44 53  49 25 3d b9 3a f2 6b 69  |ch" . DSI%=.:.ki|
00014f30  6c 6c 66 3a 46 55 53 45  25 3d 31 3a 46 55 53 54  |llf:FUSE%=1:FUST|
00014f40  25 3d 30 3a f2 68 65 6c  70 3a f2 77 69 6e 64 6e  |%=0:.help:.windn|
00014f50  61 6d 65 28 32 2c 50 49  43 24 2b 22 20 5b 73 6b  |ame(2,PIC$+" [sk|
00014f60  65 74 63 68 5d 22 29 0d  52 9e 68 e7 20 24 53 45  |etch]").R.h. $SE|
00014f70  4c 25 3d 22 50 61 69 6e  74 2e 52 75 62 62 65 72  |L%="Paint.Rubber|
00014f80  20 6c 69 6e 65 22 20 8c  20 44 53 49 25 3d b9 3a  | line" . DSI%=.:|
00014f90  f2 6b 69 6c 6c 66 3a 46  55 53 45 25 3d 32 3a 46  |.killf:FUSE%=2:F|
00014fa0  55 53 54 25 3d 30 3a f2  68 65 6c 70 3a f2 77 69  |UST%=0:.help:.wi|
00014fb0  6e 64 6e 61 6d 65 28 32  2c 50 49 43 24 2b 22 20  |ndname(2,PIC$+" |
00014fc0  5b 72 75 62 62 65 72 20  6c 69 6e 65 5d 22 29 0d  |[rubber line]").|
00014fd0  52 a8 6d e7 20 24 53 45  4c 25 3d 22 47 72 69 64  |R.m. $SEL%="Grid|
00014fe0  2e 53 68 6f 77 20 67 72  69 64 22 20 8c 20 44 53  |.Show grid" . DS|
00014ff0  49 25 3d b9 3a 47 52 43  4f 25 3d 50 41 4c 54 41  |I%=.:GRCO%=PALTA|
00015000  42 25 3f 28 43 4f 4c 25  2a 32 29 3a 47 52 54 49  |B%?(COL%*2):GRTI|
00015010  25 3d 50 41 4c 54 41 42  25 3f 28 28 43 4f 4c 25  |%=PALTAB%?((COL%|
00015020  2a 32 29 2b 31 29 3a f2  66 6f 72 63 65 64 72 61  |*2)+1):.forcedra|
00015030  77 6d 61 69 6e 3a e5 20  8d 70 7c 52 0d 52 b2 44  |wmain:. .p|R.R.D|
00015040  e7 20 24 53 45 4c 25 3d  22 47 72 69 64 2e 48 69  |. $SEL%="Grid.Hi|
00015050  64 65 20 67 72 69 64 22  20 8c 20 44 53 49 25 3d  |de grid" . DSI%=|
00015060  b9 3a 47 52 43 4f 25 3d  2d 31 3a f2 66 6f 72 63  |.:GRCO%=-1:.forc|
00015070  65 64 72 61 77 6d 61 69  6e 3a e5 20 8d 70 7c 52  |edrawmain:. .p|R|
00015080  0d 52 bc 2d e7 20 24 53  45 4c 25 3d 22 5a 6f 6f  |.R.-. $SEL%="Zoo|
00015090  6d 22 20 8c 20 44 53 49  25 3d b9 3a 5a 4f 4f 4d  |m" . DSI%=.:ZOOM|
000150a0  25 3d 31 3a f2 7a 6f 6f  6d 73 69 7a 65 0d 52 c6  |%=1:.zoomsize.R.|
000150b0  0e e3 4c 25 3d 32 20 b8  20 31 36 0d 52 d0 48 e7  |..L%=2 . 16.R.H.|
000150c0  20 24 53 45 4c 25 3d 22  5a 6f 6f 6d 2e 5a 6f 6f  | $SEL%="Zoom.Zoo|
000150d0  6d 20 78 22 2b c3 4c 25  20 8c 20 44 53 49 25 3d  |m x"+.L% . DSI%=|
000150e0  b9 3a 5a 4f 4f 4d 25 3d  4c 25 3a f2 7a 6f 6f 6d  |.:ZOOM%=L%:.zoom|
000150f0  73 69 7a 65 3a f2 66 6f  72 63 65 64 72 61 77 6d  |size:.forcedrawm|
00015100  61 69 6e 0d 52 da 05 ed  0d 52 e4 72 e7 20 24 53  |ain.R....R.r. $S|
00015110  45 4c 25 3d 22 50 61 69  6e 74 2e 41 69 72 62 72  |EL%="Paint.Airbr|
00015120  75 73 68 2e 2e 2e 22 20  8c 20 f2 6b 69 6c 6c 66  |ush..." . .killf|
00015130  3a 44 53 49 25 3d b9 3a  f2 6f 70 65 6e 77 69 6e  |:DSI%=.:.openwin|
00015140  64 28 34 29 3a 46 55 53  45 25 3d 33 3a 46 55 53  |d(4):FUSE%=3:FUS|
00015150  54 25 3d 30 3a f2 68 65  6c 70 3a f2 77 69 6e 64  |T%=0:.help:.wind|
00015160  6e 61 6d 65 28 32 2c 50  49 43 24 2b 22 20 5b 61  |name(2,PIC$+" [a|
00015170  69 72 62 72 75 73 68 5d  22 29 0d 52 ee 76 e7 20  |irbrush]").R.v. |
00015180  24 53 45 4c 25 3d 22 50  61 69 6e 74 2e 50 61 69  |$SEL%="Paint.Pai|
00015190  6e 74 62 72 75 73 68 2e  2e 2e 22 20 8c 20 f2 6b  |ntbrush..." . .k|
000151a0  69 6c 6c 66 3a 44 53 49  25 3d b9 3a f2 6f 70 65  |illf:DSI%=.:.ope|
000151b0  6e 77 69 6e 64 28 35 29  3a 46 55 53 45 25 3d 34  |nwind(5):FUSE%=4|
000151c0  3a 46 55 53 54 25 3d 30  3a f2 68 65 6c 70 3a f2  |:FUST%=0:.help:.|
000151d0  77 69 6e 64 6e 61 6d 65  28 32 2c 50 49 43 24 2b  |windname(2,PIC$+|
000151e0  22 20 5b 70 61 69 6e 74  62 72 75 73 68 5d 22 29  |" [paintbrush]")|
000151f0  0d 52 f8 6f e7 20 24 53  45 4c 25 3d 22 53 68 61  |.R.o. $SEL%="Sha|
00015200  70 65 73 2e 57 69 72 65  20 72 65 63 74 61 6e 67  |pes.Wire rectang|
00015210  6c 65 22 20 8c 20 44 53  49 25 3d b9 3a f2 6b 69  |le" . DSI%=.:.ki|
00015220  6c 6c 66 3a 46 55 53 45  25 3d 35 3a 46 55 53 54  |llf:FUSE%=5:FUST|
00015230  25 3d 30 3a f2 68 65 6c  70 3a f2 77 69 6e 64 6e  |%=0:.help:.windn|
00015240  61 6d 65 28 32 2c 50 49  43 24 2b 22 20 5b 77 69  |ame(2,PIC$+" [wi|
00015250  72 65 20 72 65 63 74 61  6e 67 6c 65 5d 22 29 0d  |re rectangle]").|
00015260  53 02 71 e7 20 24 53 45  4c 25 3d 22 53 68 61 70  |S.q. $SEL%="Shap|
00015270  65 73 2e 53 6f 6c 69 64  20 72 65 63 74 61 6e 67  |es.Solid rectang|
00015280  6c 65 22 20 8c 20 44 53  49 25 3d b9 3a f2 6b 69  |le" . DSI%=.:.ki|
00015290  6c 6c 66 3a 46 55 53 45  25 3d 36 3a 46 55 53 54  |llf:FUSE%=6:FUST|
000152a0  25 3d 30 3a f2 68 65 6c  70 3a f2 77 69 6e 64 6e  |%=0:.help:.windn|
000152b0  61 6d 65 28 32 2c 50 49  43 24 2b 22 20 5b 73 6f  |ame(2,PIC$+" [so|
000152c0  6c 69 64 20 72 65 63 74  61 6e 67 6c 65 5d 22 29  |lid rectangle]")|
000152d0  0d 53 0c 33 e7 20 24 53  45 4c 25 3d 22 47 72 69  |.S.3. $SEL%="Gri|
000152e0  64 2e 47 72 69 64 20 6c  6f 63 6b 22 20 8c 20 44  |d.Grid lock" . D|
000152f0  53 49 25 3d b9 3a 47 52  4c 4f 25 3d ac 20 47 52  |SI%=.:GRLO%=. GR|
00015300  4c 4f 25 0d 53 16 59 e7  20 24 53 45 4c 25 3d 22  |LO%.S.Y. $SEL%="|
00015310  47 72 69 64 2e 50 72 65  73 65 74 20 67 72 69 64  |Grid.Preset grid|
00015320  73 2e 32 78 32 20 67 72  69 64 22 20 8c 20 44 53  |s.2x2 grid" . DS|
00015330  49 25 3d b9 3a 47 52 57  49 25 3d 32 3a 47 52 48  |I%=.:GRWI%=2:GRH|
00015340  45 25 3d 32 3a f2 73 65  74 67 72 69 63 3a f2 66  |E%=2:.setgric:.f|
00015350  6f 72 63 65 64 72 61 77  6d 61 69 6e 0d 53 20 59  |orcedrawmain.S Y|
00015360  e7 20 24 53 45 4c 25 3d  22 47 72 69 64 2e 50 72  |. $SEL%="Grid.Pr|
00015370  65 73 65 74 20 67 72 69  64 73 2e 33 78 33 20 67  |eset grids.3x3 g|
00015380  72 69 64 22 20 8c 20 44  53 49 25 3d b9 3a 47 52  |rid" . DSI%=.:GR|
00015390  57 49 25 3d 33 3a 47 52  48 45 25 3d 33 3a f2 73  |WI%=3:GRHE%=3:.s|
000153a0  65 74 67 72 69 63 3a f2  66 6f 72 63 65 64 72 61  |etgric:.forcedra|
000153b0  77 6d 61 69 6e 0d 53 2a  59 e7 20 24 53 45 4c 25  |wmain.S*Y. $SEL%|
000153c0  3d 22 47 72 69 64 2e 50  72 65 73 65 74 20 67 72  |="Grid.Preset gr|
000153d0  69 64 73 2e 34 78 34 20  67 72 69 64 22 20 8c 20  |ids.4x4 grid" . |
000153e0  44 53 49 25 3d b9 3a 47  52 57 49 25 3d 34 3a 47  |DSI%=.:GRWI%=4:G|
000153f0  52 48 45 25 3d 34 3a f2  73 65 74 67 72 69 63 3a  |RHE%=4:.setgric:|
00015400  f2 66 6f 72 63 65 64 72  61 77 6d 61 69 6e 0d 53  |.forcedrawmain.S|
00015410  34 59 e7 20 24 53 45 4c  25 3d 22 47 72 69 64 2e  |4Y. $SEL%="Grid.|
00015420  50 72 65 73 65 74 20 67  72 69 64 73 2e 36 78 36  |Preset grids.6x6|
00015430  20 67 72 69 64 22 20 8c  20 44 53 49 25 3d b9 3a  | grid" . DSI%=.:|
00015440  47 52 57 49 25 3d 36 3a  47 52 48 45 25 3d 36 3a  |GRWI%=6:GRHE%=6:|
00015450  f2 73 65 74 67 72 69 63  3a f2 66 6f 72 63 65 64  |.setgric:.forced|
00015460  72 61 77 6d 61 69 6e 0d  53 3e 59 e7 20 24 53 45  |rawmain.S>Y. $SE|
00015470  4c 25 3d 22 47 72 69 64  2e 50 72 65 73 65 74 20  |L%="Grid.Preset |
00015480  67 72 69 64 73 2e 38 78  38 20 67 72 69 64 22 20  |grids.8x8 grid" |
00015490  8c 20 44 53 49 25 3d b9  3a 47 52 57 49 25 3d 38  |. DSI%=.:GRWI%=8|
000154a0  3a 47 52 48 45 25 3d 38  3a f2 73 65 74 67 72 69  |:GRHE%=8:.setgri|
000154b0  63 3a f2 66 6f 72 63 65  64 72 61 77 6d 61 69 6e  |c:.forcedrawmain|
000154c0  0d 53 48 5d e7 20 24 53  45 4c 25 3d 22 47 72 69  |.SH]. $SEL%="Gri|
000154d0  64 2e 50 72 65 73 65 74  20 67 72 69 64 73 2e 31  |d.Preset grids.1|
000154e0  36 78 31 36 20 67 72 69  64 22 20 8c 20 44 53 49  |6x16 grid" . DSI|
000154f0  25 3d b9 3a 47 52 57 49  25 3d 31 36 3a 47 52 48  |%=.:GRWI%=16:GRH|
00015500  45 25 3d 31 36 3a f2 73  65 74 67 72 69 63 3a f2  |E%=16:.setgric:.|
00015510  66 6f 72 63 65 64 72 61  77 6d 61 69 6e 0d 53 52  |forcedrawmain.SR|
00015520  5d e7 20 24 53 45 4c 25  3d 22 47 72 69 64 2e 50  |]. $SEL%="Grid.P|
00015530  72 65 73 65 74 20 67 72  69 64 73 2e 33 32 78 33  |reset grids.32x3|
00015540  32 20 67 72 69 64 22 20  8c 20 44 53 49 25 3d b9  |2 grid" . DSI%=.|
00015550  3a 47 52 57 49 25 3d 33  32 3a 47 52 48 45 25 3d  |:GRWI%=32:GRHE%=|
00015560  33 32 3a f2 73 65 74 67  72 69 63 3a f2 66 6f 72  |32:.setgric:.for|
00015570  63 65 64 72 61 77 6d 61  69 6e 0d 53 5c 5d e7 20  |cedrawmain.S\]. |
00015580  24 53 45 4c 25 3d 22 47  72 69 64 2e 50 72 65 73  |$SEL%="Grid.Pres|
00015590  65 74 20 67 72 69 64 73  2e 33 32 78 31 36 20 67  |et grids.32x16 g|
000155a0  72 69 64 22 20 8c 20 44  53 49 25 3d b9 3a 47 52  |rid" . DSI%=.:GR|
000155b0  57 49 25 3d 33 32 3a 47  52 48 45 25 3d 31 36 3a  |WI%=32:GRHE%=16:|
000155c0  f2 73 65 74 67 72 69 63  3a f2 66 6f 72 63 65 64  |.setgric:.forced|
000155d0  72 61 77 6d 61 69 6e 0d  53 66 69 e7 20 24 53 45  |rawmain.Sfi. $SE|
000155e0  4c 25 3d 22 53 68 61 70  65 73 2e 57 69 72 65 20  |L%="Shapes.Wire |
000155f0  63 69 72 63 6c 65 22 20  8c 20 44 53 49 25 3d b9  |circle" . DSI%=.|
00015600  3a f2 6b 69 6c 6c 66 3a  46 55 53 45 25 3d 37 3a  |:.killf:FUSE%=7:|
00015610  46 55 53 54 25 3d 30 3a  f2 68 65 6c 70 3a f2 77  |FUST%=0:.help:.w|
00015620  69 6e 64 6e 61 6d 65 28  32 2c 50 49 43 24 2b 22  |indname(2,PIC$+"|
00015630  20 5b 77 69 72 65 20 63  69 72 63 6c 65 5d 22 29  | [wire circle]")|
00015640  0d 53 70 6b e7 20 24 53  45 4c 25 3d 22 53 68 61  |.Spk. $SEL%="Sha|
00015650  70 65 73 2e 53 6f 6c 69  64 20 63 69 72 63 6c 65  |pes.Solid circle|
00015660  22 20 8c 20 44 53 49 25  3d b9 3a f2 6b 69 6c 6c  |" . DSI%=.:.kill|
00015670  66 3a 46 55 53 45 25 3d  38 3a 46 55 53 54 25 3d  |f:FUSE%=8:FUST%=|
00015680  30 3a f2 68 65 6c 70 3a  f2 77 69 6e 64 6e 61 6d  |0:.help:.windnam|
00015690  65 28 32 2c 50 49 43 24  2b 22 20 5b 73 6f 6c 69  |e(2,PIC$+" [soli|
000156a0  64 20 63 69 72 63 6c 65  5d 22 29 0d 53 7a 6d e7  |d circle]").Szm.|
000156b0  20 24 53 45 4c 25 3d 22  53 68 61 70 65 73 2e 57  | $SEL%="Shapes.W|
000156c0  69 72 65 20 74 72 69 61  6e 67 6c 65 22 20 8c 20  |ire triangle" . |
000156d0  44 53 49 25 3d b9 3a f2  6b 69 6c 6c 66 3a 46 55  |DSI%=.:.killf:FU|
000156e0  53 45 25 3d 39 3a 46 55  53 54 25 3d 30 3a f2 68  |SE%=9:FUST%=0:.h|
000156f0  65 6c 70 3a f2 77 69 6e  64 6e 61 6d 65 28 32 2c  |elp:.windname(2,|
00015700  50 49 43 24 2b 22 20 5b  77 69 72 65 20 74 72 69  |PIC$+" [wire tri|
00015710  61 6e 67 6c 65 5d 22 29  0d 53 84 70 e7 20 24 53  |angle]").S.p. $S|
00015720  45 4c 25 3d 22 53 68 61  70 65 73 2e 53 6f 6c 69  |EL%="Shapes.Soli|
00015730  64 20 74 72 69 61 6e 67  6c 65 22 20 8c 20 44 53  |d triangle" . DS|
00015740  49 25 3d b9 3a f2 6b 69  6c 6c 66 3a 46 55 53 45  |I%=.:.killf:FUSE|
00015750  25 3d 31 30 3a 46 55 53  54 25 3d 30 3a f2 68 65  |%=10:FUST%=0:.he|
00015760  6c 70 3a f2 77 69 6e 64  6e 61 6d 65 28 32 2c 50  |lp:.windname(2,P|
00015770  49 43 24 2b 22 20 5b 73  6f 6c 69 64 20 74 72 69  |IC$+" [solid tri|
00015780  61 6e 67 6c 65 5d 22 29  0d 53 8e 6c e7 20 24 53  |angle]").S.l. $S|
00015790  45 4c 25 3d 22 53 68 61  70 65 73 2e 57 69 72 65  |EL%="Shapes.Wire|
000157a0  20 65 6c 6c 69 70 73 65  22 20 8c 20 44 53 49 25  | ellipse" . DSI%|
000157b0  3d b9 3a f2 6b 69 6c 6c  66 3a 46 55 53 45 25 3d  |=.:.killf:FUSE%=|
000157c0  31 31 3a 46 55 53 54 25  3d 30 3a f2 68 65 6c 70  |11:FUST%=0:.help|
000157d0  3a f2 77 69 6e 64 6e 61  6d 65 28 32 2c 50 49 43  |:.windname(2,PIC|
000157e0  24 2b 22 20 5b 77 69 72  65 20 65 6c 6c 69 70 73  |$+" [wire ellips|
000157f0  65 5d 22 29 0d 53 98 6e  e7 20 24 53 45 4c 25 3d  |e]").S.n. $SEL%=|
00015800  22 53 68 61 70 65 73 2e  53 6f 6c 69 64 20 65 6c  |"Shapes.Solid el|
00015810  6c 69 70 73 65 22 20 8c  20 44 53 49 25 3d b9 3a  |lipse" . DSI%=.:|
00015820  f2 6b 69 6c 6c 66 3a 46  55 53 45 25 3d 31 32 3a  |.killf:FUSE%=12:|
00015830  46 55 53 54 25 3d 30 3a  f2 68 65 6c 70 3a f2 77  |FUST%=0:.help:.w|
00015840  69 6e 64 6e 61 6d 65 28  32 2c 50 49 43 24 2b 22  |indname(2,PIC$+"|
00015850  20 5b 73 6f 6c 69 64 20  65 6c 6c 69 70 73 65 5d  | [solid ellipse]|
00015860  22 29 0d 53 a2 78 e7 20  24 53 45 4c 25 3d 22 53  |").S.x. $SEL%="S|
00015870  68 61 70 65 73 2e 57 69  72 65 20 70 61 72 61 6c  |hapes.Wire paral|
00015880  6c 65 6c 6f 67 72 61 6d  22 20 8c 20 44 53 49 25  |lelogram" . DSI%|
00015890  3d b9 3a f2 6b 69 6c 6c  66 3a 46 55 53 45 25 3d  |=.:.killf:FUSE%=|
000158a0  31 33 3a 46 55 53 54 25  3d 30 3a f2 68 65 6c 70  |13:FUST%=0:.help|
000158b0  3a f2 77 69 6e 64 6e 61  6d 65 28 32 2c 50 49 43  |:.windname(2,PIC|
000158c0  24 2b 22 20 5b 77 69 72  65 20 70 61 72 61 6c 6c  |$+" [wire parall|
000158d0  65 6c 6f 67 72 61 6d 5d  22 29 0d 53 ac 7a e7 20  |elogram]").S.z. |
000158e0  24 53 45 4c 25 3d 22 53  68 61 70 65 73 2e 53 6f  |$SEL%="Shapes.So|
000158f0  6c 69 64 20 70 61 72 61  6c 6c 65 6c 6f 67 72 61  |lid parallelogra|
00015900  6d 22 20 8c 20 44 53 49  25 3d b9 3a f2 6b 69 6c  |m" . DSI%=.:.kil|
00015910  6c 66 3a 46 55 53 45 25  3d 31 34 3a 46 55 53 54  |lf:FUSE%=14:FUST|
00015920  25 3d 30 3a f2 68 65 6c  70 3a f2 77 69 6e 64 6e  |%=0:.help:.windn|
00015930  61 6d 65 28 32 2c 50 49  43 24 2b 22 20 5b 73 6f  |ame(2,PIC$+" [so|
00015940  6c 69 64 20 70 61 72 61  6c 6c 65 6c 6f 67 72 61  |lid parallelogra|
00015950  6d 5d 22 29 0d 53 b6 64  e7 20 24 53 45 4c 25 3d  |m]").S.d. $SEL%=|
00015960  22 53 68 61 70 65 73 2e  57 69 72 65 20 61 72 63  |"Shapes.Wire arc|
00015970  22 20 8c 20 44 53 49 25  3d b9 3a f2 6b 69 6c 6c  |" . DSI%=.:.kill|
00015980  66 3a 46 55 53 45 25 3d  31 35 3a 46 55 53 54 25  |f:FUSE%=15:FUST%|
00015990  3d 30 3a f2 68 65 6c 70  3a f2 77 69 6e 64 6e 61  |=0:.help:.windna|
000159a0  6d 65 28 32 2c 50 49 43  24 2b 22 20 5b 77 69 72  |me(2,PIC$+" [wir|
000159b0  65 20 61 72 63 5d 22 29  0d 53 c0 6b e7 20 24 53  |e arc]").S.k. $S|
000159c0  45 4c 25 3d 22 53 68 61  70 65 73 2e 53 6f 6c 69  |EL%="Shapes.Soli|
000159d0  64 20 73 65 63 74 6f 72  22 20 8c 20 44 53 49 25  |d sector" . DSI%|
000159e0  3d b9 3a f2 6b 69 6c 6c  66 3a 46 55 53 45 25 3d  |=.:.killf:FUSE%=|
000159f0  31 36 3a 46 55 53 54 25  3d 30 3a f2 68 65 6c 70  |16:FUST%=0:.help|
00015a00  3a f2 77 69 6e 64 6e 61  6d 65 28 32 2c 50 49 43  |:.windname(2,PIC|
00015a10  24 2b 22 20 5b 77 69 72  65 20 73 65 63 74 6f 72  |$+" [wire sector|
00015a20  5d 22 29 0d 53 ca 6d e7  20 24 53 45 4c 25 3d 22  |]").S.m. $SEL%="|
00015a30  53 68 61 70 65 73 2e 53  6f 6c 69 64 20 73 65 67  |Shapes.Solid seg|
00015a40  6d 65 6e 74 22 20 8c 20  44 53 49 25 3d b9 3a f2  |ment" . DSI%=.:.|
00015a50  6b 69 6c 6c 66 3a 46 55  53 45 25 3d 31 37 3a 46  |killf:FUSE%=17:F|
00015a60  55 53 54 25 3d 30 3a f2  68 65 6c 70 3a f2 77 69  |UST%=0:.help:.wi|
00015a70  6e 64 6e 61 6d 65 28 32  2c 50 49 43 24 2b 22 20  |ndname(2,PIC$+" |
00015a80  5b 77 69 72 65 20 73 65  67 6d 65 6e 74 5d 22 29  |[wire segment]")|
00015a90  0d 53 d4 82 e7 20 24 53  45 4c 25 3d 22 4d 61 6e  |.S... $SEL%="Man|
00015aa0  69 70 75 6c 61 74 65 2e  4d 6f 76 65 20 61 72 65  |ipulate.Move are|
00015ab0  61 2e 2e 2e 22 20 8c 20  44 53 49 25 3d b9 3a f2  |a..." . DSI%=.:.|
00015ac0  6b 69 6c 6c 66 3a f2 73  70 69 6e 69 74 3a 46 55  |killf:.spinit:FU|
00015ad0  53 45 25 3d 31 38 3a 46  55 53 54 25 3d 30 3a f2  |SE%=18:FUST%=0:.|
00015ae0  68 65 6c 70 3a f2 6f 70  65 6e 77 69 6e 64 28 38  |help:.openwind(8|
00015af0  29 3a f2 77 69 6e 64 6e  61 6d 65 28 32 2c 50 49  |):.windname(2,PI|
00015b00  43 24 2b 22 20 5b 6d 6f  76 65 20 61 72 65 61 5d  |C$+" [move area]|
00015b10  22 29 0d 53 de 82 e7 20  24 53 45 4c 25 3d 22 4d  |").S... $SEL%="M|
00015b20  61 6e 69 70 75 6c 61 74  65 2e 43 6f 70 79 20 61  |anipulate.Copy a|
00015b30  72 65 61 2e 2e 2e 22 20  8c 20 44 53 49 25 3d b9  |rea..." . DSI%=.|
00015b40  3a f2 6b 69 6c 6c 66 3a  f2 73 70 69 6e 69 74 3a  |:.killf:.spinit:|
00015b50  46 55 53 45 25 3d 31 39  3a 46 55 53 54 25 3d 30  |FUSE%=19:FUST%=0|
00015b60  3a f2 68 65 6c 70 3a f2  6f 70 65 6e 77 69 6e 64  |:.help:.openwind|
00015b70  28 38 29 3a f2 77 69 6e  64 6e 61 6d 65 28 32 2c  |(8):.windname(2,|
00015b80  50 49 43 24 2b 22 20 5b  63 6f 70 79 20 61 72 65  |PIC$+" [copy are|
00015b90  61 5d 22 29 0d 53 e8 76  e7 20 24 53 45 4c 25 3d  |a]").S.v. $SEL%=|
00015ba0  22 4d 61 6e 69 70 75 6c  61 74 65 2e 4d 69 72 72  |"Manipulate.Mirr|
00015bb0  6f 72 20 61 72 65 61 22  20 8c 20 44 53 49 25 3d  |or area" . DSI%=|
00015bc0  b9 3a f2 6b 69 6c 6c 66  3a f2 73 70 69 6e 69 74  |.:.killf:.spinit|
00015bd0  3a 46 55 53 45 25 3d 32  30 3a 46 55 53 54 25 3d  |:FUSE%=20:FUST%=|
00015be0  30 3a f2 68 65 6c 70 3a  f2 77 69 6e 64 6e 61 6d  |0:.help:.windnam|
00015bf0  65 28 32 2c 50 49 43 24  2b 22 20 5b 6d 69 72 72  |e(2,PIC$+" [mirr|
00015c00  6f 72 20 61 72 65 61 5d  22 29 0d 53 f2 76 e7 20  |or area]").S.v. |
00015c10  24 53 45 4c 25 3d 22 4d  61 6e 69 70 75 6c 61 74  |$SEL%="Manipulat|
00015c20  65 2e 49 6e 76 65 72 74  20 61 72 65 61 22 20 8c  |e.Invert area" .|
00015c30  20 44 53 49 25 3d b9 3a  f2 6b 69 6c 6c 66 3a f2  | DSI%=.:.killf:.|
00015c40  73 70 69 6e 69 74 3a 46  55 53 45 25 3d 32 31 3a  |spinit:FUSE%=21:|
00015c50  46 55 53 54 25 3d 30 3a  f2 68 65 6c 70 3a f2 77  |FUST%=0:.help:.w|
00015c60  69 6e 64 6e 61 6d 65 28  32 2c 50 49 43 24 2b 22  |indname(2,PIC$+"|
00015c70  20 5b 69 6e 76 65 72 74  20 61 72 65 61 5d 22 29  | [invert area]")|
00015c80  0d 53 fc 6c e7 20 24 53  45 4c 25 3d 22 4d 61 6e  |.S.l. $SEL%="Man|
00015c90  69 70 75 6c 61 74 65 2e  53 74 72 69 70 20 61 72  |ipulate.Strip ar|
00015ca0  65 61 22 20 8c 20 44 53  49 25 3d b9 3a f2 6b 69  |ea" . DSI%=.:.ki|
00015cb0  6c 6c 66 3a 46 55 53 45  25 3d 32 32 3a 46 55 53  |llf:FUSE%=22:FUS|
00015cc0  54 25 3d 30 3a f2 68 65  6c 70 3a f2 77 69 6e 64  |T%=0:.help:.wind|
00015cd0  6e 61 6d 65 28 32 2c 50  49 43 24 2b 22 20 5b 73  |name(2,PIC$+" [s|
00015ce0  74 72 69 70 20 61 72 65  61 5d 22 29 0d 54 06 88  |trip area]").T..|
00015cf0  e7 20 24 53 45 4c 25 3d  22 4d 61 6e 69 70 75 6c  |. $SEL%="Manipul|
00015d00  61 74 65 2e 53 63 61 6c  65 20 74 6f 20 66 69 74  |ate.Scale to fit|
00015d10  2e 2e 2e 22 20 8c 20 44  53 49 25 3d b9 3a f2 6b  |..." . DSI%=.:.k|
00015d20  69 6c 6c 66 3a 46 55 53  45 25 3d 32 33 3a 46 55  |illf:FUSE%=23:FU|
00015d30  53 54 25 3d 30 3a 46 55  43 4f 25 3d 30 3a f2 68  |ST%=0:FUCO%=0:.h|
00015d40  65 6c 70 3a f2 6f 70 65  6e 77 69 6e 64 28 38 29  |elp:.openwind(8)|
00015d50  3a f2 77 69 6e 64 6e 61  6d 65 28 32 2c 50 49 43  |:.windname(2,PIC|
00015d60  24 2b 22 20 5b 73 63 61  6c 65 20 74 6f 20 66 69  |$+" [scale to fi|
00015d70  74 5d 22 29 0d 54 10 3a  e7 20 24 53 45 4c 25 3d  |t]").T.:. $SEL%=|
00015d80  22 50 61 69 6e 74 2e 55  6e 73 65 74 20 74 72 61  |"Paint.Unset tra|
00015d90  6e 73 70 61 72 65 6e 74  73 22 20 8c 20 44 53 49  |nsparents" . DSI|
00015da0  25 3d b9 3a f2 75 6e 73  65 74 72 61 73 70 0d 54  |%=.:.unsetrasp.T|
00015db0  1a 36 e7 20 24 53 45 4c  25 3d 22 50 61 69 6e 74  |.6. $SEL%="Paint|
00015dc0  2e 53 65 74 20 74 72 61  6e 73 70 61 72 65 6e 74  |.Set transparent|
00015dd0  73 22 20 8c 20 44 53 49  25 3d b9 3a f2 73 65 74  |s" . DSI%=.:.set|
00015de0  72 61 73 70 0d 54 24 57  e7 20 24 53 45 4c 25 3d  |rasp.T$W. $SEL%=|
00015df0  22 53 70 65 63 69 61 6c  2e 54 72 61 63 65 22 20  |"Special.Trace" |
00015e00  8c 20 44 53 49 25 3d b9  3a f2 6b 69 6c 6c 66 3a  |. DSI%=.:.killf:|
00015e10  46 55 53 45 25 3d 32 34  3a f2 68 65 6c 70 3a f2  |FUSE%=24:.help:.|
00015e20  77 69 6e 64 6e 61 6d 65  28 32 2c 50 49 43 24 2b  |windname(2,PIC$+|
00015e30  22 20 5b 74 72 61 63 65  5d 22 29 0d 54 2e 30 e7  |" [trace]").T.0.|
00015e40  20 24 53 45 4c 25 3d 22  4f 70 74 69 6f 6e 73 2e  | $SEL%="Options.|
00015e50  48 65 6c 70 22 20 8c 20  44 53 49 25 3d b9 3a f2  |Help" . DSI%=.:.|
00015e60  6f 70 65 6e 77 69 6e 64  28 39 29 0d 54 38 88 e7  |openwind(9).T8..|
00015e70  20 24 53 45 4c 25 3d 22  4d 61 6e 69 70 75 6c 61  | $SEL%="Manipula|
00015e80  74 65 2e 50 69 78 65 6c  20 6d 61 70 70 69 6e 67  |te.Pixel mapping|
00015e90  22 20 8c 20 44 53 49 25  3d b9 3a f2 6b 69 6c 6c  |" . DSI%=.:.kill|
00015ea0  66 3a 46 55 53 45 25 3d  32 35 3a 46 55 53 54 25  |f:FUSE%=25:FUST%|
00015eb0  3d 30 3a 46 55 43 4f 25  3d 31 3a f2 68 65 6c 70  |=0:FUCO%=1:.help|
00015ec0  3a f2 77 69 6e 64 6e 61  6d 65 28 32 2c 50 49 43  |:.windname(2,PIC|
00015ed0  24 2b 22 20 5b 70 69 78  65 6c 20 6d 61 70 70 69  |$+" [pixel mappi|
00015ee0  6e 67 5d 22 29 3a 4f 58  25 3d 2d 31 3a 4f 59 25  |ng]"):OX%=-1:OY%|
00015ef0  3d 2d 31 0d 54 42 4b f4  20 2d 2d 2d 2d 2d 2d 2d  |=-1.TBK. -------|
00015f00  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00015f30  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0d 54  |--------------.T|
00015f40  4c 39 e7 20 53 45 4c 24  3d 22 50 61 69 6e 74 2e  |L9. SEL$="Paint.|
00015f50  4c 69 6e 65 20 73 74 79  6c 65 2e 53 6f 6c 69 64  |Line style.Solid|
00015f60  20 6c 69 6e 65 22 20 8c  20 44 53 49 25 3d b9 3a  | line" . DSI%=.:|
00015f70  4c 49 54 59 25 3d 35 0d  54 56 46 e7 20 53 45 4c  |LITY%=5.TVF. SEL|
00015f80  24 3d 22 50 61 69 6e 74  2e 4c 69 6e 65 20 73 74  |$="Paint.Line st|
00015f90  79 6c 65 2e 4c 69 6e 65  20 70 61 74 74 65 72 6e  |yle.Line pattern|
00015fa0  2e 52 65 73 74 61 72 74  65 64 22 20 8c 20 44 53  |.Restarted" . DS|
00015fb0  49 25 3d b9 3a 4c 49 54  59 25 3d 32 31 0d 54 60  |I%=.:LITY%=21.T`|
00015fc0  47 e7 20 53 45 4c 24 3d  22 50 61 69 6e 74 2e 4c  |G. SEL$="Paint.L|
00015fd0  69 6e 65 20 73 74 79 6c  65 2e 4c 69 6e 65 20 70  |ine style.Line p|
00015fe0  61 74 74 65 72 6e 2e 43  6f 6e 74 69 6e 75 6f 75  |attern.Continuou|
00015ff0  73 22 20 8c 20 44 53 49  25 3d b9 3a 4c 49 54 59  |s" . DSI%=.:LITY|
00016000  25 3d 35 33 0d 54 6a 42  e7 20 53 45 4c 24 3d 22  |%=53.TjB. SEL$="|
00016010  50 61 69 6e 74 2e 4c 69  6e 65 20 73 74 79 6c 65  |Paint.Line style|
00016020  2e 4f 76 65 72 77 72 69  74 65 22 20 8c 20 44 53  |.Overwrite" . DS|
00016030  49 25 3d b9 3a 55 53 45  25 3d 28 55 53 45 25 20  |I%=.:USE%=(USE% |
00016040  80 20 31 31 32 29 0d 54  74 3d e7 20 53 45 4c 24  |. 112).Tt=. SEL$|
00016050  3d 22 50 61 69 6e 74 2e  4c 69 6e 65 20 73 74 79  |="Paint.Line sty|
00016060  6c 65 2e 4f 52 22 20 8c  20 44 53 49 25 3d b9 3a  |le.OR" . DSI%=.:|
00016070  55 53 45 25 3d 28 55 53  45 25 20 80 20 31 31 32  |USE%=(USE% . 112|
00016080  29 2b 31 0d 54 7e 3e e7  20 53 45 4c 24 3d 22 50  |)+1.T~>. SEL$="P|
00016090  61 69 6e 74 2e 4c 69 6e  65 20 73 74 79 6c 65 2e  |aint.Line style.|
000160a0  41 4e 44 22 20 8c 20 44  53 49 25 3d b9 3a 55 53  |AND" . DSI%=.:US|
000160b0  45 25 3d 28 55 53 45 25  20 80 20 31 31 32 29 2b  |E%=(USE% . 112)+|
000160c0  32 0d 54 88 3e e7 20 53  45 4c 24 3d 22 50 61 69  |2.T.>. SEL$="Pai|
000160d0  6e 74 2e 4c 69 6e 65 20  73 74 79 6c 65 2e 45 4f  |nt.Line style.EO|
000160e0  52 22 20 8c 20 44 53 49  25 3d b9 3a 55 53 45 25  |R" . DSI%=.:USE%|
000160f0  3d 28 55 53 45 25 20 80  20 31 31 32 29 2b 33 0d  |=(USE% . 112)+3.|
00016100  54 92 41 e7 20 53 45 4c  24 3d 22 50 61 69 6e 74  |T.A. SEL$="Paint|
00016110  2e 4c 69 6e 65 20 73 74  79 6c 65 2e 49 6e 76 65  |.Line style.Inve|
00016120  72 74 22 20 8c 20 44 53  49 25 3d b9 3a 55 53 45  |rt" . DSI%=.:USE|
00016130  25 3d 28 55 53 45 25 20  80 20 31 31 32 29 2b 34  |%=(USE% . 112)+4|
00016140  0d 54 9c 3f e7 20 53 45  4c 24 3d 22 50 61 69 6e  |.T.?. SEL$="Pain|
00016150  74 2e 4c 69 6e 65 20 73  74 79 6c 65 2e 4e 41 4e  |t.Line style.NAN|
00016160  44 22 20 8c 20 44 53 49  25 3d b9 3a 55 53 45 25  |D" . DSI%=.:USE%|
00016170  3d 28 55 53 45 25 20 80  20 31 31 32 29 2b 36 0d  |=(USE% . 112)+6.|
00016180  54 a6 3e e7 20 53 45 4c  24 3d 22 50 61 69 6e 74  |T.>. SEL$="Paint|
00016190  2e 4c 69 6e 65 20 73 74  79 6c 65 2e 4e 4f 52 22  |.Line style.NOR"|
000161a0  20 8c 20 44 53 49 25 3d  b9 3a 55 53 45 25 3d 28  | . DSI%=.:USE%=(|
000161b0  55 53 45 25 20 80 20 31  31 32 29 2b 37 0d 54 b0  |USE% . 112)+7.T.|
000161c0  8e e7 20 53 45 4c 24 3d  22 50 61 69 6e 74 2e 4c  |.. SEL$="Paint.L|
000161d0  69 6e 65 20 73 74 79 6c  65 2e 45 43 46 20 31 22  |ine style.ECF 1"|
000161e0  20 80 20 28 55 53 45 25  20 80 20 31 31 32 29 3d  | . (USE% . 112)=|
000161f0  31 36 20 8c 20 44 53 49  25 3d b9 3a 55 53 45 25  |16 . DSI%=.:USE%|
00016200  3d 28 55 53 45 25 20 80  20 31 35 29 20 8b 20 e7  |=(USE% . 15) . .|
00016210  20 53 45 4c 24 3d 22 50  61 69 6e 74 2e 4c 69 6e  | SEL$="Paint.Lin|
00016220  65 20 73 74 79 6c 65 2e  45 43 46 20 31 22 20 8c  |e style.ECF 1" .|
00016230  20 44 53 49 25 3d b9 3a  55 53 45 25 3d 28 55 53  | DSI%=.:USE%=(US|
00016240  45 25 20 80 20 31 35 29  2b 31 36 0d 54 ba 8e e7  |E% . 15)+16.T...|
00016250  20 53 45 4c 24 3d 22 50  61 69 6e 74 2e 4c 69 6e  | SEL$="Paint.Lin|
00016260  65 20 73 74 79 6c 65 2e  45 43 46 20 32 22 20 80  |e style.ECF 2" .|
00016270  20 28 55 53 45 25 20 80  20 31 31 32 29 3d 33 32  | (USE% . 112)=32|
00016280  20 8c 20 44 53 49 25 3d  b9 3a 55 53 45 25 3d 28  | . DSI%=.:USE%=(|
00016290  55 53 45 25 20 80 20 31  35 29 20 8b 20 e7 20 53  |USE% . 15) . . S|
000162a0  45 4c 24 3d 22 50 61 69  6e 74 2e 4c 69 6e 65 20  |EL$="Paint.Line |
000162b0  73 74 79 6c 65 2e 45 43  46 20 32 22 20 8c 20 44  |style.ECF 2" . D|
000162c0  53 49 25 3d b9 3a 55 53  45 25 3d 28 55 53 45 25  |SI%=.:USE%=(USE%|
000162d0  20 80 20 31 35 29 2b 33  32 0d 54 c4 8e e7 20 53  | . 15)+32.T... S|
000162e0  45 4c 24 3d 22 50 61 69  6e 74 2e 4c 69 6e 65 20  |EL$="Paint.Line |
000162f0  73 74 79 6c 65 2e 45 43  46 20 33 22 20 80 20 28  |style.ECF 3" . (|
00016300  55 53 45 25 20 80 20 31  31 32 29 3d 34 38 20 8c  |USE% . 112)=48 .|
00016310  20 44 53 49 25 3d b9 3a  55 53 45 25 3d 28 55 53  | DSI%=.:USE%=(US|
00016320  45 25 20 80 20 31 35 29  20 8b 20 e7 20 53 45 4c  |E% . 15) . . SEL|
00016330  24 3d 22 50 61 69 6e 74  2e 4c 69 6e 65 20 73 74  |$="Paint.Line st|
00016340  79 6c 65 2e 45 43 46 20  33 22 20 8c 20 44 53 49  |yle.ECF 3" . DSI|
00016350  25 3d b9 3a 55 53 45 25  3d 28 55 53 45 25 20 80  |%=.:USE%=(USE% .|
00016360  20 31 35 29 2b 34 38 0d  54 ce 8e e7 20 53 45 4c  | 15)+48.T... SEL|
00016370  24 3d 22 50 61 69 6e 74  2e 4c 69 6e 65 20 73 74  |$="Paint.Line st|
00016380  79 6c 65 2e 45 43 46 20  34 22 20 80 20 28 55 53  |yle.ECF 4" . (US|
00016390  45 25 20 80 20 31 31 32  29 3d 36 34 20 8c 20 44  |E% . 112)=64 . D|
000163a0  53 49 25 3d b9 3a 55 53  45 25 3d 28 55 53 45 25  |SI%=.:USE%=(USE%|
000163b0  20 80 20 31 35 29 20 8b  20 e7 20 53 45 4c 24 3d  | . 15) . . SEL$=|
000163c0  22 50 61 69 6e 74 2e 4c  69 6e 65 20 73 74 79 6c  |"Paint.Line styl|
000163d0  65 2e 45 43 46 20 34 22  20 8c 20 44 53 49 25 3d  |e.ECF 4" . DSI%=|
000163e0  b9 3a 55 53 45 25 3d 28  55 53 45 25 20 80 20 31  |.:USE%=(USE% . 1|
000163f0  35 29 2b 36 34 0d 54 d8  96 e7 20 53 45 4c 24 3d  |5)+64.T... SEL$=|
00016400  22 50 61 69 6e 74 2e 4c  69 6e 65 20 73 74 79 6c  |"Paint.Line styl|
00016410  65 2e 47 69 61 6e 74 20  45 43 46 22 20 80 20 28  |e.Giant ECF" . (|
00016420  55 53 45 25 20 80 20 31  31 32 29 3d 38 30 20 8c  |USE% . 112)=80 .|
00016430  20 44 53 49 25 3d b9 3a  55 53 45 25 3d 28 55 53  | DSI%=.:USE%=(US|
00016440  45 25 20 80 20 31 35 29  20 8b 20 e7 20 53 45 4c  |E% . 15) . . SEL|
00016450  24 3d 22 50 61 69 6e 74  2e 4c 69 6e 65 20 73 74  |$="Paint.Line st|
00016460  79 6c 65 2e 47 69 61 6e  74 20 45 43 46 22 20 8c  |yle.Giant ECF" .|
00016470  20 44 53 49 25 3d b9 3a  55 53 45 25 3d 28 55 53  | DSI%=.:USE%=(US|
00016480  45 25 20 80 20 31 35 29  2b 38 30 0d 54 e2 4b f4  |E% . 15)+80.T.K.|
00016490  20 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  | ---------------|
000164a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000164d0  2d 2d 2d 2d 2d 2d 0d 54  ec 63 e7 20 53 45 4c 24  |------.T.c. SEL$|
000164e0  3d 22 50 61 69 6e 74 2e  46 69 6c 6c 2e 46 6c 6f  |="Paint.Fill.Flo|
000164f0  6f 64 20 66 69 6c 6c 22  20 8c 20 44 53 49 25 3d  |od fill" . DSI%=|
00016500  b9 3a f2 6b 69 6c 6c 66  3a 46 55 53 45 25 3d 32  |.:.killf:FUSE%=2|
00016510  36 3a f2 68 65 6c 70 3a  f2 77 69 6e 64 6e 61 6d  |6:.help:.windnam|
00016520  65 28 32 2c 50 49 43 24  2b 22 20 5b 46 6c 6f 6f  |e(2,PIC$+" [Floo|
00016530  64 20 66 69 6c 6c 5d 22  29 0d 54 f6 6a e7 20 53  |d fill]").T.j. S|
00016540  45 4c 24 3d 22 53 70 65  63 69 61 6c 2e 53 6d 75  |EL$="Special.Smu|
00016550  64 67 65 20 61 72 65 61  22 20 8c 20 44 53 49 25  |dge area" . DSI%|
00016560  3d b9 3a f2 6b 69 6c 6c  66 3a 46 55 53 45 25 3d  |=.:.killf:FUSE%=|
00016570  32 37 3a 46 55 53 54 25  3d 30 3a f2 68 65 6c 70  |27:FUST%=0:.help|
00016580  3a f2 77 69 6e 64 6e 61  6d 65 28 32 2c 50 49 43  |:.windname(2,PIC|
00016590  24 2b 22 20 5b 53 6d 75  64 67 65 20 61 72 65 61  |$+" [Smudge area|
000165a0  5d 22 29 0d 55 00 66 e7  20 53 45 4c 24 3d 22 53  |]").U.f. SEL$="S|
000165b0  70 65 63 69 61 6c 2e 54  69 6e 74 20 61 72 65 61  |pecial.Tint area|
000165c0  22 20 8c 20 44 53 49 25  3d b9 3a f2 6b 69 6c 6c  |" . DSI%=.:.kill|
000165d0  66 3a 46 55 53 45 25 3d  32 38 3a 46 55 53 54 25  |f:FUSE%=28:FUST%|
000165e0  3d 30 3a f2 68 65 6c 70  3a f2 77 69 6e 64 6e 61  |=0:.help:.windna|
000165f0  6d 65 28 32 2c 50 49 43  24 2b 22 20 5b 54 69 6e  |me(2,PIC$+" [Tin|
00016600  74 20 61 72 65 61 5d 22  29 0d 55 0a 24 e7 20 24  |t area]").U.$. $|
00016610  53 45 4c 25 3d 22 53 70  65 63 69 61 6c 2e 57 65  |SEL%="Special.We|
00016620  74 20 62 72 75 73 68 2e  2e 2e 22 20 8c 0d 55 14  |t brush..." ..U.|
00016630  8d f2 6b 69 6c 6c 66 3a  44 53 49 25 3d b9 3a f2  |..killf:DSI%=.:.|
00016640  6f 70 65 6e 77 69 6e 64  28 35 29 3a 46 55 53 45  |openwind(5):FUSE|
00016650  25 3d 32 39 3a 46 55 53  54 25 3d 30 3a f2 68 65  |%=29:FUST%=0:.he|
00016660  6c 70 3a f2 77 69 6e 64  6e 61 6d 65 28 32 2c 50  |lp:.windname(2,P|
00016670  49 43 24 2b 22 20 5b 57  65 74 20 62 72 75 73 68  |IC$+" [Wet brush|
00016680  5d 22 29 3a f2 73 70 69  6e 69 74 3a f2 73 70 62  |]"):.spinit:.spb|
00016690  75 66 28 31 34 35 2a 31  30 32 34 29 3a e7 20 51  |uf(145*1024):. Q|
000166a0  25 20 8c 20 f2 73 70 62  75 66 65 72 72 20 8b 20  |% . .spbuferr . |
000166b0  f2 62 61 63 6b 75 70 70  69 63 0d 55 1e 05 cd 0d  |.backuppic.U....|
000166c0  55 28 25 e7 20 24 53 45  4c 25 3d 22 53 70 65 63  |U(%. $SEL%="Spec|
000166d0  69 61 6c 2e 54 69 6e 74  20 62 72 75 73 68 2e 2e  |ial.Tint brush..|
000166e0  2e 22 20 8c 0d 55 32 8e  f2 6b 69 6c 6c 66 3a 44  |." ..U2..killf:D|
000166f0  53 49 25 3d b9 3a f2 6f  70 65 6e 77 69 6e 64 28  |SI%=.:.openwind(|
00016700  35 29 3a 46 55 53 45 25  3d 33 30 3a 46 55 53 54  |5):FUSE%=30:FUST|
00016710  25 3d 30 3a f2 68 65 6c  70 3a f2 77 69 6e 64 6e  |%=0:.help:.windn|
00016720  61 6d 65 28 32 2c 50 49  43 24 2b 22 20 5b 74 69  |ame(2,PIC$+" [ti|
00016730  6e 74 20 62 72 75 73 68  5d 22 29 3a f2 73 70 69  |nt brush]"):.spi|
00016740  6e 69 74 3a f2 73 70 62  75 66 28 31 34 35 2a 31  |nit:.spbuf(145*1|
00016750  30 32 34 29 3a e7 20 51  25 20 8c 20 f2 73 70 62  |024):. Q% . .spb|
00016760  75 66 65 72 72 20 8b 20  f2 62 61 63 6b 75 70 70  |uferr . .backupp|
00016770  69 63 0d 55 3c 05 cd 0d  55 46 51 e7 20 c0 28 24  |ic.U<...UFQ. .($|
00016780  53 45 4c 25 29 2c 35 29  3d 22 54 65 78 74 2e 22  |SEL%),5)="Text."|
00016790  20 80 20 24 53 45 4c 25  3c 3e 22 54 65 78 74 2e  | . $SEL%<>"Text.|
000167a0  50 61 72 61 6d 65 74 65  72 73 22 20 80 20 24 53  |Parameters" . $S|
000167b0  45 4c 25 3c 3e 22 54 65  78 74 2e 42 61 63 6b 67  |EL%<>"Text.Backg|
000167c0  72 6f 75 6e 64 22 20 8c  0d 55 50 34 f2 6b 69 6c  |round" ..UP4.kil|
000167d0  6c 66 3a f2 73 70 69 6e  69 74 3a f2 73 70 62 75  |lf:.spinit:.spbu|
000167e0  66 28 31 34 35 2a 31 30  32 34 29 3a e7 20 51 25  |f(145*1024):. Q%|
000167f0  20 8c 20 f2 73 70 62 75  66 65 72 72 0d 55 5a 24  | . .spbuferr.UZ$|
00016800  f2 62 61 63 6b 75 70 70  69 63 3a 4f 58 25 3d 2d  |.backuppic:OX%=-|
00016810  31 3a 4f 59 25 3d 2d 31  3a 45 46 4d 25 3d 2d 31  |1:OY%=-1:EFM%=-1|
00016820  0d 55 64 75 44 53 49 25  3d b9 3a 46 55 53 45 25  |.UduDSI%=.:FUSE%|
00016830  3d 33 32 3a 46 55 53 54  25 3d 30 3a f2 6f 70 65  |=32:FUST%=0:.ope|
00016840  6e 77 69 6e 64 28 31 34  29 3a f2 68 65 6c 70 3a  |nwind(14):.help:|
00016850  f2 77 69 6e 64 6e 61 6d  65 28 32 2c 50 49 43 24  |.windname(2,PIC$|
00016860  2b 22 20 5b 54 65 78 74  5d 22 29 3a 46 4f 24 3d  |+" [Text]"):FO$=|
00016870  c2 24 53 45 4c 25 2c a9  28 24 53 45 4c 25 29 2d  |.$SEL%,.($SEL%)-|
00016880  35 29 3a f2 73 65 74 69  63 6f 6e 28 31 34 2c 31  |5):.seticon(14,1|
00016890  2c 46 4f 24 29 0d 55 6e  3b 46 4f 4e 54 25 3d 30  |,FO$).Un;FONT%=0|
000168a0  3a e3 4c 25 3d 30 20 b8  20 46 4f 4e 54 53 25 3a  |:.L%=0 . FONTS%:|
000168b0  e7 20 46 4f 24 3d 46 4f  4e 54 24 28 4c 25 29 20  |. FO$=FONT$(L%) |
000168c0  8c 20 46 4f 4e 54 25 3d  4c 25 3a ed 20 8b 20 ed  |. FONT%=L%:. . .|
000168d0  0d 55 78 05 cd 0d 55 82  44 e7 20 24 53 45 4c 25  |.Ux...U.D. $SEL%|
000168e0  3d 22 4f 70 74 69 6f 6e  73 2e 4d 6f 75 73 65 2e  |="Options.Mouse.|
000168f0  58 20 6f 6e 6c 79 2e 56  65 72 79 20 66 61 73 74  |X only.Very fast|
00016900  22 20 8c 20 4d 4d 58 25  3d 34 3a c8 97 20 88 20  |" . MMX%=4:.. . |
00016910  4d 4d 58 25 2c 4d 4d 59  25 0d 55 8c 3f e7 20 24  |MMX%,MMY%.U.?. $|
00016920  53 45 4c 25 3d 22 4f 70  74 69 6f 6e 73 2e 4d 6f  |SEL%="Options.Mo|
00016930  75 73 65 2e 58 20 6f 6e  6c 79 2e 46 61 73 74 22  |use.X only.Fast"|
00016940  20 8c 20 4d 4d 58 25 3d  33 3a c8 97 20 88 20 4d  | . MMX%=3:.. . M|
00016950  4d 58 25 2c 4d 4d 59 25  0d 55 96 41 e7 20 24 53  |MX%,MMY%.U.A. $S|
00016960  45 4c 25 3d 22 4f 70 74  69 6f 6e 73 2e 4d 6f 75  |EL%="Options.Mou|
00016970  73 65 2e 58 20 6f 6e 6c  79 2e 4d 65 64 69 75 6d  |se.X only.Medium|
00016980  22 20 8c 20 4d 4d 58 25  3d 32 3a c8 97 20 88 20  |" . MMX%=2:.. . |
00016990  4d 4d 58 25 2c 4d 4d 59  25 0d 55 a0 3f e7 20 24  |MMX%,MMY%.U.?. $|
000169a0  53 45 4c 25 3d 22 4f 70  74 69 6f 6e 73 2e 4d 6f  |SEL%="Options.Mo|
000169b0  75 73 65 2e 58 20 6f 6e  6c 79 2e 53 6c 6f 77 22  |use.X only.Slow"|
000169c0  20 8c 20 4d 4d 58 25 3d  31 3a c8 97 20 88 20 4d  | . MMX%=1:.. . M|
000169d0  4d 58 25 2c 4d 4d 59 25  0d 55 aa 44 e7 20 24 53  |MX%,MMY%.U.D. $S|
000169e0  45 4c 25 3d 22 4f 70 74  69 6f 6e 73 2e 4d 6f 75  |EL%="Options.Mou|
000169f0  73 65 2e 59 20 6f 6e 6c  79 2e 56 65 72 79 20 66  |se.Y only.Very f|
00016a00  61 73 74 22 20 8c 20 4d  4d 59 25 3d 34 3a c8 97  |ast" . MMY%=4:..|
00016a10  20 88 20 4d 4d 58 25 2c  4d 4d 59 25 0d 55 b4 3f  | . MMX%,MMY%.U.?|
00016a20  e7 20 24 53 45 4c 25 3d  22 4f 70 74 69 6f 6e 73  |. $SEL%="Options|
00016a30  2e 4d 6f 75 73 65 2e 59  20 6f 6e 6c 79 2e 46 61  |.Mouse.Y only.Fa|
00016a40  73 74 22 20 8c 20 4d 4d  59 25 3d 33 3a c8 97 20  |st" . MMY%=3:.. |
00016a50  88 20 4d 4d 58 25 2c 4d  4d 59 25 0d 55 be 41 e7  |. MMX%,MMY%.U.A.|
00016a60  20 24 53 45 4c 25 3d 22  4f 70 74 69 6f 6e 73 2e  | $SEL%="Options.|
00016a70  4d 6f 75 73 65 2e 59 20  6f 6e 6c 79 2e 4d 65 64  |Mouse.Y only.Med|
00016a80  69 75 6d 22 20 8c 20 4d  4d 59 25 3d 32 3a c8 97  |ium" . MMY%=2:..|
00016a90  20 88 20 4d 4d 58 25 2c  4d 4d 59 25 0d 55 c8 3f  | . MMX%,MMY%.U.?|
00016aa0  e7 20 24 53 45 4c 25 3d  22 4f 70 74 69 6f 6e 73  |. $SEL%="Options|
00016ab0  2e 4d 6f 75 73 65 2e 59  20 6f 6e 6c 79 2e 53 6c  |.Mouse.Y only.Sl|
00016ac0  6f 77 22 20 8c 20 4d 4d  59 25 3d 31 3a c8 97 20  |ow" . MMY%=1:.. |
00016ad0  88 20 4d 4d 58 25 2c 4d  4d 59 25 0d 55 d2 49 e7  |. MMX%,MMY%.U.I.|
00016ae0  20 24 53 45 4c 25 3d 22  4f 70 74 69 6f 6e 73 2e  | $SEL%="Options.|
00016af0  4d 6f 75 73 65 2e 42 6f  74 68 2e 56 65 72 79 20  |Mouse.Both.Very |
00016b00  66 61 73 74 22 20 8c 20  4d 4d 59 25 3d 34 3a 4d  |fast" . MMY%=4:M|
00016b10  4d 58 25 3d 34 3a c8 97  20 88 20 4d 4d 58 25 2c  |MX%=4:.. . MMX%,|
00016b20  4d 4d 59 25 0d 55 dc 44  e7 20 24 53 45 4c 25 3d  |MMY%.U.D. $SEL%=|
00016b30  22 4f 70 74 69 6f 6e 73  2e 4d 6f 75 73 65 2e 42  |"Options.Mouse.B|
00016b40  6f 74 68 2e 46 61 73 74  22 20 8c 20 4d 4d 59 25  |oth.Fast" . MMY%|
00016b50  3d 33 3a 4d 4d 58 25 3d  33 3a c8 97 20 88 20 4d  |=3:MMX%=3:.. . M|
00016b60  4d 58 25 2c 4d 4d 59 25  0d 55 e6 46 e7 20 24 53  |MX%,MMY%.U.F. $S|
00016b70  45 4c 25 3d 22 4f 70 74  69 6f 6e 73 2e 4d 6f 75  |EL%="Options.Mou|
00016b80  73 65 2e 42 6f 74 68 2e  4d 65 64 69 75 6d 22 20  |se.Both.Medium" |
00016b90  8c 20 4d 4d 59 25 3d 32  3a 4d 4d 58 25 3d 32 3a  |. MMY%=2:MMX%=2:|
00016ba0  c8 97 20 88 20 4d 4d 58  25 2c 4d 4d 59 25 0d 55  |.. . MMX%,MMY%.U|
00016bb0  f0 44 e7 20 24 53 45 4c  25 3d 22 4f 70 74 69 6f  |.D. $SEL%="Optio|
00016bc0  6e 73 2e 4d 6f 75 73 65  2e 42 6f 74 68 2e 53 6c  |ns.Mouse.Both.Sl|
00016bd0  6f 77 22 20 8c 20 4d 4d  59 25 3d 31 3a 4d 4d 58  |ow" . MMY%=1:MMX|
00016be0  25 3d 31 3a c8 97 20 88  20 4d 4d 58 25 2c 4d 4d  |%=1:.. . MMX%,MM|
00016bf0  59 25 0d 55 fa 29 e7 20  24 53 45 4c 25 3d 22 53  |Y%.U.). $SEL%="S|
00016c00  70 65 63 69 61 6c 2e 43  6f 6c 6f 75 72 20 72 65  |pecial.Colour re|
00016c10  70 6c 61 63 65 2e 2e 2e  22 20 8c 0d 56 04 79 f2  |place..." ..V.y.|
00016c20  6b 69 6c 6c 66 3a 44 53  49 25 3d b9 3a f2 6f 70  |killf:DSI%=.:.op|
00016c30  65 6e 77 69 6e 64 28 31  38 29 3a 46 55 53 45 25  |enwind(18):FUSE%|
00016c40  3d 33 33 3a 46 55 53 54  25 3d 30 3a f2 73 70 69  |=33:FUST%=0:.spi|
00016c50  6e 69 74 3a f2 73 70 62  75 66 28 32 34 2a 31 30  |nit:.spbuf(24*10|
00016c60  32 34 29 3a e7 20 51 25  20 8c 20 46 55 53 45 25  |24):. Q% . FUSE%|
00016c70  3d 2d 31 3a f2 63 6c 6f  73 65 77 69 6e 64 28 31  |=-1:.closewind(1|
00016c80  38 29 3a f2 73 70 69 6e  69 74 3a f2 73 70 62 75  |8):.spinit:.spbu|
00016c90  66 65 72 72 0d 56 0e 95  c8 99 20 22 48 6f 75 72  |ferr.V.... "Hour|
00016ca0  67 6c 61 73 73 5f 4f 6e  22 3a e3 4c 25 3d 30 20  |glass_On":.L%=0 |
00016cb0  b8 20 32 32 35 39 36 20  88 20 34 3a 53 50 42 55  |. 22596 . 4:SPBU|
00016cc0  46 25 21 4c 25 3d 4f 50  41 4c 25 21 4c 25 3a ed  |F%!L%=OPAL%!L%:.|
00016cd0  3a e3 4c 25 3d 30 20 b8  20 32 35 35 3a 52 45 50  |:.L%=0 . 255:REP|
00016ce0  53 25 3f 4c 25 3d 4c 25  3a ed 3a c8 99 20 22 48  |S%?L%=L%:.:.. "H|
00016cf0  6f 75 72 67 6c 61 73 73  5f 4f 66 66 22 3a f2 77  |ourglass_Off":.w|
00016d00  69 6e 64 6e 61 6d 65 28  32 2c 50 49 43 24 2b 22  |indname(2,PIC$+"|
00016d10  20 5b 43 6f 6c 6f 75 72  20 72 65 70 6c 61 63 65  | [Colour replace|
00016d20  5d 22 29 3a f2 68 65 6c  70 0d 56 18 05 cd 0d 56  |]"):.help.V....V|
00016d30  22 8a e7 20 24 53 45 4c  25 3d 22 46 69 6c 65 2e  |".. $SEL%="File.|
00016d40  45 78 70 6f 72 74 22 20  8c 20 f2 6b 69 6c 6c 66  |Export" . .killf|
00016d50  3a f2 73 65 74 69 63 6f  6e 28 37 2c 31 2c 22 45  |:.seticon(7,1,"E|
00016d60  78 70 6f 72 74 22 29 3a  44 53 49 25 3d b9 3a 46  |xport"):DSI%=.:F|
00016d70  55 53 45 25 3d 33 35 3a  46 55 53 54 25 3d 30 3a  |USE%=35:FUST%=0:|
00016d80  f2 68 65 6c 70 3a f2 73  70 69 6e 69 74 3a f2 77  |.help:.spinit:.w|
00016d90  69 6e 64 6e 61 6d 65 28  32 2c 50 49 43 24 2b 22  |indname(2,PIC$+"|
00016da0  20 5b 45 78 70 6f 72 74  5d 22 29 3a f2 6f 70 65  | [Export]"):.ope|
00016db0  6e 77 69 6e 64 28 38 29  0d 56 2c 86 e7 20 24 53  |nwind(8).V,.. $S|
00016dc0  45 4c 25 3d 22 50 61 69  6e 74 2e 46 69 6c 6c 2e  |EL%="Paint.Fill.|
00016dd0  50 61 74 74 65 72 6e 20  66 69 6c 6c 22 20 8c 20  |Pattern fill" . |
00016de0  f2 6b 69 6c 6c 66 3a f2  77 69 6e 64 6e 61 6d 65  |.killf:.windname|
00016df0  28 32 2c 50 49 43 24 2b  22 20 5b 50 61 74 74 65  |(2,PIC$+" [Patte|
00016e00  72 6e 20 66 69 6c 6c 5d  22 29 3a 44 53 49 25 3d  |rn fill]"):DSI%=|
00016e10  b9 3a 46 55 53 45 25 3d  33 37 3a 46 55 53 54 25  |.:FUSE%=37:FUST%|
00016e20  3d 30 3a f2 68 65 6c 70  3a f2 73 70 69 6e 69 74  |=0:.help:.spinit|
00016e30  3a f2 6f 70 65 6e 77 69  6e 64 28 32 30 29 0d 56  |:.openwind(20).V|
00016e40  36 84 e7 20 24 53 45 4c  25 3d 22 53 70 65 63 69  |6.. $SEL%="Speci|
00016e50  61 6c 2e 52 47 42 20 63  6f 6e 74 72 6f 6c 2e 2e  |al.RGB control..|
00016e60  2e 22 20 8c 20 f2 6b 69  6c 6c 66 3a f2 77 69 6e  |." . .killf:.win|
00016e70  64 6e 61 6d 65 28 32 2c  50 49 43 24 2b 22 20 5b  |dname(2,PIC$+" [|
00016e80  52 47 42 20 63 6f 6e 74  72 6f 6c 5d 22 29 3a 44  |RGB control]"):D|
00016e90  53 49 25 3d b9 3a 46 55  53 45 25 3d 33 38 3a 46  |SI%=.:FUSE%=38:F|
00016ea0  55 53 54 25 3d 30 3a f2  68 65 6c 70 3a f2 73 70  |UST%=0:.help:.sp|
00016eb0  69 6e 69 74 3a f2 6f 70  65 6e 77 69 6e 64 28 32  |init:.openwind(2|
00016ec0  31 29 0d 56 40 82 e7 20  24 53 45 4c 25 3d 22 53  |1).V@.. $SEL%="S|
00016ed0  70 65 63 69 61 6c 2e 47  72 65 79 20 73 63 61 6c  |pecial.Grey scal|
00016ee0  65 2e 2e 2e 22 20 8c 20  f2 6b 69 6c 6c 66 3a f2  |e..." . .killf:.|
00016ef0  77 69 6e 64 6e 61 6d 65  28 32 2c 50 49 43 24 2b  |windname(2,PIC$+|
00016f00  22 20 5b 47 72 65 79 20  73 63 61 6c 65 5d 22 29  |" [Grey scale]")|
00016f10  3a 44 53 49 25 3d b9 3a  46 55 53 45 25 3d 33 39  |:DSI%=.:FUSE%=39|
00016f20  3a 46 55 53 54 25 3d 30  3a f2 68 65 6c 70 3a f2  |:FUST%=0:.help:.|
00016f30  73 70 69 6e 69 74 3a f2  6f 70 65 6e 77 69 6e 64  |spinit:.openwind|
00016f40  28 32 32 29 0d 56 4a 7e  e7 20 24 53 45 4c 25 3d  |(22).VJ~. $SEL%=|
00016f50  22 53 70 65 63 69 61 6c  2e 50 69 78 65 6c 61 74  |"Special.Pixelat|
00016f60  65 2e 2e 2e 22 20 8c 20  f2 6b 69 6c 6c 66 3a f2  |e..." . .killf:.|
00016f70  77 69 6e 64 6e 61 6d 65  28 32 2c 50 49 43 24 2b  |windname(2,PIC$+|
00016f80  22 20 5b 50 69 78 65 6c  61 74 65 5d 22 29 3a 44  |" [Pixelate]"):D|
00016f90  53 49 25 3d b9 3a 46 55  53 45 25 3d 34 30 3a 46  |SI%=.:FUSE%=40:F|
00016fa0  55 53 54 25 3d 30 3a f2  68 65 6c 70 3a f2 73 70  |UST%=0:.help:.sp|
00016fb0  69 6e 69 74 3a f2 6f 70  65 6e 77 69 6e 64 28 32  |init:.openwind(2|
00016fc0  33 29 0d 56 54 7d e7 20  24 53 45 4c 25 3d 22 4d  |3).VT}. $SEL%="M|
00016fd0  61 6e 69 70 75 6c 61 74  65 2e 52 6f 74 61 74 65  |anipulate.Rotate|
00016fe0  2e 2e 2e 22 20 8c 20 f2  6b 69 6c 6c 66 3a f2 77  |..." . .killf:.w|
00016ff0  69 6e 64 6e 61 6d 65 28  32 2c 50 49 43 24 2b 22  |indname(2,PIC$+"|
00017000  20 5b 52 6f 74 61 74 65  5d 22 29 3a 44 53 49 25  | [Rotate]"):DSI%|
00017010  3d b9 3a 46 55 53 45 25  3d 34 31 3a 46 55 53 54  |=.:FUSE%=41:FUST|
00017020  25 3d 30 3a f2 68 65 6c  70 3a f2 73 70 69 6e 69  |%=0:.help:.spini|
00017030  74 3a f2 6f 70 65 6e 77  69 6e 64 28 32 34 29 0d  |t:.openwind(24).|
00017040  56 5e 55 e7 20 24 53 45  4c 25 3d 22 4f 70 74 69  |V^U. $SEL%="Opti|
00017050  6f 6e 73 2e 57 69 70 65  20 70 69 63 74 75 72 65  |ons.Wipe picture|
00017060  22 20 8c 20 f2 6b 69 6c  6c 66 3a f2 77 69 6e 64  |" . .killf:.wind|
00017070  6e 61 6d 65 28 32 2c 50  49 43 24 29 3a 46 55 53  |name(2,PIC$):FUS|
00017080  45 25 3d 2d 31 3a f2 68  65 6c 70 3a f2 77 69 70  |E%=-1:.help:.wip|
00017090  65 70 69 63 0d 56 68 38  e7 20 24 53 45 4c 25 3d  |epic.Vh8. $SEL%=|
000170a0  22 4f 70 74 69 6f 6e 73  2e 43 75 72 73 6f 72 20  |"Options.Cursor |
000170b0  6b 65 79 73 22 20 8c 20  4b 55 4b 45 25 3d ac 20  |keys" . KUKE%=. |
000170c0  4b 55 4b 45 25 3a 44 53  49 25 3d b9 0d 56 72 1f  |KUKE%:DSI%=..Vr.|
000170d0  e7 20 44 53 49 25 20 80  20 4d 42 55 25 3d 31 20  |. DSI% . MBU%=1 |
000170e0  8c 20 f2 77 69 6e 64 6d  65 6e 75 0d 56 7c 05 e1  |. .windmenu.V|..|
000170f0  0d 56 86 04 0d 56 90 0d  dd f2 77 69 70 65 70 69  |.V...V....wipepi|
00017100  63 0d 56 9a 43 21 49 4f  25 3d 35 3a 24 28 49 4f  |c.V.C!IO%=5:$(IO|
00017110  25 2b 34 29 3d 22 41 72  65 20 79 6f 75 20 73 75  |%+4)="Are you su|
00017120  72 65 20 79 6f 75 20 77  61 6e 74 20 74 6f 20 77  |re you want to w|
00017130  69 70 65 20 74 68 65 20  70 69 63 74 75 72 65 3f  |ipe the picture?|
00017140  22 2b bd 30 0d 56 a4 39  c8 99 20 22 57 69 6d 70  |"+.0.V.9.. "Wimp|
00017150  5f 52 65 70 6f 72 74 45  72 72 6f 72 22 2c 49 4f  |_ReportError",IO|
00017160  25 2c 25 31 31 30 31 31  2c 22 21 41 72 63 68 72  |%,%11011,"!Archr|
00017170  6f 6d 65 22 2b bd 30 20  b8 20 2c 52 25 0d 56 ae  |ome"+.0 . ,R%.V.|
00017180  13 e7 20 52 25 3d 30 20  8c 20 e5 20 8d 70 64 56  |.. R%=0 . . .pdV|
00017190  0d 56 b8 0e e7 20 52 25  3d 32 20 8c 20 e1 0d 56  |.V... R%=2 . ..V|
000171a0  c2 33 f2 69 6e 70 69 63  3a ef 32 36 3a e6 30 2c  |.3.inpic:.26:.0,|
000171b0  31 32 38 20 c8 9c 20 30  3a da 3a f2 6f 75 74 70  |128 .. 0:.:.outp|
000171c0  69 63 3a f2 66 6f 72 63  65 64 72 61 77 6d 61 69  |ic:.forcedrawmai|
000171d0  6e 0d 56 cc 05 e1 0d 56  d6 04 0d 56 e0 0c dd a4  |n.V....V...V....|
000171e0  71 75 69 74 79 6e 0d 56  ea 37 21 49 4f 25 3d 35  |quityn.V.7!IO%=5|
000171f0  3a 24 28 49 4f 25 2b 34  29 3d 22 41 72 65 20 79  |:$(IO%+4)="Are y|
00017200  6f 75 20 73 75 72 65 20  79 6f 75 20 77 61 6e 74  |ou sure you want|
00017210  20 74 6f 20 71 75 69 74  3f 22 2b bd 30 0d 56 f4  | to quit?"+.0.V.|
00017220  39 c8 99 20 22 57 69 6d  70 5f 52 65 70 6f 72 74  |9.. "Wimp_Report|
00017230  45 72 72 6f 72 22 2c 49  4f 25 2c 25 31 31 30 31  |Error",IO%,%1101|
00017240  31 2c 22 21 41 72 63 68  72 6f 6d 65 22 2b bd 30  |1,"!Archrome"+.0|
00017250  20 b8 20 2c 52 25 0d 56  fe 13 e7 20 52 25 3d 30  | . ,R%.V... R%=0|
00017260  20 8c 20 e5 20 8d 60 74  56 0d 57 08 0b 3d 28 52  | . . .`tV.W..=(R|
00017270  25 3d 31 29 0d 57 12 04  0d 57 1c 0c dd f2 69 6d  |%=1).W...W....im|
00017280  70 6f 72 74 0d 57 26 56  41 24 3d a4 67 65 74 6e  |port.W&VA$=.getn|
00017290  61 6d 65 3a 42 4c 4b 25  21 31 32 3d 42 4c 4b 25  |ame:BLK%!12=BLK%|
000172a0  21 38 3a 42 4c 4b 25 21  31 36 3d 34 3a 21 42 4c  |!8:BLK%!16=4:!BL|
000172b0  4b 25 3d 36 34 3a c8 99  20 22 57 69 6d 70 5f 53  |K%=64:.. "Wimp_S|
000172c0  65 6e 64 4d 65 73 73 61  67 65 22 2c 31 37 2c 42  |endMessage",17,B|
000172d0  4c 4b 25 2c 42 4c 4b 25  21 34 0d 57 30 36 f2 6b  |LK%,BLK%!4.W06.k|
000172e0  69 6c 6c 66 3a 46 55 53  45 25 3d 33 34 3a 46 55  |illf:FUSE%=34:FU|
000172f0  53 54 25 3d 30 3a f2 6f  70 65 6e 77 69 6e 64 28  |ST%=0:.openwind(|
00017300  38 29 3a f2 68 65 6c 70  3a f2 73 70 69 6e 69 74  |8):.help:.spinit|
00017310  0d 57 3a 1b 46 25 3d ad  28 41 24 29 3a 49 4d 53  |.W:.F%=.(A$):IMS|
00017320  25 3d a2 23 46 25 3a d9  23 46 25 0d 57 44 43 f2  |%=.#F%:.#F%.WDC.|
00017330  73 70 62 75 66 28 49 4d  53 25 2b 36 34 29 3a e7  |spbuf(IMS%+64):.|
00017340  20 51 25 20 8c 20 46 55  53 45 25 3d 2d 31 3a f2  | Q% . FUSE%=-1:.|
00017350  63 6c 6f 73 65 77 69 6e  64 28 38 29 3a f2 73 70  |closewind(8):.sp|
00017360  69 6e 69 74 3a f2 73 70  62 75 66 65 72 72 0d 57  |init:.spbuferr.W|
00017370  4e 64 c8 99 26 32 45 2c  32 36 36 2c 53 50 42 55  |Nd..&2E,266,SPBU|
00017380  46 25 2c 41 24 3a c8 99  26 32 45 2c 32 36 39 2c  |F%,A$:..&2E,269,|
00017390  53 50 42 55 46 25 2c 49  4f 25 2c 31 36 2c 31 20  |SPBUF%,IO%,16,1 |
000173a0  b8 20 2c 2c 2c 4c 25 3a  49 4d 50 24 3d 22 22 3a  |. ,,,L%:IMP$="":|
000173b0  e3 4b 25 3d 30 20 b8 20  4c 25 2d 31 3a 49 4d 50  |.K%=0 . L%-1:IMP|
000173c0  24 3d 49 4d 50 24 2b bd  28 49 4f 25 3f 4b 25 29  |$=IMP$+.(IO%?K%)|
000173d0  3a ed 0d 57 58 2e c8 99  26 32 45 2c 32 39 36 2c  |:..WX...&2E,296,|
000173e0  53 50 42 55 46 25 2c 49  4d 50 24 20 b8 20 2c 2c  |SPBUF%,IMP$ . ,,|
000173f0  2c 49 4d 57 25 2c 49 4d  48 25 2c 2c 49 4d 4d 25  |,IMW%,IMH%,,IMM%|
00017400  0d 57 62 17 c8 99 26 33  35 2c 49 4d 4d 25 2c 34  |.Wb...&35,IMM%,4|
00017410  20 b8 20 2c 2c 45 25 0d  57 6c 0d 50 57 49 25 3d  | . ,,E%.Wl.PWI%=|
00017420  32 5e 45 25 0d 57 76 21  53 58 25 3d 32 5e 28 45  |2^E%.Wv!SX%=2^(E|
00017430  25 2d 31 29 3a 21 49 4f  25 3d 53 58 25 3a 49 4f  |%-1):!IO%=SX%:IO|
00017440  25 21 38 3d 31 0d 57 80  14 49 4f 25 21 34 3d 31  |%!8=1.W..IO%!4=1|
00017450  3a 49 4f 25 21 31 32 3d  31 0d 57 8a 27 4c 25 3d  |:IO%!12=1.W.'L%=|
00017460  28 53 50 42 55 46 25 2b  28 53 50 42 55 46 25 21  |(SPBUF%+(SPBUF%!|
00017470  38 29 29 3a e7 20 4c 25  21 33 32 3d 34 34 20 8c  |8)):. L%!32=44 .|
00017480  0d 57 94 0b 49 4d 50 41  25 3d 30 0d 57 9e 05 cc  |.W..IMPA%=0.W...|
00017490  0d 57 a8 43 49 4d 50 41  25 3d 4c 25 2b 34 34 3a  |.W.CIMPA%=L%+44:|
000174a0  4b 25 3d 34 38 3a 49 25  3d 35 32 3a c8 95 20 49  |K%=48:I%=52:.. I|
000174b0  25 3c 28 4c 25 21 33 32  29 3a 4c 25 21 4b 25 3d  |%<(L%!32):L%!K%=|
000174c0  4c 25 21 49 25 3a 49 25  2b 3d 38 3a 4b 25 2b 3d  |L%!I%:I%+=8:K%+=|
000174d0  34 3a ce 0d 57 b2 05 cd  0d 57 bc 56 e7 20 49 4d  |4:..W....W.V. IM|
000174e0  4d 25 3c 3e 31 35 20 84  20 49 4d 50 41 25 3c 3e  |M%<>15 . IMPA%<>|
000174f0  30 20 8c 20 c8 99 26 34  30 37 34 30 2c 49 4d 4d  |0 . ..&40740,IMM|
00017500  25 2c 49 4d 50 41 25 2c  31 35 2c 30 2c 50 49 58  |%,IMPA%,15,0,PIX|
00017510  54 41 42 32 25 3a 49 4d  50 54 25 3d 50 49 58 54  |TAB2%:IMPT%=PIXT|
00017520  41 42 32 25 20 8b 20 49  4d 50 54 25 3d 30 0d 57  |AB2% . IMPT%=0.W|
00017530  c6 2c f2 77 69 6e 64 6e  61 6d 65 28 32 2c 50 49  |.,.windname(2,PI|
00017540  43 24 2b 22 20 5b 49 6d  70 6f 72 74 20 27 22 2b  |C$+" [Import '"+|
00017550  49 4d 50 24 2b 22 27 5d  22 29 0d 57 d0 1e 49 4d  |IMP$+"']").W..IM|
00017560  48 25 3d 49 4d 48 25 2a  34 3a 49 4d 57 25 3d 49  |H%=IMH%*4:IMW%=I|
00017570  4d 57 25 2a 50 57 49 25  0d 57 da 0d 47 52 4e 24  |MW%*PWI%.W..GRN$|
00017580  3d 49 4d 50 24 0d 57 e4  05 e1 0d 57 ee 04 0d 57  |=IMP$.W....W...W|
00017590  f8 13 dd f2 66 69 6c 6c  63 6f 6e 74 63 6c 69 63  |....fillcontclic|
000175a0  6b 0d 58 02 13 e7 20 4d  4f 55 49 43 25 3c 3e 38  |k.X... MOUIC%<>8|
000175b0  20 8c 20 e1 0d 58 0c 0c  47 52 46 4e 25 3d 2d 31  | . ..X..GRFN%=-1|
000175c0  0d 58 16 1b e7 20 a4 68  69 67 68 28 31 37 2c 31  |.X... .high(17,1|
000175d0  29 20 8c 20 47 52 46 4e  25 3d 30 0d 58 20 1b e7  |) . GRFN%=0.X ..|
000175e0  20 a4 68 69 67 68 28 31  37 2c 32 29 20 8c 20 47  | .high(17,2) . G|
000175f0  52 46 4e 25 3d 31 0d 58  2a 1b e7 20 a4 68 69 67  |RFN%=1.X*.. .hig|
00017600  68 28 31 37 2c 33 29 20  8c 20 47 52 46 4e 25 3d  |h(17,3) . GRFN%=|
00017610  32 0d 58 34 1b e7 20 a4  68 69 67 68 28 31 37 2c  |2.X4.. .high(17,|
00017620  34 29 20 8c 20 47 52 46  4e 25 3d 33 0d 58 3e 1b  |4) . GRFN%=3.X>.|
00017630  e7 20 a4 68 69 67 68 28  31 37 2c 35 29 20 8c 20  |. .high(17,5) . |
00017640  47 52 46 4e 25 3d 34 0d  58 48 46 e7 20 47 52 46  |GRFN%=4.XHF. GRF|
00017650  4e 25 3d 2d 31 20 8c 20  f2 6d 65 73 73 61 67 65  |N%=-1 . .message|
00017660  28 30 2c 22 59 6f 75 20  6d 75 73 74 20 73 65 6c  |(0,"You must sel|
00017670  65 63 74 20 61 20 66 69  6c 6c 20 73 65 71 75 65  |ect a fill seque|
00017680  6e 63 65 20 74 6f 20 75  73 65 2e 22 29 0d 58 52  |nce to use.").XR|
00017690  10 e7 20 46 55 53 45 25  3d 33 31 20 8c 0d 58 5c  |.. FUSE%=31 ..X\|
000176a0  16 e7 20 47 52 54 59 25  3d 31 20 8c 20 f2 6b 69  |.. GRTY%=1 . .ki|
000176b0  6c 6c 66 0d 58 66 05 cd  0d 58 70 0c 47 52 54 59  |llf.Xf...Xp.GRTY|
000176c0  25 3d 2d 31 0d 58 7a 1b  e7 20 a4 68 69 67 68 28  |%=-1.Xz.. .high(|
000176d0  31 37 2c 36 29 20 8c 20  47 52 54 59 25 3d 30 0d  |17,6) . GRTY%=0.|
000176e0  58 84 23 e7 20 a4 68 69  67 68 28 31 37 2c 37 29  |X.#. .high(17,7)|
000176f0  20 8c 20 47 52 54 59 25  3d 31 3a 46 55 53 54 25  | . GRTY%=1:FUST%|
00017700  3d 30 0d 58 8e 47 e7 20  47 52 54 59 25 3d 2d 31  |=0.X.G. GRTY%=-1|
00017710  20 8c 20 f2 6d 65 73 73  61 67 65 28 30 2c 22 59  | . .message(0,"Y|
00017720  6f 75 20 6d 75 73 74 20  73 65 6c 65 63 74 20 74  |ou must select t|
00017730  68 65 20 74 79 70 65 20  6f 66 20 66 69 6c 6c 20  |he type of fill |
00017740  74 6f 20 75 73 65 2e 22  29 0d 58 98 67 f2 6b 69  |to use.").X.g.ki|
00017750  6c 6c 66 3a 46 55 53 45  25 3d 33 31 3a 46 55 53  |llf:FUSE%=31:FUS|
00017760  54 25 3d 30 3a f2 68 65  6c 70 3a f2 77 69 6e 64  |T%=0:.help:.wind|
00017770  6e 61 6d 65 28 32 2c 50  49 43 24 2b 22 20 5b 47  |name(2,PIC$+" [G|
00017780  72 61 64 75 61 74 65 64  20 66 69 6c 6c 20 28 22  |raduated fill ("|
00017790  2b a4 66 69 6c 6c 64 65  74 28 47 52 46 4e 25 2b  |+.filldet(GRFN%+|
000177a0  31 29 2b 22 29 5d 22 29  3a f2 73 70 69 6e 69 74  |1)+")]"):.spinit|
000177b0  0d 58 a2 17 e7 20 4d 4f  55 42 25 3d 34 20 8c 20  |.X... MOUB%=4 . |
000177c0  f2 6d 65 6e 6f 66 66 0d  58 ac 05 e1 0d 58 b6 04  |.menoff.X....X..|
000177d0  0d 58 c0 21 dd f2 75 6e  73 65 74 72 61 73 70 3a  |.X.!..unsetrasp:|
000177e0  c8 99 20 22 48 6f 75 72  67 6c 61 73 73 5f 4f 6e  |.. "Hourglass_On|
000177f0  22 0d 58 ca 0f e3 4c 25  3d 30 20 b8 20 32 35 35  |".X...L%=0 . 255|
00017800  0d 58 d4 1e e7 20 54 52  41 53 50 25 3f 4c 25 3d  |.X... TRASP%?L%=|
00017810  31 20 8c 20 f2 74 72 61  73 70 28 4c 25 29 0d 58  |1 . .trasp(L%).X|
00017820  de 05 ed 0d 58 e8 2a f2  66 6f 72 63 65 64 72 61  |....X.*.forcedra|
00017830  77 70 61 6c 28 50 41 4c  25 29 3a c8 99 20 22 48  |wpal(PAL%):.. "H|
00017840  6f 75 72 67 6c 61 73 73  5f 4f 66 66 22 0d 58 f2  |ourglass_Off".X.|
00017850  05 e1 0d 58 fc 04 0d 59  06 1f dd f2 73 65 74 72  |...X...Y....setr|
00017860  61 73 70 3a c8 99 20 22  48 6f 75 72 67 6c 61 73  |asp:.. "Hourglas|
00017870  73 5f 4f 6e 22 0d 59 10  0f e3 4c 25 3d 30 20 b8  |s_On".Y...L%=0 .|
00017880  20 32 35 35 0d 59 1a 1e  e7 20 54 52 41 53 50 25  | 255.Y... TRASP%|
00017890  3f 4c 25 3d 30 20 8c 20  f2 74 72 61 73 70 28 4c  |?L%=0 . .trasp(L|
000178a0  25 29 0d 59 24 05 ed 0d  59 2e 2a f2 66 6f 72 63  |%).Y$...Y.*.forc|
000178b0  65 64 72 61 77 70 61 6c  28 50 41 4c 25 29 3a c8  |edrawpal(PAL%):.|
000178c0  99 20 22 48 6f 75 72 67  6c 61 73 73 5f 4f 66 66  |. "Hourglass_Off|
000178d0  22 0d 59 38 05 e1 0d 59  42 04 0d 59 4c 0c dd f2  |".Y8...YB..YL...|
000178e0  73 70 69 6e 69 74 0d 59  56 0d f2 73 70 62 75 66  |spinit.YV..spbuf|
000178f0  28 30 29 0d 59 60 05 e1  0d 59 6a 04 0d 59 74 0d  |(0).Y`...Yj..Yt.|
00017900  dd f2 73 65 74 67 72 69  63 0d 59 7e 18 f2 73 65  |..setgric.Y~..se|
00017910  74 69 63 6f 6e 28 36 2c  34 2c c3 47 52 57 49 25  |ticon(6,4,.GRWI%|
00017920  29 0d 59 88 18 f2 73 65  74 69 63 6f 6e 28 36 2c  |).Y...seticon(6,|
00017930  35 2c c3 47 52 48 45 25  29 0d 59 92 5e 47 52 42  |5,.GRHE%).Y.^GRB|
00017940  58 25 3d bb 28 a4 67 65  74 69 63 6f 6e 28 36 2c  |X%=.(.geticon(6,|
00017950  31 32 29 29 3a e7 20 47  52 42 58 25 3e 47 52 57  |12)):. GRBX%>GRW|
00017960  49 25 20 8c 20 f5 3a 47  52 42 58 25 2d 3d 47 52  |I% . .:GRBX%-=GR|
00017970  57 49 25 3a fd 20 47 52  42 58 25 3c 47 52 57 49  |WI%:. GRBX%<GRWI|
00017980  25 3a f2 73 65 74 69 63  6f 6e 28 36 2c 31 32 2c  |%:.seticon(6,12,|
00017990  c3 47 52 42 58 25 29 0d  59 9c 5e 47 52 42 59 25  |.GRBX%).Y.^GRBY%|
000179a0  3d bb 28 a4 67 65 74 69  63 6f 6e 28 36 2c 31 33  |=.(.geticon(6,13|
000179b0  29 29 3a e7 20 47 52 42  59 25 3e 47 52 48 45 25  |)):. GRBY%>GRHE%|
000179c0  20 8c 20 f5 3a 47 52 42  59 25 2d 3d 47 52 48 45  | . .:GRBY%-=GRHE|
000179d0  25 3a fd 20 47 52 42 59  25 3c 47 52 48 45 25 3a  |%:. GRBY%<GRHE%:|
000179e0  f2 73 65 74 69 63 6f 6e  28 36 2c 31 33 2c c3 47  |.seticon(6,13,.G|
000179f0  52 42 59 25 29 0d 59 a6  05 e1 0d 59 b0 04 0d 59  |RBY%).Y....Y...Y|
00017a00  ba 0e dd f2 7a 6f 6f 6d  73 69 7a 65 0d 59 c4 3e  |....zoomsize.Y.>|
00017a10  21 42 4c 4b 25 3d 48 41  4e 44 25 28 32 29 3a c8  |!BLK%=HAND%(2):.|
00017a20  99 20 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |. "Wimp_GetWindo|
00017a30  77 53 74 61 74 65 22 2c  2c 42 4c 4b 25 3a 57 49  |wState",,BLK%:WI|
00017a40  46 25 3d 42 4c 4b 25 21  32 38 0d 59 ce 2e 21 42  |F%=BLK%!28.Y..!B|
00017a50  4c 4b 25 3d 48 41 4e 44  25 28 32 29 3a c8 99 20  |LK%=HAND%(2):.. |
00017a60  22 57 69 6d 70 5f 43 6c  6f 73 65 57 69 6e 64 6f  |"Wimp_CloseWindo|
00017a70  77 22 2c 2c 42 4c 4b 25  0d 59 d8 5b 21 42 4c 4b  |w",,BLK%.Y.[!BLK|
00017a80  25 3d 30 3a 42 4c 4b 25  21 34 3d 2d 39 33 36 2a  |%=0:BLK%!4=-936*|
00017a90  5a 4f 4f 4d 25 3a 42 4c  4b 25 21 38 3d 31 32 33  |ZOOM%:BLK%!8=123|
00017aa0  36 2a 5a 4f 4f 4d 25 3a  42 4c 4b 25 21 31 32 3d  |6*ZOOM%:BLK%!12=|
00017ab0  30 3a c8 99 20 22 57 69  6d 70 5f 53 65 74 45 78  |0:.. "Wimp_SetEx|
00017ac0  74 65 6e 74 22 2c 48 41  4e 44 25 28 32 29 2c 42  |tent",HAND%(2),B|
00017ad0  4c 4b 25 0d 59 e2 30 21  42 4c 4b 25 3d 48 41 4e  |LK%.Y.0!BLK%=HAN|
00017ae0  44 25 28 32 29 3a c8 99  20 22 57 69 6d 70 5f 47  |D%(2):.. "Wimp_G|
00017af0  65 74 57 69 6e 64 6f 77  49 6e 66 6f 22 2c 2c 42  |etWindowInfo",,B|
00017b00  4c 4b 25 0d 59 ec 2d 42  4c 4b 25 21 32 38 3d 57  |LK%.Y.-BLK%!28=W|
00017b10  49 46 25 3a c8 99 20 22  57 69 6d 70 5f 4f 70 65  |IF%:.. "Wimp_Ope|
00017b20  6e 57 69 6e 64 6f 77 22  2c 2c 42 4c 4b 25 3a e1  |nWindow",,BLK%:.|
00017b30  0d 59 f6 04 0d 5a 00 4c  dd a4 67 73 74 72 28 41  |.Y...Z.L..gstr(A|
00017b40  44 25 29 3a 57 24 3d 22  22 3a e7 20 3f 41 44 25  |D%):W$="":. ?AD%|
00017b50  3c 33 32 20 8c 20 3d 57  24 20 8b 20 f5 3a 57 24  |<32 . =W$ . .:W$|
00017b60  3d 57 24 2b bd 28 3f 41  44 25 29 3a 41 44 25 2b  |=W$+.(?AD%):AD%+|
00017b70  3d 31 3a fd 20 3f 41 44  25 3c 33 32 3a 3d 57 24  |=1:. ?AD%<32:=W$|
00017b80  0d 5a 0a 04 0d 5a 14 6a  dd a4 67 65 74 69 63 6f  |.Z...Z.j..getico|
00017b90  6e 28 57 48 25 2c 49 43  25 29 3a 21 49 43 42 4c  |n(WH%,IC%):!ICBL|
00017ba0  4b 25 3d 48 41 4e 44 25  28 57 48 25 29 3a 49 43  |K%=HAND%(WH%):IC|
00017bb0  42 4c 4b 25 21 34 3d 49  43 25 3a c8 99 20 22 57  |BLK%!4=IC%:.. "W|
00017bc0  69 6d 70 5f 47 65 74 49  63 6f 6e 53 74 61 74 65  |imp_GetIconState|
00017bd0  22 2c 2c 49 43 42 4c 4b  25 3a 3d a4 67 73 74 72  |",,ICBLK%:=.gstr|
00017be0  28 21 28 49 43 42 4c 4b  25 2b 32 38 29 29 0d 5a  |(!(ICBLK%+28)).Z|
00017bf0  1e 04 0d 5a 28 a4 dd f2  73 65 74 69 63 6f 6e 28  |...Z(...seticon(|
00017c00  57 48 25 2c 49 43 25 2c  53 45 54 24 29 3a 21 49  |WH%,IC%,SET$):!I|
00017c10  43 42 4c 4b 25 3d 48 41  4e 44 25 28 57 48 25 29  |CBLK%=HAND%(WH%)|
00017c20  3a 49 43 42 4c 4b 25 21  34 3d 49 43 25 3a c8 99  |:ICBLK%!4=IC%:..|
00017c30  20 22 57 69 6d 70 5f 47  65 74 49 63 6f 6e 53 74  | "Wimp_GetIconSt|
00017c40  61 74 65 22 2c 2c 49 43  42 4c 4b 25 3a 49 43 42  |ate",,ICBLK%:ICB|
00017c50  4c 4b 25 21 38 3d 30 3a  49 43 42 4c 4b 25 21 31  |LK%!8=0:ICBLK%!1|
00017c60  32 3d 30 3a 24 28 49 43  42 4c 4b 25 21 32 38 29  |2=0:$(ICBLK%!28)|
00017c70  3d 53 45 54 24 3a c8 99  20 22 57 69 6d 70 5f 53  |=SET$:.. "Wimp_S|
00017c80  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 49 43  |etIconState",,IC|
00017c90  42 4c 4b 25 3a e1 0d 5a  32 04 0d 5a 3c 71 dd a4  |BLK%:..Z2..Z<q..|
00017ca0  68 69 67 68 28 57 48 25  2c 49 43 25 29 3a 21 49  |high(WH%,IC%):!I|
00017cb0  43 42 4c 4b 25 3d 48 41  4e 44 25 28 57 48 25 29  |CBLK%=HAND%(WH%)|
00017cc0  3a 49 43 42 4c 4b 25 21  34 3d 49 43 25 3a c8 99  |:ICBLK%!4=IC%:..|
00017cd0  20 22 57 69 6d 70 5f 47  65 74 49 63 6f 6e 53 74  | "Wimp_GetIconSt|
00017ce0  61 74 65 22 2c 2c 49 43  42 4c 4b 25 3a 3d 28 28  |ate",,ICBLK%:=((|
00017cf0  3f 28 49 43 42 4c 4b 25  2b 32 36 29 29 20 80 20  |?(ICBLK%+26)) . |
00017d00  25 31 30 30 30 30 30 29  3d 33 32 0d 5a 46 04 0d  |%100000)=32.ZF..|
00017d10  5a 50 18 dd f2 73 68 61  64 65 69 63 6f 6e 28 57  |ZP...shadeicon(W|
00017d20  48 25 2c 49 43 25 29 0d  5a 5a 23 21 49 43 42 4c  |H%,IC%).ZZ#!ICBL|
00017d30  4b 25 3d 48 41 4e 44 25  28 57 48 25 29 3a 49 43  |K%=HAND%(WH%):IC|
00017d40  42 4c 4b 25 21 34 3d 49  43 25 0d 5a 64 38 49 43  |BLK%!4=IC%.Zd8IC|
00017d50  42 4c 4b 25 21 38 3d 25  31 30 30 30 30 30 30 30  |BLK%!8=%10000000|
00017d60  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 3a  |000000000000000:|
00017d70  49 43 42 4c 4b 25 21 31  32 3d 49 43 42 4c 4b 25  |ICBLK%!12=ICBLK%|
00017d80  21 38 0d 5a 6e 22 c8 99  20 22 57 69 6d 70 5f 53  |!8.Zn".. "Wimp_S|
00017d90  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 49 43  |etIconState",,IC|
00017da0  42 4c 4b 25 0d 5a 78 05  e1 0d 5a 82 04 0d 5a 8c  |BLK%.Zx...Z...Z.|
00017db0  18 dd f2 63 6c 65 61 72  69 63 6f 6e 28 57 48 25  |...clearicon(WH%|
00017dc0  2c 49 43 25 29 0d 5a 96  23 21 49 43 42 4c 4b 25  |,IC%).Z.#!ICBLK%|
00017dd0  3d 48 41 4e 44 25 28 57  48 25 29 3a 49 43 42 4c  |=HAND%(WH%):ICBL|
00017de0  4b 25 21 34 3d 49 43 25  0d 5a a0 31 49 43 42 4c  |K%!4=IC%.Z.1ICBL|
00017df0  4b 25 21 38 3d 30 3a 49  43 42 4c 4b 25 21 31 32  |K%!8=0:ICBLK%!12|
00017e00  3d 25 31 30 30 30 30 30  30 30 30 30 30 30 30 30  |=%10000000000000|
00017e10  30 30 30 30 30 30 30 30  30 0d 5a aa 22 c8 99 20  |000000000.Z.".. |
00017e20  22 57 69 6d 70 5f 53 65  74 49 63 6f 6e 53 74 61  |"Wimp_SetIconSta|
00017e30  74 65 22 2c 2c 49 43 42  4c 4b 25 0d 5a b4 05 e1  |te",,ICBLK%.Z...|
00017e40  0d 5a be 04 0d 5a c8 5c  dd f2 70 6f 69 6e 74 3a  |.Z...Z.\..point:|
00017e50  c8 99 20 22 57 69 6d 70  5f 47 65 74 50 6f 69 6e  |.. "Wimp_GetPoin|
00017e60  74 65 72 49 6e 66 6f 22  2c 2c 50 4f 49 25 3a 4d  |terInfo",,POI%:M|
00017e70  4f 58 25 3d 21 50 4f 49  25 3a 4d 4f 59 25 3d 50  |OX%=!POI%:MOY%=P|
00017e80  4f 49 25 21 34 3a 4d 4f  42 25 3d 50 4f 49 25 21  |OI%!4:MOB%=POI%!|
00017e90  38 3a 4d 4f 48 25 3d 50  4f 49 25 21 31 32 3a e1  |8:MOH%=POI%!12:.|
00017ea0  0d 5a d2 04 0d 5a dc 8e  dd f2 77 69 6e 64 6e 61  |.Z...Z....windna|
00017eb0  6d 65 28 57 48 25 2c 53  45 54 24 29 3a 21 42 4c  |me(WH%,SET$):!BL|
00017ec0  4b 25 3d 48 41 4e 44 25  28 57 48 25 29 3a c8 99  |K%=HAND%(WH%):..|
00017ed0  20 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  | "Wimp_GetWindow|
00017ee0  53 74 61 74 65 22 2c 2c  42 4c 4b 25 3a 57 49 46  |State",,BLK%:WIF|
00017ef0  25 3d 42 4c 4b 25 21 32  38 3a c8 99 20 22 57 69  |%=BLK%!28:.. "Wi|
00017f00  6d 70 5f 47 65 74 57 69  6e 64 6f 77 49 6e 66 6f  |mp_GetWindowInfo|
00017f10  22 2c 2c 42 4c 4b 25 3a  c8 99 22 57 69 6d 70 5f  |",,BLK%:.."Wimp_|
00017f20  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 42 4c  |CloseWindow",,BL|
00017f30  4b 25 0d 5a e6 43 41 44  25 3d 42 4c 4b 25 21 37  |K%.Z.CAD%=BLK%!7|
00017f40  36 3a 42 4c 4b 25 21 32  38 3d 57 49 46 25 3a 24  |6:BLK%!28=WIF%:$|
00017f50  41 44 25 3d 53 45 54 24  3a c8 99 20 22 57 69 6d  |AD%=SET$:.. "Wim|
00017f60  70 5f 4f 70 65 6e 57 69  6e 64 6f 77 22 2c 2c 42  |p_OpenWindow",,B|
00017f70  4c 4b 25 3a e1 0d 5a f0  04 0d 5a fa 0d dd f2 64  |LK%:..Z...Z....d|
00017f80  72 61 67 66 69 6e 0d 5b  04 3a 46 24 3d a4 67 65  |ragfin.[.:F$=.ge|
00017f90  74 69 63 6f 6e 28 44 52  41 47 25 2c 31 29 3a 54  |ticon(DRAG%,1):T|
00017fa0  24 3d 22 22 3a e7 20 a7  46 24 2c 22 2e 22 29 3d  |$="":. .F$,".")=|
00017fb0  30 20 8c 20 54 24 3d 46  24 3a e5 20 8d 50 62 5b  |0 . T$=F$:. .Pb[|
00017fc0  0d 5b 0e 1f e7 20 c2 46  24 2c 31 29 3d 22 2e 22  |.[... .F$,1)="."|
00017fd0  20 8c 20 54 24 3d 22 22  3a e5 20 8d 50 62 5b 0d  | . T$="":. .Pb[.|
00017fe0  5b 18 34 4b 25 3d a9 28  46 24 29 3a f5 3a 54 24  |[.4K%=.(F$):.:T$|
00017ff0  3d c1 46 24 2c 4b 25 2c  31 29 2b 54 24 3a 4b 25  |=.F$,K%,1)+T$:K%|
00018000  2d 3d 31 3a fd 20 c1 46  24 2c 4b 25 2c 31 29 3d  |-=1:. .F$,K%,1)=|
00018010  22 2e 22 0d 5b 22 22 c8  99 20 22 57 69 6d 70 5f  |".".["".. "Wimp_|
00018020  47 65 74 50 6f 69 6e 74  65 72 49 6e 66 6f 22 2c  |GetPointerInfo",|
00018030  2c 50 4f 49 25 0d 5b 2c  87 50 4f 49 25 21 32 30  |,POI%.[,.POI%!20|
00018040  3d 36 34 3a 50 4f 49 25  21 33 32 3d 30 3a 50 4f  |=64:POI%!32=0:PO|
00018050  49 25 21 33 36 3d 31 3a  50 4f 49 25 21 34 30 3d  |I%!36=1:POI%!40=|
00018060  50 4f 49 25 21 31 32 3a  50 4f 49 25 21 34 34 3d  |POI%!12:POI%!44=|
00018070  50 4f 49 25 21 31 36 3a  50 4f 49 25 21 34 38 3d  |POI%!16:POI%!48=|
00018080  21 50 4f 49 25 3a 50 4f  49 25 21 35 32 3d 50 4f  |!POI%:POI%!52=PO|
00018090  49 25 21 34 3a 50 4f 49  25 21 35 36 3d 32 30 34  |I%!4:POI%!56=204|
000180a0  38 3a 50 4f 49 25 21 36  30 3d 26 35 35 36 3a 24  |8:POI%!60=&556:$|
000180b0  28 50 4f 49 25 2b 36 34  29 3d 54 24 0d 5b 36 34  |(POI%+64)=T$.[64|
000180c0  c8 99 20 22 57 69 6d 70  5f 53 65 6e 64 4d 65 73  |.. "Wimp_SendMes|
000180d0  73 61 67 65 22 2c 31 37  2c 50 4f 49 25 2b 32 30  |sage",17,POI%+20|
000180e0  2c 50 4f 49 25 21 31 32  2c 50 4f 49 25 21 31 36  |,POI%!12,POI%!16|
000180f0  0d 5b 40 05 e1 0d 5b 4a  04 0d 5b 54 0f dd f2 73  |.[@...[J..[T...s|
00018100  74 61 72 74 64 72 61 67  0d 5b 5e 25 c8 99 20 22  |tartdrag.[^%.. "|
00018110  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
00018120  61 74 65 22 2c 2c 42 4c  4b 25 2b 31 32 0d 5b 68  |ate",,BLK%+12.[h|
00018130  43 58 25 3d 42 4c 4b 25  21 31 36 3a 59 25 3d 42  |CX%=BLK%!16:Y%=B|
00018140  4c 4b 25 21 32 38 3a 42  4c 4b 25 21 31 36 3d 30  |LK%!28:BLK%!16=0|
00018150  3a c8 99 20 22 57 69 6d  70 5f 47 65 74 49 63 6f  |:.. "Wimp_GetIco|
00018160  6e 53 74 61 74 65 22 2c  2c 42 4c 4b 25 2b 31 32  |nState",,BLK%+12|
00018170  0d 5b 72 29 42 4c 4b 25  21 31 36 3d 35 3a 42 4c  |.[r)BLK%!16=5:BL|
00018180  4b 25 21 32 30 2b 3d 58  25 2d 32 3a 42 4c 4b 25  |K%!20+=X%-2:BLK%|
00018190  21 32 34 2b 3d 59 25 2d  34 0d 5b 7c 1d 42 4c 4b  |!24+=Y%-4.[|.BLK|
000181a0  25 21 32 38 2b 3d 58 25  2b 32 3a 42 4c 4b 25 21  |%!28+=X%+2:BLK%!|
000181b0  33 32 2b 3d 59 25 0d 5b  86 58 42 4c 4b 25 21 33  |32+=Y%.[.XBLK%!3|
000181c0  36 3d 30 3a 42 4c 4b 25  21 34 30 3d 30 3a 42 4c  |6=0:BLK%!40=0:BL|
000181d0  4b 25 21 34 34 3d 26 37  46 46 46 46 46 46 46 3a  |K%!44=&7FFFFFFF:|
000181e0  42 4c 4b 25 21 34 38 3d  26 37 46 46 46 46 46 46  |BLK%!48=&7FFFFFF|
000181f0  46 3a c8 99 20 22 57 69  6d 70 5f 44 72 61 67 42  |F:.. "Wimp_DragB|
00018200  6f 78 22 2c 2c 42 4c 4b  25 2b 31 32 3a e1 0d 5b  |ox",,BLK%+12:..[|
00018210  90 04 0d 5b 9a 13 dd f2  69 6e 6d 65 73 73 61 67  |...[....inmessag|
00018220  65 28 4d 25 29 0d 5b a4  0b c8 8e 20 4d 25 20 ca  |e(M%).[.... M% .|
00018230  0d 5b ae 0c c9 20 30 3a  f2 64 69 65 0d 5b b8 11  |.[... 0:.die.[..|
00018240  c9 20 32 3a f2 64 72 61  67 73 61 76 65 0d 5b c2  |. 2:.dragsave.[.|
00018250  28 c9 20 35 3a e7 20 42  4c 4b 25 21 31 32 3d 30  |(. 5:. BLK%!12=0|
00018260  20 80 20 42 4c 4b 25 21  34 30 3d 26 35 35 36 20  | . BLK%!40=&556 |
00018270  f2 6c 6f 61 64 0d 5b cc  4f c9 20 33 3a e7 20 42  |.load.[.O. 3:. B|
00018280  4c 4b 25 21 31 32 3d 30  20 80 20 42 4c 4b 25 21  |LK%!12=0 . BLK%!|
00018290  34 30 3d 26 35 35 36 20  f2 6c 6f 61 64 20 8b 20  |40=&556 .load . |
000182a0  e7 20 42 4c 4b 25 21 31  32 3d 30 20 80 20 42 4c  |. BLK%!12=0 . BL|
000182b0  4b 25 21 34 30 3d 26 46  46 39 20 8c 20 f2 69 6d  |K%!40=&FF9 . .im|
000182c0  70 6f 72 74 0d 5b d6 07  cb 3a e1 0d 5b e0 04 0d  |port.[...:..[...|
000182d0  5b ea 68 dd f2 73 61 76  65 6f 6b 3a 41 24 3d a4  |[.h..saveok:A$=.|
000182e0  67 65 74 69 63 6f 6e 28  30 2c 31 29 3a e7 20 a7  |geticon(0,1):. .|
000182f0  41 24 2c 22 2e 22 29 3d  30 20 8c 20 f2 6d 65 73  |A$,".")=0 . .mes|
00018300  73 61 67 65 28 34 2c 22  54 6f 20 73 61 76 65 2c  |sage(4,"To save,|
00018310  20 64 72 61 67 20 74 68  65 20 69 63 6f 6e 20 74  | drag the icon t|
00018320  6f 20 61 20 64 69 72 65  63 74 6f 72 79 20 76 69  |o a directory vi|
00018330  65 77 65 72 2e 22 29 0d  5b f4 1d f4 20 2a 2a 20  |ewer.").[... ** |
00018340  53 41 56 45 20 52 4f 55  54 49 4e 45 20 48 45 52  |SAVE ROUTINE HER|
00018350  45 20 2a 2a 0d 5b fe 0a  e5 20 8d 40 4e 5c 0d 5c  |E **.[... .@N\.\|
00018360  08 05 e1 0d 5c 12 21 dd  f2 64 72 61 67 73 61 76  |....\.!..dragsav|
00018370  65 3a 41 24 3d a4 67 65  74 6e 61 6d 65 3a f2 6b  |e:A$=.getname:.k|
00018380  69 6c 6c 66 0d 5c 1c 16  e7 20 44 52 41 47 25 3d  |illf.\... DRAG%=|
00018390  37 20 8c 20 e5 20 8d 70  4a 5c 0d 5c 26 14 f2 73  |7 . . .pJ\.\&..s|
000183a0  65 74 69 63 6f 6e 28 30  2c 31 2c 41 24 29 0d 5c  |eticon(0,1,A$).\|
000183b0  30 1b c8 99 20 22 57 69  6d 70 5f 43 72 65 61 74  |0... "Wimp_Creat|
000183c0  65 4d 65 6e 75 22 2c 2d  31 0d 5c 3a 53 42 4c 4b  |eMenu",-1.\:SBLK|
000183d0  25 21 31 32 3d 42 4c 4b  25 21 38 3a 42 4c 4b 25  |%!12=BLK%!8:BLK%|
000183e0  21 31 36 3d 33 3a 21 42  4c 4b 25 3d 36 34 3a c8  |!16=3:!BLK%=64:.|
000183f0  99 20 22 57 69 6d 70 5f  53 65 6e 64 4d 65 73 73  |. "Wimp_SendMess|
00018400  61 67 65 22 2c 31 37 2c  42 4c 4b 25 2c 42 4c 4b  |age",17,BLK%,BLK|
00018410  25 21 32 30 2c 42 4c 4b  25 21 32 34 0d 5c 44 1d  |%!20,BLK%!24.\D.|
00018420  f4 20 2a 2a 20 53 41 56  45 20 52 4f 55 54 49 4e  |. ** SAVE ROUTIN|
00018430  45 20 48 45 52 45 20 2a  2a 0d 5c 4e 25 f2 6b 69  |E HERE **.\N%.ki|
00018440  6c 6c 66 3a 46 55 53 45  25 3d 2d 31 3a c8 99 26  |llf:FUSE%=-1:..&|
00018450  32 45 2c 32 36 38 2c 50  49 43 25 2c 41 24 0d 5c  |2E,268,PIC%,A$.\|
00018460  58 1b ff 28 22 53 45 54  54 59 50 45 20 22 2b 41  |X..("SETTYPE "+A|
00018470  24 2b 22 20 35 35 36 22  29 0d 5c 62 24 50 49 43  |$+" 556").\b$PIC|
00018480  24 3d a4 6c 65 61 66 28  41 24 29 3a f2 77 69 6e  |$=.leaf(A$):.win|
00018490  64 6e 61 6d 65 28 32 2c  50 49 43 24 29 0d 5c 6c  |dname(2,PIC$).\l|
000184a0  05 e1 0d 5c 76 04 0d 5c  80 6e dd f2 73 70 72 69  |...\v..\.n..spri|
000184b0  74 65 73 61 76 65 6f 6b  3a 41 24 3d a4 67 65 74  |tesaveok:A$=.get|
000184c0  69 63 6f 6e 28 37 2c 31  29 3a e7 20 a7 41 24 2c  |icon(7,1):. .A$,|
000184d0  22 2e 22 29 3d 30 20 8c  20 f2 6d 65 73 73 61 67  |".")=0 . .messag|
000184e0  65 28 34 2c 22 54 6f 20  73 61 76 65 2c 20 64 72  |e(4,"To save, dr|
000184f0  61 67 20 74 68 65 20 69  63 6f 6e 20 74 6f 20 61  |ag the icon to a|
00018500  20 64 69 72 65 63 74 6f  72 79 20 76 69 65 77 65  | directory viewe|
00018510  72 2e 22 29 0d 5c 8a 14  f2 73 65 74 69 63 6f 6e  |r.").\...seticon|
00018520  28 37 2c 31 2c 41 24 29  0d 5c 94 1b c8 99 20 22  |(7,1,A$).\.... "|
00018530  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
00018540  2c 2d 31 0d 5c 9e 53 42  4c 4b 25 21 31 32 3d 42  |,-1.\.SBLK%!12=B|
00018550  4c 4b 25 21 38 3a 42 4c  4b 25 21 31 36 3d 33 3a  |LK%!8:BLK%!16=3:|
00018560  21 42 4c 4b 25 3d 36 34  3a c8 99 20 22 57 69 6d  |!BLK%=64:.. "Wim|
00018570  70 5f 53 65 6e 64 4d 65  73 73 61 67 65 22 2c 31  |p_SendMessage",1|
00018580  37 2c 42 4c 4b 25 2c 42  4c 4b 25 21 32 30 2c 42  |7,BLK%,BLK%!20,B|
00018590  4c 4b 25 21 32 34 0d 5c  a8 1d f4 20 2a 2a 20 53  |LK%!24.\... ** S|
000185a0  41 56 45 20 52 4f 55 54  49 4e 45 20 48 45 52 45  |AVE ROUTINE HERE|
000185b0  20 2a 2a 0d 5c b2 2e e7  20 a9 28 a4 6c 65 61 66  | **.\... .(.leaf|
000185c0  28 41 24 29 29 3e 31 30  20 8c 20 f2 6d 65 73 73  |(A$))>10 . .mess|
000185d0  61 67 65 28 39 2c 22 42  61 64 20 6e 61 6d 65 22  |age(9,"Bad name"|
000185e0  29 0d 5c bc 78 e7 20 46  55 53 45 25 3d 33 35 20  |).\.x. FUSE%=35 |
000185f0  8c 20 c8 99 26 32 45 2c  32 38 32 2c 53 50 42 55  |. ..&2E,282,SPBU|
00018600  46 25 2c 22 47 52 41 42  22 2c a4 6c 65 61 66 28  |F%,"GRAB",.leaf(|
00018610  41 24 29 3a c8 99 26 32  45 2c 32 36 38 2c 53 50  |A$):..&2E,268,SP|
00018620  42 55 46 25 2c 41 24 3a  46 55 53 54 25 3d 30 3a  |BUF%,A$:FUST%=0:|
00018630  f2 63 6c 6f 73 65 77 69  6e 64 28 37 29 3a f2 73  |.closewind(7):.s|
00018640  70 69 6e 69 74 20 8b 20  c8 99 26 32 45 2c 32 36  |pinit . ..&2E,26|
00018650  38 2c 50 49 43 25 2c 41  24 0d 5c c6 05 e1 0d 5c  |8,PIC%,A$.\....\|
00018660  d0 04 0d 5c da 4b dd a4  67 65 74 6e 61 6d 65 3a  |...\.K..getname:|
00018670  57 24 3d 22 22 3a 50 25  3d 42 4c 4b 25 2b 34 34  |W$="":P%=BLK%+44|
00018680  3a c8 95 20 3f 50 25 3c  3e 30 20 80 20 3f 50 25  |:.. ?P%<>0 . ?P%|
00018690  3c 3e 31 33 3a 57 24 3d  57 24 2b bd 28 3f 50 25  |<>13:W$=W$+.(?P%|
000186a0  29 3a 50 25 2b 3d 31 3a  ce 3a 3d 57 24 0d 5c e4  |):P%+=1:.:=W$.\.|
000186b0  04 0d 5c ee 0a dd f2 6c  6f 61 64 0d 5c f8 56 41  |..\....load.\.VA|
000186c0  24 3d a4 67 65 74 6e 61  6d 65 3a 42 4c 4b 25 21  |$=.getname:BLK%!|
000186d0  31 32 3d 42 4c 4b 25 21  38 3a 42 4c 4b 25 21 31  |12=BLK%!8:BLK%!1|
000186e0  36 3d 34 3a 21 42 4c 4b  25 3d 36 34 3a c8 99 20  |6=4:!BLK%=64:.. |
000186f0  22 57 69 6d 70 5f 53 65  6e 64 4d 65 73 73 61 67  |"Wimp_SendMessag|
00018700  65 22 2c 31 37 2c 42 4c  4b 25 2c 42 4c 4b 25 21  |e",17,BLK%,BLK%!|
00018710  34 0d 5d 02 14 f2 73 65  74 69 63 6f 6e 28 30 2c  |4.]...seticon(0,|
00018720  31 2c 41 24 29 0d 5d 0c  1d f4 20 2a 2a 20 4c 4f  |1,A$).]... ** LO|
00018730  41 44 20 52 4f 55 54 49  4e 45 20 48 45 52 45 20  |AD ROUTINE HERE |
00018740  2a 2a 0d 5d 16 13 f2 6b  69 6c 6c 66 3a 46 55 53  |**.]...killf:FUS|
00018750  45 25 3d 2d 31 0d 5d 20  20 ff 28 22 4c 4f 41 44  |E%=-1.]  .("LOAD|
00018760  20 22 2b 41 24 2b 22 20  22 2b c3 7e 28 50 49 43  | "+A$+" "+.~(PIC|
00018770  25 2b 34 29 29 0d 5d 2a  0a f2 6b 69 6c 6c 66 0d  |%+4)).]*..killf.|
00018780  5d 34 24 50 49 43 24 3d  a4 6c 65 61 66 28 41 24  |]4$PIC$=.leaf(A$|
00018790  29 3a f2 77 69 6e 64 6e  61 6d 65 28 32 2c 50 49  |):.windname(2,PI|
000187a0  43 24 29 0d 5d 3e 12 f2  66 6f 72 63 65 64 72 61  |C$).]>..forcedra|
000187b0  77 6d 61 69 6e 0d 5d 48  05 e1 0d 5d 52 04 0d 5d  |wmain.]H...]R..]|
000187c0  5c 0b dd f2 63 68 61 72  73 0d 5d 66 1f ef 32 33  |\...chars.]f..23|
000187d0  2c 32 34 38 2c 30 2c 30  2c 30 2c 32 35 35 2c 32  |,248,0,0,0,255,2|
000187e0  35 35 2c 30 2c 30 2c 30  0d 5d 70 23 ef 32 33 2c  |55,0,0,0.]p#.23,|
000187f0  32 34 39 2c 30 2c 30 2c  31 32 36 2c 32 35 35 2c  |249,0,0,126,255,|
00018800  32 35 35 2c 31 32 36 2c  30 2c 30 0d 5d 7a 25 ef  |255,126,0,0.]z%.|
00018810  32 33 2c 32 35 30 2c 30  2c 36 30 2c 31 32 36 2c  |23,250,0,60,126,|
00018820  32 35 35 2c 32 35 35 2c  31 32 36 2c 36 30 2c 30  |255,255,126,60,0|
00018830  0d 5d 84 29 ef 32 33 2c  32 35 31 2c 36 30 2c 31  |.].).23,251,60,1|
00018840  32 36 2c 32 35 35 2c 32  35 35 2c 32 35 35 2c 32  |26,255,255,255,2|
00018850  35 35 2c 31 32 36 2c 36  30 0d 5d 8e 27 ef 32 33  |55,126,60.].'.23|
00018860  2c 32 35 32 2c 32 34 2c  36 30 2c 31 32 36 2c 31  |,252,24,60,126,1|
00018870  32 36 2c 31 32 36 2c 31  32 36 2c 36 30 2c 32 34  |26,126,126,60,24|
00018880  0d 5d 98 23 ef 32 33 2c  32 35 33 2c 32 34 2c 36  |.].#.23,253,24,6|
00018890  30 2c 36 30 2c 36 30 2c  36 30 2c 36 30 2c 36 30  |0,60,60,60,60,60|
000188a0  2c 32 34 0d 5d a2 23 ef  32 33 2c 32 35 34 2c 32  |,24.].#.23,254,2|
000188b0  34 2c 32 34 2c 32 34 2c  32 34 2c 32 34 2c 32 34  |4,24,24,24,24,24|
000188c0  2c 32 34 2c 32 34 0d 5d  ac 05 e1 0d 5d b6 04 0d  |,24,24.]....]...|
000188d0  5d c0 0f dd f2 62 61 63  6b 75 70 70 69 63 0d 5d  |]....backuppic.]|
000188e0  ca 0e 21 56 41 52 53 3d  50 49 43 25 0d 5d d4 11  |..!VARS=PIC%.]..|
000188f0  56 41 52 53 21 34 3d 53  50 42 55 46 25 0d 5d de  |VARS!4=SPBUF%.].|
00018900  0b 41 25 3d 56 41 52 53  0d 5d e8 0f d6 20 62 61  |.A%=VARS.]... ba|
00018910  63 6b 75 70 70 69 63 0d  5d f2 05 e1 0d 5d fc 04  |ckuppic.]....]..|
00018920  0d 5e 06 0e dd f2 66 69  6c 6c 6d 61 73 6b 0d 5e  |.^....fillmask.^|
00018930  10 11 56 41 52 53 21 38  3d 53 50 42 55 46 25 0d  |..VARS!8=SPBUF%.|
00018940  5e 1a 12 56 41 52 53 21  31 32 3d 54 52 41 53 50  |^..VARS!12=TRASP|
00018950  25 0d 5e 24 10 56 41 52  53 21 31 36 3d 42 54 43  |%.^$.VARS!16=BTC|
00018960  25 0d 5e 2e 0b 41 25 3d  56 41 52 53 0d 5e 38 0e  |%.^..A%=VARS.^8.|
00018970  d6 20 66 69 6c 6c 6d 61  73 6b 0d 5e 42 05 e1 0d  |. fillmask.^B...|
00018980  5e 4c 04 0d 5e 56 0e dd  a4 6c 65 61 66 28 46 24  |^L..^V...leaf(F$|
00018990  29 0d 5e 60 16 e7 20 a7  46 24 2c 22 2e 22 29 3d  |).^`.. .F$,".")=|
000189a0  30 20 8c 20 3d 46 24 0d  5e 6a 09 54 24 3d 22 22  |0 . =F$.^j.T$=""|
000189b0  0d 5e 74 0b 4c 50 25 3d  a9 46 24 0d 5e 7e 16 c8  |.^t.LP%=.F$.^~..|
000189c0  95 20 c1 46 24 2c 4c 50  25 2c 31 29 3c 3e 22 2e  |. .F$,LP%,1)<>".|
000189d0  22 0d 5e 88 14 54 24 3d  c1 46 24 2c 4c 50 25 2c  |".^..T$=.F$,LP%,|
000189e0  31 29 2b 54 24 0d 5e 92  0a 4c 50 25 2d 3d 31 0d  |1)+T$.^..LP%-=1.|
000189f0  5e 9c 05 ce 0d 5e a6 07  3d 54 24 0d 5e b0 04 0d  |^....^..=T$.^...|
00018a00  5e ba 10 dd f2 73 70 62  75 66 28 42 53 25 29 0d  |^....spbuf(BS%).|
00018a10  5e c4 2b e7 20 42 53 25  3d 30 20 8c 20 c8 99 20  |^.+. BS%=0 . .. |
00018a20  22 57 69 6d 70 5f 53 6c  6f 74 53 69 7a 65 22 2c  |"Wimp_SlotSize",|
00018a30  43 55 53 4c 25 2c 2d 31  3a e1 0d 5e ce 23 c8 99  |CUSL%,-1:..^.#..|
00018a40  20 22 57 69 6d 70 5f 53  6c 6f 74 53 69 7a 65 22  | "Wimp_SlotSize"|
00018a50  2c 43 55 53 4c 25 2b 42  53 25 2c 2d 31 0d 5e d8  |,CUSL%+BS%,-1.^.|
00018a60  23 c8 99 20 22 57 69 6d  70 5f 53 6c 6f 74 53 69  |#.. "Wimp_SlotSi|
00018a70  7a 65 22 2c 2d 31 2c 2d  31 20 b8 20 53 50 4c 25  |ze",-1,-1 . SPL%|
00018a80  0d 5e e2 4c e7 20 53 50  4c 25 3c 28 43 55 53 4c  |.^.L. SPL%<(CUSL|
00018a90  25 2b 42 53 25 29 20 8c  20 c8 99 20 22 57 69 6d  |%+BS%) . .. "Wim|
00018aa0  70 5f 53 6c 6f 74 53 69  7a 65 22 2c 43 55 53 4c  |p_SlotSize",CUSL|
00018ab0  25 2c 2d 31 3a 53 50 4e  45 25 3d 42 53 25 3a 51  |%,-1:SPNE%=BS%:Q|
00018ac0  25 3d b9 3a e1 20 8b 20  51 25 3d a3 0d 5e ec 0f  |%=.:. . Q%=..^..|
00018ad0  21 53 50 42 55 46 25 3d  42 53 25 0d 5e f6 0f 53  |!SPBUF%=BS%.^..S|
00018ae0  50 42 55 46 25 21 38 3d  31 36 0d 5f 00 14 c8 99  |PBUF%!8=16._....|
00018af0  26 32 45 2c 32 36 35 2c  53 50 42 55 46 25 0d 5f  |&2E,265,SPBUF%._|
00018b00  0a 0e 53 50 53 49 5a 25  3d 42 53 25 0d 5f 14 05  |..SPSIZ%=BS%._..|
00018b10  e1 0d 5f 1e 04 0d 5f 28  7c dd f2 73 70 62 75 66  |.._..._(|..spbuf|
00018b20  65 72 72 3a f2 6b 69 6c  6c 66 3a 46 55 53 54 25  |err:.killf:FUST%|
00018b30  3d 2d 31 3a 46 55 53 45  25 3d 2d 31 3a f2 77 69  |=-1:FUSE%=-1:.wi|
00018b40  6e 64 6e 61 6d 65 28 32  2c 50 49 43 24 29 3a f2  |ndname(2,PIC$):.|
00018b50  6d 65 73 73 61 67 65 28  30 2c 22 4e 6f 20 72 6f  |message(0,"No ro|
00018b60  6f 6d 20 74 6f 20 73 74  6f 72 65 20 73 70 72 69  |om to store spri|
00018b70  74 65 2e 20 28 22 2b c3  28 53 50 4e 45 25 29 2b  |te. ("+.(SPNE%)+|
00018b80  22 20 62 79 74 65 73 20  6e 65 65 64 65 64 29 22  |" bytes needed)"|
00018b90  29 0d 5f 32 04 0d 5f 3c  1d dd a4 73 70 72 69 74  |)._2.._<...sprit|
00018ba0  65 73 69 7a 65 28 44 58  25 2c 44 59 25 2c 50 4c  |esize(DX%,DY%,PL|
00018bb0  25 29 0d 5f 46 21 44 58  25 3d 94 28 44 58 25 29  |%)._F!DX%=.(DX%)|
00018bc0  20 81 20 32 3a 44 59 25  3d 94 28 44 59 25 29 20  | . 2:DY%=.(DY%) |
00018bd0  81 20 34 0d 5f 50 27 e7  20 28 44 58 25 20 83 20  |. 4._P'. (DX% . |
00018be0  34 29 3e 30 20 8c 20 44  58 25 3d 28 28 44 58 25  |4)>0 . DX%=((DX%|
00018bf0  20 81 20 34 29 2b 31 29  2a 34 0d 5f 5a 0b 44 58  | . 4)+1)*4._Z.DX|
00018c00  25 2b 3d 31 36 0d 5f 64  1b 3d 28 44 58 25 2a 44  |%+=16._d.=(DX%*D|
00018c10  59 25 2a 28 50 4c 25 2b  31 29 29 2b 31 30 32 34  |Y%*(PL%+1))+1024|
00018c20  0d 5f 6e 04 0d 5f 78 0a  dd f2 68 65 6c 70 0d 5f  |._n.._x...help._|
00018c30  82 36 f2 73 65 74 69 63  6f 6e 28 39 2c 30 2c 22  |.6.seticon(9,0,"|
00018c40  22 29 3a f2 73 65 74 69  63 6f 6e 28 39 2c 31 2c  |"):.seticon(9,1,|
00018c50  22 22 29 3a f2 73 65 74  69 63 6f 6e 28 39 2c 32  |""):.seticon(9,2|
00018c60  2c 22 22 29 0d 5f 8c 0e  c8 8e 20 46 55 53 45 25  |,"")._.... FUSE%|
00018c70  20 ca 0d 5f 96 08 c9 20  30 3a 0d 5f a0 5c f2 73  | .._... 0:._.\.s|
00018c80  65 74 69 63 6f 6e 28 39  2c 30 2c 22 43 6c 69 63  |eticon(9,0,"Clic|
00018c90  6b 20 53 45 4c 45 43 54  20 6f 76 65 72 20 61 20  |k SELECT over a |
00018ca0  70 69 78 65 6c 20 74 6f  20 63 68 61 6e 67 65 20  |pixel to change |
00018cb0  69 74 73 20 63 6f 6c 6f  75 72 20 74 6f 20 74 68  |its colour to th|
00018cc0  65 20 63 75 72 72 65 6e  74 6c 79 20 73 65 6c 65  |e currently sele|
00018cd0  63 74 65 64 22 29 0d 5f  aa 18 f2 73 65 74 69 63  |cted")._...setic|
00018ce0  6f 6e 28 39 2c 31 2c 22  6f 6e 65 2e 22 29 0d 5f  |on(9,1,"one.")._|
00018cf0  b4 08 c9 20 31 3a 0d 5f  be 5d f2 73 65 74 69 63  |... 1:._.].setic|
00018d00  6f 6e 28 39 2c 30 2c 22  48 6f 6c 64 20 64 6f 77  |on(9,0,"Hold dow|
00018d10  6e 20 53 45 4c 45 43 54  20 77 68 69 6c 65 20 6d  |n SELECT while m|
00018d20  6f 76 69 6e 67 20 74 68  65 20 6d 6f 75 73 65 20  |oving the mouse |
00018d30  74 6f 20 64 72 61 77 20  66 72 65 65 68 61 6e 64  |to draw freehand|
00018d40  20 69 6e 20 74 68 65 20  63 75 72 72 65 6e 74 6c  | in the currentl|
00018d50  79 22 29 0d 5f c8 24 f2  73 65 74 69 63 6f 6e 28  |y")._.$.seticon(|
00018d60  39 2c 31 2c 22 73 65 6c  65 63 74 65 64 20 63 6f  |9,1,"selected co|
00018d70  6c 6f 75 72 2e 22 29 0d  5f d2 08 c9 20 32 3a 0d  |lour.")._... 2:.|
00018d80  5f dc 5c f2 73 65 74 69  63 6f 6e 28 39 2c 30 2c  |_.\.seticon(9,0,|
00018d90  22 50 6f 69 6e 74 20 74  6f 20 74 68 65 20 73 74  |"Point to the st|
00018da0  61 72 74 20 6f 66 20 74  68 65 20 6c 69 6e 65 20  |art of the line |
00018db0  61 6e 64 20 63 6c 69 63  6b 20 53 45 4c 45 43 54  |and click SELECT|
00018dc0  2c 20 70 6f 69 6e 74 20  74 6f 20 74 68 65 20 65  |, point to the e|
00018dd0  6e 64 20 6f 66 20 74 68  65 22 29 0d 5f e6 59 f2  |nd of the")._.Y.|
00018de0  73 65 74 69 63 6f 6e 28  39 2c 31 2c 22 6c 69 6e  |seticon(9,1,"lin|
00018df0  65 20 61 6e 64 20 63 6c  69 63 6b 20 53 45 4c 45  |e and click SELE|
00018e00  43 54 20 61 67 61 69 6e  20 74 6f 20 66 69 78 2e  |CT again to fix.|
00018e10  20 43 6c 69 63 6b 69 6e  67 20 41 44 4a 55 53 54  | Clicking ADJUST|
00018e20  20 77 69 6c 6c 20 61 6c  6c 6f 77 20 79 6f 75 20  | will allow you |
00018e30  74 6f 22 29 0d 5f f0 35  f2 73 65 74 69 63 6f 6e  |to")._.5.seticon|
00018e40  28 39 2c 32 2c 22 72 65  70 6f 73 69 74 69 6f 6e  |(9,2,"reposition|
00018e50  20 74 68 65 20 73 74 61  72 74 20 6f 66 20 74 68  | the start of th|
00018e60  65 20 6c 69 6e 65 2e 22  29 0d 5f fa 08 c9 20 33  |e line.")._... 3|
00018e70  3a 0d 60 04 58 f2 73 65  74 69 63 6f 6e 28 39 2c  |:.`.X.seticon(9,|
00018e80  30 2c 22 53 65 74 20 74  68 65 20 64 65 6e 73 69  |0,"Set the densi|
00018e90  74 79 20 61 6e 64 20 73  70 72 65 61 64 20 77 69  |ty and spread wi|
00018ea0  74 68 20 74 68 65 20 63  6f 6e 74 72 6f 6c 20 77  |th the control w|
00018eb0  69 6e 64 6f 77 20 74 68  65 6e 20 63 6c 69 63 6b  |indow then click|
00018ec0  20 6f 6e 20 74 68 65 22  29 0d 60 0e 3d f2 73 65  | on the").`.=.se|
00018ed0  74 69 63 6f 6e 28 39 2c  31 2c 22 70 69 63 74 75  |ticon(9,1,"pictu|
00018ee0  72 65 20 74 6f 20 73 70  72 61 79 20 77 69 74 68  |re to spray with|
00018ef0  20 74 68 65 20 63 75 72  72 65 6e 74 20 63 6f 6c  | the current col|
00018f00  6f 75 72 2e 22 29 0d 60  18 08 c9 20 34 3a 0d 60  |our.").`... 4:.`|
00018f10  22 57 f2 73 65 74 69 63  6f 6e 28 39 2c 30 2c 22  |"W.seticon(9,0,"|
00018f20  53 65 74 20 74 68 65 20  62 72 75 73 68 20 73 68  |Set the brush sh|
00018f30  61 70 65 20 61 6e 64 20  73 63 61 6c 65 20 77 69  |ape and scale wi|
00018f40  74 68 20 74 68 65 20 63  6f 6e 74 72 6f 6c 20 77  |th the control w|
00018f50  69 6e 64 6f 77 20 74 68  65 6e 20 63 6c 69 63 6b  |indow then click|
00018f60  20 6f 6e 22 29 0d 60 2c  29 f2 73 65 74 69 63 6f  | on").`,).setico|
00018f70  6e 28 39 2c 31 2c 22 74  68 65 20 70 69 63 74 75  |n(9,1,"the pictu|
00018f80  72 65 20 74 6f 20 70 61  69 6e 74 2e 22 29 0d 60  |re to paint.").`|
00018f90  36 08 c9 20 35 3a 0d 60  40 5a f2 73 65 74 69 63  |6.. 5:.`@Z.setic|
00018fa0  6f 6e 28 39 2c 30 2c 22  50 6f 69 6e 74 20 74 6f  |on(9,0,"Point to|
00018fb0  20 6f 6e 65 20 63 6f 72  6e 65 72 20 6f 66 20 74  | one corner of t|
00018fc0  68 65 20 72 65 63 74 61  6e 67 6c 65 20 61 6e 64  |he rectangle and|
00018fd0  20 63 6c 69 63 6b 2e 20  4d 6f 76 65 20 74 6f 20  | click. Move to |
00018fe0  74 68 65 20 64 69 61 67  6f 6e 61 6c 6c 79 22 29  |the diagonally")|
00018ff0  0d 60 4a 59 f2 73 65 74  69 63 6f 6e 28 39 2c 31  |.`JY.seticon(9,1|
00019000  2c 22 6f 70 6f 73 69 74  65 20 63 6f 72 6e 65 72  |,"oposite corner|
00019010  20 61 6e 64 20 63 6c 69  63 6b 20 61 67 61 69 6e  | and click again|
00019020  20 74 6f 20 66 69 78 2e  20 43 6c 69 63 6b 69 6e  | to fix. Clickin|
00019030  67 20 41 44 4a 55 53 54  20 77 69 6c 6c 20 61 6c  |g ADJUST will al|
00019040  6c 6f 77 20 79 6f 75 22  29 0d 60 54 33 f2 73 65  |low you").`T3.se|
00019050  74 69 63 6f 6e 28 39 2c  32 2c 22 74 6f 20 72 65  |ticon(9,2,"to re|
00019060  70 6f 73 69 74 69 6f 6e  20 74 68 65 20 66 69 72  |position the fir|
00019070  73 74 20 63 6f 72 6e 65  72 2e 22 29 0d 60 5e 08  |st corner.").`^.|
00019080  c9 20 36 3a 0d 60 68 5a  f2 73 65 74 69 63 6f 6e  |. 6:.`hZ.seticon|
00019090  28 39 2c 30 2c 22 50 6f  69 6e 74 20 74 6f 20 6f  |(9,0,"Point to o|
000190a0  6e 65 20 63 6f 72 6e 65  72 20 6f 66 20 74 68 65  |ne corner of the|
000190b0  20 72 65 63 74 61 6e 67  6c 65 20 61 6e 64 20 63  | rectangle and c|
000190c0  6c 69 63 6b 2e 20 4d 6f  76 65 20 74 6f 20 74 68  |lick. Move to th|
000190d0  65 20 64 69 61 67 6f 6e  61 6c 6c 79 22 29 0d 60  |e diagonally").`|
000190e0  72 59 f2 73 65 74 69 63  6f 6e 28 39 2c 31 2c 22  |rY.seticon(9,1,"|
000190f0  6f 70 6f 73 69 74 65 20  63 6f 72 6e 65 72 20 61  |oposite corner a|
00019100  6e 64 20 63 6c 69 63 6b  20 61 67 61 69 6e 20 74  |nd click again t|
00019110  6f 20 66 69 78 2e 20 43  6c 69 63 6b 69 6e 67 20  |o fix. Clicking |
00019120  41 44 4a 55 53 54 20 77  69 6c 6c 20 61 6c 6c 6f  |ADJUST will allo|
00019130  77 20 79 6f 75 22 29 0d  60 7c 33 f2 73 65 74 69  |w you").`|3.seti|
00019140  63 6f 6e 28 39 2c 32 2c  22 74 6f 20 72 65 70 6f  |con(9,2,"to repo|
00019150  73 69 74 69 6f 6e 20 74  68 65 20 66 69 72 73 74  |sition the first|
00019160  20 63 6f 72 6e 65 72 2e  22 29 0d 60 86 08 c9 20  | corner.").`... |
00019170  37 3a 0d 60 90 59 f2 73  65 74 69 63 6f 6e 28 39  |7:.`.Y.seticon(9|
00019180  2c 30 2c 22 50 6f 69 6e  74 20 74 6f 20 74 68 65  |,0,"Point to the|
00019190  20 63 65 6e 74 72 65 20  6f 66 20 74 68 65 20 63  | centre of the c|
000191a0  69 72 63 6c 65 20 61 6e  64 20 63 6c 69 63 6b 2e  |ircle and click.|
000191b0  20 4d 6f 76 65 20 74 6f  20 61 6e 79 20 70 6f 69  | Move to any poi|
000191c0  6e 74 20 6f 6e 20 74 68  65 22 29 0d 60 9a 5f f2  |nt on the").`._.|
000191d0  73 65 74 69 63 6f 6e 28  39 2c 31 2c 22 63 69 72  |seticon(9,1,"cir|
000191e0  63 75 6d 66 72 65 6e 63  65 20 74 6f 20 73 65 74  |cumfrence to set|
000191f0  20 74 68 65 20 73 69 7a  65 20 61 6e 64 20 63 6c  | the size and cl|
00019200  69 63 6b 20 61 67 61 69  6e 20 74 6f 20 66 69 78  |ick again to fix|
00019210  2e 20 43 6c 69 63 6b 69  6e 67 20 41 44 4a 55 53  |. Clicking ADJUS|
00019220  54 20 61 6c 6c 6f 77 73  22 29 0d 60 a4 37 f2 73  |T allows").`.7.s|
00019230  65 74 69 63 6f 6e 28 39  2c 32 2c 22 79 6f 75 20  |eticon(9,2,"you |
00019240  74 6f 20 72 65 70 6f 73  69 74 69 6f 6e 20 74 68  |to reposition th|
00019250  65 20 63 65 6e 74 72 65  20 70 6f 69 6e 74 2e 22  |e centre point."|
00019260  29 0d 60 ae 08 c9 20 38  3a 0d 60 b8 59 f2 73 65  |).`... 8:.`.Y.se|
00019270  74 69 63 6f 6e 28 39 2c  30 2c 22 50 6f 69 6e 74  |ticon(9,0,"Point|
00019280  20 74 6f 20 74 68 65 20  63 65 6e 74 72 65 20 6f  | to the centre o|
00019290  66 20 74 68 65 20 63 69  72 63 6c 65 20 61 6e 64  |f the circle and|
000192a0  20 63 6c 69 63 6b 2e 20  4d 6f 76 65 20 74 6f 20  | click. Move to |
000192b0  61 6e 79 20 70 6f 69 6e  74 20 6f 6e 20 74 68 65  |any point on the|
000192c0  22 29 0d 60 c2 5f f2 73  65 74 69 63 6f 6e 28 39  |").`._.seticon(9|
000192d0  2c 31 2c 22 63 69 72 63  75 6d 66 72 65 6e 63 65  |,1,"circumfrence|
000192e0  20 74 6f 20 73 65 74 20  74 68 65 20 73 69 7a 65  | to set the size|
000192f0  20 61 6e 64 20 63 6c 69  63 6b 20 61 67 61 69 6e  | and click again|
00019300  20 74 6f 20 66 69 78 2e  20 43 6c 69 63 6b 69 6e  | to fix. Clickin|
00019310  67 20 41 44 4a 55 53 54  20 61 6c 6c 6f 77 73 22  |g ADJUST allows"|
00019320  29 0d 60 cc 37 f2 73 65  74 69 63 6f 6e 28 39 2c  |).`.7.seticon(9,|
00019330  32 2c 22 79 6f 75 20 74  6f 20 72 65 70 6f 73 69  |2,"you to reposi|
00019340  74 69 6f 6e 20 74 68 65  20 63 65 6e 74 72 65 20  |tion the centre |
00019350  70 6f 69 6e 74 2e 22 29  0d 60 d6 08 c9 20 39 3a  |point.").`... 9:|
00019360  0d 60 e0 5c f2 73 65 74  69 63 6f 6e 28 39 2c 30  |.`.\.seticon(9,0|
00019370  2c 22 50 6f 69 6e 74 20  74 6f 20 74 68 65 20 66  |,"Point to the f|
00019380  69 72 73 74 20 76 65 72  74 65 78 20 61 6e 64 20  |irst vertex and |
00019390  63 6c 69 63 6b 2e 20 4d  6f 76 65 20 74 6f 20 74  |click. Move to t|
000193a0  68 65 20 73 65 63 6f 6e  64 20 76 65 72 74 65 78  |he second vertex|
000193b0  20 61 6e 64 20 63 6c 69  63 6b 22 29 0d 60 ea 5c  | and click").`.\|
000193c0  f2 73 65 74 69 63 6f 6e  28 39 2c 31 2c 22 61 67  |.seticon(9,1,"ag|
000193d0  61 69 6e 2e 20 4d 6f 76  65 20 74 6f 20 74 68 65  |ain. Move to the|
000193e0  20 66 69 6e 61 6c 20 6f  6e 65 20 61 6e 64 20 63  | final one and c|
000193f0  6c 69 63 6b 20 61 67 61  69 6e 20 74 6f 20 66 69  |lick again to fi|
00019400  78 2e 20 41 44 4a 55 53  54 20 77 69 6c 6c 20 6c  |x. ADJUST will l|
00019410  65 74 20 79 6f 75 22 29  0d 60 f4 20 f2 73 65 74  |et you").`. .set|
00019420  69 63 6f 6e 28 39 2c 32  2c 22 73 74 61 72 74 20  |icon(9,2,"start |
00019430  61 67 61 69 6e 2e 22 29  0d 60 fe 09 c9 20 31 30  |again.").`... 10|
00019440  3a 0d 61 08 5c f2 73 65  74 69 63 6f 6e 28 39 2c  |:.a.\.seticon(9,|
00019450  30 2c 22 50 6f 69 6e 74  20 74 6f 20 74 68 65 20  |0,"Point to the |
00019460  66 69 72 73 74 20 76 65  72 74 65 78 20 61 6e 64  |first vertex and|
00019470  20 63 6c 69 63 6b 2e 20  4d 6f 76 65 20 74 6f 20  | click. Move to |
00019480  74 68 65 20 73 65 63 6f  6e 64 20 76 65 72 74 65  |the second verte|
00019490  78 20 61 6e 64 20 63 6c  69 63 6b 22 29 0d 61 12  |x and click").a.|
000194a0  5c f2 73 65 74 69 63 6f  6e 28 39 2c 31 2c 22 61  |\.seticon(9,1,"a|
000194b0  67 61 69 6e 2e 20 4d 6f  76 65 20 74 6f 20 74 68  |gain. Move to th|
000194c0  65 20 66 69 6e 61 6c 20  6f 6e 65 20 61 6e 64 20  |e final one and |
000194d0  63 6c 69 63 6b 20 61 67  61 69 6e 20 74 6f 20 66  |click again to f|
000194e0  69 78 2e 20 41 44 4a 55  53 54 20 77 69 6c 6c 20  |ix. ADJUST will |
000194f0  6c 65 74 20 79 6f 75 22  29 0d 61 1c 20 f2 73 65  |let you").a. .se|
00019500  74 69 63 6f 6e 28 39 2c  32 2c 22 73 74 61 72 74  |ticon(9,2,"start|
00019510  20 61 67 61 69 6e 2e 22  29 0d 61 26 09 c9 20 31  | again.").a&.. 1|
00019520  31 3a 0d 61 30 5b f2 73  65 74 69 63 6f 6e 28 39  |1:.a0[.seticon(9|
00019530  2c 30 2c 22 50 6f 69 6e  74 20 74 6f 20 74 68 65  |,0,"Point to the|
00019540  20 63 65 6e 74 72 65 20  61 6e 64 20 63 6c 69 63  | centre and clic|
00019550  6b 2e 20 4d 6f 76 65 20  74 6f 20 61 20 70 6f 69  |k. Move to a poi|
00019560  6e 74 20 61 6c 6f 6e 67  20 74 68 65 20 6d 61 6a  |nt along the maj|
00019570  6f 72 20 61 78 69 73 20  61 6e 64 22 29 0d 61 3a  |or axis and").a:|
00019580  5c f2 73 65 74 69 63 6f  6e 28 39 2c 31 2c 22 63  |\.seticon(9,1,"c|
00019590  6c 69 63 6b 2e 20 4d 6f  76 65 20 74 6f 20 73 65  |lick. Move to se|
000195a0  74 20 74 68 65 20 73 69  7a 65 20 61 6e 64 20 63  |t the size and c|
000195b0  6c 69 63 6b 20 61 67 61  69 6e 20 74 6f 20 66 69  |lick again to fi|
000195c0  78 2e 20 41 44 4a 55 53  54 20 61 6c 6c 6f 77 73  |x. ADJUST allows|
000195d0  20 79 6f 75 20 74 6f 22  29 0d 61 44 20 f2 73 65  | you to").aD .se|
000195e0  74 69 63 6f 6e 28 39 2c  32 2c 22 73 74 61 72 74  |ticon(9,2,"start|
000195f0  20 61 67 61 69 6e 2e 22  29 0d 61 4e 09 c9 20 31  | again.").aN.. 1|
00019600  32 3a 0d 61 58 5b f2 73  65 74 69 63 6f 6e 28 39  |2:.aX[.seticon(9|
00019610  2c 30 2c 22 50 6f 69 6e  74 20 74 6f 20 74 68 65  |,0,"Point to the|
00019620  20 63 65 6e 74 72 65 20  61 6e 64 20 63 6c 69 63  | centre and clic|
00019630  6b 2e 20 4d 6f 76 65 20  74 6f 20 61 20 70 6f 69  |k. Move to a poi|
00019640  6e 74 20 61 6c 6f 6e 67  20 74 68 65 20 6d 61 6a  |nt along the maj|
00019650  6f 72 20 61 78 69 73 20  61 6e 64 22 29 0d 61 62  |or axis and").ab|
00019660  5c f2 73 65 74 69 63 6f  6e 28 39 2c 31 2c 22 63  |\.seticon(9,1,"c|
00019670  6c 69 63 6b 2e 20 4d 6f  76 65 20 74 6f 20 73 65  |lick. Move to se|
00019680  74 20 74 68 65 20 73 69  7a 65 20 61 6e 64 20 63  |t the size and c|
00019690  6c 69 63 6b 20 61 67 61  69 6e 20 74 6f 20 66 69  |lick again to fi|
000196a0  78 2e 20 41 44 4a 55 53  54 20 61 6c 6c 6f 77 73  |x. ADJUST allows|
000196b0  20 79 6f 75 20 74 6f 22  29 0d 61 6c 20 f2 73 65  | you to").al .se|
000196c0  74 69 63 6f 6e 28 39 2c  32 2c 22 73 74 61 72 74  |ticon(9,2,"start|
000196d0  20 61 67 61 69 6e 2e 22  29 0d 61 76 09 c9 20 31  | again.").av.. 1|
000196e0  33 3a 0d 61 80 5b f2 73  65 74 69 63 6f 6e 28 39  |3:.a.[.seticon(9|
000196f0  2c 30 2c 22 50 6f 69 6e  74 20 74 6f 20 66 69 72  |,0,"Point to fir|
00019700  73 74 20 63 6f 72 6e 65  72 20 61 6e 64 20 63 6c  |st corner and cl|
00019710  69 63 6b 2e 20 4d 6f 76  65 20 74 6f 20 73 65 63  |ick. Move to sec|
00019720  6f 6e 64 20 63 6f 72 6e  65 72 20 61 6e 64 20 63  |ond corner and c|
00019730  6c 69 63 6b 20 61 67 61  69 6e 2e 22 29 0d 61 8a  |lick again.").a.|
00019740  5b f2 73 65 74 69 63 6f  6e 28 39 2c 31 2c 22 4d  |[.seticon(9,1,"M|
00019750  6f 76 65 20 74 6f 20 74  68 69 72 64 20 63 6f 72  |ove to third cor|
00019760  6e 65 72 20 74 6f 20 73  65 74 20 73 69 7a 65 20  |ner to set size |
00019770  61 6e 64 20 63 6c 69 63  6b 20 74 6f 20 66 69 78  |and click to fix|
00019780  2e 20 41 44 4a 55 53 54  20 61 6c 6c 6f 77 73 20  |. ADJUST allows |
00019790  79 6f 75 20 74 6f 22 29  0d 61 94 20 f2 73 65 74  |you to").a. .set|
000197a0  69 63 6f 6e 28 39 2c 32  2c 22 73 74 61 72 74 20  |icon(9,2,"start |
000197b0  61 67 61 69 6e 2e 22 29  0d 61 9e 09 c9 20 31 34  |again.").a... 14|
000197c0  3a 0d 61 a8 5b f2 73 65  74 69 63 6f 6e 28 39 2c  |:.a.[.seticon(9,|
000197d0  30 2c 22 50 6f 69 6e 74  20 74 6f 20 66 69 72 73  |0,"Point to firs|
000197e0  74 20 63 6f 72 6e 65 72  20 61 6e 64 20 63 6c 69  |t corner and cli|
000197f0  63 6b 2e 20 4d 6f 76 65  20 74 6f 20 73 65 63 6f  |ck. Move to seco|
00019800  6e 64 20 63 6f 72 6e 65  72 20 61 6e 64 20 63 6c  |nd corner and cl|
00019810  69 63 6b 20 61 67 61 69  6e 2e 22 29 0d 61 b2 5b  |ick again.").a.[|
00019820  f2 73 65 74 69 63 6f 6e  28 39 2c 31 2c 22 4d 6f  |.seticon(9,1,"Mo|
00019830  76 65 20 74 6f 20 74 68  69 72 64 20 63 6f 72 6e  |ve to third corn|
00019840  65 72 20 74 6f 20 73 65  74 20 73 69 7a 65 20 61  |er to set size a|
00019850  6e 64 20 63 6c 69 63 6b  20 74 6f 20 66 69 78 2e  |nd click to fix.|
00019860  20 41 44 4a 55 53 54 20  61 6c 6c 6f 77 73 20 79  | ADJUST allows y|
00019870  6f 75 20 74 6f 22 29 0d  61 bc 20 f2 73 65 74 69  |ou to").a. .seti|
00019880  63 6f 6e 28 39 2c 32 2c  22 73 74 61 72 74 20 61  |con(9,2,"start a|
00019890  67 61 69 6e 2e 22 29 0d  61 c6 09 c9 20 31 35 3a  |gain.").a... 15:|
000198a0  0d 61 d0 61 f2 73 65 74  69 63 6f 6e 28 39 2c 30  |.a.a.seticon(9,0|
000198b0  2c 22 50 6f 69 6e 74 20  74 6f 20 63 65 6e 74 72  |,"Point to centr|
000198c0  65 20 6f 66 20 61 72 63  20 61 6e 64 20 63 6c 69  |e of arc and cli|
000198d0  63 6b 2e 20 4d 6f 76 65  20 74 6f 20 61 20 70 6f  |ck. Move to a po|
000198e0  69 6e 74 20 6f 6e 20 74  68 65 20 61 72 63 20 61  |int on the arc a|
000198f0  6e 64 20 63 6c 69 63 6b  20 61 67 61 69 6e 2e 22  |nd click again."|
00019900  29 0d 61 da 5f f2 73 65  74 69 63 6f 6e 28 39 2c  |).a._.seticon(9,|
00019910  31 2c 22 4d 6f 76 65 20  74 6f 20 73 65 74 20 74  |1,"Move to set t|
00019920  68 65 20 64 65 67 72 65  65 20 6f 66 20 74 68 65  |he degree of the|
00019930  20 61 72 63 20 61 6e 64  20 63 6c 69 63 6b 20 61  | arc and click a|
00019940  67 61 69 6e 20 74 6f 20  66 69 78 2e 20 41 44 4a  |gain to fix. ADJ|
00019950  55 53 54 20 61 6c 6c 6f  77 73 20 79 6f 75 22 29  |UST allows you")|
00019960  0d 61 e4 23 f2 73 65 74  69 63 6f 6e 28 39 2c 32  |.a.#.seticon(9,2|
00019970  2c 22 74 6f 20 73 74 61  72 74 20 61 67 61 69 6e  |,"to start again|
00019980  2e 22 29 0d 61 ee 09 c9  20 31 36 3a 0d 61 f8 60  |.").a... 16:.a.`|
00019990  f2 73 65 74 69 63 6f 6e  28 39 2c 30 2c 22 50 6f  |.seticon(9,0,"Po|
000199a0  69 6e 74 20 74 6f 20 63  65 6e 74 72 65 20 6f 66  |int to centre of|
000199b0  20 73 65 63 74 6f 72 20  61 6e 64 20 63 6c 69 63  | sector and clic|
000199c0  6b 2e 20 4d 6f 76 65 20  74 6f 20 73 74 61 72 74  |k. Move to start|
000199d0  20 70 6f 69 6e 74 20 6f  6e 20 74 68 65 20 63 69  | point on the ci|
000199e0  72 63 75 6d 66 72 65 6e  63 65 22 29 0d 62 02 61  |rcumfrence").b.a|
000199f0  f2 73 65 74 69 63 6f 6e  28 39 2c 31 2c 22 61 6e  |.seticon(9,1,"an|
00019a00  64 20 63 6c 69 63 6b 20  61 67 61 69 6e 2e 20 4d  |d click again. M|
00019a10  6f 76 65 20 74 6f 20 73  65 74 20 74 68 65 20 64  |ove to set the d|
00019a20  65 67 72 65 65 20 61 6e  64 20 63 6c 69 63 6b 20  |egree and click |
00019a30  61 67 61 69 6e 20 74 6f  20 66 69 78 2e 20 41 44  |again to fix. AD|
00019a40  4a 55 53 54 20 61 6c 6c  6f 77 73 22 29 0d 62 0c  |JUST allows").b.|
00019a50  27 f2 73 65 74 69 63 6f  6e 28 39 2c 32 2c 22 79  |'.seticon(9,2,"y|
00019a60  6f 75 20 74 6f 20 73 74  61 72 74 20 61 67 61 69  |ou to start agai|
00019a70  6e 2e 22 29 0d 62 16 09  c9 20 31 37 3a 0d 62 20  |n.").b... 17:.b |
00019a80  5d f2 73 65 74 69 63 6f  6e 28 39 2c 30 2c 22 50  |].seticon(9,0,"P|
00019a90  6f 69 6e 74 20 74 6f 20  63 65 6e 74 72 65 20 6f  |oint to centre o|
00019aa0  66 20 73 65 67 6d 65 6e  74 20 61 6e 64 20 63 6c  |f segment and cl|
00019ab0  69 63 6b 2e 20 4d 6f 76  65 20 74 6f 20 73 74 61  |ick. Move to sta|
00019ac0  72 74 20 70 6f 69 6e 74  20 6f 6e 20 63 69 72 63  |rt point on circ|
00019ad0  75 6d 66 72 65 6e 63 65  22 29 0d 62 2a 5f f2 73  |umfrence").b*_.s|
00019ae0  65 74 69 63 6f 6e 28 39  2c 31 2c 22 61 6e 64 20  |eticon(9,1,"and |
00019af0  63 6c 69 63 6b 20 61 67  61 69 6e 2e 20 4d 6f 76  |click again. Mov|
00019b00  65 20 74 6f 20 73 65 74  20 73 65 67 6d 65 6e 74  |e to set segment|
00019b10  20 61 6e 64 20 63 6c 69  63 6b 20 74 6f 20 66 69  | and click to fi|
00019b20  78 2e 20 41 44 4a 55 53  54 20 61 6c 6c 6f 77 73  |x. ADJUST allows|
00019b30  20 79 6f 75 20 74 6f 22  29 0d 62 34 20 f2 73 65  | you to").b4 .se|
00019b40  74 69 63 6f 6e 28 39 2c  32 2c 22 73 74 61 72 74  |ticon(9,2,"start|
00019b50  20 61 67 61 69 6e 2e 22  29 0d 62 3e 09 c9 20 31  | again.").b>.. 1|
00019b60  38 3a 0d 62 48 61 f2 73  65 74 69 63 6f 6e 28 39  |8:.bHa.seticon(9|
00019b70  2c 30 2c 22 50 6f 69 6e  74 20 74 6f 20 6c 6f 77  |,0,"Point to low|
00019b80  65 72 2d 6c 65 66 74 20  63 6f 72 6e 65 72 20 6f  |er-left corner o|
00019b90  66 20 73 6f 75 72 63 65  20 61 72 65 61 20 61 6e  |f source area an|
00019ba0  64 20 63 6c 69 63 6b 2e  20 4d 6f 76 65 20 74 6f  |d click. Move to|
00019bb0  20 74 6f 70 2d 72 69 67  68 74 20 63 6f 72 6e 65  | top-right corne|
00019bc0  72 22 29 0d 62 52 60 f2  73 65 74 69 63 6f 6e 28  |r").bR`.seticon(|
00019bd0  39 2c 31 2c 22 61 6e 64  20 63 6c 69 63 6b 20 74  |9,1,"and click t|
00019be0  6f 20 63 75 74 20 61 72  65 61 2e 20 4d 6f 76 65  |o cut area. Move|
00019bf0  20 74 6f 20 70 6f 73 69  74 69 6f 6e 20 61 6e 64  | to position and|
00019c00  20 63 6c 69 63 6b 20 74  6f 20 70 61 73 74 65 2e  | click to paste.|
00019c10  20 54 68 65 20 74 72 61  6e 73 70 61 72 65 6e 63  | The transparenc|
00019c20  79 22 29 0d 62 5c 28 f2  73 65 74 69 63 6f 6e 28  |y").b\(.seticon(|
00019c30  39 2c 32 2c 22 66 6c 61  67 73 20 61 72 65 20 75  |9,2,"flags are u|
00019c40  73 65 64 20 68 65 72 65  2e 22 29 0d 62 66 09 c9  |sed here.").bf..|
00019c50  20 31 39 3a 0d 62 70 61  f2 73 65 74 69 63 6f 6e  | 19:.bpa.seticon|
00019c60  28 39 2c 30 2c 22 50 6f  69 6e 74 20 74 6f 20 6c  |(9,0,"Point to l|
00019c70  6f 77 65 72 2d 6c 65 66  74 20 63 6f 72 6e 65 72  |ower-left corner|
00019c80  20 6f 66 20 73 6f 75 72  63 65 20 61 72 65 61 20  | of source area |
00019c90  61 6e 64 20 63 6c 69 63  6b 2e 20 4d 6f 76 65 20  |and click. Move |
00019ca0  74 6f 20 74 6f 70 2d 72  69 67 68 74 20 63 6f 72  |to top-right cor|
00019cb0  6e 65 72 22 29 0d 62 7a  61 f2 73 65 74 69 63 6f  |ner").bza.setico|
00019cc0  6e 28 39 2c 31 2c 22 61  6e 64 20 63 6c 69 63 6b  |n(9,1,"and click|
00019cd0  20 74 6f 20 63 6f 70 79  20 61 72 65 61 2e 20 4d  | to copy area. M|
00019ce0  6f 76 65 20 74 6f 20 70  6f 73 69 74 69 6f 6e 20  |ove to position |
00019cf0  61 6e 64 20 63 6c 69 63  6b 20 74 6f 20 70 61 73  |and click to pas|
00019d00  74 65 2e 20 54 68 65 20  74 72 61 6e 73 70 61 72  |te. The transpar|
00019d10  65 6e 63 79 22 29 0d 62  84 28 f2 73 65 74 69 63  |ency").b.(.setic|
00019d20  6f 6e 28 39 2c 32 2c 22  66 6c 61 67 73 20 61 72  |on(9,2,"flags ar|
00019d30  65 20 75 73 65 64 20 68  65 72 65 2e 22 29 0d 62  |e used here.").b|
00019d40  8e 09 c9 20 32 30 3a 0d  62 98 5e f2 73 65 74 69  |... 20:.b.^.seti|
00019d50  63 6f 6e 28 39 2c 30 2c  22 50 6f 69 6e 74 20 74  |con(9,0,"Point t|
00019d60  6f 20 6c 6f 77 65 72 2d  6c 65 66 74 20 63 6f 72  |o lower-left cor|
00019d70  6e 65 72 20 6f 66 20 61  72 65 61 20 61 6e 64 20  |ner of area and |
00019d80  63 6c 69 63 6b 2e 20 4d  6f 76 65 20 74 6f 20 74  |click. Move to t|
00019d90  6f 70 2d 72 69 67 68 74  20 63 6f 72 6e 65 72 20  |op-right corner |
00019da0  61 6e 64 22 29 0d 62 a2  50 f2 73 65 74 69 63 6f  |and").b.P.setico|
00019db0  6e 28 39 2c 31 2c 22 63  6c 69 63 6b 20 61 67 61  |n(9,1,"click aga|
00019dc0  69 6e 20 74 6f 20 6d 69  72 72 6f 72 2e 20 54 68  |in to mirror. Th|
00019dd0  65 20 74 72 61 6e 73 70  61 72 65 6e 63 79 20 66  |e transparency f|
00019de0  6c 61 67 73 20 61 72 65  20 75 73 65 64 20 68 65  |lags are used he|
00019df0  72 65 2e 22 29 0d 62 ac  09 c9 20 32 31 3a 0d 62  |re.").b... 21:.b|
00019e00  b6 5e f2 73 65 74 69 63  6f 6e 28 39 2c 30 2c 22  |.^.seticon(9,0,"|
00019e10  50 6f 69 6e 74 20 74 6f  20 6c 6f 77 65 72 2d 6c  |Point to lower-l|
00019e20  65 66 74 20 63 6f 72 6e  65 72 20 6f 66 20 61 72  |eft corner of ar|
00019e30  65 61 20 61 6e 64 20 63  6c 69 63 6b 2e 20 4d 6f  |ea and click. Mo|
00019e40  76 65 20 74 6f 20 74 6f  70 2d 72 69 67 68 74 20  |ve to top-right |
00019e50  63 6f 72 6e 65 72 20 61  6e 64 22 29 0d 62 c0 50  |corner and").b.P|
00019e60  f2 73 65 74 69 63 6f 6e  28 39 2c 31 2c 22 63 6c  |.seticon(9,1,"cl|
00019e70  69 63 6b 20 61 67 61 69  6e 20 74 6f 20 69 6e 76  |ick again to inv|
00019e80  65 72 74 2e 20 54 68 65  20 74 72 61 6e 73 70 61  |ert. The transpa|
00019e90  72 65 6e 63 79 20 66 6c  61 67 73 20 61 72 65 20  |rency flags are |
00019ea0  75 73 65 64 20 68 65 72  65 2e 22 29 0d 62 ca 09  |used here.").b..|
00019eb0  c9 20 32 32 3a 0d 62 d4  5f f2 73 65 74 69 63 6f  |. 22:.b._.setico|
00019ec0  6e 28 39 2c 30 2c 22 50  6f 69 6e 74 20 74 6f 20  |n(9,0,"Point to |
00019ed0  6c 6f 77 65 72 2d 6c 65  66 74 20 63 6f 72 6e 65  |lower-left corne|
00019ee0  72 20 6f 66 20 61 72 65  61 20 74 6f 20 70 72 65  |r of area to pre|
00019ef0  73 65 72 76 65 20 61 6e  64 20 63 6c 69 63 6b 2e  |serve and click.|
00019f00  20 4d 6f 76 65 20 74 6f  20 74 6f 70 2d 72 69 67  | Move to top-rig|
00019f10  68 74 22 29 0d 62 de 45  f2 73 65 74 69 63 6f 6e  |ht").b.E.seticon|
00019f20  28 39 2c 31 2c 22 63 6f  72 6e 65 72 20 61 6e 64  |(9,1,"corner and|
00019f30  20 63 6c 69 63 6b 20 61  67 61 69 6e 20 74 6f 20  | click again to |
00019f40  73 74 72 69 70 20 73 75  72 72 6f 75 6e 64 69 6e  |strip surroundin|
00019f50  67 20 61 72 65 61 2e 22  29 0d 62 e8 09 c9 20 32  |g area.").b... 2|
00019f60  33 3a 0d 62 f2 61 f2 73  65 74 69 63 6f 6e 28 39  |3:.b.a.seticon(9|
00019f70  2c 30 2c 22 50 6f 69 6e  74 20 74 6f 20 6c 6f 77  |,0,"Point to low|
00019f80  65 72 2d 6c 65 66 74 20  63 6f 72 6e 65 72 20 6f  |er-left corner o|
00019f90  66 20 73 6f 75 72 63 65  20 61 72 65 61 20 61 6e  |f source area an|
00019fa0  64 20 63 6c 69 63 6b 2e  20 4d 6f 76 65 20 74 6f  |d click. Move to|
00019fb0  20 74 6f 70 2d 72 69 67  68 74 20 63 6f 72 6e 65  | top-right corne|
00019fc0  72 22 29 0d 62 fc 5e f2  73 65 74 69 63 6f 6e 28  |r").b.^.seticon(|
00019fd0  39 2c 31 2c 22 61 6e 64  20 63 6c 69 63 6b 20 74  |9,1,"and click t|
00019fe0  6f 20 66 69 78 2e 20 44  6f 20 74 68 65 20 73 61  |o fix. Do the sa|
00019ff0  6d 65 20 66 6f 72 20 64  65 73 74 69 6e 61 74 69  |me for destinati|
0001a000  6f 6e 20 61 72 65 61 2e  20 54 68 65 20 74 72 61  |on area. The tra|
0001a010  6e 73 70 61 72 65 6e 63  79 20 66 6c 61 67 73 22  |nsparency flags"|
0001a020  29 0d 63 06 22 f2 73 65  74 69 63 6f 6e 28 39 2c  |).c.".seticon(9,|
0001a030  32 2c 22 61 72 65 20 75  73 65 64 20 68 65 72 65  |2,"are used here|
0001a040  2e 22 29 0d 63 10 09 c9  20 32 34 3a 0d 63 1a 59  |.").c... 24:.c.Y|
0001a050  f2 73 65 74 69 63 6f 6e  28 39 2c 30 2c 22 50 6f  |.seticon(9,0,"Po|
0001a060  69 6e 74 20 74 6f 20 61  20 70 69 78 65 6c 20 74  |int to a pixel t|
0001a070  6f 20 74 68 65 20 72 69  67 68 74 20 6f 66 20 61  |o the right of a|
0001a080  6e 64 20 61 64 6a 61 63  65 6e 74 20 74 6f 20 74  |nd adjacent to t|
0001a090  68 65 20 63 6f 6c 6f 75  72 20 74 6f 20 74 72 61  |he colour to tra|
0001a0a0  63 65 2e 22 29 0d 63 24  39 f2 73 65 74 69 63 6f  |ce.").c$9.setico|
0001a0b0  6e 28 39 2c 31 2c 22 43  6c 69 63 6b 20 74 6f 20  |n(9,1,"Click to |
0001a0c0  74 72 61 63 65 20 69 6e  20 74 68 65 20 63 75 72  |trace in the cur|
0001a0d0  72 65 6e 74 20 63 6f 6c  6f 75 72 2e 22 29 0d 63  |rent colour.").c|
0001a0e0  2e 09 c9 20 32 35 3a 0d  63 38 60 f2 73 65 74 69  |... 25:.c8`.seti|
0001a0f0  63 6f 6e 28 39 2c 30 2c  22 50 6f 69 6e 74 20 74  |con(9,0,"Point t|
0001a100  6f 20 74 68 65 20 66 69  72 73 74 20 76 65 72 74  |o the first vert|
0001a110  65 78 20 6f 66 20 74 68  65 20 73 6f 75 72 63 65  |ex of the source|
0001a120  20 61 72 65 61 20 61 6e  64 20 63 6c 69 63 6b 2e  | area and click.|
0001a130  20 52 65 70 65 61 74 20  66 6f 72 20 74 68 65 20  | Repeat for the |
0001a140  6f 74 68 65 72 22 29 0d  63 42 60 f2 73 65 74 69  |other").cB`.seti|
0001a150  63 6f 6e 28 39 2c 31 2c  22 74 68 72 65 65 20 76  |con(9,1,"three v|
0001a160  65 72 74 69 63 65 73 20  61 6e 64 20 66 6f 72 20  |ertices and for |
0001a170  74 68 65 20 66 6f 75 72  20 64 65 73 74 69 6e 61  |the four destina|
0001a180  74 69 6f 6e 20 76 65 72  74 69 63 65 73 2e 20 43  |tion vertices. C|
0001a190  6c 69 63 6b 69 6e 67 20  41 44 4a 55 53 54 20 61  |licking ADJUST a|
0001a1a0  74 20 61 6e 79 22 29 0d  63 4c 34 f2 73 65 74 69  |t any").cL4.seti|
0001a1b0  63 6f 6e 28 39 2c 32 2c  22 70 6f 69 6e 74 20 61  |con(9,2,"point a|
0001a1c0  6c 6c 6f 77 73 20 79 6f  75 20 74 6f 20 73 74 61  |llows you to sta|
0001a1d0  72 74 20 61 67 61 69 6e  2e 22 29 0d 63 56 09 c9  |rt again.").cV..|
0001a1e0  20 32 36 3a 0d 63 60 4b  f2 73 65 74 69 63 6f 6e  | 26:.c`K.seticon|
0001a1f0  28 39 2c 30 2c 22 50 6f  69 6e 74 20 69 6e 73 69  |(9,0,"Point insi|
0001a200  64 65 20 74 68 65 20 74  6f 74 61 6c 6c 79 20 63  |de the totally c|
0001a210  6c 6f 73 65 64 20 61 72  65 61 20 74 6f 20 66 69  |losed area to fi|
0001a220  6c 6c 20 61 6e 64 20 63  6c 69 63 6b 2e 22 29 0d  |ll and click.").|
0001a230  63 6a 09 c9 20 32 37 3a  0d 63 74 5d f2 73 65 74  |cj.. 27:.ct].set|
0001a240  69 63 6f 6e 28 39 2c 30  2c 22 50 6f 69 6e 74 20  |icon(9,0,"Point |
0001a250  74 6f 20 6f 6e 65 20 63  6f 72 6e 65 72 20 6f 66  |to one corner of|
0001a260  20 74 68 65 20 61 72 65  61 20 61 6e 64 20 63 6c  | the area and cl|
0001a270  69 63 6b 2e 20 4d 6f 76  65 20 74 6f 20 74 68 65  |ick. Move to the|
0001a280  20 64 69 61 67 6f 6e 61  6c 6c 79 20 6f 70 6f 73  | diagonally opos|
0001a290  69 74 65 22 29 0d 63 7e  36 f2 73 65 74 69 63 6f  |ite").c~6.setico|
0001a2a0  6e 28 39 2c 31 2c 22 63  6f 72 6e 65 72 20 61 6e  |n(9,1,"corner an|
0001a2b0  64 20 63 6c 69 63 6b 20  61 67 61 69 6e 20 74 6f  |d click again to|
0001a2c0  20 61 76 65 72 61 67 65  2e 22 29 0d 63 88 09 c9  | average.").c...|
0001a2d0  20 32 38 3a 0d 63 92 5d  f2 73 65 74 69 63 6f 6e  | 28:.c.].seticon|
0001a2e0  28 39 2c 30 2c 22 50 6f  69 6e 74 20 74 6f 20 6f  |(9,0,"Point to o|
0001a2f0  6e 65 20 63 6f 72 6e 65  72 20 6f 66 20 74 68 65  |ne corner of the|
0001a300  20 61 72 65 61 20 61 6e  64 20 63 6c 69 63 6b 2e  | area and click.|
0001a310  20 4d 6f 76 65 20 74 6f  20 74 68 65 20 64 69 61  | Move to the dia|
0001a320  67 6f 6e 61 6c 6c 79 20  6f 70 6f 73 69 74 65 22  |gonally oposite"|
0001a330  29 0d 63 9c 47 f2 73 65  74 69 63 6f 6e 28 39 2c  |).c.G.seticon(9,|
0001a340  31 2c 22 63 6f 72 6e 65  72 20 61 6e 64 20 63 6c  |1,"corner and cl|
0001a350  69 63 6b 20 61 67 61 69  6e 20 74 6f 20 74 69 6e  |ick again to tin|
0001a360  74 20 77 69 74 68 20 63  75 72 72 65 6e 74 20 63  |t with current c|
0001a370  6f 6c 6f 75 72 2e 22 29  0d 63 a6 09 c9 20 32 39  |olour.").c... 29|
0001a380  3a 0d 63 b0 53 f2 73 65  74 69 63 6f 6e 28 39 2c  |:.c.S.seticon(9,|
0001a390  30 2c 22 53 65 74 20 62  72 75 73 68 20 73 68 61  |0,"Set brush sha|
0001a3a0  70 65 20 77 69 74 68 20  63 6f 6e 74 72 6f 6c 20  |pe with control |
0001a3b0  70 61 6e 6e 65 6c 2e 20  4d 6f 76 65 20 74 6f 20  |pannel. Move to |
0001a3c0  70 6f 73 69 74 69 6f 6e  20 61 6e 64 20 63 6c 69  |position and cli|
0001a3d0  63 6b 22 29 0d 63 ba 3c  f2 73 65 74 69 63 6f 6e  |ck").c.<.seticon|
0001a3e0  28 39 2c 31 2c 22 74 6f  20 75 73 65 2e 20 54 68  |(9,1,"to use. Th|
0001a3f0  65 20 62 72 75 73 68 20  73 63 61 6c 65 20 69 73  |e brush scale is|
0001a400  20 69 67 6e 6f 72 65 64  20 68 65 72 65 2e 22 29  | ignored here.")|
0001a410  0d 63 c4 09 c9 20 33 30  3a 0d 63 ce 53 f2 73 65  |.c... 30:.c.S.se|
0001a420  74 69 63 6f 6e 28 39 2c  30 2c 22 53 65 74 20 62  |ticon(9,0,"Set b|
0001a430  72 75 73 68 20 73 68 61  70 65 20 77 69 74 68 20  |rush shape with |
0001a440  63 6f 6e 74 72 6f 6c 20  70 61 6e 6e 65 6c 2e 20  |control pannel. |
0001a450  4d 6f 76 65 20 74 6f 20  70 6f 73 69 74 69 6f 6e  |Move to position|
0001a460  20 61 6e 64 20 63 6c 69  63 6b 22 29 0d 63 d8 3c  | and click").c.<|
0001a470  f2 73 65 74 69 63 6f 6e  28 39 2c 31 2c 22 74 6f  |.seticon(9,1,"to|
0001a480  20 75 73 65 2e 20 54 68  65 20 62 72 75 73 68 20  | use. The brush |
0001a490  73 63 61 6c 65 20 69 73  20 69 67 6e 6f 72 65 64  |scale is ignored|
0001a4a0  20 68 65 72 65 2e 22 29  0d 63 e2 09 c9 20 33 31  | here.").c... 31|
0001a4b0  3a 0d 63 ec 5c f2 73 65  74 69 63 6f 6e 28 39 2c  |:.c.\.seticon(9,|
0001a4c0  30 2c 22 53 65 74 20 66  69 6c 6c 20 70 61 72 61  |0,"Set fill para|
0001a4d0  6d 65 74 65 72 73 20 77  69 74 68 20 63 6f 6e 74  |meters with cont|
0001a4e0  72 6f 6c 20 62 6f 78 20  74 68 65 6e 20 63 6c 69  |rol box then cli|
0001a4f0  63 6b 20 69 6e 73 69 64  65 20 61 20 74 6f 74 61  |ck inside a tota|
0001a500  6c 6c 79 20 62 6f 75 6e  64 65 64 22 29 0d 63 f6  |lly bounded").c.|
0001a510  21 f2 73 65 74 69 63 6f  6e 28 39 2c 31 2c 22 61  |!.seticon(9,1,"a|
0001a520  72 65 61 20 74 6f 20 66  69 6c 6c 2e 22 29 0d 64  |rea to fill.").d|
0001a530  00 09 c9 20 33 32 3a 0d  64 0a 52 f2 73 65 74 69  |... 32:.d.R.seti|
0001a540  63 6f 6e 28 39 2c 30 2c  22 53 65 74 20 70 6f 69  |con(9,0,"Set poi|
0001a550  6e 74 20 73 69 7a 65 73  20 61 6e 64 20 73 74 79  |nt sizes and sty|
0001a560  6c 65 20 66 72 6f 6d 20  63 6f 6e 74 72 6f 6c 20  |le from control |
0001a570  77 69 6e 64 6f 77 20 61  6e 64 20 63 6c 69 63 6b  |window and click|
0001a580  20 6f 6e 20 4f 4b 2e 22  29 0d 64 14 3b f2 73 65  | on OK.").d.;.se|
0001a590  74 69 63 6f 6e 28 39 2c  31 2c 22 4d 6f 76 65 20  |ticon(9,1,"Move |
0001a5a0  74 65 78 74 20 74 6f 20  70 6f 73 69 74 69 6f 6e  |text to position|
0001a5b0  20 61 6e 64 20 63 6c 69  63 6b 20 74 6f 20 66 69  | and click to fi|
0001a5c0  78 2e 22 29 0d 64 1e 09  c9 20 33 33 3a 0d 64 28  |x.").d... 33:.d(|
0001a5d0  5b f2 73 65 74 69 63 6f  6e 28 39 2c 30 2c 22 53  |[.seticon(9,0,"S|
0001a5e0  65 74 20 75 70 20 63 6f  6c 6f 75 72 20 74 72 61  |et up colour tra|
0001a5f0  6e 73 66 6f 72 6d 61 74  69 6f 6e 20 77 69 74 68  |nsformation with|
0001a600  20 63 6f 6c 6f 75 72 20  77 69 6e 64 6f 77 20 74  | colour window t|
0001a610  68 65 6e 20 64 65 66 69  6e 65 20 72 65 63 74 61  |hen define recta|
0001a620  6e 67 75 6c 61 72 22 29  0d 64 32 3b f2 73 65 74  |ngular").d2;.set|
0001a630  69 63 6f 6e 28 39 2c 31  2c 22 61 72 65 61 20 77  |icon(9,1,"area w|
0001a640  69 74 68 20 6c 61 73 74  20 63 6c 69 63 6b 20 74  |ith last click t|
0001a650  6f 20 63 68 61 6e 67 65  20 63 6f 6c 6f 75 72 73  |o change colours|
0001a660  2e 22 29 0d 64 3c 09 c9  20 33 34 3a 0d 64 46 53  |.").d<.. 34:.dFS|
0001a670  f2 73 65 74 69 63 6f 6e  28 39 2c 30 2c 22 53 65  |.seticon(9,0,"Se|
0001a680  74 20 6f 72 69 65 6e 74  61 74 69 6f 6e 20 61 6e  |t orientation an|
0001a690  64 20 73 63 61 6c 65 20  77 69 74 68 20 63 6f 6e  |d scale with con|
0001a6a0  74 72 6f 6c 20 77 69 6e  64 6f 77 20 61 6e 64 20  |trol window and |
0001a6b0  63 6c 69 63 6b 20 74 6f  20 66 69 78 2e 22 29 0d  |click to fix.").|
0001a6c0  64 50 09 c9 20 33 35 3a  0d 64 5a 5d f2 73 65 74  |dP.. 35:.dZ].set|
0001a6d0  69 63 6f 6e 28 39 2c 30  2c 22 47 72 61 62 20 72  |icon(9,0,"Grab r|
0001a6e0  65 63 74 61 6e 67 6c 65  20 62 79 20 6c 6f 77 65  |ectangle by lowe|
0001a6f0  72 2d 6c 65 66 74 20 61  6e 64 20 75 70 70 65 72  |r-left and upper|
0001a700  2d 72 69 67 68 74 20 63  6f 72 6e 65 72 73 20 74  |-right corners t|
0001a710  68 65 6e 20 75 73 65 20  73 61 76 65 20 77 69 6e  |hen use save win|
0001a720  64 6f 77 22 29 0d 64 64  25 f2 73 65 74 69 63 6f  |dow").dd%.setico|
0001a730  6e 28 39 2c 31 2c 22 61  73 20 75 73 75 61 6c 20  |n(9,1,"as usual |
0001a740  74 6f 20 73 61 76 65 2e  22 29 0d 64 6e 09 c9 20  |to save.").dn.. |
0001a750  33 36 3a 0d 64 78 34 f2  73 65 74 69 63 6f 6e 28  |36:.dx4.seticon(|
0001a760  39 2c 30 2c 22 50 6f 73  69 74 69 6f 6e 20 66 72  |9,0,"Position fr|
0001a770  61 6d 65 20 61 6e 64 20  63 6c 69 63 6b 20 74 6f  |ame and click to|
0001a780  20 66 69 78 2e 22 29 0d  64 82 09 c9 20 33 37 3a  | fix.").d... 37:|
0001a790  0d 64 8c 5c f2 73 65 74  69 63 6f 6e 28 39 2c 30  |.d.\.seticon(9,0|
0001a7a0  2c 22 53 65 6c 65 63 74  20 70 61 74 74 65 72 6e  |,"Select pattern|
0001a7b0  20 66 72 6f 6d 20 77 69  6e 64 6f 77 20 61 6e 64  | from window and|
0001a7c0  20 63 6c 69 63 6b 20 69  6e 20 61 20 74 6f 74 61  | click in a tota|
0001a7d0  6c 6c 79 20 65 6e 63 6c  6f 73 65 64 20 61 72 65  |lly enclosed are|
0001a7e0  61 20 74 6f 20 66 69 6c  6c 2e 22 29 0d 64 96 09  |a to fill.").d..|
0001a7f0  c9 20 33 38 3a 0d 64 a0  5b f2 73 65 74 69 63 6f  |. 38:.d.[.setico|
0001a800  6e 28 39 2c 30 2c 22 53  65 74 20 52 65 64 2c 20  |n(9,0,"Set Red, |
0001a810  47 72 65 65 6e 20 61 6e  64 20 42 6c 75 65 20 70  |Green and Blue p|
0001a820  65 72 63 65 6e 74 61 67  65 73 20 77 69 74 68 20  |ercentages with |
0001a830  74 68 65 20 63 6f 6e 74  72 6f 6c 20 77 69 6e 64  |the control wind|
0001a840  6f 77 20 74 68 65 6e 20  64 65 66 69 6e 65 22 29  |ow then define")|
0001a850  0d 64 aa 57 f2 73 65 74  69 63 6f 6e 28 39 2c 31  |.d.W.seticon(9,1|
0001a860  2c 22 74 68 65 20 72 65  63 74 61 6e 67 6c 65 20  |,"the rectangle |
0001a870  74 6f 20 62 65 20 63 68  61 6e 67 65 64 20 62 79  |to be changed by|
0001a880  20 63 6c 69 63 6b 69 6e  67 20 62 6f 74 74 6f 6d  | clicking bottom|
0001a890  20 6c 65 66 74 20 74 68  65 6e 20 74 6f 70 20 72  | left then top r|
0001a8a0  69 67 68 74 2e 22 29 0d  64 b4 3c f2 73 65 74 69  |ight.").d.<.seti|
0001a8b0  63 6f 6e 28 39 2c 32 2c  22 54 72 61 6e 73 70 61  |con(9,2,"Transpa|
0001a8c0  72 65 6e 74 20 63 6f 6c  6f 75 72 73 20 77 69 6c  |rent colours wil|
0001a8d0  6c 20 6e 6f 74 20 62 65  20 63 68 61 6e 67 65 64  |l not be changed|
0001a8e0  2e 22 29 0d 64 be 09 c9  20 33 39 3a 0d 64 c8 5a  |.").d... 39:.d.Z|
0001a8f0  f2 73 65 74 69 63 6f 6e  28 39 2c 30 2c 22 53 65  |.seticon(9,0,"Se|
0001a900  74 20 77 65 69 67 68 74  73 20 66 6f 72 20 52 65  |t weights for Re|
0001a910  64 2c 20 47 72 65 65 6e  20 61 6e 64 20 42 6c 75  |d, Green and Blu|
0001a920  65 20 63 6f 6d 70 6f 6e  65 6e 74 73 20 77 69 74  |e components wit|
0001a930  68 20 74 68 65 20 63 6f  6e 74 72 6f 6c 20 77 69  |h the control wi|
0001a940  6e 64 6f 77 22 29 0d 64  d2 5e f2 73 65 74 69 63  |ndow").d.^.setic|
0001a950  6f 6e 28 39 2c 31 2c 22  74 68 65 6e 20 64 65 66  |on(9,1,"then def|
0001a960  69 6e 65 20 74 68 65 20  72 65 63 74 61 6e 67 6c  |ine the rectangl|
0001a970  65 20 74 6f 20 73 68 61  64 65 20 62 79 20 63 6c  |e to shade by cl|
0001a980  69 63 6b 69 6e 67 20 62  6f 74 74 6f 6d 20 6c 65  |icking bottom le|
0001a990  66 74 20 74 68 65 6e 20  74 6f 70 20 72 69 67 68  |ft then top righ|
0001a9a0  74 2e 22 29 0d 64 dc 3c  f2 73 65 74 69 63 6f 6e  |t.").d.<.seticon|
0001a9b0  28 39 2c 32 2c 22 54 72  61 6e 73 70 61 72 65 6e  |(9,2,"Transparen|
0001a9c0  74 20 63 6f 6c 6f 75 72  73 20 77 69 6c 6c 20 6e  |t colours will n|
0001a9d0  6f 74 20 62 65 20 63 68  61 6e 67 65 64 2e 22 29  |ot be changed.")|
0001a9e0  0d 64 e6 09 c9 20 34 30  3a 0d 64 f0 5b f2 73 65  |.d... 40:.d.[.se|
0001a9f0  74 69 63 6f 6e 28 39 2c  30 2c 22 53 65 74 20 74  |ticon(9,0,"Set t|
0001aa00  68 65 20 58 20 61 6e 64  20 59 20 72 65 73 6f 6c  |he X and Y resol|
0001aa10  75 74 69 6f 6e 73 20 66  6f 72 20 70 69 78 65 6c  |utions for pixel|
0001aa20  61 74 69 6f 6e 20 77 69  74 68 20 74 68 65 20 63  |ation with the c|
0001aa30  6f 6e 74 72 6f 6c 20 77  69 6e 64 6f 77 20 74 68  |ontrol window th|
0001aa40  65 6e 22 29 0d 64 fa 5c  f2 73 65 74 69 63 6f 6e  |en").d.\.seticon|
0001aa50  28 39 2c 31 2c 22 64 65  66 69 6e 65 20 74 68 65  |(9,1,"define the|
0001aa60  20 72 65 63 74 61 6e 67  6c 65 20 74 6f 20 70 69  | rectangle to pi|
0001aa70  78 65 6c 61 74 65 20 62  79 20 63 6c 69 63 6b 69  |xelate by clicki|
0001aa80  6e 67 20 62 6f 74 74 6f  6d 20 6c 65 66 74 20 74  |ng bottom left t|
0001aa90  68 65 6e 20 74 6f 70 20  72 69 67 68 74 2e 22 29  |hen top right.")|
0001aaa0  0d 65 04 09 c9 20 34 31  3a 0d 65 0e 5a f2 73 65  |.e... 41:.e.Z.se|
0001aab0  74 69 63 6f 6e 28 39 2c  30 2c 22 44 65 66 69 6e  |ticon(9,0,"Defin|
0001aac0  65 20 74 68 65 20 72 65  63 74 61 6e 67 6c 65 20  |e the rectangle |
0001aad0  74 6f 20 72 6f 74 61 74  65 20 62 79 20 63 6c 69  |to rotate by cli|
0001aae0  63 6b 69 6e 67 20 62 6f  74 74 6f 6d 20 6c 65 66  |cking bottom lef|
0001aaf0  74 20 74 68 65 6e 20 74  6f 70 20 72 69 67 68 74  |t then top right|
0001ab00  2e 22 29 0d 65 18 4c f2  73 65 74 69 63 6f 6e 28  |.").e.L.seticon(|
0001ab10  39 2c 31 2c 22 52 6f 74  61 74 65 20 61 72 65 61  |9,1,"Rotate area|
0001ab20  20 77 69 74 68 20 74 68  65 20 63 6f 6e 74 72 6f  | with the contro|
0001ab30  6c 20 77 69 6e 64 6f 77  20 61 6e 64 20 63 6c 69  |l window and cli|
0001ab40  63 6b 20 74 6f 20 72 6f  74 61 74 65 2e 22 29 0d  |ck to rotate.").|
0001ab50  65 22 3b f2 73 65 74 69  63 6f 6e 28 39 2c 32 2c  |e";.seticon(9,2,|
0001ab60  22 54 72 61 6e 73 70 61  72 65 6e 74 20 63 6f 6c  |"Transparent col|
0001ab70  6f 75 72 73 20 77 69 6c  6c 20 6e 6f 74 20 62 65  |ours will not be|
0001ab80  20 63 6f 70 69 65 64 2e  22 29 0d 65 2c 05 cb 0d  | copied.").e,...|
0001ab90  65 36 05 e1 0d ff                                 |e6....|
0001ab96