Home » Archimedes archive » Archimedes World » AW-1993-03.adf » AWMar93 » !AWMar93/Goodies/Diary/!Diary/93
!AWMar93/Goodies/Diary/!Diary/93
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 » Archimedes World » AW-1993-03.adf » AWMar93 |
| Filename: | !AWMar93/Goodies/Diary/!Diary/93 |
| Read OK: | ✔ |
| File size: | 9A08 bytes |
| Load address: | 0000 |
| Exec address: | 0000 |
File contents
on � % 1 i
'$(i_flags%+28+12+24
14)="Fg colour"
�'$
i_flags%+28+12+24*15
="Bg colour"
�4�fla
s%�&02�$(i_flags%+28
12+24*14)="EOR colou
"
�4�flags%�&20�$(i
flags%+28+12+24*15)=
EOR colour"
��flag
%�&40�
�i_flags%?(
8+11+24*14)=7
�i_f
ags%?(28+11+24*15)=7
�+�shade(i_flags%,1
):�shade(i_flags%,15
��
�5i_flags%?(2
+11+24*14)=�foreback
(flags%>>24)�&F)
�5
_flags%?(28+11+24*15
=�foreback((flags%>>
8)�&F)
��
!�enco
emenu(i_esg%)
!�i_
sg%
!"�tick(i_esg%,
flags%>>16)�&0F)
!
i_button%
!*%�tick(i
button%,(flags%>>12)
&0F)
!4�w_general%
>$�currentwindow%=-1
=�:� deleted!
!H'$mb
wident%=wident$(curr
ntwindow%)
!R�getcu
i
!\7�flags%�&800000
currenticon%=-1:� ha
been deleted!
!f�c
rrenticon%<>-1�
!p?$
w_general%!(28+24*1+
2)+�"Amend icon ")="
"+�currenticon%
!zA$
w_general%!(28+24*2+
2)+�"Renumber ")="
"+û$mb_renumber%
!�
�encodemenu(i_flags%
!��encodemenu(i_bu
ton%)
!�1�$(w_genera
%!(28+24*1+12)+�"Ame
d icon ")=""
!�0$(w_
eneral%!(28+24*2+12)
�"Renumber ")=""
!
#�I%=1�4:�shade(w_ge
eral%,I%):�
!��
!�
encodemenu(w_flags%)
!�($mb_workarea0%=�(
%!44)+","+�(q%!48)
!
($mb_workarea1%=�(q%
52)+","+�(q%!56)
!�
mb_minx%=�(q%!72�&FF
F)
!�$mb_miny%=�(q%
72>>16)
!�(mwx0%=q%!
0:mwy0%=q%!24+(q%!8-
%!16)
!�(mwx1%=q%!20
(q%!12-q%!4):mwy1%=q
!24
"�encodepalmen
(-1)
"I%=w_colours
+28
":�J%=q%+36�q%+
2:I%?11=(?J%<<4)�unc
lour%(?J%):I%+=24:�
$
�w_flags%
".!q%=h
ndle%(currentwindow%
"8ș"Wimp_GetWindo
Info",,q%
"B�I%=0�7
"L%�q%!32�(1<<I%)��t
ck(w_flags%,I%)
"V�
"`#�q%!32�(3<<8)��ti
k(w_flags%,8)
"j3�q%
32�(1<<10)��tick(w_f
ags%,9):� real colou
s
"t3�q%!32�(1<<11)�
tick(w_flags%,10):�
ack window
"~1�q%!32
(1<<12)��tick(w_flag
%,11):� grab keys
"�
�encodemenu(t_flags%
"��currenticon%=-1
"�'flags%=q%!64:�en
odemenu(i_button%)
"
��shade(w_flags%,12
"��
"�
�I%=14�20
"
-�q%!32�(1<<(I%+24-1
))��tick(w_flags%,I%
"��
"��q%!32�&800
0000�
"��tick(w_fla
s%,13)
"��shade(w_f
ags%,0)
"��shade(w_
lags%,2)
# �shade(w
flags%,3)
#
�shade(
_flags%,7)
#�
##�
%=14�20:�shade(w_fla
s%,I%):�
#(�
#2
�t_
lags%
#<0q%!60=q%!60
&24:� must be filled
with border
#F;�enco
eicon(t_flags%,6,q%!
0,q%+76,tb_text%,tb_
prite%)
#P$tb_buffe
size%=�L%
#Z!�q%!60�
100��tick(t_flags%,7
#d!�q%!60�&200��tic
(t_flags%,8)
#n�w_s
roll%
#x�getcurw
#�
�flags%�&100��tick(w
scroll%,0)
#�#�flags
�&200��tick(w_scroll
,1)
#��m_sprite%
#�
s$=spriten$(currents
rite%)
#�?�undoname$
>s$�undoscreen%<>edi
buffer%��shade(m_spr
te%,0)
#�$�getsprite
y(currentsprite%,0,0
#�%�sprcolour%=16��
ick(m_sprite%,2)
#�
hasmask%�
#��shade(
_sprite%,3)
#���sha
e(m_sprite%,2)
#��s
ade(m_sprite%,4)
#�
#�c%=currentsprite
$1$sprbuff%=�sprxs
ale%(c%)+"x"+�sprysc
le%(c%)
$�encodepa
menu(sprcolour%)
$
m_spritelist%
$"*$mb
crsprite%="":$mb_spr
tef%=spritef$
$,ifl
gs%=&400000
$6%�icon
<>-1��geti(handle%,i
on%�1)
$@�iflags%�&
00000�
$J�shade(m_s
ritelist%,3)
$T�sha
e(m_spritelist%,4)
$
�
$h-renamesprite$=
iconstring(iflags%,i
ata%)
$r$mb_rnsprit
%=renamesprite$
$|�
$�5ș"Wimp_WhichIcon
,spritelist%,q%,&200
01,&200001
$�#�!q%=-
��shade(m_spritelist
,2)
$�+�!q%=-1�q%!4=
1��shade(m_spritelis
%,1)
$��
$�=�
$�
���shade(mh%,I%)
$�
mh%!(28+8+24*I%)=mh%
(28+8+24*I%)�&400000
�
$�
$���tick(mh%,
%)
$�'mh%!(28+24*I%)
mh%!(28+24*I%)�&01:�
$�
$���select(h%,i
)
%G!q%=h%:q%!4=i%:
%!8=&200000:q%!12=&2
0000:ș"Wimp_SetIcon
tate",,q%
%�
%
%
��deselect(h%,i%)
%
A!q%=h%:q%!4=i%:q%!8
0:q%!12=&200000:ș"W
mp_SetIconState",,q%
%:�
%D
%N<��encode
con(iconmenu%,nmenu%
flags%,q%,itext%,isp
ite%)
%X"�i_font%<0�
shade(iconmenu%,6)
%
$itext%="":$isprite
=""
%l.�flags%�&01�$
text%=�iconstring(fl
gs%,q%)
%v6�(flags%�
03)=&02�$isprite%=�i
onstring(flags%,q%)
�3�flags%�&100�L%=q%
8�L%=12:� returned t
caller
%�I%=iconme
u%+28:J%=1
%�*�item%
0�nmenu%:�flags%�J%�
I%=!I%�&01
%�I%+=24
J%+=J%:�
%��
%�
%�
��decodemenu(menuhan
le%,menus%)
%�Ȏmen
handle%�
%��mainmen
%
%�Ȏ!menus%�
%��
:� info box
%��1:�g
tpointer
%��checkid
nt($mb_wident%,"")
&
5�createwindow(mouse
%-100,mousey%+16,$mb
wident%)
&6� WH
N 1:PROCspriteinfo:P
OCfront(spritelist%)
&B� WHEN 2:PROC
ncodepal(0,15):PROCf
ont(palette%):PROCht
al
& %�2:�loadtempla
es($mb_templates%)
&
!�3:�checkfull($mb_t
mplates%)
&4$�savete
plates($mb_templates
,�)
&>�4:�finish:�
H�
&R�w_general%
&
Ȏ!menus%�
&f�0:�g
tcurw
&p%mx%=mmousex
-bx%:my%=mmousey%-by
&zix%=default%!96-
efault%!88
&� iy%=de
ault%!100-default%!9
&�?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%!(2
+I%)=default%!(104+I
):�
&�(ș"Wimp_Creat
Icon",,q%�currentico
%
&�2ș"Wimp_ForceRe
raw",!q%,q%!4,q%!8,q
!12,q%!16
&��1:�get
uri
&��deleteicon(!
%,q%!4)
&�X�decodeic
n(menus%+4,q%+24,q%+
8,ib_text%,ib_sprite
,ib_buffersize%,$ib_
alidation%)
&�Lcurre
ticon%=�cricon(!q%,q
!8,q%!12,q%!16,q%!20
q%!24,q%!28,q%!32,q%
36)
&��2:renumber%=
$mb_renumber%
&�4�re
umber(currentwindow%
currenticon%,renumbe
%)
&�0�renumber%<999
�$mb_renumber%=�(ren
mber%+1)
&��3:�getc
ri
'�flags%�&100�
+B%=�workspace(q%!3
):$B%=text$:q%!28=B%
'=�q%!32>0�B%=�work
pace(�$(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:c
pyx%=x1%-x0%:copyy%=
'`�2:copyx%=0:copy
%=y1%-y0%
'j�3:copy
%=0:copyy%=y0%-y1%
'
�
'~3x0%+=copyx%:y0
+=copyy%:x1%+=copyx%
y1%+=copyy%
'�Ecurre
ticon%=�cricon(!q%,x
%,y0%,x1%,y1%,q%!24,
%!28,q%!32,q%!36)
'�
�4:h%=handle%(curren
window%)
'��geti(h%
currenticon%)
'�8old
%=iflags%:o0%=idata%
0:o1%=idata%!4:o2%=i
ata%!8
'� �deleteico
(h%,currenticon%)
'�
Ȏmenus%!4�
'��0:ix
%-=dx%:ix1%-=dx%
'�
1:ix0%+=dx%:ix1%+=dx
'��2:iy0%+=dy%:iy1
+=dy%
'��3:iy0%-=dy
:iy1%-=dy%
'��
'�Bc
rrenticon%=�cricon(h
,ix0%,iy0%,ix1%,iy1%
oldf%,o0%,o1%,o2%)
(
8�5:�deleteicon(hand
e%(currentwindow%),c
rrenticon%)
(
%�6:�d
codemenu(w_flags%,me
us%+4)
("�7:�menus%
4<>-1�menus%!8<>-1�
!q%=handle%(curren
window%)
((ș"Wimp_
etWindowInfo",,q%
(2
q%?(36+menus%!4)=men
s%!8
(<curw%=curren
window%
(F"�crwindow
q%+4,wident$(curw%))
(P�deletewindow(cur
%)
(Z�
(d#�8:�setwo
karea(currentwindow%
(n7�9:�checkident($
b_wident%,wident$(cu
rentwindow%))
(x'wid
nt$(currentwindow%)=
mb_wident%
(�7�10:�d
letewindow(currentwi
dow%):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
)�
:q%!32=q%!32��&300
)
Ȏmenus%!4�
),�0:q
!32=q%!32�&100
)6�1
q%!32=q%!32�&200
)@Barry's Birthday
2=q%
32�&400
)^�10:q%!32
q%!32�&800
)h�11:q%
32=q%!32�&1000
)r*�1
:�menus%!4<>-1�q%!64
(menus%!4)<<12
)|�1
:q%!32=q%!32�&800000
0
)�4�14,15,17,18,19
20:q%!32=q%!32�(1<<(
0+!menus%))
)��16:�
ecodetitle(1<<26)
)�
�
)�curw%=currentwi
dow%
)�"�crwindow(q%
4,wident$(curw%))
)�
�deletewindow(curw%)
)��m_sprite%
)�Ȏ!
enus%�
)��0:�undo(c
rrentsprite%)
)��1:
menus%!4<>-1�
)�spr
olour%=menus%!4
)�)�
nhtpal:palcolour%=sp
colour%:�htpal
)��
�2:sprcolour%=16
*
@�3:ș"OS_SpriteOp",
11D,spritearea%,spri
en$(currentsprite%)
!�updatesprite(curr
ntsprite%)
*&@�4:ș"
S_SpriteOp",&11E,spr
tearea%,spriten$(cur
entsprite%)
*0!�upda
esprite(currentsprit
%)
*:;�5,6,7,8:�adju
tsize(currentsprite%
!menus%-5,menus%!4)
D�9:�flipx(currents
rite%)
*N�10:�flipy
currentsprite%)
*X�
*b�m_spritelist%
*l
Ȏ!menus%�
*v�0:�$m
_crsprite%<>""�
*�9�
"XOS_SpriteOp",&128,
pritearea%,mb_crspri
e%�R0%;f%
*�(�(f%�1)
0��1,"Sprite already
exists"
*�;ș"OS_Spr
teOp",&10F,spriteare
%,mb_crsprite%,0,16,
,12
*��spriteinfo
*
�
*��1:
*�m%=menu
%!4:�m%<0�m%=0
*�9ș
Wimp_WhichIcon",spri
elist%,q%+&80,&20000
,&200001
*�A�geti(sp
itelist%,q%!&80):mas
er$=�iconstring(ifla
s%,idata%)
*��7
*�
%=q%+&84:ȕ!I%<>-1
*
<�geti(spritelist%,!
%):text$=�iconstring
iflags%,idata%)
*�5�
"OS_SpriteOp",&123,s
ritearea%,master$,te
t$,m%
+I%+=4:�
+
7
+�spriteinfo
+
2:�getpointer
+*2�di
logue(dial_delete%,m
usex%-100,mousey%+20
+4%�3:�$mb_rnsprite
<>renamesprite$�
+>?
�"OS_SpriteOp",&11B,
pritearea%,renamespr
te$,mb_rnsprite%
+H
spriteinfo
+R�
+\%�
:�$mb_rnsprite%<>ren
mesprite$�
+f?ș"OS_
priteOp",&11A,sprite
rea%,renamesprite$,m
_rnsprite%
+p�sprit
info
+z�
+�-�5:�loa
sprites($mb_spritef%
:�spriteinfo
+�$�6:�
PROCcheckfull($mb_sp
itef%)
+�(� PROCsave
prites($mb_spritef%,
RUE)
+�.�7:�mergespr
tes($mb_spritef%):�s
riteinfo
+��
+��
+
�
+�
+�"��loadspri
es(f$)� LOCAL I%,f$
�'ș"OS_SpriteOp",&1
A,spritearea%,f$
+�#
f$<>"<Wimp$Scrap>"�s
ritef$=f$
+��redraw
indows
+��
,
,�
savesprites(f$,safe%
,'ș"OS_SpriteOp",
10C,spritearea%,f$
,
�safe%��
,.spritef
=f$
,8#�$spritef%<>�
pfname(spritef$)�
,B
$spritef%=�spfname(s
ritef$)
,L,!q%=sprit
list%:ș"Wimp_CloseW
ndow",,q%
,V�front(
pritelist%)
,`�
,j
,t
,~��mergesprit
s(f$)
,�'ș"OS_Sprit
Op",&10B,spritearea%
f$
,��redrawwindows
,��
,�
,���redraw
indows
,��I%
,�
�I%
0�nh%
,�G�handle%(I%
>nh%�ș"Wimp_ForceRe
raw",handle%(I%),-1E
,-1E8,1E8,1E8
,��
,
�
,�
,�ݤfiletype
f$)
-
�f%,type%
-
�"OS_File",17,f$�typ
%,,f%
-�type%<>1�=
2
-&�(f%>>>20)=&FFF
=(f%>>>8)�&FFF�=-1
-
-2��decodetitle(b
t%)
-<Ȏmenus%!4�
-
�-1:q%!32=q%!32�bit
-P:q%!32=q%!32�bi
%
-Z�
-d<�menus%!4=
�menus%!4=9:� bodge
or 'right-justified'
bit
-n7�menus%!4=7�m
nus%!4=8:� bodge for
'indirected' bit
-xK
decodeicon(menus%+4,
%+60,q%+76,tb_text%,
b_sprite%,tb_buffers
ze%,"")
-��
-�
-�
�setxy(�x%,�y%,a$,se
$)
-�x%=�a$:y%=��a$
�a$,sep$)+1)
-��
-�
-���setwork(q%,v%)
-�"!q%=�$v%:q%!4=�$(
%+�$v%,","))
-��
-�
-���setworkarea(cu
w%)
-��h%
-�h%=han
le%(curw%)
.�setwo
k(q%,mb_workarea0%)
�setwork(q%+8,mb_w
rkarea1%)
.ș"Wimp
SetExtent",h%,q%
.",
in%=(�$mb_minx%�&FFF
)�(�$mb_miny%<<16)
.
%!q%=h%:ș"Wimp_GetW
ndowInfo",,q%
.6�q%
72<>min%�
.@9q%!72=m
n%:ș"Wimp_CreateWin
ow",,q%+4�handle%(cu
w%)
.J.!q%=handle%(c
rw%):ș"Wimp_OpenWin
ow",,q%
.T$!q%=h%:ș
Wimp_DeleteWindow",,
%
.^�
.h�
.r
.|�
godeletesprites
.�?I
=q%+&40:ș"Wimp_Whic
Icon",spritelist%,I%
&200001,&200001
.�!
%=spritelist%
.�
ȕ!
%<>-1
.�&q%!4=!I%:ș
Wimp_GetIconState",,
%
.�*ș"OS_SpriteOp"
&119,spritearea%,q%+
8
.�I%+=4:�
.��spr
teinfo
.��
.�
.�J�
decodeicon(menus%,fp
r%,qptr%,mb_text%,mb
sprite%,mb_buffersiz
%,v$)
.�Ȏ!menus%�
��0:oldf%=!fptr%
.�
Ȏmenus%!4�
/�-1:!
ptr%=!fptr%�&01
/9�
IF!fptr%A
D&01THEN!fptr%=!fptr
ANDNOT&02
/:!fptr
=!fptr%�&01
/&%�(old
%�&01)=0�!fptr%=!fpt
%��&02
/0�
/:/�puti
onstring(oldf%,fptr%
qptr%,$mb_text%)
/D
1:oldf%=!fptr%
/NȎ
enus%!4�
/X�-1:!fpt
%=!fptr%�&02
/b9�
IF!fptr%AND&
2THEN!fptr%=!fptr%AN
NOT&01
/l:!fptr%=(
fptr%��&03)�&02
/v�
/�+�!fptr%�&01�A$=$m
_text%�A$=$mb_sprite
/�(�puticonstring(o
df%,fptr%,qptr%,A$)
��2:!fptr%=!fptr%�&
4
/��3:!fptr%=!fptr
�&08
/��4:!fptr%=!f
tr%�&10
/��5:!fptr%
!fptr%�&20
/�C�6:ș"
imp_DecodeMenu",,i_f
nt%,menus%+4,�100,"
)�,,,fontname$
/�0�m
nus%!4<>-1�menus%!8=
�fontname$+=" point"
/��fontname$=""�
/�
!fptr%=!fptr%��&40
/
fptr%?3=&D7
/��!fp
r%=!fptr%�&40
/���f
ntname$,5)="point"�
I%=�fontname$
0"�
%=I%-1:��fontname$,I
,1)="."
0psiz%=��f
ntname$,I%+1)
0 fon
name$=�fontname$,I%-
)
0*
�psiz%=12
04�
>&fptr%?3=�findfont(
ontname$,psiz%)
0H�
0R�7:!fptr%=!fptr%�
80
0\(�8:�!fptr%�&10
�B$=$!qptr%�B$=$qptr
0f6�menus%!4=-1�!fp
r%=!fptr%�&100�!fptr
=!fptr%�&100
0p�!fp
r%�&100�
0zqptr%!8=
$mb_buffersize%
0�5!
ptr%=�workspace(qptr
!8):$!qptr%=�B$,qptr
!8-1)
0��v$=""�
0�
ptr%!4=-1
0���(!fpt
%�&03)=&02�
0�qptr%
4=spritearea%
0�,�qp
r%!4=�workspace(�v$+
):$(qptr%!4)=v$
0��
0��
0��$qptr%=�B$,
1)
0��
0��(!fptr%�
103)=&102�
0�!�qptr%
4>1�!fptr%=!fptr%��&
2
0��
1�9:!fptr%=
fptr%�&200
1�10:!f
tr%=!fptr%�&400
1�
1:!fptr%=!fptr%�&800
1$+�12:!fptr%=�field
!fptr%,12,4,menus%!4
1.+�13:!fptr%=�fiel
(!fptr%,16,5,menus%!
)
18+�14:!fptr%=�fie
d(!fptr%,24,4,menus%
4)
1B+�15:!fptr%=�fi
ld(!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~
�)��puticonstring(ol
f%,fptr%,qptr%,A$)
1
�oldf%�&100�
1�1�(!
ptr%�&03)=&02�qptr%!
=-1:� no sprite area
1��A$<qptr%!8�
1�#
!qptr%=A$:!fptr%=!fp
r%�&100:�
1��
1�
��
A$<12�
1�#$qptr%=A$:
fptr%=!fptr%��&100:�
1��
1��
1�!fptr%=
fptr%�&100
1�*!qptr%
�workspace(�A$+1):qp
r%!8=�A$+1
2 $!qptr
=A$
2
C�(oldf%�&100)
0�qptr%!4=-1:� keep
ld validation string
if any
2�
2
2(R
--------------------
--------------------
--------------------
--------------
22
2
!��renumber(curw%,cu
i%,newi%)
2F
�M%,N%
P!q%=handle%(curw%)
2Zș"Wimp_GetWindow
nfo",,q%
2d/�q%!88<=
ewi%��1,"Icon number
out of range"
2nM%=
%+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+
2*(I%-1)+16)�(1<<23)
I%-=1:q%!88=I%�I%=0
��
2�"�crwindow(q%+
,wident$(curw%))
2�
deletewindow(curw%)
��
2�
2�R---------
--------------------
-----------------------------------------------
2�
2���dialogue(handle%,mx%,my%)
2��getw(handle%)
39�open(handle%,mx%,my%
y0%-y1%,mx%+x1%-x0%,
y%,0,0,-1)
37ș"Wim
_SetCaretPosition",h
ndle%,-1,0,0,&300000
,0
3�getw(handle%)
3""ȗȓx0%,y0%,x1%-x
%,y1%-y0%+40
3,dial
gue%=handle%
36�
3@
3JR----------------
--------------------
--------------------
-------------------
T
3^��standardwind
w(brx%,bry%)
3h*�I%=
�84�4:q%!I%=default%
I%:�:q%!84=0
3rq%!6
=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%!
=q%!12+I%
3��
3�
3
L!q%=brx%:q%!4=bry%-
00:q%!8=brx%+200:q%!
2=bry%:q%!16=0:q%!20
0:q%!24=-1
3�
q%!28=
1F
3�7q%?32=`tfcol:q
?33=`tbcol:q%?34=`wf
ol:q%?35=`wbcol
3�.q
?36=4:q%?37=`tbcol:q
?38=`tbcol2:q%?39=0
�*q%!40=0:q%!44=-102
:q%!48=1280:q%!52=0
�#q%!56=&0000003D:q%
60=&00003000
3�q%!6
=spritearea%:q%!68=0
3�$(q%+72)="<Untitl
d>"
3�q%!84=0
3��
4%��createwindow
brx%,bry%,wident$)
4
�standardwindow(brx
,bry%)
4&�crwindow(
%,wident$)
40�
4:
D��crwindow(q%,wide
t$)
4N%ș"Wimp_Creat
Window",,q%�handle%
XAm%=handleSP%:handl
SP%=handle%(handleSP
):handle%(m%)=handle
4b!q%=handle%
4l�
"Wimp_GetWindowState
,,q%
4vș"Wimp_Open
indow",,q%
4�)curren
window%=m%:wident$(m
)=wident$
4�current
con%=-1
4��highligh
(m%)
4��
4�
4�ݤw
ichwindow(handle%)
4
�I%
4��handle%=-1�
-1
4�handle%(nh%+1)
handle%
4�%I%=-1:�I%
=1:�handle%(I%)=hand
e%
4��I%>nh%�=-1�=I
4�
4�ݤwhichsprit
(handle%)
5�handle
=-1�=-1
5spritew%(
s%+1)=handle%
5&I%=
1:�I%+=1:�spritew%(I
)=handle%
5 �I%>ns%
=-1�=I%
5*
54��del
tewindow(I%)
5>!q%=
andle%(I%)
5H&handle
(I%)=handleSP%:handl
SP%=I%
5Rș"Wimp_De
eteWindow",,q%
5\wi
ent$(I%)=""
5f�
5p
5z��deletesprite(I%
5�0�((paint_drag%>>
6)�&7FFF)=I%�paint_d
ag%=-1
5��i%
5��sp
SP2%=I%�
5�sprSP2%=
sprite%(I%)
5�.�i%=s
rSP2%:�i1%=i%:i%=nsp
ite%(i%):�i%=I%
5�n
prite%(i1%)=nsprite%
i%)
5��
5�/�seti(sp
itelist%,spritei%(I%
�1,0,&600000)
5�!q%
spritew%(I%)
5�!spri
ew%(I%)=sprSP%:sprSP
=I%
5�ș"Wimp_Delet
Window",,q%
5��
5�
6
��getcurw
6!q%=
andle%(currentwindow
)
6ș"Wimp_GetWind
wState",,q%
6$�info
q%+4)
6.�
68
6B
��
etcuri
6L!q%=handle
(currentwindow%)
6V
%!4=currenticon%
6`
�"Wimp_GetIconState"
,q%
6j.cx0%=q%!8:cy0
=q%!12:cx1%=q%!16:cy
%=q%!20
6tflags%=q%
24
6~.�flags%�&100�t
xt$=$(q%!28)�text$=$
q%+28)
6�D�(flags%�&
03)=&103�sprite$=�ge
command(q%!32,"S")�s
rite$=text$
6��
6�
6�ݤgetcommand(v%,c
)
6��v%<=0�=""
6��
%
6�!I%=�";"+$v%,";"
c$):�I%=0�=""
6�$=�$
v%+I%),�$(v%+I%)+";"
";")-1)
6�
6�
c$=�$
6�
6�ݤiconstring
flg%,p%)
7
�i%,i$
7
8�flg%�&100�i$=$!p%�
%=p%?12:p%?12=13:i$=
p%:p%?12=i%
7=i$
7
7(��getpointer
72
ș"Wimp_GetPointerIn
o",,q%
7<*mousex%=!q
:mousey%=q%!4:button
%=q%!8
7Fhandle%=q%
12:icon%=q%!16
7P�
Z
7dR--------------
--------------------
--------------------
--------------------
7n
7x��errorbox(e
r%,err$,erl%)
7��ed
toff("")
7�!Err%=err
:Err$=err$:Erl%=erl%
7�/�inerror%��-1��er
ordisplay(err%,err$,
rl%)
7�inerror%=�
7
.ș"Wimp_DragBox",,-
:dragtype%=0:pdrag%=
1
7�$�dialogue%<>-1�
close(dialogue%)
7�
version%>120�
7��er
buf%255
7�6!errbuf%=
rr%:$(errbuf%+4)=err
:?(errbuf%+4+��$)=0
�+ș"Wimp_ReportErro
",errbuf%,1,"FormEd"
7���4:�err$;
7��er
%<>0��" at line ";er
%
7��
8-ș"Wimp_F
rceRedraw",-1,-1E8,-
E8,1E8,1E8
8�
8i
error%=�
8"�
8,
86
� /// old errorbox h
ndling ///
8@�I%=1�
8J3!q%=errorbox%:q%
4=I%:ș"Wimp_GetIcon
tate",,q%
8Terrorad
r%(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 b
g":�
8��J%>0�w$=" "
w$
8�#$(erroraddr%(I
)+J%)=w$:J%+=�w$
8�
w$=""�w$=" "
8� �dia
ogue(errorbox%,300,6
0)
8��
8�
8�"��err
rdisplay(err%,err$,e
l%)
8�
8��versi
n%>120�
8��errbuf%2
5
8�6!errbuf%=err%:$
errbuf%+4)=err$:?(er
buf%+4+��$)=0
8�+ș"
imp_ReportError",err
uf%,2,"FormEd"
8���
:�err$;
9�erl%<>0�
" at line ";erl%
9
9�finish
9&�
90
9:��finish
9D
�I%=0
255
9N?ȕfontcounts%
I%>0:ș"Font_LoseFon
",I%:fontcounts%?I%-
1:�
9X�
9b�bodgeit
�
9l-�I%=1�8:ș"OS_B
te",I%+220,oldfx%(I%
,0:�
9vș"OS_Byte",
19,oldfx219%,0
9���
"Wimp_CloseDown"
9�
9�)�version%<120��4
26,30,17,&8F,17,0,12
9��
9�
9�� *FX 22
1
9�(� OSCLI"Key 9
IST "+STR$erl%+"|K|M
9�� *FX 15 1
9�#�
F erl%<>0 THEN *FX 1
8 0 137
9� � END
9�
9�R-----------------
--------------------
--------------------
------------------
9
:ݤworkspace(L%)
::�curbuff%+L%>buff
r%+maxbuf%��1,"No mo
e buffer space"
:c
rbuff%+=L%:=curbuff%
L%
:
:*R----------
--------------------
--------------------
--------------------
----
:4
:>ݤfindfo
t(f$,p)
:H�f%
:R*ș
Font_FindFont",,f$,p
16,p*16,0,0�f%
:\fo
tcounts%?f%+=1
:f6�f
ntcounts%?f%>=255��1
"Internal font table
full"
:p=f%
:z
:�R
--------------------
--------------------
--------------------
--------------
:�
:
��spriteinfo
:��I%
:�7I%=q%+4:ș"Wimp_W
ichIcon",spritelist%
I%,&800000,0
:�Aȕ!I
<>-1:I%!-4=spritelis
%:ș"Wimp_DeleteIcon
,,I%-4:I%+=4:�
:�9i%
sprSP2%:ȕi%<>-1:spr
tei%(i%)=-1:i%=nspri
e%(i%):�
:�,!q%=spri
elist%:ș"Wimp_Close
indow",,q%
:� $sprit
f%=�spfname(spritef$
:�1ș"OS_SpriteOp",
108,spritearea%�,,,n
prites%
:�?maxspwidt
%=scrx1%-80:curx%=0:
ury%=0:maxw%=0:maxh%
0:ix%=0
:��nsprites
>0�
:��I%=1�nsprite
%
;�readsprite(I%)
;Eflags%=&1701A429:
ext$=$spritename%:�g
tminxy(flags%,text$,
ext$)
;,�minx%>spw%
spwx%=minx%+32�spwx%
spw%+32
;$+�curx%+sp
x%>maxspwidth%��line
fsprites
;.spwx%(ix
)=spwx%
;82�-32-sph%
miny%-8<maxh%�maxh%=
32-sph%-miny%-8
;BCs
w%(ix%)=spw%:sph%(ix
)=sph%:minx%(ix%)=mi
x%:miny%(ix%)=miny%
Lspname$(ix%)=$spri
ename%
;Vcurx%+=spw
%(ix%):ix%+=1
;`�
;
�lineofsprites
;t�
;~'!q%=0:q%!4=cury%:
%!8=maxw%:q%!12=0
;�
ș"Wimp_SetExtent",s
ritelist%,q%
;��fro
t(spritelist%)
;�i%
sprSP2%:ȕi%<>-1
;�
2%=nsprite%(i%)
;��
lose(spritew%(i%))
;
.�spritei%(i%)>=0��o
ensprite(spritei%(i%
)
;�i%=i2%:�
;�5ș"
imp_ForceRedraw",spr
telist%,0,-30000,300
0,0
;��
;�
;�ݤsp
name(sp$)
;�<�sp$>s
flen%-2�="'..."+�sp$
spflen%-5)+"'"�="'"+
p$+"'"
<