Home » Archimedes archive » Acorn User » AU 1995-06.adf » !Education_Education » Ultima/!Victorian/!Runimage
Ultima/!Victorian/!Runimage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn User » AU 1995-06.adf » !Education_Education |
Filename: | Ultima/!Victorian/!Runimage |
Read OK: | ✔ |
File size: | CE2C bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
1REM Ultimap v 1.10 (17 Feb 1995) 2REM LEN Simon Hayles 1994 3 4 HIMEM=&40000 5 DIM taskid% 4:$taskid%="TASK" 6 SYS "Wimp_Initialise",200,!taskid%,"Ultimap" TO version%,task_handle% 7 8 ON ERROR PROCerrorbox 9 10 PROCvars 11 12 SYS "OS_Module",16,"Ubase%Ultimap" 13 *UBASE 40000 800000 14 15 REM global variables 16 17 DIM box% 12,box2% 12,matrix% 16,origin1% 8,origin2% 8 18 icon_font$="Homerton.Medium" 19 full_name$="Untitled" 20 query_string$="" 21 menu%=0 22 sprite_size%=&1E000 23 DIM q% 256,old_q% 256 24 DIM errblk% 3000 25 DIM main% 1000,sprites% sprite_size% 26 !sprites%=sprite_size%:sprites%!8=16:SYS spop%,&209,sprites% 27 DIM wimp_palette% 20*4 28 DIM page_stack% 1024 29 30 s_sprites%=1 31 s_draw%=2 32 s_replay%=3 33 s_quicktime%=4 34 s_fonts%=5 35 s_starcoms%=6 36 s_loadorder%=7 37 s_sounds%=8 38 s_text%=9 39 s_pages%=10 40 41 s_clicks%=11 42 s_mousedrag%=12 43 s_often%=13 44 s_pointer%=14 45 s_mouse%=15 46 s_pageshown%=16 47 s_spare%=17 48 s_clickson%=18 49 s_temp%=19 50 s_sequences%=20 51 52 REM options 53 54 printing%=FALSE 55 portrait%=FALSE 56 current_page%=0 57 margin%=16 58 click_time=1 59 click_pause=1 60 temp_list%=0 61 trying%=TRUE 62 speaking_text%=FALSE 63 speak_sound%=FALSE 64 speak_token%=FALSE 65 h_scroll%=TRUE 66 v_scroll%=TRUE 67 toggle_icon%=TRUE 68 title_bar%=TRUE 69 scanning%=FALSE 70 scan_keys%=1 71 scan_time%=100 72 scan_object%=1 73 scan_count%=0 74 menu_enabled%=TRUE 75 ws%=sprites%+32 76 page_size%=3 77 file_version%=101 78 current_page$="Page 1" 79 ws%=sprites%+32 80 81 SYS "Hourglass_On" 82 PROCload_templates 83 PROCget_mode_info 84 PROCload_options 85 PROCnew_file 86 87 SYS "OS_GetEnv" TO EnvStr$,end_adr% 88 IF INSTR(EnvStr$," -quit ") THEN 89 I%=INSTR(EnvStr$,""""):I%=INSTR(EnvStr$,"""",I%+1) 90 REPEATI%+=1:UNTILMID$(EnvStr$,I%,1)<>" " 91 f$=MID$(EnvStr$,I%) 92 IF f$<>"" full_name$=f$:PROCload_file(f$,2) 93 ENDIF 94 95 icon_bar%=FNiconbar 96 97 SYS setcaret%,main_w%,-1,0,10,10 98 99 SYS "Hourglass_Off" 100 ON ERROR PROCerrorbox 101 102 SYS drag%,,-1 103 PROCbegin_trying 104 REPEAT 105 PROCtry_poll 106 UNTIL FALSE 107 108 DEFPROCload_templates 109 DIM font_array% 256:FORt%=0TO252STEP4:t%!font_array%=0:NEXT 110 SYS "Wimp_OpenTemplate",,"<Obey$Dir>.Templates" 111 DIM winds% 2000,indir% 1000 112 indl%=indir%+4000 113 SYS "Wimp_LoadTemplate",,winds%,indir%,indl%,-1,"main_w",0 TO ,,indir% 114 SYS "Wimp_CreateWindow",,winds% TO main_w% 115 SYS "Wimp_LoadTemplate",,winds%,indir%,indl%,font_array%,"pagelist_wc",0 TO ,,indir% 116 SYS "Wimp_CreateWindow",,winds% TO pagelist_wc% 117 SYS "Wimp_LoadTemplate",,winds%,indir%,indl%,font_array%,"print_w",0 TO ,,indir% 118 SYS "Wimp_CreateWindow",,winds% TO print_w% 119 SYS "Wimp_LoadTemplate",,winds%,indir%,indl%,-1,"info",0 TO ,,indir% 120 SYS "Wimp_CreateWindow",,winds% TO info% 121 SYS "Wimp_CloseTemplate" 122 ENDPROC 123; 124 DEFPROCload_options 125 ptr%=OPENIN("<Ultimap$Dir>.options") 126 INPUT#ptr%,toolbox_on%,scanning%,scan_keys%,scan_time%,menu_enabled%,sound_vol% 127 CLOSE#ptr% 128 ptr%=OPENIN("<Ultimap$Dir>.messages") 129 INPUT#ptr%,info$,info1$ 130 CLOSE#ptr% 131 PROCset_icon_text(info%,1,info$) 132 PROCset_icon_text(info%,2,info1$) 133 ENDPROC 134 135 136DEF PROCfinish 137 SYS setcaret%,-1 138 PROClose_fonts 139 SYS "Wimp_CloseDown",task_handle%,!taskid% 140 SYS "OS_Exit" 141ENDPROC 142 143 DEFPROCredraw_window 144 SYS redraww%,,q% TO more% 145 WHILE more% 146 offx%=(q%!4-q%!20):offy%=(q%!16-q%!24) 147 CASE !q% OF 148 WHEN main_w%:PROCdraw_main_w(q%!28-offx%,q%!32-offy%,q%!36-offx%,q%!40-offy%,offx%,offy%) 149 WHEN pagelist_wc%:PROCdraw_pagelist_wc(q%!28-offx%,q%!32-offy%,q%!36-offx%,q%!40-offy%) 150 ENDCASE 151 SYS getr%,,q% TO more% 152 ENDWHILE 153 ENDPROC 154 155 DEF PROCfront(handle%) 156 !q%=handle%:SYS getw%,,q% 157 PROCopen_window(!q%,q%!4,q%!8,q%!12,q%!16,q%!20,q%!24,-1) 158 ENDPROC 159 160 DEF PROCopen_window(handle%,x%,y%,x1%,y1%,scx%,scy%,bhandle%) 161 IFhandle%=-1THENENDPROC 162 q%!28=bhandle% 163 q%!0=handle% 164 q%!4=x%:q%!8=y%:q%!12=x1%:q%!16=y1% 165 q%!20=scx%:q%!24=scy% 166 SYS openw%,,q% 167 ENDPROC 168 169 170 DEF PROCclose_window(handle%) 171 !q%=handle%:SYS closew%,,q% 172 ENDPROC 173 174DEF PROCvars 175 getenv%=&10 176 wimp% = (1<<18) + (3<<6) 177 createw%=wimp%+1 178 createicon%=wimp%+2 179 deleteicon%=wimp%+4 180 openw%=wimp%+5 181 closew%=wimp%+6 182 poll%=wimp%+7 183 redraww%=wimp%+8 184 updatew%=wimp%+9 185 getr%=wimp%+10 186 getw%=wimp%+11 187 getwi%=wimp%+12 188 seti%=wimp%+13 189 geti%=wimp%+14 190 getp%=wimp%+15 191 drag%=wimp%+16 192 forceredraw%=wimp%+17 193 setcaret%=wimp%+18 194 getcaret%=wimp%+19 195 createmenu%=wimp%+20 196 setextent%=wimp%+&17 197 processkey%=wimp%+&1C 198 sendmessage%=wimp%+&27 199 crsubmenu%=wimp%+&28 200 ploticon%=&400E2 201 202 setcol%=&40743 203 spop%=&2E 204 findfont%=&40081 205 losefont%=&40082 206 fontinfo%=&40084 207 stringwidth%=&40085 208 setfont%=&4008A 209 currentfont%=&4008B 210 converttoos%=&40088 211 converttopoints%=&40089 212 paint%=&40086 213 findcaret%=&4008D 214 charbbox%=&4008E 215 216 Ubase%=&1C0100 217 newfile%=Ubase% 218 newstack%=Ubase%+1 219 killstack%=Ubase%+2 220 addentry%=Ubase%+3 221 amendentry%=Ubase%+4 222 findtoken%=Ubase%+5 223 killentry%=Ubase%+6 224 movedata%=Ubase%+7 225 addpacked%=Ubase%+8 226 getentry%=Ubase%+9 227 unpacksprite%=Ubase%+10 228 nentries%=Ubase%+11 229 movetoend%=Ubase%+12 230 readstatus%=Ubase%+13 231 writestatus%=Ubase%+14 232 rendershape%=Ubase%+15 233 getnth%=Ubase%+17 234 locatefile%=Ubase%+19 235 playsound%=Ubase%+20 236 237 PD%=&80140 238 PDselect%=PD%+5 239 PDabort%=PD%+9 240 PDpagesize%=PD%+3 241 PDgiverec%=PD%+11 242 PDdrawpage%=PD%+12 243 PDgetrec%=PD%+13 244 PDendjob%=PD%+8 245 246 LOCAL ERROR 247 ON ERROR LOCAL ENDPROC 248 SYS "OS_Module",14,"Ubase%Ultimap" 249 ENDPROC 250 251DEF PROCget_pointer 252SYS getp%,,q% 253mousex%=!q%:mousey%=q%!4:b%=q%!8:handle%=q%!12:icon%=q%!16:ob%=q%!20 254ENDPROC 255 256DEF PROCerrorbox 257REM SYS drag%,,-1 258!errblk%=ERR:t$=REPORT$:t$="("+STR$ERR+")"+t$+" at line "+STR$ERL 259$(errblk%+4)=t$+CHR$0 260SYS "Wimp_ReportError",errblk%,1,"Ultimap" 261IF ERR<>1 PROCfinish:END 262REM IF printing% printing%=FALSE:PROCclose_window(print_w%) 263ENDPROC 264; 265 DEFFNiconbar 266 !q%=-1:q%!4=0:q%!8=0:q%!12=64:q%!16=64 267 q%!20=&300A 268 PROCstring0(q%+24,appsprite$) 269 SYS "Wimp_CreateIcon",,q% TO handle% 270 =handle% 271; 272 DEFPROCset_icon_fonts 273 SYS findfont%,,icon_font$,12*16,12*16 TO font% 274 SYS "Wimp_WhichIcon",print_w%,q%,1<<6,1<<6 275 t%=0:REPEAT:PROCicon_font(print_w%,t%!q%,font%):t%+=4:UNTILt%!q%=-1 276 ENDPROC 277 278 DEFPROCicon_font(window%,icon%,font%) 279 !errblk%=window%:errblk%!4=icon% 280 errblk%!12=&FF000000:errblk%!8=font%<<24 281 font%?font_array%+=1 282 SYS seti%,,errblk% 283 ENDPROC 284 285 DEFPROClose_fonts 286 FORA%=0TO255:n%=A%?font_array%:A%?font_array%=0 287 IF n%>0 FOR B%=1TOn%:SYS losefont%,A%:NEXT 288 NEXT:ENDPROC 289 290 DEFPROCget_mode_info 291 SYS "Wimp_ReadPalette",,wimp_palette% 292 SYS "OS_ReadModeVariable",-1,4 TO ,,xef% 293 SYS "OS_ReadModeVariable",-1,5 TO ,,yef% 294 SYS "OS_ReadModeVariable",-1,11 TO ,,screen_width% 295 SYS "OS_ReadModeVariable",-1,12 TO ,,screen_height% 296 screen_width%=screen_width%<<xef%:screen_height%=screen_height%<<yef% 297 ENDPROC 298 299 DEFPROCstart_drag(type%,x%,y%,x1%,y1%) 300 !q%=0:q%!4=5 301 q%!8=x%:q%!12=y%:q%!16=x1%:q%!20=y1% 302 q%!24=0:q%!28=0:q%!32=screen_width%:q%!36=screen_height% 303 SYS drag%,,q% 304 drag_type%=type% 305 ENDPROC 306 307REM-------------------------------------------------------------------------------------------------------- 308 309 DEFFNstring0(t%):LOCAL t$:t$="":IF ?t%<32:="" 310 REPEAT:t$=t$+CHR$?t%:t%+=1:UNTIL?t%<32 OR LENt$=255:=t$ 311 312 DEFPROCstring0(t%,t$):$t%=t$:t%?LENt$=0:ENDPROC 313 314REM-------------------------------------------------------------------------------------------------------- 315 316 DEFPROCcheck_pagelist_wc 317 but%=q%!8 318 !ws%=pagelist_wc%:SYS getw%,,ws% 319 offx%=(ws%!4-ws%!20):offy%=(ws%!16-ws%!24) 320 page%=(((q%!4)-offy%)DIV-48)+1 321 SYS nentries%,s_pages% TO np%:IF page%>np% ENDPROC 322 SYS getnth%,s_pages%,page% TO ,page% 323 current_page%=page% 324 PROCarrange_pagelist_wc(page%) 325 PROCpre_process 326 PROCshow_page(page%) 327 IF scanning% PROCscan 328 IF but%AND4 SYS createmenu%,,-1 329 ENDPROC 330 331 DEFPROCshow_page(page%) 332 current_page%=page% 333 !q%=main_w%:SYS getw%,,q% 334 IF (q%!32) AND (1<<16) SYS forceredraw%,-1,q%!4,q%!8,q%!12,q%!16 335 PROCwindow_title(main_w%,full_name$) 336 SYS getentry%,s_pages%,page% TO adr% 337 current_page$=FNstring0(adr%+4) 338 OSCLI "set Upage "+current_page$ 339 ENDPROC 340 341 DEFPROCupdate_object(stack%,object%) 342 LOCAL adr% 343 SYS getentry%,stack%,object% TO adr% 344 SYS forceredraw%,main_w%,adr%!12,adr%!16,adr%!20,adr%!24 345 ENDPROC 346 347 DEFPROCset_icon_state(window%,icon%,eor%,clear%) 348 !errblk%=window%:errblk%!4=icon%:errblk%!8=eor%:errblk%!12=clear%:SYS seti%,,errblk% 349 ENDPROC 350 351 DEFFNicon_state(window%,icon%) 352 !errblk%=window%:errblk%!4=icon%:SYS geti%,,errblk%:=errblk%!24 353 354 DEF PROCset_icon_text(window%,icon%,text$) 355 !errblk%=window%:errblk%!4=icon%:SYS geti%,,errblk% 356 PROCstring0(errblk%!28,LEFT$(text$,(errblk%!36)-1)) 357 errblk%!8=0:errblk%!12=0:SYS seti%,,errblk% 358 ENDPROC 359 360 DEFFNleaf(name$):IF INSTR(name$,".")=0:=name$ 361 REPEATname$=RIGHT$(name$,LENname$-INSTR(name$,".")) 362 UNTILINSTR(name$,".")=0:=name$ 363 364 DEFPROCstart_drag(type%,x%,y%,x1%,y1%) 365 !q%=0:q%!4=5 366 q%!8=x%:q%!12=y%:q%!16=x1%:q%!20=y1% 367 q%!24=0:q%!28=0:q%!32=screen_width%:q%!36=screen_height% 368 SYS drag%,,q% 369 drag_type%=type% 370 ENDPROC 371 372 DEFPROCramfetch 373 DMT_ref%=q%!4 374 DMT%=q%!20 375 DMT_len%=q%!24 376 CASE file_type% OF 377 WHEN &AFF,&FF9:PROCsave_picture(drag_ptype%,drag_picture%,"") 378 WHEN &FFF:PROCsave_text(drag_picture%,"") 379 WHEN &D3C:PROCsave_sound(drag_sound%,"") 380 ENDCASE 381 ENDPROC 382 383 DEFPROCdatasaveack 384 IF q%!12<>myref% ENDPROC 385 DMT%=0 386 f_type%=q%!40 387 CASE f_type% OF 388 WHEN &AFF,&FF9:PROCsave_picture(drag_ptype%,drag_picture%,FNstring0(q%+44)) 389 WHEN &D3C:PROCsave_sound(drag_sound%,FNstring0(q%+44)) 390 WHEN &FFF:PROCsave_text(drag_picture%,FNstring0(q%+44)) 391 ENDCASE 392 q%!12=q%!8:q%!16=3 393 SYS sendmessage%,17,q%,q%!4 394 ENDPROC 395 396 DEFPROCsave_picture(type%,token%,name$) 397 save$="" 398 LOCAL ERROR 399 ON ERROR LOCAL:RESTORE ERROR:ERROR 1,REPORT$ 400 IF DMT_ptr%=0 THEN 401 SYS "Hourglass_On" 402 SYS getentry%,type%,token% TO adr% 403 len%=(!adr%)-16 404 SYS readstatus%,type%,token% TO l%:IF l% len%=l% 405 adr%+=16 406 IF type%=s_sprites% THEN 407 SYS getentry%,s_sprites%,token% TO adr% 408 IF !adr%=(adr%!16)+16 THEN 409 save$=FNstring0(adr%+4) 410 adr%!4=1:adr%!8=16:adr%!12=!adr% 411 len%=!adr%+12:adr%+=4 412 ELSE 413 SYS unpacksprite%,s_sprites%,token%,sprites%+12 414 !sprites%=1 415 sprites%!4=16 416 sprites%!8=(sprites%!12)+16 417 len%=sprites%!8 418 adr%=sprites% 419 ENDIF 420 file_type%=&FF9 421 ELSE 422 file_type%=&AFF 423 ENDIF 424 DMT_mylen%=len% 425 DMT_data%=adr% 426 ENDIF 427 PROCsave_slave(name$,adr%,len%,file_type%) 428 IF save$<>"" THEN 429 SYS getentry%,s_sprites%,token% TO adr% 430 PROCstring0(adr%+4,save$) 431 ENDIF 432 ENDPROC 433 434 DEFPROCsave_sound(sound%,name$) 435 LOCAL ERROR 436 ON ERROR LOCAL:RESTORE ERROR:ERROR 1,REPORT$ 437 IF DMT_ptr%=0 THEN 438 SYS "Hourglass_On" 439 SYS getentry%,s_sounds%,sound% TO adr% 440 len%=(!adr%)-24 441 SYS readstatus%,s_sounds%,sound% TO l%:IF l% len%=l% 442 adr%+=24 443 DMT_mylen%=len% 444 DMT_data%=adr% 445 ENDIF 446 PROCsave_slave(name$,adr%,len%,&D3C) 447 ENDPROC 448 449 DEFPROCsave_text(text%,name$) 450 LOCAL ERROR 451 ON ERROR LOCAL:RESTORE ERROR:ERROR 1,REPORT$ 452 SYS getentry%,s_text%,text% TO adr% 453 SYS movedata%,adr%,ws%,!adr% 454 adr%=ws%+4:t%=adr% 455 len%=0 456 REPEAT 457 IF ?t%=13 ?t%=10 458 IF ?t%<>0 len%+=1:t%+=1 459 UNTIL?t%=0 ELSE UNTIL?t%=0 460 IF DMT_ptr%=0 THEN 461 SYS "Hourglass_On" 462 DMT_mylen%=len% 463 DMT_data%=adr% 464 ENDIF 465 PROCsave_slave(name$,adr%,len%,&FFF) 466 ENDPROC 467 468 DEFPROCsave_slave(name$,adr%,len%,file_type%) 469 IF DMT% THEN 470 IF DMT_mylen%-DMT_ptr%>DMT_len% THEN 471 l%=DMT_len% 472 ELSE 473 l%=DMT_mylen%-DMT_ptr% 474 SYS "Hourglass_Off" 475 ENDIF 476 SYS "Wimp_TransferBlock",task_handle%,DMT_data%+DMT_ptr%,DMT_ref%,DMT%,l% 477 DMT_ptr%+=l% 478 q%!12=q%!8:q%!16=7 479 q%!24=l% 480 SYS sendmessage%,18,q%,q%!4:REM send RAM transmit 481 ELSE 482 OSCLI "save "+name$+" "+STR$~adr%+" +"+STR$~len% 483 OSCLI "SETTYPE "+name$+" "+STR$~file_type% 484 SYS "Hourglass_Off" 485 ENDIF 486 ENDPROC 487 488 DEFPROCdataload 489 SYS movedata%,q%,old_q%,256 490 CASE old_q%!40 OF 491 WHEN &BC3: 492 IF old_q%!20=main_w% OR (old_q%!20=-2 AND old_q%!24=icon_bar%) THEN 493 IF old_q%!12<>0 ENDPROC 494 IF modified% THEN 495 PROCopen_query("load"+FNstring0(old_q%+44)) 496 ELSE 497 PROCload_file(FNstring0(old_q%+44),1) 498 old_q%!12=old_q%!8:old_q%!16=4:SYS "Wimp_SendMessage",17,old_q%,old_q%!4 499 ENDIF 500 ENDIF 501 ENDCASE 502 ENDPROC 503 504 DEFPROCload_file(name$,error%) 505 t%=OPENIN(name$):l%=EXT#t%:CLOSE#t% 506 PROCset_slot(HIMEM+(l%DIV&4000)*&4000+&4000,error%) 507 SYS newfile% 508 full_name$=LEFT$(name$,LEN(name$)-INSTR(name$,"!")-1) 509 SYS "Hourglass_On" 510 OSCLI "load "+name$+" 40000" 511 version%=!&4000C 512 SYS locatefile%,&78000 513 modified%=0 514 query_string$="" 515 edited_area%=0 516 current_page%=!&40020:toolbox_on%=!&40024:menu_enabled%=!&40028:page_size%=!&4002C 517 h_scroll%=!&40060:v_scroll%=!&40064:title_bar%=!&40068:toggle_icon%=!&4006C 518 scanning%=!&40070:scan_keys%=!&40074:scan_time%=!&40078 519 PROCsize_page 520 PROCredefine_main_w 521 IF !&40030 !&40030=main_w%:SYS openw%,,&40030:PROCopen_main_w 522 SYS "Hourglass_Off" 523 SYS "OS_ReadVarVal","Obey$Dir",main%,1000 TO ,,T% 524 T%?main%=0 525 full_name$=FNstring0(main%) 526 PROCwindow_title(main_w%,full_name$) 527 appsprite$=FNleaf(full_name$) 528 menu$=RIGHT$(appsprite$,LEN(appsprite$)-1) 529 IF LENmenu$<12 REPEAT:menu$=menu$+CHR$0:UNTILLENmenu$=12 530 ENDPROC 531 532REM-------------------------------------------------------------------------------------------------------- 533 534 DEFPROCnew_file 535 PROCset_slot(HIMEM+&4000,2) 536 SYS newfile% 537 FOR t%=1 TO 20 538 SYS newstack% 539 NEXT 540 full_name$="No_Name" 541 ENDPROC 542 543REM---------------------------------------------------------------------------------------------------- 544 545 DEFPROCopen_centre(handle%,off%) 546 !q%=handle%:SYS getw%,,q% 547 w%=(q%!12)-(q%!4):h%=(q%!16)-(q%!8) 548 wx%=screen_width%DIV2-w%DIV2 549 wy%=screen_height%DIV2-h%DIV2 550 PROCopen_window(handle%,wx%,wy%+off%,wx%+w%,wy%+h%+off%,q%!20,q%!24,-1) 551 ENDPROC 552 553 DEFPROCopen_main_w 554 !ws%=main_w%:SYS getw%,,ws% 555 sx%=ws%!4:sy%=ws%!8 556 sx1%=ws%!12:sy1%=ws%!16 557 558 sh%=screen_height%:sw%=screen_width% 559 hs%=0:vs%=0:tb%=0 560 IF h_scroll% hs%=40 561 IF v_scroll% vs%+=40 562 IF title_bar% tb%=36 563 w%=sx1%-sx%:h%=sy1%-sy% 564 IF sy1%+tb%>sh% sy1%=sh%-tb%:sy%=sy1%-h% 565 IF sy%<hs% sy%=hs% 566 IF sx1%+vs%>sw% sx1%=sw%-vs%:sx%=sx1%-w% 567 IF sx%<0 sx%=0 568 !ws%=main_w% 569 ws%!4=sx% 570 ws%!8=sy% 571 ws%!12=sx1% 572 ws%!16=sy1% 573 ws%!20=0:ws%!24=0 574 ws%!28=-1 575 PROCopen_window(main_w%,ws%!4,ws%!8,ws%!12,ws%!16,ws%!20,ws%!24,ws%!28) 576 !q%=main_w%:SYS getw%,,ws% 577 ENDPROC 578 579REM---------------------------------------------------------------------------------------------------- 580 581 DEFPROCdraw_picture(type%,token%,x%,y%,w%,h%,flags%) 582 IF type%=s_draw% x%+=(1<<xef%):y%+=(1<<yef%):w%-=(2<<xef%):h%-=(2<<yef%) 583 SYS getentry%,type%,token% TO a% 584 IF !a%>sprite_size%-24 flags%=flags%OR8 585 !errblk%=x%:errblk%!4=y%:errblk%!8=w%:errblk%!12=h% 586 SYS rendershape%,type%,token%,sprites%,errblk%,flags%AND15 587 ENDPROC 588 589REM---------------------------------------------------------------------------------------------------- 590 591 DEFPROCwindow_title(window%,title$) 592 IF window%=main_w% THEN 593 SYS getentry%,s_pages%,current_page% TO adr% 594 title$=title$+" - "+FNstring0(adr%+4) 595 ENDIF 596 IF modified% title$=title$+" *" 597 !errblk%=window%:SYS getwi%,,errblk% 598 PROCstring0(errblk%!76,title$) 599 SYS forceredraw%,-1,errblk%!4,(errblk%!16),errblk%!12,errblk%!16+36 600 ENDPROC 601 602 603 604REM---------------------------------------------------------------------------------------------------- 605 606 DEFPROCcheck_icon_bar 607 mx%=!q%:my%=q%!4:button%=q%!8 608 IF button% AND 2:PROCdo_icon_bar_menu(mx%,my%):ENDPROC 609 PROCfront(main_w%) 610 SYS setcaret%,main_w%,-1,0,0,10 611 ENDPROC 612 613 DEFPROCdo_icon_bar_menu(x%,y%) 614 IF scan_time%=0:scan_time%=100:scan_keys%=1 615 FOR opt%=0TO2STEP2:P%=main% 616 [opt opt% 617.iconmenu 618 equs menu$ 619 equd &070207:equd 208:equd 40:equd 0 620 equd 0:equd info%:equd &07000021 621 equs "Info " 622 equd scanning%AND1:equd ibmenu:equd &07000021 623 equs "Scanning " 624 equd 0:equd somenu:equd &07000021 625 equs "Sound volume" 626 equd &80:equd -1:equd &07000021 627 equs "Quit " 628 629.ibmenu 630 equs "Scanning":equd 0 631 equd &070207:equd 208:equd 40:equd 0 632 equd (scan_keys%=2)AND1:equd -1:equd &07000021 633 equs "Two switches" 634 equd &80:equd ibmenu1:equd &07000021 635 equs "Speed " 636 637.somenu 638 equs "Sound Volume" 639 equd &070207:equd 208:equd 40:equd 0 640 equd (sound_vol%=&10F)AND1:equd -1:equd &07000021 641 equs "Off " 642 equd (sound_vol%=&14F)AND1:equd -1:equd &07000021 643 equs "Quiet " 644 equd &80 OR ((sound_vol%=&17F)AND1):equd -1:equd &07000021 645 equs "Loud " 646 647.ibmenu1 648 equs "Seconds":equb 0:equd 0 649 equd &070207:equd 208:equd 40:equd 0 650 equd &84:equd -1:equd &07000121 651 equd ibmess:equd ibval:equd 8 652 653.ibval equs "a0-9."+CHR$0 654.ibmess equs STR$(scan_time%/100)+CHR$(0) 655 656 ]:NEXT 657 658 SYS createmenu%,,main%,mx%-16,260 659 menu%=5 660 ENDPROC 661 662REM---------------------------------------------------------------------------------------------------- 663 664 DEFPROCicon_bar_menu 665 LOCAL c% 666 CASE !q% OF 667 WHEN 1 668 CASE q%!4 OF 669 WHEN -1:scanning%=scanning% EOR TRUE 670 WHEN 0: 671 IF scan_keys%=2 scan_keys%=1 ELSE scan_keys%=2 672 scanning%=TRUE 673 WHEN 1: 674 t%=(VAL(FNstring0(ibmess)))*100 675 IF t% scan_time%=t% 676 scanning%=TRUE 677 ENDCASE 678 WHEN 2: 679 CASE q%!4 OF 680 WHEN 0:sound_vol%=&10F 681 WHEN 1:sound_vol%=&14F 682 WHEN 2:sound_vol%=&17F 683 ENDCASE 684 WHEN 3:IF modified% PROCopen_query("") ELSE PROCfinish 685 ENDCASE 686 SYS getp%,,q%:IF q%!8 AND 1 PROCdo_icon_bar_menu(mx%,my%) 687 ENDPROC 688 689REM-------------------------------------------------------------------------------------------------------- 690 691 DEFPROCdraw_main_w(wx%,wy%,wx1%,wy1%,offx%,offy%) 692 SYS getentry%,s_pages%,current_page% TO adr% 693 stack%=adr%!20:page_col%=adr%!28 694 SYS setcol%,page_col%:RECTANGLE FILL wx%+offx%,wy%+offy%,wx1%-wx%,wy1%-wy% 695 SYS nentries%,stack% TO no% 696 IF no% THEN 697 FOR object%=1 TO no% 698 SYS getnth%,stack%,object% TO adr%,token% 699 x%=adr%!12:y%=adr%!16:x1%=adr%!20:y1%=adr%!24:flags%=adr%!36 700 IF x%<wx1% AND x1%>wx% AND y%<wy1% AND y1%>wy% AND (flags%AND128)=0 THEN 701 CASE adr%!4 OF 702 WHEN s_text%:PROCdraw_text(stack%,token%,offx%,offy%) 703 WHEN s_sprites%,s_draw%:PROCdraw_picture(adr%!4,adr%!8,x%+offx%,y%+offy%,x1%-x%,y1%-y%,flags%) 704 ENDCASE 705 ENDIF 706 NEXT 707 ENDIF 708 ENDPROC 709 710 DEFFNstrip_spaces(text$) 711 REPEAT 712 IF ASCtext$=32 text$=RIGHT$(text$,LENtext$-1) 713 UNTILASCtext$<>32 714 =text$ 715 716 DEFFNlower_case(text$):IF text$="":="" 717 LOCAL t$,t%,c% 718 FORt%=1TOLENtext$ 719 c%=ASC(MID$(text$,t%,1)) 720 IF c%>64 AND c%<91 c%+=32 721 t$=t$+CHR$c% 722 NEXT 723 =t$ 724 725REM---------------------------------------------------------------------------------------------------- 726 727 DEFPROCdraw_text(stack%,token%,offx%,offy%) 728 IF speaking_text% AND speak_token%=token% PROChighlight_text(stack%,token%,offx%,offy%,speak_word%):ENDPROC 729 SYS getentry%,stack%,token% TO adr% 730 x%=(adr%!12)+offx% 731 y%=(adr%!16)+offy% 732 x1%=(adr%!20)-(1<<xef%)+offx% 733 y1%=(adr%!24)-(1<<yef%)+offy% 734 flags%=adr%!36:font%=adr%!40:b_s%=adr%!32 735 fcol%=adr%!52:IF fcol% AND &FF fcol%=page_col% 736 bcol%=adr%!56 737 IF flags%AND1 fcol%=fcol%EOR&FFFFFF00:bcol%=bcol%EOR&FFFFFF00 738 PROCdraw_border(b_s%,fcol%,bcol%,x%,y%,x1%,y1%) 739 x%+=(1<<xef%) 740 x1%-=(1<<xef%) 741 y%+=(1<<yef%) 742 y1%-=(1<<yef%) 743LOCAL ERROR 744ON ERROR LOCAL RESTORE ERROR:font%=0 745 IF font% THEN 746 SYS getentry%,s_fonts%,font% TO t% 747 SYS findfont%,,t%+4,adr%!44,adr%!48 TO font% 748 ENDIF 749 IF font% THEN 750 IF bcol% AND &FF bcol%=fcol% 751 SYS "ColourTrans_SetFontColours",font%,bcol%,fcol%,14 752 SYS fontinfo%,font% TO ,cx%,cy%,cx1%,cy1% 753 ELSE 754 cx%=-(1<<xef%):cy%=-(1<<yef%):cx1%=8<<xef%:cy1%=8<<yef% 755 ENDIF 756 text_height%=cy1% 757 SYS getentry%,s_text%,adr%!8 TO text% 758 text%+=4 759 text_offset%=0 760 px%=x%+margin%:py%=y1%-text_height%+cy% 761 centre%=FALSE:right%=FALSE:underline%=FALSE 762 IF flags% AND 8 centre%=TRUE 763 IF flags% AND 16 right%=TRUE 764 IF flags% AND 32 underline%=TRUE 765 REPEAT 766 CASE text_offset%?text% OF 767 WHEN 0: 768 WHEN 13:py%-=text_height%:text_offset%+=1 769 OTHERWISE 770 text$=FNstring0(text%+text_offset%) 771 text_offset%+=LENtext$ 772 IF font% THEN 773 SYS stringwidth%,,text$,1<<30,1<<30,-1,LENtext$ TO ,,w% 774 SYS converttoos%,,w% TO ,w% 775 IF centre% px%=x%+(x1%-x%)DIV2-w%DIV2 776 IF right% px%=x1%-w%-margin% 777 IF underline% text$=CHR$(25)+CHR$(1)+CHR$(16)+text$ 778 SYS paint%,,text$,1<<4,px%,py%-cy% 779 ELSE 780 w%=LENtext$*cx1% 781 IF centre% px%=x%+(x1%-x%)DIV2-w%DIV2 782 IF right% px%=x1%-w%-margin% 783 SYS setcol%,fcol%:MOVE px%,py%+cy1%:PRINTtext$ 784 IF underline% MOVE px%,py%-cy%:PLOT1,cx1%*LENtext$,0 785 ENDIF 786 ENDCASE 787 UNTIL text_offset%?text%=0 788 IF font% SYS losefont%,font% 789 ENDPROC 790 791 DEFPROCdraw_border(style%,col%,bcol%,x%,y%,x1%,y1%) 792 IF (bcol%AND&FF)=0 SYS setcol%,bcol%:RECTANGLE FILL x%,y%,x1%-x%,y1%-y% 793 CASE style% OF 794 WHEN 1 795 SYS setcol%,col% 796 RECTANGLE x%,y%,x1%-x%,y1%-y% 797 WHEN 2:REM bold 798 SYS setcol%,&FFFFFF00 799 MOVE x%,y%:DRAW x%,y1%:DRAW x1%,y1% 800 SYS setcol%,!(wimp_palette%+16) 801 DRAW x1%,y%:DRAW x%,y% 802 WHEN 3:REM inset 803 SYS setcol%,!(wimp_palette%+16) 804 MOVE x%,y%:DRAW x%,y1%:DRAW x1%,y1% 805 SYS setcol%,&FFFFFF00 806 DRAW x1%,y%:DRAW x%,y% 807 ENDCASE 808 ENDIF 809 ENDPROC 810 811 DEFPROCplay_sound(sound%) 812 SYS getentry%,s_sounds%,sound% TO adr1% 813 len%=(!adr1%)-24:SYS readstatus%,s_sounds%,sound% TO l%:IF l% len%=l% 814 LOCAL ERROR 815 ON ERROR LOCAL RESTORE ERROR:PROCerrorbox:ENDPROC 816 SYS playsound%,adr1%+24,len%,sound_vol% 817 ENDPROC 818 819 DEFPROCplay_sound_wait(sound%) 820 SYS getentry%,s_sounds%,sound% TO adr1% 821 len%=(!adr1%)-24:SYS readstatus%,s_sounds%,sound% TO l%:IF l% len%=l% 822 SYS playsound%,adr1%+24,len%,sound_vol% 823 REPEAT:SYS playsound%,0 TO t%:UNTILt%<>-1 824 ENDPROC 825 826 DEFPROCmake_space(plus%) 827 size%=(!&40004-&40000)+plus%*2 828 slot_size%=HIMEM+(size%DIV&4000)*&4000+&4000 829 SYS "Wimp_SlotSize",slot_size%,-1 TO t% 830 IF t%<slot_size% ERROR 1,"Ultimap has run out of memory" 831 ENDPROC 832 833 DEFPROCset_slot(size%,error%) 834 slot_size%=size% 835 SYS "Wimp_SlotSize",slot_size%,-1 TO t% 836 IF t%<slot_size% ERROR error%,"There's not enough memory to load this file!" 837 ENDPROC 838 839 DEFPROCopen_print_w 840 IF portrait% a%=0:b%=1<<21 ELSE a%=1<<21:b%=0 841 PROCset_icon_state(print_w%,6,a%,1<<21) 842 PROCset_icon_state(print_w%,7,b%,1<<21) 843 PROCset_icon_text(print_w%,2,"1") 844 SYS getp%,,q% 845 SYS createmenu%,,-1 846 SYS createmenu%,,print_w%,!q%-30,q%!4+60 847 ENDPROC 848 849 DEFPROCcheck_print_w 850 b%=q%!8 851 CASE q%!16 OF 852 WHEN 3:SYS createmenu%,,-1 853 WHEN 4: 854 !q%=print_w%:q%!4=7:SYS geti%,,q% 855 IF (q%!24) AND (1<<21) style%=2:portrait%=TRUE ELSE style%=1:portrait%=FALSE 856 !q%=print_w%:q%!4=2:SYS geti%,,q% 857 run_num%=VAL(FNstring0(q%!28)) 858 IF run_num%=0 run_num%=1 859 PROCprint_routine(style%,run_num%) 860 IF b% AND 6 SYS createmenu%,,-1 861 ENDCASE 862 ENDPROC 863 864 DEFPROCprint_routine(style%,run_num%) 865 LOCAL phandle%,ohandle% 866 LOCAL left%,bottom%,right%,top% 867 LOCAL copiesleft%,rect% 868 869 phandle%=OPENOUT("printer:") 870 LOCAL ERROR 871 ON ERROR LOCAL:CLOSE#phandle%:RESTORE ERROR:ERROR 1,"There is no printer driver!" 872 SYS PDselect%,phandle%,"Ultima" TO ohandle% 873 874 ON ERROR LOCAL:SYS PDabort%,phandle%:CLOSE#phandle%:SYS PDselect%,ohandle%:printing%=FALSE:RESTORE ERROR:ERROR 1,REPORT$+STR$ERL 875 876 SYS PDpagesize% TO ,,,left%,bottom%,right%,top% 877 SYS "Hourglass_On" 878 879 FOR loop%=1 TO run_num% 880 !ws%=main_w%:SYS getwi%,,ws% 881 mx%=ws%!44:my%=ws%!48:mx1%=ws%!52:my1%=ws%!56 882 !box%=mx%:box%!4=my%:box%!8=mx1%:box%!12=my1% 883 CASE style% OF 884 WHEN 1:REM landscape 885 IF page_size%=4 THEN 886 scx=.67 887 scy=.67 888 !matrix%=0:matrix%!4=-scx*2^16:matrix%!8=scy*2^16:matrix%!12=0 889 !origin1%=(right%-left%)DIV16:origin1%!4=top%-(top%-bottom%)DIV2-(top%-bottom%)DIV30 890 ELSE 891 scx=1.4 892 scy=1.5 893 !matrix%=0:matrix%!4=-scx*2^16:matrix%!8=scy*2^16:matrix%!12=0 894 !origin1%=(right%-left%)DIV20:origin1%!4=top%-(top%-bottom%)DIV20 895 ENDIF 896 WHEN 2:REM portrait 897 scx=1.05 898 scy=.95 899 !matrix%=scx*2^16:matrix%!4=0:matrix%!8=0:matrix%!12=scy*2^16 900 !origin1%=(right%-left%)DIV20:origin1%!4=bottom% 901 ENDCASE 902 SYS PDgiverec%,loop%,box%,matrix%,origin1%,&FFFFFF00 903 printing%=TRUE 904 SYS PDdrawpage%,1,box2%,0,0 TO copiesleft%,,rect% 905 WHILE copiesleft%<>0 906 PROCdraw_main_w(mx%,my%,mx1%,my1%,0,0) 907 SYS PDgetrec%,,box2% TO copiesleft%,,rect% 908 ENDWHILE 909 NEXT 910 911 SYS PDendjob%,phandle% 912 CLOSE#phandle% 913 SYS PDselect%,ohandle% 914 printing%=FALSE 915 SYS "Hourglass_Off" 916 ENDPROC 917 918 DEFPROChide_object(stack%,token%,hide%,on_vdu%) 919 SYS getentry%,stack%,token% TO adr1% 920 IF hide%<>0 AND ((adr1%!36)AND128)<>0 on_vdu%=0 921 IF hide%=0 AND ((adr1%!36)AND128)=0 on_vdu%=0 922 IF hide% adr1%!36=(adr1%!36)OR128 ELSE adr1%!36=(adr1%!36)AND&FFFFFF7F 923 IF on_vdu% SYS forceredraw%,main_w%,adr1%!12,adr1%!16,adr1%!20+(4<<xef%),adr1%!24+(1<<yef%) 924 ENDPROC 925 926 DEFPROClight_object(stack%,token%,hi%,on_vdu%) 927 SYS getentry%,stack%,token% TO adr1% 928 h%=(adr1%!36)AND1:IF hi% hi%=1 929 IF hi% adr1%!36=(adr1%!36)OR1 ELSE adr1%!36=(adr1%!36)AND&FFFFFFFE 930 IF on_vdu% AND h%<>hi% SYS forceredraw%,main_w%,adr1%!12,adr1%!16,adr1%!20,adr1%!24 931 ENDPROC 932 933 DEFFNstack(page%) 934 LOCAL adr% 935 SYS getentry%,s_pages%,page% TO adr% 936 IF adr%=0 OR adr%!20=0 ERROR 2,"bad stack from page" 937 =adr%!20 938 939 DEFFNwhich_object(page%,x%,y%) 940 stack%=FNstack(page%) 941 SYS nentries%,stack% TO no%:o%=0 942 IF no%=0:=0 943 FOR t%=1 TO no% 944 SYS getnth%,stack%,t% TO adr%,token% 945 IF x%>=adr%!12 AND y%>=adr%!16 AND x%<adr%!20 AND y%<adr%!24 AND ((adr%!36)AND128)=0 THEN 946 o%=token%:off_mx%=x%-adr%!12:off_my%=y%-adr%!16 947 ENDIF 948 NEXT 949 =o% 950 951 DEFPROCarrange_pagelist_wc(page%) 952 iw%=280:ih%=-48:pl_tick%=0 953 SYS nentries%,s_pages% TO np% 954 !q%=0:q%!8=iw%-(3<<xef%):q%!12=0 955 IF np%<3 q%!4=ih%*3 ELSE q%!4=ih%*np% 956 SYS setextent%,pagelist_wc%,q% 957 iy%=ih%:cur_y%=iy% 958 FOR loop%=1TOnp% 959 SYS getnth%,s_pages%,loop% TO adr%,token% 960 IF token%=page% cur_y%=iy%:pl_tick%=iy% 961 iy%+=ih% 962 NEXT 963 !q%=pagelist_wc%:SYS getw%,,q% 964 offy%=(q%!16-q%!24):sy%=q%!24 965 wy%=(q%!8)-offy%:wy1%=(q%!16)-offy% 966 IF cur_y%<wy% sy%+=cur_y%-wy% 967 IF cur_y%-ih%>wy1% sy%=cur_y%-ih% 968 q%!24=sy% 969 o%=(q%!32)AND(1<<16) 970 SYS openw%,,q% 971 IF o%=0 THEN 972 SYS closew%,,q% 973 ELSE 974 SYS forceredraw%,-1,q%!4,q%!8,q%!12,q%!16 975 ENDIF 976 ENDPROC 977 978 DEFPROCdraw_pagelist_wc(wx%,wy%,wx1%,wy1%) 979 SYS nentries%,s_pages% TO np% 980 SYS findfont%,,icon_font$,12*16,12*16 TO font% 981 ih%=-48:ix%=0:iy%=ih%:ix1%=280:iy1%=0 982 FORpage%=1TOnp% 983 IF ix%<=wx1% AND ix1%>=wx% AND iy%<=wy1% AND iy1%>=wy% THEN 984 SYS getnth%,s_pages%,page% TO adr%,token% 985 IF iy%=pl_tick% THEN 986 !q%=ix%:q%!4=iy%:q%!8=ix%+38:q%!12=iy1% 987 q%!16=&7000019:PROCstring0(q%+20,"�") 988 SYS ploticon%,,q% 989 ENDIF 990 !q%=ix%+38:q%!4=iy%:q%!8=ix%+280:q%!12=iy1% 991 q%!16=font%<<24 OR &171:q%!20=adr%+4:q%!24=0:q%!32=12 992 SYS ploticon%,,q% 993 ENDIF 994 iy%+=ih%:iy1%+=ih% 995 NEXT 996 SYS losefont%,font% 997 !q%=pagelist_wc% 998 ENDPROC 999 1000 DEFFNpt_from_context(context%) 1001 CASE context% OF 1002 WHEN s_mousedrag%:=4 1003 WHEN s_often%:=8 1004 WHEN s_pointer%:=16 1005 WHEN s_mouse%:=20 1006 WHEN s_pageshown%:=32 1007 ENDCASE 1008 =0 1009 1010 DEFFNname_exsists(stack%,f$) 1011 SYS nentries%,stack% TO ne% 1012 IF ne%=0:=0 1013 f%=0:f$=FNlower_case(f$) 1014 FORentry%=1TOne% 1015 SYS getnth%,stack%,entry% TO adr%,token% 1016 IF f$=FNlower_case(FNstring0(adr%+4)) f%=token% 1017 NEXT:=f% 1018 1019 DEFPROCsize_page 1020 !q%=main_w%:SYS getwi%,,q% 1021 IF (q%!32)AND(1<<16) open%=TRUE ELSE open%=FALSE 1022 SYS "Wimp_DeleteWindow",,q% 1023 bh%=q%!28 1024 portrait%=FALSE 1025 CASE page_size% OF 1026 WHEN 1:q%!52=639<<xef%:q%!48=-(460<<yef%) 1027 WHEN 2:q%!52=799<<xef%:q%!48=-(580<<yef%) 1028 WHEN 3:q%!52=1023<<xef%:q%!48=-(748<<yef%) 1029 WHEN 4:q%!52=1320:q%!48=-2000:portrait%=TRUE 1030 ENDCASE 1031 SYS "Wimp_CreateWindow",,q%+4 TO main_w% 1032 !q%=main_w%:SYS getw%,,q%:PROCopen_window(!q%,q%!4,q%!8,q%!12,q%!16,q%!20,q%!24,bh%) 1033 ENDPROC 1034 1035REM ***************************** clicks below here ************************** 1036 1037 DEFPROCbegin_trying 1038 trying%=TRUE 1039 click_underway%=FALSE 1040 pause_on%=FALSE 1041 pointer_object%=0 1042 input$="" 1043 PROCzero_page_stack 1044 PROCpre_process 1045 PROCshow_page(current_page%) 1046 IF scanning% PROCscan 1047 OSCLI "set Uobject "+CHR$34+CHR$34 1048 ENDPROC 1049 1050 DEFPROCdelight 1051 stack%=FNstack(current_page%) 1052 SYS nentries%,stack% TO no% 1053 IF no% THEN 1054 FOR object%=1TOno% 1055 SYS getnth%,stack%,object% TO adr% 1056 IF adr%!36 AND 1 adr%!36=(adr%!36)AND-2 1057 NEXT 1058 ENDIF 1059 IF speak_token% PROCupdate_object(stack%,speak_token%) 1060 ENDPROC 1061 1062 DEFPROCzero_page_stack:FORT%=0TO1020STEP4:T%!page_stack%=0:NEXT:page_ptr%=0:ENDPROC 1063 1064 DEFPROCpre_process 1065 pointer_object%=0 1066 pointer_int%=0 1067 often_int%=0 1068 seq_int%=0 1069 scan_object%=0 1070 speaking_text%=0:speak_word%=0:speak_token%=0 1071 pointer_on%=TRUE 1072 try_time%=TIME 1073 REPEAT 1074 SYS nentries%,s_sequences% TO s% 1075 IF s% THEN 1076 SYS getnth%,s_sequences%,1 TO adr%,token% 1077 SYS killentry%,s_sequences%,token%:REM clear all sequences 1078 ENDIF 1079 UNTILs%=0 1080 REPEAT 1081 SYS nentries%,s_clickson% TO s% 1082 IF s% THEN 1083 SYS getnth%,s_clickson%,1 TO ,token% 1084 SYS killentry%,s_clickson%,token%:REM clear all clicks 1085 ENDIF 1086 UNTILs%=0 1087 stack%=FNstack(current_page%) 1088 SYS getentry%,s_pages%,current_page% TO adr% 1089 IF adr%!24 SYS writestatus%,s_clicks%,adr%!24,0 1090 SYS nentries%,stack% TO no% 1091 IF no% THEN 1092 FOR object%=1TOno% 1093 SYS getnth%,stack%,object% TO adr% 1094 adr%!36=(adr%!36)AND&FFFFFF3E:REM ensure all objects shown, unselected and unhighlighted 1095 click%=adr%!28 1096 IF click% SYS writestatus%,s_clicks%,click%,0:REM zero status to avoid repetition of click 1097 NEXT 1098 ENDIF 1099 FOR object%=0TOno% 1100 IF object%=0 THEN 1101 SYS getentry%,s_pages%,current_page% TO adr% 1102 click%=adr%!24 1103 ELSE 1104 SYS getnth%,stack%,object% TO adr% 1105 click%=adr%!28 1106 ENDIF 1107 IF click% THEN 1108 SYS getentry%,s_clicks%,click% TO adr% 1109 SYS readstatus%,s_clicks%,click% TO s% 1110 IF s%=0 THEN 1111 SYS writestatus%,s_clicks%,click%,1 1112 IF adr%!4 PROCpre_click(s_mousedrag%,adr%!4,0) 1113 IF adr%!8 THEN 1114 often_int%=TRUE 1115 adr%!24=try_time%+adr%!12 1116 PROCpre_click(s_often%,adr%!8,1) 1117 ENDIF 1118 IF adr%!16 THEN 1119 pointer_int%=TRUE 1120 PROCpre_click(s_pointer%,adr%!16,1) 1121 ENDIF 1122 IF adr%!20 PROCpre_click(s_mouse%,adr%!20,1) 1123 IF adr%!32 THEN 1124 PROCpre_click(s_pageshown%,adr%!32,1) 1125 PROCdo_click(s_pageshown%,adr%!32) 1126 ENDIF 1127 ENDIF 1128 ENDIF 1129 NEXT 1130 ENDPROC 1131 1132 DEFPROCpre_click(context%,click%,seq%) 1133 LOCAL adr% 1134 SYS getentry%,context%,click% TO adr% 1135 end%=adr%+!adr%:adr%+=4 1136 REPEAT 1137 len%=!adr%:cmd%=adr%!4 1138 CASE cmd% OF 1139 WHEN 1,3,4:IF seq%=0 PROCpre_list(cmd%,adr%+8,len%-12) 1140 WHEN 5:IF context%=s_pageshown% AND seq%=0 PROCplay_sound(adr%!8) 1141 WHEN 7: 1142 IF seq% THEN 1143 seq_int%=TRUE 1144 flag%=adr%!12:s%=adr%+36:e%=len%-40 1145 IF flag% AND 4 s%=adr%+40:e%=len%-44 1146 PROCpre_list(3,s%,e%) 1147 ENDIF 1148 ENDCASE 1149 adr%+=len% 1150 UNTIL adr%>=end% 1151 ENDPROC 1152 1153 DEFPROCpre_list(cmd%,adr%,len%) 1154 FORlist%=0TOlen%STEP4 1155 CASE cmd% OF 1156 WHEN 1:PROClight_object(stack%,list%!adr%,1,0) 1157 WHEN 3:PROChide_object(stack%,list%!adr%,1,0) 1158 WHEN 4:PROChide_object(stack%,list%!adr%,0,0) 1159 ENDCASE 1160 NEXT 1161 ENDPROC 1162 1163 DEFPROCtry_poll 1164 SYS poll%,,q% TO A% 1165 SYS playsound%,0 1166 SYS "OS_Module",16,"Ubase%Ultimap" 1167 CASE A% OF 1168 WHEN 0:PROCtry_null 1169 WHEN 1:PROCredraw_window 1170 WHEN 2:PROCopen_window(!q%,q%!4,q%!8,q%!12,q%!16,q%!20,q%!24,q%!28) 1171 WHEN 3:PROCclose_window(!q%) 1172 WHEN 4:IF !q%=main_w% AND pointer_on%=0 OSCLI"pointer 1" 1173 WHEN 5:IF !q%=main_w% AND pointer_on%=0 SYS "Wimp_SpriteOp",36,1,"ptr_clock",2 1174 WHEN 6:PROCtry_mouse 1175 WHEN 7:PROCtry_user_drag 1176 WHEN 8:PROCtry_keys 1177 WHEN 9:PROCtry_menu_select 1178 WHEN 17,18:PROCtry_receive(q%) 1179 ENDCASE 1180 ENDPROC 1181 1182 DEF PROCtry_receive(q%) 1183 CASE q%!16 OF 1184 WHEN 0:PROCfinish:END 1185 WHEN 2:PROCdatasaveack 1186 WHEN 3:IF q%!40=&BC3 PROCdataload 1187 WHEN 6:PROCramfetch 1188 WHEN &502:PROChelp_request 1189 WHEN &400C0:PROCtry_menu_warning 1190 WHEN &400C1: 1191 SYS "Hourglass_On" 1192 PROCget_mode_info 1193 PROClose_fonts 1194 PROCset_icon_fonts 1195 SYS "Hourglass_Off" 1196 ENDCASE 1197 ENDPROC 1198 1199 DEFPROCtry_null 1200 !q%=main_w%:SYS getw%,,q%:IF((q%!32)AND(1<<16))=0 ENDPROC 1201 IF seq_int% PROCcheck_sequences(TIME) 1202 PROCcheck_clicks 1203 IF RIGHT$(input$,1)=CHR$13:input$=LEFT$(input$,LEN(input$)-1):!q%=main_w%:q%!24=13:PROCtry_keys 1204 IF pointer_int% AND scanning%=FALSE PROCunder_pointer 1205 IF often_int% PROCoften 1206 IF scanning% AND scan_keys%=1 PROCscan 1207 SYS playsound%,0 TO t% 1208 IF t%<>-1 THEN 1209 IF speaking_text% THEN 1210 IF speak_sound% THEN 1211 PROCplay_sound_wait(speak_sound%) 1212 ELSE 1213 VDU7:t%=TIME+50:REPEAT:UNTILTIME>t% 1214 ENDIF 1215 PROCspeaking_text 1216 ENDIF 1217 ENDIF 1218 PROCcheck_sysvars 1219 ENDPROC 1220 1221 DEFPROCcheck_sysvars 1222 SYS "OS_ReadVarVal","Upage",main%,1000 TO ,,T% 1223 T%?main%=0:page$=FNstring0(main%) 1224 IF page$<>current_page$ THEN 1225 page%=FNname_exsists(s_pages%,page$) 1226 IF page% THEN 1227 current_page%=page% 1228 PROCpre_process 1229 PROCshow_page(current_page%) 1230 IF scanning% PROCscan 1231 ENDIF 1232 ENDIF 1233 SYS "OS_ReadVarVal","Uobject",main%,1000 TO ,,T% 1234 T%?main%=0:object$=FNstring0(main%) 1235 IF object$<>"" THEN 1236 OSCLI "set Uobject "+CHR$34+CHR$34 1237 input$=object$:!q%=main_w%:q%!24=13:PROCtry_keys 1238 ENDIF 1239 ENDPROC 1240 1241 DEFPROCtry_mouse 1242 CASE q%!12 OF 1243 WHEN -2:IF q%!16=icon_bar% SOUND 1,&100,&9000,1:PROCcheck_icon_bar 1244 WHEN main_w%:PROCtry_main_w 1245 WHEN pagelist_wc%:PROCcheck_pagelist_wc 1246 WHEN print_w%:PROCcheck_print_w 1247 ENDCASE 1248 ENDPROC 1249 1250 DEFPROCtry_main_w 1251 SYS setcaret%,main_w%,-1,0,0,10 1252 mx%=!q%:my%=q%!4 1253 button%=q%!8 1254 IF button%AND2 THEN 1255 IF menu_enabled% PROCopen_try_menu(mx%,my%) 1256 ENDPROC 1257 ENDIF 1258 IF scanning% PROCscan_click(button%):ENDPROC 1259 IF pointer_on%=FALSE ENDPROC 1260 icon%=q%!16 1261 !q%=main_w%:SYS getw%,,q% 1262 offx%=(q%!4-q%!20):offy%=(q%!16-q%!24) 1263 mx%-=offx%:my%-=offy% 1264 CASE button% OF 1265 WHEN &40 1266 stack%=FNstack(current_page%) 1267 object%=FNwhich_object(current_page%,mx%,my%) 1268 IF object% THEN 1269 SYS getentry%,stack%,object% TO adr% 1270 click%=adr%!28 1271 IF click% THEN 1272 SYS getentry%,s_clicks%,click% TO adr% 1273 IF adr%!4 THEN 1274 SYS getentry%,s_mousedrag%,adr%!4 TO adr% 1275 PROCbegin_save(object%,adr%!12) 1276 ENDIF 1277 ENDIF 1278 ENDIF 1279 WHEN &100 1280 page_ptr%-=4:IF page_ptr%<0 page_ptr%=1020 1281 IF page_ptr%!page_stack%<>0 THEN 1282 PROCdelight 1283 current_page%=page_ptr%!page_stack% 1284 page_ptr%!page_stack%=0 1285 PROCpre_process 1286 PROCshow_page(current_page%) 1287 IF scanning% PROCscan 1288 ENDIF 1289 WHEN &400 1290 stack%=FNstack(current_page%) 1291 object%=FNwhich_object(current_page%,mx%,my%) 1292 IF object% THEN 1293 SYS getentry%,stack%,object% TO adr% 1294 click%=adr%!28 1295 IF click% THEN 1296 SYS getentry%,s_clicks%,click% TO adr% 1297 IF adr%!20 PROCdo_click(s_mouse%,adr%!20) 1298 ENDIF 1299 ELSE 1300 SYS getentry%,s_pages%,current_page% TO adr% 1301 click%=adr%!24 1302 IF click% THEN 1303 SYS getentry%,s_clicks%,click% TO adr% 1304 IF adr%!20 PROCdo_click(s_mouse%,adr%!20) 1305 ENDIF 1306 ENDIF 1307 ENDCASE 1308 ENDPROC 1309 1310 DEFPROCtry_keys 1311 CASE !q% OF 1312 WHEN main_w% 1313 key%=q%!24 1314 IF key%=13 THEN 1315 stack%=FNstack(current_page%) 1316 IF FNlower_case(LEFT$(input$,6))="object" THEN 1317 token%=VAL(RIGHT$(input$,LEN(input$)-6)) 1318 SYS getentry%,stack%,token% TO adr% 1319 IF adr% THEN 1320 IF adr%!28 THEN 1321 pointer_object%=token% 1322 SYS getentry%,s_clicks%,adr%!28 TO adr% 1323 IF adr%!20 PROCdo_click(s_mouse%,adr%!20) 1324 ENDIF 1325 ENDIF 1326 ENDIF 1327 IF FNlower_case(LEFT$(input$,4))="back" q%!8=&100:PROCtry_main_w 1328 input$="" 1329 ELSE 1330 IF key%=27:PROCclose_window(main_w%):ENDPROC 1331 IF key%=&180 PROCopen_print_w:ENDPROC 1332 IF key%>31 AND key%<255 input$=input$+CHR$(key%) ELSE SYS processkey%,key% 1333 IF LENinput$=255 input$="" 1334 ENDIF 1335 WHEN print_w% 1336 IF q%!24=13 q%!8=4:q%!16=4:PROCcheck_print_w ELSE SYS processkey%,q%!24 1337 OTHERWISE 1338 SYS processkey%,q%!24 1339 ENDCASE 1340 ENDPROC 1341 1342 DEFPROCdo_click(context%,click%) 1343 SYS getentry%,context%,click% TO adr% 1344 SYS movedata%,adr%,ws%+8,!adr% 1345 !ws%=(ws%!8)+8:ws%!4=12:ws%!8=0 1346 PROCmake_space(!ws%+16) 1347 SYS addentry%,s_clickson%,ws% 1348 PROCcheck_clicks 1349 ENDPROC 1350 1351 DEFPROCcheck_clicks 1352 SYS nentries%,s_clickson% TO nc% 1353 IF nc%=0 ENDPROC 1354 FOR click%=1TOnc% 1355 SYS getnth%,s_clickson%,click% TO click_adr% 1356 IF click_adr%!8<TIME AND click_adr%!4<>0 THEN 1357 ptr%=click_adr%!4:cadr%=click_adr%+ptr% 1358 click_len%=!cadr%:cmd%=cadr%!4:ok%=TRUE 1359 CASE cmd% OF 1360 WHEN 1,3,4:PROCclick_list(cmd%,cadr%+8,click_len%-12) 1361 WHEN 2 1362 PROCdelight 1363 page_ptr%!page_stack%=current_page% 1364 page_ptr%+=4:IF page_ptr%=1024 page_ptr%=0 1365 current_page%=cadr%!8 1366 IF current_page%=0 SYS nentries%,s_pages% TO t%:current_page%=RND(t%) 1367 IF current_page%=0 current_page%=1 1368 PROCpre_process 1369 PROCshow_page(current_page%) 1370 IF scanning% PROCscan 1371 ENDPROC 1372 WHEN 5 1373 SYS playsound%,0 TO t% 1374 IF t%=-1 ok%=FALSE ELSE PROCplay_sound(cadr%!8) 1375 WHEN 6:PROCspeak_text(stack%,cadr%!8) 1376 WHEN 7:PROCinit_seq(TIME,cadr%) 1377 WHEN 8: 1378 click_cmd$=FNstring0(cadr%+8) 1379 cmd$=FNlower_case(click_cmd$) 1380 IF LEFT$(cmd$,10)="load file " THEN 1381 file$=RIGHT$(cmd$,LENcmd$-10):page$="" 1382 IF INSTR(file$," ") THEN 1383 page$=RIGHT$(file$,LEN(file$)-INSTR(file$," ")) 1384 file$=LEFT$(file$,INSTR(file$," ")-1) 1385 ENDIF 1386 file$=full_name$+"."+file$ 1387 LOCAL ERROR 1388 ON ERROR LOCAL:RESTORE ERROR:click_adr%!4=0:ERROR 1,REPORT$ 1389 PROCload_file(file$,1) 1390 IF page$<>"" page%=FNname_exsists(s_pages%,page$):IF page% current_page%=page% 1391 PROCpre_process 1392 PROCshow_page(current_page%) 1393 IF scanning% PROCscan 1394 PROCzero_page_stack 1395 ENDPROC 1396 ENDIF 1397 IF LEFT$(cmd$,4)="load" OR LEFT$(cmd$,5)="*load" THEN 1398 file$=RIGHT$(cmd$,LENcmd$-5):page$="" 1399 IF INSTR(file$," ") THEN 1400 page$=RIGHT$(file$,LEN(file$)-INSTR(file$," ")) 1401 file$=LEFT$(file$,INSTR(file$," ")-1) 1402 ENDIF 1403 LOCAL ERROR 1404 ON ERROR LOCAL:RESTORE ERROR:click_adr%!4=0:ERROR 1,REPORT$ 1405 PROCload_file(file$,1) 1406 IF page$<>"" page%=FNname_exsists(s_pages%,page$):IF page% current_page%=page% 1407 PROCpre_process 1408 PROCshow_page(current_page%) 1409 IF scanning% PROCscan 1410 PROCzero_page_stack 1411 ENDPROC 1412 ENDIF 1413 IF LEFT$(cmd$,3)="run" OR LEFT$(cmd$,4)="*run" THEN 1414 file$=RIGHT$(cmd$,LENcmd$-4):PRINTfile$ 1415 LOCAL ERROR 1416 ON ERROR LOCAL:RESTORE ERROR:click_adr%!4=0:ERROR 1,REPORT$ 1417 OSCLI "filer_run "+file$ 1418 click_cmd$="" 1419 ENDIF 1420 IF LEFT$(cmd$,6)="replay" THEN 1421 file$=RIGHT$(cmd$,LENcmd$-7) 1422 IF INSTR(file$,"-at")=0 THEN 1423 SYS getentry%,stack%,object% TO adr% 1424 x%=(adr%!12)+offx%:y%=(adr%!16)+offy% 1425 file$=file$+" -at "+STR$x%+","+STR$y% 1426 ENDIF 1427 LOCAL ERROR 1428 ON ERROR LOCAL:RESTORE ERROR:click_adr%!4=0:ERROR 1,REPORT$ 1429 SYS "Wimp_StartTask",file$ 1430 click_cmd$="" 1431 ENDIF 1432 IF LEFT$(cmd$,4)="back" input$="back":!q%=main_w%:q%!24=13:PROCtry_keys:ENDPROC 1433 IF LEFT$(cmd$,6)="object" THEN 1434 click_cmd$="" 1435 input$=cmd$+CHR$13 1436 ENDIF 1437 LOCAL ERROR 1438 ON ERROR LOCAL:RESTORE ERROR:click_adr%!4=0:ERROR 1,REPORT$ 1439 IF click_cmd$<>"" OSCLI click_cmd$ 1440 WHEN 9:click_adr%!8=TIME+cadr%!8 1441 ENDCASE 1442 SYS getnth%,s_clickson%,click% TO click_adr% 1443 IF ok% click_adr%!4=ptr%+click_len% 1444 IF click_adr%!4>=!click_adr% click_adr%!4=0 1445 ENDIF 1446 NEXT 1447 click%=1 1448 REPEAT 1449 SYS getnth%,s_clickson%,click% TO adr%,token% 1450 IF adr%!4=0 THEN 1451 SYS killentry%,s_clickson%,token% 1452 click%-=1 1453 ENDIF 1454 click%+=1 1455 SYS nentries%,s_clickson% TO nc% 1456 UNTILclick%>=nc% OR nc%=0 1457 ENDPROC 1458 1459 DEFPROCclick_list(cmd%,adr%,len%) 1460 FORlist%=0TOlen%STEP4 1461 CASE cmd% OF 1462 WHEN 1:PROClight_object(stack%,list%!adr%,1,1) 1463 WHEN 3:PROChide_object(stack%,list%!adr%,1,1) 1464 WHEN 4:PROChide_object(stack%,list%!adr%,0,1) 1465 ENDCASE 1466 NEXT 1467 ENDPROC 1468 1469 DEFPROCunder_pointer:IF pointer_on%=0 ENDPROC 1470 PROCget_pointer 1471 !q%=main_w%:SYS getw%,,q% 1472 offx%=(q%!4-q%!20):offy%=(q%!16-q%!24) 1473 mx%=mousex%-offx%:my%=mousey%-offy% 1474 IF handle%=main_w% object%=FNwhich_object(current_page%,mx%,my%) ELSE object%=0 1475 IF object%<>pointer_object% THEN 1476 pointer_object%=object% 1477 stack%=FNstack(current_page%) 1478 SYS nentries%,stack% TO no% 1479 IF no% THEN 1480 FOR ob%=1TOno% 1481 SYS getnth%,stack%,ob% TO adr%,token% 1482 IF token%<>object% AND (adr%!36)AND1 PROClight_object(stack%,token%,0,1) 1483 NEXT 1484 IF object% THEN 1485 SYS getentry%,stack%,object% TO adr%,token% 1486 IF adr%!28 THEN 1487 SYS getentry%,s_clicks%,adr%!28 TO adr% 1488 IF adr%!16 PROCdo_click(s_pointer%,adr%!16) 1489 ENDIF 1490 ELSE 1491 SYS getentry%,s_pages%,current_page% TO adr% 1492 IF adr%!24 THEN 1493 SYS getentry%,s_clicks%,adr%!24 TO adr% 1494 IF adr%!16 PROCdo_click(s_pointer%,adr%!16) 1495 ENDIF 1496 ENDIF 1497 ENDIF 1498 ENDIF 1499 ENDPROC 1500 1501 DEFPROCoften:IF pointer_on%=0 ENDPROC 1502 stack%=FNstack(current_page%) 1503 SYS nentries%,stack% TO no% 1504 IF no% THEN 1505 FOR ob%=1TOno% 1506 SYS getnth%,stack%,ob% TO adr%,token% 1507 IF adr%!28 THEN 1508 SYS getentry%,s_clicks%,adr%!28 TO adr% 1509 IF adr%!8 THEN 1510 IF adr%!24<TIME THEN 1511 adr%!24=TIME+adr%!12 1512 PROCdo_click(s_often%,adr%!8) 1513 ENDIF 1514 ENDIF 1515 ENDIF 1516 NEXT 1517 ENDIF 1518 ENDPROC 1519 1520 DEFPROCopen_try_menu(mx%,my%) 1521 FORI%=0TO2STEP2:P%=main% 1522 [optI% 1523 equs menu$ 1524 equd &070207 1525 equd 168:equd 40:equd 0 1526 equd 8:equd pagelist_wc%:equd &07000021 1527 equs "Show page " 1528 equd &80:equd -1:equd &07000021 1529 equs "Print " 1530 ]:NEXT 1531 menu%=11 1532 SYS createmenu%,,main%,mx%,my%-32 1533 ENDPROC 1534 1535 DEFPROCtry_menu_warning 1536 mx%=q%!24:my%=q%!28:item%=q%!32 1537 PROCarrange_pagelist_wc(current_page%) 1538 SYS crsubmenu%,,pagelist_wc%,mx%,my% 1539 ENDPROC 1540 1541 DEFPROCtry_menu_select 1542 CASE menu% OF 1543 WHEN 5:PROCicon_bar_menu 1544 WHEN 11: 1545 CASE !q% OF 1546 WHEN 1:PROCopen_print_w 1547 ENDCASE 1548 ENDCASE 1549 ENDPROC 1550 1551 DEFPROCtry_pagelist_wc 1552 but%=q%!8 1553 !ws%=pagelist_wc%:SYS getw%,,ws% 1554 offx%=(ws%!4-ws%!20):offy%=(ws%!16-ws%!24) 1555 page%=(((q%!4)-offy%)DIV-48)+1 1556 SYS nentries%,s_pages% TO np%:IF page%>np% ENDPROC 1557 SYS getnth%,s_pages%,page% TO ,page% 1558 PROCarrange_pagelist_wc(page%) 1559 PROCshow_page(page%) 1560 PROCarrange_pagelist_wc(current_page%) 1561 PROCbegin_trying 1562 IF but%AND4 SYS createmenu%,,-1 1563 ENDPROC 1564 1565 DEFPROCscan 1566 IF scan_count%>TIME ENDPROC 1567 IF scan_keys%=1 scan_count%=TIME+scan_time% 1568 stack%=FNstack(current_page%) 1569 SYS nentries%,stack% TO no% 1570 IF no%=0 ENDPROC 1571 IF scan_object%<>0 THEN 1572 SYS getnth%,stack%,scan_object% TO adr%,token% 1573 IF adr%!36 AND 1 THEN 1574 PROClight_object(stack%,token%,0,1) 1575 scan_object%+=1 1576 IF scan_object%>no% scan_object%=1 1577 ENDIF 1578 ELSE 1579 scan_object%=1 1580 ENDIF 1581 yes%=0 1582 REPEAT 1583 SYS getnth%,stack%,scan_object% TO adr%,token% 1584 IF (adr%!28)<>0 AND ((adr%!36)AND128)=0 THEN 1585 SYS getentry%,s_clicks%,adr%!28 TO adr% 1586 IF adr%!16 THEN 1587 PROClight_object(stack%,token%,1,1):yes%=no% 1588 ELSE 1589 scan_object%+=1 1590 IF scan_object%>no% scan_object%=1 1591 yes%+=1 1592 ENDIF 1593 ELSE 1594 scan_object%+=1 1595 IF scan_object%>no% scan_object%=1 1596 yes%+=1 1597 ENDIF 1598 UNTILyes%=no% 1599 ENDPROC 1600 1601 DEFPROCscan_click(but%) 1602 IF scan_object%=0 ENDPROC 1603 stack%=FNstack(current_page%) 1604 IF scan_keys%=1 OR (scan_keys%=2 AND (but%AND&101)) THEN 1605 SYS getnth%,stack%,scan_object% TO adr%,token% 1606 IF adr%!28 THEN 1607 SYS getentry%,s_clicks%,adr%!28 TO adr% 1608 IF adr%!20 PROCdo_click(s_mouse%,adr%!20) 1609 ENDIF 1610 ELSE 1611 IF but%AND&404 PROCscan 1612 ENDIF 1613 ENDPROC 1614 1615 DEFPROCredefine_main_w 1616 !q%=main_w%:SYS getwi%,,q% 1617 IF (q%!32)AND(1<<16) open%=TRUE ELSE open%=FALSE 1618 SYS "Wimp_DeleteWindow",,q% 1619 f%=((q%!32)AND&83FFFFFF) OR (&83<<24) 1620 bh%=q%!28 1621 IF h_scroll% f%=f%OR(1<<30) 1622 IF v_scroll% f%=f%OR(1<<28) 1623 IF h_scroll% OR v_scroll% f%=f%OR(1<<29) 1624 IF title_bar% f%=f%OR(1<<26):IF toggle_icon% f%=f%OR(1<<27) 1625 q%!32=f% 1626 SYS "Wimp_CreateWindow",,q%+4 TO main_w% 1627 !q%=main_w%:SYS getw%,,q%:PROCopen_window(!q%,q%!4,q%!8,q%!12,q%!16,q%!20,q%!24,bh%) 1628 ENDPROC 1629 1630 DEFPROCinit_seq(time%,adr%) 1631 SYS movedata%,adr%,ws%,!adr% 1632 IF (adr%!12)AND4 ws%!4=40:ws%!8=36 ELSE ws%!4=36:ws%!8=0 1633 ws%!12=4:ws%!16=adr%!20:ws%!20=time% 1634 ws%!24=adr%!8:ws%!28=0:ws%!32=adr%!12 1635 PROCmake_space(!ws%+16) 1636 SYS addentry%,s_sequences%,ws% 1637 IF (ws%!32)AND64 pointer_on%=FALSE:PROCget_pointer:IF handle%=main_w% SYS "Wimp_SpriteOp",36,1,"ptr_clock",2 1638 ENDPROC 1639 1640 DEFPROCcheck_sequences(time%) 1641 SYS nentries%,s_sequences% TO ns% 1642 IF ns% THEN 1643 stack%=FNstack(current_page%) 1644 FOR seq%=1 TO ns% 1645 SYS getnth%,s_sequences%,seq% TO adr% 1646 IF time%>adr%!20 THEN 1647 adr%!20=time%+adr%!16 1648 len%=!adr%:ptr%=adr%!4:optr%=adr%!8:ptr_inc%=adr%!12 1649 loop%=(adr%!32)AND2:last_one%=0 1650 last%=(adr%!32)AND8:trail%=(adr%!32)AND16:noud%=(adr%!32)AND32 1651 seethru%=(adr%!32)AND128 1652 IF adr%!24<>0 AND adr%!28=adr%!24 THEN 1653 IF loop% THEN 1654 IF ptr%=40 last_one%=TRUE 1655 ELSE 1656 IF ptr%=36 last_one%=TRUE 1657 ENDIF 1658 ENDIF 1659 IF optr%<>0 AND trail%=0 THEN 1660 IF last_one% THEN 1661 IF last%=0 THEN 1662 IF noud% THEN 1663 PROCfast_draw(stack%,optr%!adr%,TRUE,0) 1664 ELSE 1665 PROChide_object(stack%,optr%!adr%,1,1) 1666 ENDIF 1667 ENDIF 1668 ELSE 1669 IF noud% THEN 1670 PROCfast_draw(stack%,optr%!adr%,TRUE,0) 1671 ELSE 1672 PROChide_object(stack%,optr%!adr%,1,1) 1673 ENDIF 1674 ENDIF 1675 ENDIF 1676 IF last_one%=0 THEN 1677 IF noud% THEN 1678 PROCfast_draw(stack%,ptr%!adr%,0,seethru%) 1679 ELSE 1680 PROChide_object(stack%,ptr%!adr%,0,1) 1681 ENDIF 1682 adr%!8=ptr%:ptr%+=ptr_inc% 1683 IF loop% THEN 1684 IF ptr%=len% THEN 1685 ptr%=len%-8:adr%!12=-4 1686 ELSE 1687 IF ptr%=32 THEN 1688 ptr%=40:adr%!12=4 1689 IF adr%!24<>0 adr%!28=(adr%!28)+1 1690 ENDIF 1691 ENDIF 1692 ELSE 1693 IF ptr%=len% THEN 1694 ptr%=36 1695 IF adr%!24<>0 adr%!28=(adr%!28)+1 1696 ENDIF 1697 ENDIF 1698 ELSE 1699 ptr%=0 1700 ENDIF 1701 adr%!4=ptr% 1702 ENDIF 1703 NEXT 1704 REPEAT 1705 nomore%=TRUE 1706 SYS nentries%,s_sequences% TO ns% 1707 IF ns% THEN 1708 FOR seq%=1 TO ns% 1709 SYS getnth%,s_sequences%,seq% TO adr%,token% 1710 IF adr%!4=0 AND (adr%!32)AND64 OSCLI"pointer 1":pointer_on%=TRUE 1711 IF adr%!4=0 nomore%=0:seq%=ns%:SYS killentry%,s_sequences%,token% 1712 NEXT 1713 ENDIF 1714 UNTILnomore% 1715 ENDIF 1716 ENDPROC 1717 1718 DEFPROCfast_draw(stack%,token%,erase%,seethru%) 1719 LOCAL adr% 1720 !q%=main_w%:SYS getw%,,q% 1721 offx%=(q%!4-q%!20):offy%=(q%!16-q%!24) 1722 SYS getentry%,stack%,token% TO adr% 1723 x%=(adr%!12)+offx% 1724 y%=(adr%!16)+offy% 1725 x1%=(adr%!20)-(1<<xef%)+offx% 1726 y1%=(adr%!24)-(1<<yef%)+offy% 1727 IF erase% THEN 1728 IF ((adr%!36)AND128)=0 adr%!36=(adr%!36)OR128 1729 SYS getentry%,s_pages%,current_page% TO adr1% 1730 bcol%=adr1%!28: 1731 ELSE 1732 IF (adr%!36)AND128 AND seethru%=0 adr%!36=(adr%!36)EOR128 1733 ENDIF 1734 flags%=adr%!36:type%=adr%!4 1735 !q%=main_w%:q%!4=x%-offx%:q%!8=y%-offy%-32:q%!12=x1%-offx%+(1<<xef%)+32:q%!16=y1%-offy%+(1<<yef%) 1736 SYS updatew%,,q% TO more% 1737 WHILE more% 1738 IF erase% THEN 1739 SYS setcol%,bcol%:RECTANGLE FILL x%,y%,x1%-x%,y1%-y% 1740 ELSE 1741 CASE type% OF 1742 WHEN s_text%:PROCdraw_text(stack%,token%,offx%,offy%) 1743 WHEN s_sprites%,s_draw%:PROCdraw_picture(adr%!4,adr%!8,x%,y%,x1%-x%,y1%-y%,flags%) 1744 ENDCASE 1745 ENDIF 1746 SYS getr%,,q% TO more% 1747 ENDWHILE 1748 ENDPROC 1749 1750 DEFPROCspeak_text(stack%,token%) 1751 speak_token%=token% 1752 speak_word%=0:speak_sound%=0 1753 SYS getentry%,stack%,token% TO adr% 1754 SYS getentry%,s_text%,adr%!8 TO adr% 1755 sptext%=adr%+4 1756 IF ?sptext%<>0 THEN 1757 speaking_text%=TRUE 1758 text$="":a%=sptext% 1759 REPEAT:text$=text$+CHR$(?a%):a%+=1:UNTIL?a%<48 1760 speak_sound%=FNname_exsists(s_sounds%,text$) 1761 PROCupdate_object(stack%,speak_token%) 1762 ENDIF 1763 ENDPROC 1764 1765 DEFPROCspeaking_text 1766 SYS getentry%,stack%,speak_token% TO adr% 1767 SYS getentry%,s_text%,adr%!8 TO adr% 1768 sptext%=adr%+4 1769 REPEAT 1770 speak_word%+=1 1771 c%=speak_word%?sptext% 1772 UNTILc%=32 OR c%=13 OR c%=0 1773 IF c%=32 OR c%=13 THEN 1774 REPEAT 1775 speak_word%+=1:c%=speak_word%?sptext% 1776 UNTILc%>32 OR c%=0 1777 ENDIF 1778 IF c%<>0 THEN 1779 text$="":a%=speak_word%+sptext% 1780 REPEAT:text$=text$+CHR$(?a%):a%+=1:UNTIL?a%<48 1781 speak_sound%=FNname_exsists(s_sounds%,text$) 1782 ENDIF 1783 IF c%=0 speaking_text%=FALSE 1784 PROCupdate_object(stack%,speak_token%) 1785 ENDPROC 1786 1787 DEFPROChighlight_text(stack%,token%,offx%,offy%,word%) 1788 SYS getentry%,stack%,token% TO adr% 1789 x%=(adr%!12)+offx% 1790 y%=(adr%!16)+offy% 1791 x1%=(adr%!20)-(1<<xef%)+offx% 1792 y1%=(adr%!24)-(1<<yef%)+offy% 1793 flags%=adr%!36:font%=adr%!40:b_s%=adr%!32 1794 fcol%=adr%!52:IF fcol% AND &FF fcol%=default_page_col% 1795 bcol%=adr%!56 1796 IF flags%AND1 fcol%=fcol%EOR&FFFFFF00:bcol%=bcol%EOR&FFFFFF00 1797 PROCdraw_border(b_s%,fcol%,bcol%,x%,y%,x1%,y1%) 1798 x%+=(1<<xef%) 1799 x1%-=(1<<xef%) 1800 y%+=(1<<yef%) 1801 y1%-=(1<<yef%) 1802 LOCAL ERROR 1803 ON ERROR LOCAL RESTORE ERROR:font%=0 1804 IF font% THEN 1805 SYS getentry%,s_fonts%,font% TO t% 1806 SYS findfont%,,t%+4,adr%!44,adr%!48 TO font% 1807 ENDIF 1808 IF font% THEN 1809 IF bcol% AND &FF bcol%=fcol% 1810 SYS fontinfo%,font% TO ,cx%,cy%,cx1%,cy1% 1811 ELSE 1812 cx%=-(1<<xef%):cy%=-(1<<yef%):cx1%=8<<xef%:cy1%=8<<yef% 1813 ENDIF 1814 text_height%=cy1% 1815 SYS getentry%,s_text%,adr%!8 TO text% 1816 text%+=4 1817 text_offset%=0 1818 px%=x%+margin%:py%=y1%-text_height%+cy% 1819 centre%=FALSE:right%=FALSE:underline%=FALSE 1820 IF flags% AND 8 centre%=TRUE 1821 IF flags% AND 16 right%=TRUE 1822 IF flags% AND 32 underline%=TRUE 1823 REPEAT 1824 CASE text_offset%?text% OF 1825 WHEN 0: 1826 WHEN 13:py%-=text_height%:text_offset%+=1 1827 OTHERWISE 1828 text$=FNstring0(text%+text_offset%) 1829 text_offset%+=LENtext$ 1830 px%=x%+margin% 1831 IF font% THEN 1832 SYS stringwidth%,,text$,1<<30,1<<30,-1,LENtext$ TO ,,w% 1833 SYS converttoos%,,w% TO ,w% 1834 IF centre% px%=x%+(x1%-x%)DIV2-w%DIV2 1835 IF right% px%=x1%-w%-margin% 1836 IF underline% ul$=CHR$(25)+CHR$(1)+CHR$(16) ELSE ul$="" 1837 SYS "ColourTrans_SetFontColours",font%,bcol%,fcol%,14 1838 SYS paint%,,ul$+text$,1<<4,px%,py%-cy% 1839 IF text_offset%>word% AND (text_offset%-LENtext$)<=word% THEN 1840 i%=word%-(text_offset%-LEN(text$)) 1841 l$=LEFT$(text$,i%) 1842 SYS stringwidth%,,l$,1<<30,1<<30,-1,LENl$ TO ,,w% 1843 SYS converttoos%,,w% TO ,w% 1844 px%+=w% 1845 r$=RIGHT$(text$,LENtext$-LENl$) 1846 IF INSTR(r$," ") r$=LEFT$(r$,INSTR(r$," ")) 1847 SYS "ColourTrans_SetFontColours",font%,bcol%EOR&FFFFFF00,fcol%EOR&FFFFFF00,14 1848 SYS paint%,,ul$+r$,1<<4,px%,py%-cy% 1849 ENDIF 1850 ELSE 1851 w%=LENtext$*cx1% 1852 IF centre% px%=x%+(x1%-x%)DIV2-w%DIV2 1853 IF right% px%=x1%-w%-margin% 1854 SYS setcol%,fcol%:MOVE px%,py%+cy1%:PRINTtext$ 1855 IF underline% MOVE px%,py%-cy%:PLOT1,cx1%*LENtext$,0 1856 IF text_offset%>word% AND (text_offset%-LENtext$)<=word% THEN 1857 i%=word%-(text_offset%-LEN(text$)) 1858 l$=LEFT$(text$,i%) 1859 w%=LENl$*cx1%:px%+=w% 1860 r$=RIGHT$(text$,LENtext$-LENl$) 1861 IF INSTR(r$," ") r$=LEFT$(r$,INSTR(r$," ")) 1862 SYS setcol%,fcol%EOR&FFFF0000:MOVE px%,py%+cy1%:PRINTr$ 1863 IF underline% MOVE px%,py%-cy%:PLOT1,cx1%*LENr$,0 1864 ENDIF 1865 ENDIF 1866 ENDCASE 1867 UNTIL text_offset%?text%=0 1868 IF font% SYS losefont%,font% 1869 ENDPROC 1870 1871 DEFPROCbegin_save(object%,sound%) 1872 !q%=main_w%:SYS getw%,,q% 1873 offx%=(q%!4-q%!20):offy%=(q%!16-q%!24) 1874 SYS getentry%,stack%,object% TO adr% 1875 ix%=adr%!12:iy%=adr%!16:ix1%=adr%!20:iy1%=adr%!24 1876 IF sound% THEN 1877 IF adr%!28 THEN 1878 SYS getentry%,s_clicks%,adr%!28 TO adr% 1879 IF adr%!20 THEN 1880 SYS getentry%,s_mouse%,adr%!20 TO adr% 1881 IF adr%!8=5 THEN 1882 drag_sound%=adr%!12 1883 PROCstart_drag(3,ix%+offx%,iy%+offy%,ix1%+offx%,iy1%+offy%) 1884 ENDIF 1885 ENDIF 1886 ENDIF 1887 ELSE 1888 IF adr%!4=s_text% THEN 1889 drag_ptype%=s_text%:drag_picture%=adr%!8 1890 PROCstart_drag(2,ix%+offx%,iy%+offy%,ix1%+offx%,iy1%+offy%) 1891 ELSE 1892 drag_ptype%=adr%!4:drag_picture%=object% 1893 PROCstart_drag(4,ix%+offx%,iy%+offy%,ix1%+offx%,iy1%+offy%) 1894 ENDIF 1895 ENDIF 1896 ENDPROC 1897 1898 DEFPROCtry_user_drag 1899 PROCget_pointer 1900 IF handle%=main_w% ENDPROC 1901 q%!20=handle%:q%!24=icon% 1902 q%!28=mousex%:q%!32=mousey% 1903 q%!36=sprite_size%-24 1904 !q%=56 1905 CASE drag_type% OF 1906 WHEN 2:REM saving text 1907 save$="text" 1908 file_type%=&FFF 1909 WHEN 3:REM saving sound 1910 SYS getentry%,s_sounds%,drag_sound% TO adr% 1911 save$=FNstring0(adr%+4) 1912 file_type%=&D3C 1913 WHEN 4:REM saving picture 1914 SYS getentry%,drag_ptype%,drag_picture% TO adr% 1915 save$=FNstring0(adr%+4) 1916 IF drag_ptype%=s_sprites% file_type%=&FF9 ELSE file_type%=&AFF 1917 ENDCASE 1918 q%!40=file_type% 1919 PROCstring0(q%+44,save$) 1920 q%!12=q%!8:q%!16=1 1921 SYS sendmessage%,17,q%,handle%,icon%:REM send datasave 1922 myref%=q%!8 1923 DMT%=0 1924 DMT_ptr%=0 1925 ENDCASE 1926 ENDPROC
"� Ultimap v 1.10 (17 Feb 1995) � � Simon Hayles 1994 �=&40000 � taskid% 4:$taskid%="TASK" H ș "Wimp_Initialise",200,!taskid%,"Ultimap" � version%,task_handle% � � �errorbox �vars & ș "OS_Module",16,"Ubase%Ultimap" *UBASE 40000 800000 � global variables 8 � box% 12,box2% 12,matrix% 16,origin1% 8,origin2% 8 ! icon_font$="Homerton.Medium" full_name$="Untitled" query_string$="" menu%=0 sprite_size%=&1E000 � q% 256,old_q% 256 � errblk% 3000 ' � main% 1000,sprites% sprite_size% @ !sprites%=sprite_size%:sprites%!8=16:ș spop%,&209,sprites% � wimp_palette% 20*4 � page_stack% 1024 s_sprites%=1 s_draw%=2 s_replay%=3 ! s_quicktime%=4 " s_fonts%=5 # s_starcoms%=6 $ s_loadorder%=7 % s_sounds%=8 & s_text%=9 ' s_pages%=10 ( ) s_clicks%=11 * s_mousedrag%=12 + s_often%=13 , s_pointer%=14 - s_mouse%=15 . s_pageshown%=16 / s_spare%=17 0 s_clickson%=18 1 s_temp%=19 2 s_sequences%=20 3 4 � options 5 6 printing%=� 7 portrait%=� 8 current_page%=0 9 margin%=16 : click_time=1 ; click_pause=1 < temp_list%=0 = trying%=� > speaking_text%=� ? speak_sound%=� @ speak_token%=� A h_scroll%=� B v_scroll%=� C toggle_icon%=� D title_bar%=� E scanning%=� F scan_keys%=1 G scan_time%=100 H scan_object%=1 I scan_count%=0 J menu_enabled%=� K ws%=sprites%+32 L page_size%=3 M file_version%=101 N current_page$="Page 1" O ws%=sprites%+32 P Q ș "Hourglass_On" R �load_templates S �get_mode_info T �load_options U �new_file V W& ș "OS_GetEnv" � EnvStr$,end_adr% X � �EnvStr$," -quit ") � Y- I%=�EnvStr$,""""):I%=�EnvStr$,"""",I%+1) Z �I%+=1:��EnvStr$,I%,1)<>" " [ f$=�EnvStr$,I%) \, � f$<>"" full_name$=f$:�load_file(f$,2) ] � ^ _ icon_bar%=�iconbar ` a$ ș setcaret%,main_w%,-1,0,10,10 b c ș "Hourglass_Off" d � � �errorbox e f ș drag%,,-1 g �begin_trying h � i �try_poll j � � k l ��load_templates m5 � font_array% 256:�t%=0�252�4:t%!font_array%=0:� n3 ș "Wimp_OpenTemplate",,"<Obey$Dir>.Templates" o � winds% 2000,indir% 1000 p indl%=indir%+4000 qI ș "Wimp_LoadTemplate",,winds%,indir%,indl%,-1,"main_w",0 � ,,indir% r- ș "Wimp_CreateWindow",,winds% � main_w% sW ș "Wimp_LoadTemplate",,winds%,indir%,indl%,font_array%,"pagelist_wc",0 � ,,indir% t2 ș "Wimp_CreateWindow",,winds% � pagelist_wc% uS ș "Wimp_LoadTemplate",,winds%,indir%,indl%,font_array%,"print_w",0 � ,,indir% v. ș "Wimp_CreateWindow",,winds% � print_w% wG ș "Wimp_LoadTemplate",,winds%,indir%,indl%,-1,"info",0 � ,,indir% x+ ș "Wimp_CreateWindow",,winds% � info% y ș "Wimp_CloseTemplate" z � {; | ��load_options }$ ptr%=�("<Ultimap$Dir>.options") ~P �#ptr%,toolbox_on%,scanning%,scan_keys%,scan_time%,menu_enabled%,sound_vol% �#ptr% �% ptr%=�("<Ultimap$Dir>.messages") � �#ptr%,info$,info1$ � �#ptr% �" �set_icon_text(info%,1,info$) �# �set_icon_text(info%,2,info1$) � � � � � � �finish � ș setcaret%,-1 � �lose_fonts �. ș "Wimp_CloseDown",task_handle%,!taskid% � ș "OS_Exit" �� � � ��redraw_window � ș redraww%,,q% � more% � ȕ more% �- offx%=(q%!4-q%!20):offy%=(q%!16-q%!24) � Ȏ !q% � �\ � main_w%:�draw_main_w(q%!28-offx%,q%!32-offy%,q%!36-offx%,q%!40-offy%,offx%,offy%) �Z � pagelist_wc%:�draw_pagelist_wc(q%!28-offx%,q%!32-offy%,q%!36-offx%,q%!40-offy%) � � � ș getr%,,q% � more% � � � � � � � �front(handle%) � !q%=handle%:ș getw%,,q% �; �open_window(!q%,q%!4,q%!8,q%!12,q%!16,q%!20,q%!24,-1) � � � �= � �open_window(handle%,x%,y%,x1%,y1%,scx%,scy%,bhandle%) � �handle%=-1�� � q%!28=bhandle% � q%!0=handle% �( q%!4=x%:q%!8=y%:q%!12=x1%:q%!16=y1% � q%!20=scx%:q%!24=scy% � ș openw%,,q% � � � � � � �close_window(handle%) � !q%=handle%:ș closew%,,q% � � � �� �vars � getenv%=&10 � wimp% = (1<<18) + (3<<6) � createw%=wimp%+1 � createicon%=wimp%+2 � deleteicon%=wimp%+4 � openw%=wimp%+5 � closew%=wimp%+6 � poll%=wimp%+7 � redraww%=wimp%+8 � updatew%=wimp%+9 � getr%=wimp%+10 � getw%=wimp%+11 � getwi%=wimp%+12 � seti%=wimp%+13 � geti%=wimp%+14 � getp%=wimp%+15 � drag%=wimp%+16 � forceredraw%=wimp%+17 � setcaret%=wimp%+18 � getcaret%=wimp%+19 � createmenu%=wimp%+20 � setextent%=wimp%+&17 � processkey%=wimp%+&1C � sendmessage%=wimp%+&27 � crsubmenu%=wimp%+&28 � ploticon%=&400E2 � � setcol%=&40743 � spop%=&2E � findfont%=&40081 � losefont%=&40082 � fontinfo%=&40084 � stringwidth%=&40085 � setfont%=&4008A � currentfont%=&4008B � converttoos%=&40088 � converttopoints%=&40089 � paint%=&40086 � findcaret%=&4008D � charbbox%=&4008E � � Ubase%=&1C0100 � newfile%=Ubase% � newstack%=Ubase%+1 � killstack%=Ubase%+2 � addentry%=Ubase%+3 � amendentry%=Ubase%+4 � findtoken%=Ubase%+5 � killentry%=Ubase%+6 � movedata%=Ubase%+7 � addpacked%=Ubase%+8 � getentry%=Ubase%+9 � unpacksprite%=Ubase%+10 � nentries%=Ubase%+11 � movetoend%=Ubase%+12 � readstatus%=Ubase%+13 � writestatus%=Ubase%+14 � rendershape%=Ubase%+15 � getnth%=Ubase%+17 � locatefile%=Ubase%+19 � playsound%=Ubase%+20 � � PD%=&80140 � PDselect%=PD%+5 � PDabort%=PD%+9 � PDpagesize%=PD%+3 � PDgiverec%=PD%+11 � PDdrawpage%=PD%+12 � PDgetrec%=PD%+13 � PDendjob%=PD%+8 � � � � � � � � � �& ș "OS_Module",14,"Ubase%Ultimap" � � � �� �get_pointer �ș getp%,,q% �Hmousex%=!q%:mousey%=q%!4:b%=q%!8:handle%=q%!12:icon%=q%!16:ob%=q%!20 �� � � �errorbox � SYS drag%,,-1 4!errblk%=�:t$=�$:t$="("+ß+")"+t$+" at line "+Þ $(errblk%+4)=t$+�0 -ș "Wimp_ReportError",errblk%,1,"Ultimap" � �<>1 �finish:� =� IF printing% printing%=FALSE:PROCclose_window(print_w%) � ; ݤiconbar + !q%=-1:q%!4=0:q%!8=0:q%!12=64:q%!16=64 q%!20=&300A �string0(q%+24,appsprite$) ' ș "Wimp_CreateIcon",,q% � handle% =handle% ; ��set_icon_fonts 1 ș findfont%,,icon_font$,12*16,12*16 � font% . ș "Wimp_WhichIcon",print_w%,q%,1<<6,1<<6 < t%=0:�:�icon_font(print_w%,t%!q%,font%):t%+=4:�t%!q%=-1 � % ��icon_font(window%,icon%,font%) % !errblk%=window%:errblk%!4=icon% - errblk%!12=&FF000000:errblk%!8=font%<<24 font%?font_array%+=1 ș seti%,,errblk% � ��lose_fonts 1 �A%=0�255:n%=A%?font_array%:A%?font_array%=0 ' � n%>0 � B%=1�n%:ș losefont%,A%:� �:� ! " ��get_mode_info #) ș "Wimp_ReadPalette",,wimp_palette% $+ ș "OS_ReadModeVariable",-1,4 � ,,xef% %+ ș "OS_ReadModeVariable",-1,5 � ,,yef% &5 ș "OS_ReadModeVariable",-1,11 � ,,screen_width% '6 ș "OS_ReadModeVariable",-1,12 � ,,screen_height% (J screen_width%=screen_width%<<xef%:screen_height%=screen_height%<<yef% ) � * +& ��start_drag(type%,x%,y%,x1%,y1%) , !q%=0:q%!4=5 -) q%!8=x%:q%!12=y%:q%!16=x1%:q%!20=y1% .= q%!24=0:q%!28=0:q%!32=screen_width%:q%!36=screen_height% / ș drag%,,q% 0 drag_type%=type% 1 � 2 3m�-------------------------------------------------------------------------------------------------------- 4 5* ݤstring0(t%):� t$:t$="":� ?t%<32:="" 6- �:t$=t$+�?t%:t%+=1:�?t%<32 � �t$=255:=t$ 7 8' ��string0(t%,t$):$t%=t$:t%?�t$=0:� 9 :m�-------------------------------------------------------------------------------------------------------- ; < ��check_pagelist_wc = but%=q%!8 >$ !ws%=pagelist_wc%:ș getw%,,ws% ?/ offx%=(ws%!4-ws%!20):offy%=(ws%!16-ws%!24) @! page%=(((q%!4)-offy%)�-48)+1 A. ș nentries%,s_pages% � np%:� page%>np% � B' ș getnth%,s_pages%,page% � ,page% C current_page%=page% D �arrange_pagelist_wc(page%) E �pre_process F �show_page(page%) G � scanning% �scan H � but%�4 ș createmenu%,,-1 I � J K ��show_page(page%) L current_page%=page% M !q%=main_w%:ș getw%,,q% NA � (q%!32) � (1<<16) ș forceredraw%,-1,q%!4,q%!8,q%!12,q%!16 O& �window_title(main_w%,full_name$) P' ș getentry%,s_pages%,page% � adr% Q# current_page$=�string0(adr%+4) R! � "set Upage "+current_page$ S � T U$ ��update_object(stack%,object%) V � adr% W' ș getentry%,stack%,object% � adr% X< ș forceredraw%,main_w%,adr%!12,adr%!16,adr%!20,adr%!24 Y � Z [0 ��set_icon_state(window%,icon%,eor%,clear%) \X !errblk%=window%:errblk%!4=icon%:errblk%!8=eor%:errblk%!12=clear%:ș seti%,,errblk% ] � ^ _ ݤicon_state(window%,icon%) `C !errblk%=window%:errblk%!4=icon%:ș geti%,,errblk%:=errblk%!24 a b* � �set_icon_text(window%,icon%,text$) c7 !errblk%=window%:errblk%!4=icon%:ș geti%,,errblk% d0 �string0(errblk%!28,�text$,(errblk%!36)-1)) e/ errblk%!8=0:errblk%!12=0:ș seti%,,errblk% f � g h) ݤleaf(name$):� �name$,".")=0:=name$ i& �name$=�name$,�name$-�name$,".")) j ��name$,".")=0:=name$ k l& ��start_drag(type%,x%,y%,x1%,y1%) m !q%=0:q%!4=5 n) q%!8=x%:q%!12=y%:q%!16=x1%:q%!20=y1% o= q%!24=0:q%!28=0:q%!32=screen_width%:q%!36=screen_height% p ș drag%,,q% q drag_type%=type% r � s t ��ramfetch u DMT_ref%=q%!4 v DMT%=q%!20 w DMT_len%=q%!24 x Ȏ file_type% � y> � &AFF,&FF9:�save_picture(drag_ptype%,drag_picture%,"") z* � &FFF:�save_text(drag_picture%,"") {) � &D3C:�save_sound(drag_sound%,"") | � } � ~ ��datasaveack � � q%!12<>myref% � � DMT%=0 � f_type%=q%!40 � Ȏ f_type% � �K � &AFF,&FF9:�save_picture(drag_ptype%,drag_picture%,�string0(q%+44)) �6 � &D3C:�save_sound(drag_sound%,�string0(q%+44)) �7 � &FFF:�save_text(drag_picture%,�string0(q%+44)) � � � q%!12=q%!8:q%!16=3 � ș sendmessage%,17,q%,q%!4 � � � �' ��save_picture(type%,token%,name$) � save$="" � � � � � � �:� �:� 1,�$ � � DMT_ptr%=0 � � ș "Hourglass_On" �' ș getentry%,type%,token% � adr% � len%=(!adr%)-16 �4 ș readstatus%,type%,token% � l%:� l% len%=l% � adr%+=16 � � type%=s_sprites% � �. ș getentry%,s_sprites%,token% � adr% � � !adr%=(adr%!16)+16 � �! save$=�string0(adr%+4) �+ adr%!4=1:adr%!8=16:adr%!12=!adr% � len%=!adr%+12:adr%+=4 � � �9 ș unpacksprite%,s_sprites%,token%,sprites%+12 � !sprites%=1 � sprites%!4=16 �& sprites%!8=(sprites%!12)+16 � len%=sprites%!8 � adr%=sprites% � � � file_type%=&FF9 � � � file_type%=&AFF � � � DMT_mylen%=len% � DMT_data%=adr% � � �, �save_slave(name$,adr%,len%,file_type%) � � save$<>"" � �, ș getentry%,s_sprites%,token% � adr% � �string0(adr%+4,save$) � � � � � � ��save_sound(sound%,name$) � � � � � � �:� �:� 1,�$ � � DMT_ptr%=0 � � ș "Hourglass_On" �+ ș getentry%,s_sounds%,sound% � adr% � len%=(!adr%)-24 �8 ș readstatus%,s_sounds%,sound% � l%:� l% len%=l% � adr%+=24 � DMT_mylen%=len% � DMT_data%=adr% � � �& �save_slave(name$,adr%,len%,&D3C) � � � � ��save_text(text%,name$) � � � � � � �:� �:� 1,�$ �& ș getentry%,s_text%,text% � adr% � ș movedata%,adr%,ws%,!adr% � adr%=ws%+4:t%=adr% � len%=0 � � � � ?t%=13 ?t%=10 � � ?t%<>0 len%+=1:t%+=1 � �?t%=0 � �?t%=0 � � DMT_ptr%=0 � � ș "Hourglass_On" � DMT_mylen%=len% � DMT_data%=adr% � � �& �save_slave(name$,adr%,len%,&FFF) � � � �- ��save_slave(name$,adr%,len%,file_type%) � � DMT% � �' � DMT_mylen%-DMT_ptr%>DMT_len% � � l%=DMT_len% � � � l%=DMT_mylen%-DMT_ptr% � ș "Hourglass_Off" � � �O ș "Wimp_TransferBlock",task_handle%,DMT_data%+DMT_ptr%,DMT_ref%,DMT%,l% � DMT_ptr%+=l% � q%!12=q%!8:q%!16=7 � q%!24=l% �5 ș sendmessage%,18,q%,q%!4:� send RAM transmit � � �. � "save "+name$+" "+�~adr%+" +"+�~len% �+ � "SETTYPE "+name$+" "+�~file_type% � ș "Hourglass_Off" � � � � � � ��dataload � ș movedata%,q%,old_q%,256 � Ȏ old_q%!40 � � � &BC3: �E � old_q%!20=main_w% � (old_q%!20=-2 � old_q%!24=icon_bar%) � � � old_q%!12<>0 � � � modified% � �4 �open_query("load"+�string0(old_q%+44)) � � �. �load_file(�string0(old_q%+44),1) �T old_q%!12=old_q%!8:old_q%!16=4:ș "Wimp_SendMessage",17,old_q%,old_q%!4 � � � � � � � � � � ��load_file(name$,error%) � t%=�(name$):l%=�#t%:�#t% �/ �set_slot(�+(l%�&4000)*&4000+&4000,error%) � ș newfile% �. full_name$=�name$,�(name$)-�name$,"!")-1) � ș "Hourglass_On" � � "load "+name$+" 40000" � version%=!&4000C ș locatefile%,&78000 modified%=0 query_string$="" edited_area%=0 W current_page%=!&40020:toolbox_on%=!&40024:menu_enabled%=!&40028:page_size%=!&4002C P h_scroll%=!&40060:v_scroll%=!&40064:title_bar%=!&40068:toggle_icon%=!&4006C < scanning%=!&40070:scan_keys%=!&40074:scan_time%=!&40078 �size_page �redefine_main_w = � !&40030 !&40030=main_w%:ș openw%,,&40030:�open_main_w ș "Hourglass_Off" 4 ș "OS_ReadVarVal","Obey$Dir",main%,1000 � ,,T% T%?main%=0 full_name$=�string0(main%) & �window_title(main_w%,full_name$) ! appsprite$=�leaf(full_name$) ' menu$=�appsprite$,�(appsprite$)-1) , � �menu$<12 �:menu$=menu$+�0:��menu$=12 � m�-------------------------------------------------------------------------------------------------------- ��new_file �set_slot(�+&4000,2) ș newfile% � t%=1 � 20 ș newstack% � full_name$="No_Name" � i�---------------------------------------------------------------------------------------------------- ! ��open_centre(handle%,off%) " !q%=handle%:ș getw%,,q% #( w%=(q%!12)-(q%!4):h%=(q%!16)-(q%!8) $ wx%=screen_width%�2-w%�2 % wy%=screen_height%�2-h%�2 &I �open_window(handle%,wx%,wy%+off%,wx%+w%,wy%+h%+off%,q%!20,q%!24,-1) ' � ( ) ��open_main_w * !ws%=main_w%:ș getw%,,ws% + sx%=ws%!4:sy%=ws%!8 , sx1%=ws%!12:sy1%=ws%!16 - .) sh%=screen_height%:sw%=screen_width% / hs%=0:vs%=0:tb%=0 0 � h_scroll% hs%=40 1 � v_scroll% vs%+=40 2 � title_bar% tb%=36 3 w%=sx1%-sx%:h%=sy1%-sy% 4, � sy1%+tb%>sh% sy1%=sh%-tb%:sy%=sy1%-h% 5 � sy%<hs% sy%=hs% 6, � sx1%+vs%>sw% sx1%=sw%-vs%:sx%=sx1%-w% 7 � sx%<0 sx%=0 8 !ws%=main_w% 9 ws%!4=sx% : ws%!8=sy% ; ws%!12=sx1% < ws%!16=sy1% = ws%!20=0:ws%!24=0 > ws%!28=-1 ?I �open_window(main_w%,ws%!4,ws%!8,ws%!12,ws%!16,ws%!20,ws%!24,ws%!28) @ !q%=main_w%:ș getw%,,ws% A � B Ci�---------------------------------------------------------------------------------------------------- D E4 ��draw_picture(type%,token%,x%,y%,w%,h%,flags%) FL � type%=s_draw% x%+=(1<<xef%):y%+=(1<<yef%):w%-=(2<<xef%):h%-=(2<<yef%) G# ș getentry%,type%,token% � a% H* � !a%>sprite_size%-24 flags%=flags%�8 I8 !errblk%=x%:errblk%!4=y%:errblk%!8=w%:errblk%!12=h% J< ș rendershape%,type%,token%,sprites%,errblk%,flags%�15 K � L Mi�---------------------------------------------------------------------------------------------------- N O# ��window_title(window%,title$) P � window%=main_w% � Q1 ș getentry%,s_pages%,current_page% � adr% R+ title$=title$+" - "+�string0(adr%+4) S � T# � modified% title$=title$+" *" U( !errblk%=window%:ș getwi%,,errblk% V �string0(errblk%!76,title$) WG ș forceredraw%,-1,errblk%!4,(errblk%!16),errblk%!12,errblk%!16+36 X � Y Z [ \i�---------------------------------------------------------------------------------------------------- ] ^ ��check_icon_bar _" mx%=!q%:my%=q%!4:button%=q%!8 `/ � button% � 2:�do_icon_bar_menu(mx%,my%):� a �front(main_w%) b# ș setcaret%,main_w%,-1,0,0,10 c � d e ��do_icon_bar_menu(x%,y%) f/ � scan_time%=0:scan_time%=100:scan_keys%=1 g � opt%=0�2�2:P%=main% h [opt opt% i .iconmenu j equs menu$ k) equd &070207:equd 208:equd 40:equd 0 l% equd 0:equd info%:equd &07000021 m equs "Info " n0 equd scanning%�1:equd ibmenu:equd &07000021 o equs "Scanning " p& equd 0:equd somenu:equd &07000021 q equs "Sound volume" r$ equd &80:equd -1:equd &07000021 s equs "Quit " t u.ibmenu v equs "Scanning":equd 0 w) equd &070207:equd 208:equd 40:equd 0 x1 equd (scan_keys%=2)�1:equd -1:equd &07000021 y equs "Two switches" z) equd &80:equd ibmenu1:equd &07000021 { equs "Speed " | }.somenu ~ equs "Sound Volume" ) equd &070207:equd 208:equd 40:equd 0 �4 equd (sound_vol%=&10F)�1:equd -1:equd &07000021 � equs "Off " �4 equd (sound_vol%=&14F)�1:equd -1:equd &07000021 � equs "Quiet " �< equd &80 � ((sound_vol%=&17F)�1):equd -1:equd &07000021 � equs "Loud " � �.ibmenu1 �! equs "Seconds":equb 0:equd 0 �) equd &070207:equd 208:equd 40:equd 0 �$ equd &84:equd -1:equd &07000121 �" equd ibmess:equd ibval:equd 8 � �.ibval equs "a0-9."+�0 �'.ibmess equs �(scan_time%/100)+�(0) � � ]:� � �% ș createmenu%,,main%,mx%-16,260 � menu%=5 � � � �i�---------------------------------------------------------------------------------------------------- � � ��icon_bar_menu � � c% � Ȏ !q% � � � 1 � Ȏ q%!4 � �' � -1:scanning%=scanning% � � � � 0: �7 � scan_keys%=2 scan_keys%=1 � scan_keys%=2 � scanning%=� � � 1: �) t%=(�(�string0(ibmess)))*100 � � t% scan_time%=t% � scanning%=� � � � � 2: � Ȏ q%!4 � � � 0:sound_vol%=&10F � � 1:sound_vol%=&14F � � 2:sound_vol%=&17F � � �0 � 3:� modified% �open_query("") � �finish � � �7 ș getp%,,q%:� q%!8 � 1 �do_icon_bar_menu(mx%,my%) � � � �m�-------------------------------------------------------------------------------------------------------- � �1 ��draw_main_w(wx%,wy%,wx1%,wy1%,offx%,offy%) �/ ș getentry%,s_pages%,current_page% � adr% �% stack%=adr%!20:page_col%=adr%!28 �E ș setcol%,page_col%:ȓ Ȑ wx%+offx%,wy%+offy%,wx1%-wx%,wy1%-wy% � ș nentries%,stack% � no% � � no% � � � object%=1 � no% �0 ș getnth%,stack%,object% � adr%,token% �E x%=adr%!12:y%=adr%!16:x1%=adr%!20:y1%=adr%!24:flags%=adr%!36 �C � x%<wx1% � x1%>wx% � y%<wy1% � y1%>wy% � (flags%�128)=0 � � Ȏ adr%!4 � �< � s_text%:�draw_text(stack%,token%,offx%,offy%) �e � s_sprites%,s_draw%:�draw_picture(adr%!4,adr%!8,x%+offx%,y%+offy%,x1%-x%,y1%-y%,flags%) � � � � � � � � � � � � ݤstrip_spaces(text$) � � �) � �text$=32 text$=�text$,�text$-1) � ��text$<>32 � =text$ � �' ݤlower_case(text$):� text$="":="" � � t$,t%,c% � �t%=1��text$ � c%=�(�text$,t%,1)) � � c%>64 � c%<91 c%+=32 � t$=t$+�c% � � � =t$ � �i�---------------------------------------------------------------------------------------------------- � �+ ��draw_text(stack%,token%,offx%,offy%) �d � speaking_text% � speak_token%=token% �highlight_text(stack%,token%,offx%,offy%,speak_word%):� �& ș getentry%,stack%,token% � adr% � x%=(adr%!12)+offx% � y%=(adr%!16)+offy% �" x1%=(adr%!20)-(1<<xef%)+offx% �" y1%=(adr%!24)-(1<<yef%)+offy% �. flags%=adr%!36:font%=adr%!40:b_s%=adr%!32 �0 fcol%=adr%!52:� fcol% � &FF fcol%=page_col% � bcol%=adr%!56 �; � flags%�1 fcol%=fcol%�&FFFFFF00:bcol%=bcol%�&FFFFFF00 �1 �draw_border(b_s%,fcol%,bcol%,x%,y%,x1%,y1%) � x%+=(1<<xef%) � x1%-=(1<<xef%) � y%+=(1<<yef%) � y1%-=(1<<yef%) �� � �� � � � �:font%=0 � � font% � �' ș getentry%,s_fonts%,font% � t% �1 ș findfont%,,t%+4,adr%!44,adr%!48 � font% � � � � font% � � � bcol% � &FF bcol%=fcol% �; ș "ColourTrans_SetFontColours",font%,bcol%,fcol%,14 �. ș fontinfo%,font% � ,cx%,cy%,cx1%,cy1% � � �> cx%=-(1<<xef%):cy%=-(1<<yef%):cx1%=8<<xef%:cy1%=8<<yef% � � � text_height%=cy1% �( ș getentry%,s_text%,adr%!8 � text% � text%+=4 � text_offset%=0 �, px%=x%+margin%:py%=y1%-text_height%+cy% �$ centre%=�:right%=�:underline%=� � � flags% � 8 centre%=� � � flags% � 16 right%=� � � flags% � 32 underline%=� � � � Ȏ text_offset%?text% � � � 0: / � 13:py%-=text_height%:text_offset%+=1 - text$=�string0(text%+text_offset%) text_offset%+=�text$ � font% � @ ș stringwidth%,,text$,1<<30,1<<30,-1,�text$ � ,,w% & ș converttoos%,,w% � ,w% - � centre% px%=x%+(x1%-x%)�2-w%�2 ( � right% px%=x1%-w%-margin% 6 � underline% text$=�(25)+�(1)+�(16)+text$ . ș paint%,,text$,1<<4,px%,py%-cy% � w%=�text$*cx1% - � centre% px%=x%+(x1%-x%)�2-w%�2 ( � right% px%=x1%-w%-margin% 3 ș setcol%,fcol%:� px%,py%+cy1%:�text$ 8 � underline% � px%,py%-cy%:�1,cx1%*�text$,0 � � � text_offset%?text%=0 � font% ș losefont%,font% � 3 ��draw_border(style%,col%,bcol%,x%,y%,x1%,y1%) ? � (bcol%�&FF)=0 ș setcol%,bcol%:ȓ Ȑ x%,y%,x1%-x%,y1%-y% Ȏ style% � � 1 ș setcol%,col% ȓ x%,y%,x1%-x%,y1%-y% � 2:� bold ș setcol%,&FFFFFF00 # � x%,y%:� x%,y1%:� x1%,y1% ' ș setcol%,!(wimp_palette%+16) ! � x1%,y%:� x%,y% " � 3:� inset #' ș setcol%,!(wimp_palette%+16) $# � x%,y%:� x%,y1%:� x1%,y1% % ș setcol%,&FFFFFF00 & � x1%,y%:� x%,y% ' � ( � ) � * + ��play_sound(sound%) ,* ș getentry%,s_sounds%,sound% � adr1% -G len%=(!adr1%)-24:ș readstatus%,s_sounds%,sound% � l%:� l% len%=l% . � � / � � � � �:�errorbox:� 0+ ș playsound%,adr1%+24,len%,sound_vol% 1 � 2 3 ��play_sound_wait(sound%) 4* ș getentry%,s_sounds%,sound% � adr1% 5G len%=(!adr1%)-24:ș readstatus%,s_sounds%,sound% � l%:� l% len%=l% 6+ ș playsound%,adr1%+24,len%,sound_vol% 7# �:ș playsound%,0 � t%:�t%<>-1 8 � 9 : ��make_space(plus%) ;# size%=(!&40004-&40000)+plus%*2 <+ slot_size%=�+(size%�&4000)*&4000+&4000 =* ș "Wimp_SlotSize",slot_size%,-1 � t% >8 � t%<slot_size% � 1,"Ultimap has run out of memory" ? � @ A ��set_slot(size%,error%) B slot_size%=size% C* ș "Wimp_SlotSize",slot_size%,-1 � t% DL � t%<slot_size% � error%,"There's not enough memory to load this file!" E � F G ��open_print_w H. � portrait% a%=0:b%=1<<21 � a%=1<<21:b%=0 I) �set_icon_state(print_w%,6,a%,1<<21) J) �set_icon_state(print_w%,7,b%,1<<21) K# �set_icon_text(print_w%,2,"1") L ș getp%,,q% M ș createmenu%,,-1 N, ș createmenu%,,print_w%,!q%-30,q%!4+60 O � P Q ��check_print_w R b%=q%!8 S Ȏ q%!16 � T � 3:ș createmenu%,,-1 U � 4: V) !q%=print_w%:q%!4=7:ș geti%,,q% WH � (q%!24) � (1<<21) style%=2:portrait%=� � style%=1:portrait%=� X) !q%=print_w%:q%!4=2:ș geti%,,q% Y$ run_num%=�(�string0(q%!28)) Z � run_num%=0 run_num%=1 [( �print_routine(style%,run_num%) \$ � b% � 6 ș createmenu%,,-1 ] � ^ � _ `% ��print_routine(style%,run_num%) a � phandle%,ohandle% b � left%,bottom%,right%,top% c � copiesleft%,rect% d e phandle%=�("printer:") f � � g; � � �:�#phandle%:� �:� 1,"There is no printer driver!" h. ș PDselect%,phandle%,"Ultima" � ohandle% i jZ � � �:ș PDabort%,phandle%:�#phandle%:ș PDselect%,ohandle%:printing%=�:� �:� 1,�$+Þ k l2 ș PDpagesize% � ,,,left%,bottom%,right%,top% m ș "Hourglass_On" n o � loop%=1 � run_num% p" !ws%=main_w%:ș getwi%,,ws% q4 mx%=ws%!44:my%=ws%!48:mx1%=ws%!52:my1%=ws%!56 r4 !box%=mx%:box%!4=my%:box%!8=mx1%:box%!12=my1% s Ȏ style% � t � 1:� landscape u � page_size%=4 � v scx=.67 w scy=.67 xK !matrix%=0:matrix%!4=-scx*2^16:matrix%!8=scy*2^16:matrix%!12=0 y[ !origin1%=(right%-left%)�16:origin1%!4=top%-(top%-bottom%)�2-(top%-bottom%)�30 z � { scx=1.4 | scy=1.5 }K !matrix%=0:matrix%!4=-scx*2^16:matrix%!8=scy*2^16:matrix%!12=0 ~J !origin1%=(right%-left%)�20:origin1%!4=top%-(top%-bottom%)�20 � � � 2:� portrait � scx=1.05 � scy=.95 �H !matrix%=scx*2^16:matrix%!4=0:matrix%!8=0:matrix%!12=scy*2^16 �9 !origin1%=(right%-left%)�20:origin1%!4=bottom% � � �: ș PDgiverec%,loop%,box%,matrix%,origin1%,&FFFFFF00 � printing%=� �6 ș PDdrawpage%,1,box2%,0,0 � copiesleft%,,rect% � ȕ copiesleft%<>0 �, �draw_main_w(mx%,my%,mx1%,my1%,0,0) �1 ș PDgetrec%,,box2% � copiesleft%,,rect% � � � � � � ș PDendjob%,phandle% � �#phandle% � ș PDselect%,ohandle% � printing%=� � ș "Hourglass_Off" � � � �/ ��hide_object(stack%,token%,hide%,on_vdu%) �' ș getentry%,stack%,token% � adr1% �/ � hide%<>0 � ((adr1%!36)�128)<>0 on_vdu%=0 �- � hide%=0 � ((adr1%!36)�128)=0 on_vdu%=0 �D � hide% adr1%!36=(adr1%!36)�128 � adr1%!36=(adr1%!36)�&FFFFFF7F �^ � on_vdu% ș forceredraw%,main_w%,adr1%!12,adr1%!16,adr1%!20+(4<<xef%),adr1%!24+(1<<yef%) � � � �. ��light_object(stack%,token%,hi%,on_vdu%) �' ș getentry%,stack%,token% � adr1% � h%=(adr1%!36)�1:� hi% hi%=1 �@ � hi% adr1%!36=(adr1%!36)�1 � adr1%!36=(adr1%!36)�&FFFFFFFE �T � on_vdu% � h%<>hi% ș forceredraw%,main_w%,adr1%!12,adr1%!16,adr1%!20,adr1%!24 � � � � ݤstack(page%) � � adr% �' ș getentry%,s_pages%,page% � adr% �3 � adr%=0 � adr%!20=0 � 2,"bad stack from page" � =adr%!20 � � ݤwhich_object(page%,x%,y%) � stack%=�stack(page%) �# ș nentries%,stack% � no%:o%=0 � � no%=0:=0 � � t%=1 � no% �) ș getnth%,stack%,t% � adr%,token% �R � x%>=adr%!12 � y%>=adr%!16 � x%<adr%!20 � y%<adr%!24 � ((adr%!36)�128)=0 � �8 o%=token%:off_mx%=x%-adr%!12:off_my%=y%-adr%!16 � � � � � =o% � �! ��arrange_pagelist_wc(page%) � iw%=280:ih%=-48:pl_tick%=0 � ș nentries%,s_pages% � np% �% !q%=0:q%!8=iw%-(3<<xef%):q%!12=0 �& � np%<3 q%!4=ih%*3 � q%!4=ih%*np% �" ș setextent%,pagelist_wc%,q% � iy%=ih%:cur_y%=iy% � � loop%=1�np% �. ș getnth%,s_pages%,loop% � adr%,token% �- � token%=page% cur_y%=iy%:pl_tick%=iy% � iy%+=ih% � � �" !q%=pagelist_wc%:ș getw%,,q% �" offy%=(q%!16-q%!24):sy%=q%!24 �( wy%=(q%!8)-offy%:wy1%=(q%!16)-offy% �! � cur_y%<wy% sy%+=cur_y%-wy% �% � cur_y%-ih%>wy1% sy%=cur_y%-ih% � q%!24=sy% � o%=(q%!32)�(1<<16) � ș openw%,,q% � � o%=0 � � ș closew%,,q% � � �/ ș forceredraw%,-1,q%!4,q%!8,q%!12,q%!16 � � � � � �* ��draw_pagelist_wc(wx%,wy%,wx1%,wy1%) � ș nentries%,s_pages% � np% �1 ș findfont%,,icon_font$,12*16,12*16 � font% �* ih%=-48:ix%=0:iy%=ih%:ix1%=280:iy1%=0 � �page%=1�np% �8 � ix%<=wx1% � ix1%>=wx% � iy%<=wy1% � iy1%>=wy% � �0 ș getnth%,s_pages%,page% � adr%,token% � � iy%=pl_tick% � �2 !q%=ix%:q%!4=iy%:q%!8=ix%+38:q%!12=iy1% �- q%!16=&7000019:�string0(q%+20,"�") � ș ploticon%,,q% � � �4 !q%=ix%+38:q%!4=iy%:q%!8=ix%+280:q%!12=iy1% �= q%!16=font%<<24 � &171:q%!20=adr%+4:q%!24=0:q%!32=12 � ș ploticon%,,q% � � � iy%+=ih%:iy1%+=ih% � � � ș losefont%,font% � !q%=pagelist_wc% � � � � ݤpt_from_context(context%) � Ȏ context% � � � s_mousedrag%:=4 � � s_often%:=8 � � s_pointer%:=16 � � s_mouse%:=20 � � s_pageshown%:=32 � � � =0 � � ݤname_exsists(stack%,f$) � ș nentries%,stack% � ne% � � ne%=0:=0 � f%=0:f$=�lower_case(f$) � �entry%=1�ne% �- ș getnth%,stack%,entry% � adr%,token% �3 � f$=�lower_case(�string0(adr%+4)) f%=token% � �:=f% � � ��size_page � !q%=main_w%:ș getwi%,,q% �( � (q%!32)�(1<<16) open%=� � open%=� � ș "Wimp_DeleteWindow",,q% � bh%=q%!28 portrait%=� Ȏ page_size% � - � 1:q%!52=639<<xef%:q%!48=-(460<<yef%) - � 2:q%!52=799<<xef%:q%!48=-(580<<yef%) . � 3:q%!52=1023<<xef%:q%!48=-(748<<yef%) - � 4:q%!52=1320:q%!48=-2000:portrait%=� � + ș "Wimp_CreateWindow",,q%+4 � main_w% U !q%=main_w%:ș getw%,,q%:�open_window(!q%,q%!4,q%!8,q%!12,q%!16,q%!20,q%!24,bh%) � P� ***************************** clicks below here ************************** ��begin_trying trying%=� click_underway%=� pause_on%=� pointer_object%=0 input$="" �zero_page_stack �pre_process �show_page(current_page%) � scanning% �scan � "set Uobject "+�34+�34 � ��delight ! stack%=�stack(current_page%) ș nentries%,stack% � no% � no% � � object%=1�no% ) ș getnth%,stack%,object% � adr% + � adr%!36 � 1 adr%!36=(adr%!36)�-2 ! � " � #7 � speak_token% �update_object(stack%,speak_token%) $ � % &D ��zero_page_stack:�T%=0�1020�4:T%!page_stack%=0:�:page_ptr%=0:� ' ( ��pre_process ) pointer_object%=0 * pointer_int%=0 + often_int%=0 , seq_int%=0 - scan_object%=0 .2 speaking_text%=0:speak_word%=0:speak_token%=0 / pointer_on%=� 0 try_time%=� 1 � 2$ ș nentries%,s_sequences% � s% 3 � s% � 4/ ș getnth%,s_sequences%,1 � adr%,token% 5C ș killentry%,s_sequences%,token%:� clear all sequences 6 � 7 �s%=0 8 � 9# ș nentries%,s_clickson% � s% : � s% � ;* ș getnth%,s_clickson%,1 � ,token% <? ș killentry%,s_clickson%,token%:� clear all clicks = � > �s%=0 ?! stack%=�stack(current_page%) @/ ș getentry%,s_pages%,current_page% � adr% A2 � adr%!24 ș writestatus%,s_clicks%,adr%!24,0 B ș nentries%,stack% � no% C � no% � D � object%=1�no% E) ș getnth%,stack%,object% � adr% Fa adr%!36=(adr%!36)�&FFFFFF3E:� ensure all objects shown, unselected and unhighlighted G click%=adr%!28 Hh � click% ș writestatus%,s_clicks%,click%,0:� zero status to avoid repetition of click I � J � K � object%=0�no% L � object%=0 � M3 ș getentry%,s_pages%,current_page% � adr% N click%=adr%!24 O � P) ș getnth%,stack%,object% � adr% Q click%=adr%!28 R � S � click% � T- ș getentry%,s_clicks%,click% � adr% U- ș readstatus%,s_clicks%,click% � s% V � s%=0 � W- ș writestatus%,s_clicks%,click%,1 X5 � adr%!4 �pre_click(s_mousedrag%,adr%!4,0) Y � adr%!8 � Z often_int%=� [& adr%!24=try_time%+adr%!12 \* �pre_click(s_often%,adr%!8,1) ] � ^ � adr%!16 � _ pointer_int%=� `- �pre_click(s_pointer%,adr%!16,1) a � b3 � adr%!20 �pre_click(s_mouse%,adr%!20,1) c � adr%!32 � d/ �pre_click(s_pageshown%,adr%!32,1) e, �do_click(s_pageshown%,adr%!32) f � g � h � i � j � k l& ��pre_click(context%,click%,seq%) m � adr% n( ș getentry%,context%,click% � adr% o end%=adr%+!adr%:adr%+=4 p � q len%=!adr%:cmd%=adr%!4 r Ȏ cmd% � s8 � 1,3,4:� seq%=0 �pre_list(cmd%,adr%+8,len%-12) tA � 5:� context%=s_pageshown% � seq%=0 �play_sound(adr%!8) u � 7: v � seq% � w seq_int%=� x0 flag%=adr%!12:s%=adr%+36:e%=len%-40 y. � flag% � 4 s%=adr%+40:e%=len%-44 z �pre_list(3,s%,e%) { � | � } adr%+=len% ~ � adr%>=end% � � � ��pre_list(cmd%,adr%,len%) � �list%=0�len%�4 � Ȏ cmd% � �1 � 1:�light_object(stack%,list%!adr%,1,0) �0 � 3:�hide_object(stack%,list%!adr%,1,0) �0 � 4:�hide_object(stack%,list%!adr%,0,0) � � � � � � � � ��try_poll � ș poll%,,q% � A% � ș playsound%,0 �& ș "OS_Module",16,"Ubase%Ultimap" � Ȏ A% � � � 0:�try_null � � 1:�redraw_window �D � 2:�open_window(!q%,q%!4,q%!8,q%!12,q%!16,q%!20,q%!24,q%!28) � � 3:�close_window(!q%) �5 � 4:� !q%=main_w% � pointer_on%=0 �"pointer 1" �N � 5:� !q%=main_w% � pointer_on%=0 ș "Wimp_SpriteOp",36,1,"ptr_clock",2 � � 6:�try_mouse � � 7:�try_user_drag � � 8:�try_keys � � 9:�try_menu_select � � 17,18:�try_receive(q%) � � � � � � � �try_receive(q%) � Ȏ q%!16 � � � 0:�finish:� � � 2:�datasaveack �! � 3:� q%!40=&BC3 �dataload � � 6:�ramfetch � � &502:�help_request �! � &400C0:�try_menu_warning � � &400C1: � ș "Hourglass_On" � �get_mode_info � �lose_fonts � �set_icon_fonts � ș "Hourglass_Off" � � � � � � ��try_null �4 !q%=main_w%:ș getw%,,q%:�((q%!32)�(1<<16))=0 � �# � seq_int% �check_sequences(�) � �check_clicks �P � �input$,1)=�13:input$=�input$,�(input$)-1):!q%=main_w%:q%!24=13:�try_keys �0 � pointer_int% � scanning%=� �under_pointer � � often_int% �often �% � scanning% � scan_keys%=1 �scan � ș playsound%,0 � t% � � t%<>-1 � � � speaking_text% � � � speak_sound% � �) �play_sound_wait(speak_sound%) � � � �7:t%=�+50:�:��>t% � � � �speaking_text � � � � � �check_sysvars � � � � ��check_sysvars �1 ș "OS_ReadVarVal","Upage",main%,1000 � ,,T% �% T%?main%=0:page$=�string0(main%) � � page$<>current_page$ � �* page%=�name_exsists(s_pages%,page$) � � page% � � current_page%=page% � �pre_process �" �show_page(current_page%) � � scanning% �scan � � � � �3 ș "OS_ReadVarVal","Uobject",main%,1000 � ,,T% �' T%?main%=0:object$=�string0(main%) � � object$<>"" � � � "set Uobject "+�34+�34 �4 input$=object$:!q%=main_w%:q%!24=13:�try_keys � � � � � � ��try_mouse � Ȏ q%!12 � �> � -2:� q%!16=icon_bar% � 1,&100,&9000,1:�check_icon_bar � � main_w%:�try_main_w �( � pagelist_wc%:�check_pagelist_wc � � print_w%:�check_print_w � � � � � � ��try_main_w �# ș setcaret%,main_w%,-1,0,0,10 � mx%=!q%:my%=q%!4 � button%=q%!8 � � button%�2 � �. � menu_enabled% �open_try_menu(mx%,my%) � � � � �' � scanning% �scan_click(button%):� � � pointer_on%=� � � icon%=q%!16 � !q%=main_w%:ș getw%,,q% �+ offx%=(q%!4-q%!20):offy%=(q%!16-q%!24) � mx%-=offx%:my%-=offy% � Ȏ button% � � � &40 �% stack%=�stack(current_page%) �5 object%=�which_object(current_page%,mx%,my%) � � object% � �- ș getentry%,stack%,object% � adr% � click%=adr%!28 � � click% � �1 ș getentry%,s_clicks%,click% � adr% � � adr%!4 � �6 ș getentry%,s_mousedrag%,adr%!4 � adr% �+ �begin_save(object%,adr%!12) � � � � � � � � &100 2 page_ptr%-=4:� page_ptr%<0 page_ptr%=1020 % � page_ptr%!page_stack%<>0 � �delight . current_page%=page_ptr%!page_stack% " page_ptr%!page_stack%=0 �pre_process $ �show_page(current_page%) � scanning% �scan � � &400 % stack%=�stack(current_page%) 5 object%=�which_object(current_page%,mx%,my%) � object% � - ș getentry%,stack%,object% � adr% click%=adr%!28 � click% � 1 ș getentry%,s_clicks%,click% � adr% 2 � adr%!20 �do_click(s_mouse%,adr%!20) � � 5 ș getentry%,s_pages%,current_page% � adr% click%=adr%!24 � click% � 1 ș getentry%,s_clicks%,click% � adr% 2 � adr%!20 �do_click(s_mouse%,adr%!20) � � � � ��try_keys Ȏ !q% � � main_w% ! key%=q%!24 " � key%=13 � #' stack%=�stack(current_page%) $/ � �lower_case(�input$,6))="object" � %+ token%=�(�input$,�(input$)-6)) &. ș getentry%,stack%,token% � adr% ' � adr% � ( � adr%!28 � )' pointer_object%=token% *6 ș getentry%,s_clicks%,adr%!28 � adr% +6 � adr%!20 �do_click(s_mouse%,adr%!20) , � - � . � /A � �lower_case(�input$,4))="back" q%!8=&100:�try_main_w 0 input$="" 1 � 2- � key%=27:�close_window(main_w%):� 3& � key%=&180 �open_print_w:� 4K � key%>31 � key%<255 input$=input$+�(key%) � ș processkey%,key% 5" � �input$=255 input$="" 6 � 7 � print_w% 8H � q%!24=13 q%!8=4:q%!16=4:�check_print_w � ș processkey%,q%!24 9 : ș processkey%,q%!24 ; � < � = > ��do_click(context%,click%) ?( ș getentry%,context%,click% � adr% @" ș movedata%,adr%,ws%+8,!adr% A$ !ws%=(ws%!8)+8:ws%!4=12:ws%!8=0 B �make_space(!ws%+16) C! ș addentry%,s_clickson%,ws% D �check_clicks E � F G ��check_clicks H# ș nentries%,s_clickson% � nc% I � nc%=0 � J � click%=1�nc% K1 ș getnth%,s_clickson%,click% � click_adr% L+ � click_adr%!8<� � click_adr%!4<>0 � M0 ptr%=click_adr%!4:cadr%=click_adr%+ptr% N- click_len%=!cadr%:cmd%=cadr%!4:ok%=� O Ȏ cmd% � P: � 1,3,4:�click_list(cmd%,cadr%+8,click_len%-12) Q � 2 R �delight S0 page_ptr%!page_stack%=current_page% T6 page_ptr%+=4:� page_ptr%=1024 page_ptr%=0 U" current_page%=cadr%!8 VM � current_page%=0 ș nentries%,s_pages% � t%:current_page%=�(t%) W. � current_page%=0 current_page%=1 X �pre_process Y& �show_page(current_page%) Z � scanning% �scan [ � \ � 5 ]! ș playsound%,0 � t% ^1 � t%=-1 ok%=� � �play_sound(cadr%!8) _* � 6:�speak_text(stack%,cadr%!8) `! � 7:�init_seq(�,cadr%) a � 8: b) click_cmd$=�string0(cadr%+8) c) cmd$=�lower_case(click_cmd$) d' � �cmd$,10)="load file " � e- file$=�cmd$,�cmd$-10):page$="" f � �file$," ") � g3 page$=�file$,�(file$)-�file$," ")) h, file$=�file$,�file$," ")-1) i � j) file$=full_name$+"."+file$ k � � l. � � �:� �:click_adr%!4=0:� 1,�$ m" �load_file(file$,1) nZ � page$<>"" page%=�name_exsists(s_pages%,page$):� page% current_page%=page% o �pre_process p( �show_page(current_page%) q � scanning% �scan r �zero_page_stack s � t � u3 � �cmd$,4)="load" � �cmd$,5)="*load" � v, file$=�cmd$,�cmd$-5):page$="" w � �file$," ") � x3 page$=�file$,�(file$)-�file$," ")) y, file$=�file$,�file$," ")-1) z � { � � |. � � �:� �:click_adr%!4=0:� 1,�$ }" �load_file(file$,1) ~Z � page$<>"" page%=�name_exsists(s_pages%,page$):� page% current_page%=page% �pre_process �( �show_page(current_page%) � � scanning% �scan � �zero_page_stack � � � � �1 � �cmd$,3)="run" � �cmd$,4)="*run" � �* file$=�cmd$,�cmd$-4):�file$ � � � �. � � �:� �:click_adr%!4=0:� 1,�$ �# � "filer_run "+file$ � click_cmd$="" � � �" � �cmd$,6)="replay" � �# file$=�cmd$,�cmd$-7) �" � �file$,"-at")=0 � �3 ș getentry%,stack%,object% � adr% �6 x%=(adr%!12)+offx%:y%=(adr%!16)+offy% �0 file$=file$+" -at "+�x%+","+�y% � � � � � �. � � �:� �:click_adr%!4=0:� 1,�$ �( ș "Wimp_StartTask",file$ � click_cmd$="" � � �M � �cmd$,4)="back" input$="back":!q%=main_w%:q%!24=13:�try_keys:� �" � �cmd$,6)="object" � � click_cmd$="" � input$=cmd$+�13 � � � � � �, � � �:� �:click_adr%!4=0:� 1,�$ �* � click_cmd$<>"" � click_cmd$ �% � 9:click_adr%!8=�+cadr%!8 � � �3 ș getnth%,s_clickson%,click% � click_adr% �+ � ok% click_adr%!4=ptr%+click_len% �3 � click_adr%!4>=!click_adr% click_adr%!4=0 � � � � � click%=1 � � �2 ș getnth%,s_clickson%,click% � adr%,token% � � adr%!4=0 � �) ș killentry%,s_clickson%,token% � click%-=1 � � � click%+=1 �% ș nentries%,s_clickson% � nc% � �click%>=nc% � nc%=0 � � � �! ��click_list(cmd%,adr%,len%) � �list%=0�len%�4 � Ȏ cmd% � �1 � 1:�light_object(stack%,list%!adr%,1,1) �0 � 3:�hide_object(stack%,list%!adr%,1,1) �0 � 4:�hide_object(stack%,list%!adr%,0,1) � � � � � � � �& ��under_pointer:� pointer_on%=0 � � �get_pointer � !q%=main_w%:ș getw%,,q% �+ offx%=(q%!4-q%!20):offy%=(q%!16-q%!24) �( mx%=mousex%-offx%:my%=mousey%-offy% �O � handle%=main_w% object%=�which_object(current_page%,mx%,my%) � object%=0 �! � object%<>pointer_object% � � pointer_object%=object% �# stack%=�stack(current_page%) � ș nentries%,stack% � no% � � no% � � � ob%=1�no% �. ș getnth%,stack%,ob% � adr%,token% �K � token%<>object% � (adr%!36)�1 �light_object(stack%,token%,0,1) � � � � object% � �4 ș getentry%,stack%,object% � adr%,token% � � adr%!28 � �2 ș getentry%,s_clicks%,adr%!28 � adr% �4 � adr%!16 �do_click(s_pointer%,adr%!16) � � � � �5 ș getentry%,s_pages%,current_page% � adr% � � adr%!24 � �2 ș getentry%,s_clicks%,adr%!24 � adr% �4 � adr%!16 �do_click(s_pointer%,adr%!16) � � � � � � � � � � � � ��often:� pointer_on%=0 � �! stack%=�stack(current_page%) � ș nentries%,stack% � no% � � no% � � � ob%=1�no% �, ș getnth%,stack%,ob% � adr%,token% � � adr%!28 � �0 ș getentry%,s_clicks%,adr%!28 � adr% � � adr%!8 � � � adr%!24<� � � adr%!24=�+adr%!12 �) �do_click(s_often%,adr%!8) � � � � � � � � � � � � � � ��open_try_menu(mx%,my%) � �I%=0�2�2:P%=main% � [optI% � equs menu$ � equd &070207 � equd 168:equd 40:equd 0 �, equd 8:equd pagelist_wc%:equd &07000021 � equs "Show page " �$ equd &80:equd -1:equd &07000021 � equs "Print " � ]:� � menu%=11 �% ș createmenu%,,main%,mx%,my%-32 � � � � ��try_menu_warning $ mx%=q%!24:my%=q%!28:item%=q%!32 ( �arrange_pagelist_wc(current_page%) ( ș crsubmenu%,,pagelist_wc%,mx%,my% � ��try_menu_select Ȏ menu% � � 5:�icon_bar_menu � 11: Ȏ !q% � � 1:�open_print_w � � � ��try_pagelist_wc but%=q%!8 $ !ws%=pagelist_wc%:ș getw%,,ws% / offx%=(ws%!4-ws%!20):offy%=(ws%!16-ws%!24) ! page%=(((q%!4)-offy%)�-48)+1 . ș nentries%,s_pages% � np%:� page%>np% � ' ș getnth%,s_pages%,page% � ,page% �arrange_pagelist_wc(page%) �show_page(page%) ( �arrange_pagelist_wc(current_page%) �begin_trying � but%�4 ș createmenu%,,-1 � ��scan � scan_count%>� � , � scan_keys%=1 scan_count%=�+scan_time% ! stack%=�stack(current_page%) ! ș nentries%,stack% � no% " � no%=0 � # � scan_object%<>0 � $3 ș getnth%,stack%,scan_object% � adr%,token% % � adr%!36 � 1 � &) �light_object(stack%,token%,0,1) ' scan_object%+=1 (* � scan_object%>no% scan_object%=1 ) � * � + scan_object%=1 , � - yes%=0 . � /3 ș getnth%,stack%,scan_object% � adr%,token% 0+ � (adr%!28)<>0 � ((adr%!36)�128)=0 � 1. ș getentry%,s_clicks%,adr%!28 � adr% 2 � adr%!16 � 34 �light_object(stack%,token%,1,1):yes%=no% 4 � 5 scan_object%+=1 6, � scan_object%>no% scan_object%=1 7 yes%+=1 8 � 9 � : scan_object%+=1 ;* � scan_object%>no% scan_object%=1 < yes%+=1 = � > �yes%=no% ? � @ A ��scan_click(but%) B � scan_object%=0 � C! stack%=�stack(current_page%) D4 � scan_keys%=1 � (scan_keys%=2 � (but%�&101)) � E3 ș getnth%,stack%,scan_object% � adr%,token% F � adr%!28 � G. ș getentry%,s_clicks%,adr%!28 � adr% H. � adr%!20 �do_click(s_mouse%,adr%!20) I � J � K � but%�&404 �scan L � M � N O ��redefine_main_w P !q%=main_w%:ș getwi%,,q% Q( � (q%!32)�(1<<16) open%=� � open%=� R ș "Wimp_DeleteWindow",,q% S' f%=((q%!32)�&83FFFFFF) � (&83<<24) T bh%=q%!28 U � h_scroll% f%=f%�(1<<30) V � v_scroll% f%=f%�(1<<28) W* � h_scroll% � v_scroll% f%=f%�(1<<29) X< � title_bar% f%=f%�(1<<26):� toggle_icon% f%=f%�(1<<27) Y q%!32=f% Z+ ș "Wimp_CreateWindow",,q%+4 � main_w% [U !q%=main_w%:ș getw%,,q%:�open_window(!q%,q%!4,q%!8,q%!12,q%!16,q%!20,q%!24,bh%) \ � ] ^ ��init_seq(time%,adr%) _ ș movedata%,adr%,ws%,!adr% `7 � (adr%!12)�4 ws%!4=40:ws%!8=36 � ws%!4=36:ws%!8=0 a) ws%!12=4:ws%!16=adr%!20:ws%!20=time% b* ws%!24=adr%!8:ws%!28=0:ws%!32=adr%!12 c �make_space(!ws%+16) d" ș addentry%,s_sequences%,ws% ee � (ws%!32)�64 pointer_on%=�:�get_pointer:� handle%=main_w% ș "Wimp_SpriteOp",36,1,"ptr_clock",2 f � g h ��check_sequences(time%) i$ ș nentries%,s_sequences% � ns% j � ns% � k# stack%=�stack(current_page%) l � seq%=1 � ns% m, ș getnth%,s_sequences%,seq% � adr% n � time%>adr%!20 � o adr%!20=time%+adr%!16 p? len%=!adr%:ptr%=adr%!4:optr%=adr%!8:ptr_inc%=adr%!12 q( loop%=(adr%!32)�2:last_one%=0 rC last%=(adr%!32)�8:trail%=(adr%!32)�16:noud%=(adr%!32)�32 s! seethru%=(adr%!32)�128 t+ � adr%!24<>0 � adr%!28=adr%!24 � u � loop% � v$ � ptr%=40 last_one%=� w � x$ � ptr%=36 last_one%=� y � z � {" � optr%<>0 � trail%=0 � | � last_one% � } � last%=0 � ~ � noud% � 4 �fast_draw(stack%,optr%!adr%,�,0) � � �6 �hide_object(stack%,optr%!adr%,1,1) � � � � � � � � noud% � �2 �fast_draw(stack%,optr%!adr%,�,0) � � �4 �hide_object(stack%,optr%!adr%,1,1) � � � � � � � � last_one%=0 � � � noud% � �6 �fast_draw(stack%,ptr%!adr%,0,seethru%) � � �1 �hide_object(stack%,ptr%!adr%,0,1) � � �' adr%!8=ptr%:ptr%+=ptr_inc% � � loop% � � � ptr%=len% � �' ptr%=len%-8:adr%!12=-4 � � � � ptr%=32 � �$ ptr%=40:adr%!12=4 �3 � adr%!24<>0 adr%!28=(adr%!28)+1 � � � � � � � � ptr%=len% � � ptr%=36 �1 � adr%!24<>0 adr%!28=(adr%!28)+1 � � � � � � � ptr%=0 � � � adr%!4=ptr% � � � � � � � nomore%=� �( ș nentries%,s_sequences% � ns% � � ns% � � � seq%=1 � ns% �7 ș getnth%,s_sequences%,seq% � adr%,token% �A � adr%!4=0 � (adr%!32)�64 �"pointer 1":pointer_on%=� �L � adr%!4=0 nomore%=0:seq%=ns%:ș killentry%,s_sequences%,token% � � � � � �nomore% � � � � � �/ ��fast_draw(stack%,token%,erase%,seethru%) � � adr% � !q%=main_w%:ș getw%,,q% �+ offx%=(q%!4-q%!20):offy%=(q%!16-q%!24) �& ș getentry%,stack%,token% � adr% � x%=(adr%!12)+offx% � y%=(adr%!16)+offy% �" x1%=(adr%!20)-(1<<xef%)+offx% �" y1%=(adr%!24)-(1<<yef%)+offy% � � erase% � �0 � ((adr%!36)�128)=0 adr%!36=(adr%!36)�128 �2 ș getentry%,s_pages%,current_page% � adr1% � bcol%=adr1%!28: � � �9 � (adr%!36)�128 � seethru%=0 adr%!36=(adr%!36)�128 � � � flags%=adr%!36:type%=adr%!4 �f !q%=main_w%:q%!4=x%-offx%:q%!8=y%-offy%-32:q%!12=x1%-offx%+(1<<xef%)+32:q%!16=y1%-offy%+(1<<yef%) � ș updatew%,,q% � more% � ȕ more% � � erase% � �3 ș setcol%,bcol%:ȓ Ȑ x%,y%,x1%-x%,y1%-y% � � � Ȏ type% � �: � s_text%:�draw_text(stack%,token%,offx%,offy%) �W � s_sprites%,s_draw%:�draw_picture(adr%!4,adr%!8,x%,y%,x1%-x%,y1%-y%,flags%) � � � � � ș getr%,,q% � more% � � � � � � ��speak_text(stack%,token%) � speak_token%=token% �! speak_word%=0:speak_sound%=0 �& ș getentry%,stack%,token% � adr% �' ș getentry%,s_text%,adr%!8 � adr% � sptext%=adr%+4 � � ?sptext%<>0 � � speaking_text%=� � text$="":a%=sptext% �) �:text$=text$+�(?a%):a%+=1:�?a%<48 �2 speak_sound%=�name_exsists(s_sounds%,text$) �* �update_object(stack%,speak_token%) � � � � � � ��speaking_text �, ș getentry%,stack%,speak_token% � adr% �' ș getentry%,s_text%,adr%!8 � adr% � sptext%=adr%+4 � � � speak_word%+=1 � c%=speak_word%?sptext% � �c%=32 � c%=13 � c%=0 � � c%=32 � c%=13 � � � �- speak_word%+=1:c%=speak_word%?sptext% � �c%>32 � c%=0 � � � � c%<>0 � �& text$="":a%=speak_word%+sptext% �) �:text$=text$+�(?a%):a%+=1:�?a%<48 �2 speak_sound%=�name_exsists(s_sounds%,text$) � � � � c%=0 speaking_text%=� �( �update_object(stack%,speak_token%) � � � �6 ��highlight_text(stack%,token%,offx%,offy%,word%) �& ș getentry%,stack%,token% � adr% � x%=(adr%!12)+offx% � y%=(adr%!16)+offy% �" x1%=(adr%!20)-(1<<xef%)+offx% " y1%=(adr%!24)-(1<<yef%)+offy% . flags%=adr%!36:font%=adr%!40:b_s%=adr%!32 8 fcol%=adr%!52:� fcol% � &FF fcol%=default_page_col% bcol%=adr%!56 ; � flags%�1 fcol%=fcol%�&FFFFFF00:bcol%=bcol%�&FFFFFF00 1 �draw_border(b_s%,fcol%,bcol%,x%,y%,x1%,y1%) x%+=(1<<xef%) x1%-=(1<<xef%) y%+=(1<<yef%) y1%-=(1<<yef%) � � � � � � �:font%=0 � font% � ' ș getentry%,s_fonts%,font% � t% 1 ș findfont%,,t%+4,adr%!44,adr%!48 � font% � � font% � � bcol% � &FF bcol%=fcol% . ș fontinfo%,font% � ,cx%,cy%,cx1%,cy1% � > cx%=-(1<<xef%):cy%=-(1<<yef%):cx1%=8<<xef%:cy1%=8<<yef% � text_height%=cy1% ( ș getentry%,s_text%,adr%!8 � text% text%+=4 text_offset%=0 , px%=x%+margin%:py%=y1%-text_height%+cy% $ centre%=�:right%=�:underline%=� � flags% � 8 centre%=� � flags% � 16 right%=� � flags% � 32 underline%=� � Ȏ text_offset%?text% � ! � 0: "/ � 13:py%-=text_height%:text_offset%+=1 # $- text$=�string0(text%+text_offset%) % text_offset%+=�text$ & px%=x%+margin% ' � font% � (@ ș stringwidth%,,text$,1<<30,1<<30,-1,�text$ � ,,w% )& ș converttoos%,,w% � ,w% *- � centre% px%=x%+(x1%-x%)�2-w%�2 +( � right% px%=x1%-w%-margin% ,7 � underline% ul$=�(25)+�(1)+�(16) � ul$="" -A ș "ColourTrans_SetFontColours",font%,bcol%,fcol%,14 .2 ș paint%,,ul$+text$,1<<4,px%,py%-cy% /B � text_offset%>word% � (text_offset%-�text$)<=word% � 0/ i%=word%-(text_offset%-�(text$)) 1 l$=�text$,i%) 2< ș stringwidth%,,l$,1<<30,1<<30,-1,�l$ � ,,w% 3( ș converttoos%,,w% � ,w% 4 px%+=w% 5$ r$=�text$,�text$-�l$) 6* � �r$," ") r$=�r$,�r$," ")) 7W ș "ColourTrans_SetFontColours",font%,bcol%�&FFFFFF00,fcol%�&FFFFFF00,14 81 ș paint%,,ul$+r$,1<<4,px%,py%-cy% 9 � : � ; w%=�text$*cx1% <- � centre% px%=x%+(x1%-x%)�2-w%�2 =( � right% px%=x1%-w%-margin% >3 ș setcol%,fcol%:� px%,py%+cy1%:�text$ ?8 � underline% � px%,py%-cy%:�1,cx1%*�text$,0 @B � text_offset%>word% � (text_offset%-�text$)<=word% � A/ i%=word%-(text_offset%-�(text$)) B l$=�text$,i%) C" w%=�l$*cx1%:px%+=w% D$ r$=�text$,�text$-�l$) E* � �r$," ") r$=�r$,�r$," ")) F< ș setcol%,fcol%�&FFFF0000:� px%,py%+cy1%:�r$ G7 � underline% � px%,py%-cy%:�1,cx1%*�r$,0 H � I � J � K � text_offset%?text%=0 L � font% ș losefont%,font% M � N O! ��begin_save(object%,sound%) P !q%=main_w%:ș getw%,,q% Q+ offx%=(q%!4-q%!20):offy%=(q%!16-q%!24) R' ș getentry%,stack%,object% � adr% S6 ix%=adr%!12:iy%=adr%!16:ix1%=adr%!20:iy1%=adr%!24 T � sound% � U � adr%!28 � V. ș getentry%,s_clicks%,adr%!28 � adr% W � adr%!20 � X/ ș getentry%,s_mouse%,adr%!20 � adr% Y � adr%!8=5 � Z drag_sound%=adr%!12 [E �start_drag(3,ix%+offx%,iy%+offy%,ix1%+offx%,iy1%+offy%) \ � ] � ^ � _ � ` � adr%!4=s_text% � a1 drag_ptype%=s_text%:drag_picture%=adr%!8 bA �start_drag(2,ix%+offx%,iy%+offy%,ix1%+offx%,iy1%+offy%) c � d1 drag_ptype%=adr%!4:drag_picture%=object% eA �start_drag(4,ix%+offx%,iy%+offy%,ix1%+offx%,iy1%+offy%) f � g � h � i j ��try_user_drag k �get_pointer l � handle%=main_w% � m q%!20=handle%:q%!24=icon% n q%!28=mousex%:q%!32=mousey% o q%!36=sprite_size%-24 p !q%=56 q Ȏ drag_type% � r � 2:� saving text s save$="text" t file_type%=&FFF u � 3:� saving sound v3 ș getentry%,s_sounds%,drag_sound% � adr% w save$=�string0(adr%+4) x file_type%=&D3C y � 4:� saving picture z7 ș getentry%,drag_ptype%,drag_picture% � adr% { save$=�string0(adr%+4) |D � drag_ptype%=s_sprites% file_type%=&FF9 � file_type%=&AFF } � ~ q%!40=file_type% �string0(q%+44,save$) � q%!12=q%!8:q%!16=1 �: ș sendmessage%,17,q%,handle%,icon%:� send datasave � myref%=q%!8 � DMT%=0 � DMT_ptr%=0 � � � � �
00000000 0d 00 01 22 f4 20 55 6c 74 69 6d 61 70 20 76 20 |...". Ultimap v | 00000010 31 2e 31 30 20 28 31 37 20 46 65 62 20 31 39 39 |1.10 (17 Feb 199| 00000020 35 29 0d 00 02 19 f4 20 a9 20 53 69 6d 6f 6e 20 |5)..... . Simon | 00000030 48 61 79 6c 65 73 20 31 39 39 34 0d 00 03 04 0d |Hayles 1994.....| 00000040 00 04 0d 20 d3 3d 26 34 30 30 30 30 0d 00 05 20 |... .=&40000... | 00000050 20 de 20 74 61 73 6b 69 64 25 20 34 3a 24 74 61 | . taskid% 4:$ta| 00000060 73 6b 69 64 25 3d 22 54 41 53 4b 22 0d 00 06 48 |skid%="TASK"...H| 00000070 20 c8 99 20 22 57 69 6d 70 5f 49 6e 69 74 69 61 | .. "Wimp_Initia| 00000080 6c 69 73 65 22 2c 32 30 30 2c 21 74 61 73 6b 69 |lise",200,!taski| 00000090 64 25 2c 22 55 6c 74 69 6d 61 70 22 20 b8 20 76 |d%,"Ultimap" . v| 000000a0 65 72 73 69 6f 6e 25 2c 74 61 73 6b 5f 68 61 6e |ersion%,task_han| 000000b0 64 6c 65 25 0d 00 07 04 0d 00 08 12 20 ee 20 85 |dle%........ . .| 000000c0 20 f2 65 72 72 6f 72 62 6f 78 0d 00 09 04 0d 00 | .errorbox......| 000000d0 0a 0a 20 f2 76 61 72 73 0d 00 0b 04 0d 00 0c 26 |.. .vars.......&| 000000e0 20 c8 99 20 22 4f 53 5f 4d 6f 64 75 6c 65 22 2c | .. "OS_Module",| 000000f0 31 36 2c 22 55 62 61 73 65 25 55 6c 74 69 6d 61 |16,"Ubase%Ultima| 00000100 70 22 0d 00 0d 18 20 2a 55 42 41 53 45 20 34 30 |p".... *UBASE 40| 00000110 30 30 30 20 38 30 30 30 30 30 0d 00 0e 04 0d 00 |000 800000......| 00000120 0f 17 20 f4 20 67 6c 6f 62 61 6c 20 76 61 72 69 |.. . global vari| 00000130 61 62 6c 65 73 0d 00 10 04 0d 00 11 38 20 de 20 |ables.......8 . | 00000140 62 6f 78 25 20 31 32 2c 62 6f 78 32 25 20 31 32 |box% 12,box2% 12| 00000150 2c 6d 61 74 72 69 78 25 20 31 36 2c 6f 72 69 67 |,matrix% 16,orig| 00000160 69 6e 31 25 20 38 2c 6f 72 69 67 69 6e 32 25 20 |in1% 8,origin2% | 00000170 38 0d 00 12 21 20 69 63 6f 6e 5f 66 6f 6e 74 24 |8...! icon_font$| 00000180 3d 22 48 6f 6d 65 72 74 6f 6e 2e 4d 65 64 69 75 |="Homerton.Mediu| 00000190 6d 22 0d 00 13 1a 20 66 75 6c 6c 5f 6e 61 6d 65 |m".... full_name| 000001a0 24 3d 22 55 6e 74 69 74 6c 65 64 22 0d 00 14 15 |$="Untitled"....| 000001b0 20 71 75 65 72 79 5f 73 74 72 69 6e 67 24 3d 22 | query_string$="| 000001c0 22 0d 00 15 0c 20 6d 65 6e 75 25 3d 30 0d 00 16 |".... menu%=0...| 000001d0 18 20 73 70 72 69 74 65 5f 73 69 7a 65 25 3d 26 |. sprite_size%=&| 000001e0 31 45 30 30 30 0d 00 17 18 20 de 20 71 25 20 32 |1E000.... . q% 2| 000001f0 35 36 2c 6f 6c 64 5f 71 25 20 32 35 36 0d 00 18 |56,old_q% 256...| 00000200 13 20 de 20 65 72 72 62 6c 6b 25 20 33 30 30 30 |. . errblk% 3000| 00000210 0d 00 19 27 20 de 20 6d 61 69 6e 25 20 31 30 30 |...' . main% 100| 00000220 30 2c 73 70 72 69 74 65 73 25 20 73 70 72 69 74 |0,sprites% sprit| 00000230 65 5f 73 69 7a 65 25 0d 00 1a 40 20 21 73 70 72 |e_size%...@ !spr| 00000240 69 74 65 73 25 3d 73 70 72 69 74 65 5f 73 69 7a |ites%=sprite_siz| 00000250 65 25 3a 73 70 72 69 74 65 73 25 21 38 3d 31 36 |e%:sprites%!8=16| 00000260 3a c8 99 20 73 70 6f 70 25 2c 26 32 30 39 2c 73 |:.. spop%,&209,s| 00000270 70 72 69 74 65 73 25 0d 00 1b 19 20 de 20 77 69 |prites%.... . wi| 00000280 6d 70 5f 70 61 6c 65 74 74 65 25 20 32 30 2a 34 |mp_palette% 20*4| 00000290 0d 00 1c 17 20 de 20 70 61 67 65 5f 73 74 61 63 |.... . page_stac| 000002a0 6b 25 20 31 30 32 34 0d 00 1d 04 0d 00 1e 11 20 |k% 1024........ | 000002b0 73 5f 73 70 72 69 74 65 73 25 3d 31 0d 00 1f 0e |s_sprites%=1....| 000002c0 20 73 5f 64 72 61 77 25 3d 32 0d 00 20 10 20 73 | s_draw%=2.. . s| 000002d0 5f 72 65 70 6c 61 79 25 3d 33 0d 00 21 13 20 73 |_replay%=3..!. s| 000002e0 5f 71 75 69 63 6b 74 69 6d 65 25 3d 34 0d 00 22 |_quicktime%=4.."| 000002f0 0f 20 73 5f 66 6f 6e 74 73 25 3d 35 0d 00 23 12 |. s_fonts%=5..#.| 00000300 20 73 5f 73 74 61 72 63 6f 6d 73 25 3d 36 0d 00 | s_starcoms%=6..| 00000310 24 13 20 73 5f 6c 6f 61 64 6f 72 64 65 72 25 3d |$. s_loadorder%=| 00000320 37 0d 00 25 10 20 73 5f 73 6f 75 6e 64 73 25 3d |7..%. s_sounds%=| 00000330 38 0d 00 26 0e 20 73 5f 74 65 78 74 25 3d 39 0d |8..&. s_text%=9.| 00000340 00 27 10 20 73 5f 70 61 67 65 73 25 3d 31 30 0d |.'. s_pages%=10.| 00000350 00 28 04 0d 00 29 11 20 73 5f 63 6c 69 63 6b 73 |.(...). s_clicks| 00000360 25 3d 31 31 0d 00 2a 14 20 73 5f 6d 6f 75 73 65 |%=11..*. s_mouse| 00000370 64 72 61 67 25 3d 31 32 0d 00 2b 10 20 73 5f 6f |drag%=12..+. s_o| 00000380 66 74 65 6e 25 3d 31 33 0d 00 2c 12 20 73 5f 70 |ften%=13..,. s_p| 00000390 6f 69 6e 74 65 72 25 3d 31 34 0d 00 2d 10 20 73 |ointer%=14..-. s| 000003a0 5f 6d 6f 75 73 65 25 3d 31 35 0d 00 2e 14 20 73 |_mouse%=15.... s| 000003b0 5f 70 61 67 65 73 68 6f 77 6e 25 3d 31 36 0d 00 |_pageshown%=16..| 000003c0 2f 10 20 73 5f 73 70 61 72 65 25 3d 31 37 0d 00 |/. s_spare%=17..| 000003d0 30 13 20 73 5f 63 6c 69 63 6b 73 6f 6e 25 3d 31 |0. s_clickson%=1| 000003e0 38 0d 00 31 0f 20 73 5f 74 65 6d 70 25 3d 31 39 |8..1. s_temp%=19| 000003f0 0d 00 32 14 20 73 5f 73 65 71 75 65 6e 63 65 73 |..2. s_sequences| 00000400 25 3d 32 30 0d 00 33 04 0d 00 34 0e 20 f4 20 6f |%=20..3...4. . o| 00000410 70 74 69 6f 6e 73 0d 00 35 04 0d 00 36 10 20 70 |ptions..5...6. p| 00000420 72 69 6e 74 69 6e 67 25 3d a3 0d 00 37 10 20 70 |rinting%=...7. p| 00000430 6f 72 74 72 61 69 74 25 3d a3 0d 00 38 14 20 63 |ortrait%=...8. c| 00000440 75 72 72 65 6e 74 5f 70 61 67 65 25 3d 30 0d 00 |urrent_page%=0..| 00000450 39 0f 20 6d 61 72 67 69 6e 25 3d 31 36 0d 00 3a |9. margin%=16..:| 00000460 11 20 63 6c 69 63 6b 5f 74 69 6d 65 3d 31 0d 00 |. click_time=1..| 00000470 3b 12 20 63 6c 69 63 6b 5f 70 61 75 73 65 3d 31 |;. click_pause=1| 00000480 0d 00 3c 11 20 74 65 6d 70 5f 6c 69 73 74 25 3d |..<. temp_list%=| 00000490 30 0d 00 3d 0e 20 74 72 79 69 6e 67 25 3d b9 0d |0..=. trying%=..| 000004a0 00 3e 15 20 73 70 65 61 6b 69 6e 67 5f 74 65 78 |.>. speaking_tex| 000004b0 74 25 3d a3 0d 00 3f 13 20 73 70 65 61 6b 5f 73 |t%=...?. speak_s| 000004c0 6f 75 6e 64 25 3d a3 0d 00 40 13 20 73 70 65 61 |ound%=...@. spea| 000004d0 6b 5f 74 6f 6b 65 6e 25 3d a3 0d 00 41 10 20 68 |k_token%=...A. h| 000004e0 5f 73 63 72 6f 6c 6c 25 3d b9 0d 00 42 10 20 76 |_scroll%=...B. v| 000004f0 5f 73 63 72 6f 6c 6c 25 3d b9 0d 00 43 13 20 74 |_scroll%=...C. t| 00000500 6f 67 67 6c 65 5f 69 63 6f 6e 25 3d b9 0d 00 44 |oggle_icon%=...D| 00000510 11 20 74 69 74 6c 65 5f 62 61 72 25 3d b9 0d 00 |. title_bar%=...| 00000520 45 10 20 73 63 61 6e 6e 69 6e 67 25 3d a3 0d 00 |E. scanning%=...| 00000530 46 11 20 73 63 61 6e 5f 6b 65 79 73 25 3d 31 0d |F. scan_keys%=1.| 00000540 00 47 13 20 73 63 61 6e 5f 74 69 6d 65 25 3d 31 |.G. scan_time%=1| 00000550 30 30 0d 00 48 13 20 73 63 61 6e 5f 6f 62 6a 65 |00..H. scan_obje| 00000560 63 74 25 3d 31 0d 00 49 12 20 73 63 61 6e 5f 63 |ct%=1..I. scan_c| 00000570 6f 75 6e 74 25 3d 30 0d 00 4a 14 20 6d 65 6e 75 |ount%=0..J. menu| 00000580 5f 65 6e 61 62 6c 65 64 25 3d b9 0d 00 4b 14 20 |_enabled%=...K. | 00000590 77 73 25 3d 73 70 72 69 74 65 73 25 2b 33 32 0d |ws%=sprites%+32.| 000005a0 00 4c 11 20 70 61 67 65 5f 73 69 7a 65 25 3d 33 |.L. page_size%=3| 000005b0 0d 00 4d 16 20 66 69 6c 65 5f 76 65 72 73 69 6f |..M. file_versio| 000005c0 6e 25 3d 31 30 31 0d 00 4e 1b 20 63 75 72 72 65 |n%=101..N. curre| 000005d0 6e 74 5f 70 61 67 65 24 3d 22 50 61 67 65 20 31 |nt_page$="Page 1| 000005e0 22 0d 00 4f 14 20 77 73 25 3d 73 70 72 69 74 65 |"..O. ws%=sprite| 000005f0 73 25 2b 33 32 0d 00 50 04 0d 00 51 16 20 c8 99 |s%+32..P...Q. ..| 00000600 20 22 48 6f 75 72 67 6c 61 73 73 5f 4f 6e 22 0d | "Hourglass_On".| 00000610 00 52 14 20 f2 6c 6f 61 64 5f 74 65 6d 70 6c 61 |.R. .load_templa| 00000620 74 65 73 0d 00 53 13 20 f2 67 65 74 5f 6d 6f 64 |tes..S. .get_mod| 00000630 65 5f 69 6e 66 6f 0d 00 54 12 20 f2 6c 6f 61 64 |e_info..T. .load| 00000640 5f 6f 70 74 69 6f 6e 73 0d 00 55 0e 20 f2 6e 65 |_options..U. .ne| 00000650 77 5f 66 69 6c 65 0d 00 56 04 0d 00 57 26 20 c8 |w_file..V...W& .| 00000660 99 20 22 4f 53 5f 47 65 74 45 6e 76 22 20 b8 20 |. "OS_GetEnv" . | 00000670 45 6e 76 53 74 72 24 2c 65 6e 64 5f 61 64 72 25 |EnvStr$,end_adr%| 00000680 0d 00 58 1c 20 e7 20 a7 45 6e 76 53 74 72 24 2c |..X. . .EnvStr$,| 00000690 22 20 2d 71 75 69 74 20 22 29 20 8c 0d 00 59 2d |" -quit ") ...Y-| 000006a0 20 49 25 3d a7 45 6e 76 53 74 72 24 2c 22 22 22 | I%=.EnvStr$,"""| 000006b0 22 29 3a 49 25 3d a7 45 6e 76 53 74 72 24 2c 22 |"):I%=.EnvStr$,"| 000006c0 22 22 22 2c 49 25 2b 31 29 0d 00 5a 20 20 f5 49 |""",I%+1)..Z .I| 000006d0 25 2b 3d 31 3a fd c1 45 6e 76 53 74 72 24 2c 49 |%+=1:..EnvStr$,I| 000006e0 25 2c 31 29 3c 3e 22 20 22 0d 00 5b 14 20 66 24 |%,1)<>" "..[. f$| 000006f0 3d c1 45 6e 76 53 74 72 24 2c 49 25 29 0d 00 5c |=.EnvStr$,I%)..\| 00000700 2c 20 e7 20 66 24 3c 3e 22 22 20 66 75 6c 6c 5f |, . f$<>"" full_| 00000710 6e 61 6d 65 24 3d 66 24 3a f2 6c 6f 61 64 5f 66 |name$=f$:.load_f| 00000720 69 6c 65 28 66 24 2c 32 29 0d 00 5d 06 20 cd 0d |ile(f$,2)..]. ..| 00000730 00 5e 04 0d 00 5f 17 20 69 63 6f 6e 5f 62 61 72 |.^..._. icon_bar| 00000740 25 3d a4 69 63 6f 6e 62 61 72 0d 00 60 04 0d 00 |%=.iconbar..`...| 00000750 61 24 20 c8 99 20 73 65 74 63 61 72 65 74 25 2c |a$ .. setcaret%,| 00000760 6d 61 69 6e 5f 77 25 2c 2d 31 2c 30 2c 31 30 2c |main_w%,-1,0,10,| 00000770 31 30 0d 00 62 04 0d 00 63 17 20 c8 99 20 22 48 |10..b...c. .. "H| 00000780 6f 75 72 67 6c 61 73 73 5f 4f 66 66 22 0d 00 64 |ourglass_Off"..d| 00000790 12 20 ee 20 85 20 f2 65 72 72 6f 72 62 6f 78 0d |. . . .errorbox.| 000007a0 00 65 04 0d 00 66 11 20 c8 99 20 64 72 61 67 25 |.e...f. .. drag%| 000007b0 2c 2c 2d 31 0d 00 67 12 20 f2 62 65 67 69 6e 5f |,,-1..g. .begin_| 000007c0 74 72 79 69 6e 67 0d 00 68 06 20 f5 0d 00 69 10 |trying..h. ...i.| 000007d0 20 20 20 f2 74 72 79 5f 70 6f 6c 6c 0d 00 6a 08 | .try_poll..j.| 000007e0 20 fd 20 a3 0d 00 6b 04 0d 00 6c 15 20 dd f2 6c | . ...k...l. ..l| 000007f0 6f 61 64 5f 74 65 6d 70 6c 61 74 65 73 0d 00 6d |oad_templates..m| 00000800 35 20 de 20 66 6f 6e 74 5f 61 72 72 61 79 25 20 |5 . font_array% | 00000810 32 35 36 3a e3 74 25 3d 30 b8 32 35 32 88 34 3a |256:.t%=0.252.4:| 00000820 74 25 21 66 6f 6e 74 5f 61 72 72 61 79 25 3d 30 |t%!font_array%=0| 00000830 3a ed 0d 00 6e 33 20 c8 99 20 22 57 69 6d 70 5f |:...n3 .. "Wimp_| 00000840 4f 70 65 6e 54 65 6d 70 6c 61 74 65 22 2c 2c 22 |OpenTemplate",,"| 00000850 3c 4f 62 65 79 24 44 69 72 3e 2e 54 65 6d 70 6c |<Obey$Dir>.Templ| 00000860 61 74 65 73 22 0d 00 6f 1e 20 de 20 77 69 6e 64 |ates"..o. . wind| 00000870 73 25 20 32 30 30 30 2c 69 6e 64 69 72 25 20 31 |s% 2000,indir% 1| 00000880 30 30 30 0d 00 70 16 20 69 6e 64 6c 25 3d 69 6e |000..p. indl%=in| 00000890 64 69 72 25 2b 34 30 30 30 0d 00 71 49 20 c8 99 |dir%+4000..qI ..| 000008a0 20 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c | "Wimp_LoadTempl| 000008b0 61 74 65 22 2c 2c 77 69 6e 64 73 25 2c 69 6e 64 |ate",,winds%,ind| 000008c0 69 72 25 2c 69 6e 64 6c 25 2c 2d 31 2c 22 6d 61 |ir%,indl%,-1,"ma| 000008d0 69 6e 5f 77 22 2c 30 20 b8 20 2c 2c 69 6e 64 69 |in_w",0 . ,,indi| 000008e0 72 25 0d 00 72 2d 20 c8 99 20 22 57 69 6d 70 5f |r%..r- .. "Wimp_| 000008f0 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 77 |CreateWindow",,w| 00000900 69 6e 64 73 25 20 b8 20 6d 61 69 6e 5f 77 25 0d |inds% . main_w%.| 00000910 00 73 57 20 c8 99 20 22 57 69 6d 70 5f 4c 6f 61 |.sW .. "Wimp_Loa| 00000920 64 54 65 6d 70 6c 61 74 65 22 2c 2c 77 69 6e 64 |dTemplate",,wind| 00000930 73 25 2c 69 6e 64 69 72 25 2c 69 6e 64 6c 25 2c |s%,indir%,indl%,| 00000940 66 6f 6e 74 5f 61 72 72 61 79 25 2c 22 70 61 67 |font_array%,"pag| 00000950 65 6c 69 73 74 5f 77 63 22 2c 30 20 b8 20 2c 2c |elist_wc",0 . ,,| 00000960 69 6e 64 69 72 25 0d 00 74 32 20 c8 99 20 22 57 |indir%..t2 .. "W| 00000970 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 |imp_CreateWindow| 00000980 22 2c 2c 77 69 6e 64 73 25 20 b8 20 70 61 67 65 |",,winds% . page| 00000990 6c 69 73 74 5f 77 63 25 0d 00 75 53 20 c8 99 20 |list_wc%..uS .. | 000009a0 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c 61 |"Wimp_LoadTempla| 000009b0 74 65 22 2c 2c 77 69 6e 64 73 25 2c 69 6e 64 69 |te",,winds%,indi| 000009c0 72 25 2c 69 6e 64 6c 25 2c 66 6f 6e 74 5f 61 72 |r%,indl%,font_ar| 000009d0 72 61 79 25 2c 22 70 72 69 6e 74 5f 77 22 2c 30 |ray%,"print_w",0| 000009e0 20 b8 20 2c 2c 69 6e 64 69 72 25 0d 00 76 2e 20 | . ,,indir%..v. | 000009f0 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 57 |.. "Wimp_CreateW| 00000a00 69 6e 64 6f 77 22 2c 2c 77 69 6e 64 73 25 20 b8 |indow",,winds% .| 00000a10 20 70 72 69 6e 74 5f 77 25 0d 00 77 47 20 c8 99 | print_w%..wG ..| 00000a20 20 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c | "Wimp_LoadTempl| 00000a30 61 74 65 22 2c 2c 77 69 6e 64 73 25 2c 69 6e 64 |ate",,winds%,ind| 00000a40 69 72 25 2c 69 6e 64 6c 25 2c 2d 31 2c 22 69 6e |ir%,indl%,-1,"in| 00000a50 66 6f 22 2c 30 20 b8 20 2c 2c 69 6e 64 69 72 25 |fo",0 . ,,indir%| 00000a60 0d 00 78 2b 20 c8 99 20 22 57 69 6d 70 5f 43 72 |..x+ .. "Wimp_Cr| 00000a70 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 77 69 6e |eateWindow",,win| 00000a80 64 73 25 20 b8 20 69 6e 66 6f 25 0d 00 79 1c 20 |ds% . info%..y. | 00000a90 c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 65 54 65 |.. "Wimp_CloseTe| 00000aa0 6d 70 6c 61 74 65 22 0d 00 7a 06 20 e1 0d 00 7b |mplate"..z. ...{| 00000ab0 05 3b 0d 00 7c 13 20 dd f2 6c 6f 61 64 5f 6f 70 |.;..|. ..load_op| 00000ac0 74 69 6f 6e 73 0d 00 7d 24 20 70 74 72 25 3d 8e |tions..}$ ptr%=.| 00000ad0 28 22 3c 55 6c 74 69 6d 61 70 24 44 69 72 3e 2e |("<Ultimap$Dir>.| 00000ae0 6f 70 74 69 6f 6e 73 22 29 0d 00 7e 50 20 e8 23 |options")..~P .#| 00000af0 70 74 72 25 2c 74 6f 6f 6c 62 6f 78 5f 6f 6e 25 |ptr%,toolbox_on%| 00000b00 2c 73 63 61 6e 6e 69 6e 67 25 2c 73 63 61 6e 5f |,scanning%,scan_| 00000b10 6b 65 79 73 25 2c 73 63 61 6e 5f 74 69 6d 65 25 |keys%,scan_time%| 00000b20 2c 6d 65 6e 75 5f 65 6e 61 62 6c 65 64 25 2c 73 |,menu_enabled%,s| 00000b30 6f 75 6e 64 5f 76 6f 6c 25 0d 00 7f 0b 20 d9 23 |ound_vol%.... .#| 00000b40 70 74 72 25 0d 00 80 25 20 70 74 72 25 3d 8e 28 |ptr%...% ptr%=.(| 00000b50 22 3c 55 6c 74 69 6d 61 70 24 44 69 72 3e 2e 6d |"<Ultimap$Dir>.m| 00000b60 65 73 73 61 67 65 73 22 29 0d 00 81 18 20 e8 23 |essages").... .#| 00000b70 70 74 72 25 2c 69 6e 66 6f 24 2c 69 6e 66 6f 31 |ptr%,info$,info1| 00000b80 24 0d 00 82 0b 20 d9 23 70 74 72 25 0d 00 83 22 |$.... .#ptr%..."| 00000b90 20 f2 73 65 74 5f 69 63 6f 6e 5f 74 65 78 74 28 | .set_icon_text(| 00000ba0 69 6e 66 6f 25 2c 31 2c 69 6e 66 6f 24 29 0d 00 |info%,1,info$)..| 00000bb0 84 23 20 f2 73 65 74 5f 69 63 6f 6e 5f 74 65 78 |.# .set_icon_tex| 00000bc0 74 28 69 6e 66 6f 25 2c 32 2c 69 6e 66 6f 31 24 |t(info%,2,info1$| 00000bd0 29 0d 00 85 06 20 e1 0d 00 86 04 0d 00 87 04 0d |).... ..........| 00000be0 00 88 0d dd 20 f2 66 69 6e 69 73 68 0d 00 89 14 |.... .finish....| 00000bf0 20 c8 99 20 73 65 74 63 61 72 65 74 25 2c 2d 31 | .. setcaret%,-1| 00000c00 0d 00 8a 10 20 f2 6c 6f 73 65 5f 66 6f 6e 74 73 |.... .lose_fonts| 00000c10 0d 00 8b 2e 20 c8 99 20 22 57 69 6d 70 5f 43 6c |.... .. "Wimp_Cl| 00000c20 6f 73 65 44 6f 77 6e 22 2c 74 61 73 6b 5f 68 61 |oseDown",task_ha| 00000c30 6e 64 6c 65 25 2c 21 74 61 73 6b 69 64 25 0d 00 |ndle%,!taskid%..| 00000c40 8c 11 20 c8 99 20 22 4f 53 5f 45 78 69 74 22 0d |.. .. "OS_Exit".| 00000c50 00 8d 05 e1 0d 00 8e 04 0d 00 8f 14 20 dd f2 72 |............ ..r| 00000c60 65 64 72 61 77 5f 77 69 6e 64 6f 77 0d 00 90 1c |edraw_window....| 00000c70 20 c8 99 20 72 65 64 72 61 77 77 25 2c 2c 71 25 | .. redraww%,,q%| 00000c80 20 b8 20 6d 6f 72 65 25 0d 00 91 0d 20 c8 95 20 | . more%.... .. | 00000c90 6d 6f 72 65 25 0d 00 92 2d 20 20 20 6f 66 66 78 |more%...- offx| 00000ca0 25 3d 28 71 25 21 34 2d 71 25 21 32 30 29 3a 6f |%=(q%!4-q%!20):o| 00000cb0 66 66 79 25 3d 28 71 25 21 31 36 2d 71 25 21 32 |ffy%=(q%!16-q%!2| 00000cc0 34 29 0d 00 93 0f 20 20 20 c8 8e 20 21 71 25 20 |4).... .. !q% | 00000cd0 ca 0d 00 94 5c 20 20 20 20 20 c9 20 6d 61 69 6e |....\ . main| 00000ce0 5f 77 25 3a f2 64 72 61 77 5f 6d 61 69 6e 5f 77 |_w%:.draw_main_w| 00000cf0 28 71 25 21 32 38 2d 6f 66 66 78 25 2c 71 25 21 |(q%!28-offx%,q%!| 00000d00 33 32 2d 6f 66 66 79 25 2c 71 25 21 33 36 2d 6f |32-offy%,q%!36-o| 00000d10 66 66 78 25 2c 71 25 21 34 30 2d 6f 66 66 79 25 |ffx%,q%!40-offy%| 00000d20 2c 6f 66 66 78 25 2c 6f 66 66 79 25 29 0d 00 95 |,offx%,offy%)...| 00000d30 5a 20 20 20 20 20 c9 20 70 61 67 65 6c 69 73 74 |Z . pagelist| 00000d40 5f 77 63 25 3a f2 64 72 61 77 5f 70 61 67 65 6c |_wc%:.draw_pagel| 00000d50 69 73 74 5f 77 63 28 71 25 21 32 38 2d 6f 66 66 |ist_wc(q%!28-off| 00000d60 78 25 2c 71 25 21 33 32 2d 6f 66 66 79 25 2c 71 |x%,q%!32-offy%,q| 00000d70 25 21 33 36 2d 6f 66 66 78 25 2c 71 25 21 34 30 |%!36-offx%,q%!40| 00000d80 2d 6f 66 66 79 25 29 0d 00 96 08 20 20 20 cb 0d |-offy%).... ..| 00000d90 00 97 1b 20 20 20 c8 99 20 67 65 74 72 25 2c 2c |... .. getr%,,| 00000da0 71 25 20 b8 20 6d 6f 72 65 25 0d 00 98 06 20 ce |q% . more%.... .| 00000db0 0d 00 99 06 20 e1 0d 00 9a 04 0d 00 9b 16 20 dd |.... ......... .| 00000dc0 20 f2 66 72 6f 6e 74 28 68 61 6e 64 6c 65 25 29 | .front(handle%)| 00000dd0 0d 00 9c 1d 20 21 71 25 3d 68 61 6e 64 6c 65 25 |.... !q%=handle%| 00000de0 3a c8 99 20 67 65 74 77 25 2c 2c 71 25 0d 00 9d |:.. getw%,,q%...| 00000df0 3b 20 f2 6f 70 65 6e 5f 77 69 6e 64 6f 77 28 21 |; .open_window(!| 00000e00 71 25 2c 71 25 21 34 2c 71 25 21 38 2c 71 25 21 |q%,q%!4,q%!8,q%!| 00000e10 31 32 2c 71 25 21 31 36 2c 71 25 21 32 30 2c 71 |12,q%!16,q%!20,q| 00000e20 25 21 32 34 2c 2d 31 29 0d 00 9e 06 20 e1 0d 00 |%!24,-1).... ...| 00000e30 9f 04 0d 00 a0 3d 20 dd 20 f2 6f 70 65 6e 5f 77 |.....= . .open_w| 00000e40 69 6e 64 6f 77 28 68 61 6e 64 6c 65 25 2c 78 25 |indow(handle%,x%| 00000e50 2c 79 25 2c 78 31 25 2c 79 31 25 2c 73 63 78 25 |,y%,x1%,y1%,scx%| 00000e60 2c 73 63 79 25 2c 62 68 61 6e 64 6c 65 25 29 0d |,scy%,bhandle%).| 00000e70 00 a1 12 20 e7 68 61 6e 64 6c 65 25 3d 2d 31 8c |... .handle%=-1.| 00000e80 e1 0d 00 a2 13 20 71 25 21 32 38 3d 62 68 61 6e |..... q%!28=bhan| 00000e90 64 6c 65 25 0d 00 a3 11 20 71 25 21 30 3d 68 61 |dle%.... q%!0=ha| 00000ea0 6e 64 6c 65 25 0d 00 a4 28 20 71 25 21 34 3d 78 |ndle%...( q%!4=x| 00000eb0 25 3a 71 25 21 38 3d 79 25 3a 71 25 21 31 32 3d |%:q%!8=y%:q%!12=| 00000ec0 78 31 25 3a 71 25 21 31 36 3d 79 31 25 0d 00 a5 |x1%:q%!16=y1%...| 00000ed0 1a 20 71 25 21 32 30 3d 73 63 78 25 3a 71 25 21 |. q%!20=scx%:q%!| 00000ee0 32 34 3d 73 63 79 25 0d 00 a6 12 20 c8 99 20 6f |24=scy%.... .. o| 00000ef0 70 65 6e 77 25 2c 2c 71 25 0d 00 a7 06 20 e1 0d |penw%,,q%.... ..| 00000f00 00 a8 04 0d 00 a9 04 0d 00 aa 1d 20 dd 20 f2 63 |........... . .c| 00000f10 6c 6f 73 65 5f 77 69 6e 64 6f 77 28 68 61 6e 64 |lose_window(hand| 00000f20 6c 65 25 29 0d 00 ab 1f 20 21 71 25 3d 68 61 6e |le%).... !q%=han| 00000f30 64 6c 65 25 3a c8 99 20 63 6c 6f 73 65 77 25 2c |dle%:.. closew%,| 00000f40 2c 71 25 0d 00 ac 06 20 e1 0d 00 ad 04 0d 00 ae |,q%.... ........| 00000f50 0b dd 20 f2 76 61 72 73 0d 00 af 10 20 67 65 74 |.. .vars.... get| 00000f60 65 6e 76 25 3d 26 31 30 0d 00 b0 20 20 77 69 6d |env%=&10... wim| 00000f70 70 25 20 20 20 20 3d 20 28 31 3c 3c 31 38 29 20 |p% = (1<<18) | 00000f80 2b 20 28 33 3c 3c 36 29 0d 00 b1 15 20 63 72 65 |+ (3<<6).... cre| 00000f90 61 74 65 77 25 3d 77 69 6d 70 25 2b 31 0d 00 b2 |atew%=wimp%+1...| 00000fa0 18 20 63 72 65 61 74 65 69 63 6f 6e 25 3d 77 69 |. createicon%=wi| 00000fb0 6d 70 25 2b 32 0d 00 b3 18 20 64 65 6c 65 74 65 |mp%+2.... delete| 00000fc0 69 63 6f 6e 25 3d 77 69 6d 70 25 2b 34 0d 00 b4 |icon%=wimp%+4...| 00000fd0 13 20 6f 70 65 6e 77 25 3d 77 69 6d 70 25 2b 35 |. openw%=wimp%+5| 00000fe0 0d 00 b5 14 20 63 6c 6f 73 65 77 25 3d 77 69 6d |.... closew%=wim| 00000ff0 70 25 2b 36 0d 00 b6 12 20 70 6f 6c 6c 25 3d 77 |p%+6.... poll%=w| 00001000 69 6d 70 25 2b 37 0d 00 b7 15 20 72 65 64 72 61 |imp%+7.... redra| 00001010 77 77 25 3d 77 69 6d 70 25 2b 38 0d 00 b8 15 20 |ww%=wimp%+8.... | 00001020 75 70 64 61 74 65 77 25 3d 77 69 6d 70 25 2b 39 |updatew%=wimp%+9| 00001030 0d 00 b9 13 20 67 65 74 72 25 3d 77 69 6d 70 25 |.... getr%=wimp%| 00001040 2b 31 30 0d 00 ba 13 20 67 65 74 77 25 3d 77 69 |+10.... getw%=wi| 00001050 6d 70 25 2b 31 31 0d 00 bb 14 20 67 65 74 77 69 |mp%+11.... getwi| 00001060 25 3d 77 69 6d 70 25 2b 31 32 0d 00 bc 13 20 73 |%=wimp%+12.... s| 00001070 65 74 69 25 3d 77 69 6d 70 25 2b 31 33 0d 00 bd |eti%=wimp%+13...| 00001080 13 20 67 65 74 69 25 3d 77 69 6d 70 25 2b 31 34 |. geti%=wimp%+14| 00001090 0d 00 be 13 20 67 65 74 70 25 3d 77 69 6d 70 25 |.... getp%=wimp%| 000010a0 2b 31 35 0d 00 bf 13 20 64 72 61 67 25 3d 77 69 |+15.... drag%=wi| 000010b0 6d 70 25 2b 31 36 0d 00 c0 1a 20 66 6f 72 63 65 |mp%+16.... force| 000010c0 72 65 64 72 61 77 25 3d 77 69 6d 70 25 2b 31 37 |redraw%=wimp%+17| 000010d0 0d 00 c1 17 20 73 65 74 63 61 72 65 74 25 3d 77 |.... setcaret%=w| 000010e0 69 6d 70 25 2b 31 38 0d 00 c2 17 20 67 65 74 63 |imp%+18.... getc| 000010f0 61 72 65 74 25 3d 77 69 6d 70 25 2b 31 39 0d 00 |aret%=wimp%+19..| 00001100 c3 19 20 63 72 65 61 74 65 6d 65 6e 75 25 3d 77 |.. createmenu%=w| 00001110 69 6d 70 25 2b 32 30 0d 00 c4 19 20 73 65 74 65 |imp%+20.... sete| 00001120 78 74 65 6e 74 25 3d 77 69 6d 70 25 2b 26 31 37 |xtent%=wimp%+&17| 00001130 0d 00 c5 1a 20 70 72 6f 63 65 73 73 6b 65 79 25 |.... processkey%| 00001140 3d 77 69 6d 70 25 2b 26 31 43 0d 00 c6 1b 20 73 |=wimp%+&1C.... s| 00001150 65 6e 64 6d 65 73 73 61 67 65 25 3d 77 69 6d 70 |endmessage%=wimp| 00001160 25 2b 26 32 37 0d 00 c7 19 20 63 72 73 75 62 6d |%+&27.... crsubm| 00001170 65 6e 75 25 3d 77 69 6d 70 25 2b 26 32 38 0d 00 |enu%=wimp%+&28..| 00001180 c8 15 20 70 6c 6f 74 69 63 6f 6e 25 3d 26 34 30 |.. ploticon%=&40| 00001190 30 45 32 0d 00 c9 04 0d 00 ca 13 20 73 65 74 63 |0E2........ setc| 000011a0 6f 6c 25 3d 26 34 30 37 34 33 0d 00 cb 0e 20 73 |ol%=&40743.... s| 000011b0 70 6f 70 25 3d 26 32 45 0d 00 cc 15 20 66 69 6e |pop%=&2E.... fin| 000011c0 64 66 6f 6e 74 25 3d 26 34 30 30 38 31 0d 00 cd |dfont%=&40081...| 000011d0 15 20 6c 6f 73 65 66 6f 6e 74 25 3d 26 34 30 30 |. losefont%=&400| 000011e0 38 32 0d 00 ce 15 20 66 6f 6e 74 69 6e 66 6f 25 |82.... fontinfo%| 000011f0 3d 26 34 30 30 38 34 0d 00 cf 18 20 73 74 72 69 |=&40084.... stri| 00001200 6e 67 77 69 64 74 68 25 3d 26 34 30 30 38 35 0d |ngwidth%=&40085.| 00001210 00 d0 14 20 73 65 74 66 6f 6e 74 25 3d 26 34 30 |... setfont%=&40| 00001220 30 38 41 0d 00 d1 18 20 63 75 72 72 65 6e 74 66 |08A.... currentf| 00001230 6f 6e 74 25 3d 26 34 30 30 38 42 0d 00 d2 18 20 |ont%=&4008B.... | 00001240 63 6f 6e 76 65 72 74 74 6f 6f 73 25 3d 26 34 30 |converttoos%=&40| 00001250 30 38 38 0d 00 d3 1c 20 63 6f 6e 76 65 72 74 74 |088.... convertt| 00001260 6f 70 6f 69 6e 74 73 25 3d 26 34 30 30 38 39 0d |opoints%=&40089.| 00001270 00 d4 12 20 70 61 69 6e 74 25 3d 26 34 30 30 38 |... paint%=&4008| 00001280 36 0d 00 d5 16 20 66 69 6e 64 63 61 72 65 74 25 |6.... findcaret%| 00001290 3d 26 34 30 30 38 44 0d 00 d6 15 20 63 68 61 72 |=&4008D.... char| 000012a0 62 62 6f 78 25 3d 26 34 30 30 38 45 0d 00 d7 04 |bbox%=&4008E....| 000012b0 0d 00 d8 13 20 55 62 61 73 65 25 3d 26 31 43 30 |.... Ubase%=&1C0| 000012c0 31 30 30 0d 00 d9 14 20 6e 65 77 66 69 6c 65 25 |100.... newfile%| 000012d0 3d 55 62 61 73 65 25 0d 00 da 17 20 6e 65 77 73 |=Ubase%.... news| 000012e0 74 61 63 6b 25 3d 55 62 61 73 65 25 2b 31 0d 00 |tack%=Ubase%+1..| 000012f0 db 18 20 6b 69 6c 6c 73 74 61 63 6b 25 3d 55 62 |.. killstack%=Ub| 00001300 61 73 65 25 2b 32 0d 00 dc 17 20 61 64 64 65 6e |ase%+2.... adden| 00001310 74 72 79 25 3d 55 62 61 73 65 25 2b 33 0d 00 dd |try%=Ubase%+3...| 00001320 19 20 61 6d 65 6e 64 65 6e 74 72 79 25 3d 55 62 |. amendentry%=Ub| 00001330 61 73 65 25 2b 34 0d 00 de 18 20 66 69 6e 64 74 |ase%+4.... findt| 00001340 6f 6b 65 6e 25 3d 55 62 61 73 65 25 2b 35 0d 00 |oken%=Ubase%+5..| 00001350 df 18 20 6b 69 6c 6c 65 6e 74 72 79 25 3d 55 62 |.. killentry%=Ub| 00001360 61 73 65 25 2b 36 0d 00 e0 17 20 6d 6f 76 65 64 |ase%+6.... moved| 00001370 61 74 61 25 3d 55 62 61 73 65 25 2b 37 0d 00 e1 |ata%=Ubase%+7...| 00001380 18 20 61 64 64 70 61 63 6b 65 64 25 3d 55 62 61 |. addpacked%=Uba| 00001390 73 65 25 2b 38 0d 00 e2 17 20 67 65 74 65 6e 74 |se%+8.... getent| 000013a0 72 79 25 3d 55 62 61 73 65 25 2b 39 0d 00 e3 1c |ry%=Ubase%+9....| 000013b0 20 75 6e 70 61 63 6b 73 70 72 69 74 65 25 3d 55 | unpacksprite%=U| 000013c0 62 61 73 65 25 2b 31 30 0d 00 e4 18 20 6e 65 6e |base%+10.... nen| 000013d0 74 72 69 65 73 25 3d 55 62 61 73 65 25 2b 31 31 |tries%=Ubase%+11| 000013e0 0d 00 e5 19 20 6d 6f 76 65 74 6f 65 6e 64 25 3d |.... movetoend%=| 000013f0 55 62 61 73 65 25 2b 31 32 0d 00 e6 1a 20 72 65 |Ubase%+12.... re| 00001400 61 64 73 74 61 74 75 73 25 3d 55 62 61 73 65 25 |adstatus%=Ubase%| 00001410 2b 31 33 0d 00 e7 1b 20 77 72 69 74 65 73 74 61 |+13.... writesta| 00001420 74 75 73 25 3d 55 62 61 73 65 25 2b 31 34 0d 00 |tus%=Ubase%+14..| 00001430 e8 1b 20 72 65 6e 64 65 72 73 68 61 70 65 25 3d |.. rendershape%=| 00001440 55 62 61 73 65 25 2b 31 35 0d 00 e9 16 20 67 65 |Ubase%+15.... ge| 00001450 74 6e 74 68 25 3d 55 62 61 73 65 25 2b 31 37 0d |tnth%=Ubase%+17.| 00001460 00 ea 1a 20 6c 6f 63 61 74 65 66 69 6c 65 25 3d |... locatefile%=| 00001470 55 62 61 73 65 25 2b 31 39 0d 00 eb 19 20 70 6c |Ubase%+19.... pl| 00001480 61 79 73 6f 75 6e 64 25 3d 55 62 61 73 65 25 2b |aysound%=Ubase%+| 00001490 32 30 0d 00 ec 04 0d 00 ed 0f 20 50 44 25 3d 26 |20........ PD%=&| 000014a0 38 30 31 34 30 0d 00 ee 14 20 50 44 73 65 6c 65 |80140.... PDsele| 000014b0 63 74 25 3d 50 44 25 2b 35 0d 00 ef 13 20 50 44 |ct%=PD%+5.... PD| 000014c0 61 62 6f 72 74 25 3d 50 44 25 2b 39 0d 00 f0 16 |abort%=PD%+9....| 000014d0 20 50 44 70 61 67 65 73 69 7a 65 25 3d 50 44 25 | PDpagesize%=PD%| 000014e0 2b 33 0d 00 f1 16 20 50 44 67 69 76 65 72 65 63 |+3.... PDgiverec| 000014f0 25 3d 50 44 25 2b 31 31 0d 00 f2 17 20 50 44 64 |%=PD%+11.... PDd| 00001500 72 61 77 70 61 67 65 25 3d 50 44 25 2b 31 32 0d |rawpage%=PD%+12.| 00001510 00 f3 15 20 50 44 67 65 74 72 65 63 25 3d 50 44 |... PDgetrec%=PD| 00001520 25 2b 31 33 0d 00 f4 14 20 50 44 65 6e 64 6a 6f |%+13.... PDendjo| 00001530 62 25 3d 50 44 25 2b 38 0d 00 f5 04 0d 00 f6 08 |b%=PD%+8........| 00001540 20 ea 20 85 0d 00 f7 0c 20 ee 20 85 20 ea 20 e1 | . ..... . . . .| 00001550 0d 00 f8 26 20 c8 99 20 22 4f 53 5f 4d 6f 64 75 |...& .. "OS_Modu| 00001560 6c 65 22 2c 31 34 2c 22 55 62 61 73 65 25 55 6c |le",14,"Ubase%Ul| 00001570 74 69 6d 61 70 22 0d 00 f9 06 20 e1 0d 00 fa 04 |timap".... .....| 00001580 0d 00 fb 12 dd 20 f2 67 65 74 5f 70 6f 69 6e 74 |..... .get_point| 00001590 65 72 0d 00 fc 10 c8 99 20 67 65 74 70 25 2c 2c |er...... getp%,,| 000015a0 71 25 0d 00 fd 48 6d 6f 75 73 65 78 25 3d 21 71 |q%...Hmousex%=!q| 000015b0 25 3a 6d 6f 75 73 65 79 25 3d 71 25 21 34 3a 62 |%:mousey%=q%!4:b| 000015c0 25 3d 71 25 21 38 3a 68 61 6e 64 6c 65 25 3d 71 |%=q%!8:handle%=q| 000015d0 25 21 31 32 3a 69 63 6f 6e 25 3d 71 25 21 31 36 |%!12:icon%=q%!16| 000015e0 3a 6f 62 25 3d 71 25 21 32 30 0d 00 fe 05 e1 0d |:ob%=q%!20......| 000015f0 00 ff 04 0d 01 00 0f dd 20 f2 65 72 72 6f 72 62 |........ .errorb| 00001600 6f 78 0d 01 01 13 f4 20 53 59 53 20 64 72 61 67 |ox..... SYS drag| 00001610 25 2c 2c 2d 31 0d 01 02 34 21 65 72 72 62 6c 6b |%,,-1...4!errblk| 00001620 25 3d 9f 3a 74 24 3d f6 24 3a 74 24 3d 22 28 22 |%=.:t$=.$:t$="("| 00001630 2b c3 9f 2b 22 29 22 2b 74 24 2b 22 20 61 74 20 |+..+")"+t$+" at | 00001640 6c 69 6e 65 20 22 2b c3 9e 0d 01 03 16 24 28 65 |line "+......$(e| 00001650 72 72 62 6c 6b 25 2b 34 29 3d 74 24 2b bd 30 0d |rrblk%+4)=t$+.0.| 00001660 01 04 2d c8 99 20 22 57 69 6d 70 5f 52 65 70 6f |..-.. "Wimp_Repo| 00001670 72 74 45 72 72 6f 72 22 2c 65 72 72 62 6c 6b 25 |rtError",errblk%| 00001680 2c 31 2c 22 55 6c 74 69 6d 61 70 22 0d 01 05 14 |,1,"Ultimap"....| 00001690 e7 20 9f 3c 3e 31 20 f2 66 69 6e 69 73 68 3a e0 |. .<>1 .finish:.| 000016a0 0d 01 06 3d f4 20 49 46 20 70 72 69 6e 74 69 6e |...=. IF printin| 000016b0 67 25 20 70 72 69 6e 74 69 6e 67 25 3d 46 41 4c |g% printing%=FAL| 000016c0 53 45 3a 50 52 4f 43 63 6c 6f 73 65 5f 77 69 6e |SE:PROCclose_win| 000016d0 64 6f 77 28 70 72 69 6e 74 5f 77 25 29 0d 01 07 |dow(print_w%)...| 000016e0 05 e1 0d 01 08 05 3b 0d 01 09 0e 20 dd a4 69 63 |......;.... ..ic| 000016f0 6f 6e 62 61 72 0d 01 0a 2b 20 21 71 25 3d 2d 31 |onbar...+ !q%=-1| 00001700 3a 71 25 21 34 3d 30 3a 71 25 21 38 3d 30 3a 71 |:q%!4=0:q%!8=0:q| 00001710 25 21 31 32 3d 36 34 3a 71 25 21 31 36 3d 36 34 |%!12=64:q%!16=64| 00001720 0d 01 0b 10 20 71 25 21 32 30 3d 26 33 30 30 41 |.... q%!20=&300A| 00001730 0d 01 0c 1f 20 f2 73 74 72 69 6e 67 30 28 71 25 |.... .string0(q%| 00001740 2b 32 34 2c 61 70 70 73 70 72 69 74 65 24 29 0d |+24,appsprite$).| 00001750 01 0d 27 20 c8 99 20 22 57 69 6d 70 5f 43 72 65 |..' .. "Wimp_Cre| 00001760 61 74 65 49 63 6f 6e 22 2c 2c 71 25 20 b8 20 68 |ateIcon",,q% . h| 00001770 61 6e 64 6c 65 25 0d 01 0e 0d 20 3d 68 61 6e 64 |andle%.... =hand| 00001780 6c 65 25 0d 01 0f 05 3b 0d 01 10 15 20 dd f2 73 |le%....;.... ..s| 00001790 65 74 5f 69 63 6f 6e 5f 66 6f 6e 74 73 0d 01 11 |et_icon_fonts...| 000017a0 31 20 c8 99 20 66 69 6e 64 66 6f 6e 74 25 2c 2c |1 .. findfont%,,| 000017b0 69 63 6f 6e 5f 66 6f 6e 74 24 2c 31 32 2a 31 36 |icon_font$,12*16| 000017c0 2c 31 32 2a 31 36 20 b8 20 66 6f 6e 74 25 0d 01 |,12*16 . font%..| 000017d0 12 2e 20 c8 99 20 22 57 69 6d 70 5f 57 68 69 63 |.. .. "Wimp_Whic| 000017e0 68 49 63 6f 6e 22 2c 70 72 69 6e 74 5f 77 25 2c |hIcon",print_w%,| 000017f0 71 25 2c 31 3c 3c 36 2c 31 3c 3c 36 0d 01 13 3c |q%,1<<6,1<<6...<| 00001800 20 74 25 3d 30 3a f5 3a f2 69 63 6f 6e 5f 66 6f | t%=0:.:.icon_fo| 00001810 6e 74 28 70 72 69 6e 74 5f 77 25 2c 74 25 21 71 |nt(print_w%,t%!q| 00001820 25 2c 66 6f 6e 74 25 29 3a 74 25 2b 3d 34 3a fd |%,font%):t%+=4:.| 00001830 74 25 21 71 25 3d 2d 31 0d 01 14 06 20 e1 0d 01 |t%!q%=-1.... ...| 00001840 15 04 0d 01 16 25 20 dd f2 69 63 6f 6e 5f 66 6f |.....% ..icon_fo| 00001850 6e 74 28 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 |nt(window%,icon%| 00001860 2c 66 6f 6e 74 25 29 0d 01 17 25 20 21 65 72 72 |,font%)...% !err| 00001870 62 6c 6b 25 3d 77 69 6e 64 6f 77 25 3a 65 72 72 |blk%=window%:err| 00001880 62 6c 6b 25 21 34 3d 69 63 6f 6e 25 0d 01 18 2d |blk%!4=icon%...-| 00001890 20 65 72 72 62 6c 6b 25 21 31 32 3d 26 46 46 30 | errblk%!12=&FF0| 000018a0 30 30 30 30 30 3a 65 72 72 62 6c 6b 25 21 38 3d |00000:errblk%!8=| 000018b0 66 6f 6e 74 25 3c 3c 32 34 0d 01 19 19 20 66 6f |font%<<24.... fo| 000018c0 6e 74 25 3f 66 6f 6e 74 5f 61 72 72 61 79 25 2b |nt%?font_array%+| 000018d0 3d 31 0d 01 1a 16 20 c8 99 20 73 65 74 69 25 2c |=1.... .. seti%,| 000018e0 2c 65 72 72 62 6c 6b 25 0d 01 1b 06 20 e1 0d 01 |,errblk%.... ...| 000018f0 1c 04 0d 01 1d 11 20 dd f2 6c 6f 73 65 5f 66 6f |...... ..lose_fo| 00001900 6e 74 73 0d 01 1e 31 20 e3 41 25 3d 30 b8 32 35 |nts...1 .A%=0.25| 00001910 35 3a 6e 25 3d 41 25 3f 66 6f 6e 74 5f 61 72 72 |5:n%=A%?font_arr| 00001920 61 79 25 3a 41 25 3f 66 6f 6e 74 5f 61 72 72 61 |ay%:A%?font_arra| 00001930 79 25 3d 30 0d 01 1f 27 20 e7 20 6e 25 3e 30 20 |y%=0...' . n%>0 | 00001940 e3 20 42 25 3d 31 b8 6e 25 3a c8 99 20 6c 6f 73 |. B%=1.n%:.. los| 00001950 65 66 6f 6e 74 25 2c 41 25 3a ed 0d 01 20 08 20 |efont%,A%:... . | 00001960 ed 3a e1 0d 01 21 04 0d 01 22 14 20 dd f2 67 65 |.:...!...". ..ge| 00001970 74 5f 6d 6f 64 65 5f 69 6e 66 6f 0d 01 23 29 20 |t_mode_info..#) | 00001980 c8 99 20 22 57 69 6d 70 5f 52 65 61 64 50 61 6c |.. "Wimp_ReadPal| 00001990 65 74 74 65 22 2c 2c 77 69 6d 70 5f 70 61 6c 65 |ette",,wimp_pale| 000019a0 74 74 65 25 0d 01 24 2b 20 c8 99 20 22 4f 53 5f |tte%..$+ .. "OS_| 000019b0 52 65 61 64 4d 6f 64 65 56 61 72 69 61 62 6c 65 |ReadModeVariable| 000019c0 22 2c 2d 31 2c 34 20 b8 20 2c 2c 78 65 66 25 0d |",-1,4 . ,,xef%.| 000019d0 01 25 2b 20 c8 99 20 22 4f 53 5f 52 65 61 64 4d |.%+ .. "OS_ReadM| 000019e0 6f 64 65 56 61 72 69 61 62 6c 65 22 2c 2d 31 2c |odeVariable",-1,| 000019f0 35 20 b8 20 2c 2c 79 65 66 25 0d 01 26 35 20 c8 |5 . ,,yef%..&5 .| 00001a00 99 20 22 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 |. "OS_ReadModeVa| 00001a10 72 69 61 62 6c 65 22 2c 2d 31 2c 31 31 20 b8 20 |riable",-1,11 . | 00001a20 2c 2c 73 63 72 65 65 6e 5f 77 69 64 74 68 25 0d |,,screen_width%.| 00001a30 01 27 36 20 c8 99 20 22 4f 53 5f 52 65 61 64 4d |.'6 .. "OS_ReadM| 00001a40 6f 64 65 56 61 72 69 61 62 6c 65 22 2c 2d 31 2c |odeVariable",-1,| 00001a50 31 32 20 b8 20 2c 2c 73 63 72 65 65 6e 5f 68 65 |12 . ,,screen_he| 00001a60 69 67 68 74 25 0d 01 28 4a 20 73 63 72 65 65 6e |ight%..(J screen| 00001a70 5f 77 69 64 74 68 25 3d 73 63 72 65 65 6e 5f 77 |_width%=screen_w| 00001a80 69 64 74 68 25 3c 3c 78 65 66 25 3a 73 63 72 65 |idth%<<xef%:scre| 00001a90 65 6e 5f 68 65 69 67 68 74 25 3d 73 63 72 65 65 |en_height%=scree| 00001aa0 6e 5f 68 65 69 67 68 74 25 3c 3c 79 65 66 25 0d |n_height%<<yef%.| 00001ab0 01 29 06 20 e1 0d 01 2a 04 0d 01 2b 26 20 dd f2 |.). ...*...+& ..| 00001ac0 73 74 61 72 74 5f 64 72 61 67 28 74 79 70 65 25 |start_drag(type%| 00001ad0 2c 78 25 2c 79 25 2c 78 31 25 2c 79 31 25 29 0d |,x%,y%,x1%,y1%).| 00001ae0 01 2c 11 20 21 71 25 3d 30 3a 71 25 21 34 3d 35 |.,. !q%=0:q%!4=5| 00001af0 0d 01 2d 29 20 71 25 21 38 3d 78 25 3a 71 25 21 |..-) q%!8=x%:q%!| 00001b00 31 32 3d 79 25 3a 71 25 21 31 36 3d 78 31 25 3a |12=y%:q%!16=x1%:| 00001b10 71 25 21 32 30 3d 79 31 25 0d 01 2e 3d 20 71 25 |q%!20=y1%...= q%| 00001b20 21 32 34 3d 30 3a 71 25 21 32 38 3d 30 3a 71 25 |!24=0:q%!28=0:q%| 00001b30 21 33 32 3d 73 63 72 65 65 6e 5f 77 69 64 74 68 |!32=screen_width| 00001b40 25 3a 71 25 21 33 36 3d 73 63 72 65 65 6e 5f 68 |%:q%!36=screen_h| 00001b50 65 69 67 68 74 25 0d 01 2f 11 20 c8 99 20 64 72 |eight%../. .. dr| 00001b60 61 67 25 2c 2c 71 25 0d 01 30 15 20 64 72 61 67 |ag%,,q%..0. drag| 00001b70 5f 74 79 70 65 25 3d 74 79 70 65 25 0d 01 31 06 |_type%=type%..1.| 00001b80 20 e1 0d 01 32 04 0d 01 33 6d f4 2d 2d 2d 2d 2d | ...2...3m.-----| 00001b90 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001bf0 2d 2d 2d 0d 01 34 04 0d 01 35 2a 20 dd a4 73 74 |---..4...5* ..st| 00001c00 72 69 6e 67 30 28 74 25 29 3a ea 20 74 24 3a 74 |ring0(t%):. t$:t| 00001c10 24 3d 22 22 3a e7 20 3f 74 25 3c 33 32 3a 3d 22 |$="":. ?t%<32:="| 00001c20 22 0d 01 36 2d 20 f5 3a 74 24 3d 74 24 2b bd 3f |"..6- .:t$=t$+.?| 00001c30 74 25 3a 74 25 2b 3d 31 3a fd 3f 74 25 3c 33 32 |t%:t%+=1:.?t%<32| 00001c40 20 84 20 a9 74 24 3d 32 35 35 3a 3d 74 24 0d 01 | . .t$=255:=t$..| 00001c50 37 04 0d 01 38 27 20 dd f2 73 74 72 69 6e 67 30 |7...8' ..string0| 00001c60 28 74 25 2c 74 24 29 3a 24 74 25 3d 74 24 3a 74 |(t%,t$):$t%=t$:t| 00001c70 25 3f a9 74 24 3d 30 3a e1 0d 01 39 04 0d 01 3a |%?.t$=0:...9...:| 00001c80 6d f4 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |m.--------------| 00001c90 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001ce0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 01 3b 04 0d 01 |----------..;...| 00001cf0 3c 18 20 dd f2 63 68 65 63 6b 5f 70 61 67 65 6c |<. ..check_pagel| 00001d00 69 73 74 5f 77 63 0d 01 3d 0e 20 62 75 74 25 3d |ist_wc..=. but%=| 00001d10 71 25 21 38 0d 01 3e 24 20 21 77 73 25 3d 70 61 |q%!8..>$ !ws%=pa| 00001d20 67 65 6c 69 73 74 5f 77 63 25 3a c8 99 20 67 65 |gelist_wc%:.. ge| 00001d30 74 77 25 2c 2c 77 73 25 0d 01 3f 2f 20 6f 66 66 |tw%,,ws%..?/ off| 00001d40 78 25 3d 28 77 73 25 21 34 2d 77 73 25 21 32 30 |x%=(ws%!4-ws%!20| 00001d50 29 3a 6f 66 66 79 25 3d 28 77 73 25 21 31 36 2d |):offy%=(ws%!16-| 00001d60 77 73 25 21 32 34 29 0d 01 40 21 20 70 61 67 65 |ws%!24)..@! page| 00001d70 25 3d 28 28 28 71 25 21 34 29 2d 6f 66 66 79 25 |%=(((q%!4)-offy%| 00001d80 29 81 2d 34 38 29 2b 31 0d 01 41 2e 20 c8 99 20 |).-48)+1..A. .. | 00001d90 6e 65 6e 74 72 69 65 73 25 2c 73 5f 70 61 67 65 |nentries%,s_page| 00001da0 73 25 20 b8 20 6e 70 25 3a e7 20 70 61 67 65 25 |s% . np%:. page%| 00001db0 3e 6e 70 25 20 e1 0d 01 42 27 20 c8 99 20 67 65 |>np% ...B' .. ge| 00001dc0 74 6e 74 68 25 2c 73 5f 70 61 67 65 73 25 2c 70 |tnth%,s_pages%,p| 00001dd0 61 67 65 25 20 b8 20 2c 70 61 67 65 25 0d 01 43 |age% . ,page%..C| 00001de0 18 20 63 75 72 72 65 6e 74 5f 70 61 67 65 25 3d |. current_page%=| 00001df0 70 61 67 65 25 0d 01 44 20 20 f2 61 72 72 61 6e |page%..D .arran| 00001e00 67 65 5f 70 61 67 65 6c 69 73 74 5f 77 63 28 70 |ge_pagelist_wc(p| 00001e10 61 67 65 25 29 0d 01 45 11 20 f2 70 72 65 5f 70 |age%)..E. .pre_p| 00001e20 72 6f 63 65 73 73 0d 01 46 16 20 f2 73 68 6f 77 |rocess..F. .show| 00001e30 5f 70 61 67 65 28 70 61 67 65 25 29 0d 01 47 16 |_page(page%)..G.| 00001e40 20 e7 20 73 63 61 6e 6e 69 6e 67 25 20 f2 73 63 | . scanning% .sc| 00001e50 61 6e 0d 01 48 20 20 e7 20 62 75 74 25 80 34 20 |an..H . but%.4 | 00001e60 c8 99 20 63 72 65 61 74 65 6d 65 6e 75 25 2c 2c |.. createmenu%,,| 00001e70 2d 31 0d 01 49 06 20 e1 0d 01 4a 04 0d 01 4b 17 |-1..I. ...J...K.| 00001e80 20 dd f2 73 68 6f 77 5f 70 61 67 65 28 70 61 67 | ..show_page(pag| 00001e90 65 25 29 0d 01 4c 18 20 63 75 72 72 65 6e 74 5f |e%)..L. current_| 00001ea0 70 61 67 65 25 3d 70 61 67 65 25 0d 01 4d 1d 20 |page%=page%..M. | 00001eb0 21 71 25 3d 6d 61 69 6e 5f 77 25 3a c8 99 20 67 |!q%=main_w%:.. g| 00001ec0 65 74 77 25 2c 2c 71 25 0d 01 4e 41 20 e7 20 28 |etw%,,q%..NA . (| 00001ed0 71 25 21 33 32 29 20 80 20 28 31 3c 3c 31 36 29 |q%!32) . (1<<16)| 00001ee0 20 c8 99 20 66 6f 72 63 65 72 65 64 72 61 77 25 | .. forceredraw%| 00001ef0 2c 2d 31 2c 71 25 21 34 2c 71 25 21 38 2c 71 25 |,-1,q%!4,q%!8,q%| 00001f00 21 31 32 2c 71 25 21 31 36 0d 01 4f 26 20 f2 77 |!12,q%!16..O& .w| 00001f10 69 6e 64 6f 77 5f 74 69 74 6c 65 28 6d 61 69 6e |indow_title(main| 00001f20 5f 77 25 2c 66 75 6c 6c 5f 6e 61 6d 65 24 29 0d |_w%,full_name$).| 00001f30 01 50 27 20 c8 99 20 67 65 74 65 6e 74 72 79 25 |.P' .. getentry%| 00001f40 2c 73 5f 70 61 67 65 73 25 2c 70 61 67 65 25 20 |,s_pages%,page% | 00001f50 b8 20 61 64 72 25 0d 01 51 23 20 63 75 72 72 65 |. adr%..Q# curre| 00001f60 6e 74 5f 70 61 67 65 24 3d a4 73 74 72 69 6e 67 |nt_page$=.string| 00001f70 30 28 61 64 72 25 2b 34 29 0d 01 52 21 20 ff 20 |0(adr%+4)..R! . | 00001f80 22 73 65 74 20 55 70 61 67 65 20 22 2b 63 75 72 |"set Upage "+cur| 00001f90 72 65 6e 74 5f 70 61 67 65 24 0d 01 53 06 20 e1 |rent_page$..S. .| 00001fa0 0d 01 54 04 0d 01 55 24 20 dd f2 75 70 64 61 74 |..T...U$ ..updat| 00001fb0 65 5f 6f 62 6a 65 63 74 28 73 74 61 63 6b 25 2c |e_object(stack%,| 00001fc0 6f 62 6a 65 63 74 25 29 0d 01 56 0b 20 ea 20 61 |object%)..V. . a| 00001fd0 64 72 25 0d 01 57 27 20 c8 99 20 67 65 74 65 6e |dr%..W' .. geten| 00001fe0 74 72 79 25 2c 73 74 61 63 6b 25 2c 6f 62 6a 65 |try%,stack%,obje| 00001ff0 63 74 25 20 b8 20 61 64 72 25 0d 01 58 3c 20 c8 |ct% . adr%..X< .| 00002000 99 20 66 6f 72 63 65 72 65 64 72 61 77 25 2c 6d |. forceredraw%,m| 00002010 61 69 6e 5f 77 25 2c 61 64 72 25 21 31 32 2c 61 |ain_w%,adr%!12,a| 00002020 64 72 25 21 31 36 2c 61 64 72 25 21 32 30 2c 61 |dr%!16,adr%!20,a| 00002030 64 72 25 21 32 34 0d 01 59 06 20 e1 0d 01 5a 04 |dr%!24..Y. ...Z.| 00002040 0d 01 5b 30 20 dd f2 73 65 74 5f 69 63 6f 6e 5f |..[0 ..set_icon_| 00002050 73 74 61 74 65 28 77 69 6e 64 6f 77 25 2c 69 63 |state(window%,ic| 00002060 6f 6e 25 2c 65 6f 72 25 2c 63 6c 65 61 72 25 29 |on%,eor%,clear%)| 00002070 0d 01 5c 58 20 21 65 72 72 62 6c 6b 25 3d 77 69 |..\X !errblk%=wi| 00002080 6e 64 6f 77 25 3a 65 72 72 62 6c 6b 25 21 34 3d |ndow%:errblk%!4=| 00002090 69 63 6f 6e 25 3a 65 72 72 62 6c 6b 25 21 38 3d |icon%:errblk%!8=| 000020a0 65 6f 72 25 3a 65 72 72 62 6c 6b 25 21 31 32 3d |eor%:errblk%!12=| 000020b0 63 6c 65 61 72 25 3a c8 99 20 73 65 74 69 25 2c |clear%:.. seti%,| 000020c0 2c 65 72 72 62 6c 6b 25 0d 01 5d 06 20 e1 0d 01 |,errblk%..]. ...| 000020d0 5e 04 0d 01 5f 20 20 dd a4 69 63 6f 6e 5f 73 74 |^..._ ..icon_st| 000020e0 61 74 65 28 77 69 6e 64 6f 77 25 2c 69 63 6f 6e |ate(window%,icon| 000020f0 25 29 0d 01 60 43 20 21 65 72 72 62 6c 6b 25 3d |%)..`C !errblk%=| 00002100 77 69 6e 64 6f 77 25 3a 65 72 72 62 6c 6b 25 21 |window%:errblk%!| 00002110 34 3d 69 63 6f 6e 25 3a c8 99 20 67 65 74 69 25 |4=icon%:.. geti%| 00002120 2c 2c 65 72 72 62 6c 6b 25 3a 3d 65 72 72 62 6c |,,errblk%:=errbl| 00002130 6b 25 21 32 34 0d 01 61 04 0d 01 62 2a 20 dd 20 |k%!24..a...b* . | 00002140 f2 73 65 74 5f 69 63 6f 6e 5f 74 65 78 74 28 77 |.set_icon_text(w| 00002150 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 2c 74 65 78 |indow%,icon%,tex| 00002160 74 24 29 0d 01 63 37 20 21 65 72 72 62 6c 6b 25 |t$)..c7 !errblk%| 00002170 3d 77 69 6e 64 6f 77 25 3a 65 72 72 62 6c 6b 25 |=window%:errblk%| 00002180 21 34 3d 69 63 6f 6e 25 3a c8 99 20 67 65 74 69 |!4=icon%:.. geti| 00002190 25 2c 2c 65 72 72 62 6c 6b 25 0d 01 64 30 20 f2 |%,,errblk%..d0 .| 000021a0 73 74 72 69 6e 67 30 28 65 72 72 62 6c 6b 25 21 |string0(errblk%!| 000021b0 32 38 2c c0 74 65 78 74 24 2c 28 65 72 72 62 6c |28,.text$,(errbl| 000021c0 6b 25 21 33 36 29 2d 31 29 29 0d 01 65 2f 20 65 |k%!36)-1))..e/ e| 000021d0 72 72 62 6c 6b 25 21 38 3d 30 3a 65 72 72 62 6c |rrblk%!8=0:errbl| 000021e0 6b 25 21 31 32 3d 30 3a c8 99 20 73 65 74 69 25 |k%!12=0:.. seti%| 000021f0 2c 2c 65 72 72 62 6c 6b 25 0d 01 66 06 20 e1 0d |,,errblk%..f. ..| 00002200 01 67 04 0d 01 68 29 20 dd a4 6c 65 61 66 28 6e |.g...h) ..leaf(n| 00002210 61 6d 65 24 29 3a e7 20 a7 6e 61 6d 65 24 2c 22 |ame$):. .name$,"| 00002220 2e 22 29 3d 30 3a 3d 6e 61 6d 65 24 0d 01 69 26 |.")=0:=name$..i&| 00002230 20 f5 6e 61 6d 65 24 3d c2 6e 61 6d 65 24 2c a9 | .name$=.name$,.| 00002240 6e 61 6d 65 24 2d a7 6e 61 6d 65 24 2c 22 2e 22 |name$-.name$,"."| 00002250 29 29 0d 01 6a 1a 20 fd a7 6e 61 6d 65 24 2c 22 |))..j. ..name$,"| 00002260 2e 22 29 3d 30 3a 3d 6e 61 6d 65 24 0d 01 6b 04 |.")=0:=name$..k.| 00002270 0d 01 6c 26 20 dd f2 73 74 61 72 74 5f 64 72 61 |..l& ..start_dra| 00002280 67 28 74 79 70 65 25 2c 78 25 2c 79 25 2c 78 31 |g(type%,x%,y%,x1| 00002290 25 2c 79 31 25 29 0d 01 6d 11 20 21 71 25 3d 30 |%,y1%)..m. !q%=0| 000022a0 3a 71 25 21 34 3d 35 0d 01 6e 29 20 71 25 21 38 |:q%!4=5..n) q%!8| 000022b0 3d 78 25 3a 71 25 21 31 32 3d 79 25 3a 71 25 21 |=x%:q%!12=y%:q%!| 000022c0 31 36 3d 78 31 25 3a 71 25 21 32 30 3d 79 31 25 |16=x1%:q%!20=y1%| 000022d0 0d 01 6f 3d 20 71 25 21 32 34 3d 30 3a 71 25 21 |..o= q%!24=0:q%!| 000022e0 32 38 3d 30 3a 71 25 21 33 32 3d 73 63 72 65 65 |28=0:q%!32=scree| 000022f0 6e 5f 77 69 64 74 68 25 3a 71 25 21 33 36 3d 73 |n_width%:q%!36=s| 00002300 63 72 65 65 6e 5f 68 65 69 67 68 74 25 0d 01 70 |creen_height%..p| 00002310 11 20 c8 99 20 64 72 61 67 25 2c 2c 71 25 0d 01 |. .. drag%,,q%..| 00002320 71 15 20 64 72 61 67 5f 74 79 70 65 25 3d 74 79 |q. drag_type%=ty| 00002330 70 65 25 0d 01 72 06 20 e1 0d 01 73 04 0d 01 74 |pe%..r. ...s...t| 00002340 0f 20 dd f2 72 61 6d 66 65 74 63 68 0d 01 75 12 |. ..ramfetch..u.| 00002350 20 44 4d 54 5f 72 65 66 25 3d 71 25 21 34 0d 01 | DMT_ref%=q%!4..| 00002360 76 0f 20 44 4d 54 25 3d 71 25 21 32 30 0d 01 77 |v. DMT%=q%!20..w| 00002370 13 20 44 4d 54 5f 6c 65 6e 25 3d 71 25 21 32 34 |. DMT_len%=q%!24| 00002380 0d 01 78 14 20 c8 8e 20 66 69 6c 65 5f 74 79 70 |..x. .. file_typ| 00002390 65 25 20 ca 0d 01 79 3e 20 20 20 c9 20 26 41 46 |e% ...y> . &AF| 000023a0 46 2c 26 46 46 39 3a f2 73 61 76 65 5f 70 69 63 |F,&FF9:.save_pic| 000023b0 74 75 72 65 28 64 72 61 67 5f 70 74 79 70 65 25 |ture(drag_ptype%| 000023c0 2c 64 72 61 67 5f 70 69 63 74 75 72 65 25 2c 22 |,drag_picture%,"| 000023d0 22 29 0d 01 7a 2a 20 20 20 c9 20 26 46 46 46 3a |")..z* . &FFF:| 000023e0 f2 73 61 76 65 5f 74 65 78 74 28 64 72 61 67 5f |.save_text(drag_| 000023f0 70 69 63 74 75 72 65 25 2c 22 22 29 0d 01 7b 29 |picture%,"")..{)| 00002400 20 20 20 c9 20 26 44 33 43 3a f2 73 61 76 65 5f | . &D3C:.save_| 00002410 73 6f 75 6e 64 28 64 72 61 67 5f 73 6f 75 6e 64 |sound(drag_sound| 00002420 25 2c 22 22 29 0d 01 7c 06 20 cb 0d 01 7d 06 20 |%,"")..|. ...}. | 00002430 e1 0d 01 7e 04 0d 01 7f 12 20 dd f2 64 61 74 61 |...~..... ..data| 00002440 73 61 76 65 61 63 6b 0d 01 80 16 20 e7 20 71 25 |saveack.... . q%| 00002450 21 31 32 3c 3e 6d 79 72 65 66 25 20 e1 0d 01 81 |!12<>myref% ....| 00002460 0b 20 44 4d 54 25 3d 30 0d 01 82 12 20 66 5f 74 |. DMT%=0.... f_t| 00002470 79 70 65 25 3d 71 25 21 34 30 0d 01 83 11 20 c8 |ype%=q%!40.... .| 00002480 8e 20 66 5f 74 79 70 65 25 20 ca 0d 01 84 4b 20 |. f_type% ....K | 00002490 20 20 c9 20 26 41 46 46 2c 26 46 46 39 3a f2 73 | . &AFF,&FF9:.s| 000024a0 61 76 65 5f 70 69 63 74 75 72 65 28 64 72 61 67 |ave_picture(drag| 000024b0 5f 70 74 79 70 65 25 2c 64 72 61 67 5f 70 69 63 |_ptype%,drag_pic| 000024c0 74 75 72 65 25 2c a4 73 74 72 69 6e 67 30 28 71 |ture%,.string0(q| 000024d0 25 2b 34 34 29 29 0d 01 85 36 20 20 20 c9 20 26 |%+44))...6 . &| 000024e0 44 33 43 3a f2 73 61 76 65 5f 73 6f 75 6e 64 28 |D3C:.save_sound(| 000024f0 64 72 61 67 5f 73 6f 75 6e 64 25 2c a4 73 74 72 |drag_sound%,.str| 00002500 69 6e 67 30 28 71 25 2b 34 34 29 29 0d 01 86 37 |ing0(q%+44))...7| 00002510 20 20 20 c9 20 26 46 46 46 3a f2 73 61 76 65 5f | . &FFF:.save_| 00002520 74 65 78 74 28 64 72 61 67 5f 70 69 63 74 75 72 |text(drag_pictur| 00002530 65 25 2c a4 73 74 72 69 6e 67 30 28 71 25 2b 34 |e%,.string0(q%+4| 00002540 34 29 29 0d 01 87 06 20 cb 0d 01 88 17 20 71 25 |4)).... ..... q%| 00002550 21 31 32 3d 71 25 21 38 3a 71 25 21 31 36 3d 33 |!12=q%!8:q%!16=3| 00002560 0d 01 89 1f 20 c8 99 20 73 65 6e 64 6d 65 73 73 |.... .. sendmess| 00002570 61 67 65 25 2c 31 37 2c 71 25 2c 71 25 21 34 0d |age%,17,q%,q%!4.| 00002580 01 8a 06 20 e1 0d 01 8b 04 0d 01 8c 27 20 dd f2 |... ........' ..| 00002590 73 61 76 65 5f 70 69 63 74 75 72 65 28 74 79 70 |save_picture(typ| 000025a0 65 25 2c 74 6f 6b 65 6e 25 2c 6e 61 6d 65 24 29 |e%,token%,name$)| 000025b0 0d 01 8d 0d 20 73 61 76 65 24 3d 22 22 0d 01 8e |.... save$=""...| 000025c0 08 20 ea 20 85 0d 01 8f 15 20 ee 20 85 20 ea 3a |. . ..... . . .:| 000025d0 f7 20 85 3a 85 20 31 2c f6 24 0d 01 90 13 20 e7 |. .:. 1,.$.... .| 000025e0 20 44 4d 54 5f 70 74 72 25 3d 30 20 8c 0d 01 91 | DMT_ptr%=0 ....| 000025f0 18 20 20 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 |. .. "Hourglas| 00002600 73 5f 4f 6e 22 0d 01 92 27 20 20 20 c8 99 20 67 |s_On"...' .. g| 00002610 65 74 65 6e 74 72 79 25 2c 74 79 70 65 25 2c 74 |etentry%,type%,t| 00002620 6f 6b 65 6e 25 20 b8 20 61 64 72 25 0d 01 93 16 |oken% . adr%....| 00002630 20 20 20 6c 65 6e 25 3d 28 21 61 64 72 25 29 2d | len%=(!adr%)-| 00002640 31 36 0d 01 94 34 20 20 20 c8 99 20 72 65 61 64 |16...4 .. read| 00002650 73 74 61 74 75 73 25 2c 74 79 70 65 25 2c 74 6f |status%,type%,to| 00002660 6b 65 6e 25 20 b8 20 6c 25 3a e7 20 6c 25 20 6c |ken% . l%:. l% l| 00002670 65 6e 25 3d 6c 25 0d 01 95 0f 20 20 20 61 64 72 |en%=l%.... adr| 00002680 25 2b 3d 31 36 0d 01 96 1b 20 20 20 e7 20 74 79 |%+=16.... . ty| 00002690 70 65 25 3d 73 5f 73 70 72 69 74 65 73 25 20 8c |pe%=s_sprites% .| 000026a0 0d 01 97 2e 20 20 20 20 20 c8 99 20 67 65 74 65 |.... .. gete| 000026b0 6e 74 72 79 25 2c 73 5f 73 70 72 69 74 65 73 25 |ntry%,s_sprites%| 000026c0 2c 74 6f 6b 65 6e 25 20 b8 20 61 64 72 25 0d 01 |,token% . adr%..| 000026d0 98 1f 20 20 20 20 20 e7 20 21 61 64 72 25 3d 28 |.. . !adr%=(| 000026e0 61 64 72 25 21 31 36 29 2b 31 36 20 8c 0d 01 99 |adr%!16)+16 ....| 000026f0 21 20 20 20 20 20 20 20 73 61 76 65 24 3d a4 73 |! save$=.s| 00002700 74 72 69 6e 67 30 28 61 64 72 25 2b 34 29 0d 01 |tring0(adr%+4)..| 00002710 9a 2b 20 20 20 20 20 20 20 61 64 72 25 21 34 3d |.+ adr%!4=| 00002720 31 3a 61 64 72 25 21 38 3d 31 36 3a 61 64 72 25 |1:adr%!8=16:adr%| 00002730 21 31 32 3d 21 61 64 72 25 0d 01 9b 20 20 20 20 |!12=!adr%... | 00002740 20 20 20 20 6c 65 6e 25 3d 21 61 64 72 25 2b 31 | len%=!adr%+1| 00002750 32 3a 61 64 72 25 2b 3d 34 0d 01 9c 0a 20 20 20 |2:adr%+=4.... | 00002760 20 20 cc 0d 01 9d 39 20 20 20 20 20 20 20 c8 99 | ....9 ..| 00002770 20 75 6e 70 61 63 6b 73 70 72 69 74 65 25 2c 73 | unpacksprite%,s| 00002780 5f 73 70 72 69 74 65 73 25 2c 74 6f 6b 65 6e 25 |_sprites%,token%| 00002790 2c 73 70 72 69 74 65 73 25 2b 31 32 0d 01 9e 16 |,sprites%+12....| 000027a0 20 20 20 20 20 20 20 21 73 70 72 69 74 65 73 25 | !sprites%| 000027b0 3d 31 0d 01 9f 18 20 20 20 20 20 20 20 73 70 72 |=1.... spr| 000027c0 69 74 65 73 25 21 34 3d 31 36 0d 01 a0 26 20 20 |ites%!4=16...& | 000027d0 20 20 20 20 20 73 70 72 69 74 65 73 25 21 38 3d | sprites%!8=| 000027e0 28 73 70 72 69 74 65 73 25 21 31 32 29 2b 31 36 |(sprites%!12)+16| 000027f0 0d 01 a1 1a 20 20 20 20 20 20 20 6c 65 6e 25 3d |.... len%=| 00002800 73 70 72 69 74 65 73 25 21 38 0d 01 a2 18 20 20 |sprites%!8.... | 00002810 20 20 20 20 20 61 64 72 25 3d 73 70 72 69 74 65 | adr%=sprite| 00002820 73 25 0d 01 a3 0a 20 20 20 20 20 cd 0d 01 a4 18 |s%.... .....| 00002830 20 20 20 20 20 66 69 6c 65 5f 74 79 70 65 25 3d | file_type%=| 00002840 26 46 46 39 0d 01 a5 08 20 20 20 cc 0d 01 a6 18 |&FF9.... .....| 00002850 20 20 20 20 20 66 69 6c 65 5f 74 79 70 65 25 3d | file_type%=| 00002860 26 41 46 46 0d 01 a7 08 20 20 20 cd 0d 01 a8 16 |&AFF.... .....| 00002870 20 20 20 44 4d 54 5f 6d 79 6c 65 6e 25 3d 6c 65 | DMT_mylen%=le| 00002880 6e 25 0d 01 a9 15 20 20 20 44 4d 54 5f 64 61 74 |n%.... DMT_dat| 00002890 61 25 3d 61 64 72 25 0d 01 aa 06 20 cd 0d 01 ab |a%=adr%.... ....| 000028a0 2c 20 f2 73 61 76 65 5f 73 6c 61 76 65 28 6e 61 |, .save_slave(na| 000028b0 6d 65 24 2c 61 64 72 25 2c 6c 65 6e 25 2c 66 69 |me$,adr%,len%,fi| 000028c0 6c 65 5f 74 79 70 65 25 29 0d 01 ac 12 20 e7 20 |le_type%).... . | 000028d0 73 61 76 65 24 3c 3e 22 22 20 8c 0d 01 ad 2c 20 |save$<>"" ...., | 000028e0 20 20 c8 99 20 67 65 74 65 6e 74 72 79 25 2c 73 | .. getentry%,s| 000028f0 5f 73 70 72 69 74 65 73 25 2c 74 6f 6b 65 6e 25 |_sprites%,token%| 00002900 20 b8 20 61 64 72 25 0d 01 ae 1d 20 20 20 f2 73 | . adr%.... .s| 00002910 74 72 69 6e 67 30 28 61 64 72 25 2b 34 2c 73 61 |tring0(adr%+4,sa| 00002920 76 65 24 29 0d 01 af 06 20 cd 0d 01 b0 06 20 e1 |ve$).... ..... .| 00002930 0d 01 b1 04 0d 01 b2 1f 20 dd f2 73 61 76 65 5f |........ ..save_| 00002940 73 6f 75 6e 64 28 73 6f 75 6e 64 25 2c 6e 61 6d |sound(sound%,nam| 00002950 65 24 29 0d 01 b3 08 20 ea 20 85 0d 01 b4 15 20 |e$).... . ..... | 00002960 ee 20 85 20 ea 3a f7 20 85 3a 85 20 31 2c f6 24 |. . .:. .:. 1,.$| 00002970 0d 01 b5 13 20 e7 20 44 4d 54 5f 70 74 72 25 3d |.... . DMT_ptr%=| 00002980 30 20 8c 0d 01 b6 18 20 20 20 c8 99 20 22 48 6f |0 ..... .. "Ho| 00002990 75 72 67 6c 61 73 73 5f 4f 6e 22 0d 01 b7 2b 20 |urglass_On"...+ | 000029a0 20 20 c8 99 20 67 65 74 65 6e 74 72 79 25 2c 73 | .. getentry%,s| 000029b0 5f 73 6f 75 6e 64 73 25 2c 73 6f 75 6e 64 25 20 |_sounds%,sound% | 000029c0 b8 20 61 64 72 25 0d 01 b8 16 20 20 20 6c 65 6e |. adr%.... len| 000029d0 25 3d 28 21 61 64 72 25 29 2d 32 34 0d 01 b9 38 |%=(!adr%)-24...8| 000029e0 20 20 20 c8 99 20 72 65 61 64 73 74 61 74 75 73 | .. readstatus| 000029f0 25 2c 73 5f 73 6f 75 6e 64 73 25 2c 73 6f 75 6e |%,s_sounds%,soun| 00002a00 64 25 20 b8 20 6c 25 3a e7 20 6c 25 20 6c 65 6e |d% . l%:. l% len| 00002a10 25 3d 6c 25 0d 01 ba 0f 20 20 20 61 64 72 25 2b |%=l%.... adr%+| 00002a20 3d 32 34 0d 01 bb 16 20 20 20 44 4d 54 5f 6d 79 |=24.... DMT_my| 00002a30 6c 65 6e 25 3d 6c 65 6e 25 0d 01 bc 15 20 20 20 |len%=len%.... | 00002a40 44 4d 54 5f 64 61 74 61 25 3d 61 64 72 25 0d 01 |DMT_data%=adr%..| 00002a50 bd 06 20 cd 0d 01 be 26 20 f2 73 61 76 65 5f 73 |.. ....& .save_s| 00002a60 6c 61 76 65 28 6e 61 6d 65 24 2c 61 64 72 25 2c |lave(name$,adr%,| 00002a70 6c 65 6e 25 2c 26 44 33 43 29 0d 01 bf 06 20 e1 |len%,&D3C).... .| 00002a80 0d 01 c0 04 0d 01 c1 1d 20 dd f2 73 61 76 65 5f |........ ..save_| 00002a90 74 65 78 74 28 74 65 78 74 25 2c 6e 61 6d 65 24 |text(text%,name$| 00002aa0 29 0d 01 c2 08 20 ea 20 85 0d 01 c3 15 20 ee 20 |).... . ..... . | 00002ab0 85 20 ea 3a f7 20 85 3a 85 20 31 2c f6 24 0d 01 |. .:. .:. 1,.$..| 00002ac0 c4 26 20 c8 99 20 67 65 74 65 6e 74 72 79 25 2c |.& .. getentry%,| 00002ad0 73 5f 74 65 78 74 25 2c 74 65 78 74 25 20 b8 20 |s_text%,text% . | 00002ae0 61 64 72 25 0d 01 c5 20 20 c8 99 20 6d 6f 76 65 |adr%... .. move| 00002af0 64 61 74 61 25 2c 61 64 72 25 2c 77 73 25 2c 21 |data%,adr%,ws%,!| 00002b00 61 64 72 25 0d 01 c6 17 20 61 64 72 25 3d 77 73 |adr%.... adr%=ws| 00002b10 25 2b 34 3a 74 25 3d 61 64 72 25 0d 01 c7 0b 20 |%+4:t%=adr%.... | 00002b20 6c 65 6e 25 3d 30 0d 01 c8 06 20 f5 0d 01 c9 16 |len%=0.... .....| 00002b30 20 20 20 e7 20 3f 74 25 3d 31 33 20 3f 74 25 3d | . ?t%=13 ?t%=| 00002b40 31 30 0d 01 ca 1d 20 20 20 e7 20 3f 74 25 3c 3e |10.... . ?t%<>| 00002b50 30 20 6c 65 6e 25 2b 3d 31 3a 74 25 2b 3d 31 0d |0 len%+=1:t%+=1.| 00002b60 01 cb 14 20 fd 3f 74 25 3d 30 20 8b 20 fd 3f 74 |... .?t%=0 . .?t| 00002b70 25 3d 30 0d 01 cc 13 20 e7 20 44 4d 54 5f 70 74 |%=0.... . DMT_pt| 00002b80 72 25 3d 30 20 8c 0d 01 cd 18 20 20 20 c8 99 20 |r%=0 ..... .. | 00002b90 22 48 6f 75 72 67 6c 61 73 73 5f 4f 6e 22 0d 01 |"Hourglass_On"..| 00002ba0 ce 16 20 20 20 44 4d 54 5f 6d 79 6c 65 6e 25 3d |.. DMT_mylen%=| 00002bb0 6c 65 6e 25 0d 01 cf 15 20 20 20 44 4d 54 5f 64 |len%.... DMT_d| 00002bc0 61 74 61 25 3d 61 64 72 25 0d 01 d0 06 20 cd 0d |ata%=adr%.... ..| 00002bd0 01 d1 26 20 f2 73 61 76 65 5f 73 6c 61 76 65 28 |..& .save_slave(| 00002be0 6e 61 6d 65 24 2c 61 64 72 25 2c 6c 65 6e 25 2c |name$,adr%,len%,| 00002bf0 26 46 46 46 29 0d 01 d2 06 20 e1 0d 01 d3 04 0d |&FFF).... ......| 00002c00 01 d4 2d 20 dd f2 73 61 76 65 5f 73 6c 61 76 65 |..- ..save_slave| 00002c10 28 6e 61 6d 65 24 2c 61 64 72 25 2c 6c 65 6e 25 |(name$,adr%,len%| 00002c20 2c 66 69 6c 65 5f 74 79 70 65 25 29 0d 01 d5 0d |,file_type%)....| 00002c30 20 e7 20 44 4d 54 25 20 8c 0d 01 d6 27 20 20 20 | . DMT% ....' | 00002c40 e7 20 44 4d 54 5f 6d 79 6c 65 6e 25 2d 44 4d 54 |. DMT_mylen%-DMT| 00002c50 5f 70 74 72 25 3e 44 4d 54 5f 6c 65 6e 25 20 8c |_ptr%>DMT_len% .| 00002c60 0d 01 d7 14 20 20 20 20 20 6c 25 3d 44 4d 54 5f |.... l%=DMT_| 00002c70 6c 65 6e 25 0d 01 d8 08 20 20 20 cc 0d 01 d9 1f |len%.... .....| 00002c80 20 20 20 20 20 6c 25 3d 44 4d 54 5f 6d 79 6c 65 | l%=DMT_myle| 00002c90 6e 25 2d 44 4d 54 5f 70 74 72 25 0d 01 da 1b 20 |n%-DMT_ptr%.... | 00002ca0 20 20 20 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 | .. "Hourglas| 00002cb0 73 5f 4f 66 66 22 0d 01 db 08 20 20 20 cd 0d 01 |s_Off".... ...| 00002cc0 dc 4f 20 20 20 c8 99 20 22 57 69 6d 70 5f 54 72 |.O .. "Wimp_Tr| 00002cd0 61 6e 73 66 65 72 42 6c 6f 63 6b 22 2c 74 61 73 |ansferBlock",tas| 00002ce0 6b 5f 68 61 6e 64 6c 65 25 2c 44 4d 54 5f 64 61 |k_handle%,DMT_da| 00002cf0 74 61 25 2b 44 4d 54 5f 70 74 72 25 2c 44 4d 54 |ta%+DMT_ptr%,DMT| 00002d00 5f 72 65 66 25 2c 44 4d 54 25 2c 6c 25 0d 01 dd |_ref%,DMT%,l%...| 00002d10 13 20 20 20 44 4d 54 5f 70 74 72 25 2b 3d 6c 25 |. DMT_ptr%+=l%| 00002d20 0d 01 de 19 20 20 20 71 25 21 31 32 3d 71 25 21 |.... q%!12=q%!| 00002d30 38 3a 71 25 21 31 36 3d 37 0d 01 df 0f 20 20 20 |8:q%!16=7.... | 00002d40 71 25 21 32 34 3d 6c 25 0d 01 e0 35 20 20 20 c8 |q%!24=l%...5 .| 00002d50 99 20 73 65 6e 64 6d 65 73 73 61 67 65 25 2c 31 |. sendmessage%,1| 00002d60 38 2c 71 25 2c 71 25 21 34 3a f4 20 73 65 6e 64 |8,q%,q%!4:. send| 00002d70 20 52 41 4d 20 74 72 61 6e 73 6d 69 74 0d 01 e1 | RAM transmit...| 00002d80 06 20 cc 0d 01 e2 2e 20 20 20 20 ff 20 22 73 61 |. ..... . "sa| 00002d90 76 65 20 22 2b 6e 61 6d 65 24 2b 22 20 22 2b c3 |ve "+name$+" "+.| 00002da0 7e 61 64 72 25 2b 22 20 2b 22 2b c3 7e 6c 65 6e |~adr%+" +"+.~len| 00002db0 25 0d 01 e3 2b 20 20 20 20 ff 20 22 53 45 54 54 |%...+ . "SETT| 00002dc0 59 50 45 20 22 2b 6e 61 6d 65 24 2b 22 20 22 2b |YPE "+name$+" "+| 00002dd0 c3 7e 66 69 6c 65 5f 74 79 70 65 25 0d 01 e4 1a |.~file_type%....| 00002de0 20 20 20 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 | .. "Hourglas| 00002df0 73 5f 4f 66 66 22 0d 01 e5 06 20 cd 0d 01 e6 06 |s_Off".... .....| 00002e00 20 e1 0d 01 e7 04 0d 01 e8 0f 20 dd f2 64 61 74 | ......... ..dat| 00002e10 61 6c 6f 61 64 0d 01 e9 1f 20 c8 99 20 6d 6f 76 |aload.... .. mov| 00002e20 65 64 61 74 61 25 2c 71 25 2c 6f 6c 64 5f 71 25 |edata%,q%,old_q%| 00002e30 2c 32 35 36 0d 01 ea 13 20 c8 8e 20 6f 6c 64 5f |,256.... .. old_| 00002e40 71 25 21 34 30 20 ca 0d 01 eb 0e 20 20 20 c9 20 |q%!40 ..... . | 00002e50 26 42 43 33 3a 0d 01 ec 45 20 20 20 20 20 e7 20 |&BC3:...E . | 00002e60 6f 6c 64 5f 71 25 21 32 30 3d 6d 61 69 6e 5f 77 |old_q%!20=main_w| 00002e70 25 20 84 20 28 6f 6c 64 5f 71 25 21 32 30 3d 2d |% . (old_q%!20=-| 00002e80 32 20 80 20 6f 6c 64 5f 71 25 21 32 34 3d 69 63 |2 . old_q%!24=ic| 00002e90 6f 6e 5f 62 61 72 25 29 20 8c 0d 01 ed 1b 20 20 |on_bar%) ..... | 00002ea0 20 20 20 20 20 e7 20 6f 6c 64 5f 71 25 21 31 32 | . old_q%!12| 00002eb0 3c 3e 30 20 e1 0d 01 ee 18 20 20 20 20 20 20 20 |<>0 ..... | 00002ec0 e7 20 6d 6f 64 69 66 69 65 64 25 20 8c 0d 01 ef |. modified% ....| 00002ed0 34 20 20 20 20 20 20 20 20 20 f2 6f 70 65 6e 5f |4 .open_| 00002ee0 71 75 65 72 79 28 22 6c 6f 61 64 22 2b a4 73 74 |query("load"+.st| 00002ef0 72 69 6e 67 30 28 6f 6c 64 5f 71 25 2b 34 34 29 |ring0(old_q%+44)| 00002f00 29 0d 01 f0 0c 20 20 20 20 20 20 20 cc 0d 01 f1 |).... ....| 00002f10 2e 20 20 20 20 20 20 20 20 20 f2 6c 6f 61 64 5f |. .load_| 00002f20 66 69 6c 65 28 a4 73 74 72 69 6e 67 30 28 6f 6c |file(.string0(ol| 00002f30 64 5f 71 25 2b 34 34 29 2c 31 29 0d 01 f2 54 20 |d_q%+44),1)...T | 00002f40 20 20 20 20 20 20 20 20 6f 6c 64 5f 71 25 21 31 | old_q%!1| 00002f50 32 3d 6f 6c 64 5f 71 25 21 38 3a 6f 6c 64 5f 71 |2=old_q%!8:old_q| 00002f60 25 21 31 36 3d 34 3a c8 99 20 22 57 69 6d 70 5f |%!16=4:.. "Wimp_| 00002f70 53 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 37 2c |SendMessage",17,| 00002f80 6f 6c 64 5f 71 25 2c 6f 6c 64 5f 71 25 21 34 0d |old_q%,old_q%!4.| 00002f90 01 f3 0c 20 20 20 20 20 20 20 cd 0d 01 f4 0a 20 |... ..... | 00002fa0 20 20 20 20 cd 0d 01 f5 06 20 cb 0d 01 f6 06 20 | ..... ..... | 00002fb0 e1 0d 01 f7 04 0d 01 f8 1e 20 dd f2 6c 6f 61 64 |......... ..load| 00002fc0 5f 66 69 6c 65 28 6e 61 6d 65 24 2c 65 72 72 6f |_file(name$,erro| 00002fd0 72 25 29 0d 01 f9 1d 20 74 25 3d 8e 28 6e 61 6d |r%).... t%=.(nam| 00002fe0 65 24 29 3a 6c 25 3d a2 23 74 25 3a d9 23 74 25 |e$):l%=.#t%:.#t%| 00002ff0 0d 01 fa 2f 20 f2 73 65 74 5f 73 6c 6f 74 28 93 |.../ .set_slot(.| 00003000 2b 28 6c 25 81 26 34 30 30 30 29 2a 26 34 30 30 |+(l%.&4000)*&400| 00003010 30 2b 26 34 30 30 30 2c 65 72 72 6f 72 25 29 0d |0+&4000,error%).| 00003020 01 fb 10 20 c8 99 20 6e 65 77 66 69 6c 65 25 0d |... .. newfile%.| 00003030 01 fc 2e 20 66 75 6c 6c 5f 6e 61 6d 65 24 3d c0 |... full_name$=.| 00003040 6e 61 6d 65 24 2c a9 28 6e 61 6d 65 24 29 2d a7 |name$,.(name$)-.| 00003050 6e 61 6d 65 24 2c 22 21 22 29 2d 31 29 0d 01 fd |name$,"!")-1)...| 00003060 16 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 5f |. .. "Hourglass_| 00003070 4f 6e 22 0d 01 fe 1e 20 ff 20 22 6c 6f 61 64 20 |On".... . "load | 00003080 20 22 2b 6e 61 6d 65 24 2b 22 20 34 30 30 30 30 | "+name$+" 40000| 00003090 22 0d 01 ff 15 20 76 65 72 73 69 6f 6e 25 3d 21 |".... version%=!| 000030a0 26 34 30 30 30 43 0d 02 00 1a 20 c8 99 20 6c 6f |&4000C.... .. lo| 000030b0 63 61 74 65 66 69 6c 65 25 2c 26 37 38 30 30 30 |catefile%,&78000| 000030c0 0d 02 01 10 20 6d 6f 64 69 66 69 65 64 25 3d 30 |.... modified%=0| 000030d0 0d 02 02 15 20 71 75 65 72 79 5f 73 74 72 69 6e |.... query_strin| 000030e0 67 24 3d 22 22 0d 02 03 13 20 65 64 69 74 65 64 |g$="".... edited| 000030f0 5f 61 72 65 61 25 3d 30 0d 02 04 57 20 63 75 72 |_area%=0...W cur| 00003100 72 65 6e 74 5f 70 61 67 65 25 3d 21 26 34 30 30 |rent_page%=!&400| 00003110 32 30 3a 74 6f 6f 6c 62 6f 78 5f 6f 6e 25 3d 21 |20:toolbox_on%=!| 00003120 26 34 30 30 32 34 3a 6d 65 6e 75 5f 65 6e 61 62 |&40024:menu_enab| 00003130 6c 65 64 25 3d 21 26 34 30 30 32 38 3a 70 61 67 |led%=!&40028:pag| 00003140 65 5f 73 69 7a 65 25 3d 21 26 34 30 30 32 43 0d |e_size%=!&4002C.| 00003150 02 05 50 20 68 5f 73 63 72 6f 6c 6c 25 3d 21 26 |..P h_scroll%=!&| 00003160 34 30 30 36 30 3a 76 5f 73 63 72 6f 6c 6c 25 3d |40060:v_scroll%=| 00003170 21 26 34 30 30 36 34 3a 74 69 74 6c 65 5f 62 61 |!&40064:title_ba| 00003180 72 25 3d 21 26 34 30 30 36 38 3a 74 6f 67 67 6c |r%=!&40068:toggl| 00003190 65 5f 69 63 6f 6e 25 3d 21 26 34 30 30 36 43 0d |e_icon%=!&4006C.| 000031a0 02 06 3c 20 73 63 61 6e 6e 69 6e 67 25 3d 21 26 |..< scanning%=!&| 000031b0 34 30 30 37 30 3a 73 63 61 6e 5f 6b 65 79 73 25 |40070:scan_keys%| 000031c0 3d 21 26 34 30 30 37 34 3a 73 63 61 6e 5f 74 69 |=!&40074:scan_ti| 000031d0 6d 65 25 3d 21 26 34 30 30 37 38 0d 02 07 0f 20 |me%=!&40078.... | 000031e0 f2 73 69 7a 65 5f 70 61 67 65 0d 02 08 15 20 f2 |.size_page.... .| 000031f0 72 65 64 65 66 69 6e 65 5f 6d 61 69 6e 5f 77 0d |redefine_main_w.| 00003200 02 09 3d 20 e7 20 21 26 34 30 30 33 30 20 21 26 |..= . !&40030 !&| 00003210 34 30 30 33 30 3d 6d 61 69 6e 5f 77 25 3a c8 99 |40030=main_w%:..| 00003220 20 6f 70 65 6e 77 25 2c 2c 26 34 30 30 33 30 3a | openw%,,&40030:| 00003230 f2 6f 70 65 6e 5f 6d 61 69 6e 5f 77 0d 02 0a 17 |.open_main_w....| 00003240 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 5f 4f | .. "Hourglass_O| 00003250 66 66 22 0d 02 0b 34 20 c8 99 20 22 4f 53 5f 52 |ff"...4 .. "OS_R| 00003260 65 61 64 56 61 72 56 61 6c 22 2c 22 4f 62 65 79 |eadVarVal","Obey| 00003270 24 44 69 72 22 2c 6d 61 69 6e 25 2c 31 30 30 30 |$Dir",main%,1000| 00003280 20 b8 20 2c 2c 54 25 0d 02 0c 0f 20 54 25 3f 6d | . ,,T%.... T%?m| 00003290 61 69 6e 25 3d 30 0d 02 0d 1f 20 66 75 6c 6c 5f |ain%=0.... full_| 000032a0 6e 61 6d 65 24 3d a4 73 74 72 69 6e 67 30 28 6d |name$=.string0(m| 000032b0 61 69 6e 25 29 0d 02 0e 26 20 f2 77 69 6e 64 6f |ain%)...& .windo| 000032c0 77 5f 74 69 74 6c 65 28 6d 61 69 6e 5f 77 25 2c |w_title(main_w%,| 000032d0 66 75 6c 6c 5f 6e 61 6d 65 24 29 0d 02 0f 21 20 |full_name$)...! | 000032e0 61 70 70 73 70 72 69 74 65 24 3d a4 6c 65 61 66 |appsprite$=.leaf| 000032f0 28 66 75 6c 6c 5f 6e 61 6d 65 24 29 0d 02 10 27 |(full_name$)...'| 00003300 20 6d 65 6e 75 24 3d c2 61 70 70 73 70 72 69 74 | menu$=.appsprit| 00003310 65 24 2c a9 28 61 70 70 73 70 72 69 74 65 24 29 |e$,.(appsprite$)| 00003320 2d 31 29 0d 02 11 2c 20 e7 20 a9 6d 65 6e 75 24 |-1)..., . .menu$| 00003330 3c 31 32 20 f5 3a 6d 65 6e 75 24 3d 6d 65 6e 75 |<12 .:menu$=menu| 00003340 24 2b bd 30 3a fd a9 6d 65 6e 75 24 3d 31 32 0d |$+.0:..menu$=12.| 00003350 02 12 06 20 e1 0d 02 13 04 0d 02 14 6d f4 2d 2d |... ........m.--| 00003360 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000033c0 2d 2d 2d 2d 2d 2d 0d 02 15 04 0d 02 16 0f 20 dd |------........ .| 000033d0 f2 6e 65 77 5f 66 69 6c 65 0d 02 17 19 20 f2 73 |.new_file.... .s| 000033e0 65 74 5f 73 6c 6f 74 28 93 2b 26 34 30 30 30 2c |et_slot(.+&4000,| 000033f0 32 29 0d 02 18 10 20 c8 99 20 6e 65 77 66 69 6c |2).... .. newfil| 00003400 65 25 0d 02 19 10 20 e3 20 74 25 3d 31 20 b8 20 |e%.... . t%=1 . | 00003410 32 30 0d 02 1a 13 20 20 20 c8 99 20 6e 65 77 73 |20.... .. news| 00003420 74 61 63 6b 25 0d 02 1b 06 20 ed 0d 02 1c 19 20 |tack%.... ..... | 00003430 66 75 6c 6c 5f 6e 61 6d 65 24 3d 22 4e 6f 5f 4e |full_name$="No_N| 00003440 61 6d 65 22 0d 02 1d 06 20 e1 0d 02 1e 04 0d 02 |ame".... .......| 00003450 1f 69 f4 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |.i.-------------| 00003460 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000034b0 2d 2d 2d 2d 2d 2d 2d 0d 02 20 04 0d 02 21 20 20 |-------.. ...! | 000034c0 dd f2 6f 70 65 6e 5f 63 65 6e 74 72 65 28 68 61 |..open_centre(ha| 000034d0 6e 64 6c 65 25 2c 6f 66 66 25 29 0d 02 22 1d 20 |ndle%,off%)..". | 000034e0 21 71 25 3d 68 61 6e 64 6c 65 25 3a c8 99 20 67 |!q%=handle%:.. g| 000034f0 65 74 77 25 2c 2c 71 25 0d 02 23 28 20 77 25 3d |etw%,,q%..#( w%=| 00003500 28 71 25 21 31 32 29 2d 28 71 25 21 34 29 3a 68 |(q%!12)-(q%!4):h| 00003510 25 3d 28 71 25 21 31 36 29 2d 28 71 25 21 38 29 |%=(q%!16)-(q%!8)| 00003520 0d 02 24 1d 20 77 78 25 3d 73 63 72 65 65 6e 5f |..$. wx%=screen_| 00003530 77 69 64 74 68 25 81 32 2d 77 25 81 32 0d 02 25 |width%.2-w%.2..%| 00003540 1e 20 77 79 25 3d 73 63 72 65 65 6e 5f 68 65 69 |. wy%=screen_hei| 00003550 67 68 74 25 81 32 2d 68 25 81 32 0d 02 26 49 20 |ght%.2-h%.2..&I | 00003560 f2 6f 70 65 6e 5f 77 69 6e 64 6f 77 28 68 61 6e |.open_window(han| 00003570 64 6c 65 25 2c 77 78 25 2c 77 79 25 2b 6f 66 66 |dle%,wx%,wy%+off| 00003580 25 2c 77 78 25 2b 77 25 2c 77 79 25 2b 68 25 2b |%,wx%+w%,wy%+h%+| 00003590 6f 66 66 25 2c 71 25 21 32 30 2c 71 25 21 32 34 |off%,q%!20,q%!24| 000035a0 2c 2d 31 29 0d 02 27 06 20 e1 0d 02 28 04 0d 02 |,-1)..'. ...(...| 000035b0 29 12 20 dd f2 6f 70 65 6e 5f 6d 61 69 6e 5f 77 |). ..open_main_w| 000035c0 0d 02 2a 1f 20 21 77 73 25 3d 6d 61 69 6e 5f 77 |..*. !ws%=main_w| 000035d0 25 3a c8 99 20 67 65 74 77 25 2c 2c 77 73 25 0d |%:.. getw%,,ws%.| 000035e0 02 2b 18 20 73 78 25 3d 77 73 25 21 34 3a 73 79 |.+. sx%=ws%!4:sy| 000035f0 25 3d 77 73 25 21 38 0d 02 2c 1c 20 73 78 31 25 |%=ws%!8..,. sx1%| 00003600 3d 77 73 25 21 31 32 3a 73 79 31 25 3d 77 73 25 |=ws%!12:sy1%=ws%| 00003610 21 31 36 0d 02 2d 04 0d 02 2e 29 20 73 68 25 3d |!16..-....) sh%=| 00003620 73 63 72 65 65 6e 5f 68 65 69 67 68 74 25 3a 73 |screen_height%:s| 00003630 77 25 3d 73 63 72 65 65 6e 5f 77 69 64 74 68 25 |w%=screen_width%| 00003640 0d 02 2f 16 20 68 73 25 3d 30 3a 76 73 25 3d 30 |../. hs%=0:vs%=0| 00003650 3a 74 62 25 3d 30 0d 02 30 17 20 e7 20 68 5f 73 |:tb%=0..0. . h_s| 00003660 63 72 6f 6c 6c 25 20 68 73 25 3d 34 30 0d 02 31 |croll% hs%=40..1| 00003670 18 20 e7 20 76 5f 73 63 72 6f 6c 6c 25 20 76 73 |. . v_scroll% vs| 00003680 25 2b 3d 34 30 0d 02 32 18 20 e7 20 74 69 74 6c |%+=40..2. . titl| 00003690 65 5f 62 61 72 25 20 74 62 25 3d 33 36 0d 02 33 |e_bar% tb%=36..3| 000036a0 1c 20 77 25 3d 73 78 31 25 2d 73 78 25 3a 68 25 |. w%=sx1%-sx%:h%| 000036b0 3d 73 79 31 25 2d 73 79 25 0d 02 34 2c 20 e7 20 |=sy1%-sy%..4, . | 000036c0 73 79 31 25 2b 74 62 25 3e 73 68 25 20 73 79 31 |sy1%+tb%>sh% sy1| 000036d0 25 3d 73 68 25 2d 74 62 25 3a 73 79 25 3d 73 79 |%=sh%-tb%:sy%=sy| 000036e0 31 25 2d 68 25 0d 02 35 16 20 e7 20 73 79 25 3c |1%-h%..5. . sy%<| 000036f0 68 73 25 20 73 79 25 3d 68 73 25 0d 02 36 2c 20 |hs% sy%=hs%..6, | 00003700 e7 20 73 78 31 25 2b 76 73 25 3e 73 77 25 20 73 |. sx1%+vs%>sw% s| 00003710 78 31 25 3d 73 77 25 2d 76 73 25 3a 73 78 25 3d |x1%=sw%-vs%:sx%=| 00003720 73 78 31 25 2d 77 25 0d 02 37 12 20 e7 20 73 78 |sx1%-w%..7. . sx| 00003730 25 3c 30 20 73 78 25 3d 30 0d 02 38 11 20 21 77 |%<0 sx%=0..8. !w| 00003740 73 25 3d 6d 61 69 6e 5f 77 25 0d 02 39 0e 20 77 |s%=main_w%..9. w| 00003750 73 25 21 34 3d 73 78 25 0d 02 3a 0e 20 77 73 25 |s%!4=sx%..:. ws%| 00003760 21 38 3d 73 79 25 0d 02 3b 10 20 77 73 25 21 31 |!8=sy%..;. ws%!1| 00003770 32 3d 73 78 31 25 0d 02 3c 10 20 77 73 25 21 31 |2=sx1%..<. ws%!1| 00003780 36 3d 73 79 31 25 0d 02 3d 16 20 77 73 25 21 32 |6=sy1%..=. ws%!2| 00003790 30 3d 30 3a 77 73 25 21 32 34 3d 30 0d 02 3e 0e |0=0:ws%!24=0..>.| 000037a0 20 77 73 25 21 32 38 3d 2d 31 0d 02 3f 49 20 f2 | ws%!28=-1..?I .| 000037b0 6f 70 65 6e 5f 77 69 6e 64 6f 77 28 6d 61 69 6e |open_window(main| 000037c0 5f 77 25 2c 77 73 25 21 34 2c 77 73 25 21 38 2c |_w%,ws%!4,ws%!8,| 000037d0 77 73 25 21 31 32 2c 77 73 25 21 31 36 2c 77 73 |ws%!12,ws%!16,ws| 000037e0 25 21 32 30 2c 77 73 25 21 32 34 2c 77 73 25 21 |%!20,ws%!24,ws%!| 000037f0 32 38 29 0d 02 40 1e 20 21 71 25 3d 6d 61 69 6e |28)..@. !q%=main| 00003800 5f 77 25 3a c8 99 20 67 65 74 77 25 2c 2c 77 73 |_w%:.. getw%,,ws| 00003810 25 0d 02 41 06 20 e1 0d 02 42 04 0d 02 43 69 f4 |%..A. ...B...Ci.| 00003820 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003880 2d 2d 2d 2d 0d 02 44 04 0d 02 45 34 20 dd f2 64 |----..D...E4 ..d| 00003890 72 61 77 5f 70 69 63 74 75 72 65 28 74 79 70 65 |raw_picture(type| 000038a0 25 2c 74 6f 6b 65 6e 25 2c 78 25 2c 79 25 2c 77 |%,token%,x%,y%,w| 000038b0 25 2c 68 25 2c 66 6c 61 67 73 25 29 0d 02 46 4c |%,h%,flags%)..FL| 000038c0 20 e7 20 74 79 70 65 25 3d 73 5f 64 72 61 77 25 | . type%=s_draw%| 000038d0 20 78 25 2b 3d 28 31 3c 3c 78 65 66 25 29 3a 79 | x%+=(1<<xef%):y| 000038e0 25 2b 3d 28 31 3c 3c 79 65 66 25 29 3a 77 25 2d |%+=(1<<yef%):w%-| 000038f0 3d 28 32 3c 3c 78 65 66 25 29 3a 68 25 2d 3d 28 |=(2<<xef%):h%-=(| 00003900 32 3c 3c 79 65 66 25 29 0d 02 47 23 20 c8 99 20 |2<<yef%)..G# .. | 00003910 67 65 74 65 6e 74 72 79 25 2c 74 79 70 65 25 2c |getentry%,type%,| 00003920 74 6f 6b 65 6e 25 20 b8 20 61 25 0d 02 48 2a 20 |token% . a%..H* | 00003930 e7 20 21 61 25 3e 73 70 72 69 74 65 5f 73 69 7a |. !a%>sprite_siz| 00003940 65 25 2d 32 34 20 66 6c 61 67 73 25 3d 66 6c 61 |e%-24 flags%=fla| 00003950 67 73 25 84 38 0d 02 49 38 20 21 65 72 72 62 6c |gs%.8..I8 !errbl| 00003960 6b 25 3d 78 25 3a 65 72 72 62 6c 6b 25 21 34 3d |k%=x%:errblk%!4=| 00003970 79 25 3a 65 72 72 62 6c 6b 25 21 38 3d 77 25 3a |y%:errblk%!8=w%:| 00003980 65 72 72 62 6c 6b 25 21 31 32 3d 68 25 0d 02 4a |errblk%!12=h%..J| 00003990 3c 20 c8 99 20 72 65 6e 64 65 72 73 68 61 70 65 |< .. rendershape| 000039a0 25 2c 74 79 70 65 25 2c 74 6f 6b 65 6e 25 2c 73 |%,type%,token%,s| 000039b0 70 72 69 74 65 73 25 2c 65 72 72 62 6c 6b 25 2c |prites%,errblk%,| 000039c0 66 6c 61 67 73 25 80 31 35 0d 02 4b 06 20 e1 0d |flags%.15..K. ..| 000039d0 02 4c 04 0d 02 4d 69 f4 2d 2d 2d 2d 2d 2d 2d 2d |.L...Mi.--------| 000039e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003a30 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 02 4e 04 |------------..N.| 00003a40 0d 02 4f 23 20 dd f2 77 69 6e 64 6f 77 5f 74 69 |..O# ..window_ti| 00003a50 74 6c 65 28 77 69 6e 64 6f 77 25 2c 74 69 74 6c |tle(window%,titl| 00003a60 65 24 29 0d 02 50 18 20 e7 20 77 69 6e 64 6f 77 |e$)..P. . window| 00003a70 25 3d 6d 61 69 6e 5f 77 25 20 8c 0d 02 51 31 20 |%=main_w% ...Q1 | 00003a80 20 20 c8 99 20 67 65 74 65 6e 74 72 79 25 2c 73 | .. getentry%,s| 00003a90 5f 70 61 67 65 73 25 2c 63 75 72 72 65 6e 74 5f |_pages%,current_| 00003aa0 70 61 67 65 25 20 b8 20 61 64 72 25 0d 02 52 2b |page% . adr%..R+| 00003ab0 20 20 20 74 69 74 6c 65 24 3d 74 69 74 6c 65 24 | title$=title$| 00003ac0 2b 22 20 2d 20 22 2b a4 73 74 72 69 6e 67 30 28 |+" - "+.string0(| 00003ad0 61 64 72 25 2b 34 29 0d 02 53 06 20 cd 0d 02 54 |adr%+4)..S. ...T| 00003ae0 23 20 e7 20 6d 6f 64 69 66 69 65 64 25 20 74 69 |# . modified% ti| 00003af0 74 6c 65 24 3d 74 69 74 6c 65 24 2b 22 20 2a 22 |tle$=title$+" *"| 00003b00 0d 02 55 28 20 21 65 72 72 62 6c 6b 25 3d 77 69 |..U( !errblk%=wi| 00003b10 6e 64 6f 77 25 3a c8 99 20 67 65 74 77 69 25 2c |ndow%:.. getwi%,| 00003b20 2c 65 72 72 62 6c 6b 25 0d 02 56 20 20 f2 73 74 |,errblk%..V .st| 00003b30 72 69 6e 67 30 28 65 72 72 62 6c 6b 25 21 37 36 |ring0(errblk%!76| 00003b40 2c 74 69 74 6c 65 24 29 0d 02 57 47 20 c8 99 20 |,title$)..WG .. | 00003b50 66 6f 72 63 65 72 65 64 72 61 77 25 2c 2d 31 2c |forceredraw%,-1,| 00003b60 65 72 72 62 6c 6b 25 21 34 2c 28 65 72 72 62 6c |errblk%!4,(errbl| 00003b70 6b 25 21 31 36 29 2c 65 72 72 62 6c 6b 25 21 31 |k%!16),errblk%!1| 00003b80 32 2c 65 72 72 62 6c 6b 25 21 31 36 2b 33 36 0d |2,errblk%!16+36.| 00003b90 02 58 06 20 e1 0d 02 59 04 0d 02 5a 04 0d 02 5b |.X. ...Y...Z...[| 00003ba0 04 0d 02 5c 69 f4 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |...\i.----------| 00003bb0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003c00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 02 5d 04 0d 02 |----------..]...| 00003c10 5e 15 20 dd f2 63 68 65 63 6b 5f 69 63 6f 6e 5f |^. ..check_icon_| 00003c20 62 61 72 0d 02 5f 22 20 6d 78 25 3d 21 71 25 3a |bar.._" mx%=!q%:| 00003c30 6d 79 25 3d 71 25 21 34 3a 62 75 74 74 6f 6e 25 |my%=q%!4:button%| 00003c40 3d 71 25 21 38 0d 02 60 2f 20 e7 20 62 75 74 74 |=q%!8..`/ . butt| 00003c50 6f 6e 25 20 80 20 32 3a f2 64 6f 5f 69 63 6f 6e |on% . 2:.do_icon| 00003c60 5f 62 61 72 5f 6d 65 6e 75 28 6d 78 25 2c 6d 79 |_bar_menu(mx%,my| 00003c70 25 29 3a e1 0d 02 61 14 20 f2 66 72 6f 6e 74 28 |%):...a. .front(| 00003c80 6d 61 69 6e 5f 77 25 29 0d 02 62 23 20 c8 99 20 |main_w%)..b# .. | 00003c90 73 65 74 63 61 72 65 74 25 2c 6d 61 69 6e 5f 77 |setcaret%,main_w| 00003ca0 25 2c 2d 31 2c 30 2c 30 2c 31 30 0d 02 63 06 20 |%,-1,0,0,10..c. | 00003cb0 e1 0d 02 64 04 0d 02 65 1e 20 dd f2 64 6f 5f 69 |...d...e. ..do_i| 00003cc0 63 6f 6e 5f 62 61 72 5f 6d 65 6e 75 28 78 25 2c |con_bar_menu(x%,| 00003cd0 79 25 29 0d 02 66 2f 20 e7 20 73 63 61 6e 5f 74 |y%)..f/ . scan_t| 00003ce0 69 6d 65 25 3d 30 3a 73 63 61 6e 5f 74 69 6d 65 |ime%=0:scan_time| 00003cf0 25 3d 31 30 30 3a 73 63 61 6e 5f 6b 65 79 73 25 |%=100:scan_keys%| 00003d00 3d 31 0d 02 67 1a 20 e3 20 6f 70 74 25 3d 30 b8 |=1..g. . opt%=0.| 00003d10 32 88 32 3a 50 25 3d 6d 61 69 6e 25 0d 02 68 0e |2.2:P%=main%..h.| 00003d20 20 5b 6f 70 74 20 6f 70 74 25 0d 02 69 0d 2e 69 | [opt opt%..i..i| 00003d30 63 6f 6e 6d 65 6e 75 0d 02 6a 0f 20 65 71 75 73 |conmenu..j. equs| 00003d40 20 6d 65 6e 75 24 0d 02 6b 29 20 65 71 75 64 20 | menu$..k) equd | 00003d50 26 30 37 30 32 30 37 3a 65 71 75 64 20 32 30 38 |&070207:equd 208| 00003d60 3a 65 71 75 64 20 34 30 3a 65 71 75 64 20 30 0d |:equd 40:equd 0.| 00003d70 02 6c 25 20 65 71 75 64 20 30 3a 65 71 75 64 20 |.l% equd 0:equd | 00003d80 69 6e 66 6f 25 3a 65 71 75 64 20 26 30 37 30 30 |info%:equd &0700| 00003d90 30 30 32 31 0d 02 6d 18 20 65 71 75 73 20 22 49 |0021..m. equs "I| 00003da0 6e 66 6f 20 20 20 20 20 20 20 20 22 0d 02 6e 30 |nfo "..n0| 00003db0 20 65 71 75 64 20 73 63 61 6e 6e 69 6e 67 25 80 | equd scanning%.| 00003dc0 31 3a 65 71 75 64 20 69 62 6d 65 6e 75 3a 65 71 |1:equd ibmenu:eq| 00003dd0 75 64 20 26 30 37 30 30 30 30 32 31 0d 02 6f 18 |ud &07000021..o.| 00003de0 20 65 71 75 73 20 22 53 63 61 6e 6e 69 6e 67 20 | equs "Scanning | 00003df0 20 20 20 22 0d 02 70 26 20 65 71 75 64 20 30 3a | "..p& equd 0:| 00003e00 65 71 75 64 20 73 6f 6d 65 6e 75 3a 65 71 75 64 |equd somenu:equd| 00003e10 20 26 30 37 30 30 30 30 32 31 0d 02 71 18 20 65 | &07000021..q. e| 00003e20 71 75 73 20 22 53 6f 75 6e 64 20 76 6f 6c 75 6d |qus "Sound volum| 00003e30 65 22 0d 02 72 24 20 65 71 75 64 20 26 38 30 3a |e"..r$ equd &80:| 00003e40 65 71 75 64 20 2d 31 3a 65 71 75 64 20 26 30 37 |equd -1:equd &07| 00003e50 30 30 30 30 32 31 0d 02 73 18 20 65 71 75 73 20 |000021..s. equs | 00003e60 22 51 75 69 74 20 20 20 20 20 20 20 20 22 0d 02 |"Quit "..| 00003e70 74 04 0d 02 75 0b 2e 69 62 6d 65 6e 75 0d 02 76 |t...u..ibmenu..v| 00003e80 1b 20 65 71 75 73 20 22 53 63 61 6e 6e 69 6e 67 |. equs "Scanning| 00003e90 22 3a 65 71 75 64 20 30 0d 02 77 29 20 65 71 75 |":equd 0..w) equ| 00003ea0 64 20 26 30 37 30 32 30 37 3a 65 71 75 64 20 32 |d &070207:equd 2| 00003eb0 30 38 3a 65 71 75 64 20 34 30 3a 65 71 75 64 20 |08:equd 40:equd | 00003ec0 30 0d 02 78 31 20 65 71 75 64 20 28 73 63 61 6e |0..x1 equd (scan| 00003ed0 5f 6b 65 79 73 25 3d 32 29 80 31 3a 65 71 75 64 |_keys%=2).1:equd| 00003ee0 20 2d 31 3a 65 71 75 64 20 26 30 37 30 30 30 30 | -1:equd &070000| 00003ef0 32 31 0d 02 79 18 20 65 71 75 73 20 22 54 77 6f |21..y. equs "Two| 00003f00 20 73 77 69 74 63 68 65 73 22 0d 02 7a 29 20 65 | switches"..z) e| 00003f10 71 75 64 20 26 38 30 3a 65 71 75 64 20 69 62 6d |qud &80:equd ibm| 00003f20 65 6e 75 31 3a 65 71 75 64 20 26 30 37 30 30 30 |enu1:equd &07000| 00003f30 30 32 31 0d 02 7b 18 20 65 71 75 73 20 22 53 70 |021..{. equs "Sp| 00003f40 65 65 64 20 20 20 20 20 20 20 22 0d 02 7c 04 0d |eed "..|..| 00003f50 02 7d 0b 2e 73 6f 6d 65 6e 75 0d 02 7e 18 20 65 |.}..somenu..~. e| 00003f60 71 75 73 20 22 53 6f 75 6e 64 20 56 6f 6c 75 6d |qus "Sound Volum| 00003f70 65 22 0d 02 7f 29 20 65 71 75 64 20 26 30 37 30 |e"...) equd &070| 00003f80 32 30 37 3a 65 71 75 64 20 32 30 38 3a 65 71 75 |207:equd 208:equ| 00003f90 64 20 34 30 3a 65 71 75 64 20 30 0d 02 80 34 20 |d 40:equd 0...4 | 00003fa0 65 71 75 64 20 28 73 6f 75 6e 64 5f 76 6f 6c 25 |equd (sound_vol%| 00003fb0 3d 26 31 30 46 29 80 31 3a 65 71 75 64 20 2d 31 |=&10F).1:equd -1| 00003fc0 3a 65 71 75 64 20 26 30 37 30 30 30 30 32 31 0d |:equd &07000021.| 00003fd0 02 81 18 20 65 71 75 73 20 22 4f 66 66 20 20 20 |... equs "Off | 00003fe0 20 20 20 20 20 20 22 0d 02 82 34 20 65 71 75 64 | "...4 equd| 00003ff0 20 28 73 6f 75 6e 64 5f 76 6f 6c 25 3d 26 31 34 | (sound_vol%=&14| 00004000 46 29 80 31 3a 65 71 75 64 20 2d 31 3a 65 71 75 |F).1:equd -1:equ| 00004010 64 20 26 30 37 30 30 30 30 32 31 0d 02 83 18 20 |d &07000021.... | 00004020 65 71 75 73 20 22 51 75 69 65 74 20 20 20 20 20 |equs "Quiet | 00004030 20 20 22 0d 02 84 3c 20 65 71 75 64 20 26 38 30 | "...< equd &80| 00004040 20 84 20 28 28 73 6f 75 6e 64 5f 76 6f 6c 25 3d | . ((sound_vol%=| 00004050 26 31 37 46 29 80 31 29 3a 65 71 75 64 20 2d 31 |&17F).1):equd -1| 00004060 3a 65 71 75 64 20 26 30 37 30 30 30 30 32 31 0d |:equd &07000021.| 00004070 02 85 18 20 65 71 75 73 20 22 4c 6f 75 64 20 20 |... equs "Loud | 00004080 20 20 20 20 20 20 22 0d 02 86 04 0d 02 87 0c 2e | ".........| 00004090 69 62 6d 65 6e 75 31 0d 02 88 21 20 65 71 75 73 |ibmenu1...! equs| 000040a0 20 22 53 65 63 6f 6e 64 73 22 3a 65 71 75 62 20 | "Seconds":equb | 000040b0 30 3a 65 71 75 64 20 30 0d 02 89 29 20 65 71 75 |0:equd 0...) equ| 000040c0 64 20 26 30 37 30 32 30 37 3a 65 71 75 64 20 32 |d &070207:equd 2| 000040d0 30 38 3a 65 71 75 64 20 34 30 3a 65 71 75 64 20 |08:equd 40:equd | 000040e0 30 0d 02 8a 24 20 65 71 75 64 20 26 38 34 3a 65 |0...$ equd &84:e| 000040f0 71 75 64 20 2d 31 3a 65 71 75 64 20 26 30 37 30 |qud -1:equd &070| 00004100 30 30 31 32 31 0d 02 8b 22 20 65 71 75 64 20 69 |00121..." equd i| 00004110 62 6d 65 73 73 3a 65 71 75 64 20 69 62 76 61 6c |bmess:equd ibval| 00004120 3a 65 71 75 64 20 38 0d 02 8c 04 0d 02 8d 1a 2e |:equd 8.........| 00004130 69 62 76 61 6c 20 65 71 75 73 20 22 61 30 2d 39 |ibval equs "a0-9| 00004140 2e 22 2b bd 30 0d 02 8e 27 2e 69 62 6d 65 73 73 |."+.0...'.ibmess| 00004150 20 65 71 75 73 20 c3 28 73 63 61 6e 5f 74 69 6d | equs .(scan_tim| 00004160 65 25 2f 31 30 30 29 2b bd 28 30 29 0d 02 8f 04 |e%/100)+.(0)....| 00004170 0d 02 90 08 20 5d 3a ed 0d 02 91 04 0d 02 92 25 |.... ]:........%| 00004180 20 c8 99 20 63 72 65 61 74 65 6d 65 6e 75 25 2c | .. createmenu%,| 00004190 2c 6d 61 69 6e 25 2c 6d 78 25 2d 31 36 2c 32 36 |,main%,mx%-16,26| 000041a0 30 0d 02 93 0c 20 6d 65 6e 75 25 3d 35 0d 02 94 |0.... menu%=5...| 000041b0 06 20 e1 0d 02 95 04 0d 02 96 69 f4 2d 2d 2d 2d |. ........i.----| 000041c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00004220 0d 02 97 04 0d 02 98 14 20 dd f2 69 63 6f 6e 5f |........ ..icon_| 00004230 62 61 72 5f 6d 65 6e 75 0d 02 99 09 20 ea 20 63 |bar_menu.... . c| 00004240 25 0d 02 9a 0d 20 c8 8e 20 21 71 25 20 ca 0d 02 |%.... .. !q% ...| 00004250 9b 0a 20 20 20 c9 20 31 0d 02 9c 12 20 20 20 20 |.. . 1.... | 00004260 20 c8 8e 20 71 25 21 34 20 ca 0d 02 9d 27 20 20 | .. q%!4 ....' | 00004270 20 20 20 20 20 c9 20 2d 31 3a 73 63 61 6e 6e 69 | . -1:scanni| 00004280 6e 67 25 3d 73 63 61 6e 6e 69 6e 67 25 20 82 20 |ng%=scanning% . | 00004290 b9 0d 02 9e 0f 20 20 20 20 20 20 20 c9 20 30 3a |..... . 0:| 000042a0 0d 02 9f 37 20 20 20 20 20 20 20 20 20 e7 20 73 |...7 . s| 000042b0 63 61 6e 5f 6b 65 79 73 25 3d 32 20 73 63 61 6e |can_keys%=2 scan| 000042c0 5f 6b 65 79 73 25 3d 31 20 8b 20 73 63 61 6e 5f |_keys%=1 . scan_| 000042d0 6b 65 79 73 25 3d 32 0d 02 a0 18 20 20 20 20 20 |keys%=2.... | 000042e0 20 20 20 20 73 63 61 6e 6e 69 6e 67 25 3d b9 0d | scanning%=..| 000042f0 02 a1 0f 20 20 20 20 20 20 20 c9 20 31 3a 0d 02 |... . 1:..| 00004300 a2 29 20 20 20 20 20 20 20 20 20 74 25 3d 28 bb |.) t%=(.| 00004310 28 a4 73 74 72 69 6e 67 30 28 69 62 6d 65 73 73 |(.string0(ibmess| 00004320 29 29 29 2a 31 30 30 0d 02 a3 1f 20 20 20 20 20 |)))*100.... | 00004330 20 20 20 20 e7 20 74 25 20 73 63 61 6e 5f 74 69 | . t% scan_ti| 00004340 6d 65 25 3d 74 25 0d 02 a4 18 20 20 20 20 20 20 |me%=t%.... | 00004350 20 20 20 73 63 61 6e 6e 69 6e 67 25 3d b9 0d 02 | scanning%=...| 00004360 a5 0a 20 20 20 20 20 cb 0d 02 a6 0b 20 20 20 c9 |.. ..... .| 00004370 20 32 3a 0d 02 a7 12 20 20 20 20 20 c8 8e 20 71 | 2:.... .. q| 00004380 25 21 34 20 ca 0d 02 a8 1e 20 20 20 20 20 20 20 |%!4 ..... | 00004390 c9 20 30 3a 73 6f 75 6e 64 5f 76 6f 6c 25 3d 26 |. 0:sound_vol%=&| 000043a0 31 30 46 0d 02 a9 1e 20 20 20 20 20 20 20 c9 20 |10F.... . | 000043b0 31 3a 73 6f 75 6e 64 5f 76 6f 6c 25 3d 26 31 34 |1:sound_vol%=&14| 000043c0 46 0d 02 aa 1e 20 20 20 20 20 20 20 c9 20 32 3a |F.... . 2:| 000043d0 73 6f 75 6e 64 5f 76 6f 6c 25 3d 26 31 37 46 0d |sound_vol%=&17F.| 000043e0 02 ab 0a 20 20 20 20 20 cb 0d 02 ac 30 20 20 20 |... ....0 | 000043f0 c9 20 33 3a e7 20 6d 6f 64 69 66 69 65 64 25 20 |. 3:. modified% | 00004400 f2 6f 70 65 6e 5f 71 75 65 72 79 28 22 22 29 20 |.open_query("") | 00004410 8b 20 f2 66 69 6e 69 73 68 0d 02 ad 06 20 cb 0d |. .finish.... ..| 00004420 02 ae 37 20 c8 99 20 67 65 74 70 25 2c 2c 71 25 |..7 .. getp%,,q%| 00004430 3a e7 20 71 25 21 38 20 80 20 31 20 f2 64 6f 5f |:. q%!8 . 1 .do_| 00004440 69 63 6f 6e 5f 62 61 72 5f 6d 65 6e 75 28 6d 78 |icon_bar_menu(mx| 00004450 25 2c 6d 79 25 29 0d 02 af 06 20 e1 0d 02 b0 04 |%,my%).... .....| 00004460 0d 02 b1 6d f4 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |...m.-----------| 00004470 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000044c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 02 b2 |-------------...| 000044d0 04 0d 02 b3 31 20 dd f2 64 72 61 77 5f 6d 61 69 |....1 ..draw_mai| 000044e0 6e 5f 77 28 77 78 25 2c 77 79 25 2c 77 78 31 25 |n_w(wx%,wy%,wx1%| 000044f0 2c 77 79 31 25 2c 6f 66 66 78 25 2c 6f 66 66 79 |,wy1%,offx%,offy| 00004500 25 29 0d 02 b4 2f 20 c8 99 20 67 65 74 65 6e 74 |%).../ .. getent| 00004510 72 79 25 2c 73 5f 70 61 67 65 73 25 2c 63 75 72 |ry%,s_pages%,cur| 00004520 72 65 6e 74 5f 70 61 67 65 25 20 b8 20 61 64 72 |rent_page% . adr| 00004530 25 0d 02 b5 25 20 73 74 61 63 6b 25 3d 61 64 72 |%...% stack%=adr| 00004540 25 21 32 30 3a 70 61 67 65 5f 63 6f 6c 25 3d 61 |%!20:page_col%=a| 00004550 64 72 25 21 32 38 0d 02 b6 45 20 c8 99 20 73 65 |dr%!28...E .. se| 00004560 74 63 6f 6c 25 2c 70 61 67 65 5f 63 6f 6c 25 3a |tcol%,page_col%:| 00004570 c8 93 20 c8 90 20 77 78 25 2b 6f 66 66 78 25 2c |.. .. wx%+offx%,| 00004580 77 79 25 2b 6f 66 66 79 25 2c 77 78 31 25 2d 77 |wy%+offy%,wx1%-w| 00004590 78 25 2c 77 79 31 25 2d 77 79 25 0d 02 b7 1e 20 |x%,wy1%-wy%.... | 000045a0 c8 99 20 6e 65 6e 74 72 69 65 73 25 2c 73 74 61 |.. nentries%,sta| 000045b0 63 6b 25 20 b8 20 6e 6f 25 0d 02 b8 0c 20 e7 20 |ck% . no%.... . | 000045c0 6e 6f 25 20 8c 0d 02 b9 18 20 20 20 e3 20 6f 62 |no% ..... . ob| 000045d0 6a 65 63 74 25 3d 31 20 b8 20 6e 6f 25 0d 02 ba |ject%=1 . no%...| 000045e0 30 20 20 20 20 20 c8 99 20 67 65 74 6e 74 68 25 |0 .. getnth%| 000045f0 2c 73 74 61 63 6b 25 2c 6f 62 6a 65 63 74 25 20 |,stack%,object% | 00004600 b8 20 61 64 72 25 2c 74 6f 6b 65 6e 25 0d 02 bb |. adr%,token%...| 00004610 45 20 20 20 20 20 78 25 3d 61 64 72 25 21 31 32 |E x%=adr%!12| 00004620 3a 79 25 3d 61 64 72 25 21 31 36 3a 78 31 25 3d |:y%=adr%!16:x1%=| 00004630 61 64 72 25 21 32 30 3a 79 31 25 3d 61 64 72 25 |adr%!20:y1%=adr%| 00004640 21 32 34 3a 66 6c 61 67 73 25 3d 61 64 72 25 21 |!24:flags%=adr%!| 00004650 33 36 0d 02 bc 43 20 20 20 20 20 e7 20 78 25 3c |36...C . x%<| 00004660 77 78 31 25 20 80 20 78 31 25 3e 77 78 25 20 80 |wx1% . x1%>wx% .| 00004670 20 79 25 3c 77 79 31 25 20 80 20 79 31 25 3e 77 | y%<wy1% . y1%>w| 00004680 79 25 20 80 20 28 66 6c 61 67 73 25 80 31 32 38 |y% . (flags%.128| 00004690 29 3d 30 20 8c 0d 02 bd 16 20 20 20 20 20 20 20 |)=0 ..... | 000046a0 c8 8e 20 61 64 72 25 21 34 20 ca 0d 02 be 3c 20 |.. adr%!4 ....< | 000046b0 20 20 20 20 20 20 20 20 c9 20 73 5f 74 65 78 74 | . s_text| 000046c0 25 3a f2 64 72 61 77 5f 74 65 78 74 28 73 74 61 |%:.draw_text(sta| 000046d0 63 6b 25 2c 74 6f 6b 65 6e 25 2c 6f 66 66 78 25 |ck%,token%,offx%| 000046e0 2c 6f 66 66 79 25 29 0d 02 bf 65 20 20 20 20 20 |,offy%)...e | 000046f0 20 20 20 20 c9 20 73 5f 73 70 72 69 74 65 73 25 | . s_sprites%| 00004700 2c 73 5f 64 72 61 77 25 3a f2 64 72 61 77 5f 70 |,s_draw%:.draw_p| 00004710 69 63 74 75 72 65 28 61 64 72 25 21 34 2c 61 64 |icture(adr%!4,ad| 00004720 72 25 21 38 2c 78 25 2b 6f 66 66 78 25 2c 79 25 |r%!8,x%+offx%,y%| 00004730 2b 6f 66 66 79 25 2c 78 31 25 2d 78 25 2c 79 31 |+offy%,x1%-x%,y1| 00004740 25 2d 79 25 2c 66 6c 61 67 73 25 29 0d 02 c0 0c |%-y%,flags%)....| 00004750 20 20 20 20 20 20 20 cb 0d 02 c1 0a 20 20 20 20 | ..... | 00004760 20 cd 0d 02 c2 08 20 20 20 ed 0d 02 c3 06 20 cd | ..... ..... .| 00004770 0d 02 c4 06 20 e1 0d 02 c5 04 0d 02 c6 1a 20 dd |.... ......... .| 00004780 a4 73 74 72 69 70 5f 73 70 61 63 65 73 28 74 65 |.strip_spaces(te| 00004790 78 74 24 29 0d 02 c7 06 20 f5 0d 02 c8 29 20 20 |xt$).... ....) | 000047a0 20 e7 20 97 74 65 78 74 24 3d 33 32 20 74 65 78 | . .text$=32 tex| 000047b0 74 24 3d c2 74 65 78 74 24 2c a9 74 65 78 74 24 |t$=.text$,.text$| 000047c0 2d 31 29 0d 02 c9 10 20 fd 97 74 65 78 74 24 3c |-1).... ..text$<| 000047d0 3e 33 32 0d 02 ca 0b 20 3d 74 65 78 74 24 0d 02 |>32.... =text$..| 000047e0 cb 04 0d 02 cc 27 20 dd a4 6c 6f 77 65 72 5f 63 |.....' ..lower_c| 000047f0 61 73 65 28 74 65 78 74 24 29 3a e7 20 74 65 78 |ase(text$):. tex| 00004800 74 24 3d 22 22 3a 3d 22 22 0d 02 cd 0f 20 ea 20 |t$="":="".... . | 00004810 74 24 2c 74 25 2c 63 25 0d 02 ce 11 20 e3 74 25 |t$,t%,c%.... .t%| 00004820 3d 31 b8 a9 74 65 78 74 24 0d 02 cf 19 20 20 20 |=1..text$.... | 00004830 63 25 3d 97 28 c1 74 65 78 74 24 2c 74 25 2c 31 |c%=.(.text$,t%,1| 00004840 29 29 0d 02 d0 1d 20 20 20 e7 20 63 25 3e 36 34 |)).... . c%>64| 00004850 20 80 20 63 25 3c 39 31 20 63 25 2b 3d 33 32 0d | . c%<91 c%+=32.| 00004860 02 d1 10 20 20 20 74 24 3d 74 24 2b bd 63 25 0d |... t$=t$+.c%.| 00004870 02 d2 06 20 ed 0d 02 d3 08 20 3d 74 24 0d 02 d4 |... ..... =t$...| 00004880 04 0d 02 d5 69 f4 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |....i.----------| 00004890 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000048e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 02 d6 04 0d 02 |----------......| 000048f0 d7 2b 20 dd f2 64 72 61 77 5f 74 65 78 74 28 73 |.+ ..draw_text(s| 00004900 74 61 63 6b 25 2c 74 6f 6b 65 6e 25 2c 6f 66 66 |tack%,token%,off| 00004910 78 25 2c 6f 66 66 79 25 29 0d 02 d8 64 20 e7 20 |x%,offy%)...d . | 00004920 73 70 65 61 6b 69 6e 67 5f 74 65 78 74 25 20 80 |speaking_text% .| 00004930 20 73 70 65 61 6b 5f 74 6f 6b 65 6e 25 3d 74 6f | speak_token%=to| 00004940 6b 65 6e 25 20 f2 68 69 67 68 6c 69 67 68 74 5f |ken% .highlight_| 00004950 74 65 78 74 28 73 74 61 63 6b 25 2c 74 6f 6b 65 |text(stack%,toke| 00004960 6e 25 2c 6f 66 66 78 25 2c 6f 66 66 79 25 2c 73 |n%,offx%,offy%,s| 00004970 70 65 61 6b 5f 77 6f 72 64 25 29 3a e1 0d 02 d9 |peak_word%):....| 00004980 26 20 c8 99 20 67 65 74 65 6e 74 72 79 25 2c 73 |& .. getentry%,s| 00004990 74 61 63 6b 25 2c 74 6f 6b 65 6e 25 20 b8 20 61 |tack%,token% . a| 000049a0 64 72 25 0d 02 da 17 20 78 25 3d 28 61 64 72 25 |dr%.... x%=(adr%| 000049b0 21 31 32 29 2b 6f 66 66 78 25 0d 02 db 17 20 79 |!12)+offx%.... y| 000049c0 25 3d 28 61 64 72 25 21 31 36 29 2b 6f 66 66 79 |%=(adr%!16)+offy| 000049d0 25 0d 02 dc 22 20 78 31 25 3d 28 61 64 72 25 21 |%..." x1%=(adr%!| 000049e0 32 30 29 2d 28 31 3c 3c 78 65 66 25 29 2b 6f 66 |20)-(1<<xef%)+of| 000049f0 66 78 25 0d 02 dd 22 20 79 31 25 3d 28 61 64 72 |fx%..." y1%=(adr| 00004a00 25 21 32 34 29 2d 28 31 3c 3c 79 65 66 25 29 2b |%!24)-(1<<yef%)+| 00004a10 6f 66 66 79 25 0d 02 de 2e 20 66 6c 61 67 73 25 |offy%.... flags%| 00004a20 3d 61 64 72 25 21 33 36 3a 66 6f 6e 74 25 3d 61 |=adr%!36:font%=a| 00004a30 64 72 25 21 34 30 3a 62 5f 73 25 3d 61 64 72 25 |dr%!40:b_s%=adr%| 00004a40 21 33 32 0d 02 df 30 20 66 63 6f 6c 25 3d 61 64 |!32...0 fcol%=ad| 00004a50 72 25 21 35 32 3a e7 20 66 63 6f 6c 25 20 80 20 |r%!52:. fcol% . | 00004a60 26 46 46 20 66 63 6f 6c 25 3d 70 61 67 65 5f 63 |&FF fcol%=page_c| 00004a70 6f 6c 25 0d 02 e0 12 20 62 63 6f 6c 25 3d 61 64 |ol%.... bcol%=ad| 00004a80 72 25 21 35 36 0d 02 e1 3b 20 e7 20 66 6c 61 67 |r%!56...; . flag| 00004a90 73 25 80 31 20 66 63 6f 6c 25 3d 66 63 6f 6c 25 |s%.1 fcol%=fcol%| 00004aa0 82 26 46 46 46 46 46 46 30 30 3a 62 63 6f 6c 25 |.&FFFFFF00:bcol%| 00004ab0 3d 62 63 6f 6c 25 82 26 46 46 46 46 46 46 30 30 |=bcol%.&FFFFFF00| 00004ac0 0d 02 e2 31 20 f2 64 72 61 77 5f 62 6f 72 64 65 |...1 .draw_borde| 00004ad0 72 28 62 5f 73 25 2c 66 63 6f 6c 25 2c 62 63 6f |r(b_s%,fcol%,bco| 00004ae0 6c 25 2c 78 25 2c 79 25 2c 78 31 25 2c 79 31 25 |l%,x%,y%,x1%,y1%| 00004af0 29 0d 02 e3 12 20 78 25 2b 3d 28 31 3c 3c 78 65 |).... x%+=(1<<xe| 00004b00 66 25 29 0d 02 e4 13 20 78 31 25 2d 3d 28 31 3c |f%).... x1%-=(1<| 00004b10 3c 78 65 66 25 29 0d 02 e5 12 20 79 25 2b 3d 28 |<xef%).... y%+=(| 00004b20 31 3c 3c 79 65 66 25 29 0d 02 e6 13 20 79 31 25 |1<<yef%).... y1%| 00004b30 2d 3d 28 31 3c 3c 79 65 66 25 29 0d 02 e7 07 ea |-=(1<<yef%).....| 00004b40 20 85 0d 02 e8 15 ee 20 85 20 ea 20 f7 20 85 3a | ...... . . . .:| 00004b50 66 6f 6e 74 25 3d 30 0d 02 e9 0e 20 e7 20 66 6f |font%=0.... . fo| 00004b60 6e 74 25 20 8c 0d 02 ea 27 20 20 20 c8 99 20 67 |nt% ....' .. g| 00004b70 65 74 65 6e 74 72 79 25 2c 73 5f 66 6f 6e 74 73 |etentry%,s_fonts| 00004b80 25 2c 66 6f 6e 74 25 20 b8 20 74 25 0d 02 eb 31 |%,font% . t%...1| 00004b90 20 20 20 c8 99 20 66 69 6e 64 66 6f 6e 74 25 2c | .. findfont%,| 00004ba0 2c 74 25 2b 34 2c 61 64 72 25 21 34 34 2c 61 64 |,t%+4,adr%!44,ad| 00004bb0 72 25 21 34 38 20 b8 20 66 6f 6e 74 25 0d 02 ec |r%!48 . font%...| 00004bc0 06 20 cd 0d 02 ed 0e 20 e7 20 66 6f 6e 74 25 20 |. ..... . font% | 00004bd0 8c 0d 02 ee 20 20 20 20 e7 20 62 63 6f 6c 25 20 |.... . bcol% | 00004be0 80 20 26 46 46 20 62 63 6f 6c 25 3d 66 63 6f 6c |. &FF bcol%=fcol| 00004bf0 25 0d 02 ef 3b 20 20 20 c8 99 20 22 43 6f 6c 6f |%...; .. "Colo| 00004c00 75 72 54 72 61 6e 73 5f 53 65 74 46 6f 6e 74 43 |urTrans_SetFontC| 00004c10 6f 6c 6f 75 72 73 22 2c 66 6f 6e 74 25 2c 62 63 |olours",font%,bc| 00004c20 6f 6c 25 2c 66 63 6f 6c 25 2c 31 34 0d 02 f0 2e |ol%,fcol%,14....| 00004c30 20 20 20 c8 99 20 66 6f 6e 74 69 6e 66 6f 25 2c | .. fontinfo%,| 00004c40 66 6f 6e 74 25 20 b8 20 2c 63 78 25 2c 63 79 25 |font% . ,cx%,cy%| 00004c50 2c 63 78 31 25 2c 63 79 31 25 0d 02 f1 06 20 cc |,cx1%,cy1%.... .| 00004c60 0d 02 f2 3e 20 20 20 63 78 25 3d 2d 28 31 3c 3c |...> cx%=-(1<<| 00004c70 78 65 66 25 29 3a 63 79 25 3d 2d 28 31 3c 3c 79 |xef%):cy%=-(1<<y| 00004c80 65 66 25 29 3a 63 78 31 25 3d 38 3c 3c 78 65 66 |ef%):cx1%=8<<xef| 00004c90 25 3a 63 79 31 25 3d 38 3c 3c 79 65 66 25 0d 02 |%:cy1%=8<<yef%..| 00004ca0 f3 06 20 cd 0d 02 f4 16 20 74 65 78 74 5f 68 65 |.. ..... text_he| 00004cb0 69 67 68 74 25 3d 63 79 31 25 0d 02 f5 28 20 c8 |ight%=cy1%...( .| 00004cc0 99 20 67 65 74 65 6e 74 72 79 25 2c 73 5f 74 65 |. getentry%,s_te| 00004cd0 78 74 25 2c 61 64 72 25 21 38 20 b8 20 74 65 78 |xt%,adr%!8 . tex| 00004ce0 74 25 0d 02 f6 0d 20 74 65 78 74 25 2b 3d 34 0d |t%.... text%+=4.| 00004cf0 02 f7 13 20 74 65 78 74 5f 6f 66 66 73 65 74 25 |... text_offset%| 00004d00 3d 30 0d 02 f8 2c 20 70 78 25 3d 78 25 2b 6d 61 |=0..., px%=x%+ma| 00004d10 72 67 69 6e 25 3a 70 79 25 3d 79 31 25 2d 74 65 |rgin%:py%=y1%-te| 00004d20 78 74 5f 68 65 69 67 68 74 25 2b 63 79 25 0d 02 |xt_height%+cy%..| 00004d30 f9 24 20 63 65 6e 74 72 65 25 3d a3 3a 72 69 67 |.$ centre%=.:rig| 00004d40 68 74 25 3d a3 3a 75 6e 64 65 72 6c 69 6e 65 25 |ht%=.:underline%| 00004d50 3d a3 0d 02 fa 1b 20 e7 20 66 6c 61 67 73 25 20 |=..... . flags% | 00004d60 80 20 38 20 63 65 6e 74 72 65 25 3d b9 0d 02 fb |. 8 centre%=....| 00004d70 1b 20 e7 20 66 6c 61 67 73 25 20 80 20 31 36 20 |. . flags% . 16 | 00004d80 72 69 67 68 74 25 3d b9 0d 02 fc 1f 20 e7 20 66 |right%=..... . f| 00004d90 6c 61 67 73 25 20 80 20 33 32 20 75 6e 64 65 72 |lags% . 32 under| 00004da0 6c 69 6e 65 25 3d b9 0d 02 fd 06 20 f5 0d 02 fe |line%=..... ....| 00004db0 1e 20 20 20 c8 8e 20 74 65 78 74 5f 6f 66 66 73 |. .. text_offs| 00004dc0 65 74 25 3f 74 65 78 74 25 20 ca 0d 02 ff 0d 20 |et%?text% ..... | 00004dd0 20 20 20 20 c9 20 30 3a 0d 03 00 2f 20 20 20 20 | . 0:.../ | 00004de0 20 c9 20 31 33 3a 70 79 25 2d 3d 74 65 78 74 5f | . 13:py%-=text_| 00004df0 68 65 69 67 68 74 25 3a 74 65 78 74 5f 6f 66 66 |height%:text_off| 00004e00 73 65 74 25 2b 3d 31 0d 03 01 0a 20 20 20 20 20 |set%+=1.... | 00004e10 7f 0d 03 02 2d 20 20 20 20 20 20 20 74 65 78 74 |....- text| 00004e20 24 3d a4 73 74 72 69 6e 67 30 28 74 65 78 74 25 |$=.string0(text%| 00004e30 2b 74 65 78 74 5f 6f 66 66 73 65 74 25 29 0d 03 |+text_offset%)..| 00004e40 03 1f 20 20 20 20 20 20 20 74 65 78 74 5f 6f 66 |.. text_of| 00004e50 66 73 65 74 25 2b 3d a9 74 65 78 74 24 0d 03 04 |fset%+=.text$...| 00004e60 14 20 20 20 20 20 20 20 e7 20 66 6f 6e 74 25 20 |. . font% | 00004e70 8c 0d 03 05 40 20 20 20 20 20 20 20 20 20 c8 99 |....@ ..| 00004e80 20 73 74 72 69 6e 67 77 69 64 74 68 25 2c 2c 74 | stringwidth%,,t| 00004e90 65 78 74 24 2c 31 3c 3c 33 30 2c 31 3c 3c 33 30 |ext$,1<<30,1<<30| 00004ea0 2c 2d 31 2c a9 74 65 78 74 24 20 b8 20 2c 2c 77 |,-1,.text$ . ,,w| 00004eb0 25 0d 03 06 26 20 20 20 20 20 20 20 20 20 c8 99 |%...& ..| 00004ec0 20 63 6f 6e 76 65 72 74 74 6f 6f 73 25 2c 2c 77 | converttoos%,,w| 00004ed0 25 20 b8 20 2c 77 25 0d 03 07 2d 20 20 20 20 20 |% . ,w%...- | 00004ee0 20 20 20 20 e7 20 63 65 6e 74 72 65 25 20 70 78 | . centre% px| 00004ef0 25 3d 78 25 2b 28 78 31 25 2d 78 25 29 81 32 2d |%=x%+(x1%-x%).2-| 00004f00 77 25 81 32 0d 03 08 28 20 20 20 20 20 20 20 20 |w%.2...( | 00004f10 20 e7 20 72 69 67 68 74 25 20 70 78 25 3d 78 31 | . right% px%=x1| 00004f20 25 2d 77 25 2d 6d 61 72 67 69 6e 25 0d 03 09 36 |%-w%-margin%...6| 00004f30 20 20 20 20 20 20 20 20 20 e7 20 75 6e 64 65 72 | . under| 00004f40 6c 69 6e 65 25 20 74 65 78 74 24 3d bd 28 32 35 |line% text$=.(25| 00004f50 29 2b bd 28 31 29 2b bd 28 31 36 29 2b 74 65 78 |)+.(1)+.(16)+tex| 00004f60 74 24 0d 03 0a 2e 20 20 20 20 20 20 20 20 20 c8 |t$.... .| 00004f70 99 20 70 61 69 6e 74 25 2c 2c 74 65 78 74 24 2c |. paint%,,text$,| 00004f80 31 3c 3c 34 2c 70 78 25 2c 70 79 25 2d 63 79 25 |1<<4,px%,py%-cy%| 00004f90 0d 03 0b 0c 20 20 20 20 20 20 20 cc 0d 03 0c 1b |.... .....| 00004fa0 20 20 20 20 20 20 20 20 20 77 25 3d a9 74 65 78 | w%=.tex| 00004fb0 74 24 2a 63 78 31 25 0d 03 0d 2d 20 20 20 20 20 |t$*cx1%...- | 00004fc0 20 20 20 20 e7 20 63 65 6e 74 72 65 25 20 70 78 | . centre% px| 00004fd0 25 3d 78 25 2b 28 78 31 25 2d 78 25 29 81 32 2d |%=x%+(x1%-x%).2-| 00004fe0 77 25 81 32 0d 03 0e 28 20 20 20 20 20 20 20 20 |w%.2...( | 00004ff0 20 e7 20 72 69 67 68 74 25 20 70 78 25 3d 78 31 | . right% px%=x1| 00005000 25 2d 77 25 2d 6d 61 72 67 69 6e 25 0d 03 0f 33 |%-w%-margin%...3| 00005010 20 20 20 20 20 20 20 20 20 c8 99 20 73 65 74 63 | .. setc| 00005020 6f 6c 25 2c 66 63 6f 6c 25 3a ec 20 70 78 25 2c |ol%,fcol%:. px%,| 00005030 70 79 25 2b 63 79 31 25 3a f1 74 65 78 74 24 0d |py%+cy1%:.text$.| 00005040 03 10 38 20 20 20 20 20 20 20 20 20 e7 20 75 6e |..8 . un| 00005050 64 65 72 6c 69 6e 65 25 20 ec 20 70 78 25 2c 70 |derline% . px%,p| 00005060 79 25 2d 63 79 25 3a f0 31 2c 63 78 31 25 2a a9 |y%-cy%:.1,cx1%*.| 00005070 74 65 78 74 24 2c 30 0d 03 11 0c 20 20 20 20 20 |text$,0.... | 00005080 20 20 cd 0d 03 12 08 20 20 20 cb 0d 03 13 1b 20 | ..... ..... | 00005090 fd 20 74 65 78 74 5f 6f 66 66 73 65 74 25 3f 74 |. text_offset%?t| 000050a0 65 78 74 25 3d 30 0d 03 14 1f 20 e7 20 66 6f 6e |ext%=0.... . fon| 000050b0 74 25 20 c8 99 20 6c 6f 73 65 66 6f 6e 74 25 2c |t% .. losefont%,| 000050c0 66 6f 6e 74 25 0d 03 15 06 20 e1 0d 03 16 04 0d |font%.... ......| 000050d0 03 17 33 20 dd f2 64 72 61 77 5f 62 6f 72 64 65 |..3 ..draw_borde| 000050e0 72 28 73 74 79 6c 65 25 2c 63 6f 6c 25 2c 62 63 |r(style%,col%,bc| 000050f0 6f 6c 25 2c 78 25 2c 79 25 2c 78 31 25 2c 79 31 |ol%,x%,y%,x1%,y1| 00005100 25 29 0d 03 18 3f 20 e7 20 28 62 63 6f 6c 25 80 |%)...? . (bcol%.| 00005110 26 46 46 29 3d 30 20 c8 99 20 73 65 74 63 6f 6c |&FF)=0 .. setcol| 00005120 25 2c 62 63 6f 6c 25 3a c8 93 20 c8 90 20 78 25 |%,bcol%:.. .. x%| 00005130 2c 79 25 2c 78 31 25 2d 78 25 2c 79 31 25 2d 79 |,y%,x1%-x%,y1%-y| 00005140 25 0d 03 19 10 20 c8 8e 20 73 74 79 6c 65 25 20 |%.... .. style% | 00005150 ca 0d 03 1a 0a 20 20 20 c9 20 31 0d 03 1b 18 20 |..... . 1.... | 00005160 20 20 20 20 c8 99 20 73 65 74 63 6f 6c 25 2c 63 | .. setcol%,c| 00005170 6f 6c 25 0d 03 1c 1f 20 20 20 20 20 c8 93 20 78 |ol%.... .. x| 00005180 25 2c 79 25 2c 78 31 25 2d 78 25 2c 79 31 25 2d |%,y%,x1%-x%,y1%-| 00005190 79 25 0d 03 1d 11 20 20 20 c9 20 32 3a f4 20 62 |y%.... . 2:. b| 000051a0 6f 6c 64 0d 03 1e 1d 20 20 20 20 20 c8 99 20 73 |old.... .. s| 000051b0 65 74 63 6f 6c 25 2c 26 46 46 46 46 46 46 30 30 |etcol%,&FFFFFF00| 000051c0 0d 03 1f 23 20 20 20 20 20 ec 20 78 25 2c 79 25 |...# . x%,y%| 000051d0 3a df 20 78 25 2c 79 31 25 3a df 20 78 31 25 2c |:. x%,y1%:. x1%,| 000051e0 79 31 25 0d 03 20 27 20 20 20 20 20 c8 99 20 73 |y1%.. ' .. s| 000051f0 65 74 63 6f 6c 25 2c 21 28 77 69 6d 70 5f 70 61 |etcol%,!(wimp_pa| 00005200 6c 65 74 74 65 25 2b 31 36 29 0d 03 21 19 20 20 |lette%+16)..!. | 00005210 20 20 20 df 20 78 31 25 2c 79 25 3a df 20 78 25 | . x1%,y%:. x%| 00005220 2c 79 25 0d 03 22 12 20 20 20 c9 20 33 3a f4 20 |,y%..". . 3:. | 00005230 69 6e 73 65 74 0d 03 23 27 20 20 20 20 20 c8 99 |inset..#' ..| 00005240 20 73 65 74 63 6f 6c 25 2c 21 28 77 69 6d 70 5f | setcol%,!(wimp_| 00005250 70 61 6c 65 74 74 65 25 2b 31 36 29 0d 03 24 23 |palette%+16)..$#| 00005260 20 20 20 20 20 ec 20 78 25 2c 79 25 3a df 20 78 | . x%,y%:. x| 00005270 25 2c 79 31 25 3a df 20 78 31 25 2c 79 31 25 0d |%,y1%:. x1%,y1%.| 00005280 03 25 1d 20 20 20 20 20 c8 99 20 73 65 74 63 6f |.%. .. setco| 00005290 6c 25 2c 26 46 46 46 46 46 46 30 30 0d 03 26 19 |l%,&FFFFFF00..&.| 000052a0 20 20 20 20 20 df 20 78 31 25 2c 79 25 3a df 20 | . x1%,y%:. | 000052b0 78 25 2c 79 25 0d 03 27 08 20 20 20 cb 0d 03 28 |x%,y%..'. ...(| 000052c0 06 20 cd 0d 03 29 06 20 e1 0d 03 2a 04 0d 03 2b |. ...). ...*...+| 000052d0 19 20 dd f2 70 6c 61 79 5f 73 6f 75 6e 64 28 73 |. ..play_sound(s| 000052e0 6f 75 6e 64 25 29 0d 03 2c 2a 20 c8 99 20 67 65 |ound%)..,* .. ge| 000052f0 74 65 6e 74 72 79 25 2c 73 5f 73 6f 75 6e 64 73 |tentry%,s_sounds| 00005300 25 2c 73 6f 75 6e 64 25 20 b8 20 61 64 72 31 25 |%,sound% . adr1%| 00005310 0d 03 2d 47 20 6c 65 6e 25 3d 28 21 61 64 72 31 |..-G len%=(!adr1| 00005320 25 29 2d 32 34 3a c8 99 20 72 65 61 64 73 74 61 |%)-24:.. readsta| 00005330 74 75 73 25 2c 73 5f 73 6f 75 6e 64 73 25 2c 73 |tus%,s_sounds%,s| 00005340 6f 75 6e 64 25 20 b8 20 6c 25 3a e7 20 6c 25 20 |ound% . l%:. l% | 00005350 6c 65 6e 25 3d 6c 25 0d 03 2e 08 20 ea 20 85 0d |len%=l%.... . ..| 00005360 03 2f 1a 20 ee 20 85 20 ea 20 f7 20 85 3a f2 65 |./. . . . . .:.e| 00005370 72 72 6f 72 62 6f 78 3a e1 0d 03 30 2b 20 c8 99 |rrorbox:...0+ ..| 00005380 20 70 6c 61 79 73 6f 75 6e 64 25 2c 61 64 72 31 | playsound%,adr1| 00005390 25 2b 32 34 2c 6c 65 6e 25 2c 73 6f 75 6e 64 5f |%+24,len%,sound_| 000053a0 76 6f 6c 25 0d 03 31 06 20 e1 0d 03 32 04 0d 03 |vol%..1. ...2...| 000053b0 33 1e 20 dd f2 70 6c 61 79 5f 73 6f 75 6e 64 5f |3. ..play_sound_| 000053c0 77 61 69 74 28 73 6f 75 6e 64 25 29 0d 03 34 2a |wait(sound%)..4*| 000053d0 20 c8 99 20 67 65 74 65 6e 74 72 79 25 2c 73 5f | .. getentry%,s_| 000053e0 73 6f 75 6e 64 73 25 2c 73 6f 75 6e 64 25 20 b8 |sounds%,sound% .| 000053f0 20 61 64 72 31 25 0d 03 35 47 20 6c 65 6e 25 3d | adr1%..5G len%=| 00005400 28 21 61 64 72 31 25 29 2d 32 34 3a c8 99 20 72 |(!adr1%)-24:.. r| 00005410 65 61 64 73 74 61 74 75 73 25 2c 73 5f 73 6f 75 |eadstatus%,s_sou| 00005420 6e 64 73 25 2c 73 6f 75 6e 64 25 20 b8 20 6c 25 |nds%,sound% . l%| 00005430 3a e7 20 6c 25 20 6c 65 6e 25 3d 6c 25 0d 03 36 |:. l% len%=l%..6| 00005440 2b 20 c8 99 20 70 6c 61 79 73 6f 75 6e 64 25 2c |+ .. playsound%,| 00005450 61 64 72 31 25 2b 32 34 2c 6c 65 6e 25 2c 73 6f |adr1%+24,len%,so| 00005460 75 6e 64 5f 76 6f 6c 25 0d 03 37 23 20 f5 3a c8 |und_vol%..7# .:.| 00005470 99 20 70 6c 61 79 73 6f 75 6e 64 25 2c 30 20 b8 |. playsound%,0 .| 00005480 20 74 25 3a fd 74 25 3c 3e 2d 31 0d 03 38 06 20 | t%:.t%<>-1..8. | 00005490 e1 0d 03 39 04 0d 03 3a 18 20 dd f2 6d 61 6b 65 |...9...:. ..make| 000054a0 5f 73 70 61 63 65 28 70 6c 75 73 25 29 0d 03 3b |_space(plus%)..;| 000054b0 23 20 73 69 7a 65 25 3d 28 21 26 34 30 30 30 34 |# size%=(!&40004| 000054c0 2d 26 34 30 30 30 30 29 2b 70 6c 75 73 25 2a 32 |-&40000)+plus%*2| 000054d0 0d 03 3c 2b 20 73 6c 6f 74 5f 73 69 7a 65 25 3d |..<+ slot_size%=| 000054e0 93 2b 28 73 69 7a 65 25 81 26 34 30 30 30 29 2a |.+(size%.&4000)*| 000054f0 26 34 30 30 30 2b 26 34 30 30 30 0d 03 3d 2a 20 |&4000+&4000..=* | 00005500 c8 99 20 22 57 69 6d 70 5f 53 6c 6f 74 53 69 7a |.. "Wimp_SlotSiz| 00005510 65 22 2c 73 6c 6f 74 5f 73 69 7a 65 25 2c 2d 31 |e",slot_size%,-1| 00005520 20 b8 20 74 25 0d 03 3e 38 20 e7 20 74 25 3c 73 | . t%..>8 . t%<s| 00005530 6c 6f 74 5f 73 69 7a 65 25 20 85 20 31 2c 22 55 |lot_size% . 1,"U| 00005540 6c 74 69 6d 61 70 20 68 61 73 20 72 75 6e 20 6f |ltimap has run o| 00005550 75 74 20 6f 66 20 6d 65 6d 6f 72 79 22 0d 03 3f |ut of memory"..?| 00005560 06 20 e1 0d 03 40 04 0d 03 41 1d 20 dd f2 73 65 |. ...@...A. ..se| 00005570 74 5f 73 6c 6f 74 28 73 69 7a 65 25 2c 65 72 72 |t_slot(size%,err| 00005580 6f 72 25 29 0d 03 42 15 20 73 6c 6f 74 5f 73 69 |or%)..B. slot_si| 00005590 7a 65 25 3d 73 69 7a 65 25 0d 03 43 2a 20 c8 99 |ze%=size%..C* ..| 000055a0 20 22 57 69 6d 70 5f 53 6c 6f 74 53 69 7a 65 22 | "Wimp_SlotSize"| 000055b0 2c 73 6c 6f 74 5f 73 69 7a 65 25 2c 2d 31 20 b8 |,slot_size%,-1 .| 000055c0 20 74 25 0d 03 44 4c 20 e7 20 74 25 3c 73 6c 6f | t%..DL . t%<slo| 000055d0 74 5f 73 69 7a 65 25 20 85 20 65 72 72 6f 72 25 |t_size% . error%| 000055e0 2c 22 54 68 65 72 65 27 73 20 6e 6f 74 20 65 6e |,"There's not en| 000055f0 6f 75 67 68 20 6d 65 6d 6f 72 79 20 74 6f 20 6c |ough memory to l| 00005600 6f 61 64 20 74 68 69 73 20 66 69 6c 65 21 22 0d |oad this file!".| 00005610 03 45 06 20 e1 0d 03 46 04 0d 03 47 13 20 dd f2 |.E. ...F...G. ..| 00005620 6f 70 65 6e 5f 70 72 69 6e 74 5f 77 0d 03 48 2e |open_print_w..H.| 00005630 20 e7 20 70 6f 72 74 72 61 69 74 25 20 61 25 3d | . portrait% a%=| 00005640 30 3a 62 25 3d 31 3c 3c 32 31 20 8b 20 61 25 3d |0:b%=1<<21 . a%=| 00005650 31 3c 3c 32 31 3a 62 25 3d 30 0d 03 49 29 20 f2 |1<<21:b%=0..I) .| 00005660 73 65 74 5f 69 63 6f 6e 5f 73 74 61 74 65 28 70 |set_icon_state(p| 00005670 72 69 6e 74 5f 77 25 2c 36 2c 61 25 2c 31 3c 3c |rint_w%,6,a%,1<<| 00005680 32 31 29 0d 03 4a 29 20 f2 73 65 74 5f 69 63 6f |21)..J) .set_ico| 00005690 6e 5f 73 74 61 74 65 28 70 72 69 6e 74 5f 77 25 |n_state(print_w%| 000056a0 2c 37 2c 62 25 2c 31 3c 3c 32 31 29 0d 03 4b 23 |,7,b%,1<<21)..K#| 000056b0 20 f2 73 65 74 5f 69 63 6f 6e 5f 74 65 78 74 28 | .set_icon_text(| 000056c0 70 72 69 6e 74 5f 77 25 2c 32 2c 22 31 22 29 0d |print_w%,2,"1").| 000056d0 03 4c 11 20 c8 99 20 67 65 74 70 25 2c 2c 71 25 |.L. .. getp%,,q%| 000056e0 0d 03 4d 17 20 c8 99 20 63 72 65 61 74 65 6d 65 |..M. .. createme| 000056f0 6e 75 25 2c 2c 2d 31 0d 03 4e 2c 20 c8 99 20 63 |nu%,,-1..N, .. c| 00005700 72 65 61 74 65 6d 65 6e 75 25 2c 2c 70 72 69 6e |reatemenu%,,prin| 00005710 74 5f 77 25 2c 21 71 25 2d 33 30 2c 71 25 21 34 |t_w%,!q%-30,q%!4| 00005720 2b 36 30 0d 03 4f 06 20 e1 0d 03 50 04 0d 03 51 |+60..O. ...P...Q| 00005730 14 20 dd f2 63 68 65 63 6b 5f 70 72 69 6e 74 5f |. ..check_print_| 00005740 77 0d 03 52 0c 20 62 25 3d 71 25 21 38 0d 03 53 |w..R. b%=q%!8..S| 00005750 0f 20 c8 8e 20 71 25 21 31 36 20 ca 0d 03 54 1d |. .. q%!16 ...T.| 00005760 20 20 20 c9 20 33 3a c8 99 20 63 72 65 61 74 65 | . 3:.. create| 00005770 6d 65 6e 75 25 2c 2c 2d 31 0d 03 55 0b 20 20 20 |menu%,,-1..U. | 00005780 c9 20 34 3a 0d 03 56 29 20 20 20 20 20 21 71 25 |. 4:..V) !q%| 00005790 3d 70 72 69 6e 74 5f 77 25 3a 71 25 21 34 3d 37 |=print_w%:q%!4=7| 000057a0 3a c8 99 20 67 65 74 69 25 2c 2c 71 25 0d 03 57 |:.. geti%,,q%..W| 000057b0 48 20 20 20 20 20 e7 20 28 71 25 21 32 34 29 20 |H . (q%!24) | 000057c0 80 20 28 31 3c 3c 32 31 29 20 73 74 79 6c 65 25 |. (1<<21) style%| 000057d0 3d 32 3a 70 6f 72 74 72 61 69 74 25 3d b9 20 8b |=2:portrait%=. .| 000057e0 20 73 74 79 6c 65 25 3d 31 3a 70 6f 72 74 72 61 | style%=1:portra| 000057f0 69 74 25 3d a3 0d 03 58 29 20 20 20 20 20 21 71 |it%=...X) !q| 00005800 25 3d 70 72 69 6e 74 5f 77 25 3a 71 25 21 34 3d |%=print_w%:q%!4=| 00005810 32 3a c8 99 20 67 65 74 69 25 2c 2c 71 25 0d 03 |2:.. geti%,,q%..| 00005820 59 24 20 20 20 20 20 72 75 6e 5f 6e 75 6d 25 3d |Y$ run_num%=| 00005830 bb 28 a4 73 74 72 69 6e 67 30 28 71 25 21 32 38 |.(.string0(q%!28| 00005840 29 29 0d 03 5a 20 20 20 20 20 20 e7 20 72 75 6e |))..Z . run| 00005850 5f 6e 75 6d 25 3d 30 20 72 75 6e 5f 6e 75 6d 25 |_num%=0 run_num%| 00005860 3d 31 0d 03 5b 28 20 20 20 20 20 f2 70 72 69 6e |=1..[( .prin| 00005870 74 5f 72 6f 75 74 69 6e 65 28 73 74 79 6c 65 25 |t_routine(style%| 00005880 2c 72 75 6e 5f 6e 75 6d 25 29 0d 03 5c 24 20 20 |,run_num%)..\$ | 00005890 20 20 20 e7 20 62 25 20 80 20 36 20 c8 99 20 63 | . b% . 6 .. c| 000058a0 72 65 61 74 65 6d 65 6e 75 25 2c 2c 2d 31 0d 03 |reatemenu%,,-1..| 000058b0 5d 06 20 cb 0d 03 5e 06 20 e1 0d 03 5f 04 0d 03 |]. ...^. ..._...| 000058c0 60 25 20 dd f2 70 72 69 6e 74 5f 72 6f 75 74 69 |`% ..print_routi| 000058d0 6e 65 28 73 74 79 6c 65 25 2c 72 75 6e 5f 6e 75 |ne(style%,run_nu| 000058e0 6d 25 29 0d 03 61 18 20 ea 20 70 68 61 6e 64 6c |m%)..a. . phandl| 000058f0 65 25 2c 6f 68 61 6e 64 6c 65 25 0d 03 62 20 20 |e%,ohandle%..b | 00005900 ea 20 6c 65 66 74 25 2c 62 6f 74 74 6f 6d 25 2c |. left%,bottom%,| 00005910 72 69 67 68 74 25 2c 74 6f 70 25 0d 03 63 18 20 |right%,top%..c. | 00005920 ea 20 63 6f 70 69 65 73 6c 65 66 74 25 2c 72 65 |. copiesleft%,re| 00005930 63 74 25 0d 03 64 04 0d 03 65 1b 20 70 68 61 6e |ct%..d...e. phan| 00005940 64 6c 65 25 3d ae 28 22 70 72 69 6e 74 65 72 3a |dle%=.("printer:| 00005950 22 29 0d 03 66 08 20 ea 20 85 0d 03 67 3b 20 ee |")..f. . ...g; .| 00005960 20 85 20 ea 3a d9 23 70 68 61 6e 64 6c 65 25 3a | . .:.#phandle%:| 00005970 f7 20 85 3a 85 20 31 2c 22 54 68 65 72 65 20 69 |. .:. 1,"There i| 00005980 73 20 6e 6f 20 70 72 69 6e 74 65 72 20 64 72 69 |s no printer dri| 00005990 76 65 72 21 22 0d 03 68 2e 20 c8 99 20 50 44 73 |ver!"..h. .. PDs| 000059a0 65 6c 65 63 74 25 2c 70 68 61 6e 64 6c 65 25 2c |elect%,phandle%,| 000059b0 22 55 6c 74 69 6d 61 22 20 b8 20 6f 68 61 6e 64 |"Ultima" . ohand| 000059c0 6c 65 25 0d 03 69 04 0d 03 6a 5a 20 ee 20 85 20 |le%..i...jZ . . | 000059d0 ea 3a c8 99 20 50 44 61 62 6f 72 74 25 2c 70 68 |.:.. PDabort%,ph| 000059e0 61 6e 64 6c 65 25 3a d9 23 70 68 61 6e 64 6c 65 |andle%:.#phandle| 000059f0 25 3a c8 99 20 50 44 73 65 6c 65 63 74 25 2c 6f |%:.. PDselect%,o| 00005a00 68 61 6e 64 6c 65 25 3a 70 72 69 6e 74 69 6e 67 |handle%:printing| 00005a10 25 3d a3 3a f7 20 85 3a 85 20 31 2c f6 24 2b c3 |%=.:. .:. 1,.$+.| 00005a20 9e 0d 03 6b 04 0d 03 6c 32 20 c8 99 20 50 44 70 |...k...l2 .. PDp| 00005a30 61 67 65 73 69 7a 65 25 20 b8 20 2c 2c 2c 6c 65 |agesize% . ,,,le| 00005a40 66 74 25 2c 62 6f 74 74 6f 6d 25 2c 72 69 67 68 |ft%,bottom%,righ| 00005a50 74 25 2c 74 6f 70 25 0d 03 6d 16 20 c8 99 20 22 |t%,top%..m. .. "| 00005a60 48 6f 75 72 67 6c 61 73 73 5f 4f 6e 22 0d 03 6e |Hourglass_On"..n| 00005a70 04 0d 03 6f 19 20 e3 20 6c 6f 6f 70 25 3d 31 20 |...o. . loop%=1 | 00005a80 b8 20 72 75 6e 5f 6e 75 6d 25 0d 03 70 22 20 20 |. run_num%..p" | 00005a90 20 21 77 73 25 3d 6d 61 69 6e 5f 77 25 3a c8 99 | !ws%=main_w%:..| 00005aa0 20 67 65 74 77 69 25 2c 2c 77 73 25 0d 03 71 34 | getwi%,,ws%..q4| 00005ab0 20 20 20 6d 78 25 3d 77 73 25 21 34 34 3a 6d 79 | mx%=ws%!44:my| 00005ac0 25 3d 77 73 25 21 34 38 3a 6d 78 31 25 3d 77 73 |%=ws%!48:mx1%=ws| 00005ad0 25 21 35 32 3a 6d 79 31 25 3d 77 73 25 21 35 36 |%!52:my1%=ws%!56| 00005ae0 0d 03 72 34 20 20 20 21 62 6f 78 25 3d 6d 78 25 |..r4 !box%=mx%| 00005af0 3a 62 6f 78 25 21 34 3d 6d 79 25 3a 62 6f 78 25 |:box%!4=my%:box%| 00005b00 21 38 3d 6d 78 31 25 3a 62 6f 78 25 21 31 32 3d |!8=mx1%:box%!12=| 00005b10 6d 79 31 25 0d 03 73 12 20 20 20 c8 8e 20 73 74 |my1%..s. .. st| 00005b20 79 6c 65 25 20 ca 0d 03 74 18 20 20 20 20 20 c9 |yle% ...t. .| 00005b30 20 31 3a f4 20 6c 61 6e 64 73 63 61 70 65 0d 03 | 1:. landscape..| 00005b40 75 1b 20 20 20 20 20 20 20 e7 20 70 61 67 65 5f |u. . page_| 00005b50 73 69 7a 65 25 3d 34 20 8c 0d 03 76 14 20 20 20 |size%=4 ...v. | 00005b60 20 20 20 20 20 20 73 63 78 3d 2e 36 37 0d 03 77 | scx=.67..w| 00005b70 14 20 20 20 20 20 20 20 20 20 73 63 79 3d 2e 36 |. scy=.6| 00005b80 37 0d 03 78 4b 20 20 20 20 20 20 20 20 20 21 6d |7..xK !m| 00005b90 61 74 72 69 78 25 3d 30 3a 6d 61 74 72 69 78 25 |atrix%=0:matrix%| 00005ba0 21 34 3d 2d 73 63 78 2a 32 5e 31 36 3a 6d 61 74 |!4=-scx*2^16:mat| 00005bb0 72 69 78 25 21 38 3d 73 63 79 2a 32 5e 31 36 3a |rix%!8=scy*2^16:| 00005bc0 6d 61 74 72 69 78 25 21 31 32 3d 30 0d 03 79 5b |matrix%!12=0..y[| 00005bd0 20 20 20 20 20 20 20 20 20 21 6f 72 69 67 69 6e | !origin| 00005be0 31 25 3d 28 72 69 67 68 74 25 2d 6c 65 66 74 25 |1%=(right%-left%| 00005bf0 29 81 31 36 3a 6f 72 69 67 69 6e 31 25 21 34 3d |).16:origin1%!4=| 00005c00 74 6f 70 25 2d 28 74 6f 70 25 2d 62 6f 74 74 6f |top%-(top%-botto| 00005c10 6d 25 29 81 32 2d 28 74 6f 70 25 2d 62 6f 74 74 |m%).2-(top%-bott| 00005c20 6f 6d 25 29 81 33 30 0d 03 7a 0c 20 20 20 20 20 |om%).30..z. | 00005c30 20 20 cc 0d 03 7b 14 20 20 20 20 20 20 20 20 20 | ...{. | 00005c40 73 63 78 3d 31 2e 34 0d 03 7c 14 20 20 20 20 20 |scx=1.4..|. | 00005c50 20 20 20 20 73 63 79 3d 31 2e 35 0d 03 7d 4b 20 | scy=1.5..}K | 00005c60 20 20 20 20 20 20 20 20 21 6d 61 74 72 69 78 25 | !matrix%| 00005c70 3d 30 3a 6d 61 74 72 69 78 25 21 34 3d 2d 73 63 |=0:matrix%!4=-sc| 00005c80 78 2a 32 5e 31 36 3a 6d 61 74 72 69 78 25 21 38 |x*2^16:matrix%!8| 00005c90 3d 73 63 79 2a 32 5e 31 36 3a 6d 61 74 72 69 78 |=scy*2^16:matrix| 00005ca0 25 21 31 32 3d 30 0d 03 7e 4a 20 20 20 20 20 20 |%!12=0..~J | 00005cb0 20 20 20 21 6f 72 69 67 69 6e 31 25 3d 28 72 69 | !origin1%=(ri| 00005cc0 67 68 74 25 2d 6c 65 66 74 25 29 81 32 30 3a 6f |ght%-left%).20:o| 00005cd0 72 69 67 69 6e 31 25 21 34 3d 74 6f 70 25 2d 28 |rigin1%!4=top%-(| 00005ce0 74 6f 70 25 2d 62 6f 74 74 6f 6d 25 29 81 32 30 |top%-bottom%).20| 00005cf0 0d 03 7f 0c 20 20 20 20 20 20 20 cd 0d 03 80 17 |.... .....| 00005d00 20 20 20 20 20 c9 20 32 3a f4 20 70 6f 72 74 72 | . 2:. portr| 00005d10 61 69 74 0d 03 81 13 20 20 20 20 20 20 20 73 63 |ait.... sc| 00005d20 78 3d 31 2e 30 35 0d 03 82 12 20 20 20 20 20 20 |x=1.05.... | 00005d30 20 73 63 79 3d 2e 39 35 0d 03 83 48 20 20 20 20 | scy=.95...H | 00005d40 20 20 20 21 6d 61 74 72 69 78 25 3d 73 63 78 2a | !matrix%=scx*| 00005d50 32 5e 31 36 3a 6d 61 74 72 69 78 25 21 34 3d 30 |2^16:matrix%!4=0| 00005d60 3a 6d 61 74 72 69 78 25 21 38 3d 30 3a 6d 61 74 |:matrix%!8=0:mat| 00005d70 72 69 78 25 21 31 32 3d 73 63 79 2a 32 5e 31 36 |rix%!12=scy*2^16| 00005d80 0d 03 84 39 20 20 20 20 20 20 20 21 6f 72 69 67 |...9 !orig| 00005d90 69 6e 31 25 3d 28 72 69 67 68 74 25 2d 6c 65 66 |in1%=(right%-lef| 00005da0 74 25 29 81 32 30 3a 6f 72 69 67 69 6e 31 25 21 |t%).20:origin1%!| 00005db0 34 3d 62 6f 74 74 6f 6d 25 0d 03 85 08 20 20 20 |4=bottom%.... | 00005dc0 cb 0d 03 86 3a 20 20 20 c8 99 20 50 44 67 69 76 |....: .. PDgiv| 00005dd0 65 72 65 63 25 2c 6c 6f 6f 70 25 2c 62 6f 78 25 |erec%,loop%,box%| 00005de0 2c 6d 61 74 72 69 78 25 2c 6f 72 69 67 69 6e 31 |,matrix%,origin1| 00005df0 25 2c 26 46 46 46 46 46 46 30 30 0d 03 87 12 20 |%,&FFFFFF00.... | 00005e00 20 20 70 72 69 6e 74 69 6e 67 25 3d b9 0d 03 88 | printing%=....| 00005e10 36 20 20 20 c8 99 20 50 44 64 72 61 77 70 61 67 |6 .. PDdrawpag| 00005e20 65 25 2c 31 2c 62 6f 78 32 25 2c 30 2c 30 20 b8 |e%,1,box2%,0,0 .| 00005e30 20 63 6f 70 69 65 73 6c 65 66 74 25 2c 2c 72 65 | copiesleft%,,re| 00005e40 63 74 25 0d 03 89 18 20 20 20 c8 95 20 63 6f 70 |ct%.... .. cop| 00005e50 69 65 73 6c 65 66 74 25 3c 3e 30 0d 03 8a 2c 20 |iesleft%<>0..., | 00005e60 20 20 20 20 f2 64 72 61 77 5f 6d 61 69 6e 5f 77 | .draw_main_w| 00005e70 28 6d 78 25 2c 6d 79 25 2c 6d 78 31 25 2c 6d 79 |(mx%,my%,mx1%,my| 00005e80 31 25 2c 30 2c 30 29 0d 03 8b 31 20 20 20 20 20 |1%,0,0)...1 | 00005e90 c8 99 20 50 44 67 65 74 72 65 63 25 2c 2c 62 6f |.. PDgetrec%,,bo| 00005ea0 78 32 25 20 b8 20 63 6f 70 69 65 73 6c 65 66 74 |x2% . copiesleft| 00005eb0 25 2c 2c 72 65 63 74 25 0d 03 8c 08 20 20 20 ce |%,,rect%.... .| 00005ec0 0d 03 8d 06 20 ed 0d 03 8e 04 0d 03 8f 1a 20 c8 |.... ......... .| 00005ed0 99 20 50 44 65 6e 64 6a 6f 62 25 2c 70 68 61 6e |. PDendjob%,phan| 00005ee0 64 6c 65 25 0d 03 90 0f 20 d9 23 70 68 61 6e 64 |dle%.... .#phand| 00005ef0 6c 65 25 0d 03 91 1a 20 c8 99 20 50 44 73 65 6c |le%.... .. PDsel| 00005f00 65 63 74 25 2c 6f 68 61 6e 64 6c 65 25 0d 03 92 |ect%,ohandle%...| 00005f10 10 20 70 72 69 6e 74 69 6e 67 25 3d a3 0d 03 93 |. printing%=....| 00005f20 17 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 5f |. .. "Hourglass_| 00005f30 4f 66 66 22 0d 03 94 06 20 e1 0d 03 95 04 0d 03 |Off".... .......| 00005f40 96 2f 20 dd f2 68 69 64 65 5f 6f 62 6a 65 63 74 |./ ..hide_object| 00005f50 28 73 74 61 63 6b 25 2c 74 6f 6b 65 6e 25 2c 68 |(stack%,token%,h| 00005f60 69 64 65 25 2c 6f 6e 5f 76 64 75 25 29 0d 03 97 |ide%,on_vdu%)...| 00005f70 27 20 c8 99 20 67 65 74 65 6e 74 72 79 25 2c 73 |' .. getentry%,s| 00005f80 74 61 63 6b 25 2c 74 6f 6b 65 6e 25 20 b8 20 61 |tack%,token% . a| 00005f90 64 72 31 25 0d 03 98 2f 20 e7 20 68 69 64 65 25 |dr1%.../ . hide%| 00005fa0 3c 3e 30 20 80 20 28 28 61 64 72 31 25 21 33 36 |<>0 . ((adr1%!36| 00005fb0 29 80 31 32 38 29 3c 3e 30 20 6f 6e 5f 76 64 75 |).128)<>0 on_vdu| 00005fc0 25 3d 30 0d 03 99 2d 20 e7 20 68 69 64 65 25 3d |%=0...- . hide%=| 00005fd0 30 20 80 20 28 28 61 64 72 31 25 21 33 36 29 80 |0 . ((adr1%!36).| 00005fe0 31 32 38 29 3d 30 20 6f 6e 5f 76 64 75 25 3d 30 |128)=0 on_vdu%=0| 00005ff0 0d 03 9a 44 20 e7 20 68 69 64 65 25 20 61 64 72 |...D . hide% adr| 00006000 31 25 21 33 36 3d 28 61 64 72 31 25 21 33 36 29 |1%!36=(adr1%!36)| 00006010 84 31 32 38 20 8b 20 61 64 72 31 25 21 33 36 3d |.128 . adr1%!36=| 00006020 28 61 64 72 31 25 21 33 36 29 80 26 46 46 46 46 |(adr1%!36).&FFFF| 00006030 46 46 37 46 0d 03 9b 5e 20 e7 20 6f 6e 5f 76 64 |FF7F...^ . on_vd| 00006040 75 25 20 c8 99 20 66 6f 72 63 65 72 65 64 72 61 |u% .. forceredra| 00006050 77 25 2c 6d 61 69 6e 5f 77 25 2c 61 64 72 31 25 |w%,main_w%,adr1%| 00006060 21 31 32 2c 61 64 72 31 25 21 31 36 2c 61 64 72 |!12,adr1%!16,adr| 00006070 31 25 21 32 30 2b 28 34 3c 3c 78 65 66 25 29 2c |1%!20+(4<<xef%),| 00006080 61 64 72 31 25 21 32 34 2b 28 31 3c 3c 79 65 66 |adr1%!24+(1<<yef| 00006090 25 29 0d 03 9c 06 20 e1 0d 03 9d 04 0d 03 9e 2e |%).... .........| 000060a0 20 dd f2 6c 69 67 68 74 5f 6f 62 6a 65 63 74 28 | ..light_object(| 000060b0 73 74 61 63 6b 25 2c 74 6f 6b 65 6e 25 2c 68 69 |stack%,token%,hi| 000060c0 25 2c 6f 6e 5f 76 64 75 25 29 0d 03 9f 27 20 c8 |%,on_vdu%)...' .| 000060d0 99 20 67 65 74 65 6e 74 72 79 25 2c 73 74 61 63 |. getentry%,stac| 000060e0 6b 25 2c 74 6f 6b 65 6e 25 20 b8 20 61 64 72 31 |k%,token% . adr1| 000060f0 25 0d 03 a0 20 20 68 25 3d 28 61 64 72 31 25 21 |%... h%=(adr1%!| 00006100 33 36 29 80 31 3a e7 20 68 69 25 20 68 69 25 3d |36).1:. hi% hi%=| 00006110 31 0d 03 a1 40 20 e7 20 68 69 25 20 61 64 72 31 |1...@ . hi% adr1| 00006120 25 21 33 36 3d 28 61 64 72 31 25 21 33 36 29 84 |%!36=(adr1%!36).| 00006130 31 20 8b 20 61 64 72 31 25 21 33 36 3d 28 61 64 |1 . adr1%!36=(ad| 00006140 72 31 25 21 33 36 29 80 26 46 46 46 46 46 46 46 |r1%!36).&FFFFFFF| 00006150 45 0d 03 a2 54 20 e7 20 6f 6e 5f 76 64 75 25 20 |E...T . on_vdu% | 00006160 80 20 68 25 3c 3e 68 69 25 20 c8 99 20 66 6f 72 |. h%<>hi% .. for| 00006170 63 65 72 65 64 72 61 77 25 2c 6d 61 69 6e 5f 77 |ceredraw%,main_w| 00006180 25 2c 61 64 72 31 25 21 31 32 2c 61 64 72 31 25 |%,adr1%!12,adr1%| 00006190 21 31 36 2c 61 64 72 31 25 21 32 30 2c 61 64 72 |!16,adr1%!20,adr| 000061a0 31 25 21 32 34 0d 03 a3 06 20 e1 0d 03 a4 04 0d |1%!24.... ......| 000061b0 03 a5 13 20 dd a4 73 74 61 63 6b 28 70 61 67 65 |... ..stack(page| 000061c0 25 29 0d 03 a6 0b 20 ea 20 61 64 72 25 0d 03 a7 |%).... . adr%...| 000061d0 27 20 c8 99 20 67 65 74 65 6e 74 72 79 25 2c 73 |' .. getentry%,s| 000061e0 5f 70 61 67 65 73 25 2c 70 61 67 65 25 20 b8 20 |_pages%,page% . | 000061f0 61 64 72 25 0d 03 a8 33 20 e7 20 61 64 72 25 3d |adr%...3 . adr%=| 00006200 30 20 84 20 61 64 72 25 21 32 30 3d 30 20 85 20 |0 . adr%!20=0 . | 00006210 32 2c 22 62 61 64 20 73 74 61 63 6b 20 66 72 6f |2,"bad stack fro| 00006220 6d 20 70 61 67 65 22 0d 03 a9 0d 20 3d 61 64 72 |m page".... =adr| 00006230 25 21 32 30 0d 03 aa 04 0d 03 ab 20 20 dd a4 77 |%!20....... ..w| 00006240 68 69 63 68 5f 6f 62 6a 65 63 74 28 70 61 67 65 |hich_object(page| 00006250 25 2c 78 25 2c 79 25 29 0d 03 ac 19 20 73 74 61 |%,x%,y%).... sta| 00006260 63 6b 25 3d a4 73 74 61 63 6b 28 70 61 67 65 25 |ck%=.stack(page%| 00006270 29 0d 03 ad 23 20 c8 99 20 6e 65 6e 74 72 69 65 |)...# .. nentrie| 00006280 73 25 2c 73 74 61 63 6b 25 20 b8 20 6e 6f 25 3a |s%,stack% . no%:| 00006290 6f 25 3d 30 0d 03 ae 0f 20 e7 20 6e 6f 25 3d 30 |o%=0.... . no%=0| 000062a0 3a 3d 30 0d 03 af 11 20 e3 20 74 25 3d 31 20 b8 |:=0.... . t%=1 .| 000062b0 20 6e 6f 25 0d 03 b0 29 20 20 20 c8 99 20 67 65 | no%...) .. ge| 000062c0 74 6e 74 68 25 2c 73 74 61 63 6b 25 2c 74 25 20 |tnth%,stack%,t% | 000062d0 b8 20 61 64 72 25 2c 74 6f 6b 65 6e 25 0d 03 b1 |. adr%,token%...| 000062e0 52 20 20 20 e7 20 78 25 3e 3d 61 64 72 25 21 31 |R . x%>=adr%!1| 000062f0 32 20 80 20 79 25 3e 3d 61 64 72 25 21 31 36 20 |2 . y%>=adr%!16 | 00006300 80 20 78 25 3c 61 64 72 25 21 32 30 20 80 20 79 |. x%<adr%!20 . y| 00006310 25 3c 61 64 72 25 21 32 34 20 80 20 28 28 61 64 |%<adr%!24 . ((ad| 00006320 72 25 21 33 36 29 80 31 32 38 29 3d 30 20 8c 0d |r%!36).128)=0 ..| 00006330 03 b2 38 20 20 20 20 20 6f 25 3d 74 6f 6b 65 6e |..8 o%=token| 00006340 25 3a 6f 66 66 5f 6d 78 25 3d 78 25 2d 61 64 72 |%:off_mx%=x%-adr| 00006350 25 21 31 32 3a 6f 66 66 5f 6d 79 25 3d 79 25 2d |%!12:off_my%=y%-| 00006360 61 64 72 25 21 31 36 0d 03 b3 08 20 20 20 cd 0d |adr%!16.... ..| 00006370 03 b4 06 20 ed 0d 03 b5 08 20 3d 6f 25 0d 03 b6 |... ..... =o%...| 00006380 04 0d 03 b7 21 20 dd f2 61 72 72 61 6e 67 65 5f |....! ..arrange_| 00006390 70 61 67 65 6c 69 73 74 5f 77 63 28 70 61 67 65 |pagelist_wc(page| 000063a0 25 29 0d 03 b8 1f 20 69 77 25 3d 32 38 30 3a 69 |%).... iw%=280:i| 000063b0 68 25 3d 2d 34 38 3a 70 6c 5f 74 69 63 6b 25 3d |h%=-48:pl_tick%=| 000063c0 30 0d 03 b9 20 20 c8 99 20 6e 65 6e 74 72 69 65 |0... .. nentrie| 000063d0 73 25 2c 73 5f 70 61 67 65 73 25 20 b8 20 6e 70 |s%,s_pages% . np| 000063e0 25 0d 03 ba 25 20 21 71 25 3d 30 3a 71 25 21 38 |%...% !q%=0:q%!8| 000063f0 3d 69 77 25 2d 28 33 3c 3c 78 65 66 25 29 3a 71 |=iw%-(3<<xef%):q| 00006400 25 21 31 32 3d 30 0d 03 bb 26 20 e7 20 6e 70 25 |%!12=0...& . np%| 00006410 3c 33 20 71 25 21 34 3d 69 68 25 2a 33 20 8b 20 |<3 q%!4=ih%*3 . | 00006420 71 25 21 34 3d 69 68 25 2a 6e 70 25 0d 03 bc 22 |q%!4=ih%*np%..."| 00006430 20 c8 99 20 73 65 74 65 78 74 65 6e 74 25 2c 70 | .. setextent%,p| 00006440 61 67 65 6c 69 73 74 5f 77 63 25 2c 71 25 0d 03 |agelist_wc%,q%..| 00006450 bd 17 20 69 79 25 3d 69 68 25 3a 63 75 72 5f 79 |.. iy%=ih%:cur_y| 00006460 25 3d 69 79 25 0d 03 be 12 20 e3 20 6c 6f 6f 70 |%=iy%.... . loop| 00006470 25 3d 31 b8 6e 70 25 0d 03 bf 2e 20 20 20 c8 99 |%=1.np%.... ..| 00006480 20 67 65 74 6e 74 68 25 2c 73 5f 70 61 67 65 73 | getnth%,s_pages| 00006490 25 2c 6c 6f 6f 70 25 20 b8 20 61 64 72 25 2c 74 |%,loop% . adr%,t| 000064a0 6f 6b 65 6e 25 0d 03 c0 2d 20 20 20 e7 20 74 6f |oken%...- . to| 000064b0 6b 65 6e 25 3d 70 61 67 65 25 20 63 75 72 5f 79 |ken%=page% cur_y| 000064c0 25 3d 69 79 25 3a 70 6c 5f 74 69 63 6b 25 3d 69 |%=iy%:pl_tick%=i| 000064d0 79 25 0d 03 c1 0f 20 20 20 69 79 25 2b 3d 69 68 |y%.... iy%+=ih| 000064e0 25 0d 03 c2 06 20 ed 0d 03 c3 22 20 21 71 25 3d |%.... ...." !q%=| 000064f0 70 61 67 65 6c 69 73 74 5f 77 63 25 3a c8 99 20 |pagelist_wc%:.. | 00006500 67 65 74 77 25 2c 2c 71 25 0d 03 c4 22 20 6f 66 |getw%,,q%..." of| 00006510 66 79 25 3d 28 71 25 21 31 36 2d 71 25 21 32 34 |fy%=(q%!16-q%!24| 00006520 29 3a 73 79 25 3d 71 25 21 32 34 0d 03 c5 28 20 |):sy%=q%!24...( | 00006530 77 79 25 3d 28 71 25 21 38 29 2d 6f 66 66 79 25 |wy%=(q%!8)-offy%| 00006540 3a 77 79 31 25 3d 28 71 25 21 31 36 29 2d 6f 66 |:wy1%=(q%!16)-of| 00006550 66 79 25 0d 03 c6 21 20 e7 20 63 75 72 5f 79 25 |fy%...! . cur_y%| 00006560 3c 77 79 25 20 73 79 25 2b 3d 63 75 72 5f 79 25 |<wy% sy%+=cur_y%| 00006570 2d 77 79 25 0d 03 c7 25 20 e7 20 63 75 72 5f 79 |-wy%...% . cur_y| 00006580 25 2d 69 68 25 3e 77 79 31 25 20 73 79 25 3d 63 |%-ih%>wy1% sy%=c| 00006590 75 72 5f 79 25 2d 69 68 25 0d 03 c8 0e 20 71 25 |ur_y%-ih%.... q%| 000065a0 21 32 34 3d 73 79 25 0d 03 c9 17 20 6f 25 3d 28 |!24=sy%.... o%=(| 000065b0 71 25 21 33 32 29 80 28 31 3c 3c 31 36 29 0d 03 |q%!32).(1<<16)..| 000065c0 ca 12 20 c8 99 20 6f 70 65 6e 77 25 2c 2c 71 25 |.. .. openw%,,q%| 000065d0 0d 03 cb 0d 20 e7 20 6f 25 3d 30 20 8c 0d 03 cc |.... . o%=0 ....| 000065e0 15 20 20 20 c8 99 20 63 6c 6f 73 65 77 25 2c 2c |. .. closew%,,| 000065f0 71 25 0d 03 cd 06 20 cc 0d 03 ce 2f 20 20 20 c8 |q%.... ..../ .| 00006600 99 20 66 6f 72 63 65 72 65 64 72 61 77 25 2c 2d |. forceredraw%,-| 00006610 31 2c 71 25 21 34 2c 71 25 21 38 2c 71 25 21 31 |1,q%!4,q%!8,q%!1| 00006620 32 2c 71 25 21 31 36 0d 03 cf 06 20 cd 0d 03 d0 |2,q%!16.... ....| 00006630 06 20 e1 0d 03 d1 04 0d 03 d2 2a 20 dd f2 64 72 |. ........* ..dr| 00006640 61 77 5f 70 61 67 65 6c 69 73 74 5f 77 63 28 77 |aw_pagelist_wc(w| 00006650 78 25 2c 77 79 25 2c 77 78 31 25 2c 77 79 31 25 |x%,wy%,wx1%,wy1%| 00006660 29 0d 03 d3 20 20 c8 99 20 6e 65 6e 74 72 69 65 |)... .. nentrie| 00006670 73 25 2c 73 5f 70 61 67 65 73 25 20 b8 20 6e 70 |s%,s_pages% . np| 00006680 25 0d 03 d4 31 20 c8 99 20 66 69 6e 64 66 6f 6e |%...1 .. findfon| 00006690 74 25 2c 2c 69 63 6f 6e 5f 66 6f 6e 74 24 2c 31 |t%,,icon_font$,1| 000066a0 32 2a 31 36 2c 31 32 2a 31 36 20 b8 20 66 6f 6e |2*16,12*16 . fon| 000066b0 74 25 0d 03 d5 2a 20 69 68 25 3d 2d 34 38 3a 69 |t%...* ih%=-48:i| 000066c0 78 25 3d 30 3a 69 79 25 3d 69 68 25 3a 69 78 31 |x%=0:iy%=ih%:ix1| 000066d0 25 3d 32 38 30 3a 69 79 31 25 3d 30 0d 03 d6 11 |%=280:iy1%=0....| 000066e0 20 e3 70 61 67 65 25 3d 31 b8 6e 70 25 0d 03 d7 | .page%=1.np%...| 000066f0 38 20 20 20 e7 20 69 78 25 3c 3d 77 78 31 25 20 |8 . ix%<=wx1% | 00006700 80 20 69 78 31 25 3e 3d 77 78 25 20 80 20 69 79 |. ix1%>=wx% . iy| 00006710 25 3c 3d 77 79 31 25 20 80 20 69 79 31 25 3e 3d |%<=wy1% . iy1%>=| 00006720 77 79 25 20 8c 0d 03 d8 30 20 20 20 20 20 c8 99 |wy% ....0 ..| 00006730 20 67 65 74 6e 74 68 25 2c 73 5f 70 61 67 65 73 | getnth%,s_pages| 00006740 25 2c 70 61 67 65 25 20 b8 20 61 64 72 25 2c 74 |%,page% . adr%,t| 00006750 6f 6b 65 6e 25 0d 03 d9 19 20 20 20 20 20 e7 20 |oken%.... . | 00006760 69 79 25 3d 70 6c 5f 74 69 63 6b 25 20 8c 0d 03 |iy%=pl_tick% ...| 00006770 da 32 20 20 20 20 20 20 20 21 71 25 3d 69 78 25 |.2 !q%=ix%| 00006780 3a 71 25 21 34 3d 69 79 25 3a 71 25 21 38 3d 69 |:q%!4=iy%:q%!8=i| 00006790 78 25 2b 33 38 3a 71 25 21 31 32 3d 69 79 31 25 |x%+38:q%!12=iy1%| 000067a0 0d 03 db 2d 20 20 20 20 20 20 20 71 25 21 31 36 |...- q%!16| 000067b0 3d 26 37 30 30 30 30 31 39 3a f2 73 74 72 69 6e |=&7000019:.strin| 000067c0 67 30 28 71 25 2b 32 30 2c 22 80 22 29 0d 03 dc |g0(q%+20,".")...| 000067d0 1b 20 20 20 20 20 20 20 c8 99 20 70 6c 6f 74 69 |. .. ploti| 000067e0 63 6f 6e 25 2c 2c 71 25 0d 03 dd 0a 20 20 20 20 |con%,,q%.... | 000067f0 20 cd 0d 03 de 34 20 20 20 20 20 21 71 25 3d 69 | ....4 !q%=i| 00006800 78 25 2b 33 38 3a 71 25 21 34 3d 69 79 25 3a 71 |x%+38:q%!4=iy%:q| 00006810 25 21 38 3d 69 78 25 2b 32 38 30 3a 71 25 21 31 |%!8=ix%+280:q%!1| 00006820 32 3d 69 79 31 25 0d 03 df 3d 20 20 20 20 20 71 |2=iy1%...= q| 00006830 25 21 31 36 3d 66 6f 6e 74 25 3c 3c 32 34 20 84 |%!16=font%<<24 .| 00006840 20 26 31 37 31 3a 71 25 21 32 30 3d 61 64 72 25 | &171:q%!20=adr%| 00006850 2b 34 3a 71 25 21 32 34 3d 30 3a 71 25 21 33 32 |+4:q%!24=0:q%!32| 00006860 3d 31 32 0d 03 e0 19 20 20 20 20 20 c8 99 20 70 |=12.... .. p| 00006870 6c 6f 74 69 63 6f 6e 25 2c 2c 71 25 0d 03 e1 08 |loticon%,,q%....| 00006880 20 20 20 cd 0d 03 e2 19 20 20 20 69 79 25 2b 3d | ..... iy%+=| 00006890 69 68 25 3a 69 79 31 25 2b 3d 69 68 25 0d 03 e3 |ih%:iy1%+=ih%...| 000068a0 06 20 ed 0d 03 e4 17 20 c8 99 20 6c 6f 73 65 66 |. ..... .. losef| 000068b0 6f 6e 74 25 2c 66 6f 6e 74 25 0d 03 e5 15 20 21 |ont%,font%.... !| 000068c0 71 25 3d 70 61 67 65 6c 69 73 74 5f 77 63 25 0d |q%=pagelist_wc%.| 000068d0 03 e6 06 20 e1 0d 03 e7 04 0d 03 e8 20 20 dd a4 |... ........ ..| 000068e0 70 74 5f 66 72 6f 6d 5f 63 6f 6e 74 65 78 74 28 |pt_from_context(| 000068f0 63 6f 6e 74 65 78 74 25 29 0d 03 e9 12 20 c8 8e |context%).... ..| 00006900 20 63 6f 6e 74 65 78 74 25 20 ca 0d 03 ea 18 20 | context% ..... | 00006910 20 20 c9 20 73 5f 6d 6f 75 73 65 64 72 61 67 25 | . s_mousedrag%| 00006920 3a 3d 34 0d 03 eb 14 20 20 20 c9 20 73 5f 6f 66 |:=4.... . s_of| 00006930 74 65 6e 25 3a 3d 38 0d 03 ec 17 20 20 20 c9 20 |ten%:=8.... . | 00006940 73 5f 70 6f 69 6e 74 65 72 25 3a 3d 31 36 0d 03 |s_pointer%:=16..| 00006950 ed 15 20 20 20 c9 20 73 5f 6d 6f 75 73 65 25 3a |.. . s_mouse%:| 00006960 3d 32 30 0d 03 ee 19 20 20 20 c9 20 73 5f 70 61 |=20.... . s_pa| 00006970 67 65 73 68 6f 77 6e 25 3a 3d 33 32 0d 03 ef 06 |geshown%:=32....| 00006980 20 cb 0d 03 f0 07 20 3d 30 0d 03 f1 04 0d 03 f2 | ..... =0.......| 00006990 1e 20 dd a4 6e 61 6d 65 5f 65 78 73 69 73 74 73 |. ..name_exsists| 000069a0 28 73 74 61 63 6b 25 2c 66 24 29 0d 03 f3 1e 20 |(stack%,f$).... | 000069b0 c8 99 20 6e 65 6e 74 72 69 65 73 25 2c 73 74 61 |.. nentries%,sta| 000069c0 63 6b 25 20 b8 20 6e 65 25 0d 03 f4 0f 20 e7 20 |ck% . ne%.... . | 000069d0 6e 65 25 3d 30 3a 3d 30 0d 03 f5 1c 20 66 25 3d |ne%=0:=0.... f%=| 000069e0 30 3a 66 24 3d a4 6c 6f 77 65 72 5f 63 61 73 65 |0:f$=.lower_case| 000069f0 28 66 24 29 0d 03 f6 12 20 e3 65 6e 74 72 79 25 |(f$).... .entry%| 00006a00 3d 31 b8 6e 65 25 0d 03 f7 2d 20 20 20 c8 99 20 |=1.ne%...- .. | 00006a10 67 65 74 6e 74 68 25 2c 73 74 61 63 6b 25 2c 65 |getnth%,stack%,e| 00006a20 6e 74 72 79 25 20 b8 20 61 64 72 25 2c 74 6f 6b |ntry% . adr%,tok| 00006a30 65 6e 25 0d 03 f8 33 20 20 20 e7 20 66 24 3d a4 |en%...3 . f$=.| 00006a40 6c 6f 77 65 72 5f 63 61 73 65 28 a4 73 74 72 69 |lower_case(.stri| 00006a50 6e 67 30 28 61 64 72 25 2b 34 29 29 20 66 25 3d |ng0(adr%+4)) f%=| 00006a60 74 6f 6b 65 6e 25 0d 03 f9 0a 20 ed 3a 3d 66 25 |token%.... .:=f%| 00006a70 0d 03 fa 04 0d 03 fb 10 20 dd f2 73 69 7a 65 5f |........ ..size_| 00006a80 70 61 67 65 0d 03 fc 1e 20 21 71 25 3d 6d 61 69 |page.... !q%=mai| 00006a90 6e 5f 77 25 3a c8 99 20 67 65 74 77 69 25 2c 2c |n_w%:.. getwi%,,| 00006aa0 71 25 0d 03 fd 28 20 e7 20 28 71 25 21 33 32 29 |q%...( . (q%!32)| 00006ab0 80 28 31 3c 3c 31 36 29 20 6f 70 65 6e 25 3d b9 |.(1<<16) open%=.| 00006ac0 20 8b 20 6f 70 65 6e 25 3d a3 0d 03 fe 1f 20 c8 | . open%=..... .| 00006ad0 99 20 22 57 69 6d 70 5f 44 65 6c 65 74 65 57 69 |. "Wimp_DeleteWi| 00006ae0 6e 64 6f 77 22 2c 2c 71 25 0d 03 ff 0e 20 62 68 |ndow",,q%.... bh| 00006af0 25 3d 71 25 21 32 38 0d 04 00 10 20 70 6f 72 74 |%=q%!28.... port| 00006b00 72 61 69 74 25 3d a3 0d 04 01 14 20 c8 8e 20 70 |rait%=..... .. p| 00006b10 61 67 65 5f 73 69 7a 65 25 20 ca 0d 04 02 2d 20 |age_size% ....- | 00006b20 20 20 c9 20 31 3a 71 25 21 35 32 3d 36 33 39 3c | . 1:q%!52=639<| 00006b30 3c 78 65 66 25 3a 71 25 21 34 38 3d 2d 28 34 36 |<xef%:q%!48=-(46| 00006b40 30 3c 3c 79 65 66 25 29 0d 04 03 2d 20 20 20 c9 |0<<yef%)...- .| 00006b50 20 32 3a 71 25 21 35 32 3d 37 39 39 3c 3c 78 65 | 2:q%!52=799<<xe| 00006b60 66 25 3a 71 25 21 34 38 3d 2d 28 35 38 30 3c 3c |f%:q%!48=-(580<<| 00006b70 79 65 66 25 29 0d 04 04 2e 20 20 20 c9 20 33 3a |yef%).... . 3:| 00006b80 71 25 21 35 32 3d 31 30 32 33 3c 3c 78 65 66 25 |q%!52=1023<<xef%| 00006b90 3a 71 25 21 34 38 3d 2d 28 37 34 38 3c 3c 79 65 |:q%!48=-(748<<ye| 00006ba0 66 25 29 0d 04 05 2d 20 20 20 c9 20 34 3a 71 25 |f%)...- . 4:q%| 00006bb0 21 35 32 3d 31 33 32 30 3a 71 25 21 34 38 3d 2d |!52=1320:q%!48=-| 00006bc0 32 30 30 30 3a 70 6f 72 74 72 61 69 74 25 3d b9 |2000:portrait%=.| 00006bd0 0d 04 06 06 20 cb 0d 04 07 2b 20 c8 99 20 22 57 |.... ....+ .. "W| 00006be0 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 |imp_CreateWindow| 00006bf0 22 2c 2c 71 25 2b 34 20 b8 20 6d 61 69 6e 5f 77 |",,q%+4 . main_w| 00006c00 25 0d 04 08 55 20 21 71 25 3d 6d 61 69 6e 5f 77 |%...U !q%=main_w| 00006c10 25 3a c8 99 20 67 65 74 77 25 2c 2c 71 25 3a f2 |%:.. getw%,,q%:.| 00006c20 6f 70 65 6e 5f 77 69 6e 64 6f 77 28 21 71 25 2c |open_window(!q%,| 00006c30 71 25 21 34 2c 71 25 21 38 2c 71 25 21 31 32 2c |q%!4,q%!8,q%!12,| 00006c40 71 25 21 31 36 2c 71 25 21 32 30 2c 71 25 21 32 |q%!16,q%!20,q%!2| 00006c50 34 2c 62 68 25 29 0d 04 09 06 20 e1 0d 04 0a 04 |4,bh%).... .....| 00006c60 0d 04 0b 50 f4 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |...P. **********| 00006c70 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| 00006c80 2a 2a 2a 20 63 6c 69 63 6b 73 20 62 65 6c 6f 77 |*** clicks below| 00006c90 20 68 65 72 65 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a | here **********| 00006ca0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| 00006cb0 0d 04 0c 04 0d 04 0d 13 20 dd f2 62 65 67 69 6e |........ ..begin| 00006cc0 5f 74 72 79 69 6e 67 0d 04 0e 0e 20 74 72 79 69 |_trying.... tryi| 00006cd0 6e 67 25 3d b9 0d 04 0f 16 20 63 6c 69 63 6b 5f |ng%=..... click_| 00006ce0 75 6e 64 65 72 77 61 79 25 3d a3 0d 04 10 10 20 |underway%=..... | 00006cf0 70 61 75 73 65 5f 6f 6e 25 3d a3 0d 04 11 16 20 |pause_on%=..... | 00006d00 70 6f 69 6e 74 65 72 5f 6f 62 6a 65 63 74 25 3d |pointer_object%=| 00006d10 30 0d 04 12 0e 20 69 6e 70 75 74 24 3d 22 22 0d |0.... input$="".| 00006d20 04 13 15 20 f2 7a 65 72 6f 5f 70 61 67 65 5f 73 |... .zero_page_s| 00006d30 74 61 63 6b 0d 04 14 11 20 f2 70 72 65 5f 70 72 |tack.... .pre_pr| 00006d40 6f 63 65 73 73 0d 04 15 1e 20 f2 73 68 6f 77 5f |ocess.... .show_| 00006d50 70 61 67 65 28 63 75 72 72 65 6e 74 5f 70 61 67 |page(current_pag| 00006d60 65 25 29 0d 04 16 16 20 e7 20 73 63 61 6e 6e 69 |e%).... . scanni| 00006d70 6e 67 25 20 f2 73 63 61 6e 0d 04 17 1d 20 ff 20 |ng% .scan.... . | 00006d80 22 73 65 74 20 55 6f 62 6a 65 63 74 20 22 2b bd |"set Uobject "+.| 00006d90 33 34 2b bd 33 34 0d 04 18 06 20 e1 0d 04 19 04 |34+.34.... .....| 00006da0 0d 04 1a 0e 20 dd f2 64 65 6c 69 67 68 74 0d 04 |.... ..delight..| 00006db0 1b 21 20 73 74 61 63 6b 25 3d a4 73 74 61 63 6b |.! stack%=.stack| 00006dc0 28 63 75 72 72 65 6e 74 5f 70 61 67 65 25 29 0d |(current_page%).| 00006dd0 04 1c 1e 20 c8 99 20 6e 65 6e 74 72 69 65 73 25 |... .. nentries%| 00006de0 2c 73 74 61 63 6b 25 20 b8 20 6e 6f 25 0d 04 1d |,stack% . no%...| 00006df0 0c 20 e7 20 6e 6f 25 20 8c 0d 04 1e 16 20 20 20 |. . no% ..... | 00006e00 e3 20 6f 62 6a 65 63 74 25 3d 31 b8 6e 6f 25 0d |. object%=1.no%.| 00006e10 04 1f 29 20 20 20 20 20 c8 99 20 67 65 74 6e 74 |..) .. getnt| 00006e20 68 25 2c 73 74 61 63 6b 25 2c 6f 62 6a 65 63 74 |h%,stack%,object| 00006e30 25 20 b8 20 61 64 72 25 0d 04 20 2b 20 20 20 20 |% . adr%.. + | 00006e40 20 e7 20 61 64 72 25 21 33 36 20 80 20 31 20 61 | . adr%!36 . 1 a| 00006e50 64 72 25 21 33 36 3d 28 61 64 72 25 21 33 36 29 |dr%!36=(adr%!36)| 00006e60 80 2d 32 0d 04 21 08 20 20 20 ed 0d 04 22 06 20 |.-2..!. ...". | 00006e70 cd 0d 04 23 37 20 e7 20 73 70 65 61 6b 5f 74 6f |...#7 . speak_to| 00006e80 6b 65 6e 25 20 f2 75 70 64 61 74 65 5f 6f 62 6a |ken% .update_obj| 00006e90 65 63 74 28 73 74 61 63 6b 25 2c 73 70 65 61 6b |ect(stack%,speak| 00006ea0 5f 74 6f 6b 65 6e 25 29 0d 04 24 06 20 e1 0d 04 |_token%)..$. ...| 00006eb0 25 04 0d 04 26 44 20 dd f2 7a 65 72 6f 5f 70 61 |%...&D ..zero_pa| 00006ec0 67 65 5f 73 74 61 63 6b 3a e3 54 25 3d 30 b8 31 |ge_stack:.T%=0.1| 00006ed0 30 32 30 88 34 3a 54 25 21 70 61 67 65 5f 73 74 |020.4:T%!page_st| 00006ee0 61 63 6b 25 3d 30 3a ed 3a 70 61 67 65 5f 70 74 |ack%=0:.:page_pt| 00006ef0 72 25 3d 30 3a e1 0d 04 27 04 0d 04 28 12 20 dd |r%=0:...'...(. .| 00006f00 f2 70 72 65 5f 70 72 6f 63 65 73 73 0d 04 29 16 |.pre_process..).| 00006f10 20 70 6f 69 6e 74 65 72 5f 6f 62 6a 65 63 74 25 | pointer_object%| 00006f20 3d 30 0d 04 2a 13 20 70 6f 69 6e 74 65 72 5f 69 |=0..*. pointer_i| 00006f30 6e 74 25 3d 30 0d 04 2b 11 20 6f 66 74 65 6e 5f |nt%=0..+. often_| 00006f40 69 6e 74 25 3d 30 0d 04 2c 0f 20 73 65 71 5f 69 |int%=0..,. seq_i| 00006f50 6e 74 25 3d 30 0d 04 2d 13 20 73 63 61 6e 5f 6f |nt%=0..-. scan_o| 00006f60 62 6a 65 63 74 25 3d 30 0d 04 2e 32 20 73 70 65 |bject%=0...2 spe| 00006f70 61 6b 69 6e 67 5f 74 65 78 74 25 3d 30 3a 73 70 |aking_text%=0:sp| 00006f80 65 61 6b 5f 77 6f 72 64 25 3d 30 3a 73 70 65 61 |eak_word%=0:spea| 00006f90 6b 5f 74 6f 6b 65 6e 25 3d 30 0d 04 2f 12 20 70 |k_token%=0../. p| 00006fa0 6f 69 6e 74 65 72 5f 6f 6e 25 3d b9 0d 04 30 10 |ointer_on%=...0.| 00006fb0 20 74 72 79 5f 74 69 6d 65 25 3d 91 0d 04 31 06 | try_time%=...1.| 00006fc0 20 f5 0d 04 32 24 20 20 c8 99 20 6e 65 6e 74 72 | ...2$ .. nentr| 00006fd0 69 65 73 25 2c 73 5f 73 65 71 75 65 6e 63 65 73 |ies%,s_sequences| 00006fe0 25 20 b8 20 73 25 0d 04 33 0c 20 20 e7 20 73 25 |% . s%..3. . s%| 00006ff0 20 8c 0d 04 34 2f 20 20 20 20 c8 99 20 67 65 74 | ...4/ .. get| 00007000 6e 74 68 25 2c 73 5f 73 65 71 75 65 6e 63 65 73 |nth%,s_sequences| 00007010 25 2c 31 20 b8 20 61 64 72 25 2c 74 6f 6b 65 6e |%,1 . adr%,token| 00007020 25 0d 04 35 43 20 20 20 20 c8 99 20 6b 69 6c 6c |%..5C .. kill| 00007030 65 6e 74 72 79 25 2c 73 5f 73 65 71 75 65 6e 63 |entry%,s_sequenc| 00007040 65 73 25 2c 74 6f 6b 65 6e 25 3a f4 20 20 20 20 |es%,token%:. | 00007050 20 63 6c 65 61 72 20 61 6c 6c 20 73 65 71 75 65 | clear all seque| 00007060 6e 63 65 73 0d 04 36 07 20 20 cd 0d 04 37 0a 20 |nces..6. ...7. | 00007070 fd 73 25 3d 30 0d 04 38 06 20 f5 0d 04 39 23 20 |.s%=0..8. ...9# | 00007080 20 c8 99 20 6e 65 6e 74 72 69 65 73 25 2c 73 5f | .. nentries%,s_| 00007090 63 6c 69 63 6b 73 6f 6e 25 20 b8 20 73 25 0d 04 |clickson% . s%..| 000070a0 3a 0c 20 20 e7 20 73 25 20 8c 0d 04 3b 2a 20 20 |:. . s% ...;* | 000070b0 20 20 c8 99 20 67 65 74 6e 74 68 25 2c 73 5f 63 | .. getnth%,s_c| 000070c0 6c 69 63 6b 73 6f 6e 25 2c 31 20 b8 20 2c 74 6f |lickson%,1 . ,to| 000070d0 6b 65 6e 25 0d 04 3c 3f 20 20 20 20 c8 99 20 6b |ken%..<? .. k| 000070e0 69 6c 6c 65 6e 74 72 79 25 2c 73 5f 63 6c 69 63 |illentry%,s_clic| 000070f0 6b 73 6f 6e 25 2c 74 6f 6b 65 6e 25 3a f4 20 20 |kson%,token%:. | 00007100 20 20 20 63 6c 65 61 72 20 61 6c 6c 20 63 6c 69 | clear all cli| 00007110 63 6b 73 0d 04 3d 07 20 20 cd 0d 04 3e 0a 20 fd |cks..=. ...>. .| 00007120 73 25 3d 30 0d 04 3f 21 20 73 74 61 63 6b 25 3d |s%=0..?! stack%=| 00007130 a4 73 74 61 63 6b 28 63 75 72 72 65 6e 74 5f 70 |.stack(current_p| 00007140 61 67 65 25 29 0d 04 40 2f 20 c8 99 20 67 65 74 |age%)..@/ .. get| 00007150 65 6e 74 72 79 25 2c 73 5f 70 61 67 65 73 25 2c |entry%,s_pages%,| 00007160 63 75 72 72 65 6e 74 5f 70 61 67 65 25 20 b8 20 |current_page% . | 00007170 61 64 72 25 0d 04 41 32 20 e7 20 61 64 72 25 21 |adr%..A2 . adr%!| 00007180 32 34 20 c8 99 20 77 72 69 74 65 73 74 61 74 75 |24 .. writestatu| 00007190 73 25 2c 73 5f 63 6c 69 63 6b 73 25 2c 61 64 72 |s%,s_clicks%,adr| 000071a0 25 21 32 34 2c 30 0d 04 42 1e 20 c8 99 20 6e 65 |%!24,0..B. .. ne| 000071b0 6e 74 72 69 65 73 25 2c 73 74 61 63 6b 25 20 b8 |ntries%,stack% .| 000071c0 20 6e 6f 25 0d 04 43 0c 20 e7 20 6e 6f 25 20 8c | no%..C. . no% .| 000071d0 0d 04 44 16 20 20 20 e3 20 6f 62 6a 65 63 74 25 |..D. . object%| 000071e0 3d 31 b8 6e 6f 25 0d 04 45 29 20 20 20 20 20 c8 |=1.no%..E) .| 000071f0 99 20 67 65 74 6e 74 68 25 2c 73 74 61 63 6b 25 |. getnth%,stack%| 00007200 2c 6f 62 6a 65 63 74 25 20 b8 20 61 64 72 25 0d |,object% . adr%.| 00007210 04 46 61 20 20 20 20 20 61 64 72 25 21 33 36 3d |.Fa adr%!36=| 00007220 28 61 64 72 25 21 33 36 29 80 26 46 46 46 46 46 |(adr%!36).&FFFFF| 00007230 46 33 45 3a f4 20 20 20 20 20 65 6e 73 75 72 65 |F3E:. ensure| 00007240 20 61 6c 6c 20 6f 62 6a 65 63 74 73 20 73 68 6f | all objects sho| 00007250 77 6e 2c 20 75 6e 73 65 6c 65 63 74 65 64 20 61 |wn, unselected a| 00007260 6e 64 20 75 6e 68 69 67 68 6c 69 67 68 74 65 64 |nd unhighlighted| 00007270 0d 04 47 17 20 20 20 20 20 63 6c 69 63 6b 25 3d |..G. click%=| 00007280 61 64 72 25 21 32 38 0d 04 48 68 20 20 20 20 20 |adr%!28..Hh | 00007290 e7 20 63 6c 69 63 6b 25 20 c8 99 20 77 72 69 74 |. click% .. writ| 000072a0 65 73 74 61 74 75 73 25 2c 73 5f 63 6c 69 63 6b |estatus%,s_click| 000072b0 73 25 2c 63 6c 69 63 6b 25 2c 30 3a f4 20 20 20 |s%,click%,0:. | 000072c0 20 20 20 20 20 20 20 7a 65 72 6f 20 73 74 61 74 | zero stat| 000072d0 75 73 20 74 6f 20 61 76 6f 69 64 20 72 65 70 65 |us to avoid repe| 000072e0 74 69 74 69 6f 6e 20 6f 66 20 63 6c 69 63 6b 0d |tition of click.| 000072f0 04 49 08 20 20 20 ed 0d 04 4a 06 20 cd 0d 04 4b |.I. ...J. ...K| 00007300 14 20 e3 20 6f 62 6a 65 63 74 25 3d 30 b8 6e 6f |. . object%=0.no| 00007310 25 0d 04 4c 14 20 20 20 e7 20 6f 62 6a 65 63 74 |%..L. . object| 00007320 25 3d 30 20 8c 0d 04 4d 33 20 20 20 20 20 c8 99 |%=0 ...M3 ..| 00007330 20 67 65 74 65 6e 74 72 79 25 2c 73 5f 70 61 67 | getentry%,s_pag| 00007340 65 73 25 2c 63 75 72 72 65 6e 74 5f 70 61 67 65 |es%,current_page| 00007350 25 20 b8 20 61 64 72 25 0d 04 4e 17 20 20 20 20 |% . adr%..N. | 00007360 20 63 6c 69 63 6b 25 3d 61 64 72 25 21 32 34 0d | click%=adr%!24.| 00007370 04 4f 08 20 20 20 cc 0d 04 50 29 20 20 20 20 20 |.O. ...P) | 00007380 c8 99 20 67 65 74 6e 74 68 25 2c 73 74 61 63 6b |.. getnth%,stack| 00007390 25 2c 6f 62 6a 65 63 74 25 20 b8 20 61 64 72 25 |%,object% . adr%| 000073a0 0d 04 51 17 20 20 20 20 20 63 6c 69 63 6b 25 3d |..Q. click%=| 000073b0 61 64 72 25 21 32 38 0d 04 52 08 20 20 20 cd 0d |adr%!28..R. ..| 000073c0 04 53 11 20 20 20 e7 20 63 6c 69 63 6b 25 20 8c |.S. . click% .| 000073d0 0d 04 54 2d 20 20 20 20 20 c8 99 20 67 65 74 65 |..T- .. gete| 000073e0 6e 74 72 79 25 2c 73 5f 63 6c 69 63 6b 73 25 2c |ntry%,s_clicks%,| 000073f0 63 6c 69 63 6b 25 20 b8 20 61 64 72 25 0d 04 55 |click% . adr%..U| 00007400 2d 20 20 20 20 20 c8 99 20 72 65 61 64 73 74 61 |- .. readsta| 00007410 74 75 73 25 2c 73 5f 63 6c 69 63 6b 73 25 2c 63 |tus%,s_clicks%,c| 00007420 6c 69 63 6b 25 20 b8 20 73 25 0d 04 56 11 20 20 |lick% . s%..V. | 00007430 20 20 20 e7 20 73 25 3d 30 20 8c 0d 04 57 2d 20 | . s%=0 ...W- | 00007440 20 20 20 20 20 20 c8 99 20 77 72 69 74 65 73 74 | .. writest| 00007450 61 74 75 73 25 2c 73 5f 63 6c 69 63 6b 73 25 2c |atus%,s_clicks%,| 00007460 63 6c 69 63 6b 25 2c 31 0d 04 58 35 20 20 20 20 |click%,1..X5 | 00007470 20 20 20 e7 20 61 64 72 25 21 34 20 f2 70 72 65 | . adr%!4 .pre| 00007480 5f 63 6c 69 63 6b 28 73 5f 6d 6f 75 73 65 64 72 |_click(s_mousedr| 00007490 61 67 25 2c 61 64 72 25 21 34 2c 30 29 0d 04 59 |ag%,adr%!4,0)..Y| 000074a0 15 20 20 20 20 20 20 20 e7 20 61 64 72 25 21 38 |. . adr%!8| 000074b0 20 8c 0d 04 5a 19 20 20 20 20 20 20 20 20 20 6f | ...Z. o| 000074c0 66 74 65 6e 5f 69 6e 74 25 3d b9 0d 04 5b 26 20 |ften_int%=...[& | 000074d0 20 20 20 20 20 20 20 20 61 64 72 25 21 32 34 3d | adr%!24=| 000074e0 74 72 79 5f 74 69 6d 65 25 2b 61 64 72 25 21 31 |try_time%+adr%!1| 000074f0 32 0d 04 5c 2a 20 20 20 20 20 20 20 20 20 f2 70 |2..\* .p| 00007500 72 65 5f 63 6c 69 63 6b 28 73 5f 6f 66 74 65 6e |re_click(s_often| 00007510 25 2c 61 64 72 25 21 38 2c 31 29 0d 04 5d 0c 20 |%,adr%!8,1)..]. | 00007520 20 20 20 20 20 20 cd 0d 04 5e 16 20 20 20 20 20 | ...^. | 00007530 20 20 e7 20 61 64 72 25 21 31 36 20 8c 0d 04 5f | . adr%!16 ..._| 00007540 1b 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 |. pointe| 00007550 72 5f 69 6e 74 25 3d b9 0d 04 60 2d 20 20 20 20 |r_int%=...`- | 00007560 20 20 20 20 20 f2 70 72 65 5f 63 6c 69 63 6b 28 | .pre_click(| 00007570 73 5f 70 6f 69 6e 74 65 72 25 2c 61 64 72 25 21 |s_pointer%,adr%!| 00007580 31 36 2c 31 29 0d 04 61 0c 20 20 20 20 20 20 20 |16,1)..a. | 00007590 cd 0d 04 62 33 20 20 20 20 20 20 20 e7 20 61 64 |...b3 . ad| 000075a0 72 25 21 32 30 20 f2 70 72 65 5f 63 6c 69 63 6b |r%!20 .pre_click| 000075b0 28 73 5f 6d 6f 75 73 65 25 2c 61 64 72 25 21 32 |(s_mouse%,adr%!2| 000075c0 30 2c 31 29 0d 04 63 16 20 20 20 20 20 20 20 e7 |0,1)..c. .| 000075d0 20 61 64 72 25 21 33 32 20 8c 0d 04 64 2f 20 20 | adr%!32 ...d/ | 000075e0 20 20 20 20 20 20 20 f2 70 72 65 5f 63 6c 69 63 | .pre_clic| 000075f0 6b 28 73 5f 70 61 67 65 73 68 6f 77 6e 25 2c 61 |k(s_pageshown%,a| 00007600 64 72 25 21 33 32 2c 31 29 0d 04 65 2c 20 20 20 |dr%!32,1)..e, | 00007610 20 20 20 20 20 20 f2 64 6f 5f 63 6c 69 63 6b 28 | .do_click(| 00007620 73 5f 70 61 67 65 73 68 6f 77 6e 25 2c 61 64 72 |s_pageshown%,adr| 00007630 25 21 33 32 29 0d 04 66 0c 20 20 20 20 20 20 20 |%!32)..f. | 00007640 cd 0d 04 67 0a 20 20 20 20 20 cd 0d 04 68 08 20 |...g. ...h. | 00007650 20 20 cd 0d 04 69 06 20 ed 0d 04 6a 06 20 e1 0d | ...i. ...j. ..| 00007660 04 6b 04 0d 04 6c 26 20 dd f2 70 72 65 5f 63 6c |.k...l& ..pre_cl| 00007670 69 63 6b 28 63 6f 6e 74 65 78 74 25 2c 63 6c 69 |ick(context%,cli| 00007680 63 6b 25 2c 73 65 71 25 29 0d 04 6d 0b 20 ea 20 |ck%,seq%)..m. . | 00007690 61 64 72 25 0d 04 6e 28 20 c8 99 20 67 65 74 65 |adr%..n( .. gete| 000076a0 6e 74 72 79 25 2c 63 6f 6e 74 65 78 74 25 2c 63 |ntry%,context%,c| 000076b0 6c 69 63 6b 25 20 b8 20 61 64 72 25 0d 04 6f 1c |lick% . adr%..o.| 000076c0 20 65 6e 64 25 3d 61 64 72 25 2b 21 61 64 72 25 | end%=adr%+!adr%| 000076d0 3a 61 64 72 25 2b 3d 34 0d 04 70 06 20 f5 0d 04 |:adr%+=4..p. ...| 000076e0 71 1d 20 20 20 6c 65 6e 25 3d 21 61 64 72 25 3a |q. len%=!adr%:| 000076f0 63 6d 64 25 3d 61 64 72 25 21 34 0d 04 72 10 20 |cmd%=adr%!4..r. | 00007700 20 20 c8 8e 20 63 6d 64 25 20 ca 0d 04 73 38 20 | .. cmd% ...s8 | 00007710 20 20 20 20 c9 20 31 2c 33 2c 34 3a e7 20 73 65 | . 1,3,4:. se| 00007720 71 25 3d 30 20 f2 70 72 65 5f 6c 69 73 74 28 63 |q%=0 .pre_list(c| 00007730 6d 64 25 2c 61 64 72 25 2b 38 2c 6c 65 6e 25 2d |md%,adr%+8,len%-| 00007740 31 32 29 0d 04 74 41 20 20 20 20 20 c9 20 35 3a |12)..tA . 5:| 00007750 e7 20 63 6f 6e 74 65 78 74 25 3d 73 5f 70 61 67 |. context%=s_pag| 00007760 65 73 68 6f 77 6e 25 20 80 20 73 65 71 25 3d 30 |eshown% . seq%=0| 00007770 20 f2 70 6c 61 79 5f 73 6f 75 6e 64 28 61 64 72 | .play_sound(adr| 00007780 25 21 38 29 0d 04 75 0d 20 20 20 20 20 c9 20 37 |%!8)..u. . 7| 00007790 3a 0d 04 76 13 20 20 20 20 20 20 20 e7 20 73 65 |:..v. . se| 000077a0 71 25 20 8c 0d 04 77 17 20 20 20 20 20 20 20 20 |q% ...w. | 000077b0 20 73 65 71 5f 69 6e 74 25 3d b9 0d 04 78 30 20 | seq_int%=...x0 | 000077c0 20 20 20 20 20 20 20 20 66 6c 61 67 25 3d 61 64 | flag%=ad| 000077d0 72 25 21 31 32 3a 73 25 3d 61 64 72 25 2b 33 36 |r%!12:s%=adr%+36| 000077e0 3a 65 25 3d 6c 65 6e 25 2d 34 30 0d 04 79 2e 20 |:e%=len%-40..y. | 000077f0 20 20 20 20 20 20 20 20 e7 20 66 6c 61 67 25 20 | . flag% | 00007800 80 20 34 20 73 25 3d 61 64 72 25 2b 34 30 3a 65 |. 4 s%=adr%+40:e| 00007810 25 3d 6c 65 6e 25 2d 34 34 0d 04 7a 1f 20 20 20 |%=len%-44..z. | 00007820 20 20 20 20 20 20 f2 70 72 65 5f 6c 69 73 74 28 | .pre_list(| 00007830 33 2c 73 25 2c 65 25 29 0d 04 7b 0c 20 20 20 20 |3,s%,e%)..{. | 00007840 20 20 20 cd 0d 04 7c 08 20 20 20 cb 0d 04 7d 11 | ...|. ...}.| 00007850 20 20 20 61 64 72 25 2b 3d 6c 65 6e 25 0d 04 7e | adr%+=len%..~| 00007860 11 20 fd 20 61 64 72 25 3e 3d 65 6e 64 25 0d 04 |. . adr%>=end%..| 00007870 7f 06 20 e1 0d 04 80 04 0d 04 81 1f 20 dd f2 70 |.. ......... ..p| 00007880 72 65 5f 6c 69 73 74 28 63 6d 64 25 2c 61 64 72 |re_list(cmd%,adr| 00007890 25 2c 6c 65 6e 25 29 0d 04 82 14 20 e3 6c 69 73 |%,len%).... .lis| 000078a0 74 25 3d 30 b8 6c 65 6e 25 88 34 0d 04 83 10 20 |t%=0.len%.4.... | 000078b0 20 20 c8 8e 20 63 6d 64 25 20 ca 0d 04 84 31 20 | .. cmd% ....1 | 000078c0 20 20 20 20 c9 20 31 3a f2 6c 69 67 68 74 5f 6f | . 1:.light_o| 000078d0 62 6a 65 63 74 28 73 74 61 63 6b 25 2c 6c 69 73 |bject(stack%,lis| 000078e0 74 25 21 61 64 72 25 2c 31 2c 30 29 0d 04 85 30 |t%!adr%,1,0)...0| 000078f0 20 20 20 20 20 c9 20 33 3a f2 68 69 64 65 5f 6f | . 3:.hide_o| 00007900 62 6a 65 63 74 28 73 74 61 63 6b 25 2c 6c 69 73 |bject(stack%,lis| 00007910 74 25 21 61 64 72 25 2c 31 2c 30 29 0d 04 86 30 |t%!adr%,1,0)...0| 00007920 20 20 20 20 20 c9 20 34 3a f2 68 69 64 65 5f 6f | . 4:.hide_o| 00007930 62 6a 65 63 74 28 73 74 61 63 6b 25 2c 6c 69 73 |bject(stack%,lis| 00007940 74 25 21 61 64 72 25 2c 30 2c 30 29 0d 04 87 08 |t%!adr%,0,0)....| 00007950 20 20 20 cb 0d 04 88 06 20 ed 0d 04 89 06 20 e1 | ..... ..... .| 00007960 0d 04 8a 04 0d 04 8b 0f 20 dd f2 74 72 79 5f 70 |........ ..try_p| 00007970 6f 6c 6c 0d 04 8c 16 20 c8 99 20 70 6f 6c 6c 25 |oll.... .. poll%| 00007980 2c 2c 71 25 20 b8 20 41 25 0d 04 8d 14 20 c8 99 |,,q% . A%.... ..| 00007990 20 70 6c 61 79 73 6f 75 6e 64 25 2c 30 0d 04 8e | playsound%,0...| 000079a0 26 20 c8 99 20 22 4f 53 5f 4d 6f 64 75 6c 65 22 |& .. "OS_Module"| 000079b0 2c 31 36 2c 22 55 62 61 73 65 25 55 6c 74 69 6d |,16,"Ubase%Ultim| 000079c0 61 70 22 0d 04 8f 0c 20 c8 8e 20 41 25 20 ca 0d |ap".... .. A% ..| 000079d0 04 90 14 20 20 20 c9 20 30 3a f2 74 72 79 5f 6e |... . 0:.try_n| 000079e0 75 6c 6c 0d 04 91 19 20 20 20 c9 20 31 3a f2 72 |ull.... . 1:.r| 000079f0 65 64 72 61 77 5f 77 69 6e 64 6f 77 0d 04 92 44 |edraw_window...D| 00007a00 20 20 20 c9 20 32 3a f2 6f 70 65 6e 5f 77 69 6e | . 2:.open_win| 00007a10 64 6f 77 28 21 71 25 2c 71 25 21 34 2c 71 25 21 |dow(!q%,q%!4,q%!| 00007a20 38 2c 71 25 21 31 32 2c 71 25 21 31 36 2c 71 25 |8,q%!12,q%!16,q%| 00007a30 21 32 30 2c 71 25 21 32 34 2c 71 25 21 32 38 29 |!20,q%!24,q%!28)| 00007a40 0d 04 93 1d 20 20 20 c9 20 33 3a f2 63 6c 6f 73 |.... . 3:.clos| 00007a50 65 5f 77 69 6e 64 6f 77 28 21 71 25 29 0d 04 94 |e_window(!q%)...| 00007a60 35 20 20 20 c9 20 34 3a e7 20 21 71 25 3d 6d 61 |5 . 4:. !q%=ma| 00007a70 69 6e 5f 77 25 20 80 20 70 6f 69 6e 74 65 72 5f |in_w% . pointer_| 00007a80 6f 6e 25 3d 30 20 ff 22 70 6f 69 6e 74 65 72 20 |on%=0 ."pointer | 00007a90 31 22 0d 04 95 4e 20 20 20 c9 20 35 3a e7 20 21 |1"...N . 5:. !| 00007aa0 71 25 3d 6d 61 69 6e 5f 77 25 20 80 20 70 6f 69 |q%=main_w% . poi| 00007ab0 6e 74 65 72 5f 6f 6e 25 3d 30 20 c8 99 20 22 57 |nter_on%=0 .. "W| 00007ac0 69 6d 70 5f 53 70 72 69 74 65 4f 70 22 2c 33 36 |imp_SpriteOp",36| 00007ad0 2c 31 2c 22 70 74 72 5f 63 6c 6f 63 6b 22 2c 32 |,1,"ptr_clock",2| 00007ae0 0d 04 96 15 20 20 20 c9 20 36 3a f2 74 72 79 5f |.... . 6:.try_| 00007af0 6d 6f 75 73 65 0d 04 97 19 20 20 20 c9 20 37 3a |mouse.... . 7:| 00007b00 f2 74 72 79 5f 75 73 65 72 5f 64 72 61 67 0d 04 |.try_user_drag..| 00007b10 98 14 20 20 20 c9 20 38 3a f2 74 72 79 5f 6b 65 |.. . 8:.try_ke| 00007b20 79 73 0d 04 99 1b 20 20 20 c9 20 39 3a f2 74 72 |ys.... . 9:.tr| 00007b30 79 5f 6d 65 6e 75 5f 73 65 6c 65 63 74 0d 04 9a |y_menu_select...| 00007b40 1f 20 20 20 c9 20 31 37 2c 31 38 3a f2 74 72 79 |. . 17,18:.try| 00007b50 5f 72 65 63 65 69 76 65 28 71 25 29 0d 04 9b 06 |_receive(q%)....| 00007b60 20 cb 0d 04 9c 06 20 e1 0d 04 9d 04 0d 04 9e 17 | ..... .........| 00007b70 20 dd 20 f2 74 72 79 5f 72 65 63 65 69 76 65 28 | . .try_receive(| 00007b80 71 25 29 0d 04 9f 0f 20 c8 8e 20 71 25 21 31 36 |q%).... .. q%!16| 00007b90 20 ca 0d 04 a0 14 20 20 20 c9 20 30 3a f2 66 69 | ..... . 0:.fi| 00007ba0 6e 69 73 68 3a e0 0d 04 a1 17 20 20 20 c9 20 32 |nish:..... . 2| 00007bb0 3a f2 64 61 74 61 73 61 76 65 61 63 6b 0d 04 a2 |:.datasaveack...| 00007bc0 21 20 20 20 c9 20 33 3a e7 20 71 25 21 34 30 3d |! . 3:. q%!40=| 00007bd0 26 42 43 33 20 f2 64 61 74 61 6c 6f 61 64 0d 04 |&BC3 .dataload..| 00007be0 a3 14 20 20 20 c9 20 36 3a f2 72 61 6d 66 65 74 |.. . 6:.ramfet| 00007bf0 63 68 0d 04 a4 1b 20 20 20 c9 20 26 35 30 32 3a |ch.... . &502:| 00007c00 f2 68 65 6c 70 5f 72 65 71 75 65 73 74 0d 04 a5 |.help_request...| 00007c10 21 20 20 20 c9 20 26 34 30 30 43 30 3a f2 74 72 |! . &400C0:.tr| 00007c20 79 5f 6d 65 6e 75 5f 77 61 72 6e 69 6e 67 0d 04 |y_menu_warning..| 00007c30 a6 10 20 20 20 c9 20 26 34 30 30 43 31 3a 0d 04 |.. . &400C1:..| 00007c40 a7 1a 20 20 20 20 20 c8 99 20 22 48 6f 75 72 67 |.. .. "Hourg| 00007c50 6c 61 73 73 5f 4f 6e 22 0d 04 a8 17 20 20 20 20 |lass_On".... | 00007c60 20 f2 67 65 74 5f 6d 6f 64 65 5f 69 6e 66 6f 0d | .get_mode_info.| 00007c70 04 a9 14 20 20 20 20 20 f2 6c 6f 73 65 5f 66 6f |... .lose_fo| 00007c80 6e 74 73 0d 04 aa 18 20 20 20 20 20 f2 73 65 74 |nts.... .set| 00007c90 5f 69 63 6f 6e 5f 66 6f 6e 74 73 0d 04 ab 1b 20 |_icon_fonts.... | 00007ca0 20 20 20 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 | .. "Hourglas| 00007cb0 73 5f 4f 66 66 22 0d 04 ac 06 20 cb 0d 04 ad 06 |s_Off".... .....| 00007cc0 20 e1 0d 04 ae 04 0d 04 af 0f 20 dd f2 74 72 79 | ......... ..try| 00007cd0 5f 6e 75 6c 6c 0d 04 b0 34 20 21 71 25 3d 6d 61 |_null...4 !q%=ma| 00007ce0 69 6e 5f 77 25 3a c8 99 20 67 65 74 77 25 2c 2c |in_w%:.. getw%,,| 00007cf0 71 25 3a e7 28 28 71 25 21 33 32 29 80 28 31 3c |q%:.((q%!32).(1<| 00007d00 3c 31 36 29 29 3d 30 20 e1 0d 04 b1 23 20 e7 20 |<16))=0 ....# . | 00007d10 73 65 71 5f 69 6e 74 25 20 f2 63 68 65 63 6b 5f |seq_int% .check_| 00007d20 73 65 71 75 65 6e 63 65 73 28 91 29 0d 04 b2 12 |sequences(.)....| 00007d30 20 f2 63 68 65 63 6b 5f 63 6c 69 63 6b 73 0d 04 | .check_clicks..| 00007d40 b3 50 20 e7 20 c2 69 6e 70 75 74 24 2c 31 29 3d |.P . .input$,1)=| 00007d50 bd 31 33 3a 69 6e 70 75 74 24 3d c0 69 6e 70 75 |.13:input$=.inpu| 00007d60 74 24 2c a9 28 69 6e 70 75 74 24 29 2d 31 29 3a |t$,.(input$)-1):| 00007d70 21 71 25 3d 6d 61 69 6e 5f 77 25 3a 71 25 21 32 |!q%=main_w%:q%!2| 00007d80 34 3d 31 33 3a f2 74 72 79 5f 6b 65 79 73 0d 04 |4=13:.try_keys..| 00007d90 b4 30 20 e7 20 70 6f 69 6e 74 65 72 5f 69 6e 74 |.0 . pointer_int| 00007da0 25 20 80 20 73 63 61 6e 6e 69 6e 67 25 3d a3 20 |% . scanning%=. | 00007db0 f2 75 6e 64 65 72 5f 70 6f 69 6e 74 65 72 0d 04 |.under_pointer..| 00007dc0 b5 18 20 e7 20 6f 66 74 65 6e 5f 69 6e 74 25 20 |.. . often_int% | 00007dd0 f2 6f 66 74 65 6e 0d 04 b6 25 20 e7 20 73 63 61 |.often...% . sca| 00007de0 6e 6e 69 6e 67 25 20 80 20 73 63 61 6e 5f 6b 65 |nning% . scan_ke| 00007df0 79 73 25 3d 31 20 f2 73 63 61 6e 0d 04 b7 19 20 |ys%=1 .scan.... | 00007e00 c8 99 20 70 6c 61 79 73 6f 75 6e 64 25 2c 30 20 |.. playsound%,0 | 00007e10 b8 20 74 25 0d 04 b8 0f 20 e7 20 74 25 3c 3e 2d |. t%.... . t%<>-| 00007e20 31 20 8c 0d 04 b9 19 20 20 20 e7 20 73 70 65 61 |1 ..... . spea| 00007e30 6b 69 6e 67 5f 74 65 78 74 25 20 8c 0d 04 ba 19 |king_text% .....| 00007e40 20 20 20 20 20 e7 20 73 70 65 61 6b 5f 73 6f 75 | . speak_sou| 00007e50 6e 64 25 20 8c 0d 04 bb 29 20 20 20 20 20 20 20 |nd% ....) | 00007e60 f2 70 6c 61 79 5f 73 6f 75 6e 64 5f 77 61 69 74 |.play_sound_wait| 00007e70 28 73 70 65 61 6b 5f 73 6f 75 6e 64 25 29 0d 04 |(speak_sound%)..| 00007e80 bc 0a 20 20 20 20 20 cc 0d 04 bd 1d 20 20 20 20 |.. ..... | 00007e90 20 20 20 ef 37 3a 74 25 3d 91 2b 35 30 3a f5 3a | .7:t%=.+50:.:| 00007ea0 fd 91 3e 74 25 0d 04 be 0a 20 20 20 20 20 cd 0d |..>t%.... ..| 00007eb0 04 bf 17 20 20 20 20 20 f2 73 70 65 61 6b 69 6e |... .speakin| 00007ec0 67 5f 74 65 78 74 0d 04 c0 08 20 20 20 cd 0d 04 |g_text.... ...| 00007ed0 c1 06 20 cd 0d 04 c2 13 20 f2 63 68 65 63 6b 5f |.. ..... .check_| 00007ee0 73 79 73 76 61 72 73 0d 04 c3 06 20 e1 0d 04 c4 |sysvars.... ....| 00007ef0 04 0d 04 c5 14 20 dd f2 63 68 65 63 6b 5f 73 79 |..... ..check_sy| 00007f00 73 76 61 72 73 0d 04 c6 31 20 c8 99 20 22 4f 53 |svars...1 .. "OS| 00007f10 5f 52 65 61 64 56 61 72 56 61 6c 22 2c 22 55 70 |_ReadVarVal","Up| 00007f20 61 67 65 22 2c 6d 61 69 6e 25 2c 31 30 30 30 20 |age",main%,1000 | 00007f30 b8 20 2c 2c 54 25 0d 04 c7 25 20 54 25 3f 6d 61 |. ,,T%...% T%?ma| 00007f40 69 6e 25 3d 30 3a 70 61 67 65 24 3d a4 73 74 72 |in%=0:page$=.str| 00007f50 69 6e 67 30 28 6d 61 69 6e 25 29 0d 04 c8 1d 20 |ing0(main%).... | 00007f60 e7 20 70 61 67 65 24 3c 3e 63 75 72 72 65 6e 74 |. page$<>current| 00007f70 5f 70 61 67 65 24 20 8c 0d 04 c9 2a 20 20 20 70 |_page$ ....* p| 00007f80 61 67 65 25 3d a4 6e 61 6d 65 5f 65 78 73 69 73 |age%=.name_exsis| 00007f90 74 73 28 73 5f 70 61 67 65 73 25 2c 70 61 67 65 |ts(s_pages%,page| 00007fa0 24 29 0d 04 ca 10 20 20 20 e7 20 70 61 67 65 25 |$).... . page%| 00007fb0 20 8c 0d 04 cb 1c 20 20 20 20 20 63 75 72 72 65 | ..... curre| 00007fc0 6e 74 5f 70 61 67 65 25 3d 70 61 67 65 25 0d 04 |nt_page%=page%..| 00007fd0 cc 15 20 20 20 20 20 f2 70 72 65 5f 70 72 6f 63 |.. .pre_proc| 00007fe0 65 73 73 0d 04 cd 22 20 20 20 20 20 f2 73 68 6f |ess..." .sho| 00007ff0 77 5f 70 61 67 65 28 63 75 72 72 65 6e 74 5f 70 |w_page(current_p| 00008000 61 67 65 25 29 0d 04 ce 1a 20 20 20 20 20 e7 20 |age%).... . | 00008010 73 63 61 6e 6e 69 6e 67 25 20 f2 73 63 61 6e 0d |scanning% .scan.| 00008020 04 cf 08 20 20 20 cd 0d 04 d0 06 20 cd 0d 04 d1 |... ..... ....| 00008030 33 20 c8 99 20 22 4f 53 5f 52 65 61 64 56 61 72 |3 .. "OS_ReadVar| 00008040 56 61 6c 22 2c 22 55 6f 62 6a 65 63 74 22 2c 6d |Val","Uobject",m| 00008050 61 69 6e 25 2c 31 30 30 30 20 b8 20 2c 2c 54 25 |ain%,1000 . ,,T%| 00008060 0d 04 d2 27 20 54 25 3f 6d 61 69 6e 25 3d 30 3a |...' T%?main%=0:| 00008070 6f 62 6a 65 63 74 24 3d a4 73 74 72 69 6e 67 30 |object$=.string0| 00008080 28 6d 61 69 6e 25 29 0d 04 d3 14 20 e7 20 6f 62 |(main%).... . ob| 00008090 6a 65 63 74 24 3c 3e 22 22 20 8c 0d 04 d4 1f 20 |ject$<>"" ..... | 000080a0 20 20 ff 20 22 73 65 74 20 55 6f 62 6a 65 63 74 | . "set Uobject| 000080b0 20 22 2b bd 33 34 2b bd 33 34 0d 04 d5 34 20 20 | "+.34+.34...4 | 000080c0 20 69 6e 70 75 74 24 3d 6f 62 6a 65 63 74 24 3a | input$=object$:| 000080d0 21 71 25 3d 6d 61 69 6e 5f 77 25 3a 71 25 21 32 |!q%=main_w%:q%!2| 000080e0 34 3d 31 33 3a f2 74 72 79 5f 6b 65 79 73 0d 04 |4=13:.try_keys..| 000080f0 d6 06 20 cd 0d 04 d7 06 20 e1 0d 04 d8 04 0d 04 |.. ..... .......| 00008100 d9 10 20 dd f2 74 72 79 5f 6d 6f 75 73 65 0d 04 |.. ..try_mouse..| 00008110 da 0f 20 c8 8e 20 71 25 21 31 32 20 ca 0d 04 db |.. .. q%!12 ....| 00008120 3e 20 20 20 c9 20 2d 32 3a e7 20 71 25 21 31 36 |> . -2:. q%!16| 00008130 3d 69 63 6f 6e 5f 62 61 72 25 20 d4 20 31 2c 26 |=icon_bar% . 1,&| 00008140 31 30 30 2c 26 39 30 30 30 2c 31 3a f2 63 68 65 |100,&9000,1:.che| 00008150 63 6b 5f 69 63 6f 6e 5f 62 61 72 0d 04 dc 1c 20 |ck_icon_bar.... | 00008160 20 20 c9 20 6d 61 69 6e 5f 77 25 3a f2 74 72 79 | . main_w%:.try| 00008170 5f 6d 61 69 6e 5f 77 0d 04 dd 28 20 20 20 c9 20 |_main_w...( . | 00008180 70 61 67 65 6c 69 73 74 5f 77 63 25 3a f2 63 68 |pagelist_wc%:.ch| 00008190 65 63 6b 5f 70 61 67 65 6c 69 73 74 5f 77 63 0d |eck_pagelist_wc.| 000081a0 04 de 20 20 20 20 c9 20 70 72 69 6e 74 5f 77 25 |.. . print_w%| 000081b0 3a f2 63 68 65 63 6b 5f 70 72 69 6e 74 5f 77 0d |:.check_print_w.| 000081c0 04 df 06 20 cb 0d 04 e0 06 20 e1 0d 04 e1 04 0d |... ..... ......| 000081d0 04 e2 11 20 dd f2 74 72 79 5f 6d 61 69 6e 5f 77 |... ..try_main_w| 000081e0 0d 04 e3 23 20 c8 99 20 73 65 74 63 61 72 65 74 |...# .. setcaret| 000081f0 25 2c 6d 61 69 6e 5f 77 25 2c 2d 31 2c 30 2c 30 |%,main_w%,-1,0,0| 00008200 2c 31 30 0d 04 e4 15 20 6d 78 25 3d 21 71 25 3a |,10.... mx%=!q%:| 00008210 6d 79 25 3d 71 25 21 34 0d 04 e5 11 20 62 75 74 |my%=q%!4.... but| 00008220 74 6f 6e 25 3d 71 25 21 38 0d 04 e6 12 20 e7 20 |ton%=q%!8.... . | 00008230 62 75 74 74 6f 6e 25 80 32 20 8c 0d 04 e7 2e 20 |button%.2 ..... | 00008240 20 20 e7 20 6d 65 6e 75 5f 65 6e 61 62 6c 65 64 | . menu_enabled| 00008250 25 20 f2 6f 70 65 6e 5f 74 72 79 5f 6d 65 6e 75 |% .open_try_menu| 00008260 28 6d 78 25 2c 6d 79 25 29 0d 04 e8 08 20 20 20 |(mx%,my%).... | 00008270 e1 0d 04 e9 06 20 cd 0d 04 ea 27 20 e7 20 73 63 |..... ....' . sc| 00008280 61 6e 6e 69 6e 67 25 20 f2 73 63 61 6e 5f 63 6c |anning% .scan_cl| 00008290 69 63 6b 28 62 75 74 74 6f 6e 25 29 3a e1 0d 04 |ick(button%):...| 000082a0 eb 16 20 e7 20 70 6f 69 6e 74 65 72 5f 6f 6e 25 |.. . pointer_on%| 000082b0 3d a3 20 e1 0d 04 ec 10 20 69 63 6f 6e 25 3d 71 |=. ..... icon%=q| 000082c0 25 21 31 36 0d 04 ed 1d 20 21 71 25 3d 6d 61 69 |%!16.... !q%=mai| 000082d0 6e 5f 77 25 3a c8 99 20 67 65 74 77 25 2c 2c 71 |n_w%:.. getw%,,q| 000082e0 25 0d 04 ee 2b 20 6f 66 66 78 25 3d 28 71 25 21 |%...+ offx%=(q%!| 000082f0 34 2d 71 25 21 32 30 29 3a 6f 66 66 79 25 3d 28 |4-q%!20):offy%=(| 00008300 71 25 21 31 36 2d 71 25 21 32 34 29 0d 04 ef 1a |q%!16-q%!24)....| 00008310 20 6d 78 25 2d 3d 6f 66 66 78 25 3a 6d 79 25 2d | mx%-=offx%:my%-| 00008320 3d 6f 66 66 79 25 0d 04 f0 11 20 c8 8e 20 62 75 |=offy%.... .. bu| 00008330 74 74 6f 6e 25 20 ca 0d 04 f1 0c 20 20 20 c9 20 |tton% ..... . | 00008340 26 34 30 0d 04 f2 25 20 20 20 20 20 73 74 61 63 |&40...% stac| 00008350 6b 25 3d a4 73 74 61 63 6b 28 63 75 72 72 65 6e |k%=.stack(curren| 00008360 74 5f 70 61 67 65 25 29 0d 04 f3 35 20 20 20 20 |t_page%)...5 | 00008370 20 6f 62 6a 65 63 74 25 3d a4 77 68 69 63 68 5f | object%=.which_| 00008380 6f 62 6a 65 63 74 28 63 75 72 72 65 6e 74 5f 70 |object(current_p| 00008390 61 67 65 25 2c 6d 78 25 2c 6d 79 25 29 0d 04 f4 |age%,mx%,my%)...| 000083a0 14 20 20 20 20 20 e7 20 6f 62 6a 65 63 74 25 20 |. . object% | 000083b0 8c 0d 04 f5 2d 20 20 20 20 20 20 20 c8 99 20 67 |....- .. g| 000083c0 65 74 65 6e 74 72 79 25 2c 73 74 61 63 6b 25 2c |etentry%,stack%,| 000083d0 6f 62 6a 65 63 74 25 20 b8 20 61 64 72 25 0d 04 |object% . adr%..| 000083e0 f6 19 20 20 20 20 20 20 20 63 6c 69 63 6b 25 3d |.. click%=| 000083f0 61 64 72 25 21 32 38 0d 04 f7 15 20 20 20 20 20 |adr%!28.... | 00008400 20 20 e7 20 63 6c 69 63 6b 25 20 8c 0d 04 f8 31 | . click% ....1| 00008410 20 20 20 20 20 20 20 20 20 c8 99 20 67 65 74 65 | .. gete| 00008420 6e 74 72 79 25 2c 73 5f 63 6c 69 63 6b 73 25 2c |ntry%,s_clicks%,| 00008430 63 6c 69 63 6b 25 20 b8 20 61 64 72 25 0d 04 f9 |click% . adr%...| 00008440 17 20 20 20 20 20 20 20 20 20 e7 20 61 64 72 25 |. . adr%| 00008450 21 34 20 8c 0d 04 fa 36 20 20 20 20 20 20 20 20 |!4 ....6 | 00008460 20 20 20 c8 99 20 67 65 74 65 6e 74 72 79 25 2c | .. getentry%,| 00008470 73 5f 6d 6f 75 73 65 64 72 61 67 25 2c 61 64 72 |s_mousedrag%,adr| 00008480 25 21 34 20 b8 20 61 64 72 25 0d 04 fb 2b 20 20 |%!4 . adr%...+ | 00008490 20 20 20 20 20 20 20 20 20 f2 62 65 67 69 6e 5f | .begin_| 000084a0 73 61 76 65 28 6f 62 6a 65 63 74 25 2c 61 64 72 |save(object%,adr| 000084b0 25 21 31 32 29 0d 04 fc 0e 20 20 20 20 20 20 20 |%!12).... | 000084c0 20 20 cd 0d 04 fd 0c 20 20 20 20 20 20 20 cd 0d | ..... ..| 000084d0 04 fe 0a 20 20 20 20 20 cd 0d 04 ff 0d 20 20 20 |... ..... | 000084e0 c9 20 26 31 30 30 0d 05 00 32 20 20 20 20 20 70 |. &100...2 p| 000084f0 61 67 65 5f 70 74 72 25 2d 3d 34 3a e7 20 70 61 |age_ptr%-=4:. pa| 00008500 67 65 5f 70 74 72 25 3c 30 20 70 61 67 65 5f 70 |ge_ptr%<0 page_p| 00008510 74 72 25 3d 31 30 32 30 0d 05 01 25 20 20 20 20 |tr%=1020...% | 00008520 20 e7 20 70 61 67 65 5f 70 74 72 25 21 70 61 67 | . page_ptr%!pag| 00008530 65 5f 73 74 61 63 6b 25 3c 3e 30 20 8c 0d 05 02 |e_stack%<>0 ....| 00008540 13 20 20 20 20 20 20 20 f2 64 65 6c 69 67 68 74 |. .delight| 00008550 0d 05 03 2e 20 20 20 20 20 20 20 63 75 72 72 65 |.... curre| 00008560 6e 74 5f 70 61 67 65 25 3d 70 61 67 65 5f 70 74 |nt_page%=page_pt| 00008570 72 25 21 70 61 67 65 5f 73 74 61 63 6b 25 0d 05 |r%!page_stack%..| 00008580 04 22 20 20 20 20 20 20 20 70 61 67 65 5f 70 74 |." page_pt| 00008590 72 25 21 70 61 67 65 5f 73 74 61 63 6b 25 3d 30 |r%!page_stack%=0| 000085a0 0d 05 05 17 20 20 20 20 20 20 20 f2 70 72 65 5f |.... .pre_| 000085b0 70 72 6f 63 65 73 73 0d 05 06 24 20 20 20 20 20 |process...$ | 000085c0 20 20 f2 73 68 6f 77 5f 70 61 67 65 28 63 75 72 | .show_page(cur| 000085d0 72 65 6e 74 5f 70 61 67 65 25 29 0d 05 07 1c 20 |rent_page%).... | 000085e0 20 20 20 20 20 20 e7 20 73 63 61 6e 6e 69 6e 67 | . scanning| 000085f0 25 20 f2 73 63 61 6e 0d 05 08 0a 20 20 20 20 20 |% .scan.... | 00008600 cd 0d 05 09 0d 20 20 20 c9 20 26 34 30 30 0d 05 |..... . &400..| 00008610 0a 25 20 20 20 20 20 73 74 61 63 6b 25 3d a4 73 |.% stack%=.s| 00008620 74 61 63 6b 28 63 75 72 72 65 6e 74 5f 70 61 67 |tack(current_pag| 00008630 65 25 29 0d 05 0b 35 20 20 20 20 20 6f 62 6a 65 |e%)...5 obje| 00008640 63 74 25 3d a4 77 68 69 63 68 5f 6f 62 6a 65 63 |ct%=.which_objec| 00008650 74 28 63 75 72 72 65 6e 74 5f 70 61 67 65 25 2c |t(current_page%,| 00008660 6d 78 25 2c 6d 79 25 29 0d 05 0c 14 20 20 20 20 |mx%,my%).... | 00008670 20 e7 20 6f 62 6a 65 63 74 25 20 8c 0d 05 0d 2d | . object% ....-| 00008680 20 20 20 20 20 20 20 c8 99 20 67 65 74 65 6e 74 | .. getent| 00008690 72 79 25 2c 73 74 61 63 6b 25 2c 6f 62 6a 65 63 |ry%,stack%,objec| 000086a0 74 25 20 b8 20 61 64 72 25 0d 05 0e 19 20 20 20 |t% . adr%.... | 000086b0 20 20 20 20 63 6c 69 63 6b 25 3d 61 64 72 25 21 | click%=adr%!| 000086c0 32 38 0d 05 0f 15 20 20 20 20 20 20 20 e7 20 63 |28.... . c| 000086d0 6c 69 63 6b 25 20 8c 0d 05 10 31 20 20 20 20 20 |lick% ....1 | 000086e0 20 20 20 20 c8 99 20 67 65 74 65 6e 74 72 79 25 | .. getentry%| 000086f0 2c 73 5f 63 6c 69 63 6b 73 25 2c 63 6c 69 63 6b |,s_clicks%,click| 00008700 25 20 b8 20 61 64 72 25 0d 05 11 32 20 20 20 20 |% . adr%...2 | 00008710 20 20 20 20 20 e7 20 61 64 72 25 21 32 30 20 f2 | . adr%!20 .| 00008720 64 6f 5f 63 6c 69 63 6b 28 73 5f 6d 6f 75 73 65 |do_click(s_mouse| 00008730 25 2c 61 64 72 25 21 32 30 29 0d 05 12 0c 20 20 |%,adr%!20).... | 00008740 20 20 20 20 20 cd 0d 05 13 0a 20 20 20 20 20 cc | ..... .| 00008750 0d 05 14 35 20 20 20 20 20 20 20 c8 99 20 67 65 |...5 .. ge| 00008760 74 65 6e 74 72 79 25 2c 73 5f 70 61 67 65 73 25 |tentry%,s_pages%| 00008770 2c 63 75 72 72 65 6e 74 5f 70 61 67 65 25 20 b8 |,current_page% .| 00008780 20 61 64 72 25 0d 05 15 19 20 20 20 20 20 20 20 | adr%.... | 00008790 63 6c 69 63 6b 25 3d 61 64 72 25 21 32 34 0d 05 |click%=adr%!24..| 000087a0 16 15 20 20 20 20 20 20 20 e7 20 63 6c 69 63 6b |.. . click| 000087b0 25 20 8c 0d 05 17 31 20 20 20 20 20 20 20 20 20 |% ....1 | 000087c0 c8 99 20 67 65 74 65 6e 74 72 79 25 2c 73 5f 63 |.. getentry%,s_c| 000087d0 6c 69 63 6b 73 25 2c 63 6c 69 63 6b 25 20 b8 20 |licks%,click% . | 000087e0 61 64 72 25 0d 05 18 32 20 20 20 20 20 20 20 20 |adr%...2 | 000087f0 20 e7 20 61 64 72 25 21 32 30 20 f2 64 6f 5f 63 | . adr%!20 .do_c| 00008800 6c 69 63 6b 28 73 5f 6d 6f 75 73 65 25 2c 61 64 |lick(s_mouse%,ad| 00008810 72 25 21 32 30 29 0d 05 19 0c 20 20 20 20 20 20 |r%!20).... | 00008820 20 cd 0d 05 1a 0a 20 20 20 20 20 cd 0d 05 1b 06 | ..... .....| 00008830 20 cb 0d 05 1c 06 20 e1 0d 05 1d 04 0d 05 1e 0f | ..... .........| 00008840 20 dd f2 74 72 79 5f 6b 65 79 73 0d 05 1f 0d 20 | ..try_keys.... | 00008850 c8 8e 20 21 71 25 20 ca 0d 05 20 10 20 20 20 c9 |.. !q% ... . .| 00008860 20 6d 61 69 6e 5f 77 25 0d 05 21 13 20 20 20 20 | main_w%..!. | 00008870 20 6b 65 79 25 3d 71 25 21 32 34 0d 05 22 14 20 | key%=q%!24..". | 00008880 20 20 20 20 e7 20 6b 65 79 25 3d 31 33 20 8c 0d | . key%=13 ..| 00008890 05 23 27 20 20 20 20 20 20 20 73 74 61 63 6b 25 |.#' stack%| 000088a0 3d a4 73 74 61 63 6b 28 63 75 72 72 65 6e 74 5f |=.stack(current_| 000088b0 70 61 67 65 25 29 0d 05 24 2f 20 20 20 20 20 20 |page%)..$/ | 000088c0 20 e7 20 a4 6c 6f 77 65 72 5f 63 61 73 65 28 c0 | . .lower_case(.| 000088d0 69 6e 70 75 74 24 2c 36 29 29 3d 22 6f 62 6a 65 |input$,6))="obje| 000088e0 63 74 22 20 8c 0d 05 25 2b 20 20 20 20 20 20 20 |ct" ...%+ | 000088f0 20 20 74 6f 6b 65 6e 25 3d bb 28 c2 69 6e 70 75 | token%=.(.inpu| 00008900 74 24 2c a9 28 69 6e 70 75 74 24 29 2d 36 29 29 |t$,.(input$)-6))| 00008910 0d 05 26 2e 20 20 20 20 20 20 20 20 20 c8 99 20 |..&. .. | 00008920 67 65 74 65 6e 74 72 79 25 2c 73 74 61 63 6b 25 |getentry%,stack%| 00008930 2c 74 6f 6b 65 6e 25 20 b8 20 61 64 72 25 0d 05 |,token% . adr%..| 00008940 27 15 20 20 20 20 20 20 20 20 20 e7 20 61 64 72 |'. . adr| 00008950 25 20 8c 0d 05 28 1a 20 20 20 20 20 20 20 20 20 |% ...(. | 00008960 20 20 e7 20 61 64 72 25 21 32 38 20 8c 0d 05 29 | . adr%!28 ...)| 00008970 27 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f |' po| 00008980 69 6e 74 65 72 5f 6f 62 6a 65 63 74 25 3d 74 6f |inter_object%=to| 00008990 6b 65 6e 25 0d 05 2a 36 20 20 20 20 20 20 20 20 |ken%..*6 | 000089a0 20 20 20 20 20 c8 99 20 67 65 74 65 6e 74 72 79 | .. getentry| 000089b0 25 2c 73 5f 63 6c 69 63 6b 73 25 2c 61 64 72 25 |%,s_clicks%,adr%| 000089c0 21 32 38 20 b8 20 61 64 72 25 0d 05 2b 36 20 20 |!28 . adr%..+6 | 000089d0 20 20 20 20 20 20 20 20 20 20 20 e7 20 61 64 72 | . adr| 000089e0 25 21 32 30 20 f2 64 6f 5f 63 6c 69 63 6b 28 73 |%!20 .do_click(s| 000089f0 5f 6d 6f 75 73 65 25 2c 61 64 72 25 21 32 30 29 |_mouse%,adr%!20)| 00008a00 0d 05 2c 10 20 20 20 20 20 20 20 20 20 20 20 cd |..,. .| 00008a10 0d 05 2d 0e 20 20 20 20 20 20 20 20 20 cd 0d 05 |..-. ...| 00008a20 2e 0c 20 20 20 20 20 20 20 cd 0d 05 2f 41 20 20 |.. .../A | 00008a30 20 20 20 20 20 e7 20 a4 6c 6f 77 65 72 5f 63 61 | . .lower_ca| 00008a40 73 65 28 c0 69 6e 70 75 74 24 2c 34 29 29 3d 22 |se(.input$,4))="| 00008a50 62 61 63 6b 22 20 71 25 21 38 3d 26 31 30 30 3a |back" q%!8=&100:| 00008a60 f2 74 72 79 5f 6d 61 69 6e 5f 77 0d 05 30 14 20 |.try_main_w..0. | 00008a70 20 20 20 20 20 20 69 6e 70 75 74 24 3d 22 22 0d | input$="".| 00008a80 05 31 0a 20 20 20 20 20 cc 0d 05 32 2d 20 20 20 |.1. ...2- | 00008a90 20 20 20 20 e7 20 6b 65 79 25 3d 32 37 3a f2 63 | . key%=27:.c| 00008aa0 6c 6f 73 65 5f 77 69 6e 64 6f 77 28 6d 61 69 6e |lose_window(main| 00008ab0 5f 77 25 29 3a e1 0d 05 33 26 20 20 20 20 20 20 |_w%):...3& | 00008ac0 20 e7 20 6b 65 79 25 3d 26 31 38 30 20 f2 6f 70 | . key%=&180 .op| 00008ad0 65 6e 5f 70 72 69 6e 74 5f 77 3a e1 0d 05 34 4b |en_print_w:...4K| 00008ae0 20 20 20 20 20 20 20 e7 20 6b 65 79 25 3e 33 31 | . key%>31| 00008af0 20 80 20 6b 65 79 25 3c 32 35 35 20 69 6e 70 75 | . key%<255 inpu| 00008b00 74 24 3d 69 6e 70 75 74 24 2b bd 28 6b 65 79 25 |t$=input$+.(key%| 00008b10 29 20 8b 20 c8 99 20 70 72 6f 63 65 73 73 6b 65 |) . .. processke| 00008b20 79 25 2c 6b 65 79 25 0d 05 35 22 20 20 20 20 20 |y%,key%..5" | 00008b30 20 20 e7 20 a9 69 6e 70 75 74 24 3d 32 35 35 20 | . .input$=255 | 00008b40 69 6e 70 75 74 24 3d 22 22 0d 05 36 0a 20 20 20 |input$=""..6. | 00008b50 20 20 cd 0d 05 37 11 20 20 20 c9 20 70 72 69 6e | ...7. . prin| 00008b60 74 5f 77 25 0d 05 38 48 20 20 20 20 20 e7 20 71 |t_w%..8H . q| 00008b70 25 21 32 34 3d 31 33 20 71 25 21 38 3d 34 3a 71 |%!24=13 q%!8=4:q| 00008b80 25 21 31 36 3d 34 3a f2 63 68 65 63 6b 5f 70 72 |%!16=4:.check_pr| 00008b90 69 6e 74 5f 77 20 8b 20 c8 99 20 70 72 6f 63 65 |int_w . .. proce| 00008ba0 73 73 6b 65 79 25 2c 71 25 21 32 34 0d 05 39 08 |sskey%,q%!24..9.| 00008bb0 20 20 20 7f 0d 05 3a 1d 20 20 20 20 20 c8 99 20 | ...:. .. | 00008bc0 70 72 6f 63 65 73 73 6b 65 79 25 2c 71 25 21 32 |processkey%,q%!2| 00008bd0 34 0d 05 3b 06 20 cb 0d 05 3c 06 20 e1 0d 05 3d |4..;. ...<. ...=| 00008be0 04 0d 05 3e 20 20 dd f2 64 6f 5f 63 6c 69 63 6b |...> ..do_click| 00008bf0 28 63 6f 6e 74 65 78 74 25 2c 63 6c 69 63 6b 25 |(context%,click%| 00008c00 29 0d 05 3f 28 20 c8 99 20 67 65 74 65 6e 74 72 |)..?( .. getentr| 00008c10 79 25 2c 63 6f 6e 74 65 78 74 25 2c 63 6c 69 63 |y%,context%,clic| 00008c20 6b 25 20 b8 20 61 64 72 25 0d 05 40 22 20 c8 99 |k% . adr%..@" ..| 00008c30 20 6d 6f 76 65 64 61 74 61 25 2c 61 64 72 25 2c | movedata%,adr%,| 00008c40 77 73 25 2b 38 2c 21 61 64 72 25 0d 05 41 24 20 |ws%+8,!adr%..A$ | 00008c50 21 77 73 25 3d 28 77 73 25 21 38 29 2b 38 3a 77 |!ws%=(ws%!8)+8:w| 00008c60 73 25 21 34 3d 31 32 3a 77 73 25 21 38 3d 30 0d |s%!4=12:ws%!8=0.| 00008c70 05 42 19 20 f2 6d 61 6b 65 5f 73 70 61 63 65 28 |.B. .make_space(| 00008c80 21 77 73 25 2b 31 36 29 0d 05 43 21 20 c8 99 20 |!ws%+16)..C! .. | 00008c90 61 64 64 65 6e 74 72 79 25 2c 73 5f 63 6c 69 63 |addentry%,s_clic| 00008ca0 6b 73 6f 6e 25 2c 77 73 25 0d 05 44 12 20 f2 63 |kson%,ws%..D. .c| 00008cb0 68 65 63 6b 5f 63 6c 69 63 6b 73 0d 05 45 06 20 |heck_clicks..E. | 00008cc0 e1 0d 05 46 04 0d 05 47 13 20 dd f2 63 68 65 63 |...F...G. ..chec| 00008cd0 6b 5f 63 6c 69 63 6b 73 0d 05 48 23 20 c8 99 20 |k_clicks..H# .. | 00008ce0 6e 65 6e 74 72 69 65 73 25 2c 73 5f 63 6c 69 63 |nentries%,s_clic| 00008cf0 6b 73 6f 6e 25 20 b8 20 6e 63 25 0d 05 49 0e 20 |kson% . nc%..I. | 00008d00 e7 20 6e 63 25 3d 30 20 e1 0d 05 4a 13 20 e3 20 |. nc%=0 ...J. . | 00008d10 63 6c 69 63 6b 25 3d 31 b8 6e 63 25 0d 05 4b 31 |click%=1.nc%..K1| 00008d20 20 20 20 c8 99 20 67 65 74 6e 74 68 25 2c 73 5f | .. getnth%,s_| 00008d30 63 6c 69 63 6b 73 6f 6e 25 2c 63 6c 69 63 6b 25 |clickson%,click%| 00008d40 20 b8 20 63 6c 69 63 6b 5f 61 64 72 25 0d 05 4c | . click_adr%..L| 00008d50 2b 20 20 20 e7 20 63 6c 69 63 6b 5f 61 64 72 25 |+ . click_adr%| 00008d60 21 38 3c 91 20 80 20 63 6c 69 63 6b 5f 61 64 72 |!8<. . click_adr| 00008d70 25 21 34 3c 3e 30 20 8c 0d 05 4d 30 20 20 20 20 |%!4<>0 ...M0 | 00008d80 20 70 74 72 25 3d 63 6c 69 63 6b 5f 61 64 72 25 | ptr%=click_adr%| 00008d90 21 34 3a 63 61 64 72 25 3d 63 6c 69 63 6b 5f 61 |!4:cadr%=click_a| 00008da0 64 72 25 2b 70 74 72 25 0d 05 4e 2d 20 20 20 20 |dr%+ptr%..N- | 00008db0 20 63 6c 69 63 6b 5f 6c 65 6e 25 3d 21 63 61 64 | click_len%=!cad| 00008dc0 72 25 3a 63 6d 64 25 3d 63 61 64 72 25 21 34 3a |r%:cmd%=cadr%!4:| 00008dd0 6f 6b 25 3d b9 0d 05 4f 12 20 20 20 20 20 c8 8e |ok%=...O. ..| 00008de0 20 63 6d 64 25 20 ca 0d 05 50 3a 20 20 20 20 20 | cmd% ...P: | 00008df0 20 20 c9 20 31 2c 33 2c 34 3a f2 63 6c 69 63 6b | . 1,3,4:.click| 00008e00 5f 6c 69 73 74 28 63 6d 64 25 2c 63 61 64 72 25 |_list(cmd%,cadr%| 00008e10 2b 38 2c 63 6c 69 63 6b 5f 6c 65 6e 25 2d 31 32 |+8,click_len%-12| 00008e20 29 0d 05 51 0e 20 20 20 20 20 20 20 c9 20 32 0d |)..Q. . 2.| 00008e30 05 52 15 20 20 20 20 20 20 20 20 20 f2 64 65 6c |.R. .del| 00008e40 69 67 68 74 0d 05 53 30 20 20 20 20 20 20 20 20 |ight..S0 | 00008e50 20 70 61 67 65 5f 70 74 72 25 21 70 61 67 65 5f | page_ptr%!page_| 00008e60 73 74 61 63 6b 25 3d 63 75 72 72 65 6e 74 5f 70 |stack%=current_p| 00008e70 61 67 65 25 0d 05 54 36 20 20 20 20 20 20 20 20 |age%..T6 | 00008e80 20 70 61 67 65 5f 70 74 72 25 2b 3d 34 3a e7 20 | page_ptr%+=4:. | 00008e90 70 61 67 65 5f 70 74 72 25 3d 31 30 32 34 20 70 |page_ptr%=1024 p| 00008ea0 61 67 65 5f 70 74 72 25 3d 30 0d 05 55 22 20 20 |age_ptr%=0..U" | 00008eb0 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 5f 70 | current_p| 00008ec0 61 67 65 25 3d 63 61 64 72 25 21 38 0d 05 56 4d |age%=cadr%!8..VM| 00008ed0 20 20 20 20 20 20 20 20 20 e7 20 63 75 72 72 65 | . curre| 00008ee0 6e 74 5f 70 61 67 65 25 3d 30 20 c8 99 20 6e 65 |nt_page%=0 .. ne| 00008ef0 6e 74 72 69 65 73 25 2c 73 5f 70 61 67 65 73 25 |ntries%,s_pages%| 00008f00 20 b8 20 74 25 3a 63 75 72 72 65 6e 74 5f 70 61 | . t%:current_pa| 00008f10 67 65 25 3d b3 28 74 25 29 0d 05 57 2e 20 20 20 |ge%=.(t%)..W. | 00008f20 20 20 20 20 20 20 e7 20 63 75 72 72 65 6e 74 5f | . current_| 00008f30 70 61 67 65 25 3d 30 20 63 75 72 72 65 6e 74 5f |page%=0 current_| 00008f40 70 61 67 65 25 3d 31 0d 05 58 19 20 20 20 20 20 |page%=1..X. | 00008f50 20 20 20 20 f2 70 72 65 5f 70 72 6f 63 65 73 73 | .pre_process| 00008f60 0d 05 59 26 20 20 20 20 20 20 20 20 20 f2 73 68 |..Y& .sh| 00008f70 6f 77 5f 70 61 67 65 28 63 75 72 72 65 6e 74 5f |ow_page(current_| 00008f80 70 61 67 65 25 29 0d 05 5a 1e 20 20 20 20 20 20 |page%)..Z. | 00008f90 20 20 20 e7 20 73 63 61 6e 6e 69 6e 67 25 20 f2 | . scanning% .| 00008fa0 73 63 61 6e 0d 05 5b 0e 20 20 20 20 20 20 20 20 |scan..[. | 00008fb0 20 e1 0d 05 5c 0e 20 20 20 20 20 20 20 c9 20 35 | ...\. . 5| 00008fc0 0d 05 5d 21 20 20 20 20 20 20 20 20 20 c8 99 20 |..]! .. | 00008fd0 70 6c 61 79 73 6f 75 6e 64 25 2c 30 20 b8 20 74 |playsound%,0 . t| 00008fe0 25 0d 05 5e 31 20 20 20 20 20 20 20 20 20 e7 20 |%..^1 . | 00008ff0 74 25 3d 2d 31 20 6f 6b 25 3d a3 20 8b 20 f2 70 |t%=-1 ok%=. . .p| 00009000 6c 61 79 5f 73 6f 75 6e 64 28 63 61 64 72 25 21 |lay_sound(cadr%!| 00009010 38 29 0d 05 5f 2a 20 20 20 20 20 20 20 c9 20 36 |8).._* . 6| 00009020 3a f2 73 70 65 61 6b 5f 74 65 78 74 28 73 74 61 |:.speak_text(sta| 00009030 63 6b 25 2c 63 61 64 72 25 21 38 29 0d 05 60 21 |ck%,cadr%!8)..`!| 00009040 20 20 20 20 20 20 20 c9 20 37 3a f2 69 6e 69 74 | . 7:.init| 00009050 5f 73 65 71 28 91 2c 63 61 64 72 25 29 0d 05 61 |_seq(.,cadr%)..a| 00009060 0f 20 20 20 20 20 20 20 c9 20 38 3a 0d 05 62 29 |. . 8:..b)| 00009070 20 20 20 20 20 20 20 20 20 63 6c 69 63 6b 5f 63 | click_c| 00009080 6d 64 24 3d a4 73 74 72 69 6e 67 30 28 63 61 64 |md$=.string0(cad| 00009090 72 25 2b 38 29 0d 05 63 29 20 20 20 20 20 20 20 |r%+8)..c) | 000090a0 20 20 63 6d 64 24 3d a4 6c 6f 77 65 72 5f 63 61 | cmd$=.lower_ca| 000090b0 73 65 28 63 6c 69 63 6b 5f 63 6d 64 24 29 0d 05 |se(click_cmd$)..| 000090c0 64 27 20 20 20 20 20 20 20 20 20 e7 20 c0 63 6d |d' . .cm| 000090d0 64 24 2c 31 30 29 3d 22 6c 6f 61 64 20 66 69 6c |d$,10)="load fil| 000090e0 65 20 22 20 8c 0d 05 65 2d 20 20 20 20 20 20 20 |e " ...e- | 000090f0 20 20 20 20 66 69 6c 65 24 3d c2 63 6d 64 24 2c | file$=.cmd$,| 00009100 a9 63 6d 64 24 2d 31 30 29 3a 70 61 67 65 24 3d |.cmd$-10):page$=| 00009110 22 22 0d 05 66 1e 20 20 20 20 20 20 20 20 20 20 |""..f. | 00009120 20 e7 20 a7 66 69 6c 65 24 2c 22 20 22 29 20 8c | . .file$," ") .| 00009130 0d 05 67 33 20 20 20 20 20 20 20 20 20 20 20 20 |..g3 | 00009140 20 70 61 67 65 24 3d c2 66 69 6c 65 24 2c a9 28 | page$=.file$,.(| 00009150 66 69 6c 65 24 29 2d a7 66 69 6c 65 24 2c 22 20 |file$)-.file$," | 00009160 22 29 29 0d 05 68 2c 20 20 20 20 20 20 20 20 20 |"))..h, | 00009170 20 20 20 20 66 69 6c 65 24 3d c0 66 69 6c 65 24 | file$=.file$| 00009180 2c a7 66 69 6c 65 24 2c 22 20 22 29 2d 31 29 0d |,.file$," ")-1).| 00009190 05 69 10 20 20 20 20 20 20 20 20 20 20 20 cd 0d |.i. ..| 000091a0 05 6a 29 20 20 20 20 20 20 20 20 20 20 20 66 69 |.j) fi| 000091b0 6c 65 24 3d 66 75 6c 6c 5f 6e 61 6d 65 24 2b 22 |le$=full_name$+"| 000091c0 2e 22 2b 66 69 6c 65 24 0d 05 6b 12 20 20 20 20 |."+file$..k. | 000091d0 20 20 20 20 20 20 20 ea 20 85 0d 05 6c 2e 20 20 | . ...l. | 000091e0 20 20 20 20 20 20 20 20 20 ee 20 85 20 ea 3a f7 | . . .:.| 000091f0 20 85 3a 63 6c 69 63 6b 5f 61 64 72 25 21 34 3d | .:click_adr%!4=| 00009200 30 3a 85 20 31 2c f6 24 0d 05 6d 22 20 20 20 20 |0:. 1,.$..m" | 00009210 20 20 20 20 20 20 20 f2 6c 6f 61 64 5f 66 69 6c | .load_fil| 00009220 65 28 66 69 6c 65 24 2c 31 29 0d 05 6e 5a 20 20 |e(file$,1)..nZ | 00009230 20 20 20 20 20 20 20 20 20 e7 20 70 61 67 65 24 | . page$| 00009240 3c 3e 22 22 20 70 61 67 65 25 3d a4 6e 61 6d 65 |<>"" page%=.name| 00009250 5f 65 78 73 69 73 74 73 28 73 5f 70 61 67 65 73 |_exsists(s_pages| 00009260 25 2c 70 61 67 65 24 29 3a e7 20 70 61 67 65 25 |%,page$):. page%| 00009270 20 63 75 72 72 65 6e 74 5f 70 61 67 65 25 3d 70 | current_page%=p| 00009280 61 67 65 25 0d 05 6f 1b 20 20 20 20 20 20 20 20 |age%..o. | 00009290 20 20 20 f2 70 72 65 5f 70 72 6f 63 65 73 73 0d | .pre_process.| 000092a0 05 70 28 20 20 20 20 20 20 20 20 20 20 20 f2 73 |.p( .s| 000092b0 68 6f 77 5f 70 61 67 65 28 63 75 72 72 65 6e 74 |how_page(current| 000092c0 5f 70 61 67 65 25 29 0d 05 71 20 20 20 20 20 20 |_page%)..q | 000092d0 20 20 20 20 20 20 e7 20 73 63 61 6e 6e 69 6e 67 | . scanning| 000092e0 25 20 f2 73 63 61 6e 0d 05 72 1f 20 20 20 20 20 |% .scan..r. | 000092f0 20 20 20 20 20 20 f2 7a 65 72 6f 5f 70 61 67 65 | .zero_page| 00009300 5f 73 74 61 63 6b 0d 05 73 10 20 20 20 20 20 20 |_stack..s. | 00009310 20 20 20 20 20 e1 0d 05 74 0e 20 20 20 20 20 20 | ...t. | 00009320 20 20 20 cd 0d 05 75 33 20 20 20 20 20 20 20 20 | ...u3 | 00009330 20 e7 20 c0 63 6d 64 24 2c 34 29 3d 22 6c 6f 61 | . .cmd$,4)="loa| 00009340 64 22 20 84 20 c0 63 6d 64 24 2c 35 29 3d 22 2a |d" . .cmd$,5)="*| 00009350 6c 6f 61 64 22 20 8c 0d 05 76 2c 20 20 20 20 20 |load" ...v, | 00009360 20 20 20 20 20 20 66 69 6c 65 24 3d c2 63 6d 64 | file$=.cmd| 00009370 24 2c a9 63 6d 64 24 2d 35 29 3a 70 61 67 65 24 |$,.cmd$-5):page$| 00009380 3d 22 22 0d 05 77 1e 20 20 20 20 20 20 20 20 20 |=""..w. | 00009390 20 20 e7 20 a7 66 69 6c 65 24 2c 22 20 22 29 20 | . .file$," ") | 000093a0 8c 0d 05 78 33 20 20 20 20 20 20 20 20 20 20 20 |...x3 | 000093b0 20 20 70 61 67 65 24 3d c2 66 69 6c 65 24 2c a9 | page$=.file$,.| 000093c0 28 66 69 6c 65 24 29 2d a7 66 69 6c 65 24 2c 22 |(file$)-.file$,"| 000093d0 20 22 29 29 0d 05 79 2c 20 20 20 20 20 20 20 20 | "))..y, | 000093e0 20 20 20 20 20 66 69 6c 65 24 3d c0 66 69 6c 65 | file$=.file| 000093f0 24 2c a7 66 69 6c 65 24 2c 22 20 22 29 2d 31 29 |$,.file$," ")-1)| 00009400 0d 05 7a 10 20 20 20 20 20 20 20 20 20 20 20 cd |..z. .| 00009410 0d 05 7b 12 20 20 20 20 20 20 20 20 20 20 20 ea |..{. .| 00009420 20 85 0d 05 7c 2e 20 20 20 20 20 20 20 20 20 20 | ...|. | 00009430 20 ee 20 85 20 ea 3a f7 20 85 3a 63 6c 69 63 6b | . . .:. .:click| 00009440 5f 61 64 72 25 21 34 3d 30 3a 85 20 31 2c f6 24 |_adr%!4=0:. 1,.$| 00009450 0d 05 7d 22 20 20 20 20 20 20 20 20 20 20 20 f2 |..}" .| 00009460 6c 6f 61 64 5f 66 69 6c 65 28 66 69 6c 65 24 2c |load_file(file$,| 00009470 31 29 0d 05 7e 5a 20 20 20 20 20 20 20 20 20 20 |1)..~Z | 00009480 20 e7 20 70 61 67 65 24 3c 3e 22 22 20 70 61 67 | . page$<>"" pag| 00009490 65 25 3d a4 6e 61 6d 65 5f 65 78 73 69 73 74 73 |e%=.name_exsists| 000094a0 28 73 5f 70 61 67 65 73 25 2c 70 61 67 65 24 29 |(s_pages%,page$)| 000094b0 3a e7 20 70 61 67 65 25 20 63 75 72 72 65 6e 74 |:. page% current| 000094c0 5f 70 61 67 65 25 3d 70 61 67 65 25 0d 05 7f 1b |_page%=page%....| 000094d0 20 20 20 20 20 20 20 20 20 20 20 f2 70 72 65 5f | .pre_| 000094e0 70 72 6f 63 65 73 73 0d 05 80 28 20 20 20 20 20 |process...( | 000094f0 20 20 20 20 20 20 f2 73 68 6f 77 5f 70 61 67 65 | .show_page| 00009500 28 63 75 72 72 65 6e 74 5f 70 61 67 65 25 29 0d |(current_page%).| 00009510 05 81 20 20 20 20 20 20 20 20 20 20 20 20 e7 20 |.. . | 00009520 73 63 61 6e 6e 69 6e 67 25 20 f2 73 63 61 6e 0d |scanning% .scan.| 00009530 05 82 1f 20 20 20 20 20 20 20 20 20 20 20 f2 7a |... .z| 00009540 65 72 6f 5f 70 61 67 65 5f 73 74 61 63 6b 0d 05 |ero_page_stack..| 00009550 83 10 20 20 20 20 20 20 20 20 20 20 20 e1 0d 05 |.. ...| 00009560 84 0e 20 20 20 20 20 20 20 20 20 cd 0d 05 85 31 |.. ....1| 00009570 20 20 20 20 20 20 20 20 20 e7 20 c0 63 6d 64 24 | . .cmd$| 00009580 2c 33 29 3d 22 72 75 6e 22 20 84 20 c0 63 6d 64 |,3)="run" . .cmd| 00009590 24 2c 34 29 3d 22 2a 72 75 6e 22 20 8c 0d 05 86 |$,4)="*run" ....| 000095a0 2a 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 |* file| 000095b0 24 3d c2 63 6d 64 24 2c a9 63 6d 64 24 2d 34 29 |$=.cmd$,.cmd$-4)| 000095c0 3a f1 66 69 6c 65 24 0d 05 87 12 20 20 20 20 20 |:.file$.... | 000095d0 20 20 20 20 20 20 ea 20 85 0d 05 88 2e 20 20 20 | . ..... | 000095e0 20 20 20 20 20 20 20 20 ee 20 85 20 ea 3a f7 20 | . . .:. | 000095f0 85 3a 63 6c 69 63 6b 5f 61 64 72 25 21 34 3d 30 |.:click_adr%!4=0| 00009600 3a 85 20 31 2c f6 24 0d 05 89 23 20 20 20 20 20 |:. 1,.$...# | 00009610 20 20 20 20 20 20 ff 20 22 66 69 6c 65 72 5f 72 | . "filer_r| 00009620 75 6e 20 22 2b 66 69 6c 65 24 0d 05 8a 1c 20 20 |un "+file$.... | 00009630 20 20 20 20 20 20 20 20 20 63 6c 69 63 6b 5f 63 | click_c| 00009640 6d 64 24 3d 22 22 0d 05 8b 0e 20 20 20 20 20 20 |md$="".... | 00009650 20 20 20 cd 0d 05 8c 22 20 20 20 20 20 20 20 20 | ...." | 00009660 20 e7 20 c0 63 6d 64 24 2c 36 29 3d 22 72 65 70 | . .cmd$,6)="rep| 00009670 6c 61 79 22 20 8c 0d 05 8d 23 20 20 20 20 20 20 |lay" ....# | 00009680 20 20 20 20 20 66 69 6c 65 24 3d c2 63 6d 64 24 | file$=.cmd$| 00009690 2c a9 63 6d 64 24 2d 37 29 0d 05 8e 22 20 20 20 |,.cmd$-7)..." | 000096a0 20 20 20 20 20 20 20 20 e7 20 a7 66 69 6c 65 24 | . .file$| 000096b0 2c 22 2d 61 74 22 29 3d 30 20 8c 0d 05 8f 33 20 |,"-at")=0 ....3 | 000096c0 20 20 20 20 20 20 20 20 20 20 20 20 c8 99 20 67 | .. g| 000096d0 65 74 65 6e 74 72 79 25 2c 73 74 61 63 6b 25 2c |etentry%,stack%,| 000096e0 6f 62 6a 65 63 74 25 20 b8 20 61 64 72 25 0d 05 |object% . adr%..| 000096f0 90 36 20 20 20 20 20 20 20 20 20 20 20 20 20 78 |.6 x| 00009700 25 3d 28 61 64 72 25 21 31 32 29 2b 6f 66 66 78 |%=(adr%!12)+offx| 00009710 25 3a 79 25 3d 28 61 64 72 25 21 31 36 29 2b 6f |%:y%=(adr%!16)+o| 00009720 66 66 79 25 0d 05 91 30 20 20 20 20 20 20 20 20 |ffy%...0 | 00009730 20 20 20 20 20 66 69 6c 65 24 3d 66 69 6c 65 24 | file$=file$| 00009740 2b 22 20 2d 61 74 20 22 2b c3 78 25 2b 22 2c 22 |+" -at "+.x%+","| 00009750 2b c3 79 25 0d 05 92 10 20 20 20 20 20 20 20 20 |+.y%.... | 00009760 20 20 20 cd 0d 05 93 12 20 20 20 20 20 20 20 20 | ..... | 00009770 20 20 20 ea 20 85 0d 05 94 2e 20 20 20 20 20 20 | . ..... | 00009780 20 20 20 20 20 ee 20 85 20 ea 3a f7 20 85 3a 63 | . . .:. .:c| 00009790 6c 69 63 6b 5f 61 64 72 25 21 34 3d 30 3a 85 20 |lick_adr%!4=0:. | 000097a0 31 2c f6 24 0d 05 95 28 20 20 20 20 20 20 20 20 |1,.$...( | 000097b0 20 20 20 c8 99 20 22 57 69 6d 70 5f 53 74 61 72 | .. "Wimp_Star| 000097c0 74 54 61 73 6b 22 2c 66 69 6c 65 24 0d 05 96 1c |tTask",file$....| 000097d0 20 20 20 20 20 20 20 20 20 20 20 63 6c 69 63 6b | click| 000097e0 5f 63 6d 64 24 3d 22 22 0d 05 97 0e 20 20 20 20 |_cmd$="".... | 000097f0 20 20 20 20 20 cd 0d 05 98 4d 20 20 20 20 20 20 | ....M | 00009800 20 20 20 e7 20 c0 63 6d 64 24 2c 34 29 3d 22 62 | . .cmd$,4)="b| 00009810 61 63 6b 22 20 69 6e 70 75 74 24 3d 22 62 61 63 |ack" input$="bac| 00009820 6b 22 3a 21 71 25 3d 6d 61 69 6e 5f 77 25 3a 71 |k":!q%=main_w%:q| 00009830 25 21 32 34 3d 31 33 3a f2 74 72 79 5f 6b 65 79 |%!24=13:.try_key| 00009840 73 3a e1 0d 05 99 22 20 20 20 20 20 20 20 20 20 |s:...." | 00009850 e7 20 c0 63 6d 64 24 2c 36 29 3d 22 6f 62 6a 65 |. .cmd$,6)="obje| 00009860 63 74 22 20 8c 0d 05 9a 1c 20 20 20 20 20 20 20 |ct" ..... | 00009870 20 20 20 20 63 6c 69 63 6b 5f 63 6d 64 24 3d 22 | click_cmd$="| 00009880 22 0d 05 9b 1e 20 20 20 20 20 20 20 20 20 20 20 |".... | 00009890 69 6e 70 75 74 24 3d 63 6d 64 24 2b bd 31 33 0d |input$=cmd$+.13.| 000098a0 05 9c 0e 20 20 20 20 20 20 20 20 20 cd 0d 05 9d |... ....| 000098b0 10 20 20 20 20 20 20 20 20 20 ea 20 85 0d 05 9e |. . ....| 000098c0 2c 20 20 20 20 20 20 20 20 20 ee 20 85 20 ea 3a |, . . .:| 000098d0 f7 20 85 3a 63 6c 69 63 6b 5f 61 64 72 25 21 34 |. .:click_adr%!4| 000098e0 3d 30 3a 85 20 31 2c f6 24 0d 05 9f 2a 20 20 20 |=0:. 1,.$...* | 000098f0 20 20 20 20 20 20 e7 20 63 6c 69 63 6b 5f 63 6d | . click_cm| 00009900 64 24 3c 3e 22 22 20 ff 20 63 6c 69 63 6b 5f 63 |d$<>"" . click_c| 00009910 6d 64 24 0d 05 a0 25 20 20 20 20 20 20 20 c9 20 |md$...% . | 00009920 39 3a 63 6c 69 63 6b 5f 61 64 72 25 21 38 3d 91 |9:click_adr%!8=.| 00009930 2b 63 61 64 72 25 21 38 0d 05 a1 0a 20 20 20 20 |+cadr%!8.... | 00009940 20 cb 0d 05 a2 33 20 20 20 20 20 c8 99 20 67 65 | ....3 .. ge| 00009950 74 6e 74 68 25 2c 73 5f 63 6c 69 63 6b 73 6f 6e |tnth%,s_clickson| 00009960 25 2c 63 6c 69 63 6b 25 20 b8 20 63 6c 69 63 6b |%,click% . click| 00009970 5f 61 64 72 25 0d 05 a3 2b 20 20 20 20 20 e7 20 |_adr%...+ . | 00009980 6f 6b 25 20 63 6c 69 63 6b 5f 61 64 72 25 21 34 |ok% click_adr%!4| 00009990 3d 70 74 72 25 2b 63 6c 69 63 6b 5f 6c 65 6e 25 |=ptr%+click_len%| 000099a0 0d 05 a4 33 20 20 20 20 20 e7 20 63 6c 69 63 6b |...3 . click| 000099b0 5f 61 64 72 25 21 34 3e 3d 21 63 6c 69 63 6b 5f |_adr%!4>=!click_| 000099c0 61 64 72 25 20 63 6c 69 63 6b 5f 61 64 72 25 21 |adr% click_adr%!| 000099d0 34 3d 30 0d 05 a5 08 20 20 20 cd 0d 05 a6 06 20 |4=0.... ..... | 000099e0 ed 0d 05 a7 0d 20 63 6c 69 63 6b 25 3d 31 0d 05 |..... click%=1..| 000099f0 a8 06 20 f5 0d 05 a9 32 20 20 20 c8 99 20 67 65 |.. ....2 .. ge| 00009a00 74 6e 74 68 25 2c 73 5f 63 6c 69 63 6b 73 6f 6e |tnth%,s_clickson| 00009a10 25 2c 63 6c 69 63 6b 25 20 b8 20 61 64 72 25 2c |%,click% . adr%,| 00009a20 74 6f 6b 65 6e 25 0d 05 aa 13 20 20 20 e7 20 61 |token%.... . a| 00009a30 64 72 25 21 34 3d 30 20 8c 0d 05 ab 29 20 20 20 |dr%!4=0 ....) | 00009a40 20 20 c8 99 20 6b 69 6c 6c 65 6e 74 72 79 25 2c | .. killentry%,| 00009a50 73 5f 63 6c 69 63 6b 73 6f 6e 25 2c 74 6f 6b 65 |s_clickson%,toke| 00009a60 6e 25 0d 05 ac 12 20 20 20 20 20 63 6c 69 63 6b |n%.... click| 00009a70 25 2d 3d 31 0d 05 ad 08 20 20 20 cd 0d 05 ae 10 |%-=1.... .....| 00009a80 20 20 20 63 6c 69 63 6b 25 2b 3d 31 0d 05 af 25 | click%+=1...%| 00009a90 20 20 20 c8 99 20 6e 65 6e 74 72 69 65 73 25 2c | .. nentries%,| 00009aa0 73 5f 63 6c 69 63 6b 73 6f 6e 25 20 b8 20 6e 63 |s_clickson% . nc| 00009ab0 25 0d 05 b0 19 20 fd 63 6c 69 63 6b 25 3e 3d 6e |%.... .click%>=n| 00009ac0 63 25 20 84 20 6e 63 25 3d 30 0d 05 b1 06 20 e1 |c% . nc%=0.... .| 00009ad0 0d 05 b2 04 0d 05 b3 21 20 dd f2 63 6c 69 63 6b |.......! ..click| 00009ae0 5f 6c 69 73 74 28 63 6d 64 25 2c 61 64 72 25 2c |_list(cmd%,adr%,| 00009af0 6c 65 6e 25 29 0d 05 b4 14 20 e3 6c 69 73 74 25 |len%).... .list%| 00009b00 3d 30 b8 6c 65 6e 25 88 34 0d 05 b5 10 20 20 20 |=0.len%.4.... | 00009b10 c8 8e 20 63 6d 64 25 20 ca 0d 05 b6 31 20 20 20 |.. cmd% ....1 | 00009b20 20 20 c9 20 31 3a f2 6c 69 67 68 74 5f 6f 62 6a | . 1:.light_obj| 00009b30 65 63 74 28 73 74 61 63 6b 25 2c 6c 69 73 74 25 |ect(stack%,list%| 00009b40 21 61 64 72 25 2c 31 2c 31 29 0d 05 b7 30 20 20 |!adr%,1,1)...0 | 00009b50 20 20 20 c9 20 33 3a f2 68 69 64 65 5f 6f 62 6a | . 3:.hide_obj| 00009b60 65 63 74 28 73 74 61 63 6b 25 2c 6c 69 73 74 25 |ect(stack%,list%| 00009b70 21 61 64 72 25 2c 31 2c 31 29 0d 05 b8 30 20 20 |!adr%,1,1)...0 | 00009b80 20 20 20 c9 20 34 3a f2 68 69 64 65 5f 6f 62 6a | . 4:.hide_obj| 00009b90 65 63 74 28 73 74 61 63 6b 25 2c 6c 69 73 74 25 |ect(stack%,list%| 00009ba0 21 61 64 72 25 2c 30 2c 31 29 0d 05 b9 08 20 20 |!adr%,0,1).... | 00009bb0 20 cb 0d 05 ba 06 20 ed 0d 05 bb 06 20 e1 0d 05 | ..... ..... ...| 00009bc0 bc 04 0d 05 bd 26 20 dd f2 75 6e 64 65 72 5f 70 |.....& ..under_p| 00009bd0 6f 69 6e 74 65 72 3a e7 20 70 6f 69 6e 74 65 72 |ointer:. pointer| 00009be0 5f 6f 6e 25 3d 30 20 e1 0d 05 be 11 20 f2 67 65 |_on%=0 ..... .ge| 00009bf0 74 5f 70 6f 69 6e 74 65 72 0d 05 bf 1d 20 21 71 |t_pointer.... !q| 00009c00 25 3d 6d 61 69 6e 5f 77 25 3a c8 99 20 67 65 74 |%=main_w%:.. get| 00009c10 77 25 2c 2c 71 25 0d 05 c0 2b 20 6f 66 66 78 25 |w%,,q%...+ offx%| 00009c20 3d 28 71 25 21 34 2d 71 25 21 32 30 29 3a 6f 66 |=(q%!4-q%!20):of| 00009c30 66 79 25 3d 28 71 25 21 31 36 2d 71 25 21 32 34 |fy%=(q%!16-q%!24| 00009c40 29 0d 05 c1 28 20 6d 78 25 3d 6d 6f 75 73 65 78 |)...( mx%=mousex| 00009c50 25 2d 6f 66 66 78 25 3a 6d 79 25 3d 6d 6f 75 73 |%-offx%:my%=mous| 00009c60 65 79 25 2d 6f 66 66 79 25 0d 05 c2 4f 20 e7 20 |ey%-offy%...O . | 00009c70 68 61 6e 64 6c 65 25 3d 6d 61 69 6e 5f 77 25 20 |handle%=main_w% | 00009c80 6f 62 6a 65 63 74 25 3d a4 77 68 69 63 68 5f 6f |object%=.which_o| 00009c90 62 6a 65 63 74 28 63 75 72 72 65 6e 74 5f 70 61 |bject(current_pa| 00009ca0 67 65 25 2c 6d 78 25 2c 6d 79 25 29 20 8b 20 6f |ge%,mx%,my%) . o| 00009cb0 62 6a 65 63 74 25 3d 30 0d 05 c3 21 20 e7 20 6f |bject%=0...! . o| 00009cc0 62 6a 65 63 74 25 3c 3e 70 6f 69 6e 74 65 72 5f |bject%<>pointer_| 00009cd0 6f 62 6a 65 63 74 25 20 8c 0d 05 c4 1e 20 20 20 |object% ..... | 00009ce0 70 6f 69 6e 74 65 72 5f 6f 62 6a 65 63 74 25 3d |pointer_object%=| 00009cf0 6f 62 6a 65 63 74 25 0d 05 c5 23 20 20 20 73 74 |object%...# st| 00009d00 61 63 6b 25 3d a4 73 74 61 63 6b 28 63 75 72 72 |ack%=.stack(curr| 00009d10 65 6e 74 5f 70 61 67 65 25 29 0d 05 c6 20 20 20 |ent_page%)... | 00009d20 20 c8 99 20 6e 65 6e 74 72 69 65 73 25 2c 73 74 | .. nentries%,st| 00009d30 61 63 6b 25 20 b8 20 6e 6f 25 0d 05 c7 0e 20 20 |ack% . no%.... | 00009d40 20 e7 20 6e 6f 25 20 8c 0d 05 c8 14 20 20 20 20 | . no% ..... | 00009d50 20 e3 20 6f 62 25 3d 31 b8 6e 6f 25 0d 05 c9 2e | . ob%=1.no%....| 00009d60 20 20 20 20 20 20 20 c8 99 20 67 65 74 6e 74 68 | .. getnth| 00009d70 25 2c 73 74 61 63 6b 25 2c 6f 62 25 20 b8 20 61 |%,stack%,ob% . a| 00009d80 64 72 25 2c 74 6f 6b 65 6e 25 0d 05 ca 4b 20 20 |dr%,token%...K | 00009d90 20 20 20 20 20 e7 20 74 6f 6b 65 6e 25 3c 3e 6f | . token%<>o| 00009da0 62 6a 65 63 74 25 20 80 20 28 61 64 72 25 21 33 |bject% . (adr%!3| 00009db0 36 29 80 31 20 f2 6c 69 67 68 74 5f 6f 62 6a 65 |6).1 .light_obje| 00009dc0 63 74 28 73 74 61 63 6b 25 2c 74 6f 6b 65 6e 25 |ct(stack%,token%| 00009dd0 2c 30 2c 31 29 0d 05 cb 0a 20 20 20 20 20 ed 0d |,0,1).... ..| 00009de0 05 cc 14 20 20 20 20 20 e7 20 6f 62 6a 65 63 74 |... . object| 00009df0 25 20 8c 0d 05 cd 34 20 20 20 20 20 20 20 c8 99 |% ....4 ..| 00009e00 20 67 65 74 65 6e 74 72 79 25 2c 73 74 61 63 6b | getentry%,stack| 00009e10 25 2c 6f 62 6a 65 63 74 25 20 b8 20 61 64 72 25 |%,object% . adr%| 00009e20 2c 74 6f 6b 65 6e 25 0d 05 ce 16 20 20 20 20 20 |,token%.... | 00009e30 20 20 e7 20 61 64 72 25 21 32 38 20 8c 0d 05 cf | . adr%!28 ....| 00009e40 32 20 20 20 20 20 20 20 20 20 c8 99 20 67 65 74 |2 .. get| 00009e50 65 6e 74 72 79 25 2c 73 5f 63 6c 69 63 6b 73 25 |entry%,s_clicks%| 00009e60 2c 61 64 72 25 21 32 38 20 b8 20 61 64 72 25 0d |,adr%!28 . adr%.| 00009e70 05 d0 34 20 20 20 20 20 20 20 20 20 e7 20 61 64 |..4 . ad| 00009e80 72 25 21 31 36 20 f2 64 6f 5f 63 6c 69 63 6b 28 |r%!16 .do_click(| 00009e90 73 5f 70 6f 69 6e 74 65 72 25 2c 61 64 72 25 21 |s_pointer%,adr%!| 00009ea0 31 36 29 0d 05 d1 0c 20 20 20 20 20 20 20 cd 0d |16).... ..| 00009eb0 05 d2 0a 20 20 20 20 20 cc 0d 05 d3 35 20 20 20 |... ....5 | 00009ec0 20 20 20 20 c8 99 20 67 65 74 65 6e 74 72 79 25 | .. getentry%| 00009ed0 2c 73 5f 70 61 67 65 73 25 2c 63 75 72 72 65 6e |,s_pages%,curren| 00009ee0 74 5f 70 61 67 65 25 20 b8 20 61 64 72 25 0d 05 |t_page% . adr%..| 00009ef0 d4 16 20 20 20 20 20 20 20 e7 20 61 64 72 25 21 |.. . adr%!| 00009f00 32 34 20 8c 0d 05 d5 32 20 20 20 20 20 20 20 20 |24 ....2 | 00009f10 20 c8 99 20 67 65 74 65 6e 74 72 79 25 2c 73 5f | .. getentry%,s_| 00009f20 63 6c 69 63 6b 73 25 2c 61 64 72 25 21 32 34 20 |clicks%,adr%!24 | 00009f30 b8 20 61 64 72 25 0d 05 d6 34 20 20 20 20 20 20 |. adr%...4 | 00009f40 20 20 20 e7 20 61 64 72 25 21 31 36 20 f2 64 6f | . adr%!16 .do| 00009f50 5f 63 6c 69 63 6b 28 73 5f 70 6f 69 6e 74 65 72 |_click(s_pointer| 00009f60 25 2c 61 64 72 25 21 31 36 29 0d 05 d7 0c 20 20 |%,adr%!16).... | 00009f70 20 20 20 20 20 cd 0d 05 d8 0a 20 20 20 20 20 cd | ..... .| 00009f80 0d 05 d9 08 20 20 20 cd 0d 05 da 06 20 cd 0d 05 |.... ..... ...| 00009f90 db 06 20 e1 0d 05 dc 04 0d 05 dd 1e 20 dd f2 6f |.. ......... ..o| 00009fa0 66 74 65 6e 3a e7 20 70 6f 69 6e 74 65 72 5f 6f |ften:. pointer_o| 00009fb0 6e 25 3d 30 20 e1 0d 05 de 21 20 73 74 61 63 6b |n%=0 ....! stack| 00009fc0 25 3d a4 73 74 61 63 6b 28 63 75 72 72 65 6e 74 |%=.stack(current| 00009fd0 5f 70 61 67 65 25 29 0d 05 df 1e 20 c8 99 20 6e |_page%).... .. n| 00009fe0 65 6e 74 72 69 65 73 25 2c 73 74 61 63 6b 25 20 |entries%,stack% | 00009ff0 b8 20 6e 6f 25 0d 05 e0 0c 20 e7 20 6e 6f 25 20 |. no%.... . no% | 0000a000 8c 0d 05 e1 12 20 20 20 e3 20 6f 62 25 3d 31 b8 |..... . ob%=1.| 0000a010 6e 6f 25 0d 05 e2 2c 20 20 20 20 20 c8 99 20 67 |no%..., .. g| 0000a020 65 74 6e 74 68 25 2c 73 74 61 63 6b 25 2c 6f 62 |etnth%,stack%,ob| 0000a030 25 20 b8 20 61 64 72 25 2c 74 6f 6b 65 6e 25 0d |% . adr%,token%.| 0000a040 05 e3 14 20 20 20 20 20 e7 20 61 64 72 25 21 32 |... . adr%!2| 0000a050 38 20 8c 0d 05 e4 30 20 20 20 20 20 20 20 c8 99 |8 ....0 ..| 0000a060 20 67 65 74 65 6e 74 72 79 25 2c 73 5f 63 6c 69 | getentry%,s_cli| 0000a070 63 6b 73 25 2c 61 64 72 25 21 32 38 20 b8 20 61 |cks%,adr%!28 . a| 0000a080 64 72 25 0d 05 e5 15 20 20 20 20 20 20 20 e7 20 |dr%.... . | 0000a090 61 64 72 25 21 38 20 8c 0d 05 e6 1a 20 20 20 20 |adr%!8 ..... | 0000a0a0 20 20 20 20 20 e7 20 61 64 72 25 21 32 34 3c 91 | . adr%!24<.| 0000a0b0 20 8c 0d 05 e7 20 20 20 20 20 20 20 20 20 20 20 | .... | 0000a0c0 20 61 64 72 25 21 32 34 3d 91 2b 61 64 72 25 21 | adr%!24=.+adr%!| 0000a0d0 31 32 0d 05 e8 29 20 20 20 20 20 20 20 20 20 20 |12...) | 0000a0e0 20 f2 64 6f 5f 63 6c 69 63 6b 28 73 5f 6f 66 74 | .do_click(s_oft| 0000a0f0 65 6e 25 2c 61 64 72 25 21 38 29 0d 05 e9 0e 20 |en%,adr%!8).... | 0000a100 20 20 20 20 20 20 20 20 cd 0d 05 ea 0c 20 20 20 | ..... | 0000a110 20 20 20 20 cd 0d 05 eb 0a 20 20 20 20 20 cd 0d | ..... ..| 0000a120 05 ec 08 20 20 20 ed 0d 05 ed 06 20 cd 0d 05 ee |... ..... ....| 0000a130 06 20 e1 0d 05 ef 04 0d 05 f0 1d 20 dd f2 6f 70 |. ......... ..op| 0000a140 65 6e 5f 74 72 79 5f 6d 65 6e 75 28 6d 78 25 2c |en_try_menu(mx%,| 0000a150 6d 79 25 29 0d 05 f1 17 20 e3 49 25 3d 30 b8 32 |my%).... .I%=0.2| 0000a160 88 32 3a 50 25 3d 6d 61 69 6e 25 0d 05 f2 0b 20 |.2:P%=main%.... | 0000a170 5b 6f 70 74 49 25 0d 05 f3 0f 20 65 71 75 73 20 |[optI%.... equs | 0000a180 6d 65 6e 75 24 0d 05 f4 11 20 65 71 75 64 20 26 |menu$.... equd &| 0000a190 30 37 30 32 30 37 0d 05 f5 1c 20 65 71 75 64 20 |070207.... equd | 0000a1a0 31 36 38 3a 65 71 75 64 20 34 30 3a 65 71 75 64 |168:equd 40:equd| 0000a1b0 20 30 0d 05 f6 2c 20 65 71 75 64 20 38 3a 65 71 | 0..., equd 8:eq| 0000a1c0 75 64 20 70 61 67 65 6c 69 73 74 5f 77 63 25 3a |ud pagelist_wc%:| 0000a1d0 65 71 75 64 20 26 30 37 30 30 30 30 32 31 0d 05 |equd &07000021..| 0000a1e0 f7 18 20 65 71 75 73 20 22 53 68 6f 77 20 70 61 |.. equs "Show pa| 0000a1f0 67 65 20 20 20 22 0d 05 f8 24 20 65 71 75 64 20 |ge "...$ equd | 0000a200 26 38 30 3a 65 71 75 64 20 2d 31 3a 65 71 75 64 |&80:equd -1:equd| 0000a210 20 26 30 37 30 30 30 30 32 31 0d 05 f9 18 20 65 | &07000021.... e| 0000a220 71 75 73 20 22 50 72 69 6e 74 20 20 20 20 20 20 |qus "Print | 0000a230 20 22 0d 05 fa 08 20 5d 3a ed 0d 05 fb 0d 20 6d | ".... ]:..... m| 0000a240 65 6e 75 25 3d 31 31 0d 05 fc 25 20 c8 99 20 63 |enu%=11...% .. c| 0000a250 72 65 61 74 65 6d 65 6e 75 25 2c 2c 6d 61 69 6e |reatemenu%,,main| 0000a260 25 2c 6d 78 25 2c 6d 79 25 2d 33 32 0d 05 fd 06 |%,mx%,my%-32....| 0000a270 20 e1 0d 05 fe 04 0d 05 ff 17 20 dd f2 74 72 79 | ......... ..try| 0000a280 5f 6d 65 6e 75 5f 77 61 72 6e 69 6e 67 0d 06 00 |_menu_warning...| 0000a290 24 20 6d 78 25 3d 71 25 21 32 34 3a 6d 79 25 3d |$ mx%=q%!24:my%=| 0000a2a0 71 25 21 32 38 3a 69 74 65 6d 25 3d 71 25 21 33 |q%!28:item%=q%!3| 0000a2b0 32 0d 06 01 28 20 f2 61 72 72 61 6e 67 65 5f 70 |2...( .arrange_p| 0000a2c0 61 67 65 6c 69 73 74 5f 77 63 28 63 75 72 72 65 |agelist_wc(curre| 0000a2d0 6e 74 5f 70 61 67 65 25 29 0d 06 02 28 20 c8 99 |nt_page%)...( ..| 0000a2e0 20 63 72 73 75 62 6d 65 6e 75 25 2c 2c 70 61 67 | crsubmenu%,,pag| 0000a2f0 65 6c 69 73 74 5f 77 63 25 2c 6d 78 25 2c 6d 79 |elist_wc%,mx%,my| 0000a300 25 0d 06 03 06 20 e1 0d 06 04 04 0d 06 05 16 20 |%.... ......... | 0000a310 dd f2 74 72 79 5f 6d 65 6e 75 5f 73 65 6c 65 63 |..try_menu_selec| 0000a320 74 0d 06 06 0f 20 c8 8e 20 6d 65 6e 75 25 20 ca |t.... .. menu% .| 0000a330 0d 06 07 19 20 20 20 c9 20 35 3a f2 69 63 6f 6e |.... . 5:.icon| 0000a340 5f 62 61 72 5f 6d 65 6e 75 0d 06 08 0c 20 20 20 |_bar_menu.... | 0000a350 c9 20 31 31 3a 0d 06 09 11 20 20 20 20 20 c8 8e |. 11:.... ..| 0000a360 20 21 71 25 20 ca 0d 06 0a 1c 20 20 20 20 20 20 | !q% ..... | 0000a370 20 c9 20 31 3a f2 6f 70 65 6e 5f 70 72 69 6e 74 | . 1:.open_print| 0000a380 5f 77 0d 06 0b 0a 20 20 20 20 20 cb 0d 06 0c 06 |_w.... .....| 0000a390 20 cb 0d 06 0d 06 20 e1 0d 06 0e 04 0d 06 0f 16 | ..... .........| 0000a3a0 20 dd f2 74 72 79 5f 70 61 67 65 6c 69 73 74 5f | ..try_pagelist_| 0000a3b0 77 63 0d 06 10 0e 20 62 75 74 25 3d 71 25 21 38 |wc.... but%=q%!8| 0000a3c0 0d 06 11 24 20 21 77 73 25 3d 70 61 67 65 6c 69 |...$ !ws%=pageli| 0000a3d0 73 74 5f 77 63 25 3a c8 99 20 67 65 74 77 25 2c |st_wc%:.. getw%,| 0000a3e0 2c 77 73 25 0d 06 12 2f 20 6f 66 66 78 25 3d 28 |,ws%.../ offx%=(| 0000a3f0 77 73 25 21 34 2d 77 73 25 21 32 30 29 3a 6f 66 |ws%!4-ws%!20):of| 0000a400 66 79 25 3d 28 77 73 25 21 31 36 2d 77 73 25 21 |fy%=(ws%!16-ws%!| 0000a410 32 34 29 0d 06 13 21 20 70 61 67 65 25 3d 28 28 |24)...! page%=((| 0000a420 28 71 25 21 34 29 2d 6f 66 66 79 25 29 81 2d 34 |(q%!4)-offy%).-4| 0000a430 38 29 2b 31 0d 06 14 2e 20 c8 99 20 6e 65 6e 74 |8)+1.... .. nent| 0000a440 72 69 65 73 25 2c 73 5f 70 61 67 65 73 25 20 b8 |ries%,s_pages% .| 0000a450 20 6e 70 25 3a e7 20 70 61 67 65 25 3e 6e 70 25 | np%:. page%>np%| 0000a460 20 e1 0d 06 15 27 20 c8 99 20 67 65 74 6e 74 68 | ....' .. getnth| 0000a470 25 2c 73 5f 70 61 67 65 73 25 2c 70 61 67 65 25 |%,s_pages%,page%| 0000a480 20 b8 20 2c 70 61 67 65 25 0d 06 16 20 20 f2 61 | . ,page%... .a| 0000a490 72 72 61 6e 67 65 5f 70 61 67 65 6c 69 73 74 5f |rrange_pagelist_| 0000a4a0 77 63 28 70 61 67 65 25 29 0d 06 17 16 20 f2 73 |wc(page%).... .s| 0000a4b0 68 6f 77 5f 70 61 67 65 28 70 61 67 65 25 29 0d |how_page(page%).| 0000a4c0 06 18 28 20 f2 61 72 72 61 6e 67 65 5f 70 61 67 |..( .arrange_pag| 0000a4d0 65 6c 69 73 74 5f 77 63 28 63 75 72 72 65 6e 74 |elist_wc(current| 0000a4e0 5f 70 61 67 65 25 29 0d 06 19 12 20 f2 62 65 67 |_page%).... .beg| 0000a4f0 69 6e 5f 74 72 79 69 6e 67 0d 06 1a 20 20 e7 20 |in_trying... . | 0000a500 62 75 74 25 80 34 20 c8 99 20 63 72 65 61 74 65 |but%.4 .. create| 0000a510 6d 65 6e 75 25 2c 2c 2d 31 0d 06 1b 06 20 e1 0d |menu%,,-1.... ..| 0000a520 06 1c 04 0d 06 1d 0b 20 dd f2 73 63 61 6e 0d 06 |....... ..scan..| 0000a530 1e 16 20 e7 20 73 63 61 6e 5f 63 6f 75 6e 74 25 |.. . scan_count%| 0000a540 3e 91 20 e1 0d 06 1f 2c 20 e7 20 73 63 61 6e 5f |>. ...., . scan_| 0000a550 6b 65 79 73 25 3d 31 20 73 63 61 6e 5f 63 6f 75 |keys%=1 scan_cou| 0000a560 6e 74 25 3d 91 2b 73 63 61 6e 5f 74 69 6d 65 25 |nt%=.+scan_time%| 0000a570 0d 06 20 21 20 73 74 61 63 6b 25 3d a4 73 74 61 |.. ! stack%=.sta| 0000a580 63 6b 28 63 75 72 72 65 6e 74 5f 70 61 67 65 25 |ck(current_page%| 0000a590 29 0d 06 21 1e 20 c8 99 20 6e 65 6e 74 72 69 65 |)..!. .. nentrie| 0000a5a0 73 25 2c 73 74 61 63 6b 25 20 b8 20 6e 6f 25 0d |s%,stack% . no%.| 0000a5b0 06 22 0e 20 e7 20 6e 6f 25 3d 30 20 e1 0d 06 23 |.". . no%=0 ...#| 0000a5c0 18 20 e7 20 73 63 61 6e 5f 6f 62 6a 65 63 74 25 |. . scan_object%| 0000a5d0 3c 3e 30 20 8c 0d 06 24 33 20 20 20 c8 99 20 67 |<>0 ...$3 .. g| 0000a5e0 65 74 6e 74 68 25 2c 73 74 61 63 6b 25 2c 73 63 |etnth%,stack%,sc| 0000a5f0 61 6e 5f 6f 62 6a 65 63 74 25 20 b8 20 61 64 72 |an_object% . adr| 0000a600 25 2c 74 6f 6b 65 6e 25 0d 06 25 16 20 20 20 e7 |%,token%..%. .| 0000a610 20 61 64 72 25 21 33 36 20 80 20 31 20 8c 0d 06 | adr%!36 . 1 ...| 0000a620 26 29 20 20 20 20 20 f2 6c 69 67 68 74 5f 6f 62 |&) .light_ob| 0000a630 6a 65 63 74 28 73 74 61 63 6b 25 2c 74 6f 6b 65 |ject(stack%,toke| 0000a640 6e 25 2c 30 2c 31 29 0d 06 27 18 20 20 20 20 20 |n%,0,1)..'. | 0000a650 73 63 61 6e 5f 6f 62 6a 65 63 74 25 2b 3d 31 0d |scan_object%+=1.| 0000a660 06 28 2a 20 20 20 20 20 e7 20 73 63 61 6e 5f 6f |.(* . scan_o| 0000a670 62 6a 65 63 74 25 3e 6e 6f 25 20 73 63 61 6e 5f |bject%>no% scan_| 0000a680 6f 62 6a 65 63 74 25 3d 31 0d 06 29 08 20 20 20 |object%=1..). | 0000a690 cd 0d 06 2a 06 20 cc 0d 06 2b 15 20 20 20 73 63 |...*. ...+. sc| 0000a6a0 61 6e 5f 6f 62 6a 65 63 74 25 3d 31 0d 06 2c 06 |an_object%=1..,.| 0000a6b0 20 cd 0d 06 2d 0b 20 79 65 73 25 3d 30 0d 06 2e | ...-. yes%=0...| 0000a6c0 06 20 f5 0d 06 2f 33 20 20 20 c8 99 20 67 65 74 |. .../3 .. get| 0000a6d0 6e 74 68 25 2c 73 74 61 63 6b 25 2c 73 63 61 6e |nth%,stack%,scan| 0000a6e0 5f 6f 62 6a 65 63 74 25 20 b8 20 61 64 72 25 2c |_object% . adr%,| 0000a6f0 74 6f 6b 65 6e 25 0d 06 30 2b 20 20 20 e7 20 28 |token%..0+ . (| 0000a700 61 64 72 25 21 32 38 29 3c 3e 30 20 80 20 28 28 |adr%!28)<>0 . ((| 0000a710 61 64 72 25 21 33 36 29 80 31 32 38 29 3d 30 20 |adr%!36).128)=0 | 0000a720 8c 0d 06 31 2e 20 20 20 20 20 c8 99 20 67 65 74 |...1. .. get| 0000a730 65 6e 74 72 79 25 2c 73 5f 63 6c 69 63 6b 73 25 |entry%,s_clicks%| 0000a740 2c 61 64 72 25 21 32 38 20 b8 20 61 64 72 25 0d |,adr%!28 . adr%.| 0000a750 06 32 14 20 20 20 20 20 e7 20 61 64 72 25 21 31 |.2. . adr%!1| 0000a760 36 20 8c 0d 06 33 34 20 20 20 20 20 20 20 f2 6c |6 ...34 .l| 0000a770 69 67 68 74 5f 6f 62 6a 65 63 74 28 73 74 61 63 |ight_object(stac| 0000a780 6b 25 2c 74 6f 6b 65 6e 25 2c 31 2c 31 29 3a 79 |k%,token%,1,1):y| 0000a790 65 73 25 3d 6e 6f 25 0d 06 34 0a 20 20 20 20 20 |es%=no%..4. | 0000a7a0 cc 0d 06 35 1a 20 20 20 20 20 20 20 73 63 61 6e |...5. scan| 0000a7b0 5f 6f 62 6a 65 63 74 25 2b 3d 31 0d 06 36 2c 20 |_object%+=1..6, | 0000a7c0 20 20 20 20 20 20 e7 20 73 63 61 6e 5f 6f 62 6a | . scan_obj| 0000a7d0 65 63 74 25 3e 6e 6f 25 20 73 63 61 6e 5f 6f 62 |ect%>no% scan_ob| 0000a7e0 6a 65 63 74 25 3d 31 0d 06 37 12 20 20 20 20 20 |ject%=1..7. | 0000a7f0 20 20 79 65 73 25 2b 3d 31 0d 06 38 0a 20 20 20 | yes%+=1..8. | 0000a800 20 20 cd 0d 06 39 08 20 20 20 cc 0d 06 3a 18 20 | ...9. ...:. | 0000a810 20 20 20 20 73 63 61 6e 5f 6f 62 6a 65 63 74 25 | scan_object%| 0000a820 2b 3d 31 0d 06 3b 2a 20 20 20 20 20 e7 20 73 63 |+=1..;* . sc| 0000a830 61 6e 5f 6f 62 6a 65 63 74 25 3e 6e 6f 25 20 73 |an_object%>no% s| 0000a840 63 61 6e 5f 6f 62 6a 65 63 74 25 3d 31 0d 06 3c |can_object%=1..<| 0000a850 10 20 20 20 20 20 79 65 73 25 2b 3d 31 0d 06 3d |. yes%+=1..=| 0000a860 08 20 20 20 cd 0d 06 3e 0e 20 fd 79 65 73 25 3d |. ...>. .yes%=| 0000a870 6e 6f 25 0d 06 3f 06 20 e1 0d 06 40 04 0d 06 41 |no%..?. ...@...A| 0000a880 17 20 dd f2 73 63 61 6e 5f 63 6c 69 63 6b 28 62 |. ..scan_click(b| 0000a890 75 74 25 29 0d 06 42 17 20 e7 20 73 63 61 6e 5f |ut%)..B. . scan_| 0000a8a0 6f 62 6a 65 63 74 25 3d 30 20 e1 0d 06 43 21 20 |object%=0 ...C! | 0000a8b0 73 74 61 63 6b 25 3d a4 73 74 61 63 6b 28 63 75 |stack%=.stack(cu| 0000a8c0 72 72 65 6e 74 5f 70 61 67 65 25 29 0d 06 44 34 |rrent_page%)..D4| 0000a8d0 20 e7 20 73 63 61 6e 5f 6b 65 79 73 25 3d 31 20 | . scan_keys%=1 | 0000a8e0 84 20 28 73 63 61 6e 5f 6b 65 79 73 25 3d 32 20 |. (scan_keys%=2 | 0000a8f0 80 20 28 62 75 74 25 80 26 31 30 31 29 29 20 8c |. (but%.&101)) .| 0000a900 0d 06 45 33 20 20 20 c8 99 20 67 65 74 6e 74 68 |..E3 .. getnth| 0000a910 25 2c 73 74 61 63 6b 25 2c 73 63 61 6e 5f 6f 62 |%,stack%,scan_ob| 0000a920 6a 65 63 74 25 20 b8 20 61 64 72 25 2c 74 6f 6b |ject% . adr%,tok| 0000a930 65 6e 25 0d 06 46 12 20 20 20 e7 20 61 64 72 25 |en%..F. . adr%| 0000a940 21 32 38 20 8c 0d 06 47 2e 20 20 20 20 20 c8 99 |!28 ...G. ..| 0000a950 20 67 65 74 65 6e 74 72 79 25 2c 73 5f 63 6c 69 | getentry%,s_cli| 0000a960 63 6b 73 25 2c 61 64 72 25 21 32 38 20 b8 20 61 |cks%,adr%!28 . a| 0000a970 64 72 25 0d 06 48 2e 20 20 20 20 20 e7 20 61 64 |dr%..H. . ad| 0000a980 72 25 21 32 30 20 f2 64 6f 5f 63 6c 69 63 6b 28 |r%!20 .do_click(| 0000a990 73 5f 6d 6f 75 73 65 25 2c 61 64 72 25 21 32 30 |s_mouse%,adr%!20| 0000a9a0 29 0d 06 49 08 20 20 20 cd 0d 06 4a 06 20 cc 0d |)..I. ...J. ..| 0000a9b0 06 4b 18 20 20 20 e7 20 62 75 74 25 80 26 34 30 |.K. . but%.&40| 0000a9c0 34 20 f2 73 63 61 6e 0d 06 4c 06 20 cd 0d 06 4d |4 .scan..L. ...M| 0000a9d0 06 20 e1 0d 06 4e 04 0d 06 4f 16 20 dd f2 72 65 |. ...N...O. ..re| 0000a9e0 64 65 66 69 6e 65 5f 6d 61 69 6e 5f 77 0d 06 50 |define_main_w..P| 0000a9f0 1e 20 21 71 25 3d 6d 61 69 6e 5f 77 25 3a c8 99 |. !q%=main_w%:..| 0000aa00 20 67 65 74 77 69 25 2c 2c 71 25 0d 06 51 28 20 | getwi%,,q%..Q( | 0000aa10 e7 20 28 71 25 21 33 32 29 80 28 31 3c 3c 31 36 |. (q%!32).(1<<16| 0000aa20 29 20 6f 70 65 6e 25 3d b9 20 8b 20 6f 70 65 6e |) open%=. . open| 0000aa30 25 3d a3 0d 06 52 1f 20 c8 99 20 22 57 69 6d 70 |%=...R. .. "Wimp| 0000aa40 5f 44 65 6c 65 74 65 57 69 6e 64 6f 77 22 2c 2c |_DeleteWindow",,| 0000aa50 71 25 0d 06 53 27 20 66 25 3d 28 28 71 25 21 33 |q%..S' f%=((q%!3| 0000aa60 32 29 80 26 38 33 46 46 46 46 46 46 29 20 84 20 |2).&83FFFFFF) . | 0000aa70 28 26 38 33 3c 3c 32 34 29 0d 06 54 0e 20 62 68 |(&83<<24)..T. bh| 0000aa80 25 3d 71 25 21 32 38 0d 06 55 1e 20 e7 20 68 5f |%=q%!28..U. . h_| 0000aa90 73 63 72 6f 6c 6c 25 20 66 25 3d 66 25 84 28 31 |scroll% f%=f%.(1| 0000aaa0 3c 3c 33 30 29 0d 06 56 1e 20 e7 20 76 5f 73 63 |<<30)..V. . v_sc| 0000aab0 72 6f 6c 6c 25 20 66 25 3d 66 25 84 28 31 3c 3c |roll% f%=f%.(1<<| 0000aac0 32 38 29 0d 06 57 2a 20 e7 20 68 5f 73 63 72 6f |28)..W* . h_scro| 0000aad0 6c 6c 25 20 84 20 76 5f 73 63 72 6f 6c 6c 25 20 |ll% . v_scroll% | 0000aae0 66 25 3d 66 25 84 28 31 3c 3c 32 39 29 0d 06 58 |f%=f%.(1<<29)..X| 0000aaf0 3c 20 e7 20 74 69 74 6c 65 5f 62 61 72 25 20 66 |< . title_bar% f| 0000ab00 25 3d 66 25 84 28 31 3c 3c 32 36 29 3a e7 20 74 |%=f%.(1<<26):. t| 0000ab10 6f 67 67 6c 65 5f 69 63 6f 6e 25 20 66 25 3d 66 |oggle_icon% f%=f| 0000ab20 25 84 28 31 3c 3c 32 37 29 0d 06 59 0d 20 71 25 |%.(1<<27)..Y. q%| 0000ab30 21 33 32 3d 66 25 0d 06 5a 2b 20 c8 99 20 22 57 |!32=f%..Z+ .. "W| 0000ab40 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 |imp_CreateWindow| 0000ab50 22 2c 2c 71 25 2b 34 20 b8 20 6d 61 69 6e 5f 77 |",,q%+4 . main_w| 0000ab60 25 0d 06 5b 55 20 21 71 25 3d 6d 61 69 6e 5f 77 |%..[U !q%=main_w| 0000ab70 25 3a c8 99 20 67 65 74 77 25 2c 2c 71 25 3a f2 |%:.. getw%,,q%:.| 0000ab80 6f 70 65 6e 5f 77 69 6e 64 6f 77 28 21 71 25 2c |open_window(!q%,| 0000ab90 71 25 21 34 2c 71 25 21 38 2c 71 25 21 31 32 2c |q%!4,q%!8,q%!12,| 0000aba0 71 25 21 31 36 2c 71 25 21 32 30 2c 71 25 21 32 |q%!16,q%!20,q%!2| 0000abb0 34 2c 62 68 25 29 0d 06 5c 06 20 e1 0d 06 5d 04 |4,bh%)..\. ...].| 0000abc0 0d 06 5e 1b 20 dd f2 69 6e 69 74 5f 73 65 71 28 |..^. ..init_seq(| 0000abd0 74 69 6d 65 25 2c 61 64 72 25 29 0d 06 5f 20 20 |time%,adr%).._ | 0000abe0 c8 99 20 6d 6f 76 65 64 61 74 61 25 2c 61 64 72 |.. movedata%,adr| 0000abf0 25 2c 77 73 25 2c 21 61 64 72 25 0d 06 60 37 20 |%,ws%,!adr%..`7 | 0000ac00 e7 20 28 61 64 72 25 21 31 32 29 80 34 20 77 73 |. (adr%!12).4 ws| 0000ac10 25 21 34 3d 34 30 3a 77 73 25 21 38 3d 33 36 20 |%!4=40:ws%!8=36 | 0000ac20 8b 20 77 73 25 21 34 3d 33 36 3a 77 73 25 21 38 |. ws%!4=36:ws%!8| 0000ac30 3d 30 0d 06 61 29 20 77 73 25 21 31 32 3d 34 3a |=0..a) ws%!12=4:| 0000ac40 77 73 25 21 31 36 3d 61 64 72 25 21 32 30 3a 77 |ws%!16=adr%!20:w| 0000ac50 73 25 21 32 30 3d 74 69 6d 65 25 0d 06 62 2a 20 |s%!20=time%..b* | 0000ac60 77 73 25 21 32 34 3d 61 64 72 25 21 38 3a 77 73 |ws%!24=adr%!8:ws| 0000ac70 25 21 32 38 3d 30 3a 77 73 25 21 33 32 3d 61 64 |%!28=0:ws%!32=ad| 0000ac80 72 25 21 31 32 0d 06 63 19 20 f2 6d 61 6b 65 5f |r%!12..c. .make_| 0000ac90 73 70 61 63 65 28 21 77 73 25 2b 31 36 29 0d 06 |space(!ws%+16)..| 0000aca0 64 22 20 c8 99 20 61 64 64 65 6e 74 72 79 25 2c |d" .. addentry%,| 0000acb0 73 5f 73 65 71 75 65 6e 63 65 73 25 2c 77 73 25 |s_sequences%,ws%| 0000acc0 0d 06 65 65 20 e7 20 28 77 73 25 21 33 32 29 80 |..ee . (ws%!32).| 0000acd0 36 34 20 70 6f 69 6e 74 65 72 5f 6f 6e 25 3d a3 |64 pointer_on%=.| 0000ace0 3a f2 67 65 74 5f 70 6f 69 6e 74 65 72 3a e7 20 |:.get_pointer:. | 0000acf0 68 61 6e 64 6c 65 25 3d 6d 61 69 6e 5f 77 25 20 |handle%=main_w% | 0000ad00 c8 99 20 22 57 69 6d 70 5f 53 70 72 69 74 65 4f |.. "Wimp_SpriteO| 0000ad10 70 22 2c 33 36 2c 31 2c 22 70 74 72 5f 63 6c 6f |p",36,1,"ptr_clo| 0000ad20 63 6b 22 2c 32 0d 06 66 06 20 e1 0d 06 67 04 0d |ck",2..f. ...g..| 0000ad30 06 68 1d 20 dd f2 63 68 65 63 6b 5f 73 65 71 75 |.h. ..check_sequ| 0000ad40 65 6e 63 65 73 28 74 69 6d 65 25 29 0d 06 69 24 |ences(time%)..i$| 0000ad50 20 c8 99 20 6e 65 6e 74 72 69 65 73 25 2c 73 5f | .. nentries%,s_| 0000ad60 73 65 71 75 65 6e 63 65 73 25 20 b8 20 6e 73 25 |sequences% . ns%| 0000ad70 0d 06 6a 0c 20 e7 20 6e 73 25 20 8c 0d 06 6b 23 |..j. . ns% ...k#| 0000ad80 20 20 20 73 74 61 63 6b 25 3d a4 73 74 61 63 6b | stack%=.stack| 0000ad90 28 63 75 72 72 65 6e 74 5f 70 61 67 65 25 29 0d |(current_page%).| 0000ada0 06 6c 15 20 20 20 e3 20 73 65 71 25 3d 31 20 b8 |.l. . seq%=1 .| 0000adb0 20 6e 73 25 0d 06 6d 2c 20 20 20 20 20 c8 99 20 | ns%..m, .. | 0000adc0 67 65 74 6e 74 68 25 2c 73 5f 73 65 71 75 65 6e |getnth%,s_sequen| 0000add0 63 65 73 25 2c 73 65 71 25 20 b8 20 61 64 72 25 |ces%,seq% . adr%| 0000ade0 0d 06 6e 1a 20 20 20 20 20 e7 20 74 69 6d 65 25 |..n. . time%| 0000adf0 3e 61 64 72 25 21 32 30 20 8c 0d 06 6f 20 20 20 |>adr%!20 ...o | 0000ae00 20 20 20 20 20 61 64 72 25 21 32 30 3d 74 69 6d | adr%!20=tim| 0000ae10 65 25 2b 61 64 72 25 21 31 36 0d 06 70 3f 20 20 |e%+adr%!16..p? | 0000ae20 20 20 20 20 20 6c 65 6e 25 3d 21 61 64 72 25 3a | len%=!adr%:| 0000ae30 70 74 72 25 3d 61 64 72 25 21 34 3a 6f 70 74 72 |ptr%=adr%!4:optr| 0000ae40 25 3d 61 64 72 25 21 38 3a 70 74 72 5f 69 6e 63 |%=adr%!8:ptr_inc| 0000ae50 25 3d 61 64 72 25 21 31 32 0d 06 71 28 20 20 20 |%=adr%!12..q( | 0000ae60 20 20 20 20 6c 6f 6f 70 25 3d 28 61 64 72 25 21 | loop%=(adr%!| 0000ae70 33 32 29 80 32 3a 6c 61 73 74 5f 6f 6e 65 25 3d |32).2:last_one%=| 0000ae80 30 0d 06 72 43 20 20 20 20 20 20 20 6c 61 73 74 |0..rC last| 0000ae90 25 3d 28 61 64 72 25 21 33 32 29 80 38 3a 74 72 |%=(adr%!32).8:tr| 0000aea0 61 69 6c 25 3d 28 61 64 72 25 21 33 32 29 80 31 |ail%=(adr%!32).1| 0000aeb0 36 3a 6e 6f 75 64 25 3d 28 61 64 72 25 21 33 32 |6:noud%=(adr%!32| 0000aec0 29 80 33 32 0d 06 73 21 20 20 20 20 20 20 20 73 |).32..s! s| 0000aed0 65 65 74 68 72 75 25 3d 28 61 64 72 25 21 33 32 |eethru%=(adr%!32| 0000aee0 29 80 31 32 38 0d 06 74 2b 20 20 20 20 20 20 20 |).128..t+ | 0000aef0 e7 20 61 64 72 25 21 32 34 3c 3e 30 20 80 20 61 |. adr%!24<>0 . a| 0000af00 64 72 25 21 32 38 3d 61 64 72 25 21 32 34 20 8c |dr%!28=adr%!24 .| 0000af10 0d 06 75 16 20 20 20 20 20 20 20 20 20 e7 20 6c |..u. . l| 0000af20 6f 6f 70 25 20 8c 0d 06 76 24 20 20 20 20 20 20 |oop% ...v$ | 0000af30 20 20 20 20 20 e7 20 70 74 72 25 3d 34 30 20 6c | . ptr%=40 l| 0000af40 61 73 74 5f 6f 6e 65 25 3d b9 0d 06 77 0e 20 20 |ast_one%=...w. | 0000af50 20 20 20 20 20 20 20 cc 0d 06 78 24 20 20 20 20 | ...x$ | 0000af60 20 20 20 20 20 20 20 e7 20 70 74 72 25 3d 33 36 | . ptr%=36| 0000af70 20 6c 61 73 74 5f 6f 6e 65 25 3d b9 0d 06 79 0e | last_one%=...y.| 0000af80 20 20 20 20 20 20 20 20 20 cd 0d 06 7a 0c 20 20 | ...z. | 0000af90 20 20 20 20 20 cd 0d 06 7b 22 20 20 20 20 20 20 | ...{" | 0000afa0 20 e7 20 6f 70 74 72 25 3c 3e 30 20 80 20 74 72 | . optr%<>0 . tr| 0000afb0 61 69 6c 25 3d 30 20 8c 0d 06 7c 1a 20 20 20 20 |ail%=0 ...|. | 0000afc0 20 20 20 20 20 e7 20 6c 61 73 74 5f 6f 6e 65 25 | . last_one%| 0000afd0 20 8c 0d 06 7d 1a 20 20 20 20 20 20 20 20 20 20 | ...}. | 0000afe0 20 e7 20 6c 61 73 74 25 3d 30 20 8c 0d 06 7e 1a | . last%=0 ...~.| 0000aff0 20 20 20 20 20 20 20 20 20 20 20 20 20 e7 20 6e | . n| 0000b000 6f 75 64 25 20 8c 0d 06 7f 34 20 20 20 20 20 20 |oud% ....4 | 0000b010 20 20 20 20 20 20 20 20 20 f2 66 61 73 74 5f 64 | .fast_d| 0000b020 72 61 77 28 73 74 61 63 6b 25 2c 6f 70 74 72 25 |raw(stack%,optr%| 0000b030 21 61 64 72 25 2c b9 2c 30 29 0d 06 80 12 20 20 |!adr%,.,0).... | 0000b040 20 20 20 20 20 20 20 20 20 20 20 cc 0d 06 81 36 | ....6| 0000b050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 | .| 0000b060 68 69 64 65 5f 6f 62 6a 65 63 74 28 73 74 61 63 |hide_object(stac| 0000b070 6b 25 2c 6f 70 74 72 25 21 61 64 72 25 2c 31 2c |k%,optr%!adr%,1,| 0000b080 31 29 0d 06 82 12 20 20 20 20 20 20 20 20 20 20 |1).... | 0000b090 20 20 20 cd 0d 06 83 10 20 20 20 20 20 20 20 20 | ..... | 0000b0a0 20 20 20 cd 0d 06 84 0e 20 20 20 20 20 20 20 20 | ..... | 0000b0b0 20 cc 0d 06 85 18 20 20 20 20 20 20 20 20 20 20 | ..... | 0000b0c0 20 e7 20 6e 6f 75 64 25 20 8c 0d 06 86 32 20 20 | . noud% ....2 | 0000b0d0 20 20 20 20 20 20 20 20 20 20 20 f2 66 61 73 74 | .fast| 0000b0e0 5f 64 72 61 77 28 73 74 61 63 6b 25 2c 6f 70 74 |_draw(stack%,opt| 0000b0f0 72 25 21 61 64 72 25 2c b9 2c 30 29 0d 06 87 10 |r%!adr%,.,0)....| 0000b100 20 20 20 20 20 20 20 20 20 20 20 cc 0d 06 88 34 | ....4| 0000b110 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 68 69 | .hi| 0000b120 64 65 5f 6f 62 6a 65 63 74 28 73 74 61 63 6b 25 |de_object(stack%| 0000b130 2c 6f 70 74 72 25 21 61 64 72 25 2c 31 2c 31 29 |,optr%!adr%,1,1)| 0000b140 0d 06 89 10 20 20 20 20 20 20 20 20 20 20 20 cd |.... .| 0000b150 0d 06 8a 0e 20 20 20 20 20 20 20 20 20 cd 0d 06 |.... ...| 0000b160 8b 0c 20 20 20 20 20 20 20 cd 0d 06 8c 1a 20 20 |.. ..... | 0000b170 20 20 20 20 20 e7 20 6c 61 73 74 5f 6f 6e 65 25 | . last_one%| 0000b180 3d 30 20 8c 0d 06 8d 16 20 20 20 20 20 20 20 20 |=0 ..... | 0000b190 20 e7 20 6e 6f 75 64 25 20 8c 0d 06 8e 36 20 20 | . noud% ....6 | 0000b1a0 20 20 20 20 20 20 20 20 20 f2 66 61 73 74 5f 64 | .fast_d| 0000b1b0 72 61 77 28 73 74 61 63 6b 25 2c 70 74 72 25 21 |raw(stack%,ptr%!| 0000b1c0 61 64 72 25 2c 30 2c 73 65 65 74 68 72 75 25 29 |adr%,0,seethru%)| 0000b1d0 0d 06 8f 0e 20 20 20 20 20 20 20 20 20 cc 0d 06 |.... ...| 0000b1e0 90 31 20 20 20 20 20 20 20 20 20 20 20 f2 68 69 |.1 .hi| 0000b1f0 64 65 5f 6f 62 6a 65 63 74 28 73 74 61 63 6b 25 |de_object(stack%| 0000b200 2c 70 74 72 25 21 61 64 72 25 2c 30 2c 31 29 0d |,ptr%!adr%,0,1).| 0000b210 06 91 0e 20 20 20 20 20 20 20 20 20 cd 0d 06 92 |... ....| 0000b220 27 20 20 20 20 20 20 20 20 20 61 64 72 25 21 38 |' adr%!8| 0000b230 3d 70 74 72 25 3a 70 74 72 25 2b 3d 70 74 72 5f |=ptr%:ptr%+=ptr_| 0000b240 69 6e 63 25 0d 06 93 16 20 20 20 20 20 20 20 20 |inc%.... | 0000b250 20 e7 20 6c 6f 6f 70 25 20 8c 0d 06 94 1c 20 20 | . loop% ..... | 0000b260 20 20 20 20 20 20 20 20 20 e7 20 70 74 72 25 3d | . ptr%=| 0000b270 6c 65 6e 25 20 8c 0d 06 95 27 20 20 20 20 20 20 |len% ....' | 0000b280 20 20 20 20 20 20 20 70 74 72 25 3d 6c 65 6e 25 | ptr%=len%| 0000b290 2d 38 3a 61 64 72 25 21 31 32 3d 2d 34 0d 06 96 |-8:adr%!12=-4...| 0000b2a0 10 20 20 20 20 20 20 20 20 20 20 20 cc 0d 06 97 |. ....| 0000b2b0 1c 20 20 20 20 20 20 20 20 20 20 20 20 20 e7 20 |. . | 0000b2c0 70 74 72 25 3d 33 32 20 8c 0d 06 98 24 20 20 20 |ptr%=32 ....$ | 0000b2d0 20 20 20 20 20 20 20 20 20 20 20 20 70 74 72 25 | ptr%| 0000b2e0 3d 34 30 3a 61 64 72 25 21 31 32 3d 34 0d 06 99 |=40:adr%!12=4...| 0000b2f0 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |3 | 0000b300 e7 20 61 64 72 25 21 32 34 3c 3e 30 20 61 64 72 |. adr%!24<>0 adr| 0000b310 25 21 32 38 3d 28 61 64 72 25 21 32 38 29 2b 31 |%!28=(adr%!28)+1| 0000b320 0d 06 9a 12 20 20 20 20 20 20 20 20 20 20 20 20 |.... | 0000b330 20 cd 0d 06 9b 10 20 20 20 20 20 20 20 20 20 20 | ..... | 0000b340 20 cd 0d 06 9c 0e 20 20 20 20 20 20 20 20 20 cc | ..... .| 0000b350 0d 06 9d 1c 20 20 20 20 20 20 20 20 20 20 20 e7 |.... .| 0000b360 20 70 74 72 25 3d 6c 65 6e 25 20 8c 0d 06 9e 18 | ptr%=len% .....| 0000b370 20 20 20 20 20 20 20 20 20 20 20 20 20 70 74 72 | ptr| 0000b380 25 3d 33 36 0d 06 9f 31 20 20 20 20 20 20 20 20 |%=36...1 | 0000b390 20 20 20 20 20 e7 20 61 64 72 25 21 32 34 3c 3e | . adr%!24<>| 0000b3a0 30 20 61 64 72 25 21 32 38 3d 28 61 64 72 25 21 |0 adr%!28=(adr%!| 0000b3b0 32 38 29 2b 31 0d 06 a0 10 20 20 20 20 20 20 20 |28)+1.... | 0000b3c0 20 20 20 20 cd 0d 06 a1 0e 20 20 20 20 20 20 20 | ..... | 0000b3d0 20 20 cd 0d 06 a2 0c 20 20 20 20 20 20 20 cc 0d | ..... ..| 0000b3e0 06 a3 13 20 20 20 20 20 20 20 20 20 70 74 72 25 |... ptr%| 0000b3f0 3d 30 0d 06 a4 0c 20 20 20 20 20 20 20 cd 0d 06 |=0.... ...| 0000b400 a5 16 20 20 20 20 20 20 20 61 64 72 25 21 34 3d |.. adr%!4=| 0000b410 70 74 72 25 0d 06 a6 0a 20 20 20 20 20 cd 0d 06 |ptr%.... ...| 0000b420 a7 08 20 20 20 ed 0d 06 a8 08 20 20 20 f5 0d 06 |.. ..... ...| 0000b430 a9 12 20 20 20 20 20 6e 6f 6d 6f 72 65 25 3d b9 |.. nomore%=.| 0000b440 0d 06 aa 28 20 20 20 20 20 c8 99 20 6e 65 6e 74 |...( .. nent| 0000b450 72 69 65 73 25 2c 73 5f 73 65 71 75 65 6e 63 65 |ries%,s_sequence| 0000b460 73 25 20 b8 20 6e 73 25 0d 06 ab 10 20 20 20 20 |s% . ns%.... | 0000b470 20 e7 20 6e 73 25 20 8c 0d 06 ac 19 20 20 20 20 | . ns% ..... | 0000b480 20 20 20 e3 20 73 65 71 25 3d 31 20 b8 20 6e 73 | . seq%=1 . ns| 0000b490 25 0d 06 ad 37 20 20 20 20 20 20 20 20 20 c8 99 |%...7 ..| 0000b4a0 20 67 65 74 6e 74 68 25 2c 73 5f 73 65 71 75 65 | getnth%,s_seque| 0000b4b0 6e 63 65 73 25 2c 73 65 71 25 20 b8 20 61 64 72 |nces%,seq% . adr| 0000b4c0 25 2c 74 6f 6b 65 6e 25 0d 06 ae 41 20 20 20 20 |%,token%...A | 0000b4d0 20 20 20 20 20 e7 20 61 64 72 25 21 34 3d 30 20 | . adr%!4=0 | 0000b4e0 80 20 28 61 64 72 25 21 33 32 29 80 36 34 20 ff |. (adr%!32).64 .| 0000b4f0 22 70 6f 69 6e 74 65 72 20 31 22 3a 70 6f 69 6e |"pointer 1":poin| 0000b500 74 65 72 5f 6f 6e 25 3d b9 0d 06 af 4c 20 20 20 |ter_on%=....L | 0000b510 20 20 20 20 20 20 e7 20 61 64 72 25 21 34 3d 30 | . adr%!4=0| 0000b520 20 6e 6f 6d 6f 72 65 25 3d 30 3a 73 65 71 25 3d | nomore%=0:seq%=| 0000b530 6e 73 25 3a c8 99 20 6b 69 6c 6c 65 6e 74 72 79 |ns%:.. killentry| 0000b540 25 2c 73 5f 73 65 71 75 65 6e 63 65 73 25 2c 74 |%,s_sequences%,t| 0000b550 6f 6b 65 6e 25 0d 06 b0 0c 20 20 20 20 20 20 20 |oken%.... | 0000b560 ed 0d 06 b1 0a 20 20 20 20 20 cd 0d 06 b2 0f 20 |..... ..... | 0000b570 20 20 fd 6e 6f 6d 6f 72 65 25 0d 06 b3 06 20 cd | .nomore%.... .| 0000b580 0d 06 b4 06 20 e1 0d 06 b5 04 0d 06 b6 2f 20 dd |.... ......../ .| 0000b590 f2 66 61 73 74 5f 64 72 61 77 28 73 74 61 63 6b |.fast_draw(stack| 0000b5a0 25 2c 74 6f 6b 65 6e 25 2c 65 72 61 73 65 25 2c |%,token%,erase%,| 0000b5b0 73 65 65 74 68 72 75 25 29 0d 06 b7 0b 20 ea 20 |seethru%).... . | 0000b5c0 61 64 72 25 0d 06 b8 1d 20 21 71 25 3d 6d 61 69 |adr%.... !q%=mai| 0000b5d0 6e 5f 77 25 3a c8 99 20 67 65 74 77 25 2c 2c 71 |n_w%:.. getw%,,q| 0000b5e0 25 0d 06 b9 2b 20 6f 66 66 78 25 3d 28 71 25 21 |%...+ offx%=(q%!| 0000b5f0 34 2d 71 25 21 32 30 29 3a 6f 66 66 79 25 3d 28 |4-q%!20):offy%=(| 0000b600 71 25 21 31 36 2d 71 25 21 32 34 29 0d 06 ba 26 |q%!16-q%!24)...&| 0000b610 20 c8 99 20 67 65 74 65 6e 74 72 79 25 2c 73 74 | .. getentry%,st| 0000b620 61 63 6b 25 2c 74 6f 6b 65 6e 25 20 b8 20 61 64 |ack%,token% . ad| 0000b630 72 25 0d 06 bb 17 20 78 25 3d 28 61 64 72 25 21 |r%.... x%=(adr%!| 0000b640 31 32 29 2b 6f 66 66 78 25 0d 06 bc 17 20 79 25 |12)+offx%.... y%| 0000b650 3d 28 61 64 72 25 21 31 36 29 2b 6f 66 66 79 25 |=(adr%!16)+offy%| 0000b660 0d 06 bd 22 20 78 31 25 3d 28 61 64 72 25 21 32 |..." x1%=(adr%!2| 0000b670 30 29 2d 28 31 3c 3c 78 65 66 25 29 2b 6f 66 66 |0)-(1<<xef%)+off| 0000b680 78 25 0d 06 be 22 20 79 31 25 3d 28 61 64 72 25 |x%..." y1%=(adr%| 0000b690 21 32 34 29 2d 28 31 3c 3c 79 65 66 25 29 2b 6f |!24)-(1<<yef%)+o| 0000b6a0 66 66 79 25 0d 06 bf 0f 20 e7 20 65 72 61 73 65 |ffy%.... . erase| 0000b6b0 25 20 8c 0d 06 c0 30 20 20 20 e7 20 28 28 61 64 |% ....0 . ((ad| 0000b6c0 72 25 21 33 36 29 80 31 32 38 29 3d 30 20 61 64 |r%!36).128)=0 ad| 0000b6d0 72 25 21 33 36 3d 28 61 64 72 25 21 33 36 29 84 |r%!36=(adr%!36).| 0000b6e0 31 32 38 0d 06 c1 32 20 20 20 c8 99 20 67 65 74 |128...2 .. get| 0000b6f0 65 6e 74 72 79 25 2c 73 5f 70 61 67 65 73 25 2c |entry%,s_pages%,| 0000b700 63 75 72 72 65 6e 74 5f 70 61 67 65 25 20 b8 20 |current_page% . | 0000b710 61 64 72 31 25 0d 06 c2 16 20 20 20 62 63 6f 6c |adr1%.... bcol| 0000b720 25 3d 61 64 72 31 25 21 32 38 3a 0d 06 c3 06 20 |%=adr1%!28:.... | 0000b730 cc 0d 06 c4 39 20 20 20 e7 20 28 61 64 72 25 21 |....9 . (adr%!| 0000b740 33 36 29 80 31 32 38 20 80 20 73 65 65 74 68 72 |36).128 . seethr| 0000b750 75 25 3d 30 20 61 64 72 25 21 33 36 3d 28 61 64 |u%=0 adr%!36=(ad| 0000b760 72 25 21 33 36 29 82 31 32 38 0d 06 c5 06 20 cd |r%!36).128.... .| 0000b770 0d 06 c6 20 20 66 6c 61 67 73 25 3d 61 64 72 25 |... flags%=adr%| 0000b780 21 33 36 3a 74 79 70 65 25 3d 61 64 72 25 21 34 |!36:type%=adr%!4| 0000b790 0d 06 c7 66 20 21 71 25 3d 6d 61 69 6e 5f 77 25 |...f !q%=main_w%| 0000b7a0 3a 71 25 21 34 3d 78 25 2d 6f 66 66 78 25 3a 71 |:q%!4=x%-offx%:q| 0000b7b0 25 21 38 3d 79 25 2d 6f 66 66 79 25 2d 33 32 3a |%!8=y%-offy%-32:| 0000b7c0 71 25 21 31 32 3d 78 31 25 2d 6f 66 66 78 25 2b |q%!12=x1%-offx%+| 0000b7d0 28 31 3c 3c 78 65 66 25 29 2b 33 32 3a 71 25 21 |(1<<xef%)+32:q%!| 0000b7e0 31 36 3d 79 31 25 2d 6f 66 66 79 25 2b 28 31 3c |16=y1%-offy%+(1<| 0000b7f0 3c 79 65 66 25 29 0d 06 c8 1c 20 c8 99 20 75 70 |<yef%).... .. up| 0000b800 64 61 74 65 77 25 2c 2c 71 25 20 b8 20 6d 6f 72 |datew%,,q% . mor| 0000b810 65 25 0d 06 c9 0d 20 c8 95 20 6d 6f 72 65 25 0d |e%.... .. more%.| 0000b820 06 ca 11 20 20 20 e7 20 65 72 61 73 65 25 20 8c |... . erase% .| 0000b830 0d 06 cb 33 20 20 20 20 20 c8 99 20 73 65 74 63 |...3 .. setc| 0000b840 6f 6c 25 2c 62 63 6f 6c 25 3a c8 93 20 c8 90 20 |ol%,bcol%:.. .. | 0000b850 78 25 2c 79 25 2c 78 31 25 2d 78 25 2c 79 31 25 |x%,y%,x1%-x%,y1%| 0000b860 2d 79 25 0d 06 cc 08 20 20 20 cc 0d 06 cd 13 20 |-y%.... ..... | 0000b870 20 20 20 20 c8 8e 20 74 79 70 65 25 20 ca 0d 06 | .. type% ...| 0000b880 ce 3a 20 20 20 20 20 20 20 c9 20 73 5f 74 65 78 |.: . s_tex| 0000b890 74 25 3a f2 64 72 61 77 5f 74 65 78 74 28 73 74 |t%:.draw_text(st| 0000b8a0 61 63 6b 25 2c 74 6f 6b 65 6e 25 2c 6f 66 66 78 |ack%,token%,offx| 0000b8b0 25 2c 6f 66 66 79 25 29 0d 06 cf 57 20 20 20 20 |%,offy%)...W | 0000b8c0 20 20 20 c9 20 73 5f 73 70 72 69 74 65 73 25 2c | . s_sprites%,| 0000b8d0 73 5f 64 72 61 77 25 3a f2 64 72 61 77 5f 70 69 |s_draw%:.draw_pi| 0000b8e0 63 74 75 72 65 28 61 64 72 25 21 34 2c 61 64 72 |cture(adr%!4,adr| 0000b8f0 25 21 38 2c 78 25 2c 79 25 2c 78 31 25 2d 78 25 |%!8,x%,y%,x1%-x%| 0000b900 2c 79 31 25 2d 79 25 2c 66 6c 61 67 73 25 29 0d |,y1%-y%,flags%).| 0000b910 06 d0 0a 20 20 20 20 20 cb 0d 06 d1 08 20 20 20 |... ..... | 0000b920 cd 0d 06 d2 1b 20 20 20 c8 99 20 67 65 74 72 25 |..... .. getr%| 0000b930 2c 2c 71 25 20 b8 20 6d 6f 72 65 25 0d 06 d3 06 |,,q% . more%....| 0000b940 20 ce 0d 06 d4 06 20 e1 0d 06 d5 04 0d 06 d6 20 | ..... ........ | 0000b950 20 dd f2 73 70 65 61 6b 5f 74 65 78 74 28 73 74 | ..speak_text(st| 0000b960 61 63 6b 25 2c 74 6f 6b 65 6e 25 29 0d 06 d7 18 |ack%,token%)....| 0000b970 20 73 70 65 61 6b 5f 74 6f 6b 65 6e 25 3d 74 6f | speak_token%=to| 0000b980 6b 65 6e 25 0d 06 d8 21 20 73 70 65 61 6b 5f 77 |ken%...! speak_w| 0000b990 6f 72 64 25 3d 30 3a 73 70 65 61 6b 5f 73 6f 75 |ord%=0:speak_sou| 0000b9a0 6e 64 25 3d 30 0d 06 d9 26 20 c8 99 20 67 65 74 |nd%=0...& .. get| 0000b9b0 65 6e 74 72 79 25 2c 73 74 61 63 6b 25 2c 74 6f |entry%,stack%,to| 0000b9c0 6b 65 6e 25 20 b8 20 61 64 72 25 0d 06 da 27 20 |ken% . adr%...' | 0000b9d0 c8 99 20 67 65 74 65 6e 74 72 79 25 2c 73 5f 74 |.. getentry%,s_t| 0000b9e0 65 78 74 25 2c 61 64 72 25 21 38 20 b8 20 61 64 |ext%,adr%!8 . ad| 0000b9f0 72 25 0d 06 db 13 20 73 70 74 65 78 74 25 3d 61 |r%.... sptext%=a| 0000ba00 64 72 25 2b 34 0d 06 dc 14 20 e7 20 3f 73 70 74 |dr%+4.... . ?spt| 0000ba10 65 78 74 25 3c 3e 30 20 8c 0d 06 dd 17 20 20 20 |ext%<>0 ..... | 0000ba20 73 70 65 61 6b 69 6e 67 5f 74 65 78 74 25 3d b9 |speaking_text%=.| 0000ba30 0d 06 de 1a 20 20 20 74 65 78 74 24 3d 22 22 3a |.... text$="":| 0000ba40 61 25 3d 73 70 74 65 78 74 25 0d 06 df 29 20 20 |a%=sptext%...) | 0000ba50 20 f5 3a 74 65 78 74 24 3d 74 65 78 74 24 2b bd | .:text$=text$+.| 0000ba60 28 3f 61 25 29 3a 61 25 2b 3d 31 3a fd 3f 61 25 |(?a%):a%+=1:.?a%| 0000ba70 3c 34 38 0d 06 e0 32 20 20 20 73 70 65 61 6b 5f |<48...2 speak_| 0000ba80 73 6f 75 6e 64 25 3d a4 6e 61 6d 65 5f 65 78 73 |sound%=.name_exs| 0000ba90 69 73 74 73 28 73 5f 73 6f 75 6e 64 73 25 2c 74 |ists(s_sounds%,t| 0000baa0 65 78 74 24 29 0d 06 e1 2a 20 20 20 f2 75 70 64 |ext$)...* .upd| 0000bab0 61 74 65 5f 6f 62 6a 65 63 74 28 73 74 61 63 6b |ate_object(stack| 0000bac0 25 2c 73 70 65 61 6b 5f 74 6f 6b 65 6e 25 29 0d |%,speak_token%).| 0000bad0 06 e2 06 20 cd 0d 06 e3 06 20 e1 0d 06 e4 04 0d |... ..... ......| 0000bae0 06 e5 14 20 dd f2 73 70 65 61 6b 69 6e 67 5f 74 |... ..speaking_t| 0000baf0 65 78 74 0d 06 e6 2c 20 c8 99 20 67 65 74 65 6e |ext..., .. geten| 0000bb00 74 72 79 25 2c 73 74 61 63 6b 25 2c 73 70 65 61 |try%,stack%,spea| 0000bb10 6b 5f 74 6f 6b 65 6e 25 20 b8 20 61 64 72 25 0d |k_token% . adr%.| 0000bb20 06 e7 27 20 c8 99 20 67 65 74 65 6e 74 72 79 25 |..' .. getentry%| 0000bb30 2c 73 5f 74 65 78 74 25 2c 61 64 72 25 21 38 20 |,s_text%,adr%!8 | 0000bb40 b8 20 61 64 72 25 0d 06 e8 13 20 73 70 74 65 78 |. adr%.... sptex| 0000bb50 74 25 3d 61 64 72 25 2b 34 0d 06 e9 06 20 f5 0d |t%=adr%+4.... ..| 0000bb60 06 ea 15 20 20 20 73 70 65 61 6b 5f 77 6f 72 64 |... speak_word| 0000bb70 25 2b 3d 31 0d 06 eb 1d 20 20 20 63 25 3d 73 70 |%+=1.... c%=sp| 0000bb80 65 61 6b 5f 77 6f 72 64 25 3f 73 70 74 65 78 74 |eak_word%?sptext| 0000bb90 25 0d 06 ec 1a 20 fd 63 25 3d 33 32 20 84 20 63 |%.... .c%=32 . c| 0000bba0 25 3d 31 33 20 84 20 63 25 3d 30 0d 06 ed 16 20 |%=13 . c%=0.... | 0000bbb0 e7 20 63 25 3d 33 32 20 84 20 63 25 3d 31 33 20 |. c%=32 . c%=13 | 0000bbc0 8c 0d 06 ee 08 20 20 20 f5 0d 06 ef 2d 20 20 20 |..... ....- | 0000bbd0 20 73 70 65 61 6b 5f 77 6f 72 64 25 2b 3d 31 3a | speak_word%+=1:| 0000bbe0 63 25 3d 73 70 65 61 6b 5f 77 6f 72 64 25 3f 73 |c%=speak_word%?s| 0000bbf0 70 74 65 78 74 25 0d 06 f0 14 20 20 20 fd 63 25 |ptext%.... .c%| 0000bc00 3e 33 32 20 84 20 63 25 3d 30 0d 06 f1 06 20 cd |>32 . c%=0.... .| 0000bc10 0d 06 f2 0e 20 e7 20 63 25 3c 3e 30 20 8c 0d 06 |.... . c%<>0 ...| 0000bc20 f3 26 20 20 20 74 65 78 74 24 3d 22 22 3a 61 25 |.& text$="":a%| 0000bc30 3d 73 70 65 61 6b 5f 77 6f 72 64 25 2b 73 70 74 |=speak_word%+spt| 0000bc40 65 78 74 25 0d 06 f4 29 20 20 20 f5 3a 74 65 78 |ext%...) .:tex| 0000bc50 74 24 3d 74 65 78 74 24 2b bd 28 3f 61 25 29 3a |t$=text$+.(?a%):| 0000bc60 61 25 2b 3d 31 3a fd 3f 61 25 3c 34 38 0d 06 f5 |a%+=1:.?a%<48...| 0000bc70 32 20 20 20 73 70 65 61 6b 5f 73 6f 75 6e 64 25 |2 speak_sound%| 0000bc80 3d a4 6e 61 6d 65 5f 65 78 73 69 73 74 73 28 73 |=.name_exsists(s| 0000bc90 5f 73 6f 75 6e 64 73 25 2c 74 65 78 74 24 29 0d |_sounds%,text$).| 0000bca0 06 f6 06 20 cd 0d 06 f7 1c 20 e7 20 63 25 3d 30 |... ..... . c%=0| 0000bcb0 20 73 70 65 61 6b 69 6e 67 5f 74 65 78 74 25 3d | speaking_text%=| 0000bcc0 a3 0d 06 f8 28 20 f2 75 70 64 61 74 65 5f 6f 62 |....( .update_ob| 0000bcd0 6a 65 63 74 28 73 74 61 63 6b 25 2c 73 70 65 61 |ject(stack%,spea| 0000bce0 6b 5f 74 6f 6b 65 6e 25 29 0d 06 f9 06 20 e1 0d |k_token%).... ..| 0000bcf0 06 fa 04 0d 06 fb 36 20 dd f2 68 69 67 68 6c 69 |......6 ..highli| 0000bd00 67 68 74 5f 74 65 78 74 28 73 74 61 63 6b 25 2c |ght_text(stack%,| 0000bd10 74 6f 6b 65 6e 25 2c 6f 66 66 78 25 2c 6f 66 66 |token%,offx%,off| 0000bd20 79 25 2c 77 6f 72 64 25 29 0d 06 fc 26 20 c8 99 |y%,word%)...& ..| 0000bd30 20 67 65 74 65 6e 74 72 79 25 2c 73 74 61 63 6b | getentry%,stack| 0000bd40 25 2c 74 6f 6b 65 6e 25 20 b8 20 61 64 72 25 0d |%,token% . adr%.| 0000bd50 06 fd 17 20 78 25 3d 28 61 64 72 25 21 31 32 29 |... x%=(adr%!12)| 0000bd60 2b 6f 66 66 78 25 0d 06 fe 17 20 79 25 3d 28 61 |+offx%.... y%=(a| 0000bd70 64 72 25 21 31 36 29 2b 6f 66 66 79 25 0d 06 ff |dr%!16)+offy%...| 0000bd80 22 20 78 31 25 3d 28 61 64 72 25 21 32 30 29 2d |" x1%=(adr%!20)-| 0000bd90 28 31 3c 3c 78 65 66 25 29 2b 6f 66 66 78 25 0d |(1<<xef%)+offx%.| 0000bda0 07 00 22 20 79 31 25 3d 28 61 64 72 25 21 32 34 |.." y1%=(adr%!24| 0000bdb0 29 2d 28 31 3c 3c 79 65 66 25 29 2b 6f 66 66 79 |)-(1<<yef%)+offy| 0000bdc0 25 0d 07 01 2e 20 66 6c 61 67 73 25 3d 61 64 72 |%.... flags%=adr| 0000bdd0 25 21 33 36 3a 66 6f 6e 74 25 3d 61 64 72 25 21 |%!36:font%=adr%!| 0000bde0 34 30 3a 62 5f 73 25 3d 61 64 72 25 21 33 32 0d |40:b_s%=adr%!32.| 0000bdf0 07 02 38 20 66 63 6f 6c 25 3d 61 64 72 25 21 35 |..8 fcol%=adr%!5| 0000be00 32 3a e7 20 66 63 6f 6c 25 20 80 20 26 46 46 20 |2:. fcol% . &FF | 0000be10 66 63 6f 6c 25 3d 64 65 66 61 75 6c 74 5f 70 61 |fcol%=default_pa| 0000be20 67 65 5f 63 6f 6c 25 0d 07 03 12 20 62 63 6f 6c |ge_col%.... bcol| 0000be30 25 3d 61 64 72 25 21 35 36 0d 07 04 3b 20 e7 20 |%=adr%!56...; . | 0000be40 66 6c 61 67 73 25 80 31 20 66 63 6f 6c 25 3d 66 |flags%.1 fcol%=f| 0000be50 63 6f 6c 25 82 26 46 46 46 46 46 46 30 30 3a 62 |col%.&FFFFFF00:b| 0000be60 63 6f 6c 25 3d 62 63 6f 6c 25 82 26 46 46 46 46 |col%=bcol%.&FFFF| 0000be70 46 46 30 30 0d 07 05 31 20 f2 64 72 61 77 5f 62 |FF00...1 .draw_b| 0000be80 6f 72 64 65 72 28 62 5f 73 25 2c 66 63 6f 6c 25 |order(b_s%,fcol%| 0000be90 2c 62 63 6f 6c 25 2c 78 25 2c 79 25 2c 78 31 25 |,bcol%,x%,y%,x1%| 0000bea0 2c 79 31 25 29 0d 07 06 12 20 78 25 2b 3d 28 31 |,y1%).... x%+=(1| 0000beb0 3c 3c 78 65 66 25 29 0d 07 07 13 20 78 31 25 2d |<<xef%).... x1%-| 0000bec0 3d 28 31 3c 3c 78 65 66 25 29 0d 07 08 12 20 79 |=(1<<xef%).... y| 0000bed0 25 2b 3d 28 31 3c 3c 79 65 66 25 29 0d 07 09 13 |%+=(1<<yef%)....| 0000bee0 20 79 31 25 2d 3d 28 31 3c 3c 79 65 66 25 29 0d | y1%-=(1<<yef%).| 0000bef0 07 0a 08 20 ea 20 85 0d 07 0b 16 20 ee 20 85 20 |... . ..... . . | 0000bf00 ea 20 f7 20 85 3a 66 6f 6e 74 25 3d 30 0d 07 0c |. . .:font%=0...| 0000bf10 0e 20 e7 20 66 6f 6e 74 25 20 8c 0d 07 0d 27 20 |. . font% ....' | 0000bf20 20 20 c8 99 20 67 65 74 65 6e 74 72 79 25 2c 73 | .. getentry%,s| 0000bf30 5f 66 6f 6e 74 73 25 2c 66 6f 6e 74 25 20 b8 20 |_fonts%,font% . | 0000bf40 74 25 0d 07 0e 31 20 20 20 c8 99 20 66 69 6e 64 |t%...1 .. find| 0000bf50 66 6f 6e 74 25 2c 2c 74 25 2b 34 2c 61 64 72 25 |font%,,t%+4,adr%| 0000bf60 21 34 34 2c 61 64 72 25 21 34 38 20 b8 20 66 6f |!44,adr%!48 . fo| 0000bf70 6e 74 25 0d 07 0f 06 20 cd 0d 07 10 0e 20 e7 20 |nt%.... ..... . | 0000bf80 66 6f 6e 74 25 20 8c 0d 07 11 20 20 20 20 e7 20 |font% .... . | 0000bf90 62 63 6f 6c 25 20 80 20 26 46 46 20 62 63 6f 6c |bcol% . &FF bcol| 0000bfa0 25 3d 66 63 6f 6c 25 0d 07 12 2e 20 20 20 c8 99 |%=fcol%.... ..| 0000bfb0 20 66 6f 6e 74 69 6e 66 6f 25 2c 66 6f 6e 74 25 | fontinfo%,font%| 0000bfc0 20 b8 20 2c 63 78 25 2c 63 79 25 2c 63 78 31 25 | . ,cx%,cy%,cx1%| 0000bfd0 2c 63 79 31 25 0d 07 13 06 20 cc 0d 07 14 3e 20 |,cy1%.... ....> | 0000bfe0 20 20 63 78 25 3d 2d 28 31 3c 3c 78 65 66 25 29 | cx%=-(1<<xef%)| 0000bff0 3a 63 79 25 3d 2d 28 31 3c 3c 79 65 66 25 29 3a |:cy%=-(1<<yef%):| 0000c000 63 78 31 25 3d 38 3c 3c 78 65 66 25 3a 63 79 31 |cx1%=8<<xef%:cy1| 0000c010 25 3d 38 3c 3c 79 65 66 25 0d 07 15 06 20 cd 0d |%=8<<yef%.... ..| 0000c020 07 16 16 20 74 65 78 74 5f 68 65 69 67 68 74 25 |... text_height%| 0000c030 3d 63 79 31 25 0d 07 17 28 20 c8 99 20 67 65 74 |=cy1%...( .. get| 0000c040 65 6e 74 72 79 25 2c 73 5f 74 65 78 74 25 2c 61 |entry%,s_text%,a| 0000c050 64 72 25 21 38 20 b8 20 74 65 78 74 25 0d 07 18 |dr%!8 . text%...| 0000c060 0d 20 74 65 78 74 25 2b 3d 34 0d 07 19 13 20 74 |. text%+=4.... t| 0000c070 65 78 74 5f 6f 66 66 73 65 74 25 3d 30 0d 07 1a |ext_offset%=0...| 0000c080 2c 20 70 78 25 3d 78 25 2b 6d 61 72 67 69 6e 25 |, px%=x%+margin%| 0000c090 3a 70 79 25 3d 79 31 25 2d 74 65 78 74 5f 68 65 |:py%=y1%-text_he| 0000c0a0 69 67 68 74 25 2b 63 79 25 0d 07 1b 24 20 63 65 |ight%+cy%...$ ce| 0000c0b0 6e 74 72 65 25 3d a3 3a 72 69 67 68 74 25 3d a3 |ntre%=.:right%=.| 0000c0c0 3a 75 6e 64 65 72 6c 69 6e 65 25 3d a3 0d 07 1c |:underline%=....| 0000c0d0 1b 20 e7 20 66 6c 61 67 73 25 20 80 20 38 20 63 |. . flags% . 8 c| 0000c0e0 65 6e 74 72 65 25 3d b9 0d 07 1d 1b 20 e7 20 66 |entre%=..... . f| 0000c0f0 6c 61 67 73 25 20 80 20 31 36 20 72 69 67 68 74 |lags% . 16 right| 0000c100 25 3d b9 0d 07 1e 1f 20 e7 20 66 6c 61 67 73 25 |%=..... . flags%| 0000c110 20 80 20 33 32 20 75 6e 64 65 72 6c 69 6e 65 25 | . 32 underline%| 0000c120 3d b9 0d 07 1f 06 20 f5 0d 07 20 1e 20 20 20 c8 |=..... ... . .| 0000c130 8e 20 74 65 78 74 5f 6f 66 66 73 65 74 25 3f 74 |. text_offset%?t| 0000c140 65 78 74 25 20 ca 0d 07 21 0d 20 20 20 20 20 c9 |ext% ...!. .| 0000c150 20 30 3a 0d 07 22 2f 20 20 20 20 20 c9 20 31 33 | 0:.."/ . 13| 0000c160 3a 70 79 25 2d 3d 74 65 78 74 5f 68 65 69 67 68 |:py%-=text_heigh| 0000c170 74 25 3a 74 65 78 74 5f 6f 66 66 73 65 74 25 2b |t%:text_offset%+| 0000c180 3d 31 0d 07 23 0a 20 20 20 20 20 7f 0d 07 24 2d |=1..#. ...$-| 0000c190 20 20 20 20 20 20 20 74 65 78 74 24 3d a4 73 74 | text$=.st| 0000c1a0 72 69 6e 67 30 28 74 65 78 74 25 2b 74 65 78 74 |ring0(text%+text| 0000c1b0 5f 6f 66 66 73 65 74 25 29 0d 07 25 1f 20 20 20 |_offset%)..%. | 0000c1c0 20 20 20 20 74 65 78 74 5f 6f 66 66 73 65 74 25 | text_offset%| 0000c1d0 2b 3d a9 74 65 78 74 24 0d 07 26 19 20 20 20 20 |+=.text$..&. | 0000c1e0 20 20 20 70 78 25 3d 78 25 2b 6d 61 72 67 69 6e | px%=x%+margin| 0000c1f0 25 0d 07 27 14 20 20 20 20 20 20 20 e7 20 66 6f |%..'. . fo| 0000c200 6e 74 25 20 8c 0d 07 28 40 20 20 20 20 20 20 20 |nt% ...(@ | 0000c210 20 20 c8 99 20 73 74 72 69 6e 67 77 69 64 74 68 | .. stringwidth| 0000c220 25 2c 2c 74 65 78 74 24 2c 31 3c 3c 33 30 2c 31 |%,,text$,1<<30,1| 0000c230 3c 3c 33 30 2c 2d 31 2c a9 74 65 78 74 24 20 b8 |<<30,-1,.text$ .| 0000c240 20 2c 2c 77 25 0d 07 29 26 20 20 20 20 20 20 20 | ,,w%..)& | 0000c250 20 20 c8 99 20 63 6f 6e 76 65 72 74 74 6f 6f 73 | .. converttoos| 0000c260 25 2c 2c 77 25 20 b8 20 2c 77 25 0d 07 2a 2d 20 |%,,w% . ,w%..*- | 0000c270 20 20 20 20 20 20 20 20 e7 20 63 65 6e 74 72 65 | . centre| 0000c280 25 20 70 78 25 3d 78 25 2b 28 78 31 25 2d 78 25 |% px%=x%+(x1%-x%| 0000c290 29 81 32 2d 77 25 81 32 0d 07 2b 28 20 20 20 20 |).2-w%.2..+( | 0000c2a0 20 20 20 20 20 e7 20 72 69 67 68 74 25 20 70 78 | . right% px| 0000c2b0 25 3d 78 31 25 2d 77 25 2d 6d 61 72 67 69 6e 25 |%=x1%-w%-margin%| 0000c2c0 0d 07 2c 37 20 20 20 20 20 20 20 20 20 e7 20 75 |..,7 . u| 0000c2d0 6e 64 65 72 6c 69 6e 65 25 20 75 6c 24 3d bd 28 |nderline% ul$=.(| 0000c2e0 32 35 29 2b bd 28 31 29 2b bd 28 31 36 29 20 8b |25)+.(1)+.(16) .| 0000c2f0 20 75 6c 24 3d 22 22 0d 07 2d 41 20 20 20 20 20 | ul$=""..-A | 0000c300 20 20 20 20 c8 99 20 22 43 6f 6c 6f 75 72 54 72 | .. "ColourTr| 0000c310 61 6e 73 5f 53 65 74 46 6f 6e 74 43 6f 6c 6f 75 |ans_SetFontColou| 0000c320 72 73 22 2c 66 6f 6e 74 25 2c 62 63 6f 6c 25 2c |rs",font%,bcol%,| 0000c330 66 63 6f 6c 25 2c 31 34 0d 07 2e 32 20 20 20 20 |fcol%,14...2 | 0000c340 20 20 20 20 20 c8 99 20 70 61 69 6e 74 25 2c 2c | .. paint%,,| 0000c350 75 6c 24 2b 74 65 78 74 24 2c 31 3c 3c 34 2c 70 |ul$+text$,1<<4,p| 0000c360 78 25 2c 70 79 25 2d 63 79 25 0d 07 2f 42 20 20 |x%,py%-cy%../B | 0000c370 20 20 20 20 20 20 20 e7 20 74 65 78 74 5f 6f 66 | . text_of| 0000c380 66 73 65 74 25 3e 77 6f 72 64 25 20 80 20 28 74 |fset%>word% . (t| 0000c390 65 78 74 5f 6f 66 66 73 65 74 25 2d a9 74 65 78 |ext_offset%-.tex| 0000c3a0 74 24 29 3c 3d 77 6f 72 64 25 20 8c 0d 07 30 2f |t$)<=word% ...0/| 0000c3b0 20 20 20 20 20 20 20 20 20 20 20 69 25 3d 77 6f | i%=wo| 0000c3c0 72 64 25 2d 28 74 65 78 74 5f 6f 66 66 73 65 74 |rd%-(text_offset| 0000c3d0 25 2d a9 28 74 65 78 74 24 29 29 0d 07 31 1c 20 |%-.(text$))..1. | 0000c3e0 20 20 20 20 20 20 20 20 20 20 6c 24 3d c0 74 65 | l$=.te| 0000c3f0 78 74 24 2c 69 25 29 0d 07 32 3c 20 20 20 20 20 |xt$,i%)..2< | 0000c400 20 20 20 20 20 20 c8 99 20 73 74 72 69 6e 67 77 | .. stringw| 0000c410 69 64 74 68 25 2c 2c 6c 24 2c 31 3c 3c 33 30 2c |idth%,,l$,1<<30,| 0000c420 31 3c 3c 33 30 2c 2d 31 2c a9 6c 24 20 b8 20 2c |1<<30,-1,.l$ . ,| 0000c430 2c 77 25 0d 07 33 28 20 20 20 20 20 20 20 20 20 |,w%..3( | 0000c440 20 20 c8 99 20 63 6f 6e 76 65 72 74 74 6f 6f 73 | .. converttoos| 0000c450 25 2c 2c 77 25 20 b8 20 2c 77 25 0d 07 34 16 20 |%,,w% . ,w%..4. | 0000c460 20 20 20 20 20 20 20 20 20 20 70 78 25 2b 3d 77 | px%+=w| 0000c470 25 0d 07 35 24 20 20 20 20 20 20 20 20 20 20 20 |%..5$ | 0000c480 72 24 3d c2 74 65 78 74 24 2c a9 74 65 78 74 24 |r$=.text$,.text$| 0000c490 2d a9 6c 24 29 0d 07 36 2a 20 20 20 20 20 20 20 |-.l$)..6* | 0000c4a0 20 20 20 20 e7 20 a7 72 24 2c 22 20 22 29 20 72 | . .r$," ") r| 0000c4b0 24 3d c0 72 24 2c a7 72 24 2c 22 20 22 29 29 0d |$=.r$,.r$," ")).| 0000c4c0 07 37 57 20 20 20 20 20 20 20 20 20 20 20 c8 99 |.7W ..| 0000c4d0 20 22 43 6f 6c 6f 75 72 54 72 61 6e 73 5f 53 65 | "ColourTrans_Se| 0000c4e0 74 46 6f 6e 74 43 6f 6c 6f 75 72 73 22 2c 66 6f |tFontColours",fo| 0000c4f0 6e 74 25 2c 62 63 6f 6c 25 82 26 46 46 46 46 46 |nt%,bcol%.&FFFFF| 0000c500 46 30 30 2c 66 63 6f 6c 25 82 26 46 46 46 46 46 |F00,fcol%.&FFFFF| 0000c510 46 30 30 2c 31 34 0d 07 38 31 20 20 20 20 20 20 |F00,14..81 | 0000c520 20 20 20 20 20 c8 99 20 70 61 69 6e 74 25 2c 2c | .. paint%,,| 0000c530 75 6c 24 2b 72 24 2c 31 3c 3c 34 2c 70 78 25 2c |ul$+r$,1<<4,px%,| 0000c540 70 79 25 2d 63 79 25 0d 07 39 0e 20 20 20 20 20 |py%-cy%..9. | 0000c550 20 20 20 20 cd 0d 07 3a 0c 20 20 20 20 20 20 20 | ...:. | 0000c560 cc 0d 07 3b 1b 20 20 20 20 20 20 20 20 20 77 25 |...;. w%| 0000c570 3d a9 74 65 78 74 24 2a 63 78 31 25 0d 07 3c 2d |=.text$*cx1%..<-| 0000c580 20 20 20 20 20 20 20 20 20 e7 20 63 65 6e 74 72 | . centr| 0000c590 65 25 20 70 78 25 3d 78 25 2b 28 78 31 25 2d 78 |e% px%=x%+(x1%-x| 0000c5a0 25 29 81 32 2d 77 25 81 32 0d 07 3d 28 20 20 20 |%).2-w%.2..=( | 0000c5b0 20 20 20 20 20 20 e7 20 72 69 67 68 74 25 20 70 | . right% p| 0000c5c0 78 25 3d 78 31 25 2d 77 25 2d 6d 61 72 67 69 6e |x%=x1%-w%-margin| 0000c5d0 25 0d 07 3e 33 20 20 20 20 20 20 20 20 20 c8 99 |%..>3 ..| 0000c5e0 20 73 65 74 63 6f 6c 25 2c 66 63 6f 6c 25 3a ec | setcol%,fcol%:.| 0000c5f0 20 70 78 25 2c 70 79 25 2b 63 79 31 25 3a f1 74 | px%,py%+cy1%:.t| 0000c600 65 78 74 24 0d 07 3f 38 20 20 20 20 20 20 20 20 |ext$..?8 | 0000c610 20 e7 20 75 6e 64 65 72 6c 69 6e 65 25 20 ec 20 | . underline% . | 0000c620 70 78 25 2c 70 79 25 2d 63 79 25 3a f0 31 2c 63 |px%,py%-cy%:.1,c| 0000c630 78 31 25 2a a9 74 65 78 74 24 2c 30 0d 07 40 42 |x1%*.text$,0..@B| 0000c640 20 20 20 20 20 20 20 20 20 e7 20 74 65 78 74 5f | . text_| 0000c650 6f 66 66 73 65 74 25 3e 77 6f 72 64 25 20 80 20 |offset%>word% . | 0000c660 28 74 65 78 74 5f 6f 66 66 73 65 74 25 2d a9 74 |(text_offset%-.t| 0000c670 65 78 74 24 29 3c 3d 77 6f 72 64 25 20 8c 0d 07 |ext$)<=word% ...| 0000c680 41 2f 20 20 20 20 20 20 20 20 20 20 20 69 25 3d |A/ i%=| 0000c690 77 6f 72 64 25 2d 28 74 65 78 74 5f 6f 66 66 73 |word%-(text_offs| 0000c6a0 65 74 25 2d a9 28 74 65 78 74 24 29 29 0d 07 42 |et%-.(text$))..B| 0000c6b0 1c 20 20 20 20 20 20 20 20 20 20 20 6c 24 3d c0 |. l$=.| 0000c6c0 74 65 78 74 24 2c 69 25 29 0d 07 43 22 20 20 20 |text$,i%)..C" | 0000c6d0 20 20 20 20 20 20 20 20 77 25 3d a9 6c 24 2a 63 | w%=.l$*c| 0000c6e0 78 31 25 3a 70 78 25 2b 3d 77 25 0d 07 44 24 20 |x1%:px%+=w%..D$ | 0000c6f0 20 20 20 20 20 20 20 20 20 20 72 24 3d c2 74 65 | r$=.te| 0000c700 78 74 24 2c a9 74 65 78 74 24 2d a9 6c 24 29 0d |xt$,.text$-.l$).| 0000c710 07 45 2a 20 20 20 20 20 20 20 20 20 20 20 e7 20 |.E* . | 0000c720 a7 72 24 2c 22 20 22 29 20 72 24 3d c0 72 24 2c |.r$," ") r$=.r$,| 0000c730 a7 72 24 2c 22 20 22 29 29 0d 07 46 3c 20 20 20 |.r$," "))..F< | 0000c740 20 20 20 20 20 20 20 20 c8 99 20 73 65 74 63 6f | .. setco| 0000c750 6c 25 2c 66 63 6f 6c 25 82 26 46 46 46 46 30 30 |l%,fcol%.&FFFF00| 0000c760 30 30 3a ec 20 70 78 25 2c 70 79 25 2b 63 79 31 |00:. px%,py%+cy1| 0000c770 25 3a f1 72 24 0d 07 47 37 20 20 20 20 20 20 20 |%:.r$..G7 | 0000c780 20 20 20 20 e7 20 75 6e 64 65 72 6c 69 6e 65 25 | . underline%| 0000c790 20 ec 20 70 78 25 2c 70 79 25 2d 63 79 25 3a f0 | . px%,py%-cy%:.| 0000c7a0 31 2c 63 78 31 25 2a a9 72 24 2c 30 0d 07 48 0e |1,cx1%*.r$,0..H.| 0000c7b0 20 20 20 20 20 20 20 20 20 cd 0d 07 49 0c 20 20 | ...I. | 0000c7c0 20 20 20 20 20 cd 0d 07 4a 08 20 20 20 cb 0d 07 | ...J. ...| 0000c7d0 4b 1b 20 fd 20 74 65 78 74 5f 6f 66 66 73 65 74 |K. . text_offset| 0000c7e0 25 3f 74 65 78 74 25 3d 30 0d 07 4c 1f 20 e7 20 |%?text%=0..L. . | 0000c7f0 66 6f 6e 74 25 20 c8 99 20 6c 6f 73 65 66 6f 6e |font% .. losefon| 0000c800 74 25 2c 66 6f 6e 74 25 0d 07 4d 06 20 e1 0d 07 |t%,font%..M. ...| 0000c810 4e 04 0d 07 4f 21 20 dd f2 62 65 67 69 6e 5f 73 |N...O! ..begin_s| 0000c820 61 76 65 28 6f 62 6a 65 63 74 25 2c 73 6f 75 6e |ave(object%,soun| 0000c830 64 25 29 0d 07 50 1d 20 21 71 25 3d 6d 61 69 6e |d%)..P. !q%=main| 0000c840 5f 77 25 3a c8 99 20 67 65 74 77 25 2c 2c 71 25 |_w%:.. getw%,,q%| 0000c850 0d 07 51 2b 20 6f 66 66 78 25 3d 28 71 25 21 34 |..Q+ offx%=(q%!4| 0000c860 2d 71 25 21 32 30 29 3a 6f 66 66 79 25 3d 28 71 |-q%!20):offy%=(q| 0000c870 25 21 31 36 2d 71 25 21 32 34 29 0d 07 52 27 20 |%!16-q%!24)..R' | 0000c880 c8 99 20 67 65 74 65 6e 74 72 79 25 2c 73 74 61 |.. getentry%,sta| 0000c890 63 6b 25 2c 6f 62 6a 65 63 74 25 20 b8 20 61 64 |ck%,object% . ad| 0000c8a0 72 25 0d 07 53 36 20 69 78 25 3d 61 64 72 25 21 |r%..S6 ix%=adr%!| 0000c8b0 31 32 3a 69 79 25 3d 61 64 72 25 21 31 36 3a 69 |12:iy%=adr%!16:i| 0000c8c0 78 31 25 3d 61 64 72 25 21 32 30 3a 69 79 31 25 |x1%=adr%!20:iy1%| 0000c8d0 3d 61 64 72 25 21 32 34 0d 07 54 0f 20 e7 20 73 |=adr%!24..T. . s| 0000c8e0 6f 75 6e 64 25 20 8c 0d 07 55 12 20 20 20 e7 20 |ound% ...U. . | 0000c8f0 61 64 72 25 21 32 38 20 8c 0d 07 56 2e 20 20 20 |adr%!28 ...V. | 0000c900 20 20 c8 99 20 67 65 74 65 6e 74 72 79 25 2c 73 | .. getentry%,s| 0000c910 5f 63 6c 69 63 6b 73 25 2c 61 64 72 25 21 32 38 |_clicks%,adr%!28| 0000c920 20 b8 20 61 64 72 25 0d 07 57 14 20 20 20 20 20 | . adr%..W. | 0000c930 e7 20 61 64 72 25 21 32 30 20 8c 0d 07 58 2f 20 |. adr%!20 ...X/ | 0000c940 20 20 20 20 20 20 c8 99 20 67 65 74 65 6e 74 72 | .. getentr| 0000c950 79 25 2c 73 5f 6d 6f 75 73 65 25 2c 61 64 72 25 |y%,s_mouse%,adr%| 0000c960 21 32 30 20 b8 20 61 64 72 25 0d 07 59 17 20 20 |!20 . adr%..Y. | 0000c970 20 20 20 20 20 e7 20 61 64 72 25 21 38 3d 35 20 | . adr%!8=5 | 0000c980 8c 0d 07 5a 20 20 20 20 20 20 20 20 20 20 64 72 |...Z dr| 0000c990 61 67 5f 73 6f 75 6e 64 25 3d 61 64 72 25 21 31 |ag_sound%=adr%!1| 0000c9a0 32 0d 07 5b 45 20 20 20 20 20 20 20 20 20 f2 73 |2..[E .s| 0000c9b0 74 61 72 74 5f 64 72 61 67 28 33 2c 69 78 25 2b |tart_drag(3,ix%+| 0000c9c0 6f 66 66 78 25 2c 69 79 25 2b 6f 66 66 79 25 2c |offx%,iy%+offy%,| 0000c9d0 69 78 31 25 2b 6f 66 66 78 25 2c 69 79 31 25 2b |ix1%+offx%,iy1%+| 0000c9e0 6f 66 66 79 25 29 0d 07 5c 0c 20 20 20 20 20 20 |offy%)..\. | 0000c9f0 20 cd 0d 07 5d 0a 20 20 20 20 20 cd 0d 07 5e 08 | ...]. ...^.| 0000ca00 20 20 20 cd 0d 07 5f 06 20 cc 0d 07 60 19 20 20 | ..._. ...`. | 0000ca10 20 e7 20 61 64 72 25 21 34 3d 73 5f 74 65 78 74 | . adr%!4=s_text| 0000ca20 25 20 8c 0d 07 61 31 20 20 20 20 20 64 72 61 67 |% ...a1 drag| 0000ca30 5f 70 74 79 70 65 25 3d 73 5f 74 65 78 74 25 3a |_ptype%=s_text%:| 0000ca40 64 72 61 67 5f 70 69 63 74 75 72 65 25 3d 61 64 |drag_picture%=ad| 0000ca50 72 25 21 38 0d 07 62 41 20 20 20 20 20 f2 73 74 |r%!8..bA .st| 0000ca60 61 72 74 5f 64 72 61 67 28 32 2c 69 78 25 2b 6f |art_drag(2,ix%+o| 0000ca70 66 66 78 25 2c 69 79 25 2b 6f 66 66 79 25 2c 69 |ffx%,iy%+offy%,i| 0000ca80 78 31 25 2b 6f 66 66 78 25 2c 69 79 31 25 2b 6f |x1%+offx%,iy1%+o| 0000ca90 66 66 79 25 29 0d 07 63 08 20 20 20 cc 0d 07 64 |ffy%)..c. ...d| 0000caa0 31 20 20 20 20 20 64 72 61 67 5f 70 74 79 70 65 |1 drag_ptype| 0000cab0 25 3d 61 64 72 25 21 34 3a 64 72 61 67 5f 70 69 |%=adr%!4:drag_pi| 0000cac0 63 74 75 72 65 25 3d 6f 62 6a 65 63 74 25 0d 07 |cture%=object%..| 0000cad0 65 41 20 20 20 20 20 f2 73 74 61 72 74 5f 64 72 |eA .start_dr| 0000cae0 61 67 28 34 2c 69 78 25 2b 6f 66 66 78 25 2c 69 |ag(4,ix%+offx%,i| 0000caf0 79 25 2b 6f 66 66 79 25 2c 69 78 31 25 2b 6f 66 |y%+offy%,ix1%+of| 0000cb00 66 78 25 2c 69 79 31 25 2b 6f 66 66 79 25 29 0d |fx%,iy1%+offy%).| 0000cb10 07 66 08 20 20 20 cd 0d 07 67 06 20 cd 0d 07 68 |.f. ...g. ...h| 0000cb20 06 20 e1 0d 07 69 04 0d 07 6a 14 20 dd f2 74 72 |. ...i...j. ..tr| 0000cb30 79 5f 75 73 65 72 5f 64 72 61 67 0d 07 6b 11 20 |y_user_drag..k. | 0000cb40 f2 67 65 74 5f 70 6f 69 6e 74 65 72 0d 07 6c 18 |.get_pointer..l.| 0000cb50 20 e7 20 68 61 6e 64 6c 65 25 3d 6d 61 69 6e 5f | . handle%=main_| 0000cb60 77 25 20 e1 0d 07 6d 1e 20 71 25 21 32 30 3d 68 |w% ...m. q%!20=h| 0000cb70 61 6e 64 6c 65 25 3a 71 25 21 32 34 3d 69 63 6f |andle%:q%!24=ico| 0000cb80 6e 25 0d 07 6e 20 20 71 25 21 32 38 3d 6d 6f 75 |n%..n q%!28=mou| 0000cb90 73 65 78 25 3a 71 25 21 33 32 3d 6d 6f 75 73 65 |sex%:q%!32=mouse| 0000cba0 79 25 0d 07 6f 1a 20 71 25 21 33 36 3d 73 70 72 |y%..o. q%!36=spr| 0000cbb0 69 74 65 5f 73 69 7a 65 25 2d 32 34 0d 07 70 0b |ite_size%-24..p.| 0000cbc0 20 21 71 25 3d 35 36 0d 07 71 14 20 c8 8e 20 64 | !q%=56..q. .. d| 0000cbd0 72 61 67 5f 74 79 70 65 25 20 ca 0d 07 72 19 20 |rag_type% ...r. | 0000cbe0 20 20 20 c9 20 32 3a f4 20 73 61 76 69 6e 67 20 | . 2:. saving | 0000cbf0 74 65 78 74 0d 07 73 16 20 20 20 20 20 20 73 61 |text..s. sa| 0000cc00 76 65 24 3d 22 74 65 78 74 22 0d 07 74 19 20 20 |ve$="text"..t. | 0000cc10 20 20 20 20 66 69 6c 65 5f 74 79 70 65 25 3d 26 | file_type%=&| 0000cc20 46 46 46 0d 07 75 1a 20 20 20 20 c9 20 33 3a f4 |FFF..u. . 3:.| 0000cc30 20 73 61 76 69 6e 67 20 73 6f 75 6e 64 0d 07 76 | saving sound..v| 0000cc40 33 20 20 20 20 20 20 c8 99 20 67 65 74 65 6e 74 |3 .. getent| 0000cc50 72 79 25 2c 73 5f 73 6f 75 6e 64 73 25 2c 64 72 |ry%,s_sounds%,dr| 0000cc60 61 67 5f 73 6f 75 6e 64 25 20 b8 20 61 64 72 25 |ag_sound% . adr%| 0000cc70 0d 07 77 20 20 20 20 20 20 20 73 61 76 65 24 3d |..w save$=| 0000cc80 a4 73 74 72 69 6e 67 30 28 61 64 72 25 2b 34 29 |.string0(adr%+4)| 0000cc90 0d 07 78 19 20 20 20 20 20 20 66 69 6c 65 5f 74 |..x. file_t| 0000cca0 79 70 65 25 3d 26 44 33 43 0d 07 79 1c 20 20 20 |ype%=&D3C..y. | 0000ccb0 20 c9 20 34 3a f4 20 73 61 76 69 6e 67 20 70 69 | . 4:. saving pi| 0000ccc0 63 74 75 72 65 0d 07 7a 37 20 20 20 20 20 20 c8 |cture..z7 .| 0000ccd0 99 20 67 65 74 65 6e 74 72 79 25 2c 64 72 61 67 |. getentry%,drag| 0000cce0 5f 70 74 79 70 65 25 2c 64 72 61 67 5f 70 69 63 |_ptype%,drag_pic| 0000ccf0 74 75 72 65 25 20 b8 20 61 64 72 25 0d 07 7b 20 |ture% . adr%..{ | 0000cd00 20 20 20 20 20 20 73 61 76 65 24 3d a4 73 74 72 | save$=.str| 0000cd10 69 6e 67 30 28 61 64 72 25 2b 34 29 0d 07 7c 44 |ing0(adr%+4)..|D| 0000cd20 20 20 20 20 20 20 e7 20 64 72 61 67 5f 70 74 79 | . drag_pty| 0000cd30 70 65 25 3d 73 5f 73 70 72 69 74 65 73 25 20 66 |pe%=s_sprites% f| 0000cd40 69 6c 65 5f 74 79 70 65 25 3d 26 46 46 39 20 8b |ile_type%=&FF9 .| 0000cd50 20 66 69 6c 65 5f 74 79 70 65 25 3d 26 41 46 46 | file_type%=&AFF| 0000cd60 0d 07 7d 08 20 20 20 cb 0d 07 7e 17 20 20 20 71 |..}. ...~. q| 0000cd70 25 21 34 30 3d 66 69 6c 65 5f 74 79 70 65 25 0d |%!40=file_type%.| 0000cd80 07 7f 1c 20 20 20 f2 73 74 72 69 6e 67 30 28 71 |... .string0(q| 0000cd90 25 2b 34 34 2c 73 61 76 65 24 29 0d 07 80 19 20 |%+44,save$).... | 0000cda0 20 20 71 25 21 31 32 3d 71 25 21 38 3a 71 25 21 | q%!12=q%!8:q%!| 0000cdb0 31 36 3d 31 0d 07 81 3a 20 20 20 c8 99 20 73 65 |16=1...: .. se| 0000cdc0 6e 64 6d 65 73 73 61 67 65 25 2c 31 37 2c 71 25 |ndmessage%,17,q%| 0000cdd0 2c 68 61 6e 64 6c 65 25 2c 69 63 6f 6e 25 3a f4 |,handle%,icon%:.| 0000cde0 20 73 65 6e 64 20 64 61 74 61 73 61 76 65 0d 07 | send datasave..| 0000cdf0 82 12 20 20 20 6d 79 72 65 66 25 3d 71 25 21 38 |.. myref%=q%!8| 0000ce00 0d 07 83 0d 20 20 20 44 4d 54 25 3d 30 0d 07 84 |.... DMT%=0...| 0000ce10 11 20 20 20 44 4d 54 5f 70 74 72 25 3d 30 0d 07 |. DMT_ptr%=0..| 0000ce20 85 06 20 cb 0d 07 86 06 20 e1 0d ff |.. ..... ...| 0000ce2c