home *** CD-ROM | disk | FTP | other *** search
- ; 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
-
-
-
-
-
-
-
-