home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Acorn User 13
/
AUCD13.iso
/
argonet
/
swiftjpeg.spk
/
!SwiftJPEG
/
!RunImage
(
.txt
)
< prev
next >
Wrap
RISC OS BBC BASIC V Source
|
1996-04-25
|
30KB
|
1,544 lines
> !RunImage for !SwiftJPEG
A fast JPEG viewer using Acorn's SpriteExtend module from RISC OS
v3.6 or later (module version 0.99 or later).
The BASIC and ARM sources are available separately and may be
available from wherever you obtained this copy of SwiftJPEG. If
you can't find them but would like a copy, contact Hipposoft
(contact details can be found in the Manual).
Editing this crunched code in a Desktop text editor and resaving
it will NOT PRODUCE A USABLE OUTPUT due to the crunching methods
employed. If you want to play around with the code, you should
only alter the sources.
(C) Hipposoft 1995,1996
(1<<30),"Fatal startup error: "+
$+" at line "+
)+", click on Cancel to exit":
B_%=0:C_%=-1:D_%=
:E_%=0:F_%=0:G_%=0:H_%=0:I_%=12:J_%=96:K_%=0:L_%=-1:
M_%24:!M_%=0:M_%!4=0:
b%256,s%256,N_%512,O_%64:!b%=1:b%!4=2:b%!8=3:b%!12=4:b%!16=5:b%!20=&400C0:b%!24=&400C1:b%!28=&400C9:b%!32=0
262336,350,&4B534154,"SwiftJPEG",b%
a%,P_%:
a%<350
490,"SwiftJPEG requires RISC OS 3.50 or later to run"
5,"RMEnsure SpriteExtend 0.99 ERROR 490 Can't find JPEG plotting SWIs - is SpriteExtend 0.99 or later running?":
131107,"SwiftJPEG$Dir",N_%,256
490,"'SwiftJPEG$Dir' not defined - ensure you double-click on !SwiftJPEG to run it"
tS_$=
T_(N_%,32),a%)+".!Choices":
263875,1:V_$="1.00 (25 Apr 96)":
263873:D_%=
D_%=1
Y_(a$):
a$<>""
(!b%=-1:b%!40=
Z_(a$):$(b%+44)=a$:
:D_%=
d_(E_%):E_%=0:
d_(G_%):G_%=0:
393437,P_%,&4B534154:
262369,29368369,b%,a%+10000
262341,,b%
!b%=-1
G_%<>0
g_(h_%)
262355,,N_%:
!N_%<>n_%
!O_%=-1
17,18,19:
6,121
(a%<>0)
262342,,b%:
d_(E_%):E_%=0:
p_(q_%,2):
p_(q_%,3):
r_$<>"<Wimp$Scrap>"
s_(q_%,4)
a%,c%,d%:
0Dc%=
:a$=r_$:
a$,a%,1)="."
a$,a%-1):a%=0:c%=
a$<>""
131077,"Filer_OpenDir "+a$
r_$="<Wimp$Scrap>"
131077,"Filer_OpenDir <Wimp$ScrapDir>"
262342,,b%
262342,,b%
j_:v_%=b%!12:w_%=b%!16:x_%=(b%!8)
1:y_%=(b%!8)
2:z_%=(b%!8)
__(L_%)
x_%<>0
__(L_%)
z_%<>0
;2!N_%=L_%:
262347,,N_%:N_%!28=-1:
262341,,N_%
a%:a%=
:v_%=!b%:w_%=b%!4:
b%!24=&00D
T_(!(G`%+108+32*w_%),33))>20
$(!(G`%+108+32*w_%))="20":
H`(B`%,w_%)
T_(!(G`%+108+32*w_%),33))<1
$(!(G`%+108+32*w_%))="1":
H`(B`%,w_%)
w_%=2
w_%=4:
I`(B`%,4,-2)
w_%=2:
262356,-1
J`:a%=
b%!24=&00D
w_%=13:a%=
b%!24=&01B
w_%=12:a%=
x_%=0:
b%!24=&00D
w_%=3:a%=
b%!24=&01B
w_%=2:a%=
271361:x_%=0:
262364,b%!24
b%!16
0:c_%=
b%!40=&C85
&400C0:
b%!20=B`%
262376,,b%!20,b%!24,b%!28
&400C1:
__(L_%)
&400C9:
271361
262344,,b%
!b%=L_%
432514,R`%,b%!4-b%!20,b%!16-S`%-b%!24,T`%,U`%,V`%
!b%=D`%
W`(D`%,40,I_%,J_%,M_%!16):
W`(D`%,41,I_%,J_%,M_%!20)
262346,,b%
W`(a%,c%,d%,e%,f%):
x%:!N_%=a%:N_%!4=c%:
262350,,N_%:!s%=a%:
262347,,s%:s%!64=N_%!8+s%!4-s%!20:s%!68=N_%!12+s%!16-s%!24:s%!72=N_%!16+s%!4-s%!20:s%!76=N_%!20+s%!16-s%!24:x%=((s%!72-s%!64-16)/(e%-d%))*(f%-d%)+s%!64+8
x%=((x%+1)
2)*2:
262374,1:
s%!64+4,s%!68+4,s%!72-s%!64-9,3:
s%!64+4,s%!76-8,s%!72-s%!64-9,3:
s%!64+4,s%!68+4,3,s%!76-s%!68-9:
s%!72-8,s%!68+4,3,s%!76-s%!68-9:
262374,4
x%-s%!64-9>0
s%!64+8,s%!68+8,x%-s%!64-9,s%!76-s%!68-17
262374,0:
s%!72-x%-11>0
x%,s%!68+8,s%!72-x%-9,s%!76-s%!68-17
H`(a%,c%):!N_%=a%:N_%!4=c%:
262350,,N_%:
(N_%!24)
262353,!N_%,N_%!8+4,N_%!12+4,N_%!16-4,N_%!20-4
262353,!N_%,N_%!8,N_%!12,N_%!16,N_%!20
X`(a%):!N_%=a%:
262347,,N_%:
262353,-1,N_%!4,N_%!8,N_%!12,N_%!16:
Y`(a%):
__(a%)
jE!s%=a%:
262347,,s%:c%=s%!16:!s%=a%:
262368,,s%:
s%!8<c%
s%!8=c%
262353,-1,s%!4,s%!8,s%!12,s%!16
a%,c%:B_%=
("<SwiftJPEG$Dir>.ARMcode"):a%=
Z`(B_%):
a`%a%-4:
12,4,B_%,a`%,a%-4
,,,c%:
b`%256,c`%256,d`%256:
c%<>0
(1<<30)+2,"ARMcode file is too short or file pointers are too large"
n^!(a`%+
Z`(B_%))=b`%:!(a`%+
Z`(B_%))=c`%:!(a`%+
Z`(B_%))=d`%:e`%=a`%+
Z`(B_%):
#B_%:B_%=0:
W_:c_%=
:C_%=-1:f`%=
:K`%=
:R`%=0:g`%=0:h`%=0:i`%=0:j`%=&80000:k`%=1856:
i%k`%,l`%32,m%576,m`%160:
n`%576,o`%160,G`%512,p`%448,q`%2584,r`%576:
s`%128,T`%16,t`%64,u`%64:
131129,,"XCompo_ReadGamma"
v`%;a%
w`%256,x`%256,y`%256:
255:w`%?a%=a%:x`%?a%=a%:y`%?a%=a%:
v`%,w`%,x`%,y`%
_`:``%=0:Aa%=0:Ba%=0:Ca%=0:Da%=0:Ea%=0:
Fa:Ga%=1:Ha%=1:$(G`%!172)="1":$(G`%!236)="1":
Ia:q_%=
Ja(m%,m`%,1):
Ka(q_%,0,La%):
Ka(q_%,1,B`%):Ma%=
Ja(m%,m`%,1):
Ka(q_%,2,Ma%):
Ka(Ma%,0,Na%):
Ka(Ma%,1,t_%):
p_(q_%,2)
p_(q_%,3):
p_(q_%,4):Oa%=
Ja(m%,m`%,1):Pa%=
Ja(m%,m`%,1):
a%:B_%=
(S_$):
B_%=0
490,"Can't find the !Choices file"
Qa("Dithering","012",Ra%):V`%=Ra%-(Ra%=2):
Qa("Full Screen","01234",Sa%):
Qa("Special Mode","*",a%):Ta$=
#B_%,64):
Ta$,1)=".":Ta$=
Ta$,2):
Qa("Auto Full Screen","01",h_%):
Qa("Modes Once Only","01",Ua%)
Qa("Close Display","01",Va%):
Qa("Auto Filetype","01",Wa%):
Qa("Slideshow wait","!",Xa%):
Qa("Always 1:1","01",Ya%):
Qa("Repeat pictures","01",Za%):
Qa("Fade-in","012",!M_%):
Qa("Fade-in speed","!",M_%!8):M_%!16=M_%!8
Qa("Fade-out","012",M_%!4):
Qa("Fade-out speed","!",M_%!12):M_%!20=M_%!12:
#B_%:B_%=0:
B_%<>0
B_%=0:
C_%<>-1
262371,C_%:C_%=-1:
Qa(b$,a$,
c%,c$:c%=
#B_%)=
ca(b$)
#B_%):
490,"Can't find '"+b$+"' entry in !Choices file"
a$,1)<>"*"
a$,1)<>"!")
a$,1)<>"*")
a$,c$)=0)
(c$)<>1)
490,b$+" option not understood in !Choices file"
a$,1)<>"*"
da(a$,a%):
c%,b$:c%=
#B_%):
ca(a$)
#B_%):
490,"Can't find '"+a$+"' entry in !Choices file"
(a%>=0)
(a%<=9)
#B_%,a%+48
b$="0000":
(-(a%+1)):
#B_%,b$
64,"."):
T_(a%,32):
#B_%,b$
a%,a$:
53,-1,4
,,ea%:
53,-1,5
,,fa%:a$="<SwiftJPEG$Dir>.":
ea%>1
fa%>1
a$+="Sprites"
a$+="Sprites22"
Z_(a$):
(1<<30)+2,"Can't find Sprites file"
a%<>&FF9
(1<<30)+2,"Sprites file doesn't have Sprite filetype &FF9"
ga(a$):
a%=-1
(1<<30)+2,"Can't find the Sprites file"
ha%a%+1024:!ha%=0:ha%!4=16:
46,265,ha%:
46,266,ha%,a$:
X_:$(l`%)="iconbar":!b%=-1:b%!4=0:b%!8=0:b%!12=68:b%!16=68:b%!20=&3102:b%!24=l`%:b%!28=ha%:b%!32=11:
262338,,b%
a%:a$=
T_(a%,32):a%=
a$,""""):
a%<>0
a$,a%+1)
a$,""" "):
a%<>0
a$,a%+2)
a$=""
__(a%):
a%=-1
9!N_%=a%:
262347,,N_%:
((N_%!32)
&10000)<>0
ja(a%,a$,
262363,,a%,i%,ka%+k`%,-1,a$,0
,,i%:a%!64=ha%:
262337,,a%
a%,c%,d%,a$:
262361,,"<SwiftJPEG$Dir>.Templates":ka%=i%:
ja(n`%,"Info",La%):$(n`%!332)=V_$:
ja(o`%,"Display",L_%):
ja(G`%,"Zoom",B`%):
ja(p`%,"JPEG info",Na%):
ja(q`%,"Choices",D`%):
ja(r`%,"SaveAs",t_%):a$="file_c85"
262378
a%,c%:
131118,296,a%,a$
131118,296,c%,a$
a$="file_xxx"
:$(r`%!112)="Pptr_hand,9,5;S"+a$+
262362:
la(f%):
a%,c%,d%,e%:
ma(a%,c%):!N_%=f%:
262347,,N_%:d%=N_%!12-N_%!4:e%=N_%!16-N_%!8:na%=(a%-d%)/2:oa%=(c%-e%)/2:
(N_%!32)
&4000000
oa%-=19
(N_%!32)
&40000000
oa%+=19
(N_%!32)
&10000000
na%-=19
MN_%!4=na%:N_%!8=oa%:N_%!12=na%+d%:N_%!16=oa%+e%:N_%!28=-1:
262341,,N_%:
pa(a%,a$):
c$:!N_%=a%:
262348,,N_%:
(a$)>48
c$="..."+
a$,45)
c$=a$
c$,4)="...."
c$,2)
$(N_%!76)=c$+
Y`(a%):
a%,c%:a%=Ga%:c%=Ha%:
qa(B`%,0)
w_%<>0
ra(B`%,0,
qa(B`%,1)
w_%<>1
ra(B`%,1,
qa(B`%,5)
w_%<>5
ra(B`%,5,
qa(B`%,6)
w_%<>6
ra(B`%,6,
0:w_%=1
1:w_%=0
5:w_%=6
6:w_%=5
0:Ga%=
T_(G`%!172,33))+1:
Ga%>20
Ga%=20
Ga%<1
Ga%=1
T_(G`%!172,33)<>
(Ga%)
$(G`%!172)=
(Ga%):
H`(B`%,2)
1:Ga%=
T_(G`%!172,33))-1:
Ga%>20
Ga%=20
Ga%<1
Ga%=1
T_(G`%!172,33)<>
(Ga%)
$(G`%!172)=
(Ga%):
H`(B`%,2)
5:Ha%=
T_(G`%!236,33))+1:
Ha%>20
Ha%=20
Ha%<1
Ha%=1
T_(G`%!236,33)<>
(Ha%)
$(G`%!236)=
(Ha%):
H`(B`%,4)
6:Ha%=
T_(G`%!236,33))-1:
Ha%>20
Ha%=20
Ha%<1
Ha%=1
T_(G`%!236,33)<>
(Ha%)
$(G`%!236)=
(Ha%):
H`(B`%,4)
a%<>Ga%
c%<>Ha%
__(L_%)
P`:!N_%=L_%:
262342,,N_%:
262347,,N_%:
262341,,N_%:
sa(ta%,ua%,va%)
a%,c%:a%=Ga%:c%=Ha%:Ga%=
T_(G`%!172,33)):Ha%=
T_(G`%!236,33)):
Ga%<1
Ga%=1
Ga%>20
Ga%=20
Ha%<1
Ha%=1
Ha%>20
Ha%=20
Ga%<>a%
$(G`%!172)=
(Ga%)
Ha%<>c%
$(G`%!236)=
(Ha%)
a%<>Ga%
c%<>Ha%
__(L_%)
P`:!N_%=L_%:
262342,,N_%:
262347,,N_%:
262341,,N_%
a%,a$:
xa(Oa%,Ra%)=
ya(Oa%,a%,
ya(Oa%,Ra%,
0:a$="No dithering"
1:a$="Fast but inaccurate"
2:a$="Slow but accurate"
:a$="Unknown!"
:$(q`%!1260)=a$:
H`(D`%,36)
:$t`%=Ta$:
xa(Pa%,Sa%)=
ya(Pa%,a%,
ya(Pa%,Sa%,
0:a$="Use current mode"
1:a$="Best fit to picture"
2:a$="Use biggest"
3:a$="Use most colourful"
4:a$=
T_(t`%,32):
(a$)>20
a$,17)="..."
:a$="Unknown!"
:$(q`%!1356)=a$:
H`(D`%,39)
qa(D`%,!M_%)=
a%<>!M_%
ra(D`%,a%+2,
ra(D`%,a%+2,
qa(D`%,M_%!4)=
a%<>M_%!4
ra(D`%,a%+7,
ra(D`%,a%+7,
M_%!16<>M_%!8
M_%!16=M_%!8:
H`(D`%,40)
M_%!20<>M_%!12
M_%!20=M_%!12:
H`(D`%,41)
-h_%<>
qa(D`%,16)
ra(D`%,16,-h_%)
-Ua%<>
qa(D`%,17)
ra(D`%,17,-Ua%)
-Va%<>
qa(D`%,18)
ra(D`%,18,-Va%)
-Wa%<>
qa(D`%,19)
ra(D`%,19,-Wa%)
T_(q`%!876,33)<>
(Xa%)
*$(q`%!876)=
(Xa%):
H`(D`%,24):
x_%<>0
262355,,N_%:
!N_%=D`%
I`(D`%,24,-1):
I`(D`%,24,-2)
-Ya%<>
qa(D`%,27)
ra(D`%,27,-Ya%)
-Za%<>
qa(D`%,42)
ra(D`%,42,-Za%)
a%,c%,d%,e%,a$:
w_%=10
w_%=11
w_%=12
w_%=13
za(D`%,w_%)
w_%=25
w_%=26
qa(D`%,25)
w_%<>25
ra(D`%,25,
qa(D`%,26)
w_%<>26
ra(D`%,26,
x_%<>0
25:w_%=26
26:w_%=25
2,3,4:
qa(D`%,w_%)=
qa(D`%,2)
ra(D`%,2,
qa(D`%,3)
ra(D`%,3,
qa(D`%,4)
ra(D`%,4,
ra(D`%,w_%,
7,8,9:
qa(D`%,w_%)=
qa(D`%,7)
ra(D`%,7,
qa(D`%,8)
ra(D`%,8,
qa(D`%,9)
ra(D`%,9,
ra(D`%,w_%,
10:B_%=
(S_$):
B_%=0
490,"Can't find the !Choices file"
263875,1:a%=2:
xa(Oa%,c%)=
a%=c%
da("Dithering",a%):a%=1:
xa(Pa%,c%)=
a%=c%
da("Full Screen",a%):
da("Special Mode",t`%):
da("Auto Full Screen",-
qa(D`%,16)):
da("Modes Once Only",-
qa(D`%,17)):
da("Close Display",-
qa(D`%,18)):
da("Auto Filetype",-
qa(D`%,19))
da("Slideshow wait",-(
T_(q`%!876,33))+1)):
da("Always 1:1",-
qa(D`%,27)):
da("Repeat pictures",-
qa(D`%,42)):
da("Fade-in",-
qa(D`%,3)-2*
qa(D`%,4)):
da("Fade-in speed",-M_%!16-1):
da("Fade-out",-
qa(D`%,8)-2*
qa(D`%,9))
da("Fade-out speed",-M_%!20-1):
263873:
#B_%:B_%=0:w_%=13:
xa(Oa%,2)=
ya(Oa%,0,
ya(Oa%,1,
ya(Oa%,2,
):$(q`%!1260)="Slow but accurate":
H`(D`%,36)
xa(Pa%,1)=
ya(Pa%,a%,
ya(Pa%,1,
):$(q`%!1356)="Best fit to picture":
H`(D`%,39)
:$t`%="X800 Y600 C16M":
qa(D`%,2)=
qa(D`%,3)
ra(D`%,3,
ra(D`%,4,
ra(D`%,2,
qa(D`%,7)=
qa(D`%,8)
ra(D`%,8,
ra(D`%,9,
ra(D`%,7,
M_%!16<>48
M_%!16=48:
H`(D`%,40)
M_%!20<>48
M_%!20=48:
H`(D`%,41)
qa(D`%,16)
ra(D`%,16,
qa(D`%,18)
ra(D`%,18,
qa(D`%,17)=
ra(D`%,17,
qa(D`%,19)=
ra(D`%,19,
T_(q`%!876,33)<>"0"
E$(q`%!876)="0":
H`(D`%,24):
262355,,N_%:
!N_%=D`%
I`(D`%,24,-2)
qa(D`%,27)=
ra(D`%,27,
qa(D`%,42)
ra(D`%,42,
x_%=0
u_:!N_%=D`%:
262342,,N_%
13:a%=Ra%:
xa(Oa%,c%)
Ra%=c%
:V`%=Ra%-(Ra%=2):
xa(Pa%,c%)
Sa%=c%
:Ta$=
T_(t`%,32):
qa(D`%,c%+2)
!M_%=c%
qa(D`%,c%+7)
M_%!4=c%
:h_%=-
qa(D`%,16):Ua%=-
qa(D`%,17):Va%=-
qa(D`%,18):Wa%=-
qa(D`%,19):Xa%=
T_(q`%!876,33)):Ya%=-
qa(D`%,27):Za%=-
qa(D`%,42):M_%!8=M_%!16:M_%!12=M_%!20:
u_:!N_%=D`%:
262342,,N_%:
__(L_%)
(a%<>Ra%)
X`(L_%)
25,26:a%=
T_(q`%!876,33)):
w_%=25
a%-=1
a%+=1
a%>9999
a%=9999
)G$(q`%!876)=
(a%):
H`(D`%,24):
262355,,N_%:
!N_%=D`%
I`(D`%,24,-2)
262351,,N_%:
sa(Oa%,!N_%-16,N_%!4+22)
xa(Pa%,4)=0
$t`%=Ta$
262351,,N_%:
sa(Pa%,!N_%-16,N_%!4+22)
40,41:
:!N_%=D`%:N_%!4=w_%:
262350,,N_%:!s%=D`%:
262347,,s%:s%!64=N_%!8+s%!4-s%!20:s%!68=N_%!12+s%!16-s%!24:s%!72=N_%!16+s%!4-s%!20:s%!76=N_%!20+s%!16-s%!24:
s%!64+8,s%!68+8,s%!72-s%!64-16,s%!76-s%!68-16:
c%,c%,a%
..e%=s%!72-s%!64-16:d%=c%-s%!64-8:
d%>e%
d%=e%
d%=I_%+((J_%-I_%)/e%)*d%:!b%=D`%:b%!4=N_%!8+4:b%!8=N_%!12+4:b%!12=N_%!16-4:b%!16=N_%!20-4:
262345,,b%
W`(D`%,w_%,I_%,J_%,d%):
262346,,b%
a%=0:
ma(a%,c%):
0,0,a%-1,c%-1:
w_%=40
M_%!16=d%
M_%!20=d%
w_%=2
w_%=3
za(t_%,w_%)
_a(t_%,0,"file_c85")
262356,,-1:!N_%=t_%:
262342,,N_%
T_(r`%!140,33),".")=0)
T_(r`%!140,33),"<")=0)
(1<<30)+3,"To save, drag the file icon to a directory display."
T_(r`%!140,33)):
262356,,-1:!N_%=t_%:
262342,,N_%
ra(a%,c%,d%):
qa(a%,c%)<>d%
<9!s%=a%:s%!4=c%:
262350,,s%:
s%!8=0
s%!8=&200000
=-!s%=a%:s%!4=c%:s%!12=&200000:
262349,,s%
za(a%,c%):
qa(a%,c%)=
ra(a%,c%,
>=10:
ra(a%,c%,
262355,,N_%:
!N_%<>-1
262355,,O_%
a%:!N_%=!O_%:
393419,,N_%
__(!O_%)
262354,!O_%,O_%!4,O_%!8,O_%!12,O_%!16,O_%!20
I`(a%,c%,d%):
e%:!N_%=a%:N_%!4=c%:
262350,,N_%:e%=(N_%!12-N_%!20)
&1000000:
d%=-2
T_(N_%!28,32))
d%=-3
T_(N_%!28,32)))
262355,,N_%+32:
N_%!32<>a%
N_%!36<>c%
N_%!52<>d%
262354,a%,c%,N_%!8+16*d%,N_%!12+8,e%,d%
"SwiftJPEG","Info","Zoom@M","Picture","Full screen...","Reload image","Next image","Choices...@D","Quit","*"
"Picture","Info","Save","*"
"Dithering","No dithering","Fast but inaccurate","Slow but accurate","*"
"Full screen","Use current mode","Best fit to picture","Use biggest","Use most colourful@D","@W","mbu%","64","*"
A`(a%):
G_%=0
p_(q_%,5)
s_(q_%,5)
sa(q_%,!b%-116,140+7*44+24)
sa(q_%,!b%-116,b%!4+22)
Ka(a%,c%,d%):!(a%+28+c%*24+4)=d%:
sa(a%,x%,y%):
a%=Pa%
T_(t`%,32):$t`%=
W?ta%=a%:ua%=x%:va%=y%:
262356,,a%,x%,y%
a%=Pa%
$t`%=a$
ya(a%,c%,d%):
a%!(28+c%*24)=a%!(28+c%*24)
a%!(28+c%*24)=a%!(28+c%*24)
&FFFFFFFE
p_(a%,c%):a%!(28+c%*24+8)=(a%!(28+c%*24+8))
(1<<22):
s_(a%,c%):a%!(28+c%*24+8)=(a%!(28+c%*24+8))
(1<<22)):
a%,c%,d%,a$:
262351,,s%:x_%=(s%!8
262357,,ta%,b%,s%:
"Info":
262351,,N_%:
262356,,La%,!N_%-22,N_%!4-22
"Zoom":
262351,,N_%:
sa(B`%,!N_%-30,N_%!4+36)
"Picture","Picture.Info":
262351,,N_%:
262356,,Na%,!N_%-20,N_%!4-20
"Picture.Save":
262351,,N_%:a%=!N_%:c%=N_%!4:!N_%=t_%:
262347,,N_%:N_%!12=N_%!12-N_%!4+a%-20:N_%!4=a%-20:N_%!8=N_%!8-N_%!16+c%-20:N_%!16=c%-20:N_%!28=-1:
262341,,N_%:
262355,,N_%:
!N_%<>t_%
I`(t_%,1,-2)
"Full screen...":
"Reload image":
Cb(r_$):
"Next image":
g_(h_%)
"Choices...":
262355,,N_%:
!N_%<>D`%
la(D`%):
I`(D`%,24,-2)
"Quit":c_%=
"No dithering","Fast but inaccurate","Slow but accurate":
T_(q`%!1260,32)<>$s%
ya(Oa%,a%,
ya(Oa%,!b%,
):$(q`%!1260)=$s%:
H`(D`%,36)
"Best fit to picture","Use biggest","Use most colourful","Use current mode":
T_(q`%!1356,32)<>$s%
ya(Pa%,a%,
ya(Pa%,!b%,
):$(q`%!1356)=$s%:
H`(D`%,39)
(ta%=Pa%)
(!b%=4)
pha$=
T_(t`%,32):a%=
Db(a$,N_%):
a%=-1
$t`%=Ta$:
(1<<30)+1,"The specified Full Screen mode is invalid"
a%<>0
53,a%-1,4
,,!N_%:
53,a%-1,5
,,N_%!4:
!N_%<>N_%!4
$t`%=Ta$:
(1<<30)+1,"You can only use square pixel modes, such as 13 or 20"
:N_%!20=-1:
53,N_%,4
,,N_%!128:
53,N_%,5
,,N_%!132:
N_%!128<>N_%!132
(1<<30)+1,"You can only use square pixel modes, such as 'X800 Y600 C32K'"
t0a$="X"+
(N_%!4)+" Y"+
(N_%!8)+" C":
N_%!12
0:a$+="2"
1:a$+="4"
2:a$+="16"
3:a$+="256"
4:a$+="32K"
5:a$+="16M"
N_%!16<>-1
a$+=" F"+
(N_%!16)
ya(Pa%,a%,
ya(Pa%,4,
):$t`%=a$:
(a$)>20
a$,17)+"..."
$(q`%!1356)=a$:
H`(D`%,39)
sa(ta%,ua%,va%)
Eb(c%):
a%,d%,e%,x%,y%,Fb%,Gb%:
131129,,"XCompo_ReadGamma"
v`%;a%:
v`%<>0
v`%,w`%,x`%,y`%
!M_%=0
d%=1:e%=1
d%=Ga%:e%=Ha%
:Fb%=Ib%*d%/e%:Gb%=Jb%*d%/e%:
263875,5
53,-1,11
,,x%:
53,-1,12
,,y%:x%+=1:y%+=1
Kb(Fb%,Gb%,x%,y%,a%)
``%=0
Ua%=0
Lb(``%,Aa%,Ba%)
x%=``%:y%=Aa%:a%=Ba%
Ca%=0
Ua%=0
Mb(Ca%,Da%,Ea%)
x%=Ca%:y%=Da%:a%=Ea%
4:a%=
Db(Ta$,N_%):
a%=-1
(1<<30)+1,"The specified Full Screen mode is invalid"
63,N_%
63,a%-1
!N_%=-1
(1<<30)+1,"The specified Full Screen mode is not available"
53,N_%,4
,,N_%!128:
53,N_%,5
,,N_%!132:
N_%!128<>N_%!132
(1<<30)+1,"You can only use square pixel modes, such as 'X800 Y600 C32K'"
x%=N_%!4:y%=N_%!8:a%=N_%!12
53,a%-1,4
,,!N_%:
53,a%-1,5
,,N_%!4:
!N_%<>N_%!4
(1<<30)+1,"You can only use square pixel modes, such as 13 or 20"
53,a%-1,3
,,N_%!12:
53,a%-1,11
,,N_%!4:
53,a%-1,12
,,N_%!8:x%=N_%!4+1:y%=N_%!8+1:a%=-1*(N_%!12=3)-2*(N_%!12=15)-3*(N_%!12=63):N_%!16=-1
0,0,0,0:
0,0,32767:
263873
Sa%<>0
8!N_%=1:N_%!4=x%:N_%!8=y%:N_%!12=a%:
Sa%<>4
N_%!16=-1
dN_%!20=-1:
<=127
(N_%!4<>!(
N_%!8<>!(
N_%!12<>!(
+12))
((Sa%=4)*(N_%!16<>!(
+16)))
262372:
0,0,0,0:
0,0,32767:x%=x%-Fb%:y%=y%-Gb%:!N_%=d%:N_%!4=d%:N_%!8=e%:N_%!12=e%:
432514,R`%,x%,y%,N_%,U`%,V`%:
6,121
a%=255
a%=112:
a%=112
6,121
(a%<>255)
>=Xa%*100)
(Xa%<>0)):
a%=112
(((a%=11)
(Xa%<>0))
(a%=37))
(f`%=
a%=37
6,121
(a%<>255):
(a%<>37)
a%=112
M_%!4
0,0,0,0:
0,0,32767:
131077,"FX 15":
g_(c%):
(G_%<>0)
a%,c%,d%,a$:d%=
__(D`%)
w_%=13:x_%=0:
__(L_%)
!u`%=L_%:
262347,,u`%:u`%!28=-1
!u`%=-1
:s`%!124=C_%:
C_%>127
4:s`%!a%=C_%!a%:
:C_%=s`%
G_%<>0
(h`%>=i`%)
<h`%=g`%:c%=
T_(h`%,32):a%=?(h`%+
(a$)):
)h`%+=
(a$)+1:
h`%>=i`%:h`%=g`%:
d_(G_%):G_%=0:
(1<<30)+1,"None of the pictures in the group can be displayed! So can't move to another image"
T_(h`%,32):a%=?(h`%+
(a$)):h`%+=
(a$)+1:
(h`%>=i`%)
(Za%=0)
d_(G_%):G_%=0
Cb(a$):
Eb(d%):d%=
d_(G_%):G_%=0
C_%<>-1
aa:f`%=
Va%<>0
!b%=L_%:
!u`%=-1
la(L_%)
262341,,u`%
a%,d%,a$:a$=
T_(h`%,32):a%=?(h`%+
(a$)):h`%+=
(a$)+1:
h`%>=i`%
d_(G_%):G_%=0
Cb(a$)
__(D`%)
w_%=13:x_%=0:
__(L_%)
!u`%=L_%:
262347,,u`%:u`%!28=-1
!u`%=-1
:s`%!124=C_%:
C_%>127
4:s`%!a%=C_%!a%:
:C_%=s`%
aa:f`%=
Va%<>0
!b%=L_%:
!u`%=-1
la(L_%)
262341,,u`%
a%,d%,e%:
101,2
,,d%:x%=0:y%=0:c%=1:e%=0:
(-d%)-1:
101,2,,e%,,,,b%,64:
(b%!8>b%!12)
((b%!12)*2>b%!8)
(b%!8
(b%!12
(b%!8>=x%)
(b%!12>=y%)
x%=b%!8:y%=b%!12:c%=b%!16
4,255,255,255:
64,64,12,24:
84,64,12,24:
64,64,12,24:
84,64,12,24:
0,0,0,0:
62,62,270,74:
0,255,255,255:
64,64,266,70:
68,124:a$=
16," "):
r_$,16):
a$,1)<>" "
a$,1,3)="..."
a$,4)="...."
a$,1)=" "
68,104:a$=
16," "):
(Ib%)+"x"+
(Jb%),16):
a$,1)<>" "
16," "):
a$)="Very big picture"
68,86:a$=
16," "):
(U`%)+" bytes",16):
a$,1)<>" "
16," "):
a$)="Very large file"
a%,d%,e%:
101,2
,,d%:x%=0:y%=0:c%=0:e%=0:
(-d%)-1:
101,2,,e%,,,,b%,64:
(b%!8>b%!12)
((b%!12)*2>b%!8)
(b%!8
(b%!12
(b%!16>=c%)
(b%!8>=x%)
(b%!12>=y%)
x%=b%!8:y%=b%!12:c%=b%!16
Kb(Fb%,Gb%,
a%,d%,e%,Wb%,Xb%:
101,2
,,d%:Wb%=0:Xb%=0:x%=1E9:y%=1E9:c%=1:e%=0:
(-d%)-1:
101,2,,e%,,,,b%,64:
(b%!8>b%!12)
((b%!12)*2>b%!8)
(b%!8
(b%!12
(b%!8>=Fb%)
(b%!12>=Gb%)
((b%!8-Fb%)<=x%)
((b%!12-Gb%)<=y%)
Wb%=b%!8:Xb%=b%!12:x%=Wb%-Fb%:y%=Xb%-Gb%:c%=b%!16
Wb%=0
Lb(Wb%,Xb%,c%)
x%=Wb%:y%=Xb%:
a$,a%,c%:c%=
H_%=0
(G_%<>0)
(F_%<>0)
d_(G_%):G_%=0
G_%=0
Yb(0,j`%,"SwiftJPEG file list",G_%,g`%):h`%=g`%:i`%=g`%:c%=
:F_%=0
G_%=0
H_%=2
H_%=0
T_(b%+44,33):
92,G_%
i`%-g`%+
(a$)+1>a%
Zb(G_%,a%+
(a$)+2,a%):
a%=-1
+H_%=1:
92,G_%
d_(G_%):G_%=0
H_%=0
*$i`%=a$:?(i`%+
(a$))=0:i`%=i`%+
(a$)+1
!b%<>-1
9a%=b%!4:b%!4=P_%:b%!12=b%!8:b%!16=4:
262375,17,b%,a%
H_%=1
(1<<30)+1,"Not enough memory to load picture, or to queue it for loading later"
H_%=2
(1<<30)+1,"Can't create an area of memory to store picture names in"
!N_%=-1:
262375,3,N_%,P_%
Cb(a$):
a%,c%:K_%=0:F_%=1:a%=
ga(a$):
K_%=h`%-1:
(1<<30)+1,"File not found"
c%=0:
YB_%=
(a$):c%+=(
#B_%=&FF):c%+=(
#B_%=&D8):c%+=(
#B_%=&FF):c%+=(
#B_%=&E0):
#B_%:B_%=0
c%<>-4
K_%=h`%-1:
(1<<30)+1,"This is not a JPEG file"
c%=-4
4r_$=a$:
r_$="<Wimp$Scrap>"
p_(q_%,4)
s_(q_%,4)
=U`%=a%:
Z_(r_$))
(Wa%=1)
131077,"SetType "+r_$+" C85"
d_(E_%):
Yb(U`%+256,U`%+256,"SwiftJPEG picture",E_%,R`%):
E_%<>0
263872:
13,&4F,r_$
12,4,B_%,R`%,
#B_%:
13,,B_%:B_%=0:
r_$="<Wimp$Scrap>"
r_$="ScrapFile"
S$(r`%!140)=r_$:
263873:
T_(b%+44,33)="<Wimp$Scrap>"
131080,6,"<Wimp$Scrap>"
__(L_%)
d!N_%=L_%:
262342,,N_%:
pa(L_%,r_$+" ("+
(Ib%)+"x"+
(Jb%)+")"):!N_%=L_%:
262348,,N_%:
3N_%!4=0:N_%!8=0:N_%!12=&7FFFFFF:N_%!16=&7FFFFFF
262341,,N_%:
la(L_%)
(1<<30)+1,"There is not enough free memory to load the picture"
53,-1,4
,,ea%:
53,-1,5
,,fa%:
ea%>0
!T`%=1:T`%!8=ea%
:!T`%=2:T`%!8=1
fa%>0
T`%!4=1:T`%!12=fa%
:T`%!4=2:T`%!12=1
:!T`%=(!T`%)*Ga%:T`%!4=(T`%!4)*Ga%:T`%!8=(T`%!8)*Ha%:T`%!12=(T`%!12)*Ha%:
432512,,R`%,U`%
,,Ib%,Jb%,bb%,cb%:!N_%=0:N_%!4=((-Jb%*2)*Ga%)/Ha%:N_%!8=((Ib%*2)*Ga%)/Ha%:N_%!12=0:
((N_%!4)
2)<>0
N_%!4=(((N_%!4)
2)-1)*2
((N_%!8)
2)<>0
N_%!8=(((N_%!8)
2)+1)*2
262359,L_%,N_%:S`%=-N_%!4:
Q`(a%):
53,a%,4
,,ea%:
53,a%,5
,,fa%:ea%=ea%*2:fa%=fa%*2:
(r_$)>27
a$="..."+
r_$,24)
a$=r_$
a$,4)="...."
a$,2)
1$(p`%!108)=a$:a$=
(U`%):
(a$)>7
a$=">9.5Mb!"
0$(p`%!236)=a$:a$=
(Ib%):
(a$)>6
a$="V.Wide"
0$(p`%!268)=a$:a$=
(Jb%):
(a$)>6
a$="V.Tall"
)$(p`%!300)=a$:
s_(q_%,2):
s_(q_%,3):
`a(a$):
13,&8F,a$
12,2,B_%,R`%,U`%
,,,a%:
13,,B_%:B_%=0:
a%<>0
(1<<30)+1,"Unknown error whilst saving - the JPEG has not been saved correctly"
8,18,a$,&C85:
b%!20<>t_%
f!b%=60:a%=b%!4:b%!4=P_%:b%!12=b%!8:b%!16=2:b%!36=-1:$(b%+44)="<Wimp$Scrap>"+
262375,17,b%,a%
T_((b%+44),33)):b%!12=0:b%!16=3:
262375,17,b%,b%!4:
N`:r_$=
T_(b%+44,33):
r_$="<Wimp$Scrap>"
r_$="ScrapFile"
`$(r`%!140)=r_$:
pa(L_%,r_$+" ("+
(Ib%)+"x"+
(Jb%)+")"):
262356,,-1:!N_%=t_%:
262342,,N_%:
M_%!4
255:b`%?a%=w`%?a%:c`%?a%=x`%?a%:d`%?a%=y`%?a%:
M_%!4
255:b`%?a%=0:c`%?a%=0:d`%?a%=0:
a%,c%,d%:
M_%!4
c%=M_%!12
255:d%=a%*c%/(M_%!12):b`%?a%=d%:c`%?a%=d%:d`%?a%=d%:
6,121
d%=112
d%=16
c%=-1:
d%=112
a%,c,d%,d,e%:
c=1:e%=M_%!8:
:d=c/e%:
255:b`%?a%=(w`%?a%)*d:c`%?a%=(x`%?a%)*d:d`%?a%=(y`%?a%)*d:
6,121
d%=112
d%=16
c=(M_%!8)+1:
d%=112
'%c+=(1/c)*(16+(15-c)*(c<15)):
a%,c%,c,d%,e%:
M_%!4
e%=M_%!12:
e%*2:c=(1+
((90/e%)*c%))/2:
255:b`%?a%=(w`%?a%)*c:c`%?a%=(x`%?a%)*c:d`%?a%=(y`%?a%)*c:
6,121
d%=112
d%=16
c%=e%*2+1:
d%=112
a%,c%,c,d%:
M_%!4
c%=M_%!12
255:c=c%/(M_%!12):b`%?a%=255-(255-w`%?a%)*c:c`%?a%=255-(255-x`%?a%)*c:d`%?a%=255-(255-y`%?a%)*c:
6,121
d%=112
d%=16
c%=-1:
d%=112
d%<>112
d%<>16
1<a%=M_%!12:M_%!12=16:
0,255,255,255:
db:M_%!12=a%
a%,c%,c,d%:
c%=(M_%!8)*2
-1:c=(1+
((90/(M_%!8))*c%))/2:
255:b`%?a%=255-(255-w`%?a%)*c:c`%?a%=255-(255-x`%?a%)*c:d`%?a%=255-(255-y`%?a%)*c:
6,121
d%=112
d%=16
c%=-1:
d%=112
a%,c%:
53,-1,11
,,d%:
53,-1,12
,,e%:d%+=1:e%+=1:
53,-1,4
,,a%:
53,-1,5
,,c%:d%=d%<<a%:e%=e%<<c%:
eb(a%):
c%,a$:fb%=a%:c%=0:
a$:$(fb%+c%)=a$:c%+=(
(a$)+1):
a$="*":$(fb%+c%-1)=
(0)+"*":
a%,b$:b$="":
:a%=?fb%:
a%>31
fb%+=1:
a%<32:a$=b$:
a%,c%,d%:
263872:
a%,c%,d%:
d%=0:
263873:
_a(a%,c%,a$):
d%,e%:!s%=a%:
262347,,s%:d%=s%!4-s%!20:e%=s%!16-s%!24:!s%=a%:s%!4=c%:
262350,,s%:!N_%=a%:N_%!4=5:N_%!8=s%!8+d%:N_%!12=s%!12+e%:N_%!16=s%!16+d%:N_%!20=s%!20+e%:N_%!24=0:N_%!28=0:
ma(d%,e%):N_%!32=d%:N_%!36=e%
271360,133,1,a$,N_%+8:K`%=
262351,,s%:K`%=
(s%!12<>t_%)
?&a$=
T_(r`%!140,33)+
a$,".")
a$,".")+1):
a$,".")=0
4)<>0:a$+=
:!N_%=44+
(a$):N_%!4=P_%:N_%!8=0:N_%!12=0:N_%!16=1:N_%!20=s%!12:N_%!24=s%!16:N_%!28=!s%:N_%!32=s%!4:N_%!36=30178:N_%!40=&C85:$(N_%+44)=a$:
262375,17,N_%,s%!12,s%!16
d%,e%:d%=a%:e%=c%:
d%<e%
d%,e%
D&d%=d%
d%=0:a%=a%
e%:c%=c%
a%,c%:a%=
T_(G`%!172,33)):c%=
T_(G`%!236,33)):
hb(a%,c%):$(G`%!172)=
(a%):Ga%=a%:$(G`%!236)=
(c%):Ha%=c%:
131077,"FX 15":
263872:
6,121
(a%=255):
263873:
Yb(a%,f%,a$,
131174,,-1,a%,-1,%10000000,f%,,,a$
,c%,,d%;e%:
c%=0:d%=-1
131164,c%
e%<a%
d_(c%):c%=0:d%=-1
d_(a%):
a%<>0
131174,1,a%
Zb(a%,c%,
131164,a%
131114,a%,c%-e%:
131164,a%
e%<c%
d%=-1
d%=e%
263874:
aa:H_%=0:
E_%=0
L_%<>-1
__(L_%)
!N_%=L_%:
262342,,N_%
E_%<>0
!b%=L_%:
(K_%<>0)
(G_%<>0)
K_%<g`%
"WARNING!"'K_%:
?K_%=1
:!b%=
!b%=(1<<30)+2
(1<<30)+1:a$="Warning from SwiftJPEG":$(b%+4)=
$+". Click OK to continue."+
(0):a%=17
(1<<30)+2:a$="Fatal error from SwiftJPEG":$(b%+4)=
$+" (encountered at line "+
+"). SwiftJPEG must quit; click CANCEL to exit."+
(0):a%=18
(1<<30)+3:a$="Information from SwiftJPEG":$(b%+4)=
(0):a%=17
:a$="Error from SwiftJPEG":
$)<200
$(b%+4)=
$+" at line "+
)+": click OK to continue, CANCEL to quit program"+
$(b%+4)=
\ a%=19
262367,b%,a%,a$
,a%:a%=(a%=2):=a%
qa(a%,c%):!N_%=a%:N_%!4=c%:
262350,,N_%:=((N_%!24)
(1<<21))<>0
Ja(x%,y%,e%):
a%,c%,d%,f%,a$,b$,c$:
eb(s%)
f%=0:
x%=m%
f%=f%
y%=m`%
f%=f%
bqa%=x%:
gb(a$):$(a%)=a$:a%?12=7:a%?13=2:a%?14=7:a%?15=0:a%!20=44:a%!24=0:d%=
(a$)-3:x%+=28:
gb(c$):
c$<>"*"
c0x%!8=&07000021:!x%=0:c%=
:ib%=
c$,"@"):
d)b$=
(c$)-ib%):
b$,"T")
!x%=!x%
b$,"D")
!x%=!x%
b$,"W")
g-!x%=!x%
4:c%=
gb(a$):
a$="mbu%"
jb%=t`%
gb(a$):kb%=
b$,"M")
!x%=!x%
c$,ib%-1)
c$>d%
x%!4=-1:
m7x%!8=&0700F121:x%!12=jb%:x%!16=-1:x%!20=kb%:$jb%=c$
c$<12
x%!8=&07000021:$(x%+12)=c$
:x%!8=&07000121:x%!12=y%:x%!16=-1:x%!20=
c$+1:$y%=c$:y%+=
:x%+=24
c$="*":a%!16=d%*16+32:!(x%-24)=!(x%-24)
m%=x%
m`%=y%
xa(a%,c%):
(a%!(28+c%*24))
Z_(a$):
a%,c%,d%:
8,17,a$
c%,,a%:
c%<>1
z d%=-2
(a%>>>20)=&FFF
d%=(a%>>>8)
d%=-1
ga(a$):
Z_(a$)<>-2
8,5,a$
,,,,a%
a%=-1
lb(c%,d%,f%):
a%,b$:b$="":
a%=c%
c%+d%-1:
?a%>=f%
b$=b$+
(?a%)
T_(c%,d%):
a%,b$:b$="":a%=c%:
?a%>=d%
b$=b$+
(?a%):a%+=1
?a%<d%
b$=255:=b$
ca(a$):
a%,b$:b$="":
(a$):
a$,a%,1)>="a"
a$,a%,1)<="z"
a$,a%,1))-32)
a$,a%,1)
Z`(a%):=(
#a%)+((
#a%)<<8)+((
#a%)<<16)+((
#a%)<<24)
Db(a$,a%):
c%,d%,e%,x%,y%,b$,c$:!a%=0:x%=0:y%=0:a%!4=-1:a%!8=-1:a%!12=-1:a%!16=-1:e%=a%+20:a$=
ca(a$):
a$,","):
a$,","),1)=" ":
a$," ")):c%=
a$," "):a$=
a$,c%-1)+
a$,c%+1):
(a$))=a$
(a$):
c%=-1
c%+=1
:c%=0:
(a$):
:c%+=1:
"XYCGEF",
a$,c%,1))=0)
(c%<=
(a$)):c%+=1:
a$,c%,1):
((b$="E")
"XY",
a$,c%+1,1))<>0))
"XY",b$)<>0)
a$,c%-1,1)<>"E"))
"CGF",b$)<>0)
(a$))
"EX EY ",
a$,c%,2)+" ")
a$,c%+2))
a$,c%+1))
a$,c%+1,3):
a%!4=-1
a%!4=d%
?a%=1
a%!8=-1
a%!8=d%
a%?1=1
"C","G":
a%!12=-1
2:a%!12=0
4:a%!12=1
c$="16M"
a%!12=5
a%!12=2
(c$="32K")
(c$="32T")
a%!12=4
256:a%!12=3
(b$="G")
(a%!12>3)
a%!12=-1
!e%=0:e%!4=128:e%!8=3:e%!12=255:e%+=16
:a%?2=1
a$,c%+1,1)="X"
!e%=4:x%+=1:
x%+=1
:!e%=5:y%+=1:
y%+=1
:e%!4=d%:e%+=8
a%!16=-1
a%!16=d%
a%?3=1
:!e%=-1:c%=0:
(a%!4<1)
(a%!8<1)
(a%!12=-1)
(!a%>0)
(x%>1)
(y%>1)
c%=-1
(a%!4>32767)
(a%!8>32767)
c%=-1
!a%=1