Home » Archimedes archive » Acorn User » AU 1996-03 B.adf » Others » Shareware/Stationer/!Stationer/!RunImage

Shareware/Stationer/!Stationer/!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 » Acorn User » AU 1996-03 B.adf » Others
Filename: Shareware/Stationer/!Stationer/!RunImage
Read OK:
File size: EE14 bytes
Load address: 0000
Exec address: 0000
File contents
   10ON ERROR PROCmess(REPORT$+" : at line "+STR$ERL):END
   20REM ***>$.!Stationer.!RunImage
   30REM ***Main Program for !Stationer - Business communications media creator
   40REM Version 1.11U (21 Jan 96)
   50REM LEN J. Robbins
   60REM
   70DIM block 10*1024, mblock 1024, menu% 6*1024, curbuf%  9*1024, icond 5*1024, text% &1000
   80DIM defpal% 255, fontblk% 256, scale% 20,PixTrans% 256,temp% 100,palette% 1024
   90DIM winpal(15),cardpos(2,16),drawfont$(18)
  100DIM matrix 100, origin 100, box 100, box2 100
  110DIM workblk 8*1024
  120maxlev%=32
  130DIM start%(maxlev%),box%(maxlev%)
  140DIM l%(maxlev%),b%(maxlev%),r%(maxlev%),t%(maxlev%)
  150detptr=2304:deslen=60:desblk=1848:style=298
  160FOR c=1 TO 16 : READ a :cardpos(0,c)=a:NEXT
  170FOR c=1 TO 6 : READ a :cardpos(1,c)=a:NEXT
  180cardpos(2,1)=25:cardpos(2,2)=670
  190FOR I=0 TO 15
  200 READ hexa
  210 winpal(I)=hexa
  220 defpal%!(I*4)=hexa
  230NEXT
  240DATA 25,625,290,625,25,445,290,445,25,265,290,265,25,85,290,85
  250DATA 25,561,25,312,25,62
  260DATA &FFFFFF10,&DDDDDD10,&BBBBBB10,&99999910,&77777710,&55555510,&33333310,&010
  270DATA &99440010,&EEEE10,&CC0010,&DD10,&BBEEEE10,&885510,&BBFF10,&FFBB0010
  280end%=-1:textc=FALSE:cardb=FALSE:hex=0:RED=(hex>>8)AND&FF:BLUE=RED:GREEN=RED
  290endbuf%=curbuf%+&6000
  300j=0:FMopen=0:in=FALSE:close=0
  310savef=TRUE:noprint=FALSE:printing=FALSE:full=FALSE
  320prequitwait=FALSE:quiting=FALSE:quitsave=FALSE:shutdown=FALSE
  330fmcreated%=FALSE:fcount%=0
  340end%=FALSE:drag%=0:drive%=0
  350curspr$="":drawing=FALSE:sprites=FALSE:drawk=0
  360font%=-1:noofcards=8:dfont=FALSE
  370itemdrag=FALSE:itempull=FALSE
  380sx1=-1:sy1=-1:sx2=-1:sy2=-1:select=-1:curdes=-1:seldes=-1:olddes=-1
  390osx1=-2:osy1=-2:osx2=-2:osxy=-2:oldselect=-2
  400backgrnd=-1
  410task=&4B534154
  420SYS "Wimp_Initialise",200,task,"!Stationer" TO version%,mytask%
  430PROCtemplate
  440SYS "OS_GetEnv" TO env$
  450IF INSTR(env$,"-quit") THEN
  460I%=INSTR(env$,"""")
  470I%=INSTR(env$,"""",I%+1)
  480REPEAT
  490I%+=1
  500UNTIL MID$(env$,I%,1)<>" "
  510env$=MID$(env$,I%)
  520print$=RIGHT$(env$,7)
  530ENDIF
  540noic=0
  550SYS"Wimp_SlotSize",-1,-1 TO orig
  560max=HIMEM-END:max=INT(max/1024)*1024
  570max-=&4000
  580SYS"Wimp_SlotSize",-1,-1 TO current
  590HIMEM=HIMEM-max:hsizeb=max:heap%=HIMEM
  600IF hsizeb<1024 THEN END
  610SYS"OS_Heap",0,heap%,,hsizeb
  620origheap=hsizeb:origappsize=current
  630SYS"OS_Byte",161,28 TO ,,cmos
  640IF (cmos AND (1<<1))>0 THEN daspr=TRUE ELSE daspr=FALSE
  650IF print$=" -print" THEN env$=LEFT$(env$,LENenv$-7):noic=1
  660IF print$=" -print" THEN PROCpresent:PROCload(env$):PROCopenwin(print%)
  670IF print$<>" -print" AND env$<>"" PROCload(env$)
  680IF print$<>" -print" AND env$="" PROCload("<Stat$Dir>.DefaultDt"):PROCinfo(save%,2,"StatData")
  690IF noic=0 THEN initic=FNicon
  700SYS"Hourglass_On"
  710PROCfmenucr
  720SYS"Hourglass_Off"
  730PROCtitlewin
  740ON ERROR PROCerror(REPORT$+" : at line "+STR$ERL)
  750REPEAT
  760SYS"Wimp_Poll",0,block TO eventcode
  770SYS"OS_Mouse" TO ,,button
  780UNTIL button>0
  790PROCclose(title%)
  800PROCmess("This program is SHAREWARE and is currently UNREGISTERED. You are authorised to use it for 2 weeks, after which you must register or delete it. Please refer to Help file for further information")
  810REPEAT
  820SYS"Wimp_Poll",0,block TO eventcode
  830CASE eventcode OF
  840WHEN 0:IF savef AND prequitwait SYS"Wimp_ProcessKey",&1FC
  850WHEN 1:PROCredraw(block!0)
  860WHEN 2:SYS "Wimp_OpenWindow",,block
  870WHEN 3:SYS "Wimp_CloseWindow",,block
  880WHEN 6:PROCclick(block)
  890WHEN 7:PROCdragin
  900WHEN 8:PROCprocess
  910WHEN 9:PROCselect
  920WHEN 17,18:PROCmessagein
  930ENDCASE
  940UNTIL FALSE
  950PROCend
  960END
  970
  980DEFPROCend
  990SYS"Wimp_CloseDown",mytask%,task
 1000END
 1010ENDPROC
 1020
 1030DEFPROCtitlewin
 1040PROCinfo(title%,1,"Business stationary designer. Comprising Compliment slip, Letter head and Business card creators.")
 1050$FNinfo(title%,3)="Version 1.11U (21 Jan 1996)"
 1060PROCopencen(title%)
 1070titleopen=TRUE
 1080ENDPROC
 1090
 1100DEFFNicon
 1110!icond=-1
 1120icond!4=0
 1130icond!8=0:icond!12=68:icond!16=68
 1140icond!20=%11010+((2^12)*3):icond?23=112
 1150$(icond+24)="!Stationer"+CHR$13
 1160SYS "Wimp_CreateIcon",,icond TO icon
 1170=icon
 1180
 1190DEFFNinf(handle,icon)
 1200PROCgee(handle,icon)
 1210=icond!28
 1220 DEFFNbit(a$)
 1230WHILE INSTR(a$,":")>0
 1240a$=MID$(a$,INSTR(a$,":")+1)
 1250ENDWHILE
 1260WHILE INSTR(a$,".")>0
 1270a$=MID$(a$,INSTR(a$,".")+1)
 1280ENDWHILE
 1290=a$
 1300
 1310DEFFNwool(wool%)
 1320LOCAL cot$
 1330 WHILE ?wool%>=32
 1340cot$+=CHR$(?wool%)
 1350wool%+=1
 1360ENDWHILE
 1370=cot$
 1380
 1390DEFPROCtemplate
 1400SYS"Wimp_OpenTemplate",,"<Stat$Dir>.Templates"
 1410indir=curbuf%
 1420info%=FNtemplate("ProgInfo")
 1430save%=FNtemplate("SaveData")
 1440savedraw%=FNtemplate("SaveDraw")
 1450savepic%=FNtemplate("SavePic")
 1460card%=FNtemplate("Card")
 1470letter%=FNtemplate("LetterHead")
 1480comp%=FNtemplate("CompSlip")
 1490picture%=FNtemplate("Picture")
 1500details%=FNtemplate("details")
 1510type%=FNtemplate("Type")
 1520back%=FNtemplate("Back")
 1530colour%=FNtemplate("colours")
 1540print%=FNtemplate("print")
 1550query%=FNtemplate("query")
 1560quit%=FNtemplate("quitbox")
 1570title%=FNtemplate("title")
 1580SYS "Wimp_CloseTemplate"
 1590stex=FNinfo(save%,2)
 1600stexd=FNinfo(savedraw%,2)
 1610stextpic=FNinfo(savepic%,2)
 1620ENDPROC
 1630
 1640DEFFNtemplate(a$)
 1650SYS"Wimp_LoadTemplate",,block,indir,endbuf%,-1,a$,0 TO ,,indir,,,,c%
 1660IF c%=0 THEN PROCmess("Template "+a$+" not found."):END
 1670block!64=1
 1680SYS"Wimp_CreateWindow",,block TO handle
 1690=handle
 1700
 1710DEFFNinfo(handle,icon)
 1720PROCgee(handle,icon)
 1730=icond!28
 1740
 1750DEFFNtoOS(in)
 1760SYS"Font_ConverttoOS",,in*1000 TO,out
 1770=out
 1780
 1790DEFPROCinfo(handle,icon,text$)
 1800!block=handle:block!4=icon:SYS"Wimp_GetIconState",,block
 1810$(block!28)=text$:block!36=LEN(text$)+1
 1820block!8=0:block!12=0
 1830SYS"Wimp_SetIconState",,block
 1840ENDPROC
 1850
 1860DEFPROCgee(handle,icon)
 1870!icond=handle:icond!4=icon
 1880SYS"Wimp_GetIconState",,icond
 1890ENDPROC
 1900
 1910DEFPROCseticstate(handle%,ic%,clear,eor):REM as in PRM (CE)
 1920!block=handle%:block!4=ic%:block!8=eor:block!12=clear
 1930SYS"Wimp_SetIconState",,block
 1940ENDPROC
 1950
 1960DEFPROCpresent
 1970a$=""
 1980LOCAL ERROR
 1990ON ERROR LOCAL a$="Not Present":RESTORE ERROR:ENDPROC
 2000SYS"PDriver_Info" TO a,,,,name
 2010WHILE ?name
 2020a$=a$+CHR$(?name)
 2030name+=1
 2040ENDWHILE
 2050$FNinfo(print%,0)=a$
 2060RESTORE ERROR
 2070ENDPROC
 2080
 2090DEFPROCcmenus
 2100PROCpresent
 2110nogo=FALSE
 2120FMopen=0
 2130menuptr=menu%
 2140MOUSE x,y,b
 2150IF block!16=27 AND sprites THEN piccy=TRUE ELSE piccy=FALSE
 2160IF sprites sprmen%=FNmenu("Sprite List",(largest*14)+40,men$)
 2170picmenu%=FNmenu("Picture",174,"Delete,{b|savepic%}Save")
 2180IF (sprites OR drawing) iconmenu$="{b|picmenu%}Picture" ELSE iconmenu$="{-|picmenu%}Picture"
 2190IF (sprites OR drawing) AND block!12=-2 picmenu%=FNmenu("Picture",190,"Del Pic,{b|savepic%}Save Pic")
 2200IF (sprites OR drawing) AND block!12<>-2 picmenu%=FNmenu("Picture",190,"Insert,Remove,{b|savepic%}Save Pic")
 2210view%=FNmenu("View",200,"Bus. Cards,Comp Slips,LetterHeads")
 2220savemenu%=FNmenu("Save",100,"{b|savedraw%}Draw,{b|save%}Data")
 2230iconmenu%=FNmenu("!Stationer",174,"{b|info%}Info,{b|savemenu%}Save,{b|print%}Print,Details,{b|view%}View,"+iconmenu$+",Quit")
 2240detmenu%=FNmenu("!Stationer",174,"{b|info%}Info,{b|savemenu%}Save,{b|print%}Print,{b|view%}View,"+iconmenu$+",Quit")
 2250viewmenu%=FNmenu("!Stationer",174,"{b|info%}Info,{b|savemenu%}Save,{b|print%}Print,Details,{b|view%}View,"+iconmenu$+",Show All,Quit")
 2260menuwin=block!12
 2270CASE menuwin OF
 2280WHEN -2:IF block!8=2 THEN openmenu%=iconmenu%:a=x-75:b=(7+2)*48
 2290WHEN details%:openmenu%=detmenu%:a=x:b=y
 2300WHEN picture%:IF block!16=4 THEN openmenu%=sprmen%:a=x:b=y:FMopen=2:ELSE ENDPROC
 2310WHEN card%,comp%,letter%:IF block!8=2 THEN openmenu%=viewmenu%:a=x:b=y
 2320OTHERWISE:ENDPROC
 2330ENDCASE
 2340IF sprites PROCseticstate(savepic%,4,1<<22,0<<22) ELSE PROCseticstate(savepic%,4,1<<22,1<<22)
 2350IF drawing PROCseticstate(savepic%,5,1<<22,0<<22) ELSE PROCseticstate(savepic%,5,1<<22,1<<22)
 2360PROCseticstate(savepic%,4,1<<21,0<<21):PROCseticstate(savepic%,5,1<<21,0<<21)
 2370IF sprites PROCseticstate(savepic%,4,1<<21,1<<21) ELSE PROCseticstate(savepic%,5,1<<21,1<<21)
 2380PROCopenmenu(a,b)
 2390ENDPROC
 2400
 2410DEFPROCopenmenu(x,y)
 2420SYS"Wimp_CreateMenu",,openmenu%,x,y
 2430ENDPROC
 2440DEFFNmenu(tit$,wid,menu$)
 2450menu$+=","
 2460oldmenu=menuptr
 2470$menuptr=tit$
 2480menuptr?12=7
 2490menuptr?13=2
 2500menuptr?14=7
 2510menuptr?15=0
 2520menuptr!16=wid
 2530menuptr!20=48
 2540menuptr!24=0
 2550menuptr+=28
 2560REPEAT
 2570PROCthing(menu$)
 2580menu$=MID$(menu$,INSTR(menu$,",")+1)
 2590menuptr+=24
 2600UNTIL menu$=""
 2610menuptr!-24=(menuptr!-24) OR %10000000
 2620=oldmenu
 2630DEFPROCthing(m$)
 2640m$=LEFT$(m$,INSTR(m$,",")-1)
 2650i$="":j$=""
 2660IF INSTR(m$,"{")>0 THEN
 2670i$=LEFT$(m$,INSTR(m$,"}")-1)
 2680m$=MID$(m$,INSTR(m$,"}")+1)
 2690j$=LEFT$(i$,INSTR(i$,"|")-1)
 2700i$=MID$(i$,INSTR(i$,"|")+1)
 2710ENDIF
 2720ijack=&07000021
 2730mjack=0
 2740submenu=-1
 2750IF INSTR(j$,"b")>0 THEN submenu=EVAL(i$)
 2760IF INSTR(j$,"_")>0 THEN mjack=mjack OR 2
 2770IF INSTR(j$,"�")>0 THEN mjack=mjack OR 1
 2780IF INSTR(j$,"u")>0 THEN mjack=mjack OR 2:submenu=EVAL(i$)
 2790IF INSTR(j$,"-")>0 THEN ijack=ijack OR &400000:submenu=EVAL(i$)
 2800IF INSTR(j$,"s")>0 THEN ijack=ijack OR &400000
 2810!menuptr=mjack
 2820menuptr!4=submenu
 2830menuptr!8=ijack
 2840$(menuptr+12)=m$
 2850ENDPROC
 2860
 2870DEFPROCclick(block)
 2880IF quitsave AND block!12<>save% THEN quiting=FALSE:quitsave=FALSE:PROCclose(save%)
 2890IF prequitwait AND block!12<>save% THEN prequitwait=FALSE:shutdown=FALSE:PROCclose(save%)
 2900IF block!12=card% OR block!12=comp% OR block!12=letter% savef=FALSE:PROCtitles("*")
 2910IF block!12<>type% AND (block!12<>colour% AND backgrnd<>0) THEN PROCclose(type%)
 2920IF block!12<>back% AND (block!12<>colour% AND backgrnd<>1) THEN PROCclose(back%)
 2930IF block!12<>colour% THEN PROCclose(colour%)
 2940IF block!12<>picture% THEN PROCclose(picture%)
 2950IF block!8=1024 AND (block!12=card% OR block!12=comp% OR block!12=letter%) THEN PROCselectitem
 2960IF block!8=4 AND (block!12=card% OR block!12=comp% OR block!12=letter%) THEN PROCgetstyle
 2970IF block!8=&40 AND (block!12=card% OR block!12=comp% OR block!12=letter%) THEN PROCdragitem
 2980IF block!8=&10 AND (block!12=card% OR block!12=comp% OR block!12=letter%) THEN PROCpullitem
 2990IF block!12=-2 AND block!8=4 PROCopendet
 3000IF block!12=-2 AND block!8=1 PROCopenwin(card%)
 3010IF block!12=type% AND block!16=1 THEN MOUSE x,y,b:FMopen=1:SYS"Wimp_CreateMenu",,fmenu%,x-75,y:ENDPROC
 3020IF block!8=2 THEN PROCcmenus:ENDPROC
 3030IF block!12=save% AND block!16=1 winsave%=block!12:PROCdefsave
 3040IF block!12=savedraw% AND block!16=1 winsave%=block!12:PROCdefsave
 3050IF block!12=savepic% AND block!16=1 winsave%=block!12:PROCdefsave
 3060IF block!12=save% AND block!16=3 winsave%=block!12:PROCsave($FNinfo(winsave%,2))
 3070IF block!12=savedraw% AND block!16=3 winsave%=block!12:PROCsave($FNinfo(winsave%,2))
 3080IF block!12=savepic% AND block!16=3 winsave%=block!12:PROCsave($FNinfo(winsave%,2))
 3090IF block!12=details% AND block!16=16 PROCsetdet:savef=FALSE:PROCtitles("*"):PROCclose(details%)
 3100IF block!12=details% AND block!16=15 PROCclose(details%)
 3110IF block!12=details% AND block!16=17 PROCresetdet
 3120IF block!12=back% AND block!16=14 THEN PROCclose(back%)
 3130IF block!12=back% AND block!16=15 THEN PROCapplystyle:PROCclose(back%)
 3140IF block!12=back% AND block!16=13 THEN PROCsetper(0)
 3150IF block!12=type% THEN
 3160 CASE block!16 OF
 3170 WHEN 4 : PROCincrement(1,7,999,type%,3)
 3180 WHEN 5 : PROCincrement(-1,7,999,type%,3)
 3190 WHEN 7 : PROCincrement(5,30,995,type%,8)
 3200 WHEN 9 : PROCincrement(-5,30,995,type%,8)
 3210 WHEN 16 : PROCclose(type%)
 3220 WHEN 17 : PROCapplystyle:PROCclose(type%)
 3230 WHEN 15 : PROCsetper(1)
 3240 ENDCASE
 3250ENDIF
 3260IF block!12=picture% THEN
 3270 CASE block!16 OF
 3280 WHEN 7 : PROCclose(picture%)
 3290 WHEN 8 : PROCapplystyle:PROCclose(picture%)
 3300 WHEN 1,2,3 : PROCredopic
 3310 WHEN 4 : PROCcmenus
 3320 WHEN 5,6 : PROCswappic
 3330 ENDCASE
 3340ENDIF
 3350IF block!12=colour% AND block!16>=14 AND block!16<=29 PROCselectcol(block!16)
 3360IF block!12=colour% AND block!16=13 THEN PROCaddcol
 3370IF block!12=colour% AND block!16=12 THEN PROCclose(colour%)
 3380IF block!12=colour% AND block!16=-1 THEN PROCdragcol
 3390IF block!12=colour% AND block!16>0 AND block!16<11 THEN PROCupanddown(block!16)
 3400IF block!12=print% AND block!16=3 THEN PROCmorecopies
 3410IF block!12=print% AND block!16=5 THEN PROClesscopies
 3420IF shutdown THEN
 3430 IF block!12=quit% AND block!16=0 THEN SYS"Wimp_ProcessKey",&1FC:PROCend
 3440 IF block!12=quit% AND block!16=2 THEN PROCclose(quit%):shutdown=FALSE
 3450 IF block!12=quit% AND block!16=3 THEN PROCclose(quit%):PROCopenwin(save%):prequitwait=TRUE
 3460ENDIF
 3470IF quiting THEN
 3480 IF block!12=quit% AND block!16=0 THEN PROCend
 3490 IF block!12=quit% AND block!16=2 THEN PROCclose(quit%):quiting=FALSE
 3500 IF block!12=quit% AND block!16=3 THEN PROCclose(quit%):PROCopenwin(save%):quitsave=TRUE
 3510ENDIF
 3520IF block!12=query% AND block!16=0 THEN PROCclose(query%):PROCendq
 3530IF block!12=print% AND block!16=1 THEN
 3540 PROCprint
 3550 IF noic=1 THEN PROCend
 3560ENDIF
 3570ENDPROC
 3580
 3590DEFFNcheckflag(handle,icon,flag)
 3600bit=FALSE
 3610!icond=handle:icond!4=icon
 3620SYS"Wimp_GetIconState",,icond
 3630IF (icond!24AND(1<<flag))>0 bit=TRUE
 3640=bit
 3650
 3660DEFPROCsetshear(on)
 3670!icond=details%:icond!4=29:SYS"Wimp_GetIconState",,icond
 3680IF on=1 THEN
 3690C=(1<<21):E=(1<<21)
 3700ELSE
 3710C=(0<<21):E=(1<<21)
 3720ENDIF
 3730icond!8=C:icond!12=E
 3740SYS"Wimp_SetIconState",,icond
 3750:
 3760!icond=details%:icond!4=30:SYS"Wimp_GetIconState",,icond
 3770IF on=0 THEN
 3780C=(1<<21):E=(1<<21)
 3790ELSE
 3800C=(0<<21):E=(1<<21)
 3810ENDIF
 3820icond!8=C:icond!12=E
 3830SYS"Wimp_SetIconState",,icond
 3840ENDPROC
 3850
 3860DEFPROCprocess
 3870IF !block=details% AND block!24=13 THEN PROCcaret:ENDPROC
 3880IF !block=save% AND block!24=13 THEN winsave%=!block:PROCsave($FNinfo(!block,2))
 3890IF !block=savedraw% AND block!24=13 THEN winsave%=!block:PROCsave($FNinfo(!block,2))
 3900IF !block=savepic% AND block!24=13 THEN winsave%=!block:PROCsave($FNinfo(!block,2))
 3910SYS"Wimp_ProcessKey",block!24
 3920ENDPROC
 3930
 3940DEFPROCcaret
 3950SYS"Wimp_GetCaretPosition",,block
 3960IF block!0=details% THEN
 3970 IF block!4>=0 AND block!4<=7 THEN np=block!4+1
 3980 IF block!4=8 THEN np=0
 3990 SYS "Wimp_SetCaretPosition",details%,np,0,0,-1,LEN($FNinfo(details%,np))
 4000ENDIF
 4010ENDPROC
 4020
 4030DEFPROCselect
 4040IF FMopen=1 THEN
 4050SYS"Font_DecodeMenu",0,fmenu%,block,fontblk%,256 TO,,,,size
 4060$fontblk%=LEFT$($fontblk%,size-1):$fontblk%=RIGHT$($fontblk%,LEN($fontblk%)-2):$fontblk%=LEFT$($fontblk%,LEN$fontblk%-(LEN$fontblk%-INSTR($fontblk%,"\"))-1)
 4070family$=$fontblk%
 4080PROCinfo(type%,0,family$)
 4090FMopen=0
 4100ENDPROC
 4110ENDIF
 4120IF FMopen=2 THEN
 4130SYS"Wimp_DecodeMenu",,sprmen%,block,icond
 4140curspr$=$icond
 4150PROCredopic
 4160FMopen=0
 4170ENDPROC
 4180ENDIF
 4190SYS"Wimp_DecodeMenu",,openmenu%,block,icond
 4200IF $icond="Quit" THEN PROCareyousure:quiting=TRUE
 4210IF $icond="Details" THEN PROCopendet
 4220IF $icond="View.LetterHeads" THEN PROCopenwin(letter%):PROCredraw(letter%)
 4230IF $icond="View.Comp Slips" THEN PROCopenwin(comp%):PROCredraw(comp%)
 4240IF $icond="View.Bus. Cards" THEN PROCopenwin(card%):PROCredraw(card%)
 4250IF $icond="Picture.Insert" THEN PROCinsert(menuwin)
 4260IF $icond="Picture.Remove" THEN PROCremove(menuwin)
 4270IF $icond="Picture.Del Pic" THEN PROCdeleteall
 4280IF $icond="Show All" THEN PROCshowall(menuwin)
 4290IF $icond="Save.Draw" PROCopenwin(save%)
 4300IF $icond="Save.Data" PROCopenwin(saved%)
 4310SYS"Wimp_GetPointerInfo",,block
 4320IF block!8=1 THEN
 4330block!12=menuwin
 4340PROCcmenus
 4350SYS"Wimp_CreateMenu",,openmenu%
 4360ELSE
 4370SYS"Wimp_CreateMenu",,-1
 4380ENDIF
 4390ENDPROC
 4400
 4410DEFPROCmess(mess$)
 4420!icond=0:$(icond+4)=mess$+CHR$0
 4430SYS"Wimp_ReportError",icond,1,"!Stationer"
 4440ENDPROC
 4450
 4460DEFPROCerror(err$)
 4470IF ERR=523 THEN
 4480PROCmess("Font "+font$+" not found")
 4490PROCclose(card%):PROCclose(comp%):PROCclose(letter%)
 4500ELSE
 4510!icond=0:$(icond+4)=err$+"."+" Press OK to continue or Cancel to quit"+CHR$0
 4520SYS"Wimp_ReportError",icond,3,"!Stationer" TO ,but
 4530IF but=2 THEN PROCend
 4540ENDIF
 4550ENDPROC
 4560
 4570DEFPROCout
 4580SYS"DragASprite_Stop"
 4590IF winsave%=savedraw% THEN stext=stexd:ft=&AFF
 4600IF winsave%=savedraw% THEN stext=stexd:ft=&00C
 4610IF winsave%=savepic% AND FNcheckflag(savepic%,4,21) stext=stextpic:ft=&FF9 ELSE stext=stextpic:ft=&AFF
 4620IF drive%=1 THEN
 4630SYS "Wimp_GetPointerInfo",,mblock
 4640win=mblock!12:icon=mblock!16:xout=!mblock:yout=mblock!4:
 4650mblock!20=mblock!12:mblock!24=mblock!16:mblock!28=!mblock:mblock!32=mblock!4
 4660mblock!12=0:mblock!16=1:mblock!36=1024:mblock!40=ft
 4670$stext=$FNinfo(winsave%,2)
 4680$stext=FNgetleaf($stext)
 4690FOR I=0 TO 255:IF I?stext<32 THEN I?stext=13
 4700NEXT
 4710!mblock=44+4*(1+(LEN$stext)DIV4)
 4720$(mblock+44)=FNbit($stext)+CHR$0:!mblock=60
 4730SYS "Wimp_SendMessage",17,mblock,mblock!20,mblock!24:REM DataSave
 4740drag%=FALSE
 4750ENDIF
 4760ENDPROC
 4770
 4780DEFPROCdefsave
 4790PROCMode
 4800IF winsave%=savedraw% THEN ft$="file_AFF"
 4810IF winsave%=save% THEN ft$="file_00C"
 4820IF winsave%=savepic% AND FNcheckflag(savepic%,4,21) ft$="file_FF9" ELSE ft$="file_AFF"
 4830!block=winsave%
 4840SYS "Wimp_GetWindowState",,block
 4850ysize%=block!16-block!8
 4860x%=block!4:y%=block!8:block!4=1
 4870SYS"Wimp_GetIconState",,block
 4880block!8+=x%:block!12+=y%+ysize%
 4890block!16+=x%:block!20+=y%+ysize%
 4900block!24=0:block!28=0:block!32=xmax:block!36=ymax
 4910!block=0:block!4=5:drag%=TRUE:drive%=1
 4920IF daspr THEN SYS"DragASprite_Start",%10000101,1,ft$,block+8 ELSE SYS"Wimp_DragBox",,block
 4930ENDPROC
 4940
 4950DEFPROCMode
 4960!block=130:block!4=131:block!8=-1:SYS"OS_ReadVduVariables",block,block+128
 4970SYS"OS_ReadModeVariable",MODE,4 TO ,,Xeig%
 4980SYS"OS_ReadModeVariable",MODE,5 TO ,,Yeig%
 4990xmax=((block!128)+1)*2^Xeig%:ymax=((block!132)+1)*2^Yeig%
 5000ENDPROC
 5010
 5020DEFFNgetleaf(leaf$)
 5030WHILE INSTR(leaf$,".")
 5040leaf$=MID$(leaf$,INSTR(leaf$,".")+1)
 5050ENDWHILE:=leaf$
 5060
 5070DEFPROCsave(save$)
 5080IF INSTR(save$,".")<1 AND INSTR(save$,":")<1 AND save$<>"<Wimp$Scrap>" THEN PROCquery("To save, drag the save icon to a directory viewer"):nosave=TRUE:ENDPROC
 5090IF winsave%=save% THEN PROCmess("Sorry, this version is unable to save. Register for full version. See Help file for further details")
 5100IF winsave%=savedraw% THEN PROCmess("Sorry, this version is unable to save. Register for full version. See Help file for further details")
 5110IF winsave%=savepic% THEN PROCsavepic
 5120ENDPROC
 5130
 5140DEFPROCsavepic
 5150LOCAL ERROR
 5160ON ERROR LOCAL IF ERR=71622:PROCquery("Disc Full"):full=TRUE:RESTORE ERROR:ENDPROC:ELSE RESTORE ERROR:PROCerror(REPORT$+" : at line "+STR$ERL):CLOSE#ile:END
 5170SSpr=FNcheckflag(savepic%,4,21)
 5180IF SSpr THEN
 5190SYS"OS_File",0,save$,0,0,spr%+4,spr%+(sprlen+4)
 5200SYS"OS_File",&12,save$,&ff9
 5210ENDIF
 5220IF NOT SSpr THEN
 5230SYS"OS_File",0,save$,0,0,drawptr%,drawptr%+drawk
 5240SYS"OS_File",&12,save$,&AFF
 5250ENDIF
 5260IF save$<>"<Wimp$Scrap>" PROCinfo(savepic%,2,save$)
 5270ENDPROC
 5280
 5290DEFPROCdragin
 5300IF itempull THEN PROCresizeitem
 5310IF itemdrag THEN PROCdropitem
 5320IF drag% THEN PROCout
 5330ENDPROC
 5340
 5350DEFPROCmessagein
 5360mblock=block
 5370ref=mblock!8:task=mblock!4
 5380CASE mblock!16 OF
 5390WHEN 8:
 5400IF NOT savef THEN
 5410IF (mblock!20 AND (1<<0))>0 THEN quiting=TRUE ELSE shutdown=TRUE
 5420IF quiting THEN PRINTTAB(0,0)"Quit"
 5430IF shutdown THEN PRINTTAB(1,1)"Shutdown"
 5440mblock!12=mblock!8:SYS"Wimp_SendMessage",19,mblock:PROCareyousure
 5450ENDIF
 5460WHEN 0:PROCend
 5470WHEN 2:
 5480IF drive%=1 THEN
 5490PROCsave(FNwool(mblock+44))
 5500mblock!12=ref
 5510mblock!16=3
 5520mblock!36=-1
 5530!mblock=256
 5540sendm=&400E7
 5550SYS sendm,18,mblock,task:REM DataLoad
 5560ENDIF
 5570WHEN 3:
 5580IF mblock!40<>&0CD AND mblock!40<>&FF9 AND mblock!40<>&AFF THEN PROCmess("Only Stationer Data files or Sprites can be dropped into here"):ENDPROC
 5590in=TRUE
 5600PROCclose(colour%):PROCclose(type%):PROCclose(back%):PROCclose(picture%)
 5610IF mblock!40=&FF9 THEN PROCinsprites
 5620IF mblock!40=&AFF THEN PROCindraw
 5630IF mblock!40=&0CD THEN PROCload(FNwool(block+44))
 5640WHEN 5:
 5650IF block!40=&0CD THEN
 5660block!12=block!8:block!16=4
 5670sendm=&400E7
 5680SYS sendm,18,block,block!4:REM DataLoadAck
 5690PROCload(FNwool(block+44))
 5700ENDIF
 5710ENDCASE
 5720ENDPROC
 5730
 5740DEFPROCload(load$)
 5750SYS"OS_Find",&40,load$ TO file%
 5760t$=""
 5770t$=FNreadfile
 5780IF t$<>"Stationer Data File" THEN PROCmess("This is not a Stationer data file"):SYS"OS_Find",0,file%:ENDPROC
 5790PROCdeleteall
 5800IF FNreadfile="Sprites" THEN sprites=TRUE:sprlen=VAL(FNreadfile)
 5810IF FNreadfile="Drawing" THEN drawing=TRUE:drawk=VAL(FNreadfile)
 5820SYS"OS_GBPB",4,file%,workblk,8*1024
 5830IF sprites THEN spr%=(FNclaim(sprlen+256)):SYS"OS_GBPB",4,file%,spr%+4,sprlen:PROCsprmen
 5840IF drawing THEN drawptr%=(FNclaim(drawk+256)):SYS"OS_GBPB",4,file%,drawptr%,drawk
 5850SYS"OS_Find",0,file%
 5860$FNinfo(save%,2)=load$
 5870IF noic=0 savef=TRUE:PROCtitles("")
 5880PROCredraw(card%):PROCredraw(comp%):PROCredraw(letter%)
 5890IF load$<>"<Stat$Dir>.DefaultDt" PROCopendet
 5900ENDPROC
 5910
 5920DEFFNreadfile
 5930 t$=""
 5940 REPEAT
 5950 SYS"OS_BGet",,file% TO byte%
 5960 IF byte%=254 SYS"OS_Find",0,file%:PROCopenwin(details%):
 5970 t$=t$+CHR$(byte%)
 5980 UNTIL byte%=13 OR byte%=10
 5990 =LEFT$(t$,LEN(t$)-1)
 6000DEFPROCinsprites
 6010 load$=FNwool(block+44)
 6020IF sprites THEN PROCdelete(1)
 6030SYS "OS_File",5,load$ TO ,,,,sprlen
 6040spr%=FNclaim(sprlen+256)
 6050SYS "OS_File",&FF,load$,spr%+4
 6060PROCsprmen
 6070sprites=TRUE
 6080FOR i=0 TO 2
 6090ptr=detptr+(desblk*i)
 6100IF workblk?(ptr+5)=1 THEN $(workblk+(ptr+6))=curspr$
 6110NEXT
 6120PROCredraw(card%)
 6130PROCredraw(letter%)
 6140PROCredraw(comp%)
 6150ENDPROC
 6160
 6170DEFPROCsprmen
 6180men$="":largest=0
 6190SYS "OS_SpriteOp",&108,spr% TO ,,,sprites%
 6200FOR i%=0 TO sprites%-1
 6210 SYS "OS_SpriteOp",256+13,spr%,temp%,&100,i%+1 TO ,,,j%
 6220 temp%?j%=13
 6230 IF INSTR($temp%,",")>0 THEN SYS"OS_SpriteOp",256+26,spr%,$temp%,"No"+STR$(i%+1):$temp%="No"+STR$(i%+1)
 6240 IF LEN(men$)<243 THEN men$=men$+$temp%+","
 6250 IF i%=0 THEN defspr$=$temp%
 6260 IF LEN($temp%)>largest largest=LEN($temp%)
 6270NEXT
 6280men$=LEFT$(men$,LEN(men$)-1)
 6290curspr$=LEFT$(men$,INSTR(men$,",")-1)
 6300ENDPROC
 6310
 6320DEFPROCindraw
 6330load$=FNwool(block+44)
 6340IF drawing THEN PROCdelete(2)
 6350SYS"OS_File",5,load$ TO ,,,,drawk
 6360drawptr%=FNclaim(drawk+256)
 6370SYS"OS_File",&FF,load$,drawptr%
 6380drawing=TRUE
 6390ENDPROC
 6400
 6410DEFPROCopenwin(handle%)
 6420!block=handle%
 6430SYS"Wimp_GetWindowState",,block
 6440open=block!32 AND (1<<16)
 6450IF block!28<>-1 OR open=0 OR (handle%=card% OR handle%=comp% OR handle%=letter%) THEN
 6460block!28=-1
 6470SYS"Wimp_OpenWindow",,block
 6480ENDIF
 6490ENDPROC
 6500
 6510DEFPROCopencen(handle%)
 6520PROCMode
 6530!block=handle%
 6540SYS"Wimp_GetWindowInfo",,block
 6550workx%=block!12-block!4
 6560worky%=block!16-block!8
 6570block!4=(xmax-workx%)/2
 6580block!12=workx%+block!4
 6590block!8=(ymax-worky%)/2
 6600block!16=worky%+block!8
 6610block!28=-1
 6620SYS"Wimp_OpenWindow",,block
 6630ENDPROC
 6640
 6650DEFPROCfmenucr
 6660SYS"Font_ListFonts",,temp%,0,&100
 6670deffont$=$temp%
 6680fflag%=0
 6690fflag%+=1<<19
 6700fflag%+=0<<20
 6710SYS"Font_ListFonts",,0,fflag%,,0 TO r,s,t,A,u,B
 6720DIM fmenu% A,fbuf% B
 6730SYS"Font_ListFonts",,fmenu%,fflag%,A,fbuf%,B,1
 6740ENDPROC
 6750
 6760DEFFNMax(a%,b%)
 6770IF a%>b% THEN =a%
 6780=b%
 6790
 6800DEFFNInfo(p%)
 6810LOCAL a$
 6820a$=""
 6830WHILE (?p%<>0 AND ?p%<>13)
 6840 a$+=CHR$(?p%)
 6850 p%+=1
 6860ENDWHILE
 6870=a$
 6880
 6890DEFPROCopendet
 6900!block=details%
 6910SYS"Wimp_GetWindowState",,block
 6920open=block!32 AND (1<<16)
 6930IF open=0 THEN
 6940$FNinfo(details%,0)=$(workblk+0)
 6950$FNinfo(details%,1)=$(workblk+256)
 6960$FNinfo(details%,6)=$(workblk+512)
 6970$FNinfo(details%,7)=$(workblk+768)
 6980$FNinfo(details%,8)=$(workblk+1024)
 6990$FNinfo(details%,2)=$(workblk+1280)
 7000$FNinfo(details%,3)=$(workblk+1536)
 7010$FNinfo(details%,4)=$(workblk+1792)
 7020$FNinfo(details%,5)=$(workblk+2048)
 7030ENDIF
 7040PROCopenwin(details%)
 7050ENDPROC
 7060
 7070DEFPROCsetdet
 7080$(workblk+0)=$FNinfo(details%,0)
 7090$(workblk+256)=$FNinfo(details%,1)
 7100$(workblk+512)=$FNinfo(details%,6)
 7110$(workblk+768)=$FNinfo(details%,7)
 7120$(workblk+1024)=$FNinfo(details%,8)
 7130$(workblk+1280)=$FNinfo(details%,2)
 7140$(workblk+1536)=$FNinfo(details%,3)
 7150$(workblk+1792)=$FNinfo(details%,4)
 7160$(workblk+2048)=$FNinfo(details%,5)
 7170FOR design=0 TO 2
 7180aptr=detptr+(desblk*design)+deslen
 7190FOR i=0 TO 4
 7200ptr=aptr+(style*i)
 7210font$=$(workblk+ptr)
 7220pt=workblk!(ptr+256)
 7230width=workblk!(ptr+260)
 7240PROCbbox($(workblk+(i*256)),font$,pt,width)
 7250workblk!(ptr+278)=workblk!(ptr+270)+bbx1
 7260workblk!(ptr+282)=workblk!(ptr+274)-bby1
 7270workblk!(ptr+286)=bbx
 7280workblk!(ptr+290)=bby
 7290NEXT i
 7300ptr=aptr+(style*5)
 7310font$=$(workblk+ptr)
 7320pt=workblk!(ptr+256)
 7330width=workblk!(ptr+260)
 7340PROCbbox($(workblk+(5*256)),font$,pt,width)
 7350bbxm=bbx
 7360PROCbbox($(workblk+(6*256)),font$,pt,width)
 7370IF bbx>bbxm THEN bbxm=bbx
 7380PROCbbox($(workblk+(7*256)),font$,pt,width)
 7390IF bbx>bbxm THEN bbxm=bbx
 7400PROCbbox($(workblk+(8*256)),font$,pt,width)
 7410IF bbx>bbxm THEN bbxm=bbx
 7420PROCbbox("WFMgjq",font$,pt,width)
 7430workblk!(ptr+278)=workblk!(ptr+270)+bbx1
 7440workblk!(ptr+282)=workblk!(ptr+274)-bby1
 7450workblk!(ptr+286)=bbxm
 7460workblk!(ptr+290)=bby
 7470NEXT design
 7480select=-1
 7490PROCredraw(card%)
 7500PROCredraw(comp%)
 7510PROCredraw(letter%)
 7520ENDPROC
 7530
 7540DEFPROCresetdet
 7550FOR i=0 TO 8
 7560PROCinfo(details%,i,"")
 7570NEXT
 7580ENDPROC
 7590
 7600DEFPROCredraw(handle)
 7610 block!0=handle
 7620LOCALmore%
 7630SYS "Wimp_RedrawWindow",,block TO more%
 7640WHILE more%
 7650 CASE handle OF
 7660 WHEN card% : PROCredrawcard
 7670 WHEN comp% : PROCredrawcomp
 7680 WHEN letter% : PROCredrawlett
 7690 WHEN colour% : PROCredrawcol
 7700 WHEN picture% : PROCredrawpic
 7710 WHEN type% : PROCredrawtype
 7720 WHEN back% : PROCredrawback
 7730 ENDCASE
 7740 SYS "Wimp_GetRectangle",,block TO more%
 7750ENDWHILE
 7760IF close=1 THEN PROCclose(card%):close=0
 7770ENDPROC
 7780
 7790DEFPROCredrawcard
 7800SYS"OS_Byte",113,2
 7810SYS"OS_Byte",112,1
 7820workx%=block!4-block!20
 7830worky%=block!16-block!24
 7840xmin=block!28-workx%
 7850xmax=block!36-workx%
 7860ymin=block!32-worky%
 7870ymax=block!40-worky%
 7880PROCdrawdesign(workx%,worky%,0,card%)
 7890ENDPROC
 7900
 7910DEFPROCredrawcomp
 7920workx%=block!4-block!20
 7930worky%=block!16-block!24
 7940xmin=block!28-workx%
 7950xmax=block!36-workx%
 7960ymin=block!32-worky%
 7970ymax=block!40-worky%
 7980PROCdrawdesign(workx%,worky%,1,comp%)
 7990ENDPROC
 8000
 8010DEFPROCredrawlett
 8020workx%=block!4-block!20
 8030worky%=block!16-block!24
 8040xmin=block!28-workx%
 8050xmax=block!36-workx%
 8060ymin=block!32-worky%
 8070ymax=block!40-worky%
 8080PROCdrawdesign(workx%,worky%,2,letter%)
 8090ENDPROC
 8100
 8110DEFPROCredrawtype
 8120workx%=block!4-block!20
 8130worky%=block!16-block!24
 8140SYS "ColourTrans_SetGCOL",InterHex,,,&100,0
 8150RECTANGLE FILL workx%+406,worky%-204,140,50
 8160SYS "ColourTrans_SetGCOL",0,,,&100,0
 8170RECTANGLE workx%+406,worky%-204,140,50
 8180ENDPROC
 8190
 8200DEFPROCredrawback
 8210workx%=block!4-block!20
 8220worky%=block!16-block!24
 8230SYS "ColourTrans_SetGCOL",InterHex,,,&100,0
 8240RECTANGLE FILL workx%+342,worky%-110,260,48
 8250SYS "ColourTrans_SetGCOL",0,,,&100,0
 8260RECTANGLE workx%+342,worky%-110,260,48
 8270ENDPROC
 8280
 8290DEFPROCredrawcol
 8300RED=(hex>>8)AND&FF
 8310GREEN=(hex>>16)AND&FF
 8320BLUE=(hex>>24)AND&FF
 8330workx%=block!4-block!20
 8340worky%=block!16-block!24
 8350SYS "ColourTrans_SetGCOL",hex,,,&100,0
 8360RECTANGLE FILL workx%+234,worky%-247,175,48
 8370SYS "Wimp_SetColour",1,1
 8380RECTANGLE FILL workx%+270,worky%-170,344,147
 8390SYS "ColourTrans_SetGCOL",&0000FF00,,,&100,0
 8400RECTANGLE FILL workx%+271,worky%-55,(RED/255)*344,32
 8410SYS "ColourTrans_SetGCOL",&00FF0000,,,&100,0
 8420RECTANGLE FILL workx%+271,worky%-111,(GREEN/255)*344,32
 8430SYS "ColourTrans_SetGCOL",&FF000000,,,&100,0
 8440RECTANGLE FILL workx%+271,worky%-167,(BLUE/255)*344,32
 8450SYS "ColourTrans_SetGCOL",0,,,&100,0
 8460RECTANGLE workx%+233,worky%-248,176,49
 8470RECTANGLE workx%+270,worky%-58,344,34
 8480RECTANGLE workx%+270,worky%-114,344,34
 8490RECTANGLE workx%+270,worky%-170,344,34
 8500ENDPROC
 8510
 8520DEFPROCredrawpic
 8530 workx%=block!4-block!20
 8540 worky%=block!16-block!24
 8550redraw=FALSE
 8560xmin=block!28-workx%
 8570xmax=block!36-workx%
 8580ymin=block!32-worky%
 8590ymax=block!40-worky%
 8600redraw=FNoverlaps(16,-218,216,-18,xmin,ymin,xmax,ymax)
 8610IF redraw THEN
 8620ptr=detptr+(desblk*design)
 8630Red=workblk?(ptr+1)
 8640Green=workblk?(ptr+2)
 8650Blue=workblk?(ptr+3)
 8660InterHex=(Blue<<24)+(Green<<16)+(Red<<8)
 8670SYS "ColourTrans_SetGCOL",InterHex,,,&100,0
 8680RECTANGLE FILL workx%+16,worky%-218,200,200
 8690IF FNcheckflag(picture%,5,21) THEN picpic=1 ELSE picpic=2
 8700IF picpic=1 THEN
 8710SYS"Wimp_ReadPixTrans",&100,1,"sizeing",,,,scale%
 8720hpix=scale%!4:vpix=scale%!12
 8730boxw=100/hpix:boxh=100/vpix
 8740PROCscale(100,100,curspr$)
 8750SYS &2E,256+40,spr%,curspr$ TO A,B,C,w%,h%,D,mode%
 8760realx=w%*(scale%!0/scale%!8):realy=h%*(scale%!4/scale%!12)
 8770xmul=(boxw/realx)*100:ymul=(boxh/realy)*100
 8780Lock=FNcheckflag(picture%,1,21)
 8790Centred=FNcheckflag(picture%,2,21)
 8800Front=FNcheckflag(picture%,3,21)
 8810IF Lock AND xmul<ymul THEN ymul=xmul
 8820IF Lock AND xmul>ymul THEN xmul=ymul
 8830PROCgetpal(curspr$)
 8840xoff=0:yoff=0
 8850newx=realx*xmul/100:newy=realy*ymul/100
 8860IF Centred THEN xoff=(boxw-newx)*hpix:yoff=(boxh-newy)*vpix
 8870xdiv=100:ydiv=100
 8880scale%!0=scale%!0*xmul:scale%!4=scale%!4*ymul:scale%!8=scale%!8*xdiv:scale%!12=scale%!12*ydiv
 8890SYS &2E,256+52,spr%,curspr$,workx%+16+xoff,worky%-218+ yoff,8,scale%,PixTrans%
 8900ENDIF
 8910IF picpic=2 THEN
 8920Lock=FNcheckflag(picture%,1,21)
 8930Centred=FNcheckflag(picture%,2,21)
 8940Front=FNcheckflag(picture%,3,21)
 8950icond!0=65536:icond!4=0:icond!8=0:icond!12=65536:icond!16=0*256:icond!20=0*256
 8960SYS"DrawFile_BBox",0,drawptr%,drawk,icond,matrix
 8970width=(matrix!8-matrix!0)/256:height=(matrix!12-matrix!4)/256
 8980xmul=200/width:ymul=200/height
 8990IF Lock AND xmul<ymul THEN ymul=xmul
 9000IF Lock AND xmul>ymul THEN xmul=ymul
 9010neww=width*xmul:newh=height*ymul
 9020cxoff=0:cyoff=0
 9030IF Centred THEN cxoff=(200-neww)/2:cyoff=(200-newh)/2
 9040icond!0=xmul*65536:icond!12=ymul*65536
 9050SYS"DrawFile_BBox",0,drawptr%,drawk,icond,matrix
 9060width=(matrix!8-matrix!0)/256:height=(matrix!12-matrix!4)/256
 9070xoff=(0-matrix!0/256):yoff=(0-matrix!4/256)
 9080icond!0=xmul*65536:icond!4=0:icond!8=0:icond!12=ymul*65536:icond!16=(workx%+16+xoff+cxoff)*256:icond!20=(worky%-218+yoff+cyoff)*256
 9090SYS"DrawFile_Render",%00,drawptr%,drawk,icond,0
 9100GCOL 2
 9110ENDIF
 9120ENDIF
 9130ENDPROC
 9140
 9150DEFPROCdrawdesign(pxco,pyco,design,handle)
 9160ptr=detptr+(desblk*design)
 9170border=workblk?(ptr+0)
 9180BRed=workblk?(ptr+1)
 9190BGreen=workblk?(ptr+2)
 9200BBlue=workblk?(ptr+3)
 9210BTran=workblk?(ptr+4)
 9220pictype=workblk?(ptr+5)
 9230Front=workblk?(ptr+24)
 9240bx1=workblk!(ptr+28)
 9250by1=workblk!(ptr+32)
 9260bx2=workblk!(ptr+36)
 9270by2=workblk!(ptr+40)
 9280BCol=(BBlue<<24)+(BGreen<<16)+(BRed<<8)
 9290CASE border OF
 9300WHEN 1:
 9310SYS "ColourTrans_SetGCOL",BCol,,,&100,0
 9320RECTANGLE FILL pxco+bx1,pyco-by1,bx2,by2
 9330SYS "ColourTrans_SetGCOL",&00000000,,,&100,0
 9340RECTANGLE pxco+bx1,pyco-by1,bx2,by2
 9350WHEN 2:
 9360SYS "ColourTrans_SetGCOL",BCol,,,&100,0
 9370RECTANGLE FILL pxco+bx1,pyco-by1,bx2,by2
 9380SYS "ColourTrans_SetGCOL",&00000000,,,&100,0
 9390RECTANGLE pxco+bx1,pyco-by1,bx2,by2
 9400RECTANGLE pxco+bx1+2,pyco-by1+2,bx2-4,by2-4
 9410WHEN 3:
 9420SYS "ColourTrans_SetGCOL",BCol,,,&100,0
 9430RECTANGLE FILL pxco+bx1,pyco-by1,bx2,by2
 9440SYS "ColourTrans_SetGCOL",&00000000,,,&100,0
 9450RECTANGLE pxco+bx1,pyco-by1,bx2,by2
 9460RECTANGLE pxco+bx1+2,pyco-by1+2,bx2-4,by2-4
 9470RECTANGLE pxco+bx1+4,pyco-by1+4,bx2-8,by2-8
 9480WHEN 4:
 9490SYS "ColourTrans_SetGCOL",BCol,,,&100,0
 9500RECTANGLE FILL pxco+bx1,pyco-by1,bx2,by2
 9510SYS "ColourTrans_SetGCOL",&00000000,,,&100,0
 9520RECTANGLE pxco+bx1,pyco-by1,bx2,by2
 9530RECTANGLE pxco+bx1+4,pyco-by1+4,bx2-8,by2-8
 9540RECTANGLE pxco+bx1+6,pyco-by1+6,bx2-12,by2-12
 9550WHEN 5:
 9560SYS "ColourTrans_SetGCOL",BCol,,,&100,0
 9570RECTANGLE FILL pxco+bx1,pyco-by1,bx2,by2
 9580SYS "ColourTrans_SetGCOL",&00000000,,,&100,0
 9590RECTANGLE pxco+bx1,pyco-by1,bx2,by2
 9600RECTANGLE pxco+bx1+2,pyco-by1+2,bx2-4,by2-4
 9610RECTANGLE pxco+bx1+6,pyco-by1+6,bx2-12,by2-12
 9620ENDCASE
 9630IF Front=0 AND pictype=1 THEN PROCdessprite(pxco,pyco,design)
 9640IF Front=0 AND pictype=2 THEN PROCdesdraw(pxco,pyco,design)
 9650 FOR item=0 TO 5
 9660  PROCdrawitem(design,item,pxco,pyco)
 9670 NEXT
 9680IF Front=1 AND pictype=1 THEN PROCdessprite(pxco,pyco,design)
 9690IF Front=1 AND pictype=2 THEN PROCdesdraw(pxco,pyco,design)
 9700IF select<>-1 AND handle=curdes THEN
 9710 x1=sx1:y1=0-sy1:x2=sx1+sx2:y2=0-sy1+sy2:a1=xmin:b1=ymin:a2=xmax:b2=ymax
 9720 redraw=FNoverlaps(x1,y1,x2,y2,a1,b1,a2,b2)
 9730 IF redraw THEN
 9740 SYS"ColourTrans_SetGCOL",&0000FF00,,,&100,0
 9750 MOVE workx%+sx1,worky%-sy1
 9760 VDU 23,6,&CC|
 9770 PLOT 17,sx2,0
 9780 PLOT 17,0,sy2
 9790 PLOT 17,0-sx2,0
 9800 PLOT 17,0,0-sy2
 9810 ENDIF
 9820ENDIF
 9830ENDPROC
 9840
 9850DEFPROCdrawitem(design,item,pxco,pyco)
 9860ptr=detptr+(desblk*design)+deslen+(style*item)
 9870hide=workblk?(ptr+294)
 9880IF hide=0 THEN ENDPROC
 9890redraw=FALSE
 9900FxPos=workblk!(ptr+270)
 9910FyPos=workblk!(ptr+274)
 9920Fx1=workblk!(ptr+278)
 9930Fy1=workblk!(ptr+282)
 9940Fx2=workblk!(ptr+286)
 9950Fy2=workblk!(ptr+290)
 9960u=workblk?(ptr+265)
 9970IF u=1 THEN line=4+4 ELSE line=0
 9980x1=Fx1:y1=0-Fy1-line:x2=Fx1+Fx2:y2=0-Fy1+Fy2:a1=xmin:b1=ymin:a2=xmax:b2=ymax
 9990IF item=5 THEN y2=Fy2*4+6*3
10000redraw=FNoverlaps(x1,y1,x2,y2,a1,b1,a2,b2)
10010IF redraw THEN
10020text$=$(workblk+item*256)
10030IF item=5 THEN
10040text2$=$(workblk+(item+1)*256)
10050text3$=$(workblk+(item+2)*256)
10060text4$=$(workblk+(item+3)*256)
10070ENDIF
10080font$=$(workblk+ptr)
10090SYS"XFont_FindFont",,font$,16,16,0,0 TO fhnd%
10100IF fhnd%!0=523 THEN
10110SYS"XFont_FindFont",,"Trinity.Medium",16,16,0,0 TO fhnd%
10120IF fhnd%!0=523 THEN font$=deffont$ ELSE font$="Trinity.Medium"
10130ENDIF
10140pt=workblk!(ptr+256)
10150w=workblk!(ptr+260)
10160j=workblk?(ptr+264)
10170FRed=workblk?(ptr+266)
10180FGreen=workblk?(ptr+267)
10190FBlue=workblk?(ptr+268)
10200FTran=workblk?(ptr+269)
10210FCol=(FBlue<<24)+(FGreen<<16)+(FRed<<8)
10220x=FNwidth(text$,font$,pt,w)
10230SYS "ColourTrans_SetFontColours",font%,BCol,FCol,14
10240IF item=5 THEN
10250jus=%10010
10260nFx=FxPos
10270IF j=3 THEN jus=%10001:MOVE pxco+FxPos+Fx2,pyco-FyPos
10280width=FNwidth(text4$,font$,pt,w)
10290IF j=2 nFx=FxPos+(Fx2-width)
10300IF j=1 nFx=FxPos+(Fx2-width)/2
10310SYS"Font_Paint",,text4$,jus,pxco+nFx,pyco-FyPos
10320width=FNwidth(text3$,font$,pt,w)
10330IF j=2 nFx=FxPos+(Fx2-width)
10340IF j=1 nFx=FxPos+(Fx2-width)/2
10350SYS"Font_Paint",,text3$,jus,pxco+nFx,pyco-FyPos+((Fy2+6)*1)
10360width=FNwidth(text2$,font$,pt,w)
10370IF j=2 nFx=FxPos+(Fx2-width)
10380IF j=1 nFx=FxPos+(Fx2-width)/2
10390SYS"Font_Paint",,text2$,jus,pxco+nFx,pyco-FyPos+((Fy2+6)*2)
10400width=FNwidth(text$,font$,pt,w)
10410IF j=2 nFx=FxPos+(Fx2-width)
10420IF j=1 nFx=FxPos+(Fx2-width)/2
10430SYS"Font_Paint",,text$,jus,pxco+nFx,pyco-FyPos+((Fy2+6)*3)
10440ELSE
10450SYS"Font_Paint",,text$,%10010,pxco+FxPos,pyco-FyPos
10460ENDIF
10470IF u=1 THEN
10480SYS "ColourTrans_SetGCOL",FCol,,,&100,0
10490RECTANGLE FILL pxco+Fx1,pyco-Fy1-4,x,-4
10500ENDIF
10510ENDIF
10520ENDPROC
10530
10540DEFFNoverlaps(x1,y1,x2,y2,a1,b1,a2,b2)
10550interx=FALSE:intery=FALSE
10560IF (x1>=a1 AND x1<=a2) THEN interx=TRUE
10570IF (x2>=a1 AND x2<=a2) THEN interx=TRUE
10580IF (a1>=x1 AND a1<=x2) THEN interx=TRUE
10590IF (a2>=x1 AND a2<=x2) THEN interx=TRUE
10600IF (y1>=b1 AND y1<=b2) THEN intery=TRUE
10610IF (y2>=b1 AND y2<=b2) THEN intery=TRUE
10620IF (b1>=y1 AND b1<=y2) THEN intery=TRUE
10630IF (b2>=y1 AND b2<=y2) THEN intery=TRUE
10640IF interx AND intery THEN =TRUE
10650=FALSE
10660
10670DEFPROCdessprite(cxco,cyco,design)
10680redraw=FALSE
10690ptr=detptr+(desblk*design)
10700Spx1=workblk!(ptr+44)
10710Spy1=workblk!(ptr+48)
10720Spx2=workblk!(ptr+52)
10730Spy2=workblk!(ptr+56)
10740x1=Spx1:y1=0-Spy1:x2=Spx1+Spx2:y2=0-Spy1+Spy2:a1=xmin:b1=ymin:a2=xmax:b2=ymax
10750redraw=FNoverlaps(x1,y1,x2,y2,a1,b1,a2,b2)
10760IF sprites AND redraw THEN
10770curspr$=$(workblk+(ptr+6))
10780Lock=workblk?(ptr+22)
10790Centred=workblk?(ptr+23)
10800Front=workblk?(ptr+24)
10810SYS"Wimp_ReadPixTrans",&100,1,"sizeing",,,,scale%
10820hpix=scale%!4:vpix=scale%!12
10830Spx2=Spx2/hpix:Spy2=Spy2/vpix
10840SYS &2E,256+40,spr%,curspr$ TO ,,,w%,h%,D,mode%
10850PROCscale(Spx2,Spy2,curspr$)
10860PROCgetpal(curspr$)
10870newx=w%*(scale%!0/scale%!8):newy=h%*(scale%!4/scale%!12)
10880xmul=((Spx2/2)/newx)*100:ymul=((Spy2/2)/newy)*100
10890xoff=0:yoff=0
10900xoff1=(w%*xmul*scale%!0*2)/100:yoff1=(h%*ymul*scale%!4*2)/100
10910IF Lock=1 AND xmul<ymul THEN ymul=xmul
10920IF Lock=1 AND xmul>ymul THEN xmul=ymul
10930IF Centred=1 THEN
10940xoff2=(w%*xmul*scale%!0*2)/100:yoff2=(h%*ymul*scale%!4*2)/100
10950xoff=(xoff1-xoff2)/2*hpix:yoff=(yoff1-yoff2)/2*vpix
10960ENDIF
10970xdiv=100:ydiv=100
10980scale%!0=scale%!0*xmul:scale%!4=scale%!4*ymul:scale%!8=scale%!8*xdiv:scale%!12=scale%!12*ydiv
10990SYS &2E,256+52,spr%,curspr$,cxco+Spx1+xoff,cyco-Spy1+yoff,8,scale%,PixTrans%
11000ENDIF
11010ENDPROC
11020
11030DEFPROCdesdraw(cxco,cyco,design)
11040redraw=FALSE
11050ptr=detptr+(desblk*design)
11060Spx1=workblk!(ptr+44)
11070Spy1=workblk!(ptr+48)
11080Spx2=workblk!(ptr+52)
11090Spy2=workblk!(ptr+56)
11100x1=Spx1:y1=0-Spy1:x2=Spx1+Spx2:y2=0-Spy1+Spy2:a1=xmin:b1=ymin:a2=xmax:b2=ymax
11110redraw=FNoverlaps(x1,y1,x2,y2,a1,b1,a2,b2)
11120IF drawing AND redraw THEN
11130Lock=workblk?(ptr+22)
11140Centred=workblk?(ptr+23)
11150Front=workblk?(ptr+24)
11160icond!0=65536:icond!4=0:icond!8=0:icond!12=65536:icond!16=0*256:icond!20=0*256
11170SYS"DrawFile_BBox",0,drawptr%,drawk,icond,matrix
11180width=(matrix!8-matrix!0)/256:height=(matrix!12-matrix!4)/256
11190xmul=Spx2/width:ymul=Spy2/height
11200xoff=0:yoff=0
11210xoff1=xmul*width:yoff1=ymul*height
11220IF Lock AND xmul<ymul THEN ymul=xmul
11230IF Lock AND xmul>ymul THEN xmul=ymul
11240IF Centred=1 THEN
11250xoff2=xmul*width:yoff2=ymul*height
11260xoff=(xoff1-xoff2)/2:yoff=(yoff1-yoff2)/2
11270ENDIF
11280icond!0=xmul*65536:icond!12=ymul*65536
11290SYS"DrawFile_BBox",0,drawptr%,drawk,icond,matrix
11300width=(matrix!8-matrix!0)/256:height=(matrix!12-matrix!4)/256
11310bbxoff=(0-matrix!0/256):bbyoff=(0-matrix!4/256)
11320icond!0=xmul*65536:icond!4=0:icond!8=0:icond!12=ymul*65536:icond!16=(cxco+Spx1+bbxoff+xoff)*256:icond!20=(cyco-Spy1+bbyoff+yoff)*256
11330SYS"DrawFile_Render",%00,drawptr%,drawk,icond,0
11340ENDIF
11350ENDPROC
11360
11370DEFPROCscale(spw,sph,workspr$)
11380SYS"Wimp_ReadPixTrans",&100,spr%,workspr$,,,,scale%,palette%
11390ENDPROC
11400
11410DEFPROCgetpal(workspr$)
11420SYS "OS_SpriteOp",256+24,spr%,workspr$ TO ,,sptr%
11430SYS "OS_SpriteOp",256+40,spr%,workspr$ TO ,,,,,,mode%
11440SYS "OS_SpriteOp",256+37,spr%,workspr$,-1 TO ,,,palsize
11450SYS "OS_ReadModeVariable",mode%,9 TO ,,BitsPP
11460BitsPP=2^BitsPP
11470IF sptr%!32<>44 THEN
11480 FOR I%=0 TO sptr%!32-52 STEP 8
11490 palette%!(I%/2)=sptr%!(I%+44)
11500 NEXT
11510ENDIF
11520IF sptr%!32<>44 THEN
11530 IF sptr%!32<>44+2048 THEN
11540 SYS "ColourTrans_SelectTable",mode%,palette%,-1,-1,PixTrans%
11550 ELSE
11560 FOR Q%=0TO255
11570 SYS "ColourTrans_ReturnColourNumberForMode",palette%!(Q%<<2),-1,-1 TO PixTrans%?Q%
11580 NEXT
11590 ENDIF
11600ELSE
11610 IF BitsPP<8 THEN
11620 SYS "ColourTrans_SelectTable",mode%,defpal%,-1,-1,PixTrans%
11630 ELSE
11640 SYS "ColourTrans_SelectTable",mode%,-1,-1,-1,PixTrans%
11650 ENDIF
11660ENDIF
11670ENDPROC
11680
11690DEFPROCbbox(text$,font$,xs,ys)
11700SYS "Font_FindFont",,font$,(xs*(ys/100))*16,xs*16,0,0 TO font%
11710SYS "Font_SetFont",font%
11720SYS "Font_StringBBox",,text$ TO ,bbx1,bby1,bbx2,bby2
11730SYS "Font_StringWidth",,text$,&FFFFFF,&FFFFFFFF,-1,LEN(text$) TO ,,x,y
11740SYS "Font_ConverttoOS",,bbx1,bby1 TO ,bbx1,bby1
11750SYS "Font_ConverttoOS",,bbx2,bby2 TO ,bbx2,bby2
11760bbx=bbx2-bbx1:bby=bby2-bby1
11770ENDPROC
11780
11790DEFFNwidth(text$,font$,xs,ys)
11800SYS "Font_FindFont",,font$,(xs*(ys/100))*16,xs*16,0,0 TO font%
11810SYS "Font_SetFont",font%
11820SYS "Font_StringWidth",,text$,&FFFFFF,&FFFFFF,31,LEN(text$) TO ,,x%,y%
11830SYS "Font_ConverttoOS",,x%,y% TO ,x,y
11840=x
11850
11860DEFPROCclose(!block)
11870SYS"Wimp_CloseWindow",,block
11880ENDPROC
11890
11900DEFFNcheckit(hnd%,ic%)
11910!icond=hnd%:icond!4=ic%
11920SYS"Wimp_GetIconState",,icond
11930flags%=icond!24
11940=flags%AND&F0000
11950
11960DEFPROCgetstyle
11970changedes=block!12
11980mx=block!0:my=block!4
11990CASE changedes OF
12000WHEN card% : design=0
12010WHEN comp% : design=1
12020WHEN letter% : design=2
12030ENDCASE
12040change=select
12050IF change>-1 THEN
12060IF change>=0 AND change<=5 THEN
12070ptr=detptr+(desblk*design)+deslen+(style*change)
12080font$=$(workblk+ptr)
12090pt=workblk!(ptr+256)
12100width=workblk!(ptr+260)
12110j=workblk?(ptr+264)
12120u=workblk?(ptr+265)
12130ColR=workblk?(ptr+266)
12140ColG=workblk?(ptr+267)
12150ColB=workblk?(ptr+268)
12160ColT=workblk?(ptr+269)
12170hide=workblk?(ptr+294)
12180InterHex=(ColB<<24)+(ColG<<16)+(ColR<<8)
12190$FNinfo(type%,0)=font$
12200$FNinfo(type%,3)=STR$pt
12210$FNinfo(type%,8)=STR$width
12220PROCseticstate(type%,18,1<<21,1<<21)
12230IF hide=0 THEN PROCseticstate(type%,18,1<<21,0<<21)
12240IF change>=0 AND change<=4 THEN a=1<<22:b=1<<22:c=1<<21:d=0<<21:e=1<<22:f=0<<22
12250IF change=5 THEN a=1<<22:b=0<<22:c=1<<21:d=0<<21:e=1<<22:f=1<<22
12260PROCseticstate(type%,10,a,b)
12270PROCseticstate(type%,11,a,b)
12280PROCseticstate(type%,12,a,b)
12290PROCseticstate(type%,13,a,b)
12300PROCseticstate(type%,10,c,d)
12310PROCseticstate(type%,11,c,d)
12320PROCseticstate(type%,12,c,d)
12330PROCseticstate(type%,13,c,d)
12340PROCseticstate(type%,14,1<<21,0<<21)
12350PROCseticstate(type%,14,e,f)
12360PROCopenwin(type%)
12370IF change=5 THEN PROCseticstate(type%,10+j,1<<21,1<<21)
12380IF u=1 THEN PROCseticstate(type%,14,1<<21,1<<21)
12390ENDIF
12400IF change=6 THEN
12410ptr=detptr+(desblk*design)
12420pic=workblk?(ptr+5)
12430PROCseticstate(picture%,1,1<<21,0<<21)
12440PROCseticstate(picture%,2,1<<21,0<<21)
12450PROCseticstate(picture%,3,1<<21,0<<21)
12460Lock=workblk?(ptr+22)
12470Centre=workblk?(ptr+23)
12480Front=workblk?(ptr+24)
12490IF pic=1 THEN curspr$=$(workblk+(ptr+6))
12500IF Lock PROCseticstate(picture%,1,1<<21,1<<21)
12510IF Centre PROCseticstate(picture%,2,1<<21,1<<21)
12520IF Front PROCseticstate(picture%,3,1<<21,1<<21)
12530PROCseticstate(picture%,5,1<<22,0<<22)
12540PROCseticstate(picture%,4,1<<22,0<<22)
12550PROCseticstate(picture%,6,1<<22,0<<22)
12560IF pic=1 THEN PROCseticstate(picture%,5,1<<21,1<<21):PROCseticstate(picture%,6,1<<21,0<<21)
12570IF pic=2 THEN PROCseticstate(picture%,6,1<<21,1<<21):PROCseticstate(picture%,5,1<<21,0<<21)
12580IF NOT sprites THEN PROCseticstate(picture%,5,1<<22,1<<22):PROCseticstate(picture%,4,1<<22,1<<22)
12590IF NOT drawing THEN PROCseticstate(picture%,6,1<<22,1<<22)
12600PROCopenwin(picture%)
12610ENDIF
12620ENDIF
12630IF change=-1 THEN
12640ptr=detptr+(desblk*design)
12650border=workblk?(ptr)
12660ColR=workblk?(ptr+1)
12670ColG=workblk?(ptr+2)
12680ColB=workblk?(ptr+3)
12690ColT=workblk?(ptr+4)
12700InterHex=(ColB<<24)+(ColG<<16)+(ColR<<8)
12710FOR i=2 TO 10 STEP 2
12720IF border=i/2 THEN PROCseticstate(back%,i,1<<21,1<<21):ELSE PROCseticstate(back%,i,1<<21,0<<21)
12730NEXT
12740IF border=0 THEN PROCseticstate(back%,11,1<<21,1<<21):ELSE PROCseticstate(back%,11,1<<21,0<<21)
12750PROCopenwin(back%)
12760ENDIF
12770ENDPROC
12780
12790DEFPROCapplystyle
12800IF change>-1 THEN
12810IF change>=0 AND change<=5 THEN
12820ptr=detptr+(desblk*design)+deslen+(style*change)
12830font$=$FNinfo(type%,0)
12840pt=VAL($FNinfo(type%,3))
12850width=VAL($FNinfo(type%,8))
12860$(workblk+ptr)=font$
12870workblk!(ptr+256)=pt
12880workblk!(ptr+260)=width
12890workblk?(ptr+266)=(InterHex>>8) AND &FF
12900workblk?(ptr+267)=(InterHex>>16) AND &FF
12910workblk?(ptr+268)=(InterHex>>24) AND &FF
12920j=0:u=0
12930IF FNcheckflag(type%,10,21) THEN j=0
12940IF FNcheckflag(type%,11,21) THEN j=1
12950IF FNcheckflag(type%,12,21) THEN j=2
12960IF FNcheckflag(type%,13,21) THEN j=3
12970IF FNcheckflag(type%,14,21) THEN u=1
12980IF FNcheckflag(type%,18,21) THEN hide=1 ELSE hide=0:select=-1
12990workblk?(ptr+264)=j
13000workblk?(ptr+265)=u
13010workblk?(ptr+294)=hide
13020 IF change>=0 AND change<=4 THEN
13030 PROCbbox($(workblk+(change*256)),font$,pt,width)
13040 workblk!(ptr+278)=workblk!(ptr+270)+bbx1
13050 workblk!(ptr+282)=workblk!(ptr+274)-bby1
13060 workblk!(ptr+286)=bbx
13070 workblk!(ptr+290)=bby
13080 ax=sx2:by=sy2
13090 sx2=bbx:sy2=bby
13100 ENDIF
13110 IF change=5 THEN
13120 PROCbbox($(workblk+(5*256)),font$,pt,width)
13130 bbxm=bbx
13140 PROCbbox($(workblk+(6*256)),font$,pt,width)
13150 IF bbx>bbxm THEN bbxm=bbx
13160 PROCbbox($(workblk+(7*256)),font$,pt,width)
13170 IF bbx>bbxm THEN bbxm=bbx
13180 PROCbbox($(workblk+(8*256)),font$,pt,width)
13190 IF bbx>bbxm THEN bbxm=bbx
13200 PROCbbox("WFMgjq",font$,pt,width)
13210 workblk!(ptr+278)=workblk!(ptr+270)+bbx1
13220 workblk!(ptr+282)=workblk!(ptr+274)-bby1
13230 workblk!(ptr+286)=bbxm
13240 workblk!(ptr+290)=bby
13250 ax=sx2:by=sy2
13260 sx2=bbxm:sy2=bby*4+6*3
13270 ENDIF
13280IF ax>sx2 THEN ax=ax ELSE ax=sx2
13290IF by>sy2 THEN by=by ELSE by=sy2
13300SYS"Wimp_ForceRedraw",changedes,sx1,0-sy1-8,sx1+ax+2,0-sy1+by+2
13310ENDIF
13320IF change=6 THEN
13330ptr=detptr+(desblk*design)
13340sord=FNcheckflag(picture%,5,21)
13350Lock=FNcheckflag(picture%,1,21)
13360Centred=FNcheckflag(picture%,2,21)
13370Front=FNcheckflag(picture%,3,21)
13380IF sord THEN workblk?(ptr+5)=1 ELSE workblk?(ptr+5)=2
13390IF Lock workblk?(ptr+22)=1 ELSE workblk?(ptr+22)=0
13400IF Centred workblk?(ptr+23)=1 ELSE workblk?(ptr+23)=0
13410IF Front workblk?(ptr+24)=1 ELSE workblk?(ptr+24)=0
13420$(workblk+(ptr+6))=curspr$
13430SYS"Wimp_ForceRedraw",changedes,sx1,0-sy1,sx1+sx2+2,0-sy1+sy2+2
13440ENDIF
13450ENDIF
13460IF change=-1 THEN
13470ptr=detptr+(desblk*design)
13480workblk?(ptr+1)=(InterHex>>8)AND&FF
13490workblk?(ptr+2)=(InterHex>>16)AND&FF
13500workblk?(ptr+3)=(InterHex>>24)AND&FF
13510FOR i=2 TO 10 STEP 2
13520IF FNcheckflag(back%,i,21) THEN workblk?(ptr)=i/2
13530NEXT
13540IF FNcheckflag(back%,11,21) THEN workblk?(ptr)=0
13550PROCredraw(changedes)
13560ENDIF
13570IF change=-2 THEN
13580ptr=detptr+(desblk*design)
13590sord=FNcheckflag(picture%,5,21)
13600Lock=FNcheckflag(picture%,1,21)
13610Centred=FNcheckflag(picture%,2,21)
13620Front=FNcheckflag(picture%,3,21)
13630oldsord=workblk?(ptr+5)
13640IF sord THEN workblk?(ptr+5)=1 ELSE workblk?(ptr+5)=2
13650IF Lock workblk?(ptr+22)=1 ELSE workblk?(ptr+22)=0
13660IF Centred workblk?(ptr+23)=1 ELSE workblk?(ptr+23)=0
13670IF Front workblk?(ptr+24)=1 ELSE workblk?(ptr+24)=0
13680workblk!(ptr+44)=350
13690workblk!(ptr+48)=300
13700workblk!(ptr+52)=200
13710workblk!(ptr+56)=200
13720IF sord THEN $(workblk+(ptr+6))=curspr$
13730IF select=6 THEN select=-1
13740IF oldsord>0 THEN PROCredraw(curdes)
13750SYS"Wimp_ForceRedraw",curdes,350,-300,350+200,-300+200
13760ENDIF
13770ENDPROC
13780
13790DEFPROCshowall(handle)
13800CASE handle OF
13810WHEN card% : design=0
13820WHEN comp% : design=1
13830WHEN letter% : design=2
13840ENDCASE
13850FOR i=0 TO 5
13860ptr=detptr+(desblk*design)+deslen+(style*i)
13870workblk?(ptr+294)=1
13880NEXT
13890PROCredraw(handle)
13900ENDPROC
13910
13920DEFPROCremove(handle)
13930curdes=handle
13940CASE curdes OF
13950WHEN card% : design=0
13960WHEN comp% : design=1
13970WHEN letter% : design=2
13980ENDCASE
13990ptr=detptr+(desblk*design)
14000oldsord=workblk?(ptr+5)
14010workblk?(ptr+5)=0
14020$(workblk+(ptr+6))=""
14030IF select=6 THEN select=-1
14040IF oldsord>0 THEN PROCredraw(curdes)
14050ENDPROC
14060
14070DEFPROCinsert(handle)
14080curdes=handle
14090CASE curdes OF
14100WHEN card% : design=0
14110WHEN comp% : design=1
14120WHEN letter% : design=2
14130ENDCASE
14140PROCseticstate(picture%,1,1<<21,0<<21)
14150PROCseticstate(picture%,2,1<<21,0<<21)
14160PROCseticstate(picture%,3,1<<21,0<<21)
14170PROCseticstate(picture%,5,1<<21,0<<21)
14180PROCseticstate(picture%,6,1<<21,0<<21)
14190PROCseticstate(picture%,4,1<<22,0<<22)
14200PROCseticstate(picture%,5,1<<22,0<<22)
14210PROCseticstate(picture%,6,1<<22,0<<22)
14220IF NOT sprites THEN PROCseticstate(picture%,5,1<<22,1<<22):PROCseticstate(picture%,4,1<<22,1<<22)
14230IF NOT drawing THEN PROCseticstate(picture%,6,1<<22,1<<22)
14240IF sprites THEN
14250curspr$=defspr$
14260picpic=1
14270PROCseticstate(picture%,5,1<<21,1<<21)
14280ELSE
14290picpic=2
14300PROCseticstate(picture%,6,1<<21,1<<21)
14310ENDIF
14320PROCopenwin(picture%)
14330change=-2
14340ENDPROC
14350
14360DEFPROCswappic
14370button=block!16
14380IF button=5 THEN picpic=1:IF curspr$="" THEN curspr$=defspr$
14390IF button=6 THEN picpic=2
14400PROCredopic
14410ENDPROC
14420
14430DEFPROCredopic
14440SYS"Wimp_ForceRedraw",picture%,12,-222,222,12
14450ENDPROC
14460
14470DEFPROCselectitem
14480curdes=block!12
14490mx=block!0:my=block!4
14500CASE curdes OF
14510WHEN card% : design=0
14520WHEN comp% : design=1
14530WHEN letter% : design=2
14540ENDCASE
14550!block=curdes
14560SYS"Wimp_GetWindowInfo",,block
14570workx%=block!4-block!20
14580worky%=block!16-block!24
14590xcoord=mx-workx%
14600ycoord=my-worky%
14610oldselect=select
14620osx1=sx1:osy1=sy1:osx2=sx2:osy2=sy2:olddes=seldes
14630sx1=-1:sy1=-1:sx2=-1:sxy=-1:select=-1
14640I=0
14650REPEAT
14660 ptr=detptr+(desblk*design)+deslen+(style*I)
14670 hide=workblk?(ptr+294)
14680 IF hide=1 THEN
14690 x1=workblk!(ptr+278):a1=x1
14700 y1=workblk!(ptr+282):b1=y1
14710 x2=workblk!(ptr+286):a2=x2
14720 y2=workblk!(ptr+290):b2=y2
14730 y1=0-y1:x2=x1+x2:y2=y1+y2
14740 IF I=5 THEN y2=b2*4+6*3:b2=y2:y2=y1+y2
14750 IF xcoord>x1 AND ycoord>y1 AND xcoord<x2 AND ycoord<y2 THEN select=I:seldes=curdes:sx1=a1:sy1=b1:sx2=a2:sy2=b2
14760 ENDIF
14770 I+=1
14780UNTIL I=6 OR select>-1
14790ptr=detptr+(desblk*design)
14800pictype=workblk?(ptr+5)
14810IF select=-1 AND pictype>0 THEN
14820 x1=workblk!(ptr+44):a1=x1
14830 y1=workblk!(ptr+48):b1=y1
14840 x2=workblk!(ptr+52):a2=x2
14850 y2=workblk!(ptr+56):b2=y2
14860 y1=0-y1:x2=x1+x2:y2=y1+y2
14870 IF xcoord>x1 AND ycoord>y1 AND xcoord<x2 AND ycoord<y2 THEN select=6:seldes=curdes:sx1=a1:sy1=b1:sx2=a2:sy2=b2
14880ENDIF
14890IF (select<>-1 AND select<>oldselect) OR (seldes<>-1 AND seldes<>olddes) THEN
14900block!0=seldes:block!4=sx1:block!8=0-sy1:block!12=sx1+sx2+4:block!16=0-sy1+sy2+4
14910SYS"Wimp_UpdateWindow",,block TO more
14920WHILE more
14930 SYS"ColourTrans_SetGCOL",&0000FF00,,,&100,0
14940 MOVE workx%+sx1,worky%-sy1
14950 VDU 23,6,&CC|
14960 PLOT 17,sx2,0
14970 PLOT 17,0,sy2
14980 PLOT 17,0-sx2,0
14990 PLOT 17,0,0-sy2
15000 SYS"Wimp_GetRectangle",,block TO more
15010ENDWHILE
15020ENDIF
15030IF (oldselect<>-1 AND select<>oldselect) OR (olddes<>-1 AND olddes<>seldes) THEN
15040block!0=olddes:block!4=osx1:block!8=0-osy1:block!12=osx1+osx2+4:block!16=0-osy1+osy2+4
15050SYS"Wimp_UpdateWindow",,block TO more
15060WHILE more
15070 aptr=detptr+(desblk*design)
15080 ColR=workblk?(aptr+1):ColG=workblk?(aptr+2):ColB=workblk?(aptr+3)
15090 backcol=(ColB<<24)+(ColG<<16)+(ColR<<8)
15100 SYS"ColourTrans_SetGCOL",backcol,,,&100,0
15110 RECTANGLE workx%+osx1,worky%-osy1,osx2,osy2
15120 SYS"Wimp_GetRectangle",,block TO more
15130ENDWHILE
15140 IF oldselect=6 THEN
15150 SYS"Wimp_ForceRedraw",olddes,osx1,0-osy1,osx1+osx2+4,0-osy1+4
15160 SYS"Wimp_ForceRedraw",olddes,osx1,0-osy1,osx1+4,0-osy1+osy2+4
15170 SYS"Wimp_ForceRedraw",olddes,osx1,0-osy1+osy2,osx1+osx2+4,0-osy1+osy2+4
15180 SYS"Wimp_ForceRedraw",olddes,osx1+osx2,0-osy1,osx1+osx2+4,0-osy1+osy2+4
15190 ELSE
15200 SYS"Wimp_ForceRedraw",olddes,osx1,0-osy1,osx1+osx2+4,0-osy1+osy2+4
15210 ENDIF
15220ENDIF
15230ENDPROC
15240
15250DEFPROCdragitem
15260IF select=-1 THEN ENDPROC
15270mx=block!0:my=block!4
15280!block=seldes
15290CASE seldes OF
15300WHEN card% : design=0
15310WHEN comp% : design=1
15320WHEN letter% : design=2
15330ENDCASE
15340SYS"Wimp_GetWindowInfo",,block
15350a=block!4:b=block!8:c=block!12:d=block!16
15360workx%=block!4-block!20
15370worky%=block!16-block!24
15380xcoord=mx-workx%
15390ycoord=my-worky%
15400IF xcoord>sx1 AND ycoord>0-sy1 AND xcoord<sx1+sx2 AND ycoord<0-sy1+sy2 THEN
15410block!0=0:block!4=5
15420block!8=workx%+sx1:block!12=worky%-sy1:block!16=workx%+sx1+sx2+2:block!20=worky%-sy1+sy2+2
15430block!24=a-sx2+10:block!28=b-sy2+10:block!32=c+sx2-10:block!36=d+sy2-10
15440itemdrag=TRUE
15450SYS"Wimp_DragBox",,block
15460ENDIF
15470ENDPROC
15480
15490DEFPROCpullitem
15500IF select<6 THEN ENDPROC
15510mx=block!0:my=block!4
15520!block=seldes
15530CASE seldes OF
15540WHEN card% : design=0
15550WHEN comp% : design=1
15560WHEN letter% : design=2
15570ENDCASE
15580SYS"Wimp_GetWindowInfo",,block
15590a=block!4:b=block!8:c=block!12:d=block!16
15600workx%=block!4-block!20
15610worky%=block!16-block!24
15620xcoord=mx-workx%
15630ycoord=my-worky%
15640IF xcoord>sx1 AND ycoord>0-sy1 AND xcoord<sx1+sx2 AND ycoord<0-sy1+sy2 THEN
15650block!0=0:block!4=6
15660block!8=workx%+sx1:block!12=worky%-sy1:block!16=workx%+sx1+sx2+2:block!20=worky%-sy1+sy2+2
15670block!24=a-sx2:block!28=b:block!32=c:block!36=d+sy2
15680itempull=TRUE
15690SYS"Wimp_DragBox",,block
15700ENDIF
15710ENDPROC
15720
15730DEFPROCdropitem
15740mx=block!0:my=block!4
15750!block=seldes
15760SYS"Wimp_GetWindowInfo",,block
15770workx%=block!4-block!20
15780worky%=block!16-block!24
15790xcoord=mx-workx%
15800ycoord=0-(my-worky%)
15810IF select>=0 AND select<=4 THEN
15820ptr=detptr+(desblk*design)+deslen+(style*select)
15830workblk!(ptr+270)=xcoord-(workblk!(ptr+278)-workblk!(ptr+270))
15840workblk!(ptr+274)=ycoord-(workblk!(ptr+282)-workblk!(ptr+274))
15850workblk!(ptr+278)=xcoord
15860workblk!(ptr+282)=ycoord
15870xcoord=workblk!(ptr+278):ycoord=workblk!(ptr+282)
15880ENDIF
15890IF select=5 THEN
15900ptr=detptr+(desblk*design)+deslen+(style*select)
15910workblk!(ptr+270)=xcoord+(workblk!(ptr+278)-workblk!(ptr+270))
15920workblk!(ptr+274)=ycoord-(workblk!(ptr+282)-workblk!(ptr+274))
15930workblk!(ptr+278)=xcoord
15940workblk!(ptr+282)=ycoord
15950REM xcoord=!(ptr+270):ycoord=!(ptr+274)
15960ENDIF
15970IF select=6 THEN
15980ptr=detptr+(desblk*design)
15990workblk!(ptr+44)=xcoord
16000workblk!(ptr+48)=ycoord
16010ENDIF
16020SYS"Wimp_ForceRedraw",curdes,sx1-2,0-sy1-8-2,sx1+sx2+4,0-sy1+sy2+4
16030SYS"Wimp_ForceRedraw",curdes,xcoord,0-ycoord-8,xcoord+sx2+2,0-ycoord+sy2+2
16040sx1=xcoord:sy1=ycoord
16050itemdrag=FALSE
16060ENDPROC
16070
16080DEFPROCresizeitem
16090mx1=block!0:my1=block!4:mx2=block!8:my2=block!12
16100!block=curdes
16110SYS"Wimp_GetWindowInfo",,block
16120workx%=block!4-block!20
16130worky%=block!16-block!24
16140xcoord1=mx1-workx%
16150ycoord1=0-(my1-worky%)
16160xcoord2=mx2-workx%
16170ycoord2=0-(my2-worky%)
16180width=xcoord2-xcoord1
16190height=ycoord2-ycoord1
16200IF xcoord2>xcoord1 THEN xcoord=xcoord1:width=xcoord2-xcoord1
16210IF ycoord2<ycoord1 THEN ycoord=ycoord1:height=ycoord2-ycoord1
16220IF xcoord2<xcoord1 THEN xcoord=xcoord2:width=xcoord1-xcoord2
16230IF ycoord2>ycoord1 THEN ycoord=ycoord2:height=ycoord1-ycoord2
16240ptr=detptr+(desblk*design)
16250workblk!(ptr+44)=xcoord
16260workblk!(ptr+48)=ycoord
16270workblk!(ptr+52)=width
16280workblk!(ptr+56)=0-height
16290SYS"Wimp_ForceRedraw",curdes,sx1,0-sy1,sx1+sx2+2,0-sy1+sy2+2
16300sx1=xcoord:sy1=ycoord:sx2=width:sy2=0-height
16310SYS"Wimp_ForceRedraw",curdes,sx1,0-sy1,sx1+sx2+2,0-sy1+sy2+2
16320itempull=FALSE
16330ENDPROC
16340
16350DEFPROCselectcol(colno)
16360hex=winpal(colno-14)
16370RED=(hex>>8)AND&FF
16380GREEN=(hex>>16)AND&FF
16390BLUE=(hex>>24)AND&FF
16400!block=colour%
16410SYS"Wimp_GetWindowInfo",,block
16420workx%=block!4-block!20
16430worky%=block!16-block!24
16440SYS "ColourTrans_SetGCOL",hex,,,&100,0
16450RECTANGLE FILL workx%+234,worky%-247,175,48
16460 SYS "Wimp_SetColour",1,1
16470 RECTANGLE FILL workx%+270,worky%-170,344,147
16480 SYS "ColourTrans_SetGCOL",&0000FF00,,,&100,0
16490 RECTANGLE FILL workx%+271,worky%-55,(RED/255)*344,32
16500 SYS "ColourTrans_SetGCOL",&00FF0000,,,&100,0
16510 RECTANGLE FILL workx%+271,worky%-111,(GREEN/255)*344,32
16520 SYS "ColourTrans_SetGCOL",&FF000000,,,&100,0
16530 RECTANGLE FILL workx%+271,worky%-167,(BLUE/255)*344,32
16540 SYS "ColourTrans_SetGCOL",0,,,&100,0:RECTANGLE workx%+233,worky%-248,176,49
16550 RECTANGLE workx%+270,worky%-58,344,34
16560 RECTANGLE workx%+270,worky%-114,344,34
16570 RECTANGLE workx%+270,worky%-170,344,34
16580 PROCinfo(colour%,3,STR$RED)
16590 PROCinfo(colour%,7,STR$GREEN)
16600 PROCinfo(colour%,11,STR$BLUE)
16610ENDPROC
16620
16630DEFPROCdragcol
16640!block=colour%
16650SYS"Wimp_GetWindowInfo",,block
16660workx%=block!4-block!20
16670worky%=block!16-block!24
16680stopdrag=FALSE
16690REPEAT
16700MOUSE r,s,t
16710IF t<>1 AND t<>4 stopdrag=TRUE
16720IF r>workx%+268 AND r<workx%+268+348 AND s>worky%-58 AND s<worky%-(58-35) THEN
16730 MOUSE RECTANGLE workx%+270,worky%-57,344,30
16740 nred=INT(((r-(workx%+270))/344)*255)
16750 IF nred=-1 nred=0
16760 PROCupdateic(colour%,3,STR$nred,4,32)
16770 RED=nred
16780 PROCredrawbar(RED,&0000FF00,workx%,worky%,272,55)
16790ENDIF
16800IF r>workx%+268 AND r<workx%+268+348 AND s>worky%-114 AND s<worky%-(114-35) THEN
16810 MOUSE RECTANGLE workx%+270,worky%-112,344,30
16820 ngreen=INT(((r-(workx%+270))/344)*255)
16830 IF ngreen=-1 ngreen=0
16840 PROCupdateic(colour%,7,STR$ngreen,4,32)
16850 GREEN=ngreen
16860 PROCredrawbar(GREEN,&00FF0000,workx%,worky%,272,111)
16870ENDIF
16880IF r>workx%+268 AND r<workx%+268+348 AND s>worky%-170 AND s<worky%-(170-35) THEN
16890 MOUSE RECTANGLE workx%+270,worky%-168,344,30
16900 nblue=INT(((r-(workx%+270))/344)*255)
16910 IF nblue=-1 nblue=0
16920 PROCupdateic(colour%,11,STR$nblue,3,32)
16930 BLUE=nblue
16940 PROCredrawbar(BLUE,&FF000000,workx%,worky%,272,167)
16950ENDIF
16960UNTIL stopdrag
16970PROCMode
16980 MOUSE RECTANGLE 0,0,xmax-1,ymax-1
16990ENDPROC
17000
17010DEFPROCredrawbar(COL,RGB,workx%,worky%,xco,yco)
17020block!0=colour%:block!4=xco:block!8=0-yco-2:block!12=xco+344:block!16=0-yco+34
17030SYS"Wimp_UpdateWindow",,block TO more
17040WHILE more
17050SYS "Wimp_SetColour",1,1
17060RECTANGLE FILL workx%+xco+(COL/255)*344,worky%-yco,342-(COL/255)*344,30
17070SYS "ColourTrans_SetGCOL",RGB,,,&100,0
17080RECTANGLE FILL workx%+(xco-2),worky%-yco,(COL/255)*344,30
17090SYS "ColourTrans_SetGCOL",0,,,&100,0
17100RECTANGLE workx%+(xco-2),worky%-(yco+3),344,34
17110hex=(BLUE<<24)+(GREEN<<16)+(RED<<8)
17120SYS"Wimp_GetRectangle",,block TO more
17130ENDWHILE
17140block!0=colour%:block!4=232:block!8=-247:block!12=232+176:block!16=-247+50
17150SYS"Wimp_UpdateWindow",,block TO more
17160WHILE more
17170SYS "ColourTrans_SetGCOL",hex,,,&100,0
17180RECTANGLE FILL workx%+234,worky%-247,175,48
17190SYS "ColourTrans_SetGCOL",0,,,&100,0:RECTANGLE workx%+233,worky%-248,176,49
17200SYS"Wimp_GetRectangle",,block TO more
17210ENDWHILE
17220ENDPROC
17230
17240DEFPROCaddcol
17250IF backgrnd=0 THEN
17260InterHex=hex
17270PROCclose(colour%)
17280SYS"Wimp_ForceRedraw",back%,342,-110,642,-58
17290ENDIF
17300IF backgrnd=1 THEN
17310InterHex=hex
17320PROCclose(colour%)
17330SYS"Wimp_ForceRedraw",type%,406,-204,548,-152
17340ENDIF
17350ENDPROC
17360
17370DEFFNclaim(amount%)
17380SYS"OS_Heap",1,heap% TO ,,largest,free
17390IF amount%<largest THEN
17400SYS"OS_Heap",2,heap%,,amount%+8 TO ,,picpool%
17410ENDIF
17420IF amount%>largest THEN
17430SYS"Wimp_SlotSize",-1,-1 TO current
17440SYS"Wimp_SlotSize",current+(amount%-largest)+1024,-1
17450SYS"Wimp_SlotSize",-1,-1 TO newcur
17460increase=newcur-current
17470SYS"OS_Heap",5,heap%,,increase
17480hsizeb+=increase
17490SYS"OS_Heap",2,heap%,,amount%+8 TO ,,picpool%
17500ENDIF
17510=picpool%
17520
17530DEFPROCdeleteall
17540IF sprites THEN PROCdelete(1)
17550IF drawing THEN PROCdelete(2)
17560IF select=6 THEN select=-1
17570FOR i=0 TO 2
17580ptr=detptr+(desblk*i)
17590workblk?(ptr+5)=0
17600$(workblk+(ptr+6))=""
17610PROCredraw(card%):PROCredraw(comp%):PROCredraw(letter%)
17620ENDPROC
17630
17640DEFPROCdelete(type)
17650IF type=1 THEN
17660SYS"OS_Heap",3,heap%,spr%
17670sprites=FALSE
17680IF drawing THEN
17690SYS"OS_Heap",6,heap%,drawptr% TO ,,,blksize
17700SYS"OS_Heap",3,heap%,drawptr%
17710SYS"OS_Heap",2,heap%,,blksize-8 TO ,,scrap
17720 FOR i=0 TO blksize-8 STEP 4
17730 scrap!i=drawptr%!i
17740 NEXT
17750drawptr%=scrap
17760ENDIF
17770ENDIF
17780IF type=2 THEN
17790SYS"OS_Heap",3,heap%,drawptr%
17800drawing=FALSE
17810IF sprites THEN
17820SYS"OS_Heap",6,heap%,spr% TO ,,,blksize
17830SYS"OS_Heap",3,heap%,spr%
17840SYS"OS_Heap",2,heap%,,blksize-8 TO ,,scrap
17850 FOR i=0 TO blksize-8 STEP 4
17860 scrap!i=spr%!i
17870 NEXT
17880spr%=scrap
17890ENDIF
17900ENDIF
17910SYS"OS_Heap",1,heap% TO ,,largest,tfree
17920SYS"OS_ReadMemMapInfo" TO page
17930SYS"Wimp_SlotSize",-1,-1 TO current
17940IF largest>page THEN
17950amount=INT(largest/page)*page
17960newcur=current-amount
17970IF newcur<=origappsize THEN newcur=origappsize
17980decrease=current-newcur
17990IF decrease<>0 THEN SYS"OS_Heap",5,heap%,,0-decrease
18000SYS"Wimp_SlotSize",newcur,-1
18010hsizeb-=decrease
18020ENDIF
18030ENDPROC
18040
18050DEFFNvga(mod)
18060SYS"OS_ReadModeVariable",mod,11 TO,,c
18070SYS"OS_ReadModeVariable",mod,12 TO,,b
18080c+=1:b+=1
18090CASE b/c OF
18100WHEN 0.8:g=TRUE
18110WHEN .75:g=TRUE
18120OTHERWISE: g=FALSE
18130ENDCASE
18140=g
18150
18160DEFPROCareyousure
18170IF NOT savef THEN
18180PROCopencen(quit%)
18190VDU 7
18200PROCinfo(quit%,1,"Your file has been modified.")
18210PROCMode
18220MOUSE RECTANGLE 0,0,xmax,ymax
18230ENDIF
18240IF savef PROCend
18250ENDPROC
18260
18270DEFPROCquery(qu$)
18280PROCopencen(query%)
18290VDU 7
18300!block=query%
18310SYS"Wimp_GetWindowInfo",,block
18320workx%=block!12-block!4
18330worky%=block!16-block!8
18340MOUSE RECTANGLE block!4,block!8,workx%,worky%
18350PROCinfo(query%,1,qu$)
18360ENDPROC
18370
18380DEFPROCendq
18390PROCclose(query%)
18400PROCMode
18410MOUSE RECTANGLE 0,0,xmax,ymax
18420ENDPROC
18430
18440DEFPROCtitles(ext$)
18450PROCtitle(details%,ext$)
18460PROCtitle(card%,ext$)
18470PROCtitle(comp%,ext$)
18480PROCtitle(letter%,ext$)
18490ENDPROC
18500
18510DEFPROCtitle(handle,new$)
18520!icond=handle
18530SYS"Wimp_GetWindowInfo",,icond
18540title$=$(icond!76)
18550IF new$<>"" THEN
18560IF RIGHT$(title$,LEN(title$)-LEN(title$)+1)<>new$ THEN
18570new$=title$+" "+new$
18580$(!(icond+76))=new$:SYS"Wimp_ForceRedraw",-1,icond!4,(icond!16),icond!12,(icond!16)+36
18590ENDIF
18600ELSE
18610IF RIGHT$(title$,LEN(title$)-LEN(title$)+1)="*" THEN
18620new$=LEFT$(title$,LEN(title$)-2)
18630$(!(icond+76))=new$:SYS"Wimp_ForceRedraw",-1,icond!4,(icond!16),icond!12,(icond!16)+36
18640ENDIF
18650ENDIF
18660ENDPROC
18670
18680DEFPROCprint
18690noofpages=VAL($FNinfo(print%,4))
18700IF $FNinfo(print%,0)="Not Present" THEN PROCquery("Can not print, no printer driver present."):noprint=TRUE:ENDPROC
18710des$=""
18720IF FNcheckflag(print%,7,21) THEN des$+=" bus. card,"
18730IF FNcheckflag(print%,8,21) THEN des$+=" comp. slip,"
18740IF FNcheckflag(print%,9,21) THEN des$+=" letter head,"
18750IF FNcheckflag(print%,6,21) THEN copies$="single.":fullsheet=0:ELSE copies$="full sheet.":fullsheet=1
18760SYS "ColourTrans_SetGCOL",&DDDDDD00,,,&100,0
18770RECTANGLE FILL 288,466,738,194
18780SYS "ColourTrans_SetGCOL",0,,,&100,0
18790RECTANGLE 286,464,740,196
18800SYS"Wimp_CreateMenu",,-1
18810SYS"PDriver_PageSize" TO,,,l%,b%,r%,t%
18820VDU 5
18830MOVE 410,640
18840PRINT "Printing in progress..."
18850MOVE 380,600
18860PRINT "Prining ";noofpages;" copies, ";copies$
18870MOVE 380,560
18880PRINT "of ";des$
18890MOVE 400,520
18900PRINT "Press Escape to cancel"
18910VDU 4
18920printing=TRUE
18930fh%=-1
18940LOCAL ERROR
18950ON ERROR LOCAL:RESTORE ERROR:PROCprinterr:ENDPROC
18960SYS"Hourglass_On"
18970fh%=OPENOUT("printer:")
18980SYS"PDriver_SelectJob",fh% TO job
18990SYS"PDriver_PageSize" TO,,,l%,b%,r%,t%
19000IF FNcheckflag(print%,7,21) PROCprintdes(0)
19010IF FNcheckflag(print%,8,21) PROCprintdes(1)
19020IF FNcheckflag(print%,9,21) PROCprintdes(2)
19030SYS"PDriver_EndJob",fh%
19040CLOSE#fh%
19050SYS"PDriver_SelectJob",job
19060SYS"Hourglass_Smash"
19070SYS"Wimp_ForceRedraw",-1,286,464,740+288,196+466
19080ENDPROC
19090
19100DEFPROCprintdes(design)
19110IF fullsheet=0 THEN
19120  IF design=0 up=623-6:box1=-10:boxx=584+2:boxy=388+2
19130  IF design=1 up=561-6:box1=-10:boxx=(565+6)*2.5:boxy=622+2
19140  IF design=2 up=670-6:box1=-10:boxx=(565+6)*2.5:boxy=340+2
19150ENDIF
19160IF fullsheet=1 THEN
19170  IF design=0 up=85-6:box1=-200:boxx=(518+6)*2.5:boxy=(777+6)*2.5
19180  IF design=1 up=62-6:box1=-460:boxx=(565+6)*2.5:boxy=(802+6)*2.5
19190  IF design=2 up=670-6:box1=-10:boxx=(565+6)*2.5:boxy=340+2
19200ENDIF
19210matrix!0=66000:matrix!4=0:matrix!8=0:matrix!12=66000:REM 66000,0,0,66000
19220origin!0=l%:origin!4=up*1000
19230box!0=-10:box!4=box1:box!8=boxx:box!12=boxy
19240SYS"PDriver_GiveRectangle",0,box,matrix,origin,&FFFFFF00
19250SYS"PDriver_DrawPage",noofpages,box2,0,0 TO more
19260WHILE more<>0
19270PROCdraw(boxy,design)
19280SYS"PDriver_GetRectangle",0,box2 TO more
19290ENDWHILE
19300ENDPROC
19310
19320DEFPROCdraw(height,design)
19330xmin=0:xmax=1400:ymin=-800:ymax=0
19340IF fullsheet=1 THEN
19350 IF design=0 THEN
19360 FOR cardco=1 TO 16 STEP 2
19370 PROCdrawdesign(cardpos(0,cardco)*2.5,cardpos(0,cardco+1)*2.5,0,-1)
19380 NEXT cardco
19390 ENDIF
19400 IF design=1 THEN
19410 FOR cardco=1 TO 6 STEP 2
19420 PROCdrawdesign(cardpos(1,cardco)*2.5-50,cardpos(1,cardco+1)*2.5,1,-1)
19430 NEXT cardco
19440 ENDIF
19450 IF design=2 THEN PROCdrawdesign(10,height-4,design,-1)
19460ELSE
19470PROCdrawdesign(10,height-4,design,-1)
19480ENDIF
19490ENDPROC
19500
19510DEFPROCprinterr
19520IF ERR=17 THEN
19530SYS"PDriver_AbortJob",fh%:
19540REM SYS"PDriver_SelectJob",job:
19550CLOSE#fh%
19560PROCmess("Escape: Print Canceled")
19570SYS"OS_ReadModeVariable",MODE,4 TO ,,x
19580SYS"OS_ReadModeVariable",MODE,5 TO ,,y
19590MOUSE RECTANGLE 0,0,(((block!128)+1)*2^x)-1,((block!132)+1)*2^y
19600SYS"Hourglass_Smash"
19610SYS"Wimp_ForceRedraw",-1,286,464,740+288,196+466
19620ENDPROC
19630ENDIF
19640IF fh%<>-1 THEN SYS"PDriver_AbortJob",fh%:SYS"PDriver_SelectJob",job:CLOSE#fh%
19650SYS"Hourglass_Smash"
19660SYS"OS_ReadModeVariable",MODE,4 TO ,,x
19670SYS"OS_ReadModeVariable",MODE,5 TO ,,y
19680MOUSE RECTANGLE 0,0,(((block!128)+1)*2^x)-1,((block!132)+1)*2^y
19690SYS"Wimp_ForceRedraw",-1,286,464,740+288,196+466
19700PROCerror(REPORT$+": at line "+STR$ERL+" whilst printing"):ENDPROC
19710ENDPROC
19720
19730DEFPROCmorecopies
19740IF VAL($FNinfo(print%,4))=99 THEN ENDPROC
19750PROCinfo(print%,4,STR$(VAL$FNinfo(print%,4)+1))
19760ENDPROC
19770
19780DEFPROClesscopies
19790IF VAL($FNinfo(print%,4))=1 THEN ENDPROC
19800PROCinfo(print%,4,STR$(VAL$FNinfo(print%,4)-1))
19810ENDPROC
19820
19830DEFPROCupanddown(icn)
19840!block=colour%:SYS"Wimp_GetWindowInfo",,block
19850workx%=block!4-block!20
19860worky%=block!16-block!24
19870valuer=VAL$FNinfo(colour%,3)
19880valueg=VAL$FNinfo(colour%,7)
19890valueb=VAL$FNinfo(colour%,11)
19900CASE icn OF
19910WHEN 1:
19920IF valuer>0 PROCupdateic(colour%,3,STR$(valuer-1),4,32):hex=(valueb<<24)+(valueg<<16)+(valuer<<8):SYS"Wimp_ForceRedraw",-1,workx%+270,worky%-58,workx%+614,worky%-24:SYS"Wimp_ForceRedraw",-1,workx%+234,worky%-247,workx%+410,worky%-199:ELSE ENDPROC
19930WHEN 2:
19940IF valuer<255 PROCupdateic(colour%,3,STR$(valuer+1),4,32):hex=(valueb<<24)+(valueg<<16)+(valuer<<8):SYS"Wimp_ForceRedraw",-1,workx%+270,worky%-58,workx%+614,worky%-24:SYS"Wimp_ForceRedraw",-1,workx%+234,worky%-247,workx%+410,worky%-199:ELSE ENDPROC
19950WHEN 5:
19960IF valueg>0 PROCupdateic(colour%,7,STR$(valueg-1),4,32):hex=(valueb<<24)+(valueg<<16)+(valuer<<8):SYS"Wimp_ForceRedraw",-1,workx%+270,worky%-114,workx%+614,worky%-80:SYS"Wimp_ForceRedraw",-1,workx%+234,worky%-247,workx%+410,worky%-199:ELSE ENDPROC
19970WHEN 6:
19980IF valueg<255 PROCupdateic(colour%,7,STR$(valueg+1),4,32):hex=(valueb<<24)+(valueg<<16)+(valuer<<8):SYS"Wimp_ForceRedraw",-1,workx%+270,worky%-114,workx%+614,worky%-80:SYS"Wimp_ForceRedraw",-1,workx%+234,worky%-247,workx%+410,worky%-199:ELSE ENDPROC
19990WHEN 9:
20000IF valueb>0 PROCupdateic(colour%,11,STR$(valueb-1),4,32):hex=(valueb<<24)+(valueg<<16)+(valuer<<8):SYS"Wimp_ForceRedraw",-1,workx%+270,worky%-170,workx%+614,worky%-136:SYS"Wimp_ForceRedraw",-1,workx%+234,worky%-247,workx%+410,worky%-199:ELSE ENDPROC
20010WHEN 10:
20020IF valueb<255 PROCupdateic(colour%,11,STR$(valueb+1),4,32):hex=(valueb<<24)+(valueg<<16)+(valuer<<8):SYS"Wimp_ForceRedraw",-1,workx%+270,worky%-170,workx%+614,worky%-136:SYS"Wimp_ForceRedraw",-1,workx%+234,worky%-247,workx%+410,worky%-199:ELSE ENDPROC
20030ENDCASE
20040ENDPROC
20050
20060DEFPROCsetper(a)
20070backgrnd=a
20080IF backgrnd=0 THEN
20090coldes=coldes
20100ptr=detptr+(desblk*design)
20110RED=workblk?(ptr+1)
20120GREEN=workblk?(ptr+2)
20130BLUE=workblk?(ptr+3)
20140hex=(BLUE<<24)+(GREEN<<16)+(RED<<8)
20150InterHex=hex
20160PROCinfo(colour%,3,STR$RED)
20170PROCinfo(colour%,7,STR$GREEN)
20180PROCinfo(colour%,11,STR$BLUE)
20190ENDIF
20200IF backgrnd=1 THEN
20210coldes=changedes
20220hex=InterHex
20230RED=(hex>>8)AND&FF:GREEN=(hex>>16)AND&FF:BLUE=(hex>>24)AND&FF
20240PROCinfo(colour%,3,STR$RED)
20250PROCinfo(colour%,7,STR$GREEN)
20260PROCinfo(colour%,11,STR$BLUE)
20270ENDIF
20280PROCopenwin(colour%)
20290!block=colour%:SYS"Wimp_GetWindowInfo",,block
20300workx%=block!4-block!20
20310worky%=block!16-block!24
20320SYS"Wimp_ForceRedraw",-1,workx%+270,worky%-170,workx%+614,worky%-24
20330SYS"Wimp_ForceRedraw",-1,workx%+234,worky%-247,workx%+410,worky%-199
20340ENDPROC
20350
20360DEFPROCincrement(amount,min,max,handle,icon)
20370curval=VAL($FNinfo(handle,icon))
20380newval=curval+amount
20390IF newval>=min AND newval<=max THEN
20400PROCupdateic(handle,icon,STR$newval,14,32)
20410ENDIF
20420ENDPROC
20430
20440DEFPROCupdateic(handle,icon,data$,x,y)
20450$FNinfo(handle,icon)=data$
20460!block=handle:block!4=icon
20470SYS"Wimp_GetIconState",,block
20480x1=block!8:y1=block!12:x2=block!16:y2=block!20
20490rx1=x1+x:ry1=(y1+y2)/2-(y/2):rx2=x2-x:ry2=ry1+y
20500!block=handle:block!4=rx1:block!8=ry1:block!12=rx2:block!16=ry2
20510SYS"Wimp_UpdateWindow",,block TO more
20520WHILE more
20530SYS"Wimp_GetRectangle",,block TO more
20540ENDWHILE
20550ENDPROC

$� � �mess(�$+" : at line "+Þ):�
 � ***>$.!Stationer.!RunImage
L� ***Main Program for !Stationer - Business communications media creator
(� Version 1.11U (21 Jan 96)
2� � J. Robbins
<�
FZ� block 10*1024, mblock 1024, menu% 6*1024, curbuf%  9*1024, icond 5*1024, text% &1000
PP� defpal% 255, fontblk% 256, scale% 20,PixTrans% 256,temp% 100,palette% 1024
Z,� winpal(15),cardpos(2,16),drawfont$(18)
d/� matrix 100, origin 100, box 100, box2 100
n� workblk 8*1024
xmaxlev%=32
�#� start%(maxlev%),box%(maxlev%)
�5� l%(maxlev%),b%(maxlev%),r%(maxlev%),t%(maxlev%)
�/detptr=2304:deslen=60:desblk=1848:style=298
�&� c=1 � 16 : � a :cardpos(0,c)=a:�
�%� c=1 � 6 : � a :cardpos(1,c)=a:�
�$cardpos(2,1)=25:cardpos(2,2)=670
�� I=0 � 15
� � hexa
� winpal(I)=hexa
� defpal%!(I*4)=hexa
��
�?� 25,625,290,625,25,445,290,445,25,265,290,265,25,85,290,85
�� 25,561,25,312,25,62
P� &FFFFFF10,&DDDDDD10,&BBBBBB10,&99999910,&77777710,&55555510,&33333310,&010
I� &99440010,&EEEE10,&CC0010,&DD10,&BBEEEE10,&885510,&BBFF10,&FFBB0010
Eend%=-1:textc=�:cardb=�:hex=0:RED=(hex>>8)�&FF:BLUE=RED:GREEN=RED
"endbuf%=curbuf%+&6000
,j=0:FMopen=0:in=�:close=0
6'savef=�:noprint=�:printing=�:full=�
@1prequitwait=�:quiting=�:quitsave=�:shutdown=�
Jfmcreated%=�:fcount%=0
Tend%=�:drag%=0:drive%=0
^*curspr$="":drawing=�:sprites=�:drawk=0
h font%=-1:noofcards=8:dfont=�
ritemdrag=�:itempull=�
|Gsx1=-1:sy1=-1:sx2=-1:sy2=-1:select=-1:curdes=-1:seldes=-1:olddes=-1
�0osx1=-2:osy1=-2:osx2=-2:osxy=-2:oldselect=-2
�backgrnd=-1
�task=&4B534154
�Aș "Wimp_Initialise",200,task,"!Stationer" � version%,mytask%
�
�template
�ș "OS_GetEnv" � env$
�� �env$,"-quit") �
�I%=�env$,"""")
�I%=�env$,"""",I%+1)
��
�	I%+=1
�� �env$,I%,1)<>" "
�env$=�env$,I%)
print$=�env$,7)
�

noic=0
&"ș"Wimp_SlotSize",-1,-1 � orig
0 max=�-�:max=�(max/1024)*1024
:max-=&4000
D%ș"Wimp_SlotSize",-1,-1 � current
N�=�-max:hsizeb=max:heap%=�
X� hsizeb<1024 � �
bș"OS_Heap",0,heap%,,hsizeb
l'origheap=hsizeb:origappsize=current
vș"OS_Byte",161,28 � ,,cmos
�+� (cmos � (1<<1))>0 � daspr=� � daspr=�
�3� print$=" -print" � env$=�env$,�env$-7):noic=1
�>� print$=" -print" � �present:�load(env$):�openwin(print%)
�.� print$<>" -print" � env$<>"" �load(env$)
�Y� print$<>" -print" � env$="" �load("<Stat$Dir>.DefaultDt"):�info(save%,2,"StatData")
�� noic=0 � initic=�icon
�ș"Hourglass_On"
��fmenucr
�ș"Hourglass_Off"
�
�titlewin
�#� � �error(�$+" : at line "+Þ)
��
�%ș"Wimp_Poll",0,block � eventcode
ș"OS_Mouse" � ,,button
� button>0
�close(title%)
 ��mess("This program is SHAREWARE and is currently UNREGISTERED. You are authorised to use it for 2 weeks, after which you must register or delete it. Please refer to Help file for further information")
*�
4%ș"Wimp_Poll",0,block � eventcode
>Ȏ eventcode �
H6� 0:� savef � prequitwait ș"Wimp_ProcessKey",&1FC
R� 1:�redraw(block!0)
\#� 2:ș "Wimp_OpenWindow",,block
f$� 3:ș "Wimp_CloseWindow",,block
p� 6:�click(block)
z� 7:�dragin
�� 8:�process
�� 9:�select
�� 17,18:�messagein
��
�� �
��end
��
�
�	��end
�#ș"Wimp_CloseDown",mytask%,task
��
��
�
��titlewin
w�info(title%,1,"Business stationary designer. Comprising Compliment slip, Letter head and Business card creators.")
2$�info(title%,3)="Version 1.11U (21 Jan 1996)"
$�opencen(title%)
.titleopen=�
8�
B
L
ݤicon
V
!icond=-1
`
icond!4=0
j%icond!8=0:icond!12=68:icond!16=68
t+icond!20=%11010+((2^12)*3):icond?23=112
~ $(icond+24)="!Stationer"+�13
�&ș "Wimp_CreateIcon",,icond � icon
�	=icon
�
�ݤinf(handle,icon)
��gee(handle,icon)
�
=icond!28
� ݤbit(a$)
�ȕ �a$,":")>0
�a$=�a$,�a$,":")+1)
��
�ȕ �a$,".")>0
�a$=�a$,�a$,".")+1)
�

=a$

ݤwool(wool%)
(
� cot$
2 ȕ ?wool%>=32
<cot$+=�(?wool%)
Fwool%+=1
P�
Z	=cot$
d
n��template
x1ș"Wimp_OpenTemplate",,"<Stat$Dir>.Templates"
�indir=curbuf%
�info%=�template("ProgInfo")
�save%=�template("SaveData")
�#savedraw%=�template("SaveDraw")
�!savepic%=�template("SavePic")
�card%=�template("Card")
�#letter%=�template("LetterHead")
�comp%=�template("CompSlip")
�!picture%=�template("Picture")
�!details%=�template("details")
�type%=�template("Type")
�back%=�template("Back")
� colour%=�template("colours")
print%=�template("print")
query%=�template("query")
quit%=�template("quitbox")
"title%=�template("title")
,ș "Wimp_CloseTemplate"
6stex=�info(save%,2)
@stexd=�info(savedraw%,2)
Jstextpic=�info(savepic%,2)
T�
^
hݤtemplate(a$)
rFș"Wimp_LoadTemplate",,block,indir,endbuf%,-1,a$,0 � ,,indir,,,,c%
|2� c%=0 � �mess("Template "+a$+" not found."):�
�block!64=1
�)ș"Wimp_CreateWindow",,block � handle
�=handle
�
�ݤinfo(handle,icon)
��gee(handle,icon)
�
=icond!28
�
�ݤtoOS(in)
�'ș"Font_ConverttoOS",,in*1000 �,out
�=out
�
���info(handle,icon,text$)
;!block=handle:block!4=icon:ș"Wimp_GetIconState",,block
)$(block!28)=text$:block!36=�(text$)+1
block!8=0:block!12=0
& ș"Wimp_SetIconState",,block
0�
:
D��gee(handle,icon)
N!icond=handle:icond!4=icon
X ș"Wimp_GetIconState",,icond
b�
l
v8��seticstate(handle%,ic%,clear,eor):� as in PRM (CE)
�9!block=handle%:block!4=ic%:block!8=eor:block!12=clear
� ș"Wimp_SetIconState",,block
��
�
�
��present
�	a$=""
�� �
� � � � a$="Not Present":� �:�
� ș"PDriver_Info" � a,,,,name
�ȕ ?name
�a$=a$+�(?name)
�name+=1
��
$�info(print%,0)=a$
� �
�
 
*��cmenus
4�present
>
nogo=�
HFMopen=0
Rmenuptr=menu%
\ȗ x,y,b
f/� block!16=27 � sprites � piccy=� � piccy=�
p?� sprites sprmen%=�menu("Sprite List",(largest*14)+40,men$)
z;picmenu%=�menu("Picture",174,"Delete,{b|savepic%}Save")
�[� (sprites � drawing) iconmenu$="{b|picmenu%}Picture" � iconmenu$="{-|picmenu%}Picture"
�d� (sprites � drawing) � block!12=-2 picmenu%=�menu("Picture",190,"Del Pic,{b|savepic%}Save Pic")
�k� (sprites � drawing) � block!12<>-2 picmenu%=�menu("Picture",190,"Insert,Remove,{b|savepic%}Save Pic")
�?view%=�menu("View",200,"Bus. Cards,Comp Slips,LetterHeads")
�Asavemenu%=�menu("Save",100,"{b|savedraw%}Draw,{b|save%}Data")
��iconmenu%=�menu("!Stationer",174,"{b|info%}Info,{b|savemenu%}Save,{b|print%}Print,Details,{b|view%}View,"+iconmenu$+",Quit")
�wdetmenu%=�menu("!Stationer",174,"{b|info%}Info,{b|savemenu%}Save,{b|print%}Print,{b|view%}View,"+iconmenu$+",Quit")
ʉviewmenu%=�menu("!Stationer",174,"{b|info%}Info,{b|savemenu%}Save,{b|print%}Print,Details,{b|view%}View,"+iconmenu$+",Show All,Quit")
�menuwin=block!12
�Ȏ menuwin �
�<� -2:� block!8=2 � openmenu%=iconmenu%:a=x-75:b=(7+2)*48
�)� details%:openmenu%=detmenu%:a=x:b=y
�D� picture%:� block!16=4 � openmenu%=sprmen%:a=x:b=y:FMopen=2:� �
	C� card%,comp%,letter%:� block!8=2 � openmenu%=viewmenu%:a=x:b=y
	:�
	�
	$W� sprites �seticstate(savepic%,4,1<<22,0<<22) � �seticstate(savepic%,4,1<<22,1<<22)
	.W� drawing �seticstate(savepic%,5,1<<22,0<<22) � �seticstate(savepic%,5,1<<22,1<<22)
	8K�seticstate(savepic%,4,1<<21,0<<21):�seticstate(savepic%,5,1<<21,0<<21)
	BW� sprites �seticstate(savepic%,4,1<<21,1<<21) � �seticstate(savepic%,5,1<<21,1<<21)
	L�openmenu(a,b)
	V�
	`
	j��openmenu(x,y)
	t&ș"Wimp_CreateMenu",,openmenu%,x,y
	~�
	�ݤmenu(tit$,wid,menu$)
	�menu$+=","
	�oldmenu=menuptr
	�$menuptr=tit$
	�menuptr?12=7
	�menuptr?13=2
	�menuptr?14=7
	�menuptr?15=0
	�menuptr!16=wid
	�menuptr!20=48
	�menuptr!24=0
	�menuptr+=28
�

�thing(menu$)
menu$=�menu$,�menu$,",")+1)
menuptr+=24
(� menu$=""
2)menuptr!-24=(menuptr!-24) � %10000000
<=oldmenu
F��thing(m$)
Pm$=�m$,�m$,",")-1)
Zi$="":j$=""
d� �m$,"{")>0 �
ni$=�m$,�m$,"}")-1)
xm$=�m$,�m$,"}")+1)
�j$=�i$,�i$,"|")-1)
�i$=�i$,�i$,"|")+1)
��
�ijack=&07000021
�mjack=0
�submenu=-1
� � �j$,"b")>0 � submenu=�(i$)
�"� �j$,"_")>0 � mjack=mjack � 2
�"� �j$,"�")>0 � mjack=mjack � 1
�0� �j$,"u")>0 � mjack=mjack � 2:submenu=�(i$)
�6� �j$,"-")>0 � ijack=ijack � &400000:submenu=�(i$)
�(� �j$,"s")>0 � ijack=ijack � &400000
�!menuptr=mjack
menuptr!4=submenu
menuptr!8=ijack
$(menuptr+12)=m$
"�
,
6��click(block)
@E� quitsave � block!12<>save% � quiting=�:quitsave=�:�close(save%)
JL� prequitwait � block!12<>save% � prequitwait=�:shutdown=�:�close(save%)
TM� block!12=card% � block!12=comp% � block!12=letter% savef=�:�titles("*")
^I� block!12<>type% � (block!12<>colour% � backgrnd<>0) � �close(type%)
hI� block!12<>back% � (block!12<>colour% � backgrnd<>1) � �close(back%)
r)� block!12<>colour% � �close(colour%)
|+� block!12<>picture% � �close(picture%)
�W� block!8=1024 � (block!12=card% � block!12=comp% � block!12=letter%) � �selectitem
�R� block!8=4 � (block!12=card% � block!12=comp% � block!12=letter%) � �getstyle
�T� block!8=&40 � (block!12=card% � block!12=comp% � block!12=letter%) � �dragitem
�T� block!8=&10 � (block!12=card% � block!12=comp% � block!12=letter%) � �pullitem
�&� block!12=-2 � block!8=4 �opendet
�-� block!12=-2 � block!8=1 �openwin(card%)
�Z� block!12=type% � block!16=1 � ȗ x,y,b:FMopen=1:ș"Wimp_CreateMenu",,fmenu%,x-75,y:�
�� block!8=2 � �cmenus:�
�<� block!12=save% � block!16=1 winsave%=block!12:�defsave
�@� block!12=savedraw% � block!16=1 winsave%=block!12:�defsave
�?� block!12=savepic% � block!16=1 winsave%=block!12:�defsave
�M� block!12=save% � block!16=3 winsave%=block!12:�save($�info(winsave%,2))
�Q� block!12=savedraw% � block!16=3 winsave%=block!12:�save($�info(winsave%,2))
P� block!12=savepic% � block!16=3 winsave%=block!12:�save($�info(winsave%,2))
S� block!12=details% � block!16=16 �setdet:savef=�:�titles("*"):�close(details%)
6� block!12=details% � block!16=15 �close(details%)
&/� block!12=details% � block!16=17 �resetdet
02� block!12=back% � block!16=14 � �close(back%)
:>� block!12=back% � block!16=15 � �applystyle:�close(back%)
D/� block!12=back% � block!16=13 � �setper(0)
N� block!12=type% �
X Ȏ block!16 �
b& � 4 : �increment(1,7,999,type%,3)
l' � 5 : �increment(-1,7,999,type%,3)
v' � 7 : �increment(5,30,995,type%,8)
�( � 9 : �increment(-5,30,995,type%,8)
� � 16 : �close(type%)
�% � 17 : �applystyle:�close(type%)
� � 15 : �setper(1)
� �
��
�� block!12=picture% �
� Ȏ block!16 �
� � 7 : �close(picture%)
�' � 8 : �applystyle:�close(picture%)
� � 1,2,3 : �redopic
� � 4 : �cmenus
� � 5,6 : �swappic

 �

�

I� block!12=colour% � block!16>=14 � block!16<=29 �selectcol(block!16)

 .� block!12=colour% � block!16=13 � �addcol

*6� block!12=colour% � block!16=12 � �close(colour%)

4/� block!12=colour% � block!16=-1 � �dragcol

>H� block!12=colour% � block!16>0 � block!16<11 � �upanddown(block!16)

H0� block!12=print% � block!16=3 � �morecopies

R0� block!12=print% � block!16=5 � �lesscopies

\� shutdown �

fB � block!12=quit% � block!16=0 � ș"Wimp_ProcessKey",&1FC:�end

p= � block!12=quit% � block!16=2 � �close(quit%):shutdown=�

zP � block!12=quit% � block!16=3 � �close(quit%):�openwin(save%):prequitwait=�

��

�� quiting �

�) � block!12=quit% � block!16=0 � �end

�< � block!12=quit% � block!16=2 � �close(quit%):quiting=�

�M � block!12=quit% � block!16=3 � �close(quit%):�openwin(save%):quitsave=�

��

�9� block!12=query% � block!16=0 � �close(query%):�endq

�$� block!12=print% � block!16=1 �

� �print

� � noic=1 � �end

��

��

�
!ݤcheckflag(handle,icon,flag)
	bit=�
!icond=handle:icond!4=icon
$ ș"Wimp_GetIconState",,icond
."� (icond!24�(1<<flag))>0 bit=�
8=bit
B
L��setshear(on)
V;!icond=details%:icond!4=29:ș"Wimp_GetIconState",,icond
`� on=1 �
jC=(1<<21):E=(1<<21)
t�
~C=(0<<21):E=(1<<21)
��
�icond!8=C:icond!12=E
� ș"Wimp_SetIconState",,icond
�:
�;!icond=details%:icond!4=30:ș"Wimp_GetIconState",,icond
�� on=0 �
�C=(1<<21):E=(1<<21)
��
�C=(0<<21):E=(1<<21)
��
�icond!8=C:icond!12=E
� ș"Wimp_SetIconState",,icond
�



��process
.� !block=details% � block!24=13 � �caret:�
(J� !block=save% � block!24=13 � winsave%=!block:�save($�info(!block,2))
2N� !block=savedraw% � block!24=13 � winsave%=!block:�save($�info(!block,2))
<M� !block=savepic% � block!24=13 � winsave%=!block:�save($�info(!block,2))
F ș"Wimp_ProcessKey",block!24
P�
Z
d��caret
n$ș"Wimp_GetCaretPosition",,block
x� block!0=details% �
�- � block!4>=0 � block!4<=7 � np=block!4+1
� � block!4=8 � np=0
�I ș "Wimp_SetCaretPosition",details%,np,0,0,-1,�($�info(details%,np))
��
��
�
���select
�� FMopen=1 �
�=ș"Font_DecodeMenu",0,fmenu%,block,fontblk%,256 �,,,,size
܅$fontblk%=�$fontblk%,size-1):$fontblk%=�$fontblk%,�($fontblk%)-2):$fontblk%=�$fontblk%,�$fontblk%-(�$fontblk%-�$fontblk%,"\"))-1)
�family$=$fontblk%
��info(type%,0,family$)
�FMopen=0
�
�
� FMopen=2 �
",ș"Wimp_DecodeMenu",,sprmen%,block,icond
,curspr$=$icond
6�redopic
@FMopen=0
J�
T�
^.ș"Wimp_DecodeMenu",,openmenu%,block,icond
h+� $icond="Quit" � �areyousure:quiting=�
r!� $icond="Details" � �opendet
|D� $icond="View.LetterHeads" � �openwin(letter%):�redraw(letter%)
�?� $icond="View.Comp Slips" � �openwin(comp%):�redraw(comp%)
�?� $icond="View.Bus. Cards" � �openwin(card%):�redraw(card%)
�0� $icond="Picture.Insert" � �insert(menuwin)
�0� $icond="Picture.Remove" � �remove(menuwin)
�+� $icond="Picture.Del Pic" � �deleteall
�+� $icond="Show All" � �showall(menuwin)
�(� $icond="Save.Draw" �openwin(save%)
�)� $icond="Save.Data" �openwin(saved%)
�"ș"Wimp_GetPointerInfo",,block
�� block!8=1 �
�block!12=menuwin
��cmenus
�"ș"Wimp_CreateMenu",,openmenu%
�
ș"Wimp_CreateMenu",,-1
�
&�
0
:��mess(mess$)
D !icond=0:$(icond+4)=mess$+�0
N-ș"Wimp_ReportError",icond,1,"!Stationer"
X�
b
l��error(err$)
v
� �=523 �
�%�mess("Font "+font$+" not found")
�/�close(card%):�close(comp%):�close(letter%)
��
�M!icond=0:$(icond+4)=err$+"."+" Press OK to continue or Cancel to quit"+�0
�4ș"Wimp_ReportError",icond,3,"!Stationer" � ,but
�� but=2 � �end
��
��
�
�	��out
�ș"DragASprite_Stop"
�.� winsave%=savedraw% � stext=stexd:ft=&AFF
�.� winsave%=savedraw% � stext=stexd:ft=&00C
c� winsave%=savepic% � �checkflag(savepic%,4,21) stext=stextpic:ft=&FF9 � stext=stextpic:ft=&AFF
� drive%=1 �
$ș "Wimp_GetPointerInfo",,mblock
 <win=mblock!12:icon=mblock!16:xout=!mblock:yout=mblock!4:
*Pmblock!20=mblock!12:mblock!24=mblock!16:mblock!28=!mblock:mblock!32=mblock!4
47mblock!12=0:mblock!16=1:mblock!36=1024:mblock!40=ft
>$stext=$�info(winsave%,2)
H$stext=�getleaf($stext)
R)� I=0 � 255:� I?stext<32 � I?stext=13
\�
f !mblock=44+4*(1+(�$stext)�4)
p+$(mblock+44)=�bit($stext)+�0:!mblock=60
zBș "Wimp_SendMessage",17,mblock,mblock!20,mblock!24:� DataSave
�drag%=�
��
��
�
�
��defsave
�	�Mode
�)� winsave%=savedraw% � ft$="file_AFF"
�%� winsave%=save% � ft$="file_00C"
�S� winsave%=savepic% � �checkflag(savepic%,4,21) ft$="file_FF9" � ft$="file_AFF"
�!block=winsave%
�#ș "Wimp_GetWindowState",,block
�ysize%=block!16-block!8
�#x%=block!4:y%=block!8:block!4=1
 ș"Wimp_GetIconState",,block
#block!8+=x%:block!12+=y%+ysize%
$block!16+=x%:block!20+=y%+ysize%
$5block!24=0:block!28=0:block!32=xmax:block!36=ymax
.'!block=0:block!4=5:drag%=�:drive%=1
8U� daspr � ș"DragASprite_Start",%10000101,1,ft$,block+8 � ș"Wimp_DragBox",,block
B�
L
V
��Mode
`M!block=130:block!4=131:block!8=-1:ș"OS_ReadVduVariables",block,block+128
j)ș"OS_ReadModeVariable",�,4 � ,,Xeig%
t)ș"OS_ReadModeVariable",�,5 � ,,Yeig%
~=xmax=((block!128)+1)*2^Xeig%:ymax=((block!132)+1)*2^Yeig%
��
�
�ݤgetleaf(leaf$)
�ȕ �leaf$,".")
�leaf$=�leaf$,�leaf$,".")+1)
��:=leaf$
�
���save(save$)
؄� �save$,".")<1 � �save$,":")<1 � save$<>"<Wimp$Scrap>" � �query("To save, drag the save icon to a directory viewer"):nosave=�:�
�� winsave%=save% � �mess("Sorry, this version is unable to save. Register for full version. See Help file for further details")
�� winsave%=savedraw% � �mess("Sorry, this version is unable to save. Register for full version. See Help file for further details")
�"� winsave%=savepic% � �savepic
�



��savepic
� �
(^� � � � �=71622:�query("Disc Full"):full=�:� �:�:� � �:�error(�$+" : at line "+Þ):�#ile:�
2"SSpr=�checkflag(savepic%,4,21)
<� SSpr �
F2ș"OS_File",0,save$,0,0,spr%+4,spr%+(sprlen+4)
Pș"OS_File",&12,save$,&ff9
Z�
d� � SSpr �
n3ș"OS_File",0,save$,0,0,drawptr%,drawptr%+drawk
xș"OS_File",&12,save$,&AFF
��
�3� save$<>"<Wimp$Scrap>" �info(savepic%,2,save$)
��
�
���dragin
�� itempull � �resizeitem
�� itemdrag � �dropitem
�� drag% � �out
��
�
���messagein
�mblock=block
�ref=mblock!8:task=mblock!4
Ȏ mblock!16 �
� 8:
� � savef �
"5� (mblock!20 � (1<<0))>0 � quiting=� � shutdown=�
,� quiting � �0,0)"Quit"
6!� shutdown � �1,1)"Shutdown"
@Amblock!12=mblock!8:ș"Wimp_SendMessage",19,mblock:�areyousure
J�
T� 0:�end
^� 2:
h� drive%=1 �
r�save(�wool(mblock+44))
|mblock!12=ref
�mblock!16=3
�mblock!36=-1
�!mblock=256
�sendm=&400E7
�&ș sendm,18,mblock,task:� DataLoad
��
�� 3:
̄� mblock!40<>&0CD � mblock!40<>&FF9 � mblock!40<>&AFF � �mess("Only Stationer Data files or Sprites can be dropped into here"):�
�in=�
�@�close(colour%):�close(type%):�close(back%):�close(picture%)
�!� mblock!40=&FF9 � �insprites
�� mblock!40=&AFF � �indraw
�-� mblock!40=&0CD � �load(�wool(block+44))
� 5:
� block!40=&0CD �
block!12=block!8:block!16=4
&sendm=&400E7
0+ș sendm,18,block,block!4:� DataLoadAck
:�load(�wool(block+44))
D�
N�
X�
b
l��load(load$)
v!ș"OS_Find",&40,load$ � file%
�	t$=""
�t$=�readfile
�b� t$<>"Stationer Data File" � �mess("This is not a Stationer data file"):ș"OS_Find",0,file%:�
��deleteall
�9� �readfile="Sprites" � sprites=�:sprlen=�(�readfile)
�8� �readfile="Drawing" � drawing=�:drawk=�(�readfile)
�&ș"OS_GBPB",4,file%,workblk,8*1024
�S� sprites � spr%=(�claim(sprlen+256)):ș"OS_GBPB",4,file%,spr%+4,sprlen:�sprmen
�O� drawing � drawptr%=(�claim(drawk+256)):ș"OS_GBPB",4,file%,drawptr%,drawk
�ș"OS_Find",0,file%
�$�info(save%,2)=load$
� � noic=0 savef=�:�titles("")
�2�redraw(card%):�redraw(comp%):�redraw(letter%)
,� load$<>"<Stat$Dir>.DefaultDt" �opendet
�

 ݤreadfile
*
 t$=""
4 �
> ș"OS_BGet",,file% � byte%
H8 � byte%=254 ș"OS_Find",0,file%:�openwin(details%):
R t$=t$+�(byte%)
\ � byte%=13 � byte%=10
f =�t$,�(t$)-1)
p��insprites
z load$=�wool(block+44)
�� sprites � �delete(1)
�%ș "OS_File",5,load$ � ,,,,sprlen
�spr%=�claim(sprlen+256)
�!ș "OS_File",&FF,load$,spr%+4
��sprmen
�
sprites=�
�
� i=0 � 2
�ptr=detptr+(desblk*i)
�4� workblk?(ptr+5)=1 � $(workblk+(ptr+6))=curspr$
��
��redraw(card%)
��redraw(letter%)
��redraw(comp%)
�

��sprmen
$men$="":largest=0
.,ș "OS_SpriteOp",&108,spr% � ,,,sprites%
8� i%=0 � sprites%-1
B9 ș "OS_SpriteOp",256+13,spr%,temp%,&100,i%+1 � ,,,j%
L temp%?j%=13
V[ � �$temp%,",")>0 � ș"OS_SpriteOp",256+26,spr%,$temp%,"No"+�(i%+1):$temp%="No"+�(i%+1)
`) � �(men$)<243 � men$=men$+$temp%+","
j � i%=0 � defspr$=$temp%
t* � �($temp%)>largest largest=�($temp%)
~�
�men$=�men$,�(men$)-1)
�curspr$=�men$,�men$,",")-1)
��
�
���indraw
�load$=�wool(block+44)
�� drawing � �delete(2)
�#ș"OS_File",5,load$ � ,,,,drawk
�drawptr%=�claim(drawk+256)
�"ș"OS_File",&FF,load$,drawptr%
�
drawing=�
��


��openwin(handle%)
!block=handle%
"ș"Wimp_GetWindowState",,block
(open=block!32 � (1<<16)
2Q� block!28<>-1 � open=0 � (handle%=card% � handle%=comp% � handle%=letter%) �
<block!28=-1
Fș"Wimp_OpenWindow",,block
P�
Z�
d
n��opencen(handle%)
x	�Mode
�!block=handle%
�!ș"Wimp_GetWindowInfo",,block
�workx%=block!12-block!4
�worky%=block!16-block!8
�block!4=(xmax-workx%)/2
�block!12=workx%+block!4
�block!8=(ymax-worky%)/2
�block!16=worky%+block!8
�block!28=-1
�ș"Wimp_OpenWindow",,block
��
�
�
��fmenucr
$ș"Font_ListFonts",,temp%,0,&100
deffont$=$temp%
fflag%=0
"fflag%+=1<<19
,fflag%+=0<<20
61ș"Font_ListFonts",,0,fflag%,,0 � r,s,t,A,u,B
@� fmenu% A,fbuf% B
J1ș"Font_ListFonts",,fmenu%,fflag%,A,fbuf%,B,1
T�
^
hݤMax(a%,b%)
r� a%>b% � =a%
|=b%
�
�ݤInfo(p%)
�� a$
�	a$=""
�ȕ (?p%<>0 � ?p%<>13)
� a$+=�(?p%)
�
 p%+=1
��
�=a$
�
�
��opendet
�!block=details%
�"ș"Wimp_GetWindowState",,block
open=block!32 � (1<<16)
� open=0 �
#$�info(details%,0)=$(workblk+0)
&%$�info(details%,1)=$(workblk+256)
0%$�info(details%,6)=$(workblk+512)
:%$�info(details%,7)=$(workblk+768)
D&$�info(details%,8)=$(workblk+1024)
N&$�info(details%,2)=$(workblk+1280)
X&$�info(details%,3)=$(workblk+1536)
b&$�info(details%,4)=$(workblk+1792)
l&$�info(details%,5)=$(workblk+2048)
v�
��openwin(details%)
��
�
���setdet
�#$(workblk+0)=$�info(details%,0)
�%$(workblk+256)=$�info(details%,1)
�%$(workblk+512)=$�info(details%,6)
�%$(workblk+768)=$�info(details%,7)
�&$(workblk+1024)=$�info(details%,8)
�&$(workblk+1280)=$�info(details%,2)
�&$(workblk+1536)=$�info(details%,3)
�&$(workblk+1792)=$�info(details%,4)
�&$(workblk+2048)=$�info(details%,5)
� design=0 � 2
&aptr=detptr+(desblk*design)+deslen

� i=0 � 4
 ptr=aptr+(style*i)
*font$=$(workblk+ptr)
4pt=workblk!(ptr+256)
>width=workblk!(ptr+260)
H,�bbox($(workblk+(i*256)),font$,pt,width)
R,workblk!(ptr+278)=workblk!(ptr+270)+bbx1
\,workblk!(ptr+282)=workblk!(ptr+274)-bby1
fworkblk!(ptr+286)=bbx
pworkblk!(ptr+290)=bby
z� i
�ptr=aptr+(style*5)
�font$=$(workblk+ptr)
�pt=workblk!(ptr+256)
�width=workblk!(ptr+260)
�,�bbox($(workblk+(5*256)),font$,pt,width)
�bbxm=bbx
�,�bbox($(workblk+(6*256)),font$,pt,width)
�� bbx>bbxm � bbxm=bbx
�,�bbox($(workblk+(7*256)),font$,pt,width)
�� bbx>bbxm � bbxm=bbx
�,�bbox($(workblk+(8*256)),font$,pt,width)
�� bbx>bbxm � bbxm=bbx
�"�bbox("WFMgjq",font$,pt,width)
,workblk!(ptr+278)=workblk!(ptr+270)+bbx1
,workblk!(ptr+282)=workblk!(ptr+274)-bby1
workblk!(ptr+286)=bbxm
$workblk!(ptr+290)=bby
.� design
8
select=-1
B�redraw(card%)
L�redraw(comp%)
V�redraw(letter%)
`�
j
t��resetdet
~
� i=0 � 8
��info(details%,i,"")
��
��
�
���redraw(handle)
� block!0=handle
�
�more%
�)ș "Wimp_RedrawWindow",,block � more%
�ȕ more%
� Ȏ handle �
� � card% : �redrawcard
� � comp% : �redrawcomp
 � letter% : �redrawlett

 � colour% : �redrawcol
 � picture% : �redrawpic
 � type% : �redrawtype
( � back% : �redrawback
2 �
<* ș "Wimp_GetRectangle",,block � more%
F�
P%� close=1 � �close(card%):close=0
Z�
d
n��redrawcard
xș"OS_Byte",113,2
�ș"OS_Byte",112,1
�workx%=block!4-block!20
�worky%=block!16-block!24
�xmin=block!28-workx%
�xmax=block!36-workx%
�ymin=block!32-worky%
�ymax=block!40-worky%
�&�drawdesign(workx%,worky%,0,card%)
��
�
���redrawcomp
�workx%=block!4-block!20
�worky%=block!16-block!24
xmin=block!28-workx%
xmax=block!36-workx%
ymin=block!32-worky%
"ymax=block!40-worky%
,&�drawdesign(workx%,worky%,1,comp%)
6�
@
J��redrawlett
Tworkx%=block!4-block!20
^worky%=block!16-block!24
hxmin=block!28-workx%
rxmax=block!36-workx%
|ymin=block!32-worky%
�ymax=block!40-worky%
�(�drawdesign(workx%,worky%,2,letter%)
��
�
���redrawtype
�workx%=block!4-block!20
�worky%=block!16-block!24
�.ș "ColourTrans_SetGCOL",InterHex,,,&100,0
�&ȓ Ȑ workx%+406,worky%-204,140,50
�'ș "ColourTrans_SetGCOL",0,,,&100,0
�#ȓ workx%+406,worky%-204,140,50
��
�
 ��redrawback
 workx%=block!4-block!20
 worky%=block!16-block!24
 &.ș "ColourTrans_SetGCOL",InterHex,,,&100,0
 0&ȓ Ȑ workx%+342,worky%-110,260,48
 :'ș "ColourTrans_SetGCOL",0,,,&100,0
 D#ȓ workx%+342,worky%-110,260,48
 N�
 X
 b��redrawcol
 lRED=(hex>>8)�&FF
 vGREEN=(hex>>16)�&FF
 �BLUE=(hex>>24)�&FF
 �workx%=block!4-block!20
 �worky%=block!16-block!24
 �)ș "ColourTrans_SetGCOL",hex,,,&100,0
 �&ȓ Ȑ workx%+234,worky%-247,175,48
 �ș "Wimp_SetColour",1,1
 �'ȓ Ȑ workx%+270,worky%-170,344,147
 �/ș "ColourTrans_SetGCOL",&0000FF00,,,&100,0
 �/ȓ Ȑ workx%+271,worky%-55,(RED/255)*344,32
 �/ș "ColourTrans_SetGCOL",&00FF0000,,,&100,0
 �2ȓ Ȑ workx%+271,worky%-111,(GREEN/255)*344,32
 �/ș "ColourTrans_SetGCOL",&FF000000,,,&100,0
 �1ȓ Ȑ workx%+271,worky%-167,(BLUE/255)*344,32
!'ș "ColourTrans_SetGCOL",0,,,&100,0
!#ȓ workx%+233,worky%-248,176,49
!"ȓ workx%+270,worky%-58,344,34
! #ȓ workx%+270,worky%-114,344,34
!*#ȓ workx%+270,worky%-170,344,34
!4�
!>
!H��redrawpic
!R workx%=block!4-block!20
!\ worky%=block!16-block!24
!fredraw=�
!pxmin=block!28-workx%
!zxmax=block!36-workx%
!�ymin=block!32-worky%
!�ymax=block!40-worky%
!�9redraw=�overlaps(16,-218,216,-18,xmin,ymin,xmax,ymax)
!�� redraw �
!�ptr=detptr+(desblk*design)
!�Red=workblk?(ptr+1)
!�Green=workblk?(ptr+2)
!�Blue=workblk?(ptr+3)
!�,InterHex=(Blue<<24)+(Green<<16)+(Red<<8)
!�.ș "ColourTrans_SetGCOL",InterHex,,,&100,0
!�&ȓ Ȑ workx%+16,worky%-218,200,200
!�5� �checkflag(picture%,5,21) � picpic=1 � picpic=2
!�� picpic=1 �
"4ș"Wimp_ReadPixTrans",&100,1,"sizeing",,,,scale%
" hpix=scale%!4:vpix=scale%!12
"boxw=100/hpix:boxh=100/vpix
"$�scale(100,100,curspr$)
".4ș &2E,256+40,spr%,curspr$ � A,B,C,w%,h%,D,mode%
"8>realx=w%*(scale%!0/scale%!8):realy=h%*(scale%!4/scale%!12)
"B/xmul=(boxw/realx)*100:ymul=(boxh/realy)*100
"L"Lock=�checkflag(picture%,1,21)
"V%Centred=�checkflag(picture%,2,21)
"`#Front=�checkflag(picture%,3,21)
"j"� Lock � xmul<ymul � ymul=xmul
"t"� Lock � xmul>ymul � xmul=ymul
"~�getpal(curspr$)
"�xoff=0:yoff=0
"�+newx=realx*xmul/100:newy=realy*ymul/100
"�;� Centred � xoff=(boxw-newx)*hpix:yoff=(boxh-newy)*vpix
"�xdiv=100:ydiv=100
"�ascale%!0=scale%!0*xmul:scale%!4=scale%!4*ymul:scale%!8=scale%!8*xdiv:scale%!12=scale%!12*ydiv
"�Qș &2E,256+52,spr%,curspr$,workx%+16+xoff,worky%-218+ yoff,8,scale%,PixTrans%
"��
"�� picpic=2 �
"�"Lock=�checkflag(picture%,1,21)
"�%Centred=�checkflag(picture%,2,21)
"�#Front=�checkflag(picture%,3,21)
"�Ricond!0=65536:icond!4=0:icond!8=0:icond!12=65536:icond!16=0*256:icond!20=0*256
#3ș"DrawFile_BBox",0,drawptr%,drawk,icond,matrix
#
Awidth=(matrix!8-matrix!0)/256:height=(matrix!12-matrix!4)/256
#"xmul=200/width:ymul=200/height
#"� Lock � xmul<ymul � ymul=xmul
#("� Lock � xmul>ymul � xmul=ymul
#2$neww=width*xmul:newh=height*ymul
#<cxoff=0:cyoff=0
#F5� Centred � cxoff=(200-neww)/2:cyoff=(200-newh)/2
#P*icond!0=xmul*65536:icond!12=ymul*65536
#Z3ș"DrawFile_BBox",0,drawptr%,drawk,icond,matrix
#dAwidth=(matrix!8-matrix!0)/256:height=(matrix!12-matrix!4)/256
#n/xoff=(0-matrix!0/256):yoff=(0-matrix!4/256)
#x�icond!0=xmul*65536:icond!4=0:icond!8=0:icond!12=ymul*65536:icond!16=(workx%+16+xoff+cxoff)*256:icond!20=(worky%-218+yoff+cyoff)*256
#�2ș"DrawFile_Render",%00,drawptr%,drawk,icond,0
#�� 2
#��
#��
#��
#�
#�)��drawdesign(pxco,pyco,design,handle)
#�ptr=detptr+(desblk*design)
#�border=workblk?(ptr+0)
#�BRed=workblk?(ptr+1)
#�BGreen=workblk?(ptr+2)
#�BBlue=workblk?(ptr+3)
#�BTran=workblk?(ptr+4)
$pictype=workblk?(ptr+5)
$Front=workblk?(ptr+24)
$bx1=workblk!(ptr+28)
$"by1=workblk!(ptr+32)
$,bx2=workblk!(ptr+36)
$6by2=workblk!(ptr+40)
$@+BCol=(BBlue<<24)+(BGreen<<16)+(BRed<<8)
$JȎ border �
$T� 1:
$^*ș "ColourTrans_SetGCOL",BCol,,,&100,0
$h#ȓ Ȑ pxco+bx1,pyco-by1,bx2,by2
$r/ș "ColourTrans_SetGCOL",&00000000,,,&100,0
$| ȓ pxco+bx1,pyco-by1,bx2,by2
$�� 2:
$�*ș "ColourTrans_SetGCOL",BCol,,,&100,0
$�#ȓ Ȑ pxco+bx1,pyco-by1,bx2,by2
$�/ș "ColourTrans_SetGCOL",&00000000,,,&100,0
$� ȓ pxco+bx1,pyco-by1,bx2,by2
$�(ȓ pxco+bx1+2,pyco-by1+2,bx2-4,by2-4
$�� 3:
$�*ș "ColourTrans_SetGCOL",BCol,,,&100,0
$�#ȓ Ȑ pxco+bx1,pyco-by1,bx2,by2
$�/ș "ColourTrans_SetGCOL",&00000000,,,&100,0
$� ȓ pxco+bx1,pyco-by1,bx2,by2
$�(ȓ pxco+bx1+2,pyco-by1+2,bx2-4,by2-4
$�(ȓ pxco+bx1+4,pyco-by1+4,bx2-8,by2-8
%� 4:
%*ș "ColourTrans_SetGCOL",BCol,,,&100,0
%#ȓ Ȑ pxco+bx1,pyco-by1,bx2,by2
%&/ș "ColourTrans_SetGCOL",&00000000,,,&100,0
%0 ȓ pxco+bx1,pyco-by1,bx2,by2
%:(ȓ pxco+bx1+4,pyco-by1+4,bx2-8,by2-8
%D*ȓ pxco+bx1+6,pyco-by1+6,bx2-12,by2-12
%N� 5:
%X*ș "ColourTrans_SetGCOL",BCol,,,&100,0
%b#ȓ Ȑ pxco+bx1,pyco-by1,bx2,by2
%l/ș "ColourTrans_SetGCOL",&00000000,,,&100,0
%v ȓ pxco+bx1,pyco-by1,bx2,by2
%�(ȓ pxco+bx1+2,pyco-by1+2,bx2-4,by2-4
%�*ȓ pxco+bx1+6,pyco-by1+6,bx2-12,by2-12
%��
%�8� Front=0 � pictype=1 � �dessprite(pxco,pyco,design)
%�6� Front=0 � pictype=2 � �desdraw(pxco,pyco,design)
%� � item=0 � 5
%�&  �drawitem(design,item,pxco,pyco)
%� �
%�8� Front=1 � pictype=1 � �dessprite(pxco,pyco,design)
%�6� Front=1 � pictype=2 � �desdraw(pxco,pyco,design)
%�"� select<>-1 � handle=curdes �
%�L x1=sx1:y1=0-sy1:x2=sx1+sx2:y2=0-sy1+sy2:a1=xmin:b1=ymin:a2=xmax:b2=ymax
%�. redraw=�overlaps(x1,y1,x2,y2,a1,b1,a2,b2)
& � redraw �
&/ ș"ColourTrans_SetGCOL",&0000FF00,,,&100,0
& � workx%+sx1,worky%-sy1
&  � 23,6,&CC|
&* � 17,sx2,0
&4 � 17,0,sy2
&> � 17,0-sx2,0
&H � 17,0,0-sy2
&R �
&\�
&f�
&p
&z%��drawitem(design,item,pxco,pyco)
&�2ptr=detptr+(desblk*design)+deslen+(style*item)
&�hide=workblk?(ptr+294)
&�� hide=0 � �
&�redraw=�
&�FxPos=workblk!(ptr+270)
&�FyPos=workblk!(ptr+274)
&�Fx1=workblk!(ptr+278)
&�Fy1=workblk!(ptr+282)
&�Fx2=workblk!(ptr+286)
&�Fy2=workblk!(ptr+290)
&�u=workblk?(ptr+265)
&�� u=1 � line=4+4 � line=0
&�Px1=Fx1:y1=0-Fy1-line:x2=Fx1+Fx2:y2=0-Fy1+Fy2:a1=xmin:b1=ymin:a2=xmax:b2=ymax
'� item=5 � y2=Fy2*4+6*3
'-redraw=�overlaps(x1,y1,x2,y2,a1,b1,a2,b2)
'� redraw �
'$text$=$(workblk+item*256)
'.� item=5 �
'8"text2$=$(workblk+(item+1)*256)
'B"text3$=$(workblk+(item+2)*256)
'L"text4$=$(workblk+(item+3)*256)
'V�
'`font$=$(workblk+ptr)
'j/ș"XFont_FindFont",,font$,16,16,0,0 � fhnd%
't� fhnd%!0=523 �
'~:ș"XFont_FindFont",,"Trinity.Medium",16,16,0,0 � fhnd%
'�;� fhnd%!0=523 � font$=deffont$ � font$="Trinity.Medium"
'��
'�pt=workblk!(ptr+256)
'�w=workblk!(ptr+260)
'�j=workblk?(ptr+264)
'�FRed=workblk?(ptr+266)
'�FGreen=workblk?(ptr+267)
'�FBlue=workblk?(ptr+268)
'�FTran=workblk?(ptr+269)
'�+FCol=(FBlue<<24)+(FGreen<<16)+(FRed<<8)
'�x=�width(text$,font$,pt,w)
'�6ș "ColourTrans_SetFontColours",font%,BCol,FCol,14
(� item=5 �
(
jus=%10010
(
nFx=FxPos
(2� j=3 � jus=%10001:� pxco+FxPos+Fx2,pyco-FyPos
((#width=�width(text4$,font$,pt,w)
(2� j=2 nFx=FxPos+(Fx2-width)
(<!� j=1 nFx=FxPos+(Fx2-width)/2
(F2ș"Font_Paint",,text4$,jus,pxco+nFx,pyco-FyPos
(P#width=�width(text3$,font$,pt,w)
(Z� j=2 nFx=FxPos+(Fx2-width)
(d!� j=1 nFx=FxPos+(Fx2-width)/2
(n>ș"Font_Paint",,text3$,jus,pxco+nFx,pyco-FyPos+((Fy2+6)*1)
(x#width=�width(text2$,font$,pt,w)
(�� j=2 nFx=FxPos+(Fx2-width)
(�!� j=1 nFx=FxPos+(Fx2-width)/2
(�>ș"Font_Paint",,text2$,jus,pxco+nFx,pyco-FyPos+((Fy2+6)*2)
(�"width=�width(text$,font$,pt,w)
(�� j=2 nFx=FxPos+(Fx2-width)
(�!� j=1 nFx=FxPos+(Fx2-width)/2
(�=ș"Font_Paint",,text$,jus,pxco+nFx,pyco-FyPos+((Fy2+6)*3)
(��
(�6ș"Font_Paint",,text$,%10010,pxco+FxPos,pyco-FyPos
(��
(�� u=1 �
(�*ș "ColourTrans_SetGCOL",FCol,,,&100,0
(�"ȓ Ȑ pxco+Fx1,pyco-Fy1-4,x,-4
)�
)�
)�
)"
),'ݤoverlaps(x1,y1,x2,y2,a1,b1,a2,b2)
)6interx=�:intery=�
)@"� (x1>=a1 � x1<=a2) � interx=�
)J"� (x2>=a1 � x2<=a2) � interx=�
)T"� (a1>=x1 � a1<=x2) � interx=�
)^"� (a2>=x1 � a2<=x2) � interx=�
)h"� (y1>=b1 � y1<=b2) � intery=�
)r"� (y2>=b1 � y2<=b2) � intery=�
)|"� (b1>=y1 � b1<=y2) � intery=�
)�"� (b2>=y1 � b2<=y2) � intery=�
)�� interx � intery � =�
)�=�
)�
)�!��dessprite(cxco,cyco,design)
)�redraw=�
)�ptr=detptr+(desblk*design)
)�Spx1=workblk!(ptr+44)
)�Spy1=workblk!(ptr+48)
)�Spx2=workblk!(ptr+52)
)�Spy2=workblk!(ptr+56)
)�Qx1=Spx1:y1=0-Spy1:x2=Spx1+Spx2:y2=0-Spy1+Spy2:a1=xmin:b1=ymin:a2=xmax:b2=ymax
)�-redraw=�overlaps(x1,y1,x2,y2,a1,b1,a2,b2)
*� sprites � redraw �
*curspr$=$(workblk+(ptr+6))
*Lock=workblk?(ptr+22)
*&Centred=workblk?(ptr+23)
*0Front=workblk?(ptr+24)
*:4ș"Wimp_ReadPixTrans",&100,1,"sizeing",,,,scale%
*D hpix=scale%!4:vpix=scale%!12
*N!Spx2=Spx2/hpix:Spy2=Spy2/vpix
*X1ș &2E,256+40,spr%,curspr$ � ,,,w%,h%,D,mode%
*b�scale(Spx2,Spy2,curspr$)
*l�getpal(curspr$)
*v<newx=w%*(scale%!0/scale%!8):newy=h%*(scale%!4/scale%!12)
*�5xmul=((Spx2/2)/newx)*100:ymul=((Spy2/2)/newy)*100
*�xoff=0:yoff=0
*�Axoff1=(w%*xmul*scale%!0*2)/100:yoff1=(h%*ymul*scale%!4*2)/100
*�$� Lock=1 � xmul<ymul � ymul=xmul
*�$� Lock=1 � xmul>ymul � xmul=ymul
*�� Centred=1 �
*�Axoff2=(w%*xmul*scale%!0*2)/100:yoff2=(h%*ymul*scale%!4*2)/100
*�7xoff=(xoff1-xoff2)/2*hpix:yoff=(yoff1-yoff2)/2*vpix
*��
*�xdiv=100:ydiv=100
*�ascale%!0=scale%!0*xmul:scale%!4=scale%!4*ymul:scale%!8=scale%!8*xdiv:scale%!12=scale%!12*ydiv
*�Oș &2E,256+52,spr%,curspr$,cxco+Spx1+xoff,cyco-Spy1+yoff,8,scale%,PixTrans%
*��
+�
+
+��desdraw(cxco,cyco,design)
+ redraw=�
+*ptr=detptr+(desblk*design)
+4Spx1=workblk!(ptr+44)
+>Spy1=workblk!(ptr+48)
+HSpx2=workblk!(ptr+52)
+RSpy2=workblk!(ptr+56)
+\Qx1=Spx1:y1=0-Spy1:x2=Spx1+Spx2:y2=0-Spy1+Spy2:a1=xmin:b1=ymin:a2=xmax:b2=ymax
+f-redraw=�overlaps(x1,y1,x2,y2,a1,b1,a2,b2)
+p� drawing � redraw �
+zLock=workblk?(ptr+22)
+�Centred=workblk?(ptr+23)
+�Front=workblk?(ptr+24)
+�Ricond!0=65536:icond!4=0:icond!8=0:icond!12=65536:icond!16=0*256:icond!20=0*256
+�3ș"DrawFile_BBox",0,drawptr%,drawk,icond,matrix
+�Awidth=(matrix!8-matrix!0)/256:height=(matrix!12-matrix!4)/256
+�$xmul=Spx2/width:ymul=Spy2/height
+�xoff=0:yoff=0
+�&xoff1=xmul*width:yoff1=ymul*height
+�"� Lock � xmul<ymul � ymul=xmul
+�"� Lock � xmul>ymul � xmul=ymul
+�� Centred=1 �
+�&xoff2=xmul*width:yoff2=ymul*height
+�-xoff=(xoff1-xoff2)/2:yoff=(yoff1-yoff2)/2
,�
,*icond!0=xmul*65536:icond!12=ymul*65536
,3ș"DrawFile_BBox",0,drawptr%,drawk,icond,matrix
,$Awidth=(matrix!8-matrix!0)/256:height=(matrix!12-matrix!4)/256
,.3bbxoff=(0-matrix!0/256):bbyoff=(0-matrix!4/256)
,8�icond!0=xmul*65536:icond!4=0:icond!8=0:icond!12=ymul*65536:icond!16=(cxco+Spx1+bbxoff+xoff)*256:icond!20=(cyco-Spy1+bbyoff+yoff)*256
,B2ș"DrawFile_Render",%00,drawptr%,drawk,icond,0
,L�
,V�
,`
,j��scale(spw,sph,workspr$)
,t?ș"Wimp_ReadPixTrans",&100,spr%,workspr$,,,,scale%,palette%
,~�
,�
,���getpal(workspr$)
,�3ș "OS_SpriteOp",256+24,spr%,workspr$ � ,,sptr%
,�7ș "OS_SpriteOp",256+40,spr%,workspr$ � ,,,,,,mode%
,�9ș "OS_SpriteOp",256+37,spr%,workspr$,-1 � ,,,palsize
,�/ș "OS_ReadModeVariable",mode%,9 � ,,BitsPP
,�BitsPP=2^BitsPP
,�� sptr%!32<>44 �
,� � I%=0 � sptr%!32-52 � 8
,�" palette%!(I%/2)=sptr%!(I%+44)
,� �
,��
-� sptr%!32<>44 �
-
 � sptr%!32<>44+2048 �
-@ ș "ColourTrans_SelectTable",mode%,palette%,-1,-1,PixTrans%
- �
-( � Q%=0�255
-2U ș "ColourTrans_ReturnColourNumberForMode",palette%!(Q%<<2),-1,-1 � PixTrans%?Q%
-< �
-F �
-P�
-Z � BitsPP<8 �
-d? ș "ColourTrans_SelectTable",mode%,defpal%,-1,-1,PixTrans%
-n �
-x: ș "ColourTrans_SelectTable",mode%,-1,-1,-1,PixTrans%
-� �
-��
-��
-�
-���bbox(text$,font$,xs,ys)
-�@ș "Font_FindFont",,font$,(xs*(ys/100))*16,xs*16,0,0 � font%
-�ș "Font_SetFont",font%
-�6ș "Font_StringBBox",,text$ � ,bbx1,bby1,bbx2,bby2
-�Fș "Font_StringWidth",,text$,&FFFFFF,&FFFFFFFF,-1,�(text$) � ,,x,y
-�1ș "Font_ConverttoOS",,bbx1,bby1 � ,bbx1,bby1
-�1ș "Font_ConverttoOS",,bbx2,bby2 � ,bbx2,bby2
-�bbx=bbx2-bbx1:bby=bby2-bby1
-��
.
.ݤwidth(text$,font$,xs,ys)
.@ș "Font_FindFont",,font$,(xs*(ys/100))*16,xs*16,0,0 � font%
."ș "Font_SetFont",font%
.,Fș "Font_StringWidth",,text$,&FFFFFF,&FFFFFF,31,�(text$) � ,,x%,y%
.6'ș "Font_ConverttoOS",,x%,y% � ,x,y
.@=x
.J
.T��close(!block)
.^ș"Wimp_CloseWindow",,block
.h�
.r
.|ݤcheckit(hnd%,ic%)
.�!icond=hnd%:icond!4=ic%
.� ș"Wimp_GetIconState",,icond
.�flags%=icond!24
.�=flags%�&F0000
.�
.���getstyle
.�changedes=block!12
.�mx=block!0:my=block!4
.�Ȏ changedes �
.�� card% : design=0
.�� comp% : design=1
.�� letter% : design=2
.��
/change=select
/� change>-1 �
/� change>=0 � change<=5 �
/&4ptr=detptr+(desblk*design)+deslen+(style*change)
/0font$=$(workblk+ptr)
/:pt=workblk!(ptr+256)
/Dwidth=workblk!(ptr+260)
/Nj=workblk?(ptr+264)
/Xu=workblk?(ptr+265)
/bColR=workblk?(ptr+266)
/lColG=workblk?(ptr+267)
/vColB=workblk?(ptr+268)
/�ColT=workblk?(ptr+269)
/�hide=workblk?(ptr+294)
/�,InterHex=(ColB<<24)+(ColG<<16)+(ColR<<8)
/�$�info(type%,0)=font$
/�$�info(type%,3)=�pt
/�$�info(type%,8)=�width
/�%�seticstate(type%,18,1<<21,1<<21)
/�0� hide=0 � �seticstate(type%,18,1<<21,0<<21)
/�M� change>=0 � change<=4 � a=1<<22:b=1<<22:c=1<<21:d=0<<21:e=1<<22:f=0<<22
/�@� change=5 � a=1<<22:b=0<<22:c=1<<21:d=0<<21:e=1<<22:f=1<<22
/��seticstate(type%,10,a,b)
/��seticstate(type%,11,a,b)
/��seticstate(type%,12,a,b)
0�seticstate(type%,13,a,b)
0�seticstate(type%,10,c,d)
0�seticstate(type%,11,c,d)
0 �seticstate(type%,12,c,d)
0*�seticstate(type%,13,c,d)
04%�seticstate(type%,14,1<<21,0<<21)
0>�seticstate(type%,14,e,f)
0H�openwin(type%)
0R4� change=5 � �seticstate(type%,10+j,1<<21,1<<21)
0\-� u=1 � �seticstate(type%,14,1<<21,1<<21)
0f�
0p� change=6 �
0zptr=detptr+(desblk*design)
0�pic=workblk?(ptr+5)
0�'�seticstate(picture%,1,1<<21,0<<21)
0�'�seticstate(picture%,2,1<<21,0<<21)
0�'�seticstate(picture%,3,1<<21,0<<21)
0�Lock=workblk?(ptr+22)
0�Centre=workblk?(ptr+23)
0�Front=workblk?(ptr+24)
0�(� pic=1 � curspr$=$(workblk+(ptr+6))
0�.� Lock �seticstate(picture%,1,1<<21,1<<21)
0�0� Centre �seticstate(picture%,2,1<<21,1<<21)
0�/� Front �seticstate(picture%,3,1<<21,1<<21)
0�'�seticstate(picture%,5,1<<22,0<<22)
0�'�seticstate(picture%,4,1<<22,0<<22)
1'�seticstate(picture%,6,1<<22,0<<22)
1U� pic=1 � �seticstate(picture%,5,1<<21,1<<21):�seticstate(picture%,6,1<<21,0<<21)
1U� pic=2 � �seticstate(picture%,6,1<<21,1<<21):�seticstate(picture%,5,1<<21,0<<21)
1$Y� � sprites � �seticstate(picture%,5,1<<22,1<<22):�seticstate(picture%,4,1<<22,1<<22)
1.5� � drawing � �seticstate(picture%,6,1<<22,1<<22)
18�openwin(picture%)
1B�
1L�
1V� change=-1 �
1`ptr=detptr+(desblk*design)
1jborder=workblk?(ptr)
1tColR=workblk?(ptr+1)
1~ColG=workblk?(ptr+2)
1�ColB=workblk?(ptr+3)
1�ColT=workblk?(ptr+4)
1�,InterHex=(ColB<<24)+(ColG<<16)+(ColR<<8)
1�� i=2 � 10 � 2
1�V� border=i/2 � �seticstate(back%,i,1<<21,1<<21):� �seticstate(back%,i,1<<21,0<<21)
1��
1�V� border=0 � �seticstate(back%,11,1<<21,1<<21):� �seticstate(back%,11,1<<21,0<<21)
1��openwin(back%)
1��
1��
1�
1���applystyle
2� change>-1 �
2
� change>=0 � change<=5 �
24ptr=detptr+(desblk*design)+deslen+(style*change)
2font$=$�info(type%,0)
2(pt=�($�info(type%,3))
22width=�($�info(type%,8))
2<$(workblk+ptr)=font$
2Fworkblk!(ptr+256)=pt
2Pworkblk!(ptr+260)=width
2Z)workblk?(ptr+266)=(InterHex>>8) � &FF
2d*workblk?(ptr+267)=(InterHex>>16) � &FF
2n*workblk?(ptr+268)=(InterHex>>24) � &FF
2xj=0:u=0
2�#� �checkflag(type%,10,21) � j=0
2�#� �checkflag(type%,11,21) � j=1
2�#� �checkflag(type%,12,21) � j=2
2�#� �checkflag(type%,13,21) � j=3
2�#� �checkflag(type%,14,21) � u=1
2�9� �checkflag(type%,18,21) � hide=1 � hide=0:select=-1
2�workblk?(ptr+264)=j
2�workblk?(ptr+265)=u
2�workblk?(ptr+294)=hide
2� � change>=0 � change<=4 �
2�2 �bbox($(workblk+(change*256)),font$,pt,width)
2�- workblk!(ptr+278)=workblk!(ptr+270)+bbx1
2�- workblk!(ptr+282)=workblk!(ptr+274)-bby1
3 workblk!(ptr+286)=bbx
3 workblk!(ptr+290)=bby
3 ax=sx2:by=sy2
3" sx2=bbx:sy2=bby
3, �
36 � change=5 �
3@- �bbox($(workblk+(5*256)),font$,pt,width)
3J
 bbxm=bbx
3T- �bbox($(workblk+(6*256)),font$,pt,width)
3^ � bbx>bbxm � bbxm=bbx
3h- �bbox($(workblk+(7*256)),font$,pt,width)
3r � bbx>bbxm � bbxm=bbx
3|- �bbox($(workblk+(8*256)),font$,pt,width)
3� � bbx>bbxm � bbxm=bbx
3�# �bbox("WFMgjq",font$,pt,width)
3�- workblk!(ptr+278)=workblk!(ptr+270)+bbx1
3�- workblk!(ptr+282)=workblk!(ptr+274)-bby1
3� workblk!(ptr+286)=bbxm
3� workblk!(ptr+290)=bby
3� ax=sx2:by=sy2
3� sx2=bbxm:sy2=bby*4+6*3
3� �
3�� ax>sx2 � ax=ax � ax=sx2
3�� by>sy2 � by=by � by=sy2
3�Bș"Wimp_ForceRedraw",changedes,sx1,0-sy1-8,sx1+ax+2,0-sy1+by+2
3��
4� change=6 �
4ptr=detptr+(desblk*design)
4"sord=�checkflag(picture%,5,21)
4&"Lock=�checkflag(picture%,1,21)
40%Centred=�checkflag(picture%,2,21)
4:#Front=�checkflag(picture%,3,21)
4D2� sord � workblk?(ptr+5)=1 � workblk?(ptr+5)=2
4N2� Lock workblk?(ptr+22)=1 � workblk?(ptr+22)=0
4X5� Centred workblk?(ptr+23)=1 � workblk?(ptr+23)=0
4b3� Front workblk?(ptr+24)=1 � workblk?(ptr+24)=0
4l$(workblk+(ptr+6))=curspr$
4vBș"Wimp_ForceRedraw",changedes,sx1,0-sy1,sx1+sx2+2,0-sy1+sy2+2
4��
4��
4�� change=-1 �
4�ptr=detptr+(desblk*design)
4�%workblk?(ptr+1)=(InterHex>>8)�&FF
4�&workblk?(ptr+2)=(InterHex>>16)�&FF
4�&workblk?(ptr+3)=(InterHex>>24)�&FF
4�� i=2 � 10 � 2
4�0� �checkflag(back%,i,21) � workblk?(ptr)=i/2
4��
4�/� �checkflag(back%,11,21) � workblk?(ptr)=0
4��redraw(changedes)
4��
5� change=-2 �
5ptr=detptr+(desblk*design)
5"sord=�checkflag(picture%,5,21)
5 "Lock=�checkflag(picture%,1,21)
5*%Centred=�checkflag(picture%,2,21)
54#Front=�checkflag(picture%,3,21)
5>oldsord=workblk?(ptr+5)
5H2� sord � workblk?(ptr+5)=1 � workblk?(ptr+5)=2
5R2� Lock workblk?(ptr+22)=1 � workblk?(ptr+22)=0
5\5� Centred workblk?(ptr+23)=1 � workblk?(ptr+23)=0
5f3� Front workblk?(ptr+24)=1 � workblk?(ptr+24)=0
5pworkblk!(ptr+44)=350
5zworkblk!(ptr+48)=300
5�workblk!(ptr+52)=200
5�workblk!(ptr+56)=200
5�'� sord � $(workblk+(ptr+6))=curspr$
5�� select=6 � select=-1
5�!� oldsord>0 � �redraw(curdes)
5�9ș"Wimp_ForceRedraw",curdes,350,-300,350+200,-300+200
5��
5��
5�
5���showall(handle)
5�Ȏ handle �
5�� card% : design=0
5�� comp% : design=1
6� letter% : design=2
6�
6
� i=0 � 5
6$/ptr=detptr+(desblk*design)+deslen+(style*i)
6.workblk?(ptr+294)=1
68�
6B�redraw(handle)
6L�
6V
6`��remove(handle)
6jcurdes=handle
6tȎ curdes �
6~� card% : design=0
6�� comp% : design=1
6�� letter% : design=2
6��
6�ptr=detptr+(desblk*design)
6�oldsord=workblk?(ptr+5)
6�workblk?(ptr+5)=0
6�$(workblk+(ptr+6))=""
6�� select=6 � select=-1
6�!� oldsord>0 � �redraw(curdes)
6��
6�
6���insert(handle)
7curdes=handle
7
Ȏ curdes �
7� card% : design=0
7� comp% : design=1
7(� letter% : design=2
72�
7<'�seticstate(picture%,1,1<<21,0<<21)
7F'�seticstate(picture%,2,1<<21,0<<21)
7P'�seticstate(picture%,3,1<<21,0<<21)
7Z'�seticstate(picture%,5,1<<21,0<<21)
7d'�seticstate(picture%,6,1<<21,0<<21)
7n'�seticstate(picture%,4,1<<22,0<<22)
7x'�seticstate(picture%,5,1<<22,0<<22)
7�'�seticstate(picture%,6,1<<22,0<<22)
7�Y� � sprites � �seticstate(picture%,5,1<<22,1<<22):�seticstate(picture%,4,1<<22,1<<22)
7�5� � drawing � �seticstate(picture%,6,1<<22,1<<22)
7�� sprites �
7�curspr$=defspr$
7�picpic=1
7�'�seticstate(picture%,5,1<<21,1<<21)
7��
7�picpic=2
7�'�seticstate(picture%,6,1<<21,1<<21)
7��
7��openwin(picture%)
7�
change=-2
8�
8
8
��swappic
8"button=block!16
8,8� button=5 � picpic=1:� curspr$="" � curspr$=defspr$
86� button=6 � picpic=2
8@�redopic
8J�
8T
8^
��redopic
8h0ș"Wimp_ForceRedraw",picture%,12,-222,222,12
8r�
8|
8���selectitem
8�curdes=block!12
8�mx=block!0:my=block!4
8�Ȏ curdes �
8�� card% : design=0
8�� comp% : design=1
8�� letter% : design=2
8��
8�!block=curdes
8�!ș"Wimp_GetWindowInfo",,block
8�workx%=block!4-block!20
8�worky%=block!16-block!24
8�xcoord=mx-workx%
9ycoord=my-worky%
9oldselect=select
95osx1=sx1:osy1=sy1:osx2=sx2:osy2=sy2:olddes=seldes
9&)sx1=-1:sy1=-1:sx2=-1:sxy=-1:select=-1
90I=0
9:�
9D0 ptr=detptr+(desblk*design)+deslen+(style*I)
9N hide=workblk?(ptr+294)
9X � hide=1 �
9b x1=workblk!(ptr+278):a1=x1
9l y1=workblk!(ptr+282):b1=y1
9v x2=workblk!(ptr+286):a2=x2
9� y2=workblk!(ptr+290):b2=y2
9� y1=0-y1:x2=x1+x2:y2=y1+y2
9�' � I=5 � y2=b2*4+6*3:b2=y2:y2=y1+y2
9�i � xcoord>x1 � ycoord>y1 � xcoord<x2 � ycoord<y2 � select=I:seldes=curdes:sx1=a1:sy1=b1:sx2=a2:sy2=b2
9� �
9�	 I+=1
9�� I=6 � select>-1
9�ptr=detptr+(desblk*design)
9�pictype=workblk?(ptr+5)
9�� select=-1 � pictype>0 �
9� x1=workblk!(ptr+44):a1=x1
9� y1=workblk!(ptr+48):b1=y1
9� x2=workblk!(ptr+52):a2=x2
: y2=workblk!(ptr+56):b2=y2
: y1=0-y1:x2=x1+x2:y2=y1+y2
:i � xcoord>x1 � ycoord>y1 � xcoord<x2 � ycoord<y2 � select=6:seldes=curdes:sx1=a1:sy1=b1:sx2=a2:sy2=b2
: �
:*H� (select<>-1 � select<>oldselect) � (seldes<>-1 � seldes<>olddes) �
:4Tblock!0=seldes:block!4=sx1:block!8=0-sy1:block!12=sx1+sx2+4:block!16=0-sy1+sy2+4
:>'ș"Wimp_UpdateWindow",,block � more
:Hȕ more
:R/ ș"ColourTrans_SetGCOL",&0000FF00,,,&100,0
:\ � workx%+sx1,worky%-sy1
:f � 23,6,&CC|
:p � 17,sx2,0
:z � 17,0,sy2
:� � 17,0-sx2,0
:� � 17,0,0-sy2
:�( ș"Wimp_GetRectangle",,block � more
:��
:��
:�K� (oldselect<>-1 � select<>oldselect) � (olddes<>-1 � olddes<>seldes) �
:�Zblock!0=olddes:block!4=osx1:block!8=0-osy1:block!12=osx1+osx2+4:block!16=0-osy1+osy2+4
:�'ș"Wimp_UpdateWindow",,block � more
:�ȕ more
:�  aptr=detptr+(desblk*design)
:�F ColR=workblk?(aptr+1):ColG=workblk?(aptr+2):ColB=workblk?(aptr+3)
:�, backcol=(ColB<<24)+(ColG<<16)+(ColR<<8)
:�- ș"ColourTrans_SetGCOL",backcol,,,&100,0
;) ȓ workx%+osx1,worky%-osy1,osx2,osy2
;( ș"Wimp_GetRectangle",,block � more
;�
;$ � oldselect=6 �
;.A ș"Wimp_ForceRedraw",olddes,osx1,0-osy1,osx1+osx2+4,0-osy1+4
;8A ș"Wimp_ForceRedraw",olddes,osx1,0-osy1,osx1+4,0-osy1+osy2+4
;BK ș"Wimp_ForceRedraw",olddes,osx1,0-osy1+osy2,osx1+osx2+4,0-osy1+osy2+4
;LK ș"Wimp_ForceRedraw",olddes,osx1+osx2,0-osy1,osx1+osx2+4,0-osy1+osy2+4
;V �
;`F ș"Wimp_ForceRedraw",olddes,osx1,0-osy1,osx1+osx2+4,0-osy1+osy2+4
;j �
;t�
;~�
;�
;���dragitem
;�� select=-1 � �
;�mx=block!0:my=block!4
;�!block=seldes
;�Ȏ seldes �
;�� card% : design=0
;�� comp% : design=1
;�� letter% : design=2
;��
;�!ș"Wimp_GetWindowInfo",,block
;�-a=block!4:b=block!8:c=block!12:d=block!16
<workx%=block!4-block!20
<
worky%=block!16-block!24
<xcoord=mx-workx%
<ycoord=my-worky%
<(E� xcoord>sx1 � ycoord>0-sy1 � xcoord<sx1+sx2 � ycoord<0-sy1+sy2 �
<2block!0=0:block!4=5
<<^block!8=workx%+sx1:block!12=worky%-sy1:block!16=workx%+sx1+sx2+2:block!20=worky%-sy1+sy2+2
<FKblock!24=a-sx2+10:block!28=b-sy2+10:block!32=c+sx2-10:block!36=d+sy2-10
<Pitemdrag=�
<Zș"Wimp_DragBox",,block
<d�
<n�
<x
<���pullitem
<�� select<6 � �
<�mx=block!0:my=block!4
<�!block=seldes
<�Ȏ seldes �
<�� card% : design=0
<�� comp% : design=1
<�� letter% : design=2
<��
<�!ș"Wimp_GetWindowInfo",,block
<�-a=block!4:b=block!8:c=block!12:d=block!16
<�workx%=block!4-block!20
<�worky%=block!16-block!24
=xcoord=mx-workx%
=ycoord=my-worky%
=E� xcoord>sx1 � ycoord>0-sy1 � xcoord<sx1+sx2 � ycoord<0-sy1+sy2 �
="block!0=0:block!4=6
=,^block!8=workx%+sx1:block!12=worky%-sy1:block!16=workx%+sx1+sx2+2:block!20=worky%-sy1+sy2+2
=67block!24=a-sx2:block!28=b:block!32=c:block!36=d+sy2
=@itempull=�
=Jș"Wimp_DragBox",,block
=T�
=^�
=h
=r��dropitem
=|mx=block!0:my=block!4
=�!block=seldes
=�!ș"Wimp_GetWindowInfo",,block
=�workx%=block!4-block!20
=�worky%=block!16-block!24
=�xcoord=mx-workx%
=�ycoord=0-(my-worky%)
=�� select>=0 � select<=4 �
=�4ptr=detptr+(desblk*design)+deslen+(style*select)
=�Bworkblk!(ptr+270)=xcoord-(workblk!(ptr+278)-workblk!(ptr+270))
=�Bworkblk!(ptr+274)=ycoord-(workblk!(ptr+282)-workblk!(ptr+274))
=�workblk!(ptr+278)=xcoord
=�workblk!(ptr+282)=ycoord
=�5xcoord=workblk!(ptr+278):ycoord=workblk!(ptr+282)
>�
>� select=5 �
>4ptr=detptr+(desblk*design)+deslen+(style*select)
>&Bworkblk!(ptr+270)=xcoord+(workblk!(ptr+278)-workblk!(ptr+270))
>0Bworkblk!(ptr+274)=ycoord-(workblk!(ptr+282)-workblk!(ptr+274))
>:workblk!(ptr+278)=xcoord
>Dworkblk!(ptr+282)=ycoord
>N)� xcoord=!(ptr+270):ycoord=!(ptr+274)
>X�
>b� select=6 �
>lptr=detptr+(desblk*design)
>vworkblk!(ptr+44)=xcoord
>�workblk!(ptr+48)=ycoord
>��
>�Eș"Wimp_ForceRedraw",curdes,sx1-2,0-sy1-8-2,sx1+sx2+4,0-sy1+sy2+4
>�Mș"Wimp_ForceRedraw",curdes,xcoord,0-ycoord-8,xcoord+sx2+2,0-ycoord+sy2+2
>�sx1=xcoord:sy1=ycoord
>�itemdrag=�
>��
>�
>���resizeitem
>�4mx1=block!0:my1=block!4:mx2=block!8:my2=block!12
>�!block=curdes
>�!ș"Wimp_GetWindowInfo",,block
>�workx%=block!4-block!20
?worky%=block!16-block!24
?xcoord1=mx1-workx%
?ycoord1=0-(my1-worky%)
? xcoord2=mx2-workx%
?*ycoord2=0-(my2-worky%)
?4width=xcoord2-xcoord1
?>height=ycoord2-ycoord1
?H<� xcoord2>xcoord1 � xcoord=xcoord1:width=xcoord2-xcoord1
?R=� ycoord2<ycoord1 � ycoord=ycoord1:height=ycoord2-ycoord1
?\<� xcoord2<xcoord1 � xcoord=xcoord2:width=xcoord1-xcoord2
?f=� ycoord2>ycoord1 � ycoord=ycoord2:height=ycoord1-ycoord2
?pptr=detptr+(desblk*design)
?zworkblk!(ptr+44)=xcoord
?�workblk!(ptr+48)=ycoord
?�workblk!(ptr+52)=width
?�workblk!(ptr+56)=0-height
?�?ș"Wimp_ForceRedraw",curdes,sx1,0-sy1,sx1+sx2+2,0-sy1+sy2+2
?�0sx1=xcoord:sy1=ycoord:sx2=width:sy2=0-height
?�?ș"Wimp_ForceRedraw",curdes,sx1,0-sy1,sx1+sx2+2,0-sy1+sy2+2
?�itempull=�
?��
?�
?���selectcol(colno)
?�hex=winpal(colno-14)
?�RED=(hex>>8)�&FF
?�GREEN=(hex>>16)�&FF
@BLUE=(hex>>24)�&FF
@!block=colour%
@!ș"Wimp_GetWindowInfo",,block
@$workx%=block!4-block!20
@.worky%=block!16-block!24
@8)ș "ColourTrans_SetGCOL",hex,,,&100,0
@B&ȓ Ȑ workx%+234,worky%-247,175,48
@L ș "Wimp_SetColour",1,1
@V( ȓ Ȑ workx%+270,worky%-170,344,147
@`0 ș "ColourTrans_SetGCOL",&0000FF00,,,&100,0
@j0 ȓ Ȑ workx%+271,worky%-55,(RED/255)*344,32
@t0 ș "ColourTrans_SetGCOL",&00FF0000,,,&100,0
@~3 ȓ Ȑ workx%+271,worky%-111,(GREEN/255)*344,32
@�0 ș "ColourTrans_SetGCOL",&FF000000,,,&100,0
@�2 ȓ Ȑ workx%+271,worky%-167,(BLUE/255)*344,32
@�H ș "ColourTrans_SetGCOL",0,,,&100,0:ȓ workx%+233,worky%-248,176,49
@�# ȓ workx%+270,worky%-58,344,34
@�$ ȓ workx%+270,worky%-114,344,34
@�$ ȓ workx%+270,worky%-170,344,34
@� �info(colour%,3,�RED)
@� �info(colour%,7,�GREEN)
@� �info(colour%,11,�BLUE)
@��
@�
@�
��dragcol
A!block=colour%
A
!ș"Wimp_GetWindowInfo",,block
Aworkx%=block!4-block!20
Aworky%=block!16-block!24
A(stopdrag=�
A2�
A<ȗ r,s,t
AF� t<>1 � t<>4 stopdrag=�
APH� r>workx%+268 � r<workx%+268+348 � s>worky%-58 � s<worky%-(58-35) �
AZ& ȗ ȓ workx%+270,worky%-57,344,30
Ad' nred=�(((r-(workx%+270))/344)*255)
An � nred=-1 nred=0
Ax$ �updateic(colour%,3,�nred,4,32)
A�
 RED=nred
A�3 �redrawbar(RED,&0000FF00,workx%,worky%,272,55)
A��
A�J� r>workx%+268 � r<workx%+268+348 � s>worky%-114 � s<worky%-(114-35) �
A�' ȗ ȓ workx%+270,worky%-112,344,30
A�) ngreen=�(((r-(workx%+270))/344)*255)
A� � ngreen=-1 ngreen=0
A�& �updateic(colour%,7,�ngreen,4,32)
A� GREEN=ngreen
A�6 �redrawbar(GREEN,&00FF0000,workx%,worky%,272,111)
A��
A�J� r>workx%+268 � r<workx%+268+348 � s>worky%-170 � s<worky%-(170-35) �
A�' ȗ ȓ workx%+270,worky%-168,344,30
B( nblue=�(((r-(workx%+270))/344)*255)
B � nblue=-1 nblue=0
B& �updateic(colour%,11,�nblue,3,32)
B" BLUE=nblue
B,5 �redrawbar(BLUE,&FF000000,workx%,worky%,272,167)
B6�
B@� stopdrag
BJ	�Mode
BT ȗ ȓ 0,0,xmax-1,ymax-1
B^�
Bh
Br.��redrawbar(COL,RGB,workx%,worky%,xco,yco)
B|Rblock!0=colour%:block!4=xco:block!8=0-yco-2:block!12=xco+344:block!16=0-yco+34
B�'ș"Wimp_UpdateWindow",,block � more
B�ȕ more
B�ș "Wimp_SetColour",1,1
B�Bȓ Ȑ workx%+xco+(COL/255)*344,worky%-yco,342-(COL/255)*344,30
B�)ș "ColourTrans_SetGCOL",RGB,,,&100,0
B�4ȓ Ȑ workx%+(xco-2),worky%-yco,(COL/255)*344,30
B�'ș "ColourTrans_SetGCOL",0,,,&100,0
B�+ȓ workx%+(xco-2),worky%-(yco+3),344,34
B�'hex=(BLUE<<24)+(GREEN<<16)+(RED<<8)
B�'ș"Wimp_GetRectangle",,block � more
B��
B�Nblock!0=colour%:block!4=232:block!8=-247:block!12=232+176:block!16=-247+50
B�'ș"Wimp_UpdateWindow",,block � more
Cȕ more
C)ș "ColourTrans_SetGCOL",hex,,,&100,0
C&ȓ Ȑ workx%+234,worky%-247,175,48
C&Gș "ColourTrans_SetGCOL",0,,,&100,0:ȓ workx%+233,worky%-248,176,49
C0'ș"Wimp_GetRectangle",,block � more
C:�
CD�
CN
CX��addcol
Cb� backgrnd=0 �
ClInterHex=hex
Cv�close(colour%)
C�/ș"Wimp_ForceRedraw",back%,342,-110,642,-58
C��
C�� backgrnd=1 �
C�InterHex=hex
C��close(colour%)
C�0ș"Wimp_ForceRedraw",type%,406,-204,548,-152
C��
C��
C�
C�ݤclaim(amount%)
C�(ș"OS_Heap",1,heap% � ,,largest,free
C�� amount%<largest �
C�/ș"OS_Heap",2,heap%,,amount%+8 � ,,picpool%
D�
D� amount%>largest �
D%ș"Wimp_SlotSize",-1,-1 � current
D 7ș"Wimp_SlotSize",current+(amount%-largest)+1024,-1
D*$ș"Wimp_SlotSize",-1,-1 � newcur
D4increase=newcur-current
D>!ș"OS_Heap",5,heap%,,increase
DHhsizeb+=increase
DR/ș"OS_Heap",2,heap%,,amount%+8 � ,,picpool%
D\�
Df
=picpool%
Dp
Dz��deleteall
D�� sprites � �delete(1)
D�� drawing � �delete(2)
D�� select=6 � select=-1
D�
� i=0 � 2
D�ptr=detptr+(desblk*i)
D�workblk?(ptr+5)=0
D�$(workblk+(ptr+6))=""
D�2�redraw(card%):�redraw(comp%):�redraw(letter%)
D��
D�
D���delete(type)
D�� type=1 �
D�ș"OS_Heap",3,heap%,spr%
E
sprites=�
E� drawing �
E-ș"OS_Heap",6,heap%,drawptr% � ,,,blksize
E$ ș"OS_Heap",3,heap%,drawptr%
E.,ș"OS_Heap",2,heap%,,blksize-8 � ,,scrap
E8 � i=0 � blksize-8 � 4
EB scrap!i=drawptr%!i
EL �
EVdrawptr%=scrap
E`�
Ej�
Et� type=2 �
E~ ș"OS_Heap",3,heap%,drawptr%
E�
drawing=�
E�� sprites �
E�)ș"OS_Heap",6,heap%,spr% � ,,,blksize
E�ș"OS_Heap",3,heap%,spr%
E�,ș"OS_Heap",2,heap%,,blksize-8 � ,,scrap
E� � i=0 � blksize-8 � 4
E� scrap!i=spr%!i
E� �
E�spr%=scrap
E��
E��
E�)ș"OS_Heap",1,heap% � ,,largest,tfree
F ș"OS_ReadMemMapInfo" � page
F
%ș"Wimp_SlotSize",-1,-1 � current
F� largest>page �
Famount=�(largest/page)*page
F(newcur=current-amount
F2.� newcur<=origappsize � newcur=origappsize
F<decrease=current-newcur
FF3� decrease<>0 � ș"OS_Heap",5,heap%,,0-decrease
FPș"Wimp_SlotSize",newcur,-1
FZhsizeb-=decrease
Fd�
Fn�
Fx
F�ݤvga(mod)
F�'ș"OS_ReadModeVariable",mod,11 �,,c
F�'ș"OS_ReadModeVariable",mod,12 �,,b
F�
c+=1:b+=1
F�Ȏ b/c �
F�
� 0.8:g=�
F�
� .75:g=�
F�
: g=�
F��
F�=g
F�
F���areyousure
F�� � savef �
G�opencen(quit%)
G� 7
G1�info(quit%,1,"Your file has been modified.")
G"	�Mode
G,ȗ ȓ 0,0,xmax,ymax
G6�
G@� savef �end
GJ�
GT
G^��query(qu$)
Gh�opencen(query%)
Gr� 7
G|!block=query%
G�!ș"Wimp_GetWindowInfo",,block
G�workx%=block!12-block!4
G�worky%=block!16-block!8
G�'ȗ ȓ block!4,block!8,workx%,worky%
G��info(query%,1,qu$)
G��
G�
G�
��endq
G��close(query%)
G�	�Mode
G�ȗ ȓ 0,0,xmax,ymax
G��
G�
H��titles(ext$)
H�title(details%,ext$)
H�title(card%,ext$)
H&�title(comp%,ext$)
H0�title(letter%,ext$)
H:�
HD
HN��title(handle,new$)
HX!icond=handle
Hb!ș"Wimp_GetWindowInfo",,icond
Hltitle$=$(icond!76)
Hv� new$<>"" �
H�,� �title$,�(title$)-�(title$)+1)<>new$ �
H�new$=title$+" "+new$
H�Y$(!(icond+76))=new$:ș"Wimp_ForceRedraw",-1,icond!4,(icond!16),icond!12,(icond!16)+36
H��
H��
H�*� �title$,�(title$)-�(title$)+1)="*" �
H�new$=�title$,�(title$)-2)
H�Y$(!(icond+76))=new$:ș"Wimp_ForceRedraw",-1,icond!4,(icond!16),icond!12,(icond!16)+36
H��
H��
H��
H�
H���print
I!noofpages=�($�info(print%,4))
If� $�info(print%,0)="Not Present" � �query("Can not print, no printer driver present."):noprint=�:�
Ides$=""
I 3� �checkflag(print%,7,21) � des$+=" bus. card,"
I*4� �checkflag(print%,8,21) � des$+=" comp. slip,"
I45� �checkflag(print%,9,21) � des$+=" letter head,"
I>a� �checkflag(print%,6,21) � copies$="single.":fullsheet=0:� copies$="full sheet.":fullsheet=1
IH/ș "ColourTrans_SetGCOL",&DDDDDD00,,,&100,0
IRȓ Ȑ 288,466,738,194
I\'ș "ColourTrans_SetGCOL",0,,,&100,0
Ifȓ 286,464,740,196
Ipș"Wimp_CreateMenu",,-1
Iz(ș"PDriver_PageSize" �,,,l%,b%,r%,t%
I�� 5
I�
� 410,640
I�� "Printing in progress..."
I�
� 380,600
I�.� "Prining ";noofpages;" copies, ";copies$
I�
� 380,560
I�� "of ";des$
I�
� 400,520
I�� "Press Escape to cancel"
I�� 4
I�printing=�
I�
fh%=-1
I�� �
J� � �:� �:�printerr:�
Jș"Hourglass_On"
Jfh%=�("printer:")
J$#ș"PDriver_SelectJob",fh% � job
J.(ș"PDriver_PageSize" �,,,l%,b%,r%,t%
J8*� �checkflag(print%,7,21) �printdes(0)
JB*� �checkflag(print%,8,21) �printdes(1)
JL*� �checkflag(print%,9,21) �printdes(2)
JVș"PDriver_EndJob",fh%
J`	�#fh%
Jjș"PDriver_SelectJob",job
Jtș"Hourglass_Smash"
J~3ș"Wimp_ForceRedraw",-1,286,464,740+288,196+466
J��
J�
J���printdes(design)
J�� fullsheet=0 �
J�8  � design=0 up=623-6:box1=-10:boxx=584+2:boxy=388+2
J�>  � design=1 up=561-6:box1=-10:boxx=(565+6)*2.5:boxy=622+2
J�>  � design=2 up=670-6:box1=-10:boxx=(565+6)*2.5:boxy=340+2
J��
J�� fullsheet=1 �
J�D  � design=0 up=85-6:box1=-200:boxx=(518+6)*2.5:boxy=(777+6)*2.5
J�D  � design=1 up=62-6:box1=-460:boxx=(565+6)*2.5:boxy=(802+6)*2.5
J�>  � design=2 up=670-6:box1=-10:boxx=(565+6)*2.5:boxy=340+2
K�
K
Jmatrix!0=66000:matrix!4=0:matrix!8=0:matrix!12=66000:� 66000,0,0,66000
K origin!0=l%:origin!4=up*1000
K/box!0=-10:box!4=box1:box!8=boxx:box!12=boxy
K(;ș"PDriver_GiveRectangle",0,box,matrix,origin,&FFFFFF00
K22ș"PDriver_DrawPage",noofpages,box2,0,0 � more
K<ȕ more<>0
KF�draw(boxy,design)
KP*ș"PDriver_GetRectangle",0,box2 � more
KZ�
Kd�
Kn
Kx��draw(height,design)
K�%xmin=0:xmax=1400:ymin=-800:ymax=0
K�� fullsheet=1 �
K� � design=0 �
K� � cardco=1 � 16 � 2
K�D �drawdesign(cardpos(0,cardco)*2.5,cardpos(0,cardco+1)*2.5,0,-1)
K�
 � cardco
K� �
K� � design=1 �
K� � cardco=1 � 6 � 2
K�G �drawdesign(cardpos(1,cardco)*2.5-50,cardpos(1,cardco+1)*2.5,1,-1)
K�
 � cardco
K� �
K�4 � design=2 � �drawdesign(10,height-4,design,-1)
L�
L&�drawdesign(10,height-4,design,-1)
L�
L"�
L,
L6��printerr
L@� �=17 �
LJș"PDriver_AbortJob",fh%:
LT!� SYS"PDriver_SelectJob",job:
L^	�#fh%
Lh#�mess("Escape: Print Canceled")
Lr%ș"OS_ReadModeVariable",�,4 � ,,x
L|%ș"OS_ReadModeVariable",�,5 � ,,y
L�9ȗ ȓ 0,0,(((block!128)+1)*2^x)-1,((block!132)+1)*2^y
L�ș"Hourglass_Smash"
L�3ș"Wimp_ForceRedraw",-1,286,464,740+288,196+466
L��
L��
L�H� fh%<>-1 � ș"PDriver_AbortJob",fh%:ș"PDriver_SelectJob",job:�#fh%
L�ș"Hourglass_Smash"
L�%ș"OS_ReadModeVariable",�,4 � ,,x
L�%ș"OS_ReadModeVariable",�,5 � ,,y
L�9ȗ ȓ 0,0,(((block!128)+1)*2^x)-1,((block!132)+1)*2^y
L�3ș"Wimp_ForceRedraw",-1,286,464,740+288,196+466
L�3�error(�$+": at line "+Þ+" whilst printing"):�
L��
M
M��morecopies
M � �($�info(print%,4))=99 � �
M&*�info(print%,4,�(�$�info(print%,4)+1))
M0�
M:
MD��lesscopies
MN� �($�info(print%,4))=1 � �
MX*�info(print%,4,�(�$�info(print%,4)-1))
Mb�
Ml
Mv��upanddown(icn)
M�0!block=colour%:ș"Wimp_GetWindowInfo",,block
M�workx%=block!4-block!20
M�worky%=block!16-block!24
M�valuer=�$�info(colour%,3)
M�valueg=�$�info(colour%,7)
M�valueb=�$�info(colour%,11)
M�Ȏ icn �
M�� 1:
M��� valuer>0 �updateic(colour%,3,�(valuer-1),4,32):hex=(valueb<<24)+(valueg<<16)+(valuer<<8):ș"Wimp_ForceRedraw",-1,workx%+270,worky%-58,workx%+614,worky%-24:ș"Wimp_ForceRedraw",-1,workx%+234,worky%-247,workx%+410,worky%-199:� �
M�� 2:
M��� valuer<255 �updateic(colour%,3,�(valuer+1),4,32):hex=(valueb<<24)+(valueg<<16)+(valuer<<8):ș"Wimp_ForceRedraw",-1,workx%+270,worky%-58,workx%+614,worky%-24:ș"Wimp_ForceRedraw",-1,workx%+234,worky%-247,workx%+410,worky%-199:� �
M�� 5:
M��� valueg>0 �updateic(colour%,7,�(valueg-1),4,32):hex=(valueb<<24)+(valueg<<16)+(valuer<<8):ș"Wimp_ForceRedraw",-1,workx%+270,worky%-114,workx%+614,worky%-80:ș"Wimp_ForceRedraw",-1,workx%+234,worky%-247,workx%+410,worky%-199:� �
N� 6:
N�� valueg<255 �updateic(colour%,7,�(valueg+1),4,32):hex=(valueb<<24)+(valueg<<16)+(valuer<<8):ș"Wimp_ForceRedraw",-1,workx%+270,worky%-114,workx%+614,worky%-80:ș"Wimp_ForceRedraw",-1,workx%+234,worky%-247,workx%+410,worky%-199:� �
N� 9:
N �� valueb>0 �updateic(colour%,11,�(valueb-1),4,32):hex=(valueb<<24)+(valueg<<16)+(valuer<<8):ș"Wimp_ForceRedraw",-1,workx%+270,worky%-170,workx%+614,worky%-136:ș"Wimp_ForceRedraw",-1,workx%+234,worky%-247,workx%+410,worky%-199:� �
N*	� 10:
N4�� valueb<255 �updateic(colour%,11,�(valueb+1),4,32):hex=(valueb<<24)+(valueg<<16)+(valuer<<8):ș"Wimp_ForceRedraw",-1,workx%+270,worky%-170,workx%+614,worky%-136:ș"Wimp_ForceRedraw",-1,workx%+234,worky%-247,workx%+410,worky%-199:� �
N>�
NH�
NR
N\��setper(a)
Nfbackgrnd=a
Np� backgrnd=0 �
Nzcoldes=coldes
N�ptr=detptr+(desblk*design)
N�RED=workblk?(ptr+1)
N�GREEN=workblk?(ptr+2)
N�BLUE=workblk?(ptr+3)
N�'hex=(BLUE<<24)+(GREEN<<16)+(RED<<8)
N�InterHex=hex
N��info(colour%,3,�RED)
N��info(colour%,7,�GREEN)
N��info(colour%,11,�BLUE)
N��
N�� backgrnd=1 �
N�coldes=changedes
N�hex=InterHex
O;RED=(hex>>8)�&FF:GREEN=(hex>>16)�&FF:BLUE=(hex>>24)�&FF
O�info(colour%,3,�RED)
O�info(colour%,7,�GREEN)
O$�info(colour%,11,�BLUE)
O.�
O8�openwin(colour%)
OB0!block=colour%:ș"Wimp_GetWindowInfo",,block
OLworkx%=block!4-block!20
OVworky%=block!16-block!24
O`Fș"Wimp_ForceRedraw",-1,workx%+270,worky%-170,workx%+614,worky%-24
OjGș"Wimp_ForceRedraw",-1,workx%+234,worky%-247,workx%+410,worky%-199
Ot�
O~
O�+��increment(amount,min,max,handle,icon)
O�!curval=�($�info(handle,icon))
O�newval=curval+amount
O�!� newval>=min � newval<=max �
O�(�updateic(handle,icon,�newval,14,32)
O��
O��
O�
O�%��updateic(handle,icon,data$,x,y)
O�$�info(handle,icon)=data$
O�!block=handle:block!4=icon
O� ș"Wimp_GetIconState",,block
P2x1=block!8:y1=block!12:x2=block!16:y2=block!20
P
3rx1=x1+x:ry1=(y1+y2)/2-(y/2):rx2=x2-x:ry2=ry1+y
PC!block=handle:block!4=rx1:block!8=ry1:block!12=rx2:block!16=ry2
P'ș"Wimp_UpdateWindow",,block � more
P(ȕ more
P2'ș"Wimp_GetRectangle",,block � more
P<�
PF�
�
00000000  0d 00 0a 24 ee 20 85 20  f2 6d 65 73 73 28 f6 24  |...$. . .mess(.$|
00000010  2b 22 20 3a 20 61 74 20  6c 69 6e 65 20 22 2b c3  |+" : at line "+.|
00000020  9e 29 3a e0 0d 00 14 20  f4 20 2a 2a 2a 3e 24 2e  |.):.... . ***>$.|
00000030  21 53 74 61 74 69 6f 6e  65 72 2e 21 52 75 6e 49  |!Stationer.!RunI|
00000040  6d 61 67 65 0d 00 1e 4c  f4 20 2a 2a 2a 4d 61 69  |mage...L. ***Mai|
00000050  6e 20 50 72 6f 67 72 61  6d 20 66 6f 72 20 21 53  |n Program for !S|
00000060  74 61 74 69 6f 6e 65 72  20 2d 20 42 75 73 69 6e  |tationer - Busin|
00000070  65 73 73 20 63 6f 6d 6d  75 6e 69 63 61 74 69 6f  |ess communicatio|
00000080  6e 73 20 6d 65 64 69 61  20 63 72 65 61 74 6f 72  |ns media creator|
00000090  0d 00 28 1f f4 20 56 65  72 73 69 6f 6e 20 31 2e  |..(.. Version 1.|
000000a0  31 31 55 20 28 32 31 20  4a 61 6e 20 39 36 29 0d  |11U (21 Jan 96).|
000000b0  00 32 12 f4 20 a9 20 4a  2e 20 52 6f 62 62 69 6e  |.2.. . J. Robbin|
000000c0  73 0d 00 3c 05 f4 0d 00  46 5a de 20 62 6c 6f 63  |s..<....FZ. bloc|
000000d0  6b 20 31 30 2a 31 30 32  34 2c 20 6d 62 6c 6f 63  |k 10*1024, mbloc|
000000e0  6b 20 31 30 32 34 2c 20  6d 65 6e 75 25 20 36 2a  |k 1024, menu% 6*|
000000f0  31 30 32 34 2c 20 63 75  72 62 75 66 25 20 20 39  |1024, curbuf%  9|
00000100  2a 31 30 32 34 2c 20 69  63 6f 6e 64 20 35 2a 31  |*1024, icond 5*1|
00000110  30 32 34 2c 20 74 65 78  74 25 20 26 31 30 30 30  |024, text% &1000|
00000120  0d 00 50 50 de 20 64 65  66 70 61 6c 25 20 32 35  |..PP. defpal% 25|
00000130  35 2c 20 66 6f 6e 74 62  6c 6b 25 20 32 35 36 2c  |5, fontblk% 256,|
00000140  20 73 63 61 6c 65 25 20  32 30 2c 50 69 78 54 72  | scale% 20,PixTr|
00000150  61 6e 73 25 20 32 35 36  2c 74 65 6d 70 25 20 31  |ans% 256,temp% 1|
00000160  30 30 2c 70 61 6c 65 74  74 65 25 20 31 30 32 34  |00,palette% 1024|
00000170  0d 00 5a 2c de 20 77 69  6e 70 61 6c 28 31 35 29  |..Z,. winpal(15)|
00000180  2c 63 61 72 64 70 6f 73  28 32 2c 31 36 29 2c 64  |,cardpos(2,16),d|
00000190  72 61 77 66 6f 6e 74 24  28 31 38 29 0d 00 64 2f  |rawfont$(18)..d/|
000001a0  de 20 6d 61 74 72 69 78  20 31 30 30 2c 20 6f 72  |. matrix 100, or|
000001b0  69 67 69 6e 20 31 30 30  2c 20 62 6f 78 20 31 30  |igin 100, box 10|
000001c0  30 2c 20 62 6f 78 32 20  31 30 30 0d 00 6e 14 de  |0, box2 100..n..|
000001d0  20 77 6f 72 6b 62 6c 6b  20 38 2a 31 30 32 34 0d  | workblk 8*1024.|
000001e0  00 78 0e 6d 61 78 6c 65  76 25 3d 33 32 0d 00 82  |.x.maxlev%=32...|
000001f0  23 de 20 73 74 61 72 74  25 28 6d 61 78 6c 65 76  |#. start%(maxlev|
00000200  25 29 2c 62 6f 78 25 28  6d 61 78 6c 65 76 25 29  |%),box%(maxlev%)|
00000210  0d 00 8c 35 de 20 6c 25  28 6d 61 78 6c 65 76 25  |...5. l%(maxlev%|
00000220  29 2c 62 25 28 6d 61 78  6c 65 76 25 29 2c 72 25  |),b%(maxlev%),r%|
00000230  28 6d 61 78 6c 65 76 25  29 2c 74 25 28 6d 61 78  |(maxlev%),t%(max|
00000240  6c 65 76 25 29 0d 00 96  2f 64 65 74 70 74 72 3d  |lev%).../detptr=|
00000250  32 33 30 34 3a 64 65 73  6c 65 6e 3d 36 30 3a 64  |2304:deslen=60:d|
00000260  65 73 62 6c 6b 3d 31 38  34 38 3a 73 74 79 6c 65  |esblk=1848:style|
00000270  3d 32 39 38 0d 00 a0 26  e3 20 63 3d 31 20 b8 20  |=298...&. c=1 . |
00000280  31 36 20 3a 20 f3 20 61  20 3a 63 61 72 64 70 6f  |16 : . a :cardpo|
00000290  73 28 30 2c 63 29 3d 61  3a ed 0d 00 aa 25 e3 20  |s(0,c)=a:....%. |
000002a0  63 3d 31 20 b8 20 36 20  3a 20 f3 20 61 20 3a 63  |c=1 . 6 : . a :c|
000002b0  61 72 64 70 6f 73 28 31  2c 63 29 3d 61 3a ed 0d  |ardpos(1,c)=a:..|
000002c0  00 b4 24 63 61 72 64 70  6f 73 28 32 2c 31 29 3d  |..$cardpos(2,1)=|
000002d0  32 35 3a 63 61 72 64 70  6f 73 28 32 2c 32 29 3d  |25:cardpos(2,2)=|
000002e0  36 37 30 0d 00 be 0e e3  20 49 3d 30 20 b8 20 31  |670..... I=0 . 1|
000002f0  35 0d 00 c8 0b 20 f3 20  68 65 78 61 0d 00 d2 13  |5.... . hexa....|
00000300  20 77 69 6e 70 61 6c 28  49 29 3d 68 65 78 61 0d  | winpal(I)=hexa.|
00000310  00 dc 17 20 64 65 66 70  61 6c 25 21 28 49 2a 34  |... defpal%!(I*4|
00000320  29 3d 68 65 78 61 0d 00  e6 05 ed 0d 00 f0 3f dc  |)=hexa........?.|
00000330  20 32 35 2c 36 32 35 2c  32 39 30 2c 36 32 35 2c  | 25,625,290,625,|
00000340  32 35 2c 34 34 35 2c 32  39 30 2c 34 34 35 2c 32  |25,445,290,445,2|
00000350  35 2c 32 36 35 2c 32 39  30 2c 32 36 35 2c 32 35  |5,265,290,265,25|
00000360  2c 38 35 2c 32 39 30 2c  38 35 0d 00 fa 19 dc 20  |,85,290,85..... |
00000370  32 35 2c 35 36 31 2c 32  35 2c 33 31 32 2c 32 35  |25,561,25,312,25|
00000380  2c 36 32 0d 01 04 50 dc  20 26 46 46 46 46 46 46  |,62...P. &FFFFFF|
00000390  31 30 2c 26 44 44 44 44  44 44 31 30 2c 26 42 42  |10,&DDDDDD10,&BB|
000003a0  42 42 42 42 31 30 2c 26  39 39 39 39 39 39 31 30  |BBBB10,&99999910|
000003b0  2c 26 37 37 37 37 37 37  31 30 2c 26 35 35 35 35  |,&77777710,&5555|
000003c0  35 35 31 30 2c 26 33 33  33 33 33 33 31 30 2c 26  |5510,&33333310,&|
000003d0  30 31 30 0d 01 0e 49 dc  20 26 39 39 34 34 30 30  |010...I. &994400|
000003e0  31 30 2c 26 45 45 45 45  31 30 2c 26 43 43 30 30  |10,&EEEE10,&CC00|
000003f0  31 30 2c 26 44 44 31 30  2c 26 42 42 45 45 45 45  |10,&DD10,&BBEEEE|
00000400  31 30 2c 26 38 38 35 35  31 30 2c 26 42 42 46 46  |10,&885510,&BBFF|
00000410  31 30 2c 26 46 46 42 42  30 30 31 30 0d 01 18 45  |10,&FFBB0010...E|
00000420  65 6e 64 25 3d 2d 31 3a  74 65 78 74 63 3d a3 3a  |end%=-1:textc=.:|
00000430  63 61 72 64 62 3d a3 3a  68 65 78 3d 30 3a 52 45  |cardb=.:hex=0:RE|
00000440  44 3d 28 68 65 78 3e 3e  38 29 80 26 46 46 3a 42  |D=(hex>>8).&FF:B|
00000450  4c 55 45 3d 52 45 44 3a  47 52 45 45 4e 3d 52 45  |LUE=RED:GREEN=RE|
00000460  44 0d 01 22 19 65 6e 64  62 75 66 25 3d 63 75 72  |D..".endbuf%=cur|
00000470  62 75 66 25 2b 26 36 30  30 30 0d 01 2c 1d 6a 3d  |buf%+&6000..,.j=|
00000480  30 3a 46 4d 6f 70 65 6e  3d 30 3a 69 6e 3d a3 3a  |0:FMopen=0:in=.:|
00000490  63 6c 6f 73 65 3d 30 0d  01 36 27 73 61 76 65 66  |close=0..6'savef|
000004a0  3d b9 3a 6e 6f 70 72 69  6e 74 3d a3 3a 70 72 69  |=.:noprint=.:pri|
000004b0  6e 74 69 6e 67 3d a3 3a  66 75 6c 6c 3d a3 0d 01  |nting=.:full=...|
000004c0  40 31 70 72 65 71 75 69  74 77 61 69 74 3d a3 3a  |@1prequitwait=.:|
000004d0  71 75 69 74 69 6e 67 3d  a3 3a 71 75 69 74 73 61  |quiting=.:quitsa|
000004e0  76 65 3d a3 3a 73 68 75  74 64 6f 77 6e 3d a3 0d  |ve=.:shutdown=..|
000004f0  01 4a 1a 66 6d 63 72 65  61 74 65 64 25 3d a3 3a  |.J.fmcreated%=.:|
00000500  66 63 6f 75 6e 74 25 3d  30 0d 01 54 1b 65 6e 64  |fcount%=0..T.end|
00000510  25 3d a3 3a 64 72 61 67  25 3d 30 3a 64 72 69 76  |%=.:drag%=0:driv|
00000520  65 25 3d 30 0d 01 5e 2a  63 75 72 73 70 72 24 3d  |e%=0..^*curspr$=|
00000530  22 22 3a 64 72 61 77 69  6e 67 3d a3 3a 73 70 72  |"":drawing=.:spr|
00000540  69 74 65 73 3d a3 3a 64  72 61 77 6b 3d 30 0d 01  |ites=.:drawk=0..|
00000550  68 20 66 6f 6e 74 25 3d  2d 31 3a 6e 6f 6f 66 63  |h font%=-1:noofc|
00000560  61 72 64 73 3d 38 3a 64  66 6f 6e 74 3d a3 0d 01  |ards=8:dfont=...|
00000570  72 19 69 74 65 6d 64 72  61 67 3d a3 3a 69 74 65  |r.itemdrag=.:ite|
00000580  6d 70 75 6c 6c 3d a3 0d  01 7c 47 73 78 31 3d 2d  |mpull=...|Gsx1=-|
00000590  31 3a 73 79 31 3d 2d 31  3a 73 78 32 3d 2d 31 3a  |1:sy1=-1:sx2=-1:|
000005a0  73 79 32 3d 2d 31 3a 73  65 6c 65 63 74 3d 2d 31  |sy2=-1:select=-1|
000005b0  3a 63 75 72 64 65 73 3d  2d 31 3a 73 65 6c 64 65  |:curdes=-1:selde|
000005c0  73 3d 2d 31 3a 6f 6c 64  64 65 73 3d 2d 31 0d 01  |s=-1:olddes=-1..|
000005d0  86 30 6f 73 78 31 3d 2d  32 3a 6f 73 79 31 3d 2d  |.0osx1=-2:osy1=-|
000005e0  32 3a 6f 73 78 32 3d 2d  32 3a 6f 73 78 79 3d 2d  |2:osx2=-2:osxy=-|
000005f0  32 3a 6f 6c 64 73 65 6c  65 63 74 3d 2d 32 0d 01  |2:oldselect=-2..|
00000600  90 0f 62 61 63 6b 67 72  6e 64 3d 2d 31 0d 01 9a  |..backgrnd=-1...|
00000610  12 74 61 73 6b 3d 26 34  42 35 33 34 31 35 34 0d  |.task=&4B534154.|
00000620  01 a4 41 c8 99 20 22 57  69 6d 70 5f 49 6e 69 74  |..A.. "Wimp_Init|
00000630  69 61 6c 69 73 65 22 2c  32 30 30 2c 74 61 73 6b  |ialise",200,task|
00000640  2c 22 21 53 74 61 74 69  6f 6e 65 72 22 20 b8 20  |,"!Stationer" . |
00000650  76 65 72 73 69 6f 6e 25  2c 6d 79 74 61 73 6b 25  |version%,mytask%|
00000660  0d 01 ae 0d f2 74 65 6d  70 6c 61 74 65 0d 01 b8  |.....template...|
00000670  19 c8 99 20 22 4f 53 5f  47 65 74 45 6e 76 22 20  |... "OS_GetEnv" |
00000680  b8 20 65 6e 76 24 0d 01  c2 16 e7 20 a7 65 6e 76  |. env$..... .env|
00000690  24 2c 22 2d 71 75 69 74  22 29 20 8c 0d 01 cc 12  |$,"-quit") .....|
000006a0  49 25 3d a7 65 6e 76 24  2c 22 22 22 22 29 0d 01  |I%=.env$,"""")..|
000006b0  d6 17 49 25 3d a7 65 6e  76 24 2c 22 22 22 22 2c  |..I%=.env$,"""",|
000006c0  49 25 2b 31 29 0d 01 e0  05 f5 0d 01 ea 09 49 25  |I%+1).........I%|
000006d0  2b 3d 31 0d 01 f4 16 fd  20 c1 65 6e 76 24 2c 49  |+=1..... .env$,I|
000006e0  25 2c 31 29 3c 3e 22 20  22 0d 01 fe 12 65 6e 76  |%,1)<>" "....env|
000006f0  24 3d c1 65 6e 76 24 2c  49 25 29 0d 02 08 13 70  |$=.env$,I%)....p|
00000700  72 69 6e 74 24 3d c2 65  6e 76 24 2c 37 29 0d 02  |rint$=.env$,7)..|
00000710  12 05 cd 0d 02 1c 0a 6e  6f 69 63 3d 30 0d 02 26  |.......noic=0..&|
00000720  22 c8 99 22 57 69 6d 70  5f 53 6c 6f 74 53 69 7a  |".."Wimp_SlotSiz|
00000730  65 22 2c 2d 31 2c 2d 31  20 b8 20 6f 72 69 67 0d  |e",-1,-1 . orig.|
00000740  02 30 20 6d 61 78 3d 93  2d e0 3a 6d 61 78 3d a8  |.0 max=.-.:max=.|
00000750  28 6d 61 78 2f 31 30 32  34 29 2a 31 30 32 34 0d  |(max/1024)*1024.|
00000760  02 3a 0e 6d 61 78 2d 3d  26 34 30 30 30 0d 02 44  |.:.max-=&4000..D|
00000770  25 c8 99 22 57 69 6d 70  5f 53 6c 6f 74 53 69 7a  |%.."Wimp_SlotSiz|
00000780  65 22 2c 2d 31 2c 2d 31  20 b8 20 63 75 72 72 65  |e",-1,-1 . curre|
00000790  6e 74 0d 02 4e 1e d3 3d  93 2d 6d 61 78 3a 68 73  |nt..N..=.-max:hs|
000007a0  69 7a 65 62 3d 6d 61 78  3a 68 65 61 70 25 3d 93  |izeb=max:heap%=.|
000007b0  0d 02 58 15 e7 20 68 73  69 7a 65 62 3c 31 30 32  |..X.. hsizeb<102|
000007c0  34 20 8c 20 e0 0d 02 62  1f c8 99 22 4f 53 5f 48  |4 . ...b..."OS_H|
000007d0  65 61 70 22 2c 30 2c 68  65 61 70 25 2c 2c 68 73  |eap",0,heap%,,hs|
000007e0  69 7a 65 62 0d 02 6c 27  6f 72 69 67 68 65 61 70  |izeb..l'origheap|
000007f0  3d 68 73 69 7a 65 62 3a  6f 72 69 67 61 70 70 73  |=hsizeb:origapps|
00000800  69 7a 65 3d 63 75 72 72  65 6e 74 0d 02 76 1f c8  |ize=current..v..|
00000810  99 22 4f 53 5f 42 79 74  65 22 2c 31 36 31 2c 32  |."OS_Byte",161,2|
00000820  38 20 b8 20 2c 2c 63 6d  6f 73 0d 02 80 2b e7 20  |8 . ,,cmos...+. |
00000830  28 63 6d 6f 73 20 80 20  28 31 3c 3c 31 29 29 3e  |(cmos . (1<<1))>|
00000840  30 20 8c 20 64 61 73 70  72 3d b9 20 8b 20 64 61  |0 . daspr=. . da|
00000850  73 70 72 3d a3 0d 02 8a  33 e7 20 70 72 69 6e 74  |spr=....3. print|
00000860  24 3d 22 20 2d 70 72 69  6e 74 22 20 8c 20 65 6e  |$=" -print" . en|
00000870  76 24 3d c0 65 6e 76 24  2c a9 65 6e 76 24 2d 37  |v$=.env$,.env$-7|
00000880  29 3a 6e 6f 69 63 3d 31  0d 02 94 3e e7 20 70 72  |):noic=1...>. pr|
00000890  69 6e 74 24 3d 22 20 2d  70 72 69 6e 74 22 20 8c  |int$=" -print" .|
000008a0  20 f2 70 72 65 73 65 6e  74 3a f2 6c 6f 61 64 28  | .present:.load(|
000008b0  65 6e 76 24 29 3a f2 6f  70 65 6e 77 69 6e 28 70  |env$):.openwin(p|
000008c0  72 69 6e 74 25 29 0d 02  9e 2e e7 20 70 72 69 6e  |rint%)..... prin|
000008d0  74 24 3c 3e 22 20 2d 70  72 69 6e 74 22 20 80 20  |t$<>" -print" . |
000008e0  65 6e 76 24 3c 3e 22 22  20 f2 6c 6f 61 64 28 65  |env$<>"" .load(e|
000008f0  6e 76 24 29 0d 02 a8 59  e7 20 70 72 69 6e 74 24  |nv$)...Y. print$|
00000900  3c 3e 22 20 2d 70 72 69  6e 74 22 20 80 20 65 6e  |<>" -print" . en|
00000910  76 24 3d 22 22 20 f2 6c  6f 61 64 28 22 3c 53 74  |v$="" .load("<St|
00000920  61 74 24 44 69 72 3e 2e  44 65 66 61 75 6c 74 44  |at$Dir>.DefaultD|
00000930  74 22 29 3a f2 69 6e 66  6f 28 73 61 76 65 25 2c  |t"):.info(save%,|
00000940  32 2c 22 53 74 61 74 44  61 74 61 22 29 0d 02 b2  |2,"StatData")...|
00000950  1b e7 20 6e 6f 69 63 3d  30 20 8c 20 69 6e 69 74  |.. noic=0 . init|
00000960  69 63 3d a4 69 63 6f 6e  0d 02 bc 14 c8 99 22 48  |ic=.icon......"H|
00000970  6f 75 72 67 6c 61 73 73  5f 4f 6e 22 0d 02 c6 0c  |ourglass_On"....|
00000980  f2 66 6d 65 6e 75 63 72  0d 02 d0 15 c8 99 22 48  |.fmenucr......"H|
00000990  6f 75 72 67 6c 61 73 73  5f 4f 66 66 22 0d 02 da  |ourglass_Off"...|
000009a0  0d f2 74 69 74 6c 65 77  69 6e 0d 02 e4 23 ee 20  |..titlewin...#. |
000009b0  85 20 f2 65 72 72 6f 72  28 f6 24 2b 22 20 3a 20  |. .error(.$+" : |
000009c0  61 74 20 6c 69 6e 65 20  22 2b c3 9e 29 0d 02 ee  |at line "+..)...|
000009d0  05 f5 0d 02 f8 25 c8 99  22 57 69 6d 70 5f 50 6f  |.....%.."Wimp_Po|
000009e0  6c 6c 22 2c 30 2c 62 6c  6f 63 6b 20 b8 20 65 76  |ll",0,block . ev|
000009f0  65 6e 74 63 6f 64 65 0d  03 02 1b c8 99 22 4f 53  |entcode......"OS|
00000a00  5f 4d 6f 75 73 65 22 20  b8 20 2c 2c 62 75 74 74  |_Mouse" . ,,butt|
00000a10  6f 6e 0d 03 0c 0e fd 20  62 75 74 74 6f 6e 3e 30  |on..... button>0|
00000a20  0d 03 16 12 f2 63 6c 6f  73 65 28 74 69 74 6c 65  |.....close(title|
00000a30  25 29 0d 03 20 cd f2 6d  65 73 73 28 22 54 68 69  |%).. ..mess("Thi|
00000a40  73 20 70 72 6f 67 72 61  6d 20 69 73 20 53 48 41  |s program is SHA|
00000a50  52 45 57 41 52 45 20 61  6e 64 20 69 73 20 63 75  |REWARE and is cu|
00000a60  72 72 65 6e 74 6c 79 20  55 4e 52 45 47 49 53 54  |rrently UNREGIST|
00000a70  45 52 45 44 2e 20 59 6f  75 20 61 72 65 20 61 75  |ERED. You are au|
00000a80  74 68 6f 72 69 73 65 64  20 74 6f 20 75 73 65 20  |thorised to use |
00000a90  69 74 20 66 6f 72 20 32  20 77 65 65 6b 73 2c 20  |it for 2 weeks, |
00000aa0  61 66 74 65 72 20 77 68  69 63 68 20 79 6f 75 20  |after which you |
00000ab0  6d 75 73 74 20 72 65 67  69 73 74 65 72 20 6f 72  |must register or|
00000ac0  20 64 65 6c 65 74 65 20  69 74 2e 20 50 6c 65 61  | delete it. Plea|
00000ad0  73 65 20 72 65 66 65 72  20 74 6f 20 48 65 6c 70  |se refer to Help|
00000ae0  20 66 69 6c 65 20 66 6f  72 20 66 75 72 74 68 65  | file for furthe|
00000af0  72 20 69 6e 66 6f 72 6d  61 74 69 6f 6e 22 29 0d  |r information").|
00000b00  03 2a 05 f5 0d 03 34 25  c8 99 22 57 69 6d 70 5f  |.*....4%.."Wimp_|
00000b10  50 6f 6c 6c 22 2c 30 2c  62 6c 6f 63 6b 20 b8 20  |Poll",0,block . |
00000b20  65 76 65 6e 74 63 6f 64  65 0d 03 3e 12 c8 8e 20  |eventcode..>... |
00000b30  65 76 65 6e 74 63 6f 64  65 20 ca 0d 03 48 36 c9  |eventcode ...H6.|
00000b40  20 30 3a e7 20 73 61 76  65 66 20 80 20 70 72 65  | 0:. savef . pre|
00000b50  71 75 69 74 77 61 69 74  20 c8 99 22 57 69 6d 70  |quitwait .."Wimp|
00000b60  5f 50 72 6f 63 65 73 73  4b 65 79 22 2c 26 31 46  |_ProcessKey",&1F|
00000b70  43 0d 03 52 18 c9 20 31  3a f2 72 65 64 72 61 77  |C..R.. 1:.redraw|
00000b80  28 62 6c 6f 63 6b 21 30  29 0d 03 5c 23 c9 20 32  |(block!0)..\#. 2|
00000b90  3a c8 99 20 22 57 69 6d  70 5f 4f 70 65 6e 57 69  |:.. "Wimp_OpenWi|
00000ba0  6e 64 6f 77 22 2c 2c 62  6c 6f 63 6b 0d 03 66 24  |ndow",,block..f$|
00000bb0  c9 20 33 3a c8 99 20 22  57 69 6d 70 5f 43 6c 6f  |. 3:.. "Wimp_Clo|
00000bc0  73 65 57 69 6e 64 6f 77  22 2c 2c 62 6c 6f 63 6b  |seWindow",,block|
00000bd0  0d 03 70 15 c9 20 36 3a  f2 63 6c 69 63 6b 28 62  |..p.. 6:.click(b|
00000be0  6c 6f 63 6b 29 0d 03 7a  0f c9 20 37 3a f2 64 72  |lock)..z.. 7:.dr|
00000bf0  61 67 69 6e 0d 03 84 10  c9 20 38 3a f2 70 72 6f  |agin..... 8:.pro|
00000c00  63 65 73 73 0d 03 8e 0f  c9 20 39 3a f2 73 65 6c  |cess..... 9:.sel|
00000c10  65 63 74 0d 03 98 16 c9  20 31 37 2c 31 38 3a f2  |ect..... 17,18:.|
00000c20  6d 65 73 73 61 67 65 69  6e 0d 03 a2 05 cb 0d 03  |messagein.......|
00000c30  ac 07 fd 20 a3 0d 03 b6  08 f2 65 6e 64 0d 03 c0  |... ......end...|
00000c40  05 e0 0d 03 ca 04 0d 03  d4 09 dd f2 65 6e 64 0d  |............end.|
00000c50  03 de 23 c8 99 22 57 69  6d 70 5f 43 6c 6f 73 65  |..#.."Wimp_Close|
00000c60  44 6f 77 6e 22 2c 6d 79  74 61 73 6b 25 2c 74 61  |Down",mytask%,ta|
00000c70  73 6b 0d 03 e8 05 e0 0d  03 f2 05 e1 0d 03 fc 04  |sk..............|
00000c80  0d 04 06 0e dd f2 74 69  74 6c 65 77 69 6e 0d 04  |......titlewin..|
00000c90  10 77 f2 69 6e 66 6f 28  74 69 74 6c 65 25 2c 31  |.w.info(title%,1|
00000ca0  2c 22 42 75 73 69 6e 65  73 73 20 73 74 61 74 69  |,"Business stati|
00000cb0  6f 6e 61 72 79 20 64 65  73 69 67 6e 65 72 2e 20  |onary designer. |
00000cc0  43 6f 6d 70 72 69 73 69  6e 67 20 43 6f 6d 70 6c  |Comprising Compl|
00000cd0  69 6d 65 6e 74 20 73 6c  69 70 2c 20 4c 65 74 74  |iment slip, Lett|
00000ce0  65 72 20 68 65 61 64 20  61 6e 64 20 42 75 73 69  |er head and Busi|
00000cf0  6e 65 73 73 20 63 61 72  64 20 63 72 65 61 74 6f  |ness card creato|
00000d00  72 73 2e 22 29 0d 04 1a  32 24 a4 69 6e 66 6f 28  |rs.")...2$.info(|
00000d10  74 69 74 6c 65 25 2c 33  29 3d 22 56 65 72 73 69  |title%,3)="Versi|
00000d20  6f 6e 20 31 2e 31 31 55  20 28 32 31 20 4a 61 6e  |on 1.11U (21 Jan|
00000d30  20 31 39 39 36 29 22 0d  04 24 14 f2 6f 70 65 6e  | 1996)"..$..open|
00000d40  63 65 6e 28 74 69 74 6c  65 25 29 0d 04 2e 0f 74  |cen(title%)....t|
00000d50  69 74 6c 65 6f 70 65 6e  3d b9 0d 04 38 05 e1 0d  |itleopen=...8...|
00000d60  04 42 04 0d 04 4c 0a dd  a4 69 63 6f 6e 0d 04 56  |.B...L...icon..V|
00000d70  0d 21 69 63 6f 6e 64 3d  2d 31 0d 04 60 0d 69 63  |.!icond=-1..`.ic|
00000d80  6f 6e 64 21 34 3d 30 0d  04 6a 25 69 63 6f 6e 64  |ond!4=0..j%icond|
00000d90  21 38 3d 30 3a 69 63 6f  6e 64 21 31 32 3d 36 38  |!8=0:icond!12=68|
00000da0  3a 69 63 6f 6e 64 21 31  36 3d 36 38 0d 04 74 2b  |:icond!16=68..t+|
00000db0  69 63 6f 6e 64 21 32 30  3d 25 31 31 30 31 30 2b  |icond!20=%11010+|
00000dc0  28 28 32 5e 31 32 29 2a  33 29 3a 69 63 6f 6e 64  |((2^12)*3):icond|
00000dd0  3f 32 33 3d 31 31 32 0d  04 7e 20 24 28 69 63 6f  |?23=112..~ $(ico|
00000de0  6e 64 2b 32 34 29 3d 22  21 53 74 61 74 69 6f 6e  |nd+24)="!Station|
00000df0  65 72 22 2b bd 31 33 0d  04 88 26 c8 99 20 22 57  |er"+.13...&.. "W|
00000e00  69 6d 70 5f 43 72 65 61  74 65 49 63 6f 6e 22 2c  |imp_CreateIcon",|
00000e10  2c 69 63 6f 6e 64 20 b8  20 69 63 6f 6e 0d 04 92  |,icond . icon...|
00000e20  09 3d 69 63 6f 6e 0d 04  9c 04 0d 04 a6 16 dd a4  |.=icon..........|
00000e30  69 6e 66 28 68 61 6e 64  6c 65 2c 69 63 6f 6e 29  |inf(handle,icon)|
00000e40  0d 04 b0 15 f2 67 65 65  28 68 61 6e 64 6c 65 2c  |.....gee(handle,|
00000e50  69 63 6f 6e 29 0d 04 ba  0d 3d 69 63 6f 6e 64 21  |icon)....=icond!|
00000e60  32 38 0d 04 c4 0e 20 dd  a4 62 69 74 28 61 24 29  |28.... ..bit(a$)|
00000e70  0d 04 ce 11 c8 95 20 a7  61 24 2c 22 3a 22 29 3e  |...... .a$,":")>|
00000e80  30 0d 04 d8 16 61 24 3d  c1 61 24 2c a7 61 24 2c  |0....a$=.a$,.a$,|
00000e90  22 3a 22 29 2b 31 29 0d  04 e2 05 ce 0d 04 ec 11  |":")+1).........|
00000ea0  c8 95 20 a7 61 24 2c 22  2e 22 29 3e 30 0d 04 f6  |.. .a$,".")>0...|
00000eb0  16 61 24 3d c1 61 24 2c  a7 61 24 2c 22 2e 22 29  |.a$=.a$,.a$,".")|
00000ec0  2b 31 29 0d 05 00 05 ce  0d 05 0a 07 3d 61 24 0d  |+1).........=a$.|
00000ed0  05 14 04 0d 05 1e 11 dd  a4 77 6f 6f 6c 28 77 6f  |.........wool(wo|
00000ee0  6f 6c 25 29 0d 05 28 0a  ea 20 63 6f 74 24 0d 05  |ol%)..(.. cot$..|
00000ef0  32 12 20 c8 95 20 3f 77  6f 6f 6c 25 3e 3d 33 32  |2. .. ?wool%>=32|
00000f00  0d 05 3c 13 63 6f 74 24  2b 3d bd 28 3f 77 6f 6f  |..<.cot$+=.(?woo|
00000f10  6c 25 29 0d 05 46 0c 77  6f 6f 6c 25 2b 3d 31 0d  |l%)..F.wool%+=1.|
00000f20  05 50 05 ce 0d 05 5a 09  3d 63 6f 74 24 0d 05 64  |.P....Z.=cot$..d|
00000f30  04 0d 05 6e 0e dd f2 74  65 6d 70 6c 61 74 65 0d  |...n...template.|
00000f40  05 78 31 c8 99 22 57 69  6d 70 5f 4f 70 65 6e 54  |.x1.."Wimp_OpenT|
00000f50  65 6d 70 6c 61 74 65 22  2c 2c 22 3c 53 74 61 74  |emplate",,"<Stat|
00000f60  24 44 69 72 3e 2e 54 65  6d 70 6c 61 74 65 73 22  |$Dir>.Templates"|
00000f70  0d 05 82 11 69 6e 64 69  72 3d 63 75 72 62 75 66  |....indir=curbuf|
00000f80  25 0d 05 8c 1f 69 6e 66  6f 25 3d a4 74 65 6d 70  |%....info%=.temp|
00000f90  6c 61 74 65 28 22 50 72  6f 67 49 6e 66 6f 22 29  |late("ProgInfo")|
00000fa0  0d 05 96 1f 73 61 76 65  25 3d a4 74 65 6d 70 6c  |....save%=.templ|
00000fb0  61 74 65 28 22 53 61 76  65 44 61 74 61 22 29 0d  |ate("SaveData").|
00000fc0  05 a0 23 73 61 76 65 64  72 61 77 25 3d a4 74 65  |..#savedraw%=.te|
00000fd0  6d 70 6c 61 74 65 28 22  53 61 76 65 44 72 61 77  |mplate("SaveDraw|
00000fe0  22 29 0d 05 aa 21 73 61  76 65 70 69 63 25 3d a4  |")...!savepic%=.|
00000ff0  74 65 6d 70 6c 61 74 65  28 22 53 61 76 65 50 69  |template("SavePi|
00001000  63 22 29 0d 05 b4 1b 63  61 72 64 25 3d a4 74 65  |c")....card%=.te|
00001010  6d 70 6c 61 74 65 28 22  43 61 72 64 22 29 0d 05  |mplate("Card")..|
00001020  be 23 6c 65 74 74 65 72  25 3d a4 74 65 6d 70 6c  |.#letter%=.templ|
00001030  61 74 65 28 22 4c 65 74  74 65 72 48 65 61 64 22  |ate("LetterHead"|
00001040  29 0d 05 c8 1f 63 6f 6d  70 25 3d a4 74 65 6d 70  |)....comp%=.temp|
00001050  6c 61 74 65 28 22 43 6f  6d 70 53 6c 69 70 22 29  |late("CompSlip")|
00001060  0d 05 d2 21 70 69 63 74  75 72 65 25 3d a4 74 65  |...!picture%=.te|
00001070  6d 70 6c 61 74 65 28 22  50 69 63 74 75 72 65 22  |mplate("Picture"|
00001080  29 0d 05 dc 21 64 65 74  61 69 6c 73 25 3d a4 74  |)...!details%=.t|
00001090  65 6d 70 6c 61 74 65 28  22 64 65 74 61 69 6c 73  |emplate("details|
000010a0  22 29 0d 05 e6 1b 74 79  70 65 25 3d a4 74 65 6d  |")....type%=.tem|
000010b0  70 6c 61 74 65 28 22 54  79 70 65 22 29 0d 05 f0  |plate("Type")...|
000010c0  1b 62 61 63 6b 25 3d a4  74 65 6d 70 6c 61 74 65  |.back%=.template|
000010d0  28 22 42 61 63 6b 22 29  0d 05 fa 20 63 6f 6c 6f  |("Back")... colo|
000010e0  75 72 25 3d a4 74 65 6d  70 6c 61 74 65 28 22 63  |ur%=.template("c|
000010f0  6f 6c 6f 75 72 73 22 29  0d 06 04 1d 70 72 69 6e  |olours")....prin|
00001100  74 25 3d a4 74 65 6d 70  6c 61 74 65 28 22 70 72  |t%=.template("pr|
00001110  69 6e 74 22 29 0d 06 0e  1d 71 75 65 72 79 25 3d  |int")....query%=|
00001120  a4 74 65 6d 70 6c 61 74  65 28 22 71 75 65 72 79  |.template("query|
00001130  22 29 0d 06 18 1e 71 75  69 74 25 3d a4 74 65 6d  |")....quit%=.tem|
00001140  70 6c 61 74 65 28 22 71  75 69 74 62 6f 78 22 29  |plate("quitbox")|
00001150  0d 06 22 1d 74 69 74 6c  65 25 3d a4 74 65 6d 70  |..".title%=.temp|
00001160  6c 61 74 65 28 22 74 69  74 6c 65 22 29 0d 06 2c  |late("title")..,|
00001170  1b c8 99 20 22 57 69 6d  70 5f 43 6c 6f 73 65 54  |... "Wimp_CloseT|
00001180  65 6d 70 6c 61 74 65 22  0d 06 36 17 73 74 65 78  |emplate"..6.stex|
00001190  3d a4 69 6e 66 6f 28 73  61 76 65 25 2c 32 29 0d  |=.info(save%,2).|
000011a0  06 40 1c 73 74 65 78 64  3d a4 69 6e 66 6f 28 73  |.@.stexd=.info(s|
000011b0  61 76 65 64 72 61 77 25  2c 32 29 0d 06 4a 1e 73  |avedraw%,2)..J.s|
000011c0  74 65 78 74 70 69 63 3d  a4 69 6e 66 6f 28 73 61  |textpic=.info(sa|
000011d0  76 65 70 69 63 25 2c 32  29 0d 06 54 05 e1 0d 06  |vepic%,2)..T....|
000011e0  5e 04 0d 06 68 12 dd a4  74 65 6d 70 6c 61 74 65  |^...h...template|
000011f0  28 61 24 29 0d 06 72 46  c8 99 22 57 69 6d 70 5f  |(a$)..rF.."Wimp_|
00001200  4c 6f 61 64 54 65 6d 70  6c 61 74 65 22 2c 2c 62  |LoadTemplate",,b|
00001210  6c 6f 63 6b 2c 69 6e 64  69 72 2c 65 6e 64 62 75  |lock,indir,endbu|
00001220  66 25 2c 2d 31 2c 61 24  2c 30 20 b8 20 2c 2c 69  |f%,-1,a$,0 . ,,i|
00001230  6e 64 69 72 2c 2c 2c 2c  63 25 0d 06 7c 32 e7 20  |ndir,,,,c%..|2. |
00001240  63 25 3d 30 20 8c 20 f2  6d 65 73 73 28 22 54 65  |c%=0 . .mess("Te|
00001250  6d 70 6c 61 74 65 20 22  2b 61 24 2b 22 20 6e 6f  |mplate "+a$+" no|
00001260  74 20 66 6f 75 6e 64 2e  22 29 3a e0 0d 06 86 0e  |t found."):.....|
00001270  62 6c 6f 63 6b 21 36 34  3d 31 0d 06 90 29 c8 99  |block!64=1...)..|
00001280  22 57 69 6d 70 5f 43 72  65 61 74 65 57 69 6e 64  |"Wimp_CreateWind|
00001290  6f 77 22 2c 2c 62 6c 6f  63 6b 20 b8 20 68 61 6e  |ow",,block . han|
000012a0  64 6c 65 0d 06 9a 0b 3d  68 61 6e 64 6c 65 0d 06  |dle....=handle..|
000012b0  a4 04 0d 06 ae 17 dd a4  69 6e 66 6f 28 68 61 6e  |........info(han|
000012c0  64 6c 65 2c 69 63 6f 6e  29 0d 06 b8 15 f2 67 65  |dle,icon).....ge|
000012d0  65 28 68 61 6e 64 6c 65  2c 69 63 6f 6e 29 0d 06  |e(handle,icon)..|
000012e0  c2 0d 3d 69 63 6f 6e 64  21 32 38 0d 06 cc 04 0d  |..=icond!28.....|
000012f0  06 d6 0e dd a4 74 6f 4f  53 28 69 6e 29 0d 06 e0  |.....toOS(in)...|
00001300  27 c8 99 22 46 6f 6e 74  5f 43 6f 6e 76 65 72 74  |'.."Font_Convert|
00001310  74 6f 4f 53 22 2c 2c 69  6e 2a 31 30 30 30 20 b8  |toOS",,in*1000 .|
00001320  2c 6f 75 74 0d 06 ea 08  3d 6f 75 74 0d 06 f4 04  |,out....=out....|
00001330  0d 06 fe 1d dd f2 69 6e  66 6f 28 68 61 6e 64 6c  |......info(handl|
00001340  65 2c 69 63 6f 6e 2c 74  65 78 74 24 29 0d 07 08  |e,icon,text$)...|
00001350  3b 21 62 6c 6f 63 6b 3d  68 61 6e 64 6c 65 3a 62  |;!block=handle:b|
00001360  6c 6f 63 6b 21 34 3d 69  63 6f 6e 3a c8 99 22 57  |lock!4=icon:.."W|
00001370  69 6d 70 5f 47 65 74 49  63 6f 6e 53 74 61 74 65  |imp_GetIconState|
00001380  22 2c 2c 62 6c 6f 63 6b  0d 07 12 29 24 28 62 6c  |",,block...)$(bl|
00001390  6f 63 6b 21 32 38 29 3d  74 65 78 74 24 3a 62 6c  |ock!28)=text$:bl|
000013a0  6f 63 6b 21 33 36 3d a9  28 74 65 78 74 24 29 2b  |ock!36=.(text$)+|
000013b0  31 0d 07 1c 18 62 6c 6f  63 6b 21 38 3d 30 3a 62  |1....block!8=0:b|
000013c0  6c 6f 63 6b 21 31 32 3d  30 0d 07 26 20 c8 99 22  |lock!12=0..& .."|
000013d0  57 69 6d 70 5f 53 65 74  49 63 6f 6e 53 74 61 74  |Wimp_SetIconStat|
000013e0  65 22 2c 2c 62 6c 6f 63  6b 0d 07 30 05 e1 0d 07  |e",,block..0....|
000013f0  3a 04 0d 07 44 16 dd f2  67 65 65 28 68 61 6e 64  |:...D...gee(hand|
00001400  6c 65 2c 69 63 6f 6e 29  0d 07 4e 1e 21 69 63 6f  |le,icon)..N.!ico|
00001410  6e 64 3d 68 61 6e 64 6c  65 3a 69 63 6f 6e 64 21  |nd=handle:icond!|
00001420  34 3d 69 63 6f 6e 0d 07  58 20 c8 99 22 57 69 6d  |4=icon..X .."Wim|
00001430  70 5f 47 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_GetIconState",|
00001440  2c 69 63 6f 6e 64 0d 07  62 05 e1 0d 07 6c 04 0d  |,icond..b....l..|
00001450  07 76 38 dd f2 73 65 74  69 63 73 74 61 74 65 28  |.v8..seticstate(|
00001460  68 61 6e 64 6c 65 25 2c  69 63 25 2c 63 6c 65 61  |handle%,ic%,clea|
00001470  72 2c 65 6f 72 29 3a f4  20 61 73 20 69 6e 20 50  |r,eor):. as in P|
00001480  52 4d 20 28 43 45 29 0d  07 80 39 21 62 6c 6f 63  |RM (CE)...9!bloc|
00001490  6b 3d 68 61 6e 64 6c 65  25 3a 62 6c 6f 63 6b 21  |k=handle%:block!|
000014a0  34 3d 69 63 25 3a 62 6c  6f 63 6b 21 38 3d 65 6f  |4=ic%:block!8=eo|
000014b0  72 3a 62 6c 6f 63 6b 21  31 32 3d 63 6c 65 61 72  |r:block!12=clear|
000014c0  0d 07 8a 20 c8 99 22 57  69 6d 70 5f 53 65 74 49  |... .."Wimp_SetI|
000014d0  63 6f 6e 53 74 61 74 65  22 2c 2c 62 6c 6f 63 6b  |conState",,block|
000014e0  0d 07 94 05 e1 0d 07 9e  04 0d 07 a8 0d dd f2 70  |...............p|
000014f0  72 65 73 65 6e 74 0d 07  b2 09 61 24 3d 22 22 0d  |resent....a$="".|
00001500  07 bc 07 ea 20 85 0d 07  c6 20 ee 20 85 20 ea 20  |.... .... . . . |
00001510  61 24 3d 22 4e 6f 74 20  50 72 65 73 65 6e 74 22  |a$="Not Present"|
00001520  3a f7 20 85 3a e1 0d 07  d0 20 c8 99 22 50 44 72  |:. .:.... .."PDr|
00001530  69 76 65 72 5f 49 6e 66  6f 22 20 b8 20 61 2c 2c  |iver_Info" . a,,|
00001540  2c 2c 6e 61 6d 65 0d 07  da 0c c8 95 20 3f 6e 61  |,,name...... ?na|
00001550  6d 65 0d 07 e4 12 61 24  3d 61 24 2b bd 28 3f 6e  |me....a$=a$+.(?n|
00001560  61 6d 65 29 0d 07 ee 0b  6e 61 6d 65 2b 3d 31 0d  |ame)....name+=1.|
00001570  07 f8 05 ce 0d 08 02 17  24 a4 69 6e 66 6f 28 70  |........$.info(p|
00001580  72 69 6e 74 25 2c 30 29  3d 61 24 0d 08 0c 07 f7  |rint%,0)=a$.....|
00001590  20 85 0d 08 16 05 e1 0d  08 20 04 0d 08 2a 0c dd  | ........ ...*..|
000015a0  f2 63 6d 65 6e 75 73 0d  08 34 0c f2 70 72 65 73  |.cmenus..4..pres|
000015b0  65 6e 74 0d 08 3e 0a 6e  6f 67 6f 3d a3 0d 08 48  |ent..>.nogo=...H|
000015c0  0c 46 4d 6f 70 65 6e 3d  30 0d 08 52 11 6d 65 6e  |.FMopen=0..R.men|
000015d0  75 70 74 72 3d 6d 65 6e  75 25 0d 08 5c 0c c8 97  |uptr=menu%..\...|
000015e0  20 78 2c 79 2c 62 0d 08  66 2f e7 20 62 6c 6f 63  | x,y,b..f/. bloc|
000015f0  6b 21 31 36 3d 32 37 20  80 20 73 70 72 69 74 65  |k!16=27 . sprite|
00001600  73 20 8c 20 70 69 63 63  79 3d b9 20 8b 20 70 69  |s . piccy=. . pi|
00001610  63 63 79 3d a3 0d 08 70  3f e7 20 73 70 72 69 74  |ccy=...p?. sprit|
00001620  65 73 20 73 70 72 6d 65  6e 25 3d a4 6d 65 6e 75  |es sprmen%=.menu|
00001630  28 22 53 70 72 69 74 65  20 4c 69 73 74 22 2c 28  |("Sprite List",(|
00001640  6c 61 72 67 65 73 74 2a  31 34 29 2b 34 30 2c 6d  |largest*14)+40,m|
00001650  65 6e 24 29 0d 08 7a 3b  70 69 63 6d 65 6e 75 25  |en$)..z;picmenu%|
00001660  3d a4 6d 65 6e 75 28 22  50 69 63 74 75 72 65 22  |=.menu("Picture"|
00001670  2c 31 37 34 2c 22 44 65  6c 65 74 65 2c 7b 62 7c  |,174,"Delete,{b||
00001680  73 61 76 65 70 69 63 25  7d 53 61 76 65 22 29 0d  |savepic%}Save").|
00001690  08 84 5b e7 20 28 73 70  72 69 74 65 73 20 84 20  |..[. (sprites . |
000016a0  64 72 61 77 69 6e 67 29  20 69 63 6f 6e 6d 65 6e  |drawing) iconmen|
000016b0  75 24 3d 22 7b 62 7c 70  69 63 6d 65 6e 75 25 7d  |u$="{b|picmenu%}|
000016c0  50 69 63 74 75 72 65 22  20 8b 20 69 63 6f 6e 6d  |Picture" . iconm|
000016d0  65 6e 75 24 3d 22 7b 2d  7c 70 69 63 6d 65 6e 75  |enu$="{-|picmenu|
000016e0  25 7d 50 69 63 74 75 72  65 22 0d 08 8e 64 e7 20  |%}Picture"...d. |
000016f0  28 73 70 72 69 74 65 73  20 84 20 64 72 61 77 69  |(sprites . drawi|
00001700  6e 67 29 20 80 20 62 6c  6f 63 6b 21 31 32 3d 2d  |ng) . block!12=-|
00001710  32 20 70 69 63 6d 65 6e  75 25 3d a4 6d 65 6e 75  |2 picmenu%=.menu|
00001720  28 22 50 69 63 74 75 72  65 22 2c 31 39 30 2c 22  |("Picture",190,"|
00001730  44 65 6c 20 50 69 63 2c  7b 62 7c 73 61 76 65 70  |Del Pic,{b|savep|
00001740  69 63 25 7d 53 61 76 65  20 50 69 63 22 29 0d 08  |ic%}Save Pic")..|
00001750  98 6b e7 20 28 73 70 72  69 74 65 73 20 84 20 64  |.k. (sprites . d|
00001760  72 61 77 69 6e 67 29 20  80 20 62 6c 6f 63 6b 21  |rawing) . block!|
00001770  31 32 3c 3e 2d 32 20 70  69 63 6d 65 6e 75 25 3d  |12<>-2 picmenu%=|
00001780  a4 6d 65 6e 75 28 22 50  69 63 74 75 72 65 22 2c  |.menu("Picture",|
00001790  31 39 30 2c 22 49 6e 73  65 72 74 2c 52 65 6d 6f  |190,"Insert,Remo|
000017a0  76 65 2c 7b 62 7c 73 61  76 65 70 69 63 25 7d 53  |ve,{b|savepic%}S|
000017b0  61 76 65 20 50 69 63 22  29 0d 08 a2 3f 76 69 65  |ave Pic")...?vie|
000017c0  77 25 3d a4 6d 65 6e 75  28 22 56 69 65 77 22 2c  |w%=.menu("View",|
000017d0  32 30 30 2c 22 42 75 73  2e 20 43 61 72 64 73 2c  |200,"Bus. Cards,|
000017e0  43 6f 6d 70 20 53 6c 69  70 73 2c 4c 65 74 74 65  |Comp Slips,Lette|
000017f0  72 48 65 61 64 73 22 29  0d 08 ac 41 73 61 76 65  |rHeads")...Asave|
00001800  6d 65 6e 75 25 3d a4 6d  65 6e 75 28 22 53 61 76  |menu%=.menu("Sav|
00001810  65 22 2c 31 30 30 2c 22  7b 62 7c 73 61 76 65 64  |e",100,"{b|saved|
00001820  72 61 77 25 7d 44 72 61  77 2c 7b 62 7c 73 61 76  |raw%}Draw,{b|sav|
00001830  65 25 7d 44 61 74 61 22  29 0d 08 b6 80 69 63 6f  |e%}Data")....ico|
00001840  6e 6d 65 6e 75 25 3d a4  6d 65 6e 75 28 22 21 53  |nmenu%=.menu("!S|
00001850  74 61 74 69 6f 6e 65 72  22 2c 31 37 34 2c 22 7b  |tationer",174,"{|
00001860  62 7c 69 6e 66 6f 25 7d  49 6e 66 6f 2c 7b 62 7c  |b|info%}Info,{b||
00001870  73 61 76 65 6d 65 6e 75  25 7d 53 61 76 65 2c 7b  |savemenu%}Save,{|
00001880  62 7c 70 72 69 6e 74 25  7d 50 72 69 6e 74 2c 44  |b|print%}Print,D|
00001890  65 74 61 69 6c 73 2c 7b  62 7c 76 69 65 77 25 7d  |etails,{b|view%}|
000018a0  56 69 65 77 2c 22 2b 69  63 6f 6e 6d 65 6e 75 24  |View,"+iconmenu$|
000018b0  2b 22 2c 51 75 69 74 22  29 0d 08 c0 77 64 65 74  |+",Quit")...wdet|
000018c0  6d 65 6e 75 25 3d a4 6d  65 6e 75 28 22 21 53 74  |menu%=.menu("!St|
000018d0  61 74 69 6f 6e 65 72 22  2c 31 37 34 2c 22 7b 62  |ationer",174,"{b|
000018e0  7c 69 6e 66 6f 25 7d 49  6e 66 6f 2c 7b 62 7c 73  ||info%}Info,{b|s|
000018f0  61 76 65 6d 65 6e 75 25  7d 53 61 76 65 2c 7b 62  |avemenu%}Save,{b|
00001900  7c 70 72 69 6e 74 25 7d  50 72 69 6e 74 2c 7b 62  ||print%}Print,{b|
00001910  7c 76 69 65 77 25 7d 56  69 65 77 2c 22 2b 69 63  ||view%}View,"+ic|
00001920  6f 6e 6d 65 6e 75 24 2b  22 2c 51 75 69 74 22 29  |onmenu$+",Quit")|
00001930  0d 08 ca 89 76 69 65 77  6d 65 6e 75 25 3d a4 6d  |....viewmenu%=.m|
00001940  65 6e 75 28 22 21 53 74  61 74 69 6f 6e 65 72 22  |enu("!Stationer"|
00001950  2c 31 37 34 2c 22 7b 62  7c 69 6e 66 6f 25 7d 49  |,174,"{b|info%}I|
00001960  6e 66 6f 2c 7b 62 7c 73  61 76 65 6d 65 6e 75 25  |nfo,{b|savemenu%|
00001970  7d 53 61 76 65 2c 7b 62  7c 70 72 69 6e 74 25 7d  |}Save,{b|print%}|
00001980  50 72 69 6e 74 2c 44 65  74 61 69 6c 73 2c 7b 62  |Print,Details,{b|
00001990  7c 76 69 65 77 25 7d 56  69 65 77 2c 22 2b 69 63  ||view%}View,"+ic|
000019a0  6f 6e 6d 65 6e 75 24 2b  22 2c 53 68 6f 77 20 41  |onmenu$+",Show A|
000019b0  6c 6c 2c 51 75 69 74 22  29 0d 08 d4 14 6d 65 6e  |ll,Quit")....men|
000019c0  75 77 69 6e 3d 62 6c 6f  63 6b 21 31 32 0d 08 de  |uwin=block!12...|
000019d0  10 c8 8e 20 6d 65 6e 75  77 69 6e 20 ca 0d 08 e8  |... menuwin ....|
000019e0  3c c9 20 2d 32 3a e7 20  62 6c 6f 63 6b 21 38 3d  |<. -2:. block!8=|
000019f0  32 20 8c 20 6f 70 65 6e  6d 65 6e 75 25 3d 69 63  |2 . openmenu%=ic|
00001a00  6f 6e 6d 65 6e 75 25 3a  61 3d 78 2d 37 35 3a 62  |onmenu%:a=x-75:b|
00001a10  3d 28 37 2b 32 29 2a 34  38 0d 08 f2 29 c9 20 64  |=(7+2)*48...). d|
00001a20  65 74 61 69 6c 73 25 3a  6f 70 65 6e 6d 65 6e 75  |etails%:openmenu|
00001a30  25 3d 64 65 74 6d 65 6e  75 25 3a 61 3d 78 3a 62  |%=detmenu%:a=x:b|
00001a40  3d 79 0d 08 fc 44 c9 20  70 69 63 74 75 72 65 25  |=y...D. picture%|
00001a50  3a e7 20 62 6c 6f 63 6b  21 31 36 3d 34 20 8c 20  |:. block!16=4 . |
00001a60  6f 70 65 6e 6d 65 6e 75  25 3d 73 70 72 6d 65 6e  |openmenu%=sprmen|
00001a70  25 3a 61 3d 78 3a 62 3d  79 3a 46 4d 6f 70 65 6e  |%:a=x:b=y:FMopen|
00001a80  3d 32 3a 8b 20 e1 0d 09  06 43 c9 20 63 61 72 64  |=2:. ....C. card|
00001a90  25 2c 63 6f 6d 70 25 2c  6c 65 74 74 65 72 25 3a  |%,comp%,letter%:|
00001aa0  e7 20 62 6c 6f 63 6b 21  38 3d 32 20 8c 20 6f 70  |. block!8=2 . op|
00001ab0  65 6e 6d 65 6e 75 25 3d  76 69 65 77 6d 65 6e 75  |enmenu%=viewmenu|
00001ac0  25 3a 61 3d 78 3a 62 3d  79 0d 09 10 07 7f 3a e1  |%:a=x:b=y.....:.|
00001ad0  0d 09 1a 05 cb 0d 09 24  57 e7 20 73 70 72 69 74  |.......$W. sprit|
00001ae0  65 73 20 f2 73 65 74 69  63 73 74 61 74 65 28 73  |es .seticstate(s|
00001af0  61 76 65 70 69 63 25 2c  34 2c 31 3c 3c 32 32 2c  |avepic%,4,1<<22,|
00001b00  30 3c 3c 32 32 29 20 8b  20 f2 73 65 74 69 63 73  |0<<22) . .setics|
00001b10  74 61 74 65 28 73 61 76  65 70 69 63 25 2c 34 2c  |tate(savepic%,4,|
00001b20  31 3c 3c 32 32 2c 31 3c  3c 32 32 29 0d 09 2e 57  |1<<22,1<<22)...W|
00001b30  e7 20 64 72 61 77 69 6e  67 20 f2 73 65 74 69 63  |. drawing .setic|
00001b40  73 74 61 74 65 28 73 61  76 65 70 69 63 25 2c 35  |state(savepic%,5|
00001b50  2c 31 3c 3c 32 32 2c 30  3c 3c 32 32 29 20 8b 20  |,1<<22,0<<22) . |
00001b60  f2 73 65 74 69 63 73 74  61 74 65 28 73 61 76 65  |.seticstate(save|
00001b70  70 69 63 25 2c 35 2c 31  3c 3c 32 32 2c 31 3c 3c  |pic%,5,1<<22,1<<|
00001b80  32 32 29 0d 09 38 4b f2  73 65 74 69 63 73 74 61  |22)..8K.seticsta|
00001b90  74 65 28 73 61 76 65 70  69 63 25 2c 34 2c 31 3c  |te(savepic%,4,1<|
00001ba0  3c 32 31 2c 30 3c 3c 32  31 29 3a f2 73 65 74 69  |<21,0<<21):.seti|
00001bb0  63 73 74 61 74 65 28 73  61 76 65 70 69 63 25 2c  |cstate(savepic%,|
00001bc0  35 2c 31 3c 3c 32 31 2c  30 3c 3c 32 31 29 0d 09  |5,1<<21,0<<21)..|
00001bd0  42 57 e7 20 73 70 72 69  74 65 73 20 f2 73 65 74  |BW. sprites .set|
00001be0  69 63 73 74 61 74 65 28  73 61 76 65 70 69 63 25  |icstate(savepic%|
00001bf0  2c 34 2c 31 3c 3c 32 31  2c 31 3c 3c 32 31 29 20  |,4,1<<21,1<<21) |
00001c00  8b 20 f2 73 65 74 69 63  73 74 61 74 65 28 73 61  |. .seticstate(sa|
00001c10  76 65 70 69 63 25 2c 35  2c 31 3c 3c 32 31 2c 31  |vepic%,5,1<<21,1|
00001c20  3c 3c 32 31 29 0d 09 4c  12 f2 6f 70 65 6e 6d 65  |<<21)..L..openme|
00001c30  6e 75 28 61 2c 62 29 0d  09 56 05 e1 0d 09 60 04  |nu(a,b)..V....`.|
00001c40  0d 09 6a 13 dd f2 6f 70  65 6e 6d 65 6e 75 28 78  |..j...openmenu(x|
00001c50  2c 79 29 0d 09 74 26 c8  99 22 57 69 6d 70 5f 43  |,y)..t&.."Wimp_C|
00001c60  72 65 61 74 65 4d 65 6e  75 22 2c 2c 6f 70 65 6e  |reateMenu",,open|
00001c70  6d 65 6e 75 25 2c 78 2c  79 0d 09 7e 05 e1 0d 09  |menu%,x,y..~....|
00001c80  88 1a dd a4 6d 65 6e 75  28 74 69 74 24 2c 77 69  |....menu(tit$,wi|
00001c90  64 2c 6d 65 6e 75 24 29  0d 09 92 0e 6d 65 6e 75  |d,menu$)....menu|
00001ca0  24 2b 3d 22 2c 22 0d 09  9c 13 6f 6c 64 6d 65 6e  |$+=","....oldmen|
00001cb0  75 3d 6d 65 6e 75 70 74  72 0d 09 a6 11 24 6d 65  |u=menuptr....$me|
00001cc0  6e 75 70 74 72 3d 74 69  74 24 0d 09 b0 10 6d 65  |nuptr=tit$....me|
00001cd0  6e 75 70 74 72 3f 31 32  3d 37 0d 09 ba 10 6d 65  |nuptr?12=7....me|
00001ce0  6e 75 70 74 72 3f 31 33  3d 32 0d 09 c4 10 6d 65  |nuptr?13=2....me|
00001cf0  6e 75 70 74 72 3f 31 34  3d 37 0d 09 ce 10 6d 65  |nuptr?14=7....me|
00001d00  6e 75 70 74 72 3f 31 35  3d 30 0d 09 d8 12 6d 65  |nuptr?15=0....me|
00001d10  6e 75 70 74 72 21 31 36  3d 77 69 64 0d 09 e2 11  |nuptr!16=wid....|
00001d20  6d 65 6e 75 70 74 72 21  32 30 3d 34 38 0d 09 ec  |menuptr!20=48...|
00001d30  10 6d 65 6e 75 70 74 72  21 32 34 3d 30 0d 09 f6  |.menuptr!24=0...|
00001d40  0f 6d 65 6e 75 70 74 72  2b 3d 32 38 0d 0a 00 05  |.menuptr+=28....|
00001d50  f5 0d 0a 0a 11 f2 74 68  69 6e 67 28 6d 65 6e 75  |......thing(menu|
00001d60  24 29 0d 0a 14 1f 6d 65  6e 75 24 3d c1 6d 65 6e  |$)....menu$=.men|
00001d70  75 24 2c a7 6d 65 6e 75  24 2c 22 2c 22 29 2b 31  |u$,.menu$,",")+1|
00001d80  29 0d 0a 1e 0f 6d 65 6e  75 70 74 72 2b 3d 32 34  |)....menuptr+=24|
00001d90  0d 0a 28 0e fd 20 6d 65  6e 75 24 3d 22 22 0d 0a  |..(.. menu$=""..|
00001da0  32 29 6d 65 6e 75 70 74  72 21 2d 32 34 3d 28 6d  |2)menuptr!-24=(m|
00001db0  65 6e 75 70 74 72 21 2d  32 34 29 20 84 20 25 31  |enuptr!-24) . %1|
00001dc0  30 30 30 30 30 30 30 0d  0a 3c 0c 3d 6f 6c 64 6d  |0000000..<.=oldm|
00001dd0  65 6e 75 0d 0a 46 0f dd  f2 74 68 69 6e 67 28 6d  |enu..F...thing(m|
00001de0  24 29 0d 0a 50 16 6d 24  3d c0 6d 24 2c a7 6d 24  |$)..P.m$=.m$,.m$|
00001df0  2c 22 2c 22 29 2d 31 29  0d 0a 5a 0f 69 24 3d 22  |,",")-1)..Z.i$="|
00001e00  22 3a 6a 24 3d 22 22 0d  0a 64 12 e7 20 a7 6d 24  |":j$=""..d.. .m$|
00001e10  2c 22 7b 22 29 3e 30 20  8c 0d 0a 6e 16 69 24 3d  |,"{")>0 ...n.i$=|
00001e20  c0 6d 24 2c a7 6d 24 2c  22 7d 22 29 2d 31 29 0d  |.m$,.m$,"}")-1).|
00001e30  0a 78 16 6d 24 3d c1 6d  24 2c a7 6d 24 2c 22 7d  |.x.m$=.m$,.m$,"}|
00001e40  22 29 2b 31 29 0d 0a 82  16 6a 24 3d c0 69 24 2c  |")+1)....j$=.i$,|
00001e50  a7 69 24 2c 22 7c 22 29  2d 31 29 0d 0a 8c 16 69  |.i$,"|")-1)....i|
00001e60  24 3d c1 69 24 2c a7 69  24 2c 22 7c 22 29 2b 31  |$=.i$,.i$,"|")+1|
00001e70  29 0d 0a 96 05 cd 0d 0a  a0 13 69 6a 61 63 6b 3d  |).........ijack=|
00001e80  26 30 37 30 30 30 30 32  31 0d 0a aa 0b 6d 6a 61  |&07000021....mja|
00001e90  63 6b 3d 30 0d 0a b4 0e  73 75 62 6d 65 6e 75 3d  |ck=0....submenu=|
00001ea0  2d 31 0d 0a be 20 e7 20  a7 6a 24 2c 22 62 22 29  |-1... . .j$,"b")|
00001eb0  3e 30 20 8c 20 73 75 62  6d 65 6e 75 3d a0 28 69  |>0 . submenu=.(i|
00001ec0  24 29 0d 0a c8 22 e7 20  a7 6a 24 2c 22 5f 22 29  |$)...". .j$,"_")|
00001ed0  3e 30 20 8c 20 6d 6a 61  63 6b 3d 6d 6a 61 63 6b  |>0 . mjack=mjack|
00001ee0  20 84 20 32 0d 0a d2 22  e7 20 a7 6a 24 2c 22 80  | . 2...". .j$,".|
00001ef0  22 29 3e 30 20 8c 20 6d  6a 61 63 6b 3d 6d 6a 61  |")>0 . mjack=mja|
00001f00  63 6b 20 84 20 31 0d 0a  dc 30 e7 20 a7 6a 24 2c  |ck . 1...0. .j$,|
00001f10  22 75 22 29 3e 30 20 8c  20 6d 6a 61 63 6b 3d 6d  |"u")>0 . mjack=m|
00001f20  6a 61 63 6b 20 84 20 32  3a 73 75 62 6d 65 6e 75  |jack . 2:submenu|
00001f30  3d a0 28 69 24 29 0d 0a  e6 36 e7 20 a7 6a 24 2c  |=.(i$)...6. .j$,|
00001f40  22 2d 22 29 3e 30 20 8c  20 69 6a 61 63 6b 3d 69  |"-")>0 . ijack=i|
00001f50  6a 61 63 6b 20 84 20 26  34 30 30 30 30 30 3a 73  |jack . &400000:s|
00001f60  75 62 6d 65 6e 75 3d a0  28 69 24 29 0d 0a f0 28  |ubmenu=.(i$)...(|
00001f70  e7 20 a7 6a 24 2c 22 73  22 29 3e 30 20 8c 20 69  |. .j$,"s")>0 . i|
00001f80  6a 61 63 6b 3d 69 6a 61  63 6b 20 84 20 26 34 30  |jack=ijack . &40|
00001f90  30 30 30 30 0d 0a fa 12  21 6d 65 6e 75 70 74 72  |0000....!menuptr|
00001fa0  3d 6d 6a 61 63 6b 0d 0b  04 15 6d 65 6e 75 70 74  |=mjack....menupt|
00001fb0  72 21 34 3d 73 75 62 6d  65 6e 75 0d 0b 0e 13 6d  |r!4=submenu....m|
00001fc0  65 6e 75 70 74 72 21 38  3d 69 6a 61 63 6b 0d 0b  |enuptr!8=ijack..|
00001fd0  18 14 24 28 6d 65 6e 75  70 74 72 2b 31 32 29 3d  |..$(menuptr+12)=|
00001fe0  6d 24 0d 0b 22 05 e1 0d  0b 2c 04 0d 0b 36 12 dd  |m$.."....,...6..|
00001ff0  f2 63 6c 69 63 6b 28 62  6c 6f 63 6b 29 0d 0b 40  |.click(block)..@|
00002000  45 e7 20 71 75 69 74 73  61 76 65 20 80 20 62 6c  |E. quitsave . bl|
00002010  6f 63 6b 21 31 32 3c 3e  73 61 76 65 25 20 8c 20  |ock!12<>save% . |
00002020  71 75 69 74 69 6e 67 3d  a3 3a 71 75 69 74 73 61  |quiting=.:quitsa|
00002030  76 65 3d a3 3a f2 63 6c  6f 73 65 28 73 61 76 65  |ve=.:.close(save|
00002040  25 29 0d 0b 4a 4c e7 20  70 72 65 71 75 69 74 77  |%)..JL. prequitw|
00002050  61 69 74 20 80 20 62 6c  6f 63 6b 21 31 32 3c 3e  |ait . block!12<>|
00002060  73 61 76 65 25 20 8c 20  70 72 65 71 75 69 74 77  |save% . prequitw|
00002070  61 69 74 3d a3 3a 73 68  75 74 64 6f 77 6e 3d a3  |ait=.:shutdown=.|
00002080  3a f2 63 6c 6f 73 65 28  73 61 76 65 25 29 0d 0b  |:.close(save%)..|
00002090  54 4d e7 20 62 6c 6f 63  6b 21 31 32 3d 63 61 72  |TM. block!12=car|
000020a0  64 25 20 84 20 62 6c 6f  63 6b 21 31 32 3d 63 6f  |d% . block!12=co|
000020b0  6d 70 25 20 84 20 62 6c  6f 63 6b 21 31 32 3d 6c  |mp% . block!12=l|
000020c0  65 74 74 65 72 25 20 73  61 76 65 66 3d a3 3a f2  |etter% savef=.:.|
000020d0  74 69 74 6c 65 73 28 22  2a 22 29 0d 0b 5e 49 e7  |titles("*")..^I.|
000020e0  20 62 6c 6f 63 6b 21 31  32 3c 3e 74 79 70 65 25  | block!12<>type%|
000020f0  20 80 20 28 62 6c 6f 63  6b 21 31 32 3c 3e 63 6f  | . (block!12<>co|
00002100  6c 6f 75 72 25 20 80 20  62 61 63 6b 67 72 6e 64  |lour% . backgrnd|
00002110  3c 3e 30 29 20 8c 20 f2  63 6c 6f 73 65 28 74 79  |<>0) . .close(ty|
00002120  70 65 25 29 0d 0b 68 49  e7 20 62 6c 6f 63 6b 21  |pe%)..hI. block!|
00002130  31 32 3c 3e 62 61 63 6b  25 20 80 20 28 62 6c 6f  |12<>back% . (blo|
00002140  63 6b 21 31 32 3c 3e 63  6f 6c 6f 75 72 25 20 80  |ck!12<>colour% .|
00002150  20 62 61 63 6b 67 72 6e  64 3c 3e 31 29 20 8c 20  | backgrnd<>1) . |
00002160  f2 63 6c 6f 73 65 28 62  61 63 6b 25 29 0d 0b 72  |.close(back%)..r|
00002170  29 e7 20 62 6c 6f 63 6b  21 31 32 3c 3e 63 6f 6c  |). block!12<>col|
00002180  6f 75 72 25 20 8c 20 f2  63 6c 6f 73 65 28 63 6f  |our% . .close(co|
00002190  6c 6f 75 72 25 29 0d 0b  7c 2b e7 20 62 6c 6f 63  |lour%)..|+. bloc|
000021a0  6b 21 31 32 3c 3e 70 69  63 74 75 72 65 25 20 8c  |k!12<>picture% .|
000021b0  20 f2 63 6c 6f 73 65 28  70 69 63 74 75 72 65 25  | .close(picture%|
000021c0  29 0d 0b 86 57 e7 20 62  6c 6f 63 6b 21 38 3d 31  |)...W. block!8=1|
000021d0  30 32 34 20 80 20 28 62  6c 6f 63 6b 21 31 32 3d  |024 . (block!12=|
000021e0  63 61 72 64 25 20 84 20  62 6c 6f 63 6b 21 31 32  |card% . block!12|
000021f0  3d 63 6f 6d 70 25 20 84  20 62 6c 6f 63 6b 21 31  |=comp% . block!1|
00002200  32 3d 6c 65 74 74 65 72  25 29 20 8c 20 f2 73 65  |2=letter%) . .se|
00002210  6c 65 63 74 69 74 65 6d  0d 0b 90 52 e7 20 62 6c  |lectitem...R. bl|
00002220  6f 63 6b 21 38 3d 34 20  80 20 28 62 6c 6f 63 6b  |ock!8=4 . (block|
00002230  21 31 32 3d 63 61 72 64  25 20 84 20 62 6c 6f 63  |!12=card% . bloc|
00002240  6b 21 31 32 3d 63 6f 6d  70 25 20 84 20 62 6c 6f  |k!12=comp% . blo|
00002250  63 6b 21 31 32 3d 6c 65  74 74 65 72 25 29 20 8c  |ck!12=letter%) .|
00002260  20 f2 67 65 74 73 74 79  6c 65 0d 0b 9a 54 e7 20  | .getstyle...T. |
00002270  62 6c 6f 63 6b 21 38 3d  26 34 30 20 80 20 28 62  |block!8=&40 . (b|
00002280  6c 6f 63 6b 21 31 32 3d  63 61 72 64 25 20 84 20  |lock!12=card% . |
00002290  62 6c 6f 63 6b 21 31 32  3d 63 6f 6d 70 25 20 84  |block!12=comp% .|
000022a0  20 62 6c 6f 63 6b 21 31  32 3d 6c 65 74 74 65 72  | block!12=letter|
000022b0  25 29 20 8c 20 f2 64 72  61 67 69 74 65 6d 0d 0b  |%) . .dragitem..|
000022c0  a4 54 e7 20 62 6c 6f 63  6b 21 38 3d 26 31 30 20  |.T. block!8=&10 |
000022d0  80 20 28 62 6c 6f 63 6b  21 31 32 3d 63 61 72 64  |. (block!12=card|
000022e0  25 20 84 20 62 6c 6f 63  6b 21 31 32 3d 63 6f 6d  |% . block!12=com|
000022f0  70 25 20 84 20 62 6c 6f  63 6b 21 31 32 3d 6c 65  |p% . block!12=le|
00002300  74 74 65 72 25 29 20 8c  20 f2 70 75 6c 6c 69 74  |tter%) . .pullit|
00002310  65 6d 0d 0b ae 26 e7 20  62 6c 6f 63 6b 21 31 32  |em...&. block!12|
00002320  3d 2d 32 20 80 20 62 6c  6f 63 6b 21 38 3d 34 20  |=-2 . block!8=4 |
00002330  f2 6f 70 65 6e 64 65 74  0d 0b b8 2d e7 20 62 6c  |.opendet...-. bl|
00002340  6f 63 6b 21 31 32 3d 2d  32 20 80 20 62 6c 6f 63  |ock!12=-2 . bloc|
00002350  6b 21 38 3d 31 20 f2 6f  70 65 6e 77 69 6e 28 63  |k!8=1 .openwin(c|
00002360  61 72 64 25 29 0d 0b c2  5a e7 20 62 6c 6f 63 6b  |ard%)...Z. block|
00002370  21 31 32 3d 74 79 70 65  25 20 80 20 62 6c 6f 63  |!12=type% . bloc|
00002380  6b 21 31 36 3d 31 20 8c  20 c8 97 20 78 2c 79 2c  |k!16=1 . .. x,y,|
00002390  62 3a 46 4d 6f 70 65 6e  3d 31 3a c8 99 22 57 69  |b:FMopen=1:.."Wi|
000023a0  6d 70 5f 43 72 65 61 74  65 4d 65 6e 75 22 2c 2c  |mp_CreateMenu",,|
000023b0  66 6d 65 6e 75 25 2c 78  2d 37 35 2c 79 3a e1 0d  |fmenu%,x-75,y:..|
000023c0  0b cc 1b e7 20 62 6c 6f  63 6b 21 38 3d 32 20 8c  |.... block!8=2 .|
000023d0  20 f2 63 6d 65 6e 75 73  3a e1 0d 0b d6 3c e7 20  | .cmenus:....<. |
000023e0  62 6c 6f 63 6b 21 31 32  3d 73 61 76 65 25 20 80  |block!12=save% .|
000023f0  20 62 6c 6f 63 6b 21 31  36 3d 31 20 77 69 6e 73  | block!16=1 wins|
00002400  61 76 65 25 3d 62 6c 6f  63 6b 21 31 32 3a f2 64  |ave%=block!12:.d|
00002410  65 66 73 61 76 65 0d 0b  e0 40 e7 20 62 6c 6f 63  |efsave...@. bloc|
00002420  6b 21 31 32 3d 73 61 76  65 64 72 61 77 25 20 80  |k!12=savedraw% .|
00002430  20 62 6c 6f 63 6b 21 31  36 3d 31 20 77 69 6e 73  | block!16=1 wins|
00002440  61 76 65 25 3d 62 6c 6f  63 6b 21 31 32 3a f2 64  |ave%=block!12:.d|
00002450  65 66 73 61 76 65 0d 0b  ea 3f e7 20 62 6c 6f 63  |efsave...?. bloc|
00002460  6b 21 31 32 3d 73 61 76  65 70 69 63 25 20 80 20  |k!12=savepic% . |
00002470  62 6c 6f 63 6b 21 31 36  3d 31 20 77 69 6e 73 61  |block!16=1 winsa|
00002480  76 65 25 3d 62 6c 6f 63  6b 21 31 32 3a f2 64 65  |ve%=block!12:.de|
00002490  66 73 61 76 65 0d 0b f4  4d e7 20 62 6c 6f 63 6b  |fsave...M. block|
000024a0  21 31 32 3d 73 61 76 65  25 20 80 20 62 6c 6f 63  |!12=save% . bloc|
000024b0  6b 21 31 36 3d 33 20 77  69 6e 73 61 76 65 25 3d  |k!16=3 winsave%=|
000024c0  62 6c 6f 63 6b 21 31 32  3a f2 73 61 76 65 28 24  |block!12:.save($|
000024d0  a4 69 6e 66 6f 28 77 69  6e 73 61 76 65 25 2c 32  |.info(winsave%,2|
000024e0  29 29 0d 0b fe 51 e7 20  62 6c 6f 63 6b 21 31 32  |))...Q. block!12|
000024f0  3d 73 61 76 65 64 72 61  77 25 20 80 20 62 6c 6f  |=savedraw% . blo|
00002500  63 6b 21 31 36 3d 33 20  77 69 6e 73 61 76 65 25  |ck!16=3 winsave%|
00002510  3d 62 6c 6f 63 6b 21 31  32 3a f2 73 61 76 65 28  |=block!12:.save(|
00002520  24 a4 69 6e 66 6f 28 77  69 6e 73 61 76 65 25 2c  |$.info(winsave%,|
00002530  32 29 29 0d 0c 08 50 e7  20 62 6c 6f 63 6b 21 31  |2))...P. block!1|
00002540  32 3d 73 61 76 65 70 69  63 25 20 80 20 62 6c 6f  |2=savepic% . blo|
00002550  63 6b 21 31 36 3d 33 20  77 69 6e 73 61 76 65 25  |ck!16=3 winsave%|
00002560  3d 62 6c 6f 63 6b 21 31  32 3a f2 73 61 76 65 28  |=block!12:.save(|
00002570  24 a4 69 6e 66 6f 28 77  69 6e 73 61 76 65 25 2c  |$.info(winsave%,|
00002580  32 29 29 0d 0c 12 53 e7  20 62 6c 6f 63 6b 21 31  |2))...S. block!1|
00002590  32 3d 64 65 74 61 69 6c  73 25 20 80 20 62 6c 6f  |2=details% . blo|
000025a0  63 6b 21 31 36 3d 31 36  20 f2 73 65 74 64 65 74  |ck!16=16 .setdet|
000025b0  3a 73 61 76 65 66 3d a3  3a f2 74 69 74 6c 65 73  |:savef=.:.titles|
000025c0  28 22 2a 22 29 3a f2 63  6c 6f 73 65 28 64 65 74  |("*"):.close(det|
000025d0  61 69 6c 73 25 29 0d 0c  1c 36 e7 20 62 6c 6f 63  |ails%)...6. bloc|
000025e0  6b 21 31 32 3d 64 65 74  61 69 6c 73 25 20 80 20  |k!12=details% . |
000025f0  62 6c 6f 63 6b 21 31 36  3d 31 35 20 f2 63 6c 6f  |block!16=15 .clo|
00002600  73 65 28 64 65 74 61 69  6c 73 25 29 0d 0c 26 2f  |se(details%)..&/|
00002610  e7 20 62 6c 6f 63 6b 21  31 32 3d 64 65 74 61 69  |. block!12=detai|
00002620  6c 73 25 20 80 20 62 6c  6f 63 6b 21 31 36 3d 31  |ls% . block!16=1|
00002630  37 20 f2 72 65 73 65 74  64 65 74 0d 0c 30 32 e7  |7 .resetdet..02.|
00002640  20 62 6c 6f 63 6b 21 31  32 3d 62 61 63 6b 25 20  | block!12=back% |
00002650  80 20 62 6c 6f 63 6b 21  31 36 3d 31 34 20 8c 20  |. block!16=14 . |
00002660  f2 63 6c 6f 73 65 28 62  61 63 6b 25 29 0d 0c 3a  |.close(back%)..:|
00002670  3e e7 20 62 6c 6f 63 6b  21 31 32 3d 62 61 63 6b  |>. block!12=back|
00002680  25 20 80 20 62 6c 6f 63  6b 21 31 36 3d 31 35 20  |% . block!16=15 |
00002690  8c 20 f2 61 70 70 6c 79  73 74 79 6c 65 3a f2 63  |. .applystyle:.c|
000026a0  6c 6f 73 65 28 62 61 63  6b 25 29 0d 0c 44 2f e7  |lose(back%)..D/.|
000026b0  20 62 6c 6f 63 6b 21 31  32 3d 62 61 63 6b 25 20  | block!12=back% |
000026c0  80 20 62 6c 6f 63 6b 21  31 36 3d 31 33 20 8c 20  |. block!16=13 . |
000026d0  f2 73 65 74 70 65 72 28  30 29 0d 0c 4e 16 e7 20  |.setper(0)..N.. |
000026e0  62 6c 6f 63 6b 21 31 32  3d 74 79 70 65 25 20 8c  |block!12=type% .|
000026f0  0d 0c 58 12 20 c8 8e 20  62 6c 6f 63 6b 21 31 36  |..X. .. block!16|
00002700  20 ca 0d 0c 62 26 20 c9  20 34 20 3a 20 f2 69 6e  | ...b& . 4 : .in|
00002710  63 72 65 6d 65 6e 74 28  31 2c 37 2c 39 39 39 2c  |crement(1,7,999,|
00002720  74 79 70 65 25 2c 33 29  0d 0c 6c 27 20 c9 20 35  |type%,3)..l' . 5|
00002730  20 3a 20 f2 69 6e 63 72  65 6d 65 6e 74 28 2d 31  | : .increment(-1|
00002740  2c 37 2c 39 39 39 2c 74  79 70 65 25 2c 33 29 0d  |,7,999,type%,3).|
00002750  0c 76 27 20 c9 20 37 20  3a 20 f2 69 6e 63 72 65  |.v' . 7 : .incre|
00002760  6d 65 6e 74 28 35 2c 33  30 2c 39 39 35 2c 74 79  |ment(5,30,995,ty|
00002770  70 65 25 2c 38 29 0d 0c  80 28 20 c9 20 39 20 3a  |pe%,8)...( . 9 :|
00002780  20 f2 69 6e 63 72 65 6d  65 6e 74 28 2d 35 2c 33  | .increment(-5,3|
00002790  30 2c 39 39 35 2c 74 79  70 65 25 2c 38 29 0d 0c  |0,995,type%,8)..|
000027a0  8a 19 20 c9 20 31 36 20  3a 20 f2 63 6c 6f 73 65  |.. . 16 : .close|
000027b0  28 74 79 70 65 25 29 0d  0c 94 25 20 c9 20 31 37  |(type%)...% . 17|
000027c0  20 3a 20 f2 61 70 70 6c  79 73 74 79 6c 65 3a f2  | : .applystyle:.|
000027d0  63 6c 6f 73 65 28 74 79  70 65 25 29 0d 0c 9e 16  |close(type%)....|
000027e0  20 c9 20 31 35 20 3a 20  f2 73 65 74 70 65 72 28  | . 15 : .setper(|
000027f0  31 29 0d 0c a8 06 20 cb  0d 0c b2 05 cd 0d 0c bc  |1).... .........|
00002800  19 e7 20 62 6c 6f 63 6b  21 31 32 3d 70 69 63 74  |.. block!12=pict|
00002810  75 72 65 25 20 8c 0d 0c  c6 12 20 c8 8e 20 62 6c  |ure% ..... .. bl|
00002820  6f 63 6b 21 31 36 20 ca  0d 0c d0 1b 20 c9 20 37  |ock!16 ..... . 7|
00002830  20 3a 20 f2 63 6c 6f 73  65 28 70 69 63 74 75 72  | : .close(pictur|
00002840  65 25 29 0d 0c da 27 20  c9 20 38 20 3a 20 f2 61  |e%)...' . 8 : .a|
00002850  70 70 6c 79 73 74 79 6c  65 3a f2 63 6c 6f 73 65  |pplystyle:.close|
00002860  28 70 69 63 74 75 72 65  25 29 0d 0c e4 17 20 c9  |(picture%).... .|
00002870  20 31 2c 32 2c 33 20 3a  20 f2 72 65 64 6f 70 69  | 1,2,3 : .redopi|
00002880  63 0d 0c ee 12 20 c9 20  34 20 3a 20 f2 63 6d 65  |c.... . 4 : .cme|
00002890  6e 75 73 0d 0c f8 15 20  c9 20 35 2c 36 20 3a 20  |nus.... . 5,6 : |
000028a0  f2 73 77 61 70 70 69 63  0d 0d 02 06 20 cb 0d 0d  |.swappic.... ...|
000028b0  0c 05 cd 0d 0d 16 49 e7  20 62 6c 6f 63 6b 21 31  |......I. block!1|
000028c0  32 3d 63 6f 6c 6f 75 72  25 20 80 20 62 6c 6f 63  |2=colour% . bloc|
000028d0  6b 21 31 36 3e 3d 31 34  20 80 20 62 6c 6f 63 6b  |k!16>=14 . block|
000028e0  21 31 36 3c 3d 32 39 20  f2 73 65 6c 65 63 74 63  |!16<=29 .selectc|
000028f0  6f 6c 28 62 6c 6f 63 6b  21 31 36 29 0d 0d 20 2e  |ol(block!16).. .|
00002900  e7 20 62 6c 6f 63 6b 21  31 32 3d 63 6f 6c 6f 75  |. block!12=colou|
00002910  72 25 20 80 20 62 6c 6f  63 6b 21 31 36 3d 31 33  |r% . block!16=13|
00002920  20 8c 20 f2 61 64 64 63  6f 6c 0d 0d 2a 36 e7 20  | . .addcol..*6. |
00002930  62 6c 6f 63 6b 21 31 32  3d 63 6f 6c 6f 75 72 25  |block!12=colour%|
00002940  20 80 20 62 6c 6f 63 6b  21 31 36 3d 31 32 20 8c  | . block!16=12 .|
00002950  20 f2 63 6c 6f 73 65 28  63 6f 6c 6f 75 72 25 29  | .close(colour%)|
00002960  0d 0d 34 2f e7 20 62 6c  6f 63 6b 21 31 32 3d 63  |..4/. block!12=c|
00002970  6f 6c 6f 75 72 25 20 80  20 62 6c 6f 63 6b 21 31  |olour% . block!1|
00002980  36 3d 2d 31 20 8c 20 f2  64 72 61 67 63 6f 6c 0d  |6=-1 . .dragcol.|
00002990  0d 3e 48 e7 20 62 6c 6f  63 6b 21 31 32 3d 63 6f  |.>H. block!12=co|
000029a0  6c 6f 75 72 25 20 80 20  62 6c 6f 63 6b 21 31 36  |lour% . block!16|
000029b0  3e 30 20 80 20 62 6c 6f  63 6b 21 31 36 3c 31 31  |>0 . block!16<11|
000029c0  20 8c 20 f2 75 70 61 6e  64 64 6f 77 6e 28 62 6c  | . .upanddown(bl|
000029d0  6f 63 6b 21 31 36 29 0d  0d 48 30 e7 20 62 6c 6f  |ock!16)..H0. blo|
000029e0  63 6b 21 31 32 3d 70 72  69 6e 74 25 20 80 20 62  |ck!12=print% . b|
000029f0  6c 6f 63 6b 21 31 36 3d  33 20 8c 20 f2 6d 6f 72  |lock!16=3 . .mor|
00002a00  65 63 6f 70 69 65 73 0d  0d 52 30 e7 20 62 6c 6f  |ecopies..R0. blo|
00002a10  63 6b 21 31 32 3d 70 72  69 6e 74 25 20 80 20 62  |ck!12=print% . b|
00002a20  6c 6f 63 6b 21 31 36 3d  35 20 8c 20 f2 6c 65 73  |lock!16=5 . .les|
00002a30  73 63 6f 70 69 65 73 0d  0d 5c 10 e7 20 73 68 75  |scopies..\.. shu|
00002a40  74 64 6f 77 6e 20 8c 0d  0d 66 42 20 e7 20 62 6c  |tdown ...fB . bl|
00002a50  6f 63 6b 21 31 32 3d 71  75 69 74 25 20 80 20 62  |ock!12=quit% . b|
00002a60  6c 6f 63 6b 21 31 36 3d  30 20 8c 20 c8 99 22 57  |lock!16=0 . .."W|
00002a70  69 6d 70 5f 50 72 6f 63  65 73 73 4b 65 79 22 2c  |imp_ProcessKey",|
00002a80  26 31 46 43 3a f2 65 6e  64 0d 0d 70 3d 20 e7 20  |&1FC:.end..p= . |
00002a90  62 6c 6f 63 6b 21 31 32  3d 71 75 69 74 25 20 80  |block!12=quit% .|
00002aa0  20 62 6c 6f 63 6b 21 31  36 3d 32 20 8c 20 f2 63  | block!16=2 . .c|
00002ab0  6c 6f 73 65 28 71 75 69  74 25 29 3a 73 68 75 74  |lose(quit%):shut|
00002ac0  64 6f 77 6e 3d a3 0d 0d  7a 50 20 e7 20 62 6c 6f  |down=...zP . blo|
00002ad0  63 6b 21 31 32 3d 71 75  69 74 25 20 80 20 62 6c  |ck!12=quit% . bl|
00002ae0  6f 63 6b 21 31 36 3d 33  20 8c 20 f2 63 6c 6f 73  |ock!16=3 . .clos|
00002af0  65 28 71 75 69 74 25 29  3a f2 6f 70 65 6e 77 69  |e(quit%):.openwi|
00002b00  6e 28 73 61 76 65 25 29  3a 70 72 65 71 75 69 74  |n(save%):prequit|
00002b10  77 61 69 74 3d b9 0d 0d  84 05 cd 0d 0d 8e 0f e7  |wait=...........|
00002b20  20 71 75 69 74 69 6e 67  20 8c 0d 0d 98 29 20 e7  | quiting ....) .|
00002b30  20 62 6c 6f 63 6b 21 31  32 3d 71 75 69 74 25 20  | block!12=quit% |
00002b40  80 20 62 6c 6f 63 6b 21  31 36 3d 30 20 8c 20 f2  |. block!16=0 . .|
00002b50  65 6e 64 0d 0d a2 3c 20  e7 20 62 6c 6f 63 6b 21  |end...< . block!|
00002b60  31 32 3d 71 75 69 74 25  20 80 20 62 6c 6f 63 6b  |12=quit% . block|
00002b70  21 31 36 3d 32 20 8c 20  f2 63 6c 6f 73 65 28 71  |!16=2 . .close(q|
00002b80  75 69 74 25 29 3a 71 75  69 74 69 6e 67 3d a3 0d  |uit%):quiting=..|
00002b90  0d ac 4d 20 e7 20 62 6c  6f 63 6b 21 31 32 3d 71  |..M . block!12=q|
00002ba0  75 69 74 25 20 80 20 62  6c 6f 63 6b 21 31 36 3d  |uit% . block!16=|
00002bb0  33 20 8c 20 f2 63 6c 6f  73 65 28 71 75 69 74 25  |3 . .close(quit%|
00002bc0  29 3a f2 6f 70 65 6e 77  69 6e 28 73 61 76 65 25  |):.openwin(save%|
00002bd0  29 3a 71 75 69 74 73 61  76 65 3d b9 0d 0d b6 05  |):quitsave=.....|
00002be0  cd 0d 0d c0 39 e7 20 62  6c 6f 63 6b 21 31 32 3d  |....9. block!12=|
00002bf0  71 75 65 72 79 25 20 80  20 62 6c 6f 63 6b 21 31  |query% . block!1|
00002c00  36 3d 30 20 8c 20 f2 63  6c 6f 73 65 28 71 75 65  |6=0 . .close(que|
00002c10  72 79 25 29 3a f2 65 6e  64 71 0d 0d ca 24 e7 20  |ry%):.endq...$. |
00002c20  62 6c 6f 63 6b 21 31 32  3d 70 72 69 6e 74 25 20  |block!12=print% |
00002c30  80 20 62 6c 6f 63 6b 21  31 36 3d 31 20 8c 0d 0d  |. block!16=1 ...|
00002c40  d4 0b 20 f2 70 72 69 6e  74 0d 0d de 14 20 e7 20  |.. .print.... . |
00002c50  6e 6f 69 63 3d 31 20 8c  20 f2 65 6e 64 0d 0d e8  |noic=1 . .end...|
00002c60  05 cd 0d 0d f2 05 e1 0d  0d fc 04 0d 0e 06 21 dd  |..............!.|
00002c70  a4 63 68 65 63 6b 66 6c  61 67 28 68 61 6e 64 6c  |.checkflag(handl|
00002c80  65 2c 69 63 6f 6e 2c 66  6c 61 67 29 0d 0e 10 09  |e,icon,flag)....|
00002c90  62 69 74 3d a3 0d 0e 1a  1e 21 69 63 6f 6e 64 3d  |bit=.....!icond=|
00002ca0  68 61 6e 64 6c 65 3a 69  63 6f 6e 64 21 34 3d 69  |handle:icond!4=i|
00002cb0  63 6f 6e 0d 0e 24 20 c8  99 22 57 69 6d 70 5f 47  |con..$ .."Wimp_G|
00002cc0  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 69 63  |etIconState",,ic|
00002cd0  6f 6e 64 0d 0e 2e 22 e7  20 28 69 63 6f 6e 64 21  |ond...". (icond!|
00002ce0  32 34 80 28 31 3c 3c 66  6c 61 67 29 29 3e 30 20  |24.(1<<flag))>0 |
00002cf0  62 69 74 3d b9 0d 0e 38  08 3d 62 69 74 0d 0e 42  |bit=...8.=bit..B|
00002d00  04 0d 0e 4c 12 dd f2 73  65 74 73 68 65 61 72 28  |...L...setshear(|
00002d10  6f 6e 29 0d 0e 56 3b 21  69 63 6f 6e 64 3d 64 65  |on)..V;!icond=de|
00002d20  74 61 69 6c 73 25 3a 69  63 6f 6e 64 21 34 3d 32  |tails%:icond!4=2|
00002d30  39 3a c8 99 22 57 69 6d  70 5f 47 65 74 49 63 6f  |9:.."Wimp_GetIco|
00002d40  6e 53 74 61 74 65 22 2c  2c 69 63 6f 6e 64 0d 0e  |nState",,icond..|
00002d50  60 0c e7 20 6f 6e 3d 31  20 8c 0d 0e 6a 17 43 3d  |`.. on=1 ...j.C=|
00002d60  28 31 3c 3c 32 31 29 3a  45 3d 28 31 3c 3c 32 31  |(1<<21):E=(1<<21|
00002d70  29 0d 0e 74 05 cc 0d 0e  7e 17 43 3d 28 30 3c 3c  |)..t....~.C=(0<<|
00002d80  32 31 29 3a 45 3d 28 31  3c 3c 32 31 29 0d 0e 88  |21):E=(1<<21)...|
00002d90  05 cd 0d 0e 92 18 69 63  6f 6e 64 21 38 3d 43 3a  |......icond!8=C:|
00002da0  69 63 6f 6e 64 21 31 32  3d 45 0d 0e 9c 20 c8 99  |icond!12=E... ..|
00002db0  22 57 69 6d 70 5f 53 65  74 49 63 6f 6e 53 74 61  |"Wimp_SetIconSta|
00002dc0  74 65 22 2c 2c 69 63 6f  6e 64 0d 0e a6 05 3a 0d  |te",,icond....:.|
00002dd0  0e b0 3b 21 69 63 6f 6e  64 3d 64 65 74 61 69 6c  |..;!icond=detail|
00002de0  73 25 3a 69 63 6f 6e 64  21 34 3d 33 30 3a c8 99  |s%:icond!4=30:..|
00002df0  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
00002e00  74 65 22 2c 2c 69 63 6f  6e 64 0d 0e ba 0c e7 20  |te",,icond..... |
00002e10  6f 6e 3d 30 20 8c 0d 0e  c4 17 43 3d 28 31 3c 3c  |on=0 .....C=(1<<|
00002e20  32 31 29 3a 45 3d 28 31  3c 3c 32 31 29 0d 0e ce  |21):E=(1<<21)...|
00002e30  05 cc 0d 0e d8 17 43 3d  28 30 3c 3c 32 31 29 3a  |......C=(0<<21):|
00002e40  45 3d 28 31 3c 3c 32 31  29 0d 0e e2 05 cd 0d 0e  |E=(1<<21).......|
00002e50  ec 18 69 63 6f 6e 64 21  38 3d 43 3a 69 63 6f 6e  |..icond!8=C:icon|
00002e60  64 21 31 32 3d 45 0d 0e  f6 20 c8 99 22 57 69 6d  |d!12=E... .."Wim|
00002e70  70 5f 53 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_SetIconState",|
00002e80  2c 69 63 6f 6e 64 0d 0f  00 05 e1 0d 0f 0a 04 0d  |,icond..........|
00002e90  0f 14 0d dd f2 70 72 6f  63 65 73 73 0d 0f 1e 2e  |.....process....|
00002ea0  e7 20 21 62 6c 6f 63 6b  3d 64 65 74 61 69 6c 73  |. !block=details|
00002eb0  25 20 80 20 62 6c 6f 63  6b 21 32 34 3d 31 33 20  |% . block!24=13 |
00002ec0  8c 20 f2 63 61 72 65 74  3a e1 0d 0f 28 4a e7 20  |. .caret:...(J. |
00002ed0  21 62 6c 6f 63 6b 3d 73  61 76 65 25 20 80 20 62  |!block=save% . b|
00002ee0  6c 6f 63 6b 21 32 34 3d  31 33 20 8c 20 77 69 6e  |lock!24=13 . win|
00002ef0  73 61 76 65 25 3d 21 62  6c 6f 63 6b 3a f2 73 61  |save%=!block:.sa|
00002f00  76 65 28 24 a4 69 6e 66  6f 28 21 62 6c 6f 63 6b  |ve($.info(!block|
00002f10  2c 32 29 29 0d 0f 32 4e  e7 20 21 62 6c 6f 63 6b  |,2))..2N. !block|
00002f20  3d 73 61 76 65 64 72 61  77 25 20 80 20 62 6c 6f  |=savedraw% . blo|
00002f30  63 6b 21 32 34 3d 31 33  20 8c 20 77 69 6e 73 61  |ck!24=13 . winsa|
00002f40  76 65 25 3d 21 62 6c 6f  63 6b 3a f2 73 61 76 65  |ve%=!block:.save|
00002f50  28 24 a4 69 6e 66 6f 28  21 62 6c 6f 63 6b 2c 32  |($.info(!block,2|
00002f60  29 29 0d 0f 3c 4d e7 20  21 62 6c 6f 63 6b 3d 73  |))..<M. !block=s|
00002f70  61 76 65 70 69 63 25 20  80 20 62 6c 6f 63 6b 21  |avepic% . block!|
00002f80  32 34 3d 31 33 20 8c 20  77 69 6e 73 61 76 65 25  |24=13 . winsave%|
00002f90  3d 21 62 6c 6f 63 6b 3a  f2 73 61 76 65 28 24 a4  |=!block:.save($.|
00002fa0  69 6e 66 6f 28 21 62 6c  6f 63 6b 2c 32 29 29 0d  |info(!block,2)).|
00002fb0  0f 46 20 c8 99 22 57 69  6d 70 5f 50 72 6f 63 65  |.F .."Wimp_Proce|
00002fc0  73 73 4b 65 79 22 2c 62  6c 6f 63 6b 21 32 34 0d  |ssKey",block!24.|
00002fd0  0f 50 05 e1 0d 0f 5a 04  0d 0f 64 0b dd f2 63 61  |.P....Z...d...ca|
00002fe0  72 65 74 0d 0f 6e 24 c8  99 22 57 69 6d 70 5f 47  |ret..n$.."Wimp_G|
00002ff0  65 74 43 61 72 65 74 50  6f 73 69 74 69 6f 6e 22  |etCaretPosition"|
00003000  2c 2c 62 6c 6f 63 6b 0d  0f 78 18 e7 20 62 6c 6f  |,,block..x.. blo|
00003010  63 6b 21 30 3d 64 65 74  61 69 6c 73 25 20 8c 0d  |ck!0=details% ..|
00003020  0f 82 2d 20 e7 20 62 6c  6f 63 6b 21 34 3e 3d 30  |..- . block!4>=0|
00003030  20 80 20 62 6c 6f 63 6b  21 34 3c 3d 37 20 8c 20  | . block!4<=7 . |
00003040  6e 70 3d 62 6c 6f 63 6b  21 34 2b 31 0d 0f 8c 17  |np=block!4+1....|
00003050  20 e7 20 62 6c 6f 63 6b  21 34 3d 38 20 8c 20 6e  | . block!4=8 . n|
00003060  70 3d 30 0d 0f 96 49 20  c8 99 20 22 57 69 6d 70  |p=0...I .. "Wimp|
00003070  5f 53 65 74 43 61 72 65  74 50 6f 73 69 74 69 6f  |_SetCaretPositio|
00003080  6e 22 2c 64 65 74 61 69  6c 73 25 2c 6e 70 2c 30  |n",details%,np,0|
00003090  2c 30 2c 2d 31 2c a9 28  24 a4 69 6e 66 6f 28 64  |,0,-1,.($.info(d|
000030a0  65 74 61 69 6c 73 25 2c  6e 70 29 29 0d 0f a0 05  |etails%,np))....|
000030b0  cd 0d 0f aa 05 e1 0d 0f  b4 04 0d 0f be 0c dd f2  |................|
000030c0  73 65 6c 65 63 74 0d 0f  c8 10 e7 20 46 4d 6f 70  |select..... FMop|
000030d0  65 6e 3d 31 20 8c 0d 0f  d2 3d c8 99 22 46 6f 6e  |en=1 ....=.."Fon|
000030e0  74 5f 44 65 63 6f 64 65  4d 65 6e 75 22 2c 30 2c  |t_DecodeMenu",0,|
000030f0  66 6d 65 6e 75 25 2c 62  6c 6f 63 6b 2c 66 6f 6e  |fmenu%,block,fon|
00003100  74 62 6c 6b 25 2c 32 35  36 20 b8 2c 2c 2c 2c 73  |tblk%,256 .,,,,s|
00003110  69 7a 65 0d 0f dc 85 24  66 6f 6e 74 62 6c 6b 25  |ize....$fontblk%|
00003120  3d c0 24 66 6f 6e 74 62  6c 6b 25 2c 73 69 7a 65  |=.$fontblk%,size|
00003130  2d 31 29 3a 24 66 6f 6e  74 62 6c 6b 25 3d c2 24  |-1):$fontblk%=.$|
00003140  66 6f 6e 74 62 6c 6b 25  2c a9 28 24 66 6f 6e 74  |fontblk%,.($font|
00003150  62 6c 6b 25 29 2d 32 29  3a 24 66 6f 6e 74 62 6c  |blk%)-2):$fontbl|
00003160  6b 25 3d c0 24 66 6f 6e  74 62 6c 6b 25 2c a9 24  |k%=.$fontblk%,.$|
00003170  66 6f 6e 74 62 6c 6b 25  2d 28 a9 24 66 6f 6e 74  |fontblk%-(.$font|
00003180  62 6c 6b 25 2d a7 24 66  6f 6e 74 62 6c 6b 25 2c  |blk%-.$fontblk%,|
00003190  22 5c 22 29 29 2d 31 29  0d 0f e6 15 66 61 6d 69  |"\"))-1)....fami|
000031a0  6c 79 24 3d 24 66 6f 6e  74 62 6c 6b 25 0d 0f f0  |ly$=$fontblk%...|
000031b0  1a f2 69 6e 66 6f 28 74  79 70 65 25 2c 30 2c 66  |..info(type%,0,f|
000031c0  61 6d 69 6c 79 24 29 0d  0f fa 0c 46 4d 6f 70 65  |amily$)....FMope|
000031d0  6e 3d 30 0d 10 04 05 e1  0d 10 0e 05 cd 0d 10 18  |n=0.............|
000031e0  10 e7 20 46 4d 6f 70 65  6e 3d 32 20 8c 0d 10 22  |.. FMopen=2 ..."|
000031f0  2c c8 99 22 57 69 6d 70  5f 44 65 63 6f 64 65 4d  |,.."Wimp_DecodeM|
00003200  65 6e 75 22 2c 2c 73 70  72 6d 65 6e 25 2c 62 6c  |enu",,sprmen%,bl|
00003210  6f 63 6b 2c 69 63 6f 6e  64 0d 10 2c 12 63 75 72  |ock,icond..,.cur|
00003220  73 70 72 24 3d 24 69 63  6f 6e 64 0d 10 36 0c f2  |spr$=$icond..6..|
00003230  72 65 64 6f 70 69 63 0d  10 40 0c 46 4d 6f 70 65  |redopic..@.FMope|
00003240  6e 3d 30 0d 10 4a 05 e1  0d 10 54 05 cd 0d 10 5e  |n=0..J....T....^|
00003250  2e c8 99 22 57 69 6d 70  5f 44 65 63 6f 64 65 4d  |..."Wimp_DecodeM|
00003260  65 6e 75 22 2c 2c 6f 70  65 6e 6d 65 6e 75 25 2c  |enu",,openmenu%,|
00003270  62 6c 6f 63 6b 2c 69 63  6f 6e 64 0d 10 68 2b e7  |block,icond..h+.|
00003280  20 24 69 63 6f 6e 64 3d  22 51 75 69 74 22 20 8c  | $icond="Quit" .|
00003290  20 f2 61 72 65 79 6f 75  73 75 72 65 3a 71 75 69  | .areyousure:qui|
000032a0  74 69 6e 67 3d b9 0d 10  72 21 e7 20 24 69 63 6f  |ting=...r!. $ico|
000032b0  6e 64 3d 22 44 65 74 61  69 6c 73 22 20 8c 20 f2  |nd="Details" . .|
000032c0  6f 70 65 6e 64 65 74 0d  10 7c 44 e7 20 24 69 63  |opendet..|D. $ic|
000032d0  6f 6e 64 3d 22 56 69 65  77 2e 4c 65 74 74 65 72  |ond="View.Letter|
000032e0  48 65 61 64 73 22 20 8c  20 f2 6f 70 65 6e 77 69  |Heads" . .openwi|
000032f0  6e 28 6c 65 74 74 65 72  25 29 3a f2 72 65 64 72  |n(letter%):.redr|
00003300  61 77 28 6c 65 74 74 65  72 25 29 0d 10 86 3f e7  |aw(letter%)...?.|
00003310  20 24 69 63 6f 6e 64 3d  22 56 69 65 77 2e 43 6f  | $icond="View.Co|
00003320  6d 70 20 53 6c 69 70 73  22 20 8c 20 f2 6f 70 65  |mp Slips" . .ope|
00003330  6e 77 69 6e 28 63 6f 6d  70 25 29 3a f2 72 65 64  |nwin(comp%):.red|
00003340  72 61 77 28 63 6f 6d 70  25 29 0d 10 90 3f e7 20  |raw(comp%)...?. |
00003350  24 69 63 6f 6e 64 3d 22  56 69 65 77 2e 42 75 73  |$icond="View.Bus|
00003360  2e 20 43 61 72 64 73 22  20 8c 20 f2 6f 70 65 6e  |. Cards" . .open|
00003370  77 69 6e 28 63 61 72 64  25 29 3a f2 72 65 64 72  |win(card%):.redr|
00003380  61 77 28 63 61 72 64 25  29 0d 10 9a 30 e7 20 24  |aw(card%)...0. $|
00003390  69 63 6f 6e 64 3d 22 50  69 63 74 75 72 65 2e 49  |icond="Picture.I|
000033a0  6e 73 65 72 74 22 20 8c  20 f2 69 6e 73 65 72 74  |nsert" . .insert|
000033b0  28 6d 65 6e 75 77 69 6e  29 0d 10 a4 30 e7 20 24  |(menuwin)...0. $|
000033c0  69 63 6f 6e 64 3d 22 50  69 63 74 75 72 65 2e 52  |icond="Picture.R|
000033d0  65 6d 6f 76 65 22 20 8c  20 f2 72 65 6d 6f 76 65  |emove" . .remove|
000033e0  28 6d 65 6e 75 77 69 6e  29 0d 10 ae 2b e7 20 24  |(menuwin)...+. $|
000033f0  69 63 6f 6e 64 3d 22 50  69 63 74 75 72 65 2e 44  |icond="Picture.D|
00003400  65 6c 20 50 69 63 22 20  8c 20 f2 64 65 6c 65 74  |el Pic" . .delet|
00003410  65 61 6c 6c 0d 10 b8 2b  e7 20 24 69 63 6f 6e 64  |eall...+. $icond|
00003420  3d 22 53 68 6f 77 20 41  6c 6c 22 20 8c 20 f2 73  |="Show All" . .s|
00003430  68 6f 77 61 6c 6c 28 6d  65 6e 75 77 69 6e 29 0d  |howall(menuwin).|
00003440  10 c2 28 e7 20 24 69 63  6f 6e 64 3d 22 53 61 76  |..(. $icond="Sav|
00003450  65 2e 44 72 61 77 22 20  f2 6f 70 65 6e 77 69 6e  |e.Draw" .openwin|
00003460  28 73 61 76 65 25 29 0d  10 cc 29 e7 20 24 69 63  |(save%)...). $ic|
00003470  6f 6e 64 3d 22 53 61 76  65 2e 44 61 74 61 22 20  |ond="Save.Data" |
00003480  f2 6f 70 65 6e 77 69 6e  28 73 61 76 65 64 25 29  |.openwin(saved%)|
00003490  0d 10 d6 22 c8 99 22 57  69 6d 70 5f 47 65 74 50  |...".."Wimp_GetP|
000034a0  6f 69 6e 74 65 72 49 6e  66 6f 22 2c 2c 62 6c 6f  |ointerInfo",,blo|
000034b0  63 6b 0d 10 e0 11 e7 20  62 6c 6f 63 6b 21 38 3d  |ck..... block!8=|
000034c0  31 20 8c 0d 10 ea 14 62  6c 6f 63 6b 21 31 32 3d  |1 .....block!12=|
000034d0  6d 65 6e 75 77 69 6e 0d  10 f4 0b f2 63 6d 65 6e  |menuwin.....cmen|
000034e0  75 73 0d 10 fe 22 c8 99  22 57 69 6d 70 5f 43 72  |us...".."Wimp_Cr|
000034f0  65 61 74 65 4d 65 6e 75  22 2c 2c 6f 70 65 6e 6d  |eateMenu",,openm|
00003500  65 6e 75 25 0d 11 08 05  cc 0d 11 12 1b c8 99 22  |enu%..........."|
00003510  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
00003520  2c 2c 2d 31 0d 11 1c 05  cd 0d 11 26 05 e1 0d 11  |,,-1.......&....|
00003530  30 04 0d 11 3a 11 dd f2  6d 65 73 73 28 6d 65 73  |0...:...mess(mes|
00003540  73 24 29 0d 11 44 20 21  69 63 6f 6e 64 3d 30 3a  |s$)..D !icond=0:|
00003550  24 28 69 63 6f 6e 64 2b  34 29 3d 6d 65 73 73 24  |$(icond+4)=mess$|
00003560  2b bd 30 0d 11 4e 2d c8  99 22 57 69 6d 70 5f 52  |+.0..N-.."Wimp_R|
00003570  65 70 6f 72 74 45 72 72  6f 72 22 2c 69 63 6f 6e  |eportError",icon|
00003580  64 2c 31 2c 22 21 53 74  61 74 69 6f 6e 65 72 22  |d,1,"!Stationer"|
00003590  0d 11 58 05 e1 0d 11 62  04 0d 11 6c 11 dd f2 65  |..X....b...l...e|
000035a0  72 72 6f 72 28 65 72 72  24 29 0d 11 76 0d e7 20  |rror(err$)..v.. |
000035b0  9f 3d 35 32 33 20 8c 0d  11 80 25 f2 6d 65 73 73  |.=523 ....%.mess|
000035c0  28 22 46 6f 6e 74 20 22  2b 66 6f 6e 74 24 2b 22  |("Font "+font$+"|
000035d0  20 6e 6f 74 20 66 6f 75  6e 64 22 29 0d 11 8a 2f  | not found").../|
000035e0  f2 63 6c 6f 73 65 28 63  61 72 64 25 29 3a f2 63  |.close(card%):.c|
000035f0  6c 6f 73 65 28 63 6f 6d  70 25 29 3a f2 63 6c 6f  |lose(comp%):.clo|
00003600  73 65 28 6c 65 74 74 65  72 25 29 0d 11 94 05 cc  |se(letter%).....|
00003610  0d 11 9e 4d 21 69 63 6f  6e 64 3d 30 3a 24 28 69  |...M!icond=0:$(i|
00003620  63 6f 6e 64 2b 34 29 3d  65 72 72 24 2b 22 2e 22  |cond+4)=err$+"."|
00003630  2b 22 20 50 72 65 73 73  20 4f 4b 20 74 6f 20 63  |+" Press OK to c|
00003640  6f 6e 74 69 6e 75 65 20  6f 72 20 43 61 6e 63 65  |ontinue or Cance|
00003650  6c 20 74 6f 20 71 75 69  74 22 2b bd 30 0d 11 a8  |l to quit"+.0...|
00003660  34 c8 99 22 57 69 6d 70  5f 52 65 70 6f 72 74 45  |4.."Wimp_ReportE|
00003670  72 72 6f 72 22 2c 69 63  6f 6e 64 2c 33 2c 22 21  |rror",icond,3,"!|
00003680  53 74 61 74 69 6f 6e 65  72 22 20 b8 20 2c 62 75  |Stationer" . ,bu|
00003690  74 0d 11 b2 12 e7 20 62  75 74 3d 32 20 8c 20 f2  |t..... but=2 . .|
000036a0  65 6e 64 0d 11 bc 05 cd  0d 11 c6 05 e1 0d 11 d0  |end.............|
000036b0  04 0d 11 da 09 dd f2 6f  75 74 0d 11 e4 18 c8 99  |.......out......|
000036c0  22 44 72 61 67 41 53 70  72 69 74 65 5f 53 74 6f  |"DragASprite_Sto|
000036d0  70 22 0d 11 ee 2e e7 20  77 69 6e 73 61 76 65 25  |p"..... winsave%|
000036e0  3d 73 61 76 65 64 72 61  77 25 20 8c 20 73 74 65  |=savedraw% . ste|
000036f0  78 74 3d 73 74 65 78 64  3a 66 74 3d 26 41 46 46  |xt=stexd:ft=&AFF|
00003700  0d 11 f8 2e e7 20 77 69  6e 73 61 76 65 25 3d 73  |..... winsave%=s|
00003710  61 76 65 64 72 61 77 25  20 8c 20 73 74 65 78 74  |avedraw% . stext|
00003720  3d 73 74 65 78 64 3a 66  74 3d 26 30 30 43 0d 12  |=stexd:ft=&00C..|
00003730  02 63 e7 20 77 69 6e 73  61 76 65 25 3d 73 61 76  |.c. winsave%=sav|
00003740  65 70 69 63 25 20 80 20  a4 63 68 65 63 6b 66 6c  |epic% . .checkfl|
00003750  61 67 28 73 61 76 65 70  69 63 25 2c 34 2c 32 31  |ag(savepic%,4,21|
00003760  29 20 73 74 65 78 74 3d  73 74 65 78 74 70 69 63  |) stext=stextpic|
00003770  3a 66 74 3d 26 46 46 39  20 8b 20 73 74 65 78 74  |:ft=&FF9 . stext|
00003780  3d 73 74 65 78 74 70 69  63 3a 66 74 3d 26 41 46  |=stextpic:ft=&AF|
00003790  46 0d 12 0c 10 e7 20 64  72 69 76 65 25 3d 31 20  |F..... drive%=1 |
000037a0  8c 0d 12 16 24 c8 99 20  22 57 69 6d 70 5f 47 65  |....$.. "Wimp_Ge|
000037b0  74 50 6f 69 6e 74 65 72  49 6e 66 6f 22 2c 2c 6d  |tPointerInfo",,m|
000037c0  62 6c 6f 63 6b 0d 12 20  3c 77 69 6e 3d 6d 62 6c  |block.. <win=mbl|
000037d0  6f 63 6b 21 31 32 3a 69  63 6f 6e 3d 6d 62 6c 6f  |ock!12:icon=mblo|
000037e0  63 6b 21 31 36 3a 78 6f  75 74 3d 21 6d 62 6c 6f  |ck!16:xout=!mblo|
000037f0  63 6b 3a 79 6f 75 74 3d  6d 62 6c 6f 63 6b 21 34  |ck:yout=mblock!4|
00003800  3a 0d 12 2a 50 6d 62 6c  6f 63 6b 21 32 30 3d 6d  |:..*Pmblock!20=m|
00003810  62 6c 6f 63 6b 21 31 32  3a 6d 62 6c 6f 63 6b 21  |block!12:mblock!|
00003820  32 34 3d 6d 62 6c 6f 63  6b 21 31 36 3a 6d 62 6c  |24=mblock!16:mbl|
00003830  6f 63 6b 21 32 38 3d 21  6d 62 6c 6f 63 6b 3a 6d  |ock!28=!mblock:m|
00003840  62 6c 6f 63 6b 21 33 32  3d 6d 62 6c 6f 63 6b 21  |block!32=mblock!|
00003850  34 0d 12 34 37 6d 62 6c  6f 63 6b 21 31 32 3d 30  |4..47mblock!12=0|
00003860  3a 6d 62 6c 6f 63 6b 21  31 36 3d 31 3a 6d 62 6c  |:mblock!16=1:mbl|
00003870  6f 63 6b 21 33 36 3d 31  30 32 34 3a 6d 62 6c 6f  |ock!36=1024:mblo|
00003880  63 6b 21 34 30 3d 66 74  0d 12 3e 1d 24 73 74 65  |ck!40=ft..>.$ste|
00003890  78 74 3d 24 a4 69 6e 66  6f 28 77 69 6e 73 61 76  |xt=$.info(winsav|
000038a0  65 25 2c 32 29 0d 12 48  1b 24 73 74 65 78 74 3d  |e%,2)..H.$stext=|
000038b0  a4 67 65 74 6c 65 61 66  28 24 73 74 65 78 74 29  |.getleaf($stext)|
000038c0  0d 12 52 29 e3 20 49 3d  30 20 b8 20 32 35 35 3a  |..R). I=0 . 255:|
000038d0  e7 20 49 3f 73 74 65 78  74 3c 33 32 20 8c 20 49  |. I?stext<32 . I|
000038e0  3f 73 74 65 78 74 3d 31  33 0d 12 5c 05 ed 0d 12  |?stext=13..\....|
000038f0  66 20 21 6d 62 6c 6f 63  6b 3d 34 34 2b 34 2a 28  |f !mblock=44+4*(|
00003900  31 2b 28 a9 24 73 74 65  78 74 29 81 34 29 0d 12  |1+(.$stext).4)..|
00003910  70 2b 24 28 6d 62 6c 6f  63 6b 2b 34 34 29 3d a4  |p+$(mblock+44)=.|
00003920  62 69 74 28 24 73 74 65  78 74 29 2b bd 30 3a 21  |bit($stext)+.0:!|
00003930  6d 62 6c 6f 63 6b 3d 36  30 0d 12 7a 42 c8 99 20  |mblock=60..zB.. |
00003940  22 57 69 6d 70 5f 53 65  6e 64 4d 65 73 73 61 67  |"Wimp_SendMessag|
00003950  65 22 2c 31 37 2c 6d 62  6c 6f 63 6b 2c 6d 62 6c  |e",17,mblock,mbl|
00003960  6f 63 6b 21 32 30 2c 6d  62 6c 6f 63 6b 21 32 34  |ock!20,mblock!24|
00003970  3a f4 20 44 61 74 61 53  61 76 65 0d 12 84 0b 64  |:. DataSave....d|
00003980  72 61 67 25 3d a3 0d 12  8e 05 cd 0d 12 98 05 e1  |rag%=...........|
00003990  0d 12 a2 04 0d 12 ac 0d  dd f2 64 65 66 73 61 76  |..........defsav|
000039a0  65 0d 12 b6 09 f2 4d 6f  64 65 0d 12 c0 29 e7 20  |e.....Mode...). |
000039b0  77 69 6e 73 61 76 65 25  3d 73 61 76 65 64 72 61  |winsave%=savedra|
000039c0  77 25 20 8c 20 66 74 24  3d 22 66 69 6c 65 5f 41  |w% . ft$="file_A|
000039d0  46 46 22 0d 12 ca 25 e7  20 77 69 6e 73 61 76 65  |FF"...%. winsave|
000039e0  25 3d 73 61 76 65 25 20  8c 20 66 74 24 3d 22 66  |%=save% . ft$="f|
000039f0  69 6c 65 5f 30 30 43 22  0d 12 d4 53 e7 20 77 69  |ile_00C"...S. wi|
00003a00  6e 73 61 76 65 25 3d 73  61 76 65 70 69 63 25 20  |nsave%=savepic% |
00003a10  80 20 a4 63 68 65 63 6b  66 6c 61 67 28 73 61 76  |. .checkflag(sav|
00003a20  65 70 69 63 25 2c 34 2c  32 31 29 20 66 74 24 3d  |epic%,4,21) ft$=|
00003a30  22 66 69 6c 65 5f 46 46  39 22 20 8b 20 66 74 24  |"file_FF9" . ft$|
00003a40  3d 22 66 69 6c 65 5f 41  46 46 22 0d 12 de 13 21  |="file_AFF"....!|
00003a50  62 6c 6f 63 6b 3d 77 69  6e 73 61 76 65 25 0d 12  |block=winsave%..|
00003a60  e8 23 c8 99 20 22 57 69  6d 70 5f 47 65 74 57 69  |.#.. "Wimp_GetWi|
00003a70  6e 64 6f 77 53 74 61 74  65 22 2c 2c 62 6c 6f 63  |ndowState",,bloc|
00003a80  6b 0d 12 f2 1b 79 73 69  7a 65 25 3d 62 6c 6f 63  |k....ysize%=bloc|
00003a90  6b 21 31 36 2d 62 6c 6f  63 6b 21 38 0d 12 fc 23  |k!16-block!8...#|
00003aa0  78 25 3d 62 6c 6f 63 6b  21 34 3a 79 25 3d 62 6c  |x%=block!4:y%=bl|
00003ab0  6f 63 6b 21 38 3a 62 6c  6f 63 6b 21 34 3d 31 0d  |ock!8:block!4=1.|
00003ac0  13 06 20 c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |.. .."Wimp_GetIc|
00003ad0  6f 6e 53 74 61 74 65 22  2c 2c 62 6c 6f 63 6b 0d  |onState",,block.|
00003ae0  13 10 23 62 6c 6f 63 6b  21 38 2b 3d 78 25 3a 62  |..#block!8+=x%:b|
00003af0  6c 6f 63 6b 21 31 32 2b  3d 79 25 2b 79 73 69 7a  |lock!12+=y%+ysiz|
00003b00  65 25 0d 13 1a 24 62 6c  6f 63 6b 21 31 36 2b 3d  |e%...$block!16+=|
00003b10  78 25 3a 62 6c 6f 63 6b  21 32 30 2b 3d 79 25 2b  |x%:block!20+=y%+|
00003b20  79 73 69 7a 65 25 0d 13  24 35 62 6c 6f 63 6b 21  |ysize%..$5block!|
00003b30  32 34 3d 30 3a 62 6c 6f  63 6b 21 32 38 3d 30 3a  |24=0:block!28=0:|
00003b40  62 6c 6f 63 6b 21 33 32  3d 78 6d 61 78 3a 62 6c  |block!32=xmax:bl|
00003b50  6f 63 6b 21 33 36 3d 79  6d 61 78 0d 13 2e 27 21  |ock!36=ymax...'!|
00003b60  62 6c 6f 63 6b 3d 30 3a  62 6c 6f 63 6b 21 34 3d  |block=0:block!4=|
00003b70  35 3a 64 72 61 67 25 3d  b9 3a 64 72 69 76 65 25  |5:drag%=.:drive%|
00003b80  3d 31 0d 13 38 55 e7 20  64 61 73 70 72 20 8c 20  |=1..8U. daspr . |
00003b90  c8 99 22 44 72 61 67 41  53 70 72 69 74 65 5f 53  |.."DragASprite_S|
00003ba0  74 61 72 74 22 2c 25 31  30 30 30 30 31 30 31 2c  |tart",%10000101,|
00003bb0  31 2c 66 74 24 2c 62 6c  6f 63 6b 2b 38 20 8b 20  |1,ft$,block+8 . |
00003bc0  c8 99 22 57 69 6d 70 5f  44 72 61 67 42 6f 78 22  |.."Wimp_DragBox"|
00003bd0  2c 2c 62 6c 6f 63 6b 0d  13 42 05 e1 0d 13 4c 04  |,,block..B....L.|
00003be0  0d 13 56 0a dd f2 4d 6f  64 65 0d 13 60 4d 21 62  |..V...Mode..`M!b|
00003bf0  6c 6f 63 6b 3d 31 33 30  3a 62 6c 6f 63 6b 21 34  |lock=130:block!4|
00003c00  3d 31 33 31 3a 62 6c 6f  63 6b 21 38 3d 2d 31 3a  |=131:block!8=-1:|
00003c10  c8 99 22 4f 53 5f 52 65  61 64 56 64 75 56 61 72  |.."OS_ReadVduVar|
00003c20  69 61 62 6c 65 73 22 2c  62 6c 6f 63 6b 2c 62 6c  |iables",block,bl|
00003c30  6f 63 6b 2b 31 32 38 0d  13 6a 29 c8 99 22 4f 53  |ock+128..j).."OS|
00003c40  5f 52 65 61 64 4d 6f 64  65 56 61 72 69 61 62 6c  |_ReadModeVariabl|
00003c50  65 22 2c eb 2c 34 20 b8  20 2c 2c 58 65 69 67 25  |e",.,4 . ,,Xeig%|
00003c60  0d 13 74 29 c8 99 22 4f  53 5f 52 65 61 64 4d 6f  |..t).."OS_ReadMo|
00003c70  64 65 56 61 72 69 61 62  6c 65 22 2c eb 2c 35 20  |deVariable",.,5 |
00003c80  b8 20 2c 2c 59 65 69 67  25 0d 13 7e 3d 78 6d 61  |. ,,Yeig%..~=xma|
00003c90  78 3d 28 28 62 6c 6f 63  6b 21 31 32 38 29 2b 31  |x=((block!128)+1|
00003ca0  29 2a 32 5e 58 65 69 67  25 3a 79 6d 61 78 3d 28  |)*2^Xeig%:ymax=(|
00003cb0  28 62 6c 6f 63 6b 21 31  33 32 29 2b 31 29 2a 32  |(block!132)+1)*2|
00003cc0  5e 59 65 69 67 25 0d 13  88 05 e1 0d 13 92 04 0d  |^Yeig%..........|
00003cd0  13 9c 14 dd a4 67 65 74  6c 65 61 66 28 6c 65 61  |.....getleaf(lea|
00003ce0  66 24 29 0d 13 a6 12 c8  95 20 a7 6c 65 61 66 24  |f$)...... .leaf$|
00003cf0  2c 22 2e 22 29 0d 13 b0  1f 6c 65 61 66 24 3d c1  |,".")....leaf$=.|
00003d00  6c 65 61 66 24 2c a7 6c  65 61 66 24 2c 22 2e 22  |leaf$,.leaf$,"."|
00003d10  29 2b 31 29 0d 13 ba 0c  ce 3a 3d 6c 65 61 66 24  |)+1).....:=leaf$|
00003d20  0d 13 c4 04 0d 13 ce 11  dd f2 73 61 76 65 28 73  |..........save(s|
00003d30  61 76 65 24 29 0d 13 d8  84 e7 20 a7 73 61 76 65  |ave$)..... .save|
00003d40  24 2c 22 2e 22 29 3c 31  20 80 20 a7 73 61 76 65  |$,".")<1 . .save|
00003d50  24 2c 22 3a 22 29 3c 31  20 80 20 73 61 76 65 24  |$,":")<1 . save$|
00003d60  3c 3e 22 3c 57 69 6d 70  24 53 63 72 61 70 3e 22  |<>"<Wimp$Scrap>"|
00003d70  20 8c 20 f2 71 75 65 72  79 28 22 54 6f 20 73 61  | . .query("To sa|
00003d80  76 65 2c 20 64 72 61 67  20 74 68 65 20 73 61 76  |ve, drag the sav|
00003d90  65 20 69 63 6f 6e 20 74  6f 20 61 20 64 69 72 65  |e icon to a dire|
00003da0  63 74 6f 72 79 20 76 69  65 77 65 72 22 29 3a 6e  |ctory viewer"):n|
00003db0  6f 73 61 76 65 3d b9 3a  e1 0d 13 e2 83 e7 20 77  |osave=.:...... w|
00003dc0  69 6e 73 61 76 65 25 3d  73 61 76 65 25 20 8c 20  |insave%=save% . |
00003dd0  f2 6d 65 73 73 28 22 53  6f 72 72 79 2c 20 74 68  |.mess("Sorry, th|
00003de0  69 73 20 76 65 72 73 69  6f 6e 20 69 73 20 75 6e  |is version is un|
00003df0  61 62 6c 65 20 74 6f 20  73 61 76 65 2e 20 52 65  |able to save. Re|
00003e00  67 69 73 74 65 72 20 66  6f 72 20 66 75 6c 6c 20  |gister for full |
00003e10  76 65 72 73 69 6f 6e 2e  20 53 65 65 20 48 65 6c  |version. See Hel|
00003e20  70 20 66 69 6c 65 20 66  6f 72 20 66 75 72 74 68  |p file for furth|
00003e30  65 72 20 64 65 74 61 69  6c 73 22 29 0d 13 ec 87  |er details")....|
00003e40  e7 20 77 69 6e 73 61 76  65 25 3d 73 61 76 65 64  |. winsave%=saved|
00003e50  72 61 77 25 20 8c 20 f2  6d 65 73 73 28 22 53 6f  |raw% . .mess("So|
00003e60  72 72 79 2c 20 74 68 69  73 20 76 65 72 73 69 6f  |rry, this versio|
00003e70  6e 20 69 73 20 75 6e 61  62 6c 65 20 74 6f 20 73  |n is unable to s|
00003e80  61 76 65 2e 20 52 65 67  69 73 74 65 72 20 66 6f  |ave. Register fo|
00003e90  72 20 66 75 6c 6c 20 76  65 72 73 69 6f 6e 2e 20  |r full version. |
00003ea0  53 65 65 20 48 65 6c 70  20 66 69 6c 65 20 66 6f  |See Help file fo|
00003eb0  72 20 66 75 72 74 68 65  72 20 64 65 74 61 69 6c  |r further detail|
00003ec0  73 22 29 0d 13 f6 22 e7  20 77 69 6e 73 61 76 65  |s")...". winsave|
00003ed0  25 3d 73 61 76 65 70 69  63 25 20 8c 20 f2 73 61  |%=savepic% . .sa|
00003ee0  76 65 70 69 63 0d 14 00  05 e1 0d 14 0a 04 0d 14  |vepic...........|
00003ef0  14 0d dd f2 73 61 76 65  70 69 63 0d 14 1e 07 ea  |....savepic.....|
00003f00  20 85 0d 14 28 5e ee 20  85 20 ea 20 e7 20 9f 3d  | ...(^. . . . .=|
00003f10  37 31 36 32 32 3a f2 71  75 65 72 79 28 22 44 69  |71622:.query("Di|
00003f20  73 63 20 46 75 6c 6c 22  29 3a 66 75 6c 6c 3d b9  |sc Full"):full=.|
00003f30  3a f7 20 85 3a e1 3a 8b  20 f7 20 85 3a f2 65 72  |:. .:.:. . .:.er|
00003f40  72 6f 72 28 f6 24 2b 22  20 3a 20 61 74 20 6c 69  |ror(.$+" : at li|
00003f50  6e 65 20 22 2b c3 9e 29  3a d9 23 69 6c 65 3a e0  |ne "+..):.#ile:.|
00003f60  0d 14 32 22 53 53 70 72  3d a4 63 68 65 63 6b 66  |..2"SSpr=.checkf|
00003f70  6c 61 67 28 73 61 76 65  70 69 63 25 2c 34 2c 32  |lag(savepic%,4,2|
00003f80  31 29 0d 14 3c 0c e7 20  53 53 70 72 20 8c 0d 14  |1)..<.. SSpr ...|
00003f90  46 32 c8 99 22 4f 53 5f  46 69 6c 65 22 2c 30 2c  |F2.."OS_File",0,|
00003fa0  73 61 76 65 24 2c 30 2c  30 2c 73 70 72 25 2b 34  |save$,0,0,spr%+4|
00003fb0  2c 73 70 72 25 2b 28 73  70 72 6c 65 6e 2b 34 29  |,spr%+(sprlen+4)|
00003fc0  0d 14 50 1e c8 99 22 4f  53 5f 46 69 6c 65 22 2c  |..P..."OS_File",|
00003fd0  26 31 32 2c 73 61 76 65  24 2c 26 66 66 39 0d 14  |&12,save$,&ff9..|
00003fe0  5a 05 cd 0d 14 64 0e e7  20 ac 20 53 53 70 72 20  |Z....d.. . SSpr |
00003ff0  8c 0d 14 6e 33 c8 99 22  4f 53 5f 46 69 6c 65 22  |...n3.."OS_File"|
00004000  2c 30 2c 73 61 76 65 24  2c 30 2c 30 2c 64 72 61  |,0,save$,0,0,dra|
00004010  77 70 74 72 25 2c 64 72  61 77 70 74 72 25 2b 64  |wptr%,drawptr%+d|
00004020  72 61 77 6b 0d 14 78 1e  c8 99 22 4f 53 5f 46 69  |rawk..x..."OS_Fi|
00004030  6c 65 22 2c 26 31 32 2c  73 61 76 65 24 2c 26 41  |le",&12,save$,&A|
00004040  46 46 0d 14 82 05 cd 0d  14 8c 33 e7 20 73 61 76  |FF........3. sav|
00004050  65 24 3c 3e 22 3c 57 69  6d 70 24 53 63 72 61 70  |e$<>"<Wimp$Scrap|
00004060  3e 22 20 f2 69 6e 66 6f  28 73 61 76 65 70 69 63  |>" .info(savepic|
00004070  25 2c 32 2c 73 61 76 65  24 29 0d 14 96 05 e1 0d  |%,2,save$)......|
00004080  14 a0 04 0d 14 aa 0c dd  f2 64 72 61 67 69 6e 0d  |.........dragin.|
00004090  14 b4 1c e7 20 69 74 65  6d 70 75 6c 6c 20 8c 20  |.... itempull . |
000040a0  f2 72 65 73 69 7a 65 69  74 65 6d 0d 14 be 1a e7  |.resizeitem.....|
000040b0  20 69 74 65 6d 64 72 61  67 20 8c 20 f2 64 72 6f  | itemdrag . .dro|
000040c0  70 69 74 65 6d 0d 14 c8  12 e7 20 64 72 61 67 25  |pitem..... drag%|
000040d0  20 8c 20 f2 6f 75 74 0d  14 d2 05 e1 0d 14 dc 04  | . .out.........|
000040e0  0d 14 e6 0f dd f2 6d 65  73 73 61 67 65 69 6e 0d  |......messagein.|
000040f0  14 f0 10 6d 62 6c 6f 63  6b 3d 62 6c 6f 63 6b 0d  |...mblock=block.|
00004100  14 fa 1e 72 65 66 3d 6d  62 6c 6f 63 6b 21 38 3a  |...ref=mblock!8:|
00004110  74 61 73 6b 3d 6d 62 6c  6f 63 6b 21 34 0d 15 04  |task=mblock!4...|
00004120  12 c8 8e 20 6d 62 6c 6f  63 6b 21 31 36 20 ca 0d  |... mblock!16 ..|
00004130  15 0e 08 c9 20 38 3a 0d  15 18 0f e7 20 ac 20 73  |.... 8:..... . s|
00004140  61 76 65 66 20 8c 0d 15  22 35 e7 20 28 6d 62 6c  |avef ..."5. (mbl|
00004150  6f 63 6b 21 32 30 20 80  20 28 31 3c 3c 30 29 29  |ock!20 . (1<<0))|
00004160  3e 30 20 8c 20 71 75 69  74 69 6e 67 3d b9 20 8b  |>0 . quiting=. .|
00004170  20 73 68 75 74 64 6f 77  6e 3d b9 0d 15 2c 1c e7  | shutdown=...,..|
00004180  20 71 75 69 74 69 6e 67  20 8c 20 f1 8a 30 2c 30  | quiting . ..0,0|
00004190  29 22 51 75 69 74 22 0d  15 36 21 e7 20 73 68 75  |)"Quit"..6!. shu|
000041a0  74 64 6f 77 6e 20 8c 20  f1 8a 31 2c 31 29 22 53  |tdown . ..1,1)"S|
000041b0  68 75 74 64 6f 77 6e 22  0d 15 40 41 6d 62 6c 6f  |hutdown"..@Amblo|
000041c0  63 6b 21 31 32 3d 6d 62  6c 6f 63 6b 21 38 3a c8  |ck!12=mblock!8:.|
000041d0  99 22 57 69 6d 70 5f 53  65 6e 64 4d 65 73 73 61  |."Wimp_SendMessa|
000041e0  67 65 22 2c 31 39 2c 6d  62 6c 6f 63 6b 3a f2 61  |ge",19,mblock:.a|
000041f0  72 65 79 6f 75 73 75 72  65 0d 15 4a 05 cd 0d 15  |reyousure..J....|
00004200  54 0c c9 20 30 3a f2 65  6e 64 0d 15 5e 08 c9 20  |T.. 0:.end..^.. |
00004210  32 3a 0d 15 68 10 e7 20  64 72 69 76 65 25 3d 31  |2:..h.. drive%=1|
00004220  20 8c 0d 15 72 1b f2 73  61 76 65 28 a4 77 6f 6f  | ...r..save(.woo|
00004230  6c 28 6d 62 6c 6f 63 6b  2b 34 34 29 29 0d 15 7c  |l(mblock+44))..||
00004240  11 6d 62 6c 6f 63 6b 21  31 32 3d 72 65 66 0d 15  |.mblock!12=ref..|
00004250  86 0f 6d 62 6c 6f 63 6b  21 31 36 3d 33 0d 15 90  |..mblock!16=3...|
00004260  10 6d 62 6c 6f 63 6b 21  33 36 3d 2d 31 0d 15 9a  |.mblock!36=-1...|
00004270  0f 21 6d 62 6c 6f 63 6b  3d 32 35 36 0d 15 a4 10  |.!mblock=256....|
00004280  73 65 6e 64 6d 3d 26 34  30 30 45 37 0d 15 ae 26  |sendm=&400E7...&|
00004290  c8 99 20 73 65 6e 64 6d  2c 31 38 2c 6d 62 6c 6f  |.. sendm,18,mblo|
000042a0  63 6b 2c 74 61 73 6b 3a  f4 20 44 61 74 61 4c 6f  |ck,task:. DataLo|
000042b0  61 64 0d 15 b8 05 cd 0d  15 c2 08 c9 20 33 3a 0d  |ad.......... 3:.|
000042c0  15 cc 84 e7 20 6d 62 6c  6f 63 6b 21 34 30 3c 3e  |.... mblock!40<>|
000042d0  26 30 43 44 20 80 20 6d  62 6c 6f 63 6b 21 34 30  |&0CD . mblock!40|
000042e0  3c 3e 26 46 46 39 20 80  20 6d 62 6c 6f 63 6b 21  |<>&FF9 . mblock!|
000042f0  34 30 3c 3e 26 41 46 46  20 8c 20 f2 6d 65 73 73  |40<>&AFF . .mess|
00004300  28 22 4f 6e 6c 79 20 53  74 61 74 69 6f 6e 65 72  |("Only Stationer|
00004310  20 44 61 74 61 20 66 69  6c 65 73 20 6f 72 20 53  | Data files or S|
00004320  70 72 69 74 65 73 20 63  61 6e 20 62 65 20 64 72  |prites can be dr|
00004330  6f 70 70 65 64 20 69 6e  74 6f 20 68 65 72 65 22  |opped into here"|
00004340  29 3a e1 0d 15 d6 08 69  6e 3d b9 0d 15 e0 40 f2  |):.....in=....@.|
00004350  63 6c 6f 73 65 28 63 6f  6c 6f 75 72 25 29 3a f2  |close(colour%):.|
00004360  63 6c 6f 73 65 28 74 79  70 65 25 29 3a f2 63 6c  |close(type%):.cl|
00004370  6f 73 65 28 62 61 63 6b  25 29 3a f2 63 6c 6f 73  |ose(back%):.clos|
00004380  65 28 70 69 63 74 75 72  65 25 29 0d 15 ea 21 e7  |e(picture%)...!.|
00004390  20 6d 62 6c 6f 63 6b 21  34 30 3d 26 46 46 39 20  | mblock!40=&FF9 |
000043a0  8c 20 f2 69 6e 73 70 72  69 74 65 73 0d 15 f4 1e  |. .insprites....|
000043b0  e7 20 6d 62 6c 6f 63 6b  21 34 30 3d 26 41 46 46  |. mblock!40=&AFF|
000043c0  20 8c 20 f2 69 6e 64 72  61 77 0d 15 fe 2d e7 20  | . .indraw...-. |
000043d0  6d 62 6c 6f 63 6b 21 34  30 3d 26 30 43 44 20 8c  |mblock!40=&0CD .|
000043e0  20 f2 6c 6f 61 64 28 a4  77 6f 6f 6c 28 62 6c 6f  | .load(.wool(blo|
000043f0  63 6b 2b 34 34 29 29 0d  16 08 08 c9 20 35 3a 0d  |ck+44))..... 5:.|
00004400  16 12 15 e7 20 62 6c 6f  63 6b 21 34 30 3d 26 30  |.... block!40=&0|
00004410  43 44 20 8c 0d 16 1c 1f  62 6c 6f 63 6b 21 31 32  |CD .....block!12|
00004420  3d 62 6c 6f 63 6b 21 38  3a 62 6c 6f 63 6b 21 31  |=block!8:block!1|
00004430  36 3d 34 0d 16 26 10 73  65 6e 64 6d 3d 26 34 30  |6=4..&.sendm=&40|
00004440  30 45 37 0d 16 30 2b c8  99 20 73 65 6e 64 6d 2c  |0E7..0+.. sendm,|
00004450  31 38 2c 62 6c 6f 63 6b  2c 62 6c 6f 63 6b 21 34  |18,block,block!4|
00004460  3a f4 20 44 61 74 61 4c  6f 61 64 41 63 6b 0d 16  |:. DataLoadAck..|
00004470  3a 1a f2 6c 6f 61 64 28  a4 77 6f 6f 6c 28 62 6c  |:..load(.wool(bl|
00004480  6f 63 6b 2b 34 34 29 29  0d 16 44 05 cd 0d 16 4e  |ock+44))..D....N|
00004490  05 cb 0d 16 58 05 e1 0d  16 62 04 0d 16 6c 11 dd  |....X....b...l..|
000044a0  f2 6c 6f 61 64 28 6c 6f  61 64 24 29 0d 16 76 21  |.load(load$)..v!|
000044b0  c8 99 22 4f 53 5f 46 69  6e 64 22 2c 26 34 30 2c  |.."OS_Find",&40,|
000044c0  6c 6f 61 64 24 20 b8 20  66 69 6c 65 25 0d 16 80  |load$ . file%...|
000044d0  09 74 24 3d 22 22 0d 16  8a 10 74 24 3d a4 72 65  |.t$=""....t$=.re|
000044e0  61 64 66 69 6c 65 0d 16  94 62 e7 20 74 24 3c 3e  |adfile...b. t$<>|
000044f0  22 53 74 61 74 69 6f 6e  65 72 20 44 61 74 61 20  |"Stationer Data |
00004500  46 69 6c 65 22 20 8c 20  f2 6d 65 73 73 28 22 54  |File" . .mess("T|
00004510  68 69 73 20 69 73 20 6e  6f 74 20 61 20 53 74 61  |his is not a Sta|
00004520  74 69 6f 6e 65 72 20 64  61 74 61 20 66 69 6c 65  |tioner data file|
00004530  22 29 3a c8 99 22 4f 53  5f 46 69 6e 64 22 2c 30  |"):.."OS_Find",0|
00004540  2c 66 69 6c 65 25 3a e1  0d 16 9e 0e f2 64 65 6c  |,file%:......del|
00004550  65 74 65 61 6c 6c 0d 16  a8 39 e7 20 a4 72 65 61  |eteall...9. .rea|
00004560  64 66 69 6c 65 3d 22 53  70 72 69 74 65 73 22 20  |dfile="Sprites" |
00004570  8c 20 73 70 72 69 74 65  73 3d b9 3a 73 70 72 6c  |. sprites=.:sprl|
00004580  65 6e 3d bb 28 a4 72 65  61 64 66 69 6c 65 29 0d  |en=.(.readfile).|
00004590  16 b2 38 e7 20 a4 72 65  61 64 66 69 6c 65 3d 22  |..8. .readfile="|
000045a0  44 72 61 77 69 6e 67 22  20 8c 20 64 72 61 77 69  |Drawing" . drawi|
000045b0  6e 67 3d b9 3a 64 72 61  77 6b 3d bb 28 a4 72 65  |ng=.:drawk=.(.re|
000045c0  61 64 66 69 6c 65 29 0d  16 bc 26 c8 99 22 4f 53  |adfile)...&.."OS|
000045d0  5f 47 42 50 42 22 2c 34  2c 66 69 6c 65 25 2c 77  |_GBPB",4,file%,w|
000045e0  6f 72 6b 62 6c 6b 2c 38  2a 31 30 32 34 0d 16 c6  |orkblk,8*1024...|
000045f0  53 e7 20 73 70 72 69 74  65 73 20 8c 20 73 70 72  |S. sprites . spr|
00004600  25 3d 28 a4 63 6c 61 69  6d 28 73 70 72 6c 65 6e  |%=(.claim(sprlen|
00004610  2b 32 35 36 29 29 3a c8  99 22 4f 53 5f 47 42 50  |+256)):.."OS_GBP|
00004620  42 22 2c 34 2c 66 69 6c  65 25 2c 73 70 72 25 2b  |B",4,file%,spr%+|
00004630  34 2c 73 70 72 6c 65 6e  3a f2 73 70 72 6d 65 6e  |4,sprlen:.sprmen|
00004640  0d 16 d0 4f e7 20 64 72  61 77 69 6e 67 20 8c 20  |...O. drawing . |
00004650  64 72 61 77 70 74 72 25  3d 28 a4 63 6c 61 69 6d  |drawptr%=(.claim|
00004660  28 64 72 61 77 6b 2b 32  35 36 29 29 3a c8 99 22  |(drawk+256)):.."|
00004670  4f 53 5f 47 42 50 42 22  2c 34 2c 66 69 6c 65 25  |OS_GBPB",4,file%|
00004680  2c 64 72 61 77 70 74 72  25 2c 64 72 61 77 6b 0d  |,drawptr%,drawk.|
00004690  16 da 17 c8 99 22 4f 53  5f 46 69 6e 64 22 2c 30  |....."OS_Find",0|
000046a0  2c 66 69 6c 65 25 0d 16  e4 19 24 a4 69 6e 66 6f  |,file%....$.info|
000046b0  28 73 61 76 65 25 2c 32  29 3d 6c 6f 61 64 24 0d  |(save%,2)=load$.|
000046c0  16 ee 20 e7 20 6e 6f 69  63 3d 30 20 73 61 76 65  |.. . noic=0 save|
000046d0  66 3d b9 3a f2 74 69 74  6c 65 73 28 22 22 29 0d  |f=.:.titles("").|
000046e0  16 f8 32 f2 72 65 64 72  61 77 28 63 61 72 64 25  |..2.redraw(card%|
000046f0  29 3a f2 72 65 64 72 61  77 28 63 6f 6d 70 25 29  |):.redraw(comp%)|
00004700  3a f2 72 65 64 72 61 77  28 6c 65 74 74 65 72 25  |:.redraw(letter%|
00004710  29 0d 17 02 2c e7 20 6c  6f 61 64 24 3c 3e 22 3c  |)...,. load$<>"<|
00004720  53 74 61 74 24 44 69 72  3e 2e 44 65 66 61 75 6c  |Stat$Dir>.Defaul|
00004730  74 44 74 22 20 f2 6f 70  65 6e 64 65 74 0d 17 0c  |tDt" .opendet...|
00004740  05 e1 0d 17 16 04 0d 17  20 0e dd a4 72 65 61 64  |........ ...read|
00004750  66 69 6c 65 0d 17 2a 0a  20 74 24 3d 22 22 0d 17  |file..*. t$=""..|
00004760  34 06 20 f5 0d 17 3e 1f  20 c8 99 22 4f 53 5f 42  |4. ...>. .."OS_B|
00004770  47 65 74 22 2c 2c 66 69  6c 65 25 20 b8 20 62 79  |Get",,file% . by|
00004780  74 65 25 0d 17 48 38 20  e7 20 62 79 74 65 25 3d  |te%..H8 . byte%=|
00004790  32 35 34 20 c8 99 22 4f  53 5f 46 69 6e 64 22 2c  |254 .."OS_Find",|
000047a0  30 2c 66 69 6c 65 25 3a  f2 6f 70 65 6e 77 69 6e  |0,file%:.openwin|
000047b0  28 64 65 74 61 69 6c 73  25 29 3a 0d 17 52 13 20  |(details%):..R. |
000047c0  74 24 3d 74 24 2b bd 28  62 79 74 65 25 29 0d 17  |t$=t$+.(byte%)..|
000047d0  5c 1a 20 fd 20 62 79 74  65 25 3d 31 33 20 84 20  |\. . byte%=13 . |
000047e0  62 79 74 65 25 3d 31 30  0d 17 66 12 20 3d c0 74  |byte%=10..f. =.t|
000047f0  24 2c a9 28 74 24 29 2d  31 29 0d 17 70 0f dd f2  |$,.(t$)-1)..p...|
00004800  69 6e 73 70 72 69 74 65  73 0d 17 7a 1a 20 6c 6f  |insprites..z. lo|
00004810  61 64 24 3d a4 77 6f 6f  6c 28 62 6c 6f 63 6b 2b  |ad$=.wool(block+|
00004820  34 34 29 0d 17 84 1a e7  20 73 70 72 69 74 65 73  |44)..... sprites|
00004830  20 8c 20 f2 64 65 6c 65  74 65 28 31 29 0d 17 8e  | . .delete(1)...|
00004840  25 c8 99 20 22 4f 53 5f  46 69 6c 65 22 2c 35 2c  |%.. "OS_File",5,|
00004850  6c 6f 61 64 24 20 b8 20  2c 2c 2c 2c 73 70 72 6c  |load$ . ,,,,sprl|
00004860  65 6e 0d 17 98 1b 73 70  72 25 3d a4 63 6c 61 69  |en....spr%=.clai|
00004870  6d 28 73 70 72 6c 65 6e  2b 32 35 36 29 0d 17 a2  |m(sprlen+256)...|
00004880  21 c8 99 20 22 4f 53 5f  46 69 6c 65 22 2c 26 46  |!.. "OS_File",&F|
00004890  46 2c 6c 6f 61 64 24 2c  73 70 72 25 2b 34 0d 17  |F,load$,spr%+4..|
000048a0  ac 0b f2 73 70 72 6d 65  6e 0d 17 b6 0d 73 70 72  |...sprmen....spr|
000048b0  69 74 65 73 3d b9 0d 17  c0 0d e3 20 69 3d 30 20  |ites=...... i=0 |
000048c0  b8 20 32 0d 17 ca 19 70  74 72 3d 64 65 74 70 74  |. 2....ptr=detpt|
000048d0  72 2b 28 64 65 73 62 6c  6b 2a 69 29 0d 17 d4 34  |r+(desblk*i)...4|
000048e0  e7 20 77 6f 72 6b 62 6c  6b 3f 28 70 74 72 2b 35  |. workblk?(ptr+5|
000048f0  29 3d 31 20 8c 20 24 28  77 6f 72 6b 62 6c 6b 2b  |)=1 . $(workblk+|
00004900  28 70 74 72 2b 36 29 29  3d 63 75 72 73 70 72 24  |(ptr+6))=curspr$|
00004910  0d 17 de 05 ed 0d 17 e8  12 f2 72 65 64 72 61 77  |..........redraw|
00004920  28 63 61 72 64 25 29 0d  17 f2 14 f2 72 65 64 72  |(card%).....redr|
00004930  61 77 28 6c 65 74 74 65  72 25 29 0d 17 fc 12 f2  |aw(letter%).....|
00004940  72 65 64 72 61 77 28 63  6f 6d 70 25 29 0d 18 06  |redraw(comp%)...|
00004950  05 e1 0d 18 10 04 0d 18  1a 0c dd f2 73 70 72 6d  |............sprm|
00004960  65 6e 0d 18 24 15 6d 65  6e 24 3d 22 22 3a 6c 61  |en..$.men$="":la|
00004970  72 67 65 73 74 3d 30 0d  18 2e 2c c8 99 20 22 4f  |rgest=0...,.. "O|
00004980  53 5f 53 70 72 69 74 65  4f 70 22 2c 26 31 30 38  |S_SpriteOp",&108|
00004990  2c 73 70 72 25 20 b8 20  2c 2c 2c 73 70 72 69 74  |,spr% . ,,,sprit|
000049a0  65 73 25 0d 18 38 17 e3  20 69 25 3d 30 20 b8 20  |es%..8.. i%=0 . |
000049b0  73 70 72 69 74 65 73 25  2d 31 0d 18 42 39 20 c8  |sprites%-1..B9 .|
000049c0  99 20 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |. "OS_SpriteOp",|
000049d0  32 35 36 2b 31 33 2c 73  70 72 25 2c 74 65 6d 70  |256+13,spr%,temp|
000049e0  25 2c 26 31 30 30 2c 69  25 2b 31 20 b8 20 2c 2c  |%,&100,i%+1 . ,,|
000049f0  2c 6a 25 0d 18 4c 10 20  74 65 6d 70 25 3f 6a 25  |,j%..L. temp%?j%|
00004a00  3d 31 33 0d 18 56 5b 20  e7 20 a7 24 74 65 6d 70  |=13..V[ . .$temp|
00004a10  25 2c 22 2c 22 29 3e 30  20 8c 20 c8 99 22 4f 53  |%,",")>0 . .."OS|
00004a20  5f 53 70 72 69 74 65 4f  70 22 2c 32 35 36 2b 32  |_SpriteOp",256+2|
00004a30  36 2c 73 70 72 25 2c 24  74 65 6d 70 25 2c 22 4e  |6,spr%,$temp%,"N|
00004a40  6f 22 2b c3 28 69 25 2b  31 29 3a 24 74 65 6d 70  |o"+.(i%+1):$temp|
00004a50  25 3d 22 4e 6f 22 2b c3  28 69 25 2b 31 29 0d 18  |%="No"+.(i%+1)..|
00004a60  60 29 20 e7 20 a9 28 6d  65 6e 24 29 3c 32 34 33  |`) . .(men$)<243|
00004a70  20 8c 20 6d 65 6e 24 3d  6d 65 6e 24 2b 24 74 65  | . men$=men$+$te|
00004a80  6d 70 25 2b 22 2c 22 0d  18 6a 1c 20 e7 20 69 25  |mp%+","..j. . i%|
00004a90  3d 30 20 8c 20 64 65 66  73 70 72 24 3d 24 74 65  |=0 . defspr$=$te|
00004aa0  6d 70 25 0d 18 74 2a 20  e7 20 a9 28 24 74 65 6d  |mp%..t* . .($tem|
00004ab0  70 25 29 3e 6c 61 72 67  65 73 74 20 6c 61 72 67  |p%)>largest larg|
00004ac0  65 73 74 3d a9 28 24 74  65 6d 70 25 29 0d 18 7e  |est=.($temp%)..~|
00004ad0  05 ed 0d 18 88 19 6d 65  6e 24 3d c0 6d 65 6e 24  |......men$=.men$|
00004ae0  2c a9 28 6d 65 6e 24 29  2d 31 29 0d 18 92 1f 63  |,.(men$)-1)....c|
00004af0  75 72 73 70 72 24 3d c0  6d 65 6e 24 2c a7 6d 65  |urspr$=.men$,.me|
00004b00  6e 24 2c 22 2c 22 29 2d  31 29 0d 18 9c 05 e1 0d  |n$,",")-1)......|
00004b10  18 a6 04 0d 18 b0 0c dd  f2 69 6e 64 72 61 77 0d  |.........indraw.|
00004b20  18 ba 19 6c 6f 61 64 24  3d a4 77 6f 6f 6c 28 62  |...load$=.wool(b|
00004b30  6c 6f 63 6b 2b 34 34 29  0d 18 c4 1a e7 20 64 72  |lock+44)..... dr|
00004b40  61 77 69 6e 67 20 8c 20  f2 64 65 6c 65 74 65 28  |awing . .delete(|
00004b50  32 29 0d 18 ce 23 c8 99  22 4f 53 5f 46 69 6c 65  |2)...#.."OS_File|
00004b60  22 2c 35 2c 6c 6f 61 64  24 20 b8 20 2c 2c 2c 2c  |",5,load$ . ,,,,|
00004b70  64 72 61 77 6b 0d 18 d8  1e 64 72 61 77 70 74 72  |drawk....drawptr|
00004b80  25 3d a4 63 6c 61 69 6d  28 64 72 61 77 6b 2b 32  |%=.claim(drawk+2|
00004b90  35 36 29 0d 18 e2 22 c8  99 22 4f 53 5f 46 69 6c  |56)...".."OS_Fil|
00004ba0  65 22 2c 26 46 46 2c 6c  6f 61 64 24 2c 64 72 61  |e",&FF,load$,dra|
00004bb0  77 70 74 72 25 0d 18 ec  0d 64 72 61 77 69 6e 67  |wptr%....drawing|
00004bc0  3d b9 0d 18 f6 05 e1 0d  19 00 04 0d 19 0a 16 dd  |=...............|
00004bd0  f2 6f 70 65 6e 77 69 6e  28 68 61 6e 64 6c 65 25  |.openwin(handle%|
00004be0  29 0d 19 14 12 21 62 6c  6f 63 6b 3d 68 61 6e 64  |)....!block=hand|
00004bf0  6c 65 25 0d 19 1e 22 c8  99 22 57 69 6d 70 5f 47  |le%...".."Wimp_G|
00004c00  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
00004c10  62 6c 6f 63 6b 0d 19 28  1b 6f 70 65 6e 3d 62 6c  |block..(.open=bl|
00004c20  6f 63 6b 21 33 32 20 80  20 28 31 3c 3c 31 36 29  |ock!32 . (1<<16)|
00004c30  0d 19 32 51 e7 20 62 6c  6f 63 6b 21 32 38 3c 3e  |..2Q. block!28<>|
00004c40  2d 31 20 84 20 6f 70 65  6e 3d 30 20 84 20 28 68  |-1 . open=0 . (h|
00004c50  61 6e 64 6c 65 25 3d 63  61 72 64 25 20 84 20 68  |andle%=card% . h|
00004c60  61 6e 64 6c 65 25 3d 63  6f 6d 70 25 20 84 20 68  |andle%=comp% . h|
00004c70  61 6e 64 6c 65 25 3d 6c  65 74 74 65 72 25 29 20  |andle%=letter%) |
00004c80  8c 0d 19 3c 0f 62 6c 6f  63 6b 21 32 38 3d 2d 31  |...<.block!28=-1|
00004c90  0d 19 46 1e c8 99 22 57  69 6d 70 5f 4f 70 65 6e  |..F..."Wimp_Open|
00004ca0  57 69 6e 64 6f 77 22 2c  2c 62 6c 6f 63 6b 0d 19  |Window",,block..|
00004cb0  50 05 cd 0d 19 5a 05 e1  0d 19 64 04 0d 19 6e 16  |P....Z....d...n.|
00004cc0  dd f2 6f 70 65 6e 63 65  6e 28 68 61 6e 64 6c 65  |..opencen(handle|
00004cd0  25 29 0d 19 78 09 f2 4d  6f 64 65 0d 19 82 12 21  |%)..x..Mode....!|
00004ce0  62 6c 6f 63 6b 3d 68 61  6e 64 6c 65 25 0d 19 8c  |block=handle%...|
00004cf0  21 c8 99 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  |!.."Wimp_GetWind|
00004d00  6f 77 49 6e 66 6f 22 2c  2c 62 6c 6f 63 6b 0d 19  |owInfo",,block..|
00004d10  96 1b 77 6f 72 6b 78 25  3d 62 6c 6f 63 6b 21 31  |..workx%=block!1|
00004d20  32 2d 62 6c 6f 63 6b 21  34 0d 19 a0 1b 77 6f 72  |2-block!4....wor|
00004d30  6b 79 25 3d 62 6c 6f 63  6b 21 31 36 2d 62 6c 6f  |ky%=block!16-blo|
00004d40  63 6b 21 38 0d 19 aa 1b  62 6c 6f 63 6b 21 34 3d  |ck!8....block!4=|
00004d50  28 78 6d 61 78 2d 77 6f  72 6b 78 25 29 2f 32 0d  |(xmax-workx%)/2.|
00004d60  19 b4 1b 62 6c 6f 63 6b  21 31 32 3d 77 6f 72 6b  |...block!12=work|
00004d70  78 25 2b 62 6c 6f 63 6b  21 34 0d 19 be 1b 62 6c  |x%+block!4....bl|
00004d80  6f 63 6b 21 38 3d 28 79  6d 61 78 2d 77 6f 72 6b  |ock!8=(ymax-work|
00004d90  79 25 29 2f 32 0d 19 c8  1b 62 6c 6f 63 6b 21 31  |y%)/2....block!1|
00004da0  36 3d 77 6f 72 6b 79 25  2b 62 6c 6f 63 6b 21 38  |6=worky%+block!8|
00004db0  0d 19 d2 0f 62 6c 6f 63  6b 21 32 38 3d 2d 31 0d  |....block!28=-1.|
00004dc0  19 dc 1e c8 99 22 57 69  6d 70 5f 4f 70 65 6e 57  |....."Wimp_OpenW|
00004dd0  69 6e 64 6f 77 22 2c 2c  62 6c 6f 63 6b 0d 19 e6  |indow",,block...|
00004de0  05 e1 0d 19 f0 04 0d 19  fa 0d dd f2 66 6d 65 6e  |............fmen|
00004df0  75 63 72 0d 1a 04 24 c8  99 22 46 6f 6e 74 5f 4c  |ucr...$.."Font_L|
00004e00  69 73 74 46 6f 6e 74 73  22 2c 2c 74 65 6d 70 25  |istFonts",,temp%|
00004e10  2c 30 2c 26 31 30 30 0d  1a 0e 13 64 65 66 66 6f  |,0,&100....deffo|
00004e20  6e 74 24 3d 24 74 65 6d  70 25 0d 1a 18 0c 66 66  |nt$=$temp%....ff|
00004e30  6c 61 67 25 3d 30 0d 1a  22 11 66 66 6c 61 67 25  |lag%=0..".fflag%|
00004e40  2b 3d 31 3c 3c 31 39 0d  1a 2c 11 66 66 6c 61 67  |+=1<<19..,.fflag|
00004e50  25 2b 3d 30 3c 3c 32 30  0d 1a 36 31 c8 99 22 46  |%+=0<<20..61.."F|
00004e60  6f 6e 74 5f 4c 69 73 74  46 6f 6e 74 73 22 2c 2c  |ont_ListFonts",,|
00004e70  30 2c 66 66 6c 61 67 25  2c 2c 30 20 b8 20 72 2c  |0,fflag%,,0 . r,|
00004e80  73 2c 74 2c 41 2c 75 2c  42 0d 1a 40 16 de 20 66  |s,t,A,u,B..@.. f|
00004e90  6d 65 6e 75 25 20 41 2c  66 62 75 66 25 20 42 0d  |menu% A,fbuf% B.|
00004ea0  1a 4a 31 c8 99 22 46 6f  6e 74 5f 4c 69 73 74 46  |.J1.."Font_ListF|
00004eb0  6f 6e 74 73 22 2c 2c 66  6d 65 6e 75 25 2c 66 66  |onts",,fmenu%,ff|
00004ec0  6c 61 67 25 2c 41 2c 66  62 75 66 25 2c 42 2c 31  |lag%,A,fbuf%,B,1|
00004ed0  0d 1a 54 05 e1 0d 1a 5e  04 0d 1a 68 10 dd a4 4d  |..T....^...h...M|
00004ee0  61 78 28 61 25 2c 62 25  29 0d 1a 72 11 e7 20 61  |ax(a%,b%)..r.. a|
00004ef0  25 3e 62 25 20 8c 20 3d  61 25 0d 1a 7c 07 3d 62  |%>b% . =a%..|.=b|
00004f00  25 0d 1a 86 04 0d 1a 90  0e dd a4 49 6e 66 6f 28  |%..........Info(|
00004f10  70 25 29 0d 1a 9a 08 ea  20 61 24 0d 1a a4 09 61  |p%)..... a$....a|
00004f20  24 3d 22 22 0d 1a ae 19  c8 95 20 28 3f 70 25 3c  |$=""...... (?p%<|
00004f30  3e 30 20 80 20 3f 70 25  3c 3e 31 33 29 0d 1a b8  |>0 . ?p%<>13)...|
00004f40  0f 20 61 24 2b 3d bd 28  3f 70 25 29 0d 1a c2 0a  |. a$+=.(?p%)....|
00004f50  20 70 25 2b 3d 31 0d 1a  cc 05 ce 0d 1a d6 07 3d  | p%+=1.........=|
00004f60  61 24 0d 1a e0 04 0d 1a  ea 0d dd f2 6f 70 65 6e  |a$..........open|
00004f70  64 65 74 0d 1a f4 13 21  62 6c 6f 63 6b 3d 64 65  |det....!block=de|
00004f80  74 61 69 6c 73 25 0d 1a  fe 22 c8 99 22 57 69 6d  |tails%...".."Wim|
00004f90  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
00004fa0  22 2c 2c 62 6c 6f 63 6b  0d 1b 08 1b 6f 70 65 6e  |",,block....open|
00004fb0  3d 62 6c 6f 63 6b 21 33  32 20 80 20 28 31 3c 3c  |=block!32 . (1<<|
00004fc0  31 36 29 0d 1b 12 0e e7  20 6f 70 65 6e 3d 30 20  |16)..... open=0 |
00004fd0  8c 0d 1b 1c 23 24 a4 69  6e 66 6f 28 64 65 74 61  |....#$.info(deta|
00004fe0  69 6c 73 25 2c 30 29 3d  24 28 77 6f 72 6b 62 6c  |ils%,0)=$(workbl|
00004ff0  6b 2b 30 29 0d 1b 26 25  24 a4 69 6e 66 6f 28 64  |k+0)..&%$.info(d|
00005000  65 74 61 69 6c 73 25 2c  31 29 3d 24 28 77 6f 72  |etails%,1)=$(wor|
00005010  6b 62 6c 6b 2b 32 35 36  29 0d 1b 30 25 24 a4 69  |kblk+256)..0%$.i|
00005020  6e 66 6f 28 64 65 74 61  69 6c 73 25 2c 36 29 3d  |nfo(details%,6)=|
00005030  24 28 77 6f 72 6b 62 6c  6b 2b 35 31 32 29 0d 1b  |$(workblk+512)..|
00005040  3a 25 24 a4 69 6e 66 6f  28 64 65 74 61 69 6c 73  |:%$.info(details|
00005050  25 2c 37 29 3d 24 28 77  6f 72 6b 62 6c 6b 2b 37  |%,7)=$(workblk+7|
00005060  36 38 29 0d 1b 44 26 24  a4 69 6e 66 6f 28 64 65  |68)..D&$.info(de|
00005070  74 61 69 6c 73 25 2c 38  29 3d 24 28 77 6f 72 6b  |tails%,8)=$(work|
00005080  62 6c 6b 2b 31 30 32 34  29 0d 1b 4e 26 24 a4 69  |blk+1024)..N&$.i|
00005090  6e 66 6f 28 64 65 74 61  69 6c 73 25 2c 32 29 3d  |nfo(details%,2)=|
000050a0  24 28 77 6f 72 6b 62 6c  6b 2b 31 32 38 30 29 0d  |$(workblk+1280).|
000050b0  1b 58 26 24 a4 69 6e 66  6f 28 64 65 74 61 69 6c  |.X&$.info(detail|
000050c0  73 25 2c 33 29 3d 24 28  77 6f 72 6b 62 6c 6b 2b  |s%,3)=$(workblk+|
000050d0  31 35 33 36 29 0d 1b 62  26 24 a4 69 6e 66 6f 28  |1536)..b&$.info(|
000050e0  64 65 74 61 69 6c 73 25  2c 34 29 3d 24 28 77 6f  |details%,4)=$(wo|
000050f0  72 6b 62 6c 6b 2b 31 37  39 32 29 0d 1b 6c 26 24  |rkblk+1792)..l&$|
00005100  a4 69 6e 66 6f 28 64 65  74 61 69 6c 73 25 2c 35  |.info(details%,5|
00005110  29 3d 24 28 77 6f 72 6b  62 6c 6b 2b 32 30 34 38  |)=$(workblk+2048|
00005120  29 0d 1b 76 05 cd 0d 1b  80 16 f2 6f 70 65 6e 77  |)..v.......openw|
00005130  69 6e 28 64 65 74 61 69  6c 73 25 29 0d 1b 8a 05  |in(details%)....|
00005140  e1 0d 1b 94 04 0d 1b 9e  0c dd f2 73 65 74 64 65  |...........setde|
00005150  74 0d 1b a8 23 24 28 77  6f 72 6b 62 6c 6b 2b 30  |t...#$(workblk+0|
00005160  29 3d 24 a4 69 6e 66 6f  28 64 65 74 61 69 6c 73  |)=$.info(details|
00005170  25 2c 30 29 0d 1b b2 25  24 28 77 6f 72 6b 62 6c  |%,0)...%$(workbl|
00005180  6b 2b 32 35 36 29 3d 24  a4 69 6e 66 6f 28 64 65  |k+256)=$.info(de|
00005190  74 61 69 6c 73 25 2c 31  29 0d 1b bc 25 24 28 77  |tails%,1)...%$(w|
000051a0  6f 72 6b 62 6c 6b 2b 35  31 32 29 3d 24 a4 69 6e  |orkblk+512)=$.in|
000051b0  66 6f 28 64 65 74 61 69  6c 73 25 2c 36 29 0d 1b  |fo(details%,6)..|
000051c0  c6 25 24 28 77 6f 72 6b  62 6c 6b 2b 37 36 38 29  |.%$(workblk+768)|
000051d0  3d 24 a4 69 6e 66 6f 28  64 65 74 61 69 6c 73 25  |=$.info(details%|
000051e0  2c 37 29 0d 1b d0 26 24  28 77 6f 72 6b 62 6c 6b  |,7)...&$(workblk|
000051f0  2b 31 30 32 34 29 3d 24  a4 69 6e 66 6f 28 64 65  |+1024)=$.info(de|
00005200  74 61 69 6c 73 25 2c 38  29 0d 1b da 26 24 28 77  |tails%,8)...&$(w|
00005210  6f 72 6b 62 6c 6b 2b 31  32 38 30 29 3d 24 a4 69  |orkblk+1280)=$.i|
00005220  6e 66 6f 28 64 65 74 61  69 6c 73 25 2c 32 29 0d  |nfo(details%,2).|
00005230  1b e4 26 24 28 77 6f 72  6b 62 6c 6b 2b 31 35 33  |..&$(workblk+153|
00005240  36 29 3d 24 a4 69 6e 66  6f 28 64 65 74 61 69 6c  |6)=$.info(detail|
00005250  73 25 2c 33 29 0d 1b ee  26 24 28 77 6f 72 6b 62  |s%,3)...&$(workb|
00005260  6c 6b 2b 31 37 39 32 29  3d 24 a4 69 6e 66 6f 28  |lk+1792)=$.info(|
00005270  64 65 74 61 69 6c 73 25  2c 34 29 0d 1b f8 26 24  |details%,4)...&$|
00005280  28 77 6f 72 6b 62 6c 6b  2b 32 30 34 38 29 3d 24  |(workblk+2048)=$|
00005290  a4 69 6e 66 6f 28 64 65  74 61 69 6c 73 25 2c 35  |.info(details%,5|
000052a0  29 0d 1c 02 12 e3 20 64  65 73 69 67 6e 3d 30 20  |)..... design=0 |
000052b0  b8 20 32 0d 1c 0c 26 61  70 74 72 3d 64 65 74 70  |. 2...&aptr=detp|
000052c0  74 72 2b 28 64 65 73 62  6c 6b 2a 64 65 73 69 67  |tr+(desblk*desig|
000052d0  6e 29 2b 64 65 73 6c 65  6e 0d 1c 16 0d e3 20 69  |n)+deslen..... i|
000052e0  3d 30 20 b8 20 34 0d 1c  20 16 70 74 72 3d 61 70  |=0 . 4.. .ptr=ap|
000052f0  74 72 2b 28 73 74 79 6c  65 2a 69 29 0d 1c 2a 18  |tr+(style*i)..*.|
00005300  66 6f 6e 74 24 3d 24 28  77 6f 72 6b 62 6c 6b 2b  |font$=$(workblk+|
00005310  70 74 72 29 0d 1c 34 18  70 74 3d 77 6f 72 6b 62  |ptr)..4.pt=workb|
00005320  6c 6b 21 28 70 74 72 2b  32 35 36 29 0d 1c 3e 1b  |lk!(ptr+256)..>.|
00005330  77 69 64 74 68 3d 77 6f  72 6b 62 6c 6b 21 28 70  |width=workblk!(p|
00005340  74 72 2b 32 36 30 29 0d  1c 48 2c f2 62 62 6f 78  |tr+260)..H,.bbox|
00005350  28 24 28 77 6f 72 6b 62  6c 6b 2b 28 69 2a 32 35  |($(workblk+(i*25|
00005360  36 29 29 2c 66 6f 6e 74  24 2c 70 74 2c 77 69 64  |6)),font$,pt,wid|
00005370  74 68 29 0d 1c 52 2c 77  6f 72 6b 62 6c 6b 21 28  |th)..R,workblk!(|
00005380  70 74 72 2b 32 37 38 29  3d 77 6f 72 6b 62 6c 6b  |ptr+278)=workblk|
00005390  21 28 70 74 72 2b 32 37  30 29 2b 62 62 78 31 0d  |!(ptr+270)+bbx1.|
000053a0  1c 5c 2c 77 6f 72 6b 62  6c 6b 21 28 70 74 72 2b  |.\,workblk!(ptr+|
000053b0  32 38 32 29 3d 77 6f 72  6b 62 6c 6b 21 28 70 74  |282)=workblk!(pt|
000053c0  72 2b 32 37 34 29 2d 62  62 79 31 0d 1c 66 19 77  |r+274)-bby1..f.w|
000053d0  6f 72 6b 62 6c 6b 21 28  70 74 72 2b 32 38 36 29  |orkblk!(ptr+286)|
000053e0  3d 62 62 78 0d 1c 70 19  77 6f 72 6b 62 6c 6b 21  |=bbx..p.workblk!|
000053f0  28 70 74 72 2b 32 39 30  29 3d 62 62 79 0d 1c 7a  |(ptr+290)=bby..z|
00005400  07 ed 20 69 0d 1c 84 16  70 74 72 3d 61 70 74 72  |.. i....ptr=aptr|
00005410  2b 28 73 74 79 6c 65 2a  35 29 0d 1c 8e 18 66 6f  |+(style*5)....fo|
00005420  6e 74 24 3d 24 28 77 6f  72 6b 62 6c 6b 2b 70 74  |nt$=$(workblk+pt|
00005430  72 29 0d 1c 98 18 70 74  3d 77 6f 72 6b 62 6c 6b  |r)....pt=workblk|
00005440  21 28 70 74 72 2b 32 35  36 29 0d 1c a2 1b 77 69  |!(ptr+256)....wi|
00005450  64 74 68 3d 77 6f 72 6b  62 6c 6b 21 28 70 74 72  |dth=workblk!(ptr|
00005460  2b 32 36 30 29 0d 1c ac  2c f2 62 62 6f 78 28 24  |+260)...,.bbox($|
00005470  28 77 6f 72 6b 62 6c 6b  2b 28 35 2a 32 35 36 29  |(workblk+(5*256)|
00005480  29 2c 66 6f 6e 74 24 2c  70 74 2c 77 69 64 74 68  |),font$,pt,width|
00005490  29 0d 1c b6 0c 62 62 78  6d 3d 62 62 78 0d 1c c0  |)....bbxm=bbx...|
000054a0  2c f2 62 62 6f 78 28 24  28 77 6f 72 6b 62 6c 6b  |,.bbox($(workblk|
000054b0  2b 28 36 2a 32 35 36 29  29 2c 66 6f 6e 74 24 2c  |+(6*256)),font$,|
000054c0  70 74 2c 77 69 64 74 68  29 0d 1c ca 19 e7 20 62  |pt,width)..... b|
000054d0  62 78 3e 62 62 78 6d 20  8c 20 62 62 78 6d 3d 62  |bx>bbxm . bbxm=b|
000054e0  62 78 0d 1c d4 2c f2 62  62 6f 78 28 24 28 77 6f  |bx...,.bbox($(wo|
000054f0  72 6b 62 6c 6b 2b 28 37  2a 32 35 36 29 29 2c 66  |rkblk+(7*256)),f|
00005500  6f 6e 74 24 2c 70 74 2c  77 69 64 74 68 29 0d 1c  |ont$,pt,width)..|
00005510  de 19 e7 20 62 62 78 3e  62 62 78 6d 20 8c 20 62  |... bbx>bbxm . b|
00005520  62 78 6d 3d 62 62 78 0d  1c e8 2c f2 62 62 6f 78  |bxm=bbx...,.bbox|
00005530  28 24 28 77 6f 72 6b 62  6c 6b 2b 28 38 2a 32 35  |($(workblk+(8*25|
00005540  36 29 29 2c 66 6f 6e 74  24 2c 70 74 2c 77 69 64  |6)),font$,pt,wid|
00005550  74 68 29 0d 1c f2 19 e7  20 62 62 78 3e 62 62 78  |th)..... bbx>bbx|
00005560  6d 20 8c 20 62 62 78 6d  3d 62 62 78 0d 1c fc 22  |m . bbxm=bbx..."|
00005570  f2 62 62 6f 78 28 22 57  46 4d 67 6a 71 22 2c 66  |.bbox("WFMgjq",f|
00005580  6f 6e 74 24 2c 70 74 2c  77 69 64 74 68 29 0d 1d  |ont$,pt,width)..|
00005590  06 2c 77 6f 72 6b 62 6c  6b 21 28 70 74 72 2b 32  |.,workblk!(ptr+2|
000055a0  37 38 29 3d 77 6f 72 6b  62 6c 6b 21 28 70 74 72  |78)=workblk!(ptr|
000055b0  2b 32 37 30 29 2b 62 62  78 31 0d 1d 10 2c 77 6f  |+270)+bbx1...,wo|
000055c0  72 6b 62 6c 6b 21 28 70  74 72 2b 32 38 32 29 3d  |rkblk!(ptr+282)=|
000055d0  77 6f 72 6b 62 6c 6b 21  28 70 74 72 2b 32 37 34  |workblk!(ptr+274|
000055e0  29 2d 62 62 79 31 0d 1d  1a 1a 77 6f 72 6b 62 6c  |)-bby1....workbl|
000055f0  6b 21 28 70 74 72 2b 32  38 36 29 3d 62 62 78 6d  |k!(ptr+286)=bbxm|
00005600  0d 1d 24 19 77 6f 72 6b  62 6c 6b 21 28 70 74 72  |..$.workblk!(ptr|
00005610  2b 32 39 30 29 3d 62 62  79 0d 1d 2e 0c ed 20 64  |+290)=bby..... d|
00005620  65 73 69 67 6e 0d 1d 38  0d 73 65 6c 65 63 74 3d  |esign..8.select=|
00005630  2d 31 0d 1d 42 12 f2 72  65 64 72 61 77 28 63 61  |-1..B..redraw(ca|
00005640  72 64 25 29 0d 1d 4c 12  f2 72 65 64 72 61 77 28  |rd%)..L..redraw(|
00005650  63 6f 6d 70 25 29 0d 1d  56 14 f2 72 65 64 72 61  |comp%)..V..redra|
00005660  77 28 6c 65 74 74 65 72  25 29 0d 1d 60 05 e1 0d  |w(letter%)..`...|
00005670  1d 6a 04 0d 1d 74 0e dd  f2 72 65 73 65 74 64 65  |.j...t...resetde|
00005680  74 0d 1d 7e 0d e3 20 69  3d 30 20 b8 20 38 0d 1d  |t..~.. i=0 . 8..|
00005690  88 18 f2 69 6e 66 6f 28  64 65 74 61 69 6c 73 25  |...info(details%|
000056a0  2c 69 2c 22 22 29 0d 1d  92 05 ed 0d 1d 9c 05 e1  |,i,"")..........|
000056b0  0d 1d a6 04 0d 1d b0 14  dd f2 72 65 64 72 61 77  |..........redraw|
000056c0  28 68 61 6e 64 6c 65 29  0d 1d ba 13 20 62 6c 6f  |(handle).... blo|
000056d0  63 6b 21 30 3d 68 61 6e  64 6c 65 0d 1d c4 0a ea  |ck!0=handle.....|
000056e0  6d 6f 72 65 25 0d 1d ce  29 c8 99 20 22 57 69 6d  |more%...).. "Wim|
000056f0  70 5f 52 65 64 72 61 77  57 69 6e 64 6f 77 22 2c  |p_RedrawWindow",|
00005700  2c 62 6c 6f 63 6b 20 b8  20 6d 6f 72 65 25 0d 1d  |,block . more%..|
00005710  d8 0c c8 95 20 6d 6f 72  65 25 0d 1d e2 10 20 c8  |.... more%.... .|
00005720  8e 20 68 61 6e 64 6c 65  20 ca 0d 1d ec 1a 20 c9  |. handle ..... .|
00005730  20 63 61 72 64 25 20 3a  20 f2 72 65 64 72 61 77  | card% : .redraw|
00005740  63 61 72 64 0d 1d f6 1a  20 c9 20 63 6f 6d 70 25  |card.... . comp%|
00005750  20 3a 20 f2 72 65 64 72  61 77 63 6f 6d 70 0d 1e  | : .redrawcomp..|
00005760  00 1c 20 c9 20 6c 65 74  74 65 72 25 20 3a 20 f2  |.. . letter% : .|
00005770  72 65 64 72 61 77 6c 65  74 74 0d 1e 0a 1b 20 c9  |redrawlett.... .|
00005780  20 63 6f 6c 6f 75 72 25  20 3a 20 f2 72 65 64 72  | colour% : .redr|
00005790  61 77 63 6f 6c 0d 1e 14  1c 20 c9 20 70 69 63 74  |awcol.... . pict|
000057a0  75 72 65 25 20 3a 20 f2  72 65 64 72 61 77 70 69  |ure% : .redrawpi|
000057b0  63 0d 1e 1e 1a 20 c9 20  74 79 70 65 25 20 3a 20  |c.... . type% : |
000057c0  f2 72 65 64 72 61 77 74  79 70 65 0d 1e 28 1a 20  |.redrawtype..(. |
000057d0  c9 20 62 61 63 6b 25 20  3a 20 f2 72 65 64 72 61  |. back% : .redra|
000057e0  77 62 61 63 6b 0d 1e 32  06 20 cb 0d 1e 3c 2a 20  |wback..2. ...<* |
000057f0  c8 99 20 22 57 69 6d 70  5f 47 65 74 52 65 63 74  |.. "Wimp_GetRect|
00005800  61 6e 67 6c 65 22 2c 2c  62 6c 6f 63 6b 20 b8 20  |angle",,block . |
00005810  6d 6f 72 65 25 0d 1e 46  05 ce 0d 1e 50 25 e7 20  |more%..F....P%. |
00005820  63 6c 6f 73 65 3d 31 20  8c 20 f2 63 6c 6f 73 65  |close=1 . .close|
00005830  28 63 61 72 64 25 29 3a  63 6c 6f 73 65 3d 30 0d  |(card%):close=0.|
00005840  1e 5a 05 e1 0d 1e 64 04  0d 1e 6e 10 dd f2 72 65  |.Z....d...n...re|
00005850  64 72 61 77 63 61 72 64  0d 1e 78 15 c8 99 22 4f  |drawcard..x..."O|
00005860  53 5f 42 79 74 65 22 2c  31 31 33 2c 32 0d 1e 82  |S_Byte",113,2...|
00005870  15 c8 99 22 4f 53 5f 42  79 74 65 22 2c 31 31 32  |..."OS_Byte",112|
00005880  2c 31 0d 1e 8c 1b 77 6f  72 6b 78 25 3d 62 6c 6f  |,1....workx%=blo|
00005890  63 6b 21 34 2d 62 6c 6f  63 6b 21 32 30 0d 1e 96  |ck!4-block!20...|
000058a0  1c 77 6f 72 6b 79 25 3d  62 6c 6f 63 6b 21 31 36  |.worky%=block!16|
000058b0  2d 62 6c 6f 63 6b 21 32  34 0d 1e a0 18 78 6d 69  |-block!24....xmi|
000058c0  6e 3d 62 6c 6f 63 6b 21  32 38 2d 77 6f 72 6b 78  |n=block!28-workx|
000058d0  25 0d 1e aa 18 78 6d 61  78 3d 62 6c 6f 63 6b 21  |%....xmax=block!|
000058e0  33 36 2d 77 6f 72 6b 78  25 0d 1e b4 18 79 6d 69  |36-workx%....ymi|
000058f0  6e 3d 62 6c 6f 63 6b 21  33 32 2d 77 6f 72 6b 79  |n=block!32-worky|
00005900  25 0d 1e be 18 79 6d 61  78 3d 62 6c 6f 63 6b 21  |%....ymax=block!|
00005910  34 30 2d 77 6f 72 6b 79  25 0d 1e c8 26 f2 64 72  |40-worky%...&.dr|
00005920  61 77 64 65 73 69 67 6e  28 77 6f 72 6b 78 25 2c  |awdesign(workx%,|
00005930  77 6f 72 6b 79 25 2c 30  2c 63 61 72 64 25 29 0d  |worky%,0,card%).|
00005940  1e d2 05 e1 0d 1e dc 04  0d 1e e6 10 dd f2 72 65  |..............re|
00005950  64 72 61 77 63 6f 6d 70  0d 1e f0 1b 77 6f 72 6b  |drawcomp....work|
00005960  78 25 3d 62 6c 6f 63 6b  21 34 2d 62 6c 6f 63 6b  |x%=block!4-block|
00005970  21 32 30 0d 1e fa 1c 77  6f 72 6b 79 25 3d 62 6c  |!20....worky%=bl|
00005980  6f 63 6b 21 31 36 2d 62  6c 6f 63 6b 21 32 34 0d  |ock!16-block!24.|
00005990  1f 04 18 78 6d 69 6e 3d  62 6c 6f 63 6b 21 32 38  |...xmin=block!28|
000059a0  2d 77 6f 72 6b 78 25 0d  1f 0e 18 78 6d 61 78 3d  |-workx%....xmax=|
000059b0  62 6c 6f 63 6b 21 33 36  2d 77 6f 72 6b 78 25 0d  |block!36-workx%.|
000059c0  1f 18 18 79 6d 69 6e 3d  62 6c 6f 63 6b 21 33 32  |...ymin=block!32|
000059d0  2d 77 6f 72 6b 79 25 0d  1f 22 18 79 6d 61 78 3d  |-worky%..".ymax=|
000059e0  62 6c 6f 63 6b 21 34 30  2d 77 6f 72 6b 79 25 0d  |block!40-worky%.|
000059f0  1f 2c 26 f2 64 72 61 77  64 65 73 69 67 6e 28 77  |.,&.drawdesign(w|
00005a00  6f 72 6b 78 25 2c 77 6f  72 6b 79 25 2c 31 2c 63  |orkx%,worky%,1,c|
00005a10  6f 6d 70 25 29 0d 1f 36  05 e1 0d 1f 40 04 0d 1f  |omp%)..6....@...|
00005a20  4a 10 dd f2 72 65 64 72  61 77 6c 65 74 74 0d 1f  |J...redrawlett..|
00005a30  54 1b 77 6f 72 6b 78 25  3d 62 6c 6f 63 6b 21 34  |T.workx%=block!4|
00005a40  2d 62 6c 6f 63 6b 21 32  30 0d 1f 5e 1c 77 6f 72  |-block!20..^.wor|
00005a50  6b 79 25 3d 62 6c 6f 63  6b 21 31 36 2d 62 6c 6f  |ky%=block!16-blo|
00005a60  63 6b 21 32 34 0d 1f 68  18 78 6d 69 6e 3d 62 6c  |ck!24..h.xmin=bl|
00005a70  6f 63 6b 21 32 38 2d 77  6f 72 6b 78 25 0d 1f 72  |ock!28-workx%..r|
00005a80  18 78 6d 61 78 3d 62 6c  6f 63 6b 21 33 36 2d 77  |.xmax=block!36-w|
00005a90  6f 72 6b 78 25 0d 1f 7c  18 79 6d 69 6e 3d 62 6c  |orkx%..|.ymin=bl|
00005aa0  6f 63 6b 21 33 32 2d 77  6f 72 6b 79 25 0d 1f 86  |ock!32-worky%...|
00005ab0  18 79 6d 61 78 3d 62 6c  6f 63 6b 21 34 30 2d 77  |.ymax=block!40-w|
00005ac0  6f 72 6b 79 25 0d 1f 90  28 f2 64 72 61 77 64 65  |orky%...(.drawde|
00005ad0  73 69 67 6e 28 77 6f 72  6b 78 25 2c 77 6f 72 6b  |sign(workx%,work|
00005ae0  79 25 2c 32 2c 6c 65 74  74 65 72 25 29 0d 1f 9a  |y%,2,letter%)...|
00005af0  05 e1 0d 1f a4 04 0d 1f  ae 10 dd f2 72 65 64 72  |............redr|
00005b00  61 77 74 79 70 65 0d 1f  b8 1b 77 6f 72 6b 78 25  |awtype....workx%|
00005b10  3d 62 6c 6f 63 6b 21 34  2d 62 6c 6f 63 6b 21 32  |=block!4-block!2|
00005b20  30 0d 1f c2 1c 77 6f 72  6b 79 25 3d 62 6c 6f 63  |0....worky%=bloc|
00005b30  6b 21 31 36 2d 62 6c 6f  63 6b 21 32 34 0d 1f cc  |k!16-block!24...|
00005b40  2e c8 99 20 22 43 6f 6c  6f 75 72 54 72 61 6e 73  |... "ColourTrans|
00005b50  5f 53 65 74 47 43 4f 4c  22 2c 49 6e 74 65 72 48  |_SetGCOL",InterH|
00005b60  65 78 2c 2c 2c 26 31 30  30 2c 30 0d 1f d6 26 c8  |ex,,,&100,0...&.|
00005b70  93 20 c8 90 20 77 6f 72  6b 78 25 2b 34 30 36 2c  |. .. workx%+406,|
00005b80  77 6f 72 6b 79 25 2d 32  30 34 2c 31 34 30 2c 35  |worky%-204,140,5|
00005b90  30 0d 1f e0 27 c8 99 20  22 43 6f 6c 6f 75 72 54  |0...'.. "ColourT|
00005ba0  72 61 6e 73 5f 53 65 74  47 43 4f 4c 22 2c 30 2c  |rans_SetGCOL",0,|
00005bb0  2c 2c 26 31 30 30 2c 30  0d 1f ea 23 c8 93 20 77  |,,&100,0...#.. w|
00005bc0  6f 72 6b 78 25 2b 34 30  36 2c 77 6f 72 6b 79 25  |orkx%+406,worky%|
00005bd0  2d 32 30 34 2c 31 34 30  2c 35 30 0d 1f f4 05 e1  |-204,140,50.....|
00005be0  0d 1f fe 04 0d 20 08 10  dd f2 72 65 64 72 61 77  |..... ....redraw|
00005bf0  62 61 63 6b 0d 20 12 1b  77 6f 72 6b 78 25 3d 62  |back. ..workx%=b|
00005c00  6c 6f 63 6b 21 34 2d 62  6c 6f 63 6b 21 32 30 0d  |lock!4-block!20.|
00005c10  20 1c 1c 77 6f 72 6b 79  25 3d 62 6c 6f 63 6b 21  | ..worky%=block!|
00005c20  31 36 2d 62 6c 6f 63 6b  21 32 34 0d 20 26 2e c8  |16-block!24. &..|
00005c30  99 20 22 43 6f 6c 6f 75  72 54 72 61 6e 73 5f 53  |. "ColourTrans_S|
00005c40  65 74 47 43 4f 4c 22 2c  49 6e 74 65 72 48 65 78  |etGCOL",InterHex|
00005c50  2c 2c 2c 26 31 30 30 2c  30 0d 20 30 26 c8 93 20  |,,,&100,0. 0&.. |
00005c60  c8 90 20 77 6f 72 6b 78  25 2b 33 34 32 2c 77 6f  |.. workx%+342,wo|
00005c70  72 6b 79 25 2d 31 31 30  2c 32 36 30 2c 34 38 0d  |rky%-110,260,48.|
00005c80  20 3a 27 c8 99 20 22 43  6f 6c 6f 75 72 54 72 61  | :'.. "ColourTra|
00005c90  6e 73 5f 53 65 74 47 43  4f 4c 22 2c 30 2c 2c 2c  |ns_SetGCOL",0,,,|
00005ca0  26 31 30 30 2c 30 0d 20  44 23 c8 93 20 77 6f 72  |&100,0. D#.. wor|
00005cb0  6b 78 25 2b 33 34 32 2c  77 6f 72 6b 79 25 2d 31  |kx%+342,worky%-1|
00005cc0  31 30 2c 32 36 30 2c 34  38 0d 20 4e 05 e1 0d 20  |10,260,48. N... |
00005cd0  58 04 0d 20 62 0f dd f2  72 65 64 72 61 77 63 6f  |X.. b...redrawco|
00005ce0  6c 0d 20 6c 14 52 45 44  3d 28 68 65 78 3e 3e 38  |l. l.RED=(hex>>8|
00005cf0  29 80 26 46 46 0d 20 76  17 47 52 45 45 4e 3d 28  |).&FF. v.GREEN=(|
00005d00  68 65 78 3e 3e 31 36 29  80 26 46 46 0d 20 80 16  |hex>>16).&FF. ..|
00005d10  42 4c 55 45 3d 28 68 65  78 3e 3e 32 34 29 80 26  |BLUE=(hex>>24).&|
00005d20  46 46 0d 20 8a 1b 77 6f  72 6b 78 25 3d 62 6c 6f  |FF. ..workx%=blo|
00005d30  63 6b 21 34 2d 62 6c 6f  63 6b 21 32 30 0d 20 94  |ck!4-block!20. .|
00005d40  1c 77 6f 72 6b 79 25 3d  62 6c 6f 63 6b 21 31 36  |.worky%=block!16|
00005d50  2d 62 6c 6f 63 6b 21 32  34 0d 20 9e 29 c8 99 20  |-block!24. .).. |
00005d60  22 43 6f 6c 6f 75 72 54  72 61 6e 73 5f 53 65 74  |"ColourTrans_Set|
00005d70  47 43 4f 4c 22 2c 68 65  78 2c 2c 2c 26 31 30 30  |GCOL",hex,,,&100|
00005d80  2c 30 0d 20 a8 26 c8 93  20 c8 90 20 77 6f 72 6b  |,0. .&.. .. work|
00005d90  78 25 2b 32 33 34 2c 77  6f 72 6b 79 25 2d 32 34  |x%+234,worky%-24|
00005da0  37 2c 31 37 35 2c 34 38  0d 20 b2 1b c8 99 20 22  |7,175,48. .... "|
00005db0  57 69 6d 70 5f 53 65 74  43 6f 6c 6f 75 72 22 2c  |Wimp_SetColour",|
00005dc0  31 2c 31 0d 20 bc 27 c8  93 20 c8 90 20 77 6f 72  |1,1. .'.. .. wor|
00005dd0  6b 78 25 2b 32 37 30 2c  77 6f 72 6b 79 25 2d 31  |kx%+270,worky%-1|
00005de0  37 30 2c 33 34 34 2c 31  34 37 0d 20 c6 2f c8 99  |70,344,147. ./..|
00005df0  20 22 43 6f 6c 6f 75 72  54 72 61 6e 73 5f 53 65  | "ColourTrans_Se|
00005e00  74 47 43 4f 4c 22 2c 26  30 30 30 30 46 46 30 30  |tGCOL",&0000FF00|
00005e10  2c 2c 2c 26 31 30 30 2c  30 0d 20 d0 2f c8 93 20  |,,,&100,0. ./.. |
00005e20  c8 90 20 77 6f 72 6b 78  25 2b 32 37 31 2c 77 6f  |.. workx%+271,wo|
00005e30  72 6b 79 25 2d 35 35 2c  28 52 45 44 2f 32 35 35  |rky%-55,(RED/255|
00005e40  29 2a 33 34 34 2c 33 32  0d 20 da 2f c8 99 20 22  |)*344,32. ./.. "|
00005e50  43 6f 6c 6f 75 72 54 72  61 6e 73 5f 53 65 74 47  |ColourTrans_SetG|
00005e60  43 4f 4c 22 2c 26 30 30  46 46 30 30 30 30 2c 2c  |COL",&00FF0000,,|
00005e70  2c 26 31 30 30 2c 30 0d  20 e4 32 c8 93 20 c8 90  |,&100,0. .2.. ..|
00005e80  20 77 6f 72 6b 78 25 2b  32 37 31 2c 77 6f 72 6b  | workx%+271,work|
00005e90  79 25 2d 31 31 31 2c 28  47 52 45 45 4e 2f 32 35  |y%-111,(GREEN/25|
00005ea0  35 29 2a 33 34 34 2c 33  32 0d 20 ee 2f c8 99 20  |5)*344,32. ./.. |
00005eb0  22 43 6f 6c 6f 75 72 54  72 61 6e 73 5f 53 65 74  |"ColourTrans_Set|
00005ec0  47 43 4f 4c 22 2c 26 46  46 30 30 30 30 30 30 2c  |GCOL",&FF000000,|
00005ed0  2c 2c 26 31 30 30 2c 30  0d 20 f8 31 c8 93 20 c8  |,,&100,0. .1.. .|
00005ee0  90 20 77 6f 72 6b 78 25  2b 32 37 31 2c 77 6f 72  |. workx%+271,wor|
00005ef0  6b 79 25 2d 31 36 37 2c  28 42 4c 55 45 2f 32 35  |ky%-167,(BLUE/25|
00005f00  35 29 2a 33 34 34 2c 33  32 0d 21 02 27 c8 99 20  |5)*344,32.!.'.. |
00005f10  22 43 6f 6c 6f 75 72 54  72 61 6e 73 5f 53 65 74  |"ColourTrans_Set|
00005f20  47 43 4f 4c 22 2c 30 2c  2c 2c 26 31 30 30 2c 30  |GCOL",0,,,&100,0|
00005f30  0d 21 0c 23 c8 93 20 77  6f 72 6b 78 25 2b 32 33  |.!.#.. workx%+23|
00005f40  33 2c 77 6f 72 6b 79 25  2d 32 34 38 2c 31 37 36  |3,worky%-248,176|
00005f50  2c 34 39 0d 21 16 22 c8  93 20 77 6f 72 6b 78 25  |,49.!.".. workx%|
00005f60  2b 32 37 30 2c 77 6f 72  6b 79 25 2d 35 38 2c 33  |+270,worky%-58,3|
00005f70  34 34 2c 33 34 0d 21 20  23 c8 93 20 77 6f 72 6b  |44,34.! #.. work|
00005f80  78 25 2b 32 37 30 2c 77  6f 72 6b 79 25 2d 31 31  |x%+270,worky%-11|
00005f90  34 2c 33 34 34 2c 33 34  0d 21 2a 23 c8 93 20 77  |4,344,34.!*#.. w|
00005fa0  6f 72 6b 78 25 2b 32 37  30 2c 77 6f 72 6b 79 25  |orkx%+270,worky%|
00005fb0  2d 31 37 30 2c 33 34 34  2c 33 34 0d 21 34 05 e1  |-170,344,34.!4..|
00005fc0  0d 21 3e 04 0d 21 48 0f  dd f2 72 65 64 72 61 77  |.!>..!H...redraw|
00005fd0  70 69 63 0d 21 52 1c 20  77 6f 72 6b 78 25 3d 62  |pic.!R. workx%=b|
00005fe0  6c 6f 63 6b 21 34 2d 62  6c 6f 63 6b 21 32 30 0d  |lock!4-block!20.|
00005ff0  21 5c 1d 20 77 6f 72 6b  79 25 3d 62 6c 6f 63 6b  |!\. worky%=block|
00006000  21 31 36 2d 62 6c 6f 63  6b 21 32 34 0d 21 66 0c  |!16-block!24.!f.|
00006010  72 65 64 72 61 77 3d a3  0d 21 70 18 78 6d 69 6e  |redraw=..!p.xmin|
00006020  3d 62 6c 6f 63 6b 21 32  38 2d 77 6f 72 6b 78 25  |=block!28-workx%|
00006030  0d 21 7a 18 78 6d 61 78  3d 62 6c 6f 63 6b 21 33  |.!z.xmax=block!3|
00006040  36 2d 77 6f 72 6b 78 25  0d 21 84 18 79 6d 69 6e  |6-workx%.!..ymin|
00006050  3d 62 6c 6f 63 6b 21 33  32 2d 77 6f 72 6b 79 25  |=block!32-worky%|
00006060  0d 21 8e 18 79 6d 61 78  3d 62 6c 6f 63 6b 21 34  |.!..ymax=block!4|
00006070  30 2d 77 6f 72 6b 79 25  0d 21 98 39 72 65 64 72  |0-worky%.!.9redr|
00006080  61 77 3d a4 6f 76 65 72  6c 61 70 73 28 31 36 2c  |aw=.overlaps(16,|
00006090  2d 32 31 38 2c 32 31 36  2c 2d 31 38 2c 78 6d 69  |-218,216,-18,xmi|
000060a0  6e 2c 79 6d 69 6e 2c 78  6d 61 78 2c 79 6d 61 78  |n,ymin,xmax,ymax|
000060b0  29 0d 21 a2 0e e7 20 72  65 64 72 61 77 20 8c 0d  |).!... redraw ..|
000060c0  21 ac 1e 70 74 72 3d 64  65 74 70 74 72 2b 28 64  |!..ptr=detptr+(d|
000060d0  65 73 62 6c 6b 2a 64 65  73 69 67 6e 29 0d 21 b6  |esblk*design).!.|
000060e0  17 52 65 64 3d 77 6f 72  6b 62 6c 6b 3f 28 70 74  |.Red=workblk?(pt|
000060f0  72 2b 31 29 0d 21 c0 19  47 72 65 65 6e 3d 77 6f  |r+1).!..Green=wo|
00006100  72 6b 62 6c 6b 3f 28 70  74 72 2b 32 29 0d 21 ca  |rkblk?(ptr+2).!.|
00006110  18 42 6c 75 65 3d 77 6f  72 6b 62 6c 6b 3f 28 70  |.Blue=workblk?(p|
00006120  74 72 2b 33 29 0d 21 d4  2c 49 6e 74 65 72 48 65  |tr+3).!.,InterHe|
00006130  78 3d 28 42 6c 75 65 3c  3c 32 34 29 2b 28 47 72  |x=(Blue<<24)+(Gr|
00006140  65 65 6e 3c 3c 31 36 29  2b 28 52 65 64 3c 3c 38  |een<<16)+(Red<<8|
00006150  29 0d 21 de 2e c8 99 20  22 43 6f 6c 6f 75 72 54  |).!.... "ColourT|
00006160  72 61 6e 73 5f 53 65 74  47 43 4f 4c 22 2c 49 6e  |rans_SetGCOL",In|
00006170  74 65 72 48 65 78 2c 2c  2c 26 31 30 30 2c 30 0d  |terHex,,,&100,0.|
00006180  21 e8 26 c8 93 20 c8 90  20 77 6f 72 6b 78 25 2b  |!.&.. .. workx%+|
00006190  31 36 2c 77 6f 72 6b 79  25 2d 32 31 38 2c 32 30  |16,worky%-218,20|
000061a0  30 2c 32 30 30 0d 21 f2  35 e7 20 a4 63 68 65 63  |0,200.!.5. .chec|
000061b0  6b 66 6c 61 67 28 70 69  63 74 75 72 65 25 2c 35  |kflag(picture%,5|
000061c0  2c 32 31 29 20 8c 20 70  69 63 70 69 63 3d 31 20  |,21) . picpic=1 |
000061d0  8b 20 70 69 63 70 69 63  3d 32 0d 21 fc 10 e7 20  |. picpic=2.!... |
000061e0  70 69 63 70 69 63 3d 31  20 8c 0d 22 06 34 c8 99  |picpic=1 ..".4..|
000061f0  22 57 69 6d 70 5f 52 65  61 64 50 69 78 54 72 61  |"Wimp_ReadPixTra|
00006200  6e 73 22 2c 26 31 30 30  2c 31 2c 22 73 69 7a 65  |ns",&100,1,"size|
00006210  69 6e 67 22 2c 2c 2c 2c  73 63 61 6c 65 25 0d 22  |ing",,,,scale%."|
00006220  10 20 68 70 69 78 3d 73  63 61 6c 65 25 21 34 3a  |. hpix=scale%!4:|
00006230  76 70 69 78 3d 73 63 61  6c 65 25 21 31 32 0d 22  |vpix=scale%!12."|
00006240  1a 1f 62 6f 78 77 3d 31  30 30 2f 68 70 69 78 3a  |..boxw=100/hpix:|
00006250  62 6f 78 68 3d 31 30 30  2f 76 70 69 78 0d 22 24  |boxh=100/vpix."$|
00006260  1b f2 73 63 61 6c 65 28  31 30 30 2c 31 30 30 2c  |..scale(100,100,|
00006270  63 75 72 73 70 72 24 29  0d 22 2e 34 c8 99 20 26  |curspr$).".4.. &|
00006280  32 45 2c 32 35 36 2b 34  30 2c 73 70 72 25 2c 63  |2E,256+40,spr%,c|
00006290  75 72 73 70 72 24 20 b8  20 41 2c 42 2c 43 2c 77  |urspr$ . A,B,C,w|
000062a0  25 2c 68 25 2c 44 2c 6d  6f 64 65 25 0d 22 38 3e  |%,h%,D,mode%."8>|
000062b0  72 65 61 6c 78 3d 77 25  2a 28 73 63 61 6c 65 25  |realx=w%*(scale%|
000062c0  21 30 2f 73 63 61 6c 65  25 21 38 29 3a 72 65 61  |!0/scale%!8):rea|
000062d0  6c 79 3d 68 25 2a 28 73  63 61 6c 65 25 21 34 2f  |ly=h%*(scale%!4/|
000062e0  73 63 61 6c 65 25 21 31  32 29 0d 22 42 2f 78 6d  |scale%!12)."B/xm|
000062f0  75 6c 3d 28 62 6f 78 77  2f 72 65 61 6c 78 29 2a  |ul=(boxw/realx)*|
00006300  31 30 30 3a 79 6d 75 6c  3d 28 62 6f 78 68 2f 72  |100:ymul=(boxh/r|
00006310  65 61 6c 79 29 2a 31 30  30 0d 22 4c 22 4c 6f 63  |ealy)*100."L"Loc|
00006320  6b 3d a4 63 68 65 63 6b  66 6c 61 67 28 70 69 63  |k=.checkflag(pic|
00006330  74 75 72 65 25 2c 31 2c  32 31 29 0d 22 56 25 43  |ture%,1,21)."V%C|
00006340  65 6e 74 72 65 64 3d a4  63 68 65 63 6b 66 6c 61  |entred=.checkfla|
00006350  67 28 70 69 63 74 75 72  65 25 2c 32 2c 32 31 29  |g(picture%,2,21)|
00006360  0d 22 60 23 46 72 6f 6e  74 3d a4 63 68 65 63 6b  |."`#Front=.check|
00006370  66 6c 61 67 28 70 69 63  74 75 72 65 25 2c 33 2c  |flag(picture%,3,|
00006380  32 31 29 0d 22 6a 22 e7  20 4c 6f 63 6b 20 80 20  |21)."j". Lock . |
00006390  78 6d 75 6c 3c 79 6d 75  6c 20 8c 20 79 6d 75 6c  |xmul<ymul . ymul|
000063a0  3d 78 6d 75 6c 0d 22 74  22 e7 20 4c 6f 63 6b 20  |=xmul."t". Lock |
000063b0  80 20 78 6d 75 6c 3e 79  6d 75 6c 20 8c 20 78 6d  |. xmul>ymul . xm|
000063c0  75 6c 3d 79 6d 75 6c 0d  22 7e 14 f2 67 65 74 70  |ul=ymul."~..getp|
000063d0  61 6c 28 63 75 72 73 70  72 24 29 0d 22 88 11 78  |al(curspr$)."..x|
000063e0  6f 66 66 3d 30 3a 79 6f  66 66 3d 30 0d 22 92 2b  |off=0:yoff=0.".+|
000063f0  6e 65 77 78 3d 72 65 61  6c 78 2a 78 6d 75 6c 2f  |newx=realx*xmul/|
00006400  31 30 30 3a 6e 65 77 79  3d 72 65 61 6c 79 2a 79  |100:newy=realy*y|
00006410  6d 75 6c 2f 31 30 30 0d  22 9c 3b e7 20 43 65 6e  |mul/100.".;. Cen|
00006420  74 72 65 64 20 8c 20 78  6f 66 66 3d 28 62 6f 78  |tred . xoff=(box|
00006430  77 2d 6e 65 77 78 29 2a  68 70 69 78 3a 79 6f 66  |w-newx)*hpix:yof|
00006440  66 3d 28 62 6f 78 68 2d  6e 65 77 79 29 2a 76 70  |f=(boxh-newy)*vp|
00006450  69 78 0d 22 a6 15 78 64  69 76 3d 31 30 30 3a 79  |ix."..xdiv=100:y|
00006460  64 69 76 3d 31 30 30 0d  22 b0 61 73 63 61 6c 65  |div=100.".ascale|
00006470  25 21 30 3d 73 63 61 6c  65 25 21 30 2a 78 6d 75  |%!0=scale%!0*xmu|
00006480  6c 3a 73 63 61 6c 65 25  21 34 3d 73 63 61 6c 65  |l:scale%!4=scale|
00006490  25 21 34 2a 79 6d 75 6c  3a 73 63 61 6c 65 25 21  |%!4*ymul:scale%!|
000064a0  38 3d 73 63 61 6c 65 25  21 38 2a 78 64 69 76 3a  |8=scale%!8*xdiv:|
000064b0  73 63 61 6c 65 25 21 31  32 3d 73 63 61 6c 65 25  |scale%!12=scale%|
000064c0  21 31 32 2a 79 64 69 76  0d 22 ba 51 c8 99 20 26  |!12*ydiv.".Q.. &|
000064d0  32 45 2c 32 35 36 2b 35  32 2c 73 70 72 25 2c 63  |2E,256+52,spr%,c|
000064e0  75 72 73 70 72 24 2c 77  6f 72 6b 78 25 2b 31 36  |urspr$,workx%+16|
000064f0  2b 78 6f 66 66 2c 77 6f  72 6b 79 25 2d 32 31 38  |+xoff,worky%-218|
00006500  2b 20 79 6f 66 66 2c 38  2c 73 63 61 6c 65 25 2c  |+ yoff,8,scale%,|
00006510  50 69 78 54 72 61 6e 73  25 0d 22 c4 05 cd 0d 22  |PixTrans%."...."|
00006520  ce 10 e7 20 70 69 63 70  69 63 3d 32 20 8c 0d 22  |... picpic=2 .."|
00006530  d8 22 4c 6f 63 6b 3d a4  63 68 65 63 6b 66 6c 61  |."Lock=.checkfla|
00006540  67 28 70 69 63 74 75 72  65 25 2c 31 2c 32 31 29  |g(picture%,1,21)|
00006550  0d 22 e2 25 43 65 6e 74  72 65 64 3d a4 63 68 65  |.".%Centred=.che|
00006560  63 6b 66 6c 61 67 28 70  69 63 74 75 72 65 25 2c  |ckflag(picture%,|
00006570  32 2c 32 31 29 0d 22 ec  23 46 72 6f 6e 74 3d a4  |2,21).".#Front=.|
00006580  63 68 65 63 6b 66 6c 61  67 28 70 69 63 74 75 72  |checkflag(pictur|
00006590  65 25 2c 33 2c 32 31 29  0d 22 f6 52 69 63 6f 6e  |e%,3,21).".Ricon|
000065a0  64 21 30 3d 36 35 35 33  36 3a 69 63 6f 6e 64 21  |d!0=65536:icond!|
000065b0  34 3d 30 3a 69 63 6f 6e  64 21 38 3d 30 3a 69 63  |4=0:icond!8=0:ic|
000065c0  6f 6e 64 21 31 32 3d 36  35 35 33 36 3a 69 63 6f  |ond!12=65536:ico|
000065d0  6e 64 21 31 36 3d 30 2a  32 35 36 3a 69 63 6f 6e  |nd!16=0*256:icon|
000065e0  64 21 32 30 3d 30 2a 32  35 36 0d 23 00 33 c8 99  |d!20=0*256.#.3..|
000065f0  22 44 72 61 77 46 69 6c  65 5f 42 42 6f 78 22 2c  |"DrawFile_BBox",|
00006600  30 2c 64 72 61 77 70 74  72 25 2c 64 72 61 77 6b  |0,drawptr%,drawk|
00006610  2c 69 63 6f 6e 64 2c 6d  61 74 72 69 78 0d 23 0a  |,icond,matrix.#.|
00006620  41 77 69 64 74 68 3d 28  6d 61 74 72 69 78 21 38  |Awidth=(matrix!8|
00006630  2d 6d 61 74 72 69 78 21  30 29 2f 32 35 36 3a 68  |-matrix!0)/256:h|
00006640  65 69 67 68 74 3d 28 6d  61 74 72 69 78 21 31 32  |eight=(matrix!12|
00006650  2d 6d 61 74 72 69 78 21  34 29 2f 32 35 36 0d 23  |-matrix!4)/256.#|
00006660  14 22 78 6d 75 6c 3d 32  30 30 2f 77 69 64 74 68  |."xmul=200/width|
00006670  3a 79 6d 75 6c 3d 32 30  30 2f 68 65 69 67 68 74  |:ymul=200/height|
00006680  0d 23 1e 22 e7 20 4c 6f  63 6b 20 80 20 78 6d 75  |.#.". Lock . xmu|
00006690  6c 3c 79 6d 75 6c 20 8c  20 79 6d 75 6c 3d 78 6d  |l<ymul . ymul=xm|
000066a0  75 6c 0d 23 28 22 e7 20  4c 6f 63 6b 20 80 20 78  |ul.#(". Lock . x|
000066b0  6d 75 6c 3e 79 6d 75 6c  20 8c 20 78 6d 75 6c 3d  |mul>ymul . xmul=|
000066c0  79 6d 75 6c 0d 23 32 24  6e 65 77 77 3d 77 69 64  |ymul.#2$neww=wid|
000066d0  74 68 2a 78 6d 75 6c 3a  6e 65 77 68 3d 68 65 69  |th*xmul:newh=hei|
000066e0  67 68 74 2a 79 6d 75 6c  0d 23 3c 13 63 78 6f 66  |ght*ymul.#<.cxof|
000066f0  66 3d 30 3a 63 79 6f 66  66 3d 30 0d 23 46 35 e7  |f=0:cyoff=0.#F5.|
00006700  20 43 65 6e 74 72 65 64  20 8c 20 63 78 6f 66 66  | Centred . cxoff|
00006710  3d 28 32 30 30 2d 6e 65  77 77 29 2f 32 3a 63 79  |=(200-neww)/2:cy|
00006720  6f 66 66 3d 28 32 30 30  2d 6e 65 77 68 29 2f 32  |off=(200-newh)/2|
00006730  0d 23 50 2a 69 63 6f 6e  64 21 30 3d 78 6d 75 6c  |.#P*icond!0=xmul|
00006740  2a 36 35 35 33 36 3a 69  63 6f 6e 64 21 31 32 3d  |*65536:icond!12=|
00006750  79 6d 75 6c 2a 36 35 35  33 36 0d 23 5a 33 c8 99  |ymul*65536.#Z3..|
00006760  22 44 72 61 77 46 69 6c  65 5f 42 42 6f 78 22 2c  |"DrawFile_BBox",|
00006770  30 2c 64 72 61 77 70 74  72 25 2c 64 72 61 77 6b  |0,drawptr%,drawk|
00006780  2c 69 63 6f 6e 64 2c 6d  61 74 72 69 78 0d 23 64  |,icond,matrix.#d|
00006790  41 77 69 64 74 68 3d 28  6d 61 74 72 69 78 21 38  |Awidth=(matrix!8|
000067a0  2d 6d 61 74 72 69 78 21  30 29 2f 32 35 36 3a 68  |-matrix!0)/256:h|
000067b0  65 69 67 68 74 3d 28 6d  61 74 72 69 78 21 31 32  |eight=(matrix!12|
000067c0  2d 6d 61 74 72 69 78 21  34 29 2f 32 35 36 0d 23  |-matrix!4)/256.#|
000067d0  6e 2f 78 6f 66 66 3d 28  30 2d 6d 61 74 72 69 78  |n/xoff=(0-matrix|
000067e0  21 30 2f 32 35 36 29 3a  79 6f 66 66 3d 28 30 2d  |!0/256):yoff=(0-|
000067f0  6d 61 74 72 69 78 21 34  2f 32 35 36 29 0d 23 78  |matrix!4/256).#x|
00006800  87 69 63 6f 6e 64 21 30  3d 78 6d 75 6c 2a 36 35  |.icond!0=xmul*65|
00006810  35 33 36 3a 69 63 6f 6e  64 21 34 3d 30 3a 69 63  |536:icond!4=0:ic|
00006820  6f 6e 64 21 38 3d 30 3a  69 63 6f 6e 64 21 31 32  |ond!8=0:icond!12|
00006830  3d 79 6d 75 6c 2a 36 35  35 33 36 3a 69 63 6f 6e  |=ymul*65536:icon|
00006840  64 21 31 36 3d 28 77 6f  72 6b 78 25 2b 31 36 2b  |d!16=(workx%+16+|
00006850  78 6f 66 66 2b 63 78 6f  66 66 29 2a 32 35 36 3a  |xoff+cxoff)*256:|
00006860  69 63 6f 6e 64 21 32 30  3d 28 77 6f 72 6b 79 25  |icond!20=(worky%|
00006870  2d 32 31 38 2b 79 6f 66  66 2b 63 79 6f 66 66 29  |-218+yoff+cyoff)|
00006880  2a 32 35 36 0d 23 82 32  c8 99 22 44 72 61 77 46  |*256.#.2.."DrawF|
00006890  69 6c 65 5f 52 65 6e 64  65 72 22 2c 25 30 30 2c  |ile_Render",%00,|
000068a0  64 72 61 77 70 74 72 25  2c 64 72 61 77 6b 2c 69  |drawptr%,drawk,i|
000068b0  63 6f 6e 64 2c 30 0d 23  8c 07 e6 20 32 0d 23 96  |cond,0.#... 2.#.|
000068c0  05 cd 0d 23 a0 05 cd 0d  23 aa 05 e1 0d 23 b4 04  |...#....#....#..|
000068d0  0d 23 be 29 dd f2 64 72  61 77 64 65 73 69 67 6e  |.#.)..drawdesign|
000068e0  28 70 78 63 6f 2c 70 79  63 6f 2c 64 65 73 69 67  |(pxco,pyco,desig|
000068f0  6e 2c 68 61 6e 64 6c 65  29 0d 23 c8 1e 70 74 72  |n,handle).#..ptr|
00006900  3d 64 65 74 70 74 72 2b  28 64 65 73 62 6c 6b 2a  |=detptr+(desblk*|
00006910  64 65 73 69 67 6e 29 0d  23 d2 1a 62 6f 72 64 65  |design).#..borde|
00006920  72 3d 77 6f 72 6b 62 6c  6b 3f 28 70 74 72 2b 30  |r=workblk?(ptr+0|
00006930  29 0d 23 dc 18 42 52 65  64 3d 77 6f 72 6b 62 6c  |).#..BRed=workbl|
00006940  6b 3f 28 70 74 72 2b 31  29 0d 23 e6 1a 42 47 72  |k?(ptr+1).#..BGr|
00006950  65 65 6e 3d 77 6f 72 6b  62 6c 6b 3f 28 70 74 72  |een=workblk?(ptr|
00006960  2b 32 29 0d 23 f0 19 42  42 6c 75 65 3d 77 6f 72  |+2).#..BBlue=wor|
00006970  6b 62 6c 6b 3f 28 70 74  72 2b 33 29 0d 23 fa 19  |kblk?(ptr+3).#..|
00006980  42 54 72 61 6e 3d 77 6f  72 6b 62 6c 6b 3f 28 70  |BTran=workblk?(p|
00006990  74 72 2b 34 29 0d 24 04  1b 70 69 63 74 79 70 65  |tr+4).$..pictype|
000069a0  3d 77 6f 72 6b 62 6c 6b  3f 28 70 74 72 2b 35 29  |=workblk?(ptr+5)|
000069b0  0d 24 0e 1a 46 72 6f 6e  74 3d 77 6f 72 6b 62 6c  |.$..Front=workbl|
000069c0  6b 3f 28 70 74 72 2b 32  34 29 0d 24 18 18 62 78  |k?(ptr+24).$..bx|
000069d0  31 3d 77 6f 72 6b 62 6c  6b 21 28 70 74 72 2b 32  |1=workblk!(ptr+2|
000069e0  38 29 0d 24 22 18 62 79  31 3d 77 6f 72 6b 62 6c  |8).$".by1=workbl|
000069f0  6b 21 28 70 74 72 2b 33  32 29 0d 24 2c 18 62 78  |k!(ptr+32).$,.bx|
00006a00  32 3d 77 6f 72 6b 62 6c  6b 21 28 70 74 72 2b 33  |2=workblk!(ptr+3|
00006a10  36 29 0d 24 36 18 62 79  32 3d 77 6f 72 6b 62 6c  |6).$6.by2=workbl|
00006a20  6b 21 28 70 74 72 2b 34  30 29 0d 24 40 2b 42 43  |k!(ptr+40).$@+BC|
00006a30  6f 6c 3d 28 42 42 6c 75  65 3c 3c 32 34 29 2b 28  |ol=(BBlue<<24)+(|
00006a40  42 47 72 65 65 6e 3c 3c  31 36 29 2b 28 42 52 65  |BGreen<<16)+(BRe|
00006a50  64 3c 3c 38 29 0d 24 4a  0f c8 8e 20 62 6f 72 64  |d<<8).$J... bord|
00006a60  65 72 20 ca 0d 24 54 08  c9 20 31 3a 0d 24 5e 2a  |er ..$T.. 1:.$^*|
00006a70  c8 99 20 22 43 6f 6c 6f  75 72 54 72 61 6e 73 5f  |.. "ColourTrans_|
00006a80  53 65 74 47 43 4f 4c 22  2c 42 43 6f 6c 2c 2c 2c  |SetGCOL",BCol,,,|
00006a90  26 31 30 30 2c 30 0d 24  68 23 c8 93 20 c8 90 20  |&100,0.$h#.. .. |
00006aa0  70 78 63 6f 2b 62 78 31  2c 70 79 63 6f 2d 62 79  |pxco+bx1,pyco-by|
00006ab0  31 2c 62 78 32 2c 62 79  32 0d 24 72 2f c8 99 20  |1,bx2,by2.$r/.. |
00006ac0  22 43 6f 6c 6f 75 72 54  72 61 6e 73 5f 53 65 74  |"ColourTrans_Set|
00006ad0  47 43 4f 4c 22 2c 26 30  30 30 30 30 30 30 30 2c  |GCOL",&00000000,|
00006ae0  2c 2c 26 31 30 30 2c 30  0d 24 7c 20 c8 93 20 70  |,,&100,0.$| .. p|
00006af0  78 63 6f 2b 62 78 31 2c  70 79 63 6f 2d 62 79 31  |xco+bx1,pyco-by1|
00006b00  2c 62 78 32 2c 62 79 32  0d 24 86 08 c9 20 32 3a  |,bx2,by2.$... 2:|
00006b10  0d 24 90 2a c8 99 20 22  43 6f 6c 6f 75 72 54 72  |.$.*.. "ColourTr|
00006b20  61 6e 73 5f 53 65 74 47  43 4f 4c 22 2c 42 43 6f  |ans_SetGCOL",BCo|
00006b30  6c 2c 2c 2c 26 31 30 30  2c 30 0d 24 9a 23 c8 93  |l,,,&100,0.$.#..|
00006b40  20 c8 90 20 70 78 63 6f  2b 62 78 31 2c 70 79 63  | .. pxco+bx1,pyc|
00006b50  6f 2d 62 79 31 2c 62 78  32 2c 62 79 32 0d 24 a4  |o-by1,bx2,by2.$.|
00006b60  2f c8 99 20 22 43 6f 6c  6f 75 72 54 72 61 6e 73  |/.. "ColourTrans|
00006b70  5f 53 65 74 47 43 4f 4c  22 2c 26 30 30 30 30 30  |_SetGCOL",&00000|
00006b80  30 30 30 2c 2c 2c 26 31  30 30 2c 30 0d 24 ae 20  |000,,,&100,0.$. |
00006b90  c8 93 20 70 78 63 6f 2b  62 78 31 2c 70 79 63 6f  |.. pxco+bx1,pyco|
00006ba0  2d 62 79 31 2c 62 78 32  2c 62 79 32 0d 24 b8 28  |-by1,bx2,by2.$.(|
00006bb0  c8 93 20 70 78 63 6f 2b  62 78 31 2b 32 2c 70 79  |.. pxco+bx1+2,py|
00006bc0  63 6f 2d 62 79 31 2b 32  2c 62 78 32 2d 34 2c 62  |co-by1+2,bx2-4,b|
00006bd0  79 32 2d 34 0d 24 c2 08  c9 20 33 3a 0d 24 cc 2a  |y2-4.$... 3:.$.*|
00006be0  c8 99 20 22 43 6f 6c 6f  75 72 54 72 61 6e 73 5f  |.. "ColourTrans_|
00006bf0  53 65 74 47 43 4f 4c 22  2c 42 43 6f 6c 2c 2c 2c  |SetGCOL",BCol,,,|
00006c00  26 31 30 30 2c 30 0d 24  d6 23 c8 93 20 c8 90 20  |&100,0.$.#.. .. |
00006c10  70 78 63 6f 2b 62 78 31  2c 70 79 63 6f 2d 62 79  |pxco+bx1,pyco-by|
00006c20  31 2c 62 78 32 2c 62 79  32 0d 24 e0 2f c8 99 20  |1,bx2,by2.$./.. |
00006c30  22 43 6f 6c 6f 75 72 54  72 61 6e 73 5f 53 65 74  |"ColourTrans_Set|
00006c40  47 43 4f 4c 22 2c 26 30  30 30 30 30 30 30 30 2c  |GCOL",&00000000,|
00006c50  2c 2c 26 31 30 30 2c 30  0d 24 ea 20 c8 93 20 70  |,,&100,0.$. .. p|
00006c60  78 63 6f 2b 62 78 31 2c  70 79 63 6f 2d 62 79 31  |xco+bx1,pyco-by1|
00006c70  2c 62 78 32 2c 62 79 32  0d 24 f4 28 c8 93 20 70  |,bx2,by2.$.(.. p|
00006c80  78 63 6f 2b 62 78 31 2b  32 2c 70 79 63 6f 2d 62  |xco+bx1+2,pyco-b|
00006c90  79 31 2b 32 2c 62 78 32  2d 34 2c 62 79 32 2d 34  |y1+2,bx2-4,by2-4|
00006ca0  0d 24 fe 28 c8 93 20 70  78 63 6f 2b 62 78 31 2b  |.$.(.. pxco+bx1+|
00006cb0  34 2c 70 79 63 6f 2d 62  79 31 2b 34 2c 62 78 32  |4,pyco-by1+4,bx2|
00006cc0  2d 38 2c 62 79 32 2d 38  0d 25 08 08 c9 20 34 3a  |-8,by2-8.%... 4:|
00006cd0  0d 25 12 2a c8 99 20 22  43 6f 6c 6f 75 72 54 72  |.%.*.. "ColourTr|
00006ce0  61 6e 73 5f 53 65 74 47  43 4f 4c 22 2c 42 43 6f  |ans_SetGCOL",BCo|
00006cf0  6c 2c 2c 2c 26 31 30 30  2c 30 0d 25 1c 23 c8 93  |l,,,&100,0.%.#..|
00006d00  20 c8 90 20 70 78 63 6f  2b 62 78 31 2c 70 79 63  | .. pxco+bx1,pyc|
00006d10  6f 2d 62 79 31 2c 62 78  32 2c 62 79 32 0d 25 26  |o-by1,bx2,by2.%&|
00006d20  2f c8 99 20 22 43 6f 6c  6f 75 72 54 72 61 6e 73  |/.. "ColourTrans|
00006d30  5f 53 65 74 47 43 4f 4c  22 2c 26 30 30 30 30 30  |_SetGCOL",&00000|
00006d40  30 30 30 2c 2c 2c 26 31  30 30 2c 30 0d 25 30 20  |000,,,&100,0.%0 |
00006d50  c8 93 20 70 78 63 6f 2b  62 78 31 2c 70 79 63 6f  |.. pxco+bx1,pyco|
00006d60  2d 62 79 31 2c 62 78 32  2c 62 79 32 0d 25 3a 28  |-by1,bx2,by2.%:(|
00006d70  c8 93 20 70 78 63 6f 2b  62 78 31 2b 34 2c 70 79  |.. pxco+bx1+4,py|
00006d80  63 6f 2d 62 79 31 2b 34  2c 62 78 32 2d 38 2c 62  |co-by1+4,bx2-8,b|
00006d90  79 32 2d 38 0d 25 44 2a  c8 93 20 70 78 63 6f 2b  |y2-8.%D*.. pxco+|
00006da0  62 78 31 2b 36 2c 70 79  63 6f 2d 62 79 31 2b 36  |bx1+6,pyco-by1+6|
00006db0  2c 62 78 32 2d 31 32 2c  62 79 32 2d 31 32 0d 25  |,bx2-12,by2-12.%|
00006dc0  4e 08 c9 20 35 3a 0d 25  58 2a c8 99 20 22 43 6f  |N.. 5:.%X*.. "Co|
00006dd0  6c 6f 75 72 54 72 61 6e  73 5f 53 65 74 47 43 4f  |lourTrans_SetGCO|
00006de0  4c 22 2c 42 43 6f 6c 2c  2c 2c 26 31 30 30 2c 30  |L",BCol,,,&100,0|
00006df0  0d 25 62 23 c8 93 20 c8  90 20 70 78 63 6f 2b 62  |.%b#.. .. pxco+b|
00006e00  78 31 2c 70 79 63 6f 2d  62 79 31 2c 62 78 32 2c  |x1,pyco-by1,bx2,|
00006e10  62 79 32 0d 25 6c 2f c8  99 20 22 43 6f 6c 6f 75  |by2.%l/.. "Colou|
00006e20  72 54 72 61 6e 73 5f 53  65 74 47 43 4f 4c 22 2c  |rTrans_SetGCOL",|
00006e30  26 30 30 30 30 30 30 30  30 2c 2c 2c 26 31 30 30  |&00000000,,,&100|
00006e40  2c 30 0d 25 76 20 c8 93  20 70 78 63 6f 2b 62 78  |,0.%v .. pxco+bx|
00006e50  31 2c 70 79 63 6f 2d 62  79 31 2c 62 78 32 2c 62  |1,pyco-by1,bx2,b|
00006e60  79 32 0d 25 80 28 c8 93  20 70 78 63 6f 2b 62 78  |y2.%.(.. pxco+bx|
00006e70  31 2b 32 2c 70 79 63 6f  2d 62 79 31 2b 32 2c 62  |1+2,pyco-by1+2,b|
00006e80  78 32 2d 34 2c 62 79 32  2d 34 0d 25 8a 2a c8 93  |x2-4,by2-4.%.*..|
00006e90  20 70 78 63 6f 2b 62 78  31 2b 36 2c 70 79 63 6f  | pxco+bx1+6,pyco|
00006ea0  2d 62 79 31 2b 36 2c 62  78 32 2d 31 32 2c 62 79  |-by1+6,bx2-12,by|
00006eb0  32 2d 31 32 0d 25 94 05  cb 0d 25 9e 38 e7 20 46  |2-12.%....%.8. F|
00006ec0  72 6f 6e 74 3d 30 20 80  20 70 69 63 74 79 70 65  |ront=0 . pictype|
00006ed0  3d 31 20 8c 20 f2 64 65  73 73 70 72 69 74 65 28  |=1 . .dessprite(|
00006ee0  70 78 63 6f 2c 70 79 63  6f 2c 64 65 73 69 67 6e  |pxco,pyco,design|
00006ef0  29 0d 25 a8 36 e7 20 46  72 6f 6e 74 3d 30 20 80  |).%.6. Front=0 .|
00006f00  20 70 69 63 74 79 70 65  3d 32 20 8c 20 f2 64 65  | pictype=2 . .de|
00006f10  73 64 72 61 77 28 70 78  63 6f 2c 70 79 63 6f 2c  |sdraw(pxco,pyco,|
00006f20  64 65 73 69 67 6e 29 0d  25 b2 11 20 e3 20 69 74  |design).%.. . it|
00006f30  65 6d 3d 30 20 b8 20 35  0d 25 bc 26 20 20 f2 64  |em=0 . 5.%.&  .d|
00006f40  72 61 77 69 74 65 6d 28  64 65 73 69 67 6e 2c 69  |rawitem(design,i|
00006f50  74 65 6d 2c 70 78 63 6f  2c 70 79 63 6f 29 0d 25  |tem,pxco,pyco).%|
00006f60  c6 06 20 ed 0d 25 d0 38  e7 20 46 72 6f 6e 74 3d  |.. ..%.8. Front=|
00006f70  31 20 80 20 70 69 63 74  79 70 65 3d 31 20 8c 20  |1 . pictype=1 . |
00006f80  f2 64 65 73 73 70 72 69  74 65 28 70 78 63 6f 2c  |.dessprite(pxco,|
00006f90  70 79 63 6f 2c 64 65 73  69 67 6e 29 0d 25 da 36  |pyco,design).%.6|
00006fa0  e7 20 46 72 6f 6e 74 3d  31 20 80 20 70 69 63 74  |. Front=1 . pict|
00006fb0  79 70 65 3d 32 20 8c 20  f2 64 65 73 64 72 61 77  |ype=2 . .desdraw|
00006fc0  28 70 78 63 6f 2c 70 79  63 6f 2c 64 65 73 69 67  |(pxco,pyco,desig|
00006fd0  6e 29 0d 25 e4 22 e7 20  73 65 6c 65 63 74 3c 3e  |n).%.". select<>|
00006fe0  2d 31 20 80 20 68 61 6e  64 6c 65 3d 63 75 72 64  |-1 . handle=curd|
00006ff0  65 73 20 8c 0d 25 ee 4c  20 78 31 3d 73 78 31 3a  |es ..%.L x1=sx1:|
00007000  79 31 3d 30 2d 73 79 31  3a 78 32 3d 73 78 31 2b  |y1=0-sy1:x2=sx1+|
00007010  73 78 32 3a 79 32 3d 30  2d 73 79 31 2b 73 79 32  |sx2:y2=0-sy1+sy2|
00007020  3a 61 31 3d 78 6d 69 6e  3a 62 31 3d 79 6d 69 6e  |:a1=xmin:b1=ymin|
00007030  3a 61 32 3d 78 6d 61 78  3a 62 32 3d 79 6d 61 78  |:a2=xmax:b2=ymax|
00007040  0d 25 f8 2e 20 72 65 64  72 61 77 3d a4 6f 76 65  |.%.. redraw=.ove|
00007050  72 6c 61 70 73 28 78 31  2c 79 31 2c 78 32 2c 79  |rlaps(x1,y1,x2,y|
00007060  32 2c 61 31 2c 62 31 2c  61 32 2c 62 32 29 0d 26  |2,a1,b1,a2,b2).&|
00007070  02 0f 20 e7 20 72 65 64  72 61 77 20 8c 0d 26 0c  |.. . redraw ..&.|
00007080  2f 20 c8 99 22 43 6f 6c  6f 75 72 54 72 61 6e 73  |/ .."ColourTrans|
00007090  5f 53 65 74 47 43 4f 4c  22 2c 26 30 30 30 30 46  |_SetGCOL",&0000F|
000070a0  46 30 30 2c 2c 2c 26 31  30 30 2c 30 0d 26 16 1c  |F00,,,&100,0.&..|
000070b0  20 ec 20 77 6f 72 6b 78  25 2b 73 78 31 2c 77 6f  | . workx%+sx1,wo|
000070c0  72 6b 79 25 2d 73 79 31  0d 26 20 10 20 ef 20 32  |rky%-sy1.& . . 2|
000070d0  33 2c 36 2c 26 43 43 7c  0d 26 2a 0f 20 f0 20 31  |3,6,&CC|.&*. . 1|
000070e0  37 2c 73 78 32 2c 30 0d  26 34 0f 20 f0 20 31 37  |7,sx2,0.&4. . 17|
000070f0  2c 30 2c 73 79 32 0d 26  3e 11 20 f0 20 31 37 2c  |,0,sy2.&>. . 17,|
00007100  30 2d 73 78 32 2c 30 0d  26 48 11 20 f0 20 31 37  |0-sx2,0.&H. . 17|
00007110  2c 30 2c 30 2d 73 79 32  0d 26 52 06 20 cd 0d 26  |,0,0-sy2.&R. ..&|
00007120  5c 05 cd 0d 26 66 05 e1  0d 26 70 04 0d 26 7a 25  |\...&f...&p..&z%|
00007130  dd f2 64 72 61 77 69 74  65 6d 28 64 65 73 69 67  |..drawitem(desig|
00007140  6e 2c 69 74 65 6d 2c 70  78 63 6f 2c 70 79 63 6f  |n,item,pxco,pyco|
00007150  29 0d 26 84 32 70 74 72  3d 64 65 74 70 74 72 2b  |).&.2ptr=detptr+|
00007160  28 64 65 73 62 6c 6b 2a  64 65 73 69 67 6e 29 2b  |(desblk*design)+|
00007170  64 65 73 6c 65 6e 2b 28  73 74 79 6c 65 2a 69 74  |deslen+(style*it|
00007180  65 6d 29 0d 26 8e 1a 68  69 64 65 3d 77 6f 72 6b  |em).&..hide=work|
00007190  62 6c 6b 3f 28 70 74 72  2b 32 39 34 29 0d 26 98  |blk?(ptr+294).&.|
000071a0  10 e7 20 68 69 64 65 3d  30 20 8c 20 e1 0d 26 a2  |.. hide=0 . ..&.|
000071b0  0c 72 65 64 72 61 77 3d  a3 0d 26 ac 1b 46 78 50  |.redraw=..&..FxP|
000071c0  6f 73 3d 77 6f 72 6b 62  6c 6b 21 28 70 74 72 2b  |os=workblk!(ptr+|
000071d0  32 37 30 29 0d 26 b6 1b  46 79 50 6f 73 3d 77 6f  |270).&..FyPos=wo|
000071e0  72 6b 62 6c 6b 21 28 70  74 72 2b 32 37 34 29 0d  |rkblk!(ptr+274).|
000071f0  26 c0 19 46 78 31 3d 77  6f 72 6b 62 6c 6b 21 28  |&..Fx1=workblk!(|
00007200  70 74 72 2b 32 37 38 29  0d 26 ca 19 46 79 31 3d  |ptr+278).&..Fy1=|
00007210  77 6f 72 6b 62 6c 6b 21  28 70 74 72 2b 32 38 32  |workblk!(ptr+282|
00007220  29 0d 26 d4 19 46 78 32  3d 77 6f 72 6b 62 6c 6b  |).&..Fx2=workblk|
00007230  21 28 70 74 72 2b 32 38  36 29 0d 26 de 19 46 79  |!(ptr+286).&..Fy|
00007240  32 3d 77 6f 72 6b 62 6c  6b 21 28 70 74 72 2b 32  |2=workblk!(ptr+2|
00007250  39 30 29 0d 26 e8 17 75  3d 77 6f 72 6b 62 6c 6b  |90).&..u=workblk|
00007260  3f 28 70 74 72 2b 32 36  35 29 0d 26 f2 1d e7 20  |?(ptr+265).&... |
00007270  75 3d 31 20 8c 20 6c 69  6e 65 3d 34 2b 34 20 8b  |u=1 . line=4+4 .|
00007280  20 6c 69 6e 65 3d 30 0d  26 fc 50 78 31 3d 46 78  | line=0.&.Px1=Fx|
00007290  31 3a 79 31 3d 30 2d 46  79 31 2d 6c 69 6e 65 3a  |1:y1=0-Fy1-line:|
000072a0  78 32 3d 46 78 31 2b 46  78 32 3a 79 32 3d 30 2d  |x2=Fx1+Fx2:y2=0-|
000072b0  46 79 31 2b 46 79 32 3a  61 31 3d 78 6d 69 6e 3a  |Fy1+Fy2:a1=xmin:|
000072c0  62 31 3d 79 6d 69 6e 3a  61 32 3d 78 6d 61 78 3a  |b1=ymin:a2=xmax:|
000072d0  62 32 3d 79 6d 61 78 0d  27 06 1b e7 20 69 74 65  |b2=ymax.'... ite|
000072e0  6d 3d 35 20 8c 20 79 32  3d 46 79 32 2a 34 2b 36  |m=5 . y2=Fy2*4+6|
000072f0  2a 33 0d 27 10 2d 72 65  64 72 61 77 3d a4 6f 76  |*3.'.-redraw=.ov|
00007300  65 72 6c 61 70 73 28 78  31 2c 79 31 2c 78 32 2c  |erlaps(x1,y1,x2,|
00007310  79 32 2c 61 31 2c 62 31  2c 61 32 2c 62 32 29 0d  |y2,a1,b1,a2,b2).|
00007320  27 1a 0e e7 20 72 65 64  72 61 77 20 8c 0d 27 24  |'... redraw ..'$|
00007330  1d 74 65 78 74 24 3d 24  28 77 6f 72 6b 62 6c 6b  |.text$=$(workblk|
00007340  2b 69 74 65 6d 2a 32 35  36 29 0d 27 2e 0e e7 20  |+item*256).'... |
00007350  69 74 65 6d 3d 35 20 8c  0d 27 38 22 74 65 78 74  |item=5 ..'8"text|
00007360  32 24 3d 24 28 77 6f 72  6b 62 6c 6b 2b 28 69 74  |2$=$(workblk+(it|
00007370  65 6d 2b 31 29 2a 32 35  36 29 0d 27 42 22 74 65  |em+1)*256).'B"te|
00007380  78 74 33 24 3d 24 28 77  6f 72 6b 62 6c 6b 2b 28  |xt3$=$(workblk+(|
00007390  69 74 65 6d 2b 32 29 2a  32 35 36 29 0d 27 4c 22  |item+2)*256).'L"|
000073a0  74 65 78 74 34 24 3d 24  28 77 6f 72 6b 62 6c 6b  |text4$=$(workblk|
000073b0  2b 28 69 74 65 6d 2b 33  29 2a 32 35 36 29 0d 27  |+(item+3)*256).'|
000073c0  56 05 cd 0d 27 60 18 66  6f 6e 74 24 3d 24 28 77  |V...'`.font$=$(w|
000073d0  6f 72 6b 62 6c 6b 2b 70  74 72 29 0d 27 6a 2f c8  |orkblk+ptr).'j/.|
000073e0  99 22 58 46 6f 6e 74 5f  46 69 6e 64 46 6f 6e 74  |."XFont_FindFont|
000073f0  22 2c 2c 66 6f 6e 74 24  2c 31 36 2c 31 36 2c 30  |",,font$,16,16,0|
00007400  2c 30 20 b8 20 66 68 6e  64 25 0d 27 74 13 e7 20  |,0 . fhnd%.'t.. |
00007410  66 68 6e 64 25 21 30 3d  35 32 33 20 8c 0d 27 7e  |fhnd%!0=523 ..'~|
00007420  3a c8 99 22 58 46 6f 6e  74 5f 46 69 6e 64 46 6f  |:.."XFont_FindFo|
00007430  6e 74 22 2c 2c 22 54 72  69 6e 69 74 79 2e 4d 65  |nt",,"Trinity.Me|
00007440  64 69 75 6d 22 2c 31 36  2c 31 36 2c 30 2c 30 20  |dium",16,16,0,0 |
00007450  b8 20 66 68 6e 64 25 0d  27 88 3b e7 20 66 68 6e  |. fhnd%.'.;. fhn|
00007460  64 25 21 30 3d 35 32 33  20 8c 20 66 6f 6e 74 24  |d%!0=523 . font$|
00007470  3d 64 65 66 66 6f 6e 74  24 20 8b 20 66 6f 6e 74  |=deffont$ . font|
00007480  24 3d 22 54 72 69 6e 69  74 79 2e 4d 65 64 69 75  |$="Trinity.Mediu|
00007490  6d 22 0d 27 92 05 cd 0d  27 9c 18 70 74 3d 77 6f  |m".'....'..pt=wo|
000074a0  72 6b 62 6c 6b 21 28 70  74 72 2b 32 35 36 29 0d  |rkblk!(ptr+256).|
000074b0  27 a6 17 77 3d 77 6f 72  6b 62 6c 6b 21 28 70 74  |'..w=workblk!(pt|
000074c0  72 2b 32 36 30 29 0d 27  b0 17 6a 3d 77 6f 72 6b  |r+260).'..j=work|
000074d0  62 6c 6b 3f 28 70 74 72  2b 32 36 34 29 0d 27 ba  |blk?(ptr+264).'.|
000074e0  1a 46 52 65 64 3d 77 6f  72 6b 62 6c 6b 3f 28 70  |.FRed=workblk?(p|
000074f0  74 72 2b 32 36 36 29 0d  27 c4 1c 46 47 72 65 65  |tr+266).'..FGree|
00007500  6e 3d 77 6f 72 6b 62 6c  6b 3f 28 70 74 72 2b 32  |n=workblk?(ptr+2|
00007510  36 37 29 0d 27 ce 1b 46  42 6c 75 65 3d 77 6f 72  |67).'..FBlue=wor|
00007520  6b 62 6c 6b 3f 28 70 74  72 2b 32 36 38 29 0d 27  |kblk?(ptr+268).'|
00007530  d8 1b 46 54 72 61 6e 3d  77 6f 72 6b 62 6c 6b 3f  |..FTran=workblk?|
00007540  28 70 74 72 2b 32 36 39  29 0d 27 e2 2b 46 43 6f  |(ptr+269).'.+FCo|
00007550  6c 3d 28 46 42 6c 75 65  3c 3c 32 34 29 2b 28 46  |l=(FBlue<<24)+(F|
00007560  47 72 65 65 6e 3c 3c 31  36 29 2b 28 46 52 65 64  |Green<<16)+(FRed|
00007570  3c 3c 38 29 0d 27 ec 1e  78 3d a4 77 69 64 74 68  |<<8).'..x=.width|
00007580  28 74 65 78 74 24 2c 66  6f 6e 74 24 2c 70 74 2c  |(text$,font$,pt,|
00007590  77 29 0d 27 f6 36 c8 99  20 22 43 6f 6c 6f 75 72  |w).'.6.. "Colour|
000075a0  54 72 61 6e 73 5f 53 65  74 46 6f 6e 74 43 6f 6c  |Trans_SetFontCol|
000075b0  6f 75 72 73 22 2c 66 6f  6e 74 25 2c 42 43 6f 6c  |ours",font%,BCol|
000075c0  2c 46 43 6f 6c 2c 31 34  0d 28 00 0e e7 20 69 74  |,FCol,14.(... it|
000075d0  65 6d 3d 35 20 8c 0d 28  0a 0e 6a 75 73 3d 25 31  |em=5 ..(..jus=%1|
000075e0  30 30 31 30 0d 28 14 0d  6e 46 78 3d 46 78 50 6f  |0010.(..nFx=FxPo|
000075f0  73 0d 28 1e 32 e7 20 6a  3d 33 20 8c 20 6a 75 73  |s.(.2. j=3 . jus|
00007600  3d 25 31 30 30 30 31 3a  ec 20 70 78 63 6f 2b 46  |=%10001:. pxco+F|
00007610  78 50 6f 73 2b 46 78 32  2c 70 79 63 6f 2d 46 79  |xPos+Fx2,pyco-Fy|
00007620  50 6f 73 0d 28 28 23 77  69 64 74 68 3d a4 77 69  |Pos.((#width=.wi|
00007630  64 74 68 28 74 65 78 74  34 24 2c 66 6f 6e 74 24  |dth(text4$,font$|
00007640  2c 70 74 2c 77 29 0d 28  32 1f e7 20 6a 3d 32 20  |,pt,w).(2.. j=2 |
00007650  6e 46 78 3d 46 78 50 6f  73 2b 28 46 78 32 2d 77  |nFx=FxPos+(Fx2-w|
00007660  69 64 74 68 29 0d 28 3c  21 e7 20 6a 3d 31 20 6e  |idth).(<!. j=1 n|
00007670  46 78 3d 46 78 50 6f 73  2b 28 46 78 32 2d 77 69  |Fx=FxPos+(Fx2-wi|
00007680  64 74 68 29 2f 32 0d 28  46 32 c8 99 22 46 6f 6e  |dth)/2.(F2.."Fon|
00007690  74 5f 50 61 69 6e 74 22  2c 2c 74 65 78 74 34 24  |t_Paint",,text4$|
000076a0  2c 6a 75 73 2c 70 78 63  6f 2b 6e 46 78 2c 70 79  |,jus,pxco+nFx,py|
000076b0  63 6f 2d 46 79 50 6f 73  0d 28 50 23 77 69 64 74  |co-FyPos.(P#widt|
000076c0  68 3d a4 77 69 64 74 68  28 74 65 78 74 33 24 2c  |h=.width(text3$,|
000076d0  66 6f 6e 74 24 2c 70 74  2c 77 29 0d 28 5a 1f e7  |font$,pt,w).(Z..|
000076e0  20 6a 3d 32 20 6e 46 78  3d 46 78 50 6f 73 2b 28  | j=2 nFx=FxPos+(|
000076f0  46 78 32 2d 77 69 64 74  68 29 0d 28 64 21 e7 20  |Fx2-width).(d!. |
00007700  6a 3d 31 20 6e 46 78 3d  46 78 50 6f 73 2b 28 46  |j=1 nFx=FxPos+(F|
00007710  78 32 2d 77 69 64 74 68  29 2f 32 0d 28 6e 3e c8  |x2-width)/2.(n>.|
00007720  99 22 46 6f 6e 74 5f 50  61 69 6e 74 22 2c 2c 74  |."Font_Paint",,t|
00007730  65 78 74 33 24 2c 6a 75  73 2c 70 78 63 6f 2b 6e  |ext3$,jus,pxco+n|
00007740  46 78 2c 70 79 63 6f 2d  46 79 50 6f 73 2b 28 28  |Fx,pyco-FyPos+((|
00007750  46 79 32 2b 36 29 2a 31  29 0d 28 78 23 77 69 64  |Fy2+6)*1).(x#wid|
00007760  74 68 3d a4 77 69 64 74  68 28 74 65 78 74 32 24  |th=.width(text2$|
00007770  2c 66 6f 6e 74 24 2c 70  74 2c 77 29 0d 28 82 1f  |,font$,pt,w).(..|
00007780  e7 20 6a 3d 32 20 6e 46  78 3d 46 78 50 6f 73 2b  |. j=2 nFx=FxPos+|
00007790  28 46 78 32 2d 77 69 64  74 68 29 0d 28 8c 21 e7  |(Fx2-width).(.!.|
000077a0  20 6a 3d 31 20 6e 46 78  3d 46 78 50 6f 73 2b 28  | j=1 nFx=FxPos+(|
000077b0  46 78 32 2d 77 69 64 74  68 29 2f 32 0d 28 96 3e  |Fx2-width)/2.(.>|
000077c0  c8 99 22 46 6f 6e 74 5f  50 61 69 6e 74 22 2c 2c  |.."Font_Paint",,|
000077d0  74 65 78 74 32 24 2c 6a  75 73 2c 70 78 63 6f 2b  |text2$,jus,pxco+|
000077e0  6e 46 78 2c 70 79 63 6f  2d 46 79 50 6f 73 2b 28  |nFx,pyco-FyPos+(|
000077f0  28 46 79 32 2b 36 29 2a  32 29 0d 28 a0 22 77 69  |(Fy2+6)*2).(."wi|
00007800  64 74 68 3d a4 77 69 64  74 68 28 74 65 78 74 24  |dth=.width(text$|
00007810  2c 66 6f 6e 74 24 2c 70  74 2c 77 29 0d 28 aa 1f  |,font$,pt,w).(..|
00007820  e7 20 6a 3d 32 20 6e 46  78 3d 46 78 50 6f 73 2b  |. j=2 nFx=FxPos+|
00007830  28 46 78 32 2d 77 69 64  74 68 29 0d 28 b4 21 e7  |(Fx2-width).(.!.|
00007840  20 6a 3d 31 20 6e 46 78  3d 46 78 50 6f 73 2b 28  | j=1 nFx=FxPos+(|
00007850  46 78 32 2d 77 69 64 74  68 29 2f 32 0d 28 be 3d  |Fx2-width)/2.(.=|
00007860  c8 99 22 46 6f 6e 74 5f  50 61 69 6e 74 22 2c 2c  |.."Font_Paint",,|
00007870  74 65 78 74 24 2c 6a 75  73 2c 70 78 63 6f 2b 6e  |text$,jus,pxco+n|
00007880  46 78 2c 70 79 63 6f 2d  46 79 50 6f 73 2b 28 28  |Fx,pyco-FyPos+((|
00007890  46 79 32 2b 36 29 2a 33  29 0d 28 c8 05 cc 0d 28  |Fy2+6)*3).(....(|
000078a0  d2 36 c8 99 22 46 6f 6e  74 5f 50 61 69 6e 74 22  |.6.."Font_Paint"|
000078b0  2c 2c 74 65 78 74 24 2c  25 31 30 30 31 30 2c 70  |,,text$,%10010,p|
000078c0  78 63 6f 2b 46 78 50 6f  73 2c 70 79 63 6f 2d 46  |xco+FxPos,pyco-F|
000078d0  79 50 6f 73 0d 28 dc 05  cd 0d 28 e6 0b e7 20 75  |yPos.(....(... u|
000078e0  3d 31 20 8c 0d 28 f0 2a  c8 99 20 22 43 6f 6c 6f  |=1 ..(.*.. "Colo|
000078f0  75 72 54 72 61 6e 73 5f  53 65 74 47 43 4f 4c 22  |urTrans_SetGCOL"|
00007900  2c 46 43 6f 6c 2c 2c 2c  26 31 30 30 2c 30 0d 28  |,FCol,,,&100,0.(|
00007910  fa 22 c8 93 20 c8 90 20  70 78 63 6f 2b 46 78 31  |.".. .. pxco+Fx1|
00007920  2c 70 79 63 6f 2d 46 79  31 2d 34 2c 78 2c 2d 34  |,pyco-Fy1-4,x,-4|
00007930  0d 29 04 05 cd 0d 29 0e  05 cd 0d 29 18 05 e1 0d  |.)....)....)....|
00007940  29 22 04 0d 29 2c 27 dd  a4 6f 76 65 72 6c 61 70  |)"..),'..overlap|
00007950  73 28 78 31 2c 79 31 2c  78 32 2c 79 32 2c 61 31  |s(x1,y1,x2,y2,a1|
00007960  2c 62 31 2c 61 32 2c 62  32 29 0d 29 36 15 69 6e  |,b1,a2,b2).)6.in|
00007970  74 65 72 78 3d a3 3a 69  6e 74 65 72 79 3d a3 0d  |terx=.:intery=..|
00007980  29 40 22 e7 20 28 78 31  3e 3d 61 31 20 80 20 78  |)@". (x1>=a1 . x|
00007990  31 3c 3d 61 32 29 20 8c  20 69 6e 74 65 72 78 3d  |1<=a2) . interx=|
000079a0  b9 0d 29 4a 22 e7 20 28  78 32 3e 3d 61 31 20 80  |..)J". (x2>=a1 .|
000079b0  20 78 32 3c 3d 61 32 29  20 8c 20 69 6e 74 65 72  | x2<=a2) . inter|
000079c0  78 3d b9 0d 29 54 22 e7  20 28 61 31 3e 3d 78 31  |x=..)T". (a1>=x1|
000079d0  20 80 20 61 31 3c 3d 78  32 29 20 8c 20 69 6e 74  | . a1<=x2) . int|
000079e0  65 72 78 3d b9 0d 29 5e  22 e7 20 28 61 32 3e 3d  |erx=..)^". (a2>=|
000079f0  78 31 20 80 20 61 32 3c  3d 78 32 29 20 8c 20 69  |x1 . a2<=x2) . i|
00007a00  6e 74 65 72 78 3d b9 0d  29 68 22 e7 20 28 79 31  |nterx=..)h". (y1|
00007a10  3e 3d 62 31 20 80 20 79  31 3c 3d 62 32 29 20 8c  |>=b1 . y1<=b2) .|
00007a20  20 69 6e 74 65 72 79 3d  b9 0d 29 72 22 e7 20 28  | intery=..)r". (|
00007a30  79 32 3e 3d 62 31 20 80  20 79 32 3c 3d 62 32 29  |y2>=b1 . y2<=b2)|
00007a40  20 8c 20 69 6e 74 65 72  79 3d b9 0d 29 7c 22 e7  | . intery=..)|".|
00007a50  20 28 62 31 3e 3d 79 31  20 80 20 62 31 3c 3d 79  | (b1>=y1 . b1<=y|
00007a60  32 29 20 8c 20 69 6e 74  65 72 79 3d b9 0d 29 86  |2) . intery=..).|
00007a70  22 e7 20 28 62 32 3e 3d  79 31 20 80 20 62 32 3c  |". (b2>=y1 . b2<|
00007a80  3d 79 32 29 20 8c 20 69  6e 74 65 72 79 3d b9 0d  |=y2) . intery=..|
00007a90  29 90 1a e7 20 69 6e 74  65 72 78 20 80 20 69 6e  |)... interx . in|
00007aa0  74 65 72 79 20 8c 20 3d  b9 0d 29 9a 06 3d a3 0d  |tery . =..)..=..|
00007ab0  29 a4 04 0d 29 ae 21 dd  f2 64 65 73 73 70 72 69  |)...).!..desspri|
00007ac0  74 65 28 63 78 63 6f 2c  63 79 63 6f 2c 64 65 73  |te(cxco,cyco,des|
00007ad0  69 67 6e 29 0d 29 b8 0c  72 65 64 72 61 77 3d a3  |ign).)..redraw=.|
00007ae0  0d 29 c2 1e 70 74 72 3d  64 65 74 70 74 72 2b 28  |.)..ptr=detptr+(|
00007af0  64 65 73 62 6c 6b 2a 64  65 73 69 67 6e 29 0d 29  |desblk*design).)|
00007b00  cc 19 53 70 78 31 3d 77  6f 72 6b 62 6c 6b 21 28  |..Spx1=workblk!(|
00007b10  70 74 72 2b 34 34 29 0d  29 d6 19 53 70 79 31 3d  |ptr+44).)..Spy1=|
00007b20  77 6f 72 6b 62 6c 6b 21  28 70 74 72 2b 34 38 29  |workblk!(ptr+48)|
00007b30  0d 29 e0 19 53 70 78 32  3d 77 6f 72 6b 62 6c 6b  |.)..Spx2=workblk|
00007b40  21 28 70 74 72 2b 35 32  29 0d 29 ea 19 53 70 79  |!(ptr+52).)..Spy|
00007b50  32 3d 77 6f 72 6b 62 6c  6b 21 28 70 74 72 2b 35  |2=workblk!(ptr+5|
00007b60  36 29 0d 29 f4 51 78 31  3d 53 70 78 31 3a 79 31  |6).).Qx1=Spx1:y1|
00007b70  3d 30 2d 53 70 79 31 3a  78 32 3d 53 70 78 31 2b  |=0-Spy1:x2=Spx1+|
00007b80  53 70 78 32 3a 79 32 3d  30 2d 53 70 79 31 2b 53  |Spx2:y2=0-Spy1+S|
00007b90  70 79 32 3a 61 31 3d 78  6d 69 6e 3a 62 31 3d 79  |py2:a1=xmin:b1=y|
00007ba0  6d 69 6e 3a 61 32 3d 78  6d 61 78 3a 62 32 3d 79  |min:a2=xmax:b2=y|
00007bb0  6d 61 78 0d 29 fe 2d 72  65 64 72 61 77 3d a4 6f  |max.).-redraw=.o|
00007bc0  76 65 72 6c 61 70 73 28  78 31 2c 79 31 2c 78 32  |verlaps(x1,y1,x2|
00007bd0  2c 79 32 2c 61 31 2c 62  31 2c 61 32 2c 62 32 29  |,y2,a1,b1,a2,b2)|
00007be0  0d 2a 08 18 e7 20 73 70  72 69 74 65 73 20 80 20  |.*... sprites . |
00007bf0  72 65 64 72 61 77 20 8c  0d 2a 12 1e 63 75 72 73  |redraw ..*..curs|
00007c00  70 72 24 3d 24 28 77 6f  72 6b 62 6c 6b 2b 28 70  |pr$=$(workblk+(p|
00007c10  74 72 2b 36 29 29 0d 2a  1c 19 4c 6f 63 6b 3d 77  |tr+6)).*..Lock=w|
00007c20  6f 72 6b 62 6c 6b 3f 28  70 74 72 2b 32 32 29 0d  |orkblk?(ptr+22).|
00007c30  2a 26 1c 43 65 6e 74 72  65 64 3d 77 6f 72 6b 62  |*&.Centred=workb|
00007c40  6c 6b 3f 28 70 74 72 2b  32 33 29 0d 2a 30 1a 46  |lk?(ptr+23).*0.F|
00007c50  72 6f 6e 74 3d 77 6f 72  6b 62 6c 6b 3f 28 70 74  |ront=workblk?(pt|
00007c60  72 2b 32 34 29 0d 2a 3a  34 c8 99 22 57 69 6d 70  |r+24).*:4.."Wimp|
00007c70  5f 52 65 61 64 50 69 78  54 72 61 6e 73 22 2c 26  |_ReadPixTrans",&|
00007c80  31 30 30 2c 31 2c 22 73  69 7a 65 69 6e 67 22 2c  |100,1,"sizeing",|
00007c90  2c 2c 2c 73 63 61 6c 65  25 0d 2a 44 20 68 70 69  |,,,scale%.*D hpi|
00007ca0  78 3d 73 63 61 6c 65 25  21 34 3a 76 70 69 78 3d  |x=scale%!4:vpix=|
00007cb0  73 63 61 6c 65 25 21 31  32 0d 2a 4e 21 53 70 78  |scale%!12.*N!Spx|
00007cc0  32 3d 53 70 78 32 2f 68  70 69 78 3a 53 70 79 32  |2=Spx2/hpix:Spy2|
00007cd0  3d 53 70 79 32 2f 76 70  69 78 0d 2a 58 31 c8 99  |=Spy2/vpix.*X1..|
00007ce0  20 26 32 45 2c 32 35 36  2b 34 30 2c 73 70 72 25  | &2E,256+40,spr%|
00007cf0  2c 63 75 72 73 70 72 24  20 b8 20 2c 2c 2c 77 25  |,curspr$ . ,,,w%|
00007d00  2c 68 25 2c 44 2c 6d 6f  64 65 25 0d 2a 62 1d f2  |,h%,D,mode%.*b..|
00007d10  73 63 61 6c 65 28 53 70  78 32 2c 53 70 79 32 2c  |scale(Spx2,Spy2,|
00007d20  63 75 72 73 70 72 24 29  0d 2a 6c 14 f2 67 65 74  |curspr$).*l..get|
00007d30  70 61 6c 28 63 75 72 73  70 72 24 29 0d 2a 76 3c  |pal(curspr$).*v<|
00007d40  6e 65 77 78 3d 77 25 2a  28 73 63 61 6c 65 25 21  |newx=w%*(scale%!|
00007d50  30 2f 73 63 61 6c 65 25  21 38 29 3a 6e 65 77 79  |0/scale%!8):newy|
00007d60  3d 68 25 2a 28 73 63 61  6c 65 25 21 34 2f 73 63  |=h%*(scale%!4/sc|
00007d70  61 6c 65 25 21 31 32 29  0d 2a 80 35 78 6d 75 6c  |ale%!12).*.5xmul|
00007d80  3d 28 28 53 70 78 32 2f  32 29 2f 6e 65 77 78 29  |=((Spx2/2)/newx)|
00007d90  2a 31 30 30 3a 79 6d 75  6c 3d 28 28 53 70 79 32  |*100:ymul=((Spy2|
00007da0  2f 32 29 2f 6e 65 77 79  29 2a 31 30 30 0d 2a 8a  |/2)/newy)*100.*.|
00007db0  11 78 6f 66 66 3d 30 3a  79 6f 66 66 3d 30 0d 2a  |.xoff=0:yoff=0.*|
00007dc0  94 41 78 6f 66 66 31 3d  28 77 25 2a 78 6d 75 6c  |.Axoff1=(w%*xmul|
00007dd0  2a 73 63 61 6c 65 25 21  30 2a 32 29 2f 31 30 30  |*scale%!0*2)/100|
00007de0  3a 79 6f 66 66 31 3d 28  68 25 2a 79 6d 75 6c 2a  |:yoff1=(h%*ymul*|
00007df0  73 63 61 6c 65 25 21 34  2a 32 29 2f 31 30 30 0d  |scale%!4*2)/100.|
00007e00  2a 9e 24 e7 20 4c 6f 63  6b 3d 31 20 80 20 78 6d  |*.$. Lock=1 . xm|
00007e10  75 6c 3c 79 6d 75 6c 20  8c 20 79 6d 75 6c 3d 78  |ul<ymul . ymul=x|
00007e20  6d 75 6c 0d 2a a8 24 e7  20 4c 6f 63 6b 3d 31 20  |mul.*.$. Lock=1 |
00007e30  80 20 78 6d 75 6c 3e 79  6d 75 6c 20 8c 20 78 6d  |. xmul>ymul . xm|
00007e40  75 6c 3d 79 6d 75 6c 0d  2a b2 11 e7 20 43 65 6e  |ul=ymul.*... Cen|
00007e50  74 72 65 64 3d 31 20 8c  0d 2a bc 41 78 6f 66 66  |tred=1 ..*.Axoff|
00007e60  32 3d 28 77 25 2a 78 6d  75 6c 2a 73 63 61 6c 65  |2=(w%*xmul*scale|
00007e70  25 21 30 2a 32 29 2f 31  30 30 3a 79 6f 66 66 32  |%!0*2)/100:yoff2|
00007e80  3d 28 68 25 2a 79 6d 75  6c 2a 73 63 61 6c 65 25  |=(h%*ymul*scale%|
00007e90  21 34 2a 32 29 2f 31 30  30 0d 2a c6 37 78 6f 66  |!4*2)/100.*.7xof|
00007ea0  66 3d 28 78 6f 66 66 31  2d 78 6f 66 66 32 29 2f  |f=(xoff1-xoff2)/|
00007eb0  32 2a 68 70 69 78 3a 79  6f 66 66 3d 28 79 6f 66  |2*hpix:yoff=(yof|
00007ec0  66 31 2d 79 6f 66 66 32  29 2f 32 2a 76 70 69 78  |f1-yoff2)/2*vpix|
00007ed0  0d 2a d0 05 cd 0d 2a da  15 78 64 69 76 3d 31 30  |.*....*..xdiv=10|
00007ee0  30 3a 79 64 69 76 3d 31  30 30 0d 2a e4 61 73 63  |0:ydiv=100.*.asc|
00007ef0  61 6c 65 25 21 30 3d 73  63 61 6c 65 25 21 30 2a  |ale%!0=scale%!0*|
00007f00  78 6d 75 6c 3a 73 63 61  6c 65 25 21 34 3d 73 63  |xmul:scale%!4=sc|
00007f10  61 6c 65 25 21 34 2a 79  6d 75 6c 3a 73 63 61 6c  |ale%!4*ymul:scal|
00007f20  65 25 21 38 3d 73 63 61  6c 65 25 21 38 2a 78 64  |e%!8=scale%!8*xd|
00007f30  69 76 3a 73 63 61 6c 65  25 21 31 32 3d 73 63 61  |iv:scale%!12=sca|
00007f40  6c 65 25 21 31 32 2a 79  64 69 76 0d 2a ee 4f c8  |le%!12*ydiv.*.O.|
00007f50  99 20 26 32 45 2c 32 35  36 2b 35 32 2c 73 70 72  |. &2E,256+52,spr|
00007f60  25 2c 63 75 72 73 70 72  24 2c 63 78 63 6f 2b 53  |%,curspr$,cxco+S|
00007f70  70 78 31 2b 78 6f 66 66  2c 63 79 63 6f 2d 53 70  |px1+xoff,cyco-Sp|
00007f80  79 31 2b 79 6f 66 66 2c  38 2c 73 63 61 6c 65 25  |y1+yoff,8,scale%|
00007f90  2c 50 69 78 54 72 61 6e  73 25 0d 2a f8 05 cd 0d  |,PixTrans%.*....|
00007fa0  2b 02 05 e1 0d 2b 0c 04  0d 2b 16 1f dd f2 64 65  |+....+...+....de|
00007fb0  73 64 72 61 77 28 63 78  63 6f 2c 63 79 63 6f 2c  |sdraw(cxco,cyco,|
00007fc0  64 65 73 69 67 6e 29 0d  2b 20 0c 72 65 64 72 61  |design).+ .redra|
00007fd0  77 3d a3 0d 2b 2a 1e 70  74 72 3d 64 65 74 70 74  |w=..+*.ptr=detpt|
00007fe0  72 2b 28 64 65 73 62 6c  6b 2a 64 65 73 69 67 6e  |r+(desblk*design|
00007ff0  29 0d 2b 34 19 53 70 78  31 3d 77 6f 72 6b 62 6c  |).+4.Spx1=workbl|
00008000  6b 21 28 70 74 72 2b 34  34 29 0d 2b 3e 19 53 70  |k!(ptr+44).+>.Sp|
00008010  79 31 3d 77 6f 72 6b 62  6c 6b 21 28 70 74 72 2b  |y1=workblk!(ptr+|
00008020  34 38 29 0d 2b 48 19 53  70 78 32 3d 77 6f 72 6b  |48).+H.Spx2=work|
00008030  62 6c 6b 21 28 70 74 72  2b 35 32 29 0d 2b 52 19  |blk!(ptr+52).+R.|
00008040  53 70 79 32 3d 77 6f 72  6b 62 6c 6b 21 28 70 74  |Spy2=workblk!(pt|
00008050  72 2b 35 36 29 0d 2b 5c  51 78 31 3d 53 70 78 31  |r+56).+\Qx1=Spx1|
00008060  3a 79 31 3d 30 2d 53 70  79 31 3a 78 32 3d 53 70  |:y1=0-Spy1:x2=Sp|
00008070  78 31 2b 53 70 78 32 3a  79 32 3d 30 2d 53 70 79  |x1+Spx2:y2=0-Spy|
00008080  31 2b 53 70 79 32 3a 61  31 3d 78 6d 69 6e 3a 62  |1+Spy2:a1=xmin:b|
00008090  31 3d 79 6d 69 6e 3a 61  32 3d 78 6d 61 78 3a 62  |1=ymin:a2=xmax:b|
000080a0  32 3d 79 6d 61 78 0d 2b  66 2d 72 65 64 72 61 77  |2=ymax.+f-redraw|
000080b0  3d a4 6f 76 65 72 6c 61  70 73 28 78 31 2c 79 31  |=.overlaps(x1,y1|
000080c0  2c 78 32 2c 79 32 2c 61  31 2c 62 31 2c 61 32 2c  |,x2,y2,a1,b1,a2,|
000080d0  62 32 29 0d 2b 70 18 e7  20 64 72 61 77 69 6e 67  |b2).+p.. drawing|
000080e0  20 80 20 72 65 64 72 61  77 20 8c 0d 2b 7a 19 4c  | . redraw ..+z.L|
000080f0  6f 63 6b 3d 77 6f 72 6b  62 6c 6b 3f 28 70 74 72  |ock=workblk?(ptr|
00008100  2b 32 32 29 0d 2b 84 1c  43 65 6e 74 72 65 64 3d  |+22).+..Centred=|
00008110  77 6f 72 6b 62 6c 6b 3f  28 70 74 72 2b 32 33 29  |workblk?(ptr+23)|
00008120  0d 2b 8e 1a 46 72 6f 6e  74 3d 77 6f 72 6b 62 6c  |.+..Front=workbl|
00008130  6b 3f 28 70 74 72 2b 32  34 29 0d 2b 98 52 69 63  |k?(ptr+24).+.Ric|
00008140  6f 6e 64 21 30 3d 36 35  35 33 36 3a 69 63 6f 6e  |ond!0=65536:icon|
00008150  64 21 34 3d 30 3a 69 63  6f 6e 64 21 38 3d 30 3a  |d!4=0:icond!8=0:|
00008160  69 63 6f 6e 64 21 31 32  3d 36 35 35 33 36 3a 69  |icond!12=65536:i|
00008170  63 6f 6e 64 21 31 36 3d  30 2a 32 35 36 3a 69 63  |cond!16=0*256:ic|
00008180  6f 6e 64 21 32 30 3d 30  2a 32 35 36 0d 2b a2 33  |ond!20=0*256.+.3|
00008190  c8 99 22 44 72 61 77 46  69 6c 65 5f 42 42 6f 78  |.."DrawFile_BBox|
000081a0  22 2c 30 2c 64 72 61 77  70 74 72 25 2c 64 72 61  |",0,drawptr%,dra|
000081b0  77 6b 2c 69 63 6f 6e 64  2c 6d 61 74 72 69 78 0d  |wk,icond,matrix.|
000081c0  2b ac 41 77 69 64 74 68  3d 28 6d 61 74 72 69 78  |+.Awidth=(matrix|
000081d0  21 38 2d 6d 61 74 72 69  78 21 30 29 2f 32 35 36  |!8-matrix!0)/256|
000081e0  3a 68 65 69 67 68 74 3d  28 6d 61 74 72 69 78 21  |:height=(matrix!|
000081f0  31 32 2d 6d 61 74 72 69  78 21 34 29 2f 32 35 36  |12-matrix!4)/256|
00008200  0d 2b b6 24 78 6d 75 6c  3d 53 70 78 32 2f 77 69  |.+.$xmul=Spx2/wi|
00008210  64 74 68 3a 79 6d 75 6c  3d 53 70 79 32 2f 68 65  |dth:ymul=Spy2/he|
00008220  69 67 68 74 0d 2b c0 11  78 6f 66 66 3d 30 3a 79  |ight.+..xoff=0:y|
00008230  6f 66 66 3d 30 0d 2b ca  26 78 6f 66 66 31 3d 78  |off=0.+.&xoff1=x|
00008240  6d 75 6c 2a 77 69 64 74  68 3a 79 6f 66 66 31 3d  |mul*width:yoff1=|
00008250  79 6d 75 6c 2a 68 65 69  67 68 74 0d 2b d4 22 e7  |ymul*height.+.".|
00008260  20 4c 6f 63 6b 20 80 20  78 6d 75 6c 3c 79 6d 75  | Lock . xmul<ymu|
00008270  6c 20 8c 20 79 6d 75 6c  3d 78 6d 75 6c 0d 2b de  |l . ymul=xmul.+.|
00008280  22 e7 20 4c 6f 63 6b 20  80 20 78 6d 75 6c 3e 79  |". Lock . xmul>y|
00008290  6d 75 6c 20 8c 20 78 6d  75 6c 3d 79 6d 75 6c 0d  |mul . xmul=ymul.|
000082a0  2b e8 11 e7 20 43 65 6e  74 72 65 64 3d 31 20 8c  |+... Centred=1 .|
000082b0  0d 2b f2 26 78 6f 66 66  32 3d 78 6d 75 6c 2a 77  |.+.&xoff2=xmul*w|
000082c0  69 64 74 68 3a 79 6f 66  66 32 3d 79 6d 75 6c 2a  |idth:yoff2=ymul*|
000082d0  68 65 69 67 68 74 0d 2b  fc 2d 78 6f 66 66 3d 28  |height.+.-xoff=(|
000082e0  78 6f 66 66 31 2d 78 6f  66 66 32 29 2f 32 3a 79  |xoff1-xoff2)/2:y|
000082f0  6f 66 66 3d 28 79 6f 66  66 31 2d 79 6f 66 66 32  |off=(yoff1-yoff2|
00008300  29 2f 32 0d 2c 06 05 cd  0d 2c 10 2a 69 63 6f 6e  |)/2.,....,.*icon|
00008310  64 21 30 3d 78 6d 75 6c  2a 36 35 35 33 36 3a 69  |d!0=xmul*65536:i|
00008320  63 6f 6e 64 21 31 32 3d  79 6d 75 6c 2a 36 35 35  |cond!12=ymul*655|
00008330  33 36 0d 2c 1a 33 c8 99  22 44 72 61 77 46 69 6c  |36.,.3.."DrawFil|
00008340  65 5f 42 42 6f 78 22 2c  30 2c 64 72 61 77 70 74  |e_BBox",0,drawpt|
00008350  72 25 2c 64 72 61 77 6b  2c 69 63 6f 6e 64 2c 6d  |r%,drawk,icond,m|
00008360  61 74 72 69 78 0d 2c 24  41 77 69 64 74 68 3d 28  |atrix.,$Awidth=(|
00008370  6d 61 74 72 69 78 21 38  2d 6d 61 74 72 69 78 21  |matrix!8-matrix!|
00008380  30 29 2f 32 35 36 3a 68  65 69 67 68 74 3d 28 6d  |0)/256:height=(m|
00008390  61 74 72 69 78 21 31 32  2d 6d 61 74 72 69 78 21  |atrix!12-matrix!|
000083a0  34 29 2f 32 35 36 0d 2c  2e 33 62 62 78 6f 66 66  |4)/256.,.3bbxoff|
000083b0  3d 28 30 2d 6d 61 74 72  69 78 21 30 2f 32 35 36  |=(0-matrix!0/256|
000083c0  29 3a 62 62 79 6f 66 66  3d 28 30 2d 6d 61 74 72  |):bbyoff=(0-matr|
000083d0  69 78 21 34 2f 32 35 36  29 0d 2c 38 88 69 63 6f  |ix!4/256).,8.ico|
000083e0  6e 64 21 30 3d 78 6d 75  6c 2a 36 35 35 33 36 3a  |nd!0=xmul*65536:|
000083f0  69 63 6f 6e 64 21 34 3d  30 3a 69 63 6f 6e 64 21  |icond!4=0:icond!|
00008400  38 3d 30 3a 69 63 6f 6e  64 21 31 32 3d 79 6d 75  |8=0:icond!12=ymu|
00008410  6c 2a 36 35 35 33 36 3a  69 63 6f 6e 64 21 31 36  |l*65536:icond!16|
00008420  3d 28 63 78 63 6f 2b 53  70 78 31 2b 62 62 78 6f  |=(cxco+Spx1+bbxo|
00008430  66 66 2b 78 6f 66 66 29  2a 32 35 36 3a 69 63 6f  |ff+xoff)*256:ico|
00008440  6e 64 21 32 30 3d 28 63  79 63 6f 2d 53 70 79 31  |nd!20=(cyco-Spy1|
00008450  2b 62 62 79 6f 66 66 2b  79 6f 66 66 29 2a 32 35  |+bbyoff+yoff)*25|
00008460  36 0d 2c 42 32 c8 99 22  44 72 61 77 46 69 6c 65  |6.,B2.."DrawFile|
00008470  5f 52 65 6e 64 65 72 22  2c 25 30 30 2c 64 72 61  |_Render",%00,dra|
00008480  77 70 74 72 25 2c 64 72  61 77 6b 2c 69 63 6f 6e  |wptr%,drawk,icon|
00008490  64 2c 30 0d 2c 4c 05 cd  0d 2c 56 05 e1 0d 2c 60  |d,0.,L...,V...,`|
000084a0  04 0d 2c 6a 1d dd f2 73  63 61 6c 65 28 73 70 77  |..,j...scale(spw|
000084b0  2c 73 70 68 2c 77 6f 72  6b 73 70 72 24 29 0d 2c  |,sph,workspr$).,|
000084c0  74 3f c8 99 22 57 69 6d  70 5f 52 65 61 64 50 69  |t?.."Wimp_ReadPi|
000084d0  78 54 72 61 6e 73 22 2c  26 31 30 30 2c 73 70 72  |xTrans",&100,spr|
000084e0  25 2c 77 6f 72 6b 73 70  72 24 2c 2c 2c 2c 73 63  |%,workspr$,,,,sc|
000084f0  61 6c 65 25 2c 70 61 6c  65 74 74 65 25 0d 2c 7e  |ale%,palette%.,~|
00008500  05 e1 0d 2c 88 04 0d 2c  92 16 dd f2 67 65 74 70  |...,...,....getp|
00008510  61 6c 28 77 6f 72 6b 73  70 72 24 29 0d 2c 9c 33  |al(workspr$).,.3|
00008520  c8 99 20 22 4f 53 5f 53  70 72 69 74 65 4f 70 22  |.. "OS_SpriteOp"|
00008530  2c 32 35 36 2b 32 34 2c  73 70 72 25 2c 77 6f 72  |,256+24,spr%,wor|
00008540  6b 73 70 72 24 20 b8 20  2c 2c 73 70 74 72 25 0d  |kspr$ . ,,sptr%.|
00008550  2c a6 37 c8 99 20 22 4f  53 5f 53 70 72 69 74 65  |,.7.. "OS_Sprite|
00008560  4f 70 22 2c 32 35 36 2b  34 30 2c 73 70 72 25 2c  |Op",256+40,spr%,|
00008570  77 6f 72 6b 73 70 72 24  20 b8 20 2c 2c 2c 2c 2c  |workspr$ . ,,,,,|
00008580  2c 6d 6f 64 65 25 0d 2c  b0 39 c8 99 20 22 4f 53  |,mode%.,.9.. "OS|
00008590  5f 53 70 72 69 74 65 4f  70 22 2c 32 35 36 2b 33  |_SpriteOp",256+3|
000085a0  37 2c 73 70 72 25 2c 77  6f 72 6b 73 70 72 24 2c  |7,spr%,workspr$,|
000085b0  2d 31 20 b8 20 2c 2c 2c  70 61 6c 73 69 7a 65 0d  |-1 . ,,,palsize.|
000085c0  2c ba 2f c8 99 20 22 4f  53 5f 52 65 61 64 4d 6f  |,./.. "OS_ReadMo|
000085d0  64 65 56 61 72 69 61 62  6c 65 22 2c 6d 6f 64 65  |deVariable",mode|
000085e0  25 2c 39 20 b8 20 2c 2c  42 69 74 73 50 50 0d 2c  |%,9 . ,,BitsPP.,|
000085f0  c4 13 42 69 74 73 50 50  3d 32 5e 42 69 74 73 50  |..BitsPP=2^BitsP|
00008600  50 0d 2c ce 14 e7 20 73  70 74 72 25 21 33 32 3c  |P.,... sptr%!32<|
00008610  3e 34 34 20 8c 0d 2c d8  1d 20 e3 20 49 25 3d 30  |>44 ..,.. . I%=0|
00008620  20 b8 20 73 70 74 72 25  21 33 32 2d 35 32 20 88  | . sptr%!32-52 .|
00008630  20 38 0d 2c e2 22 20 70  61 6c 65 74 74 65 25 21  | 8.,." palette%!|
00008640  28 49 25 2f 32 29 3d 73  70 74 72 25 21 28 49 25  |(I%/2)=sptr%!(I%|
00008650  2b 34 34 29 0d 2c ec 06  20 ed 0d 2c f6 05 cd 0d  |+44).,.. ..,....|
00008660  2d 00 14 e7 20 73 70 74  72 25 21 33 32 3c 3e 34  |-... sptr%!32<>4|
00008670  34 20 8c 0d 2d 0a 1a 20  e7 20 73 70 74 72 25 21  |4 ..-.. . sptr%!|
00008680  33 32 3c 3e 34 34 2b 32  30 34 38 20 8c 0d 2d 14  |32<>44+2048 ..-.|
00008690  40 20 c8 99 20 22 43 6f  6c 6f 75 72 54 72 61 6e  |@ .. "ColourTran|
000086a0  73 5f 53 65 6c 65 63 74  54 61 62 6c 65 22 2c 6d  |s_SelectTable",m|
000086b0  6f 64 65 25 2c 70 61 6c  65 74 74 65 25 2c 2d 31  |ode%,palette%,-1|
000086c0  2c 2d 31 2c 50 69 78 54  72 61 6e 73 25 0d 2d 1e  |,-1,PixTrans%.-.|
000086d0  06 20 cc 0d 2d 28 0f 20  e3 20 51 25 3d 30 b8 32  |. ..-(. . Q%=0.2|
000086e0  35 35 0d 2d 32 55 20 c8  99 20 22 43 6f 6c 6f 75  |55.-2U .. "Colou|
000086f0  72 54 72 61 6e 73 5f 52  65 74 75 72 6e 43 6f 6c  |rTrans_ReturnCol|
00008700  6f 75 72 4e 75 6d 62 65  72 46 6f 72 4d 6f 64 65  |ourNumberForMode|
00008710  22 2c 70 61 6c 65 74 74  65 25 21 28 51 25 3c 3c  |",palette%!(Q%<<|
00008720  32 29 2c 2d 31 2c 2d 31  20 b8 20 50 69 78 54 72  |2),-1,-1 . PixTr|
00008730  61 6e 73 25 3f 51 25 0d  2d 3c 06 20 ed 0d 2d 46  |ans%?Q%.-<. ..-F|
00008740  06 20 cd 0d 2d 50 05 cc  0d 2d 5a 11 20 e7 20 42  |. ..-P...-Z. . B|
00008750  69 74 73 50 50 3c 38 20  8c 0d 2d 64 3f 20 c8 99  |itsPP<8 ..-d? ..|
00008760  20 22 43 6f 6c 6f 75 72  54 72 61 6e 73 5f 53 65  | "ColourTrans_Se|
00008770  6c 65 63 74 54 61 62 6c  65 22 2c 6d 6f 64 65 25  |lectTable",mode%|
00008780  2c 64 65 66 70 61 6c 25  2c 2d 31 2c 2d 31 2c 50  |,defpal%,-1,-1,P|
00008790  69 78 54 72 61 6e 73 25  0d 2d 6e 06 20 cc 0d 2d  |ixTrans%.-n. ..-|
000087a0  78 3a 20 c8 99 20 22 43  6f 6c 6f 75 72 54 72 61  |x: .. "ColourTra|
000087b0  6e 73 5f 53 65 6c 65 63  74 54 61 62 6c 65 22 2c  |ns_SelectTable",|
000087c0  6d 6f 64 65 25 2c 2d 31  2c 2d 31 2c 2d 31 2c 50  |mode%,-1,-1,-1,P|
000087d0  69 78 54 72 61 6e 73 25  0d 2d 82 06 20 cd 0d 2d  |ixTrans%.-.. ..-|
000087e0  8c 05 cd 0d 2d 96 05 e1  0d 2d a0 04 0d 2d aa 1d  |....-....-...-..|
000087f0  dd f2 62 62 6f 78 28 74  65 78 74 24 2c 66 6f 6e  |..bbox(text$,fon|
00008800  74 24 2c 78 73 2c 79 73  29 0d 2d b4 40 c8 99 20  |t$,xs,ys).-.@.. |
00008810  22 46 6f 6e 74 5f 46 69  6e 64 46 6f 6e 74 22 2c  |"Font_FindFont",|
00008820  2c 66 6f 6e 74 24 2c 28  78 73 2a 28 79 73 2f 31  |,font$,(xs*(ys/1|
00008830  30 30 29 29 2a 31 36 2c  78 73 2a 31 36 2c 30 2c  |00))*16,xs*16,0,|
00008840  30 20 b8 20 66 6f 6e 74  25 0d 2d be 1b c8 99 20  |0 . font%.-.... |
00008850  22 46 6f 6e 74 5f 53 65  74 46 6f 6e 74 22 2c 66  |"Font_SetFont",f|
00008860  6f 6e 74 25 0d 2d c8 36  c8 99 20 22 46 6f 6e 74  |ont%.-.6.. "Font|
00008870  5f 53 74 72 69 6e 67 42  42 6f 78 22 2c 2c 74 65  |_StringBBox",,te|
00008880  78 74 24 20 b8 20 2c 62  62 78 31 2c 62 62 79 31  |xt$ . ,bbx1,bby1|
00008890  2c 62 62 78 32 2c 62 62  79 32 0d 2d d2 46 c8 99  |,bbx2,bby2.-.F..|
000088a0  20 22 46 6f 6e 74 5f 53  74 72 69 6e 67 57 69 64  | "Font_StringWid|
000088b0  74 68 22 2c 2c 74 65 78  74 24 2c 26 46 46 46 46  |th",,text$,&FFFF|
000088c0  46 46 2c 26 46 46 46 46  46 46 46 46 2c 2d 31 2c  |FF,&FFFFFFFF,-1,|
000088d0  a9 28 74 65 78 74 24 29  20 b8 20 2c 2c 78 2c 79  |.(text$) . ,,x,y|
000088e0  0d 2d dc 31 c8 99 20 22  46 6f 6e 74 5f 43 6f 6e  |.-.1.. "Font_Con|
000088f0  76 65 72 74 74 6f 4f 53  22 2c 2c 62 62 78 31 2c  |verttoOS",,bbx1,|
00008900  62 62 79 31 20 b8 20 2c  62 62 78 31 2c 62 62 79  |bby1 . ,bbx1,bby|
00008910  31 0d 2d e6 31 c8 99 20  22 46 6f 6e 74 5f 43 6f  |1.-.1.. "Font_Co|
00008920  6e 76 65 72 74 74 6f 4f  53 22 2c 2c 62 62 78 32  |nverttoOS",,bbx2|
00008930  2c 62 62 79 32 20 b8 20  2c 62 62 78 32 2c 62 62  |,bby2 . ,bbx2,bb|
00008940  79 32 0d 2d f0 1f 62 62  78 3d 62 62 78 32 2d 62  |y2.-..bbx=bbx2-b|
00008950  62 78 31 3a 62 62 79 3d  62 62 79 32 2d 62 62 79  |bx1:bby=bby2-bby|
00008960  31 0d 2d fa 05 e1 0d 2e  04 04 0d 2e 0e 1e dd a4  |1.-.............|
00008970  77 69 64 74 68 28 74 65  78 74 24 2c 66 6f 6e 74  |width(text$,font|
00008980  24 2c 78 73 2c 79 73 29  0d 2e 18 40 c8 99 20 22  |$,xs,ys)...@.. "|
00008990  46 6f 6e 74 5f 46 69 6e  64 46 6f 6e 74 22 2c 2c  |Font_FindFont",,|
000089a0  66 6f 6e 74 24 2c 28 78  73 2a 28 79 73 2f 31 30  |font$,(xs*(ys/10|
000089b0  30 29 29 2a 31 36 2c 78  73 2a 31 36 2c 30 2c 30  |0))*16,xs*16,0,0|
000089c0  20 b8 20 66 6f 6e 74 25  0d 2e 22 1b c8 99 20 22  | . font%.."... "|
000089d0  46 6f 6e 74 5f 53 65 74  46 6f 6e 74 22 2c 66 6f  |Font_SetFont",fo|
000089e0  6e 74 25 0d 2e 2c 46 c8  99 20 22 46 6f 6e 74 5f  |nt%..,F.. "Font_|
000089f0  53 74 72 69 6e 67 57 69  64 74 68 22 2c 2c 74 65  |StringWidth",,te|
00008a00  78 74 24 2c 26 46 46 46  46 46 46 2c 26 46 46 46  |xt$,&FFFFFF,&FFF|
00008a10  46 46 46 2c 33 31 2c a9  28 74 65 78 74 24 29 20  |FFF,31,.(text$) |
00008a20  b8 20 2c 2c 78 25 2c 79  25 0d 2e 36 27 c8 99 20  |. ,,x%,y%..6'.. |
00008a30  22 46 6f 6e 74 5f 43 6f  6e 76 65 72 74 74 6f 4f  |"Font_ConverttoO|
00008a40  53 22 2c 2c 78 25 2c 79  25 20 b8 20 2c 78 2c 79  |S",,x%,y% . ,x,y|
00008a50  0d 2e 40 06 3d 78 0d 2e  4a 04 0d 2e 54 13 dd f2  |..@.=x..J...T...|
00008a60  63 6c 6f 73 65 28 21 62  6c 6f 63 6b 29 0d 2e 5e  |close(!block)..^|
00008a70  1f c8 99 22 57 69 6d 70  5f 43 6c 6f 73 65 57 69  |..."Wimp_CloseWi|
00008a80  6e 64 6f 77 22 2c 2c 62  6c 6f 63 6b 0d 2e 68 05  |ndow",,block..h.|
00008a90  e1 0d 2e 72 04 0d 2e 7c  17 dd a4 63 68 65 63 6b  |...r...|...check|
00008aa0  69 74 28 68 6e 64 25 2c  69 63 25 29 0d 2e 86 1b  |it(hnd%,ic%)....|
00008ab0  21 69 63 6f 6e 64 3d 68  6e 64 25 3a 69 63 6f 6e  |!icond=hnd%:icon|
00008ac0  64 21 34 3d 69 63 25 0d  2e 90 20 c8 99 22 57 69  |d!4=ic%... .."Wi|
00008ad0  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
00008ae0  2c 2c 69 63 6f 6e 64 0d  2e 9a 13 66 6c 61 67 73  |,,icond....flags|
00008af0  25 3d 69 63 6f 6e 64 21  32 34 0d 2e a4 12 3d 66  |%=icond!24....=f|
00008b00  6c 61 67 73 25 80 26 46  30 30 30 30 0d 2e ae 04  |lags%.&F0000....|
00008b10  0d 2e b8 0e dd f2 67 65  74 73 74 79 6c 65 0d 2e  |......getstyle..|
00008b20  c2 16 63 68 61 6e 67 65  64 65 73 3d 62 6c 6f 63  |..changedes=bloc|
00008b30  6b 21 31 32 0d 2e cc 19  6d 78 3d 62 6c 6f 63 6b  |k!12....mx=block|
00008b40  21 30 3a 6d 79 3d 62 6c  6f 63 6b 21 34 0d 2e d6  |!0:my=block!4...|
00008b50  12 c8 8e 20 63 68 61 6e  67 65 64 65 73 20 ca 0d  |... changedes ..|
00008b60  2e e0 16 c9 20 63 61 72  64 25 20 3a 20 64 65 73  |.... card% : des|
00008b70  69 67 6e 3d 30 0d 2e ea  16 c9 20 63 6f 6d 70 25  |ign=0..... comp%|
00008b80  20 3a 20 64 65 73 69 67  6e 3d 31 0d 2e f4 18 c9  | : design=1.....|
00008b90  20 6c 65 74 74 65 72 25  20 3a 20 64 65 73 69 67  | letter% : desig|
00008ba0  6e 3d 32 0d 2e fe 05 cb  0d 2f 08 11 63 68 61 6e  |n=2....../..chan|
00008bb0  67 65 3d 73 65 6c 65 63  74 0d 2f 12 11 e7 20 63  |ge=select./... c|
00008bc0  68 61 6e 67 65 3e 2d 31  20 8c 0d 2f 1c 1d e7 20  |hange>-1 ../... |
00008bd0  63 68 61 6e 67 65 3e 3d  30 20 80 20 63 68 61 6e  |change>=0 . chan|
00008be0  67 65 3c 3d 35 20 8c 0d  2f 26 34 70 74 72 3d 64  |ge<=5 ../&4ptr=d|
00008bf0  65 74 70 74 72 2b 28 64  65 73 62 6c 6b 2a 64 65  |etptr+(desblk*de|
00008c00  73 69 67 6e 29 2b 64 65  73 6c 65 6e 2b 28 73 74  |sign)+deslen+(st|
00008c10  79 6c 65 2a 63 68 61 6e  67 65 29 0d 2f 30 18 66  |yle*change)./0.f|
00008c20  6f 6e 74 24 3d 24 28 77  6f 72 6b 62 6c 6b 2b 70  |ont$=$(workblk+p|
00008c30  74 72 29 0d 2f 3a 18 70  74 3d 77 6f 72 6b 62 6c  |tr)./:.pt=workbl|
00008c40  6b 21 28 70 74 72 2b 32  35 36 29 0d 2f 44 1b 77  |k!(ptr+256)./D.w|
00008c50  69 64 74 68 3d 77 6f 72  6b 62 6c 6b 21 28 70 74  |idth=workblk!(pt|
00008c60  72 2b 32 36 30 29 0d 2f  4e 17 6a 3d 77 6f 72 6b  |r+260)./N.j=work|
00008c70  62 6c 6b 3f 28 70 74 72  2b 32 36 34 29 0d 2f 58  |blk?(ptr+264)./X|
00008c80  17 75 3d 77 6f 72 6b 62  6c 6b 3f 28 70 74 72 2b  |.u=workblk?(ptr+|
00008c90  32 36 35 29 0d 2f 62 1a  43 6f 6c 52 3d 77 6f 72  |265)./b.ColR=wor|
00008ca0  6b 62 6c 6b 3f 28 70 74  72 2b 32 36 36 29 0d 2f  |kblk?(ptr+266)./|
00008cb0  6c 1a 43 6f 6c 47 3d 77  6f 72 6b 62 6c 6b 3f 28  |l.ColG=workblk?(|
00008cc0  70 74 72 2b 32 36 37 29  0d 2f 76 1a 43 6f 6c 42  |ptr+267)./v.ColB|
00008cd0  3d 77 6f 72 6b 62 6c 6b  3f 28 70 74 72 2b 32 36  |=workblk?(ptr+26|
00008ce0  38 29 0d 2f 80 1a 43 6f  6c 54 3d 77 6f 72 6b 62  |8)./..ColT=workb|
00008cf0  6c 6b 3f 28 70 74 72 2b  32 36 39 29 0d 2f 8a 1a  |lk?(ptr+269)./..|
00008d00  68 69 64 65 3d 77 6f 72  6b 62 6c 6b 3f 28 70 74  |hide=workblk?(pt|
00008d10  72 2b 32 39 34 29 0d 2f  94 2c 49 6e 74 65 72 48  |r+294)./.,InterH|
00008d20  65 78 3d 28 43 6f 6c 42  3c 3c 32 34 29 2b 28 43  |ex=(ColB<<24)+(C|
00008d30  6f 6c 47 3c 3c 31 36 29  2b 28 43 6f 6c 52 3c 3c  |olG<<16)+(ColR<<|
00008d40  38 29 0d 2f 9e 19 24 a4  69 6e 66 6f 28 74 79 70  |8)./..$.info(typ|
00008d50  65 25 2c 30 29 3d 66 6f  6e 74 24 0d 2f a8 17 24  |e%,0)=font$./..$|
00008d60  a4 69 6e 66 6f 28 74 79  70 65 25 2c 33 29 3d c3  |.info(type%,3)=.|
00008d70  70 74 0d 2f b2 1a 24 a4  69 6e 66 6f 28 74 79 70  |pt./..$.info(typ|
00008d80  65 25 2c 38 29 3d c3 77  69 64 74 68 0d 2f bc 25  |e%,8)=.width./.%|
00008d90  f2 73 65 74 69 63 73 74  61 74 65 28 74 79 70 65  |.seticstate(type|
00008da0  25 2c 31 38 2c 31 3c 3c  32 31 2c 31 3c 3c 32 31  |%,18,1<<21,1<<21|
00008db0  29 0d 2f c6 30 e7 20 68  69 64 65 3d 30 20 8c 20  |)./.0. hide=0 . |
00008dc0  f2 73 65 74 69 63 73 74  61 74 65 28 74 79 70 65  |.seticstate(type|
00008dd0  25 2c 31 38 2c 31 3c 3c  32 31 2c 30 3c 3c 32 31  |%,18,1<<21,0<<21|
00008de0  29 0d 2f d0 4d e7 20 63  68 61 6e 67 65 3e 3d 30  |)./.M. change>=0|
00008df0  20 80 20 63 68 61 6e 67  65 3c 3d 34 20 8c 20 61  | . change<=4 . a|
00008e00  3d 31 3c 3c 32 32 3a 62  3d 31 3c 3c 32 32 3a 63  |=1<<22:b=1<<22:c|
00008e10  3d 31 3c 3c 32 31 3a 64  3d 30 3c 3c 32 31 3a 65  |=1<<21:d=0<<21:e|
00008e20  3d 31 3c 3c 32 32 3a 66  3d 30 3c 3c 32 32 0d 2f  |=1<<22:f=0<<22./|
00008e30  da 40 e7 20 63 68 61 6e  67 65 3d 35 20 8c 20 61  |.@. change=5 . a|
00008e40  3d 31 3c 3c 32 32 3a 62  3d 30 3c 3c 32 32 3a 63  |=1<<22:b=0<<22:c|
00008e50  3d 31 3c 3c 32 31 3a 64  3d 30 3c 3c 32 31 3a 65  |=1<<21:d=0<<21:e|
00008e60  3d 31 3c 3c 32 32 3a 66  3d 31 3c 3c 32 32 0d 2f  |=1<<22:f=1<<22./|
00008e70  e4 1d f2 73 65 74 69 63  73 74 61 74 65 28 74 79  |...seticstate(ty|
00008e80  70 65 25 2c 31 30 2c 61  2c 62 29 0d 2f ee 1d f2  |pe%,10,a,b)./...|
00008e90  73 65 74 69 63 73 74 61  74 65 28 74 79 70 65 25  |seticstate(type%|
00008ea0  2c 31 31 2c 61 2c 62 29  0d 2f f8 1d f2 73 65 74  |,11,a,b)./...set|
00008eb0  69 63 73 74 61 74 65 28  74 79 70 65 25 2c 31 32  |icstate(type%,12|
00008ec0  2c 61 2c 62 29 0d 30 02  1d f2 73 65 74 69 63 73  |,a,b).0...setics|
00008ed0  74 61 74 65 28 74 79 70  65 25 2c 31 33 2c 61 2c  |tate(type%,13,a,|
00008ee0  62 29 0d 30 0c 1d f2 73  65 74 69 63 73 74 61 74  |b).0...seticstat|
00008ef0  65 28 74 79 70 65 25 2c  31 30 2c 63 2c 64 29 0d  |e(type%,10,c,d).|
00008f00  30 16 1d f2 73 65 74 69  63 73 74 61 74 65 28 74  |0...seticstate(t|
00008f10  79 70 65 25 2c 31 31 2c  63 2c 64 29 0d 30 20 1d  |ype%,11,c,d).0 .|
00008f20  f2 73 65 74 69 63 73 74  61 74 65 28 74 79 70 65  |.seticstate(type|
00008f30  25 2c 31 32 2c 63 2c 64  29 0d 30 2a 1d f2 73 65  |%,12,c,d).0*..se|
00008f40  74 69 63 73 74 61 74 65  28 74 79 70 65 25 2c 31  |ticstate(type%,1|
00008f50  33 2c 63 2c 64 29 0d 30  34 25 f2 73 65 74 69 63  |3,c,d).04%.setic|
00008f60  73 74 61 74 65 28 74 79  70 65 25 2c 31 34 2c 31  |state(type%,14,1|
00008f70  3c 3c 32 31 2c 30 3c 3c  32 31 29 0d 30 3e 1d f2  |<<21,0<<21).0>..|
00008f80  73 65 74 69 63 73 74 61  74 65 28 74 79 70 65 25  |seticstate(type%|
00008f90  2c 31 34 2c 65 2c 66 29  0d 30 48 13 f2 6f 70 65  |,14,e,f).0H..ope|
00008fa0  6e 77 69 6e 28 74 79 70  65 25 29 0d 30 52 34 e7  |nwin(type%).0R4.|
00008fb0  20 63 68 61 6e 67 65 3d  35 20 8c 20 f2 73 65 74  | change=5 . .set|
00008fc0  69 63 73 74 61 74 65 28  74 79 70 65 25 2c 31 30  |icstate(type%,10|
00008fd0  2b 6a 2c 31 3c 3c 32 31  2c 31 3c 3c 32 31 29 0d  |+j,1<<21,1<<21).|
00008fe0  30 5c 2d e7 20 75 3d 31  20 8c 20 f2 73 65 74 69  |0\-. u=1 . .seti|
00008ff0  63 73 74 61 74 65 28 74  79 70 65 25 2c 31 34 2c  |cstate(type%,14,|
00009000  31 3c 3c 32 31 2c 31 3c  3c 32 31 29 0d 30 66 05  |1<<21,1<<21).0f.|
00009010  cd 0d 30 70 10 e7 20 63  68 61 6e 67 65 3d 36 20  |..0p.. change=6 |
00009020  8c 0d 30 7a 1e 70 74 72  3d 64 65 74 70 74 72 2b  |..0z.ptr=detptr+|
00009030  28 64 65 73 62 6c 6b 2a  64 65 73 69 67 6e 29 0d  |(desblk*design).|
00009040  30 84 17 70 69 63 3d 77  6f 72 6b 62 6c 6b 3f 28  |0..pic=workblk?(|
00009050  70 74 72 2b 35 29 0d 30  8e 27 f2 73 65 74 69 63  |ptr+5).0.'.setic|
00009060  73 74 61 74 65 28 70 69  63 74 75 72 65 25 2c 31  |state(picture%,1|
00009070  2c 31 3c 3c 32 31 2c 30  3c 3c 32 31 29 0d 30 98  |,1<<21,0<<21).0.|
00009080  27 f2 73 65 74 69 63 73  74 61 74 65 28 70 69 63  |'.seticstate(pic|
00009090  74 75 72 65 25 2c 32 2c  31 3c 3c 32 31 2c 30 3c  |ture%,2,1<<21,0<|
000090a0  3c 32 31 29 0d 30 a2 27  f2 73 65 74 69 63 73 74  |<21).0.'.seticst|
000090b0  61 74 65 28 70 69 63 74  75 72 65 25 2c 33 2c 31  |ate(picture%,3,1|
000090c0  3c 3c 32 31 2c 30 3c 3c  32 31 29 0d 30 ac 19 4c  |<<21,0<<21).0..L|
000090d0  6f 63 6b 3d 77 6f 72 6b  62 6c 6b 3f 28 70 74 72  |ock=workblk?(ptr|
000090e0  2b 32 32 29 0d 30 b6 1b  43 65 6e 74 72 65 3d 77  |+22).0..Centre=w|
000090f0  6f 72 6b 62 6c 6b 3f 28  70 74 72 2b 32 33 29 0d  |orkblk?(ptr+23).|
00009100  30 c0 1a 46 72 6f 6e 74  3d 77 6f 72 6b 62 6c 6b  |0..Front=workblk|
00009110  3f 28 70 74 72 2b 32 34  29 0d 30 ca 28 e7 20 70  |?(ptr+24).0.(. p|
00009120  69 63 3d 31 20 8c 20 63  75 72 73 70 72 24 3d 24  |ic=1 . curspr$=$|
00009130  28 77 6f 72 6b 62 6c 6b  2b 28 70 74 72 2b 36 29  |(workblk+(ptr+6)|
00009140  29 0d 30 d4 2e e7 20 4c  6f 63 6b 20 f2 73 65 74  |).0... Lock .set|
00009150  69 63 73 74 61 74 65 28  70 69 63 74 75 72 65 25  |icstate(picture%|
00009160  2c 31 2c 31 3c 3c 32 31  2c 31 3c 3c 32 31 29 0d  |,1,1<<21,1<<21).|
00009170  30 de 30 e7 20 43 65 6e  74 72 65 20 f2 73 65 74  |0.0. Centre .set|
00009180  69 63 73 74 61 74 65 28  70 69 63 74 75 72 65 25  |icstate(picture%|
00009190  2c 32 2c 31 3c 3c 32 31  2c 31 3c 3c 32 31 29 0d  |,2,1<<21,1<<21).|
000091a0  30 e8 2f e7 20 46 72 6f  6e 74 20 f2 73 65 74 69  |0./. Front .seti|
000091b0  63 73 74 61 74 65 28 70  69 63 74 75 72 65 25 2c  |cstate(picture%,|
000091c0  33 2c 31 3c 3c 32 31 2c  31 3c 3c 32 31 29 0d 30  |3,1<<21,1<<21).0|
000091d0  f2 27 f2 73 65 74 69 63  73 74 61 74 65 28 70 69  |.'.seticstate(pi|
000091e0  63 74 75 72 65 25 2c 35  2c 31 3c 3c 32 32 2c 30  |cture%,5,1<<22,0|
000091f0  3c 3c 32 32 29 0d 30 fc  27 f2 73 65 74 69 63 73  |<<22).0.'.setics|
00009200  74 61 74 65 28 70 69 63  74 75 72 65 25 2c 34 2c  |tate(picture%,4,|
00009210  31 3c 3c 32 32 2c 30 3c  3c 32 32 29 0d 31 06 27  |1<<22,0<<22).1.'|
00009220  f2 73 65 74 69 63 73 74  61 74 65 28 70 69 63 74  |.seticstate(pict|
00009230  75 72 65 25 2c 36 2c 31  3c 3c 32 32 2c 30 3c 3c  |ure%,6,1<<22,0<<|
00009240  32 32 29 0d 31 10 55 e7  20 70 69 63 3d 31 20 8c  |22).1.U. pic=1 .|
00009250  20 f2 73 65 74 69 63 73  74 61 74 65 28 70 69 63  | .seticstate(pic|
00009260  74 75 72 65 25 2c 35 2c  31 3c 3c 32 31 2c 31 3c  |ture%,5,1<<21,1<|
00009270  3c 32 31 29 3a f2 73 65  74 69 63 73 74 61 74 65  |<21):.seticstate|
00009280  28 70 69 63 74 75 72 65  25 2c 36 2c 31 3c 3c 32  |(picture%,6,1<<2|
00009290  31 2c 30 3c 3c 32 31 29  0d 31 1a 55 e7 20 70 69  |1,0<<21).1.U. pi|
000092a0  63 3d 32 20 8c 20 f2 73  65 74 69 63 73 74 61 74  |c=2 . .seticstat|
000092b0  65 28 70 69 63 74 75 72  65 25 2c 36 2c 31 3c 3c  |e(picture%,6,1<<|
000092c0  32 31 2c 31 3c 3c 32 31  29 3a f2 73 65 74 69 63  |21,1<<21):.setic|
000092d0  73 74 61 74 65 28 70 69  63 74 75 72 65 25 2c 35  |state(picture%,5|
000092e0  2c 31 3c 3c 32 31 2c 30  3c 3c 32 31 29 0d 31 24  |,1<<21,0<<21).1$|
000092f0  59 e7 20 ac 20 73 70 72  69 74 65 73 20 8c 20 f2  |Y. . sprites . .|
00009300  73 65 74 69 63 73 74 61  74 65 28 70 69 63 74 75  |seticstate(pictu|
00009310  72 65 25 2c 35 2c 31 3c  3c 32 32 2c 31 3c 3c 32  |re%,5,1<<22,1<<2|
00009320  32 29 3a f2 73 65 74 69  63 73 74 61 74 65 28 70  |2):.seticstate(p|
00009330  69 63 74 75 72 65 25 2c  34 2c 31 3c 3c 32 32 2c  |icture%,4,1<<22,|
00009340  31 3c 3c 32 32 29 0d 31  2e 35 e7 20 ac 20 64 72  |1<<22).1.5. . dr|
00009350  61 77 69 6e 67 20 8c 20  f2 73 65 74 69 63 73 74  |awing . .seticst|
00009360  61 74 65 28 70 69 63 74  75 72 65 25 2c 36 2c 31  |ate(picture%,6,1|
00009370  3c 3c 32 32 2c 31 3c 3c  32 32 29 0d 31 38 16 f2  |<<22,1<<22).18..|
00009380  6f 70 65 6e 77 69 6e 28  70 69 63 74 75 72 65 25  |openwin(picture%|
00009390  29 0d 31 42 05 cd 0d 31  4c 05 cd 0d 31 56 11 e7  |).1B...1L...1V..|
000093a0  20 63 68 61 6e 67 65 3d  2d 31 20 8c 0d 31 60 1e  | change=-1 ..1`.|
000093b0  70 74 72 3d 64 65 74 70  74 72 2b 28 64 65 73 62  |ptr=detptr+(desb|
000093c0  6c 6b 2a 64 65 73 69 67  6e 29 0d 31 6a 18 62 6f  |lk*design).1j.bo|
000093d0  72 64 65 72 3d 77 6f 72  6b 62 6c 6b 3f 28 70 74  |rder=workblk?(pt|
000093e0  72 29 0d 31 74 18 43 6f  6c 52 3d 77 6f 72 6b 62  |r).1t.ColR=workb|
000093f0  6c 6b 3f 28 70 74 72 2b  31 29 0d 31 7e 18 43 6f  |lk?(ptr+1).1~.Co|
00009400  6c 47 3d 77 6f 72 6b 62  6c 6b 3f 28 70 74 72 2b  |lG=workblk?(ptr+|
00009410  32 29 0d 31 88 18 43 6f  6c 42 3d 77 6f 72 6b 62  |2).1..ColB=workb|
00009420  6c 6b 3f 28 70 74 72 2b  33 29 0d 31 92 18 43 6f  |lk?(ptr+3).1..Co|
00009430  6c 54 3d 77 6f 72 6b 62  6c 6b 3f 28 70 74 72 2b  |lT=workblk?(ptr+|
00009440  34 29 0d 31 9c 2c 49 6e  74 65 72 48 65 78 3d 28  |4).1.,InterHex=(|
00009450  43 6f 6c 42 3c 3c 32 34  29 2b 28 43 6f 6c 47 3c  |ColB<<24)+(ColG<|
00009460  3c 31 36 29 2b 28 43 6f  6c 52 3c 3c 38 29 0d 31  |<16)+(ColR<<8).1|
00009470  a6 12 e3 20 69 3d 32 20  b8 20 31 30 20 88 20 32  |... i=2 . 10 . 2|
00009480  0d 31 b0 56 e7 20 62 6f  72 64 65 72 3d 69 2f 32  |.1.V. border=i/2|
00009490  20 8c 20 f2 73 65 74 69  63 73 74 61 74 65 28 62  | . .seticstate(b|
000094a0  61 63 6b 25 2c 69 2c 31  3c 3c 32 31 2c 31 3c 3c  |ack%,i,1<<21,1<<|
000094b0  32 31 29 3a 8b 20 f2 73  65 74 69 63 73 74 61 74  |21):. .seticstat|
000094c0  65 28 62 61 63 6b 25 2c  69 2c 31 3c 3c 32 31 2c  |e(back%,i,1<<21,|
000094d0  30 3c 3c 32 31 29 0d 31  ba 05 ed 0d 31 c4 56 e7  |0<<21).1....1.V.|
000094e0  20 62 6f 72 64 65 72 3d  30 20 8c 20 f2 73 65 74  | border=0 . .set|
000094f0  69 63 73 74 61 74 65 28  62 61 63 6b 25 2c 31 31  |icstate(back%,11|
00009500  2c 31 3c 3c 32 31 2c 31  3c 3c 32 31 29 3a 8b 20  |,1<<21,1<<21):. |
00009510  f2 73 65 74 69 63 73 74  61 74 65 28 62 61 63 6b  |.seticstate(back|
00009520  25 2c 31 31 2c 31 3c 3c  32 31 2c 30 3c 3c 32 31  |%,11,1<<21,0<<21|
00009530  29 0d 31 ce 13 f2 6f 70  65 6e 77 69 6e 28 62 61  |).1...openwin(ba|
00009540  63 6b 25 29 0d 31 d8 05  cd 0d 31 e2 05 e1 0d 31  |ck%).1....1....1|
00009550  ec 04 0d 31 f6 10 dd f2  61 70 70 6c 79 73 74 79  |...1....applysty|
00009560  6c 65 0d 32 00 11 e7 20  63 68 61 6e 67 65 3e 2d  |le.2... change>-|
00009570  31 20 8c 0d 32 0a 1d e7  20 63 68 61 6e 67 65 3e  |1 ..2... change>|
00009580  3d 30 20 80 20 63 68 61  6e 67 65 3c 3d 35 20 8c  |=0 . change<=5 .|
00009590  0d 32 14 34 70 74 72 3d  64 65 74 70 74 72 2b 28  |.2.4ptr=detptr+(|
000095a0  64 65 73 62 6c 6b 2a 64  65 73 69 67 6e 29 2b 64  |desblk*design)+d|
000095b0  65 73 6c 65 6e 2b 28 73  74 79 6c 65 2a 63 68 61  |eslen+(style*cha|
000095c0  6e 67 65 29 0d 32 1e 19  66 6f 6e 74 24 3d 24 a4  |nge).2..font$=$.|
000095d0  69 6e 66 6f 28 74 79 70  65 25 2c 30 29 0d 32 28  |info(type%,0).2(|
000095e0  19 70 74 3d bb 28 24 a4  69 6e 66 6f 28 74 79 70  |.pt=.($.info(typ|
000095f0  65 25 2c 33 29 29 0d 32  32 1c 77 69 64 74 68 3d  |e%,3)).22.width=|
00009600  bb 28 24 a4 69 6e 66 6f  28 74 79 70 65 25 2c 38  |.($.info(type%,8|
00009610  29 29 0d 32 3c 18 24 28  77 6f 72 6b 62 6c 6b 2b  |)).2<.$(workblk+|
00009620  70 74 72 29 3d 66 6f 6e  74 24 0d 32 46 18 77 6f  |ptr)=font$.2F.wo|
00009630  72 6b 62 6c 6b 21 28 70  74 72 2b 32 35 36 29 3d  |rkblk!(ptr+256)=|
00009640  70 74 0d 32 50 1b 77 6f  72 6b 62 6c 6b 21 28 70  |pt.2P.workblk!(p|
00009650  74 72 2b 32 36 30 29 3d  77 69 64 74 68 0d 32 5a  |tr+260)=width.2Z|
00009660  29 77 6f 72 6b 62 6c 6b  3f 28 70 74 72 2b 32 36  |)workblk?(ptr+26|
00009670  36 29 3d 28 49 6e 74 65  72 48 65 78 3e 3e 38 29  |6)=(InterHex>>8)|
00009680  20 80 20 26 46 46 0d 32  64 2a 77 6f 72 6b 62 6c  | . &FF.2d*workbl|
00009690  6b 3f 28 70 74 72 2b 32  36 37 29 3d 28 49 6e 74  |k?(ptr+267)=(Int|
000096a0  65 72 48 65 78 3e 3e 31  36 29 20 80 20 26 46 46  |erHex>>16) . &FF|
000096b0  0d 32 6e 2a 77 6f 72 6b  62 6c 6b 3f 28 70 74 72  |.2n*workblk?(ptr|
000096c0  2b 32 36 38 29 3d 28 49  6e 74 65 72 48 65 78 3e  |+268)=(InterHex>|
000096d0  3e 32 34 29 20 80 20 26  46 46 0d 32 78 0b 6a 3d  |>24) . &FF.2x.j=|
000096e0  30 3a 75 3d 30 0d 32 82  23 e7 20 a4 63 68 65 63  |0:u=0.2.#. .chec|
000096f0  6b 66 6c 61 67 28 74 79  70 65 25 2c 31 30 2c 32  |kflag(type%,10,2|
00009700  31 29 20 8c 20 6a 3d 30  0d 32 8c 23 e7 20 a4 63  |1) . j=0.2.#. .c|
00009710  68 65 63 6b 66 6c 61 67  28 74 79 70 65 25 2c 31  |heckflag(type%,1|
00009720  31 2c 32 31 29 20 8c 20  6a 3d 31 0d 32 96 23 e7  |1,21) . j=1.2.#.|
00009730  20 a4 63 68 65 63 6b 66  6c 61 67 28 74 79 70 65  | .checkflag(type|
00009740  25 2c 31 32 2c 32 31 29  20 8c 20 6a 3d 32 0d 32  |%,12,21) . j=2.2|
00009750  a0 23 e7 20 a4 63 68 65  63 6b 66 6c 61 67 28 74  |.#. .checkflag(t|
00009760  79 70 65 25 2c 31 33 2c  32 31 29 20 8c 20 6a 3d  |ype%,13,21) . j=|
00009770  33 0d 32 aa 23 e7 20 a4  63 68 65 63 6b 66 6c 61  |3.2.#. .checkfla|
00009780  67 28 74 79 70 65 25 2c  31 34 2c 32 31 29 20 8c  |g(type%,14,21) .|
00009790  20 75 3d 31 0d 32 b4 39  e7 20 a4 63 68 65 63 6b  | u=1.2.9. .check|
000097a0  66 6c 61 67 28 74 79 70  65 25 2c 31 38 2c 32 31  |flag(type%,18,21|
000097b0  29 20 8c 20 68 69 64 65  3d 31 20 8b 20 68 69 64  |) . hide=1 . hid|
000097c0  65 3d 30 3a 73 65 6c 65  63 74 3d 2d 31 0d 32 be  |e=0:select=-1.2.|
000097d0  17 77 6f 72 6b 62 6c 6b  3f 28 70 74 72 2b 32 36  |.workblk?(ptr+26|
000097e0  34 29 3d 6a 0d 32 c8 17  77 6f 72 6b 62 6c 6b 3f  |4)=j.2..workblk?|
000097f0  28 70 74 72 2b 32 36 35  29 3d 75 0d 32 d2 1a 77  |(ptr+265)=u.2..w|
00009800  6f 72 6b 62 6c 6b 3f 28  70 74 72 2b 32 39 34 29  |orkblk?(ptr+294)|
00009810  3d 68 69 64 65 0d 32 dc  1e 20 e7 20 63 68 61 6e  |=hide.2.. . chan|
00009820  67 65 3e 3d 30 20 80 20  63 68 61 6e 67 65 3c 3d  |ge>=0 . change<=|
00009830  34 20 8c 0d 32 e6 32 20  f2 62 62 6f 78 28 24 28  |4 ..2.2 .bbox($(|
00009840  77 6f 72 6b 62 6c 6b 2b  28 63 68 61 6e 67 65 2a  |workblk+(change*|
00009850  32 35 36 29 29 2c 66 6f  6e 74 24 2c 70 74 2c 77  |256)),font$,pt,w|
00009860  69 64 74 68 29 0d 32 f0  2d 20 77 6f 72 6b 62 6c  |idth).2.- workbl|
00009870  6b 21 28 70 74 72 2b 32  37 38 29 3d 77 6f 72 6b  |k!(ptr+278)=work|
00009880  62 6c 6b 21 28 70 74 72  2b 32 37 30 29 2b 62 62  |blk!(ptr+270)+bb|
00009890  78 31 0d 32 fa 2d 20 77  6f 72 6b 62 6c 6b 21 28  |x1.2.- workblk!(|
000098a0  70 74 72 2b 32 38 32 29  3d 77 6f 72 6b 62 6c 6b  |ptr+282)=workblk|
000098b0  21 28 70 74 72 2b 32 37  34 29 2d 62 62 79 31 0d  |!(ptr+274)-bby1.|
000098c0  33 04 1a 20 77 6f 72 6b  62 6c 6b 21 28 70 74 72  |3.. workblk!(ptr|
000098d0  2b 32 38 36 29 3d 62 62  78 0d 33 0e 1a 20 77 6f  |+286)=bbx.3.. wo|
000098e0  72 6b 62 6c 6b 21 28 70  74 72 2b 32 39 30 29 3d  |rkblk!(ptr+290)=|
000098f0  62 62 79 0d 33 18 12 20  61 78 3d 73 78 32 3a 62  |bby.3.. ax=sx2:b|
00009900  79 3d 73 79 32 0d 33 22  14 20 73 78 32 3d 62 62  |y=sy2.3". sx2=bb|
00009910  78 3a 73 79 32 3d 62 62  79 0d 33 2c 06 20 cd 0d  |x:sy2=bby.3,. ..|
00009920  33 36 11 20 e7 20 63 68  61 6e 67 65 3d 35 20 8c  |36. . change=5 .|
00009930  0d 33 40 2d 20 f2 62 62  6f 78 28 24 28 77 6f 72  |.3@- .bbox($(wor|
00009940  6b 62 6c 6b 2b 28 35 2a  32 35 36 29 29 2c 66 6f  |kblk+(5*256)),fo|
00009950  6e 74 24 2c 70 74 2c 77  69 64 74 68 29 0d 33 4a  |nt$,pt,width).3J|
00009960  0d 20 62 62 78 6d 3d 62  62 78 0d 33 54 2d 20 f2  |. bbxm=bbx.3T- .|
00009970  62 62 6f 78 28 24 28 77  6f 72 6b 62 6c 6b 2b 28  |bbox($(workblk+(|
00009980  36 2a 32 35 36 29 29 2c  66 6f 6e 74 24 2c 70 74  |6*256)),font$,pt|
00009990  2c 77 69 64 74 68 29 0d  33 5e 1a 20 e7 20 62 62  |,width).3^. . bb|
000099a0  78 3e 62 62 78 6d 20 8c  20 62 62 78 6d 3d 62 62  |x>bbxm . bbxm=bb|
000099b0  78 0d 33 68 2d 20 f2 62  62 6f 78 28 24 28 77 6f  |x.3h- .bbox($(wo|
000099c0  72 6b 62 6c 6b 2b 28 37  2a 32 35 36 29 29 2c 66  |rkblk+(7*256)),f|
000099d0  6f 6e 74 24 2c 70 74 2c  77 69 64 74 68 29 0d 33  |ont$,pt,width).3|
000099e0  72 1a 20 e7 20 62 62 78  3e 62 62 78 6d 20 8c 20  |r. . bbx>bbxm . |
000099f0  62 62 78 6d 3d 62 62 78  0d 33 7c 2d 20 f2 62 62  |bbxm=bbx.3|- .bb|
00009a00  6f 78 28 24 28 77 6f 72  6b 62 6c 6b 2b 28 38 2a  |ox($(workblk+(8*|
00009a10  32 35 36 29 29 2c 66 6f  6e 74 24 2c 70 74 2c 77  |256)),font$,pt,w|
00009a20  69 64 74 68 29 0d 33 86  1a 20 e7 20 62 62 78 3e  |idth).3.. . bbx>|
00009a30  62 62 78 6d 20 8c 20 62  62 78 6d 3d 62 62 78 0d  |bbxm . bbxm=bbx.|
00009a40  33 90 23 20 f2 62 62 6f  78 28 22 57 46 4d 67 6a  |3.# .bbox("WFMgj|
00009a50  71 22 2c 66 6f 6e 74 24  2c 70 74 2c 77 69 64 74  |q",font$,pt,widt|
00009a60  68 29 0d 33 9a 2d 20 77  6f 72 6b 62 6c 6b 21 28  |h).3.- workblk!(|
00009a70  70 74 72 2b 32 37 38 29  3d 77 6f 72 6b 62 6c 6b  |ptr+278)=workblk|
00009a80  21 28 70 74 72 2b 32 37  30 29 2b 62 62 78 31 0d  |!(ptr+270)+bbx1.|
00009a90  33 a4 2d 20 77 6f 72 6b  62 6c 6b 21 28 70 74 72  |3.- workblk!(ptr|
00009aa0  2b 32 38 32 29 3d 77 6f  72 6b 62 6c 6b 21 28 70  |+282)=workblk!(p|
00009ab0  74 72 2b 32 37 34 29 2d  62 62 79 31 0d 33 ae 1b  |tr+274)-bby1.3..|
00009ac0  20 77 6f 72 6b 62 6c 6b  21 28 70 74 72 2b 32 38  | workblk!(ptr+28|
00009ad0  36 29 3d 62 62 78 6d 0d  33 b8 1a 20 77 6f 72 6b  |6)=bbxm.3.. work|
00009ae0  62 6c 6b 21 28 70 74 72  2b 32 39 30 29 3d 62 62  |blk!(ptr+290)=bb|
00009af0  79 0d 33 c2 12 20 61 78  3d 73 78 32 3a 62 79 3d  |y.3.. ax=sx2:by=|
00009b00  73 79 32 0d 33 cc 1b 20  73 78 32 3d 62 62 78 6d  |sy2.3.. sx2=bbxm|
00009b10  3a 73 79 32 3d 62 62 79  2a 34 2b 36 2a 33 0d 33  |:sy2=bby*4+6*3.3|
00009b20  d6 06 20 cd 0d 33 e0 1d  e7 20 61 78 3e 73 78 32  |.. ..3... ax>sx2|
00009b30  20 8c 20 61 78 3d 61 78  20 8b 20 61 78 3d 73 78  | . ax=ax . ax=sx|
00009b40  32 0d 33 ea 1d e7 20 62  79 3e 73 79 32 20 8c 20  |2.3... by>sy2 . |
00009b50  62 79 3d 62 79 20 8b 20  62 79 3d 73 79 32 0d 33  |by=by . by=sy2.3|
00009b60  f4 42 c8 99 22 57 69 6d  70 5f 46 6f 72 63 65 52  |.B.."Wimp_ForceR|
00009b70  65 64 72 61 77 22 2c 63  68 61 6e 67 65 64 65 73  |edraw",changedes|
00009b80  2c 73 78 31 2c 30 2d 73  79 31 2d 38 2c 73 78 31  |,sx1,0-sy1-8,sx1|
00009b90  2b 61 78 2b 32 2c 30 2d  73 79 31 2b 62 79 2b 32  |+ax+2,0-sy1+by+2|
00009ba0  0d 33 fe 05 cd 0d 34 08  10 e7 20 63 68 61 6e 67  |.3....4... chang|
00009bb0  65 3d 36 20 8c 0d 34 12  1e 70 74 72 3d 64 65 74  |e=6 ..4..ptr=det|
00009bc0  70 74 72 2b 28 64 65 73  62 6c 6b 2a 64 65 73 69  |ptr+(desblk*desi|
00009bd0  67 6e 29 0d 34 1c 22 73  6f 72 64 3d a4 63 68 65  |gn).4."sord=.che|
00009be0  63 6b 66 6c 61 67 28 70  69 63 74 75 72 65 25 2c  |ckflag(picture%,|
00009bf0  35 2c 32 31 29 0d 34 26  22 4c 6f 63 6b 3d a4 63  |5,21).4&"Lock=.c|
00009c00  68 65 63 6b 66 6c 61 67  28 70 69 63 74 75 72 65  |heckflag(picture|
00009c10  25 2c 31 2c 32 31 29 0d  34 30 25 43 65 6e 74 72  |%,1,21).40%Centr|
00009c20  65 64 3d a4 63 68 65 63  6b 66 6c 61 67 28 70 69  |ed=.checkflag(pi|
00009c30  63 74 75 72 65 25 2c 32  2c 32 31 29 0d 34 3a 23  |cture%,2,21).4:#|
00009c40  46 72 6f 6e 74 3d a4 63  68 65 63 6b 66 6c 61 67  |Front=.checkflag|
00009c50  28 70 69 63 74 75 72 65  25 2c 33 2c 32 31 29 0d  |(picture%,3,21).|
00009c60  34 44 32 e7 20 73 6f 72  64 20 8c 20 77 6f 72 6b  |4D2. sord . work|
00009c70  62 6c 6b 3f 28 70 74 72  2b 35 29 3d 31 20 8b 20  |blk?(ptr+5)=1 . |
00009c80  77 6f 72 6b 62 6c 6b 3f  28 70 74 72 2b 35 29 3d  |workblk?(ptr+5)=|
00009c90  32 0d 34 4e 32 e7 20 4c  6f 63 6b 20 77 6f 72 6b  |2.4N2. Lock work|
00009ca0  62 6c 6b 3f 28 70 74 72  2b 32 32 29 3d 31 20 8b  |blk?(ptr+22)=1 .|
00009cb0  20 77 6f 72 6b 62 6c 6b  3f 28 70 74 72 2b 32 32  | workblk?(ptr+22|
00009cc0  29 3d 30 0d 34 58 35 e7  20 43 65 6e 74 72 65 64  |)=0.4X5. Centred|
00009cd0  20 77 6f 72 6b 62 6c 6b  3f 28 70 74 72 2b 32 33  | workblk?(ptr+23|
00009ce0  29 3d 31 20 8b 20 77 6f  72 6b 62 6c 6b 3f 28 70  |)=1 . workblk?(p|
00009cf0  74 72 2b 32 33 29 3d 30  0d 34 62 33 e7 20 46 72  |tr+23)=0.4b3. Fr|
00009d00  6f 6e 74 20 77 6f 72 6b  62 6c 6b 3f 28 70 74 72  |ont workblk?(ptr|
00009d10  2b 32 34 29 3d 31 20 8b  20 77 6f 72 6b 62 6c 6b  |+24)=1 . workblk|
00009d20  3f 28 70 74 72 2b 32 34  29 3d 30 0d 34 6c 1e 24  |?(ptr+24)=0.4l.$|
00009d30  28 77 6f 72 6b 62 6c 6b  2b 28 70 74 72 2b 36 29  |(workblk+(ptr+6)|
00009d40  29 3d 63 75 72 73 70 72  24 0d 34 76 42 c8 99 22  |)=curspr$.4vB.."|
00009d50  57 69 6d 70 5f 46 6f 72  63 65 52 65 64 72 61 77  |Wimp_ForceRedraw|
00009d60  22 2c 63 68 61 6e 67 65  64 65 73 2c 73 78 31 2c  |",changedes,sx1,|
00009d70  30 2d 73 79 31 2c 73 78  31 2b 73 78 32 2b 32 2c  |0-sy1,sx1+sx2+2,|
00009d80  30 2d 73 79 31 2b 73 79  32 2b 32 0d 34 80 05 cd  |0-sy1+sy2+2.4...|
00009d90  0d 34 8a 05 cd 0d 34 94  11 e7 20 63 68 61 6e 67  |.4....4... chang|
00009da0  65 3d 2d 31 20 8c 0d 34  9e 1e 70 74 72 3d 64 65  |e=-1 ..4..ptr=de|
00009db0  74 70 74 72 2b 28 64 65  73 62 6c 6b 2a 64 65 73  |tptr+(desblk*des|
00009dc0  69 67 6e 29 0d 34 a8 25  77 6f 72 6b 62 6c 6b 3f  |ign).4.%workblk?|
00009dd0  28 70 74 72 2b 31 29 3d  28 49 6e 74 65 72 48 65  |(ptr+1)=(InterHe|
00009de0  78 3e 3e 38 29 80 26 46  46 0d 34 b2 26 77 6f 72  |x>>8).&FF.4.&wor|
00009df0  6b 62 6c 6b 3f 28 70 74  72 2b 32 29 3d 28 49 6e  |kblk?(ptr+2)=(In|
00009e00  74 65 72 48 65 78 3e 3e  31 36 29 80 26 46 46 0d  |terHex>>16).&FF.|
00009e10  34 bc 26 77 6f 72 6b 62  6c 6b 3f 28 70 74 72 2b  |4.&workblk?(ptr+|
00009e20  33 29 3d 28 49 6e 74 65  72 48 65 78 3e 3e 32 34  |3)=(InterHex>>24|
00009e30  29 80 26 46 46 0d 34 c6  12 e3 20 69 3d 32 20 b8  |).&FF.4... i=2 .|
00009e40  20 31 30 20 88 20 32 0d  34 d0 30 e7 20 a4 63 68  | 10 . 2.4.0. .ch|
00009e50  65 63 6b 66 6c 61 67 28  62 61 63 6b 25 2c 69 2c  |eckflag(back%,i,|
00009e60  32 31 29 20 8c 20 77 6f  72 6b 62 6c 6b 3f 28 70  |21) . workblk?(p|
00009e70  74 72 29 3d 69 2f 32 0d  34 da 05 ed 0d 34 e4 2f  |tr)=i/2.4....4./|
00009e80  e7 20 a4 63 68 65 63 6b  66 6c 61 67 28 62 61 63  |. .checkflag(bac|
00009e90  6b 25 2c 31 31 2c 32 31  29 20 8c 20 77 6f 72 6b  |k%,11,21) . work|
00009ea0  62 6c 6b 3f 28 70 74 72  29 3d 30 0d 34 ee 16 f2  |blk?(ptr)=0.4...|
00009eb0  72 65 64 72 61 77 28 63  68 61 6e 67 65 64 65 73  |redraw(changedes|
00009ec0  29 0d 34 f8 05 cd 0d 35  02 11 e7 20 63 68 61 6e  |).4....5... chan|
00009ed0  67 65 3d 2d 32 20 8c 0d  35 0c 1e 70 74 72 3d 64  |ge=-2 ..5..ptr=d|
00009ee0  65 74 70 74 72 2b 28 64  65 73 62 6c 6b 2a 64 65  |etptr+(desblk*de|
00009ef0  73 69 67 6e 29 0d 35 16  22 73 6f 72 64 3d a4 63  |sign).5."sord=.c|
00009f00  68 65 63 6b 66 6c 61 67  28 70 69 63 74 75 72 65  |heckflag(picture|
00009f10  25 2c 35 2c 32 31 29 0d  35 20 22 4c 6f 63 6b 3d  |%,5,21).5 "Lock=|
00009f20  a4 63 68 65 63 6b 66 6c  61 67 28 70 69 63 74 75  |.checkflag(pictu|
00009f30  72 65 25 2c 31 2c 32 31  29 0d 35 2a 25 43 65 6e  |re%,1,21).5*%Cen|
00009f40  74 72 65 64 3d a4 63 68  65 63 6b 66 6c 61 67 28  |tred=.checkflag(|
00009f50  70 69 63 74 75 72 65 25  2c 32 2c 32 31 29 0d 35  |picture%,2,21).5|
00009f60  34 23 46 72 6f 6e 74 3d  a4 63 68 65 63 6b 66 6c  |4#Front=.checkfl|
00009f70  61 67 28 70 69 63 74 75  72 65 25 2c 33 2c 32 31  |ag(picture%,3,21|
00009f80  29 0d 35 3e 1b 6f 6c 64  73 6f 72 64 3d 77 6f 72  |).5>.oldsord=wor|
00009f90  6b 62 6c 6b 3f 28 70 74  72 2b 35 29 0d 35 48 32  |kblk?(ptr+5).5H2|
00009fa0  e7 20 73 6f 72 64 20 8c  20 77 6f 72 6b 62 6c 6b  |. sord . workblk|
00009fb0  3f 28 70 74 72 2b 35 29  3d 31 20 8b 20 77 6f 72  |?(ptr+5)=1 . wor|
00009fc0  6b 62 6c 6b 3f 28 70 74  72 2b 35 29 3d 32 0d 35  |kblk?(ptr+5)=2.5|
00009fd0  52 32 e7 20 4c 6f 63 6b  20 77 6f 72 6b 62 6c 6b  |R2. Lock workblk|
00009fe0  3f 28 70 74 72 2b 32 32  29 3d 31 20 8b 20 77 6f  |?(ptr+22)=1 . wo|
00009ff0  72 6b 62 6c 6b 3f 28 70  74 72 2b 32 32 29 3d 30  |rkblk?(ptr+22)=0|
0000a000  0d 35 5c 35 e7 20 43 65  6e 74 72 65 64 20 77 6f  |.5\5. Centred wo|
0000a010  72 6b 62 6c 6b 3f 28 70  74 72 2b 32 33 29 3d 31  |rkblk?(ptr+23)=1|
0000a020  20 8b 20 77 6f 72 6b 62  6c 6b 3f 28 70 74 72 2b  | . workblk?(ptr+|
0000a030  32 33 29 3d 30 0d 35 66  33 e7 20 46 72 6f 6e 74  |23)=0.5f3. Front|
0000a040  20 77 6f 72 6b 62 6c 6b  3f 28 70 74 72 2b 32 34  | workblk?(ptr+24|
0000a050  29 3d 31 20 8b 20 77 6f  72 6b 62 6c 6b 3f 28 70  |)=1 . workblk?(p|
0000a060  74 72 2b 32 34 29 3d 30  0d 35 70 18 77 6f 72 6b  |tr+24)=0.5p.work|
0000a070  62 6c 6b 21 28 70 74 72  2b 34 34 29 3d 33 35 30  |blk!(ptr+44)=350|
0000a080  0d 35 7a 18 77 6f 72 6b  62 6c 6b 21 28 70 74 72  |.5z.workblk!(ptr|
0000a090  2b 34 38 29 3d 33 30 30  0d 35 84 18 77 6f 72 6b  |+48)=300.5..work|
0000a0a0  62 6c 6b 21 28 70 74 72  2b 35 32 29 3d 32 30 30  |blk!(ptr+52)=200|
0000a0b0  0d 35 8e 18 77 6f 72 6b  62 6c 6b 21 28 70 74 72  |.5..workblk!(ptr|
0000a0c0  2b 35 36 29 3d 32 30 30  0d 35 98 27 e7 20 73 6f  |+56)=200.5.'. so|
0000a0d0  72 64 20 8c 20 24 28 77  6f 72 6b 62 6c 6b 2b 28  |rd . $(workblk+(|
0000a0e0  70 74 72 2b 36 29 29 3d  63 75 72 73 70 72 24 0d  |ptr+6))=curspr$.|
0000a0f0  35 a2 1a e7 20 73 65 6c  65 63 74 3d 36 20 8c 20  |5... select=6 . |
0000a100  73 65 6c 65 63 74 3d 2d  31 0d 35 ac 21 e7 20 6f  |select=-1.5.!. o|
0000a110  6c 64 73 6f 72 64 3e 30  20 8c 20 f2 72 65 64 72  |ldsord>0 . .redr|
0000a120  61 77 28 63 75 72 64 65  73 29 0d 35 b6 39 c8 99  |aw(curdes).5.9..|
0000a130  22 57 69 6d 70 5f 46 6f  72 63 65 52 65 64 72 61  |"Wimp_ForceRedra|
0000a140  77 22 2c 63 75 72 64 65  73 2c 33 35 30 2c 2d 33  |w",curdes,350,-3|
0000a150  30 30 2c 33 35 30 2b 32  30 30 2c 2d 33 30 30 2b  |00,350+200,-300+|
0000a160  32 30 30 0d 35 c0 05 cd  0d 35 ca 05 e1 0d 35 d4  |200.5....5....5.|
0000a170  04 0d 35 de 15 dd f2 73  68 6f 77 61 6c 6c 28 68  |..5....showall(h|
0000a180  61 6e 64 6c 65 29 0d 35  e8 0f c8 8e 20 68 61 6e  |andle).5.... han|
0000a190  64 6c 65 20 ca 0d 35 f2  16 c9 20 63 61 72 64 25  |dle ..5... card%|
0000a1a0  20 3a 20 64 65 73 69 67  6e 3d 30 0d 35 fc 16 c9  | : design=0.5...|
0000a1b0  20 63 6f 6d 70 25 20 3a  20 64 65 73 69 67 6e 3d  | comp% : design=|
0000a1c0  31 0d 36 06 18 c9 20 6c  65 74 74 65 72 25 20 3a  |1.6... letter% :|
0000a1d0  20 64 65 73 69 67 6e 3d  32 0d 36 10 05 cb 0d 36  | design=2.6....6|
0000a1e0  1a 0d e3 20 69 3d 30 20  b8 20 35 0d 36 24 2f 70  |... i=0 . 5.6$/p|
0000a1f0  74 72 3d 64 65 74 70 74  72 2b 28 64 65 73 62 6c  |tr=detptr+(desbl|
0000a200  6b 2a 64 65 73 69 67 6e  29 2b 64 65 73 6c 65 6e  |k*design)+deslen|
0000a210  2b 28 73 74 79 6c 65 2a  69 29 0d 36 2e 17 77 6f  |+(style*i).6..wo|
0000a220  72 6b 62 6c 6b 3f 28 70  74 72 2b 32 39 34 29 3d  |rkblk?(ptr+294)=|
0000a230  31 0d 36 38 05 ed 0d 36  42 13 f2 72 65 64 72 61  |1.68...6B..redra|
0000a240  77 28 68 61 6e 64 6c 65  29 0d 36 4c 05 e1 0d 36  |w(handle).6L...6|
0000a250  56 04 0d 36 60 14 dd f2  72 65 6d 6f 76 65 28 68  |V..6`...remove(h|
0000a260  61 6e 64 6c 65 29 0d 36  6a 11 63 75 72 64 65 73  |andle).6j.curdes|
0000a270  3d 68 61 6e 64 6c 65 0d  36 74 0f c8 8e 20 63 75  |=handle.6t... cu|
0000a280  72 64 65 73 20 ca 0d 36  7e 16 c9 20 63 61 72 64  |rdes ..6~.. card|
0000a290  25 20 3a 20 64 65 73 69  67 6e 3d 30 0d 36 88 16  |% : design=0.6..|
0000a2a0  c9 20 63 6f 6d 70 25 20  3a 20 64 65 73 69 67 6e  |. comp% : design|
0000a2b0  3d 31 0d 36 92 18 c9 20  6c 65 74 74 65 72 25 20  |=1.6... letter% |
0000a2c0  3a 20 64 65 73 69 67 6e  3d 32 0d 36 9c 05 cb 0d  |: design=2.6....|
0000a2d0  36 a6 1e 70 74 72 3d 64  65 74 70 74 72 2b 28 64  |6..ptr=detptr+(d|
0000a2e0  65 73 62 6c 6b 2a 64 65  73 69 67 6e 29 0d 36 b0  |esblk*design).6.|
0000a2f0  1b 6f 6c 64 73 6f 72 64  3d 77 6f 72 6b 62 6c 6b  |.oldsord=workblk|
0000a300  3f 28 70 74 72 2b 35 29  0d 36 ba 15 77 6f 72 6b  |?(ptr+5).6..work|
0000a310  62 6c 6b 3f 28 70 74 72  2b 35 29 3d 30 0d 36 c4  |blk?(ptr+5)=0.6.|
0000a320  19 24 28 77 6f 72 6b 62  6c 6b 2b 28 70 74 72 2b  |.$(workblk+(ptr+|
0000a330  36 29 29 3d 22 22 0d 36  ce 1a e7 20 73 65 6c 65  |6))="".6... sele|
0000a340  63 74 3d 36 20 8c 20 73  65 6c 65 63 74 3d 2d 31  |ct=6 . select=-1|
0000a350  0d 36 d8 21 e7 20 6f 6c  64 73 6f 72 64 3e 30 20  |.6.!. oldsord>0 |
0000a360  8c 20 f2 72 65 64 72 61  77 28 63 75 72 64 65 73  |. .redraw(curdes|
0000a370  29 0d 36 e2 05 e1 0d 36  ec 04 0d 36 f6 14 dd f2  |).6....6...6....|
0000a380  69 6e 73 65 72 74 28 68  61 6e 64 6c 65 29 0d 37  |insert(handle).7|
0000a390  00 11 63 75 72 64 65 73  3d 68 61 6e 64 6c 65 0d  |..curdes=handle.|
0000a3a0  37 0a 0f c8 8e 20 63 75  72 64 65 73 20 ca 0d 37  |7.... curdes ..7|
0000a3b0  14 16 c9 20 63 61 72 64  25 20 3a 20 64 65 73 69  |... card% : desi|
0000a3c0  67 6e 3d 30 0d 37 1e 16  c9 20 63 6f 6d 70 25 20  |gn=0.7... comp% |
0000a3d0  3a 20 64 65 73 69 67 6e  3d 31 0d 37 28 18 c9 20  |: design=1.7(.. |
0000a3e0  6c 65 74 74 65 72 25 20  3a 20 64 65 73 69 67 6e  |letter% : design|
0000a3f0  3d 32 0d 37 32 05 cb 0d  37 3c 27 f2 73 65 74 69  |=2.72...7<'.seti|
0000a400  63 73 74 61 74 65 28 70  69 63 74 75 72 65 25 2c  |cstate(picture%,|
0000a410  31 2c 31 3c 3c 32 31 2c  30 3c 3c 32 31 29 0d 37  |1,1<<21,0<<21).7|
0000a420  46 27 f2 73 65 74 69 63  73 74 61 74 65 28 70 69  |F'.seticstate(pi|
0000a430  63 74 75 72 65 25 2c 32  2c 31 3c 3c 32 31 2c 30  |cture%,2,1<<21,0|
0000a440  3c 3c 32 31 29 0d 37 50  27 f2 73 65 74 69 63 73  |<<21).7P'.setics|
0000a450  74 61 74 65 28 70 69 63  74 75 72 65 25 2c 33 2c  |tate(picture%,3,|
0000a460  31 3c 3c 32 31 2c 30 3c  3c 32 31 29 0d 37 5a 27  |1<<21,0<<21).7Z'|
0000a470  f2 73 65 74 69 63 73 74  61 74 65 28 70 69 63 74  |.seticstate(pict|
0000a480  75 72 65 25 2c 35 2c 31  3c 3c 32 31 2c 30 3c 3c  |ure%,5,1<<21,0<<|
0000a490  32 31 29 0d 37 64 27 f2  73 65 74 69 63 73 74 61  |21).7d'.seticsta|
0000a4a0  74 65 28 70 69 63 74 75  72 65 25 2c 36 2c 31 3c  |te(picture%,6,1<|
0000a4b0  3c 32 31 2c 30 3c 3c 32  31 29 0d 37 6e 27 f2 73  |<21,0<<21).7n'.s|
0000a4c0  65 74 69 63 73 74 61 74  65 28 70 69 63 74 75 72  |eticstate(pictur|
0000a4d0  65 25 2c 34 2c 31 3c 3c  32 32 2c 30 3c 3c 32 32  |e%,4,1<<22,0<<22|
0000a4e0  29 0d 37 78 27 f2 73 65  74 69 63 73 74 61 74 65  |).7x'.seticstate|
0000a4f0  28 70 69 63 74 75 72 65  25 2c 35 2c 31 3c 3c 32  |(picture%,5,1<<2|
0000a500  32 2c 30 3c 3c 32 32 29  0d 37 82 27 f2 73 65 74  |2,0<<22).7.'.set|
0000a510  69 63 73 74 61 74 65 28  70 69 63 74 75 72 65 25  |icstate(picture%|
0000a520  2c 36 2c 31 3c 3c 32 32  2c 30 3c 3c 32 32 29 0d  |,6,1<<22,0<<22).|
0000a530  37 8c 59 e7 20 ac 20 73  70 72 69 74 65 73 20 8c  |7.Y. . sprites .|
0000a540  20 f2 73 65 74 69 63 73  74 61 74 65 28 70 69 63  | .seticstate(pic|
0000a550  74 75 72 65 25 2c 35 2c  31 3c 3c 32 32 2c 31 3c  |ture%,5,1<<22,1<|
0000a560  3c 32 32 29 3a f2 73 65  74 69 63 73 74 61 74 65  |<22):.seticstate|
0000a570  28 70 69 63 74 75 72 65  25 2c 34 2c 31 3c 3c 32  |(picture%,4,1<<2|
0000a580  32 2c 31 3c 3c 32 32 29  0d 37 96 35 e7 20 ac 20  |2,1<<22).7.5. . |
0000a590  64 72 61 77 69 6e 67 20  8c 20 f2 73 65 74 69 63  |drawing . .setic|
0000a5a0  73 74 61 74 65 28 70 69  63 74 75 72 65 25 2c 36  |state(picture%,6|
0000a5b0  2c 31 3c 3c 32 32 2c 31  3c 3c 32 32 29 0d 37 a0  |,1<<22,1<<22).7.|
0000a5c0  0f e7 20 73 70 72 69 74  65 73 20 8c 0d 37 aa 13  |.. sprites ..7..|
0000a5d0  63 75 72 73 70 72 24 3d  64 65 66 73 70 72 24 0d  |curspr$=defspr$.|
0000a5e0  37 b4 0c 70 69 63 70 69  63 3d 31 0d 37 be 27 f2  |7..picpic=1.7.'.|
0000a5f0  73 65 74 69 63 73 74 61  74 65 28 70 69 63 74 75  |seticstate(pictu|
0000a600  72 65 25 2c 35 2c 31 3c  3c 32 31 2c 31 3c 3c 32  |re%,5,1<<21,1<<2|
0000a610  31 29 0d 37 c8 05 cc 0d  37 d2 0c 70 69 63 70 69  |1).7....7..picpi|
0000a620  63 3d 32 0d 37 dc 27 f2  73 65 74 69 63 73 74 61  |c=2.7.'.seticsta|
0000a630  74 65 28 70 69 63 74 75  72 65 25 2c 36 2c 31 3c  |te(picture%,6,1<|
0000a640  3c 32 31 2c 31 3c 3c 32  31 29 0d 37 e6 05 cd 0d  |<21,1<<21).7....|
0000a650  37 f0 16 f2 6f 70 65 6e  77 69 6e 28 70 69 63 74  |7...openwin(pict|
0000a660  75 72 65 25 29 0d 37 fa  0d 63 68 61 6e 67 65 3d  |ure%).7..change=|
0000a670  2d 32 0d 38 04 05 e1 0d  38 0e 04 0d 38 18 0d dd  |-2.8....8...8...|
0000a680  f2 73 77 61 70 70 69 63  0d 38 22 13 62 75 74 74  |.swappic.8".butt|
0000a690  6f 6e 3d 62 6c 6f 63 6b  21 31 36 0d 38 2c 38 e7  |on=block!16.8,8.|
0000a6a0  20 62 75 74 74 6f 6e 3d  35 20 8c 20 70 69 63 70  | button=5 . picp|
0000a6b0  69 63 3d 31 3a e7 20 63  75 72 73 70 72 24 3d 22  |ic=1:. curspr$="|
0000a6c0  22 20 8c 20 63 75 72 73  70 72 24 3d 64 65 66 73  |" . curspr$=defs|
0000a6d0  70 72 24 0d 38 36 19 e7  20 62 75 74 74 6f 6e 3d  |pr$.86.. button=|
0000a6e0  36 20 8c 20 70 69 63 70  69 63 3d 32 0d 38 40 0c  |6 . picpic=2.8@.|
0000a6f0  f2 72 65 64 6f 70 69 63  0d 38 4a 05 e1 0d 38 54  |.redopic.8J...8T|
0000a700  04 0d 38 5e 0d dd f2 72  65 64 6f 70 69 63 0d 38  |..8^...redopic.8|
0000a710  68 30 c8 99 22 57 69 6d  70 5f 46 6f 72 63 65 52  |h0.."Wimp_ForceR|
0000a720  65 64 72 61 77 22 2c 70  69 63 74 75 72 65 25 2c  |edraw",picture%,|
0000a730  31 32 2c 2d 32 32 32 2c  32 32 32 2c 31 32 0d 38  |12,-222,222,12.8|
0000a740  72 05 e1 0d 38 7c 04 0d  38 86 10 dd f2 73 65 6c  |r...8|..8....sel|
0000a750  65 63 74 69 74 65 6d 0d  38 90 13 63 75 72 64 65  |ectitem.8..curde|
0000a760  73 3d 62 6c 6f 63 6b 21  31 32 0d 38 9a 19 6d 78  |s=block!12.8..mx|
0000a770  3d 62 6c 6f 63 6b 21 30  3a 6d 79 3d 62 6c 6f 63  |=block!0:my=bloc|
0000a780  6b 21 34 0d 38 a4 0f c8  8e 20 63 75 72 64 65 73  |k!4.8.... curdes|
0000a790  20 ca 0d 38 ae 16 c9 20  63 61 72 64 25 20 3a 20  | ..8... card% : |
0000a7a0  64 65 73 69 67 6e 3d 30  0d 38 b8 16 c9 20 63 6f  |design=0.8... co|
0000a7b0  6d 70 25 20 3a 20 64 65  73 69 67 6e 3d 31 0d 38  |mp% : design=1.8|
0000a7c0  c2 18 c9 20 6c 65 74 74  65 72 25 20 3a 20 64 65  |... letter% : de|
0000a7d0  73 69 67 6e 3d 32 0d 38  cc 05 cb 0d 38 d6 11 21  |sign=2.8....8..!|
0000a7e0  62 6c 6f 63 6b 3d 63 75  72 64 65 73 0d 38 e0 21  |block=curdes.8.!|
0000a7f0  c8 99 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |.."Wimp_GetWindo|
0000a800  77 49 6e 66 6f 22 2c 2c  62 6c 6f 63 6b 0d 38 ea  |wInfo",,block.8.|
0000a810  1b 77 6f 72 6b 78 25 3d  62 6c 6f 63 6b 21 34 2d  |.workx%=block!4-|
0000a820  62 6c 6f 63 6b 21 32 30  0d 38 f4 1c 77 6f 72 6b  |block!20.8..work|
0000a830  79 25 3d 62 6c 6f 63 6b  21 31 36 2d 62 6c 6f 63  |y%=block!16-bloc|
0000a840  6b 21 32 34 0d 38 fe 14  78 63 6f 6f 72 64 3d 6d  |k!24.8..xcoord=m|
0000a850  78 2d 77 6f 72 6b 78 25  0d 39 08 14 79 63 6f 6f  |x-workx%.9..ycoo|
0000a860  72 64 3d 6d 79 2d 77 6f  72 6b 79 25 0d 39 12 14  |rd=my-worky%.9..|
0000a870  6f 6c 64 73 65 6c 65 63  74 3d 73 65 6c 65 63 74  |oldselect=select|
0000a880  0d 39 1c 35 6f 73 78 31  3d 73 78 31 3a 6f 73 79  |.9.5osx1=sx1:osy|
0000a890  31 3d 73 79 31 3a 6f 73  78 32 3d 73 78 32 3a 6f  |1=sy1:osx2=sx2:o|
0000a8a0  73 79 32 3d 73 79 32 3a  6f 6c 64 64 65 73 3d 73  |sy2=sy2:olddes=s|
0000a8b0  65 6c 64 65 73 0d 39 26  29 73 78 31 3d 2d 31 3a  |eldes.9&)sx1=-1:|
0000a8c0  73 79 31 3d 2d 31 3a 73  78 32 3d 2d 31 3a 73 78  |sy1=-1:sx2=-1:sx|
0000a8d0  79 3d 2d 31 3a 73 65 6c  65 63 74 3d 2d 31 0d 39  |y=-1:select=-1.9|
0000a8e0  30 07 49 3d 30 0d 39 3a  05 f5 0d 39 44 30 20 70  |0.I=0.9:...9D0 p|
0000a8f0  74 72 3d 64 65 74 70 74  72 2b 28 64 65 73 62 6c  |tr=detptr+(desbl|
0000a900  6b 2a 64 65 73 69 67 6e  29 2b 64 65 73 6c 65 6e  |k*design)+deslen|
0000a910  2b 28 73 74 79 6c 65 2a  49 29 0d 39 4e 1b 20 68  |+(style*I).9N. h|
0000a920  69 64 65 3d 77 6f 72 6b  62 6c 6b 3f 28 70 74 72  |ide=workblk?(ptr|
0000a930  2b 32 39 34 29 0d 39 58  0f 20 e7 20 68 69 64 65  |+294).9X. . hide|
0000a940  3d 31 20 8c 0d 39 62 1f  20 78 31 3d 77 6f 72 6b  |=1 ..9b. x1=work|
0000a950  62 6c 6b 21 28 70 74 72  2b 32 37 38 29 3a 61 31  |blk!(ptr+278):a1|
0000a960  3d 78 31 0d 39 6c 1f 20  79 31 3d 77 6f 72 6b 62  |=x1.9l. y1=workb|
0000a970  6c 6b 21 28 70 74 72 2b  32 38 32 29 3a 62 31 3d  |lk!(ptr+282):b1=|
0000a980  79 31 0d 39 76 1f 20 78  32 3d 77 6f 72 6b 62 6c  |y1.9v. x2=workbl|
0000a990  6b 21 28 70 74 72 2b 32  38 36 29 3a 61 32 3d 78  |k!(ptr+286):a2=x|
0000a9a0  32 0d 39 80 1f 20 79 32  3d 77 6f 72 6b 62 6c 6b  |2.9.. y2=workblk|
0000a9b0  21 28 70 74 72 2b 32 39  30 29 3a 62 32 3d 79 32  |!(ptr+290):b2=y2|
0000a9c0  0d 39 8a 1e 20 79 31 3d  30 2d 79 31 3a 78 32 3d  |.9.. y1=0-y1:x2=|
0000a9d0  78 31 2b 78 32 3a 79 32  3d 79 31 2b 79 32 0d 39  |x1+x2:y2=y1+y2.9|
0000a9e0  94 27 20 e7 20 49 3d 35  20 8c 20 79 32 3d 62 32  |.' . I=5 . y2=b2|
0000a9f0  2a 34 2b 36 2a 33 3a 62  32 3d 79 32 3a 79 32 3d  |*4+6*3:b2=y2:y2=|
0000aa00  79 31 2b 79 32 0d 39 9e  69 20 e7 20 78 63 6f 6f  |y1+y2.9.i . xcoo|
0000aa10  72 64 3e 78 31 20 80 20  79 63 6f 6f 72 64 3e 79  |rd>x1 . ycoord>y|
0000aa20  31 20 80 20 78 63 6f 6f  72 64 3c 78 32 20 80 20  |1 . xcoord<x2 . |
0000aa30  79 63 6f 6f 72 64 3c 79  32 20 8c 20 73 65 6c 65  |ycoord<y2 . sele|
0000aa40  63 74 3d 49 3a 73 65 6c  64 65 73 3d 63 75 72 64  |ct=I:seldes=curd|
0000aa50  65 73 3a 73 78 31 3d 61  31 3a 73 79 31 3d 62 31  |es:sx1=a1:sy1=b1|
0000aa60  3a 73 78 32 3d 61 32 3a  73 79 32 3d 62 32 0d 39  |:sx2=a2:sy2=b2.9|
0000aa70  a8 06 20 cd 0d 39 b2 09  20 49 2b 3d 31 0d 39 bc  |.. ..9.. I+=1.9.|
0000aa80  15 fd 20 49 3d 36 20 84  20 73 65 6c 65 63 74 3e  |.. I=6 . select>|
0000aa90  2d 31 0d 39 c6 1e 70 74  72 3d 64 65 74 70 74 72  |-1.9..ptr=detptr|
0000aaa0  2b 28 64 65 73 62 6c 6b  2a 64 65 73 69 67 6e 29  |+(desblk*design)|
0000aab0  0d 39 d0 1b 70 69 63 74  79 70 65 3d 77 6f 72 6b  |.9..pictype=work|
0000aac0  62 6c 6b 3f 28 70 74 72  2b 35 29 0d 39 da 1d e7  |blk?(ptr+5).9...|
0000aad0  20 73 65 6c 65 63 74 3d  2d 31 20 80 20 70 69 63  | select=-1 . pic|
0000aae0  74 79 70 65 3e 30 20 8c  0d 39 e4 1e 20 78 31 3d  |type>0 ..9.. x1=|
0000aaf0  77 6f 72 6b 62 6c 6b 21  28 70 74 72 2b 34 34 29  |workblk!(ptr+44)|
0000ab00  3a 61 31 3d 78 31 0d 39  ee 1e 20 79 31 3d 77 6f  |:a1=x1.9.. y1=wo|
0000ab10  72 6b 62 6c 6b 21 28 70  74 72 2b 34 38 29 3a 62  |rkblk!(ptr+48):b|
0000ab20  31 3d 79 31 0d 39 f8 1e  20 78 32 3d 77 6f 72 6b  |1=y1.9.. x2=work|
0000ab30  62 6c 6b 21 28 70 74 72  2b 35 32 29 3a 61 32 3d  |blk!(ptr+52):a2=|
0000ab40  78 32 0d 3a 02 1e 20 79  32 3d 77 6f 72 6b 62 6c  |x2.:.. y2=workbl|
0000ab50  6b 21 28 70 74 72 2b 35  36 29 3a 62 32 3d 79 32  |k!(ptr+56):b2=y2|
0000ab60  0d 3a 0c 1e 20 79 31 3d  30 2d 79 31 3a 78 32 3d  |.:.. y1=0-y1:x2=|
0000ab70  78 31 2b 78 32 3a 79 32  3d 79 31 2b 79 32 0d 3a  |x1+x2:y2=y1+y2.:|
0000ab80  16 69 20 e7 20 78 63 6f  6f 72 64 3e 78 31 20 80  |.i . xcoord>x1 .|
0000ab90  20 79 63 6f 6f 72 64 3e  79 31 20 80 20 78 63 6f  | ycoord>y1 . xco|
0000aba0  6f 72 64 3c 78 32 20 80  20 79 63 6f 6f 72 64 3c  |ord<x2 . ycoord<|
0000abb0  79 32 20 8c 20 73 65 6c  65 63 74 3d 36 3a 73 65  |y2 . select=6:se|
0000abc0  6c 64 65 73 3d 63 75 72  64 65 73 3a 73 78 31 3d  |ldes=curdes:sx1=|
0000abd0  61 31 3a 73 79 31 3d 62  31 3a 73 78 32 3d 61 32  |a1:sy1=b1:sx2=a2|
0000abe0  3a 73 79 32 3d 62 32 0d  3a 20 05 cd 0d 3a 2a 48  |:sy2=b2.: ...:*H|
0000abf0  e7 20 28 73 65 6c 65 63  74 3c 3e 2d 31 20 80 20  |. (select<>-1 . |
0000ac00  73 65 6c 65 63 74 3c 3e  6f 6c 64 73 65 6c 65 63  |select<>oldselec|
0000ac10  74 29 20 84 20 28 73 65  6c 64 65 73 3c 3e 2d 31  |t) . (seldes<>-1|
0000ac20  20 80 20 73 65 6c 64 65  73 3c 3e 6f 6c 64 64 65  | . seldes<>oldde|
0000ac30  73 29 20 8c 0d 3a 34 54  62 6c 6f 63 6b 21 30 3d  |s) ..:4Tblock!0=|
0000ac40  73 65 6c 64 65 73 3a 62  6c 6f 63 6b 21 34 3d 73  |seldes:block!4=s|
0000ac50  78 31 3a 62 6c 6f 63 6b  21 38 3d 30 2d 73 79 31  |x1:block!8=0-sy1|
0000ac60  3a 62 6c 6f 63 6b 21 31  32 3d 73 78 31 2b 73 78  |:block!12=sx1+sx|
0000ac70  32 2b 34 3a 62 6c 6f 63  6b 21 31 36 3d 30 2d 73  |2+4:block!16=0-s|
0000ac80  79 31 2b 73 79 32 2b 34  0d 3a 3e 27 c8 99 22 57  |y1+sy2+4.:>'.."W|
0000ac90  69 6d 70 5f 55 70 64 61  74 65 57 69 6e 64 6f 77  |imp_UpdateWindow|
0000aca0  22 2c 2c 62 6c 6f 63 6b  20 b8 20 6d 6f 72 65 0d  |",,block . more.|
0000acb0  3a 48 0b c8 95 20 6d 6f  72 65 0d 3a 52 2f 20 c8  |:H... more.:R/ .|
0000acc0  99 22 43 6f 6c 6f 75 72  54 72 61 6e 73 5f 53 65  |."ColourTrans_Se|
0000acd0  74 47 43 4f 4c 22 2c 26  30 30 30 30 46 46 30 30  |tGCOL",&0000FF00|
0000ace0  2c 2c 2c 26 31 30 30 2c  30 0d 3a 5c 1c 20 ec 20  |,,,&100,0.:\. . |
0000acf0  77 6f 72 6b 78 25 2b 73  78 31 2c 77 6f 72 6b 79  |workx%+sx1,worky|
0000ad00  25 2d 73 79 31 0d 3a 66  10 20 ef 20 32 33 2c 36  |%-sy1.:f. . 23,6|
0000ad10  2c 26 43 43 7c 0d 3a 70  0f 20 f0 20 31 37 2c 73  |,&CC|.:p. . 17,s|
0000ad20  78 32 2c 30 0d 3a 7a 0f  20 f0 20 31 37 2c 30 2c  |x2,0.:z. . 17,0,|
0000ad30  73 79 32 0d 3a 84 11 20  f0 20 31 37 2c 30 2d 73  |sy2.:.. . 17,0-s|
0000ad40  78 32 2c 30 0d 3a 8e 11  20 f0 20 31 37 2c 30 2c  |x2,0.:.. . 17,0,|
0000ad50  30 2d 73 79 32 0d 3a 98  28 20 c8 99 22 57 69 6d  |0-sy2.:.( .."Wim|
0000ad60  70 5f 47 65 74 52 65 63  74 61 6e 67 6c 65 22 2c  |p_GetRectangle",|
0000ad70  2c 62 6c 6f 63 6b 20 b8  20 6d 6f 72 65 0d 3a a2  |,block . more.:.|
0000ad80  05 ce 0d 3a ac 05 cd 0d  3a b6 4b e7 20 28 6f 6c  |...:....:.K. (ol|
0000ad90  64 73 65 6c 65 63 74 3c  3e 2d 31 20 80 20 73 65  |dselect<>-1 . se|
0000ada0  6c 65 63 74 3c 3e 6f 6c  64 73 65 6c 65 63 74 29  |lect<>oldselect)|
0000adb0  20 84 20 28 6f 6c 64 64  65 73 3c 3e 2d 31 20 80  | . (olddes<>-1 .|
0000adc0  20 6f 6c 64 64 65 73 3c  3e 73 65 6c 64 65 73 29  | olddes<>seldes)|
0000add0  20 8c 0d 3a c0 5a 62 6c  6f 63 6b 21 30 3d 6f 6c  | ..:.Zblock!0=ol|
0000ade0  64 64 65 73 3a 62 6c 6f  63 6b 21 34 3d 6f 73 78  |ddes:block!4=osx|
0000adf0  31 3a 62 6c 6f 63 6b 21  38 3d 30 2d 6f 73 79 31  |1:block!8=0-osy1|
0000ae00  3a 62 6c 6f 63 6b 21 31  32 3d 6f 73 78 31 2b 6f  |:block!12=osx1+o|
0000ae10  73 78 32 2b 34 3a 62 6c  6f 63 6b 21 31 36 3d 30  |sx2+4:block!16=0|
0000ae20  2d 6f 73 79 31 2b 6f 73  79 32 2b 34 0d 3a ca 27  |-osy1+osy2+4.:.'|
0000ae30  c8 99 22 57 69 6d 70 5f  55 70 64 61 74 65 57 69  |.."Wimp_UpdateWi|
0000ae40  6e 64 6f 77 22 2c 2c 62  6c 6f 63 6b 20 b8 20 6d  |ndow",,block . m|
0000ae50  6f 72 65 0d 3a d4 0b c8  95 20 6d 6f 72 65 0d 3a  |ore.:.... more.:|
0000ae60  de 20 20 61 70 74 72 3d  64 65 74 70 74 72 2b 28  |.  aptr=detptr+(|
0000ae70  64 65 73 62 6c 6b 2a 64  65 73 69 67 6e 29 0d 3a  |desblk*design).:|
0000ae80  e8 46 20 43 6f 6c 52 3d  77 6f 72 6b 62 6c 6b 3f  |.F ColR=workblk?|
0000ae90  28 61 70 74 72 2b 31 29  3a 43 6f 6c 47 3d 77 6f  |(aptr+1):ColG=wo|
0000aea0  72 6b 62 6c 6b 3f 28 61  70 74 72 2b 32 29 3a 43  |rkblk?(aptr+2):C|
0000aeb0  6f 6c 42 3d 77 6f 72 6b  62 6c 6b 3f 28 61 70 74  |olB=workblk?(apt|
0000aec0  72 2b 33 29 0d 3a f2 2c  20 62 61 63 6b 63 6f 6c  |r+3).:., backcol|
0000aed0  3d 28 43 6f 6c 42 3c 3c  32 34 29 2b 28 43 6f 6c  |=(ColB<<24)+(Col|
0000aee0  47 3c 3c 31 36 29 2b 28  43 6f 6c 52 3c 3c 38 29  |G<<16)+(ColR<<8)|
0000aef0  0d 3a fc 2d 20 c8 99 22  43 6f 6c 6f 75 72 54 72  |.:.- .."ColourTr|
0000af00  61 6e 73 5f 53 65 74 47  43 4f 4c 22 2c 62 61 63  |ans_SetGCOL",bac|
0000af10  6b 63 6f 6c 2c 2c 2c 26  31 30 30 2c 30 0d 3b 06  |kcol,,,&100,0.;.|
0000af20  29 20 c8 93 20 77 6f 72  6b 78 25 2b 6f 73 78 31  |) .. workx%+osx1|
0000af30  2c 77 6f 72 6b 79 25 2d  6f 73 79 31 2c 6f 73 78  |,worky%-osy1,osx|
0000af40  32 2c 6f 73 79 32 0d 3b  10 28 20 c8 99 22 57 69  |2,osy2.;.( .."Wi|
0000af50  6d 70 5f 47 65 74 52 65  63 74 61 6e 67 6c 65 22  |mp_GetRectangle"|
0000af60  2c 2c 62 6c 6f 63 6b 20  b8 20 6d 6f 72 65 0d 3b  |,,block . more.;|
0000af70  1a 05 ce 0d 3b 24 14 20  e7 20 6f 6c 64 73 65 6c  |....;$. . oldsel|
0000af80  65 63 74 3d 36 20 8c 0d  3b 2e 41 20 c8 99 22 57  |ect=6 ..;.A .."W|
0000af90  69 6d 70 5f 46 6f 72 63  65 52 65 64 72 61 77 22  |imp_ForceRedraw"|
0000afa0  2c 6f 6c 64 64 65 73 2c  6f 73 78 31 2c 30 2d 6f  |,olddes,osx1,0-o|
0000afb0  73 79 31 2c 6f 73 78 31  2b 6f 73 78 32 2b 34 2c  |sy1,osx1+osx2+4,|
0000afc0  30 2d 6f 73 79 31 2b 34  0d 3b 38 41 20 c8 99 22  |0-osy1+4.;8A .."|
0000afd0  57 69 6d 70 5f 46 6f 72  63 65 52 65 64 72 61 77  |Wimp_ForceRedraw|
0000afe0  22 2c 6f 6c 64 64 65 73  2c 6f 73 78 31 2c 30 2d  |",olddes,osx1,0-|
0000aff0  6f 73 79 31 2c 6f 73 78  31 2b 34 2c 30 2d 6f 73  |osy1,osx1+4,0-os|
0000b000  79 31 2b 6f 73 79 32 2b  34 0d 3b 42 4b 20 c8 99  |y1+osy2+4.;BK ..|
0000b010  22 57 69 6d 70 5f 46 6f  72 63 65 52 65 64 72 61  |"Wimp_ForceRedra|
0000b020  77 22 2c 6f 6c 64 64 65  73 2c 6f 73 78 31 2c 30  |w",olddes,osx1,0|
0000b030  2d 6f 73 79 31 2b 6f 73  79 32 2c 6f 73 78 31 2b  |-osy1+osy2,osx1+|
0000b040  6f 73 78 32 2b 34 2c 30  2d 6f 73 79 31 2b 6f 73  |osx2+4,0-osy1+os|
0000b050  79 32 2b 34 0d 3b 4c 4b  20 c8 99 22 57 69 6d 70  |y2+4.;LK .."Wimp|
0000b060  5f 46 6f 72 63 65 52 65  64 72 61 77 22 2c 6f 6c  |_ForceRedraw",ol|
0000b070  64 64 65 73 2c 6f 73 78  31 2b 6f 73 78 32 2c 30  |ddes,osx1+osx2,0|
0000b080  2d 6f 73 79 31 2c 6f 73  78 31 2b 6f 73 78 32 2b  |-osy1,osx1+osx2+|
0000b090  34 2c 30 2d 6f 73 79 31  2b 6f 73 79 32 2b 34 0d  |4,0-osy1+osy2+4.|
0000b0a0  3b 56 06 20 cc 0d 3b 60  46 20 c8 99 22 57 69 6d  |;V. ..;`F .."Wim|
0000b0b0  70 5f 46 6f 72 63 65 52  65 64 72 61 77 22 2c 6f  |p_ForceRedraw",o|
0000b0c0  6c 64 64 65 73 2c 6f 73  78 31 2c 30 2d 6f 73 79  |lddes,osx1,0-osy|
0000b0d0  31 2c 6f 73 78 31 2b 6f  73 78 32 2b 34 2c 30 2d  |1,osx1+osx2+4,0-|
0000b0e0  6f 73 79 31 2b 6f 73 79  32 2b 34 0d 3b 6a 06 20  |osy1+osy2+4.;j. |
0000b0f0  cd 0d 3b 74 05 cd 0d 3b  7e 05 e1 0d 3b 88 04 0d  |..;t...;~...;...|
0000b100  3b 92 0e dd f2 64 72 61  67 69 74 65 6d 0d 3b 9c  |;....dragitem.;.|
0000b110  13 e7 20 73 65 6c 65 63  74 3d 2d 31 20 8c 20 e1  |.. select=-1 . .|
0000b120  0d 3b a6 19 6d 78 3d 62  6c 6f 63 6b 21 30 3a 6d  |.;..mx=block!0:m|
0000b130  79 3d 62 6c 6f 63 6b 21  34 0d 3b b0 11 21 62 6c  |y=block!4.;..!bl|
0000b140  6f 63 6b 3d 73 65 6c 64  65 73 0d 3b ba 0f c8 8e  |ock=seldes.;....|
0000b150  20 73 65 6c 64 65 73 20  ca 0d 3b c4 16 c9 20 63  | seldes ..;... c|
0000b160  61 72 64 25 20 3a 20 64  65 73 69 67 6e 3d 30 0d  |ard% : design=0.|
0000b170  3b ce 16 c9 20 63 6f 6d  70 25 20 3a 20 64 65 73  |;... comp% : des|
0000b180  69 67 6e 3d 31 0d 3b d8  18 c9 20 6c 65 74 74 65  |ign=1.;... lette|
0000b190  72 25 20 3a 20 64 65 73  69 67 6e 3d 32 0d 3b e2  |r% : design=2.;.|
0000b1a0  05 cb 0d 3b ec 21 c8 99  22 57 69 6d 70 5f 47 65  |...;.!.."Wimp_Ge|
0000b1b0  74 57 69 6e 64 6f 77 49  6e 66 6f 22 2c 2c 62 6c  |tWindowInfo",,bl|
0000b1c0  6f 63 6b 0d 3b f6 2d 61  3d 62 6c 6f 63 6b 21 34  |ock.;.-a=block!4|
0000b1d0  3a 62 3d 62 6c 6f 63 6b  21 38 3a 63 3d 62 6c 6f  |:b=block!8:c=blo|
0000b1e0  63 6b 21 31 32 3a 64 3d  62 6c 6f 63 6b 21 31 36  |ck!12:d=block!16|
0000b1f0  0d 3c 00 1b 77 6f 72 6b  78 25 3d 62 6c 6f 63 6b  |.<..workx%=block|
0000b200  21 34 2d 62 6c 6f 63 6b  21 32 30 0d 3c 0a 1c 77  |!4-block!20.<..w|
0000b210  6f 72 6b 79 25 3d 62 6c  6f 63 6b 21 31 36 2d 62  |orky%=block!16-b|
0000b220  6c 6f 63 6b 21 32 34 0d  3c 14 14 78 63 6f 6f 72  |lock!24.<..xcoor|
0000b230  64 3d 6d 78 2d 77 6f 72  6b 78 25 0d 3c 1e 14 79  |d=mx-workx%.<..y|
0000b240  63 6f 6f 72 64 3d 6d 79  2d 77 6f 72 6b 79 25 0d  |coord=my-worky%.|
0000b250  3c 28 45 e7 20 78 63 6f  6f 72 64 3e 73 78 31 20  |<(E. xcoord>sx1 |
0000b260  80 20 79 63 6f 6f 72 64  3e 30 2d 73 79 31 20 80  |. ycoord>0-sy1 .|
0000b270  20 78 63 6f 6f 72 64 3c  73 78 31 2b 73 78 32 20  | xcoord<sx1+sx2 |
0000b280  80 20 79 63 6f 6f 72 64  3c 30 2d 73 79 31 2b 73  |. ycoord<0-sy1+s|
0000b290  79 32 20 8c 0d 3c 32 17  62 6c 6f 63 6b 21 30 3d  |y2 ..<2.block!0=|
0000b2a0  30 3a 62 6c 6f 63 6b 21  34 3d 35 0d 3c 3c 5e 62  |0:block!4=5.<<^b|
0000b2b0  6c 6f 63 6b 21 38 3d 77  6f 72 6b 78 25 2b 73 78  |lock!8=workx%+sx|
0000b2c0  31 3a 62 6c 6f 63 6b 21  31 32 3d 77 6f 72 6b 79  |1:block!12=worky|
0000b2d0  25 2d 73 79 31 3a 62 6c  6f 63 6b 21 31 36 3d 77  |%-sy1:block!16=w|
0000b2e0  6f 72 6b 78 25 2b 73 78  31 2b 73 78 32 2b 32 3a  |orkx%+sx1+sx2+2:|
0000b2f0  62 6c 6f 63 6b 21 32 30  3d 77 6f 72 6b 79 25 2d  |block!20=worky%-|
0000b300  73 79 31 2b 73 79 32 2b  32 0d 3c 46 4b 62 6c 6f  |sy1+sy2+2.<FKblo|
0000b310  63 6b 21 32 34 3d 61 2d  73 78 32 2b 31 30 3a 62  |ck!24=a-sx2+10:b|
0000b320  6c 6f 63 6b 21 32 38 3d  62 2d 73 79 32 2b 31 30  |lock!28=b-sy2+10|
0000b330  3a 62 6c 6f 63 6b 21 33  32 3d 63 2b 73 78 32 2d  |:block!32=c+sx2-|
0000b340  31 30 3a 62 6c 6f 63 6b  21 33 36 3d 64 2b 73 79  |10:block!36=d+sy|
0000b350  32 2d 31 30 0d 3c 50 0e  69 74 65 6d 64 72 61 67  |2-10.<P.itemdrag|
0000b360  3d b9 0d 3c 5a 1b c8 99  22 57 69 6d 70 5f 44 72  |=..<Z..."Wimp_Dr|
0000b370  61 67 42 6f 78 22 2c 2c  62 6c 6f 63 6b 0d 3c 64  |agBox",,block.<d|
0000b380  05 cd 0d 3c 6e 05 e1 0d  3c 78 04 0d 3c 82 0e dd  |...<n...<x..<...|
0000b390  f2 70 75 6c 6c 69 74 65  6d 0d 3c 8c 12 e7 20 73  |.pullitem.<... s|
0000b3a0  65 6c 65 63 74 3c 36 20  8c 20 e1 0d 3c 96 19 6d  |elect<6 . ..<..m|
0000b3b0  78 3d 62 6c 6f 63 6b 21  30 3a 6d 79 3d 62 6c 6f  |x=block!0:my=blo|
0000b3c0  63 6b 21 34 0d 3c a0 11  21 62 6c 6f 63 6b 3d 73  |ck!4.<..!block=s|
0000b3d0  65 6c 64 65 73 0d 3c aa  0f c8 8e 20 73 65 6c 64  |eldes.<.... seld|
0000b3e0  65 73 20 ca 0d 3c b4 16  c9 20 63 61 72 64 25 20  |es ..<... card% |
0000b3f0  3a 20 64 65 73 69 67 6e  3d 30 0d 3c be 16 c9 20  |: design=0.<... |
0000b400  63 6f 6d 70 25 20 3a 20  64 65 73 69 67 6e 3d 31  |comp% : design=1|
0000b410  0d 3c c8 18 c9 20 6c 65  74 74 65 72 25 20 3a 20  |.<... letter% : |
0000b420  64 65 73 69 67 6e 3d 32  0d 3c d2 05 cb 0d 3c dc  |design=2.<....<.|
0000b430  21 c8 99 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  |!.."Wimp_GetWind|
0000b440  6f 77 49 6e 66 6f 22 2c  2c 62 6c 6f 63 6b 0d 3c  |owInfo",,block.<|
0000b450  e6 2d 61 3d 62 6c 6f 63  6b 21 34 3a 62 3d 62 6c  |.-a=block!4:b=bl|
0000b460  6f 63 6b 21 38 3a 63 3d  62 6c 6f 63 6b 21 31 32  |ock!8:c=block!12|
0000b470  3a 64 3d 62 6c 6f 63 6b  21 31 36 0d 3c f0 1b 77  |:d=block!16.<..w|
0000b480  6f 72 6b 78 25 3d 62 6c  6f 63 6b 21 34 2d 62 6c  |orkx%=block!4-bl|
0000b490  6f 63 6b 21 32 30 0d 3c  fa 1c 77 6f 72 6b 79 25  |ock!20.<..worky%|
0000b4a0  3d 62 6c 6f 63 6b 21 31  36 2d 62 6c 6f 63 6b 21  |=block!16-block!|
0000b4b0  32 34 0d 3d 04 14 78 63  6f 6f 72 64 3d 6d 78 2d  |24.=..xcoord=mx-|
0000b4c0  77 6f 72 6b 78 25 0d 3d  0e 14 79 63 6f 6f 72 64  |workx%.=..ycoord|
0000b4d0  3d 6d 79 2d 77 6f 72 6b  79 25 0d 3d 18 45 e7 20  |=my-worky%.=.E. |
0000b4e0  78 63 6f 6f 72 64 3e 73  78 31 20 80 20 79 63 6f  |xcoord>sx1 . yco|
0000b4f0  6f 72 64 3e 30 2d 73 79  31 20 80 20 78 63 6f 6f  |ord>0-sy1 . xcoo|
0000b500  72 64 3c 73 78 31 2b 73  78 32 20 80 20 79 63 6f  |rd<sx1+sx2 . yco|
0000b510  6f 72 64 3c 30 2d 73 79  31 2b 73 79 32 20 8c 0d  |ord<0-sy1+sy2 ..|
0000b520  3d 22 17 62 6c 6f 63 6b  21 30 3d 30 3a 62 6c 6f  |=".block!0=0:blo|
0000b530  63 6b 21 34 3d 36 0d 3d  2c 5e 62 6c 6f 63 6b 21  |ck!4=6.=,^block!|
0000b540  38 3d 77 6f 72 6b 78 25  2b 73 78 31 3a 62 6c 6f  |8=workx%+sx1:blo|
0000b550  63 6b 21 31 32 3d 77 6f  72 6b 79 25 2d 73 79 31  |ck!12=worky%-sy1|
0000b560  3a 62 6c 6f 63 6b 21 31  36 3d 77 6f 72 6b 78 25  |:block!16=workx%|
0000b570  2b 73 78 31 2b 73 78 32  2b 32 3a 62 6c 6f 63 6b  |+sx1+sx2+2:block|
0000b580  21 32 30 3d 77 6f 72 6b  79 25 2d 73 79 31 2b 73  |!20=worky%-sy1+s|
0000b590  79 32 2b 32 0d 3d 36 37  62 6c 6f 63 6b 21 32 34  |y2+2.=67block!24|
0000b5a0  3d 61 2d 73 78 32 3a 62  6c 6f 63 6b 21 32 38 3d  |=a-sx2:block!28=|
0000b5b0  62 3a 62 6c 6f 63 6b 21  33 32 3d 63 3a 62 6c 6f  |b:block!32=c:blo|
0000b5c0  63 6b 21 33 36 3d 64 2b  73 79 32 0d 3d 40 0e 69  |ck!36=d+sy2.=@.i|
0000b5d0  74 65 6d 70 75 6c 6c 3d  b9 0d 3d 4a 1b c8 99 22  |tempull=..=J..."|
0000b5e0  57 69 6d 70 5f 44 72 61  67 42 6f 78 22 2c 2c 62  |Wimp_DragBox",,b|
0000b5f0  6c 6f 63 6b 0d 3d 54 05  cd 0d 3d 5e 05 e1 0d 3d  |lock.=T...=^...=|
0000b600  68 04 0d 3d 72 0e dd f2  64 72 6f 70 69 74 65 6d  |h..=r...dropitem|
0000b610  0d 3d 7c 19 6d 78 3d 62  6c 6f 63 6b 21 30 3a 6d  |.=|.mx=block!0:m|
0000b620  79 3d 62 6c 6f 63 6b 21  34 0d 3d 86 11 21 62 6c  |y=block!4.=..!bl|
0000b630  6f 63 6b 3d 73 65 6c 64  65 73 0d 3d 90 21 c8 99  |ock=seldes.=.!..|
0000b640  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 49  |"Wimp_GetWindowI|
0000b650  6e 66 6f 22 2c 2c 62 6c  6f 63 6b 0d 3d 9a 1b 77  |nfo",,block.=..w|
0000b660  6f 72 6b 78 25 3d 62 6c  6f 63 6b 21 34 2d 62 6c  |orkx%=block!4-bl|
0000b670  6f 63 6b 21 32 30 0d 3d  a4 1c 77 6f 72 6b 79 25  |ock!20.=..worky%|
0000b680  3d 62 6c 6f 63 6b 21 31  36 2d 62 6c 6f 63 6b 21  |=block!16-block!|
0000b690  32 34 0d 3d ae 14 78 63  6f 6f 72 64 3d 6d 78 2d  |24.=..xcoord=mx-|
0000b6a0  77 6f 72 6b 78 25 0d 3d  b8 18 79 63 6f 6f 72 64  |workx%.=..ycoord|
0000b6b0  3d 30 2d 28 6d 79 2d 77  6f 72 6b 79 25 29 0d 3d  |=0-(my-worky%).=|
0000b6c0  c2 1d e7 20 73 65 6c 65  63 74 3e 3d 30 20 80 20  |... select>=0 . |
0000b6d0  73 65 6c 65 63 74 3c 3d  34 20 8c 0d 3d cc 34 70  |select<=4 ..=.4p|
0000b6e0  74 72 3d 64 65 74 70 74  72 2b 28 64 65 73 62 6c  |tr=detptr+(desbl|
0000b6f0  6b 2a 64 65 73 69 67 6e  29 2b 64 65 73 6c 65 6e  |k*design)+deslen|
0000b700  2b 28 73 74 79 6c 65 2a  73 65 6c 65 63 74 29 0d  |+(style*select).|
0000b710  3d d6 42 77 6f 72 6b 62  6c 6b 21 28 70 74 72 2b  |=.Bworkblk!(ptr+|
0000b720  32 37 30 29 3d 78 63 6f  6f 72 64 2d 28 77 6f 72  |270)=xcoord-(wor|
0000b730  6b 62 6c 6b 21 28 70 74  72 2b 32 37 38 29 2d 77  |kblk!(ptr+278)-w|
0000b740  6f 72 6b 62 6c 6b 21 28  70 74 72 2b 32 37 30 29  |orkblk!(ptr+270)|
0000b750  29 0d 3d e0 42 77 6f 72  6b 62 6c 6b 21 28 70 74  |).=.Bworkblk!(pt|
0000b760  72 2b 32 37 34 29 3d 79  63 6f 6f 72 64 2d 28 77  |r+274)=ycoord-(w|
0000b770  6f 72 6b 62 6c 6b 21 28  70 74 72 2b 32 38 32 29  |orkblk!(ptr+282)|
0000b780  2d 77 6f 72 6b 62 6c 6b  21 28 70 74 72 2b 32 37  |-workblk!(ptr+27|
0000b790  34 29 29 0d 3d ea 1c 77  6f 72 6b 62 6c 6b 21 28  |4)).=..workblk!(|
0000b7a0  70 74 72 2b 32 37 38 29  3d 78 63 6f 6f 72 64 0d  |ptr+278)=xcoord.|
0000b7b0  3d f4 1c 77 6f 72 6b 62  6c 6b 21 28 70 74 72 2b  |=..workblk!(ptr+|
0000b7c0  32 38 32 29 3d 79 63 6f  6f 72 64 0d 3d fe 35 78  |282)=ycoord.=.5x|
0000b7d0  63 6f 6f 72 64 3d 77 6f  72 6b 62 6c 6b 21 28 70  |coord=workblk!(p|
0000b7e0  74 72 2b 32 37 38 29 3a  79 63 6f 6f 72 64 3d 77  |tr+278):ycoord=w|
0000b7f0  6f 72 6b 62 6c 6b 21 28  70 74 72 2b 32 38 32 29  |orkblk!(ptr+282)|
0000b800  0d 3e 08 05 cd 0d 3e 12  10 e7 20 73 65 6c 65 63  |.>....>... selec|
0000b810  74 3d 35 20 8c 0d 3e 1c  34 70 74 72 3d 64 65 74  |t=5 ..>.4ptr=det|
0000b820  70 74 72 2b 28 64 65 73  62 6c 6b 2a 64 65 73 69  |ptr+(desblk*desi|
0000b830  67 6e 29 2b 64 65 73 6c  65 6e 2b 28 73 74 79 6c  |gn)+deslen+(styl|
0000b840  65 2a 73 65 6c 65 63 74  29 0d 3e 26 42 77 6f 72  |e*select).>&Bwor|
0000b850  6b 62 6c 6b 21 28 70 74  72 2b 32 37 30 29 3d 78  |kblk!(ptr+270)=x|
0000b860  63 6f 6f 72 64 2b 28 77  6f 72 6b 62 6c 6b 21 28  |coord+(workblk!(|
0000b870  70 74 72 2b 32 37 38 29  2d 77 6f 72 6b 62 6c 6b  |ptr+278)-workblk|
0000b880  21 28 70 74 72 2b 32 37  30 29 29 0d 3e 30 42 77  |!(ptr+270)).>0Bw|
0000b890  6f 72 6b 62 6c 6b 21 28  70 74 72 2b 32 37 34 29  |orkblk!(ptr+274)|
0000b8a0  3d 79 63 6f 6f 72 64 2d  28 77 6f 72 6b 62 6c 6b  |=ycoord-(workblk|
0000b8b0  21 28 70 74 72 2b 32 38  32 29 2d 77 6f 72 6b 62  |!(ptr+282)-workb|
0000b8c0  6c 6b 21 28 70 74 72 2b  32 37 34 29 29 0d 3e 3a  |lk!(ptr+274)).>:|
0000b8d0  1c 77 6f 72 6b 62 6c 6b  21 28 70 74 72 2b 32 37  |.workblk!(ptr+27|
0000b8e0  38 29 3d 78 63 6f 6f 72  64 0d 3e 44 1c 77 6f 72  |8)=xcoord.>D.wor|
0000b8f0  6b 62 6c 6b 21 28 70 74  72 2b 32 38 32 29 3d 79  |kblk!(ptr+282)=y|
0000b900  63 6f 6f 72 64 0d 3e 4e  29 f4 20 78 63 6f 6f 72  |coord.>N). xcoor|
0000b910  64 3d 21 28 70 74 72 2b  32 37 30 29 3a 79 63 6f  |d=!(ptr+270):yco|
0000b920  6f 72 64 3d 21 28 70 74  72 2b 32 37 34 29 0d 3e  |ord=!(ptr+274).>|
0000b930  58 05 cd 0d 3e 62 10 e7  20 73 65 6c 65 63 74 3d  |X...>b.. select=|
0000b940  36 20 8c 0d 3e 6c 1e 70  74 72 3d 64 65 74 70 74  |6 ..>l.ptr=detpt|
0000b950  72 2b 28 64 65 73 62 6c  6b 2a 64 65 73 69 67 6e  |r+(desblk*design|
0000b960  29 0d 3e 76 1b 77 6f 72  6b 62 6c 6b 21 28 70 74  |).>v.workblk!(pt|
0000b970  72 2b 34 34 29 3d 78 63  6f 6f 72 64 0d 3e 80 1b  |r+44)=xcoord.>..|
0000b980  77 6f 72 6b 62 6c 6b 21  28 70 74 72 2b 34 38 29  |workblk!(ptr+48)|
0000b990  3d 79 63 6f 6f 72 64 0d  3e 8a 05 cd 0d 3e 94 45  |=ycoord.>....>.E|
0000b9a0  c8 99 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |.."Wimp_ForceRed|
0000b9b0  72 61 77 22 2c 63 75 72  64 65 73 2c 73 78 31 2d  |raw",curdes,sx1-|
0000b9c0  32 2c 30 2d 73 79 31 2d  38 2d 32 2c 73 78 31 2b  |2,0-sy1-8-2,sx1+|
0000b9d0  73 78 32 2b 34 2c 30 2d  73 79 31 2b 73 79 32 2b  |sx2+4,0-sy1+sy2+|
0000b9e0  34 0d 3e 9e 4d c8 99 22  57 69 6d 70 5f 46 6f 72  |4.>.M.."Wimp_For|
0000b9f0  63 65 52 65 64 72 61 77  22 2c 63 75 72 64 65 73  |ceRedraw",curdes|
0000ba00  2c 78 63 6f 6f 72 64 2c  30 2d 79 63 6f 6f 72 64  |,xcoord,0-ycoord|
0000ba10  2d 38 2c 78 63 6f 6f 72  64 2b 73 78 32 2b 32 2c  |-8,xcoord+sx2+2,|
0000ba20  30 2d 79 63 6f 6f 72 64  2b 73 79 32 2b 32 0d 3e  |0-ycoord+sy2+2.>|
0000ba30  a8 19 73 78 31 3d 78 63  6f 6f 72 64 3a 73 79 31  |..sx1=xcoord:sy1|
0000ba40  3d 79 63 6f 6f 72 64 0d  3e b2 0e 69 74 65 6d 64  |=ycoord.>..itemd|
0000ba50  72 61 67 3d a3 0d 3e bc  05 e1 0d 3e c6 04 0d 3e  |rag=..>....>...>|
0000ba60  d0 10 dd f2 72 65 73 69  7a 65 69 74 65 6d 0d 3e  |....resizeitem.>|
0000ba70  da 34 6d 78 31 3d 62 6c  6f 63 6b 21 30 3a 6d 79  |.4mx1=block!0:my|
0000ba80  31 3d 62 6c 6f 63 6b 21  34 3a 6d 78 32 3d 62 6c  |1=block!4:mx2=bl|
0000ba90  6f 63 6b 21 38 3a 6d 79  32 3d 62 6c 6f 63 6b 21  |ock!8:my2=block!|
0000baa0  31 32 0d 3e e4 11 21 62  6c 6f 63 6b 3d 63 75 72  |12.>..!block=cur|
0000bab0  64 65 73 0d 3e ee 21 c8  99 22 57 69 6d 70 5f 47  |des.>.!.."Wimp_G|
0000bac0  65 74 57 69 6e 64 6f 77  49 6e 66 6f 22 2c 2c 62  |etWindowInfo",,b|
0000bad0  6c 6f 63 6b 0d 3e f8 1b  77 6f 72 6b 78 25 3d 62  |lock.>..workx%=b|
0000bae0  6c 6f 63 6b 21 34 2d 62  6c 6f 63 6b 21 32 30 0d  |lock!4-block!20.|
0000baf0  3f 02 1c 77 6f 72 6b 79  25 3d 62 6c 6f 63 6b 21  |?..worky%=block!|
0000bb00  31 36 2d 62 6c 6f 63 6b  21 32 34 0d 3f 0c 16 78  |16-block!24.?..x|
0000bb10  63 6f 6f 72 64 31 3d 6d  78 31 2d 77 6f 72 6b 78  |coord1=mx1-workx|
0000bb20  25 0d 3f 16 1a 79 63 6f  6f 72 64 31 3d 30 2d 28  |%.?..ycoord1=0-(|
0000bb30  6d 79 31 2d 77 6f 72 6b  79 25 29 0d 3f 20 16 78  |my1-worky%).? .x|
0000bb40  63 6f 6f 72 64 32 3d 6d  78 32 2d 77 6f 72 6b 78  |coord2=mx2-workx|
0000bb50  25 0d 3f 2a 1a 79 63 6f  6f 72 64 32 3d 30 2d 28  |%.?*.ycoord2=0-(|
0000bb60  6d 79 32 2d 77 6f 72 6b  79 25 29 0d 3f 34 19 77  |my2-worky%).?4.w|
0000bb70  69 64 74 68 3d 78 63 6f  6f 72 64 32 2d 78 63 6f  |idth=xcoord2-xco|
0000bb80  6f 72 64 31 0d 3f 3e 1a  68 65 69 67 68 74 3d 79  |ord1.?>.height=y|
0000bb90  63 6f 6f 72 64 32 2d 79  63 6f 6f 72 64 31 0d 3f  |coord2-ycoord1.?|
0000bba0  48 3c e7 20 78 63 6f 6f  72 64 32 3e 78 63 6f 6f  |H<. xcoord2>xcoo|
0000bbb0  72 64 31 20 8c 20 78 63  6f 6f 72 64 3d 78 63 6f  |rd1 . xcoord=xco|
0000bbc0  6f 72 64 31 3a 77 69 64  74 68 3d 78 63 6f 6f 72  |ord1:width=xcoor|
0000bbd0  64 32 2d 78 63 6f 6f 72  64 31 0d 3f 52 3d e7 20  |d2-xcoord1.?R=. |
0000bbe0  79 63 6f 6f 72 64 32 3c  79 63 6f 6f 72 64 31 20  |ycoord2<ycoord1 |
0000bbf0  8c 20 79 63 6f 6f 72 64  3d 79 63 6f 6f 72 64 31  |. ycoord=ycoord1|
0000bc00  3a 68 65 69 67 68 74 3d  79 63 6f 6f 72 64 32 2d  |:height=ycoord2-|
0000bc10  79 63 6f 6f 72 64 31 0d  3f 5c 3c e7 20 78 63 6f  |ycoord1.?\<. xco|
0000bc20  6f 72 64 32 3c 78 63 6f  6f 72 64 31 20 8c 20 78  |ord2<xcoord1 . x|
0000bc30  63 6f 6f 72 64 3d 78 63  6f 6f 72 64 32 3a 77 69  |coord=xcoord2:wi|
0000bc40  64 74 68 3d 78 63 6f 6f  72 64 31 2d 78 63 6f 6f  |dth=xcoord1-xcoo|
0000bc50  72 64 32 0d 3f 66 3d e7  20 79 63 6f 6f 72 64 32  |rd2.?f=. ycoord2|
0000bc60  3e 79 63 6f 6f 72 64 31  20 8c 20 79 63 6f 6f 72  |>ycoord1 . ycoor|
0000bc70  64 3d 79 63 6f 6f 72 64  32 3a 68 65 69 67 68 74  |d=ycoord2:height|
0000bc80  3d 79 63 6f 6f 72 64 31  2d 79 63 6f 6f 72 64 32  |=ycoord1-ycoord2|
0000bc90  0d 3f 70 1e 70 74 72 3d  64 65 74 70 74 72 2b 28  |.?p.ptr=detptr+(|
0000bca0  64 65 73 62 6c 6b 2a 64  65 73 69 67 6e 29 0d 3f  |desblk*design).?|
0000bcb0  7a 1b 77 6f 72 6b 62 6c  6b 21 28 70 74 72 2b 34  |z.workblk!(ptr+4|
0000bcc0  34 29 3d 78 63 6f 6f 72  64 0d 3f 84 1b 77 6f 72  |4)=xcoord.?..wor|
0000bcd0  6b 62 6c 6b 21 28 70 74  72 2b 34 38 29 3d 79 63  |kblk!(ptr+48)=yc|
0000bce0  6f 6f 72 64 0d 3f 8e 1a  77 6f 72 6b 62 6c 6b 21  |oord.?..workblk!|
0000bcf0  28 70 74 72 2b 35 32 29  3d 77 69 64 74 68 0d 3f  |(ptr+52)=width.?|
0000bd00  98 1d 77 6f 72 6b 62 6c  6b 21 28 70 74 72 2b 35  |..workblk!(ptr+5|
0000bd10  36 29 3d 30 2d 68 65 69  67 68 74 0d 3f a2 3f c8  |6)=0-height.?.?.|
0000bd20  99 22 57 69 6d 70 5f 46  6f 72 63 65 52 65 64 72  |."Wimp_ForceRedr|
0000bd30  61 77 22 2c 63 75 72 64  65 73 2c 73 78 31 2c 30  |aw",curdes,sx1,0|
0000bd40  2d 73 79 31 2c 73 78 31  2b 73 78 32 2b 32 2c 30  |-sy1,sx1+sx2+2,0|
0000bd50  2d 73 79 31 2b 73 79 32  2b 32 0d 3f ac 30 73 78  |-sy1+sy2+2.?.0sx|
0000bd60  31 3d 78 63 6f 6f 72 64  3a 73 79 31 3d 79 63 6f  |1=xcoord:sy1=yco|
0000bd70  6f 72 64 3a 73 78 32 3d  77 69 64 74 68 3a 73 79  |ord:sx2=width:sy|
0000bd80  32 3d 30 2d 68 65 69 67  68 74 0d 3f b6 3f c8 99  |2=0-height.?.?..|
0000bd90  22 57 69 6d 70 5f 46 6f  72 63 65 52 65 64 72 61  |"Wimp_ForceRedra|
0000bda0  77 22 2c 63 75 72 64 65  73 2c 73 78 31 2c 30 2d  |w",curdes,sx1,0-|
0000bdb0  73 79 31 2c 73 78 31 2b  73 78 32 2b 32 2c 30 2d  |sy1,sx1+sx2+2,0-|
0000bdc0  73 79 31 2b 73 79 32 2b  32 0d 3f c0 0e 69 74 65  |sy1+sy2+2.?..ite|
0000bdd0  6d 70 75 6c 6c 3d a3 0d  3f ca 05 e1 0d 3f d4 04  |mpull=..?....?..|
0000bde0  0d 3f de 16 dd f2 73 65  6c 65 63 74 63 6f 6c 28  |.?....selectcol(|
0000bdf0  63 6f 6c 6e 6f 29 0d 3f  e8 18 68 65 78 3d 77 69  |colno).?..hex=wi|
0000be00  6e 70 61 6c 28 63 6f 6c  6e 6f 2d 31 34 29 0d 3f  |npal(colno-14).?|
0000be10  f2 14 52 45 44 3d 28 68  65 78 3e 3e 38 29 80 26  |..RED=(hex>>8).&|
0000be20  46 46 0d 3f fc 17 47 52  45 45 4e 3d 28 68 65 78  |FF.?..GREEN=(hex|
0000be30  3e 3e 31 36 29 80 26 46  46 0d 40 06 16 42 4c 55  |>>16).&FF.@..BLU|
0000be40  45 3d 28 68 65 78 3e 3e  32 34 29 80 26 46 46 0d  |E=(hex>>24).&FF.|
0000be50  40 10 12 21 62 6c 6f 63  6b 3d 63 6f 6c 6f 75 72  |@..!block=colour|
0000be60  25 0d 40 1a 21 c8 99 22  57 69 6d 70 5f 47 65 74  |%.@.!.."Wimp_Get|
0000be70  57 69 6e 64 6f 77 49 6e  66 6f 22 2c 2c 62 6c 6f  |WindowInfo",,blo|
0000be80  63 6b 0d 40 24 1b 77 6f  72 6b 78 25 3d 62 6c 6f  |ck.@$.workx%=blo|
0000be90  63 6b 21 34 2d 62 6c 6f  63 6b 21 32 30 0d 40 2e  |ck!4-block!20.@.|
0000bea0  1c 77 6f 72 6b 79 25 3d  62 6c 6f 63 6b 21 31 36  |.worky%=block!16|
0000beb0  2d 62 6c 6f 63 6b 21 32  34 0d 40 38 29 c8 99 20  |-block!24.@8).. |
0000bec0  22 43 6f 6c 6f 75 72 54  72 61 6e 73 5f 53 65 74  |"ColourTrans_Set|
0000bed0  47 43 4f 4c 22 2c 68 65  78 2c 2c 2c 26 31 30 30  |GCOL",hex,,,&100|
0000bee0  2c 30 0d 40 42 26 c8 93  20 c8 90 20 77 6f 72 6b  |,0.@B&.. .. work|
0000bef0  78 25 2b 32 33 34 2c 77  6f 72 6b 79 25 2d 32 34  |x%+234,worky%-24|
0000bf00  37 2c 31 37 35 2c 34 38  0d 40 4c 1c 20 c8 99 20  |7,175,48.@L. .. |
0000bf10  22 57 69 6d 70 5f 53 65  74 43 6f 6c 6f 75 72 22  |"Wimp_SetColour"|
0000bf20  2c 31 2c 31 0d 40 56 28  20 c8 93 20 c8 90 20 77  |,1,1.@V( .. .. w|
0000bf30  6f 72 6b 78 25 2b 32 37  30 2c 77 6f 72 6b 79 25  |orkx%+270,worky%|
0000bf40  2d 31 37 30 2c 33 34 34  2c 31 34 37 0d 40 60 30  |-170,344,147.@`0|
0000bf50  20 c8 99 20 22 43 6f 6c  6f 75 72 54 72 61 6e 73  | .. "ColourTrans|
0000bf60  5f 53 65 74 47 43 4f 4c  22 2c 26 30 30 30 30 46  |_SetGCOL",&0000F|
0000bf70  46 30 30 2c 2c 2c 26 31  30 30 2c 30 0d 40 6a 30  |F00,,,&100,0.@j0|
0000bf80  20 c8 93 20 c8 90 20 77  6f 72 6b 78 25 2b 32 37  | .. .. workx%+27|
0000bf90  31 2c 77 6f 72 6b 79 25  2d 35 35 2c 28 52 45 44  |1,worky%-55,(RED|
0000bfa0  2f 32 35 35 29 2a 33 34  34 2c 33 32 0d 40 74 30  |/255)*344,32.@t0|
0000bfb0  20 c8 99 20 22 43 6f 6c  6f 75 72 54 72 61 6e 73  | .. "ColourTrans|
0000bfc0  5f 53 65 74 47 43 4f 4c  22 2c 26 30 30 46 46 30  |_SetGCOL",&00FF0|
0000bfd0  30 30 30 2c 2c 2c 26 31  30 30 2c 30 0d 40 7e 33  |000,,,&100,0.@~3|
0000bfe0  20 c8 93 20 c8 90 20 77  6f 72 6b 78 25 2b 32 37  | .. .. workx%+27|
0000bff0  31 2c 77 6f 72 6b 79 25  2d 31 31 31 2c 28 47 52  |1,worky%-111,(GR|
0000c000  45 45 4e 2f 32 35 35 29  2a 33 34 34 2c 33 32 0d  |EEN/255)*344,32.|
0000c010  40 88 30 20 c8 99 20 22  43 6f 6c 6f 75 72 54 72  |@.0 .. "ColourTr|
0000c020  61 6e 73 5f 53 65 74 47  43 4f 4c 22 2c 26 46 46  |ans_SetGCOL",&FF|
0000c030  30 30 30 30 30 30 2c 2c  2c 26 31 30 30 2c 30 0d  |000000,,,&100,0.|
0000c040  40 92 32 20 c8 93 20 c8  90 20 77 6f 72 6b 78 25  |@.2 .. .. workx%|
0000c050  2b 32 37 31 2c 77 6f 72  6b 79 25 2d 31 36 37 2c  |+271,worky%-167,|
0000c060  28 42 4c 55 45 2f 32 35  35 29 2a 33 34 34 2c 33  |(BLUE/255)*344,3|
0000c070  32 0d 40 9c 48 20 c8 99  20 22 43 6f 6c 6f 75 72  |2.@.H .. "Colour|
0000c080  54 72 61 6e 73 5f 53 65  74 47 43 4f 4c 22 2c 30  |Trans_SetGCOL",0|
0000c090  2c 2c 2c 26 31 30 30 2c  30 3a c8 93 20 77 6f 72  |,,,&100,0:.. wor|
0000c0a0  6b 78 25 2b 32 33 33 2c  77 6f 72 6b 79 25 2d 32  |kx%+233,worky%-2|
0000c0b0  34 38 2c 31 37 36 2c 34  39 0d 40 a6 23 20 c8 93  |48,176,49.@.# ..|
0000c0c0  20 77 6f 72 6b 78 25 2b  32 37 30 2c 77 6f 72 6b  | workx%+270,work|
0000c0d0  79 25 2d 35 38 2c 33 34  34 2c 33 34 0d 40 b0 24  |y%-58,344,34.@.$|
0000c0e0  20 c8 93 20 77 6f 72 6b  78 25 2b 32 37 30 2c 77  | .. workx%+270,w|
0000c0f0  6f 72 6b 79 25 2d 31 31  34 2c 33 34 34 2c 33 34  |orky%-114,344,34|
0000c100  0d 40 ba 24 20 c8 93 20  77 6f 72 6b 78 25 2b 32  |.@.$ .. workx%+2|
0000c110  37 30 2c 77 6f 72 6b 79  25 2d 31 37 30 2c 33 34  |70,worky%-170,34|
0000c120  34 2c 33 34 0d 40 c4 1a  20 f2 69 6e 66 6f 28 63  |4,34.@.. .info(c|
0000c130  6f 6c 6f 75 72 25 2c 33  2c c3 52 45 44 29 0d 40  |olour%,3,.RED).@|
0000c140  ce 1c 20 f2 69 6e 66 6f  28 63 6f 6c 6f 75 72 25  |.. .info(colour%|
0000c150  2c 37 2c c3 47 52 45 45  4e 29 0d 40 d8 1c 20 f2  |,7,.GREEN).@.. .|
0000c160  69 6e 66 6f 28 63 6f 6c  6f 75 72 25 2c 31 31 2c  |info(colour%,11,|
0000c170  c3 42 4c 55 45 29 0d 40  e2 05 e1 0d 40 ec 04 0d  |.BLUE).@....@...|
0000c180  40 f6 0d dd f2 64 72 61  67 63 6f 6c 0d 41 00 12  |@....dragcol.A..|
0000c190  21 62 6c 6f 63 6b 3d 63  6f 6c 6f 75 72 25 0d 41  |!block=colour%.A|
0000c1a0  0a 21 c8 99 22 57 69 6d  70 5f 47 65 74 57 69 6e  |.!.."Wimp_GetWin|
0000c1b0  64 6f 77 49 6e 66 6f 22  2c 2c 62 6c 6f 63 6b 0d  |dowInfo",,block.|
0000c1c0  41 14 1b 77 6f 72 6b 78  25 3d 62 6c 6f 63 6b 21  |A..workx%=block!|
0000c1d0  34 2d 62 6c 6f 63 6b 21  32 30 0d 41 1e 1c 77 6f  |4-block!20.A..wo|
0000c1e0  72 6b 79 25 3d 62 6c 6f  63 6b 21 31 36 2d 62 6c  |rky%=block!16-bl|
0000c1f0  6f 63 6b 21 32 34 0d 41  28 0e 73 74 6f 70 64 72  |ock!24.A(.stopdr|
0000c200  61 67 3d a3 0d 41 32 05  f5 0d 41 3c 0c c8 97 20  |ag=..A2...A<... |
0000c210  72 2c 73 2c 74 0d 41 46  1c e7 20 74 3c 3e 31 20  |r,s,t.AF.. t<>1 |
0000c220  80 20 74 3c 3e 34 20 73  74 6f 70 64 72 61 67 3d  |. t<>4 stopdrag=|
0000c230  b9 0d 41 50 48 e7 20 72  3e 77 6f 72 6b 78 25 2b  |..APH. r>workx%+|
0000c240  32 36 38 20 80 20 72 3c  77 6f 72 6b 78 25 2b 32  |268 . r<workx%+2|
0000c250  36 38 2b 33 34 38 20 80  20 73 3e 77 6f 72 6b 79  |68+348 . s>worky|
0000c260  25 2d 35 38 20 80 20 73  3c 77 6f 72 6b 79 25 2d  |%-58 . s<worky%-|
0000c270  28 35 38 2d 33 35 29 20  8c 0d 41 5a 26 20 c8 97  |(58-35) ..AZ& ..|
0000c280  20 c8 93 20 77 6f 72 6b  78 25 2b 32 37 30 2c 77  | .. workx%+270,w|
0000c290  6f 72 6b 79 25 2d 35 37  2c 33 34 34 2c 33 30 0d  |orky%-57,344,30.|
0000c2a0  41 64 27 20 6e 72 65 64  3d a8 28 28 28 72 2d 28  |Ad' nred=.(((r-(|
0000c2b0  77 6f 72 6b 78 25 2b 32  37 30 29 29 2f 33 34 34  |workx%+270))/344|
0000c2c0  29 2a 32 35 35 29 0d 41  6e 15 20 e7 20 6e 72 65  |)*255).An. . nre|
0000c2d0  64 3d 2d 31 20 6e 72 65  64 3d 30 0d 41 78 24 20  |d=-1 nred=0.Ax$ |
0000c2e0  f2 75 70 64 61 74 65 69  63 28 63 6f 6c 6f 75 72  |.updateic(colour|
0000c2f0  25 2c 33 2c c3 6e 72 65  64 2c 34 2c 33 32 29 0d  |%,3,.nred,4,32).|
0000c300  41 82 0d 20 52 45 44 3d  6e 72 65 64 0d 41 8c 33  |A.. RED=nred.A.3|
0000c310  20 f2 72 65 64 72 61 77  62 61 72 28 52 45 44 2c  | .redrawbar(RED,|
0000c320  26 30 30 30 30 46 46 30  30 2c 77 6f 72 6b 78 25  |&0000FF00,workx%|
0000c330  2c 77 6f 72 6b 79 25 2c  32 37 32 2c 35 35 29 0d  |,worky%,272,55).|
0000c340  41 96 05 cd 0d 41 a0 4a  e7 20 72 3e 77 6f 72 6b  |A....A.J. r>work|
0000c350  78 25 2b 32 36 38 20 80  20 72 3c 77 6f 72 6b 78  |x%+268 . r<workx|
0000c360  25 2b 32 36 38 2b 33 34  38 20 80 20 73 3e 77 6f  |%+268+348 . s>wo|
0000c370  72 6b 79 25 2d 31 31 34  20 80 20 73 3c 77 6f 72  |rky%-114 . s<wor|
0000c380  6b 79 25 2d 28 31 31 34  2d 33 35 29 20 8c 0d 41  |ky%-(114-35) ..A|
0000c390  aa 27 20 c8 97 20 c8 93  20 77 6f 72 6b 78 25 2b  |.' .. .. workx%+|
0000c3a0  32 37 30 2c 77 6f 72 6b  79 25 2d 31 31 32 2c 33  |270,worky%-112,3|
0000c3b0  34 34 2c 33 30 0d 41 b4  29 20 6e 67 72 65 65 6e  |44,30.A.) ngreen|
0000c3c0  3d a8 28 28 28 72 2d 28  77 6f 72 6b 78 25 2b 32  |=.(((r-(workx%+2|
0000c3d0  37 30 29 29 2f 33 34 34  29 2a 32 35 35 29 0d 41  |70))/344)*255).A|
0000c3e0  be 19 20 e7 20 6e 67 72  65 65 6e 3d 2d 31 20 6e  |.. . ngreen=-1 n|
0000c3f0  67 72 65 65 6e 3d 30 0d  41 c8 26 20 f2 75 70 64  |green=0.A.& .upd|
0000c400  61 74 65 69 63 28 63 6f  6c 6f 75 72 25 2c 37 2c  |ateic(colour%,7,|
0000c410  c3 6e 67 72 65 65 6e 2c  34 2c 33 32 29 0d 41 d2  |.ngreen,4,32).A.|
0000c420  11 20 47 52 45 45 4e 3d  6e 67 72 65 65 6e 0d 41  |. GREEN=ngreen.A|
0000c430  dc 36 20 f2 72 65 64 72  61 77 62 61 72 28 47 52  |.6 .redrawbar(GR|
0000c440  45 45 4e 2c 26 30 30 46  46 30 30 30 30 2c 77 6f  |EEN,&00FF0000,wo|
0000c450  72 6b 78 25 2c 77 6f 72  6b 79 25 2c 32 37 32 2c  |rkx%,worky%,272,|
0000c460  31 31 31 29 0d 41 e6 05  cd 0d 41 f0 4a e7 20 72  |111).A....A.J. r|
0000c470  3e 77 6f 72 6b 78 25 2b  32 36 38 20 80 20 72 3c  |>workx%+268 . r<|
0000c480  77 6f 72 6b 78 25 2b 32  36 38 2b 33 34 38 20 80  |workx%+268+348 .|
0000c490  20 73 3e 77 6f 72 6b 79  25 2d 31 37 30 20 80 20  | s>worky%-170 . |
0000c4a0  73 3c 77 6f 72 6b 79 25  2d 28 31 37 30 2d 33 35  |s<worky%-(170-35|
0000c4b0  29 20 8c 0d 41 fa 27 20  c8 97 20 c8 93 20 77 6f  |) ..A.' .. .. wo|
0000c4c0  72 6b 78 25 2b 32 37 30  2c 77 6f 72 6b 79 25 2d  |rkx%+270,worky%-|
0000c4d0  31 36 38 2c 33 34 34 2c  33 30 0d 42 04 28 20 6e  |168,344,30.B.( n|
0000c4e0  62 6c 75 65 3d a8 28 28  28 72 2d 28 77 6f 72 6b  |blue=.(((r-(work|
0000c4f0  78 25 2b 32 37 30 29 29  2f 33 34 34 29 2a 32 35  |x%+270))/344)*25|
0000c500  35 29 0d 42 0e 17 20 e7  20 6e 62 6c 75 65 3d 2d  |5).B.. . nblue=-|
0000c510  31 20 6e 62 6c 75 65 3d  30 0d 42 18 26 20 f2 75  |1 nblue=0.B.& .u|
0000c520  70 64 61 74 65 69 63 28  63 6f 6c 6f 75 72 25 2c  |pdateic(colour%,|
0000c530  31 31 2c c3 6e 62 6c 75  65 2c 33 2c 33 32 29 0d  |11,.nblue,3,32).|
0000c540  42 22 0f 20 42 4c 55 45  3d 6e 62 6c 75 65 0d 42  |B". BLUE=nblue.B|
0000c550  2c 35 20 f2 72 65 64 72  61 77 62 61 72 28 42 4c  |,5 .redrawbar(BL|
0000c560  55 45 2c 26 46 46 30 30  30 30 30 30 2c 77 6f 72  |UE,&FF000000,wor|
0000c570  6b 78 25 2c 77 6f 72 6b  79 25 2c 32 37 32 2c 31  |kx%,worky%,272,1|
0000c580  36 37 29 0d 42 36 05 cd  0d 42 40 0e fd 20 73 74  |67).B6...B@.. st|
0000c590  6f 70 64 72 61 67 0d 42  4a 09 f2 4d 6f 64 65 0d  |opdrag.BJ..Mode.|
0000c5a0  42 54 1c 20 c8 97 20 c8  93 20 30 2c 30 2c 78 6d  |BT. .. .. 0,0,xm|
0000c5b0  61 78 2d 31 2c 79 6d 61  78 2d 31 0d 42 5e 05 e1  |ax-1,ymax-1.B^..|
0000c5c0  0d 42 68 04 0d 42 72 2e  dd f2 72 65 64 72 61 77  |.Bh..Br...redraw|
0000c5d0  62 61 72 28 43 4f 4c 2c  52 47 42 2c 77 6f 72 6b  |bar(COL,RGB,work|
0000c5e0  78 25 2c 77 6f 72 6b 79  25 2c 78 63 6f 2c 79 63  |x%,worky%,xco,yc|
0000c5f0  6f 29 0d 42 7c 52 62 6c  6f 63 6b 21 30 3d 63 6f  |o).B|Rblock!0=co|
0000c600  6c 6f 75 72 25 3a 62 6c  6f 63 6b 21 34 3d 78 63  |lour%:block!4=xc|
0000c610  6f 3a 62 6c 6f 63 6b 21  38 3d 30 2d 79 63 6f 2d  |o:block!8=0-yco-|
0000c620  32 3a 62 6c 6f 63 6b 21  31 32 3d 78 63 6f 2b 33  |2:block!12=xco+3|
0000c630  34 34 3a 62 6c 6f 63 6b  21 31 36 3d 30 2d 79 63  |44:block!16=0-yc|
0000c640  6f 2b 33 34 0d 42 86 27  c8 99 22 57 69 6d 70 5f  |o+34.B.'.."Wimp_|
0000c650  55 70 64 61 74 65 57 69  6e 64 6f 77 22 2c 2c 62  |UpdateWindow",,b|
0000c660  6c 6f 63 6b 20 b8 20 6d  6f 72 65 0d 42 90 0b c8  |lock . more.B...|
0000c670  95 20 6d 6f 72 65 0d 42  9a 1b c8 99 20 22 57 69  |. more.B.... "Wi|
0000c680  6d 70 5f 53 65 74 43 6f  6c 6f 75 72 22 2c 31 2c  |mp_SetColour",1,|
0000c690  31 0d 42 a4 42 c8 93 20  c8 90 20 77 6f 72 6b 78  |1.B.B.. .. workx|
0000c6a0  25 2b 78 63 6f 2b 28 43  4f 4c 2f 32 35 35 29 2a  |%+xco+(COL/255)*|
0000c6b0  33 34 34 2c 77 6f 72 6b  79 25 2d 79 63 6f 2c 33  |344,worky%-yco,3|
0000c6c0  34 32 2d 28 43 4f 4c 2f  32 35 35 29 2a 33 34 34  |42-(COL/255)*344|
0000c6d0  2c 33 30 0d 42 ae 29 c8  99 20 22 43 6f 6c 6f 75  |,30.B.).. "Colou|
0000c6e0  72 54 72 61 6e 73 5f 53  65 74 47 43 4f 4c 22 2c  |rTrans_SetGCOL",|
0000c6f0  52 47 42 2c 2c 2c 26 31  30 30 2c 30 0d 42 b8 34  |RGB,,,&100,0.B.4|
0000c700  c8 93 20 c8 90 20 77 6f  72 6b 78 25 2b 28 78 63  |.. .. workx%+(xc|
0000c710  6f 2d 32 29 2c 77 6f 72  6b 79 25 2d 79 63 6f 2c  |o-2),worky%-yco,|
0000c720  28 43 4f 4c 2f 32 35 35  29 2a 33 34 34 2c 33 30  |(COL/255)*344,30|
0000c730  0d 42 c2 27 c8 99 20 22  43 6f 6c 6f 75 72 54 72  |.B.'.. "ColourTr|
0000c740  61 6e 73 5f 53 65 74 47  43 4f 4c 22 2c 30 2c 2c  |ans_SetGCOL",0,,|
0000c750  2c 26 31 30 30 2c 30 0d  42 cc 2b c8 93 20 77 6f  |,&100,0.B.+.. wo|
0000c760  72 6b 78 25 2b 28 78 63  6f 2d 32 29 2c 77 6f 72  |rkx%+(xco-2),wor|
0000c770  6b 79 25 2d 28 79 63 6f  2b 33 29 2c 33 34 34 2c  |ky%-(yco+3),344,|
0000c780  33 34 0d 42 d6 27 68 65  78 3d 28 42 4c 55 45 3c  |34.B.'hex=(BLUE<|
0000c790  3c 32 34 29 2b 28 47 52  45 45 4e 3c 3c 31 36 29  |<24)+(GREEN<<16)|
0000c7a0  2b 28 52 45 44 3c 3c 38  29 0d 42 e0 27 c8 99 22  |+(RED<<8).B.'.."|
0000c7b0  57 69 6d 70 5f 47 65 74  52 65 63 74 61 6e 67 6c  |Wimp_GetRectangl|
0000c7c0  65 22 2c 2c 62 6c 6f 63  6b 20 b8 20 6d 6f 72 65  |e",,block . more|
0000c7d0  0d 42 ea 05 ce 0d 42 f4  4e 62 6c 6f 63 6b 21 30  |.B....B.Nblock!0|
0000c7e0  3d 63 6f 6c 6f 75 72 25  3a 62 6c 6f 63 6b 21 34  |=colour%:block!4|
0000c7f0  3d 32 33 32 3a 62 6c 6f  63 6b 21 38 3d 2d 32 34  |=232:block!8=-24|
0000c800  37 3a 62 6c 6f 63 6b 21  31 32 3d 32 33 32 2b 31  |7:block!12=232+1|
0000c810  37 36 3a 62 6c 6f 63 6b  21 31 36 3d 2d 32 34 37  |76:block!16=-247|
0000c820  2b 35 30 0d 42 fe 27 c8  99 22 57 69 6d 70 5f 55  |+50.B.'.."Wimp_U|
0000c830  70 64 61 74 65 57 69 6e  64 6f 77 22 2c 2c 62 6c  |pdateWindow",,bl|
0000c840  6f 63 6b 20 b8 20 6d 6f  72 65 0d 43 08 0b c8 95  |ock . more.C....|
0000c850  20 6d 6f 72 65 0d 43 12  29 c8 99 20 22 43 6f 6c  | more.C.).. "Col|
0000c860  6f 75 72 54 72 61 6e 73  5f 53 65 74 47 43 4f 4c  |ourTrans_SetGCOL|
0000c870  22 2c 68 65 78 2c 2c 2c  26 31 30 30 2c 30 0d 43  |",hex,,,&100,0.C|
0000c880  1c 26 c8 93 20 c8 90 20  77 6f 72 6b 78 25 2b 32  |.&.. .. workx%+2|
0000c890  33 34 2c 77 6f 72 6b 79  25 2d 32 34 37 2c 31 37  |34,worky%-247,17|
0000c8a0  35 2c 34 38 0d 43 26 47  c8 99 20 22 43 6f 6c 6f  |5,48.C&G.. "Colo|
0000c8b0  75 72 54 72 61 6e 73 5f  53 65 74 47 43 4f 4c 22  |urTrans_SetGCOL"|
0000c8c0  2c 30 2c 2c 2c 26 31 30  30 2c 30 3a c8 93 20 77  |,0,,,&100,0:.. w|
0000c8d0  6f 72 6b 78 25 2b 32 33  33 2c 77 6f 72 6b 79 25  |orkx%+233,worky%|
0000c8e0  2d 32 34 38 2c 31 37 36  2c 34 39 0d 43 30 27 c8  |-248,176,49.C0'.|
0000c8f0  99 22 57 69 6d 70 5f 47  65 74 52 65 63 74 61 6e  |."Wimp_GetRectan|
0000c900  67 6c 65 22 2c 2c 62 6c  6f 63 6b 20 b8 20 6d 6f  |gle",,block . mo|
0000c910  72 65 0d 43 3a 05 ce 0d  43 44 05 e1 0d 43 4e 04  |re.C:...CD...CN.|
0000c920  0d 43 58 0c dd f2 61 64  64 63 6f 6c 0d 43 62 12  |.CX...addcol.Cb.|
0000c930  e7 20 62 61 63 6b 67 72  6e 64 3d 30 20 8c 0d 43  |. backgrnd=0 ..C|
0000c940  6c 10 49 6e 74 65 72 48  65 78 3d 68 65 78 0d 43  |l.InterHex=hex.C|
0000c950  76 13 f2 63 6c 6f 73 65  28 63 6f 6c 6f 75 72 25  |v..close(colour%|
0000c960  29 0d 43 80 2f c8 99 22  57 69 6d 70 5f 46 6f 72  |).C./.."Wimp_For|
0000c970  63 65 52 65 64 72 61 77  22 2c 62 61 63 6b 25 2c  |ceRedraw",back%,|
0000c980  33 34 32 2c 2d 31 31 30  2c 36 34 32 2c 2d 35 38  |342,-110,642,-58|
0000c990  0d 43 8a 05 cd 0d 43 94  12 e7 20 62 61 63 6b 67  |.C....C... backg|
0000c9a0  72 6e 64 3d 31 20 8c 0d  43 9e 10 49 6e 74 65 72  |rnd=1 ..C..Inter|
0000c9b0  48 65 78 3d 68 65 78 0d  43 a8 13 f2 63 6c 6f 73  |Hex=hex.C...clos|
0000c9c0  65 28 63 6f 6c 6f 75 72  25 29 0d 43 b2 30 c8 99  |e(colour%).C.0..|
0000c9d0  22 57 69 6d 70 5f 46 6f  72 63 65 52 65 64 72 61  |"Wimp_ForceRedra|
0000c9e0  77 22 2c 74 79 70 65 25  2c 34 30 36 2c 2d 32 30  |w",type%,406,-20|
0000c9f0  34 2c 35 34 38 2c 2d 31  35 32 0d 43 bc 05 cd 0d  |4,548,-152.C....|
0000ca00  43 c6 05 e1 0d 43 d0 04  0d 43 da 14 dd a4 63 6c  |C....C...C....cl|
0000ca10  61 69 6d 28 61 6d 6f 75  6e 74 25 29 0d 43 e4 28  |aim(amount%).C.(|
0000ca20  c8 99 22 4f 53 5f 48 65  61 70 22 2c 31 2c 68 65  |.."OS_Heap",1,he|
0000ca30  61 70 25 20 b8 20 2c 2c  6c 61 72 67 65 73 74 2c  |ap% . ,,largest,|
0000ca40  66 72 65 65 0d 43 ee 17  e7 20 61 6d 6f 75 6e 74  |free.C... amount|
0000ca50  25 3c 6c 61 72 67 65 73  74 20 8c 0d 43 f8 2f c8  |%<largest ..C./.|
0000ca60  99 22 4f 53 5f 48 65 61  70 22 2c 32 2c 68 65 61  |."OS_Heap",2,hea|
0000ca70  70 25 2c 2c 61 6d 6f 75  6e 74 25 2b 38 20 b8 20  |p%,,amount%+8 . |
0000ca80  2c 2c 70 69 63 70 6f 6f  6c 25 0d 44 02 05 cd 0d  |,,picpool%.D....|
0000ca90  44 0c 17 e7 20 61 6d 6f  75 6e 74 25 3e 6c 61 72  |D... amount%>lar|
0000caa0  67 65 73 74 20 8c 0d 44  16 25 c8 99 22 57 69 6d  |gest ..D.%.."Wim|
0000cab0  70 5f 53 6c 6f 74 53 69  7a 65 22 2c 2d 31 2c 2d  |p_SlotSize",-1,-|
0000cac0  31 20 b8 20 63 75 72 72  65 6e 74 0d 44 20 37 c8  |1 . current.D 7.|
0000cad0  99 22 57 69 6d 70 5f 53  6c 6f 74 53 69 7a 65 22  |."Wimp_SlotSize"|
0000cae0  2c 63 75 72 72 65 6e 74  2b 28 61 6d 6f 75 6e 74  |,current+(amount|
0000caf0  25 2d 6c 61 72 67 65 73  74 29 2b 31 30 32 34 2c  |%-largest)+1024,|
0000cb00  2d 31 0d 44 2a 24 c8 99  22 57 69 6d 70 5f 53 6c  |-1.D*$.."Wimp_Sl|
0000cb10  6f 74 53 69 7a 65 22 2c  2d 31 2c 2d 31 20 b8 20  |otSize",-1,-1 . |
0000cb20  6e 65 77 63 75 72 0d 44  34 1b 69 6e 63 72 65 61  |newcur.D4.increa|
0000cb30  73 65 3d 6e 65 77 63 75  72 2d 63 75 72 72 65 6e  |se=newcur-curren|
0000cb40  74 0d 44 3e 21 c8 99 22  4f 53 5f 48 65 61 70 22  |t.D>!.."OS_Heap"|
0000cb50  2c 35 2c 68 65 61 70 25  2c 2c 69 6e 63 72 65 61  |,5,heap%,,increa|
0000cb60  73 65 0d 44 48 14 68 73  69 7a 65 62 2b 3d 69 6e  |se.DH.hsizeb+=in|
0000cb70  63 72 65 61 73 65 0d 44  52 2f c8 99 22 4f 53 5f  |crease.DR/.."OS_|
0000cb80  48 65 61 70 22 2c 32 2c  68 65 61 70 25 2c 2c 61  |Heap",2,heap%,,a|
0000cb90  6d 6f 75 6e 74 25 2b 38  20 b8 20 2c 2c 70 69 63  |mount%+8 . ,,pic|
0000cba0  70 6f 6f 6c 25 0d 44 5c  05 cd 0d 44 66 0d 3d 70  |pool%.D\...Df.=p|
0000cbb0  69 63 70 6f 6f 6c 25 0d  44 70 04 0d 44 7a 0f dd  |icpool%.Dp..Dz..|
0000cbc0  f2 64 65 6c 65 74 65 61  6c 6c 0d 44 84 1a e7 20  |.deleteall.D... |
0000cbd0  73 70 72 69 74 65 73 20  8c 20 f2 64 65 6c 65 74  |sprites . .delet|
0000cbe0  65 28 31 29 0d 44 8e 1a  e7 20 64 72 61 77 69 6e  |e(1).D... drawin|
0000cbf0  67 20 8c 20 f2 64 65 6c  65 74 65 28 32 29 0d 44  |g . .delete(2).D|
0000cc00  98 1a e7 20 73 65 6c 65  63 74 3d 36 20 8c 20 73  |... select=6 . s|
0000cc10  65 6c 65 63 74 3d 2d 31  0d 44 a2 0d e3 20 69 3d  |elect=-1.D... i=|
0000cc20  30 20 b8 20 32 0d 44 ac  19 70 74 72 3d 64 65 74  |0 . 2.D..ptr=det|
0000cc30  70 74 72 2b 28 64 65 73  62 6c 6b 2a 69 29 0d 44  |ptr+(desblk*i).D|
0000cc40  b6 15 77 6f 72 6b 62 6c  6b 3f 28 70 74 72 2b 35  |..workblk?(ptr+5|
0000cc50  29 3d 30 0d 44 c0 19 24  28 77 6f 72 6b 62 6c 6b  |)=0.D..$(workblk|
0000cc60  2b 28 70 74 72 2b 36 29  29 3d 22 22 0d 44 ca 32  |+(ptr+6))="".D.2|
0000cc70  f2 72 65 64 72 61 77 28  63 61 72 64 25 29 3a f2  |.redraw(card%):.|
0000cc80  72 65 64 72 61 77 28 63  6f 6d 70 25 29 3a f2 72  |redraw(comp%):.r|
0000cc90  65 64 72 61 77 28 6c 65  74 74 65 72 25 29 0d 44  |edraw(letter%).D|
0000cca0  d4 05 e1 0d 44 de 04 0d  44 e8 12 dd f2 64 65 6c  |....D...D....del|
0000ccb0  65 74 65 28 74 79 70 65  29 0d 44 f2 0e e7 20 74  |ete(type).D... t|
0000ccc0  79 70 65 3d 31 20 8c 0d  44 fc 1c c8 99 22 4f 53  |ype=1 ..D...."OS|
0000ccd0  5f 48 65 61 70 22 2c 33  2c 68 65 61 70 25 2c 73  |_Heap",3,heap%,s|
0000cce0  70 72 25 0d 45 06 0d 73  70 72 69 74 65 73 3d a3  |pr%.E..sprites=.|
0000ccf0  0d 45 10 0f e7 20 64 72  61 77 69 6e 67 20 8c 0d  |.E... drawing ..|
0000cd00  45 1a 2d c8 99 22 4f 53  5f 48 65 61 70 22 2c 36  |E.-.."OS_Heap",6|
0000cd10  2c 68 65 61 70 25 2c 64  72 61 77 70 74 72 25 20  |,heap%,drawptr% |
0000cd20  b8 20 2c 2c 2c 62 6c 6b  73 69 7a 65 0d 45 24 20  |. ,,,blksize.E$ |
0000cd30  c8 99 22 4f 53 5f 48 65  61 70 22 2c 33 2c 68 65  |.."OS_Heap",3,he|
0000cd40  61 70 25 2c 64 72 61 77  70 74 72 25 0d 45 2e 2c  |ap%,drawptr%.E.,|
0000cd50  c8 99 22 4f 53 5f 48 65  61 70 22 2c 32 2c 68 65  |.."OS_Heap",2,he|
0000cd60  61 70 25 2c 2c 62 6c 6b  73 69 7a 65 2d 38 20 b8  |ap%,,blksize-8 .|
0000cd70  20 2c 2c 73 63 72 61 70  0d 45 38 1a 20 e3 20 69  | ,,scrap.E8. . i|
0000cd80  3d 30 20 b8 20 62 6c 6b  73 69 7a 65 2d 38 20 88  |=0 . blksize-8 .|
0000cd90  20 34 0d 45 42 17 20 73  63 72 61 70 21 69 3d 64  | 4.EB. scrap!i=d|
0000cda0  72 61 77 70 74 72 25 21  69 0d 45 4c 06 20 ed 0d  |rawptr%!i.EL. ..|
0000cdb0  45 56 12 64 72 61 77 70  74 72 25 3d 73 63 72 61  |EV.drawptr%=scra|
0000cdc0  70 0d 45 60 05 cd 0d 45  6a 05 cd 0d 45 74 0e e7  |p.E`...Ej...Et..|
0000cdd0  20 74 79 70 65 3d 32 20  8c 0d 45 7e 20 c8 99 22  | type=2 ..E~ .."|
0000cde0  4f 53 5f 48 65 61 70 22  2c 33 2c 68 65 61 70 25  |OS_Heap",3,heap%|
0000cdf0  2c 64 72 61 77 70 74 72  25 0d 45 88 0d 64 72 61  |,drawptr%.E..dra|
0000ce00  77 69 6e 67 3d a3 0d 45  92 0f e7 20 73 70 72 69  |wing=..E... spri|
0000ce10  74 65 73 20 8c 0d 45 9c  29 c8 99 22 4f 53 5f 48  |tes ..E.).."OS_H|
0000ce20  65 61 70 22 2c 36 2c 68  65 61 70 25 2c 73 70 72  |eap",6,heap%,spr|
0000ce30  25 20 b8 20 2c 2c 2c 62  6c 6b 73 69 7a 65 0d 45  |% . ,,,blksize.E|
0000ce40  a6 1c c8 99 22 4f 53 5f  48 65 61 70 22 2c 33 2c  |...."OS_Heap",3,|
0000ce50  68 65 61 70 25 2c 73 70  72 25 0d 45 b0 2c c8 99  |heap%,spr%.E.,..|
0000ce60  22 4f 53 5f 48 65 61 70  22 2c 32 2c 68 65 61 70  |"OS_Heap",2,heap|
0000ce70  25 2c 2c 62 6c 6b 73 69  7a 65 2d 38 20 b8 20 2c  |%,,blksize-8 . ,|
0000ce80  2c 73 63 72 61 70 0d 45  ba 1a 20 e3 20 69 3d 30  |,scrap.E.. . i=0|
0000ce90  20 b8 20 62 6c 6b 73 69  7a 65 2d 38 20 88 20 34  | . blksize-8 . 4|
0000cea0  0d 45 c4 13 20 73 63 72  61 70 21 69 3d 73 70 72  |.E.. scrap!i=spr|
0000ceb0  25 21 69 0d 45 ce 06 20  ed 0d 45 d8 0e 73 70 72  |%!i.E.. ..E..spr|
0000cec0  25 3d 73 63 72 61 70 0d  45 e2 05 cd 0d 45 ec 05  |%=scrap.E....E..|
0000ced0  cd 0d 45 f6 29 c8 99 22  4f 53 5f 48 65 61 70 22  |..E.).."OS_Heap"|
0000cee0  2c 31 2c 68 65 61 70 25  20 b8 20 2c 2c 6c 61 72  |,1,heap% . ,,lar|
0000cef0  67 65 73 74 2c 74 66 72  65 65 0d 46 00 20 c8 99  |gest,tfree.F. ..|
0000cf00  22 4f 53 5f 52 65 61 64  4d 65 6d 4d 61 70 49 6e  |"OS_ReadMemMapIn|
0000cf10  66 6f 22 20 b8 20 70 61  67 65 0d 46 0a 25 c8 99  |fo" . page.F.%..|
0000cf20  22 57 69 6d 70 5f 53 6c  6f 74 53 69 7a 65 22 2c  |"Wimp_SlotSize",|
0000cf30  2d 31 2c 2d 31 20 b8 20  63 75 72 72 65 6e 74 0d  |-1,-1 . current.|
0000cf40  46 14 14 e7 20 6c 61 72  67 65 73 74 3e 70 61 67  |F... largest>pag|
0000cf50  65 20 8c 0d 46 1e 1f 61  6d 6f 75 6e 74 3d a8 28  |e ..F..amount=.(|
0000cf60  6c 61 72 67 65 73 74 2f  70 61 67 65 29 2a 70 61  |largest/page)*pa|
0000cf70  67 65 0d 46 28 19 6e 65  77 63 75 72 3d 63 75 72  |ge.F(.newcur=cur|
0000cf80  72 65 6e 74 2d 61 6d 6f  75 6e 74 0d 46 32 2e e7  |rent-amount.F2..|
0000cf90  20 6e 65 77 63 75 72 3c  3d 6f 72 69 67 61 70 70  | newcur<=origapp|
0000cfa0  73 69 7a 65 20 8c 20 6e  65 77 63 75 72 3d 6f 72  |size . newcur=or|
0000cfb0  69 67 61 70 70 73 69 7a  65 0d 46 3c 1b 64 65 63  |igappsize.F<.dec|
0000cfc0  72 65 61 73 65 3d 63 75  72 72 65 6e 74 2d 6e 65  |rease=current-ne|
0000cfd0  77 63 75 72 0d 46 46 33  e7 20 64 65 63 72 65 61  |wcur.FF3. decrea|
0000cfe0  73 65 3c 3e 30 20 8c 20  c8 99 22 4f 53 5f 48 65  |se<>0 . .."OS_He|
0000cff0  61 70 22 2c 35 2c 68 65  61 70 25 2c 2c 30 2d 64  |ap",5,heap%,,0-d|
0000d000  65 63 72 65 61 73 65 0d  46 50 1f c8 99 22 57 69  |ecrease.FP..."Wi|
0000d010  6d 70 5f 53 6c 6f 74 53  69 7a 65 22 2c 6e 65 77  |mp_SlotSize",new|
0000d020  63 75 72 2c 2d 31 0d 46  5a 14 68 73 69 7a 65 62  |cur,-1.FZ.hsizeb|
0000d030  2d 3d 64 65 63 72 65 61  73 65 0d 46 64 05 cd 0d  |-=decrease.Fd...|
0000d040  46 6e 05 e1 0d 46 78 04  0d 46 82 0e dd a4 76 67  |Fn...Fx..F....vg|
0000d050  61 28 6d 6f 64 29 0d 46  8c 27 c8 99 22 4f 53 5f  |a(mod).F.'.."OS_|
0000d060  52 65 61 64 4d 6f 64 65  56 61 72 69 61 62 6c 65  |ReadModeVariable|
0000d070  22 2c 6d 6f 64 2c 31 31  20 b8 2c 2c 63 0d 46 96  |",mod,11 .,,c.F.|
0000d080  27 c8 99 22 4f 53 5f 52  65 61 64 4d 6f 64 65 56  |'.."OS_ReadModeV|
0000d090  61 72 69 61 62 6c 65 22  2c 6d 6f 64 2c 31 32 20  |ariable",mod,12 |
0000d0a0  b8 2c 2c 62 0d 46 a0 0d  63 2b 3d 31 3a 62 2b 3d  |.,,b.F..c+=1:b+=|
0000d0b0  31 0d 46 aa 0c c8 8e 20  62 2f 63 20 ca 0d 46 b4  |1.F.... b/c ..F.|
0000d0c0  0d c9 20 30 2e 38 3a 67  3d b9 0d 46 be 0d c9 20  |.. 0.8:g=..F... |
0000d0d0  2e 37 35 3a 67 3d b9 0d  46 c8 0a 7f 3a 20 67 3d  |.75:g=..F...: g=|
0000d0e0  a3 0d 46 d2 05 cb 0d 46  dc 06 3d 67 0d 46 e6 04  |..F....F..=g.F..|
0000d0f0  0d 46 f0 10 dd f2 61 72  65 79 6f 75 73 75 72 65  |.F....areyousure|
0000d100  0d 46 fa 0f e7 20 ac 20  73 61 76 65 66 20 8c 0d  |.F... . savef ..|
0000d110  47 04 13 f2 6f 70 65 6e  63 65 6e 28 71 75 69 74  |G...opencen(quit|
0000d120  25 29 0d 47 0e 07 ef 20  37 0d 47 18 31 f2 69 6e  |%).G... 7.G.1.in|
0000d130  66 6f 28 71 75 69 74 25  2c 31 2c 22 59 6f 75 72  |fo(quit%,1,"Your|
0000d140  20 66 69 6c 65 20 68 61  73 20 62 65 65 6e 20 6d  | file has been m|
0000d150  6f 64 69 66 69 65 64 2e  22 29 0d 47 22 09 f2 4d  |odified.").G"..M|
0000d160  6f 64 65 0d 47 2c 17 c8  97 20 c8 93 20 30 2c 30  |ode.G,... .. 0,0|
0000d170  2c 78 6d 61 78 2c 79 6d  61 78 0d 47 36 05 cd 0d  |,xmax,ymax.G6...|
0000d180  47 40 10 e7 20 73 61 76  65 66 20 f2 65 6e 64 0d  |G@.. savef .end.|
0000d190  47 4a 05 e1 0d 47 54 04  0d 47 5e 10 dd f2 71 75  |GJ...GT..G^...qu|
0000d1a0  65 72 79 28 71 75 24 29  0d 47 68 14 f2 6f 70 65  |ery(qu$).Gh..ope|
0000d1b0  6e 63 65 6e 28 71 75 65  72 79 25 29 0d 47 72 07  |ncen(query%).Gr.|
0000d1c0  ef 20 37 0d 47 7c 11 21  62 6c 6f 63 6b 3d 71 75  |. 7.G|.!block=qu|
0000d1d0  65 72 79 25 0d 47 86 21  c8 99 22 57 69 6d 70 5f  |ery%.G.!.."Wimp_|
0000d1e0  47 65 74 57 69 6e 64 6f  77 49 6e 66 6f 22 2c 2c  |GetWindowInfo",,|
0000d1f0  62 6c 6f 63 6b 0d 47 90  1b 77 6f 72 6b 78 25 3d  |block.G..workx%=|
0000d200  62 6c 6f 63 6b 21 31 32  2d 62 6c 6f 63 6b 21 34  |block!12-block!4|
0000d210  0d 47 9a 1b 77 6f 72 6b  79 25 3d 62 6c 6f 63 6b  |.G..worky%=block|
0000d220  21 31 36 2d 62 6c 6f 63  6b 21 38 0d 47 a4 27 c8  |!16-block!8.G.'.|
0000d230  97 20 c8 93 20 62 6c 6f  63 6b 21 34 2c 62 6c 6f  |. .. block!4,blo|
0000d240  63 6b 21 38 2c 77 6f 72  6b 78 25 2c 77 6f 72 6b  |ck!8,workx%,work|
0000d250  79 25 0d 47 ae 17 f2 69  6e 66 6f 28 71 75 65 72  |y%.G...info(quer|
0000d260  79 25 2c 31 2c 71 75 24  29 0d 47 b8 05 e1 0d 47  |y%,1,qu$).G....G|
0000d270  c2 04 0d 47 cc 0a dd f2  65 6e 64 71 0d 47 d6 12  |...G....endq.G..|
0000d280  f2 63 6c 6f 73 65 28 71  75 65 72 79 25 29 0d 47  |.close(query%).G|
0000d290  e0 09 f2 4d 6f 64 65 0d  47 ea 17 c8 97 20 c8 93  |...Mode.G.... ..|
0000d2a0  20 30 2c 30 2c 78 6d 61  78 2c 79 6d 61 78 0d 47  | 0,0,xmax,ymax.G|
0000d2b0  f4 05 e1 0d 47 fe 04 0d  48 08 12 dd f2 74 69 74  |....G...H....tit|
0000d2c0  6c 65 73 28 65 78 74 24  29 0d 48 12 19 f2 74 69  |les(ext$).H...ti|
0000d2d0  74 6c 65 28 64 65 74 61  69 6c 73 25 2c 65 78 74  |tle(details%,ext|
0000d2e0  24 29 0d 48 1c 16 f2 74  69 74 6c 65 28 63 61 72  |$).H...title(car|
0000d2f0  64 25 2c 65 78 74 24 29  0d 48 26 16 f2 74 69 74  |d%,ext$).H&..tit|
0000d300  6c 65 28 63 6f 6d 70 25  2c 65 78 74 24 29 0d 48  |le(comp%,ext$).H|
0000d310  30 18 f2 74 69 74 6c 65  28 6c 65 74 74 65 72 25  |0..title(letter%|
0000d320  2c 65 78 74 24 29 0d 48  3a 05 e1 0d 48 44 04 0d  |,ext$).H:...HD..|
0000d330  48 4e 18 dd f2 74 69 74  6c 65 28 68 61 6e 64 6c  |HN...title(handl|
0000d340  65 2c 6e 65 77 24 29 0d  48 58 11 21 69 63 6f 6e  |e,new$).HX.!icon|
0000d350  64 3d 68 61 6e 64 6c 65  0d 48 62 21 c8 99 22 57  |d=handle.Hb!.."W|
0000d360  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 49 6e 66  |imp_GetWindowInf|
0000d370  6f 22 2c 2c 69 63 6f 6e  64 0d 48 6c 16 74 69 74  |o",,icond.Hl.tit|
0000d380  6c 65 24 3d 24 28 69 63  6f 6e 64 21 37 36 29 0d  |le$=$(icond!76).|
0000d390  48 76 10 e7 20 6e 65 77  24 3c 3e 22 22 20 8c 0d  |Hv.. new$<>"" ..|
0000d3a0  48 80 2c e7 20 c2 74 69  74 6c 65 24 2c a9 28 74  |H.,. .title$,.(t|
0000d3b0  69 74 6c 65 24 29 2d a9  28 74 69 74 6c 65 24 29  |itle$)-.(title$)|
0000d3c0  2b 31 29 3c 3e 6e 65 77  24 20 8c 0d 48 8a 18 6e  |+1)<>new$ ..H..n|
0000d3d0  65 77 24 3d 74 69 74 6c  65 24 2b 22 20 22 2b 6e  |ew$=title$+" "+n|
0000d3e0  65 77 24 0d 48 94 59 24  28 21 28 69 63 6f 6e 64  |ew$.H.Y$(!(icond|
0000d3f0  2b 37 36 29 29 3d 6e 65  77 24 3a c8 99 22 57 69  |+76))=new$:.."Wi|
0000d400  6d 70 5f 46 6f 72 63 65  52 65 64 72 61 77 22 2c  |mp_ForceRedraw",|
0000d410  2d 31 2c 69 63 6f 6e 64  21 34 2c 28 69 63 6f 6e  |-1,icond!4,(icon|
0000d420  64 21 31 36 29 2c 69 63  6f 6e 64 21 31 32 2c 28  |d!16),icond!12,(|
0000d430  69 63 6f 6e 64 21 31 36  29 2b 33 36 0d 48 9e 05  |icond!16)+36.H..|
0000d440  cd 0d 48 a8 05 cc 0d 48  b2 2a e7 20 c2 74 69 74  |..H....H.*. .tit|
0000d450  6c 65 24 2c a9 28 74 69  74 6c 65 24 29 2d a9 28  |le$,.(title$)-.(|
0000d460  74 69 74 6c 65 24 29 2b  31 29 3d 22 2a 22 20 8c  |title$)+1)="*" .|
0000d470  0d 48 bc 1d 6e 65 77 24  3d c0 74 69 74 6c 65 24  |.H..new$=.title$|
0000d480  2c a9 28 74 69 74 6c 65  24 29 2d 32 29 0d 48 c6  |,.(title$)-2).H.|
0000d490  59 24 28 21 28 69 63 6f  6e 64 2b 37 36 29 29 3d  |Y$(!(icond+76))=|
0000d4a0  6e 65 77 24 3a c8 99 22  57 69 6d 70 5f 46 6f 72  |new$:.."Wimp_For|
0000d4b0  63 65 52 65 64 72 61 77  22 2c 2d 31 2c 69 63 6f  |ceRedraw",-1,ico|
0000d4c0  6e 64 21 34 2c 28 69 63  6f 6e 64 21 31 36 29 2c  |nd!4,(icond!16),|
0000d4d0  69 63 6f 6e 64 21 31 32  2c 28 69 63 6f 6e 64 21  |icond!12,(icond!|
0000d4e0  31 36 29 2b 33 36 0d 48  d0 05 cd 0d 48 da 05 cd  |16)+36.H....H...|
0000d4f0  0d 48 e4 05 e1 0d 48 ee  04 0d 48 f8 0b dd f2 70  |.H....H...H....p|
0000d500  72 69 6e 74 0d 49 02 21  6e 6f 6f 66 70 61 67 65  |rint.I.!noofpage|
0000d510  73 3d bb 28 24 a4 69 6e  66 6f 28 70 72 69 6e 74  |s=.($.info(print|
0000d520  25 2c 34 29 29 0d 49 0c  66 e7 20 24 a4 69 6e 66  |%,4)).I.f. $.inf|
0000d530  6f 28 70 72 69 6e 74 25  2c 30 29 3d 22 4e 6f 74  |o(print%,0)="Not|
0000d540  20 50 72 65 73 65 6e 74  22 20 8c 20 f2 71 75 65  | Present" . .que|
0000d550  72 79 28 22 43 61 6e 20  6e 6f 74 20 70 72 69 6e  |ry("Can not prin|
0000d560  74 2c 20 6e 6f 20 70 72  69 6e 74 65 72 20 64 72  |t, no printer dr|
0000d570  69 76 65 72 20 70 72 65  73 65 6e 74 2e 22 29 3a  |iver present."):|
0000d580  6e 6f 70 72 69 6e 74 3d  b9 3a e1 0d 49 16 0b 64  |noprint=.:..I..d|
0000d590  65 73 24 3d 22 22 0d 49  20 33 e7 20 a4 63 68 65  |es$="".I 3. .che|
0000d5a0  63 6b 66 6c 61 67 28 70  72 69 6e 74 25 2c 37 2c  |ckflag(print%,7,|
0000d5b0  32 31 29 20 8c 20 64 65  73 24 2b 3d 22 20 62 75  |21) . des$+=" bu|
0000d5c0  73 2e 20 63 61 72 64 2c  22 0d 49 2a 34 e7 20 a4  |s. card,".I*4. .|
0000d5d0  63 68 65 63 6b 66 6c 61  67 28 70 72 69 6e 74 25  |checkflag(print%|
0000d5e0  2c 38 2c 32 31 29 20 8c  20 64 65 73 24 2b 3d 22  |,8,21) . des$+="|
0000d5f0  20 63 6f 6d 70 2e 20 73  6c 69 70 2c 22 0d 49 34  | comp. slip,".I4|
0000d600  35 e7 20 a4 63 68 65 63  6b 66 6c 61 67 28 70 72  |5. .checkflag(pr|
0000d610  69 6e 74 25 2c 39 2c 32  31 29 20 8c 20 64 65 73  |int%,9,21) . des|
0000d620  24 2b 3d 22 20 6c 65 74  74 65 72 20 68 65 61 64  |$+=" letter head|
0000d630  2c 22 0d 49 3e 61 e7 20  a4 63 68 65 63 6b 66 6c  |,".I>a. .checkfl|
0000d640  61 67 28 70 72 69 6e 74  25 2c 36 2c 32 31 29 20  |ag(print%,6,21) |
0000d650  8c 20 63 6f 70 69 65 73  24 3d 22 73 69 6e 67 6c  |. copies$="singl|
0000d660  65 2e 22 3a 66 75 6c 6c  73 68 65 65 74 3d 30 3a  |e.":fullsheet=0:|
0000d670  8b 20 63 6f 70 69 65 73  24 3d 22 66 75 6c 6c 20  |. copies$="full |
0000d680  73 68 65 65 74 2e 22 3a  66 75 6c 6c 73 68 65 65  |sheet.":fullshee|
0000d690  74 3d 31 0d 49 48 2f c8  99 20 22 43 6f 6c 6f 75  |t=1.IH/.. "Colou|
0000d6a0  72 54 72 61 6e 73 5f 53  65 74 47 43 4f 4c 22 2c  |rTrans_SetGCOL",|
0000d6b0  26 44 44 44 44 44 44 30  30 2c 2c 2c 26 31 30 30  |&DDDDDD00,,,&100|
0000d6c0  2c 30 0d 49 52 19 c8 93  20 c8 90 20 32 38 38 2c  |,0.IR... .. 288,|
0000d6d0  34 36 36 2c 37 33 38 2c  31 39 34 0d 49 5c 27 c8  |466,738,194.I\'.|
0000d6e0  99 20 22 43 6f 6c 6f 75  72 54 72 61 6e 73 5f 53  |. "ColourTrans_S|
0000d6f0  65 74 47 43 4f 4c 22 2c  30 2c 2c 2c 26 31 30 30  |etGCOL",0,,,&100|
0000d700  2c 30 0d 49 66 16 c8 93  20 32 38 36 2c 34 36 34  |,0.If... 286,464|
0000d710  2c 37 34 30 2c 31 39 36  0d 49 70 1b c8 99 22 57  |,740,196.Ip..."W|
0000d720  69 6d 70 5f 43 72 65 61  74 65 4d 65 6e 75 22 2c  |imp_CreateMenu",|
0000d730  2c 2d 31 0d 49 7a 28 c8  99 22 50 44 72 69 76 65  |,-1.Iz(.."PDrive|
0000d740  72 5f 50 61 67 65 53 69  7a 65 22 20 b8 2c 2c 2c  |r_PageSize" .,,,|
0000d750  6c 25 2c 62 25 2c 72 25  2c 74 25 0d 49 84 07 ef  |l%,b%,r%,t%.I...|
0000d760  20 35 0d 49 8e 0d ec 20  34 31 30 2c 36 34 30 0d  | 5.I... 410,640.|
0000d770  49 98 1f f1 20 22 50 72  69 6e 74 69 6e 67 20 69  |I... "Printing i|
0000d780  6e 20 70 72 6f 67 72 65  73 73 2e 2e 2e 22 0d 49  |n progress...".I|
0000d790  a2 0d ec 20 33 38 30 2c  36 30 30 0d 49 ac 2e f1  |... 380,600.I...|
0000d7a0  20 22 50 72 69 6e 69 6e  67 20 22 3b 6e 6f 6f 66  | "Prining ";noof|
0000d7b0  70 61 67 65 73 3b 22 20  63 6f 70 69 65 73 2c 20  |pages;" copies, |
0000d7c0  22 3b 63 6f 70 69 65 73  24 0d 49 b6 0d ec 20 33  |";copies$.I... 3|
0000d7d0  38 30 2c 35 36 30 0d 49  c0 10 f1 20 22 6f 66 20  |80,560.I... "of |
0000d7e0  22 3b 64 65 73 24 0d 49  ca 0d ec 20 34 30 30 2c  |";des$.I... 400,|
0000d7f0  35 32 30 0d 49 d4 1e f1  20 22 50 72 65 73 73 20  |520.I... "Press |
0000d800  45 73 63 61 70 65 20 74  6f 20 63 61 6e 63 65 6c  |Escape to cancel|
0000d810  22 0d 49 de 07 ef 20 34  0d 49 e8 0e 70 72 69 6e  |".I... 4.I..prin|
0000d820  74 69 6e 67 3d b9 0d 49  f2 0a 66 68 25 3d 2d 31  |ting=..I..fh%=-1|
0000d830  0d 49 fc 07 ea 20 85 0d  4a 06 19 ee 20 85 20 ea  |.I... ..J... . .|
0000d840  3a f7 20 85 3a f2 70 72  69 6e 74 65 72 72 3a e1  |:. .:.printerr:.|
0000d850  0d 4a 10 14 c8 99 22 48  6f 75 72 67 6c 61 73 73  |.J...."Hourglass|
0000d860  5f 4f 6e 22 0d 4a 1a 15  66 68 25 3d ae 28 22 70  |_On".J..fh%=.("p|
0000d870  72 69 6e 74 65 72 3a 22  29 0d 4a 24 23 c8 99 22  |rinter:").J$#.."|
0000d880  50 44 72 69 76 65 72 5f  53 65 6c 65 63 74 4a 6f  |PDriver_SelectJo|
0000d890  62 22 2c 66 68 25 20 b8  20 6a 6f 62 0d 4a 2e 28  |b",fh% . job.J.(|
0000d8a0  c8 99 22 50 44 72 69 76  65 72 5f 50 61 67 65 53  |.."PDriver_PageS|
0000d8b0  69 7a 65 22 20 b8 2c 2c  2c 6c 25 2c 62 25 2c 72  |ize" .,,,l%,b%,r|
0000d8c0  25 2c 74 25 0d 4a 38 2a  e7 20 a4 63 68 65 63 6b  |%,t%.J8*. .check|
0000d8d0  66 6c 61 67 28 70 72 69  6e 74 25 2c 37 2c 32 31  |flag(print%,7,21|
0000d8e0  29 20 f2 70 72 69 6e 74  64 65 73 28 30 29 0d 4a  |) .printdes(0).J|
0000d8f0  42 2a e7 20 a4 63 68 65  63 6b 66 6c 61 67 28 70  |B*. .checkflag(p|
0000d900  72 69 6e 74 25 2c 38 2c  32 31 29 20 f2 70 72 69  |rint%,8,21) .pri|
0000d910  6e 74 64 65 73 28 31 29  0d 4a 4c 2a e7 20 a4 63  |ntdes(1).JL*. .c|
0000d920  68 65 63 6b 66 6c 61 67  28 70 72 69 6e 74 25 2c  |heckflag(print%,|
0000d930  39 2c 32 31 29 20 f2 70  72 69 6e 74 64 65 73 28  |9,21) .printdes(|
0000d940  32 29 0d 4a 56 1a c8 99  22 50 44 72 69 76 65 72  |2).JV..."PDriver|
0000d950  5f 45 6e 64 4a 6f 62 22  2c 66 68 25 0d 4a 60 09  |_EndJob",fh%.J`.|
0000d960  d9 23 66 68 25 0d 4a 6a  1d c8 99 22 50 44 72 69  |.#fh%.Jj..."PDri|
0000d970  76 65 72 5f 53 65 6c 65  63 74 4a 6f 62 22 2c 6a  |ver_SelectJob",j|
0000d980  6f 62 0d 4a 74 17 c8 99  22 48 6f 75 72 67 6c 61  |ob.Jt..."Hourgla|
0000d990  73 73 5f 53 6d 61 73 68  22 0d 4a 7e 33 c8 99 22  |ss_Smash".J~3.."|
0000d9a0  57 69 6d 70 5f 46 6f 72  63 65 52 65 64 72 61 77  |Wimp_ForceRedraw|
0000d9b0  22 2c 2d 31 2c 32 38 36  2c 34 36 34 2c 37 34 30  |",-1,286,464,740|
0000d9c0  2b 32 38 38 2c 31 39 36  2b 34 36 36 0d 4a 88 05  |+288,196+466.J..|
0000d9d0  e1 0d 4a 92 04 0d 4a 9c  16 dd f2 70 72 69 6e 74  |..J...J....print|
0000d9e0  64 65 73 28 64 65 73 69  67 6e 29 0d 4a a6 13 e7  |des(design).J...|
0000d9f0  20 66 75 6c 6c 73 68 65  65 74 3d 30 20 8c 0d 4a  | fullsheet=0 ..J|
0000da00  b0 38 20 20 e7 20 64 65  73 69 67 6e 3d 30 20 75  |.8  . design=0 u|
0000da10  70 3d 36 32 33 2d 36 3a  62 6f 78 31 3d 2d 31 30  |p=623-6:box1=-10|
0000da20  3a 62 6f 78 78 3d 35 38  34 2b 32 3a 62 6f 78 79  |:boxx=584+2:boxy|
0000da30  3d 33 38 38 2b 32 0d 4a  ba 3e 20 20 e7 20 64 65  |=388+2.J.>  . de|
0000da40  73 69 67 6e 3d 31 20 75  70 3d 35 36 31 2d 36 3a  |sign=1 up=561-6:|
0000da50  62 6f 78 31 3d 2d 31 30  3a 62 6f 78 78 3d 28 35  |box1=-10:boxx=(5|
0000da60  36 35 2b 36 29 2a 32 2e  35 3a 62 6f 78 79 3d 36  |65+6)*2.5:boxy=6|
0000da70  32 32 2b 32 0d 4a c4 3e  20 20 e7 20 64 65 73 69  |22+2.J.>  . desi|
0000da80  67 6e 3d 32 20 75 70 3d  36 37 30 2d 36 3a 62 6f  |gn=2 up=670-6:bo|
0000da90  78 31 3d 2d 31 30 3a 62  6f 78 78 3d 28 35 36 35  |x1=-10:boxx=(565|
0000daa0  2b 36 29 2a 32 2e 35 3a  62 6f 78 79 3d 33 34 30  |+6)*2.5:boxy=340|
0000dab0  2b 32 0d 4a ce 05 cd 0d  4a d8 13 e7 20 66 75 6c  |+2.J....J... ful|
0000dac0  6c 73 68 65 65 74 3d 31  20 8c 0d 4a e2 44 20 20  |lsheet=1 ..J.D  |
0000dad0  e7 20 64 65 73 69 67 6e  3d 30 20 75 70 3d 38 35  |. design=0 up=85|
0000dae0  2d 36 3a 62 6f 78 31 3d  2d 32 30 30 3a 62 6f 78  |-6:box1=-200:box|
0000daf0  78 3d 28 35 31 38 2b 36  29 2a 32 2e 35 3a 62 6f  |x=(518+6)*2.5:bo|
0000db00  78 79 3d 28 37 37 37 2b  36 29 2a 32 2e 35 0d 4a  |xy=(777+6)*2.5.J|
0000db10  ec 44 20 20 e7 20 64 65  73 69 67 6e 3d 31 20 75  |.D  . design=1 u|
0000db20  70 3d 36 32 2d 36 3a 62  6f 78 31 3d 2d 34 36 30  |p=62-6:box1=-460|
0000db30  3a 62 6f 78 78 3d 28 35  36 35 2b 36 29 2a 32 2e  |:boxx=(565+6)*2.|
0000db40  35 3a 62 6f 78 79 3d 28  38 30 32 2b 36 29 2a 32  |5:boxy=(802+6)*2|
0000db50  2e 35 0d 4a f6 3e 20 20  e7 20 64 65 73 69 67 6e  |.5.J.>  . design|
0000db60  3d 32 20 75 70 3d 36 37  30 2d 36 3a 62 6f 78 31  |=2 up=670-6:box1|
0000db70  3d 2d 31 30 3a 62 6f 78  78 3d 28 35 36 35 2b 36  |=-10:boxx=(565+6|
0000db80  29 2a 32 2e 35 3a 62 6f  78 79 3d 33 34 30 2b 32  |)*2.5:boxy=340+2|
0000db90  0d 4b 00 05 cd 0d 4b 0a  4a 6d 61 74 72 69 78 21  |.K....K.Jmatrix!|
0000dba0  30 3d 36 36 30 30 30 3a  6d 61 74 72 69 78 21 34  |0=66000:matrix!4|
0000dbb0  3d 30 3a 6d 61 74 72 69  78 21 38 3d 30 3a 6d 61  |=0:matrix!8=0:ma|
0000dbc0  74 72 69 78 21 31 32 3d  36 36 30 30 30 3a f4 20  |trix!12=66000:. |
0000dbd0  36 36 30 30 30 2c 30 2c  30 2c 36 36 30 30 30 0d  |66000,0,0,66000.|
0000dbe0  4b 14 20 6f 72 69 67 69  6e 21 30 3d 6c 25 3a 6f  |K. origin!0=l%:o|
0000dbf0  72 69 67 69 6e 21 34 3d  75 70 2a 31 30 30 30 0d  |rigin!4=up*1000.|
0000dc00  4b 1e 2f 62 6f 78 21 30  3d 2d 31 30 3a 62 6f 78  |K./box!0=-10:box|
0000dc10  21 34 3d 62 6f 78 31 3a  62 6f 78 21 38 3d 62 6f  |!4=box1:box!8=bo|
0000dc20  78 78 3a 62 6f 78 21 31  32 3d 62 6f 78 79 0d 4b  |xx:box!12=boxy.K|
0000dc30  28 3b c8 99 22 50 44 72  69 76 65 72 5f 47 69 76  |(;.."PDriver_Giv|
0000dc40  65 52 65 63 74 61 6e 67  6c 65 22 2c 30 2c 62 6f  |eRectangle",0,bo|
0000dc50  78 2c 6d 61 74 72 69 78  2c 6f 72 69 67 69 6e 2c  |x,matrix,origin,|
0000dc60  26 46 46 46 46 46 46 30  30 0d 4b 32 32 c8 99 22  |&FFFFFF00.K22.."|
0000dc70  50 44 72 69 76 65 72 5f  44 72 61 77 50 61 67 65  |PDriver_DrawPage|
0000dc80  22 2c 6e 6f 6f 66 70 61  67 65 73 2c 62 6f 78 32  |",noofpages,box2|
0000dc90  2c 30 2c 30 20 b8 20 6d  6f 72 65 0d 4b 3c 0e c8  |,0,0 . more.K<..|
0000dca0  95 20 6d 6f 72 65 3c 3e  30 0d 4b 46 16 f2 64 72  |. more<>0.KF..dr|
0000dcb0  61 77 28 62 6f 78 79 2c  64 65 73 69 67 6e 29 0d  |aw(boxy,design).|
0000dcc0  4b 50 2a c8 99 22 50 44  72 69 76 65 72 5f 47 65  |KP*.."PDriver_Ge|
0000dcd0  74 52 65 63 74 61 6e 67  6c 65 22 2c 30 2c 62 6f  |tRectangle",0,bo|
0000dce0  78 32 20 b8 20 6d 6f 72  65 0d 4b 5a 05 ce 0d 4b  |x2 . more.KZ...K|
0000dcf0  64 05 e1 0d 4b 6e 04 0d  4b 78 19 dd f2 64 72 61  |d...Kn..Kx...dra|
0000dd00  77 28 68 65 69 67 68 74  2c 64 65 73 69 67 6e 29  |w(height,design)|
0000dd10  0d 4b 82 25 78 6d 69 6e  3d 30 3a 78 6d 61 78 3d  |.K.%xmin=0:xmax=|
0000dd20  31 34 30 30 3a 79 6d 69  6e 3d 2d 38 30 30 3a 79  |1400:ymin=-800:y|
0000dd30  6d 61 78 3d 30 0d 4b 8c  13 e7 20 66 75 6c 6c 73  |max=0.K... fulls|
0000dd40  68 65 65 74 3d 31 20 8c  0d 4b 96 11 20 e7 20 64  |heet=1 ..K.. . d|
0000dd50  65 73 69 67 6e 3d 30 20  8c 0d 4b a0 18 20 e3 20  |esign=0 ..K.. . |
0000dd60  63 61 72 64 63 6f 3d 31  20 b8 20 31 36 20 88 20  |cardco=1 . 16 . |
0000dd70  32 0d 4b aa 44 20 f2 64  72 61 77 64 65 73 69 67  |2.K.D .drawdesig|
0000dd80  6e 28 63 61 72 64 70 6f  73 28 30 2c 63 61 72 64  |n(cardpos(0,card|
0000dd90  63 6f 29 2a 32 2e 35 2c  63 61 72 64 70 6f 73 28  |co)*2.5,cardpos(|
0000dda0  30 2c 63 61 72 64 63 6f  2b 31 29 2a 32 2e 35 2c  |0,cardco+1)*2.5,|
0000ddb0  30 2c 2d 31 29 0d 4b b4  0d 20 ed 20 63 61 72 64  |0,-1).K.. . card|
0000ddc0  63 6f 0d 4b be 06 20 cd  0d 4b c8 11 20 e7 20 64  |co.K.. ..K.. . d|
0000ddd0  65 73 69 67 6e 3d 31 20  8c 0d 4b d2 17 20 e3 20  |esign=1 ..K.. . |
0000dde0  63 61 72 64 63 6f 3d 31  20 b8 20 36 20 88 20 32  |cardco=1 . 6 . 2|
0000ddf0  0d 4b dc 47 20 f2 64 72  61 77 64 65 73 69 67 6e  |.K.G .drawdesign|
0000de00  28 63 61 72 64 70 6f 73  28 31 2c 63 61 72 64 63  |(cardpos(1,cardc|
0000de10  6f 29 2a 32 2e 35 2d 35  30 2c 63 61 72 64 70 6f  |o)*2.5-50,cardpo|
0000de20  73 28 31 2c 63 61 72 64  63 6f 2b 31 29 2a 32 2e  |s(1,cardco+1)*2.|
0000de30  35 2c 31 2c 2d 31 29 0d  4b e6 0d 20 ed 20 63 61  |5,1,-1).K.. . ca|
0000de40  72 64 63 6f 0d 4b f0 06  20 cd 0d 4b fa 34 20 e7  |rdco.K.. ..K.4 .|
0000de50  20 64 65 73 69 67 6e 3d  32 20 8c 20 f2 64 72 61  | design=2 . .dra|
0000de60  77 64 65 73 69 67 6e 28  31 30 2c 68 65 69 67 68  |wdesign(10,heigh|
0000de70  74 2d 34 2c 64 65 73 69  67 6e 2c 2d 31 29 0d 4c  |t-4,design,-1).L|
0000de80  04 05 cc 0d 4c 0e 26 f2  64 72 61 77 64 65 73 69  |....L.&.drawdesi|
0000de90  67 6e 28 31 30 2c 68 65  69 67 68 74 2d 34 2c 64  |gn(10,height-4,d|
0000dea0  65 73 69 67 6e 2c 2d 31  29 0d 4c 18 05 cd 0d 4c  |esign,-1).L....L|
0000deb0  22 05 e1 0d 4c 2c 04 0d  4c 36 0e dd f2 70 72 69  |"...L,..L6...pri|
0000dec0  6e 74 65 72 72 0d 4c 40  0c e7 20 9f 3d 31 37 20  |nterr.L@.. .=17 |
0000ded0  8c 0d 4c 4a 1d c8 99 22  50 44 72 69 76 65 72 5f  |..LJ..."PDriver_|
0000dee0  41 62 6f 72 74 4a 6f 62  22 2c 66 68 25 3a 0d 4c  |AbortJob",fh%:.L|
0000def0  54 21 f4 20 53 59 53 22  50 44 72 69 76 65 72 5f  |T!. SYS"PDriver_|
0000df00  53 65 6c 65 63 74 4a 6f  62 22 2c 6a 6f 62 3a 0d  |SelectJob",job:.|
0000df10  4c 5e 09 d9 23 66 68 25  0d 4c 68 23 f2 6d 65 73  |L^..#fh%.Lh#.mes|
0000df20  73 28 22 45 73 63 61 70  65 3a 20 50 72 69 6e 74  |s("Escape: Print|
0000df30  20 43 61 6e 63 65 6c 65  64 22 29 0d 4c 72 25 c8  | Canceled").Lr%.|
0000df40  99 22 4f 53 5f 52 65 61  64 4d 6f 64 65 56 61 72  |."OS_ReadModeVar|
0000df50  69 61 62 6c 65 22 2c eb  2c 34 20 b8 20 2c 2c 78  |iable",.,4 . ,,x|
0000df60  0d 4c 7c 25 c8 99 22 4f  53 5f 52 65 61 64 4d 6f  |.L|%.."OS_ReadMo|
0000df70  64 65 56 61 72 69 61 62  6c 65 22 2c eb 2c 35 20  |deVariable",.,5 |
0000df80  b8 20 2c 2c 79 0d 4c 86  39 c8 97 20 c8 93 20 30  |. ,,y.L.9.. .. 0|
0000df90  2c 30 2c 28 28 28 62 6c  6f 63 6b 21 31 32 38 29  |,0,(((block!128)|
0000dfa0  2b 31 29 2a 32 5e 78 29  2d 31 2c 28 28 62 6c 6f  |+1)*2^x)-1,((blo|
0000dfb0  63 6b 21 31 33 32 29 2b  31 29 2a 32 5e 79 0d 4c  |ck!132)+1)*2^y.L|
0000dfc0  90 17 c8 99 22 48 6f 75  72 67 6c 61 73 73 5f 53  |...."Hourglass_S|
0000dfd0  6d 61 73 68 22 0d 4c 9a  33 c8 99 22 57 69 6d 70  |mash".L.3.."Wimp|
0000dfe0  5f 46 6f 72 63 65 52 65  64 72 61 77 22 2c 2d 31  |_ForceRedraw",-1|
0000dff0  2c 32 38 36 2c 34 36 34  2c 37 34 30 2b 32 38 38  |,286,464,740+288|
0000e000  2c 31 39 36 2b 34 36 36  0d 4c a4 05 e1 0d 4c ae  |,196+466.L....L.|
0000e010  05 cd 0d 4c b8 48 e7 20  66 68 25 3c 3e 2d 31 20  |...L.H. fh%<>-1 |
0000e020  8c 20 c8 99 22 50 44 72  69 76 65 72 5f 41 62 6f  |. .."PDriver_Abo|
0000e030  72 74 4a 6f 62 22 2c 66  68 25 3a c8 99 22 50 44  |rtJob",fh%:.."PD|
0000e040  72 69 76 65 72 5f 53 65  6c 65 63 74 4a 6f 62 22  |river_SelectJob"|
0000e050  2c 6a 6f 62 3a d9 23 66  68 25 0d 4c c2 17 c8 99  |,job:.#fh%.L....|
0000e060  22 48 6f 75 72 67 6c 61  73 73 5f 53 6d 61 73 68  |"Hourglass_Smash|
0000e070  22 0d 4c cc 25 c8 99 22  4f 53 5f 52 65 61 64 4d  |".L.%.."OS_ReadM|
0000e080  6f 64 65 56 61 72 69 61  62 6c 65 22 2c eb 2c 34  |odeVariable",.,4|
0000e090  20 b8 20 2c 2c 78 0d 4c  d6 25 c8 99 22 4f 53 5f  | . ,,x.L.%.."OS_|
0000e0a0  52 65 61 64 4d 6f 64 65  56 61 72 69 61 62 6c 65  |ReadModeVariable|
0000e0b0  22 2c eb 2c 35 20 b8 20  2c 2c 79 0d 4c e0 39 c8  |",.,5 . ,,y.L.9.|
0000e0c0  97 20 c8 93 20 30 2c 30  2c 28 28 28 62 6c 6f 63  |. .. 0,0,(((bloc|
0000e0d0  6b 21 31 32 38 29 2b 31  29 2a 32 5e 78 29 2d 31  |k!128)+1)*2^x)-1|
0000e0e0  2c 28 28 62 6c 6f 63 6b  21 31 33 32 29 2b 31 29  |,((block!132)+1)|
0000e0f0  2a 32 5e 79 0d 4c ea 33  c8 99 22 57 69 6d 70 5f  |*2^y.L.3.."Wimp_|
0000e100  46 6f 72 63 65 52 65 64  72 61 77 22 2c 2d 31 2c  |ForceRedraw",-1,|
0000e110  32 38 36 2c 34 36 34 2c  37 34 30 2b 32 38 38 2c  |286,464,740+288,|
0000e120  31 39 36 2b 34 36 36 0d  4c f4 33 f2 65 72 72 6f  |196+466.L.3.erro|
0000e130  72 28 f6 24 2b 22 3a 20  61 74 20 6c 69 6e 65 20  |r(.$+": at line |
0000e140  22 2b c3 9e 2b 22 20 77  68 69 6c 73 74 20 70 72  |"+..+" whilst pr|
0000e150  69 6e 74 69 6e 67 22 29  3a e1 0d 4c fe 05 e1 0d  |inting"):..L....|
0000e160  4d 08 04 0d 4d 12 10 dd  f2 6d 6f 72 65 63 6f 70  |M...M....morecop|
0000e170  69 65 73 0d 4d 1c 20 e7  20 bb 28 24 a4 69 6e 66  |ies.M. . .($.inf|
0000e180  6f 28 70 72 69 6e 74 25  2c 34 29 29 3d 39 39 20  |o(print%,4))=99 |
0000e190  8c 20 e1 0d 4d 26 2a f2  69 6e 66 6f 28 70 72 69  |. ..M&*.info(pri|
0000e1a0  6e 74 25 2c 34 2c c3 28  bb 24 a4 69 6e 66 6f 28  |nt%,4,.(.$.info(|
0000e1b0  70 72 69 6e 74 25 2c 34  29 2b 31 29 29 0d 4d 30  |print%,4)+1)).M0|
0000e1c0  05 e1 0d 4d 3a 04 0d 4d  44 10 dd f2 6c 65 73 73  |...M:..MD...less|
0000e1d0  63 6f 70 69 65 73 0d 4d  4e 1f e7 20 bb 28 24 a4  |copies.MN.. .($.|
0000e1e0  69 6e 66 6f 28 70 72 69  6e 74 25 2c 34 29 29 3d  |info(print%,4))=|
0000e1f0  31 20 8c 20 e1 0d 4d 58  2a f2 69 6e 66 6f 28 70  |1 . ..MX*.info(p|
0000e200  72 69 6e 74 25 2c 34 2c  c3 28 bb 24 a4 69 6e 66  |rint%,4,.(.$.inf|
0000e210  6f 28 70 72 69 6e 74 25  2c 34 29 2d 31 29 29 0d  |o(print%,4)-1)).|
0000e220  4d 62 05 e1 0d 4d 6c 04  0d 4d 76 14 dd f2 75 70  |Mb...Ml..Mv...up|
0000e230  61 6e 64 64 6f 77 6e 28  69 63 6e 29 0d 4d 80 30  |anddown(icn).M.0|
0000e240  21 62 6c 6f 63 6b 3d 63  6f 6c 6f 75 72 25 3a c8  |!block=colour%:.|
0000e250  99 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  |."Wimp_GetWindow|
0000e260  49 6e 66 6f 22 2c 2c 62  6c 6f 63 6b 0d 4d 8a 1b  |Info",,block.M..|
0000e270  77 6f 72 6b 78 25 3d 62  6c 6f 63 6b 21 34 2d 62  |workx%=block!4-b|
0000e280  6c 6f 63 6b 21 32 30 0d  4d 94 1c 77 6f 72 6b 79  |lock!20.M..worky|
0000e290  25 3d 62 6c 6f 63 6b 21  31 36 2d 62 6c 6f 63 6b  |%=block!16-block|
0000e2a0  21 32 34 0d 4d 9e 1d 76  61 6c 75 65 72 3d bb 24  |!24.M..valuer=.$|
0000e2b0  a4 69 6e 66 6f 28 63 6f  6c 6f 75 72 25 2c 33 29  |.info(colour%,3)|
0000e2c0  0d 4d a8 1d 76 61 6c 75  65 67 3d bb 24 a4 69 6e  |.M..valueg=.$.in|
0000e2d0  66 6f 28 63 6f 6c 6f 75  72 25 2c 37 29 0d 4d b2  |fo(colour%,7).M.|
0000e2e0  1e 76 61 6c 75 65 62 3d  bb 24 a4 69 6e 66 6f 28  |.valueb=.$.info(|
0000e2f0  63 6f 6c 6f 75 72 25 2c  31 31 29 0d 4d bc 0c c8  |colour%,11).M...|
0000e300  8e 20 69 63 6e 20 ca 0d  4d c6 08 c9 20 31 3a 0d  |. icn ..M... 1:.|
0000e310  4d d0 e8 e7 20 76 61 6c  75 65 72 3e 30 20 f2 75  |M... valuer>0 .u|
0000e320  70 64 61 74 65 69 63 28  63 6f 6c 6f 75 72 25 2c  |pdateic(colour%,|
0000e330  33 2c c3 28 76 61 6c 75  65 72 2d 31 29 2c 34 2c  |3,.(valuer-1),4,|
0000e340  33 32 29 3a 68 65 78 3d  28 76 61 6c 75 65 62 3c  |32):hex=(valueb<|
0000e350  3c 32 34 29 2b 28 76 61  6c 75 65 67 3c 3c 31 36  |<24)+(valueg<<16|
0000e360  29 2b 28 76 61 6c 75 65  72 3c 3c 38 29 3a c8 99  |)+(valuer<<8):..|
0000e370  22 57 69 6d 70 5f 46 6f  72 63 65 52 65 64 72 61  |"Wimp_ForceRedra|
0000e380  77 22 2c 2d 31 2c 77 6f  72 6b 78 25 2b 32 37 30  |w",-1,workx%+270|
0000e390  2c 77 6f 72 6b 79 25 2d  35 38 2c 77 6f 72 6b 78  |,worky%-58,workx|
0000e3a0  25 2b 36 31 34 2c 77 6f  72 6b 79 25 2d 32 34 3a  |%+614,worky%-24:|
0000e3b0  c8 99 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |.."Wimp_ForceRed|
0000e3c0  72 61 77 22 2c 2d 31 2c  77 6f 72 6b 78 25 2b 32  |raw",-1,workx%+2|
0000e3d0  33 34 2c 77 6f 72 6b 79  25 2d 32 34 37 2c 77 6f  |34,worky%-247,wo|
0000e3e0  72 6b 78 25 2b 34 31 30  2c 77 6f 72 6b 79 25 2d  |rkx%+410,worky%-|
0000e3f0  31 39 39 3a 8b 20 e1 0d  4d da 08 c9 20 32 3a 0d  |199:. ..M... 2:.|
0000e400  4d e4 ea e7 20 76 61 6c  75 65 72 3c 32 35 35 20  |M... valuer<255 |
0000e410  f2 75 70 64 61 74 65 69  63 28 63 6f 6c 6f 75 72  |.updateic(colour|
0000e420  25 2c 33 2c c3 28 76 61  6c 75 65 72 2b 31 29 2c  |%,3,.(valuer+1),|
0000e430  34 2c 33 32 29 3a 68 65  78 3d 28 76 61 6c 75 65  |4,32):hex=(value|
0000e440  62 3c 3c 32 34 29 2b 28  76 61 6c 75 65 67 3c 3c  |b<<24)+(valueg<<|
0000e450  31 36 29 2b 28 76 61 6c  75 65 72 3c 3c 38 29 3a  |16)+(valuer<<8):|
0000e460  c8 99 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |.."Wimp_ForceRed|
0000e470  72 61 77 22 2c 2d 31 2c  77 6f 72 6b 78 25 2b 32  |raw",-1,workx%+2|
0000e480  37 30 2c 77 6f 72 6b 79  25 2d 35 38 2c 77 6f 72  |70,worky%-58,wor|
0000e490  6b 78 25 2b 36 31 34 2c  77 6f 72 6b 79 25 2d 32  |kx%+614,worky%-2|
0000e4a0  34 3a c8 99 22 57 69 6d  70 5f 46 6f 72 63 65 52  |4:.."Wimp_ForceR|
0000e4b0  65 64 72 61 77 22 2c 2d  31 2c 77 6f 72 6b 78 25  |edraw",-1,workx%|
0000e4c0  2b 32 33 34 2c 77 6f 72  6b 79 25 2d 32 34 37 2c  |+234,worky%-247,|
0000e4d0  77 6f 72 6b 78 25 2b 34  31 30 2c 77 6f 72 6b 79  |workx%+410,worky|
0000e4e0  25 2d 31 39 39 3a 8b 20  e1 0d 4d ee 08 c9 20 35  |%-199:. ..M... 5|
0000e4f0  3a 0d 4d f8 e9 e7 20 76  61 6c 75 65 67 3e 30 20  |:.M... valueg>0 |
0000e500  f2 75 70 64 61 74 65 69  63 28 63 6f 6c 6f 75 72  |.updateic(colour|
0000e510  25 2c 37 2c c3 28 76 61  6c 75 65 67 2d 31 29 2c  |%,7,.(valueg-1),|
0000e520  34 2c 33 32 29 3a 68 65  78 3d 28 76 61 6c 75 65  |4,32):hex=(value|
0000e530  62 3c 3c 32 34 29 2b 28  76 61 6c 75 65 67 3c 3c  |b<<24)+(valueg<<|
0000e540  31 36 29 2b 28 76 61 6c  75 65 72 3c 3c 38 29 3a  |16)+(valuer<<8):|
0000e550  c8 99 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |.."Wimp_ForceRed|
0000e560  72 61 77 22 2c 2d 31 2c  77 6f 72 6b 78 25 2b 32  |raw",-1,workx%+2|
0000e570  37 30 2c 77 6f 72 6b 79  25 2d 31 31 34 2c 77 6f  |70,worky%-114,wo|
0000e580  72 6b 78 25 2b 36 31 34  2c 77 6f 72 6b 79 25 2d  |rkx%+614,worky%-|
0000e590  38 30 3a c8 99 22 57 69  6d 70 5f 46 6f 72 63 65  |80:.."Wimp_Force|
0000e5a0  52 65 64 72 61 77 22 2c  2d 31 2c 77 6f 72 6b 78  |Redraw",-1,workx|
0000e5b0  25 2b 32 33 34 2c 77 6f  72 6b 79 25 2d 32 34 37  |%+234,worky%-247|
0000e5c0  2c 77 6f 72 6b 78 25 2b  34 31 30 2c 77 6f 72 6b  |,workx%+410,work|
0000e5d0  79 25 2d 31 39 39 3a 8b  20 e1 0d 4e 02 08 c9 20  |y%-199:. ..N... |
0000e5e0  36 3a 0d 4e 0c eb e7 20  76 61 6c 75 65 67 3c 32  |6:.N... valueg<2|
0000e5f0  35 35 20 f2 75 70 64 61  74 65 69 63 28 63 6f 6c  |55 .updateic(col|
0000e600  6f 75 72 25 2c 37 2c c3  28 76 61 6c 75 65 67 2b  |our%,7,.(valueg+|
0000e610  31 29 2c 34 2c 33 32 29  3a 68 65 78 3d 28 76 61  |1),4,32):hex=(va|
0000e620  6c 75 65 62 3c 3c 32 34  29 2b 28 76 61 6c 75 65  |lueb<<24)+(value|
0000e630  67 3c 3c 31 36 29 2b 28  76 61 6c 75 65 72 3c 3c  |g<<16)+(valuer<<|
0000e640  38 29 3a c8 99 22 57 69  6d 70 5f 46 6f 72 63 65  |8):.."Wimp_Force|
0000e650  52 65 64 72 61 77 22 2c  2d 31 2c 77 6f 72 6b 78  |Redraw",-1,workx|
0000e660  25 2b 32 37 30 2c 77 6f  72 6b 79 25 2d 31 31 34  |%+270,worky%-114|
0000e670  2c 77 6f 72 6b 78 25 2b  36 31 34 2c 77 6f 72 6b  |,workx%+614,work|
0000e680  79 25 2d 38 30 3a c8 99  22 57 69 6d 70 5f 46 6f  |y%-80:.."Wimp_Fo|
0000e690  72 63 65 52 65 64 72 61  77 22 2c 2d 31 2c 77 6f  |rceRedraw",-1,wo|
0000e6a0  72 6b 78 25 2b 32 33 34  2c 77 6f 72 6b 79 25 2d  |rkx%+234,worky%-|
0000e6b0  32 34 37 2c 77 6f 72 6b  78 25 2b 34 31 30 2c 77  |247,workx%+410,w|
0000e6c0  6f 72 6b 79 25 2d 31 39  39 3a 8b 20 e1 0d 4e 16  |orky%-199:. ..N.|
0000e6d0  08 c9 20 39 3a 0d 4e 20  eb e7 20 76 61 6c 75 65  |.. 9:.N .. value|
0000e6e0  62 3e 30 20 f2 75 70 64  61 74 65 69 63 28 63 6f  |b>0 .updateic(co|
0000e6f0  6c 6f 75 72 25 2c 31 31  2c c3 28 76 61 6c 75 65  |lour%,11,.(value|
0000e700  62 2d 31 29 2c 34 2c 33  32 29 3a 68 65 78 3d 28  |b-1),4,32):hex=(|
0000e710  76 61 6c 75 65 62 3c 3c  32 34 29 2b 28 76 61 6c  |valueb<<24)+(val|
0000e720  75 65 67 3c 3c 31 36 29  2b 28 76 61 6c 75 65 72  |ueg<<16)+(valuer|
0000e730  3c 3c 38 29 3a c8 99 22  57 69 6d 70 5f 46 6f 72  |<<8):.."Wimp_For|
0000e740  63 65 52 65 64 72 61 77  22 2c 2d 31 2c 77 6f 72  |ceRedraw",-1,wor|
0000e750  6b 78 25 2b 32 37 30 2c  77 6f 72 6b 79 25 2d 31  |kx%+270,worky%-1|
0000e760  37 30 2c 77 6f 72 6b 78  25 2b 36 31 34 2c 77 6f  |70,workx%+614,wo|
0000e770  72 6b 79 25 2d 31 33 36  3a c8 99 22 57 69 6d 70  |rky%-136:.."Wimp|
0000e780  5f 46 6f 72 63 65 52 65  64 72 61 77 22 2c 2d 31  |_ForceRedraw",-1|
0000e790  2c 77 6f 72 6b 78 25 2b  32 33 34 2c 77 6f 72 6b  |,workx%+234,work|
0000e7a0  79 25 2d 32 34 37 2c 77  6f 72 6b 78 25 2b 34 31  |y%-247,workx%+41|
0000e7b0  30 2c 77 6f 72 6b 79 25  2d 31 39 39 3a 8b 20 e1  |0,worky%-199:. .|
0000e7c0  0d 4e 2a 09 c9 20 31 30  3a 0d 4e 34 ed e7 20 76  |.N*.. 10:.N4.. v|
0000e7d0  61 6c 75 65 62 3c 32 35  35 20 f2 75 70 64 61 74  |alueb<255 .updat|
0000e7e0  65 69 63 28 63 6f 6c 6f  75 72 25 2c 31 31 2c c3  |eic(colour%,11,.|
0000e7f0  28 76 61 6c 75 65 62 2b  31 29 2c 34 2c 33 32 29  |(valueb+1),4,32)|
0000e800  3a 68 65 78 3d 28 76 61  6c 75 65 62 3c 3c 32 34  |:hex=(valueb<<24|
0000e810  29 2b 28 76 61 6c 75 65  67 3c 3c 31 36 29 2b 28  |)+(valueg<<16)+(|
0000e820  76 61 6c 75 65 72 3c 3c  38 29 3a c8 99 22 57 69  |valuer<<8):.."Wi|
0000e830  6d 70 5f 46 6f 72 63 65  52 65 64 72 61 77 22 2c  |mp_ForceRedraw",|
0000e840  2d 31 2c 77 6f 72 6b 78  25 2b 32 37 30 2c 77 6f  |-1,workx%+270,wo|
0000e850  72 6b 79 25 2d 31 37 30  2c 77 6f 72 6b 78 25 2b  |rky%-170,workx%+|
0000e860  36 31 34 2c 77 6f 72 6b  79 25 2d 31 33 36 3a c8  |614,worky%-136:.|
0000e870  99 22 57 69 6d 70 5f 46  6f 72 63 65 52 65 64 72  |."Wimp_ForceRedr|
0000e880  61 77 22 2c 2d 31 2c 77  6f 72 6b 78 25 2b 32 33  |aw",-1,workx%+23|
0000e890  34 2c 77 6f 72 6b 79 25  2d 32 34 37 2c 77 6f 72  |4,worky%-247,wor|
0000e8a0  6b 78 25 2b 34 31 30 2c  77 6f 72 6b 79 25 2d 31  |kx%+410,worky%-1|
0000e8b0  39 39 3a 8b 20 e1 0d 4e  3e 05 cb 0d 4e 48 05 e1  |99:. ..N>...NH..|
0000e8c0  0d 4e 52 04 0d 4e 5c 0f  dd f2 73 65 74 70 65 72  |.NR..N\...setper|
0000e8d0  28 61 29 0d 4e 66 0e 62  61 63 6b 67 72 6e 64 3d  |(a).Nf.backgrnd=|
0000e8e0  61 0d 4e 70 12 e7 20 62  61 63 6b 67 72 6e 64 3d  |a.Np.. backgrnd=|
0000e8f0  30 20 8c 0d 4e 7a 11 63  6f 6c 64 65 73 3d 63 6f  |0 ..Nz.coldes=co|
0000e900  6c 64 65 73 0d 4e 84 1e  70 74 72 3d 64 65 74 70  |ldes.N..ptr=detp|
0000e910  74 72 2b 28 64 65 73 62  6c 6b 2a 64 65 73 69 67  |tr+(desblk*desig|
0000e920  6e 29 0d 4e 8e 17 52 45  44 3d 77 6f 72 6b 62 6c  |n).N..RED=workbl|
0000e930  6b 3f 28 70 74 72 2b 31  29 0d 4e 98 19 47 52 45  |k?(ptr+1).N..GRE|
0000e940  45 4e 3d 77 6f 72 6b 62  6c 6b 3f 28 70 74 72 2b  |EN=workblk?(ptr+|
0000e950  32 29 0d 4e a2 18 42 4c  55 45 3d 77 6f 72 6b 62  |2).N..BLUE=workb|
0000e960  6c 6b 3f 28 70 74 72 2b  33 29 0d 4e ac 27 68 65  |lk?(ptr+3).N.'he|
0000e970  78 3d 28 42 4c 55 45 3c  3c 32 34 29 2b 28 47 52  |x=(BLUE<<24)+(GR|
0000e980  45 45 4e 3c 3c 31 36 29  2b 28 52 45 44 3c 3c 38  |EEN<<16)+(RED<<8|
0000e990  29 0d 4e b6 10 49 6e 74  65 72 48 65 78 3d 68 65  |).N..InterHex=he|
0000e9a0  78 0d 4e c0 19 f2 69 6e  66 6f 28 63 6f 6c 6f 75  |x.N...info(colou|
0000e9b0  72 25 2c 33 2c c3 52 45  44 29 0d 4e ca 1b f2 69  |r%,3,.RED).N...i|
0000e9c0  6e 66 6f 28 63 6f 6c 6f  75 72 25 2c 37 2c c3 47  |nfo(colour%,7,.G|
0000e9d0  52 45 45 4e 29 0d 4e d4  1b f2 69 6e 66 6f 28 63  |REEN).N...info(c|
0000e9e0  6f 6c 6f 75 72 25 2c 31  31 2c c3 42 4c 55 45 29  |olour%,11,.BLUE)|
0000e9f0  0d 4e de 05 cd 0d 4e e8  12 e7 20 62 61 63 6b 67  |.N....N... backg|
0000ea00  72 6e 64 3d 31 20 8c 0d  4e f2 14 63 6f 6c 64 65  |rnd=1 ..N..colde|
0000ea10  73 3d 63 68 61 6e 67 65  64 65 73 0d 4e fc 10 68  |s=changedes.N..h|
0000ea20  65 78 3d 49 6e 74 65 72  48 65 78 0d 4f 06 3b 52  |ex=InterHex.O.;R|
0000ea30  45 44 3d 28 68 65 78 3e  3e 38 29 80 26 46 46 3a  |ED=(hex>>8).&FF:|
0000ea40  47 52 45 45 4e 3d 28 68  65 78 3e 3e 31 36 29 80  |GREEN=(hex>>16).|
0000ea50  26 46 46 3a 42 4c 55 45  3d 28 68 65 78 3e 3e 32  |&FF:BLUE=(hex>>2|
0000ea60  34 29 80 26 46 46 0d 4f  10 19 f2 69 6e 66 6f 28  |4).&FF.O...info(|
0000ea70  63 6f 6c 6f 75 72 25 2c  33 2c c3 52 45 44 29 0d  |colour%,3,.RED).|
0000ea80  4f 1a 1b f2 69 6e 66 6f  28 63 6f 6c 6f 75 72 25  |O...info(colour%|
0000ea90  2c 37 2c c3 47 52 45 45  4e 29 0d 4f 24 1b f2 69  |,7,.GREEN).O$..i|
0000eaa0  6e 66 6f 28 63 6f 6c 6f  75 72 25 2c 31 31 2c c3  |nfo(colour%,11,.|
0000eab0  42 4c 55 45 29 0d 4f 2e  05 cd 0d 4f 38 15 f2 6f  |BLUE).O....O8..o|
0000eac0  70 65 6e 77 69 6e 28 63  6f 6c 6f 75 72 25 29 0d  |penwin(colour%).|
0000ead0  4f 42 30 21 62 6c 6f 63  6b 3d 63 6f 6c 6f 75 72  |OB0!block=colour|
0000eae0  25 3a c8 99 22 57 69 6d  70 5f 47 65 74 57 69 6e  |%:.."Wimp_GetWin|
0000eaf0  64 6f 77 49 6e 66 6f 22  2c 2c 62 6c 6f 63 6b 0d  |dowInfo",,block.|
0000eb00  4f 4c 1b 77 6f 72 6b 78  25 3d 62 6c 6f 63 6b 21  |OL.workx%=block!|
0000eb10  34 2d 62 6c 6f 63 6b 21  32 30 0d 4f 56 1c 77 6f  |4-block!20.OV.wo|
0000eb20  72 6b 79 25 3d 62 6c 6f  63 6b 21 31 36 2d 62 6c  |rky%=block!16-bl|
0000eb30  6f 63 6b 21 32 34 0d 4f  60 46 c8 99 22 57 69 6d  |ock!24.O`F.."Wim|
0000eb40  70 5f 46 6f 72 63 65 52  65 64 72 61 77 22 2c 2d  |p_ForceRedraw",-|
0000eb50  31 2c 77 6f 72 6b 78 25  2b 32 37 30 2c 77 6f 72  |1,workx%+270,wor|
0000eb60  6b 79 25 2d 31 37 30 2c  77 6f 72 6b 78 25 2b 36  |ky%-170,workx%+6|
0000eb70  31 34 2c 77 6f 72 6b 79  25 2d 32 34 0d 4f 6a 47  |14,worky%-24.OjG|
0000eb80  c8 99 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |.."Wimp_ForceRed|
0000eb90  72 61 77 22 2c 2d 31 2c  77 6f 72 6b 78 25 2b 32  |raw",-1,workx%+2|
0000eba0  33 34 2c 77 6f 72 6b 79  25 2d 32 34 37 2c 77 6f  |34,worky%-247,wo|
0000ebb0  72 6b 78 25 2b 34 31 30  2c 77 6f 72 6b 79 25 2d  |rkx%+410,worky%-|
0000ebc0  31 39 39 0d 4f 74 05 e1  0d 4f 7e 04 0d 4f 88 2b  |199.Ot...O~..O.+|
0000ebd0  dd f2 69 6e 63 72 65 6d  65 6e 74 28 61 6d 6f 75  |..increment(amou|
0000ebe0  6e 74 2c 6d 69 6e 2c 6d  61 78 2c 68 61 6e 64 6c  |nt,min,max,handl|
0000ebf0  65 2c 69 63 6f 6e 29 0d  4f 92 21 63 75 72 76 61  |e,icon).O.!curva|
0000ec00  6c 3d bb 28 24 a4 69 6e  66 6f 28 68 61 6e 64 6c  |l=.($.info(handl|
0000ec10  65 2c 69 63 6f 6e 29 29  0d 4f 9c 18 6e 65 77 76  |e,icon)).O..newv|
0000ec20  61 6c 3d 63 75 72 76 61  6c 2b 61 6d 6f 75 6e 74  |al=curval+amount|
0000ec30  0d 4f a6 21 e7 20 6e 65  77 76 61 6c 3e 3d 6d 69  |.O.!. newval>=mi|
0000ec40  6e 20 80 20 6e 65 77 76  61 6c 3c 3d 6d 61 78 20  |n . newval<=max |
0000ec50  8c 0d 4f b0 28 f2 75 70  64 61 74 65 69 63 28 68  |..O.(.updateic(h|
0000ec60  61 6e 64 6c 65 2c 69 63  6f 6e 2c c3 6e 65 77 76  |andle,icon,.newv|
0000ec70  61 6c 2c 31 34 2c 33 32  29 0d 4f ba 05 cd 0d 4f  |al,14,32).O....O|
0000ec80  c4 05 e1 0d 4f ce 04 0d  4f d8 25 dd f2 75 70 64  |....O...O.%..upd|
0000ec90  61 74 65 69 63 28 68 61  6e 64 6c 65 2c 69 63 6f  |ateic(handle,ico|
0000eca0  6e 2c 64 61 74 61 24 2c  78 2c 79 29 0d 4f e2 1d  |n,data$,x,y).O..|
0000ecb0  24 a4 69 6e 66 6f 28 68  61 6e 64 6c 65 2c 69 63  |$.info(handle,ic|
0000ecc0  6f 6e 29 3d 64 61 74 61  24 0d 4f ec 1e 21 62 6c  |on)=data$.O..!bl|
0000ecd0  6f 63 6b 3d 68 61 6e 64  6c 65 3a 62 6c 6f 63 6b  |ock=handle:block|
0000ece0  21 34 3d 69 63 6f 6e 0d  4f f6 20 c8 99 22 57 69  |!4=icon.O. .."Wi|
0000ecf0  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
0000ed00  2c 2c 62 6c 6f 63 6b 0d  50 00 32 78 31 3d 62 6c  |,,block.P.2x1=bl|
0000ed10  6f 63 6b 21 38 3a 79 31  3d 62 6c 6f 63 6b 21 31  |ock!8:y1=block!1|
0000ed20  32 3a 78 32 3d 62 6c 6f  63 6b 21 31 36 3a 79 32  |2:x2=block!16:y2|
0000ed30  3d 62 6c 6f 63 6b 21 32  30 0d 50 0a 33 72 78 31  |=block!20.P.3rx1|
0000ed40  3d 78 31 2b 78 3a 72 79  31 3d 28 79 31 2b 79 32  |=x1+x:ry1=(y1+y2|
0000ed50  29 2f 32 2d 28 79 2f 32  29 3a 72 78 32 3d 78 32  |)/2-(y/2):rx2=x2|
0000ed60  2d 78 3a 72 79 32 3d 72  79 31 2b 79 0d 50 14 43  |-x:ry2=ry1+y.P.C|
0000ed70  21 62 6c 6f 63 6b 3d 68  61 6e 64 6c 65 3a 62 6c  |!block=handle:bl|
0000ed80  6f 63 6b 21 34 3d 72 78  31 3a 62 6c 6f 63 6b 21  |ock!4=rx1:block!|
0000ed90  38 3d 72 79 31 3a 62 6c  6f 63 6b 21 31 32 3d 72  |8=ry1:block!12=r|
0000eda0  78 32 3a 62 6c 6f 63 6b  21 31 36 3d 72 79 32 0d  |x2:block!16=ry2.|
0000edb0  50 1e 27 c8 99 22 57 69  6d 70 5f 55 70 64 61 74  |P.'.."Wimp_Updat|
0000edc0  65 57 69 6e 64 6f 77 22  2c 2c 62 6c 6f 63 6b 20  |eWindow",,block |
0000edd0  b8 20 6d 6f 72 65 0d 50  28 0b c8 95 20 6d 6f 72  |. more.P(... mor|
0000ede0  65 0d 50 32 27 c8 99 22  57 69 6d 70 5f 47 65 74  |e.P2'.."Wimp_Get|
0000edf0  52 65 63 74 61 6e 67 6c  65 22 2c 2c 62 6c 6f 63  |Rectangle",,bloc|
0000ee00  6b 20 b8 20 6d 6f 72 65  0d 50 3c 05 ce 0d 50 46  |k . more.P<...PF|
0000ee10  05 e1 0d ff                                       |....|
0000ee14