Home » Archimedes archive » Acorn Computing » 1994 06 subscription disc.adf » 9406s » PD/ClownPlay/!ClownPlay/!RunImage
PD/ClownPlay/!ClownPlay/!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 Computing » 1994 06 subscription disc.adf » 9406s |
Filename: | PD/ClownPlay/!ClownPlay/!RunImage |
Read OK: | ✔ |
File size: | 47B8 bytes |
Load address: | 0000 |
Exec address: | 0000 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Archimedes archive » Acorn Computing » 1994 06 subscription disc.adf » 9406s » PD/ClownPlay/!ClownPlay/!RunImage
- Archimedes archive » Acorn Computing » 1994 05 subscription disc.adf » 9405s » Miscellany/Clown/!ClownPlay/!RunImage
File contents
30*| Program: ClownPlay 40*| Purpose: Play Coconizer TrakFiles 50*| Author: Gareth Boden 60*| Copyright: HeadFirst Public Domain 1993 70ONERRORVDU4,30:PRINTREPORT$;" (Internal error code ";ERL;")":END 90DIM path%256:SYS131107,"ClownPlay$Dir",path%,256,0,0 TO,,len%:IF len%=0 ERROR 0,"<ClownPlay$Dir> too long or non-existent" 130path%?len%=13:path$=$path%:resource$=path$+".Resources":rmstore$=path$+".RMStore":SYS16 TO env$:env$=MID$(env$,INSTR(env$,"""",INSTR(env$,"""")+1)+1):WHILELEFT$(env$,1)=" ":env$=MID$(env$,2):ENDWHILE:PROCmsg_initialise(resource$+".Messages") 200version$=FNmsg_0("VER"):SYS262336,200,&4B534154,"ClownPlay" TO wimp_ver%,task_hnd%:DIM poll_blk%255:ONERROROFF 250IF wimp_ver%<200 THENERROR 0,FNmsg0("ERR0") 260SYS"WimpExt_Initialise",5,task_hnd%,%0011010 TO wimpext_ver%:IF wimpext_ver%<167 THENERROR 0,FNmsg0("ERR1") 290PROCheapinit:IF wimp_ver%>=300 THENPROCmultiplecheck 320SYS263872:ONERRORPROCerror(REPORT$+FNinterr(ERL)):quit%=-2:PROCpoll 360PROCloadsprites:DIM winhandle%7*4-1,temp_buf%&2000,ind_buf%&1000:FOR i%=0 TO 7*4-1 STEP4:winhandle%!i%=0:NEXTi%:winhandle%!8=%01:winhandle%!12=%01 400SYS"WimpExt_LoadTemplates",winhandle%,temp_buf%,ind_buf%,ind_buf%+&1000,-1,resource$+".Templates",sprite_area%:w_info%=winhandle%!0:w_save%=winhandle%!4:w_main%=winhandle%!8:w_list%=winhandle%!12:quit%=FALSE:drag%=FALSE 470ONERRORPROCerror(REPORT$+FNinterr(ERL)):PROCpoll 480icon_hnd%=FNiconbar("!clownplay"):PROCiconstr(w_info%,3,version$):PROCinit:IF env$<>"" THEN 540SYS8,17,env$ TO,,load%:load%=(load%>>8)AND&FFFFFF:IF load%<>&FFF365 THEN 570SYS"WimpExt_ControlImmediate",,2,FNmsg_0("Q"),FNmsg_0("Q0"),FNmsg_0("Y")+CHR$0+FNmsg_0("N")+STRING$(3,CHR$0),1 TO icon%:IF icon%=0 THEN load%=&FFF365 590ENDIF:IF load%=&FFF365 THEN 610numtraks%+=1:trakfile$(numtraks%)=env$:trakstat%(numtraks%)=1:PROCupdateinfo(numtraks%):PROCplay 660ENDIF 670ENDIF:SYS263873:PROCpoll:END 720DEFPROCloadsprites:LOCAL spritesuff%,spritesuff$,nx%,ny%,bpp%,exists%,ssize%:IF wimp_ver%>=300 THEN 760SYS262386,2 TO spritesuff%:spritesuff$=FNzerostr(spritesuff%) 780ELSE:SYS53,-1,4 TO,,nx%:SYS53,-1,5 TO,,ny%:SYS53,-1,9 TO,,bpp%:spritesuff$=STR$(1<<nx%)+STR$(1<<ny%):IF bpp%=0 AND spritesuff$="22" THEN spritesuff$="23" 840ENDIF:IFNOTFNexists(resource$+".Sprites"+spritesuff$)THEN spritesuff$="" 860ssize%=FNlength(resource$+".Sprites"+spritesuff$)+4:DIM sprite_area%ssize%:sprite_area%!0=ssize%:sprite_area%!8=16:SYS46,256+9,sprite_area%:SYS46,256+10,sprite_area%,resource$+".Sprites"+spritesuff$ 910SYS262377,11,,resource$+".WimpSprite":ENDPROC 940DEFFNiconbar(name$):LOCAL icon_hnd%:SYS"WimpExt_IconBarSprite",,,-1,name$,,3 TO icon_hnd%:=icon_hnd% 990DEFPROCiconstr(hnd%,icon%,str$):SYS"WimpExt_SetIconString",,,hnd%,icon%,str$:ENDPROC 1030DEFPROCiconstrn(hnd%,icon%,str$):SYS"WimpExt_SetIconStringN",,,hnd%,icon%,str$:ENDPROC 1070DEFPROCiconnum(hnd%,icon%,num%):SYS"WimpExt_SetNumberIcon",,,hnd%,icon%,num%:ENDPROC 1110DEFFNgis(hnd%,icon%):LOCAL p%:SYS"WimpExt_GetIcon",,,hnd%,icon%TO,,,p%:=FNzerostr(p%) 1160DEFPROCpoll:LOCAL reason%:WHILE quit%=FALSE:SYS"WimpExt_PrePoll":SYS262343,%11100000110000,poll_blk%TO reason%,poll_blk%:SYS"WimpExt_Action",task_hnd%,poll_blk%,reason%TO reason%:CASE reason%OF 1230WHEN 0:IF (playstat%AND3)=1 THENPROCnullupdate 1240IF drag%THEN 1250SYS262351,,poll_blk%:volume%=255-((poll_blk%!4-dragmin%)/(dragmax%-dragmin%))*255:PROCsetvolume(volume%) 1280ENDIF 1290WHEN 1:SYS"WimpExt_AutoRedraw",,poll_blk% 1300WHEN 2:SYS262341,,poll_blk% 1310WHEN 3:SYS262342,,poll_blk% 1320WHEN 6:PROCmouseclick(!poll_blk%,poll_blk%!4,poll_blk%!8,poll_blk%!12,poll_blk%!16) 1330WHEN 7:drag%=FALSE:volume%=255-((poll_blk%!4-dragmin%)/(dragmax%-dragmin%))*255:PROCsetvolume(volume%) 1340WHEN 8:PROCkeypress(!poll_blk%,poll_blk%!4,poll_blk%!24) 1350WHEN 9:PROCmenuselect(poll_blk%) 1360WHEN 17,18:PROCusermessage(poll_blk%) 1370WHEN 19:PROCack(poll_blk%) 1380ENDCASE:ENDWHILE:IF quit%=TRUETHEN 1410IFFNcheckkill SYS30,4,"CoconizerPlayer" 1420ELSE:SYS30,4,"CoconizerPlayer" 1440ENDIF:SYS"WimpExt_CloseDown",task_hnd%:SYS262365:END:ENDPROC 1500DEFPROCmakemenus:m_mainp%=FNmenu(FNmsg_0("MEN0")):ENDPROC 1540DEFFNmenu(menu$):LOCAL items%,submenu%,vald$,newname$,m_off%,last%,message%,i%,j%,itemoff%,length%,vlen%,menblk%,menblkp%:items%=0:submenu%=0:FOR i%=1 TOLEN(menu$):CASEMID$(menu$,i%,1)OF 1590WHEN ",":IF submenu%=0 THEN items%+=1 1600WHEN ">":submenu%+=1 1610WHEN "^":submenu%-=1 1620ENDCASE:NEXT:menu$+=",":menblkp%=FNmalloc(28+24*items%):menblk%=!menblkp%:$menblk%=LEFT$(menu$,INSTR(menu$,",")-1):menblk%!12=&070207:menblk%!16=13*16:menblk%!20=44:menblk%!24=0:itemoff%=INSTR(menu$,",")+1:FOR i%=0 TO items%-1:last%=FALSE:message%=FALSE 1740IFMID$(menu$,itemoff%,1)="~" THEN last%=TRUE:itemoff%+=1 1750item$=MID$(menu$,itemoff%,INSTR(menu$,",",itemoff%)-itemoff%):IFINSTR(item$,">")THEN 1770newname$=MID$(menu$,itemoff%,INSTR(menu$,">",itemoff%)-itemoff%)+",":submenu%=0:j%=INSTR(menu$,">",itemoff%)+1:IFMID$(menu$,j%,1)="*"message%=TRUE:j%+=1 1790REPEAT:j%+=1:IFMID$(menu$,j%,1)=">"submenu%+=1 1820IFMID$(menu$,j%,1)="^"submenu%-=1 1830UNTIL submenu%<0:newname$+=MID$(menu$,INSTR(menu$,">",itemoff%)+1,j%-INSTR(menu$,">",itemoff%)-1):m_off%=!FNmenu(newname$):!(menblk%+28+24*i%)=%10000-%1000*message%-%10000000*last%:!(menblk%+32+24*i%)=m_off%:!(menblk%+36+24*i%)=&07009011 1890$(menblk%+40+24*i%)=MID$(menu$,itemoff%,INSTR(menu$,">",itemoff%)-itemoff%):itemoff%=j%+2 1910ELSE:newname$=MID$(menu$,itemoff%,INSTR(menu$,",",itemoff%)-itemoff%):IFLEFT$(newname$,1)="~"last%=TRUE 1940IFINSTR(newname$,"#")THEN 1950IFMID$(newname$,INSTR(newname$,"#")+1,1)="*"message%=TRUE 1960!(menblk%+28+24*i%)=%10000-%1000*message%-%10000000*last%:!(menblk%+32+24*i%)=EVAL("w_"+MID$(newname$,INSTR(newname$,"#")+1-message%)+"%"):!(menblk%+36+24*i%)=&07009011:$(menblk%+40+24*i%)=LEFT$(newname$,INSTR(newname$,"#")-1) 2000ELSE:IFASC(newname$)=ASC"@" THEN 2020vald$=MID$(newname$,INSTR(newname$,"\")+1):newname$=LEFT$(newname$,INSTR(newname$,"\")-1):length%=LEN(newname$):m_off%=!FNmalloc(length%+1):$m_off%=CHR$0:!(menblk%+28+24*i%)=%10100-128*last%:!(menblk%+32+24*i%)=-1:!(menblk%+36+24*i%)=&07009111 2100!(menblk%+40+24*i%)=m_off%:vlen%=LEN(vald$):m_off%=!FNmalloc(vlen%+2):$m_off%=vald$+CHR$0:!(menblk%+44+24*i%)=m_off%:!(menblk%+48+24*i%)=length%+1 2150ELSE:!(menblk%+28+24*i%)=%10000-128*last%:!(menblk%+32+24*i%)=-1:!(menblk%+36+24*i%)=&07009011:$(menblk%+40+24*i%)=newname$ 2200ENDIF 2210ENDIF:itemoff%+=LEN(newname$)+1 2230ENDIF:NEXT:=menblkp% 2270DEFPROCmouseclick(x%,y%,but%,hnd%,icon%):LOCAL i%:IF but%ELSEENDPROC 2300CASE hnd%OF 2310WHEN-2:CASE but%OF 2330WHEN 4:PROCopenwindow(w_main%) 2350WHEN 1:PROCopenwindow(w_list%) 2370WHEN 2:SYS"WimpExt_CreateMenu",,!m_mainp%,x%-44,68+4*44+28:currmenu%=m_mainp% 2390ENDCASE 2400WHEN w_main%:CASE icon%OF 2420WHEN 31:PROCtrew 2430WHEN 32:PROCrew 2440WHEN 33:PROCplay 2450WHEN 34:PROCffwd 2460WHEN 35:PROCtfwd 2470WHEN 36:PROCpause 2480WHEN 37:PROCstop 2490WHEN 38:PROCeject 2500WHEN 44:PROCfadein 2510WHEN 45:PROCfadeout 2520WHEN 46,47:IF but%=4*16 THENPROCdragvolume 2530ENDCASE 2540ENDCASE:ENDPROC 2570DEFPROCplay:IF numtraks%>0 AND (playstat%AND3)<>1 THEN 2590IF currtrak%=0 THEN 2600currtrak%=1:SYS"XCoco_ReleaseRMA":SYS"XCoco_LoadTrack",trakfile$(1),0 TO;flags%:IF flags%<>6 THEN 2640trakstat%(currtrak%)=-1:PROCupdatestatus(trakstat%):PROCmoan(FNmsg_1("ERR5",trakfile$(currtrak%)):PROCtfwd 2680ELSE:SYS"WimpExt_SetIconColour",,,w_main%,currtrak%,-1,10:SYS66 TO playtime% 2710ENDIF 2720ELSE:SYS66 TO i%:playtime%=playtime%+(i%-pausetime%) 2750ENDIF:SYS"Coco_PlayStart":SYS"Coco_PositionJump",(currtrak%>>8)AND&FF,(currtrak%>>16)AND&FF:PROCsis(w_main%,21,2,3):PROCsis(w_main%,22,0,3):playstat%=(playstat%ANDNOT 3)OR 1:PROCdisplayupdate:trakstat%(currtrak%AND255)=2:PROCupdatestatus(currtrak%AND255) 2840ENDIF:ENDPROC 2870DEFPROCffwd:IF (playstat%AND 1)=1 THEN 2890SYS"Coco_GetInfos" TO,index%,,,,spd%:subindex%=FNsubindex:IF (playstat%AND 2)=2 THEN 2920index%+=1:currtrak%=(currtrak%AND&FFFF)+&100:SYS"Coco_PlayStart":SYS"XCoco_PositionJump",index%,0 TO;flags%:SYS"Coco_PlayStop":playtime%-=spd%*2*(64-subindex%):PROCdisplayupdate 2980ELSE:subindex%+=2:SYS"XCoco_PositionJump",index%,subindex%TO;flags%:IF flags%<>6 THENSYS"XCoco_PositionJump",index%+1,0 TO;flags% 3010playtime%-=spd%*2*2 3020ENDIF:IF flags%<>6 THENPROCtfwd 3040ENDIF:ENDPROC 3070DEFPROCrew:IF (playstat%AND 1)=1 THEN 3090SYS"Coco_GetInfos" TO,index%,,,,spd%:subindex%=FNsubindex:IF (playstat%AND 2)=2 THEN 3120index%-=1:currtrak%=(currtrak%AND&FFFF)-&100:SYS"Coco_PlayStart":SYS"XCoco_PositionJump",index%,0 TO;flags%:SYS"Coco_PlayStop":playtime%+=spd%*2*(64-subindex%):PROCdisplayupdate 3180ELSE:subindex%-=2:SYS"XCoco_PositionJump",index%,subindex%TO;flags%:IF flags%<>6 THENSYS"XCoco_PositionJump",index%-1,0 TO;flags% 3210playtime%+=spd%*2*2 3220ENDIF:IF flags%<>6 THENPROCtrew 3240ENDIF:ENDPROC 3270DEFPROCtfwd:IF (playstat%AND 1)=1 THEN 3290PROCblankfader:IF numtraks%>(currtrak%AND&FF)THEN 3310SYS"WimpExt_SetIconColour",,,w_main%,currtrak%AND255,-1,7:trakstat%(currtrak%AND255)=4:PROCupdatestatus(currtrak%AND255):REPEAT:currtrak%=(currtrak%AND&FF)+1:UNTIL trakstat%(currtrak%)>-1:SYS"XCoco_ReleaseRMA" 3380SYS"XCoco_LoadTrack",trakfile$(currtrak%),0 TO;flags%:IF flags%<>6 THEN 3400trakstat%(currtrak%)=-1:PROCupdatestatus(trakstat%):PROCmoan(FNmsg_1("ERR5",trakfile$(currtrak%)):PROCtfwd 3440ELSE:SYS"WimpExt_SetIconColour",,,w_main%,currtrak%,-1,10:SYS66 TO playtime%:pausetime%=playtime%:trakstat%(currtrak%)=2+((playstat%AND2)DIV2):PROCupdatestatus(currtrak%):PROCsis(w_main%,21,2,3):PROCsis(w_main%,22,playstat%AND 2,3) 3520SYS"Coco_PlayStart":IF (playstat%AND 3)=1 THEN 3540 3550ELSE:SYS"Coco_PlayStop" 3570ENDIF:PROCdisplayupdate 3590ENDIF 3600ELSE:PROCstop 3620ENDIF 3630ENDIF:ENDPROC 3660DEFPROCtrew:PROCblankfader:SYS"WimpExt_SetIconColour",,,w_main%,currtrak%AND255,-1,13:trakstat%(currtrak%AND255)=1:PROCupdatestatus(currtrak%AND255):REPEAT:currtrak%=(currtrak%AND&FF)-1:IF currtrak%<1currtrak%=1 3730UNTIL trakstat%(currtrak%)>-1:SYS"XCoco_ReleaseRMA":SYS"XCoco_LoadTrack",trakfile$(currtrak%),0 TO;flags%:IF flags%<>6 THEN 3770trakstat%(currtrak%)=-1:PROCupdatestatus(trakstat%):PROCmoan(FNmsg_1("ERR5",trakfile$(currtrak%)):PROCtrew 3810ELSE:SYS"WimpExt_SetIconColour",,,w_main%,currtrak%,-1,10:SYS66 TO playtime%:pausetime%=playtime%:trakstat%(currtrak%)=2+((playstat%AND2)DIV2):PROCupdatestatus(currtrak%):PROCsis(w_main%,21,2,3):PROCsis(w_main%,22,playstat%AND 2,3) 3890SYS"Coco_PlayStart":IF (playstat%AND 3)=1 THEN 3910 3920ELSE:SYS"Coco_PlayStop" 3940ENDIF:PROCdisplayupdate 3960ENDIF:ENDPROC 3990DEFPROCpause:IF (playstat%AND1)=0 THENSYS"Coco_SetVolume",255:PROCplay:SYS"Coco_SetVolume",volume% 4010trakstat%(currtrak%AND255)=trakstat%(currtrak%AND255)EOR1:IF (playstat%AND2)=2 THEN 4030SYS66 TO i%:playtime%=playtime%+(i%-pausetime%):SYS"Coco_PlayStart":SYS"XCoco_PositionJump",(currtrak%DIV&100)AND&FF,(currtrak%DIV&10000)AND&FF:PROCsis(w_main%,22,0,3):playstat%=(playstat%ANDNOT 3)OR 1:trakstat%(currtrak%AND255)=2:PROCdisplayupdate 4110PROCupdatestatus(currtrak%AND255) 4120ELSE:SYS"Coco_GetInfos" TO,index%:currtrak%=(currtrak%AND&FF)OR(index%<<8)OR(FNsubindex<<16):SYS66 TO pausetime%:SYS"Coco_PlayStop":PROCsis(w_main%,22,2,3):playstat%=(playstat%ANDNOT 3)OR 3:trakstat%(currtrak%AND255)=3:PROCupdatestatus(currtrak%AND255) 4210ENDIF:ENDPROC 4240DEFPROCstop:SYS"XCoco_PlayStop":SYS"XCoco_ReleaseRMA":currtrak%=0:oldtime$="":playstat%=(playstat%ANDNOT 3):PROCblankfader:PROCsis(w_main%,21,0,3):PROCsis(w_main%,22,0,3):FOR i%=1 TO numtraks%:SYS"WimpExt_SetIconColour",,,w_main%,i%,-1,13 4310IF trakstat%(i%)>-1 THEN trakstat%(i%)=1:PROCupdatestatus(i%) 4320NEXT:FOR i%=23 TO 30:PROCseticonsprite(w_main%,i%,"~"):NEXT:ENDPROC 4360DEFPROCeject:SYS"XCoco_PlayStop":SYS"XCoco_ReleaseRMA":FOR i%=1 TO 20:trakfile$(i%)="":trakstat%(i%)=0:NEXT:currtrak%=0:numtraks%=0:oldtime$="":playstat%=(playstat%ANDNOT 3):PROCinittemplates:ENDPROC 4480DEFPROCmenuselect(blk%):CASE !blk%OF 4500WHEN 1:PROCopenwindow(w_main%) 4510WHEN 2:PROCopenwindow(w_list%) 4520WHEN 3:quit%=TRUE 4530ENDCASE:ENDPROC 4560DEFPROCusermessage(blk%):CASE blk%!16 OF 4580WHEN 0:quit%=TRUE 4600WHEN 3,5:IF blk%!40<>&365 AND blk%!16=3 THEN 4620SYS"WimpExt_ControlImmediate",,2,FNmsg_0("Q"),FNmsg_0("Q0"),FNmsg_0("Y")+CHR$0+FNmsg_0("N")+STRING$(3,CHR$0),1 TO icon%:IF icon%=0 THEN blk%!40=&365 4640ENDIF:IF blk%!40=&365 THEN 4660blk%!12=blk%!8:blk%!16=4:SYS262375,17,blk%,blk%!4:numtraks%+=1:trakfile$(numtraks%)=FNzerostr(blk%+44):trakstat%(numtraks%)=1:PROCupdateinfo(numtraks%):IF numtraks%=1 AND blk%!16=5 THENPROCplay 4730ENDIF 4740WHEN 10:LOCALERROR:ONERRORPROCsendack(blk%):PROCerror(REPORT$+FNinterr(ERL)) 4770BPUT#(blk%!20),"Run "+path$:RESTOREERROR 4790WHEN&502:CASE blk%!32 OF 4810WHEN w_info%:win%=0 4820WHEN w_main%:win%=2 4830WHEN w_list%:win%=3 4840OTHERWISE:win%=blk%!32 4850ENDCASE:IF win%<>0 OR blk%!36<>3 THEN 4870help$=FNmsg_0("H"+STR$(win%)+"/"+STR$(blk%!36)) 4880ELSE:help$=FNmsg_1("H"+STR$(win%)+"/"+STR$(blk%!36),version$) 4900ENDIF:IF help$<>"H"+STR$(win%)+"/"+STR$(blk%!36)THEN 4920SYS"WimpExt_SendHelp",help$,blk% 4930ENDIF 4940ENDCASE:ENDPROC 4970DEFPROCerror(error$):LOCAL icon%:LOCALERROR:ONERROROFF 5010SYS263874:SYS0,7:SYS"WimpExt_ControlImmediate",,2,FNmsg_0("ERR"),error$,FNmsg_0("QUIT")+CHR$0+FNmsg_0("CAN")+STRING$(3,CHR$0),1 TO icon%:IF icon%=0 THEN quit%=-2 ELSERESTOREERROR 5050ENDPROC 5070DEFPROCmoan(mess$):SYS"WimpExt_OpenRequester",,,FNmsg_0("MESS"),mess$,FNmsg_0("OK")+STRING$(4,CHR$0),0:ENDPROC 5110DEFFNcheckkill:SYS"WimpExt_ControlImmediate",,2,FNmsg_0("Q"),FNmsg_0("Q1"),FNmsg_0("Y")+CHR$0+FNmsg_0("N")+STRING$(3,CHR$0),1 TO icon%:IF icon%=0 THEN=TRUEELSE=FALSE 5140 5150DEFFNzerostr(adr%):LOCAL s$:REPEAT:s$+=CHR$(?adr%):adr%+=1:UNTILRIGHT$(s$,1)<" ":=LEFT$(s$,LENs$-1) 5230DEFFNexists(path$):LOCAL found%:SYS8,17,path$ TO found%:=(found%=1) 5280DEFFNlength(path$):LOCAL len%:SYS8,17,path$ TO,,,,len%:=len% 5330DEFPROCheapinit:SYS"WimpExt_Heap",0,HIMEM,256:ENDPROC 5370DEFFNmalloc(size%):LOCAL p%:SYS"WimpExt_Heap",2,,size%TO,p%:IF p%=0 ERROR 0,FNmsg_0("ERR2") 5410=p% 5430DEFPROCfree(ptr%):SYS"WimpExt_Heap",3,ptr%:ENDPROC 5470DEFPROCrealloc(ptr%,size%):SYS"WimpExt_Heap",4,ptr%,size%TO,ptr%:IF p%=0 THENERROR 0,FNmsg_0("ERR3") 5500=ptr% 5520DEFPROCopenwindow(hnd%):LOCAL p%,blk%:p%=FNmalloc(32):blk%=!p%:!blk%=hnd%:SYS262347,,blk%:blk%!28=-1:SYS262341,,blk%:PROCfree(p%):ENDPROC 5600DEFPROCopendialog(hnd%,xoff%,yoff%):SYS"WimpExt_OpenDialogue",,,hnd%,xoff%,yoff%:ENDPROC 5640DEFPROCnumicon(hnd%,icon%,num%):SYS"WimpExt_SetNumberIcon",,,hnd%,icon%,num%:ENDPROC 5680DEFFNmemnum(adr%,len%):LOCAL i%,n%:FOR i%=0 TO len%-1:n%+=(adr%?i%)<<(8*i%):NEXT:=n% 5750DEFPROCmultiplecheck:LOCAL blk%,next%,loaded%:blkp%=FNmalloc(16):blk%=!blkp%:loaded%=FALSE:next%=0:WHILE next%>=0:SYS272001,next%,blk%,16 TO next%:IFFNzerostr(blk%!4)="ClownPlay" THEN loaded%=TRUE 5820ENDWHILE:PROCfree(blkp%):IF loaded%THENERROR 0,FNmsg_0("ERR4") 5850ENDPROC 5880DEFFNinterr(l%):=FNmsg_1("INT",STR$l%) 5910DEFPROCfadeout:IF (playstat%AND 3)=1 THEN 5930playstat%=(playstat%ANDNOT&7F800060)OR%1000000 OR (volume%<<23):SYS"WimpExt_SetIconColour",,,w_main%,64,-1,10:FORi%=52 TO 54 STEP 2:SYS"WimpExt_SetIconColour",,,w_main%,i%,10,-1:NEXT 5960ENDIF:ENDPROC 5990DEFPROCfadein:IF (playstat%AND 3)=3 THEN 6010playstat%=(playstat%ANDNOT&7F800060)OR%0100000 OR (255<<23):SYS"Coco_SetVolume",255:PROCplay:SYS"WimpExt_SetIconColour",,,w_main%,64,-1,10:FOR i%=52 TO 53:SYS"WimpExt_SetIconColour",,,w_main%,i%,10,-1:NEXT 6060ENDIF:ENDPROC 6090DEFPROCfadeupdate:IF (playstat%AND (3<<5))=0 THENENDPROC 6110fadevol%=(playstat%AND 255<<23)>>23:fadevol%+=4*((playstat%AND (3<<5))>>5)-6:IF fadevol%<volume%THEN fadevol%=volume%ELSEIF fadevol%>255 THEN fadevol%=255 6140SYS"Coco_SetVolume",fadevol%:playstat%=(playstat%ANDNOT (255<<23))OR (fadevol%<<23):IF fadevol%=255 THENPROCpause:SYS"Coco_SetVolume",volume% 6170IF fadevol%=255 OR fadevol%=volume%THENPROCblankfader 6180ENDPROC 6200DEFPROCblankfader:playstat%=(playstat%ANDNOT (3<<5)):SYS"WimpExt_SetIconColour",,,w_main%,64,-1,7:FOR i%=52 TO 54:SYS"WimpExt_SetIconColour",,,w_main%,i%,7,-1:NEXT:SYS"Coco_SetVolume",volume%:ENDPROC 6270DEFPROCinit:DIM trakfile$(20),trakstat%(20):PROCinittemplates:PROCmakemenus:numtraks%=0:currtrak%=0:playstat%=0:volume%=0:oldtime$="":blkp%=FNmalloc(40):blk%=!blkp%:!blk%=w_main%:blk%!4=46:SYS262350,,blk% 6360volminx%=blk%!8:volminy%=blk%!12:volmaxx%=blk%!16:volmaxy%=blk%!20:PROCsetvolume(volume%):PROCfree(blkp%):ENDPROC 6460DEFPROCinittemplates:FOR icon%=1 TO 20:SYS"WimpExt_SetIconColour",,,w_main%,icon%,7,13:NEXT:FOR icon%=23 TO 30:PROCseticonsprite(w_main%,icon%,"~"):NEXT:FOR icon%=48 TO 56:SYS"WimpExt_SetIconColour",,,w_main%,icon%,7,7:NEXT 6570SYS"WimpExt_SetIconColour",,,w_main%,64,7,7:FOR icon%=21 TO 22:PROCsis(w_main%,icon%,0,3):NEXT:FOR track%=1 TO 20:SYS"WimpExt_SetNumberIcon",,,w_list%,track%*7,track%:FOR i%=1 TO 5:SYS"WimpExt_SetIconString",,,w_list%,track%*7+i%,"":NEXT 6670PROCupdatestatus(track%):NEXT:ENDPROC 6710DEFPROCsis(hnd%,icon%,eor%,clear%):LOCAL blkp%,blk%:blkp%=FNmalloc(16):blk%=!blkp%:!blk%=hnd%:blk%!4=icon%:blk%!8=eor%:blk%!12=clear%:SYS262349,,blk%:PROCfree(blkp%):ENDPROC 6790DEFPROCdeleteicon(hnd%,icon%):PROCsis(hnd%,icon%,1<<23,1<<23):ENDPROC 6830DEFPROCundeleteicon(hnd%,icon%):PROCsis(hnd%,icon%,0,1<<23):ENDPROC 6870DEFPROCseticonsprite(hnd%,icon%,sprite$):LOCAL blk%,blkp%:blkp%=FNmalloc(40):blk%=!blkp%:!blk%=hnd%:blk%!4=icon%:SYS262350,,blk%:SYS262340,,blk%:$(blk%!28)=sprite$:blk%!32=sprite_area%:blk%!4=!blk%:SYS262338,icon%,blk%+4 6940blk%!4=icon%:blk%!8=0:blk%!12=0:SYS262349,,blk%:PROCfree(blkp%):ENDPROC 6980DEFPROCsetvolume(vol%):LOCAL blk%,blkp%,maxx%,minx%,height%,more%:SYS"Coco_SetVolume",vol%:blkp%=FNmalloc(256):blk%=!blkp%:!blk%=w_main%:blk%!4=47:SYS262350,,blk%:height%=(blk%!20-blk%!12) 7050blk%!20=volminy%+(volmaxy%-volminy%)*((255-vol%)/255)+height%DIV2:IF blk%!12<>blk%!20-height%THEN 7070blk%!12=blk%!20-height%:SYS262340,,blk%:blk%!4=!blk%:SYS262338,47,blk%+4:SYS262353,w_main%,blk%!8,volminy%-height%DIV2,blk%!16,volmaxy%+height%DIV2 7110ENDIF:PROCfree(blkp%):PROCsis(w_main%,47,0,0):ENDPROC 7160DEFPROCupdateinfo(trak%):LOCAL blkp%,blk%,hnd%:SYS"WimpExt_SetIconStringN",,,w_list%,7*trak%+1,FNleaf(trakfile$(trak%)):SYS13,&43,trakfile$(trak%)TO hnd%:blkp%=FNmalloc(23):blk%=!blkp%:SYS12,3,hnd%,blk%,23,1:SYS13,0,hnd% 7230PROCiconstr(w_list%,7*trak%+2,FNzerostr(blk%)):PROCiconnum(w_list%,7*trak%+3,blk%?21):PROCiconnum(w_list%,7*trak%+4,blk%?22):PROCiconnum(w_list%,7*trak%+5,blk%?20):PROCupdatestatus(trak%):PROCfree(blkp%) 7290SYS"WimpExt_SetIconColour",,,w_main%,trak%,-1,13:FOR blk%=trak%+1 TO 20:SYS"WimpExt_SetIconColour",,,w_main%,blk%,-1,7:NEXT:ENDPROC 7350DEFPROCupdatestatus(trak%):PROCiconstr(w_list%,7*trak%+6,FNmsg_0("STAT"+STR$(trakstat%(trak%)))):ENDPROC 7390DEFFNleaf(file$):REPEAT:file$=MID$(file$,INSTR(file$,".")+1):UNTILINSTR(file$,".")=0:=file$ 7430DEFPROCdisplayupdate:LOCAL index%:SYS"Coco_GetInfos" TO,index%,,,,currspd%:SYS66 TO time%:display$=FNsprite(currtrak%AND&FF)+FNsprite(index%)+FNplaytime:FOR i%=1 TO 8:PROCseticonsprite(w_main%,22+i%,MID$(display$,i%,1)):NEXT:ENDPROC 7530DEFPROCnullupdate:LOCAL index%,i%,display$:PROCfadeupdate:SYS"Coco_GetInfos" TO,index%,,,,currspd%:IF index%>((currtrak%>>8)AND&FF)THEN 7580currtrak%=(currtrak%AND&FF)OR (index%<<8):display$=FNsprite(index%):FOR i%=1 TO 2:PROCseticonsprite(w_main%,24+i%,MID$(display$,i%,1)):NEXT 7630ENDIF:IF index%<((currtrak%>>8)AND&FF)THEN 7650PROCtfwd 7660ELSE:display$=FNplaytime:IF display$<>oldtime$ THEN 7690oldtime$=display$:FOR i%=1 TO 4:PROCseticonsprite(w_main%,26+i%,MID$(display$,i%,1)):NEXT 7730ENDIF 7740ENDIF:ENDPROC 7770DEFFNsprite(n%):=RIGHT$("~"+STR$n%,2) 7800DEFFNplaytime:LOCAL i%:IF (playstat%AND 2)THEN 7830i%=pausetime%-playtime% 7840ELSE:SYS66 TO i%:i%-=playtime% 7860ENDIF:=RIGHT$("~"+STR$(i%DIV6000),2)+RIGHT$("0"+STR$((i%MOD6000)DIV100),2) 7890DEFFNsubindex:SYS"Coco_GetInfos" TO,,patadr%,seqadr%,trakadr%,,nvoice%:pattern%=?seqadr%:patoff%=patadr%-(trakadr%!28+nvoice%*4*64*pattern%):=patoff%DIV (nvoice%*4) 7950DEFPROCdragvolume:blkp%=FNmalloc(44):blk%=!blkp%:!blk%=w_main%:SYS262347,,blk%:x%=blk%!4-blk%!20:y%=blk%!16-blk%!24:dragmin%=y%+volminy%:dragmax%=y%+volmaxy%:blk%!4=7:blk%!24=x%+(volminx%+volmaxx%)DIV2:blk%!28=y%+volminy% 8010blk%!32=x%+(volminx%+volmaxx%)DIV2:blk%!36=y%+volmaxy%:IF drag%=FALSETHENSYS262352,,blk%:drag%=TRUE 8030PROCsetvolume(volume%):PROCfree(blkp%):ENDPROC 8070DEFPROCuserdragbox(box%):ENDPROC 8200DEFPROCmsg_initialise(N$):LOCAL c%,c$,i%:c%=OPENIN(N$):IFc%=0 ERROR 0,"Cannot find messages file" 8240ms_tags%=0:SYS263872:WHILENOT(EOF#c%):c$=GET$#c%:IFc$<>"" THEN 8290IFLEFT$(c$,1)<>"#" THEN 8300IFINSTR(c$,":")<>0ms_tags%+=1 8310ENDIF 8320ENDIF:ENDWHILE:IFms_tags%<>0 THEN 8350DIM ms_text$(ms_tags%-1),ms_tags$(ms_tags%-1):PTR#c%=0:i%=0:WHILENOTEOF#c%:c$=GET$#c%:IFc$<>"" THEN 8410IFLEFT$(c$,1)<>"#" THEN 8420ms_tags$(i%)=LEFT$(c$,INSTR(c$,":")-1):ms_text$(i%)=MID$(c$,INSTR(c$,":")+1):i%+=1 8450ENDIF 8460ENDIF:ENDWHILE 8480ENDIF:CLOSE#c%:SYS263873:ENDPROC 8530DEFFNmsg_0(T$):=FNmsg_4(T$,"","","","") 8560DEFFNmsg_1(T$,S$):=FNmsg_4(T$,S$,"","","") 8590DEFFNmsg_2(T$,S0$,S1$):=FNmsg_4(T$,S0$,S1$,"","") 8620DEFFNmsg_3(T$,S0$,S1$,S2$):=FNmsg_4(T$,S0$,S1$,S2$,"") 8650DEFFNmsg_4(T$,S0$,S1$,S2$,S3$):LOCAL i%,f%:IFms_tags%=0 THEN 8680=T$ 8690ELSE:FORi%=0 TO ms_tags%-1:IFT$=ms_tags$(i%)THEN 8720T$=ms_text$(i%):f%=INSTR(T$,"%0"):IFf%<>0T$=LEFT$(T$,f%-1)+S0$+MID$(T$,f%+2) 8750f%=INSTR(T$,"%1"):IFf%<>0T$=LEFT$(T$,f%-1)+S1$+MID$(T$,f%+2) 8770f%=INSTR(T$,"%2"):IFf%<>0T$=LEFT$(T$,f%-1)+S2$+MID$(T$,f%+2) 8790f%=INSTR(T$,"%3"):IFf%<>0T$=LEFT$(T$,f%-1)+S3$+MID$(T$,f%+2) 8810i%=ms_tags% 8820ENDIF:NEXT 8840ENDIF:=T$ 8870DEFPROCmsg_end:ENDPROC
*| Program: ClownPlay (+*| Purpose: Play Coconizer TrakFiles 2*| Author: Gareth Boden </*| Copyright: HeadFirst Public Domain 1993 F0��4,30:�$;" (Internal error code ";�;")":� Zu� path%256:ș131107,"ClownPlay$Dir",path%,256,0,0 �,,len%:� len%=0 � 0,"<ClownPlay$Dir> too long or non-existent" ��path%?len%=13:path$=$path%:resource$=path$+".Resources":rmstore$=path$+".RMStore":ș16 � env$:env$=�env$,�env$,"""",�env$,"""")+1)+1):ȕ�env$,1)=" ":env$=�env$,2):�:�msg_initialise(resource$+".Messages") �fversion$=�msg_0("VER"):ș262336,200,&4B534154,"ClownPlay" � wimp_ver%,task_hnd%:� poll_blk%255: �&� wimp_ver%<200 �� 0,�msg0("ERR0") dș"WimpExt_Initialise",5,task_hnd%,%0011010 � wimpext_ver%:� wimpext_ver%<167 �� 0,�msg0("ERR1") ".�heapinit:� wimp_ver%>=300 ��multiplecheck @3ș263872:��error(�$+�interr(�)):quit%=-2:�poll h��loadsprites:� winhandle%7*4-1,temp_buf%&2000,ind_buf%&1000:� i%=0 � 7*4-1 �4:winhandle%!i%=0:�i%:winhandle%!8=%01:winhandle%!12=%01 ��ș"WimpExt_LoadTemplates",winhandle%,temp_buf%,ind_buf%,ind_buf%+&1000,-1,resource$+".Templates",sprite_area%:w_info%=winhandle%!0:w_save%=winhandle%!4:w_main%=winhandle%!8:w_list%=winhandle%!12:quit%=�:drag%=� �!��error(�$+�interr(�)):�poll �Ticon_hnd%=�iconbar("!clownplay"):�iconstr(w_info%,3,version$):�init:� env$<>"" � Dș8,17,env$ �,,load%:load%=(load%>>8)�&FFFFFF:� load%<>&FFF365 � :�ș"WimpExt_ControlImmediate",,2,�msg_0("Q"),�msg_0("Q0"),�msg_0("Y")+�0+�msg_0("N")+�3,�0),1 � icon%:� icon%=0 � load%=&FFF365 N�:� load%=&FFF365 � b^numtraks%+=1:trakfile$(numtraks%)=env$:trakstat%(numtraks%)=1:�updateinfo(numtraks%):�play �� ��:ș263873:�poll:� �Z��loadsprites:� spritesuff%,spritesuff$,nx%,ny%,bpp%,exists%,ssize%:� wimp_ver%>=300 � �>ș262386,2 � spritesuff%:spritesuff$=�zerostr(spritesuff%) ��:ș53,-1,4 �,,nx%:ș53,-1,5 �,,ny%:ș53,-1,9 �,,bpp%:spritesuff$=�(1<<nx%)+�(1<<ny%):� bpp%=0 � spritesuff$="22" � spritesuff$="23" HA�:笤exists(resource$+".Sprites"+spritesuff$)� spritesuff$="" \�ssize%=�length(resource$+".Sprites"+spritesuff$)+4:� sprite_area%ssize%:sprite_area%!0=ssize%:sprite_area%!8=16:ș46,256+9,sprite_area%:ș46,256+10,sprite_area%,resource$+".Sprites"+spritesuff$ �*ș262377,11,,resource$+".WimpSprite":� �_ݤiconbar(name$):� icon_hnd%:ș"WimpExt_IconBarSprite",,,-1,name$,,3 � icon_hnd%:=icon_hnd% �L��iconstr(hnd%,icon%,str$):ș"WimpExt_SetIconString",,,hnd%,icon%,str$:� N��iconstrn(hnd%,icon%,str$):ș"WimpExt_SetIconStringN",,,hnd%,icon%,str$:� .L��iconnum(hnd%,icon%,num%):ș"WimpExt_SetNumberIcon",,,hnd%,icon%,num%:� VOݤgis(hnd%,icon%):� p%:ș"WimpExt_GetIcon",,,hnd%,icon%�,,,p%:=�zerostr(p%) ����poll:� reason%:ȕ quit%=�:ș"WimpExt_PrePoll":ș262343,%11100000110000,poll_blk%� reason%,poll_blk%:ș"WimpExt_Action",task_hnd%,poll_blk%,reason%� reason%:Ȏ reason%� �&� 0:� (playstat%�3)=1 ��nullupdate �� drag%� �hș262351,,poll_blk%:volume%=255-((poll_blk%!4-dragmin%)/(dragmax%-dragmin%))*255:�setvolume(volume%) � )� 1:ș"WimpExt_AutoRedraw",,poll_blk% � 2:ș262341,,poll_blk% � 3:ș262342,,poll_blk% (Q� 6:�mouseclick(!poll_blk%,poll_blk%!4,poll_blk%!8,poll_blk%!12,poll_blk%!16) 2`� 7:drag%=�:volume%=255-((poll_blk%!4-dragmin%)/(dragmax%-dragmin%))*255:�setvolume(volume%) <6� 8:�keypress(!poll_blk%,poll_blk%!4,poll_blk%!24) F� 9:�menuselect(poll_blk%) P#� 17,18:�usermessage(poll_blk%) Z� 19:�ack(poll_blk%) d�:�:� quit%=�� �(�checkkill ș30,4,"CoconizerPlayer" ��:ș30,4,"CoconizerPlayer" �2�:ș"WimpExt_CloseDown",task_hnd%:ș262365:�:� �0��makemenus:m_mainp%=�menu(�msg_0("MEN0")):� �ݤmenu(menu$):� items%,submenu%,vald$,newname$,m_off%,last%,message%,i%,j%,itemoff%,length%,vlen%,menblk%,menblkp%:items%=0:submenu%=0:� i%=1 ��(menu$):Ȏ�menu$,i%,1)� 6"� ",":� submenu%=0 � items%+=1 @� ">":submenu%+=1 J� "^":submenu%-=1 T��:�:menu$+=",":menblkp%=�malloc(28+24*items%):menblk%=!menblkp%:$menblk%=�menu$,�menu$,",")-1):menblk%!12=&070207:menblk%!16=13*16:menblk%!20=44:menblk%!24=0:itemoff%=�menu$,",")+1:� i%=0 � items%-1:last%=�:message%=� �1�menu$,itemoff%,1)="~" � last%=�:itemoff%+=1 �Fitem$=�menu$,itemoff%,�menu$,",",itemoff%)-itemoff%):�item$,">")� �newname$=�menu$,itemoff%,�menu$,">",itemoff%)-itemoff%)+",":submenu%=0:j%=�menu$,">",itemoff%)+1:�menu$,j%,1)="*"message%=�:j%+=1 �(�:j%+=1:�menu$,j%,1)=">"submenu%+=1 �menu$,j%,1)="^"submenu%-=1 &� submenu%<0:newname$+=�menu$,�menu$,">",itemoff%)+1,j%-�menu$,">",itemoff%)-1):m_off%=!�menu(newname$):!(menblk%+28+24*i%)=%10000-%1000*message%-%10000000*last%:!(menblk%+32+24*i%)=m_off%:!(menblk%+36+24*i%)=&07009011 bT$(menblk%+40+24*i%)=�menu$,itemoff%,�menu$,">",itemoff%)-itemoff%):itemoff%=j%+2 vV�:newname$=�menu$,itemoff%,�menu$,",",itemoff%)-itemoff%):�newname$,1)="~"last%=� ��newname$,"#")� �0�newname$,�newname$,"#")+1,1)="*"message%=� ��!(menblk%+28+24*i%)=%10000-%1000*message%-%10000000*last%:!(menblk%+32+24*i%)=�("w_"+�newname$,�newname$,"#")+1-message%)+"%"):!(menblk%+36+24*i%)=&07009011:$(menblk%+40+24*i%)=�newname$,�newname$,"#")-1) ��:�(newname$)=�"@" � ��vald$=�newname$,�newname$,"\")+1):newname$=�newname$,�newname$,"\")-1):length%=�(newname$):m_off%=!�malloc(length%+1):$m_off%=�0:!(menblk%+28+24*i%)=%10100-128*last%:!(menblk%+32+24*i%)=-1:!(menblk%+36+24*i%)=&07009111 4�!(menblk%+40+24*i%)=m_off%:vlen%=�(vald$):m_off%=!�malloc(vlen%+2):$m_off%=vald$+�0:!(menblk%+44+24*i%)=m_off%:!(menblk%+48+24*i%)=length%+1 f|�:!(menblk%+28+24*i%)=%10000-128*last%:!(menblk%+32+24*i%)=-1:!(menblk%+36+24*i%)=&07009011:$(menblk%+40+24*i%)=newname$ �� ��:itemoff%+=�(newname$)+1 ��:�:=menblkp% �5��mouseclick(x%,y%,but%,hnd%,icon%):� i%:� but%�� �Ȏ hnd%� �-2:Ȏ but%� � 4:�openwindow(w_main%) .� 1:�openwindow(w_list%) BM� 2:ș"WimpExt_CreateMenu",,!m_mainp%,x%-44,68+4*44+28:currmenu%=m_mainp% V� `� w_main%:Ȏ icon%� t� 31:�trew ~ � 32:�rew �� 33:�play �� 34:�ffwd �� 35:�tfwd �� 36:�pause �� 37:�stop �� 38:�eject �� 44:�fadein �� 45:�fadeout �$� 46,47:� but%=4*16 ��dragvolume �� ��:� -��play:� numtraks%>0 � (playstat%�3)<>1 � � currtrak%=0 � (^currtrak%=1:ș"XCoco_ReleaseRMA":ș"XCoco_LoadTrack",trakfile$(1),0 �;flags%:� flags%<>6 � Pdtrakstat%(currtrak%)=-1:�updatestatus(trakstat%):�moan(�msg_1("ERR5",trakfile$(currtrak%)):�tfwd xJ�:ș"WimpExt_SetIconColour",,,w_main%,currtrak%,-1,10:ș66 � playtime% �� �3�:ș66 � i%:playtime%=playtime%+(i%-pausetime%) ���:ș"Coco_PlayStart":ș"Coco_PositionJump",(currtrak%>>8)�&FF,(currtrak%>>16)�&FF:�sis(w_main%,21,2,3):�sis(w_main%,22,0,3):playstat%=(playstat%�� 3)� 1:�displayupdate:trakstat%(currtrak%�255)=2:�updatestatus(currtrak%�255) �:� 6��ffwd:� (playstat%� 1)=1 � JOș"Coco_GetInfos" �,index%,,,,spd%:subindex%=�subindex:� (playstat%� 2)=2 � h�index%+=1:currtrak%=(currtrak%�&FFFF)+&100:ș"Coco_PlayStart":ș"XCoco_PositionJump",index%,0 �;flags%:ș"Coco_PlayStop":playtime%-=spd%*2*(64-subindex%):�displayupdate �z�:subindex%+=2:ș"XCoco_PositionJump",index%,subindex%�;flags%:� flags%<>6 �ș"XCoco_PositionJump",index%+1,0 �;flags% �playtime%-=spd%*2*2 ��:� flags%<>6 ��tfwd ��:� ���rew:� (playstat%� 1)=1 � Oș"Coco_GetInfos" �,index%,,,,spd%:subindex%=�subindex:� (playstat%� 2)=2 � 0�index%-=1:currtrak%=(currtrak%�&FFFF)-&100:ș"Coco_PlayStart":ș"XCoco_PositionJump",index%,0 �;flags%:ș"Coco_PlayStop":playtime%+=spd%*2*(64-subindex%):�displayupdate lz�:subindex%-=2:ș"XCoco_PositionJump",index%,subindex%�;flags%:� flags%<>6 �ș"XCoco_PositionJump",index%-1,0 �;flags% �playtime%+=spd%*2*2 ��:� flags%<>6 ��trew ��:� ���tfwd:� (playstat%� 1)=1 � �,�blankfader:� numtraks%>(currtrak%�&FF)� �ș"WimpExt_SetIconColour",,,w_main%,currtrak%�255,-1,7:trakstat%(currtrak%�255)=4:�updatestatus(currtrak%�255):�:currtrak%=(currtrak%�&FF)+1:� trakstat%(currtrak%)>-1:ș"XCoco_ReleaseRMA" 4Eș"XCoco_LoadTrack",trakfile$(currtrak%),0 �;flags%:� flags%<>6 � Hdtrakstat%(currtrak%)=-1:�updatestatus(trakstat%):�moan(�msg_1("ERR5",trakfile$(currtrak%)):�tfwd p��:ș"WimpExt_SetIconColour",,,w_main%,currtrak%,-1,10:ș66 � playtime%:pausetime%=playtime%:trakstat%(currtrak%)=2+((playstat%�2)�2):�updatestatus(currtrak%):�sis(w_main%,21,2,3):�sis(w_main%,22,playstat%� 2,3) �+ș"Coco_PlayStart":� (playstat%� 3)=1 � � ��:ș"Coco_PlayStop" ��:�displayupdate � �:�stop $� .�:� L���trew:�blankfader:ș"WimpExt_SetIconColour",,,w_main%,currtrak%�255,-1,13:trakstat%(currtrak%�255)=1:�updatestatus(currtrak%�255):�:currtrak%=(currtrak%�&FF)-1:� currtrak%<1currtrak%=1 �t� trakstat%(currtrak%)>-1:ș"XCoco_ReleaseRMA":ș"XCoco_LoadTrack",trakfile$(currtrak%),0 �;flags%:� flags%<>6 � �dtrakstat%(currtrak%)=-1:�updatestatus(trakstat%):�moan(�msg_1("ERR5",trakfile$(currtrak%)):�trew ���:ș"WimpExt_SetIconColour",,,w_main%,currtrak%,-1,10:ș66 � playtime%:pausetime%=playtime%:trakstat%(currtrak%)=2+((playstat%�2)�2):�updatestatus(currtrak%):�sis(w_main%,21,2,3):�sis(w_main%,22,playstat%� 2,3) 2+ș"Coco_PlayStart":� (playstat%� 3)=1 � F P�:ș"Coco_PlayStop" d�:�displayupdate x�:� �V��pause:� (playstat%�1)=0 �ș"Coco_SetVolume",255:�play:ș"Coco_SetVolume",volume% �Ktrakstat%(currtrak%�255)=trakstat%(currtrak%�255)�1:� (playstat%�2)=2 � ��ș66 � i%:playtime%=playtime%+(i%-pausetime%):ș"Coco_PlayStart":ș"XCoco_PositionJump",(currtrak%�&100)�&FF,(currtrak%�&10000)�&FF:�sis(w_main%,22,0,3):playstat%=(playstat%�� 3)� 1:trakstat%(currtrak%�255)=2:�displayupdate �updatestatus(currtrak%�255) ��:ș"Coco_GetInfos" �,index%:currtrak%=(currtrak%�&FF)�(index%<<8)�(�subindex<<16):ș66 � pausetime%:ș"Coco_PlayStop":�sis(w_main%,22,2,3):playstat%=(playstat%�� 3)� 3:trakstat%(currtrak%�255)=3:�updatestatus(currtrak%�255) r�:� ����stop:ș"XCoco_PlayStop":ș"XCoco_ReleaseRMA":currtrak%=0:oldtime$="":playstat%=(playstat%�� 3):�blankfader:�sis(w_main%,21,0,3):�sis(w_main%,22,0,3):� i%=1 � numtraks%:ș"WimpExt_SetIconColour",,,w_main%,i%,-1,13 �:� trakstat%(i%)>-1 � trakstat%(i%)=1:�updatestatus(i%) �5�:� i%=23 � 30:�seticonsprite(w_main%,i%,"~"):�:� ���eject:ș"XCoco_PlayStop":ș"XCoco_ReleaseRMA":� i%=1 � 20:trakfile$(i%)="":trakstat%(i%)=0:�:currtrak%=0:numtraks%=0:oldtime$="":playstat%=(playstat%�� 3):�inittemplates:� � ��menuselect(blk%):Ȏ !blk%� �� 1:�openwindow(w_main%) �� 2:�openwindow(w_list%) �� 3:quit%=� ��:� �$��usermessage(blk%):Ȏ blk%!16 � �� 0:quit%=� �'� 3,5:� blk%!40<>&365 � blk%!16=3 � �ș"WimpExt_ControlImmediate",,2,�msg_0("Q"),�msg_0("Q0"),�msg_0("Y")+�0+�msg_0("N")+�3,�0),1 � icon%:� icon%=0 � blk%!40=&365 �:� blk%!40=&365 � 4�blk%!12=blk%!8:blk%!16=4:ș262375,17,blk%,blk%!4:numtraks%+=1:trakfile$(numtraks%)=�zerostr(blk%+44):trakstat%(numtraks%)=1:�updateinfo(numtraks%):� numtraks%=1 � blk%!16=5 ��play z� �2� 10:�:��sendack(blk%):�error(�$+�interr(�)) ��#(blk%!20),"Run "+path$:�� ��&502:Ȏ blk%!32 � �� w_info%:win%=0 �� w_main%:win%=2 �� w_list%:win%=3 �:win%=blk%!32 ��:� win%<>0 � blk%!36<>3 � ,help$=�msg_0("H"+�(win%)+"/"+�(blk%!36)) 7�:help$=�msg_1("H"+�(win%)+"/"+�(blk%!36),version$) $*�:� help$<>"H"+�(win%)+"/"+�(blk%!36)� 8#ș"WimpExt_SendHelp",help$,blk% B� L�:� j"��error(error$):� icon%:�: ��ș263874:ș0,7:ș"WimpExt_ControlImmediate",,2,�msg_0("ERR"),error$,�msg_0("QUIT")+�0+�msg_0("CAN")+�3,�0),1 � icon%:� icon%=0 � quit%=-2 ��� �� �Z��moan(mess$):ș"WimpExt_OpenRequester",,,�msg_0("MESS"),mess$,�msg_0("OK")+�4,�0),0:� ��ݤcheckkill:ș"WimpExt_ControlImmediate",,2,�msg_0("Q"),�msg_0("Q1"),�msg_0("Y")+�0+�msg_0("N")+�3,�0),1 � icon%:� icon%=0 �=��=� Gݤzerostr(adr%):� s$:�:s$+=�(?adr%):adr%+=1:��s$,1)<" ":=�s$,�s$-1) n>ݤexists(path$):� found%:ș8,17,path$ � found%:=(found%=1) �7ݤlength(path$):� len%:ș8,17,path$ �,,,,len%:=len% �)��heapinit:ș"WimpExt_Heap",0,�,256:� �Pݤmalloc(size%):� p%:ș"WimpExt_Heap",2,,size%�,p%:� p%=0 � 0,�msg_0("ERR2") "=p% 6*��free(ptr%):ș"WimpExt_Heap",3,ptr%:� ^X��realloc(ptr%,size%):ș"WimpExt_Heap",4,ptr%,size%�,ptr%:� p%=0 �� 0,�msg_0("ERR3") | =ptr% �x��openwindow(hnd%):� p%,blk%:p%=�malloc(32):blk%=!p%:!blk%=hnd%:ș262347,,blk%:blk%!28=-1:ș262341,,blk%:�free(p%):� �P��opendialog(hnd%,xoff%,yoff%):ș"WimpExt_OpenDialogue",,,hnd%,xoff%,yoff%:� L��numicon(hnd%,icon%,num%):ș"WimpExt_SetNumberIcon",,,hnd%,icon%,num%:� 0Kݤmemnum(adr%,len%):� i%,n%:� i%=0 � len%-1:n%+=(adr%?i%)<<(8*i%):�:=n% v���multiplecheck:� blk%,next%,loaded%:blkp%=�malloc(16):blk%=!blkp%:loaded%=�:next%=0:ȕ next%>=0:ș272001,next%,blk%,16 � next%:�zerostr(blk%!4)="ClownPlay" � loaded%=� �/�:�free(blkp%):� loaded%�� 0,�msg_0("ERR4") �� �#ݤinterr(l%):=�msg_1("INT",�l%) "��fadeout:� (playstat%� 3)=1 � *�playstat%=(playstat%��&7F800060)�%1000000 � (volume%<<23):ș"WimpExt_SetIconColour",,,w_main%,64,-1,10:�i%=52 � 54 � 2:ș"WimpExt_SetIconColour",,,w_main%,i%,10,-1:� H�:� f!��fadein:� (playstat%� 3)=3 � z�playstat%=(playstat%��&7F800060)�%0100000 � (255<<23):ș"Coco_SetVolume",255:�play:ș"WimpExt_SetIconColour",,,w_main%,64,-1,10:� i%=52 � 53:ș"WimpExt_SetIconColour",,,w_main%,i%,10,-1:� ��:� �+��fadeupdate:� (playstat%� (3<<5))=0 �� ޏfadevol%=(playstat%� 255<<23)>>23:fadevol%+=4*((playstat%� (3<<5))>>5)-6:� fadevol%<volume%� fadevol%=volume%�� fadevol%>255 � fadevol%=255 ��ș"Coco_SetVolume",fadevol%:playstat%=(playstat%�� (255<<23))� (fadevol%<<23):� fadevol%=255 ��pause:ș"Coco_SetVolume",volume% 1� fadevol%=255 � fadevol%=volume%��blankfader $� 8���blankfader:playstat%=(playstat%�� (3<<5)):ș"WimpExt_SetIconColour",,,w_main%,64,-1,7:� i%=52 � 54:ș"WimpExt_SetIconColour",,,w_main%,i%,7,-1:�:ș"Coco_SetVolume",volume%:� ~���init:� trakfile$(20),trakstat%(20):�inittemplates:�makemenus:numtraks%=0:currtrak%=0:playstat%=0:volume%=0:oldtime$="":blkp%=�malloc(40):blk%=!blkp%:!blk%=w_main%:blk%!4=46:ș262350,,blk% �ivolminx%=blk%!8:volminy%=blk%!12:volmaxx%=blk%!16:volmaxy%=blk%!20:�setvolume(volume%):�free(blkp%):� <���inittemplates:� icon%=1 � 20:ș"WimpExt_SetIconColour",,,w_main%,icon%,7,13:�:� icon%=23 � 30:�seticonsprite(w_main%,icon%,"~"):�:� icon%=48 � 56:ș"WimpExt_SetIconColour",,,w_main%,icon%,7,7:� ��ș"WimpExt_SetIconColour",,,w_main%,64,7,7:� icon%=21 � 22:�sis(w_main%,icon%,0,3):�:� track%=1 � 20:ș"WimpExt_SetNumberIcon",,,w_list%,track%*7,track%:� i%=1 � 5:ș"WimpExt_SetIconString",,,w_list%,track%*7+i%,"":� �updatestatus(track%):�:� 6���sis(hnd%,icon%,eor%,clear%):� blkp%,blk%:blkp%=�malloc(16):blk%=!blkp%:!blk%=hnd%:blk%!4=icon%:blk%!8=eor%:blk%!12=clear%:ș262349,,blk%:�free(blkp%):� �;��deleteicon(hnd%,icon%):�sis(hnd%,icon%,1<<23,1<<23):� �9��undeleteicon(hnd%,icon%):�sis(hnd%,icon%,0,1<<23):� ����seticonsprite(hnd%,icon%,sprite$):� blk%,blkp%:blkp%=�malloc(40):blk%=!blkp%:!blk%=hnd%:blk%!4=icon%:ș262350,,blk%:ș262340,,blk%:$(blk%!28)=sprite$:blk%!32=sprite_area%:blk%!4=!blk%:ș262338,icon%,blk%+4 Ablk%!4=icon%:blk%!8=0:blk%!12=0:ș262349,,blk%:�free(blkp%):� D���setvolume(vol%):� blk%,blkp%,maxx%,minx%,height%,more%:ș"Coco_SetVolume",vol%:blkp%=�malloc(256):blk%=!blkp%:!blk%=w_main%:blk%!4=47:ș262350,,blk%:height%=(blk%!20-blk%!12) �_blk%!20=volminy%+(volmaxy%-volminy%)*((255-vol%)/255)+height%�2:� blk%!12<>blk%!20-height%� ��blk%!12=blk%!20-height%:ș262340,,blk%:blk%!4=!blk%:ș262338,47,blk%+4:ș262353,w_main%,blk%!8,volminy%-height%�2,blk%!16,volmaxy%+height%�2 �)�:�free(blkp%):�sis(w_main%,47,0,0):� ����updateinfo(trak%):� blkp%,blk%,hnd%:ș"WimpExt_SetIconStringN",,,w_list%,7*trak%+1,�leaf(trakfile$(trak%)):ș13,&43,trakfile$(trak%)� hnd%:blkp%=�malloc(23):blk%=!blkp%:ș12,3,hnd%,blk%,23,1:ș13,0,hnd% >��iconstr(w_list%,7*trak%+2,�zerostr(blk%)):�iconnum(w_list%,7*trak%+3,blk%?21):�iconnum(w_list%,7*trak%+4,blk%?22):�iconnum(w_list%,7*trak%+5,blk%?20):�updatestatus(trak%):�free(blkp%) zyș"WimpExt_SetIconColour",,,w_main%,trak%,-1,13:� blk%=trak%+1 � 20:ș"WimpExt_SetIconColour",,,w_main%,blk%,-1,7:�:� �Z��updatestatus(trak%):�iconstr(w_list%,7*trak%+6,�msg_0("STAT"+�(trakstat%(trak%)))):� �Eݤleaf(file$):�:file$=�file$,�file$,".")+1):��file$,".")=0:=file$ ���displayupdate:� index%:ș"Coco_GetInfos" �,index%,,,,currspd%:ș66 � time%:display$=�sprite(currtrak%�&FF)+�sprite(index%)+�playtime:� i%=1 � 8:�seticonsprite(w_main%,22+i%,�display$,i%,1)):�:� jw��nullupdate:� index%,i%,display$:�fadeupdate:ș"Coco_GetInfos" �,index%,,,,currspd%:� index%>((currtrak%>>8)�&FF)� �~currtrak%=(currtrak%�&FF)� (index%<<8):display$=�sprite(index%):� i%=1 � 2:�seticonsprite(w_main%,24+i%,�display$,i%,1)):� �$�:� index%<((currtrak%>>8)�&FF)� � �tfwd �/�:display$=�playtime:� display$<>oldtime$ � Poldtime$=display$:� i%=1 � 4:�seticonsprite(w_main%,26+i%,�display$,i%,1)):� 2� <�:� Zݤsprite(n%):=�"~"+�n%,2) x%ݤplaytime:� i%:� (playstat%� 2)� �i%=pausetime%-playtime% ��:ș66 � i%:i%-=playtime% �2�:=�"~"+�(i%�6000),2)+�"0"+�((i%�6000)�100),2) ҡݤsubindex:ș"Coco_GetInfos" �,,patadr%,seqadr%,trakadr%,,nvoice%:pattern%=?seqadr%:patoff%=patadr%-(trakadr%!28+nvoice%*4*64*pattern%):=patoff%� (nvoice%*4) ���dragvolume:blkp%=�malloc(44):blk%=!blkp%:!blk%=w_main%:ș262347,,blk%:x%=blk%!4-blk%!20:y%=blk%!16-blk%!24:dragmin%=y%+volminy%:dragmax%=y%+volmaxy%:blk%!4=7:blk%!24=x%+(volminx%+volmaxx%)�2:blk%!28=y%+volminy% JYblk%!32=x%+(volminx%+volmaxx%)�2:blk%!36=y%+volmaxy%:� drag%=��ș262352,,blk%:drag%=� ^&�setvolume(volume%):�free(blkp%):� ���userdragbox(box%):� R��msg_initialise(N$):� c%,c$,i%:c%=�(N$):�c%=0 � 0,"Cannot find messages file" 03ms_tags%=0:ș263872:ȕ�(�#c%):c$=�#c%:�c$<>"" � b�c$,1)<>"#" � l�c$,":")<>0ms_tags%+=1 v� ��:�:�ms_tags%<>0 � �U� ms_text$(ms_tags%-1),ms_tags$(ms_tags%-1):�#c%=0:i%=0:ȕ��#c%:c$=�#c%:�c$<>"" � ��c$,1)<>"#" � �Cms_tags$(i%)=�c$,�c$,":")-1):ms_text$(i%)=�c$,�c$,":")+1):i%+=1 !� !�:� ! �:�#c%:ș263873:� !R'ݤmsg_0(T$):=�msg_4(T$,"","","","") !p*ݤmsg_1(T$,S$):=�msg_4(T$,S$,"","","") !�1ݤmsg_2(T$,S0$,S1$):=�msg_4(T$,S0$,S1$,"","") !�6ݤmsg_3(T$,S0$,S1$,S2$):=�msg_4(T$,S0$,S1$,S2$,"") !�5ݤmsg_4(T$,S0$,S1$,S2$,S3$):� i%,f%:�ms_tags%=0 � !�=T$ !�*�:�i%=0 � ms_tags%-1:�T$=ms_tags$(i%)� "AT$=ms_text$(i%):f%=�T$,"%0"):�f%<>0T$=�T$,f%-1)+S0$+�T$,f%+2) ".1f%=�T$,"%1"):�f%<>0T$=�T$,f%-1)+S1$+�T$,f%+2) "B1f%=�T$,"%2"):�f%<>0T$=�T$,f%-1)+S2$+�T$,f%+2) "V1f%=�T$,"%3"):�f%<>0T$=�T$,f%-1)+S3$+�T$,f%+2) "ji%=ms_tags% "t�:� "� �:=T$ "���msg_end:� �
00000000 0d 00 1e 1c 2a 7c 20 50 72 6f 67 72 61 6d 3a 20 |....*| Program: | 00000010 20 20 20 43 6c 6f 77 6e 50 6c 61 79 0d 00 28 2b | ClownPlay..(+| 00000020 2a 7c 20 50 75 72 70 6f 73 65 3a 20 20 20 20 50 |*| Purpose: P| 00000030 6c 61 79 20 43 6f 63 6f 6e 69 7a 65 72 20 54 72 |lay Coconizer Tr| 00000040 61 6b 46 69 6c 65 73 0d 00 32 1f 2a 7c 20 41 75 |akFiles..2.*| Au| 00000050 74 68 6f 72 3a 20 20 20 20 20 47 61 72 65 74 68 |thor: Gareth| 00000060 20 42 6f 64 65 6e 0d 00 3c 2f 2a 7c 20 43 6f 70 | Boden..</*| Cop| 00000070 79 72 69 67 68 74 3a 20 20 48 65 61 64 46 69 72 |yright: HeadFir| 00000080 73 74 20 50 75 62 6c 69 63 20 44 6f 6d 61 69 6e |st Public Domain| 00000090 20 31 39 39 33 0d 00 46 30 ee 85 ef 34 2c 33 30 | 1993..F0...4,30| 000000a0 3a f1 f6 24 3b 22 20 28 49 6e 74 65 72 6e 61 6c |:..$;" (Internal| 000000b0 20 65 72 72 6f 72 20 63 6f 64 65 20 22 3b 9e 3b | error code ";.;| 000000c0 22 29 22 3a e0 0d 00 5a 75 de 20 70 61 74 68 25 |")":...Zu. path%| 000000d0 32 35 36 3a c8 99 31 33 31 31 30 37 2c 22 43 6c |256:..131107,"Cl| 000000e0 6f 77 6e 50 6c 61 79 24 44 69 72 22 2c 70 61 74 |ownPlay$Dir",pat| 000000f0 68 25 2c 32 35 36 2c 30 2c 30 20 b8 2c 2c 6c 65 |h%,256,0,0 .,,le| 00000100 6e 25 3a e7 20 6c 65 6e 25 3d 30 20 85 20 30 2c |n%:. len%=0 . 0,| 00000110 22 3c 43 6c 6f 77 6e 50 6c 61 79 24 44 69 72 3e |"<ClownPlay$Dir>| 00000120 20 74 6f 6f 20 6c 6f 6e 67 20 6f 72 20 6e 6f 6e | too long or non| 00000130 2d 65 78 69 73 74 65 6e 74 22 0d 00 82 cf 70 61 |-existent"....pa| 00000140 74 68 25 3f 6c 65 6e 25 3d 31 33 3a 70 61 74 68 |th%?len%=13:path| 00000150 24 3d 24 70 61 74 68 25 3a 72 65 73 6f 75 72 63 |$=$path%:resourc| 00000160 65 24 3d 70 61 74 68 24 2b 22 2e 52 65 73 6f 75 |e$=path$+".Resou| 00000170 72 63 65 73 22 3a 72 6d 73 74 6f 72 65 24 3d 70 |rces":rmstore$=p| 00000180 61 74 68 24 2b 22 2e 52 4d 53 74 6f 72 65 22 3a |ath$+".RMStore":| 00000190 c8 99 31 36 20 b8 20 65 6e 76 24 3a 65 6e 76 24 |..16 . env$:env$| 000001a0 3d c1 65 6e 76 24 2c a7 65 6e 76 24 2c 22 22 22 |=.env$,.env$,"""| 000001b0 22 2c a7 65 6e 76 24 2c 22 22 22 22 29 2b 31 29 |",.env$,"""")+1)| 000001c0 2b 31 29 3a c8 95 c0 65 6e 76 24 2c 31 29 3d 22 |+1):...env$,1)="| 000001d0 20 22 3a 65 6e 76 24 3d c1 65 6e 76 24 2c 32 29 | ":env$=.env$,2)| 000001e0 3a ce 3a f2 6d 73 67 5f 69 6e 69 74 69 61 6c 69 |:.:.msg_initiali| 000001f0 73 65 28 72 65 73 6f 75 72 63 65 24 2b 22 2e 4d |se(resource$+".M| 00000200 65 73 73 61 67 65 73 22 29 0d 00 c8 66 76 65 72 |essages")...fver| 00000210 73 69 6f 6e 24 3d a4 6d 73 67 5f 30 28 22 56 45 |sion$=.msg_0("VE| 00000220 52 22 29 3a c8 99 32 36 32 33 33 36 2c 32 30 30 |R"):..262336,200| 00000230 2c 26 34 42 35 33 34 31 35 34 2c 22 43 6c 6f 77 |,&4B534154,"Clow| 00000240 6e 50 6c 61 79 22 20 b8 20 77 69 6d 70 5f 76 65 |nPlay" . wimp_ve| 00000250 72 25 2c 74 61 73 6b 5f 68 6e 64 25 3a de 20 70 |r%,task_hnd%:. p| 00000260 6f 6c 6c 5f 62 6c 6b 25 32 35 35 3a ee 85 87 0d |oll_blk%255:....| 00000270 00 fa 26 e7 20 77 69 6d 70 5f 76 65 72 25 3c 32 |..&. wimp_ver%<2| 00000280 30 30 20 8c 85 20 30 2c a4 6d 73 67 30 28 22 45 |00 .. 0,.msg0("E| 00000290 52 52 30 22 29 0d 01 04 64 c8 99 22 57 69 6d 70 |RR0")...d.."Wimp| 000002a0 45 78 74 5f 49 6e 69 74 69 61 6c 69 73 65 22 2c |Ext_Initialise",| 000002b0 35 2c 74 61 73 6b 5f 68 6e 64 25 2c 25 30 30 31 |5,task_hnd%,%001| 000002c0 31 30 31 30 20 b8 20 77 69 6d 70 65 78 74 5f 76 |1010 . wimpext_v| 000002d0 65 72 25 3a e7 20 77 69 6d 70 65 78 74 5f 76 65 |er%:. wimpext_ve| 000002e0 72 25 3c 31 36 37 20 8c 85 20 30 2c a4 6d 73 67 |r%<167 .. 0,.msg| 000002f0 30 28 22 45 52 52 31 22 29 0d 01 22 2e f2 68 65 |0("ERR1").."..he| 00000300 61 70 69 6e 69 74 3a e7 20 77 69 6d 70 5f 76 65 |apinit:. wimp_ve| 00000310 72 25 3e 3d 33 30 30 20 8c f2 6d 75 6c 74 69 70 |r%>=300 ..multip| 00000320 6c 65 63 68 65 63 6b 0d 01 40 33 c8 99 32 36 33 |lecheck..@3..263| 00000330 38 37 32 3a ee 85 f2 65 72 72 6f 72 28 f6 24 2b |872:...error(.$+| 00000340 a4 69 6e 74 65 72 72 28 9e 29 29 3a 71 75 69 74 |.interr(.)):quit| 00000350 25 3d 2d 32 3a f2 70 6f 6c 6c 0d 01 68 88 f2 6c |%=-2:.poll..h..l| 00000360 6f 61 64 73 70 72 69 74 65 73 3a de 20 77 69 6e |oadsprites:. win| 00000370 68 61 6e 64 6c 65 25 37 2a 34 2d 31 2c 74 65 6d |handle%7*4-1,tem| 00000380 70 5f 62 75 66 25 26 32 30 30 30 2c 69 6e 64 5f |p_buf%&2000,ind_| 00000390 62 75 66 25 26 31 30 30 30 3a e3 20 69 25 3d 30 |buf%&1000:. i%=0| 000003a0 20 b8 20 37 2a 34 2d 31 20 88 34 3a 77 69 6e 68 | . 7*4-1 .4:winh| 000003b0 61 6e 64 6c 65 25 21 69 25 3d 30 3a ed 69 25 3a |andle%!i%=0:.i%:| 000003c0 77 69 6e 68 61 6e 64 6c 65 25 21 38 3d 25 30 31 |winhandle%!8=%01| 000003d0 3a 77 69 6e 68 61 6e 64 6c 65 25 21 31 32 3d 25 |:winhandle%!12=%| 000003e0 30 31 0d 01 90 d6 c8 99 22 57 69 6d 70 45 78 74 |01......"WimpExt| 000003f0 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 65 73 22 2c |_LoadTemplates",| 00000400 77 69 6e 68 61 6e 64 6c 65 25 2c 74 65 6d 70 5f |winhandle%,temp_| 00000410 62 75 66 25 2c 69 6e 64 5f 62 75 66 25 2c 69 6e |buf%,ind_buf%,in| 00000420 64 5f 62 75 66 25 2b 26 31 30 30 30 2c 2d 31 2c |d_buf%+&1000,-1,| 00000430 72 65 73 6f 75 72 63 65 24 2b 22 2e 54 65 6d 70 |resource$+".Temp| 00000440 6c 61 74 65 73 22 2c 73 70 72 69 74 65 5f 61 72 |lates",sprite_ar| 00000450 65 61 25 3a 77 5f 69 6e 66 6f 25 3d 77 69 6e 68 |ea%:w_info%=winh| 00000460 61 6e 64 6c 65 25 21 30 3a 77 5f 73 61 76 65 25 |andle%!0:w_save%| 00000470 3d 77 69 6e 68 61 6e 64 6c 65 25 21 34 3a 77 5f |=winhandle%!4:w_| 00000480 6d 61 69 6e 25 3d 77 69 6e 68 61 6e 64 6c 65 25 |main%=winhandle%| 00000490 21 38 3a 77 5f 6c 69 73 74 25 3d 77 69 6e 68 61 |!8:w_list%=winha| 000004a0 6e 64 6c 65 25 21 31 32 3a 71 75 69 74 25 3d a3 |ndle%!12:quit%=.| 000004b0 3a 64 72 61 67 25 3d a3 0d 01 d6 21 ee 85 f2 65 |:drag%=....!...e| 000004c0 72 72 6f 72 28 f6 24 2b a4 69 6e 74 65 72 72 28 |rror(.$+.interr(| 000004d0 9e 29 29 3a f2 70 6f 6c 6c 0d 01 e0 54 69 63 6f |.)):.poll...Tico| 000004e0 6e 5f 68 6e 64 25 3d a4 69 63 6f 6e 62 61 72 28 |n_hnd%=.iconbar(| 000004f0 22 21 63 6c 6f 77 6e 70 6c 61 79 22 29 3a f2 69 |"!clownplay"):.i| 00000500 63 6f 6e 73 74 72 28 77 5f 69 6e 66 6f 25 2c 33 |constr(w_info%,3| 00000510 2c 76 65 72 73 69 6f 6e 24 29 3a f2 69 6e 69 74 |,version$):.init| 00000520 3a e7 20 65 6e 76 24 3c 3e 22 22 20 8c 0d 02 1c |:. env$<>"" ....| 00000530 44 c8 99 38 2c 31 37 2c 65 6e 76 24 20 b8 2c 2c |D..8,17,env$ .,,| 00000540 6c 6f 61 64 25 3a 6c 6f 61 64 25 3d 28 6c 6f 61 |load%:load%=(loa| 00000550 64 25 3e 3e 38 29 80 26 46 46 46 46 46 46 3a e7 |d%>>8).&FFFFFF:.| 00000560 20 6c 6f 61 64 25 3c 3e 26 46 46 46 33 36 35 20 | load%<>&FFF365 | 00000570 8c 0d 02 3a 82 c8 99 22 57 69 6d 70 45 78 74 5f |...:..."WimpExt_| 00000580 43 6f 6e 74 72 6f 6c 49 6d 6d 65 64 69 61 74 65 |ControlImmediate| 00000590 22 2c 2c 32 2c a4 6d 73 67 5f 30 28 22 51 22 29 |",,2,.msg_0("Q")| 000005a0 2c a4 6d 73 67 5f 30 28 22 51 30 22 29 2c a4 6d |,.msg_0("Q0"),.m| 000005b0 73 67 5f 30 28 22 59 22 29 2b bd 30 2b a4 6d 73 |sg_0("Y")+.0+.ms| 000005c0 67 5f 30 28 22 4e 22 29 2b c4 33 2c bd 30 29 2c |g_0("N")+.3,.0),| 000005d0 31 20 b8 20 69 63 6f 6e 25 3a e7 20 69 63 6f 6e |1 . icon%:. icon| 000005e0 25 3d 30 20 8c 20 6c 6f 61 64 25 3d 26 46 46 46 |%=0 . load%=&FFF| 000005f0 33 36 35 0d 02 4e 17 cd 3a e7 20 6c 6f 61 64 25 |365..N..:. load%| 00000600 3d 26 46 46 46 33 36 35 20 8c 0d 02 62 5e 6e 75 |=&FFF365 ...b^nu| 00000610 6d 74 72 61 6b 73 25 2b 3d 31 3a 74 72 61 6b 66 |mtraks%+=1:trakf| 00000620 69 6c 65 24 28 6e 75 6d 74 72 61 6b 73 25 29 3d |ile$(numtraks%)=| 00000630 65 6e 76 24 3a 74 72 61 6b 73 74 61 74 25 28 6e |env$:trakstat%(n| 00000640 75 6d 74 72 61 6b 73 25 29 3d 31 3a f2 75 70 64 |umtraks%)=1:.upd| 00000650 61 74 65 69 6e 66 6f 28 6e 75 6d 74 72 61 6b 73 |ateinfo(numtraks| 00000660 25 29 3a f2 70 6c 61 79 0d 02 94 05 cd 0d 02 9e |%):.play........| 00000670 16 cd 3a c8 99 32 36 33 38 37 33 3a f2 70 6f 6c |..:..263873:.pol| 00000680 6c 3a e0 0d 02 d0 5a dd f2 6c 6f 61 64 73 70 72 |l:....Z..loadspr| 00000690 69 74 65 73 3a ea 20 73 70 72 69 74 65 73 75 66 |ites:. spritesuf| 000006a0 66 25 2c 73 70 72 69 74 65 73 75 66 66 24 2c 6e |f%,spritesuff$,n| 000006b0 78 25 2c 6e 79 25 2c 62 70 70 25 2c 65 78 69 73 |x%,ny%,bpp%,exis| 000006c0 74 73 25 2c 73 73 69 7a 65 25 3a e7 20 77 69 6d |ts%,ssize%:. wim| 000006d0 70 5f 76 65 72 25 3e 3d 33 30 30 20 8c 0d 02 f8 |p_ver%>=300 ....| 000006e0 3e c8 99 32 36 32 33 38 36 2c 32 20 b8 20 73 70 |>..262386,2 . sp| 000006f0 72 69 74 65 73 75 66 66 25 3a 73 70 72 69 74 65 |ritesuff%:sprite| 00000700 73 75 66 66 24 3d a4 7a 65 72 6f 73 74 72 28 73 |suff$=.zerostr(s| 00000710 70 72 69 74 65 73 75 66 66 25 29 0d 03 0c 88 cc |pritesuff%).....| 00000720 3a c8 99 35 33 2c 2d 31 2c 34 20 b8 2c 2c 6e 78 |:..53,-1,4 .,,nx| 00000730 25 3a c8 99 35 33 2c 2d 31 2c 35 20 b8 2c 2c 6e |%:..53,-1,5 .,,n| 00000740 79 25 3a c8 99 35 33 2c 2d 31 2c 39 20 b8 2c 2c |y%:..53,-1,9 .,,| 00000750 62 70 70 25 3a 73 70 72 69 74 65 73 75 66 66 24 |bpp%:spritesuff$| 00000760 3d c3 28 31 3c 3c 6e 78 25 29 2b c3 28 31 3c 3c |=.(1<<nx%)+.(1<<| 00000770 6e 79 25 29 3a e7 20 62 70 70 25 3d 30 20 80 20 |ny%):. bpp%=0 . | 00000780 73 70 72 69 74 65 73 75 66 66 24 3d 22 32 32 22 |spritesuff$="22"| 00000790 20 8c 20 73 70 72 69 74 65 73 75 66 66 24 3d 22 | . spritesuff$="| 000007a0 32 33 22 0d 03 48 41 cd 3a e7 ac a4 65 78 69 73 |23"..HA.:...exis| 000007b0 74 73 28 72 65 73 6f 75 72 63 65 24 2b 22 2e 53 |ts(resource$+".S| 000007c0 70 72 69 74 65 73 22 2b 73 70 72 69 74 65 73 75 |prites"+spritesu| 000007d0 66 66 24 29 8c 20 73 70 72 69 74 65 73 75 66 66 |ff$). spritesuff| 000007e0 24 3d 22 22 0d 03 5c c5 73 73 69 7a 65 25 3d a4 |$=""..\.ssize%=.| 000007f0 6c 65 6e 67 74 68 28 72 65 73 6f 75 72 63 65 24 |length(resource$| 00000800 2b 22 2e 53 70 72 69 74 65 73 22 2b 73 70 72 69 |+".Sprites"+spri| 00000810 74 65 73 75 66 66 24 29 2b 34 3a de 20 73 70 72 |tesuff$)+4:. spr| 00000820 69 74 65 5f 61 72 65 61 25 73 73 69 7a 65 25 3a |ite_area%ssize%:| 00000830 73 70 72 69 74 65 5f 61 72 65 61 25 21 30 3d 73 |sprite_area%!0=s| 00000840 73 69 7a 65 25 3a 73 70 72 69 74 65 5f 61 72 65 |size%:sprite_are| 00000850 61 25 21 38 3d 31 36 3a c8 99 34 36 2c 32 35 36 |a%!8=16:..46,256| 00000860 2b 39 2c 73 70 72 69 74 65 5f 61 72 65 61 25 3a |+9,sprite_area%:| 00000870 c8 99 34 36 2c 32 35 36 2b 31 30 2c 73 70 72 69 |..46,256+10,spri| 00000880 74 65 5f 61 72 65 61 25 2c 72 65 73 6f 75 72 63 |te_area%,resourc| 00000890 65 24 2b 22 2e 53 70 72 69 74 65 73 22 2b 73 70 |e$+".Sprites"+sp| 000008a0 72 69 74 65 73 75 66 66 24 0d 03 8e 2a c8 99 32 |ritesuff$...*..2| 000008b0 36 32 33 37 37 2c 31 31 2c 2c 72 65 73 6f 75 72 |62377,11,,resour| 000008c0 63 65 24 2b 22 2e 57 69 6d 70 53 70 72 69 74 65 |ce$+".WimpSprite| 000008d0 22 3a e1 0d 03 ac 5f dd a4 69 63 6f 6e 62 61 72 |":...._..iconbar| 000008e0 28 6e 61 6d 65 24 29 3a ea 20 69 63 6f 6e 5f 68 |(name$):. icon_h| 000008f0 6e 64 25 3a c8 99 22 57 69 6d 70 45 78 74 5f 49 |nd%:.."WimpExt_I| 00000900 63 6f 6e 42 61 72 53 70 72 69 74 65 22 2c 2c 2c |conBarSprite",,,| 00000910 2d 31 2c 6e 61 6d 65 24 2c 2c 33 20 b8 20 69 63 |-1,name$,,3 . ic| 00000920 6f 6e 5f 68 6e 64 25 3a 3d 69 63 6f 6e 5f 68 6e |on_hnd%:=icon_hn| 00000930 64 25 0d 03 de 4c dd f2 69 63 6f 6e 73 74 72 28 |d%...L..iconstr(| 00000940 68 6e 64 25 2c 69 63 6f 6e 25 2c 73 74 72 24 29 |hnd%,icon%,str$)| 00000950 3a c8 99 22 57 69 6d 70 45 78 74 5f 53 65 74 49 |:.."WimpExt_SetI| 00000960 63 6f 6e 53 74 72 69 6e 67 22 2c 2c 2c 68 6e 64 |conString",,,hnd| 00000970 25 2c 69 63 6f 6e 25 2c 73 74 72 24 3a e1 0d 04 |%,icon%,str$:...| 00000980 06 4e dd f2 69 63 6f 6e 73 74 72 6e 28 68 6e 64 |.N..iconstrn(hnd| 00000990 25 2c 69 63 6f 6e 25 2c 73 74 72 24 29 3a c8 99 |%,icon%,str$):..| 000009a0 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e |"WimpExt_SetIcon| 000009b0 53 74 72 69 6e 67 4e 22 2c 2c 2c 68 6e 64 25 2c |StringN",,,hnd%,| 000009c0 69 63 6f 6e 25 2c 73 74 72 24 3a e1 0d 04 2e 4c |icon%,str$:....L| 000009d0 dd f2 69 63 6f 6e 6e 75 6d 28 68 6e 64 25 2c 69 |..iconnum(hnd%,i| 000009e0 63 6f 6e 25 2c 6e 75 6d 25 29 3a c8 99 22 57 69 |con%,num%):.."Wi| 000009f0 6d 70 45 78 74 5f 53 65 74 4e 75 6d 62 65 72 49 |mpExt_SetNumberI| 00000a00 63 6f 6e 22 2c 2c 2c 68 6e 64 25 2c 69 63 6f 6e |con",,,hnd%,icon| 00000a10 25 2c 6e 75 6d 25 3a e1 0d 04 56 4f dd a4 67 69 |%,num%:...VO..gi| 00000a20 73 28 68 6e 64 25 2c 69 63 6f 6e 25 29 3a ea 20 |s(hnd%,icon%):. | 00000a30 70 25 3a c8 99 22 57 69 6d 70 45 78 74 5f 47 65 |p%:.."WimpExt_Ge| 00000a40 74 49 63 6f 6e 22 2c 2c 2c 68 6e 64 25 2c 69 63 |tIcon",,,hnd%,ic| 00000a50 6f 6e 25 b8 2c 2c 2c 70 25 3a 3d a4 7a 65 72 6f |on%.,,,p%:=.zero| 00000a60 73 74 72 28 70 25 29 0d 04 88 ad dd f2 70 6f 6c |str(p%)......pol| 00000a70 6c 3a ea 20 72 65 61 73 6f 6e 25 3a c8 95 20 71 |l:. reason%:.. q| 00000a80 75 69 74 25 3d a3 3a c8 99 22 57 69 6d 70 45 78 |uit%=.:.."WimpEx| 00000a90 74 5f 50 72 65 50 6f 6c 6c 22 3a c8 99 32 36 32 |t_PrePoll":..262| 00000aa0 33 34 33 2c 25 31 31 31 30 30 30 30 30 31 31 30 |343,%11100000110| 00000ab0 30 30 30 2c 70 6f 6c 6c 5f 62 6c 6b 25 b8 20 72 |000,poll_blk%. r| 00000ac0 65 61 73 6f 6e 25 2c 70 6f 6c 6c 5f 62 6c 6b 25 |eason%,poll_blk%| 00000ad0 3a c8 99 22 57 69 6d 70 45 78 74 5f 41 63 74 69 |:.."WimpExt_Acti| 00000ae0 6f 6e 22 2c 74 61 73 6b 5f 68 6e 64 25 2c 70 6f |on",task_hnd%,po| 00000af0 6c 6c 5f 62 6c 6b 25 2c 72 65 61 73 6f 6e 25 b8 |ll_blk%,reason%.| 00000b00 20 72 65 61 73 6f 6e 25 3a c8 8e 20 72 65 61 73 | reason%:.. reas| 00000b10 6f 6e 25 ca 0d 04 ce 26 c9 20 30 3a e7 20 28 70 |on%....&. 0:. (p| 00000b20 6c 61 79 73 74 61 74 25 80 33 29 3d 31 20 8c f2 |laystat%.3)=1 ..| 00000b30 6e 75 6c 6c 75 70 64 61 74 65 0d 04 d8 0c e7 20 |nullupdate..... | 00000b40 64 72 61 67 25 8c 0d 04 e2 68 c8 99 32 36 32 33 |drag%....h..2623| 00000b50 35 31 2c 2c 70 6f 6c 6c 5f 62 6c 6b 25 3a 76 6f |51,,poll_blk%:vo| 00000b60 6c 75 6d 65 25 3d 32 35 35 2d 28 28 70 6f 6c 6c |lume%=255-((poll| 00000b70 5f 62 6c 6b 25 21 34 2d 64 72 61 67 6d 69 6e 25 |_blk%!4-dragmin%| 00000b80 29 2f 28 64 72 61 67 6d 61 78 25 2d 64 72 61 67 |)/(dragmax%-drag| 00000b90 6d 69 6e 25 29 29 2a 32 35 35 3a f2 73 65 74 76 |min%))*255:.setv| 00000ba0 6f 6c 75 6d 65 28 76 6f 6c 75 6d 65 25 29 0d 05 |olume(volume%)..| 00000bb0 00 05 cd 0d 05 0a 29 c9 20 31 3a c8 99 22 57 69 |......). 1:.."Wi| 00000bc0 6d 70 45 78 74 5f 41 75 74 6f 52 65 64 72 61 77 |mpExt_AutoRedraw| 00000bd0 22 2c 2c 70 6f 6c 6c 5f 62 6c 6b 25 0d 05 14 1b |",,poll_blk%....| 00000be0 c9 20 32 3a c8 99 32 36 32 33 34 31 2c 2c 70 6f |. 2:..262341,,po| 00000bf0 6c 6c 5f 62 6c 6b 25 0d 05 1e 1b c9 20 33 3a c8 |ll_blk%..... 3:.| 00000c00 99 32 36 32 33 34 32 2c 2c 70 6f 6c 6c 5f 62 6c |.262342,,poll_bl| 00000c10 6b 25 0d 05 28 51 c9 20 36 3a f2 6d 6f 75 73 65 |k%..(Q. 6:.mouse| 00000c20 63 6c 69 63 6b 28 21 70 6f 6c 6c 5f 62 6c 6b 25 |click(!poll_blk%| 00000c30 2c 70 6f 6c 6c 5f 62 6c 6b 25 21 34 2c 70 6f 6c |,poll_blk%!4,pol| 00000c40 6c 5f 62 6c 6b 25 21 38 2c 70 6f 6c 6c 5f 62 6c |l_blk%!8,poll_bl| 00000c50 6b 25 21 31 32 2c 70 6f 6c 6c 5f 62 6c 6b 25 21 |k%!12,poll_blk%!| 00000c60 31 36 29 0d 05 32 60 c9 20 37 3a 64 72 61 67 25 |16)..2`. 7:drag%| 00000c70 3d a3 3a 76 6f 6c 75 6d 65 25 3d 32 35 35 2d 28 |=.:volume%=255-(| 00000c80 28 70 6f 6c 6c 5f 62 6c 6b 25 21 34 2d 64 72 61 |(poll_blk%!4-dra| 00000c90 67 6d 69 6e 25 29 2f 28 64 72 61 67 6d 61 78 25 |gmin%)/(dragmax%| 00000ca0 2d 64 72 61 67 6d 69 6e 25 29 29 2a 32 35 35 3a |-dragmin%))*255:| 00000cb0 f2 73 65 74 76 6f 6c 75 6d 65 28 76 6f 6c 75 6d |.setvolume(volum| 00000cc0 65 25 29 0d 05 3c 36 c9 20 38 3a f2 6b 65 79 70 |e%)..<6. 8:.keyp| 00000cd0 72 65 73 73 28 21 70 6f 6c 6c 5f 62 6c 6b 25 2c |ress(!poll_blk%,| 00000ce0 70 6f 6c 6c 5f 62 6c 6b 25 21 34 2c 70 6f 6c 6c |poll_blk%!4,poll| 00000cf0 5f 62 6c 6b 25 21 32 34 29 0d 05 46 1e c9 20 39 |_blk%!24)..F.. 9| 00000d00 3a f2 6d 65 6e 75 73 65 6c 65 63 74 28 70 6f 6c |:.menuselect(pol| 00000d10 6c 5f 62 6c 6b 25 29 0d 05 50 23 c9 20 31 37 2c |l_blk%)..P#. 17,| 00000d20 31 38 3a f2 75 73 65 72 6d 65 73 73 61 67 65 28 |18:.usermessage(| 00000d30 70 6f 6c 6c 5f 62 6c 6b 25 29 0d 05 5a 18 c9 20 |poll_blk%)..Z.. | 00000d40 31 39 3a f2 61 63 6b 28 70 6f 6c 6c 5f 62 6c 6b |19:.ack(poll_blk| 00000d50 25 29 0d 05 64 12 cb 3a ce 3a e7 20 71 75 69 74 |%)..d..:.:. quit| 00000d60 25 3d b9 8c 0d 05 82 28 e7 a4 63 68 65 63 6b 6b |%=.....(..checkk| 00000d70 69 6c 6c 20 c8 99 33 30 2c 34 2c 22 43 6f 63 6f |ill ..30,4,"Coco| 00000d80 6e 69 7a 65 72 50 6c 61 79 65 72 22 0d 05 8c 1e |nizerPlayer"....| 00000d90 cc 3a c8 99 33 30 2c 34 2c 22 43 6f 63 6f 6e 69 |.:..30,4,"Coconi| 00000da0 7a 65 72 50 6c 61 79 65 72 22 0d 05 a0 32 cd 3a |zerPlayer"...2.:| 00000db0 c8 99 22 57 69 6d 70 45 78 74 5f 43 6c 6f 73 65 |.."WimpExt_Close| 00000dc0 44 6f 77 6e 22 2c 74 61 73 6b 5f 68 6e 64 25 3a |Down",task_hnd%:| 00000dd0 c8 99 32 36 32 33 36 35 3a e0 3a e1 0d 05 dc 30 |..262365:.:....0| 00000de0 dd f2 6d 61 6b 65 6d 65 6e 75 73 3a 6d 5f 6d 61 |..makemenus:m_ma| 00000df0 69 6e 70 25 3d a4 6d 65 6e 75 28 a4 6d 73 67 5f |inp%=.menu(.msg_| 00000e00 30 28 22 4d 45 4e 30 22 29 29 3a e1 0d 06 04 ab |0("MEN0")):.....| 00000e10 dd a4 6d 65 6e 75 28 6d 65 6e 75 24 29 3a ea 20 |..menu(menu$):. | 00000e20 69 74 65 6d 73 25 2c 73 75 62 6d 65 6e 75 25 2c |items%,submenu%,| 00000e30 76 61 6c 64 24 2c 6e 65 77 6e 61 6d 65 24 2c 6d |vald$,newname$,m| 00000e40 5f 6f 66 66 25 2c 6c 61 73 74 25 2c 6d 65 73 73 |_off%,last%,mess| 00000e50 61 67 65 25 2c 69 25 2c 6a 25 2c 69 74 65 6d 6f |age%,i%,j%,itemo| 00000e60 66 66 25 2c 6c 65 6e 67 74 68 25 2c 76 6c 65 6e |ff%,length%,vlen| 00000e70 25 2c 6d 65 6e 62 6c 6b 25 2c 6d 65 6e 62 6c 6b |%,menblk%,menblk| 00000e80 70 25 3a 69 74 65 6d 73 25 3d 30 3a 73 75 62 6d |p%:items%=0:subm| 00000e90 65 6e 75 25 3d 30 3a e3 20 69 25 3d 31 20 b8 a9 |enu%=0:. i%=1 ..| 00000ea0 28 6d 65 6e 75 24 29 3a c8 8e c1 6d 65 6e 75 24 |(menu$):...menu$| 00000eb0 2c 69 25 2c 31 29 ca 0d 06 36 22 c9 20 22 2c 22 |,i%,1)...6". ","| 00000ec0 3a e7 20 73 75 62 6d 65 6e 75 25 3d 30 20 8c 20 |:. submenu%=0 . | 00000ed0 69 74 65 6d 73 25 2b 3d 31 0d 06 40 15 c9 20 22 |items%+=1..@.. "| 00000ee0 3e 22 3a 73 75 62 6d 65 6e 75 25 2b 3d 31 0d 06 |>":submenu%+=1..| 00000ef0 4a 15 c9 20 22 5e 22 3a 73 75 62 6d 65 6e 75 25 |J.. "^":submenu%| 00000f00 2d 3d 31 0d 06 54 dd cb 3a ed 3a 6d 65 6e 75 24 |-=1..T..:.:menu$| 00000f10 2b 3d 22 2c 22 3a 6d 65 6e 62 6c 6b 70 25 3d a4 |+=",":menblkp%=.| 00000f20 6d 61 6c 6c 6f 63 28 32 38 2b 32 34 2a 69 74 65 |malloc(28+24*ite| 00000f30 6d 73 25 29 3a 6d 65 6e 62 6c 6b 25 3d 21 6d 65 |ms%):menblk%=!me| 00000f40 6e 62 6c 6b 70 25 3a 24 6d 65 6e 62 6c 6b 25 3d |nblkp%:$menblk%=| 00000f50 c0 6d 65 6e 75 24 2c a7 6d 65 6e 75 24 2c 22 2c |.menu$,.menu$,",| 00000f60 22 29 2d 31 29 3a 6d 65 6e 62 6c 6b 25 21 31 32 |")-1):menblk%!12| 00000f70 3d 26 30 37 30 32 30 37 3a 6d 65 6e 62 6c 6b 25 |=&070207:menblk%| 00000f80 21 31 36 3d 31 33 2a 31 36 3a 6d 65 6e 62 6c 6b |!16=13*16:menblk| 00000f90 25 21 32 30 3d 34 34 3a 6d 65 6e 62 6c 6b 25 21 |%!20=44:menblk%!| 00000fa0 32 34 3d 30 3a 69 74 65 6d 6f 66 66 25 3d a7 6d |24=0:itemoff%=.m| 00000fb0 65 6e 75 24 2c 22 2c 22 29 2b 31 3a e3 20 69 25 |enu$,",")+1:. i%| 00000fc0 3d 30 20 b8 20 69 74 65 6d 73 25 2d 31 3a 6c 61 |=0 . items%-1:la| 00000fd0 73 74 25 3d a3 3a 6d 65 73 73 61 67 65 25 3d a3 |st%=.:message%=.| 00000fe0 0d 06 cc 31 e7 c1 6d 65 6e 75 24 2c 69 74 65 6d |...1..menu$,item| 00000ff0 6f 66 66 25 2c 31 29 3d 22 7e 22 20 8c 20 6c 61 |off%,1)="~" . la| 00001000 73 74 25 3d b9 3a 69 74 65 6d 6f 66 66 25 2b 3d |st%=.:itemoff%+=| 00001010 31 0d 06 d6 46 69 74 65 6d 24 3d c1 6d 65 6e 75 |1...Fitem$=.menu| 00001020 24 2c 69 74 65 6d 6f 66 66 25 2c a7 6d 65 6e 75 |$,itemoff%,.menu| 00001030 24 2c 22 2c 22 2c 69 74 65 6d 6f 66 66 25 29 2d |$,",",itemoff%)-| 00001040 69 74 65 6d 6f 66 66 25 29 3a e7 a7 69 74 65 6d |itemoff%):..item| 00001050 24 2c 22 3e 22 29 8c 0d 06 ea 86 6e 65 77 6e 61 |$,">").....newna| 00001060 6d 65 24 3d c1 6d 65 6e 75 24 2c 69 74 65 6d 6f |me$=.menu$,itemo| 00001070 66 66 25 2c a7 6d 65 6e 75 24 2c 22 3e 22 2c 69 |ff%,.menu$,">",i| 00001080 74 65 6d 6f 66 66 25 29 2d 69 74 65 6d 6f 66 66 |temoff%)-itemoff| 00001090 25 29 2b 22 2c 22 3a 73 75 62 6d 65 6e 75 25 3d |%)+",":submenu%=| 000010a0 30 3a 6a 25 3d a7 6d 65 6e 75 24 2c 22 3e 22 2c |0:j%=.menu$,">",| 000010b0 69 74 65 6d 6f 66 66 25 29 2b 31 3a e7 c1 6d 65 |itemoff%)+1:..me| 000010c0 6e 75 24 2c 6a 25 2c 31 29 3d 22 2a 22 6d 65 73 |nu$,j%,1)="*"mes| 000010d0 73 61 67 65 25 3d b9 3a 6a 25 2b 3d 31 0d 06 fe |sage%=.:j%+=1...| 000010e0 28 f5 3a 6a 25 2b 3d 31 3a e7 c1 6d 65 6e 75 24 |(.:j%+=1:..menu$| 000010f0 2c 6a 25 2c 31 29 3d 22 3e 22 73 75 62 6d 65 6e |,j%,1)=">"submen| 00001100 75 25 2b 3d 31 0d 07 1c 20 e7 c1 6d 65 6e 75 24 |u%+=1... ..menu$| 00001110 2c 6a 25 2c 31 29 3d 22 5e 22 73 75 62 6d 65 6e |,j%,1)="^"submen| 00001120 75 25 2d 3d 31 0d 07 26 de fd 20 73 75 62 6d 65 |u%-=1..&.. subme| 00001130 6e 75 25 3c 30 3a 6e 65 77 6e 61 6d 65 24 2b 3d |nu%<0:newname$+=| 00001140 c1 6d 65 6e 75 24 2c a7 6d 65 6e 75 24 2c 22 3e |.menu$,.menu$,">| 00001150 22 2c 69 74 65 6d 6f 66 66 25 29 2b 31 2c 6a 25 |",itemoff%)+1,j%| 00001160 2d a7 6d 65 6e 75 24 2c 22 3e 22 2c 69 74 65 6d |-.menu$,">",item| 00001170 6f 66 66 25 29 2d 31 29 3a 6d 5f 6f 66 66 25 3d |off%)-1):m_off%=| 00001180 21 a4 6d 65 6e 75 28 6e 65 77 6e 61 6d 65 24 29 |!.menu(newname$)| 00001190 3a 21 28 6d 65 6e 62 6c 6b 25 2b 32 38 2b 32 34 |:!(menblk%+28+24| 000011a0 2a 69 25 29 3d 25 31 30 30 30 30 2d 25 31 30 30 |*i%)=%10000-%100| 000011b0 30 2a 6d 65 73 73 61 67 65 25 2d 25 31 30 30 30 |0*message%-%1000| 000011c0 30 30 30 30 2a 6c 61 73 74 25 3a 21 28 6d 65 6e |0000*last%:!(men| 000011d0 62 6c 6b 25 2b 33 32 2b 32 34 2a 69 25 29 3d 6d |blk%+32+24*i%)=m| 000011e0 5f 6f 66 66 25 3a 21 28 6d 65 6e 62 6c 6b 25 2b |_off%:!(menblk%+| 000011f0 33 36 2b 32 34 2a 69 25 29 3d 26 30 37 30 30 39 |36+24*i%)=&07009| 00001200 30 31 31 0d 07 62 54 24 28 6d 65 6e 62 6c 6b 25 |011..bT$(menblk%| 00001210 2b 34 30 2b 32 34 2a 69 25 29 3d c1 6d 65 6e 75 |+40+24*i%)=.menu| 00001220 24 2c 69 74 65 6d 6f 66 66 25 2c a7 6d 65 6e 75 |$,itemoff%,.menu| 00001230 24 2c 22 3e 22 2c 69 74 65 6d 6f 66 66 25 29 2d |$,">",itemoff%)-| 00001240 69 74 65 6d 6f 66 66 25 29 3a 69 74 65 6d 6f 66 |itemoff%):itemof| 00001250 66 25 3d 6a 25 2b 32 0d 07 76 56 cc 3a 6e 65 77 |f%=j%+2..vV.:new| 00001260 6e 61 6d 65 24 3d c1 6d 65 6e 75 24 2c 69 74 65 |name$=.menu$,ite| 00001270 6d 6f 66 66 25 2c a7 6d 65 6e 75 24 2c 22 2c 22 |moff%,.menu$,","| 00001280 2c 69 74 65 6d 6f 66 66 25 29 2d 69 74 65 6d 6f |,itemoff%)-itemo| 00001290 66 66 25 29 3a e7 c0 6e 65 77 6e 61 6d 65 24 2c |ff%):..newname$,| 000012a0 31 29 3d 22 7e 22 6c 61 73 74 25 3d b9 0d 07 94 |1)="~"last%=....| 000012b0 14 e7 a7 6e 65 77 6e 61 6d 65 24 2c 22 23 22 29 |...newname$,"#")| 000012c0 8c 0d 07 9e 30 e7 c1 6e 65 77 6e 61 6d 65 24 2c |....0..newname$,| 000012d0 a7 6e 65 77 6e 61 6d 65 24 2c 22 23 22 29 2b 31 |.newname$,"#")+1| 000012e0 2c 31 29 3d 22 2a 22 6d 65 73 73 61 67 65 25 3d |,1)="*"message%=| 000012f0 b9 0d 07 a8 d0 21 28 6d 65 6e 62 6c 6b 25 2b 32 |.....!(menblk%+2| 00001300 38 2b 32 34 2a 69 25 29 3d 25 31 30 30 30 30 2d |8+24*i%)=%10000-| 00001310 25 31 30 30 30 2a 6d 65 73 73 61 67 65 25 2d 25 |%1000*message%-%| 00001320 31 30 30 30 30 30 30 30 2a 6c 61 73 74 25 3a 21 |10000000*last%:!| 00001330 28 6d 65 6e 62 6c 6b 25 2b 33 32 2b 32 34 2a 69 |(menblk%+32+24*i| 00001340 25 29 3d a0 28 22 77 5f 22 2b c1 6e 65 77 6e 61 |%)=.("w_"+.newna| 00001350 6d 65 24 2c a7 6e 65 77 6e 61 6d 65 24 2c 22 23 |me$,.newname$,"#| 00001360 22 29 2b 31 2d 6d 65 73 73 61 67 65 25 29 2b 22 |")+1-message%)+"| 00001370 25 22 29 3a 21 28 6d 65 6e 62 6c 6b 25 2b 33 36 |%"):!(menblk%+36| 00001380 2b 32 34 2a 69 25 29 3d 26 30 37 30 30 39 30 31 |+24*i%)=&0700901| 00001390 31 3a 24 28 6d 65 6e 62 6c 6b 25 2b 34 30 2b 32 |1:$(menblk%+40+2| 000013a0 34 2a 69 25 29 3d c0 6e 65 77 6e 61 6d 65 24 2c |4*i%)=.newname$,| 000013b0 a7 6e 65 77 6e 61 6d 65 24 2c 22 23 22 29 2d 31 |.newname$,"#")-1| 000013c0 29 0d 07 d0 19 cc 3a e7 97 28 6e 65 77 6e 61 6d |).....:..(newnam| 000013d0 65 24 29 3d 97 22 40 22 20 8c 0d 07 e4 de 76 61 |e$)=."@" .....va| 000013e0 6c 64 24 3d c1 6e 65 77 6e 61 6d 65 24 2c a7 6e |ld$=.newname$,.n| 000013f0 65 77 6e 61 6d 65 24 2c 22 5c 22 29 2b 31 29 3a |ewname$,"\")+1):| 00001400 6e 65 77 6e 61 6d 65 24 3d c0 6e 65 77 6e 61 6d |newname$=.newnam| 00001410 65 24 2c a7 6e 65 77 6e 61 6d 65 24 2c 22 5c 22 |e$,.newname$,"\"| 00001420 29 2d 31 29 3a 6c 65 6e 67 74 68 25 3d a9 28 6e |)-1):length%=.(n| 00001430 65 77 6e 61 6d 65 24 29 3a 6d 5f 6f 66 66 25 3d |ewname$):m_off%=| 00001440 21 a4 6d 61 6c 6c 6f 63 28 6c 65 6e 67 74 68 25 |!.malloc(length%| 00001450 2b 31 29 3a 24 6d 5f 6f 66 66 25 3d bd 30 3a 21 |+1):$m_off%=.0:!| 00001460 28 6d 65 6e 62 6c 6b 25 2b 32 38 2b 32 34 2a 69 |(menblk%+28+24*i| 00001470 25 29 3d 25 31 30 31 30 30 2d 31 32 38 2a 6c 61 |%)=%10100-128*la| 00001480 73 74 25 3a 21 28 6d 65 6e 62 6c 6b 25 2b 33 32 |st%:!(menblk%+32| 00001490 2b 32 34 2a 69 25 29 3d 2d 31 3a 21 28 6d 65 6e |+24*i%)=-1:!(men| 000014a0 62 6c 6b 25 2b 33 36 2b 32 34 2a 69 25 29 3d 26 |blk%+36+24*i%)=&| 000014b0 30 37 30 30 39 31 31 31 0d 08 34 90 21 28 6d 65 |07009111..4.!(me| 000014c0 6e 62 6c 6b 25 2b 34 30 2b 32 34 2a 69 25 29 3d |nblk%+40+24*i%)=| 000014d0 6d 5f 6f 66 66 25 3a 76 6c 65 6e 25 3d a9 28 76 |m_off%:vlen%=.(v| 000014e0 61 6c 64 24 29 3a 6d 5f 6f 66 66 25 3d 21 a4 6d |ald$):m_off%=!.m| 000014f0 61 6c 6c 6f 63 28 76 6c 65 6e 25 2b 32 29 3a 24 |alloc(vlen%+2):$| 00001500 6d 5f 6f 66 66 25 3d 76 61 6c 64 24 2b bd 30 3a |m_off%=vald$+.0:| 00001510 21 28 6d 65 6e 62 6c 6b 25 2b 34 34 2b 32 34 2a |!(menblk%+44+24*| 00001520 69 25 29 3d 6d 5f 6f 66 66 25 3a 21 28 6d 65 6e |i%)=m_off%:!(men| 00001530 62 6c 6b 25 2b 34 38 2b 32 34 2a 69 25 29 3d 6c |blk%+48+24*i%)=l| 00001540 65 6e 67 74 68 25 2b 31 0d 08 66 7c cc 3a 21 28 |ength%+1..f|.:!(| 00001550 6d 65 6e 62 6c 6b 25 2b 32 38 2b 32 34 2a 69 25 |menblk%+28+24*i%| 00001560 29 3d 25 31 30 30 30 30 2d 31 32 38 2a 6c 61 73 |)=%10000-128*las| 00001570 74 25 3a 21 28 6d 65 6e 62 6c 6b 25 2b 33 32 2b |t%:!(menblk%+32+| 00001580 32 34 2a 69 25 29 3d 2d 31 3a 21 28 6d 65 6e 62 |24*i%)=-1:!(menb| 00001590 6c 6b 25 2b 33 36 2b 32 34 2a 69 25 29 3d 26 30 |lk%+36+24*i%)=&0| 000015a0 37 30 30 39 30 31 31 3a 24 28 6d 65 6e 62 6c 6b |7009011:$(menblk| 000015b0 25 2b 34 30 2b 32 34 2a 69 25 29 3d 6e 65 77 6e |%+40+24*i%)=newn| 000015c0 61 6d 65 24 0d 08 98 05 cd 0d 08 a2 1d cd 3a 69 |ame$..........:i| 000015d0 74 65 6d 6f 66 66 25 2b 3d a9 28 6e 65 77 6e 61 |temoff%+=.(newna| 000015e0 6d 65 24 29 2b 31 0d 08 b6 11 cd 3a ed 3a 3d 6d |me$)+1.....:.:=m| 000015f0 65 6e 62 6c 6b 70 25 0d 08 de 35 dd f2 6d 6f 75 |enblkp%...5..mou| 00001600 73 65 63 6c 69 63 6b 28 78 25 2c 79 25 2c 62 75 |seclick(x%,y%,bu| 00001610 74 25 2c 68 6e 64 25 2c 69 63 6f 6e 25 29 3a ea |t%,hnd%,icon%):.| 00001620 20 69 25 3a e7 20 62 75 74 25 8b e1 0d 08 fc 0c | i%:. but%......| 00001630 c8 8e 20 68 6e 64 25 ca 0d 09 06 10 c9 2d 32 3a |.. hnd%......-2:| 00001640 c8 8e 20 62 75 74 25 ca 0d 09 1a 1c c9 20 34 3a |.. but%...... 4:| 00001650 f2 6f 70 65 6e 77 69 6e 64 6f 77 28 77 5f 6d 61 |.openwindow(w_ma| 00001660 69 6e 25 29 0d 09 2e 1c c9 20 31 3a f2 6f 70 65 |in%)..... 1:.ope| 00001670 6e 77 69 6e 64 6f 77 28 77 5f 6c 69 73 74 25 29 |nwindow(w_list%)| 00001680 0d 09 42 4d c9 20 32 3a c8 99 22 57 69 6d 70 45 |..BM. 2:.."WimpE| 00001690 78 74 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c |xt_CreateMenu",,| 000016a0 21 6d 5f 6d 61 69 6e 70 25 2c 78 25 2d 34 34 2c |!m_mainp%,x%-44,| 000016b0 36 38 2b 34 2a 34 34 2b 32 38 3a 63 75 72 72 6d |68+4*44+28:currm| 000016c0 65 6e 75 25 3d 6d 5f 6d 61 69 6e 70 25 0d 09 56 |enu%=m_mainp%..V| 000016d0 05 cb 0d 09 60 17 c9 20 77 5f 6d 61 69 6e 25 3a |....`.. w_main%:| 000016e0 c8 8e 20 69 63 6f 6e 25 ca 0d 09 74 0e c9 20 33 |.. icon%...t.. 3| 000016f0 31 3a f2 74 72 65 77 0d 09 7e 0d c9 20 33 32 3a |1:.trew..~.. 32:| 00001700 f2 72 65 77 0d 09 88 0e c9 20 33 33 3a f2 70 6c |.rew..... 33:.pl| 00001710 61 79 0d 09 92 0e c9 20 33 34 3a f2 66 66 77 64 |ay..... 34:.ffwd| 00001720 0d 09 9c 0e c9 20 33 35 3a f2 74 66 77 64 0d 09 |..... 35:.tfwd..| 00001730 a6 0f c9 20 33 36 3a f2 70 61 75 73 65 0d 09 b0 |... 36:.pause...| 00001740 0e c9 20 33 37 3a f2 73 74 6f 70 0d 09 ba 0f c9 |.. 37:.stop.....| 00001750 20 33 38 3a f2 65 6a 65 63 74 0d 09 c4 10 c9 20 | 38:.eject..... | 00001760 34 34 3a f2 66 61 64 65 69 6e 0d 09 ce 11 c9 20 |44:.fadein..... | 00001770 34 35 3a f2 66 61 64 65 6f 75 74 0d 09 d8 24 c9 |45:.fadeout...$.| 00001780 20 34 36 2c 34 37 3a e7 20 62 75 74 25 3d 34 2a | 46,47:. but%=4*| 00001790 31 36 20 8c f2 64 72 61 67 76 6f 6c 75 6d 65 0d |16 ..dragvolume.| 000017a0 09 e2 05 cb 0d 09 ec 07 cb 3a e1 0d 0a 0a 2d dd |.........:....-.| 000017b0 f2 70 6c 61 79 3a e7 20 6e 75 6d 74 72 61 6b 73 |.play:. numtraks| 000017c0 25 3e 30 20 80 20 28 70 6c 61 79 73 74 61 74 25 |%>0 . (playstat%| 000017d0 80 33 29 3c 3e 31 20 8c 0d 0a 1e 13 e7 20 63 75 |.3)<>1 ...... cu| 000017e0 72 72 74 72 61 6b 25 3d 30 20 8c 0d 0a 28 5e 63 |rrtrak%=0 ...(^c| 000017f0 75 72 72 74 72 61 6b 25 3d 31 3a c8 99 22 58 43 |urrtrak%=1:.."XC| 00001800 6f 63 6f 5f 52 65 6c 65 61 73 65 52 4d 41 22 3a |oco_ReleaseRMA":| 00001810 c8 99 22 58 43 6f 63 6f 5f 4c 6f 61 64 54 72 61 |.."XCoco_LoadTra| 00001820 63 6b 22 2c 74 72 61 6b 66 69 6c 65 24 28 31 29 |ck",trakfile$(1)| 00001830 2c 30 20 b8 3b 66 6c 61 67 73 25 3a e7 20 66 6c |,0 .;flags%:. fl| 00001840 61 67 73 25 3c 3e 36 20 8c 0d 0a 50 64 74 72 61 |ags%<>6 ...Pdtra| 00001850 6b 73 74 61 74 25 28 63 75 72 72 74 72 61 6b 25 |kstat%(currtrak%| 00001860 29 3d 2d 31 3a f2 75 70 64 61 74 65 73 74 61 74 |)=-1:.updatestat| 00001870 75 73 28 74 72 61 6b 73 74 61 74 25 29 3a f2 6d |us(trakstat%):.m| 00001880 6f 61 6e 28 a4 6d 73 67 5f 31 28 22 45 52 52 35 |oan(.msg_1("ERR5| 00001890 22 2c 74 72 61 6b 66 69 6c 65 24 28 63 75 72 72 |",trakfile$(curr| 000018a0 74 72 61 6b 25 29 29 3a f2 74 66 77 64 0d 0a 78 |trak%)):.tfwd..x| 000018b0 4a cc 3a c8 99 22 57 69 6d 70 45 78 74 5f 53 65 |J.:.."WimpExt_Se| 000018c0 74 49 63 6f 6e 43 6f 6c 6f 75 72 22 2c 2c 2c 77 |tIconColour",,,w| 000018d0 5f 6d 61 69 6e 25 2c 63 75 72 72 74 72 61 6b 25 |_main%,currtrak%| 000018e0 2c 2d 31 2c 31 30 3a c8 99 36 36 20 b8 20 70 6c |,-1,10:..66 . pl| 000018f0 61 79 74 69 6d 65 25 0d 0a 96 05 cd 0d 0a a0 33 |aytime%........3| 00001900 cc 3a c8 99 36 36 20 b8 20 69 25 3a 70 6c 61 79 |.:..66 . i%:play| 00001910 74 69 6d 65 25 3d 70 6c 61 79 74 69 6d 65 25 2b |time%=playtime%+| 00001920 28 69 25 2d 70 61 75 73 65 74 69 6d 65 25 29 0d |(i%-pausetime%).| 00001930 0a be e3 cd 3a c8 99 22 43 6f 63 6f 5f 50 6c 61 |....:.."Coco_Pla| 00001940 79 53 74 61 72 74 22 3a c8 99 22 43 6f 63 6f 5f |yStart":.."Coco_| 00001950 50 6f 73 69 74 69 6f 6e 4a 75 6d 70 22 2c 28 63 |PositionJump",(c| 00001960 75 72 72 74 72 61 6b 25 3e 3e 38 29 80 26 46 46 |urrtrak%>>8).&FF| 00001970 2c 28 63 75 72 72 74 72 61 6b 25 3e 3e 31 36 29 |,(currtrak%>>16)| 00001980 80 26 46 46 3a f2 73 69 73 28 77 5f 6d 61 69 6e |.&FF:.sis(w_main| 00001990 25 2c 32 31 2c 32 2c 33 29 3a f2 73 69 73 28 77 |%,21,2,3):.sis(w| 000019a0 5f 6d 61 69 6e 25 2c 32 32 2c 30 2c 33 29 3a 70 |_main%,22,0,3):p| 000019b0 6c 61 79 73 74 61 74 25 3d 28 70 6c 61 79 73 74 |laystat%=(playst| 000019c0 61 74 25 80 ac 20 33 29 84 20 31 3a f2 64 69 73 |at%.. 3). 1:.dis| 000019d0 70 6c 61 79 75 70 64 61 74 65 3a 74 72 61 6b 73 |playupdate:traks| 000019e0 74 61 74 25 28 63 75 72 72 74 72 61 6b 25 80 32 |tat%(currtrak%.2| 000019f0 35 35 29 3d 32 3a f2 75 70 64 61 74 65 73 74 61 |55)=2:.updatesta| 00001a00 74 75 73 28 63 75 72 72 74 72 61 6b 25 80 32 35 |tus(currtrak%.25| 00001a10 35 29 0d 0b 18 07 cd 3a e1 0d 0b 36 1f dd f2 66 |5).....:...6...f| 00001a20 66 77 64 3a e7 20 28 70 6c 61 79 73 74 61 74 25 |fwd:. (playstat%| 00001a30 80 20 31 29 3d 31 20 8c 0d 0b 4a 4f c8 99 22 43 |. 1)=1 ...JO.."C| 00001a40 6f 63 6f 5f 47 65 74 49 6e 66 6f 73 22 20 b8 2c |oco_GetInfos" .,| 00001a50 69 6e 64 65 78 25 2c 2c 2c 2c 73 70 64 25 3a 73 |index%,,,,spd%:s| 00001a60 75 62 69 6e 64 65 78 25 3d a4 73 75 62 69 6e 64 |ubindex%=.subind| 00001a70 65 78 3a e7 20 28 70 6c 61 79 73 74 61 74 25 80 |ex:. (playstat%.| 00001a80 20 32 29 3d 32 20 8c 0d 0b 68 ac 69 6e 64 65 78 | 2)=2 ...h.index| 00001a90 25 2b 3d 31 3a 63 75 72 72 74 72 61 6b 25 3d 28 |%+=1:currtrak%=(| 00001aa0 63 75 72 72 74 72 61 6b 25 80 26 46 46 46 46 29 |currtrak%.&FFFF)| 00001ab0 2b 26 31 30 30 3a c8 99 22 43 6f 63 6f 5f 50 6c |+&100:.."Coco_Pl| 00001ac0 61 79 53 74 61 72 74 22 3a c8 99 22 58 43 6f 63 |ayStart":.."XCoc| 00001ad0 6f 5f 50 6f 73 69 74 69 6f 6e 4a 75 6d 70 22 2c |o_PositionJump",| 00001ae0 69 6e 64 65 78 25 2c 30 20 b8 3b 66 6c 61 67 73 |index%,0 .;flags| 00001af0 25 3a c8 99 22 43 6f 63 6f 5f 50 6c 61 79 53 74 |%:.."Coco_PlaySt| 00001b00 6f 70 22 3a 70 6c 61 79 74 69 6d 65 25 2d 3d 73 |op":playtime%-=s| 00001b10 70 64 25 2a 32 2a 28 36 34 2d 73 75 62 69 6e 64 |pd%*2*(64-subind| 00001b20 65 78 25 29 3a f2 64 69 73 70 6c 61 79 75 70 64 |ex%):.displayupd| 00001b30 61 74 65 0d 0b a4 7a cc 3a 73 75 62 69 6e 64 65 |ate...z.:subinde| 00001b40 78 25 2b 3d 32 3a c8 99 22 58 43 6f 63 6f 5f 50 |x%+=2:.."XCoco_P| 00001b50 6f 73 69 74 69 6f 6e 4a 75 6d 70 22 2c 69 6e 64 |ositionJump",ind| 00001b60 65 78 25 2c 73 75 62 69 6e 64 65 78 25 b8 3b 66 |ex%,subindex%.;f| 00001b70 6c 61 67 73 25 3a e7 20 66 6c 61 67 73 25 3c 3e |lags%:. flags%<>| 00001b80 36 20 8c c8 99 22 58 43 6f 63 6f 5f 50 6f 73 69 |6 ..."XCoco_Posi| 00001b90 74 69 6f 6e 4a 75 6d 70 22 2c 69 6e 64 65 78 25 |tionJump",index%| 00001ba0 2b 31 2c 30 20 b8 3b 66 6c 61 67 73 25 0d 0b c2 |+1,0 .;flags%...| 00001bb0 17 70 6c 61 79 74 69 6d 65 25 2d 3d 73 70 64 25 |.playtime%-=spd%| 00001bc0 2a 32 2a 32 0d 0b cc 18 cd 3a e7 20 66 6c 61 67 |*2*2.....:. flag| 00001bd0 73 25 3c 3e 36 20 8c f2 74 66 77 64 0d 0b e0 07 |s%<>6 ..tfwd....| 00001be0 cd 3a e1 0d 0b fe 1e dd f2 72 65 77 3a e7 20 28 |.:.......rew:. (| 00001bf0 70 6c 61 79 73 74 61 74 25 80 20 31 29 3d 31 20 |playstat%. 1)=1 | 00001c00 8c 0d 0c 12 4f c8 99 22 43 6f 63 6f 5f 47 65 74 |....O.."Coco_Get| 00001c10 49 6e 66 6f 73 22 20 b8 2c 69 6e 64 65 78 25 2c |Infos" .,index%,| 00001c20 2c 2c 2c 73 70 64 25 3a 73 75 62 69 6e 64 65 78 |,,,spd%:subindex| 00001c30 25 3d a4 73 75 62 69 6e 64 65 78 3a e7 20 28 70 |%=.subindex:. (p| 00001c40 6c 61 79 73 74 61 74 25 80 20 32 29 3d 32 20 8c |laystat%. 2)=2 .| 00001c50 0d 0c 30 ac 69 6e 64 65 78 25 2d 3d 31 3a 63 75 |..0.index%-=1:cu| 00001c60 72 72 74 72 61 6b 25 3d 28 63 75 72 72 74 72 61 |rrtrak%=(currtra| 00001c70 6b 25 80 26 46 46 46 46 29 2d 26 31 30 30 3a c8 |k%.&FFFF)-&100:.| 00001c80 99 22 43 6f 63 6f 5f 50 6c 61 79 53 74 61 72 74 |."Coco_PlayStart| 00001c90 22 3a c8 99 22 58 43 6f 63 6f 5f 50 6f 73 69 74 |":.."XCoco_Posit| 00001ca0 69 6f 6e 4a 75 6d 70 22 2c 69 6e 64 65 78 25 2c |ionJump",index%,| 00001cb0 30 20 b8 3b 66 6c 61 67 73 25 3a c8 99 22 43 6f |0 .;flags%:.."Co| 00001cc0 63 6f 5f 50 6c 61 79 53 74 6f 70 22 3a 70 6c 61 |co_PlayStop":pla| 00001cd0 79 74 69 6d 65 25 2b 3d 73 70 64 25 2a 32 2a 28 |ytime%+=spd%*2*(| 00001ce0 36 34 2d 73 75 62 69 6e 64 65 78 25 29 3a f2 64 |64-subindex%):.d| 00001cf0 69 73 70 6c 61 79 75 70 64 61 74 65 0d 0c 6c 7a |isplayupdate..lz| 00001d00 cc 3a 73 75 62 69 6e 64 65 78 25 2d 3d 32 3a c8 |.:subindex%-=2:.| 00001d10 99 22 58 43 6f 63 6f 5f 50 6f 73 69 74 69 6f 6e |."XCoco_Position| 00001d20 4a 75 6d 70 22 2c 69 6e 64 65 78 25 2c 73 75 62 |Jump",index%,sub| 00001d30 69 6e 64 65 78 25 b8 3b 66 6c 61 67 73 25 3a e7 |index%.;flags%:.| 00001d40 20 66 6c 61 67 73 25 3c 3e 36 20 8c c8 99 22 58 | flags%<>6 ..."X| 00001d50 43 6f 63 6f 5f 50 6f 73 69 74 69 6f 6e 4a 75 6d |Coco_PositionJum| 00001d60 70 22 2c 69 6e 64 65 78 25 2d 31 2c 30 20 b8 3b |p",index%-1,0 .;| 00001d70 66 6c 61 67 73 25 0d 0c 8a 17 70 6c 61 79 74 69 |flags%....playti| 00001d80 6d 65 25 2b 3d 73 70 64 25 2a 32 2a 32 0d 0c 94 |me%+=spd%*2*2...| 00001d90 18 cd 3a e7 20 66 6c 61 67 73 25 3c 3e 36 20 8c |..:. flags%<>6 .| 00001da0 f2 74 72 65 77 0d 0c a8 07 cd 3a e1 0d 0c c6 1f |.trew.....:.....| 00001db0 dd f2 74 66 77 64 3a e7 20 28 70 6c 61 79 73 74 |..tfwd:. (playst| 00001dc0 61 74 25 80 20 31 29 3d 31 20 8c 0d 0c da 2c f2 |at%. 1)=1 ....,.| 00001dd0 62 6c 61 6e 6b 66 61 64 65 72 3a e7 20 6e 75 6d |blankfader:. num| 00001de0 74 72 61 6b 73 25 3e 28 63 75 72 72 74 72 61 6b |traks%>(currtrak| 00001df0 25 80 26 46 46 29 8c 0d 0c ee bf c8 99 22 57 69 |%.&FF)......."Wi| 00001e00 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e 43 6f 6c |mpExt_SetIconCol| 00001e10 6f 75 72 22 2c 2c 2c 77 5f 6d 61 69 6e 25 2c 63 |our",,,w_main%,c| 00001e20 75 72 72 74 72 61 6b 25 80 32 35 35 2c 2d 31 2c |urrtrak%.255,-1,| 00001e30 37 3a 74 72 61 6b 73 74 61 74 25 28 63 75 72 72 |7:trakstat%(curr| 00001e40 74 72 61 6b 25 80 32 35 35 29 3d 34 3a f2 75 70 |trak%.255)=4:.up| 00001e50 64 61 74 65 73 74 61 74 75 73 28 63 75 72 72 74 |datestatus(currt| 00001e60 72 61 6b 25 80 32 35 35 29 3a f5 3a 63 75 72 72 |rak%.255):.:curr| 00001e70 74 72 61 6b 25 3d 28 63 75 72 72 74 72 61 6b 25 |trak%=(currtrak%| 00001e80 80 26 46 46 29 2b 31 3a fd 20 74 72 61 6b 73 74 |.&FF)+1:. trakst| 00001e90 61 74 25 28 63 75 72 72 74 72 61 6b 25 29 3e 2d |at%(currtrak%)>-| 00001ea0 31 3a c8 99 22 58 43 6f 63 6f 5f 52 65 6c 65 61 |1:.."XCoco_Relea| 00001eb0 73 65 52 4d 41 22 0d 0d 34 45 c8 99 22 58 43 6f |seRMA"..4E.."XCo| 00001ec0 63 6f 5f 4c 6f 61 64 54 72 61 63 6b 22 2c 74 72 |co_LoadTrack",tr| 00001ed0 61 6b 66 69 6c 65 24 28 63 75 72 72 74 72 61 6b |akfile$(currtrak| 00001ee0 25 29 2c 30 20 b8 3b 66 6c 61 67 73 25 3a e7 20 |%),0 .;flags%:. | 00001ef0 66 6c 61 67 73 25 3c 3e 36 20 8c 0d 0d 48 64 74 |flags%<>6 ...Hdt| 00001f00 72 61 6b 73 74 61 74 25 28 63 75 72 72 74 72 61 |rakstat%(currtra| 00001f10 6b 25 29 3d 2d 31 3a f2 75 70 64 61 74 65 73 74 |k%)=-1:.updatest| 00001f20 61 74 75 73 28 74 72 61 6b 73 74 61 74 25 29 3a |atus(trakstat%):| 00001f30 f2 6d 6f 61 6e 28 a4 6d 73 67 5f 31 28 22 45 52 |.moan(.msg_1("ER| 00001f40 52 35 22 2c 74 72 61 6b 66 69 6c 65 24 28 63 75 |R5",trakfile$(cu| 00001f50 72 72 74 72 61 6b 25 29 29 3a f2 74 66 77 64 0d |rrtrak%)):.tfwd.| 00001f60 0d 70 d6 cc 3a c8 99 22 57 69 6d 70 45 78 74 5f |.p..:.."WimpExt_| 00001f70 53 65 74 49 63 6f 6e 43 6f 6c 6f 75 72 22 2c 2c |SetIconColour",,| 00001f80 2c 77 5f 6d 61 69 6e 25 2c 63 75 72 72 74 72 61 |,w_main%,currtra| 00001f90 6b 25 2c 2d 31 2c 31 30 3a c8 99 36 36 20 b8 20 |k%,-1,10:..66 . | 00001fa0 70 6c 61 79 74 69 6d 65 25 3a 70 61 75 73 65 74 |playtime%:pauset| 00001fb0 69 6d 65 25 3d 70 6c 61 79 74 69 6d 65 25 3a 74 |ime%=playtime%:t| 00001fc0 72 61 6b 73 74 61 74 25 28 63 75 72 72 74 72 61 |rakstat%(currtra| 00001fd0 6b 25 29 3d 32 2b 28 28 70 6c 61 79 73 74 61 74 |k%)=2+((playstat| 00001fe0 25 80 32 29 81 32 29 3a f2 75 70 64 61 74 65 73 |%.2).2):.updates| 00001ff0 74 61 74 75 73 28 63 75 72 72 74 72 61 6b 25 29 |tatus(currtrak%)| 00002000 3a f2 73 69 73 28 77 5f 6d 61 69 6e 25 2c 32 31 |:.sis(w_main%,21| 00002010 2c 32 2c 33 29 3a f2 73 69 73 28 77 5f 6d 61 69 |,2,3):.sis(w_mai| 00002020 6e 25 2c 32 32 2c 70 6c 61 79 73 74 61 74 25 80 |n%,22,playstat%.| 00002030 20 32 2c 33 29 0d 0d c0 2b c8 99 22 43 6f 63 6f | 2,3)...+.."Coco| 00002040 5f 50 6c 61 79 53 74 61 72 74 22 3a e7 20 28 70 |_PlayStart":. (p| 00002050 6c 61 79 73 74 61 74 25 80 20 33 29 3d 31 20 8c |laystat%. 3)=1 .| 00002060 0d 0d d4 04 0d 0d de 17 cc 3a c8 99 22 43 6f 63 |.........:.."Coc| 00002070 6f 5f 50 6c 61 79 53 74 6f 70 22 0d 0d f2 14 cd |o_PlayStop".....| 00002080 3a f2 64 69 73 70 6c 61 79 75 70 64 61 74 65 0d |:.displayupdate.| 00002090 0e 06 05 cd 0d 0e 10 0b cc 3a f2 73 74 6f 70 0d |.........:.stop.| 000020a0 0e 24 05 cd 0d 0e 2e 07 cd 3a e1 0d 0e 4c bd dd |.$.......:...L..| 000020b0 f2 74 72 65 77 3a f2 62 6c 61 6e 6b 66 61 64 65 |.trew:.blankfade| 000020c0 72 3a c8 99 22 57 69 6d 70 45 78 74 5f 53 65 74 |r:.."WimpExt_Set| 000020d0 49 63 6f 6e 43 6f 6c 6f 75 72 22 2c 2c 2c 77 5f |IconColour",,,w_| 000020e0 6d 61 69 6e 25 2c 63 75 72 72 74 72 61 6b 25 80 |main%,currtrak%.| 000020f0 32 35 35 2c 2d 31 2c 31 33 3a 74 72 61 6b 73 74 |255,-1,13:trakst| 00002100 61 74 25 28 63 75 72 72 74 72 61 6b 25 80 32 35 |at%(currtrak%.25| 00002110 35 29 3d 31 3a f2 75 70 64 61 74 65 73 74 61 74 |5)=1:.updatestat| 00002120 75 73 28 63 75 72 72 74 72 61 6b 25 80 32 35 35 |us(currtrak%.255| 00002130 29 3a f5 3a 63 75 72 72 74 72 61 6b 25 3d 28 63 |):.:currtrak%=(c| 00002140 75 72 72 74 72 61 6b 25 80 26 46 46 29 2d 31 3a |urrtrak%.&FF)-1:| 00002150 e7 20 63 75 72 72 74 72 61 6b 25 3c 31 63 75 72 |. currtrak%<1cur| 00002160 72 74 72 61 6b 25 3d 31 0d 0e 92 74 fd 20 74 72 |rtrak%=1...t. tr| 00002170 61 6b 73 74 61 74 25 28 63 75 72 72 74 72 61 6b |akstat%(currtrak| 00002180 25 29 3e 2d 31 3a c8 99 22 58 43 6f 63 6f 5f 52 |%)>-1:.."XCoco_R| 00002190 65 6c 65 61 73 65 52 4d 41 22 3a c8 99 22 58 43 |eleaseRMA":.."XC| 000021a0 6f 63 6f 5f 4c 6f 61 64 54 72 61 63 6b 22 2c 74 |oco_LoadTrack",t| 000021b0 72 61 6b 66 69 6c 65 24 28 63 75 72 72 74 72 61 |rakfile$(currtra| 000021c0 6b 25 29 2c 30 20 b8 3b 66 6c 61 67 73 25 3a e7 |k%),0 .;flags%:.| 000021d0 20 66 6c 61 67 73 25 3c 3e 36 20 8c 0d 0e ba 64 | flags%<>6 ....d| 000021e0 74 72 61 6b 73 74 61 74 25 28 63 75 72 72 74 72 |trakstat%(currtr| 000021f0 61 6b 25 29 3d 2d 31 3a f2 75 70 64 61 74 65 73 |ak%)=-1:.updates| 00002200 74 61 74 75 73 28 74 72 61 6b 73 74 61 74 25 29 |tatus(trakstat%)| 00002210 3a f2 6d 6f 61 6e 28 a4 6d 73 67 5f 31 28 22 45 |:.moan(.msg_1("E| 00002220 52 52 35 22 2c 74 72 61 6b 66 69 6c 65 24 28 63 |RR5",trakfile$(c| 00002230 75 72 72 74 72 61 6b 25 29 29 3a f2 74 72 65 77 |urrtrak%)):.trew| 00002240 0d 0e e2 d6 cc 3a c8 99 22 57 69 6d 70 45 78 74 |.....:.."WimpExt| 00002250 5f 53 65 74 49 63 6f 6e 43 6f 6c 6f 75 72 22 2c |_SetIconColour",| 00002260 2c 2c 77 5f 6d 61 69 6e 25 2c 63 75 72 72 74 72 |,,w_main%,currtr| 00002270 61 6b 25 2c 2d 31 2c 31 30 3a c8 99 36 36 20 b8 |ak%,-1,10:..66 .| 00002280 20 70 6c 61 79 74 69 6d 65 25 3a 70 61 75 73 65 | playtime%:pause| 00002290 74 69 6d 65 25 3d 70 6c 61 79 74 69 6d 65 25 3a |time%=playtime%:| 000022a0 74 72 61 6b 73 74 61 74 25 28 63 75 72 72 74 72 |trakstat%(currtr| 000022b0 61 6b 25 29 3d 32 2b 28 28 70 6c 61 79 73 74 61 |ak%)=2+((playsta| 000022c0 74 25 80 32 29 81 32 29 3a f2 75 70 64 61 74 65 |t%.2).2):.update| 000022d0 73 74 61 74 75 73 28 63 75 72 72 74 72 61 6b 25 |status(currtrak%| 000022e0 29 3a f2 73 69 73 28 77 5f 6d 61 69 6e 25 2c 32 |):.sis(w_main%,2| 000022f0 31 2c 32 2c 33 29 3a f2 73 69 73 28 77 5f 6d 61 |1,2,3):.sis(w_ma| 00002300 69 6e 25 2c 32 32 2c 70 6c 61 79 73 74 61 74 25 |in%,22,playstat%| 00002310 80 20 32 2c 33 29 0d 0f 32 2b c8 99 22 43 6f 63 |. 2,3)..2+.."Coc| 00002320 6f 5f 50 6c 61 79 53 74 61 72 74 22 3a e7 20 28 |o_PlayStart":. (| 00002330 70 6c 61 79 73 74 61 74 25 80 20 33 29 3d 31 20 |playstat%. 3)=1 | 00002340 8c 0d 0f 46 04 0d 0f 50 17 cc 3a c8 99 22 43 6f |...F...P..:.."Co| 00002350 63 6f 5f 50 6c 61 79 53 74 6f 70 22 0d 0f 64 14 |co_PlayStop"..d.| 00002360 cd 3a f2 64 69 73 70 6c 61 79 75 70 64 61 74 65 |.:.displayupdate| 00002370 0d 0f 78 07 cd 3a e1 0d 0f 96 56 dd f2 70 61 75 |..x..:....V..pau| 00002380 73 65 3a e7 20 28 70 6c 61 79 73 74 61 74 25 80 |se:. (playstat%.| 00002390 31 29 3d 30 20 8c c8 99 22 43 6f 63 6f 5f 53 65 |1)=0 ..."Coco_Se| 000023a0 74 56 6f 6c 75 6d 65 22 2c 32 35 35 3a f2 70 6c |tVolume",255:.pl| 000023b0 61 79 3a c8 99 22 43 6f 63 6f 5f 53 65 74 56 6f |ay:.."Coco_SetVo| 000023c0 6c 75 6d 65 22 2c 76 6f 6c 75 6d 65 25 0d 0f aa |lume",volume%...| 000023d0 4b 74 72 61 6b 73 74 61 74 25 28 63 75 72 72 74 |Ktrakstat%(currt| 000023e0 72 61 6b 25 80 32 35 35 29 3d 74 72 61 6b 73 74 |rak%.255)=trakst| 000023f0 61 74 25 28 63 75 72 72 74 72 61 6b 25 80 32 35 |at%(currtrak%.25| 00002400 35 29 82 31 3a e7 20 28 70 6c 61 79 73 74 61 74 |5).1:. (playstat| 00002410 25 80 32 29 3d 32 20 8c 0d 0f be e3 c8 99 36 36 |%.2)=2 .......66| 00002420 20 b8 20 69 25 3a 70 6c 61 79 74 69 6d 65 25 3d | . i%:playtime%=| 00002430 70 6c 61 79 74 69 6d 65 25 2b 28 69 25 2d 70 61 |playtime%+(i%-pa| 00002440 75 73 65 74 69 6d 65 25 29 3a c8 99 22 43 6f 63 |usetime%):.."Coc| 00002450 6f 5f 50 6c 61 79 53 74 61 72 74 22 3a c8 99 22 |o_PlayStart":.."| 00002460 58 43 6f 63 6f 5f 50 6f 73 69 74 69 6f 6e 4a 75 |XCoco_PositionJu| 00002470 6d 70 22 2c 28 63 75 72 72 74 72 61 6b 25 81 26 |mp",(currtrak%.&| 00002480 31 30 30 29 80 26 46 46 2c 28 63 75 72 72 74 72 |100).&FF,(currtr| 00002490 61 6b 25 81 26 31 30 30 30 30 29 80 26 46 46 3a |ak%.&10000).&FF:| 000024a0 f2 73 69 73 28 77 5f 6d 61 69 6e 25 2c 32 32 2c |.sis(w_main%,22,| 000024b0 30 2c 33 29 3a 70 6c 61 79 73 74 61 74 25 3d 28 |0,3):playstat%=(| 000024c0 70 6c 61 79 73 74 61 74 25 80 ac 20 33 29 84 20 |playstat%.. 3). | 000024d0 31 3a 74 72 61 6b 73 74 61 74 25 28 63 75 72 72 |1:trakstat%(curr| 000024e0 74 72 61 6b 25 80 32 35 35 29 3d 32 3a f2 64 69 |trak%.255)=2:.di| 000024f0 73 70 6c 61 79 75 70 64 61 74 65 0d 10 0e 20 f2 |splayupdate... .| 00002500 75 70 64 61 74 65 73 74 61 74 75 73 28 63 75 72 |updatestatus(cur| 00002510 72 74 72 61 6b 25 80 32 35 35 29 0d 10 18 e4 cc |rtrak%.255).....| 00002520 3a c8 99 22 43 6f 63 6f 5f 47 65 74 49 6e 66 6f |:.."Coco_GetInfo| 00002530 73 22 20 b8 2c 69 6e 64 65 78 25 3a 63 75 72 72 |s" .,index%:curr| 00002540 74 72 61 6b 25 3d 28 63 75 72 72 74 72 61 6b 25 |trak%=(currtrak%| 00002550 80 26 46 46 29 84 28 69 6e 64 65 78 25 3c 3c 38 |.&FF).(index%<<8| 00002560 29 84 28 a4 73 75 62 69 6e 64 65 78 3c 3c 31 36 |).(.subindex<<16| 00002570 29 3a c8 99 36 36 20 b8 20 70 61 75 73 65 74 69 |):..66 . pauseti| 00002580 6d 65 25 3a c8 99 22 43 6f 63 6f 5f 50 6c 61 79 |me%:.."Coco_Play| 00002590 53 74 6f 70 22 3a f2 73 69 73 28 77 5f 6d 61 69 |Stop":.sis(w_mai| 000025a0 6e 25 2c 32 32 2c 32 2c 33 29 3a 70 6c 61 79 73 |n%,22,2,3):plays| 000025b0 74 61 74 25 3d 28 70 6c 61 79 73 74 61 74 25 80 |tat%=(playstat%.| 000025c0 ac 20 33 29 84 20 33 3a 74 72 61 6b 73 74 61 74 |. 3). 3:trakstat| 000025d0 25 28 63 75 72 72 74 72 61 6b 25 80 32 35 35 29 |%(currtrak%.255)| 000025e0 3d 33 3a f2 75 70 64 61 74 65 73 74 61 74 75 73 |=3:.updatestatus| 000025f0 28 63 75 72 72 74 72 61 6b 25 80 32 35 35 29 0d |(currtrak%.255).| 00002600 10 72 07 cd 3a e1 0d 10 90 da dd f2 73 74 6f 70 |.r..:.......stop| 00002610 3a c8 99 22 58 43 6f 63 6f 5f 50 6c 61 79 53 74 |:.."XCoco_PlaySt| 00002620 6f 70 22 3a c8 99 22 58 43 6f 63 6f 5f 52 65 6c |op":.."XCoco_Rel| 00002630 65 61 73 65 52 4d 41 22 3a 63 75 72 72 74 72 61 |easeRMA":currtra| 00002640 6b 25 3d 30 3a 6f 6c 64 74 69 6d 65 24 3d 22 22 |k%=0:oldtime$=""| 00002650 3a 70 6c 61 79 73 74 61 74 25 3d 28 70 6c 61 79 |:playstat%=(play| 00002660 73 74 61 74 25 80 ac 20 33 29 3a f2 62 6c 61 6e |stat%.. 3):.blan| 00002670 6b 66 61 64 65 72 3a f2 73 69 73 28 77 5f 6d 61 |kfader:.sis(w_ma| 00002680 69 6e 25 2c 32 31 2c 30 2c 33 29 3a f2 73 69 73 |in%,21,0,3):.sis| 00002690 28 77 5f 6d 61 69 6e 25 2c 32 32 2c 30 2c 33 29 |(w_main%,22,0,3)| 000026a0 3a e3 20 69 25 3d 31 20 b8 20 6e 75 6d 74 72 61 |:. i%=1 . numtra| 000026b0 6b 73 25 3a c8 99 22 57 69 6d 70 45 78 74 5f 53 |ks%:.."WimpExt_S| 000026c0 65 74 49 63 6f 6e 43 6f 6c 6f 75 72 22 2c 2c 2c |etIconColour",,,| 000026d0 77 5f 6d 61 69 6e 25 2c 69 25 2c 2d 31 2c 31 33 |w_main%,i%,-1,13| 000026e0 0d 10 d6 3a e7 20 74 72 61 6b 73 74 61 74 25 28 |...:. trakstat%(| 000026f0 69 25 29 3e 2d 31 20 8c 20 74 72 61 6b 73 74 61 |i%)>-1 . traksta| 00002700 74 25 28 69 25 29 3d 31 3a f2 75 70 64 61 74 65 |t%(i%)=1:.update| 00002710 73 74 61 74 75 73 28 69 25 29 0d 10 e0 35 ed 3a |status(i%)...5.:| 00002720 e3 20 69 25 3d 32 33 20 b8 20 33 30 3a f2 73 65 |. i%=23 . 30:.se| 00002730 74 69 63 6f 6e 73 70 72 69 74 65 28 77 5f 6d 61 |ticonsprite(w_ma| 00002740 69 6e 25 2c 69 25 2c 22 7e 22 29 3a ed 3a e1 0d |in%,i%,"~"):.:..| 00002750 11 08 b1 dd f2 65 6a 65 63 74 3a c8 99 22 58 43 |.....eject:.."XC| 00002760 6f 63 6f 5f 50 6c 61 79 53 74 6f 70 22 3a c8 99 |oco_PlayStop":..| 00002770 22 58 43 6f 63 6f 5f 52 65 6c 65 61 73 65 52 4d |"XCoco_ReleaseRM| 00002780 41 22 3a e3 20 69 25 3d 31 20 b8 20 32 30 3a 74 |A":. i%=1 . 20:t| 00002790 72 61 6b 66 69 6c 65 24 28 69 25 29 3d 22 22 3a |rakfile$(i%)="":| 000027a0 74 72 61 6b 73 74 61 74 25 28 69 25 29 3d 30 3a |trakstat%(i%)=0:| 000027b0 ed 3a 63 75 72 72 74 72 61 6b 25 3d 30 3a 6e 75 |.:currtrak%=0:nu| 000027c0 6d 74 72 61 6b 73 25 3d 30 3a 6f 6c 64 74 69 6d |mtraks%=0:oldtim| 000027d0 65 24 3d 22 22 3a 70 6c 61 79 73 74 61 74 25 3d |e$="":playstat%=| 000027e0 28 70 6c 61 79 73 74 61 74 25 80 ac 20 33 29 3a |(playstat%.. 3):| 000027f0 f2 69 6e 69 74 74 65 6d 70 6c 61 74 65 73 3a e1 |.inittemplates:.| 00002800 0d 11 80 20 dd f2 6d 65 6e 75 73 65 6c 65 63 74 |... ..menuselect| 00002810 28 62 6c 6b 25 29 3a c8 8e 20 21 62 6c 6b 25 ca |(blk%):.. !blk%.| 00002820 0d 11 94 1c c9 20 31 3a f2 6f 70 65 6e 77 69 6e |..... 1:.openwin| 00002830 64 6f 77 28 77 5f 6d 61 69 6e 25 29 0d 11 9e 1c |dow(w_main%)....| 00002840 c9 20 32 3a f2 6f 70 65 6e 77 69 6e 64 6f 77 28 |. 2:.openwindow(| 00002850 77 5f 6c 69 73 74 25 29 0d 11 a8 0f c9 20 33 3a |w_list%)..... 3:| 00002860 71 75 69 74 25 3d b9 0d 11 b2 07 cb 3a e1 0d 11 |quit%=......:...| 00002870 d0 24 dd f2 75 73 65 72 6d 65 73 73 61 67 65 28 |.$..usermessage(| 00002880 62 6c 6b 25 29 3a c8 8e 20 62 6c 6b 25 21 31 36 |blk%):.. blk%!16| 00002890 20 ca 0d 11 e4 0f c9 20 30 3a 71 75 69 74 25 3d | ...... 0:quit%=| 000028a0 b9 0d 11 f8 27 c9 20 33 2c 35 3a e7 20 62 6c 6b |....'. 3,5:. blk| 000028b0 25 21 34 30 3c 3e 26 33 36 35 20 80 20 62 6c 6b |%!40<>&365 . blk| 000028c0 25 21 31 36 3d 33 20 8c 0d 12 0c 81 c8 99 22 57 |%!16=3 ......."W| 000028d0 69 6d 70 45 78 74 5f 43 6f 6e 74 72 6f 6c 49 6d |impExt_ControlIm| 000028e0 6d 65 64 69 61 74 65 22 2c 2c 32 2c a4 6d 73 67 |mediate",,2,.msg| 000028f0 5f 30 28 22 51 22 29 2c a4 6d 73 67 5f 30 28 22 |_0("Q"),.msg_0("| 00002900 51 30 22 29 2c a4 6d 73 67 5f 30 28 22 59 22 29 |Q0"),.msg_0("Y")| 00002910 2b bd 30 2b a4 6d 73 67 5f 30 28 22 4e 22 29 2b |+.0+.msg_0("N")+| 00002920 c4 33 2c bd 30 29 2c 31 20 b8 20 69 63 6f 6e 25 |.3,.0),1 . icon%| 00002930 3a e7 20 69 63 6f 6e 25 3d 30 20 8c 20 62 6c 6b |:. icon%=0 . blk| 00002940 25 21 34 30 3d 26 33 36 35 0d 12 20 16 cd 3a e7 |%!40=&365.. ..:.| 00002950 20 62 6c 6b 25 21 34 30 3d 26 33 36 35 20 8c 0d | blk%!40=&365 ..| 00002960 12 34 b7 62 6c 6b 25 21 31 32 3d 62 6c 6b 25 21 |.4.blk%!12=blk%!| 00002970 38 3a 62 6c 6b 25 21 31 36 3d 34 3a c8 99 32 36 |8:blk%!16=4:..26| 00002980 32 33 37 35 2c 31 37 2c 62 6c 6b 25 2c 62 6c 6b |2375,17,blk%,blk| 00002990 25 21 34 3a 6e 75 6d 74 72 61 6b 73 25 2b 3d 31 |%!4:numtraks%+=1| 000029a0 3a 74 72 61 6b 66 69 6c 65 24 28 6e 75 6d 74 72 |:trakfile$(numtr| 000029b0 61 6b 73 25 29 3d a4 7a 65 72 6f 73 74 72 28 62 |aks%)=.zerostr(b| 000029c0 6c 6b 25 2b 34 34 29 3a 74 72 61 6b 73 74 61 74 |lk%+44):trakstat| 000029d0 25 28 6e 75 6d 74 72 61 6b 73 25 29 3d 31 3a f2 |%(numtraks%)=1:.| 000029e0 75 70 64 61 74 65 69 6e 66 6f 28 6e 75 6d 74 72 |updateinfo(numtr| 000029f0 61 6b 73 25 29 3a e7 20 6e 75 6d 74 72 61 6b 73 |aks%):. numtraks| 00002a00 25 3d 31 20 80 20 62 6c 6b 25 21 31 36 3d 35 20 |%=1 . blk%!16=5 | 00002a10 8c f2 70 6c 61 79 0d 12 7a 05 cd 0d 12 84 32 c9 |..play..z.....2.| 00002a20 20 31 30 3a ea 85 3a ee 85 f2 73 65 6e 64 61 63 | 10:..:...sendac| 00002a30 6b 28 62 6c 6b 25 29 3a f2 65 72 72 6f 72 28 f6 |k(blk%):.error(.| 00002a40 24 2b a4 69 6e 74 65 72 72 28 9e 29 29 0d 12 a2 |$+.interr(.))...| 00002a50 1f d5 23 28 62 6c 6b 25 21 32 30 29 2c 22 52 75 |..#(blk%!20),"Ru| 00002a60 6e 20 22 2b 70 61 74 68 24 3a f7 85 0d 12 b6 16 |n "+path$:......| 00002a70 c9 26 35 30 32 3a c8 8e 20 62 6c 6b 25 21 33 32 |.&502:.. blk%!32| 00002a80 20 ca 0d 12 ca 14 c9 20 77 5f 69 6e 66 6f 25 3a | ...... w_info%:| 00002a90 77 69 6e 25 3d 30 0d 12 d4 14 c9 20 77 5f 6d 61 |win%=0..... w_ma| 00002aa0 69 6e 25 3a 77 69 6e 25 3d 32 0d 12 de 14 c9 20 |in%:win%=2..... | 00002ab0 77 5f 6c 69 73 74 25 3a 77 69 6e 25 3d 33 0d 12 |w_list%:win%=3..| 00002ac0 e8 12 7f 3a 77 69 6e 25 3d 62 6c 6b 25 21 33 32 |...:win%=blk%!32| 00002ad0 0d 12 f2 1e cb 3a e7 20 77 69 6e 25 3c 3e 30 20 |.....:. win%<>0 | 00002ae0 84 20 62 6c 6b 25 21 33 36 3c 3e 33 20 8c 0d 13 |. blk%!36<>3 ...| 00002af0 06 2c 68 65 6c 70 24 3d a4 6d 73 67 5f 30 28 22 |.,help$=.msg_0("| 00002b00 48 22 2b c3 28 77 69 6e 25 29 2b 22 2f 22 2b c3 |H"+.(win%)+"/"+.| 00002b10 28 62 6c 6b 25 21 33 36 29 29 0d 13 10 37 cc 3a |(blk%!36))...7.:| 00002b20 68 65 6c 70 24 3d a4 6d 73 67 5f 31 28 22 48 22 |help$=.msg_1("H"| 00002b30 2b c3 28 77 69 6e 25 29 2b 22 2f 22 2b c3 28 62 |+.(win%)+"/"+.(b| 00002b40 6c 6b 25 21 33 36 29 2c 76 65 72 73 69 6f 6e 24 |lk%!36),version$| 00002b50 29 0d 13 24 2a cd 3a e7 20 68 65 6c 70 24 3c 3e |)..$*.:. help$<>| 00002b60 22 48 22 2b c3 28 77 69 6e 25 29 2b 22 2f 22 2b |"H"+.(win%)+"/"+| 00002b70 c3 28 62 6c 6b 25 21 33 36 29 8c 0d 13 38 23 c8 |.(blk%!36)...8#.| 00002b80 99 22 57 69 6d 70 45 78 74 5f 53 65 6e 64 48 65 |."WimpExt_SendHe| 00002b90 6c 70 22 2c 68 65 6c 70 24 2c 62 6c 6b 25 0d 13 |lp",help$,blk%..| 00002ba0 42 05 cd 0d 13 4c 07 cb 3a e1 0d 13 6a 22 dd f2 |B....L..:...j"..| 00002bb0 65 72 72 6f 72 28 65 72 72 6f 72 24 29 3a ea 20 |error(error$):. | 00002bc0 69 63 6f 6e 25 3a ea 85 3a ee 85 87 0d 13 92 91 |icon%:..:.......| 00002bd0 c8 99 32 36 33 38 37 34 3a c8 99 30 2c 37 3a c8 |..263874:..0,7:.| 00002be0 99 22 57 69 6d 70 45 78 74 5f 43 6f 6e 74 72 6f |."WimpExt_Contro| 00002bf0 6c 49 6d 6d 65 64 69 61 74 65 22 2c 2c 32 2c a4 |lImmediate",,2,.| 00002c00 6d 73 67 5f 30 28 22 45 52 52 22 29 2c 65 72 72 |msg_0("ERR"),err| 00002c10 6f 72 24 2c a4 6d 73 67 5f 30 28 22 51 55 49 54 |or$,.msg_0("QUIT| 00002c20 22 29 2b bd 30 2b a4 6d 73 67 5f 30 28 22 43 41 |")+.0+.msg_0("CA| 00002c30 4e 22 29 2b c4 33 2c bd 30 29 2c 31 20 b8 20 69 |N")+.3,.0),1 . i| 00002c40 63 6f 6e 25 3a e7 20 69 63 6f 6e 25 3d 30 20 8c |con%:. icon%=0 .| 00002c50 20 71 75 69 74 25 3d 2d 32 20 8b f7 85 0d 13 ba | quit%=-2 ......| 00002c60 05 e1 0d 13 ce 5a dd f2 6d 6f 61 6e 28 6d 65 73 |.....Z..moan(mes| 00002c70 73 24 29 3a c8 99 22 57 69 6d 70 45 78 74 5f 4f |s$):.."WimpExt_O| 00002c80 70 65 6e 52 65 71 75 65 73 74 65 72 22 2c 2c 2c |penRequester",,,| 00002c90 a4 6d 73 67 5f 30 28 22 4d 45 53 53 22 29 2c 6d |.msg_0("MESS"),m| 00002ca0 65 73 73 24 2c a4 6d 73 67 5f 30 28 22 4f 4b 22 |ess$,.msg_0("OK"| 00002cb0 29 2b c4 34 2c bd 30 29 2c 30 3a e1 0d 13 f6 85 |)+.4,.0),0:.....| 00002cc0 dd a4 63 68 65 63 6b 6b 69 6c 6c 3a c8 99 22 57 |..checkkill:.."W| 00002cd0 69 6d 70 45 78 74 5f 43 6f 6e 74 72 6f 6c 49 6d |impExt_ControlIm| 00002ce0 6d 65 64 69 61 74 65 22 2c 2c 32 2c a4 6d 73 67 |mediate",,2,.msg| 00002cf0 5f 30 28 22 51 22 29 2c a4 6d 73 67 5f 30 28 22 |_0("Q"),.msg_0("| 00002d00 51 31 22 29 2c a4 6d 73 67 5f 30 28 22 59 22 29 |Q1"),.msg_0("Y")| 00002d10 2b bd 30 2b a4 6d 73 67 5f 30 28 22 4e 22 29 2b |+.0+.msg_0("N")+| 00002d20 c4 33 2c bd 30 29 2c 31 20 b8 20 69 63 6f 6e 25 |.3,.0),1 . icon%| 00002d30 3a e7 20 69 63 6f 6e 25 3d 30 20 8c 3d b9 8b 3d |:. icon%=0 .=..=| 00002d40 a3 0d 14 14 04 0d 14 1e 47 dd a4 7a 65 72 6f 73 |........G..zeros| 00002d50 74 72 28 61 64 72 25 29 3a ea 20 73 24 3a f5 3a |tr(adr%):. s$:.:| 00002d60 73 24 2b 3d bd 28 3f 61 64 72 25 29 3a 61 64 72 |s$+=.(?adr%):adr| 00002d70 25 2b 3d 31 3a fd c2 73 24 2c 31 29 3c 22 20 22 |%+=1:..s$,1)<" "| 00002d80 3a 3d c0 73 24 2c a9 73 24 2d 31 29 0d 14 6e 3e |:=.s$,.s$-1)..n>| 00002d90 dd a4 65 78 69 73 74 73 28 70 61 74 68 24 29 3a |..exists(path$):| 00002da0 ea 20 66 6f 75 6e 64 25 3a c8 99 38 2c 31 37 2c |. found%:..8,17,| 00002db0 70 61 74 68 24 20 b8 20 66 6f 75 6e 64 25 3a 3d |path$ . found%:=| 00002dc0 28 66 6f 75 6e 64 25 3d 31 29 0d 14 a0 37 dd a4 |(found%=1)...7..| 00002dd0 6c 65 6e 67 74 68 28 70 61 74 68 24 29 3a ea 20 |length(path$):. | 00002de0 6c 65 6e 25 3a c8 99 38 2c 31 37 2c 70 61 74 68 |len%:..8,17,path| 00002df0 24 20 b8 2c 2c 2c 2c 6c 65 6e 25 3a 3d 6c 65 6e |$ .,,,,len%:=len| 00002e00 25 0d 14 d2 29 dd f2 68 65 61 70 69 6e 69 74 3a |%...)..heapinit:| 00002e10 c8 99 22 57 69 6d 70 45 78 74 5f 48 65 61 70 22 |.."WimpExt_Heap"| 00002e20 2c 30 2c 93 2c 32 35 36 3a e1 0d 14 fa 50 dd a4 |,0,.,256:....P..| 00002e30 6d 61 6c 6c 6f 63 28 73 69 7a 65 25 29 3a ea 20 |malloc(size%):. | 00002e40 70 25 3a c8 99 22 57 69 6d 70 45 78 74 5f 48 65 |p%:.."WimpExt_He| 00002e50 61 70 22 2c 32 2c 2c 73 69 7a 65 25 b8 2c 70 25 |ap",2,,size%.,p%| 00002e60 3a e7 20 70 25 3d 30 20 85 20 30 2c a4 6d 73 67 |:. p%=0 . 0,.msg| 00002e70 5f 30 28 22 45 52 52 32 22 29 0d 15 22 07 3d 70 |_0("ERR2")..".=p| 00002e80 25 0d 15 36 2a dd f2 66 72 65 65 28 70 74 72 25 |%..6*..free(ptr%| 00002e90 29 3a c8 99 22 57 69 6d 70 45 78 74 5f 48 65 61 |):.."WimpExt_Hea| 00002ea0 70 22 2c 33 2c 70 74 72 25 3a e1 0d 15 5e 58 dd |p",3,ptr%:...^X.| 00002eb0 f2 72 65 61 6c 6c 6f 63 28 70 74 72 25 2c 73 69 |.realloc(ptr%,si| 00002ec0 7a 65 25 29 3a c8 99 22 57 69 6d 70 45 78 74 5f |ze%):.."WimpExt_| 00002ed0 48 65 61 70 22 2c 34 2c 70 74 72 25 2c 73 69 7a |Heap",4,ptr%,siz| 00002ee0 65 25 b8 2c 70 74 72 25 3a e7 20 70 25 3d 30 20 |e%.,ptr%:. p%=0 | 00002ef0 8c 85 20 30 2c a4 6d 73 67 5f 30 28 22 45 52 52 |.. 0,.msg_0("ERR| 00002f00 33 22 29 0d 15 7c 09 3d 70 74 72 25 0d 15 90 78 |3")..|.=ptr%...x| 00002f10 dd f2 6f 70 65 6e 77 69 6e 64 6f 77 28 68 6e 64 |..openwindow(hnd| 00002f20 25 29 3a ea 20 70 25 2c 62 6c 6b 25 3a 70 25 3d |%):. p%,blk%:p%=| 00002f30 a4 6d 61 6c 6c 6f 63 28 33 32 29 3a 62 6c 6b 25 |.malloc(32):blk%| 00002f40 3d 21 70 25 3a 21 62 6c 6b 25 3d 68 6e 64 25 3a |=!p%:!blk%=hnd%:| 00002f50 c8 99 32 36 32 33 34 37 2c 2c 62 6c 6b 25 3a 62 |..262347,,blk%:b| 00002f60 6c 6b 25 21 32 38 3d 2d 31 3a c8 99 32 36 32 33 |lk%!28=-1:..2623| 00002f70 34 31 2c 2c 62 6c 6b 25 3a f2 66 72 65 65 28 70 |41,,blk%:.free(p| 00002f80 25 29 3a e1 0d 15 e0 50 dd f2 6f 70 65 6e 64 69 |%):....P..opendi| 00002f90 61 6c 6f 67 28 68 6e 64 25 2c 78 6f 66 66 25 2c |alog(hnd%,xoff%,| 00002fa0 79 6f 66 66 25 29 3a c8 99 22 57 69 6d 70 45 78 |yoff%):.."WimpEx| 00002fb0 74 5f 4f 70 65 6e 44 69 61 6c 6f 67 75 65 22 2c |t_OpenDialogue",| 00002fc0 2c 2c 68 6e 64 25 2c 78 6f 66 66 25 2c 79 6f 66 |,,hnd%,xoff%,yof| 00002fd0 66 25 3a e1 0d 16 08 4c dd f2 6e 75 6d 69 63 6f |f%:....L..numico| 00002fe0 6e 28 68 6e 64 25 2c 69 63 6f 6e 25 2c 6e 75 6d |n(hnd%,icon%,num| 00002ff0 25 29 3a c8 99 22 57 69 6d 70 45 78 74 5f 53 65 |%):.."WimpExt_Se| 00003000 74 4e 75 6d 62 65 72 49 63 6f 6e 22 2c 2c 2c 68 |tNumberIcon",,,h| 00003010 6e 64 25 2c 69 63 6f 6e 25 2c 6e 75 6d 25 3a e1 |nd%,icon%,num%:.| 00003020 0d 16 30 4b dd a4 6d 65 6d 6e 75 6d 28 61 64 72 |..0K..memnum(adr| 00003030 25 2c 6c 65 6e 25 29 3a ea 20 69 25 2c 6e 25 3a |%,len%):. i%,n%:| 00003040 e3 20 69 25 3d 30 20 b8 20 6c 65 6e 25 2d 31 3a |. i%=0 . len%-1:| 00003050 6e 25 2b 3d 28 61 64 72 25 3f 69 25 29 3c 3c 28 |n%+=(adr%?i%)<<(| 00003060 38 2a 69 25 29 3a ed 3a 3d 6e 25 0d 16 76 ad dd |8*i%):.:=n%..v..| 00003070 f2 6d 75 6c 74 69 70 6c 65 63 68 65 63 6b 3a ea |.multiplecheck:.| 00003080 20 62 6c 6b 25 2c 6e 65 78 74 25 2c 6c 6f 61 64 | blk%,next%,load| 00003090 65 64 25 3a 62 6c 6b 70 25 3d a4 6d 61 6c 6c 6f |ed%:blkp%=.mallo| 000030a0 63 28 31 36 29 3a 62 6c 6b 25 3d 21 62 6c 6b 70 |c(16):blk%=!blkp| 000030b0 25 3a 6c 6f 61 64 65 64 25 3d a3 3a 6e 65 78 74 |%:loaded%=.:next| 000030c0 25 3d 30 3a c8 95 20 6e 65 78 74 25 3e 3d 30 3a |%=0:.. next%>=0:| 000030d0 c8 99 32 37 32 30 30 31 2c 6e 65 78 74 25 2c 62 |..272001,next%,b| 000030e0 6c 6b 25 2c 31 36 20 b8 20 6e 65 78 74 25 3a e7 |lk%,16 . next%:.| 000030f0 a4 7a 65 72 6f 73 74 72 28 62 6c 6b 25 21 34 29 |.zerostr(blk%!4)| 00003100 3d 22 43 6c 6f 77 6e 50 6c 61 79 22 20 8c 20 6c |="ClownPlay" . l| 00003110 6f 61 64 65 64 25 3d b9 0d 16 bc 2f ce 3a f2 66 |oaded%=..../.:.f| 00003120 72 65 65 28 62 6c 6b 70 25 29 3a e7 20 6c 6f 61 |ree(blkp%):. loa| 00003130 64 65 64 25 8c 85 20 30 2c a4 6d 73 67 5f 30 28 |ded%.. 0,.msg_0(| 00003140 22 45 52 52 34 22 29 0d 16 da 05 e1 0d 16 f8 23 |"ERR4")........#| 00003150 dd a4 69 6e 74 65 72 72 28 6c 25 29 3a 3d a4 6d |..interr(l%):=.m| 00003160 73 67 5f 31 28 22 49 4e 54 22 2c c3 6c 25 29 0d |sg_1("INT",.l%).| 00003170 17 16 22 dd f2 66 61 64 65 6f 75 74 3a e7 20 28 |.."..fadeout:. (| 00003180 70 6c 61 79 73 74 61 74 25 80 20 33 29 3d 31 20 |playstat%. 3)=1 | 00003190 8c 0d 17 2a a9 70 6c 61 79 73 74 61 74 25 3d 28 |...*.playstat%=(| 000031a0 70 6c 61 79 73 74 61 74 25 80 ac 26 37 46 38 30 |playstat%..&7F80| 000031b0 30 30 36 30 29 84 25 31 30 30 30 30 30 30 20 84 |0060).%1000000 .| 000031c0 20 28 76 6f 6c 75 6d 65 25 3c 3c 32 33 29 3a c8 | (volume%<<23):.| 000031d0 99 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f |."WimpExt_SetIco| 000031e0 6e 43 6f 6c 6f 75 72 22 2c 2c 2c 77 5f 6d 61 69 |nColour",,,w_mai| 000031f0 6e 25 2c 36 34 2c 2d 31 2c 31 30 3a e3 69 25 3d |n%,64,-1,10:.i%=| 00003200 35 32 20 b8 20 35 34 20 88 20 32 3a c8 99 22 57 |52 . 54 . 2:.."W| 00003210 69 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e 43 6f |impExt_SetIconCo| 00003220 6c 6f 75 72 22 2c 2c 2c 77 5f 6d 61 69 6e 25 2c |lour",,,w_main%,| 00003230 69 25 2c 31 30 2c 2d 31 3a ed 0d 17 48 07 cd 3a |i%,10,-1:...H..:| 00003240 e1 0d 17 66 21 dd f2 66 61 64 65 69 6e 3a e7 20 |...f!..fadein:. | 00003250 28 70 6c 61 79 73 74 61 74 25 80 20 33 29 3d 33 |(playstat%. 3)=3| 00003260 20 8c 0d 17 7a bf 70 6c 61 79 73 74 61 74 25 3d | ...z.playstat%=| 00003270 28 70 6c 61 79 73 74 61 74 25 80 ac 26 37 46 38 |(playstat%..&7F8| 00003280 30 30 30 36 30 29 84 25 30 31 30 30 30 30 30 20 |00060).%0100000 | 00003290 84 20 28 32 35 35 3c 3c 32 33 29 3a c8 99 22 43 |. (255<<23):.."C| 000032a0 6f 63 6f 5f 53 65 74 56 6f 6c 75 6d 65 22 2c 32 |oco_SetVolume",2| 000032b0 35 35 3a f2 70 6c 61 79 3a c8 99 22 57 69 6d 70 |55:.play:.."Wimp| 000032c0 45 78 74 5f 53 65 74 49 63 6f 6e 43 6f 6c 6f 75 |Ext_SetIconColou| 000032d0 72 22 2c 2c 2c 77 5f 6d 61 69 6e 25 2c 36 34 2c |r",,,w_main%,64,| 000032e0 2d 31 2c 31 30 3a e3 20 69 25 3d 35 32 20 b8 20 |-1,10:. i%=52 . | 000032f0 35 33 3a c8 99 22 57 69 6d 70 45 78 74 5f 53 65 |53:.."WimpExt_Se| 00003300 74 49 63 6f 6e 43 6f 6c 6f 75 72 22 2c 2c 2c 77 |tIconColour",,,w| 00003310 5f 6d 61 69 6e 25 2c 69 25 2c 31 30 2c 2d 31 3a |_main%,i%,10,-1:| 00003320 ed 0d 17 ac 07 cd 3a e1 0d 17 ca 2b dd f2 66 61 |......:....+..fa| 00003330 64 65 75 70 64 61 74 65 3a e7 20 28 70 6c 61 79 |deupdate:. (play| 00003340 73 74 61 74 25 80 20 28 33 3c 3c 35 29 29 3d 30 |stat%. (3<<5))=0| 00003350 20 8c e1 0d 17 de 8f 66 61 64 65 76 6f 6c 25 3d | ......fadevol%=| 00003360 28 70 6c 61 79 73 74 61 74 25 80 20 32 35 35 3c |(playstat%. 255<| 00003370 3c 32 33 29 3e 3e 32 33 3a 66 61 64 65 76 6f 6c |<23)>>23:fadevol| 00003380 25 2b 3d 34 2a 28 28 70 6c 61 79 73 74 61 74 25 |%+=4*((playstat%| 00003390 80 20 28 33 3c 3c 35 29 29 3e 3e 35 29 2d 36 3a |. (3<<5))>>5)-6:| 000033a0 e7 20 66 61 64 65 76 6f 6c 25 3c 76 6f 6c 75 6d |. fadevol%<volum| 000033b0 65 25 8c 20 66 61 64 65 76 6f 6c 25 3d 76 6f 6c |e%. fadevol%=vol| 000033c0 75 6d 65 25 8b e7 20 66 61 64 65 76 6f 6c 25 3e |ume%.. fadevol%>| 000033d0 32 35 35 20 8c 20 66 61 64 65 76 6f 6c 25 3d 32 |255 . fadevol%=2| 000033e0 35 35 0d 17 fc 83 c8 99 22 43 6f 63 6f 5f 53 65 |55......"Coco_Se| 000033f0 74 56 6f 6c 75 6d 65 22 2c 66 61 64 65 76 6f 6c |tVolume",fadevol| 00003400 25 3a 70 6c 61 79 73 74 61 74 25 3d 28 70 6c 61 |%:playstat%=(pla| 00003410 79 73 74 61 74 25 80 ac 20 28 32 35 35 3c 3c 32 |ystat%.. (255<<2| 00003420 33 29 29 84 20 28 66 61 64 65 76 6f 6c 25 3c 3c |3)). (fadevol%<<| 00003430 32 33 29 3a e7 20 66 61 64 65 76 6f 6c 25 3d 32 |23):. fadevol%=2| 00003440 35 35 20 8c f2 70 61 75 73 65 3a c8 99 22 43 6f |55 ..pause:.."Co| 00003450 63 6f 5f 53 65 74 56 6f 6c 75 6d 65 22 2c 76 6f |co_SetVolume",vo| 00003460 6c 75 6d 65 25 0d 18 1a 31 e7 20 66 61 64 65 76 |lume%...1. fadev| 00003470 6f 6c 25 3d 32 35 35 20 84 20 66 61 64 65 76 6f |ol%=255 . fadevo| 00003480 6c 25 3d 76 6f 6c 75 6d 65 25 8c f2 62 6c 61 6e |l%=volume%..blan| 00003490 6b 66 61 64 65 72 0d 18 24 05 e1 0d 18 38 b3 dd |kfader..$....8..| 000034a0 f2 62 6c 61 6e 6b 66 61 64 65 72 3a 70 6c 61 79 |.blankfader:play| 000034b0 73 74 61 74 25 3d 28 70 6c 61 79 73 74 61 74 25 |stat%=(playstat%| 000034c0 80 ac 20 28 33 3c 3c 35 29 29 3a c8 99 22 57 69 |.. (3<<5)):.."Wi| 000034d0 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e 43 6f 6c |mpExt_SetIconCol| 000034e0 6f 75 72 22 2c 2c 2c 77 5f 6d 61 69 6e 25 2c 36 |our",,,w_main%,6| 000034f0 34 2c 2d 31 2c 37 3a e3 20 69 25 3d 35 32 20 b8 |4,-1,7:. i%=52 .| 00003500 20 35 34 3a c8 99 22 57 69 6d 70 45 78 74 5f 53 | 54:.."WimpExt_S| 00003510 65 74 49 63 6f 6e 43 6f 6c 6f 75 72 22 2c 2c 2c |etIconColour",,,| 00003520 77 5f 6d 61 69 6e 25 2c 69 25 2c 37 2c 2d 31 3a |w_main%,i%,7,-1:| 00003530 ed 3a c8 99 22 43 6f 63 6f 5f 53 65 74 56 6f 6c |.:.."Coco_SetVol| 00003540 75 6d 65 22 2c 76 6f 6c 75 6d 65 25 3a e1 0d 18 |ume",volume%:...| 00003550 7e c1 dd f2 69 6e 69 74 3a de 20 74 72 61 6b 66 |~...init:. trakf| 00003560 69 6c 65 24 28 32 30 29 2c 74 72 61 6b 73 74 61 |ile$(20),traksta| 00003570 74 25 28 32 30 29 3a f2 69 6e 69 74 74 65 6d 70 |t%(20):.inittemp| 00003580 6c 61 74 65 73 3a f2 6d 61 6b 65 6d 65 6e 75 73 |lates:.makemenus| 00003590 3a 6e 75 6d 74 72 61 6b 73 25 3d 30 3a 63 75 72 |:numtraks%=0:cur| 000035a0 72 74 72 61 6b 25 3d 30 3a 70 6c 61 79 73 74 61 |rtrak%=0:playsta| 000035b0 74 25 3d 30 3a 76 6f 6c 75 6d 65 25 3d 30 3a 6f |t%=0:volume%=0:o| 000035c0 6c 64 74 69 6d 65 24 3d 22 22 3a 62 6c 6b 70 25 |ldtime$="":blkp%| 000035d0 3d a4 6d 61 6c 6c 6f 63 28 34 30 29 3a 62 6c 6b |=.malloc(40):blk| 000035e0 25 3d 21 62 6c 6b 70 25 3a 21 62 6c 6b 25 3d 77 |%=!blkp%:!blk%=w| 000035f0 5f 6d 61 69 6e 25 3a 62 6c 6b 25 21 34 3d 34 36 |_main%:blk%!4=46| 00003600 3a c8 99 32 36 32 33 35 30 2c 2c 62 6c 6b 25 0d |:..262350,,blk%.| 00003610 18 d8 69 76 6f 6c 6d 69 6e 78 25 3d 62 6c 6b 25 |..ivolminx%=blk%| 00003620 21 38 3a 76 6f 6c 6d 69 6e 79 25 3d 62 6c 6b 25 |!8:volminy%=blk%| 00003630 21 31 32 3a 76 6f 6c 6d 61 78 78 25 3d 62 6c 6b |!12:volmaxx%=blk| 00003640 25 21 31 36 3a 76 6f 6c 6d 61 78 79 25 3d 62 6c |%!16:volmaxy%=bl| 00003650 6b 25 21 32 30 3a f2 73 65 74 76 6f 6c 75 6d 65 |k%!20:.setvolume| 00003660 28 76 6f 6c 75 6d 65 25 29 3a f2 66 72 65 65 28 |(volume%):.free(| 00003670 62 6c 6b 70 25 29 3a e1 0d 19 3c c7 dd f2 69 6e |blkp%):...<...in| 00003680 69 74 74 65 6d 70 6c 61 74 65 73 3a e3 20 69 63 |ittemplates:. ic| 00003690 6f 6e 25 3d 31 20 b8 20 32 30 3a c8 99 22 57 69 |on%=1 . 20:.."Wi| 000036a0 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e 43 6f 6c |mpExt_SetIconCol| 000036b0 6f 75 72 22 2c 2c 2c 77 5f 6d 61 69 6e 25 2c 69 |our",,,w_main%,i| 000036c0 63 6f 6e 25 2c 37 2c 31 33 3a ed 3a e3 20 69 63 |con%,7,13:.:. ic| 000036d0 6f 6e 25 3d 32 33 20 b8 20 33 30 3a f2 73 65 74 |on%=23 . 30:.set| 000036e0 69 63 6f 6e 73 70 72 69 74 65 28 77 5f 6d 61 69 |iconsprite(w_mai| 000036f0 6e 25 2c 69 63 6f 6e 25 2c 22 7e 22 29 3a ed 3a |n%,icon%,"~"):.:| 00003700 e3 20 69 63 6f 6e 25 3d 34 38 20 b8 20 35 36 3a |. icon%=48 . 56:| 00003710 c8 99 22 57 69 6d 70 45 78 74 5f 53 65 74 49 63 |.."WimpExt_SetIc| 00003720 6f 6e 43 6f 6c 6f 75 72 22 2c 2c 2c 77 5f 6d 61 |onColour",,,w_ma| 00003730 69 6e 25 2c 69 63 6f 6e 25 2c 37 2c 37 3a ed 0d |in%,icon%,7,7:..| 00003740 19 aa dc c8 99 22 57 69 6d 70 45 78 74 5f 53 65 |....."WimpExt_Se| 00003750 74 49 63 6f 6e 43 6f 6c 6f 75 72 22 2c 2c 2c 77 |tIconColour",,,w| 00003760 5f 6d 61 69 6e 25 2c 36 34 2c 37 2c 37 3a e3 20 |_main%,64,7,7:. | 00003770 69 63 6f 6e 25 3d 32 31 20 b8 20 32 32 3a f2 73 |icon%=21 . 22:.s| 00003780 69 73 28 77 5f 6d 61 69 6e 25 2c 69 63 6f 6e 25 |is(w_main%,icon%| 00003790 2c 30 2c 33 29 3a ed 3a e3 20 74 72 61 63 6b 25 |,0,3):.:. track%| 000037a0 3d 31 20 b8 20 32 30 3a c8 99 22 57 69 6d 70 45 |=1 . 20:.."WimpE| 000037b0 78 74 5f 53 65 74 4e 75 6d 62 65 72 49 63 6f 6e |xt_SetNumberIcon| 000037c0 22 2c 2c 2c 77 5f 6c 69 73 74 25 2c 74 72 61 63 |",,,w_list%,trac| 000037d0 6b 25 2a 37 2c 74 72 61 63 6b 25 3a e3 20 69 25 |k%*7,track%:. i%| 000037e0 3d 31 20 b8 20 35 3a c8 99 22 57 69 6d 70 45 78 |=1 . 5:.."WimpEx| 000037f0 74 5f 53 65 74 49 63 6f 6e 53 74 72 69 6e 67 22 |t_SetIconString"| 00003800 2c 2c 2c 77 5f 6c 69 73 74 25 2c 74 72 61 63 6b |,,,w_list%,track| 00003810 25 2a 37 2b 69 25 2c 22 22 3a ed 0d 1a 0e 1d f2 |%*7+i%,"":......| 00003820 75 70 64 61 74 65 73 74 61 74 75 73 28 74 72 61 |updatestatus(tra| 00003830 63 6b 25 29 3a ed 3a e1 0d 1a 36 9d dd f2 73 69 |ck%):.:...6...si| 00003840 73 28 68 6e 64 25 2c 69 63 6f 6e 25 2c 65 6f 72 |s(hnd%,icon%,eor| 00003850 25 2c 63 6c 65 61 72 25 29 3a ea 20 62 6c 6b 70 |%,clear%):. blkp| 00003860 25 2c 62 6c 6b 25 3a 62 6c 6b 70 25 3d a4 6d 61 |%,blk%:blkp%=.ma| 00003870 6c 6c 6f 63 28 31 36 29 3a 62 6c 6b 25 3d 21 62 |lloc(16):blk%=!b| 00003880 6c 6b 70 25 3a 21 62 6c 6b 25 3d 68 6e 64 25 3a |lkp%:!blk%=hnd%:| 00003890 62 6c 6b 25 21 34 3d 69 63 6f 6e 25 3a 62 6c 6b |blk%!4=icon%:blk| 000038a0 25 21 38 3d 65 6f 72 25 3a 62 6c 6b 25 21 31 32 |%!8=eor%:blk%!12| 000038b0 3d 63 6c 65 61 72 25 3a c8 99 32 36 32 33 34 39 |=clear%:..262349| 000038c0 2c 2c 62 6c 6b 25 3a f2 66 72 65 65 28 62 6c 6b |,,blk%:.free(blk| 000038d0 70 25 29 3a e1 0d 1a 86 3b dd f2 64 65 6c 65 74 |p%):....;..delet| 000038e0 65 69 63 6f 6e 28 68 6e 64 25 2c 69 63 6f 6e 25 |eicon(hnd%,icon%| 000038f0 29 3a f2 73 69 73 28 68 6e 64 25 2c 69 63 6f 6e |):.sis(hnd%,icon| 00003900 25 2c 31 3c 3c 32 33 2c 31 3c 3c 32 33 29 3a e1 |%,1<<23,1<<23):.| 00003910 0d 1a ae 39 dd f2 75 6e 64 65 6c 65 74 65 69 63 |...9..undeleteic| 00003920 6f 6e 28 68 6e 64 25 2c 69 63 6f 6e 25 29 3a f2 |on(hnd%,icon%):.| 00003930 73 69 73 28 68 6e 64 25 2c 69 63 6f 6e 25 2c 30 |sis(hnd%,icon%,0| 00003940 2c 31 3c 3c 32 33 29 3a e1 0d 1a d6 d3 dd f2 73 |,1<<23):.......s| 00003950 65 74 69 63 6f 6e 73 70 72 69 74 65 28 68 6e 64 |eticonsprite(hnd| 00003960 25 2c 69 63 6f 6e 25 2c 73 70 72 69 74 65 24 29 |%,icon%,sprite$)| 00003970 3a ea 20 62 6c 6b 25 2c 62 6c 6b 70 25 3a 62 6c |:. blk%,blkp%:bl| 00003980 6b 70 25 3d a4 6d 61 6c 6c 6f 63 28 34 30 29 3a |kp%=.malloc(40):| 00003990 62 6c 6b 25 3d 21 62 6c 6b 70 25 3a 21 62 6c 6b |blk%=!blkp%:!blk| 000039a0 25 3d 68 6e 64 25 3a 62 6c 6b 25 21 34 3d 69 63 |%=hnd%:blk%!4=ic| 000039b0 6f 6e 25 3a c8 99 32 36 32 33 35 30 2c 2c 62 6c |on%:..262350,,bl| 000039c0 6b 25 3a c8 99 32 36 32 33 34 30 2c 2c 62 6c 6b |k%:..262340,,blk| 000039d0 25 3a 24 28 62 6c 6b 25 21 32 38 29 3d 73 70 72 |%:$(blk%!28)=spr| 000039e0 69 74 65 24 3a 62 6c 6b 25 21 33 32 3d 73 70 72 |ite$:blk%!32=spr| 000039f0 69 74 65 5f 61 72 65 61 25 3a 62 6c 6b 25 21 34 |ite_area%:blk%!4| 00003a00 3d 21 62 6c 6b 25 3a c8 99 32 36 32 33 33 38 2c |=!blk%:..262338,| 00003a10 69 63 6f 6e 25 2c 62 6c 6b 25 2b 34 0d 1b 1c 41 |icon%,blk%+4...A| 00003a20 62 6c 6b 25 21 34 3d 69 63 6f 6e 25 3a 62 6c 6b |blk%!4=icon%:blk| 00003a30 25 21 38 3d 30 3a 62 6c 6b 25 21 31 32 3d 30 3a |%!8=0:blk%!12=0:| 00003a40 c8 99 32 36 32 33 34 39 2c 2c 62 6c 6b 25 3a f2 |..262349,,blk%:.| 00003a50 66 72 65 65 28 62 6c 6b 70 25 29 3a e1 0d 1b 44 |free(blkp%):...D| 00003a60 b4 dd f2 73 65 74 76 6f 6c 75 6d 65 28 76 6f 6c |...setvolume(vol| 00003a70 25 29 3a ea 20 62 6c 6b 25 2c 62 6c 6b 70 25 2c |%):. blk%,blkp%,| 00003a80 6d 61 78 78 25 2c 6d 69 6e 78 25 2c 68 65 69 67 |maxx%,minx%,heig| 00003a90 68 74 25 2c 6d 6f 72 65 25 3a c8 99 22 43 6f 63 |ht%,more%:.."Coc| 00003aa0 6f 5f 53 65 74 56 6f 6c 75 6d 65 22 2c 76 6f 6c |o_SetVolume",vol| 00003ab0 25 3a 62 6c 6b 70 25 3d a4 6d 61 6c 6c 6f 63 28 |%:blkp%=.malloc(| 00003ac0 32 35 36 29 3a 62 6c 6b 25 3d 21 62 6c 6b 70 25 |256):blk%=!blkp%| 00003ad0 3a 21 62 6c 6b 25 3d 77 5f 6d 61 69 6e 25 3a 62 |:!blk%=w_main%:b| 00003ae0 6c 6b 25 21 34 3d 34 37 3a c8 99 32 36 32 33 35 |lk%!4=47:..26235| 00003af0 30 2c 2c 62 6c 6b 25 3a 68 65 69 67 68 74 25 3d |0,,blk%:height%=| 00003b00 28 62 6c 6b 25 21 32 30 2d 62 6c 6b 25 21 31 32 |(blk%!20-blk%!12| 00003b10 29 0d 1b 8a 5f 62 6c 6b 25 21 32 30 3d 76 6f 6c |)..._blk%!20=vol| 00003b20 6d 69 6e 79 25 2b 28 76 6f 6c 6d 61 78 79 25 2d |miny%+(volmaxy%-| 00003b30 76 6f 6c 6d 69 6e 79 25 29 2a 28 28 32 35 35 2d |volminy%)*((255-| 00003b40 76 6f 6c 25 29 2f 32 35 35 29 2b 68 65 69 67 68 |vol%)/255)+heigh| 00003b50 74 25 81 32 3a e7 20 62 6c 6b 25 21 31 32 3c 3e |t%.2:. blk%!12<>| 00003b60 62 6c 6b 25 21 32 30 2d 68 65 69 67 68 74 25 8c |blk%!20-height%.| 00003b70 0d 1b 9e 90 62 6c 6b 25 21 31 32 3d 62 6c 6b 25 |....blk%!12=blk%| 00003b80 21 32 30 2d 68 65 69 67 68 74 25 3a c8 99 32 36 |!20-height%:..26| 00003b90 32 33 34 30 2c 2c 62 6c 6b 25 3a 62 6c 6b 25 21 |2340,,blk%:blk%!| 00003ba0 34 3d 21 62 6c 6b 25 3a c8 99 32 36 32 33 33 38 |4=!blk%:..262338| 00003bb0 2c 34 37 2c 62 6c 6b 25 2b 34 3a c8 99 32 36 32 |,47,blk%+4:..262| 00003bc0 33 35 33 2c 77 5f 6d 61 69 6e 25 2c 62 6c 6b 25 |353,w_main%,blk%| 00003bd0 21 38 2c 76 6f 6c 6d 69 6e 79 25 2d 68 65 69 67 |!8,volminy%-heig| 00003be0 68 74 25 81 32 2c 62 6c 6b 25 21 31 36 2c 76 6f |ht%.2,blk%!16,vo| 00003bf0 6c 6d 61 78 79 25 2b 68 65 69 67 68 74 25 81 32 |lmaxy%+height%.2| 00003c00 0d 1b c6 29 cd 3a f2 66 72 65 65 28 62 6c 6b 70 |...).:.free(blkp| 00003c10 25 29 3a f2 73 69 73 28 77 5f 6d 61 69 6e 25 2c |%):.sis(w_main%,| 00003c20 34 37 2c 30 2c 30 29 3a e1 0d 1b f8 d0 dd f2 75 |47,0,0):.......u| 00003c30 70 64 61 74 65 69 6e 66 6f 28 74 72 61 6b 25 29 |pdateinfo(trak%)| 00003c40 3a ea 20 62 6c 6b 70 25 2c 62 6c 6b 25 2c 68 6e |:. blkp%,blk%,hn| 00003c50 64 25 3a c8 99 22 57 69 6d 70 45 78 74 5f 53 65 |d%:.."WimpExt_Se| 00003c60 74 49 63 6f 6e 53 74 72 69 6e 67 4e 22 2c 2c 2c |tIconStringN",,,| 00003c70 77 5f 6c 69 73 74 25 2c 37 2a 74 72 61 6b 25 2b |w_list%,7*trak%+| 00003c80 31 2c a4 6c 65 61 66 28 74 72 61 6b 66 69 6c 65 |1,.leaf(trakfile| 00003c90 24 28 74 72 61 6b 25 29 29 3a c8 99 31 33 2c 26 |$(trak%)):..13,&| 00003ca0 34 33 2c 74 72 61 6b 66 69 6c 65 24 28 74 72 61 |43,trakfile$(tra| 00003cb0 6b 25 29 b8 20 68 6e 64 25 3a 62 6c 6b 70 25 3d |k%). hnd%:blkp%=| 00003cc0 a4 6d 61 6c 6c 6f 63 28 32 33 29 3a 62 6c 6b 25 |.malloc(23):blk%| 00003cd0 3d 21 62 6c 6b 70 25 3a c8 99 31 32 2c 33 2c 68 |=!blkp%:..12,3,h| 00003ce0 6e 64 25 2c 62 6c 6b 25 2c 32 33 2c 31 3a c8 99 |nd%,blk%,23,1:..| 00003cf0 31 33 2c 30 2c 68 6e 64 25 0d 1c 3e bc f2 69 63 |13,0,hnd%..>..ic| 00003d00 6f 6e 73 74 72 28 77 5f 6c 69 73 74 25 2c 37 2a |onstr(w_list%,7*| 00003d10 74 72 61 6b 25 2b 32 2c a4 7a 65 72 6f 73 74 72 |trak%+2,.zerostr| 00003d20 28 62 6c 6b 25 29 29 3a f2 69 63 6f 6e 6e 75 6d |(blk%)):.iconnum| 00003d30 28 77 5f 6c 69 73 74 25 2c 37 2a 74 72 61 6b 25 |(w_list%,7*trak%| 00003d40 2b 33 2c 62 6c 6b 25 3f 32 31 29 3a f2 69 63 6f |+3,blk%?21):.ico| 00003d50 6e 6e 75 6d 28 77 5f 6c 69 73 74 25 2c 37 2a 74 |nnum(w_list%,7*t| 00003d60 72 61 6b 25 2b 34 2c 62 6c 6b 25 3f 32 32 29 3a |rak%+4,blk%?22):| 00003d70 f2 69 63 6f 6e 6e 75 6d 28 77 5f 6c 69 73 74 25 |.iconnum(w_list%| 00003d80 2c 37 2a 74 72 61 6b 25 2b 35 2c 62 6c 6b 25 3f |,7*trak%+5,blk%?| 00003d90 32 30 29 3a f2 75 70 64 61 74 65 73 74 61 74 75 |20):.updatestatu| 00003da0 73 28 74 72 61 6b 25 29 3a f2 66 72 65 65 28 62 |s(trak%):.free(b| 00003db0 6c 6b 70 25 29 0d 1c 7a 79 c8 99 22 57 69 6d 70 |lkp%)..zy.."Wimp| 00003dc0 45 78 74 5f 53 65 74 49 63 6f 6e 43 6f 6c 6f 75 |Ext_SetIconColou| 00003dd0 72 22 2c 2c 2c 77 5f 6d 61 69 6e 25 2c 74 72 61 |r",,,w_main%,tra| 00003de0 6b 25 2c 2d 31 2c 31 33 3a e3 20 62 6c 6b 25 3d |k%,-1,13:. blk%=| 00003df0 74 72 61 6b 25 2b 31 20 b8 20 32 30 3a c8 99 22 |trak%+1 . 20:.."| 00003e00 57 69 6d 70 45 78 74 5f 53 65 74 49 63 6f 6e 43 |WimpExt_SetIconC| 00003e10 6f 6c 6f 75 72 22 2c 2c 2c 77 5f 6d 61 69 6e 25 |olour",,,w_main%| 00003e20 2c 62 6c 6b 25 2c 2d 31 2c 37 3a ed 3a e1 0d 1c |,blk%,-1,7:.:...| 00003e30 b6 5a dd f2 75 70 64 61 74 65 73 74 61 74 75 73 |.Z..updatestatus| 00003e40 28 74 72 61 6b 25 29 3a f2 69 63 6f 6e 73 74 72 |(trak%):.iconstr| 00003e50 28 77 5f 6c 69 73 74 25 2c 37 2a 74 72 61 6b 25 |(w_list%,7*trak%| 00003e60 2b 36 2c a4 6d 73 67 5f 30 28 22 53 54 41 54 22 |+6,.msg_0("STAT"| 00003e70 2b c3 28 74 72 61 6b 73 74 61 74 25 28 74 72 61 |+.(trakstat%(tra| 00003e80 6b 25 29 29 29 29 3a e1 0d 1c de 45 dd a4 6c 65 |k%)))):....E..le| 00003e90 61 66 28 66 69 6c 65 24 29 3a f5 3a 66 69 6c 65 |af(file$):.:file| 00003ea0 24 3d c1 66 69 6c 65 24 2c a7 66 69 6c 65 24 2c |$=.file$,.file$,| 00003eb0 22 2e 22 29 2b 31 29 3a fd a7 66 69 6c 65 24 2c |".")+1):..file$,| 00003ec0 22 2e 22 29 3d 30 3a 3d 66 69 6c 65 24 0d 1d 06 |".")=0:=file$...| 00003ed0 c7 dd f2 64 69 73 70 6c 61 79 75 70 64 61 74 65 |...displayupdate| 00003ee0 3a ea 20 69 6e 64 65 78 25 3a c8 99 22 43 6f 63 |:. index%:.."Coc| 00003ef0 6f 5f 47 65 74 49 6e 66 6f 73 22 20 b8 2c 69 6e |o_GetInfos" .,in| 00003f00 64 65 78 25 2c 2c 2c 2c 63 75 72 72 73 70 64 25 |dex%,,,,currspd%| 00003f10 3a c8 99 36 36 20 b8 20 74 69 6d 65 25 3a 64 69 |:..66 . time%:di| 00003f20 73 70 6c 61 79 24 3d a4 73 70 72 69 74 65 28 63 |splay$=.sprite(c| 00003f30 75 72 72 74 72 61 6b 25 80 26 46 46 29 2b a4 73 |urrtrak%.&FF)+.s| 00003f40 70 72 69 74 65 28 69 6e 64 65 78 25 29 2b a4 70 |prite(index%)+.p| 00003f50 6c 61 79 74 69 6d 65 3a e3 20 69 25 3d 31 20 b8 |laytime:. i%=1 .| 00003f60 20 38 3a f2 73 65 74 69 63 6f 6e 73 70 72 69 74 | 8:.seticonsprit| 00003f70 65 28 77 5f 6d 61 69 6e 25 2c 32 32 2b 69 25 2c |e(w_main%,22+i%,| 00003f80 c1 64 69 73 70 6c 61 79 24 2c 69 25 2c 31 29 29 |.display$,i%,1))| 00003f90 3a ed 3a e1 0d 1d 6a 77 dd f2 6e 75 6c 6c 75 70 |:.:...jw..nullup| 00003fa0 64 61 74 65 3a ea 20 69 6e 64 65 78 25 2c 69 25 |date:. index%,i%| 00003fb0 2c 64 69 73 70 6c 61 79 24 3a f2 66 61 64 65 75 |,display$:.fadeu| 00003fc0 70 64 61 74 65 3a c8 99 22 43 6f 63 6f 5f 47 65 |pdate:.."Coco_Ge| 00003fd0 74 49 6e 66 6f 73 22 20 b8 2c 69 6e 64 65 78 25 |tInfos" .,index%| 00003fe0 2c 2c 2c 2c 63 75 72 72 73 70 64 25 3a e7 20 69 |,,,,currspd%:. i| 00003ff0 6e 64 65 78 25 3e 28 28 63 75 72 72 74 72 61 6b |ndex%>((currtrak| 00004000 25 3e 3e 38 29 80 26 46 46 29 8c 0d 1d 9c 7e 63 |%>>8).&FF)....~c| 00004010 75 72 72 74 72 61 6b 25 3d 28 63 75 72 72 74 72 |urrtrak%=(currtr| 00004020 61 6b 25 80 26 46 46 29 84 20 28 69 6e 64 65 78 |ak%.&FF). (index| 00004030 25 3c 3c 38 29 3a 64 69 73 70 6c 61 79 24 3d a4 |%<<8):display$=.| 00004040 73 70 72 69 74 65 28 69 6e 64 65 78 25 29 3a e3 |sprite(index%):.| 00004050 20 69 25 3d 31 20 b8 20 32 3a f2 73 65 74 69 63 | i%=1 . 2:.setic| 00004060 6f 6e 73 70 72 69 74 65 28 77 5f 6d 61 69 6e 25 |onsprite(w_main%| 00004070 2c 32 34 2b 69 25 2c c1 64 69 73 70 6c 61 79 24 |,24+i%,.display$| 00004080 2c 69 25 2c 31 29 29 3a ed 0d 1d ce 24 cd 3a e7 |,i%,1)):....$.:.| 00004090 20 69 6e 64 65 78 25 3c 28 28 63 75 72 72 74 72 | index%<((currtr| 000040a0 61 6b 25 3e 3e 38 29 80 26 46 46 29 8c 0d 1d e2 |ak%>>8).&FF)....| 000040b0 09 f2 74 66 77 64 0d 1d ec 2f cc 3a 64 69 73 70 |..tfwd.../.:disp| 000040c0 6c 61 79 24 3d a4 70 6c 61 79 74 69 6d 65 3a e7 |lay$=.playtime:.| 000040d0 20 64 69 73 70 6c 61 79 24 3c 3e 6f 6c 64 74 69 | display$<>oldti| 000040e0 6d 65 24 20 8c 0d 1e 0a 50 6f 6c 64 74 69 6d 65 |me$ ....Poldtime| 000040f0 24 3d 64 69 73 70 6c 61 79 24 3a e3 20 69 25 3d |$=display$:. i%=| 00004100 31 20 b8 20 34 3a f2 73 65 74 69 63 6f 6e 73 70 |1 . 4:.seticonsp| 00004110 72 69 74 65 28 77 5f 6d 61 69 6e 25 2c 32 36 2b |rite(w_main%,26+| 00004120 69 25 2c c1 64 69 73 70 6c 61 79 24 2c 69 25 2c |i%,.display$,i%,| 00004130 31 29 29 3a ed 0d 1e 32 05 cd 0d 1e 3c 07 cd 3a |1)):...2....<..:| 00004140 e1 0d 1e 5a 1d dd a4 73 70 72 69 74 65 28 6e 25 |...Z...sprite(n%| 00004150 29 3a 3d c2 22 7e 22 2b c3 6e 25 2c 32 29 0d 1e |):=."~"+.n%,2)..| 00004160 78 25 dd a4 70 6c 61 79 74 69 6d 65 3a ea 20 69 |x%..playtime:. i| 00004170 25 3a e7 20 28 70 6c 61 79 73 74 61 74 25 80 20 |%:. (playstat%. | 00004180 32 29 8c 0d 1e 96 1b 69 25 3d 70 61 75 73 65 74 |2).....i%=pauset| 00004190 69 6d 65 25 2d 70 6c 61 79 74 69 6d 65 25 0d 1e |ime%-playtime%..| 000041a0 a0 1d cc 3a c8 99 36 36 20 b8 20 69 25 3a 69 25 |...:..66 . i%:i%| 000041b0 2d 3d 70 6c 61 79 74 69 6d 65 25 0d 1e b4 32 cd |-=playtime%...2.| 000041c0 3a 3d c2 22 7e 22 2b c3 28 69 25 81 36 30 30 30 |:=."~"+.(i%.6000| 000041d0 29 2c 32 29 2b c2 22 30 22 2b c3 28 28 69 25 83 |),2)+."0"+.((i%.| 000041e0 36 30 30 30 29 81 31 30 30 29 2c 32 29 0d 1e d2 |6000).100),2)...| 000041f0 a1 dd a4 73 75 62 69 6e 64 65 78 3a c8 99 22 43 |...subindex:.."C| 00004200 6f 63 6f 5f 47 65 74 49 6e 66 6f 73 22 20 b8 2c |oco_GetInfos" .,| 00004210 2c 70 61 74 61 64 72 25 2c 73 65 71 61 64 72 25 |,patadr%,seqadr%| 00004220 2c 74 72 61 6b 61 64 72 25 2c 2c 6e 76 6f 69 63 |,trakadr%,,nvoic| 00004230 65 25 3a 70 61 74 74 65 72 6e 25 3d 3f 73 65 71 |e%:pattern%=?seq| 00004240 61 64 72 25 3a 70 61 74 6f 66 66 25 3d 70 61 74 |adr%:patoff%=pat| 00004250 61 64 72 25 2d 28 74 72 61 6b 61 64 72 25 21 32 |adr%-(trakadr%!2| 00004260 38 2b 6e 76 6f 69 63 65 25 2a 34 2a 36 34 2a 70 |8+nvoice%*4*64*p| 00004270 61 74 74 65 72 6e 25 29 3a 3d 70 61 74 6f 66 66 |attern%):=patoff| 00004280 25 81 20 28 6e 76 6f 69 63 65 25 2a 34 29 0d 1f |%. (nvoice%*4)..| 00004290 0e d8 dd f2 64 72 61 67 76 6f 6c 75 6d 65 3a 62 |....dragvolume:b| 000042a0 6c 6b 70 25 3d a4 6d 61 6c 6c 6f 63 28 34 34 29 |lkp%=.malloc(44)| 000042b0 3a 62 6c 6b 25 3d 21 62 6c 6b 70 25 3a 21 62 6c |:blk%=!blkp%:!bl| 000042c0 6b 25 3d 77 5f 6d 61 69 6e 25 3a c8 99 32 36 32 |k%=w_main%:..262| 000042d0 33 34 37 2c 2c 62 6c 6b 25 3a 78 25 3d 62 6c 6b |347,,blk%:x%=blk| 000042e0 25 21 34 2d 62 6c 6b 25 21 32 30 3a 79 25 3d 62 |%!4-blk%!20:y%=b| 000042f0 6c 6b 25 21 31 36 2d 62 6c 6b 25 21 32 34 3a 64 |lk%!16-blk%!24:d| 00004300 72 61 67 6d 69 6e 25 3d 79 25 2b 76 6f 6c 6d 69 |ragmin%=y%+volmi| 00004310 6e 79 25 3a 64 72 61 67 6d 61 78 25 3d 79 25 2b |ny%:dragmax%=y%+| 00004320 76 6f 6c 6d 61 78 79 25 3a 62 6c 6b 25 21 34 3d |volmaxy%:blk%!4=| 00004330 37 3a 62 6c 6b 25 21 32 34 3d 78 25 2b 28 76 6f |7:blk%!24=x%+(vo| 00004340 6c 6d 69 6e 78 25 2b 76 6f 6c 6d 61 78 78 25 29 |lminx%+volmaxx%)| 00004350 81 32 3a 62 6c 6b 25 21 32 38 3d 79 25 2b 76 6f |.2:blk%!28=y%+vo| 00004360 6c 6d 69 6e 79 25 0d 1f 4a 59 62 6c 6b 25 21 33 |lminy%..JYblk%!3| 00004370 32 3d 78 25 2b 28 76 6f 6c 6d 69 6e 78 25 2b 76 |2=x%+(volminx%+v| 00004380 6f 6c 6d 61 78 78 25 29 81 32 3a 62 6c 6b 25 21 |olmaxx%).2:blk%!| 00004390 33 36 3d 79 25 2b 76 6f 6c 6d 61 78 79 25 3a e7 |36=y%+volmaxy%:.| 000043a0 20 64 72 61 67 25 3d a3 8c c8 99 32 36 32 33 35 | drag%=....26235| 000043b0 32 2c 2c 62 6c 6b 25 3a 64 72 61 67 25 3d b9 0d |2,,blk%:drag%=..| 000043c0 1f 5e 26 f2 73 65 74 76 6f 6c 75 6d 65 28 76 6f |.^&.setvolume(vo| 000043d0 6c 75 6d 65 25 29 3a f2 66 72 65 65 28 62 6c 6b |lume%):.free(blk| 000043e0 70 25 29 3a e1 0d 1f 86 19 dd f2 75 73 65 72 64 |p%):.......userd| 000043f0 72 61 67 62 6f 78 28 62 6f 78 25 29 3a e1 0d 20 |ragbox(box%):.. | 00004400 08 52 dd f2 6d 73 67 5f 69 6e 69 74 69 61 6c 69 |.R..msg_initiali| 00004410 73 65 28 4e 24 29 3a ea 20 63 25 2c 63 24 2c 69 |se(N$):. c%,c$,i| 00004420 25 3a 63 25 3d 8e 28 4e 24 29 3a e7 63 25 3d 30 |%:c%=.(N$):.c%=0| 00004430 20 85 20 30 2c 22 43 61 6e 6e 6f 74 20 66 69 6e | . 0,"Cannot fin| 00004440 64 20 6d 65 73 73 61 67 65 73 20 66 69 6c 65 22 |d messages file"| 00004450 0d 20 30 33 6d 73 5f 74 61 67 73 25 3d 30 3a c8 |. 03ms_tags%=0:.| 00004460 99 32 36 33 38 37 32 3a c8 95 ac 28 c5 23 63 25 |.263872:...(.#c%| 00004470 29 3a 63 24 3d be 23 63 25 3a e7 63 24 3c 3e 22 |):c$=.#c%:.c$<>"| 00004480 22 20 8c 0d 20 62 12 e7 c0 63 24 2c 31 29 3c 3e |" .. b...c$,1)<>| 00004490 22 23 22 20 8c 0d 20 6c 1b e7 a7 63 24 2c 22 3a |"#" .. l...c$,":| 000044a0 22 29 3c 3e 30 6d 73 5f 74 61 67 73 25 2b 3d 31 |")<>0ms_tags%+=1| 000044b0 0d 20 76 05 cd 0d 20 80 16 cd 3a ce 3a e7 6d 73 |. v... ...:.:.ms| 000044c0 5f 74 61 67 73 25 3c 3e 30 20 8c 0d 20 9e 55 de |_tags%<>0 .. .U.| 000044d0 20 6d 73 5f 74 65 78 74 24 28 6d 73 5f 74 61 67 | ms_text$(ms_tag| 000044e0 73 25 2d 31 29 2c 6d 73 5f 74 61 67 73 24 28 6d |s%-1),ms_tags$(m| 000044f0 73 5f 74 61 67 73 25 2d 31 29 3a cf 23 63 25 3d |s_tags%-1):.#c%=| 00004500 30 3a 69 25 3d 30 3a c8 95 ac c5 23 63 25 3a 63 |0:i%=0:....#c%:c| 00004510 24 3d be 23 63 25 3a e7 63 24 3c 3e 22 22 20 8c |$=.#c%:.c$<>"" .| 00004520 0d 20 da 12 e7 c0 63 24 2c 31 29 3c 3e 22 23 22 |. ....c$,1)<>"#"| 00004530 20 8c 0d 20 e4 43 6d 73 5f 74 61 67 73 24 28 69 | .. .Cms_tags$(i| 00004540 25 29 3d c0 63 24 2c a7 63 24 2c 22 3a 22 29 2d |%)=.c$,.c$,":")-| 00004550 31 29 3a 6d 73 5f 74 65 78 74 24 28 69 25 29 3d |1):ms_text$(i%)=| 00004560 c1 63 24 2c a7 63 24 2c 22 3a 22 29 2b 31 29 3a |.c$,.c$,":")+1):| 00004570 69 25 2b 3d 31 0d 21 02 05 cd 0d 21 0c 07 cd 3a |i%+=1.!....!...:| 00004580 ce 0d 21 20 15 cd 3a d9 23 63 25 3a c8 99 32 36 |..! ..:.#c%:..26| 00004590 33 38 37 33 3a e1 0d 21 52 27 dd a4 6d 73 67 5f |3873:..!R'..msg_| 000045a0 30 28 54 24 29 3a 3d a4 6d 73 67 5f 34 28 54 24 |0(T$):=.msg_4(T$| 000045b0 2c 22 22 2c 22 22 2c 22 22 2c 22 22 29 0d 21 70 |,"","","","").!p| 000045c0 2a dd a4 6d 73 67 5f 31 28 54 24 2c 53 24 29 3a |*..msg_1(T$,S$):| 000045d0 3d a4 6d 73 67 5f 34 28 54 24 2c 53 24 2c 22 22 |=.msg_4(T$,S$,""| 000045e0 2c 22 22 2c 22 22 29 0d 21 8e 31 dd a4 6d 73 67 |,"","").!.1..msg| 000045f0 5f 32 28 54 24 2c 53 30 24 2c 53 31 24 29 3a 3d |_2(T$,S0$,S1$):=| 00004600 a4 6d 73 67 5f 34 28 54 24 2c 53 30 24 2c 53 31 |.msg_4(T$,S0$,S1| 00004610 24 2c 22 22 2c 22 22 29 0d 21 ac 36 dd a4 6d 73 |$,"","").!.6..ms| 00004620 67 5f 33 28 54 24 2c 53 30 24 2c 53 31 24 2c 53 |g_3(T$,S0$,S1$,S| 00004630 32 24 29 3a 3d a4 6d 73 67 5f 34 28 54 24 2c 53 |2$):=.msg_4(T$,S| 00004640 30 24 2c 53 31 24 2c 53 32 24 2c 22 22 29 0d 21 |0$,S1$,S2$,"").!| 00004650 ca 35 dd a4 6d 73 67 5f 34 28 54 24 2c 53 30 24 |.5..msg_4(T$,S0$| 00004660 2c 53 31 24 2c 53 32 24 2c 53 33 24 29 3a ea 20 |,S1$,S2$,S3$):. | 00004670 69 25 2c 66 25 3a e7 6d 73 5f 74 61 67 73 25 3d |i%,f%:.ms_tags%=| 00004680 30 20 8c 0d 21 e8 07 3d 54 24 0d 21 f2 2a cc 3a |0 ..!..=T$.!.*.:| 00004690 e3 69 25 3d 30 20 b8 20 6d 73 5f 74 61 67 73 25 |.i%=0 . ms_tags%| 000046a0 2d 31 3a e7 54 24 3d 6d 73 5f 74 61 67 73 24 28 |-1:.T$=ms_tags$(| 000046b0 69 25 29 8c 0d 22 10 41 54 24 3d 6d 73 5f 74 65 |i%)..".AT$=ms_te| 000046c0 78 74 24 28 69 25 29 3a 66 25 3d a7 54 24 2c 22 |xt$(i%):f%=.T$,"| 000046d0 25 30 22 29 3a e7 66 25 3c 3e 30 54 24 3d c0 54 |%0"):.f%<>0T$=.T| 000046e0 24 2c 66 25 2d 31 29 2b 53 30 24 2b c1 54 24 2c |$,f%-1)+S0$+.T$,| 000046f0 66 25 2b 32 29 0d 22 2e 31 66 25 3d a7 54 24 2c |f%+2).".1f%=.T$,| 00004700 22 25 31 22 29 3a e7 66 25 3c 3e 30 54 24 3d c0 |"%1"):.f%<>0T$=.| 00004710 54 24 2c 66 25 2d 31 29 2b 53 31 24 2b c1 54 24 |T$,f%-1)+S1$+.T$| 00004720 2c 66 25 2b 32 29 0d 22 42 31 66 25 3d a7 54 24 |,f%+2)."B1f%=.T$| 00004730 2c 22 25 32 22 29 3a e7 66 25 3c 3e 30 54 24 3d |,"%2"):.f%<>0T$=| 00004740 c0 54 24 2c 66 25 2d 31 29 2b 53 32 24 2b c1 54 |.T$,f%-1)+S2$+.T| 00004750 24 2c 66 25 2b 32 29 0d 22 56 31 66 25 3d a7 54 |$,f%+2)."V1f%=.T| 00004760 24 2c 22 25 33 22 29 3a e7 66 25 3c 3e 30 54 24 |$,"%3"):.f%<>0T$| 00004770 3d c0 54 24 2c 66 25 2d 31 29 2b 53 33 24 2b c1 |=.T$,f%-1)+S3$+.| 00004780 54 24 2c 66 25 2b 32 29 0d 22 6a 0f 69 25 3d 6d |T$,f%+2)."j.i%=m| 00004790 73 5f 74 61 67 73 25 0d 22 74 07 cd 3a ed 0d 22 |s_tags%."t..:.."| 000047a0 88 09 cd 3a 3d 54 24 0d 22 a6 0f dd f2 6d 73 67 |...:=T$."....msg| 000047b0 5f 65 6e 64 3a e1 0d ff |_end:...| 000047b8