home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TopWare 18: Liquid
/
Image.iso
/
liquid
/
top4019
/
92col.grp
< prev
next >
Wrap
Text File
|
1993-06-18
|
12KB
|
724 lines
; The '92 Collection Demo CD team
;
; Produced by David Cook - Manager of Product Demonstrations
; ICL Personal Systems 0483-486868
;
; Directed by William Wisely - MD of Screen Artists Ltd 081-642-1370
; Technical support Phil Shatz
; 3D modeling and animation Kenn Jordan and Michele Bousquet
; Impressionist build Andrew Clatcher
; Typography and Adminstration Lorna McNutt
;
; Music by The Multimedia Music Company - 081-698-0534
; Adrian Sutton, Anthony Aldridge & Peter Buick
;
; Special thanks to Kevin Rayner for supplying an ICL DRS Model 75
;
; The graphics in this presentation were created using the Autodesk
; Multimedia Products: 3D Studio and Animator Pro. What follows
; is the main GRASP program. Grasp is available from Paul Mace
; Software in the USA on 503-488-0224
;
closegl
merge text.dat
opengl 92col
init
top:
databegin list
t1:
if @=="end"
goto t2
else
set ttl @ttl+1
endif
goto t1
t2:
mark @ttl
databegin list
dataskip @cnt
set rnt @
if @rnt=="end"
set cnt 0
break t2
endif
@rnt
set cnt @cnt+1
loop
goto t2
list:
"ergo"
"pcs"
"meet"
"cover"
"csrange"
"cxrange"
"cxe"
"fxrange"
"mxrange"
"meu"
"nte"
"keyb"
"workergo"
"lock"
"durange"
"ergoarm"
"secrts"
"lcds"
"hightec"
"end"
list_titles:
"Ergonomic"
"PCs"
"Meeting"
"Cover"
"CS Range"
"CX Range"
"CXe Range"
"FX Range"
"MX Range"
"MEU"
"No Notebook"
"Keyboards"
"Workplace"
"Security"
"DU Monitors"
"Ergo Arm"
"SE Range"
"Freestyle"
"Human touch"
"end"
;----------------------
ergo:
pload ns3.pic 1
pload 256black.pal 2
palette 2
pfade 0,1
spread 2 1 30 ;fade in opening picure
pfree 1,2
dload ns3.flc 2 1 ;opening flic
dload fly92.cel 1 1 ;end with background flic
putdff 2 6 0 98 ;first part of opening
putdff 2 8 99 299 ;second part of opening (slower)
putdff 1 6 0 300 ;flic to end with backgound
dfree 1,2
pload mixd.pal 1
pload mixc.pal 2
cload mixd.pic 1 1 ;first picture
palette 1
databegin ergo_dat
headfull
cfade 18,33,104,1
spread 1,2,50
pfree 1,2
cfree 1
texbox
waitkey 200 ; 0 50 1
return
;----------------------
pcs:
pload syscomd1.pal 1
pload syscom.pal 2
pload mixc.pal 3
cload syscomd1.pic 1 1
spread 3,1,20
cfade 18,33,104,1
clrtop
clrtext
spread 1,2,40
databegin pcs_dat
headfull
pfree 1,2,3
cfree 1
texbox
waitkey 200 ; 0 59 2
return
;----------------------
meet:
pload syscomt.pal 1
pload syscom.pal 2
pload andrewt.pal 3
cload andrewd.pic 1 1
dload andrewm.cel 1 1
button
clrtop
clrtext
spread 2,1,25 ;go cream
cfade 18,33,104,1 ;fade andrew start
cfree 1
spread 1,3,2 ;go andrews colours
pfree 1,2,3
putdff 1 2 0 500 33 104 ;play andrew drawing
dfree 1
databegin meet_dat
headfull
cload people.pic 1
cfade 5,33,104,1,15 ;fade actual people pic
cfree 1
pfree 1
texbox
waitkey 200 ; 1 13 3
return
;----------------------
cover:
button
clrtop
clrtext
dload cover.cel 1 1
putdff 1 5 0 100 33 104
dfree 1
databegin cover_dat
texbox
waitkey 200 ; 1 23 4
return
;----------------------
csrange:
button
dload cs.cel 1 1
putdff 1 10 0 100 0 74
clrtext
databegin cs_dat
texbox
waitkey 200 ; 1 33 5
return
;----------------------
cxrange:
button
clrtext
dload cx.cel 1 1
putdff 1 10 0 100 0,84
dfree 1
databegin cx_dat
texbox
waitkey 200 ; 1 44 6
return
;----------------------
cxe:
button
clrtext
dload cxe.cel 1 1
putdff 1 15 0 10 0,84
dfree 1
databegin nxe_dat
texbox
waitkey 200 ; 1 52 7
return
;----------------------
fxrange:
button
clrtext
dload fx.cel 1 1
putdff 1 15 0 10 0,84
dfree 1
databegin fx_dat
texbox
waitkey 200 ; 2 02 8
return
;----------------------
mxrange:
button
clrtext
dload mx.cel 1 1
putdff 1 15 0 10 0,84
dfree 1
databegin mx_dat
texbox
waitkey 200 ; 2 12 9
clrtext
texbox
waitkey 200 ; 2 18 10
return
;----------------------
meu:
button
clrtext
dload meu.cel 1 1
putdff 1 15 0 10 0,84
dfree 1
databegin meu_dat
texbox
waitkey 200 ; 2 26 11
return
;----------------------
no_note:
button
dload close.cel 1 1 ;alternate section for no notebook
putdff 1 6 0 10 0,69
dfree 1
clrtext
databegin nonote_dat
texbox
dload nonote.flc 1 1
putdff 1 2 0 500
pfree 1
dfree 1
cload logol.pic 1 1
pload logod.pal 1
pload logol.pal 2
waitkey 200 ; 2 42 12
cfade 5,33,104,1
spread 2 1 25
pload moncomd.pal 1
palette 1
cload moncomd.pic 1 1
pload moncoml.pal 3
button
clrtext
cfade 18,33,104,1
spread 1 3 40
cfree 1,2,3
pfree 1
databegin crts_dat
texbox
waitkey 200 ; 2 53 13
return
;----------------------
nte:
button
dload close.cel 1 1
putdff 1 5 0 10 0,69
dfree 1
clrtext
dload notemorf.flc 1 1
putdff 1 4 0 100
dfree 1
databegin note_dat
texbox
pload notel.pal 1
pload noteclr.pal 2
cload moncomd.pic 1 1
pload moncoml.pal 3
waitkey 200 ; 2 42 14
button
clrtext
spread 1 2 25
cfade 18,33,104,1
spread 2 3 50
cfree 1,2,3
pfree 1
databegin crts_dat
texbox
waitkey 200 ; 2 53 15
return
;----------------------
keyb:
pload moncoml.pal 1
pload newkeyl.pal 2
pload newkeyd.pal 3
cload newkeyd.pic 1
button
clrtext
spread 1 3 25
cfade 18,33,104,1
spread 3 2 50
cfree 1
pfree 1,2,3
databegin keyb_dat
texbox
waitkey 200 ; 3 5 16
return
;----------------------
workergo:
pload newkeyl.pal 1
pload wired.pal 2
pload wirel.pal 3
cload wired.pic 1 1
button
clrtext
spread 1 2 25
color 0
box 414,104,416,399
cfade 18,33,104,1
spread 2 3 50
databegin wb_dat
headfull
pfree 1
pfree 2
pfree 3
cfree 1
texbox
dload wirefix.cel 1 1
dload wirefixa.cel 2 1
waitkey 200 ; 3 10 17
putdff 1 8 0 500 32 104
mark 3
putdff 2 8 0 35 32 104 ;spin the world
loop
dfree 1 2
waitkey 200 ; 3 40 18
return
;----------------------
lock:
cload lockd.pic 1 1
pload lockd.pal 1
pload lockl.pal 2
button
clrtext
palette 1
cfade 20 120 184 1 10
spread 1 2 50
cfree 1
pfree 1,2
databegin lock_dat
texbox
waitkey 20 ; 3 44 19
dload keyturn.flc 1 1
putdff 1 20 0 1 120 185 ;turn the key
waitkey 20 ; 3 46 20
putdff 1 20 1 2 120 185 ;turn it back
waitkey 20 ; 3 46 20
putdff 1 20 0 1 120 185
waitkey 20 ; 3 46 20
putdff 1 20 1 2 120 185
waitkey 20 ; 3 46 20
dfree 1
waitkey 200
return
;----------------------
durange:
pload lockd.pal 1
pload lockl.pal 3
pload willl.pal 2
cload willd.pic 1 1
dload will.flc 1 1
button
clrtop
spread 3 1 25
cfade 18,120,188,1
spread 1 2 50
clrtext
cfree 1
pfree 1,2,3
databegin du_dat
texbox
putdff 1 5 0 50 32 104
waitkey 200 ; 4 7 25
return
;----------------------
ergoarm:
pload willl.pal 1
pload movemond.pal 2
pload movemonl.pal 3
cload movemond.pic 1 1
dload movemon.cel 1 1
spread 1 2 25
button
clrtext
cfade 18,32,104,1
spread 2 3 50
cfree 1
pfree 1,2,3
databegin arm_dat
texbox
putdff 1 6 0 500 33 104
dfree 1
waitkey 200 ; 4 17 26
return
;----------------------
secrts:
pload movemonl.pal 1
pload movemond.pal 4
pload displ.pal 3
cload dispd.pic 1 1
spread 1 4 25
button
clrtext
cfade 18,33,104,1
spread 4,3,50
cfree 1
pfree 1,3,4
databegin se_dat
texbox
waitkey 200 ; 4 26 27
return
;----------------------
lcds:
pload displ.pal 1
pload fred.pal 2
pload frel.pal 3
cload fred.pic 1 1
spread 1 2 25
button
clrtext
cfade 18,33,104,1
spread 2,3,50
cfree 1
pfree 1,2,3
databegin fre_dat
texbox
button
waitkey 200 ; 4 34 28
return
;----------------------
hightec:
pload frel.pal 1
pload find.pal 2
pload finl.pal 3
cload find.pic 1 1
spread 1 2 25
button
clrtext
cfade 18,33,104,1
spread 2,3,50
cfree 1
pfree 1,2,3
dload fin1.flc 1 1
dload fin2.flc 2 1
pload fixpal.pal 1
palette 1
putdff 1 6 1 100
dfree 1
putdff 2 6 0 500
dfree 2
pload last.pic 1
pfade 5,1
databegin ht_dat
headfull
pload 256black.pal 2
spread 1 2 100
pfree 1,2
color 0
clearscr
waitkey 1
waitkey 1000
return
;-------------------------------------------------------------------------
chktime:
local min @1
local sec @2
exec findtime.exe @min @sec
;color 0
;rect 0,471,280,479
;fon 3
;color 15
;local key @3
;local actual @elapsed/1000
;local actmin @actual/60
;local actsec @actual%60
;text 0,472, "Wait:"$@min$":"$@sec$" actual: "$@actmin$":"$@actsec$" Key point:"$@key
return
;-------------------------------------------------------------------------
headfull: ;centre heading over box or screen
fon @
if @=="centre"
window 8,460,632,0
set center on
else
window 24,460,424,0
set center on
endif
text @
window
ffree 1,2
return
texbox: ;write text in the text area
fon 2
window 436,412,636,100
text @
window
ffree 2
return
button: ;push the button
dload button.dff 10 1
putdff 10 5 0 20 498 15
dfree 10
return
clrtext: ;clear the text area
cload clrtext.pic 10 1
cfade 5 431 92 10
cfree 10
return
clrtop: ;clear the title area
cload clrtop.pic 10 1
cfade 5 0 418 10
cfree 10
return
;-------------------------------------------------------------------------
boxx:
set m_call 1
set mh 15
set wide 136
set hot 15
set bck 6
set txt 8
set sha 0
window
cgetbuf 126 0 0 @wide+7 (@ttl*@mh)+10 1
fon 3
set left on
color @bck
rect 0 0 @wide (@ttl*@mh)+10
color @txt
box 0 0 @wide (@ttl*@mh)+10
databegin list_titles
set y @ttl*@mh
mark @ttl
window 10 @y-@mh @wide @y
text @
set y @y-@mh
loop
gosub display
ask:
set z @cnt
set pcnt @cnt
waitkey
ifkey esc out
ifkey down dnarrow
ifkey up uparrow
getkey k
if peekw(adr(@k))==13
fadein 12,126
cfree 126
window
return
endif
goto ask
uparrow:
if @cnt==0
set cnt @ttl-1
else
set cnt @cnt-1
endif
goto proc
dnarrow:
if @cnt==@ttl-1
set cnt 0
else
set cnt @cnt+1
endif
proc:
gosub display2
gosub display
goto ask
out:
exit
display:
set t @cnt-@ttl
dataskip @t
set y ((@ttl*@mh)-(@mh*@cnt)
window 10 @y-@mh @wide @y
color @hot
text @
dataskip -1-@t
return
display2:
set t @z-@ttl
dataskip @t
set y (@ttl*@mh)-(@mh*@z)
window 10 @y-@mh @wide @y
color @txt
text @
dataskip -1-@t
return
menucheck2:
if @m_call!=0
set m_call 0
pload @1 1
pfade 5,1
palette 1
setpage 0,1
pfade 0,1
setpage 0,0
pfree 1
endif
return
fadein:
cfade @1 ("c"$@2)->xoff ("c"$@2)->yoff @2 @3 @4
return
fon:
if @1==1
fload berl24b.set 1
color 4,32
set center on
font 1
fstyle 8,4
fgaps 2,10,0
endif
if @1==2
fload berl18.set 2
color 4,31
set left on
font 2
fstyle 8,4
fgaps 1,7,-4
endif
if @1==3
font 3
color 15,0
set left on
fstyle 8,1
fgaps 1,3
endif
return
init:
video s
color 0
clearscr
global mod_count 0 ;pointer to next module in data.dat
global cnt 0 ;indice of current routine
global pcnt 0 ;prior value of cnt
global rnt "" ;name of current routine
global ttl 0 ;total number of routines
global m_call 0 ;menu visited flag
global skip 0 ;to be set to 1 if now wait needed in main loop
global rm 24 ;default right margin
fload normal.fnt 3
return