Home » Archimedes archive » Archimedes World » AW-1992-08.adf » AWaug92 » !AWaug92/Goodies/WimpGloss/!WimpGloss/Wimp1
!AWaug92/Goodies/WimpGloss/!WimpGloss/Wimp1
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1992-08.adf » AWaug92 |
Filename: | !AWaug92/Goodies/WimpGloss/!WimpGloss/Wimp1 |
Read OK: | ✔ |
File size: | 6687 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM| ------------------------------- 6/1/92 20REM| WIMP PROCEDURE LIBRARY 30REM| 40REM| Index of Contents 50REM| 60REM| ------------------------------- 70REM| 80REM| 1.EVALWimp initialiseEVALandEVALquit 90REM| 100REM| 2.EVALWimpEVALpollingEVAL(GenerationEVALofEVALEvents) 110REM| 120REM| 3.EVALWindows 130REM| 140REM| 3.1EVALWindowEVALopeningEVALandEVALclosing 150REM| 3.2EVALWindowEVALdrawing 160REM| 170REM| 4.EVALIcons 180REM| 190REM| 5.EVALMenus 200REM| 210REM| 6.EVALFiles 220REM| 230REM| 7.EVALSprites 240REM| 250REM| 8.EVALSaves 260REM| 270REM| 9.EVALMiscellaneous 280REM| 290REM| ------------------------------- 300REM| 310REM| 320REM| 330REM| 340REM| ------------------------------- 350REM| 1.EVALWimpEVALinitialiseEVALandEVALquit 360REM| ------------------------------- 370REM| 380REM| 390REM| ------------------------------- 400REM| 410REM| Procedures : 420REM| 430REM| FNWimp_Start( 440REM| PROCWimp_CloseDown 450REM| PROCWimp_Quit 460REM| PROCInternal_SetEventVariables 470REM| PROCInternal_Error( 480REM| 490REM| ------------------------------- 500REM| 510REM| 520REM| 530 DEF FNWimp_Start( TaskName$) 540REM| 550REM| -------------------------------------------------- 560REM| Initialises a task. See page 1173 of RiscOs Manual. 570REM| -------------------------------------------------- 580REM| 590 PROCInternal_SetEventVariables 600REM| 610 ON ERROR PROCInternal_Error( task%,TaskName$):END 620REM| 630 $block%="TASK" 640 650 660 SYS "Wimp_Initialise",200,!block%,TaskName$ TO version%,task% 670 680REM| 690 =TaskName$ 700REM| 710REM| 720 DEF PROCInternal_SetEventVariables 730REM| 740 DIM block% block_memory%,icons% icon_memory% 750 icon_end%=icons%+icon_memory% 760REM| 770 null%=1 : draw%=2 : pointer_leaving%=1<<4 780 pointer_entering%=1<<5 : mouse%=1<<6 : drag%=1<<7 790 key%=1<<8 : menu%=1<<9 : scroll%=1<<10 800 lose_caret%=1<<11 : gain_caret%=1<<12 : message%=(1<<17)+(1<<18) 810 recorder%=1<<18 : acknowledge%=1<<19: window%=0 820 sprites%=0 : version%=0 : task%=0 830 Bar_Window%=-2 : Bar_Icon%=0 : Bar_Menu%=0 840 x_origin%=0 : y_origin%=0 : SaveWindow%=-3 850 message_quit%=0 : message_save%=2 : message_load%=3 860 mouse_button%=2 : save_event%=0 870REM| 880 ENDPROC 890REM| 900REM| 910 DEF PROCInternal_Error( task%,TaskName$) 920 LOCAL X$,x% 930 ON ERROR OFF 940 x%=ERL 950 X$=REPORT$+"at line "+STR$(x% DIV 10) 960DIM ErrorMsg% 36 970ErrorMsg%!0 = 36 : REM Length of message 980ErrorMsg%!12 = 0 : REM This is an original message 990ErrorMsg%!16 = &81080 : REM Message number to set caret 1000ErrorMsg%!20 = x% : REM Line to put caret on 1010$(ErrorMsg%+24) = "!RunImage " : REM File to put caret on 1020SYS "Wimp_SendMessage",17,ErrorMsg% 1030 1040 PROCWimp_Alert(TaskName$,X$) 1050 PROCWimp_CloseDown 1060 ENDPROC 1070REM| 1080REM| 1090 DEF PROCWimp_CloseDown 1100 SYS "Wimp_CloseDown",task%,"TASK" 1110 ENDPROC 1120REM| 1130REM| 1140 DEF PROCWimp_Quit 1150 finished%=TRUE 1160 ENDPROC 1170REM| 1180REM| 1190REM| -------------------------------------- 1200REM| 2.EVALWimpEVALpollingEVAL(GenerationEVALofEVALEvents) 1210REM| -------------------------------------- 1220REM| 1230REM| 1240REM| 1250REM| 1260REM| ------------------------------- 1270REM| 1280REM| Procedures : 1290REM| 1300REM| PROCWimp_WaitForEvent 1310REM| PROCInternal_NonSaveEvent 1320REM| FNInternal_GetFileType 1330REM| 1340REM| ------------------------------- 1350: 1360 DEF PROCWimp_WaitForEvent 1370 finished%=FALSE 1380 mask%=%111000011001 : REM masking events 0,4,5,10,11,12 1390 REPEAT 1400 SYS "Wimp_Poll",mask%,block% TO event% 1410 CASE FNInternal_Event(event%,block%) OF 1420 WHEN-1 : PROCEvent_SaveFile 1430 WHEN 0 : 1440 WHEN 1 : SYS "Wimp_RedrawWindow",,block% TO more% 1450 x_origin%=FNInternal_WindowXOrigin(block%) 1460 y_origin%=FNInternal_WindowYOrigin(block%) 1470 WHILE more% 1480 SYS "Wimp_BorderWindow",, block% 1490 PROCEvent_DrawWindow(block%!0) 1500 SYS "Wimp_GetRectangle",,block% TO more% 1510 ENDWHILE 1520 WHEN 2 : window%=!block% 1530 PROCWimp_WindowOpen(window%) 1540 WHEN 3 : window%=!block% 1550 PROCWimp_WindowClose(window%) 1560 WHEN 4 : 1570 WHEN 5 : 1580 WHEN 6 : button%=block%!8 : window%=block%!12 : icon%=block%!16 1590 x%=block%!0 : y%=block%!4 1600 CASE button% OF 1610 WHEN 2 : 1620 PROCEvent_MenuPopUp(window%,x%,y%) 1630 OTHERWISE : 1640 SYS "Wimp_BorderIcon",,block% 1650 PROCEvent_MouseClick(button%,window%,icon%,x%,y%) 1660 block%!8=0 : block%!12=window% : block%!16=icon% 1670 SYS "Wimp_BorderIcon",,block% 1680 ENDCASE 1690 WHEN 7 : REM Only drags allowed are from Save window!. 1700 WHEN 8 : window%=block%!0 : icon%=block%!4 : key%=block%!24 1710 PROCEvent_KeyPress(window%,icon%,key%) 1720 WHEN 9 : PROCEvent_MenuChoice(menu%) 1730 WHEN 10: 1740 WHEN 11: 1750 WHEN 12: 1760 1770REM| Events 13,14,15,16 Not used 1780 1790 WHEN 17,18 : 1800 message%=block%!16 1810 CASE message% OF 1820 WHEN message_quit% : finished%=TRUE 1830 WHEN message_load% : PROCEvent_LoadFile( ) 1840 ENDCASE 1850 WHEN 19 : 1860 1870 PROCWimp_Alert(TaskName$,REPORT$+"at line "+STR$(ERL DIV 10),2) 1880 ENDCASE 1890 UNTIL finished% 1900 ENDPROC 1910: 1920REM| 1930 DEF FNInternal_Event(event%,block%) 1940 CASE event% OF 1950 WHEN 0 1960 ENDCASE 1970 =event% 1980REM| 1990REM| ------------------------------- 2000REM| 3.EVALWindows 2010REM| ------------------------------- 2020REM| 2030REM| 2040REM| 2050REM| ------------------------------ 2060REN| 3.1 Window opening and closing 2070REM| ------------------------------ 2080REM| 2090REM| 2100REM| 2110REM| ------------------------------- 2120REM| 2130REM| Procedures : 2140REM| 2150REM| FNWimp_WindowLoad(window$) 2160REM| FNWimp_WindowLoadFromTemplate(w$,template$) 2170REM| PROCWimp_WindowOpen(window%) 2180REM| PROCWimp_WindowBringToTop(window%) 2190REM| PROCWimp_WindowClose(window%) 2200REM| 2210REM| ------------------------------- 2220REM| 2230REM| 2240REM| 2250REM| 2260 DEF FNWimp_WindowLoad( window$) 2270 =FNWimp_WindowLoadFromTemplate(window$,"<Obey$Dir>.Templates") 2280REM| 2290 DEF FNWimp_WindowLoadFromTemplate(w$,template$) 2300 LOCAL c% 2310 SYS "Wimp_OpenTemplate",,template$ 2320 SYS "Wimp_LoadTemplate",,block%,icons%,icon_end%,-1,w$,0 TO ,,icons% 2330 IF sprites%<>0 THEN block%!64=sprites% 2340 SYS "Wimp_CreateWindow",,block% TO c% 2350 SYS "Wimp_CloseTemplate" 2360 =c% 2370REM| 2380 DEF PROCWimp_WindowOpen(window%) 2390 !block%=window% 2400 SYS "Wimp_GetWindowState",,block% 2410 SYS "Wimp_OpenWindow",,block% 2420 ENDPROC 2430REM| 2440 DEF PROCWimp_WindowBringToTop(window%) 2450 !block%=window% 2460 SYS "Wimp_GetWindowState",,block% 2470 block%!28=-1 2480 SYS "Wimp_OpenWindow",,block% 2490 ENDPROC 2500REM| 2510 DEF PROCWimp_WindowClose(window%) 2520 !block%=window% 2530 SYS "Wimp_CloseWindow",,block% 2540 ENDPROC 2550REM| 2560REM| 2570REM| 2580REM| 2590REM| ------------------ 2600REM| 3.2EVALWindowEVALdrawing 2610REM| ------------------ 2620REM| 2630REM| 2640REM| ------------------------------- 2650REM| 2660REM| Procedures : 2670REM| 2680REM| PROCWimp_WindowForceDraw(window%) 2690REM| DEF FNInternal_WindowXOrigin(block%) 2700REM| DEF FNInternal_WindowYOrigin(block%) 2710REM| FNWimp_GetWindowTitle(window%) 2720REM| PROCWimp_Draw(x,y) 2730REM| PROCWimp_Move(x,y) 2740REM| PROCWimp_Line(x,y,x1,y1) 2750REM| 2760REM| ------------------------------- 2770REM| 2780REM| 2790REM| 2800 DEF PROCInternal_WindowDraw 2810 LOCAL more% 2820 SYS "Wimp_RedrawWindow",,block% TO more% 2830 x_origin%=FNInternal_WindowXOrigin(block%) 2840 y_origin%=FNInternal_WindowYOrigin(block%) 2850 WHILE more% 2860 PROCEvent_DrawWindow(block%!0) 2870 SYS "Wimp_GetRectangle",,block% TO more% 2880 ENDWHILE 2890 ENDPROC 2900REM| 2910 DEF PROCWimp_WindowForceDraw(window%) 2920 CASE window% OF 2930 WHEN -1 : SYS "Wimp_ForceRedraw",-1,0,0,2*1280,2*1024 2940 OTHERWISE : SYS "Wimp_ForceRedraw",window%,0,-2*1024,2*1280,0 2950 ENDCASE 2960 ENDPROC 2970REM| 2980 DEF FNInternal_WindowXOrigin(block%)=block%!4-block%!20 2990REM| 3000 DEF FNInternal_WindowYOrigin(block%)=block%!16-block%!24 3010REM| 3020 DEF FNWimp_GetWindowTitle(window%) 3030 block%!0=window% 3040 SYS "Wimp_GetWindInfo",,block% 3050 IF ((block%!60)AND&100)=0 ERROR 1,"Title isn't indirected" 3060 =$(block%!76) 3070REM| 3080 DEF PROCWimp_Draw(x,y) 3090 DRAW x-x_origin%,y-y_origin% 3100 ENDPROC 3110REM| 3120 DEF PROCWimp_Move(x,y) 3130 MOVE x+x_origin%,y_origin%+y 3140 ENDPROC 3150REM| 3160 DEF PROCWimp_Line(x,y,x1,y1) 3170 LINE x+x_origin%,y+y_origin%,x1+x_origin%,y1+y_origin% 3180 ENDPROC 3190REM| 3200REM| 3210REM| 3220REM| 3230REM| 3240REM| 3250REM| 3260REM| ------------------------- 3270REM| 4.EVALIcons 3280REM| ------------------------- 3290REM| 3300REM| 3310REM| ------------------------------- 3320REM| 3330REM| Procedures : 3340REM| 3350REM| FNWimp_PutIconOnBar(Sprite$) 3360REM| FNWimp_IconCreate(window%,ix%,iy%,iw%,ih%,flag%,text$,d1%,d2%,d3%)REM| FNWimp_GetValidationString(window%,icon%) 3370REM| FNWimp_GetTextFromIcon(window%,icon%) 3380REM| PROCWimp_PutTextInIcon(window%,icon%,text$) 3390REM| PROCWimp_EnableIcon(window%,icon%) 3400REM| PROCWimp_DisableIcon(window%,icon%) 3410REM| PROCWimp_PlotIcon(block%,ix%,iy%,iw%,ih%,flag%,text$,d1%,d2%,d3%) 3420REM| PROCWimp_SpritesLoad 3430REM| PROCWimp_SpritesPathLoad(pathname$) 3440REM| 3450REM| ------------------------------- 3460REM| 3470 DEF FNWimp_PutIconOnBar(Sprite$) 3480 =FNWimp_IconCreate(-1,0,0,68,68,&3002,Sprite$,0,0,0) 3490REM| 3500 DEF FNWimp_IconCreate(window%,ix%,iy%,iw%,ih%,flag%,text$,d1%,d2%,d3%) 3510 block%!0=window% 3520 block%!4=ix% : block%!8=iy% 3530 block%!12=ix%+iw% : block%!16=iy%+ih% 3540 block%!20=flag% 3550 IF d1%=0 THEN 3560 $(block%+24)=text$ 3570 ELSE 3580 block%!24=d1% : block%!28=d2% : block%!32=d3% 3590 ENDIF 3600 SYS "Wimp_CreateIcon",,block% TO icon% 3610 =icon% 3620REM| 3630 DEF PROCWimp_PutTextInIcon(window%,icon%,text$) 3640 block%!0=window% : block%!4=icon% 3650 SYS "Wimp_GetIconState",,block% 3660 IF ((block%!24) AND &100)=0 ERROR 1,"Icon isn't indirected" 3670 $(block%!28)=text$ 3680 block%!0=window% : block%!4=icon% 3690 block%!8=0 : block%!12=0 3700 SYS "Wimp_SetIconState",,block% 3710 ENDPROC 3720REM| 3730 DEF FNWimp_GetTextFromIcon(window%,icon%) 3740 block%!0=window% : block%!4=icon% 3750 SYS "Wimp_GetIconState",,block% 3760 IF ((block%!24) AND &100)=0 ERROR 1,"Icon isn't indirected" 3770 =$(block%!28) 3780REM| 3790 DEF FNWimp_GetValidationString(window%,icon%) 3800 block%!0=window% : block%!4=icon% 3810 SYS "Wimp_GetIconState",,block% 3820 IF ((block%!24) AND &100)=0 ERROR 1,"Icon isn't indirected" 3830 =$(block%!32) 3840REM| 3850 DEF PROCWimp_EnableIcon(window%,icon%) 3860 block%!0=window% : block%!4=icon% 3870 block%!8=0 : block%!12=1<<22 3880 SYS "Wimp_SetIconState",,block% 3890 ENDPROC 3900REM| 3910 DEF PROCWimp_DisableIcon(window%,icon%) 3920 block%!0=window% : block%!4=icon% 3930 block%!8=1<<22 : block%!12=1<<22 3940 SYS "Wimp_SetIconState",,block% 3950 ENDPROC 3960REM| 3970 DEF PROCWimp_PlotIcon(block%,ix%,iy%,iw%,ih%,flag%,text$,d1%,d2%,d3%) 3980 block%!0=ix% : block%!4=iy% 3990 block%!8=ix%+iw% : block%!12=iy%+ih% 4000 block%!16=flag% 4010 IF d1%=0 THEN 4020 $(block%+24)=text$ 4030 ELSE 4040 block%!24=d1% : block%!28=d2% : block%!32=d3% 4050 ENDIF 4060 SYS "Wimp_PlotIcon",,block% 4070 ENDPROC 4080REM| 4090 DEF PROCWimp_SpritesLoad 4100 PROCWimp_SpritesPathLoad("<Obey$Dir>.Sprites") 4110 ENDPROC 4120REM| 4130 DEF PROCWimp_SpritesPathLoad(pathname$) 4140 LOCAL S%,T% 4150 S%=OPENIN"<Obey$Dir>.Sprites":T%=EXT#S%+16:CLOSE#S% 4160 DIM sprites% T%, spname% 12 4170 !sprites%=T%:sprites%!8=0 4180 SYS "OS_SpriteOp",&109,sprites% 4190 SYS "OS_SpriteOp",&10A,sprites%,pathname$ 4200 ENDPROC 4210REM| 4220REM| 4230REM| 4240REM| 4250REM| 4260REM| ------------------------- 4270REM| 5.EVALMenus 4280REM| ------------------------- 4290REM| 4300REM| 4310REM| ------------------------------- 4320REM| 4330REM| Procedures : 4340REM| 4350REM| FNWimp_MenuCreate(menu$) 4360REM| FNWimp_MenuBuild(menu%,menu$) 4370REM| FNWimp_MenuChoice(level%) 4380REM| PROCWimp_MenuPopUpBar(x%,y%) 4390REM| PROCWimp_MenuPopUp(Menu%,x%,y%) 4400REM| FNInternal_MenuNoOfEntries(menu$) 4410REM| PROCWimp_MenuClose 4420REM| PROCWimp_MenuGlue(menu1%,item%,menu2%) 4430REM| PROCWimp_MenuMessage(menu%,item%) 4440REM| PROCWimp_MenuTick(menu%,item%) 4450REM| PROCWimp_MenuDottedLine(menu%,item%) 4460REM| PROCWimp_MenuForeGroundColour(menu%,item%,colour%) 4470REM| PROCWimp_MenuBackGroundColour(menu%,item%,colour%) 4480REM| PROCWimp_MenuCentre(menu%,item%) 4490REM| PROCWimp_MenuDisable(menu%,item%) 4500REM| PROCWimp_MenuEnable(menu%,item%) 4510REM| PROCWimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%) 4520REM| PROCWimp_MenuTitle(menu%,title$) 4530REM| PROCWimp_MenuItem(menu%,item%,item$) 4540REM| FNWimp_CreateColoursMenu 4550REM| FNWimp_CreateColoursMenu(title$) 4560REM| 4570REM| ------------------------------- 4580REM| 4590REM| 4600REM| 4610REM| 4620 DEF FNWimp_MenuCreate(menu$) 4630 LOCAL menu% 4640 DIM menu% 28+FNInternal_MenuNoOfEntries(menu$)*24 4650 =FNWimp_MenuBuild(menu%,menu$) 4660REM| 4670 DEF FNInternal_MenuNoOfEntries(menu$) 4680 LOCAL n% ,j% : n%=0 : j%=0 4690 REPEAT 4700 j%=INSTR(menu$,"\",j%+1) 4710 IF j%<>0 THEN n%+=1 4720 UNTIL j%=0 4730 =n% 4740REM| 4750 DEF FNWimp_MenuBuild(menu%,menu$) 4760 LOCAL ypos%,width%,length%,k% 4770 menu%?12=7 : menu%?13=2 : menu%?14=7 :menu%?15=0 4780 menu%!16=140 : menu%!20=44 : menu%!24=0 4790 ptr%=menu%+28 4800 $menu%=LEFT$(menu$,INSTR(menu$,"\")-1) 4810 width%=LEN(LEFT$(menu$,INSTR(menu$,"\")-1)) 4820 menu$+="\" : Menu_NoOfEntries%=0 4830 WHILE menu$<>"" 4840 menu$=MID$(menu$,INSTR(menu$,"\")+1) 4850 IF menu$<>"" THEN 4860 !ptr%=0 : ptr%!4=-1 : ptr%!8=&7000021 4870 length%=INSTR(menu$,"\")-1 4880 k%=INSTR(LEFT$(menu$,length%),">") 4890 IF k%<>0 THEN 4900 s%=EVAL(MID$(menu$,k%+1,length%-k%)) 4910 ptr%!4=s% 4920 length%=k%-1 4930 ENDIF 4940 $(ptr%+12)=LEFT$(menu$,length%) 4950 IF length%>width% THEN width%=length% 4960 ptr%+=24 4970 Menu_NoOfEntries%+=1 4980 ENDIF 4990 ENDWHILE 5000 menu%!16=16*(width%+1) 5010 ptr%!-24=ptr%!-24 OR &80 : REM|...Last item 5020 =menu% 5030REM| 5040 DEF PROCWimp_MenuClose 5050 SYS "Wimp_CreateMenu",-1 5060 ENDPROC 5070REM| 5080 DEF FNWimp_MenuChoice(level%)=(block%!(4*level%))+1 5090REM| 5100 DEF PROCWimp_MenuPopUpBar(x%,y%) 5110 LOCAL n% : n%=0 5120 WHILE ((Bar_Menu%!(28+n%*24))AND%10000000)=0 5130 n%+=1 5140 ENDWHILE 5150 SYS "Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44 5160 menu%=Bar_Menu% 5170 ENDPROC 5180 5190REM| 5200 DEF PROCWimp_MenuPopUp(Menu%,x%,y%) 5210 menu%=Menu% 5220 SYS "Wimp_CreateMenu",,menu%,x%-64,y%+20 5230 ENDPROC 5240REM| 5250 DEF PROCWimp_MenuGlue(menu1%,item%,menu2%) 5260 menu1%!(8+item%*24)=menu2% 5270 ENDPROC 5280 DEF PROCWimp_MenuMessage(menu%,item%) 5290 menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))EOR(1<<3) 5300 ENDPROC 5310REM| 5320 DEF PROCWimp_MenuTick(menu%,item%) 5330 menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))EOR1 5340 ENDPROC 5350REM| 5360 DEF PROCWimp_MenuDottedLine(menu%,item%) 5370 menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))OR2 5380 ENDPROC 5390REM| 5400 DEF PROCWimp_MenuForeGroundColour(menu%,item%,colour%) 5410 menu%?(39+(item%-1)*24)=colour%+16*((menu%?(39+(item%-1)*24))DIV16) 5420 ENDPROC 5430REM| 5440 DEF PROCWimp_MenuBackGroundColour(menu%,item%,colour%) 5450 LOCAL fore%,i% 5460 fore%=(menu%?(39+(item%-1)*24))MOD16 5470 i%=((menu%?(39+(item%-1)*24))DIV16)MOD16 5480 menu%?(39+(item%-1)*24)=fore%+16*colour%+i% 5490 ENDPROC 5500REM| 5510 DEF PROCWimp_MenuCentre(menu%,item%) 5520 menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR(1<<3) 5530 ENDPROC 5540REM| 5550 DEF PROCWimp_MenuDisable(menu%,item%) 5560 menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR(1<<22) 5570 ENDPROC 5580REM| 5590 DEF PROCWimp_MenuEnable(menu%,item%) 5600 PROCWimp_MenuDisable(menu%,item%) 5610 menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)EOR(1<<22) 5620 ENDPROC 5630REM| 5640 DEF PROCWimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%) 5650 menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))OR4 5660 menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR&100 5670 menu%!(40+(item%-1)*24)=buffer% 5680 menu%!(44+(item%-1)*24)=val% 5690 menu%!(48+(item%-1)*24)=BufferLength% 5700 ENDPROC 5710REM| 5720 DEF PROCWimp_MenuTitle(menu%,title$) 5730 $menu%=LEFT$(title$,12)+CHR$0 5740 ENDPROC 5750REM| 5760 DEF PROCWimp_MenuItem(menu%,item%,item$) 5770 $(menu%+(40+(item%-1)*24))=LEFT$(item$,12)+CHR$0 5780 ENDPROC 5790REM| 5800 DEF FNWimp_CreateColoursMenu =FNWimp_CreateColoursMenu(" ") 5810REM| 5820 DEF FNWimp_CreateColoursMenu(title$) 5830 LOCAL x$,men%,j% 5840 x$=title$+"\0\1\2\3\4\5\6\7\8\9\10\11\12\13\14\15" 5850 men%=FNWimp_MenuCreate(x$) 5860 FOR i%=0 TO 15 5870 CASE TRUE OF 5880 WHEN i%<4,i%=9,i%=12,i%=14,i%=15 : j%=7 5890 OTHERWISE : j%=0 5900 ENDCASE 5910 men%?(39+i%*24)=i%*16+j% 5920 PROCWimp_MenuCentre(men%,i%+1) 5930 NEXT 5940 =men% 5950REM| 5960REM| 5970REM| 5980REM| 5990REM| ------------------------- 6000REM| 6.EVALFiles 6010REM| ------------------------- 6020REM| 6030REM| 6040REM| ------------------------------- 6050REM| 6060REM| Procedures : 6070REM| 6080REM| FNUtils_FileType(type%) 6090REM| FNWimp_GetFilePathName 6100REM| FNUtils_FileLoad(pathname$) 6110REM| FNUtils_GetStringAtAddress(ptr%) 6120REM| FNUtils_GetFileFromPathname(f$) 6130REM| 6140REM| 6150REM| ------------------------------- 6160REM| 6170REM| 6180REM| 6190REM| 6200 DEF FNUtils_FileType(type%) 6210 CASE type% OF 6220 WHEN &FFF :="Text" 6230 WHEN &FFD :="Data" 6240 WHEN &FFB :="Basic" 6250 WHEN &FF9 :="Sprite" 6260 WHEN &FED :="Palette" 6270 WHEN &FEC :="Template" 6280 WHEN &AFF :="Draw" 6290 WHEN &1000:="Folder" 6300 WHEN &2000:="Application" 6310 OTHERWISE=STR$~(type%) 6320 ENDCASE 6330REM| 6340 DEF FNWimp_GetFilePathName =FNUtils_GetStringAtAddress(block%+44) 6350REM 6360 DEF FNUtils_FileLoad(pathname$) 6370 LOCAL S%,T%,file% 6380 S%=OPENIN pathname$ 6390 T%=EXT#S%+16 6400 CLOSE#S% 6410 DIM file% T% 6420 OSCLI("LOAD "+pathname$+" "+STR$~file%) 6430 =file% 6440REM| 6450 DEF FNUtils_GetStringAtAddress(ptr%) 6460 LOCAL s$ : s$="" 6470 WHILE (?ptr%<>13)AND(?ptr%<>0) : s$+=CHR$(?ptr%): ptr%+=1 :ENDWHILE: 6480 =s$ 6490REM| 6500 DEF FNUtils_GetFileFromPathname(f$) 6510 IF INSTR(f$,".")=0 THEN 6520 =f$ 6530 ELSE 6540 =FNUtils_GetStringFromPathname(RIGHT$(f$,LEN(f$)-INSTR(f$,"."))) 6550 ENDIF 6560REM| 6570REM| 6580REM| 6590REM| 6600REM| 6610REM| 6620REM| 6630REM| 6640REM| 6650REM| 6660REM| ------------------------- 6670REM| 7.EVALSprites 6680REM| ------------------------- 6690REM| 6700REM| 6710REM| ------------------------------- 6720REM| 6730REM| Procedures : 6740REM| 6750REM| 6760REM| 6770REM| 6780REM| 6790REM| 6800REM| 6810REM| 6820REM| ------------------------------- 6830REM| 6840REM| 6850REM| 6860REM| 6870REM| 6880REM| 6890REM| 6900REM| ------------------------- 6910REM| 8.EVALSaves 6920REM| ------------------------- 6930REM| 6940REM| 6950REM| ------------------------------- 6960REM| 6970REM| Procedures : 6980REM| 6990REM| PROCInternal_SaveEvent 7000REM| PROCInternal_SaveFile 7010REM| PROCWimp_DragBox(window%) 7020REM| PROCInternal_SaveMessage 7030REM| FNInternal_SaveEvent 7040REM| 7050REM| 7060REM| ------------------------------- 7070REM| 7080REM| 7090REM| 7100REM| 7110 DEF PROCSave_Event 7120 CASE block%!0 OF 7130 WHEN Save_Window% : PROCInternal_SaveFile 7140 OTHERWISE : 7150 CASE block%!16 OF 7160 WHEN 0 : 7170 IF block%!8 AND &50 THEN PROCWimp_DragBox(Save_Window%) 7180 WHEN 2 : 7190 IF block%!8 AND 5 THEN PROCInternal_SaveFile 7200 ENDCASE 7210 ENDCASE 7220 ENDPROC 7230REM| 7240 DEF PROCInternal_SaveFile 7250 LOCAL x$ 7260 x$=FNIcon_GetText(Save_Window%,1) 7270 CASE INSTR(x$,".") OF 7280 WHEN 0 : 7290 PROCAlertBox(Task$,"To save, drag the icon to a directory window") 7300 OTHERWISE : 7310 PROCEvent_SaveFile(x$) 7320 ENDCASE 7330 SYS "Wimp_CreateMenu",-1 7340 ENDPROC 7350REM| 7360 DEF PROCWimp_DragBox(window%) 7370 LOCAL x%,y% 7380 !block%=window% 7390 SYS "Wimp_GetWindowState",,block% 7400 x%=block%!4-block%!20 : y%=block%!16-block%!24 7410 block%!4=0 7420 SYS "Wimp_GetIconState",,block% 7430 !block%=window% 7440 block%!4=5 7450 block%!8=x%+block%!8 : block%!12=y%+block%!12 7460 block%!16=x%+block%!16 : block%!20=y%+block%!20 7470 block%!24=0:block%!28=0 7480 block%!32=&7FFFFFFF : block%!36=&7FFFFFFF 7490 SYS "Wimp_DragBox",,block% 7500 ENDPROC 7510REM| 7520 DEF PROCInternal_SaveMessage 7530 LOCAL file$,window%,icon%,x%,y% 7540 SYS "Wimp_GetPointerInfo",,block% 7550 window%=block%!12 : icon%=block%!16 : x%=block%!0 : y%=block%!4 7560 file$=FNGetLeaf(FNIcon_GetText(Save_Window%,1)) 7570 block%!20=window% 7580 block%!24=icon% 7590 block%!28=x% : block%!32=y% 7600 block%!36=length% 7610 block%!0=64 7620 block%!12=0 7630 block%!16=1 7640 block%!40=&FFF 7650 $(block%+44)=file$ 7660 SYS "Wimp_SendMessage",17,block%,block%!20,block%!24 7670 ENDPROC 7680REM| 7690 DEF FNInternal_SaveEvent 7700 =(block%!0=Save_Window%) OR (block%!12=Save_Window%) 7710REM| 7720REM| 7730REM| 7740REM| 7750REM| ------------------------- 7760REM| 9.EVALMiscellaneous 7770REM| ------------------------- 7780REM| 7790REM| 7800REM| ------------------------------- 7810REM| 7820REM| Procedures : 7830REM| 7840REM| PROCWimp_AlertBox(title$,message$,button% 7850REM| FNWimp_CancelBox(title$,message$) 7860REM| PROCWimp_ErrorBox(title$,message$) 7870REM| PROCWimp_Alert(title$,message$) 7880REM| FNUtils_ReadVariable(variable$) 7890REM| 7900REM| ------------------------------- 7910REM| 7920REM| 7930REM| 7940 DEF PROCWimp_AlertBox(title$,message$,button%) 7950 LOCAL response% 7960 $(block%+4)=message$ 7970 CASE button% OF 7980 WHEN 2 : response%=1 : REM|...Error Box 7990 WHEN 1 : response%=15 : REM|...OK and CANCEL butons 8000 WHEN 3 : response%=(1<<5)+16 8010 WHEN 4 : response%=(1<<6)+16 8020 OTHERWISE : response%=16 : REM|...OK button only 8030 ENDCASE 8040 SYS "Wimp_ReportError",block%,response%,title$ TO ,response% 8050 ENDPROC 8060REM| 8070 DEF FNWimp_CancelBox(title$,message$) 8080 $(block%+4)=message$ 8090 response%=23 8100 SYS "Wimp_ReportError",block%,response%,title$ TO ,response% 8110 =response%-2 8120REM| 8130 DEF PROCWimp_ErrorBox(title$,message$) 8140 PROCWimp_AlertBox(title$,message$,2) 8150 ENDPROC 8160REM| 8170 DEF PROCWimp_Alert(title$,message$) 8180 PROCWimp_AlertBox(title$,message$,0) 8190 ENDPROC 8200REM| 8210 DEF FNUtils_ReadVariable(Variable$) 8220 LOCAL len%,result%,variable% 8230REM DIM result% 255,variable% 100 8240 $block%=Variable$ 8250 SYS "OS_ReadVarVal",block%,block%+255,255,,3 TO ,,len% 8260 block%?(len%+255)=13 8270 =$(block%+255) 8280: 8290DEF PROCIcon_PutCaret(window%,icon%,length%) 8300SYS "Wimp_SetCaretPosition",window%,icon%,,,-1,length% 8310ENDPROC 8320:
E�| ------------------------------- 6/1/92 /�| WIMP PROCEDURE LIBRARY �| (,�| Index of Contents 2�| <5�| ------------------------------- F�| P5�| 1.�Wimp initialise�and�quit Z�| d@�| 2.�Wimp�polling�(Generation�of�Events) n�| x$�| 3.�Windows ��| �;�| 3.1�Window�opening�and�closing �/�| 3.2�Window�drawing ��| �"�| 4.�Icons ��| �"�| 5.�Menus ��| �"�| 6.�Files ��| �$�| 7.�Sprites ��| �"�| 8.�Saves �| *�| 9.�Miscellaneous �| "5�| ------------------------------- ,�| 6�| @�| J�| T5�| ------------------------------- ^3�| 1.�Wimp�initialise�and�quit h5�| ------------------------------- r�| |�| �5�| ------------------------------- ��| �(�| Procedures : ��| �%�| FNWimp_Start( �*�| PROCWimp_CloseDown �%�| PROCWimp_Quit �6�| PROCInternal_SetEventVariables �+�| PROCInternal_Error( ��| �5�| ------------------------------- ��| ��| �| " � �Wimp_Start( TaskName$) �| &:�| -------------------------------------------------- 0;�| Initialises a task. See page 1173 of RiscOs Manual. ::�| -------------------------------------------------- D�| N$ �Internal_SetEventVariables X�| b0 � � �Internal_Error( task%,TaskName$):� l�| v $block%="TASK" � � �D ș "Wimp_Initialise",200,!block%,TaskName$ � version%,task% � ��| � =TaskName$ ��| ��| �) � �Internal_SetEventVariables ��| �6 � block% block_memory%,icons% icon_memory% �- icon_end%=icons%+icon_memory% ��| N null%=1 : draw%=2 : pointer_leaving%=1<<4 C pointer_entering%=1<<5 : mouse%=1<<6 : drag%=1<<7 F key%=1<<8 : menu%=1<<9 : scroll%=1<<10 Q lose_caret%=1<<11 : gain_caret%=1<<12 : message%=(1<<17)+(1<<18) *B recorder%=1<<18 : acknowledge%=1<<19: window%=0 4@ sprites%=0 : version%=0 : task%=0 >D Bar_Window%=-2 : Bar_Icon%=0 : Bar_Menu%=0 HG x_origin%=0 : y_origin%=0 : SaveWindow%=-3 RH message_quit%=0 : message_save%=2 : message_load%=3 \2 mouse_button%=2 : save_event%=0 f�| p � z�| ��| �/ � �Internal_Error( task%,TaskName$) � � X$,x% � � � � � x%=� �( X$=�$+"at line "+�(x% � 10) �� ErrorMsg% 36 �=ErrorMsg%!0 = 36 : � Length of message �GErrorMsg%!12 = 0 : � This is an original message �GErrorMsg%!16 = &81080 : � Message number to set caret �@ErrorMsg%!20 = x% : � Line to put caret on �@$(ErrorMsg%+24) = "!RunImage " : � File to put caret on �&ș "Wimp_SendMessage",17,ErrorMsg% % �Wimp_Alert(TaskName$,X$) �Wimp_CloseDown $ � .�| 8�| B � �Wimp_CloseDown L- ș "Wimp_CloseDown",task%,"TASK" V � `�| j�| t � �Wimp_Quit ~ finished%=� � � ��| ��| �8�| -------------------------------------- �8�| 2.�Wimp�polling�(Generation�of�Events) �8�| -------------------------------------- ��| ��| ��| ��| �5�| ------------------------------- ��| (�| Procedures : �| -�| PROCWimp_WaitForEvent 1�| PROCInternal_NonSaveEvent (.�| FNInternal_GetFileType 2�| <5�| ------------------------------- F: P � �Wimp_WaitForEvent Z finished%=� dL mask%=%111000011001 : � masking events 0,4,5,10,11,12 n � x/ ș "Wimp_Poll",mask%,block% � event% �/ Ȏ �Internal_Event(event%,block%) � �" �-1 : �Event_SaveFile � � 0 : �9 � 1 : ș "Wimp_RedrawWindow",,block% � more% �@ x_origin%=�Internal_WindowXOrigin(block%) �@ y_origin%=�Internal_WindowYOrigin(block%) � ȕ more% �8 ș "Wimp_BorderWindow",, block% �4 �Event_DrawWindow(block%!0) �? ș "Wimp_GetRectangle",,block% � more% � � �" � 2 : window%=!block% �/ �Wimp_WindowOpen(window%) " � 3 : window%=!block% 0 �Wimp_WindowClose(window%) � 4 : " � 5 : ,I � 6 : button%=block%!8 : window%=block%!12 : icon%=block%!16 6/ x%=block%!0 : y%=block%!4 @" Ȏ button% � J � 2 : T7 �Event_MenuPopUp(window%,x%,y%) ^ : h4 ș "Wimp_BorderIcon",,block% rF �Event_MouseClick(button%,window%,icon%,x%,y%) |H block%!8=0 : block%!12=window% : block%!16=icon% �4 ș "Wimp_BorderIcon",,block% � � �? � 7 : � Only drags allowed are from Save window!. �E � 8 : window%=block%!0 : icon%=block%!4 : key%=block%!24 �9 �Event_KeyPress(window%,icon%,key%) �+ � 9 : �Event_MenuChoice(menu%) � � 10: � � 11: � � 12: � �(�| Events 13,14,15,16 Not used � � � 17,18 : $ message%=block%!16 Ȏ message% � 1 � message_quit% : finished%=� &; � message_load% : �Event_LoadFile( ) 0 � : � 19 : D N< �Wimp_Alert(TaskName$,�$+"at line "+�(� � 10),2) X � b � finished% l � v: ��| �) � �Internal_Event(event%,block%) � Ȏ event% � � � 0 � � � =event% ��| �5�| ------------------------------- �*�| 3.�Windows �5�| ------------------------------- ��| ��| ��| )�| ------------------------------ +REN| 3.1 Window opening and closing )�| ------------------------------ �| *�| 4�| >5�| ------------------------------- H�| R(�| Procedures : \�| f2�| FNWimp_WindowLoad(window$) pC�| FNWimp_WindowLoadFromTemplate(w$,template$) z4�| PROCWimp_WindowOpen(window%) �:�| PROCWimp_WindowBringToTop(window%) �5�| PROCWimp_WindowClose(window%) ��| �5�| ------------------------------- ��| ��| ��| ��| �& � �Wimp_WindowLoad( window$) �F =�Wimp_WindowLoadFromTemplate(window$,"<Obey$Dir>.Templates") ��| �6 � �Wimp_WindowLoadFromTemplate(w$,template$) � � c% , ș "Wimp_OpenTemplate",,template$ M ș "Wimp_LoadTemplate",,block%,icons%,icon_end%,-1,w$,0 � ,,icons% - � sprites%<>0 � block%!64=sprites% $. ș "Wimp_CreateWindow",,block% � c% ." ș "Wimp_CloseTemplate" 8 =c% B�| L% � �Wimp_WindowOpen(window%) V !block%=window% `+ ș "Wimp_GetWindowState",,block% j' ș "Wimp_OpenWindow",,block% t � ~�| �+ � �Wimp_WindowBringToTop(window%) � !block%=window% �+ ș "Wimp_GetWindowState",,block% � block%!28=-1 �' ș "Wimp_OpenWindow",,block% � � ��| �' � �Wimp_WindowClose(window%) � !block%=window% �( ș "Wimp_CloseWindow",,block% � � ��| �| �| �| �| ------------------ (�| 3.2�Window�drawing 2�| ------------------ <�| F�| P5�| ------------------------------- Z�| d(�| Procedures : n�| x9�| PROCWimp_WindowForceDraw(window%) �<�| DEF FNInternal_WindowXOrigin(block%) �<�| DEF FNInternal_WindowYOrigin(block%) �6�| FNWimp_GetWindowTitle(window%) �+�| PROCWimp_Draw(x,y) �+�| PROCWimp_Move(x,y) �1�| PROCWimp_Line(x,y,x1,y1) ��| �5�| ------------------------------- ��| ��| ��| �& � �Internal_WindowDraw � � more% 7 ș "Wimp_RedrawWindow",,block% � more% : x_origin%=�Internal_WindowXOrigin(block%) : y_origin%=�Internal_WindowYOrigin(block%) " ȕ more% ,- �Event_DrawWindow(block%!0) 68 ș "Wimp_GetRectangle",,block% � more% @ � J � T�| ^0 � �Wimp_WindowForceDraw(window%) h Ȏ window% � rD � -1 : ș "Wimp_ForceRedraw",-1,0,0,2*1280,2*1024 |E : ș "Wimp_ForceRedraw",window%,0,-2*1024,2*1280,0 � � � � ��| �D � �Internal_WindowXOrigin(block%)=block%!4-block%!20 ��| �E � �Internal_WindowYOrigin(block%)=block%!16-block%!24 ��| �/ � �Wimp_GetWindowTitle(window%) �! block%!0=window% �. ș "Wimp_GetWindInfo",,block% �D � ((block%!60)�&100)=0 � 1,"Title isn't indirected" � =$(block%!76) ��| ! � �Wimp_Draw(x,y) * � x-x_origin%,y-y_origin% � &�| 0! � �Wimp_Move(x,y) :* � x+x_origin%,y_origin%+y D � N�| X' � �Wimp_Line(x,y,x1,y1) bD � x+x_origin%,y+y_origin%,x1+x_origin%,y1+y_origin% l � v�| ��| ��| ��| ��| ��| ��| �1�| ------------------------- �(�| 4.�Icons �1�| ------------------------- ��| ��| �5�| ------------------------------- ��| (�| Procedures : �| )�| FNWimp_PutIconOnBar(Sprite$) ��| FNWimp_IconCreate(window%,ix%,iy%,iw%,ih%,flag%,text$,d1%,d2%,d3%)REM| FNWimp_GetValidationString(window%,icon%) *2�| FNWimp_GetTextFromIcon(window%,icon%) 48�| PROCWimp_PutTextInIcon(window%,icon%,text$) >/�| PROCWimp_EnableIcon(window%,icon%) H0�| PROCWimp_DisableIcon(window%,icon%) RN�| PROCWimp_PlotIcon(block%,ix%,iy%,iw%,ih%,flag%,text$,d1%,d2%,d3%) \!�| PROCWimp_SpritesLoad f0�| PROCWimp_SpritesPathLoad(pathname$) p�| z5�| ------------------------------- ��| �' � �Wimp_PutIconOnBar(Sprite$) �< =�Wimp_IconCreate(-1,0,0,68,68,&3002,Sprite$,0,0,0) ��| �M � �Wimp_IconCreate(window%,ix%,iy%,iw%,ih%,flag%,text$,d1%,d2%,d3%) � block%!0=window% �+ block%!4=ix% : block%!8=iy% �0 block%!12=ix%+iw% : block%!16=iy%+ih% � block%!20=flag% � � d1%=0 � � $(block%+24)=text$ � � �9 block%!24=d1% : block%!28=d2% : block%!32=d3% � / ș "Wimp_CreateIcon",,block% � icon% =icon% $�| .4 � �Wimp_PutTextInIcon(window%,icon%,text$) 8, block%!0=window% : block%!4=icon% B) ș "Wimp_GetIconState",,block% L? � ((block%!24) � &100)=0 � 1,"Icon isn't indirected" V $(block%!28)=text$ `, block%!0=window% : block%!4=icon% j# block%!8=0 : block%!12=0 t) ș "Wimp_SetIconState",,block% ~ � ��| �0 � �Wimp_GetTextFromIcon(window%,icon%) �, block%!0=window% : block%!4=icon% �) ș "Wimp_GetIconState",,block% �? � ((block%!24) � &100)=0 � 1,"Icon isn't indirected" � =$(block%!28) ��| �4 � �Wimp_GetValidationString(window%,icon%) �, block%!0=window% : block%!4=icon% �) ș "Wimp_GetIconState",,block% �? � ((block%!24) � &100)=0 � 1,"Icon isn't indirected" � =$(block%!32) �| + � �Wimp_EnableIcon(window%,icon%) , block%!0=window% : block%!4=icon% - block%!8=0 : block%!12=1<<22 () ș "Wimp_SetIconState",,block% 2 � <�| F, � �Wimp_DisableIcon(window%,icon%) P, block%!0=window% : block%!4=icon% Z- block%!8=1<<22 : block%!12=1<<22 d) ș "Wimp_SetIconState",,block% n � x�| �J � �Wimp_PlotIcon(block%,ix%,iy%,iw%,ih%,flag%,text$,d1%,d2%,d3%) �+ block%!0=ix% : block%!4=iy% �/ block%!8=ix%+iw% : block%!12=iy%+ih% � block%!16=flag% � � d1%=0 � � $(block%+24)=text$ � � �9 block%!24=d1% : block%!28=d2% : block%!32=d3% � � �% ș "Wimp_PlotIcon",,block% � � ��| � � �Wimp_SpritesLoad 7 �Wimp_SpritesPathLoad("<Obey$Dir>.Sprites") � �| "- � �Wimp_SpritesPathLoad(pathname$) , � S%,T% 64 S%=�"<Obey$Dir>.Sprites":T%=�#S%+16:�#S% @% � sprites% T%, spname% 12 J% !sprites%=T%:sprites%!8=0 T* ș "OS_SpriteOp",&109,sprites% ^4 ș "OS_SpriteOp",&10A,sprites%,pathname$ h � r�| |�| ��| ��| ��| �1�| ------------------------- �(�| 5.�Menus �1�| ------------------------- ��| ��| �5�| ------------------------------- ��| �(�| Procedures : ��| �-�| FNWimp_MenuCreate(menu$) 2�| FNWimp_MenuBuild(menu%,menu$) .�| FNWimp_MenuChoice(level%) 1�| PROCWimp_MenuPopUpBar(x%,y%) &4�| PROCWimp_MenuPopUp(Menu%,x%,y%) 06�| FNInternal_MenuNoOfEntries(menu$) :'�| PROCWimp_MenuClose D;�| PROCWimp_MenuGlue(menu1%,item%,menu2%) N6�| PROCWimp_MenuMessage(menu%,item%) X3�| PROCWimp_MenuTick(menu%,item%) b9�| PROCWimp_MenuDottedLine(menu%,item%) lG�| PROCWimp_MenuForeGroundColour(menu%,item%,colour%) vG�| PROCWimp_MenuBackGroundColour(menu%,item%,colour%) �5�| PROCWimp_MenuCentre(menu%,item%) �6�| PROCWimp_MenuDisable(menu%,item%) �5�| PROCWimp_MenuEnable(menu%,item%) �O�| PROCWimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%) �5�| PROCWimp_MenuTitle(menu%,title$) �9�| PROCWimp_MenuItem(menu%,item%,item$) �-�| FNWimp_CreateColoursMenu �5�| FNWimp_CreateColoursMenu(title$) ��| �5�| ------------------------------- ��| ��| ��| �| , � �Wimp_MenuCreate(menu$) � menu% B � menu% 28+�Internal_MenuNoOfEntries(menu$)*24 *. =�Wimp_MenuBuild(menu%,menu$) 4�| >< � �Internal_MenuNoOfEntries(menu$) H1 � n% ,j% : n%=0 : j%=0 R � \/ j%=�menu$,"\",j%+1) f+ � j%<>0 � n%+=1 p! � j%=0 z =n% ��| �1 � �Wimp_MenuBuild(menu%,menu$) �- � ypos%,width%,length%,k% �G menu%?12=7 : menu%?13=2 : menu%?14=7 :menu%?15=0 �; menu%!16=140 : menu%!20=44 : menu%!24=0 �! ptr%=menu%+28 �0 $menu%=�menu$,�menu$,"\")-1) �3 width%=�(�menu$,�menu$,"\")-1)) �4 menu$+="\" : Menu_NoOfEntries%=0 � ȕ menu$<>"" �0 menu$=�menu$,�menu$,"\")+1) �" � menu$<>"" � �; !ptr%=0 : ptr%!4=-1 : ptr%!8=&7000021 + length%=�menu$,"\")-1 . k%=��menu$,length%),">") � k%<>0 � $4 s%=�(�menu$,k%+1,length%-k%)) . ptr%!4=s% 8# length%=k%-1 B � L0 $(ptr%+12)=�menu$,length%) V7 � length%>width% � width%=length% ` ptr%+=24 j* Menu_NoOfEntries%+=1 t � ~ � �* menu%!16=16*(width%+1) �< ptr%!-24=ptr%!-24 � &80 : �|...Last item � =menu% ��| �" � �Wimp_MenuClose �) ș "Wimp_CreateMenu",-1 � � ��| �A � �Wimp_MenuChoice(level%)=(block%!(4*level%))+1 ��| �, � �Wimp_MenuPopUpBar(x%,y%) � � n% : n%=0 9 ȕ ((Bar_Menu%!(28+n%*24))�%10000000)=0 n%+=1 � @ ș "Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44 (! menu%=Bar_Menu% 2 � < F�| P/ � �Wimp_MenuPopUp(Menu%,x%,y%) Z menu%=Menu% d9 ș "Wimp_CreateMenu",,menu%,x%-64,y%+20 n � x�| �6 � �Wimp_MenuGlue(menu1%,item%,menu2%) �, menu1%!(8+item%*24)=menu2% � � �1 � �Wimp_MenuMessage(menu%,item%) �J menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�(1<<3) � � ��| �. � �Wimp_MenuTick(menu%,item%) �E menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�1 � � ��| �4 � �Wimp_MenuDottedLine(menu%,item%) �E menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�2 � �| > � �Wimp_MenuForeGroundColour(menu%,item%,colour%) "O menu%?(39+(item%-1)*24)=colour%+16*((menu%?(39+(item%-1)*24))�16) , � 6�| @> � �Wimp_MenuBackGroundColour(menu%,item%,colour%) J � fore%,i% T1 fore%=(menu%?(39+(item%-1)*24))�16 ^3 i%=((menu%?(39+(item%-1)*24))�16)�16 h: menu%?(39+(item%-1)*24)=fore%+16*colour%+i% r � |�| �0 � �Wimp_MenuCentre(menu%,item%) �H menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<3) � � ��| �0 � �Wimp_MenuDisable(menu%,item%) �H menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<22) � � ��| �/ � �Wimp_MenuEnable(menu%,item%) �/ �Wimp_MenuDisable(menu%,item%) �H menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<22) � � ��| I � �Wimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%) D menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�4 E menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�&100 &0 menu%!(40+(item%-1)*24)=buffer% 0- menu%!(44+(item%-1)*24)=val% :6 menu%!(48+(item%-1)*24)=BufferLength% D � N�| X/ � �Wimp_MenuTitle(menu%,title$) b& $menu%=�title$,12)+�0 l � v�| �3 � �Wimp_MenuItem(menu%,item%,item$) �9 $(menu%+(40+(item%-1)*24))=�item$,12)+�0 � � ��| �J � �Wimp_CreateColoursMenu =�Wimp_CreateColoursMenu(" ") ��| �1 � �Wimp_CreateColoursMenu(title$) � � x$,men%,j% �C x$=title$+"\0\1\2\3\4\5\6\7\8\9\10\11\12\13\14\15" �* men%=�Wimp_MenuCreate(x$) � � i%=0 � 15 � Ȏ � � �7 � i%<4,i%=9,i%=12,i%=14,i%=15 : j%=7 2 : j%=0 � * men%?(39+i%*24)=i%*16+j% - �Wimp_MenuCentre(men%,i%+1) * � 4 =men% >�| H�| R�| \�| f1�| ------------------------- p(�| 6.�Files z1�| ------------------------- ��| ��| �5�| ------------------------------- ��| �(�| Procedures : ��| �,�| FNUtils_FileType(type%) �+�| FNWimp_GetFilePathName �0�| FNUtils_FileLoad(pathname$) �5�| FNUtils_GetStringAtAddress(ptr%) �4�| FNUtils_GetFileFromPathname(f$) ��| ��| 5�| ------------------------------- �| �| $�| .�| 8% � �Utils_FileType(type%) B Ȏ type% � L � &FFF :="Text" V � &FFD :="Data" ` � &FFB :="Basic" j � &FF9 :="Sprite" t! � &FED :="Palette" ~" � &FEC :="Template" � � &AFF :="Draw" � � &1000:="Folder" �% � &2000:="Application" � =�~(type%) � � ��| �J � �Wimp_GetFilePathName =�Utils_GetStringAtAddress(block%+44) �� �) � �Utils_FileLoad(pathname$) � � S%,T%,file% � S%=� pathname$ � T%=�#S%+16 �#S% � file% T% - �("LOAD "+pathname$+" "+�~file%) =file% (�| 2. � �Utils_GetStringAtAddress(ptr%) < � s$ : s$="" FB ȕ (?ptr%<>13)�(?ptr%<>0) : s$+=�(?ptr%): ptr%+=1 :�: P =s$ Z�| d- � �Utils_GetFileFromPathname(f$) n � �f$,".")=0 � x =f$ � � �@ =�Utils_GetStringFromPathname(�f$,�(f$)-�f$,"."))) � � ��| ��| ��| ��| ��| ��| ��| ��| ��| ��| 1�| ------------------------- *�| 7.�Sprites 1�| ------------------------- "�| ,�| 65�| ------------------------------- @�| J(�| Procedures : T�| ^�| h�| r�| |�| ��| ��| ��| �5�| ------------------------------- ��| ��| ��| ��| ��| ��| ��| �1�| ------------------------- �'�| 8.�Saves 1�| ------------------------- �| �| &5�| ------------------------------- 0�| :(�| Procedures : D�| N/�| PROCInternal_SaveEvent X.�| PROCInternal_SaveFile b2�| PROCWimp_DragBox(window%) l1�| PROCInternal_SaveMessage v-�| FNInternal_SaveEvent ��| ��| �5�| ------------------------------- ��| ��| ��| ��| � � �Save_Event � Ȏ block%!0 � �0 � Save_Window% : �Internal_SaveFile � : � Ȏ block%!16 � � � 0 : > � block%!8 � &50 � �Wimp_DragBox(Save_Window%) � 2 : 3 � block%!8 � 5 � �Internal_SaveFile � * � 4 � >�| H � �Internal_SaveFile R � x$ \+ x$=�Icon_GetText(Save_Window%,1) f Ȏ �x$,".") � p � 0 : zL �AlertBox(Task$,"To save, drag the icon to a directory window") � : � �Event_SaveFile(x$) � � �" ș "Wimp_CreateMenu",-1 � � ��| �! � �Wimp_DragBox(window%) � � x%,y% � !block%=window% �) ș "Wimp_GetWindowState",,block% �8 x%=block%!4-block%!20 : y%=block%!16-block%!24 � block%!4=0 �' ș "Wimp_GetIconState",,block% !block%=window% block%!4=5 : block%!8=x%+block%!8 : block%!12=y%+block%!12 $: block%!16=x%+block%!16 : block%!20=y%+block%!20 .! block%!24=0:block%!28=0 84 block%!32=&7FFFFFFF : block%!36=&7FFFFFFF B# ș "Wimp_DragBox",,block% L � V�| ` � �Internal_SaveMessage j# � file$,window%,icon%,x%,y% t( ș "Wimp_GetPointerInfo",,block% ~I window%=block%!12 : icon%=block%!16 : x%=block%!0 : y%=block%!4 �5 file$=�GetLeaf(�Icon_GetText(Save_Window%,1)) � block%!20=window% � block%!24=icon% �# block%!28=x% : block%!32=y% � block%!36=length% � block%!0=64 � block%!12=0 � block%!16=1 � block%!40=&FFF � $(block%+44)=file$ �; ș "Wimp_SendMessage",17,block%,block%!20,block%!24 � � �| � �Internal_SaveEvent < =(block%!0=Save_Window%) � (block%!12=Save_Window%) �| (�| 2�| <�| F1�| ------------------------- P,�| 9.�Miscellaneous Z1�| ------------------------- d�| n�| x5�| ------------------------------- ��| �(�| Procedures : ��| �@�| PROCWimp_AlertBox(title$,message$,button% �8�| FNWimp_CancelBox(title$,message$) �9�| PROCWimp_ErrorBox(title$,message$) �6�| PROCWimp_Alert(title$,message$) �6�| FNUtils_ReadVariable(variable$) ��| �5�| ------------------------------- ��| ��| ��| 6 � �Wimp_AlertBox(title$,message$,button%) � response% ! $(block%+4)=message$ " Ȏ button% � ,7 � 2 : response%=1 : �|...Error Box 6B � 1 : response%=15 : �|...OK and CANCEL butons @* � 3 : response%=(1<<5)+16 J* � 4 : response%=(1<<6)+16 T7 : response%=16 : �|...OK button only ^ � hF ș "Wimp_ReportError",block%,response%,title$ � ,response% r � |�| �. � �Wimp_CancelBox(title$,message$) � $(block%+4)=message$ � response%=23 �F ș "Wimp_ReportError",block%,response%,title$ � ,response% � =response%-2 ��| �- � �Wimp_ErrorBox(title$,message$) �- �Wimp_AlertBox(title$,message$,2) � � ��| �* � �Wimp_Alert(title$,message$) �- �Wimp_AlertBox(title$,message$,0) � � �| , � �Utils_ReadVariable(Variable$) % � len%,result%,variable% &+� DIM result% 255,variable% 100 0 $block%=Variable$ :A ș "OS_ReadVarVal",block%,block%+255,255,,3 � ,,len% D! block%?(len%+255)=13 N =$(block%+255) X: b+� �Icon_PutCaret(window%,icon%,length%) l9ș "Wimp_SetCaretPosition",window%,icon%,,,-1,length% v� �: �
00000000 0d 00 0a 45 f4 7c 20 20 20 20 20 20 20 20 20 20 |...E.| | 00000010 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ----------| 00000020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000030 2d 2d 2d 2d 2d 20 20 20 20 20 20 20 20 20 20 36 |----- 6| 00000040 2f 31 2f 39 32 0d 00 14 2f f4 7c 20 20 20 20 20 |/1/92.../.| | 00000050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 49 | WI| 00000060 4d 50 20 50 52 4f 43 45 44 55 52 45 20 4c 49 42 |MP PROCEDURE LIB| 00000070 52 41 52 59 0d 00 1e 06 f4 7c 0d 00 28 2c f4 7c |RARY.....|..(,.|| 00000080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000090 20 20 20 20 20 49 6e 64 65 78 20 6f 66 20 43 6f | Index of Co| 000000a0 6e 74 65 6e 74 73 0d 00 32 06 f4 7c 0d 00 3c 35 |ntents..2..|..<5| 000000b0 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.| | 000000c0 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | --------------| 000000d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000000e0 2d 0d 00 46 06 f4 7c 0d 00 50 35 f4 7c 20 20 20 |-..F..|..P5.| | 000000f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000100 20 31 2e a0 57 69 6d 70 20 69 6e 69 74 69 61 6c | 1..Wimp initial| 00000110 69 73 65 a0 61 6e 64 a0 71 75 69 74 0d 00 5a 06 |ise.and.quit..Z.| 00000120 f4 7c 0d 00 64 40 f4 7c 20 20 20 20 20 20 20 20 |.|..d@.| | 00000130 20 20 20 20 20 20 20 20 20 20 20 20 32 2e a0 57 | 2..W| 00000140 69 6d 70 a0 70 6f 6c 6c 69 6e 67 a0 28 47 65 6e |imp.polling.(Gen| 00000150 65 72 61 74 69 6f 6e a0 6f 66 a0 45 76 65 6e 74 |eration.of.Event| 00000160 73 29 0d 00 6e 06 f4 7c 0d 00 78 24 f4 7c 20 20 |s)..n..|..x$.| | 00000170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000180 20 20 33 2e a0 57 69 6e 64 6f 77 73 0d 00 82 06 | 3..Windows....| 00000190 f4 7c 0d 00 8c 3b f4 7c 20 20 20 20 20 20 20 20 |.|...;.| | 000001a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33 | 3| 000001b0 2e 31 a0 57 69 6e 64 6f 77 a0 6f 70 65 6e 69 6e |.1.Window.openin| 000001c0 67 a0 61 6e 64 a0 63 6c 6f 73 69 6e 67 0d 00 96 |g.and.closing...| 000001d0 2f f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 |/.| | 000001e0 20 20 20 20 20 20 20 20 20 20 33 2e 32 a0 57 69 | 3.2.Wi| 000001f0 6e 64 6f 77 a0 64 72 61 77 69 6e 67 0d 00 a0 06 |ndow.drawing....| 00000200 f4 7c 0d 00 aa 22 f4 7c 20 20 20 20 20 20 20 20 |.|...".| | 00000210 20 20 20 20 20 20 20 20 20 20 20 20 34 2e a0 49 | 4..I| 00000220 63 6f 6e 73 0d 00 b4 06 f4 7c 0d 00 be 22 f4 7c |cons.....|...".|| 00000230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000240 20 20 20 20 35 2e a0 4d 65 6e 75 73 0d 00 c8 06 | 5..Menus....| 00000250 f4 7c 0d 00 d2 22 f4 7c 20 20 20 20 20 20 20 20 |.|...".| | 00000260 20 20 20 20 20 20 20 20 20 20 20 20 36 2e a0 46 | 6..F| 00000270 69 6c 65 73 0d 00 dc 06 f4 7c 0d 00 e6 24 f4 7c |iles.....|...$.|| 00000280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000290 20 20 20 20 37 2e a0 53 70 72 69 74 65 73 0d 00 | 7..Sprites..| 000002a0 f0 06 f4 7c 0d 00 fa 22 f4 7c 20 20 20 20 20 20 |...|...".| | 000002b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 38 2e | 8.| 000002c0 a0 53 61 76 65 73 0d 01 04 06 f4 7c 0d 01 0e 2a |.Saves.....|...*| 000002d0 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.| | 000002e0 20 20 20 20 20 20 39 2e a0 4d 69 73 63 65 6c 6c | 9..Miscell| 000002f0 61 6e 65 6f 75 73 0d 01 18 06 f4 7c 0d 01 22 35 |aneous.....|.."5| 00000300 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.| | 00000310 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | --------------| 00000320 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000330 2d 0d 01 2c 06 f4 7c 0d 01 36 06 f4 7c 0d 01 40 |-..,..|..6..|..@| 00000340 06 f4 7c 0d 01 4a 06 f4 7c 0d 01 54 35 f4 7c 20 |..|..J..|..T5.| | 00000350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d | -| 00000360 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000370 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 01 |--------------..| 00000380 5e 33 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |^3.| | 00000390 20 20 20 20 20 20 31 2e a0 57 69 6d 70 a0 69 6e | 1..Wimp.in| 000003a0 69 74 69 61 6c 69 73 65 a0 61 6e 64 a0 71 75 69 |itialise.and.qui| 000003b0 74 0d 01 68 35 f4 7c 20 20 20 20 20 20 20 20 20 |t..h5.| | 000003c0 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d | ---------| 000003d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000003e0 2d 2d 2d 2d 2d 2d 0d 01 72 06 f4 7c 0d 01 7c 06 |------..r..|..|.| 000003f0 f4 7c 0d 01 86 35 f4 7c 20 20 20 20 20 20 20 20 |.|...5.| | 00000400 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d | --------| 00000410 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000420 2d 2d 2d 2d 2d 2d 2d 0d 01 90 06 f4 7c 0d 01 9a |-------.....|...| 00000430 28 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 |(.| | 00000440 20 20 20 20 20 20 20 20 20 50 72 6f 63 65 64 75 | Procedu| 00000450 72 65 73 20 3a 0d 01 a4 06 f4 7c 0d 01 ae 25 f4 |res :.....|...%.| 00000460 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 || | 00000470 20 20 20 46 4e 57 69 6d 70 5f 53 74 61 72 74 28 | FNWimp_Start(| 00000480 0d 01 b8 2a f4 7c 20 20 20 20 20 20 20 20 20 20 |...*.| | 00000490 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 | PROCWimp| 000004a0 5f 43 6c 6f 73 65 44 6f 77 6e 0d 01 c2 25 f4 7c |_CloseDown...%.|| 000004b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000004c0 20 20 50 52 4f 43 57 69 6d 70 5f 51 75 69 74 0d | PROCWimp_Quit.| 000004d0 01 cc 36 f4 7c 20 20 20 20 20 20 20 20 20 20 20 |..6.| | 000004e0 20 20 20 20 20 20 20 50 52 4f 43 49 6e 74 65 72 | PROCInter| 000004f0 6e 61 6c 5f 53 65 74 45 76 65 6e 74 56 61 72 69 |nal_SetEventVari| 00000500 61 62 6c 65 73 0d 01 d6 2b f4 7c 20 20 20 20 20 |ables...+.| | 00000510 20 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4f | PRO| 00000520 43 49 6e 74 65 72 6e 61 6c 5f 45 72 72 6f 72 28 |CInternal_Error(| 00000530 0d 01 e0 06 f4 7c 0d 01 ea 35 f4 7c 20 20 20 20 |.....|...5.| | 00000540 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 2d 2d | ----| 00000550 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000560 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 01 f4 06 f4 |-----------.....| 00000570 7c 0d 01 fe 06 f4 7c 0d 02 08 06 f4 7c 0d 02 12 ||.....|.....|...| 00000580 22 20 20 20 20 20 dd 20 a4 57 69 6d 70 5f 53 74 |" . .Wimp_St| 00000590 61 72 74 28 20 54 61 73 6b 4e 61 6d 65 24 29 0d |art( TaskName$).| 000005a0 02 1c 06 f4 7c 0d 02 26 3a f4 7c 20 20 2d 2d 2d |....|..&:.| ---| 000005b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000005d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d |---------------.| 000005e0 02 30 3b f4 7c 20 20 49 6e 69 74 69 61 6c 69 73 |.0;.| Initialis| 000005f0 65 73 20 61 20 74 61 73 6b 2e 20 53 65 65 20 70 |es a task. See p| 00000600 61 67 65 20 31 31 37 33 20 6f 66 20 52 69 73 63 |age 1173 of Risc| 00000610 4f 73 20 4d 61 6e 75 61 6c 2e 0d 02 3a 3a f4 7c |Os Manual...::.|| 00000620 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | --------------| 00000630 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000650 2d 2d 2d 2d 0d 02 44 06 f4 7c 0d 02 4e 24 20 20 |----..D..|..N$ | 00000660 20 20 20 f2 49 6e 74 65 72 6e 61 6c 5f 53 65 74 | .Internal_Set| 00000670 45 76 65 6e 74 56 61 72 69 61 62 6c 65 73 0d 02 |EventVariables..| 00000680 58 06 f4 7c 0d 02 62 30 20 20 20 20 20 ee 20 85 |X..|..b0 . .| 00000690 20 f2 49 6e 74 65 72 6e 61 6c 5f 45 72 72 6f 72 | .Internal_Error| 000006a0 28 20 74 61 73 6b 25 2c 54 61 73 6b 4e 61 6d 65 |( task%,TaskName| 000006b0 24 29 3a e0 0d 02 6c 06 f4 7c 0d 02 76 17 20 20 |$):...l..|..v. | 000006c0 20 20 20 24 62 6c 6f 63 6b 25 3d 22 54 41 53 4b | $block%="TASK| 000006d0 22 0d 02 80 05 20 0d 02 8a 05 20 0d 02 94 44 20 |".... .... ...D | 000006e0 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 49 6e 69 | .. "Wimp_Ini| 000006f0 74 69 61 6c 69 73 65 22 2c 32 30 30 2c 21 62 6c |tialise",200,!bl| 00000700 6f 63 6b 25 2c 54 61 73 6b 4e 61 6d 65 24 20 b8 |ock%,TaskName$ .| 00000710 20 76 65 72 73 69 6f 6e 25 2c 74 61 73 6b 25 0d | version%,task%.| 00000720 02 9e 04 0d 02 a8 06 f4 7c 0d 02 b2 12 20 20 20 |........|.... | 00000730 20 3d 54 61 73 6b 4e 61 6d 65 24 0d 02 bc 06 f4 | =TaskName$.....| 00000740 7c 0d 02 c6 06 f4 7c 0d 02 d0 29 20 20 20 20 20 ||.....|...) | 00000750 20 20 20 dd 20 f2 49 6e 74 65 72 6e 61 6c 5f 53 | . .Internal_S| 00000760 65 74 45 76 65 6e 74 56 61 72 69 61 62 6c 65 73 |etEventVariables| 00000770 0d 02 da 06 f4 7c 0d 02 e4 36 20 20 20 20 20 20 |.....|...6 | 00000780 20 20 de 20 62 6c 6f 63 6b 25 20 62 6c 6f 63 6b | . block% block| 00000790 5f 6d 65 6d 6f 72 79 25 2c 69 63 6f 6e 73 25 20 |_memory%,icons% | 000007a0 69 63 6f 6e 5f 6d 65 6d 6f 72 79 25 0d 02 ee 2d |icon_memory%...-| 000007b0 20 20 20 20 20 20 20 20 20 20 20 20 69 63 6f 6e | icon| 000007c0 5f 65 6e 64 25 3d 69 63 6f 6e 73 25 2b 69 63 6f |_end%=icons%+ico| 000007d0 6e 5f 6d 65 6d 6f 72 79 25 0d 02 f8 06 f4 7c 0d |n_memory%.....|.| 000007e0 03 02 4e 20 20 20 20 20 20 20 20 6e 75 6c 6c 25 |..N null%| 000007f0 3d 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |=1 | 00000800 20 20 3a 20 64 72 61 77 25 3d 32 20 20 20 20 20 | : draw%=2 | 00000810 20 20 20 20 20 20 3a 20 70 6f 69 6e 74 65 72 5f | : pointer_| 00000820 6c 65 61 76 69 6e 67 25 3d 31 3c 3c 34 0d 03 0c |leaving%=1<<4...| 00000830 43 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 |C pointer| 00000840 5f 65 6e 74 65 72 69 6e 67 25 3d 31 3c 3c 35 20 |_entering%=1<<5 | 00000850 3a 20 6d 6f 75 73 65 25 3d 31 3c 3c 36 20 20 20 |: mouse%=1<<6 | 00000860 20 20 20 20 3a 20 64 72 61 67 25 3d 31 3c 3c 37 | : drag%=1<<7| 00000870 0d 03 16 46 20 20 20 20 20 20 20 20 6b 65 79 25 |...F key%| 00000880 3d 31 3c 3c 38 20 20 20 20 20 20 20 20 20 20 20 |=1<<8 | 00000890 20 20 20 3a 20 6d 65 6e 75 25 3d 31 3c 3c 39 20 | : menu%=1<<9 | 000008a0 20 20 20 20 20 20 20 3a 20 73 63 72 6f 6c 6c 25 | : scroll%| 000008b0 3d 31 3c 3c 31 30 0d 03 20 51 20 20 20 20 20 20 |=1<<10.. Q | 000008c0 20 20 6c 6f 73 65 5f 63 61 72 65 74 25 3d 31 3c | lose_caret%=1<| 000008d0 3c 31 31 20 20 20 20 20 20 3a 20 67 61 69 6e 5f |<11 : gain_| 000008e0 63 61 72 65 74 25 3d 31 3c 3c 31 32 20 3a 20 6d |caret%=1<<12 : m| 000008f0 65 73 73 61 67 65 25 3d 28 31 3c 3c 31 37 29 2b |essage%=(1<<17)+| 00000900 28 31 3c 3c 31 38 29 0d 03 2a 42 20 20 20 20 20 |(1<<18)..*B | 00000910 20 20 20 72 65 63 6f 72 64 65 72 25 3d 31 3c 3c | recorder%=1<<| 00000920 31 38 20 20 20 20 20 20 20 20 3a 20 61 63 6b 6e |18 : ackn| 00000930 6f 77 6c 65 64 67 65 25 3d 31 3c 3c 31 39 3a 20 |owledge%=1<<19: | 00000940 77 69 6e 64 6f 77 25 3d 30 0d 03 34 40 20 20 20 |window%=0..4@ | 00000950 20 20 20 20 20 73 70 72 69 74 65 73 25 3d 30 20 | sprites%=0 | 00000960 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 76 65 | : ve| 00000970 72 73 69 6f 6e 25 3d 30 20 20 20 20 20 20 20 20 |rsion%=0 | 00000980 3a 20 74 61 73 6b 25 3d 30 0d 03 3e 44 20 20 20 |: task%=0..>D | 00000990 20 20 20 20 20 42 61 72 5f 57 69 6e 64 6f 77 25 | Bar_Window%| 000009a0 3d 2d 32 20 20 20 20 20 20 20 20 20 3a 20 42 61 |=-2 : Ba| 000009b0 72 5f 49 63 6f 6e 25 3d 30 20 20 20 20 20 20 20 |r_Icon%=0 | 000009c0 3a 20 42 61 72 5f 4d 65 6e 75 25 3d 30 0d 03 48 |: Bar_Menu%=0..H| 000009d0 47 20 20 20 20 20 20 20 20 78 5f 6f 72 69 67 69 |G x_origi| 000009e0 6e 25 3d 30 20 20 20 20 20 20 20 20 20 20 20 20 |n%=0 | 000009f0 3a 20 79 5f 6f 72 69 67 69 6e 25 3d 30 20 20 20 |: y_origin%=0 | 00000a00 20 20 20 20 3a 20 53 61 76 65 57 69 6e 64 6f 77 | : SaveWindow| 00000a10 25 3d 2d 33 0d 03 52 48 20 20 20 20 20 20 20 20 |%=-3..RH | 00000a20 6d 65 73 73 61 67 65 5f 71 75 69 74 25 3d 30 20 |message_quit%=0 | 00000a30 20 20 20 20 20 20 20 3a 20 6d 65 73 73 61 67 65 | : message| 00000a40 5f 73 61 76 65 25 3d 32 20 20 20 3a 20 6d 65 73 |_save%=2 : mes| 00000a50 73 61 67 65 5f 6c 6f 61 64 25 3d 33 0d 03 5c 32 |sage_load%=3..\2| 00000a60 20 20 20 20 20 20 20 20 6d 6f 75 73 65 5f 62 75 | mouse_bu| 00000a70 74 74 6f 6e 25 3d 32 20 20 20 20 20 20 20 20 3a |tton%=2 :| 00000a80 20 73 61 76 65 5f 65 76 65 6e 74 25 3d 30 0d 03 | save_event%=0..| 00000a90 66 06 f4 7c 0d 03 70 0d 20 20 20 20 20 20 20 20 |f..|..p. | 00000aa0 e1 0d 03 7a 06 f4 7c 0d 03 84 06 f4 7c 0d 03 8e |...z..|.....|...| 00000ab0 2f 20 20 20 20 20 20 20 20 dd 20 f2 49 6e 74 65 |/ . .Inte| 00000ac0 72 6e 61 6c 5f 45 72 72 6f 72 28 20 74 61 73 6b |rnal_Error( task| 00000ad0 25 2c 54 61 73 6b 4e 61 6d 65 24 29 0d 03 98 13 |%,TaskName$)....| 00000ae0 20 20 20 20 20 20 20 20 ea 20 58 24 2c 78 25 0d | . X$,x%.| 00000af0 03 a2 11 20 20 20 20 20 20 20 20 ee 20 85 20 87 |... . . .| 00000b00 0d 03 ac 11 20 20 20 20 20 20 20 20 20 78 25 3d |.... x%=| 00000b10 9e 0d 03 b6 28 20 20 20 20 20 20 20 20 20 58 24 |....( X$| 00000b20 3d f6 24 2b 22 61 74 20 6c 69 6e 65 20 22 2b c3 |=.$+"at line "+.| 00000b30 28 78 25 20 81 20 31 30 29 0d 03 c0 12 de 20 45 |(x% . 10)..... E| 00000b40 72 72 6f 72 4d 73 67 25 20 33 36 0d 03 ca 3d 45 |rrorMsg% 36...=E| 00000b50 72 72 6f 72 4d 73 67 25 21 30 20 20 20 20 20 3d |rrorMsg%!0 =| 00000b60 20 33 36 20 20 20 20 20 20 20 20 20 20 20 20 20 | 36 | 00000b70 20 20 20 3a 20 f4 20 4c 65 6e 67 74 68 20 6f 66 | : . Length of| 00000b80 20 6d 65 73 73 61 67 65 0d 03 d4 47 45 72 72 6f | message...GErro| 00000b90 72 4d 73 67 25 21 31 32 20 20 20 20 3d 20 30 20 |rMsg%!12 = 0 | 00000ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000bb0 3a 20 f4 20 54 68 69 73 20 69 73 20 61 6e 20 6f |: . This is an o| 00000bc0 72 69 67 69 6e 61 6c 20 6d 65 73 73 61 67 65 0d |riginal message.| 00000bd0 03 de 47 45 72 72 6f 72 4d 73 67 25 21 31 36 20 |..GErrorMsg%!16 | 00000be0 20 20 20 3d 20 26 38 31 30 38 30 20 20 20 20 20 | = &81080 | 00000bf0 20 20 20 20 20 20 20 3a 20 f4 20 4d 65 73 73 61 | : . Messa| 00000c00 67 65 20 6e 75 6d 62 65 72 20 74 6f 20 73 65 74 |ge number to set| 00000c10 20 63 61 72 65 74 0d 03 e8 40 45 72 72 6f 72 4d | caret...@ErrorM| 00000c20 73 67 25 21 32 30 20 20 20 20 3d 20 78 25 20 20 |sg%!20 = x% | 00000c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 | : | 00000c40 f4 20 4c 69 6e 65 20 74 6f 20 70 75 74 20 63 61 |. Line to put ca| 00000c50 72 65 74 20 6f 6e 0d 03 f2 40 24 28 45 72 72 6f |ret on...@$(Erro| 00000c60 72 4d 73 67 25 2b 32 34 29 20 3d 20 22 21 52 75 |rMsg%+24) = "!Ru| 00000c70 6e 49 6d 61 67 65 20 20 20 22 20 20 20 20 3a 20 |nImage " : | 00000c80 f4 20 46 69 6c 65 20 74 6f 20 70 75 74 20 63 61 |. File to put ca| 00000c90 72 65 74 20 6f 6e 0d 03 fc 26 c8 99 20 22 57 69 |ret on...&.. "Wi| 00000ca0 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 22 2c |mp_SendMessage",| 00000cb0 31 37 2c 45 72 72 6f 72 4d 73 67 25 0d 04 06 04 |17,ErrorMsg%....| 00000cc0 0d 04 10 25 20 20 20 20 20 20 20 20 f2 57 69 6d |...% .Wim| 00000cd0 70 5f 41 6c 65 72 74 28 54 61 73 6b 4e 61 6d 65 |p_Alert(TaskName| 00000ce0 24 2c 58 24 29 0d 04 1a 1b 20 20 20 20 20 20 20 |$,X$).... | 00000cf0 20 f2 57 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e | .Wimp_CloseDown| 00000d00 0d 04 24 0d 20 20 20 20 20 20 20 20 e1 0d 04 2e |..$. ....| 00000d10 06 f4 7c 0d 04 38 06 f4 7c 0d 04 42 1d 20 20 20 |..|..8..|..B. | 00000d20 20 20 20 20 20 dd 20 f2 57 69 6d 70 5f 43 6c 6f | . .Wimp_Clo| 00000d30 73 65 44 6f 77 6e 0d 04 4c 2d 20 20 20 20 20 20 |seDown..L- | 00000d40 20 20 20 c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 | .. "Wimp_Clos| 00000d50 65 44 6f 77 6e 22 2c 74 61 73 6b 25 2c 22 54 41 |eDown",task%,"TA| 00000d60 53 4b 22 0d 04 56 0d 20 20 20 20 20 20 20 20 e1 |SK"..V. .| 00000d70 0d 04 60 06 f4 7c 0d 04 6a 06 f4 7c 0d 04 74 18 |..`..|..j..|..t.| 00000d80 20 20 20 20 20 20 20 20 dd 20 f2 57 69 6d 70 5f | . .Wimp_| 00000d90 51 75 69 74 0d 04 7e 17 20 20 20 20 20 20 20 20 |Quit..~. | 00000da0 66 69 6e 69 73 68 65 64 25 3d b9 0d 04 88 0d 20 |finished%=..... | 00000db0 20 20 20 20 20 20 20 e1 0d 04 92 06 f4 7c 0d 04 | ......|..| 00000dc0 9c 06 f4 7c 0d 04 a6 38 f4 7c 20 20 20 20 20 20 |...|...8.| | 00000dd0 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ----------| 00000de0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000df0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 04 b0 38 |------------...8| 00000e00 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 32 2e |.| 2.| 00000e10 a0 57 69 6d 70 a0 70 6f 6c 6c 69 6e 67 a0 28 47 |.Wimp.polling.(G| 00000e20 65 6e 65 72 61 74 69 6f 6e a0 6f 66 a0 45 76 65 |eneration.of.Eve| 00000e30 6e 74 73 29 0d 04 ba 38 f4 7c 20 20 20 20 20 20 |nts)...8.| | 00000e40 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ----------| 00000e50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000e60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 04 c4 06 |------------....| 00000e70 f4 7c 0d 04 ce 06 f4 7c 0d 04 d8 06 f4 7c 0d 04 |.|.....|.....|..| 00000e80 e2 06 f4 7c 0d 04 ec 35 f4 7c 20 20 20 20 20 20 |...|...5.| | 00000e90 20 20 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d | ------| 00000ea0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000eb0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 04 f6 06 f4 7c 0d |---------.....|.| 00000ec0 05 00 28 f4 7c 20 20 20 20 20 20 20 20 20 20 20 |..(.| | 00000ed0 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 63 65 | Proce| 00000ee0 64 75 72 65 73 20 3a 0d 05 0a 06 f4 7c 0d 05 14 |dures :.....|...| 00000ef0 2d f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 |-.| | 00000f00 20 20 20 20 20 50 52 4f 43 57 69 6d 70 5f 57 61 | PROCWimp_Wa| 00000f10 69 74 46 6f 72 45 76 65 6e 74 0d 05 1e 31 f4 7c |itForEvent...1.|| 00000f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000f30 20 20 50 52 4f 43 49 6e 74 65 72 6e 61 6c 5f 4e | PROCInternal_N| 00000f40 6f 6e 53 61 76 65 45 76 65 6e 74 0d 05 28 2e f4 |onSaveEvent..(..| 00000f50 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 || | 00000f60 20 20 20 46 4e 49 6e 74 65 72 6e 61 6c 5f 47 65 | FNInternal_Ge| 00000f70 74 46 69 6c 65 54 79 70 65 0d 05 32 06 f4 7c 0d |tFileType..2..|.| 00000f80 05 3c 35 f4 7c 20 20 20 20 20 20 20 20 20 20 20 |.<5.| | 00000f90 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -----------| 00000fa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000fb0 2d 2d 2d 2d 0d 05 46 05 3a 0d 05 50 1e 20 20 20 |----..F.:..P. | 00000fc0 20 20 20 dd 20 f2 57 69 6d 70 5f 57 61 69 74 46 | . .Wimp_WaitF| 00000fd0 6f 72 45 76 65 6e 74 0d 05 5a 15 20 20 20 20 20 |orEvent..Z. | 00000fe0 20 66 69 6e 69 73 68 65 64 25 3d a3 0d 05 64 4c | finished%=...dL| 00000ff0 20 20 20 20 20 20 6d 61 73 6b 25 3d 25 31 31 31 | mask%=%111| 00001000 30 30 30 30 31 31 30 30 31 20 20 3a 20 f4 20 20 |000011001 : . | 00001010 20 20 20 20 20 20 20 20 20 20 20 6d 61 73 6b 69 | maski| 00001020 6e 67 20 65 76 65 6e 74 73 20 30 2c 34 2c 35 2c |ng events 0,4,5,| 00001030 31 30 2c 31 31 2c 31 32 0d 05 6e 0b 20 20 20 20 |10,11,12..n. | 00001040 20 20 f5 0d 05 78 2f 20 20 20 20 20 20 20 c8 99 | ...x/ ..| 00001050 20 22 57 69 6d 70 5f 50 6f 6c 6c 22 2c 6d 61 73 | "Wimp_Poll",mas| 00001060 6b 25 2c 62 6c 6f 63 6b 25 20 b8 20 65 76 65 6e |k%,block% . even| 00001070 74 25 0d 05 82 2f 20 20 20 20 20 20 20 c8 8e 20 |t%.../ .. | 00001080 a4 49 6e 74 65 72 6e 61 6c 5f 45 76 65 6e 74 28 |.Internal_Event(| 00001090 65 76 65 6e 74 25 2c 62 6c 6f 63 6b 25 29 20 20 |event%,block%) | 000010a0 ca 0d 05 8c 22 20 20 20 20 20 20 20 20 20 c9 2d |...." .-| 000010b0 31 20 3a 20 f2 45 76 65 6e 74 5f 53 61 76 65 46 |1 : .Event_SaveF| 000010c0 69 6c 65 0d 05 96 12 20 20 20 20 20 20 20 20 20 |ile.... | 000010d0 c9 20 30 20 3a 0d 05 a0 39 20 20 20 20 20 20 20 |. 0 :...9 | 000010e0 20 20 c9 20 31 20 3a 20 c8 99 20 22 57 69 6d 70 | . 1 : .. "Wimp| 000010f0 5f 52 65 64 72 61 77 57 69 6e 64 6f 77 22 2c 2c |_RedrawWindow",,| 00001100 62 6c 6f 63 6b 25 20 b8 20 6d 6f 72 65 25 0d 05 |block% . more%..| 00001110 aa 40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.@ | 00001120 20 20 20 20 20 78 5f 6f 72 69 67 69 6e 25 3d a4 | x_origin%=.| 00001130 49 6e 74 65 72 6e 61 6c 5f 57 69 6e 64 6f 77 58 |Internal_WindowX| 00001140 4f 72 69 67 69 6e 28 62 6c 6f 63 6b 25 29 0d 05 |Origin(block%)..| 00001150 b4 40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.@ | 00001160 20 20 20 20 20 79 5f 6f 72 69 67 69 6e 25 3d a4 | y_origin%=.| 00001170 49 6e 74 65 72 6e 61 6c 5f 57 69 6e 64 6f 77 59 |Internal_WindowY| 00001180 4f 72 69 67 69 6e 28 62 6c 6f 63 6b 25 29 0d 05 |Origin(block%)..| 00001190 be 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 000011a0 20 20 20 20 20 c8 95 20 6d 6f 72 65 25 0d 05 c8 | .. more%...| 000011b0 38 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |8 | 000011c0 20 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 42 | .. "Wimp_B| 000011d0 6f 72 64 65 72 57 69 6e 64 6f 77 22 2c 2c 20 62 |orderWindow",, b| 000011e0 6c 6f 63 6b 25 0d 05 d2 34 20 20 20 20 20 20 20 |lock%...4 | 000011f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 45 | .E| 00001200 76 65 6e 74 5f 44 72 61 77 57 69 6e 64 6f 77 28 |vent_DrawWindow(| 00001210 62 6c 6f 63 6b 25 21 30 29 0d 05 dc 3f 20 20 20 |block%!0)...? | 00001220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001230 20 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 52 65 | .. "Wimp_GetRe| 00001240 63 74 61 6e 67 6c 65 22 2c 2c 62 6c 6f 63 6b 25 |ctangle",,block%| 00001250 20 b8 20 6d 6f 72 65 25 0d 05 e6 18 20 20 20 20 | . more%.... | 00001260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ce | .| 00001270 0d 05 f0 22 20 20 20 20 20 20 20 20 20 c9 20 32 |..." . 2| 00001280 20 3a 20 77 69 6e 64 6f 77 25 3d 21 62 6c 6f 63 | : window%=!bloc| 00001290 6b 25 0d 05 fa 2f 20 20 20 20 20 20 20 20 20 20 |k%.../ | 000012a0 20 20 20 20 20 20 20 20 f2 57 69 6d 70 5f 57 69 | .Wimp_Wi| 000012b0 6e 64 6f 77 4f 70 65 6e 28 77 69 6e 64 6f 77 25 |ndowOpen(window%| 000012c0 29 0d 06 04 22 20 20 20 20 20 20 20 20 20 c9 20 |)..." . | 000012d0 33 20 3a 20 77 69 6e 64 6f 77 25 3d 21 62 6c 6f |3 : window%=!blo| 000012e0 63 6b 25 0d 06 0e 30 20 20 20 20 20 20 20 20 20 |ck%...0 | 000012f0 20 20 20 20 20 20 20 20 20 f2 57 69 6d 70 5f 57 | .Wimp_W| 00001300 69 6e 64 6f 77 43 6c 6f 73 65 28 77 69 6e 64 6f |indowClose(windo| 00001310 77 25 29 0d 06 18 12 20 20 20 20 20 20 20 20 20 |w%).... | 00001320 c9 20 34 20 3a 0d 06 22 12 20 20 20 20 20 20 20 |. 4 :..". | 00001330 20 20 c9 20 35 20 3a 0d 06 2c 49 20 20 20 20 20 | . 5 :..,I | 00001340 20 20 20 20 c9 20 36 20 3a 20 62 75 74 74 6f 6e | . 6 : button| 00001350 25 3d 62 6c 6f 63 6b 25 21 38 20 3a 20 77 69 6e |%=block%!8 : win| 00001360 64 6f 77 25 3d 62 6c 6f 63 6b 25 21 31 32 20 3a |dow%=block%!12 :| 00001370 20 69 63 6f 6e 25 3d 62 6c 6f 63 6b 25 21 31 36 | icon%=block%!16| 00001380 0d 06 36 2f 20 20 20 20 20 20 20 20 20 20 20 20 |..6/ | 00001390 20 20 20 20 20 20 78 25 3d 62 6c 6f 63 6b 25 21 | x%=block%!| 000013a0 30 20 3a 20 79 25 3d 62 6c 6f 63 6b 25 21 34 0d |0 : y%=block%!4.| 000013b0 06 40 22 20 20 20 20 20 20 20 20 20 20 20 20 20 |.@" | 000013c0 20 20 20 20 20 c8 8e 20 62 75 74 74 6f 6e 25 20 | .. button% | 000013d0 ca 0d 06 4a 1f 20 20 20 20 20 20 20 20 20 20 20 |...J. | 000013e0 20 20 20 20 20 20 20 20 c9 20 20 32 20 20 20 3a | . 2 :| 000013f0 0d 06 54 37 20 20 20 20 20 20 20 20 20 20 20 20 |..T7 | 00001400 20 20 20 20 20 20 20 20 f2 45 76 65 6e 74 5f 4d | .Event_M| 00001410 65 6e 75 50 6f 70 55 70 28 77 69 6e 64 6f 77 25 |enuPopUp(window%| 00001420 2c 78 25 2c 79 25 29 0d 06 5e 1a 20 20 20 20 20 |,x%,y%)..^. | 00001430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7f 20 | . | 00001440 3a 0d 06 68 34 20 20 20 20 20 20 20 20 20 20 20 |:..h4 | 00001450 20 20 20 20 20 20 20 20 20 c8 99 20 22 57 69 6d | .. "Wim| 00001460 70 5f 42 6f 72 64 65 72 49 63 6f 6e 22 2c 2c 62 |p_BorderIcon",,b| 00001470 6c 6f 63 6b 25 0d 06 72 46 20 20 20 20 20 20 20 |lock%..rF | 00001480 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 45 76 | .Ev| 00001490 65 6e 74 5f 4d 6f 75 73 65 43 6c 69 63 6b 28 62 |ent_MouseClick(b| 000014a0 75 74 74 6f 6e 25 2c 77 69 6e 64 6f 77 25 2c 69 |utton%,window%,i| 000014b0 63 6f 6e 25 2c 78 25 2c 79 25 29 0d 06 7c 48 20 |con%,x%,y%)..|H | 000014c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000014d0 20 20 20 62 6c 6f 63 6b 25 21 38 3d 30 20 3a 20 | block%!8=0 : | 000014e0 62 6c 6f 63 6b 25 21 31 32 3d 77 69 6e 64 6f 77 |block%!12=window| 000014f0 25 20 3a 20 62 6c 6f 63 6b 25 21 31 36 3d 69 63 |% : block%!16=ic| 00001500 6f 6e 25 0d 06 86 34 20 20 20 20 20 20 20 20 20 |on%...4 | 00001510 20 20 20 20 20 20 20 20 20 20 20 c8 99 20 22 57 | .. "W| 00001520 69 6d 70 5f 42 6f 72 64 65 72 49 63 6f 6e 22 2c |imp_BorderIcon",| 00001530 2c 62 6c 6f 63 6b 25 0d 06 90 17 20 20 20 20 20 |,block%.... | 00001540 20 20 20 20 20 20 20 20 20 20 20 20 20 cb 0d 06 | ...| 00001550 9a 3f 20 20 20 20 20 20 20 20 20 c9 20 37 20 3a |.? . 7 :| 00001560 20 f4 20 20 4f 6e 6c 79 20 64 72 61 67 73 20 61 | . Only drags a| 00001570 6c 6c 6f 77 65 64 20 61 72 65 20 66 72 6f 6d 20 |llowed are from | 00001580 53 61 76 65 20 77 69 6e 64 6f 77 21 2e 0d 06 a4 |Save window!....| 00001590 45 20 20 20 20 20 20 20 20 20 c9 20 38 20 3a 20 |E . 8 : | 000015a0 77 69 6e 64 6f 77 25 3d 62 6c 6f 63 6b 25 21 30 |window%=block%!0| 000015b0 20 3a 20 69 63 6f 6e 25 3d 62 6c 6f 63 6b 25 21 | : icon%=block%!| 000015c0 34 20 3a 20 6b 65 79 25 3d 62 6c 6f 63 6b 25 21 |4 : key%=block%!| 000015d0 32 34 0d 06 ae 39 20 20 20 20 20 20 20 20 20 20 |24...9 | 000015e0 20 20 20 20 20 20 20 20 f2 45 76 65 6e 74 5f 4b | .Event_K| 000015f0 65 79 50 72 65 73 73 28 77 69 6e 64 6f 77 25 2c |eyPress(window%,| 00001600 69 63 6f 6e 25 2c 6b 65 79 25 29 0d 06 b8 2b 20 |icon%,key%)...+ | 00001610 20 20 20 20 20 20 20 20 c9 20 39 20 3a 20 f2 45 | . 9 : .E| 00001620 76 65 6e 74 5f 4d 65 6e 75 43 68 6f 69 63 65 28 |vent_MenuChoice(| 00001630 6d 65 6e 75 25 29 0d 06 c2 12 20 20 20 20 20 20 |menu%).... | 00001640 20 20 20 c9 20 31 30 3a 0d 06 cc 12 20 20 20 20 | . 10:.... | 00001650 20 20 20 20 20 c9 20 31 31 3a 0d 06 d6 12 20 20 | . 11:.... | 00001660 20 20 20 20 20 20 20 c9 20 31 32 3a 0d 06 e0 05 | . 12:....| 00001670 20 0d 06 ea 28 f4 7c 20 20 20 20 20 20 45 76 65 | ...(.| Eve| 00001680 6e 74 73 20 31 33 2c 31 34 2c 31 35 2c 31 36 20 |nts 13,14,15,16 | 00001690 20 4e 6f 74 20 75 73 65 64 0d 06 f4 05 20 0d 06 | Not used.... ..| 000016a0 fe 16 20 20 20 20 20 20 20 20 20 c9 20 31 37 2c |.. . 17,| 000016b0 31 38 20 3a 0d 07 08 24 20 20 20 20 20 20 20 20 |18 :...$ | 000016c0 20 20 20 20 20 20 6d 65 73 73 61 67 65 25 3d 62 | message%=b| 000016d0 6c 6f 63 6b 25 21 31 36 0d 07 12 1f 20 20 20 20 |lock%!16.... | 000016e0 20 20 20 20 20 20 20 20 20 20 c8 8e 20 6d 65 73 | .. mes| 000016f0 73 61 67 65 25 20 ca 0d 07 1c 31 20 20 20 20 20 |sage% ....1 | 00001700 20 20 20 20 20 20 20 20 20 20 20 c9 20 6d 65 73 | . mes| 00001710 73 61 67 65 5f 71 75 69 74 25 20 3a 20 66 69 6e |sage_quit% : fin| 00001720 69 73 68 65 64 25 3d b9 0d 07 26 3b 20 20 20 20 |ished%=...&; | 00001730 20 20 20 20 20 20 20 20 20 20 20 20 c9 20 6d 65 | . me| 00001740 73 73 61 67 65 5f 6c 6f 61 64 25 20 3a 20 f2 45 |ssage_load% : .E| 00001750 76 65 6e 74 5f 4c 6f 61 64 46 69 6c 65 28 20 20 |vent_LoadFile( | 00001760 20 20 29 0d 07 30 13 20 20 20 20 20 20 20 20 20 | )..0. | 00001770 20 20 20 20 20 cb 0d 07 3a 13 20 20 20 20 20 20 | ...:. | 00001780 20 20 20 c9 20 31 39 20 3a 0d 07 44 04 0d 07 4e | . 19 :..D...N| 00001790 3c 20 20 20 20 20 20 20 20 f2 57 69 6d 70 5f 41 |< .Wimp_A| 000017a0 6c 65 72 74 28 54 61 73 6b 4e 61 6d 65 24 2c f6 |lert(TaskName$,.| 000017b0 24 2b 22 61 74 20 6c 69 6e 65 20 22 2b c3 28 9e |$+"at line "+.(.| 000017c0 20 81 20 31 30 29 2c 32 29 0d 07 58 0c 20 20 20 | . 10),2)..X. | 000017d0 20 20 20 20 cb 0d 07 62 15 20 20 20 20 20 20 fd | ...b. .| 000017e0 20 66 69 6e 69 73 68 65 64 25 0d 07 6c 0a 20 20 | finished%..l. | 000017f0 20 20 20 e1 0d 07 76 05 3a 0d 07 80 06 f4 7c 0d | ...v.:.....|.| 00001800 07 8a 29 20 20 20 20 20 dd 20 a4 49 6e 74 65 72 |..) . .Inter| 00001810 6e 61 6c 5f 45 76 65 6e 74 28 65 76 65 6e 74 25 |nal_Event(event%| 00001820 2c 62 6c 6f 63 6b 25 29 0d 07 94 14 20 20 20 20 |,block%).... | 00001830 20 c8 8e 20 65 76 65 6e 74 25 20 ca 0d 07 9e 0d | .. event% .....| 00001840 20 20 20 20 20 20 c9 20 30 0d 07 a8 0a 20 20 20 | . 0.... | 00001850 20 20 cb 0d 07 b2 0f 20 20 20 20 3d 65 76 65 6e | ..... =even| 00001860 74 25 0d 07 bc 06 f4 7c 0d 07 c6 35 f4 7c 20 20 |t%.....|...5.| | 00001870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d | --| 00001880 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00001890 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 07 d0 |-------------...| 000018a0 2a f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 |*.| | 000018b0 20 20 20 20 20 20 20 20 20 20 20 20 20 33 2e a0 | 3..| 000018c0 57 69 6e 64 6f 77 73 0d 07 da 35 f4 7c 20 20 20 |Windows...5.| | 000018d0 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 2d | ---| 000018e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000018f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 07 e4 06 |------------....| 00001900 f4 7c 0d 07 ee 06 f4 7c 0d 07 f8 06 f4 7c 0d 08 |.|.....|.....|..| 00001910 02 29 f4 7c 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d |.).| -------| 00001920 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00001930 2d 2d 2d 2d 2d 2d 2d 0d 08 0c 2b 52 45 4e 7c 20 |-------...+REN| | 00001940 20 20 20 20 33 2e 31 20 57 69 6e 64 6f 77 20 6f | 3.1 Window o| 00001950 70 65 6e 69 6e 67 20 61 6e 64 20 63 6c 6f 73 69 |pening and closi| 00001960 6e 67 0d 08 16 29 f4 7c 20 20 20 20 20 2d 2d 2d |ng...).| ---| 00001970 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00001980 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 08 20 06 f4 |-----------.. ..| 00001990 7c 0d 08 2a 06 f4 7c 0d 08 34 06 f4 7c 0d 08 3e ||..*..|..4..|..>| 000019a0 35 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 |5.| | 000019b0 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------| 000019c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000019d0 2d 2d 0d 08 48 06 f4 7c 0d 08 52 28 f4 7c 20 20 |--..H..|..R(.| | 000019e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000019f0 20 20 20 20 50 72 6f 63 65 64 75 72 65 73 20 3a | Procedures :| 00001a00 0d 08 5c 06 f4 7c 0d 08 66 32 f4 7c 20 20 20 20 |..\..|..f2.| | 00001a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 4e | FN| 00001a20 57 69 6d 70 5f 57 69 6e 64 6f 77 4c 6f 61 64 28 |Wimp_WindowLoad(| 00001a30 77 69 6e 64 6f 77 24 29 0d 08 70 43 f4 7c 20 20 |window$)..pC.| | 00001a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001a50 46 4e 57 69 6d 70 5f 57 69 6e 64 6f 77 4c 6f 61 |FNWimp_WindowLoa| 00001a60 64 46 72 6f 6d 54 65 6d 70 6c 61 74 65 28 77 24 |dFromTemplate(w$| 00001a70 2c 74 65 6d 70 6c 61 74 65 24 29 0d 08 7a 34 f4 |,template$)..z4.| 00001a80 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 || | 00001a90 20 20 20 50 52 4f 43 57 69 6d 70 5f 57 69 6e 64 | PROCWimp_Wind| 00001aa0 6f 77 4f 70 65 6e 28 77 69 6e 64 6f 77 25 29 0d |owOpen(window%).| 00001ab0 08 84 3a f4 7c 20 20 20 20 20 20 20 20 20 20 20 |..:.| | 00001ac0 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 5f | PROCWimp_| 00001ad0 57 69 6e 64 6f 77 42 72 69 6e 67 54 6f 54 6f 70 |WindowBringToTop| 00001ae0 28 77 69 6e 64 6f 77 25 29 0d 08 8e 35 f4 7c 20 |(window%)...5.| | 00001af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001b00 20 50 52 4f 43 57 69 6d 70 5f 57 69 6e 64 6f 77 | PROCWimp_Window| 00001b10 43 6c 6f 73 65 28 77 69 6e 64 6f 77 25 29 0d 08 |Close(window%)..| 00001b20 98 06 f4 7c 0d 08 a2 35 f4 7c 20 20 20 20 20 20 |...|...5.| | 00001b30 20 20 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d | ------| 00001b40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00001b50 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 08 ac 06 f4 7c 0d |---------.....|.| 00001b60 08 b6 06 f4 7c 0d 08 c0 06 f4 7c 0d 08 ca 06 f4 |....|.....|.....| 00001b70 7c 0d 08 d4 26 20 20 20 20 20 20 dd 20 a4 57 69 ||...& . .Wi| 00001b80 6d 70 5f 57 69 6e 64 6f 77 4c 6f 61 64 28 20 77 |mp_WindowLoad( w| 00001b90 69 6e 64 6f 77 24 29 0d 08 de 46 20 20 20 20 20 |indow$)...F | 00001ba0 3d a4 57 69 6d 70 5f 57 69 6e 64 6f 77 4c 6f 61 |=.Wimp_WindowLoa| 00001bb0 64 46 72 6f 6d 54 65 6d 70 6c 61 74 65 28 77 69 |dFromTemplate(wi| 00001bc0 6e 64 6f 77 24 2c 22 3c 4f 62 65 79 24 44 69 72 |ndow$,"<Obey$Dir| 00001bd0 3e 2e 54 65 6d 70 6c 61 74 65 73 22 29 0d 08 e8 |>.Templates")...| 00001be0 06 f4 7c 0d 08 f2 36 20 20 20 20 20 20 dd 20 a4 |..|...6 . .| 00001bf0 57 69 6d 70 5f 57 69 6e 64 6f 77 4c 6f 61 64 46 |Wimp_WindowLoadF| 00001c00 72 6f 6d 54 65 6d 70 6c 61 74 65 28 77 24 2c 74 |romTemplate(w$,t| 00001c10 65 6d 70 6c 61 74 65 24 29 0d 08 fc 0f 20 20 20 |emplate$).... | 00001c20 20 20 20 20 ea 20 63 25 0d 09 06 2c 20 20 20 20 | . c%..., | 00001c30 20 20 20 c8 99 20 22 57 69 6d 70 5f 4f 70 65 6e | .. "Wimp_Open| 00001c40 54 65 6d 70 6c 61 74 65 22 2c 2c 74 65 6d 70 6c |Template",,templ| 00001c50 61 74 65 24 0d 09 10 4d 20 20 20 20 20 20 20 c8 |ate$...M .| 00001c60 99 20 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 |. "Wimp_LoadTemp| 00001c70 6c 61 74 65 22 2c 2c 62 6c 6f 63 6b 25 2c 69 63 |late",,block%,ic| 00001c80 6f 6e 73 25 2c 69 63 6f 6e 5f 65 6e 64 25 2c 2d |ons%,icon_end%,-| 00001c90 31 2c 77 24 2c 30 20 b8 20 2c 2c 69 63 6f 6e 73 |1,w$,0 . ,,icons| 00001ca0 25 0d 09 1a 2d 20 20 20 20 20 20 20 e7 20 73 70 |%...- . sp| 00001cb0 72 69 74 65 73 25 3c 3e 30 20 8c 20 62 6c 6f 63 |rites%<>0 . bloc| 00001cc0 6b 25 21 36 34 3d 73 70 72 69 74 65 73 25 0d 09 |k%!64=sprites%..| 00001cd0 24 2e 20 20 20 20 20 20 20 c8 99 20 22 57 69 6d |$. .. "Wim| 00001ce0 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c |p_CreateWindow",| 00001cf0 2c 62 6c 6f 63 6b 25 20 b8 20 63 25 0d 09 2e 22 |,block% . c%..."| 00001d00 20 20 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f | .. "Wimp_| 00001d10 43 6c 6f 73 65 54 65 6d 70 6c 61 74 65 22 0d 09 |CloseTemplate"..| 00001d20 38 0c 20 20 20 20 20 3d 63 25 0d 09 42 06 f4 7c |8. =c%..B..|| 00001d30 0d 09 4c 25 20 20 20 20 20 20 dd 20 f2 57 69 6d |..L% . .Wim| 00001d40 70 5f 57 69 6e 64 6f 77 4f 70 65 6e 28 77 69 6e |p_WindowOpen(win| 00001d50 64 6f 77 25 29 0d 09 56 1a 20 20 20 20 20 20 20 |dow%)..V. | 00001d60 21 62 6c 6f 63 6b 25 3d 77 69 6e 64 6f 77 25 0d |!block%=window%.| 00001d70 09 60 2b 20 20 20 20 20 20 20 c8 99 20 22 57 69 |.`+ .. "Wi| 00001d80 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 |mp_GetWindowStat| 00001d90 65 22 2c 2c 62 6c 6f 63 6b 25 0d 09 6a 27 20 20 |e",,block%..j' | 00001da0 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 4f 70 | .. "Wimp_Op| 00001db0 65 6e 57 69 6e 64 6f 77 22 2c 2c 62 6c 6f 63 6b |enWindow",,block| 00001dc0 25 0d 09 74 0b 20 20 20 20 20 20 e1 0d 09 7e 06 |%..t. ...~.| 00001dd0 f4 7c 0d 09 88 2b 20 20 20 20 20 20 dd 20 f2 57 |.|...+ . .W| 00001de0 69 6d 70 5f 57 69 6e 64 6f 77 42 72 69 6e 67 54 |imp_WindowBringT| 00001df0 6f 54 6f 70 28 77 69 6e 64 6f 77 25 29 0d 09 92 |oTop(window%)...| 00001e00 1a 20 20 20 20 20 20 20 21 62 6c 6f 63 6b 25 3d |. !block%=| 00001e10 77 69 6e 64 6f 77 25 0d 09 9c 2b 20 20 20 20 20 |window%...+ | 00001e20 20 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 57 69 | .. "Wimp_GetWi| 00001e30 6e 64 6f 77 53 74 61 74 65 22 2c 2c 62 6c 6f 63 |ndowState",,bloc| 00001e40 6b 25 0d 09 a6 17 20 20 20 20 20 20 20 62 6c 6f |k%.... blo| 00001e50 63 6b 25 21 32 38 3d 2d 31 0d 09 b0 27 20 20 20 |ck%!28=-1...' | 00001e60 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 4f 70 65 | .. "Wimp_Ope| 00001e70 6e 57 69 6e 64 6f 77 22 2c 2c 62 6c 6f 63 6b 25 |nWindow",,block%| 00001e80 0d 09 ba 0b 20 20 20 20 20 20 e1 0d 09 c4 06 f4 |.... ......| 00001e90 7c 0d 09 ce 27 20 20 20 20 20 20 dd 20 20 f2 57 ||...' . .W| 00001ea0 69 6d 70 5f 57 69 6e 64 6f 77 43 6c 6f 73 65 28 |imp_WindowClose(| 00001eb0 77 69 6e 64 6f 77 25 29 0d 09 d8 1a 20 20 20 20 |window%).... | 00001ec0 20 20 20 21 62 6c 6f 63 6b 25 3d 77 69 6e 64 6f | !block%=windo| 00001ed0 77 25 0d 09 e2 28 20 20 20 20 20 20 20 c8 99 20 |w%...( .. | 00001ee0 22 57 69 6d 70 5f 43 6c 6f 73 65 57 69 6e 64 6f |"Wimp_CloseWindo| 00001ef0 77 22 2c 2c 62 6c 6f 63 6b 25 0d 09 ec 0b 20 20 |w",,block%.... | 00001f00 20 20 20 20 e1 0d 09 f6 06 f4 7c 0d 0a 00 06 f4 | ......|.....| 00001f10 7c 0d 0a 0a 06 f4 7c 0d 0a 14 06 f4 7c 0d 0a 1e ||.....|.....|...| 00001f20 1d f4 7c 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d |..| --------| 00001f30 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 28 1d f4 7c |----------..(..|| 00001f40 20 20 20 20 20 33 2e 32 a0 57 69 6e 64 6f 77 a0 | 3.2.Window.| 00001f50 64 72 61 77 69 6e 67 0d 0a 32 1d f4 7c 20 20 20 |drawing..2..| | 00001f60 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | --------------| 00001f70 2d 2d 2d 2d 0d 0a 3c 06 f4 7c 0d 0a 46 06 f4 7c |----..<..|..F..|| 00001f80 0d 0a 50 35 f4 7c 20 20 20 20 20 20 20 20 20 20 |..P5.| | 00001f90 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ----------| 00001fa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00001fb0 2d 2d 2d 2d 2d 0d 0a 5a 06 f4 7c 0d 0a 64 28 f4 |-----..Z..|..d(.| 00001fc0 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 || | 00001fd0 20 20 20 20 20 20 20 50 72 6f 63 65 64 75 72 65 | Procedure| 00001fe0 73 20 3a 0d 0a 6e 06 f4 7c 0d 0a 78 39 f4 7c 20 |s :..n..|..x9.| | 00001ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002000 20 50 52 4f 43 57 69 6d 70 5f 57 69 6e 64 6f 77 | PROCWimp_Window| 00002010 46 6f 72 63 65 44 72 61 77 28 77 69 6e 64 6f 77 |ForceDraw(window| 00002020 25 29 0d 0a 82 3c f4 7c 20 20 20 20 20 20 20 20 |%)...<.| | 00002030 20 20 20 20 20 20 20 20 20 20 44 45 46 20 46 4e | DEF FN| 00002040 49 6e 74 65 72 6e 61 6c 5f 57 69 6e 64 6f 77 58 |Internal_WindowX| 00002050 4f 72 69 67 69 6e 28 62 6c 6f 63 6b 25 29 0d 0a |Origin(block%)..| 00002060 8c 3c f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |.<.| | 00002070 20 20 20 20 20 20 44 45 46 20 46 4e 49 6e 74 65 | DEF FNInte| 00002080 72 6e 61 6c 5f 57 69 6e 64 6f 77 59 4f 72 69 67 |rnal_WindowYOrig| 00002090 69 6e 28 62 6c 6f 63 6b 25 29 0d 0a 96 36 f4 7c |in(block%)...6.|| 000020a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000020b0 20 20 46 4e 57 69 6d 70 5f 47 65 74 57 69 6e 64 | FNWimp_GetWind| 000020c0 6f 77 54 69 74 6c 65 28 77 69 6e 64 6f 77 25 29 |owTitle(window%)| 000020d0 0d 0a a0 2b f4 7c 20 20 20 20 20 20 20 20 20 20 |...+.| | 000020e0 20 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d | PROCWim| 000020f0 70 5f 44 72 61 77 28 78 2c 79 29 0d 0a aa 2b f4 |p_Draw(x,y)...+.| 00002100 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 || | 00002110 20 20 20 20 50 52 4f 43 57 69 6d 70 5f 4d 6f 76 | PROCWimp_Mov| 00002120 65 28 78 2c 79 29 0d 0a b4 31 f4 7c 20 20 20 20 |e(x,y)...1.| | 00002130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 | P| 00002140 52 4f 43 57 69 6d 70 5f 4c 69 6e 65 28 78 2c 79 |ROCWimp_Line(x,y| 00002150 2c 78 31 2c 79 31 29 0d 0a be 06 f4 7c 0d 0a c8 |,x1,y1).....|...| 00002160 35 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 |5.| | 00002170 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------| 00002180 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00002190 2d 2d 0d 0a d2 06 f4 7c 0d 0a dc 06 f4 7c 0d 0a |--.....|.....|..| 000021a0 e6 06 f4 7c 0d 0a f0 26 20 20 20 20 20 20 20 20 |...|...& | 000021b0 20 20 20 20 dd 20 f2 49 6e 74 65 72 6e 61 6c 5f | . .Internal_| 000021c0 57 69 6e 64 6f 77 44 72 61 77 0d 0a fa 18 20 20 |WindowDraw.... | 000021d0 20 20 20 20 20 20 20 20 20 20 20 ea 20 6d 6f 72 | . mor| 000021e0 65 25 0d 0b 04 37 20 20 20 20 20 20 20 20 20 20 |e%...7 | 000021f0 20 20 20 c8 99 20 22 57 69 6d 70 5f 52 65 64 72 | .. "Wimp_Redr| 00002200 61 77 57 69 6e 64 6f 77 22 2c 2c 62 6c 6f 63 6b |awWindow",,block| 00002210 25 20 b8 20 6d 6f 72 65 25 0d 0b 0e 3a 20 20 20 |% . more%...: | 00002220 20 20 20 20 20 20 20 20 20 20 78 5f 6f 72 69 67 | x_orig| 00002230 69 6e 25 3d a4 49 6e 74 65 72 6e 61 6c 5f 57 69 |in%=.Internal_Wi| 00002240 6e 64 6f 77 58 4f 72 69 67 69 6e 28 62 6c 6f 63 |ndowXOrigin(bloc| 00002250 6b 25 29 0d 0b 18 3a 20 20 20 20 20 20 20 20 20 |k%)...: | 00002260 20 20 20 20 79 5f 6f 72 69 67 69 6e 25 3d a4 49 | y_origin%=.I| 00002270 6e 74 65 72 6e 61 6c 5f 57 69 6e 64 6f 77 59 4f |nternal_WindowYO| 00002280 72 69 67 69 6e 28 62 6c 6f 63 6b 25 29 0d 0b 22 |rigin(block%).."| 00002290 19 20 20 20 20 20 20 20 20 20 20 20 20 20 c8 95 |. ..| 000022a0 20 6d 6f 72 65 25 0d 0b 2c 2d 20 20 20 20 20 20 | more%..,- | 000022b0 20 20 20 20 20 20 20 20 f2 45 76 65 6e 74 5f 44 | .Event_D| 000022c0 72 61 77 57 69 6e 64 6f 77 28 62 6c 6f 63 6b 25 |rawWindow(block%| 000022d0 21 30 29 0d 0b 36 38 20 20 20 20 20 20 20 20 20 |!0)..68 | 000022e0 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 47 65 | .. "Wimp_Ge| 000022f0 74 52 65 63 74 61 6e 67 6c 65 22 2c 2c 62 6c 6f |tRectangle",,blo| 00002300 63 6b 25 20 b8 20 6d 6f 72 65 25 0d 0b 40 12 20 |ck% . more%..@. | 00002310 20 20 20 20 20 20 20 20 20 20 20 20 ce 0d 0b 4a | ...J| 00002320 12 20 20 20 20 20 20 20 20 20 20 20 20 20 e1 0d |. ..| 00002330 0b 54 06 f4 7c 0d 0b 5e 30 20 20 20 20 20 20 20 |.T..|..^0 | 00002340 20 20 20 20 20 dd 20 f2 57 69 6d 70 5f 57 69 6e | . .Wimp_Win| 00002350 64 6f 77 46 6f 72 63 65 44 72 61 77 28 77 69 6e |dowForceDraw(win| 00002360 64 6f 77 25 29 0d 0b 68 1c 20 20 20 20 20 20 20 |dow%)..h. | 00002370 20 20 20 20 20 c8 8e 20 77 69 6e 64 6f 77 25 20 | .. window% | 00002380 ca 0d 0b 72 44 20 20 20 20 20 20 20 20 20 20 20 |...rD | 00002390 20 20 c9 20 2d 31 20 20 20 3a 20 c8 99 20 22 57 | . -1 : .. "W| 000023a0 69 6d 70 5f 46 6f 72 63 65 52 65 64 72 61 77 22 |imp_ForceRedraw"| 000023b0 2c 2d 31 2c 30 2c 30 2c 32 2a 31 32 38 30 2c 32 |,-1,0,0,2*1280,2| 000023c0 2a 31 30 32 34 0d 0b 7c 45 20 20 20 20 20 20 20 |*1024..|E | 000023d0 20 20 20 20 20 20 7f 20 3a 20 c8 99 20 22 57 69 | . : .. "Wi| 000023e0 6d 70 5f 46 6f 72 63 65 52 65 64 72 61 77 22 2c |mp_ForceRedraw",| 000023f0 77 69 6e 64 6f 77 25 2c 30 2c 2d 32 2a 31 30 32 |window%,0,-2*102| 00002400 34 2c 32 2a 31 32 38 30 2c 30 0d 0b 86 11 20 20 |4,2*1280,0.... | 00002410 20 20 20 20 20 20 20 20 20 20 cb 0d 0b 90 11 20 | ..... | 00002420 20 20 20 20 20 20 20 20 20 20 20 e1 0d 0b 9a 06 | .....| 00002430 f4 7c 0d 0b a4 44 20 20 20 20 20 20 20 20 20 20 |.|...D | 00002440 20 20 dd 20 a4 49 6e 74 65 72 6e 61 6c 5f 57 69 | . .Internal_Wi| 00002450 6e 64 6f 77 58 4f 72 69 67 69 6e 28 62 6c 6f 63 |ndowXOrigin(bloc| 00002460 6b 25 29 3d 62 6c 6f 63 6b 25 21 34 2d 62 6c 6f |k%)=block%!4-blo| 00002470 63 6b 25 21 32 30 0d 0b ae 06 f4 7c 0d 0b b8 45 |ck%!20.....|...E| 00002480 20 20 20 20 20 20 20 20 20 20 20 20 dd 20 a4 49 | . .I| 00002490 6e 74 65 72 6e 61 6c 5f 57 69 6e 64 6f 77 59 4f |nternal_WindowYO| 000024a0 72 69 67 69 6e 28 62 6c 6f 63 6b 25 29 3d 62 6c |rigin(block%)=bl| 000024b0 6f 63 6b 25 21 31 36 2d 62 6c 6f 63 6b 25 21 32 |ock%!16-block%!2| 000024c0 34 0d 0b c2 06 f4 7c 0d 0b cc 2f 20 20 20 20 20 |4.....|.../ | 000024d0 20 20 20 20 20 20 20 dd 20 a4 57 69 6d 70 5f 47 | . .Wimp_G| 000024e0 65 74 57 69 6e 64 6f 77 54 69 74 6c 65 28 77 69 |etWindowTitle(wi| 000024f0 6e 64 6f 77 25 29 0d 0b d6 21 20 20 20 20 20 20 |ndow%)...! | 00002500 20 20 20 20 20 20 20 62 6c 6f 63 6b 25 21 30 3d | block%!0=| 00002510 77 69 6e 64 6f 77 25 0d 0b e0 2e 20 20 20 20 20 |window%.... | 00002520 20 20 20 20 20 20 20 20 c8 99 20 22 57 69 6d 70 | .. "Wimp| 00002530 5f 47 65 74 57 69 6e 64 49 6e 66 6f 22 2c 2c 62 |_GetWindInfo",,b| 00002540 6c 6f 63 6b 25 0d 0b ea 44 20 20 20 20 20 20 20 |lock%...D | 00002550 20 20 20 20 20 20 e7 20 28 28 62 6c 6f 63 6b 25 | . ((block%| 00002560 21 36 30 29 80 26 31 30 30 29 3d 30 20 85 20 31 |!60).&100)=0 . 1| 00002570 2c 22 54 69 74 6c 65 20 69 73 6e 27 74 20 69 6e |,"Title isn't in| 00002580 64 69 72 65 63 74 65 64 22 0d 0b f4 1c 20 20 20 |directed".... | 00002590 20 20 20 20 20 20 20 20 3d 24 28 62 6c 6f 63 6b | =$(block| 000025a0 25 21 37 36 29 0d 0b fe 06 f4 7c 0d 0c 08 21 20 |%!76).....|...! | 000025b0 20 20 20 20 20 20 20 20 20 20 20 dd 20 f2 57 69 | . .Wi| 000025c0 6d 70 5f 44 72 61 77 28 78 2c 79 29 0d 0c 12 2a |mp_Draw(x,y)...*| 000025d0 20 20 20 20 20 20 20 20 20 20 20 20 20 df 20 78 | . x| 000025e0 2d 78 5f 6f 72 69 67 69 6e 25 2c 79 2d 79 5f 6f |-x_origin%,y-y_o| 000025f0 72 69 67 69 6e 25 0d 0c 1c 11 20 20 20 20 20 20 |rigin%.... | 00002600 20 20 20 20 20 20 e1 0d 0c 26 06 f4 7c 0d 0c 30 | ...&..|..0| 00002610 21 20 20 20 20 20 20 20 20 20 20 20 20 dd 20 f2 |! . .| 00002620 57 69 6d 70 5f 4d 6f 76 65 28 78 2c 79 29 0d 0c |Wimp_Move(x,y)..| 00002630 3a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 ec |:* .| 00002640 20 78 2b 78 5f 6f 72 69 67 69 6e 25 2c 79 5f 6f | x+x_origin%,y_o| 00002650 72 69 67 69 6e 25 2b 79 0d 0c 44 11 20 20 20 20 |rigin%+y..D. | 00002660 20 20 20 20 20 20 20 20 e1 0d 0c 4e 06 f4 7c 0d | ...N..|.| 00002670 0c 58 27 20 20 20 20 20 20 20 20 20 20 20 20 dd |.X' .| 00002680 20 f2 57 69 6d 70 5f 4c 69 6e 65 28 78 2c 79 2c | .Wimp_Line(x,y,| 00002690 78 31 2c 79 31 29 0d 0c 62 44 20 20 20 20 20 20 |x1,y1)..bD | 000026a0 20 20 20 20 20 20 20 86 20 78 2b 78 5f 6f 72 69 | . x+x_ori| 000026b0 67 69 6e 25 2c 79 2b 79 5f 6f 72 69 67 69 6e 25 |gin%,y+y_origin%| 000026c0 2c 78 31 2b 78 5f 6f 72 69 67 69 6e 25 2c 79 31 |,x1+x_origin%,y1| 000026d0 2b 79 5f 6f 72 69 67 69 6e 25 0d 0c 6c 11 20 20 |+y_origin%..l. | 000026e0 20 20 20 20 20 20 20 20 20 20 e1 0d 0c 76 06 f4 | ...v..| 000026f0 7c 0d 0c 80 06 f4 7c 0d 0c 8a 06 f4 7c 0d 0c 94 ||.....|.....|...| 00002700 06 f4 7c 0d 0c 9e 06 f4 7c 0d 0c a8 06 f4 7c 0d |..|.....|.....|.| 00002710 0c b2 06 f4 7c 0d 0c bc 31 f4 7c 20 20 20 20 20 |....|...1.| | 00002720 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 2d | ---| 00002730 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00002740 2d 2d 2d 2d 2d 2d 0d 0c c6 28 f4 7c 20 20 20 20 |------...(.| | 00002750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002760 20 20 20 20 20 20 34 2e a0 49 63 6f 6e 73 0d 0c | 4..Icons..| 00002770 d0 31 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |.1.| | 00002780 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ----------| 00002790 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d |---------------.| 000027a0 0c da 06 f4 7c 0d 0c e4 06 f4 7c 0d 0c ee 35 f4 |....|.....|...5.| 000027b0 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 || | 000027c0 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ---------------| 000027d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000027e0 0d 0c f8 06 f4 7c 0d 0d 02 28 f4 7c 20 20 20 20 |.....|...(.| | 000027f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002800 20 20 50 72 6f 63 65 64 75 72 65 73 20 3a 0d 0d | Procedures :..| 00002810 0c 06 f4 7c 0d 0d 16 29 f4 7c 20 20 20 20 20 20 |...|...).| | 00002820 20 46 4e 57 69 6d 70 5f 50 75 74 49 63 6f 6e 4f | FNWimp_PutIconO| 00002830 6e 42 61 72 28 53 70 72 69 74 65 24 29 0d 0d 20 |nBar(Sprite$).. | 00002840 83 f4 7c 20 20 20 20 20 20 20 46 4e 57 69 6d 70 |..| FNWimp| 00002850 5f 49 63 6f 6e 43 72 65 61 74 65 28 77 69 6e 64 |_IconCreate(wind| 00002860 6f 77 25 2c 69 78 25 2c 69 79 25 2c 69 77 25 2c |ow%,ix%,iy%,iw%,| 00002870 69 68 25 2c 66 6c 61 67 25 2c 74 65 78 74 24 2c |ih%,flag%,text$,| 00002880 64 31 25 2c 64 32 25 2c 64 33 25 29 52 45 4d 7c |d1%,d2%,d3%)REM|| 00002890 20 20 20 20 20 20 20 46 4e 57 69 6d 70 5f 47 65 | FNWimp_Ge| 000028a0 74 56 61 6c 69 64 61 74 69 6f 6e 53 74 72 69 6e |tValidationStrin| 000028b0 67 28 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 29 |g(window%,icon%)| 000028c0 0d 0d 2a 32 f4 7c 20 20 20 20 20 20 20 46 4e 57 |..*2.| FNW| 000028d0 69 6d 70 5f 47 65 74 54 65 78 74 46 72 6f 6d 49 |imp_GetTextFromI| 000028e0 63 6f 6e 28 77 69 6e 64 6f 77 25 2c 69 63 6f 6e |con(window%,icon| 000028f0 25 29 0d 0d 34 38 f4 7c 20 20 20 20 20 20 20 50 |%)..48.| P| 00002900 52 4f 43 57 69 6d 70 5f 50 75 74 54 65 78 74 49 |ROCWimp_PutTextI| 00002910 6e 49 63 6f 6e 28 77 69 6e 64 6f 77 25 2c 69 63 |nIcon(window%,ic| 00002920 6f 6e 25 2c 74 65 78 74 24 29 0d 0d 3e 2f f4 7c |on%,text$)..>/.|| 00002930 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 5f | PROCWimp_| 00002940 45 6e 61 62 6c 65 49 63 6f 6e 28 77 69 6e 64 6f |EnableIcon(windo| 00002950 77 25 2c 69 63 6f 6e 25 29 0d 0d 48 30 f4 7c 20 |w%,icon%)..H0.| | 00002960 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 5f 44 | PROCWimp_D| 00002970 69 73 61 62 6c 65 49 63 6f 6e 28 77 69 6e 64 6f |isableIcon(windo| 00002980 77 25 2c 69 63 6f 6e 25 29 0d 0d 52 4e f4 7c 20 |w%,icon%)..RN.| | 00002990 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 5f 50 | PROCWimp_P| 000029a0 6c 6f 74 49 63 6f 6e 28 62 6c 6f 63 6b 25 2c 69 |lotIcon(block%,i| 000029b0 78 25 2c 69 79 25 2c 69 77 25 2c 69 68 25 2c 66 |x%,iy%,iw%,ih%,f| 000029c0 6c 61 67 25 2c 74 65 78 74 24 2c 64 31 25 2c 64 |lag%,text$,d1%,d| 000029d0 32 25 2c 64 33 25 29 0d 0d 5c 21 f4 7c 20 20 20 |2%,d3%)..\!.| | 000029e0 20 20 20 20 50 52 4f 43 57 69 6d 70 5f 53 70 72 | PROCWimp_Spr| 000029f0 69 74 65 73 4c 6f 61 64 0d 0d 66 30 f4 7c 20 20 |itesLoad..f0.| | 00002a00 20 20 20 20 20 50 52 4f 43 57 69 6d 70 5f 53 70 | PROCWimp_Sp| 00002a10 72 69 74 65 73 50 61 74 68 4c 6f 61 64 28 70 61 |ritesPathLoad(pa| 00002a20 74 68 6e 61 6d 65 24 29 0d 0d 70 06 f4 7c 0d 0d |thname$)..p..|..| 00002a30 7a 35 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |z5.| | 00002a40 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ------------| 00002a50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00002a60 2d 2d 2d 0d 0d 84 06 f4 7c 0d 0d 8e 27 20 20 20 |---.....|...' | 00002a70 20 20 20 dd 20 a4 57 69 6d 70 5f 50 75 74 49 63 | . .Wimp_PutIc| 00002a80 6f 6e 4f 6e 42 61 72 28 53 70 72 69 74 65 24 29 |onOnBar(Sprite$)| 00002a90 0d 0d 98 3c 20 20 20 20 20 3d a4 57 69 6d 70 5f |...< =.Wimp_| 00002aa0 49 63 6f 6e 43 72 65 61 74 65 28 2d 31 2c 30 2c |IconCreate(-1,0,| 00002ab0 30 2c 36 38 2c 36 38 2c 26 33 30 30 32 2c 53 70 |0,68,68,&3002,Sp| 00002ac0 72 69 74 65 24 2c 30 2c 30 2c 30 29 0d 0d a2 06 |rite$,0,0,0)....| 00002ad0 f4 7c 0d 0d ac 4d 20 20 20 20 20 20 dd 20 a4 57 |.|...M . .W| 00002ae0 69 6d 70 5f 49 63 6f 6e 43 72 65 61 74 65 28 77 |imp_IconCreate(w| 00002af0 69 6e 64 6f 77 25 2c 69 78 25 2c 69 79 25 2c 69 |indow%,ix%,iy%,i| 00002b00 77 25 2c 69 68 25 2c 66 6c 61 67 25 2c 74 65 78 |w%,ih%,flag%,tex| 00002b10 74 24 2c 64 31 25 2c 64 32 25 2c 64 33 25 29 0d |t$,d1%,d2%,d3%).| 00002b20 0d b6 1b 20 20 20 20 20 20 20 62 6c 6f 63 6b 25 |... block%| 00002b30 21 30 3d 77 69 6e 64 6f 77 25 0d 0d c0 2b 20 20 |!0=window%...+ | 00002b40 20 20 20 20 20 62 6c 6f 63 6b 25 21 34 3d 69 78 | block%!4=ix| 00002b50 25 20 20 20 20 20 20 3a 20 62 6c 6f 63 6b 25 21 |% : block%!| 00002b60 38 3d 69 79 25 0d 0d ca 30 20 20 20 20 20 20 20 |8=iy%...0 | 00002b70 62 6c 6f 63 6b 25 21 31 32 3d 69 78 25 2b 69 77 |block%!12=ix%+iw| 00002b80 25 20 3a 20 62 6c 6f 63 6b 25 21 31 36 3d 69 79 |% : block%!16=iy| 00002b90 25 2b 69 68 25 0d 0d d4 1a 20 20 20 20 20 20 20 |%+ih%.... | 00002ba0 62 6c 6f 63 6b 25 21 32 30 3d 66 6c 61 67 25 0d |block%!20=flag%.| 00002bb0 0d de 14 20 20 20 20 20 20 20 e7 20 64 31 25 3d |... . d1%=| 00002bc0 30 20 8c 0d 0d e8 1e 20 20 20 20 20 20 20 20 24 |0 ..... $| 00002bd0 28 62 6c 6f 63 6b 25 2b 32 34 29 3d 74 65 78 74 |(block%+24)=text| 00002be0 24 0d 0d f2 0c 20 20 20 20 20 20 20 cc 0d 0d fc |$.... ....| 00002bf0 39 20 20 20 20 20 20 20 20 62 6c 6f 63 6b 25 21 |9 block%!| 00002c00 32 34 3d 64 31 25 20 3a 20 62 6c 6f 63 6b 25 21 |24=d1% : block%!| 00002c10 32 38 3d 64 32 25 20 3a 20 62 6c 6f 63 6b 25 21 |28=d2% : block%!| 00002c20 33 32 3d 64 33 25 0d 0e 06 0c 20 20 20 20 20 20 |32=d3%.... | 00002c30 20 cd 0d 0e 10 2f 20 20 20 20 20 20 20 c8 99 20 | ..../ .. | 00002c40 22 57 69 6d 70 5f 43 72 65 61 74 65 49 63 6f 6e |"Wimp_CreateIcon| 00002c50 22 2c 2c 62 6c 6f 63 6b 25 20 b8 20 69 63 6f 6e |",,block% . icon| 00002c60 25 0d 0e 1a 0f 20 20 20 20 20 3d 69 63 6f 6e 25 |%.... =icon%| 00002c70 0d 0e 24 06 f4 7c 0d 0e 2e 34 20 20 20 20 20 20 |..$..|...4 | 00002c80 dd 20 f2 57 69 6d 70 5f 50 75 74 54 65 78 74 49 |. .Wimp_PutTextI| 00002c90 6e 49 63 6f 6e 28 77 69 6e 64 6f 77 25 2c 69 63 |nIcon(window%,ic| 00002ca0 6f 6e 25 2c 74 65 78 74 24 29 0d 0e 38 2c 20 20 |on%,text$)..8, | 00002cb0 20 20 20 20 20 62 6c 6f 63 6b 25 21 30 3d 77 69 | block%!0=wi| 00002cc0 6e 64 6f 77 25 20 3a 20 62 6c 6f 63 6b 25 21 34 |ndow% : block%!4| 00002cd0 3d 69 63 6f 6e 25 0d 0e 42 29 20 20 20 20 20 20 |=icon%..B) | 00002ce0 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 49 63 6f | .. "Wimp_GetIco| 00002cf0 6e 53 74 61 74 65 22 2c 2c 62 6c 6f 63 6b 25 0d |nState",,block%.| 00002d00 0e 4c 3f 20 20 20 20 20 20 20 e7 20 28 28 62 6c |.L? . ((bl| 00002d10 6f 63 6b 25 21 32 34 29 20 80 20 26 31 30 30 29 |ock%!24) . &100)| 00002d20 3d 30 20 85 20 31 2c 22 49 63 6f 6e 20 69 73 6e |=0 . 1,"Icon isn| 00002d30 27 74 20 69 6e 64 69 72 65 63 74 65 64 22 0d 0e |'t indirected"..| 00002d40 56 1d 20 20 20 20 20 20 20 24 28 62 6c 6f 63 6b |V. $(block| 00002d50 25 21 32 38 29 3d 74 65 78 74 24 0d 0e 60 2c 20 |%!28)=text$..`, | 00002d60 20 20 20 20 20 20 62 6c 6f 63 6b 25 21 30 3d 77 | block%!0=w| 00002d70 69 6e 64 6f 77 25 20 3a 20 62 6c 6f 63 6b 25 21 |indow% : block%!| 00002d80 34 3d 69 63 6f 6e 25 0d 0e 6a 23 20 20 20 20 20 |4=icon%..j# | 00002d90 20 20 62 6c 6f 63 6b 25 21 38 3d 30 20 3a 20 62 | block%!8=0 : b| 00002da0 6c 6f 63 6b 25 21 31 32 3d 30 0d 0e 74 29 20 20 |lock%!12=0..t) | 00002db0 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 53 65 | .. "Wimp_Se| 00002dc0 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 62 6c 6f |tIconState",,blo| 00002dd0 63 6b 25 0d 0e 7e 0b 20 20 20 20 20 20 e1 0d 0e |ck%..~. ...| 00002de0 88 06 f4 7c 0d 0e 92 30 20 20 20 20 20 20 dd 20 |...|...0 . | 00002df0 a4 57 69 6d 70 5f 47 65 74 54 65 78 74 46 72 6f |.Wimp_GetTextFro| 00002e00 6d 49 63 6f 6e 28 77 69 6e 64 6f 77 25 2c 69 63 |mIcon(window%,ic| 00002e10 6f 6e 25 29 0d 0e 9c 2c 20 20 20 20 20 20 20 62 |on%)..., b| 00002e20 6c 6f 63 6b 25 21 30 3d 77 69 6e 64 6f 77 25 20 |lock%!0=window% | 00002e30 3a 20 62 6c 6f 63 6b 25 21 34 3d 69 63 6f 6e 25 |: block%!4=icon%| 00002e40 0d 0e a6 29 20 20 20 20 20 20 20 c8 99 20 22 57 |...) .. "W| 00002e50 69 6d 70 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 |imp_GetIconState| 00002e60 22 2c 2c 62 6c 6f 63 6b 25 0d 0e b0 3f 20 20 20 |",,block%...? | 00002e70 20 20 20 20 e7 20 28 28 62 6c 6f 63 6b 25 21 32 | . ((block%!2| 00002e80 34 29 20 80 20 26 31 30 30 29 3d 30 20 85 20 31 |4) . &100)=0 . 1| 00002e90 2c 22 49 63 6f 6e 20 69 73 6e 27 74 20 69 6e 64 |,"Icon isn't ind| 00002ea0 69 72 65 63 74 65 64 22 0d 0e ba 16 20 20 20 20 |irected".... | 00002eb0 20 3d 24 28 62 6c 6f 63 6b 25 21 32 38 29 0d 0e | =$(block%!28)..| 00002ec0 c4 06 f4 7c 0d 0e ce 34 20 20 20 20 20 20 dd 20 |...|...4 . | 00002ed0 a4 57 69 6d 70 5f 47 65 74 56 61 6c 69 64 61 74 |.Wimp_GetValidat| 00002ee0 69 6f 6e 53 74 72 69 6e 67 28 77 69 6e 64 6f 77 |ionString(window| 00002ef0 25 2c 69 63 6f 6e 25 29 0d 0e d8 2c 20 20 20 20 |%,icon%)..., | 00002f00 20 20 20 62 6c 6f 63 6b 25 21 30 3d 77 69 6e 64 | block%!0=wind| 00002f10 6f 77 25 20 3a 20 62 6c 6f 63 6b 25 21 34 3d 69 |ow% : block%!4=i| 00002f20 63 6f 6e 25 0d 0e e2 29 20 20 20 20 20 20 20 c8 |con%...) .| 00002f30 99 20 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 |. "Wimp_GetIconS| 00002f40 74 61 74 65 22 2c 2c 62 6c 6f 63 6b 25 0d 0e ec |tate",,block%...| 00002f50 3f 20 20 20 20 20 20 20 e7 20 28 28 62 6c 6f 63 |? . ((bloc| 00002f60 6b 25 21 32 34 29 20 80 20 26 31 30 30 29 3d 30 |k%!24) . &100)=0| 00002f70 20 85 20 31 2c 22 49 63 6f 6e 20 69 73 6e 27 74 | . 1,"Icon isn't| 00002f80 20 69 6e 64 69 72 65 63 74 65 64 22 0d 0e f6 16 | indirected"....| 00002f90 20 20 20 20 20 3d 24 28 62 6c 6f 63 6b 25 21 33 | =$(block%!3| 00002fa0 32 29 0d 0f 00 06 f4 7c 0d 0f 0a 2b 20 20 20 20 |2).....|...+ | 00002fb0 20 20 dd 20 f2 57 69 6d 70 5f 45 6e 61 62 6c 65 | . .Wimp_Enable| 00002fc0 49 63 6f 6e 28 77 69 6e 64 6f 77 25 2c 69 63 6f |Icon(window%,ico| 00002fd0 6e 25 29 0d 0f 14 2c 20 20 20 20 20 20 20 62 6c |n%)..., bl| 00002fe0 6f 63 6b 25 21 30 3d 77 69 6e 64 6f 77 25 20 3a |ock%!0=window% :| 00002ff0 20 62 6c 6f 63 6b 25 21 34 3d 69 63 6f 6e 25 0d | block%!4=icon%.| 00003000 0f 1e 2d 20 20 20 20 20 20 20 62 6c 6f 63 6b 25 |..- block%| 00003010 21 38 3d 30 20 20 20 20 20 20 20 3a 20 62 6c 6f |!8=0 : blo| 00003020 63 6b 25 21 31 32 3d 31 3c 3c 32 32 0d 0f 28 29 |ck%!12=1<<22..()| 00003030 20 20 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f | .. "Wimp_| 00003040 53 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 62 |SetIconState",,b| 00003050 6c 6f 63 6b 25 0d 0f 32 0b 20 20 20 20 20 20 e1 |lock%..2. .| 00003060 0d 0f 3c 06 f4 7c 0d 0f 46 2c 20 20 20 20 20 20 |..<..|..F, | 00003070 dd 20 f2 57 69 6d 70 5f 44 69 73 61 62 6c 65 49 |. .Wimp_DisableI| 00003080 63 6f 6e 28 77 69 6e 64 6f 77 25 2c 69 63 6f 6e |con(window%,icon| 00003090 25 29 0d 0f 50 2c 20 20 20 20 20 20 20 62 6c 6f |%)..P, blo| 000030a0 63 6b 25 21 30 3d 77 69 6e 64 6f 77 25 20 3a 20 |ck%!0=window% : | 000030b0 62 6c 6f 63 6b 25 21 34 3d 69 63 6f 6e 25 0d 0f |block%!4=icon%..| 000030c0 5a 2d 20 20 20 20 20 20 20 62 6c 6f 63 6b 25 21 |Z- block%!| 000030d0 38 3d 31 3c 3c 32 32 20 20 20 3a 20 62 6c 6f 63 |8=1<<22 : bloc| 000030e0 6b 25 21 31 32 3d 31 3c 3c 32 32 0d 0f 64 29 20 |k%!12=1<<22..d) | 000030f0 20 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 53 | .. "Wimp_S| 00003100 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 62 6c |etIconState",,bl| 00003110 6f 63 6b 25 0d 0f 6e 0b 20 20 20 20 20 20 e1 0d |ock%..n. ..| 00003120 0f 78 06 f4 7c 0d 0f 82 4a 20 20 20 20 20 20 dd |.x..|...J .| 00003130 20 f2 57 69 6d 70 5f 50 6c 6f 74 49 63 6f 6e 28 | .Wimp_PlotIcon(| 00003140 62 6c 6f 63 6b 25 2c 69 78 25 2c 69 79 25 2c 69 |block%,ix%,iy%,i| 00003150 77 25 2c 69 68 25 2c 66 6c 61 67 25 2c 74 65 78 |w%,ih%,flag%,tex| 00003160 74 24 2c 64 31 25 2c 64 32 25 2c 64 33 25 29 0d |t$,d1%,d2%,d3%).| 00003170 0f 8c 2b 20 20 20 20 20 20 20 62 6c 6f 63 6b 25 |..+ block%| 00003180 21 30 3d 69 78 25 20 20 20 20 20 20 3a 20 62 6c |!0=ix% : bl| 00003190 6f 63 6b 25 21 34 3d 69 79 25 0d 0f 96 2f 20 20 |ock%!4=iy%.../ | 000031a0 20 20 20 20 20 62 6c 6f 63 6b 25 21 38 3d 69 78 | block%!8=ix| 000031b0 25 2b 69 77 25 20 3a 20 62 6c 6f 63 6b 25 21 31 |%+iw% : block%!1| 000031c0 32 3d 69 79 25 2b 69 68 25 0d 0f a0 1a 20 20 20 |2=iy%+ih%.... | 000031d0 20 20 20 20 62 6c 6f 63 6b 25 21 31 36 3d 66 6c | block%!16=fl| 000031e0 61 67 25 0d 0f aa 14 20 20 20 20 20 20 20 e7 20 |ag%.... . | 000031f0 64 31 25 3d 30 20 8c 0d 0f b4 1e 20 20 20 20 20 |d1%=0 ..... | 00003200 20 20 20 24 28 62 6c 6f 63 6b 25 2b 32 34 29 3d | $(block%+24)=| 00003210 74 65 78 74 24 0d 0f be 0c 20 20 20 20 20 20 20 |text$.... | 00003220 cc 0d 0f c8 39 20 20 20 20 20 20 20 20 62 6c 6f |....9 blo| 00003230 63 6b 25 21 32 34 3d 64 31 25 20 3a 20 62 6c 6f |ck%!24=d1% : blo| 00003240 63 6b 25 21 32 38 3d 64 32 25 20 3a 20 62 6c 6f |ck%!28=d2% : blo| 00003250 63 6b 25 21 33 32 3d 64 33 25 0d 0f d2 0c 20 20 |ck%!32=d3%.... | 00003260 20 20 20 20 20 cd 0d 0f dc 25 20 20 20 20 20 20 | ....% | 00003270 20 c8 99 20 22 57 69 6d 70 5f 50 6c 6f 74 49 63 | .. "Wimp_PlotIc| 00003280 6f 6e 22 2c 2c 62 6c 6f 63 6b 25 0d 0f e6 0c 20 |on",,block%.... | 00003290 20 20 20 20 20 20 e1 0d 0f f0 06 f4 7c 0d 0f fa | ......|...| 000032a0 1e 20 20 20 20 20 20 20 dd 20 f2 57 69 6d 70 5f |. . .Wimp_| 000032b0 53 70 72 69 74 65 73 4c 6f 61 64 0d 10 04 37 20 |SpritesLoad...7 | 000032c0 20 20 20 20 20 20 20 f2 57 69 6d 70 5f 53 70 72 | .Wimp_Spr| 000032d0 69 74 65 73 50 61 74 68 4c 6f 61 64 28 22 3c 4f |itesPathLoad("<O| 000032e0 62 65 79 24 44 69 72 3e 2e 53 70 72 69 74 65 73 |bey$Dir>.Sprites| 000032f0 22 29 0d 10 0e 0c 20 20 20 20 20 20 20 e1 0d 10 |").... ...| 00003300 18 06 f4 7c 0d 10 22 2d 20 20 20 20 20 20 20 dd |...|.."- .| 00003310 20 f2 57 69 6d 70 5f 53 70 72 69 74 65 73 50 61 | .Wimp_SpritesPa| 00003320 74 68 4c 6f 61 64 28 70 61 74 68 6e 61 6d 65 24 |thLoad(pathname$| 00003330 29 0d 10 2c 13 20 20 20 20 20 20 20 20 ea 20 53 |)..,. . S| 00003340 25 2c 54 25 0d 10 36 34 20 20 20 20 20 20 20 20 |%,T%..64 | 00003350 53 25 3d 8e 22 3c 4f 62 65 79 24 44 69 72 3e 2e |S%=."<Obey$Dir>.| 00003360 53 70 72 69 74 65 73 22 3a 54 25 3d a2 23 53 25 |Sprites":T%=.#S%| 00003370 2b 31 36 3a d9 23 53 25 0d 10 40 25 20 20 20 20 |+16:.#S%..@% | 00003380 20 20 20 20 de 20 73 70 72 69 74 65 73 25 20 54 | . sprites% T| 00003390 25 2c 20 73 70 6e 61 6d 65 25 20 31 32 0d 10 4a |%, spname% 12..J| 000033a0 25 20 20 20 20 20 20 20 20 21 73 70 72 69 74 65 |% !sprite| 000033b0 73 25 3d 54 25 3a 73 70 72 69 74 65 73 25 21 38 |s%=T%:sprites%!8| 000033c0 3d 30 0d 10 54 2a 20 20 20 20 20 20 20 20 c8 99 |=0..T* ..| 000033d0 20 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 26 | "OS_SpriteOp",&| 000033e0 31 30 39 2c 73 70 72 69 74 65 73 25 0d 10 5e 34 |109,sprites%..^4| 000033f0 20 20 20 20 20 20 20 20 c8 99 20 22 4f 53 5f 53 | .. "OS_S| 00003400 70 72 69 74 65 4f 70 22 2c 26 31 30 41 2c 73 70 |priteOp",&10A,sp| 00003410 72 69 74 65 73 25 2c 70 61 74 68 6e 61 6d 65 24 |rites%,pathname$| 00003420 0d 10 68 0c 20 20 20 20 20 20 20 e1 0d 10 72 06 |..h. ...r.| 00003430 f4 7c 0d 10 7c 06 f4 7c 0d 10 86 06 f4 7c 0d 10 |.|..|..|.....|..| 00003440 90 06 f4 7c 0d 10 9a 06 f4 7c 0d 10 a4 31 f4 7c |...|.....|...1.|| 00003450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003460 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | --------------| 00003470 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 10 ae 28 f4 |-----------...(.| 00003480 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 || | 00003490 20 20 20 20 20 20 20 20 20 20 20 35 2e a0 4d 65 | 5..Me| 000034a0 6e 75 73 0d 10 b8 31 f4 7c 20 20 20 20 20 20 20 |nus...1.| | 000034b0 20 20 20 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d | -----| 000034c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000034d0 2d 2d 2d 2d 0d 10 c2 06 f4 7c 0d 10 cc 06 f4 7c |----.....|.....|| 000034e0 0d 10 d6 35 f4 7c 20 20 20 20 20 20 20 20 20 20 |...5.| | 000034f0 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ----------| 00003500 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00003510 2d 2d 2d 2d 2d 0d 10 e0 06 f4 7c 0d 10 ea 28 f4 |-----.....|...(.| 00003520 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 || | 00003530 20 20 20 20 20 20 20 50 72 6f 63 65 64 75 72 65 | Procedure| 00003540 73 20 3a 0d 10 f4 06 f4 7c 0d 10 fe 2d f4 7c 20 |s :.....|...-.| | 00003550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 4e | FN| 00003560 57 69 6d 70 5f 4d 65 6e 75 43 72 65 61 74 65 28 |Wimp_MenuCreate(| 00003570 6d 65 6e 75 24 29 0d 11 08 32 f4 7c 20 20 20 20 |menu$)...2.| | 00003580 20 20 20 20 20 20 20 20 20 20 20 46 4e 57 69 6d | FNWim| 00003590 70 5f 4d 65 6e 75 42 75 69 6c 64 28 6d 65 6e 75 |p_MenuBuild(menu| 000035a0 25 2c 6d 65 6e 75 24 29 0d 11 12 2e f4 7c 20 20 |%,menu$).....| | 000035b0 20 20 20 20 20 20 20 20 20 20 20 20 20 46 4e 57 | FNW| 000035c0 69 6d 70 5f 4d 65 6e 75 43 68 6f 69 63 65 28 6c |imp_MenuChoice(l| 000035d0 65 76 65 6c 25 29 0d 11 1c 31 f4 7c 20 20 20 20 |evel%)...1.| | 000035e0 20 20 20 20 20 20 20 20 20 20 20 50 52 4f 43 57 | PROCW| 000035f0 69 6d 70 5f 4d 65 6e 75 50 6f 70 55 70 42 61 72 |imp_MenuPopUpBar| 00003600 28 78 25 2c 79 25 29 0d 11 26 34 f4 7c 20 20 20 |(x%,y%)..&4.| | 00003610 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4f 43 | PROC| 00003620 57 69 6d 70 5f 4d 65 6e 75 50 6f 70 55 70 28 4d |Wimp_MenuPopUp(M| 00003630 65 6e 75 25 2c 78 25 2c 79 25 29 0d 11 30 36 f4 |enu%,x%,y%)..06.| 00003640 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 || | 00003650 46 4e 49 6e 74 65 72 6e 61 6c 5f 4d 65 6e 75 4e |FNInternal_MenuN| 00003660 6f 4f 66 45 6e 74 72 69 65 73 28 6d 65 6e 75 24 |oOfEntries(menu$| 00003670 29 0d 11 3a 27 f4 7c 20 20 20 20 20 20 20 20 20 |)..:'.| | 00003680 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 5f 4d | PROCWimp_M| 00003690 65 6e 75 43 6c 6f 73 65 0d 11 44 3b f4 7c 20 20 |enuClose..D;.| | 000036a0 20 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4f | PRO| 000036b0 43 57 69 6d 70 5f 4d 65 6e 75 47 6c 75 65 28 6d |CWimp_MenuGlue(m| 000036c0 65 6e 75 31 25 2c 69 74 65 6d 25 2c 6d 65 6e 75 |enu1%,item%,menu| 000036d0 32 25 29 0d 11 4e 36 f4 7c 20 20 20 20 20 20 20 |2%)..N6.| | 000036e0 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 | PROCWimp| 000036f0 5f 4d 65 6e 75 4d 65 73 73 61 67 65 28 6d 65 6e |_MenuMessage(men| 00003700 75 25 2c 69 74 65 6d 25 29 0d 11 58 33 f4 7c 20 |u%,item%)..X3.| | 00003710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 52 | PR| 00003720 4f 43 57 69 6d 70 5f 4d 65 6e 75 54 69 63 6b 28 |OCWimp_MenuTick(| 00003730 6d 65 6e 75 25 2c 69 74 65 6d 25 29 0d 11 62 39 |menu%,item%)..b9| 00003740 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.| | 00003750 20 50 52 4f 43 57 69 6d 70 5f 4d 65 6e 75 44 6f | PROCWimp_MenuDo| 00003760 74 74 65 64 4c 69 6e 65 28 6d 65 6e 75 25 2c 69 |ttedLine(menu%,i| 00003770 74 65 6d 25 29 0d 11 6c 47 f4 7c 20 20 20 20 20 |tem%)..lG.| | 00003780 20 20 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 | PROCWi| 00003790 6d 70 5f 4d 65 6e 75 46 6f 72 65 47 72 6f 75 6e |mp_MenuForeGroun| 000037a0 64 43 6f 6c 6f 75 72 28 6d 65 6e 75 25 2c 69 74 |dColour(menu%,it| 000037b0 65 6d 25 2c 63 6f 6c 6f 75 72 25 29 0d 11 76 47 |em%,colour%)..vG| 000037c0 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.| | 000037d0 20 50 52 4f 43 57 69 6d 70 5f 4d 65 6e 75 42 61 | PROCWimp_MenuBa| 000037e0 63 6b 47 72 6f 75 6e 64 43 6f 6c 6f 75 72 28 6d |ckGroundColour(m| 000037f0 65 6e 75 25 2c 69 74 65 6d 25 2c 63 6f 6c 6f 75 |enu%,item%,colou| 00003800 72 25 29 0d 11 80 35 f4 7c 20 20 20 20 20 20 20 |r%)...5.| | 00003810 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 | PROCWimp| 00003820 5f 4d 65 6e 75 43 65 6e 74 72 65 28 6d 65 6e 75 |_MenuCentre(menu| 00003830 25 2c 69 74 65 6d 25 29 0d 11 8a 36 f4 7c 20 20 |%,item%)...6.| | 00003840 20 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4f | PRO| 00003850 43 57 69 6d 70 5f 4d 65 6e 75 44 69 73 61 62 6c |CWimp_MenuDisabl| 00003860 65 28 6d 65 6e 75 25 2c 69 74 65 6d 25 29 0d 11 |e(menu%,item%)..| 00003870 94 35 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |.5.| | 00003880 20 20 20 50 52 4f 43 57 69 6d 70 5f 4d 65 6e 75 | PROCWimp_Menu| 00003890 45 6e 61 62 6c 65 28 6d 65 6e 75 25 2c 69 74 65 |Enable(menu%,ite| 000038a0 6d 25 29 0d 11 9e 4f f4 7c 20 20 20 20 20 20 20 |m%)...O.| | 000038b0 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 | PROCWimp| 000038c0 5f 4d 65 6e 75 57 72 69 74 65 28 6d 65 6e 75 25 |_MenuWrite(menu%| 000038d0 2c 69 74 65 6d 25 2c 62 75 66 66 65 72 25 2c 76 |,item%,buffer%,v| 000038e0 61 6c 25 2c 42 75 66 66 65 72 4c 65 6e 67 74 68 |al%,BufferLength| 000038f0 25 29 0d 11 a8 35 f4 7c 20 20 20 20 20 20 20 20 |%)...5.| | 00003900 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 5f | PROCWimp_| 00003910 4d 65 6e 75 54 69 74 6c 65 28 6d 65 6e 75 25 2c |MenuTitle(menu%,| 00003920 74 69 74 6c 65 24 29 0d 11 b2 39 f4 7c 20 20 20 |title$)...9.| | 00003930 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4f 43 | PROC| 00003940 57 69 6d 70 5f 4d 65 6e 75 49 74 65 6d 28 6d 65 |Wimp_MenuItem(me| 00003950 6e 75 25 2c 69 74 65 6d 25 2c 69 74 65 6d 24 29 |nu%,item%,item$)| 00003960 0d 11 bc 2d f4 7c 20 20 20 20 20 20 20 20 20 20 |...-.| | 00003970 20 20 20 20 20 46 4e 57 69 6d 70 5f 43 72 65 61 | FNWimp_Crea| 00003980 74 65 43 6f 6c 6f 75 72 73 4d 65 6e 75 0d 11 c6 |teColoursMenu...| 00003990 35 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 |5.| | 000039a0 20 20 46 4e 57 69 6d 70 5f 43 72 65 61 74 65 43 | FNWimp_CreateC| 000039b0 6f 6c 6f 75 72 73 4d 65 6e 75 28 74 69 74 6c 65 |oloursMenu(title| 000039c0 24 29 0d 11 d0 06 f4 7c 0d 11 da 35 f4 7c 20 20 |$).....|...5.| | 000039d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d | --| 000039e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000039f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 11 e4 |-------------...| 00003a00 06 f4 7c 0d 11 ee 06 f4 7c 0d 11 f8 06 f4 7c 0d |..|.....|.....|.| 00003a10 12 02 06 f4 7c 0d 12 0c 2c 20 20 20 20 20 20 20 |....|..., | 00003a20 20 20 20 20 20 20 20 20 dd 20 a4 57 69 6d 70 5f | . .Wimp_| 00003a30 4d 65 6e 75 43 72 65 61 74 65 28 6d 65 6e 75 24 |MenuCreate(menu$| 00003a40 29 0d 12 16 1b 20 20 20 20 20 20 20 20 20 20 20 |).... | 00003a50 20 20 20 20 20 ea 20 6d 65 6e 75 25 0d 12 20 42 | . menu%.. B| 00003a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003a70 de 20 6d 65 6e 75 25 20 32 38 2b a4 49 6e 74 65 |. menu% 28+.Inte| 00003a80 72 6e 61 6c 5f 4d 65 6e 75 4e 6f 4f 66 45 6e 74 |rnal_MenuNoOfEnt| 00003a90 72 69 65 73 28 6d 65 6e 75 24 29 2a 32 34 0d 12 |ries(menu$)*24..| 00003aa0 2a 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 3d |*. =| 00003ab0 a4 57 69 6d 70 5f 4d 65 6e 75 42 75 69 6c 64 28 |.Wimp_MenuBuild(| 00003ac0 6d 65 6e 75 25 2c 6d 65 6e 75 24 29 0d 12 34 06 |menu%,menu$)..4.| 00003ad0 f4 7c 0d 12 3e 3c 20 20 20 20 20 20 20 20 20 20 |.|..>< | 00003ae0 20 20 20 20 20 20 20 20 20 20 20 20 dd 20 a4 49 | . .I| 00003af0 6e 74 65 72 6e 61 6c 5f 4d 65 6e 75 4e 6f 4f 66 |nternal_MenuNoOf| 00003b00 45 6e 74 72 69 65 73 28 6d 65 6e 75 24 29 0d 12 |Entries(menu$)..| 00003b10 48 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |H1 | 00003b20 20 20 20 20 20 20 20 20 20 ea 20 6e 25 20 2c 6a | . n% ,j| 00003b30 25 20 3a 20 6e 25 3d 30 20 3a 20 6a 25 3d 30 0d |% : n%=0 : j%=0.| 00003b40 12 52 1c 20 20 20 20 20 20 20 20 20 20 20 20 20 |.R. | 00003b50 20 20 20 20 20 20 20 20 20 20 f5 0d 12 5c 2f 20 | ...\/ | 00003b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003b70 20 20 20 20 20 20 20 6a 25 3d a7 6d 65 6e 75 24 | j%=.menu$| 00003b80 2c 22 5c 22 2c 6a 25 2b 31 29 0d 12 66 2b 20 20 |,"\",j%+1)..f+ | 00003b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003ba0 20 20 20 20 20 20 e7 20 6a 25 3c 3e 30 20 8c 20 | . j%<>0 . | 00003bb0 6e 25 2b 3d 31 0d 12 70 21 20 20 20 20 20 20 20 |n%+=1..p! | 00003bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003bd0 fd 20 6a 25 3d 30 0d 12 7a 1c 20 20 20 20 20 20 |. j%=0..z. | 00003be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d | =| 00003bf0 6e 25 0d 12 84 06 f4 7c 0d 12 8e 31 20 20 20 20 |n%.....|...1 | 00003c00 20 20 20 20 20 20 20 20 20 20 20 dd 20 a4 57 69 | . .Wi| 00003c10 6d 70 5f 4d 65 6e 75 42 75 69 6c 64 28 6d 65 6e |mp_MenuBuild(men| 00003c20 75 25 2c 6d 65 6e 75 24 29 0d 12 98 2d 20 20 20 |u%,menu$)...- | 00003c30 20 20 20 20 20 20 20 20 20 20 20 20 20 ea 20 79 | . y| 00003c40 70 6f 73 25 2c 77 69 64 74 68 25 2c 6c 65 6e 67 |pos%,width%,leng| 00003c50 74 68 25 2c 6b 25 0d 12 a2 47 20 20 20 20 20 20 |th%,k%...G | 00003c60 20 20 20 20 20 20 20 20 20 20 6d 65 6e 75 25 3f | menu%?| 00003c70 31 32 3d 37 20 20 20 3a 20 6d 65 6e 75 25 3f 31 |12=7 : menu%?1| 00003c80 33 3d 32 20 20 3a 20 6d 65 6e 75 25 3f 31 34 3d |3=2 : menu%?14=| 00003c90 37 20 3a 6d 65 6e 75 25 3f 31 35 3d 30 0d 12 ac |7 :menu%?15=0...| 00003ca0 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |; | 00003cb0 20 6d 65 6e 75 25 21 31 36 3d 31 34 30 20 3a 20 | menu%!16=140 : | 00003cc0 6d 65 6e 75 25 21 32 30 3d 34 34 20 3a 20 6d 65 |menu%!20=44 : me| 00003cd0 6e 75 25 21 32 34 3d 30 0d 12 b6 21 20 20 20 20 |nu%!24=0...! | 00003ce0 20 20 20 20 20 20 20 20 20 20 20 20 70 74 72 25 | ptr%| 00003cf0 3d 6d 65 6e 75 25 2b 32 38 0d 12 c0 30 20 20 20 |=menu%+28...0 | 00003d00 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 | $me| 00003d10 6e 75 25 3d c0 6d 65 6e 75 24 2c a7 6d 65 6e 75 |nu%=.menu$,.menu| 00003d20 24 2c 22 5c 22 29 2d 31 29 0d 12 ca 33 20 20 20 |$,"\")-1)...3 | 00003d30 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 64 | wid| 00003d40 74 68 25 3d a9 28 c0 6d 65 6e 75 24 2c a7 6d 65 |th%=.(.menu$,.me| 00003d50 6e 75 24 2c 22 5c 22 29 2d 31 29 29 0d 12 d4 34 |nu$,"\")-1))...4| 00003d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003d70 6d 65 6e 75 24 2b 3d 22 5c 22 20 3a 20 4d 65 6e |menu$+="\" : Men| 00003d80 75 5f 4e 6f 4f 66 45 6e 74 72 69 65 73 25 3d 30 |u_NoOfEntries%=0| 00003d90 0d 12 de 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 00003da0 20 20 20 20 c8 95 20 6d 65 6e 75 24 3c 3e 22 22 | .. menu$<>""| 00003db0 0d 12 e8 30 20 20 20 20 20 20 20 20 20 20 20 20 |...0 | 00003dc0 20 20 20 20 20 6d 65 6e 75 24 3d c1 6d 65 6e 75 | menu$=.menu| 00003dd0 24 2c a7 6d 65 6e 75 24 2c 22 5c 22 29 2b 31 29 |$,.menu$,"\")+1)| 00003de0 0d 12 f2 22 20 20 20 20 20 20 20 20 20 20 20 20 |..." | 00003df0 20 20 20 20 20 e7 20 6d 65 6e 75 24 3c 3e 22 22 | . menu$<>""| 00003e00 20 8c 0d 12 fc 3b 20 20 20 20 20 20 20 20 20 20 | ....; | 00003e10 20 20 20 20 20 20 20 20 21 70 74 72 25 3d 30 20 | !ptr%=0 | 00003e20 3a 20 70 74 72 25 21 34 3d 2d 31 20 3a 20 70 74 |: ptr%!4=-1 : pt| 00003e30 72 25 21 38 3d 26 37 30 30 30 30 32 31 0d 13 06 |r%!8=&7000021...| 00003e40 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |+ | 00003e50 20 20 20 6c 65 6e 67 74 68 25 3d a7 6d 65 6e 75 | length%=.menu| 00003e60 24 2c 22 5c 22 29 2d 31 0d 13 10 2e 20 20 20 20 |$,"\")-1.... | 00003e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 25 | k%| 00003e80 3d a7 c0 6d 65 6e 75 24 2c 6c 65 6e 67 74 68 25 |=..menu$,length%| 00003e90 29 2c 22 3e 22 29 0d 13 1a 1f 20 20 20 20 20 20 |),">").... | 00003ea0 20 20 20 20 20 20 20 20 20 20 20 20 e7 20 6b 25 | . k%| 00003eb0 3c 3e 30 20 8c 0d 13 24 34 20 20 20 20 20 20 20 |<>0 ...$4 | 00003ec0 20 20 20 20 20 20 20 20 20 20 20 20 73 25 3d a0 | s%=.| 00003ed0 28 c1 6d 65 6e 75 24 2c 6b 25 2b 31 2c 6c 65 6e |(.menu$,k%+1,len| 00003ee0 67 74 68 25 2d 6b 25 29 29 0d 13 2e 20 20 20 20 |gth%-k%))... | 00003ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003f00 70 74 72 25 21 34 3d 73 25 0d 13 38 23 20 20 20 |ptr%!4=s%..8# | 00003f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003f20 6c 65 6e 67 74 68 25 3d 6b 25 2d 31 0d 13 42 17 |length%=k%-1..B.| 00003f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003f40 20 20 cd 0d 13 4c 30 20 20 20 20 20 20 20 20 20 | ...L0 | 00003f50 20 20 20 20 20 20 20 20 20 24 28 70 74 72 25 2b | $(ptr%+| 00003f60 31 32 29 3d c0 6d 65 6e 75 24 2c 6c 65 6e 67 74 |12)=.menu$,lengt| 00003f70 68 25 29 0d 13 56 37 20 20 20 20 20 20 20 20 20 |h%)..V7 | 00003f80 20 20 20 20 20 20 20 20 20 e7 20 6c 65 6e 67 74 | . lengt| 00003f90 68 25 3e 77 69 64 74 68 25 20 8c 20 77 69 64 74 |h%>width% . widt| 00003fa0 68 25 3d 6c 65 6e 67 74 68 25 0d 13 60 1e 20 20 |h%=length%..`. | 00003fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003fc0 70 74 72 25 2b 3d 32 34 0d 13 6a 2a 20 20 20 20 |ptr%+=24..j* | 00003fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 65 | Me| 00003fe0 6e 75 5f 4e 6f 4f 66 45 6e 74 72 69 65 73 25 2b |nu_NoOfEntries%+| 00003ff0 3d 31 0d 13 74 16 20 20 20 20 20 20 20 20 20 20 |=1..t. | 00004000 20 20 20 20 20 20 20 cd 0d 13 7e 15 20 20 20 20 | ...~. | 00004010 20 20 20 20 20 20 20 20 20 20 20 20 ce 0d 13 88 | ....| 00004020 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |* | 00004030 20 6d 65 6e 75 25 21 31 36 3d 31 36 2a 28 77 69 | menu%!16=16*(wi| 00004040 64 74 68 25 2b 31 29 0d 13 92 3c 20 20 20 20 20 |dth%+1)...< | 00004050 20 20 20 20 20 20 20 20 20 20 20 70 74 72 25 21 | ptr%!| 00004060 2d 32 34 3d 70 74 72 25 21 2d 32 34 20 84 20 26 |-24=ptr%!-24 . &| 00004070 38 30 20 3a 20 f4 7c 2e 2e 2e 4c 61 73 74 20 69 |80 : .|...Last i| 00004080 74 65 6d 0d 13 9c 19 20 20 20 20 20 20 20 20 20 |tem.... | 00004090 20 20 20 20 20 20 3d 6d 65 6e 75 25 0d 13 a6 06 | =menu%....| 000040a0 f4 7c 0d 13 b0 22 20 20 20 20 20 20 20 20 20 20 |.|..." | 000040b0 20 20 20 dd 20 f2 57 69 6d 70 5f 4d 65 6e 75 43 | . .Wimp_MenuC| 000040c0 6c 6f 73 65 0d 13 ba 29 20 20 20 20 20 20 20 20 |lose...) | 000040d0 20 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 43 | .. "Wimp_C| 000040e0 72 65 61 74 65 4d 65 6e 75 22 2c 2d 31 0d 13 c4 |reateMenu",-1...| 000040f0 12 20 20 20 20 20 20 20 20 20 20 20 20 20 e1 0d |. ..| 00004100 13 ce 06 f4 7c 0d 13 d8 41 20 20 20 20 20 20 20 |....|...A | 00004110 20 20 20 20 20 20 dd 20 a4 57 69 6d 70 5f 4d 65 | . .Wimp_Me| 00004120 6e 75 43 68 6f 69 63 65 28 6c 65 76 65 6c 25 29 |nuChoice(level%)| 00004130 3d 28 62 6c 6f 63 6b 25 21 28 34 2a 6c 65 76 65 |=(block%!(4*leve| 00004140 6c 25 29 29 2b 31 0d 13 e2 06 f4 7c 0d 13 ec 2c |l%))+1.....|...,| 00004150 20 20 20 20 20 20 20 20 20 20 20 20 20 dd 20 f2 | . .| 00004160 57 69 6d 70 5f 4d 65 6e 75 50 6f 70 55 70 42 61 |Wimp_MenuPopUpBa| 00004170 72 28 78 25 2c 79 25 29 0d 13 f6 1d 20 20 20 20 |r(x%,y%).... | 00004180 20 20 20 20 20 20 20 20 20 20 ea 20 6e 25 20 3a | . n% :| 00004190 20 6e 25 3d 30 0d 14 00 39 20 20 20 20 20 20 20 | n%=0...9 | 000041a0 20 20 20 20 20 20 20 c8 95 20 28 28 42 61 72 5f | .. ((Bar_| 000041b0 4d 65 6e 75 25 21 28 32 38 2b 6e 25 2a 32 34 29 |Menu%!(28+n%*24)| 000041c0 29 80 25 31 30 30 30 30 30 30 30 29 3d 30 0d 14 |).%10000000)=0..| 000041d0 0a 18 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 000041e0 20 6e 25 2b 3d 31 0d 14 14 13 20 20 20 20 20 20 | n%+=1.... | 000041f0 20 20 20 20 20 20 20 20 ce 0d 14 1e 40 20 20 20 | ....@ | 00004200 20 20 20 20 20 20 20 20 20 20 20 c8 99 20 22 57 | .. "W| 00004210 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c |imp_CreateMenu",| 00004220 2c 42 61 72 5f 4d 65 6e 75 25 2c 78 25 2d 36 34 |,Bar_Menu%,x%-64| 00004230 2c 39 36 2b 6e 25 2a 34 34 0d 14 28 21 20 20 20 |,96+n%*44..(! | 00004240 20 20 20 20 20 20 20 20 20 20 20 6d 65 6e 75 25 | menu%| 00004250 3d 42 61 72 5f 4d 65 6e 75 25 0d 14 32 12 20 20 |=Bar_Menu%..2. | 00004260 20 20 20 20 20 20 20 20 20 20 20 e1 0d 14 3c 04 | ...<.| 00004270 0d 14 46 06 f4 7c 0d 14 50 2f 20 20 20 20 20 20 |..F..|..P/ | 00004280 20 20 20 20 20 20 20 dd 20 f2 57 69 6d 70 5f 4d | . .Wimp_M| 00004290 65 6e 75 50 6f 70 55 70 28 4d 65 6e 75 25 2c 78 |enuPopUp(Menu%,x| 000042a0 25 2c 79 25 29 0d 14 5a 1d 20 20 20 20 20 20 20 |%,y%)..Z. | 000042b0 20 20 20 20 20 20 20 6d 65 6e 75 25 3d 4d 65 6e | menu%=Men| 000042c0 75 25 0d 14 64 39 20 20 20 20 20 20 20 20 20 20 |u%..d9 | 000042d0 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 43 72 65 | .. "Wimp_Cre| 000042e0 61 74 65 4d 65 6e 75 22 2c 2c 6d 65 6e 75 25 2c |ateMenu",,menu%,| 000042f0 78 25 2d 36 34 2c 79 25 2b 32 30 0d 14 6e 12 20 |x%-64,y%+20..n. | 00004300 20 20 20 20 20 20 20 20 20 20 20 20 e1 0d 14 78 | ...x| 00004310 06 f4 7c 0d 14 82 36 20 20 20 20 20 20 20 20 20 |..|...6 | 00004320 20 20 20 20 dd 20 f2 57 69 6d 70 5f 4d 65 6e 75 | . .Wimp_Menu| 00004330 47 6c 75 65 28 6d 65 6e 75 31 25 2c 69 74 65 6d |Glue(menu1%,item| 00004340 25 2c 6d 65 6e 75 32 25 29 0d 14 8c 2c 20 20 20 |%,menu2%)..., | 00004350 20 20 20 20 20 20 20 20 20 20 20 6d 65 6e 75 31 | menu1| 00004360 25 21 28 38 2b 69 74 65 6d 25 2a 32 34 29 3d 6d |%!(8+item%*24)=m| 00004370 65 6e 75 32 25 0d 14 96 12 20 20 20 20 20 20 20 |enu2%.... | 00004380 20 20 20 20 20 20 e1 0d 14 a0 31 20 20 20 20 20 | ....1 | 00004390 20 20 20 20 20 20 20 20 dd 20 f2 57 69 6d 70 5f | . .Wimp_| 000043a0 4d 65 6e 75 4d 65 73 73 61 67 65 28 6d 65 6e 75 |MenuMessage(menu| 000043b0 25 2c 69 74 65 6d 25 29 0d 14 aa 4a 20 20 20 20 |%,item%)...J | 000043c0 20 20 20 20 20 20 20 20 20 20 6d 65 6e 75 25 21 | menu%!| 000043d0 28 32 38 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 |(28+(item%-1)*24| 000043e0 29 3d 28 6d 65 6e 75 25 21 28 32 38 2b 28 69 74 |)=(menu%!(28+(it| 000043f0 65 6d 25 2d 31 29 2a 32 34 29 29 82 28 31 3c 3c |em%-1)*24)).(1<<| 00004400 33 29 0d 14 b4 12 20 20 20 20 20 20 20 20 20 20 |3).... | 00004410 20 20 20 e1 0d 14 be 06 f4 7c 0d 14 c8 2e 20 20 | ......|.... | 00004420 20 20 20 20 20 20 20 20 20 20 20 dd 20 f2 57 69 | . .Wi| 00004430 6d 70 5f 4d 65 6e 75 54 69 63 6b 28 6d 65 6e 75 |mp_MenuTick(menu| 00004440 25 2c 69 74 65 6d 25 29 0d 14 d2 45 20 20 20 20 |%,item%)...E | 00004450 20 20 20 20 20 20 20 20 20 20 6d 65 6e 75 25 21 | menu%!| 00004460 28 32 38 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 |(28+(item%-1)*24| 00004470 29 3d 28 6d 65 6e 75 25 21 28 32 38 2b 28 69 74 |)=(menu%!(28+(it| 00004480 65 6d 25 2d 31 29 2a 32 34 29 29 82 31 0d 14 dc |em%-1)*24)).1...| 00004490 12 20 20 20 20 20 20 20 20 20 20 20 20 20 e1 0d |. ..| 000044a0 14 e6 06 f4 7c 0d 14 f0 34 20 20 20 20 20 20 20 |....|...4 | 000044b0 20 20 20 20 20 20 dd 20 f2 57 69 6d 70 5f 4d 65 | . .Wimp_Me| 000044c0 6e 75 44 6f 74 74 65 64 4c 69 6e 65 28 6d 65 6e |nuDottedLine(men| 000044d0 75 25 2c 69 74 65 6d 25 29 0d 14 fa 45 20 20 20 |u%,item%)...E | 000044e0 20 20 20 20 20 20 20 20 20 20 20 6d 65 6e 75 25 | menu%| 000044f0 21 28 32 38 2b 28 69 74 65 6d 25 2d 31 29 2a 32 |!(28+(item%-1)*2| 00004500 34 29 3d 28 6d 65 6e 75 25 21 28 32 38 2b 28 69 |4)=(menu%!(28+(i| 00004510 74 65 6d 25 2d 31 29 2a 32 34 29 29 84 32 0d 15 |tem%-1)*24)).2..| 00004520 04 12 20 20 20 20 20 20 20 20 20 20 20 20 20 e1 |.. .| 00004530 0d 15 0e 06 f4 7c 0d 15 18 3e 20 20 20 20 20 20 |.....|...> | 00004540 20 20 20 dd 20 f2 57 69 6d 70 5f 4d 65 6e 75 46 | . .Wimp_MenuF| 00004550 6f 72 65 47 72 6f 75 6e 64 43 6f 6c 6f 75 72 28 |oreGroundColour(| 00004560 6d 65 6e 75 25 2c 69 74 65 6d 25 2c 63 6f 6c 6f |menu%,item%,colo| 00004570 75 72 25 29 0d 15 22 4f 20 20 20 20 20 20 20 20 |ur%).."O | 00004580 20 20 6d 65 6e 75 25 3f 28 33 39 2b 28 69 74 65 | menu%?(39+(ite| 00004590 6d 25 2d 31 29 2a 32 34 29 3d 63 6f 6c 6f 75 72 |m%-1)*24)=colour| 000045a0 25 2b 31 36 2a 28 28 6d 65 6e 75 25 3f 28 33 39 |%+16*((menu%?(39| 000045b0 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 29 81 |+(item%-1)*24)).| 000045c0 31 36 29 0d 15 2c 0e 20 20 20 20 20 20 20 20 20 |16)..,. | 000045d0 e1 0d 15 36 06 f4 7c 0d 15 40 3e 20 20 20 20 20 |...6..|..@> | 000045e0 20 20 20 20 dd 20 f2 57 69 6d 70 5f 4d 65 6e 75 | . .Wimp_Menu| 000045f0 42 61 63 6b 47 72 6f 75 6e 64 43 6f 6c 6f 75 72 |BackGroundColour| 00004600 28 6d 65 6e 75 25 2c 69 74 65 6d 25 2c 63 6f 6c |(menu%,item%,col| 00004610 6f 75 72 25 29 0d 15 4a 19 20 20 20 20 20 20 20 |our%)..J. | 00004620 20 20 20 20 ea 20 66 6f 72 65 25 2c 69 25 0d 15 | . fore%,i%..| 00004630 54 31 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 |T1 for| 00004640 65 25 3d 28 6d 65 6e 75 25 3f 28 33 39 2b 28 69 |e%=(menu%?(39+(i| 00004650 74 65 6d 25 2d 31 29 2a 32 34 29 29 83 31 36 0d |tem%-1)*24)).16.| 00004660 15 5e 33 20 20 20 20 20 20 20 20 20 20 20 69 25 |.^3 i%| 00004670 3d 28 28 6d 65 6e 75 25 3f 28 33 39 2b 28 69 74 |=((menu%?(39+(it| 00004680 65 6d 25 2d 31 29 2a 32 34 29 29 81 31 36 29 83 |em%-1)*24)).16).| 00004690 31 36 0d 15 68 3a 20 20 20 20 20 20 20 20 20 20 |16..h: | 000046a0 20 6d 65 6e 75 25 3f 28 33 39 2b 28 69 74 65 6d | menu%?(39+(item| 000046b0 25 2d 31 29 2a 32 34 29 3d 66 6f 72 65 25 2b 31 |%-1)*24)=fore%+1| 000046c0 36 2a 63 6f 6c 6f 75 72 25 2b 69 25 0d 15 72 0e |6*colour%+i%..r.| 000046d0 20 20 20 20 20 20 20 20 20 e1 0d 15 7c 06 f4 7c | ...|..|| 000046e0 0d 15 86 30 20 20 20 20 20 20 20 20 20 20 20 20 |...0 | 000046f0 20 dd 20 f2 57 69 6d 70 5f 4d 65 6e 75 43 65 6e | . .Wimp_MenuCen| 00004700 74 72 65 28 6d 65 6e 75 25 2c 69 74 65 6d 25 29 |tre(menu%,item%)| 00004710 0d 15 90 48 20 20 20 20 20 20 20 20 20 20 20 20 |...H | 00004720 20 20 6d 65 6e 75 25 21 28 33 36 2b 28 69 74 65 | menu%!(36+(ite| 00004730 6d 25 2d 31 29 2a 32 34 29 3d 6d 65 6e 75 25 21 |m%-1)*24)=menu%!| 00004740 28 33 36 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 |(36+(item%-1)*24| 00004750 29 84 28 31 3c 3c 33 29 0d 15 9a 12 20 20 20 20 |).(1<<3).... | 00004760 20 20 20 20 20 20 20 20 20 e1 0d 15 a4 06 f4 7c | ......|| 00004770 0d 15 ae 30 20 20 20 20 20 20 20 20 20 20 20 20 |...0 | 00004780 dd 20 f2 57 69 6d 70 5f 4d 65 6e 75 44 69 73 61 |. .Wimp_MenuDisa| 00004790 62 6c 65 28 6d 65 6e 75 25 2c 69 74 65 6d 25 29 |ble(menu%,item%)| 000047a0 0d 15 b8 48 20 20 20 20 20 20 20 20 20 20 20 20 |...H | 000047b0 20 6d 65 6e 75 25 21 28 33 36 2b 28 69 74 65 6d | menu%!(36+(item| 000047c0 25 2d 31 29 2a 32 34 29 3d 6d 65 6e 75 25 21 28 |%-1)*24)=menu%!(| 000047d0 33 36 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 |36+(item%-1)*24)| 000047e0 84 28 31 3c 3c 32 32 29 0d 15 c2 11 20 20 20 20 |.(1<<22).... | 000047f0 20 20 20 20 20 20 20 20 e1 0d 15 cc 06 f4 7c 0d | ......|.| 00004800 15 d6 2f 20 20 20 20 20 20 20 20 20 20 20 20 dd |../ .| 00004810 20 f2 57 69 6d 70 5f 4d 65 6e 75 45 6e 61 62 6c | .Wimp_MenuEnabl| 00004820 65 28 6d 65 6e 75 25 2c 69 74 65 6d 25 29 0d 15 |e(menu%,item%)..| 00004830 e0 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 |./ .| 00004840 57 69 6d 70 5f 4d 65 6e 75 44 69 73 61 62 6c 65 |Wimp_MenuDisable| 00004850 28 6d 65 6e 75 25 2c 69 74 65 6d 25 29 0d 15 ea |(menu%,item%)...| 00004860 48 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 |H me| 00004870 6e 75 25 21 28 33 36 2b 28 69 74 65 6d 25 2d 31 |nu%!(36+(item%-1| 00004880 29 2a 32 34 29 3d 6d 65 6e 75 25 21 28 33 36 2b |)*24)=menu%!(36+| 00004890 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 82 28 31 |(item%-1)*24).(1| 000048a0 3c 3c 32 32 29 0d 15 f4 11 20 20 20 20 20 20 20 |<<22).... | 000048b0 20 20 20 20 20 e1 0d 15 fe 06 f4 7c 0d 16 08 49 | ......|...I| 000048c0 20 20 20 20 20 20 20 20 20 20 20 20 dd 20 f2 57 | . .W| 000048d0 69 6d 70 5f 4d 65 6e 75 57 72 69 74 65 28 6d 65 |imp_MenuWrite(me| 000048e0 6e 75 25 2c 69 74 65 6d 25 2c 62 75 66 66 65 72 |nu%,item%,buffer| 000048f0 25 2c 76 61 6c 25 2c 42 75 66 66 65 72 4c 65 6e |%,val%,BufferLen| 00004900 67 74 68 25 29 0d 16 12 44 20 20 20 20 20 20 20 |gth%)...D | 00004910 20 20 20 20 20 20 6d 65 6e 75 25 21 28 32 38 2b | menu%!(28+| 00004920 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 3d 28 6d |(item%-1)*24)=(m| 00004930 65 6e 75 25 21 28 32 38 2b 28 69 74 65 6d 25 2d |enu%!(28+(item%-| 00004940 31 29 2a 32 34 29 29 84 34 0d 16 1c 45 20 20 20 |1)*24)).4...E | 00004950 20 20 20 20 20 20 20 20 20 20 6d 65 6e 75 25 21 | menu%!| 00004960 28 33 36 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 |(36+(item%-1)*24| 00004970 29 3d 6d 65 6e 75 25 21 28 33 36 2b 28 69 74 65 |)=menu%!(36+(ite| 00004980 6d 25 2d 31 29 2a 32 34 29 84 26 31 30 30 0d 16 |m%-1)*24).&100..| 00004990 26 30 20 20 20 20 20 20 20 20 20 20 20 20 20 6d |&0 m| 000049a0 65 6e 75 25 21 28 34 30 2b 28 69 74 65 6d 25 2d |enu%!(40+(item%-| 000049b0 31 29 2a 32 34 29 3d 62 75 66 66 65 72 25 0d 16 |1)*24)=buffer%..| 000049c0 30 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 6d |0- m| 000049d0 65 6e 75 25 21 28 34 34 2b 28 69 74 65 6d 25 2d |enu%!(44+(item%-| 000049e0 31 29 2a 32 34 29 3d 76 61 6c 25 0d 16 3a 36 20 |1)*24)=val%..:6 | 000049f0 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6e 75 | menu| 00004a00 25 21 28 34 38 2b 28 69 74 65 6d 25 2d 31 29 2a |%!(48+(item%-1)*| 00004a10 32 34 29 3d 42 75 66 66 65 72 4c 65 6e 67 74 68 |24)=BufferLength| 00004a20 25 0d 16 44 11 20 20 20 20 20 20 20 20 20 20 20 |%..D. | 00004a30 20 e1 0d 16 4e 06 f4 7c 0d 16 58 2f 20 20 20 20 | ...N..|..X/ | 00004a40 20 20 20 20 20 20 20 20 dd 20 f2 57 69 6d 70 5f | . .Wimp_| 00004a50 4d 65 6e 75 54 69 74 6c 65 28 6d 65 6e 75 25 2c |MenuTitle(menu%,| 00004a60 74 69 74 6c 65 24 29 0d 16 62 26 20 20 20 20 20 |title$)..b& | 00004a70 20 20 20 20 20 20 20 20 24 6d 65 6e 75 25 3d c0 | $menu%=.| 00004a80 74 69 74 6c 65 24 2c 31 32 29 2b bd 30 0d 16 6c |title$,12)+.0..l| 00004a90 11 20 20 20 20 20 20 20 20 20 20 20 20 e1 0d 16 |. ...| 00004aa0 76 06 f4 7c 0d 16 80 33 20 20 20 20 20 20 20 20 |v..|...3 | 00004ab0 20 20 20 20 dd 20 f2 57 69 6d 70 5f 4d 65 6e 75 | . .Wimp_Menu| 00004ac0 49 74 65 6d 28 6d 65 6e 75 25 2c 69 74 65 6d 25 |Item(menu%,item%| 00004ad0 2c 69 74 65 6d 24 29 0d 16 8a 39 20 20 20 20 20 |,item$)...9 | 00004ae0 20 20 20 20 20 20 20 20 24 28 6d 65 6e 75 25 2b | $(menu%+| 00004af0 28 34 30 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 |(40+(item%-1)*24| 00004b00 29 29 3d c0 69 74 65 6d 24 2c 31 32 29 2b bd 30 |))=.item$,12)+.0| 00004b10 0d 16 94 11 20 20 20 20 20 20 20 20 20 20 20 20 |.... | 00004b20 e1 0d 16 9e 06 f4 7c 0d 16 a8 4a 20 20 20 20 20 |......|...J | 00004b30 20 20 20 20 20 20 20 dd 20 a4 57 69 6d 70 5f 43 | . .Wimp_C| 00004b40 72 65 61 74 65 43 6f 6c 6f 75 72 73 4d 65 6e 75 |reateColoursMenu| 00004b50 20 3d a4 57 69 6d 70 5f 43 72 65 61 74 65 43 6f | =.Wimp_CreateCo| 00004b60 6c 6f 75 72 73 4d 65 6e 75 28 22 20 20 20 20 22 |loursMenu(" "| 00004b70 29 0d 16 b2 06 f4 7c 0d 16 bc 31 20 20 20 20 20 |).....|...1 | 00004b80 20 20 20 20 20 20 20 dd 20 a4 57 69 6d 70 5f 43 | . .Wimp_C| 00004b90 72 65 61 74 65 43 6f 6c 6f 75 72 73 4d 65 6e 75 |reateColoursMenu| 00004ba0 28 74 69 74 6c 65 24 29 0d 16 c6 1d 20 20 20 20 |(title$).... | 00004bb0 20 20 20 20 20 20 20 20 20 ea 20 78 24 2c 6d 65 | . x$,me| 00004bc0 6e 25 2c 6a 25 0d 16 d0 43 20 20 20 20 20 20 20 |n%,j%...C | 00004bd0 20 20 20 20 20 20 78 24 3d 74 69 74 6c 65 24 2b | x$=title$+| 00004be0 22 5c 30 5c 31 5c 32 5c 33 5c 34 5c 35 5c 36 5c |"\0\1\2\3\4\5\6\| 00004bf0 37 5c 38 5c 39 5c 31 30 5c 31 31 5c 31 32 5c 31 |7\8\9\10\11\12\1| 00004c00 33 5c 31 34 5c 31 35 22 0d 16 da 2a 20 20 20 20 |3\14\15"...* | 00004c10 20 20 20 20 20 20 20 20 20 6d 65 6e 25 3d a4 57 | men%=.W| 00004c20 69 6d 70 5f 4d 65 6e 75 43 72 65 61 74 65 28 78 |imp_MenuCreate(x| 00004c30 24 29 0d 16 e4 1c 20 20 20 20 20 20 20 20 20 20 |$).... | 00004c40 20 20 20 e3 20 69 25 3d 30 20 b8 20 31 35 0d 16 | . i%=0 . 15..| 00004c50 ee 18 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 00004c60 c8 8e 20 b9 20 ca 0d 16 f8 37 20 20 20 20 20 20 |.. . ....7 | 00004c70 20 20 20 20 20 20 20 20 20 c9 20 69 25 3c 34 2c | . i%<4,| 00004c80 69 25 3d 39 2c 69 25 3d 31 32 2c 69 25 3d 31 34 |i%=9,i%=12,i%=14| 00004c90 2c 69 25 3d 31 35 20 3a 20 6a 25 3d 37 0d 17 02 |,i%=15 : j%=7...| 00004ca0 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |2 | 00004cb0 7f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00004cc0 20 20 20 20 20 20 20 20 20 3a 20 6a 25 3d 30 0d | : j%=0.| 00004cd0 17 0c 13 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 00004ce0 20 cb 0d 17 16 2a 20 20 20 20 20 20 20 20 20 20 | ....* | 00004cf0 20 20 20 20 6d 65 6e 25 3f 28 33 39 2b 69 25 2a | men%?(39+i%*| 00004d00 32 34 29 3d 69 25 2a 31 36 2b 6a 25 0d 17 20 2d |24)=i%*16+j%.. -| 00004d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 57 | .W| 00004d20 69 6d 70 5f 4d 65 6e 75 43 65 6e 74 72 65 28 6d |imp_MenuCentre(m| 00004d30 65 6e 25 2c 69 25 2b 31 29 0d 17 2a 12 20 20 20 |en%,i%+1)..*. | 00004d40 20 20 20 20 20 20 20 20 20 20 ed 0d 17 34 15 20 | ...4. | 00004d50 20 20 20 20 20 20 20 20 20 20 20 3d 6d 65 6e 25 | =men%| 00004d60 0d 17 3e 06 f4 7c 0d 17 48 06 f4 7c 0d 17 52 06 |..>..|..H..|..R.| 00004d70 f4 7c 0d 17 5c 06 f4 7c 0d 17 66 31 f4 7c 20 20 |.|..\..|..f1.| | 00004d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00004d90 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00004da0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 17 70 28 f4 7c 20 |---------..p(.| | 00004db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00004dc0 20 20 20 20 20 20 20 20 20 36 2e a0 46 69 6c 65 | 6..File| 00004dd0 73 0d 17 7a 31 f4 7c 20 20 20 20 20 20 20 20 20 |s..z1.| | 00004de0 20 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d | -------| 00004df0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00004e00 2d 2d 0d 17 84 06 f4 7c 0d 17 8e 06 f4 7c 0d 17 |--.....|.....|..| 00004e10 98 35 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |.5.| | 00004e20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ------------| 00004e30 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00004e40 2d 2d 2d 0d 17 a2 06 f4 7c 0d 17 ac 28 f4 7c 20 |---.....|...(.| | 00004e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00004e60 20 20 20 20 20 50 72 6f 63 65 64 75 72 65 73 20 | Procedures | 00004e70 3a 0d 17 b6 06 f4 7c 0d 17 c0 2c f4 7c 20 20 20 |:.....|...,.| | 00004e80 20 20 20 20 20 20 20 20 20 20 20 20 46 4e 55 74 | FNUt| 00004e90 69 6c 73 5f 46 69 6c 65 54 79 70 65 28 74 79 70 |ils_FileType(typ| 00004ea0 65 25 29 0d 17 ca 2b f4 7c 20 20 20 20 20 20 20 |e%)...+.| | 00004eb0 20 20 20 20 20 20 20 20 46 4e 57 69 6d 70 5f 47 | FNWimp_G| 00004ec0 65 74 46 69 6c 65 50 61 74 68 4e 61 6d 65 0d 17 |etFilePathName..| 00004ed0 d4 30 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |.0.| | 00004ee0 20 20 20 46 4e 55 74 69 6c 73 5f 46 69 6c 65 4c | FNUtils_FileL| 00004ef0 6f 61 64 28 70 61 74 68 6e 61 6d 65 24 29 0d 17 |oad(pathname$)..| 00004f00 de 35 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |.5.| | 00004f10 20 20 20 46 4e 55 74 69 6c 73 5f 47 65 74 53 74 | FNUtils_GetSt| 00004f20 72 69 6e 67 41 74 41 64 64 72 65 73 73 28 70 74 |ringAtAddress(pt| 00004f30 72 25 29 0d 17 e8 34 f4 7c 20 20 20 20 20 20 20 |r%)...4.| | 00004f40 20 20 20 20 20 20 20 20 46 4e 55 74 69 6c 73 5f | FNUtils_| 00004f50 47 65 74 46 69 6c 65 46 72 6f 6d 50 61 74 68 6e |GetFileFromPathn| 00004f60 61 6d 65 28 66 24 29 0d 17 f2 06 f4 7c 0d 17 fc |ame(f$).....|...| 00004f70 06 f4 7c 0d 18 06 35 f4 7c 20 20 20 20 20 20 20 |..|...5.| | 00004f80 20 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d | -------| 00004f90 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00004fa0 2d 2d 2d 2d 2d 2d 2d 2d 0d 18 10 06 f4 7c 0d 18 |--------.....|..| 00004fb0 1a 06 f4 7c 0d 18 24 06 f4 7c 0d 18 2e 06 f4 7c |...|..$..|.....|| 00004fc0 0d 18 38 25 20 20 20 20 20 20 20 20 20 dd 20 a4 |..8% . .| 00004fd0 55 74 69 6c 73 5f 46 69 6c 65 54 79 70 65 28 74 |Utils_FileType(t| 00004fe0 79 70 65 25 29 0d 18 42 18 20 20 20 20 20 20 20 |ype%)..B. | 00004ff0 20 20 20 c8 8e 20 74 79 70 65 25 20 ca 0d 18 4c | .. type% ...L| 00005000 1e 20 20 20 20 20 20 20 20 20 20 20 c9 20 26 46 |. . &F| 00005010 46 46 20 3a 3d 22 54 65 78 74 22 0d 18 56 1e 20 |FF :="Text"..V. | 00005020 20 20 20 20 20 20 20 20 20 20 c9 20 26 46 46 44 | . &FFD| 00005030 20 3a 3d 22 44 61 74 61 22 0d 18 60 1f 20 20 20 | :="Data"..`. | 00005040 20 20 20 20 20 20 20 20 c9 20 26 46 46 42 20 3a | . &FFB :| 00005050 3d 22 42 61 73 69 63 22 0d 18 6a 20 20 20 20 20 |="Basic"..j | 00005060 20 20 20 20 20 20 20 c9 20 26 46 46 39 20 3a 3d | . &FF9 :=| 00005070 22 53 70 72 69 74 65 22 0d 18 74 21 20 20 20 20 |"Sprite"..t! | 00005080 20 20 20 20 20 20 20 c9 20 26 46 45 44 20 3a 3d | . &FED :=| 00005090 22 50 61 6c 65 74 74 65 22 0d 18 7e 22 20 20 20 |"Palette"..~" | 000050a0 20 20 20 20 20 20 20 20 c9 20 26 46 45 43 20 3a | . &FEC :| 000050b0 3d 22 54 65 6d 70 6c 61 74 65 22 0d 18 88 1e 20 |="Template".... | 000050c0 20 20 20 20 20 20 20 20 20 20 c9 20 26 41 46 46 | . &AFF| 000050d0 20 3a 3d 22 44 72 61 77 22 0d 18 92 20 20 20 20 | :="Draw"... | 000050e0 20 20 20 20 20 20 20 20 c9 20 26 31 30 30 30 3a | . &1000:| 000050f0 3d 22 46 6f 6c 64 65 72 22 0d 18 9c 25 20 20 20 |="Folder"...% | 00005100 20 20 20 20 20 20 20 20 c9 20 26 32 30 30 30 3a | . &2000:| 00005110 3d 22 41 70 70 6c 69 63 61 74 69 6f 6e 22 0d 18 |="Application"..| 00005120 a6 1a 20 20 20 20 20 20 20 20 20 20 20 7f 3d c3 |.. .=.| 00005130 7e 28 74 79 70 65 25 29 0d 18 b0 0f 20 20 20 20 |~(type%).... | 00005140 20 20 20 20 20 20 cb 0d 18 ba 06 f4 7c 0d 18 c4 | ......|...| 00005150 4a 20 20 20 20 20 20 20 20 20 dd 20 a4 57 69 6d |J . .Wim| 00005160 70 5f 47 65 74 46 69 6c 65 50 61 74 68 4e 61 6d |p_GetFilePathNam| 00005170 65 20 3d a4 55 74 69 6c 73 5f 47 65 74 53 74 72 |e =.Utils_GetStr| 00005180 69 6e 67 41 74 41 64 64 72 65 73 73 28 62 6c 6f |ingAtAddress(blo| 00005190 63 6b 25 2b 34 34 29 0d 18 ce 05 f4 0d 18 d8 29 |ck%+44)........)| 000051a0 20 20 20 20 20 20 20 20 20 dd 20 a4 55 74 69 6c | . .Util| 000051b0 73 5f 46 69 6c 65 4c 6f 61 64 28 70 61 74 68 6e |s_FileLoad(pathn| 000051c0 61 6d 65 24 29 0d 18 e2 1a 20 20 20 20 20 20 20 |ame$).... | 000051d0 20 20 ea 20 53 25 2c 54 25 2c 66 69 6c 65 25 0d | . S%,T%,file%.| 000051e0 18 ec 1b 20 20 20 20 20 20 20 20 20 53 25 3d 8e |... S%=.| 000051f0 20 70 61 74 68 6e 61 6d 65 24 0d 18 f6 17 20 20 | pathname$.... | 00005200 20 20 20 20 20 20 20 54 25 3d a2 23 53 25 2b 31 | T%=.#S%+1| 00005210 36 0d 19 00 11 20 20 20 20 20 20 20 20 20 d9 23 |6.... .#| 00005220 53 25 0d 19 0a 17 20 20 20 20 20 20 20 20 20 de |S%.... .| 00005230 20 66 69 6c 65 25 20 54 25 0d 19 14 2d 20 20 20 | file% T%...- | 00005240 20 20 20 20 20 20 ff 28 22 4c 4f 41 44 20 22 2b | .("LOAD "+| 00005250 70 61 74 68 6e 61 6d 65 24 2b 22 20 22 2b c3 7e |pathname$+" "+.~| 00005260 66 69 6c 65 25 29 0d 19 1e 12 20 20 20 20 20 20 |file%).... | 00005270 20 20 3d 66 69 6c 65 25 0d 19 28 06 f4 7c 0d 19 | =file%..(..|..| 00005280 32 2e 20 20 20 20 20 20 20 20 20 dd 20 a4 55 74 |2. . .Ut| 00005290 69 6c 73 5f 47 65 74 53 74 72 69 6e 67 41 74 41 |ils_GetStringAtA| 000052a0 64 64 72 65 73 73 28 70 74 72 25 29 0d 19 3c 19 |ddress(ptr%)..<.| 000052b0 20 20 20 20 20 20 20 20 20 ea 20 73 24 20 3a 20 | . s$ : | 000052c0 73 24 3d 22 22 0d 19 46 42 20 20 20 20 20 20 20 |s$=""..FB | 000052d0 20 20 c8 95 20 28 3f 70 74 72 25 3c 3e 31 33 29 | .. (?ptr%<>13)| 000052e0 80 28 3f 70 74 72 25 3c 3e 30 29 20 3a 20 73 24 |.(?ptr%<>0) : s$| 000052f0 2b 3d bd 28 3f 70 74 72 25 29 3a 20 70 74 72 25 |+=.(?ptr%): ptr%| 00005300 2b 3d 31 20 3a ce 3a 0d 19 50 0f 20 20 20 20 20 |+=1 :.:..P. | 00005310 20 20 20 3d 73 24 0d 19 5a 06 f4 7c 0d 19 64 2d | =s$..Z..|..d-| 00005320 20 20 20 20 20 20 20 20 20 dd 20 a4 55 74 69 6c | . .Util| 00005330 73 5f 47 65 74 46 69 6c 65 46 72 6f 6d 50 61 74 |s_GetFileFromPat| 00005340 68 6e 61 6d 65 28 66 24 29 0d 19 6e 1b 20 20 20 |hname(f$)..n. | 00005350 20 20 20 20 20 20 e7 20 a7 66 24 2c 22 2e 22 29 | . .f$,".")| 00005360 3d 30 20 8c 0d 19 78 11 20 20 20 20 20 20 20 20 |=0 ...x. | 00005370 20 20 3d 66 24 0d 19 82 0e 20 20 20 20 20 20 20 | =f$.... | 00005380 20 20 cc 0d 19 8c 40 20 20 20 20 20 20 20 20 20 | ....@ | 00005390 20 3d a4 55 74 69 6c 73 5f 47 65 74 53 74 72 69 | =.Utils_GetStri| 000053a0 6e 67 46 72 6f 6d 50 61 74 68 6e 61 6d 65 28 c2 |ngFromPathname(.| 000053b0 66 24 2c a9 28 66 24 29 2d a7 66 24 2c 22 2e 22 |f$,.(f$)-.f$,"."| 000053c0 29 29 29 0d 19 96 0e 20 20 20 20 20 20 20 20 20 |))).... | 000053d0 cd 0d 19 a0 06 f4 7c 0d 19 aa 06 f4 7c 0d 19 b4 |......|.....|...| 000053e0 06 f4 7c 0d 19 be 06 f4 7c 0d 19 c8 06 f4 7c 0d |..|.....|.....|.| 000053f0 19 d2 06 f4 7c 0d 19 dc 06 f4 7c 0d 19 e6 06 f4 |....|.....|.....| 00005400 7c 0d 19 f0 06 f4 7c 0d 19 fa 06 f4 7c 0d 1a 04 ||.....|.....|...| 00005410 31 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 |1.| | 00005420 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -----------| 00005430 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 1a |--------------..| 00005440 0e 2a f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |.*.| | 00005450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37 2e | 7.| 00005460 a0 53 70 72 69 74 65 73 0d 1a 18 31 f4 7c 20 20 |.Sprites...1.| | 00005470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00005480 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00005490 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 1a 22 06 f4 7c 0d |---------.."..|.| 000054a0 1a 2c 06 f4 7c 0d 1a 36 35 f4 7c 20 20 20 20 20 |.,..|..65.| | 000054b0 20 20 20 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d | -----| 000054c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000054d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 1a 40 06 f4 7c |----------..@..|| 000054e0 0d 1a 4a 28 f4 7c 20 20 20 20 20 20 20 20 20 20 |..J(.| | 000054f0 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 63 | Proc| 00005500 65 64 75 72 65 73 20 3a 0d 1a 54 06 f4 7c 0d 1a |edures :..T..|..| 00005510 5e 06 f4 7c 0d 1a 68 06 f4 7c 0d 1a 72 06 f4 7c |^..|..h..|..r..|| 00005520 0d 1a 7c 06 f4 7c 0d 1a 86 06 f4 7c 0d 1a 90 06 |..|..|.....|....| 00005530 f4 7c 0d 1a 9a 06 f4 7c 0d 1a a4 35 f4 7c 20 20 |.|.....|...5.| | 00005540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d | --| 00005550 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00005560 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 1a ae |-------------...| 00005570 06 f4 7c 0d 1a b8 06 f4 7c 0d 1a c2 06 f4 7c 0d |..|.....|.....|.| 00005580 1a cc 06 f4 7c 0d 1a d6 06 f4 7c 0d 1a e0 06 f4 |....|.....|.....| 00005590 7c 0d 1a ea 06 f4 7c 0d 1a f4 31 f4 7c 20 20 20 ||.....|...1.| | 000055a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d | -| 000055b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000055c0 2d 2d 2d 2d 2d 2d 2d 2d 0d 1a fe 27 f4 7c 20 20 |--------...'.| | 000055d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000055e0 20 20 20 20 20 20 20 38 2e a0 53 61 76 65 73 0d | 8..Saves.| 000055f0 1b 08 31 f4 7c 20 20 20 20 20 20 20 20 20 20 20 |..1.| | 00005600 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d | ---------| 00005610 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00005620 0d 1b 12 06 f4 7c 0d 1b 1c 06 f4 7c 0d 1b 26 35 |.....|.....|..&5| 00005630 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.| | 00005640 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | --------------| 00005650 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00005660 2d 0d 1b 30 06 f4 7c 0d 1b 3a 28 f4 7c 20 20 20 |-..0..|..:(.| | 00005670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00005680 20 20 20 50 72 6f 63 65 64 75 72 65 73 20 3a 0d | Procedures :.| 00005690 1b 44 06 f4 7c 0d 1b 4e 2f f4 7c 20 20 20 20 20 |.D..|..N/.| | 000056a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 52 | PR| 000056b0 4f 43 49 6e 74 65 72 6e 61 6c 5f 53 61 76 65 45 |OCInternal_SaveE| 000056c0 76 65 6e 74 0d 1b 58 2e f4 7c 20 20 20 20 20 20 |vent..X..| | 000056d0 20 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4f | PRO| 000056e0 43 49 6e 74 65 72 6e 61 6c 5f 53 61 76 65 46 69 |CInternal_SaveFi| 000056f0 6c 65 0d 1b 62 32 f4 7c 20 20 20 20 20 20 20 20 |le..b2.| | 00005700 20 20 20 20 20 20 20 20 20 20 20 50 52 4f 43 57 | PROCW| 00005710 69 6d 70 5f 44 72 61 67 42 6f 78 28 77 69 6e 64 |imp_DragBox(wind| 00005720 6f 77 25 29 0d 1b 6c 31 f4 7c 20 20 20 20 20 20 |ow%)..l1.| | 00005730 20 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4f | PRO| 00005740 43 49 6e 74 65 72 6e 61 6c 5f 53 61 76 65 4d 65 |CInternal_SaveMe| 00005750 73 73 61 67 65 0d 1b 76 2d f4 7c 20 20 20 20 20 |ssage..v-.| | 00005760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 4e | FN| 00005770 49 6e 74 65 72 6e 61 6c 5f 53 61 76 65 45 76 65 |Internal_SaveEve| 00005780 6e 74 0d 1b 80 06 f4 7c 0d 1b 8a 06 f4 7c 0d 1b |nt.....|.....|..| 00005790 94 35 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |.5.| | 000057a0 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ------------| 000057b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000057c0 2d 2d 2d 0d 1b 9e 06 f4 7c 0d 1b a8 06 f4 7c 0d |---.....|.....|.| 000057d0 1b b2 06 f4 7c 0d 1b bc 06 f4 7c 0d 1b c6 18 20 |....|.....|.... | 000057e0 20 20 20 20 20 20 dd 20 f2 53 61 76 65 5f 45 76 | . .Save_Ev| 000057f0 65 6e 74 0d 1b d0 19 20 20 20 20 20 20 20 20 c8 |ent.... .| 00005800 8e 20 62 6c 6f 63 6b 25 21 30 20 ca 0d 1b da 30 |. block%!0 ....0| 00005810 20 20 20 20 20 20 20 20 20 c9 20 53 61 76 65 5f | . Save_| 00005820 57 69 6e 64 6f 77 25 20 3a 20 f2 49 6e 74 65 72 |Window% : .Inter| 00005830 6e 61 6c 5f 53 61 76 65 46 69 6c 65 0d 1b e4 18 |nal_SaveFile....| 00005840 20 20 20 20 20 20 20 20 20 7f 20 20 20 20 20 20 | . | 00005850 20 20 20 3a 0d 1b ee 1c 20 20 20 20 20 20 20 20 | :.... | 00005860 20 20 c8 8e 20 62 6c 6f 63 6b 25 21 31 36 20 ca | .. block%!16 .| 00005870 0d 1b f8 14 20 20 20 20 20 20 20 20 20 20 20 c9 |.... .| 00005880 20 30 20 3a 0d 1c 02 3e 20 20 20 20 20 20 20 20 | 0 :...> | 00005890 20 20 20 20 e7 20 62 6c 6f 63 6b 25 21 38 20 80 | . block%!8 .| 000058a0 20 26 35 30 20 8c 20 f2 57 69 6d 70 5f 44 72 61 | &50 . .Wimp_Dra| 000058b0 67 42 6f 78 28 53 61 76 65 5f 57 69 6e 64 6f 77 |gBox(Save_Window| 000058c0 25 29 0d 1c 0c 14 20 20 20 20 20 20 20 20 20 20 |%).... | 000058d0 20 c9 20 32 20 3a 0d 1c 16 33 20 20 20 20 20 20 | . 2 :...3 | 000058e0 20 20 20 20 20 20 e7 20 62 6c 6f 63 6b 25 21 38 | . block%!8| 000058f0 20 80 20 35 20 8c 20 f2 49 6e 74 65 72 6e 61 6c | . 5 . .Internal| 00005900 5f 53 61 76 65 46 69 6c 65 0d 1c 20 0f 20 20 20 |_SaveFile.. . | 00005910 20 20 20 20 20 20 20 cb 0d 1c 2a 0d 20 20 20 20 | ...*. | 00005920 20 20 20 20 cb 0d 1c 34 0c 20 20 20 20 20 20 20 | ...4. | 00005930 e1 0d 1c 3e 06 f4 7c 0d 1c 48 1e 20 20 20 20 20 |...>..|..H. | 00005940 20 dd 20 f2 49 6e 74 65 72 6e 61 6c 5f 53 61 76 | . .Internal_Sav| 00005950 65 46 69 6c 65 0d 1c 52 0f 20 20 20 20 20 20 20 |eFile..R. | 00005960 ea 20 78 24 0d 1c 5c 2b 20 20 20 20 20 20 20 78 |. x$..\+ x| 00005970 24 3d a4 49 63 6f 6e 5f 47 65 74 54 65 78 74 28 |$=.Icon_GetText(| 00005980 53 61 76 65 5f 57 69 6e 64 6f 77 25 2c 31 29 0d |Save_Window%,1).| 00005990 1c 66 18 20 20 20 20 20 20 20 c8 8e 20 a7 78 24 |.f. .. .x$| 000059a0 2c 22 2e 22 29 20 ca 0d 1c 70 14 20 20 20 20 20 |,".") ...p. | 000059b0 20 20 20 c9 20 30 20 20 20 20 3a 0d 1c 7a 4c 20 | . 0 :..zL | 000059c0 20 20 20 20 20 20 20 20 f2 41 6c 65 72 74 42 6f | .AlertBo| 000059d0 78 28 54 61 73 6b 24 2c 22 54 6f 20 73 61 76 65 |x(Task$,"To save| 000059e0 2c 20 64 72 61 67 20 74 68 65 20 69 63 6f 6e 20 |, drag the icon | 000059f0 74 6f 20 61 20 64 69 72 65 63 74 6f 72 79 20 77 |to a directory w| 00005a00 69 6e 64 6f 77 22 29 0d 1c 84 0f 20 20 20 20 20 |indow").... | 00005a10 20 20 20 7f 20 3a 0d 1c 8e 20 20 20 20 20 20 20 | . :... | 00005a20 20 20 20 f2 45 76 65 6e 74 5f 53 61 76 65 46 69 | .Event_SaveFi| 00005a30 6c 65 28 78 24 29 0d 1c 98 0c 20 20 20 20 20 20 |le(x$).... | 00005a40 20 cb 0d 1c a2 22 20 20 20 20 20 20 20 c8 99 20 | ...." .. | 00005a50 22 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 |"Wimp_CreateMenu| 00005a60 22 2c 2d 31 0d 1c ac 0c 20 20 20 20 20 20 20 e1 |",-1.... .| 00005a70 0d 1c b6 06 f4 7c 0d 1c c0 21 20 20 20 20 20 dd |.....|...! .| 00005a80 20 f2 57 69 6d 70 5f 44 72 61 67 42 6f 78 28 77 | .Wimp_DragBox(w| 00005a90 69 6e 64 6f 77 25 29 0d 1c ca 10 20 20 20 20 20 |indow%).... | 00005aa0 ea 20 78 25 2c 79 25 0d 1c d4 18 20 20 20 20 20 |. x%,y%.... | 00005ab0 21 62 6c 6f 63 6b 25 3d 77 69 6e 64 6f 77 25 0d |!block%=window%.| 00005ac0 1c de 29 20 20 20 20 20 c8 99 20 22 57 69 6d 70 |..) .. "Wimp| 00005ad0 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 22 |_GetWindowState"| 00005ae0 2c 2c 62 6c 6f 63 6b 25 0d 1c e8 38 20 20 20 20 |,,block%...8 | 00005af0 20 78 25 3d 62 6c 6f 63 6b 25 21 34 2d 62 6c 6f | x%=block%!4-blo| 00005b00 63 6b 25 21 32 30 20 20 3a 20 79 25 3d 62 6c 6f |ck%!20 : y%=blo| 00005b10 63 6b 25 21 31 36 2d 62 6c 6f 63 6b 25 21 32 34 |ck%!16-block%!24| 00005b20 0d 1c f2 13 20 20 20 20 20 62 6c 6f 63 6b 25 21 |.... block%!| 00005b30 34 3d 30 0d 1c fc 27 20 20 20 20 20 c8 99 20 22 |4=0...' .. "| 00005b40 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 74 61 74 |Wimp_GetIconStat| 00005b50 65 22 2c 2c 62 6c 6f 63 6b 25 0d 1d 06 18 20 20 |e",,block%.... | 00005b60 20 20 20 21 62 6c 6f 63 6b 25 3d 77 69 6e 64 6f | !block%=windo| 00005b70 77 25 0d 1d 10 14 20 20 20 20 20 20 62 6c 6f 63 |w%.... bloc| 00005b80 6b 25 21 34 3d 35 0d 1d 1a 3a 20 20 20 20 20 20 |k%!4=5...: | 00005b90 62 6c 6f 63 6b 25 21 38 3d 78 25 2b 62 6c 6f 63 |block%!8=x%+bloc| 00005ba0 6b 25 21 38 20 20 20 20 3a 20 62 6c 6f 63 6b 25 |k%!8 : block%| 00005bb0 21 31 32 3d 79 25 2b 62 6c 6f 63 6b 25 21 31 32 |!12=y%+block%!12| 00005bc0 0d 1d 24 3a 20 20 20 20 20 20 62 6c 6f 63 6b 25 |..$: block%| 00005bd0 21 31 36 3d 78 25 2b 62 6c 6f 63 6b 25 21 31 36 |!16=x%+block%!16| 00005be0 20 20 3a 20 62 6c 6f 63 6b 25 21 32 30 3d 79 25 | : block%!20=y%| 00005bf0 2b 62 6c 6f 63 6b 25 21 32 30 0d 1d 2e 21 20 20 |+block%!20...! | 00005c00 20 20 20 20 62 6c 6f 63 6b 25 21 32 34 3d 30 3a | block%!24=0:| 00005c10 62 6c 6f 63 6b 25 21 32 38 3d 30 0d 1d 38 34 20 |block%!28=0..84 | 00005c20 20 20 20 20 20 62 6c 6f 63 6b 25 21 33 32 3d 26 | block%!32=&| 00005c30 37 46 46 46 46 46 46 46 20 20 3a 20 62 6c 6f 63 |7FFFFFFF : bloc| 00005c40 6b 25 21 33 36 3d 26 37 46 46 46 46 46 46 46 0d |k%!36=&7FFFFFFF.| 00005c50 1d 42 23 20 20 20 20 20 20 c8 99 20 22 57 69 6d |.B# .. "Wim| 00005c60 70 5f 44 72 61 67 42 6f 78 22 2c 2c 62 6c 6f 63 |p_DragBox",,bloc| 00005c70 6b 25 0d 1d 4c 0a 20 20 20 20 20 e1 0d 1d 56 06 |k%..L. ...V.| 00005c80 f4 7c 0d 1d 60 1f 20 20 20 20 dd 20 f2 49 6e 74 |.|..`. . .Int| 00005c90 65 72 6e 61 6c 5f 53 61 76 65 4d 65 73 73 61 67 |ernal_SaveMessag| 00005ca0 65 0d 1d 6a 23 20 20 20 20 ea 20 66 69 6c 65 24 |e..j# . file$| 00005cb0 2c 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 2c 78 |,window%,icon%,x| 00005cc0 25 2c 79 25 0d 1d 74 28 20 20 20 20 c8 99 20 22 |%,y%..t( .. "| 00005cd0 57 69 6d 70 5f 47 65 74 50 6f 69 6e 74 65 72 49 |Wimp_GetPointerI| 00005ce0 6e 66 6f 22 2c 2c 62 6c 6f 63 6b 25 0d 1d 7e 49 |nfo",,block%..~I| 00005cf0 20 20 20 20 77 69 6e 64 6f 77 25 3d 62 6c 6f 63 | window%=bloc| 00005d00 6b 25 21 31 32 20 3a 20 69 63 6f 6e 25 3d 62 6c |k%!12 : icon%=bl| 00005d10 6f 63 6b 25 21 31 36 20 20 3a 20 78 25 3d 62 6c |ock%!16 : x%=bl| 00005d20 6f 63 6b 25 21 30 20 20 3a 20 79 25 3d 62 6c 6f |ock%!0 : y%=blo| 00005d30 63 6b 25 21 34 0d 1d 88 35 20 20 20 20 66 69 6c |ck%!4...5 fil| 00005d40 65 24 3d a4 47 65 74 4c 65 61 66 28 a4 49 63 6f |e$=.GetLeaf(.Ico| 00005d50 6e 5f 47 65 74 54 65 78 74 28 53 61 76 65 5f 57 |n_GetText(Save_W| 00005d60 69 6e 64 6f 77 25 2c 31 29 29 0d 1d 92 19 20 20 |indow%,1)).... | 00005d70 20 20 62 6c 6f 63 6b 25 21 32 30 3d 77 69 6e 64 | block%!20=wind| 00005d80 6f 77 25 0d 1d 9c 17 20 20 20 20 62 6c 6f 63 6b |ow%.... block| 00005d90 25 21 32 34 3d 69 63 6f 6e 25 0d 1d a6 23 20 20 |%!24=icon%...# | 00005da0 20 20 62 6c 6f 63 6b 25 21 32 38 3d 78 25 20 3a | block%!28=x% :| 00005db0 20 62 6c 6f 63 6b 25 21 33 32 3d 79 25 0d 1d b0 | block%!32=y%...| 00005dc0 19 20 20 20 20 62 6c 6f 63 6b 25 21 33 36 3d 6c |. block%!36=l| 00005dd0 65 6e 67 74 68 25 0d 1d ba 13 20 20 20 20 62 6c |ength%.... bl| 00005de0 6f 63 6b 25 21 30 3d 36 34 0d 1d c4 13 20 20 20 |ock%!0=64.... | 00005df0 20 62 6c 6f 63 6b 25 21 31 32 3d 30 0d 1d ce 13 | block%!12=0....| 00005e00 20 20 20 20 62 6c 6f 63 6b 25 21 31 36 3d 31 0d | block%!16=1.| 00005e10 1d d8 16 20 20 20 20 62 6c 6f 63 6b 25 21 34 30 |... block%!40| 00005e20 3d 26 46 46 46 0d 1d e2 1a 20 20 20 20 24 28 62 |=&FFF.... $(b| 00005e30 6c 6f 63 6b 25 2b 34 34 29 3d 66 69 6c 65 24 0d |lock%+44)=file$.| 00005e40 1d ec 3b 20 20 20 20 c8 99 20 22 57 69 6d 70 5f |..; .. "Wimp_| 00005e50 53 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 37 2c |SendMessage",17,| 00005e60 62 6c 6f 63 6b 25 2c 62 6c 6f 63 6b 25 21 32 30 |block%,block%!20| 00005e70 2c 62 6c 6f 63 6b 25 21 32 34 0d 1d f6 09 20 20 |,block%!24.... | 00005e80 20 20 e1 0d 1e 00 06 f4 7c 0d 1e 0a 20 20 20 20 | ......|... | 00005e90 20 20 20 20 dd 20 a4 49 6e 74 65 72 6e 61 6c 5f | . .Internal_| 00005ea0 53 61 76 65 45 76 65 6e 74 0d 1e 14 3c 20 20 20 |SaveEvent...< | 00005eb0 20 20 3d 28 62 6c 6f 63 6b 25 21 30 3d 53 61 76 | =(block%!0=Sav| 00005ec0 65 5f 57 69 6e 64 6f 77 25 29 20 84 20 28 62 6c |e_Window%) . (bl| 00005ed0 6f 63 6b 25 21 31 32 3d 53 61 76 65 5f 57 69 6e |ock%!12=Save_Win| 00005ee0 64 6f 77 25 29 0d 1e 1e 06 f4 7c 0d 1e 28 06 f4 |dow%).....|..(..| 00005ef0 7c 0d 1e 32 06 f4 7c 0d 1e 3c 06 f4 7c 0d 1e 46 ||..2..|..<..|..F| 00005f00 31 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 |1.| | 00005f10 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -----------| 00005f20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 1e |--------------..| 00005f30 50 2c f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |P,.| | 00005f40 20 20 20 20 20 20 20 20 20 20 39 2e a0 4d 69 73 | 9..Mis| 00005f50 63 65 6c 6c 61 6e 65 6f 75 73 0d 1e 5a 31 f4 7c |cellaneous..Z1.|| 00005f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00005f70 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | --------------| 00005f80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 1e 64 06 f4 |-----------..d..| 00005f90 7c 0d 1e 6e 06 f4 7c 0d 1e 78 35 f4 7c 20 20 20 ||..n..|..x5.| | 00005fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 2d | ---| 00005fb0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00005fc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 1e 82 06 |------------....| 00005fd0 f4 7c 0d 1e 8c 28 f4 7c 20 20 20 20 20 20 20 20 |.|...(.| | 00005fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 | Pr| 00005ff0 6f 63 65 64 75 72 65 73 20 3a 0d 1e 96 06 f4 7c |ocedures :.....|| 00006000 0d 1e a0 40 f4 7c 20 20 20 20 20 20 20 20 20 20 |...@.| | 00006010 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 5f | PROCWimp_| 00006020 41 6c 65 72 74 42 6f 78 28 74 69 74 6c 65 24 2c |AlertBox(title$,| 00006030 6d 65 73 73 61 67 65 24 2c 62 75 74 74 6f 6e 25 |message$,button%| 00006040 0d 1e aa 38 f4 7c 20 20 20 20 20 20 20 20 20 20 |...8.| | 00006050 20 20 20 20 20 20 20 46 4e 57 69 6d 70 5f 43 61 | FNWimp_Ca| 00006060 6e 63 65 6c 42 6f 78 28 74 69 74 6c 65 24 2c 6d |ncelBox(title$,m| 00006070 65 73 73 61 67 65 24 29 0d 1e b4 39 f4 7c 20 20 |essage$)...9.| | 00006080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 | P| 00006090 52 4f 43 57 69 6d 70 5f 45 72 72 6f 72 42 6f 78 |ROCWimp_ErrorBox| 000060a0 28 74 69 74 6c 65 24 2c 6d 65 73 73 61 67 65 24 |(title$,message$| 000060b0 29 0d 1e be 36 f4 7c 20 20 20 20 20 20 20 20 20 |)...6.| | 000060c0 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 | PROCWimp| 000060d0 5f 41 6c 65 72 74 28 74 69 74 6c 65 24 2c 6d 65 |_Alert(title$,me| 000060e0 73 73 61 67 65 24 29 0d 1e c8 36 f4 7c 20 20 20 |ssage$)...6.| | 000060f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 4e | FN| 00006100 55 74 69 6c 73 5f 52 65 61 64 56 61 72 69 61 62 |Utils_ReadVariab| 00006110 6c 65 28 76 61 72 69 61 62 6c 65 24 29 0d 1e d2 |le(variable$)...| 00006120 06 f4 7c 0d 1e dc 35 f4 7c 20 20 20 20 20 20 20 |..|...5.| | 00006130 20 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d | -------| 00006140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00006150 2d 2d 2d 2d 2d 2d 2d 2d 0d 1e e6 06 f4 7c 0d 1e |--------.....|..| 00006160 f0 06 f4 7c 0d 1e fa 06 f4 7c 0d 1f 04 36 20 20 |...|.....|...6 | 00006170 20 20 20 20 20 20 20 dd 20 f2 57 69 6d 70 5f 41 | . .Wimp_A| 00006180 6c 65 72 74 42 6f 78 28 74 69 74 6c 65 24 2c 6d |lertBox(title$,m| 00006190 65 73 73 61 67 65 24 2c 62 75 74 74 6f 6e 25 29 |essage$,button%)| 000061a0 0d 1f 0e 18 20 20 20 20 20 20 20 20 20 ea 20 72 |.... . r| 000061b0 65 73 70 6f 6e 73 65 25 0d 1f 18 21 20 20 20 20 |esponse%...! | 000061c0 20 20 20 20 20 24 28 62 6c 6f 63 6b 25 2b 34 29 | $(block%+4)| 000061d0 3d 6d 65 73 73 61 67 65 24 0d 1f 22 19 20 20 20 |=message$..". | 000061e0 20 20 20 20 20 20 c8 8e 20 62 75 74 74 6f 6e 25 | .. button%| 000061f0 20 ca 0d 1f 2c 37 20 20 20 20 20 20 20 20 20 20 | ...,7 | 00006200 c9 20 32 20 20 20 20 3a 20 72 65 73 70 6f 6e 73 |. 2 : respons| 00006210 65 25 3d 31 20 20 20 20 20 3a 20 f4 7c 2e 2e 2e |e%=1 : .|...| 00006220 45 72 72 6f 72 20 42 6f 78 0d 1f 36 42 20 20 20 |Error Box..6B | 00006230 20 20 20 20 20 20 20 c9 20 31 20 20 20 20 3a 20 | . 1 : | 00006240 72 65 73 70 6f 6e 73 65 25 3d 31 35 20 20 20 20 |response%=15 | 00006250 3a 20 f4 7c 2e 2e 2e 4f 4b 20 61 6e 64 20 43 41 |: .|...OK and CA| 00006260 4e 43 45 4c 20 62 75 74 6f 6e 73 0d 1f 40 2a 20 |NCEL butons..@* | 00006270 20 20 20 20 20 20 20 20 20 c9 20 33 20 20 20 20 | . 3 | 00006280 3a 20 72 65 73 70 6f 6e 73 65 25 3d 28 31 3c 3c |: response%=(1<<| 00006290 35 29 2b 31 36 0d 1f 4a 2a 20 20 20 20 20 20 20 |5)+16..J* | 000062a0 20 20 20 c9 20 34 20 20 20 20 3a 20 72 65 73 70 | . 4 : resp| 000062b0 6f 6e 73 65 25 3d 28 31 3c 3c 36 29 2b 31 36 0d |onse%=(1<<6)+16.| 000062c0 1f 54 37 20 20 20 20 20 20 20 20 20 20 7f 20 3a |.T7 . :| 000062d0 20 72 65 73 70 6f 6e 73 65 25 3d 31 36 20 20 20 | response%=16 | 000062e0 20 3a 20 f4 7c 2e 2e 2e 4f 4b 20 62 75 74 74 6f | : .|...OK butto| 000062f0 6e 20 6f 6e 6c 79 0d 1f 5e 0d 20 20 20 20 20 20 |n only..^. | 00006300 20 20 cb 0d 1f 68 46 20 20 20 20 20 20 20 20 c8 | ...hF .| 00006310 99 20 22 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 |. "Wimp_ReportEr| 00006320 72 6f 72 22 2c 62 6c 6f 63 6b 25 2c 72 65 73 70 |ror",block%,resp| 00006330 6f 6e 73 65 25 2c 74 69 74 6c 65 24 20 b8 20 2c |onse%,title$ . ,| 00006340 72 65 73 70 6f 6e 73 65 25 0d 1f 72 0d 20 20 20 |response%..r. | 00006350 20 20 20 20 20 e1 0d 1f 7c 06 f4 7c 0d 1f 86 2e | ...|..|....| 00006360 20 20 20 20 20 20 20 20 dd 20 a4 57 69 6d 70 5f | . .Wimp_| 00006370 43 61 6e 63 65 6c 42 6f 78 28 74 69 74 6c 65 24 |CancelBox(title$| 00006380 2c 6d 65 73 73 61 67 65 24 29 0d 1f 90 20 20 20 |,message$)... | 00006390 20 20 20 20 20 20 24 28 62 6c 6f 63 6b 25 2b 34 | $(block%+4| 000063a0 29 3d 6d 65 73 73 61 67 65 24 0d 1f 9a 18 20 20 |)=message$.... | 000063b0 20 20 20 20 20 20 72 65 73 70 6f 6e 73 65 25 3d | response%=| 000063c0 32 33 0d 1f a4 46 20 20 20 20 20 20 20 20 c8 99 |23...F ..| 000063d0 20 22 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 72 | "Wimp_ReportErr| 000063e0 6f 72 22 2c 62 6c 6f 63 6b 25 2c 72 65 73 70 6f |or",block%,respo| 000063f0 6e 73 65 25 2c 74 69 74 6c 65 24 20 b8 20 2c 72 |nse%,title$ . ,r| 00006400 65 73 70 6f 6e 73 65 25 0d 1f ae 17 20 20 20 20 |esponse%.... | 00006410 20 20 20 3d 72 65 73 70 6f 6e 73 65 25 2d 32 0d | =response%-2.| 00006420 1f b8 06 f4 7c 0d 1f c2 2d 20 20 20 20 20 20 20 |....|...- | 00006430 20 dd 20 f2 57 69 6d 70 5f 45 72 72 6f 72 42 6f | . .Wimp_ErrorBo| 00006440 78 28 74 69 74 6c 65 24 2c 6d 65 73 73 61 67 65 |x(title$,message| 00006450 24 29 0d 1f cc 2d 20 20 20 20 20 20 20 20 f2 57 |$)...- .W| 00006460 69 6d 70 5f 41 6c 65 72 74 42 6f 78 28 74 69 74 |imp_AlertBox(tit| 00006470 6c 65 24 2c 6d 65 73 73 61 67 65 24 2c 32 29 0d |le$,message$,2).| 00006480 1f d6 0d 20 20 20 20 20 20 20 20 e1 0d 1f e0 06 |... .....| 00006490 f4 7c 0d 1f ea 2a 20 20 20 20 20 20 20 20 dd 20 |.|...* . | 000064a0 f2 57 69 6d 70 5f 41 6c 65 72 74 28 74 69 74 6c |.Wimp_Alert(titl| 000064b0 65 24 2c 6d 65 73 73 61 67 65 24 29 0d 1f f4 2d |e$,message$)...-| 000064c0 20 20 20 20 20 20 20 20 f2 57 69 6d 70 5f 41 6c | .Wimp_Al| 000064d0 65 72 74 42 6f 78 28 74 69 74 6c 65 24 2c 6d 65 |ertBox(title$,me| 000064e0 73 73 61 67 65 24 2c 30 29 0d 1f fe 0d 20 20 20 |ssage$,0).... | 000064f0 20 20 20 20 20 e1 0d 20 08 06 f4 7c 0d 20 12 2c | .. ...|. .,| 00006500 20 20 20 20 20 20 20 20 dd 20 a4 55 74 69 6c 73 | . .Utils| 00006510 5f 52 65 61 64 56 61 72 69 61 62 6c 65 28 56 61 |_ReadVariable(Va| 00006520 72 69 61 62 6c 65 24 29 0d 20 1c 25 20 20 20 20 |riable$). .% | 00006530 20 20 20 20 20 ea 20 6c 65 6e 25 2c 72 65 73 75 | . len%,resu| 00006540 6c 74 25 2c 76 61 72 69 61 62 6c 65 25 0d 20 26 |lt%,variable%. &| 00006550 2b f4 20 20 20 20 20 20 20 20 20 44 49 4d 20 72 |+. DIM r| 00006560 65 73 75 6c 74 25 20 32 35 35 2c 76 61 72 69 61 |esult% 255,varia| 00006570 62 6c 65 25 20 31 30 30 0d 20 30 1e 20 20 20 20 |ble% 100. 0. | 00006580 20 20 20 20 20 24 62 6c 6f 63 6b 25 3d 56 61 72 | $block%=Var| 00006590 69 61 62 6c 65 24 0d 20 3a 41 20 20 20 20 20 20 |iable$. :A | 000065a0 20 20 20 c8 99 20 22 4f 53 5f 52 65 61 64 56 61 | .. "OS_ReadVa| 000065b0 72 56 61 6c 22 2c 62 6c 6f 63 6b 25 2c 62 6c 6f |rVal",block%,blo| 000065c0 63 6b 25 2b 32 35 35 2c 32 35 35 2c 2c 33 20 b8 |ck%+255,255,,3 .| 000065d0 20 2c 2c 6c 65 6e 25 0d 20 44 21 20 20 20 20 20 | ,,len%. D! | 000065e0 20 20 20 20 62 6c 6f 63 6b 25 3f 28 6c 65 6e 25 | block%?(len%| 000065f0 2b 32 35 35 29 3d 31 33 0d 20 4e 1a 20 20 20 20 |+255)=13. N. | 00006600 20 20 20 20 3d 24 28 62 6c 6f 63 6b 25 2b 32 35 | =$(block%+25| 00006610 35 29 0d 20 58 05 3a 0d 20 62 2b dd 20 f2 49 63 |5). X.:. b+. .Ic| 00006620 6f 6e 5f 50 75 74 43 61 72 65 74 28 77 69 6e 64 |on_PutCaret(wind| 00006630 6f 77 25 2c 69 63 6f 6e 25 2c 6c 65 6e 67 74 68 |ow%,icon%,length| 00006640 25 29 0d 20 6c 39 c8 99 20 22 57 69 6d 70 5f 53 |%). l9.. "Wimp_S| 00006650 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 22 |etCaretPosition"| 00006660 2c 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 2c 2c |,window%,icon%,,| 00006670 2c 2d 31 2c 6c 65 6e 67 74 68 25 0d 20 76 05 e1 |,-1,length%. v..| 00006680 0d 20 80 05 3a 0d ff |. ..:..| 00006687