Home » Archimedes archive » Acorn User » AU 1997-Xmas B.adf » Regulars » RTR/!PalMake/PalMake

RTR/!PalMake/PalMake

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

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

Tape/disk: Home » Archimedes archive » Acorn User » AU 1997-Xmas B.adf » Regulars
Filename: RTR/!PalMake/PalMake
Read OK:
File size: 49E0 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM>Develop.!PalMake.PalMake
   20ON ERROR PROCerrorbox
   30
   40DIM taskid%4:$taskid%="TASK"
   50DIM intmess% 200
   60intmess%!0=2:intmess%!4=3:intmess%!8=4:intmess%!12=&400C1:intmess%!16=&502
   70intmess%!20=0
   80DIM CODE% &280, PAL% 2048,Upal% 2048,PTT% 2048,UP% 1024,paltemp% 2048
   90DIM Pt% 24,invmenu% 100,defmenu% 100
  100SYS "Wimp_Initialise",300,!taskid%,"PalletteMake",intmess% TO version%,taskhand%
  110
  120DIM q% &300,qc% 80, W% &300,temp% 256,buffers% 512,menu% 128,SW% 256,cb% 18
  130DIM IsName% 256, Wmenu% 512,Smenu% 256,Imenu% 256, TextWarn% 100, ww% 256
  140DIM PCWl% 256,PCWr% 256,Pl% 255,Pr% 255
  150SYS "Wimp_OpenTemplate",,"<PalMake$Dir>.Templates"
  160ON ERROR SYS "Wimp_CloseTemplate":PROCerrorbox
  170
  180SYS "Wimp_LoadTemplate",,q%,temp%,temp%+256,-1,"Info",0
  190SYS "Wimp_CreateWindow",,q% TO info%
  200
  210SYS "Wimp_LoadTemplate",,PCWl%+4,Pl%,Pl%+256,-1,"left",0
  220SYS "Wimp_CreateWindow",,PCWl%+4 TO pcwl%
  230PCWl%!0=pcwl%
  240
  250SYS "Wimp_LoadTemplate",,PCWr%+4,Pr%,Pr%+256,-1,"right",0
  260SYS "Wimp_CreateWindow",,PCWr%+4 TO pcwr%
  270PCWr%!0=pcwr%
  280
  290SYS "Wimp_LoadTemplate",,W%+4,SW%,SW%+256,-1,"Pallette",0
  300W%!28=-1
  310SYS "Wimp_CreateWindow",,W%+4 TO pallW%
  320W%!0=pallW%
  330SYS "Wimp_LoadTemplate",,q%,IsName%,IsName%+256,-1,"save_script",0
  340SYS "Wimp_CreateWindow",,q% TO saveW%
  350SYS "Wimp_LoadTemplate",,q%,ww%,ww%+256,-1,"Warning",0
  360q%!108=TextWarn%:q%!112=-1:q%!116=300
  370XQ%=q%!8-q%!0:YQ%=q%!12-q%!4
  380SYS "Wimp_CreateWindow",,q% TO warningW%
  390SYS "Wimp_CloseTemplate"
  400ref%=0
  410cpL%=0:cpR%=0
  420smpicon%=FNicon
  430wopen%=FALSE:warnOn%=FALSE
  440ON ERROR PROCerrorbox
  450Ar1%=20:Ar2%=200:xs%=2 :REM 2 pixels per x increment use read VDU vars in final
  460GotBar%=FALSE
  470Udb%=0
  480PROC_PutName("Pall")
  490DragOn%=FALSE
  500secureF%=0
  510
  520PROC_MS
  530PROCsetupmenu
  540
  550REPEAT
  560 SYS "Wimp_Poll",%1,q% TO A%
  570  CASE A% OF
  580   WHEN 1:PROC_doWindow
  590   WHEN 2:SYS "Wimp_OpenWindow",,q% :IF q%!0=pallW% THEN wopen%=TRUE:PROC_SetCols
  600   WHEN 3:PROC_close
  610   WHEN 6:PROC_do_click(q%)
  620   WHEN 7:PROC_PutDown(q%)
  630   WHEN 8:PROC_KeyPress
  640   WHEN 9:PROC_SORT_Menu
  650   WHEN 17,18:PROCreceive(q%)
  660   ENDCASE
  670 UNTIL FALSE
  680
  690END
  700
  710DEF PROC_PutDown(q%)
  720IF DragOn% THEN
  730REM SYS "Wimp_GetPointerInfo",,q%
  740PROC_GetName
  750SYS "Wimp_GetPointerInfo",,q%
  760messh%=q%!12:messi%=q%!16:messx%=q%!0:messy%=q%!4
  770IF INSTR( fn$,":") THEN fn$=FN_spath(fn$)
  780$(q%+44)=fn$
  790?(q%+44+LEN(fn$))=0
  800q%!20=q%!12:q%!28=q%!0:q%!32=q%!4:q%!36=1024:q%!40=&044
  810q%!0=56:q%!12=0:q%!16=1
  820SYS "Wimp_SendMessage",17,q%,messh%,messi%
  830saveref%=q%!8
  840SYS "Wimp_CreateMenu",,-1
  850DragOn%=FALSE
  860ENDIF
  870ENDPROC
  880
  890DEF FN_spath(n$)
  900WHILE INSTR(n$,".")
  910n$=RIGHT$(n$,LEN(n$)-1)
  920ENDWHILE
  930IF LEN(n$)>10 THEN n$=RIGHT$(n$,10)
  940=n$
  950
  960DEF PROC_GetName
  970LOCAL T%,A%,F$
  980F$="":fn$=""
  990q%!0=saveW%:q%!4=1
 1000SYS "Wimp_GetIconState",,q%
 1010T%=q%!28
 1020T%-=1
 1030REPEAT
 1040T%+=1
 1050F$=F$+CHR$(?T%)
 1060UNTIL ?T%=0
 1070fn$=MID$(F$,1,LEN(F$)-1)
 1080ENDPROC
 1090
 1100DEF PROC_SORT_Menu
 1110IF IconMenu% THEN
 1120IF !q%=1 THEN PROCdie
 1130ELSE
 1140CASE !q% OF
 1150  WHEN 1 :    PROC_fill(0,0,0):PROC_fill(255,255,255)
 1160              PROC_PutPal
 1170  WHEN 2 :
 1180           CASE q%!4 OF
 1190            WHEN 0 :PROC_BLOCK(0,255)
 1200              GotBar%=FALSE
 1210              WHEN 1 :F%=OPENIN("<PalMake$Dir>.Default")
 1220              PROC_MPREAD
 1230              CLOSE #F%
 1240              GotBar%=FALSE
 1250            ENDCASE
 1260 
 1270  WHEN 3 :   CASE q%!4 OF
 1280                WHEN 0: PROC_Inv
 1290                WHEN 1: PROC_PInv
 1300                ENDCASE
 1310
 1320  WHEN 4 :    CASE q%!4 OF
 1330               WHEN 0:PROC_BLOCK(Ar1%,Ar2%)
 1340               WHEN 1:PROC_fill(0,Ar1%,0):PROC_fill(Ar2%,255,255):PROC_BLOCK(Ar1%,Ar2%)
 1350               WHEN 2:PROC_RGBint
 1360               WHEN 3:PROC_HSVint
 1370               WHEN 4:PROC_fillc(Ar1%,Ar2%,UP%!(Ar1%*4)):PROC_PutPal
 1380               WHEN 5:PROC_fillc(Ar1%,Ar2%,UP%!(Ar2%*4)):PROC_PutPal
 1390             ENDCASE
 1400
 1410  WHEN 5: PROC_Undo
 1420
 1430ENDCASE
 1440
 1450ENDIF
 1460SYS"Wimp_GetPointerInfo",,q%
 1470IF q%!8=1 THEN SYS"Wimp_CreateMenu",,Wmenu%
 1480ENDPROC
 1490
 1500DEF PROC_close
 1510IF q%!0=pallW% THEN wopen%=FALSE:GotBar%=FALSE:SYS"Wimp_GetWindowInfo",,W%
 1520IF q%!0=warningW% THEN warnOn%=FALSE
 1530IF q%!0=pcwl% THEN SYS"Wimp_GetWindowInfo",,PCWl%
 1540IF q%!0=pcwr% THEN SYS"Wimp_GetWindowInfo",,PCWr%
 1550SYS "Wimp_CloseWindow",,q%
 1560ENDPROC
 1570
 1580DEF PROC_do_click(q%)
 1590LOCAL X%,Y%,C%,T%
 1600i%=q%!16
 1610CASE q%!12 OF
 1620WHEN warningW%: q%!0=warningW% :PROC_close
 1630WHEN    saveW%: DragOn%=TRUE: PROC_DoSave
 1640WHEN -2: REM Look first at Icon Bar Click
 1650        IF q%!16=smpicon% THEN
 1660        IF q%!8=2 THEN IconMenu%=TRUE: SYS"Wimp_CreateMenu",,menu%,q%!0-94,190
 1670        IF q%!8=4 THEN PROC_OpenWhat
 1680        ENDIF
 1690
 1700WHEN pallW%:  IF q%!8=2 THEN IconMenu%=FALSE:SYS"Wimp_CreateMenu",,Wmenu%, q%!0-94,(q%!4)-40
 1710              IF q%!8=4 THEN PROC_DA
 1720WHEN pcwl%:  X%=q%!0:Y%=q%!4
 1730             PROC_Trans(pcwl%)
 1740             PROC_cs
 1750             UP%!(Ar1%*4)=C%
 1760             PROC_PutPal
 1770WHEN pcwr%:  X%=q%!0:Y%=q%!4
 1780             PROC_Trans(pcwr%)
 1790             PROC_cs
 1800             UP%!(Ar2%*4)=C%
 1810             PROC_PutPal
 1820ENDCASE
 1830ENDPROC
 1840
 1850DEF PROC_cs
 1860X%=(X%-XO%)/32:Y%=(YO%-Y%)/32
 1870T%=X% AND 3
 1880C%=T%<<12 OR T%<<20 OR T%<<28
 1890T%=(X% AND 4)>>2 OR (Y% AND 1)<<1
 1900C%=C% OR T%<<14
 1910T%=(Y% AND 6) >>1 : C%=C% OR T%<<22
 1920T%=(Y% AND &8)>>2 OR (X% AND &8)>>3: C%=C% OR T%<<30
 1930ENDPROC
 1940
 1950DEF PROC_OpenWhat
 1960LOCAL Ncol%
 1970IF NOT(warnOn%) THEN
 1980  SYS"OS_ReadModeVariable",-1,3 TO ,,Ncol%
 1990  PROC_Open
 2000ENDIF
 2010ENDPROC
 2020
 2030DEF PROC_DA
 2040LOCAL D%,P%,X%,XL%,Y%,B%
 2050D%=FNpointIn
 2060
 2070IF D%<>0 THEN
 2080IF D%=1 THEN P%=Ar1% ELSE P%=Ar2%
 2090MOUSE XL%,Y%,B%
 2100X%=XL%
 2110WHILE B%=4
 2120  WHILE (XL%=X% AND B%=4)
 2130   MOUSE X%,Y%,B%
 2140   ENDWHILE
 2150  q%!0=pallW%:q%!4=0:q%!8=-100:q%!12=560:q%!16=0
 2160  SYS"Wimp_UpdateWindow",,q% TO More%
 2170
 2180 WHILE More%
 2190
 2200   P%=(X%-xo%-6)/xs%
 2210   IF P%<0 THEN P%=0
 2220   IF P%>255 THEN P%=255
 2230     IF D%=1 THEN Ar1%=P% ELSE Ar2%=P%
 2240     IF Ar1%>Ar2% THEN SWAP Ar1%,Ar2% : D%=D% EOR 3
 2250
 2260     SYS"OS_SpriteOp",52+256,SP%,"BAR",xo%-2,yo%+32,&10,0,0
 2270
 2280     SYS"OS_SpriteOp",52+256,SP%,"POINT",xo%-2+Ar1%*xs%,yo%+32,&1C,0,Pt%
 2290     SYS"OS_SpriteOp",52+256,SP%,"POINT",xo%-2+Ar2%*xs%,yo%+32,&1C,0,Pt%
 2300
 2310     PROC_Scol(Ar1%)
 2320     RECTANGLEFILL xo%,yo%,30,30
 2330     SYS"ColourTrans_SetGCOL",0,0,0
 2340     RECTANGLE xo%,yo%,30,30
 2350
 2360     PROC_Scol(Ar2%)
 2370     RECTANGLEFILL xo%+246*xs%,yo%,30,30
 2380     SYS"ColourTrans_SetGCOL",0,0,0
 2390     RECTANGLE xo%+246*xs%,yo%,30,30
 2400
 2410  SYS"Wimp_GetRectangle",,q% TO More%
 2420 ENDWHILE
 2430
 2440   XL%=X%
 2450   MOUSE X%,Y%,B%
 2460ENDWHILE
 2470ELSE
 2480D%=FNpointSq
 2490IF D%<>0 THEN
 2500      MOUSE X%,Y%,B%
 2510      cb%!0=&808080:cb%!8=0
 2520      qc%!0=&8:qc%!4=TextWarn%: qc%!8=X%: qc%!20=Y%:qc%!32=&80808000:qc%!36=0
 2530
 2540      IF D%=1 THEN qc%!32=UP%!(Ar1%*4) ELSE qc%!32=UP%!(Ar2%*4)
 2550      IF D%=1 THEN
 2560       IF cpL%=0 THEN
 2570         $TextWarn%="Pick a new left hand colour"
 2580         Tc1%=qc%!32
 2590         PCWl%!28=-1
 2600         SYS"Wimp_OpenWindow",,PCWl%
 2610        ENDIF
 2620      ELSE
 2630       IF cpR%=0 THEN
 2640         $TextWarn%="Pick a new right hand colour"
 2650         Tc2%=qc%!32
 2660         PCWr%!28=-1
 2670         SYS"Wimp_OpenWindow",,PCWr%
 2680        ENDIF
 2690      ENDIF
 2700
 2710ENDIF
 2720ENDIF
 2730ENDPROC
 2740
 2750DEF PROC_Open
 2760REM OPEN UP WINDOW HERE
 2770IF wopen% THEN
 2780PROC_SetCols
 2790q%!0=pallW%
 2800SYS"Wimp_GetWindowState",,q%
 2810  IF q%!28<>-1 THEN q%!28=-1: SYS "Wimp_OpenWindow",,q%
 2820ELSE
 2830SYS "Wimp_OpenWindow",,W%
 2840wopen%=TRUE
 2850ENDIF
 2860ENDPROC
 2870
 2880DEF PROC_doWindow
 2890  LOCAL A%,I%,L%
 2900 IF q%!0=pallW% THEN
 2910   PROC_Trans(pallW%)
 2920   SYS "Wimp_RedrawWindow",,q% TO flag%
 2930     WHILE flag%
 2940
 2950     SYS"OS_SpriteOp",52+256,SP%,"PLA",xo%+6,yo%+48,&10,0,PTT%
 2960     IF NOT(GotBar%) THEN
 2970     SYS"OS_SpriteOp",16+256,SP%,"BAR",0,xo%-2,yo%+32,xo%+12+256*xs%,yo%+46
 2980     GotBar%=TRUE
 2990     ENDIF
 3000
 3010     SYS"OS_SpriteOp",52+256,SP%,"POINT",xo%-2+Ar1%*xs%,yo%+32,&1C,0,Pt%
 3020     SYS"OS_SpriteOp",52+256,SP%,"POINT",xo%-2+Ar2%*xs%,yo%+32,&1C,0,Pt%
 3030
 3040     PROC_Scol(Ar1%)
 3050     RECTANGLEFILL xo%,yo%,30,30
 3060     SYS"ColourTrans_SetGCOL",0,0,0
 3070     RECTANGLE xo%,yo%,30,30
 3080
 3090     PROC_Scol(Ar2%)
 3100     RECTANGLEFILL xo%+246*xs%,yo%,30,30
 3110     SYS"ColourTrans_SetGCOL",0,0,0
 3120     RECTANGLE xo%+246*xs%,yo%,30,30
 3130
 3140     SYS "Wimp_GetRectangle",,q% TO flag%
 3150     ENDWHILE
 3160   ENDIF
 3170
 3180  ENDPROC
 3190
 3200DEF FNpointSq
 3210LOCAL X%,Y%,B%,R%
 3220PROC_Trans(pallW%)
 3230MOUSE X%,Y%,B%
 3240R%=0
 3250IF (X%<(xo%+30) AND Y%<(yo%+30) ) THEN R%=1
 3260IF (X%>(xo%+246*xs%) AND Y%<(yo%+30) ) THEN R%=2
 3270=R%
 3280
 3290DEF FNpointIn
 3300LOCAL X%,Y%,B%,R%
 3310PROC_Trans(pallW%)
 3320MOUSE X%,Y%,B%
 3330R%=0
 3340IF (ABS((X%-xo%)-(8+Ar1%*xs%))<16 AND (Y%-yo%>28) AND (Y%-yo%<49) ) THEN R%=1
 3350IF (ABS((X%-xo%)-(8+Ar2%*xs%))<16 AND (Y%-yo%>28) AND (Y%-yo%<49) ) THEN R%=2
 3360=R%
 3370
 3380DEF PROC_Aarrow(A%,C%)
 3390GCOL 0,C%
 3400A%=A%*xs%
 3410MOVE xo%+6+A%,yo%+48
 3420PLOT 0,-8,-8
 3430PLOT 81,16,0
 3440PLOT 0,-6,0
 3450PLOT 97,-4,-8
 3460
 3470ENDPROC
 3480
 3490DEF PROC_MS
 3500REM MAKE A PALLETTE SPRITE
 3510SZ%=18000
 3520DIM SP% SZ%
 3530SP%!0=SZ%
 3540SP%!8=16
 3550SYS"OS_SpriteOp",9+256,SP%
 3560SYS"OS_SpriteOp",15+256,SP%,"PLA",0,256,20,21
 3570sptr%=SP%+SP%!8
 3580pal%=sptr%+44
 3590!(sptr%+8*4)+=2048
 3600!(sptr%+9*4)+=2048
 3610!sptr%+=2048
 3620!(SP%+12)+=2048
 3630PROC_GREY
 3640
 3650P%=pal%+2048 : REM POINT AT START OF SPRITE IN MEMORY
 3660REM Draw the bars of colour
 3670FOR B%=0 TO 19
 3680FOR A%=0 TO 255
 3690?(P%+256*B%+A%)=A%
 3700NEXT
 3710NEXT
 3720REM Merge the pointer sprite file
 3730SYS"OS_SpriteOp",11+256,SP%,"<PalMake$Dir>.Sprites"
 3740PROC_PutPal
 3750ENDPROC
 3760
 3770DEF PROC_Trans(wh%)
 3780!q%=wh%
 3790SYS "Wimp_GetWindowState",,q%
 3800xo%=q%!4-q%!20+8:yo%=q%!16-q%!24-88
 3810XO%=q%!4:YO%=q%!16
 3820ENDPROC
 3830
 3840DEFPROCsetupmenu
 3850LOCAL m%
 3860$invmenu%="Invert"
 3870invmenu%?12=7
 3880invmenu%?13=2
 3890invmenu%?14=7
 3900invmenu%?15=0
 3910invmenu%!16=178
 3920invmenu%!20=40
 3930invmenu%!24=0
 3940m%=invmenu%+28
 3950m%!0=0
 3960m%!4=0
 3970m%!8=(7<<24)OR %10001
 3980$(m%+12)="Invert all"
 3990
 4000m%+=24
 4010m%!0=&80
 4020m%!4=0
 4030m%!8=(7<<24)OR %10001
 4040$(m%+12)="Invert part"
 4050
 4060$defmenu%="Default"
 4070defmenu%?12=7
 4080defmenu%?13=2
 4090defmenu%?14=7
 4100defmenu%?15=0
 4110defmenu%!16=120
 4120defmenu%!20=40
 4130defmenu%!24=0
 4140m%=defmenu%+28
 4150m%!0=0
 4160m%!4=0
 4170m%!8=(7<<24)OR %10001
 4180$(m%+12)="Grey"
 4190
 4200m%+=24
 4210m%!0=&80
 4220m%!4=0
 4230m%!8=(7<<24)OR %10001
 4240$(m%+12)="Colour"
 4250
 4260$Imenu%="Colours"
 4270Imenu%?12=7
 4280Imenu%?13=2
 4290Imenu%?14=7
 4300Imenu%?15=0
 4310Imenu%!16=170
 4320Imenu%!20=40
 4330Imenu%!24=0
 4340m%=Imenu%+28
 4350m%!0=0
 4360m%!4=0
 4370m%!8=(7<<24)OR %10001
 4380$(m%+12)="Grey Wedge"
 4390
 4400m%+=24
 4410m%!0=0
 4420m%!4=0
 4430m%!8=(7<<24)OR %10001
 4440$(m%+12)="Grey Short"
 4450
 4460m%+=24
 4470m%!0=0
 4480m%!4=0
 4490m%!8=(7<<24)OR %10001
 4500$(m%+12)="RGB Colour"
 4510
 4520m%+=24
 4530m%!0=0
 4540m%!4=0
 4550m%!8=(7<<24)OR %10001
 4560$(m%+12)="HVS Colour"
 4570
 4580m%+=24
 4590m%!0=0
 4600m%!4=0
 4610m%!8=(7<<24)OR %10001
 4620$(m%+12)="From left"
 4630
 4640m%+=24
 4650m%!0=&80
 4660m%!4=0
 4670m%!8=(7<<24)OR %10001
 4680$(m%+12)="From right"
 4690
 4700$menu%="PalletteMake"
 4710menu%?12=7
 4720menu%?13=2
 4730menu%?14=7
 4740menu%?15=0
 4750menu%!16=86
 4760menu%!20=40
 4770menu%!24=0
 4780m%=menu%+28
 4790m%!0=0
 4800m%!4=info%
 4810m%!8=(7<<24)OR %10001
 4820$(m%+12)="Info"
 4830
 4840m%+=24
 4850m%!0=&80
 4860m%!4=0
 4870m%!8=(7<<24)OR %10001
 4880$(m%+12)="Quit"
 4890
 4900$Wmenu%="PallMake"
 4910Wmenu%?12=7
 4920Wmenu%?13=2
 4930Wmenu%?14=7
 4940Wmenu%?15=0
 4950Wmenu%!16=188
 4960Wmenu%!20=40
 4970Wmenu%!24=0
 4980m%=Wmenu%+28
 4990m%!0=0
 5000m%!4=saveW%
 5010m%!8=(7<<24)OR %10001
 5020$(m%+12)="Save"
 5030
 5040m%+=24
 5050m%!0=0
 5060m%!4=0
 5070m%!8=(7<<24)OR %10001
 5080$(m%+12)="Ends B/W"
 5090
 5100m%+=24
 5110m%!0=0
 5120m%!4=defmenu%
 5130m%!8=(7<<24)OR %10001
 5140$(m%+12)="Default"
 5150
 5160m%+=24
 5170m%!0=0
 5180m%!4=invmenu%
 5190m%!8=(7<<24)OR %10001
 5200$(m%+12)="Invert"
 5210
 5220m%+=24
 5230m%!0=0
 5240m%!4=Imenu%
 5250m%!8=(7<<24)OR %10001
 5260$(m%+12)="Interpolate"
 5270
 5280m%+=24
 5290m%!0=&80
 5300m%!4=0
 5310m%!8=(7<<24)OR %10001
 5320$(m%+12)="Undo Change"
 5330
 5340
 5350DEF PROCreceive(q%)
 5360LOCAL A%
 5370A%=q%!16
 5380CASE A% OF
 5390WHEN 0:PROCdie
 5400WHEN 2:IF q%!12=saveref% THEN 
 5410          secureF%=q%!36
 5420          fn$=FNsget(q%+44):PROC_Save
 5430          q%!12=saveref%:q%!16=3:q%!0=256:q%!40=&044
 5440          q%!20=messh%:q%!24=messi%:q%!28=messx%:q%!32=messy%
 5450          SYS "Wimp_SendMessage",17,q%,messh%,messi%
 5460          ENDIF
 5470
 5480WHEN 3:IF q%!20=-2 AND q%!24=smpicon% OR q%!20=pallW% THEN
 5490        Ftype%=q%!40
 5500        n$=FNsget(q%+44)
 5510        PROC_Dack
 5520        PROC_PalLoad(n$,Ftype%)
 5530        ref%=0
 5540       ENDIF
 5550
 5560WHEN &502:   CASE TRUE OF
 5570             WHEN q%!32=-2 AND q%!36=smpicon%:mes$="This is the Pallete Make icon.|MObserve the pallette in use"
 5580             OTHERWISE:mes$=""
 5590             ENDCASE
 5600    IF mes$<>"" THEN
 5610    q%!12=q%!8
 5620    $(q%+20)=mes$+CHR$0
 5630    q%!0=(20+LENmes$+4)AND NOT 3
 5640    q%!16=&503
 5650    SYS "Wimp_SendMessage",18,q%,q%!4
 5660ENDCASE
 5670ENDPROC
 5680
 5690DEF PROC_Dack
 5700sendth%=q%!4
 5710myref%=q%!8
 5720SYS "Wimp_GetPointerInfo",,q%+8
 5730q%!28=q%!8
 5740q%!32=q%!12
 5750q%!0=(44+LENn$+4)AND NOT 3
 5760q%!12=myref%
 5770q%!16=4
 5780q%!36=-1
 5790q%!40=&FF9
 5800$(q%+44)=n$+CHR$0
 5810SYS "Wimp_SendMessage",17,q%,sendth%
 5820ENDIF
 5830ENDPROC
 5840
 5850DEFFNsget(x%)
 5860LOCAL x$
 5870WHILE ?x% x$+=CHR$(?x%):x%+=1:ENDWHILE
 5880=x$
 5890
 5900DEFFNicon
 5910q%!0=-1
 5920q%!4=0
 5930q%!8=10 : REM Y DIRECTION
 5940q%!12=70 : REM X DIRECTION
 5950q%!16=96
 5960q%!20=&2002
 5970$(q%+24)="!PalMake"
 5980SYS "Wimp_CreateIcon",,q% TO icon%
 5990=icon%
 6000
 6010DEF PROC_setupW(t$)
 6020!q%=warningW%:q%!4=200:q%!8=200:q%!12=200+XQ%:q%!16=200+YQ%:q%!20=0:q%!24=0:q%!28=-1
 6030$TextWarn%=t$
 6040TextWarn%?LEN(t$)=0
 6050VDU 7
 6060warnOn%=TRUE
 6070SYS "Wimp_OpenWindow",,q%
 6080ENDPROC
 6090
 6100DEF PROCerrorbox
 6110SYS "Wimp_DragBox",,-1
 6120!buffers%=ERR:$(buffers%+4)=REPORT$+" at line "+STR$ERL+CHR$0
 6130SYS "Wimp_ReportError",buffers%,1,"PalletteMake"
 6140PROCdie
 6150ENDPROC
 6160
 6170DEFPROCdie
 6180SYS "Wimp_CloseDown",taskhand%,!taskid%
 6190END
 6200ENDPROC
 6210
 6220DEF PROCdragicon(mousex%,mousey%,handle%,icon%)
 6230LOCAL bx%,by%,ix0%,iy0%,ix1%,iy1%
 6240PROCgetw(handle%)
 6250PROCgeti(handle%,icon%)
 6260!q%=handle%:q%!4=5
 6270q%!8=bx%+ix0%:q%!12=by%+iy0%:q%!16=bx%+ix1%:q%!20=by%+iy1%
 6280q%!24=q%!8-mousex%:q%!28=q%!12-mousey%
 6290SYS "Wimp_DragBox",,q%
 6300SFLAG%=TRUE
 6310ENDPROC
 6320
 6330DEF PROCgetw(handle%)
 6340!q%=handle%:SYS "Wimp_GetWindowState",,q%:PROCinfo(q%+4)
 6350ENDPROC
 6360DEF PROCgeti(h%,i%)
 6370!q%=h%:q%!4=i%:SYS "Wimp_GetIconState",,q%
 6380ix0%=q%!8:iy0%=q%!12:ix1%=q%!16:iy1%=q%!20
 6390iflags%=q%!24:idata%=q%+28
 6400ENDPROC
 6410
 6420DEF PROCinfo(p%)
 6430LOCAL x0%,y0%
 6440x0%=!p%:y0%=p%!4:x1%=p%!8:y1%=p%!12
 6450scx%=p%!16:scy%=p%!20:bhandle%=p%!24:flags%=p%!28
 6460bx%=x0%-scx%:by%=y1%-scy%
 6470ENDPROC
 6480
 6490DEF PROC_PutName(p$)
 6500LOCAL T%
 6510q%!0=saveW%:q%!4=1
 6520SYS "Wimp_GetIconState",,q%
 6530T%=q%!28
 6540$T%=p$
 6550!(T%+LEN(p$))=0
 6560ENDPROC
 6570
 6580DEF PROC_KeyPress
 6590CASE q%!0 OF
 6600WHEN saveW%: i%=2:PROC_DoSave
 6610WHEN cpL%: REM Colour picker will deal with it
 6620WHEN cpR%: REM Colour picker will deal with it
 6630REM OTHERWISE: SYS"Wimp_ProcessKey",q%!24
 6640ENDCASE
 6650ENDPROC
 6660
 6670DEF PROC_DoSave
 6680IF i%=0 THEN
 6690            SYS "Wimp_GetPointerInfo",,q%
 6700            PROCdragicon(q%!0,q%!4,saveW%,i%)
 6710 ENDIF
 6720 IF i%=2 THEN
 6730  PROC_GetName
 6740  IF INSTR(fn$,":") THEN PROC_Save ELSE PROC_setupW("Drag the Icon into a Directory")
 6750  SYS "Wimp_CreateMenu",,-1
 6760 ENDIF
 6770ENDPROC
 6780
 6790DEF PROC_Save
 6800LOCAL ch%,pp%
 6810OSCLI("SAVE "+fn$+" "+STR$~(UP%)+" "+STR$~(UP%+1024))
 6820OSCLI("SETTYPE "+fn$+" 044")
 6830IF secureF%<>-1 THEN PROC_PutName(fn$)
 6840ENDPROC
 6850
 6860DEF PROC_GPAL
 6870LOCAL A%
 6880FOR A%=0 TO 255
 6890SYS"OS_ReadPalette",A%,16 TO ,,C1%,C2%
 6900PAL%!(A%*4)=C1%
 6910PAL%!(A%*4+1024)=C1%
 6920NEXT
 6930ENDPROC
 6940
 6950
 6960DEF PROC_Scol(A%)
 6970LOCAL C%
 6980C%=UP%!(A%*4)
 6990SYS"ColourTrans_SetGCOL",C%,0,0
 7000ENDPROC
 7010
 7020DEF PROC_BLOCK(F%,T%)
 7030LOCAL A%,G,D,E%
 7040IF F%=T% THEN ENDPROC
 7050G=0
 7060D=255/(T%-F%)
 7070FOR A%=F% TO T%
 7080E%=G
 7090UP%!(A%*4)= E%<<24 OR E%<<16 OR E%<<8
 7100G=G+D
 7110NEXT
 7120PROC_PutPal
 7130ENDPROC
 7140
 7150DEF PROC_Inv
 7160LOCAL A%
 7170FOR A%=0 TO 255
 7180UP%!(A%*4)=UP%!(A%*4) EOR &FFFFFF00
 7190NEXT
 7200PROC_PutPal
 7210ENDPROC
 7220
 7230DEF PROC_PInv
 7240LOCAL C%,R%,G%,B%,A%,P%
 7250P%=Ar2%-Ar1%
 7260FOR A%=0 TO P%
 7270UP%!((Ar1%+A%)*4)=UP%!((Ar1%+A%)*4) EOR &FFFFFF00
 7280NEXT
 7290PROC_PutPal
 7300ENDPROC
 7310
 7320DEF PROC_PalLoad(F$,T%)
 7330LOCAL A%,B%,G%,R%
 7340CASE T% OF
 7350WHEN &690: F%=OPENIN(F$)  :REM CLEAR FILE
 7360            IF F%<>0 THEN
 7370             REPEAT
 7380              C%=BGET#F%
 7390              UNTIL C%=8 OR EOF#F%
 7400              IF C%=8 THEN
 7410              PROC_PREAD
 7420              ENDIF
 7430             CLOSE #F%
 7440          ENDIF
 7450
 7460WHEN &695 :  F%=OPENIN(F$) :REM GIF FILE
 7470             IF F%<>0 THEN
 7480              FOR A%=0 TO 10
 7490              IF NOT(EOF#F%) THEN C%=BGET#F%
 7500              NEXT
 7510                  IF NOT(EOF#F%) THEN A%=BGET#F%
 7520                  IF NOT(EOF#F%) THEN A%=BGET#F%
 7530             IF (C% AND 128)=0 THEN
 7540                 FOR A%=0 TO 9
 7550                 IF NOT(EOF#F%) THEN C%=BGET#F%
 7560                 NEXT
 7570             ENDIF
 7580                PROC_PREAD
 7590             CLOSE #F%
 7600             ENDIF
 7610WHEN  &44 : REM My pallette file
 7620            F%=OPENIN(F$)
 7630            IF F%<>0 THEN
 7640             PROC_MPREAD
 7650            CLOSE #F%
 7660            ENDIF
 7670
 7680OTHERWISE :  F%=OPENIN(F$) :REM ANY FILE
 7690             IF F%<>0 THEN
 7700             PROC_PREAD
 7710             CLOSE #F%
 7720             ENDIF
 7730ENDCASE
 7740
 7750
 7760PROC_PutName(F$)
 7770PROC_PutPal
 7780ENDPROC
 7790
 7800DEF PROC_MPREAD
 7810LOCAL A%,R%,G%,B%,D%
 7820A%=0
 7830REPEAT
 7840IF NOT(EOF#F%) THEN D%=BGET#F%
 7850IF NOT(EOF#F%) THEN R%=BGET#F%
 7860IF NOT(EOF#F%) THEN G%=BGET#F%
 7870IF NOT(EOF#F%) THEN B%=BGET#F%
 7880UP%!(A%*4)=R%<<8 OR G%<<16 OR B%<<24
 7890A%+=1
 7900UNTIL A%=256 OR EOF#F%
 7910PROC_PutPal
 7920ENDPROC
 7930
 7940DEF PROC_PREAD
 7950LOCAL A%,R%,G%,B%
 7960A%=0
 7970REPEAT
 7980IF NOT(EOF#F%) THEN R%=BGET#F%
 7990IF NOT(EOF#F%) THEN G%=BGET#F%
 8000IF NOT(EOF#F%) THEN B%=BGET#F%
 8010UP%!(A%*4)=R%<<8 OR G%<<16 OR B%<<24
 8020A%+=1
 8030UNTIL A%=256 OR EOF#F%
 8040
 8050ENDPROC
 8060
 8070DEF PROC_fill(S%,E%,C%)
 8080LOCAL A%
 8090FOR A%=S% TO E%
 8100UP%!(A%*4)=C%<<8 OR C%<<16 OR C%<<24
 8110NEXT
 8120ENDPROC
 8130
 8140DEF PROC_fillc(S%,E%,C%)
 8150LOCAL A%
 8160FOR A%=S% TO E%
 8170UP%!(A%*4)=C%
 8180NEXT
 8190ENDPROC
 8200
 8210DEF PROC_NCOL(N%,C%)
 8220LOCAL R%,G%,B%
 8230R%=(C%>>8) AND 255
 8240G%=(C%>>16) AND 255
 8250B%=C%>>24 AND 255
 8260UP%!(N%*4)=R%<<8 OR G%<<16 OR B%<<24
 8270ENDPROC
 8280
 8290DEF PROC_RGBint
 8300LOCAL R%,G%,B%,R1%,G1%,B1%,R2%,G2%,B2%,D%,RI,GI,BI,C%
 8310D%=Ar2%-Ar1%
 8320IF D% <>0 THEN
 8330 C%=UP%!(Ar1%*4)
 8340 R1%=(C%>>8) AND 255
 8350 G1%=(C%>>16) AND 255
 8360 B1%=C%>>24 AND 255
 8370
 8380 C%=UP%!(Ar2%*4)
 8390 R2%=(C%>>8) AND 255
 8400 G2%=(C%>>16) AND 255
 8410 B2%=C%>>24 AND 255
 8420
 8430 RI=(R2%-R1%)/D% : GI=(G2%-G1%)/D% : BI=(B2%-B1%)/D%
 8440  FOR C%=1 TO D%
 8450  R%=R1%+C%*RI
 8460  G%=G1%+C%*GI
 8470  B%=B1%+C%*BI
 8480  UP%!((Ar1%+C%)*4)=R%<<8 OR G%<<16 OR B%<<24
 8490NEXT
 8500PROC_PutPal
 8510ENDIF
 8520ENDPROC
 8530
 8540DEF PROC_HSVint
 8550LOCAL R%,G%,B%,C%,H1%,H2%,S1,S2,V1,V2,Hi,Si,Vi
 8560D%=Ar2%-Ar1%
 8570IF D% <>0 THEN
 8580 C%=UP%!(Ar1%*4)
 8590 R%=(C%>>8) AND 255
 8600 G%=(C%>>16) AND 255
 8610 B%=C%>>24 AND 255
 8620 SYS"ColourTrans_ConvertRGBToHSV",R%,G%,B% TO H1%,S1,V1
 8630 H1%=H1%>>16
 8640
 8650 C%=UP%!(Ar2%*4)
 8660 R%=(C%>>8) AND 255
 8670 G%=(C%>>16) AND 255
 8680 B%=C%>>24 AND 255
 8690 SYS"ColourTrans_ConvertRGBToHSV",R%,G%,B% TO H2%,S2,V2
 8700 H2%=H2%>>16
 8710
 8720  Hi=(H2%-H1%)/D% : Si=(S2-S1)/D% : Vi=(V2-V1)/D%
 8730  IF ABS(H2%-H1%)>180 THEN Hi=(H1%-H2%)/D%
 8740
 8750  FOR C%=1 TO D%
 8760  V2=V1+C%*Vi
 8770  S2=S1+C%*Si
 8780  H2%=H1%+C%*Hi
 8790  IF(H2%>360) THEN H2%=H2%-360
 8800  IF(H2%<=0) THEN H2%=H2%+360
 8810  SYS"ColourTrans_ConvertHSVToRGB",H2%<<16,INT(S2),INT(V2) TO R%,G%,B%
 8820  UP%!((Ar1%+C%)*4)=R%<<8 OR G%<<16 OR B%<<24
 8830NEXT
 8840PROC_PutPal
 8850ENDIF
 8860ENDPROC
 8870
 8880DEF PROC_SetCols
 8890LOCAL grab%,A%
 8900
 8910SYS"OS_ReadModeVariable",-1,3 TO ,,Ncolours%
 8920
 8930IF Ncolours%<257 THEN
 8940  FOR grab%=0 TO 2048-8 STEP 8
 8950  paltemp%!(grab%>>1)=SP%!(grab%+44)
 8960  NEXT
 8970  FOR A%=0 TO 255: PTT%?A%=A%:NEXT
 8980   FOR A%=0 TO 255
 8990   SYS"ColourTrans_ReturnColourNumber",paltemp%!(A%<<2) TO PTT%?A%
 9000   NEXT
 9010ENDIF
 9020SYS"ColourTrans_SelectTable",SP%,"POINT",-1,0,Pt%,1
 9030ENDPROC
 9040
 9050DEF PROC_PutPal
 9060LOCAL A%,B%
 9070FOR A%=0 TO 255
 9080B%=UP%!(A%*4)
 9090pal%!(A%*8)=B%
 9100pal%!(A%*8+4)=B%
 9110PAL%!(A%*4+Udb%)=B%
 9120NEXT
 9130IF Udb%=0 THEN Udb%=1024 ELSE Udb%=0
 9140PROC_SetCols
 9150IF wopen% THEN
 9160SYS"Wimp_ForceRedraw",pallW%,0,-400,640,0
 9170ENDIF
 9180ENDPROC
 9190
 9200DEF PROC_Undo
 9210LOCAL A%,B%
 9220FOR A%=0 TO 255
 9230UP%!(A%*4)=PAL%!(A%*4+Udb%)
 9240NEXT
 9250PROC_PutPal
 9260ENDPROC
 9270
 9280DEF PROC_GREY
 9290REM Make up the pallette
 9300FOR A%=0 TO 255
 9310UP%?(A%*4+1)=A%
 9320UP%?(A%*4+2)=A%
 9330UP%?(A%*4+3)=A%
 9340NEXT
 9350ENDPROC

�>Develop.!PalMake.PalMake
� � �errorbox

(� taskid%4:$taskid%="TASK"
2� intmess% 200
<Nintmess%!0=2:intmess%!4=3:intmess%!8=4:intmess%!12=&400C1:intmess%!16=&502
Fintmess%!20=0
PG� CODE% &280, PAL% 2048,Upal% 2048,PTT% 2048,UP% 1024,paltemp% 2048
Z&� Pt% 24,invmenu% 100,defmenu% 100
dRș "Wimp_Initialise",300,!taskid%,"PalletteMake",intmess% � version%,taskhand%
n
xM� q% &300,qc% 80, W% &300,temp% 256,buffers% 512,menu% 128,SW% 256,cb% 18
�K� IsName% 256, Wmenu% 512,Smenu% 256,Imenu% 256, TextWarn% 100, ww% 256
�)� PCWl% 256,PCWr% 256,Pl% 255,Pr% 255
�5ș "Wimp_OpenTemplate",,"<PalMake$Dir>.Templates"
�)� � ș "Wimp_CloseTemplate":�errorbox
�
�:ș "Wimp_LoadTemplate",,q%,temp%,temp%+256,-1,"Info",0
�&ș "Wimp_CreateWindow",,q% � info%
�
�;ș "Wimp_LoadTemplate",,PCWl%+4,Pl%,Pl%+256,-1,"left",0
�+ș "Wimp_CreateWindow",,PCWl%+4 � pcwl%
�PCWl%!0=pcwl%
�
�<ș "Wimp_LoadTemplate",,PCWr%+4,Pr%,Pr%+256,-1,"right",0
+ș "Wimp_CreateWindow",,PCWr%+4 � pcwr%
PCWr%!0=pcwr%

"<ș "Wimp_LoadTemplate",,W%+4,SW%,SW%+256,-1,"Pallette",0
,W%!28=-1
6)ș "Wimp_CreateWindow",,W%+4 � pallW%
@W%!0=pallW%
JEș "Wimp_LoadTemplate",,q%,IsName%,IsName%+256,-1,"save_script",0
T'ș "Wimp_CreateWindow",,q% � saveW%
^9ș "Wimp_LoadTemplate",,q%,ww%,ww%+256,-1,"Warning",0
h)q%!108=TextWarn%:q%!112=-1:q%!116=300
r XQ%=q%!8-q%!0:YQ%=q%!12-q%!4
|*ș "Wimp_CreateWindow",,q% � warningW%
�ș "Wimp_CloseTemplate"
�
ref%=0
�cpL%=0:cpR%=0
�smpicon%=�icon
�wopen%=�:warnOn%=�
�� � �errorbox
�QAr1%=20:Ar2%=200:xs%=2 :� 2 pixels per x increment use read VDU vars in final
�
GotBar%=�
�
Udb%=0
��_PutName("Pall")
�
DragOn%=�
�secureF%=0
�
�_MS
�setupmenu

&�
0 ș "Wimp_Poll",%1,q% � A%
:
  Ȏ A% �
D   � 1:�_doWindow
NG   � 2:ș "Wimp_OpenWindow",,q% :� q%!0=pallW% � wopen%=�:�_SetCols
X   � 3:�_close
b   � 6:�_do_click(q%)
l   � 7:�_PutDown(q%)
v   � 8:�_KeyPress
�   � 9:�_SORT_Menu
�   � 17,18:�receive(q%)
�   �
� � �
�
��
�
�� �_PutDown(q%)
�� DragOn% �
�#� SYS "Wimp_GetPointerInfo",,q%
�
�_GetName
� ș "Wimp_GetPointerInfo",,q%
�5messh%=q%!12:messi%=q%!16:messx%=q%!0:messy%=q%!4
#� � fn$,":") � fn$=�_spath(fn$)
$(q%+44)=fn$
?(q%+44+�(fn$))=0
 ;q%!20=q%!12:q%!28=q%!0:q%!32=q%!4:q%!36=1024:q%!40=&044
*q%!0=56:q%!12=0:q%!16=1
4-ș "Wimp_SendMessage",17,q%,messh%,messi%
>saveref%=q%!8
Hș "Wimp_CreateMenu",,-1
R
DragOn%=�
\�
f�
p
z� �_spath(n$)
�ȕ �n$,".")
�n$=�n$,�(n$)-1)
��
�� �(n$)>10 � n$=�n$,10)
�=n$
�
�� �_GetName
�� T%,A%,F$
�F$="":fn$=""
�q%!0=saveW%:q%!4=1
�ș "Wimp_GetIconState",,q%
�T%=q%!28
�	T%-=1
�
	T%+=1
F$=F$+�(?T%)
$� ?T%=0
.fn$=�F$,1,�(F$)-1)
8�
B
L� �_SORT_Menu
V� IconMenu% �
`� !q%=1 � �die
j�
tȎ !q% �
~0  � 1 :    �_fill(0,0,0):�_fill(255,255,255)
�              �_PutPal
�  � 2 :
�           Ȏ q%!4 �
�#            � 0 :�_BLOCK(0,255)
�              GotBar%=�
�4              � 1 :F%=�("<PalMake$Dir>.Default")
�              �_MPREAD
�              � #F%
�              GotBar%=�
�            �
� 
�  � 3 :   Ȏ q%!4 �
                � 0: �_Inv

                � 1: �_PInv
                �

(  � 4 :    Ȏ q%!4 �
2)               � 0:�_BLOCK(Ar1%,Ar2%)
<O               � 1:�_fill(0,Ar1%,0):�_fill(Ar2%,255,255):�_BLOCK(Ar1%,Ar2%)
F               � 2:�_RGBint
P               � 3:�_HSVint
Z?               � 4:�_fillc(Ar1%,Ar2%,UP%!(Ar1%*4)):�_PutPal
d?               � 5:�_fillc(Ar1%,Ar2%,UP%!(Ar2%*4)):�_PutPal
n             �
x
�  � 5: �_Undo
�
��
�
��
�ș"Wimp_GetPointerInfo",,q%
�*� q%!8=1 � ș"Wimp_CreateMenu",,Wmenu%
��
�
�
� �_close
�A� q%!0=pallW% � wopen%=�:GotBar%=�:ș"Wimp_GetWindowInfo",,W%
� � q%!0=warningW% � warnOn%=�
�0� q%!0=pcwl% � ș"Wimp_GetWindowInfo",,PCWl%
0� q%!0=pcwr% � ș"Wimp_GetWindowInfo",,PCWr%
ș "Wimp_CloseWindow",,q%
�
"
,� �_do_click(q%)
6� X%,Y%,C%,T%
@i%=q%!16
JȎ q%!12 �
T(� warningW%: q%!0=warningW% :�_close
^$�    saveW%: DragOn%=�: �_DoSave
h(� -2: � Look first at Icon Bar Click
r        � q%!16=smpicon% �
|J        � q%!8=2 � IconMenu%=�: ș"Wimp_CreateMenu",,menu%,q%!0-94,190
�!        � q%!8=4 � �_OpenWhat
�
        �
�
�T� pallW%:  � q%!8=2 � IconMenu%=�:ș"Wimp_CreateMenu",,Wmenu%, q%!0-94,(q%!4)-40
�!              � q%!8=4 � �_DA
�� pcwl%:  X%=q%!0:Y%=q%!4
�             �_Trans(pcwl%)
�             �_cs
�              UP%!(Ar1%*4)=C%
�             �_PutPal
�� pcwr%:  X%=q%!0:Y%=q%!4
�             �_Trans(pcwr%)
�             �_cs
              UP%!(Ar2%*4)=C%
             �_PutPal
�
&�
0
:
� �_cs
D!X%=(X%-XO%)/32:Y%=(YO%-Y%)/32
N
T%=X% � 3
XC%=T%<<12 � T%<<20 � T%<<28
b T%=(X% � 4)>>2 � (Y% � 1)<<1
lC%=C% � T%<<14
v$T%=(Y% � 6) >>1 : C%=C% � T%<<22
�2T%=(Y% � &8)>>2 � (X% � &8)>>3: C%=C% � T%<<30
��
�
�� �_OpenWhat
�� Ncol%
�� �(warnOn%) �
�,  ș"OS_ReadModeVariable",-1,3 � ,,Ncol%
�  �_Open
��
��
�
�
� �_DA
�� D%,P%,X%,XL%,Y%,B%
D%=�pointIn


� D%<>0 �
 � D%=1 � P%=Ar1% � P%=Ar2%
*ȗ XL%,Y%,B%
4
X%=XL%
>ȕ B%=4
H  ȕ (XL%=X% � B%=4)
R   ȗ X%,Y%,B%
\   �
f4  q%!0=pallW%:q%!4=0:q%!8=-100:q%!12=560:q%!16=0
p'  ș"Wimp_UpdateWindow",,q% � More%
z
�
 ȕ More%
�
�   P%=(X%-xo%-6)/xs%
�   � P%<0 � P%=0
�   � P%>255 � P%=255
�#     � D%=1 � Ar1%=P% � Ar2%=P%
�/     � Ar1%>Ar2% � Ȕ Ar1%,Ar2% : D%=D% � 3
�
�>     ș"OS_SpriteOp",52+256,SP%,"BAR",xo%-2,yo%+32,&10,0,0
�
�K     ș"OS_SpriteOp",52+256,SP%,"POINT",xo%-2+Ar1%*xs%,yo%+32,&1C,0,Pt%
�K     ș"OS_SpriteOp",52+256,SP%,"POINT",xo%-2+Ar2%*xs%,yo%+32,&1C,0,Pt%
�
	     �_Scol(Ar1%)
	     ȓȐ xo%,yo%,30,30
	&     ș"ColourTrans_SetGCOL",0,0,0
	$     ȓ xo%,yo%,30,30
	.
	8     �_Scol(Ar2%)
	B#     ȓȐ xo%+246*xs%,yo%,30,30
	L&     ș"ColourTrans_SetGCOL",0,0,0
	V!     ȓ xo%+246*xs%,yo%,30,30
	`
	j'  ș"Wimp_GetRectangle",,q% � More%
	t �
	~
	�
   XL%=X%
	�   ȗ X%,Y%,B%
	��
	��
	�D%=�pointSq
	�
� D%<>0 �
	�      ȗ X%,Y%,B%
	�      cb%!0=&808080:cb%!8=0
	�Q      qc%!0=&8:qc%!4=TextWarn%: qc%!8=X%: qc%!20=Y%:qc%!32=&80808000:qc%!36=0
	�
	�<      � D%=1 � qc%!32=UP%!(Ar1%*4) � qc%!32=UP%!(Ar2%*4)
	�      � D%=1 �
       � cpL%=0 �

5         $TextWarn%="Pick a new left hand colour"
         Tc1%=qc%!32
         PCWl%!28=-1
('         ș"Wimp_OpenWindow",,PCWl%
2
        �
<      �
F       � cpR%=0 �
P6         $TextWarn%="Pick a new right hand colour"
Z         Tc2%=qc%!32
d         PCWr%!28=-1
n'         ș"Wimp_OpenWindow",,PCWr%
x
        �
�      �
�
��
��
��
�
�� �_Open
�� OPEN UP WINDOW HERE
�� wopen% �
�
�_SetCols
�q%!0=pallW%
�ș"Wimp_GetWindowState",,q%
�6  � q%!28<>-1 � q%!28=-1: ș "Wimp_OpenWindow",,q%
�
ș "Wimp_OpenWindow",,W%
wopen%=�
"�
,�
6
@� �_doWindow
J  � A%,I%,L%
T � q%!0=pallW% �
^   �_Trans(pallW%)
h)   ș "Wimp_RedrawWindow",,q% � flag%
r     ȕ flag%
|
�A     ș"OS_SpriteOp",52+256,SP%,"PLA",xo%+6,yo%+48,&10,0,PTT%
�     � �(GotBar%) �
�N     ș"OS_SpriteOp",16+256,SP%,"BAR",0,xo%-2,yo%+32,xo%+12+256*xs%,yo%+46
�     GotBar%=�
�
     �
�
�K     ș"OS_SpriteOp",52+256,SP%,"POINT",xo%-2+Ar1%*xs%,yo%+32,&1C,0,Pt%
�K     ș"OS_SpriteOp",52+256,SP%,"POINT",xo%-2+Ar2%*xs%,yo%+32,&1C,0,Pt%
�
�     �_Scol(Ar1%)
�     ȓȐ xo%,yo%,30,30
�&     ș"ColourTrans_SetGCOL",0,0,0
�     ȓ xo%,yo%,30,30

     �_Scol(Ar2%)
#     ȓȐ xo%+246*xs%,yo%,30,30
&&     ș"ColourTrans_SetGCOL",0,0,0
0!     ȓ xo%+246*xs%,yo%,30,30
:
D+     ș "Wimp_GetRectangle",,q% � flag%
N
     �
X   �
b
l  �
v
�� �pointSq
�� X%,Y%,B%,R%
��_Trans(pallW%)
�ȗ X%,Y%,B%
�R%=0
�)� (X%<(xo%+30) � Y%<(yo%+30) ) � R%=1
�.� (X%>(xo%+246*xs%) � Y%<(yo%+30) ) � R%=2
�=R%
�
�� �pointIn
�� X%,Y%,B%,R%
��_Trans(pallW%)
�ȗ X%,Y%,B%

R%=0

G� (�((X%-xo%)-(8+Ar1%*xs%))<16 � (Y%-yo%>28) � (Y%-yo%<49) ) � R%=1

G� (�((X%-xo%)-(8+Ar2%*xs%))<16 � (Y%-yo%>28) � (Y%-yo%<49) ) � R%=2

 =R%

*

4� �_Aarrow(A%,C%)

>
� 0,C%

H
A%=A%*xs%

R� xo%+6+A%,yo%+48

\
� 0,-8,-8

f
� 81,16,0

p� 0,-6,0

z� 97,-4,-8

�

��

�

�
� �_MS

�� MAKE A PALLETTE SPRITE

�
SZ%=18000

�
� SP% SZ%

�
SP%!0=SZ%

�SP%!8=16

�ș"OS_SpriteOp",9+256,SP%

�0ș"OS_SpriteOp",15+256,SP%,"PLA",0,256,20,21

�sptr%=SP%+SP%!8

�pal%=sptr%+44
!(sptr%+8*4)+=2048
!(sptr%+9*4)+=2048
!sptr%+=2048
$!(SP%+12)+=2048
.
�_GREY
8
B7P%=pal%+2048 : � POINT AT START OF SPRITE IN MEMORY
L� Draw the bars of colour
V� B%=0 � 19
`� A%=0 � 255
j?(P%+256*B%+A%)=A%
t�
~�
�#� Merge the pointer sprite file
�6ș"OS_SpriteOp",11+256,SP%,"<PalMake$Dir>.Sprites"
��_PutPal
��
�
�� �_Trans(wh%)
�!q%=wh%
� ș "Wimp_GetWindowState",,q%
�'xo%=q%!4-q%!20+8:yo%=q%!16-q%!24-88
�XO%=q%!4:YO%=q%!16
��
�
��setupmenu

� m%
$invmenu%="Invert"
invmenu%?12=7
(invmenu%?13=2
2invmenu%?14=7
<invmenu%?15=0
Finvmenu%!16=178
Pinvmenu%!20=40
Zinvmenu%!24=0
dm%=invmenu%+28
n
m%!0=0
x
m%!4=0
�m%!8=(7<<24)� %10001
�$(m%+12)="Invert all"
�
�
m%+=24
�m%!0=&80
�
m%!4=0
�m%!8=(7<<24)� %10001
�$(m%+12)="Invert part"
�
�$defmenu%="Default"
�defmenu%?12=7
�defmenu%?13=2
�defmenu%?14=7
defmenu%?15=0
defmenu%!16=120
defmenu%!20=40
"defmenu%!24=0
,m%=defmenu%+28
6
m%!0=0
@
m%!4=0
Jm%!8=(7<<24)� %10001
T$(m%+12)="Grey"
^
h
m%+=24
rm%!0=&80
|
m%!4=0
�m%!8=(7<<24)� %10001
�$(m%+12)="Colour"
�
�$Imenu%="Colours"
�Imenu%?12=7
�Imenu%?13=2
�Imenu%?14=7
�Imenu%?15=0
�Imenu%!16=170
�Imenu%!20=40
�Imenu%!24=0
�m%=Imenu%+28
�
m%!0=0

m%!4=0
m%!8=(7<<24)� %10001
$(m%+12)="Grey Wedge"
&
0
m%+=24
:
m%!0=0
D
m%!4=0
Nm%!8=(7<<24)� %10001
X$(m%+12)="Grey Short"
b
l
m%+=24
v
m%!0=0
�
m%!4=0
�m%!8=(7<<24)� %10001
�$(m%+12)="RGB Colour"
�
�
m%+=24
�
m%!0=0
�
m%!4=0
�m%!8=(7<<24)� %10001
�$(m%+12)="HVS Colour"
�
�
m%+=24
�
m%!0=0
�
m%!4=0
m%!8=(7<<24)� %10001
$(m%+12)="From left"

 
m%+=24
*m%!0=&80
4
m%!4=0
>m%!8=(7<<24)� %10001
H$(m%+12)="From right"
R
\$menu%="PalletteMake"
fmenu%?12=7
pmenu%?13=2
zmenu%?14=7
�menu%?15=0
�menu%!16=86
�menu%!20=40
�menu%!24=0
�m%=menu%+28
�
m%!0=0
�m%!4=info%
�m%!8=(7<<24)� %10001
�$(m%+12)="Info"
�
�
m%+=24
�m%!0=&80
�
m%!4=0
m%!8=(7<<24)� %10001
$(m%+12)="Quit"

$$Wmenu%="PallMake"
.Wmenu%?12=7
8Wmenu%?13=2
BWmenu%?14=7
LWmenu%?15=0
VWmenu%!16=188
`Wmenu%!20=40
jWmenu%!24=0
tm%=Wmenu%+28
~
m%!0=0
�m%!4=saveW%
�m%!8=(7<<24)� %10001
�$(m%+12)="Save"
�
�
m%+=24
�
m%!0=0
�
m%!4=0
�m%!8=(7<<24)� %10001
�$(m%+12)="Ends B/W"
�
�
m%+=24
�
m%!0=0
m%!4=defmenu%

m%!8=(7<<24)� %10001
$(m%+12)="Default"

(
m%+=24
2
m%!0=0
<m%!4=invmenu%
Fm%!8=(7<<24)� %10001
P$(m%+12)="Invert"
Z
d
m%+=24
n
m%!0=0
xm%!4=Imenu%
�m%!8=(7<<24)� %10001
�$(m%+12)="Interpolate"
�
�
m%+=24
�m%!0=&80
�
m%!4=0
�m%!8=(7<<24)� %10001
�$(m%+12)="Undo Change"
�
�
�� �receive(q%)
�� A%
�A%=q%!16
Ȏ A% �
� 0:�die
� 2:� q%!12=saveref% � 
"          secureF%=q%!36
,%          fn$=�sget(q%+44):�_Save
68          q%!12=saveref%:q%!16=3:q%!0=256:q%!40=&044
@A          q%!20=messh%:q%!24=messi%:q%!28=messx%:q%!32=messy%
J7          ș "Wimp_SendMessage",17,q%,messh%,messi%
T          �
^
h4� 3:� q%!20=-2 � q%!24=smpicon% � q%!20=pallW% �
r        Ftype%=q%!40
|        n$=�sget(q%+44)
�        �_Dack
�         �_PalLoad(n$,Ftype%)
�        ref%=0
�       �
�
�� &502:   Ȏ � �
�o             � q%!32=-2 � q%!36=smpicon%:mes$="This is the Pallete Make icon.|MObserve the pallette in use"
�             :mes$=""
�             �
�    � mes$<>"" �
�    q%!12=q%!8
�    $(q%+20)=mes$+�0
�    q%!0=(20+�mes$+4)� � 3
    q%!16=&503
(    ș "Wimp_SendMessage",18,q%,q%!4
�
&�
0
:� �_Dack
Dsendth%=q%!4
Nmyref%=q%!8
X"ș "Wimp_GetPointerInfo",,q%+8
bq%!28=q%!8
lq%!32=q%!12
vq%!0=(44+�n$+4)� � 3
�q%!12=myref%
�q%!16=4
�q%!36=-1
�q%!40=&FF9
�$(q%+44)=n$+�0
�'ș "Wimp_SendMessage",17,q%,sendth%
��
��
�
�ݤsget(x%)
�� x$
�ȕ ?x% x$+=�(?x%):x%+=1:�
�=x$


ݤicon
q%!0=-1
 
q%!4=0
*q%!8=10 : � Y DIRECTION
4q%!12=70 : � X DIRECTION
>q%!16=96
Hq%!20=&2002
R$(q%+24)="!PalMake"
\$ș "Wimp_CreateIcon",,q% � icon%
f
=icon%
p
z� �_setupW(t$)
�X!q%=warningW%:q%!4=200:q%!8=200:q%!12=200+XQ%:q%!16=200+YQ%:q%!20=0:q%!24=0:q%!28=-1
�$TextWarn%=t$
�TextWarn%?�(t$)=0
�� 7
�
warnOn%=�
�ș "Wimp_OpenWindow",,q%
��
�
�� �errorbox
�ș "Wimp_DragBox",,-1
�2!buffers%=�:$(buffers%+4)=�$+" at line "+Þ+�0
�3ș "Wimp_ReportError",buffers%,1,"PalletteMake"
��die
�

	��die
$*ș "Wimp_CloseDown",taskhand%,!taskid%
.�
8�
B
L.� �dragicon(mousex%,mousey%,handle%,icon%)
V!� bx%,by%,ix0%,iy0%,ix1%,iy1%
`�getw(handle%)
j�geti(handle%,icon%)
t!q%=handle%:q%!4=5
~>q%!8=bx%+ix0%:q%!12=by%+iy0%:q%!16=bx%+ix1%:q%!20=by%+iy1%
�*q%!24=q%!8-mousex%:q%!28=q%!12-mousey%
�ș "Wimp_DragBox",,q%
�SFLAG%=�
��
�
�� �getw(handle%)
�8!q%=handle%:ș "Wimp_GetWindowState",,q%:�info(q%+4)
��
�� �geti(h%,i%)
�-!q%=h%:q%!4=i%:ș "Wimp_GetIconState",,q%
�.ix0%=q%!8:iy0%=q%!12:ix1%=q%!16:iy1%=q%!20
�iflags%=q%!24:idata%=q%+28
�


� �info(p%)

� x0%,y0%
('x0%=!p%:y0%=p%!4:x1%=p%!8:y1%=p%!12
25scx%=p%!16:scy%=p%!20:bhandle%=p%!24:flags%=p%!28
<bx%=x0%-scx%:by%=y1%-scy%
F�
P
Z� �_PutName(p$)
d� T%
nq%!0=saveW%:q%!4=1
xș "Wimp_GetIconState",,q%
�T%=q%!28
�
$T%=p$
�!(T%+�(p$))=0
��
�
�� �_KeyPress
�
Ȏ q%!0 �
�� saveW%: i%=2:�_DoSave
�-� cpL%: � Colour picker will deal with it
�-� cpR%: � Colour picker will deal with it
�+� OTHERWISE: SYS"Wimp_ProcessKey",q%!24
��
��

� �_DoSave
� i%=0 �
",            ș "Wimp_GetPointerInfo",,q%
,.            �dragicon(q%!0,q%!4,saveW%,i%)
6 �
@
 � i%=2 �
J  �_GetName
TG  � �fn$,":") � �_Save � �_setupW("Drag the Icon into a Directory")
^  ș "Wimp_CreateMenu",,-1
h �
r�
|
�� �_Save
�
� ch%,pp%
�/�("SAVE "+fn$+" "+�~(UP%)+" "+�~(UP%+1024))
��("SETTYPE "+fn$+" 044")
�#� secureF%<>-1 � �_PutName(fn$)
��
�
�� �_GPAL
�� A%
�� A%=0 � 255
�(ș"OS_ReadPalette",A%,16 � ,,C1%,C2%
�PAL%!(A%*4)=C1%
�PAL%!(A%*4+1024)=C1%
�
�

&
0� �_Scol(A%)
:� C%
DC%=UP%!(A%*4)
N"ș"ColourTrans_SetGCOL",C%,0,0
X�
b
l� �_BLOCK(F%,T%)
v� A%,G,D,E%
�� F%=T% � �
�G=0
�D=255/(T%-F%)
�� A%=F% � T%
�E%=G
�'UP%!(A%*4)= E%<<24 � E%<<16 � E%<<8
�	G=G+D
��
��_PutPal
��
�
�� �_Inv
�� A%
� A%=0 � 255
%UP%!(A%*4)=UP%!(A%*4) � &FFFFFF00
�
 �_PutPal
*�
4
>� �_PInv
H� C%,R%,G%,B%,A%,P%
RP%=Ar2%-Ar1%
\� A%=0 � P%
f3UP%!((Ar1%+A%)*4)=UP%!((Ar1%+A%)*4) � &FFFFFF00
p�
z�_PutPal
��
�
�� �_PalLoad(F$,T%)
�� A%,B%,G%,R%
�Ȏ T% �
�#� &690: F%=�(F$)  :� CLEAR FILE
�            � F%<>0 �
�             �
�              C%=�#F%
�              � C%=8 � �#F%
�              � C%=8 �
�              �_PREAD
�              �
             � #F%
          �

$"� &695 :  F%=�(F$) :� GIF FILE
.             � F%<>0 �
8              � A%=0 � 10
B%              � �(�#F%) � C%=�#F%
L              �
V)                  � �(�#F%) � A%=�#F%
`)                  � �(�#F%) � A%=�#F%
j!             � (C% � 128)=0 �
t                 � A%=0 � 9
~(                 � �(�#F%) � C%=�#F%
�                 �
�             �
�                �_PREAD
�             � #F%
�             �
��  &44 : � My pallette file
�            F%=�(F$)
�            � F%<>0 �
�             �_MPREAD
�            � #F%
�            �
�
 :  F%=�(F$) :� ANY FILE

             � F%<>0 �
             �_PREAD
             � #F%
(             �
2�
<
F
P�_PutName(F$)
Z�_PutPal
d�
n
x� �_MPREAD
�� A%,R%,G%,B%,D%
�A%=0
��
�� �(�#F%) � D%=�#F%
�� �(�#F%) � R%=�#F%
�� �(�#F%) � G%=�#F%
�� �(�#F%) � B%=�#F%
�&UP%!(A%*4)=R%<<8 � G%<<16 � B%<<24
�	A%+=1
�� A%=256 � �#F%
��_PutPal
��
�

� �_PREAD
� A%,R%,G%,B%
A%=0
"�
,� �(�#F%) � R%=�#F%
6� �(�#F%) � G%=�#F%
@� �(�#F%) � B%=�#F%
J&UP%!(A%*4)=R%<<8 � G%<<16 � B%<<24
T	A%+=1
^� A%=256 � �#F%
h
r�
|
�� �_fill(S%,E%,C%)
�� A%
�� A%=S% � E%
�&UP%!(A%*4)=C%<<8 � C%<<16 � C%<<24
��
��
�
�� �_fillc(S%,E%,C%)
�� A%
�� A%=S% � E%
�UP%!(A%*4)=C%
��
��
 
 � �_NCOL(N%,C%)
 � R%,G%,B%
 &R%=(C%>>8) � 255
 0G%=(C%>>16) � 255
 :B%=C%>>24 � 255
 D&UP%!(N%*4)=R%<<8 � G%<<16 � B%<<24
 N�
 X
 b� �_RGBint
 l5� R%,G%,B%,R1%,G1%,B1%,R2%,G2%,B2%,D%,RI,GI,BI,C%
 vD%=Ar2%-Ar1%
 �� D% <>0 �
 � C%=UP%!(Ar1%*4)
 � R1%=(C%>>8) � 255
 � G1%=(C%>>16) � 255
 � B1%=C%>>24 � 255
 �
 � C%=UP%!(Ar2%*4)
 � R2%=(C%>>8) � 255
 � G2%=(C%>>16) � 255
 � B2%=C%>>24 � 255
 �
 �8 RI=(R2%-R1%)/D% : GI=(G2%-G1%)/D% : BI=(B2%-B1%)/D%
 �  � C%=1 � D%
!  R%=R1%+C%*RI
!  G%=G1%+C%*GI
!  B%=B1%+C%*BI
! /  UP%!((Ar1%+C%)*4)=R%<<8 � G%<<16 � B%<<24
!*�
!4�_PutPal
!>�
!H�
!R
!\� �_HSVint
!f.� R%,G%,B%,C%,H1%,H2%,S1,S2,V1,V2,Hi,Si,Vi
!pD%=Ar2%-Ar1%
!z� D% <>0 �
!� C%=UP%!(Ar1%*4)
!� R%=(C%>>8) � 255
!� G%=(C%>>16) � 255
!� B%=C%>>24 � 255
!�9 ș"ColourTrans_ConvertRGBToHSV",R%,G%,B% � H1%,S1,V1
!� H1%=H1%>>16
!�
!� C%=UP%!(Ar2%*4)
!� R%=(C%>>8) � 255
!� G%=(C%>>16) � 255
!� B%=C%>>24 � 255
!�9 ș"ColourTrans_ConvertRGBToHSV",R%,G%,B% � H2%,S2,V2
!� H2%=H2%>>16
"
"5  Hi=(H2%-H1%)/D% : Si=(S2-S1)/D% : Vi=(V2-V1)/D%
"(  � �(H2%-H1%)>180 � Hi=(H1%-H2%)/D%
"$
".  � C%=1 � D%
"8  V2=V1+C%*Vi
"B  S2=S1+C%*Si
"L  H2%=H1%+C%*Hi
"V  �(H2%>360) � H2%=H2%-360
"`  �(H2%<=0) � H2%=H2%+360
"jD  ș"ColourTrans_ConvertHSVToRGB",H2%<<16,�(S2),�(V2) � R%,G%,B%
"t/  UP%!((Ar1%+C%)*4)=R%<<8 � G%<<16 � B%<<24
"~�
"��_PutPal
"��
"��
"�
"�� �_SetCols
"�� grab%,A%
"�
"�.ș"OS_ReadModeVariable",-1,3 � ,,Ncolours%
"�
"�� Ncolours%<257 �
"�  � grab%=0 � 2048-8 � 8
"�(  paltemp%!(grab%>>1)=SP%!(grab%+44)
#  �
#
   � A%=0 � 255: PTT%?A%=A%:�
#   � A%=0 � 255
#D   ș"ColourTrans_ReturnColourNumber",paltemp%!(A%<<2) � PTT%?A%
#(   �
#2�
#<6ș"ColourTrans_SelectTable",SP%,"POINT",-1,0,Pt%,1
#F�
#P
#Z� �_PutPal
#d� A%,B%
#n� A%=0 � 255
#xB%=UP%!(A%*4)
#�pal%!(A%*8)=B%
#�pal%!(A%*8+4)=B%
#�PAL%!(A%*4+Udb%)=B%
#��
#�!� Udb%=0 � Udb%=1024 � Udb%=0
#�
�_SetCols
#�� wopen% �
#�,ș"Wimp_ForceRedraw",pallW%,0,-400,640,0
#��
#��
#�
#�� �_Undo
#�� A%,B%
$� A%=0 � 255
$UP%!(A%*4)=PAL%!(A%*4+Udb%)
$�
$"�_PutPal
$,�
$6
$@� �_GREY
$J� Make up the pallette
$T� A%=0 � 255
$^UP%?(A%*4+1)=A%
$hUP%?(A%*4+2)=A%
$rUP%?(A%*4+3)=A%
$|�
$��
�
00000000  0d 00 0a 1e f4 3e 44 65  76 65 6c 6f 70 2e 21 50  |.....>Develop.!P|
00000010  61 6c 4d 61 6b 65 2e 50  61 6c 4d 61 6b 65 0d 00  |alMake.PalMake..|
00000020  14 11 ee 20 85 20 f2 65  72 72 6f 72 62 6f 78 0d  |... . .errorbox.|
00000030  00 1e 04 0d 00 28 1e de  20 74 61 73 6b 69 64 25  |.....(.. taskid%|
00000040  34 3a 24 74 61 73 6b 69  64 25 3d 22 54 41 53 4b  |4:$taskid%="TASK|
00000050  22 0d 00 32 12 de 20 69  6e 74 6d 65 73 73 25 20  |"..2.. intmess% |
00000060  32 30 30 0d 00 3c 4e 69  6e 74 6d 65 73 73 25 21  |200..<Nintmess%!|
00000070  30 3d 32 3a 69 6e 74 6d  65 73 73 25 21 34 3d 33  |0=2:intmess%!4=3|
00000080  3a 69 6e 74 6d 65 73 73  25 21 38 3d 34 3a 69 6e  |:intmess%!8=4:in|
00000090  74 6d 65 73 73 25 21 31  32 3d 26 34 30 30 43 31  |tmess%!12=&400C1|
000000a0  3a 69 6e 74 6d 65 73 73  25 21 31 36 3d 26 35 30  |:intmess%!16=&50|
000000b0  32 0d 00 46 11 69 6e 74  6d 65 73 73 25 21 32 30  |2..F.intmess%!20|
000000c0  3d 30 0d 00 50 47 de 20  43 4f 44 45 25 20 26 32  |=0..PG. CODE% &2|
000000d0  38 30 2c 20 50 41 4c 25  20 32 30 34 38 2c 55 70  |80, PAL% 2048,Up|
000000e0  61 6c 25 20 32 30 34 38  2c 50 54 54 25 20 32 30  |al% 2048,PTT% 20|
000000f0  34 38 2c 55 50 25 20 31  30 32 34 2c 70 61 6c 74  |48,UP% 1024,palt|
00000100  65 6d 70 25 20 32 30 34  38 0d 00 5a 26 de 20 50  |emp% 2048..Z&. P|
00000110  74 25 20 32 34 2c 69 6e  76 6d 65 6e 75 25 20 31  |t% 24,invmenu% 1|
00000120  30 30 2c 64 65 66 6d 65  6e 75 25 20 31 30 30 0d  |00,defmenu% 100.|
00000130  00 64 52 c8 99 20 22 57  69 6d 70 5f 49 6e 69 74  |.dR.. "Wimp_Init|
00000140  69 61 6c 69 73 65 22 2c  33 30 30 2c 21 74 61 73  |ialise",300,!tas|
00000150  6b 69 64 25 2c 22 50 61  6c 6c 65 74 74 65 4d 61  |kid%,"PalletteMa|
00000160  6b 65 22 2c 69 6e 74 6d  65 73 73 25 20 b8 20 76  |ke",intmess% . v|
00000170  65 72 73 69 6f 6e 25 2c  74 61 73 6b 68 61 6e 64  |ersion%,taskhand|
00000180  25 0d 00 6e 04 0d 00 78  4d de 20 71 25 20 26 33  |%..n...xM. q% &3|
00000190  30 30 2c 71 63 25 20 38  30 2c 20 57 25 20 26 33  |00,qc% 80, W% &3|
000001a0  30 30 2c 74 65 6d 70 25  20 32 35 36 2c 62 75 66  |00,temp% 256,buf|
000001b0  66 65 72 73 25 20 35 31  32 2c 6d 65 6e 75 25 20  |fers% 512,menu% |
000001c0  31 32 38 2c 53 57 25 20  32 35 36 2c 63 62 25 20  |128,SW% 256,cb% |
000001d0  31 38 0d 00 82 4b de 20  49 73 4e 61 6d 65 25 20  |18...K. IsName% |
000001e0  32 35 36 2c 20 57 6d 65  6e 75 25 20 35 31 32 2c  |256, Wmenu% 512,|
000001f0  53 6d 65 6e 75 25 20 32  35 36 2c 49 6d 65 6e 75  |Smenu% 256,Imenu|
00000200  25 20 32 35 36 2c 20 54  65 78 74 57 61 72 6e 25  |% 256, TextWarn%|
00000210  20 31 30 30 2c 20 77 77  25 20 32 35 36 0d 00 8c  | 100, ww% 256...|
00000220  29 de 20 50 43 57 6c 25  20 32 35 36 2c 50 43 57  |). PCWl% 256,PCW|
00000230  72 25 20 32 35 36 2c 50  6c 25 20 32 35 35 2c 50  |r% 256,Pl% 255,P|
00000240  72 25 20 32 35 35 0d 00  96 35 c8 99 20 22 57 69  |r% 255...5.. "Wi|
00000250  6d 70 5f 4f 70 65 6e 54  65 6d 70 6c 61 74 65 22  |mp_OpenTemplate"|
00000260  2c 2c 22 3c 50 61 6c 4d  61 6b 65 24 44 69 72 3e  |,,"<PalMake$Dir>|
00000270  2e 54 65 6d 70 6c 61 74  65 73 22 0d 00 a0 29 ee  |.Templates"...).|
00000280  20 85 20 c8 99 20 22 57  69 6d 70 5f 43 6c 6f 73  | . .. "Wimp_Clos|
00000290  65 54 65 6d 70 6c 61 74  65 22 3a f2 65 72 72 6f  |eTemplate":.erro|
000002a0  72 62 6f 78 0d 00 aa 04  0d 00 b4 3a c8 99 20 22  |rbox.......:.. "|
000002b0  57 69 6d 70 5f 4c 6f 61  64 54 65 6d 70 6c 61 74  |Wimp_LoadTemplat|
000002c0  65 22 2c 2c 71 25 2c 74  65 6d 70 25 2c 74 65 6d  |e",,q%,temp%,tem|
000002d0  70 25 2b 32 35 36 2c 2d  31 2c 22 49 6e 66 6f 22  |p%+256,-1,"Info"|
000002e0  2c 30 0d 00 be 26 c8 99  20 22 57 69 6d 70 5f 43  |,0...&.. "Wimp_C|
000002f0  72 65 61 74 65 57 69 6e  64 6f 77 22 2c 2c 71 25  |reateWindow",,q%|
00000300  20 b8 20 69 6e 66 6f 25  0d 00 c8 04 0d 00 d2 3b  | . info%.......;|
00000310  c8 99 20 22 57 69 6d 70  5f 4c 6f 61 64 54 65 6d  |.. "Wimp_LoadTem|
00000320  70 6c 61 74 65 22 2c 2c  50 43 57 6c 25 2b 34 2c  |plate",,PCWl%+4,|
00000330  50 6c 25 2c 50 6c 25 2b  32 35 36 2c 2d 31 2c 22  |Pl%,Pl%+256,-1,"|
00000340  6c 65 66 74 22 2c 30 0d  00 dc 2b c8 99 20 22 57  |left",0...+.. "W|
00000350  69 6d 70 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |imp_CreateWindow|
00000360  22 2c 2c 50 43 57 6c 25  2b 34 20 b8 20 70 63 77  |",,PCWl%+4 . pcw|
00000370  6c 25 0d 00 e6 11 50 43  57 6c 25 21 30 3d 70 63  |l%....PCWl%!0=pc|
00000380  77 6c 25 0d 00 f0 04 0d  00 fa 3c c8 99 20 22 57  |wl%.......<.. "W|
00000390  69 6d 70 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |imp_LoadTemplate|
000003a0  22 2c 2c 50 43 57 72 25  2b 34 2c 50 72 25 2c 50  |",,PCWr%+4,Pr%,P|
000003b0  72 25 2b 32 35 36 2c 2d  31 2c 22 72 69 67 68 74  |r%+256,-1,"right|
000003c0  22 2c 30 0d 01 04 2b c8  99 20 22 57 69 6d 70 5f  |",0...+.. "Wimp_|
000003d0  43 72 65 61 74 65 57 69  6e 64 6f 77 22 2c 2c 50  |CreateWindow",,P|
000003e0  43 57 72 25 2b 34 20 b8  20 70 63 77 72 25 0d 01  |CWr%+4 . pcwr%..|
000003f0  0e 11 50 43 57 72 25 21  30 3d 70 63 77 72 25 0d  |..PCWr%!0=pcwr%.|
00000400  01 18 04 0d 01 22 3c c8  99 20 22 57 69 6d 70 5f  |....."<.. "Wimp_|
00000410  4c 6f 61 64 54 65 6d 70  6c 61 74 65 22 2c 2c 57  |LoadTemplate",,W|
00000420  25 2b 34 2c 53 57 25 2c  53 57 25 2b 32 35 36 2c  |%+4,SW%,SW%+256,|
00000430  2d 31 2c 22 50 61 6c 6c  65 74 74 65 22 2c 30 0d  |-1,"Pallette",0.|
00000440  01 2c 0c 57 25 21 32 38  3d 2d 31 0d 01 36 29 c8  |.,.W%!28=-1..6).|
00000450  99 20 22 57 69 6d 70 5f  43 72 65 61 74 65 57 69  |. "Wimp_CreateWi|
00000460  6e 64 6f 77 22 2c 2c 57  25 2b 34 20 b8 20 70 61  |ndow",,W%+4 . pa|
00000470  6c 6c 57 25 0d 01 40 0f  57 25 21 30 3d 70 61 6c  |llW%..@.W%!0=pal|
00000480  6c 57 25 0d 01 4a 45 c8  99 20 22 57 69 6d 70 5f  |lW%..JE.. "Wimp_|
00000490  4c 6f 61 64 54 65 6d 70  6c 61 74 65 22 2c 2c 71  |LoadTemplate",,q|
000004a0  25 2c 49 73 4e 61 6d 65  25 2c 49 73 4e 61 6d 65  |%,IsName%,IsName|
000004b0  25 2b 32 35 36 2c 2d 31  2c 22 73 61 76 65 5f 73  |%+256,-1,"save_s|
000004c0  63 72 69 70 74 22 2c 30  0d 01 54 27 c8 99 20 22  |cript",0..T'.. "|
000004d0  57 69 6d 70 5f 43 72 65  61 74 65 57 69 6e 64 6f  |Wimp_CreateWindo|
000004e0  77 22 2c 2c 71 25 20 b8  20 73 61 76 65 57 25 0d  |w",,q% . saveW%.|
000004f0  01 5e 39 c8 99 20 22 57  69 6d 70 5f 4c 6f 61 64  |.^9.. "Wimp_Load|
00000500  54 65 6d 70 6c 61 74 65  22 2c 2c 71 25 2c 77 77  |Template",,q%,ww|
00000510  25 2c 77 77 25 2b 32 35  36 2c 2d 31 2c 22 57 61  |%,ww%+256,-1,"Wa|
00000520  72 6e 69 6e 67 22 2c 30  0d 01 68 29 71 25 21 31  |rning",0..h)q%!1|
00000530  30 38 3d 54 65 78 74 57  61 72 6e 25 3a 71 25 21  |08=TextWarn%:q%!|
00000540  31 31 32 3d 2d 31 3a 71  25 21 31 31 36 3d 33 30  |112=-1:q%!116=30|
00000550  30 0d 01 72 20 58 51 25  3d 71 25 21 38 2d 71 25  |0..r XQ%=q%!8-q%|
00000560  21 30 3a 59 51 25 3d 71  25 21 31 32 2d 71 25 21  |!0:YQ%=q%!12-q%!|
00000570  34 0d 01 7c 2a c8 99 20  22 57 69 6d 70 5f 43 72  |4..|*.. "Wimp_Cr|
00000580  65 61 74 65 57 69 6e 64  6f 77 22 2c 2c 71 25 20  |eateWindow",,q% |
00000590  b8 20 77 61 72 6e 69 6e  67 57 25 0d 01 86 1b c8  |. warningW%.....|
000005a0  99 20 22 57 69 6d 70 5f  43 6c 6f 73 65 54 65 6d  |. "Wimp_CloseTem|
000005b0  70 6c 61 74 65 22 0d 01  90 0a 72 65 66 25 3d 30  |plate"....ref%=0|
000005c0  0d 01 9a 11 63 70 4c 25  3d 30 3a 63 70 52 25 3d  |....cpL%=0:cpR%=|
000005d0  30 0d 01 a4 12 73 6d 70  69 63 6f 6e 25 3d a4 69  |0....smpicon%=.i|
000005e0  63 6f 6e 0d 01 ae 16 77  6f 70 65 6e 25 3d a3 3a  |con....wopen%=.:|
000005f0  77 61 72 6e 4f 6e 25 3d  a3 0d 01 b8 11 ee 20 85  |warnOn%=...... .|
00000600  20 f2 65 72 72 6f 72 62  6f 78 0d 01 c2 51 41 72  | .errorbox...QAr|
00000610  31 25 3d 32 30 3a 41 72  32 25 3d 32 30 30 3a 78  |1%=20:Ar2%=200:x|
00000620  73 25 3d 32 20 3a f4 20  32 20 70 69 78 65 6c 73  |s%=2 :. 2 pixels|
00000630  20 70 65 72 20 78 20 69  6e 63 72 65 6d 65 6e 74  | per x increment|
00000640  20 75 73 65 20 72 65 61  64 20 56 44 55 20 76 61  | use read VDU va|
00000650  72 73 20 69 6e 20 66 69  6e 61 6c 0d 01 cc 0d 47  |rs in final....G|
00000660  6f 74 42 61 72 25 3d a3  0d 01 d6 0a 55 64 62 25  |otBar%=.....Udb%|
00000670  3d 30 0d 01 e0 15 f2 5f  50 75 74 4e 61 6d 65 28  |=0....._PutName(|
00000680  22 50 61 6c 6c 22 29 0d  01 ea 0d 44 72 61 67 4f  |"Pall")....DragO|
00000690  6e 25 3d a3 0d 01 f4 0e  73 65 63 75 72 65 46 25  |n%=.....secureF%|
000006a0  3d 30 0d 01 fe 04 0d 02  08 08 f2 5f 4d 53 0d 02  |=0........._MS..|
000006b0  12 0e f2 73 65 74 75 70  6d 65 6e 75 0d 02 1c 04  |...setupmenu....|
000006c0  0d 02 26 05 f5 0d 02 30  1e 20 c8 99 20 22 57 69  |..&....0. .. "Wi|
000006d0  6d 70 5f 50 6f 6c 6c 22  2c 25 31 2c 71 25 20 b8  |mp_Poll",%1,q% .|
000006e0  20 41 25 0d 02 3a 0d 20  20 c8 8e 20 41 25 20 ca  | A%..:.  .. A% .|
000006f0  0d 02 44 15 20 20 20 c9  20 31 3a f2 5f 64 6f 57  |..D.   . 1:._doW|
00000700  69 6e 64 6f 77 0d 02 4e  47 20 20 20 c9 20 32 3a  |indow..NG   . 2:|
00000710  c8 99 20 22 57 69 6d 70  5f 4f 70 65 6e 57 69 6e  |.. "Wimp_OpenWin|
00000720  64 6f 77 22 2c 2c 71 25  20 3a e7 20 71 25 21 30  |dow",,q% :. q%!0|
00000730  3d 70 61 6c 6c 57 25 20  8c 20 77 6f 70 65 6e 25  |=pallW% . wopen%|
00000740  3d b9 3a f2 5f 53 65 74  43 6f 6c 73 0d 02 58 12  |=.:._SetCols..X.|
00000750  20 20 20 c9 20 33 3a f2  5f 63 6c 6f 73 65 0d 02  |   . 3:._close..|
00000760  62 19 20 20 20 c9 20 36  3a f2 5f 64 6f 5f 63 6c  |b.   . 6:._do_cl|
00000770  69 63 6b 28 71 25 29 0d  02 6c 18 20 20 20 c9 20  |ick(q%)..l.   . |
00000780  37 3a f2 5f 50 75 74 44  6f 77 6e 28 71 25 29 0d  |7:._PutDown(q%).|
00000790  02 76 15 20 20 20 c9 20  38 3a f2 5f 4b 65 79 50  |.v.   . 8:._KeyP|
000007a0  72 65 73 73 0d 02 80 16  20 20 20 c9 20 39 3a f2  |ress....   . 9:.|
000007b0  5f 53 4f 52 54 5f 4d 65  6e 75 0d 02 8a 1b 20 20  |_SORT_Menu....  |
000007c0  20 c9 20 31 37 2c 31 38  3a f2 72 65 63 65 69 76  | . 17,18:.receiv|
000007d0  65 28 71 25 29 0d 02 94  08 20 20 20 cb 0d 02 9e  |e(q%)....   ....|
000007e0  08 20 fd 20 a3 0d 02 a8  04 0d 02 b2 05 e0 0d 02  |. . ............|
000007f0  bc 04 0d 02 c6 13 dd 20  f2 5f 50 75 74 44 6f 77  |....... ._PutDow|
00000800  6e 28 71 25 29 0d 02 d0  0f e7 20 44 72 61 67 4f  |n(q%)..... DragO|
00000810  6e 25 20 8c 0d 02 da 23  f4 20 53 59 53 20 22 57  |n% ....#. SYS "W|
00000820  69 6d 70 5f 47 65 74 50  6f 69 6e 74 65 72 49 6e  |imp_GetPointerIn|
00000830  66 6f 22 2c 2c 71 25 0d  02 e4 0d f2 5f 47 65 74  |fo",,q%....._Get|
00000840  4e 61 6d 65 0d 02 ee 20  c8 99 20 22 57 69 6d 70  |Name... .. "Wimp|
00000850  5f 47 65 74 50 6f 69 6e  74 65 72 49 6e 66 6f 22  |_GetPointerInfo"|
00000860  2c 2c 71 25 0d 02 f8 35  6d 65 73 73 68 25 3d 71  |,,q%...5messh%=q|
00000870  25 21 31 32 3a 6d 65 73  73 69 25 3d 71 25 21 31  |%!12:messi%=q%!1|
00000880  36 3a 6d 65 73 73 78 25  3d 71 25 21 30 3a 6d 65  |6:messx%=q%!0:me|
00000890  73 73 79 25 3d 71 25 21  34 0d 03 02 23 e7 20 a7  |ssy%=q%!4...#. .|
000008a0  20 66 6e 24 2c 22 3a 22  29 20 8c 20 66 6e 24 3d  | fn$,":") . fn$=|
000008b0  a4 5f 73 70 61 74 68 28  66 6e 24 29 0d 03 0c 10  |._spath(fn$)....|
000008c0  24 28 71 25 2b 34 34 29  3d 66 6e 24 0d 03 16 15  |$(q%+44)=fn$....|
000008d0  3f 28 71 25 2b 34 34 2b  a9 28 66 6e 24 29 29 3d  |?(q%+44+.(fn$))=|
000008e0  30 0d 03 20 3b 71 25 21  32 30 3d 71 25 21 31 32  |0.. ;q%!20=q%!12|
000008f0  3a 71 25 21 32 38 3d 71  25 21 30 3a 71 25 21 33  |:q%!28=q%!0:q%!3|
00000900  32 3d 71 25 21 34 3a 71  25 21 33 36 3d 31 30 32  |2=q%!4:q%!36=102|
00000910  34 3a 71 25 21 34 30 3d  26 30 34 34 0d 03 2a 1b  |4:q%!40=&044..*.|
00000920  71 25 21 30 3d 35 36 3a  71 25 21 31 32 3d 30 3a  |q%!0=56:q%!12=0:|
00000930  71 25 21 31 36 3d 31 0d  03 34 2d c8 99 20 22 57  |q%!16=1..4-.. "W|
00000940  69 6d 70 5f 53 65 6e 64  4d 65 73 73 61 67 65 22  |imp_SendMessage"|
00000950  2c 31 37 2c 71 25 2c 6d  65 73 73 68 25 2c 6d 65  |,17,q%,messh%,me|
00000960  73 73 69 25 0d 03 3e 11  73 61 76 65 72 65 66 25  |ssi%..>.saveref%|
00000970  3d 71 25 21 38 0d 03 48  1c c8 99 20 22 57 69 6d  |=q%!8..H... "Wim|
00000980  70 5f 43 72 65 61 74 65  4d 65 6e 75 22 2c 2c 2d  |p_CreateMenu",,-|
00000990  31 0d 03 52 0d 44 72 61  67 4f 6e 25 3d a3 0d 03  |1..R.DragOn%=...|
000009a0  5c 05 cd 0d 03 66 05 e1  0d 03 70 04 0d 03 7a 11  |\....f....p...z.|
000009b0  dd 20 a4 5f 73 70 61 74  68 28 6e 24 29 0d 03 84  |. ._spath(n$)...|
000009c0  0f c8 95 20 a7 6e 24 2c  22 2e 22 29 0d 03 8e 13  |... .n$,".")....|
000009d0  6e 24 3d c2 6e 24 2c a9  28 6e 24 29 2d 31 29 0d  |n$=.n$,.(n$)-1).|
000009e0  03 98 05 ce 0d 03 a2 1b  e7 20 a9 28 6e 24 29 3e  |......... .(n$)>|
000009f0  31 30 20 8c 20 6e 24 3d  c2 6e 24 2c 31 30 29 0d  |10 . n$=.n$,10).|
00000a00  03 ac 07 3d 6e 24 0d 03  b6 04 0d 03 c0 0f dd 20  |...=n$......... |
00000a10  f2 5f 47 65 74 4e 61 6d  65 0d 03 ca 0e ea 20 54  |._GetName..... T|
00000a20  25 2c 41 25 2c 46 24 0d  03 d4 10 46 24 3d 22 22  |%,A%,F$....F$=""|
00000a30  3a 66 6e 24 3d 22 22 0d  03 de 16 71 25 21 30 3d  |:fn$=""....q%!0=|
00000a40  73 61 76 65 57 25 3a 71  25 21 34 3d 31 0d 03 e8  |saveW%:q%!4=1...|
00000a50  1e c8 99 20 22 57 69 6d  70 5f 47 65 74 49 63 6f  |... "Wimp_GetIco|
00000a60  6e 53 74 61 74 65 22 2c  2c 71 25 0d 03 f2 0c 54  |nState",,q%....T|
00000a70  25 3d 71 25 21 32 38 0d  03 fc 09 54 25 2d 3d 31  |%=q%!28....T%-=1|
00000a80  0d 04 06 05 f5 0d 04 10  09 54 25 2b 3d 31 0d 04  |.........T%+=1..|
00000a90  1a 10 46 24 3d 46 24 2b  bd 28 3f 54 25 29 0d 04  |..F$=F$+.(?T%)..|
00000aa0  24 0b fd 20 3f 54 25 3d  30 0d 04 2e 16 66 6e 24  |$.. ?T%=0....fn$|
00000ab0  3d c1 46 24 2c 31 2c a9  28 46 24 29 2d 31 29 0d  |=.F$,1,.(F$)-1).|
00000ac0  04 38 05 e1 0d 04 42 04  0d 04 4c 11 dd 20 f2 5f  |.8....B...L.. ._|
00000ad0  53 4f 52 54 5f 4d 65 6e  75 0d 04 56 11 e7 20 49  |SORT_Menu..V.. I|
00000ae0  63 6f 6e 4d 65 6e 75 25  20 8c 0d 04 60 12 e7 20  |conMenu% ...`.. |
00000af0  21 71 25 3d 31 20 8c 20  f2 64 69 65 0d 04 6a 05  |!q%=1 . .die..j.|
00000b00  cc 0d 04 74 0c c8 8e 20  21 71 25 20 ca 0d 04 7e  |...t... !q% ...~|
00000b10  30 20 20 c9 20 31 20 3a  20 20 20 20 f2 5f 66 69  |0  . 1 :    ._fi|
00000b20  6c 6c 28 30 2c 30 2c 30  29 3a f2 5f 66 69 6c 6c  |ll(0,0,0):._fill|
00000b30  28 32 35 35 2c 32 35 35  2c 32 35 35 29 0d 04 88  |(255,255,255)...|
00000b40  1a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 f2  |.              .|
00000b50  5f 50 75 74 50 61 6c 0d  04 92 0b 20 20 c9 20 32  |_PutPal....  . 2|
00000b60  20 3a 0d 04 9c 18 20 20  20 20 20 20 20 20 20 20  | :....          |
00000b70  20 c8 8e 20 71 25 21 34  20 ca 0d 04 a6 23 20 20  | .. q%!4 ....#  |
00000b80  20 20 20 20 20 20 20 20  20 20 c9 20 30 20 3a f2  |          . 0 :.|
00000b90  5f 42 4c 4f 43 4b 28 30  2c 32 35 35 29 0d 04 b0  |_BLOCK(0,255)...|
00000ba0  1b 20 20 20 20 20 20 20  20 20 20 20 20 20 20 47  |.              G|
00000bb0  6f 74 42 61 72 25 3d a3  0d 04 ba 34 20 20 20 20  |otBar%=....4    |
00000bc0  20 20 20 20 20 20 20 20  20 20 c9 20 31 20 3a 46  |          . 1 :F|
00000bd0  25 3d 8e 28 22 3c 50 61  6c 4d 61 6b 65 24 44 69  |%=.("<PalMake$Di|
00000be0  72 3e 2e 44 65 66 61 75  6c 74 22 29 0d 04 c4 1a  |r>.Default")....|
00000bf0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 f2 5f  |              ._|
00000c00  4d 50 52 45 41 44 0d 04  ce 17 20 20 20 20 20 20  |MPREAD....      |
00000c10  20 20 20 20 20 20 20 20  d9 20 23 46 25 0d 04 d8  |        . #F%...|
00000c20  1b 20 20 20 20 20 20 20  20 20 20 20 20 20 20 47  |.              G|
00000c30  6f 74 42 61 72 25 3d a3  0d 04 e2 11 20 20 20 20  |otBar%=.....    |
00000c40  20 20 20 20 20 20 20 20  cb 0d 04 ec 05 20 0d 04  |        ..... ..|
00000c50  f6 17 20 20 c9 20 33 20  3a 20 20 20 c8 8e 20 71  |..  . 3 :   .. q|
00000c60  25 21 34 20 ca 0d 05 00  1e 20 20 20 20 20 20 20  |%!4 .....       |
00000c70  20 20 20 20 20 20 20 20  20 c9 20 30 3a 20 f2 5f  |         . 0: ._|
00000c80  49 6e 76 0d 05 0a 1f 20  20 20 20 20 20 20 20 20  |Inv....         |
00000c90  20 20 20 20 20 20 20 c9  20 31 3a 20 f2 5f 50 49  |       . 1: ._PI|
00000ca0  6e 76 0d 05 14 15 20 20  20 20 20 20 20 20 20 20  |nv....          |
00000cb0  20 20 20 20 20 20 cb 0d  05 1e 04 0d 05 28 18 20  |      .......(. |
00000cc0  20 c9 20 34 20 3a 20 20  20 20 c8 8e 20 71 25 21  | . 4 :    .. q%!|
00000cd0  34 20 ca 0d 05 32 29 20  20 20 20 20 20 20 20 20  |4 ...2)         |
00000ce0  20 20 20 20 20 20 c9 20  30 3a f2 5f 42 4c 4f 43  |      . 0:._BLOC|
00000cf0  4b 28 41 72 31 25 2c 41  72 32 25 29 0d 05 3c 4f  |K(Ar1%,Ar2%)..<O|
00000d00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 c9  |               .|
00000d10  20 31 3a f2 5f 66 69 6c  6c 28 30 2c 41 72 31 25  | 1:._fill(0,Ar1%|
00000d20  2c 30 29 3a f2 5f 66 69  6c 6c 28 41 72 32 25 2c  |,0):._fill(Ar2%,|
00000d30  32 35 35 2c 32 35 35 29  3a f2 5f 42 4c 4f 43 4b  |255,255):._BLOCK|
00000d40  28 41 72 31 25 2c 41 72  32 25 29 0d 05 46 1f 20  |(Ar1%,Ar2%)..F. |
00000d50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 c9 20  |              . |
00000d60  32 3a f2 5f 52 47 42 69  6e 74 0d 05 50 1f 20 20  |2:._RGBint..P.  |
00000d70  20 20 20 20 20 20 20 20  20 20 20 20 20 c9 20 33  |             . 3|
00000d80  3a f2 5f 48 53 56 69 6e  74 0d 05 5a 3f 20 20 20  |:._HSVint..Z?   |
00000d90  20 20 20 20 20 20 20 20  20 20 20 20 c9 20 34 3a  |            . 4:|
00000da0  f2 5f 66 69 6c 6c 63 28  41 72 31 25 2c 41 72 32  |._fillc(Ar1%,Ar2|
00000db0  25 2c 55 50 25 21 28 41  72 31 25 2a 34 29 29 3a  |%,UP%!(Ar1%*4)):|
00000dc0  f2 5f 50 75 74 50 61 6c  0d 05 64 3f 20 20 20 20  |._PutPal..d?    |
00000dd0  20 20 20 20 20 20 20 20  20 20 20 c9 20 35 3a f2  |           . 5:.|
00000de0  5f 66 69 6c 6c 63 28 41  72 31 25 2c 41 72 32 25  |_fillc(Ar1%,Ar2%|
00000df0  2c 55 50 25 21 28 41 72  32 25 2a 34 29 29 3a f2  |,UP%!(Ar2%*4)):.|
00000e00  5f 50 75 74 50 61 6c 0d  05 6e 12 20 20 20 20 20  |_PutPal..n.     |
00000e10  20 20 20 20 20 20 20 20  cb 0d 05 78 04 0d 05 82  |        ...x....|
00000e20  11 20 20 c9 20 35 3a 20  f2 5f 55 6e 64 6f 0d 05  |.  . 5: ._Undo..|
00000e30  8c 04 0d 05 96 05 cb 0d  05 a0 04 0d 05 aa 05 cd  |................|
00000e40  0d 05 b4 1f c8 99 22 57  69 6d 70 5f 47 65 74 50  |......"Wimp_GetP|
00000e50  6f 69 6e 74 65 72 49 6e  66 6f 22 2c 2c 71 25 0d  |ointerInfo",,q%.|
00000e60  05 be 2a e7 20 71 25 21  38 3d 31 20 8c 20 c8 99  |..*. q%!8=1 . ..|
00000e70  22 57 69 6d 70 5f 43 72  65 61 74 65 4d 65 6e 75  |"Wimp_CreateMenu|
00000e80  22 2c 2c 57 6d 65 6e 75  25 0d 05 c8 05 e1 0d 05  |",,Wmenu%.......|
00000e90  d2 04 0d 05 dc 0d dd 20  f2 5f 63 6c 6f 73 65 0d  |....... ._close.|
00000ea0  05 e6 41 e7 20 71 25 21  30 3d 70 61 6c 6c 57 25  |..A. q%!0=pallW%|
00000eb0  20 8c 20 77 6f 70 65 6e  25 3d a3 3a 47 6f 74 42  | . wopen%=.:GotB|
00000ec0  61 72 25 3d a3 3a c8 99  22 57 69 6d 70 5f 47 65  |ar%=.:.."Wimp_Ge|
00000ed0  74 57 69 6e 64 6f 77 49  6e 66 6f 22 2c 2c 57 25  |tWindowInfo",,W%|
00000ee0  0d 05 f0 20 e7 20 71 25  21 30 3d 77 61 72 6e 69  |... . q%!0=warni|
00000ef0  6e 67 57 25 20 8c 20 77  61 72 6e 4f 6e 25 3d a3  |ngW% . warnOn%=.|
00000f00  0d 05 fa 30 e7 20 71 25  21 30 3d 70 63 77 6c 25  |...0. q%!0=pcwl%|
00000f10  20 8c 20 c8 99 22 57 69  6d 70 5f 47 65 74 57 69  | . .."Wimp_GetWi|
00000f20  6e 64 6f 77 49 6e 66 6f  22 2c 2c 50 43 57 6c 25  |ndowInfo",,PCWl%|
00000f30  0d 06 04 30 e7 20 71 25  21 30 3d 70 63 77 72 25  |...0. q%!0=pcwr%|
00000f40  20 8c 20 c8 99 22 57 69  6d 70 5f 47 65 74 57 69  | . .."Wimp_GetWi|
00000f50  6e 64 6f 77 49 6e 66 6f  22 2c 2c 50 43 57 72 25  |ndowInfo",,PCWr%|
00000f60  0d 06 0e 1d c8 99 20 22  57 69 6d 70 5f 43 6c 6f  |...... "Wimp_Clo|
00000f70  73 65 57 69 6e 64 6f 77  22 2c 2c 71 25 0d 06 18  |seWindow",,q%...|
00000f80  05 e1 0d 06 22 04 0d 06  2c 14 dd 20 f2 5f 64 6f  |...."...,.. ._do|
00000f90  5f 63 6c 69 63 6b 28 71  25 29 0d 06 36 11 ea 20  |_click(q%)..6.. |
00000fa0  58 25 2c 59 25 2c 43 25  2c 54 25 0d 06 40 0c 69  |X%,Y%,C%,T%..@.i|
00000fb0  25 3d 71 25 21 31 36 0d  06 4a 0e c8 8e 20 71 25  |%=q%!16..J... q%|
00000fc0  21 31 32 20 ca 0d 06 54  28 c9 20 77 61 72 6e 69  |!12 ...T(. warni|
00000fd0  6e 67 57 25 3a 20 71 25  21 30 3d 77 61 72 6e 69  |ngW%: q%!0=warni|
00000fe0  6e 67 57 25 20 3a f2 5f  63 6c 6f 73 65 0d 06 5e  |ngW% :._close..^|
00000ff0  24 c9 20 20 20 20 73 61  76 65 57 25 3a 20 44 72  |$.    saveW%: Dr|
00001000  61 67 4f 6e 25 3d b9 3a  20 f2 5f 44 6f 53 61 76  |agOn%=.: ._DoSav|
00001010  65 0d 06 68 28 c9 20 2d  32 3a 20 f4 20 4c 6f 6f  |e..h(. -2: . Loo|
00001020  6b 20 66 69 72 73 74 20  61 74 20 49 63 6f 6e 20  |k first at Icon |
00001030  42 61 72 20 43 6c 69 63  6b 0d 06 72 1e 20 20 20  |Bar Click..r.   |
00001040  20 20 20 20 20 e7 20 71  25 21 31 36 3d 73 6d 70  |     . q%!16=smp|
00001050  69 63 6f 6e 25 20 8c 0d  06 7c 4a 20 20 20 20 20  |icon% ...|J     |
00001060  20 20 20 e7 20 71 25 21  38 3d 32 20 8c 20 49 63  |   . q%!8=2 . Ic|
00001070  6f 6e 4d 65 6e 75 25 3d  b9 3a 20 c8 99 22 57 69  |onMenu%=.: .."Wi|
00001080  6d 70 5f 43 72 65 61 74  65 4d 65 6e 75 22 2c 2c  |mp_CreateMenu",,|
00001090  6d 65 6e 75 25 2c 71 25  21 30 2d 39 34 2c 31 39  |menu%,q%!0-94,19|
000010a0  30 0d 06 86 21 20 20 20  20 20 20 20 20 e7 20 71  |0...!        . q|
000010b0  25 21 38 3d 34 20 8c 20  f2 5f 4f 70 65 6e 57 68  |%!8=4 . ._OpenWh|
000010c0  61 74 0d 06 90 0d 20 20  20 20 20 20 20 20 cd 0d  |at....        ..|
000010d0  06 9a 04 0d 06 a4 54 c9  20 70 61 6c 6c 57 25 3a  |......T. pallW%:|
000010e0  20 20 e7 20 71 25 21 38  3d 32 20 8c 20 49 63 6f  |  . q%!8=2 . Ico|
000010f0  6e 4d 65 6e 75 25 3d a3  3a c8 99 22 57 69 6d 70  |nMenu%=.:.."Wimp|
00001100  5f 43 72 65 61 74 65 4d  65 6e 75 22 2c 2c 57 6d  |_CreateMenu",,Wm|
00001110  65 6e 75 25 2c 20 71 25  21 30 2d 39 34 2c 28 71  |enu%, q%!0-94,(q|
00001120  25 21 34 29 2d 34 30 0d  06 ae 21 20 20 20 20 20  |%!4)-40...!     |
00001130  20 20 20 20 20 20 20 20  20 e7 20 71 25 21 38 3d  |         . q%!8=|
00001140  34 20 8c 20 f2 5f 44 41  0d 06 b8 1d c9 20 70 63  |4 . ._DA..... pc|
00001150  77 6c 25 3a 20 20 58 25  3d 71 25 21 30 3a 59 25  |wl%:  X%=q%!0:Y%|
00001160  3d 71 25 21 34 0d 06 c2  1f 20 20 20 20 20 20 20  |=q%!4....       |
00001170  20 20 20 20 20 20 f2 5f  54 72 61 6e 73 28 70 63  |      ._Trans(pc|
00001180  77 6c 25 29 0d 06 cc 15  20 20 20 20 20 20 20 20  |wl%)....        |
00001190  20 20 20 20 20 f2 5f 63  73 0d 06 d6 20 20 20 20  |     ._cs...    |
000011a0  20 20 20 20 20 20 20 20  20 20 55 50 25 21 28 41  |          UP%!(A|
000011b0  72 31 25 2a 34 29 3d 43  25 0d 06 e0 19 20 20 20  |r1%*4)=C%....   |
000011c0  20 20 20 20 20 20 20 20  20 20 f2 5f 50 75 74 50  |          ._PutP|
000011d0  61 6c 0d 06 ea 1d c9 20  70 63 77 72 25 3a 20 20  |al..... pcwr%:  |
000011e0  58 25 3d 71 25 21 30 3a  59 25 3d 71 25 21 34 0d  |X%=q%!0:Y%=q%!4.|
000011f0  06 f4 1f 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00001200  f2 5f 54 72 61 6e 73 28  70 63 77 72 25 29 0d 06  |._Trans(pcwr%)..|
00001210  fe 15 20 20 20 20 20 20  20 20 20 20 20 20 20 f2  |..             .|
00001220  5f 63 73 0d 07 08 20 20  20 20 20 20 20 20 20 20  |_cs...          |
00001230  20 20 20 20 55 50 25 21  28 41 72 32 25 2a 34 29  |    UP%!(Ar2%*4)|
00001240  3d 43 25 0d 07 12 19 20  20 20 20 20 20 20 20 20  |=C%....         |
00001250  20 20 20 20 f2 5f 50 75  74 50 61 6c 0d 07 1c 05  |    ._PutPal....|
00001260  cb 0d 07 26 05 e1 0d 07  30 04 0d 07 3a 0a dd 20  |...&....0...:.. |
00001270  f2 5f 63 73 0d 07 44 21  58 25 3d 28 58 25 2d 58  |._cs..D!X%=(X%-X|
00001280  4f 25 29 2f 33 32 3a 59  25 3d 28 59 4f 25 2d 59  |O%)/32:Y%=(YO%-Y|
00001290  25 29 2f 33 32 0d 07 4e  0d 54 25 3d 58 25 20 80  |%)/32..N.T%=X% .|
000012a0  20 33 0d 07 58 1f 43 25  3d 54 25 3c 3c 31 32 20  | 3..X.C%=T%<<12 |
000012b0  84 20 54 25 3c 3c 32 30  20 84 20 54 25 3c 3c 32  |. T%<<20 . T%<<2|
000012c0  38 0d 07 62 20 54 25 3d  28 58 25 20 80 20 34 29  |8..b T%=(X% . 4)|
000012d0  3e 3e 32 20 84 20 28 59  25 20 80 20 31 29 3c 3c  |>>2 . (Y% . 1)<<|
000012e0  31 0d 07 6c 12 43 25 3d  43 25 20 84 20 54 25 3c  |1..l.C%=C% . T%<|
000012f0  3c 31 34 0d 07 76 24 54  25 3d 28 59 25 20 80 20  |<14..v$T%=(Y% . |
00001300  36 29 20 3e 3e 31 20 3a  20 43 25 3d 43 25 20 84  |6) >>1 : C%=C% .|
00001310  20 54 25 3c 3c 32 32 0d  07 80 32 54 25 3d 28 59  | T%<<22...2T%=(Y|
00001320  25 20 80 20 26 38 29 3e  3e 32 20 84 20 28 58 25  |% . &8)>>2 . (X%|
00001330  20 80 20 26 38 29 3e 3e  33 3a 20 43 25 3d 43 25  | . &8)>>3: C%=C%|
00001340  20 84 20 54 25 3c 3c 33  30 0d 07 8a 05 e1 0d 07  | . T%<<30.......|
00001350  94 04 0d 07 9e 10 dd 20  f2 5f 4f 70 65 6e 57 68  |....... ._OpenWh|
00001360  61 74 0d 07 a8 0b ea 20  4e 63 6f 6c 25 0d 07 b2  |at..... Ncol%...|
00001370  12 e7 20 ac 28 77 61 72  6e 4f 6e 25 29 20 8c 0d  |.. .(warnOn%) ..|
00001380  07 bc 2c 20 20 c8 99 22  4f 53 5f 52 65 61 64 4d  |..,  .."OS_ReadM|
00001390  6f 64 65 56 61 72 69 61  62 6c 65 22 2c 2d 31 2c  |odeVariable",-1,|
000013a0  33 20 b8 20 2c 2c 4e 63  6f 6c 25 0d 07 c6 0c 20  |3 . ,,Ncol%.... |
000013b0  20 f2 5f 4f 70 65 6e 0d  07 d0 05 cd 0d 07 da 05  | ._Open.........|
000013c0  e1 0d 07 e4 04 0d 07 ee  0a dd 20 f2 5f 44 41 0d  |.......... ._DA.|
000013d0  07 f8 18 ea 20 44 25 2c  50 25 2c 58 25 2c 58 4c  |.... D%,P%,X%,XL|
000013e0  25 2c 59 25 2c 42 25 0d  08 02 0f 44 25 3d a4 70  |%,Y%,B%....D%=.p|
000013f0  6f 69 6e 74 49 6e 0d 08  0c 04 0d 08 16 0d e7 20  |ointIn......... |
00001400  44 25 3c 3e 30 20 8c 0d  08 20 1e e7 20 44 25 3d  |D%<>0 ... .. D%=|
00001410  31 20 8c 20 50 25 3d 41  72 31 25 20 8b 20 50 25  |1 . P%=Ar1% . P%|
00001420  3d 41 72 32 25 0d 08 2a  10 c8 97 20 58 4c 25 2c  |=Ar2%..*... XL%,|
00001430  59 25 2c 42 25 0d 08 34  0a 58 25 3d 58 4c 25 0d  |Y%,B%..4.X%=XL%.|
00001440  08 3e 0b c8 95 20 42 25  3d 34 0d 08 48 18 20 20  |.>... B%=4..H.  |
00001450  c8 95 20 28 58 4c 25 3d  58 25 20 80 20 42 25 3d  |.. (XL%=X% . B%=|
00001460  34 29 0d 08 52 12 20 20  20 c8 97 20 58 25 2c 59  |4)..R.   .. X%,Y|
00001470  25 2c 42 25 0d 08 5c 08  20 20 20 ce 0d 08 66 34  |%,B%..\.   ...f4|
00001480  20 20 71 25 21 30 3d 70  61 6c 6c 57 25 3a 71 25  |  q%!0=pallW%:q%|
00001490  21 34 3d 30 3a 71 25 21  38 3d 2d 31 30 30 3a 71  |!4=0:q%!8=-100:q|
000014a0  25 21 31 32 3d 35 36 30  3a 71 25 21 31 36 3d 30  |%!12=560:q%!16=0|
000014b0  0d 08 70 27 20 20 c8 99  22 57 69 6d 70 5f 55 70  |..p'  .."Wimp_Up|
000014c0  64 61 74 65 57 69 6e 64  6f 77 22 2c 2c 71 25 20  |dateWindow",,q% |
000014d0  b8 20 4d 6f 72 65 25 0d  08 7a 04 0d 08 84 0d 20  |. More%..z..... |
000014e0  c8 95 20 4d 6f 72 65 25  0d 08 8e 04 0d 08 98 18  |.. More%........|
000014f0  20 20 20 50 25 3d 28 58  25 2d 78 6f 25 2d 36 29  |   P%=(X%-xo%-6)|
00001500  2f 78 73 25 0d 08 a2 14  20 20 20 e7 20 50 25 3c  |/xs%....   . P%<|
00001510  30 20 8c 20 50 25 3d 30  0d 08 ac 18 20 20 20 e7  |0 . P%=0....   .|
00001520  20 50 25 3e 32 35 35 20  8c 20 50 25 3d 32 35 35  | P%>255 . P%=255|
00001530  0d 08 b6 23 20 20 20 20  20 e7 20 44 25 3d 31 20  |...#     . D%=1 |
00001540  8c 20 41 72 31 25 3d 50  25 20 8b 20 41 72 32 25  |. Ar1%=P% . Ar2%|
00001550  3d 50 25 0d 08 c0 2f 20  20 20 20 20 e7 20 41 72  |=P%.../     . Ar|
00001560  31 25 3e 41 72 32 25 20  8c 20 c8 94 20 41 72 31  |1%>Ar2% . .. Ar1|
00001570  25 2c 41 72 32 25 20 3a  20 44 25 3d 44 25 20 82  |%,Ar2% : D%=D% .|
00001580  20 33 0d 08 ca 04 0d 08  d4 3e 20 20 20 20 20 c8  | 3.......>     .|
00001590  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 35  |."OS_SpriteOp",5|
000015a0  32 2b 32 35 36 2c 53 50  25 2c 22 42 41 52 22 2c  |2+256,SP%,"BAR",|
000015b0  78 6f 25 2d 32 2c 79 6f  25 2b 33 32 2c 26 31 30  |xo%-2,yo%+32,&10|
000015c0  2c 30 2c 30 0d 08 de 04  0d 08 e8 4b 20 20 20 20  |,0,0.......K    |
000015d0  20 c8 99 22 4f 53 5f 53  70 72 69 74 65 4f 70 22  | .."OS_SpriteOp"|
000015e0  2c 35 32 2b 32 35 36 2c  53 50 25 2c 22 50 4f 49  |,52+256,SP%,"POI|
000015f0  4e 54 22 2c 78 6f 25 2d  32 2b 41 72 31 25 2a 78  |NT",xo%-2+Ar1%*x|
00001600  73 25 2c 79 6f 25 2b 33  32 2c 26 31 43 2c 30 2c  |s%,yo%+32,&1C,0,|
00001610  50 74 25 0d 08 f2 4b 20  20 20 20 20 c8 99 22 4f  |Pt%...K     .."O|
00001620  53 5f 53 70 72 69 74 65  4f 70 22 2c 35 32 2b 32  |S_SpriteOp",52+2|
00001630  35 36 2c 53 50 25 2c 22  50 4f 49 4e 54 22 2c 78  |56,SP%,"POINT",x|
00001640  6f 25 2d 32 2b 41 72 32  25 2a 78 73 25 2c 79 6f  |o%-2+Ar2%*xs%,yo|
00001650  25 2b 33 32 2c 26 31 43  2c 30 2c 50 74 25 0d 08  |%+32,&1C,0,Pt%..|
00001660  fc 04 0d 09 06 15 20 20  20 20 20 f2 5f 53 63 6f  |......     ._Sco|
00001670  6c 28 41 72 31 25 29 0d  09 10 1b 20 20 20 20 20  |l(Ar1%)....     |
00001680  c8 93 c8 90 20 78 6f 25  2c 79 6f 25 2c 33 30 2c  |.... xo%,yo%,30,|
00001690  33 30 0d 09 1a 26 20 20  20 20 20 c8 99 22 43 6f  |30...&     .."Co|
000016a0  6c 6f 75 72 54 72 61 6e  73 5f 53 65 74 47 43 4f  |lourTrans_SetGCO|
000016b0  4c 22 2c 30 2c 30 2c 30  0d 09 24 19 20 20 20 20  |L",0,0,0..$.    |
000016c0  20 c8 93 20 78 6f 25 2c  79 6f 25 2c 33 30 2c 33  | .. xo%,yo%,30,3|
000016d0  30 0d 09 2e 04 0d 09 38  15 20 20 20 20 20 f2 5f  |0......8.     ._|
000016e0  53 63 6f 6c 28 41 72 32  25 29 0d 09 42 23 20 20  |Scol(Ar2%)..B#  |
000016f0  20 20 20 c8 93 c8 90 20  78 6f 25 2b 32 34 36 2a  |   .... xo%+246*|
00001700  78 73 25 2c 79 6f 25 2c  33 30 2c 33 30 0d 09 4c  |xs%,yo%,30,30..L|
00001710  26 20 20 20 20 20 c8 99  22 43 6f 6c 6f 75 72 54  |&     .."ColourT|
00001720  72 61 6e 73 5f 53 65 74  47 43 4f 4c 22 2c 30 2c  |rans_SetGCOL",0,|
00001730  30 2c 30 0d 09 56 21 20  20 20 20 20 c8 93 20 78  |0,0..V!     .. x|
00001740  6f 25 2b 32 34 36 2a 78  73 25 2c 79 6f 25 2c 33  |o%+246*xs%,yo%,3|
00001750  30 2c 33 30 0d 09 60 04  0d 09 6a 27 20 20 c8 99  |0,30..`...j'  ..|
00001760  22 57 69 6d 70 5f 47 65  74 52 65 63 74 61 6e 67  |"Wimp_GetRectang|
00001770  6c 65 22 2c 2c 71 25 20  b8 20 4d 6f 72 65 25 0d  |le",,q% . More%.|
00001780  09 74 06 20 ce 0d 09 7e  04 0d 09 88 0d 20 20 20  |.t. ...~.....   |
00001790  58 4c 25 3d 58 25 0d 09  92 12 20 20 20 c8 97 20  |XL%=X%....   .. |
000017a0  58 25 2c 59 25 2c 42 25  0d 09 9c 05 ce 0d 09 a6  |X%,Y%,B%........|
000017b0  05 cc 0d 09 b0 0f 44 25  3d a4 70 6f 69 6e 74 53  |......D%=.pointS|
000017c0  71 0d 09 ba 0d e7 20 44  25 3c 3e 30 20 8c 0d 09  |q..... D%<>0 ...|
000017d0  c4 15 20 20 20 20 20 20  c8 97 20 58 25 2c 59 25  |..      .. X%,Y%|
000017e0  2c 42 25 0d 09 ce 1f 20  20 20 20 20 20 63 62 25  |,B%....      cb%|
000017f0  21 30 3d 26 38 30 38 30  38 30 3a 63 62 25 21 38  |!0=&808080:cb%!8|
00001800  3d 30 0d 09 d8 51 20 20  20 20 20 20 71 63 25 21  |=0...Q      qc%!|
00001810  30 3d 26 38 3a 71 63 25  21 34 3d 54 65 78 74 57  |0=&8:qc%!4=TextW|
00001820  61 72 6e 25 3a 20 71 63  25 21 38 3d 58 25 3a 20  |arn%: qc%!8=X%: |
00001830  71 63 25 21 32 30 3d 59  25 3a 71 63 25 21 33 32  |qc%!20=Y%:qc%!32|
00001840  3d 26 38 30 38 30 38 30  30 30 3a 71 63 25 21 33  |=&80808000:qc%!3|
00001850  36 3d 30 0d 09 e2 04 0d  09 ec 3c 20 20 20 20 20  |6=0.......<     |
00001860  20 e7 20 44 25 3d 31 20  8c 20 71 63 25 21 33 32  | . D%=1 . qc%!32|
00001870  3d 55 50 25 21 28 41 72  31 25 2a 34 29 20 8b 20  |=UP%!(Ar1%*4) . |
00001880  71 63 25 21 33 32 3d 55  50 25 21 28 41 72 32 25  |qc%!32=UP%!(Ar2%|
00001890  2a 34 29 0d 09 f6 12 20  20 20 20 20 20 e7 20 44  |*4)....      . D|
000018a0  25 3d 31 20 8c 0d 0a 00  15 20 20 20 20 20 20 20  |%=1 .....       |
000018b0  e7 20 63 70 4c 25 3d 30  20 8c 0d 0a 0a 35 20 20  |. cpL%=0 ....5  |
000018c0  20 20 20 20 20 20 20 24  54 65 78 74 57 61 72 6e  |       $TextWarn|
000018d0  25 3d 22 50 69 63 6b 20  61 20 6e 65 77 20 6c 65  |%="Pick a new le|
000018e0  66 74 20 68 61 6e 64 20  63 6f 6c 6f 75 72 22 0d  |ft hand colour".|
000018f0  0a 14 18 20 20 20 20 20  20 20 20 20 54 63 31 25  |...         Tc1%|
00001900  3d 71 63 25 21 33 32 0d  0a 1e 18 20 20 20 20 20  |=qc%!32....     |
00001910  20 20 20 20 50 43 57 6c  25 21 32 38 3d 2d 31 0d  |    PCWl%!28=-1.|
00001920  0a 28 27 20 20 20 20 20  20 20 20 20 c8 99 22 57  |.('         .."W|
00001930  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
00001940  2c 50 43 57 6c 25 0d 0a  32 0d 20 20 20 20 20 20  |,PCWl%..2.      |
00001950  20 20 cd 0d 0a 3c 0b 20  20 20 20 20 20 cc 0d 0a  |  ...<.      ...|
00001960  46 15 20 20 20 20 20 20  20 e7 20 63 70 52 25 3d  |F.       . cpR%=|
00001970  30 20 8c 0d 0a 50 36 20  20 20 20 20 20 20 20 20  |0 ...P6         |
00001980  24 54 65 78 74 57 61 72  6e 25 3d 22 50 69 63 6b  |$TextWarn%="Pick|
00001990  20 61 20 6e 65 77 20 72  69 67 68 74 20 68 61 6e  | a new right han|
000019a0  64 20 63 6f 6c 6f 75 72  22 0d 0a 5a 18 20 20 20  |d colour"..Z.   |
000019b0  20 20 20 20 20 20 54 63  32 25 3d 71 63 25 21 33  |      Tc2%=qc%!3|
000019c0  32 0d 0a 64 18 20 20 20  20 20 20 20 20 20 50 43  |2..d.         PC|
000019d0  57 72 25 21 32 38 3d 2d  31 0d 0a 6e 27 20 20 20  |Wr%!28=-1..n'   |
000019e0  20 20 20 20 20 20 c8 99  22 57 69 6d 70 5f 4f 70  |      .."Wimp_Op|
000019f0  65 6e 57 69 6e 64 6f 77  22 2c 2c 50 43 57 72 25  |enWindow",,PCWr%|
00001a00  0d 0a 78 0d 20 20 20 20  20 20 20 20 cd 0d 0a 82  |..x.        ....|
00001a10  0b 20 20 20 20 20 20 cd  0d 0a 8c 04 0d 0a 96 05  |.      .........|
00001a20  cd 0d 0a a0 05 cd 0d 0a  aa 05 e1 0d 0a b4 04 0d  |................|
00001a30  0a be 0c dd 20 f2 5f 4f  70 65 6e 0d 0a c8 19 f4  |.... ._Open.....|
00001a40  20 4f 50 45 4e 20 55 50  20 57 49 4e 44 4f 57 20  | OPEN UP WINDOW |
00001a50  48 45 52 45 0d 0a d2 0e  e7 20 77 6f 70 65 6e 25  |HERE..... wopen%|
00001a60  20 8c 0d 0a dc 0d f2 5f  53 65 74 43 6f 6c 73 0d  | ......_SetCols.|
00001a70  0a e6 0f 71 25 21 30 3d  70 61 6c 6c 57 25 0d 0a  |...q%!0=pallW%..|
00001a80  f0 1f c8 99 22 57 69 6d  70 5f 47 65 74 57 69 6e  |...."Wimp_GetWin|
00001a90  64 6f 77 53 74 61 74 65  22 2c 2c 71 25 0d 0a fa  |dowState",,q%...|
00001aa0  36 20 20 e7 20 71 25 21  32 38 3c 3e 2d 31 20 8c  |6  . q%!28<>-1 .|
00001ab0  20 71 25 21 32 38 3d 2d  31 3a 20 c8 99 20 22 57  | q%!28=-1: .. "W|
00001ac0  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
00001ad0  2c 71 25 0d 0b 04 05 cc  0d 0b 0e 1c c8 99 20 22  |,q%........... "|
00001ae0  57 69 6d 70 5f 4f 70 65  6e 57 69 6e 64 6f 77 22  |Wimp_OpenWindow"|
00001af0  2c 2c 57 25 0d 0b 18 0c  77 6f 70 65 6e 25 3d b9  |,,W%....wopen%=.|
00001b00  0d 0b 22 05 cd 0d 0b 2c  05 e1 0d 0b 36 04 0d 0b  |.."....,....6...|
00001b10  40 10 dd 20 f2 5f 64 6f  57 69 6e 64 6f 77 0d 0b  |@.. ._doWindow..|
00001b20  4a 10 20 20 ea 20 41 25  2c 49 25 2c 4c 25 0d 0b  |J.  . A%,I%,L%..|
00001b30  54 14 20 e7 20 71 25 21  30 3d 70 61 6c 6c 57 25  |T. . q%!0=pallW%|
00001b40  20 8c 0d 0b 5e 16 20 20  20 f2 5f 54 72 61 6e 73  | ...^.   ._Trans|
00001b50  28 70 61 6c 6c 57 25 29  0d 0b 68 29 20 20 20 c8  |(pallW%)..h)   .|
00001b60  99 20 22 57 69 6d 70 5f  52 65 64 72 61 77 57 69  |. "Wimp_RedrawWi|
00001b70  6e 64 6f 77 22 2c 2c 71  25 20 b8 20 66 6c 61 67  |ndow",,q% . flag|
00001b80  25 0d 0b 72 11 20 20 20  20 20 c8 95 20 66 6c 61  |%..r.     .. fla|
00001b90  67 25 0d 0b 7c 04 0d 0b  86 41 20 20 20 20 20 c8  |g%..|....A     .|
00001ba0  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 35  |."OS_SpriteOp",5|
00001bb0  32 2b 32 35 36 2c 53 50  25 2c 22 50 4c 41 22 2c  |2+256,SP%,"PLA",|
00001bc0  78 6f 25 2b 36 2c 79 6f  25 2b 34 38 2c 26 31 30  |xo%+6,yo%+48,&10|
00001bd0  2c 30 2c 50 54 54 25 0d  0b 90 17 20 20 20 20 20  |,0,PTT%....     |
00001be0  e7 20 ac 28 47 6f 74 42  61 72 25 29 20 8c 0d 0b  |. .(GotBar%) ...|
00001bf0  9a 4e 20 20 20 20 20 c8  99 22 4f 53 5f 53 70 72  |.N     .."OS_Spr|
00001c00  69 74 65 4f 70 22 2c 31  36 2b 32 35 36 2c 53 50  |iteOp",16+256,SP|
00001c10  25 2c 22 42 41 52 22 2c  30 2c 78 6f 25 2d 32 2c  |%,"BAR",0,xo%-2,|
00001c20  79 6f 25 2b 33 32 2c 78  6f 25 2b 31 32 2b 32 35  |yo%+32,xo%+12+25|
00001c30  36 2a 78 73 25 2c 79 6f  25 2b 34 36 0d 0b a4 12  |6*xs%,yo%+46....|
00001c40  20 20 20 20 20 47 6f 74  42 61 72 25 3d b9 0d 0b  |     GotBar%=...|
00001c50  ae 0a 20 20 20 20 20 cd  0d 0b b8 04 0d 0b c2 4b  |..     ........K|
00001c60  20 20 20 20 20 c8 99 22  4f 53 5f 53 70 72 69 74  |     .."OS_Sprit|
00001c70  65 4f 70 22 2c 35 32 2b  32 35 36 2c 53 50 25 2c  |eOp",52+256,SP%,|
00001c80  22 50 4f 49 4e 54 22 2c  78 6f 25 2d 32 2b 41 72  |"POINT",xo%-2+Ar|
00001c90  31 25 2a 78 73 25 2c 79  6f 25 2b 33 32 2c 26 31  |1%*xs%,yo%+32,&1|
00001ca0  43 2c 30 2c 50 74 25 0d  0b cc 4b 20 20 20 20 20  |C,0,Pt%...K     |
00001cb0  c8 99 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |.."OS_SpriteOp",|
00001cc0  35 32 2b 32 35 36 2c 53  50 25 2c 22 50 4f 49 4e  |52+256,SP%,"POIN|
00001cd0  54 22 2c 78 6f 25 2d 32  2b 41 72 32 25 2a 78 73  |T",xo%-2+Ar2%*xs|
00001ce0  25 2c 79 6f 25 2b 33 32  2c 26 31 43 2c 30 2c 50  |%,yo%+32,&1C,0,P|
00001cf0  74 25 0d 0b d6 04 0d 0b  e0 15 20 20 20 20 20 f2  |t%........     .|
00001d00  5f 53 63 6f 6c 28 41 72  31 25 29 0d 0b ea 1b 20  |_Scol(Ar1%).... |
00001d10  20 20 20 20 c8 93 c8 90  20 78 6f 25 2c 79 6f 25  |    .... xo%,yo%|
00001d20  2c 33 30 2c 33 30 0d 0b  f4 26 20 20 20 20 20 c8  |,30,30...&     .|
00001d30  99 22 43 6f 6c 6f 75 72  54 72 61 6e 73 5f 53 65  |."ColourTrans_Se|
00001d40  74 47 43 4f 4c 22 2c 30  2c 30 2c 30 0d 0b fe 19  |tGCOL",0,0,0....|
00001d50  20 20 20 20 20 c8 93 20  78 6f 25 2c 79 6f 25 2c  |     .. xo%,yo%,|
00001d60  33 30 2c 33 30 0d 0c 08  04 0d 0c 12 15 20 20 20  |30,30........   |
00001d70  20 20 f2 5f 53 63 6f 6c  28 41 72 32 25 29 0d 0c  |  ._Scol(Ar2%)..|
00001d80  1c 23 20 20 20 20 20 c8  93 c8 90 20 78 6f 25 2b  |.#     .... xo%+|
00001d90  32 34 36 2a 78 73 25 2c  79 6f 25 2c 33 30 2c 33  |246*xs%,yo%,30,3|
00001da0  30 0d 0c 26 26 20 20 20  20 20 c8 99 22 43 6f 6c  |0..&&     .."Col|
00001db0  6f 75 72 54 72 61 6e 73  5f 53 65 74 47 43 4f 4c  |ourTrans_SetGCOL|
00001dc0  22 2c 30 2c 30 2c 30 0d  0c 30 21 20 20 20 20 20  |",0,0,0..0!     |
00001dd0  c8 93 20 78 6f 25 2b 32  34 36 2a 78 73 25 2c 79  |.. xo%+246*xs%,y|
00001de0  6f 25 2c 33 30 2c 33 30  0d 0c 3a 04 0d 0c 44 2b  |o%,30,30..:...D+|
00001df0  20 20 20 20 20 c8 99 20  22 57 69 6d 70 5f 47 65  |     .. "Wimp_Ge|
00001e00  74 52 65 63 74 61 6e 67  6c 65 22 2c 2c 71 25 20  |tRectangle",,q% |
00001e10  b8 20 66 6c 61 67 25 0d  0c 4e 0a 20 20 20 20 20  |. flag%..N.     |
00001e20  ce 0d 0c 58 08 20 20 20  cd 0d 0c 62 04 0d 0c 6c  |...X.   ...b...l|
00001e30  07 20 20 e1 0d 0c 76 04  0d 0c 80 0e dd 20 a4 70  |.  ...v...... .p|
00001e40  6f 69 6e 74 53 71 0d 0c  8a 11 ea 20 58 25 2c 59  |ointSq..... X%,Y|
00001e50  25 2c 42 25 2c 52 25 0d  0c 94 13 f2 5f 54 72 61  |%,B%,R%....._Tra|
00001e60  6e 73 28 70 61 6c 6c 57  25 29 0d 0c 9e 0f c8 97  |ns(pallW%)......|
00001e70  20 58 25 2c 59 25 2c 42  25 0d 0c a8 08 52 25 3d  | X%,Y%,B%....R%=|
00001e80  30 0d 0c b2 29 e7 20 28  58 25 3c 28 78 6f 25 2b  |0...). (X%<(xo%+|
00001e90  33 30 29 20 80 20 59 25  3c 28 79 6f 25 2b 33 30  |30) . Y%<(yo%+30|
00001ea0  29 20 29 20 8c 20 52 25  3d 31 0d 0c bc 2e e7 20  |) ) . R%=1..... |
00001eb0  28 58 25 3e 28 78 6f 25  2b 32 34 36 2a 78 73 25  |(X%>(xo%+246*xs%|
00001ec0  29 20 80 20 59 25 3c 28  79 6f 25 2b 33 30 29 20  |) . Y%<(yo%+30) |
00001ed0  29 20 8c 20 52 25 3d 32  0d 0c c6 07 3d 52 25 0d  |) . R%=2....=R%.|
00001ee0  0c d0 04 0d 0c da 0e dd  20 a4 70 6f 69 6e 74 49  |........ .pointI|
00001ef0  6e 0d 0c e4 11 ea 20 58  25 2c 59 25 2c 42 25 2c  |n..... X%,Y%,B%,|
00001f00  52 25 0d 0c ee 13 f2 5f  54 72 61 6e 73 28 70 61  |R%....._Trans(pa|
00001f10  6c 6c 57 25 29 0d 0c f8  0f c8 97 20 58 25 2c 59  |llW%)...... X%,Y|
00001f20  25 2c 42 25 0d 0d 02 08  52 25 3d 30 0d 0d 0c 47  |%,B%....R%=0...G|
00001f30  e7 20 28 94 28 28 58 25  2d 78 6f 25 29 2d 28 38  |. (.((X%-xo%)-(8|
00001f40  2b 41 72 31 25 2a 78 73  25 29 29 3c 31 36 20 80  |+Ar1%*xs%))<16 .|
00001f50  20 28 59 25 2d 79 6f 25  3e 32 38 29 20 80 20 28  | (Y%-yo%>28) . (|
00001f60  59 25 2d 79 6f 25 3c 34  39 29 20 29 20 8c 20 52  |Y%-yo%<49) ) . R|
00001f70  25 3d 31 0d 0d 16 47 e7  20 28 94 28 28 58 25 2d  |%=1...G. (.((X%-|
00001f80  78 6f 25 29 2d 28 38 2b  41 72 32 25 2a 78 73 25  |xo%)-(8+Ar2%*xs%|
00001f90  29 29 3c 31 36 20 80 20  28 59 25 2d 79 6f 25 3e  |))<16 . (Y%-yo%>|
00001fa0  32 38 29 20 80 20 28 59  25 2d 79 6f 25 3c 34 39  |28) . (Y%-yo%<49|
00001fb0  29 20 29 20 8c 20 52 25  3d 32 0d 0d 20 07 3d 52  |) ) . R%=2.. .=R|
00001fc0  25 0d 0d 2a 04 0d 0d 34  15 dd 20 f2 5f 41 61 72  |%..*...4.. ._Aar|
00001fd0  72 6f 77 28 41 25 2c 43  25 29 0d 0d 3e 0a e6 20  |row(A%,C%)..>.. |
00001fe0  30 2c 43 25 0d 0d 48 0d  41 25 3d 41 25 2a 78 73  |0,C%..H.A%=A%*xs|
00001ff0  25 0d 0d 52 15 ec 20 78  6f 25 2b 36 2b 41 25 2c  |%..R.. xo%+6+A%,|
00002000  79 6f 25 2b 34 38 0d 0d  5c 0d f0 20 30 2c 2d 38  |yo%+48..\.. 0,-8|
00002010  2c 2d 38 0d 0d 66 0d f0  20 38 31 2c 31 36 2c 30  |,-8..f.. 81,16,0|
00002020  0d 0d 70 0c f0 20 30 2c  2d 36 2c 30 0d 0d 7a 0e  |..p.. 0,-6,0..z.|
00002030  f0 20 39 37 2c 2d 34 2c  2d 38 0d 0d 84 04 0d 0d  |. 97,-4,-8......|
00002040  8e 05 e1 0d 0d 98 04 0d  0d a2 0a dd 20 f2 5f 4d  |............ ._M|
00002050  53 0d 0d ac 1c f4 20 4d  41 4b 45 20 41 20 50 41  |S..... MAKE A PA|
00002060  4c 4c 45 54 54 45 20 53  50 52 49 54 45 0d 0d b6  |LLETTE SPRITE...|
00002070  0d 53 5a 25 3d 31 38 30  30 30 0d 0d c0 0d de 20  |.SZ%=18000..... |
00002080  53 50 25 20 53 5a 25 0d  0d ca 0d 53 50 25 21 30  |SP% SZ%....SP%!0|
00002090  3d 53 5a 25 0d 0d d4 0c  53 50 25 21 38 3d 31 36  |=SZ%....SP%!8=16|
000020a0  0d 0d de 1d c8 99 22 4f  53 5f 53 70 72 69 74 65  |......"OS_Sprite|
000020b0  4f 70 22 2c 39 2b 32 35  36 2c 53 50 25 0d 0d e8  |Op",9+256,SP%...|
000020c0  30 c8 99 22 4f 53 5f 53  70 72 69 74 65 4f 70 22  |0.."OS_SpriteOp"|
000020d0  2c 31 35 2b 32 35 36 2c  53 50 25 2c 22 50 4c 41  |,15+256,SP%,"PLA|
000020e0  22 2c 30 2c 32 35 36 2c  32 30 2c 32 31 0d 0d f2  |",0,256,20,21...|
000020f0  13 73 70 74 72 25 3d 53  50 25 2b 53 50 25 21 38  |.sptr%=SP%+SP%!8|
00002100  0d 0d fc 11 70 61 6c 25  3d 73 70 74 72 25 2b 34  |....pal%=sptr%+4|
00002110  34 0d 0e 06 16 21 28 73  70 74 72 25 2b 38 2a 34  |4....!(sptr%+8*4|
00002120  29 2b 3d 32 30 34 38 0d  0e 10 16 21 28 73 70 74  |)+=2048....!(spt|
00002130  72 25 2b 39 2a 34 29 2b  3d 32 30 34 38 0d 0e 1a  |r%+9*4)+=2048...|
00002140  10 21 73 70 74 72 25 2b  3d 32 30 34 38 0d 0e 24  |.!sptr%+=2048..$|
00002150  13 21 28 53 50 25 2b 31  32 29 2b 3d 32 30 34 38  |.!(SP%+12)+=2048|
00002160  0d 0e 2e 0a f2 5f 47 52  45 59 0d 0e 38 04 0d 0e  |....._GREY..8...|
00002170  42 37 50 25 3d 70 61 6c  25 2b 32 30 34 38 20 3a  |B7P%=pal%+2048 :|
00002180  20 f4 20 50 4f 49 4e 54  20 41 54 20 53 54 41 52  | . POINT AT STAR|
00002190  54 20 4f 46 20 53 50 52  49 54 45 20 49 4e 20 4d  |T OF SPRITE IN M|
000021a0  45 4d 4f 52 59 0d 0e 4c  1d f4 20 44 72 61 77 20  |EMORY..L.. Draw |
000021b0  74 68 65 20 62 61 72 73  20 6f 66 20 63 6f 6c 6f  |the bars of colo|
000021c0  75 72 0d 0e 56 0f e3 20  42 25 3d 30 20 b8 20 31  |ur..V.. B%=0 . 1|
000021d0  39 0d 0e 60 10 e3 20 41  25 3d 30 20 b8 20 32 35  |9..`.. A%=0 . 25|
000021e0  35 0d 0e 6a 16 3f 28 50  25 2b 32 35 36 2a 42 25  |5..j.?(P%+256*B%|
000021f0  2b 41 25 29 3d 41 25 0d  0e 74 05 ed 0d 0e 7e 05  |+A%)=A%..t....~.|
00002200  ed 0d 0e 88 23 f4 20 4d  65 72 67 65 20 74 68 65  |....#. Merge the|
00002210  20 70 6f 69 6e 74 65 72  20 73 70 72 69 74 65 20  | pointer sprite |
00002220  66 69 6c 65 0d 0e 92 36  c8 99 22 4f 53 5f 53 70  |file...6.."OS_Sp|
00002230  72 69 74 65 4f 70 22 2c  31 31 2b 32 35 36 2c 53  |riteOp",11+256,S|
00002240  50 25 2c 22 3c 50 61 6c  4d 61 6b 65 24 44 69 72  |P%,"<PalMake$Dir|
00002250  3e 2e 53 70 72 69 74 65  73 22 0d 0e 9c 0c f2 5f  |>.Sprites"....._|
00002260  50 75 74 50 61 6c 0d 0e  a6 05 e1 0d 0e b0 04 0d  |PutPal..........|
00002270  0e ba 12 dd 20 f2 5f 54  72 61 6e 73 28 77 68 25  |.... ._Trans(wh%|
00002280  29 0d 0e c4 0b 21 71 25  3d 77 68 25 0d 0e ce 20  |)....!q%=wh%... |
00002290  c8 99 20 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  |.. "Wimp_GetWind|
000022a0  6f 77 53 74 61 74 65 22  2c 2c 71 25 0d 0e d8 27  |owState",,q%...'|
000022b0  78 6f 25 3d 71 25 21 34  2d 71 25 21 32 30 2b 38  |xo%=q%!4-q%!20+8|
000022c0  3a 79 6f 25 3d 71 25 21  31 36 2d 71 25 21 32 34  |:yo%=q%!16-q%!24|
000022d0  2d 38 38 0d 0e e2 16 58  4f 25 3d 71 25 21 34 3a  |-88....XO%=q%!4:|
000022e0  59 4f 25 3d 71 25 21 31  36 0d 0e ec 05 e1 0d 0e  |YO%=q%!16.......|
000022f0  f6 04 0d 0f 00 0f dd f2  73 65 74 75 70 6d 65 6e  |........setupmen|
00002300  75 0d 0f 0a 08 ea 20 6d  25 0d 0f 14 16 24 69 6e  |u..... m%....$in|
00002310  76 6d 65 6e 75 25 3d 22  49 6e 76 65 72 74 22 0d  |vmenu%="Invert".|
00002320  0f 1e 11 69 6e 76 6d 65  6e 75 25 3f 31 32 3d 37  |...invmenu%?12=7|
00002330  0d 0f 28 11 69 6e 76 6d  65 6e 75 25 3f 31 33 3d  |..(.invmenu%?13=|
00002340  32 0d 0f 32 11 69 6e 76  6d 65 6e 75 25 3f 31 34  |2..2.invmenu%?14|
00002350  3d 37 0d 0f 3c 11 69 6e  76 6d 65 6e 75 25 3f 31  |=7..<.invmenu%?1|
00002360  35 3d 30 0d 0f 46 13 69  6e 76 6d 65 6e 75 25 21  |5=0..F.invmenu%!|
00002370  31 36 3d 31 37 38 0d 0f  50 12 69 6e 76 6d 65 6e  |16=178..P.invmen|
00002380  75 25 21 32 30 3d 34 30  0d 0f 5a 11 69 6e 76 6d  |u%!20=40..Z.invm|
00002390  65 6e 75 25 21 32 34 3d  30 0d 0f 64 12 6d 25 3d  |enu%!24=0..d.m%=|
000023a0  69 6e 76 6d 65 6e 75 25  2b 32 38 0d 0f 6e 0a 6d  |invmenu%+28..n.m|
000023b0  25 21 30 3d 30 0d 0f 78  0a 6d 25 21 34 3d 30 0d  |%!0=0..x.m%!4=0.|
000023c0  0f 82 18 6d 25 21 38 3d  28 37 3c 3c 32 34 29 84  |...m%!8=(7<<24).|
000023d0  20 25 31 30 30 30 31 0d  0f 8c 19 24 28 6d 25 2b  | %10001....$(m%+|
000023e0  31 32 29 3d 22 49 6e 76  65 72 74 20 61 6c 6c 22  |12)="Invert all"|
000023f0  0d 0f 96 04 0d 0f a0 0a  6d 25 2b 3d 32 34 0d 0f  |........m%+=24..|
00002400  aa 0c 6d 25 21 30 3d 26  38 30 0d 0f b4 0a 6d 25  |..m%!0=&80....m%|
00002410  21 34 3d 30 0d 0f be 18  6d 25 21 38 3d 28 37 3c  |!4=0....m%!8=(7<|
00002420  3c 32 34 29 84 20 25 31  30 30 30 31 0d 0f c8 1a  |<24). %10001....|
00002430  24 28 6d 25 2b 31 32 29  3d 22 49 6e 76 65 72 74  |$(m%+12)="Invert|
00002440  20 70 61 72 74 22 0d 0f  d2 04 0d 0f dc 17 24 64  | part"........$d|
00002450  65 66 6d 65 6e 75 25 3d  22 44 65 66 61 75 6c 74  |efmenu%="Default|
00002460  22 0d 0f e6 11 64 65 66  6d 65 6e 75 25 3f 31 32  |"....defmenu%?12|
00002470  3d 37 0d 0f f0 11 64 65  66 6d 65 6e 75 25 3f 31  |=7....defmenu%?1|
00002480  33 3d 32 0d 0f fa 11 64  65 66 6d 65 6e 75 25 3f  |3=2....defmenu%?|
00002490  31 34 3d 37 0d 10 04 11  64 65 66 6d 65 6e 75 25  |14=7....defmenu%|
000024a0  3f 31 35 3d 30 0d 10 0e  13 64 65 66 6d 65 6e 75  |?15=0....defmenu|
000024b0  25 21 31 36 3d 31 32 30  0d 10 18 12 64 65 66 6d  |%!16=120....defm|
000024c0  65 6e 75 25 21 32 30 3d  34 30 0d 10 22 11 64 65  |enu%!20=40..".de|
000024d0  66 6d 65 6e 75 25 21 32  34 3d 30 0d 10 2c 12 6d  |fmenu%!24=0..,.m|
000024e0  25 3d 64 65 66 6d 65 6e  75 25 2b 32 38 0d 10 36  |%=defmenu%+28..6|
000024f0  0a 6d 25 21 30 3d 30 0d  10 40 0a 6d 25 21 34 3d  |.m%!0=0..@.m%!4=|
00002500  30 0d 10 4a 18 6d 25 21  38 3d 28 37 3c 3c 32 34  |0..J.m%!8=(7<<24|
00002510  29 84 20 25 31 30 30 30  31 0d 10 54 13 24 28 6d  |). %10001..T.$(m|
00002520  25 2b 31 32 29 3d 22 47  72 65 79 22 0d 10 5e 04  |%+12)="Grey"..^.|
00002530  0d 10 68 0a 6d 25 2b 3d  32 34 0d 10 72 0c 6d 25  |..h.m%+=24..r.m%|
00002540  21 30 3d 26 38 30 0d 10  7c 0a 6d 25 21 34 3d 30  |!0=&80..|.m%!4=0|
00002550  0d 10 86 18 6d 25 21 38  3d 28 37 3c 3c 32 34 29  |....m%!8=(7<<24)|
00002560  84 20 25 31 30 30 30 31  0d 10 90 15 24 28 6d 25  |. %10001....$(m%|
00002570  2b 31 32 29 3d 22 43 6f  6c 6f 75 72 22 0d 10 9a  |+12)="Colour"...|
00002580  04 0d 10 a4 15 24 49 6d  65 6e 75 25 3d 22 43 6f  |.....$Imenu%="Co|
00002590  6c 6f 75 72 73 22 0d 10  ae 0f 49 6d 65 6e 75 25  |lours"....Imenu%|
000025a0  3f 31 32 3d 37 0d 10 b8  0f 49 6d 65 6e 75 25 3f  |?12=7....Imenu%?|
000025b0  31 33 3d 32 0d 10 c2 0f  49 6d 65 6e 75 25 3f 31  |13=2....Imenu%?1|
000025c0  34 3d 37 0d 10 cc 0f 49  6d 65 6e 75 25 3f 31 35  |4=7....Imenu%?15|
000025d0  3d 30 0d 10 d6 11 49 6d  65 6e 75 25 21 31 36 3d  |=0....Imenu%!16=|
000025e0  31 37 30 0d 10 e0 10 49  6d 65 6e 75 25 21 32 30  |170....Imenu%!20|
000025f0  3d 34 30 0d 10 ea 0f 49  6d 65 6e 75 25 21 32 34  |=40....Imenu%!24|
00002600  3d 30 0d 10 f4 10 6d 25  3d 49 6d 65 6e 75 25 2b  |=0....m%=Imenu%+|
00002610  32 38 0d 10 fe 0a 6d 25  21 30 3d 30 0d 11 08 0a  |28....m%!0=0....|
00002620  6d 25 21 34 3d 30 0d 11  12 18 6d 25 21 38 3d 28  |m%!4=0....m%!8=(|
00002630  37 3c 3c 32 34 29 84 20  25 31 30 30 30 31 0d 11  |7<<24). %10001..|
00002640  1c 19 24 28 6d 25 2b 31  32 29 3d 22 47 72 65 79  |..$(m%+12)="Grey|
00002650  20 57 65 64 67 65 22 0d  11 26 04 0d 11 30 0a 6d  | Wedge"..&...0.m|
00002660  25 2b 3d 32 34 0d 11 3a  0a 6d 25 21 30 3d 30 0d  |%+=24..:.m%!0=0.|
00002670  11 44 0a 6d 25 21 34 3d  30 0d 11 4e 18 6d 25 21  |.D.m%!4=0..N.m%!|
00002680  38 3d 28 37 3c 3c 32 34  29 84 20 25 31 30 30 30  |8=(7<<24). %1000|
00002690  31 0d 11 58 19 24 28 6d  25 2b 31 32 29 3d 22 47  |1..X.$(m%+12)="G|
000026a0  72 65 79 20 53 68 6f 72  74 22 0d 11 62 04 0d 11  |rey Short"..b...|
000026b0  6c 0a 6d 25 2b 3d 32 34  0d 11 76 0a 6d 25 21 30  |l.m%+=24..v.m%!0|
000026c0  3d 30 0d 11 80 0a 6d 25  21 34 3d 30 0d 11 8a 18  |=0....m%!4=0....|
000026d0  6d 25 21 38 3d 28 37 3c  3c 32 34 29 84 20 25 31  |m%!8=(7<<24). %1|
000026e0  30 30 30 31 0d 11 94 19  24 28 6d 25 2b 31 32 29  |0001....$(m%+12)|
000026f0  3d 22 52 47 42 20 43 6f  6c 6f 75 72 22 0d 11 9e  |="RGB Colour"...|
00002700  04 0d 11 a8 0a 6d 25 2b  3d 32 34 0d 11 b2 0a 6d  |.....m%+=24....m|
00002710  25 21 30 3d 30 0d 11 bc  0a 6d 25 21 34 3d 30 0d  |%!0=0....m%!4=0.|
00002720  11 c6 18 6d 25 21 38 3d  28 37 3c 3c 32 34 29 84  |...m%!8=(7<<24).|
00002730  20 25 31 30 30 30 31 0d  11 d0 19 24 28 6d 25 2b  | %10001....$(m%+|
00002740  31 32 29 3d 22 48 56 53  20 43 6f 6c 6f 75 72 22  |12)="HVS Colour"|
00002750  0d 11 da 04 0d 11 e4 0a  6d 25 2b 3d 32 34 0d 11  |........m%+=24..|
00002760  ee 0a 6d 25 21 30 3d 30  0d 11 f8 0a 6d 25 21 34  |..m%!0=0....m%!4|
00002770  3d 30 0d 12 02 18 6d 25  21 38 3d 28 37 3c 3c 32  |=0....m%!8=(7<<2|
00002780  34 29 84 20 25 31 30 30  30 31 0d 12 0c 18 24 28  |4). %10001....$(|
00002790  6d 25 2b 31 32 29 3d 22  46 72 6f 6d 20 6c 65 66  |m%+12)="From lef|
000027a0  74 22 0d 12 16 04 0d 12  20 0a 6d 25 2b 3d 32 34  |t"...... .m%+=24|
000027b0  0d 12 2a 0c 6d 25 21 30  3d 26 38 30 0d 12 34 0a  |..*.m%!0=&80..4.|
000027c0  6d 25 21 34 3d 30 0d 12  3e 18 6d 25 21 38 3d 28  |m%!4=0..>.m%!8=(|
000027d0  37 3c 3c 32 34 29 84 20  25 31 30 30 30 31 0d 12  |7<<24). %10001..|
000027e0  48 19 24 28 6d 25 2b 31  32 29 3d 22 46 72 6f 6d  |H.$(m%+12)="From|
000027f0  20 72 69 67 68 74 22 0d  12 52 04 0d 12 5c 19 24  | right"..R...\.$|
00002800  6d 65 6e 75 25 3d 22 50  61 6c 6c 65 74 74 65 4d  |menu%="PalletteM|
00002810  61 6b 65 22 0d 12 66 0e  6d 65 6e 75 25 3f 31 32  |ake"..f.menu%?12|
00002820  3d 37 0d 12 70 0e 6d 65  6e 75 25 3f 31 33 3d 32  |=7..p.menu%?13=2|
00002830  0d 12 7a 0e 6d 65 6e 75  25 3f 31 34 3d 37 0d 12  |..z.menu%?14=7..|
00002840  84 0e 6d 65 6e 75 25 3f  31 35 3d 30 0d 12 8e 0f  |..menu%?15=0....|
00002850  6d 65 6e 75 25 21 31 36  3d 38 36 0d 12 98 0f 6d  |menu%!16=86....m|
00002860  65 6e 75 25 21 32 30 3d  34 30 0d 12 a2 0e 6d 65  |enu%!20=40....me|
00002870  6e 75 25 21 32 34 3d 30  0d 12 ac 0f 6d 25 3d 6d  |nu%!24=0....m%=m|
00002880  65 6e 75 25 2b 32 38 0d  12 b6 0a 6d 25 21 30 3d  |enu%+28....m%!0=|
00002890  30 0d 12 c0 0e 6d 25 21  34 3d 69 6e 66 6f 25 0d  |0....m%!4=info%.|
000028a0  12 ca 18 6d 25 21 38 3d  28 37 3c 3c 32 34 29 84  |...m%!8=(7<<24).|
000028b0  20 25 31 30 30 30 31 0d  12 d4 13 24 28 6d 25 2b  | %10001....$(m%+|
000028c0  31 32 29 3d 22 49 6e 66  6f 22 0d 12 de 04 0d 12  |12)="Info"......|
000028d0  e8 0a 6d 25 2b 3d 32 34  0d 12 f2 0c 6d 25 21 30  |..m%+=24....m%!0|
000028e0  3d 26 38 30 0d 12 fc 0a  6d 25 21 34 3d 30 0d 13  |=&80....m%!4=0..|
000028f0  06 18 6d 25 21 38 3d 28  37 3c 3c 32 34 29 84 20  |..m%!8=(7<<24). |
00002900  25 31 30 30 30 31 0d 13  10 13 24 28 6d 25 2b 31  |%10001....$(m%+1|
00002910  32 29 3d 22 51 75 69 74  22 0d 13 1a 04 0d 13 24  |2)="Quit"......$|
00002920  16 24 57 6d 65 6e 75 25  3d 22 50 61 6c 6c 4d 61  |.$Wmenu%="PallMa|
00002930  6b 65 22 0d 13 2e 0f 57  6d 65 6e 75 25 3f 31 32  |ke"....Wmenu%?12|
00002940  3d 37 0d 13 38 0f 57 6d  65 6e 75 25 3f 31 33 3d  |=7..8.Wmenu%?13=|
00002950  32 0d 13 42 0f 57 6d 65  6e 75 25 3f 31 34 3d 37  |2..B.Wmenu%?14=7|
00002960  0d 13 4c 0f 57 6d 65 6e  75 25 3f 31 35 3d 30 0d  |..L.Wmenu%?15=0.|
00002970  13 56 11 57 6d 65 6e 75  25 21 31 36 3d 31 38 38  |.V.Wmenu%!16=188|
00002980  0d 13 60 10 57 6d 65 6e  75 25 21 32 30 3d 34 30  |..`.Wmenu%!20=40|
00002990  0d 13 6a 0f 57 6d 65 6e  75 25 21 32 34 3d 30 0d  |..j.Wmenu%!24=0.|
000029a0  13 74 10 6d 25 3d 57 6d  65 6e 75 25 2b 32 38 0d  |.t.m%=Wmenu%+28.|
000029b0  13 7e 0a 6d 25 21 30 3d  30 0d 13 88 0f 6d 25 21  |.~.m%!0=0....m%!|
000029c0  34 3d 73 61 76 65 57 25  0d 13 92 18 6d 25 21 38  |4=saveW%....m%!8|
000029d0  3d 28 37 3c 3c 32 34 29  84 20 25 31 30 30 30 31  |=(7<<24). %10001|
000029e0  0d 13 9c 13 24 28 6d 25  2b 31 32 29 3d 22 53 61  |....$(m%+12)="Sa|
000029f0  76 65 22 0d 13 a6 04 0d  13 b0 0a 6d 25 2b 3d 32  |ve"........m%+=2|
00002a00  34 0d 13 ba 0a 6d 25 21  30 3d 30 0d 13 c4 0a 6d  |4....m%!0=0....m|
00002a10  25 21 34 3d 30 0d 13 ce  18 6d 25 21 38 3d 28 37  |%!4=0....m%!8=(7|
00002a20  3c 3c 32 34 29 84 20 25  31 30 30 30 31 0d 13 d8  |<<24). %10001...|
00002a30  17 24 28 6d 25 2b 31 32  29 3d 22 45 6e 64 73 20  |.$(m%+12)="Ends |
00002a40  42 2f 57 22 0d 13 e2 04  0d 13 ec 0a 6d 25 2b 3d  |B/W"........m%+=|
00002a50  32 34 0d 13 f6 0a 6d 25  21 30 3d 30 0d 14 00 11  |24....m%!0=0....|
00002a60  6d 25 21 34 3d 64 65 66  6d 65 6e 75 25 0d 14 0a  |m%!4=defmenu%...|
00002a70  18 6d 25 21 38 3d 28 37  3c 3c 32 34 29 84 20 25  |.m%!8=(7<<24). %|
00002a80  31 30 30 30 31 0d 14 14  16 24 28 6d 25 2b 31 32  |10001....$(m%+12|
00002a90  29 3d 22 44 65 66 61 75  6c 74 22 0d 14 1e 04 0d  |)="Default".....|
00002aa0  14 28 0a 6d 25 2b 3d 32  34 0d 14 32 0a 6d 25 21  |.(.m%+=24..2.m%!|
00002ab0  30 3d 30 0d 14 3c 11 6d  25 21 34 3d 69 6e 76 6d  |0=0..<.m%!4=invm|
00002ac0  65 6e 75 25 0d 14 46 18  6d 25 21 38 3d 28 37 3c  |enu%..F.m%!8=(7<|
00002ad0  3c 32 34 29 84 20 25 31  30 30 30 31 0d 14 50 15  |<24). %10001..P.|
00002ae0  24 28 6d 25 2b 31 32 29  3d 22 49 6e 76 65 72 74  |$(m%+12)="Invert|
00002af0  22 0d 14 5a 04 0d 14 64  0a 6d 25 2b 3d 32 34 0d  |"..Z...d.m%+=24.|
00002b00  14 6e 0a 6d 25 21 30 3d  30 0d 14 78 0f 6d 25 21  |.n.m%!0=0..x.m%!|
00002b10  34 3d 49 6d 65 6e 75 25  0d 14 82 18 6d 25 21 38  |4=Imenu%....m%!8|
00002b20  3d 28 37 3c 3c 32 34 29  84 20 25 31 30 30 30 31  |=(7<<24). %10001|
00002b30  0d 14 8c 1a 24 28 6d 25  2b 31 32 29 3d 22 49 6e  |....$(m%+12)="In|
00002b40  74 65 72 70 6f 6c 61 74  65 22 0d 14 96 04 0d 14  |terpolate"......|
00002b50  a0 0a 6d 25 2b 3d 32 34  0d 14 aa 0c 6d 25 21 30  |..m%+=24....m%!0|
00002b60  3d 26 38 30 0d 14 b4 0a  6d 25 21 34 3d 30 0d 14  |=&80....m%!4=0..|
00002b70  be 18 6d 25 21 38 3d 28  37 3c 3c 32 34 29 84 20  |..m%!8=(7<<24). |
00002b80  25 31 30 30 30 31 0d 14  c8 1a 24 28 6d 25 2b 31  |%10001....$(m%+1|
00002b90  32 29 3d 22 55 6e 64 6f  20 43 68 61 6e 67 65 22  |2)="Undo Change"|
00002ba0  0d 14 d2 04 0d 14 dc 04  0d 14 e6 12 dd 20 f2 72  |............. .r|
00002bb0  65 63 65 69 76 65 28 71  25 29 0d 14 f0 08 ea 20  |eceive(q%)..... |
00002bc0  41 25 0d 14 fa 0c 41 25  3d 71 25 21 31 36 0d 15  |A%....A%=q%!16..|
00002bd0  04 0b c8 8e 20 41 25 20  ca 0d 15 0e 0c c9 20 30  |.... A% ...... 0|
00002be0  3a f2 64 69 65 0d 15 18  1b c9 20 32 3a e7 20 71  |:.die..... 2:. q|
00002bf0  25 21 31 32 3d 73 61 76  65 72 65 66 25 20 8c 20  |%!12=saveref% . |
00002c00  0d 15 22 1c 20 20 20 20  20 20 20 20 20 20 73 65  |..".          se|
00002c10  63 75 72 65 46 25 3d 71  25 21 33 36 0d 15 2c 25  |cureF%=q%!36..,%|
00002c20  20 20 20 20 20 20 20 20  20 20 66 6e 24 3d a4 73  |          fn$=.s|
00002c30  67 65 74 28 71 25 2b 34  34 29 3a f2 5f 53 61 76  |get(q%+44):._Sav|
00002c40  65 0d 15 36 38 20 20 20  20 20 20 20 20 20 20 71  |e..68          q|
00002c50  25 21 31 32 3d 73 61 76  65 72 65 66 25 3a 71 25  |%!12=saveref%:q%|
00002c60  21 31 36 3d 33 3a 71 25  21 30 3d 32 35 36 3a 71  |!16=3:q%!0=256:q|
00002c70  25 21 34 30 3d 26 30 34  34 0d 15 40 41 20 20 20  |%!40=&044..@A   |
00002c80  20 20 20 20 20 20 20 71  25 21 32 30 3d 6d 65 73  |       q%!20=mes|
00002c90  73 68 25 3a 71 25 21 32  34 3d 6d 65 73 73 69 25  |sh%:q%!24=messi%|
00002ca0  3a 71 25 21 32 38 3d 6d  65 73 73 78 25 3a 71 25  |:q%!28=messx%:q%|
00002cb0  21 33 32 3d 6d 65 73 73  79 25 0d 15 4a 37 20 20  |!32=messy%..J7  |
00002cc0  20 20 20 20 20 20 20 20  c8 99 20 22 57 69 6d 70  |        .. "Wimp|
00002cd0  5f 53 65 6e 64 4d 65 73  73 61 67 65 22 2c 31 37  |_SendMessage",17|
00002ce0  2c 71 25 2c 6d 65 73 73  68 25 2c 6d 65 73 73 69  |,q%,messh%,messi|
00002cf0  25 0d 15 54 0f 20 20 20  20 20 20 20 20 20 20 cd  |%..T.          .|
00002d00  0d 15 5e 04 0d 15 68 34  c9 20 33 3a e7 20 71 25  |..^...h4. 3:. q%|
00002d10  21 32 30 3d 2d 32 20 80  20 71 25 21 32 34 3d 73  |!20=-2 . q%!24=s|
00002d20  6d 70 69 63 6f 6e 25 20  84 20 71 25 21 32 30 3d  |mpicon% . q%!20=|
00002d30  70 61 6c 6c 57 25 20 8c  0d 15 72 18 20 20 20 20  |pallW% ...r.    |
00002d40  20 20 20 20 46 74 79 70  65 25 3d 71 25 21 34 30  |    Ftype%=q%!40|
00002d50  0d 15 7c 1b 20 20 20 20  20 20 20 20 6e 24 3d a4  |..|.        n$=.|
00002d60  73 67 65 74 28 71 25 2b  34 34 29 0d 15 86 12 20  |sget(q%+44).... |
00002d70  20 20 20 20 20 20 20 f2  5f 44 61 63 6b 0d 15 90  |       ._Dack...|
00002d80  20 20 20 20 20 20 20 20  20 f2 5f 50 61 6c 4c 6f  |         ._PalLo|
00002d90  61 64 28 6e 24 2c 46 74  79 70 65 25 29 0d 15 9a  |ad(n$,Ftype%)...|
00002da0  12 20 20 20 20 20 20 20  20 72 65 66 25 3d 30 0d  |.        ref%=0.|
00002db0  15 a4 0c 20 20 20 20 20  20 20 cd 0d 15 ae 04 0d  |...       ......|
00002dc0  15 b8 14 c9 20 26 35 30  32 3a 20 20 20 c8 8e 20  |.... &502:   .. |
00002dd0  b9 20 ca 0d 15 c2 6f 20  20 20 20 20 20 20 20 20  |. ....o         |
00002de0  20 20 20 20 c9 20 71 25  21 33 32 3d 2d 32 20 80  |    . q%!32=-2 .|
00002df0  20 71 25 21 33 36 3d 73  6d 70 69 63 6f 6e 25 3a  | q%!36=smpicon%:|
00002e00  6d 65 73 24 3d 22 54 68  69 73 20 69 73 20 74 68  |mes$="This is th|
00002e10  65 20 50 61 6c 6c 65 74  65 20 4d 61 6b 65 20 69  |e Pallete Make i|
00002e20  63 6f 6e 2e 7c 4d 4f 62  73 65 72 76 65 20 74 68  |con.|MObserve th|
00002e30  65 20 70 61 6c 6c 65 74  74 65 20 69 6e 20 75 73  |e pallette in us|
00002e40  65 22 0d 15 cc 1a 20 20  20 20 20 20 20 20 20 20  |e"....          |
00002e50  20 20 20 7f 3a 6d 65 73  24 3d 22 22 0d 15 d6 12  |   .:mes$=""....|
00002e60  20 20 20 20 20 20 20 20  20 20 20 20 20 cb 0d 15  |             ...|
00002e70  e0 14 20 20 20 20 e7 20  6d 65 73 24 3c 3e 22 22  |..    . mes$<>""|
00002e80  20 8c 0d 15 ea 12 20 20  20 20 71 25 21 31 32 3d  | .....    q%!12=|
00002e90  71 25 21 38 0d 15 f4 18  20 20 20 20 24 28 71 25  |q%!8....    $(q%|
00002ea0  2b 32 30 29 3d 6d 65 73  24 2b bd 30 0d 15 fe 1e  |+20)=mes$+.0....|
00002eb0  20 20 20 20 71 25 21 30  3d 28 32 30 2b a9 6d 65  |    q%!0=(20+.me|
00002ec0  73 24 2b 34 29 80 20 ac  20 33 0d 16 08 12 20 20  |s$+4). . 3....  |
00002ed0  20 20 71 25 21 31 36 3d  26 35 30 33 0d 16 12 28  |  q%!16=&503...(|
00002ee0  20 20 20 20 c8 99 20 22  57 69 6d 70 5f 53 65 6e  |    .. "Wimp_Sen|
00002ef0  64 4d 65 73 73 61 67 65  22 2c 31 38 2c 71 25 2c  |dMessage",18,q%,|
00002f00  71 25 21 34 0d 16 1c 05  cb 0d 16 26 05 e1 0d 16  |q%!4.......&....|
00002f10  30 04 0d 16 3a 0c dd 20  f2 5f 44 61 63 6b 0d 16  |0...:.. ._Dack..|
00002f20  44 10 73 65 6e 64 74 68  25 3d 71 25 21 34 0d 16  |D.sendth%=q%!4..|
00002f30  4e 0f 6d 79 72 65 66 25  3d 71 25 21 38 0d 16 58  |N.myref%=q%!8..X|
00002f40  22 c8 99 20 22 57 69 6d  70 5f 47 65 74 50 6f 69  |".. "Wimp_GetPoi|
00002f50  6e 74 65 72 49 6e 66 6f  22 2c 2c 71 25 2b 38 0d  |nterInfo",,q%+8.|
00002f60  16 62 0e 71 25 21 32 38  3d 71 25 21 38 0d 16 6c  |.b.q%!28=q%!8..l|
00002f70  0f 71 25 21 33 32 3d 71  25 21 31 32 0d 16 76 18  |.q%!32=q%!12..v.|
00002f80  71 25 21 30 3d 28 34 34  2b a9 6e 24 2b 34 29 80  |q%!0=(44+.n$+4).|
00002f90  20 ac 20 33 0d 16 80 10  71 25 21 31 32 3d 6d 79  | . 3....q%!12=my|
00002fa0  72 65 66 25 0d 16 8a 0b  71 25 21 31 36 3d 34 0d  |ref%....q%!16=4.|
00002fb0  16 94 0c 71 25 21 33 36  3d 2d 31 0d 16 9e 0e 71  |...q%!36=-1....q|
00002fc0  25 21 34 30 3d 26 46 46  39 0d 16 a8 12 24 28 71  |%!40=&FF9....$(q|
00002fd0  25 2b 34 34 29 3d 6e 24  2b bd 30 0d 16 b2 27 c8  |%+44)=n$+.0...'.|
00002fe0  99 20 22 57 69 6d 70 5f  53 65 6e 64 4d 65 73 73  |. "Wimp_SendMess|
00002ff0  61 67 65 22 2c 31 37 2c  71 25 2c 73 65 6e 64 74  |age",17,q%,sendt|
00003000  68 25 0d 16 bc 05 cd 0d  16 c6 05 e1 0d 16 d0 04  |h%..............|
00003010  0d 16 da 0e dd a4 73 67  65 74 28 78 25 29 0d 16  |......sget(x%)..|
00003020  e4 08 ea 20 78 24 0d 16  ee 1d c8 95 20 3f 78 25  |... x$...... ?x%|
00003030  20 78 24 2b 3d bd 28 3f  78 25 29 3a 78 25 2b 3d  | x$+=.(?x%):x%+=|
00003040  31 3a ce 0d 16 f8 07 3d  78 24 0d 17 02 04 0d 17  |1:.....=x$......|
00003050  0c 0a dd a4 69 63 6f 6e  0d 17 16 0b 71 25 21 30  |....icon....q%!0|
00003060  3d 2d 31 0d 17 20 0a 71  25 21 34 3d 30 0d 17 2a  |=-1.. .q%!4=0..*|
00003070  1b 71 25 21 38 3d 31 30  20 3a 20 f4 20 59 20 44  |.q%!8=10 : . Y D|
00003080  49 52 45 43 54 49 4f 4e  0d 17 34 1c 71 25 21 31  |IRECTION..4.q%!1|
00003090  32 3d 37 30 20 3a 20 f4  20 58 20 44 49 52 45 43  |2=70 : . X DIREC|
000030a0  54 49 4f 4e 0d 17 3e 0c  71 25 21 31 36 3d 39 36  |TION..>.q%!16=96|
000030b0  0d 17 48 0f 71 25 21 32  30 3d 26 32 30 30 32 0d  |..H.q%!20=&2002.|
000030c0  17 52 17 24 28 71 25 2b  32 34 29 3d 22 21 50 61  |.R.$(q%+24)="!Pa|
000030d0  6c 4d 61 6b 65 22 0d 17  5c 24 c8 99 20 22 57 69  |lMake"..\$.. "Wi|
000030e0  6d 70 5f 43 72 65 61 74  65 49 63 6f 6e 22 2c 2c  |mp_CreateIcon",,|
000030f0  71 25 20 b8 20 69 63 6f  6e 25 0d 17 66 0a 3d 69  |q% . icon%..f.=i|
00003100  63 6f 6e 25 0d 17 70 04  0d 17 7a 12 dd 20 f2 5f  |con%..p...z.. ._|
00003110  73 65 74 75 70 57 28 74  24 29 0d 17 84 58 21 71  |setupW(t$)...X!q|
00003120  25 3d 77 61 72 6e 69 6e  67 57 25 3a 71 25 21 34  |%=warningW%:q%!4|
00003130  3d 32 30 30 3a 71 25 21  38 3d 32 30 30 3a 71 25  |=200:q%!8=200:q%|
00003140  21 31 32 3d 32 30 30 2b  58 51 25 3a 71 25 21 31  |!12=200+XQ%:q%!1|
00003150  36 3d 32 30 30 2b 59 51  25 3a 71 25 21 32 30 3d  |6=200+YQ%:q%!20=|
00003160  30 3a 71 25 21 32 34 3d  30 3a 71 25 21 32 38 3d  |0:q%!24=0:q%!28=|
00003170  2d 31 0d 17 8e 11 24 54  65 78 74 57 61 72 6e 25  |-1....$TextWarn%|
00003180  3d 74 24 0d 17 98 15 54  65 78 74 57 61 72 6e 25  |=t$....TextWarn%|
00003190  3f a9 28 74 24 29 3d 30  0d 17 a2 07 ef 20 37 0d  |?.(t$)=0..... 7.|
000031a0  17 ac 0d 77 61 72 6e 4f  6e 25 3d b9 0d 17 b6 1c  |...warnOn%=.....|
000031b0  c8 99 20 22 57 69 6d 70  5f 4f 70 65 6e 57 69 6e  |.. "Wimp_OpenWin|
000031c0  64 6f 77 22 2c 2c 71 25  0d 17 c0 05 e1 0d 17 ca  |dow",,q%........|
000031d0  04 0d 17 d4 0f dd 20 f2  65 72 72 6f 72 62 6f 78  |...... .errorbox|
000031e0  0d 17 de 19 c8 99 20 22  57 69 6d 70 5f 44 72 61  |...... "Wimp_Dra|
000031f0  67 42 6f 78 22 2c 2c 2d  31 0d 17 e8 32 21 62 75  |gBox",,-1...2!bu|
00003200  66 66 65 72 73 25 3d 9f  3a 24 28 62 75 66 66 65  |ffers%=.:$(buffe|
00003210  72 73 25 2b 34 29 3d f6  24 2b 22 20 61 74 20 6c  |rs%+4)=.$+" at l|
00003220  69 6e 65 20 22 2b c3 9e  2b bd 30 0d 17 f2 33 c8  |ine "+..+.0...3.|
00003230  99 20 22 57 69 6d 70 5f  52 65 70 6f 72 74 45 72  |. "Wimp_ReportEr|
00003240  72 6f 72 22 2c 62 75 66  66 65 72 73 25 2c 31 2c  |ror",buffers%,1,|
00003250  22 50 61 6c 6c 65 74 74  65 4d 61 6b 65 22 0d 17  |"PalletteMake"..|
00003260  fc 08 f2 64 69 65 0d 18  06 05 e1 0d 18 10 04 0d  |...die..........|
00003270  18 1a 09 dd f2 64 69 65  0d 18 24 2a c8 99 20 22  |.....die..$*.. "|
00003280  57 69 6d 70 5f 43 6c 6f  73 65 44 6f 77 6e 22 2c  |Wimp_CloseDown",|
00003290  74 61 73 6b 68 61 6e 64  25 2c 21 74 61 73 6b 69  |taskhand%,!taski|
000032a0  64 25 0d 18 2e 05 e0 0d  18 38 05 e1 0d 18 42 04  |d%.......8....B.|
000032b0  0d 18 4c 2e dd 20 f2 64  72 61 67 69 63 6f 6e 28  |..L.. .dragicon(|
000032c0  6d 6f 75 73 65 78 25 2c  6d 6f 75 73 65 79 25 2c  |mousex%,mousey%,|
000032d0  68 61 6e 64 6c 65 25 2c  69 63 6f 6e 25 29 0d 18  |handle%,icon%)..|
000032e0  56 21 ea 20 62 78 25 2c  62 79 25 2c 69 78 30 25  |V!. bx%,by%,ix0%|
000032f0  2c 69 79 30 25 2c 69 78  31 25 2c 69 79 31 25 0d  |,iy0%,ix1%,iy1%.|
00003300  18 60 12 f2 67 65 74 77  28 68 61 6e 64 6c 65 25  |.`..getw(handle%|
00003310  29 0d 18 6a 18 f2 67 65  74 69 28 68 61 6e 64 6c  |)..j..geti(handl|
00003320  65 25 2c 69 63 6f 6e 25  29 0d 18 74 16 21 71 25  |e%,icon%)..t.!q%|
00003330  3d 68 61 6e 64 6c 65 25  3a 71 25 21 34 3d 35 0d  |=handle%:q%!4=5.|
00003340  18 7e 3e 71 25 21 38 3d  62 78 25 2b 69 78 30 25  |.~>q%!8=bx%+ix0%|
00003350  3a 71 25 21 31 32 3d 62  79 25 2b 69 79 30 25 3a  |:q%!12=by%+iy0%:|
00003360  71 25 21 31 36 3d 62 78  25 2b 69 78 31 25 3a 71  |q%!16=bx%+ix1%:q|
00003370  25 21 32 30 3d 62 79 25  2b 69 79 31 25 0d 18 88  |%!20=by%+iy1%...|
00003380  2a 71 25 21 32 34 3d 71  25 21 38 2d 6d 6f 75 73  |*q%!24=q%!8-mous|
00003390  65 78 25 3a 71 25 21 32  38 3d 71 25 21 31 32 2d  |ex%:q%!28=q%!12-|
000033a0  6d 6f 75 73 65 79 25 0d  18 92 19 c8 99 20 22 57  |mousey%...... "W|
000033b0  69 6d 70 5f 44 72 61 67  42 6f 78 22 2c 2c 71 25  |imp_DragBox",,q%|
000033c0  0d 18 9c 0c 53 46 4c 41  47 25 3d b9 0d 18 a6 05  |....SFLAG%=.....|
000033d0  e1 0d 18 b0 04 0d 18 ba  14 dd 20 f2 67 65 74 77  |.......... .getw|
000033e0  28 68 61 6e 64 6c 65 25  29 0d 18 c4 38 21 71 25  |(handle%)...8!q%|
000033f0  3d 68 61 6e 64 6c 65 25  3a c8 99 20 22 57 69 6d  |=handle%:.. "Wim|
00003400  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
00003410  22 2c 2c 71 25 3a f2 69  6e 66 6f 28 71 25 2b 34  |",,q%:.info(q%+4|
00003420  29 0d 18 ce 05 e1 0d 18  d8 12 dd 20 f2 67 65 74  |).......... .get|
00003430  69 28 68 25 2c 69 25 29  0d 18 e2 2d 21 71 25 3d  |i(h%,i%)...-!q%=|
00003440  68 25 3a 71 25 21 34 3d  69 25 3a c8 99 20 22 57  |h%:q%!4=i%:.. "W|
00003450  69 6d 70 5f 47 65 74 49  63 6f 6e 53 74 61 74 65  |imp_GetIconState|
00003460  22 2c 2c 71 25 0d 18 ec  2e 69 78 30 25 3d 71 25  |",,q%....ix0%=q%|
00003470  21 38 3a 69 79 30 25 3d  71 25 21 31 32 3a 69 78  |!8:iy0%=q%!12:ix|
00003480  31 25 3d 71 25 21 31 36  3a 69 79 31 25 3d 71 25  |1%=q%!16:iy1%=q%|
00003490  21 32 30 0d 18 f6 1e 69  66 6c 61 67 73 25 3d 71  |!20....iflags%=q|
000034a0  25 21 32 34 3a 69 64 61  74 61 25 3d 71 25 2b 32  |%!24:idata%=q%+2|
000034b0  38 0d 19 00 05 e1 0d 19  0a 04 0d 19 14 0f dd 20  |8.............. |
000034c0  f2 69 6e 66 6f 28 70 25  29 0d 19 1e 0d ea 20 78  |.info(p%)..... x|
000034d0  30 25 2c 79 30 25 0d 19  28 27 78 30 25 3d 21 70  |0%,y0%..('x0%=!p|
000034e0  25 3a 79 30 25 3d 70 25  21 34 3a 78 31 25 3d 70  |%:y0%=p%!4:x1%=p|
000034f0  25 21 38 3a 79 31 25 3d  70 25 21 31 32 0d 19 32  |%!8:y1%=p%!12..2|
00003500  35 73 63 78 25 3d 70 25  21 31 36 3a 73 63 79 25  |5scx%=p%!16:scy%|
00003510  3d 70 25 21 32 30 3a 62  68 61 6e 64 6c 65 25 3d  |=p%!20:bhandle%=|
00003520  70 25 21 32 34 3a 66 6c  61 67 73 25 3d 70 25 21  |p%!24:flags%=p%!|
00003530  32 38 0d 19 3c 1d 62 78  25 3d 78 30 25 2d 73 63  |28..<.bx%=x0%-sc|
00003540  78 25 3a 62 79 25 3d 79  31 25 2d 73 63 79 25 0d  |x%:by%=y1%-scy%.|
00003550  19 46 05 e1 0d 19 50 04  0d 19 5a 13 dd 20 f2 5f  |.F....P...Z.. ._|
00003560  50 75 74 4e 61 6d 65 28  70 24 29 0d 19 64 08 ea  |PutName(p$)..d..|
00003570  20 54 25 0d 19 6e 16 71  25 21 30 3d 73 61 76 65  | T%..n.q%!0=save|
00003580  57 25 3a 71 25 21 34 3d  31 0d 19 78 1e c8 99 20  |W%:q%!4=1..x... |
00003590  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
000035a0  74 65 22 2c 2c 71 25 0d  19 82 0c 54 25 3d 71 25  |te",,q%....T%=q%|
000035b0  21 32 38 0d 19 8c 0a 24  54 25 3d 70 24 0d 19 96  |!28....$T%=p$...|
000035c0  11 21 28 54 25 2b a9 28  70 24 29 29 3d 30 0d 19  |.!(T%+.(p$))=0..|
000035d0  a0 05 e1 0d 19 aa 04 0d  19 b4 10 dd 20 f2 5f 4b  |............ ._K|
000035e0  65 79 50 72 65 73 73 0d  19 be 0d c8 8e 20 71 25  |eyPress...... q%|
000035f0  21 30 20 ca 0d 19 c8 1b  c9 20 73 61 76 65 57 25  |!0 ...... saveW%|
00003600  3a 20 69 25 3d 32 3a f2  5f 44 6f 53 61 76 65 0d  |: i%=2:._DoSave.|
00003610  19 d2 2d c9 20 63 70 4c  25 3a 20 f4 20 43 6f 6c  |..-. cpL%: . Col|
00003620  6f 75 72 20 70 69 63 6b  65 72 20 77 69 6c 6c 20  |our picker will |
00003630  64 65 61 6c 20 77 69 74  68 20 69 74 0d 19 dc 2d  |deal with it...-|
00003640  c9 20 63 70 52 25 3a 20  f4 20 43 6f 6c 6f 75 72  |. cpR%: . Colour|
00003650  20 70 69 63 6b 65 72 20  77 69 6c 6c 20 64 65 61  | picker will dea|
00003660  6c 20 77 69 74 68 20 69  74 0d 19 e6 2b f4 20 4f  |l with it...+. O|
00003670  54 48 45 52 57 49 53 45  3a 20 53 59 53 22 57 69  |THERWISE: SYS"Wi|
00003680  6d 70 5f 50 72 6f 63 65  73 73 4b 65 79 22 2c 71  |mp_ProcessKey",q|
00003690  25 21 32 34 0d 19 f0 05  cb 0d 19 fa 05 e1 0d 1a  |%!24............|
000036a0  04 04 0d 1a 0e 0e dd 20  f2 5f 44 6f 53 61 76 65  |....... ._DoSave|
000036b0  0d 1a 18 0c e7 20 69 25  3d 30 20 8c 0d 1a 22 2c  |..... i%=0 ...",|
000036c0  20 20 20 20 20 20 20 20  20 20 20 20 c8 99 20 22  |            .. "|
000036d0  57 69 6d 70 5f 47 65 74  50 6f 69 6e 74 65 72 49  |Wimp_GetPointerI|
000036e0  6e 66 6f 22 2c 2c 71 25  0d 1a 2c 2e 20 20 20 20  |nfo",,q%..,.    |
000036f0  20 20 20 20 20 20 20 20  f2 64 72 61 67 69 63 6f  |        .dragico|
00003700  6e 28 71 25 21 30 2c 71  25 21 34 2c 73 61 76 65  |n(q%!0,q%!4,save|
00003710  57 25 2c 69 25 29 0d 1a  36 06 20 cd 0d 1a 40 0d  |W%,i%)..6. ...@.|
00003720  20 e7 20 69 25 3d 32 20  8c 0d 1a 4a 0f 20 20 f2  | . i%=2 ...J.  .|
00003730  5f 47 65 74 4e 61 6d 65  0d 1a 54 47 20 20 e7 20  |_GetName..TG  . |
00003740  a7 66 6e 24 2c 22 3a 22  29 20 8c 20 f2 5f 53 61  |.fn$,":") . ._Sa|
00003750  76 65 20 8b 20 f2 5f 73  65 74 75 70 57 28 22 44  |ve . ._setupW("D|
00003760  72 61 67 20 74 68 65 20  49 63 6f 6e 20 69 6e 74  |rag the Icon int|
00003770  6f 20 61 20 44 69 72 65  63 74 6f 72 79 22 29 0d  |o a Directory").|
00003780  1a 5e 1e 20 20 c8 99 20  22 57 69 6d 70 5f 43 72  |.^.  .. "Wimp_Cr|
00003790  65 61 74 65 4d 65 6e 75  22 2c 2c 2d 31 0d 1a 68  |eateMenu",,-1..h|
000037a0  06 20 cd 0d 1a 72 05 e1  0d 1a 7c 04 0d 1a 86 0c  |. ...r....|.....|
000037b0  dd 20 f2 5f 53 61 76 65  0d 1a 90 0d ea 20 63 68  |. ._Save..... ch|
000037c0  25 2c 70 70 25 0d 1a 9a  2f ff 28 22 53 41 56 45  |%,pp%.../.("SAVE|
000037d0  20 22 2b 66 6e 24 2b 22  20 22 2b c3 7e 28 55 50  | "+fn$+" "+.~(UP|
000037e0  25 29 2b 22 20 22 2b c3  7e 28 55 50 25 2b 31 30  |%)+" "+.~(UP%+10|
000037f0  32 34 29 29 0d 1a a4 1c  ff 28 22 53 45 54 54 59  |24)).....("SETTY|
00003800  50 45 20 22 2b 66 6e 24  2b 22 20 30 34 34 22 29  |PE "+fn$+" 044")|
00003810  0d 1a ae 23 e7 20 73 65  63 75 72 65 46 25 3c 3e  |...#. secureF%<>|
00003820  2d 31 20 8c 20 f2 5f 50  75 74 4e 61 6d 65 28 66  |-1 . ._PutName(f|
00003830  6e 24 29 0d 1a b8 05 e1  0d 1a c2 04 0d 1a cc 0c  |n$).............|
00003840  dd 20 f2 5f 47 50 41 4c  0d 1a d6 08 ea 20 41 25  |. ._GPAL..... A%|
00003850  0d 1a e0 10 e3 20 41 25  3d 30 20 b8 20 32 35 35  |..... A%=0 . 255|
00003860  0d 1a ea 28 c8 99 22 4f  53 5f 52 65 61 64 50 61  |...(.."OS_ReadPa|
00003870  6c 65 74 74 65 22 2c 41  25 2c 31 36 20 b8 20 2c  |lette",A%,16 . ,|
00003880  2c 43 31 25 2c 43 32 25  0d 1a f4 13 50 41 4c 25  |,C1%,C2%....PAL%|
00003890  21 28 41 25 2a 34 29 3d  43 31 25 0d 1a fe 18 50  |!(A%*4)=C1%....P|
000038a0  41 4c 25 21 28 41 25 2a  34 2b 31 30 32 34 29 3d  |AL%!(A%*4+1024)=|
000038b0  43 31 25 0d 1b 08 05 ed  0d 1b 12 05 e1 0d 1b 1c  |C1%.............|
000038c0  04 0d 1b 26 04 0d 1b 30  10 dd 20 f2 5f 53 63 6f  |...&...0.. ._Sco|
000038d0  6c 28 41 25 29 0d 1b 3a  08 ea 20 43 25 0d 1b 44  |l(A%)..:.. C%..D|
000038e0  11 43 25 3d 55 50 25 21  28 41 25 2a 34 29 0d 1b  |.C%=UP%!(A%*4)..|
000038f0  4e 22 c8 99 22 43 6f 6c  6f 75 72 54 72 61 6e 73  |N".."ColourTrans|
00003900  5f 53 65 74 47 43 4f 4c  22 2c 43 25 2c 30 2c 30  |_SetGCOL",C%,0,0|
00003910  0d 1b 58 05 e1 0d 1b 62  04 0d 1b 6c 14 dd 20 f2  |..X....b...l.. .|
00003920  5f 42 4c 4f 43 4b 28 46  25 2c 54 25 29 0d 1b 76  |_BLOCK(F%,T%)..v|
00003930  0f ea 20 41 25 2c 47 2c  44 2c 45 25 0d 1b 80 0f  |.. A%,G,D,E%....|
00003940  e7 20 46 25 3d 54 25 20  8c 20 e1 0d 1b 8a 07 47  |. F%=T% . .....G|
00003950  3d 30 0d 1b 94 11 44 3d  32 35 35 2f 28 54 25 2d  |=0....D=255/(T%-|
00003960  46 25 29 0d 1b 9e 10 e3  20 41 25 3d 46 25 20 b8  |F%)..... A%=F% .|
00003970  20 54 25 0d 1b a8 08 45  25 3d 47 0d 1b b2 27 55  | T%....E%=G...'U|
00003980  50 25 21 28 41 25 2a 34  29 3d 20 45 25 3c 3c 32  |P%!(A%*4)= E%<<2|
00003990  34 20 84 20 45 25 3c 3c  31 36 20 84 20 45 25 3c  |4 . E%<<16 . E%<|
000039a0  3c 38 0d 1b bc 09 47 3d  47 2b 44 0d 1b c6 05 ed  |<8....G=G+D.....|
000039b0  0d 1b d0 0c f2 5f 50 75  74 50 61 6c 0d 1b da 05  |....._PutPal....|
000039c0  e1 0d 1b e4 04 0d 1b ee  0b dd 20 f2 5f 49 6e 76  |.......... ._Inv|
000039d0  0d 1b f8 08 ea 20 41 25  0d 1c 02 10 e3 20 41 25  |..... A%..... A%|
000039e0  3d 30 20 b8 20 32 35 35  0d 1c 0c 25 55 50 25 21  |=0 . 255...%UP%!|
000039f0  28 41 25 2a 34 29 3d 55  50 25 21 28 41 25 2a 34  |(A%*4)=UP%!(A%*4|
00003a00  29 20 82 20 26 46 46 46  46 46 46 30 30 0d 1c 16  |) . &FFFFFF00...|
00003a10  05 ed 0d 1c 20 0c f2 5f  50 75 74 50 61 6c 0d 1c  |.... .._PutPal..|
00003a20  2a 05 e1 0d 1c 34 04 0d  1c 3e 0c dd 20 f2 5f 50  |*....4...>.. ._P|
00003a30  49 6e 76 0d 1c 48 17 ea  20 43 25 2c 52 25 2c 47  |Inv..H.. C%,R%,G|
00003a40  25 2c 42 25 2c 41 25 2c  50 25 0d 1c 52 10 50 25  |%,B%,A%,P%..R.P%|
00003a50  3d 41 72 32 25 2d 41 72  31 25 0d 1c 5c 0f e3 20  |=Ar2%-Ar1%..\.. |
00003a60  41 25 3d 30 20 b8 20 50  25 0d 1c 66 33 55 50 25  |A%=0 . P%..f3UP%|
00003a70  21 28 28 41 72 31 25 2b  41 25 29 2a 34 29 3d 55  |!((Ar1%+A%)*4)=U|
00003a80  50 25 21 28 28 41 72 31  25 2b 41 25 29 2a 34 29  |P%!((Ar1%+A%)*4)|
00003a90  20 82 20 26 46 46 46 46  46 46 30 30 0d 1c 70 05  | . &FFFFFF00..p.|
00003aa0  ed 0d 1c 7a 0c f2 5f 50  75 74 50 61 6c 0d 1c 84  |...z.._PutPal...|
00003ab0  05 e1 0d 1c 8e 04 0d 1c  98 16 dd 20 f2 5f 50 61  |........... ._Pa|
00003ac0  6c 4c 6f 61 64 28 46 24  2c 54 25 29 0d 1c a2 11  |lLoad(F$,T%)....|
00003ad0  ea 20 41 25 2c 42 25 2c  47 25 2c 52 25 0d 1c ac  |. A%,B%,G%,R%...|
00003ae0  0b c8 8e 20 54 25 20 ca  0d 1c b6 23 c9 20 26 36  |... T% ....#. &6|
00003af0  39 30 3a 20 46 25 3d 8e  28 46 24 29 20 20 3a f4  |90: F%=.(F$)  :.|
00003b00  20 43 4c 45 41 52 20 46  49 4c 45 0d 1c c0 19 20  | CLEAR FILE.... |
00003b10  20 20 20 20 20 20 20 20  20 20 20 e7 20 46 25 3c  |           . F%<|
00003b20  3e 30 20 8c 0d 1c ca 12  20 20 20 20 20 20 20 20  |>0 .....        |
00003b30  20 20 20 20 20 f5 0d 1c  d4 19 20 20 20 20 20 20  |     .....      |
00003b40  20 20 20 20 20 20 20 20  43 25 3d 9a 23 46 25 0d  |        C%=.#F%.|
00003b50  1c de 1f 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00003b60  20 fd 20 43 25 3d 38 20  84 20 c5 23 46 25 0d 1c  | . C%=8 . .#F%..|
00003b70  e8 1a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00003b80  e7 20 43 25 3d 38 20 8c  0d 1c f2 19 20 20 20 20  |. C%=8 .....    |
00003b90  20 20 20 20 20 20 20 20  20 20 f2 5f 50 52 45 41  |          ._PREA|
00003ba0  44 0d 1c fc 13 20 20 20  20 20 20 20 20 20 20 20  |D....           |
00003bb0  20 20 20 cd 0d 1d 06 16  20 20 20 20 20 20 20 20  |   .....        |
00003bc0  20 20 20 20 20 d9 20 23  46 25 0d 1d 10 0f 20 20  |     . #F%....  |
00003bd0  20 20 20 20 20 20 20 20  cd 0d 1d 1a 04 0d 1d 24  |        .......$|
00003be0  22 c9 20 26 36 39 35 20  3a 20 20 46 25 3d 8e 28  |". &695 :  F%=.(|
00003bf0  46 24 29 20 3a f4 20 47  49 46 20 46 49 4c 45 0d  |F$) :. GIF FILE.|
00003c00  1d 2e 1a 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00003c10  e7 20 46 25 3c 3e 30 20  8c 0d 1d 38 1d 20 20 20  |. F%<>0 ...8.   |
00003c20  20 20 20 20 20 20 20 20  20 20 20 e3 20 41 25 3d  |           . A%=|
00003c30  30 20 b8 20 31 30 0d 1d  42 25 20 20 20 20 20 20  |0 . 10..B%      |
00003c40  20 20 20 20 20 20 20 20  e7 20 ac 28 c5 23 46 25  |        . .(.#F%|
00003c50  29 20 8c 20 43 25 3d 9a  23 46 25 0d 1d 4c 13 20  |) . C%=.#F%..L. |
00003c60  20 20 20 20 20 20 20 20  20 20 20 20 20 ed 0d 1d  |             ...|
00003c70  56 29 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |V)              |
00003c80  20 20 20 20 e7 20 ac 28  c5 23 46 25 29 20 8c 20  |    . .(.#F%) . |
00003c90  41 25 3d 9a 23 46 25 0d  1d 60 29 20 20 20 20 20  |A%=.#F%..`)     |
00003ca0  20 20 20 20 20 20 20 20  20 20 20 20 20 e7 20 ac  |             . .|
00003cb0  28 c5 23 46 25 29 20 8c  20 41 25 3d 9a 23 46 25  |(.#F%) . A%=.#F%|
00003cc0  0d 1d 6a 21 20 20 20 20  20 20 20 20 20 20 20 20  |..j!            |
00003cd0  20 e7 20 28 43 25 20 80  20 31 32 38 29 3d 30 20  | . (C% . 128)=0 |
00003ce0  8c 0d 1d 74 1f 20 20 20  20 20 20 20 20 20 20 20  |...t.           |
00003cf0  20 20 20 20 20 20 e3 20  41 25 3d 30 20 b8 20 39  |      . A%=0 . 9|
00003d00  0d 1d 7e 28 20 20 20 20  20 20 20 20 20 20 20 20  |..~(            |
00003d10  20 20 20 20 20 e7 20 ac  28 c5 23 46 25 29 20 8c  |     . .(.#F%) .|
00003d20  20 43 25 3d 9a 23 46 25  0d 1d 88 16 20 20 20 20  | C%=.#F%....    |
00003d30  20 20 20 20 20 20 20 20  20 20 20 20 20 ed 0d 1d  |             ...|
00003d40  92 12 20 20 20 20 20 20  20 20 20 20 20 20 20 cd  |..             .|
00003d50  0d 1d 9c 1b 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
00003d60  20 20 20 20 f2 5f 50 52  45 41 44 0d 1d a6 16 20  |    ._PREAD.... |
00003d70  20 20 20 20 20 20 20 20  20 20 20 20 d9 20 23 46  |            . #F|
00003d80  25 0d 1d b0 12 20 20 20  20 20 20 20 20 20 20 20  |%....           |
00003d90  20 20 cd 0d 1d ba 1f c9  20 20 26 34 34 20 3a 20  |  ......  &44 : |
00003da0  f4 20 4d 79 20 70 61 6c  6c 65 74 74 65 20 66 69  |. My pallette fi|
00003db0  6c 65 0d 1d c4 18 20 20  20 20 20 20 20 20 20 20  |le....          |
00003dc0  20 20 46 25 3d 8e 28 46  24 29 0d 1d ce 19 20 20  |  F%=.(F$)....  |
00003dd0  20 20 20 20 20 20 20 20  20 20 e7 20 46 25 3c 3e  |          . F%<>|
00003de0  30 20 8c 0d 1d d8 19 20  20 20 20 20 20 20 20 20  |0 .....         |
00003df0  20 20 20 20 f2 5f 4d 50  52 45 41 44 0d 1d e2 15  |    ._MPREAD....|
00003e00  20 20 20 20 20 20 20 20  20 20 20 20 d9 20 23 46  |            . #F|
00003e10  25 0d 1d ec 11 20 20 20  20 20 20 20 20 20 20 20  |%....           |
00003e20  20 cd 0d 1d f6 04 0d 1e  00 1d 7f 20 3a 20 20 46  | .......... :  F|
00003e30  25 3d 8e 28 46 24 29 20  3a f4 20 41 4e 59 20 46  |%=.(F$) :. ANY F|
00003e40  49 4c 45 0d 1e 0a 1a 20  20 20 20 20 20 20 20 20  |ILE....         |
00003e50  20 20 20 20 e7 20 46 25  3c 3e 30 20 8c 0d 1e 14  |    . F%<>0 ....|
00003e60  18 20 20 20 20 20 20 20  20 20 20 20 20 20 f2 5f  |.             ._|
00003e70  50 52 45 41 44 0d 1e 1e  16 20 20 20 20 20 20 20  |PREAD....       |
00003e80  20 20 20 20 20 20 d9 20  23 46 25 0d 1e 28 12 20  |      . #F%..(. |
00003e90  20 20 20 20 20 20 20 20  20 20 20 20 cd 0d 1e 32  |            ...2|
00003ea0  05 cb 0d 1e 3c 04 0d 1e  46 04 0d 1e 50 11 f2 5f  |....<...F...P.._|
00003eb0  50 75 74 4e 61 6d 65 28  46 24 29 0d 1e 5a 0c f2  |PutName(F$)..Z..|
00003ec0  5f 50 75 74 50 61 6c 0d  1e 64 05 e1 0d 1e 6e 04  |_PutPal..d....n.|
00003ed0  0d 1e 78 0e dd 20 f2 5f  4d 50 52 45 41 44 0d 1e  |..x.. ._MPREAD..|
00003ee0  82 14 ea 20 41 25 2c 52  25 2c 47 25 2c 42 25 2c  |... A%,R%,G%,B%,|
00003ef0  44 25 0d 1e 8c 08 41 25  3d 30 0d 1e 96 05 f5 0d  |D%....A%=0......|
00003f00  1e a0 17 e7 20 ac 28 c5  23 46 25 29 20 8c 20 44  |.... .(.#F%) . D|
00003f10  25 3d 9a 23 46 25 0d 1e  aa 17 e7 20 ac 28 c5 23  |%=.#F%..... .(.#|
00003f20  46 25 29 20 8c 20 52 25  3d 9a 23 46 25 0d 1e b4  |F%) . R%=.#F%...|
00003f30  17 e7 20 ac 28 c5 23 46  25 29 20 8c 20 47 25 3d  |.. .(.#F%) . G%=|
00003f40  9a 23 46 25 0d 1e be 17  e7 20 ac 28 c5 23 46 25  |.#F%..... .(.#F%|
00003f50  29 20 8c 20 42 25 3d 9a  23 46 25 0d 1e c8 26 55  |) . B%=.#F%...&U|
00003f60  50 25 21 28 41 25 2a 34  29 3d 52 25 3c 3c 38 20  |P%!(A%*4)=R%<<8 |
00003f70  84 20 47 25 3c 3c 31 36  20 84 20 42 25 3c 3c 32  |. G%<<16 . B%<<2|
00003f80  34 0d 1e d2 09 41 25 2b  3d 31 0d 1e dc 13 fd 20  |4....A%+=1..... |
00003f90  41 25 3d 32 35 36 20 84  20 c5 23 46 25 0d 1e e6  |A%=256 . .#F%...|
00003fa0  0c f2 5f 50 75 74 50 61  6c 0d 1e f0 05 e1 0d 1e  |.._PutPal.......|
00003fb0  fa 04 0d 1f 04 0d dd 20  f2 5f 50 52 45 41 44 0d  |....... ._PREAD.|
00003fc0  1f 0e 11 ea 20 41 25 2c  52 25 2c 47 25 2c 42 25  |.... A%,R%,G%,B%|
00003fd0  0d 1f 18 08 41 25 3d 30  0d 1f 22 05 f5 0d 1f 2c  |....A%=0.."....,|
00003fe0  17 e7 20 ac 28 c5 23 46  25 29 20 8c 20 52 25 3d  |.. .(.#F%) . R%=|
00003ff0  9a 23 46 25 0d 1f 36 17  e7 20 ac 28 c5 23 46 25  |.#F%..6.. .(.#F%|
00004000  29 20 8c 20 47 25 3d 9a  23 46 25 0d 1f 40 17 e7  |) . G%=.#F%..@..|
00004010  20 ac 28 c5 23 46 25 29  20 8c 20 42 25 3d 9a 23  | .(.#F%) . B%=.#|
00004020  46 25 0d 1f 4a 26 55 50  25 21 28 41 25 2a 34 29  |F%..J&UP%!(A%*4)|
00004030  3d 52 25 3c 3c 38 20 84  20 47 25 3c 3c 31 36 20  |=R%<<8 . G%<<16 |
00004040  84 20 42 25 3c 3c 32 34  0d 1f 54 09 41 25 2b 3d  |. B%<<24..T.A%+=|
00004050  31 0d 1f 5e 13 fd 20 41  25 3d 32 35 36 20 84 20  |1..^.. A%=256 . |
00004060  c5 23 46 25 0d 1f 68 04  0d 1f 72 05 e1 0d 1f 7c  |.#F%..h...r....||
00004070  04 0d 1f 86 16 dd 20 f2  5f 66 69 6c 6c 28 53 25  |...... ._fill(S%|
00004080  2c 45 25 2c 43 25 29 0d  1f 90 08 ea 20 41 25 0d  |,E%,C%)..... A%.|
00004090  1f 9a 10 e3 20 41 25 3d  53 25 20 b8 20 45 25 0d  |.... A%=S% . E%.|
000040a0  1f a4 26 55 50 25 21 28  41 25 2a 34 29 3d 43 25  |..&UP%!(A%*4)=C%|
000040b0  3c 3c 38 20 84 20 43 25  3c 3c 31 36 20 84 20 43  |<<8 . C%<<16 . C|
000040c0  25 3c 3c 32 34 0d 1f ae  05 ed 0d 1f b8 05 e1 0d  |%<<24...........|
000040d0  1f c2 04 0d 1f cc 17 dd  20 f2 5f 66 69 6c 6c 63  |........ ._fillc|
000040e0  28 53 25 2c 45 25 2c 43  25 29 0d 1f d6 08 ea 20  |(S%,E%,C%)..... |
000040f0  41 25 0d 1f e0 10 e3 20  41 25 3d 53 25 20 b8 20  |A%..... A%=S% . |
00004100  45 25 0d 1f ea 11 55 50  25 21 28 41 25 2a 34 29  |E%....UP%!(A%*4)|
00004110  3d 43 25 0d 1f f4 05 ed  0d 1f fe 05 e1 0d 20 08  |=C%........... .|
00004120  04 0d 20 12 13 dd 20 f2  5f 4e 43 4f 4c 28 4e 25  |.. ... ._NCOL(N%|
00004130  2c 43 25 29 0d 20 1c 0e  ea 20 52 25 2c 47 25 2c  |,C%). ... R%,G%,|
00004140  42 25 0d 20 26 14 52 25  3d 28 43 25 3e 3e 38 29  |B%. &.R%=(C%>>8)|
00004150  20 80 20 32 35 35 0d 20  30 15 47 25 3d 28 43 25  | . 255. 0.G%=(C%|
00004160  3e 3e 31 36 29 20 80 20  32 35 35 0d 20 3a 13 42  |>>16) . 255. :.B|
00004170  25 3d 43 25 3e 3e 32 34  20 80 20 32 35 35 0d 20  |%=C%>>24 . 255. |
00004180  44 26 55 50 25 21 28 4e  25 2a 34 29 3d 52 25 3c  |D&UP%!(N%*4)=R%<|
00004190  3c 38 20 84 20 47 25 3c  3c 31 36 20 84 20 42 25  |<8 . G%<<16 . B%|
000041a0  3c 3c 32 34 0d 20 4e 05  e1 0d 20 58 04 0d 20 62  |<<24. N... X.. b|
000041b0  0e dd 20 f2 5f 52 47 42  69 6e 74 0d 20 6c 35 ea  |.. ._RGBint. l5.|
000041c0  20 52 25 2c 47 25 2c 42  25 2c 52 31 25 2c 47 31  | R%,G%,B%,R1%,G1|
000041d0  25 2c 42 31 25 2c 52 32  25 2c 47 32 25 2c 42 32  |%,B1%,R2%,G2%,B2|
000041e0  25 2c 44 25 2c 52 49 2c  47 49 2c 42 49 2c 43 25  |%,D%,RI,GI,BI,C%|
000041f0  0d 20 76 10 44 25 3d 41  72 32 25 2d 41 72 31 25  |. v.D%=Ar2%-Ar1%|
00004200  0d 20 80 0e e7 20 44 25  20 3c 3e 30 20 8c 0d 20  |. ... D% <>0 .. |
00004210  8a 14 20 43 25 3d 55 50  25 21 28 41 72 31 25 2a  |.. C%=UP%!(Ar1%*|
00004220  34 29 0d 20 94 16 20 52  31 25 3d 28 43 25 3e 3e  |4). .. R1%=(C%>>|
00004230  38 29 20 80 20 32 35 35  0d 20 9e 17 20 47 31 25  |8) . 255. .. G1%|
00004240  3d 28 43 25 3e 3e 31 36  29 20 80 20 32 35 35 0d  |=(C%>>16) . 255.|
00004250  20 a8 15 20 42 31 25 3d  43 25 3e 3e 32 34 20 80  | .. B1%=C%>>24 .|
00004260  20 32 35 35 0d 20 b2 04  0d 20 bc 14 20 43 25 3d  | 255. ... .. C%=|
00004270  55 50 25 21 28 41 72 32  25 2a 34 29 0d 20 c6 16  |UP%!(Ar2%*4). ..|
00004280  20 52 32 25 3d 28 43 25  3e 3e 38 29 20 80 20 32  | R2%=(C%>>8) . 2|
00004290  35 35 0d 20 d0 17 20 47  32 25 3d 28 43 25 3e 3e  |55. .. G2%=(C%>>|
000042a0  31 36 29 20 80 20 32 35  35 0d 20 da 15 20 42 32  |16) . 255. .. B2|
000042b0  25 3d 43 25 3e 3e 32 34  20 80 20 32 35 35 0d 20  |%=C%>>24 . 255. |
000042c0  e4 04 0d 20 ee 38 20 52  49 3d 28 52 32 25 2d 52  |... .8 RI=(R2%-R|
000042d0  31 25 29 2f 44 25 20 3a  20 47 49 3d 28 47 32 25  |1%)/D% : GI=(G2%|
000042e0  2d 47 31 25 29 2f 44 25  20 3a 20 42 49 3d 28 42  |-G1%)/D% : BI=(B|
000042f0  32 25 2d 42 31 25 29 2f  44 25 0d 20 f8 11 20 20  |2%-B1%)/D%. ..  |
00004300  e3 20 43 25 3d 31 20 b8  20 44 25 0d 21 02 12 20  |. C%=1 . D%.!.. |
00004310  20 52 25 3d 52 31 25 2b  43 25 2a 52 49 0d 21 0c  | R%=R1%+C%*RI.!.|
00004320  12 20 20 47 25 3d 47 31  25 2b 43 25 2a 47 49 0d  |.  G%=G1%+C%*GI.|
00004330  21 16 12 20 20 42 25 3d  42 31 25 2b 43 25 2a 42  |!..  B%=B1%+C%*B|
00004340  49 0d 21 20 2f 20 20 55  50 25 21 28 28 41 72 31  |I.! /  UP%!((Ar1|
00004350  25 2b 43 25 29 2a 34 29  3d 52 25 3c 3c 38 20 84  |%+C%)*4)=R%<<8 .|
00004360  20 47 25 3c 3c 31 36 20  84 20 42 25 3c 3c 32 34  | G%<<16 . B%<<24|
00004370  0d 21 2a 05 ed 0d 21 34  0c f2 5f 50 75 74 50 61  |.!*...!4.._PutPa|
00004380  6c 0d 21 3e 05 cd 0d 21  48 05 e1 0d 21 52 04 0d  |l.!>...!H...!R..|
00004390  21 5c 0e dd 20 f2 5f 48  53 56 69 6e 74 0d 21 66  |!\.. ._HSVint.!f|
000043a0  2e ea 20 52 25 2c 47 25  2c 42 25 2c 43 25 2c 48  |.. R%,G%,B%,C%,H|
000043b0  31 25 2c 48 32 25 2c 53  31 2c 53 32 2c 56 31 2c  |1%,H2%,S1,S2,V1,|
000043c0  56 32 2c 48 69 2c 53 69  2c 56 69 0d 21 70 10 44  |V2,Hi,Si,Vi.!p.D|
000043d0  25 3d 41 72 32 25 2d 41  72 31 25 0d 21 7a 0e e7  |%=Ar2%-Ar1%.!z..|
000043e0  20 44 25 20 3c 3e 30 20  8c 0d 21 84 14 20 43 25  | D% <>0 ..!.. C%|
000043f0  3d 55 50 25 21 28 41 72  31 25 2a 34 29 0d 21 8e  |=UP%!(Ar1%*4).!.|
00004400  15 20 52 25 3d 28 43 25  3e 3e 38 29 20 80 20 32  |. R%=(C%>>8) . 2|
00004410  35 35 0d 21 98 16 20 47  25 3d 28 43 25 3e 3e 31  |55.!.. G%=(C%>>1|
00004420  36 29 20 80 20 32 35 35  0d 21 a2 14 20 42 25 3d  |6) . 255.!.. B%=|
00004430  43 25 3e 3e 32 34 20 80  20 32 35 35 0d 21 ac 39  |C%>>24 . 255.!.9|
00004440  20 c8 99 22 43 6f 6c 6f  75 72 54 72 61 6e 73 5f  | .."ColourTrans_|
00004450  43 6f 6e 76 65 72 74 52  47 42 54 6f 48 53 56 22  |ConvertRGBToHSV"|
00004460  2c 52 25 2c 47 25 2c 42  25 20 b8 20 48 31 25 2c  |,R%,G%,B% . H1%,|
00004470  53 31 2c 56 31 0d 21 b6  10 20 48 31 25 3d 48 31  |S1,V1.!.. H1%=H1|
00004480  25 3e 3e 31 36 0d 21 c0  04 0d 21 ca 14 20 43 25  |%>>16.!...!.. C%|
00004490  3d 55 50 25 21 28 41 72  32 25 2a 34 29 0d 21 d4  |=UP%!(Ar2%*4).!.|
000044a0  15 20 52 25 3d 28 43 25  3e 3e 38 29 20 80 20 32  |. R%=(C%>>8) . 2|
000044b0  35 35 0d 21 de 16 20 47  25 3d 28 43 25 3e 3e 31  |55.!.. G%=(C%>>1|
000044c0  36 29 20 80 20 32 35 35  0d 21 e8 14 20 42 25 3d  |6) . 255.!.. B%=|
000044d0  43 25 3e 3e 32 34 20 80  20 32 35 35 0d 21 f2 39  |C%>>24 . 255.!.9|
000044e0  20 c8 99 22 43 6f 6c 6f  75 72 54 72 61 6e 73 5f  | .."ColourTrans_|
000044f0  43 6f 6e 76 65 72 74 52  47 42 54 6f 48 53 56 22  |ConvertRGBToHSV"|
00004500  2c 52 25 2c 47 25 2c 42  25 20 b8 20 48 32 25 2c  |,R%,G%,B% . H2%,|
00004510  53 32 2c 56 32 0d 21 fc  10 20 48 32 25 3d 48 32  |S2,V2.!.. H2%=H2|
00004520  25 3e 3e 31 36 0d 22 06  04 0d 22 10 35 20 20 48  |%>>16."...".5  H|
00004530  69 3d 28 48 32 25 2d 48  31 25 29 2f 44 25 20 3a  |i=(H2%-H1%)/D% :|
00004540  20 53 69 3d 28 53 32 2d  53 31 29 2f 44 25 20 3a  | Si=(S2-S1)/D% :|
00004550  20 56 69 3d 28 56 32 2d  56 31 29 2f 44 25 0d 22  | Vi=(V2-V1)/D%."|
00004560  1a 28 20 20 e7 20 94 28  48 32 25 2d 48 31 25 29  |.(  . .(H2%-H1%)|
00004570  3e 31 38 30 20 8c 20 48  69 3d 28 48 31 25 2d 48  |>180 . Hi=(H1%-H|
00004580  32 25 29 2f 44 25 0d 22  24 04 0d 22 2e 11 20 20  |2%)/D%."$.."..  |
00004590  e3 20 43 25 3d 31 20 b8  20 44 25 0d 22 38 11 20  |. C%=1 . D%."8. |
000045a0  20 56 32 3d 56 31 2b 43  25 2a 56 69 0d 22 42 11  | V2=V1+C%*Vi."B.|
000045b0  20 20 53 32 3d 53 31 2b  43 25 2a 53 69 0d 22 4c  |  S2=S1+C%*Si."L|
000045c0  13 20 20 48 32 25 3d 48  31 25 2b 43 25 2a 48 69  |.  H2%=H1%+C%*Hi|
000045d0  0d 22 56 1e 20 20 e7 28  48 32 25 3e 33 36 30 29  |."V.  .(H2%>360)|
000045e0  20 8c 20 48 32 25 3d 48  32 25 2d 33 36 30 0d 22  | . H2%=H2%-360."|
000045f0  60 1d 20 20 e7 28 48 32  25 3c 3d 30 29 20 8c 20  |`.  .(H2%<=0) . |
00004600  48 32 25 3d 48 32 25 2b  33 36 30 0d 22 6a 44 20  |H2%=H2%+360."jD |
00004610  20 c8 99 22 43 6f 6c 6f  75 72 54 72 61 6e 73 5f  | .."ColourTrans_|
00004620  43 6f 6e 76 65 72 74 48  53 56 54 6f 52 47 42 22  |ConvertHSVToRGB"|
00004630  2c 48 32 25 3c 3c 31 36  2c a8 28 53 32 29 2c a8  |,H2%<<16,.(S2),.|
00004640  28 56 32 29 20 b8 20 52  25 2c 47 25 2c 42 25 0d  |(V2) . R%,G%,B%.|
00004650  22 74 2f 20 20 55 50 25  21 28 28 41 72 31 25 2b  |"t/  UP%!((Ar1%+|
00004660  43 25 29 2a 34 29 3d 52  25 3c 3c 38 20 84 20 47  |C%)*4)=R%<<8 . G|
00004670  25 3c 3c 31 36 20 84 20  42 25 3c 3c 32 34 0d 22  |%<<16 . B%<<24."|
00004680  7e 05 ed 0d 22 88 0c f2  5f 50 75 74 50 61 6c 0d  |~..."..._PutPal.|
00004690  22 92 05 cd 0d 22 9c 05  e1 0d 22 a6 04 0d 22 b0  |"...."...."...".|
000046a0  0f dd 20 f2 5f 53 65 74  43 6f 6c 73 0d 22 ba 0e  |.. ._SetCols."..|
000046b0  ea 20 67 72 61 62 25 2c  41 25 0d 22 c4 04 0d 22  |. grab%,A%."..."|
000046c0  ce 2e c8 99 22 4f 53 5f  52 65 61 64 4d 6f 64 65  |...."OS_ReadMode|
000046d0  56 61 72 69 61 62 6c 65  22 2c 2d 31 2c 33 20 b8  |Variable",-1,3 .|
000046e0  20 2c 2c 4e 63 6f 6c 6f  75 72 73 25 0d 22 d8 04  | ,,Ncolours%."..|
000046f0  0d 22 e2 15 e7 20 4e 63  6f 6c 6f 75 72 73 25 3c  |."... Ncolours%<|
00004700  32 35 37 20 8c 0d 22 ec  1c 20 20 e3 20 67 72 61  |257 .."..  . gra|
00004710  62 25 3d 30 20 b8 20 32  30 34 38 2d 38 20 88 20  |b%=0 . 2048-8 . |
00004720  38 0d 22 f6 28 20 20 70  61 6c 74 65 6d 70 25 21  |8.".(  paltemp%!|
00004730  28 67 72 61 62 25 3e 3e  31 29 3d 53 50 25 21 28  |(grab%>>1)=SP%!(|
00004740  67 72 61 62 25 2b 34 34  29 0d 23 00 07 20 20 ed  |grab%+44).#..  .|
00004750  0d 23 0a 20 20 20 e3 20  41 25 3d 30 20 b8 20 32  |.#.   . A%=0 . 2|
00004760  35 35 3a 20 50 54 54 25  3f 41 25 3d 41 25 3a ed  |55: PTT%?A%=A%:.|
00004770  0d 23 14 13 20 20 20 e3  20 41 25 3d 30 20 b8 20  |.#..   . A%=0 . |
00004780  32 35 35 0d 23 1e 44 20  20 20 c8 99 22 43 6f 6c  |255.#.D   .."Col|
00004790  6f 75 72 54 72 61 6e 73  5f 52 65 74 75 72 6e 43  |ourTrans_ReturnC|
000047a0  6f 6c 6f 75 72 4e 75 6d  62 65 72 22 2c 70 61 6c  |olourNumber",pal|
000047b0  74 65 6d 70 25 21 28 41  25 3c 3c 32 29 20 b8 20  |temp%!(A%<<2) . |
000047c0  50 54 54 25 3f 41 25 0d  23 28 08 20 20 20 ed 0d  |PTT%?A%.#(.   ..|
000047d0  23 32 05 cd 0d 23 3c 36  c8 99 22 43 6f 6c 6f 75  |#2...#<6.."Colou|
000047e0  72 54 72 61 6e 73 5f 53  65 6c 65 63 74 54 61 62  |rTrans_SelectTab|
000047f0  6c 65 22 2c 53 50 25 2c  22 50 4f 49 4e 54 22 2c  |le",SP%,"POINT",|
00004800  2d 31 2c 30 2c 50 74 25  2c 31 0d 23 46 05 e1 0d  |-1,0,Pt%,1.#F...|
00004810  23 50 04 0d 23 5a 0e dd  20 f2 5f 50 75 74 50 61  |#P..#Z.. ._PutPa|
00004820  6c 0d 23 64 0b ea 20 41  25 2c 42 25 0d 23 6e 10  |l.#d.. A%,B%.#n.|
00004830  e3 20 41 25 3d 30 20 b8  20 32 35 35 0d 23 78 11  |. A%=0 . 255.#x.|
00004840  42 25 3d 55 50 25 21 28  41 25 2a 34 29 0d 23 82  |B%=UP%!(A%*4).#.|
00004850  12 70 61 6c 25 21 28 41  25 2a 38 29 3d 42 25 0d  |.pal%!(A%*8)=B%.|
00004860  23 8c 14 70 61 6c 25 21  28 41 25 2a 38 2b 34 29  |#..pal%!(A%*8+4)|
00004870  3d 42 25 0d 23 96 17 50  41 4c 25 21 28 41 25 2a  |=B%.#..PAL%!(A%*|
00004880  34 2b 55 64 62 25 29 3d  42 25 0d 23 a0 05 ed 0d  |4+Udb%)=B%.#....|
00004890  23 aa 21 e7 20 55 64 62  25 3d 30 20 8c 20 55 64  |#.!. Udb%=0 . Ud|
000048a0  62 25 3d 31 30 32 34 20  8b 20 55 64 62 25 3d 30  |b%=1024 . Udb%=0|
000048b0  0d 23 b4 0d f2 5f 53 65  74 43 6f 6c 73 0d 23 be  |.#..._SetCols.#.|
000048c0  0e e7 20 77 6f 70 65 6e  25 20 8c 0d 23 c8 2c c8  |.. wopen% ..#.,.|
000048d0  99 22 57 69 6d 70 5f 46  6f 72 63 65 52 65 64 72  |."Wimp_ForceRedr|
000048e0  61 77 22 2c 70 61 6c 6c  57 25 2c 30 2c 2d 34 30  |aw",pallW%,0,-40|
000048f0  30 2c 36 34 30 2c 30 0d  23 d2 05 cd 0d 23 dc 05  |0,640,0.#....#..|
00004900  e1 0d 23 e6 04 0d 23 f0  0c dd 20 f2 5f 55 6e 64  |..#...#... ._Und|
00004910  6f 0d 23 fa 0b ea 20 41  25 2c 42 25 0d 24 04 10  |o.#... A%,B%.$..|
00004920  e3 20 41 25 3d 30 20 b8  20 32 35 35 0d 24 0e 1f  |. A%=0 . 255.$..|
00004930  55 50 25 21 28 41 25 2a  34 29 3d 50 41 4c 25 21  |UP%!(A%*4)=PAL%!|
00004940  28 41 25 2a 34 2b 55 64  62 25 29 0d 24 18 05 ed  |(A%*4+Udb%).$...|
00004950  0d 24 22 0c f2 5f 50 75  74 50 61 6c 0d 24 2c 05  |.$".._PutPal.$,.|
00004960  e1 0d 24 36 04 0d 24 40  0c dd 20 f2 5f 47 52 45  |..$6..$@.. ._GRE|
00004970  59 0d 24 4a 1a f4 20 4d  61 6b 65 20 75 70 20 74  |Y.$J.. Make up t|
00004980  68 65 20 70 61 6c 6c 65  74 74 65 0d 24 54 10 e3  |he pallette.$T..|
00004990  20 41 25 3d 30 20 b8 20  32 35 35 0d 24 5e 13 55  | A%=0 . 255.$^.U|
000049a0  50 25 3f 28 41 25 2a 34  2b 31 29 3d 41 25 0d 24  |P%?(A%*4+1)=A%.$|
000049b0  68 13 55 50 25 3f 28 41  25 2a 34 2b 32 29 3d 41  |h.UP%?(A%*4+2)=A|
000049c0  25 0d 24 72 13 55 50 25  3f 28 41 25 2a 34 2b 33  |%.$r.UP%?(A%*4+3|
000049d0  29 3d 41 25 0d 24 7c 05  ed 0d 24 86 05 e1 0d ff  |)=A%.$|...$.....|
000049e0