home *** CD-ROM | disk | FTP | other *** search
Unknown | 1993-03-14 | 10.7 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was not able to be converted.
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| file
| data
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 00 01 10 2a 7c 73 74 | 61 72 74 20 4d 65 6e 75 |....*|st|art Menu|
|00000010| 0d 00 02 13 2a 7c 21 4d | 65 6e 75 20 4c 69 62 72 |....*|!M|enu Libr|
|00000020| 61 72 79 0d 00 03 07 2a | 7c 21 0d 00 04 34 2a 7c |ary....*||!...4*||
|00000030| 21 56 65 72 73 69 6f 6e | 20 31 2e 32 30 20 2d 20 |!Version| 1.20 - |
|00000040| 28 43 29 20 49 61 6e 20 | 50 61 6c 6d 65 72 2c 20 |(C) Ian |Palmer, |
|00000050| 31 73 74 20 4d 61 72 63 | 68 20 31 39 39 33 0d 00 |1st Marc|h 1993..|
|00000060| 05 07 2a 7c 21 0d 00 06 | 3d 2a 7c 21 54 68 69 73 |..*|!...|=*|!This|
|00000070| 20 6c 69 62 72 61 72 79 | 20 63 6f 6e 74 61 69 6e | library| contain|
|00000080| 73 20 72 6f 75 74 69 6e | 65 73 20 66 6f 72 20 62 |s routin|es for b|
|00000090| 75 69 6c 64 69 6e 67 20 | 6d 65 6e 75 73 2e 20 54 |uilding |menus. T|
|000000a0| 77 6f 0d 00 07 3f 2a 7c | 21 6d 65 74 68 6f 64 73 |wo...?*||!methods|
|000000b0| 20 61 72 65 20 73 75 70 | 70 6c 69 65 64 2c 20 6f | are sup|plied, o|
|000000c0| 6e 65 20 28 50 52 4f 43 | 6d 65 6e 75 5f 6d 61 6b |ne (PROC|menu_mak|
|000000d0| 65 6d 65 6e 75 29 20 77 | 6f 72 6b 73 20 66 72 6f |emenu) w|orks fro|
|000000e0| 6d 0d 00 08 3f 2a 7c 21 | 61 6e 20 61 72 72 61 79 |m...?*|!|an array|
|000000f0| 20 6f 66 20 6d 65 6e 75 | 20 69 74 65 6d 73 2c 20 | of menu| items, |
|00000100| 74 68 65 20 6f 74 68 65 | 72 20 75 73 65 64 73 20 |the othe|r useds |
|00000110| 73 65 76 65 72 61 6c 20 | 72 6f 75 74 69 6e 65 73 |several |routines|
|00000120| 0d 00 09 42 2a 7c 21 74 | 6f 20 62 75 69 6c 64 20 |...B*|!t|o build |
|00000130| 75 70 20 74 68 65 20 6d | 65 6e 75 20 73 74 61 67 |up the m|enu stag|
|00000140| 65 20 62 79 20 73 74 61 | 67 65 2e 20 41 6c 6c 20 |e by sta|ge. All |
|00000150| 6d 65 6e 75 73 20 61 72 | 65 20 61 73 73 69 67 6e |menus ar|e assign|
|00000160| 65 64 0d 00 0a 30 2a 7c | 21 61 20 6e 75 6d 62 65 |ed...0*||!a numbe|
|00000170| 72 20 28 30 20 75 70 77 | 61 72 64 73 29 20 74 6f |r (0 upw|ards) to|
|00000180| 20 6d 61 6b 65 20 6c 69 | 66 65 20 65 61 73 69 65 | make li|fe easie|
|00000190| 72 2e 0d 00 0b 04 0d 00 | 0c 0f 2a 7c 73 74 6f 70 |r.......|..*|stop|
|000001a0| 20 4d 65 6e 75 0d 00 0d | 19 2a 7c 73 74 61 72 74 | Menu...|.*|start|
|000001b0| 20 50 52 4f 43 6d 65 6e | 75 5f 69 6e 69 74 0d 00 | PROCmen|u_init..|
|000001c0| 0e 1e 2a 7c 21 50 52 4f | 43 6d 65 6e 75 5f 69 6e |..*|!PRO|Cmenu_in|
|000001d0| 69 74 28 20 6e 75 6d 62 | 65 72 20 29 0d 00 0f 07 |it( numb|er )....|
|000001e0| 2a 7c 21 0d 00 10 3a 2a | 7c 21 49 6e 69 74 69 61 |*|!...:*||!Initia|
|000001f0| 6c 69 73 65 73 20 74 68 | 65 20 6d 65 6e 75 20 72 |lises th|e menu r|
|00000200| 6f 75 74 69 6e 65 73 2e | 20 4d 75 73 74 20 62 65 |outines.| Must be|
|00000210| 20 63 61 6c 6c 65 64 20 | 61 66 74 65 72 0d 00 11 | called |after...|
|00000220| 40 2a 7c 21 69 6e 69 74 | 69 61 6c 69 73 61 74 69 |@*|!init|ialisati|
|00000230| 6f 6e 20 6f 66 20 74 68 | 65 20 64 79 6e 61 6d 69 |on of th|e dynami|
|00000240| 63 20 6d 65 6d 6f 72 79 | 20 6c 69 62 72 61 72 79 |c memory| library|
|00000250| 2e 20 53 65 74 73 20 75 | 70 20 74 68 65 0d 00 12 |. Sets u|p the...|
|00000260| 43 2a 7c 21 67 69 76 65 | 6e 20 27 6e 75 6d 62 65 |C*|!give|n 'numbe|
|00000270| 72 27 20 6f 66 20 6d 65 | 6e 75 73 2c 20 74 68 69 |r' of me|nus, thi|
|00000280| 73 20 6e 75 6d 62 65 72 | 20 63 61 6e 20 62 65 20 |s number| can be |
|00000290| 63 68 61 6e 67 65 64 20 | 6c 61 74 65 72 20 69 66 |changed |later if|
|000002a0| 0d 00 13 46 2a 7c 21 6d | 6f 72 65 20 61 72 65 20 |...F*|!m|ore are |
|000002b0| 72 65 71 75 69 72 65 64 | 2e 20 49 6e 20 74 68 69 |required|. In thi|
|000002c0| 73 20 6c 69 62 72 61 72 | 79 20 61 6c 6c 20 6d 65 |s librar|y all me|
|000002d0| 6e 75 73 20 61 72 65 20 | 67 69 76 65 6e 20 61 20 |nus are |given a |
|000002e0| 6e 75 6d 62 65 72 0d 00 | 14 1a 2a 7c 21 66 72 6f |number..|..*|!fro|
|000002f0| 6d 20 30 20 74 6f 20 6e | 75 6d 62 65 72 2d 31 2e |m 0 to n|umber-1.|
|00000300| 0d 00 15 13 dd f2 6d 65 | 6e 75 5f 69 6e 69 74 28 |......me|nu_init(|
|00000310| 4e 25 29 0d 00 16 08 ea | 20 41 25 0d 00 17 3b 6d |N%).....| A%...;m|
|00000320| 65 6e 75 5f 74 69 63 6b | 3d 31 3a 6d 65 6e 75 5f |enu_tick|=1:menu_|
|00000330| 64 6f 74 74 65 64 3d 32 | 3a 5f 77 69 6d 70 5f 6d |dotted=2|:_wimp_m|
|00000340| 65 6e 75 25 3d a4 6d 61 | 6c 6c 6f 63 28 28 4e 25 |enu%=.ma|lloc((N%|
|00000350| 2b 31 29 2a 34 29 0d 00 | 18 32 5f 77 69 6d 70 5f |+1)*4)..|.2_wimp_|
|00000360| 6f 6c 64 6d 65 6e 75 25 | 3d 30 3a 5f 77 69 6d 70 |oldmenu%|=0:_wimp|
|00000370| 5f 6f 6c 64 6d 78 25 3d | 30 3a 5f 77 69 6d 70 5f |_oldmx%=|0:_wimp_|
|00000380| 6f 6c 64 6d 79 25 3d 30 | 0d 00 19 37 21 5f 77 69 |oldmy%=0|...7!_wi|
|00000390| 6d 70 5f 6d 65 6e 75 25 | 3d 4e 25 3a e3 20 41 25 |mp_menu%|=N%:. A%|
|000003a0| 3d 31 20 b8 20 4e 25 3a | 21 28 5f 77 69 6d 70 5f |=1 . N%:|!(_wimp_|
|000003b0| 6d 65 6e 75 25 2b 34 2a | 41 25 29 3d 30 3a ed 0d |menu%+4*|A%)=0:..|
|000003c0| 00 1a 05 e1 0d 00 1b 04 | 0d 00 1c 18 2a 7c 73 74 |........|....*|st|
|000003d0| 6f 70 20 50 52 4f 43 6d | 65 6e 75 5f 69 6e 69 74 |op PROCm|enu_init|
|000003e0| 0d 00 1d 1b 2a 7c 73 74 | 61 72 74 20 50 52 4f 43 |....*|st|art PROC|
|000003f0| 6d 65 6e 75 5f 72 65 73 | 69 7a 65 0d 00 1e 20 2a |menu_res|ize... *|
|00000400| 7c 21 50 52 4f 43 6d 65 | 6e 75 5f 72 65 73 69 7a ||!PROCme|nu_resiz|
|00000410| 65 28 20 6e 75 6d 62 65 | 72 20 29 0d 00 1f 07 2a |e( numbe|r )....*|
|00000420| 7c 21 0d 00 20 3f 2a 7c | 21 54 68 69 73 20 73 68 ||!.. ?*||!This sh|
|00000430| 6f 75 6c 64 20 62 65 20 | 63 61 6c 6c 65 64 20 69 |ould be |called i|
|00000440| 66 20 79 6f 75 20 72 65 | 71 75 69 72 65 20 6d 6f |f you re|quire mo|
|00000450| 72 65 20 6d 65 6e 75 73 | 20 74 68 61 6e 20 79 6f |re menus| than yo|
|00000460| 75 0d 00 21 42 2a 7c 21 | 64 65 63 6c 61 72 65 64 |u..!B*|!|declared|
|00000470| 20 61 74 20 74 68 65 20 | 6d 65 6e 75 5f 69 6e 69 | at the |menu_ini|
|00000480| 74 20 73 74 61 67 65 2e | 20 54 68 65 20 27 6e 75 |t stage.| The 'nu|
|00000490| 6d 62 65 72 27 20 73 68 | 6f 75 6c 64 20 62 65 20 |mber' sh|ould be |
|000004a0| 74 68 65 0d 00 22 1b 2a | 7c 21 6e 65 77 20 6e 75 |the..".*||!new nu|
|000004b0| 6d 62 65 72 20 72 65 71 | 75 69 72 65 64 2e 0d 00 |mber req|uired...|
|000004c0| 23 15 dd f2 6d 65 6e 75 | 5f 72 65 73 69 7a 65 28 |#...menu|_resize(|
|000004d0| 4e 25 29 0d 00 24 28 ea | 20 41 25 2c 42 25 3a 42 |N%)..$(.| A%,B%:B|
|000004e0| 25 3d 21 5f 77 69 6d 70 | 5f 6d 65 6e 75 25 3a e7 |%=!_wimp|_menu%:.|
|000004f0| 20 4e 25 3c 3d 42 25 20 | 8c 20 e1 0d 00 25 22 f2 | N%<=B% |. ...%".|
|00000500| 72 65 61 6c 6c 6f 63 28 | 5f 77 69 6d 70 5f 6d 65 |realloc(|_wimp_me|
|00000510| 6e 75 25 2c 28 4e 25 2b | 31 29 2a 34 29 0d 00 26 |nu%,(N%+|1)*4)..&|
|00000520| 2a e3 20 41 25 3d 42 25 | 2b 31 20 b8 20 4e 25 3a |*. A%=B%|+1 . N%:|
|00000530| 21 28 5f 77 69 6d 70 5f | 6d 65 6e 75 25 2b 34 2a |!(_wimp_|menu%+4*|
|00000540| 41 25 29 3d 30 3a ed 0d | 00 27 05 e1 0d 00 28 04 |A%)=0:..|.'....(.|
|00000550| 0d 00 29 1a 2a 7c 73 74 | 6f 70 20 50 52 4f 43 6d |..).*|st|op PROCm|
|00000560| 65 6e 75 5f 72 65 73 69 | 7a 65 0d 00 2a 1b 2a 7c |enu_resi|ze..*.*||
|00000570| 73 74 61 72 74 20 46 4e | 6d 65 6e 75 5f 6c 61 73 |start FN|menu_las|
|00000580| 74 6d 65 6e 75 0d 00 2b | 16 2a 7c 21 46 4e 6d 65 |tmenu..+|.*|!FNme|
|00000590| 6e 75 5f 6c 61 73 74 6d | 65 6e 75 0d 00 2c 07 2a |nu_lastm|enu..,.*|
|000005a0| 7c 21 0d 00 2d 39 2a 7c | 21 52 65 74 75 72 6e 73 ||!..-9*||!Returns|
|000005b0| 20 74 68 65 20 6d 65 6e | 75 20 6e 75 6d 62 65 72 | the men|u number|
|000005c0| 20 6f 66 20 74 68 65 20 | 6c 61 73 74 20 6d 65 6e | of the |last men|
|000005d0| 75 20 70 61 73 73 65 64 | 20 74 6f 0d 00 2e 3e 2a |u passed| to...>*|
|000005e0| 7c 21 50 52 4f 43 6d 65 | 6e 75 5f 70 6f 70 75 70 ||!PROCme|nu_popup|
|000005f0| 2e 20 55 73 65 66 75 6c | 20 66 6f 72 20 61 20 67 |. Useful| for a g|
|00000600| 65 6e 65 72 61 6c 20 77 | 69 6d 70 5f 6d 65 6e 75 |eneral w|imp_menu|
|00000610| 73 65 6c 65 63 74 69 6f | 6e 0d 00 2f 33 2a 7c 21 |selectio|n../3*|!|
|00000620| 72 6f 75 74 69 6e 65 20 | 66 6f 72 20 66 69 6e 64 |routine |for find|
|00000630| 69 6e 67 20 6f 75 74 20 | 77 68 69 63 68 20 6d 65 |ing out |which me|
|00000640| 6e 75 20 77 61 73 20 75 | 73 65 64 2e 0d 00 30 13 |nu was u|sed...0.|
|00000650| dd a4 6d 65 6e 75 5f 6c | 61 73 74 6d 65 6e 75 0d |..menu_l|astmenu.|
|00000660| 00 31 13 3d 5f 77 69 6d | 70 5f 6f 6c 64 6d 65 6e |.1.=_wim|p_oldmen|
|00000670| 75 25 0d 00 32 04 0d 00 | 33 1a 2a 7c 73 74 6f 70 |u%..2...|3.*|stop|
|00000680| 20 46 4e 6d 65 6e 75 5f | 6c 61 73 74 6d 65 6e 75 | FNmenu_|lastmenu|
|00000690| 0d 00 34 1d 2a 7c 73 74 | 61 72 74 20 50 52 4f 43 |..4.*|st|art PROC|
|000006a0| 6d 65 6e 75 5f 6b 65 65 | 70 6f 70 65 6e 0d 00 35 |menu_kee|popen..5|
|000006b0| 18 2a 7c 21 50 52 4f 43 | 6d 65 6e 75 5f 6b 65 65 |.*|!PROC|menu_kee|
|000006c0| 70 6f 70 65 6e 0d 00 36 | 07 2a 7c 21 0d 00 37 23 |popen..6|.*|!..7#|
|000006d0| 2a 7c 21 54 68 69 73 20 | 69 73 20 63 61 6c 6c 65 |*|!This |is calle|
|000006e0| 64 20 62 79 20 77 69 6d | 70 5f 70 6f 6c 6c 2e 0d |d by wim|p_poll..|
|000006f0| 00 38 13 dd f2 6d 65 6e | 75 5f 6b 65 65 70 6f 70 |.8...men|u_keepop|
|00000700| 65 6e 0d 00 39 08 ea 20 | 4d 25 0d 00 3a 1b e7 20 |en..9.. |M%..:.. |
|00000710| 5f 77 69 6d 70 5f 6f 6c | 64 6d 65 6e 75 25 3d 2d |_wimp_ol|dmenu%=-|
|00000720| 31 20 8c 20 e1 0d 00 3b | 2a 4d 25 3d 21 28 5f 77 |1 . ...;|*M%=!(_w|
|00000730| 69 6d 70 5f 6d 65 6e 75 | 25 2b 34 2a 28 5f 77 69 |imp_menu|%+4*(_wi|
|00000740| 6d 70 5f 6f 6c 64 6d 65 | 6e 75 25 2b 31 29 29 0d |mp_oldme|nu%+1)).|
|00000750| 00 3c 1c c8 99 20 26 34 | 30 30 43 46 2c 2c 5f 77 |.<... &4|00CF,,_w|
|00000760| 69 6d 70 5f 62 75 66 66 | 65 72 25 0d 00 3d 45 e7 |imp_buff|er%..=E.|
|00000770| 20 28 5f 77 69 6d 70 5f | 62 75 66 66 65 72 25 21 | (_wimp_|buffer%!|
|00000780| 38 20 80 20 31 29 20 8c | 20 c8 99 20 26 34 30 30 |8 . 1) .| .. &400|
|00000790| 44 34 2c 2c 4d 25 2c 5f | 77 69 6d 70 5f 6f 6c 64 |D4,,M%,_|wimp_old|
|000007a0| 6d 78 25 2c 5f 77 69 6d | 70 5f 6f 6c 64 6d 79 25 |mx%,_wim|p_oldmy%|
|000007b0| 0d 00 3e 05 e1 0d 00 3f | 04 0d 00 40 1c 2a 7c 73 |..>....?|...@.*|s|
|000007c0| 74 6f 70 20 50 52 4f 43 | 6d 65 6e 75 5f 6b 65 65 |top PROC|menu_kee|
|000007d0| 70 6f 70 65 6e 0d 00 41 | 1a 2a 7c 73 74 61 72 74 |popen..A|.*|start|
|000007e0| 20 50 52 4f 43 6d 65 6e | 75 5f 70 6f 70 75 70 0d | PROCmen|u_popup.|
|000007f0| 00 42 25 2a 7c 21 50 52 | 4f 43 6d 65 6e 75 5f 70 |.B%*|!PR|OCmenu_p|
|00000800| 6f 70 75 70 28 20 6d 65 | 6e 75 20 2c 20 78 20 2c |opup( me|nu , x ,|
|00000810| 20 79 20 29 0d 00 43 07 | 2a 7c 21 0d 00 44 3c 2a | y )..C.|*|!..D<*|
|00000820| 7c 21 50 6f 70 73 20 75 | 70 20 74 68 65 20 67 69 ||!Pops u|p the gi|
|00000830| 76 65 6e 20 6d 65 6e 75 | 20 28 6d 65 6e 75 20 6e |ven menu| (menu n|
|00000840| 75 6d 62 65 72 29 20 61 | 74 20 74 68 65 20 67 69 |umber) a|t the gi|
|00000850| 76 65 6e 20 78 2c 79 0d | 00 45 10 2a 7c 21 70 6f |ven x,y.|.E.*|!po|
|00000860| 73 69 74 69 6f 6e 2e 0d | 00 46 1a dd f2 6d 65 6e |sition..|.F...men|
|00000870| 75 5f 70 6f 70 75 70 28 | 4d 25 2c 58 25 2c 59 25 |u_popup(|M%,X%,Y%|
|00000880| 29 0d 00 47 50 5f 77 69 | 6d 70 5f 6f 6c 64 6d 65 |)..GP_wi|mp_oldme|
|00000890| 6e 75 25 3d 4d 25 3a 5f | 77 69 6d 70 5f 6f 6c 64 |nu%=M%:_|wimp_old|
|000008a0| 6d 78 25 3d 58 25 3a 5f | 77 69 6d 70 5f 6f 6c 64 |mx%=X%:_|wimp_old|
|000008b0| 6d 79 25 3d 59 25 3a 4d | 25 3d 21 28 5f 77 69 6d |my%=Y%:M|%=!(_wim|
|000008c0| 70 5f 6d 65 6e 75 25 2b | 34 2a 28 4d 25 2b 31 29 |p_menu%+|4*(M%+1)|
|000008d0| 29 0d 00 48 17 c8 99 20 | 26 34 30 30 44 34 2c 2c |)..H... |&400D4,,|
|000008e0| 4d 25 2c 58 25 2c 59 25 | 0d 00 49 05 e1 0d 00 4a |M%,X%,Y%|..I....J|
|000008f0| 04 0d 00 4b 19 2a 7c 73 | 74 6f 70 20 50 52 4f 43 |...K.*|s|top PROC|
|00000900| 6d 65 6e 75 5f 70 6f 70 | 75 70 0d 00 4c 18 2a 7c |menu_pop|up..L.*||
|00000910| 73 74 61 72 74 20 46 4e | 6d 65 6e 75 5f 77 69 64 |start FN|menu_wid|
|00000920| 74 68 0d 00 4d 1b 2a 7c | 21 46 4e 6d 65 6e 75 5f |th..M.*||!FNmenu_|
|00000930| 77 69 64 74 68 28 20 6d | 65 6e 75 20 29 0d 00 4e |width( m|enu )..N|
|00000940| 07 2a 7c 21 0d 00 4f 41 | 2a 7c 21 52 65 74 75 72 |.*|!..OA|*|!Retur|
|00000950| 6e 73 20 74 68 65 20 6d | 61 78 2e 20 6d 65 6e 75 |ns the m|ax. menu|
|00000960| 20 65 6e 74 72 79 20 77 | 69 64 74 68 20 66 6f 72 | entry w|idth for|
|00000970| 20 61 20 67 69 76 65 6e | 20 6d 65 6e 75 20 6e 75 | a given| menu nu|
|00000980| 6d 62 65 72 2e 0d 00 50 | 32 2a 7c 21 54 68 69 73 |mber...P|2*|!This|
|00000990| 20 69 73 20 4e 4f 54 20 | 74 68 65 20 63 6f 6d 70 | is NOT |the comp|
|000009a0| 6c 65 74 65 20 77 69 64 | 74 68 20 6f 66 20 74 68 |lete wid|th of th|
|000009b0| 65 20 6d 65 6e 75 2e 0d | 00 51 14 dd a4 6d 65 6e |e menu..|.Q...men|
|000009c0| 75 5f 77 69 64 74 68 28 | 4e 25 29 0d 00 52 23 ea |u_width(|N%)..R#.|
|000009d0| 20 50 25 3a 50 25 3d 21 | 28 5f 77 69 6d 70 5f 6d | P%:P%=!|(_wimp_m|
|000009e0| 65 6e 75 25 2b 28 4e 25 | 2b 31 29 2a 34 29 0d 00 |enu%+(N%|+1)*4)..|
|000009f0| 53 0a 3d 50 25 21 31 36 | 0d 00 54 04 0d 00 55 17 |S.=P%!16|..T...U.|
|00000a00| 2a 7c 73 74 6f 70 20 46 | 4e 6d 65 6e 75 5f 77 69 |*|stop F|Nmenu_wi|
|00000a10| 64 74 68 0d 00 56 1d 2a | 7c 73 74 61 72 74 20 46 |dth..V.*||start F|
|00000a20| 4e 6d 65 6e 75 5f 6d 65 | 6e 75 68 65 69 67 68 74 |Nmenu_me|nuheight|
|00000a30| 0d 00 57 20 2a 7c 21 46 | 4e 6d 65 6e 75 5f 6d 65 |..W *|!F|Nmenu_me|
|00000a40| 6e 75 68 65 69 67 68 74 | 28 20 6d 65 6e 75 20 29 |nuheight|( menu )|
|00000a50| 0d 00 58 07 2a 7c 21 0d | 00 59 43 2a 7c 21 52 65 |..X.*|!.|.YC*|!Re|
|00000a60| 74 75 72 6e 73 20 74 68 | 65 20 68 65 69 67 68 74 |turns th|e height|
|00000a70| 20 6f 66 20 74 68 65 20 | 6d 65 6e 75 20 65 6e 74 | of the |menu ent|
|00000a80| 72 69 65 73 20 28 69 6e | 63 6c 75 64 69 6e 67 20 |ries (in|cluding |
|00000a90| 61 6e 79 20 64 6f 74 74 | 65 64 0d 00 5a 28 2a 7c |any dott|ed..Z(*||
|00000aa0| 21 6c 69 6e 65 73 29 20 | 66 6f 72 20 74 68 65 20 |!lines) |for the |
|00000ab0| 67 69 76 65 6e 20 6d 65 | 6e 75 20 6e 75 6d 62 65 |given me|nu numbe|
|00000ac0| 72 2e 0d 00 5b 19 dd a4 | 6d 65 6e 75 5f 6d 65 6e |r...[...|menu_men|
|00000ad0| 75 68 65 69 67 68 74 28 | 4e 25 29 0d 00 5c 3e ea |uheight(|N%)..\>.|
|00000ae0| 20 41 25 2c 48 25 2c 50 | 25 3a 4e 25 2b 3d 31 3a | A%,H%,P|%:N%+=1:|
|00000af0| 50 25 3d 21 28 5f 77 69 | 6d 70 5f 6d 65 6e 75 25 |P%=!(_wi|mp_menu%|
|00000b00| 2b 34 2a 4e 25 29 3a 48 | 25 3d 30 3a 41 25 3d 2d |+4*N%):H|%=0:A%=-|
|00000b10| 31 3a f5 3a 41 25 2b 3d | 31 0d 00 5d 2a 48 25 2b |1:.:A%+=|1..]*H%+|
|00000b20| 3d 34 34 3a e7 20 28 21 | 28 50 25 2b 41 25 2a 32 |=44:. (!|(P%+A%*2|
|00000b30| 34 2b 32 38 29 20 80 20 | 32 29 20 8c 20 48 25 2b |4+28) . |2) . H%+|
|00000b40| 3d 32 32 0d 00 5e 1c fd | 20 28 21 28 50 25 2b 41 |=22..^..| (!(P%+A|
|00000b50| 25 2a 32 34 2b 32 38 29 | 20 80 20 31 32 38 29 0d |%*24+28)| . 128).|
|00000b60| 00 5f 07 3d 48 25 0d 00 | 60 04 0d 00 61 1c 2a 7c |._.=H%..|`...a.*||
|00000b70| 73 74 6f 70 20 46 4e 6d | 65 6e 75 5f 6d 65 6e 75 |stop FNm|enu_menu|
|00000b80| 68 65 69 67 68 74 0d 00 | 62 1d 2a 7c 73 74 61 72 |height..|b.*|star|
|00000b90| 74 20 50 52 4f 43 6d 65 | 6e 75 5f 6d 61 6b 65 6d |t PROCme|nu_makem|
|00000ba0| 65 6e 75 0d 00 63 41 2a | 7c 21 50 52 4f 43 6d 65 |enu..cA*||!PROCme|
|00000bb0| 6e 75 5f 6d 61 6b 65 6d | 65 6e 75 28 20 74 69 74 |nu_makem|enu( tit|
|00000bc0| 6c 65 20 2c 20 6d 65 6e | 75 20 2c 20 65 6e 74 72 |le , men|u , entr|
|00000bd0| 69 65 73 28 29 20 2c 20 | 6c 61 73 74 5f 65 6e 74 |ies() , |last_ent|
|00000be0| 72 79 20 29 0d 00 64 07 | 2a 7c 21 0d 00 65 3c 2a |ry )..d.|*|!..e<*|
|00000bf0| 7c 21 54 68 69 73 20 69 | 73 20 61 20 67 65 6e 65 ||!This i|s a gene|
|00000c00| 72 61 6c 20 6d 65 6e 75 | 20 63 72 65 61 74 69 6f |ral menu| creatio|
|00000c10| 6e 20 72 6f 75 74 69 6e | 65 20 77 68 69 63 68 20 |n routin|e which |
|00000c20| 74 61 6b 65 73 20 61 0d | 00 66 3b 2a 7c 21 74 69 |takes a.|.f;*|!ti|
|00000c30| 74 6c 65 20 61 6e 64 20 | 61 6e 20 61 72 72 61 79 |tle and |an array|
|00000c40| 20 6f 66 20 65 6e 74 72 | 79 20 6e 61 6d 65 73 2e | of entr|y names.|
|00000c50| 20 49 74 20 74 68 65 6e | 20 63 72 65 61 74 65 73 | It then| creates|
|00000c60| 20 61 0d 00 67 36 2a 7c | 21 6d 65 6e 75 20 66 6f | a..g6*||!menu fo|
|00000c70| 72 20 74 68 65 20 65 6e | 74 72 69 65 73 20 69 6e |r the en|tries in|
|00000c80| 20 74 68 65 20 61 72 72 | 61 79 20 66 72 6f 6d 20 | the arr|ay from |
|00000c90| 30 20 74 6f 20 74 68 65 | 0d 00 68 37 2a 7c 21 6c |0 to the|..h7*|!l|
|00000ca0| 61 73 74 5f 65 6e 74 72 | 79 27 74 68 20 61 72 72 |ast_entr|y'th arr|
|00000cb0| 61 79 20 65 6e 74 72 79 | 2e 20 48 65 72 65 20 61 |ay entry|. Here a|
|00000cc0| 72 65 20 73 6f 6d 65 20 | 65 78 61 6d 70 6c 65 0d |re some |example.|
|00000cd0| 00 69 14 2a 7c 21 61 72 | 72 61 79 20 65 6e 74 72 |.i.*|!ar|ray entr|
|00000ce0| 69 65 73 0d 00 6a 2e 2a | 7c 21 20 20 70 6c 61 69 |ies..j.*||! plai|
|00000cf0| 6e 20 74 65 78 74 20 20 | 20 20 2d 20 70 6c 61 69 |n text | - plai|
|00000d00| 6e 20 74 65 78 74 20 6d | 65 6e 75 20 65 6e 74 72 |n text m|enu entr|
|00000d10| 79 0d 00 6b 35 2a 7c 21 | 20 20 74 69 63 6b 65 64 |y..k5*|!| ticked|
|00000d20| 2f 20 20 20 20 20 20 20 | 2d 20 74 68 65 20 27 2f |/ |- the '/|
|00000d30| 27 20 6d 65 61 6e 73 20 | 74 69 63 6b 20 74 68 65 |' means |tick the|
|00000d40| 20 65 6e 74 72 79 0d 00 | 6c 37 2a 7c 21 20 20 75 | entry..|l7*|! u|
|00000d50| 6e 64 65 72 6c 69 6e 65 | 5f 20 20 20 20 2d 20 74 |nderline|_ - t|
|00000d60| 68 65 20 27 5f 27 20 6d | 65 61 6e 73 20 64 6f 74 |he '_' m|eans dot|
|00000d70| 74 65 64 20 75 6e 64 65 | 72 6c 69 6e 65 0d 00 6d |ted unde|rline..m|
|00000d80| 35 2a 7c 21 20 20 61 6e | 64 20 67 72 65 79 40 20 |5*|! an|d grey@ |
|00000d90| 20 20 20 20 2d 20 74 68 | 65 20 27 40 27 20 6d 65 | - th|e '@' me|
|00000da0| 61 6e 73 20 67 72 65 79 | 20 6f 75 74 20 65 6e 74 |ans grey| out ent|
|00000db0| 72 79 0d 00 6e 35 2a 7c | 21 20 20 61 6c 6c 20 74 |ry..n5*||! all t|
|00000dc0| 68 72 65 65 5f 2f 40 20 | 20 2d 20 75 6e 64 65 72 |hree_/@ | - under|
|00000dd0| 6c 69 6e 65 2c 20 74 69 | 63 6b 20 61 6e 64 20 67 |line, ti|ck and g|
|00000de0| 72 65 79 20 6f 75 74 0d | 00 6f 30 2a 7c 21 20 20 |rey out.|.o0*|! |
|00000df0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000e00| 74 68 65 20 6f 72 64 65 | 72 20 69 73 20 69 6d 70 |the orde|r is imp|
|00000e10| 6f 72 74 61 6e 74 2e 0d | 00 70 07 2a 7c 21 0d 00 |ortant..|.p.*|!..|
|00000e20| 71 30 2a 7c 21 20 20 73 | 75 62 20 6d 65 6e 75 3c |q0*|! s|ub menu<|
|00000e30| 33 3e 20 20 20 2d 20 65 | 6e 74 72 79 20 6c 65 61 |3> - e|ntry lea|
|00000e40| 64 73 20 74 6f 20 73 75 | 62 20 6d 65 6e 75 0d 00 |ds to su|b menu..|
|00000e50| 72 36 2a 7c 21 20 20 20 | 20 20 20 20 20 20 20 20 |r6*|! | |
|00000e60| 20 20 20 20 20 20 20 6e | 75 6d 62 65 72 20 33 20 | n|umber 3 |
|00000e70| 28 6d 65 6e 75 20 33 20 | 6d 75 73 74 20 61 6c 72 |(menu 3 |must alr|
|00000e80| 65 61 64 79 0d 00 73 2c | 2a 7c 21 20 20 20 20 20 |eady..s,|*|! |
|00000e90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 68 61 76 | | hav|
|00000ea0| 65 20 62 65 65 6e 20 63 | 72 65 61 74 65 64 29 2e |e been c|reated).|
|00000eb0| 0d 00 74 07 2a 7c 21 0d | 00 75 33 2a 7c 21 20 20 |..t.*|!.|.u3*|! |
|00000ec0| 77 72 69 74 61 62 6c 65 | 3e 31 32 33 3c 20 2d 20 |writable|>123< - |
|00000ed0| 77 72 69 74 61 62 6c 65 | 20 65 6e 74 72 79 20 77 |writable| entry w|
|00000ee0| 69 74 68 20 62 75 66 66 | 65 72 0d 00 76 29 2a 7c |ith buff|er..v)*||
|00000ef0| 21 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |! | |
|00000f00| 20 20 20 61 74 20 6c 6f | 63 61 74 69 6f 6e 20 31 | at lo|cation 1|
|00000f10| 32 33 2e 0d 00 77 07 2a | 7c 21 0d 00 78 33 2a 7c |23...w.*||!..x3*||
|00000f20| 21 20 20 73 75 62 3c 35 | 3e 40 20 20 20 20 20 20 |! sub<5|>@ |
|00000f30| 20 2d 20 67 72 65 79 65 | 64 20 6f 75 74 20 73 75 | - greye|d out su|
|00000f40| 62 20 6d 65 6e 75 20 65 | 6e 74 72 79 2e 0d 00 79 |b menu e|ntry...y|
|00000f50| 25 dd f2 6d 65 6e 75 5f | 6d 61 6b 65 6d 65 6e 75 |%..menu_|makemenu|
|00000f60| 28 54 24 2c 4e 25 2c 6f | 70 74 73 24 28 29 2c 53 |(T$,N%,o|pts$(),S|
|00000f70| 25 29 0d 00 7a 25 ea 20 | 58 58 25 2c 54 43 25 2c |%)..z%. |XX%,TC%,|
|00000f80| 41 25 2c 42 25 2c 43 25 | 2c 50 25 2c 4d 25 2c 6d |A%,B%,C%|,P%,M%,m|
|00000f90| 65 6e 75 25 2c 4d 24 0d | 00 7b 23 4e 25 2b 3d 31 |enu%,M$.|.{#N%+=1|
|00000fa0| 3a 6d 65 6e 75 25 3d 21 | 28 5f 77 69 6d 70 5f 6d |:menu%=!|(_wimp_m|
|00000fb0| 65 6e 75 25 2b 4e 25 2a | 34 29 0d 00 7c 0f e7 20 |enu%+N%*|4)..|.. |
|00000fc0| 6d 65 6e 75 25 3d 30 20 | 8c 0d 00 7d 3b 20 20 6d |menu%=0 |...}; m|
|00000fd0| 65 6e 75 25 3d a4 6d 61 | 6c 6c 6f 63 28 33 32 2b |enu%=.ma|lloc(32+|
|00000fe0| 32 34 2a 28 53 25 2b 31 | 29 29 3a 21 28 5f 77 69 |24*(S%+1|)):!(_wi|
|00000ff0| 6d 70 5f 6d 65 6e 75 25 | 2b 4e 25 2a 34 29 3d 6d |mp_menu%|+N%*4)=m|
|00001000| 65 6e 75 25 0d 00 7e 05 | cc 0d 00 7f 5f 20 20 e7 |enu%..~.|...._ .|
|00001010| 20 a4 73 69 7a 65 5f 6f | 66 28 6d 65 6e 75 25 29 | .size_o|f(menu%)|
|00001020| 3c 28 33 32 2b 32 34 2a | 28 53 25 2b 31 29 29 20 |<(32+24*|(S%+1)) |
|00001030| 8c 20 f2 72 65 61 6c 6c | 6f 63 28 6d 65 6e 75 25 |. .reall|oc(menu%|
|00001040| 2c 33 32 2b 32 34 2a 28 | 53 25 2b 31 29 29 3a 21 |,32+24*(|S%+1)):!|
|00001050| 28 5f 77 69 6d 70 5f 6d | 65 6e 75 25 2b 4e 25 2a |(_wimp_m|enu%+N%*|
|00001060| 34 29 3d 6d 65 6e 75 25 | 0d 00 80 05 cd 0d 00 81 |4)=menu%|........|
|00001070| 2b 24 6d 65 6e 75 25 3d | 54 24 3a 6d 65 6e 75 25 |+$menu%=|T$:menu%|
|00001080| 3f a9 28 54 24 29 3d 30 | 3a 6d 65 6e 75 25 21 31 |?.(T$)=0|:menu%!1|
|00001090| 32 3d 26 37 30 32 30 37 | 0d 00 82 30 6d 65 6e 75 |2=&70207|...0menu|
|000010a0| 25 21 31 36 3d 31 37 32 | 3a 6d 65 6e 75 25 21 32 |%!16=172|:menu%!2|
|000010b0| 30 3d 34 34 3a 6d 65 6e | 75 25 21 32 34 3d 30 3a |0=44:men|u%!24=0:|
|000010c0| 4d 25 3d a9 28 54 24 29 | 0d 00 83 47 e3 20 41 25 |M%=.(T$)|...G. A%|
|000010d0| 3d 30 20 b8 20 53 25 3a | 4d 24 3d 6f 70 74 73 24 |=0 . S%:|M$=opts$|
|000010e0| 28 41 25 29 3a 42 25 3d | 30 3a 43 25 3d 2d 31 3a |(A%):B%=|0:C%=-1:|
|000010f0| 50 25 3d 6d 65 6e 75 25 | 2b 32 38 2b 41 25 2a 32 |P%=menu%|+28+A%*2|
|00001100| 34 3a 54 43 25 3d 37 3a | 58 58 25 3d 26 32 31 0d |4:TC%=7:|XX%=&21.|
|00001110| 00 84 34 e7 20 c2 4d 24 | 29 3d 22 40 22 20 8c 20 |..4. .M$|)="@" . |
|00001120| 42 25 3d 42 25 20 84 20 | 38 3a 4d 24 3d c0 4d 24 |B%=B% . |8:M$=.M$|
|00001130| 29 3a 54 43 25 3d 33 3a | 58 58 25 3d 26 34 30 30 |):TC%=3:|XX%=&400|
|00001140| 30 32 31 0d 00 85 22 e7 | 20 c2 4d 24 29 3d 22 2f |021...".| .M$)="/|
|00001150| 22 20 8c 20 42 25 3d 42 | 25 20 84 20 31 3a 4d 24 |" . B%=B|% . 1:M$|
|00001160| 3d c0 4d 24 29 0d 00 86 | 22 e7 20 c2 4d 24 29 3d |=.M$)...|". .M$)=|
|00001170| 22 5f 22 20 8c 20 42 25 | 3d 42 25 20 84 20 32 3a |"_" . B%|=B% . 2:|
|00001180| 4d 24 3d c0 4d 24 29 0d | 00 87 19 e7 20 41 25 3d |M$=.M$).|.... A%=|
|00001190| 53 25 20 8c 20 42 25 3d | 42 25 20 84 20 31 32 38 |S% . B%=|B% . 128|
|000011a0| 0d 00 88 10 e7 20 c2 4d | 24 29 3d 22 3c 22 20 8c |..... .M|$)="<" .|
|000011b0| 0d 00 89 45 20 20 42 25 | 3d 42 25 20 84 20 34 3a |...E B%|=B% . 4:|
|000011c0| 21 50 25 3d 42 25 3a 50 | 25 21 34 3d 43 25 3a 50 |!P%=B%:P|%!4=C%:P|
|000011d0| 25 21 38 3d 28 54 43 25 | 20 80 20 26 46 46 29 2a |%!8=(TC%| . &FF)*|
|000011e0| 26 31 30 30 30 30 30 30 | 20 84 20 26 31 30 30 20 |&1000000| . &100 |
|000011f0| 84 20 58 58 25 0d 00 8a | 29 20 20 4d 24 3d c0 4d |. XX%...|) M$=.M|
|00001200| 24 29 3a 42 25 3d a7 4d | 24 2c 22 3e 22 29 3a 43 |$):B%=.M|$,">"):C|
|00001210| 25 3d bb 28 c1 4d 24 2c | 42 25 2b 31 29 29 0d 00 |%=.(.M$,|B%+1))..|
|00001220| 8b 35 20 20 4d 24 3d c0 | 4d 24 2c 42 25 2d 31 29 |.5 M$=.|M$,B%-1)|
|00001230| 3a 24 43 25 3d 4d 24 3a | 50 25 21 31 32 3d 43 25 |:$C%=M$:|P%!12=C%|
|00001240| 3a 50 25 21 31 36 3d 2d | 31 3a 50 25 21 32 30 3d |:P%!16=-|1:P%!20=|
|00001250| 32 35 35 0d 00 8c 05 cc | 0d 00 8d 12 20 20 e7 20 |255.....|.... . |
|00001260| c2 4d 24 29 3d 22 3e 22 | 20 8c 0d 00 8e 33 20 20 |.M$)=">"| ....3 |
|00001270| 20 20 21 50 25 3d 42 25 | 20 84 20 31 36 3a 50 25 | !P%=B%| . 16:P%|
|00001280| 21 38 3d 28 54 43 25 20 | 80 20 26 46 46 29 2a 26 |!8=(TC% |. &FF)*&|
|00001290| 31 30 30 30 30 30 30 20 | 84 20 58 58 25 0d 00 8f |1000000 |. XX%...|
|000012a0| 42 20 20 20 20 4d 24 3d | c0 4d 24 29 3a 42 25 3d |B M$=|.M$):B%=|
|000012b0| a7 4d 24 2c 22 3c 22 29 | 3a 43 25 3d bb 28 c1 4d |.M$,"<")|:C%=.(.M|
|000012c0| 24 2c 42 25 2b 31 29 29 | 3a 43 25 3d 21 28 5f 77 |$,B%+1))|:C%=!(_w|
|000012d0| 69 6d 70 5f 6d 65 6e 75 | 25 2b 34 2a 43 25 29 0d |imp_menu|%+4*C%).|
|000012e0| 00 90 28 20 20 20 20 50 | 25 21 34 3d 43 25 3a 4d |..( P|%!4=C%:M|
|000012f0| 24 3d c0 4d 24 2c 42 25 | 2d 31 29 3a 24 28 50 25 |$=.M$,B%|-1):$(P%|
|00001300| 2b 31 32 29 3d 4d 24 0d | 00 91 07 20 20 cc 0d 00 |+12)=M$.|... ...|
|00001310| 92 36 20 20 20 20 21 50 | 25 3d 42 25 3a 50 25 21 |.6 !P|%=B%:P%!|
|00001320| 34 3d 43 25 3a 50 25 21 | 38 3d 28 54 43 25 20 80 |4=C%:P%!|8=(TC% .|
|00001330| 20 26 46 46 29 2a 26 31 | 30 30 30 30 30 30 20 84 | &FF)*&1|000000 .|
|00001340| 20 58 58 25 0d 00 93 24 | 20 20 20 20 24 28 50 25 | XX%...$| $(P%|
|00001350| 2b 31 32 29 3d 4d 24 3a | 3f 28 50 25 2b 31 32 2b |+12)=M$:|?(P%+12+|
|00001360| a9 28 4d 24 29 29 3d 30 | 0d 00 94 07 20 20 cd 0d |.(M$))=0|.... ..|
|00001370| 00 95 1b 20 20 e7 20 4d | 25 3c a9 28 4d 24 29 20 |... . M|%<.(M$) |
|00001380| 8c 20 4d 25 3d a9 28 4d | 24 29 0d 00 96 05 cd 0d |. M%=.(M|$)......|
|00001390| 00 97 18 ed 3a 6d 65 6e | 75 25 21 31 36 3d 31 36 |....:men|u%!16=16|
|000013a0| 2a 28 4d 25 2b 31 29 0d | 00 98 05 e1 0d 00 99 04 |*(M%+1).|........|
|000013b0| 0d 00 9a 1c 2a 7c 73 74 | 6f 70 20 50 52 4f 43 6d |....*|st|op PROCm|
|000013c0| 65 6e 75 5f 6d 61 6b 65 | 6d 65 6e 75 0d 00 9b 1c |enu_make|menu....|
|000013d0| 2a 7c 73 74 61 72 74 20 | 50 52 4f 43 6d 65 6e 75 |*|start |PROCmenu|
|000013e0| 5f 67 72 65 79 6f 75 74 | 0d 00 9c 27 2a 7c 21 50 |_greyout|...'*|!P|
|000013f0| 52 4f 43 6d 65 6e 75 5f | 67 72 65 79 6f 75 74 28 |ROCmenu_|greyout(|
|00001400| 20 6d 65 6e 75 20 2c 20 | 65 6e 74 72 79 20 29 0d | menu , |entry ).|
|00001410| 00 9d 07 2a 7c 21 0d 00 | 9e 3d 2a 7c 21 47 69 76 |...*|!..|.=*|!Giv|
|00001420| 65 6e 20 61 6e 20 61 6c | 72 65 61 64 79 20 63 72 |en an al|ready cr|
|00001430| 65 61 74 65 64 20 6d 65 | 6e 75 2c 20 77 69 6c 6c |eated me|nu, will|
|00001440| 20 67 72 65 79 20 6f 75 | 74 20 74 68 65 20 67 69 | grey ou|t the gi|
|00001450| 76 65 6e 0d 00 9f 14 2a | 7c 21 65 6e 74 72 79 20 |ven....*||!entry |
|00001460| 6e 75 6d 62 65 72 2e 0d | 00 a0 19 dd f2 6d 65 6e |number..|.....men|
|00001470| 75 5f 67 72 65 79 6f 75 | 74 28 4d 25 2c 4e 25 29 |u_greyou|t(M%,N%)|
|00001480| 0d 00 a1 4c ea 20 50 25 | 3a 50 25 3d 21 28 5f 77 |...L. P%|:P%=!(_w|
|00001490| 69 6d 70 5f 6d 65 6e 75 | 25 2b 34 2a 28 4d 25 2b |imp_menu|%+4*(M%+|
|000014a0| 31 29 29 2b 33 36 2b 4e | 25 2a 32 34 3a 21 50 25 |1))+36+N|%*24:!P%|
|000014b0| 3d 28 21 50 25 20 80 20 | 26 46 46 42 46 46 46 46 |=(!P% . |&FFBFFFF|
|000014c0| 46 29 20 84 20 26 34 30 | 30 30 30 30 0d 00 a2 05 |F) . &40|0000....|
|000014d0| e1 0d 00 a3 04 0d 00 a4 | 1b 2a 7c 73 74 6f 70 20 |........|.*|stop |
|000014e0| 50 52 4f 43 6d 65 6e 75 | 5f 67 72 65 79 6f 75 74 |PROCmenu|_greyout|
|000014f0| 0d 00 a5 1e 2a 7c 73 74 | 61 72 74 20 50 52 4f 43 |....*|st|art PROC|
|00001500| 6d 65 6e 75 5f 75 6e 67 | 72 65 79 6f 75 74 0d 00 |menu_ung|reyout..|
|00001510| a6 29 2a 7c 21 50 52 4f | 43 6d 65 6e 75 5f 75 6e |.)*|!PRO|Cmenu_un|
|00001520| 67 72 65 79 6f 75 74 28 | 20 6d 65 6e 75 20 2c 20 |greyout(| menu , |
|00001530| 65 6e 74 72 79 20 29 0d | 00 a7 07 2a 7c 21 0d 00 |entry ).|...*|!..|
|00001540| a8 35 2a 7c 21 47 69 76 | 65 6e 20 61 6e 20 61 6c |.5*|!Giv|en an al|
|00001550| 72 65 61 64 79 20 63 72 | 65 61 74 65 64 20 6d 65 |ready cr|eated me|
|00001560| 6e 75 2c 20 77 69 6c 6c | 20 65 6e 73 75 72 65 20 |nu, will| ensure |
|00001570| 74 68 65 0d 00 a9 37 2a | 7c 21 65 6e 74 72 79 20 |the...7*||!entry |
|00001580| 6e 75 6d 62 65 72 20 6e | 20 74 68 65 20 67 69 76 |number n| the giv|
|00001590| 65 6e 20 6d 65 6e 75 20 | 69 73 20 6e 6f 74 20 67 |en menu |is not g|
|000015a0| 72 65 79 65 64 20 6f 75 | 74 2e 0d 00 aa 1b dd f2 |reyed ou|t.......|
|000015b0| 6d 65 6e 75 5f 75 6e 67 | 72 65 79 6f 75 74 28 4d |menu_ung|reyout(M|
|000015c0| 25 2c 4e 25 29 0d 00 ab | 40 ea 20 50 25 3a 50 25 |%,N%)...|@. P%:P%|
|000015d0| 3d 21 28 5f 77 69 6d 70 | 5f 6d 65 6e 75 25 2b 34 |=!(_wimp|_menu%+4|
|000015e0| 2a 28 4d 25 2b 31 29 29 | 2b 33 36 2b 4e 25 2a 32 |*(M%+1))|+36+N%*2|
|000015f0| 34 3a 21 50 25 3d 21 50 | 25 20 80 20 26 46 46 42 |4:!P%=!P|% . &FFB|
|00001600| 46 46 46 46 46 0d 00 ac | 05 e1 0d 00 ad 04 0d 00 |FFFFF...|........|
|00001610| ae 1d 2a 7c 73 74 6f 70 | 20 50 52 4f 43 6d 65 6e |..*|stop| PROCmen|
|00001620| 75 5f 75 6e 67 72 65 79 | 6f 75 74 0d 00 af 19 2a |u_ungrey|out....*|
|00001630| 7c 73 74 61 72 74 20 50 | 52 4f 43 6d 65 6e 75 5f ||start P|ROCmenu_|
|00001640| 74 69 63 6b 0d 00 b0 23 | 2a 7c 21 50 52 4f 43 6d |tick...#|*|!PROCm|
|00001650| 65 6e 75 5f 74 69 63 6b | 28 20 6d 65 6e 75 2c 20 |enu_tick|( menu, |
|00001660| 65 6e 74 72 79 20 29 0d | 00 b1 07 2a 7c 21 0d 00 |entry ).|...*|!..|
|00001670| b2 2a 2a 7c 21 41 64 64 | 73 20 61 20 74 69 63 6b |.**|!Add|s a tick|
|00001680| 20 74 6f 20 74 68 65 20 | 73 70 65 63 69 66 69 65 | to the |specifie|
|00001690| 64 20 65 6e 74 72 79 2e | 0d 00 b3 16 dd f2 6d 65 |d entry.|......me|
|000016a0| 6e 75 5f 74 69 63 6b 28 | 4d 25 2c 4e 25 29 0d 00 |nu_tick(|M%,N%)..|
|000016b0| b4 38 ea 20 50 25 3a 50 | 25 3d 21 28 5f 77 69 6d |.8. P%:P|%=!(_wim|
|000016c0| 70 5f 6d 65 6e 75 25 2b | 34 2a 28 4d 25 2b 31 29 |p_menu%+|4*(M%+1)|
|000016d0| 29 2b 32 38 2b 4e 25 2a | 32 34 3a 21 50 25 3d 21 |)+28+N%*|24:!P%=!|
|000016e0| 50 25 20 84 20 31 0d 00 | b5 05 e1 0d 00 b6 04 0d |P% . 1..|........|
|000016f0| 00 b7 18 2a 7c 73 74 6f | 70 20 50 52 4f 43 6d 65 |...*|sto|p PROCme|
|00001700| 6e 75 5f 74 69 63 6b 0d | 00 b8 1b 2a 7c 73 74 61 |nu_tick.|...*|sta|
|00001710| 72 74 20 50 52 4f 43 6d | 65 6e 75 5f 75 6e 74 69 |rt PROCm|enu_unti|
|00001720| 63 6b 0d 00 b9 25 2a 7c | 21 50 52 4f 43 6d 65 6e |ck...%*||!PROCmen|
|00001730| 75 5f 75 6e 74 69 63 6b | 28 20 6d 65 6e 75 2c 20 |u_untick|( menu, |
|00001740| 65 6e 74 72 79 20 29 0d | 00 ba 07 2a 7c 21 0d 00 |entry ).|...*|!..|
|00001750| bb 2f 2a 7c 21 52 65 6d | 6f 76 65 73 20 61 20 74 |./*|!Rem|oves a t|
|00001760| 69 63 6b 20 66 72 6f 6d | 20 74 68 65 20 73 70 65 |ick from| the spe|
|00001770| 63 69 66 69 65 64 20 65 | 6e 74 72 79 2e 0d 00 bc |cified e|ntry....|
|00001780| 18 dd f2 6d 65 6e 75 5f | 75 6e 74 69 63 6b 28 4d |...menu_|untick(M|
|00001790| 25 2c 4e 25 29 0d 00 bd | 40 ea 20 50 25 3a 50 25 |%,N%)...|@. P%:P%|
|000017a0| 3d 21 28 5f 77 69 6d 70 | 5f 6d 65 6e 75 25 2b 34 |=!(_wimp|_menu%+4|
|000017b0| 2a 28 4d 25 2b 31 29 29 | 2b 32 38 2b 4e 25 2a 32 |*(M%+1))|+28+N%*2|
|000017c0| 34 3a 21 50 25 3d 21 50 | 25 20 80 20 26 46 46 46 |4:!P%=!P|% . &FFF|
|000017d0| 46 46 46 46 45 0d 00 be | 05 e1 0d 00 bf 1a 2a 7c |FFFFE...|......*||
|000017e0| 73 74 6f 70 20 50 52 4f | 43 6d 65 6e 75 5f 75 6e |stop PRO|Cmenu_un|
|000017f0| 74 69 63 6b 0d 00 c0 1e | 2a 7c 73 74 61 72 74 20 |tick....|*|start |
|00001800| 50 52 4f 43 6d 65 6e 75 | 5f 73 75 62 77 69 6e 64 |PROCmenu|_subwind|
|00001810| 6f 77 0d 00 c1 32 2a 7c | 21 50 52 4f 43 6d 65 6e |ow...2*||!PROCmen|
|00001820| 75 5f 73 75 62 77 69 6e | 64 6f 77 28 20 6d 65 6e |u_subwin|dow( men|
|00001830| 75 20 2c 20 65 6e 74 72 | 79 20 2c 20 77 69 6e 64 |u , entr|y , wind|
|00001840| 6f 77 20 29 0d 00 c2 07 | 2a 7c 21 0d 00 c3 3d 2a |ow )....|*|!...=*|
|00001850| 7c 21 57 69 6c 6c 20 61 | 74 74 61 63 68 20 74 68 ||!Will a|ttach th|
|00001860| 65 20 67 69 76 65 6e 20 | 77 69 6e 64 6f 77 20 74 |e given |window t|
|00001870| 6f 20 74 68 65 20 67 69 | 76 65 6e 20 65 6e 74 72 |o the gi|ven entr|
|00001880| 79 20 69 6e 20 74 68 65 | 0d 00 c4 12 2a 7c 21 67 |y in the|....*|!g|
|00001890| 69 76 65 6e 20 6d 65 6e | 75 2e 0d 00 c5 1e dd f2 |iven men|u.......|
|000018a0| 6d 65 6e 75 5f 73 75 62 | 77 69 6e 64 6f 77 28 4d |menu_sub|window(M|
|000018b0| 25 2c 4e 25 2c 53 25 29 | 0d 00 c6 3a ea 20 50 25 |%,N%,S%)|...:. P%|
|000018c0| 3a 50 25 3d 21 28 5f 77 | 69 6d 70 5f 6d 65 6e 75 |:P%=!(_w|imp_menu|
|000018d0| 25 2b 34 2a 28 4d 25 2b | 31 29 29 3a 21 28 50 25 |%+4*(M%+|1)):!(P%|
|000018e0| 2b 33 32 2b 4e 25 2a 32 | 34 29 3d 21 28 53 25 2d |+32+N%*2|4)=!(S%-|
|000018f0| 38 29 0d 00 c7 05 e1 0d | 00 c8 04 0d 00 c9 1d 2a |8)......|.......*|
|00001900| 7c 73 74 6f 70 20 50 52 | 4f 43 6d 65 6e 75 5f 73 ||stop PR|OCmenu_s|
|00001910| 75 62 77 69 6e 64 6f 77 | 0d 00 ca 1c 2a 7c 73 74 |ubwindow|....*|st|
|00001920| 61 72 74 20 50 52 4f 43 | 6d 65 6e 75 5f 73 75 62 |art PROC|menu_sub|
|00001930| 6d 65 6e 75 0d 00 cb 32 | 2a 7c 21 50 52 4f 43 6d |menu...2|*|!PROCm|
|00001940| 65 6e 75 5f 73 75 62 6d | 65 6e 75 28 20 6d 65 6e |enu_subm|enu( men|
|00001950| 75 20 2c 20 65 6e 74 72 | 79 20 2c 20 73 75 62 5f |u , entr|y , sub_|
|00001960| 6d 65 6e 75 20 29 0d 00 | cc 07 2a 7c 21 0d 00 cd |menu )..|..*|!...|
|00001970| 3f 2a 7c 21 57 69 6c 6c | 20 61 74 74 61 63 68 20 |?*|!Will| attach |
|00001980| 74 68 65 20 67 69 76 65 | 6e 20 6d 65 6e 75 20 28 |the give|n menu (|
|00001990| 73 75 62 5f 6d 65 6e 75 | 29 20 74 6f 20 74 68 65 |sub_menu|) to the|
|000019a0| 20 67 69 76 65 6e 20 65 | 6e 74 72 79 0d 00 ce 20 | given e|ntry... |
|000019b0| 2a 7c 21 6f 66 20 74 68 | 65 20 67 69 76 65 6e 20 |*|!of th|e given |
|000019c0| 6d 65 6e 75 20 28 6d 65 | 6e 75 29 2e 0d 00 cf 1c |menu (me|nu).....|
|000019d0| dd f2 6d 65 6e 75 5f 73 | 75 62 6d 65 6e 75 28 4d |..menu_s|ubmenu(M|
|000019e0| 25 2c 4e 25 2c 53 25 29 | 0d 00 d0 23 ea 20 50 25 |%,N%,S%)|...#. P%|
|000019f0| 3a 50 25 3d 21 28 5f 77 | 69 6d 70 5f 6d 65 6e 75 |:P%=!(_w|imp_menu|
|00001a00| 25 2b 34 2a 28 4d 25 2b | 31 29 29 0d 00 d1 26 21 |%+4*(M%+|1))...&!|
|00001a10| 28 50 25 2b 32 38 2b 4e | 25 2a 32 34 29 3d 21 28 |(P%+28+N|%*24)=!(|
|00001a20| 50 25 2b 32 38 2b 4e 25 | 2a 32 34 29 20 84 20 31 |P%+28+N%|*24) . 1|
|00001a30| 36 0d 00 d2 2a 21 28 50 | 25 2b 33 32 2b 4e 25 2a |6...*!(P|%+32+N%*|
|00001a40| 32 34 29 3d 21 28 5f 77 | 69 6d 70 5f 6d 65 6e 75 |24)=!(_w|imp_menu|
|00001a50| 25 2b 34 2a 28 53 25 2b | 31 29 29 0d 00 d3 05 e1 |%+4*(S%+|1)).....|
|00001a60| 0d 00 d4 04 0d 00 d5 1b | 2a 7c 73 74 6f 70 20 50 |........|*|stop P|
|00001a70| 52 4f 43 6d 65 6e 75 5f | 73 75 62 6d 65 6e 75 0d |ROCmenu_|submenu.|
|00001a80| 00 d6 20 2a 7c 73 74 61 | 72 74 20 50 52 4f 43 6d |.. *|sta|rt PROCm|
|00001a90| 65 6e 75 5f 61 64 64 69 | 6e 64 69 72 65 63 74 0d |enu_addi|ndirect.|
|00001aa0| 00 d7 44 2a 7c 21 50 52 | 4f 43 6d 65 6e 75 5f 61 |..D*|!PR|OCmenu_a|
|00001ab0| 64 64 69 6e 64 69 72 65 | 63 74 28 20 6d 65 6e 75 |ddindire|ct( menu|
|00001ac0| 20 2c 20 65 6e 74 72 79 | 20 2c 20 77 69 64 74 68 | , entry| , width|
|00001ad0| 20 2c 20 66 6c 61 67 73 | 20 2c 20 62 75 66 66 65 | , flags| , buffe|
|00001ae0| 72 20 29 0d 00 d8 07 2a | 7c 21 0d 00 d9 3b 2a 7c |r )....*||!...;*||
|00001af0| 21 43 72 65 61 74 65 73 | 20 61 6e 20 69 6e 64 69 |!Creates| an indi|
|00001b00| 72 65 63 74 20 6d 65 6e | 75 20 65 6e 74 72 79 20 |rect men|u entry |
|00001b10| 70 6f 69 6e 74 69 6e 67 | 20 74 6f 20 74 68 65 20 |pointing| to the |
|00001b20| 67 69 76 65 6e 0d 00 da | 39 2a 7c 21 62 75 66 66 |given...|9*|!buff|
|00001b30| 65 72 2e 20 54 68 65 20 | 6d 65 6e 75 20 65 6e 74 |er. The |menu ent|
|00001b40| 72 79 20 77 69 6c 6c 20 | 62 65 20 74 68 65 20 67 |ry will |be the g|
|00001b50| 69 76 65 6e 20 77 69 64 | 74 68 20 28 69 6e 0d 00 |iven wid|th (in..|
|00001b60| db 33 2a 7c 21 63 68 61 | 72 61 63 74 65 72 73 29 |.3*|!cha|racters)|
|00001b70| 20 77 69 64 65 20 61 74 | 20 6c 65 61 73 74 2e 20 | wide at| least. |
|00001b80| 46 6f 72 20 66 6c 61 67 | 73 20 73 65 65 20 74 68 |For flag|s see th|
|00001b90| 65 0d 00 dc 22 2a 7c 21 | 27 6d 65 6e 75 5f 61 64 |e..."*|!|'menu_ad|
|00001ba0| 64 69 74 65 6d 27 20 64 | 65 73 63 72 69 70 74 69 |ditem' d|escripti|
|00001bb0| 6f 6e 2e 0d 00 dd 26 dd | f2 6d 65 6e 75 5f 61 64 |on....&.|.menu_ad|
|00001bc0| 64 69 6e 64 69 72 65 63 | 74 28 4d 25 2c 4e 25 2c |dindirec|t(M%,N%,|
|00001bd0| 57 25 2c 46 25 2c 42 25 | 29 0d 00 de 08 ea 20 50 |W%,F%,B%|)..... P|
|00001be0| 25 0d 00 df 4d 50 25 3d | 21 28 5f 77 69 6d 70 5f |%...MP%=|!(_wimp_|
|00001bf0| 6d 65 6e 75 25 2b 34 2a | 28 4d 25 2b 31 29 29 3a |menu%+4*|(M%+1)):|
|00001c00| e7 20 50 25 3d 30 20 8c | 20 85 20 30 2c 22 4d 65 |. P%=0 .| . 0,"Me|
|00001c10| 6e 75 20 6e 75 6d 62 65 | 72 20 22 2b c3 28 4d 25 |nu numbe|r "+.(M%|
|00001c20| 29 2b 22 20 75 6e 64 65 | 66 69 6e 65 64 22 0d 00 |)+" unde|fined"..|
|00001c30| e0 40 21 28 50 25 2b 32 | 38 2b 4e 25 2a 32 34 29 |.@!(P%+2|8+N%*24)|
|00001c40| 3d 28 21 28 50 25 2b 32 | 38 2b 4e 25 2a 32 34 29 |=(!(P%+2|8+N%*24)|
|00001c50| 20 80 20 26 46 30 29 20 | 84 20 46 25 3a 21 28 50 | . &F0) |. F%:!(P|
|00001c60| 25 2b 33 32 2b 4e 25 2a | 32 34 29 3d 2d 31 0d 00 |%+32+N%*|24)=-1..|
|00001c70| e1 4f 21 28 50 25 2b 33 | 36 2b 4e 25 2a 32 34 29 |.O!(P%+3|6+N%*24)|
|00001c80| 3d 26 37 30 30 30 31 32 | 31 3a 21 28 50 25 2b 34 |=&700012|1:!(P%+4|
|00001c90| 30 2b 4e 25 2a 32 34 29 | 3d 42 25 3a 21 28 50 25 |0+N%*24)|=B%:!(P%|
|00001ca0| 2b 34 34 2b 4e 25 2a 32 | 34 29 3d 30 3a 21 28 50 |+44+N%*2|4)=0:!(P|
|00001cb0| 25 2b 34 38 2b 4e 25 2a | 32 34 29 3d 30 0d 00 e2 |%+48+N%*|24)=0...|
|00001cc0| 26 57 25 3d 31 36 2a 28 | 31 2b 57 25 29 3a e7 20 |&W%=16*(|1+W%):. |
|00001cd0| 57 25 3e 50 25 21 31 36 | 20 8c 20 50 25 21 31 36 |W%>P%!16| . P%!16|
|00001ce0| 3d 57 25 0d 00 e3 05 e1 | 0d 00 e4 04 0d 00 e5 1f |=W%.....|........|
|00001cf0| 2a 7c 73 74 6f 70 20 50 | 52 4f 43 6d 65 6e 75 5f |*|stop P|ROCmenu_|
|00001d00| 61 64 64 69 6e 64 69 72 | 65 63 74 0d 00 e6 20 2a |addindir|ect... *|
|00001d10| 7c 73 74 61 72 74 20 50 | 52 4f 43 6d 65 6e 75 5f ||start P|ROCmenu_|
|00001d20| 61 64 64 77 72 69 74 61 | 62 6c 65 0d 00 e7 5a 2a |addwrita|ble...Z*|
|00001d30| 7c 21 50 52 4f 43 6d 65 | 6e 75 5f 61 64 64 77 72 ||!PROCme|nu_addwr|
|00001d40| 69 74 61 62 6c 65 28 20 | 6d 65 6e 75 20 2c 20 65 |itable( |menu , e|
|00001d50| 6e 74 72 79 20 2c 20 77 | 69 64 74 68 20 2c 20 66 |ntry , w|idth , f|
|00001d60| 6c 61 67 73 20 2c 20 62 | 75 66 66 65 72 20 2c 20 |lags , b|uffer , |
|00001d70| 76 61 6c 69 64 61 74 69 | 6f 6e 20 2c 20 6c 65 6e |validati|on , len|
|00001d80| 67 74 68 20 29 0d 00 e8 | 07 2a 7c 21 0d 00 e9 41 |gth )...|.*|!...A|
|00001d90| 2a 7c 21 53 69 6d 69 6c | 61 72 20 74 6f 20 74 68 |*|!Simil|ar to th|
|00001da0| 65 20 6d 65 6e 75 5f 61 | 64 64 69 6e 64 69 72 65 |e menu_a|ddindire|
|00001db0| 63 74 2c 20 6f 6e 6c 79 | 20 61 6c 73 6f 20 6d 61 |ct, only| also ma|
|00001dc0| 6b 65 73 20 74 68 65 20 | 65 6e 74 72 79 0d 00 ea |kes the |entry...|
|00001dd0| 44 2a 7c 21 77 72 69 74 | 61 62 6c 65 20 77 69 74 |D*|!writ|able wit|
|00001de0| 68 20 67 69 76 65 6e 20 | 76 61 6c 69 64 61 74 69 |h given |validati|
|00001df0| 6f 6e 20 73 74 72 69 6e | 67 20 28 70 6f 69 6e 74 |on strin|g (point|
|00001e00| 65 72 20 74 6f 29 20 61 | 6e 64 20 6c 65 6e 67 74 |er to) a|nd lengt|
|00001e10| 68 0d 00 eb 35 2a 7c 21 | 73 68 6f 75 6c 64 20 63 |h...5*|!|should c|
|00001e20| 6f 6e 74 61 69 6e 20 74 | 68 65 20 6c 65 6e 67 74 |ontain t|he lengt|
|00001e30| 68 20 6f 66 20 74 68 65 | 20 67 69 76 65 6e 20 62 |h of the| given b|
|00001e40| 75 66 66 65 72 2e 0d 00 | ec 2c dd f2 6d 65 6e 75 |uffer...|.,..menu|
|00001e50| 5f 61 64 64 77 72 69 74 | 61 62 6c 65 28 4d 25 2c |_addwrit|able(M%,|
|00001e60| 4e 25 2c 57 25 2c 46 25 | 2c 42 25 2c 56 25 2c 4c |N%,W%,F%|,B%,V%,L|
|00001e70| 25 29 0d 00 ed 08 ea 20 | 50 25 0d 00 ee 4d 50 25 |%)..... |P%...MP%|
|00001e80| 3d 21 28 5f 77 69 6d 70 | 5f 6d 65 6e 75 25 2b 34 |=!(_wimp|_menu%+4|
|00001e90| 2a 28 4d 25 2b 31 29 29 | 3a e7 20 50 25 3d 30 20 |*(M%+1))|:. P%=0 |
|00001ea0| 8c 20 85 20 30 2c 22 4d | 65 6e 75 20 6e 75 6d 62 |. . 0,"M|enu numb|
|00001eb0| 65 72 20 22 2b c3 28 4d | 25 29 2b 22 20 75 6e 64 |er "+.(M|%)+" und|
|00001ec0| 65 66 69 6e 65 64 22 0d | 00 ef 44 21 28 50 25 2b |efined".|..D!(P%+|
|00001ed0| 32 38 2b 4e 25 2a 32 34 | 29 3d 28 21 28 50 25 2b |28+N%*24|)=(!(P%+|
|00001ee0| 32 38 2b 4e 25 2a 32 34 | 29 20 80 20 26 46 30 29 |28+N%*24|) . &F0)|
|00001ef0| 20 84 20 46 25 20 84 20 | 34 3a 21 28 50 25 2b 33 | . F% . |4:!(P%+3|
|00001f00| 32 2b 4e 25 2a 32 34 29 | 3d 2d 31 0d 00 f0 51 21 |2+N%*24)|=-1...Q!|
|00001f10| 28 50 25 2b 33 36 2b 4e | 25 2a 32 34 29 3d 26 37 |(P%+36+N|%*24)=&7|
|00001f20| 30 30 30 31 32 31 3a 21 | 28 50 25 2b 34 30 2b 4e |000121:!|(P%+40+N|
|00001f30| 25 2a 32 34 29 3d 42 25 | 3a 21 28 50 25 2b 34 34 |%*24)=B%|:!(P%+44|
|00001f40| 2b 4e 25 2a 32 34 29 3d | 56 25 3a 21 28 50 25 2b |+N%*24)=|V%:!(P%+|
|00001f50| 34 38 2b 4e 25 2a 32 34 | 29 3d 4c 25 0d 00 f1 26 |48+N%*24|)=L%...&|
|00001f60| 57 25 3d 31 36 2a 28 31 | 2b 57 25 29 3a e7 20 57 |W%=16*(1|+W%):. W|
|00001f70| 25 3e 50 25 21 31 36 20 | 8c 20 50 25 21 31 36 3d |%>P%!16 |. P%!16=|
|00001f80| 57 25 0d 00 f2 05 e1 0d | 00 f3 04 0d 00 f4 1f 2a |W%......|.......*|
|00001f90| 7c 73 74 6f 70 20 50 52 | 4f 43 6d 65 6e 75 5f 61 ||stop PR|OCmenu_a|
|00001fa0| 64 64 77 72 69 74 61 62 | 6c 65 0d 00 f5 1c 2a 7c |ddwritab|le....*||
|00001fb0| 73 74 61 72 74 20 50 52 | 4f 43 6d 65 6e 75 5f 61 |start PR|OCmenu_a|
|00001fc0| 64 64 69 74 65 6d 0d 00 | f6 36 2a 7c 21 50 52 4f |dditem..|.6*|!PRO|
|00001fd0| 43 6d 65 6e 75 5f 61 64 | 64 69 74 65 6d 28 20 6d |Cmenu_ad|ditem( m|
|00001fe0| 65 6e 75 20 2c 20 65 6e | 74 72 79 20 2c 20 69 74 |enu , en|try , it|
|00001ff0| 65 6d 20 2c 20 66 6c 61 | 67 73 20 29 0d 00 f7 07 |em , fla|gs )....|
|00002000| 2a 7c 21 0d 00 f8 45 2a | 7c 21 43 72 65 61 74 65 |*|!...E*||!Create|
|00002010| 73 20 74 68 65 20 67 69 | 76 65 6e 20 65 6e 74 72 |s the gi|ven entr|
|00002020| 79 20 66 6f 72 20 74 68 | 65 20 67 69 76 65 6e 20 |y for th|e given |
|00002030| 6d 65 6e 75 20 74 6f 20 | 63 6f 6e 74 61 69 6e 20 |menu to |contain |
|00002040| 61 20 73 69 6d 70 6c 65 | 0d 00 f9 45 2a 7c 21 74 |a simple|...E*|!t|
|00002050| 65 78 74 20 65 6e 74 72 | 79 20 28 74 65 78 74 20 |ext entr|y (text |
|00002060| 67 69 76 65 6e 20 69 6e | 20 69 74 65 6d 20 73 74 |given in| item st|
|00002070| 72 69 6e 67 29 2e 20 54 | 68 65 20 66 6c 61 67 73 |ring). T|he flags|
|00002080| 20 63 61 6e 20 69 6e 64 | 69 63 61 74 65 0d 00 fa | can ind|icate...|
|00002090| 3a 2a 7c 21 69 66 20 74 | 68 65 20 65 6e 74 72 79 |:*|!if t|he entry|
|000020a0| 20 69 73 20 74 6f 20 62 | 65 20 74 69 63 6b 65 64 | is to b|e ticked|
|000020b0| 20 61 6e 64 2f 6f 72 20 | 75 6e 64 65 72 6c 69 6e | and/or |underlin|
|000020c0| 65 64 2c 20 65 67 2e 0d | 00 fb 07 2a 7c 21 0d 00 |ed, eg..|...*|!..|
|000020d0| fc 3b 2a 7c 21 20 20 50 | 52 4f 43 6d 65 6e 75 5f |.;*|! P|ROCmenu_|
|000020e0| 61 64 64 69 74 65 6d 28 | 30 2c 31 2c 22 46 61 73 |additem(|0,1,"Fas|
|000020f0| 74 22 2c 6d 65 6e 75 5f | 74 69 63 6b 2b 6d 65 6e |t",menu_|tick+men|
|00002100| 75 5f 64 6f 74 74 65 64 | 29 0d 00 fd 07 2a 7c 21 |u_dotted|)....*|!|
|00002110| 0d 00 fe 38 2a 7c 21 77 | 69 6c 6c 20 63 72 65 61 |...8*|!w|ill crea|
|00002120| 74 65 20 74 68 65 20 73 | 65 63 6f 6e 64 20 65 6e |te the s|econd en|
|00002130| 74 72 79 20 69 6e 20 74 | 68 65 20 66 69 72 73 74 |try in t|he first|
|00002140| 20 6d 65 6e 75 20 74 6f | 0d 00 ff 42 2a 7c 21 63 | menu to|...B*|!c|
|00002150| 6f 6e 74 61 69 6e 20 74 | 68 65 20 74 65 78 74 20 |ontain t|he text |
|00002160| 22 46 61 73 74 22 20 61 | 6e 64 20 62 65 20 74 69 |"Fast" a|nd be ti|
|00002170| 63 6b 65 64 20 61 6e 64 | 20 75 6e 64 65 72 6c 69 |cked and| underli|
|00002180| 6e 65 64 20 77 69 74 68 | 20 61 0d 01 00 18 2a 7c |ned with| a....*||
|00002190| 21 64 6f 74 74 65 64 20 | 75 6e 64 65 72 6c 69 6e |!dotted |underlin|
|000021a0| 65 2e 0d 01 01 1f dd f2 | 6d 65 6e 75 5f 61 64 64 |e.......|menu_add|
|000021b0| 69 74 65 6d 28 4d 25 2c | 4e 25 2c 49 24 2c 46 25 |item(M%,|N%,I$,F%|
|000021c0| 29 0d 01 02 0b ea 20 50 | 25 2c 57 25 0d 01 03 4d |)..... P|%,W%...M|
|000021d0| 50 25 3d 21 28 5f 77 69 | 6d 70 5f 6d 65 6e 75 25 |P%=!(_wi|mp_menu%|
|000021e0| 2b 34 2a 28 4d 25 2b 31 | 29 29 3a e7 20 50 25 3d |+4*(M%+1|)):. P%=|
|000021f0| 30 20 8c 20 85 20 30 2c | 22 4d 65 6e 75 20 6e 75 |0 . . 0,|"Menu nu|
|00002200| 6d 62 65 72 20 22 2b c3 | 28 4d 25 29 2b 22 20 75 |mber "+.|(M%)+" u|
|00002210| 6e 64 65 66 69 6e 65 64 | 22 0d 01 04 40 21 28 50 |ndefined|"...@!(P|
|00002220| 25 2b 32 38 2b 4e 25 2a | 32 34 29 3d 28 21 28 50 |%+28+N%*|24)=(!(P|
|00002230| 25 2b 32 38 2b 4e 25 2a | 32 34 29 20 80 20 26 46 |%+28+N%*|24) . &F|
|00002240| 30 29 20 84 20 46 25 3a | 21 28 50 25 2b 33 32 2b |0) . F%:|!(P%+32+|
|00002250| 4e 25 2a 32 34 29 3d 2d | 31 0d 01 05 44 21 28 50 |N%*24)=-|1...D!(P|
|00002260| 25 2b 33 36 2b 4e 25 2a | 32 34 29 3d 26 37 30 30 |%+36+N%*|24)=&700|
|00002270| 30 30 32 31 3a 24 28 50 | 25 2b 34 30 2b 4e 25 2a |0021:$(P|%+40+N%*|
|00002280| 32 34 29 3d 49 24 3a 3f | 28 50 25 2b 34 30 2b 4e |24)=I$:?|(P%+40+N|
|00002290| 25 2a 32 34 2b a9 28 49 | 24 29 29 3d 30 0d 01 06 |%*24+.(I|$))=0...|
|000022a0| 29 57 25 3d 31 36 2a 28 | 31 2b a9 28 49 24 29 29 |)W%=16*(|1+.(I$))|
|000022b0| 3a e7 20 57 25 3e 50 25 | 21 31 36 20 8c 20 50 25 |:. W%>P%|!16 . P%|
|000022c0| 21 31 36 3d 57 25 0d 01 | 07 05 e1 0d 01 08 04 0d |!16=W%..|........|
|000022d0| 01 09 1b 2a 7c 73 74 6f | 70 20 50 52 4f 43 6d 65 |...*|sto|p PROCme|
|000022e0| 6e 75 5f 61 64 64 69 74 | 65 6d 0d 01 0a 1c 2a 7c |nu_addit|em....*||
|000022f0| 73 74 61 72 74 20 50 52 | 4f 43 6d 65 6e 75 5f 64 |start PR|OCmenu_d|
|00002300| 65 73 74 72 6f 79 0d 01 | 0b 1f 2a 7c 21 50 52 4f |estroy..|..*|!PRO|
|00002310| 43 6d 65 6e 75 5f 64 65 | 73 74 72 6f 79 28 20 6d |Cmenu_de|stroy( m|
|00002320| 65 6e 75 20 29 0d 01 0c | 07 2a 7c 21 0d 01 0d 43 |enu )...|.*|!...C|
|00002330| 2a 7c 21 57 69 6c 6c 20 | 64 65 73 74 72 6f 79 20 |*|!Will |destroy |
|00002340| 28 64 65 61 6c 6c 6f 63 | 61 74 65 20 74 68 65 20 |(dealloc|ate the |
|00002350| 6d 65 6d 6f 72 79 20 75 | 73 65 64 20 62 79 29 20 |memory u|sed by) |
|00002360| 74 68 65 20 67 69 76 65 | 6e 20 6d 65 6e 75 2e 0d |the give|n menu..|
|00002370| 01 0e 3f 2a 7c 21 55 73 | 65 66 75 6c 20 69 66 20 |..?*|!Us|eful if |
|00002380| 79 6f 75 20 63 72 65 61 | 74 65 20 61 6e 79 20 6c |you crea|te any l|
|00002390| 61 72 67 65 20 6d 65 6e | 75 73 20 28 65 67 2e 20 |arge men|us (eg. |
|000023a0| 66 6f 6e 74 20 73 65 6c | 65 63 74 69 6f 6e 0d 01 |font sel|ection..|
|000023b0| 0f 3f 2a 7c 21 6d 65 6e | 75 73 29 2e 20 54 68 65 |.?*|!men|us). The|
|000023c0| 72 65 20 69 73 20 6e 6f | 20 72 65 61 6c 20 6e 65 |re is no| real ne|
|000023d0| 65 64 20 74 6f 20 65 76 | 65 72 20 63 61 6c 6c 20 |ed to ev|er call |
|000023e0| 74 68 69 73 20 72 6f 75 | 74 69 6e 65 2e 0d 01 10 |this rou|tine....|
|000023f0| 16 dd f2 6d 65 6e 75 5f | 64 65 73 74 72 6f 79 28 |...menu_|destroy(|
|00002400| 4d 25 29 0d 01 11 08 ea | 20 50 25 0d 01 12 1e 50 |M%).....| P%....P|
|00002410| 25 3d 21 28 5f 77 69 6d | 70 5f 6d 65 6e 75 25 2b |%=!(_wim|p_menu%+|
|00002420| 34 2a 28 4d 25 2b 31 29 | 29 0d 01 13 2e e7 20 50 |4*(M%+1)|)..... P|
|00002430| 25 20 8c 20 f2 66 72 65 | 65 28 50 25 29 3a 21 28 |% . .fre|e(P%):!(|
|00002440| 5f 77 69 6d 70 5f 6d 65 | 6e 75 25 2b 34 2a 28 4d |_wimp_me|nu%+4*(M|
|00002450| 25 2b 31 29 29 3d 30 0d | 01 14 05 e1 0d 01 15 04 |%+1))=0.|........|
|00002460| 0d 01 16 1b 2a 7c 73 74 | 6f 70 20 50 52 4f 43 6d |....*|st|op PROCm|
|00002470| 65 6e 75 5f 64 65 73 74 | 72 6f 79 0d 01 17 1b 2a |enu_dest|roy....*|
|00002480| 7c 73 74 61 72 74 20 50 | 52 4f 43 6d 65 6e 75 5f ||start P|ROCmenu_|
|00002490| 68 65 61 64 65 72 0d 01 | 18 2f 2a 7c 21 50 52 4f |header..|./*|!PRO|
|000024a0| 43 6d 65 6e 75 5f 68 65 | 61 64 65 72 28 20 74 69 |Cmenu_he|ader( ti|
|000024b0| 74 6c 65 20 2c 20 6d 65 | 6e 75 20 2c 20 6e 75 6d |tle , me|nu , num|
|000024c0| 62 65 72 20 29 0d 01 19 | 07 2a 7c 21 0d 01 1a 41 |ber )...|.*|!...A|
|000024d0| 2a 7c 21 43 72 65 61 74 | 65 73 20 74 68 65 20 68 |*|!Creat|es the h|
|000024e0| 65 61 64 65 72 20 66 6f | 72 20 74 68 65 20 67 69 |eader fo|r the gi|
|000024f0| 76 65 6e 20 6d 65 6e 75 | 20 77 69 74 68 20 74 68 |ven menu| with th|
|00002500| 65 20 67 69 76 65 6e 20 | 74 69 74 6c 65 0d 01 1b |e given |title...|
|00002510| 41 2a 7c 21 61 6e 64 20 | 74 6f 20 63 6f 6e 74 61 |A*|!and |to conta|
|00002520| 69 6e 20 74 68 65 20 67 | 69 76 65 6e 20 6e 75 6d |in the g|iven num|
|00002530| 62 65 72 20 6f 66 20 65 | 6e 74 72 69 65 73 2e 20 |ber of e|ntries. |
|00002540| 45 6e 74 72 69 65 73 20 | 73 68 6f 75 6c 64 0d 01 |Entries |should..|
|00002550| 1c 3e 2a 7c 21 74 68 65 | 6e 20 62 65 20 66 69 6c |.>*|!the|n be fil|
|00002560| 6c 65 64 20 75 73 69 6e | 67 20 74 68 65 20 6d 65 |led usin|g the me|
|00002570| 6e 75 5f 61 64 64 69 74 | 65 6d 2c 20 6d 65 6e 75 |nu_addit|em, menu|
|00002580| 5f 61 64 64 77 72 69 74 | 61 62 6c 65 0d 01 1d 25 |_addwrit|able...%|
|00002590| 2a 7c 21 61 6e 64 20 6d | 65 6e 75 5f 61 64 64 69 |*|!and m|enu_addi|
|000025a0| 6e 64 69 72 65 63 74 20 | 72 6f 75 74 69 6e 65 73 |ndirect |routines|
|000025b0| 2e 0d 01 1e 1b dd f2 6d | 65 6e 75 5f 68 65 61 64 |.......m|enu_head|
|000025c0| 65 72 28 54 24 2c 4d 25 | 2c 4e 25 29 0d 01 1f 0b |er(T$,M%|,N%)....|
|000025d0| ea 20 50 25 2c 41 25 0d | 01 20 1e 50 25 3d 21 28 |. P%,A%.|. .P%=!(|
|000025e0| 5f 77 69 6d 70 5f 6d 65 | 6e 75 25 2b 34 2a 28 4d |_wimp_me|nu%+4*(M|
|000025f0| 25 2b 31 29 29 0d 01 21 | 0c e7 20 50 25 3d 30 20 |%+1))..!|.. P%=0 |
|00002600| 8c 0d 01 22 35 20 20 50 | 25 3d a4 6d 61 6c 6c 6f |..."5 P|%=.mallo|
|00002610| 63 28 33 32 2b 32 34 2a | 4e 25 29 3a 21 28 5f 77 |c(32+24*|N%):!(_w|
|00002620| 69 6d 70 5f 6d 65 6e 75 | 25 2b 34 2a 28 4d 25 2b |imp_menu|%+4*(M%+|
|00002630| 31 29 29 3d 50 25 0d 01 | 23 05 cc 0d 01 24 52 20 |1))=P%..|#....$R |
|00002640| 20 e7 20 a4 73 69 7a 65 | 5f 6f 66 28 50 25 29 3c | . .size|_of(P%)<|
|00002650| 28 33 32 2b 32 34 2a 4e | 25 29 20 8c 20 f2 72 65 |(32+24*N|%) . .re|
|00002660| 61 6c 6c 6f 63 28 50 25 | 2c 33 32 2b 32 34 2a 4e |alloc(P%|,32+24*N|
|00002670| 25 29 3a 21 28 5f 77 69 | 6d 70 5f 6d 65 6e 75 25 |%):!(_wi|mp_menu%|
|00002680| 2b 34 2a 28 4d 25 2b 31 | 29 29 3d 50 25 0d 01 25 |+4*(M%+1|))=P%..%|
|00002690| 05 cd 0d 01 26 46 24 50 | 25 3d 54 24 3a 50 25 3f |....&F$P|%=T$:P%?|
|000026a0| a9 28 54 24 29 3d 30 3a | 50 25 21 31 32 3d 26 37 |.(T$)=0:|P%!12=&7|
|000026b0| 30 32 30 37 3a 50 25 21 | 31 36 3d 31 36 2a 28 31 |0207:P%!|16=16*(1|
|000026c0| 2b a9 28 54 24 29 29 3a | 50 25 21 32 30 3d 34 34 |+.(T$)):|P%!20=44|
|000026d0| 3a 50 25 21 32 34 3d 30 | 0d 01 27 36 e3 20 41 25 |:P%!24=0|..'6. A%|
|000026e0| 3d 30 20 b8 20 4e 25 2d | 32 3a 21 28 50 25 2b 32 |=0 . N%-|2:!(P%+2|
|000026f0| 38 2b 41 25 2a 32 34 29 | 3d 30 3a ed 3a 21 28 50 |8+A%*24)|=0:.:!(P|
|00002700| 25 2b 34 2b 4e 25 2a 32 | 34 29 3d 31 32 38 0d 01 |%+4+N%*2|4)=128..|
|00002710| 28 05 e1 0d 01 29 04 0d | 01 2a 1a 2a 7c 73 74 6f |(....)..|.*.*|sto|
|00002720| 70 20 50 52 4f 43 6d 65 | 6e 75 5f 68 65 61 64 65 |p PROCme|nu_heade|
|00002730| 72 0d 01 2b 1b 2a 7c 73 | 74 61 72 74 20 50 52 4f |r..+.*|s|tart PRO|
|00002740| 43 6d 65 6e 75 5f 72 65 | 6d 6f 76 65 0d 01 2c 16 |Cmenu_re|move..,.|
|00002750| 2a 7c 21 50 52 4f 43 6d | 65 6e 75 5f 72 65 6d 6f |*|!PROCm|enu_remo|
|00002760| 76 65 0d 01 2d 07 2a 7c | 21 0d 01 2e 38 2a 7c 21 |ve..-.*||!...8*|!|
|00002770| 54 68 69 73 20 72 6f 75 | 74 69 6e 65 20 72 65 6d |This rou|tine rem|
|00002780| 6f 76 65 73 20 61 6e 79 | 20 6d 65 6e 75 20 77 68 |oves any| menu wh|
|00002790| 69 63 68 20 69 73 20 6f | 6e 20 73 63 72 65 65 6e |ich is o|n screen|
|000027a0| 2e 0d 01 2f 12 dd 20 f2 | 6d 65 6e 75 5f 72 65 6d |.../.. .|menu_rem|
|000027b0| 6f 76 65 0d 01 30 1c c8 | 99 20 22 57 69 6d 70 5f |ove..0..|. "Wimp_|
|000027c0| 43 72 65 61 74 65 4d 65 | 6e 75 22 2c 2c 2d 31 0d |CreateMe|nu",,-1.|
|000027d0| 01 31 05 e1 0d 01 32 04 | 0d 01 33 1a 2a 7c 73 74 |.1....2.|..3.*|st|
|000027e0| 6f 70 20 50 52 4f 43 6d | 65 6e 75 5f 72 65 6d 6f |op PROCm|enu_remo|
|000027f0| 76 65 0d 01 34 1c 2a 7c | 73 74 61 72 74 20 50 52 |ve..4.*||start PR|
|00002800| 4f 43 6d 65 6e 75 5f 6f | 70 65 6e 77 69 6e 0d 01 |OCmenu_o|penwin..|
|00002810| 35 29 2a 7c 21 50 52 4f | 43 6d 65 6e 75 5f 6f 70 |5)*|!PRO|Cmenu_op|
|00002820| 65 6e 77 69 6e 28 20 77 | 69 6e 64 6f 77 20 2c 20 |enwin( w|indow , |
|00002830| 78 20 2c 20 79 20 29 0d | 01 36 07 2a 7c 21 0d 01 |x , y ).|.6.*|!..|
|00002840| 37 4c 2a 7c 21 54 68 69 | 73 20 70 72 6f 63 65 64 |7L*|!Thi|s proced|
|00002850| 75 72 65 20 6f 70 65 6e | 73 20 61 20 77 69 6e 64 |ure open|s a wind|
|00002860| 6f 77 20 61 74 20 74 68 | 65 20 67 69 76 65 6e 20 |ow at th|e given |
|00002870| 63 6f 6f 72 64 69 6e 61 | 74 65 73 20 61 73 20 61 |coordina|tes as a|
|00002880| 20 74 72 61 6e 73 69 65 | 6e 74 0d 01 38 4a 2a 7c | transie|nt..8J*||
|00002890| 21 77 69 6e 64 6f 77 20 | 28 69 65 20 61 73 20 69 |!window |(ie as i|
|000028a0| 66 20 69 74 20 77 61 73 | 20 6f 70 65 6e 65 64 20 |f it was| opened |
|000028b0| 66 72 6f 6d 20 61 20 6d | 65 6e 75 20 74 72 65 65 |from a m|enu tree|
|000028c0| 29 2e 20 49 74 20 77 69 | 6c 6c 20 74 68 65 72 65 |). It wi|ll there|
|000028d0| 66 6f 72 65 0d 01 39 4d | 2a 7c 21 64 69 73 61 70 |fore..9M|*|!disap|
|000028e0| 70 65 61 72 20 69 6e 20 | 61 6c 6c 20 74 68 65 20 |pear in |all the |
|000028f0| 63 61 73 65 73 20 77 68 | 65 6e 20 61 20 6d 65 6e |cases wh|en a men|
|00002900| 75 20 77 6f 75 6c 64 20 | 64 69 73 61 70 70 65 61 |u would |disappea|
|00002910| 72 2e 20 49 66 20 63 6f | 6f 72 64 69 6e 61 74 65 |r. If co|ordinate|
|00002920| 73 0d 01 3a 4e 2a 7c 21 | 6f 66 20 28 2d 31 2c 2d |s..:N*|!|of (-1,-|
|00002930| 31 29 20 61 72 65 20 67 | 69 76 65 6e 2c 20 74 68 |1) are g|iven, th|
|00002940| 65 6e 20 74 68 65 20 77 | 69 6e 64 6f 77 20 77 69 |en the w|indow wi|
|00002950| 6c 6c 20 62 65 20 6f 70 | 65 6e 65 64 20 75 6e 64 |ll be op|ened und|
|00002960| 65 72 20 74 68 65 20 70 | 6f 69 6e 74 65 72 2e 0d |er the p|ointer..|
|00002970| 01 3b 07 2a 7c 21 0d 01 | 3c 4b 2a 7c 21 54 68 69 |.;.*|!..|<K*|!Thi|
|00002980| 73 20 73 68 6f 75 6c 64 | 20 62 65 20 75 73 65 64 |s should| be used|
|00002990| 20 74 6f 20 6f 70 65 6e | 20 61 6e 79 20 77 69 6e | to open| any win|
|000029a0| 64 6f 77 73 20 28 73 75 | 63 68 20 61 73 20 73 61 |dows (su|ch as sa|
|000029b0| 76 65 20 77 69 6e 64 6f | 77 73 29 20 77 68 69 63 |ve windo|ws) whic|
|000029c0| 68 0d 01 3d 3f 2a 7c 21 | 61 72 65 20 68 75 6e 67 |h..=?*|!|are hung|
|000029d0| 20 6f 6e 20 61 20 6d 65 | 6e 75 20 74 72 65 65 20 | on a me|nu tree |
|000029e0| 62 75 74 20 63 61 6e 20 | 62 65 20 61 63 74 69 76 |but can |be activ|
|000029f0| 61 74 65 64 20 62 79 20 | 68 6f 74 6b 65 79 73 2e |ated by |hotkeys.|
|00002a00| 0d 01 3e 1f dd 20 f2 6d | 65 6e 75 5f 6f 70 65 6e |..>.. .m|enu_open|
|00002a10| 77 69 6e 28 77 69 6e 25 | 2c 78 25 2c 79 25 29 0d |win(win%|,x%,y%).|
|00002a20| 01 3f 15 e7 20 78 25 3d | 2d 31 20 80 20 79 25 3d |.?.. x%=|-1 . y%=|
|00002a30| 2d 31 20 8c 0d 01 40 2d | 20 20 c8 99 20 22 57 69 |-1 ...@-| .. "Wi|
|00002a40| 6d 70 5f 47 65 74 50 6f | 69 6e 74 65 72 49 6e 66 |mp_GetPo|interInf|
|00002a50| 6f 22 2c 2c 5f 77 69 6d | 70 5f 62 75 66 66 65 72 |o",,_wim|p_buffer|
|00002a60| 25 0d 01 41 2b 20 20 78 | 25 3d 5f 77 69 6d 70 5f |%..A+ x|%=_wimp_|
|00002a70| 62 75 66 66 65 72 25 21 | 30 3a 79 25 3d 5f 77 69 |buffer%!|0:y%=_wi|
|00002a80| 6d 70 5f 62 75 66 66 65 | 72 25 21 34 0d 01 42 05 |mp_buffe|r%!4..B.|
|00002a90| cd 0d 01 43 27 c8 99 20 | 22 57 69 6d 70 5f 43 72 |...C'.. |"Wimp_Cr|
|00002aa0| 65 61 74 65 4d 65 6e 75 | 22 2c 2c 77 69 6e 25 21 |eateMenu|",,win%!|
|00002ab0| 2d 38 2c 78 25 2c 79 25 | 0d 01 44 15 5f 77 69 6d |-8,x%,y%|..D._wim|
|00002ac0| 70 5f 6f 6c 64 6d 65 6e | 75 25 3d 2d 31 0d 01 45 |p_oldmen|u%=-1..E|
|00002ad0| 05 e1 0d 01 46 04 0d 01 | 47 1b 2a 7c 73 74 6f 70 |....F...|G.*|stop|
|00002ae0| 20 50 52 4f 43 6d 65 6e | 75 5f 6f 70 65 6e 77 69 | PROCmen|u_openwi|
|00002af0| 6e 0d ff | |n.. | |
+--------+-------------------------+-------------------------+--------+--------+