Home » Archimedes archive » Micro User » MU 1991-04.adf » PD-Stuff » interface/!Formed/!RunImage

interface/!Formed/!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 » Micro User » MU 1991-04.adf » PD-Stuff
Filename: interface/!Formed/!RunImage
Read OK:
File size: F543 bytes
Load address: 0000
Exec address: 0000
File contents

� > $.!FormEd.!RunImage
A� /// Forms Editor program (for designing Wimp Templates) ///

(� Directory Structure:
2�
<� !Formed.!Boot
F� !Formed.!Run
PJ� !Formed.!RunImage            (this file) - run when !Run is executed
Z� !Formed.!Palette
d� !Formed.Templates
n� !Formed.Sprites
x� !Formed.Default
��
�
� ș"OS_GetEnv"�commandstring$
�
��fontcounts%255
� �I%=0�255:fontcounts%?I%=0:�
�
�� -- Start Wimp going
�
��taskid%4:$taskid%="TASK"
�6ș"Wimp_Initialise",200,!taskid%,"FormEd"�version%
�<��errordisplay(�,�$,�):� after calling Wimp_Initialise!
�minv%=21
D�version%<minv%��1,"Window Manager >= "+�(minv%/100)+" required"
bodgeit%=(version%<18)
�bodgeit%�
"�oldfx%(8)
,0�I%=1�8:ș"OS_Byte",I%+220,2,0�,oldfx%(I%):�
6$ș"OS_Byte",219,&8A,0�,oldfx219%
@�
J
T?� -- override with our own mode (ONLY if mono-tasking Wimp)
^
h�version%<120�
r�12
| *Print <FormEd$Dir>.!Palette
�-ș"Wimp_ForceRedraw",-1,-1E8,-1E8,1E8,1E8
�*Pointer
�Ȏ��
�	�0,22
�)`wbcol=&1:`tbcol=&1:`sco=&1:`mbcol=&1
�*`wfcol=&1:`tfcol=&0:`sci=&1:`tbcol2=&1
�"ș"Font_SetFontColours",,0,1,1
��1,8
�)`wbcol=&1:`tbcol=&1:`sco=&1:`mbcol=&1
�*`wfcol=&1:`tfcol=&0:`sci=&1:`tbcol2=&1
�"ș"Font_SetFontColours",,0,3,0
��2,9,12,20
�)`wbcol=&0:`tbcol=&D:`sco=&3:`mbcol=&B
*`wfcol=&7:`tfcol=&7:`sci=&1:`tbcol2=&C
"ș"Font_SetFontColours",,0,1,6
�
&�
0)`wbcol=&0:`tbcol=&D:`sco=&3:`mbcol=&B
:*`wfcol=&7:`tfcol=&7:`sci=&D:`tbcol2=&C
D�
N
X�inv%27,outv%23
b�px2%1,px4%3,px256%255
l�getmodeinfo
vswitched%=�
�
��factors%15
�+�version%>120��pixtrans%15�pixtrans%=-1
�
�� -- dimension arrays
�
�&�pal%(2),bright%(15),uncolour%(15)
�$�q%&2000,erroraddr%(4),oldq%&100
�'�indexdata%32*24+20,fontbinding%255
�maxbuf%=&3000
�$�buffer%maxbuf%:curbuff%=buffer%
�
nh%=32
�C�handle%(nh%+1),wident$(nh%),wptr%(nh%),wlink%(nh%),wflag%(nh%)
=�I%=0�nh%:handle%(I%)=I%-1:wident$(I%)="":�:handleSP%=nh%
�spritename%12
,�menufree%&1800:menuend%=menufree%+&1800
 �menulist%&100
*brx%=400:bry%=740
42currentwindow%=-1:currenticon%=-1:dialogue%=-1
>spritef$=""
H?�ib_text%255,ib_sprite%12,ib_buffersize%6,ib_validation%255
R,�tb_text%40,tb_sprite%12,tb_buffersize%6
\�mb_fsize%6:$mb_fsize%="30"
f�mb_wident%12
p$�mb_renumber%5:$mb_renumber%="0"
ztemplatef$="Templates"
�"�mb_crsprite%12,mb_rnsprite%12
�nsp=80:ns%=10
�F�spw%(nsp),sph%(nsp),spwx%(nsp),minx%(nsp),miny%(nsp),spname$(nsp)
�"�spritew%(ns%+1),nsprite%(ns%)
�@�spritei%(ns%),sprxscale%(ns%),spryscale%(ns%),spriten$(ns%)
�G�I%=0�ns%:spritew%(I%)=I%-1:spriten$(I%)="":�:sprSP%=ns%:sprSP2%=-1
�Aș"OS_File",5,"<FormEd$Dir>.Sprites"�type%,,,,systemareasize%
�2�type%<>1��1,"Can't find <FormEd$Dir>.Sprites"
�systemareasize%+=4
�"�systemsprites%systemareasize%
�$systemsprites%!0=systemareasize%
�>ș"OS_SpriteOp",&10A,systemsprites%,"<FormEd$Dir>.Sprites"
�Q� SYS "OS_SpriteOp",&10F,systemsprites%,"editbuffer",0,1280/dx%,1024/dy%,MODE
;� editbuffer%=FNspriteaddr(systemsprites%,"editbuffer")
%� editbufferwidth%=(sptr%!16+1)*4

$spriteareasize%=�-�-16*1024
.�spritearea%spriteareasize%
81!spritearea%=spriteareasize%:spritearea%!8=16
B$ș"OS_SpriteOp",&109,spritearea%
L(�loadsprites("<FormEd$Dir>.Default")
Vspritef$="Sprites"
`.undoname$="":undoscreen%=-1:editbuffer%=-2
j
t� -- Create windows
~
��defaultwindows
�
�?�version%>=134��paltable%79:ș"Wimp_ReadPalette",,paltable%
�palcolour%=7
�sprcolour%=7
�.paintmode%=16:�select(palette%,paintmode%)
�'grid%=�:�grid%��select(palette%,31)
�
�� -- Create Menus
�
�m_palette%=�crmenu
�6� "#Colours,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
i_esg%=�crmenu

2� "#ESG,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
i_button%=�crmenu
K� "#Button type,Never,Always,Auto-repeat,Click,Release,Double click,++"
(J� "Click/Drag,Release/Drag,Double/Drag,Menu icon,Double/Click/Drag,++"
2.� "Radio,12,13,Write/Click/Drag,Writeable"
<m_fsize%=�crmenu
FE� "#Point size,10 point,12 point,14 point,20 point,$mb_fsize%(6)"
Pi_font%=�crmenu
Z� "#Text style,&"
di_text%=�crmenu
n � "#Icon text,$ib_text%(80)"
xi_sprite%=�crmenu
�$� "#Sprite name,$ib_sprite%(12)"
�i_validation=�crmenu
�(� "#Validation,$ib_validation%(255)"
�i_buffersize%=�crmenu
�7� "#Max size,$ib_buffersize%(6),Valid>i_validation"
�i_flags%=�crmenu
�E� "#Icon flags,Text>i_text%,Sprite>i_sprite%,Border,H centred,++"
�;� "V centred,Filled,Anti-aliased>i_font%,Needs help,++"
�F� "Indirected>i_buffersize%,R justified,Allow adjust,Half size,++"
�+� "Button type>i_button%,ESG>i_esg%,++"
�1� "Fg colour>m_palette%,Bg colour>m_palette%"
�t_text%=�crmenu
�!� "#Title text,$tb_text%(40)"
t_sprite%=�crmenu
$� "#Sprite name,$tb_sprite%(12)"
t_buffersize%=�crmenu
"$� "#Max size,$tb_buffersize%(6)"
,t_flags%=�crmenu
6F� "#Title flags,Text>t_text%,Sprite>t_sprite%,Border,H centred,++"
@I� "V centred,Filled,Anti-aliased>i_font%,Indirected>t_buffersize%,++"
J� "R justified"
Tw_scroll%=�crmenu
^� "Auto-repeat,Debounced"
hw_flags%=�crmenu
rN� "#W flags,Title>t_flags%,Moveable,V scroll,H scroll,Auto-redraw,Pane,++"
|C� "No bounds,No quit box,User scroll>w_scroll%,Real colours,++"
�>� "Back,Keys,Work area#>i_button%,New Format,Back icon,++"
�M� "Quit icon,Title icon>t_flags%,Toggle icon,V scroll,Size icon,H scroll"
�w_colours%=�crmenu
��� "Title fg?m_palette%,Title bg?m_palette%,Work fg?m_palette%,Work bg?m_palette%,Scroll outer?m_palette%,Scroll inner?m_palette%,Input focus?m_palette%"
�w_ident%=�crmenu
�%� "#Window name:,$mb_wident%(12)"
�i_renumber%=�crmenu
� � "#Icon #,$mb_renumber%(5)"
�i_copy%=�crmenu
� � "#Copy,left,right,up,down"
�i_move%=�crmenu
� � "#Move,left,right,up,down"
�w_general%=�crmenu
7� "#Window,Create icon,Amend icon nnnn>i_flags%,++"
J� "Renumber   nnnn>i_renumber%,Copy icon>i_copy%,Move icon>i_move%,++"
� "Delete icon#,++"
&I� "Window flags>w_flags%,Colours>w_colours%,Work area>m_workarea%,++"
0)� "Identifier>w_ident%,Delete window"
:m_templates%=�crmenu
D&� "#Filename:,$mb_templates%(256)"
Nmainmenu%=�crmenu
X6� "#FormEd,Info>m_info%,Create Window>w_ident%,++"
bD� "Load templates>m_templates%,Save templates#>m_savetemp%,Quit"
lm_rowcol%=�crmenu
v� "Row,Column"
�m_sprite%=�crmenu
�M� "#Sprite,Undo,Colour>m_palette%,Transparent,Create Mask,Delete Mask,++"
�N� "Extend>m_rowcol%,Reduce>m_rowcol%,Insert>m_rowcol%,Delete>m_rowcol%,++"
�(� "Flip X,Flip Y,Blob size>m_scale%"
�m_crsprite%=�crmenu
�#� "#New name,$mb_crsprite%(12)"
�m_rnsprite%=�crmenu
�#� "#New name,$mb_rnsprite%(12)"
�m_spritef%=�crmenu
�#� "#Filename,$mb_spritef%(256)"
�m_append%=�crmenu
�� "Horizontally,Vertically"
�m_spritelist%=�crmenu
>� "#Sprites,Create>m_crsprite%,Append>m_append%,Delete,++"
?� "Copy>m_rnsprite%,Rename#>m_rnsprite%,Load>m_spritef%,++"
(� "Save>m_savespr%,Merge>m_spritef%"
 
*)� ic_sprite%  = FNiconbar(iconbar%,0)
4)� ic_palette% = FNiconbar(iconbar%,1)
>#ic_window%=�iconbar(iconbar%,0)
H
RB� -- if command was '*FormEd <filename>', load a template file
\
f!I%=�commandstring$," -quit ")
p�I%�
zI%+=�" -quit "
�'ȕ�commandstring$,I%,1)=" ":I%+=1:�
��
�$I%=�commandstring$+" "," ",I%+1)
�&�I%+=1:��commandstring$,I%,1)<>" "
�f$=�commandstring$,I%)
�f$=�f$,�f$+" "," ")-1)
��f$<>""�
�Ȏ�filetype(f$)�
��&FEC:�loadtemplates(f$)
�'�&FF9:�loadsprites(f$): �spriteinfo
�$�-2:�1,"File '"+f$+"' not found"
�=�1,"File '"+f$+"' is not a sprite file or template file"
��
	�
	
�f$=""
	�
	$
	.3� -- Error handler - drops through to Wimp_Poll
	8
	Bsaveref%=-1:scrapref%=-1
	Ldragtype%=0:pdrag%=-1
	Vpaint_drag%=-1
	`inerror%=�:oldhelp%=1
	j��errorbox(�,�$,�)
	t
	~� -- Main Polling loop
	��
	�3�pdrag%=-1�paint_drag%=-1�flags%=&01�flags%=&00
	�#ș"Wimp_Poll",flags%,q%�action%
	�Ȏaction%�
	��0:�paint_drag%>=0�
	�ș"Wimp_GetPointerInfo",,q%
	�/�paintdrag(!q%,q%!4,q%!8,q%!12,q%!16,q%!20)
	��
	��1:�redraw(!q%)
	�9�2:�open(!q%,q%!4,q%!8,q%!12,q%!16,q%!20,q%!24,q%!28)
	��3:�close(!q%)
	�
�4:Ȏ!q%�


�paint_drag%>=0�
$�getw(spritew%(paint_drag%>>16))
.�dragoff:paint_drag%=paint_drag%�&80000000
(�
2�
<�5:�paint_drag%<-1�
F(h%=spritew%((paint_drag%>>16)�&7FFF)
P�!q%=h%�
Z%paint_drag%=paint_drag%�&7FFFFFFF
d+�getw(h%):�getpointer:�dragon(buttons%)
n�
x�
�.�6:�mouse(!q%,q%!4,q%!8,q%!12,q%!16,q%!20)
�'�7:�decodedrag(!q%,q%!4,q%!8,q%!12)
��8:key%=q%!24
��bodgeit%�
��key%=0�key%=�(0)+&100
�3�key%>=&87�key%<=&8B�key%+=&104-&10*�-1-&20*�-2
��
��processkey(q%!0,q%!4,key%)
�5�9:I%=0:�menulist%!I%=q%!I%:I%=I%+4:�q%!(I%-4)=-1
�&�decodemenu(menuhandle%,menulist%)
�#�getpointer:�buttons%�1��remenu
�L�10:�open(!q%,q%!4,q%!8,q%!12,q%!16,q%!20+q%!32*32,q%!24+q%!36*32,q%!28)
��17,18:�receive(q%)
�
��

"��receive(q%)
,"�I%=0�!q%-1�4:oldq%!I%=q%!I%:�
6Ȏq%!16�
@�0:�finish:�
J�1:Ȏq%!40�
T+�&FF9,&FEC:� do the scrap file business
^5ș"XOS_ReadVarVal","Wimp$Scrap",,-1,0,3�,,exists%
h,�exists%=0��1,"<Wimp$Scrap> not defined"
r+q%!36=-1:�string0(q%+44,"<Wimp$Scrap>")
|!q%=(48+�"<Wimp$Scrap>")��3
�6q%!12=q%!8:q%!16=2:ș"Wimp_SendMessage",17,q%,q%!4
�scrapref%=q%!8
��
�@�2:�q%!12<>saveref%��1,"Unexpected DataSave packet received"
�Ȏq%!40�
�3�&FEC:�savetemplates(�string0(q%+44),q%!36<>-1)
�1�&FF9:�savesprites(�string0(q%+44),q%!36<>-1)
�0:�1,"Unexpected DataSave filetype received"
��
�Eoldq%!12=oldq%!8:oldq%!16=3:ș"Wimp_SendMessage",17,oldq%,oldq%!4
��3:Ȏq%!40�
�)�&FEC:�loadtemplates(�string0(q%+44))
��&FF9:�q%!20=-2�
-�loadsprites(�string0(q%+44)):�spriteinfo
4��mergesprites(�string0(q%+44)):� PROCspriteinfo
�
&:�
0�
:,�oldq%!12=scrapref%�*Delete <Wimp$Scrap>
DEoldq%!12=oldq%!8:oldq%!16=4:ș"Wimp_SendMessage",17,oldq%,oldq%!4
N�&400C0:
X$�menuhandle%=w_general%�q%!32=7�
b9�I%=m_palette%+28�m_palette%+28+24*15�24:!I%=!I%��1:�
l;J%=m_palette%+28+24*((w_colours%!(36+24*q%!36)>>28)�&F)
v
!J%=!J%�1
��
�-ș"Wimp_CreateSubMenu",,q%!20,q%!24,q%!28
��&400C1:�getmodeinfo
��
��
�
���sendsave(ft%,fn%)
��filename%
�ș"Wimp_CreateMenu",,-1
�1�filename%=fn%:fn%+=�$fn%,"."):�fn%=filename%
�7�getpointer:� sets up handle%,icon%,mousex%,mousey%
�!q%=(48+�$filename%)��3
�q%!12=0:q%!16=1

9q%!20=handle%:q%!24=icon%:q%!28=mousex%:q%!32=mousey%

$q%!36=0:� file size (inaccurate)

q%!40=ft%:� file type

 �string0(q%+44,$filename%)

*,ș"Wimp_SendMessage",17,q%,handle%,icon%

4saveref%=q%!8

>�

H

R5ݤstring0(a%)�a$:a$="":ȕ?a%:a$+=�?a%:a%+=1:�:=a$

\%��string0(a%,a$)$a%=a$:a%?�a$=0:�

f

p��getmodeinfo

zinv%!0=4

�inv%!4=5

�inv%!8=6

�
inv%!12=7

�inv%!16=11

�inv%!20=12

�inv%!24=-1

�&ș"OS_ReadVduVariables",inv%,outv%

�dx%=1<<(outv%!0)

�dy%=1<<(outv%!4)

�linelen%=outv%!8

�screensize%=outv%!12

�scrx1%=(outv%!16+1)*dx%

�scry1%=(outv%!20+1)*dy%
�

��redraw(handle%)
.#ș"Wimp_RedrawWindow",,q%�more%
8
 ȕ more%
B ș "Wimp_BorderWindow",,q%
L#ș"Wimp_GetRectangle",,q%�more%
V�
t�
~
���testpattern
��dx%:dx%=48
�ȕmore%
�+x0%=q%!28:y0%=q%!32:x1%=q%!36:y1%=q%!40
�-minx0%=x0%-(by%-y0%):maxx0%=x1%-(by%-y1%)
�-minx1%=x0%+(by%-y1%):maxx1%=x1%+(by%-y0%)
�/minx0%=(minx0%-bx%+10000)�dx%*dx%+bx%-10000
�/minx1%=(minx1%-bx%+10000)�dx%*dx%+bx%-10000
�1�x%=minx0%�maxx0%�dx%:�x%,by%:�1,1280,-1280:�
�2�x%=minx1%�maxx1%�dx%:�x%,by%:�1,-1280,-1280:�
�#ș"Wimp_GetRectangle",,q%�more%
��
�


��drawblob
�setxy(x%,y%,$sprbuff%,"x")
(?bx%+=(sprxoff%-x%�2)��(dx%-1):by%+=(spryoff%-y%�2)��(dy%-1)
2ȕmore%
<(�0,7:�bx%,by%:�&65,bx%+x%-1,by%+y%-1
F#ș"Wimp_GetRectangle",,q%�more%
P�
Z�
d
n��front(handle%)
x+!q%=handle%:ș"Wimp_GetWindowState",,q%
�$q%!28=-1:ș"Wimp_OpenWindow",,q%
��
�
���reopen(handle%)
�C!q%=handle%:ș"Wimp_GetWindowState",,q%:ș"Wimp_OpenWindow",,q%
��
�
���getw(handle%)
�7!q%=handle%:ș"Wimp_GetWindowState",,q%:�info(q%+4)
��
�
���geti(h%,i%)
�,!q%=h%:q%!4=i%:ș"Wimp_GetIconState",,q%
.ix0%=q%!8:iy0%=q%!12:ix1%=q%!16:iy1%=q%!20
iflags%=q%!24:idata%=q%+28
�
"
,��info(p%)
6'x0%=!p%:y0%=p%!4:x1%=p%!8:y1%=p%!12
@5scx%=p%!16:scy%=p%!20:bhandle%=p%!24:flags%=p%!28
JIbx%=x0%-scx%:by%=y1%-scy%:� all drawing should be relative to bx%,by%
T�
^
h%��update(handle%,x0%,y0%,x1%,y1%)
r5!q%=handle%:q%!4=x0%:q%!8=y0%:q%!12=x1%:q%!16=y1%
|#ș"Wimp_UpdateWindow",,q%�more%
��
�
���upicon(handle%,icon%)
�C!q%=handle%:q%!4=icon%:q%!8=0:q%!12=0:ș"Wimp_SetIconState",,q%
��
�
�6��open(handle%,x0%,y0%,x1%,y1%,scx%,scy%,bhandle%)
��d%
��whichsprite(handle%)<>-1�
�d%=�(dx%+dx%-1)
�&x0%=x0%�d%:x1%=x1%�d%:scx%=scx%�d%
��
�!q%=handle%
)q%!4=x0%:q%!8=y0%:q%!12=x1%:q%!16=y1%
q%!20=scx%:q%!24=scy%
q%!28=bhandle%
&ș"Wimp_OpenWindow",,q%
0�handle%=dialogue%�
:�getw(handle%)
D"ȗȓx0%,y0%,x1%-x0%,y1%-y0%+40
N�
X�
b
l��close(handle%)
v�i%
�8I%=�whichwindow(handle%):�I%<>-1��deletewindow(I%):�
�8I%=�whichsprite(handle%):�I%<>-1��deletesprite(I%):�
�U� IFhandle%=spritelist%THENWHILEsprSP2%<>-1:PROCclose(spritew%(sprSP2%)):ENDWHILE
�5�handle%=dialogue%�ȗȓ0,0,1279,1023:dialogue%=-1
�(!q%=handle%:ș"Wimp_CloseWindow",,q%
��
�
�?��mouse(mousex%,mousey%,buttons%,handle%,icon%,oldbuttons%)
�Ȏbuttons%�
��&02:� -- MENU button
�6I%=�whichwindow(handle%):�I%<>-1��windowmenu(I%):�
�6I%=�whichsprite(handle%):�I%<>-1��spritemenu(I%):�
�Ȏhandle%�
�-2
Ȏicon%�
 �ic_window%:�menu(mainmenu%)
 �
*%�spritelist%:�menu(m_spritelist%)
4�
>'�&01,&04:� -- SELECT/ADJUST buttons
H7I%=�whichsprite(handle%):�I%<>-1��spritepixel(I%):�
RȎhandle%�
\�-2
fȎicon%�
p�ic_window%
z1�createwindow(brx%,bry%,""):brx%+=60:bry%-=40
��bry%<340�bry%=1000
��brx%>1040�brx%=40
��
��palette%:�palette
��spritelist%
��icon%=-1�
�"�buttons%=&04��deselectsprites
��
��geti(spritelist%,icon%�1)
�*�iflags%�&400000��opensprite(icon%��1)
��
�
�m_scale%
�#�setxy(xsc%,ysc%,$sprbuff%,"x")
xs%=xsc%
Ȏicon%�
�0:�xs%<48�xs%+=dx%
$�1:�xs%>dx%�xs%-=dx%
.�
8�xs%<>xsc%�
Bys%=xs%*ysc%/xsc%
L$sprbuff%=�xs%+"x"+�ys%
V+�upicon(m_scale%,2):�upicon(m_scale%,3)
`'�changesize(currentsprite%,xs%,ys%)
j�
t�m_workarea%
~�setwork(q%,mb_workarea0%)
� �setwork(q%+8,mb_workarea1%)
�'x0%=!q%:y0%=q%!4:x1%=q%!8:y1%=q%!12
�Ȏicon%�
�
�0:y1%+=4
�
�1:x1%+=2
�
�2:x0%-=2
�
�3:y0%-=4
�"�5:x0%+=2:�x0%>mwx0%�x0%=mwx0%
�"�6:x1%-=2:�x1%<mwx1%�x1%=mwx1%
�"�7:y1%-=4:�y1%<mwy1%�y1%=mwy1%
�"�8:y0%+=4:�y0%>mwy0%�y0%=mwy0%
��11:�xor(m_workarea%,11,6)
 �setworkarea(currentwindow%)

+�(buttons%�1)=0�ș"Wimp_CreateMenu",,-1
�
w0$=�x0%+","+�y0%
(w1$=�x1%+","+�y1%
2B�w0$<>$mb_workarea0%�$mb_workarea0%=w0$:�upicon(m_workarea%,9)
<C�w1$<>$mb_workarea1%�$mb_workarea1%=w1$:�upicon(m_workarea%,10)
F�dial_delete%
PȎicon%�
Z�2:�xor(dial_delete%,2,6)
d�godeletesprites
n�close(dial_delete%)
x�3:�close(dial_delete%)
��
��m_savetemp%
�
�icon%=2�
��checkfull($mb_templates%)
�$�savetemplates($mb_templates%,�)
�)�buttons%�&01�ș"Wimp_CreateMenu",,-1
��
��m_savespr%
�
�icon%=2�
��checkfull($mb_spritef%)
� �savesprites($mb_spritef%,�)
�)�buttons%�&01�ș"Wimp_CreateMenu",,-1
��
�
(�&10,&40:� -- SELECT/ADJUST dragging
Ȏhandle%�
"D�m_savetemp%,m_savespr%:�dragicon(mousex%,mousey%,handle%,icon%)
,.:�icon%<>-1��drag(buttons%,handle%,icon%)
6�
@1�&100,&400:� -- selection if button type = 10
JȎhandle%�
T�spritelist%
^#�buttons%=&400��deselectsprites
h�geti(handle%,icon%�1)
r�(iflags%�&400000)=0�
|)�seti(spritelist%,icon%��1,&200000,0)
�(�seti(spritelist%,icon%�1,&200000,0)
��
��
��
��
�
�$��processkey(handle%,icon%,key%)
�Ȏhandle%�
��m_workarea%
�
�key%=13�
��xor(m_workarea%,11,6)
� �setworkarea(currentwindow%)
�ș"Wimp_CreateMenu",,-1
�
�
�m_savetemp%
&
�key%=13�
0�checkfull($mb_templates%)
:$�savetemplates($mb_templates%,�)
Dș"Wimp_CreateMenu",,-1
N�
X�
b�m_savespr%
l
�key%=13�
v�checkfull($mb_spritef%)
� �savesprites($mb_spritef%,�)
�ș"Wimp_CreateMenu",,-1
��
��
��
�ș"Wimp_ProcessKey",key%
��
�
�R------------------------------------------------------------------------------
�
���drag(b%,handle%,icon%)
�%I%=�whichwindow(handle%):�I%=-1��
�7currentwindow%=I%:currenticon%=icon%:�highlight(I%)
4dragtype%=b%:draghandle%=handle%:dragicon%=icon%
�getcurw
�getcuri
 +cx0%+=bx%:cy0%+=by%:cx1%+=bx%:cy1%+=by%
*%x0%=0:y0%=0:x1%=scrx1%:y1%=scry1%
4�b%=&10�
>#�getminxy(flags%,text$,sprite$)
H'mx0%=mousex%-cx0%:mx1%=cx1%-mousex%
R'my0%=mousey%-cy0%:my1%=cy1%-mousey%
\2x0%=cx0%+minx%:y0%=0:x1%=scrx1%:y1%=cy1%-miny%
f8�mx0%<mx1%��swapx:x0%=0:x1%=cx0%-minx%:x0%+=1:x1%-=1
p=�my0%>my1%��swapy:y0%=cy1%+miny%:y1%=scry1%:y0%+=1:y1%-=1
z)x0%+=cx0%-cx1%:y1%+=cy1%-cy0%:� bodge
��
�%!q%=handle%:�b%=&40�q%!4=5�q%!4=6
�.q%!8=cx0%:q%!12=cy0%:q%!16=cx1%:q%!20=cy1%
�+q%!24=x0%:q%!28=y0%:q%!32=x1%:q%!36=y1%
�ș"Wimp_DragBox",,q%
��
�
�-��dragicon(mousex%,mousey%,handle%,icon%)
�%dragtype%=&FF:draghandle%=handle%
��getw(handle%)
��geti(handle%,icon%)
�!q%=handle%:q%!4=5
�>q%!8=bx%+ix0%:q%!12=by%+iy0%:q%!16=bx%+ix1%:q%!20=by%+iy1%
*q%!24=q%!8-mousex%:q%!28=q%!12-mousey%
9q%!32=scrx1%+q%!16-mousex%:q%!36=scry1%+q%!20-mousey%
ș"Wimp_DragBox",,q%
$�
.
8��swapx
B@cx0%=cx0%�cx1%:cx1%=cx1%�cx0%:cx0%=cx0%�cx1%:cx0%-=1:cx1%+=1
L�
V
`��swapy
j@cy0%=cy0%�cy1%:cy1%=cy1%�cy0%:cy0%=cy0%�cy1%:cy0%-=1:cy1%+=1
t�
~
�$��getminxy(flags%,text$,sprite$)
��x0%,y0%,x1%,y1%,mx%,my%
�minx%=0:miny%=0
��flags%�&01�
��flags%�&40�
�+ș"Font_ReadInfo",flags%>>24�,,y0%,,y1%
�:ș"Font_StringBBox",,�26+�(flags%>>24)+text$�,x0%,,x1%
�"ș"Font_ConverttoOS",,x0%�,x0%
�"ș"Font_ConverttoOS",,x1%�,x1%
�minx%=x1%-x0%:miny%=y1%-y0%
�#�minx%=6*dx%+16*�text$:miny%=32
��
�flags%�&04�miny%+=2*dy%

�
�flags%�&02�
Aș"XOS_SpriteOp",&128,spritearea%,sprite$�,,,mx%,my%,,spm%;P%
(�(P%�1)=0�
28ș"XOS_ReadModeVariable",spm%,4�,,spx%:mx%=mx%<<spx%
<8ș"XOS_ReadModeVariable",spm%,5�,,spy%:my%=my%<<spy%
F$�flags%�&800�mx%=mx%/2:my%=my%/2
P:�(flags%�&21B)=&13�mx%=minx%+mx%:� sprite+text (V~H~R)
Z�mx%>minx%�minx%=mx%
d�my%>miny%�miny%=my%
n�
x�
��
�
�%��decodedrag(cx0%,cy0%,cx1%,cy1%)
�dragtype%=0
�<�draghandle%=m_savetemp%��sendsave(&FEC,mb_templates%):�
�9�draghandle%=m_savespr%��sendsave(&FF9,mb_spritef%):�
� �geti(draghandle%,dragicon%)
�Boldflags%=iflags%:odt0%=idata%!0:odt1%=idata%!4:odt2%=idata%!8
�&�deleteicon(draghandle%,dragicon%)
��getw(draghandle%)
�+cx0%-=bx%:cy0%-=by%:cx1%-=bx%:cy1%-=by%
��cx0%>cx1%��swapx
��cy0%>cy1%��swapy
Mcurrenticon%=�cricon(!q%,cx0%,cy0%,cx1%,cy1%,oldflags%,odt0%,odt1%,odt2%)
�

";ݤcricon(handle%,x0%,y0%,x1%,y1%,flags%,dt0%,dt1%,dt2%)
,�ic%
6!q%=handle%
@1q%!20=flags%:q%!24=dt0%:q%!28=dt1%:q%!32=dt2%
J#text$=�iconstring(flags%,q%+24)
T)�getminxy(flags%,text$,text$):� bodge
^ �x1%-x0%<minx%�x1%=x0%+minx%
h �y1%-y0%<miny%�y1%=y0%+miny%
r)q%!4=x0%:q%!8=y0%:q%!12=x1%:q%!16=y1%
|ș"Wimp_CreateIcon",,q%�ic%
�>ș"Wimp_ForceRedraw",!q%,q%!4-20,q%!8-20,q%!12+20,q%!16+20
�!ș"Wimp_GetCaretPosition",,q%
�H�!q%=handle%�q%!4=ic%:ș"Wimp_SetCaretPosition",handle%,ic%,0,0,-1,0
�=ic%
�
���deleteicon(handle%,icon%)
�4!q%=handle%:q%!4=icon%:ș"Wimp_GetIconState",,q%
�ș"Wimp_DeleteIcon",,q%
�?ș"Wimp_ForceRedraw",!q%,q%!8-20,q%!12-20,q%!16+20,q%!20+20
��
�
�R------------------------------------------------------------------------------
�
��menu(m%)
menuhandle%=m%
�encodemenu(m%)�
&�handle%=-2�
0'I%=m%!20+m%!24:J%=m%+28:K%=96-m%!24
:�K%+=I%:J%+=24:�J%!-24�&80
D#K%+=24:� dotted line separator!
N�K%=mousey%+12
X�
b3ș"Wimp_CreateMenu",,menuhandle%,mousex%-102,K%
l%oldhandle%=handle%:oldicon%=icon%
v�
��
�
���remenu
�%handle%=oldhandle%:icon%=oldicon%
��encodemenu(menuhandle%)�
�Lș"Wimp_CreateMenu",,menuhandle%,mousex%-102,mousey%+12:� default coords
��
��
�
�ݤcrmenu
�.�menufree%+28>menuend%��1,"Menu area full"
��m%,menu$,m$:�menu$
�4ȕ�menu$,2)="++":�m$:menu$=�menu$,�menu$-2)+m$:�
#�menu$,1)="="�menu$=��menu$,2)
menuptr%=menufree%
i%=0:ctr%=0
 :�menu$,1)="#"�i%=1:menutitle$=�par(",")�menutitle$=""
*I%=�menutitle$,">")
4
�I%>0�
>$menuptr%!20=�(�menutitle$,I%+1))
H menutitle$=�menutitle$,I%-1)
R�menuptr%!20=40
\�
f$menuptr%=menutitle$
pJmenuptr%?12=`tfcol:menuptr%?13=2:menuptr%?14=`wfcol:menuptr%?15=`wbcol
z$menuptr%!16=196-24:menuptr%!24=0
�$menuptr%+=28:maxx%=�menutitle$-3
�ȕ�menu$,1)="~"
�menu$=�menu$,�menu$-1)
�/�item$=�par(","):�menuitem(item$):�item$=""
�
�menu$
��
�/�item$=�par(","):�menuitem(item$):�item$=""
�+�menuptr%-menufree%<=28�=-1:� null menu
�#menuptr%!-24=(menuptr%!-24)�&80
�"m%=menufree%:m%!16=maxx%*16+12
�menufree%=menuptr%
�=m%
�
��menuitem(text$)
�text$=""��
-�menuptr%+24>menuend%��1,"Menu area full"
$�text$="&"�
.&ș"Font_ListFonts",,q%,ctr%�,,ctr%
8*�ctr%>=0�text$=$q%+">m_fsize%":i%-=2��
B�
L�i%,flg%
Vflg%=&00
`i%=�text$,"?")
j"�i%<2�i%=�text$,">")�flg%+=&08
t=�i%>0�subptr%=��text$,i%+1):text$=�text$,i%-1)�subptr%=-1
~3��text$,1)="#"�text$=�text$,�text$-1):flg%+=&02
�menuptr%!0=flg%
�menuptr%!4=subptr%
�menuptr%!8=&07000021
��text$,1)="?"�
�menuptr%!8=&0700011A
�'I%=�workspace(�text$):$I%=�text$,2)
�@menuptr%!12=I%:menuptr%!16=systemsprites%:menuptr%!20=�text$
��
��text$,1)="$"�
�!menuptr%+=&04
�menuptr%!8+=&100
�i%=�text$,"(")
3�i%>0�L%=��text$,i%+1):text$=�text$,i%-1)�L%=12

8menuptr%!12=��text$,2):menuptr%!16=-1:menuptr%!20=L%
2�version%>=133��L%>15�L%=15:� icons can scroll
,text$=�L%-1," "):� 1 char was terminator
(�
2�text$<=12�
<$(menuptr%+12)=text$
F&�I%=�workspace(�text$+1):$I%=text$
P6menuptr%!12=I%:menuptr%!16=-1:menuptr%!20=�text$+1
Zmenuptr%!8=menuptr%!8�&100
d�
n�
x�text$>maxx%�maxx%=�text$
��
�menuptr%+=24
��
�
�ݤpar(sep$)
�%i1%=i%+1:i%=�menu$+sep$,sep$,i1%)
�=�menu$,i1%,i%-i1%)
�
�R------------------------------------------------------------------------------
�
���windowmenu(I%)
�%mmousex%=mousex%:mmousey%=mousey%
�$currentwindow%=I%:�highlight(I%)
(currenticon%=icon%:�menu(w_general%)
�

"��spritemenu(I%)
,7currentsprite%=I%:mmousex%=mousex%:mmousey%=mousey%
6�menu(m_sprite%)
@�
J
T��highlight(I%)
^�
h;ș"Wimp_SetCaretPosition",handle%(I%),-1,0,0,&2000000,0
r�
|
�R------------------------------------------------------------------------------
�
���encodemenu(menuhandle%)
�<�encodemenu(menuhandle%)��1,"Menu shouldn't be allowed"
��
�
�ݤencodemenu(menuhandle%)
�*�menuhandle%<&8000��1,"Bad menuhandle"
��I%
�I%=menuhandle%+28
�7�!I%=!I%��&01:I%!8=I%!8��&400000:I%+=24:�I%!-24�&80
�Ȏmenuhandle%�
��mainmenu%
 ,$mb_wident%="":$mb_templates%=templatef$
 
�i_flags%
 �getcuri
 &=�encodeicon(i_flags%,11,flags%,q%+28,ib_text%,ib_sprite%)
 0$ib_buffersize%=�L%
 :$ib_validation%=""
 D�encodemenu(i_buffersize%)
 N�(flags%�&01)=0�
 X�shade(i_buffersize%,1)
 b��flags%�&100�
 l<�q%!32>0�$ib_validation%=$(q%!32):�tick(i_buffersize%,1)
 v�
 ��
 �'$(i_flags%+28+12+24*14)="Fg colour"
 �'$(i_flags%+28+12+24*15)="Bg colour"
 �4�flags%�&02�$(i_flags%+28+12+24*14)="EOR colour"
 �4�flags%�&20�$(i_flags%+28+12+24*15)="EOR colour"
 ��flags%�&40�
 �i_flags%?(28+11+24*14)=7
 �i_flags%?(28+11+24*15)=7
 �+�shade(i_flags%,14):�shade(i_flags%,15)
 ��
 �5i_flags%?(28+11+24*14)=�foreback((flags%>>24)�&F)
 �5i_flags%?(28+11+24*15)=�foreback((flags%>>28)�&F)
 ��
!�encodemenu(i_esg%)
!�i_esg%
!"�tick(i_esg%,(flags%>>16)�&0F)
! �i_button%
!*%�tick(i_button%,(flags%>>12)�&0F)
!4�w_general%
!>$�currentwindow%=-1�=�:� deleted!
!H'$mb_wident%=wident$(currentwindow%)
!R�getcuri
!\7�flags%�&800000�currenticon%=-1:� has been deleted!
!f�currenticon%<>-1�
!p?$(w_general%!(28+24*1+12)+�"Amend icon ")="#"+�currenticon%
!zA$(w_general%!(28+24*2+12)+�"Renumber   ")="#"+û$mb_renumber%
!��encodemenu(i_flags%)
!��encodemenu(i_button%)
!�1�$(w_general%!(28+24*1+12)+�"Amend icon ")=""
!�0$(w_general%!(28+24*2+12)+�"Renumber   ")=""
!�#�I%=1�4:�shade(w_general%,I%):�
!��
!��encodemenu(w_flags%)
!�($mb_workarea0%=�(q%!44)+","+�(q%!48)
!�($mb_workarea1%=�(q%!52)+","+�(q%!56)
!�$mb_minx%=�(q%!72�&FFFF)
!�$mb_miny%=�(q%!72>>16)
!�(mwx0%=q%!20:mwy0%=q%!24+(q%!8-q%!16)
!�(mwx1%=q%!20+(q%!12-q%!4):mwy1%=q%!24
"�encodepalmenu(-1)
"I%=w_colours%+28
":�J%=q%+36�q%+42:I%?11=(?J%<<4)�uncolour%(?J%):I%+=24:�
"$
�w_flags%
".!q%=handle%(currentwindow%)
"8ș"Wimp_GetWindowInfo",,q%
"B�I%=0�7
"L%�q%!32�(1<<I%)��tick(w_flags%,I%)
"V�
"`#�q%!32�(3<<8)��tick(w_flags%,8)
"j3�q%!32�(1<<10)��tick(w_flags%,9):� real colours
"t3�q%!32�(1<<11)��tick(w_flags%,10):� back window
"~1�q%!32�(1<<12)��tick(w_flags%,11):� grab keys
"��encodemenu(t_flags%)
"��currenticon%=-1�
"�'flags%=q%!64:�encodemenu(i_button%)
"���shade(w_flags%,12)
"��
"�
�I%=14�20
"�-�q%!32�(1<<(I%+24-14))��tick(w_flags%,I%)
"��
"��q%!32�&80000000�
"��tick(w_flags%,13)
"��shade(w_flags%,0)
"��shade(w_flags%,2)
#�shade(w_flags%,3)
#
�shade(w_flags%,7)
#�
##�I%=14�20:�shade(w_flags%,I%):�
#(�
#2
�t_flags%
#<0q%!60=q%!60�&24:� must be filled with border
#F;�encodeicon(t_flags%,6,q%!60,q%+76,tb_text%,tb_sprite%)
#P$tb_buffersize%=�L%
#Z!�q%!60�&100��tick(t_flags%,7)
#d!�q%!60�&200��tick(t_flags%,8)
#n�w_scroll%
#x�getcurw
#�#�flags%�&100��tick(w_scroll%,0)
#�#�flags%�&200��tick(w_scroll%,1)
#��m_sprite%
#�s$=spriten$(currentsprite%)
#�?�undoname$<>s$�undoscreen%<>editbuffer%��shade(m_sprite%,0)
#�$�getspritexy(currentsprite%,0,0)
#�%�sprcolour%=16��tick(m_sprite%,2)
#��hasmask%�
#��shade(m_sprite%,3)
#���shade(m_sprite%,2)
#��shade(m_sprite%,4)
#��
#�c%=currentsprite%
$1$sprbuff%=�sprxscale%(c%)+"x"+�spryscale%(c%)
$�encodepalmenu(sprcolour%)
$�m_spritelist%
$"*$mb_crsprite%="":$mb_spritef%=spritef$
$,iflags%=&400000
$6%�icon%<>-1��geti(handle%,icon%�1)
$@�iflags%�&400000�
$J�shade(m_spritelist%,3)
$T�shade(m_spritelist%,4)
$^�
$h-renamesprite$=�iconstring(iflags%,idata%)
$r$mb_rnsprite%=renamesprite$
$|�
$�5ș"Wimp_WhichIcon",spritelist%,q%,&200001,&200001
$�#�!q%=-1��shade(m_spritelist%,2)
$�+�!q%=-1�q%!4=-1��shade(m_spritelist%,1)
$��
$�=�
$�
$���shade(mh%,I%)
$�/mh%!(28+8+24*I%)=mh%!(28+8+24*I%)�&400000:�
$�
$���tick(mh%,I%)
$�'mh%!(28+24*I%)=mh%!(28+24*I%)�&01:�
$�
$���select(h%,i%)
%G!q%=h%:q%!4=i%:q%!8=&200000:q%!12=&200000:ș"Wimp_SetIconState",,q%
%�
%
%&��deselect(h%,i%)
%0A!q%=h%:q%!4=i%:q%!8=0:q%!12=&200000:ș"Wimp_SetIconState",,q%
%:�
%D
%N<��encodeicon(iconmenu%,nmenu%,flags%,q%,itext%,isprite%)
%X"�i_font%<0��shade(iconmenu%,6)
%b$itext%="":$isprite%=""
%l.�flags%�&01�$itext%=�iconstring(flags%,q%)
%v6�(flags%�&03)=&02�$isprite%=�iconstring(flags%,q%)
%�3�flags%�&100�L%=q%!8�L%=12:� returned to caller
%�I%=iconmenu%+28:J%=1
%�*�item%=0�nmenu%:�flags%�J%�!I%=!I%�&01
%�I%+=24:J%+=J%:�
%��
%�
%�$��decodemenu(menuhandle%,menus%)
%�Ȏmenuhandle%�
%��mainmenu%
%�Ȏ!menus%�
%��0:� info box
%��1:�getpointer
%��checkident($mb_wident%,"")
&5�createwindow(mousex%-100,mousey%+16,$mb_wident%)
&6�     WHEN 1:PROCspriteinfo:PROCfront(spritelist%)
&B�     WHEN 2:PROCencodepal(0,15):PROCfront(palette%):PROChtpal
& %�2:�loadtemplates($mb_templates%)
&*!�3:�checkfull($mb_templates%)
&4$�savetemplates($mb_templates%,�)
&>�4:�finish:�
&H�
&R�w_general%
&\Ȏ!menus%�
&f�0:�getcurw
&p%mx%=mmousex%-bx%:my%=mmousey%-by%
&zix%=default%!96-default%!88
&� iy%=default%!100-default%!92
&�?q%!4=mx%-ix%/2:q%!8=my%-iy%/2:q%!12=q%!4+ix%:q%!16=q%!8+iy%
&�-�I%=0�12�4:q%!(20+I%)=default%!(104+I%):�
&�(ș"Wimp_CreateIcon",,q%�currenticon%
&�2ș"Wimp_ForceRedraw",!q%,q%!4,q%!8,q%!12,q%!16
&��1:�getcuri
&��deleteicon(!q%,q%!4)
&�X�decodeicon(menus%+4,q%+24,q%+28,ib_text%,ib_sprite%,ib_buffersize%,$ib_validation%)
&�Lcurrenticon%=�cricon(!q%,q%!8,q%!12,q%!16,q%!20,q%!24,q%!28,q%!32,q%!36)
&��2:renumber%=�$mb_renumber%
&�4�renumber(currentwindow%,currenticon%,renumber%)
&�0�renumber%<9999�$mb_renumber%=�(renumber%+1)
&��3:�getcuri
'�flags%�&100�
'+B%=�workspace(q%!36):$B%=text$:q%!28=B%
'=�q%!32>0�B%=�workspace(�$(q%!32)+1):$B%=$(q%!32):q%!32=B%
'$�
'.*x0%=q%!8:y0%=q%!12:x1%=q%!16:y1%=q%!20
'8Ȏmenus%!4�
'B�-1:copyx%=16:copyy%=-16
'L�0:copyx%=x0%-x1%:copyy%=0
'V�1:copyx%=x1%-x0%:copyy%=0
'`�2:copyx%=0:copyy%=y1%-y0%
'j�3:copyx%=0:copyy%=y0%-y1%
't�
'~3x0%+=copyx%:y0%+=copyy%:x1%+=copyx%:y1%+=copyy%
'�Ecurrenticon%=�cricon(!q%,x0%,y0%,x1%,y1%,q%!24,q%!28,q%!32,q%!36)
'�!�4:h%=handle%(currentwindow%)
'��geti(h%,currenticon%)
'�8oldf%=iflags%:o0%=idata%!0:o1%=idata%!4:o2%=idata%!8
'� �deleteicon(h%,currenticon%)
'�Ȏmenus%!4�
'��0:ix0%-=dx%:ix1%-=dx%
'��1:ix0%+=dx%:ix1%+=dx%
'��2:iy0%+=dy%:iy1%+=dy%
'��3:iy0%-=dy%:iy1%-=dy%
'��
'�Bcurrenticon%=�cricon(h%,ix0%,iy0%,ix1%,iy1%,oldf%,o0%,o1%,o2%)
(8�5:�deleteicon(handle%(currentwindow%),currenticon%)
(
%�6:�decodemenu(w_flags%,menus%+4)
("�7:�menus%!4<>-1�menus%!8<>-1�
(!q%=handle%(currentwindow%)
((ș"Wimp_GetWindowInfo",,q%
(2q%?(36+menus%!4)=menus%!8
(<curw%=currentwindow%
(F"�crwindow(q%+4,wident$(curw%))
(P�deletewindow(curw%)
(Z�
(d#�8:�setworkarea(currentwindow%)
(n7�9:�checkident($mb_wident%,wident$(currentwindow%))
(x'wident$(currentwindow%)=$mb_wident%
(�7�10:�deletewindow(currentwindow%):currentwindow%=-1
(��
(�
�w_flags%
(��!menus%=-1��
(�!q%=handle%(currentwindow%)
(�ș"Wimp_GetWindowInfo",,q%
(�Ȏ!menus%�
(��0:�decodetitle(1)
(��1:q%!32=q%!32�&02
(��2:q%!32=q%!32�&04
(��3:q%!32=q%!32�&08
(��4:q%!32=q%!32�&10
(��5:q%!32=q%!32�&20
)�6:q%!32=q%!32�&40
)�7:q%!32=q%!32�&80
)�8:q%!32=q%!32��&300
)"Ȏmenus%!4�
),�0:q%!32=q%!32�&100
)6�1:q%!32=q%!32�&200
)@�
)J�
)T�9:q%!32=q%!32�&400
)^�10:q%!32=q%!32�&800
)h�11:q%!32=q%!32�&1000
)r*�12:�menus%!4<>-1�q%!64=(menus%!4)<<12
)|�13:q%!32=q%!32�&80000000
)�4�14,15,17,18,19,20:q%!32=q%!32�(1<<(10+!menus%))
)��16:�decodetitle(1<<26)
)��
)�curw%=currentwindow%
)�"�crwindow(q%+4,wident$(curw%))
)��deletewindow(curw%)
)��m_sprite%
)�Ȏ!menus%�
)��0:�undo(currentsprite%)
)��1:�menus%!4<>-1�
)�sprcolour%=menus%!4
)�)�unhtpal:palcolour%=sprcolour%:�htpal
)��
*�2:sprcolour%=16
*@�3:ș"OS_SpriteOp",&11D,spritearea%,spriten$(currentsprite%)
*!�updatesprite(currentsprite%)
*&@�4:ș"OS_SpriteOp",&11E,spritearea%,spriten$(currentsprite%)
*0!�updatesprite(currentsprite%)
*:;�5,6,7,8:�adjustsize(currentsprite%,!menus%-5,menus%!4)
*D�9:�flipx(currentsprite%)
*N�10:�flipy(currentsprite%)
*X�
*b�m_spritelist%
*lȎ!menus%�
*v�0:�$mb_crsprite%<>""�
*�9ș"XOS_SpriteOp",&128,spritearea%,mb_crsprite%�R0%;f%
*�(�(f%�1)=0��1,"Sprite already exists"
*�;ș"OS_SpriteOp",&10F,spritearea%,mb_crsprite%,0,16,8,12
*��spriteinfo
*��
*��1:
*�m%=menus%!4:�m%<0�m%=0
*�9ș"Wimp_WhichIcon",spritelist%,q%+&80,&200001,&200001
*�A�geti(spritelist%,q%!&80):master$=�iconstring(iflags%,idata%)
*��7
*�I%=q%+&84:ȕ!I%<>-1
*�<�geti(spritelist%,!I%):text$=�iconstring(iflags%,idata%)
*�5ș"OS_SpriteOp",&123,spritearea%,master$,text$,m%
+I%+=4:�
+�7
+�spriteinfo
+ �2:�getpointer
+*2�dialogue(dial_delete%,mousex%-100,mousey%+20)
+4%�3:�$mb_rnsprite%<>renamesprite$�
+>?ș"OS_SpriteOp",&11B,spritearea%,renamesprite$,mb_rnsprite%
+H�spriteinfo
+R�
+\%�4:�$mb_rnsprite%<>renamesprite$�
+f?ș"OS_SpriteOp",&11A,spritearea%,renamesprite$,mb_rnsprite%
+p�spriteinfo
+z�
+�-�5:�loadsprites($mb_spritef%):�spriteinfo
+�$�6:� PROCcheckfull($mb_spritef%)
+�(� PROCsavesprites($mb_spritef%,TRUE)
+�.�7:�mergesprites($mb_spritef%):�spriteinfo
+��
+��
+��
+�
+�"��loadsprites(f$)� LOCAL I%,f$
+�'ș"OS_SpriteOp",&10A,spritearea%,f$
+�#�f$<>"<Wimp$Scrap>"�spritef$=f$
+��redrawwindows
+��
,
,��savesprites(f$,safe%)
,'ș"OS_SpriteOp",&10C,spritearea%,f$
,$�safe%��
,.spritef$=f$
,8#�$spritef%<>�spfname(spritef$)�
,B $spritef%=�spfname(spritef$)
,L,!q%=spritelist%:ș"Wimp_CloseWindow",,q%
,V�front(spritelist%)
,`�
,j�
,t
,~��mergesprites(f$)
,�'ș"OS_SpriteOp",&10B,spritearea%,f$
,��redrawwindows
,��
,�
,���redrawwindows
,��I%
,�
�I%=0�nh%
,�G�handle%(I%)>nh%�ș"Wimp_ForceRedraw",handle%(I%),-1E8,-1E8,1E8,1E8
,��
,��
,�
,�ݤfiletype(f$)
-
�f%,type%
-
ș"OS_File",17,f$�type%,,f%
-�type%<>1�=-2
-&�(f%>>>20)=&FFF�=(f%>>>8)�&FFF�=-1
-(
-2��decodetitle(bit%)
-<Ȏmenus%!4�
-F�-1:q%!32=q%!32�bit%
-P:q%!32=q%!32�bit%
-Z�
-d<�menus%!4=8�menus%!4=9:� bodge for 'right-justified' bit
-n7�menus%!4=7�menus%!4=8:� bodge for 'indirected' bit
-xK�decodeicon(menus%+4,q%+60,q%+76,tb_text%,tb_sprite%,tb_buffersize%,"")
-��
-�
-���setxy(�x%,�y%,a$,sep$)
-�x%=�a$:y%=��a$,�a$,sep$)+1)
-��
-�
-���setwork(q%,v%)
-�"!q%=�$v%:q%!4=�$(v%+�$v%,","))
-��
-�
-���setworkarea(curw%)
-��h%
-�h%=handle%(curw%)
.�setwork(q%,mb_workarea0%)
. �setwork(q%+8,mb_workarea1%)
.ș"Wimp_SetExtent",h%,q%
.",min%=(�$mb_minx%�&FFFF)�(�$mb_miny%<<16)
.,%!q%=h%:ș"Wimp_GetWindowInfo",,q%
.6�q%!72<>min%�
.@9q%!72=min%:ș"Wimp_CreateWindow",,q%+4�handle%(curw%)
.J.!q%=handle%(curw%):ș"Wimp_OpenWindow",,q%
.T$!q%=h%:ș"Wimp_DeleteWindow",,q%
.^�
.h�
.r
.|��godeletesprites
.�?I%=q%+&40:ș"Wimp_WhichIcon",spritelist%,I%,&200001,&200001
.�!q%=spritelist%
.�
ȕ!I%<>-1
.�&q%!4=!I%:ș"Wimp_GetIconState",,q%
.�*ș"OS_SpriteOp",&119,spritearea%,q%+28
.�I%+=4:�
.��spriteinfo
.��
.�
.�J��decodeicon(menus%,fptr%,qptr%,mb_text%,mb_sprite%,mb_buffersize%,v$)
.�Ȏ!menus%�
.��0:oldf%=!fptr%
.�Ȏmenus%!4�
/�-1:!fptr%=!fptr%�&01
/9�            IF!fptr%AND&01THEN!fptr%=!fptr%ANDNOT&02
/:!fptr%=!fptr%�&01
/&%�(oldf%�&01)=0�!fptr%=!fptr%��&02
/0�
/:/�puticonstring(oldf%,fptr%,qptr%,$mb_text%)
/D�1:oldf%=!fptr%
/NȎmenus%!4�
/X�-1:!fptr%=!fptr%�&02
/b9�            IF!fptr%AND&02THEN!fptr%=!fptr%ANDNOT&01
/l:!fptr%=(!fptr%��&03)�&02
/v�
/�+�!fptr%�&01�A$=$mb_text%�A$=$mb_sprite%
/�(�p�p�constring(oldf%,fptr%,qptr%,A$)
/��2:!fptr%=!fptr%�&04
/��3:!fptr%=!fptr%�&08
/��4:!fptr%=!fptr%�&10
/��5:!fptr%=!fptr%�&20
/�C�6:ș"Wimp_DecodeMenu",,i_font%,menus%+4,�100," ")�,,,fontname$
/�0�menus%!4<>-1�menus%!8=4�fontname$+=" point"
/��fontname$=""�
/�!fptr%=!fptr%��&40
/�fptr%?3=&D7
/��!fptr%=!fptr%�&40
/���fontname$,5)="point"�
0I%=�fontname$
0"�I%=I%-1:��fontname$,I%,1)="."
0psiz%=��fontname$,I%+1)
0 fontname$=�fontname$,I%-1)
0*
�psiz%=12
04�
0>&fptr%?3=�findfont(fontname$,psiz%)
0H�
0R�7:!fptr%=!fptr%�&80
0\(�8:�!fptr%�&100�B$=$!qptr%�B$=$qptr%
0f6�menus%!4=-1�!fptr%=!fptr%�&100�!fptr%=!fptr%�&100
0p�!fptr%�&100�
0zqptr%!8=�$mb_buffersize%
0�5!qptr%=�workspace(qptr%!8):$!qptr%=�B$,qptr%!8-1)
0��v$=""�
0�qptr%!4=-1
0���(!fptr%�&03)=&02�
0�qptr%!4=spritearea%
0�,�qptr%!4=�workspace(�v$+1):$(qptr%!4)=v$
0��
0��
0��$qptr%=�B$,11)
0��
0��(!fptr%�&103)=&102�
0�!�qptr%!4>1�!fptr%=!fptr%��&02
0��
1�9:!fptr%=!fptr%�&200
1�10:!fptr%=!fptr%�&400
1�11:!fptr%=!fptr%�&800
1$+�12:!fptr%=�field(!fptr%,12,4,menus%!4)
1.+�13:!fptr%=�field(!fptr%,16,5,menus%!4)
18+�14:!fptr%=�field(!fptr%,24,4,menus%!4)
1B+�15:!fptr%=�field(!fptr%,28,4,menus%!4)
1L�
1V�
1`
1jݤfield(flg%,b0%,nb%,i%)
1t6�i%<>-1�=flg%��(((1<<nb%)-1)<<b0%)�(i%<<b0%)�=flg%
1~
1�)��puticonstring(oldf%,fptr%,qptr%,A$)
1��oldf%�&100�
1�1�(!fptr%�&03)=&02�qptr%!4=-1:� no sprite area
1��A$<qptr%!8�
1�#$!qptr%=A$:!fptr%=!fptr%�&100:�
1��
1�
��A$<12�
1�#$qptr%=A$:!fptr%=!fptr%��&100:�
1��
1��
1�!fptr%=!fptr%�&100
1�*!qptr%=�workspace(�A$+1):qptr%!8=�A$+1
2$!qptr%=A$
2
C�(oldf%�&100)=0�qptr%!4=-1:� keep old validation string, if any
2�
2
2(R------------------------------------------------------------------------------
22
2<!��renumber(curw%,curi%,newi%)
2F
�M%,N%
2P!q%=handle%(curw%)
2Zș"Wimp_GetWindowInfo",,q%
2d/�q%!88<=newi%��1,"Icon number out of range"
2nM%=q%+4+88+32*curi%
2xN%=q%+4+88+32*newi%
2��I%=0�28�4:ȔM%!I%,N%!I%:�
2�I%=q%!88
2�
ȕI%>0
2�7�q%!(4+88+32*(I%-1)+16)�(1<<23)�I%-=1:q%!88=I%�I%=0
2��
2�"�crwindow(q%+4,wident$(curw%))
2��deletewindow(curw%)
2��
2�
2�R------------------------------------------------------------------------------
2�
2���dialogue(handle%,mx%,my%)
2��getw(handle%)
39�open(handle%,mx%,my%+y0%-y1%,mx%+x1%-x0%,my%,0,0,-1)
37ș"Wimp_SetCaretPosition",handle%,-1,0,0,&3000000,0
3�getw(handle%)
3""ȗȓx0%,y0%,x1%-x0%,y1%-y0%+40
3,dialogue%=handle%
36�
3@
3JR------------------------------------------------------------------------------
3T
3^��standardwindow(brx%,bry%)
3h*�I%=0�84�4:q%!I%=default%!I%:�:q%!84=0
3rq%!64=spritearea%
3|'I%=q%!8-q%!0:q%!0=brx%:q%!8=q%!0+I%
3�*I%=q%!4-q%!12:q%!12=bry%:q%!4=q%!12+I%
3��
3�
3�L!q%=brx%:q%!4=bry%-200:q%!8=brx%+200:q%!12=bry%:q%!16=0:q%!20=0:q%!24=-1
3�
q%!28=&1F
3�7q%?32=`tfcol:q%?33=`tbcol:q%?34=`wfcol:q%?35=`wbcol
3�.q%?36=4:q%?37=`tbcol:q%?38=`tbcol2:q%?39=0
3�*q%!40=0:q%!44=-1024:q%!48=1280:q%!52=0
3�#q%!56=&0000003D:q%!60=&00003000
3�q%!64=spritearea%:q%!68=0
3�$(q%+72)="<Untitled>"
3�q%!84=0
3��
4
4%��createwindow(brx%,bry%,wident$)
4�standardwindow(brx%,bry%)
4&�crwindow(q%,wident$)
40�
4:
4D��crwindow(q%,wident$)
4N%ș"Wimp_CreateWindow",,q%�handle%
4XAm%=handleSP%:handleSP%=handle%(handleSP%):handle%(m%)=handle%
4b!q%=handle%
4lș"Wimp_GetWindowState",,q%
4vș"Wimp_OpenWindow",,q%
4�)currentwindow%=m%:wident$(m%)=wident$
4�currenticon%=-1
4��highlight(m%)
4��
4�
4�ݤwhichwindow(handle%)
4��I%
4��handle%=-1�=-1
4�handle%(nh%+1)=handle%
4�%I%=-1:�I%+=1:�handle%(I%)=handle%
4��I%>nh%�=-1�=I%
4�
4�ݤwhichsprite(handle%)
5�handle%=-1�=-1
5spritew%(ns%+1)=handle%
5&I%=-1:�I%+=1:�spritew%(I%)=handle%
5 �I%>ns%�=-1�=I%
5*
54��deletewindow(I%)
5>!q%=handle%(I%)
5H&handle%(I%)=handleSP%:handleSP%=I%
5Rș"Wimp_DeleteWindow",,q%
5\wident$(I%)=""
5f�
5p
5z��deletesprite(I%)
5�0�((paint_drag%>>16)�&7FFF)=I%�paint_drag%=-1
5��i%
5��sprSP2%=I%�
5�sprSP2%=nsprite%(I%)
5�.�i%=sprSP2%:�i1%=i%:i%=nsprite%(i%):�i%=I%
5�nsprite%(i1%)=nsprite%(i%)
5��
5�/�seti(spritelist%,spritei%(I%)�1,0,&600000)
5�!q%=spritew%(I%)
5�!spritew%(I%)=sprSP%:sprSP%=I%
5�ș"Wimp_DeleteWindow",,q%
5��
5�
6
��getcurw
6!q%=handle%(currentwindow%)
6ș"Wimp_GetWindowState",,q%
6$�info(q%+4)
6.�
68
6B
��getcuri
6L!q%=handle%(currentwindow%)
6Vq%!4=currenticon%
6`ș"Wimp_GetIconState",,q%
6j.cx0%=q%!8:cy0%=q%!12:cx1%=q%!16:cy1%=q%!20
6tflags%=q%!24
6~.�flags%�&100�text$=$(q%!28)�text$=$(q%+28)
6�D�(flags%�&103)=&103�sprite$=�getcommand(q%!32,"S")�sprite$=text$
6��
6�
6�ݤgetcommand(v%,c$)
6��v%<=0�=""
6��I%
6�!I%=�";"+$v%,";"+c$):�I%=0�=""
6�$=�$(v%+I%),�$(v%+I%)+";",";")-1)
6�
6�
c$=�$v
6�
6�ݤiconstring(flg%,p%)
7
�i%,i$
7
8�flg%�&100�i$=$!p%�i%=p%?12:p%?12=13:i$=$p%:p%?12=i%
7=i$
7
7(��getpointer
72ș"Wimp_GetPointerInfo",,q%
7<*mousex%=!q%:mousey%=q%!4:buttons%=q%!8
7Fhandle%=q%!12:icon%=q%!16
7P�
7Z
7dR------------------------------------------------------------------------------
7n
7x��errorbox(err%,err$,erl%)
7��editoff("")
7�!Err%=err%:Err$=err$:Erl%=erl%
7�/�inerror%��-1��errordisplay(err%,err$,erl%)
7�inerror%=�
7�.ș"Wimp_DragBox",,-1:dragtype%=0:pdrag%=-1
7�$�dialogue%<>-1��close(dialogue%)
7��version%>120�
7��errbuf%255
7�6!errbuf%=err%:$(errbuf%+4)=err$:?(errbuf%+4+��$)=0
7�+ș"Wimp_ReportError",errbuf%,1,"FormEd"
7���4:�err$;
7��erl%<>0��" at line ";erl%
7��
8-ș"Wimp_ForceRedraw",-1,-1E8,-1E8,1E8,1E8
8�
8inerror%=�
8"�
8,
86#� /// old errorbox handling ///
8@�I%=1�4
8J3!q%=errorbox%:q%!4=I%:ș"Wimp_GetIconState",,q%
8Terroraddr%(I%)=q%!28:�
8^ �I%=1�4:?erroraddr%(I%)=13:�
8hmenu$=err$:I%=1:J%=0:i%=0
8r�w$=�par(" ")
8|;�J%>0�J%+1+�w$>19�I%+=1:J%=0:�I%>4��1,"Error too big":�
8��J%>0�w$=" "+w$
8�#$(erroraddr%(I%)+J%)=w$:J%+=�w$
8��w$=""�w$=" "
8� �dialogue(errorbox%,300,650)
8��
8�
8�"��errordisplay(err%,err$,erl%)
8�
8��version%>120�
8��errbuf%255
8�6!errbuf%=err%:$(errbuf%+4)=err$:?(errbuf%+4+��$)=0
8�+ș"Wimp_ReportError",errbuf%,2,"FormEd"
8���4:�err$;
9�erl%<>0��" at line ";erl%
9�
9�finish
9&�
90
9:��finish
9D
�I%=0�255
9N?ȕfontcounts%?I%>0:ș"Font_LoseFont",I%:fontcounts%?I%-=1:�
9X�
9b�bodgeit%�
9l-�I%=1�8:ș"OS_Byte",I%+220,oldfx%(I%),0:�
9vș"OS_Byte",219,oldfx219%,0
9��ș"Wimp_CloseDown"
9��
9�)�version%<120��4,26,30,17,&8F,17,0,12
9��
9�
9�� *FX 225 1
9�(� OSCLI"Key 9 LIST "+STR$erl%+"|K|M"
9�� *FX 15 1
9�#� IF erl%<>0 THEN *FX 138 0 137
9�	� END
9�
9�R------------------------------------------------------------------------------
9�
:ݤworkspace(L%)
::�curbuff%+L%>buffer%+maxbuf%��1,"No more buffer space"
:curbuff%+=L%:=curbuff%-L%
: 
:*R------------------------------------------------------------------------------
:4
:>ݤfindfont(f$,p)
:H�f%
:R*ș"Font_FindFont",,f$,p*16,p*16,0,0�f%
:\fontcounts%?f%+=1
:f6�fontcounts%?f%>=255��1,"Internal font table full"
:p=f%
:z
:�R------------------------------------------------------------------------------
:�
:���spriteinfo
:��I%
:�7I%=q%+4:ș"Wimp_WhichIcon",spritelist%,I%,&800000,0
:�Aȕ!I%<>-1:I%!-4=spritelist%:ș"Wimp_DeleteIcon",,I%-4:I%+=4:�
:�9i%=sprSP2%:ȕi%<>-1:spritei%(i%)=-1:i%=nsprite%(i%):�
:�,!q%=spritelist%:ș"Wimp_CloseWindow",,q%
:� $spritef%=�spfname(spritef$)
:�1ș"OS_SpriteOp",&108,spritearea%�,,,nsprites%
:�?maxspwidth%=scrx1%-80:curx%=0:cury%=0:maxw%=0:maxh%=0:ix%=0
:��nsprites%>0�
:��I%=1�nsprites%
;�readsprite(I%)
;Eflags%=&1701A429:text$=$spritename%:�getminxy(flags%,text$,text$)
;,�minx%>spw%�spwx%=minx%+32�spwx%=spw%+32
;$+�curx%+spwx%>maxspwidth%��lineofsprites
;.spwx%(ix%)=spwx%
;82�-32-sph%-miny%-8<maxh%�maxh%=-32-sph%-miny%-8
;BCspw%(ix%)=spw%:sph%(ix%)=sph%:minx%(ix%)=minx%:miny%(ix%)=miny%
;Lspname$(ix%)=$spritename%
;Vcurx%+=spwx%(ix%):ix%+=1
;`�
;j�lineofsprites
;t�
;~'!q%=0:q%!4=cury%:q%!8=maxw%:q%!12=0
;�%ș"Wimp_SetExtent",spritelist%,q%
;��front(spritelist%)
;�i%=sprSP2%:ȕi%<>-1
;�i2%=nsprite%(i%)
;��close(spritew%(i%))
;�.�spritei%(i%)>=0��opensprite(spritei%(i%))
;�i%=i2%:�
;�5ș"Wimp_ForceRedraw",spritelist%,0,-30000,30000,0
;��
;�
;�ݤspfname(sp$)
;�<�sp$>spflen%-2�="'..."+�sp$,spflen%-5)+"'"�="'"+sp$+"'"
<
<
��lineofsprites
< curx%=0:cury%+=maxh%:maxh%=0
<�ix%>0�
<(�J%=0�ix%-1
<2M!q%=spritelist%:q%!4=curx%+(spwx%(J%)-spw%(J%))�2:q%!8=cury%+miny%(J%)+16
<<Kq%!12=curx%+(spwx%(J%)+spw%(J%))�2:q%!16=cury%+miny%(J%)+16+sph%(J%)+16
<F q%!20=�sprflags(spname$(J%))
<P4$(q%+24)=spname$(J%):ș"Wimp_CreateIcon",,q%�ic%
<Zf%=flags%:i%=sprSP2%
<dEȕi%<>-1:�spriten$(i%)=spname$(J%)�f%=f%�&400000:spritei%(i%)=ic%
<ni%=nsprite%(i%):�
<xD!q%=spritelist%:q%!4=curx%+(spwx%(J%)-minx%(J%))�2:q%!8=cury%+16
<�@q%!12=curx%+(spwx%(J%)+minx%(J%))�2:q%!16=cury%+miny%(J%)+16
<�9q%!20=f%:$(q%+24)=spname$(J%):ș"Wimp_CreateIcon",,q%
<�curx%+=spwx%(J%)
<��
<��
<��curx%>maxw%�maxw%=curx%
<�ix%=0:curx%=0
<��
<�
<�ݤsprflags(sp$)
<�6ș"OS_SpriteOp",&128,spritearea%,sp$�,,,,,hasmask%
<�#�hasmask%�=&1701A032�=&1701A012
<�
=��readsprite(I%)
=�S%:S%=spritearea%
=Mș"OS_SpriteOp",&10D,S%,spritename%,12,I%�,,,splen%:spritename%?splen%=13
="Bș"OS_SpriteOp",&128,S%,spritename%�,,,spw%,sph%,hasmask%,spm%
=,9ș"OS_ReadModeVariable",spm%,4�,,spx%:spw%=spw%<<spx%
=69ș"OS_ReadModeVariable",spm%,5�,,spy%:sph%=sph%<<spy%
=@�
=J
=T��deselectsprites
=^I%=q%+16
=h5ș"Wimp_WhichIcon",spritelist%,I%,&200000,&200000
=r/ȕ!I%>-1:�deselect(spritelist%,!I%):I%+=4:�
=|�
=�
=���opensprite(icon%)
=�+�sprSP%=-1��1,"No more sprite windows!"
=��geti(spritelist%,icon%�1)
=�6idata0%=idata%!0:idata4%=idata%!4:idata8%=idata%!8
=�%text$=�iconstring(iflags%,idata%)
=��standardwindow(0,0)
=�
q%!28=&0F
=�q%?35=-1
=�q%!56=(iflags%�&100)�&3D
=�:q%!72=idata0%:q%!76=idata4%:q%!80=idata8%:� share data
=�q%!60=&3000
=�=ș"OS_SpriteOp",&128,spritearea%,text$�,,,spw%,sph%,,spm%
>6ș"OS_ReadModeVariable",spm%,4�,,spx%:xsc%=6<<spx%
>6ș"OS_ReadModeVariable",spm%,5�,,spy%:ysc%=6<<spy%
>wx%=spw%*xsc%:wy%=sph%*ysc%
>&+q%!4=-wy%:q%!8=wx%:q%!44=-wy%:q%!48=wx%
>0%ș"Wimp_CreateWindow",,q%�handle%
>:6m%=sprSP%:sprSP%=spritew%(m%):spritew%(m%)=handle%
>D#nsprite%(m%)=sprSP2%:sprSP2%=m%
>N>spriten$(m%)=text$:sprxscale%(m%)=xsc%:spryscale%(m%)=ysc%
>Xspritei%(m%)=icon%��1
>b#�deselect(spritelist%,icon%��1)
>lF�seti(spritelist%,icon%�1,&400000,&600000):� shaded and deselected
>v(!q%=handle%:q%!20=0:q%!24=0:q%!28=-1
>�Iq%!4=mousex%-wx%�2:q%!8=mousey%-wy%:q%!12=mousex%+wx%�2:q%!16=mousey%
>�ș"Wimp_OpenWindow",,q%
>��
>�
>���getspritexy(I%,mx%,my%)
>�)xs%=sprxscale%(I%):ys%=spryscale%(I%)
>�x%=(mx%-bx%)/xs%
>�y%=(by%-my%-dy%)/ys%
>�Lș"OS_SpriteOp",&128,spritearea%,spriten$(I%)�,,,spw%,sph%,hasmask%,spm%
>�)ș"OS_ReadModeVariable",spm%,4�,,spx%
>�)ș"OS_ReadModeVariable",spm%,5�,,spy%
>�wx%=spw%*xs%:wy%=sph%*ys%
>�
�x%<0x%=0
?
�y%<0y%=0
?�x%>=spw%x%=spw%-1
?�y%>=sph%y%=sph%-1
? �
?*
?4$��adjustsize(I%,insdel%,rowcol%)
?>�getw(spritew%(I%))
?H&�getspritexy(I%,mmousex%,mmousey%)
?Rowx%=wx%:owy%=wy%
?\Ȏrowcol%�
?f�0:Ȏinsdel%�
?p"�0:rcode%=31:rc%=sph%:wy%+=ys%
?z-�1:rcode%=32:rc%=sph%-1:wy%-=ys%:�wy%<1��
?�'�2:rcode%=31:rc%=sph%-1-y%:wy%+=ys%
?�0�3:rcode%=32:rc%=sph%-1-y%:wy%-=ys%:�wy%<1��
?��
?��1:Ȏinsdel%�
?�"�0:rcode%=45:rc%=spw%:wx%+=xs%
?�-�1:rcode%=46:rc%=spw%-1:wx%-=xs%:�wx%<1��
?� �2:rcode%=45:rc%=x%:wx%+=xs%
?�)�3:rcode%=46:rc%=x%:wx%-=xs%:�wx%<1��
?��
?�:�
?��
?�<ș"OS_SpriteOp",&100+rcode%,spritearea%,spriten$(I%),rc%
?�"�newsize(I%,owx%,owy%,wx%,wy%)
@%�upicon(spritelist%,spritei%(I%))
@�
@
@$'��newsize(I%,wx%,wy%,newwx%,newwy%)
@.�getw(spritew%(I%))
@8limitx%=�:limity%=�
@B3� limitx%=(x1%-bx%>=wx%):limity%=(by%-y0%>=wy%)
@Lwx%=newwx%:wy%=newwy%
@V2�limitx%�(wx%<x1%-bx%)�newx%=bx%+wx%�newx%=x1%
@`2�limity%�(wy%<by%-y0%)�newy%=by%-wy%�newy%=y0%
@jG�newx%<x1%�newy%>y0%�q%!8=newy%:q%!12=newx%:ș"Wimp_OpenWindow",,q%
@t,q%!&80=0:q%!&84=-wy%:q%!&88=wx%:q%!&8C=0
@~*ș"Wimp_SetExtent",spritew%(I%),q%+&80
@�G�newx%>x1%�newy%<y0%�q%!8=newy%:q%!12=newx%:ș"Wimp_OpenWindow",,q%
@�6ș"Wimp_ForceRedraw",spritew%(I%),0,-30000,30000,0
@��
@�
@���updatesprite(I%)
@�6ș"Wimp_ForceRedraw",spritew%(I%),0,-30000,30000,0
@�%�upicon(spritelist%,spritei%(I%))
@��
@�
@���changesize(I%,xsc%,ysc%)
@�)xs%=sprxscale%(I%):ys%=spryscale%(I%)
@�+sprxscale%(I%)=xsc%:spryscale%(I%)=ysc%
A>ș"OS_SpriteOp",&128,spritearea%,spriten$(I%)�,,,spw%,sph%
A
6�newsize(I%,spw%*xs%,sph%*ys%,spw%*xsc%,sph%*ysc%)
A�
A
A(��flipx(I%)
A21ș"OS_SpriteOp",&12F,spritearea%,spriten$(I%)
A<6ș"Wimp_ForceRedredre",spritew%(I%),0,-30000,30000,0
AF%�upicon(spritelist%,spritei%(I%))
AP�
AZ
Ad��flipy(I%)
An1ș"OS_SpriteOp",&121,spritearea%,spriten$(I%)
Ax6ș"Wimp_ForceRedredre",spritew%(I%),0,-30000,30000,0
A�%�upicon(spritelist%,spritei%(I%))
A��
A�
A���bigsprite(I%)
A��xs%,ys%,By%,paint%
A�Cpaint%=�:�paint_drag%>=0�paint%=(!q%=spritew%(paint_drag%>>16))
A�$spritename%=spriten$(I%)
A�)xs%=sprxscale%(I%):ys%=spryscale%(I%)
A��23,12,0,7,0,7,0,7,0,7
A�Fș"OS_SpriteOp",&128,spritearea%,spritename%�,,,spw%,sph%,hasmask%
A�By%=by%-sph%*ys%
A�ȕmore%
A��hasmask%��16,128:�
B�version%>120�
BLș"Wimp_ReadPixTrans",&100,spritearea%,spritename%,,,,factors%,pixtrans%
B!factors%!0=xs%:factors%!4=ys%
B"A�factors%!0=xs%:factors%!4=ys%:factors%!8=dx%:factors%!12=dy%
B,�
B6Mș"OS_SpriteOp",&134,spritearea%,spritename%,bx%,By%,8,factors%,pixtrans%
B@�paint%��drgoff
BJ#ș"Wimp_GetRectangle",,q%�more%
BT�
B^�
Bh
BrR------------------------------------------------------------------------------
B|
B���spritepixel(I%)
B��getw(spritew%(I%))
B�)xs%=sprxscale%(I%):ys%=spryscale%(I%)
B�$�getspritexy(I%,mousex%,mousey%)
B�y%=sph%-1-y%
B�"�x%<0�y%<0�x%>=spw%�y%>=sph%��
B�Ȏpaintmode%�
B��16:�paint_pixel(&40)
B��17:�paint_spray
B��18:�paint_flood(&80)
B��19:�paint_line(&00)
B��20:�paint_ellipse(&C0)
B��21:�paint_ellipse(&C8)
C�22:�paint_circle(&90)
C�23:�paint_circle(&98)
C�24:�paint_arc(&A0)
C&�25:�paint_segment(&A8)
C0�26:�paint_sector(&B0)
C:�27:�paint_triangle(&50)
CD�28:�paint_blockcopy(&BE)
CN�29:�paint_blockmove(&BD)
CX�30:�paint_typetext
Cb�1,"Unknown paint mode!"
Cl�
Cv%�upicon(spritelist%,spritei%(I%))
C��
C�
C���paint_pixel(void%)
C�$paint_drag%=I%<<16:� auto-repeat
C��sprcolour%=16�hasmask%�
C��buttons%=&01�c%=1�c%=0
C�:ș"OS_SpriteOp",&12C,spritearea%,spriten$(I%),x%,y%,c%
C�
�c%=0�
C�	c%=16
C�@�ș"OS_SpriteOp",&129,spritearea%,spriten$(I%),x%,y%�,,,,,c%
C��
C��
C�$�buttons%=&01�c%=0�c%=sprcolour%
D�c%=16�c%=0
D:ș"OS_SpriteOp",&12A,spritearea%,spriten$(I%),x%,y%,c%
DC�hasmask%�ș"OS_SpriteOp",&12C,spritearea%,spriten$(I%),x%,y%,1
D �
D*K�update(spritew%(I%),x%*xs%,-(sph%-y%)*ys%,(x%+1)*xs%,-(sph%-1-y%)*ys%)
D4ȕmore%
D>-�c%=16��23,12,0,7,0,7,0,7,0,7:�16,0��0,c%
DH!�bx%+x%*xs%,by%-(sph%-y%)*ys%
DR/�&65,bx%+(x%+1)*xs%-1,by%-(sph%-1-y%)*ys%-1
D\%ș"Wimp_GetRectangle",,q%�more%:�
Df�
Dp
Dz��paint_flood(code%)
D��buttons%�&01��undo(I%):�
D�?ș"OS_SpriteOp",&129,spritearea%,spriten$(I%),x%,y%�,,,,,c%
D��edit(spriten$(I%))
D��0,128+c%:�0,sprcolour%
D��code%+5,x%<<spx%,y%<<spy%
D��editoff(spriten$(I%))
D��updatesprite(I%)
D��
D�
D���paint_line(code%)
D���paint_circle(code%)
D��dragclick(1,code%)
D��
E
E��paint_ellipse(code%)
E��paint_arc(code%)
E$��paint_segment(code%)
E.��paint_sector(code%)
E8��paint_triangle(code%)
EB��paint_blockcopy(code%)
EL��paint_blockmove(code%)
EV�dragclick(2,code%)
E`�
Ej
Et��dragclick(nclicks%,code%)
E~+�buttons%�&01��dragoff:paint_drag%=-1:�
E��paint_drag%>=0�
E��dragoff
E�-Ȏ((paint_drag%>>4)�&F)-(paint_drag%�&F)�
E��1
E�#dragx1%=dragx0%:dragy1%=dragy0%
E�sprx1%=sprx0%:spry1%=spry0%
E�+dragx0%=mousex%-bx%:dragy0%=mousey%-by%
E�5dragx%=dragx0%:dragy%=dragy0%:sprx0%=x%:spry0%=y%
E�paint_drag%+=1
E��0
E��edit(spriten$(I%))
E��0,sprcolour%
F�0,128+sprcolour%
F
5�(paint_drag%�&F0)=&10��sprx1%<<spx%,spry1%<<spy%
F�sprx0%<<spx%,spry0%<<spy%
FȎpaintmode%�
F(
�28,29
F2&�sprx1%-sprx0%<0�x%+=sprx1%-sprx0%
F<&�spry1%-spry0%<0�y%+=spry1%-spry0%
FF�code%,x%<<spx%,y%<<spy%
FP
FZ�code%+5,x%<<spx%,y%<<spy%
Fd�
Fn�editoff(spriten$(I%))
Fx�updatesprite(I%)
F�Ȏpaintmode%�
F��19:
F�8�28:dragx%=mousex%-bx%:dragy%=mousey%-by%:�dragoff:�
F�'�27:dragx1%=dragx0%:dragy1%=dragy0%
F�sprx1%=sprx0%:spry1%=spry0%
F�:paint_drag%=-1
F��
F��
F��
F�3paint_drag%=(I%<<16)�(code%<<8)�(nclicks%-1<<4)
F��
F�+dragx0%=mousex%-bx%:dragy0%=mousey%-by%
F�5dragx%=dragx0%:dragy%=dragy0%:sprx0%=x%:spry0%=y%
G�dragoff
G�
G
G"C��paintdrag(mousex%,mousey%,buttons%,handle%,icon%,oldbuttons%)
G,$�getw(spritew%(paint_drag%>>16))
G6�dragoff
G@8�handle%<>spritew%(paint_drag%>>16)�paint_drag%=-1:�
GJ)dragx%=mousex%-bx%:dragy%=mousey%-by%
GTD�(paintmode%=20�paintmode%=21)�(paint_drag%�&F)=0�dragy%=dragy0%
G^�dragon(buttons%)
Gh�
Gr
G|
��dragoff
G��paint_drag%=-1��
G�Ȏpaintmode%�
G��16,18:� do nothing
G�
G�I!q%=spritew%(paint_drag%>>16):q%!4=-1E8:q%!8=-1E8:q%!12=1E8:q%!16=1E8
G�#ș"Wimp_UpdateWindow",,q%�more%
G�5ȕmore%:�drgoff:ș"Wimp_GetRectangle",,q%�more%:�
G��
G��
G�
G���drgoff
G��3,7
G�code%=(paint_drag%>>8)�&FF
HȎpaintmode%�
H
�28,29
HȎpaint_drag%�&F�
H&>�0:ȓbx%+dragx0%,by%+dragy0%,dragx%-dragx0%,dragy%-dragy0%
H0>�1:ȓbx%+dragx%,by%+dragy%,dragx1%-dragx0%,dragy1%-dragy0%
H:�bx%+dragx0%,by%+dragy0%
HD;�29,bx%+dragx1%,by%+dragy0%:�29,bx%+dragx1%,by%+dragy1%
HN;�29,bx%+dragx0%,by%+dragy1%:�29,bx%+dragx0%,by%+dragy0%
HX�
Hb�19,20,21,22,23,24,25,26,27
HlȎpaint_drag%�&F�
Hv�0:
H�Ȏpaint_drag%�&F0�
H�8�&10:�bx%+dragx0%,by%+dragy0%:�bx%+dragx%,by%+dragy%
H�@�&00:�bx%+dragx0%,by%+dragy0%:�code%+5,bx%+dragx%,by%+dragy%
H��
H�!�1:code%=(paint_drag%>>8)�&FF
H��bx%+dragx1%,by%+dragy1%
H�Ȏcode%�
H�!�&00:�bx%+dragx0%,by%+dragy0%
H��bx%+dragx%,by%+dragy%
H��bx%+dragx1%,by%+dragy1%
H�:�bx%+dragx0%,by%+dragy0%
H�"�code%+5,bx%+dragx%,by%+dragy%
H��
I�
I�
I�
I 
I*��dragon(buttons%)
I4Ȏpaintmode%�
I>�16
IH�buttons%�&05�
IR!�spritepixel(paint_drag%>>16)
I\�paint_drag%=-1
If�
Ip�30:� do nothing
Iz
�dragoff
I��
I��
I�
I���edit(spname$)
I�Jș"OS_SpriteOp",&13C,spritearea%,spname$,0�oldR0%,oldR1%,oldR2%,oldR3%
I�switched%=�
I��
I�
I�;�A%,B%,sptr%
I�(;A%=�spriteaddr(spritearea%,spname$)
I� ;�(sptr%!16+1)*4=linelen%���
I�;!vduscreen%=A%
I�-;ș"OS_ReadModeVariable",sptr%!40,10�,,B%
J;�29,(sptr%!24>>B%)*dx%;0;
J!;�!vduscreen%=editbuffer%:�26
J?;ș"OS_SpriteOp",&122,spritearea%,spname$,0,1024-sph%*dy%,0
J$;�
J.';�24,0;1024-sph%*dy%;spw%*dx%;1023;
J8;�
JB
JL��editoff(spname$)
JV�switched%�
J`/ș"OS_SpriteOp",oldR0%,oldR1%,oldR2%,oldR3%
Jjundoname$=spname$
Jtswitched%=�
J~�
J��
J�
J� ;�A%,B%,E%,H%,L%,W%,I%,J%,T%
J�;�!vduscreen%=editbuffer%�
J�;� IF hasmask% THEN
J�(;A%=�spriteaddr(spritearea%,spname$)
J�;�sptr%!24<>0�
J�-;ș"OS_ReadModeVariable",sptr%!40,10�,,B%
J�;J%=sptr%!24>>B%:sptr%!24=0
J�8;�I%=1�J%:ș"OS_SpriteOp",&22E,spritearea%,sptr%,0:�
J�;�
J�$;W%=(sptr%!16+1)*4:H%=sptr%!20+1
K';E%=editbuffer%:L%=editbufferwidth%
K
L;sgetpars!0=A%:sgetpars!4=E%:sgetpars!8=W%:sgetpars!12=H%:sgetpars!16=L%
K
;�sget
KN� FOR J%=1 TO H%:FOR I%=0 TO W%-1 STEP4:T%=A%!I%:A%!I%=E%!I%:E%!I%=T%:NEXT
K(� A%+=W%:E%+=L%:NEXT
K2
� ELSE
K<Q� SYS"OS_SpriteOp",&110,spritearea%,spname$,0,0,1024-sph%*dy%,spw%*dx%-1,1023
KF� ENDIF
KP;�
KZ.;undoscreen%=!vduscreen%:undoname$=spname$
Kd#;!vduscreen%=oldvdu%:�29,0;0;26
Kn;�
Kx
K���undo(sprite%)
K��7:�
K�
K�;;�undoname$<>spriten$(I%)�undoscreen%<>editbuffer%��7:�
K�;!vduscreen%=undoscreen%
K�;�editoff(spriten$(I%))
K�;�updatesprite(I%)
K�;�
K�
K�ݤspriteaddr(A%,name$)
K��N%,N1%,N2%,N3%,I%
K�7$spritename%=name$:�I%=�name$�11:spritename%?I%=0:�
K�9N1%=spritename%!0:N2%=spritename%!4:N3%=spritename%!8
LN%=A%+A%!12:A%=A%+A%!8
L;ȕA%<N%:�A%!4=N1%�A%!8=N2%�A%!12=N3%�sptr%=A%:=A%+A%!32
L
A%+=!A%:�
L"5�1,"Sprite '"+name$+"' not found by FNspriteaddr"
L,
L6R------------------------------------------------------------------------------
L@
LJ
��palette
LTȎicon%�
L^	�-1:�
Lh'�31:�seti(palette%,icon%,&200000,0)
Lrgrid%=�grid%
L|
L��icon%<16�
L��unhtpal
L�palcolour%=icon%
L�sprcolour%=palcolour%
L�
�htpal
L��
L��icon%<>paintmode%�
L�"�deselect(palette%,paintmode%)
L��select(palette%,icon%)
L�#paintmode%=icon%:paint_drag%=-1
L��
L��
L��
M�
M
M ��xor(handle%,icon%,ntimes%)
M&4�I%:�I%=1�ntimes%:�seti(handle%,icon%,&200000,0)
M0tempt%=�:���-tempt%>3:�
M:�
MD
MN
��unhtpal
MX�palcolour%=-1��
Mb&�seti(palette%,palcolour%,&00,&05)
Ml�
Mv
M���htpal
M��c3%
M��palcolour%=-1��
M�!c3%=uncolour%(palcolour%)<<24
M�0�seti(palette%,palcolour%,c3%�&05,&0F000005)
M��
M�
M�#��seti(handle%,icon%,eor%,bic%)
M�I!q%=handle%:q%!4=icon%:q%!8=eor%:q%!12=bic%:ș"Wimp_SetIconState",,q%
M��
M�
M���setrgbvals(r%,g%,b%)
M��I%
N$pal%(0)=r%:pal%(1)=g%:pal%(2)=b%
N�I%=0�2
N�seti(palette%,I%,0,0)
N �
N*�
N4
N>��readpal(c%,c2%)
NH�c2%=16�version%>=134�
NRpalword%=paltable%!(4*c%)
N\)�ș"OS_ReadPalette",c%,c2%�,,palword%
Nf�
Npr%=(palword%>>8)�&FF
Nzg%=(palword%>>16)�&FF
N�b%=(palword%>>24)�&FF
N��
N�
N�R------------------------------------------------------------------------------
N�
N� ��encodepalmenu(tickcolour%)
N��encodepal(0,15)
N�I%=m_palette%+28
N��c%=0�15
N�9I%?11=(c%<<4)+uncolour%(c%):I%!8=I%!8�&08:� h centred
N�,�c%=tickcolour%�!I%=!I%�&01�!I%=!I%��&01
N�I%+=24:�
N��
O
O��encodepal(c1%,c2%)
O�c%,d%,e%,br%,maxd%,maxe%
O$2�version%>=134�ș"Wimp_ReadPalette",,paltable%
O.-�c%=c1%�c2%:bright%(c%)=�brightness(c%):�
O8(�c%=c1%�c2%:br%=bright%(c%):maxe%=-1
OB"�d%=0�15:e%=�(bright%(d%)-br%)
OL�e%>maxe%�maxe%=e%:maxd%=d%
OV�:uncolour%(c%)=maxd%:�
O`�
Oj
Otݤbrightness(c%)
O~
�r%,g%,b%
O��readpal(c%,16)
O�=r%+g%+g%+b%
O�
O�(ݤforeback(c%)=(c%<<4)�uncolour%(c%)
O�
O�ݤcolourdiff(rgb1%,rgb2%)
O��r%,g%,b%,R%,G%,B%
O�;r%=(rbg1%>>8)�&FF:g%=(rbg1%>>16)�&FF:b%=(rbg1%>>24)�&FF
O�;R%=(rbg2%>>8)�&FF:G%=(rbg2%>>16)�&FF:B%=(rbg2%>>24)�&FF
O�"=(R%-r%)^2+(G%-g%)^2+(B%-b%)^2
O�
O�R------------------------------------------------------------------------------
P
P
��checkfull(f$)
P�f$,".")��f$,":")��
P:�1,"To save, drag the file icon to a directory viewer"
P(
P2��checkident(A$,B$)
P<�A$=B$��
PF7�matchident(A$)<>-1��1,"Identifier must be unique"
PP�
PZ
Pdݤmatchident(A$)
Pn�A$=""�=-1
Px�I%
P�*I%=nh%+1:�I%=I%-1:�A$=wident$(I%)�I%=0
P��A$=wident$(I%)�=I%�=-1
P�
P�!��savetemplates(tfile$,safe%)
P�J%=0:�I%=0�nh%
P��handle%(I%)>nh%�
P�8�wident$(I%)=""��1,"Only named windows can be saved"
P�wptr%(J%)=I%:J%+=1
P��
P��
P��sortwindows
P�!�I%=0�255:fontbinding%?I%=0:�
P�.freef%=1:� internal font handle allocation
Qtf_hdr%=16
Qtf_fsize%=48
Qtf_handle%=�(tfile$)
Q"3�tf_handle%=0��1,"Can't open file '"+tfile$+"'"
Q,tf_dataptr%=tf_hdr%+J%*24+4
Q6%�I%=0�tf_hdr%-1:indexdata%?I%=0:�
Q@ tf_index%=indexdata%+tf_hdr%
QJ�I%=0�J%-1
QT5!q%=handle%(wptr%(I%)):ș"Wimp_GetWindowInfo",,q%
Q^7q%!68=1:� assume common sprite area when re-loading
Qhtf_datasize%=88+32*q%!88
Qr�processicon(q%+60,q%+76)
Q|�q%!88>0��processicons
Q�:ș"OS_GBPB",1,tf_handle%,q%+4,tf_datasize%,tf_dataptr%
Q�tf_index%!0=tf_dataptr%
Q�tf_index%!4=tf_datasize%
Q�tf_index%!8=1
Q�&$(tf_index%+12)=wident$(wptr%(I%))
Q�+tf_index%+=24:tf_dataptr%+=tf_datasize%
Q��
Q�!tf_index%=0
Q�4�freef%=1�!indexdata%=-1�!indexdata%=tf_dataptr%
Q�@ș"OS_GBPB",1,tf_handle%,indexdata%,tf_index%+4-indexdata%,0
Q��freef%>1�
Q�'�I%=0�tf_fsize%-1:indexdata%?I%=0:�
Q��I%=1�freef%-1
R#J%=0:�J%+=1:�fontbinding%?J%=I%
RAș"Font_ReadDefn",J%,indexdata%+8�,,indexdata%!0,indexdata%!4
R=ș"OS_GBPB",1,tf_handle%,indexdata%,tf_fsize%,tf_dataptr%
R&tf_dataptr%+=tf_fsize%
R0�
R:�
RD�#tf_handle%
RN$�("Settype "+tfile$+" Template")
RX�("Stamp "+tfile$)
Rb�safe%�templatef$=tfile$
Rl�
Rv
R���processicons
R�
�I%,J%
R�J%=q%+92
R�4�I%=0�q%!88-1:�processicon(J%+16,J%+20):J%+=32:�
R��
R�
R���processicon(fptr%,qptr%)
R��!fptr%�&40�
R�*extf%=fptr%?3:intf%=fontbinding%?extf%
R�<�intf%=0�intf%=freef%:freef%+=1:fontbinding%?extf%=intf%
R�fptr%?3=intf%
R��
R��!fptr%�&100�
SB%=q%+4+tf_datasize%
S8$B%=$!qptr%:!qptr%=tf_datasize%:tf_datasize%+=�$B%+1
S�qptr%!4>0�
S B%=q%+4+tf_datasize%
S*<$B%=$(qptr%!4):qptr%!4=tf_datasize%:tf_datasize%+=�$B%+1
S4�
S>�
SH�
SR
S\��loadtemplates(tfile$)
Sf
�I%,f$
Sp!ș"Wimp_OpenTemplate",,tfile$
SzG�tfile$<>"<Wimp$Scrap>"�templatef$=tfile$:� only if load succeeded!
S��
S�(��:�:ș"Wimp_CloseTemplate":��,�$
S�tf_index%=0:�
S�$mb_wident%="*"
S�qș"Wimp_LoadTemplate",,q%+4,curbuff%,buffer%+maxbuf%,fontcounts%,mb_wident%,tf_index%�,,curbuff%,,,,tf_index%
S�(�tf_index%<>0��loadtemp($mb_wident%)
S��tf_index%=0
S�ș"Wimp_CloseTemplate"
S��
S�
S���loadtemp(wident$)
S�5I%=�matchident(wident$):�I%<>-1��deletewindow(I%)
S�(q%!68=spritearea%:� user sprite area
T�crwindow(q%+4,wident$)
T�
T
T$R------------------------------------------------------------------------------
T.
T8��defaultwindows
TB3ș"Wimp_OpenTemplate",,"<FormEd$Dir>.Templates"
TL+�iconbar% (88+10*32),default% (88+1*32)
TV#�loadcrtemp("iconbar",iconbar%)
T`#�loadcrtemp("default",default%)
Tjm_info%=�crtemp("info")
Tt%spritelist%=�crtemp("spritelist")
T~m_scale%=�crtemp("m_scale")
T�%m_workarea%=�crtemp("m_workarea")
T�palette%=�crtemp("palette")
T�$m_savetemp%=�crtemp("save_temp")
T�%m_savespr%=�crtemp("save_sprite")
T�(� errorbox%   = FNcrtemp("errorbox")
T�'dial_delete%=�crtemp("dial_delete")
T�ș"Wimp_CloseTemplate"
T�"sprbuff%=�iconaddr(m_scale%,3)
T�*mb_templates%=�iconaddr(m_savetemp%,1)
T�'mb_spritef%=�iconaddr(m_savespr%,1)
T�*mb_workarea0%=�iconaddr(m_workarea%,9)
T�+mb_workarea1%=�iconaddr(m_workarea%,10)
U&mb_minx%=�iconaddr(m_workarea%,14)
U
&mb_miny%=�iconaddr(m_workarea%,15)
UC�geti(m_scale%,2):sprxoff%=(ix0%+ix1%)�2:spryoff%=(iy0%+iy1%)�2
U�
U(
U2ݤcrtemp(wident$)
U<�loadcrtemp(wident$,q%)
UF ș"Wimp_CreateWindow",,q%�I%
UP=I%
UZ
Ud��loadcrtemp(wident$,q%)
Un�I%,c%,c2%,w$
Ux#c%=curbuff%:c2%=buffer%+maxbuf%
U� w$=wident$+�12-�wident$,�13)
U�Fș"Wimp_LoadTemplate",,q%,c%,c2%,fontcounts%,w$,0�,,curbuff%,,,,c%
U�*�c%=0��1,"Window definition not found"
U�%�wident$="iconbar"�q%!28=q%!28��1
U�q%!64=systemsprites%
U�+�wident$="spritelist"�q%!64=spritearea%
U�6�wident$="save_temp"�wident$="save_sprite"�q%!64=1
U�B�wident$="spritelist"�spritef%=q%!72:spflen%=q%!80-1:q%!68=100
U��
U�
U�ݤiconaddr(h%,i%)
U�,!q%=h%:q%!4=i%:ș"Wimp_GetIconState",,q%
U��q%!24�&100�=q%!28
V�1,"Icon is not indirected"
V
Vݤiconbar(iconbar%,ic%)
V"icon%=iconbar%+88+32*ic%
V,
!q%=-1
V6<q%!4=icon%!0:q%!8=0:q%!12=icon%!8:q%!16=icon%!12-icon%!4
V@q%!20=icon%!16
VJq%!24=icon%!20
VTq%!28=icon%!24
V^q%!32=icon%!28
Vhș"Wimp_CreateIcon",,q%�ic%
Vr=ic%
V|
V�� spname$=$(icon%+20)
V�6� q%!24=FNworkspace(LENspname$+1):$(q%!24)=spname$
V�� q%!28=systemsprites%
V�� q%!32=LENspname$+1
V�
V�R------------------------------------------------------------------------------
V�
V���createmenu
V�%�1,"Not yet implemented - sorry!"
V��
V�
V�R------------------------------------------------------------------------------
V�
W��printscreen
W�ensure
W3ș"Print_PageSize"�,xs%,ys%,px0%,py0%,px1%,py1%
W&Fq%!&90=0:q%!&94=0:q%!&98=scrx1%:q%!&9C=scry1%:� input bounding box
W0�
W:G��:ș"Print_AbortJob":�invalidate(-1,0,0,scrx1%,scry1%):��:��,�$:�
WDș"Print_StartJob"
WN"�23,25,&80,1,&F0,&F0,&F0,0,0,0
WX	�14,0
WbN�matrix(q%+&A0,300,0,0,300,(xs%-scrx1%*300)/2,py1%-scry1%*300-18000):�page
Wl4� PROCmatrix(q%+&A0,0,-400,400,0,0,ys%):PROCpage
Wv4� PROCmatrix(q%+&A0,0,500,-400,0,xs%,0):PROCpage
W�ș"Print_EndJob"
W��7
W��
W�
W�
��page
W�3ș"Print_DrawPage",,q%+&80,q%+&90,q%+&A0�pmore%
W�ȕpmore%
W�/�invalidate(-1,q%!&80,q%!&84,q%!&88,q%!&8C)
W�-�    PROCinvalidate(-1,0,0,scrx1%,scry1%)
W��ensure
W�*ș"Print_NextRectangle",,q%+&80�pmore%
W��
W��
X
X��matrix(q%,a,b,c,d,e,f)
X0q%!0=a:q%!4=b:q%!8=c:q%!12=d:q%!16=e:q%!20=f
X �
X*
X4$��invalidate(h%,x0%,y0%,x1%,y1%)
X>+ș"Wimp_ForceRedraw",h%,x0%,y0%,x1%,y1%
XH�
XR
X\��ensure
Xf �ș"Wimp_Poll",�3,q%�action%
Xp�action%=1��redraw(!q%)
Xz�action%=0
X��
X�
X�R------------------------------------------------------------------------------
X�
X���sortwindows
X��I%=0�J%-1:wflag%(I%)=0:�
X��I%=0�J%-1
X��wflag%(I%)=0�
X�	K%=I%
X�wflag%(K%)=1
X�!q%=handle%(wptr%(K%))
X��
X�ș"Wimp_GetWindowState",,q%
Y�q%!28=-1�
Ywlink%(K%)=-1
Y�
Y$&L%=�whichwptr(�whichwindow(q%!28))
Y.�L%>=0�
Y8wlink%(K%)=L%
YB�wflag%(L%)�q%!28=-1�K%=L%
YLwflag%(L%)=2
YV�
Y`�
Yj
!q%=q%!28
Yt
�q%!28=-1
Y~�
Y��I%
Y�3K%=J%:�K%-=1:�wflag%(K%)=1:� find head of chain
Y��I%=0�J%-1
Y�B�K%<0��1,"Only managed to find "+�I%+" out of "+�J%+" windows"
Y�&wflag%(I%)=wptr%(K%):K%=wlink%(K%)
Y��
Y�%�I%=0�J%-1:wptr%(I%)=wflag%(I%):�
Y��
Y�
Y�ݤwhichwptr(K%)
Y�
�K%<0�=-1
Y��L%
Z �L%=0�J%-1:�wptr%(L%)=K%�=L%
Z
�
Z=
00000000  0d 00 0a 1b f4 20 3e 20  24 2e 21 46 6f 72 6d 45  |..... > $.!FormE|
00000010  64 2e 21 52 75 6e 49 6d  61 67 65 0d 00 14 41 f4  |d.!RunImage...A.|
00000020  20 2f 2f 2f 20 46 6f 72  6d 73 20 45 64 69 74 6f  | /// Forms Edito|
00000030  72 20 70 72 6f 67 72 61  6d 20 28 66 6f 72 20 64  |r program (for d|
00000040  65 73 69 67 6e 69 6e 67  20 57 69 6d 70 20 54 65  |esigning Wimp Te|
00000050  6d 70 6c 61 74 65 73 29  20 2f 2f 2f 0d 00 1e 04  |mplates) ///....|
00000060  0d 00 28 1a f4 20 44 69  72 65 63 74 6f 72 79 20  |..(.. Directory |
00000070  53 74 72 75 63 74 75 72  65 3a 0d 00 32 05 f4 0d  |Structure:..2...|
00000080  00 3c 13 f4 20 21 46 6f  72 6d 65 64 2e 21 42 6f  |.<.. !Formed.!Bo|
00000090  6f 74 0d 00 46 12 f4 20  21 46 6f 72 6d 65 64 2e  |ot..F.. !Formed.|
000000a0  21 52 75 6e 0d 00 50 4a  f4 20 21 46 6f 72 6d 65  |!Run..PJ. !Forme|
000000b0  64 2e 21 52 75 6e 49 6d  61 67 65 20 20 20 20 20  |d.!RunImage     |
000000c0  20 20 20 20 20 20 20 28  74 68 69 73 20 66 69 6c  |       (this fil|
000000d0  65 29 20 2d 20 72 75 6e  20 77 68 65 6e 20 21 52  |e) - run when !R|
000000e0  75 6e 20 69 73 20 65 78  65 63 75 74 65 64 0d 00  |un is executed..|
000000f0  5a 16 f4 20 21 46 6f 72  6d 65 64 2e 21 50 61 6c  |Z.. !Formed.!Pal|
00000100  65 74 74 65 0d 00 64 17  f4 20 21 46 6f 72 6d 65  |ette..d.. !Forme|
00000110  64 2e 54 65 6d 70 6c 61  74 65 73 0d 00 6e 15 f4  |d.Templates..n..|
00000120  20 21 46 6f 72 6d 65 64  2e 53 70 72 69 74 65 73  | !Formed.Sprites|
00000130  0d 00 78 15 f4 20 21 46  6f 72 6d 65 64 2e 44 65  |..x.. !Formed.De|
00000140  66 61 75 6c 74 0d 00 82  05 f4 0d 00 8c 04 0d 00  |fault...........|
00000150  96 20 c8 99 22 4f 53 5f  47 65 74 45 6e 76 22 b8  |. .."OS_GetEnv".|
00000160  63 6f 6d 6d 61 6e 64 73  74 72 69 6e 67 24 0d 00  |commandstring$..|
00000170  a0 04 0d 00 aa 13 de 66  6f 6e 74 63 6f 75 6e 74  |.......fontcount|
00000180  73 25 32 35 35 0d 00 b4  20 e3 49 25 3d 30 b8 32  |s%255... .I%=0.2|
00000190  35 35 3a 66 6f 6e 74 63  6f 75 6e 74 73 25 3f 49  |55:fontcounts%?I|
000001a0  25 3d 30 3a ed 0d 00 be  04 0d 00 c8 19 f4 20 2d  |%=0:.......... -|
000001b0  2d 20 53 74 61 72 74 20  57 69 6d 70 20 67 6f 69  |- Start Wimp goi|
000001c0  6e 67 0d 00 d2 04 0d 00  dc 1d de 74 61 73 6b 69  |ng.........taski|
000001d0  64 25 34 3a 24 74 61 73  6b 69 64 25 3d 22 54 41  |d%4:$taskid%="TA|
000001e0  53 4b 22 0d 00 e6 36 c8  99 22 57 69 6d 70 5f 49  |SK"...6.."Wimp_I|
000001f0  6e 69 74 69 61 6c 69 73  65 22 2c 32 30 30 2c 21  |nitialise",200,!|
00000200  74 61 73 6b 69 64 25 2c  22 46 6f 72 6d 45 64 22  |taskid%,"FormEd"|
00000210  b8 76 65 72 73 69 6f 6e  25 0d 00 f0 3c ee 85 f2  |.version%...<...|
00000220  65 72 72 6f 72 64 69 73  70 6c 61 79 28 9f 2c f6  |errordisplay(.,.|
00000230  24 2c 9e 29 3a f4 20 61  66 74 65 72 20 63 61 6c  |$,.):. after cal|
00000240  6c 69 6e 67 20 57 69 6d  70 5f 49 6e 69 74 69 61  |ling Wimp_Initia|
00000250  6c 69 73 65 21 0d 00 fa  0c 6d 69 6e 76 25 3d 32  |lise!....minv%=2|
00000260  31 0d 01 04 44 e7 76 65  72 73 69 6f 6e 25 3c 6d  |1...D.version%<m|
00000270  69 6e 76 25 8c 85 31 2c  22 57 69 6e 64 6f 77 20  |inv%..1,"Window |
00000280  4d 61 6e 61 67 65 72 20  3e 3d 20 22 2b c3 28 6d  |Manager >= "+.(m|
00000290  69 6e 76 25 2f 31 30 30  29 2b 22 20 72 65 71 75  |inv%/100)+" requ|
000002a0  69 72 65 64 22 0d 01 0e  1a 62 6f 64 67 65 69 74  |ired"....bodgeit|
000002b0  25 3d 28 76 65 72 73 69  6f 6e 25 3c 31 38 29 0d  |%=(version%<18).|
000002c0  01 18 0e e7 62 6f 64 67  65 69 74 25 8c 0d 01 22  |....bodgeit%..."|
000002d0  0e de 6f 6c 64 66 78 25  28 38 29 0d 01 2c 30 e3  |..oldfx%(8)..,0.|
000002e0  49 25 3d 31 b8 38 3a c8  99 22 4f 53 5f 42 79 74  |I%=1.8:.."OS_Byt|
000002f0  65 22 2c 49 25 2b 32 32  30 2c 32 2c 30 b8 2c 6f  |e",I%+220,2,0.,o|
00000300  6c 64 66 78 25 28 49 25  29 3a ed 0d 01 36 24 c8  |ldfx%(I%):...6$.|
00000310  99 22 4f 53 5f 42 79 74  65 22 2c 32 31 39 2c 26  |."OS_Byte",219,&|
00000320  38 41 2c 30 b8 2c 6f 6c  64 66 78 32 31 39 25 0d  |8A,0.,oldfx219%.|
00000330  01 40 05 cd 0d 01 4a 04  0d 01 54 3f f4 20 2d 2d  |.@....J...T?. --|
00000340  20 6f 76 65 72 72 69 64  65 20 77 69 74 68 20 6f  | override with o|
00000350  75 72 20 6f 77 6e 20 6d  6f 64 65 20 28 4f 4e 4c  |ur own mode (ONL|
00000360  59 20 69 66 20 6d 6f 6e  6f 2d 74 61 73 6b 69 6e  |Y if mono-taskin|
00000370  67 20 57 69 6d 70 29 0d  01 5e 04 0d 01 68 12 e7  |g Wimp)..^...h..|
00000380  76 65 72 73 69 6f 6e 25  3c 31 32 30 8c 0d 01 72  |version%<120...r|
00000390  07 eb 31 32 0d 01 7c 20  2a 50 72 69 6e 74 20 3c  |..12..| *Print <|
000003a0  46 6f 72 6d 45 64 24 44  69 72 3e 2e 21 50 61 6c  |FormEd$Dir>.!Pal|
000003b0  65 74 74 65 0d 01 86 2d  c8 99 22 57 69 6d 70 5f  |ette...-.."Wimp_|
000003c0  46 6f 72 63 65 52 65 64  72 61 77 22 2c 2d 31 2c  |ForceRedraw",-1,|
000003d0  2d 31 45 38 2c 2d 31 45  38 2c 31 45 38 2c 31 45  |-1E8,-1E8,1E8,1E|
000003e0  38 0d 01 90 0c 2a 50 6f  69 6e 74 65 72 0d 01 9a  |8....*Pointer...|
000003f0  08 c8 8e eb ca 0d 01 a4  09 c9 30 2c 32 32 0d 01  |..........0,22..|
00000400  ae 29 60 77 62 63 6f 6c  3d 26 31 3a 60 74 62 63  |.)`wbcol=&1:`tbc|
00000410  6f 6c 3d 26 31 3a 60 73  63 6f 3d 26 31 3a 60 6d  |ol=&1:`sco=&1:`m|
00000420  62 63 6f 6c 3d 26 31 0d  01 b8 2a 60 77 66 63 6f  |bcol=&1...*`wfco|
00000430  6c 3d 26 31 3a 60 74 66  63 6f 6c 3d 26 30 3a 60  |l=&1:`tfcol=&0:`|
00000440  73 63 69 3d 26 31 3a 60  74 62 63 6f 6c 32 3d 26  |sci=&1:`tbcol2=&|
00000450  31 0d 01 c2 22 c8 99 22  46 6f 6e 74 5f 53 65 74  |1...".."Font_Set|
00000460  46 6f 6e 74 43 6f 6c 6f  75 72 73 22 2c 2c 30 2c  |FontColours",,0,|
00000470  31 2c 31 0d 01 cc 08 c9  31 2c 38 0d 01 d6 29 60  |1,1.....1,8...)`|
00000480  77 62 63 6f 6c 3d 26 31  3a 60 74 62 63 6f 6c 3d  |wbcol=&1:`tbcol=|
00000490  26 31 3a 60 73 63 6f 3d  26 31 3a 60 6d 62 63 6f  |&1:`sco=&1:`mbco|
000004a0  6c 3d 26 31 0d 01 e0 2a  60 77 66 63 6f 6c 3d 26  |l=&1...*`wfcol=&|
000004b0  31 3a 60 74 66 63 6f 6c  3d 26 30 3a 60 73 63 69  |1:`tfcol=&0:`sci|
000004c0  3d 26 31 3a 60 74 62 63  6f 6c 32 3d 26 31 0d 01  |=&1:`tbcol2=&1..|
000004d0  ea 22 c8 99 22 46 6f 6e  74 5f 53 65 74 46 6f 6e  |.".."Font_SetFon|
000004e0  74 43 6f 6c 6f 75 72 73  22 2c 2c 30 2c 33 2c 30  |tColours",,0,3,0|
000004f0  0d 01 f4 0e c9 32 2c 39  2c 31 32 2c 32 30 0d 01  |.....2,9,12,20..|
00000500  fe 29 60 77 62 63 6f 6c  3d 26 30 3a 60 74 62 63  |.)`wbcol=&0:`tbc|
00000510  6f 6c 3d 26 44 3a 60 73  63 6f 3d 26 33 3a 60 6d  |ol=&D:`sco=&3:`m|
00000520  62 63 6f 6c 3d 26 42 0d  02 08 2a 60 77 66 63 6f  |bcol=&B...*`wfco|
00000530  6c 3d 26 37 3a 60 74 66  63 6f 6c 3d 26 37 3a 60  |l=&7:`tfcol=&7:`|
00000540  73 63 69 3d 26 31 3a 60  74 62 63 6f 6c 32 3d 26  |sci=&1:`tbcol2=&|
00000550  43 0d 02 12 22 c8 99 22  46 6f 6e 74 5f 53 65 74  |C...".."Font_Set|
00000560  46 6f 6e 74 43 6f 6c 6f  75 72 73 22 2c 2c 30 2c  |FontColours",,0,|
00000570  31 2c 36 0d 02 1c 05 cb  0d 02 26 05 cc 0d 02 30  |1,6.......&....0|
00000580  29 60 77 62 63 6f 6c 3d  26 30 3a 60 74 62 63 6f  |)`wbcol=&0:`tbco|
00000590  6c 3d 26 44 3a 60 73 63  6f 3d 26 33 3a 60 6d 62  |l=&D:`sco=&3:`mb|
000005a0  63 6f 6c 3d 26 42 0d 02  3a 2a 60 77 66 63 6f 6c  |col=&B..:*`wfcol|
000005b0  3d 26 37 3a 60 74 66 63  6f 6c 3d 26 37 3a 60 73  |=&7:`tfcol=&7:`s|
000005c0  63 69 3d 26 44 3a 60 74  62 63 6f 6c 32 3d 26 43  |ci=&D:`tbcol2=&C|
000005d0  0d 02 44 05 cd 0d 02 4e  04 0d 02 58 13 de 69 6e  |..D....N...X..in|
000005e0  76 25 32 37 2c 6f 75 74  76 25 32 33 0d 02 62 1a  |v%27,outv%23..b.|
000005f0  de 70 78 32 25 31 2c 70  78 34 25 33 2c 70 78 32  |.px2%1,px4%3,px2|
00000600  35 36 25 32 35 35 0d 02  6c 10 f2 67 65 74 6d 6f  |56%255..l..getmo|
00000610  64 65 69 6e 66 6f 0d 02  76 0f 73 77 69 74 63 68  |deinfo..v.switch|
00000620  65 64 25 3d a3 0d 02 80  04 0d 02 8a 0f de 66 61  |ed%=..........fa|
00000630  63 74 6f 72 73 25 31 35  0d 02 94 2b e7 76 65 72  |ctors%15...+.ver|
00000640  73 69 6f 6e 25 3e 31 32  30 8c de 70 69 78 74 72  |sion%>120..pixtr|
00000650  61 6e 73 25 31 35 8b 70  69 78 74 72 61 6e 73 25  |ans%15.pixtrans%|
00000660  3d 2d 31 0d 02 9e 04 0d  02 a8 19 f4 20 2d 2d 20  |=-1......... -- |
00000670  64 69 6d 65 6e 73 69 6f  6e 20 61 72 72 61 79 73  |dimension arrays|
00000680  0d 02 b2 04 0d 02 bc 26  de 70 61 6c 25 28 32 29  |.......&.pal%(2)|
00000690  2c 62 72 69 67 68 74 25  28 31 35 29 2c 75 6e 63  |,bright%(15),unc|
000006a0  6f 6c 6f 75 72 25 28 31  35 29 0d 02 c6 24 de 71  |olour%(15)...$.q|
000006b0  25 26 32 30 30 30 2c 65  72 72 6f 72 61 64 64 72  |%&2000,erroraddr|
000006c0  25 28 34 29 2c 6f 6c 64  71 25 26 31 30 30 0d 02  |%(4),oldq%&100..|
000006d0  d0 27 de 69 6e 64 65 78  64 61 74 61 25 33 32 2a  |.'.indexdata%32*|
000006e0  32 34 2b 32 30 2c 66 6f  6e 74 62 69 6e 64 69 6e  |24+20,fontbindin|
000006f0  67 25 32 35 35 0d 02 da  11 6d 61 78 62 75 66 25  |g%255....maxbuf%|
00000700  3d 26 33 30 30 30 0d 02  e4 24 de 62 75 66 66 65  |=&3000...$.buffe|
00000710  72 25 6d 61 78 62 75 66  25 3a 63 75 72 62 75 66  |r%maxbuf%:curbuf|
00000720  66 25 3d 62 75 66 66 65  72 25 0d 02 ee 0a 6e 68  |f%=buffer%....nh|
00000730  25 3d 33 32 0d 02 f8 43  de 68 61 6e 64 6c 65 25  |%=32...C.handle%|
00000740  28 6e 68 25 2b 31 29 2c  77 69 64 65 6e 74 24 28  |(nh%+1),wident$(|
00000750  6e 68 25 29 2c 77 70 74  72 25 28 6e 68 25 29 2c  |nh%),wptr%(nh%),|
00000760  77 6c 69 6e 6b 25 28 6e  68 25 29 2c 77 66 6c 61  |wlink%(nh%),wfla|
00000770  67 25 28 6e 68 25 29 0d  03 02 3d e3 49 25 3d 30  |g%(nh%)...=.I%=0|
00000780  b8 6e 68 25 3a 68 61 6e  64 6c 65 25 28 49 25 29  |.nh%:handle%(I%)|
00000790  3d 49 25 2d 31 3a 77 69  64 65 6e 74 24 28 49 25  |=I%-1:wident$(I%|
000007a0  29 3d 22 22 3a ed 3a 68  61 6e 64 6c 65 53 50 25  |)="":.:handleSP%|
000007b0  3d 6e 68 25 0d 03 0c 12  de 73 70 72 69 74 65 6e  |=nh%.....spriten|
000007c0  61 6d 65 25 31 32 0d 03  16 2c de 6d 65 6e 75 66  |ame%12...,.menuf|
000007d0  72 65 65 25 26 31 38 30  30 3a 6d 65 6e 75 65 6e  |ree%&1800:menuen|
000007e0  64 25 3d 6d 65 6e 75 66  72 65 65 25 2b 26 31 38  |d%=menufree%+&18|
000007f0  30 30 0d 03 20 12 de 6d  65 6e 75 6c 69 73 74 25  |00.. ..menulist%|
00000800  26 31 30 30 0d 03 2a 15  62 72 78 25 3d 34 30 30  |&100..*.brx%=400|
00000810  3a 62 72 79 25 3d 37 34  30 0d 03 34 32 63 75 72  |:bry%=740..42cur|
00000820  72 65 6e 74 77 69 6e 64  6f 77 25 3d 2d 31 3a 63  |rentwindow%=-1:c|
00000830  75 72 72 65 6e 74 69 63  6f 6e 25 3d 2d 31 3a 64  |urrenticon%=-1:d|
00000840  69 61 6c 6f 67 75 65 25  3d 2d 31 0d 03 3e 0f 73  |ialogue%=-1..>.s|
00000850  70 72 69 74 65 66 24 3d  22 22 0d 03 48 3f de 69  |pritef$=""..H?.i|
00000860  62 5f 74 65 78 74 25 32  35 35 2c 69 62 5f 73 70  |b_text%255,ib_sp|
00000870  72 69 74 65 25 31 32 2c  69 62 5f 62 75 66 66 65  |rite%12,ib_buffe|
00000880  72 73 69 7a 65 25 36 2c  69 62 5f 76 61 6c 69 64  |rsize%6,ib_valid|
00000890  61 74 69 6f 6e 25 32 35  35 0d 03 52 2c de 74 62  |ation%255..R,.tb|
000008a0  5f 74 65 78 74 25 34 30  2c 74 62 5f 73 70 72 69  |_text%40,tb_spri|
000008b0  74 65 25 31 32 2c 74 62  5f 62 75 66 66 65 72 73  |te%12,tb_buffers|
000008c0  69 7a 65 25 36 0d 03 5c  1f de 6d 62 5f 66 73 69  |ize%6..\..mb_fsi|
000008d0  7a 65 25 36 3a 24 6d 62  5f 66 73 69 7a 65 25 3d  |ze%6:$mb_fsize%=|
000008e0  22 33 30 22 0d 03 66 11  de 6d 62 5f 77 69 64 65  |"30"..f..mb_wide|
000008f0  6e 74 25 31 32 0d 03 70  24 de 6d 62 5f 72 65 6e  |nt%12..p$.mb_ren|
00000900  75 6d 62 65 72 25 35 3a  24 6d 62 5f 72 65 6e 75  |umber%5:$mb_renu|
00000910  6d 62 65 72 25 3d 22 30  22 0d 03 7a 1a 74 65 6d  |mber%="0"..z.tem|
00000920  70 6c 61 74 65 66 24 3d  22 54 65 6d 70 6c 61 74  |platef$="Templat|
00000930  65 73 22 0d 03 84 22 de  6d 62 5f 63 72 73 70 72  |es"...".mb_crspr|
00000940  69 74 65 25 31 32 2c 6d  62 5f 72 6e 73 70 72 69  |ite%12,mb_rnspri|
00000950  74 65 25 31 32 0d 03 8e  11 6e 73 70 3d 38 30 3a  |te%12....nsp=80:|
00000960  6e 73 25 3d 31 30 0d 03  98 46 de 73 70 77 25 28  |ns%=10...F.spw%(|
00000970  6e 73 70 29 2c 73 70 68  25 28 6e 73 70 29 2c 73  |nsp),sph%(nsp),s|
00000980  70 77 78 25 28 6e 73 70  29 2c 6d 69 6e 78 25 28  |pwx%(nsp),minx%(|
00000990  6e 73 70 29 2c 6d 69 6e  79 25 28 6e 73 70 29 2c  |nsp),miny%(nsp),|
000009a0  73 70 6e 61 6d 65 24 28  6e 73 70 29 0d 03 a2 22  |spname$(nsp)..."|
000009b0  de 73 70 72 69 74 65 77  25 28 6e 73 25 2b 31 29  |.spritew%(ns%+1)|
000009c0  2c 6e 73 70 72 69 74 65  25 28 6e 73 25 29 0d 03  |,nsprite%(ns%)..|
000009d0  ac 40 de 73 70 72 69 74  65 69 25 28 6e 73 25 29  |.@.spritei%(ns%)|
000009e0  2c 73 70 72 78 73 63 61  6c 65 25 28 6e 73 25 29  |,sprxscale%(ns%)|
000009f0  2c 73 70 72 79 73 63 61  6c 65 25 28 6e 73 25 29  |,spryscale%(ns%)|
00000a00  2c 73 70 72 69 74 65 6e  24 28 6e 73 25 29 0d 03  |,spriten$(ns%)..|
00000a10  b6 47 e3 49 25 3d 30 b8  6e 73 25 3a 73 70 72 69  |.G.I%=0.ns%:spri|
00000a20  74 65 77 25 28 49 25 29  3d 49 25 2d 31 3a 73 70  |tew%(I%)=I%-1:sp|
00000a30  72 69 74 65 6e 24 28 49  25 29 3d 22 22 3a ed 3a  |riten$(I%)="":.:|
00000a40  73 70 72 53 50 25 3d 6e  73 25 3a 73 70 72 53 50  |sprSP%=ns%:sprSP|
00000a50  32 25 3d 2d 31 0d 03 c0  41 c8 99 22 4f 53 5f 46  |2%=-1...A.."OS_F|
00000a60  69 6c 65 22 2c 35 2c 22  3c 46 6f 72 6d 45 64 24  |ile",5,"<FormEd$|
00000a70  44 69 72 3e 2e 53 70 72  69 74 65 73 22 b8 74 79  |Dir>.Sprites".ty|
00000a80  70 65 25 2c 2c 2c 2c 73  79 73 74 65 6d 61 72 65  |pe%,,,,systemare|
00000a90  61 73 69 7a 65 25 0d 03  ca 32 e7 74 79 70 65 25  |asize%...2.type%|
00000aa0  3c 3e 31 8c 85 31 2c 22  43 61 6e 27 74 20 66 69  |<>1..1,"Can't fi|
00000ab0  6e 64 20 3c 46 6f 72 6d  45 64 24 44 69 72 3e 2e  |nd <FormEd$Dir>.|
00000ac0  53 70 72 69 74 65 73 22  0d 03 d4 16 73 79 73 74  |Sprites"....syst|
00000ad0  65 6d 61 72 65 61 73 69  7a 65 25 2b 3d 34 0d 03  |emareasize%+=4..|
00000ae0  de 22 de 73 79 73 74 65  6d 73 70 72 69 74 65 73  |.".systemsprites|
00000af0  25 73 79 73 74 65 6d 61  72 65 61 73 69 7a 65 25  |%systemareasize%|
00000b00  0d 03 e8 24 73 79 73 74  65 6d 73 70 72 69 74 65  |...$systemsprite|
00000b10  73 25 21 30 3d 73 79 73  74 65 6d 61 72 65 61 73  |s%!0=systemareas|
00000b20  69 7a 65 25 0d 03 f2 3e  c8 99 22 4f 53 5f 53 70  |ize%...>.."OS_Sp|
00000b30  72 69 74 65 4f 70 22 2c  26 31 30 41 2c 73 79 73  |riteOp",&10A,sys|
00000b40  74 65 6d 73 70 72 69 74  65 73 25 2c 22 3c 46 6f  |temsprites%,"<Fo|
00000b50  72 6d 45 64 24 44 69 72  3e 2e 53 70 72 69 74 65  |rmEd$Dir>.Sprite|
00000b60  73 22 0d 03 fc 51 f4 20  53 59 53 20 22 4f 53 5f  |s"...Q. SYS "OS_|
00000b70  53 70 72 69 74 65 4f 70  22 2c 26 31 30 46 2c 73  |SpriteOp",&10F,s|
00000b80  79 73 74 65 6d 73 70 72  69 74 65 73 25 2c 22 65  |ystemsprites%,"e|
00000b90  64 69 74 62 75 66 66 65  72 22 2c 30 2c 31 32 38  |ditbuffer",0,128|
00000ba0  30 2f 64 78 25 2c 31 30  32 34 2f 64 79 25 2c 4d  |0/dx%,1024/dy%,M|
00000bb0  4f 44 45 0d 04 06 3b f4  20 65 64 69 74 62 75 66  |ODE...;. editbuf|
00000bc0  66 65 72 25 3d 46 4e 73  70 72 69 74 65 61 64 64  |fer%=FNspriteadd|
00000bd0  72 28 73 79 73 74 65 6d  73 70 72 69 74 65 73 25  |r(systemsprites%|
00000be0  2c 22 65 64 69 74 62 75  66 66 65 72 22 29 0d 04  |,"editbuffer")..|
00000bf0  10 25 f4 20 65 64 69 74  62 75 66 66 65 72 77 69  |.%. editbufferwi|
00000c00  64 74 68 25 3d 28 73 70  74 72 25 21 31 36 2b 31  |dth%=(sptr%!16+1|
00000c10  29 2a 34 0d 04 1a 04 0d  04 24 1f 73 70 72 69 74  |)*4......$.sprit|
00000c20  65 61 72 65 61 73 69 7a  65 25 3d 93 2d e0 2d 31  |eareasize%=.-.-1|
00000c30  36 2a 31 30 32 34 0d 04  2e 1f de 73 70 72 69 74  |6*1024.....sprit|
00000c40  65 61 72 65 61 25 73 70  72 69 74 65 61 72 65 61  |earea%spritearea|
00000c50  73 69 7a 65 25 0d 04 38  31 21 73 70 72 69 74 65  |size%..81!sprite|
00000c60  61 72 65 61 25 3d 73 70  72 69 74 65 61 72 65 61  |area%=spritearea|
00000c70  73 69 7a 65 25 3a 73 70  72 69 74 65 61 72 65 61  |size%:spritearea|
00000c80  25 21 38 3d 31 36 0d 04  42 24 c8 99 22 4f 53 5f  |%!8=16..B$.."OS_|
00000c90  53 70 72 69 74 65 4f 70  22 2c 26 31 30 39 2c 73  |SpriteOp",&109,s|
00000ca0  70 72 69 74 65 61 72 65  61 25 0d 04 4c 28 f2 6c  |pritearea%..L(.l|
00000cb0  6f 61 64 73 70 72 69 74  65 73 28 22 3c 46 6f 72  |oadsprites("<For|
00000cc0  6d 45 64 24 44 69 72 3e  2e 44 65 66 61 75 6c 74  |mEd$Dir>.Default|
00000cd0  22 29 0d 04 56 16 73 70  72 69 74 65 66 24 3d 22  |")..V.spritef$="|
00000ce0  53 70 72 69 74 65 73 22  0d 04 60 2e 75 6e 64 6f  |Sprites"..`.undo|
00000cf0  6e 61 6d 65 24 3d 22 22  3a 75 6e 64 6f 73 63 72  |name$="":undoscr|
00000d00  65 65 6e 25 3d 2d 31 3a  65 64 69 74 62 75 66 66  |een%=-1:editbuff|
00000d10  65 72 25 3d 2d 32 0d 04  6a 04 0d 04 74 17 f4 20  |er%=-2..j...t.. |
00000d20  2d 2d 20 43 72 65 61 74  65 20 77 69 6e 64 6f 77  |-- Create window|
00000d30  73 0d 04 7e 04 0d 04 88  13 f2 64 65 66 61 75 6c  |s..~......defaul|
00000d40  74 77 69 6e 64 6f 77 73  0d 04 92 04 0d 04 9c 3f  |twindows.......?|
00000d50  e7 76 65 72 73 69 6f 6e  25 3e 3d 31 33 34 8c de  |.version%>=134..|
00000d60  70 61 6c 74 61 62 6c 65  25 37 39 3a c8 99 22 57  |paltable%79:.."W|
00000d70  69 6d 70 5f 52 65 61 64  50 61 6c 65 74 74 65 22  |imp_ReadPalette"|
00000d80  2c 2c 70 61 6c 74 61 62  6c 65 25 0d 04 a6 10 70  |,,paltable%....p|
00000d90  61 6c 63 6f 6c 6f 75 72  25 3d 37 0d 04 b0 10 73  |alcolour%=7....s|
00000da0  70 72 63 6f 6c 6f 75 72  25 3d 37 0d 04 ba 2e 70  |prcolour%=7....p|
00000db0  61 69 6e 74 6d 6f 64 65  25 3d 31 36 3a f2 73 65  |aintmode%=16:.se|
00000dc0  6c 65 63 74 28 70 61 6c  65 74 74 65 25 2c 70 61  |lect(palette%,pa|
00000dd0  69 6e 74 6d 6f 64 65 25  29 0d 04 c4 27 67 72 69  |intmode%)...'gri|
00000de0  64 25 3d a3 3a e7 67 72  69 64 25 8c f2 73 65 6c  |d%=.:.grid%..sel|
00000df0  65 63 74 28 70 61 6c 65  74 74 65 25 2c 33 31 29  |ect(palette%,31)|
00000e00  0d 04 ce 04 0d 04 d8 15  f4 20 2d 2d 20 43 72 65  |......... -- Cre|
00000e10  61 74 65 20 4d 65 6e 75  73 0d 04 e2 04 0d 04 ec  |ate Menus.......|
00000e20  16 6d 5f 70 61 6c 65 74  74 65 25 3d a4 63 72 6d  |.m_palette%=.crm|
00000e30  65 6e 75 0d 04 f6 36 dc  20 22 23 43 6f 6c 6f 75  |enu...6. "#Colou|
00000e40  72 73 2c 30 2c 31 2c 32  2c 33 2c 34 2c 35 2c 36  |rs,0,1,2,3,4,5,6|
00000e50  2c 37 2c 38 2c 39 2c 31  30 2c 31 31 2c 31 32 2c  |,7,8,9,10,11,12,|
00000e60  31 33 2c 31 34 2c 31 35  22 0d 05 00 12 69 5f 65  |13,14,15"....i_e|
00000e70  73 67 25 3d a4 63 72 6d  65 6e 75 0d 05 0a 32 dc  |sg%=.crmenu...2.|
00000e80  20 22 23 45 53 47 2c 30  2c 31 2c 32 2c 33 2c 34  | "#ESG,0,1,2,3,4|
00000e90  2c 35 2c 36 2c 37 2c 38  2c 39 2c 31 30 2c 31 31  |,5,6,7,8,9,10,11|
00000ea0  2c 31 32 2c 31 33 2c 31  34 2c 31 35 22 0d 05 14  |,12,13,14,15"...|
00000eb0  15 69 5f 62 75 74 74 6f  6e 25 3d a4 63 72 6d 65  |.i_button%=.crme|
00000ec0  6e 75 0d 05 1e 4b dc 20  22 23 42 75 74 74 6f 6e  |nu...K. "#Button|
00000ed0  20 74 79 70 65 2c 4e 65  76 65 72 2c 41 6c 77 61  | type,Never,Alwa|
00000ee0  79 73 2c 41 75 74 6f 2d  72 65 70 65 61 74 2c 43  |ys,Auto-repeat,C|
00000ef0  6c 69 63 6b 2c 52 65 6c  65 61 73 65 2c 44 6f 75  |lick,Release,Dou|
00000f00  62 6c 65 20 63 6c 69 63  6b 2c 2b 2b 22 0d 05 28  |ble click,++"..(|
00000f10  4a dc 20 22 43 6c 69 63  6b 2f 44 72 61 67 2c 52  |J. "Click/Drag,R|
00000f20  65 6c 65 61 73 65 2f 44  72 61 67 2c 44 6f 75 62  |elease/Drag,Doub|
00000f30  6c 65 2f 44 72 61 67 2c  4d 65 6e 75 20 69 63 6f  |le/Drag,Menu ico|
00000f40  6e 2c 44 6f 75 62 6c 65  2f 43 6c 69 63 6b 2f 44  |n,Double/Click/D|
00000f50  72 61 67 2c 2b 2b 22 0d  05 32 2e dc 20 22 52 61  |rag,++"..2.. "Ra|
00000f60  64 69 6f 2c 31 32 2c 31  33 2c 57 72 69 74 65 2f  |dio,12,13,Write/|
00000f70  43 6c 69 63 6b 2f 44 72  61 67 2c 57 72 69 74 65  |Click/Drag,Write|
00000f80  61 62 6c 65 22 0d 05 3c  14 6d 5f 66 73 69 7a 65  |able"..<.m_fsize|
00000f90  25 3d a4 63 72 6d 65 6e  75 0d 05 46 45 dc 20 22  |%=.crmenu..FE. "|
00000fa0  23 50 6f 69 6e 74 20 73  69 7a 65 2c 31 30 20 70  |#Point size,10 p|
00000fb0  6f 69 6e 74 2c 31 32 20  70 6f 69 6e 74 2c 31 34  |oint,12 point,14|
00000fc0  20 70 6f 69 6e 74 2c 32  30 20 70 6f 69 6e 74 2c  | point,20 point,|
00000fd0  24 6d 62 5f 66 73 69 7a  65 25 28 36 29 22 0d 05  |$mb_fsize%(6)"..|
00000fe0  50 13 69 5f 66 6f 6e 74  25 3d a4 63 72 6d 65 6e  |P.i_font%=.crmen|
00000ff0  75 0d 05 5a 15 dc 20 22  23 54 65 78 74 20 73 74  |u..Z.. "#Text st|
00001000  79 6c 65 2c 26 22 0d 05  64 13 69 5f 74 65 78 74  |yle,&"..d.i_text|
00001010  25 3d a4 63 72 6d 65 6e  75 0d 05 6e 20 dc 20 22  |%=.crmenu..n . "|
00001020  23 49 63 6f 6e 20 74 65  78 74 2c 24 69 62 5f 74  |#Icon text,$ib_t|
00001030  65 78 74 25 28 38 30 29  22 0d 05 78 15 69 5f 73  |ext%(80)"..x.i_s|
00001040  70 72 69 74 65 25 3d a4  63 72 6d 65 6e 75 0d 05  |prite%=.crmenu..|
00001050  82 24 dc 20 22 23 53 70  72 69 74 65 20 6e 61 6d  |.$. "#Sprite nam|
00001060  65 2c 24 69 62 5f 73 70  72 69 74 65 25 28 31 32  |e,$ib_sprite%(12|
00001070  29 22 0d 05 8c 18 69 5f  76 61 6c 69 64 61 74 69  |)"....i_validati|
00001080  6f 6e 3d a4 63 72 6d 65  6e 75 0d 05 96 28 dc 20  |on=.crmenu...(. |
00001090  22 23 56 61 6c 69 64 61  74 69 6f 6e 2c 24 69 62  |"#Validation,$ib|
000010a0  5f 76 61 6c 69 64 61 74  69 6f 6e 25 28 32 35 35  |_validation%(255|
000010b0  29 22 0d 05 a0 19 69 5f  62 75 66 66 65 72 73 69  |)"....i_buffersi|
000010c0  7a 65 25 3d a4 63 72 6d  65 6e 75 0d 05 aa 37 dc  |ze%=.crmenu...7.|
000010d0  20 22 23 4d 61 78 20 73  69 7a 65 2c 24 69 62 5f  | "#Max size,$ib_|
000010e0  62 75 66 66 65 72 73 69  7a 65 25 28 36 29 2c 56  |buffersize%(6),V|
000010f0  61 6c 69 64 3e 69 5f 76  61 6c 69 64 61 74 69 6f  |alid>i_validatio|
00001100  6e 22 0d 05 b4 14 69 5f  66 6c 61 67 73 25 3d a4  |n"....i_flags%=.|
00001110  63 72 6d 65 6e 75 0d 05  be 45 dc 20 22 23 49 63  |crmenu...E. "#Ic|
00001120  6f 6e 20 66 6c 61 67 73  2c 54 65 78 74 3e 69 5f  |on flags,Text>i_|
00001130  74 65 78 74 25 2c 53 70  72 69 74 65 3e 69 5f 73  |text%,Sprite>i_s|
00001140  70 72 69 74 65 25 2c 42  6f 72 64 65 72 2c 48 20  |prite%,Border,H |
00001150  63 65 6e 74 72 65 64 2c  2b 2b 22 0d 05 c8 3b dc  |centred,++"...;.|
00001160  20 22 56 20 63 65 6e 74  72 65 64 2c 46 69 6c 6c  | "V centred,Fill|
00001170  65 64 2c 41 6e 74 69 2d  61 6c 69 61 73 65 64 3e  |ed,Anti-aliased>|
00001180  69 5f 66 6f 6e 74 25 2c  4e 65 65 64 73 20 68 65  |i_font%,Needs he|
00001190  6c 70 2c 2b 2b 22 0d 05  d2 46 dc 20 22 49 6e 64  |lp,++"...F. "Ind|
000011a0  69 72 65 63 74 65 64 3e  69 5f 62 75 66 66 65 72  |irected>i_buffer|
000011b0  73 69 7a 65 25 2c 52 20  6a 75 73 74 69 66 69 65  |size%,R justifie|
000011c0  64 2c 41 6c 6c 6f 77 20  61 64 6a 75 73 74 2c 48  |d,Allow adjust,H|
000011d0  61 6c 66 20 73 69 7a 65  2c 2b 2b 22 0d 05 dc 2b  |alf size,++"...+|
000011e0  dc 20 22 42 75 74 74 6f  6e 20 74 79 70 65 3e 69  |. "Button type>i|
000011f0  5f 62 75 74 74 6f 6e 25  2c 45 53 47 3e 69 5f 65  |_button%,ESG>i_e|
00001200  73 67 25 2c 2b 2b 22 0d  05 e6 31 dc 20 22 46 67  |sg%,++"...1. "Fg|
00001210  20 63 6f 6c 6f 75 72 3e  6d 5f 70 61 6c 65 74 74  | colour>m_palett|
00001220  65 25 2c 42 67 20 63 6f  6c 6f 75 72 3e 6d 5f 70  |e%,Bg colour>m_p|
00001230  61 6c 65 74 74 65 25 22  0d 05 f0 13 74 5f 74 65  |alette%"....t_te|
00001240  78 74 25 3d a4 63 72 6d  65 6e 75 0d 05 fa 21 dc  |xt%=.crmenu...!.|
00001250  20 22 23 54 69 74 6c 65  20 74 65 78 74 2c 24 74  | "#Title text,$t|
00001260  62 5f 74 65 78 74 25 28  34 30 29 22 0d 06 04 15  |b_text%(40)"....|
00001270  74 5f 73 70 72 69 74 65  25 3d a4 63 72 6d 65 6e  |t_sprite%=.crmen|
00001280  75 0d 06 0e 24 dc 20 22  23 53 70 72 69 74 65 20  |u...$. "#Sprite |
00001290  6e 61 6d 65 2c 24 74 62  5f 73 70 72 69 74 65 25  |name,$tb_sprite%|
000012a0  28 31 32 29 22 0d 06 18  19 74 5f 62 75 66 66 65  |(12)"....t_buffe|
000012b0  72 73 69 7a 65 25 3d a4  63 72 6d 65 6e 75 0d 06  |rsize%=.crmenu..|
000012c0  22 24 dc 20 22 23 4d 61  78 20 73 69 7a 65 2c 24  |"$. "#Max size,$|
000012d0  74 62 5f 62 75 66 66 65  72 73 69 7a 65 25 28 36  |tb_buffersize%(6|
000012e0  29 22 0d 06 2c 14 74 5f  66 6c 61 67 73 25 3d a4  |)"..,.t_flags%=.|
000012f0  63 72 6d 65 6e 75 0d 06  36 46 dc 20 22 23 54 69  |crmenu..6F. "#Ti|
00001300  74 6c 65 20 66 6c 61 67  73 2c 54 65 78 74 3e 74  |tle flags,Text>t|
00001310  5f 74 65 78 74 25 2c 53  70 72 69 74 65 3e 74 5f  |_text%,Sprite>t_|
00001320  73 70 72 69 74 65 25 2c  42 6f 72 64 65 72 2c 48  |sprite%,Border,H|
00001330  20 63 65 6e 74 72 65 64  2c 2b 2b 22 0d 06 40 49  | centred,++"..@I|
00001340  dc 20 22 56 20 63 65 6e  74 72 65 64 2c 46 69 6c  |. "V centred,Fil|
00001350  6c 65 64 2c 41 6e 74 69  2d 61 6c 69 61 73 65 64  |led,Anti-aliased|
00001360  3e 69 5f 66 6f 6e 74 25  2c 49 6e 64 69 72 65 63  |>i_font%,Indirec|
00001370  74 65 64 3e 74 5f 62 75  66 66 65 72 73 69 7a 65  |ted>t_buffersize|
00001380  25 2c 2b 2b 22 0d 06 4a  13 dc 20 22 52 20 6a 75  |%,++"..J.. "R ju|
00001390  73 74 69 66 69 65 64 22  0d 06 54 15 77 5f 73 63  |stified"..T.w_sc|
000013a0  72 6f 6c 6c 25 3d a4 63  72 6d 65 6e 75 0d 06 5e  |roll%=.crmenu..^|
000013b0  1d dc 20 22 41 75 74 6f  2d 72 65 70 65 61 74 2c  |.. "Auto-repeat,|
000013c0  44 65 62 6f 75 6e 63 65  64 22 0d 06 68 14 77 5f  |Debounced"..h.w_|
000013d0  66 6c 61 67 73 25 3d a4  63 72 6d 65 6e 75 0d 06  |flags%=.crmenu..|
000013e0  72 4e dc 20 22 23 57 20  66 6c 61 67 73 2c 54 69  |rN. "#W flags,Ti|
000013f0  74 6c 65 3e 74 5f 66 6c  61 67 73 25 2c 4d 6f 76  |tle>t_flags%,Mov|
00001400  65 61 62 6c 65 2c 56 20  73 63 72 6f 6c 6c 2c 48  |eable,V scroll,H|
00001410  20 73 63 72 6f 6c 6c 2c  41 75 74 6f 2d 72 65 64  | scroll,Auto-red|
00001420  72 61 77 2c 50 61 6e 65  2c 2b 2b 22 0d 06 7c 43  |raw,Pane,++"..|C|
00001430  dc 20 22 4e 6f 20 62 6f  75 6e 64 73 2c 4e 6f 20  |. "No bounds,No |
00001440  71 75 69 74 20 62 6f 78  2c 55 73 65 72 20 73 63  |quit box,User sc|
00001450  72 6f 6c 6c 3e 77 5f 73  63 72 6f 6c 6c 25 2c 52  |roll>w_scroll%,R|
00001460  65 61 6c 20 63 6f 6c 6f  75 72 73 2c 2b 2b 22 0d  |eal colours,++".|
00001470  06 86 3e dc 20 22 42 61  63 6b 2c 4b 65 79 73 2c  |..>. "Back,Keys,|
00001480  57 6f 72 6b 20 61 72 65  61 23 3e 69 5f 62 75 74  |Work area#>i_but|
00001490  74 6f 6e 25 2c 4e 65 77  20 46 6f 72 6d 61 74 2c  |ton%,New Format,|
000014a0  42 61 63 6b 20 69 63 6f  6e 2c 2b 2b 22 0d 06 90  |Back icon,++"...|
000014b0  4d dc 20 22 51 75 69 74  20 69 63 6f 6e 2c 54 69  |M. "Quit icon,Ti|
000014c0  74 6c 65 20 69 63 6f 6e  3e 74 5f 66 6c 61 67 73  |tle icon>t_flags|
000014d0  25 2c 54 6f 67 67 6c 65  20 69 63 6f 6e 2c 56 20  |%,Toggle icon,V |
000014e0  73 63 72 6f 6c 6c 2c 53  69 7a 65 20 69 63 6f 6e  |scroll,Size icon|
000014f0  2c 48 20 73 63 72 6f 6c  6c 22 0d 06 9a 16 77 5f  |,H scroll"....w_|
00001500  63 6f 6c 6f 75 72 73 25  3d a4 63 72 6d 65 6e 75  |colours%=.crmenu|
00001510  0d 06 a4 9c dc 20 22 54  69 74 6c 65 20 66 67 3f  |..... "Title fg?|
00001520  6d 5f 70 61 6c 65 74 74  65 25 2c 54 69 74 6c 65  |m_palette%,Title|
00001530  20 62 67 3f 6d 5f 70 61  6c 65 74 74 65 25 2c 57  | bg?m_palette%,W|
00001540  6f 72 6b 20 66 67 3f 6d  5f 70 61 6c 65 74 74 65  |ork fg?m_palette|
00001550  25 2c 57 6f 72 6b 20 62  67 3f 6d 5f 70 61 6c 65  |%,Work bg?m_pale|
00001560  74 74 65 25 2c 53 63 72  6f 6c 6c 20 6f 75 74 65  |tte%,Scroll oute|
00001570  72 3f 6d 5f 70 61 6c 65  74 74 65 25 2c 53 63 72  |r?m_palette%,Scr|
00001580  6f 6c 6c 20 69 6e 6e 65  72 3f 6d 5f 70 61 6c 65  |oll inner?m_pale|
00001590  74 74 65 25 2c 49 6e 70  75 74 20 66 6f 63 75 73  |tte%,Input focus|
000015a0  3f 6d 5f 70 61 6c 65 74  74 65 25 22 0d 06 ae 14  |?m_palette%"....|
000015b0  77 5f 69 64 65 6e 74 25  3d a4 63 72 6d 65 6e 75  |w_ident%=.crmenu|
000015c0  0d 06 b8 25 dc 20 22 23  57 69 6e 64 6f 77 20 6e  |...%. "#Window n|
000015d0  61 6d 65 3a 2c 24 6d 62  5f 77 69 64 65 6e 74 25  |ame:,$mb_wident%|
000015e0  28 31 32 29 22 0d 06 c2  17 69 5f 72 65 6e 75 6d  |(12)"....i_renum|
000015f0  62 65 72 25 3d a4 63 72  6d 65 6e 75 0d 06 cc 20  |ber%=.crmenu... |
00001600  dc 20 22 23 49 63 6f 6e  20 23 2c 24 6d 62 5f 72  |. "#Icon #,$mb_r|
00001610  65 6e 75 6d 62 65 72 25  28 35 29 22 0d 06 d6 13  |enumber%(5)"....|
00001620  69 5f 63 6f 70 79 25 3d  a4 63 72 6d 65 6e 75 0d  |i_copy%=.crmenu.|
00001630  06 e0 20 dc 20 22 23 43  6f 70 79 2c 6c 65 66 74  |.. . "#Copy,left|
00001640  2c 72 69 67 68 74 2c 75  70 2c 64 6f 77 6e 22 0d  |,right,up,down".|
00001650  06 ea 13 69 5f 6d 6f 76  65 25 3d a4 63 72 6d 65  |...i_move%=.crme|
00001660  6e 75 0d 06 f4 20 dc 20  22 23 4d 6f 76 65 2c 6c  |nu... . "#Move,l|
00001670  65 66 74 2c 72 69 67 68  74 2c 75 70 2c 64 6f 77  |eft,right,up,dow|
00001680  6e 22 0d 06 fe 16 77 5f  67 65 6e 65 72 61 6c 25  |n"....w_general%|
00001690  3d a4 63 72 6d 65 6e 75  0d 07 08 37 dc 20 22 23  |=.crmenu...7. "#|
000016a0  57 69 6e 64 6f 77 2c 43  72 65 61 74 65 20 69 63  |Window,Create ic|
000016b0  6f 6e 2c 41 6d 65 6e 64  20 69 63 6f 6e 20 6e 6e  |on,Amend icon nn|
000016c0  6e 6e 3e 69 5f 66 6c 61  67 73 25 2c 2b 2b 22 0d  |nn>i_flags%,++".|
000016d0  07 12 4a dc 20 22 52 65  6e 75 6d 62 65 72 20 20  |..J. "Renumber  |
000016e0  20 6e 6e 6e 6e 3e 69 5f  72 65 6e 75 6d 62 65 72  | nnnn>i_renumber|
000016f0  25 2c 43 6f 70 79 20 69  63 6f 6e 3e 69 5f 63 6f  |%,Copy icon>i_co|
00001700  70 79 25 2c 4d 6f 76 65  20 69 63 6f 6e 3e 69 5f  |py%,Move icon>i_|
00001710  6d 6f 76 65 25 2c 2b 2b  22 0d 07 1c 17 dc 20 22  |move%,++"..... "|
00001720  44 65 6c 65 74 65 20 69  63 6f 6e 23 2c 2b 2b 22  |Delete icon#,++"|
00001730  0d 07 26 49 dc 20 22 57  69 6e 64 6f 77 20 66 6c  |..&I. "Window fl|
00001740  61 67 73 3e 77 5f 66 6c  61 67 73 25 2c 43 6f 6c  |ags>w_flags%,Col|
00001750  6f 75 72 73 3e 77 5f 63  6f 6c 6f 75 72 73 25 2c  |ours>w_colours%,|
00001760  57 6f 72 6b 20 61 72 65  61 3e 6d 5f 77 6f 72 6b  |Work area>m_work|
00001770  61 72 65 61 25 2c 2b 2b  22 0d 07 30 29 dc 20 22  |area%,++"..0). "|
00001780  49 64 65 6e 74 69 66 69  65 72 3e 77 5f 69 64 65  |Identifier>w_ide|
00001790  6e 74 25 2c 44 65 6c 65  74 65 20 77 69 6e 64 6f  |nt%,Delete windo|
000017a0  77 22 0d 07 3a 18 6d 5f  74 65 6d 70 6c 61 74 65  |w"..:.m_template|
000017b0  73 25 3d a4 63 72 6d 65  6e 75 0d 07 44 26 dc 20  |s%=.crmenu..D&. |
000017c0  22 23 46 69 6c 65 6e 61  6d 65 3a 2c 24 6d 62 5f  |"#Filename:,$mb_|
000017d0  74 65 6d 70 6c 61 74 65  73 25 28 32 35 36 29 22  |templates%(256)"|
000017e0  0d 07 4e 15 6d 61 69 6e  6d 65 6e 75 25 3d a4 63  |..N.mainmenu%=.c|
000017f0  72 6d 65 6e 75 0d 07 58  36 dc 20 22 23 46 6f 72  |rmenu..X6. "#For|
00001800  6d 45 64 2c 49 6e 66 6f  3e 6d 5f 69 6e 66 6f 25  |mEd,Info>m_info%|
00001810  2c 43 72 65 61 74 65 20  57 69 6e 64 6f 77 3e 77  |,Create Window>w|
00001820  5f 69 64 65 6e 74 25 2c  2b 2b 22 0d 07 62 44 dc  |_ident%,++"..bD.|
00001830  20 22 4c 6f 61 64 20 74  65 6d 70 6c 61 74 65 73  | "Load templates|
00001840  3e 6d 5f 74 65 6d 70 6c  61 74 65 73 25 2c 53 61  |>m_templates%,Sa|
00001850  76 65 20 74 65 6d 70 6c  61 74 65 73 23 3e 6d 5f  |ve templates#>m_|
00001860  73 61 76 65 74 65 6d 70  25 2c 51 75 69 74 22 0d  |savetemp%,Quit".|
00001870  07 6c 15 6d 5f 72 6f 77  63 6f 6c 25 3d a4 63 72  |.l.m_rowcol%=.cr|
00001880  6d 65 6e 75 0d 07 76 12  dc 20 22 52 6f 77 2c 43  |menu..v.. "Row,C|
00001890  6f 6c 75 6d 6e 22 0d 07  80 15 6d 5f 73 70 72 69  |olumn"....m_spri|
000018a0  74 65 25 3d a4 63 72 6d  65 6e 75 0d 07 8a 4d dc  |te%=.crmenu...M.|
000018b0  20 22 23 53 70 72 69 74  65 2c 55 6e 64 6f 2c 43  | "#Sprite,Undo,C|
000018c0  6f 6c 6f 75 72 3e 6d 5f  70 61 6c 65 74 74 65 25  |olour>m_palette%|
000018d0  2c 54 72 61 6e 73 70 61  72 65 6e 74 2c 43 72 65  |,Transparent,Cre|
000018e0  61 74 65 20 4d 61 73 6b  2c 44 65 6c 65 74 65 20  |ate Mask,Delete |
000018f0  4d 61 73 6b 2c 2b 2b 22  0d 07 94 4e dc 20 22 45  |Mask,++"...N. "E|
00001900  78 74 65 6e 64 3e 6d 5f  72 6f 77 63 6f 6c 25 2c  |xtend>m_rowcol%,|
00001910  52 65 64 75 63 65 3e 6d  5f 72 6f 77 63 6f 6c 25  |Reduce>m_rowcol%|
00001920  2c 49 6e 73 65 72 74 3e  6d 5f 72 6f 77 63 6f 6c  |,Insert>m_rowcol|
00001930  25 2c 44 65 6c 65 74 65  3e 6d 5f 72 6f 77 63 6f  |%,Delete>m_rowco|
00001940  6c 25 2c 2b 2b 22 0d 07  9e 28 dc 20 22 46 6c 69  |l%,++"...(. "Fli|
00001950  70 20 58 2c 46 6c 69 70  20 59 2c 42 6c 6f 62 20  |p X,Flip Y,Blob |
00001960  73 69 7a 65 3e 6d 5f 73  63 61 6c 65 25 22 0d 07  |size>m_scale%"..|
00001970  a8 17 6d 5f 63 72 73 70  72 69 74 65 25 3d a4 63  |..m_crsprite%=.c|
00001980  72 6d 65 6e 75 0d 07 b2  23 dc 20 22 23 4e 65 77  |rmenu...#. "#New|
00001990  20 6e 61 6d 65 2c 24 6d  62 5f 63 72 73 70 72 69  | name,$mb_crspri|
000019a0  74 65 25 28 31 32 29 22  0d 07 bc 17 6d 5f 72 6e  |te%(12)"....m_rn|
000019b0  73 70 72 69 74 65 25 3d  a4 63 72 6d 65 6e 75 0d  |sprite%=.crmenu.|
000019c0  07 c6 23 dc 20 22 23 4e  65 77 20 6e 61 6d 65 2c  |..#. "#New name,|
000019d0  24 6d 62 5f 72 6e 73 70  72 69 74 65 25 28 31 32  |$mb_rnsprite%(12|
000019e0  29 22 0d 07 d0 16 6d 5f  73 70 72 69 74 65 66 25  |)"....m_spritef%|
000019f0  3d a4 63 72 6d 65 6e 75  0d 07 da 23 dc 20 22 23  |=.crmenu...#. "#|
00001a00  46 69 6c 65 6e 61 6d 65  2c 24 6d 62 5f 73 70 72  |Filename,$mb_spr|
00001a10  69 74 65 66 25 28 32 35  36 29 22 0d 07 e4 15 6d  |itef%(256)"....m|
00001a20  5f 61 70 70 65 6e 64 25  3d a4 63 72 6d 65 6e 75  |_append%=.crmenu|
00001a30  0d 07 ee 1f dc 20 22 48  6f 72 69 7a 6f 6e 74 61  |..... "Horizonta|
00001a40  6c 6c 79 2c 56 65 72 74  69 63 61 6c 6c 79 22 0d  |lly,Vertically".|
00001a50  07 f8 19 6d 5f 73 70 72  69 74 65 6c 69 73 74 25  |...m_spritelist%|
00001a60  3d a4 63 72 6d 65 6e 75  0d 08 02 3e dc 20 22 23  |=.crmenu...>. "#|
00001a70  53 70 72 69 74 65 73 2c  43 72 65 61 74 65 3e 6d  |Sprites,Create>m|
00001a80  5f 63 72 73 70 72 69 74  65 25 2c 41 70 70 65 6e  |_crsprite%,Appen|
00001a90  64 3e 6d 5f 61 70 70 65  6e 64 25 2c 44 65 6c 65  |d>m_append%,Dele|
00001aa0  74 65 2c 2b 2b 22 0d 08  0c 3f dc 20 22 43 6f 70  |te,++"...?. "Cop|
00001ab0  79 3e 6d 5f 72 6e 73 70  72 69 74 65 25 2c 52 65  |y>m_rnsprite%,Re|
00001ac0  6e 61 6d 65 23 3e 6d 5f  72 6e 73 70 72 69 74 65  |name#>m_rnsprite|
00001ad0  25 2c 4c 6f 61 64 3e 6d  5f 73 70 72 69 74 65 66  |%,Load>m_spritef|
00001ae0  25 2c 2b 2b 22 0d 08 16  28 dc 20 22 53 61 76 65  |%,++"...(. "Save|
00001af0  3e 6d 5f 73 61 76 65 73  70 72 25 2c 4d 65 72 67  |>m_savespr%,Merg|
00001b00  65 3e 6d 5f 73 70 72 69  74 65 66 25 22 0d 08 20  |e>m_spritef%".. |
00001b10  04 0d 08 2a 29 f4 20 69  63 5f 73 70 72 69 74 65  |...*). ic_sprite|
00001b20  25 20 20 3d 20 46 4e 69  63 6f 6e 62 61 72 28 69  |%  = FNiconbar(i|
00001b30  63 6f 6e 62 61 72 25 2c  30 29 0d 08 34 29 f4 20  |conbar%,0)..4). |
00001b40  69 63 5f 70 61 6c 65 74  74 65 25 20 3d 20 46 4e  |ic_palette% = FN|
00001b50  69 63 6f 6e 62 61 72 28  69 63 6f 6e 62 61 72 25  |iconbar(iconbar%|
00001b60  2c 31 29 0d 08 3e 23 69  63 5f 77 69 6e 64 6f 77  |,1)..>#ic_window|
00001b70  25 3d a4 69 63 6f 6e 62  61 72 28 69 63 6f 6e 62  |%=.iconbar(iconb|
00001b80  61 72 25 2c 30 29 0d 08  48 04 0d 08 52 42 f4 20  |ar%,0)..H...RB. |
00001b90  2d 2d 20 69 66 20 63 6f  6d 6d 61 6e 64 20 77 61  |-- if command wa|
00001ba0  73 20 27 2a 46 6f 72 6d  45 64 20 3c 66 69 6c 65  |s '*FormEd <file|
00001bb0  6e 61 6d 65 3e 27 2c 20  6c 6f 61 64 20 61 20 74  |name>', load a t|
00001bc0  65 6d 70 6c 61 74 65 20  66 69 6c 65 0d 08 5c 04  |emplate file..\.|
00001bd0  0d 08 66 21 49 25 3d a7  63 6f 6d 6d 61 6e 64 73  |..f!I%=.commands|
00001be0  74 72 69 6e 67 24 2c 22  20 2d 71 75 69 74 20 22  |tring$," -quit "|
00001bf0  29 0d 08 70 08 e7 49 25  8c 0d 08 7a 12 49 25 2b  |)..p..I%...z.I%+|
00001c00  3d a9 22 20 2d 71 75 69  74 20 22 0d 08 84 27 c8  |=." -quit "...'.|
00001c10  95 c1 63 6f 6d 6d 61 6e  64 73 74 72 69 6e 67 24  |..commandstring$|
00001c20  2c 49 25 2c 31 29 3d 22  20 22 3a 49 25 2b 3d 31  |,I%,1)=" ":I%+=1|
00001c30  3a ce 0d 08 8e 05 f5 0d  08 98 24 49 25 3d a7 63  |:.........$I%=.c|
00001c40  6f 6d 6d 61 6e 64 73 74  72 69 6e 67 24 2b 22 20  |ommandstring$+" |
00001c50  22 2c 22 20 22 2c 49 25  2b 31 29 0d 08 a2 26 f5  |"," ",I%+1)...&.|
00001c60  49 25 2b 3d 31 3a fd c1  63 6f 6d 6d 61 6e 64 73  |I%+=1:..commands|
00001c70  74 72 69 6e 67 24 2c 49  25 2c 31 29 3c 3e 22 20  |tring$,I%,1)<>" |
00001c80  22 0d 08 ac 1a 66 24 3d  c1 63 6f 6d 6d 61 6e 64  |"....f$=.command|
00001c90  73 74 72 69 6e 67 24 2c  49 25 29 0d 08 b6 1a 66  |string$,I%)....f|
00001ca0  24 3d c0 66 24 2c a7 66  24 2b 22 20 22 2c 22 20  |$=.f$,.f$+" "," |
00001cb0  22 29 2d 31 29 0d 08 c0  0c e7 66 24 3c 3e 22 22  |")-1).....f$<>""|
00001cc0  8c 0d 08 ca 14 c8 8e a4  66 69 6c 65 74 79 70 65  |........filetype|
00001cd0  28 66 24 29 ca 0d 08 d4  1c c9 26 46 45 43 3a f2  |(f$)......&FEC:.|
00001ce0  6c 6f 61 64 74 65 6d 70  6c 61 74 65 73 28 66 24  |loadtemplates(f$|
00001cf0  29 0d 08 de 27 c9 26 46  46 39 3a f2 6c 6f 61 64  |)...'.&FF9:.load|
00001d00  73 70 72 69 74 65 73 28  66 24 29 3a 20 f2 73 70  |sprites(f$): .sp|
00001d10  72 69 74 65 69 6e 66 6f  0d 08 e8 24 c9 2d 32 3a  |riteinfo...$.-2:|
00001d20  85 31 2c 22 46 69 6c 65  20 27 22 2b 66 24 2b 22  |.1,"File '"+f$+"|
00001d30  27 20 6e 6f 74 20 66 6f  75 6e 64 22 0d 08 f2 3d  |' not found"...=|
00001d40  7f 85 31 2c 22 46 69 6c  65 20 27 22 2b 66 24 2b  |..1,"File '"+f$+|
00001d50  22 27 20 69 73 20 6e 6f  74 20 61 20 73 70 72 69  |"' is not a spri|
00001d60  74 65 20 66 69 6c 65 20  6f 72 20 74 65 6d 70 6c  |te file or templ|
00001d70  61 74 65 20 66 69 6c 65  22 0d 08 fc 05 cb 0d 09  |ate file".......|
00001d80  06 05 cd 0d 09 10 0a fd  66 24 3d 22 22 0d 09 1a  |........f$=""...|
00001d90  05 cd 0d 09 24 04 0d 09  2e 33 f4 20 2d 2d 20 45  |....$....3. -- E|
00001da0  72 72 6f 72 20 68 61 6e  64 6c 65 72 20 2d 20 64  |rror handler - d|
00001db0  72 6f 70 73 20 74 68 72  6f 75 67 68 20 74 6f 20  |rops through to |
00001dc0  57 69 6d 70 5f 50 6f 6c  6c 0d 09 38 04 0d 09 42  |Wimp_Poll..8...B|
00001dd0  1c 73 61 76 65 72 65 66  25 3d 2d 31 3a 73 63 72  |.saveref%=-1:scr|
00001de0  61 70 72 65 66 25 3d 2d  31 0d 09 4c 19 64 72 61  |apref%=-1..L.dra|
00001df0  67 74 79 70 65 25 3d 30  3a 70 64 72 61 67 25 3d  |gtype%=0:pdrag%=|
00001e00  2d 31 0d 09 56 12 70 61  69 6e 74 5f 64 72 61 67  |-1..V.paint_drag|
00001e10  25 3d 2d 31 0d 09 60 19  69 6e 65 72 72 6f 72 25  |%=-1..`.inerror%|
00001e20  3d a3 3a 6f 6c 64 68 65  6c 70 25 3d 31 0d 09 6a  |=.:oldhelp%=1..j|
00001e30  17 ee 85 f2 65 72 72 6f  72 62 6f 78 28 9f 2c f6  |....errorbox(.,.|
00001e40  24 2c 9e 29 0d 09 74 04  0d 09 7e 1a f4 20 2d 2d  |$,.)..t...~.. --|
00001e50  20 4d 61 69 6e 20 50 6f  6c 6c 69 6e 67 20 6c 6f  | Main Polling lo|
00001e60  6f 70 0d 09 88 05 f5 0d  09 92 33 e7 70 64 72 61  |op........3.pdra|
00001e70  67 25 3d 2d 31 80 70 61  69 6e 74 5f 64 72 61 67  |g%=-1.paint_drag|
00001e80  25 3d 2d 31 8c 66 6c 61  67 73 25 3d 26 30 31 8b  |%=-1.flags%=&01.|
00001e90  66 6c 61 67 73 25 3d 26  30 30 0d 09 9c 23 c8 99  |flags%=&00...#..|
00001ea0  22 57 69 6d 70 5f 50 6f  6c 6c 22 2c 66 6c 61 67  |"Wimp_Poll",flag|
00001eb0  73 25 2c 71 25 b8 61 63  74 69 6f 6e 25 0d 09 a6  |s%,q%.action%...|
00001ec0  0e c8 8e 61 63 74 69 6f  6e 25 ca 0d 09 b0 17 c9  |...action%......|
00001ed0  30 3a e7 70 61 69 6e 74  5f 64 72 61 67 25 3e 3d  |0:.paint_drag%>=|
00001ee0  30 8c 0d 09 ba 1f c8 99  22 57 69 6d 70 5f 47 65  |0......."Wimp_Ge|
00001ef0  74 50 6f 69 6e 74 65 72  49 6e 66 6f 22 2c 2c 71  |tPointerInfo",,q|
00001f00  25 0d 09 c4 2f f2 70 61  69 6e 74 64 72 61 67 28  |%.../.paintdrag(|
00001f10  21 71 25 2c 71 25 21 34  2c 71 25 21 38 2c 71 25  |!q%,q%!4,q%!8,q%|
00001f20  21 31 32 2c 71 25 21 31  36 2c 71 25 21 32 30 29  |!12,q%!16,q%!20)|
00001f30  0d 09 ce 05 cd 0d 09 d8  13 c9 31 3a f2 72 65 64  |..........1:.red|
00001f40  72 61 77 28 21 71 25 29  0d 09 e2 39 c9 32 3a f2  |raw(!q%)...9.2:.|
00001f50  6f 70 65 6e 28 21 71 25  2c 71 25 21 34 2c 71 25  |open(!q%,q%!4,q%|
00001f60  21 38 2c 71 25 21 31 32  2c 71 25 21 31 36 2c 71  |!8,q%!12,q%!16,q|
00001f70  25 21 32 30 2c 71 25 21  32 34 2c 71 25 21 32 38  |%!20,q%!24,q%!28|
00001f80  29 0d 09 ec 12 c9 33 3a  f2 63 6c 6f 73 65 28 21  |).....3:.close(!|
00001f90  71 25 29 0d 09 f6 0d c9  34 3a c8 8e 21 71 25 ca  |q%).....4:..!q%.|
00001fa0  0d 0a 00 05 7f 0d 0a 0a  14 e7 70 61 69 6e 74 5f  |..........paint_|
00001fb0  64 72 61 67 25 3e 3d 30  8c 0d 0a 14 24 f2 67 65  |drag%>=0....$.ge|
00001fc0  74 77 28 73 70 72 69 74  65 77 25 28 70 61 69 6e  |tw(spritew%(pain|
00001fd0  74 5f 64 72 61 67 25 3e  3e 31 36 29 29 0d 0a 1e  |t_drag%>>16))...|
00001fe0  2e f2 64 72 61 67 6f 66  66 3a 70 61 69 6e 74 5f  |..dragoff:paint_|
00001ff0  64 72 61 67 25 3d 70 61  69 6e 74 5f 64 72 61 67  |drag%=paint_drag|
00002000  25 84 26 38 30 30 30 30  30 30 30 0d 0a 28 05 cd  |%.&80000000..(..|
00002010  0d 0a 32 05 cb 0d 0a 3c  17 c9 35 3a e7 70 61 69  |..2....<..5:.pai|
00002020  6e 74 5f 64 72 61 67 25  3c 2d 31 8c 0d 0a 46 28  |nt_drag%<-1...F(|
00002030  68 25 3d 73 70 72 69 74  65 77 25 28 28 70 61 69  |h%=spritew%((pai|
00002040  6e 74 5f 64 72 61 67 25  3e 3e 31 36 29 80 26 37  |nt_drag%>>16).&7|
00002050  46 46 46 29 0d 0a 50 0c  e7 21 71 25 3d 68 25 8c  |FFF)..P..!q%=h%.|
00002060  0d 0a 5a 25 70 61 69 6e  74 5f 64 72 61 67 25 3d  |..Z%paint_drag%=|
00002070  70 61 69 6e 74 5f 64 72  61 67 25 80 26 37 46 46  |paint_drag%.&7FF|
00002080  46 46 46 46 46 0d 0a 64  2b f2 67 65 74 77 28 68  |FFFFF..d+.getw(h|
00002090  25 29 3a f2 67 65 74 70  6f 69 6e 74 65 72 3a f2  |%):.getpointer:.|
000020a0  64 72 61 67 6f 6e 28 62  75 74 74 6f 6e 73 25 29  |dragon(buttons%)|
000020b0  0d 0a 6e 05 cd 0d 0a 78  05 cd 0d 0a 82 2e c9 36  |..n....x.......6|
000020c0  3a f2 6d 6f 75 73 65 28  21 71 25 2c 71 25 21 34  |:.mouse(!q%,q%!4|
000020d0  2c 71 25 21 38 2c 71 25  21 31 32 2c 71 25 21 31  |,q%!8,q%!12,q%!1|
000020e0  36 2c 71 25 21 32 30 29  0d 0a 8c 27 c9 37 3a f2  |6,q%!20)...'.7:.|
000020f0  64 65 63 6f 64 65 64 72  61 67 28 21 71 25 2c 71  |decodedrag(!q%,q|
00002100  25 21 34 2c 71 25 21 38  2c 71 25 21 31 32 29 0d  |%!4,q%!8,q%!12).|
00002110  0a 96 11 c9 38 3a 6b 65  79 25 3d 71 25 21 32 34  |....8:key%=q%!24|
00002120  0d 0a a0 0e e7 62 6f 64  67 65 69 74 25 8c 0d 0a  |.....bodgeit%...|
00002130  aa 1a e7 6b 65 79 25 3d  30 8c 6b 65 79 25 3d a6  |...key%=0.key%=.|
00002140  28 30 29 2b 26 31 30 30  0d 0a b4 33 e7 6b 65 79  |(0)+&100...3.key|
00002150  25 3e 3d 26 38 37 80 6b  65 79 25 3c 3d 26 38 42  |%>=&87.key%<=&8B|
00002160  8c 6b 65 79 25 2b 3d 26  31 30 34 2d 26 31 30 2a  |.key%+=&104-&10*|
00002170  a6 2d 31 2d 26 32 30 2a  a6 2d 32 0d 0a be 05 cd  |.-1-&20*.-2.....|
00002180  0d 0a c8 1f f2 70 72 6f  63 65 73 73 6b 65 79 28  |.....processkey(|
00002190  71 25 21 30 2c 71 25 21  34 2c 6b 65 79 25 29 0d  |q%!0,q%!4,key%).|
000021a0  0a d2 35 c9 39 3a 49 25  3d 30 3a f5 6d 65 6e 75  |..5.9:I%=0:.menu|
000021b0  6c 69 73 74 25 21 49 25  3d 71 25 21 49 25 3a 49  |list%!I%=q%!I%:I|
000021c0  25 3d 49 25 2b 34 3a fd  71 25 21 28 49 25 2d 34  |%=I%+4:.q%!(I%-4|
000021d0  29 3d 2d 31 0d 0a dc 26  f2 64 65 63 6f 64 65 6d  |)=-1...&.decodem|
000021e0  65 6e 75 28 6d 65 6e 75  68 61 6e 64 6c 65 25 2c  |enu(menuhandle%,|
000021f0  6d 65 6e 75 6c 69 73 74  25 29 0d 0a e6 23 f2 67  |menulist%)...#.g|
00002200  65 74 70 6f 69 6e 74 65  72 3a e7 62 75 74 74 6f  |etpointer:.butto|
00002210  6e 73 25 80 31 8c f2 72  65 6d 65 6e 75 0d 0a f0  |ns%.1..remenu...|
00002220  4c c9 31 30 3a f2 6f 70  65 6e 28 21 71 25 2c 71  |L.10:.open(!q%,q|
00002230  25 21 34 2c 71 25 21 38  2c 71 25 21 31 32 2c 71  |%!4,q%!8,q%!12,q|
00002240  25 21 31 36 2c 71 25 21  32 30 2b 71 25 21 33 32  |%!16,q%!20+q%!32|
00002250  2a 33 32 2c 71 25 21 32  34 2b 71 25 21 33 36 2a  |*32,q%!24+q%!36*|
00002260  33 32 2c 71 25 21 32 38  29 0d 0a fa 17 c9 31 37  |32,q%!28).....17|
00002270  2c 31 38 3a f2 72 65 63  65 69 76 65 28 71 25 29  |,18:.receive(q%)|
00002280  0d 0b 04 05 cb 0d 0b 0e  06 fd a3 0d 0b 18 04 0d  |................|
00002290  0b 22 11 dd f2 72 65 63  65 69 76 65 28 71 25 29  |."...receive(q%)|
000022a0  0d 0b 2c 22 e3 49 25 3d  30 b8 21 71 25 2d 31 88  |..,".I%=0.!q%-1.|
000022b0  34 3a 6f 6c 64 71 25 21  49 25 3d 71 25 21 49 25  |4:oldq%!I%=q%!I%|
000022c0  3a ed 0d 0b 36 0c c8 8e  71 25 21 31 36 ca 0d 0b  |:...6...q%!16...|
000022d0  40 10 c9 30 3a f2 66 69  6e 69 73 68 3a e0 0d 0b  |@..0:.finish:...|
000022e0  4a 0f c9 31 3a c8 8e 71  25 21 34 30 ca 0d 0b 54  |J..1:..q%!40...T|
000022f0  2b c9 26 46 46 39 2c 26  46 45 43 3a f4 20 64 6f  |+.&FF9,&FEC:. do|
00002300  20 74 68 65 20 73 63 72  61 70 20 66 69 6c 65 20  | the scrap file |
00002310  62 75 73 69 6e 65 73 73  0d 0b 5e 35 c8 99 22 58  |business..^5.."X|
00002320  4f 53 5f 52 65 61 64 56  61 72 56 61 6c 22 2c 22  |OS_ReadVarVal","|
00002330  57 69 6d 70 24 53 63 72  61 70 22 2c 2c 2d 31 2c  |Wimp$Scrap",,-1,|
00002340  30 2c 33 b8 2c 2c 65 78  69 73 74 73 25 0d 0b 68  |0,3.,,exists%..h|
00002350  2c e7 65 78 69 73 74 73  25 3d 30 8c 85 31 2c 22  |,.exists%=0..1,"|
00002360  3c 57 69 6d 70 24 53 63  72 61 70 3e 20 6e 6f 74  |<Wimp$Scrap> not|
00002370  20 64 65 66 69 6e 65 64  22 0d 0b 72 2b 71 25 21  | defined"..r+q%!|
00002380  33 36 3d 2d 31 3a f2 73  74 72 69 6e 67 30 28 71  |36=-1:.string0(q|
00002390  25 2b 34 34 2c 22 3c 57  69 6d 70 24 53 63 72 61  |%+44,"<Wimp$Scra|
000023a0  70 3e 22 29 0d 0b 7c 1f  21 71 25 3d 28 34 38 2b  |p>")..|.!q%=(48+|
000023b0  a9 22 3c 57 69 6d 70 24  53 63 72 61 70 3e 22 29  |."<Wimp$Scrap>")|
000023c0  80 ac 33 0d 0b 86 36 71  25 21 31 32 3d 71 25 21  |..3...6q%!12=q%!|
000023d0  38 3a 71 25 21 31 36 3d  32 3a c8 99 22 57 69 6d  |8:q%!16=2:.."Wim|
000023e0  70 5f 53 65 6e 64 4d 65  73 73 61 67 65 22 2c 31  |p_SendMessage",1|
000023f0  37 2c 71 25 2c 71 25 21  34 0d 0b 90 12 73 63 72  |7,q%,q%!4....scr|
00002400  61 70 72 65 66 25 3d 71  25 21 38 0d 0b 9a 05 cb  |apref%=q%!8.....|
00002410  0d 0b a4 40 c9 32 3a e7  71 25 21 31 32 3c 3e 73  |...@.2:.q%!12<>s|
00002420  61 76 65 72 65 66 25 8c  85 31 2c 22 55 6e 65 78  |averef%..1,"Unex|
00002430  70 65 63 74 65 64 20 44  61 74 61 53 61 76 65 20  |pected DataSave |
00002440  70 61 63 6b 65 74 20 72  65 63 65 69 76 65 64 22  |packet received"|
00002450  0d 0b ae 0c c8 8e 71 25  21 34 30 ca 0d 0b b8 33  |......q%!40....3|
00002460  c9 26 46 45 43 3a f2 73  61 76 65 74 65 6d 70 6c  |.&FEC:.savetempl|
00002470  61 74 65 73 28 a4 73 74  72 69 6e 67 30 28 71 25  |ates(.string0(q%|
00002480  2b 34 34 29 2c 71 25 21  33 36 3c 3e 2d 31 29 0d  |+44),q%!36<>-1).|
00002490  0b c2 31 c9 26 46 46 39  3a f2 73 61 76 65 73 70  |..1.&FF9:.savesp|
000024a0  72 69 74 65 73 28 a4 73  74 72 69 6e 67 30 28 71  |rites(.string0(q|
000024b0  25 2b 34 34 29 2c 71 25  21 33 36 3c 3e 2d 31 29  |%+44),q%!36<>-1)|
000024c0  0d 0b cc 30 7f 3a 85 31  2c 22 55 6e 65 78 70 65  |...0.:.1,"Unexpe|
000024d0  63 74 65 64 20 44 61 74  61 53 61 76 65 20 66 69  |cted DataSave fi|
000024e0  6c 65 74 79 70 65 20 72  65 63 65 69 76 65 64 22  |letype received"|
000024f0  0d 0b d6 05 cb 0d 0b e0  45 6f 6c 64 71 25 21 31  |........Eoldq%!1|
00002500  32 3d 6f 6c 64 71 25 21  38 3a 6f 6c 64 71 25 21  |2=oldq%!8:oldq%!|
00002510  31 36 3d 33 3a c8 99 22  57 69 6d 70 5f 53 65 6e  |16=3:.."Wimp_Sen|
00002520  64 4d 65 73 73 61 67 65  22 2c 31 37 2c 6f 6c 64  |dMessage",17,old|
00002530  71 25 2c 6f 6c 64 71 25  21 34 0d 0b ea 0f c9 33  |q%,oldq%!4.....3|
00002540  3a c8 8e 71 25 21 34 30  ca 0d 0b f4 29 c9 26 46  |:..q%!40....).&F|
00002550  45 43 3a f2 6c 6f 61 64  74 65 6d 70 6c 61 74 65  |EC:.loadtemplate|
00002560  73 28 a4 73 74 72 69 6e  67 30 28 71 25 2b 34 34  |s(.string0(q%+44|
00002570  29 29 0d 0b fe 14 c9 26  46 46 39 3a e7 71 25 21  |)).....&FF9:.q%!|
00002580  32 30 3d 2d 32 8c 0d 0c  08 2d f2 6c 6f 61 64 73  |20=-2....-.loads|
00002590  70 72 69 74 65 73 28 a4  73 74 72 69 6e 67 30 28  |prites(.string0(|
000025a0  71 25 2b 34 34 29 29 3a  f2 73 70 72 69 74 65 69  |q%+44)):.spritei|
000025b0  6e 66 6f 0d 0c 12 34 cc  f2 6d 65 72 67 65 73 70  |nfo...4..mergesp|
000025c0  72 69 74 65 73 28 a4 73  74 72 69 6e 67 30 28 71  |rites(.string0(q|
000025d0  25 2b 34 34 29 29 3a f4  20 50 52 4f 43 73 70 72  |%+44)):. PROCspr|
000025e0  69 74 65 69 6e 66 6f 0d  0c 1c 05 cd 0d 0c 26 07  |iteinfo.......&.|
000025f0  7f 3a e1 0d 0c 30 05 cb  0d 0c 3a 2c e7 6f 6c 64  |.:...0....:,.old|
00002600  71 25 21 31 32 3d 73 63  72 61 70 72 65 66 25 8c  |q%!12=scrapref%.|
00002610  2a 44 65 6c 65 74 65 20  3c 57 69 6d 70 24 53 63  |*Delete <Wimp$Sc|
00002620  72 61 70 3e 0d 0c 44 45  6f 6c 64 71 25 21 31 32  |rap>..DEoldq%!12|
00002630  3d 6f 6c 64 71 25 21 38  3a 6f 6c 64 71 25 21 31  |=oldq%!8:oldq%!1|
00002640  36 3d 34 3a c8 99 22 57  69 6d 70 5f 53 65 6e 64  |6=4:.."Wimp_Send|
00002650  4d 65 73 73 61 67 65 22  2c 31 37 2c 6f 6c 64 71  |Message",17,oldq|
00002660  25 2c 6f 6c 64 71 25 21  34 0d 0c 4e 0c c9 26 34  |%,oldq%!4..N..&4|
00002670  30 30 43 30 3a 0d 0c 58  24 e7 6d 65 6e 75 68 61  |00C0:..X$.menuha|
00002680  6e 64 6c 65 25 3d 77 5f  67 65 6e 65 72 61 6c 25  |ndle%=w_general%|
00002690  80 71 25 21 33 32 3d 37  8c 0d 0c 62 39 e3 49 25  |.q%!32=7...b9.I%|
000026a0  3d 6d 5f 70 61 6c 65 74  74 65 25 2b 32 38 b8 6d  |=m_palette%+28.m|
000026b0  5f 70 61 6c 65 74 74 65  25 2b 32 38 2b 32 34 2a  |_palette%+28+24*|
000026c0  31 35 88 32 34 3a 21 49  25 3d 21 49 25 80 ac 31  |15.24:!I%=!I%..1|
000026d0  3a ed 0d 0c 6c 3b 4a 25  3d 6d 5f 70 61 6c 65 74  |:...l;J%=m_palet|
000026e0  74 65 25 2b 32 38 2b 32  34 2a 28 28 77 5f 63 6f  |te%+28+24*((w_co|
000026f0  6c 6f 75 72 73 25 21 28  33 36 2b 32 34 2a 71 25  |lours%!(36+24*q%|
00002700  21 33 36 29 3e 3e 32 38  29 80 26 46 29 0d 0c 76  |!36)>>28).&F)..v|
00002710  0d 21 4a 25 3d 21 4a 25  84 31 0d 0c 80 05 cd 0d  |.!J%=!J%.1......|
00002720  0c 8a 2d c8 99 22 57 69  6d 70 5f 43 72 65 61 74  |..-.."Wimp_Creat|
00002730  65 53 75 62 4d 65 6e 75  22 2c 2c 71 25 21 32 30  |eSubMenu",,q%!20|
00002740  2c 71 25 21 32 34 2c 71  25 21 32 38 0d 0c 94 18  |,q%!24,q%!28....|
00002750  c9 26 34 30 30 43 31 3a  f2 67 65 74 6d 6f 64 65  |.&400C1:.getmode|
00002760  69 6e 66 6f 0d 0c 9e 05  cb 0d 0c a8 05 e1 0d 0c  |info............|
00002770  b2 04 0d 0c bc 17 dd f2  73 65 6e 64 73 61 76 65  |........sendsave|
00002780  28 66 74 25 2c 66 6e 25  29 0d 0c c6 0e ea 66 69  |(ft%,fn%).....fi|
00002790  6c 65 6e 61 6d 65 25 0d  0c d0 1b c8 99 22 57 69  |lename%......"Wi|
000027a0  6d 70 5f 43 72 65 61 74  65 4d 65 6e 75 22 2c 2c  |mp_CreateMenu",,|
000027b0  2d 31 0d 0c da 31 f5 66  69 6c 65 6e 61 6d 65 25  |-1...1.filename%|
000027c0  3d 66 6e 25 3a 66 6e 25  2b 3d a7 24 66 6e 25 2c  |=fn%:fn%+=.$fn%,|
000027d0  22 2e 22 29 3a fd 66 6e  25 3d 66 69 6c 65 6e 61  |"."):.fn%=filena|
000027e0  6d 65 25 0d 0c e4 37 f2  67 65 74 70 6f 69 6e 74  |me%...7.getpoint|
000027f0  65 72 3a f4 20 73 65 74  73 20 75 70 20 68 61 6e  |er:. sets up han|
00002800  64 6c 65 25 2c 69 63 6f  6e 25 2c 6d 6f 75 73 65  |dle%,icon%,mouse|
00002810  78 25 2c 6d 6f 75 73 65  79 25 0d 0c ee 1b 21 71  |x%,mousey%....!q|
00002820  25 3d 28 34 38 2b a9 24  66 69 6c 65 6e 61 6d 65  |%=(48+.$filename|
00002830  25 29 80 ac 33 0d 0c f8  13 71 25 21 31 32 3d 30  |%)..3....q%!12=0|
00002840  3a 71 25 21 31 36 3d 31  0d 0d 02 39 71 25 21 32  |:q%!16=1...9q%!2|
00002850  30 3d 68 61 6e 64 6c 65  25 3a 71 25 21 32 34 3d  |0=handle%:q%!24=|
00002860  69 63 6f 6e 25 3a 71 25  21 32 38 3d 6d 6f 75 73  |icon%:q%!28=mous|
00002870  65 78 25 3a 71 25 21 33  32 3d 6d 6f 75 73 65 79  |ex%:q%!32=mousey|
00002880  25 0d 0d 0c 24 71 25 21  33 36 3d 30 3a f4 20 66  |%...$q%!36=0:. f|
00002890  69 6c 65 20 73 69 7a 65  20 28 69 6e 61 63 63 75  |ile size (inaccu|
000028a0  72 61 74 65 29 0d 0d 16  19 71 25 21 34 30 3d 66  |rate)....q%!40=f|
000028b0  74 25 3a f4 20 66 69 6c  65 20 74 79 70 65 0d 0d  |t%:. file type..|
000028c0  20 1e f2 73 74 72 69 6e  67 30 28 71 25 2b 34 34  | ..string0(q%+44|
000028d0  2c 24 66 69 6c 65 6e 61  6d 65 25 29 0d 0d 2a 2c  |,$filename%)..*,|
000028e0  c8 99 22 57 69 6d 70 5f  53 65 6e 64 4d 65 73 73  |.."Wimp_SendMess|
000028f0  61 67 65 22 2c 31 37 2c  71 25 2c 68 61 6e 64 6c  |age",17,q%,handl|
00002900  65 25 2c 69 63 6f 6e 25  0d 0d 34 11 73 61 76 65  |e%,icon%..4.save|
00002910  72 65 66 25 3d 71 25 21  38 0d 0d 3e 05 e1 0d 0d  |ref%=q%!8..>....|
00002920  48 04 0d 0d 52 35 dd a4  73 74 72 69 6e 67 30 28  |H...R5..string0(|
00002930  61 25 29 ea 61 24 3a 61  24 3d 22 22 3a c8 95 3f  |a%).a$:a$="":..?|
00002940  61 25 3a 61 24 2b 3d bd  3f 61 25 3a 61 25 2b 3d  |a%:a$+=.?a%:a%+=|
00002950  31 3a ce 3a 3d 61 24 0d  0d 5c 25 dd f2 73 74 72  |1:.:=a$..\%..str|
00002960  69 6e 67 30 28 61 25 2c  61 24 29 24 61 25 3d 61  |ing0(a%,a$)$a%=a|
00002970  24 3a 61 25 3f a9 61 24  3d 30 3a e1 0d 0d 66 04  |$:a%?.a$=0:...f.|
00002980  0d 0d 70 11 dd f2 67 65  74 6d 6f 64 65 69 6e 66  |..p...getmodeinf|
00002990  6f 0d 0d 7a 0c 69 6e 76  25 21 30 3d 34 0d 0d 84  |o..z.inv%!0=4...|
000029a0  0c 69 6e 76 25 21 34 3d  35 0d 0d 8e 0c 69 6e 76  |.inv%!4=5....inv|
000029b0  25 21 38 3d 36 0d 0d 98  0d 69 6e 76 25 21 31 32  |%!8=6....inv%!12|
000029c0  3d 37 0d 0d a2 0e 69 6e  76 25 21 31 36 3d 31 31  |=7....inv%!16=11|
000029d0  0d 0d ac 0e 69 6e 76 25  21 32 30 3d 31 32 0d 0d  |....inv%!20=12..|
000029e0  b6 0e 69 6e 76 25 21 32  34 3d 2d 31 0d 0d c0 26  |..inv%!24=-1...&|
000029f0  c8 99 22 4f 53 5f 52 65  61 64 56 64 75 56 61 72  |.."OS_ReadVduVar|
00002a00  69 61 62 6c 65 73 22 2c  69 6e 76 25 2c 6f 75 74  |iables",inv%,out|
00002a10  76 25 0d 0d ca 14 64 78  25 3d 31 3c 3c 28 6f 75  |v%....dx%=1<<(ou|
00002a20  74 76 25 21 30 29 0d 0d  d4 14 64 79 25 3d 31 3c  |tv%!0)....dy%=1<|
00002a30  3c 28 6f 75 74 76 25 21  34 29 0d 0d de 14 6c 69  |<(outv%!4)....li|
00002a40  6e 65 6c 65 6e 25 3d 6f  75 74 76 25 21 38 0d 0d  |nelen%=outv%!8..|
00002a50  e8 18 73 63 72 65 65 6e  73 69 7a 65 25 3d 6f 75  |..screensize%=ou|
00002a60  74 76 25 21 31 32 0d 0d  f2 1b 73 63 72 78 31 25  |tv%!12....scrx1%|
00002a70  3d 28 6f 75 74 76 25 21  31 36 2b 31 29 2a 64 78  |=(outv%!16+1)*dx|
00002a80  25 0d 0d fc 1b 73 63 72  79 31 25 3d 28 6f 75 74  |%....scry1%=(out|
00002a90  76 25 21 32 30 2b 31 29  2a 64 79 25 0d 0e 06 05  |v%!20+1)*dy%....|
00002aa0  e1 0d 0e 10 04 0d 0e 1a  15 dd f2 72 65 64 72 61  |...........redra|
00002ab0  77 28 68 61 6e 64 6c 65  25 29 0d 0e 2e 23 c8 99  |w(handle%)...#..|
00002ac0  22 57 69 6d 70 5f 52 65  64 72 61 77 57 69 6e 64  |"Wimp_RedrawWind|
00002ad0  6f 77 22 2c 2c 71 25 b8  6d 6f 72 65 25 0d 0e 38  |ow",,q%.more%..8|
00002ae0  0d 20 c8 95 20 6d 6f 72  65 25 0d 0e 42 1f 20 c8  |. .. more%..B. .|
00002af0  99 20 22 57 69 6d 70 5f  42 6f 72 64 65 72 57 69  |. "Wimp_BorderWi|
00002b00  6e 64 6f 77 22 2c 2c 71  25 0d 0e 4c 23 c8 99 22  |ndow",,q%..L#.."|
00002b10  57 69 6d 70 5f 47 65 74  52 65 63 74 61 6e 67 6c  |Wimp_GetRectangl|
00002b20  65 22 2c 2c 71 25 b8 6d  6f 72 65 25 0d 0e 56 05  |e",,q%.more%..V.|
00002b30  ce 0d 0e 74 05 e1 0d 0e  7e 04 0d 0e 88 11 dd f2  |...t....~.......|
00002b40  74 65 73 74 70 61 74 74  65 72 6e 0d 0e 92 0f ea  |testpattern.....|
00002b50  64 78 25 3a 64 78 25 3d  34 38 0d 0e 9c 0b c8 95  |dx%:dx%=48......|
00002b60  6d 6f 72 65 25 0d 0e a6  2b 78 30 25 3d 71 25 21  |more%...+x0%=q%!|
00002b70  32 38 3a 79 30 25 3d 71  25 21 33 32 3a 78 31 25  |28:y0%=q%!32:x1%|
00002b80  3d 71 25 21 33 36 3a 79  31 25 3d 71 25 21 34 30  |=q%!36:y1%=q%!40|
00002b90  0d 0e b0 2d 6d 69 6e 78  30 25 3d 78 30 25 2d 28  |...-minx0%=x0%-(|
00002ba0  62 79 25 2d 79 30 25 29  3a 6d 61 78 78 30 25 3d  |by%-y0%):maxx0%=|
00002bb0  78 31 25 2d 28 62 79 25  2d 79 31 25 29 0d 0e ba  |x1%-(by%-y1%)...|
00002bc0  2d 6d 69 6e 78 31 25 3d  78 30 25 2b 28 62 79 25  |-minx1%=x0%+(by%|
00002bd0  2d 79 31 25 29 3a 6d 61  78 78 31 25 3d 78 31 25  |-y1%):maxx1%=x1%|
00002be0  2b 28 62 79 25 2d 79 30  25 29 0d 0e c4 2f 6d 69  |+(by%-y0%).../mi|
00002bf0  6e 78 30 25 3d 28 6d 69  6e 78 30 25 2d 62 78 25  |nx0%=(minx0%-bx%|
00002c00  2b 31 30 30 30 30 29 81  64 78 25 2a 64 78 25 2b  |+10000).dx%*dx%+|
00002c10  62 78 25 2d 31 30 30 30  30 0d 0e ce 2f 6d 69 6e  |bx%-10000.../min|
00002c20  78 31 25 3d 28 6d 69 6e  78 31 25 2d 62 78 25 2b  |x1%=(minx1%-bx%+|
00002c30  31 30 30 30 30 29 81 64  78 25 2a 64 78 25 2b 62  |10000).dx%*dx%+b|
00002c40  78 25 2d 31 30 30 30 30  0d 0e d8 31 e3 78 25 3d  |x%-10000...1.x%=|
00002c50  6d 69 6e 78 30 25 b8 6d  61 78 78 30 25 88 64 78  |minx0%.maxx0%.dx|
00002c60  25 3a ec 78 25 2c 62 79  25 3a f0 31 2c 31 32 38  |%:.x%,by%:.1,128|
00002c70  30 2c 2d 31 32 38 30 3a  ed 0d 0e e2 32 e3 78 25  |0,-1280:....2.x%|
00002c80  3d 6d 69 6e 78 31 25 b8  6d 61 78 78 31 25 88 64  |=minx1%.maxx1%.d|
00002c90  78 25 3a ec 78 25 2c 62  79 25 3a f0 31 2c 2d 31  |x%:.x%,by%:.1,-1|
00002ca0  32 38 30 2c 2d 31 32 38  30 3a ed 0d 0e ec 23 c8  |280,-1280:....#.|
00002cb0  99 22 57 69 6d 70 5f 47  65 74 52 65 63 74 61 6e  |."Wimp_GetRectan|
00002cc0  67 6c 65 22 2c 2c 71 25  b8 6d 6f 72 65 25 0d 0e  |gle",,q%.more%..|
00002cd0  f6 05 ce 0d 0f 00 05 e1  0d 0f 0a 04 0d 0f 14 0e  |................|
00002ce0  dd f2 64 72 61 77 62 6c  6f 62 0d 0f 1e 1f f2 73  |..drawblob.....s|
00002cf0  65 74 78 79 28 78 25 2c  79 25 2c 24 73 70 72 62  |etxy(x%,y%,$sprb|
00002d00  75 66 66 25 2c 22 78 22  29 0d 0f 28 3f 62 78 25  |uff%,"x")..(?bx%|
00002d10  2b 3d 28 73 70 72 78 6f  66 66 25 2d 78 25 81 32  |+=(sprxoff%-x%.2|
00002d20  29 80 ac 28 64 78 25 2d  31 29 3a 62 79 25 2b 3d  |)..(dx%-1):by%+=|
00002d30  28 73 70 72 79 6f 66 66  25 2d 79 25 81 32 29 80  |(spryoff%-y%.2).|
00002d40  ac 28 64 79 25 2d 31 29  0d 0f 32 0b c8 95 6d 6f  |.(dy%-1)..2...mo|
00002d50  72 65 25 0d 0f 3c 28 e6  30 2c 37 3a ec 62 78 25  |re%..<(.0,7:.bx%|
00002d60  2c 62 79 25 3a f0 26 36  35 2c 62 78 25 2b 78 25  |,by%:.&65,bx%+x%|
00002d70  2d 31 2c 62 79 25 2b 79  25 2d 31 0d 0f 46 23 c8  |-1,by%+y%-1..F#.|
00002d80  99 22 57 69 6d 70 5f 47  65 74 52 65 63 74 61 6e  |."Wimp_GetRectan|
00002d90  67 6c 65 22 2c 2c 71 25  b8 6d 6f 72 65 25 0d 0f  |gle",,q%.more%..|
00002da0  50 05 ce 0d 0f 5a 05 e1  0d 0f 64 04 0d 0f 6e 14  |P....Z....d...n.|
00002db0  dd f2 66 72 6f 6e 74 28  68 61 6e 64 6c 65 25 29  |..front(handle%)|
00002dc0  0d 0f 78 2b 21 71 25 3d  68 61 6e 64 6c 65 25 3a  |..x+!q%=handle%:|
00002dd0  c8 99 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |.."Wimp_GetWindo|
00002de0  77 53 74 61 74 65 22 2c  2c 71 25 0d 0f 82 24 71  |wState",,q%...$q|
00002df0  25 21 32 38 3d 2d 31 3a  c8 99 22 57 69 6d 70 5f  |%!28=-1:.."Wimp_|
00002e00  4f 70 65 6e 57 69 6e 64  6f 77 22 2c 2c 71 25 0d  |OpenWindow",,q%.|
00002e10  0f 8c 05 e1 0d 0f 96 04  0d 0f a0 15 dd f2 72 65  |..............re|
00002e20  6f 70 65 6e 28 68 61 6e  64 6c 65 25 29 0d 0f aa  |open(handle%)...|
00002e30  43 21 71 25 3d 68 61 6e  64 6c 65 25 3a c8 99 22  |C!q%=handle%:.."|
00002e40  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
00002e50  61 74 65 22 2c 2c 71 25  3a c8 99 22 57 69 6d 70  |ate",,q%:.."Wimp|
00002e60  5f 4f 70 65 6e 57 69 6e  64 6f 77 22 2c 2c 71 25  |_OpenWindow",,q%|
00002e70  0d 0f b4 05 e1 0d 0f be  04 0d 0f c8 13 dd f2 67  |...............g|
00002e80  65 74 77 28 68 61 6e 64  6c 65 25 29 0d 0f d2 37  |etw(handle%)...7|
00002e90  21 71 25 3d 68 61 6e 64  6c 65 25 3a c8 99 22 57  |!q%=handle%:.."W|
00002ea0  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 53 74 61  |imp_GetWindowSta|
00002eb0  74 65 22 2c 2c 71 25 3a  f2 69 6e 66 6f 28 71 25  |te",,q%:.info(q%|
00002ec0  2b 34 29 0d 0f dc 05 e1  0d 0f e6 04 0d 0f f0 11  |+4).............|
00002ed0  dd f2 67 65 74 69 28 68  25 2c 69 25 29 0d 0f fa  |..geti(h%,i%)...|
00002ee0  2c 21 71 25 3d 68 25 3a  71 25 21 34 3d 69 25 3a  |,!q%=h%:q%!4=i%:|
00002ef0  c8 99 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |.."Wimp_GetIconS|
00002f00  74 61 74 65 22 2c 2c 71  25 0d 10 04 2e 69 78 30  |tate",,q%....ix0|
00002f10  25 3d 71 25 21 38 3a 69  79 30 25 3d 71 25 21 31  |%=q%!8:iy0%=q%!1|
00002f20  32 3a 69 78 31 25 3d 71  25 21 31 36 3a 69 79 31  |2:ix1%=q%!16:iy1|
00002f30  25 3d 71 25 21 32 30 0d  10 0e 1e 69 66 6c 61 67  |%=q%!20....iflag|
00002f40  73 25 3d 71 25 21 32 34  3a 69 64 61 74 61 25 3d  |s%=q%!24:idata%=|
00002f50  71 25 2b 32 38 0d 10 18  05 e1 0d 10 22 04 0d 10  |q%+28......."...|
00002f60  2c 0e dd f2 69 6e 66 6f  28 70 25 29 0d 10 36 27  |,...info(p%)..6'|
00002f70  78 30 25 3d 21 70 25 3a  79 30 25 3d 70 25 21 34  |x0%=!p%:y0%=p%!4|
00002f80  3a 78 31 25 3d 70 25 21  38 3a 79 31 25 3d 70 25  |:x1%=p%!8:y1%=p%|
00002f90  21 31 32 0d 10 40 35 73  63 78 25 3d 70 25 21 31  |!12..@5scx%=p%!1|
00002fa0  36 3a 73 63 79 25 3d 70  25 21 32 30 3a 62 68 61  |6:scy%=p%!20:bha|
00002fb0  6e 64 6c 65 25 3d 70 25  21 32 34 3a 66 6c 61 67  |ndle%=p%!24:flag|
00002fc0  73 25 3d 70 25 21 32 38  0d 10 4a 49 62 78 25 3d  |s%=p%!28..JIbx%=|
00002fd0  78 30 25 2d 73 63 78 25  3a 62 79 25 3d 79 31 25  |x0%-scx%:by%=y1%|
00002fe0  2d 73 63 79 25 3a f4 20  61 6c 6c 20 64 72 61 77  |-scy%:. all draw|
00002ff0  69 6e 67 20 73 68 6f 75  6c 64 20 62 65 20 72 65  |ing should be re|
00003000  6c 61 74 69 76 65 20 74  6f 20 62 78 25 2c 62 79  |lative to bx%,by|
00003010  25 0d 10 54 05 e1 0d 10  5e 04 0d 10 68 25 dd f2  |%..T....^...h%..|
00003020  75 70 64 61 74 65 28 68  61 6e 64 6c 65 25 2c 78  |update(handle%,x|
00003030  30 25 2c 79 30 25 2c 78  31 25 2c 79 31 25 29 0d  |0%,y0%,x1%,y1%).|
00003040  10 72 35 21 71 25 3d 68  61 6e 64 6c 65 25 3a 71  |.r5!q%=handle%:q|
00003050  25 21 34 3d 78 30 25 3a  71 25 21 38 3d 79 30 25  |%!4=x0%:q%!8=y0%|
00003060  3a 71 25 21 31 32 3d 78  31 25 3a 71 25 21 31 36  |:q%!12=x1%:q%!16|
00003070  3d 79 31 25 0d 10 7c 23  c8 99 22 57 69 6d 70 5f  |=y1%..|#.."Wimp_|
00003080  55 70 64 61 74 65 57 69  6e 64 6f 77 22 2c 2c 71  |UpdateWindow",,q|
00003090  25 b8 6d 6f 72 65 25 0d  10 86 05 e1 0d 10 90 04  |%.more%.........|
000030a0  0d 10 9a 1b dd f2 75 70  69 63 6f 6e 28 68 61 6e  |......upicon(han|
000030b0  64 6c 65 25 2c 69 63 6f  6e 25 29 0d 10 a4 43 21  |dle%,icon%)...C!|
000030c0  71 25 3d 68 61 6e 64 6c  65 25 3a 71 25 21 34 3d  |q%=handle%:q%!4=|
000030d0  69 63 6f 6e 25 3a 71 25  21 38 3d 30 3a 71 25 21  |icon%:q%!8=0:q%!|
000030e0  31 32 3d 30 3a c8 99 22  57 69 6d 70 5f 53 65 74  |12=0:.."Wimp_Set|
000030f0  49 63 6f 6e 53 74 61 74  65 22 2c 2c 71 25 0d 10  |IconState",,q%..|
00003100  ae 05 e1 0d 10 b8 04 0d  10 c2 36 dd f2 6f 70 65  |..........6..ope|
00003110  6e 28 68 61 6e 64 6c 65  25 2c 78 30 25 2c 79 30  |n(handle%,x0%,y0|
00003120  25 2c 78 31 25 2c 79 31  25 2c 73 63 78 25 2c 73  |%,x1%,y1%,scx%,s|
00003130  63 79 25 2c 62 68 61 6e  64 6c 65 25 29 0d 10 cc  |cy%,bhandle%)...|
00003140  07 ea 64 25 0d 10 d6 1f  e7 a4 77 68 69 63 68 73  |..d%......whichs|
00003150  70 72 69 74 65 28 68 61  6e 64 6c 65 25 29 3c 3e  |prite(handle%)<>|
00003160  2d 31 8c 0d 10 e0 13 64  25 3d ac 28 64 78 25 2b  |-1.....d%=.(dx%+|
00003170  64 78 25 2d 31 29 0d 10  ea 26 78 30 25 3d 78 30  |dx%-1)...&x0%=x0|
00003180  25 80 64 25 3a 78 31 25  3d 78 31 25 80 64 25 3a  |%.d%:x1%=x1%.d%:|
00003190  73 63 78 25 3d 73 63 78  25 80 64 25 0d 10 f4 05  |scx%=scx%.d%....|
000031a0  cd 0d 10 fe 0f 21 71 25  3d 68 61 6e 64 6c 65 25  |.....!q%=handle%|
000031b0  0d 11 08 29 71 25 21 34  3d 78 30 25 3a 71 25 21  |...)q%!4=x0%:q%!|
000031c0  38 3d 79 30 25 3a 71 25  21 31 32 3d 78 31 25 3a  |8=y0%:q%!12=x1%:|
000031d0  71 25 21 31 36 3d 79 31  25 0d 11 12 19 71 25 21  |q%!16=y1%....q%!|
000031e0  32 30 3d 73 63 78 25 3a  71 25 21 32 34 3d 73 63  |20=scx%:q%!24=sc|
000031f0  79 25 0d 11 1c 12 71 25  21 32 38 3d 62 68 61 6e  |y%....q%!28=bhan|
00003200  64 6c 65 25 0d 11 26 1b  c8 99 22 57 69 6d 70 5f  |dle%..&..."Wimp_|
00003210  4f 70 65 6e 57 69 6e 64  6f 77 22 2c 2c 71 25 0d  |OpenWindow",,q%.|
00003220  11 30 17 e7 68 61 6e 64  6c 65 25 3d 64 69 61 6c  |.0..handle%=dial|
00003230  6f 67 75 65 25 8c 0d 11  3a 12 f2 67 65 74 77 28  |ogue%...:..getw(|
00003240  68 61 6e 64 6c 65 25 29  0d 11 44 22 c8 97 c8 93  |handle%)..D"....|
00003250  78 30 25 2c 79 30 25 2c  78 31 25 2d 78 30 25 2c  |x0%,y0%,x1%-x0%,|
00003260  79 31 25 2d 79 30 25 2b  34 30 0d 11 4e 05 cd 0d  |y1%-y0%+40..N...|
00003270  11 58 05 e1 0d 11 62 04  0d 11 6c 14 dd f2 63 6c  |.X....b...l...cl|
00003280  6f 73 65 28 68 61 6e 64  6c 65 25 29 0d 11 76 07  |ose(handle%)..v.|
00003290  ea 69 25 0d 11 80 38 49  25 3d a4 77 68 69 63 68  |.i%...8I%=.which|
000032a0  77 69 6e 64 6f 77 28 68  61 6e 64 6c 65 25 29 3a  |window(handle%):|
000032b0  e7 49 25 3c 3e 2d 31 8c  f2 64 65 6c 65 74 65 77  |.I%<>-1..deletew|
000032c0  69 6e 64 6f 77 28 49 25  29 3a e1 0d 11 8a 38 49  |indow(I%):....8I|
000032d0  25 3d a4 77 68 69 63 68  73 70 72 69 74 65 28 68  |%=.whichsprite(h|
000032e0  61 6e 64 6c 65 25 29 3a  e7 49 25 3c 3e 2d 31 8c  |andle%):.I%<>-1.|
000032f0  f2 64 65 6c 65 74 65 73  70 72 69 74 65 28 49 25  |.deletesprite(I%|
00003300  29 3a e1 0d 11 94 55 f4  20 49 46 68 61 6e 64 6c  |):....U. IFhandl|
00003310  65 25 3d 73 70 72 69 74  65 6c 69 73 74 25 54 48  |e%=spritelist%TH|
00003320  45 4e 57 48 49 4c 45 73  70 72 53 50 32 25 3c 3e  |ENWHILEsprSP2%<>|
00003330  2d 31 3a 50 52 4f 43 63  6c 6f 73 65 28 73 70 72  |-1:PROCclose(spr|
00003340  69 74 65 77 25 28 73 70  72 53 50 32 25 29 29 3a  |itew%(sprSP2%)):|
00003350  45 4e 44 57 48 49 4c 45  0d 11 9e 35 e7 68 61 6e  |ENDWHILE...5.han|
00003360  64 6c 65 25 3d 64 69 61  6c 6f 67 75 65 25 8c c8  |dle%=dialogue%..|
00003370  97 c8 93 30 2c 30 2c 31  32 37 39 2c 31 30 32 33  |...0,0,1279,1023|
00003380  3a 64 69 61 6c 6f 67 75  65 25 3d 2d 31 0d 11 a8  |:dialogue%=-1...|
00003390  28 21 71 25 3d 68 61 6e  64 6c 65 25 3a c8 99 22  |(!q%=handle%:.."|
000033a0  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
000033b0  22 2c 2c 71 25 0d 11 b2  05 e1 0d 11 bc 04 0d 11  |",,q%...........|
000033c0  c6 3f dd f2 6d 6f 75 73  65 28 6d 6f 75 73 65 78  |.?..mouse(mousex|
000033d0  25 2c 6d 6f 75 73 65 79  25 2c 62 75 74 74 6f 6e  |%,mousey%,button|
000033e0  73 25 2c 68 61 6e 64 6c  65 25 2c 69 63 6f 6e 25  |s%,handle%,icon%|
000033f0  2c 6f 6c 64 62 75 74 74  6f 6e 73 25 29 0d 11 d0  |,oldbuttons%)...|
00003400  0f c8 8e 62 75 74 74 6f  6e 73 25 ca 0d 11 da 19  |...buttons%.....|
00003410  c9 26 30 32 3a f4 20 2d  2d 20 4d 45 4e 55 20 62  |.&02:. -- MENU b|
00003420  75 74 74 6f 6e 0d 11 e4  36 49 25 3d a4 77 68 69  |utton...6I%=.whi|
00003430  63 68 77 69 6e 64 6f 77  28 68 61 6e 64 6c 65 25  |chwindow(handle%|
00003440  29 3a e7 49 25 3c 3e 2d  31 8c f2 77 69 6e 64 6f  |):.I%<>-1..windo|
00003450  77 6d 65 6e 75 28 49 25  29 3a e1 0d 11 ee 36 49  |wmenu(I%):....6I|
00003460  25 3d a4 77 68 69 63 68  73 70 72 69 74 65 28 68  |%=.whichsprite(h|
00003470  61 6e 64 6c 65 25 29 3a  e7 49 25 3c 3e 2d 31 8c  |andle%):.I%<>-1.|
00003480  f2 73 70 72 69 74 65 6d  65 6e 75 28 49 25 29 3a  |.spritemenu(I%):|
00003490  e1 0d 11 f8 0e c8 8e 68  61 6e 64 6c 65 25 ca 0d  |.......handle%..|
000034a0  12 02 07 c9 2d 32 0d 12  0c 0c c8 8e 69 63 6f 6e  |....-2......icon|
000034b0  25 ca 0d 12 16 20 c9 69  63 5f 77 69 6e 64 6f 77  |%.... .ic_window|
000034c0  25 3a f2 6d 65 6e 75 28  6d 61 69 6e 6d 65 6e 75  |%:.menu(mainmenu|
000034d0  25 29 0d 12 20 05 cb 0d  12 2a 25 c9 73 70 72 69  |%).. ....*%.spri|
000034e0  74 65 6c 69 73 74 25 3a  f2 6d 65 6e 75 28 6d 5f  |telist%:.menu(m_|
000034f0  73 70 72 69 74 65 6c 69  73 74 25 29 0d 12 34 05  |spritelist%)..4.|
00003500  cb 0d 12 3e 27 c9 26 30  31 2c 26 30 34 3a f4 20  |...>'.&01,&04:. |
00003510  2d 2d 20 53 45 4c 45 43  54 2f 41 44 4a 55 53 54  |-- SELECT/ADJUST|
00003520  20 62 75 74 74 6f 6e 73  0d 12 48 37 49 25 3d a4  | buttons..H7I%=.|
00003530  77 68 69 63 68 73 70 72  69 74 65 28 68 61 6e 64  |whichsprite(hand|
00003540  6c 65 25 29 3a e7 49 25  3c 3e 2d 31 8c f2 73 70  |le%):.I%<>-1..sp|
00003550  72 69 74 65 70 69 78 65  6c 28 49 25 29 3a e1 0d  |ritepixel(I%):..|
00003560  12 52 0e c8 8e 68 61 6e  64 6c 65 25 ca 0d 12 5c  |.R...handle%...\|
00003570  07 c9 2d 32 0d 12 66 0c  c8 8e 69 63 6f 6e 25 ca  |..-2..f...icon%.|
00003580  0d 12 70 0f c9 69 63 5f  77 69 6e 64 6f 77 25 0d  |..p..ic_window%.|
00003590  12 7a 31 f2 63 72 65 61  74 65 77 69 6e 64 6f 77  |.z1.createwindow|
000035a0  28 62 72 78 25 2c 62 72  79 25 2c 22 22 29 3a 62  |(brx%,bry%,""):b|
000035b0  72 78 25 2b 3d 36 30 3a  62 72 79 25 2d 3d 34 30  |rx%+=60:bry%-=40|
000035c0  0d 12 84 17 e7 62 72 79  25 3c 33 34 30 8c 62 72  |.....bry%<340.br|
000035d0  79 25 3d 31 30 30 30 0d  12 8e 16 e7 62 72 78 25  |y%=1000.....brx%|
000035e0  3e 31 30 34 30 8c 62 72  78 25 3d 34 30 0d 12 98  |>1040.brx%=40...|
000035f0  05 cb 0d 12 a2 16 c9 70  61 6c 65 74 74 65 25 3a  |.......palette%:|
00003600  f2 70 61 6c 65 74 74 65  0d 12 ac 10 c9 73 70 72  |.palette.....spr|
00003610  69 74 65 6c 69 73 74 25  0d 12 b6 0e e7 69 63 6f  |itelist%.....ico|
00003620  6e 25 3d 2d 31 8c 0d 12  c0 22 e7 62 75 74 74 6f  |n%=-1....".butto|
00003630  6e 73 25 3d 26 30 34 8c  f2 64 65 73 65 6c 65 63  |ns%=&04..deselec|
00003640  74 73 70 72 69 74 65 73  0d 12 ca 05 cc 0d 12 d4  |tsprites........|
00003650  1e f2 67 65 74 69 28 73  70 72 69 74 65 6c 69 73  |..geti(spritelis|
00003660  74 25 2c 69 63 6f 6e 25  84 31 29 0d 12 de 2a e7  |t%,icon%.1)...*.|
00003670  69 66 6c 61 67 73 25 80  26 34 30 30 30 30 30 8b  |iflags%.&400000.|
00003680  f2 6f 70 65 6e 73 70 72  69 74 65 28 69 63 6f 6e  |.opensprite(icon|
00003690  25 80 ac 31 29 0d 12 e8  05 cd 0d 12 f2 0d c9 6d  |%..1)..........m|
000036a0  5f 73 63 61 6c 65 25 0d  12 fc 23 f2 73 65 74 78  |_scale%...#.setx|
000036b0  79 28 78 73 63 25 2c 79  73 63 25 2c 24 73 70 72  |y(xsc%,ysc%,$spr|
000036c0  62 75 66 66 25 2c 22 78  22 29 0d 13 06 0c 78 73  |buff%,"x")....xs|
000036d0  25 3d 78 73 63 25 0d 13  10 0c c8 8e 69 63 6f 6e  |%=xsc%......icon|
000036e0  25 ca 0d 13 1a 17 c9 30  3a e7 78 73 25 3c 34 38  |%......0:.xs%<48|
000036f0  8c 78 73 25 2b 3d 64 78  25 0d 13 24 18 c9 31 3a  |.xs%+=dx%..$..1:|
00003700  e7 78 73 25 3e 64 78 25  8c 78 73 25 2d 3d 64 78  |.xs%>dx%.xs%-=dx|
00003710  25 0d 13 2e 05 cb 0d 13  38 0f e7 78 73 25 3c 3e  |%.......8..xs%<>|
00003720  78 73 63 25 8c 0d 13 42  15 79 73 25 3d 78 73 25  |xsc%...B.ys%=xs%|
00003730  2a 79 73 63 25 2f 78 73  63 25 0d 13 4c 1b 24 73  |*ysc%/xsc%..L.$s|
00003740  70 72 62 75 66 66 25 3d  c3 78 73 25 2b 22 78 22  |prbuff%=.xs%+"x"|
00003750  2b c3 79 73 25 0d 13 56  2b f2 75 70 69 63 6f 6e  |+.ys%..V+.upicon|
00003760  28 6d 5f 73 63 61 6c 65  25 2c 32 29 3a f2 75 70  |(m_scale%,2):.up|
00003770  69 63 6f 6e 28 6d 5f 73  63 61 6c 65 25 2c 33 29  |icon(m_scale%,3)|
00003780  0d 13 60 27 f2 63 68 61  6e 67 65 73 69 7a 65 28  |..`'.changesize(|
00003790  63 75 72 72 65 6e 74 73  70 72 69 74 65 25 2c 78  |currentsprite%,x|
000037a0  73 25 2c 79 73 25 29 0d  13 6a 05 cd 0d 13 74 10  |s%,ys%)..j....t.|
000037b0  c9 6d 5f 77 6f 72 6b 61  72 65 61 25 0d 13 7e 1e  |.m_workarea%..~.|
000037c0  f2 73 65 74 77 6f 72 6b  28 71 25 2c 6d 62 5f 77  |.setwork(q%,mb_w|
000037d0  6f 72 6b 61 72 65 61 30  25 29 0d 13 88 20 f2 73  |orkarea0%)... .s|
000037e0  65 74 77 6f 72 6b 28 71  25 2b 38 2c 6d 62 5f 77  |etwork(q%+8,mb_w|
000037f0  6f 72 6b 61 72 65 61 31  25 29 0d 13 92 27 78 30  |orkarea1%)...'x0|
00003800  25 3d 21 71 25 3a 79 30  25 3d 71 25 21 34 3a 78  |%=!q%:y0%=q%!4:x|
00003810  31 25 3d 71 25 21 38 3a  79 31 25 3d 71 25 21 31  |1%=q%!8:y1%=q%!1|
00003820  32 0d 13 9c 0c c8 8e 69  63 6f 6e 25 ca 0d 13 a6  |2......icon%....|
00003830  0d c9 30 3a 79 31 25 2b  3d 34 0d 13 b0 0d c9 31  |..0:y1%+=4.....1|
00003840  3a 78 31 25 2b 3d 32 0d  13 ba 0d c9 32 3a 78 30  |:x1%+=2.....2:x0|
00003850  25 2d 3d 32 0d 13 c4 0d  c9 33 3a 79 30 25 2d 3d  |%-=2.....3:y0%-=|
00003860  34 0d 13 ce 22 c9 35 3a  78 30 25 2b 3d 32 3a e7  |4...".5:x0%+=2:.|
00003870  78 30 25 3e 6d 77 78 30  25 8c 78 30 25 3d 6d 77  |x0%>mwx0%.x0%=mw|
00003880  78 30 25 0d 13 d8 22 c9  36 3a 78 31 25 2d 3d 32  |x0%...".6:x1%-=2|
00003890  3a e7 78 31 25 3c 6d 77  78 31 25 8c 78 31 25 3d  |:.x1%<mwx1%.x1%=|
000038a0  6d 77 78 31 25 0d 13 e2  22 c9 37 3a 79 31 25 2d  |mwx1%...".7:y1%-|
000038b0  3d 34 3a e7 79 31 25 3c  6d 77 79 31 25 8c 79 31  |=4:.y1%<mwy1%.y1|
000038c0  25 3d 6d 77 79 31 25 0d  13 ec 22 c9 38 3a 79 30  |%=mwy1%...".8:y0|
000038d0  25 2b 3d 34 3a e7 79 30  25 3e 6d 77 79 30 25 8c  |%+=4:.y0%>mwy0%.|
000038e0  79 30 25 3d 6d 77 79 30  25 0d 13 f6 1e c9 31 31  |y0%=mwy0%.....11|
000038f0  3a f2 78 6f 72 28 6d 5f  77 6f 72 6b 61 72 65 61  |:.xor(m_workarea|
00003900  25 2c 31 31 2c 36 29 0d  14 00 20 f2 73 65 74 77  |%,11,6)... .setw|
00003910  6f 72 6b 61 72 65 61 28  63 75 72 72 65 6e 74 77  |orkarea(currentw|
00003920  69 6e 64 6f 77 25 29 0d  14 0a 2b e7 28 62 75 74  |indow%)...+.(but|
00003930  74 6f 6e 73 25 80 31 29  3d 30 8c c8 99 22 57 69  |tons%.1)=0..."Wi|
00003940  6d 70 5f 43 72 65 61 74  65 4d 65 6e 75 22 2c 2c  |mp_CreateMenu",,|
00003950  2d 31 0d 14 14 05 cb 0d  14 1e 15 77 30 24 3d c3  |-1.........w0$=.|
00003960  78 30 25 2b 22 2c 22 2b  c3 79 30 25 0d 14 28 15  |x0%+","+.y0%..(.|
00003970  77 31 24 3d c3 78 31 25  2b 22 2c 22 2b c3 79 31  |w1$=.x1%+","+.y1|
00003980  25 0d 14 32 42 e7 77 30  24 3c 3e 24 6d 62 5f 77  |%..2B.w0$<>$mb_w|
00003990  6f 72 6b 61 72 65 61 30  25 8c 24 6d 62 5f 77 6f  |orkarea0%.$mb_wo|
000039a0  72 6b 61 72 65 61 30 25  3d 77 30 24 3a f2 75 70  |rkarea0%=w0$:.up|
000039b0  69 63 6f 6e 28 6d 5f 77  6f 72 6b 61 72 65 61 25  |icon(m_workarea%|
000039c0  2c 39 29 0d 14 3c 43 e7  77 31 24 3c 3e 24 6d 62  |,9)..<C.w1$<>$mb|
000039d0  5f 77 6f 72 6b 61 72 65  61 31 25 8c 24 6d 62 5f  |_workarea1%.$mb_|
000039e0  77 6f 72 6b 61 72 65 61  31 25 3d 77 31 24 3a f2  |workarea1%=w1$:.|
000039f0  75 70 69 63 6f 6e 28 6d  5f 77 6f 72 6b 61 72 65  |upicon(m_workare|
00003a00  61 25 2c 31 30 29 0d 14  46 11 c9 64 69 61 6c 5f  |a%,10)..F..dial_|
00003a10  64 65 6c 65 74 65 25 0d  14 50 0c c8 8e 69 63 6f  |delete%..P...ico|
00003a20  6e 25 ca 0d 14 5a 1d c9  32 3a f2 78 6f 72 28 64  |n%...Z..2:.xor(d|
00003a30  69 61 6c 5f 64 65 6c 65  74 65 25 2c 32 2c 36 29  |ial_delete%,2,6)|
00003a40  0d 14 64 14 f2 67 6f 64  65 6c 65 74 65 73 70 72  |..d..godeletespr|
00003a50  69 74 65 73 0d 14 6e 18  f2 63 6c 6f 73 65 28 64  |ites..n..close(d|
00003a60  69 61 6c 5f 64 65 6c 65  74 65 25 29 0d 14 78 1b  |ial_delete%)..x.|
00003a70  c9 33 3a f2 63 6c 6f 73  65 28 64 69 61 6c 5f 64  |.3:.close(dial_d|
00003a80  65 6c 65 74 65 25 29 0d  14 82 05 cb 0d 14 8c 10  |elete%).........|
00003a90  c9 6d 5f 73 61 76 65 74  65 6d 70 25 0d 14 96 0d  |.m_savetemp%....|
00003aa0  e7 69 63 6f 6e 25 3d 32  8c 0d 14 a0 1e f2 63 68  |.icon%=2......ch|
00003ab0  65 63 6b 66 75 6c 6c 28  24 6d 62 5f 74 65 6d 70  |eckfull($mb_temp|
00003ac0  6c 61 74 65 73 25 29 0d  14 aa 24 f2 73 61 76 65  |lates%)...$.save|
00003ad0  74 65 6d 70 6c 61 74 65  73 28 24 6d 62 5f 74 65  |templates($mb_te|
00003ae0  6d 70 6c 61 74 65 73 25  2c b9 29 0d 14 b4 29 e7  |mplates%,.)...).|
00003af0  62 75 74 74 6f 6e 73 25  80 26 30 31 8b c8 99 22  |buttons%.&01..."|
00003b00  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
00003b10  2c 2c 2d 31 0d 14 be 05  cd 0d 14 c8 0f c9 6d 5f  |,,-1..........m_|
00003b20  73 61 76 65 73 70 72 25  0d 14 d2 0d e7 69 63 6f  |savespr%.....ico|
00003b30  6e 25 3d 32 8c 0d 14 dc  1c f2 63 68 65 63 6b 66  |n%=2......checkf|
00003b40  75 6c 6c 28 24 6d 62 5f  73 70 72 69 74 65 66 25  |ull($mb_spritef%|
00003b50  29 0d 14 e6 20 f2 73 61  76 65 73 70 72 69 74 65  |)... .savesprite|
00003b60  73 28 24 6d 62 5f 73 70  72 69 74 65 66 25 2c b9  |s($mb_spritef%,.|
00003b70  29 0d 14 f0 29 e7 62 75  74 74 6f 6e 73 25 80 26  |)...).buttons%.&|
00003b80  30 31 8b c8 99 22 57 69  6d 70 5f 43 72 65 61 74  |01..."Wimp_Creat|
00003b90  65 4d 65 6e 75 22 2c 2c  2d 31 0d 14 fa 05 cd 0d  |eMenu",,-1......|
00003ba0  15 04 05 cb 0d 15 0e 28  c9 26 31 30 2c 26 34 30  |.......(.&10,&40|
00003bb0  3a f4 20 2d 2d 20 53 45  4c 45 43 54 2f 41 44 4a  |:. -- SELECT/ADJ|
00003bc0  55 53 54 20 64 72 61 67  67 69 6e 67 0d 15 18 0e  |UST dragging....|
00003bd0  c8 8e 68 61 6e 64 6c 65  25 ca 0d 15 22 44 c9 6d  |..handle%..."D.m|
00003be0  5f 73 61 76 65 74 65 6d  70 25 2c 6d 5f 73 61 76  |_savetemp%,m_sav|
00003bf0  65 73 70 72 25 3a f2 64  72 61 67 69 63 6f 6e 28  |espr%:.dragicon(|
00003c00  6d 6f 75 73 65 78 25 2c  6d 6f 75 73 65 79 25 2c  |mousex%,mousey%,|
00003c10  68 61 6e 64 6c 65 25 2c  69 63 6f 6e 25 29 0d 15  |handle%,icon%)..|
00003c20  2c 2e 7f 3a e7 69 63 6f  6e 25 3c 3e 2d 31 8c f2  |,..:.icon%<>-1..|
00003c30  64 72 61 67 28 62 75 74  74 6f 6e 73 25 2c 68 61  |drag(buttons%,ha|
00003c40  6e 64 6c 65 25 2c 69 63  6f 6e 25 29 0d 15 36 05  |ndle%,icon%)..6.|
00003c50  cb 0d 15 40 31 c9 26 31  30 30 2c 26 34 30 30 3a  |...@1.&100,&400:|
00003c60  f4 20 2d 2d 20 73 65 6c  65 63 74 69 6f 6e 20 69  |. -- selection i|
00003c70  66 20 62 75 74 74 6f 6e  20 74 79 70 65 20 3d 20  |f button type = |
00003c80  31 30 0d 15 4a 0e c8 8e  68 61 6e 64 6c 65 25 ca  |10..J...handle%.|
00003c90  0d 15 54 10 c9 73 70 72  69 74 65 6c 69 73 74 25  |..T..spritelist%|
00003ca0  0d 15 5e 23 e7 62 75 74  74 6f 6e 73 25 3d 26 34  |..^#.buttons%=&4|
00003cb0  30 30 8c f2 64 65 73 65  6c 65 63 74 73 70 72 69  |00..deselectspri|
00003cc0  74 65 73 0d 15 68 1a f2  67 65 74 69 28 68 61 6e  |tes..h..geti(han|
00003cd0  64 6c 65 25 2c 69 63 6f  6e 25 84 31 29 0d 15 72  |dle%,icon%.1)..r|
00003ce0  19 e7 28 69 66 6c 61 67  73 25 80 26 34 30 30 30  |..(iflags%.&4000|
00003cf0  30 30 29 3d 30 8c 0d 15  7c 29 f2 73 65 74 69 28  |00)=0...|).seti(|
00003d00  73 70 72 69 74 65 6c 69  73 74 25 2c 69 63 6f 6e  |spritelist%,icon|
00003d10  25 80 ac 31 2c 26 32 30  30 30 30 30 2c 30 29 0d  |%..1,&200000,0).|
00003d20  15 86 28 f2 73 65 74 69  28 73 70 72 69 74 65 6c  |..(.seti(spritel|
00003d30  69 73 74 25 2c 69 63 6f  6e 25 84 31 2c 26 32 30  |ist%,icon%.1,&20|
00003d40  30 30 30 30 2c 30 29 0d  15 90 05 cd 0d 15 9a 05  |0000,0).........|
00003d50  cb 0d 15 a4 05 cb 0d 15  ae 05 e1 0d 15 b8 04 0d  |................|
00003d60  15 c2 24 dd f2 70 72 6f  63 65 73 73 6b 65 79 28  |..$..processkey(|
00003d70  68 61 6e 64 6c 65 25 2c  69 63 6f 6e 25 2c 6b 65  |handle%,icon%,ke|
00003d80  79 25 29 0d 15 cc 0e c8  8e 68 61 6e 64 6c 65 25  |y%)......handle%|
00003d90  ca 0d 15 d6 10 c9 6d 5f  77 6f 72 6b 61 72 65 61  |......m_workarea|
00003da0  25 0d 15 e0 0d e7 6b 65  79 25 3d 31 33 8c 0d 15  |%.....key%=13...|
00003db0  ea 1a f2 78 6f 72 28 6d  5f 77 6f 72 6b 61 72 65  |...xor(m_workare|
00003dc0  61 25 2c 31 31 2c 36 29  0d 15 f4 20 f2 73 65 74  |a%,11,6)... .set|
00003dd0  77 6f 72 6b 61 72 65 61  28 63 75 72 72 65 6e 74  |workarea(current|
00003de0  77 69 6e 64 6f 77 25 29  0d 15 fe 1b c8 99 22 57  |window%)......"W|
00003df0  69 6d 70 5f 43 72 65 61  74 65 4d 65 6e 75 22 2c  |imp_CreateMenu",|
00003e00  2c 2d 31 0d 16 08 05 e1  0d 16 12 05 cd 0d 16 1c  |,-1.............|
00003e10  10 c9 6d 5f 73 61 76 65  74 65 6d 70 25 0d 16 26  |..m_savetemp%..&|
00003e20  0d e7 6b 65 79 25 3d 31  33 8c 0d 16 30 1e f2 63  |..key%=13...0..c|
00003e30  68 65 63 6b 66 75 6c 6c  28 24 6d 62 5f 74 65 6d  |heckfull($mb_tem|
00003e40  70 6c 61 74 65 73 25 29  0d 16 3a 24 f2 73 61 76  |plates%)..:$.sav|
00003e50  65 74 65 6d 70 6c 61 74  65 73 28 24 6d 62 5f 74  |etemplates($mb_t|
00003e60  65 6d 70 6c 61 74 65 73  25 2c b9 29 0d 16 44 1b  |emplates%,.)..D.|
00003e70  c8 99 22 57 69 6d 70 5f  43 72 65 61 74 65 4d 65  |.."Wimp_CreateMe|
00003e80  6e 75 22 2c 2c 2d 31 0d  16 4e 05 e1 0d 16 58 05  |nu",,-1..N....X.|
00003e90  cd 0d 16 62 0f c9 6d 5f  73 61 76 65 73 70 72 25  |...b..m_savespr%|
00003ea0  0d 16 6c 0d e7 6b 65 79  25 3d 31 33 8c 0d 16 76  |..l..key%=13...v|
00003eb0  1c f2 63 68 65 63 6b 66  75 6c 6c 28 24 6d 62 5f  |..checkfull($mb_|
00003ec0  73 70 72 69 74 65 66 25  29 0d 16 80 20 f2 73 61  |spritef%)... .sa|
00003ed0  76 65 73 70 72 69 74 65  73 28 24 6d 62 5f 73 70  |vesprites($mb_sp|
00003ee0  72 69 74 65 66 25 2c b9  29 0d 16 8a 1b c8 99 22  |ritef%,.)......"|
00003ef0  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
00003f00  2c 2c 2d 31 0d 16 94 05  e1 0d 16 9e 05 cd 0d 16  |,,-1............|
00003f10  a8 05 cb 0d 16 b2 1c c8  99 22 57 69 6d 70 5f 50  |........."Wimp_P|
00003f20  72 6f 63 65 73 73 4b 65  79 22 2c 6b 65 79 25 0d  |rocessKey",key%.|
00003f30  16 bc 05 e1 0d 16 c6 04  0d 16 d0 52 2d 2d 2d 2d  |...........R----|
00003f40  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00003f80  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 16 da 04 0d 16  |----------......|
00003f90  e4 1c dd f2 64 72 61 67  28 62 25 2c 68 61 6e 64  |....drag(b%,hand|
00003fa0  6c 65 25 2c 69 63 6f 6e  25 29 0d 16 ee 25 49 25  |le%,icon%)...%I%|
00003fb0  3d a4 77 68 69 63 68 77  69 6e 64 6f 77 28 68 61  |=.whichwindow(ha|
00003fc0  6e 64 6c 65 25 29 3a e7  49 25 3d 2d 31 8c e1 0d  |ndle%):.I%=-1...|
00003fd0  16 f8 37 63 75 72 72 65  6e 74 77 69 6e 64 6f 77  |..7currentwindow|
00003fe0  25 3d 49 25 3a 63 75 72  72 65 6e 74 69 63 6f 6e  |%=I%:currenticon|
00003ff0  25 3d 69 63 6f 6e 25 3a  f2 68 69 67 68 6c 69 67  |%=icon%:.highlig|
00004000  68 74 28 49 25 29 0d 17  02 34 64 72 61 67 74 79  |ht(I%)...4dragty|
00004010  70 65 25 3d 62 25 3a 64  72 61 67 68 61 6e 64 6c  |pe%=b%:draghandl|
00004020  65 25 3d 68 61 6e 64 6c  65 25 3a 64 72 61 67 69  |e%=handle%:dragi|
00004030  63 6f 6e 25 3d 69 63 6f  6e 25 0d 17 0c 0c f2 67  |con%=icon%.....g|
00004040  65 74 63 75 72 77 0d 17  16 0c f2 67 65 74 63 75  |etcurw.....getcu|
00004050  72 69 0d 17 20 2b 63 78  30 25 2b 3d 62 78 25 3a  |ri.. +cx0%+=bx%:|
00004060  63 79 30 25 2b 3d 62 79  25 3a 63 78 31 25 2b 3d  |cy0%+=by%:cx1%+=|
00004070  62 78 25 3a 63 79 31 25  2b 3d 62 79 25 0d 17 2a  |bx%:cy1%+=by%..*|
00004080  25 78 30 25 3d 30 3a 79  30 25 3d 30 3a 78 31 25  |%x0%=0:y0%=0:x1%|
00004090  3d 73 63 72 78 31 25 3a  79 31 25 3d 73 63 72 79  |=scrx1%:y1%=scry|
000040a0  31 25 0d 17 34 0c e7 62  25 3d 26 31 30 8c 0d 17  |1%..4..b%=&10...|
000040b0  3e 23 f2 67 65 74 6d 69  6e 78 79 28 66 6c 61 67  |>#.getminxy(flag|
000040c0  73 25 2c 74 65 78 74 24  2c 73 70 72 69 74 65 24  |s%,text$,sprite$|
000040d0  29 0d 17 48 27 6d 78 30  25 3d 6d 6f 75 73 65 78  |)..H'mx0%=mousex|
000040e0  25 2d 63 78 30 25 3a 6d  78 31 25 3d 63 78 31 25  |%-cx0%:mx1%=cx1%|
000040f0  2d 6d 6f 75 73 65 78 25  0d 17 52 27 6d 79 30 25  |-mousex%..R'my0%|
00004100  3d 6d 6f 75 73 65 79 25  2d 63 79 30 25 3a 6d 79  |=mousey%-cy0%:my|
00004110  31 25 3d 63 79 31 25 2d  6d 6f 75 73 65 79 25 0d  |1%=cy1%-mousey%.|
00004120  17 5c 32 78 30 25 3d 63  78 30 25 2b 6d 69 6e 78  |.\2x0%=cx0%+minx|
00004130  25 3a 79 30 25 3d 30 3a  78 31 25 3d 73 63 72 78  |%:y0%=0:x1%=scrx|
00004140  31 25 3a 79 31 25 3d 63  79 31 25 2d 6d 69 6e 79  |1%:y1%=cy1%-miny|
00004150  25 0d 17 66 38 e7 6d 78  30 25 3c 6d 78 31 25 8c  |%..f8.mx0%<mx1%.|
00004160  f2 73 77 61 70 78 3a 78  30 25 3d 30 3a 78 31 25  |.swapx:x0%=0:x1%|
00004170  3d 63 78 30 25 2d 6d 69  6e 78 25 3a 78 30 25 2b  |=cx0%-minx%:x0%+|
00004180  3d 31 3a 78 31 25 2d 3d  31 0d 17 70 3d e7 6d 79  |=1:x1%-=1..p=.my|
00004190  30 25 3e 6d 79 31 25 8c  f2 73 77 61 70 79 3a 79  |0%>my1%..swapy:y|
000041a0  30 25 3d 63 79 31 25 2b  6d 69 6e 79 25 3a 79 31  |0%=cy1%+miny%:y1|
000041b0  25 3d 73 63 72 79 31 25  3a 79 30 25 2b 3d 31 3a  |%=scry1%:y0%+=1:|
000041c0  79 31 25 2d 3d 31 0d 17  7a 29 78 30 25 2b 3d 63  |y1%-=1..z)x0%+=c|
000041d0  78 30 25 2d 63 78 31 25  3a 79 31 25 2b 3d 63 79  |x0%-cx1%:y1%+=cy|
000041e0  31 25 2d 63 79 30 25 3a  f4 20 62 6f 64 67 65 0d  |1%-cy0%:. bodge.|
000041f0  17 84 05 cd 0d 17 8e 25  21 71 25 3d 68 61 6e 64  |.......%!q%=hand|
00004200  6c 65 25 3a e7 62 25 3d  26 34 30 8c 71 25 21 34  |le%:.b%=&40.q%!4|
00004210  3d 35 8b 71 25 21 34 3d  36 0d 17 98 2e 71 25 21  |=5.q%!4=6....q%!|
00004220  38 3d 63 78 30 25 3a 71  25 21 31 32 3d 63 79 30  |8=cx0%:q%!12=cy0|
00004230  25 3a 71 25 21 31 36 3d  63 78 31 25 3a 71 25 21  |%:q%!16=cx1%:q%!|
00004240  32 30 3d 63 79 31 25 0d  17 a2 2b 71 25 21 32 34  |20=cy1%...+q%!24|
00004250  3d 78 30 25 3a 71 25 21  32 38 3d 79 30 25 3a 71  |=x0%:q%!28=y0%:q|
00004260  25 21 33 32 3d 78 31 25  3a 71 25 21 33 36 3d 79  |%!32=x1%:q%!36=y|
00004270  31 25 0d 17 ac 18 c8 99  22 57 69 6d 70 5f 44 72  |1%......"Wimp_Dr|
00004280  61 67 42 6f 78 22 2c 2c  71 25 0d 17 b6 05 e1 0d  |agBox",,q%......|
00004290  17 c0 04 0d 17 ca 2d dd  f2 64 72 61 67 69 63 6f  |......-..dragico|
000042a0  6e 28 6d 6f 75 73 65 78  25 2c 6d 6f 75 73 65 79  |n(mousex%,mousey|
000042b0  25 2c 68 61 6e 64 6c 65  25 2c 69 63 6f 6e 25 29  |%,handle%,icon%)|
000042c0  0d 17 d4 25 64 72 61 67  74 79 70 65 25 3d 26 46  |...%dragtype%=&F|
000042d0  46 3a 64 72 61 67 68 61  6e 64 6c 65 25 3d 68 61  |F:draghandle%=ha|
000042e0  6e 64 6c 65 25 0d 17 de  12 f2 67 65 74 77 28 68  |ndle%.....getw(h|
000042f0  61 6e 64 6c 65 25 29 0d  17 e8 18 f2 67 65 74 69  |andle%).....geti|
00004300  28 68 61 6e 64 6c 65 25  2c 69 63 6f 6e 25 29 0d  |(handle%,icon%).|
00004310  17 f2 16 21 71 25 3d 68  61 6e 64 6c 65 25 3a 71  |...!q%=handle%:q|
00004320  25 21 34 3d 35 0d 17 fc  3e 71 25 21 38 3d 62 78  |%!4=5...>q%!8=bx|
00004330  25 2b 69 78 30 25 3a 71  25 21 31 32 3d 62 79 25  |%+ix0%:q%!12=by%|
00004340  2b 69 79 30 25 3a 71 25  21 31 36 3d 62 78 25 2b  |+iy0%:q%!16=bx%+|
00004350  69 78 31 25 3a 71 25 21  32 30 3d 62 79 25 2b 69  |ix1%:q%!20=by%+i|
00004360  79 31 25 0d 18 06 2a 71  25 21 32 34 3d 71 25 21  |y1%...*q%!24=q%!|
00004370  38 2d 6d 6f 75 73 65 78  25 3a 71 25 21 32 38 3d  |8-mousex%:q%!28=|
00004380  71 25 21 31 32 2d 6d 6f  75 73 65 79 25 0d 18 10  |q%!12-mousey%...|
00004390  39 71 25 21 33 32 3d 73  63 72 78 31 25 2b 71 25  |9q%!32=scrx1%+q%|
000043a0  21 31 36 2d 6d 6f 75 73  65 78 25 3a 71 25 21 33  |!16-mousex%:q%!3|
000043b0  36 3d 73 63 72 79 31 25  2b 71 25 21 32 30 2d 6d  |6=scry1%+q%!20-m|
000043c0  6f 75 73 65 79 25 0d 18  1a 18 c8 99 22 57 69 6d  |ousey%......"Wim|
000043d0  70 5f 44 72 61 67 42 6f  78 22 2c 2c 71 25 0d 18  |p_DragBox",,q%..|
000043e0  24 05 e1 0d 18 2e 04 0d  18 38 0b dd f2 73 77 61  |$........8...swa|
000043f0  70 78 0d 18 42 40 63 78  30 25 3d 63 78 30 25 82  |px..B@cx0%=cx0%.|
00004400  63 78 31 25 3a 63 78 31  25 3d 63 78 31 25 82 63  |cx1%:cx1%=cx1%.c|
00004410  78 30 25 3a 63 78 30 25  3d 63 78 30 25 82 63 78  |x0%:cx0%=cx0%.cx|
00004420  31 25 3a 63 78 30 25 2d  3d 31 3a 63 78 31 25 2b  |1%:cx0%-=1:cx1%+|
00004430  3d 31 0d 18 4c 05 e1 0d  18 56 04 0d 18 60 0b dd  |=1..L....V...`..|
00004440  f2 73 77 61 70 79 0d 18  6a 40 63 79 30 25 3d 63  |.swapy..j@cy0%=c|
00004450  79 30 25 82 63 79 31 25  3a 63 79 31 25 3d 63 79  |y0%.cy1%:cy1%=cy|
00004460  31 25 82 63 79 30 25 3a  63 79 30 25 3d 63 79 30  |1%.cy0%:cy0%=cy0|
00004470  25 82 63 79 31 25 3a 63  79 30 25 2d 3d 31 3a 63  |%.cy1%:cy0%-=1:c|
00004480  79 31 25 2b 3d 31 0d 18  74 05 e1 0d 18 7e 04 0d  |y1%+=1..t....~..|
00004490  18 88 24 dd f2 67 65 74  6d 69 6e 78 79 28 66 6c  |..$..getminxy(fl|
000044a0  61 67 73 25 2c 74 65 78  74 24 2c 73 70 72 69 74  |ags%,text$,sprit|
000044b0  65 24 29 0d 18 92 1c ea  78 30 25 2c 79 30 25 2c  |e$).....x0%,y0%,|
000044c0  78 31 25 2c 79 31 25 2c  6d 78 25 2c 6d 79 25 0d  |x1%,y1%,mx%,my%.|
000044d0  18 9c 13 6d 69 6e 78 25  3d 30 3a 6d 69 6e 79 25  |...minx%=0:miny%|
000044e0  3d 30 0d 18 a6 10 e7 66  6c 61 67 73 25 80 26 30  |=0.....flags%.&0|
000044f0  31 8c 0d 18 b0 10 e7 66  6c 61 67 73 25 80 26 34  |1......flags%.&4|
00004500  30 8c 0d 18 ba 2b c8 99  22 46 6f 6e 74 5f 52 65  |0....+.."Font_Re|
00004510  61 64 49 6e 66 6f 22 2c  66 6c 61 67 73 25 3e 3e  |adInfo",flags%>>|
00004520  32 34 b8 2c 2c 79 30 25  2c 2c 79 31 25 0d 18 c4  |24.,,y0%,,y1%...|
00004530  3a c8 99 22 46 6f 6e 74  5f 53 74 72 69 6e 67 42  |:.."Font_StringB|
00004540  42 6f 78 22 2c 2c bd 32  36 2b bd 28 66 6c 61 67  |Box",,.26+.(flag|
00004550  73 25 3e 3e 32 34 29 2b  74 65 78 74 24 b8 2c 78  |s%>>24)+text$.,x|
00004560  30 25 2c 2c 78 31 25 0d  18 ce 22 c8 99 22 46 6f  |0%,,x1%...".."Fo|
00004570  6e 74 5f 43 6f 6e 76 65  72 74 74 6f 4f 53 22 2c  |nt_ConverttoOS",|
00004580  2c 78 30 25 b8 2c 78 30  25 0d 18 d8 22 c8 99 22  |,x0%.,x0%...".."|
00004590  46 6f 6e 74 5f 43 6f 6e  76 65 72 74 74 6f 4f 53  |Font_ConverttoOS|
000045a0  22 2c 2c 78 31 25 b8 2c  78 31 25 0d 18 e2 1f 6d  |",,x1%.,x1%....m|
000045b0  69 6e 78 25 3d 78 31 25  2d 78 30 25 3a 6d 69 6e  |inx%=x1%-x0%:min|
000045c0  79 25 3d 79 31 25 2d 79  30 25 0d 18 ec 23 cc 6d  |y%=y1%-y0%...#.m|
000045d0  69 6e 78 25 3d 36 2a 64  78 25 2b 31 36 2a a9 74  |inx%=6*dx%+16*.t|
000045e0  65 78 74 24 3a 6d 69 6e  79 25 3d 33 32 0d 18 f6  |ext$:miny%=32...|
000045f0  05 cd 0d 19 00 1c e7 66  6c 61 67 73 25 80 26 30  |.......flags%.&0|
00004600  34 8c 6d 69 6e 79 25 2b  3d 32 2a 64 79 25 0d 19  |4.miny%+=2*dy%..|
00004610  0a 05 cd 0d 19 14 10 e7  66 6c 61 67 73 25 80 26  |........flags%.&|
00004620  30 32 8c 0d 19 1e 41 c8  99 22 58 4f 53 5f 53 70  |02....A.."XOS_Sp|
00004630  72 69 74 65 4f 70 22 2c  26 31 32 38 2c 73 70 72  |riteOp",&128,spr|
00004640  69 74 65 61 72 65 61 25  2c 73 70 72 69 74 65 24  |itearea%,sprite$|
00004650  b8 2c 2c 2c 6d 78 25 2c  6d 79 25 2c 2c 73 70 6d  |.,,,mx%,my%,,spm|
00004660  25 3b 50 25 0d 19 28 0e  e7 28 50 25 80 31 29 3d  |%;P%..(..(P%.1)=|
00004670  30 8c 0d 19 32 38 c8 99  22 58 4f 53 5f 52 65 61  |0...28.."XOS_Rea|
00004680  64 4d 6f 64 65 56 61 72  69 61 62 6c 65 22 2c 73  |dModeVariable",s|
00004690  70 6d 25 2c 34 b8 2c 2c  73 70 78 25 3a 6d 78 25  |pm%,4.,,spx%:mx%|
000046a0  3d 6d 78 25 3c 3c 73 70  78 25 0d 19 3c 38 c8 99  |=mx%<<spx%..<8..|
000046b0  22 58 4f 53 5f 52 65 61  64 4d 6f 64 65 56 61 72  |"XOS_ReadModeVar|
000046c0  69 61 62 6c 65 22 2c 73  70 6d 25 2c 35 b8 2c 2c  |iable",spm%,5.,,|
000046d0  73 70 79 25 3a 6d 79 25  3d 6d 79 25 3c 3c 73 70  |spy%:my%=my%<<sp|
000046e0  79 25 0d 19 46 24 e7 66  6c 61 67 73 25 80 26 38  |y%..F$.flags%.&8|
000046f0  30 30 8c 6d 78 25 3d 6d  78 25 2f 32 3a 6d 79 25  |00.mx%=mx%/2:my%|
00004700  3d 6d 79 25 2f 32 0d 19  50 3a e7 28 66 6c 61 67  |=my%/2..P:.(flag|
00004710  73 25 80 26 32 31 42 29  3d 26 31 33 8c 6d 78 25  |s%.&21B)=&13.mx%|
00004720  3d 6d 69 6e 78 25 2b 6d  78 25 3a f4 20 73 70 72  |=minx%+mx%:. spr|
00004730  69 74 65 2b 74 65 78 74  20 28 56 7e 48 7e 52 29  |ite+text (V~H~R)|
00004740  0d 19 5a 18 e7 6d 78 25  3e 6d 69 6e 78 25 8c 6d  |..Z..mx%>minx%.m|
00004750  69 6e 78 25 3d 6d 78 25  0d 19 64 18 e7 6d 79 25  |inx%=mx%..d..my%|
00004760  3e 6d 69 6e 79 25 8c 6d  69 6e 79 25 3d 6d 79 25  |>miny%.miny%=my%|
00004770  0d 19 6e 05 cd 0d 19 78  05 cd 0d 19 82 05 e1 0d  |..n....x........|
00004780  19 8c 04 0d 19 96 25 dd  f2 64 65 63 6f 64 65 64  |......%..decoded|
00004790  72 61 67 28 63 78 30 25  2c 63 79 30 25 2c 63 78  |rag(cx0%,cy0%,cx|
000047a0  31 25 2c 63 79 31 25 29  0d 19 a0 0f 64 72 61 67  |1%,cy1%)....drag|
000047b0  74 79 70 65 25 3d 30 0d  19 aa 3c e7 64 72 61 67  |type%=0...<.drag|
000047c0  68 61 6e 64 6c 65 25 3d  6d 5f 73 61 76 65 74 65  |handle%=m_savete|
000047d0  6d 70 25 8c f2 73 65 6e  64 73 61 76 65 28 26 46  |mp%..sendsave(&F|
000047e0  45 43 2c 6d 62 5f 74 65  6d 70 6c 61 74 65 73 25  |EC,mb_templates%|
000047f0  29 3a e1 0d 19 b4 39 e7  64 72 61 67 68 61 6e 64  |):....9.draghand|
00004800  6c 65 25 3d 6d 5f 73 61  76 65 73 70 72 25 8c f2  |le%=m_savespr%..|
00004810  73 65 6e 64 73 61 76 65  28 26 46 46 39 2c 6d 62  |sendsave(&FF9,mb|
00004820  5f 73 70 72 69 74 65 66  25 29 3a e1 0d 19 be 20  |_spritef%):.... |
00004830  f2 67 65 74 69 28 64 72  61 67 68 61 6e 64 6c 65  |.geti(draghandle|
00004840  25 2c 64 72 61 67 69 63  6f 6e 25 29 0d 19 c8 42  |%,dragicon%)...B|
00004850  6f 6c 64 66 6c 61 67 73  25 3d 69 66 6c 61 67 73  |oldflags%=iflags|
00004860  25 3a 6f 64 74 30 25 3d  69 64 61 74 61 25 21 30  |%:odt0%=idata%!0|
00004870  3a 6f 64 74 31 25 3d 69  64 61 74 61 25 21 34 3a  |:odt1%=idata%!4:|
00004880  6f 64 74 32 25 3d 69 64  61 74 61 25 21 38 0d 19  |odt2%=idata%!8..|
00004890  d2 26 f2 64 65 6c 65 74  65 69 63 6f 6e 28 64 72  |.&.deleteicon(dr|
000048a0  61 67 68 61 6e 64 6c 65  25 2c 64 72 61 67 69 63  |aghandle%,dragic|
000048b0  6f 6e 25 29 0d 19 dc 16  f2 67 65 74 77 28 64 72  |on%).....getw(dr|
000048c0  61 67 68 61 6e 64 6c 65  25 29 0d 19 e6 2b 63 78  |aghandle%)...+cx|
000048d0  30 25 2d 3d 62 78 25 3a  63 79 30 25 2d 3d 62 79  |0%-=bx%:cy0%-=by|
000048e0  25 3a 63 78 31 25 2d 3d  62 78 25 3a 63 79 31 25  |%:cx1%-=bx%:cy1%|
000048f0  2d 3d 62 79 25 0d 19 f0  15 e7 63 78 30 25 3e 63  |-=by%.....cx0%>c|
00004900  78 31 25 8c f2 73 77 61  70 78 0d 19 fa 15 e7 63  |x1%..swapx.....c|
00004910  79 30 25 3e 63 79 31 25  8c f2 73 77 61 70 79 0d  |y0%>cy1%..swapy.|
00004920  1a 04 4d 63 75 72 72 65  6e 74 69 63 6f 6e 25 3d  |..Mcurrenticon%=|
00004930  a4 63 72 69 63 6f 6e 28  21 71 25 2c 63 78 30 25  |.cricon(!q%,cx0%|
00004940  2c 63 79 30 25 2c 63 78  31 25 2c 63 79 31 25 2c  |,cy0%,cx1%,cy1%,|
00004950  6f 6c 64 66 6c 61 67 73  25 2c 6f 64 74 30 25 2c  |oldflags%,odt0%,|
00004960  6f 64 74 31 25 2c 6f 64  74 32 25 29 0d 1a 0e 05  |odt1%,odt2%)....|
00004970  e1 0d 1a 18 04 0d 1a 22  3b dd a4 63 72 69 63 6f  |.......";..crico|
00004980  6e 28 68 61 6e 64 6c 65  25 2c 78 30 25 2c 79 30  |n(handle%,x0%,y0|
00004990  25 2c 78 31 25 2c 79 31  25 2c 66 6c 61 67 73 25  |%,x1%,y1%,flags%|
000049a0  2c 64 74 30 25 2c 64 74  31 25 2c 64 74 32 25 29  |,dt0%,dt1%,dt2%)|
000049b0  0d 1a 2c 08 ea 69 63 25  0d 1a 36 0f 21 71 25 3d  |..,..ic%..6.!q%=|
000049c0  68 61 6e 64 6c 65 25 0d  1a 40 31 71 25 21 32 30  |handle%..@1q%!20|
000049d0  3d 66 6c 61 67 73 25 3a  71 25 21 32 34 3d 64 74  |=flags%:q%!24=dt|
000049e0  30 25 3a 71 25 21 32 38  3d 64 74 31 25 3a 71 25  |0%:q%!28=dt1%:q%|
000049f0  21 33 32 3d 64 74 32 25  0d 1a 4a 23 74 65 78 74  |!32=dt2%..J#text|
00004a00  24 3d a4 69 63 6f 6e 73  74 72 69 6e 67 28 66 6c  |$=.iconstring(fl|
00004a10  61 67 73 25 2c 71 25 2b  32 34 29 0d 1a 54 29 f2  |ags%,q%+24)..T).|
00004a20  67 65 74 6d 69 6e 78 79  28 66 6c 61 67 73 25 2c  |getminxy(flags%,|
00004a30  74 65 78 74 24 2c 74 65  78 74 24 29 3a f4 20 62  |text$,text$):. b|
00004a40  6f 64 67 65 0d 1a 5e 20  e7 78 31 25 2d 78 30 25  |odge..^ .x1%-x0%|
00004a50  3c 6d 69 6e 78 25 8c 78  31 25 3d 78 30 25 2b 6d  |<minx%.x1%=x0%+m|
00004a60  69 6e 78 25 0d 1a 68 20  e7 79 31 25 2d 79 30 25  |inx%..h .y1%-y0%|
00004a70  3c 6d 69 6e 79 25 8c 79  31 25 3d 79 30 25 2b 6d  |<miny%.y1%=y0%+m|
00004a80  69 6e 79 25 0d 1a 72 29  71 25 21 34 3d 78 30 25  |iny%..r)q%!4=x0%|
00004a90  3a 71 25 21 38 3d 79 30  25 3a 71 25 21 31 32 3d  |:q%!8=y0%:q%!12=|
00004aa0  78 31 25 3a 71 25 21 31  36 3d 79 31 25 0d 1a 7c  |x1%:q%!16=y1%..||
00004ab0  1f c8 99 22 57 69 6d 70  5f 43 72 65 61 74 65 49  |..."Wimp_CreateI|
00004ac0  63 6f 6e 22 2c 2c 71 25  b8 69 63 25 0d 1a 86 3e  |con",,q%.ic%...>|
00004ad0  c8 99 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |.."Wimp_ForceRed|
00004ae0  72 61 77 22 2c 21 71 25  2c 71 25 21 34 2d 32 30  |raw",!q%,q%!4-20|
00004af0  2c 71 25 21 38 2d 32 30  2c 71 25 21 31 32 2b 32  |,q%!8-20,q%!12+2|
00004b00  30 2c 71 25 21 31 36 2b  32 30 0d 1a 90 21 c8 99  |0,q%!16+20...!..|
00004b10  22 57 69 6d 70 5f 47 65  74 43 61 72 65 74 50 6f  |"Wimp_GetCaretPo|
00004b20  73 69 74 69 6f 6e 22 2c  2c 71 25 0d 1a 9a 48 e7  |sition",,q%...H.|
00004b30  21 71 25 3d 68 61 6e 64  6c 65 25 e7 71 25 21 34  |!q%=handle%.q%!4|
00004b40  3d 69 63 25 3a c8 99 22  57 69 6d 70 5f 53 65 74  |=ic%:.."Wimp_Set|
00004b50  43 61 72 65 74 50 6f 73  69 74 69 6f 6e 22 2c 68  |CaretPosition",h|
00004b60  61 6e 64 6c 65 25 2c 69  63 25 2c 30 2c 30 2c 2d  |andle%,ic%,0,0,-|
00004b70  31 2c 30 0d 1a a4 08 3d  69 63 25 0d 1a ae 04 0d  |1,0....=ic%.....|
00004b80  1a b8 1f dd f2 64 65 6c  65 74 65 69 63 6f 6e 28  |.....deleteicon(|
00004b90  68 61 6e 64 6c 65 25 2c  69 63 6f 6e 25 29 0d 1a  |handle%,icon%)..|
00004ba0  c2 34 21 71 25 3d 68 61  6e 64 6c 65 25 3a 71 25  |.4!q%=handle%:q%|
00004bb0  21 34 3d 69 63 6f 6e 25  3a c8 99 22 57 69 6d 70  |!4=icon%:.."Wimp|
00004bc0  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
00004bd0  71 25 0d 1a cc 1b c8 99  22 57 69 6d 70 5f 44 65  |q%......"Wimp_De|
00004be0  6c 65 74 65 49 63 6f 6e  22 2c 2c 71 25 0d 1a d6  |leteIcon",,q%...|
00004bf0  3f c8 99 22 57 69 6d 70  5f 46 6f 72 63 65 52 65  |?.."Wimp_ForceRe|
00004c00  64 72 61 77 22 2c 21 71  25 2c 71 25 21 38 2d 32  |draw",!q%,q%!8-2|
00004c10  30 2c 71 25 21 31 32 2d  32 30 2c 71 25 21 31 36  |0,q%!12-20,q%!16|
00004c20  2b 32 30 2c 71 25 21 32  30 2b 32 30 0d 1a e0 05  |+20,q%!20+20....|
00004c30  e1 0d 1a ea 04 0d 1a f4  52 2d 2d 2d 2d 2d 2d 2d  |........R-------|
00004c40  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004c80  2d 2d 2d 2d 2d 2d 2d 0d  1a fe 04 0d 1b 08 0e dd  |-------.........|
00004c90  f2 6d 65 6e 75 28 6d 25  29 0d 1b 12 12 6d 65 6e  |.menu(m%)....men|
00004ca0  75 68 61 6e 64 6c 65 25  3d 6d 25 0d 1b 1c 15 e7  |uhandle%=m%.....|
00004cb0  a4 65 6e 63 6f 64 65 6d  65 6e 75 28 6d 25 29 8c  |.encodemenu(m%).|
00004cc0  0d 1b 26 10 e7 68 61 6e  64 6c 65 25 3d 2d 32 8c  |..&..handle%=-2.|
00004cd0  0d 1b 30 27 49 25 3d 6d  25 21 32 30 2b 6d 25 21  |..0'I%=m%!20+m%!|
00004ce0  32 34 3a 4a 25 3d 6d 25  2b 32 38 3a 4b 25 3d 39  |24:J%=m%+28:K%=9|
00004cf0  36 2d 6d 25 21 32 34 0d  1b 3a 1e f5 4b 25 2b 3d  |6-m%!24..:..K%+=|
00004d00  49 25 3a 4a 25 2b 3d 32  34 3a fd 4a 25 21 2d 32  |I%:J%+=24:.J%!-2|
00004d10  34 80 26 38 30 0d 1b 44  23 4b 25 2b 3d 32 34 3a  |4.&80..D#K%+=24:|
00004d20  f4 20 64 6f 74 74 65 64  20 6c 69 6e 65 20 73 65  |. dotted line se|
00004d30  70 61 72 61 74 6f 72 21  0d 1b 4e 12 cc 4b 25 3d  |parator!..N..K%=|
00004d40  6d 6f 75 73 65 79 25 2b  31 32 0d 1b 58 05 cd 0d  |mousey%+12..X...|
00004d50  1b 62 33 c8 99 22 57 69  6d 70 5f 43 72 65 61 74  |.b3.."Wimp_Creat|
00004d60  65 4d 65 6e 75 22 2c 2c  6d 65 6e 75 68 61 6e 64  |eMenu",,menuhand|
00004d70  6c 65 25 2c 6d 6f 75 73  65 78 25 2d 31 30 32 2c  |le%,mousex%-102,|
00004d80  4b 25 0d 1b 6c 25 6f 6c  64 68 61 6e 64 6c 65 25  |K%..l%oldhandle%|
00004d90  3d 68 61 6e 64 6c 65 25  3a 6f 6c 64 69 63 6f 6e  |=handle%:oldicon|
00004da0  25 3d 69 63 6f 6e 25 0d  1b 76 05 cd 0d 1b 80 05  |%=icon%..v......|
00004db0  e1 0d 1b 8a 04 0d 1b 94  0c dd f2 72 65 6d 65 6e  |...........remen|
00004dc0  75 0d 1b 9e 25 68 61 6e  64 6c 65 25 3d 6f 6c 64  |u...%handle%=old|
00004dd0  68 61 6e 64 6c 65 25 3a  69 63 6f 6e 25 3d 6f 6c  |handle%:icon%=ol|
00004de0  64 69 63 6f 6e 25 0d 1b  a8 1e e7 a4 65 6e 63 6f  |dicon%......enco|
00004df0  64 65 6d 65 6e 75 28 6d  65 6e 75 68 61 6e 64 6c  |demenu(menuhandl|
00004e00  65 25 29 8c 0d 1b b2 4c  c8 99 22 57 69 6d 70 5f  |e%)....L.."Wimp_|
00004e10  43 72 65 61 74 65 4d 65  6e 75 22 2c 2c 6d 65 6e  |CreateMenu",,men|
00004e20  75 68 61 6e 64 6c 65 25  2c 6d 6f 75 73 65 78 25  |uhandle%,mousex%|
00004e30  2d 31 30 32 2c 6d 6f 75  73 65 79 25 2b 31 32 3a  |-102,mousey%+12:|
00004e40  f4 20 64 65 66 61 75 6c  74 20 63 6f 6f 72 64 73  |. default coords|
00004e50  0d 1b bc 05 cd 0d 1b c6  05 e1 0d 1b d0 04 0d 1b  |................|
00004e60  da 0c dd a4 63 72 6d 65  6e 75 0d 1b e4 2e e7 6d  |....crmenu.....m|
00004e70  65 6e 75 66 72 65 65 25  2b 32 38 3e 6d 65 6e 75  |enufree%+28>menu|
00004e80  65 6e 64 25 8c 85 31 2c  22 4d 65 6e 75 20 61 72  |end%..1,"Menu ar|
00004e90  65 61 20 66 75 6c 6c 22  0d 1b ee 17 ea 6d 25 2c  |ea full".....m%,|
00004ea0  6d 65 6e 75 24 2c 6d 24  3a f3 6d 65 6e 75 24 0d  |menu$,m$:.menu$.|
00004eb0  1b f8 34 c8 95 c2 6d 65  6e 75 24 2c 32 29 3d 22  |..4...menu$,2)="|
00004ec0  2b 2b 22 3a f3 6d 24 3a  6d 65 6e 75 24 3d c0 6d  |++":.m$:menu$=.m|
00004ed0  65 6e 75 24 2c a9 6d 65  6e 75 24 2d 32 29 2b 6d  |enu$,.menu$-2)+m|
00004ee0  24 3a ce 0d 1c 02 23 e7  c0 6d 65 6e 75 24 2c 31  |$:....#..menu$,1|
00004ef0  29 3d 22 3d 22 8c 6d 65  6e 75 24 3d a0 c1 6d 65  |)="=".menu$=..me|
00004f00  6e 75 24 2c 32 29 0d 1c  0c 16 6d 65 6e 75 70 74  |nu$,2)....menupt|
00004f10  72 25 3d 6d 65 6e 75 66  72 65 65 25 0d 1c 16 0f  |r%=menufree%....|
00004f20  69 25 3d 30 3a 63 74 72  25 3d 30 0d 1c 20 3a e7  |i%=0:ctr%=0.. :.|
00004f30  c0 6d 65 6e 75 24 2c 31  29 3d 22 23 22 8c 69 25  |.menu$,1)="#".i%|
00004f40  3d 31 3a 6d 65 6e 75 74  69 74 6c 65 24 3d a4 70  |=1:menutitle$=.p|
00004f50  61 72 28 22 2c 22 29 8b  6d 65 6e 75 74 69 74 6c  |ar(",").menutitl|
00004f60  65 24 3d 22 22 0d 1c 2a  17 49 25 3d a7 6d 65 6e  |e$=""..*.I%=.men|
00004f70  75 74 69 74 6c 65 24 2c  22 3e 22 29 0d 1c 34 0a  |utitle$,">")..4.|
00004f80  e7 49 25 3e 30 8c 0d 1c  3e 24 6d 65 6e 75 70 74  |.I%>0...>$menupt|
00004f90  72 25 21 32 30 3d a0 28  c1 6d 65 6e 75 74 69 74  |r%!20=.(.menutit|
00004fa0  6c 65 24 2c 49 25 2b 31  29 29 0d 1c 48 20 6d 65  |le$,I%+1))..H me|
00004fb0  6e 75 74 69 74 6c 65 24  3d c0 6d 65 6e 75 74 69  |nutitle$=.menuti|
00004fc0  74 6c 65 24 2c 49 25 2d  31 29 0d 1c 52 13 cc 6d  |tle$,I%-1)..R..m|
00004fd0  65 6e 75 70 74 72 25 21  32 30 3d 34 30 0d 1c 5c  |enuptr%!20=40..\|
00004fe0  05 cd 0d 1c 66 18 24 6d  65 6e 75 70 74 72 25 3d  |....f.$menuptr%=|
00004ff0  6d 65 6e 75 74 69 74 6c  65 24 0d 1c 70 4a 6d 65  |menutitle$..pJme|
00005000  6e 75 70 74 72 25 3f 31  32 3d 60 74 66 63 6f 6c  |nuptr%?12=`tfcol|
00005010  3a 6d 65 6e 75 70 74 72  25 3f 31 33 3d 32 3a 6d  |:menuptr%?13=2:m|
00005020  65 6e 75 70 74 72 25 3f  31 34 3d 60 77 66 63 6f  |enuptr%?14=`wfco|
00005030  6c 3a 6d 65 6e 75 70 74  72 25 3f 31 35 3d 60 77  |l:menuptr%?15=`w|
00005040  62 63 6f 6c 0d 1c 7a 24  6d 65 6e 75 70 74 72 25  |bcol..z$menuptr%|
00005050  21 31 36 3d 31 39 36 2d  32 34 3a 6d 65 6e 75 70  |!16=196-24:menup|
00005060  74 72 25 21 32 34 3d 30  0d 1c 84 24 6d 65 6e 75  |tr%!24=0...$menu|
00005070  70 74 72 25 2b 3d 32 38  3a 6d 61 78 78 25 3d a9  |ptr%+=28:maxx%=.|
00005080  6d 65 6e 75 74 69 74 6c  65 24 2d 33 0d 1c 8e 13  |menutitle$-3....|
00005090  c8 95 c2 6d 65 6e 75 24  2c 31 29 3d 22 7e 22 0d  |...menu$,1)="~".|
000050a0  1c 98 1a 6d 65 6e 75 24  3d c0 6d 65 6e 75 24 2c  |...menu$=.menu$,|
000050b0  a9 6d 65 6e 75 24 2d 31  29 0d 1c a2 2f f5 69 74  |.menu$-1).../.it|
000050c0  65 6d 24 3d a4 70 61 72  28 22 2c 22 29 3a f2 6d  |em$=.par(","):.m|
000050d0  65 6e 75 69 74 65 6d 28  69 74 65 6d 24 29 3a fd  |enuitem(item$):.|
000050e0  69 74 65 6d 24 3d 22 22  0d 1c ac 0a f3 6d 65 6e  |item$="".....men|
000050f0  75 24 0d 1c b6 05 ce 0d  1c c0 2f f5 69 74 65 6d  |u$......../.item|
00005100  24 3d a4 70 61 72 28 22  2c 22 29 3a f2 6d 65 6e  |$=.par(","):.men|
00005110  75 69 74 65 6d 28 69 74  65 6d 24 29 3a fd 69 74  |uitem(item$):.it|
00005120  65 6d 24 3d 22 22 0d 1c  ca 2b e7 6d 65 6e 75 70  |em$=""...+.menup|
00005130  74 72 25 2d 6d 65 6e 75  66 72 65 65 25 3c 3d 32  |tr%-menufree%<=2|
00005140  38 8c 3d 2d 31 3a f4 20  6e 75 6c 6c 20 6d 65 6e  |8.=-1:. null men|
00005150  75 0d 1c d4 23 6d 65 6e  75 70 74 72 25 21 2d 32  |u...#menuptr%!-2|
00005160  34 3d 28 6d 65 6e 75 70  74 72 25 21 2d 32 34 29  |4=(menuptr%!-24)|
00005170  84 26 38 30 0d 1c de 22  6d 25 3d 6d 65 6e 75 66  |.&80..."m%=menuf|
00005180  72 65 65 25 3a 6d 25 21  31 36 3d 6d 61 78 78 25  |ree%:m%!16=maxx%|
00005190  2a 31 36 2b 31 32 0d 1c  e8 16 6d 65 6e 75 66 72  |*16+12....menufr|
000051a0  65 65 25 3d 6d 65 6e 75  70 74 72 25 0d 1c f2 07  |ee%=menuptr%....|
000051b0  3d 6d 25 0d 1c fc 04 0d  1d 06 15 dd f2 6d 65 6e  |=m%..........men|
000051c0  75 69 74 65 6d 28 74 65  78 74 24 29 0d 1d 10 0f  |uitem(text$)....|
000051d0  e7 74 65 78 74 24 3d 22  22 8c e1 0d 1d 1a 2d e7  |.text$="".....-.|
000051e0  6d 65 6e 75 70 74 72 25  2b 32 34 3e 6d 65 6e 75  |menuptr%+24>menu|
000051f0  65 6e 64 25 8c 85 31 2c  22 4d 65 6e 75 20 61 72  |end%..1,"Menu ar|
00005200  65 61 20 66 75 6c 6c 22  0d 1d 24 0f e7 74 65 78  |ea full"..$..tex|
00005210  74 24 3d 22 26 22 8c 0d  1d 2e 26 c8 99 22 46 6f  |t$="&"....&.."Fo|
00005220  6e 74 5f 4c 69 73 74 46  6f 6e 74 73 22 2c 2c 71  |nt_ListFonts",,q|
00005230  25 2c 63 74 72 25 b8 2c  2c 63 74 72 25 0d 1d 38  |%,ctr%.,,ctr%..8|
00005240  2a e7 63 74 72 25 3e 3d  30 8c 74 65 78 74 24 3d  |*.ctr%>=0.text$=|
00005250  24 71 25 2b 22 3e 6d 5f  66 73 69 7a 65 25 22 3a  |$q%+">m_fsize%":|
00005260  69 25 2d 3d 32 8b e1 0d  1d 42 05 cd 0d 1d 4c 0c  |i%-=2....B....L.|
00005270  ea 69 25 2c 66 6c 67 25  0d 1d 56 0c 66 6c 67 25  |.i%,flg%..V.flg%|
00005280  3d 26 30 30 0d 1d 60 12  69 25 3d a7 74 65 78 74  |=&00..`.i%=.text|
00005290  24 2c 22 3f 22 29 0d 1d  6a 22 e7 69 25 3c 32 8c  |$,"?")..j".i%<2.|
000052a0  69 25 3d a7 74 65 78 74  24 2c 22 3e 22 29 8b 66  |i%=.text$,">").f|
000052b0  6c 67 25 2b 3d 26 30 38  0d 1d 74 3d e7 69 25 3e  |lg%+=&08..t=.i%>|
000052c0  30 8c 73 75 62 70 74 72  25 3d a0 c1 74 65 78 74  |0.subptr%=..text|
000052d0  24 2c 69 25 2b 31 29 3a  74 65 78 74 24 3d c0 74  |$,i%+1):text$=.t|
000052e0  65 78 74 24 2c 69 25 2d  31 29 8b 73 75 62 70 74  |ext$,i%-1).subpt|
000052f0  72 25 3d 2d 31 0d 1d 7e  33 e7 c2 74 65 78 74 24  |r%=-1..~3..text$|
00005300  2c 31 29 3d 22 23 22 8c  74 65 78 74 24 3d c0 74  |,1)="#".text$=.t|
00005310  65 78 74 24 2c a9 74 65  78 74 24 2d 31 29 3a 66  |ext$,.text$-1):f|
00005320  6c 67 25 2b 3d 26 30 32  0d 1d 88 13 6d 65 6e 75  |lg%+=&02....menu|
00005330  70 74 72 25 21 30 3d 66  6c 67 25 0d 1d 92 16 6d  |ptr%!0=flg%....m|
00005340  65 6e 75 70 74 72 25 21  34 3d 73 75 62 70 74 72  |enuptr%!4=subptr|
00005350  25 0d 1d 9c 18 6d 65 6e  75 70 74 72 25 21 38 3d  |%....menuptr%!8=|
00005360  26 30 37 30 30 30 30 32  31 0d 1d a6 13 e7 c0 74  |&07000021......t|
00005370  65 78 74 24 2c 31 29 3d  22 3f 22 8c 0d 1d b0 18  |ext$,1)="?".....|
00005380  6d 65 6e 75 70 74 72 25  21 38 3d 26 30 37 30 30  |menuptr%!8=&0700|
00005390  30 31 31 41 0d 1d ba 27  49 25 3d a4 77 6f 72 6b  |011A...'I%=.work|
000053a0  73 70 61 63 65 28 a9 74  65 78 74 24 29 3a 24 49  |space(.text$):$I|
000053b0  25 3d c1 74 65 78 74 24  2c 32 29 0d 1d c4 40 6d  |%=.text$,2)...@m|
000053c0  65 6e 75 70 74 72 25 21  31 32 3d 49 25 3a 6d 65  |enuptr%!12=I%:me|
000053d0  6e 75 70 74 72 25 21 31  36 3d 73 79 73 74 65 6d  |nuptr%!16=system|
000053e0  73 70 72 69 74 65 73 25  3a 6d 65 6e 75 70 74 72  |sprites%:menuptr|
000053f0  25 21 32 30 3d a9 74 65  78 74 24 0d 1d ce 05 cc  |%!20=.text$.....|
00005400  0d 1d d8 13 e7 c0 74 65  78 74 24 2c 31 29 3d 22  |......text$,1)="|
00005410  24 22 8c 0d 1d e2 12 21  6d 65 6e 75 70 74 72 25  |$".....!menuptr%|
00005420  2b 3d 26 30 34 0d 1d ec  14 6d 65 6e 75 70 74 72  |+=&04....menuptr|
00005430  25 21 38 2b 3d 26 31 30  30 0d 1d f6 12 69 25 3d  |%!8+=&100....i%=|
00005440  a7 74 65 78 74 24 2c 22  28 22 29 0d 1e 00 33 e7  |.text$,"(")...3.|
00005450  69 25 3e 30 8c 4c 25 3d  bb c1 74 65 78 74 24 2c  |i%>0.L%=..text$,|
00005460  69 25 2b 31 29 3a 74 65  78 74 24 3d c0 74 65 78  |i%+1):text$=.tex|
00005470  74 24 2c 69 25 2d 31 29  8b 4c 25 3d 31 32 0d 1e  |t$,i%-1).L%=12..|
00005480  0a 38 6d 65 6e 75 70 74  72 25 21 31 32 3d a0 c1  |.8menuptr%!12=..|
00005490  74 65 78 74 24 2c 32 29  3a 6d 65 6e 75 70 74 72  |text$,2):menuptr|
000054a0  25 21 31 36 3d 2d 31 3a  6d 65 6e 75 70 74 72 25  |%!16=-1:menuptr%|
000054b0  21 32 30 3d 4c 25 0d 1e  14 32 e7 76 65 72 73 69  |!20=L%...2.versi|
000054c0  6f 6e 25 3e 3d 31 33 33  8c e7 4c 25 3e 31 35 8c  |on%>=133..L%>15.|
000054d0  4c 25 3d 31 35 3a f4 20  69 63 6f 6e 73 20 63 61  |L%=15:. icons ca|
000054e0  6e 20 73 63 72 6f 6c 6c  0d 1e 1e 2c 74 65 78 74  |n scroll...,text|
000054f0  24 3d c4 4c 25 2d 31 2c  22 20 22 29 3a f4 20 31  |$=.L%-1," "):. 1|
00005500  20 63 68 61 72 20 77 61  73 20 74 65 72 6d 69 6e  | char was termin|
00005510  61 74 6f 72 0d 1e 28 05  cc 0d 1e 32 10 e7 a9 74  |ator..(....2...t|
00005520  65 78 74 24 3c 3d 31 32  8c 0d 1e 3c 18 24 28 6d  |ext$<=12...<.$(m|
00005530  65 6e 75 70 74 72 25 2b  31 32 29 3d 74 65 78 74  |enuptr%+12)=text|
00005540  24 0d 1e 46 26 cc 49 25  3d a4 77 6f 72 6b 73 70  |$..F&.I%=.worksp|
00005550  61 63 65 28 a9 74 65 78  74 24 2b 31 29 3a 24 49  |ace(.text$+1):$I|
00005560  25 3d 74 65 78 74 24 0d  1e 50 36 6d 65 6e 75 70  |%=text$..P6menup|
00005570  74 72 25 21 31 32 3d 49  25 3a 6d 65 6e 75 70 74  |tr%!12=I%:menupt|
00005580  72 25 21 31 36 3d 2d 31  3a 6d 65 6e 75 70 74 72  |r%!16=-1:menuptr|
00005590  25 21 32 30 3d a9 74 65  78 74 24 2b 31 0d 1e 5a  |%!20=.text$+1..Z|
000055a0  1e 6d 65 6e 75 70 74 72  25 21 38 3d 6d 65 6e 75  |.menuptr%!8=menu|
000055b0  70 74 72 25 21 38 84 26  31 30 30 0d 1e 64 05 cd  |ptr%!8.&100..d..|
000055c0  0d 1e 6e 05 cd 0d 1e 78  1e e7 a9 74 65 78 74 24  |..n....x...text$|
000055d0  3e 6d 61 78 78 25 8c 6d  61 78 78 25 3d a9 74 65  |>maxx%.maxx%=.te|
000055e0  78 74 24 0d 1e 82 05 cd  0d 1e 8c 10 6d 65 6e 75  |xt$.........menu|
000055f0  70 74 72 25 2b 3d 32 34  0d 1e 96 05 e1 0d 1e a0  |ptr%+=24........|
00005600  04 0d 1e aa 0f dd a4 70  61 72 28 73 65 70 24 29  |.......par(sep$)|
00005610  0d 1e b4 25 69 31 25 3d  69 25 2b 31 3a 69 25 3d  |...%i1%=i%+1:i%=|
00005620  a7 6d 65 6e 75 24 2b 73  65 70 24 2c 73 65 70 24  |.menu$+sep$,sep$|
00005630  2c 69 31 25 29 0d 1e be  17 3d c1 6d 65 6e 75 24  |,i1%)....=.menu$|
00005640  2c 69 31 25 2c 69 25 2d  69 31 25 29 0d 1e c8 04  |,i1%,i%-i1%)....|
00005650  0d 1e d2 52 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |...R------------|
00005660  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000056a0  2d 2d 0d 1e dc 04 0d 1e  e6 14 dd f2 77 69 6e 64  |--..........wind|
000056b0  6f 77 6d 65 6e 75 28 49  25 29 0d 1e f0 25 6d 6d  |owmenu(I%)...%mm|
000056c0  6f 75 73 65 78 25 3d 6d  6f 75 73 65 78 25 3a 6d  |ousex%=mousex%:m|
000056d0  6d 6f 75 73 65 79 25 3d  6d 6f 75 73 65 79 25 0d  |mousey%=mousey%.|
000056e0  1e fa 24 63 75 72 72 65  6e 74 77 69 6e 64 6f 77  |..$currentwindow|
000056f0  25 3d 49 25 3a f2 68 69  67 68 6c 69 67 68 74 28  |%=I%:.highlight(|
00005700  49 25 29 0d 1f 04 28 63  75 72 72 65 6e 74 69 63  |I%)...(currentic|
00005710  6f 6e 25 3d 69 63 6f 6e  25 3a f2 6d 65 6e 75 28  |on%=icon%:.menu(|
00005720  77 5f 67 65 6e 65 72 61  6c 25 29 0d 1f 0e 05 e1  |w_general%).....|
00005730  0d 1f 18 04 0d 1f 22 14  dd f2 73 70 72 69 74 65  |......"...sprite|
00005740  6d 65 6e 75 28 49 25 29  0d 1f 2c 37 63 75 72 72  |menu(I%)..,7curr|
00005750  65 6e 74 73 70 72 69 74  65 25 3d 49 25 3a 6d 6d  |entsprite%=I%:mm|
00005760  6f 75 73 65 78 25 3d 6d  6f 75 73 65 78 25 3a 6d  |ousex%=mousex%:m|
00005770  6d 6f 75 73 65 79 25 3d  6d 6f 75 73 65 79 25 0d  |mousey%=mousey%.|
00005780  1f 36 14 f2 6d 65 6e 75  28 6d 5f 73 70 72 69 74  |.6..menu(m_sprit|
00005790  65 25 29 0d 1f 40 05 e1  0d 1f 4a 04 0d 1f 54 13  |e%)..@....J...T.|
000057a0  dd f2 68 69 67 68 6c 69  67 68 74 28 49 25 29 0d  |..highlight(I%).|
000057b0  1f 5e 05 e1 0d 1f 68 3b  c8 99 22 57 69 6d 70 5f  |.^....h;.."Wimp_|
000057c0  53 65 74 43 61 72 65 74  50 6f 73 69 74 69 6f 6e  |SetCaretPosition|
000057d0  22 2c 68 61 6e 64 6c 65  25 28 49 25 29 2c 2d 31  |",handle%(I%),-1|
000057e0  2c 30 2c 30 2c 26 32 30  30 30 30 30 30 2c 30 0d  |,0,0,&2000000,0.|
000057f0  1f 72 05 e1 0d 1f 7c 04  0d 1f 86 52 2d 2d 2d 2d  |.r....|....R----|
00005800  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00005840  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 1f 90 04 0d 1f  |----------......|
00005850  9a 1d dd f2 65 6e 63 6f  64 65 6d 65 6e 75 28 6d  |....encodemenu(m|
00005860  65 6e 75 68 61 6e 64 6c  65 25 29 0d 1f a4 3c e7  |enuhandle%)...<.|
00005870  a4 65 6e 63 6f 64 65 6d  65 6e 75 28 6d 65 6e 75  |.encodemenu(menu|
00005880  68 61 6e 64 6c 65 25 29  8b 85 31 2c 22 4d 65 6e  |handle%)..1,"Men|
00005890  75 20 73 68 6f 75 6c 64  6e 27 74 20 62 65 20 61  |u shouldn't be a|
000058a0  6c 6c 6f 77 65 64 22 0d  1f ae 05 e1 0d 1f b8 04  |llowed".........|
000058b0  0d 1f c2 1d dd a4 65 6e  63 6f 64 65 6d 65 6e 75  |......encodemenu|
000058c0  28 6d 65 6e 75 68 61 6e  64 6c 65 25 29 0d 1f cc  |(menuhandle%)...|
000058d0  2a e7 6d 65 6e 75 68 61  6e 64 6c 65 25 3c 26 38  |*.menuhandle%<&8|
000058e0  30 30 30 8c 85 31 2c 22  42 61 64 20 6d 65 6e 75  |000..1,"Bad menu|
000058f0  68 61 6e 64 6c 65 22 0d  1f d6 07 ea 49 25 0d 1f  |handle".....I%..|
00005900  e0 15 49 25 3d 6d 65 6e  75 68 61 6e 64 6c 65 25  |..I%=menuhandle%|
00005910  2b 32 38 0d 1f ea 37 f5  21 49 25 3d 21 49 25 80  |+28...7.!I%=!I%.|
00005920  ac 26 30 31 3a 49 25 21  38 3d 49 25 21 38 80 ac  |.&01:I%!8=I%!8..|
00005930  26 34 30 30 30 30 30 3a  49 25 2b 3d 32 34 3a fd  |&400000:I%+=24:.|
00005940  49 25 21 2d 32 34 80 26  38 30 0d 1f f4 12 c8 8e  |I%!-24.&80......|
00005950  6d 65 6e 75 68 61 6e 64  6c 65 25 ca 0d 1f fe 0e  |menuhandle%.....|
00005960  c9 6d 61 69 6e 6d 65 6e  75 25 0d 20 08 2c 24 6d  |.mainmenu%. .,$m|
00005970  62 5f 77 69 64 65 6e 74  25 3d 22 22 3a 24 6d 62  |b_wident%="":$mb|
00005980  5f 74 65 6d 70 6c 61 74  65 73 25 3d 74 65 6d 70  |_templates%=temp|
00005990  6c 61 74 65 66 24 0d 20  12 0d c9 69 5f 66 6c 61  |latef$. ...i_fla|
000059a0  67 73 25 0d 20 1c 0c f2  67 65 74 63 75 72 69 0d  |gs%. ...getcuri.|
000059b0  20 26 3d f2 65 6e 63 6f  64 65 69 63 6f 6e 28 69  | &=.encodeicon(i|
000059c0  5f 66 6c 61 67 73 25 2c  31 31 2c 66 6c 61 67 73  |_flags%,11,flags|
000059d0  25 2c 71 25 2b 32 38 2c  69 62 5f 74 65 78 74 25  |%,q%+28,ib_text%|
000059e0  2c 69 62 5f 73 70 72 69  74 65 25 29 0d 20 30 17  |,ib_sprite%). 0.|
000059f0  24 69 62 5f 62 75 66 66  65 72 73 69 7a 65 25 3d  |$ib_buffersize%=|
00005a00  c3 4c 25 0d 20 3a 16 24  69 62 5f 76 61 6c 69 64  |.L%. :.$ib_valid|
00005a10  61 74 69 6f 6e 25 3d 22  22 0d 20 44 1e f2 65 6e  |ation%="". D..en|
00005a20  63 6f 64 65 6d 65 6e 75  28 69 5f 62 75 66 66 65  |codemenu(i_buffe|
00005a30  72 73 69 7a 65 25 29 0d  20 4e 14 e7 28 66 6c 61  |rsize%). N..(fla|
00005a40  67 73 25 80 26 30 31 29  3d 30 8c 0d 20 58 1b f2  |gs%.&01)=0.. X..|
00005a50  73 68 61 64 65 28 69 5f  62 75 66 66 65 72 73 69  |shade(i_buffersi|
00005a60  7a 65 25 2c 31 29 0d 20  62 12 cc e7 66 6c 61 67  |ze%,1). b...flag|
00005a70  73 25 80 26 31 30 30 8c  0d 20 6c 3c e7 71 25 21  |s%.&100.. l<.q%!|
00005a80  33 32 3e 30 8c 24 69 62  5f 76 61 6c 69 64 61 74  |32>0.$ib_validat|
00005a90  69 6f 6e 25 3d 24 28 71  25 21 33 32 29 3a f2 74  |ion%=$(q%!32):.t|
00005aa0  69 63 6b 28 69 5f 62 75  66 66 65 72 73 69 7a 65  |ick(i_buffersize|
00005ab0  25 2c 31 29 0d 20 76 05  cd 0d 20 80 05 cd 0d 20  |%,1). v... .... |
00005ac0  8a 27 24 28 69 5f 66 6c  61 67 73 25 2b 32 38 2b  |.'$(i_flags%+28+|
00005ad0  31 32 2b 32 34 2a 31 34  29 3d 22 46 67 20 63 6f  |12+24*14)="Fg co|
00005ae0  6c 6f 75 72 22 0d 20 94  27 24 28 69 5f 66 6c 61  |lour". .'$(i_fla|
00005af0  67 73 25 2b 32 38 2b 31  32 2b 32 34 2a 31 35 29  |gs%+28+12+24*15)|
00005b00  3d 22 42 67 20 63 6f 6c  6f 75 72 22 0d 20 9e 34  |="Bg colour". .4|
00005b10  e7 66 6c 61 67 73 25 80  26 30 32 8c 24 28 69 5f  |.flags%.&02.$(i_|
00005b20  66 6c 61 67 73 25 2b 32  38 2b 31 32 2b 32 34 2a  |flags%+28+12+24*|
00005b30  31 34 29 3d 22 45 4f 52  20 63 6f 6c 6f 75 72 22  |14)="EOR colour"|
00005b40  0d 20 a8 34 e7 66 6c 61  67 73 25 80 26 32 30 8b  |. .4.flags%.&20.|
00005b50  24 28 69 5f 66 6c 61 67  73 25 2b 32 38 2b 31 32  |$(i_flags%+28+12|
00005b60  2b 32 34 2a 31 35 29 3d  22 45 4f 52 20 63 6f 6c  |+24*15)="EOR col|
00005b70  6f 75 72 22 0d 20 b2 10  e7 66 6c 61 67 73 25 80  |our". ...flags%.|
00005b80  26 34 30 8c 0d 20 bc 1c  69 5f 66 6c 61 67 73 25  |&40.. ..i_flags%|
00005b90  3f 28 32 38 2b 31 31 2b  32 34 2a 31 34 29 3d 37  |?(28+11+24*14)=7|
00005ba0  0d 20 c6 1c 69 5f 66 6c  61 67 73 25 3f 28 32 38  |. ..i_flags%?(28|
00005bb0  2b 31 31 2b 32 34 2a 31  35 29 3d 37 0d 20 d0 2b  |+11+24*15)=7. .+|
00005bc0  f2 73 68 61 64 65 28 69  5f 66 6c 61 67 73 25 2c  |.shade(i_flags%,|
00005bd0  31 34 29 3a f2 73 68 61  64 65 28 69 5f 66 6c 61  |14):.shade(i_fla|
00005be0  67 73 25 2c 31 35 29 0d  20 da 05 cc 0d 20 e4 35  |gs%,15). .... .5|
00005bf0  69 5f 66 6c 61 67 73 25  3f 28 32 38 2b 31 31 2b  |i_flags%?(28+11+|
00005c00  32 34 2a 31 34 29 3d a4  66 6f 72 65 62 61 63 6b  |24*14)=.foreback|
00005c10  28 28 66 6c 61 67 73 25  3e 3e 32 34 29 80 26 46  |((flags%>>24).&F|
00005c20  29 0d 20 ee 35 69 5f 66  6c 61 67 73 25 3f 28 32  |). .5i_flags%?(2|
00005c30  38 2b 31 31 2b 32 34 2a  31 35 29 3d a4 66 6f 72  |8+11+24*15)=.for|
00005c40  65 62 61 63 6b 28 28 66  6c 61 67 73 25 3e 3e 32  |eback((flags%>>2|
00005c50  38 29 80 26 46 29 0d 20  f8 05 cd 0d 21 02 17 f2  |8).&F). ....!...|
00005c60  65 6e 63 6f 64 65 6d 65  6e 75 28 69 5f 65 73 67  |encodemenu(i_esg|
00005c70  25 29 0d 21 0c 0b c9 69  5f 65 73 67 25 0d 21 16  |%).!...i_esg%.!.|
00005c80  22 f2 74 69 63 6b 28 69  5f 65 73 67 25 2c 28 66  |".tick(i_esg%,(f|
00005c90  6c 61 67 73 25 3e 3e 31  36 29 80 26 30 46 29 0d  |lags%>>16).&0F).|
00005ca0  21 20 0e c9 69 5f 62 75  74 74 6f 6e 25 0d 21 2a  |! ..i_button%.!*|
00005cb0  25 f2 74 69 63 6b 28 69  5f 62 75 74 74 6f 6e 25  |%.tick(i_button%|
00005cc0  2c 28 66 6c 61 67 73 25  3e 3e 31 32 29 80 26 30  |,(flags%>>12).&0|
00005cd0  46 29 0d 21 34 0f c9 77  5f 67 65 6e 65 72 61 6c  |F).!4..w_general|
00005ce0  25 0d 21 3e 24 e7 63 75  72 72 65 6e 74 77 69 6e  |%.!>$.currentwin|
00005cf0  64 6f 77 25 3d 2d 31 8c  3d a3 3a f4 20 64 65 6c  |dow%=-1.=.:. del|
00005d00  65 74 65 64 21 0d 21 48  27 24 6d 62 5f 77 69 64  |eted!.!H'$mb_wid|
00005d10  65 6e 74 25 3d 77 69 64  65 6e 74 24 28 63 75 72  |ent%=wident$(cur|
00005d20  72 65 6e 74 77 69 6e 64  6f 77 25 29 0d 21 52 0c  |rentwindow%).!R.|
00005d30  f2 67 65 74 63 75 72 69  0d 21 5c 37 e7 66 6c 61  |.getcuri.!\7.fla|
00005d40  67 73 25 80 26 38 30 30  30 30 30 8c 63 75 72 72  |gs%.&800000.curr|
00005d50  65 6e 74 69 63 6f 6e 25  3d 2d 31 3a f4 20 68 61  |enticon%=-1:. ha|
00005d60  73 20 62 65 65 6e 20 64  65 6c 65 74 65 64 21 0d  |s been deleted!.|
00005d70  21 66 16 e7 63 75 72 72  65 6e 74 69 63 6f 6e 25  |!f..currenticon%|
00005d80  3c 3e 2d 31 8c 0d 21 70  3f 24 28 77 5f 67 65 6e  |<>-1..!p?$(w_gen|
00005d90  65 72 61 6c 25 21 28 32  38 2b 32 34 2a 31 2b 31  |eral%!(28+24*1+1|
00005da0  32 29 2b a9 22 41 6d 65  6e 64 20 69 63 6f 6e 20  |2)+."Amend icon |
00005db0  22 29 3d 22 23 22 2b c3  63 75 72 72 65 6e 74 69  |")="#"+.currenti|
00005dc0  63 6f 6e 25 0d 21 7a 41  24 28 77 5f 67 65 6e 65  |con%.!zA$(w_gene|
00005dd0  72 61 6c 25 21 28 32 38  2b 32 34 2a 32 2b 31 32  |ral%!(28+24*2+12|
00005de0  29 2b a9 22 52 65 6e 75  6d 62 65 72 20 20 20 22  |)+."Renumber   "|
00005df0  29 3d 22 23 22 2b c3 bb  24 6d 62 5f 72 65 6e 75  |)="#"+..$mb_renu|
00005e00  6d 62 65 72 25 0d 21 84  19 f2 65 6e 63 6f 64 65  |mber%.!...encode|
00005e10  6d 65 6e 75 28 69 5f 66  6c 61 67 73 25 29 0d 21  |menu(i_flags%).!|
00005e20  8e 1a f2 65 6e 63 6f 64  65 6d 65 6e 75 28 69 5f  |...encodemenu(i_|
00005e30  62 75 74 74 6f 6e 25 29  0d 21 98 31 cc 24 28 77  |button%).!.1.$(w|
00005e40  5f 67 65 6e 65 72 61 6c  25 21 28 32 38 2b 32 34  |_general%!(28+24|
00005e50  2a 31 2b 31 32 29 2b a9  22 41 6d 65 6e 64 20 69  |*1+12)+."Amend i|
00005e60  63 6f 6e 20 22 29 3d 22  22 0d 21 a2 30 24 28 77  |con ")="".!.0$(w|
00005e70  5f 67 65 6e 65 72 61 6c  25 21 28 32 38 2b 32 34  |_general%!(28+24|
00005e80  2a 32 2b 31 32 29 2b a9  22 52 65 6e 75 6d 62 65  |*2+12)+."Renumbe|
00005e90  72 20 20 20 22 29 3d 22  22 0d 21 ac 23 e3 49 25  |r   ")="".!.#.I%|
00005ea0  3d 31 b8 34 3a f2 73 68  61 64 65 28 77 5f 67 65  |=1.4:.shade(w_ge|
00005eb0  6e 65 72 61 6c 25 2c 49  25 29 3a ed 0d 21 b6 05  |neral%,I%):..!..|
00005ec0  cd 0d 21 c0 19 f2 65 6e  63 6f 64 65 6d 65 6e 75  |..!...encodemenu|
00005ed0  28 77 5f 66 6c 61 67 73  25 29 0d 21 ca 28 24 6d  |(w_flags%).!.($m|
00005ee0  62 5f 77 6f 72 6b 61 72  65 61 30 25 3d c3 28 71  |b_workarea0%=.(q|
00005ef0  25 21 34 34 29 2b 22 2c  22 2b c3 28 71 25 21 34  |%!44)+","+.(q%!4|
00005f00  38 29 0d 21 d4 28 24 6d  62 5f 77 6f 72 6b 61 72  |8).!.($mb_workar|
00005f10  65 61 31 25 3d c3 28 71  25 21 35 32 29 2b 22 2c  |ea1%=.(q%!52)+",|
00005f20  22 2b c3 28 71 25 21 35  36 29 0d 21 de 1c 24 6d  |"+.(q%!56).!..$m|
00005f30  62 5f 6d 69 6e 78 25 3d  c3 28 71 25 21 37 32 80  |b_minx%=.(q%!72.|
00005f40  26 46 46 46 46 29 0d 21  e8 1a 24 6d 62 5f 6d 69  |&FFFF).!..$mb_mi|
00005f50  6e 79 25 3d c3 28 71 25  21 37 32 3e 3e 31 36 29  |ny%=.(q%!72>>16)|
00005f60  0d 21 f2 28 6d 77 78 30  25 3d 71 25 21 32 30 3a  |.!.(mwx0%=q%!20:|
00005f70  6d 77 79 30 25 3d 71 25  21 32 34 2b 28 71 25 21  |mwy0%=q%!24+(q%!|
00005f80  38 2d 71 25 21 31 36 29  0d 21 fc 28 6d 77 78 31  |8-q%!16).!.(mwx1|
00005f90  25 3d 71 25 21 32 30 2b  28 71 25 21 31 32 2d 71  |%=q%!20+(q%!12-q|
00005fa0  25 21 34 29 3a 6d 77 79  31 25 3d 71 25 21 32 34  |%!4):mwy1%=q%!24|
00005fb0  0d 22 06 16 f2 65 6e 63  6f 64 65 70 61 6c 6d 65  |."...encodepalme|
00005fc0  6e 75 28 2d 31 29 0d 22  10 14 49 25 3d 77 5f 63  |nu(-1)."..I%=w_c|
00005fd0  6f 6c 6f 75 72 73 25 2b  32 38 0d 22 1a 3a e3 4a  |olours%+28.".:.J|
00005fe0  25 3d 71 25 2b 33 36 b8  71 25 2b 34 32 3a 49 25  |%=q%+36.q%+42:I%|
00005ff0  3f 31 31 3d 28 3f 4a 25  3c 3c 34 29 84 75 6e 63  |?11=(?J%<<4).unc|
00006000  6f 6c 6f 75 72 25 28 3f  4a 25 29 3a 49 25 2b 3d  |olour%(?J%):I%+=|
00006010  32 34 3a ed 0d 22 24 0d  c9 77 5f 66 6c 61 67 73  |24:.."$..w_flags|
00006020  25 0d 22 2e 1f 21 71 25  3d 68 61 6e 64 6c 65 25  |%."..!q%=handle%|
00006030  28 63 75 72 72 65 6e 74  77 69 6e 64 6f 77 25 29  |(currentwindow%)|
00006040  0d 22 38 1e c8 99 22 57  69 6d 70 5f 47 65 74 57  |."8..."Wimp_GetW|
00006050  69 6e 64 6f 77 49 6e 66  6f 22 2c 2c 71 25 0d 22  |indowInfo",,q%."|
00006060  42 0b e3 49 25 3d 30 b8  37 0d 22 4c 25 e7 71 25  |B..I%=0.7."L%.q%|
00006070  21 33 32 80 28 31 3c 3c  49 25 29 8c f2 74 69 63  |!32.(1<<I%)..tic|
00006080  6b 28 77 5f 66 6c 61 67  73 25 2c 49 25 29 0d 22  |k(w_flags%,I%)."|
00006090  56 05 ed 0d 22 60 23 e7  71 25 21 33 32 80 28 33  |V..."`#.q%!32.(3|
000060a0  3c 3c 38 29 8c f2 74 69  63 6b 28 77 5f 66 6c 61  |<<8)..tick(w_fla|
000060b0  67 73 25 2c 38 29 0d 22  6a 33 e7 71 25 21 33 32  |gs%,8)."j3.q%!32|
000060c0  80 28 31 3c 3c 31 30 29  8c f2 74 69 63 6b 28 77  |.(1<<10)..tick(w|
000060d0  5f 66 6c 61 67 73 25 2c  39 29 3a f4 20 72 65 61  |_flags%,9):. rea|
000060e0  6c 20 63 6f 6c 6f 75 72  73 0d 22 74 33 e7 71 25  |l colours."t3.q%|
000060f0  21 33 32 80 28 31 3c 3c  31 31 29 8c f2 74 69 63  |!32.(1<<11)..tic|
00006100  6b 28 77 5f 66 6c 61 67  73 25 2c 31 30 29 3a f4  |k(w_flags%,10):.|
00006110  20 62 61 63 6b 20 77 69  6e 64 6f 77 0d 22 7e 31  | back window."~1|
00006120  e7 71 25 21 33 32 80 28  31 3c 3c 31 32 29 8c f2  |.q%!32.(1<<12)..|
00006130  74 69 63 6b 28 77 5f 66  6c 61 67 73 25 2c 31 31  |tick(w_flags%,11|
00006140  29 3a f4 20 67 72 61 62  20 6b 65 79 73 0d 22 88  |):. grab keys.".|
00006150  19 f2 65 6e 63 6f 64 65  6d 65 6e 75 28 74 5f 66  |..encodemenu(t_f|
00006160  6c 61 67 73 25 29 0d 22  92 15 e7 63 75 72 72 65  |lags%)."...curre|
00006170  6e 74 69 63 6f 6e 25 3d  2d 31 8c 0d 22 9c 27 66  |nticon%=-1..".'f|
00006180  6c 61 67 73 25 3d 71 25  21 36 34 3a f2 65 6e 63  |lags%=q%!64:.enc|
00006190  6f 64 65 6d 65 6e 75 28  69 5f 62 75 74 74 6f 6e  |odemenu(i_button|
000061a0  25 29 0d 22 a6 18 cc f2  73 68 61 64 65 28 77 5f  |%)."....shade(w_|
000061b0  66 6c 61 67 73 25 2c 31  32 29 0d 22 b0 05 cd 0d  |flags%,12)."....|
000061c0  22 ba 0d e3 49 25 3d 31  34 b8 32 30 0d 22 c4 2d  |"...I%=14.20.".-|
000061d0  e7 71 25 21 33 32 80 28  31 3c 3c 28 49 25 2b 32  |.q%!32.(1<<(I%+2|
000061e0  34 2d 31 34 29 29 8c f2  74 69 63 6b 28 77 5f 66  |4-14))..tick(w_f|
000061f0  6c 61 67 73 25 2c 49 25  29 0d 22 ce 05 ed 0d 22  |lags%,I%)."...."|
00006200  d8 15 e7 71 25 21 33 32  80 26 38 30 30 30 30 30  |...q%!32.&800000|
00006210  30 30 8c 0d 22 e2 16 f2  74 69 63 6b 28 77 5f 66  |00.."...tick(w_f|
00006220  6c 61 67 73 25 2c 31 33  29 0d 22 ec 16 f2 73 68  |lags%,13)."...sh|
00006230  61 64 65 28 77 5f 66 6c  61 67 73 25 2c 30 29 0d  |ade(w_flags%,0).|
00006240  22 f6 16 f2 73 68 61 64  65 28 77 5f 66 6c 61 67  |"...shade(w_flag|
00006250  73 25 2c 32 29 0d 23 00  16 f2 73 68 61 64 65 28  |s%,2).#...shade(|
00006260  77 5f 66 6c 61 67 73 25  2c 33 29 0d 23 0a 16 f2  |w_flags%,3).#...|
00006270  73 68 61 64 65 28 77 5f  66 6c 61 67 73 25 2c 37  |shade(w_flags%,7|
00006280  29 0d 23 14 05 cc 0d 23  1e 23 e3 49 25 3d 31 34  |).#....#.#.I%=14|
00006290  b8 32 30 3a f2 73 68 61  64 65 28 77 5f 66 6c 61  |.20:.shade(w_fla|
000062a0  67 73 25 2c 49 25 29 3a  ed 0d 23 28 05 cd 0d 23  |gs%,I%):..#(...#|
000062b0  32 0d c9 74 5f 66 6c 61  67 73 25 0d 23 3c 30 71  |2..t_flags%.#<0q|
000062c0  25 21 36 30 3d 71 25 21  36 30 84 26 32 34 3a f4  |%!60=q%!60.&24:.|
000062d0  20 6d 75 73 74 20 62 65  20 66 69 6c 6c 65 64 20  | must be filled |
000062e0  77 69 74 68 20 62 6f 72  64 65 72 0d 23 46 3b f2  |with border.#F;.|
000062f0  65 6e 63 6f 64 65 69 63  6f 6e 28 74 5f 66 6c 61  |encodeicon(t_fla|
00006300  67 73 25 2c 36 2c 71 25  21 36 30 2c 71 25 2b 37  |gs%,6,q%!60,q%+7|
00006310  36 2c 74 62 5f 74 65 78  74 25 2c 74 62 5f 73 70  |6,tb_text%,tb_sp|
00006320  72 69 74 65 25 29 0d 23  50 17 24 74 62 5f 62 75  |rite%).#P.$tb_bu|
00006330  66 66 65 72 73 69 7a 65  25 3d c3 4c 25 0d 23 5a  |ffersize%=.L%.#Z|
00006340  21 e7 71 25 21 36 30 80  26 31 30 30 8c f2 74 69  |!.q%!60.&100..ti|
00006350  63 6b 28 74 5f 66 6c 61  67 73 25 2c 37 29 0d 23  |ck(t_flags%,7).#|
00006360  64 21 e7 71 25 21 36 30  80 26 32 30 30 8c f2 74  |d!.q%!60.&200..t|
00006370  69 63 6b 28 74 5f 66 6c  61 67 73 25 2c 38 29 0d  |ick(t_flags%,8).|
00006380  23 6e 0e c9 77 5f 73 63  72 6f 6c 6c 25 0d 23 78  |#n..w_scroll%.#x|
00006390  0c f2 67 65 74 63 75 72  77 0d 23 82 23 e7 66 6c  |..getcurw.#.#.fl|
000063a0  61 67 73 25 80 26 31 30  30 8c f2 74 69 63 6b 28  |ags%.&100..tick(|
000063b0  77 5f 73 63 72 6f 6c 6c  25 2c 30 29 0d 23 8c 23  |w_scroll%,0).#.#|
000063c0  e7 66 6c 61 67 73 25 80  26 32 30 30 8c f2 74 69  |.flags%.&200..ti|
000063d0  63 6b 28 77 5f 73 63 72  6f 6c 6c 25 2c 31 29 0d  |ck(w_scroll%,1).|
000063e0  23 96 0e c9 6d 5f 73 70  72 69 74 65 25 0d 23 a0  |#...m_sprite%.#.|
000063f0  1f 73 24 3d 73 70 72 69  74 65 6e 24 28 63 75 72  |.s$=spriten$(cur|
00006400  72 65 6e 74 73 70 72 69  74 65 25 29 0d 23 aa 3f  |rentsprite%).#.?|
00006410  e7 75 6e 64 6f 6e 61 6d  65 24 3c 3e 73 24 84 75  |.undoname$<>s$.u|
00006420  6e 64 6f 73 63 72 65 65  6e 25 3c 3e 65 64 69 74  |ndoscreen%<>edit|
00006430  62 75 66 66 65 72 25 8c  f2 73 68 61 64 65 28 6d  |buffer%..shade(m|
00006440  5f 73 70 72 69 74 65 25  2c 30 29 0d 23 b4 24 f2  |_sprite%,0).#.$.|
00006450  67 65 74 73 70 72 69 74  65 78 79 28 63 75 72 72  |getspritexy(curr|
00006460  65 6e 74 73 70 72 69 74  65 25 2c 30 2c 30 29 0d  |entsprite%,0,0).|
00006470  23 be 25 e7 73 70 72 63  6f 6c 6f 75 72 25 3d 31  |#.%.sprcolour%=1|
00006480  36 8c f2 74 69 63 6b 28  6d 5f 73 70 72 69 74 65  |6..tick(m_sprite|
00006490  25 2c 32 29 0d 23 c8 0e  e7 68 61 73 6d 61 73 6b  |%,2).#...hasmask|
000064a0  25 8c 0d 23 d2 17 f2 73  68 61 64 65 28 6d 5f 73  |%..#...shade(m_s|
000064b0  70 72 69 74 65 25 2c 33  29 0d 23 dc 18 cc f2 73  |prite%,3).#....s|
000064c0  68 61 64 65 28 6d 5f 73  70 72 69 74 65 25 2c 32  |hade(m_sprite%,2|
000064d0  29 0d 23 e6 17 f2 73 68  61 64 65 28 6d 5f 73 70  |).#...shade(m_sp|
000064e0  72 69 74 65 25 2c 34 29  0d 23 f0 05 cd 0d 23 fa  |rite%,4).#....#.|
000064f0  15 63 25 3d 63 75 72 72  65 6e 74 73 70 72 69 74  |.c%=currentsprit|
00006500  65 25 0d 24 04 31 24 73  70 72 62 75 66 66 25 3d  |e%.$.1$sprbuff%=|
00006510  c3 73 70 72 78 73 63 61  6c 65 25 28 63 25 29 2b  |.sprxscale%(c%)+|
00006520  22 78 22 2b c3 73 70 72  79 73 63 61 6c 65 25 28  |"x"+.spryscale%(|
00006530  63 25 29 0d 24 0e 1e f2  65 6e 63 6f 64 65 70 61  |c%).$...encodepa|
00006540  6c 6d 65 6e 75 28 73 70  72 63 6f 6c 6f 75 72 25  |lmenu(sprcolour%|
00006550  29 0d 24 18 12 c9 6d 5f  73 70 72 69 74 65 6c 69  |).$...m_spriteli|
00006560  73 74 25 0d 24 22 2a 24  6d 62 5f 63 72 73 70 72  |st%.$"*$mb_crspr|
00006570  69 74 65 25 3d 22 22 3a  24 6d 62 5f 73 70 72 69  |ite%="":$mb_spri|
00006580  74 65 66 25 3d 73 70 72  69 74 65 66 24 0d 24 2c  |tef%=spritef$.$,|
00006590  13 69 66 6c 61 67 73 25  3d 26 34 30 30 30 30 30  |.iflags%=&400000|
000065a0  0d 24 36 25 e7 69 63 6f  6e 25 3c 3e 2d 31 8c f2  |.$6%.icon%<>-1..|
000065b0  67 65 74 69 28 68 61 6e  64 6c 65 25 2c 69 63 6f  |geti(handle%,ico|
000065c0  6e 25 84 31 29 0d 24 40  15 e7 69 66 6c 61 67 73  |n%.1).$@..iflags|
000065d0  25 80 26 34 30 30 30 30  30 8c 0d 24 4a 1b f2 73  |%.&400000..$J..s|
000065e0  68 61 64 65 28 6d 5f 73  70 72 69 74 65 6c 69 73  |hade(m_spritelis|
000065f0  74 25 2c 33 29 0d 24 54  1b f2 73 68 61 64 65 28  |t%,3).$T..shade(|
00006600  6d 5f 73 70 72 69 74 65  6c 69 73 74 25 2c 34 29  |m_spritelist%,4)|
00006610  0d 24 5e 05 cc 0d 24 68  2d 72 65 6e 61 6d 65 73  |.$^...$h-renames|
00006620  70 72 69 74 65 24 3d a4  69 63 6f 6e 73 74 72 69  |prite$=.iconstri|
00006630  6e 67 28 69 66 6c 61 67  73 25 2c 69 64 61 74 61  |ng(iflags%,idata|
00006640  25 29 0d 24 72 1f 24 6d  62 5f 72 6e 73 70 72 69  |%).$r.$mb_rnspri|
00006650  74 65 25 3d 72 65 6e 61  6d 65 73 70 72 69 74 65  |te%=renamesprite|
00006660  24 0d 24 7c 05 cd 0d 24  86 35 c8 99 22 57 69 6d  |$.$|...$.5.."Wim|
00006670  70 5f 57 68 69 63 68 49  63 6f 6e 22 2c 73 70 72  |p_WhichIcon",spr|
00006680  69 74 65 6c 69 73 74 25  2c 71 25 2c 26 32 30 30  |itelist%,q%,&200|
00006690  30 30 31 2c 26 32 30 30  30 30 31 0d 24 90 23 e7  |001,&200001.$.#.|
000066a0  21 71 25 3d 2d 31 8c f2  73 68 61 64 65 28 6d 5f  |!q%=-1..shade(m_|
000066b0  73 70 72 69 74 65 6c 69  73 74 25 2c 32 29 0d 24  |spritelist%,2).$|
000066c0  9a 2b e7 21 71 25 3d 2d  31 84 71 25 21 34 3d 2d  |.+.!q%=-1.q%!4=-|
000066d0  31 8c f2 73 68 61 64 65  28 6d 5f 73 70 72 69 74  |1..shade(m_sprit|
000066e0  65 6c 69 73 74 25 2c 31  29 0d 24 a4 05 cb 0d 24  |elist%,1).$....$|
000066f0  ae 06 3d b9 0d 24 b8 04  0d 24 c2 13 dd f2 73 68  |..=..$...$....sh|
00006700  61 64 65 28 6d 68 25 2c  49 25 29 0d 24 cc 2f 6d  |ade(mh%,I%).$./m|
00006710  68 25 21 28 32 38 2b 38  2b 32 34 2a 49 25 29 3d  |h%!(28+8+24*I%)=|
00006720  6d 68 25 21 28 32 38 2b  38 2b 32 34 2a 49 25 29  |mh%!(28+8+24*I%)|
00006730  84 26 34 30 30 30 30 30  3a e1 0d 24 d6 04 0d 24  |.&400000:..$...$|
00006740  e0 12 dd f2 74 69 63 6b  28 6d 68 25 2c 49 25 29  |....tick(mh%,I%)|
00006750  0d 24 ea 27 6d 68 25 21  28 32 38 2b 32 34 2a 49  |.$.'mh%!(28+24*I|
00006760  25 29 3d 6d 68 25 21 28  32 38 2b 32 34 2a 49 25  |%)=mh%!(28+24*I%|
00006770  29 84 26 30 31 3a e1 0d  24 f4 04 0d 24 fe 13 dd  |).&01:..$...$...|
00006780  f2 73 65 6c 65 63 74 28  68 25 2c 69 25 29 0d 25  |.select(h%,i%).%|
00006790  08 47 21 71 25 3d 68 25  3a 71 25 21 34 3d 69 25  |.G!q%=h%:q%!4=i%|
000067a0  3a 71 25 21 38 3d 26 32  30 30 30 30 30 3a 71 25  |:q%!8=&200000:q%|
000067b0  21 31 32 3d 26 32 30 30  30 30 30 3a c8 99 22 57  |!12=&200000:.."W|
000067c0  69 6d 70 5f 53 65 74 49  63 6f 6e 53 74 61 74 65  |imp_SetIconState|
000067d0  22 2c 2c 71 25 0d 25 12  05 e1 0d 25 1c 04 0d 25  |",,q%.%....%...%|
000067e0  26 15 dd f2 64 65 73 65  6c 65 63 74 28 68 25 2c  |&...deselect(h%,|
000067f0  69 25 29 0d 25 30 41 21  71 25 3d 68 25 3a 71 25  |i%).%0A!q%=h%:q%|
00006800  21 34 3d 69 25 3a 71 25  21 38 3d 30 3a 71 25 21  |!4=i%:q%!8=0:q%!|
00006810  31 32 3d 26 32 30 30 30  30 30 3a c8 99 22 57 69  |12=&200000:.."Wi|
00006820  6d 70 5f 53 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_SetIconState"|
00006830  2c 2c 71 25 0d 25 3a 05  e1 0d 25 44 04 0d 25 4e  |,,q%.%:...%D..%N|
00006840  3c dd f2 65 6e 63 6f 64  65 69 63 6f 6e 28 69 63  |<..encodeicon(ic|
00006850  6f 6e 6d 65 6e 75 25 2c  6e 6d 65 6e 75 25 2c 66  |onmenu%,nmenu%,f|
00006860  6c 61 67 73 25 2c 71 25  2c 69 74 65 78 74 25 2c  |lags%,q%,itext%,|
00006870  69 73 70 72 69 74 65 25  29 0d 25 58 22 e7 69 5f  |isprite%).%X".i_|
00006880  66 6f 6e 74 25 3c 30 8c  f2 73 68 61 64 65 28 69  |font%<0..shade(i|
00006890  63 6f 6e 6d 65 6e 75 25  2c 36 29 0d 25 62 1b 24  |conmenu%,6).%b.$|
000068a0  69 74 65 78 74 25 3d 22  22 3a 24 69 73 70 72 69  |itext%="":$ispri|
000068b0  74 65 25 3d 22 22 0d 25  6c 2e e7 66 6c 61 67 73  |te%="".%l..flags|
000068c0  25 80 26 30 31 8c 24 69  74 65 78 74 25 3d a4 69  |%.&01.$itext%=.i|
000068d0  63 6f 6e 73 74 72 69 6e  67 28 66 6c 61 67 73 25  |constring(flags%|
000068e0  2c 71 25 29 0d 25 76 36  e7 28 66 6c 61 67 73 25  |,q%).%v6.(flags%|
000068f0  80 26 30 33 29 3d 26 30  32 8c 24 69 73 70 72 69  |.&03)=&02.$ispri|
00006900  74 65 25 3d a4 69 63 6f  6e 73 74 72 69 6e 67 28  |te%=.iconstring(|
00006910  66 6c 61 67 73 25 2c 71  25 29 0d 25 80 33 e7 66  |flags%,q%).%.3.f|
00006920  6c 61 67 73 25 80 26 31  30 30 8c 4c 25 3d 71 25  |lags%.&100.L%=q%|
00006930  21 38 8b 4c 25 3d 31 32  3a f4 20 72 65 74 75 72  |!8.L%=12:. retur|
00006940  6e 65 64 20 74 6f 20 63  61 6c 6c 65 72 0d 25 8a  |ned to caller.%.|
00006950  18 49 25 3d 69 63 6f 6e  6d 65 6e 75 25 2b 32 38  |.I%=iconmenu%+28|
00006960  3a 4a 25 3d 31 0d 25 94  2a e3 69 74 65 6d 25 3d  |:J%=1.%.*.item%=|
00006970  30 b8 6e 6d 65 6e 75 25  3a e7 66 6c 61 67 73 25  |0.nmenu%:.flags%|
00006980  80 4a 25 8c 21 49 25 3d  21 49 25 84 26 30 31 0d  |.J%.!I%=!I%.&01.|
00006990  25 9e 13 49 25 2b 3d 32  34 3a 4a 25 2b 3d 4a 25  |%..I%+=24:J%+=J%|
000069a0  3a ed 0d 25 a8 05 e1 0d  25 b2 04 0d 25 bc 24 dd  |:..%....%...%.$.|
000069b0  f2 64 65 63 6f 64 65 6d  65 6e 75 28 6d 65 6e 75  |.decodemenu(menu|
000069c0  68 61 6e 64 6c 65 25 2c  6d 65 6e 75 73 25 29 0d  |handle%,menus%).|
000069d0  25 c6 12 c8 8e 6d 65 6e  75 68 61 6e 64 6c 65 25  |%....menuhandle%|
000069e0  ca 0d 25 d0 0e c9 6d 61  69 6e 6d 65 6e 75 25 0d  |..%...mainmenu%.|
000069f0  25 da 0e c8 8e 21 6d 65  6e 75 73 25 ca 0d 25 e4  |%....!menus%..%.|
00006a00  11 c9 30 3a f4 20 69 6e  66 6f 20 62 6f 78 0d 25  |..0:. info box.%|
00006a10  ee 12 c9 31 3a f2 67 65  74 70 6f 69 6e 74 65 72  |...1:.getpointer|
00006a20  0d 25 f8 1f f2 63 68 65  63 6b 69 64 65 6e 74 28  |.%...checkident(|
00006a30  24 6d 62 5f 77 69 64 65  6e 74 25 2c 22 22 29 0d  |$mb_wident%,"").|
00006a40  26 02 35 f2 63 72 65 61  74 65 77 69 6e 64 6f 77  |&.5.createwindow|
00006a50  28 6d 6f 75 73 65 78 25  2d 31 30 30 2c 6d 6f 75  |(mousex%-100,mou|
00006a60  73 65 79 25 2b 31 36 2c  24 6d 62 5f 77 69 64 65  |sey%+16,$mb_wide|
00006a70  6e 74 25 29 0d 26 0c 36  f4 20 20 20 20 20 57 48  |nt%).&.6.     WH|
00006a80  45 4e 20 31 3a 50 52 4f  43 73 70 72 69 74 65 69  |EN 1:PROCspritei|
00006a90  6e 66 6f 3a 50 52 4f 43  66 72 6f 6e 74 28 73 70  |nfo:PROCfront(sp|
00006aa0  72 69 74 65 6c 69 73 74  25 29 0d 26 16 42 f4 20  |ritelist%).&.B. |
00006ab0  20 20 20 20 57 48 45 4e  20 32 3a 50 52 4f 43 65  |    WHEN 2:PROCe|
00006ac0  6e 63 6f 64 65 70 61 6c  28 30 2c 31 35 29 3a 50  |ncodepal(0,15):P|
00006ad0  52 4f 43 66 72 6f 6e 74  28 70 61 6c 65 74 74 65  |ROCfront(palette|
00006ae0  25 29 3a 50 52 4f 43 68  74 70 61 6c 0d 26 20 25  |%):PROChtpal.& %|
00006af0  c9 32 3a f2 6c 6f 61 64  74 65 6d 70 6c 61 74 65  |.2:.loadtemplate|
00006b00  73 28 24 6d 62 5f 74 65  6d 70 6c 61 74 65 73 25  |s($mb_templates%|
00006b10  29 0d 26 2a 21 c9 33 3a  f2 63 68 65 63 6b 66 75  |).&*!.3:.checkfu|
00006b20  6c 6c 28 24 6d 62 5f 74  65 6d 70 6c 61 74 65 73  |ll($mb_templates|
00006b30  25 29 0d 26 34 24 f2 73  61 76 65 74 65 6d 70 6c  |%).&4$.savetempl|
00006b40  61 74 65 73 28 24 6d 62  5f 74 65 6d 70 6c 61 74  |ates($mb_templat|
00006b50  65 73 25 2c b9 29 0d 26  3e 10 c9 34 3a f2 66 69  |es%,.).&>..4:.fi|
00006b60  6e 69 73 68 3a e0 0d 26  48 05 cb 0d 26 52 0f c9  |nish:..&H...&R..|
00006b70  77 5f 67 65 6e 65 72 61  6c 25 0d 26 5c 0e c8 8e  |w_general%.&\...|
00006b80  21 6d 65 6e 75 73 25 ca  0d 26 66 0f c9 30 3a f2  |!menus%..&f..0:.|
00006b90  67 65 74 63 75 72 77 0d  26 70 25 6d 78 25 3d 6d  |getcurw.&p%mx%=m|
00006ba0  6d 6f 75 73 65 78 25 2d  62 78 25 3a 6d 79 25 3d  |mousex%-bx%:my%=|
00006bb0  6d 6d 6f 75 73 65 79 25  2d 62 79 25 0d 26 7a 1f  |mmousey%-by%.&z.|
00006bc0  69 78 25 3d 64 65 66 61  75 6c 74 25 21 39 36 2d  |ix%=default%!96-|
00006bd0  64 65 66 61 75 6c 74 25  21 38 38 0d 26 84 20 69  |default%!88.&. i|
00006be0  79 25 3d 64 65 66 61 75  6c 74 25 21 31 30 30 2d  |y%=default%!100-|
00006bf0  64 65 66 61 75 6c 74 25  21 39 32 0d 26 8e 3f 71  |default%!92.&.?q|
00006c00  25 21 34 3d 6d 78 25 2d  69 78 25 2f 32 3a 71 25  |%!4=mx%-ix%/2:q%|
00006c10  21 38 3d 6d 79 25 2d 69  79 25 2f 32 3a 71 25 21  |!8=my%-iy%/2:q%!|
00006c20  31 32 3d 71 25 21 34 2b  69 78 25 3a 71 25 21 31  |12=q%!4+ix%:q%!1|
00006c30  36 3d 71 25 21 38 2b 69  79 25 0d 26 98 2d e3 49  |6=q%!8+iy%.&.-.I|
00006c40  25 3d 30 b8 31 32 88 34  3a 71 25 21 28 32 30 2b  |%=0.12.4:q%!(20+|
00006c50  49 25 29 3d 64 65 66 61  75 6c 74 25 21 28 31 30  |I%)=default%!(10|
00006c60  34 2b 49 25 29 3a ed 0d  26 a2 28 c8 99 22 57 69  |4+I%):..&.(.."Wi|
00006c70  6d 70 5f 43 72 65 61 74  65 49 63 6f 6e 22 2c 2c  |mp_CreateIcon",,|
00006c80  71 25 b8 63 75 72 72 65  6e 74 69 63 6f 6e 25 0d  |q%.currenticon%.|
00006c90  26 ac 32 c8 99 22 57 69  6d 70 5f 46 6f 72 63 65  |&.2.."Wimp_Force|
00006ca0  52 65 64 72 61 77 22 2c  21 71 25 2c 71 25 21 34  |Redraw",!q%,q%!4|
00006cb0  2c 71 25 21 38 2c 71 25  21 31 32 2c 71 25 21 31  |,q%!8,q%!12,q%!1|
00006cc0  36 0d 26 b6 0f c9 31 3a  f2 67 65 74 63 75 72 69  |6.&...1:.getcuri|
00006cd0  0d 26 c0 19 f2 64 65 6c  65 74 65 69 63 6f 6e 28  |.&...deleteicon(|
00006ce0  21 71 25 2c 71 25 21 34  29 0d 26 ca 58 f2 64 65  |!q%,q%!4).&.X.de|
00006cf0  63 6f 64 65 69 63 6f 6e  28 6d 65 6e 75 73 25 2b  |codeicon(menus%+|
00006d00  34 2c 71 25 2b 32 34 2c  71 25 2b 32 38 2c 69 62  |4,q%+24,q%+28,ib|
00006d10  5f 74 65 78 74 25 2c 69  62 5f 73 70 72 69 74 65  |_text%,ib_sprite|
00006d20  25 2c 69 62 5f 62 75 66  66 65 72 73 69 7a 65 25  |%,ib_buffersize%|
00006d30  2c 24 69 62 5f 76 61 6c  69 64 61 74 69 6f 6e 25  |,$ib_validation%|
00006d40  29 0d 26 d4 4c 63 75 72  72 65 6e 74 69 63 6f 6e  |).&.Lcurrenticon|
00006d50  25 3d a4 63 72 69 63 6f  6e 28 21 71 25 2c 71 25  |%=.cricon(!q%,q%|
00006d60  21 38 2c 71 25 21 31 32  2c 71 25 21 31 36 2c 71  |!8,q%!12,q%!16,q|
00006d70  25 21 32 30 2c 71 25 21  32 34 2c 71 25 21 32 38  |%!20,q%!24,q%!28|
00006d80  2c 71 25 21 33 32 2c 71  25 21 33 36 29 0d 26 de  |,q%!32,q%!36).&.|
00006d90  1f c9 32 3a 72 65 6e 75  6d 62 65 72 25 3d bb 24  |..2:renumber%=.$|
00006da0  6d 62 5f 72 65 6e 75 6d  62 65 72 25 0d 26 e8 34  |mb_renumber%.&.4|
00006db0  f2 72 65 6e 75 6d 62 65  72 28 63 75 72 72 65 6e  |.renumber(curren|
00006dc0  74 77 69 6e 64 6f 77 25  2c 63 75 72 72 65 6e 74  |twindow%,current|
00006dd0  69 63 6f 6e 25 2c 72 65  6e 75 6d 62 65 72 25 29  |icon%,renumber%)|
00006de0  0d 26 f2 30 e7 72 65 6e  75 6d 62 65 72 25 3c 39  |.&.0.renumber%<9|
00006df0  39 39 39 8c 24 6d 62 5f  72 65 6e 75 6d 62 65 72  |999.$mb_renumber|
00006e00  25 3d c3 28 72 65 6e 75  6d 62 65 72 25 2b 31 29  |%=.(renumber%+1)|
00006e10  0d 26 fc 0f c9 33 3a f2  67 65 74 63 75 72 69 0d  |.&...3:.getcuri.|
00006e20  27 06 11 e7 66 6c 61 67  73 25 80 26 31 30 30 8c  |'...flags%.&100.|
00006e30  0d 27 10 2b 42 25 3d a4  77 6f 72 6b 73 70 61 63  |.'.+B%=.workspac|
00006e40  65 28 71 25 21 33 36 29  3a 24 42 25 3d 74 65 78  |e(q%!36):$B%=tex|
00006e50  74 24 3a 71 25 21 32 38  3d 42 25 0d 27 1a 3d e7  |t$:q%!28=B%.'.=.|
00006e60  71 25 21 33 32 3e 30 8c  42 25 3d a4 77 6f 72 6b  |q%!32>0.B%=.work|
00006e70  73 70 61 63 65 28 a9 24  28 71 25 21 33 32 29 2b  |space(.$(q%!32)+|
00006e80  31 29 3a 24 42 25 3d 24  28 71 25 21 33 32 29 3a  |1):$B%=$(q%!32):|
00006e90  71 25 21 33 32 3d 42 25  0d 27 24 05 cd 0d 27 2e  |q%!32=B%.'$...'.|
00006ea0  2a 78 30 25 3d 71 25 21  38 3a 79 30 25 3d 71 25  |*x0%=q%!8:y0%=q%|
00006eb0  21 31 32 3a 78 31 25 3d  71 25 21 31 36 3a 79 31  |!12:x1%=q%!16:y1|
00006ec0  25 3d 71 25 21 32 30 0d  27 38 0f c8 8e 6d 65 6e  |%=q%!20.'8...men|
00006ed0  75 73 25 21 34 ca 0d 27  42 1c c9 2d 31 3a 63 6f  |us%!4..'B..-1:co|
00006ee0  70 79 78 25 3d 31 36 3a  63 6f 70 79 79 25 3d 2d  |pyx%=16:copyy%=-|
00006ef0  31 36 0d 27 4c 1e c9 30  3a 63 6f 70 79 78 25 3d  |16.'L..0:copyx%=|
00006f00  78 30 25 2d 78 31 25 3a  63 6f 70 79 79 25 3d 30  |x0%-x1%:copyy%=0|
00006f10  0d 27 56 1e c9 31 3a 63  6f 70 79 78 25 3d 78 31  |.'V..1:copyx%=x1|
00006f20  25 2d 78 30 25 3a 63 6f  70 79 79 25 3d 30 0d 27  |%-x0%:copyy%=0.'|
00006f30  60 1e c9 32 3a 63 6f 70  79 78 25 3d 30 3a 63 6f  |`..2:copyx%=0:co|
00006f40  70 79 79 25 3d 79 31 25  2d 79 30 25 0d 27 6a 1e  |pyy%=y1%-y0%.'j.|
00006f50  c9 33 3a 63 6f 70 79 78  25 3d 30 3a 63 6f 70 79  |.3:copyx%=0:copy|
00006f60  79 25 3d 79 30 25 2d 79  31 25 0d 27 74 05 cb 0d  |y%=y0%-y1%.'t...|
00006f70  27 7e 33 78 30 25 2b 3d  63 6f 70 79 78 25 3a 79  |'~3x0%+=copyx%:y|
00006f80  30 25 2b 3d 63 6f 70 79  79 25 3a 78 31 25 2b 3d  |0%+=copyy%:x1%+=|
00006f90  63 6f 70 79 78 25 3a 79  31 25 2b 3d 63 6f 70 79  |copyx%:y1%+=copy|
00006fa0  79 25 0d 27 88 45 63 75  72 72 65 6e 74 69 63 6f  |y%.'.Ecurrentico|
00006fb0  6e 25 3d a4 63 72 69 63  6f 6e 28 21 71 25 2c 78  |n%=.cricon(!q%,x|
00006fc0  30 25 2c 79 30 25 2c 78  31 25 2c 79 31 25 2c 71  |0%,y0%,x1%,y1%,q|
00006fd0  25 21 32 34 2c 71 25 21  32 38 2c 71 25 21 33 32  |%!24,q%!28,q%!32|
00006fe0  2c 71 25 21 33 36 29 0d  27 92 21 c9 34 3a 68 25  |,q%!36).'.!.4:h%|
00006ff0  3d 68 61 6e 64 6c 65 25  28 63 75 72 72 65 6e 74  |=handle%(current|
00007000  77 69 6e 64 6f 77 25 29  0d 27 9c 1a f2 67 65 74  |window%).'...get|
00007010  69 28 68 25 2c 63 75 72  72 65 6e 74 69 63 6f 6e  |i(h%,currenticon|
00007020  25 29 0d 27 a6 38 6f 6c  64 66 25 3d 69 66 6c 61  |%).'.8oldf%=ifla|
00007030  67 73 25 3a 6f 30 25 3d  69 64 61 74 61 25 21 30  |gs%:o0%=idata%!0|
00007040  3a 6f 31 25 3d 69 64 61  74 61 25 21 34 3a 6f 32  |:o1%=idata%!4:o2|
00007050  25 3d 69 64 61 74 61 25  21 38 0d 27 b0 20 f2 64  |%=idata%!8.'. .d|
00007060  65 6c 65 74 65 69 63 6f  6e 28 68 25 2c 63 75 72  |eleteicon(h%,cur|
00007070  72 65 6e 74 69 63 6f 6e  25 29 0d 27 ba 0f c8 8e  |renticon%).'....|
00007080  6d 65 6e 75 73 25 21 34  ca 0d 27 c4 1a c9 30 3a  |menus%!4..'...0:|
00007090  69 78 30 25 2d 3d 64 78  25 3a 69 78 31 25 2d 3d  |ix0%-=dx%:ix1%-=|
000070a0  64 78 25 0d 27 ce 1a c9  31 3a 69 78 30 25 2b 3d  |dx%.'...1:ix0%+=|
000070b0  64 78 25 3a 69 78 31 25  2b 3d 64 78 25 0d 27 d8  |dx%:ix1%+=dx%.'.|
000070c0  1a c9 32 3a 69 79 30 25  2b 3d 64 79 25 3a 69 79  |..2:iy0%+=dy%:iy|
000070d0  31 25 2b 3d 64 79 25 0d  27 e2 1a c9 33 3a 69 79  |1%+=dy%.'...3:iy|
000070e0  30 25 2d 3d 64 79 25 3a  69 79 31 25 2d 3d 64 79  |0%-=dy%:iy1%-=dy|
000070f0  25 0d 27 ec 05 cb 0d 27  f6 42 63 75 72 72 65 6e  |%.'....'.Bcurren|
00007100  74 69 63 6f 6e 25 3d a4  63 72 69 63 6f 6e 28 68  |ticon%=.cricon(h|
00007110  25 2c 69 78 30 25 2c 69  79 30 25 2c 69 78 31 25  |%,ix0%,iy0%,ix1%|
00007120  2c 69 79 31 25 2c 6f 6c  64 66 25 2c 6f 30 25 2c  |,iy1%,oldf%,o0%,|
00007130  6f 31 25 2c 6f 32 25 29  0d 28 00 38 c9 35 3a f2  |o1%,o2%).(.8.5:.|
00007140  64 65 6c 65 74 65 69 63  6f 6e 28 68 61 6e 64 6c  |deleteicon(handl|
00007150  65 25 28 63 75 72 72 65  6e 74 77 69 6e 64 6f 77  |e%(currentwindow|
00007160  25 29 2c 63 75 72 72 65  6e 74 69 63 6f 6e 25 29  |%),currenticon%)|
00007170  0d 28 0a 25 c9 36 3a f2  64 65 63 6f 64 65 6d 65  |.(.%.6:.decodeme|
00007180  6e 75 28 77 5f 66 6c 61  67 73 25 2c 6d 65 6e 75  |nu(w_flags%,menu|
00007190  73 25 2b 34 29 0d 28 14  22 c9 37 3a e7 6d 65 6e  |s%+4).(.".7:.men|
000071a0  75 73 25 21 34 3c 3e 2d  31 80 6d 65 6e 75 73 25  |us%!4<>-1.menus%|
000071b0  21 38 3c 3e 2d 31 8c 0d  28 1e 1f 21 71 25 3d 68  |!8<>-1..(..!q%=h|
000071c0  61 6e 64 6c 65 25 28 63  75 72 72 65 6e 74 77 69  |andle%(currentwi|
000071d0  6e 64 6f 77 25 29 0d 28  28 1e c8 99 22 57 69 6d  |ndow%).((..."Wim|
000071e0  70 5f 47 65 74 57 69 6e  64 6f 77 49 6e 66 6f 22  |p_GetWindowInfo"|
000071f0  2c 2c 71 25 0d 28 32 1d  71 25 3f 28 33 36 2b 6d  |,,q%.(2.q%?(36+m|
00007200  65 6e 75 73 25 21 34 29  3d 6d 65 6e 75 73 25 21  |enus%!4)=menus%!|
00007210  38 0d 28 3c 18 63 75 72  77 25 3d 63 75 72 72 65  |8.(<.curw%=curre|
00007220  6e 74 77 69 6e 64 6f 77  25 0d 28 46 22 f2 63 72  |ntwindow%.(F".cr|
00007230  77 69 6e 64 6f 77 28 71  25 2b 34 2c 77 69 64 65  |window(q%+4,wide|
00007240  6e 74 24 28 63 75 72 77  25 29 29 0d 28 50 18 f2  |nt$(curw%)).(P..|
00007250  64 65 6c 65 74 65 77 69  6e 64 6f 77 28 63 75 72  |deletewindow(cur|
00007260  77 25 29 0d 28 5a 05 cd  0d 28 64 23 c9 38 3a f2  |w%).(Z...(d#.8:.|
00007270  73 65 74 77 6f 72 6b 61  72 65 61 28 63 75 72 72  |setworkarea(curr|
00007280  65 6e 74 77 69 6e 64 6f  77 25 29 0d 28 6e 37 c9  |entwindow%).(n7.|
00007290  39 3a f2 63 68 65 63 6b  69 64 65 6e 74 28 24 6d  |9:.checkident($m|
000072a0  62 5f 77 69 64 65 6e 74  25 2c 77 69 64 65 6e 74  |b_wident%,wident|
000072b0  24 28 63 75 72 72 65 6e  74 77 69 6e 64 6f 77 25  |$(currentwindow%|
000072c0  29 29 0d 28 78 27 77 69  64 65 6e 74 24 28 63 75  |)).(x'wident$(cu|
000072d0  72 72 65 6e 74 77 69 6e  64 6f 77 25 29 3d 24 6d  |rrentwindow%)=$m|
000072e0  62 5f 77 69 64 65 6e 74  25 0d 28 82 37 c9 31 30  |b_wident%.(.7.10|
000072f0  3a f2 64 65 6c 65 74 65  77 69 6e 64 6f 77 28 63  |:.deletewindow(c|
00007300  75 72 72 65 6e 74 77 69  6e 64 6f 77 25 29 3a 63  |urrentwindow%):c|
00007310  75 72 72 65 6e 74 77 69  6e 64 6f 77 25 3d 2d 31  |urrentwindow%=-1|
00007320  0d 28 8c 05 cb 0d 28 96  0d c9 77 5f 66 6c 61 67  |.(....(...w_flag|
00007330  73 25 0d 28 a0 11 e7 21  6d 65 6e 75 73 25 3d 2d  |s%.(...!menus%=-|
00007340  31 8c e1 0d 28 aa 1f 21  71 25 3d 68 61 6e 64 6c  |1...(..!q%=handl|
00007350  65 25 28 63 75 72 72 65  6e 74 77 69 6e 64 6f 77  |e%(currentwindow|
00007360  25 29 0d 28 b4 1e c8 99  22 57 69 6d 70 5f 47 65  |%).(...."Wimp_Ge|
00007370  74 57 69 6e 64 6f 77 49  6e 66 6f 22 2c 2c 71 25  |tWindowInfo",,q%|
00007380  0d 28 be 0e c8 8e 21 6d  65 6e 75 73 25 ca 0d 28  |.(....!menus%..(|
00007390  c8 16 c9 30 3a f2 64 65  63 6f 64 65 74 69 74 6c  |...0:.decodetitl|
000073a0  65 28 31 29 0d 28 d2 16  c9 31 3a 71 25 21 33 32  |e(1).(...1:q%!32|
000073b0  3d 71 25 21 33 32 82 26  30 32 0d 28 dc 16 c9 32  |=q%!32.&02.(...2|
000073c0  3a 71 25 21 33 32 3d 71  25 21 33 32 82 26 30 34  |:q%!32=q%!32.&04|
000073d0  0d 28 e6 16 c9 33 3a 71  25 21 33 32 3d 71 25 21  |.(...3:q%!32=q%!|
000073e0  33 32 82 26 30 38 0d 28  f0 16 c9 34 3a 71 25 21  |32.&08.(...4:q%!|
000073f0  33 32 3d 71 25 21 33 32  82 26 31 30 0d 28 fa 16  |32=q%!32.&10.(..|
00007400  c9 35 3a 71 25 21 33 32  3d 71 25 21 33 32 82 26  |.5:q%!32=q%!32.&|
00007410  32 30 0d 29 04 16 c9 36  3a 71 25 21 33 32 3d 71  |20.)...6:q%!32=q|
00007420  25 21 33 32 82 26 34 30  0d 29 0e 16 c9 37 3a 71  |%!32.&40.)...7:q|
00007430  25 21 33 32 3d 71 25 21  33 32 82 26 38 30 0d 29  |%!32=q%!32.&80.)|
00007440  18 18 c9 38 3a 71 25 21  33 32 3d 71 25 21 33 32  |...8:q%!32=q%!32|
00007450  80 ac 26 33 30 30 0d 29  22 0f c8 8e 6d 65 6e 75  |..&300.)"...menu|
00007460  73 25 21 34 ca 0d 29 2c  17 c9 30 3a 71 25 21 33  |s%!4..),..0:q%!3|
00007470  32 3d 71 25 21 33 32 84  26 31 30 30 0d 29 36 17  |2=q%!32.&100.)6.|
00007480  c9 31 3a 71 25 21 33 32  3d 71 25 21 33 32 84 26  |.1:q%!32=q%!32.&|
00007490  32 30 30 0d 29 40 05 cb  0d 29 4a 05 cd 0d 29 54  |200.)@...)J...)T|
000074a0  17 c9 39 3a 71 25 21 33  32 3d 71 25 21 33 32 82  |..9:q%!32=q%!32.|
000074b0  26 34 30 30 0d 29 5e 18  c9 31 30 3a 71 25 21 33  |&400.)^..10:q%!3|
000074c0  32 3d 71 25 21 33 32 82  26 38 30 30 0d 29 68 19  |2=q%!32.&800.)h.|
000074d0  c9 31 31 3a 71 25 21 33  32 3d 71 25 21 33 32 82  |.11:q%!32=q%!32.|
000074e0  26 31 30 30 30 0d 29 72  2a c9 31 32 3a e7 6d 65  |&1000.)r*.12:.me|
000074f0  6e 75 73 25 21 34 3c 3e  2d 31 8c 71 25 21 36 34  |nus%!4<>-1.q%!64|
00007500  3d 28 6d 65 6e 75 73 25  21 34 29 3c 3c 31 32 0d  |=(menus%!4)<<12.|
00007510  29 7c 1d c9 31 33 3a 71  25 21 33 32 3d 71 25 21  |)|..13:q%!32=q%!|
00007520  33 32 82 26 38 30 30 30  30 30 30 30 0d 29 86 34  |32.&80000000.).4|
00007530  c9 31 34 2c 31 35 2c 31  37 2c 31 38 2c 31 39 2c  |.14,15,17,18,19,|
00007540  32 30 3a 71 25 21 33 32  3d 71 25 21 33 32 82 28  |20:q%!32=q%!32.(|
00007550  31 3c 3c 28 31 30 2b 21  6d 65 6e 75 73 25 29 29  |1<<(10+!menus%))|
00007560  0d 29 90 1b c9 31 36 3a  f2 64 65 63 6f 64 65 74  |.)...16:.decodet|
00007570  69 74 6c 65 28 31 3c 3c  32 36 29 0d 29 9a 05 cb  |itle(1<<26).)...|
00007580  0d 29 a4 18 63 75 72 77  25 3d 63 75 72 72 65 6e  |.)..curw%=curren|
00007590  74 77 69 6e 64 6f 77 25  0d 29 ae 22 f2 63 72 77  |twindow%.).".crw|
000075a0  69 6e 64 6f 77 28 71 25  2b 34 2c 77 69 64 65 6e  |indow(q%+4,widen|
000075b0  74 24 28 63 75 72 77 25  29 29 0d 29 b8 18 f2 64  |t$(curw%)).)...d|
000075c0  65 6c 65 74 65 77 69 6e  64 6f 77 28 63 75 72 77  |eletewindow(curw|
000075d0  25 29 0d 29 c2 0e c9 6d  5f 73 70 72 69 74 65 25  |%).)...m_sprite%|
000075e0  0d 29 cc 0e c8 8e 21 6d  65 6e 75 73 25 ca 0d 29  |.)....!menus%..)|
000075f0  d6 1c c9 30 3a f2 75 6e  64 6f 28 63 75 72 72 65  |...0:.undo(curre|
00007600  6e 74 73 70 72 69 74 65  25 29 0d 29 e0 15 c9 31  |ntsprite%).)...1|
00007610  3a e7 6d 65 6e 75 73 25  21 34 3c 3e 2d 31 8c 0d  |:.menus%!4<>-1..|
00007620  29 ea 17 73 70 72 63 6f  6c 6f 75 72 25 3d 6d 65  |)..sprcolour%=me|
00007630  6e 75 73 25 21 34 0d 29  f4 29 f2 75 6e 68 74 70  |nus%!4.).).unhtp|
00007640  61 6c 3a 70 61 6c 63 6f  6c 6f 75 72 25 3d 73 70  |al:palcolour%=sp|
00007650  72 63 6f 6c 6f 75 72 25  3a f2 68 74 70 61 6c 0d  |rcolour%:.htpal.|
00007660  29 fe 05 cd 0d 2a 08 14  c9 32 3a 73 70 72 63 6f  |)....*...2:sprco|
00007670  6c 6f 75 72 25 3d 31 36  0d 2a 12 40 c9 33 3a c8  |lour%=16.*.@.3:.|
00007680  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 26  |."OS_SpriteOp",&|
00007690  31 31 44 2c 73 70 72 69  74 65 61 72 65 61 25 2c  |11D,spritearea%,|
000076a0  73 70 72 69 74 65 6e 24  28 63 75 72 72 65 6e 74  |spriten$(current|
000076b0  73 70 72 69 74 65 25 29  0d 2a 1c 21 f2 75 70 64  |sprite%).*.!.upd|
000076c0  61 74 65 73 70 72 69 74  65 28 63 75 72 72 65 6e  |atesprite(curren|
000076d0  74 73 70 72 69 74 65 25  29 0d 2a 26 40 c9 34 3a  |tsprite%).*&@.4:|
000076e0  c8 99 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |.."OS_SpriteOp",|
000076f0  26 31 31 45 2c 73 70 72  69 74 65 61 72 65 61 25  |&11E,spritearea%|
00007700  2c 73 70 72 69 74 65 6e  24 28 63 75 72 72 65 6e  |,spriten$(curren|
00007710  74 73 70 72 69 74 65 25  29 0d 2a 30 21 f2 75 70  |tsprite%).*0!.up|
00007720  64 61 74 65 73 70 72 69  74 65 28 63 75 72 72 65  |datesprite(curre|
00007730  6e 74 73 70 72 69 74 65  25 29 0d 2a 3a 3b c9 35  |ntsprite%).*:;.5|
00007740  2c 36 2c 37 2c 38 3a f2  61 64 6a 75 73 74 73 69  |,6,7,8:.adjustsi|
00007750  7a 65 28 63 75 72 72 65  6e 74 73 70 72 69 74 65  |ze(currentsprite|
00007760  25 2c 21 6d 65 6e 75 73  25 2d 35 2c 6d 65 6e 75  |%,!menus%-5,menu|
00007770  73 25 21 34 29 0d 2a 44  1d c9 39 3a f2 66 6c 69  |s%!4).*D..9:.fli|
00007780  70 78 28 63 75 72 72 65  6e 74 73 70 72 69 74 65  |px(currentsprite|
00007790  25 29 0d 2a 4e 1e c9 31  30 3a f2 66 6c 69 70 79  |%).*N..10:.flipy|
000077a0  28 63 75 72 72 65 6e 74  73 70 72 69 74 65 25 29  |(currentsprite%)|
000077b0  0d 2a 58 05 cb 0d 2a 62  12 c9 6d 5f 73 70 72 69  |.*X...*b..m_spri|
000077c0  74 65 6c 69 73 74 25 0d  2a 6c 0e c8 8e 21 6d 65  |telist%.*l...!me|
000077d0  6e 75 73 25 ca 0d 2a 76  1a c9 30 3a e7 24 6d 62  |nus%..*v..0:.$mb|
000077e0  5f 63 72 73 70 72 69 74  65 25 3c 3e 22 22 8c 0d  |_crsprite%<>""..|
000077f0  2a 80 39 c8 99 22 58 4f  53 5f 53 70 72 69 74 65  |*.9.."XOS_Sprite|
00007800  4f 70 22 2c 26 31 32 38  2c 73 70 72 69 74 65 61  |Op",&128,spritea|
00007810  72 65 61 25 2c 6d 62 5f  63 72 73 70 72 69 74 65  |rea%,mb_crsprite|
00007820  25 b8 52 30 25 3b 66 25  0d 2a 8a 28 e7 28 66 25  |%.R0%;f%.*.(.(f%|
00007830  80 31 29 3d 30 8c 85 31  2c 22 53 70 72 69 74 65  |.1)=0..1,"Sprite|
00007840  20 61 6c 72 65 61 64 79  20 65 78 69 73 74 73 22  | already exists"|
00007850  0d 2a 94 3b c8 99 22 4f  53 5f 53 70 72 69 74 65  |.*.;.."OS_Sprite|
00007860  4f 70 22 2c 26 31 30 46  2c 73 70 72 69 74 65 61  |Op",&10F,spritea|
00007870  72 65 61 25 2c 6d 62 5f  63 72 73 70 72 69 74 65  |rea%,mb_crsprite|
00007880  25 2c 30 2c 31 36 2c 38  2c 31 32 0d 2a 9e 0f f2  |%,0,16,8,12.*...|
00007890  73 70 72 69 74 65 69 6e  66 6f 0d 2a a8 05 cd 0d  |spriteinfo.*....|
000078a0  2a b2 07 c9 31 3a 0d 2a  bc 1a 6d 25 3d 6d 65 6e  |*...1:.*..m%=men|
000078b0  75 73 25 21 34 3a e7 6d  25 3c 30 8c 6d 25 3d 30  |us%!4:.m%<0.m%=0|
000078c0  0d 2a c6 39 c8 99 22 57  69 6d 70 5f 57 68 69 63  |.*.9.."Wimp_Whic|
000078d0  68 49 63 6f 6e 22 2c 73  70 72 69 74 65 6c 69 73  |hIcon",spritelis|
000078e0  74 25 2c 71 25 2b 26 38  30 2c 26 32 30 30 30 30  |t%,q%+&80,&20000|
000078f0  31 2c 26 32 30 30 30 30  31 0d 2a d0 41 f2 67 65  |1,&200001.*.A.ge|
00007900  74 69 28 73 70 72 69 74  65 6c 69 73 74 25 2c 71  |ti(spritelist%,q|
00007910  25 21 26 38 30 29 3a 6d  61 73 74 65 72 24 3d a4  |%!&80):master$=.|
00007920  69 63 6f 6e 73 74 72 69  6e 67 28 69 66 6c 61 67  |iconstring(iflag|
00007930  73 25 2c 69 64 61 74 61  25 29 0d 2a da 06 ef 37  |s%,idata%).*...7|
00007940  0d 2a e4 17 49 25 3d 71  25 2b 26 38 34 3a c8 95  |.*..I%=q%+&84:..|
00007950  21 49 25 3c 3e 2d 31 0d  2a ee 3c f2 67 65 74 69  |!I%<>-1.*.<.geti|
00007960  28 73 70 72 69 74 65 6c  69 73 74 25 2c 21 49 25  |(spritelist%,!I%|
00007970  29 3a 74 65 78 74 24 3d  a4 69 63 6f 6e 73 74 72  |):text$=.iconstr|
00007980  69 6e 67 28 69 66 6c 61  67 73 25 2c 69 64 61 74  |ing(iflags%,idat|
00007990  61 25 29 0d 2a f8 35 c8  99 22 4f 53 5f 53 70 72  |a%).*.5.."OS_Spr|
000079a0  69 74 65 4f 70 22 2c 26  31 32 33 2c 73 70 72 69  |iteOp",&123,spri|
000079b0  74 65 61 72 65 61 25 2c  6d 61 73 74 65 72 24 2c  |tearea%,master$,|
000079c0  74 65 78 74 24 2c 6d 25  0d 2b 02 0b 49 25 2b 3d  |text$,m%.+..I%+=|
000079d0  34 3a ce 0d 2b 0c 06 ef  37 0d 2b 16 0f f2 73 70  |4:..+...7.+...sp|
000079e0  72 69 74 65 69 6e 66 6f  0d 2b 20 12 c9 32 3a f2  |riteinfo.+ ..2:.|
000079f0  67 65 74 70 6f 69 6e 74  65 72 0d 2b 2a 32 f2 64  |getpointer.+*2.d|
00007a00  69 61 6c 6f 67 75 65 28  64 69 61 6c 5f 64 65 6c  |ialogue(dial_del|
00007a10  65 74 65 25 2c 6d 6f 75  73 65 78 25 2d 31 30 30  |ete%,mousex%-100|
00007a20  2c 6d 6f 75 73 65 79 25  2b 32 30 29 0d 2b 34 25  |,mousey%+20).+4%|
00007a30  c9 33 3a e7 24 6d 62 5f  72 6e 73 70 72 69 74 65  |.3:.$mb_rnsprite|
00007a40  25 3c 3e 72 65 6e 61 6d  65 73 70 72 69 74 65 24  |%<>renamesprite$|
00007a50  8c 0d 2b 3e 3f c8 99 22  4f 53 5f 53 70 72 69 74  |..+>?.."OS_Sprit|
00007a60  65 4f 70 22 2c 26 31 31  42 2c 73 70 72 69 74 65  |eOp",&11B,sprite|
00007a70  61 72 65 61 25 2c 72 65  6e 61 6d 65 73 70 72 69  |area%,renamespri|
00007a80  74 65 24 2c 6d 62 5f 72  6e 73 70 72 69 74 65 25  |te$,mb_rnsprite%|
00007a90  0d 2b 48 0f f2 73 70 72  69 74 65 69 6e 66 6f 0d  |.+H..spriteinfo.|
00007aa0  2b 52 05 cd 0d 2b 5c 25  c9 34 3a e7 24 6d 62 5f  |+R...+\%.4:.$mb_|
00007ab0  72 6e 73 70 72 69 74 65  25 3c 3e 72 65 6e 61 6d  |rnsprite%<>renam|
00007ac0  65 73 70 72 69 74 65 24  8c 0d 2b 66 3f c8 99 22  |esprite$..+f?.."|
00007ad0  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 26 31 31  |OS_SpriteOp",&11|
00007ae0  41 2c 73 70 72 69 74 65  61 72 65 61 25 2c 72 65  |A,spritearea%,re|
00007af0  6e 61 6d 65 73 70 72 69  74 65 24 2c 6d 62 5f 72  |namesprite$,mb_r|
00007b00  6e 73 70 72 69 74 65 25  0d 2b 70 0f f2 73 70 72  |nsprite%.+p..spr|
00007b10  69 74 65 69 6e 66 6f 0d  2b 7a 05 cd 0d 2b 84 2d  |iteinfo.+z...+.-|
00007b20  c9 35 3a f2 6c 6f 61 64  73 70 72 69 74 65 73 28  |.5:.loadsprites(|
00007b30  24 6d 62 5f 73 70 72 69  74 65 66 25 29 3a f2 73  |$mb_spritef%):.s|
00007b40  70 72 69 74 65 69 6e 66  6f 0d 2b 8e 24 c9 36 3a  |priteinfo.+.$.6:|
00007b50  f4 20 50 52 4f 43 63 68  65 63 6b 66 75 6c 6c 28  |. PROCcheckfull(|
00007b60  24 6d 62 5f 73 70 72 69  74 65 66 25 29 0d 2b 98  |$mb_spritef%).+.|
00007b70  28 f4 20 50 52 4f 43 73  61 76 65 73 70 72 69 74  |(. PROCsavesprit|
00007b80  65 73 28 24 6d 62 5f 73  70 72 69 74 65 66 25 2c  |es($mb_spritef%,|
00007b90  54 52 55 45 29 0d 2b a2  2e c9 37 3a f2 6d 65 72  |TRUE).+...7:.mer|
00007ba0  67 65 73 70 72 69 74 65  73 28 24 6d 62 5f 73 70  |gesprites($mb_sp|
00007bb0  72 69 74 65 66 25 29 3a  f2 73 70 72 69 74 65 69  |ritef%):.spritei|
00007bc0  6e 66 6f 0d 2b ac 05 cb  0d 2b b6 05 cb 0d 2b c0  |nfo.+....+....+.|
00007bd0  05 e1 0d 2b ca 04 0d 2b  d4 22 dd f2 6c 6f 61 64  |...+...+."..load|
00007be0  73 70 72 69 74 65 73 28  66 24 29 f4 20 4c 4f 43  |sprites(f$). LOC|
00007bf0  41 4c 20 49 25 2c 66 24  0d 2b de 27 c8 99 22 4f  |AL I%,f$.+.'.."O|
00007c00  53 5f 53 70 72 69 74 65  4f 70 22 2c 26 31 30 41  |S_SpriteOp",&10A|
00007c10  2c 73 70 72 69 74 65 61  72 65 61 25 2c 66 24 0d  |,spritearea%,f$.|
00007c20  2b e8 23 e7 66 24 3c 3e  22 3c 57 69 6d 70 24 53  |+.#.f$<>"<Wimp$S|
00007c30  63 72 61 70 3e 22 8c 73  70 72 69 74 65 66 24 3d  |crap>".spritef$=|
00007c40  66 24 0d 2b f2 12 f2 72  65 64 72 61 77 77 69 6e  |f$.+...redrawwin|
00007c50  64 6f 77 73 0d 2b fc 05  e1 0d 2c 06 04 0d 2c 10  |dows.+....,...,.|
00007c60  1b dd f2 73 61 76 65 73  70 72 69 74 65 73 28 66  |...savesprites(f|
00007c70  24 2c 73 61 66 65 25 29  0d 2c 1a 27 c8 99 22 4f  |$,safe%).,.'.."O|
00007c80  53 5f 53 70 72 69 74 65  4f 70 22 2c 26 31 30 43  |S_SpriteOp",&10C|
00007c90  2c 73 70 72 69 74 65 61  72 65 61 25 2c 66 24 0d  |,spritearea%,f$.|
00007ca0  2c 24 0c e7 73 61 66 65  25 8b e1 0d 2c 2e 0f 73  |,$..safe%...,..s|
00007cb0  70 72 69 74 65 66 24 3d  66 24 0d 2c 38 23 e7 24  |pritef$=f$.,8#.$|
00007cc0  73 70 72 69 74 65 66 25  3c 3e a4 73 70 66 6e 61  |spritef%<>.spfna|
00007cd0  6d 65 28 73 70 72 69 74  65 66 24 29 8c 0d 2c 42  |me(spritef$)..,B|
00007ce0  20 24 73 70 72 69 74 65  66 25 3d a4 73 70 66 6e  | $spritef%=.spfn|
00007cf0  61 6d 65 28 73 70 72 69  74 65 66 24 29 0d 2c 4c  |ame(spritef$).,L|
00007d00  2c 21 71 25 3d 73 70 72  69 74 65 6c 69 73 74 25  |,!q%=spritelist%|
00007d10  3a c8 99 22 57 69 6d 70  5f 43 6c 6f 73 65 57 69  |:.."Wimp_CloseWi|
00007d20  6e 64 6f 77 22 2c 2c 71  25 0d 2c 56 17 f2 66 72  |ndow",,q%.,V..fr|
00007d30  6f 6e 74 28 73 70 72 69  74 65 6c 69 73 74 25 29  |ont(spritelist%)|
00007d40  0d 2c 60 05 cd 0d 2c 6a  05 e1 0d 2c 74 04 0d 2c  |.,`...,j...,t..,|
00007d50  7e 16 dd f2 6d 65 72 67  65 73 70 72 69 74 65 73  |~...mergesprites|
00007d60  28 66 24 29 0d 2c 88 27  c8 99 22 4f 53 5f 53 70  |(f$).,.'.."OS_Sp|
00007d70  72 69 74 65 4f 70 22 2c  26 31 30 42 2c 73 70 72  |riteOp",&10B,spr|
00007d80  69 74 65 61 72 65 61 25  2c 66 24 0d 2c 92 12 f2  |itearea%,f$.,...|
00007d90  72 65 64 72 61 77 77 69  6e 64 6f 77 73 0d 2c 9c  |redrawwindows.,.|
00007da0  05 e1 0d 2c a6 04 0d 2c  b0 13 dd f2 72 65 64 72  |...,...,....redr|
00007db0  61 77 77 69 6e 64 6f 77  73 0d 2c ba 07 ea 49 25  |awwindows.,...I%|
00007dc0  0d 2c c4 0d e3 49 25 3d  30 b8 6e 68 25 0d 2c ce  |.,...I%=0.nh%.,.|
00007dd0  47 e7 68 61 6e 64 6c 65  25 28 49 25 29 3e 6e 68  |G.handle%(I%)>nh|
00007de0  25 8c c8 99 22 57 69 6d  70 5f 46 6f 72 63 65 52  |%..."Wimp_ForceR|
00007df0  65 64 72 61 77 22 2c 68  61 6e 64 6c 65 25 28 49  |edraw",handle%(I|
00007e00  25 29 2c 2d 31 45 38 2c  2d 31 45 38 2c 31 45 38  |%),-1E8,-1E8,1E8|
00007e10  2c 31 45 38 0d 2c d8 05  ed 0d 2c e2 05 e1 0d 2c  |,1E8.,....,....,|
00007e20  ec 04 0d 2c f6 12 dd a4  66 69 6c 65 74 79 70 65  |...,....filetype|
00007e30  28 66 24 29 0d 2d 00 0d  ea 66 25 2c 74 79 70 65  |(f$).-...f%,type|
00007e40  25 0d 2d 0a 1f c8 99 22  4f 53 5f 46 69 6c 65 22  |%.-...."OS_File"|
00007e50  2c 31 37 2c 66 24 b8 74  79 70 65 25 2c 2c 66 25  |,17,f$.type%,,f%|
00007e60  0d 2d 14 11 e7 74 79 70  65 25 3c 3e 31 8c 3d 2d  |.-...type%<>1.=-|
00007e70  32 0d 2d 1e 26 e7 28 66  25 3e 3e 3e 32 30 29 3d  |2.-.&.(f%>>>20)=|
00007e80  26 46 46 46 8c 3d 28 66  25 3e 3e 3e 38 29 80 26  |&FFF.=(f%>>>8).&|
00007e90  46 46 46 8b 3d 2d 31 0d  2d 28 04 0d 2d 32 17 dd  |FFF.=-1.-(..-2..|
00007ea0  f2 64 65 63 6f 64 65 74  69 74 6c 65 28 62 69 74  |.decodetitle(bit|
00007eb0  25 29 0d 2d 3c 0f c8 8e  6d 65 6e 75 73 25 21 34  |%).-<...menus%!4|
00007ec0  ca 0d 2d 46 18 c9 2d 31  3a 71 25 21 33 32 3d 71  |..-F..-1:q%!32=q|
00007ed0  25 21 33 32 82 62 69 74  25 0d 2d 50 16 7f 3a 71  |%!32.bit%.-P..:q|
00007ee0  25 21 33 32 3d 71 25 21  33 32 84 62 69 74 25 0d  |%!32=q%!32.bit%.|
00007ef0  2d 5a 05 cb 0d 2d 64 3c  e7 6d 65 6e 75 73 25 21  |-Z...-d<.menus%!|
00007f00  34 3d 38 8c 6d 65 6e 75  73 25 21 34 3d 39 3a f4  |4=8.menus%!4=9:.|
00007f10  20 62 6f 64 67 65 20 66  6f 72 20 27 72 69 67 68  | bodge for 'righ|
00007f20  74 2d 6a 75 73 74 69 66  69 65 64 27 20 62 69 74  |t-justified' bit|
00007f30  0d 2d 6e 37 e7 6d 65 6e  75 73 25 21 34 3d 37 8c  |.-n7.menus%!4=7.|
00007f40  6d 65 6e 75 73 25 21 34  3d 38 3a f4 20 62 6f 64  |menus%!4=8:. bod|
00007f50  67 65 20 66 6f 72 20 27  69 6e 64 69 72 65 63 74  |ge for 'indirect|
00007f60  65 64 27 20 62 69 74 0d  2d 78 4b f2 64 65 63 6f  |ed' bit.-xK.deco|
00007f70  64 65 69 63 6f 6e 28 6d  65 6e 75 73 25 2b 34 2c  |deicon(menus%+4,|
00007f80  71 25 2b 36 30 2c 71 25  2b 37 36 2c 74 62 5f 74  |q%+60,q%+76,tb_t|
00007f90  65 78 74 25 2c 74 62 5f  73 70 72 69 74 65 25 2c  |ext%,tb_sprite%,|
00007fa0  74 62 5f 62 75 66 66 65  72 73 69 7a 65 25 2c 22  |tb_buffersize%,"|
00007fb0  22 29 0d 2d 82 05 e1 0d  2d 8c 04 0d 2d 96 1c dd  |").-....-...-...|
00007fc0  f2 73 65 74 78 79 28 f8  78 25 2c f8 79 25 2c 61  |.setxy(.x%,.y%,a|
00007fd0  24 2c 73 65 70 24 29 0d  2d a0 1f 78 25 3d bb 61  |$,sep$).-..x%=.a|
00007fe0  24 3a 79 25 3d bb c1 61  24 2c a7 61 24 2c 73 65  |$:y%=..a$,.a$,se|
00007ff0  70 24 29 2b 31 29 0d 2d  aa 05 e1 0d 2d b4 04 0d  |p$)+1).-....-...|
00008000  2d be 14 dd f2 73 65 74  77 6f 72 6b 28 71 25 2c  |-....setwork(q%,|
00008010  76 25 29 0d 2d c8 22 21  71 25 3d bb 24 76 25 3a  |v%).-."!q%=.$v%:|
00008020  71 25 21 34 3d bb 24 28  76 25 2b a7 24 76 25 2c  |q%!4=.$(v%+.$v%,|
00008030  22 2c 22 29 29 0d 2d d2  05 e1 0d 2d dc 04 0d 2d  |",")).-....-...-|
00008040  e6 18 dd f2 73 65 74 77  6f 72 6b 61 72 65 61 28  |....setworkarea(|
00008050  63 75 72 77 25 29 0d 2d  f0 07 ea 68 25 0d 2d fa  |curw%).-...h%.-.|
00008060  15 68 25 3d 68 61 6e 64  6c 65 25 28 63 75 72 77  |.h%=handle%(curw|
00008070  25 29 0d 2e 04 1e f2 73  65 74 77 6f 72 6b 28 71  |%).....setwork(q|
00008080  25 2c 6d 62 5f 77 6f 72  6b 61 72 65 61 30 25 29  |%,mb_workarea0%)|
00008090  0d 2e 0e 20 f2 73 65 74  77 6f 72 6b 28 71 25 2b  |... .setwork(q%+|
000080a0  38 2c 6d 62 5f 77 6f 72  6b 61 72 65 61 31 25 29  |8,mb_workarea1%)|
000080b0  0d 2e 18 1c c8 99 22 57  69 6d 70 5f 53 65 74 45  |......"Wimp_SetE|
000080c0  78 74 65 6e 74 22 2c 68  25 2c 71 25 0d 2e 22 2c  |xtent",h%,q%..",|
000080d0  6d 69 6e 25 3d 28 bb 24  6d 62 5f 6d 69 6e 78 25  |min%=(.$mb_minx%|
000080e0  80 26 46 46 46 46 29 84  28 bb 24 6d 62 5f 6d 69  |.&FFFF).(.$mb_mi|
000080f0  6e 79 25 3c 3c 31 36 29  0d 2e 2c 25 21 71 25 3d  |ny%<<16)..,%!q%=|
00008100  68 25 3a c8 99 22 57 69  6d 70 5f 47 65 74 57 69  |h%:.."Wimp_GetWi|
00008110  6e 64 6f 77 49 6e 66 6f  22 2c 2c 71 25 0d 2e 36  |ndowInfo",,q%..6|
00008120  11 e7 71 25 21 37 32 3c  3e 6d 69 6e 25 8c 0d 2e  |..q%!72<>min%...|
00008130  40 39 71 25 21 37 32 3d  6d 69 6e 25 3a c8 99 22  |@9q%!72=min%:.."|
00008140  57 69 6d 70 5f 43 72 65  61 74 65 57 69 6e 64 6f  |Wimp_CreateWindo|
00008150  77 22 2c 2c 71 25 2b 34  b8 68 61 6e 64 6c 65 25  |w",,q%+4.handle%|
00008160  28 63 75 72 77 25 29 0d  2e 4a 2e 21 71 25 3d 68  |(curw%)..J.!q%=h|
00008170  61 6e 64 6c 65 25 28 63  75 72 77 25 29 3a c8 99  |andle%(curw%):..|
00008180  22 57 69 6d 70 5f 4f 70  65 6e 57 69 6e 64 6f 77  |"Wimp_OpenWindow|
00008190  22 2c 2c 71 25 0d 2e 54  24 21 71 25 3d 68 25 3a  |",,q%..T$!q%=h%:|
000081a0  c8 99 22 57 69 6d 70 5f  44 65 6c 65 74 65 57 69  |.."Wimp_DeleteWi|
000081b0  6e 64 6f 77 22 2c 2c 71  25 0d 2e 5e 05 cd 0d 2e  |ndow",,q%..^....|
000081c0  68 05 e1 0d 2e 72 04 0d  2e 7c 15 dd f2 67 6f 64  |h....r...|...god|
000081d0  65 6c 65 74 65 73 70 72  69 74 65 73 0d 2e 86 3f  |eletesprites...?|
000081e0  49 25 3d 71 25 2b 26 34  30 3a c8 99 22 57 69 6d  |I%=q%+&40:.."Wim|
000081f0  70 5f 57 68 69 63 68 49  63 6f 6e 22 2c 73 70 72  |p_WhichIcon",spr|
00008200  69 74 65 6c 69 73 74 25  2c 49 25 2c 26 32 30 30  |itelist%,I%,&200|
00008210  30 30 31 2c 26 32 30 30  30 30 31 0d 2e 90 13 21  |001,&200001....!|
00008220  71 25 3d 73 70 72 69 74  65 6c 69 73 74 25 0d 2e  |q%=spritelist%..|
00008230  9a 0d c8 95 21 49 25 3c  3e 2d 31 0d 2e a4 26 71  |....!I%<>-1...&q|
00008240  25 21 34 3d 21 49 25 3a  c8 99 22 57 69 6d 70 5f  |%!4=!I%:.."Wimp_|
00008250  47 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 71  |GetIconState",,q|
00008260  25 0d 2e ae 2a c8 99 22  4f 53 5f 53 70 72 69 74  |%...*.."OS_Sprit|
00008270  65 4f 70 22 2c 26 31 31  39 2c 73 70 72 69 74 65  |eOp",&119,sprite|
00008280  61 72 65 61 25 2c 71 25  2b 32 38 0d 2e b8 0b 49  |area%,q%+28....I|
00008290  25 2b 3d 34 3a ce 0d 2e  c2 0f f2 73 70 72 69 74  |%+=4:......sprit|
000082a0  65 69 6e 66 6f 0d 2e cc  05 e1 0d 2e d6 04 0d 2e  |einfo...........|
000082b0  e0 4a dd f2 64 65 63 6f  64 65 69 63 6f 6e 28 6d  |.J..decodeicon(m|
000082c0  65 6e 75 73 25 2c 66 70  74 72 25 2c 71 70 74 72  |enus%,fptr%,qptr|
000082d0  25 2c 6d 62 5f 74 65 78  74 25 2c 6d 62 5f 73 70  |%,mb_text%,mb_sp|
000082e0  72 69 74 65 25 2c 6d 62  5f 62 75 66 66 65 72 73  |rite%,mb_buffers|
000082f0  69 7a 65 25 2c 76 24 29  0d 2e ea 0e c8 8e 21 6d  |ize%,v$)......!m|
00008300  65 6e 75 73 25 ca 0d 2e  f4 13 c9 30 3a 6f 6c 64  |enus%......0:old|
00008310  66 25 3d 21 66 70 74 72  25 0d 2e fe 0f c8 8e 6d  |f%=!fptr%......m|
00008320  65 6e 75 73 25 21 34 ca  0d 2f 08 19 c9 2d 31 3a  |enus%!4../...-1:|
00008330  21 66 70 74 72 25 3d 21  66 70 74 72 25 82 26 30  |!fptr%=!fptr%.&0|
00008340  31 0d 2f 12 39 f4 20 20  20 20 20 20 20 20 20 20  |1./.9.          |
00008350  20 20 49 46 21 66 70 74  72 25 41 4e 44 26 30 31  |  IF!fptr%AND&01|
00008360  54 48 45 4e 21 66 70 74  72 25 3d 21 66 70 74 72  |THEN!fptr%=!fptr|
00008370  25 41 4e 44 4e 4f 54 26  30 32 0d 2f 1c 17 7f 3a  |%ANDNOT&02./...:|
00008380  21 66 70 74 72 25 3d 21  66 70 74 72 25 84 26 30  |!fptr%=!fptr%.&0|
00008390  31 0d 2f 26 25 e7 28 6f  6c 64 66 25 80 26 30 31  |1./&%.(oldf%.&01|
000083a0  29 3d 30 8c 21 66 70 74  72 25 3d 21 66 70 74 72  |)=0.!fptr%=!fptr|
000083b0  25 80 ac 26 30 32 0d 2f  30 05 cb 0d 2f 3a 2f f2  |%..&02./0.../:/.|
000083c0  70 75 74 69 63 6f 6e 73  74 72 69 6e 67 28 6f 6c  |puticonstring(ol|
000083d0  64 66 25 2c 66 70 74 72  25 2c 71 70 74 72 25 2c  |df%,fptr%,qptr%,|
000083e0  24 6d 62 5f 74 65 78 74  25 29 0d 2f 44 13 c9 31  |$mb_text%)./D..1|
000083f0  3a 6f 6c 64 66 25 3d 21  66 70 74 72 25 0d 2f 4e  |:oldf%=!fptr%./N|
00008400  0f c8 8e 6d 65 6e 75 73  25 21 34 ca 0d 2f 58 19  |...menus%!4../X.|
00008410  c9 2d 31 3a 21 66 70 74  72 25 3d 21 66 70 74 72  |.-1:!fptr%=!fptr|
00008420  25 82 26 30 32 0d 2f 62  39 f4 20 20 20 20 20 20  |%.&02./b9.      |
00008430  20 20 20 20 20 20 49 46  21 66 70 74 72 25 41 4e  |      IF!fptr%AN|
00008440  44 26 30 32 54 48 45 4e  21 66 70 74 72 25 3d 21  |D&02THEN!fptr%=!|
00008450  66 70 74 72 25 41 4e 44  4e 4f 54 26 30 31 0d 2f  |fptr%ANDNOT&01./|
00008460  6c 1e 7f 3a 21 66 70 74  72 25 3d 28 21 66 70 74  |l..:!fptr%=(!fpt|
00008470  72 25 80 ac 26 30 33 29  84 26 30 32 0d 2f 76 05  |r%..&03).&02./v.|
00008480  cb 0d 2f 80 2b e7 21 66  70 74 72 25 80 26 30 31  |../.+.!fptr%.&01|
00008490  8c 41 24 3d 24 6d 62 5f  74 65 78 74 25 8b 41 24  |.A$=$mb_text%.A$|
000084a0  3d 24 6d 62 5f 73 70 72  69 74 65 25 0d 2f 8a 28  |=$mb_sprite%./.(|
000084b0  f2 70 f2 70 f2 63 6f 6e  73 74 72 69 6e 67 28 6f  |.p.p.constring(o|
000084c0  6c 64 66 25 2c 66 70 74  72 25 2c 71 70 74 72 25  |ldf%,fptr%,qptr%|
000084d0  2c 41 24 29 0d 2f 94 18  c9 32 3a 21 66 70 74 72  |,A$)./...2:!fptr|
000084e0  25 3d 21 66 70 74 72 25  82 26 30 34 0d 2f 9e 18  |%=!fptr%.&04./..|
000084f0  c9 33 3a 21 66 70 74 72  25 3d 21 66 70 74 72 25  |.3:!fptr%=!fptr%|
00008500  82 26 30 38 0d 2f a8 18  c9 34 3a 21 66 70 74 72  |.&08./...4:!fptr|
00008510  25 3d 21 66 70 74 72 25  82 26 31 30 0d 2f b2 18  |%=!fptr%.&10./..|
00008520  c9 35 3a 21 66 70 74 72  25 3d 21 66 70 74 72 25  |.5:!fptr%=!fptr%|
00008530  82 26 32 30 0d 2f bc 43  c9 36 3a c8 99 22 57 69  |.&20./.C.6:.."Wi|
00008540  6d 70 5f 44 65 63 6f 64  65 4d 65 6e 75 22 2c 2c  |mp_DecodeMenu",,|
00008550  69 5f 66 6f 6e 74 25 2c  6d 65 6e 75 73 25 2b 34  |i_font%,menus%+4|
00008560  2c c4 31 30 30 2c 22 20  22 29 b8 2c 2c 2c 66 6f  |,.100," ").,,,fo|
00008570  6e 74 6e 61 6d 65 24 0d  2f c6 30 e7 6d 65 6e 75  |ntname$./.0.menu|
00008580  73 25 21 34 3c 3e 2d 31  e7 6d 65 6e 75 73 25 21  |s%!4<>-1.menus%!|
00008590  38 3d 34 8c 66 6f 6e 74  6e 61 6d 65 24 2b 3d 22  |8=4.fontname$+="|
000085a0  20 70 6f 69 6e 74 22 0d  2f d0 12 e7 66 6f 6e 74  | point"./...font|
000085b0  6e 61 6d 65 24 3d 22 22  8c 0d 2f da 16 21 66 70  |name$=""../..!fp|
000085c0  74 72 25 3d 21 66 70 74  72 25 80 ac 26 34 30 0d  |tr%=!fptr%..&40.|
000085d0  2f e4 0f 66 70 74 72 25  3f 33 3d 26 44 37 0d 2f  |/..fptr%?3=&D7./|
000085e0  ee 16 cc 21 66 70 74 72  25 3d 21 66 70 74 72 25  |...!fptr%=!fptr%|
000085f0  84 26 34 30 0d 2f f8 1b  e7 c2 66 6f 6e 74 6e 61  |.&40./....fontna|
00008600  6d 65 24 2c 35 29 3d 22  70 6f 69 6e 74 22 8c 0d  |me$,5)="point"..|
00008610  30 02 11 49 25 3d a9 66  6f 6e 74 6e 61 6d 65 24  |0..I%=.fontname$|
00008620  0d 30 0c 22 f5 49 25 3d  49 25 2d 31 3a fd c1 66  |.0.".I%=I%-1:..f|
00008630  6f 6e 74 6e 61 6d 65 24  2c 49 25 2c 31 29 3d 22  |ontname$,I%,1)="|
00008640  2e 22 0d 30 16 1b 70 73  69 7a 25 3d bb c1 66 6f  |.".0..psiz%=..fo|
00008650  6e 74 6e 61 6d 65 24 2c  49 25 2b 31 29 0d 30 20  |ntname$,I%+1).0 |
00008660  1e 66 6f 6e 74 6e 61 6d  65 24 3d c0 66 6f 6e 74  |.fontname$=.font|
00008670  6e 61 6d 65 24 2c 49 25  2d 31 29 0d 30 2a 0d cc  |name$,I%-1).0*..|
00008680  70 73 69 7a 25 3d 31 32  0d 30 34 05 cd 0d 30 3e  |psiz%=12.04...0>|
00008690  26 66 70 74 72 25 3f 33  3d a4 66 69 6e 64 66 6f  |&fptr%?3=.findfo|
000086a0  6e 74 28 66 6f 6e 74 6e  61 6d 65 24 2c 70 73 69  |nt(fontname$,psi|
000086b0  7a 25 29 0d 30 48 05 cd  0d 30 52 18 c9 37 3a 21  |z%).0H...0R..7:!|
000086c0  66 70 74 72 25 3d 21 66  70 74 72 25 82 26 38 30  |fptr%=!fptr%.&80|
000086d0  0d 30 5c 28 c9 38 3a e7  21 66 70 74 72 25 80 26  |.0\(.8:.!fptr%.&|
000086e0  31 30 30 8c 42 24 3d 24  21 71 70 74 72 25 8b 42  |100.B$=$!qptr%.B|
000086f0  24 3d 24 71 70 74 72 25  0d 30 66 36 e7 6d 65 6e  |$=$qptr%.0f6.men|
00008700  75 73 25 21 34 3d 2d 31  8c 21 66 70 74 72 25 3d  |us%!4=-1.!fptr%=|
00008710  21 66 70 74 72 25 82 26  31 30 30 8b 21 66 70 74  |!fptr%.&100.!fpt|
00008720  72 25 3d 21 66 70 74 72  25 84 26 31 30 30 0d 30  |r%=!fptr%.&100.0|
00008730  70 11 e7 21 66 70 74 72  25 80 26 31 30 30 8c 0d  |p..!fptr%.&100..|
00008740  30 7a 1c 71 70 74 72 25  21 38 3d bb 24 6d 62 5f  |0z.qptr%!8=.$mb_|
00008750  62 75 66 66 65 72 73 69  7a 65 25 0d 30 84 35 21  |buffersize%.0.5!|
00008760  71 70 74 72 25 3d a4 77  6f 72 6b 73 70 61 63 65  |qptr%=.workspace|
00008770  28 71 70 74 72 25 21 38  29 3a 24 21 71 70 74 72  |(qptr%!8):$!qptr|
00008780  25 3d c0 42 24 2c 71 70  74 72 25 21 38 2d 31 29  |%=.B$,qptr%!8-1)|
00008790  0d 30 8e 0b e7 76 24 3d  22 22 8c 0d 30 98 0e 71  |.0...v$=""..0..q|
000087a0  70 74 72 25 21 34 3d 2d  31 0d 30 a2 17 cc e7 28  |ptr%!4=-1.0....(|
000087b0  21 66 70 74 72 25 80 26  30 33 29 3d 26 30 32 8c  |!fptr%.&03)=&02.|
000087c0  0d 30 ac 17 71 70 74 72  25 21 34 3d 73 70 72 69  |.0..qptr%!4=spri|
000087d0  74 65 61 72 65 61 25 0d  30 b6 2c cc 71 70 74 72  |tearea%.0.,.qptr|
000087e0  25 21 34 3d a4 77 6f 72  6b 73 70 61 63 65 28 a9  |%!4=.workspace(.|
000087f0  76 24 2b 31 29 3a 24 28  71 70 74 72 25 21 34 29  |v$+1):$(qptr%!4)|
00008800  3d 76 24 0d 30 c0 05 cd  0d 30 ca 05 cd 0d 30 d4  |=v$.0....0....0.|
00008810  13 cc 24 71 70 74 72 25  3d c0 42 24 2c 31 31 29  |..$qptr%=.B$,11)|
00008820  0d 30 de 05 cd 0d 30 e8  18 e7 28 21 66 70 74 72  |.0....0...(!fptr|
00008830  25 80 26 31 30 33 29 3d  26 31 30 32 8c 0d 30 f2  |%.&103)=&102..0.|
00008840  21 e7 71 70 74 72 25 21  34 3e 31 8c 21 66 70 74  |!.qptr%!4>1.!fpt|
00008850  72 25 3d 21 66 70 74 72  25 80 ac 26 30 32 0d 30  |r%=!fptr%..&02.0|
00008860  fc 05 cd 0d 31 06 19 c9  39 3a 21 66 70 74 72 25  |....1...9:!fptr%|
00008870  3d 21 66 70 74 72 25 82  26 32 30 30 0d 31 10 1a  |=!fptr%.&200.1..|
00008880  c9 31 30 3a 21 66 70 74  72 25 3d 21 66 70 74 72  |.10:!fptr%=!fptr|
00008890  25 82 26 34 30 30 0d 31  1a 1a c9 31 31 3a 21 66  |%.&400.1...11:!f|
000088a0  70 74 72 25 3d 21 66 70  74 72 25 82 26 38 30 30  |ptr%=!fptr%.&800|
000088b0  0d 31 24 2b c9 31 32 3a  21 66 70 74 72 25 3d a4  |.1$+.12:!fptr%=.|
000088c0  66 69 65 6c 64 28 21 66  70 74 72 25 2c 31 32 2c  |field(!fptr%,12,|
000088d0  34 2c 6d 65 6e 75 73 25  21 34 29 0d 31 2e 2b c9  |4,menus%!4).1.+.|
000088e0  31 33 3a 21 66 70 74 72  25 3d a4 66 69 65 6c 64  |13:!fptr%=.field|
000088f0  28 21 66 70 74 72 25 2c  31 36 2c 35 2c 6d 65 6e  |(!fptr%,16,5,men|
00008900  75 73 25 21 34 29 0d 31  38 2b c9 31 34 3a 21 66  |us%!4).18+.14:!f|
00008910  70 74 72 25 3d a4 66 69  65 6c 64 28 21 66 70 74  |ptr%=.field(!fpt|
00008920  72 25 2c 32 34 2c 34 2c  6d 65 6e 75 73 25 21 34  |r%,24,4,menus%!4|
00008930  29 0d 31 42 2b c9 31 35  3a 21 66 70 74 72 25 3d  |).1B+.15:!fptr%=|
00008940  a4 66 69 65 6c 64 28 21  66 70 74 72 25 2c 32 38  |.field(!fptr%,28|
00008950  2c 34 2c 6d 65 6e 75 73  25 21 34 29 0d 31 4c 05  |,4,menus%!4).1L.|
00008960  cb 0d 31 56 05 e1 0d 31  60 04 0d 31 6a 1c dd a4  |..1V...1`..1j...|
00008970  66 69 65 6c 64 28 66 6c  67 25 2c 62 30 25 2c 6e  |field(flg%,b0%,n|
00008980  62 25 2c 69 25 29 0d 31  74 36 e7 69 25 3c 3e 2d  |b%,i%).1t6.i%<>-|
00008990  31 8c 3d 66 6c 67 25 80  ac 28 28 28 31 3c 3c 6e  |1.=flg%..(((1<<n|
000089a0  62 25 29 2d 31 29 3c 3c  62 30 25 29 84 28 69 25  |b%)-1)<<b0%).(i%|
000089b0  3c 3c 62 30 25 29 8b 3d  66 6c 67 25 0d 31 7e 04  |<<b0%).=flg%.1~.|
000089c0  0d 31 88 29 dd f2 70 75  74 69 63 6f 6e 73 74 72  |.1.)..puticonstr|
000089d0  69 6e 67 28 6f 6c 64 66  25 2c 66 70 74 72 25 2c  |ing(oldf%,fptr%,|
000089e0  71 70 74 72 25 2c 41 24  29 0d 31 92 10 e7 6f 6c  |qptr%,A$).1...ol|
000089f0  64 66 25 80 26 31 30 30  8c 0d 31 9c 31 e7 28 21  |df%.&100..1.1.(!|
00008a00  66 70 74 72 25 80 26 30  33 29 3d 26 30 32 8c 71  |fptr%.&03)=&02.q|
00008a10  70 74 72 25 21 34 3d 2d  31 3a f4 20 6e 6f 20 73  |ptr%!4=-1:. no s|
00008a20  70 72 69 74 65 20 61 72  65 61 0d 31 a6 11 e7 a9  |prite area.1....|
00008a30  41 24 3c 71 70 74 72 25  21 38 8c 0d 31 b0 23 24  |A$<qptr%!8..1.#$|
00008a40  21 71 70 74 72 25 3d 41  24 3a 21 66 70 74 72 25  |!qptr%=A$:!fptr%|
00008a50  3d 21 66 70 74 72 25 84  26 31 30 30 3a e1 0d 31  |=!fptr%.&100:..1|
00008a60  ba 05 cd 0d 31 c4 0d cc  e7 a9 41 24 3c 31 32 8c  |....1.....A$<12.|
00008a70  0d 31 ce 23 24 71 70 74  72 25 3d 41 24 3a 21 66  |.1.#$qptr%=A$:!f|
00008a80  70 74 72 25 3d 21 66 70  74 72 25 80 ac 26 31 30  |ptr%=!fptr%..&10|
00008a90  30 3a e1 0d 31 d8 05 cd  0d 31 e2 05 cd 0d 31 ec  |0:..1....1....1.|
00008aa0  16 21 66 70 74 72 25 3d  21 66 70 74 72 25 84 26  |.!fptr%=!fptr%.&|
00008ab0  31 30 30 0d 31 f6 2a 21  71 70 74 72 25 3d a4 77  |100.1.*!qptr%=.w|
00008ac0  6f 72 6b 73 70 61 63 65  28 a9 41 24 2b 31 29 3a  |orkspace(.A$+1):|
00008ad0  71 70 74 72 25 21 38 3d  a9 41 24 2b 31 0d 32 00  |qptr%!8=.A$+1.2.|
00008ae0  0e 24 21 71 70 74 72 25  3d 41 24 0d 32 0a 43 e7  |.$!qptr%=A$.2.C.|
00008af0  28 6f 6c 64 66 25 80 26  31 30 30 29 3d 30 8c 71  |(oldf%.&100)=0.q|
00008b00  70 74 72 25 21 34 3d 2d  31 3a f4 20 6b 65 65 70  |ptr%!4=-1:. keep|
00008b10  20 6f 6c 64 20 76 61 6c  69 64 61 74 69 6f 6e 20  | old validation |
00008b20  73 74 72 69 6e 67 2c 20  69 66 20 61 6e 79 0d 32  |string, if any.2|
00008b30  14 05 e1 0d 32 1e 04 0d  32 28 52 2d 2d 2d 2d 2d  |....2...2(R-----|
00008b40  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00008b80  2d 2d 2d 2d 2d 2d 2d 2d  2d 0d 32 32 04 0d 32 3c  |---------.22..2<|
00008b90  21 dd f2 72 65 6e 75 6d  62 65 72 28 63 75 72 77  |!..renumber(curw|
00008ba0  25 2c 63 75 72 69 25 2c  6e 65 77 69 25 29 0d 32  |%,curi%,newi%).2|
00008bb0  46 0a ea 4d 25 2c 4e 25  0d 32 50 16 21 71 25 3d  |F..M%,N%.2P.!q%=|
00008bc0  68 61 6e 64 6c 65 25 28  63 75 72 77 25 29 0d 32  |handle%(curw%).2|
00008bd0  5a 1e c8 99 22 57 69 6d  70 5f 47 65 74 57 69 6e  |Z..."Wimp_GetWin|
00008be0  64 6f 77 49 6e 66 6f 22  2c 2c 71 25 0d 32 64 2f  |dowInfo",,q%.2d/|
00008bf0  e7 71 25 21 38 38 3c 3d  6e 65 77 69 25 8c 85 31  |.q%!88<=newi%..1|
00008c00  2c 22 49 63 6f 6e 20 6e  75 6d 62 65 72 20 6f 75  |,"Icon number ou|
00008c10  74 20 6f 66 20 72 61 6e  67 65 22 0d 32 6e 17 4d  |t of range".2n.M|
00008c20  25 3d 71 25 2b 34 2b 38  38 2b 33 32 2a 63 75 72  |%=q%+4+88+32*cur|
00008c30  69 25 0d 32 78 17 4e 25  3d 71 25 2b 34 2b 38 38  |i%.2x.N%=q%+4+88|
00008c40  2b 33 32 2a 6e 65 77 69  25 0d 32 82 1e e3 49 25  |+32*newi%.2...I%|
00008c50  3d 30 b8 32 38 88 34 3a  c8 94 4d 25 21 49 25 2c  |=0.28.4:..M%!I%,|
00008c60  4e 25 21 49 25 3a ed 0d  32 8c 0c 49 25 3d 71 25  |N%!I%:..2..I%=q%|
00008c70  21 38 38 0d 32 96 0a c8  95 49 25 3e 30 0d 32 a0  |!88.2....I%>0.2.|
00008c80  37 e7 71 25 21 28 34 2b  38 38 2b 33 32 2a 28 49  |7.q%!(4+88+32*(I|
00008c90  25 2d 31 29 2b 31 36 29  80 28 31 3c 3c 32 33 29  |%-1)+16).(1<<23)|
00008ca0  8c 49 25 2d 3d 31 3a 71  25 21 38 38 3d 49 25 8b  |.I%-=1:q%!88=I%.|
00008cb0  49 25 3d 30 0d 32 aa 05  ce 0d 32 b4 22 f2 63 72  |I%=0.2....2.".cr|
00008cc0  77 69 6e 64 6f 77 28 71  25 2b 34 2c 77 69 64 65  |window(q%+4,wide|
00008cd0  6e 74 24 28 63 75 72 77  25 29 29 0d 32 be 18 f2  |nt$(curw%)).2...|
00008ce0  64 65 6c 65 74 65 77 69  6e 64 6f 77 28 63 75 72  |deletewindow(cur|
00008cf0  77 25 29 0d 32 c8 05 e1  0d 32 d2 04 0d 32 dc 52  |w%).2....2...2.R|
00008d00  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00008d40  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0d 32  |--------------.2|
00008d50  e6 04 0d 32 f0 1f dd f2  64 69 61 6c 6f 67 75 65  |...2....dialogue|
00008d60  28 68 61 6e 64 6c 65 25  2c 6d 78 25 2c 6d 79 25  |(handle%,mx%,my%|
00008d70  29 0d 32 fa 12 f2 67 65  74 77 28 68 61 6e 64 6c  |).2...getw(handl|
00008d80  65 25 29 0d 33 04 39 f2  6f 70 65 6e 28 68 61 6e  |e%).3.9.open(han|
00008d90  64 6c 65 25 2c 6d 78 25  2c 6d 79 25 2b 79 30 25  |dle%,mx%,my%+y0%|
00008da0  2d 79 31 25 2c 6d 78 25  2b 78 31 25 2d 78 30 25  |-y1%,mx%+x1%-x0%|
00008db0  2c 6d 79 25 2c 30 2c 30  2c 2d 31 29 0d 33 0e 37  |,my%,0,0,-1).3.7|
00008dc0  c8 99 22 57 69 6d 70 5f  53 65 74 43 61 72 65 74  |.."Wimp_SetCaret|
00008dd0  50 6f 73 69 74 69 6f 6e  22 2c 68 61 6e 64 6c 65  |Position",handle|
00008de0  25 2c 2d 31 2c 30 2c 30  2c 26 33 30 30 30 30 30  |%,-1,0,0,&300000|
00008df0  30 2c 30 0d 33 18 12 f2  67 65 74 77 28 68 61 6e  |0,0.3...getw(han|
00008e00  64 6c 65 25 29 0d 33 22  22 c8 97 c8 93 78 30 25  |dle%).3""....x0%|
00008e10  2c 79 30 25 2c 78 31 25  2d 78 30 25 2c 79 31 25  |,y0%,x1%-x0%,y1%|
00008e20  2d 79 30 25 2b 34 30 0d  33 2c 15 64 69 61 6c 6f  |-y0%+40.3,.dialo|
00008e30  67 75 65 25 3d 68 61 6e  64 6c 65 25 0d 33 36 05  |gue%=handle%.36.|
00008e40  e1 0d 33 40 04 0d 33 4a  52 2d 2d 2d 2d 2d 2d 2d  |..3@..3JR-------|
00008e50  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00008e90  2d 2d 2d 2d 2d 2d 2d 0d  33 54 04 0d 33 5e 1f dd  |-------.3T..3^..|
00008ea0  f2 73 74 61 6e 64 61 72  64 77 69 6e 64 6f 77 28  |.standardwindow(|
00008eb0  62 72 78 25 2c 62 72 79  25 29 0d 33 68 2a e3 49  |brx%,bry%).3h*.I|
00008ec0  25 3d 30 b8 38 34 88 34  3a 71 25 21 49 25 3d 64  |%=0.84.4:q%!I%=d|
00008ed0  65 66 61 75 6c 74 25 21  49 25 3a ed 3a 71 25 21  |efault%!I%:.:q%!|
00008ee0  38 34 3d 30 0d 33 72 15  71 25 21 36 34 3d 73 70  |84=0.3r.q%!64=sp|
00008ef0  72 69 74 65 61 72 65 61  25 0d 33 7c 27 49 25 3d  |ritearea%.3|'I%=|
00008f00  71 25 21 38 2d 71 25 21  30 3a 71 25 21 30 3d 62  |q%!8-q%!0:q%!0=b|
00008f10  72 78 25 3a 71 25 21 38  3d 71 25 21 30 2b 49 25  |rx%:q%!8=q%!0+I%|
00008f20  0d 33 86 2a 49 25 3d 71  25 21 34 2d 71 25 21 31  |.3.*I%=q%!4-q%!1|
00008f30  32 3a 71 25 21 31 32 3d  62 72 79 25 3a 71 25 21  |2:q%!12=bry%:q%!|
00008f40  34 3d 71 25 21 31 32 2b  49 25 0d 33 90 05 e1 0d  |4=q%!12+I%.3....|
00008f50  33 9a 04 0d 33 a4 4c 21  71 25 3d 62 72 78 25 3a  |3...3.L!q%=brx%:|
00008f60  71 25 21 34 3d 62 72 79  25 2d 32 30 30 3a 71 25  |q%!4=bry%-200:q%|
00008f70  21 38 3d 62 72 78 25 2b  32 30 30 3a 71 25 21 31  |!8=brx%+200:q%!1|
00008f80  32 3d 62 72 79 25 3a 71  25 21 31 36 3d 30 3a 71  |2=bry%:q%!16=0:q|
00008f90  25 21 32 30 3d 30 3a 71  25 21 32 34 3d 2d 31 0d  |%!20=0:q%!24=-1.|
00008fa0  33 ae 0d 71 25 21 32 38  3d 26 31 46 0d 33 b8 37  |3..q%!28=&1F.3.7|
00008fb0  71 25 3f 33 32 3d 60 74  66 63 6f 6c 3a 71 25 3f  |q%?32=`tfcol:q%?|
00008fc0  33 33 3d 60 74 62 63 6f  6c 3a 71 25 3f 33 34 3d  |33=`tbcol:q%?34=|
00008fd0  60 77 66 63 6f 6c 3a 71  25 3f 33 35 3d 60 77 62  |`wfcol:q%?35=`wb|
00008fe0  63 6f 6c 0d 33 c2 2e 71  25 3f 33 36 3d 34 3a 71  |col.3..q%?36=4:q|
00008ff0  25 3f 33 37 3d 60 74 62  63 6f 6c 3a 71 25 3f 33  |%?37=`tbcol:q%?3|
00009000  38 3d 60 74 62 63 6f 6c  32 3a 71 25 3f 33 39 3d  |8=`tbcol2:q%?39=|
00009010  30 0d 33 cc 2a 71 25 21  34 30 3d 30 3a 71 25 21  |0.3.*q%!40=0:q%!|
00009020  34 34 3d 2d 31 30 32 34  3a 71 25 21 34 38 3d 31  |44=-1024:q%!48=1|
00009030  32 38 30 3a 71 25 21 35  32 3d 30 0d 33 d6 23 71  |280:q%!52=0.3.#q|
00009040  25 21 35 36 3d 26 30 30  30 30 30 30 33 44 3a 71  |%!56=&0000003D:q|
00009050  25 21 36 30 3d 26 30 30  30 30 33 30 30 30 0d 33  |%!60=&00003000.3|
00009060  e0 1d 71 25 21 36 34 3d  73 70 72 69 74 65 61 72  |..q%!64=spritear|
00009070  65 61 25 3a 71 25 21 36  38 3d 30 0d 33 ea 19 24  |ea%:q%!68=0.3..$|
00009080  28 71 25 2b 37 32 29 3d  22 3c 55 6e 74 69 74 6c  |(q%+72)="<Untitl|
00009090  65 64 3e 22 0d 33 f4 0b  71 25 21 38 34 3d 30 0d  |ed>".3..q%!84=0.|
000090a0  33 fe 05 e1 0d 34 08 04  0d 34 12 25 dd f2 63 72  |3....4...4.%..cr|
000090b0  65 61 74 65 77 69 6e 64  6f 77 28 62 72 78 25 2c  |eatewindow(brx%,|
000090c0  62 72 79 25 2c 77 69 64  65 6e 74 24 29 0d 34 1c  |bry%,wident$).4.|
000090d0  1e f2 73 74 61 6e 64 61  72 64 77 69 6e 64 6f 77  |..standardwindow|
000090e0  28 62 72 78 25 2c 62 72  79 25 29 0d 34 26 19 f2  |(brx%,bry%).4&..|
000090f0  63 72 77 69 6e 64 6f 77  28 71 25 2c 77 69 64 65  |crwindow(q%,wide|
00009100  6e 74 24 29 0d 34 30 05  e1 0d 34 3a 04 0d 34 44  |nt$).40...4:..4D|
00009110  1a dd f2 63 72 77 69 6e  64 6f 77 28 71 25 2c 77  |...crwindow(q%,w|
00009120  69 64 65 6e 74 24 29 0d  34 4e 25 c8 99 22 57 69  |ident$).4N%.."Wi|
00009130  6d 70 5f 43 72 65 61 74  65 57 69 6e 64 6f 77 22  |mp_CreateWindow"|
00009140  2c 2c 71 25 b8 68 61 6e  64 6c 65 25 0d 34 58 41  |,,q%.handle%.4XA|
00009150  6d 25 3d 68 61 6e 64 6c  65 53 50 25 3a 68 61 6e  |m%=handleSP%:han|
00009160  64 6c 65 53 50 25 3d 68  61 6e 64 6c 65 25 28 68  |dleSP%=handle%(h|
00009170  61 6e 64 6c 65 53 50 25  29 3a 68 61 6e 64 6c 65  |andleSP%):handle|
00009180  25 28 6d 25 29 3d 68 61  6e 64 6c 65 25 0d 34 62  |%(m%)=handle%.4b|
00009190  0f 21 71 25 3d 68 61 6e  64 6c 65 25 0d 34 6c 1f  |.!q%=handle%.4l.|
000091a0  c8 99 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |.."Wimp_GetWindo|
000091b0  77 53 74 61 74 65 22 2c  2c 71 25 0d 34 76 1b c8  |wState",,q%.4v..|
000091c0  99 22 57 69 6d 70 5f 4f  70 65 6e 57 69 6e 64 6f  |."Wimp_OpenWindo|
000091d0  77 22 2c 2c 71 25 0d 34  80 29 63 75 72 72 65 6e  |w",,q%.4.)curren|
000091e0  74 77 69 6e 64 6f 77 25  3d 6d 25 3a 77 69 64 65  |twindow%=m%:wide|
000091f0  6e 74 24 28 6d 25 29 3d  77 69 64 65 6e 74 24 0d  |nt$(m%)=wident$.|
00009200  34 8a 13 63 75 72 72 65  6e 74 69 63 6f 6e 25 3d  |4..currenticon%=|
00009210  2d 31 0d 34 94 12 f2 68  69 67 68 6c 69 67 68 74  |-1.4...highlight|
00009220  28 6d 25 29 0d 34 9e 05  e1 0d 34 a8 04 0d 34 b2  |(m%).4....4...4.|
00009230  1a dd a4 77 68 69 63 68  77 69 6e 64 6f 77 28 68  |...whichwindow(h|
00009240  61 6e 64 6c 65 25 29 0d  34 bc 07 ea 49 25 0d 34  |andle%).4...I%.4|
00009250  c6 13 e7 68 61 6e 64 6c  65 25 3d 2d 31 8c 3d 2d  |...handle%=-1.=-|
00009260  31 0d 34 d0 1a 68 61 6e  64 6c 65 25 28 6e 68 25  |1.4..handle%(nh%|
00009270  2b 31 29 3d 68 61 6e 64  6c 65 25 0d 34 da 25 49  |+1)=handle%.4.%I|
00009280  25 3d 2d 31 3a f5 49 25  2b 3d 31 3a fd 68 61 6e  |%=-1:.I%+=1:.han|
00009290  64 6c 65 25 28 49 25 29  3d 68 61 6e 64 6c 65 25  |dle%(I%)=handle%|
000092a0  0d 34 e4 13 e7 49 25 3e  6e 68 25 8c 3d 2d 31 8b  |.4...I%>nh%.=-1.|
000092b0  3d 49 25 0d 34 ee 04 0d  34 f8 1a dd a4 77 68 69  |=I%.4...4....whi|
000092c0  63 68 73 70 72 69 74 65  28 68 61 6e 64 6c 65 25  |chsprite(handle%|
000092d0  29 0d 35 02 13 e7 68 61  6e 64 6c 65 25 3d 2d 31  |).5...handle%=-1|
000092e0  8c 3d 2d 31 0d 35 0c 1b  73 70 72 69 74 65 77 25  |.=-1.5..spritew%|
000092f0  28 6e 73 25 2b 31 29 3d  68 61 6e 64 6c 65 25 0d  |(ns%+1)=handle%.|
00009300  35 16 26 49 25 3d 2d 31  3a f5 49 25 2b 3d 31 3a  |5.&I%=-1:.I%+=1:|
00009310  fd 73 70 72 69 74 65 77  25 28 49 25 29 3d 68 61  |.spritew%(I%)=ha|
00009320  6e 64 6c 65 25 0d 35 20  13 e7 49 25 3e 6e 73 25  |ndle%.5 ..I%>ns%|
00009330  8c 3d 2d 31 8b 3d 49 25  0d 35 2a 04 0d 35 34 16  |.=-1.=I%.5*..54.|
00009340  dd f2 64 65 6c 65 74 65  77 69 6e 64 6f 77 28 49  |..deletewindow(I|
00009350  25 29 0d 35 3e 13 21 71  25 3d 68 61 6e 64 6c 65  |%).5>.!q%=handle|
00009360  25 28 49 25 29 0d 35 48  26 68 61 6e 64 6c 65 25  |%(I%).5H&handle%|
00009370  28 49 25 29 3d 68 61 6e  64 6c 65 53 50 25 3a 68  |(I%)=handleSP%:h|
00009380  61 6e 64 6c 65 53 50 25  3d 49 25 0d 35 52 1d c8  |andleSP%=I%.5R..|
00009390  99 22 57 69 6d 70 5f 44  65 6c 65 74 65 57 69 6e  |."Wimp_DeleteWin|
000093a0  64 6f 77 22 2c 2c 71 25  0d 35 5c 12 77 69 64 65  |dow",,q%.5\.wide|
000093b0  6e 74 24 28 49 25 29 3d  22 22 0d 35 66 05 e1 0d  |nt$(I%)="".5f...|
000093c0  35 70 04 0d 35 7a 16 dd  f2 64 65 6c 65 74 65 73  |5p..5z...deletes|
000093d0  70 72 69 74 65 28 49 25  29 0d 35 84 30 e7 28 28  |prite(I%).5.0.((|
000093e0  70 61 69 6e 74 5f 64 72  61 67 25 3e 3e 31 36 29  |paint_drag%>>16)|
000093f0  80 26 37 46 46 46 29 3d  49 25 8c 70 61 69 6e 74  |.&7FFF)=I%.paint|
00009400  5f 64 72 61 67 25 3d 2d  31 0d 35 8e 07 ea 69 25  |_drag%=-1.5...i%|
00009410  0d 35 98 10 e7 73 70 72  53 50 32 25 3d 49 25 8c  |.5...sprSP2%=I%.|
00009420  0d 35 a2 18 73 70 72 53  50 32 25 3d 6e 73 70 72  |.5..sprSP2%=nspr|
00009430  69 74 65 25 28 49 25 29  0d 35 ac 2e cc 69 25 3d  |ite%(I%).5...i%=|
00009440  73 70 72 53 50 32 25 3a  f5 69 31 25 3d 69 25 3a  |sprSP2%:.i1%=i%:|
00009450  69 25 3d 6e 73 70 72 69  74 65 25 28 69 25 29 3a  |i%=nsprite%(i%):|
00009460  fd 69 25 3d 49 25 0d 35  b6 1e 6e 73 70 72 69 74  |.i%=I%.5..nsprit|
00009470  65 25 28 69 31 25 29 3d  6e 73 70 72 69 74 65 25  |e%(i1%)=nsprite%|
00009480  28 69 25 29 0d 35 c0 05  cd 0d 35 ca 2f f2 73 65  |(i%).5....5./.se|
00009490  74 69 28 73 70 72 69 74  65 6c 69 73 74 25 2c 73  |ti(spritelist%,s|
000094a0  70 72 69 74 65 69 25 28  49 25 29 84 31 2c 30 2c  |pritei%(I%).1,0,|
000094b0  26 36 30 30 30 30 30 29  0d 35 d4 14 21 71 25 3d  |&600000).5..!q%=|
000094c0  73 70 72 69 74 65 77 25  28 49 25 29 0d 35 de 21  |spritew%(I%).5.!|
000094d0  73 70 72 69 74 65 77 25  28 49 25 29 3d 73 70 72  |spritew%(I%)=spr|
000094e0  53 50 25 3a 73 70 72 53  50 25 3d 49 25 0d 35 e8  |SP%:sprSP%=I%.5.|
000094f0  1d c8 99 22 57 69 6d 70  5f 44 65 6c 65 74 65 57  |..."Wimp_DeleteW|
00009500  69 6e 64 6f 77 22 2c 2c  71 25 0d 35 f2 05 e1 0d  |indow",,q%.5....|
00009510  35 fc 04 0d 36 06 0d dd  f2 67 65 74 63 75 72 77  |5...6....getcurw|
00009520  0d 36 10 1f 21 71 25 3d  68 61 6e 64 6c 65 25 28  |.6..!q%=handle%(|
00009530  63 75 72 72 65 6e 74 77  69 6e 64 6f 77 25 29 0d  |currentwindow%).|
00009540  36 1a 1f c8 99 22 57 69  6d 70 5f 47 65 74 57 69  |6...."Wimp_GetWi|
00009550  6e 64 6f 77 53 74 61 74  65 22 2c 2c 71 25 0d 36  |ndowState",,q%.6|
00009560  24 0f f2 69 6e 66 6f 28  71 25 2b 34 29 0d 36 2e  |$..info(q%+4).6.|
00009570  05 e1 0d 36 38 04 0d 36  42 0d dd f2 67 65 74 63  |...68..6B...getc|
00009580  75 72 69 0d 36 4c 1f 21  71 25 3d 68 61 6e 64 6c  |uri.6L.!q%=handl|
00009590  65 25 28 63 75 72 72 65  6e 74 77 69 6e 64 6f 77  |e%(currentwindow|
000095a0  25 29 0d 36 56 15 71 25  21 34 3d 63 75 72 72 65  |%).6V.q%!4=curre|
000095b0  6e 74 69 63 6f 6e 25 0d  36 60 1d c8 99 22 57 69  |nticon%.6`..."Wi|
000095c0  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
000095d0  2c 2c 71 25 0d 36 6a 2e  63 78 30 25 3d 71 25 21  |,,q%.6j.cx0%=q%!|
000095e0  38 3a 63 79 30 25 3d 71  25 21 31 32 3a 63 78 31  |8:cy0%=q%!12:cx1|
000095f0  25 3d 71 25 21 31 36 3a  63 79 31 25 3d 71 25 21  |%=q%!16:cy1%=q%!|
00009600  32 30 0d 36 74 10 66 6c  61 67 73 25 3d 71 25 21  |20.6t.flags%=q%!|
00009610  32 34 0d 36 7e 2e e7 66  6c 61 67 73 25 80 26 31  |24.6~..flags%.&1|
00009620  30 30 8c 74 65 78 74 24  3d 24 28 71 25 21 32 38  |00.text$=$(q%!28|
00009630  29 8b 74 65 78 74 24 3d  24 28 71 25 2b 32 38 29  |).text$=$(q%+28)|
00009640  0d 36 88 44 e7 28 66 6c  61 67 73 25 80 26 31 30  |.6.D.(flags%.&10|
00009650  33 29 3d 26 31 30 33 8c  73 70 72 69 74 65 24 3d  |3)=&103.sprite$=|
00009660  a4 67 65 74 63 6f 6d 6d  61 6e 64 28 71 25 21 33  |.getcommand(q%!3|
00009670  32 2c 22 53 22 29 8b 73  70 72 69 74 65 24 3d 74  |2,"S").sprite$=t|
00009680  65 78 74 24 0d 36 92 05  e1 0d 36 9c 04 0d 36 a6  |ext$.6....6...6.|
00009690  17 dd a4 67 65 74 63 6f  6d 6d 61 6e 64 28 76 25  |...getcommand(v%|
000096a0  2c 63 24 29 0d 36 b0 0e  e7 76 25 3c 3d 30 8c 3d  |,c$).6...v%<=0.=|
000096b0  22 22 0d 36 ba 07 ea 49  25 0d 36 c4 21 49 25 3d  |"".6...I%.6.!I%=|
000096c0  a7 22 3b 22 2b 24 76 25  2c 22 3b 22 2b 63 24 29  |.";"+$v%,";"+c$)|
000096d0  3a e7 49 25 3d 30 8c 3d  22 22 0d 36 ce 24 3d c0  |:.I%=0.="".6.$=.|
000096e0  24 28 76 25 2b 49 25 29  2c a7 24 28 76 25 2b 49  |$(v%+I%),.$(v%+I|
000096f0  25 29 2b 22 3b 22 2c 22  3b 22 29 2d 31 29 0d 36  |%)+";",";")-1).6|
00009700  d8 04 0d 36 e2 0a 63 24  3d c1 24 76 0d 36 ec 04  |...6..c$=.$v.6..|
00009710  0d 36 f6 19 dd a4 69 63  6f 6e 73 74 72 69 6e 67  |.6....iconstring|
00009720  28 66 6c 67 25 2c 70 25  29 0d 37 00 0a ea 69 25  |(flg%,p%).7...i%|
00009730  2c 69 24 0d 37 0a 38 e7  66 6c 67 25 80 26 31 30  |,i$.7.8.flg%.&10|
00009740  30 8c 69 24 3d 24 21 70  25 8b 69 25 3d 70 25 3f  |0.i$=$!p%.i%=p%?|
00009750  31 32 3a 70 25 3f 31 32  3d 31 33 3a 69 24 3d 24  |12:p%?12=13:i$=$|
00009760  70 25 3a 70 25 3f 31 32  3d 69 25 0d 37 14 07 3d  |p%:p%?12=i%.7..=|
00009770  69 24 0d 37 1e 04 0d 37  28 10 dd f2 67 65 74 70  |i$.7...7(...getp|
00009780  6f 69 6e 74 65 72 0d 37  32 1f c8 99 22 57 69 6d  |ointer.72..."Wim|
00009790  70 5f 47 65 74 50 6f 69  6e 74 65 72 49 6e 66 6f  |p_GetPointerInfo|
000097a0  22 2c 2c 71 25 0d 37 3c  2a 6d 6f 75 73 65 78 25  |",,q%.7<*mousex%|
000097b0  3d 21 71 25 3a 6d 6f 75  73 65 79 25 3d 71 25 21  |=!q%:mousey%=q%!|
000097c0  34 3a 62 75 74 74 6f 6e  73 25 3d 71 25 21 38 0d  |4:buttons%=q%!8.|
000097d0  37 46 1d 68 61 6e 64 6c  65 25 3d 71 25 21 31 32  |7F.handle%=q%!12|
000097e0  3a 69 63 6f 6e 25 3d 71  25 21 31 36 0d 37 50 05  |:icon%=q%!16.7P.|
000097f0  e1 0d 37 5a 04 0d 37 64  52 2d 2d 2d 2d 2d 2d 2d  |..7Z..7dR-------|
00009800  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00009840  2d 2d 2d 2d 2d 2d 2d 0d  37 6e 04 0d 37 78 1e dd  |-------.7n..7x..|
00009850  f2 65 72 72 6f 72 62 6f  78 28 65 72 72 25 2c 65  |.errorbox(err%,e|
00009860  72 72 24 2c 65 72 6c 25  29 0d 37 82 10 f2 65 64  |rr$,erl%).7...ed|
00009870  69 74 6f 66 66 28 22 22  29 0d 37 8c 21 45 72 72  |itoff("").7.!Err|
00009880  25 3d 65 72 72 25 3a 45  72 72 24 3d 65 72 72 24  |%=err%:Err$=err$|
00009890  3a 45 72 6c 25 3d 65 72  6c 25 0d 37 96 2f e7 69  |:Erl%=erl%.7./.i|
000098a0  6e 65 72 72 6f 72 25 84  a6 2d 31 8c f2 65 72 72  |nerror%..-1..err|
000098b0  6f 72 64 69 73 70 6c 61  79 28 65 72 72 25 2c 65  |ordisplay(err%,e|
000098c0  72 72 24 2c 65 72 6c 25  29 0d 37 a0 0e 69 6e 65  |rr$,erl%).7..ine|
000098d0  72 72 6f 72 25 3d b9 0d  37 aa 2e c8 99 22 57 69  |rror%=..7...."Wi|
000098e0  6d 70 5f 44 72 61 67 42  6f 78 22 2c 2c 2d 31 3a  |mp_DragBox",,-1:|
000098f0  64 72 61 67 74 79 70 65  25 3d 30 3a 70 64 72 61  |dragtype%=0:pdra|
00009900  67 25 3d 2d 31 0d 37 b4  24 e7 64 69 61 6c 6f 67  |g%=-1.7.$.dialog|
00009910  75 65 25 3c 3e 2d 31 8c  f2 63 6c 6f 73 65 28 64  |ue%<>-1..close(d|
00009920  69 61 6c 6f 67 75 65 25  29 0d 37 be 12 e7 76 65  |ialogue%).7...ve|
00009930  72 73 69 6f 6e 25 3e 31  32 30 8c 0d 37 c8 0f de  |rsion%>120..7...|
00009940  65 72 72 62 75 66 25 32  35 35 0d 37 d2 36 21 65  |errbuf%255.7.6!e|
00009950  72 72 62 75 66 25 3d 65  72 72 25 3a 24 28 65 72  |rrbuf%=err%:$(er|
00009960  72 62 75 66 25 2b 34 29  3d 65 72 72 24 3a 3f 28  |rbuf%+4)=err$:?(|
00009970  65 72 72 62 75 66 25 2b  34 2b a9 f6 24 29 3d 30  |errbuf%+4+..$)=0|
00009980  0d 37 dc 2b c8 99 22 57  69 6d 70 5f 52 65 70 6f  |.7.+.."Wimp_Repo|
00009990  72 74 45 72 72 6f 72 22  2c 65 72 72 62 75 66 25  |rtError",errbuf%|
000099a0  2c 31 2c 22 46 6f 72 6d  45 64 22 0d 37 e6 0e cc  |,1,"FormEd".7...|
000099b0  ef 34 3a f1 65 72 72 24  3b 0d 37 f0 1e e7 65 72  |.4:.err$;.7...er|
000099c0  6c 25 3c 3e 30 8c f1 22  20 61 74 20 6c 69 6e 65  |l%<>0.." at line|
000099d0  20 22 3b 65 72 6c 25 0d  37 fa 06 e7 a5 0d 38 04  | ";erl%.7.....8.|
000099e0  2d c8 99 22 57 69 6d 70  5f 46 6f 72 63 65 52 65  |-.."Wimp_ForceRe|
000099f0  64 72 61 77 22 2c 2d 31  2c 2d 31 45 38 2c 2d 31  |draw",-1,-1E8,-1|
00009a00  45 38 2c 31 45 38 2c 31  45 38 0d 38 0e 05 cd 0d  |E8,1E8,1E8.8....|
00009a10  38 18 0e 69 6e 65 72 72  6f 72 25 3d a3 0d 38 22  |8..inerror%=..8"|
00009a20  05 e1 0d 38 2c 04 0d 38  36 23 f4 20 2f 2f 2f 20  |...8,..86#. /// |
00009a30  6f 6c 64 20 65 72 72 6f  72 62 6f 78 20 68 61 6e  |old errorbox han|
00009a40  64 6c 69 6e 67 20 2f 2f  2f 0d 38 40 0b e3 49 25  |dling ///.8@..I%|
00009a50  3d 31 b8 34 0d 38 4a 33  21 71 25 3d 65 72 72 6f  |=1.4.8J3!q%=erro|
00009a60  72 62 6f 78 25 3a 71 25  21 34 3d 49 25 3a c8 99  |rbox%:q%!4=I%:..|
00009a70  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
00009a80  74 65 22 2c 2c 71 25 0d  38 54 1a 65 72 72 6f 72  |te",,q%.8T.error|
00009a90  61 64 64 72 25 28 49 25  29 3d 71 25 21 32 38 3a  |addr%(I%)=q%!28:|
00009aa0  ed 0d 38 5e 20 e3 49 25  3d 31 b8 34 3a 3f 65 72  |..8^ .I%=1.4:?er|
00009ab0  72 6f 72 61 64 64 72 25  28 49 25 29 3d 31 33 3a  |roraddr%(I%)=13:|
00009ac0  ed 0d 38 68 1d 6d 65 6e  75 24 3d 65 72 72 24 3a  |..8h.menu$=err$:|
00009ad0  49 25 3d 31 3a 4a 25 3d  30 3a 69 25 3d 30 0d 38  |I%=1:J%=0:i%=0.8|
00009ae0  72 11 f5 77 24 3d a4 70  61 72 28 22 20 22 29 0d  |r..w$=.par(" ").|
00009af0  38 7c 3b e7 4a 25 3e 30  e7 4a 25 2b 31 2b a9 77  |8|;.J%>0.J%+1+.w|
00009b00  24 3e 31 39 8c 49 25 2b  3d 31 3a 4a 25 3d 30 3a  |$>19.I%+=1:J%=0:|
00009b10  e7 49 25 3e 34 8c 85 31  2c 22 45 72 72 6f 72 20  |.I%>4..1,"Error |
00009b20  74 6f 6f 20 62 69 67 22  3a fa 0d 38 86 13 e7 4a  |too big":..8...J|
00009b30  25 3e 30 8c 77 24 3d 22  20 22 2b 77 24 0d 38 90  |%>0.w$=" "+w$.8.|
00009b40  23 24 28 65 72 72 6f 72  61 64 64 72 25 28 49 25  |#$(erroraddr%(I%|
00009b50  29 2b 4a 25 29 3d 77 24  3a 4a 25 2b 3d a9 77 24  |)+J%)=w$:J%+=.w$|
00009b60  0d 38 9a 11 fd 77 24 3d  22 22 84 77 24 3d 22 20  |.8...w$="".w$=" |
00009b70  22 0d 38 a4 20 f2 64 69  61 6c 6f 67 75 65 28 65  |".8. .dialogue(e|
00009b80  72 72 6f 72 62 6f 78 25  2c 33 30 30 2c 36 35 30  |rrorbox%,300,650|
00009b90  29 0d 38 ae 05 e1 0d 38  b8 04 0d 38 c2 22 dd f2  |).8....8...8."..|
00009ba0  65 72 72 6f 72 64 69 73  70 6c 61 79 28 65 72 72  |errordisplay(err|
00009bb0  25 2c 65 72 72 24 2c 65  72 6c 25 29 0d 38 cc 07  |%,err$,erl%).8..|
00009bc0  ee 85 87 0d 38 d6 12 e7  76 65 72 73 69 6f 6e 25  |....8...version%|
00009bd0  3e 31 32 30 8c 0d 38 e0  0f de 65 72 72 62 75 66  |>120..8...errbuf|
00009be0  25 32 35 35 0d 38 ea 36  21 65 72 72 62 75 66 25  |%255.8.6!errbuf%|
00009bf0  3d 65 72 72 25 3a 24 28  65 72 72 62 75 66 25 2b  |=err%:$(errbuf%+|
00009c00  34 29 3d 65 72 72 24 3a  3f 28 65 72 72 62 75 66  |4)=err$:?(errbuf|
00009c10  25 2b 34 2b a9 f6 24 29  3d 30 0d 38 f4 2b c8 99  |%+4+..$)=0.8.+..|
00009c20  22 57 69 6d 70 5f 52 65  70 6f 72 74 45 72 72 6f  |"Wimp_ReportErro|
00009c30  72 22 2c 65 72 72 62 75  66 25 2c 32 2c 22 46 6f  |r",errbuf%,2,"Fo|
00009c40  72 6d 45 64 22 0d 38 fe  0e cc ef 34 3a f1 65 72  |rmEd".8....4:.er|
00009c50  72 24 3b 0d 39 08 1e e7  65 72 6c 25 3c 3e 30 8c  |r$;.9...erl%<>0.|
00009c60  f1 22 20 61 74 20 6c 69  6e 65 20 22 3b 65 72 6c  |." at line ";erl|
00009c70  25 0d 39 12 05 cd 0d 39  1c 0b f2 66 69 6e 69 73  |%.9....9...finis|
00009c80  68 0d 39 26 05 e0 0d 39  30 04 0d 39 3a 0c dd f2  |h.9&...90..9:...|
00009c90  66 69 6e 69 73 68 0d 39  44 0d e3 49 25 3d 30 b8  |finish.9D..I%=0.|
00009ca0  32 35 35 0d 39 4e 3f c8  95 66 6f 6e 74 63 6f 75  |255.9N?..fontcou|
00009cb0  6e 74 73 25 3f 49 25 3e  30 3a c8 99 22 46 6f 6e  |nts%?I%>0:.."Fon|
00009cc0  74 5f 4c 6f 73 65 46 6f  6e 74 22 2c 49 25 3a 66  |t_LoseFont",I%:f|
00009cd0  6f 6e 74 63 6f 75 6e 74  73 25 3f 49 25 2d 3d 31  |ontcounts%?I%-=1|
00009ce0  3a ce 0d 39 58 05 ed 0d  39 62 0e e7 62 6f 64 67  |:..9X...9b..bodg|
00009cf0  65 69 74 25 8c 0d 39 6c  2d e3 49 25 3d 31 b8 38  |eit%..9l-.I%=1.8|
00009d00  3a c8 99 22 4f 53 5f 42  79 74 65 22 2c 49 25 2b  |:.."OS_Byte",I%+|
00009d10  32 32 30 2c 6f 6c 64 66  78 25 28 49 25 29 2c 30  |220,oldfx%(I%),0|
00009d20  3a ed 0d 39 76 1f c8 99  22 4f 53 5f 42 79 74 65  |:..9v..."OS_Byte|
00009d30  22 2c 32 31 39 2c 6f 6c  64 66 78 32 31 39 25 2c  |",219,oldfx219%,|
00009d40  30 0d 39 80 17 cc c8 99  22 57 69 6d 70 5f 43 6c  |0.9....."Wimp_Cl|
00009d50  6f 73 65 44 6f 77 6e 22  0d 39 8a 05 cd 0d 39 94  |oseDown".9....9.|
00009d60  29 e7 76 65 72 73 69 6f  6e 25 3c 31 32 30 8c ef  |).version%<120..|
00009d70  34 2c 32 36 2c 33 30 2c  31 37 2c 26 38 46 2c 31  |4,26,30,17,&8F,1|
00009d80  37 2c 30 2c 31 32 0d 39  9e 05 e1 0d 39 a8 04 0d  |7,0,12.9....9...|
00009d90  39 b2 0f f4 20 2a 46 58  20 32 32 35 20 31 0d 39  |9... *FX 225 1.9|
00009da0  bc 28 f4 20 4f 53 43 4c  49 22 4b 65 79 20 39 20  |.(. OSCLI"Key 9 |
00009db0  4c 49 53 54 20 22 2b 53  54 52 24 65 72 6c 25 2b  |LIST "+STR$erl%+|
00009dc0  22 7c 4b 7c 4d 22 0d 39  c6 0e f4 20 2a 46 58 20  |"|K|M".9... *FX |
00009dd0  31 35 20 31 0d 39 d0 23  f4 20 49 46 20 65 72 6c  |15 1.9.#. IF erl|
00009de0  25 3c 3e 30 20 54 48 45  4e 20 2a 46 58 20 31 33  |%<>0 THEN *FX 13|
00009df0  38 20 30 20 31 33 37 0d  39 da 09 f4 20 45 4e 44  |8 0 137.9... END|
00009e00  0d 39 e4 04 0d 39 ee 52  2d 2d 2d 2d 2d 2d 2d 2d  |.9...9.R--------|
00009e10  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00009e50  2d 2d 2d 2d 2d 2d 0d 39  f8 04 0d 3a 02 13 dd a4  |------.9...:....|
00009e60  77 6f 72 6b 73 70 61 63  65 28 4c 25 29 0d 3a 0c  |workspace(L%).:.|
00009e70  3a e7 63 75 72 62 75 66  66 25 2b 4c 25 3e 62 75  |:.curbuff%+L%>bu|
00009e80  66 66 65 72 25 2b 6d 61  78 62 75 66 25 8c 85 31  |ffer%+maxbuf%..1|
00009e90  2c 22 4e 6f 20 6d 6f 72  65 20 62 75 66 66 65 72  |,"No more buffer|
00009ea0  20 73 70 61 63 65 22 0d  3a 16 1d 63 75 72 62 75  | space".:..curbu|
00009eb0  66 66 25 2b 3d 4c 25 3a  3d 63 75 72 62 75 66 66  |ff%+=L%:=curbuff|
00009ec0  25 2d 4c 25 0d 3a 20 04  0d 3a 2a 52 2d 2d 2d 2d  |%-L%.: ..:*R----|
00009ed0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00009f10  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 3a 34 04 0d 3a  |----------.:4..:|
00009f20  3e 14 dd a4 66 69 6e 64  66 6f 6e 74 28 66 24 2c  |>...findfont(f$,|
00009f30  70 29 0d 3a 48 07 ea 66  25 0d 3a 52 2a c8 99 22  |p).:H..f%.:R*.."|
00009f40  46 6f 6e 74 5f 46 69 6e  64 46 6f 6e 74 22 2c 2c  |Font_FindFont",,|
00009f50  66 24 2c 70 2a 31 36 2c  70 2a 31 36 2c 30 2c 30  |f$,p*16,p*16,0,0|
00009f60  b8 66 25 0d 3a 5c 15 66  6f 6e 74 63 6f 75 6e 74  |.f%.:\.fontcount|
00009f70  73 25 3f 66 25 2b 3d 31  0d 3a 66 36 e7 66 6f 6e  |s%?f%+=1.:f6.fon|
00009f80  74 63 6f 75 6e 74 73 25  3f 66 25 3e 3d 32 35 35  |tcounts%?f%>=255|
00009f90  8c 85 31 2c 22 49 6e 74  65 72 6e 61 6c 20 66 6f  |..1,"Internal fo|
00009fa0  6e 74 20 74 61 62 6c 65  20 66 75 6c 6c 22 0d 3a  |nt table full".:|
00009fb0  70 07 3d 66 25 0d 3a 7a  04 0d 3a 84 52 2d 2d 2d  |p.=f%.:z..:.R---|
00009fc0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000a000  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0d 3a 8e 04 0d  |-----------.:...|
0000a010  3a 98 10 dd f2 73 70 72  69 74 65 69 6e 66 6f 0d  |:....spriteinfo.|
0000a020  3a a2 07 ea 49 25 0d 3a  ac 37 49 25 3d 71 25 2b  |:...I%.:.7I%=q%+|
0000a030  34 3a c8 99 22 57 69 6d  70 5f 57 68 69 63 68 49  |4:.."Wimp_WhichI|
0000a040  63 6f 6e 22 2c 73 70 72  69 74 65 6c 69 73 74 25  |con",spritelist%|
0000a050  2c 49 25 2c 26 38 30 30  30 30 30 2c 30 0d 3a b6  |,I%,&800000,0.:.|
0000a060  41 c8 95 21 49 25 3c 3e  2d 31 3a 49 25 21 2d 34  |A..!I%<>-1:I%!-4|
0000a070  3d 73 70 72 69 74 65 6c  69 73 74 25 3a c8 99 22  |=spritelist%:.."|
0000a080  57 69 6d 70 5f 44 65 6c  65 74 65 49 63 6f 6e 22  |Wimp_DeleteIcon"|
0000a090  2c 2c 49 25 2d 34 3a 49  25 2b 3d 34 3a ce 0d 3a  |,,I%-4:I%+=4:..:|
0000a0a0  c0 39 69 25 3d 73 70 72  53 50 32 25 3a c8 95 69  |.9i%=sprSP2%:..i|
0000a0b0  25 3c 3e 2d 31 3a 73 70  72 69 74 65 69 25 28 69  |%<>-1:spritei%(i|
0000a0c0  25 29 3d 2d 31 3a 69 25  3d 6e 73 70 72 69 74 65  |%)=-1:i%=nsprite|
0000a0d0  25 28 69 25 29 3a ce 0d  3a ca 2c 21 71 25 3d 73  |%(i%):..:.,!q%=s|
0000a0e0  70 72 69 74 65 6c 69 73  74 25 3a c8 99 22 57 69  |pritelist%:.."Wi|
0000a0f0  6d 70 5f 43 6c 6f 73 65  57 69 6e 64 6f 77 22 2c  |mp_CloseWindow",|
0000a100  2c 71 25 0d 3a d4 20 24  73 70 72 69 74 65 66 25  |,q%.:. $spritef%|
0000a110  3d a4 73 70 66 6e 61 6d  65 28 73 70 72 69 74 65  |=.spfname(sprite|
0000a120  66 24 29 0d 3a de 31 c8  99 22 4f 53 5f 53 70 72  |f$).:.1.."OS_Spr|
0000a130  69 74 65 4f 70 22 2c 26  31 30 38 2c 73 70 72 69  |iteOp",&108,spri|
0000a140  74 65 61 72 65 61 25 b8  2c 2c 2c 6e 73 70 72 69  |tearea%.,,,nspri|
0000a150  74 65 73 25 0d 3a e8 3f  6d 61 78 73 70 77 69 64  |tes%.:.?maxspwid|
0000a160  74 68 25 3d 73 63 72 78  31 25 2d 38 30 3a 63 75  |th%=scrx1%-80:cu|
0000a170  72 78 25 3d 30 3a 63 75  72 79 25 3d 30 3a 6d 61  |rx%=0:cury%=0:ma|
0000a180  78 77 25 3d 30 3a 6d 61  78 68 25 3d 30 3a 69 78  |xw%=0:maxh%=0:ix|
0000a190  25 3d 30 0d 3a f2 11 e7  6e 73 70 72 69 74 65 73  |%=0.:...nsprites|
0000a1a0  25 3e 30 8c 0d 3a fc 13  e3 49 25 3d 31 b8 6e 73  |%>0..:...I%=1.ns|
0000a1b0  70 72 69 74 65 73 25 0d  3b 06 13 f2 72 65 61 64  |prites%.;...read|
0000a1c0  73 70 72 69 74 65 28 49  25 29 0d 3b 10 45 66 6c  |sprite(I%).;.Efl|
0000a1d0  61 67 73 25 3d 26 31 37  30 31 41 34 32 39 3a 74  |ags%=&1701A429:t|
0000a1e0  65 78 74 24 3d 24 73 70  72 69 74 65 6e 61 6d 65  |ext$=$spritename|
0000a1f0  25 3a f2 67 65 74 6d 69  6e 78 79 28 66 6c 61 67  |%:.getminxy(flag|
0000a200  73 25 2c 74 65 78 74 24  2c 74 65 78 74 24 29 0d  |s%,text$,text$).|
0000a210  3b 1a 2c e7 6d 69 6e 78  25 3e 73 70 77 25 8c 73  |;.,.minx%>spw%.s|
0000a220  70 77 78 25 3d 6d 69 6e  78 25 2b 33 32 8b 73 70  |pwx%=minx%+32.sp|
0000a230  77 78 25 3d 73 70 77 25  2b 33 32 0d 3b 24 2b e7  |wx%=spw%+32.;$+.|
0000a240  63 75 72 78 25 2b 73 70  77 78 25 3e 6d 61 78 73  |curx%+spwx%>maxs|
0000a250  70 77 69 64 74 68 25 8c  f2 6c 69 6e 65 6f 66 73  |pwidth%..lineofs|
0000a260  70 72 69 74 65 73 0d 3b  2e 14 73 70 77 78 25 28  |prites.;..spwx%(|
0000a270  69 78 25 29 3d 73 70 77  78 25 0d 3b 38 32 e7 2d  |ix%)=spwx%.;82.-|
0000a280  33 32 2d 73 70 68 25 2d  6d 69 6e 79 25 2d 38 3c  |32-sph%-miny%-8<|
0000a290  6d 61 78 68 25 8c 6d 61  78 68 25 3d 2d 33 32 2d  |maxh%.maxh%=-32-|
0000a2a0  73 70 68 25 2d 6d 69 6e  79 25 2d 38 0d 3b 42 43  |sph%-miny%-8.;BC|
0000a2b0  73 70 77 25 28 69 78 25  29 3d 73 70 77 25 3a 73  |spw%(ix%)=spw%:s|
0000a2c0  70 68 25 28 69 78 25 29  3d 73 70 68 25 3a 6d 69  |ph%(ix%)=sph%:mi|
0000a2d0  6e 78 25 28 69 78 25 29  3d 6d 69 6e 78 25 3a 6d  |nx%(ix%)=minx%:m|
0000a2e0  69 6e 79 25 28 69 78 25  29 3d 6d 69 6e 79 25 0d  |iny%(ix%)=miny%.|
0000a2f0  3b 4c 1d 73 70 6e 61 6d  65 24 28 69 78 25 29 3d  |;L.spname$(ix%)=|
0000a300  24 73 70 72 69 74 65 6e  61 6d 65 25 0d 3b 56 1c  |$spritename%.;V.|
0000a310  63 75 72 78 25 2b 3d 73  70 77 78 25 28 69 78 25  |curx%+=spwx%(ix%|
0000a320  29 3a 69 78 25 2b 3d 31  0d 3b 60 05 ed 0d 3b 6a  |):ix%+=1.;`...;j|
0000a330  12 f2 6c 69 6e 65 6f 66  73 70 72 69 74 65 73 0d  |..lineofsprites.|
0000a340  3b 74 05 cd 0d 3b 7e 27  21 71 25 3d 30 3a 71 25  |;t...;~'!q%=0:q%|
0000a350  21 34 3d 63 75 72 79 25  3a 71 25 21 38 3d 6d 61  |!4=cury%:q%!8=ma|
0000a360  78 77 25 3a 71 25 21 31  32 3d 30 0d 3b 88 25 c8  |xw%:q%!12=0.;.%.|
0000a370  99 22 57 69 6d 70 5f 53  65 74 45 78 74 65 6e 74  |."Wimp_SetExtent|
0000a380  22 2c 73 70 72 69 74 65  6c 69 73 74 25 2c 71 25  |",spritelist%,q%|
0000a390  0d 3b 92 17 f2 66 72 6f  6e 74 28 73 70 72 69 74  |.;...front(sprit|
0000a3a0  65 6c 69 73 74 25 29 0d  3b 9c 17 69 25 3d 73 70  |elist%).;..i%=sp|
0000a3b0  72 53 50 32 25 3a c8 95  69 25 3c 3e 2d 31 0d 3b  |rSP2%:..i%<>-1.;|
0000a3c0  a6 14 69 32 25 3d 6e 73  70 72 69 74 65 25 28 69  |..i2%=nsprite%(i|
0000a3d0  25 29 0d 3b b0 18 f2 63  6c 6f 73 65 28 73 70 72  |%).;...close(spr|
0000a3e0  69 74 65 77 25 28 69 25  29 29 0d 3b ba 2e e7 73  |itew%(i%)).;...s|
0000a3f0  70 72 69 74 65 69 25 28  69 25 29 3e 3d 30 8c f2  |pritei%(i%)>=0..|
0000a400  6f 70 65 6e 73 70 72 69  74 65 28 73 70 72 69 74  |opensprite(sprit|
0000a410  65 69 25 28 69 25 29 29  0d 3b c4 0c 69 25 3d 69  |ei%(i%)).;..i%=i|
0000a420  32 25 3a ce 0d 3b ce 35  c8 99 22 57 69 6d 70 5f  |2%:..;.5.."Wimp_|
0000a430  46 6f 72 63 65 52 65 64  72 61 77 22 2c 73 70 72  |ForceRedraw",spr|
0000a440  69 74 65 6c 69 73 74 25  2c 30 2c 2d 33 30 30 30  |itelist%,0,-3000|
0000a450  30 2c 33 30 30 30 30 2c  30 0d 3b d8 05 e1 0d 3b  |0,30000,0.;....;|
0000a460  e2 04 0d 3b ec 12 dd a4  73 70 66 6e 61 6d 65 28  |...;....spfname(|
0000a470  73 70 24 29 0d 3b f6 3c  e7 a9 73 70 24 3e 73 70  |sp$).;.<..sp$>sp|
0000a480  66 6c 65 6e 25 2d 32 8c  3d 22 27 2e 2e 2e 22 2b  |flen%-2.="'..."+|
0000a490  c2 73 70 24 2c 73 70 66  6c 65 6e 25 2d 35 29 2b  |.sp$,spflen%-5)+|
0000a4a0  22 27 22 8b 3d 22 27 22  2b 73 70 24 2b 22 27 22  |"'".="'"+sp$+"'"|
0000a4b0  0d 3c 00 04 0d 3c 0a 13  dd f2 6c 69 6e 65 6f 66  |.<...<....lineof|
0000a4c0  73 70 72 69 74 65 73 0d  3c 14 20 63 75 72 78 25  |sprites.<. curx%|
0000a4d0  3d 30 3a 63 75 72 79 25  2b 3d 6d 61 78 68 25 3a  |=0:cury%+=maxh%:|
0000a4e0  6d 61 78 68 25 3d 30 0d  3c 1e 0b e7 69 78 25 3e  |maxh%=0.<...ix%>|
0000a4f0  30 8c 0d 3c 28 0f e3 4a  25 3d 30 b8 69 78 25 2d  |0..<(..J%=0.ix%-|
0000a500  31 0d 3c 32 4d 21 71 25  3d 73 70 72 69 74 65 6c  |1.<2M!q%=spritel|
0000a510  69 73 74 25 3a 71 25 21  34 3d 63 75 72 78 25 2b  |ist%:q%!4=curx%+|
0000a520  28 73 70 77 78 25 28 4a  25 29 2d 73 70 77 25 28  |(spwx%(J%)-spw%(|
0000a530  4a 25 29 29 81 32 3a 71  25 21 38 3d 63 75 72 79  |J%)).2:q%!8=cury|
0000a540  25 2b 6d 69 6e 79 25 28  4a 25 29 2b 31 36 0d 3c  |%+miny%(J%)+16.<|
0000a550  3c 4b 71 25 21 31 32 3d  63 75 72 78 25 2b 28 73  |<Kq%!12=curx%+(s|
0000a560  70 77 78 25 28 4a 25 29  2b 73 70 77 25 28 4a 25  |pwx%(J%)+spw%(J%|
0000a570  29 29 81 32 3a 71 25 21  31 36 3d 63 75 72 79 25  |)).2:q%!16=cury%|
0000a580  2b 6d 69 6e 79 25 28 4a  25 29 2b 31 36 2b 73 70  |+miny%(J%)+16+sp|
0000a590  68 25 28 4a 25 29 2b 31  36 0d 3c 46 20 71 25 21  |h%(J%)+16.<F q%!|
0000a5a0  32 30 3d a4 73 70 72 66  6c 61 67 73 28 73 70 6e  |20=.sprflags(spn|
0000a5b0  61 6d 65 24 28 4a 25 29  29 0d 3c 50 34 24 28 71  |ame$(J%)).<P4$(q|
0000a5c0  25 2b 32 34 29 3d 73 70  6e 61 6d 65 24 28 4a 25  |%+24)=spname$(J%|
0000a5d0  29 3a c8 99 22 57 69 6d  70 5f 43 72 65 61 74 65  |):.."Wimp_Create|
0000a5e0  49 63 6f 6e 22 2c 2c 71  25 b8 69 63 25 0d 3c 5a  |Icon",,q%.ic%.<Z|
0000a5f0  18 66 25 3d 66 6c 61 67  73 25 3a 69 25 3d 73 70  |.f%=flags%:i%=sp|
0000a600  72 53 50 32 25 0d 3c 64  45 c8 95 69 25 3c 3e 2d  |rSP2%.<dE..i%<>-|
0000a610  31 3a e7 73 70 72 69 74  65 6e 24 28 69 25 29 3d  |1:.spriten$(i%)=|
0000a620  73 70 6e 61 6d 65 24 28  4a 25 29 8c 66 25 3d 66  |spname$(J%).f%=f|
0000a630  25 84 26 34 30 30 30 30  30 3a 73 70 72 69 74 65  |%.&400000:sprite|
0000a640  69 25 28 69 25 29 3d 69  63 25 0d 3c 6e 15 69 25  |i%(i%)=ic%.<n.i%|
0000a650  3d 6e 73 70 72 69 74 65  25 28 69 25 29 3a ce 0d  |=nsprite%(i%):..|
0000a660  3c 78 44 21 71 25 3d 73  70 72 69 74 65 6c 69 73  |<xD!q%=spritelis|
0000a670  74 25 3a 71 25 21 34 3d  63 75 72 78 25 2b 28 73  |t%:q%!4=curx%+(s|
0000a680  70 77 78 25 28 4a 25 29  2d 6d 69 6e 78 25 28 4a  |pwx%(J%)-minx%(J|
0000a690  25 29 29 81 32 3a 71 25  21 38 3d 63 75 72 79 25  |%)).2:q%!8=cury%|
0000a6a0  2b 31 36 0d 3c 82 40 71  25 21 31 32 3d 63 75 72  |+16.<.@q%!12=cur|
0000a6b0  78 25 2b 28 73 70 77 78  25 28 4a 25 29 2b 6d 69  |x%+(spwx%(J%)+mi|
0000a6c0  6e 78 25 28 4a 25 29 29  81 32 3a 71 25 21 31 36  |nx%(J%)).2:q%!16|
0000a6d0  3d 63 75 72 79 25 2b 6d  69 6e 79 25 28 4a 25 29  |=cury%+miny%(J%)|
0000a6e0  2b 31 36 0d 3c 8c 39 71  25 21 32 30 3d 66 25 3a  |+16.<.9q%!20=f%:|
0000a6f0  24 28 71 25 2b 32 34 29  3d 73 70 6e 61 6d 65 24  |$(q%+24)=spname$|
0000a700  28 4a 25 29 3a c8 99 22  57 69 6d 70 5f 43 72 65  |(J%):.."Wimp_Cre|
0000a710  61 74 65 49 63 6f 6e 22  2c 2c 71 25 0d 3c 96 14  |ateIcon",,q%.<..|
0000a720  63 75 72 78 25 2b 3d 73  70 77 78 25 28 4a 25 29  |curx%+=spwx%(J%)|
0000a730  0d 3c a0 05 ed 0d 3c aa  05 cd 0d 3c b4 1c e7 63  |.<....<....<...c|
0000a740  75 72 78 25 3e 6d 61 78  77 25 8c 6d 61 78 77 25  |urx%>maxw%.maxw%|
0000a750  3d 63 75 72 78 25 0d 3c  be 11 69 78 25 3d 30 3a  |=curx%.<..ix%=0:|
0000a760  63 75 72 78 25 3d 30 0d  3c c8 05 e1 0d 3c d2 04  |curx%=0.<....<..|
0000a770  0d 3c dc 13 dd a4 73 70  72 66 6c 61 67 73 28 73  |.<....sprflags(s|
0000a780  70 24 29 0d 3c e6 36 c8  99 22 4f 53 5f 53 70 72  |p$).<.6.."OS_Spr|
0000a790  69 74 65 4f 70 22 2c 26  31 32 38 2c 73 70 72 69  |iteOp",&128,spri|
0000a7a0  74 65 61 72 65 61 25 2c  73 70 24 b8 2c 2c 2c 2c  |tearea%,sp$.,,,,|
0000a7b0  2c 68 61 73 6d 61 73 6b  25 0d 3c f0 23 e7 68 61  |,hasmask%.<.#.ha|
0000a7c0  73 6d 61 73 6b 25 8c 3d  26 31 37 30 31 41 30 33  |smask%.=&1701A03|
0000a7d0  32 8b 3d 26 31 37 30 31  41 30 31 32 0d 3c fa 04  |2.=&1701A012.<..|
0000a7e0  0d 3d 04 14 dd f2 72 65  61 64 73 70 72 69 74 65  |.=....readsprite|
0000a7f0  28 49 25 29 0d 3d 0e 16  ea 53 25 3a 53 25 3d 73  |(I%).=...S%:S%=s|
0000a800  70 72 69 74 65 61 72 65  61 25 0d 3d 18 4d c8 99  |pritearea%.=.M..|
0000a810  22 4f 53 5f 53 70 72 69  74 65 4f 70 22 2c 26 31  |"OS_SpriteOp",&1|
0000a820  30 44 2c 53 25 2c 73 70  72 69 74 65 6e 61 6d 65  |0D,S%,spritename|
0000a830  25 2c 31 32 2c 49 25 b8  2c 2c 2c 73 70 6c 65 6e  |%,12,I%.,,,splen|
0000a840  25 3a 73 70 72 69 74 65  6e 61 6d 65 25 3f 73 70  |%:spritename%?sp|
0000a850  6c 65 6e 25 3d 31 33 0d  3d 22 42 c8 99 22 4f 53  |len%=13.="B.."OS|
0000a860  5f 53 70 72 69 74 65 4f  70 22 2c 26 31 32 38 2c  |_SpriteOp",&128,|
0000a870  53 25 2c 73 70 72 69 74  65 6e 61 6d 65 25 b8 2c  |S%,spritename%.,|
0000a880  2c 2c 73 70 77 25 2c 73  70 68 25 2c 68 61 73 6d  |,,spw%,sph%,hasm|
0000a890  61 73 6b 25 2c 73 70 6d  25 0d 3d 2c 39 c8 99 22  |ask%,spm%.=,9.."|
0000a8a0  4f 53 5f 52 65 61 64 4d  6f 64 65 56 61 72 69 61  |OS_ReadModeVaria|
0000a8b0  62 6c 65 22 2c 73 70 6d  25 2c 34 b8 2c 2c 73 70  |ble",spm%,4.,,sp|
0000a8c0  78 25 3a 73 70 77 25 3d  73 70 77 25 3c 3c 73 70  |x%:spw%=spw%<<sp|
0000a8d0  78 25 0d 3d 36 39 c8 99  22 4f 53 5f 52 65 61 64  |x%.=69.."OS_Read|
0000a8e0  4d 6f 64 65 56 61 72 69  61 62 6c 65 22 2c 73 70  |ModeVariable",sp|
0000a8f0  6d 25 2c 35 b8 2c 2c 73  70 79 25 3a 73 70 68 25  |m%,5.,,spy%:sph%|
0000a900  3d 73 70 68 25 3c 3c 73  70 79 25 0d 3d 40 05 e1  |=sph%<<spy%.=@..|
0000a910  0d 3d 4a 04 0d 3d 54 15  dd f2 64 65 73 65 6c 65  |.=J..=T...desele|
0000a920  63 74 73 70 72 69 74 65  73 0d 3d 5e 0c 49 25 3d  |ctsprites.=^.I%=|
0000a930  71 25 2b 31 36 0d 3d 68  35 c8 99 22 57 69 6d 70  |q%+16.=h5.."Wimp|
0000a940  5f 57 68 69 63 68 49 63  6f 6e 22 2c 73 70 72 69  |_WhichIcon",spri|
0000a950  74 65 6c 69 73 74 25 2c  49 25 2c 26 32 30 30 30  |telist%,I%,&2000|
0000a960  30 30 2c 26 32 30 30 30  30 30 0d 3d 72 2f c8 95  |00,&200000.=r/..|
0000a970  21 49 25 3e 2d 31 3a f2  64 65 73 65 6c 65 63 74  |!I%>-1:.deselect|
0000a980  28 73 70 72 69 74 65 6c  69 73 74 25 2c 21 49 25  |(spritelist%,!I%|
0000a990  29 3a 49 25 2b 3d 34 3a  ce 0d 3d 7c 05 e1 0d 3d  |):I%+=4:..=|...=|
0000a9a0  86 04 0d 3d 90 17 dd f2  6f 70 65 6e 73 70 72 69  |...=....openspri|
0000a9b0  74 65 28 69 63 6f 6e 25  29 0d 3d 9a 2b e7 73 70  |te(icon%).=.+.sp|
0000a9c0  72 53 50 25 3d 2d 31 8c  85 31 2c 22 4e 6f 20 6d  |rSP%=-1..1,"No m|
0000a9d0  6f 72 65 20 73 70 72 69  74 65 20 77 69 6e 64 6f  |ore sprite windo|
0000a9e0  77 73 21 22 0d 3d a4 1e  f2 67 65 74 69 28 73 70  |ws!".=...geti(sp|
0000a9f0  72 69 74 65 6c 69 73 74  25 2c 69 63 6f 6e 25 84  |ritelist%,icon%.|
0000aa00  31 29 0d 3d ae 36 69 64  61 74 61 30 25 3d 69 64  |1).=.6idata0%=id|
0000aa10  61 74 61 25 21 30 3a 69  64 61 74 61 34 25 3d 69  |ata%!0:idata4%=i|
0000aa20  64 61 74 61 25 21 34 3a  69 64 61 74 61 38 25 3d  |data%!4:idata8%=|
0000aa30  69 64 61 74 61 25 21 38  0d 3d b8 25 74 65 78 74  |idata%!8.=.%text|
0000aa40  24 3d a4 69 63 6f 6e 73  74 72 69 6e 67 28 69 66  |$=.iconstring(if|
0000aa50  6c 61 67 73 25 2c 69 64  61 74 61 25 29 0d 3d c2  |lags%,idata%).=.|
0000aa60  18 f2 73 74 61 6e 64 61  72 64 77 69 6e 64 6f 77  |..standardwindow|
0000aa70  28 30 2c 30 29 0d 3d cc  0d 71 25 21 32 38 3d 26  |(0,0).=..q%!28=&|
0000aa80  30 46 0d 3d d6 0c 71 25  3f 33 35 3d 2d 31 0d 3d  |0F.=..q%?35=-1.=|
0000aa90  e0 1c 71 25 21 35 36 3d  28 69 66 6c 61 67 73 25  |..q%!56=(iflags%|
0000aaa0  80 26 31 30 30 29 84 26  33 44 0d 3d ea 3a 71 25  |.&100).&3D.=.:q%|
0000aab0  21 37 32 3d 69 64 61 74  61 30 25 3a 71 25 21 37  |!72=idata0%:q%!7|
0000aac0  36 3d 69 64 61 74 61 34  25 3a 71 25 21 38 30 3d  |6=idata4%:q%!80=|
0000aad0  69 64 61 74 61 38 25 3a  f4 20 73 68 61 72 65 20  |idata8%:. share |
0000aae0  64 61 74 61 0d 3d f4 0f  71 25 21 36 30 3d 26 33  |data.=..q%!60=&3|
0000aaf0  30 30 30 0d 3d fe 3d c8  99 22 4f 53 5f 53 70 72  |000.=.=.."OS_Spr|
0000ab00  69 74 65 4f 70 22 2c 26  31 32 38 2c 73 70 72 69  |iteOp",&128,spri|
0000ab10  74 65 61 72 65 61 25 2c  74 65 78 74 24 b8 2c 2c  |tearea%,text$.,,|
0000ab20  2c 73 70 77 25 2c 73 70  68 25 2c 2c 73 70 6d 25  |,spw%,sph%,,spm%|
0000ab30  0d 3e 08 36 c8 99 22 4f  53 5f 52 65 61 64 4d 6f  |.>.6.."OS_ReadMo|
0000ab40  64 65 56 61 72 69 61 62  6c 65 22 2c 73 70 6d 25  |deVariable",spm%|
0000ab50  2c 34 b8 2c 2c 73 70 78  25 3a 78 73 63 25 3d 36  |,4.,,spx%:xsc%=6|
0000ab60  3c 3c 73 70 78 25 0d 3e  12 36 c8 99 22 4f 53 5f  |<<spx%.>.6.."OS_|
0000ab70  52 65 61 64 4d 6f 64 65  56 61 72 69 61 62 6c 65  |ReadModeVariable|
0000ab80  22 2c 73 70 6d 25 2c 35  b8 2c 2c 73 70 79 25 3a  |",spm%,5.,,spy%:|
0000ab90  79 73 63 25 3d 36 3c 3c  73 70 79 25 0d 3e 1c 1f  |ysc%=6<<spy%.>..|
0000aba0  77 78 25 3d 73 70 77 25  2a 78 73 63 25 3a 77 79  |wx%=spw%*xsc%:wy|
0000abb0  25 3d 73 70 68 25 2a 79  73 63 25 0d 3e 26 2b 71  |%=sph%*ysc%.>&+q|
0000abc0  25 21 34 3d 2d 77 79 25  3a 71 25 21 38 3d 77 78  |%!4=-wy%:q%!8=wx|
0000abd0  25 3a 71 25 21 34 34 3d  2d 77 79 25 3a 71 25 21  |%:q%!44=-wy%:q%!|
0000abe0  34 38 3d 77 78 25 0d 3e  30 25 c8 99 22 57 69 6d  |48=wx%.>0%.."Wim|
0000abf0  70 5f 43 72 65 61 74 65  57 69 6e 64 6f 77 22 2c  |p_CreateWindow",|
0000ac00  2c 71 25 b8 68 61 6e 64  6c 65 25 0d 3e 3a 36 6d  |,q%.handle%.>:6m|
0000ac10  25 3d 73 70 72 53 50 25  3a 73 70 72 53 50 25 3d  |%=sprSP%:sprSP%=|
0000ac20  73 70 72 69 74 65 77 25  28 6d 25 29 3a 73 70 72  |spritew%(m%):spr|
0000ac30  69 74 65 77 25 28 6d 25  29 3d 68 61 6e 64 6c 65  |itew%(m%)=handle|
0000ac40  25 0d 3e 44 23 6e 73 70  72 69 74 65 25 28 6d 25  |%.>D#nsprite%(m%|
0000ac50  29 3d 73 70 72 53 50 32  25 3a 73 70 72 53 50 32  |)=sprSP2%:sprSP2|
0000ac60  25 3d 6d 25 0d 3e 4e 3e  73 70 72 69 74 65 6e 24  |%=m%.>N>spriten$|
0000ac70  28 6d 25 29 3d 74 65 78  74 24 3a 73 70 72 78 73  |(m%)=text$:sprxs|
0000ac80  63 61 6c 65 25 28 6d 25  29 3d 78 73 63 25 3a 73  |cale%(m%)=xsc%:s|
0000ac90  70 72 79 73 63 61 6c 65  25 28 6d 25 29 3d 79 73  |pryscale%(m%)=ys|
0000aca0  63 25 0d 3e 58 19 73 70  72 69 74 65 69 25 28 6d  |c%.>X.spritei%(m|
0000acb0  25 29 3d 69 63 6f 6e 25  80 ac 31 0d 3e 62 23 f2  |%)=icon%..1.>b#.|
0000acc0  64 65 73 65 6c 65 63 74  28 73 70 72 69 74 65 6c  |deselect(spritel|
0000acd0  69 73 74 25 2c 69 63 6f  6e 25 80 ac 31 29 0d 3e  |ist%,icon%..1).>|
0000ace0  6c 46 f2 73 65 74 69 28  73 70 72 69 74 65 6c 69  |lF.seti(spriteli|
0000acf0  73 74 25 2c 69 63 6f 6e  25 84 31 2c 26 34 30 30  |st%,icon%.1,&400|
0000ad00  30 30 30 2c 26 36 30 30  30 30 30 29 3a f4 20 73  |000,&600000):. s|
0000ad10  68 61 64 65 64 20 61 6e  64 20 64 65 73 65 6c 65  |haded and desele|
0000ad20  63 74 65 64 0d 3e 76 28  21 71 25 3d 68 61 6e 64  |cted.>v(!q%=hand|
0000ad30  6c 65 25 3a 71 25 21 32  30 3d 30 3a 71 25 21 32  |le%:q%!20=0:q%!2|
0000ad40  34 3d 30 3a 71 25 21 32  38 3d 2d 31 0d 3e 80 49  |4=0:q%!28=-1.>.I|
0000ad50  71 25 21 34 3d 6d 6f 75  73 65 78 25 2d 77 78 25  |q%!4=mousex%-wx%|
0000ad60  81 32 3a 71 25 21 38 3d  6d 6f 75 73 65 79 25 2d  |.2:q%!8=mousey%-|
0000ad70  77 79 25 3a 71 25 21 31  32 3d 6d 6f 75 73 65 78  |wy%:q%!12=mousex|
0000ad80  25 2b 77 78 25 81 32 3a  71 25 21 31 36 3d 6d 6f  |%+wx%.2:q%!16=mo|
0000ad90  75 73 65 79 25 0d 3e 8a  1b c8 99 22 57 69 6d 70  |usey%.>...."Wimp|
0000ada0  5f 4f 70 65 6e 57 69 6e  64 6f 77 22 2c 2c 71 25  |_OpenWindow",,q%|
0000adb0  0d 3e 94 05 e1 0d 3e 9e  04 0d 3e a8 1d dd f2 67  |.>....>...>....g|
0000adc0  65 74 73 70 72 69 74 65  78 79 28 49 25 2c 6d 78  |etspritexy(I%,mx|
0000add0  25 2c 6d 79 25 29 0d 3e  b2 29 78 73 25 3d 73 70  |%,my%).>.)xs%=sp|
0000ade0  72 78 73 63 61 6c 65 25  28 49 25 29 3a 79 73 25  |rxscale%(I%):ys%|
0000adf0  3d 73 70 72 79 73 63 61  6c 65 25 28 49 25 29 0d  |=spryscale%(I%).|
0000ae00  3e bc 14 78 25 3d 28 6d  78 25 2d 62 78 25 29 2f  |>..x%=(mx%-bx%)/|
0000ae10  78 73 25 0d 3e c6 18 79  25 3d 28 62 79 25 2d 6d  |xs%.>..y%=(by%-m|
0000ae20  79 25 2d 64 79 25 29 2f  79 73 25 0d 3e d0 4c c8  |y%-dy%)/ys%.>.L.|
0000ae30  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 26  |."OS_SpriteOp",&|
0000ae40  31 32 38 2c 73 70 72 69  74 65 61 72 65 61 25 2c  |128,spritearea%,|
0000ae50  73 70 72 69 74 65 6e 24  28 49 25 29 b8 2c 2c 2c  |spriten$(I%).,,,|
0000ae60  73 70 77 25 2c 73 70 68  25 2c 68 61 73 6d 61 73  |spw%,sph%,hasmas|
0000ae70  6b 25 2c 73 70 6d 25 0d  3e da 29 c8 99 22 4f 53  |k%,spm%.>.).."OS|
0000ae80  5f 52 65 61 64 4d 6f 64  65 56 61 72 69 61 62 6c  |_ReadModeVariabl|
0000ae90  65 22 2c 73 70 6d 25 2c  34 b8 2c 2c 73 70 78 25  |e",spm%,4.,,spx%|
0000aea0  0d 3e e4 29 c8 99 22 4f  53 5f 52 65 61 64 4d 6f  |.>.).."OS_ReadMo|
0000aeb0  64 65 56 61 72 69 61 62  6c 65 22 2c 73 70 6d 25  |deVariable",spm%|
0000aec0  2c 35 b8 2c 2c 73 70 79  25 0d 3e ee 1d 77 78 25  |,5.,,spy%.>..wx%|
0000aed0  3d 73 70 77 25 2a 78 73  25 3a 77 79 25 3d 73 70  |=spw%*xs%:wy%=sp|
0000aee0  68 25 2a 79 73 25 0d 3e  f8 0d e7 78 25 3c 30 78  |h%*ys%.>...x%<0x|
0000aef0  25 3d 30 0d 3f 02 0d e7  79 25 3c 30 79 25 3d 30  |%=0.?...y%<0y%=0|
0000af00  0d 3f 0c 16 e7 78 25 3e  3d 73 70 77 25 78 25 3d  |.?...x%>=spw%x%=|
0000af10  73 70 77 25 2d 31 0d 3f  16 16 e7 79 25 3e 3d 73  |spw%-1.?...y%>=s|
0000af20  70 68 25 79 25 3d 73 70  68 25 2d 31 0d 3f 20 05  |ph%y%=sph%-1.? .|
0000af30  e1 0d 3f 2a 04 0d 3f 34  24 dd f2 61 64 6a 75 73  |..?*..?4$..adjus|
0000af40  74 73 69 7a 65 28 49 25  2c 69 6e 73 64 65 6c 25  |tsize(I%,insdel%|
0000af50  2c 72 6f 77 63 6f 6c 25  29 0d 3f 3e 17 f2 67 65  |,rowcol%).?>..ge|
0000af60  74 77 28 73 70 72 69 74  65 77 25 28 49 25 29 29  |tw(spritew%(I%))|
0000af70  0d 3f 48 26 f2 67 65 74  73 70 72 69 74 65 78 79  |.?H&.getspritexy|
0000af80  28 49 25 2c 6d 6d 6f 75  73 65 78 25 2c 6d 6d 6f  |(I%,mmousex%,mmo|
0000af90  75 73 65 79 25 29 0d 3f  52 15 6f 77 78 25 3d 77  |usey%).?R.owx%=w|
0000afa0  78 25 3a 6f 77 79 25 3d  77 79 25 0d 3f 5c 0e c8  |x%:owy%=wy%.?\..|
0000afb0  8e 72 6f 77 63 6f 6c 25  ca 0d 3f 66 11 c9 30 3a  |.rowcol%..?f..0:|
0000afc0  c8 8e 69 6e 73 64 65 6c  25 ca 0d 3f 70 22 c9 30  |..insdel%..?p".0|
0000afd0  3a 72 63 6f 64 65 25 3d  33 31 3a 72 63 25 3d 73  |:rcode%=31:rc%=s|
0000afe0  70 68 25 3a 77 79 25 2b  3d 79 73 25 0d 3f 7a 2d  |ph%:wy%+=ys%.?z-|
0000aff0  c9 31 3a 72 63 6f 64 65  25 3d 33 32 3a 72 63 25  |.1:rcode%=32:rc%|
0000b000  3d 73 70 68 25 2d 31 3a  77 79 25 2d 3d 79 73 25  |=sph%-1:wy%-=ys%|
0000b010  3a e7 77 79 25 3c 31 8c  e1 0d 3f 84 27 c9 32 3a  |:.wy%<1...?.'.2:|
0000b020  72 63 6f 64 65 25 3d 33  31 3a 72 63 25 3d 73 70  |rcode%=31:rc%=sp|
0000b030  68 25 2d 31 2d 79 25 3a  77 79 25 2b 3d 79 73 25  |h%-1-y%:wy%+=ys%|
0000b040  0d 3f 8e 30 c9 33 3a 72  63 6f 64 65 25 3d 33 32  |.?.0.3:rcode%=32|
0000b050  3a 72 63 25 3d 73 70 68  25 2d 31 2d 79 25 3a 77  |:rc%=sph%-1-y%:w|
0000b060  79 25 2d 3d 79 73 25 3a  e7 77 79 25 3c 31 8c e1  |y%-=ys%:.wy%<1..|
0000b070  0d 3f 98 05 cb 0d 3f a2  11 c9 31 3a c8 8e 69 6e  |.?....?...1:..in|
0000b080  73 64 65 6c 25 ca 0d 3f  ac 22 c9 30 3a 72 63 6f  |sdel%..?.".0:rco|
0000b090  64 65 25 3d 34 35 3a 72  63 25 3d 73 70 77 25 3a  |de%=45:rc%=spw%:|
0000b0a0  77 78 25 2b 3d 78 73 25  0d 3f b6 2d c9 31 3a 72  |wx%+=xs%.?.-.1:r|
0000b0b0  63 6f 64 65 25 3d 34 36  3a 72 63 25 3d 73 70 77  |code%=46:rc%=spw|
0000b0c0  25 2d 31 3a 77 78 25 2d  3d 78 73 25 3a e7 77 78  |%-1:wx%-=xs%:.wx|
0000b0d0  25 3c 31 8c e1 0d 3f c0  20 c9 32 3a 72 63 6f 64  |%<1...?. .2:rcod|
0000b0e0  65 25 3d 34 35 3a 72 63  25 3d 78 25 3a 77 78 25  |e%=45:rc%=x%:wx%|
0000b0f0  2b 3d 78 73 25 0d 3f ca  29 c9 33 3a 72 63 6f 64  |+=xs%.?.).3:rcod|
0000b100  65 25 3d 34 36 3a 72 63  25 3d 78 25 3a 77 78 25  |e%=46:rc%=x%:wx%|
0000b110  2d 3d 78 73 25 3a e7 77  78 25 3c 31 8c e1 0d 3f  |-=xs%:.wx%<1...?|
0000b120  d4 05 cb 0d 3f de 07 7f  3a e1 0d 3f e8 05 cb 0d  |....?...:..?....|
0000b130  3f f2 3c c8 99 22 4f 53  5f 53 70 72 69 74 65 4f  |?.<.."OS_SpriteO|
0000b140  70 22 2c 26 31 30 30 2b  72 63 6f 64 65 25 2c 73  |p",&100+rcode%,s|
0000b150  70 72 69 74 65 61 72 65  61 25 2c 73 70 72 69 74  |pritearea%,sprit|
0000b160  65 6e 24 28 49 25 29 2c  72 63 25 0d 3f fc 22 f2  |en$(I%),rc%.?.".|
0000b170  6e 65 77 73 69 7a 65 28  49 25 2c 6f 77 78 25 2c  |newsize(I%,owx%,|
0000b180  6f 77 79 25 2c 77 78 25  2c 77 79 25 29 0d 40 06  |owy%,wx%,wy%).@.|
0000b190  25 f2 75 70 69 63 6f 6e  28 73 70 72 69 74 65 6c  |%.upicon(spritel|
0000b1a0  69 73 74 25 2c 73 70 72  69 74 65 69 25 28 49 25  |ist%,spritei%(I%|
0000b1b0  29 29 0d 40 10 05 e1 0d  40 1a 04 0d 40 24 27 dd  |)).@....@...@$'.|
0000b1c0  f2 6e 65 77 73 69 7a 65  28 49 25 2c 77 78 25 2c  |.newsize(I%,wx%,|
0000b1d0  77 79 25 2c 6e 65 77 77  78 25 2c 6e 65 77 77 79  |wy%,newwx%,newwy|
0000b1e0  25 29 0d 40 2e 17 f2 67  65 74 77 28 73 70 72 69  |%).@...getw(spri|
0000b1f0  74 65 77 25 28 49 25 29  29 0d 40 38 17 6c 69 6d  |tew%(I%)).@8.lim|
0000b200  69 74 78 25 3d b9 3a 6c  69 6d 69 74 79 25 3d b9  |itx%=.:limity%=.|
0000b210  0d 40 42 33 f4 20 6c 69  6d 69 74 78 25 3d 28 78  |.@B3. limitx%=(x|
0000b220  31 25 2d 62 78 25 3e 3d  77 78 25 29 3a 6c 69 6d  |1%-bx%>=wx%):lim|
0000b230  69 74 79 25 3d 28 62 79  25 2d 79 30 25 3e 3d 77  |ity%=(by%-y0%>=w|
0000b240  79 25 29 0d 40 4c 19 77  78 25 3d 6e 65 77 77 78  |y%).@L.wx%=newwx|
0000b250  25 3a 77 79 25 3d 6e 65  77 77 79 25 0d 40 56 32  |%:wy%=newwy%.@V2|
0000b260  e7 6c 69 6d 69 74 78 25  84 28 77 78 25 3c 78 31  |.limitx%.(wx%<x1|
0000b270  25 2d 62 78 25 29 8c 6e  65 77 78 25 3d 62 78 25  |%-bx%).newx%=bx%|
0000b280  2b 77 78 25 8b 6e 65 77  78 25 3d 78 31 25 0d 40  |+wx%.newx%=x1%.@|
0000b290  60 32 e7 6c 69 6d 69 74  79 25 84 28 77 79 25 3c  |`2.limity%.(wy%<|
0000b2a0  62 79 25 2d 79 30 25 29  8c 6e 65 77 79 25 3d 62  |by%-y0%).newy%=b|
0000b2b0  79 25 2d 77 79 25 8b 6e  65 77 79 25 3d 79 30 25  |y%-wy%.newy%=y0%|
0000b2c0  0d 40 6a 47 e7 6e 65 77  78 25 3c 78 31 25 84 6e  |.@jG.newx%<x1%.n|
0000b2d0  65 77 79 25 3e 79 30 25  8c 71 25 21 38 3d 6e 65  |ewy%>y0%.q%!8=ne|
0000b2e0  77 79 25 3a 71 25 21 31  32 3d 6e 65 77 78 25 3a  |wy%:q%!12=newx%:|
0000b2f0  c8 99 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |.."Wimp_OpenWind|
0000b300  6f 77 22 2c 2c 71 25 0d  40 74 2c 71 25 21 26 38  |ow",,q%.@t,q%!&8|
0000b310  30 3d 30 3a 71 25 21 26  38 34 3d 2d 77 79 25 3a  |0=0:q%!&84=-wy%:|
0000b320  71 25 21 26 38 38 3d 77  78 25 3a 71 25 21 26 38  |q%!&88=wx%:q%!&8|
0000b330  43 3d 30 0d 40 7e 2a c8  99 22 57 69 6d 70 5f 53  |C=0.@~*.."Wimp_S|
0000b340  65 74 45 78 74 65 6e 74  22 2c 73 70 72 69 74 65  |etExtent",sprite|
0000b350  77 25 28 49 25 29 2c 71  25 2b 26 38 30 0d 40 88  |w%(I%),q%+&80.@.|
0000b360  47 e7 6e 65 77 78 25 3e  78 31 25 84 6e 65 77 79  |G.newx%>x1%.newy|
0000b370  25 3c 79 30 25 8c 71 25  21 38 3d 6e 65 77 79 25  |%<y0%.q%!8=newy%|
0000b380  3a 71 25 21 31 32 3d 6e  65 77 78 25 3a c8 99 22  |:q%!12=newx%:.."|
0000b390  57 69 6d 70 5f 4f 70 65  6e 57 69 6e 64 6f 77 22  |Wimp_OpenWindow"|
0000b3a0  2c 2c 71 25 0d 40 92 36  c8 99 22 57 69 6d 70 5f  |,,q%.@.6.."Wimp_|
0000b3b0  46 6f 72 63 65 52 65 64  72 61 77 22 2c 73 70 72  |ForceRedraw",spr|
0000b3c0  69 74 65 77 25 28 49 25  29 2c 30 2c 2d 33 30 30  |itew%(I%),0,-300|
0000b3d0  30 30 2c 33 30 30 30 30  2c 30 0d 40 9c 05 e1 0d  |00,30000,0.@....|
0000b3e0  40 a6 04 0d 40 b0 16 dd  f2 75 70 64 61 74 65 73  |@...@....updates|
0000b3f0  70 72 69 74 65 28 49 25  29 0d 40 ba 36 c8 99 22  |prite(I%).@.6.."|
0000b400  57 69 6d 70 5f 46 6f 72  63 65 52 65 64 72 61 77  |Wimp_ForceRedraw|
0000b410  22 2c 73 70 72 69 74 65  77 25 28 49 25 29 2c 30  |",spritew%(I%),0|
0000b420  2c 2d 33 30 30 30 30 2c  33 30 30 30 30 2c 30 0d  |,-30000,30000,0.|
0000b430  40 c4 25 f2 75 70 69 63  6f 6e 28 73 70 72 69 74  |@.%.upicon(sprit|
0000b440  65 6c 69 73 74 25 2c 73  70 72 69 74 65 69 25 28  |elist%,spritei%(|
0000b450  49 25 29 29 0d 40 ce 05  e1 0d 40 d8 04 0d 40 e2  |I%)).@....@...@.|
0000b460  1e dd f2 63 68 61 6e 67  65 73 69 7a 65 28 49 25  |...changesize(I%|
0000b470  2c 78 73 63 25 2c 79 73  63 25 29 0d 40 ec 29 78  |,xsc%,ysc%).@.)x|
0000b480  73 25 3d 73 70 72 78 73  63 61 6c 65 25 28 49 25  |s%=sprxscale%(I%|
0000b490  29 3a 79 73 25 3d 73 70  72 79 73 63 61 6c 65 25  |):ys%=spryscale%|
0000b4a0  28 49 25 29 0d 40 f6 2b  73 70 72 78 73 63 61 6c  |(I%).@.+sprxscal|
0000b4b0  65 25 28 49 25 29 3d 78  73 63 25 3a 73 70 72 79  |e%(I%)=xsc%:spry|
0000b4c0  73 63 61 6c 65 25 28 49  25 29 3d 79 73 63 25 0d  |scale%(I%)=ysc%.|
0000b4d0  41 00 3e c8 99 22 4f 53  5f 53 70 72 69 74 65 4f  |A.>.."OS_SpriteO|
0000b4e0  70 22 2c 26 31 32 38 2c  73 70 72 69 74 65 61 72  |p",&128,spritear|
0000b4f0  65 61 25 2c 73 70 72 69  74 65 6e 24 28 49 25 29  |ea%,spriten$(I%)|
0000b500  b8 2c 2c 2c 73 70 77 25  2c 73 70 68 25 0d 41 0a  |.,,,spw%,sph%.A.|
0000b510  36 f2 6e 65 77 73 69 7a  65 28 49 25 2c 73 70 77  |6.newsize(I%,spw|
0000b520  25 2a 78 73 25 2c 73 70  68 25 2a 79 73 25 2c 73  |%*xs%,sph%*ys%,s|
0000b530  70 77 25 2a 78 73 63 25  2c 73 70 68 25 2a 79 73  |pw%*xsc%,sph%*ys|
0000b540  63 25 29 0d 41 14 05 e1  0d 41 1e 04 0d 41 28 0f  |c%).A....A...A(.|
0000b550  dd f2 66 6c 69 70 78 28  49 25 29 0d 41 32 31 c8  |..flipx(I%).A21.|
0000b560  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 26  |."OS_SpriteOp",&|
0000b570  31 32 46 2c 73 70 72 69  74 65 61 72 65 61 25 2c  |12F,spritearea%,|
0000b580  73 70 72 69 74 65 6e 24  28 49 25 29 0d 41 3c 36  |spriten$(I%).A<6|
0000b590  c8 99 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |.."Wimp_ForceRed|
0000b5a0  72 65 64 72 65 22 2c 73  70 72 69 74 65 77 25 28  |redre",spritew%(|
0000b5b0  49 25 29 2c 30 2c 2d 33  30 30 30 30 2c 33 30 30  |I%),0,-30000,300|
0000b5c0  30 30 2c 30 0d 41 46 25  f2 75 70 69 63 6f 6e 28  |00,0.AF%.upicon(|
0000b5d0  73 70 72 69 74 65 6c 69  73 74 25 2c 73 70 72 69  |spritelist%,spri|
0000b5e0  74 65 69 25 28 49 25 29  29 0d 41 50 05 e1 0d 41  |tei%(I%)).AP...A|
0000b5f0  5a 04 0d 41 64 0f dd f2  66 6c 69 70 79 28 49 25  |Z..Ad...flipy(I%|
0000b600  29 0d 41 6e 31 c8 99 22  4f 53 5f 53 70 72 69 74  |).An1.."OS_Sprit|
0000b610  65 4f 70 22 2c 26 31 32  31 2c 73 70 72 69 74 65  |eOp",&121,sprite|
0000b620  61 72 65 61 25 2c 73 70  72 69 74 65 6e 24 28 49  |area%,spriten$(I|
0000b630  25 29 0d 41 78 36 c8 99  22 57 69 6d 70 5f 46 6f  |%).Ax6.."Wimp_Fo|
0000b640  72 63 65 52 65 64 72 65  64 72 65 22 2c 73 70 72  |rceRedredre",spr|
0000b650  69 74 65 77 25 28 49 25  29 2c 30 2c 2d 33 30 30  |itew%(I%),0,-300|
0000b660  30 30 2c 33 30 30 30 30  2c 30 0d 41 82 25 f2 75  |00,30000,0.A.%.u|
0000b670  70 69 63 6f 6e 28 73 70  72 69 74 65 6c 69 73 74  |picon(spritelist|
0000b680  25 2c 73 70 72 69 74 65  69 25 28 49 25 29 29 0d  |%,spritei%(I%)).|
0000b690  41 8c 05 e1 0d 41 96 04  0d 41 a0 13 dd f2 62 69  |A....A...A....bi|
0000b6a0  67 73 70 72 69 74 65 28  49 25 29 0d 41 aa 17 ea  |gsprite(I%).A...|
0000b6b0  78 73 25 2c 79 73 25 2c  42 79 25 2c 70 61 69 6e  |xs%,ys%,By%,pain|
0000b6c0  74 25 0d 41 b4 43 70 61  69 6e 74 25 3d a3 3a e7  |t%.A.Cpaint%=.:.|
0000b6d0  70 61 69 6e 74 5f 64 72  61 67 25 3e 3d 30 8c 70  |paint_drag%>=0.p|
0000b6e0  61 69 6e 74 25 3d 28 21  71 25 3d 73 70 72 69 74  |aint%=(!q%=sprit|
0000b6f0  65 77 25 28 70 61 69 6e  74 5f 64 72 61 67 25 3e  |ew%(paint_drag%>|
0000b700  3e 31 36 29 29 0d 41 be  1d 24 73 70 72 69 74 65  |>16)).A..$sprite|
0000b710  6e 61 6d 65 25 3d 73 70  72 69 74 65 6e 24 28 49  |name%=spriten$(I|
0000b720  25 29 0d 41 c8 29 78 73  25 3d 73 70 72 78 73 63  |%).A.)xs%=sprxsc|
0000b730  61 6c 65 25 28 49 25 29  3a 79 73 25 3d 73 70 72  |ale%(I%):ys%=spr|
0000b740  79 73 63 61 6c 65 25 28  49 25 29 0d 41 d2 1a ef  |yscale%(I%).A...|
0000b750  32 33 2c 31 32 2c 30 2c  37 2c 30 2c 37 2c 30 2c  |23,12,0,7,0,7,0,|
0000b760  37 2c 30 2c 37 0d 41 dc  46 c8 99 22 4f 53 5f 53  |7,0,7.A.F.."OS_S|
0000b770  70 72 69 74 65 4f 70 22  2c 26 31 32 38 2c 73 70  |priteOp",&128,sp|
0000b780  72 69 74 65 61 72 65 61  25 2c 73 70 72 69 74 65  |ritearea%,sprite|
0000b790  6e 61 6d 65 25 b8 2c 2c  2c 73 70 77 25 2c 73 70  |name%.,,,spw%,sp|
0000b7a0  68 25 2c 68 61 73 6d 61  73 6b 25 0d 41 e6 14 42  |h%,hasmask%.A..B|
0000b7b0  79 25 3d 62 79 25 2d 73  70 68 25 2a 79 73 25 0d  |y%=by%-sph%*ys%.|
0000b7c0  41 f0 0b c8 95 6d 6f 72  65 25 0d 41 fa 17 e7 68  |A....more%.A...h|
0000b7d0  61 73 6d 61 73 6b 25 8c  e6 31 36 2c 31 32 38 3a  |asmask%..16,128:|
0000b7e0  da 0d 42 04 12 e7 76 65  72 73 69 6f 6e 25 3e 31  |..B...version%>1|
0000b7f0  32 30 8c 0d 42 0e 4c c8  99 22 57 69 6d 70 5f 52  |20..B.L.."Wimp_R|
0000b800  65 61 64 50 69 78 54 72  61 6e 73 22 2c 26 31 30  |eadPixTrans",&10|
0000b810  30 2c 73 70 72 69 74 65  61 72 65 61 25 2c 73 70  |0,spritearea%,sp|
0000b820  72 69 74 65 6e 61 6d 65  25 2c 2c 2c 2c 66 61 63  |ritename%,,,,fac|
0000b830  74 6f 72 73 25 2c 70 69  78 74 72 61 6e 73 25 0d  |tors%,pixtrans%.|
0000b840  42 18 21 66 61 63 74 6f  72 73 25 21 30 3d 78 73  |B.!factors%!0=xs|
0000b850  25 3a 66 61 63 74 6f 72  73 25 21 34 3d 79 73 25  |%:factors%!4=ys%|
0000b860  0d 42 22 41 cc 66 61 63  74 6f 72 73 25 21 30 3d  |.B"A.factors%!0=|
0000b870  78 73 25 3a 66 61 63 74  6f 72 73 25 21 34 3d 79  |xs%:factors%!4=y|
0000b880  73 25 3a 66 61 63 74 6f  72 73 25 21 38 3d 64 78  |s%:factors%!8=dx|
0000b890  25 3a 66 61 63 74 6f 72  73 25 21 31 32 3d 64 79  |%:factors%!12=dy|
0000b8a0  25 0d 42 2c 05 cd 0d 42  36 4d c8 99 22 4f 53 5f  |%.B,...B6M.."OS_|
0000b8b0  53 70 72 69 74 65 4f 70  22 2c 26 31 33 34 2c 73  |SpriteOp",&134,s|
0000b8c0  70 72 69 74 65 61 72 65  61 25 2c 73 70 72 69 74  |pritearea%,sprit|
0000b8d0  65 6e 61 6d 65 25 2c 62  78 25 2c 42 79 25 2c 38  |ename%,bx%,By%,8|
0000b8e0  2c 66 61 63 74 6f 72 73  25 2c 70 69 78 74 72 61  |,factors%,pixtra|
0000b8f0  6e 73 25 0d 42 40 13 e7  70 61 69 6e 74 25 8c f2  |ns%.B@..paint%..|
0000b900  64 72 67 6f 66 66 0d 42  4a 23 c8 99 22 57 69 6d  |drgoff.BJ#.."Wim|
0000b910  70 5f 47 65 74 52 65 63  74 61 6e 67 6c 65 22 2c  |p_GetRectangle",|
0000b920  2c 71 25 b8 6d 6f 72 65  25 0d 42 54 05 ce 0d 42  |,q%.more%.BT...B|
0000b930  5e 05 e1 0d 42 68 04 0d  42 72 52 2d 2d 2d 2d 2d  |^...Bh..BrR-----|
0000b940  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000b980  2d 2d 2d 2d 2d 2d 2d 2d  2d 0d 42 7c 04 0d 42 86  |---------.B|..B.|
0000b990  15 dd f2 73 70 72 69 74  65 70 69 78 65 6c 28 49  |...spritepixel(I|
0000b9a0  25 29 0d 42 90 17 f2 67  65 74 77 28 73 70 72 69  |%).B...getw(spri|
0000b9b0  74 65 77 25 28 49 25 29  29 0d 42 9a 29 78 73 25  |tew%(I%)).B.)xs%|
0000b9c0  3d 73 70 72 78 73 63 61  6c 65 25 28 49 25 29 3a  |=sprxscale%(I%):|
0000b9d0  79 73 25 3d 73 70 72 79  73 63 61 6c 65 25 28 49  |ys%=spryscale%(I|
0000b9e0  25 29 0d 42 a4 24 f2 67  65 74 73 70 72 69 74 65  |%).B.$.getsprite|
0000b9f0  78 79 28 49 25 2c 6d 6f  75 73 65 78 25 2c 6d 6f  |xy(I%,mousex%,mo|
0000ba00  75 73 65 79 25 29 0d 42  ae 10 79 25 3d 73 70 68  |usey%).B..y%=sph|
0000ba10  25 2d 31 2d 79 25 0d 42  b8 22 e7 78 25 3c 30 84  |%-1-y%.B.".x%<0.|
0000ba20  79 25 3c 30 84 78 25 3e  3d 73 70 77 25 84 79 25  |y%<0.x%>=spw%.y%|
0000ba30  3e 3d 73 70 68 25 8c e1  0d 42 c2 11 c8 8e 70 61  |>=sph%...B....pa|
0000ba40  69 6e 74 6d 6f 64 65 25  ca 0d 42 cc 19 c9 31 36  |intmode%..B...16|
0000ba50  3a f2 70 61 69 6e 74 5f  70 69 78 65 6c 28 26 34  |:.paint_pixel(&4|
0000ba60  30 29 0d 42 d6 14 c9 31  37 3a f2 70 61 69 6e 74  |0).B...17:.paint|
0000ba70  5f 73 70 72 61 79 0d 42  e0 19 c9 31 38 3a f2 70  |_spray.B...18:.p|
0000ba80  61 69 6e 74 5f 66 6c 6f  6f 64 28 26 38 30 29 0d  |aint_flood(&80).|
0000ba90  42 ea 18 c9 31 39 3a f2  70 61 69 6e 74 5f 6c 69  |B...19:.paint_li|
0000baa0  6e 65 28 26 30 30 29 0d  42 f4 1b c9 32 30 3a f2  |ne(&00).B...20:.|
0000bab0  70 61 69 6e 74 5f 65 6c  6c 69 70 73 65 28 26 43  |paint_ellipse(&C|
0000bac0  30 29 0d 42 fe 1b c9 32  31 3a f2 70 61 69 6e 74  |0).B...21:.paint|
0000bad0  5f 65 6c 6c 69 70 73 65  28 26 43 38 29 0d 43 08  |_ellipse(&C8).C.|
0000bae0  1a c9 32 32 3a f2 70 61  69 6e 74 5f 63 69 72 63  |..22:.paint_circ|
0000baf0  6c 65 28 26 39 30 29 0d  43 12 1a c9 32 33 3a f2  |le(&90).C...23:.|
0000bb00  70 61 69 6e 74 5f 63 69  72 63 6c 65 28 26 39 38  |paint_circle(&98|
0000bb10  29 0d 43 1c 17 c9 32 34  3a f2 70 61 69 6e 74 5f  |).C...24:.paint_|
0000bb20  61 72 63 28 26 41 30 29  0d 43 26 1b c9 32 35 3a  |arc(&A0).C&..25:|
0000bb30  f2 70 61 69 6e 74 5f 73  65 67 6d 65 6e 74 28 26  |.paint_segment(&|
0000bb40  41 38 29 0d 43 30 1a c9  32 36 3a f2 70 61 69 6e  |A8).C0..26:.pain|
0000bb50  74 5f 73 65 63 74 6f 72  28 26 42 30 29 0d 43 3a  |t_sector(&B0).C:|
0000bb60  1c c9 32 37 3a f2 70 61  69 6e 74 5f 74 72 69 61  |..27:.paint_tria|
0000bb70  6e 67 6c 65 28 26 35 30  29 0d 43 44 1d c9 32 38  |ngle(&50).CD..28|
0000bb80  3a f2 70 61 69 6e 74 5f  62 6c 6f 63 6b 63 6f 70  |:.paint_blockcop|
0000bb90  79 28 26 42 45 29 0d 43  4e 1d c9 32 39 3a f2 70  |y(&BE).CN..29:.p|
0000bba0  61 69 6e 74 5f 62 6c 6f  63 6b 6d 6f 76 65 28 26  |aint_blockmove(&|
0000bbb0  42 44 29 0d 43 58 17 c9  33 30 3a f2 70 61 69 6e  |BD).CX..30:.pain|
0000bbc0  74 5f 74 79 70 65 74 65  78 74 0d 43 62 1d 7f 85  |t_typetext.Cb...|
0000bbd0  31 2c 22 55 6e 6b 6e 6f  77 6e 20 70 61 69 6e 74  |1,"Unknown paint|
0000bbe0  20 6d 6f 64 65 21 22 0d  43 6c 05 cb 0d 43 76 25  | mode!".Cl...Cv%|
0000bbf0  f2 75 70 69 63 6f 6e 28  73 70 72 69 74 65 6c 69  |.upicon(spriteli|
0000bc00  73 74 25 2c 73 70 72 69  74 65 69 25 28 49 25 29  |st%,spritei%(I%)|
0000bc10  29 0d 43 80 05 e1 0d 43  8a 04 0d 43 94 18 dd f2  |).C....C...C....|
0000bc20  70 61 69 6e 74 5f 70 69  78 65 6c 28 76 6f 69 64  |paint_pixel(void|
0000bc30  25 29 0d 43 9e 24 70 61  69 6e 74 5f 64 72 61 67  |%).C.$paint_drag|
0000bc40  25 3d 49 25 3c 3c 31 36  3a f4 20 61 75 74 6f 2d  |%=I%<<16:. auto-|
0000bc50  72 65 70 65 61 74 0d 43  a8 1c e7 73 70 72 63 6f  |repeat.C...sprco|
0000bc60  6c 6f 75 72 25 3d 31 36  80 68 61 73 6d 61 73 6b  |lour%=16.hasmask|
0000bc70  25 8c 0d 43 b2 1b e7 62  75 74 74 6f 6e 73 25 3d  |%..C...buttons%=|
0000bc80  26 30 31 8c 63 25 3d 31  8b 63 25 3d 30 0d 43 bc  |&01.c%=1.c%=0.C.|
0000bc90  3a c8 99 22 4f 53 5f 53  70 72 69 74 65 4f 70 22  |:.."OS_SpriteOp"|
0000bca0  2c 26 31 32 43 2c 73 70  72 69 74 65 61 72 65 61  |,&12C,spritearea|
0000bcb0  25 2c 73 70 72 69 74 65  6e 24 28 49 25 29 2c 78  |%,spriten$(I%),x|
0000bcc0  25 2c 79 25 2c 63 25 0d  43 c6 0a e7 63 25 3d 30  |%,y%,c%.C...c%=0|
0000bcd0  8c 0d 43 d0 09 63 25 3d  31 36 0d 43 da 40 cc c8  |..C..c%=16.C.@..|
0000bce0  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 26  |."OS_SpriteOp",&|
0000bcf0  31 32 39 2c 73 70 72 69  74 65 61 72 65 61 25 2c  |129,spritearea%,|
0000bd00  73 70 72 69 74 65 6e 24  28 49 25 29 2c 78 25 2c  |spriten$(I%),x%,|
0000bd10  79 25 b8 2c 2c 2c 2c 2c  63 25 0d 43 e4 05 cd 0d  |y%.,,,,,c%.C....|
0000bd20  43 ee 05 cc 0d 43 f8 24  e7 62 75 74 74 6f 6e 73  |C....C.$.buttons|
0000bd30  25 3d 26 30 31 8c 63 25  3d 30 8b 63 25 3d 73 70  |%=&01.c%=0.c%=sp|
0000bd40  72 63 6f 6c 6f 75 72 25  0d 44 02 0f e7 63 25 3d  |rcolour%.D...c%=|
0000bd50  31 36 8c 63 25 3d 30 0d  44 0c 3a c8 99 22 4f 53  |16.c%=0.D.:.."OS|
0000bd60  5f 53 70 72 69 74 65 4f  70 22 2c 26 31 32 41 2c  |_SpriteOp",&12A,|
0000bd70  73 70 72 69 74 65 61 72  65 61 25 2c 73 70 72 69  |spritearea%,spri|
0000bd80  74 65 6e 24 28 49 25 29  2c 78 25 2c 79 25 2c 63  |ten$(I%),x%,y%,c|
0000bd90  25 0d 44 16 43 e7 68 61  73 6d 61 73 6b 25 8c c8  |%.D.C.hasmask%..|
0000bda0  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 26  |."OS_SpriteOp",&|
0000bdb0  31 32 43 2c 73 70 72 69  74 65 61 72 65 61 25 2c  |12C,spritearea%,|
0000bdc0  73 70 72 69 74 65 6e 24  28 49 25 29 2c 78 25 2c  |spriten$(I%),x%,|
0000bdd0  79 25 2c 31 0d 44 20 05  cd 0d 44 2a 4b f2 75 70  |y%,1.D ...D*K.up|
0000bde0  64 61 74 65 28 73 70 72  69 74 65 77 25 28 49 25  |date(spritew%(I%|
0000bdf0  29 2c 78 25 2a 78 73 25  2c 2d 28 73 70 68 25 2d  |),x%*xs%,-(sph%-|
0000be00  79 25 29 2a 79 73 25 2c  28 78 25 2b 31 29 2a 78  |y%)*ys%,(x%+1)*x|
0000be10  73 25 2c 2d 28 73 70 68  25 2d 31 2d 79 25 29 2a  |s%,-(sph%-1-y%)*|
0000be20  79 73 25 29 0d 44 34 0b  c8 95 6d 6f 72 65 25 0d  |ys%).D4...more%.|
0000be30  44 3e 2d e7 63 25 3d 31  36 8c ef 32 33 2c 31 32  |D>-.c%=16..23,12|
0000be40  2c 30 2c 37 2c 30 2c 37  2c 30 2c 37 2c 30 2c 37  |,0,7,0,7,0,7,0,7|
0000be50  3a e6 31 36 2c 30 8b e6  30 2c 63 25 0d 44 48 21  |:.16,0..0,c%.DH!|
0000be60  ec 62 78 25 2b 78 25 2a  78 73 25 2c 62 79 25 2d  |.bx%+x%*xs%,by%-|
0000be70  28 73 70 68 25 2d 79 25  29 2a 79 73 25 0d 44 52  |(sph%-y%)*ys%.DR|
0000be80  2f f0 26 36 35 2c 62 78  25 2b 28 78 25 2b 31 29  |/.&65,bx%+(x%+1)|
0000be90  2a 78 73 25 2d 31 2c 62  79 25 2d 28 73 70 68 25  |*xs%-1,by%-(sph%|
0000bea0  2d 31 2d 79 25 29 2a 79  73 25 2d 31 0d 44 5c 25  |-1-y%)*ys%-1.D\%|
0000beb0  c8 99 22 57 69 6d 70 5f  47 65 74 52 65 63 74 61  |.."Wimp_GetRecta|
0000bec0  6e 67 6c 65 22 2c 2c 71  25 b8 6d 6f 72 65 25 3a  |ngle",,q%.more%:|
0000bed0  ce 0d 44 66 05 e1 0d 44  70 04 0d 44 7a 18 dd f2  |..Df...Dp..Dz...|
0000bee0  70 61 69 6e 74 5f 66 6c  6f 6f 64 28 63 6f 64 65  |paint_flood(code|
0000bef0  25 29 0d 44 84 1d e7 62  75 74 74 6f 6e 73 25 80  |%).D...buttons%.|
0000bf00  26 30 31 8c f2 75 6e 64  6f 28 49 25 29 3a e1 0d  |&01..undo(I%):..|
0000bf10  44 8e 3f c8 99 22 4f 53  5f 53 70 72 69 74 65 4f  |D.?.."OS_SpriteO|
0000bf20  70 22 2c 26 31 32 39 2c  73 70 72 69 74 65 61 72  |p",&129,spritear|
0000bf30  65 61 25 2c 73 70 72 69  74 65 6e 24 28 49 25 29  |ea%,spriten$(I%)|
0000bf40  2c 78 25 2c 79 25 b8 2c  2c 2c 2c 2c 63 25 0d 44  |,x%,y%.,,,,,c%.D|
0000bf50  98 17 f2 65 64 69 74 28  73 70 72 69 74 65 6e 24  |...edit(spriten$|
0000bf60  28 49 25 29 29 0d 44 a2  1b e6 30 2c 31 32 38 2b  |(I%)).D...0,128+|
0000bf70  63 25 3a e6 30 2c 73 70  72 63 6f 6c 6f 75 72 25  |c%:.0,sprcolour%|
0000bf80  0d 44 ac 1e f0 63 6f 64  65 25 2b 35 2c 78 25 3c  |.D...code%+5,x%<|
0000bf90  3c 73 70 78 25 2c 79 25  3c 3c 73 70 79 25 0d 44  |<spx%,y%<<spy%.D|
0000bfa0  b6 1a f2 65 64 69 74 6f  66 66 28 73 70 72 69 74  |...editoff(sprit|
0000bfb0  65 6e 24 28 49 25 29 29  0d 44 c0 15 f2 75 70 64  |en$(I%)).D...upd|
0000bfc0  61 74 65 73 70 72 69 74  65 28 49 25 29 0d 44 ca  |atesprite(I%).D.|
0000bfd0  05 e1 0d 44 d4 04 0d 44  de 17 dd f2 70 61 69 6e  |...D...D....pain|
0000bfe0  74 5f 6c 69 6e 65 28 63  6f 64 65 25 29 0d 44 e8  |t_line(code%).D.|
0000bff0  19 dd f2 70 61 69 6e 74  5f 63 69 72 63 6c 65 28  |...paint_circle(|
0000c000  63 6f 64 65 25 29 0d 44  f2 17 f2 64 72 61 67 63  |code%).D...dragc|
0000c010  6c 69 63 6b 28 31 2c 63  6f 64 65 25 29 0d 44 fc  |lick(1,code%).D.|
0000c020  05 e1 0d 45 06 04 0d 45  10 1a dd f2 70 61 69 6e  |...E...E....pain|
0000c030  74 5f 65 6c 6c 69 70 73  65 28 63 6f 64 65 25 29  |t_ellipse(code%)|
0000c040  0d 45 1a 16 dd f2 70 61  69 6e 74 5f 61 72 63 28  |.E....paint_arc(|
0000c050  63 6f 64 65 25 29 0d 45  24 1a dd f2 70 61 69 6e  |code%).E$...pain|
0000c060  74 5f 73 65 67 6d 65 6e  74 28 63 6f 64 65 25 29  |t_segment(code%)|
0000c070  0d 45 2e 19 dd f2 70 61  69 6e 74 5f 73 65 63 74  |.E....paint_sect|
0000c080  6f 72 28 63 6f 64 65 25  29 0d 45 38 1b dd f2 70  |or(code%).E8...p|
0000c090  61 69 6e 74 5f 74 72 69  61 6e 67 6c 65 28 63 6f  |aint_triangle(co|
0000c0a0  64 65 25 29 0d 45 42 1c  dd f2 70 61 69 6e 74 5f  |de%).EB...paint_|
0000c0b0  62 6c 6f 63 6b 63 6f 70  79 28 63 6f 64 65 25 29  |blockcopy(code%)|
0000c0c0  0d 45 4c 1c dd f2 70 61  69 6e 74 5f 62 6c 6f 63  |.EL...paint_bloc|
0000c0d0  6b 6d 6f 76 65 28 63 6f  64 65 25 29 0d 45 56 17  |kmove(code%).EV.|
0000c0e0  f2 64 72 61 67 63 6c 69  63 6b 28 32 2c 63 6f 64  |.dragclick(2,cod|
0000c0f0  65 25 29 0d 45 60 05 e1  0d 45 6a 04 0d 45 74 1f  |e%).E`...Ej..Et.|
0000c100  dd f2 64 72 61 67 63 6c  69 63 6b 28 6e 63 6c 69  |..dragclick(ncli|
0000c110  63 6b 73 25 2c 63 6f 64  65 25 29 0d 45 7e 2b e7  |cks%,code%).E~+.|
0000c120  62 75 74 74 6f 6e 73 25  80 26 30 31 8c f2 64 72  |buttons%.&01..dr|
0000c130  61 67 6f 66 66 3a 70 61  69 6e 74 5f 64 72 61 67  |agoff:paint_drag|
0000c140  25 3d 2d 31 3a e1 0d 45  88 14 e7 70 61 69 6e 74  |%=-1:..E...paint|
0000c150  5f 64 72 61 67 25 3e 3d  30 8c 0d 45 92 0c f2 64  |_drag%>=0..E...d|
0000c160  72 61 67 6f 66 66 0d 45  9c 2d c8 8e 28 28 70 61  |ragoff.E.-..((pa|
0000c170  69 6e 74 5f 64 72 61 67  25 3e 3e 34 29 80 26 46  |int_drag%>>4).&F|
0000c180  29 2d 28 70 61 69 6e 74  5f 64 72 61 67 25 80 26  |)-(paint_drag%.&|
0000c190  46 29 ca 0d 45 a6 06 c9  31 0d 45 b0 23 64 72 61  |F)..E...1.E.#dra|
0000c1a0  67 78 31 25 3d 64 72 61  67 78 30 25 3a 64 72 61  |gx1%=dragx0%:dra|
0000c1b0  67 79 31 25 3d 64 72 61  67 79 30 25 0d 45 ba 1f  |gy1%=dragy0%.E..|
0000c1c0  73 70 72 78 31 25 3d 73  70 72 78 30 25 3a 73 70  |sprx1%=sprx0%:sp|
0000c1d0  72 79 31 25 3d 73 70 72  79 30 25 0d 45 c4 2b 64  |ry1%=spry0%.E.+d|
0000c1e0  72 61 67 78 30 25 3d 6d  6f 75 73 65 78 25 2d 62  |ragx0%=mousex%-b|
0000c1f0  78 25 3a 64 72 61 67 79  30 25 3d 6d 6f 75 73 65  |x%:dragy0%=mouse|
0000c200  79 25 2d 62 79 25 0d 45  ce 35 64 72 61 67 78 25  |y%-by%.E.5dragx%|
0000c210  3d 64 72 61 67 78 30 25  3a 64 72 61 67 79 25 3d  |=dragx0%:dragy%=|
0000c220  64 72 61 67 79 30 25 3a  73 70 72 78 30 25 3d 78  |dragy0%:sprx0%=x|
0000c230  25 3a 73 70 72 79 30 25  3d 79 25 0d 45 d8 12 70  |%:spry0%=y%.E..p|
0000c240  61 69 6e 74 5f 64 72 61  67 25 2b 3d 31 0d 45 e2  |aint_drag%+=1.E.|
0000c250  06 c9 30 0d 45 ec 17 f2  65 64 69 74 28 73 70 72  |..0.E...edit(spr|
0000c260  69 74 65 6e 24 28 49 25  29 29 0d 45 f6 11 e6 30  |iten$(I%)).E...0|
0000c270  2c 73 70 72 63 6f 6c 6f  75 72 25 0d 46 00 15 e6  |,sprcolour%.F...|
0000c280  30 2c 31 32 38 2b 73 70  72 63 6f 6c 6f 75 72 25  |0,128+sprcolour%|
0000c290  0d 46 0a 35 e7 28 70 61  69 6e 74 5f 64 72 61 67  |.F.5.(paint_drag|
0000c2a0  25 80 26 46 30 29 3d 26  31 30 8c ec 73 70 72 78  |%.&F0)=&10..sprx|
0000c2b0  31 25 3c 3c 73 70 78 25  2c 73 70 72 79 31 25 3c  |1%<<spx%,spry1%<|
0000c2c0  3c 73 70 79 25 0d 46 14  1e ec 73 70 72 78 30 25  |<spy%.F...sprx0%|
0000c2d0  3c 3c 73 70 78 25 2c 73  70 72 79 30 25 3c 3c 73  |<<spx%,spry0%<<s|
0000c2e0  70 79 25 0d 46 1e 11 c8  8e 70 61 69 6e 74 6d 6f  |py%.F....paintmo|
0000c2f0  64 65 25 ca 0d 46 28 0a  c9 32 38 2c 32 39 0d 46  |de%..F(..28,29.F|
0000c300  32 26 e7 73 70 72 78 31  25 2d 73 70 72 78 30 25  |2&.sprx1%-sprx0%|
0000c310  3c 30 8c 78 25 2b 3d 73  70 72 78 31 25 2d 73 70  |<0.x%+=sprx1%-sp|
0000c320  72 78 30 25 0d 46 3c 26  e7 73 70 72 79 31 25 2d  |rx0%.F<&.spry1%-|
0000c330  73 70 72 79 30 25 3c 30  8c 79 25 2b 3d 73 70 72  |spry0%<0.y%+=spr|
0000c340  79 31 25 2d 73 70 72 79  30 25 0d 46 46 1c f0 63  |y1%-spry0%.FF..c|
0000c350  6f 64 65 25 2c 78 25 3c  3c 73 70 78 25 2c 79 25  |ode%,x%<<spx%,y%|
0000c360  3c 3c 73 70 79 25 0d 46  50 05 7f 0d 46 5a 1e f0  |<<spy%.FP...FZ..|
0000c370  63 6f 64 65 25 2b 35 2c  78 25 3c 3c 73 70 78 25  |code%+5,x%<<spx%|
0000c380  2c 79 25 3c 3c 73 70 79  25 0d 46 64 05 cb 0d 46  |,y%<<spy%.Fd...F|
0000c390  6e 1a f2 65 64 69 74 6f  66 66 28 73 70 72 69 74  |n..editoff(sprit|
0000c3a0  65 6e 24 28 49 25 29 29  0d 46 78 15 f2 75 70 64  |en$(I%)).Fx..upd|
0000c3b0  61 74 65 73 70 72 69 74  65 28 49 25 29 0d 46 82  |atesprite(I%).F.|
0000c3c0  11 c8 8e 70 61 69 6e 74  6d 6f 64 65 25 ca 0d 46  |...paintmode%..F|
0000c3d0  8c 08 c9 31 39 3a 0d 46  96 38 c9 32 38 3a 64 72  |...19:.F.8.28:dr|
0000c3e0  61 67 78 25 3d 6d 6f 75  73 65 78 25 2d 62 78 25  |agx%=mousex%-bx%|
0000c3f0  3a 64 72 61 67 79 25 3d  6d 6f 75 73 65 79 25 2d  |:dragy%=mousey%-|
0000c400  62 79 25 3a f2 64 72 61  67 6f 66 66 3a e1 0d 46  |by%:.dragoff:..F|
0000c410  a0 27 c9 32 37 3a 64 72  61 67 78 31 25 3d 64 72  |.'.27:dragx1%=dr|
0000c420  61 67 78 30 25 3a 64 72  61 67 79 31 25 3d 64 72  |agx0%:dragy1%=dr|
0000c430  61 67 79 30 25 0d 46 aa  1f 73 70 72 78 31 25 3d  |agy0%.F..sprx1%=|
0000c440  73 70 72 78 30 25 3a 73  70 72 79 31 25 3d 73 70  |sprx0%:spry1%=sp|
0000c450  72 79 30 25 0d 46 b4 14  7f 3a 70 61 69 6e 74 5f  |ry0%.F...:paint_|
0000c460  64 72 61 67 25 3d 2d 31  0d 46 be 05 cb 0d 46 c8  |drag%=-1.F....F.|
0000c470  05 cb 0d 46 d2 05 cc 0d  46 dc 33 70 61 69 6e 74  |...F....F.3paint|
0000c480  5f 64 72 61 67 25 3d 28  49 25 3c 3c 31 36 29 84  |_drag%=(I%<<16).|
0000c490  28 63 6f 64 65 25 3c 3c  38 29 84 28 6e 63 6c 69  |(code%<<8).(ncli|
0000c4a0  63 6b 73 25 2d 31 3c 3c  34 29 0d 46 e6 05 cd 0d  |cks%-1<<4).F....|
0000c4b0  46 f0 2b 64 72 61 67 78  30 25 3d 6d 6f 75 73 65  |F.+dragx0%=mouse|
0000c4c0  78 25 2d 62 78 25 3a 64  72 61 67 79 30 25 3d 6d  |x%-bx%:dragy0%=m|
0000c4d0  6f 75 73 65 79 25 2d 62  79 25 0d 46 fa 35 64 72  |ousey%-by%.F.5dr|
0000c4e0  61 67 78 25 3d 64 72 61  67 78 30 25 3a 64 72 61  |agx%=dragx0%:dra|
0000c4f0  67 79 25 3d 64 72 61 67  79 30 25 3a 73 70 72 78  |gy%=dragy0%:sprx|
0000c500  30 25 3d 78 25 3a 73 70  72 79 30 25 3d 79 25 0d  |0%=x%:spry0%=y%.|
0000c510  47 04 0c f2 64 72 61 67  6f 66 66 0d 47 0e 05 e1  |G...dragoff.G...|
0000c520  0d 47 18 04 0d 47 22 43  dd f2 70 61 69 6e 74 64  |.G...G"C..paintd|
0000c530  72 61 67 28 6d 6f 75 73  65 78 25 2c 6d 6f 75 73  |rag(mousex%,mous|
0000c540  65 79 25 2c 62 75 74 74  6f 6e 73 25 2c 68 61 6e  |ey%,buttons%,han|
0000c550  64 6c 65 25 2c 69 63 6f  6e 25 2c 6f 6c 64 62 75  |dle%,icon%,oldbu|
0000c560  74 74 6f 6e 73 25 29 0d  47 2c 24 f2 67 65 74 77  |ttons%).G,$.getw|
0000c570  28 73 70 72 69 74 65 77  25 28 70 61 69 6e 74 5f  |(spritew%(paint_|
0000c580  64 72 61 67 25 3e 3e 31  36 29 29 0d 47 36 0c f2  |drag%>>16)).G6..|
0000c590  64 72 61 67 6f 66 66 0d  47 40 38 e7 68 61 6e 64  |dragoff.G@8.hand|
0000c5a0  6c 65 25 3c 3e 73 70 72  69 74 65 77 25 28 70 61  |le%<>spritew%(pa|
0000c5b0  69 6e 74 5f 64 72 61 67  25 3e 3e 31 36 29 8c 70  |int_drag%>>16).p|
0000c5c0  61 69 6e 74 5f 64 72 61  67 25 3d 2d 31 3a e1 0d  |aint_drag%=-1:..|
0000c5d0  47 4a 29 64 72 61 67 78  25 3d 6d 6f 75 73 65 78  |GJ)dragx%=mousex|
0000c5e0  25 2d 62 78 25 3a 64 72  61 67 79 25 3d 6d 6f 75  |%-bx%:dragy%=mou|
0000c5f0  73 65 79 25 2d 62 79 25  0d 47 54 44 e7 28 70 61  |sey%-by%.GTD.(pa|
0000c600  69 6e 74 6d 6f 64 65 25  3d 32 30 84 70 61 69 6e  |intmode%=20.pain|
0000c610  74 6d 6f 64 65 25 3d 32  31 29 80 28 70 61 69 6e  |tmode%=21).(pain|
0000c620  74 5f 64 72 61 67 25 80  26 46 29 3d 30 8c 64 72  |t_drag%.&F)=0.dr|
0000c630  61 67 79 25 3d 64 72 61  67 79 30 25 0d 47 5e 15  |agy%=dragy0%.G^.|
0000c640  f2 64 72 61 67 6f 6e 28  62 75 74 74 6f 6e 73 25  |.dragon(buttons%|
0000c650  29 0d 47 68 05 e1 0d 47  72 04 0d 47 7c 0d dd f2  |).Gh...Gr..G|...|
0000c660  64 72 61 67 6f 66 66 0d  47 86 15 e7 70 61 69 6e  |dragoff.G...pain|
0000c670  74 5f 64 72 61 67 25 3d  2d 31 8c e1 0d 47 90 11  |t_drag%=-1...G..|
0000c680  c8 8e 70 61 69 6e 74 6d  6f 64 65 25 ca 0d 47 9a  |..paintmode%..G.|
0000c690  17 c9 31 36 2c 31 38 3a  f4 20 64 6f 20 6e 6f 74  |..16,18:. do not|
0000c6a0  68 69 6e 67 0d 47 a4 05  7f 0d 47 ae 49 21 71 25  |hing.G....G.I!q%|
0000c6b0  3d 73 70 72 69 74 65 77  25 28 70 61 69 6e 74 5f  |=spritew%(paint_|
0000c6c0  64 72 61 67 25 3e 3e 31  36 29 3a 71 25 21 34 3d  |drag%>>16):q%!4=|
0000c6d0  2d 31 45 38 3a 71 25 21  38 3d 2d 31 45 38 3a 71  |-1E8:q%!8=-1E8:q|
0000c6e0  25 21 31 32 3d 31 45 38  3a 71 25 21 31 36 3d 31  |%!12=1E8:q%!16=1|
0000c6f0  45 38 0d 47 b8 23 c8 99  22 57 69 6d 70 5f 55 70  |E8.G.#.."Wimp_Up|
0000c700  64 61 74 65 57 69 6e 64  6f 77 22 2c 2c 71 25 b8  |dateWindow",,q%.|
0000c710  6d 6f 72 65 25 0d 47 c2  35 c8 95 6d 6f 72 65 25  |more%.G.5..more%|
0000c720  3a f2 64 72 67 6f 66 66  3a c8 99 22 57 69 6d 70  |:.drgoff:.."Wimp|
0000c730  5f 47 65 74 52 65 63 74  61 6e 67 6c 65 22 2c 2c  |_GetRectangle",,|
0000c740  71 25 b8 6d 6f 72 65 25  3a ce 0d 47 cc 05 cb 0d  |q%.more%:..G....|
0000c750  47 d6 05 e1 0d 47 e0 04  0d 47 ea 0c dd f2 64 72  |G....G...G....dr|
0000c760  67 6f 66 66 0d 47 f4 08  e6 33 2c 37 0d 47 fe 1e  |goff.G...3,7.G..|
0000c770  63 6f 64 65 25 3d 28 70  61 69 6e 74 5f 64 72 61  |code%=(paint_dra|
0000c780  67 25 3e 3e 38 29 80 26  46 46 0d 48 08 11 c8 8e  |g%>>8).&FF.H....|
0000c790  70 61 69 6e 74 6d 6f 64  65 25 ca 0d 48 12 0a c9  |paintmode%..H...|
0000c7a0  32 38 2c 32 39 0d 48 1c  15 c8 8e 70 61 69 6e 74  |28,29.H....paint|
0000c7b0  5f 64 72 61 67 25 80 26  46 ca 0d 48 26 3e c9 30  |_drag%.&F..H&>.0|
0000c7c0  3a c8 93 62 78 25 2b 64  72 61 67 78 30 25 2c 62  |:..bx%+dragx0%,b|
0000c7d0  79 25 2b 64 72 61 67 79  30 25 2c 64 72 61 67 78  |y%+dragy0%,dragx|
0000c7e0  25 2d 64 72 61 67 78 30  25 2c 64 72 61 67 79 25  |%-dragx0%,dragy%|
0000c7f0  2d 64 72 61 67 79 30 25  0d 48 30 3e c9 31 3a c8  |-dragy0%.H0>.1:.|
0000c800  93 62 78 25 2b 64 72 61  67 78 25 2c 62 79 25 2b  |.bx%+dragx%,by%+|
0000c810  64 72 61 67 79 25 2c 64  72 61 67 78 31 25 2d 64  |dragy%,dragx1%-d|
0000c820  72 61 67 78 30 25 2c 64  72 61 67 79 31 25 2d 64  |ragx0%,dragy1%-d|
0000c830  72 61 67 79 30 25 0d 48  3a 1c ec 62 78 25 2b 64  |ragy0%.H:..bx%+d|
0000c840  72 61 67 78 30 25 2c 62  79 25 2b 64 72 61 67 79  |ragx0%,by%+dragy|
0000c850  30 25 0d 48 44 3b f0 32  39 2c 62 78 25 2b 64 72  |0%.HD;.29,bx%+dr|
0000c860  61 67 78 31 25 2c 62 79  25 2b 64 72 61 67 79 30  |agx1%,by%+dragy0|
0000c870  25 3a f0 32 39 2c 62 78  25 2b 64 72 61 67 78 31  |%:.29,bx%+dragx1|
0000c880  25 2c 62 79 25 2b 64 72  61 67 79 31 25 0d 48 4e  |%,by%+dragy1%.HN|
0000c890  3b f0 32 39 2c 62 78 25  2b 64 72 61 67 78 30 25  |;.29,bx%+dragx0%|
0000c8a0  2c 62 79 25 2b 64 72 61  67 79 31 25 3a f0 32 39  |,by%+dragy1%:.29|
0000c8b0  2c 62 78 25 2b 64 72 61  67 78 30 25 2c 62 79 25  |,bx%+dragx0%,by%|
0000c8c0  2b 64 72 61 67 79 30 25  0d 48 58 05 cb 0d 48 62  |+dragy0%.HX...Hb|
0000c8d0  1f c9 31 39 2c 32 30 2c  32 31 2c 32 32 2c 32 33  |..19,20,21,22,23|
0000c8e0  2c 32 34 2c 32 35 2c 32  36 2c 32 37 0d 48 6c 15  |,24,25,26,27.Hl.|
0000c8f0  c8 8e 70 61 69 6e 74 5f  64 72 61 67 25 80 26 46  |..paint_drag%.&F|
0000c900  ca 0d 48 76 07 c9 30 3a  0d 48 80 16 c8 8e 70 61  |..Hv..0:.H....pa|
0000c910  69 6e 74 5f 64 72 61 67  25 80 26 46 30 ca 0d 48  |int_drag%.&F0..H|
0000c920  8a 38 c9 26 31 30 3a ec  62 78 25 2b 64 72 61 67  |.8.&10:.bx%+drag|
0000c930  78 30 25 2c 62 79 25 2b  64 72 61 67 79 30 25 3a  |x0%,by%+dragy0%:|
0000c940  df 62 78 25 2b 64 72 61  67 78 25 2c 62 79 25 2b  |.bx%+dragx%,by%+|
0000c950  64 72 61 67 79 25 0d 48  94 40 c9 26 30 30 3a ec  |dragy%.H.@.&00:.|
0000c960  62 78 25 2b 64 72 61 67  78 30 25 2c 62 79 25 2b  |bx%+dragx0%,by%+|
0000c970  64 72 61 67 79 30 25 3a  f0 63 6f 64 65 25 2b 35  |dragy0%:.code%+5|
0000c980  2c 62 78 25 2b 64 72 61  67 78 25 2c 62 79 25 2b  |,bx%+dragx%,by%+|
0000c990  64 72 61 67 79 25 0d 48  9e 05 cb 0d 48 a8 21 c9  |dragy%.H....H.!.|
0000c9a0  31 3a 63 6f 64 65 25 3d  28 70 61 69 6e 74 5f 64  |1:code%=(paint_d|
0000c9b0  72 61 67 25 3e 3e 38 29  80 26 46 46 0d 48 b2 1c  |rag%>>8).&FF.H..|
0000c9c0  ec 62 78 25 2b 64 72 61  67 78 31 25 2c 62 79 25  |.bx%+dragx1%,by%|
0000c9d0  2b 64 72 61 67 79 31 25  0d 48 bc 0c c8 8e 63 6f  |+dragy1%.H....co|
0000c9e0  64 65 25 ca 0d 48 c6 21  c9 26 30 30 3a df 62 78  |de%..H.!.&00:.bx|
0000c9f0  25 2b 64 72 61 67 78 30  25 2c 62 79 25 2b 64 72  |%+dragx0%,by%+dr|
0000ca00  61 67 79 30 25 0d 48 d0  1a df 62 78 25 2b 64 72  |agy0%.H...bx%+dr|
0000ca10  61 67 78 25 2c 62 79 25  2b 64 72 61 67 79 25 0d  |agx%,by%+dragy%.|
0000ca20  48 da 1c df 62 78 25 2b  64 72 61 67 78 31 25 2c  |H...bx%+dragx1%,|
0000ca30  62 79 25 2b 64 72 61 67  79 31 25 0d 48 e4 1e 7f  |by%+dragy1%.H...|
0000ca40  3a ec 62 78 25 2b 64 72  61 67 78 30 25 2c 62 79  |:.bx%+dragx0%,by|
0000ca50  25 2b 64 72 61 67 79 30  25 0d 48 ee 22 f0 63 6f  |%+dragy0%.H.".co|
0000ca60  64 65 25 2b 35 2c 62 78  25 2b 64 72 61 67 78 25  |de%+5,bx%+dragx%|
0000ca70  2c 62 79 25 2b 64 72 61  67 79 25 0d 48 f8 05 cb  |,by%+dragy%.H...|
0000ca80  0d 49 02 05 cb 0d 49 0c  05 cb 0d 49 16 05 e1 0d  |.I....I....I....|
0000ca90  49 20 04 0d 49 2a 16 dd  f2 64 72 61 67 6f 6e 28  |I ..I*...dragon(|
0000caa0  62 75 74 74 6f 6e 73 25  29 0d 49 34 11 c8 8e 70  |buttons%).I4...p|
0000cab0  61 69 6e 74 6d 6f 64 65  25 ca 0d 49 3e 07 c9 31  |aintmode%..I>..1|
0000cac0  36 0d 49 48 12 e7 62 75  74 74 6f 6e 73 25 80 26  |6.IH..buttons%.&|
0000cad0  30 35 8c 0d 49 52 21 f2  73 70 72 69 74 65 70 69  |05..IR!.spritepi|
0000cae0  78 65 6c 28 70 61 69 6e  74 5f 64 72 61 67 25 3e  |xel(paint_drag%>|
0000caf0  3e 31 36 29 0d 49 5c 13  cc 70 61 69 6e 74 5f 64  |>16).I\..paint_d|
0000cb00  72 61 67 25 3d 2d 31 0d  49 66 05 cd 0d 49 70 14  |rag%=-1.If...Ip.|
0000cb10  c9 33 30 3a f4 20 64 6f  20 6e 6f 74 68 69 6e 67  |.30:. do nothing|
0000cb20  0d 49 7a 0d 7f f2 64 72  61 67 6f 66 66 0d 49 84  |.Iz...dragoff.I.|
0000cb30  05 cb 0d 49 8e 05 e1 0d  49 98 04 0d 49 a2 13 dd  |...I....I...I...|
0000cb40  f2 65 64 69 74 28 73 70  6e 61 6d 65 24 29 0d 49  |.edit(spname$).I|
0000cb50  ac 4a c8 99 22 4f 53 5f  53 70 72 69 74 65 4f 70  |.J.."OS_SpriteOp|
0000cb60  22 2c 26 31 33 43 2c 73  70 72 69 74 65 61 72 65  |",&13C,spriteare|
0000cb70  61 25 2c 73 70 6e 61 6d  65 24 2c 30 b8 6f 6c 64  |a%,spname$,0.old|
0000cb80  52 30 25 2c 6f 6c 64 52  31 25 2c 6f 6c 64 52 32  |R0%,oldR1%,oldR2|
0000cb90  25 2c 6f 6c 64 52 33 25  0d 49 b6 0f 73 77 69 74  |%,oldR3%.I..swit|
0000cba0  63 68 65 64 25 3d b9 0d  49 c0 05 e1 0d 49 ca 04  |ched%=..I....I..|
0000cbb0  0d 49 d4 11 3b ea 41 25  2c 42 25 2c 73 70 74 72  |.I..;.A%,B%,sptr|
0000cbc0  25 0d 49 de 28 3b 41 25  3d a4 73 70 72 69 74 65  |%.I.(;A%=.sprite|
0000cbd0  61 64 64 72 28 73 70 72  69 74 65 61 72 65 61 25  |addr(spritearea%|
0000cbe0  2c 73 70 6e 61 6d 65 24  29 0d 49 e8 20 3b e7 28  |,spname$).I. ;.(|
0000cbf0  73 70 74 72 25 21 31 36  2b 31 29 2a 34 3d 6c 69  |sptr%!16+1)*4=li|
0000cc00  6e 65 6c 65 6e 25 80 a3  8c 0d 49 f2 13 3b 21 76  |nelen%....I..;!v|
0000cc10  64 75 73 63 72 65 65 6e  25 3d 41 25 0d 49 fc 2d  |duscreen%=A%.I.-|
0000cc20  3b c8 99 22 4f 53 5f 52  65 61 64 4d 6f 64 65 56  |;.."OS_ReadModeV|
0000cc30  61 72 69 61 62 6c 65 22  2c 73 70 74 72 25 21 34  |ariable",sptr%!4|
0000cc40  30 2c 31 30 b8 2c 2c 42  25 0d 4a 06 1e 3b ef 32  |0,10.,,B%.J..;.2|
0000cc50  39 2c 28 73 70 74 72 25  21 32 34 3e 3e 42 25 29  |9,(sptr%!24>>B%)|
0000cc60  2a 64 78 25 3b 30 3b 0d  4a 10 21 3b 8b 21 76 64  |*dx%;0;.J.!;.!vd|
0000cc70  75 73 63 72 65 65 6e 25  3d 65 64 69 74 62 75 66  |uscreen%=editbuf|
0000cc80  66 65 72 25 3a ef 32 36  0d 4a 1a 3f 3b c8 99 22  |fer%:.26.J.?;.."|
0000cc90  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 26 31 32  |OS_SpriteOp",&12|
0000cca0  32 2c 73 70 72 69 74 65  61 72 65 61 25 2c 73 70  |2,spritearea%,sp|
0000ccb0  6e 61 6d 65 24 2c 30 2c  31 30 32 34 2d 73 70 68  |name$,0,1024-sph|
0000ccc0  25 2a 64 79 25 2c 30 0d  4a 24 06 3b cd 0d 4a 2e  |%*dy%,0.J$.;..J.|
0000ccd0  27 3b ef 32 34 2c 30 3b  31 30 32 34 2d 73 70 68  |';.24,0;1024-sph|
0000cce0  25 2a 64 79 25 3b 73 70  77 25 2a 64 78 25 3b 31  |%*dy%;spw%*dx%;1|
0000ccf0  30 32 33 3b 0d 4a 38 06  3b e1 0d 4a 42 04 0d 4a  |023;.J8.;..JB..J|
0000cd00  4c 16 dd f2 65 64 69 74  6f 66 66 28 73 70 6e 61  |L...editoff(spna|
0000cd10  6d 65 24 29 0d 4a 56 0f  e7 73 77 69 74 63 68 65  |me$).JV..switche|
0000cd20  64 25 8c 0d 4a 60 2f c8  99 22 4f 53 5f 53 70 72  |d%..J`/.."OS_Spr|
0000cd30  69 74 65 4f 70 22 2c 6f  6c 64 52 30 25 2c 6f 6c  |iteOp",oldR0%,ol|
0000cd40  64 52 31 25 2c 6f 6c 64  52 32 25 2c 6f 6c 64 52  |dR1%,oldR2%,oldR|
0000cd50  33 25 0d 4a 6a 15 75 6e  64 6f 6e 61 6d 65 24 3d  |3%.Jj.undoname$=|
0000cd60  73 70 6e 61 6d 65 24 0d  4a 74 0f 73 77 69 74 63  |spname$.Jt.switc|
0000cd70  68 65 64 25 3d a3 0d 4a  7e 05 cd 0d 4a 88 05 e1  |hed%=..J~...J...|
0000cd80  0d 4a 92 04 0d 4a 9c 20  3b ea 41 25 2c 42 25 2c  |.J...J. ;.A%,B%,|
0000cd90  45 25 2c 48 25 2c 4c 25  2c 57 25 2c 49 25 2c 4a  |E%,H%,L%,W%,I%,J|
0000cda0  25 2c 54 25 0d 4a a6 1e  3b e7 21 76 64 75 73 63  |%,T%.J..;.!vdusc|
0000cdb0  72 65 65 6e 25 3d 65 64  69 74 62 75 66 66 65 72  |reen%=editbuffer|
0000cdc0  25 8c 0d 4a b0 17 3b f4  20 49 46 20 68 61 73 6d  |%..J..;. IF hasm|
0000cdd0  61 73 6b 25 20 54 48 45  4e 0d 4a ba 28 3b 41 25  |ask% THEN.J.(;A%|
0000cde0  3d a4 73 70 72 69 74 65  61 64 64 72 28 73 70 72  |=.spriteaddr(spr|
0000cdf0  69 74 65 61 72 65 61 25  2c 73 70 6e 61 6d 65 24  |itearea%,spname$|
0000ce00  29 0d 4a c4 12 3b e7 73  70 74 72 25 21 32 34 3c  |).J..;.sptr%!24<|
0000ce10  3e 30 8c 0d 4a ce 2d 3b  c8 99 22 4f 53 5f 52 65  |>0..J.-;.."OS_Re|
0000ce20  61 64 4d 6f 64 65 56 61  72 69 61 62 6c 65 22 2c  |adModeVariable",|
0000ce30  73 70 74 72 25 21 34 30  2c 31 30 b8 2c 2c 42 25  |sptr%!40,10.,,B%|
0000ce40  0d 4a d8 1f 3b 4a 25 3d  73 70 74 72 25 21 32 34  |.J..;J%=sptr%!24|
0000ce50  3e 3e 42 25 3a 73 70 74  72 25 21 32 34 3d 30 0d  |>>B%:sptr%!24=0.|
0000ce60  4a e2 38 3b e3 49 25 3d  31 b8 4a 25 3a c8 99 22  |J.8;.I%=1.J%:.."|
0000ce70  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 26 32 32  |OS_SpriteOp",&22|
0000ce80  45 2c 73 70 72 69 74 65  61 72 65 61 25 2c 73 70  |E,spritearea%,sp|
0000ce90  74 72 25 2c 30 3a ed 0d  4a ec 06 3b cd 0d 4a f6  |tr%,0:..J..;..J.|
0000cea0  24 3b 57 25 3d 28 73 70  74 72 25 21 31 36 2b 31  |$;W%=(sptr%!16+1|
0000ceb0  29 2a 34 3a 48 25 3d 73  70 74 72 25 21 32 30 2b  |)*4:H%=sptr%!20+|
0000cec0  31 0d 4b 00 27 3b 45 25  3d 65 64 69 74 62 75 66  |1.K.';E%=editbuf|
0000ced0  66 65 72 25 3a 4c 25 3d  65 64 69 74 62 75 66 66  |fer%:L%=editbuff|
0000cee0  65 72 77 69 64 74 68 25  0d 4b 0a 4c 3b 73 67 65  |erwidth%.K.L;sge|
0000cef0  74 70 61 72 73 21 30 3d  41 25 3a 73 67 65 74 70  |tpars!0=A%:sgetp|
0000cf00  61 72 73 21 34 3d 45 25  3a 73 67 65 74 70 61 72  |ars!4=E%:sgetpar|
0000cf10  73 21 38 3d 57 25 3a 73  67 65 74 70 61 72 73 21  |s!8=W%:sgetpars!|
0000cf20  31 32 3d 48 25 3a 73 67  65 74 70 61 72 73 21 31  |12=H%:sgetpars!1|
0000cf30  36 3d 4c 25 0d 4b 14 0a  3b d6 73 67 65 74 0d 4b  |6=L%.K..;.sget.K|
0000cf40  1e 4e f4 20 46 4f 52 20  4a 25 3d 31 20 54 4f 20  |.N. FOR J%=1 TO |
0000cf50  48 25 3a 46 4f 52 20 49  25 3d 30 20 54 4f 20 57  |H%:FOR I%=0 TO W|
0000cf60  25 2d 31 20 53 54 45 50  34 3a 54 25 3d 41 25 21  |%-1 STEP4:T%=A%!|
0000cf70  49 25 3a 41 25 21 49 25  3d 45 25 21 49 25 3a 45  |I%:A%!I%=E%!I%:E|
0000cf80  25 21 49 25 3d 54 25 3a  4e 45 58 54 0d 4b 28 18  |%!I%=T%:NEXT.K(.|
0000cf90  f4 20 41 25 2b 3d 57 25  3a 45 25 2b 3d 4c 25 3a  |. A%+=W%:E%+=L%:|
0000cfa0  4e 45 58 54 0d 4b 32 0a  f4 20 45 4c 53 45 0d 4b  |NEXT.K2.. ELSE.K|
0000cfb0  3c 51 f4 20 53 59 53 22  4f 53 5f 53 70 72 69 74  |<Q. SYS"OS_Sprit|
0000cfc0  65 4f 70 22 2c 26 31 31  30 2c 73 70 72 69 74 65  |eOp",&110,sprite|
0000cfd0  61 72 65 61 25 2c 73 70  6e 61 6d 65 24 2c 30 2c  |area%,spname$,0,|
0000cfe0  30 2c 31 30 32 34 2d 73  70 68 25 2a 64 79 25 2c  |0,1024-sph%*dy%,|
0000cff0  73 70 77 25 2a 64 78 25  2d 31 2c 31 30 32 33 0d  |spw%*dx%-1,1023.|
0000d000  4b 46 0b f4 20 45 4e 44  49 46 0d 4b 50 06 3b cd  |KF.. ENDIF.KP.;.|
0000d010  0d 4b 5a 2e 3b 75 6e 64  6f 73 63 72 65 65 6e 25  |.KZ.;undoscreen%|
0000d020  3d 21 76 64 75 73 63 72  65 65 6e 25 3a 75 6e 64  |=!vduscreen%:und|
0000d030  6f 6e 61 6d 65 24 3d 73  70 6e 61 6d 65 24 0d 4b  |oname$=spname$.K|
0000d040  64 23 3b 21 76 64 75 73  63 72 65 65 6e 25 3d 6f  |d#;!vduscreen%=o|
0000d050  6c 64 76 64 75 25 3a ef  32 39 2c 30 3b 30 3b 32  |ldvdu%:.29,0;0;2|
0000d060  36 0d 4b 6e 06 3b e1 0d  4b 78 04 0d 4b 82 13 dd  |6.Kn.;..Kx..K...|
0000d070  f2 75 6e 64 6f 28 73 70  72 69 74 65 25 29 0d 4b  |.undo(sprite%).K|
0000d080  8c 08 ef 37 3a e1 0d 4b  96 04 0d 4b a0 3b 3b e7  |...7:..K...K.;;.|
0000d090  75 6e 64 6f 6e 61 6d 65  24 3c 3e 73 70 72 69 74  |undoname$<>sprit|
0000d0a0  65 6e 24 28 49 25 29 84  75 6e 64 6f 73 63 72 65  |en$(I%).undoscre|
0000d0b0  65 6e 25 3c 3e 65 64 69  74 62 75 66 66 65 72 25  |en%<>editbuffer%|
0000d0c0  8c ef 37 3a e1 0d 4b aa  1c 3b 21 76 64 75 73 63  |..7:..K..;!vdusc|
0000d0d0  72 65 65 6e 25 3d 75 6e  64 6f 73 63 72 65 65 6e  |reen%=undoscreen|
0000d0e0  25 0d 4b b4 1b 3b f2 65  64 69 74 6f 66 66 28 73  |%.K..;.editoff(s|
0000d0f0  70 72 69 74 65 6e 24 28  49 25 29 29 0d 4b be 16  |priten$(I%)).K..|
0000d100  3b f2 75 70 64 61 74 65  73 70 72 69 74 65 28 49  |;.updatesprite(I|
0000d110  25 29 0d 4b c8 06 3b e1  0d 4b d2 04 0d 4b dc 1a  |%).K..;..K...K..|
0000d120  dd a4 73 70 72 69 74 65  61 64 64 72 28 41 25 2c  |..spriteaddr(A%,|
0000d130  6e 61 6d 65 24 29 0d 4b  e6 16 ea 4e 25 2c 4e 31  |name$).K...N%,N1|
0000d140  25 2c 4e 32 25 2c 4e 33  25 2c 49 25 0d 4b f0 37  |%,N2%,N3%,I%.K.7|
0000d150  24 73 70 72 69 74 65 6e  61 6d 65 25 3d 6e 61 6d  |$spritename%=nam|
0000d160  65 24 3a e3 49 25 3d a9  6e 61 6d 65 24 b8 31 31  |e$:.I%=.name$.11|
0000d170  3a 73 70 72 69 74 65 6e  61 6d 65 25 3f 49 25 3d  |:spritename%?I%=|
0000d180  30 3a ed 0d 4b fa 39 4e  31 25 3d 73 70 72 69 74  |0:..K.9N1%=sprit|
0000d190  65 6e 61 6d 65 25 21 30  3a 4e 32 25 3d 73 70 72  |ename%!0:N2%=spr|
0000d1a0  69 74 65 6e 61 6d 65 25  21 34 3a 4e 33 25 3d 73  |itename%!4:N3%=s|
0000d1b0  70 72 69 74 65 6e 61 6d  65 25 21 38 0d 4c 04 1a  |pritename%!8.L..|
0000d1c0  4e 25 3d 41 25 2b 41 25  21 31 32 3a 41 25 3d 41  |N%=A%+A%!12:A%=A|
0000d1d0  25 2b 41 25 21 38 0d 4c  0e 3b c8 95 41 25 3c 4e  |%+A%!8.L.;..A%<N|
0000d1e0  25 3a e7 41 25 21 34 3d  4e 31 25 e7 41 25 21 38  |%:.A%!4=N1%.A%!8|
0000d1f0  3d 4e 32 25 e7 41 25 21  31 32 3d 4e 33 25 8c 73  |=N2%.A%!12=N3%.s|
0000d200  70 74 72 25 3d 41 25 3a  3d 41 25 2b 41 25 21 33  |ptr%=A%:=A%+A%!3|
0000d210  32 0d 4c 18 0d 41 25 2b  3d 21 41 25 3a ce 0d 4c  |2.L..A%+=!A%:..L|
0000d220  22 35 85 31 2c 22 53 70  72 69 74 65 20 27 22 2b  |"5.1,"Sprite '"+|
0000d230  6e 61 6d 65 24 2b 22 27  20 6e 6f 74 20 66 6f 75  |name$+"' not fou|
0000d240  6e 64 20 62 79 20 46 4e  73 70 72 69 74 65 61 64  |nd by FNspritead|
0000d250  64 72 22 0d 4c 2c 04 0d  4c 36 52 2d 2d 2d 2d 2d  |dr".L,..L6R-----|
0000d260  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000d2a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 0d 4c 40 04 0d 4c 4a  |---------.L@..LJ|
0000d2b0  0d dd f2 70 61 6c 65 74  74 65 0d 4c 54 0c c8 8e  |...palette.LT...|
0000d2c0  69 63 6f 6e 25 ca 0d 4c  5e 09 c9 2d 31 3a e1 0d  |icon%..L^..-1:..|
0000d2d0  4c 68 27 c9 33 31 3a f2  73 65 74 69 28 70 61 6c  |Lh'.31:.seti(pal|
0000d2e0  65 74 74 65 25 2c 69 63  6f 6e 25 2c 26 32 30 30  |ette%,icon%,&200|
0000d2f0  30 30 30 2c 30 29 0d 4c  72 10 67 72 69 64 25 3d  |000,0).Lr.grid%=|
0000d300  ac 67 72 69 64 25 0d 4c  7c 05 7f 0d 4c 86 0e e7  |.grid%.L|...L...|
0000d310  69 63 6f 6e 25 3c 31 36  8c 0d 4c 90 0c f2 75 6e  |icon%<16..L...un|
0000d320  68 74 70 61 6c 0d 4c 9a  14 70 61 6c 63 6f 6c 6f  |htpal.L..palcolo|
0000d330  75 72 25 3d 69 63 6f 6e  25 0d 4c a4 19 73 70 72  |ur%=icon%.L..spr|
0000d340  63 6f 6c 6f 75 72 25 3d  70 61 6c 63 6f 6c 6f 75  |colour%=palcolou|
0000d350  72 25 0d 4c ae 0a f2 68  74 70 61 6c 0d 4c b8 05  |r%.L...htpal.L..|
0000d360  cc 0d 4c c2 17 e7 69 63  6f 6e 25 3c 3e 70 61 69  |..L...icon%<>pai|
0000d370  6e 74 6d 6f 64 65 25 8c  0d 4c cc 22 f2 64 65 73  |ntmode%..L.".des|
0000d380  65 6c 65 63 74 28 70 61  6c 65 74 74 65 25 2c 70  |elect(palette%,p|
0000d390  61 69 6e 74 6d 6f 64 65  25 29 0d 4c d6 1b f2 73  |aintmode%).L...s|
0000d3a0  65 6c 65 63 74 28 70 61  6c 65 74 74 65 25 2c 69  |elect(palette%,i|
0000d3b0  63 6f 6e 25 29 0d 4c e0  23 70 61 69 6e 74 6d 6f  |con%).L.#paintmo|
0000d3c0  64 65 25 3d 69 63 6f 6e  25 3a 70 61 69 6e 74 5f  |de%=icon%:paint_|
0000d3d0  64 72 61 67 25 3d 2d 31  0d 4c ea 05 cd 0d 4c f4  |drag%=-1.L....L.|
0000d3e0  05 cd 0d 4c fe 05 cb 0d  4d 08 05 e1 0d 4d 12 04  |...L....M....M..|
0000d3f0  0d 4d 1c 20 dd f2 78 6f  72 28 68 61 6e 64 6c 65  |.M. ..xor(handle|
0000d400  25 2c 69 63 6f 6e 25 2c  6e 74 69 6d 65 73 25 29  |%,icon%,ntimes%)|
0000d410  0d 4d 26 34 ea 49 25 3a  e3 49 25 3d 31 b8 6e 74  |.M&4.I%:.I%=1.nt|
0000d420  69 6d 65 73 25 3a f2 73  65 74 69 28 68 61 6e 64  |imes%:.seti(hand|
0000d430  6c 65 25 2c 69 63 6f 6e  25 2c 26 32 30 30 30 30  |le%,icon%,&20000|
0000d440  30 2c 30 29 0d 4d 30 1b  74 65 6d 70 74 25 3d 91  |0,0).M0.tempt%=.|
0000d450  3a f5 fd 91 2d 74 65 6d  70 74 25 3e 33 3a ed 0d  |:...-tempt%>3:..|
0000d460  4d 3a 05 e1 0d 4d 44 04  0d 4d 4e 0d dd f2 75 6e  |M:...MD..MN...un|
0000d470  68 74 70 61 6c 0d 4d 58  14 e7 70 61 6c 63 6f 6c  |htpal.MX..palcol|
0000d480  6f 75 72 25 3d 2d 31 8c  e1 0d 4d 62 26 f2 73 65  |our%=-1...Mb&.se|
0000d490  74 69 28 70 61 6c 65 74  74 65 25 2c 70 61 6c 63  |ti(palette%,palc|
0000d4a0  6f 6c 6f 75 72 25 2c 26  30 30 2c 26 30 35 29 0d  |olour%,&00,&05).|
0000d4b0  4d 6c 05 e1 0d 4d 76 04  0d 4d 80 0b dd f2 68 74  |Ml...Mv..M....ht|
0000d4c0  70 61 6c 0d 4d 8a 08 ea  63 33 25 0d 4d 94 14 e7  |pal.M...c3%.M...|
0000d4d0  70 61 6c 63 6f 6c 6f 75  72 25 3d 2d 31 8c e1 0d  |palcolour%=-1...|
0000d4e0  4d 9e 21 63 33 25 3d 75  6e 63 6f 6c 6f 75 72 25  |M.!c3%=uncolour%|
0000d4f0  28 70 61 6c 63 6f 6c 6f  75 72 25 29 3c 3c 32 34  |(palcolour%)<<24|
0000d500  0d 4d a8 30 f2 73 65 74  69 28 70 61 6c 65 74 74  |.M.0.seti(palett|
0000d510  65 25 2c 70 61 6c 63 6f  6c 6f 75 72 25 2c 63 33  |e%,palcolour%,c3|
0000d520  25 84 26 30 35 2c 26 30  46 30 30 30 30 30 35 29  |%.&05,&0F000005)|
0000d530  0d 4d b2 05 e1 0d 4d bc  04 0d 4d c6 23 dd f2 73  |.M....M...M.#..s|
0000d540  65 74 69 28 68 61 6e 64  6c 65 25 2c 69 63 6f 6e  |eti(handle%,icon|
0000d550  25 2c 65 6f 72 25 2c 62  69 63 25 29 0d 4d d0 49  |%,eor%,bic%).M.I|
0000d560  21 71 25 3d 68 61 6e 64  6c 65 25 3a 71 25 21 34  |!q%=handle%:q%!4|
0000d570  3d 69 63 6f 6e 25 3a 71  25 21 38 3d 65 6f 72 25  |=icon%:q%!8=eor%|
0000d580  3a 71 25 21 31 32 3d 62  69 63 25 3a c8 99 22 57  |:q%!12=bic%:.."W|
0000d590  69 6d 70 5f 53 65 74 49  63 6f 6e 53 74 61 74 65  |imp_SetIconState|
0000d5a0  22 2c 2c 71 25 0d 4d da  05 e1 0d 4d e4 04 0d 4d  |",,q%.M....M...M|
0000d5b0  ee 1a dd f2 73 65 74 72  67 62 76 61 6c 73 28 72  |....setrgbvals(r|
0000d5c0  25 2c 67 25 2c 62 25 29  0d 4d f8 07 ea 49 25 0d  |%,g%,b%).M...I%.|
0000d5d0  4e 02 24 70 61 6c 25 28  30 29 3d 72 25 3a 70 61  |N.$pal%(0)=r%:pa|
0000d5e0  6c 25 28 31 29 3d 67 25  3a 70 61 6c 25 28 32 29  |l%(1)=g%:pal%(2)|
0000d5f0  3d 62 25 0d 4e 0c 0b e3  49 25 3d 30 b8 32 0d 4e  |=b%.N...I%=0.2.N|
0000d600  16 1a f2 73 65 74 69 28  70 61 6c 65 74 74 65 25  |...seti(palette%|
0000d610  2c 49 25 2c 30 2c 30 29  0d 4e 20 05 ed 0d 4e 2a  |,I%,0,0).N ...N*|
0000d620  05 e1 0d 4e 34 04 0d 4e  3e 15 dd f2 72 65 61 64  |...N4..N>...read|
0000d630  70 61 6c 28 63 25 2c 63  32 25 29 0d 4e 48 1a e7  |pal(c%,c2%).NH..|
0000d640  63 32 25 3d 31 36 80 76  65 72 73 69 6f 6e 25 3e  |c2%=16.version%>|
0000d650  3d 31 33 34 8c 0d 4e 52  1d 70 61 6c 77 6f 72 64  |=134..NR.palword|
0000d660  25 3d 70 61 6c 74 61 62  6c 65 25 21 28 34 2a 63  |%=paltable%!(4*c|
0000d670  25 29 0d 4e 5c 29 cc c8  99 22 4f 53 5f 52 65 61  |%).N\)..."OS_Rea|
0000d680  64 50 61 6c 65 74 74 65  22 2c 63 25 2c 63 32 25  |dPalette",c%,c2%|
0000d690  b8 2c 2c 70 61 6c 77 6f  72 64 25 0d 4e 66 05 cd  |.,,palword%.Nf..|
0000d6a0  0d 4e 70 18 72 25 3d 28  70 61 6c 77 6f 72 64 25  |.Np.r%=(palword%|
0000d6b0  3e 3e 38 29 80 26 46 46  0d 4e 7a 19 67 25 3d 28  |>>8).&FF.Nz.g%=(|
0000d6c0  70 61 6c 77 6f 72 64 25  3e 3e 31 36 29 80 26 46  |palword%>>16).&F|
0000d6d0  46 0d 4e 84 19 62 25 3d  28 70 61 6c 77 6f 72 64  |F.N..b%=(palword|
0000d6e0  25 3e 3e 32 34 29 80 26  46 46 0d 4e 8e 05 e1 0d  |%>>24).&FF.N....|
0000d6f0  4e 98 04 0d 4e a2 52 2d  2d 2d 2d 2d 2d 2d 2d 2d  |N...N.R---------|
0000d700  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000d740  2d 2d 2d 2d 2d 0d 4e ac  04 0d 4e b6 20 dd f2 65  |-----.N...N. ..e|
0000d750  6e 63 6f 64 65 70 61 6c  6d 65 6e 75 28 74 69 63  |ncodepalmenu(tic|
0000d760  6b 63 6f 6c 6f 75 72 25  29 0d 4e c0 14 f2 65 6e  |kcolour%).N...en|
0000d770  63 6f 64 65 70 61 6c 28  30 2c 31 35 29 0d 4e ca  |codepal(0,15).N.|
0000d780  14 49 25 3d 6d 5f 70 61  6c 65 74 74 65 25 2b 32  |.I%=m_palette%+2|
0000d790  38 0d 4e d4 0c e3 63 25  3d 30 b8 31 35 0d 4e de  |8.N...c%=0.15.N.|
0000d7a0  39 49 25 3f 31 31 3d 28  63 25 3c 3c 34 29 2b 75  |9I%?11=(c%<<4)+u|
0000d7b0  6e 63 6f 6c 6f 75 72 25  28 63 25 29 3a 49 25 21  |ncolour%(c%):I%!|
0000d7c0  38 3d 49 25 21 38 84 26  30 38 3a f4 20 68 20 63  |8=I%!8.&08:. h c|
0000d7d0  65 6e 74 72 65 64 0d 4e  e8 2c e7 63 25 3d 74 69  |entred.N.,.c%=ti|
0000d7e0  63 6b 63 6f 6c 6f 75 72  25 8c 21 49 25 3d 21 49  |ckcolour%.!I%=!I|
0000d7f0  25 84 26 30 31 8b 21 49  25 3d 21 49 25 80 ac 26  |%.&01.!I%=!I%..&|
0000d800  30 31 0d 4e f2 0c 49 25  2b 3d 32 34 3a ed 0d 4e  |01.N..I%+=24:..N|
0000d810  fc 05 e1 0d 4f 06 04 0d  4f 10 18 dd f2 65 6e 63  |....O...O....enc|
0000d820  6f 64 65 70 61 6c 28 63  31 25 2c 63 32 25 29 0d  |odepal(c1%,c2%).|
0000d830  4f 1a 1d ea 63 25 2c 64  25 2c 65 25 2c 62 72 25  |O...c%,d%,e%,br%|
0000d840  2c 6d 61 78 64 25 2c 6d  61 78 65 25 0d 4f 24 32  |,maxd%,maxe%.O$2|
0000d850  e7 76 65 72 73 69 6f 6e  25 3e 3d 31 33 34 8c c8  |.version%>=134..|
0000d860  99 22 57 69 6d 70 5f 52  65 61 64 50 61 6c 65 74  |."Wimp_ReadPalet|
0000d870  74 65 22 2c 2c 70 61 6c  74 61 62 6c 65 25 0d 4f  |te",,paltable%.O|
0000d880  2e 2d e3 63 25 3d 63 31  25 b8 63 32 25 3a 62 72  |.-.c%=c1%.c2%:br|
0000d890  69 67 68 74 25 28 63 25  29 3d a4 62 72 69 67 68  |ight%(c%)=.brigh|
0000d8a0  74 6e 65 73 73 28 63 25  29 3a ed 0d 4f 38 28 e3  |tness(c%):..O8(.|
0000d8b0  63 25 3d 63 31 25 b8 63  32 25 3a 62 72 25 3d 62  |c%=c1%.c2%:br%=b|
0000d8c0  72 69 67 68 74 25 28 63  25 29 3a 6d 61 78 65 25  |right%(c%):maxe%|
0000d8d0  3d 2d 31 0d 4f 42 22 e3  64 25 3d 30 b8 31 35 3a  |=-1.OB".d%=0.15:|
0000d8e0  65 25 3d 94 28 62 72 69  67 68 74 25 28 64 25 29  |e%=.(bright%(d%)|
0000d8f0  2d 62 72 25 29 0d 4f 4c  1f e7 65 25 3e 6d 61 78  |-br%).OL..e%>max|
0000d900  65 25 8c 6d 61 78 65 25  3d 65 25 3a 6d 61 78 64  |e%.maxe%=e%:maxd|
0000d910  25 3d 64 25 0d 4f 56 1b  ed 3a 75 6e 63 6f 6c 6f  |%=d%.OV..:uncolo|
0000d920  75 72 25 28 63 25 29 3d  6d 61 78 64 25 3a ed 0d  |ur%(c%)=maxd%:..|
0000d930  4f 60 05 e1 0d 4f 6a 04  0d 4f 74 14 dd a4 62 72  |O`...Oj..Ot...br|
0000d940  69 67 68 74 6e 65 73 73  28 63 25 29 0d 4f 7e 0d  |ightness(c%).O~.|
0000d950  ea 72 25 2c 67 25 2c 62  25 0d 4f 88 13 f2 72 65  |.r%,g%,b%.O...re|
0000d960  61 64 70 61 6c 28 63 25  2c 31 36 29 0d 4f 92 10  |adpal(c%,16).O..|
0000d970  3d 72 25 2b 67 25 2b 67  25 2b 62 25 0d 4f 9c 04  |=r%+g%+g%+b%.O..|
0000d980  0d 4f a6 28 dd a4 66 6f  72 65 62 61 63 6b 28 63  |.O.(..foreback(c|
0000d990  25 29 3d 28 63 25 3c 3c  34 29 84 75 6e 63 6f 6c  |%)=(c%<<4).uncol|
0000d9a0  6f 75 72 25 28 63 25 29  0d 4f b0 04 0d 4f ba 1d  |our%(c%).O...O..|
0000d9b0  dd a4 63 6f 6c 6f 75 72  64 69 66 66 28 72 67 62  |..colourdiff(rgb|
0000d9c0  31 25 2c 72 67 62 32 25  29 0d 4f c4 16 ea 72 25  |1%,rgb2%).O...r%|
0000d9d0  2c 67 25 2c 62 25 2c 52  25 2c 47 25 2c 42 25 0d  |,g%,b%,R%,G%,B%.|
0000d9e0  4f ce 3b 72 25 3d 28 72  62 67 31 25 3e 3e 38 29  |O.;r%=(rbg1%>>8)|
0000d9f0  80 26 46 46 3a 67 25 3d  28 72 62 67 31 25 3e 3e  |.&FF:g%=(rbg1%>>|
0000da00  31 36 29 80 26 46 46 3a  62 25 3d 28 72 62 67 31  |16).&FF:b%=(rbg1|
0000da10  25 3e 3e 32 34 29 80 26  46 46 0d 4f d8 3b 52 25  |%>>24).&FF.O.;R%|
0000da20  3d 28 72 62 67 32 25 3e  3e 38 29 80 26 46 46 3a  |=(rbg2%>>8).&FF:|
0000da30  47 25 3d 28 72 62 67 32  25 3e 3e 31 36 29 80 26  |G%=(rbg2%>>16).&|
0000da40  46 46 3a 42 25 3d 28 72  62 67 32 25 3e 3e 32 34  |FF:B%=(rbg2%>>24|
0000da50  29 80 26 46 46 0d 4f e2  22 3d 28 52 25 2d 72 25  |).&FF.O."=(R%-r%|
0000da60  29 5e 32 2b 28 47 25 2d  67 25 29 5e 32 2b 28 42  |)^2+(G%-g%)^2+(B|
0000da70  25 2d 62 25 29 5e 32 0d  4f ec 04 0d 4f f6 52 2d  |%-b%)^2.O...O.R-|
0000da80  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000dac0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0d 50 00  |-------------.P.|
0000dad0  04 0d 50 0a 13 dd f2 63  68 65 63 6b 66 75 6c 6c  |..P....checkfull|
0000dae0  28 66 24 29 0d 50 14 18  e7 a7 66 24 2c 22 2e 22  |(f$).P....f$,"."|
0000daf0  29 84 a7 66 24 2c 22 3a  22 29 8c e1 0d 50 1e 3a  |)..f$,":")...P.:|
0000db00  85 31 2c 22 54 6f 20 73  61 76 65 2c 20 64 72 61  |.1,"To save, dra|
0000db10  67 20 74 68 65 20 66 69  6c 65 20 69 63 6f 6e 20  |g the file icon |
0000db20  74 6f 20 61 20 64 69 72  65 63 74 6f 72 79 20 76  |to a directory v|
0000db30  69 65 77 65 72 22 0d 50  28 04 0d 50 32 17 dd f2  |iewer".P(..P2...|
0000db40  63 68 65 63 6b 69 64 65  6e 74 28 41 24 2c 42 24  |checkident(A$,B$|
0000db50  29 0d 50 3c 0c e7 41 24  3d 42 24 8c e1 0d 50 46  |).P<..A$=B$...PF|
0000db60  37 e7 a4 6d 61 74 63 68  69 64 65 6e 74 28 41 24  |7..matchident(A$|
0000db70  29 3c 3e 2d 31 8c 85 31  2c 22 49 64 65 6e 74 69  |)<>-1..1,"Identi|
0000db80  66 69 65 72 20 6d 75 73  74 20 62 65 20 75 6e 69  |fier must be uni|
0000db90  71 75 65 22 0d 50 50 05  e1 0d 50 5a 04 0d 50 64  |que".PP...PZ..Pd|
0000dba0  14 dd a4 6d 61 74 63 68  69 64 65 6e 74 28 41 24  |...matchident(A$|
0000dbb0  29 0d 50 6e 0e e7 41 24  3d 22 22 8c 3d 2d 31 0d  |).Pn..A$="".=-1.|
0000dbc0  50 78 07 ea 49 25 0d 50  82 2a 49 25 3d 6e 68 25  |Px..I%.P.*I%=nh%|
0000dbd0  2b 31 3a f5 49 25 3d 49  25 2d 31 3a fd 41 24 3d  |+1:.I%=I%-1:.A$=|
0000dbe0  77 69 64 65 6e 74 24 28  49 25 29 84 49 25 3d 30  |wident$(I%).I%=0|
0000dbf0  0d 50 8c 1b e7 41 24 3d  77 69 64 65 6e 74 24 28  |.P...A$=wident$(|
0000dc00  49 25 29 8c 3d 49 25 8b  3d 2d 31 0d 50 96 04 0d  |I%).=I%.=-1.P...|
0000dc10  50 a0 21 dd f2 73 61 76  65 74 65 6d 70 6c 61 74  |P.!..savetemplat|
0000dc20  65 73 28 74 66 69 6c 65  24 2c 73 61 66 65 25 29  |es(tfile$,safe%)|
0000dc30  0d 50 aa 12 4a 25 3d 30  3a e3 49 25 3d 30 b8 6e  |.P..J%=0:.I%=0.n|
0000dc40  68 25 0d 50 b4 15 e7 68  61 6e 64 6c 65 25 28 49  |h%.P...handle%(I|
0000dc50  25 29 3e 6e 68 25 8c 0d  50 be 38 e7 77 69 64 65  |%)>nh%..P.8.wide|
0000dc60  6e 74 24 28 49 25 29 3d  22 22 8c 85 31 2c 22 4f  |nt$(I%)=""..1,"O|
0000dc70  6e 6c 79 20 6e 61 6d 65  64 20 77 69 6e 64 6f 77  |nly named window|
0000dc80  73 20 63 61 6e 20 62 65  20 73 61 76 65 64 22 0d  |s can be saved".|
0000dc90  50 c8 16 77 70 74 72 25  28 4a 25 29 3d 49 25 3a  |P..wptr%(J%)=I%:|
0000dca0  4a 25 2b 3d 31 0d 50 d2  05 cd 0d 50 dc 05 ed 0d  |J%+=1.P....P....|
0000dcb0  50 e6 10 f2 73 6f 72 74  77 69 6e 64 6f 77 73 0d  |P...sortwindows.|
0000dcc0  50 f0 21 e3 49 25 3d 30  b8 32 35 35 3a 66 6f 6e  |P.!.I%=0.255:fon|
0000dcd0  74 62 69 6e 64 69 6e 67  25 3f 49 25 3d 30 3a ed  |tbinding%?I%=0:.|
0000dce0  0d 50 fa 2e 66 72 65 65  66 25 3d 31 3a f4 20 69  |.P..freef%=1:. i|
0000dcf0  6e 74 65 72 6e 61 6c 20  66 6f 6e 74 20 68 61 6e  |nternal font han|
0000dd00  64 6c 65 20 61 6c 6c 6f  63 61 74 69 6f 6e 0d 51  |dle allocation.Q|
0000dd10  04 0e 74 66 5f 68 64 72  25 3d 31 36 0d 51 0e 10  |..tf_hdr%=16.Q..|
0000dd20  74 66 5f 66 73 69 7a 65  25 3d 34 38 0d 51 18 18  |tf_fsize%=48.Q..|
0000dd30  74 66 5f 68 61 6e 64 6c  65 25 3d ae 28 74 66 69  |tf_handle%=.(tfi|
0000dd40  6c 65 24 29 0d 51 22 33  e7 74 66 5f 68 61 6e 64  |le$).Q"3.tf_hand|
0000dd50  6c 65 25 3d 30 8c 85 31  2c 22 43 61 6e 27 74 20  |le%=0..1,"Can't |
0000dd60  6f 70 65 6e 20 66 69 6c  65 20 27 22 2b 74 66 69  |open file '"+tfi|
0000dd70  6c 65 24 2b 22 27 22 0d  51 2c 1f 74 66 5f 64 61  |le$+"'".Q,.tf_da|
0000dd80  74 61 70 74 72 25 3d 74  66 5f 68 64 72 25 2b 4a  |taptr%=tf_hdr%+J|
0000dd90  25 2a 32 34 2b 34 0d 51  36 25 e3 49 25 3d 30 b8  |%*24+4.Q6%.I%=0.|
0000dda0  74 66 5f 68 64 72 25 2d  31 3a 69 6e 64 65 78 64  |tf_hdr%-1:indexd|
0000ddb0  61 74 61 25 3f 49 25 3d  30 3a ed 0d 51 40 20 74  |ata%?I%=0:..Q@ t|
0000ddc0  66 5f 69 6e 64 65 78 25  3d 69 6e 64 65 78 64 61  |f_index%=indexda|
0000ddd0  74 61 25 2b 74 66 5f 68  64 72 25 0d 51 4a 0e e3  |ta%+tf_hdr%.QJ..|
0000dde0  49 25 3d 30 b8 4a 25 2d  31 0d 51 54 35 21 71 25  |I%=0.J%-1.QT5!q%|
0000ddf0  3d 68 61 6e 64 6c 65 25  28 77 70 74 72 25 28 49  |=handle%(wptr%(I|
0000de00  25 29 29 3a c8 99 22 57  69 6d 70 5f 47 65 74 57  |%)):.."Wimp_GetW|
0000de10  69 6e 64 6f 77 49 6e 66  6f 22 2c 2c 71 25 0d 51  |indowInfo",,q%.Q|
0000de20  5e 37 71 25 21 36 38 3d  31 3a f4 20 61 73 73 75  |^7q%!68=1:. assu|
0000de30  6d 65 20 63 6f 6d 6d 6f  6e 20 73 70 72 69 74 65  |me common sprite|
0000de40  20 61 72 65 61 20 77 68  65 6e 20 72 65 2d 6c 6f  | area when re-lo|
0000de50  61 64 69 6e 67 0d 51 68  1c 74 66 5f 64 61 74 61  |ading.Qh.tf_data|
0000de60  73 69 7a 65 25 3d 38 38  2b 33 32 2a 71 25 21 38  |size%=88+32*q%!8|
0000de70  38 0d 51 72 1d f2 70 72  6f 63 65 73 73 69 63 6f  |8.Qr..processico|
0000de80  6e 28 71 25 2b 36 30 2c  71 25 2b 37 36 29 0d 51  |n(q%+60,q%+76).Q|
0000de90  7c 1a e7 71 25 21 38 38  3e 30 8c f2 70 72 6f 63  ||..q%!88>0..proc|
0000dea0  65 73 73 69 63 6f 6e 73  0d 51 86 3a c8 99 22 4f  |essicons.Q.:.."O|
0000deb0  53 5f 47 42 50 42 22 2c  31 2c 74 66 5f 68 61 6e  |S_GBPB",1,tf_han|
0000dec0  64 6c 65 25 2c 71 25 2b  34 2c 74 66 5f 64 61 74  |dle%,q%+4,tf_dat|
0000ded0  61 73 69 7a 65 25 2c 74  66 5f 64 61 74 61 70 74  |asize%,tf_datapt|
0000dee0  72 25 0d 51 90 1b 74 66  5f 69 6e 64 65 78 25 21  |r%.Q..tf_index%!|
0000def0  30 3d 74 66 5f 64 61 74  61 70 74 72 25 0d 51 9a  |0=tf_dataptr%.Q.|
0000df00  1c 74 66 5f 69 6e 64 65  78 25 21 34 3d 74 66 5f  |.tf_index%!4=tf_|
0000df10  64 61 74 61 73 69 7a 65  25 0d 51 a4 11 74 66 5f  |datasize%.Q..tf_|
0000df20  69 6e 64 65 78 25 21 38  3d 31 0d 51 ae 26 24 28  |index%!8=1.Q.&$(|
0000df30  74 66 5f 69 6e 64 65 78  25 2b 31 32 29 3d 77 69  |tf_index%+12)=wi|
0000df40  64 65 6e 74 24 28 77 70  74 72 25 28 49 25 29 29  |dent$(wptr%(I%))|
0000df50  0d 51 b8 2b 74 66 5f 69  6e 64 65 78 25 2b 3d 32  |.Q.+tf_index%+=2|
0000df60  34 3a 74 66 5f 64 61 74  61 70 74 72 25 2b 3d 74  |4:tf_dataptr%+=t|
0000df70  66 5f 64 61 74 61 73 69  7a 65 25 0d 51 c2 05 ed  |f_datasize%.Q...|
0000df80  0d 51 cc 10 21 74 66 5f  69 6e 64 65 78 25 3d 30  |.Q..!tf_index%=0|
0000df90  0d 51 d6 34 e7 66 72 65  65 66 25 3d 31 8c 21 69  |.Q.4.freef%=1.!i|
0000dfa0  6e 64 65 78 64 61 74 61  25 3d 2d 31 8b 21 69 6e  |ndexdata%=-1.!in|
0000dfb0  64 65 78 64 61 74 61 25  3d 74 66 5f 64 61 74 61  |dexdata%=tf_data|
0000dfc0  70 74 72 25 0d 51 e0 40  c8 99 22 4f 53 5f 47 42  |ptr%.Q.@.."OS_GB|
0000dfd0  50 42 22 2c 31 2c 74 66  5f 68 61 6e 64 6c 65 25  |PB",1,tf_handle%|
0000dfe0  2c 69 6e 64 65 78 64 61  74 61 25 2c 74 66 5f 69  |,indexdata%,tf_i|
0000dff0  6e 64 65 78 25 2b 34 2d  69 6e 64 65 78 64 61 74  |ndex%+4-indexdat|
0000e000  61 25 2c 30 0d 51 ea 0e  e7 66 72 65 65 66 25 3e  |a%,0.Q...freef%>|
0000e010  31 8c 0d 51 f4 27 e3 49  25 3d 30 b8 74 66 5f 66  |1..Q.'.I%=0.tf_f|
0000e020  73 69 7a 65 25 2d 31 3a  69 6e 64 65 78 64 61 74  |size%-1:indexdat|
0000e030  61 25 3f 49 25 3d 30 3a  ed 0d 51 fe 12 e3 49 25  |a%?I%=0:..Q...I%|
0000e040  3d 31 b8 66 72 65 65 66  25 2d 31 0d 52 08 23 4a  |=1.freef%-1.R.#J|
0000e050  25 3d 30 3a f5 4a 25 2b  3d 31 3a fd 66 6f 6e 74  |%=0:.J%+=1:.font|
0000e060  62 69 6e 64 69 6e 67 25  3f 4a 25 3d 49 25 0d 52  |binding%?J%=I%.R|
0000e070  12 41 c8 99 22 46 6f 6e  74 5f 52 65 61 64 44 65  |.A.."Font_ReadDe|
0000e080  66 6e 22 2c 4a 25 2c 69  6e 64 65 78 64 61 74 61  |fn",J%,indexdata|
0000e090  25 2b 38 b8 2c 2c 69 6e  64 65 78 64 61 74 61 25  |%+8.,,indexdata%|
0000e0a0  21 30 2c 69 6e 64 65 78  64 61 74 61 25 21 34 0d  |!0,indexdata%!4.|
0000e0b0  52 1c 3d c8 99 22 4f 53  5f 47 42 50 42 22 2c 31  |R.=.."OS_GBPB",1|
0000e0c0  2c 74 66 5f 68 61 6e 64  6c 65 25 2c 69 6e 64 65  |,tf_handle%,inde|
0000e0d0  78 64 61 74 61 25 2c 74  66 5f 66 73 69 7a 65 25  |xdata%,tf_fsize%|
0000e0e0  2c 74 66 5f 64 61 74 61  70 74 72 25 0d 52 26 1a  |,tf_dataptr%.R&.|
0000e0f0  74 66 5f 64 61 74 61 70  74 72 25 2b 3d 74 66 5f  |tf_dataptr%+=tf_|
0000e100  66 73 69 7a 65 25 0d 52  30 05 ed 0d 52 3a 05 cd  |fsize%.R0...R:..|
0000e110  0d 52 44 10 d9 23 74 66  5f 68 61 6e 64 6c 65 25  |.RD..#tf_handle%|
0000e120  0d 52 4e 24 ff 28 22 53  65 74 74 79 70 65 20 22  |.RN$.("Settype "|
0000e130  2b 74 66 69 6c 65 24 2b  22 20 54 65 6d 70 6c 61  |+tfile$+" Templa|
0000e140  74 65 22 29 0d 52 58 16  ff 28 22 53 74 61 6d 70  |te").RX..("Stamp|
0000e150  20 22 2b 74 66 69 6c 65  24 29 0d 52 62 1c e7 73  | "+tfile$).Rb..s|
0000e160  61 66 65 25 8c 74 65 6d  70 6c 61 74 65 66 24 3d  |afe%.templatef$=|
0000e170  74 66 69 6c 65 24 0d 52  6c 05 e1 0d 52 76 04 0d  |tfile$.Rl...Rv..|
0000e180  52 80 12 dd f2 70 72 6f  63 65 73 73 69 63 6f 6e  |R....processicon|
0000e190  73 0d 52 8a 0a ea 49 25  2c 4a 25 0d 52 94 0c 4a  |s.R...I%,J%.R..J|
0000e1a0  25 3d 71 25 2b 39 32 0d  52 9e 34 e3 49 25 3d 30  |%=q%+92.R.4.I%=0|
0000e1b0  b8 71 25 21 38 38 2d 31  3a f2 70 72 6f 63 65 73  |.q%!88-1:.proces|
0000e1c0  73 69 63 6f 6e 28 4a 25  2b 31 36 2c 4a 25 2b 32  |sicon(J%+16,J%+2|
0000e1d0  30 29 3a 4a 25 2b 3d 33  32 3a ed 0d 52 a8 05 e1  |0):J%+=32:..R...|
0000e1e0  0d 52 b2 04 0d 52 bc 1e  dd f2 70 72 6f 63 65 73  |.R...R....proces|
0000e1f0  73 69 63 6f 6e 28 66 70  74 72 25 2c 71 70 74 72  |sicon(fptr%,qptr|
0000e200  25 29 0d 52 c6 10 e7 21  66 70 74 72 25 80 26 34  |%).R...!fptr%.&4|
0000e210  30 8c 0d 52 d0 2a 65 78  74 66 25 3d 66 70 74 72  |0..R.*extf%=fptr|
0000e220  25 3f 33 3a 69 6e 74 66  25 3d 66 6f 6e 74 62 69  |%?3:intf%=fontbi|
0000e230  6e 64 69 6e 67 25 3f 65  78 74 66 25 0d 52 da 3c  |nding%?extf%.R.<|
0000e240  e7 69 6e 74 66 25 3d 30  8c 69 6e 74 66 25 3d 66  |.intf%=0.intf%=f|
0000e250  72 65 65 66 25 3a 66 72  65 65 66 25 2b 3d 31 3a  |reef%:freef%+=1:|
0000e260  66 6f 6e 74 62 69 6e 64  69 6e 67 25 3f 65 78 74  |fontbinding%?ext|
0000e270  66 25 3d 69 6e 74 66 25  0d 52 e4 11 66 70 74 72  |f%=intf%.R..fptr|
0000e280  25 3f 33 3d 69 6e 74 66  25 0d 52 ee 05 cd 0d 52  |%?3=intf%.R....R|
0000e290  f8 11 e7 21 66 70 74 72  25 80 26 31 30 30 8c 0d  |...!fptr%.&100..|
0000e2a0  53 02 18 42 25 3d 71 25  2b 34 2b 74 66 5f 64 61  |S..B%=q%+4+tf_da|
0000e2b0  74 61 73 69 7a 65 25 0d  53 0c 38 24 42 25 3d 24  |tasize%.S.8$B%=$|
0000e2c0  21 71 70 74 72 25 3a 21  71 70 74 72 25 3d 74 66  |!qptr%:!qptr%=tf|
0000e2d0  5f 64 61 74 61 73 69 7a  65 25 3a 74 66 5f 64 61  |_datasize%:tf_da|
0000e2e0  74 61 73 69 7a 65 25 2b  3d a9 24 42 25 2b 31 0d  |tasize%+=.$B%+1.|
0000e2f0  53 16 0f e7 71 70 74 72  25 21 34 3e 30 8c 0d 53  |S...qptr%!4>0..S|
0000e300  20 18 42 25 3d 71 25 2b  34 2b 74 66 5f 64 61 74  | .B%=q%+4+tf_dat|
0000e310  61 73 69 7a 65 25 0d 53  2a 3c 24 42 25 3d 24 28  |asize%.S*<$B%=$(|
0000e320  71 70 74 72 25 21 34 29  3a 71 70 74 72 25 21 34  |qptr%!4):qptr%!4|
0000e330  3d 74 66 5f 64 61 74 61  73 69 7a 65 25 3a 74 66  |=tf_datasize%:tf|
0000e340  5f 64 61 74 61 73 69 7a  65 25 2b 3d a9 24 42 25  |_datasize%+=.$B%|
0000e350  2b 31 0d 53 34 05 cd 0d  53 3e 05 cd 0d 53 48 05  |+1.S4...S>...SH.|
0000e360  e1 0d 53 52 04 0d 53 5c  1b dd f2 6c 6f 61 64 74  |..SR..S\...loadt|
0000e370  65 6d 70 6c 61 74 65 73  28 74 66 69 6c 65 24 29  |emplates(tfile$)|
0000e380  0d 53 66 0a ea 49 25 2c  66 24 0d 53 70 21 c8 99  |.Sf..I%,f$.Sp!..|
0000e390  22 57 69 6d 70 5f 4f 70  65 6e 54 65 6d 70 6c 61  |"Wimp_OpenTempla|
0000e3a0  74 65 22 2c 2c 74 66 69  6c 65 24 0d 53 7a 47 e7  |te",,tfile$.SzG.|
0000e3b0  74 66 69 6c 65 24 3c 3e  22 3c 57 69 6d 70 24 53  |tfile$<>"<Wimp$S|
0000e3c0  63 72 61 70 3e 22 8c 74  65 6d 70 6c 61 74 65 66  |crap>".templatef|
0000e3d0  24 3d 74 66 69 6c 65 24  3a f4 20 6f 6e 6c 79 20  |$=tfile$:. only |
0000e3e0  69 66 20 6c 6f 61 64 20  73 75 63 63 65 65 64 65  |if load succeede|
0000e3f0  64 21 0d 53 84 06 ea 85  0d 53 8e 28 ee 85 ea 3a  |d!.S.....S.(...:|
0000e400  ee 85 f7 3a c8 99 22 57  69 6d 70 5f 43 6c 6f 73  |...:.."Wimp_Clos|
0000e410  65 54 65 6d 70 6c 61 74  65 22 3a 85 9f 2c f6 24  |eTemplate":..,.$|
0000e420  0d 53 98 11 74 66 5f 69  6e 64 65 78 25 3d 30 3a  |.S..tf_index%=0:|
0000e430  f5 0d 53 a2 13 24 6d 62  5f 77 69 64 65 6e 74 25  |..S..$mb_wident%|
0000e440  3d 22 2a 22 0d 53 ac 71  c8 99 22 57 69 6d 70 5f  |="*".S.q.."Wimp_|
0000e450  4c 6f 61 64 54 65 6d 70  6c 61 74 65 22 2c 2c 71  |LoadTemplate",,q|
0000e460  25 2b 34 2c 63 75 72 62  75 66 66 25 2c 62 75 66  |%+4,curbuff%,buf|
0000e470  66 65 72 25 2b 6d 61 78  62 75 66 25 2c 66 6f 6e  |fer%+maxbuf%,fon|
0000e480  74 63 6f 75 6e 74 73 25  2c 6d 62 5f 77 69 64 65  |tcounts%,mb_wide|
0000e490  6e 74 25 2c 74 66 5f 69  6e 64 65 78 25 b8 2c 2c  |nt%,tf_index%.,,|
0000e4a0  63 75 72 62 75 66 66 25  2c 2c 2c 2c 74 66 5f 69  |curbuff%,,,,tf_i|
0000e4b0  6e 64 65 78 25 0d 53 b6  28 e7 74 66 5f 69 6e 64  |ndex%.S.(.tf_ind|
0000e4c0  65 78 25 3c 3e 30 8c f2  6c 6f 61 64 74 65 6d 70  |ex%<>0..loadtemp|
0000e4d0  28 24 6d 62 5f 77 69 64  65 6e 74 25 29 0d 53 c0  |($mb_wident%).S.|
0000e4e0  10 fd 74 66 5f 69 6e 64  65 78 25 3d 30 0d 53 ca  |..tf_index%=0.S.|
0000e4f0  1a c8 99 22 57 69 6d 70  5f 43 6c 6f 73 65 54 65  |..."Wimp_CloseTe|
0000e500  6d 70 6c 61 74 65 22 0d  53 d4 05 e1 0d 53 de 04  |mplate".S....S..|
0000e510  0d 53 e8 17 dd f2 6c 6f  61 64 74 65 6d 70 28 77  |.S....loadtemp(w|
0000e520  69 64 65 6e 74 24 29 0d  53 f2 35 49 25 3d a4 6d  |ident$).S.5I%=.m|
0000e530  61 74 63 68 69 64 65 6e  74 28 77 69 64 65 6e 74  |atchident(wident|
0000e540  24 29 3a e7 49 25 3c 3e  2d 31 8c f2 64 65 6c 65  |$):.I%<>-1..dele|
0000e550  74 65 77 69 6e 64 6f 77  28 49 25 29 0d 53 fc 28  |tewindow(I%).S.(|
0000e560  71 25 21 36 38 3d 73 70  72 69 74 65 61 72 65 61  |q%!68=spritearea|
0000e570  25 3a f4 20 75 73 65 72  20 73 70 72 69 74 65 20  |%:. user sprite |
0000e580  61 72 65 61 0d 54 06 1b  f2 63 72 77 69 6e 64 6f  |area.T...crwindo|
0000e590  77 28 71 25 2b 34 2c 77  69 64 65 6e 74 24 29 0d  |w(q%+4,wident$).|
0000e5a0  54 10 05 e1 0d 54 1a 04  0d 54 24 52 2d 2d 2d 2d  |T....T...T$R----|
0000e5b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000e5f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0d 54 2e 04 0d 54  |----------.T...T|
0000e600  38 14 dd f2 64 65 66 61  75 6c 74 77 69 6e 64 6f  |8...defaultwindo|
0000e610  77 73 0d 54 42 33 c8 99  22 57 69 6d 70 5f 4f 70  |ws.TB3.."Wimp_Op|
0000e620  65 6e 54 65 6d 70 6c 61  74 65 22 2c 2c 22 3c 46  |enTemplate",,"<F|
0000e630  6f 72 6d 45 64 24 44 69  72 3e 2e 54 65 6d 70 6c  |ormEd$Dir>.Templ|
0000e640  61 74 65 73 22 0d 54 4c  2b de 69 63 6f 6e 62 61  |ates".TL+.iconba|
0000e650  72 25 20 28 38 38 2b 31  30 2a 33 32 29 2c 64 65  |r% (88+10*32),de|
0000e660  66 61 75 6c 74 25 20 28  38 38 2b 31 2a 33 32 29  |fault% (88+1*32)|
0000e670  0d 54 56 23 f2 6c 6f 61  64 63 72 74 65 6d 70 28  |.TV#.loadcrtemp(|
0000e680  22 69 63 6f 6e 62 61 72  22 2c 69 63 6f 6e 62 61  |"iconbar",iconba|
0000e690  72 25 29 0d 54 60 23 f2  6c 6f 61 64 63 72 74 65  |r%).T`#.loadcrte|
0000e6a0  6d 70 28 22 64 65 66 61  75 6c 74 22 2c 64 65 66  |mp("default",def|
0000e6b0  61 75 6c 74 25 29 0d 54  6a 1b 6d 5f 69 6e 66 6f  |ault%).Tj.m_info|
0000e6c0  25 3d a4 63 72 74 65 6d  70 28 22 69 6e 66 6f 22  |%=.crtemp("info"|
0000e6d0  29 0d 54 74 25 73 70 72  69 74 65 6c 69 73 74 25  |).Tt%spritelist%|
0000e6e0  3d a4 63 72 74 65 6d 70  28 22 73 70 72 69 74 65  |=.crtemp("sprite|
0000e6f0  6c 69 73 74 22 29 0d 54  7e 1f 6d 5f 73 63 61 6c  |list").T~.m_scal|
0000e700  65 25 3d a4 63 72 74 65  6d 70 28 22 6d 5f 73 63  |e%=.crtemp("m_sc|
0000e710  61 6c 65 22 29 0d 54 88  25 6d 5f 77 6f 72 6b 61  |ale").T.%m_worka|
0000e720  72 65 61 25 3d a4 63 72  74 65 6d 70 28 22 6d 5f  |rea%=.crtemp("m_|
0000e730  77 6f 72 6b 61 72 65 61  22 29 0d 54 92 1f 70 61  |workarea").T..pa|
0000e740  6c 65 74 74 65 25 3d a4  63 72 74 65 6d 70 28 22  |lette%=.crtemp("|
0000e750  70 61 6c 65 74 74 65 22  29 0d 54 9c 24 6d 5f 73  |palette").T.$m_s|
0000e760  61 76 65 74 65 6d 70 25  3d a4 63 72 74 65 6d 70  |avetemp%=.crtemp|
0000e770  28 22 73 61 76 65 5f 74  65 6d 70 22 29 0d 54 a6  |("save_temp").T.|
0000e780  25 6d 5f 73 61 76 65 73  70 72 25 3d a4 63 72 74  |%m_savespr%=.crt|
0000e790  65 6d 70 28 22 73 61 76  65 5f 73 70 72 69 74 65  |emp("save_sprite|
0000e7a0  22 29 0d 54 b0 28 f4 20  65 72 72 6f 72 62 6f 78  |").T.(. errorbox|
0000e7b0  25 20 20 20 3d 20 46 4e  63 72 74 65 6d 70 28 22  |%   = FNcrtemp("|
0000e7c0  65 72 72 6f 72 62 6f 78  22 29 0d 54 ba 27 64 69  |errorbox").T.'di|
0000e7d0  61 6c 5f 64 65 6c 65 74  65 25 3d a4 63 72 74 65  |al_delete%=.crte|
0000e7e0  6d 70 28 22 64 69 61 6c  5f 64 65 6c 65 74 65 22  |mp("dial_delete"|
0000e7f0  29 0d 54 c4 1a c8 99 22  57 69 6d 70 5f 43 6c 6f  |).T...."Wimp_Clo|
0000e800  73 65 54 65 6d 70 6c 61  74 65 22 0d 54 ce 22 73  |seTemplate".T."s|
0000e810  70 72 62 75 66 66 25 3d  a4 69 63 6f 6e 61 64 64  |prbuff%=.iconadd|
0000e820  72 28 6d 5f 73 63 61 6c  65 25 2c 33 29 0d 54 d8  |r(m_scale%,3).T.|
0000e830  2a 6d 62 5f 74 65 6d 70  6c 61 74 65 73 25 3d a4  |*mb_templates%=.|
0000e840  69 63 6f 6e 61 64 64 72  28 6d 5f 73 61 76 65 74  |iconaddr(m_savet|
0000e850  65 6d 70 25 2c 31 29 0d  54 e2 27 6d 62 5f 73 70  |emp%,1).T.'mb_sp|
0000e860  72 69 74 65 66 25 3d a4  69 63 6f 6e 61 64 64 72  |ritef%=.iconaddr|
0000e870  28 6d 5f 73 61 76 65 73  70 72 25 2c 31 29 0d 54  |(m_savespr%,1).T|
0000e880  ec 2a 6d 62 5f 77 6f 72  6b 61 72 65 61 30 25 3d  |.*mb_workarea0%=|
0000e890  a4 69 63 6f 6e 61 64 64  72 28 6d 5f 77 6f 72 6b  |.iconaddr(m_work|
0000e8a0  61 72 65 61 25 2c 39 29  0d 54 f6 2b 6d 62 5f 77  |area%,9).T.+mb_w|
0000e8b0  6f 72 6b 61 72 65 61 31  25 3d a4 69 63 6f 6e 61  |orkarea1%=.icona|
0000e8c0  64 64 72 28 6d 5f 77 6f  72 6b 61 72 65 61 25 2c  |ddr(m_workarea%,|
0000e8d0  31 30 29 0d 55 00 26 6d  62 5f 6d 69 6e 78 25 3d  |10).U.&mb_minx%=|
0000e8e0  a4 69 63 6f 6e 61 64 64  72 28 6d 5f 77 6f 72 6b  |.iconaddr(m_work|
0000e8f0  61 72 65 61 25 2c 31 34  29 0d 55 0a 26 6d 62 5f  |area%,14).U.&mb_|
0000e900  6d 69 6e 79 25 3d a4 69  63 6f 6e 61 64 64 72 28  |miny%=.iconaddr(|
0000e910  6d 5f 77 6f 72 6b 61 72  65 61 25 2c 31 35 29 0d  |m_workarea%,15).|
0000e920  55 14 43 f2 67 65 74 69  28 6d 5f 73 63 61 6c 65  |U.C.geti(m_scale|
0000e930  25 2c 32 29 3a 73 70 72  78 6f 66 66 25 3d 28 69  |%,2):sprxoff%=(i|
0000e940  78 30 25 2b 69 78 31 25  29 81 32 3a 73 70 72 79  |x0%+ix1%).2:spry|
0000e950  6f 66 66 25 3d 28 69 79  30 25 2b 69 79 31 25 29  |off%=(iy0%+iy1%)|
0000e960  81 32 0d 55 1e 05 e1 0d  55 28 04 0d 55 32 15 dd  |.2.U....U(..U2..|
0000e970  a4 63 72 74 65 6d 70 28  77 69 64 65 6e 74 24 29  |.crtemp(wident$)|
0000e980  0d 55 3c 1b f2 6c 6f 61  64 63 72 74 65 6d 70 28  |.U<..loadcrtemp(|
0000e990  77 69 64 65 6e 74 24 2c  71 25 29 0d 55 46 20 c8  |wident$,q%).UF .|
0000e9a0  99 22 57 69 6d 70 5f 43  72 65 61 74 65 57 69 6e  |."Wimp_CreateWin|
0000e9b0  64 6f 77 22 2c 2c 71 25  b8 49 25 0d 55 50 07 3d  |dow",,q%.I%.UP.=|
0000e9c0  49 25 0d 55 5a 04 0d 55  64 1c dd f2 6c 6f 61 64  |I%.UZ..Ud...load|
0000e9d0  63 72 74 65 6d 70 28 77  69 64 65 6e 74 24 2c 71  |crtemp(wident$,q|
0000e9e0  25 29 0d 55 6e 11 ea 49  25 2c 63 25 2c 63 32 25  |%).Un..I%,c%,c2%|
0000e9f0  2c 77 24 0d 55 78 23 63  25 3d 63 75 72 62 75 66  |,w$.Ux#c%=curbuf|
0000ea00  66 25 3a 63 32 25 3d 62  75 66 66 65 72 25 2b 6d  |f%:c2%=buffer%+m|
0000ea10  61 78 62 75 66 25 0d 55  82 20 77 24 3d 77 69 64  |axbuf%.U. w$=wid|
0000ea20  65 6e 74 24 2b c4 31 32  2d a9 77 69 64 65 6e 74  |ent$+.12-.wident|
0000ea30  24 2c bd 31 33 29 0d 55  8c 46 c8 99 22 57 69 6d  |$,.13).U.F.."Wim|
0000ea40  70 5f 4c 6f 61 64 54 65  6d 70 6c 61 74 65 22 2c  |p_LoadTemplate",|
0000ea50  2c 71 25 2c 63 25 2c 63  32 25 2c 66 6f 6e 74 63  |,q%,c%,c2%,fontc|
0000ea60  6f 75 6e 74 73 25 2c 77  24 2c 30 b8 2c 2c 63 75  |ounts%,w$,0.,,cu|
0000ea70  72 62 75 66 66 25 2c 2c  2c 2c 63 25 0d 55 96 2a  |rbuff%,,,,c%.U.*|
0000ea80  e7 63 25 3d 30 8c 85 31  2c 22 57 69 6e 64 6f 77  |.c%=0..1,"Window|
0000ea90  20 64 65 66 69 6e 69 74  69 6f 6e 20 6e 6f 74 20  | definition not |
0000eaa0  66 6f 75 6e 64 22 0d 55  a0 25 e7 77 69 64 65 6e  |found".U.%.widen|
0000eab0  74 24 3d 22 69 63 6f 6e  62 61 72 22 8c 71 25 21  |t$="iconbar".q%!|
0000eac0  32 38 3d 71 25 21 32 38  80 ac 31 0d 55 aa 18 71  |28=q%!28..1.U..q|
0000ead0  25 21 36 34 3d 73 79 73  74 65 6d 73 70 72 69 74  |%!64=systemsprit|
0000eae0  65 73 25 0d 55 b4 2b e7  77 69 64 65 6e 74 24 3d  |es%.U.+.wident$=|
0000eaf0  22 73 70 72 69 74 65 6c  69 73 74 22 8c 71 25 21  |"spritelist".q%!|
0000eb00  36 34 3d 73 70 72 69 74  65 61 72 65 61 25 0d 55  |64=spritearea%.U|
0000eb10  be 36 e7 77 69 64 65 6e  74 24 3d 22 73 61 76 65  |.6.wident$="save|
0000eb20  5f 74 65 6d 70 22 84 77  69 64 65 6e 74 24 3d 22  |_temp".wident$="|
0000eb30  73 61 76 65 5f 73 70 72  69 74 65 22 8c 71 25 21  |save_sprite".q%!|
0000eb40  36 34 3d 31 0d 55 c8 42  e7 77 69 64 65 6e 74 24  |64=1.U.B.wident$|
0000eb50  3d 22 73 70 72 69 74 65  6c 69 73 74 22 8c 73 70  |="spritelist".sp|
0000eb60  72 69 74 65 66 25 3d 71  25 21 37 32 3a 73 70 66  |ritef%=q%!72:spf|
0000eb70  6c 65 6e 25 3d 71 25 21  38 30 2d 31 3a 71 25 21  |len%=q%!80-1:q%!|
0000eb80  36 38 3d 31 30 30 0d 55  d2 05 e1 0d 55 dc 04 0d  |68=100.U....U...|
0000eb90  55 e6 15 dd a4 69 63 6f  6e 61 64 64 72 28 68 25  |U....iconaddr(h%|
0000eba0  2c 69 25 29 0d 55 f0 2c  21 71 25 3d 68 25 3a 71  |,i%).U.,!q%=h%:q|
0000ebb0  25 21 34 3d 69 25 3a c8  99 22 57 69 6d 70 5f 47  |%!4=i%:.."Wimp_G|
0000ebc0  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 71 25  |etIconState",,q%|
0000ebd0  0d 55 fa 16 e7 71 25 21  32 34 80 26 31 30 30 8c  |.U...q%!24.&100.|
0000ebe0  3d 71 25 21 32 38 0d 56  04 1f 85 31 2c 22 49 63  |=q%!28.V...1,"Ic|
0000ebf0  6f 6e 20 69 73 20 6e 6f  74 20 69 6e 64 69 72 65  |on is not indire|
0000ec00  63 74 65 64 22 0d 56 0e  04 0d 56 18 1b dd a4 69  |cted".V...V....i|
0000ec10  63 6f 6e 62 61 72 28 69  63 6f 6e 62 61 72 25 2c  |conbar(iconbar%,|
0000ec20  69 63 25 29 0d 56 22 1c  69 63 6f 6e 25 3d 69 63  |ic%).V".icon%=ic|
0000ec30  6f 6e 62 61 72 25 2b 38  38 2b 33 32 2a 69 63 25  |onbar%+88+32*ic%|
0000ec40  0d 56 2c 0a 21 71 25 3d  2d 31 0d 56 36 3c 71 25  |.V,.!q%=-1.V6<q%|
0000ec50  21 34 3d 69 63 6f 6e 25  21 30 3a 71 25 21 38 3d  |!4=icon%!0:q%!8=|
0000ec60  30 3a 71 25 21 31 32 3d  69 63 6f 6e 25 21 38 3a  |0:q%!12=icon%!8:|
0000ec70  71 25 21 31 36 3d 69 63  6f 6e 25 21 31 32 2d 69  |q%!16=icon%!12-i|
0000ec80  63 6f 6e 25 21 34 0d 56  40 12 71 25 21 32 30 3d  |con%!4.V@.q%!20=|
0000ec90  69 63 6f 6e 25 21 31 36  0d 56 4a 12 71 25 21 32  |icon%!16.VJ.q%!2|
0000eca0  34 3d 69 63 6f 6e 25 21  32 30 0d 56 54 12 71 25  |4=icon%!20.VT.q%|
0000ecb0  21 32 38 3d 69 63 6f 6e  25 21 32 34 0d 56 5e 12  |!28=icon%!24.V^.|
0000ecc0  71 25 21 33 32 3d 69 63  6f 6e 25 21 32 38 0d 56  |q%!32=icon%!28.V|
0000ecd0  68 1f c8 99 22 57 69 6d  70 5f 43 72 65 61 74 65  |h..."Wimp_Create|
0000ece0  49 63 6f 6e 22 2c 2c 71  25 b8 69 63 25 0d 56 72  |Icon",,q%.ic%.Vr|
0000ecf0  08 3d 69 63 25 0d 56 7c  04 0d 56 86 19 f4 20 73  |.=ic%.V|..V... s|
0000ed00  70 6e 61 6d 65 24 3d 24  28 69 63 6f 6e 25 2b 32  |pname$=$(icon%+2|
0000ed10  30 29 0d 56 90 36 f4 20  71 25 21 32 34 3d 46 4e  |0).V.6. q%!24=FN|
0000ed20  77 6f 72 6b 73 70 61 63  65 28 4c 45 4e 73 70 6e  |workspace(LENspn|
0000ed30  61 6d 65 24 2b 31 29 3a  24 28 71 25 21 32 34 29  |ame$+1):$(q%!24)|
0000ed40  3d 73 70 6e 61 6d 65 24  0d 56 9a 1a f4 20 71 25  |=spname$.V... q%|
0000ed50  21 32 38 3d 73 79 73 74  65 6d 73 70 72 69 74 65  |!28=systemsprite|
0000ed60  73 25 0d 56 a4 18 f4 20  71 25 21 33 32 3d 4c 45  |s%.V... q%!32=LE|
0000ed70  4e 73 70 6e 61 6d 65 24  2b 31 0d 56 ae 04 0d 56  |Nspname$+1.V...V|
0000ed80  b8 52 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.R--------------|
0000ed90  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000edd0  0d 56 c2 04 0d 56 cc 10  dd f2 63 72 65 61 74 65  |.V...V....create|
0000ede0  6d 65 6e 75 0d 56 d6 25  85 31 2c 22 4e 6f 74 20  |menu.V.%.1,"Not |
0000edf0  79 65 74 20 69 6d 70 6c  65 6d 65 6e 74 65 64 20  |yet implemented |
0000ee00  2d 20 73 6f 72 72 79 21  22 0d 56 e0 05 e1 0d 56  |- sorry!".V....V|
0000ee10  ea 04 0d 56 f4 52 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |...V.R----------|
0000ee20  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000ee60  2d 2d 2d 2d 0d 56 fe 04  0d 57 08 11 dd f2 70 72  |----.V...W....pr|
0000ee70  69 6e 74 73 63 72 65 65  6e 0d 57 12 0b f2 65 6e  |intscreen.W...en|
0000ee80  73 75 72 65 0d 57 1c 33  c8 99 22 50 72 69 6e 74  |sure.W.3.."Print|
0000ee90  5f 50 61 67 65 53 69 7a  65 22 b8 2c 78 73 25 2c  |_PageSize".,xs%,|
0000eea0  79 73 25 2c 70 78 30 25  2c 70 79 30 25 2c 70 78  |ys%,px0%,py0%,px|
0000eeb0  31 25 2c 70 79 31 25 0d  57 26 46 71 25 21 26 39  |1%,py1%.W&Fq%!&9|
0000eec0  30 3d 30 3a 71 25 21 26  39 34 3d 30 3a 71 25 21  |0=0:q%!&94=0:q%!|
0000eed0  26 39 38 3d 73 63 72 78  31 25 3a 71 25 21 26 39  |&98=scrx1%:q%!&9|
0000eee0  43 3d 73 63 72 79 31 25  3a f4 20 69 6e 70 75 74  |C=scry1%:. input|
0000eef0  20 62 6f 75 6e 64 69 6e  67 20 62 6f 78 0d 57 30  | bounding box.W0|
0000ef00  06 ea 85 0d 57 3a 47 ee  85 ea 3a c8 99 22 50 72  |....W:G...:.."Pr|
0000ef10  69 6e 74 5f 41 62 6f 72  74 4a 6f 62 22 3a f2 69  |int_AbortJob":.i|
0000ef20  6e 76 61 6c 69 64 61 74  65 28 2d 31 2c 30 2c 30  |nvalidate(-1,0,0|
0000ef30  2c 73 63 72 78 31 25 2c  73 63 72 79 31 25 29 3a  |,scrx1%,scry1%):|
0000ef40  f7 85 3a 85 9f 2c f6 24  3a e1 0d 57 44 16 c8 99  |..:..,.$:..WD...|
0000ef50  22 50 72 69 6e 74 5f 53  74 61 72 74 4a 6f 62 22  |"Print_StartJob"|
0000ef60  0d 57 4e 22 ef 32 33 2c  32 35 2c 26 38 30 2c 31  |.WN".23,25,&80,1|
0000ef70  2c 26 46 30 2c 26 46 30  2c 26 46 30 2c 30 2c 30  |,&F0,&F0,&F0,0,0|
0000ef80  2c 30 0d 57 58 09 fb 31  34 2c 30 0d 57 62 4e f2  |,0.WX..14,0.WbN.|
0000ef90  6d 61 74 72 69 78 28 71  25 2b 26 41 30 2c 33 30  |matrix(q%+&A0,30|
0000efa0  30 2c 30 2c 30 2c 33 30  30 2c 28 78 73 25 2d 73  |0,0,0,300,(xs%-s|
0000efb0  63 72 78 31 25 2a 33 30  30 29 2f 32 2c 70 79 31  |crx1%*300)/2,py1|
0000efc0  25 2d 73 63 72 79 31 25  2a 33 30 30 2d 31 38 30  |%-scry1%*300-180|
0000efd0  30 30 29 3a f2 70 61 67  65 0d 57 6c 34 f4 20 50  |00):.page.Wl4. P|
0000efe0  52 4f 43 6d 61 74 72 69  78 28 71 25 2b 26 41 30  |ROCmatrix(q%+&A0|
0000eff0  2c 30 2c 2d 34 30 30 2c  34 30 30 2c 30 2c 30 2c  |,0,-400,400,0,0,|
0000f000  79 73 25 29 3a 50 52 4f  43 70 61 67 65 0d 57 76  |ys%):PROCpage.Wv|
0000f010  34 f4 20 50 52 4f 43 6d  61 74 72 69 78 28 71 25  |4. PROCmatrix(q%|
0000f020  2b 26 41 30 2c 30 2c 35  30 30 2c 2d 34 30 30 2c  |+&A0,0,500,-400,|
0000f030  30 2c 78 73 25 2c 30 29  3a 50 52 4f 43 70 61 67  |0,xs%,0):PROCpag|
0000f040  65 0d 57 80 14 c8 99 22  50 72 69 6e 74 5f 45 6e  |e.W...."Print_En|
0000f050  64 4a 6f 62 22 0d 57 8a  06 ef 37 0d 57 94 05 e1  |dJob".W...7.W...|
0000f060  0d 57 9e 04 0d 57 a8 0a  dd f2 70 61 67 65 0d 57  |.W...W....page.W|
0000f070  b2 33 c8 99 22 50 72 69  6e 74 5f 44 72 61 77 50  |.3.."Print_DrawP|
0000f080  61 67 65 22 2c 2c 71 25  2b 26 38 30 2c 71 25 2b  |age",,q%+&80,q%+|
0000f090  26 39 30 2c 71 25 2b 26  41 30 b8 70 6d 6f 72 65  |&90,q%+&A0.pmore|
0000f0a0  25 0d 57 bc 0c c8 95 70  6d 6f 72 65 25 0d 57 c6  |%.W....pmore%.W.|
0000f0b0  2f f2 69 6e 76 61 6c 69  64 61 74 65 28 2d 31 2c  |/.invalidate(-1,|
0000f0c0  71 25 21 26 38 30 2c 71  25 21 26 38 34 2c 71 25  |q%!&80,q%!&84,q%|
0000f0d0  21 26 38 38 2c 71 25 21  26 38 43 29 0d 57 d0 2d  |!&88,q%!&8C).W.-|
0000f0e0  f4 20 20 20 20 50 52 4f  43 69 6e 76 61 6c 69 64  |.    PROCinvalid|
0000f0f0  61 74 65 28 2d 31 2c 30  2c 30 2c 73 63 72 78 31  |ate(-1,0,0,scrx1|
0000f100  25 2c 73 63 72 79 31 25  29 0d 57 da 0b f2 65 6e  |%,scry1%).W...en|
0000f110  73 75 72 65 0d 57 e4 2a  c8 99 22 50 72 69 6e 74  |sure.W.*.."Print|
0000f120  5f 4e 65 78 74 52 65 63  74 61 6e 67 6c 65 22 2c  |_NextRectangle",|
0000f130  2c 71 25 2b 26 38 30 b8  70 6d 6f 72 65 25 0d 57  |,q%+&80.pmore%.W|
0000f140  ee 05 ce 0d 57 f8 05 e1  0d 58 02 04 0d 58 0c 1c  |....W....X...X..|
0000f150  dd f2 6d 61 74 72 69 78  28 71 25 2c 61 2c 62 2c  |..matrix(q%,a,b,|
0000f160  63 2c 64 2c 65 2c 66 29  0d 58 16 30 71 25 21 30  |c,d,e,f).X.0q%!0|
0000f170  3d 61 3a 71 25 21 34 3d  62 3a 71 25 21 38 3d 63  |=a:q%!4=b:q%!8=c|
0000f180  3a 71 25 21 31 32 3d 64  3a 71 25 21 31 36 3d 65  |:q%!12=d:q%!16=e|
0000f190  3a 71 25 21 32 30 3d 66  0d 58 20 05 e1 0d 58 2a  |:q%!20=f.X ...X*|
0000f1a0  04 0d 58 34 24 dd f2 69  6e 76 61 6c 69 64 61 74  |..X4$..invalidat|
0000f1b0  65 28 68 25 2c 78 30 25  2c 79 30 25 2c 78 31 25  |e(h%,x0%,y0%,x1%|
0000f1c0  2c 79 31 25 29 0d 58 3e  2b c8 99 22 57 69 6d 70  |,y1%).X>+.."Wimp|
0000f1d0  5f 46 6f 72 63 65 52 65  64 72 61 77 22 2c 68 25  |_ForceRedraw",h%|
0000f1e0  2c 78 30 25 2c 79 30 25  2c 78 31 25 2c 79 31 25  |,x0%,y0%,x1%,y1%|
0000f1f0  0d 58 48 05 e1 0d 58 52  04 0d 58 5c 0c dd f2 65  |.XH...XR..X\...e|
0000f200  6e 73 75 72 65 0d 58 66  20 f5 c8 99 22 57 69 6d  |nsure.Xf ..."Wim|
0000f210  70 5f 50 6f 6c 6c 22 2c  ac 33 2c 71 25 b8 61 63  |p_Poll",.3,q%.ac|
0000f220  74 69 6f 6e 25 0d 58 70  1b e7 61 63 74 69 6f 6e  |tion%.Xp..action|
0000f230  25 3d 31 8c f2 72 65 64  72 61 77 28 21 71 25 29  |%=1..redraw(!q%)|
0000f240  0d 58 7a 0e fd 61 63 74  69 6f 6e 25 3d 30 0d 58  |.Xz..action%=0.X|
0000f250  84 05 e1 0d 58 8e 04 0d  58 98 52 2d 2d 2d 2d 2d  |....X...X.R-----|
0000f260  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000f2a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 0d 58 a2 04 0d 58 ac  |---------.X...X.|
0000f2b0  11 dd f2 73 6f 72 74 77  69 6e 64 6f 77 73 0d 58  |...sortwindows.X|
0000f2c0  b6 1d e3 49 25 3d 30 b8  4a 25 2d 31 3a 77 66 6c  |...I%=0.J%-1:wfl|
0000f2d0  61 67 25 28 49 25 29 3d  30 3a ed 0d 58 c0 0e e3  |ag%(I%)=0:..X...|
0000f2e0  49 25 3d 30 b8 4a 25 2d  31 0d 58 ca 12 e7 77 66  |I%=0.J%-1.X...wf|
0000f2f0  6c 61 67 25 28 49 25 29  3d 30 8c 0d 58 d4 09 4b  |lag%(I%)=0..X..K|
0000f300  25 3d 49 25 0d 58 de 10  77 66 6c 61 67 25 28 4b  |%=I%.X..wflag%(K|
0000f310  25 29 3d 31 0d 58 e8 1a  21 71 25 3d 68 61 6e 64  |%)=1.X..!q%=hand|
0000f320  6c 65 25 28 77 70 74 72  25 28 4b 25 29 29 0d 58  |le%(wptr%(K%)).X|
0000f330  f2 05 f5 0d 58 fc 1f c8  99 22 57 69 6d 70 5f 47  |....X...."Wimp_G|
0000f340  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
0000f350  71 25 0d 59 06 0e e7 71  25 21 32 38 3d 2d 31 8c  |q%.Y...q%!28=-1.|
0000f360  0d 59 10 11 77 6c 69 6e  6b 25 28 4b 25 29 3d 2d  |.Y..wlink%(K%)=-|
0000f370  31 0d 59 1a 05 cc 0d 59  24 26 4c 25 3d a4 77 68  |1.Y....Y$&L%=.wh|
0000f380  69 63 68 77 70 74 72 28  a4 77 68 69 63 68 77 69  |ichwptr(.whichwi|
0000f390  6e 64 6f 77 28 71 25 21  32 38 29 29 0d 59 2e 0b  |ndow(q%!28)).Y..|
0000f3a0  e7 4c 25 3e 3d 30 8c 0d  59 38 11 77 6c 69 6e 6b  |.L%>=0..Y8.wlink|
0000f3b0  25 28 4b 25 29 3d 4c 25  0d 59 42 1e e7 77 66 6c  |%(K%)=L%.YB..wfl|
0000f3c0  61 67 25 28 4c 25 29 8c  71 25 21 32 38 3d 2d 31  |ag%(L%).q%!28=-1|
0000f3d0  8b 4b 25 3d 4c 25 0d 59  4c 10 77 66 6c 61 67 25  |.K%=L%.YL.wflag%|
0000f3e0  28 4c 25 29 3d 32 0d 59  56 05 cd 0d 59 60 05 cd  |(L%)=2.YV...Y`..|
0000f3f0  0d 59 6a 0d 21 71 25 3d  71 25 21 32 38 0d 59 74  |.Yj.!q%=q%!28.Yt|
0000f400  0d fd 71 25 21 32 38 3d  2d 31 0d 59 7e 05 cd 0d  |..q%!28=-1.Y~...|
0000f410  59 88 07 ed 49 25 0d 59  92 33 4b 25 3d 4a 25 3a  |Y...I%.Y.3K%=J%:|
0000f420  f5 4b 25 2d 3d 31 3a fd  77 66 6c 61 67 25 28 4b  |.K%-=1:.wflag%(K|
0000f430  25 29 3d 31 3a f4 20 66  69 6e 64 20 68 65 61 64  |%)=1:. find head|
0000f440  20 6f 66 20 63 68 61 69  6e 0d 59 9c 0e e3 49 25  | of chain.Y...I%|
0000f450  3d 30 b8 4a 25 2d 31 0d  59 a6 42 e7 4b 25 3c 30  |=0.J%-1.Y.B.K%<0|
0000f460  8c 85 31 2c 22 4f 6e 6c  79 20 6d 61 6e 61 67 65  |..1,"Only manage|
0000f470  64 20 74 6f 20 66 69 6e  64 20 22 2b c3 49 25 2b  |d to find "+.I%+|
0000f480  22 20 6f 75 74 20 6f 66  20 22 2b c3 4a 25 2b 22  |" out of "+.J%+"|
0000f490  20 77 69 6e 64 6f 77 73  22 0d 59 b0 26 77 66 6c  | windows".Y.&wfl|
0000f4a0  61 67 25 28 49 25 29 3d  77 70 74 72 25 28 4b 25  |ag%(I%)=wptr%(K%|
0000f4b0  29 3a 4b 25 3d 77 6c 69  6e 6b 25 28 4b 25 29 0d  |):K%=wlink%(K%).|
0000f4c0  59 ba 05 ed 0d 59 c4 25  e3 49 25 3d 30 b8 4a 25  |Y....Y.%.I%=0.J%|
0000f4d0  2d 31 3a 77 70 74 72 25  28 49 25 29 3d 77 66 6c  |-1:wptr%(I%)=wfl|
0000f4e0  61 67 25 28 49 25 29 3a  ed 0d 59 ce 05 e1 0d 59  |ag%(I%):..Y....Y|
0000f4f0  d8 04 0d 59 e2 13 dd a4  77 68 69 63 68 77 70 74  |...Y....whichwpt|
0000f500  72 28 4b 25 29 0d 59 ec  0d e7 4b 25 3c 30 8c 3d  |r(K%).Y...K%<0.=|
0000f510  2d 31 0d 59 f6 07 ea 4c  25 0d 5a 00 20 e3 4c 25  |-1.Y...L%.Z. .L%|
0000f520  3d 30 b8 4a 25 2d 31 3a  e7 77 70 74 72 25 28 4c  |=0.J%-1:.wptr%(L|
0000f530  25 29 3d 4b 25 8c 3d 4c  25 0d 5a 0a 05 ed 0d 5a  |%)=K%.=L%.Z....Z|
0000f540  14 07 3d                                          |..=|
0000f543