home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / utilities / utilsf / keys / !IdentiKey / !IdentiKey (.txt) < prev    next >
Encoding:
RISC OS BBC BASIC V Source  |  1994-01-26  |  37.2 KB  |  1,869 lines

  1.  > <IdentiKey$Dir>.!IdentiKey 
  2.  Squished by Lofty's !Shrink vsn 3.02 on 26-Jan-94 
  3. &406C2:
  4. " at line: ";
  5. &406C0:
  6. &400EC,-1,-1
  7. YD%:ZD%=1<<&A:KC%=&8000+YD%:
  8. =KC%+ZD%:
  9. =KC%:
  10. zA("<Obey$Dir>.",KC%):
  11. s:gC%=
  12. q(&C8,"Key/Tree Editor"):
  13. EA:_closedown%=
  14. :rD%=
  15. &406C1:
  16. j(0,gC%)):
  17. _closedown%:
  18. D$(500),A$(500,9),B$(500,9),C%(500),xD%&420,C$(&5DC):
  19. E(500),A(&5DC),D%(&5DC),E%(500):
  20. B(&5DC),C(&64),D(&96):
  21. A%(&64),B%(&64):BB%=
  22. :DB%=1:sA%=1:D$(0)="":M$="Key":w%=1:KA%=1:YA%=0:gD%=&A:PD%=1:p%=513:
  23. S("dummy",HB%):
  24. n%:eD%=
  25. B("MTIBar")):IC%=
  26. B("Info"),""):nB%=
  27. H(0,"Key","_Key"):CE%=
  28. H(0,"Edit Key","_LoadData"):n%=
  29. B("Quit"),"_MenuSelect_Quit"):
  30. k(IC%,"progInfo","_PreOpenInfo",""):
  31. O(nB%,0)
  32. O(nB%,2)
  33. S("xfer_send",eB%):
  34. S("edit",u%):SD%=
  35. B("MTIBar")):IC%=
  36. B("Info"),""):uD%=
  37. H(0,"Clear","_clear"):dD%=
  38. H(0,"Save",""):n%=
  39. B("Quit"),"_MenuSelect_Quit"):
  40. M(dD%,eB%,""):
  41. k(IC%,"progInfo","_PreOpenInfo",""):
  42. i(u%,-1,"_clickedit"):
  43. W(u%,-1,SD%,0,0,0):
  44. p(u%,2,3,4,1,&64,1,
  45. ,"",""):
  46. CA(eB%,3,&3E8,512,2,"_dosave"):
  47. d(u%,-1,513,"_DataLoad",
  48. N("Roots",RB%):
  49. g(-1,"!"+
  50. J,"",&78,eD%,0,0,0):
  51. E(-1,C,"iconbar"):
  52. i(-1,C,"_Clickiconbar"):
  53. d(-1,C,513,"_DataLoad",
  54. _PreOpenInfo(c%):
  55. C(c%,0,
  56. B("progInfo0"),0):
  57. C(c%,1,
  58. B("progInfo1"),0):
  59. C(c%,2,
  60. B("progInfo2"),0):
  61. C(c%,3,
  62. B("progInfo3"),0):=0
  63. _clear(a%):
  64. F(1):
  65. G(u%):=0
  66. _Key(a%):
  67. G(HB%):
  68. J(HB%):
  69. H(50,&708,ZA%)
  70. J(HB%):=0
  71. _LoadData(a%):DB%=
  72. _GetRoots(w%):
  73. F(1):
  74. G(u%):=0
  75. _MenuSelect_Quit(a%):_closedown%=
  76. _dosave(M$):
  77. DA(M$):=0
  78. DA(X$):
  79. &406C0:A=
  80. #A,M$:
  81. #A,w%:
  82. #A,KA%:
  83. #A,D$(A%):B%=0:
  84. :B%+=1:
  85. #A,A$(A%,B%):
  86. #A,B$(A%,B%):
  87. B%=8:
  88. ("SetType "+X$+" &201"):
  89. &406C1:
  90. _DataLoad(PD%,p%,X$,OC%):
  91. GA(X$):
  92. F(1):
  93. O(nB%,0):=0
  94. GA(X$):
  95. U:BB%=
  96. &406C0:A=
  97. (X$):
  98. #A,M$:
  99. #A,w%:
  100. #A,KA%:
  101. #A,D$(A%):B%=0:
  102. :B%+=1:
  103. #A,A$(A%,B%):
  104. #A,B$(A%,B%):
  105. B%=8:
  106. #A:ZA%=
  107. _CreateMenu(ZA%):
  108. &406C1:
  109. C(eB%,2,M$,
  110. C(u%,23,
  111. P(M$),
  112. _Clickiconbar(c%,GA%):
  113. G(HB%):
  114. J(HB%):
  115. H(50,&708,ZA%)
  116. F(1):
  117. G(u%)
  118. _clickedit(c%,GA%):
  119. JA(4,GA%):=0
  120. JA(JB%,GA%):BB%=
  121. GA%=0:
  122. KA:w%+=1:
  123. F(w%):ZA%=
  124. _CreateMenu(ZA%)
  125. GA%=4:w%=
  126. C(u%,2)):
  127. F(w%)
  128. GA%=3:w%=
  129. C(u%,2)):
  130. F(w%)
  131. GA%>23
  132. GA%<32:
  133. GA%>31
  134. GA%<40:
  135. C(u%,GA%))=KA%:
  136. C(u%,GA%,"",
  137. GA%=&A:
  138. KA:M$=
  139. C(u%,23):D$(w%)=
  140. C(u%,7):w%=
  141. C(u%,2)):YA%=0:
  142. :YA%+=1:A$(w%,YA%)=
  143. C(u%,&E+YA%):B$(w%,YA%)=
  144. C(u%,31+YA%):
  145. A$(w%,YA%)=""
  146. YA%=8:
  147. w%>KA%KA%=w%
  148. _GetRoots(w%):
  149. F(w%):
  150. C(u%,23,
  151. P(M$),
  152. C(u%,2,
  153. (w%),
  154. C(u%,7,D$(w%),
  155. C(u%,&E+B%,A$(w%,B%),
  156. C(u%,31+B%,B$(w%,B%),
  157. C(eB%,2,M$,
  158. QA:KA%+=1:
  159. GA%=A%+23:
  160. C(u%,31+A%,
  161. (KA%),
  162. U:BB%=
  163. :w%=1:KA%=1:YA%=1:
  164. 50:D$(A%)="":B%=0:
  165. :B%+=1:A$(A%,B%)="":gD%=&A:B$(A%,B%)="":
  166. B%=8:
  167. O(nB%,2):
  168. H(50,&64,ZA%):
  169. _CreateMenu(ZA%):ZA%=
  170. S("IdentiKey"):hD%=
  171. P(M$),""):C%=0:
  172. KA%:A%(A%)=
  173. S(D$(A%)):B%=0:
  174. :B%+=1:C%+=1:B%(C%)=
  175. H(A%(A%),A$(A%,B%),""):
  176. A$(A%,B%+1)="":
  177. M(hD%,A%(1),""):C%=0:
  178. KA%:B%=0:
  179. :B%+=1:C%+=1:
  180. M(B%(C%),A%(
  181. (B$(A%,B%))),"")
  182. A$(A%,B%+1)="":
  183. :=ZA%
  184. _GetRoots(AA%):A%=0:
  185. :A%+=1:sA%=0:
  186. :sA%+=1:
  187. B$(A%,sA%)=
  188. (AA%)
  189. A$(A%,sA%)="":
  190. B$(A%,sA%)=
  191. (AA%)
  192. A%=KA%:=A%
  193. aA:C%=0:AA%=w%:
  194. C(RB%,2+A%,"",
  195. :C%+=1:DB%=
  196. _GetRoots(AA%):
  197. C(RB%,16-2*C%,D$(DB%),
  198. AA%=1A$(0,sA%)=""
  199. C(RB%,17-2*C%,A$(DB%,sA%),
  200. ):AA%=DB%:
  201. AA%<=1:
  202. X(RB%,
  203. E(RB%,-1,"roots"):
  204. E(u%,&A,"rootsicon"):
  205. E(u%,7,"feature"):
  206. E(u%,5,"box"):
  207. E(u%,&E+A%,"decision"):
  208. E(u%,23+A%,"arrow"):
  209. E(u%,31+A%,"nums"):
  210. zA(S$,fD%):
  211. xA%900:
  212. ("LOAD "+S$+"heapcode "+
  213. ~xA%):
  214. xA%+0,fD%:
  215. T(AA%,JC%):
  216. WA%,q%:q%=
  217. A(50):q%!0=AA%:q%!4=JC%:
  218. &400CE,,q%:WA%=q%!24:
  219. A(q%):=WA%
  220. FA%,l%,b%,K$:
  221. cA%,D$,E$:
  222. _U%330,_shell_blk%260:_Q%=
  223. A(&BB8):FA%=
  224. A(48):FA%!0=0:FA%!4=0:FA%!8=0:FA%!&C=0:FA%!16=0:FA%!20=0:FA%!24=0:FA%!28=0:FA%!32=0:FA%!36=0:FA%!40=0:FA%!44=0:_U%!0=0:_U%!4=0:_U%!8=0:_U%!&C=FA%:_U%!16=1:_U%!20=0:_U%!24=0:_U%!28=0
  225. _U%!32=0:_U%!36=0:_U%!40=0:_U%!44=-1:_U%!48=0:_U%!52=0:_U%!56=0:_U%!60=0:_U%!64=0:_U%!68=0:_U%!72=0:_U%!76=
  226. A(256):_U%!80=0:_U%!84=-1:_U%!88=0:_U%!92=0:_U%!96=0:_U%!&64=0:_U%!&68=0:_U%!&6C=-1:_U%!&70=-1:_U%!&74=-1:_U%!&78=-1:_U%!&7C=-1:_U%!&80=0
  227. _U%!&84=0:_U%!&88=-1:_U%!&8C=-1:_U%!&90=-1:_U%!&94=0:_U%!&98=0:_U%!&9C=0:_U%!&A0=0:_U%!&A4=0:_U%!&A8=0:_U%!&AC=0:_U%!&B0=0:_U%!&B4=0:_U%!&B8=0:_U%!&BC=0:_U%!&C0=0:_U%!&C4=0:_U%!&C8=0:_U%!&CC=0:_U%!&D0=-1:_U%!&D4=-1:_U%!&D8=0:_U%!&DC=0:_U%!&E0=0
  228. _U%!&E4=0:_U%!&E8=
  229. A(256):_U%!&EC=
  230. A(256):_U%!&F0=-1:_U%!&F4=0:_U%!&F8=0:_U%!&FC=0:_U%!256=0:_U%!260=1:_U%!264=0:_U%!268=0:_U%!272=0:_U%!276=0:_U%!280=0:_U%!284=0:_U%!288=-1:_U%!292=-1:_U%!296=-1:_U%!300=0:_U%!304=0:_U%!308=0:_U%!312=0:_U%!316=0
  231. _U%!320=0:_U%!324=0:
  232. Y(_U%!&E8,256,0):
  233. Y(_U%!&EC,256,0):cA%=
  234. A(256):D$=
  235. b(cA%,256,"Obey$Dir",1):
  236. A(cA%):E$=
  237. P(D$),2):_U%!&BC=
  238. D$)+1):_U%!&C4=
  239. E$)+1):b%=_U%!&BC:$b%=D$:b%=_U%!&C4:$b%=E$:K$=
  240. o(1):
  241. K$<>""
  242. 9_U%!&64=_U%!&64
  243. 1<<5:b%=
  244. K$+1):$(b%)=K$:_U%!324=b%
  245. q(OD%,HA$):
  246. &400C0,OD%,&4B534154,HA$
  247. OD%,GB%:_U%!&94=GB%:
  248. &81682,GB%:=GB%
  249. q$,b%,E$,D$:
  250. cA%,vB%,yC%:E$=
  251. J:D$=
  252. Q:cA%=
  253. A(256):
  254. V(cA%,E$+"Res$Path")
  255. _U%!&64=_U%!&64
  256. V(cA%,E$+"Data$Dir")
  257. b(cA%,256,E$+"Data$Dir",1):_U%!&C0=
  258. q$)+1):b%=_U%!&C0:$b%=q$
  259. _U%!&C0=
  260. D$)+1):b%=_U%!&C0:$b%=D$
  261. _U%!&64
  262. G(E$+"Res:Messages")
  263. I(E$+"Res:Messages",_U%!68,_U%!64)
  264. G(E$+"Res:ShellMsgs")
  265. I(E$+"Res:ShellMsgs",_U%!280,_U%!284)
  266. I("ShellSysRes:ShellMsgs",_U%!280,_U%!284)
  267. &20035,-1,4
  268. ,,yC%:
  269. &20035,-1,5
  270. ,,vB%:
  271. vB%=1
  272. G(E$+"Res:Sprites22")
  273. !_U%!16=
  274. R(E$+"Res:Sprites22")
  275. G(E$+"Res:Sprites")
  276. _U%!16=
  277. R(E$+"Res:Sprites")
  278. _U%!16=1
  279. G(E$+"Res:Templates")
  280. Z(E$+"Res:Templates")
  281. G(D$+".Messages")
  282. I(D$+".Messages",_U%!68,_U%!64)
  283. G(D$+".ShellMsgs")
  284. I(D$+".ShellMsgs",_U%!280,_U%!284)
  285. I("ShellSysRes:ShellMsgs",_U%!280,_U%!284)
  286. &20035,-1,4
  287. ,,yC%:
  288. &20035,-1,5
  289. ,,vB%:
  290. vB%=1
  291. G(D$+".Sprites22")
  292. _U%!16=
  293. R(D$+".Sprites22")
  294. G(D$+".Sprites")
  295. _U%!16=
  296. R(D$+".Sprites")
  297. _U%!16=1
  298. G(D$+".Templates")
  299. Z(D$+".Templates")
  300. &45BC0:
  301. A(_Q%):_Q%=
  302. A(&400):
  303. A(cA%):
  304. MA%,x$:
  305. <>&D00
  306. <>&903
  307. &606C2:
  308. G("Resources:$.Resources.Edit.ThrowBack")
  309. ("Set Basic$File <"+
  310. J+"$BasicFile>"):
  311. "Edit:ThrowBack"
  312. a("Unexpected error:- "+
  313. $+" Internal error code "+
  314. $,"in "+
  315. 34+"EvntShellSystem:ShellLib"):
  316. MA%>0
  317. $,MA%-1)
  318. a(x$)
  319. &606C2:
  320. V(nD%):
  321. A$,r%,JA$,IA$,DD%,oC%,kC%,FC%:
  322. c%,h%,n%,_temp28%,_temp32%,_temp24%,_temp%,XD%:
  323. bD%,d%:
  324. o(_Q%!0)
  325. Q(_Q%!0,
  326. J(_Q%!0)
  327. 6:_U%!28=_Q%!&C:_U%!32=_Q%!16:oC%=_Q%!0:kC%=_Q%!4:_U%!272=_Q%!0:_U%!276=_Q%!4:_U%!320=_Q%!8:_temp28%=_Q%!&C:_temp32%=_Q%!16:h%=_Q%!16:
  328. _Q%!&C=_U%!288
  329. _Q%!16=_U%!292
  330. b(_U%!296,_Q%!&C,_Q%!16,_Q%!8)
  331. _U%!288=-1:_U%!292=-1:_U%!296=-1:
  332. _Q%!16>=0
  333. =Gd%=
  334. D(_Q%!&C,_Q%!16,_U%+&68,16,0):
  335. d%>=0
  336. b(d%,_Q%!&C,_Q%!16,_Q%!8)
  337. (_Q%!8=64)
  338. d(_Q%!&C,_Q%!16):
  339. F,P$="Icon is draggable":
  340. r(_Q%!&C,_Q%!16)
  341. P$="Icon is not draggable"
  342. B("Action:"+P$)
  343. _Q%!8
  344. _U%!&64
  345. &42401:_U%!&64=_U%!&64
  346. :_U%!&80=0:A$=
  347. M(_U%!28,_U%!32,6):
  348. A$<>""
  349. B("Action:Drag event detected - function is "+A$):n%=
  350. ("FN"+A$+"(_temp28%,_temp32%)")
  351. B("Action:Drag event detected - no handler function"):
  352. w(_U%!28,_U%!32)
  353. B("Action:keypress is="+
  354. _Q%!24):
  355. _Q%!24
  356. &D,394,398,399,410:FC%=
  357. t(_Q%!0,_Q%!4,_Q%!24)
  358. i(_Q%!24)
  359. B("Action:Keypress not claimed, passing it on"):
  360. &400DC,_Q%!24
  361. B("Action:Keypress claimed by this application")
  362. x(_Q%)
  363. 17,18:
  364. y(_Q%)
  365. z(_Q%)
  366. j(cD%,gC%):
  367. &400C7,cD%,_Q%
  368. &81686,q%,,gC%:=q%
  369. oA%:oA%=_U%!68:
  370. &61504,oA%:
  371. &2001E,7,,oA%:
  372. &606C2:
  373. &600D0,,-1:
  374. AA(_U%!&94):
  375. S(g$,
  376. uA%,EA%,b%,d%:uA%=
  377. a(g$):uA%!64=_U%!16:
  378. &400C1,,uA%
  379. m%:EA%=_U%!&B8:
  380. EA%=0
  381. /_U%!&B8=
  382. A(8):EA%=_U%!&B8:EA%!0=m%:EA%!4=-1
  383. N(_U%!&B8,m%):
  384. d%=-1
  385. N(_U%!&B8,0):
  386. d%=-1
  387. ?e%=0:
  388. EA%!e%<>-1:e%+=4:
  389. :_U%!&B8=
  390. I(_U%!&B8,4):EA%=_U%!&B8
  391. e%=d%
  392. :b%=EA%+e%:b%!0=m%:b%!4=-1
  393. S(a$):
  394. &45BC1,,a$
  395. m%:=m%
  396. B(F$):=
  397. U(F$,"","")
  398. H(m%,z$,H$):
  399. H$<>""
  400. &45BC2,m%,z$,H$
  401. &45BC2,m%,z$
  402. :=NC%
  403. k(mA%,J$,s$,_$):
  404. a%,b%,gA%:
  405. s(J$)
  406. O("SHELLMSG03",J$)
  407. A(&C):a%!0=
  408. J$+1):b%=a%!0:$b%=J$:a%!4=
  409. s$+1):b%=a%!4:$b%=s$:a%!8=
  410. _$+1):b%=a%!8:$b%=_$:
  411. &45BCE,mA%,a%:
  412. &45BCC,,
  413. O(m%,ZC%):
  414. &45BCB,m%,ZC%:
  415. M(mA%,AB%,C$):
  416. &45BCE,mA%,AB%:
  417. C$<>""
  418. &45BCC,,
  419. BA(mA%,AB%,C$,"")
  420. i(c%,HA%,A$):
  421. R(c%,HA%,2,0,A$):
  422. W(c%,HA%,r%,PC%,QC%,fC%):
  423. HA%>=0
  424. c(c%,HA%,3)
  425. R(c%,HA%,0,r%,""):
  426. p(c%,h%,GD%,tC%,mD%,aD%,CD%,VD%,k$,l$):
  427. BA%,d%,b%,y%,JA%:d%=
  428. D(c%,GD%,_U%+&68,16,
  429. ):BA%=_U%!&68+d%:BA%!0=c%:BA%!4=GD%:BA%!8=CD%:BA%!&C=
  430. A(24):JA%=BA%!&C:JA%!0=h%:JA%!4=mD%:JA%!8=aD%:
  431. 'JA%!&C=
  432. k$)+1):y%=JA%!&C:$y%=k$
  433. JA%!&C=0
  434. 'JA%!16=
  435. l$)+1):y%=JA%!16:$y%=l$
  436. JA%!16=0
  437. VD%=-1
  438. JA%!20=1
  439. JA%!20=0
  440. D(c%,tC%,_U%+&68,16,
  441. ):BA%=_U%!&68+d%:BA%!0=c%:BA%!4=tC%:BA%!8=CD%*(-1):BA%!&C=JA%:
  442. CA(c%,h%,UA%,p%,xB%,A$):
  443. a%,b%,d%:
  444. DA(c%,h%)
  445. B("SHELLMSG29"))
  446. c(c%,h%,6):
  447. UA%=0
  448. UA%=&64
  449. $}d%=
  450. D(c%,h%,_U%+72,24,
  451. ):a%=_U%!72+d%:a%!0=c%:a%!4=h%:a%!8=UA%:a%!&C=p%:a%!16=xB%:a%!20=
  452. (A$)+1):b%=a%!20:$b%=A$:
  453. &FF9:
  454. UA%>&8000
  455. _U%!&88=
  456. E(UA%)-8
  457. _U%!&88=UA%
  458. UA%>&8000
  459. _U%!&88=
  460. E(UA%)-4
  461. _U%!&88=UA%
  462. :_U%!&8C=p%:_U%!&90=UA%:
  463. d(c%,h%,p%,A$,qD%):
  464. a%,b%,d%,K$:
  465. B("AttachDataLoad:Attaching DataLoad Handler"):
  466. c%=-1
  467. c%=-2
  468. p%=p%
  469. 1<<31
  470. E9d%=
  471. D(c%,h%,_U%+96,16,
  472. ):a%=_U%!96+d%:
  473. a%!0=0
  474. a%!4=0
  475. B("AttachDataLoad:This is the first DataLoad Event..."):a%!0=c%:a%!4=h%:a%!8=
  476. A(8):b%=a%!8:b%!0=p%:b%!4=-1:a%!&C=
  477. A(8):b%=a%!&C:b%!0=
  478. (A$)+1):b%!4=-1:b%=b%!0:$b%=A$
  479. B("AttachDataLoad:This is another DataLoad Event..."):a%!8=
  480. I(a%!8,4):a%!&C=
  481. I(a%!&C,4):e%=0:b%=a%!8:
  482. b%!e%<>-1:e%+=4:
  483. :b%!e%=p%:b%!(e%+4)=-1:b%=a%!&C:b%!e%=
  484. A$+1):b%=b%!e%:$b%=A$
  485. K$<>""
  486. (_U%!&64
  487. 1<<5)
  488. 1<<31
  489. b%=p%
  490. 1<<31
  491. b%=p%
  492. f(K$)=b%
  493. FA(b%,K$):_U%!&64=_U%!&64
  494. (1<<5)
  495. N(g$,
  496. uA%:uA%=
  497. a(g$):uA%!64=_U%!16:
  498. &400C1,,uA%
  499. g(MA%,f$,Y$,UD%,r%,PC%,QC%,fC%):
  500. Y$=""
  501. J!_Q%=MA%:_Q%!4=0:_Q%!8=0:_Q%!&C=70:_Q%!16=70:_Q%!20=&301A:$(_Q%+24)=f$
  502. !_Q%=MA%:_Q%!4=0:_Q%!8=-16:_Q%!&C=UD%:_Q%!16=90:_Q%!20=&1700210B:
  503. _Q%!24&C:
  504. _Q%!28
  505. (f$)+2:$(_Q%!24)=Y$:$(_Q%!28)="S"+f$:_Q%!32=&C
  506. &400C2,,_Q%
  507. W(-2,m%,r%,PC%,QC%,fC%):=m%
  508. b%:b%=_U%!&C4:=$b%
  509. E(c%,HA%,F$):
  510. R(c%,HA%,8,0,F$):
  511. C(XA%,fB%,Z$,G):
  512. a%,u$:u$=
  513. C(XA%,fB%):
  514. Z$<>u$
  515. A(40):a%!0=XA%:a%!4=fB%:
  516. &400CE,,a%:
  517. (a%!24
  518. (1<<8))<>0
  519. Z$>a%!36
  520. B("SHELLMSG12")
  521. $(a%!28)=Z$
  522. $(a%+28)=
  523. Z$,&B)
  524. a%!8=0:a%!&C=0:
  525. &400CD,,a%
  526. A(a%)
  527. G(m%):
  528. N(_U%!&B8,m%)>-1
  529. Q(m%,0,-1)
  530. J(c%):
  531. d%,a%,yA%,MC%,nA%,zA%,o%,IB%:d%=
  532. D(c%,-1,_U%+308,&C,
  533. d%>=0
  534. 2a%=_U%!308+d%:b%=a%!8:IB%=
  535. ("FN"+$b%):
  536. IB%=0
  537. A(60):
  538. D(c%,-1,_U%+92,24,
  539. d%>-1
  540. la%=(_U%!92)+d%:MC%=a%!&C:nA%=a%!16:zA%=a%!20:e%=0:yA%=a%!8:
  541. yA%!e%<>-1:o%!0=yA%!e%:
  542. &400C6,,o%:e%+=4:
  543. :o%!0=c%:
  544. &400C6,,o%
  545. A(o%):
  546. H(NA%,OA%,KB%):
  547. A$:A$=
  548. M(_U%!28,_U%!32,1):
  549. A$<>""
  550. ("FN"+A$+"(_U%!28,_U%!32)")
  551. B("OpenMenu:no menumaker function registered")
  552. KB%<>_U%!24
  553. F(_U%!256)
  554. A(_U%!256):_U%!256=0
  555. F(_U%!&F4)
  556. A(_U%!&F4):_U%!&F4=0
  557. KB%=_U%!&FC
  558. &400D4,,KB%,NA%-64,OA%:_U%!264=1
  559. _Q%!0=NA%:_Q%!4=OA%:
  560. &45BC5,KB%,_Q%:_U%!264=0
  561. :_U%!24=KB%:_U%!36=NA%:_U%!40=OA%:_U%!52=_U%!28:_U%!56=_U%!32:
  562. P(S$):
  563. S$,"."):S$=
  564. S$,".")+1):
  565. C(XA%,fB%):
  566. Q$,CA%:CA%=
  567. A(40):CA%!0=XA%:CA%!4=fB%:
  568. &400CE,,CA%:
  569. (CA%!24
  570. (1<<8))<>0
  571. Q$=$(CA%!28)
  572. Q$=$(CA%+28)
  573. A(CA%):=Q$
  574. X(c%,hB%,jB%):
  575. n%,LB%:LB%=
  576. A(20):_U%!20=c%:
  577. &400CF,,LB%:
  578. &400D4,,c%,LB%!0+hB%,LB%!4+jB%:
  579. A(LB%):
  580. A(q%):
  581. xA%+4,gA%,q%:=gA%
  582. Y(kB%,sC%,vC%):
  583. I%,qB%,iC%:qB%=sC%
  584. 4:iC%=sC%
  585. qB%>0
  586. (qB%*4)
  587. 4:kB%!(I%-1)=vC%:
  588. iC%>0
  589. !.kB%=kB%+(qB%*4):
  590. iC%-1:kB%?I%=vC%:
  591. b(_B%,VA%,m$,I):
  592. n$,B,RD%:
  593. &20023,m$,_B%,VA%,0,-3*(I=
  594. ,,B,RD%,p%:
  595. B-1:n$=n$+
  596. (_B%?l%):
  597. l%:=n$
  598. F(q%)
  599. xA%+8,q%
  600. q%=0:
  601. o(H):
  602. hC%,N$,d%:N$="":d%=0:
  603. hC%?d%<>0:N$+=
  604. (hC%?d%):d%+=1:
  605. 1:N$=
  606. 34)+1):N$=
  607. 34)+2)
  608. b%:b%=_U%!&BC:=$b%
  609. V(_B%,m$):
  610. &20023,m$,_B%,-1,0,0
  611. G(T$):
  612. h(T$)="Not Found":=
  613. I(L$,
  614. zC%):
  615. VA%,s%:
  616. 3,"Cannot open message file '"+L$+"'"
  617. &41500,,L$
  618. s%,,VA%:
  619. zC%=0
  620. A(VA%)
  621. 30,6,,,17+
  622. ,,dB%:$(dB%+16)=L$:
  623. &41501,dB%,dB%+16:
  624. R(L$):
  625. hA%,S%,T%:S%=
  626. (L$):T%=
  627. #S%+16:
  628. #S%:hA%=
  629. A(T%):!hA%=T%:hA%!4=0:hA%!8=16:hA%!&C=16:
  630. 46,521,hA%:
  631. 46,522,hA%,L$:=hA%
  632. Z(L$):
  633. MB%,SC%,qC%,X%,f%:
  634. uC%,MA%,NB%,O$,iA%:
  635. IA%,xC%,AD%,pA%,h$,v%:
  636. OB%,qA%,PB%,WA%,QB%:
  637. NB%20:
  638. 4):NB%+=1:
  639. :MA%=0:iA%=0:PB%=0:QB%=0:uC%=
  640. W(L$):v%=
  641. A(&D):X%=
  642. (L$):
  643. #X%=16:
  644. :h$="":
  645. &C,4,X%,v%,4:IA%=!v%:
  646. B("TemplatesInit:file offset%  = "+
  647. IA%>0
  648. iA%+=1:OB%=0:
  649. &C,4,X%,v%,4:xC%=!v%:
  650. B("TemplatesInit:data_size% = "+
  651. xC%):
  652. &C,4,X%,v%,4:AD%=!v%:
  653. &C,4,X%,v%,&C:e%=0:
  654. :pA%=v%?e%:
  655. pA%>31
  656. e%+=1:
  657. pA%<32:iD%=
  658. #X%=IA%+56:
  659. &C,4,X%,v%,4:s%=!v%:
  660. #X%=IA%+72:
  661. &C,4,X%,v%,&C:OB%+=
  662. Z(IA%,s%,v%):
  663. #X%=IA%+84:
  664. &C,4,X%,v%,4:qA%=!v%:
  665. B("TemplatesInit:nr icons        = "+
  666. qA%):
  667. qA%>0
  668. WA%=0
  669. qA%-1:
  670. #X%=IA%+88+(WA%*32)+16:
  671. &C,4,X%,v%,4:s%=!v%:
  672. #X%=IA%+88+(WA%*32)+20:
  673. &C,4,X%,v%,&C:OB%+=
  674. Z(IA%,s%,v%):
  675. #X%=iD%:
  676. B("TemplatesInit:entry_type%     = "+
  677. AD%):
  678. B("TemplatesInit:identifier$     = "+h$):
  679. B("TemplatesInit:indirected size = "+
  680. OB%):
  681. B(" "):PB%+=OB%:
  682. (88+(qA%*32))>QB%
  683. QB%=(88+(qA%*32))
  684. IA%=0:
  685. A(v%):
  686. B("TemplatesInit:total indirected= "+
  687. PB%):lD%=
  688. A(uC%):MB%=lD%:_U%!4=
  689. A(20*iA%):LD%=
  690. A(QB%+PB%):SC%=LD%:qC%=LD%+(QB%+PB%):iA%=0:
  691. &400D9,,L$:
  692. :$NB%="*":
  693. &400DB,,MB%,SC%,qC%,_U%!&E8,NB%,MA%
  694. ,,SC%,,,O$,MA%:
  695. MA%<>0
  696. S!((_U%!4)+(16*iA%))=MB%:$(((_U%!4)+(16*iA%))+4)=O$:MB%+=(88+(MB%!84)*32):iA%+=1
  697. MA%=0:
  698. &400DA:_U%!0=iA%:
  699. r(DC%):=
  700. k("UtilityModule",DC%)
  701. a(DA$):
  702. OC%,PA%:PA%=_shell_blk%:!PA%=
  703. :$(PA%+4)=DA$+
  704. =&D00
  705. =&903
  706. &600DF,PA%,17,"Message from "+
  707. &600DF,PA%,1,
  708. o(m%):
  709. CC%,A$,mC%,nC%,a%,_%:_%=
  710. A(&C):
  711. &400D6,m%,_%,&3F0000,&D<<16:
  712. !_%<>-1
  713. C(m%,!_%)
  714. A(_%):a%=
  715. A(&64):
  716. A$=""
  717. M(m%,-1,4)
  718. :a%!0=m%:
  719. &400C8,,a%
  720. CC%:mC%=a%!4-a%!20:nC%=a%!16-a%!24:
  721. &81681,,a%:
  722. A$<>""
  723. ("FN"+A$+"("+
  724. a%+","+
  725. mC%+","+
  726. nC%+")")
  727. &400CA,,a%
  728. A(a%):
  729. Q(c%,EC%,FD%):
  730. d%,a%,j%,e%,ID%,gB%,aA%,bA%:
  731. GC%,SB%,TB%,pC%,rC%,IB%:d%=
  732. D(c%,-1,_U%+304,&C,
  733. d%>=0
  734. 2a%=_U%!304+d%:b%=a%!8:IB%=
  735. ("FN"+$b%):
  736. IB%=0
  737. :SB%=
  738. :TB%=
  739. A(&64):TB%!0=c%:
  740. &400CB,,TB%:
  741. (TB%!32
  742. &80000)=&80000
  743. A(TB%):_Q%!0=c%:
  744. &400CB,,_Q%
  745. &400C5,,_Q%
  746. D(c%,-1,_U%+92,24,
  747. d%>-1
  748. Ya%=(_U%!92)+d%:yA%=a%!8:MC%=a%!&C:nA%=a%!16:zA%=a%!20:_Q%!0=c%:
  749. gB%=-1
  750. gB%=_Q%!28
  751. &400C5,,_Q%:
  752. &400CB,,_Q%:
  753. &400C6,,_Q%
  754. A(&400):e%=0:
  755. yA%!e%<>-1:j%!0=yA%!e%:
  756. ID%=0
  757. ID%=j%!0
  758. +pC%=j%!0:
  759. &400CB,,j%:GC%=MC%!e%:
  760. 0,1:aA%=j%!16-j%!8:bA%=j%!&C-j%!4:j%!4=_Q%!4+nA%!e%:j%!&C=j%!4+bA%:j%!16=_Q%!16+zA%!e%:j%!8=j%!16-aA%
  761. 2:aA%=j%!16-j%!8:bA%=_Q%!&C-_Q%!4:j%!4=_Q%!4+nA%!e%:j%!&C=_Q%!&C:j%!16=_Q%!16+zA%!e%:j%!8=j%!16-aA%
  762. 3:aA%=_Q%!16-_Q%!8:bA%=j%!&C-j%!4:j%!4=_Q%!4+nA%!e%:j%!&C=j%!4+bA%:j%!16=_Q%!16:j%!8=_Q%!8+zA%!e%
  763. 4:aA%=j%!16-j%!8:bA%=_Q%!&C-_Q%!4:j%!4=_Q%!4+nA%!e%:j%!&C=_Q%!&C:j%!16=_Q%!8+aA%+zA%!e%:j%!8=j%!16+aA%
  764. 5:aA%=_Q%!16-_Q%!8:bA%=j%!&C-j%!4:j%!4=_Q%!&C-bA%+nA%!e%:j%!&C=j%!4+bA%:j%!16=_Q%!16:j%!8=_Q%!8
  765. j%!28=gB%
  766. j%!28=rC%
  767. &400C5,,j%:rC%=j%!0:e%+=4:
  768. _Q%!28=pC%:
  769. &400C5,,_Q%
  770. A(j%)
  771. _Q%!0=c%:
  772. &400CB,,_Q%
  773. gB%=-2
  774. _Q%!28=-2
  775. FD%=-1
  776. _Q%!28=-1
  777. &400C5,,_Q%
  778. b(d%,c%,h%,_button%):
  779. sD%,x%,BA%,UB%,_temp$,HC%:
  780. DE%,rA%:
  781. _button%<>2
  782. cPBA%=_U%!&68+d%:_U%!288=c%:_U%!292=h%:_U%!296=d%:x%=BA%!&C:HC%=x%!16:
  783. HC%<>0
  784. m2_temp$=
  785. C(c%,x%!0):UB%=
  786. ("FN"+$HC%+"(_temp$)")
  787. C(c%,x%!0))
  788. _button%=1
  789. t _new_val%=UB%+((BA%!8)*(-1))
  790. _new_val%=UB%+BA%!8
  791. x%!20=0
  792. _new_val%>x%!8
  793. _new_val%=x%!8
  794. _new_val%<x%!4
  795. _new_val%=x%!4
  796. _new_val%>x%!8
  797. _new_val%=x%!4
  798. _new_val%<x%!4
  799. _new_val%=x%!8
  800. :rA%=x%!&C:
  801. rA%<>0
  802. 1_new_val$=
  803. ("FN"+$rA%+"(_new_val%,_button%)")
  804. _new_val$=
  805. _new_val%
  806. _new_val%<>UB%
  807. C(c%,x%!0,_new_val$,-1)
  808. D(c%,h%,g%,iB%,ED%):
  809. k%,f%,i%,d%,VB%,b%:
  810. (!g%=0
  811. (!g%=0)
  812. '!g%=
  813. A(iB%):b%=!g%:b%!0=0:b%!4=0:=0
  814. E(!g%)-8:f%=0:i%=
  815. :d%=-1:VB%=-1:b%=!g%:
  816. VB%<0
  817. (b%!f%=0
  818. b%!f%+4=0)
  819. VB%=f%
  820. (b%!f%=c%)
  821. h%=-1
  822. d%=f%:i%=
  823. b%!(f%+4)=h%
  824. d%=f%:i%=
  825. f%+=iB%
  826. f%+=iB%
  827. ((f%>=k%)
  828. (d%=-1
  829. VB%<0
  830. 5d%=k%:!g%=
  831. I(!g%,iB%):b%=!g%:b%+=d%:b%!0=0:b%!4=0
  832. d%=VB%
  833. d(c%,h%):
  834. s%:s%=
  835. T(c%,h%):b%=(s%
  836. &6000):
  837. b%=&6000=
  838. r(c%,h%):
  839. a%,D,E,LC%,s%,jA%,KD%,lC%,jC%,i$:
  840. xB%,O$:LC%=
  841. D(c%,h%,_U%+72,24,
  842. LC%>=0
  843. Ea%=_U%!72+LC%:xB%=a%!16:O$=
  844. C(c%,xB%):
  845. O$=""
  846. B("SHELLMSG28"))
  847. A(6000):!a%=c%:
  848. &400CC,,a%:D=a%!4-a%!20:E=a%!16-a%!24:lC%=a%!68:a%!4=h%:
  849. &400CE,,a%:!a%=c%:a%!4=5:s%=a%!24:jC%=a%!32:a%!8=a%!8+D:a%!&C=a%!&C+E:a%!16=a%!16+D:a%!20=a%!20+E:a%!24=0:a%!28=0:a%!32=&7FFFFFFF:a%!36=&7FFFFFFF:
  850. 6,&A1,28
  851. ,,jA%
  852. KD%=((jA%
  853. 2)=2):
  854. jA%=s%:
  855. l(jC%,"s")
  856. B("SHELLMSG19"))
  857. i$<>""
  858. &42400,&85,lC%,i$,a%+8:_U%!&64=_U%!&64
  859. &400D0,,a%
  860. &400D0,,a%
  861. A(a%)
  862. B("IconDragBox:WARNING! no drag handler registered for this icon!")
  863. B(t$):
  864. _U%!44<>-1
  865. jA%=_U%!44:
  866. #jA%,t$
  867. _U%!&94>0
  868. K(&43B00,"ShellDBug:Trace "+t$)
  869. HA(_Q%,_U%!28,_U%!32):A$=
  870. M(_U%!28,_U%!32,2):
  871. _U%!32=0
  872. IA(_U%!28,_U%!32)
  873. A$<>""
  874. e(4,_U%!28,_U%!32):n%=
  875. ("FN"+A$+"(_temp28%,_temp32%)")
  876. _U%!32=0
  877. _U%!28=_U%!20
  878. &400D4,,-1
  879. b%,r%,WB%:WB%=
  880. n(_Q%!&C,_Q%!16)
  881. .@r%=
  882. X(_Q%!8,_Q%!&C,_Q%!16):
  883. (r%<>0
  884. _Q%!&C>0
  885. _Q%!16>=0)
  886. X(_Q%!8,_Q%!&C,-1)
  887. r%<>0
  888. f(_Q%,r%,_Q%!&C,_Q%!16,WB%)
  889. s%,A$,n%,XB%,e%:XB%=
  890. A(&64):
  891. B("Action:Mouse Button was ADJUST"):
  892. &400D6,_U%!28,XB%,&F000,&B000:e%=0:
  893. XB%!e%<>-1:
  894. XB%!e%=_U%!32
  895. LA(_U%!28,_U%!32,1)
  896. E+e%+=4:
  897. M(_U%!28,_U%!32,3):
  898. A$<>""
  899. e(1,_U%!28,_U%!32):n%=
  900. ("FN"+A$+"(_temp28%,_temp32%)")
  901. A(XB%):
  902. M(c%,HA%,CB%):
  903. f%,g%,i%,k%,A$:
  904. c%=-1
  905. c%=-2
  906. R<k%=
  907. E(_U%!&C)-8:f%=0:i%=
  908. :g%=_U%!&C:A$="":
  909. (g%!f%=c%)
  910. g%!(f%+4)
  911. g%!(f%+(&C+(CB%*4)))>&8000
  912. `#A$=$(g%!(f%+(&C+(CB%*4)))):i%=
  913. f%+=48
  914. g%!(f%+4)=HA%
  915. g%!(f%+(&C+(CB%*4)))>&8000
  916. m#A$=$(g%!(f%+(&C+(CB%*4)))):i%=
  917. f%+=48
  918. f%+=48
  919. f%+=48
  920. ((f%>=k%)
  921. i%):=A$
  922. w(c%,h%):
  923. a%,DA%,tA%,d%,kA%,n%:tA%=
  924. A(30):
  925. &400CF,,tA%:d%=
  926. D(c%,h%,_U%+72,24,
  927. d%=-1
  928. d%=-2
  929. B("SHELLMSG13"),0,"",
  930. B("warning"))
  931. a%=(_U%!72)+d%:
  932. a%!8>&8000
  933. E(a%!8)-4
  934. kA%=a%!8
  935. :DA%=_U%!76:DA%!0=256:DA%!&C=0:DA%!16=1:DA%!20=tA%!&C:DA%!24=tA%!16:DA%!28=tA%!0:DA%!32=tA%!4:DA%!36=kA%:DA%!40=a%!&C:$(DA%+44)=
  936. C(c%,a%!16)):
  937. &400E7,18,DA%,DA%!20,DA%!24:_U%!&78=_Q%!8:_U%!&88=kA%:_U%!&8C=a%!&C:_U%!&90=a%!8:_U%!&9C=a%!4
  938. !_U%!&C8=DA%!20:_U%!&CC=DA%!24
  939. A(tA%):
  940. t(c%,h%,RC%):
  941. qA%,lB%,mB%,e%:
  942. TC%,UC%,YB%,oC%,kC%,_D%,QA%:QA%=
  943. A(&400):
  944. &400D3,,QA%:
  945. QA%!0=-1
  946. A(QA%):=
  947. &400D6,c%,QA%,&40E000,&E000:lB%=QA%!0:e%=0:
  948. QA%!e%=h%
  949. !TC%=QA%!(e%-4):UC%=QA%!(e%+4)
  950. :e%+=4:
  951. QA%!e%=-1:mB%=QA%!(e%-4):
  952. MA(c%,0,4)
  953. 398,394:
  954. h%=mB%
  955. &400D2,c%,lB%,-1,-1,-1,
  956. C(c%,lB%))
  957. &400D2,c%,UC%,-1,-1,-1,
  958. C(c%,UC%))
  959. 399,410:
  960. h%=lB%
  961. &400D2,c%,mB%,-1,-1,-1,
  962. C(c%,mB%))
  963. &400D2,c%,TC%,-1,-1,-1,
  964. C(c%,TC%))
  965. A(QA%):=
  966. i(RC%):
  967. t%,k%,i%,f%,LA%,b$,V$,c$:
  968. QC%,PC%,fC%,hB%,jB%,GC%,BE%,d%:
  969. _A%,o%:t%=_U%!60:k%=_U%!&B4*24:i%=
  970. :f%=0:
  971. t%!f%=RC%
  972. f%+=24
  973. f%>=k%:
  974. *b%=t%+f%:b$=$(b%!8):
  975. (b$<>""
  976. b%!&C=0)
  977. N(b$,LA%):o%=
  978. A(36):o%!0=LA%:
  979. &400CB,,o%:hB%=(o%!4-o%!&C)/2:jB%=(o%!16-o%!8)/2:
  980. A(o%)
  981. :V$=$(b%!16):
  982. V$<>""
  983. b%!&C>0
  984. ("FN"+V$+"("+
  985. b%!&C+")")
  986. ("FN"+V$+"("+
  987. LA%+")")
  988. N(_U%!&B8,b%!&C):
  989. d%>-1
  990. G(b%!&C)
  991. b%!&C>0
  992. B("SHELLMSG09")
  993. X(LA%,hB%,jB%)
  994. :c$=$(b%!20):
  995. c$<>""
  996. b%!&C>0
  997. ("FN"+V$+"("+
  998. b%!&C+")")
  999. ("FN"+c$+"("+
  1000. LA%+")")
  1001. :_A%=
  1002. b$="":V$="":c$="":_A%=
  1003. :=_A%
  1004. x(_Q%):
  1005. VC%,DD%,bD%,XD%,n%,oB%:oB%=
  1006. A(256):
  1007. &400CF,,_shell_blk%:
  1008. _U%!264=0
  1009. &45BC4,_U%!24,_Q%
  1010. VC%,,oB%:
  1011. NA(VC%,oB%)
  1012. _shell_blk%!8=1
  1013. F(_U%!&E0)
  1014. # _temp%=_U%!&E0:
  1015. $_temp%<>""
  1016. &(n%=
  1017. ("FN"+$_temp%+"(_U%!52,_U%!56)")
  1018. H(_U%!36,_U%!40,_U%!24)
  1019. _shell_FontMenuSelFN$=""
  1020. A(oB%):
  1021. y(_Q%):
  1022. b%,n%:
  1023. _Q%!16
  1024. OA(_Q%)
  1025. PA(_Q%)
  1026. g(_Q%,
  1027. RA(_Q%)
  1028. g(_Q%,
  1029. SA(_Q%)
  1030. TA(_Q%)
  1031. UA(_Q%)
  1032. _U%!&A4>0
  1033. b%=_U%!&A4:n%=
  1034. ("FN"+$b%)
  1035. VA(_Q%)
  1036. WA(_Q%)
  1037. &502:
  1038. XA(_Q%)
  1039. &400C0:
  1040. YA(_Q%)
  1041. &400C1:
  1042. ZA(_Q%)
  1043. &400C2:
  1044. _U%!&A8>0
  1045. GEb%=_U%!&A8:n%=
  1046. ("FN"+$b%+"("+
  1047. (_Q%!4)+","+
  1048. K(_Q%+28)+
  1049. 34+")")
  1050. _U%!&D0=-1
  1051. K(_Q%+28)="StrongHelp"
  1052. KQ_U%!&D0=_Q%!4:
  1053. h("Help_Install -DieWithTask "+
  1054. Q+"."+
  1055. J):b%=_U%!&D8:
  1056. $b%<>""
  1057. bA($b%):
  1058. A(_U%!&D8):_U%!&D8=0
  1059. &400C3:
  1060. _U%!&AC>0
  1061. b%=_U%!&AC:n%=
  1062. ("FN"+$b%)
  1063. _Q%!4=_U%!&D0
  1064. _U%!&D0=-1
  1065. &400C7:
  1066. K(_Q%+28)="StrongHelp"
  1067. _U%!&D0=_Q%!20
  1068. dA(_Q%)
  1069. z(_Q%):
  1070. _Q%!16
  1071. eA(_Q%)
  1072. fA(_Q%)
  1073. _U%!44<>-1
  1074. #(_U%!44):_U%!44=-1
  1075. AA(GB%):
  1076. &600DD,GB%,&4B534154:
  1077. &A1683,GB%:
  1078. _U%!&64
  1079. "XImpulse_CloseDown",_U%!&94
  1080. a(J$):
  1081. l%,i%:
  1082. (J$)>&C
  1083. O("SHELLMSG02",J$)
  1084. z5i%=-1:
  1085. (_U%!0)-1:
  1086. $(((_U%!4)+(16*l%))+4)=J$
  1087. i%=l%:l%=(_U%!0)-1
  1088. i%>-1
  1089. =!((_U%!4)+(16*i%))
  1090. O("SHELLMSG03",J$)
  1091. N(EA%,m%):
  1092. i%,e%:i%=-1:e%=0:
  1093. EA%<>0
  1094. EA%!e%<>-1:
  1095. EA%!e%=m%
  1096. i%=e%:=i%
  1097. :e%+=4:
  1098. I(q%,AA%):
  1099. xA%+&C,q%,AA%:=q%
  1100. U(F$,j$,FA$):
  1101. s%,L%,W$,ZB%,oA%:
  1102. F$,8)="SHELLMSG"
  1103. ZB%=_U%!284:oA%=_U%!280
  1104. ZB%=_U%!64:oA%=_U%!68
  1105. &61502,oA%,F$,ZB%,256,j$,FA$
  1106. ,,,L%;s%:
  1107. ZB%?L%=&D:W$=$(ZB%)
  1108. s(J$):
  1109. l%,i%:
  1110. (J$)>&C
  1111. O("SHELLMSG02",J$)
  1112. (_U%!0)-1:
  1113. $(((_U%!4)+(16*l%))+4)=J$
  1114. :l%=(_U%!0)-1
  1115. l%:=i%
  1116. O(F$,j$):=
  1117. U(F$,j$,"")
  1118. BA(mA%,wC%,C$,H$):
  1119. b%,y%,e%,t%:
  1120. _U%!&DC=0
  1121. _U%!&DC=
  1122. A(32):b%=_U%!&DC:b%!0=mA%:b%!4=
  1123. C$+1):$(b%!4)=C$:b%!8=wC%:b%!&C=
  1124. H$+1):$(b%!&C)=H$:b%!16=-1:b%!20=-1:b%!24=-1:b%!28=-1
  1125. I(_U%!&DC,32):_U%!&DC=t%:e%=0:
  1126. :e%+=16:
  1127. t%!e%=-1:b%=_U%!&DC:b%!e%=mA%:b%!(e%+4)=
  1128. C$+1):y%=b%!(e%+4):$(y%)=C$:b%!(e%+8)=wC%:b%!(e%+&C)=
  1129. H$+1):y%=b%!(e%+&C):$(y%)=H$:b%!(e%+16)=-1:b%!(e%+20)=-1:b%!(e%+24)=-1:b%!(e%+28)=-1
  1130. R(c%,HA%,CB%,r%,A$):
  1131. f%,rA%,g%,k%,i%:
  1132. pB%:f%=0:i%=
  1133. c%=-1
  1134. c%=-2
  1135. E(_U%!&C)-8:g%=_U%!&C:
  1136. (g%!f%=c%)
  1137. g%!(f%+4)=HA%
  1138. f%+=48
  1139. f%+=48
  1140. (f%>=k%
  1141. %f%=0:
  1142. (g%!f%<>0):f%+=48:
  1143. f%>=k%
  1144. _U%!&C=
  1145. I(_U%!&C,48):g%=_U%!&C:g%!(f%+0)=0:g%!(f%+4)=0:g%!(f%+8)=0:g%!(f%+&C)=0:g%!(f%+16)=0:g%!(f%+20)=0:g%!(f%+24)=0:g%!(f%+28)=0:g%!(f%+32)=0:g%!(f%+36)=0:g%!(f%+40)=0:g%!(f%+44)=0
  1146. :g%!(f%+0)=c%:g%!(f%+4)=HA%:
  1147. r%<>0
  1148. g%!(f%+8)=r%
  1149. :pB%=f%+(&C+(CB%*4)):
  1150. g%!pB%<>0
  1151. A(g%!pB%)
  1152. :rA%=
  1153. A$+1):$rA%=A$:g%!pB%=rA%:
  1154. c(c%,h%,aB%):
  1155. aB%=&C
  1156. aB%=&D
  1157. O("SHELLMSG23","PROCshell_IconSetButtonType")
  1158. aB%<0
  1159. aB%>&F
  1160. O("SHELLMSG22","PROCshell_IconSetButtonType")
  1161. T(c%,h%,aB%<<&C,&F000):
  1162. DA(c%,h%):
  1163. s%,b%:s%=
  1164. T(c%,h%):b%=(s%
  1165. 1<<1):
  1166. b%=(1<<1)
  1167. D(AA$):
  1168. &D00,AA$
  1169. E(q%):
  1170. 29,6,!(xA%+28),q%
  1171. ,,,F:=F
  1172. _U%!324<>0
  1173. K$=$(_U%!324)
  1174. f(T$):
  1175. 8,5,T$
  1176. ,,p%:p%=(p%
  1177. &FFF00)>>>8:=p%
  1178. FA(p%,O$):
  1179. z%:z%=
  1180. A(256):z%!0=256:z%!4=0:z%!16=5:z%!20=0:z%!28=0:z%!32=0:z%!36=0:z%!40=p%:$(z%+44)=O$+
  1181. &400E7,17,z%,0:
  1182. A(z%):
  1183. F(gA%):
  1184. gA%<&8000
  1185. 99,"No heapblock defined at this address"
  1186. E(gA%):
  1187. h(T$):
  1188. p%,rB%,sB%,lA%,EB%,B$:
  1189. 8,5,T$
  1190. p%,,rB%,sB%,lA%,EB%:
  1191. ="Not Found"
  1192. EB%=51
  1193. B$+="WR "
  1194. EB%=&BB
  1195. B$+="LWR"
  1196. EB%=&88
  1197. B$+="DL "
  1198. VOB$+=" "+
  1199. ~rB%,"0",8):B$+=" "+
  1200. ~sB%,"0",8):B$+=" "+
  1201. ~lA%,"0",8):=B$
  1202. W(T$):
  1203. p%,rB%,sB%,lA%,EB%,B$:
  1204. 8,5,T$
  1205. p%,,rB%,sB%,lA%,EB%:=lA%
  1206. Z(IA%,s%,WC%):
  1207. VA%,_C%,tB%,e%,pA%:
  1208. &800100)=256
  1209. c"VA%=WC%!8:
  1210. (WC%!4<>-1)
  1211. ek_C%=WC%!4:tB%=
  1212. A(256):
  1213. #X%=IA%+_C%:
  1214. &C,4,X%,tB%,512:e%=0:
  1215. :pA%=tB%?e%:e%+=1:
  1216. pA%<32:VA%=VA%+e%:
  1217. A(tB%)
  1218. VA%=0
  1219. :=VA%
  1220. k(GA$,DC%):
  1221. a%,BD%:a%=
  1222. A(256):
  1223. ("Set AppName$RISCOS Y"):
  1224. ("RMEnsure "+GA$+" "+
  1225. DC%+" Set AppName$RISCOS N"):
  1226. &20023,"AppName$RISCOS",a%,256,0,0
  1227. ,,BD%:a%?BD%=&D:
  1228. ("Unset AppName$RISCOS"):
  1229. A(a%):
  1230. $a%="N"
  1231. T(IA%,c%,h%):
  1232. s%,a%:a%=
  1233. A(50):a%!0=c%:a%!4=h%:
  1234. &400CE,,a%:s%=a%!24:
  1235. A(a%):=s%
  1236. l(uB%,BA$):
  1237. I%,Q$:
  1238. uB%<=0
  1239.     Q$=""
  1240. L($uB%),";"+
  1241. L(BA$)):
  1242.     Q$=""
  1243. $(uB%+I%),
  1244. $(uB%+I%)+";",";")-1)
  1245. m:=_U%!48
  1246. K(QD%,d$):
  1247. z%,XC%:XC%=(
  1248. d$+30)
  1249. 3:z%=
  1250. A(XC%):z%!&C=0:z%!16=QD%:$(z%+20)=d$+
  1251. (0):z%!0=XC%:
  1252. &600E7,17,z%,0:
  1253. A(z%):
  1254. HA(_Q%,c%,h%):
  1255. h%<>-1
  1256. c%>-1
  1257. X(_Q%!8,c%,h%):
  1258. r%<>0
  1259. f(_Q%,r%,c%,h%,
  1260. IA(c%,h%):
  1261. d%,a%,k%:a%=_U%!72:d%=0:
  1262. a%<>0
  1263. E(a%)-8:
  1264. !(a%+d%)=c%
  1265. C(!a%,a%!16):
  1266. O$,".")=0
  1267. B("SHELLMSG01"))
  1268.     d%=k%
  1269. :d%+=24:
  1270. d%>=k%
  1271. e(JB%,c%,h%):
  1272. a%:a%=
  1273. A(50):a%!8=JB%:a%!&C=c%:a%!16=h%:
  1274. &81680,,a%:a%!8=0:
  1275. &81680,,a%:
  1276. A(a%):
  1277. n(c%,h%):=
  1278. X(JB%,c%,HA%):
  1279. f%,g%,i%,k%,r%:
  1280. c%=-1
  1281. c%=-2
  1282. E(_U%!&C)-8:f%=0:i%=
  1283. :g%=_U%!&C:A$="":
  1284. (g%!f%=c%)
  1285. B("GetEventMenu:window handle matched.."):
  1286. g%!(f%+4)=HA%
  1287. "r%=g%!(f%+8):
  1288. r%=-2
  1289. r%=_U%!&FC
  1290. :f%+=48:
  1291. (f%>=k%
  1292. i%):=r%
  1293. f(_Q%,r%,c%,h%,WB%):
  1294. _%,TA%:
  1295. H(_Q%!0,_Q%!4,r%)
  1296. A(50):TA%=
  1297. A(36):_%!0=c%:_%!4=h%:
  1298. &400CE,,_%:TA%!0=c%:
  1299. &400CB,,TA%:
  1300. H(TA%!4+_%!16+64,_Q%!4,r%):
  1301. TA%!4+_%!16+64,_Q%!4:
  1302. A(_%):
  1303. A(TA%)
  1304. LA(c%,h%,ZC%):
  1305. ZC%=0
  1306. hA(c%,h%)
  1307. jA(c%,h%)
  1308. p(Y$,TD%,CA$,e$):
  1309. YC%,PA%:PA%=
  1310. A(260):!PA%=0:$(PA%+4)=Y$+
  1311. e$=""
  1312. e$="Message from "+CA$
  1313. &400DF,PA%,19,e$
  1314. &400DF,PA%,17,e$
  1315. A(PA%):=YC%
  1316. MA(c%,h%,JB%):
  1317. 6,&F,1:_Q%!8=JB%:_Q%!&C=c%:_Q%!16=h%:
  1318. V(6):
  1319. NA(LA%,_h_blk%):
  1320. ("FN"+$LA%+"(_h_blk%)")
  1321. OA(_Q%):
  1322. b%,d%,a%,l%:
  1323. _Q%!4<>_U%!&94
  1324.     J,d%=
  1325. D(_Q%!20,_Q%!24,_U%+96,16,
  1326. d%>-1
  1327.     L$a%=_U%!96+d%:
  1328. c(_Q%!40,a%!8,
  1329.     R`_Q%!0=256:_Q%!&C=_Q%!8:_Q%!36=-1:_Q%!16=2:$(_Q%+44)=
  1330. Q+".ScrapFile"+
  1331. &400E7,18,_Q%,_Q%!4
  1332. A(_U%!&9C):_U%!&9C=
  1333. A((_Q%!0)+8):b%=_U%!&9C:
  1334. _Q%!0
  1335. 4:b%!l%=_Q%!l%:
  1336. l%:_U%!28=_Q%!20:_U%!32=_Q%!24:_U%!&80=0:_U%!&84=_Q%!36:_U%!&98=
  1337. A(_Q%!36):_Q%!0=28:_Q%!&C=_Q%!8:_Q%!16=6:_Q%!20=_U%!&98+_U%!&80:_Q%!24=_U%!&84:
  1338. &400E7,18,_Q%,_Q%!4
  1339. _U%!&70=_Q%!8
  1340. PA(_Q%):
  1341. _fullname$,q%,AA%,a%,b%,n%:q%=0:AA%=_Q%?(44+q%):
  1342. AA%<>0:_fullname$+=
  1343. (AA%):q%+=1:AA%=_Q%?(44+q%):
  1344. D(_U%!28,_U%!32,_U%+72,24,
  1345. d%=-1
  1346. d%=-2
  1347. B("SHELLMSG05")
  1348. %a%=(_U%!72)+d%:b%=a%!20:
  1349. $b%<>""
  1350. ("FN"+$b%+"(_fullname$)")
  1351. F(a%!8)
  1352. 8,&A,_fullname$,a%!&C,,a%!8,a%!8+
  1353. E(a%!8)+1
  1354. B("SHELLMSG21")
  1355. _Q%!36>-1
  1356. _U%!80<>0
  1357. A(_U%!80)
  1358. 5_U%!80=
  1359. _fullname$+1):b%=_U%!80:$b%=_fullname$
  1360. :_Q%!16=3:!_Q%=256:_Q%!20=_U%!&C8:_Q%!24=_U%!&CC:_Q%!40=_U%!&8C:_Q%!36=
  1361. W(_fullname$):_Q%!&C=_Q%!8:$(_Q%+44)=_fullname$+
  1362. (0):_U%!84=_Q%!8:
  1363. &400E7,18,_Q%,_Q%!20,_Q%!24:
  1364. _U%!28<>_U%!20
  1365. J(_U%!28)
  1366. &400D4,,-1:
  1367. g(_Q%,wB%):
  1368. yD%,d%,a%,_temp%,FB%,p%,v$:p%=_Q%!40:v$=
  1369. K(_Q%+44):
  1370. _U%!96<>0
  1371. d%=-1
  1372. D(_Q%!20,_Q%!24,_U%+96,16,
  1373. d%=-1
  1374. D(_Q%!20,-1,_U%+96,16,
  1375. d%>-1
  1376. &a%=_U%!96+d%:
  1377. c(_Q%!40,a%!8,wB%)
  1378. IWD%=_Q%!&C:_Q%!&C=_Q%!8:_Q%!16=4:
  1379. &400E7,18,_Q%,_Q%!4:
  1380. _U%!&64
  1381. dA%=-1:_U%!&64=_U%!&64
  1382. v(WD%=_U%!&6C)
  1383. j(p%,dA%,a%!8,v$,_Q%!36,a%):
  1384. _U%!&9C<>0
  1385. A(_U%!&9C):_U%!&9C=0
  1386. RA(_Q%):
  1387. SA(_Q%):
  1388. zD%,aC%,bC%:bC%=
  1389. _U%!&90>&8000
  1390. 4_Q%!&C=_Q%!8:_Q%!16=7:aC%=_U%!&88:
  1391. _U%!&8C=&FF9
  1392. _U%!&90+=4
  1393. (aC%-_U%!&80)<_Q%!24
  1394. _Q%!24=aC%-_U%!&80:bC%=
  1395. &400F1,_U%!&94,_U%!&90+_U%!&80,_Q%!4,_Q%!20,_Q%!24:
  1396. &400E7,17,_Q%,_Q%!4:_U%!&78=_Q%!8:_U%!&80+=_Q%!24:
  1397. _U%!&80=0
  1398. TA(_Q%):
  1399. d%,a%,w$,b%:
  1400. _Q%!&C=_U%!&70
  1401. $_U%!&80+=_Q%!24:
  1402. _Q%!24<_U%!&84
  1403. D(_U%!28,_U%!32,_U%+96,16,
  1404. ):a%=_U%!96+d%:b%=_U%!&9C:w$=
  1405. K(b%+44):
  1406. j(b%!40,_U%!&98,a%!8,w$,_U%!&84,a%)
  1407. _U%!&80>_U%!&84
  1408. '_U%!&98=
  1409. I(_U%!&98,_U%!&80,_U%!&84)
  1410. :_Q%!&C=_Q%!8:_Q%!16=6:_Q%!20=_U%!&98+_U%!&80:_Q%!24=_U%!&84:
  1411. &400E7,18,_Q%,_Q%!4:_U%!&70=_Q%!8
  1412. A(_U%!&98):_U%!&98=0:
  1413. B("SHELLMSG15"))
  1414. UA(_Q%):
  1415. b%,cC%,a%,l%,dC%:
  1416. _U%!300>0
  1417. %Ya%=
  1418. A(256):
  1419. _Q%!0
  1420. 4:a%!l%=_Q%!l%:
  1421. l%:b%=_U%!300:cC%=a%!4:
  1422. !a%<24
  1423. dC%=0
  1424. dC%=a%!20
  1425. .2a%!&C=a%!8:
  1426. &400E7,19,a%,cC%:
  1427. ("FN"+$b%)<>0
  1428. _closedown%=
  1429. !a%=24:a%!24=508:
  1430. &400E7,8,a%,cC%:_closedown%=
  1431. A(a%)
  1432. VA(Q%):
  1433. o$:o$="Run "+
  1434. &C,2,Q%!20,o$,
  1435. WA(_Q%):
  1436. _U%!312>0
  1437. B("Message_Shutdown:Shutdown message received"):b%=_U%!312:n%=
  1438. ("FN"+$b%)
  1439. XA(_Q%):
  1440. F$,P$,I$,eA%,eC%,KA$,_%:_%=
  1441. A(&C):
  1442. &400D6,_Q%!32,_%,&3F0000,&C<<16:
  1443. !_%<>-1
  1444. C(_Q%!32,!_%)
  1445. A(_%):
  1446. F$=""
  1447. M(_Q%!32,_Q%!36,8)
  1448. X!I$=
  1449. w(_Q%!32,_Q%!36):
  1450. I$<>""
  1451. I$,1))="I"
  1452. I$,";"):
  1453. eA%=0
  1454. I$,2)
  1455. I$,2,eA%-2)
  1456. L(I$),
  1457. L(";i")):eC%=
  1458. L(I$),
  1459. L(";"),eA%+1):
  1460. eA%>0
  1461. eC%>0
  1462. I$,eA%+2,eC%-eA%-2)
  1463. I$,eA%+2)
  1464. F$<>""
  1465. oj_Q%!16=&503:_Q%!&C=_Q%!8:P$=
  1466. U(F$,"",""):P$=
  1467. x(P$):$(_Q%+20)=P$:!_Q%=(
  1468. P$+25)
  1469. &400E7,17,_Q%,_Q%!4
  1470. YA(_Q%):
  1471. A$,DD%,NA%,OA%,n%,_temp%,q%,C$,vA%,a%:NA%=_Q%!24:OA%=_Q%!28:_U%!264=0:
  1472. _U%!20<>0
  1473. y(_U%!20)
  1474. _Q%!20
  1475. _U%!&E4:
  1476. lA(_U%!&E4,
  1477. B("warning")):
  1478. C(_U%!&E4,1,
  1479. B("SHELLMSG07"),0):
  1480. &400E8,,_U%!&E4,NA%,OA%
  1481. z(_U%!24,_Q%+32):
  1482. F(vA%!4)
  1483. mA(vA%,NA%,OA%)
  1484. A(32):
  1485. &45BC4,_U%!24,_Q%+32
  1486. ,,a%:
  1487. nA(a%!8,C$,H$):
  1488. A(a%):
  1489. oA(_Q%!20,NA%,OA%,C$,H$)
  1490. ZA(_Q%):
  1491. d%,e%,wA%,TA%:wA%=_U%!&B8:
  1492. _U%!&A0>0
  1493. B("Message_ModeChange:ModeChange message received"):b%=_U%!&A0:n%=
  1494. ("FN"+$b%)
  1495. :TA%=
  1496. A(&64):
  1497. wA%<>0
  1498. wA%!e%<>-1:d%=
  1499. D(wA%!e%,-1,_U%+92,24,
  1500. d%>-1
  1501. _(wA%!e%)
  1502. -!TA%=wA%!e%:
  1503. &400C6,,TA%:
  1504. Q(wA%!e%,0,-1)
  1505. :e%+=4:
  1506. A(TA%):
  1507. K(HD%):
  1508. y$,yB%:
  1509. ((HD%?yB%)>31
  1510. yB%<&FF):y$+=
  1511. (HD%?yB%):yB%+=1:
  1512. h(d$):
  1513. K(&43B00,d$):
  1514. bA(p$):
  1515. wD%,b%,v%:v%=
  1516. A(512):
  1517. _U%!&D0=-1
  1518. V(v%,"StrongHelp$Dir")
  1519. &600DE,"<StrongHelp$Dir>":
  1520. _U%!&D8<>0
  1521. A(_U%!&D8)
  1522. '_U%!&D8=
  1523. p$+1):b%=_U%!&D8:$b%=p$
  1524. A(v%):
  1525. B("SHELLMSG11"))
  1526. h("Help_Word "+p$)
  1527. A(v%):
  1528. fA%,zB%:fA%=
  1529. A(256):
  1530. :fA%!&C=0:
  1531. &400E7,19,fA%,-2,_U%!&D4
  1532. ,,zB%:_U%!&D4=_U%!&D4+1:
  1533. zB%<>-1
  1534. (_U%!&D4)>64:
  1535. zB%<>-1
  1536. @fA%!0=24:fA%!&C=0:fA%!16=&400C6:fA%!20=zB%:
  1537. &400E7,17,fA%,0
  1538. A(fA%):
  1539. dA(_Q%):
  1540. _Q%!16
  1541. &43B00:R$=$(_Q%+20):
  1542. R$,30)="EvntShellLib:ShellDBug started"
  1543. _U%!&64
  1544. N_U%!&64=(_U%!&64
  1545. 1<<4):
  1546. K(&43B00,"ShellDBug:Init Debug messages from "+
  1547. R$,25)="EvntShellLib:TraceInitAck"
  1548. _U%!&64=(_U%!&64
  1549. 1<<4)
  1550. R$,20)="EvntShellLib:TraceOn"
  1551. R$,21)="EvntShellLib:TraceOff"
  1552. R$,28)="EvntShellLib:ListClickSelect"
  1553. R$,28)="EvntShellLib:ListClickAdjust"
  1554. R$,25)="EvntShellLib:ListHelpTags"
  1555. uA(_Q%):
  1556. eA(_Q%):
  1557. _Q%!&C<>_U%!84
  1558. &20008,6,"<Wimp$Scrap>":
  1559. &FF,"Data Transfer failed: Receiver died"
  1560. fA(_Q%):
  1561. JD%,b%:b%=_U%!&9C:
  1562. _Q%!&C<>_U%!&70
  1563. _U%!&80=0
  1564. &20023,"Wimp$Scrap",,-1,0,3
  1565. ,,JD%:
  1566. JD%<>0
  1567. 6w$(b%+44)="<Wimp$Scrap>"+
  1568. (0):b%!0=(49+
  1569. K(b%+44)))
  1570. 3:b%!&C=b%!8:b%!16=2:b%!36=-1:
  1571. &400E7,18,b%,b%!4:_U%!&6C=b%!8
  1572. B("SHELLMSG14"))
  1573. A(_U%!&98):_U%!&98=0:
  1574. D("SHELLMSG06")
  1575. l%,b%:b%=_U%!&E8:
  1576. b%?l%>0:
  1577. &40082,l%:b%?l%-=1:
  1578. T(bB%,cB%,jD%,kD%):
  1579. CA%:CA%=
  1580. A(16):!CA%=bB%:CA%!4=cB%:CA%!8=jD%:CA%!&C=kD%:
  1581. &400CD,,CA%:
  1582. A(CA%):
  1583. Y(B$,EA$,lA%):
  1584. (B$)<lA%:B$=
  1585. (B$),EA$)+B$:
  1586. L(B$):
  1587. (B$)>0
  1588. (B$):
  1589. B$,l%,1)>="a"
  1590. B$,l%,1)<="z"
  1591. B$,l%,1)=
  1592. B$,l%,1))
  1593. hA(bB%,cB%):
  1594. T(bB%,cB%,0,&200000):
  1595. jA(bB%,cB%):
  1596. T(bB%,cB%,&200000,&200000):
  1597. c(p%,FB%,wB%):
  1598. tD%,e%,i%,b%,AC%:e%=0:i%=-1:AC%=
  1599. _U%!&64
  1600. _U%!&64=_U%!&64
  1601. FB%!e%<>-1:b%=FB%!e%:
  1602. 1<<31
  1603. b%=b%
  1604. 1<<31:AC%=
  1605. b%=p%
  1606. i%=e%:
  1607. _U%!&64=_U%!&64
  1608. :e%+=4:
  1609. (p%>=4096)
  1610. i%=-1
  1611. i%<>-1
  1612. _U%!&64
  1613. v(vD%):
  1614. r$,kA%,BC%,dA%:r$=
  1615. K(_Q%+44):kA%=
  1616. W(r$):
  1617. kA%<0
  1618. B("SHELLMSG16"))
  1619. 4dA%=
  1620. A(kA%):
  1621. &20008,16,r$,dA%,0
  1622. ;BC%:
  1623. AA(BC%)
  1624. A(dA%):
  1625. B("SHELLMSG17"))
  1626. :=dA%
  1627. j(p%,dA%,FB%,_filename$,_file_size%,a%):
  1628. e%,i%,b%,n%:e%=0:i%=-1:
  1629. FB%!e%<>-1:b%=FB%!e%:
  1630. 1<<31
  1631. b%=b%
  1632. 1<<31
  1633. b%=p%
  1634. i%=e%
  1635. [e%+=4:
  1636. :b%=a%!&C:n%=
  1637. ("FN"+$(b%!i%)+"("+
  1638. dA%+","+
  1639. p%+",_filename$,"+
  1640. _file_size%+")"):
  1641. w(c%,h%):
  1642. a%,I$,s%:
  1643. h%=-1
  1644. CI$="":a%=
  1645. A(&64):a%!0=c%:a%!4=h%:
  1646. &400CE,,a%:s%=a%!24:
  1647. a%!32>0
  1648. I$=$(a%!32)
  1649. A(a%):=I$
  1650. x(U$):
  1651. G$,W$,YB%:G$="":
  1652. U$,"\")>0:YB%=
  1653. U$,"\"):G$+=
  1654. U$,YB%-1):W$=
  1655. U$,YB%+1,1):U$=
  1656. U$,YB%+2):
  1657. "A":G$+="Click ADJUST to"
  1658. "a":G$+="ADJUST"
  1659. "D":G$+="Drag with SELECT to"
  1660. "d":G$+="Drag with ADJUST to"
  1661. "G":G$+="This option is greyed out because"
  1662. "R":G$+="Move the pointer right"
  1663. "S":G$+="Click SELECT to"
  1664. "s":G$+="SELECT"
  1665. "T":G$+="This is the"
  1666. "W":G$+="This window is"
  1667. "w":G$+="window"
  1668. G$+="\"+W$
  1669. :=G$+U$
  1670. y(m%):
  1671. o%:o%=
  1672. A(20):
  1673. m%<>0
  1674. BA(m%)
  1675. vA(m%):
  1676. m%=_U%!20
  1677. _U%!20=0
  1678. N(_U%!&B8,m%):
  1679. d%>-1
  1680. b%=_U%!&B8+d%:b%!0=0
  1681. :o%!0=m%:
  1682. &400C3,,o%:m%=0
  1683. A(o%):=m%
  1684. XA%,a$):
  1685. b%,o%,m%,MD%:o%=
  1686. A(6000):o%!0=XA%:
  1687. &400CC,,o%:
  1688. ((o%!60)
  1689. 256)=0
  1690. Ab%=o%+76:$b%=
  1691. a$,&B):
  1692. &400C3,,o%:
  1693. &400C1,,o%+4
  1694. m%<>XA%
  1695. wA(XA%,m%):XA%=m%
  1696. MD%=o%!84:$(!(o%+76))=
  1697. a$,MD%-1):
  1698. ((o%!32)
  1699. (1<<16))<>0
  1700. &400D1,-1,o%!4,o%!16,o%!&C,o%!16+44
  1701. A(o%)
  1702. z(r%,ND%):
  1703. e%,vA%:
  1704. &45BC7,r%
  1705. :vA%=r%+28+((ND%!e%)*24):r%=vA%!4:e%+=4:
  1706. ND%!e%=-1:=vA%
  1707. mA(gA%,NA%,OA%):
  1708. b%,LA%,n%:
  1709. ))b%=gA%!4:
  1710. N($b%!0,LA%):
  1711. $b%!4<>""
  1712. -!n%=
  1713. ("FN"+$b%!4+"("+
  1714. LA%+")")
  1715. $b%!8<>""
  1716. 0!n%=
  1717. ("FN"+$b%!8+"("+
  1718. LA%+")")
  1719. &400E8,,LA%,NA%,OA%:_U%!20=LA%:
  1720. nA(oD%,
  1721. _A%,t%,b%,d%,i%,k%,y%,e%:
  1722. AB%:AB%=0:t%=_U%!&DC:d%=0:i%=
  1723. :C$="":AB%=0:
  1724. F(t%)
  1725. :e%+=4:
  1726. t%!e%=-1:k%=e%:e%=0:
  1727. :b%=!(t%+d%+0):
  1728. b%<>-1
  1729. b%=oD%
  1730. E?i%=
  1731. :y%=t%!(d%+4):C$=$y%:AB%=t%!(d%+8):y%=t%!(d%+&C):H$=$y%
  1732. :d%+=16
  1733. d%=k%
  1734. d%>=k%
  1735. C$="":H$=""
  1736. oA(pD%,NA%,OA%,C$,H$):
  1737. n%,b%,AE%,e%:_shell_FontMenuSelFN$=H$:
  1738. F(_U%!&E0)
  1739. A(_U%!&E0)
  1740. X0_U%!&E0=
  1741. C$+1):b%=_U%!&E0:$b%=C$:
  1742. C$<>""
  1743. [#n%=
  1744. ("FN"+C$+"(_U%!52,_U%!56)")
  1745. &400E8,,pD%,NA%,OA%:
  1746. _(c%):=(
  1747. CA(c%)
  1748. 1<<16)
  1749. pA:_U%!48=
  1750. K(&43B00,"ShellDBug:TraceOn"):
  1751. qA:_U%!48=
  1752. K(&43B00,"ShellDBug:TraceOff"):
  1753. t%,f%,k%,b%,y%:t%=_U%!&C:k%=
  1754. E(t%):f%=0:
  1755. :b%=t%!(f%+20):y%=t%+f%:
  1756. F(b%)
  1757. $b%<>""
  1758. :f%+=48:
  1759. (f%>=k%):
  1760. t%,f%,k%,b%,y%:t%=_U%!&C:k%=
  1761. E(t%):f%=0:
  1762. :b%=t%!(f%+24):y%=t%+f%:
  1763. F(b%)
  1764. $b%<>""
  1765. :f%+=48:
  1766. (f%>=k%):
  1767. t%,f%,k%,b%,y%:t%=_U%!&C:k%=
  1768. E(t%):f%=0:
  1769. :b%=t%!(f%+44):y%=t%+f%:
  1770. F(b%)
  1771. $b%<>""
  1772. :f%+=48:
  1773. (f%>=k%):
  1774. uA(_Q%):
  1775. AA(BC%):=((BC%
  1776. 1)=1)
  1777. BA(m%):=-1
  1778. vA(c%):
  1779. f%,r%,i%,k%,g%,l%:f%=0:r%=0:i%=
  1780. c%=-1
  1781. c%=-2
  1782. E(_U%!&C)-8:g%=_U%!&C:
  1783. (g%!f%=c%)
  1784. f%+=48
  1785. (f%>=k%
  1786. Cg%!(f%+0)=0:g%!(f%+4)=0:g%!(f%+8)=0:
  1787. l%=&C
  1788. g%!(f%+l%)<>0
  1789. A(g%!(f%+l%)):g%!(f%+l%)=0
  1790. B("EventDeleteAll:wh%=&"+
  1791. ~c%):
  1792. xA(c%,-1):
  1793. yA(c%,-1):
  1794. wA(RA%,SA%):
  1795. SA%<>RA%
  1796. _U%!28=RA%
  1797. _U%!28=SA%
  1798. L(RA%,SA%,_U%!&C,48):
  1799. L(RA%,SA%,_U%!96,16):
  1800. L(RA%,SA%,_U%!72,24):
  1801. L(RA%,SA%,_U%!92,24):
  1802. L(RA%,SA%,_U%!&68,16):
  1803. _A(RA%,SA%)
  1804. CA(c%):
  1805. s%,a%:a%=
  1806. A(36):a%!0=c%:
  1807. &400CB,,a%:s%=a%!32:
  1808. A(a%):=s%
  1809. xA(c%,h%):
  1810. d%,a%,k%:
  1811. D(c%,h%,_U%+72,24,
  1812. d%>=0
  1813. h%=-1
  1814. B("DeleteEventDataSave:Deleting DataSave Event (all events for window handle &"+
  1815. ~c%+")")
  1816. B("DeleteEventDataSave:Deleting DataSave Event (window handle was &"+
  1817. ~c%+" icon handle was "+
  1818. h%+")")
  1819. E(_U%!72)-8:
  1820. d%=k%-24
  1821. A(_U%!72):_U%!72=0
  1822. _U%!72=
  1823. I(_U%!72,-24)
  1824. a%=g%+d%:a%!0=0:a%!4=0:a%!8=0:a%!&C=0:a%!16=0:
  1825. A(a%!20):a%!20=0
  1826. d%<0:
  1827. yA(c%,h%):
  1828. d%,a%,k%,g%,b%:g%=_U%!&68:
  1829. D(c%,h%,_U%+&68,16,
  1830. B("DeleteEventBump:offset%="+
  1831. d%>=0
  1832. h%=-1
  1833. B("DeleteEventBump:Deleting Bump Event (all events for window handle &"+
  1834. ~c%+")")
  1835. B("DeleteEventBump:Deleting Bump Event (window handle was &"+
  1836. ~c%+" icon handle was "+
  1837. h%+")")
  1838. E(_U%!&68)-8:
  1839. d%=k%-16
  1840. ~x%=g%!&C:b%=x%!&C:
  1841. A(b%!&C):
  1842. A(b%!16):
  1843. A(b%):
  1844. A(_U%!&68):_U%!&68=0:
  1845. B("DeleteEventDataSave:No Bump events now registered")
  1846. _U%!&68=
  1847. I(_U%!&68,-16)
  1848. a%=g%+d%:a%!0=0:a%!4=0:a%!8=0:x%=a%!&C:
  1849. A(x%!&C):
  1850. A(x%!16):
  1851. A(x%)
  1852. d%<0:
  1853. L(RA%,SA%,g%,d%):
  1854. f%,k%:
  1855. F(g%)
  1856. E(g%)-8:
  1857. (g%!f%=RA%)
  1858. g%!f%=SA%
  1859. :f%+=d%:
  1860. (f%>=k%)
  1861. _A(RA%,SA%):
  1862. d%,EA%:EA%=_U%!&B8:d%=
  1863. N(_U%!&B8,RA%):EA%!d%=SA%:
  1864. T(AA%,JC%):
  1865. WA%,q%:q%=
  1866. A(50):q%!0=AA%:q%!4=JC%:
  1867. &400CE,,q%:WA%=q%!24:
  1868. A(q%):=WA%
  1869.