Home » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199207.adf » !AWJULY92 » !AWJUL92/Goodies/Wimp/!WimpPool/!RunImage
!AWJUL92/Goodies/Wimp/!WimpPool/!RunImage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199207.adf » !AWJULY92 |
Filename: | !AWJUL92/Goodies/Wimp/!WimpPool/!RunImage |
Read OK: | ✔ |
File size: | 5837 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10 Task$=FNWimp_Start("WimpSprites") 20 PROCCreate_Windows 30 PROCCreate_Icons 40 PROCCreate_Menus 50 PROCUser_SetInitialData 60 PROCWimp_WaitForEvent 70 PROCWimp_CloseDown 80 END 90 : 100 DEF PROCUser_SetInitialData 110 ENDPROC 120 : 130 DEF PROCCreate_Windows 140 Info_Window%=FNWimp_WindowLoad("Info") 150 SaveRAM_Window%=FNWimp_WindowLoad("SaveRAM") 160 SaveRMA_Window%=FNWimp_WindowLoad("SaveRMA") 170 Save_Window%=FNWimp_WindowLoad("Save") 180 ENDPROC 190 : 200 DEF PROCCreate_Icons 210 Bar_Icon%=FNWimp_IconBar("!WimpPool") 220 ENDPROC 230 : 240 DEF PROCCreate_Menus 250 menu$ ="WimpSprites\Info>Info_Window%\" 260 menu$+="RAM_Pool>SaveRAM_Window%\RMA_Pool>SaveRMA_Window%\!Sprites>Save_Window%\Quit" 270 Bar_Menu%=FNWimp_MenuCreate(menu$) 280 ENDPROC 290 : 300 DEF PROCEvent_Draw(window%) 310 ENDPROC 320 : 330 DEF PROCEvent_WindowClose(window%) 340 CASE window% OF 350 ENDCASE 360 ENDPROC 370 : 380 DEF PROCEvent_PopUpMenu(window%,x%,y%) 390 CASE window% OF 400 WHEN Bar_Window% : PROCWimp_MenuPopUpBar(x%,y%) 410 ENDCASE 420 ENDPROC 430 : 440 DEF PROCEvent_MouseClick(button%,window%,icon%,x%,y%) 450 CASE window% OF 460 WHEN Bar_Window% : PROCUser_MouseBar 470 WHEN Info_Window% : PROCUser_MouseInfo( button%,icon%) 480 ENDCASE 490 ENDPROC 500 : 510 DEF PROCUser_MouseBar 520 ENDPROC 530 : 540 DEF PROCUser_MouseInfo( button%,icon%) 550 PROCWimp_WindowAlert("Info","Mouse button="+STR$button%+"icon="+STR$icon%) 560 ENDPROC 570 : 580 DEF PROCEvent_KeyPress(window%,icon%,key%) 590 CASE window% OF 600 WHEN SaveRAM_Window% : PROCUser_KeyPressSaveRAM( icon%,key%) 610 WHEN SaveRMA_Window% : PROCUser_KeyPressSaveRMA( icon%,key%) 620 ENDCASE 630 ENDPROC 640 : 650 DEF PROCUser_KeyPressSaveRAM( icon%,key%) 660 PROCWimp_WindowAlert("SaveRAM","Key pressed="+STR$key%+"icon="+STR$icon%) 670 ENDPROC 680 : 690 DEF PROCUser_KeyPressSaveRMA( icon%,key%) 700 PROCWimp_WindowAlert("SaveRMA","Key pressed="+STR$key%+"icon="+STR$icon%) 710 ENDPROC 720 : 730 DEF PROCEvent_MenuChoice(menu%) 740 CASE menu% OF 750 WHEN Bar_Menu% : PROCUser_MenuChoiceBar 760 ENDCASE 770 ENDPROC 780 : 790 DEF PROCUser_MenuChoiceBar 800 CASE FNWimp_MenuChoice(0) OF 810 WHEN 1 : 820 WHEN 2 : 830 WHEN 3 : 840 WHEN 5 :finished%=TRUE 850 ENDCASE 860 ENDPROC 870 : 880 DEF FNEvent_Save(window%) 890 CASE window% OF 900 WHEN SaveRAM_Window% :=TRUE 910 WHEN SaveRMA_Window% :=TRUE 920 WHEN Save_Window% :=TRUE 930 OTHERWISE :=FALSE 940 ENDCASE 950 : 960 DEF PROCEvent_SaveFile(file$,window%) 970 CASE window% OF 980 WHEN SaveRAM_Window% 990 SYS "Wimp_BaseOfSprites" TO rom,rma 1000 SYS "OS_SpriteOp",&10C,rom,file$ 1010 WHEN SaveRMA_Window% 1020 SYS "Wimp_BaseOfSprites" TO rom,rma 1030 SYS "OS_SpriteOp",&10C,rma,file$ 1040 WHEN Save_Window% 1050 OSCLI("Copy <WimpPool$Dir>.!Sprites1 "+file$) 1060 ENDCASE 1070 ENDPROC 1080REM|_________________________________________________________________________ 1090REM|_________________________________________________________________________ 1100REM|_________________________________________________________________________ 1110REM| 1120REM| 1130REM| 1140REM| ------------------------------- 6/1/92 1150REM| WIMP PROCEDURE LIBRARY 1160REM| 1170REM| Index of Contents 1180REM| 1190REM| ------------------------------- 1200REM| 1210REM| 1.EVALWindows 1220REM| 1230REM| 2.EVALIcons 1240REM| 1250REM| 3.EVALMenus 1260REM| 1270REM| 4.EVALSprites 1280REM| 1290REM| 5.EVALFiles 1300REM| 1310REM| 6.EVALMiscellaneous 1320REM| 1330REM| ------------------------------- 1340REM| 1350REM| 1360REM| 1370REM| 1380REM| 1390REM| 1400REM| ------------------------------- 1410REM| 1.EVALWindows 1420REM| ------------------------------- 1430REM| 1440REM| 1450REM| ------------------------------------------------ 1460REM| 1470REM| Procedures : 1480REM| 1490REM| PROCWimp_WindowAlert(title$,message$) 1500REM| PROCWimp_WindowAlertBox(title$,message$,button%) 1510REM| FNWimp_WindowCancel(title$,message$) 1520REM| PROCWimp_WindowErrorBox(title$,message$) 1530REM| FNWimp_WindowTitle(window%) 1540REM| FNWimp_WindowLoad(window$) 1550REM| FNWimp_WindowLoadFrom(window$,template$) 1560REM| FNWimp_WindowXOrigin 1570REM| FNWimp_WindowYOrigin 1580REM| PROCWimp_WindowBringToTop(window%) 1590REM| PROCWimp_WindowForceDraw(window%) 1600REM| PROCWimp_WindowOpen(window%) 1610REM| PROCWimp_Draw(x,y) 1620REM| PROCWimp_Move(x,y) 1630REM| PROCWimp_Line(x,y,x1,y1) 1640REM| 1650REM| ---------------------------------------------- 1660REM| 1670REM| 1680REM| 1690DEF PROCWimp_WindowAlert(title$,message$) 1700PROCWimp_WindowAlertBox(title$,message$,0) 1710ENDPROC 1720: 1730DEF PROCWimp_WindowAlertBox(title$,message$,button%) 1740LOCAL response% 1750$(wimp%+4)=message$ 1760CASE button% OF 1770 WHEN 2 : response%=1 1780 WHEN 1 : response%=15 1790 WHEN 3 : response%=(1<<5)+16 1800 WHEN 4 : response%=(1<<6)+16 1810OTHERWISE : response%=16 1820ENDCASE 1830SYS "Wimp_ReportError",wimp%,response%,title$ TO ,response% 1840ENDPROC 1850: 1860DEF FNWimp_WindowCancel(title$,message$) 1870$(wimp%+4)=message$ 1880response%=23 1890SYS "Wimp_ReportError",wimp%,response%,title$ TO ,response% 1900=response%-2 1910: 1920DEF PROCWimp_WindowErrorBox(title$,message$) 1930PROCWimp_WindowAlertBox(title$,message$,2) 1940ENDPROC 1950: 1960DEF FNWimp_WindowTitle(window%) 1970wimp%!0=window% 1980SYS "Wimp_GetWindInfo",,wimp% 1990IF ((wimp%!60)AND&100)=0 ERROR 1,"Title isn't indirected" 2000=$(wimp%!76) 2010: 2020DEF FNWimp_WindowLoad(window$) 2030=FNWimp_WindowLoadFrom(window$,"<Obey$Dir>.Templates") 2040: 2050DEF FNWimp_WindowLoadFrom(window$,template$) 2060LOCAL c% 2070SYS "Wimp_OpenTemplate",,template$ 2080SYS "Wimp_LoadTemplate",,wimp%,icons%,icon_memory%,-1,window$,0 TO ,,icons% 2090IF sprites%<>0 THEN wimp%!64=sprites% 2100SYS "Wimp_CreateWindow",,wimp% TO c% 2110SYS "Wimp_CloseTemplate" 2120=c% 2130: 2140DEF FNWimp_WindowXOrigin 2150=16+wimp%!4-wimp%!20 2160: 2170DEF FNWimp_WindowYOrigin 2180=-16+wimp%!16-wimp%!24 2190: 2200DEF PROCWimp_WindowBringToTop(window%) 2210!wimp%=window% 2220SYS "Wimp_GetWindowState",,wimp% 2230wimp%!28=-1 2240SYS "Wimp_OpenWindow",,wimp% 2250ENDPROC 2260: 2270DEF PROCWimp_WindowClose(window%) 2280!wimp%=window% 2290SYS "Wimp_CloseWindow",,wimp% 2300ENDPROC 2310: 2320DEF PROCWimp_WindowForceDraw(window%) 2330CASE window% OF 2340 WHEN -1 : SYS "Wimp_ForceRedraw",-1,0,0,2*1280,2*1024 2350 OTHERWISE : SYS "Wimp_ForceRedraw",window%,0,-2*1024,2*1280,0 2360ENDCASE 2370ENDPROC 2380: 2390DEF PROCWimp_WindowOpen(window%) 2400!wimp%=window% 2410SYS "Wimp_GetWindowState",,wimp% 2420SYS "Wimp_OpenWindow",,wimp% 2430ENDPROC 2440: 2450DEF PROCWimp_Draw(x,y) 2460 DRAW x-x_origin%,y-y_origin% 2470ENDPROC 2480: 2490DEF PROCWimp_Move(x,y) 2500 MOVE x-x_origin%,y_origin%-y 2510ENDPROC 2520: 2530DEF PROCWimp_Line(x,y,x1,y1) 2540 LINE x-x_origin%,y-y_origin%,x1-x_origin%,y1-y_origin% 2550ENDPROC 2560: 2570REM| 2580REM| 2590REM| 2600REM| ------------------------- 2610REM| 2.EVALIcons 2620REM| ------------------------- 2630REM| 2640REM| 2650REM| ------------------------------------------ 2660REM| 2670REM| Procedures : 2680REM| 2690REM| FNWimp_IconBar(Sprite$) 2700REM| PROCWimp_IconCaret(window%,icon%,chars%) 2710REM| FNWimp_IconText(window%,icon%) 2720REM| FNWimp_IconValidation(window%,icon%) 2730REM| PROCWimp_IconDisable(window%,icon%) 2740REM| PROCWimp_IconEnable(window%,icon%) 2750REM| FNWimp_IconPutSprite(window%,icon%,sprite$) 2760REM| PROCWimp_IconPutText(window%,icon%,text$) 2770REM| 2780REM| ------------------------------------------ 2790REM| 2800: 2810DEF FNWimp_IconBar(Sprite$) 2820LOCAL icon% 2830wimp%!0=-1 2840wimp%!4=0 : wimp%!8=0 2850wimp%!12=68 : wimp%!16=68 2860wimp%!20=&3002 2870$(wimp%+24)=Sprite$ 2880SYS "Wimp_CreateIcon",,wimp% TO icon% 2890=icon% 2900: 2910DEF PROCWimp_IconCaret(window%,icon%,chars%) 2920SYS "Wimp_SetCaretPosition",window%,icon%,,,-1,chars% 2930ENDPROC 2940: 2950DEF FNWimp_IconText(window%,icon%) 2960wimp%!0=window% : wimp%!4=icon% 2970SYS "Wimp_GetIconState",,wimp% 2980IF ((wimp%!24) AND &100)=0 ERROR 1,"Icon isn't indirected" 2990=$(wimp%!28) 3000: 3010DEF FNWimp_IconValidation(window%,icon%) 3020wimp%!0=window% : wimp%!4=icon% 3030SYS "Wimp_GetIconState",,wimp% 3040IF ((wimp%!24) AND &100)=0 ERROR 1,"Icon isn't indirected" 3050=$(wimp%!32) 3060: 3070DEF PROCWimp_IconDisable(window%,icon%) 3080wimp%!0=window% : wimp%!4=icon% 3090wimp%!8=1<<22 : wimp%!12=1<<22 3100SYS "Wimp_SetIconState",,wimp% 3110ENDPROC 3120: 3130DEF PROCWimp_IconEnable(window%,icon%) 3140wimp%!0=window% : wimp%!4=icon% 3150wimp%!8=0 : wimp%!12=1<<22 3160SYS "Wimp_SetIconState",,wimp% 3170ENDPROC 3180: 3190DEF FNWimp_IconPutSprite(window%,icon%,sprite$) 3200wimp%!0=window%:wimp%!4=icon% 3210SYS "Wimp_GetIconState",,wimp% 3220SYS "Wimp_DeleteIcon",,wimp% 3230wimp%!4=wimp%!8 : wimp%!8=wimp%!12 : wimp%!12=wimp%!16 3240wimp%!16=wimp%!20 : wimp%!20=wimp%!24 : $(wimp%+24)=sprite$ 3250SYS "Wimp_CreateIcon",,wimp% TO icon% 3260=icon% 3270: 3280DEF PROCWimp_IconPutText(window%,icon%,text$) 3290wimp%!0=window% : wimp%!4=icon% 3300SYS "Wimp_GetIconState",,wimp% 3310IF ((wimp%!24) AND &100)=0 ERROR 1,"Icon isn't indirected" 3320$(wimp%!28)=text$ 3330wimp%!0=window% : wimp%!4=icon% 3340wimp%!8=0 : wimp%!12=0 3350SYS "Wimp_SetIconState",,wimp% 3360ENDPROC 3370: 3380REM| 3390REM| 3400REM| 3410REM| ------------------------- 3420REM| 3.EVALMenus 3430REM| ------------------------- 3440REM| 3450REM| 3460REM| ---------------------------------------------- 3470REM| 3480REM| Procedures : 3490REM| 3500REM| 3510REM| PROCWimp_MenuAdjustOn(menu%) 3520REM| FNWimp_MenuChoice(level%) 3530REM| FNWimp_MenuCreate(menu$) 3540REM| FNWimp_MenuColours 3550REM| FNWimp_MenuCreateColours(title$) 3560REM| FNWimp_MenuNoOfEntries(menu$) 3570REM| PROCWimp_MenuBackGroundColour(menu%,item%,colour%) 3580REM| PROCWimp_MenuCentre(menu%,item%) 3590REM| PROCWimp_MenuClose 3600REM| PROCWimp_MenuDisable(menu%,item%) 3610REM| PROCWimp_MenuDottedLine(menu%,item%) 3620REM| PROCWimp_MenuEnable(menu%,item%) 3630REM| PROCWimp_MenuForegroundColour(menu%,item%,colour%) 3640REM| PROCWimp_MenuGlue(menu1%,item%,menu2%) 3650REM| PROCWimp_MenuItem(menu%,item%,item$) 3660REM| PROCWimp_MenuMessage(menu%,item%) 3670REM| PROCWimp_MenuPopUp(Menu%,x%,y%) 3680REM| PROCWimp_MenuPopUpBar(x%,y%) 3690REM| PROCWimp_MenuTick(menu%,item%) 3700REM| PROCWimp_MenuTitle(menu%,title$) 3710REM| PROCWimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%) 3720REM| 3730REM| ---------------------------------------------- 3740REM| 3750: 3760DEF PROCWimp_MenuAdjustOn(menu%) 3770SYS "Wimp_GetPointerInfo",,pointer_block% 3780IF ((pointer_block%!8)AND1)=1 THEN SYS "Wimp_CreateMenu",,menu%,pointer_block%!0,pointer_block%!4 3790ENDPROC 3800: 3810DEF FNWimp_MenuChoice(level%) 3820=(wimp%!(4*level%))+1 3830: 3840DEF FNWimp_MenuCreate(menu$) 3850IF menu$="Colours" THEN=FNWimp_MenuColours 3860LOCAL menu%,index%,width%,length%,k%,s% 3870DIM menu% 28+FNWimp_MenuNoOfEntries(menu$)*24 3880menu%?12=7 : menu%?13=2 : menu%?14=7 :menu%?15=0 3890menu%!16=140 : menu%!20=44 : menu%!24=0 3900index%=menu%+28 3910$menu%=LEFT$(menu$,INSTR(menu$,"\")-1) 3920width%=LEN(LEFT$(menu$,INSTR(menu$,"\")-1)) 3930menu$+="\" : Menu_NoOfEntries%=0 3940WHILE menu$<>"" 3950menu$=MID$(menu$,INSTR(menu$,"\")+1) 3960CASE menu$ OF 3970 WHEN "" 3980 OTHERWISE : 3990 !index%=0 : index%!4=-1 : index%!8=&7000021 4000 length%=INSTR(menu$,"\")-1 4010 k%=INSTR(LEFT$(menu$,length%),">") 4020 CASE k% OF 4030 WHEN 0 4040 OTHERWISE 4050 s%=EVAL(MID$(menu$,k%+1,length%-k%)) 4060 index%!4=s% 4070 length%=k%-1 4080 ENDCASE 4090 $(index%+12)=LEFT$(menu$,length%) 4100 IF length%>width% THEN width%=length% 4110 index%+=24 4120ENDCASE 4130ENDWHILE 4140menu%!16=16*(width%+1) 4150index%!-24=index%!-24 OR &80 : =menu% 4160: 4170DEF FNWimp_MenuColours 4180=FNWimp_MenuCreateColours(" ") 4190: 4200DEF FNWimp_MenuCreateColours(title$) 4210LOCAL x$,men%,j%,i% 4220x$=title$+"\0\1\2\3\4\5\6\7\8\9\10\11\12\13\14\15" 4230men%=FNWimp_MenuCreate(x$) 4240FOR i%=0 TO 15 4250CASE TRUE OF 4260WHEN i%<4,i%=9,i%=12,i%=14,i%=15 : j%=7 4270OTHERWISE : j%=0 4280ENDCASE 4290men%?(39+i%*24)=i%*16+j% 4300PROCWimp_MenuCentre(men%,i%+1) 4310NEXT 4320=men% 4330: 4340DEF FNWimp_MenuNoOfEntries(menu$) 4350LOCAL n% ,j% : n%=0 : j%=0 4360REPEAT 4370j%=INSTR(menu$,"\",j%+1) 4380IF j%<>0 THEN n%+=1 4390UNTIL j%=0 4400=n% 4410: 4420DEF PROCWimp_MenuBackGroundColour(menu%,item%,colour%) 4430LOCAL fore%,i% 4440fore%=(menu%?(39+(item%-1)*24))MOD16 4450i%=((menu%?(39+(item%-1)*24))DIV16)MOD16 4460menu%?(39+(item%-1)*24)=fore%+16*colour%+i% 4470ENDPROC 4480: 4490DEF PROCWimp_MenuCentre(menu%,item%) 4500menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR(1<<3) 4510ENDPROC 4520: 4530DEF PROCWimp_MenuClose 4540SYS "Wimp_CreateMenu",-1 4550ENDPROC 4560: 4570DEF PROCWimp_MenuDisable(menu%,item%) 4580menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR(1<<22) 4590ENDPROC 4600: 4610DEF PROCWimp_MenuDottedLine(menu%,item%) 4620menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))OR2 4630ENDPROC 4640: 4650DEF PROCWimp_MenuEnable(menu%,item%) 4660PROCWimp_MenuDisable(menu%,item%) 4670menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)EOR(1<<22) 4680ENDPROC 4690: 4700DEF PROCWimp_MenuForegroundColour(menu%,item%,colour%) 4710menu%?(39+(item%-1)*24)=colour%+16*((menu%?(39+(item%-1)*24))DIV16) 4720ENDPROC 4730: 4740DEF PROCWimp_MenuGlue(menu1%,item%,menu2%) 4750menu1%!(8+item%*24)=menu2% 4760ENDPROC 4770: 4780DEF PROCWimp_MenuItem(menu%,item%,item$) 4790$(menu%+(40+(item%-1)*24))=LEFT$(item$,12)+CHR$0 4800ENDPROC 4810: 4820DEF PROCWimp_MenuMessage(menu%,item%) 4830menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))EOR(1<<3) 4840ENDPROC 4850: 4860DEF PROCWimp_MenuPopUp(Menu%,x%,y%) 4870menu%=Menu% 4880SYS "Wimp_CreateMenu",,menu%,x%-64,y%+20 4890ENDPROC 4900: 4910DEF PROCWimp_MenuPopUpBar(x%,y%) 4920LOCAL n% : n%=0 4930WHILE ((Bar_Menu%!(28+n%*24))AND%10000000)=0 4940n%+=1 4950ENDWHILE 4960SYS "Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44 4970menu%=Bar_Menu% 4980ENDPROC 4990: 5000DEF PROCWimp_MenuTick(menu%,item%) 5010menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))EOR1 5020ENDPROC 5030: 5040DEF PROCWimp_MenuTitle(menu%,title$) 5050$menu%=LEFT$(title$,12)+CHR$0 5060ENDPROC 5070: 5080DEF PROCWimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%) 5090menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))OR4 5100menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR&100 5110menu%!(40+(item%-1)*24)=buffer% 5120menu%!(44+(item%-1)*24)=val% 5130menu%!(48+(item%-1)*24)=BufferLength% 5140ENDPROC 5150REM| 5160REM| 5170REM| 5180REM| ------------------------- 5190REM| 4.EVALSprites 5200REM| ------------------------- 5210REM| 5220REM| 5230REM| ------------------------------------ 5240REM| 5250REM| Procedures : 5260REM| 5270REM| 5280REM| PROCWimp_SpritesLoad 5290REM| PROCWimp_SpritesPathLoad(pathname$ 5300REM| 5310REM| 5320REM| 5330REM| ------------------------------------ 5340REM| 5350: 5360DEF PROCWimp_SpritesLoad 5370PROCWimp_SpritesPathLoad("<Obey$Dir>.Sprites") 5380ENDPROC 5390: 5400DEF PROCWimp_SpritesPathLoad(pathname$) 5410LOCALS%,T% 5420S%=OPENIN"<Obey$Dir>.Sprites":T%=EXT#S%+16:CLOSE#S% 5430DIMsprites%T%,spname%12 5440!sprites%=T%:sprites%!8=0 5450SYS"OS_SpriteOp",&109,sprites% 5460SYS"OS_SpriteOp",&10A,sprites%,pathname$ 5470ENDPROC 5480: 5490REM| 5500REM| 5510REM| 5520REM| ------------------------- 5530REM| 5.EVALFiles 5540REM| ------------------------- 5550REM| 5560REM| 5570REM| ------------------------------- 5580REM| 5590REM| Procedures : 5600REM| 5610REM| 5620REM| FNWimp_FileType(type%) 5630REM| FNWimp_GetFilePathName 5640REM| FNWimp_FileLoad(pathname$) 5650REM| FNWimp_GetStringAtAddress(array%) 5660REM| FNWimp_GetFileFromPathname(f$) 5670REM| PROCWimp_SendToEdit(file$) 5680REM| 5690REM| ------------------------------- 5700REM| 5710REM| 5720REM| 5730: 5740DEF FNWimp_FileType(type%) 5750CASEtype%OF 5760WHEN&FFF:="Text" 5770WHEN&FFD:="Data" 5780WHEN&FFB:="Basic" 5790WHEN&FF9:="Sprite" 5800WHEN&FED:="Palette" 5810WHEN&FEC:="Template" 5820WHEN&AFF:="Draw" 5830WHEN&1000:="Folder" 5840WHEN&2000:="Application" 5850OTHERWISE=STR$~(type%) 5860ENDCASE 5870: 5880DEF FNWimp_GetFilePathName 5890=FNWimp_GetStringAtAddress(wimp%+44) 5900: 5910DEF FNWimp_FileLoad(pathname$) 5920LOCALS%,T%,file% 5930S%=OPENINpathname$ 5940T%=EXT#S%+16 5950CLOSE#S% 5960DIMfile%T% 5970OSCLI("LOAD"+pathname$+""+STR$~file%) 5980=file% 5990; 6000DEF FNWimp_GetStringAtAddress(array%) 6010LOCALs$:s$="" 6020WHILE(?array%<>13)AND(?array%<>0):s$+=CHR$(?array%):array%+=1:ENDWHILE: 6030=s$ 6040: 6050DEF FNWimp_GetFileFromPathname(f$) 6060CASE INSTR(f$,".") OF 6070 WHEN 0 :=f$ 6080 OTHERWISE :=FNWimp_GetFileFromPathname(RIGHT$(f$,LEN(f$)-INSTR(f$,"."))) 6090ENDCASE 6100: 6110DEF PROCWimp_SendToEdit(file$) 6120LOCAL n% 6130wimp%!4=&6CC01C0C 6140wimp%!16=5 6150wimp%!36=0 6160wimp%!40=&FFF 6170$(wimp%+44)=file$+CHR$0 6180n%=LENfile$+45 6190IF n%MOD4 THEN !wimp%=4+(n%>>2)<<2 ELSE !wimp%=n% 6200SYS "Wimp_SendMessage",17,wimp%,0 6210ENDPROC 6220: 6230REM| 6240REM| 6250REM| 6260REM| ------------------------- 6270REM| 6.EVALMiscellaneous 6280REM| ------------------------- 6290REM| 6300REM| 6310REM| ------------------------------- 6320REM| 6330REM| Procedures : 6340REM| 6350REM| 6360REM| FNWimp_Start(TaskName$) 6370REM| PROCWimp_SetEventVariables 6380REM| PROCWimp_Error(task%,TaskName$) 6390REM| PROCWimp_CloseDown 6400REM| PROCWimp_Quit 6410REM| FNWimp_ReadVariable(Variable$) 6420REM| 6430REM| 6440REM| ------------------------------- 6450REM| 6460: 6470DEF FNWimp_Start(TaskName$) 6480LOCAL version% 6490PROCWimp_SetEventVariables 6500ON ERROR PROCWimp_Error(task%,TaskName$):END 6510$wimp%="TASK" 6520SYS"Wimp_Initialise",200,!wimp%,TaskName$ TO version%,task% 6530=TaskName$ 6540: 6550DEF PROCWimp_SetEventVariables 6560wimp_memory%=1000 : icon_memory%=1000 6570DIM wimp% wimp_memory%,icons% icon_memory% 6580DIM pointer_block% 20 6590icon_memory%=icons%+icon_memory% 6600null%=1 :draw%=2 : pointer_leaving%=1<<4 6610pointer_entering%=1<<5:mouse%=1<<6:drag%=1<<7 6620key%=1<<8:menu%=1<<9:scroll%=1<<10 6630lose_caret%=1<<11:gain_caret%=1<<12:message%=(1<<17)+(1<<18) 6640recorder%=1<<18:acknowledge%=1<<19:window%=0 6650sprites%=0:version%=0:task%=0 6660Bar_Window%=-2:Bar_Icon%=0:Bar_Menu%=0 6670x_origin%=0:y_origin%=0:SaveWindow%=-3 6680message_quit%=0:message_save%=2:message_load%=3 6690mouse_button%=2:save_event%=0 6700top_line%=0 : bottom_line%=0 6710ENDPROC 6720: 6730DEF PROCWimp_Error(task%,TaskName$) 6740LOCALX$,x% 6750ON ERROR OFF 6760x%=ERL 6770X$=REPORT$+"atline"+STR$(x%DIV10) 6780DIMErrorMsg%36 6790ErrorMsg%!0=36:ErrorMsg%!12=0:ErrorMsg%!16=&81080:ErrorMsg%!20=x%:$(ErrorMsg%+24)="!RunImage":SYS"Wimp_SendMessage",17,ErrorMsg% 6800PROCWimp_WindowAlert(TaskName$,X$) 6810PROCWimp_CloseDown 6820ENDPROC 6830: 6840DEF PROCWimp_CloseDown 6850SYS"Wimp_CloseDown",task%,"TASK" 6860ENDPROC 6870: 6880DEF PROCWimp_Quit 6890 finished%=TRUE 6900ENDPROC 6910: 6920DEF FNWimp_ReadVariable(Variable$) 6930LOCALlen%,result%,variable% 6940$wimp%=Variable$ 6950SYS"OS_ReadVarVal",wimp%,wimp%+255,255,,3TO,,len% 6960wimp%?(len%+255)=13 6970=$(wimp%+255) 6980: 6990REM| 7000REM| 7010REM| 7020REM| 7030REM| ---------------- 7040REM| Wimp Polling 7050REM| ---------------- 7060REM| 7070REM| 7080: 7090DEF PROCWimp_WaitForEvent 7100finished%=FALSE 7110mask%=%111000011001 7120REPEAT 7130 SYS"Wimp_Poll",mask%,wimp% TO event% 7140 CASE event% OF 7150 WHEN 0: 7160 WHEN 1: SYS"Wimp_RedrawWindow",,wimp%TOmore% 7170 x_origin%=FNWimp_WindowXOrigin 7180 y_origin%=FNWimp_WindowYOrigin 7190 WHILEmore% 7200REM SYS"Wimp_BorderWindow",,wimp% 7210 bottom_line%=(47+y_origin%-wimp%!32)DIV32 7220 top_line%=(y_origin%-wimp%!40)DIV32 7230 IF top_line%<0 THEN top_line%=0 7240 PROCEvent_Draw(wimp%!0) 7250 PROCEvent_Draw(wimp%!0) 7260 SYS"Wimp_GetRectangle",,wimp%TOmore% 7270 ENDWHILE 7280 WHEN2 : SYS "Wimp_OpenWindow",,wimp% 7290 WHEN3 : PROCEvent_WindowClose(!wimp%) 7300 PROCWimp_WindowClose(!wimp%) 7310 WHEN4 : 7320 WHEN5 : 7330 WHEN6 :button%=wimp%!8:window%=wimp%!12:icon%=wimp%!16 7340 x%=wimp%!0:y%=wimp%!4 7350 CASE button% OF 7360 WHEN2 :PROCEvent_PopUpMenu(window%,x%,y%) 7370 OTHERWISE: 7380 CASE FNEvent_Save(window%) OF 7390 WHEN TRUE 7400 CASE icon% OF 7410 WHEN 0 : 7420 IF button% AND &50 THEN PROCWimpPoll_DragBox(window%) 7430 WHEN 2 : 7440 IF button% AND 5 THEN PROCWimpPoll_SaveFile(window%) 7450 ENDCASE 7460 WHEN FALSE 7470REM SYS"Wimp_BorderIcon",,wimp% 7480 PROCEvent_MouseClick(button%,window%,icon%,x%,y%) 7490REM wimp%!8=0 7500REM SYS"Wimp_BorderIcon",,wimp% 7510 ENDCASE 7520 ENDCASE 7530 WHEN7 :PROCWimpPoll_SaveMessage 7540 WHEN8 :window%=wimp%!0:icon%=wimp%!4:key%=wimp%!24 7550 CASE FNEvent_Save(window%) OF 7560 WHEN TRUE : PROCWimpPoll_SaveFile(window%) 7570 WHEN FALSE: PROCEvent_KeyPress(window%,icon%,key%) 7580 ENDCASE 7590 WHEN9 :PROCEvent_MenuChoice(menu%) 7600 WHEN10: 7610 WHEN11: 7620 WHEN12: 7630 WHEN17,18: REM messages 7640 CASE wimp%!16 OF 7650 WHEN 0:finished%=TRUE 7660 WHEN 1 : 7670 WHEN 2 : 7680 file$=FNWimp_GetStringAtAddress(wimp%+44) 7690 PROCWimp_IconPutText(save%,1,file$) 7700 PROCWimp_IconCaret(save%,1,LENfile$) 7710 PROCEvent_SaveFile(file$,save%) 7720 WHEN 3 7730 PROCEvent_LoadFile(FNWimp_GetStringAtAddress(wimp%+44),FNWimp_FileType(wimp%!40)) 7740 ENDCASE 7750 WHEN19: 7760 ENDCASE 7770UNTILfinished% 7780ENDPROC 7790: 7800DEF PROCWimpPoll_SaveFile(window%) 7810LOCALx$ 7820 x$=FNWimp_IconText(window%,1) 7830 CASE INSTR(x$,".") OF 7840 WHEN 0 : 7850 PROCWimp_WindowAlert(Task$,"To save, drag the icon to a directory window") 7860 OTHERWISE: PROCEvent_SaveFile(x$,window%) 7870 ENDCASE 7880 SYS"Wimp_CreateMenu",-1 7890ENDPROC 7900: 7910DEF PROCWimpPoll_DragBox(window%) 7920LOCALx%,y% 7930 save%=window% 7940 !wimp%=window% 7950 SYS"Wimp_GetWindowState",,wimp% 7960 x%=wimp%!4-wimp%!20:y%=wimp%!16-wimp%!24 7970 wimp%!4=0 7980 SYS"Wimp_GetIconState",,wimp% 7990 !wimp%=window% 8000 wimp%!4=5 8010 wimp%!8=x%+wimp%!8:wimp%!12=y%+wimp%!12 8020 wimp%!16=x%+wimp%!16:wimp%!20=y%+wimp%!20 8030 wimp%!24=0:wimp%!28=0 8040 wimp%!32=&7FFFFFFF:wimp%!36=&7FFFFFFF 8050 SYS"Wimp_DragBox",,wimp% 8060ENDPROC 8070: 8080DEF PROCWimpPoll_SaveMessage 8090LOCAL file$,window%,icon%,x%,y% 8100 SYS"Wimp_GetPointerInfo",,wimp% 8110 window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4 8120 file$=FNWimp_GetFileFromPathname(FNWimp_IconText(save%,1)) 8130 wimp%!20=window% 8140 wimp%!24=icon% 8150 wimp%!28=x%:wimp%!32=y% 8160 wimp%!36=length% 8170 wimp%!0=64 8180 wimp%!12=0 8190 wimp%!16=1 8200 wimp%!40=&FFF 8210 $(wimp%+44)=file$ 8220 SYS"Wimp_SendMessage",17,wimp%,wimp%!20,wimp%!24 8230ENDPROC 8240:
9 Task$=�Wimp_Start("WimpSprites") . �Create_Windows , �Create_Icons (, �Create_Menus 23 �User_SetInitialData <1 �Wimp_WaitForEvent F. �Wimp_CloseDown P � Z : d! � �User_SetInitialData n � x : � � �Create_Windows �; Info_Window%=�Wimp_WindowLoad("Info") �> SaveRAM_Window%=�Wimp_WindowLoad("SaveRAM") �> SaveRMA_Window%=�Wimp_WindowLoad("SaveRMA") �8 Save_Window%=�Wimp_WindowLoad("Save") � � � : � � �Create_Icons �/ Bar_Icon%=�Wimp_IconBar("!WimpPool") � � � : � � �Create_Menus �4 menu$ ="WimpSprites\Info>Info_Window%\" b menu$+="RAM_Pool>SaveRAM_Window%\RMA_Pool>SaveRMA_Window%\!Sprites>Save_Window%\Quit" . Bar_Menu%=�Wimp_MenuCreate(menu$) � " : ,! � �Event_Draw(window%) 6 � @ : J( � �Event_WindowClose(window%) T Ȏ window% � ^ � h � r : |, � �Event_PopUpMenu(window%,x%,y%) � Ȏ window% � �< � Bar_Window% : �Wimp_MenuPopUpBar(x%,y%) � � � � � : �; � �Event_MouseClick(button%,window%,icon%,x%,y%) � Ȏ window% � �1 � Bar_Window% : �User_MouseBar �B � Info_Window% : �User_MouseInfo( button%,icon%) � � � � � : � � �User_MouseBar � : . � �User_MouseInfo( button%,icon%) &O �Wimp_WindowAlert("Info","Mouse button="+�button%+"icon="+�icon%) 0 � : : D0 � �Event_KeyPress(window%,icon%,key%) N Ȏ window% � XH � SaveRAM_Window% : �User_KeyPressSaveRAM( icon%,key%) bH � SaveRMA_Window% : �User_KeyPressSaveRMA( icon%,key%) l � v � � : �1 � �User_KeyPressSaveRAM( icon%,key%) �M �Wimp_WindowAlert("SaveRAM","Key pressed="+�key%+"icon="+�icon%) � � � : �1 � �User_KeyPressSaveRMA( icon%,key%) �M �Wimp_WindowAlert("SaveRMA","Key pressed="+�key%+"icon="+�icon%) � � � : �% � �Event_MenuChoice(menu%) � Ȏ menu% � �< � Bar_Menu% : �User_MenuChoiceBar � � � : � �User_MenuChoiceBar $ Ȏ �Wimp_MenuChoice(0) � * � 1 : 4 � 2 : > � 3 : H � 5 :finished%=� R � \ � f : p! � �Event_Save(window%) z Ȏ window% � �$ � SaveRAM_Window% :=� �$ � SaveRMA_Window% :=� �! � Save_Window% :=� � :=� � � � : �+ � �Event_SaveFile(file$,window%) � Ȏ window% � � � SaveRAM_Window% �1 ș "Wimp_BaseOfSprites" � rom,rma �/ ș "OS_SpriteOp",&10C,rom,file$ � � SaveRMA_Window% �1 ș "Wimp_BaseOfSprites" � rom,rma / ș "OS_SpriteOp",&10C,rma,file$ � Save_Window% 9 �("Copy <WimpPool$Dir>.!Sprites1 "+file$) $ � . � 8O�|_________________________________________________________________________ BO�|_________________________________________________________________________ LO�|_________________________________________________________________________ V�| `�| j�| tE�| ------------------------------- 6/1/92 ~/�| WIMP PROCEDURE LIBRARY ��| �,�| Index of Contents ��| �5�| ------------------------------- ��| �$�| 1.�Windows ��| �"�| 2.�Icons ��| �"�| 3.�Menus ��| �$�| 4.�Sprites �| "�| 5.�Files �| *�| 6.�Miscellaneous (�| 25�| ------------------------------- <�| F�| P�| Z�| d�| n�| x5�| ------------------------------- �*�| 1.�Windows �5�| ------------------------------- ��| ��| �@�| ------------------------------------------------ ��| �(�| Procedures : ��| �8�| PROCWimp_WindowAlert(title$,message$) �C�| PROCWimp_WindowAlertBox(title$,message$,button%) �7�| FNWimp_WindowCancel(title$,message$) �;�| PROCWimp_WindowErrorBox(title$,message$) �.�| FNWimp_WindowTitle(window%) -�| FNWimp_WindowLoad(window$) ;�| FNWimp_WindowLoadFrom(window$,template$) '�| FNWimp_WindowXOrigin "'�| FNWimp_WindowYOrigin ,5�| PROCWimp_WindowBringToTop(window%) 64�| PROCWimp_WindowForceDraw(window%) @/�| PROCWimp_WindowOpen(window%) J%�| PROCWimp_Draw(x,y) T%�| PROCWimp_Move(x,y) ^+�| PROCWimp_Line(x,y,x1,y1) h�| r?�| ---------------------------------------------- |�| ��| ��| �(� �Wimp_WindowAlert(title$,message$) �+�Wimp_WindowAlertBox(title$,message$,0) �� �: �3� �Wimp_WindowAlertBox(title$,message$,button%) �� response% �$(wimp%+4)=message$ �Ȏ button% � � � 2 : response%=1 � � 1 : response%=15 �! � 3 : response%=(1<<5)+16 ! � 4 : response%=(1<<6)+16 : response%=16 � &=ș "Wimp_ReportError",wimp%,response%,title$ � ,response% 0� :: D)� �Wimp_WindowCancel(title$,message$) N$(wimp%+4)=message$ Xresponse%=23 b=ș "Wimp_ReportError",wimp%,response%,title$ � ,response% l=response%-2 v: �+� �Wimp_WindowErrorBox(title$,message$) �+�Wimp_WindowAlertBox(title$,message$,2) �� �: � � �Wimp_WindowTitle(window%) �wimp%!0=window% � ș "Wimp_GetWindInfo",,wimp% �6� ((wimp%!60)�&100)=0 � 1,"Title isn't indirected" �=$(wimp%!76) �: �� �Wimp_WindowLoad(window$) �9=�Wimp_WindowLoadFrom(window$,"<Obey$Dir>.Templates") �: -� �Wimp_WindowLoadFrom(window$,template$) � c% %ș "Wimp_OpenTemplate",,template$ Mș "Wimp_LoadTemplate",,wimp%,icons%,icon_memory%,-1,window$,0 � ,,icons% *%� sprites%<>0 � wimp%!64=sprites% 4&ș "Wimp_CreateWindow",,wimp% � c% >ș "Wimp_CloseTemplate" H=c% R: \� �Wimp_WindowXOrigin f=16+wimp%!4-wimp%!20 p: z� �Wimp_WindowYOrigin �=-16+wimp%!16-wimp%!24 �: �%� �Wimp_WindowBringToTop(window%) �!wimp%=window% �#ș "Wimp_GetWindowState",,wimp% �wimp%!28=-1 �ș "Wimp_OpenWindow",,wimp% �� �: �!� �Wimp_WindowClose(window%) �!wimp%=window% � ș "Wimp_CloseWindow",,wimp% �� : $� �Wimp_WindowForceDraw(window%) Ȏ window% � $8 � -1 : ș "Wimp_ForceRedraw",-1,0,0,2*1280,2*1024 .9 : ș "Wimp_ForceRedraw",window%,0,-2*1024,2*1280,0 8� B� L: V� �Wimp_WindowOpen(window%) `!wimp%=window% j#ș "Wimp_GetWindowState",,wimp% tș "Wimp_OpenWindow",,wimp% ~� �: �� �Wimp_Draw(x,y) � � x-x_origin%,y-y_origin% �� �: �� �Wimp_Move(x,y) � � x-x_origin%,y_origin%-y �� �: �� �Wimp_Line(x,y,x1,y1) �8 � x-x_origin%,y-y_origin%,x1-x_origin%,y1-y_origin% �� : �| �| �| (1�| ------------------------- 2(�| 2.�Icons <1�| ------------------------- F�| P�| Z=�| ------------------------------------------ d�| n(�| Procedures : x�| �+�| FNWimp_IconBar(Sprite$) �<�| PROCWimp_IconCaret(window%,icon%,chars%) �2�| FNWimp_IconText(window%,icon%) �8�| FNWimp_IconValidation(window%,icon%) �7�| PROCWimp_IconDisable(window%,icon%) �6�| PROCWimp_IconEnable(window%,icon%) �?�| FNWimp_IconPutSprite(window%,icon%,sprite$) �=�| PROCWimp_IconPutText(window%,icon%,text$) ��| �=�| ------------------------------------------ ��| �: �� �Wimp_IconBar(Sprite$) � icon% wimp%!0=-1 wimp%!4=0 : wimp%!8=0 "wimp%!12=68 : wimp%!16=68 ,wimp%!20=&3002 6$(wimp%+24)=Sprite$ @'ș "Wimp_CreateIcon",,wimp% � icon% J =icon% T: ^+� �Wimp_IconCaret(window%,icon%,chars%) h8ș "Wimp_SetCaretPosition",window%,icon%,,,-1,chars% r� |: �#� �Wimp_IconText(window%,icon%) �#wimp%!0=window% : wimp%!4=icon% �!ș "Wimp_GetIconState",,wimp% �7� ((wimp%!24) � &100)=0 � 1,"Icon isn't indirected" �=$(wimp%!28) �: �)� �Wimp_IconValidation(window%,icon%) �#wimp%!0=window% : wimp%!4=icon% �!ș "Wimp_GetIconState",,wimp% �7� ((wimp%!24) � &100)=0 � 1,"Icon isn't indirected" �=$(wimp%!32) �: �&� �Wimp_IconDisable(window%,icon%) #wimp%!0=window% : wimp%!4=icon% $wimp%!8=1<<22 : wimp%!12=1<<22 !ș "Wimp_SetIconState",,wimp% &� 0: :%� �Wimp_IconEnable(window%,icon%) D#wimp%!0=window% : wimp%!4=icon% N$wimp%!8=0 : wimp%!12=1<<22 X!ș "Wimp_SetIconState",,wimp% b� l: v0� �Wimp_IconPutSprite(window%,icon%,sprite$) �!wimp%!0=window%:wimp%!4=icon% �!ș "Wimp_GetIconState",,wimp% �ș "Wimp_DeleteIcon",,wimp% �=wimp%!4=wimp%!8 : wimp%!8=wimp%!12 : wimp%!12=wimp%!16 �?wimp%!16=wimp%!20 : wimp%!20=wimp%!24 : $(wimp%+24)=sprite$ �'ș "Wimp_CreateIcon",,wimp% � icon% � =icon% �: �,� �Wimp_IconPutText(window%,icon%,text$) �#wimp%!0=window% : wimp%!4=icon% �!ș "Wimp_GetIconState",,wimp% �7� ((wimp%!24) � &100)=0 � 1,"Icon isn't indirected" �$(wimp%!28)=text$ #wimp%!0=window% : wimp%!4=icon% wimp%!8=0 : wimp%!12=0 !ș "Wimp_SetIconState",,wimp% � *: 4�| >�| H�| R1�| ------------------------- \(�| 3.�Menus f1�| ------------------------- p�| z�| �?�| ---------------------------------------------- ��| �(�| Procedures : ��| ��| �.�| PROCWimp_MenuAdjustOn(menu%) �+�| FNWimp_MenuChoice(level%) �*�| FNWimp_MenuCreate(menu$) �$�| FNWimp_MenuColours �2�| FNWimp_MenuCreateColours(title$) �/�| FNWimp_MenuNoOfEntries(menu$) �D�| PROCWimp_MenuBackGroundColour(menu%,item%,colour%) �2�| PROCWimp_MenuCentre(menu%,item%) $�| PROCWimp_MenuClose 3�| PROCWimp_MenuDisable(menu%,item%) 6�| PROCWimp_MenuDottedLine(menu%,item%) $2�| PROCWimp_MenuEnable(menu%,item%) .D�| PROCWimp_MenuForegroundColour(menu%,item%,colour%) 88�| PROCWimp_MenuGlue(menu1%,item%,menu2%) B6�| PROCWimp_MenuItem(menu%,item%,item$) L3�| PROCWimp_MenuMessage(menu%,item%) V1�| PROCWimp_MenuPopUp(Menu%,x%,y%) `.�| PROCWimp_MenuPopUpBar(x%,y%) j0�| PROCWimp_MenuTick(menu%,item%) t2�| PROCWimp_MenuTitle(menu%,title$) ~L�| PROCWimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%) ��| �?�| ---------------------------------------------- ��| �: �� �Wimp_MenuAdjustOn(menu%) �,ș "Wimp_GetPointerInfo",,pointer_block% �^� ((pointer_block%!8)�1)=1 � ș "Wimp_CreateMenu",,menu%,pointer_block%!0,pointer_block%!4 �� �: �� �Wimp_MenuChoice(level%) �=(wimp%!(4*level%))+1 �: � �Wimp_MenuCreate(menu$) )� menu$="Colours" �=�Wimp_MenuColours '� menu%,index%,width%,length%,k%,s% .� menu% 28+�Wimp_MenuNoOfEntries(menu$)*24 (7menu%?12=7 : menu%?13=2 : menu%?14=7 :menu%?15=0 2+menu%!16=140 : menu%!20=44 : menu%!24=0 <index%=menu%+28 F $menu%=�menu$,�menu$,"\")-1) P#width%=�(�menu$,�menu$,"\")-1)) Z$menu$+="\" : Menu_NoOfEntries%=0 dȕ menu$<>"" nmenu$=�menu$,�menu$,"\")+1) xȎ menu$ � � � "" � : �1 !index%=0 : index%!4=-1 : index%!8=&7000021 � length%=�menu$,"\")-1 � k%=��menu$,length%),">") � Ȏ k% � � � 0 � �% s%=�(�menu$,k%+1,length%-k%)) � index%!4=s% � length%=k%-1 � � �" $(index%+12)=�menu$,length%) ' � length%>width% � width%=length% index%+=24 � "� ,menu%!16=16*(width%+1) 6(index%!-24=index%!-24 � &80 : =menu% @: J� �Wimp_MenuColours T!=�Wimp_MenuCreateColours(" ") ^: h%� �Wimp_MenuCreateColours(title$) r� x$,men%,j%,i% |6x$=title$+"\0\1\2\3\4\5\6\7\8\9\10\11\12\13\14\15" �men%=�Wimp_MenuCreate(x$) �� i%=0 � 15 � Ȏ � � �(� i%<4,i%=9,i%=12,i%=14,i%=15 : j%=7 � : j%=0 �� �men%?(39+i%*24)=i%*16+j% ��Wimp_MenuCentre(men%,i%+1) �� � =men% �: �"� �Wimp_MenuNoOfEntries(menu$) �� n% ,j% : n%=0 : j%=0 � j%=�menu$,"\",j%+1) � j%<>0 � n%+=1 & � j%=0 0=n% :: D5� �Wimp_MenuBackGroundColour(menu%,item%,colour%) N� fore%,i% X&fore%=(menu%?(39+(item%-1)*24))�16 b(i%=((menu%?(39+(item%-1)*24))�16)�16 l/menu%?(39+(item%-1)*24)=fore%+16*colour%+i% v� �: �#� �Wimp_MenuCentre(menu%,item%) �:menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<3) �� �: �� �Wimp_MenuClose �ș "Wimp_CreateMenu",-1 �� �: �$� �Wimp_MenuDisable(menu%,item%) �;menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<22) �� �: '� �Wimp_MenuDottedLine(menu%,item%) 7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�2 � : *#� �Wimp_MenuEnable(menu%,item%) 4"�Wimp_MenuDisable(menu%,item%) >;menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<22) H� R: \5� �Wimp_MenuForegroundColour(menu%,item%,colour%) fEmenu%?(39+(item%-1)*24)=colour%+16*((menu%?(39+(item%-1)*24))�16) p� z: �)� �Wimp_MenuGlue(menu1%,item%,menu2%) �menu1%!(8+item%*24)=menu2% �� �: �'� �Wimp_MenuItem(menu%,item%,item$) �,$(menu%+(40+(item%-1)*24))=�item$,12)+�0 �� �: �$� �Wimp_MenuMessage(menu%,item%) �<menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�(1<<3) �� �: �"� �Wimp_MenuPopUp(Menu%,x%,y%) menu%=Menu% +ș "Wimp_CreateMenu",,menu%,x%-64,y%+20 � $: .� �Wimp_MenuPopUpBar(x%,y%) 8� n% : n%=0 B+ȕ ((Bar_Menu%!(28+n%*24))�%10000000)=0 L n%+=1 V� `2ș "Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44 jmenu%=Bar_Menu% t� ~: �!� �Wimp_MenuTick(menu%,item%) �7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�1 �� �: �#� �Wimp_MenuTitle(menu%,title$) �$menu%=�title$,12)+�0 �� �: �=� �Wimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%) �7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�4 �8menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�&100 �#menu%!(40+(item%-1)*24)=buffer% menu%!(44+(item%-1)*24)=val% )menu%!(48+(item%-1)*24)=BufferLength% � �| (�| 2�| <1�| ------------------------- F*�| 4.�Sprites P1�| ------------------------- Z�| d�| n:�| ------------------------------------ x�| �(�| Procedures : ��| ��| �,�| PROCWimp_SpritesLoad �:�| PROCWimp_SpritesPathLoad(pathname$ ��| ��| ��| �:�| ------------------------------------ ��| �: �� �Wimp_SpritesLoad �/�Wimp_SpritesPathLoad("<Obey$Dir>.Sprites") � : &� �Wimp_SpritesPathLoad(pathname$) " �S%,T% ,,S%=�"<Obey$Dir>.Sprites":T%=�#S%+16:�#S% 6�sprites%T%,spname%12 @!sprites%=T%:sprites%!8=0 J!ș"OS_SpriteOp",&109,sprites% T+ș"OS_SpriteOp",&10A,sprites%,pathname$ ^� h: r�| |�| ��| �1�| ------------------------- �(�| 5.�Files �1�| ------------------------- ��| ��| �5�| ------------------------------- ��| �(�| Procedures : ��| ��| �.�| FNWimp_FileType(type%) �.�| FNWimp_GetFilePathName 2�| FNWimp_FileLoad(pathname$) 9�| FNWimp_GetStringAtAddress(array%) 6�| FNWimp_GetFileFromPathname(f$) &2�| PROCWimp_SendToEdit(file$) 0�| :5�| ------------------------------- D�| N�| X�| b: l� �Wimp_FileType(type%) vȎtype%� ��&FFF:="Text" ��&FFD:="Data" ��&FFB:="Basic" ��&FF9:="Sprite" ��&FED:="Palette" ��&FEC:="Template" ��&AFF:="Draw" ��&1000:="Folder" ��&2000:="Application" �=�~(type%) �� �: �� �Wimp_GetFilePathName '=�Wimp_GetStringAtAddress(wimp%+44) : � �Wimp_FileLoad(pathname$) �S%,T%,file% *S%=�pathname$ 4T%=�#S%+16 >�#S% H�file%T% R"�("LOAD"+pathname$+""+�~file%) \ =file% f; p&� �Wimp_GetStringAtAddress(array%) z �s$:s$="" �<ȕ(?array%<>13)�(?array%<>0):s$+=�(?array%):array%+=1:�: �=s$ �: �#� �Wimp_GetFileFromPathname(f$) �Ȏ �f$,".") � � � 0 :=f$ �7 :=�Wimp_GetFileFromPathname(�f$,�(f$)-�f$,"."))) �� �: �� �Wimp_SendToEdit(file$) �� n% �wimp%!4=&6CC01C0C �wimp%!16=5 wimp%!36=0 wimp%!40=&FFF $(wimp%+44)=file$+�0 $n%=�file$+45 .,� n%�4 � !wimp%=4+(n%>>2)<<2 � !wimp%=n% 8$ș "Wimp_SendMessage",17,wimp%,0 B� L: V�| `�| j�| t1�| ------------------------- ~,�| 6.�Miscellaneous �1�| ------------------------- ��| ��| �5�| ------------------------------- ��| �(�| Procedures : ��| ��| �/�| FNWimp_Start(TaskName$) �2�| PROCWimp_SetEventVariables �7�| PROCWimp_Error(task%,TaskName$) �*�| PROCWimp_CloseDown %�| PROCWimp_Quit 6�| FNWimp_ReadVariable(Variable$) �| �| (5�| ------------------------------- 2�| <: F� �Wimp_Start(TaskName$) P� version% Z�Wimp_SetEventVariables d&� � �Wimp_Error(task%,TaskName$):� n$wimp%="TASK" x=ș"Wimp_Initialise",200,!wimp%,TaskName$ � version%,task% �=TaskName$ �: �� �Wimp_SetEventVariables �)wimp_memory%=1000 : icon_memory%=1000 �,� wimp% wimp_memory%,icons% icon_memory% �� pointer_block% 20 �$icon_memory%=icons%+icon_memory% �.null%=1 :draw%=2 : pointer_leaving%=1<<4 �1pointer_entering%=1<<5:mouse%=1<<6:drag%=1<<7 �&key%=1<<8:menu%=1<<9:scroll%=1<<10 �@lose_caret%=1<<11:gain_caret%=1<<12:message%=(1<<17)+(1<<18) �0recorder%=1<<18:acknowledge%=1<<19:window%=0 �!sprites%=0:version%=0:task%=0 *Bar_Window%=-2:Bar_Icon%=0:Bar_Menu%=0 *x_origin%=0:y_origin%=0:SaveWindow%=-3 3message_quit%=0:message_save%=2:message_load%=3 "!mouse_button%=2:save_event%=0 , top_line%=0 : bottom_line%=0 6� @: J"� �Wimp_Error(task%,TaskName$) T �X$,x% ^ � � � hx%=� rX$=�$+"atline"+�(x%�10) |�ErrorMsg%36 ��ErrorMsg%!0=36:ErrorMsg%!12=0:ErrorMsg%!16=&81080:ErrorMsg%!20=x%:$(ErrorMsg%+24)="!RunImage":ș"Wimp_SendMessage",17,ErrorMsg% �#�Wimp_WindowAlert(TaskName$,X$) ��Wimp_CloseDown �� �: �� �Wimp_CloseDown �#ș"Wimp_CloseDown",task%,"TASK" �� �: �� �Wimp_Quit � finished%=� �� �: #� �Wimp_ReadVariable(Variable$) �len%,result%,variable% $wimp%=Variable$ &3ș"OS_ReadVarVal",wimp%,wimp%+255,255,,3�,,len% 0wimp%?(len%+255)=13 :=$(wimp%+255) D: N�| X�| b�| l�| v)�| ---------------- �'�| Wimp Polling �)�| ---------------- ��| ��| �: �� �Wimp_WaitForEvent �finished%=� �mask%=%111000011001 �� �' ș"Wimp_Poll",mask%,wimp% � event% � Ȏ event% � � � 0: �- � 1: ș"Wimp_RedrawWindow",,wimp%�more% + x_origin%=�Wimp_WindowXOrigin + y_origin%=�Wimp_WindowYOrigin ȕmore% -� SYS"Wimp_BorderWindow",,wimp% *6 bottom_line%=(47+y_origin%-wimp%!32)�32 40 top_line%=(y_origin%-wimp%!40)�32 >* � top_line%<0 � top_line%=0 H# �Event_Draw(wimp%!0) R# �Event_Draw(wimp%!0) \1 ș"Wimp_GetRectangle",,wimp%�more% f � p& �2 : ș "Wimp_OpenWindow",,wimp% z% �3 : �Event_WindowClose(!wimp%) �' �Wimp_WindowClose(!wimp%) � �4 : � �5 : �9 �6 :button%=wimp%!8:window%=wimp%!12:icon%=wimp%!16 �" x%=wimp%!0:y%=wimp%!4 � Ȏ button% � �4 �2 :�Event_PopUpMenu(window%,x%,y%) � : �' Ȏ �Event_Save(window%) � � � � � Ȏ icon% � � � 0 : �> � button% � &50 � �WimpPoll_DragBox(window%) � 2 : > � button% � 5 � �WimpPoll_SaveFile(window%) � $ � � .,� SYS"Wimp_BorderIcon",,wimp% 8> �Event_MouseClick(button%,window%,icon%,x%,y%) B� wimp%!8=0 L,� SYS"Wimp_BorderIcon",,wimp% V � ` � j �7 :�WimpPoll_SaveMessage t5 �8 :window%=wimp%!0:icon%=wimp%!4:key%=wimp%!24 ~& Ȏ �Event_Save(window%) � �/ � � : �WimpPoll_SaveFile(window%) �6 � �: �Event_KeyPress(window%,icon%,key%) � � �" �9 :�Event_MenuChoice(menu%) � �10: � �11: � �12: � �17,18: � messages � Ȏ wimp%!16 � � � 0:finished%=� � � 1 : � � 2 : 3 file$=�Wimp_GetStringAtAddress(wimp%+44) + �Wimp_IconPutText(save%,1,file$) * �Wimp_IconCaret(save%,1,�file$) ' �Event_SaveFile(file$,save%) ( � 3 2U �Event_LoadFile(�Wimp_GetStringAtAddress(wimp%+44),�Wimp_FileType(wimp%!40)) < � F �19: P � Z�finished% d� n: x!� �WimpPoll_SaveFile(window%) ��x$ �! x$=�Wimp_IconText(window%,1) � Ȏ �x$,".") � � � 0 : �N �Wimp_WindowAlert(Task$,"To save, drag the icon to a directory window") �$ : �Event_SaveFile(x$,window%) � � � ș"Wimp_CreateMenu",-1 �� �: � � �WimpPoll_DragBox(window%) � �x%,y% � save%=window% !wimp%=window% # ș"Wimp_GetWindowState",,wimp% - x%=wimp%!4-wimp%!20:y%=wimp%!16-wimp%!24 " wimp%!4=0 ,! ș"Wimp_GetIconState",,wimp% 6 !wimp%=window% @ wimp%!4=5 J, wimp%!8=x%+wimp%!8:wimp%!12=y%+wimp%!12 T. wimp%!16=x%+wimp%!16:wimp%!20=y%+wimp%!20 ^ wimp%!24=0:wimp%!28=0 h* wimp%!32=&7FFFFFFF:wimp%!36=&7FFFFFFF r ș"Wimp_DragBox",,wimp% |� �: �� �WimpPoll_SaveMessage �� file$,window%,icon%,x%,y% �# ș"Wimp_GetPointerInfo",,wimp% �: window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4 �= file$=�Wimp_GetFileFromPathname(�Wimp_IconText(save%,1)) � wimp%!20=window% � wimp%!24=icon% � wimp%!28=x%:wimp%!32=y% � wimp%!36=length% � wimp%!0=64 � wimp%!12=0 � wimp%!16=1 wimp%!40=&FFF $(wimp%+44)=file$ 4 ș"Wimp_SendMessage",17,wimp%,wimp%!20,wimp%!24 &� 0: �
00000000 0d 00 0a 39 20 20 20 20 20 20 20 20 20 20 20 20 |...9 | 00000010 20 20 20 20 20 20 20 20 20 54 61 73 6b 24 3d a4 | Task$=.| 00000020 57 69 6d 70 5f 53 74 61 72 74 28 22 57 69 6d 70 |Wimp_Start("Wimp| 00000030 53 70 72 69 74 65 73 22 29 0d 00 14 2e 20 20 20 |Sprites").... | 00000040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000050 20 20 20 20 20 20 20 20 f2 43 72 65 61 74 65 5f | .Create_| 00000060 57 69 6e 64 6f 77 73 0d 00 1e 2c 20 20 20 20 20 |Windows..., | 00000070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000080 20 20 20 20 20 20 f2 43 72 65 61 74 65 5f 49 63 | .Create_Ic| 00000090 6f 6e 73 0d 00 28 2c 20 20 20 20 20 20 20 20 20 |ons..(, | 000000a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000000b0 20 20 f2 43 72 65 61 74 65 5f 4d 65 6e 75 73 0d | .Create_Menus.| 000000c0 00 32 33 20 20 20 20 20 20 20 20 20 20 20 20 20 |.23 | 000000d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 55 | .U| 000000e0 73 65 72 5f 53 65 74 49 6e 69 74 69 61 6c 44 61 |ser_SetInitialDa| 000000f0 74 61 0d 00 3c 31 20 20 20 20 20 20 20 20 20 20 |ta..<1 | 00000100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000110 20 f2 57 69 6d 70 5f 57 61 69 74 46 6f 72 45 76 | .Wimp_WaitForEv| 00000120 65 6e 74 0d 00 46 2e 20 20 20 20 20 20 20 20 20 |ent..F. | 00000130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000140 20 20 f2 57 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 | .Wimp_CloseDow| 00000150 6e 0d 00 50 20 20 20 20 20 20 20 20 20 20 20 20 |n..P | 00000160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000170 e0 0d 00 5a 0c 20 20 20 20 20 20 20 3a 0d 00 64 |...Z. :..d| 00000180 21 20 20 20 20 20 20 20 dd 20 f2 55 73 65 72 5f |! . .User_| 00000190 53 65 74 49 6e 69 74 69 61 6c 44 61 74 61 0d 00 |SetInitialData..| 000001a0 6e 0c 20 20 20 20 20 20 20 e1 0d 00 78 0c 20 20 |n. ...x. | 000001b0 20 20 20 20 20 3a 0d 00 82 1c 20 20 20 20 20 20 | :.... | 000001c0 20 dd 20 f2 43 72 65 61 74 65 5f 57 69 6e 64 6f | . .Create_Windo| 000001d0 77 73 0d 00 8c 3b 20 20 20 20 20 20 20 20 20 20 |ws...; | 000001e0 20 20 20 20 20 20 20 20 49 6e 66 6f 5f 57 69 6e | Info_Win| 000001f0 64 6f 77 25 3d a4 57 69 6d 70 5f 57 69 6e 64 6f |dow%=.Wimp_Windo| 00000200 77 4c 6f 61 64 28 22 49 6e 66 6f 22 29 0d 00 96 |wLoad("Info")...| 00000210 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |> | 00000220 53 61 76 65 52 41 4d 5f 57 69 6e 64 6f 77 25 3d |SaveRAM_Window%=| 00000230 a4 57 69 6d 70 5f 57 69 6e 64 6f 77 4c 6f 61 64 |.Wimp_WindowLoad| 00000240 28 22 53 61 76 65 52 41 4d 22 29 0d 00 a0 3e 20 |("SaveRAM")...> | 00000250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 61 | Sa| 00000260 76 65 52 4d 41 5f 57 69 6e 64 6f 77 25 3d a4 57 |veRMA_Window%=.W| 00000270 69 6d 70 5f 57 69 6e 64 6f 77 4c 6f 61 64 28 22 |imp_WindowLoad("| 00000280 53 61 76 65 52 4d 41 22 29 0d 00 aa 38 20 20 20 |SaveRMA")...8 | 00000290 20 20 20 20 20 20 20 20 20 20 20 20 53 61 76 65 | Save| 000002a0 5f 57 69 6e 64 6f 77 25 3d a4 57 69 6d 70 5f 57 |_Window%=.Wimp_W| 000002b0 69 6e 64 6f 77 4c 6f 61 64 28 22 53 61 76 65 22 |indowLoad("Save"| 000002c0 29 0d 00 b4 0c 20 20 20 20 20 20 20 e1 0d 00 be |).... ....| 000002d0 0c 20 20 20 20 20 20 20 3a 0d 00 c8 1a 20 20 20 |. :.... | 000002e0 20 20 20 20 dd 20 f2 43 72 65 61 74 65 5f 49 63 | . .Create_Ic| 000002f0 6f 6e 73 0d 00 d2 2f 20 20 20 20 20 20 20 42 61 |ons.../ Ba| 00000300 72 5f 49 63 6f 6e 25 3d a4 57 69 6d 70 5f 49 63 |r_Icon%=.Wimp_Ic| 00000310 6f 6e 42 61 72 28 22 21 57 69 6d 70 50 6f 6f 6c |onBar("!WimpPool| 00000320 22 29 0d 00 dc 0c 20 20 20 20 20 20 20 e1 0d 00 |").... ...| 00000330 e6 0c 20 20 20 20 20 20 20 3a 0d 00 f0 1a 20 20 |.. :.... | 00000340 20 20 20 20 20 dd 20 f2 43 72 65 61 74 65 5f 4d | . .Create_M| 00000350 65 6e 75 73 0d 00 fa 34 20 20 20 20 20 20 20 20 |enus...4 | 00000360 20 6d 65 6e 75 24 20 3d 22 57 69 6d 70 53 70 72 | menu$ ="WimpSpr| 00000370 69 74 65 73 5c 49 6e 66 6f 3e 49 6e 66 6f 5f 57 |ites\Info>Info_W| 00000380 69 6e 64 6f 77 25 5c 22 0d 01 04 62 20 20 20 20 |indow%\"...b | 00000390 20 20 20 20 20 6d 65 6e 75 24 2b 3d 22 52 41 4d | menu$+="RAM| 000003a0 5f 50 6f 6f 6c 3e 53 61 76 65 52 41 4d 5f 57 69 |_Pool>SaveRAM_Wi| 000003b0 6e 64 6f 77 25 5c 52 4d 41 5f 50 6f 6f 6c 3e 53 |ndow%\RMA_Pool>S| 000003c0 61 76 65 52 4d 41 5f 57 69 6e 64 6f 77 25 5c 21 |aveRMA_Window%\!| 000003d0 53 70 72 69 74 65 73 3e 53 61 76 65 5f 57 69 6e |Sprites>Save_Win| 000003e0 64 6f 77 25 5c 51 75 69 74 22 0d 01 0e 2e 20 20 |dow%\Quit".... | 000003f0 20 20 20 20 20 20 20 42 61 72 5f 4d 65 6e 75 25 | Bar_Menu%| 00000400 3d a4 57 69 6d 70 5f 4d 65 6e 75 43 72 65 61 74 |=.Wimp_MenuCreat| 00000410 65 28 6d 65 6e 75 24 29 0d 01 18 0c 20 20 20 20 |e(menu$).... | 00000420 20 20 20 e1 0d 01 22 0c 20 20 20 20 20 20 20 3a | ...". :| 00000430 0d 01 2c 21 20 20 20 20 20 20 20 dd 20 f2 45 76 |..,! . .Ev| 00000440 65 6e 74 5f 44 72 61 77 28 77 69 6e 64 6f 77 25 |ent_Draw(window%| 00000450 29 0d 01 36 0c 20 20 20 20 20 20 20 e1 0d 01 40 |)..6. ...@| 00000460 0c 20 20 20 20 20 20 20 3a 0d 01 4a 28 20 20 20 |. :..J( | 00000470 20 20 20 20 dd 20 f2 45 76 65 6e 74 5f 57 69 6e | . .Event_Win| 00000480 64 6f 77 43 6c 6f 73 65 28 77 69 6e 64 6f 77 25 |dowClose(window%| 00000490 29 0d 01 54 17 20 20 20 20 20 20 20 c8 8e 20 77 |)..T. .. w| 000004a0 69 6e 64 6f 77 25 20 ca 0d 01 5e 0c 20 20 20 20 |indow% ...^. | 000004b0 20 20 20 cb 0d 01 68 0c 20 20 20 20 20 20 20 e1 | ...h. .| 000004c0 0d 01 72 0c 20 20 20 20 20 20 20 3a 0d 01 7c 2c |..r. :..|,| 000004d0 20 20 20 20 20 20 20 dd 20 f2 45 76 65 6e 74 5f | . .Event_| 000004e0 50 6f 70 55 70 4d 65 6e 75 28 77 69 6e 64 6f 77 |PopUpMenu(window| 000004f0 25 2c 78 25 2c 79 25 29 0d 01 86 17 20 20 20 20 |%,x%,y%).... | 00000500 20 20 20 c8 8e 20 77 69 6e 64 6f 77 25 20 ca 0d | .. window% ..| 00000510 01 90 3c 20 20 20 20 20 20 20 20 c9 20 42 61 72 |..< . Bar| 00000520 5f 57 69 6e 64 6f 77 25 20 20 20 20 20 20 20 20 |_Window% | 00000530 3a 20 f2 57 69 6d 70 5f 4d 65 6e 75 50 6f 70 55 |: .Wimp_MenuPopU| 00000540 70 42 61 72 28 78 25 2c 79 25 29 0d 01 9a 0c 20 |pBar(x%,y%).... | 00000550 20 20 20 20 20 20 cb 0d 01 a4 0c 20 20 20 20 20 | ..... | 00000560 20 20 e1 0d 01 ae 0c 20 20 20 20 20 20 20 3a 0d | ..... :.| 00000570 01 b8 3b 20 20 20 20 20 20 20 dd 20 f2 45 76 65 |..; . .Eve| 00000580 6e 74 5f 4d 6f 75 73 65 43 6c 69 63 6b 28 62 75 |nt_MouseClick(bu| 00000590 74 74 6f 6e 25 2c 77 69 6e 64 6f 77 25 2c 69 63 |tton%,window%,ic| 000005a0 6f 6e 25 2c 78 25 2c 79 25 29 0d 01 c2 17 20 20 |on%,x%,y%).... | 000005b0 20 20 20 20 20 c8 8e 20 77 69 6e 64 6f 77 25 20 | .. window% | 000005c0 ca 0d 01 cc 31 20 20 20 20 20 20 20 20 c9 20 42 |....1 . B| 000005d0 61 72 5f 57 69 6e 64 6f 77 25 20 20 20 20 20 20 |ar_Window% | 000005e0 20 20 3a 20 f2 55 73 65 72 5f 4d 6f 75 73 65 42 | : .User_MouseB| 000005f0 61 72 0d 01 d6 42 20 20 20 20 20 20 20 20 c9 20 |ar...B . | 00000600 49 6e 66 6f 5f 57 69 6e 64 6f 77 25 20 20 20 20 |Info_Window% | 00000610 20 20 20 3a 20 f2 55 73 65 72 5f 4d 6f 75 73 65 | : .User_Mouse| 00000620 49 6e 66 6f 28 20 62 75 74 74 6f 6e 25 2c 69 63 |Info( button%,ic| 00000630 6f 6e 25 29 0d 01 e0 0c 20 20 20 20 20 20 20 cb |on%).... .| 00000640 0d 01 ea 0c 20 20 20 20 20 20 20 e1 0d 01 f4 0e |.... .....| 00000650 20 20 20 20 20 20 20 20 20 3a 0d 01 fe 1d 20 20 | :.... | 00000660 20 20 20 20 20 20 20 dd 20 f2 55 73 65 72 5f 4d | . .User_M| 00000670 6f 75 73 65 42 61 72 0d 02 08 0e 20 20 20 20 20 |ouseBar.... | 00000680 20 20 20 20 e1 0d 02 12 0e 20 20 20 20 20 20 20 | ..... | 00000690 20 20 3a 0d 02 1c 2e 20 20 20 20 20 20 20 20 20 | :.... | 000006a0 dd 20 f2 55 73 65 72 5f 4d 6f 75 73 65 49 6e 66 |. .User_MouseInf| 000006b0 6f 28 20 62 75 74 74 6f 6e 25 2c 69 63 6f 6e 25 |o( button%,icon%| 000006c0 29 0d 02 26 4f 20 20 20 20 20 20 20 20 20 20 f2 |)..&O .| 000006d0 57 69 6d 70 5f 57 69 6e 64 6f 77 41 6c 65 72 74 |Wimp_WindowAlert| 000006e0 28 22 49 6e 66 6f 22 2c 22 4d 6f 75 73 65 20 62 |("Info","Mouse b| 000006f0 75 74 74 6f 6e 3d 22 2b c3 62 75 74 74 6f 6e 25 |utton="+.button%| 00000700 2b 22 69 63 6f 6e 3d 22 2b c3 69 63 6f 6e 25 29 |+"icon="+.icon%)| 00000710 0d 02 30 0e 20 20 20 20 20 20 20 20 20 e1 0d 02 |..0. ...| 00000720 3a 0c 20 20 20 20 20 20 20 3a 0d 02 44 30 20 20 |:. :..D0 | 00000730 20 20 20 20 20 dd 20 f2 45 76 65 6e 74 5f 4b 65 | . .Event_Ke| 00000740 79 50 72 65 73 73 28 77 69 6e 64 6f 77 25 2c 69 |yPress(window%,i| 00000750 63 6f 6e 25 2c 6b 65 79 25 29 0d 02 4e 1a 20 20 |con%,key%)..N. | 00000760 20 20 20 20 20 20 20 20 c8 8e 20 77 69 6e 64 6f | .. windo| 00000770 77 25 20 ca 0d 02 58 48 20 20 20 20 20 20 20 20 |w% ...XH | 00000780 20 20 20 c9 20 53 61 76 65 52 41 4d 5f 57 69 6e | . SaveRAM_Win| 00000790 64 6f 77 25 20 20 20 20 3a 20 f2 55 73 65 72 5f |dow% : .User_| 000007a0 4b 65 79 50 72 65 73 73 53 61 76 65 52 41 4d 28 |KeyPressSaveRAM(| 000007b0 20 69 63 6f 6e 25 2c 6b 65 79 25 29 0d 02 62 48 | icon%,key%)..bH| 000007c0 20 20 20 20 20 20 20 20 20 20 20 c9 20 53 61 76 | . Sav| 000007d0 65 52 4d 41 5f 57 69 6e 64 6f 77 25 20 20 20 20 |eRMA_Window% | 000007e0 3a 20 f2 55 73 65 72 5f 4b 65 79 50 72 65 73 73 |: .User_KeyPress| 000007f0 53 61 76 65 52 4d 41 28 20 69 63 6f 6e 25 2c 6b |SaveRMA( icon%,k| 00000800 65 79 25 29 0d 02 6c 0f 20 20 20 20 20 20 20 20 |ey%)..l. | 00000810 20 20 cb 0d 02 76 0c 20 20 20 20 20 20 20 e1 0d | ...v. ..| 00000820 02 80 0e 20 20 20 20 20 20 20 20 20 3a 0d 02 8a |... :...| 00000830 31 20 20 20 20 20 20 20 20 20 dd 20 f2 55 73 65 |1 . .Use| 00000840 72 5f 4b 65 79 50 72 65 73 73 53 61 76 65 52 41 |r_KeyPressSaveRA| 00000850 4d 28 20 69 63 6f 6e 25 2c 6b 65 79 25 29 0d 02 |M( icon%,key%)..| 00000860 94 4d 20 20 20 20 20 20 20 20 20 f2 57 69 6d 70 |.M .Wimp| 00000870 5f 57 69 6e 64 6f 77 41 6c 65 72 74 28 22 53 61 |_WindowAlert("Sa| 00000880 76 65 52 41 4d 22 2c 22 4b 65 79 20 70 72 65 73 |veRAM","Key pres| 00000890 73 65 64 3d 22 2b c3 6b 65 79 25 2b 22 69 63 6f |sed="+.key%+"ico| 000008a0 6e 3d 22 2b c3 69 63 6f 6e 25 29 0d 02 9e 0e 20 |n="+.icon%).... | 000008b0 20 20 20 20 20 20 20 20 e1 0d 02 a8 0e 20 20 20 | ..... | 000008c0 20 20 20 20 20 20 3a 0d 02 b2 31 20 20 20 20 20 | :...1 | 000008d0 20 20 20 20 dd 20 f2 55 73 65 72 5f 4b 65 79 50 | . .User_KeyP| 000008e0 72 65 73 73 53 61 76 65 52 4d 41 28 20 69 63 6f |ressSaveRMA( ico| 000008f0 6e 25 2c 6b 65 79 25 29 0d 02 bc 4d 20 20 20 20 |n%,key%)...M | 00000900 20 20 20 20 20 f2 57 69 6d 70 5f 57 69 6e 64 6f | .Wimp_Windo| 00000910 77 41 6c 65 72 74 28 22 53 61 76 65 52 4d 41 22 |wAlert("SaveRMA"| 00000920 2c 22 4b 65 79 20 70 72 65 73 73 65 64 3d 22 2b |,"Key pressed="+| 00000930 c3 6b 65 79 25 2b 22 69 63 6f 6e 3d 22 2b c3 69 |.key%+"icon="+.i| 00000940 63 6f 6e 25 29 0d 02 c6 0e 20 20 20 20 20 20 20 |con%).... | 00000950 20 20 e1 0d 02 d0 0c 20 20 20 20 20 20 20 3a 0d | ..... :.| 00000960 02 da 25 20 20 20 20 20 20 20 dd 20 f2 45 76 65 |..% . .Eve| 00000970 6e 74 5f 4d 65 6e 75 43 68 6f 69 63 65 28 6d 65 |nt_MenuChoice(me| 00000980 6e 75 25 29 0d 02 e4 16 20 20 20 20 20 20 20 20 |nu%).... | 00000990 c8 8e 20 6d 65 6e 75 25 20 ca 0d 02 ee 3c 20 20 |.. menu% ....< | 000009a0 20 20 20 20 20 20 20 20 20 20 20 20 c9 20 42 61 | . Ba| 000009b0 72 5f 4d 65 6e 75 25 20 20 20 20 20 20 20 20 20 |r_Menu% | 000009c0 20 3a 20 f2 55 73 65 72 5f 4d 65 6e 75 43 68 6f | : .User_MenuCho| 000009d0 69 63 65 42 61 72 0d 02 f8 0d 20 20 20 20 20 20 |iceBar.... | 000009e0 20 20 cb 0d 03 02 0c 20 20 20 20 20 20 20 e1 0d | ..... ..| 000009f0 03 0c 0c 20 20 20 20 20 20 20 3a 0d 03 16 20 20 |... :... | 00000a00 20 20 20 20 20 20 dd 20 f2 55 73 65 72 5f 4d 65 | . .User_Me| 00000a10 6e 75 43 68 6f 69 63 65 42 61 72 0d 03 20 24 20 |nuChoiceBar.. $ | 00000a20 20 20 20 20 20 20 20 c8 8e 20 a4 57 69 6d 70 5f | .. .Wimp_| 00000a30 4d 65 6e 75 43 68 6f 69 63 65 28 30 29 20 ca 0d |MenuChoice(0) ..| 00000a40 03 2a 12 20 20 20 20 20 20 20 20 20 c9 20 31 20 |.*. . 1 | 00000a50 3a 0d 03 34 12 20 20 20 20 20 20 20 20 20 c9 20 |:..4. . | 00000a60 32 20 3a 0d 03 3e 12 20 20 20 20 20 20 20 20 20 |2 :..>. | 00000a70 c9 20 33 20 3a 0d 03 48 1d 20 20 20 20 20 20 20 |. 3 :..H. | 00000a80 20 20 c9 20 35 20 3a 66 69 6e 69 73 68 65 64 25 | . 5 :finished%| 00000a90 3d b9 0d 03 52 0d 20 20 20 20 20 20 20 20 cb 0d |=...R. ..| 00000aa0 03 5c 0c 20 20 20 20 20 20 20 e1 0d 03 66 0c 20 |.\. ...f. | 00000ab0 20 20 20 20 20 20 3a 0d 03 70 21 20 20 20 20 20 | :..p! | 00000ac0 20 20 dd 20 a4 45 76 65 6e 74 5f 53 61 76 65 28 | . .Event_Save(| 00000ad0 77 69 6e 64 6f 77 25 29 0d 03 7a 19 20 20 20 20 |window%)..z. | 00000ae0 20 20 20 20 20 c8 8e 20 77 69 6e 64 6f 77 25 20 | .. window% | 00000af0 ca 0d 03 84 24 20 20 20 20 20 20 20 20 20 20 20 |....$ | 00000b00 c9 20 53 61 76 65 52 41 4d 5f 57 69 6e 64 6f 77 |. SaveRAM_Window| 00000b10 25 20 3a 3d b9 0d 03 8e 24 20 20 20 20 20 20 20 |% :=....$ | 00000b20 20 20 20 20 c9 20 53 61 76 65 52 4d 41 5f 57 69 | . SaveRMA_Wi| 00000b30 6e 64 6f 77 25 20 3a 3d b9 0d 03 98 21 20 20 20 |ndow% :=....! | 00000b40 20 20 20 20 20 20 20 20 c9 20 53 61 76 65 5f 57 | . Save_W| 00000b50 69 6e 64 6f 77 25 20 3a 3d b9 0d 03 a2 14 20 20 |indow% :=..... | 00000b60 20 20 20 20 20 20 20 20 20 7f 20 3a 3d a3 0d 03 | . :=...| 00000b70 ac 0e 20 20 20 20 20 20 20 20 20 cb 0d 03 b6 0c |.. .....| 00000b80 20 20 20 20 20 20 20 3a 0d 03 c0 2b 20 20 20 20 | :...+ | 00000b90 20 20 20 dd 20 f2 45 76 65 6e 74 5f 53 61 76 65 | . .Event_Save| 00000ba0 46 69 6c 65 28 66 69 6c 65 24 2c 77 69 6e 64 6f |File(file$,windo| 00000bb0 77 25 29 0d 03 ca 19 20 20 20 20 20 20 20 20 20 |w%).... | 00000bc0 c8 8e 20 77 69 6e 64 6f 77 25 20 ca 0d 03 d4 20 |.. window% .... | 00000bd0 20 20 20 20 20 20 20 20 20 20 20 c9 20 53 61 76 | . Sav| 00000be0 65 52 41 4d 5f 57 69 6e 64 6f 77 25 0d 03 de 31 |eRAM_Window%...1| 00000bf0 20 20 20 20 20 20 20 20 20 20 20 20 c8 99 20 22 | .. "| 00000c00 57 69 6d 70 5f 42 61 73 65 4f 66 53 70 72 69 74 |Wimp_BaseOfSprit| 00000c10 65 73 22 20 b8 20 72 6f 6d 2c 72 6d 61 0d 03 e8 |es" . rom,rma...| 00000c20 2f 20 20 20 20 20 20 20 20 20 20 20 20 c8 99 20 |/ .. | 00000c30 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 26 31 |"OS_SpriteOp",&1| 00000c40 30 43 2c 72 6f 6d 2c 66 69 6c 65 24 0d 03 f2 20 |0C,rom,file$... | 00000c50 20 20 20 20 20 20 20 20 20 20 20 c9 20 53 61 76 | . Sav| 00000c60 65 52 4d 41 5f 57 69 6e 64 6f 77 25 0d 03 fc 31 |eRMA_Window%...1| 00000c70 20 20 20 20 20 20 20 20 20 20 20 20 c8 99 20 22 | .. "| 00000c80 57 69 6d 70 5f 42 61 73 65 4f 66 53 70 72 69 74 |Wimp_BaseOfSprit| 00000c90 65 73 22 20 b8 20 72 6f 6d 2c 72 6d 61 0d 04 06 |es" . rom,rma...| 00000ca0 2f 20 20 20 20 20 20 20 20 20 20 20 20 c8 99 20 |/ .. | 00000cb0 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 26 31 |"OS_SpriteOp",&1| 00000cc0 30 43 2c 72 6d 61 2c 66 69 6c 65 24 0d 04 10 1d |0C,rma,file$....| 00000cd0 20 20 20 20 20 20 20 20 20 20 20 c9 20 53 61 76 | . Sav| 00000ce0 65 5f 57 69 6e 64 6f 77 25 0d 04 1a 39 20 20 20 |e_Window%...9 | 00000cf0 20 20 20 20 20 20 20 20 20 ff 28 22 43 6f 70 79 | .("Copy| 00000d00 20 3c 57 69 6d 70 50 6f 6f 6c 24 44 69 72 3e 2e | <WimpPool$Dir>.| 00000d10 21 53 70 72 69 74 65 73 31 20 22 2b 66 69 6c 65 |!Sprites1 "+file| 00000d20 24 29 0d 04 24 0e 20 20 20 20 20 20 20 20 20 cb |$)..$. .| 00000d30 0d 04 2e 0c 20 20 20 20 20 20 20 e1 0d 04 38 4f |.... ...8O| 00000d40 f4 7c 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f |.|______________| 00000d50 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f |________________| * 00000d80 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 0d 04 42 4f f4 |___________..BO.| 00000d90 7c 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f ||_______________| 00000da0 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f |________________| * 00000dd0 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 0d 04 4c 4f f4 7c |__________..LO.|| 00000de0 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f |________________| * 00000e20 5f 5f 5f 5f 5f 5f 5f 5f 5f 0d 04 56 06 f4 7c 0d |_________..V..|.| 00000e30 04 60 06 f4 7c 0d 04 6a 06 f4 7c 0d 04 74 45 f4 |.`..|..j..|..tE.| 00000e40 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 || | 00000e50 20 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 2d 2d 2d 2d |----------------| 00000e70 20 20 20 20 20 20 20 20 20 20 36 2f 31 2f 39 32 | 6/1/92| 00000e80 0d 04 7e 2f f4 7c 20 20 20 20 20 20 20 20 20 20 |..~/.| | 00000e90 20 20 20 20 20 20 20 20 20 57 49 4d 50 20 50 52 | WIMP PR| 00000ea0 4f 43 45 44 55 52 45 20 4c 49 42 52 41 52 59 0d |OCEDURE LIBRARY.| 00000eb0 04 88 06 f4 7c 0d 04 92 2c f4 7c 20 20 20 20 20 |....|...,.| | 00000ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000ed0 49 6e 64 65 78 20 6f 66 20 43 6f 6e 74 65 6e 74 |Index of Content| 00000ee0 73 0d 04 9c 06 f4 7c 0d 04 a6 35 f4 7c 20 20 20 |s.....|...5.| | 00000ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 2d | ---| 00000f00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000f10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 04 b0 06 |------------....| 00000f20 f4 7c 0d 04 ba 24 f4 7c 20 20 20 20 20 20 20 20 |.|...$.| | 00000f30 20 20 20 20 20 20 20 20 20 20 20 20 31 2e a0 57 | 1..W| 00000f40 69 6e 64 6f 77 73 0d 04 c4 06 f4 7c 0d 04 ce 22 |indows.....|..."| 00000f50 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.| | 00000f60 20 20 20 20 20 20 32 2e a0 49 63 6f 6e 73 0d 04 | 2..Icons..| 00000f70 d8 06 f4 7c 0d 04 e2 22 f4 7c 20 20 20 20 20 20 |...|...".| | 00000f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33 2e | 3.| 00000f90 a0 4d 65 6e 75 73 0d 04 ec 06 f4 7c 0d 04 f6 24 |.Menus.....|...$| 00000fa0 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.| | 00000fb0 20 20 20 20 20 20 34 2e a0 53 70 72 69 74 65 73 | 4..Sprites| 00000fc0 0d 05 00 06 f4 7c 0d 05 0a 22 f4 7c 20 20 20 20 |.....|...".| | 00000fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000fe0 35 2e a0 46 69 6c 65 73 0d 05 14 06 f4 7c 0d 05 |5..Files.....|..| 00000ff0 1e 2a f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |.*.| | 00001000 20 20 20 20 20 20 20 20 36 2e a0 4d 69 73 63 65 | 6..Misce| 00001010 6c 6c 61 6e 65 6f 75 73 0d 05 28 06 f4 7c 0d 05 |llaneous..(..|..| 00001020 32 35 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |25.| | 00001030 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ------------| 00001040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00001050 2d 2d 2d 0d 05 3c 06 f4 7c 0d 05 46 06 f4 7c 0d |---..<..|..F..|.| 00001060 05 50 06 f4 7c 0d 05 5a 06 f4 7c 0d 05 64 06 f4 |.P..|..Z..|..d..| 00001070 7c 0d 05 6e 06 f4 7c 0d 05 78 35 f4 7c 20 20 20 ||..n..|..x5.| | 00001080 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 2d | ---| 00001090 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000010a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 05 82 2a |------------...*| 000010b0 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.| | 000010c0 20 20 20 20 20 20 20 20 20 20 20 20 31 2e a0 57 | 1..W| 000010d0 69 6e 64 6f 77 73 0d 05 8c 35 f4 7c 20 20 20 20 |indows...5.| | 000010e0 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 2d 2d | ----| 000010f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00001100 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 05 96 06 f4 |-----------.....| 00001110 7c 0d 05 a0 06 f4 7c 0d 05 aa 40 f4 7c 20 20 20 ||.....|...@.| | 00001120 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d | ---------| 00001130 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001150 2d 2d 2d 2d 2d 2d 2d 0d 05 b4 06 f4 7c 0d 05 be |-------.....|...| 00001160 28 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 |(.| | 00001170 20 20 20 20 20 20 20 20 20 50 72 6f 63 65 64 75 | Procedu| 00001180 72 65 73 20 3a 0d 05 c8 06 f4 7c 0d 05 d2 38 f4 |res :.....|...8.| 00001190 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 50 52 || PR| 000011a0 4f 43 57 69 6d 70 5f 57 69 6e 64 6f 77 41 6c 65 |OCWimp_WindowAle| 000011b0 72 74 28 74 69 74 6c 65 24 2c 6d 65 73 73 61 67 |rt(title$,messag| 000011c0 65 24 29 0d 05 dc 43 f4 7c 20 20 20 20 20 20 20 |e$)...C.| | 000011d0 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 5f 57 | PROCWimp_W| 000011e0 69 6e 64 6f 77 41 6c 65 72 74 42 6f 78 28 74 69 |indowAlertBox(ti| 000011f0 74 6c 65 24 2c 6d 65 73 73 61 67 65 24 2c 62 75 |tle$,message$,bu| 00001200 74 74 6f 6e 25 29 0d 05 e6 37 f4 7c 20 20 20 20 |tton%)...7.| | 00001210 20 20 20 20 20 20 20 20 20 46 4e 57 69 6d 70 5f | FNWimp_| 00001220 57 69 6e 64 6f 77 43 61 6e 63 65 6c 28 74 69 74 |WindowCancel(tit| 00001230 6c 65 24 2c 6d 65 73 73 61 67 65 24 29 0d 05 f0 |le$,message$)...| 00001240 3b f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 |;.| | 00001250 50 52 4f 43 57 69 6d 70 5f 57 69 6e 64 6f 77 45 |PROCWimp_WindowE| 00001260 72 72 6f 72 42 6f 78 28 74 69 74 6c 65 24 2c 6d |rrorBox(title$,m| 00001270 65 73 73 61 67 65 24 29 0d 05 fa 2e f4 7c 20 20 |essage$).....| | 00001280 20 20 20 20 20 20 20 20 20 20 20 46 4e 57 69 6d | FNWim| 00001290 70 5f 57 69 6e 64 6f 77 54 69 74 6c 65 28 77 69 |p_WindowTitle(wi| 000012a0 6e 64 6f 77 25 29 0d 06 04 2d f4 7c 20 20 20 20 |ndow%)...-.| | 000012b0 20 20 20 20 20 20 20 20 20 46 4e 57 69 6d 70 5f | FNWimp_| 000012c0 57 69 6e 64 6f 77 4c 6f 61 64 28 77 69 6e 64 6f |WindowLoad(windo| 000012d0 77 24 29 0d 06 0e 3b f4 7c 20 20 20 20 20 20 20 |w$)...;.| | 000012e0 20 20 20 20 20 20 46 4e 57 69 6d 70 5f 57 69 6e | FNWimp_Win| 000012f0 64 6f 77 4c 6f 61 64 46 72 6f 6d 28 77 69 6e 64 |dowLoadFrom(wind| 00001300 6f 77 24 2c 74 65 6d 70 6c 61 74 65 24 29 0d 06 |ow$,template$)..| 00001310 18 27 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |.'.| | 00001320 20 46 4e 57 69 6d 70 5f 57 69 6e 64 6f 77 58 4f | FNWimp_WindowXO| 00001330 72 69 67 69 6e 0d 06 22 27 f4 7c 20 20 20 20 20 |rigin.."'.| | 00001340 20 20 20 20 20 20 20 20 46 4e 57 69 6d 70 5f 57 | FNWimp_W| 00001350 69 6e 64 6f 77 59 4f 72 69 67 69 6e 0d 06 2c 35 |indowYOrigin..,5| 00001360 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 50 |.| P| 00001370 52 4f 43 57 69 6d 70 5f 57 69 6e 64 6f 77 42 72 |ROCWimp_WindowBr| 00001380 69 6e 67 54 6f 54 6f 70 28 77 69 6e 64 6f 77 25 |ingToTop(window%| 00001390 29 0d 06 36 34 f4 7c 20 20 20 20 20 20 20 20 20 |)..64.| | 000013a0 20 20 20 20 50 52 4f 43 57 69 6d 70 5f 57 69 6e | PROCWimp_Win| 000013b0 64 6f 77 46 6f 72 63 65 44 72 61 77 28 77 69 6e |dowForceDraw(win| 000013c0 64 6f 77 25 29 0d 06 40 2f f4 7c 20 20 20 20 20 |dow%)..@/.| | 000013d0 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 | PROCWimp| 000013e0 5f 57 69 6e 64 6f 77 4f 70 65 6e 28 77 69 6e 64 |_WindowOpen(wind| 000013f0 6f 77 25 29 0d 06 4a 25 f4 7c 20 20 20 20 20 20 |ow%)..J%.| | 00001400 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 5f | PROCWimp_| 00001410 44 72 61 77 28 78 2c 79 29 0d 06 54 25 f4 7c 20 |Draw(x,y)..T%.| | 00001420 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4f 43 | PROC| 00001430 57 69 6d 70 5f 4d 6f 76 65 28 78 2c 79 29 0d 06 |Wimp_Move(x,y)..| 00001440 5e 2b f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |^+.| | 00001450 20 50 52 4f 43 57 69 6d 70 5f 4c 69 6e 65 28 78 | PROCWimp_Line(x| 00001460 2c 79 2c 78 31 2c 79 31 29 0d 06 68 06 f4 7c 0d |,y,x1,y1)..h..|.| 00001470 06 72 3f f4 7c 20 20 20 20 20 20 20 20 20 20 20 |.r?.| | 00001480 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000014a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 06 |--------------..| 000014b0 7c 06 f4 7c 0d 06 86 06 f4 7c 0d 06 90 06 f4 7c ||..|.....|.....|| 000014c0 0d 06 9a 28 dd 20 f2 57 69 6d 70 5f 57 69 6e 64 |...(. .Wimp_Wind| 000014d0 6f 77 41 6c 65 72 74 28 74 69 74 6c 65 24 2c 6d |owAlert(title$,m| 000014e0 65 73 73 61 67 65 24 29 0d 06 a4 2b f2 57 69 6d |essage$)...+.Wim| 000014f0 70 5f 57 69 6e 64 6f 77 41 6c 65 72 74 42 6f 78 |p_WindowAlertBox| 00001500 28 74 69 74 6c 65 24 2c 6d 65 73 73 61 67 65 24 |(title$,message$| 00001510 2c 30 29 0d 06 ae 05 e1 0d 06 b8 05 3a 0d 06 c2 |,0).........:...| 00001520 33 dd 20 f2 57 69 6d 70 5f 57 69 6e 64 6f 77 41 |3. .Wimp_WindowA| 00001530 6c 65 72 74 42 6f 78 28 74 69 74 6c 65 24 2c 6d |lertBox(title$,m| 00001540 65 73 73 61 67 65 24 2c 62 75 74 74 6f 6e 25 29 |essage$,button%)| 00001550 0d 06 cc 0f ea 20 72 65 73 70 6f 6e 73 65 25 0d |..... response%.| 00001560 06 d6 17 24 28 77 69 6d 70 25 2b 34 29 3d 6d 65 |...$(wimp%+4)=me| 00001570 73 73 61 67 65 24 0d 06 e0 10 c8 8e 20 62 75 74 |ssage$...... but| 00001580 74 6f 6e 25 20 ca 0d 06 ea 19 20 c9 20 32 20 20 |ton% ..... . 2 | 00001590 20 20 3a 20 72 65 73 70 6f 6e 73 65 25 3d 31 0d | : response%=1.| 000015a0 06 f4 1a 20 c9 20 31 20 20 20 20 3a 20 72 65 73 |... . 1 : res| 000015b0 70 6f 6e 73 65 25 3d 31 35 0d 06 fe 21 20 c9 20 |ponse%=15...! . | 000015c0 33 20 20 20 20 3a 20 72 65 73 70 6f 6e 73 65 25 |3 : response%| 000015d0 3d 28 31 3c 3c 35 29 2b 31 36 0d 07 08 21 20 c9 |=(1<<5)+16...! .| 000015e0 20 34 20 20 20 20 3a 20 72 65 73 70 6f 6e 73 65 | 4 : response| 000015f0 25 3d 28 31 3c 3c 36 29 2b 31 36 0d 07 12 14 7f |%=(1<<6)+16.....| 00001600 20 3a 20 72 65 73 70 6f 6e 73 65 25 3d 31 36 0d | : response%=16.| 00001610 07 1c 05 cb 0d 07 26 3d c8 99 20 22 57 69 6d 70 |......&=.. "Wimp| 00001620 5f 52 65 70 6f 72 74 45 72 72 6f 72 22 2c 77 69 |_ReportError",wi| 00001630 6d 70 25 2c 72 65 73 70 6f 6e 73 65 25 2c 74 69 |mp%,response%,ti| 00001640 74 6c 65 24 20 b8 20 2c 72 65 73 70 6f 6e 73 65 |tle$ . ,response| 00001650 25 0d 07 30 05 e1 0d 07 3a 05 3a 0d 07 44 29 dd |%..0....:.:..D).| 00001660 20 a4 57 69 6d 70 5f 57 69 6e 64 6f 77 43 61 6e | .Wimp_WindowCan| 00001670 63 65 6c 28 74 69 74 6c 65 24 2c 6d 65 73 73 61 |cel(title$,messa| 00001680 67 65 24 29 0d 07 4e 17 24 28 77 69 6d 70 25 2b |ge$)..N.$(wimp%+| 00001690 34 29 3d 6d 65 73 73 61 67 65 24 0d 07 58 10 72 |4)=message$..X.r| 000016a0 65 73 70 6f 6e 73 65 25 3d 32 33 0d 07 62 3d c8 |esponse%=23..b=.| 000016b0 99 20 22 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 |. "Wimp_ReportEr| 000016c0 72 6f 72 22 2c 77 69 6d 70 25 2c 72 65 73 70 6f |ror",wimp%,respo| 000016d0 6e 73 65 25 2c 74 69 74 6c 65 24 20 b8 20 2c 72 |nse%,title$ . ,r| 000016e0 65 73 70 6f 6e 73 65 25 0d 07 6c 10 3d 72 65 73 |esponse%..l.=res| 000016f0 70 6f 6e 73 65 25 2d 32 0d 07 76 05 3a 0d 07 80 |ponse%-2..v.:...| 00001700 2b dd 20 f2 57 69 6d 70 5f 57 69 6e 64 6f 77 45 |+. .Wimp_WindowE| 00001710 72 72 6f 72 42 6f 78 28 74 69 74 6c 65 24 2c 6d |rrorBox(title$,m| 00001720 65 73 73 61 67 65 24 29 0d 07 8a 2b f2 57 69 6d |essage$)...+.Wim| 00001730 70 5f 57 69 6e 64 6f 77 41 6c 65 72 74 42 6f 78 |p_WindowAlertBox| 00001740 28 74 69 74 6c 65 24 2c 6d 65 73 73 61 67 65 24 |(title$,message$| 00001750 2c 32 29 0d 07 94 05 e1 0d 07 9e 05 3a 0d 07 a8 |,2).........:...| 00001760 20 dd 20 a4 57 69 6d 70 5f 57 69 6e 64 6f 77 54 | . .Wimp_WindowT| 00001770 69 74 6c 65 28 77 69 6e 64 6f 77 25 29 0d 07 b2 |itle(window%)...| 00001780 13 77 69 6d 70 25 21 30 3d 77 69 6e 64 6f 77 25 |.wimp%!0=window%| 00001790 0d 07 bc 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 |... .. "Wimp_Get| 000017a0 57 69 6e 64 49 6e 66 6f 22 2c 2c 77 69 6d 70 25 |WindInfo",,wimp%| 000017b0 0d 07 c6 36 e7 20 28 28 77 69 6d 70 25 21 36 30 |...6. ((wimp%!60| 000017c0 29 80 26 31 30 30 29 3d 30 20 85 20 31 2c 22 54 |).&100)=0 . 1,"T| 000017d0 69 74 6c 65 20 69 73 6e 27 74 20 69 6e 64 69 72 |itle isn't indir| 000017e0 65 63 74 65 64 22 0d 07 d0 10 3d 24 28 77 69 6d |ected"....=$(wim| 000017f0 70 25 21 37 36 29 0d 07 da 05 3a 0d 07 e4 1f dd |p%!76)....:.....| 00001800 20 a4 57 69 6d 70 5f 57 69 6e 64 6f 77 4c 6f 61 | .Wimp_WindowLoa| 00001810 64 28 77 69 6e 64 6f 77 24 29 0d 07 ee 39 3d a4 |d(window$)...9=.| 00001820 57 69 6d 70 5f 57 69 6e 64 6f 77 4c 6f 61 64 46 |Wimp_WindowLoadF| 00001830 72 6f 6d 28 77 69 6e 64 6f 77 24 2c 22 3c 4f 62 |rom(window$,"<Ob| 00001840 65 79 24 44 69 72 3e 2e 54 65 6d 70 6c 61 74 65 |ey$Dir>.Template| 00001850 73 22 29 0d 07 f8 05 3a 0d 08 02 2d dd 20 a4 57 |s")....:...-. .W| 00001860 69 6d 70 5f 57 69 6e 64 6f 77 4c 6f 61 64 46 72 |imp_WindowLoadFr| 00001870 6f 6d 28 77 69 6e 64 6f 77 24 2c 74 65 6d 70 6c |om(window$,templ| 00001880 61 74 65 24 29 0d 08 0c 08 ea 20 63 25 0d 08 16 |ate$)..... c%...| 00001890 25 c8 99 20 22 57 69 6d 70 5f 4f 70 65 6e 54 65 |%.. "Wimp_OpenTe| 000018a0 6d 70 6c 61 74 65 22 2c 2c 74 65 6d 70 6c 61 74 |mplate",,templat| 000018b0 65 24 0d 08 20 4d c8 99 20 22 57 69 6d 70 5f 4c |e$.. M.. "Wimp_L| 000018c0 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 77 69 |oadTemplate",,wi| 000018d0 6d 70 25 2c 69 63 6f 6e 73 25 2c 69 63 6f 6e 5f |mp%,icons%,icon_| 000018e0 6d 65 6d 6f 72 79 25 2c 2d 31 2c 77 69 6e 64 6f |memory%,-1,windo| 000018f0 77 24 2c 30 20 b8 20 2c 2c 69 63 6f 6e 73 25 0d |w$,0 . ,,icons%.| 00001900 08 2a 25 e7 20 73 70 72 69 74 65 73 25 3c 3e 30 |.*%. sprites%<>0| 00001910 20 8c 20 77 69 6d 70 25 21 36 34 3d 73 70 72 69 | . wimp%!64=spri| 00001920 74 65 73 25 0d 08 34 26 c8 99 20 22 57 69 6d 70 |tes%..4&.. "Wimp| 00001930 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c |_CreateWindow",,| 00001940 77 69 6d 70 25 20 b8 20 63 25 0d 08 3e 1b c8 99 |wimp% . c%..>...| 00001950 20 22 57 69 6d 70 5f 43 6c 6f 73 65 54 65 6d 70 | "Wimp_CloseTemp| 00001960 6c 61 74 65 22 0d 08 48 07 3d 63 25 0d 08 52 05 |late"..H.=c%..R.| 00001970 3a 0d 08 5c 19 dd 20 a4 57 69 6d 70 5f 57 69 6e |:..\.. .Wimp_Win| 00001980 64 6f 77 58 4f 72 69 67 69 6e 0d 08 66 18 3d 31 |dowXOrigin..f.=1| 00001990 36 2b 77 69 6d 70 25 21 34 2d 77 69 6d 70 25 21 |6+wimp%!4-wimp%!| 000019a0 32 30 0d 08 70 05 3a 0d 08 7a 19 dd 20 a4 57 69 |20..p.:..z.. .Wi| 000019b0 6d 70 5f 57 69 6e 64 6f 77 59 4f 72 69 67 69 6e |mp_WindowYOrigin| 000019c0 0d 08 84 1a 3d 2d 31 36 2b 77 69 6d 70 25 21 31 |....=-16+wimp%!1| 000019d0 36 2d 77 69 6d 70 25 21 32 34 0d 08 8e 05 3a 0d |6-wimp%!24....:.| 000019e0 08 98 25 dd 20 f2 57 69 6d 70 5f 57 69 6e 64 6f |..%. .Wimp_Windo| 000019f0 77 42 72 69 6e 67 54 6f 54 6f 70 28 77 69 6e 64 |wBringToTop(wind| 00001a00 6f 77 25 29 0d 08 a2 12 21 77 69 6d 70 25 3d 77 |ow%)....!wimp%=w| 00001a10 69 6e 64 6f 77 25 0d 08 ac 23 c8 99 20 22 57 69 |indow%...#.. "Wi| 00001a20 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 |mp_GetWindowStat| 00001a30 65 22 2c 2c 77 69 6d 70 25 0d 08 b6 0f 77 69 6d |e",,wimp%....wim| 00001a40 70 25 21 32 38 3d 2d 31 0d 08 c0 1f c8 99 20 22 |p%!28=-1...... "| 00001a50 57 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 |Wimp_OpenWindow"| 00001a60 2c 2c 77 69 6d 70 25 0d 08 ca 05 e1 0d 08 d4 05 |,,wimp%.........| 00001a70 3a 0d 08 de 21 dd 20 20 f2 57 69 6d 70 5f 57 69 |:...!. .Wimp_Wi| 00001a80 6e 64 6f 77 43 6c 6f 73 65 28 77 69 6e 64 6f 77 |ndowClose(window| 00001a90 25 29 0d 08 e8 12 21 77 69 6d 70 25 3d 77 69 6e |%)....!wimp%=win| 00001aa0 64 6f 77 25 0d 08 f2 20 c8 99 20 22 57 69 6d 70 |dow%... .. "Wimp| 00001ab0 5f 43 6c 6f 73 65 57 69 6e 64 6f 77 22 2c 2c 77 |_CloseWindow",,w| 00001ac0 69 6d 70 25 0d 08 fc 05 e1 0d 09 06 05 3a 0d 09 |imp%.........:..| 00001ad0 10 24 dd 20 f2 57 69 6d 70 5f 57 69 6e 64 6f 77 |.$. .Wimp_Window| 00001ae0 46 6f 72 63 65 44 72 61 77 28 77 69 6e 64 6f 77 |ForceDraw(window| 00001af0 25 29 0d 09 1a 10 c8 8e 20 77 69 6e 64 6f 77 25 |%)...... window%| 00001b00 20 ca 0d 09 24 38 20 c9 20 2d 31 20 20 20 3a 20 | ...$8 . -1 : | 00001b10 c8 99 20 22 57 69 6d 70 5f 46 6f 72 63 65 52 65 |.. "Wimp_ForceRe| 00001b20 64 72 61 77 22 2c 2d 31 2c 30 2c 30 2c 32 2a 31 |draw",-1,0,0,2*1| 00001b30 32 38 30 2c 32 2a 31 30 32 34 0d 09 2e 39 20 7f |280,2*1024...9 .| 00001b40 20 3a 20 c8 99 20 22 57 69 6d 70 5f 46 6f 72 63 | : .. "Wimp_Forc| 00001b50 65 52 65 64 72 61 77 22 2c 77 69 6e 64 6f 77 25 |eRedraw",window%| 00001b60 2c 30 2c 2d 32 2a 31 30 32 34 2c 32 2a 31 32 38 |,0,-2*1024,2*128| 00001b70 30 2c 30 0d 09 38 05 cb 0d 09 42 05 e1 0d 09 4c |0,0..8....B....L| 00001b80 05 3a 0d 09 56 1f dd 20 f2 57 69 6d 70 5f 57 69 |.:..V.. .Wimp_Wi| 00001b90 6e 64 6f 77 4f 70 65 6e 28 77 69 6e 64 6f 77 25 |ndowOpen(window%| 00001ba0 29 0d 09 60 12 21 77 69 6d 70 25 3d 77 69 6e 64 |)..`.!wimp%=wind| 00001bb0 6f 77 25 0d 09 6a 23 c8 99 20 22 57 69 6d 70 5f |ow%..j#.. "Wimp_| 00001bc0 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 22 2c |GetWindowState",| 00001bd0 2c 77 69 6d 70 25 0d 09 74 1f c8 99 20 22 57 69 |,wimp%..t... "Wi| 00001be0 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c |mp_OpenWindow",,| 00001bf0 77 69 6d 70 25 0d 09 7e 05 e1 0d 09 88 05 3a 0d |wimp%..~......:.| 00001c00 09 92 15 dd 20 f2 57 69 6d 70 5f 44 72 61 77 28 |.... .Wimp_Draw(| 00001c10 78 2c 79 29 0d 09 9c 1e 20 df 20 78 2d 78 5f 6f |x,y).... . x-x_o| 00001c20 72 69 67 69 6e 25 2c 79 2d 79 5f 6f 72 69 67 69 |rigin%,y-y_origi| 00001c30 6e 25 0d 09 a6 05 e1 0d 09 b0 05 3a 0d 09 ba 15 |n%.........:....| 00001c40 dd 20 f2 57 69 6d 70 5f 4d 6f 76 65 28 78 2c 79 |. .Wimp_Move(x,y| 00001c50 29 0d 09 c4 1e 20 ec 20 78 2d 78 5f 6f 72 69 67 |).... . x-x_orig| 00001c60 69 6e 25 2c 79 5f 6f 72 69 67 69 6e 25 2d 79 0d |in%,y_origin%-y.| 00001c70 09 ce 05 e1 0d 09 d8 05 3a 0d 09 e2 1b dd 20 f2 |........:..... .| 00001c80 57 69 6d 70 5f 4c 69 6e 65 28 78 2c 79 2c 78 31 |Wimp_Line(x,y,x1| 00001c90 2c 79 31 29 0d 09 ec 38 20 86 20 78 2d 78 5f 6f |,y1)...8 . x-x_o| 00001ca0 72 69 67 69 6e 25 2c 79 2d 79 5f 6f 72 69 67 69 |rigin%,y-y_origi| 00001cb0 6e 25 2c 78 31 2d 78 5f 6f 72 69 67 69 6e 25 2c |n%,x1-x_origin%,| 00001cc0 79 31 2d 79 5f 6f 72 69 67 69 6e 25 0d 09 f6 05 |y1-y_origin%....| 00001cd0 e1 0d 0a 00 05 3a 0d 0a 0a 06 f4 7c 0d 0a 14 06 |.....:.....|....| 00001ce0 f4 7c 0d 0a 1e 06 f4 7c 0d 0a 28 31 f4 7c 20 20 |.|.....|..(1.| | 00001cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001d00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00001d10 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 32 28 f4 7c 20 |---------..2(.| | 00001d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001d30 20 20 20 20 20 20 20 20 20 32 2e a0 49 63 6f 6e | 2..Icon| 00001d40 73 0d 0a 3c 31 f4 7c 20 20 20 20 20 20 20 20 20 |s..<1.| | 00001d50 20 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d | -------| 00001d60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00001d70 2d 2d 0d 0a 46 06 f4 7c 0d 0a 50 06 f4 7c 0d 0a |--..F..|..P..|..| 00001d80 5a 3d f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |Z=.| | 00001d90 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ---------------| 00001da0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00001db0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 64 06 f4 |-----------..d..| 00001dc0 7c 0d 0a 6e 28 f4 7c 20 20 20 20 20 20 20 20 20 ||..n(.| | 00001dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f | Pro| 00001de0 63 65 64 75 72 65 73 20 3a 0d 0a 78 06 f4 7c 0d |cedures :..x..|.| 00001df0 0a 82 2b f4 7c 20 20 20 20 20 20 20 20 20 20 20 |..+.| | 00001e00 20 20 20 46 4e 57 69 6d 70 5f 49 63 6f 6e 42 61 | FNWimp_IconBa| 00001e10 72 28 53 70 72 69 74 65 24 29 0d 0a 8c 3c f4 7c |r(Sprite$)...<.|| 00001e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 52 | PR| 00001e30 4f 43 57 69 6d 70 5f 49 63 6f 6e 43 61 72 65 74 |OCWimp_IconCaret| 00001e40 28 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 2c 63 |(window%,icon%,c| 00001e50 68 61 72 73 25 29 0d 0a 96 32 f4 7c 20 20 20 20 |hars%)...2.| | 00001e60 20 20 20 20 20 20 20 20 20 20 46 4e 57 69 6d 70 | FNWimp| 00001e70 5f 49 63 6f 6e 54 65 78 74 28 77 69 6e 64 6f 77 |_IconText(window| 00001e80 25 2c 69 63 6f 6e 25 29 0d 0a a0 38 f4 7c 20 20 |%,icon%)...8.| | 00001e90 20 20 20 20 20 20 20 20 20 20 20 20 46 4e 57 69 | FNWi| 00001ea0 6d 70 5f 49 63 6f 6e 56 61 6c 69 64 61 74 69 6f |mp_IconValidatio| 00001eb0 6e 28 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 29 |n(window%,icon%)| 00001ec0 0d 0a aa 37 f4 7c 20 20 20 20 20 20 20 20 20 20 |...7.| | 00001ed0 20 20 20 20 50 52 4f 43 57 69 6d 70 5f 49 63 6f | PROCWimp_Ico| 00001ee0 6e 44 69 73 61 62 6c 65 28 77 69 6e 64 6f 77 25 |nDisable(window%| 00001ef0 2c 69 63 6f 6e 25 29 0d 0a b4 36 f4 7c 20 20 20 |,icon%)...6.| | 00001f00 20 20 20 20 20 20 20 20 20 20 20 50 52 4f 43 57 | PROCW| 00001f10 69 6d 70 5f 49 63 6f 6e 45 6e 61 62 6c 65 28 77 |imp_IconEnable(w| 00001f20 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 29 0d 0a be |indow%,icon%)...| 00001f30 3f f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 |?.| | 00001f40 20 46 4e 57 69 6d 70 5f 49 63 6f 6e 50 75 74 53 | FNWimp_IconPutS| 00001f50 70 72 69 74 65 28 77 69 6e 64 6f 77 25 2c 69 63 |prite(window%,ic| 00001f60 6f 6e 25 2c 73 70 72 69 74 65 24 29 0d 0a c8 3d |on%,sprite$)...=| 00001f70 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.| | 00001f80 50 52 4f 43 57 69 6d 70 5f 49 63 6f 6e 50 75 74 |PROCWimp_IconPut| 00001f90 54 65 78 74 28 77 69 6e 64 6f 77 25 2c 69 63 6f |Text(window%,ico| 00001fa0 6e 25 2c 74 65 78 74 24 29 0d 0a d2 06 f4 7c 0d |n%,text$).....|.| 00001fb0 0a dc 3d f4 7c 20 20 20 20 20 20 20 20 20 20 20 |..=.| | 00001fc0 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | --------------| 00001fd0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00001fe0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a e6 06 |------------....| 00001ff0 f4 7c 0d 0a f0 05 3a 0d 0a fa 1c dd 20 a4 57 69 |.|....:..... .Wi| 00002000 6d 70 5f 49 63 6f 6e 42 61 72 28 53 70 72 69 74 |mp_IconBar(Sprit| 00002010 65 24 29 0d 0b 04 0b ea 20 69 63 6f 6e 25 0d 0b |e$)..... icon%..| 00002020 0e 0e 77 69 6d 70 25 21 30 3d 2d 31 0d 0b 18 1d |..wimp%!0=-1....| 00002030 77 69 6d 70 25 21 34 3d 30 20 20 20 20 20 3a 20 |wimp%!4=0 : | 00002040 77 69 6d 70 25 21 38 3d 30 0d 0b 22 1d 77 69 6d |wimp%!8=0..".wim| 00002050 70 25 21 31 32 3d 36 38 20 3a 20 77 69 6d 70 25 |p%!12=68 : wimp%| 00002060 21 31 36 3d 36 38 0d 0b 2c 12 77 69 6d 70 25 21 |!16=68..,.wimp%!| 00002070 32 30 3d 26 33 30 30 32 0d 0b 36 17 24 28 77 69 |20=&3002..6.$(wi| 00002080 6d 70 25 2b 32 34 29 3d 53 70 72 69 74 65 24 0d |mp%+24)=Sprite$.| 00002090 0b 40 27 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 |.@'.. "Wimp_Crea| 000020a0 74 65 49 63 6f 6e 22 2c 2c 77 69 6d 70 25 20 b8 |teIcon",,wimp% .| 000020b0 20 69 63 6f 6e 25 0d 0b 4a 0a 3d 69 63 6f 6e 25 | icon%..J.=icon%| 000020c0 0d 0b 54 05 3a 0d 0b 5e 2b dd 20 f2 57 69 6d 70 |..T.:..^+. .Wimp| 000020d0 5f 49 63 6f 6e 43 61 72 65 74 28 77 69 6e 64 6f |_IconCaret(windo| 000020e0 77 25 2c 69 63 6f 6e 25 2c 63 68 61 72 73 25 29 |w%,icon%,chars%)| 000020f0 0d 0b 68 38 c8 99 20 22 57 69 6d 70 5f 53 65 74 |..h8.. "Wimp_Set| 00002100 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 22 2c 77 |CaretPosition",w| 00002110 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 2c 2c 2c 2d |indow%,icon%,,,-| 00002120 31 2c 63 68 61 72 73 25 0d 0b 72 05 e1 0d 0b 7c |1,chars%..r....|| 00002130 05 3a 0d 0b 86 23 dd 20 a4 57 69 6d 70 5f 49 63 |.:...#. .Wimp_Ic| 00002140 6f 6e 54 65 78 74 28 77 69 6e 64 6f 77 25 2c 69 |onText(window%,i| 00002150 63 6f 6e 25 29 0d 0b 90 23 77 69 6d 70 25 21 30 |con%)...#wimp%!0| 00002160 3d 77 69 6e 64 6f 77 25 20 3a 20 77 69 6d 70 25 |=window% : wimp%| 00002170 21 34 3d 69 63 6f 6e 25 0d 0b 9a 21 c8 99 20 22 |!4=icon%...!.. "| 00002180 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 74 61 74 |Wimp_GetIconStat| 00002190 65 22 2c 2c 77 69 6d 70 25 0d 0b a4 37 e7 20 28 |e",,wimp%...7. (| 000021a0 28 77 69 6d 70 25 21 32 34 29 20 80 20 26 31 30 |(wimp%!24) . &10| 000021b0 30 29 3d 30 20 85 20 31 2c 22 49 63 6f 6e 20 69 |0)=0 . 1,"Icon i| 000021c0 73 6e 27 74 20 69 6e 64 69 72 65 63 74 65 64 22 |sn't indirected"| 000021d0 0d 0b ae 10 3d 24 28 77 69 6d 70 25 21 32 38 29 |....=$(wimp%!28)| 000021e0 0d 0b b8 05 3a 0d 0b c2 29 dd 20 a4 57 69 6d 70 |....:...). .Wimp| 000021f0 5f 49 63 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 28 |_IconValidation(| 00002200 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 29 0d 0b |window%,icon%)..| 00002210 cc 23 77 69 6d 70 25 21 30 3d 77 69 6e 64 6f 77 |.#wimp%!0=window| 00002220 25 20 3a 20 77 69 6d 70 25 21 34 3d 69 63 6f 6e |% : wimp%!4=icon| 00002230 25 0d 0b d6 21 c8 99 20 22 57 69 6d 70 5f 47 65 |%...!.. "Wimp_Ge| 00002240 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 77 69 6d |tIconState",,wim| 00002250 70 25 0d 0b e0 37 e7 20 28 28 77 69 6d 70 25 21 |p%...7. ((wimp%!| 00002260 32 34 29 20 80 20 26 31 30 30 29 3d 30 20 85 20 |24) . &100)=0 . | 00002270 31 2c 22 49 63 6f 6e 20 69 73 6e 27 74 20 69 6e |1,"Icon isn't in| 00002280 64 69 72 65 63 74 65 64 22 0d 0b ea 10 3d 24 28 |directed"....=$(| 00002290 77 69 6d 70 25 21 33 32 29 0d 0b f4 05 3a 0d 0b |wimp%!32)....:..| 000022a0 fe 26 dd 20 f2 57 69 6d 70 5f 49 63 6f 6e 44 69 |.&. .Wimp_IconDi| 000022b0 73 61 62 6c 65 28 77 69 6e 64 6f 77 25 2c 69 63 |sable(window%,ic| 000022c0 6f 6e 25 29 0d 0c 08 23 77 69 6d 70 25 21 30 3d |on%)...#wimp%!0=| 000022d0 77 69 6e 64 6f 77 25 20 3a 20 77 69 6d 70 25 21 |window% : wimp%!| 000022e0 34 3d 69 63 6f 6e 25 0d 0c 12 24 77 69 6d 70 25 |4=icon%...$wimp%| 000022f0 21 38 3d 31 3c 3c 32 32 20 20 20 3a 20 77 69 6d |!8=1<<22 : wim| 00002300 70 25 21 31 32 3d 31 3c 3c 32 32 0d 0c 1c 21 c8 |p%!12=1<<22...!.| 00002310 99 20 22 57 69 6d 70 5f 53 65 74 49 63 6f 6e 53 |. "Wimp_SetIconS| 00002320 74 61 74 65 22 2c 2c 77 69 6d 70 25 0d 0c 26 05 |tate",,wimp%..&.| 00002330 e1 0d 0c 30 05 3a 0d 0c 3a 25 dd 20 f2 57 69 6d |...0.:..:%. .Wim| 00002340 70 5f 49 63 6f 6e 45 6e 61 62 6c 65 28 77 69 6e |p_IconEnable(win| 00002350 64 6f 77 25 2c 69 63 6f 6e 25 29 0d 0c 44 23 77 |dow%,icon%)..D#w| 00002360 69 6d 70 25 21 30 3d 77 69 6e 64 6f 77 25 20 3a |imp%!0=window% :| 00002370 20 77 69 6d 70 25 21 34 3d 69 63 6f 6e 25 0d 0c | wimp%!4=icon%..| 00002380 4e 24 77 69 6d 70 25 21 38 3d 30 20 20 20 20 20 |N$wimp%!8=0 | 00002390 20 20 3a 20 77 69 6d 70 25 21 31 32 3d 31 3c 3c | : wimp%!12=1<<| 000023a0 32 32 0d 0c 58 21 c8 99 20 22 57 69 6d 70 5f 53 |22..X!.. "Wimp_S| 000023b0 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 77 69 |etIconState",,wi| 000023c0 6d 70 25 0d 0c 62 05 e1 0d 0c 6c 05 3a 0d 0c 76 |mp%..b....l.:..v| 000023d0 30 dd 20 a4 57 69 6d 70 5f 49 63 6f 6e 50 75 74 |0. .Wimp_IconPut| 000023e0 53 70 72 69 74 65 28 77 69 6e 64 6f 77 25 2c 69 |Sprite(window%,i| 000023f0 63 6f 6e 25 2c 73 70 72 69 74 65 24 29 0d 0c 80 |con%,sprite$)...| 00002400 21 77 69 6d 70 25 21 30 3d 77 69 6e 64 6f 77 25 |!wimp%!0=window%| 00002410 3a 77 69 6d 70 25 21 34 3d 69 63 6f 6e 25 0d 0c |:wimp%!4=icon%..| 00002420 8a 21 c8 99 20 22 57 69 6d 70 5f 47 65 74 49 63 |.!.. "Wimp_GetIc| 00002430 6f 6e 53 74 61 74 65 22 2c 2c 77 69 6d 70 25 0d |onState",,wimp%.| 00002440 0c 94 1f c8 99 20 22 57 69 6d 70 5f 44 65 6c 65 |..... "Wimp_Dele| 00002450 74 65 49 63 6f 6e 22 2c 2c 77 69 6d 70 25 0d 0c |teIcon",,wimp%..| 00002460 9e 3d 77 69 6d 70 25 21 34 3d 77 69 6d 70 25 21 |.=wimp%!4=wimp%!| 00002470 38 20 20 20 3a 20 77 69 6d 70 25 21 38 3d 77 69 |8 : wimp%!8=wi| 00002480 6d 70 25 21 31 32 20 20 3a 20 77 69 6d 70 25 21 |mp%!12 : wimp%!| 00002490 31 32 3d 77 69 6d 70 25 21 31 36 0d 0c a8 3f 77 |12=wimp%!16...?w| 000024a0 69 6d 70 25 21 31 36 3d 77 69 6d 70 25 21 32 30 |imp%!16=wimp%!20| 000024b0 20 3a 20 77 69 6d 70 25 21 32 30 3d 77 69 6d 70 | : wimp%!20=wimp| 000024c0 25 21 32 34 20 3a 20 24 28 77 69 6d 70 25 2b 32 |%!24 : $(wimp%+2| 000024d0 34 29 3d 73 70 72 69 74 65 24 0d 0c b2 27 c8 99 |4)=sprite$...'..| 000024e0 20 22 57 69 6d 70 5f 43 72 65 61 74 65 49 63 6f | "Wimp_CreateIco| 000024f0 6e 22 2c 2c 77 69 6d 70 25 20 b8 20 69 63 6f 6e |n",,wimp% . icon| 00002500 25 0d 0c bc 0a 3d 69 63 6f 6e 25 0d 0c c6 05 3a |%....=icon%....:| 00002510 0d 0c d0 2c dd 20 f2 57 69 6d 70 5f 49 63 6f 6e |...,. .Wimp_Icon| 00002520 50 75 74 54 65 78 74 28 77 69 6e 64 6f 77 25 2c |PutText(window%,| 00002530 69 63 6f 6e 25 2c 74 65 78 74 24 29 0d 0c da 23 |icon%,text$)...#| 00002540 77 69 6d 70 25 21 30 3d 77 69 6e 64 6f 77 25 20 |wimp%!0=window% | 00002550 3a 20 77 69 6d 70 25 21 34 3d 69 63 6f 6e 25 0d |: wimp%!4=icon%.| 00002560 0c e4 21 c8 99 20 22 57 69 6d 70 5f 47 65 74 49 |..!.. "Wimp_GetI| 00002570 63 6f 6e 53 74 61 74 65 22 2c 2c 77 69 6d 70 25 |conState",,wimp%| 00002580 0d 0c ee 37 e7 20 28 28 77 69 6d 70 25 21 32 34 |...7. ((wimp%!24| 00002590 29 20 80 20 26 31 30 30 29 3d 30 20 85 20 31 2c |) . &100)=0 . 1,| 000025a0 22 49 63 6f 6e 20 69 73 6e 27 74 20 69 6e 64 69 |"Icon isn't indi| 000025b0 72 65 63 74 65 64 22 0d 0c f8 15 24 28 77 69 6d |rected"....$(wim| 000025c0 70 25 21 32 38 29 3d 74 65 78 74 24 0d 0d 02 23 |p%!28)=text$...#| 000025d0 77 69 6d 70 25 21 30 3d 77 69 6e 64 6f 77 25 20 |wimp%!0=window% | 000025e0 3a 20 77 69 6d 70 25 21 34 3d 69 63 6f 6e 25 0d |: wimp%!4=icon%.| 000025f0 0d 0c 1a 77 69 6d 70 25 21 38 3d 30 20 3a 20 77 |...wimp%!8=0 : w| 00002600 69 6d 70 25 21 31 32 3d 30 0d 0d 16 21 c8 99 20 |imp%!12=0...!.. | 00002610 22 57 69 6d 70 5f 53 65 74 49 63 6f 6e 53 74 61 |"Wimp_SetIconSta| 00002620 74 65 22 2c 2c 77 69 6d 70 25 0d 0d 20 05 e1 0d |te",,wimp%.. ...| 00002630 0d 2a 05 3a 0d 0d 34 06 f4 7c 0d 0d 3e 06 f4 7c |.*.:..4..|..>..|| 00002640 0d 0d 48 06 f4 7c 0d 0d 52 31 f4 7c 20 20 20 20 |..H..|..R1.| | 00002650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d | --| 00002660 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00002670 2d 2d 2d 2d 2d 2d 2d 0d 0d 5c 28 f4 7c 20 20 20 |-------..\(.| | 00002680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002690 20 20 20 20 20 20 20 33 2e a0 4d 65 6e 75 73 0d | 3..Menus.| 000026a0 0d 66 31 f4 7c 20 20 20 20 20 20 20 20 20 20 20 |.f1.| | 000026b0 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d | ---------| 000026c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000026d0 0d 0d 70 06 f4 7c 0d 0d 7a 06 f4 7c 0d 0d 84 3f |..p..|..z..|...?| 000026e0 f4 7c 20 20 20 20 20 20 20 20 20 20 20 2d 2d 2d |.| ---| 000026f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002710 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 8e 06 f4 |-----------.....| 00002720 7c 0d 0d 98 28 f4 7c 20 20 20 20 20 20 20 20 20 ||...(.| | 00002730 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f | Pro| 00002740 63 65 64 75 72 65 73 20 3a 0d 0d a2 06 f4 7c 0d |cedures :.....|.| 00002750 0d ac 06 f4 7c 0d 0d b6 2e f4 7c 20 20 20 20 20 |....|.....| | 00002760 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 5f | PROCWimp_| 00002770 4d 65 6e 75 41 64 6a 75 73 74 4f 6e 28 6d 65 6e |MenuAdjustOn(men| 00002780 75 25 29 0d 0d c0 2b f4 7c 20 20 20 20 20 20 20 |u%)...+.| | 00002790 20 20 20 20 20 46 4e 57 69 6d 70 5f 4d 65 6e 75 | FNWimp_Menu| 000027a0 43 68 6f 69 63 65 28 6c 65 76 65 6c 25 29 0d 0d |Choice(level%)..| 000027b0 ca 2a f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |.*.| | 000027c0 46 4e 57 69 6d 70 5f 4d 65 6e 75 43 72 65 61 74 |FNWimp_MenuCreat| 000027d0 65 28 6d 65 6e 75 24 29 0d 0d d4 24 f4 7c 20 20 |e(menu$)...$.| | 000027e0 20 20 20 20 20 20 20 20 20 20 46 4e 57 69 6d 70 | FNWimp| 000027f0 5f 4d 65 6e 75 43 6f 6c 6f 75 72 73 0d 0d de 32 |_MenuColours...2| 00002800 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 46 4e |.| FN| 00002810 57 69 6d 70 5f 4d 65 6e 75 43 72 65 61 74 65 43 |Wimp_MenuCreateC| 00002820 6f 6c 6f 75 72 73 28 74 69 74 6c 65 24 29 0d 0d |olours(title$)..| 00002830 e8 2f f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |./.| | 00002840 46 4e 57 69 6d 70 5f 4d 65 6e 75 4e 6f 4f 66 45 |FNWimp_MenuNoOfE| 00002850 6e 74 72 69 65 73 28 6d 65 6e 75 24 29 0d 0d f2 |ntries(menu$)...| 00002860 44 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 50 |D.| P| 00002870 52 4f 43 57 69 6d 70 5f 4d 65 6e 75 42 61 63 6b |ROCWimp_MenuBack| 00002880 47 72 6f 75 6e 64 43 6f 6c 6f 75 72 28 6d 65 6e |GroundColour(men| 00002890 75 25 2c 69 74 65 6d 25 2c 63 6f 6c 6f 75 72 25 |u%,item%,colour%| 000028a0 29 0d 0d fc 32 f4 7c 20 20 20 20 20 20 20 20 20 |)...2.| | 000028b0 20 20 20 50 52 4f 43 57 69 6d 70 5f 4d 65 6e 75 | PROCWimp_Menu| 000028c0 43 65 6e 74 72 65 28 6d 65 6e 75 25 2c 69 74 65 |Centre(menu%,ite| 000028d0 6d 25 29 0d 0e 06 24 f4 7c 20 20 20 20 20 20 20 |m%)...$.| | 000028e0 20 20 20 20 20 50 52 4f 43 57 69 6d 70 5f 4d 65 | PROCWimp_Me| 000028f0 6e 75 43 6c 6f 73 65 0d 0e 10 33 f4 7c 20 20 20 |nuClose...3.| | 00002900 20 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d | PROCWim| 00002910 70 5f 4d 65 6e 75 44 69 73 61 62 6c 65 28 6d 65 |p_MenuDisable(me| 00002920 6e 75 25 2c 69 74 65 6d 25 29 0d 0e 1a 36 f4 7c |nu%,item%)...6.|| 00002930 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4f 43 | PROC| 00002940 57 69 6d 70 5f 4d 65 6e 75 44 6f 74 74 65 64 4c |Wimp_MenuDottedL| 00002950 69 6e 65 28 6d 65 6e 75 25 2c 69 74 65 6d 25 29 |ine(menu%,item%)| 00002960 0d 0e 24 32 f4 7c 20 20 20 20 20 20 20 20 20 20 |..$2.| | 00002970 20 20 50 52 4f 43 57 69 6d 70 5f 4d 65 6e 75 45 | PROCWimp_MenuE| 00002980 6e 61 62 6c 65 28 6d 65 6e 75 25 2c 69 74 65 6d |nable(menu%,item| 00002990 25 29 0d 0e 2e 44 f4 7c 20 20 20 20 20 20 20 20 |%)...D.| | 000029a0 20 20 20 20 50 52 4f 43 57 69 6d 70 5f 4d 65 6e | PROCWimp_Men| 000029b0 75 46 6f 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 75 |uForegroundColou| 000029c0 72 28 6d 65 6e 75 25 2c 69 74 65 6d 25 2c 63 6f |r(menu%,item%,co| 000029d0 6c 6f 75 72 25 29 0d 0e 38 38 f4 7c 20 20 20 20 |lour%)..88.| | 000029e0 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 | PROCWimp| 000029f0 5f 4d 65 6e 75 47 6c 75 65 28 6d 65 6e 75 31 25 |_MenuGlue(menu1%| 00002a00 2c 69 74 65 6d 25 2c 6d 65 6e 75 32 25 29 0d 0e |,item%,menu2%)..| 00002a10 42 36 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 |B6.| | 00002a20 50 52 4f 43 57 69 6d 70 5f 4d 65 6e 75 49 74 65 |PROCWimp_MenuIte| 00002a30 6d 28 6d 65 6e 75 25 2c 69 74 65 6d 25 2c 69 74 |m(menu%,item%,it| 00002a40 65 6d 24 29 0d 0e 4c 33 f4 7c 20 20 20 20 20 20 |em$)..L3.| | 00002a50 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 5f 4d | PROCWimp_M| 00002a60 65 6e 75 4d 65 73 73 61 67 65 28 6d 65 6e 75 25 |enuMessage(menu%| 00002a70 2c 69 74 65 6d 25 29 0d 0e 56 31 f4 7c 20 20 20 |,item%)..V1.| | 00002a80 20 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d | PROCWim| 00002a90 70 5f 4d 65 6e 75 50 6f 70 55 70 28 4d 65 6e 75 |p_MenuPopUp(Menu| 00002aa0 25 2c 78 25 2c 79 25 29 0d 0e 60 2e f4 7c 20 20 |%,x%,y%)..`..| | 00002ab0 20 20 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 | PROCWi| 00002ac0 6d 70 5f 4d 65 6e 75 50 6f 70 55 70 42 61 72 28 |mp_MenuPopUpBar(| 00002ad0 78 25 2c 79 25 29 0d 0e 6a 30 f4 7c 20 20 20 20 |x%,y%)..j0.| | 00002ae0 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 | PROCWimp| 00002af0 5f 4d 65 6e 75 54 69 63 6b 28 6d 65 6e 75 25 2c |_MenuTick(menu%,| 00002b00 69 74 65 6d 25 29 0d 0e 74 32 f4 7c 20 20 20 20 |item%)..t2.| | 00002b10 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 | PROCWimp| 00002b20 5f 4d 65 6e 75 54 69 74 6c 65 28 6d 65 6e 75 25 |_MenuTitle(menu%| 00002b30 2c 74 69 74 6c 65 24 29 0d 0e 7e 4c f4 7c 20 20 |,title$)..~L.| | 00002b40 20 20 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 | PROCWi| 00002b50 6d 70 5f 4d 65 6e 75 57 72 69 74 65 28 6d 65 6e |mp_MenuWrite(men| 00002b60 75 25 2c 69 74 65 6d 25 2c 62 75 66 66 65 72 25 |u%,item%,buffer%| 00002b70 2c 76 61 6c 25 2c 42 75 66 66 65 72 4c 65 6e 67 |,val%,BufferLeng| 00002b80 74 68 25 29 0d 0e 88 06 f4 7c 0d 0e 92 3f f4 7c |th%).....|...?.|| 00002b90 20 20 20 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d | -----| 00002ba0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002bc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0e 9c 06 f4 7c 0d |---------.....|.| 00002bd0 0e a6 05 3a 0d 0e b0 1f dd 20 f2 57 69 6d 70 5f |...:..... .Wimp_| 00002be0 4d 65 6e 75 41 64 6a 75 73 74 4f 6e 28 6d 65 6e |MenuAdjustOn(men| 00002bf0 75 25 29 0d 0e ba 2c c8 99 20 22 57 69 6d 70 5f |u%)...,.. "Wimp_| 00002c00 47 65 74 50 6f 69 6e 74 65 72 49 6e 66 6f 22 2c |GetPointerInfo",| 00002c10 2c 70 6f 69 6e 74 65 72 5f 62 6c 6f 63 6b 25 0d |,pointer_block%.| 00002c20 0e c4 5e e7 20 28 28 70 6f 69 6e 74 65 72 5f 62 |..^. ((pointer_b| 00002c30 6c 6f 63 6b 25 21 38 29 80 31 29 3d 31 20 8c 20 |lock%!8).1)=1 . | 00002c40 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 4d |.. "Wimp_CreateM| 00002c50 65 6e 75 22 2c 2c 6d 65 6e 75 25 2c 70 6f 69 6e |enu",,menu%,poin| 00002c60 74 65 72 5f 62 6c 6f 63 6b 25 21 30 2c 70 6f 69 |ter_block%!0,poi| 00002c70 6e 74 65 72 5f 62 6c 6f 63 6b 25 21 34 0d 0e ce |nter_block%!4...| 00002c80 05 e1 0d 0e d8 05 3a 0d 0e e2 1e dd 20 a4 57 69 |......:..... .Wi| 00002c90 6d 70 5f 4d 65 6e 75 43 68 6f 69 63 65 28 6c 65 |mp_MenuChoice(le| 00002ca0 76 65 6c 25 29 0d 0e ec 19 3d 28 77 69 6d 70 25 |vel%)....=(wimp%| 00002cb0 21 28 34 2a 6c 65 76 65 6c 25 29 29 2b 31 0d 0e |!(4*level%))+1..| 00002cc0 f6 05 3a 0d 0f 00 1d dd 20 a4 57 69 6d 70 5f 4d |..:..... .Wimp_M| 00002cd0 65 6e 75 43 72 65 61 74 65 28 6d 65 6e 75 24 29 |enuCreate(menu$)| 00002ce0 0d 0f 0a 29 e7 20 6d 65 6e 75 24 3d 22 43 6f 6c |...). menu$="Col| 00002cf0 6f 75 72 73 22 20 8c 3d a4 57 69 6d 70 5f 4d 65 |ours" .=.Wimp_Me| 00002d00 6e 75 43 6f 6c 6f 75 72 73 0d 0f 14 27 ea 20 6d |nuColours...'. m| 00002d10 65 6e 75 25 2c 69 6e 64 65 78 25 2c 77 69 64 74 |enu%,index%,widt| 00002d20 68 25 2c 6c 65 6e 67 74 68 25 2c 6b 25 2c 73 25 |h%,length%,k%,s%| 00002d30 0d 0f 1e 2e de 20 6d 65 6e 75 25 20 32 38 2b a4 |..... menu% 28+.| 00002d40 57 69 6d 70 5f 4d 65 6e 75 4e 6f 4f 66 45 6e 74 |Wimp_MenuNoOfEnt| 00002d50 72 69 65 73 28 6d 65 6e 75 24 29 2a 32 34 0d 0f |ries(menu$)*24..| 00002d60 28 37 6d 65 6e 75 25 3f 31 32 3d 37 20 20 20 3a |(7menu%?12=7 :| 00002d70 20 6d 65 6e 75 25 3f 31 33 3d 32 20 20 3a 20 6d | menu%?13=2 : m| 00002d80 65 6e 75 25 3f 31 34 3d 37 20 3a 6d 65 6e 75 25 |enu%?14=7 :menu%| 00002d90 3f 31 35 3d 30 0d 0f 32 2b 6d 65 6e 75 25 21 31 |?15=0..2+menu%!1| 00002da0 36 3d 31 34 30 20 3a 20 6d 65 6e 75 25 21 32 30 |6=140 : menu%!20| 00002db0 3d 34 34 20 3a 20 6d 65 6e 75 25 21 32 34 3d 30 |=44 : menu%!24=0| 00002dc0 0d 0f 3c 13 69 6e 64 65 78 25 3d 6d 65 6e 75 25 |..<.index%=menu%| 00002dd0 2b 32 38 0d 0f 46 20 24 6d 65 6e 75 25 3d c0 6d |+28..F $menu%=.m| 00002de0 65 6e 75 24 2c a7 6d 65 6e 75 24 2c 22 5c 22 29 |enu$,.menu$,"\")| 00002df0 2d 31 29 0d 0f 50 23 77 69 64 74 68 25 3d a9 28 |-1)..P#width%=.(| 00002e00 c0 6d 65 6e 75 24 2c a7 6d 65 6e 75 24 2c 22 5c |.menu$,.menu$,"\| 00002e10 22 29 2d 31 29 29 0d 0f 5a 24 6d 65 6e 75 24 2b |")-1))..Z$menu$+| 00002e20 3d 22 5c 22 20 3a 20 4d 65 6e 75 5f 4e 6f 4f 66 |="\" : Menu_NoOf| 00002e30 45 6e 74 72 69 65 73 25 3d 30 0d 0f 64 10 c8 95 |Entries%=0..d...| 00002e40 20 6d 65 6e 75 24 3c 3e 22 22 0d 0f 6e 1f 6d 65 | menu$<>""..n.me| 00002e50 6e 75 24 3d c1 6d 65 6e 75 24 2c a7 6d 65 6e 75 |nu$=.menu$,.menu| 00002e60 24 2c 22 5c 22 29 2b 31 29 0d 0f 78 0e c8 8e 20 |$,"\")+1)..x... | 00002e70 6d 65 6e 75 24 20 ca 0d 0f 82 09 20 c9 20 22 22 |menu$ ..... . ""| 00002e80 0d 0f 8c 08 20 7f 20 3a 0d 0f 96 31 20 20 21 69 |.... . :...1 !i| 00002e90 6e 64 65 78 25 3d 30 20 3a 20 69 6e 64 65 78 25 |ndex%=0 : index%| 00002ea0 21 34 3d 2d 31 20 3a 20 69 6e 64 65 78 25 21 38 |!4=-1 : index%!8| 00002eb0 3d 26 37 30 30 30 30 32 31 0d 0f a0 1b 20 20 6c |=&7000021.... l| 00002ec0 65 6e 67 74 68 25 3d a7 6d 65 6e 75 24 2c 22 5c |ength%=.menu$,"\| 00002ed0 22 29 2d 31 0d 0f aa 1e 20 20 6b 25 3d a7 c0 6d |")-1.... k%=..m| 00002ee0 65 6e 75 24 2c 6c 65 6e 67 74 68 25 29 2c 22 3e |enu$,length%),">| 00002ef0 22 29 0d 0f b4 0d 20 20 c8 8e 20 6b 25 20 ca 0d |").... .. k% ..| 00002f00 0f be 0a 20 20 20 c9 20 30 0d 0f c8 08 20 20 20 |... . 0.... | 00002f10 7f 0d 0f d2 25 20 20 20 20 73 25 3d a0 28 c1 6d |....% s%=.(.m| 00002f20 65 6e 75 24 2c 6b 25 2b 31 2c 6c 65 6e 67 74 68 |enu$,k%+1,length| 00002f30 25 2d 6b 25 29 29 0d 0f dc 13 20 20 20 20 69 6e |%-k%)).... in| 00002f40 64 65 78 25 21 34 3d 73 25 0d 0f e6 14 20 20 20 |dex%!4=s%.... | 00002f50 20 6c 65 6e 67 74 68 25 3d 6b 25 2d 31 0d 0f f0 | length%=k%-1...| 00002f60 07 20 20 cb 0d 0f fa 22 20 20 24 28 69 6e 64 65 |. ...." $(inde| 00002f70 78 25 2b 31 32 29 3d c0 6d 65 6e 75 24 2c 6c 65 |x%+12)=.menu$,le| 00002f80 6e 67 74 68 25 29 0d 10 04 27 20 20 e7 20 6c 65 |ngth%)...' . le| 00002f90 6e 67 74 68 25 3e 77 69 64 74 68 25 20 8c 20 77 |ngth%>width% . w| 00002fa0 69 64 74 68 25 3d 6c 65 6e 67 74 68 25 0d 10 0e |idth%=length%...| 00002fb0 10 20 20 69 6e 64 65 78 25 2b 3d 32 34 0d 10 18 |. index%+=24...| 00002fc0 05 cb 0d 10 22 05 ce 0d 10 2c 1a 6d 65 6e 75 25 |...."....,.menu%| 00002fd0 21 31 36 3d 31 36 2a 28 77 69 64 74 68 25 2b 31 |!16=16*(width%+1| 00002fe0 29 0d 10 36 28 69 6e 64 65 78 25 21 2d 32 34 3d |)..6(index%!-24=| 00002ff0 69 6e 64 65 78 25 21 2d 32 34 20 84 20 26 38 30 |index%!-24 . &80| 00003000 20 3a 20 3d 6d 65 6e 75 25 0d 10 40 05 3a 0d 10 | : =menu%..@.:..| 00003010 4a 17 dd 20 a4 57 69 6d 70 5f 4d 65 6e 75 43 6f |J.. .Wimp_MenuCo| 00003020 6c 6f 75 72 73 0d 10 54 21 3d a4 57 69 6d 70 5f |lours..T!=.Wimp_| 00003030 4d 65 6e 75 43 72 65 61 74 65 43 6f 6c 6f 75 72 |MenuCreateColour| 00003040 73 28 22 20 22 29 0d 10 5e 05 3a 0d 10 68 25 dd |s(" ")..^.:..h%.| 00003050 20 a4 57 69 6d 70 5f 4d 65 6e 75 43 72 65 61 74 | .Wimp_MenuCreat| 00003060 65 43 6f 6c 6f 75 72 73 28 74 69 74 6c 65 24 29 |eColours(title$)| 00003070 0d 10 72 13 ea 20 78 24 2c 6d 65 6e 25 2c 6a 25 |..r.. x$,men%,j%| 00003080 2c 69 25 0d 10 7c 36 78 24 3d 74 69 74 6c 65 24 |,i%..|6x$=title$| 00003090 2b 22 5c 30 5c 31 5c 32 5c 33 5c 34 5c 35 5c 36 |+"\0\1\2\3\4\5\6| 000030a0 5c 37 5c 38 5c 39 5c 31 30 5c 31 31 5c 31 32 5c |\7\8\9\10\11\12\| 000030b0 31 33 5c 31 34 5c 31 35 22 0d 10 86 1d 6d 65 6e |13\14\15"....men| 000030c0 25 3d a4 57 69 6d 70 5f 4d 65 6e 75 43 72 65 61 |%=.Wimp_MenuCrea| 000030d0 74 65 28 78 24 29 0d 10 90 0f e3 20 69 25 3d 30 |te(x$)..... i%=0| 000030e0 20 b8 20 31 35 0d 10 9a 0a c8 8e 20 b9 20 ca 0d | . 15...... . ..| 000030f0 10 a4 28 c9 20 69 25 3c 34 2c 69 25 3d 39 2c 69 |..(. i%<4,i%=9,i| 00003100 25 3d 31 32 2c 69 25 3d 31 34 2c 69 25 3d 31 35 |%=12,i%=14,i%=15| 00003110 20 3a 20 6a 25 3d 37 0d 10 ae 0c 7f 20 3a 20 6a | : j%=7..... : j| 00003120 25 3d 30 0d 10 b8 05 cb 0d 10 c2 1c 6d 65 6e 25 |%=0.........men%| 00003130 3f 28 33 39 2b 69 25 2a 32 34 29 3d 69 25 2a 31 |?(39+i%*24)=i%*1| 00003140 36 2b 6a 25 0d 10 cc 1f f2 57 69 6d 70 5f 4d 65 |6+j%.....Wimp_Me| 00003150 6e 75 43 65 6e 74 72 65 28 6d 65 6e 25 2c 69 25 |nuCentre(men%,i%| 00003160 2b 31 29 0d 10 d6 05 ed 0d 10 e0 09 3d 6d 65 6e |+1).........=men| 00003170 25 0d 10 ea 05 3a 0d 10 f4 22 dd 20 a4 57 69 6d |%....:...". .Wim| 00003180 70 5f 4d 65 6e 75 4e 6f 4f 66 45 6e 74 72 69 65 |p_MenuNoOfEntrie| 00003190 73 28 6d 65 6e 75 24 29 0d 10 fe 1a ea 20 6e 25 |s(menu$)..... n%| 000031a0 20 2c 6a 25 20 3a 20 6e 25 3d 30 20 3a 20 6a 25 | ,j% : n%=0 : j%| 000031b0 3d 30 0d 11 08 05 f5 0d 11 12 17 6a 25 3d a7 6d |=0.........j%=.m| 000031c0 65 6e 75 24 2c 22 5c 22 2c 6a 25 2b 31 29 0d 11 |enu$,"\",j%+1)..| 000031d0 1c 13 e7 20 6a 25 3c 3e 30 20 8c 20 6e 25 2b 3d |... j%<>0 . n%+=| 000031e0 31 0d 11 26 0a fd 20 6a 25 3d 30 0d 11 30 07 3d |1..&.. j%=0..0.=| 000031f0 6e 25 0d 11 3a 05 3a 0d 11 44 35 dd 20 f2 57 69 |n%..:.:..D5. .Wi| 00003200 6d 70 5f 4d 65 6e 75 42 61 63 6b 47 72 6f 75 6e |mp_MenuBackGroun| 00003210 64 43 6f 6c 6f 75 72 28 6d 65 6e 75 25 2c 69 74 |dColour(menu%,it| 00003220 65 6d 25 2c 63 6f 6c 6f 75 72 25 29 0d 11 4e 0e |em%,colour%)..N.| 00003230 ea 20 66 6f 72 65 25 2c 69 25 0d 11 58 26 66 6f |. fore%,i%..X&fo| 00003240 72 65 25 3d 28 6d 65 6e 75 25 3f 28 33 39 2b 28 |re%=(menu%?(39+(| 00003250 69 74 65 6d 25 2d 31 29 2a 32 34 29 29 83 31 36 |item%-1)*24)).16| 00003260 0d 11 62 28 69 25 3d 28 28 6d 65 6e 75 25 3f 28 |..b(i%=((menu%?(| 00003270 33 39 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 |39+(item%-1)*24)| 00003280 29 81 31 36 29 83 31 36 0d 11 6c 2f 6d 65 6e 75 |).16).16..l/menu| 00003290 25 3f 28 33 39 2b 28 69 74 65 6d 25 2d 31 29 2a |%?(39+(item%-1)*| 000032a0 32 34 29 3d 66 6f 72 65 25 2b 31 36 2a 63 6f 6c |24)=fore%+16*col| 000032b0 6f 75 72 25 2b 69 25 0d 11 76 05 e1 0d 11 80 05 |our%+i%..v......| 000032c0 3a 0d 11 8a 23 dd 20 f2 57 69 6d 70 5f 4d 65 6e |:...#. .Wimp_Men| 000032d0 75 43 65 6e 74 72 65 28 6d 65 6e 75 25 2c 69 74 |uCentre(menu%,it| 000032e0 65 6d 25 29 0d 11 94 3a 6d 65 6e 75 25 21 28 33 |em%)...:menu%!(3| 000032f0 36 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 3d |6+(item%-1)*24)=| 00003300 6d 65 6e 75 25 21 28 33 36 2b 28 69 74 65 6d 25 |menu%!(36+(item%| 00003310 2d 31 29 2a 32 34 29 84 28 31 3c 3c 33 29 0d 11 |-1)*24).(1<<3)..| 00003320 9e 05 e1 0d 11 a8 05 3a 0d 11 b2 15 dd 20 f2 57 |.......:..... .W| 00003330 69 6d 70 5f 4d 65 6e 75 43 6c 6f 73 65 0d 11 bc |imp_MenuClose...| 00003340 1b c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 |... "Wimp_Create| 00003350 4d 65 6e 75 22 2c 2d 31 0d 11 c6 05 e1 0d 11 d0 |Menu",-1........| 00003360 05 3a 0d 11 da 24 dd 20 f2 57 69 6d 70 5f 4d 65 |.:...$. .Wimp_Me| 00003370 6e 75 44 69 73 61 62 6c 65 28 6d 65 6e 75 25 2c |nuDisable(menu%,| 00003380 69 74 65 6d 25 29 0d 11 e4 3b 6d 65 6e 75 25 21 |item%)...;menu%!| 00003390 28 33 36 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 |(36+(item%-1)*24| 000033a0 29 3d 6d 65 6e 75 25 21 28 33 36 2b 28 69 74 65 |)=menu%!(36+(ite| 000033b0 6d 25 2d 31 29 2a 32 34 29 84 28 31 3c 3c 32 32 |m%-1)*24).(1<<22| 000033c0 29 0d 11 ee 05 e1 0d 11 f8 05 3a 0d 12 02 27 dd |).........:...'.| 000033d0 20 f2 57 69 6d 70 5f 4d 65 6e 75 44 6f 74 74 65 | .Wimp_MenuDotte| 000033e0 64 4c 69 6e 65 28 6d 65 6e 75 25 2c 69 74 65 6d |dLine(menu%,item| 000033f0 25 29 0d 12 0c 37 6d 65 6e 75 25 21 28 32 38 2b |%)...7menu%!(28+| 00003400 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 3d 28 6d |(item%-1)*24)=(m| 00003410 65 6e 75 25 21 28 32 38 2b 28 69 74 65 6d 25 2d |enu%!(28+(item%-| 00003420 31 29 2a 32 34 29 29 84 32 0d 12 16 05 e1 0d 12 |1)*24)).2.......| 00003430 20 05 3a 0d 12 2a 23 dd 20 f2 57 69 6d 70 5f 4d | .:..*#. .Wimp_M| 00003440 65 6e 75 45 6e 61 62 6c 65 28 6d 65 6e 75 25 2c |enuEnable(menu%,| 00003450 69 74 65 6d 25 29 0d 12 34 22 f2 57 69 6d 70 5f |item%)..4".Wimp_| 00003460 4d 65 6e 75 44 69 73 61 62 6c 65 28 6d 65 6e 75 |MenuDisable(menu| 00003470 25 2c 69 74 65 6d 25 29 0d 12 3e 3b 6d 65 6e 75 |%,item%)..>;menu| 00003480 25 21 28 33 36 2b 28 69 74 65 6d 25 2d 31 29 2a |%!(36+(item%-1)*| 00003490 32 34 29 3d 6d 65 6e 75 25 21 28 33 36 2b 28 69 |24)=menu%!(36+(i| 000034a0 74 65 6d 25 2d 31 29 2a 32 34 29 82 28 31 3c 3c |tem%-1)*24).(1<<| 000034b0 32 32 29 0d 12 48 05 e1 0d 12 52 05 3a 0d 12 5c |22)..H....R.:..\| 000034c0 35 dd 20 f2 57 69 6d 70 5f 4d 65 6e 75 46 6f 72 |5. .Wimp_MenuFor| 000034d0 65 67 72 6f 75 6e 64 43 6f 6c 6f 75 72 28 6d 65 |egroundColour(me| 000034e0 6e 75 25 2c 69 74 65 6d 25 2c 63 6f 6c 6f 75 72 |nu%,item%,colour| 000034f0 25 29 0d 12 66 45 6d 65 6e 75 25 3f 28 33 39 2b |%)..fEmenu%?(39+| 00003500 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 3d 63 6f |(item%-1)*24)=co| 00003510 6c 6f 75 72 25 2b 31 36 2a 28 28 6d 65 6e 75 25 |lour%+16*((menu%| 00003520 3f 28 33 39 2b 28 69 74 65 6d 25 2d 31 29 2a 32 |?(39+(item%-1)*2| 00003530 34 29 29 81 31 36 29 0d 12 70 05 e1 0d 12 7a 05 |4)).16)..p....z.| 00003540 3a 0d 12 84 29 dd 20 f2 57 69 6d 70 5f 4d 65 6e |:...). .Wimp_Men| 00003550 75 47 6c 75 65 28 6d 65 6e 75 31 25 2c 69 74 65 |uGlue(menu1%,ite| 00003560 6d 25 2c 6d 65 6e 75 32 25 29 0d 12 8e 1e 6d 65 |m%,menu2%)....me| 00003570 6e 75 31 25 21 28 38 2b 69 74 65 6d 25 2a 32 34 |nu1%!(8+item%*24| 00003580 29 3d 6d 65 6e 75 32 25 0d 12 98 05 e1 0d 12 a2 |)=menu2%........| 00003590 05 3a 0d 12 ac 27 dd 20 f2 57 69 6d 70 5f 4d 65 |.:...'. .Wimp_Me| 000035a0 6e 75 49 74 65 6d 28 6d 65 6e 75 25 2c 69 74 65 |nuItem(menu%,ite| 000035b0 6d 25 2c 69 74 65 6d 24 29 0d 12 b6 2c 24 28 6d |m%,item$)...,$(m| 000035c0 65 6e 75 25 2b 28 34 30 2b 28 69 74 65 6d 25 2d |enu%+(40+(item%-| 000035d0 31 29 2a 32 34 29 29 3d c0 69 74 65 6d 24 2c 31 |1)*24))=.item$,1| 000035e0 32 29 2b bd 30 0d 12 c0 05 e1 0d 12 ca 05 3a 0d |2)+.0.........:.| 000035f0 12 d4 24 dd 20 f2 57 69 6d 70 5f 4d 65 6e 75 4d |..$. .Wimp_MenuM| 00003600 65 73 73 61 67 65 28 6d 65 6e 75 25 2c 69 74 65 |essage(menu%,ite| 00003610 6d 25 29 0d 12 de 3c 6d 65 6e 75 25 21 28 32 38 |m%)...<menu%!(28| 00003620 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 3d 28 |+(item%-1)*24)=(| 00003630 6d 65 6e 75 25 21 28 32 38 2b 28 69 74 65 6d 25 |menu%!(28+(item%| 00003640 2d 31 29 2a 32 34 29 29 82 28 31 3c 3c 33 29 0d |-1)*24)).(1<<3).| 00003650 12 e8 05 e1 0d 12 f2 05 3a 0d 12 fc 22 dd 20 f2 |........:...". .| 00003660 57 69 6d 70 5f 4d 65 6e 75 50 6f 70 55 70 28 4d |Wimp_MenuPopUp(M| 00003670 65 6e 75 25 2c 78 25 2c 79 25 29 0d 13 06 0f 6d |enu%,x%,y%)....m| 00003680 65 6e 75 25 3d 4d 65 6e 75 25 0d 13 10 2b c8 99 |enu%=Menu%...+..| 00003690 20 22 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e | "Wimp_CreateMen| 000036a0 75 22 2c 2c 6d 65 6e 75 25 2c 78 25 2d 36 34 2c |u",,menu%,x%-64,| 000036b0 79 25 2b 32 30 0d 13 1a 05 e1 0d 13 24 05 3a 0d |y%+20.......$.:.| 000036c0 13 2e 1f dd 20 f2 57 69 6d 70 5f 4d 65 6e 75 50 |.... .Wimp_MenuP| 000036d0 6f 70 55 70 42 61 72 28 78 25 2c 79 25 29 0d 13 |opUpBar(x%,y%)..| 000036e0 38 0f ea 20 6e 25 20 3a 20 6e 25 3d 30 0d 13 42 |8.. n% : n%=0..B| 000036f0 2b c8 95 20 28 28 42 61 72 5f 4d 65 6e 75 25 21 |+.. ((Bar_Menu%!| 00003700 28 32 38 2b 6e 25 2a 32 34 29 29 80 25 31 30 30 |(28+n%*24)).%100| 00003710 30 30 30 30 30 29 3d 30 0d 13 4c 09 6e 25 2b 3d |00000)=0..L.n%+=| 00003720 31 0d 13 56 05 ce 0d 13 60 32 c8 99 20 22 57 69 |1..V....`2.. "Wi| 00003730 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c |mp_CreateMenu",,| 00003740 42 61 72 5f 4d 65 6e 75 25 2c 78 25 2d 36 34 2c |Bar_Menu%,x%-64,| 00003750 39 36 2b 6e 25 2a 34 34 0d 13 6a 13 6d 65 6e 75 |96+n%*44..j.menu| 00003760 25 3d 42 61 72 5f 4d 65 6e 75 25 0d 13 74 05 e1 |%=Bar_Menu%..t..| 00003770 0d 13 7e 05 3a 0d 13 88 21 dd 20 f2 57 69 6d 70 |..~.:...!. .Wimp| 00003780 5f 4d 65 6e 75 54 69 63 6b 28 6d 65 6e 75 25 2c |_MenuTick(menu%,| 00003790 69 74 65 6d 25 29 0d 13 92 37 6d 65 6e 75 25 21 |item%)...7menu%!| 000037a0 28 32 38 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 |(28+(item%-1)*24| 000037b0 29 3d 28 6d 65 6e 75 25 21 28 32 38 2b 28 69 74 |)=(menu%!(28+(it| 000037c0 65 6d 25 2d 31 29 2a 32 34 29 29 82 31 0d 13 9c |em%-1)*24)).1...| 000037d0 05 e1 0d 13 a6 05 3a 0d 13 b0 23 dd 20 f2 57 69 |......:...#. .Wi| 000037e0 6d 70 5f 4d 65 6e 75 54 69 74 6c 65 28 6d 65 6e |mp_MenuTitle(men| 000037f0 75 25 2c 74 69 74 6c 65 24 29 0d 13 ba 19 24 6d |u%,title$)....$m| 00003800 65 6e 75 25 3d c0 74 69 74 6c 65 24 2c 31 32 29 |enu%=.title$,12)| 00003810 2b bd 30 0d 13 c4 05 e1 0d 13 ce 05 3a 0d 13 d8 |+.0.........:...| 00003820 3d dd 20 f2 57 69 6d 70 5f 4d 65 6e 75 57 72 69 |=. .Wimp_MenuWri| 00003830 74 65 28 6d 65 6e 75 25 2c 69 74 65 6d 25 2c 62 |te(menu%,item%,b| 00003840 75 66 66 65 72 25 2c 76 61 6c 25 2c 42 75 66 66 |uffer%,val%,Buff| 00003850 65 72 4c 65 6e 67 74 68 25 29 0d 13 e2 37 6d 65 |erLength%)...7me| 00003860 6e 75 25 21 28 32 38 2b 28 69 74 65 6d 25 2d 31 |nu%!(28+(item%-1| 00003870 29 2a 32 34 29 3d 28 6d 65 6e 75 25 21 28 32 38 |)*24)=(menu%!(28| 00003880 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 29 84 |+(item%-1)*24)).| 00003890 34 0d 13 ec 38 6d 65 6e 75 25 21 28 33 36 2b 28 |4...8menu%!(36+(| 000038a0 69 74 65 6d 25 2d 31 29 2a 32 34 29 3d 6d 65 6e |item%-1)*24)=men| 000038b0 75 25 21 28 33 36 2b 28 69 74 65 6d 25 2d 31 29 |u%!(36+(item%-1)| 000038c0 2a 32 34 29 84 26 31 30 30 0d 13 f6 23 6d 65 6e |*24).&100...#men| 000038d0 75 25 21 28 34 30 2b 28 69 74 65 6d 25 2d 31 29 |u%!(40+(item%-1)| 000038e0 2a 32 34 29 3d 62 75 66 66 65 72 25 0d 14 00 20 |*24)=buffer%... | 000038f0 6d 65 6e 75 25 21 28 34 34 2b 28 69 74 65 6d 25 |menu%!(44+(item%| 00003900 2d 31 29 2a 32 34 29 3d 76 61 6c 25 0d 14 0a 29 |-1)*24)=val%...)| 00003910 6d 65 6e 75 25 21 28 34 38 2b 28 69 74 65 6d 25 |menu%!(48+(item%| 00003920 2d 31 29 2a 32 34 29 3d 42 75 66 66 65 72 4c 65 |-1)*24)=BufferLe| 00003930 6e 67 74 68 25 0d 14 14 05 e1 0d 14 1e 06 f4 7c |ngth%..........|| 00003940 0d 14 28 06 f4 7c 0d 14 32 06 f4 7c 0d 14 3c 31 |..(..|..2..|..<1| 00003950 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.| | 00003960 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ------------| 00003970 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 14 46 |-------------..F| 00003980 2a f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 |*.| | 00003990 20 20 20 20 20 20 20 20 20 20 20 20 20 34 2e a0 | 4..| 000039a0 53 70 72 69 74 65 73 0d 14 50 31 f4 7c 20 20 20 |Sprites..P1.| | 000039b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d | -| 000039c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000039d0 2d 2d 2d 2d 2d 2d 2d 2d 0d 14 5a 06 f4 7c 0d 14 |--------..Z..|..| 000039e0 64 06 f4 7c 0d 14 6e 3a f4 7c 20 20 20 20 20 20 |d..|..n:.| | 000039f0 20 20 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d | ------| 00003a00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00003a10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 14 |--------------..| 00003a20 78 06 f4 7c 0d 14 82 28 f4 7c 20 20 20 20 20 20 |x..|...(.| | 00003a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003a40 50 72 6f 63 65 64 75 72 65 73 20 3a 0d 14 8c 06 |Procedures :....| 00003a50 f4 7c 0d 14 96 06 f4 7c 0d 14 a0 2c f4 7c 20 20 |.|.....|...,.| | 00003a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003a70 50 52 4f 43 57 69 6d 70 5f 53 70 72 69 74 65 73 |PROCWimp_Sprites| 00003a80 4c 6f 61 64 0d 14 aa 3a f4 7c 20 20 20 20 20 20 |Load...:.| | 00003a90 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4f 43 | PROC| 00003aa0 57 69 6d 70 5f 53 70 72 69 74 65 73 50 61 74 68 |Wimp_SpritesPath| 00003ab0 4c 6f 61 64 28 70 61 74 68 6e 61 6d 65 24 0d 14 |Load(pathname$..| 00003ac0 b4 06 f4 7c 0d 14 be 06 f4 7c 0d 14 c8 06 f4 7c |...|.....|.....|| 00003ad0 0d 14 d2 3a f4 7c 20 20 20 20 20 20 20 20 20 20 |...:.| | 00003ae0 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ----------| 00003af0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00003b00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 14 dc 06 f4 7c |----------.....|| 00003b10 0d 14 e6 05 3a 0d 14 f0 17 dd 20 f2 57 69 6d 70 |....:..... .Wimp| 00003b20 5f 53 70 72 69 74 65 73 4c 6f 61 64 0d 14 fa 2f |_SpritesLoad.../| 00003b30 f2 57 69 6d 70 5f 53 70 72 69 74 65 73 50 61 74 |.Wimp_SpritesPat| 00003b40 68 4c 6f 61 64 28 22 3c 4f 62 65 79 24 44 69 72 |hLoad("<Obey$Dir| 00003b50 3e 2e 53 70 72 69 74 65 73 22 29 0d 15 04 05 e1 |>.Sprites").....| 00003b60 0d 15 0e 05 3a 0d 15 18 26 dd 20 f2 57 69 6d 70 |....:...&. .Wimp| 00003b70 5f 53 70 72 69 74 65 73 50 61 74 68 4c 6f 61 64 |_SpritesPathLoad| 00003b80 28 70 61 74 68 6e 61 6d 65 24 29 0d 15 22 0a ea |(pathname$).."..| 00003b90 53 25 2c 54 25 0d 15 2c 2c 53 25 3d 8e 22 3c 4f |S%,T%..,,S%=."<O| 00003ba0 62 65 79 24 44 69 72 3e 2e 53 70 72 69 74 65 73 |bey$Dir>.Sprites| 00003bb0 22 3a 54 25 3d a2 23 53 25 2b 31 36 3a d9 23 53 |":T%=.#S%+16:.#S| 00003bc0 25 0d 15 36 19 de 73 70 72 69 74 65 73 25 54 25 |%..6..sprites%T%| 00003bd0 2c 73 70 6e 61 6d 65 25 31 32 0d 15 40 1d 21 73 |,spname%12..@.!s| 00003be0 70 72 69 74 65 73 25 3d 54 25 3a 73 70 72 69 74 |prites%=T%:sprit| 00003bf0 65 73 25 21 38 3d 30 0d 15 4a 21 c8 99 22 4f 53 |es%!8=0..J!.."OS| 00003c00 5f 53 70 72 69 74 65 4f 70 22 2c 26 31 30 39 2c |_SpriteOp",&109,| 00003c10 73 70 72 69 74 65 73 25 0d 15 54 2b c8 99 22 4f |sprites%..T+.."O| 00003c20 53 5f 53 70 72 69 74 65 4f 70 22 2c 26 31 30 41 |S_SpriteOp",&10A| 00003c30 2c 73 70 72 69 74 65 73 25 2c 70 61 74 68 6e 61 |,sprites%,pathna| 00003c40 6d 65 24 0d 15 5e 05 e1 0d 15 68 05 3a 0d 15 72 |me$..^....h.:..r| 00003c50 06 f4 7c 0d 15 7c 06 f4 7c 0d 15 86 06 f4 7c 0d |..|..|..|.....|.| 00003c60 15 90 31 f4 7c 20 20 20 20 20 20 20 20 20 20 20 |..1.| | 00003c70 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d | ---------| 00003c80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00003c90 0d 15 9a 28 f4 7c 20 20 20 20 20 20 20 20 20 20 |...(.| | 00003ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003cb0 35 2e a0 46 69 6c 65 73 0d 15 a4 31 f4 7c 20 20 |5..Files...1.| | 00003cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003cd0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00003ce0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 15 ae 06 f4 7c 0d |---------.....|.| 00003cf0 15 b8 06 f4 7c 0d 15 c2 35 f4 7c 20 20 20 20 20 |....|...5.| | 00003d00 20 20 20 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d | -----| 00003d10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00003d20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 15 cc 06 f4 7c |----------.....|| 00003d30 0d 15 d6 28 f4 7c 20 20 20 20 20 20 20 20 20 20 |...(.| | 00003d40 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 63 | Proc| 00003d50 65 64 75 72 65 73 20 3a 0d 15 e0 06 f4 7c 0d 15 |edures :.....|..| 00003d60 ea 06 f4 7c 0d 15 f4 2e f4 7c 20 20 20 20 20 20 |...|.....| | 00003d70 20 20 20 20 20 20 20 20 20 20 20 20 46 4e 57 69 | FNWi| 00003d80 6d 70 5f 46 69 6c 65 54 79 70 65 28 74 79 70 65 |mp_FileType(type| 00003d90 25 29 0d 15 fe 2e f4 7c 20 20 20 20 20 20 20 20 |%).....| | 00003da0 20 20 20 20 20 20 20 20 20 20 46 4e 57 69 6d 70 | FNWimp| 00003db0 5f 47 65 74 46 69 6c 65 50 61 74 68 4e 61 6d 65 |_GetFilePathName| 00003dc0 0d 16 08 32 f4 7c 20 20 20 20 20 20 20 20 20 20 |...2.| | 00003dd0 20 20 20 20 20 20 20 20 46 4e 57 69 6d 70 5f 46 | FNWimp_F| 00003de0 69 6c 65 4c 6f 61 64 28 70 61 74 68 6e 61 6d 65 |ileLoad(pathname| 00003df0 24 29 0d 16 12 39 f4 7c 20 20 20 20 20 20 20 20 |$)...9.| | 00003e00 20 20 20 20 20 20 20 20 20 20 46 4e 57 69 6d 70 | FNWimp| 00003e10 5f 47 65 74 53 74 72 69 6e 67 41 74 41 64 64 72 |_GetStringAtAddr| 00003e20 65 73 73 28 61 72 72 61 79 25 29 0d 16 1c 36 f4 |ess(array%)...6.| 00003e30 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 || | 00003e40 20 20 20 46 4e 57 69 6d 70 5f 47 65 74 46 69 6c | FNWimp_GetFil| 00003e50 65 46 72 6f 6d 50 61 74 68 6e 61 6d 65 28 66 24 |eFromPathname(f$| 00003e60 29 0d 16 26 32 f4 7c 20 20 20 20 20 20 20 20 20 |)..&2.| | 00003e70 20 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d | PROCWim| 00003e80 70 5f 53 65 6e 64 54 6f 45 64 69 74 28 66 69 6c |p_SendToEdit(fil| 00003e90 65 24 29 0d 16 30 06 f4 7c 0d 16 3a 35 f4 7c 20 |e$)..0..|..:5.| | 00003ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d | -| 00003eb0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00003ec0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 16 |--------------..| 00003ed0 44 06 f4 7c 0d 16 4e 06 f4 7c 0d 16 58 06 f4 7c |D..|..N..|..X..|| 00003ee0 0d 16 62 05 3a 0d 16 6c 1b dd 20 a4 57 69 6d 70 |..b.:..l.. .Wimp| 00003ef0 5f 46 69 6c 65 54 79 70 65 28 74 79 70 65 25 29 |_FileType(type%)| 00003f00 0d 16 76 0c c8 8e 74 79 70 65 25 ca 0d 16 80 11 |..v...type%.....| 00003f10 c9 26 46 46 46 3a 3d 22 54 65 78 74 22 0d 16 8a |.&FFF:="Text"...| 00003f20 11 c9 26 46 46 44 3a 3d 22 44 61 74 61 22 0d 16 |..&FFD:="Data"..| 00003f30 94 12 c9 26 46 46 42 3a 3d 22 42 61 73 69 63 22 |...&FFB:="Basic"| 00003f40 0d 16 9e 13 c9 26 46 46 39 3a 3d 22 53 70 72 69 |.....&FF9:="Spri| 00003f50 74 65 22 0d 16 a8 14 c9 26 46 45 44 3a 3d 22 50 |te".....&FED:="P| 00003f60 61 6c 65 74 74 65 22 0d 16 b2 15 c9 26 46 45 43 |alette".....&FEC| 00003f70 3a 3d 22 54 65 6d 70 6c 61 74 65 22 0d 16 bc 11 |:="Template"....| 00003f80 c9 26 41 46 46 3a 3d 22 44 72 61 77 22 0d 16 c6 |.&AFF:="Draw"...| 00003f90 14 c9 26 31 30 30 30 3a 3d 22 46 6f 6c 64 65 72 |..&1000:="Folder| 00003fa0 22 0d 16 d0 19 c9 26 32 30 30 30 3a 3d 22 41 70 |".....&2000:="Ap| 00003fb0 70 6c 69 63 61 74 69 6f 6e 22 0d 16 da 0f 7f 3d |plication".....=| 00003fc0 c3 7e 28 74 79 70 65 25 29 0d 16 e4 05 cb 0d 16 |.~(type%).......| 00003fd0 ee 05 3a 0d 16 f8 1b dd 20 a4 57 69 6d 70 5f 47 |..:..... .Wimp_G| 00003fe0 65 74 46 69 6c 65 50 61 74 68 4e 61 6d 65 0d 17 |etFilePathName..| 00003ff0 02 27 3d a4 57 69 6d 70 5f 47 65 74 53 74 72 69 |.'=.Wimp_GetStri| 00004000 6e 67 41 74 41 64 64 72 65 73 73 28 77 69 6d 70 |ngAtAddress(wimp| 00004010 25 2b 34 34 29 0d 17 0c 05 3a 0d 17 16 1f dd 20 |%+44)....:..... | 00004020 a4 57 69 6d 70 5f 46 69 6c 65 4c 6f 61 64 28 70 |.Wimp_FileLoad(p| 00004030 61 74 68 6e 61 6d 65 24 29 0d 17 20 10 ea 53 25 |athname$).. ..S%| 00004040 2c 54 25 2c 66 69 6c 65 25 0d 17 2a 11 53 25 3d |,T%,file%..*.S%=| 00004050 8e 70 61 74 68 6e 61 6d 65 24 0d 17 34 0e 54 25 |.pathname$..4.T%| 00004060 3d a2 23 53 25 2b 31 36 0d 17 3e 08 d9 23 53 25 |=.#S%+16..>..#S%| 00004070 0d 17 48 0c de 66 69 6c 65 25 54 25 0d 17 52 22 |..H..file%T%..R"| 00004080 ff 28 22 4c 4f 41 44 22 2b 70 61 74 68 6e 61 6d |.("LOAD"+pathnam| 00004090 65 24 2b 22 22 2b c3 7e 66 69 6c 65 25 29 0d 17 |e$+""+.~file%)..| 000040a0 5c 0a 3d 66 69 6c 65 25 0d 17 66 05 3b 0d 17 70 |\.=file%..f.;..p| 000040b0 26 dd 20 a4 57 69 6d 70 5f 47 65 74 53 74 72 69 |&. .Wimp_GetStri| 000040c0 6e 67 41 74 41 64 64 72 65 73 73 28 61 72 72 61 |ngAtAddress(arra| 000040d0 79 25 29 0d 17 7a 0d ea 73 24 3a 73 24 3d 22 22 |y%)..z..s$:s$=""| 000040e0 0d 17 84 3c c8 95 28 3f 61 72 72 61 79 25 3c 3e |...<..(?array%<>| 000040f0 31 33 29 80 28 3f 61 72 72 61 79 25 3c 3e 30 29 |13).(?array%<>0)| 00004100 3a 73 24 2b 3d bd 28 3f 61 72 72 61 79 25 29 3a |:s$+=.(?array%):| 00004110 61 72 72 61 79 25 2b 3d 31 3a ce 3a 0d 17 8e 07 |array%+=1:.:....| 00004120 3d 73 24 0d 17 98 05 3a 0d 17 a2 23 dd 20 a4 57 |=s$....:...#. .W| 00004130 69 6d 70 5f 47 65 74 46 69 6c 65 46 72 6f 6d 50 |imp_GetFileFromP| 00004140 61 74 68 6e 61 6d 65 28 66 24 29 0d 17 ac 11 c8 |athname(f$).....| 00004150 8e 20 a7 66 24 2c 22 2e 22 29 20 ca 0d 17 b6 10 |. .f$,".") .....| 00004160 20 c9 20 30 20 20 20 20 3a 3d 66 24 0d 17 c0 37 | . 0 :=f$...7| 00004170 20 7f 20 3a 3d a4 57 69 6d 70 5f 47 65 74 46 69 | . :=.Wimp_GetFi| 00004180 6c 65 46 72 6f 6d 50 61 74 68 6e 61 6d 65 28 c2 |leFromPathname(.| 00004190 66 24 2c a9 28 66 24 29 2d a7 66 24 2c 22 2e 22 |f$,.(f$)-.f$,"."| 000041a0 29 29 29 0d 17 ca 05 cb 0d 17 d4 05 3a 0d 17 de |))).........:...| 000041b0 1d dd 20 f2 57 69 6d 70 5f 53 65 6e 64 54 6f 45 |.. .Wimp_SendToE| 000041c0 64 69 74 28 66 69 6c 65 24 29 0d 17 e8 08 ea 20 |dit(file$)..... | 000041d0 6e 25 0d 17 f2 15 77 69 6d 70 25 21 34 3d 26 36 |n%....wimp%!4=&6| 000041e0 43 43 30 31 43 30 43 0d 17 fc 0e 77 69 6d 70 25 |CC01C0C....wimp%| 000041f0 21 31 36 3d 35 0d 18 06 0e 77 69 6d 70 25 21 33 |!16=5....wimp%!3| 00004200 36 3d 30 0d 18 10 11 77 69 6d 70 25 21 34 30 3d |6=0....wimp%!40=| 00004210 26 46 46 46 0d 18 1a 18 24 28 77 69 6d 70 25 2b |&FFF....$(wimp%+| 00004220 34 34 29 3d 66 69 6c 65 24 2b bd 30 0d 18 24 10 |44)=file$+.0..$.| 00004230 6e 25 3d a9 66 69 6c 65 24 2b 34 35 0d 18 2e 2c |n%=.file$+45...,| 00004240 e7 20 6e 25 83 34 20 8c 20 21 77 69 6d 70 25 3d |. n%.4 . !wimp%=| 00004250 34 2b 28 6e 25 3e 3e 32 29 3c 3c 32 20 8b 20 21 |4+(n%>>2)<<2 . !| 00004260 77 69 6d 70 25 3d 6e 25 0d 18 38 24 c8 99 20 22 |wimp%=n%..8$.. "| 00004270 57 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 |Wimp_SendMessage| 00004280 22 2c 31 37 2c 77 69 6d 70 25 2c 30 0d 18 42 05 |",17,wimp%,0..B.| 00004290 e1 0d 18 4c 05 3a 0d 18 56 06 f4 7c 0d 18 60 06 |...L.:..V..|..`.| 000042a0 f4 7c 0d 18 6a 06 f4 7c 0d 18 74 31 f4 7c 20 20 |.|..j..|..t1.| | 000042b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000042c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000042d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 18 7e 2c f4 7c 20 |---------..~,.| | 000042e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000042f0 20 20 20 20 20 36 2e a0 4d 69 73 63 65 6c 6c 61 | 6..Miscella| 00004300 6e 65 6f 75 73 0d 18 88 31 f4 7c 20 20 20 20 20 |neous...1.| | 00004310 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 2d | ---| 00004320 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00004330 2d 2d 2d 2d 2d 2d 0d 18 92 06 f4 7c 0d 18 9c 06 |------.....|....| 00004340 f4 7c 0d 18 a6 35 f4 7c 20 20 20 20 20 20 20 20 |.|...5.| | 00004350 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d | --------| 00004360 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00004370 2d 2d 2d 2d 2d 2d 2d 0d 18 b0 06 f4 7c 0d 18 ba |-------.....|...| 00004380 28 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 |(.| | 00004390 20 20 20 20 20 20 20 20 20 50 72 6f 63 65 64 75 | Procedu| 000043a0 72 65 73 20 3a 0d 18 c4 06 f4 7c 0d 18 ce 06 f4 |res :.....|.....| 000043b0 7c 0d 18 d8 2f f4 7c 20 20 20 20 20 20 20 20 20 ||.../.| | 000043c0 20 20 20 20 20 20 20 20 20 46 4e 57 69 6d 70 5f | FNWimp_| 000043d0 53 74 61 72 74 28 54 61 73 6b 4e 61 6d 65 24 29 |Start(TaskName$)| 000043e0 0d 18 e2 32 f4 7c 20 20 20 20 20 20 20 20 20 20 |...2.| | 000043f0 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 6d 70 | PROCWimp| 00004400 5f 53 65 74 45 76 65 6e 74 56 61 72 69 61 62 6c |_SetEventVariabl| 00004410 65 73 0d 18 ec 37 f4 7c 20 20 20 20 20 20 20 20 |es...7.| | 00004420 20 20 20 20 20 20 20 20 20 20 50 52 4f 43 57 69 | PROCWi| 00004430 6d 70 5f 45 72 72 6f 72 28 74 61 73 6b 25 2c 54 |mp_Error(task%,T| 00004440 61 73 6b 4e 61 6d 65 24 29 0d 18 f6 2a f4 7c 20 |askName$)...*.| | 00004450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00004460 20 50 52 4f 43 57 69 6d 70 5f 43 6c 6f 73 65 44 | PROCWimp_CloseD| 00004470 6f 77 6e 0d 19 00 25 f4 7c 20 20 20 20 20 20 20 |own...%.| | 00004480 20 20 20 20 20 20 20 20 20 20 20 50 52 4f 43 57 | PROCW| 00004490 69 6d 70 5f 51 75 69 74 0d 19 0a 36 f4 7c 20 20 |imp_Quit...6.| | 000044a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000044b0 46 4e 57 69 6d 70 5f 52 65 61 64 56 61 72 69 61 |FNWimp_ReadVaria| 000044c0 62 6c 65 28 56 61 72 69 61 62 6c 65 24 29 0d 19 |ble(Variable$)..| 000044d0 14 06 f4 7c 0d 19 1e 06 f4 7c 0d 19 28 35 f4 7c |...|.....|..(5.|| 000044e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000044f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00004500 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d |---------------.| 00004510 19 32 06 f4 7c 0d 19 3c 05 3a 0d 19 46 1c dd 20 |.2..|..<.:..F.. | 00004520 a4 57 69 6d 70 5f 53 74 61 72 74 28 54 61 73 6b |.Wimp_Start(Task| 00004530 4e 61 6d 65 24 29 0d 19 50 0e ea 20 76 65 72 73 |Name$)..P.. vers| 00004540 69 6f 6e 25 0d 19 5a 1b f2 57 69 6d 70 5f 53 65 |ion%..Z..Wimp_Se| 00004550 74 45 76 65 6e 74 56 61 72 69 61 62 6c 65 73 0d |tEventVariables.| 00004560 19 64 26 ee 20 85 20 f2 57 69 6d 70 5f 45 72 72 |.d&. . .Wimp_Err| 00004570 6f 72 28 74 61 73 6b 25 2c 54 61 73 6b 4e 61 6d |or(task%,TaskNam| 00004580 65 24 29 3a e0 0d 19 6e 11 24 77 69 6d 70 25 3d |e$):...n.$wimp%=| 00004590 22 54 41 53 4b 22 0d 19 78 3d c8 99 22 57 69 6d |"TASK"..x=.."Wim| 000045a0 70 5f 49 6e 69 74 69 61 6c 69 73 65 22 2c 32 30 |p_Initialise",20| 000045b0 30 2c 21 77 69 6d 70 25 2c 54 61 73 6b 4e 61 6d |0,!wimp%,TaskNam| 000045c0 65 24 20 b8 20 76 65 72 73 69 6f 6e 25 2c 74 61 |e$ . version%,ta| 000045d0 73 6b 25 0d 19 82 0e 3d 54 61 73 6b 4e 61 6d 65 |sk%....=TaskName| 000045e0 24 0d 19 8c 05 3a 0d 19 96 1d dd 20 f2 57 69 6d |$....:..... .Wim| 000045f0 70 5f 53 65 74 45 76 65 6e 74 56 61 72 69 61 62 |p_SetEventVariab| 00004600 6c 65 73 0d 19 a0 29 77 69 6d 70 5f 6d 65 6d 6f |les...)wimp_memo| 00004610 72 79 25 3d 31 30 30 30 20 3a 20 69 63 6f 6e 5f |ry%=1000 : icon_| 00004620 6d 65 6d 6f 72 79 25 3d 31 30 30 30 0d 19 aa 2c |memory%=1000...,| 00004630 de 20 77 69 6d 70 25 20 77 69 6d 70 5f 6d 65 6d |. wimp% wimp_mem| 00004640 6f 72 79 25 2c 69 63 6f 6e 73 25 20 69 63 6f 6e |ory%,icons% icon| 00004650 5f 6d 65 6d 6f 72 79 25 0d 19 b4 17 de 20 70 6f |_memory%..... po| 00004660 69 6e 74 65 72 5f 62 6c 6f 63 6b 25 20 32 30 0d |inter_block% 20.| 00004670 19 be 24 69 63 6f 6e 5f 6d 65 6d 6f 72 79 25 3d |..$icon_memory%=| 00004680 69 63 6f 6e 73 25 2b 69 63 6f 6e 5f 6d 65 6d 6f |icons%+icon_memo| 00004690 72 79 25 0d 19 c8 2e 6e 75 6c 6c 25 3d 31 20 20 |ry%....null%=1 | 000046a0 3a 64 72 61 77 25 3d 32 20 3a 20 20 70 6f 69 6e |:draw%=2 : poin| 000046b0 74 65 72 5f 6c 65 61 76 69 6e 67 25 3d 31 3c 3c |ter_leaving%=1<<| 000046c0 34 0d 19 d2 31 70 6f 69 6e 74 65 72 5f 65 6e 74 |4...1pointer_ent| 000046d0 65 72 69 6e 67 25 3d 31 3c 3c 35 3a 6d 6f 75 73 |ering%=1<<5:mous| 000046e0 65 25 3d 31 3c 3c 36 3a 64 72 61 67 25 3d 31 3c |e%=1<<6:drag%=1<| 000046f0 3c 37 0d 19 dc 26 6b 65 79 25 3d 31 3c 3c 38 3a |<7...&key%=1<<8:| 00004700 6d 65 6e 75 25 3d 31 3c 3c 39 3a 73 63 72 6f 6c |menu%=1<<9:scrol| 00004710 6c 25 3d 31 3c 3c 31 30 0d 19 e6 40 6c 6f 73 65 |l%=1<<10...@lose| 00004720 5f 63 61 72 65 74 25 3d 31 3c 3c 31 31 3a 67 61 |_caret%=1<<11:ga| 00004730 69 6e 5f 63 61 72 65 74 25 3d 31 3c 3c 31 32 3a |in_caret%=1<<12:| 00004740 6d 65 73 73 61 67 65 25 3d 28 31 3c 3c 31 37 29 |message%=(1<<17)| 00004750 2b 28 31 3c 3c 31 38 29 0d 19 f0 30 72 65 63 6f |+(1<<18)...0reco| 00004760 72 64 65 72 25 3d 31 3c 3c 31 38 3a 61 63 6b 6e |rder%=1<<18:ackn| 00004770 6f 77 6c 65 64 67 65 25 3d 31 3c 3c 31 39 3a 77 |owledge%=1<<19:w| 00004780 69 6e 64 6f 77 25 3d 30 0d 19 fa 21 73 70 72 69 |indow%=0...!spri| 00004790 74 65 73 25 3d 30 3a 76 65 72 73 69 6f 6e 25 3d |tes%=0:version%=| 000047a0 30 3a 74 61 73 6b 25 3d 30 0d 1a 04 2a 42 61 72 |0:task%=0...*Bar| 000047b0 5f 57 69 6e 64 6f 77 25 3d 2d 32 3a 42 61 72 5f |_Window%=-2:Bar_| 000047c0 49 63 6f 6e 25 3d 30 3a 42 61 72 5f 4d 65 6e 75 |Icon%=0:Bar_Menu| 000047d0 25 3d 30 0d 1a 0e 2a 78 5f 6f 72 69 67 69 6e 25 |%=0...*x_origin%| 000047e0 3d 30 3a 79 5f 6f 72 69 67 69 6e 25 3d 30 3a 53 |=0:y_origin%=0:S| 000047f0 61 76 65 57 69 6e 64 6f 77 25 3d 2d 33 0d 1a 18 |aveWindow%=-3...| 00004800 33 6d 65 73 73 61 67 65 5f 71 75 69 74 25 3d 30 |3message_quit%=0| 00004810 3a 6d 65 73 73 61 67 65 5f 73 61 76 65 25 3d 32 |:message_save%=2| 00004820 3a 6d 65 73 73 61 67 65 5f 6c 6f 61 64 25 3d 33 |:message_load%=3| 00004830 0d 1a 22 21 6d 6f 75 73 65 5f 62 75 74 74 6f 6e |.."!mouse_button| 00004840 25 3d 32 3a 73 61 76 65 5f 65 76 65 6e 74 25 3d |%=2:save_event%=| 00004850 30 0d 1a 2c 20 74 6f 70 5f 6c 69 6e 65 25 3d 30 |0.., top_line%=0| 00004860 20 3a 20 62 6f 74 74 6f 6d 5f 6c 69 6e 65 25 3d | : bottom_line%=| 00004870 30 0d 1a 36 05 e1 0d 1a 40 05 3a 0d 1a 4a 22 dd |0..6....@.:..J".| 00004880 20 f2 57 69 6d 70 5f 45 72 72 6f 72 28 74 61 73 | .Wimp_Error(tas| 00004890 6b 25 2c 54 61 73 6b 4e 61 6d 65 24 29 0d 1a 54 |k%,TaskName$)..T| 000048a0 0a ea 58 24 2c 78 25 0d 1a 5e 09 ee 20 85 20 87 |..X$,x%..^.. . .| 000048b0 0d 1a 68 08 78 25 3d 9e 0d 1a 72 1b 58 24 3d f6 |..h.x%=...r.X$=.| 000048c0 24 2b 22 61 74 6c 69 6e 65 22 2b c3 28 78 25 81 |$+"atline"+.(x%.| 000048d0 31 30 29 0d 1a 7c 10 de 45 72 72 6f 72 4d 73 67 |10)..|..ErrorMsg| 000048e0 25 33 36 0d 1a 86 83 45 72 72 6f 72 4d 73 67 25 |%36....ErrorMsg%| 000048f0 21 30 3d 33 36 3a 45 72 72 6f 72 4d 73 67 25 21 |!0=36:ErrorMsg%!| 00004900 31 32 3d 30 3a 45 72 72 6f 72 4d 73 67 25 21 31 |12=0:ErrorMsg%!1| 00004910 36 3d 26 38 31 30 38 30 3a 45 72 72 6f 72 4d 73 |6=&81080:ErrorMs| 00004920 67 25 21 32 30 3d 78 25 3a 24 28 45 72 72 6f 72 |g%!20=x%:$(Error| 00004930 4d 73 67 25 2b 32 34 29 3d 22 21 52 75 6e 49 6d |Msg%+24)="!RunIm| 00004940 61 67 65 22 3a c8 99 22 57 69 6d 70 5f 53 65 6e |age":.."Wimp_Sen| 00004950 64 4d 65 73 73 61 67 65 22 2c 31 37 2c 45 72 72 |dMessage",17,Err| 00004960 6f 72 4d 73 67 25 0d 1a 90 23 f2 57 69 6d 70 5f |orMsg%...#.Wimp_| 00004970 57 69 6e 64 6f 77 41 6c 65 72 74 28 54 61 73 6b |WindowAlert(Task| 00004980 4e 61 6d 65 24 2c 58 24 29 0d 1a 9a 13 f2 57 69 |Name$,X$).....Wi| 00004990 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e 0d 1a a4 05 |mp_CloseDown....| 000049a0 e1 0d 1a ae 05 3a 0d 1a b8 15 dd 20 f2 57 69 6d |.....:..... .Wim| 000049b0 70 5f 43 6c 6f 73 65 44 6f 77 6e 0d 1a c2 23 c8 |p_CloseDown...#.| 000049c0 99 22 57 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e |."Wimp_CloseDown| 000049d0 22 2c 74 61 73 6b 25 2c 22 54 41 53 4b 22 0d 1a |",task%,"TASK"..| 000049e0 cc 05 e1 0d 1a d6 05 3a 0d 1a e0 10 dd 20 f2 57 |.......:..... .W| 000049f0 69 6d 70 5f 51 75 69 74 0d 1a ea 10 20 66 69 6e |imp_Quit.... fin| 00004a00 69 73 68 65 64 25 3d b9 0d 1a f4 05 e1 0d 1a fe |ished%=.........| 00004a10 05 3a 0d 1b 08 23 dd 20 a4 57 69 6d 70 5f 52 65 |.:...#. .Wimp_Re| 00004a20 61 64 56 61 72 69 61 62 6c 65 28 56 61 72 69 61 |adVariable(Varia| 00004a30 62 6c 65 24 29 0d 1b 12 1b ea 6c 65 6e 25 2c 72 |ble$).....len%,r| 00004a40 65 73 75 6c 74 25 2c 76 61 72 69 61 62 6c 65 25 |esult%,variable%| 00004a50 0d 1b 1c 14 24 77 69 6d 70 25 3d 56 61 72 69 61 |....$wimp%=Varia| 00004a60 62 6c 65 24 0d 1b 26 33 c8 99 22 4f 53 5f 52 65 |ble$..&3.."OS_Re| 00004a70 61 64 56 61 72 56 61 6c 22 2c 77 69 6d 70 25 2c |adVarVal",wimp%,| 00004a80 77 69 6d 70 25 2b 32 35 35 2c 32 35 35 2c 2c 33 |wimp%+255,255,,3| 00004a90 b8 2c 2c 6c 65 6e 25 0d 1b 30 17 77 69 6d 70 25 |.,,len%..0.wimp%| 00004aa0 3f 28 6c 65 6e 25 2b 32 35 35 29 3d 31 33 0d 1b |?(len%+255)=13..| 00004ab0 3a 11 3d 24 28 77 69 6d 70 25 2b 32 35 35 29 0d |:.=$(wimp%+255).| 00004ac0 1b 44 05 3a 0d 1b 4e 06 f4 7c 0d 1b 58 06 f4 7c |.D.:..N..|..X..|| 00004ad0 0d 1b 62 06 f4 7c 0d 1b 6c 06 f4 7c 0d 1b 76 29 |..b..|..l..|..v)| 00004ae0 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.| | 00004af0 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -----------| 00004b00 2d 2d 2d 2d 2d 0d 1b 80 27 f4 7c 20 20 20 20 20 |-----...'.| | 00004b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00004b20 57 69 6d 70 20 50 6f 6c 6c 69 6e 67 0d 1b 8a 29 |Wimp Polling...)| 00004b30 f4 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.| | 00004b40 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -----------| 00004b50 2d 2d 2d 2d 2d 0d 1b 94 06 f4 7c 0d 1b 9e 06 f4 |-----.....|.....| 00004b60 7c 0d 1b a8 05 3a 0d 1b b2 18 dd 20 f2 57 69 6d ||....:..... .Wim| 00004b70 70 5f 57 61 69 74 46 6f 72 45 76 65 6e 74 0d 1b |p_WaitForEvent..| 00004b80 bc 0f 66 69 6e 69 73 68 65 64 25 3d a3 0d 1b c6 |..finished%=....| 00004b90 17 6d 61 73 6b 25 3d 25 31 31 31 30 30 30 30 31 |.mask%=%11100001| 00004ba0 31 30 30 31 0d 1b d0 05 f5 0d 1b da 27 20 c8 99 |1001........' ..| 00004bb0 22 57 69 6d 70 5f 50 6f 6c 6c 22 2c 6d 61 73 6b |"Wimp_Poll",mask| 00004bc0 25 2c 77 69 6d 70 25 20 b8 20 65 76 65 6e 74 25 |%,wimp% . event%| 00004bd0 0d 1b e4 10 20 c8 8e 20 65 76 65 6e 74 25 20 ca |.... .. event% .| 00004be0 0d 1b ee 0a 20 20 c9 20 30 3a 0d 1b f8 2d 20 20 |.... . 0:...- | 00004bf0 c9 20 31 3a 20 c8 99 22 57 69 6d 70 5f 52 65 64 |. 1: .."Wimp_Red| 00004c00 72 61 77 57 69 6e 64 6f 77 22 2c 2c 77 69 6d 70 |rawWindow",,wimp| 00004c10 25 b8 6d 6f 72 65 25 0d 1c 02 2b 20 20 20 20 20 |%.more%...+ | 00004c20 20 20 20 20 20 78 5f 6f 72 69 67 69 6e 25 3d a4 | x_origin%=.| 00004c30 57 69 6d 70 5f 57 69 6e 64 6f 77 58 4f 72 69 67 |Wimp_WindowXOrig| 00004c40 69 6e 0d 1c 0c 2b 20 20 20 20 20 20 20 20 20 20 |in...+ | 00004c50 79 5f 6f 72 69 67 69 6e 25 3d a4 57 69 6d 70 5f |y_origin%=.Wimp_| 00004c60 57 69 6e 64 6f 77 59 4f 72 69 67 69 6e 0d 1c 16 |WindowYOrigin...| 00004c70 15 20 20 20 20 20 20 20 20 20 20 c8 95 6d 6f 72 |. ..mor| 00004c80 65 25 0d 1c 20 2d f4 20 20 20 20 20 20 20 20 20 |e%.. -. | 00004c90 20 20 53 59 53 22 57 69 6d 70 5f 42 6f 72 64 65 | SYS"Wimp_Borde| 00004ca0 72 57 69 6e 64 6f 77 22 2c 2c 77 69 6d 70 25 0d |rWindow",,wimp%.| 00004cb0 1c 2a 36 20 20 20 20 20 20 20 20 20 20 20 62 6f |.*6 bo| 00004cc0 74 74 6f 6d 5f 6c 69 6e 65 25 3d 28 34 37 2b 79 |ttom_line%=(47+y| 00004cd0 5f 6f 72 69 67 69 6e 25 2d 77 69 6d 70 25 21 33 |_origin%-wimp%!3| 00004ce0 32 29 81 33 32 0d 1c 34 30 20 20 20 20 20 20 20 |2).32..40 | 00004cf0 20 20 20 20 74 6f 70 5f 6c 69 6e 65 25 3d 28 79 | top_line%=(y| 00004d00 5f 6f 72 69 67 69 6e 25 2d 77 69 6d 70 25 21 34 |_origin%-wimp%!4| 00004d10 30 29 81 33 32 0d 1c 3e 2a 20 20 20 20 20 20 20 |0).32..>* | 00004d20 20 20 20 20 e7 20 74 6f 70 5f 6c 69 6e 65 25 3c | . top_line%<| 00004d30 30 20 8c 20 74 6f 70 5f 6c 69 6e 65 25 3d 30 0d |0 . top_line%=0.| 00004d40 1c 48 23 20 20 20 20 20 20 20 20 20 20 20 f2 45 |.H# .E| 00004d50 76 65 6e 74 5f 44 72 61 77 28 77 69 6d 70 25 21 |vent_Draw(wimp%!| 00004d60 30 29 0d 1c 52 23 20 20 20 20 20 20 20 20 20 20 |0)..R# | 00004d70 20 f2 45 76 65 6e 74 5f 44 72 61 77 28 77 69 6d | .Event_Draw(wim| 00004d80 70 25 21 30 29 0d 1c 5c 31 20 20 20 20 20 20 20 |p%!0)..\1 | 00004d90 20 20 20 20 c8 99 22 57 69 6d 70 5f 47 65 74 52 | .."Wimp_GetR| 00004da0 65 63 74 61 6e 67 6c 65 22 2c 2c 77 69 6d 70 25 |ectangle",,wimp%| 00004db0 b8 6d 6f 72 65 25 0d 1c 66 0f 20 20 20 20 20 20 |.more%..f. | 00004dc0 20 20 20 20 ce 0d 1c 70 26 20 20 c9 32 20 3a 20 | ...p& .2 : | 00004dd0 c8 99 20 22 57 69 6d 70 5f 4f 70 65 6e 57 69 6e |.. "Wimp_OpenWin| 00004de0 64 6f 77 22 2c 2c 77 69 6d 70 25 0d 1c 7a 25 20 |dow",,wimp%..z% | 00004df0 20 c9 33 20 3a 20 f2 45 76 65 6e 74 5f 57 69 6e | .3 : .Event_Win| 00004e00 64 6f 77 43 6c 6f 73 65 28 21 77 69 6d 70 25 29 |dowClose(!wimp%)| 00004e10 0d 1c 84 27 20 20 20 20 20 20 20 20 20 20 f2 57 |...' .W| 00004e20 69 6d 70 5f 57 69 6e 64 6f 77 43 6c 6f 73 65 28 |imp_WindowClose(| 00004e30 21 77 69 6d 70 25 29 0d 1c 8e 0a 20 20 c9 34 20 |!wimp%).... .4 | 00004e40 3a 0d 1c 98 0a 20 20 c9 35 20 3a 0d 1c a2 39 20 |:.... .5 :...9 | 00004e50 20 c9 36 20 3a 62 75 74 74 6f 6e 25 3d 77 69 6d | .6 :button%=wim| 00004e60 70 25 21 38 3a 77 69 6e 64 6f 77 25 3d 77 69 6d |p%!8:window%=wim| 00004e70 70 25 21 31 32 3a 69 63 6f 6e 25 3d 77 69 6d 70 |p%!12:icon%=wimp| 00004e80 25 21 31 36 0d 1c ac 22 20 20 20 20 20 20 20 20 |%!16..." | 00004e90 20 78 25 3d 77 69 6d 70 25 21 30 3a 79 25 3d 77 | x%=wimp%!0:y%=w| 00004ea0 69 6d 70 25 21 34 0d 1c b6 19 20 20 20 20 20 20 |imp%!4.... | 00004eb0 20 20 20 c8 8e 20 62 75 74 74 6f 6e 25 20 ca 0d | .. button% ..| 00004ec0 1c c0 34 20 20 20 20 20 20 20 20 20 20 c9 32 20 |..4 .2 | 00004ed0 20 20 20 3a f2 45 76 65 6e 74 5f 50 6f 70 55 70 | :.Event_PopUp| 00004ee0 4d 65 6e 75 28 77 69 6e 64 6f 77 25 2c 78 25 2c |Menu(window%,x%,| 00004ef0 79 25 29 0d 1c ca 10 20 20 20 20 20 20 20 20 20 |y%).... | 00004f00 20 7f 3a 0d 1c d4 27 20 20 20 20 20 20 20 20 20 | .:...' | 00004f10 20 c8 8e 20 a4 45 76 65 6e 74 5f 53 61 76 65 28 | .. .Event_Save(| 00004f20 77 69 6e 64 6f 77 25 29 20 ca 0d 1c de 12 20 20 |window%) ..... | 00004f30 20 20 20 20 20 20 20 20 20 c9 20 b9 0d 1c e8 1a | . .....| 00004f40 20 20 20 20 20 20 20 20 20 20 20 20 c8 8e 20 69 | .. i| 00004f50 63 6f 6e 25 20 ca 0d 1c f2 16 20 20 20 20 20 20 |con% ..... | 00004f60 20 20 20 20 20 20 20 c9 20 30 20 3a 0d 1c fc 3e | . 0 :...>| 00004f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e7 20 | . | 00004f80 62 75 74 74 6f 6e 25 20 80 20 26 35 30 20 8c 20 |button% . &50 . | 00004f90 f2 57 69 6d 70 50 6f 6c 6c 5f 44 72 61 67 42 6f |.WimpPoll_DragBo| 00004fa0 78 28 77 69 6e 64 6f 77 25 29 0d 1d 06 16 20 20 |x(window%).... | 00004fb0 20 20 20 20 20 20 20 20 20 20 20 c9 20 32 20 3a | . 2 :| 00004fc0 0d 1d 10 3e 20 20 20 20 20 20 20 20 20 20 20 20 |...> | 00004fd0 20 20 e7 20 62 75 74 74 6f 6e 25 20 80 20 35 20 | . button% . 5 | 00004fe0 8c 20 20 f2 57 69 6d 70 50 6f 6c 6c 5f 53 61 76 |. .WimpPoll_Sav| 00004ff0 65 46 69 6c 65 28 77 69 6e 64 6f 77 25 29 0d 1d |eFile(window%)..| 00005000 1a 11 20 20 20 20 20 20 20 20 20 20 20 20 cb 0d |.. ..| 00005010 1d 24 12 20 20 20 20 20 20 20 20 20 20 20 c9 20 |.$. . | 00005020 a3 0d 1d 2e 2c f4 20 20 20 20 20 20 20 20 20 20 |....,. | 00005030 20 20 53 59 53 22 57 69 6d 70 5f 42 6f 72 64 65 | SYS"Wimp_Borde| 00005040 72 49 63 6f 6e 22 2c 2c 77 69 6d 70 25 0d 1d 38 |rIcon",,wimp%..8| 00005050 3e 20 20 20 20 20 20 20 20 20 20 20 20 f2 45 76 |> .Ev| 00005060 65 6e 74 5f 4d 6f 75 73 65 43 6c 69 63 6b 28 62 |ent_MouseClick(b| 00005070 75 74 74 6f 6e 25 2c 77 69 6e 64 6f 77 25 2c 69 |utton%,window%,i| 00005080 63 6f 6e 25 2c 78 25 2c 79 25 29 0d 1d 42 1a f4 |con%,x%,y%)..B..| 00005090 20 20 20 20 20 20 20 20 20 20 20 20 77 69 6d 70 | wimp| 000050a0 25 21 38 3d 30 0d 1d 4c 2c f4 20 20 20 20 20 20 |%!8=0..L,. | 000050b0 20 20 20 20 20 20 53 59 53 22 57 69 6d 70 5f 42 | SYS"Wimp_B| 000050c0 6f 72 64 65 72 49 63 6f 6e 22 2c 2c 77 69 6d 70 |orderIcon",,wimp| 000050d0 25 0d 1d 56 0f 20 20 20 20 20 20 20 20 20 20 cb |%..V. .| 000050e0 0d 1d 60 0e 20 20 20 20 20 20 20 20 20 cb 0d 1d |..`. ...| 000050f0 6a 1f 20 20 c9 37 20 3a f2 57 69 6d 70 50 6f 6c |j. .7 :.WimpPol| 00005100 6c 5f 53 61 76 65 4d 65 73 73 61 67 65 0d 1d 74 |l_SaveMessage..t| 00005110 35 20 20 c9 38 20 3a 77 69 6e 64 6f 77 25 3d 77 |5 .8 :window%=w| 00005120 69 6d 70 25 21 30 3a 69 63 6f 6e 25 3d 77 69 6d |imp%!0:icon%=wim| 00005130 70 25 21 34 3a 6b 65 79 25 3d 77 69 6d 70 25 21 |p%!4:key%=wimp%!| 00005140 32 34 0d 1d 7e 26 20 20 20 20 20 20 20 20 20 c8 |24..~& .| 00005150 8e 20 a4 45 76 65 6e 74 5f 53 61 76 65 28 77 69 |. .Event_Save(wi| 00005160 6e 64 6f 77 25 29 20 ca 0d 1d 88 2f 20 20 20 20 |ndow%) ..../ | 00005170 20 20 20 20 20 20 c9 20 b9 20 3a 20 f2 57 69 6d | . . : .Wim| 00005180 70 50 6f 6c 6c 5f 53 61 76 65 46 69 6c 65 28 77 |pPoll_SaveFile(w| 00005190 69 6e 64 6f 77 25 29 0d 1d 92 36 20 20 20 20 20 |indow%)...6 | 000051a0 20 20 20 20 20 c9 20 a3 3a 20 f2 45 76 65 6e 74 | . .: .Event| 000051b0 5f 4b 65 79 50 72 65 73 73 28 77 69 6e 64 6f 77 |_KeyPress(window| 000051c0 25 2c 69 63 6f 6e 25 2c 6b 65 79 25 29 0d 1d 9c |%,icon%,key%)...| 000051d0 0e 20 20 20 20 20 20 20 20 20 cb 0d 1d a6 22 20 |. ...." | 000051e0 20 c9 39 20 3a f2 45 76 65 6e 74 5f 4d 65 6e 75 | .9 :.Event_Menu| 000051f0 43 68 6f 69 63 65 28 6d 65 6e 75 25 29 0d 1d b0 |Choice(menu%)...| 00005200 0a 20 20 c9 31 30 3a 0d 1d ba 0a 20 20 c9 31 31 |. .10:.... .11| 00005210 3a 0d 1d c4 0a 20 20 c9 31 32 3a 0d 1d ce 18 20 |:.... .12:.... | 00005220 20 c9 31 37 2c 31 38 3a 20 f4 20 6d 65 73 73 61 | .17,18: . messa| 00005230 67 65 73 0d 1d d8 15 20 20 20 20 c8 8e 20 77 69 |ges.... .. wi| 00005240 6d 70 25 21 31 36 20 ca 0d 1d e2 18 20 20 20 20 |mp%!16 ..... | 00005250 20 c9 20 30 3a 66 69 6e 69 73 68 65 64 25 3d b9 | . 0:finished%=.| 00005260 0d 1d ec 0e 20 20 20 20 20 c9 20 31 20 3a 0d 1d |.... . 1 :..| 00005270 f6 0e 20 20 20 20 20 c9 20 32 20 3a 0d 1e 00 33 |.. . 2 :...3| 00005280 20 20 20 20 20 20 20 66 69 6c 65 24 3d a4 57 69 | file$=.Wi| 00005290 6d 70 5f 47 65 74 53 74 72 69 6e 67 41 74 41 64 |mp_GetStringAtAd| 000052a0 64 72 65 73 73 28 77 69 6d 70 25 2b 34 34 29 0d |dress(wimp%+44).| 000052b0 1e 0a 2b 20 20 20 20 20 20 20 f2 57 69 6d 70 5f |..+ .Wimp_| 000052c0 49 63 6f 6e 50 75 74 54 65 78 74 28 73 61 76 65 |IconPutText(save| 000052d0 25 2c 31 2c 66 69 6c 65 24 29 0d 1e 14 2a 20 20 |%,1,file$)...* | 000052e0 20 20 20 20 20 f2 57 69 6d 70 5f 49 63 6f 6e 43 | .Wimp_IconC| 000052f0 61 72 65 74 28 73 61 76 65 25 2c 31 2c a9 66 69 |aret(save%,1,.fi| 00005300 6c 65 24 29 0d 1e 1e 27 20 20 20 20 20 20 20 f2 |le$)...' .| 00005310 45 76 65 6e 74 5f 53 61 76 65 46 69 6c 65 28 66 |Event_SaveFile(f| 00005320 69 6c 65 24 2c 73 61 76 65 25 29 0d 1e 28 0c 20 |ile$,save%)..(. | 00005330 20 20 20 20 c9 20 33 0d 1e 32 55 20 20 20 20 20 | . 3..2U | 00005340 f2 45 76 65 6e 74 5f 4c 6f 61 64 46 69 6c 65 28 |.Event_LoadFile(| 00005350 a4 57 69 6d 70 5f 47 65 74 53 74 72 69 6e 67 41 |.Wimp_GetStringA| 00005360 74 41 64 64 72 65 73 73 28 77 69 6d 70 25 2b 34 |tAddress(wimp%+4| 00005370 34 29 2c a4 57 69 6d 70 5f 46 69 6c 65 54 79 70 |4),.Wimp_FileTyp| 00005380 65 28 77 69 6d 70 25 21 34 30 29 29 0d 1e 3c 09 |e(wimp%!40))..<.| 00005390 20 20 20 20 cb 0d 1e 46 0a 20 20 c9 31 39 3a 0d | ...F. .19:.| 000053a0 1e 50 06 20 cb 0d 1e 5a 0e fd 66 69 6e 69 73 68 |.P. ...Z..finish| 000053b0 65 64 25 0d 1e 64 05 e1 0d 1e 6e 05 3a 0d 1e 78 |ed%..d....n.:..x| 000053c0 21 dd 20 f2 57 69 6d 70 50 6f 6c 6c 5f 53 61 76 |!. .WimpPoll_Sav| 000053d0 65 46 69 6c 65 28 77 69 6e 64 6f 77 25 29 0d 1e |eFile(window%)..| 000053e0 82 07 ea 78 24 0d 1e 8c 21 20 78 24 3d a4 57 69 |...x$...! x$=.Wi| 000053f0 6d 70 5f 49 63 6f 6e 54 65 78 74 28 77 69 6e 64 |mp_IconText(wind| 00005400 6f 77 25 2c 31 29 0d 1e 96 12 20 c8 8e 20 a7 78 |ow%,1).... .. .x| 00005410 24 2c 22 2e 22 29 20 ca 0d 1e a0 0d 20 20 c9 20 |$,".") ..... . | 00005420 30 20 20 20 3a 0d 1e aa 4e 20 20 20 f2 57 69 6d |0 :...N .Wim| 00005430 70 5f 57 69 6e 64 6f 77 41 6c 65 72 74 28 54 61 |p_WindowAlert(Ta| 00005440 73 6b 24 2c 22 54 6f 20 73 61 76 65 2c 20 64 72 |sk$,"To save, dr| 00005450 61 67 20 74 68 65 20 69 63 6f 6e 20 74 6f 20 61 |ag the icon to a| 00005460 20 64 69 72 65 63 74 6f 72 79 20 77 69 6e 64 6f | directory windo| 00005470 77 22 29 0d 1e b4 24 20 20 7f 3a 20 f2 45 76 65 |w")...$ .: .Eve| 00005480 6e 74 5f 53 61 76 65 46 69 6c 65 28 78 24 2c 77 |nt_SaveFile(x$,w| 00005490 69 6e 64 6f 77 25 29 0d 1e be 06 20 cb 0d 1e c8 |indow%).... ....| 000054a0 1b 20 c8 99 22 57 69 6d 70 5f 43 72 65 61 74 65 |. .."Wimp_Create| 000054b0 4d 65 6e 75 22 2c 2d 31 0d 1e d2 05 e1 0d 1e dc |Menu",-1........| 000054c0 05 3a 0d 1e e6 20 dd 20 f2 57 69 6d 70 50 6f 6c |.:... . .WimpPol| 000054d0 6c 5f 44 72 61 67 42 6f 78 28 77 69 6e 64 6f 77 |l_DragBox(window| 000054e0 25 29 0d 1e f0 0a ea 78 25 2c 79 25 0d 1e fa 12 |%).....x%,y%....| 000054f0 20 73 61 76 65 25 3d 77 69 6e 64 6f 77 25 0d 1f | save%=window%..| 00005500 04 13 20 21 77 69 6d 70 25 3d 77 69 6e 64 6f 77 |.. !wimp%=window| 00005510 25 0d 1f 0e 23 20 c8 99 22 57 69 6d 70 5f 47 65 |%...# .."Wimp_Ge| 00005520 74 57 69 6e 64 6f 77 53 74 61 74 65 22 2c 2c 77 |tWindowState",,w| 00005530 69 6d 70 25 0d 1f 18 2d 20 78 25 3d 77 69 6d 70 |imp%...- x%=wimp| 00005540 25 21 34 2d 77 69 6d 70 25 21 32 30 3a 79 25 3d |%!4-wimp%!20:y%=| 00005550 77 69 6d 70 25 21 31 36 2d 77 69 6d 70 25 21 32 |wimp%!16-wimp%!2| 00005560 34 0d 1f 22 0e 20 77 69 6d 70 25 21 34 3d 30 0d |4..". wimp%!4=0.| 00005570 1f 2c 21 20 c8 99 22 57 69 6d 70 5f 47 65 74 49 |.,! .."Wimp_GetI| 00005580 63 6f 6e 53 74 61 74 65 22 2c 2c 77 69 6d 70 25 |conState",,wimp%| 00005590 0d 1f 36 13 20 21 77 69 6d 70 25 3d 77 69 6e 64 |..6. !wimp%=wind| 000055a0 6f 77 25 0d 1f 40 0e 20 77 69 6d 70 25 21 34 3d |ow%..@. wimp%!4=| 000055b0 35 0d 1f 4a 2c 20 77 69 6d 70 25 21 38 3d 78 25 |5..J, wimp%!8=x%| 000055c0 2b 77 69 6d 70 25 21 38 3a 77 69 6d 70 25 21 31 |+wimp%!8:wimp%!1| 000055d0 32 3d 79 25 2b 77 69 6d 70 25 21 31 32 0d 1f 54 |2=y%+wimp%!12..T| 000055e0 2e 20 77 69 6d 70 25 21 31 36 3d 78 25 2b 77 69 |. wimp%!16=x%+wi| 000055f0 6d 70 25 21 31 36 3a 77 69 6d 70 25 21 32 30 3d |mp%!16:wimp%!20=| 00005600 79 25 2b 77 69 6d 70 25 21 32 30 0d 1f 5e 1a 20 |y%+wimp%!20..^. | 00005610 77 69 6d 70 25 21 32 34 3d 30 3a 77 69 6d 70 25 |wimp%!24=0:wimp%| 00005620 21 32 38 3d 30 0d 1f 68 2a 20 77 69 6d 70 25 21 |!28=0..h* wimp%!| 00005630 33 32 3d 26 37 46 46 46 46 46 46 46 3a 77 69 6d |32=&7FFFFFFF:wim| 00005640 70 25 21 33 36 3d 26 37 46 46 46 46 46 46 46 0d |p%!36=&7FFFFFFF.| 00005650 1f 72 1c 20 c8 99 22 57 69 6d 70 5f 44 72 61 67 |.r. .."Wimp_Drag| 00005660 42 6f 78 22 2c 2c 77 69 6d 70 25 0d 1f 7c 05 e1 |Box",,wimp%..|..| 00005670 0d 1f 86 05 3a 0d 1f 90 1b dd 20 f2 57 69 6d 70 |....:..... .Wimp| 00005680 50 6f 6c 6c 5f 53 61 76 65 4d 65 73 73 61 67 65 |Poll_SaveMessage| 00005690 0d 1f 9a 1f ea 20 66 69 6c 65 24 2c 77 69 6e 64 |..... file$,wind| 000056a0 6f 77 25 2c 69 63 6f 6e 25 2c 78 25 2c 79 25 0d |ow%,icon%,x%,y%.| 000056b0 1f a4 23 20 c8 99 22 57 69 6d 70 5f 47 65 74 50 |..# .."Wimp_GetP| 000056c0 6f 69 6e 74 65 72 49 6e 66 6f 22 2c 2c 77 69 6d |ointerInfo",,wim| 000056d0 70 25 0d 1f ae 3a 20 77 69 6e 64 6f 77 25 3d 77 |p%...: window%=w| 000056e0 69 6d 70 25 21 31 32 3a 69 63 6f 6e 25 3d 77 69 |imp%!12:icon%=wi| 000056f0 6d 70 25 21 31 36 3a 78 25 3d 77 69 6d 70 25 21 |mp%!16:x%=wimp%!| 00005700 30 3a 79 25 3d 77 69 6d 70 25 21 34 0d 1f b8 3d |0:y%=wimp%!4...=| 00005710 20 66 69 6c 65 24 3d a4 57 69 6d 70 5f 47 65 74 | file$=.Wimp_Get| 00005720 46 69 6c 65 46 72 6f 6d 50 61 74 68 6e 61 6d 65 |FileFromPathname| 00005730 28 a4 57 69 6d 70 5f 49 63 6f 6e 54 65 78 74 28 |(.Wimp_IconText(| 00005740 73 61 76 65 25 2c 31 29 29 0d 1f c2 15 20 77 69 |save%,1)).... wi| 00005750 6d 70 25 21 32 30 3d 77 69 6e 64 6f 77 25 0d 1f |mp%!20=window%..| 00005760 cc 13 20 77 69 6d 70 25 21 32 34 3d 69 63 6f 6e |.. wimp%!24=icon| 00005770 25 0d 1f d6 1c 20 77 69 6d 70 25 21 32 38 3d 78 |%.... wimp%!28=x| 00005780 25 3a 77 69 6d 70 25 21 33 32 3d 79 25 0d 1f e0 |%:wimp%!32=y%...| 00005790 15 20 77 69 6d 70 25 21 33 36 3d 6c 65 6e 67 74 |. wimp%!36=lengt| 000057a0 68 25 0d 1f ea 0f 20 77 69 6d 70 25 21 30 3d 36 |h%.... wimp%!0=6| 000057b0 34 0d 1f f4 0f 20 77 69 6d 70 25 21 31 32 3d 30 |4.... wimp%!12=0| 000057c0 0d 1f fe 0f 20 77 69 6d 70 25 21 31 36 3d 31 0d |.... wimp%!16=1.| 000057d0 20 08 12 20 77 69 6d 70 25 21 34 30 3d 26 46 46 | .. wimp%!40=&FF| 000057e0 46 0d 20 12 16 20 24 28 77 69 6d 70 25 2b 34 34 |F. .. $(wimp%+44| 000057f0 29 3d 66 69 6c 65 24 0d 20 1c 34 20 c8 99 22 57 |)=file$. .4 .."W| 00005800 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 22 |imp_SendMessage"| 00005810 2c 31 37 2c 77 69 6d 70 25 2c 77 69 6d 70 25 21 |,17,wimp%,wimp%!| 00005820 32 30 2c 77 69 6d 70 25 21 32 34 0d 20 26 05 e1 |20,wimp%!24. &..| 00005830 0d 20 30 05 3a 0d ff |. 0.:..| 00005837