home *** CD-ROM | disk | FTP | other *** search
/ Walkthroughs & Flybys / WAITE_GROUP.bin / demos / sartists / 92col.grp < prev    next >
Text File  |  1993-05-16  |  12KB  |  724 lines

  1. ;    The '92 Collection Demo CD team
  2. ;
  3. ;        Produced by David Cook - Manager of Product Demonstrations
  4. ;        ICL Personal Systems 0483-486868
  5. ;
  6. ;        Directed by William Wisely - MD of Screen Artists Ltd 081-642-1370
  7. ;            Technical support              Phil Shatz
  8. ;             3D modeling and animation      Kenn Jordan and Michele Bousquet
  9. ;            Impressionist build            Andrew Clatcher
  10. ;            Typography and Adminstration   Lorna McNutt
  11. ;
  12. ;        Music by The Multimedia Music Company - 081-698-0534
  13. ;            Adrian Sutton, Anthony Aldridge & Peter Buick
  14. ;
  15. ;        Special thanks to Kevin Rayner for supplying an ICL DRS Model 75
  16. ;
  17. ;        The graphics in this presentation were created using the Autodesk
  18. ;            Multimedia Products: 3D Studio and Animator Pro.  What follows 
  19. ;            is the main GRASP program.  Grasp is available from Paul Mace 
  20. ;            Software in the USA on 503-488-0224
  21. ;
  22.  
  23. closegl
  24. merge text.dat
  25. opengl 92col
  26. init
  27.  
  28. top:
  29. databegin list
  30. t1:
  31.    if @=="end" 
  32.       goto t2
  33.    else
  34.       set ttl @ttl+1
  35.    endif
  36. goto t1
  37. t2:
  38.  
  39. mark @ttl
  40.    databegin list
  41.    dataskip @cnt
  42.    set rnt @
  43.    if @rnt=="end"
  44.       set cnt 0  
  45.       break t2   
  46.    endif
  47.    @rnt
  48.    set cnt @cnt+1
  49. loop
  50. goto t2
  51.  
  52. list:
  53. "ergo"
  54. "pcs"
  55. "meet"
  56. "cover"
  57. "csrange"
  58. "cxrange"
  59. "cxe"
  60. "fxrange"
  61. "mxrange"
  62. "meu"
  63. "nte"
  64. "keyb"
  65. "workergo"
  66. "lock"
  67. "durange"
  68. "ergoarm"
  69. "secrts"
  70. "lcds"
  71. "hightec"
  72. "end"                             
  73.  
  74.  
  75. list_titles:
  76. "Ergonomic"
  77. "PCs"
  78. "Meeting"
  79. "Cover"
  80. "CS Range"
  81. "CX Range"
  82. "CXe Range"
  83. "FX Range"
  84. "MX Range"
  85. "MEU"
  86. "No Notebook"
  87. "Keyboards"
  88. "Workplace"
  89. "Security"
  90. "DU Monitors"
  91. "Ergo Arm"
  92. "SE Range"
  93. "Freestyle"
  94. "Human touch"
  95. "end"
  96.  
  97.  
  98. ;----------------------
  99. ergo:
  100. pload ns3.pic 1
  101. pload 256black.pal 2
  102. palette 2
  103. pfade 0,1
  104. spread 2 1 30            ;fade in opening picure
  105. pfree 1,2
  106. dload ns3.flc 2 1        ;opening flic
  107. dload fly92.cel 1 1        ;end with background flic
  108. putdff 2 6 0 98        ;first part of opening
  109. putdff 2 8 99    299        ;second part of opening (slower)
  110. putdff 1 6 0 300        ;flic to end with backgound
  111. dfree 1,2
  112. pload mixd.pal 1
  113. pload mixc.pal 2
  114. cload mixd.pic 1 1        ;first picture
  115. palette 1
  116. databegin ergo_dat
  117. headfull
  118. cfade 18,33,104,1
  119. spread 1,2,50
  120. pfree 1,2
  121. cfree 1
  122. texbox
  123. waitkey 200 ; 0 50 1
  124. return
  125.  
  126. ;----------------------
  127. pcs:
  128. pload syscomd1.pal 1
  129. pload syscom.pal 2
  130. pload mixc.pal 3
  131. cload syscomd1.pic 1 1
  132. spread 3,1,20
  133. cfade 18,33,104,1
  134. clrtop
  135. clrtext
  136. spread 1,2,40
  137. databegin pcs_dat
  138. headfull
  139. pfree 1,2,3
  140. cfree 1
  141. texbox
  142. waitkey 200 ; 0 59 2
  143. return
  144.  
  145.  
  146. ;----------------------
  147. meet:
  148. pload syscomt.pal 1
  149. pload syscom.pal 2
  150. pload andrewt.pal 3
  151. cload andrewd.pic 1 1
  152. dload andrewm.cel 1 1
  153. button
  154. clrtop
  155. clrtext
  156. spread 2,1,25            ;go cream
  157. cfade 18,33,104,1        ;fade andrew start
  158. cfree 1
  159. spread 1,3,2            ;go andrews colours
  160. pfree 1,2,3
  161. putdff 1 2 0 500 33 104        ;play andrew drawing
  162. dfree 1
  163. databegin meet_dat
  164. headfull
  165. cload people.pic 1
  166. cfade 5,33,104,1,15        ;fade actual people pic
  167. cfree 1
  168. pfree 1
  169. texbox
  170. waitkey 200 ; 1 13 3
  171. return
  172.  
  173. ;----------------------
  174. cover:
  175. button
  176. clrtop
  177. clrtext
  178. dload cover.cel 1 1
  179. putdff 1 5 0 100 33 104
  180. dfree 1
  181. databegin cover_dat
  182. texbox
  183. waitkey 200 ; 1 23 4
  184. return
  185.  
  186. ;----------------------
  187. csrange:
  188. button
  189. dload cs.cel 1 1
  190. putdff 1 10 0 100 0 74
  191. clrtext
  192. databegin cs_dat
  193. texbox
  194. waitkey 200 ; 1 33 5
  195. return
  196.  
  197. ;----------------------
  198. cxrange:
  199. button
  200. clrtext
  201. dload cx.cel 1 1
  202. putdff 1 10 0 100 0,84
  203. dfree 1
  204. databegin cx_dat
  205. texbox
  206. waitkey 200 ; 1 44 6
  207. return
  208.  
  209. ;----------------------
  210. cxe:
  211. button
  212. clrtext
  213. dload cxe.cel 1 1
  214. putdff 1 15 0 10 0,84
  215. dfree 1
  216. databegin nxe_dat
  217. texbox
  218. waitkey 200 ; 1 52 7
  219. return
  220.  
  221. ;----------------------
  222. fxrange:
  223. button
  224. clrtext
  225. dload fx.cel 1 1
  226. putdff 1 15 0 10 0,84
  227. dfree 1
  228. databegin fx_dat
  229. texbox
  230. waitkey 200 ; 2 02 8
  231. return
  232.  
  233. ;----------------------
  234. mxrange:
  235. button
  236. clrtext
  237. dload mx.cel 1 1
  238. putdff 1 15 0 10 0,84
  239. dfree 1
  240. databegin mx_dat
  241. texbox
  242. waitkey 200 ; 2 12 9
  243. clrtext
  244. texbox
  245. waitkey 200 ; 2 18 10
  246. return
  247.  
  248. ;----------------------
  249. meu:
  250. button
  251. clrtext
  252. dload meu.cel 1 1
  253. putdff 1 15 0 10 0,84
  254. dfree 1
  255. databegin meu_dat
  256. texbox
  257. waitkey 200 ; 2 26 11
  258. return
  259.              
  260. ;----------------------
  261. no_note:
  262. button
  263. dload close.cel 1 1        ;alternate section for no notebook
  264. putdff 1 6 0 10 0,69
  265. dfree 1
  266. clrtext
  267. databegin nonote_dat
  268. texbox
  269. dload nonote.flc 1 1
  270. putdff 1 2 0 500
  271. pfree 1
  272. dfree 1
  273. cload logol.pic 1 1
  274. pload logod.pal 1
  275. pload logol.pal 2
  276. waitkey 200 ; 2 42 12
  277.  
  278. cfade 5,33,104,1
  279. spread 2 1 25
  280. pload moncomd.pal 1
  281. palette 1
  282. cload moncomd.pic 1 1
  283. pload moncoml.pal 3
  284. button
  285. clrtext
  286. cfade 18,33,104,1
  287. spread 1 3 40
  288. cfree 1,2,3
  289. pfree 1
  290. databegin crts_dat
  291. texbox
  292. waitkey 200 ; 2 53 13
  293. return
  294.  
  295. ;----------------------
  296. nte:
  297. button
  298. dload close.cel 1 1
  299. putdff 1 5 0 10 0,69
  300. dfree 1
  301. clrtext
  302. dload notemorf.flc 1 1
  303. putdff 1 4 0 100
  304. dfree 1
  305. databegin note_dat
  306. texbox
  307. pload notel.pal 1
  308. pload noteclr.pal 2
  309. cload moncomd.pic 1 1
  310. pload moncoml.pal 3
  311. waitkey 200 ; 2 42 14
  312. button
  313. clrtext
  314. spread 1 2 25
  315. cfade 18,33,104,1
  316. spread 2 3 50
  317. cfree 1,2,3
  318. pfree 1
  319. databegin crts_dat
  320. texbox
  321. waitkey 200 ; 2 53 15
  322. return
  323.  
  324. ;----------------------
  325. keyb:
  326. pload moncoml.pal 1
  327. pload newkeyl.pal 2
  328. pload newkeyd.pal 3
  329. cload newkeyd.pic 1
  330. button
  331. clrtext
  332. spread 1 3 25
  333. cfade 18,33,104,1
  334. spread 3 2 50
  335. cfree 1
  336. pfree 1,2,3
  337. databegin keyb_dat
  338. texbox
  339. waitkey 200 ; 3 5 16
  340. return
  341.  
  342. ;----------------------
  343. workergo:
  344. pload newkeyl.pal 1
  345. pload    wired.pal 2
  346. pload wirel.pal 3
  347. cload wired.pic 1 1
  348. button
  349. clrtext
  350. spread 1 2 25
  351. color 0
  352. box 414,104,416,399
  353. cfade 18,33,104,1
  354. spread 2 3 50
  355. databegin wb_dat
  356. headfull
  357. pfree 1
  358. pfree 2
  359. pfree 3
  360. cfree 1
  361. texbox
  362. dload wirefix.cel 1 1
  363. dload wirefixa.cel 2 1
  364. waitkey 200 ; 3 10 17
  365. putdff 1 8 0 500 32 104
  366. mark 3
  367.     putdff 2 8 0 35 32 104    ;spin the world
  368. loop
  369. dfree 1 2
  370. waitkey 200 ; 3 40 18
  371. return
  372.  
  373. ;----------------------
  374. lock:
  375. cload lockd.pic 1 1
  376. pload lockd.pal 1
  377. pload lockl.pal 2
  378. button
  379. clrtext
  380. palette 1
  381. cfade 20 120 184 1 10
  382. spread 1 2 50
  383. cfree 1
  384. pfree 1,2
  385. databegin lock_dat
  386. texbox
  387. waitkey 20 ; 3 44 19
  388. dload keyturn.flc 1 1
  389. putdff 1 20 0 1 120 185        ;turn the key
  390. waitkey 20 ; 3 46 20
  391. putdff 1 20 1 2 120 185        ;turn it back
  392. waitkey 20 ; 3 46 20
  393. putdff 1 20 0 1 120 185
  394. waitkey 20 ; 3 46 20
  395. putdff 1 20 1 2 120 185
  396. waitkey 20 ; 3 46 20
  397. dfree 1
  398. waitkey 200
  399. return
  400.  
  401. ;----------------------
  402. durange:
  403. pload lockd.pal 1
  404. pload lockl.pal 3
  405. pload willl.pal 2
  406. cload willd.pic 1 1
  407. dload will.flc 1 1
  408. button
  409. clrtop
  410. spread 3 1 25
  411. cfade 18,120,188,1
  412. spread 1 2 50
  413. clrtext
  414. cfree 1
  415. pfree 1,2,3
  416. databegin du_dat
  417. texbox
  418. putdff 1 5 0 50 32 104
  419. waitkey 200 ; 4 7 25
  420. return
  421.  
  422.  
  423. ;----------------------
  424. ergoarm:
  425. pload willl.pal 1
  426. pload movemond.pal 2
  427. pload movemonl.pal 3
  428. cload movemond.pic 1 1
  429. dload movemon.cel 1 1
  430. spread 1 2 25
  431. button
  432. clrtext
  433. cfade 18,32,104,1
  434. spread 2 3 50
  435. cfree 1
  436. pfree 1,2,3 
  437.  
  438. databegin arm_dat
  439. texbox
  440. putdff 1 6 0 500 33 104
  441. dfree 1
  442. waitkey 200 ; 4 17 26
  443. return
  444.  
  445. ;----------------------
  446. secrts:
  447. pload movemonl.pal 1
  448. pload movemond.pal 4
  449. pload displ.pal 3
  450. cload dispd.pic 1 1
  451. spread 1 4 25
  452. button
  453. clrtext
  454. cfade 18,33,104,1
  455. spread 4,3,50
  456. cfree 1
  457. pfree 1,3,4
  458. databegin se_dat
  459. texbox
  460. waitkey 200 ; 4 26 27
  461. return
  462.  
  463. ;----------------------
  464. lcds:
  465. pload displ.pal 1
  466. pload fred.pal 2
  467. pload frel.pal 3
  468. cload fred.pic 1 1
  469. spread 1 2 25
  470. button
  471. clrtext
  472. cfade 18,33,104,1
  473. spread 2,3,50
  474. cfree 1
  475. pfree 1,2,3
  476.  
  477. databegin fre_dat
  478. texbox
  479. button
  480. waitkey 200 ; 4 34 28
  481. return
  482.  
  483. ;----------------------
  484. hightec:
  485. pload frel.pal 1
  486. pload find.pal 2
  487. pload finl.pal 3
  488. cload find.pic 1 1
  489. spread 1 2 25
  490. button
  491. clrtext
  492. cfade 18,33,104,1
  493. spread 2,3,50
  494. cfree 1
  495. pfree 1,2,3
  496. dload fin1.flc 1 1
  497. dload fin2.flc 2 1
  498. pload fixpal.pal 1
  499. palette 1
  500. putdff 1 6 1 100
  501. dfree 1
  502. putdff 2 6 0 500
  503. dfree 2
  504. pload last.pic 1
  505. pfade 5,1
  506. databegin ht_dat
  507. headfull
  508. pload 256black.pal 2
  509. spread 1 2 100
  510. pfree 1,2
  511. color 0
  512. clearscr
  513. waitkey 1
  514. waitkey 1000
  515.  
  516. return
  517.  
  518.  
  519. ;-------------------------------------------------------------------------
  520. chktime:
  521. local min @1
  522. local sec @2
  523. exec findtime.exe @min @sec 
  524.  
  525. ;color 0
  526. ;rect 0,471,280,479
  527. ;fon 3
  528. ;color 15
  529. ;local key @3
  530. ;local actual @elapsed/1000
  531. ;local actmin @actual/60
  532. ;local actsec @actual%60
  533. ;text 0,472, "Wait:"$@min$":"$@sec$"  actual: "$@actmin$":"$@actsec$" Key point:"$@key
  534. return
  535.  
  536. ;-------------------------------------------------------------------------
  537. headfull:                ;centre heading over box or screen
  538. fon @
  539. if @=="centre"
  540.     window 8,460,632,0
  541.     set center on
  542. else
  543.     window 24,460,424,0
  544.     set center on
  545. endif    
  546. text @
  547. window
  548. ffree 1,2
  549. return
  550.  
  551. texbox:                    ;write text in the text area
  552. fon 2
  553. window 436,412,636,100
  554. text @ 
  555. window
  556. ffree 2
  557. return
  558.  
  559. button:                        ;push the button
  560. dload button.dff 10 1
  561. putdff 10 5 0 20 498 15
  562. dfree 10
  563. return
  564.  
  565. clrtext:                    ;clear the text area
  566. cload clrtext.pic 10 1
  567. cfade 5 431 92 10
  568. cfree 10
  569. return
  570.  
  571. clrtop:                    ;clear the title area
  572. cload clrtop.pic 10 1
  573. cfade 5 0 418 10
  574. cfree 10
  575. return
  576.  
  577. ;-------------------------------------------------------------------------
  578. boxx:                                  
  579. set m_call 1
  580. set mh 15                              
  581. set wide 136                           
  582. set hot 15
  583. set bck 6
  584. set txt 8
  585. set sha 0
  586. window
  587. cgetbuf 126 0 0 @wide+7 (@ttl*@mh)+10 1
  588. fon 3
  589. set left on
  590. color @bck                                
  591. rect 0 0 @wide (@ttl*@mh)+10           
  592. color @txt                               
  593. box 0 0 @wide (@ttl*@mh)+10            
  594. databegin list_titles                  
  595. set y @ttl*@mh                         
  596. mark @ttl                              
  597.     window 10 @y-@mh @wide @y           
  598.     text @                              
  599.     set y @y-@mh                        
  600. loop
  601. gosub display                          
  602. ask:                                   
  603. set z @cnt                             
  604. set pcnt @cnt                          
  605. waitkey 
  606. ifkey esc out
  607. ifkey down dnarrow 
  608. ifkey up uparrow
  609. getkey k                               
  610.    if peekw(adr(@k))==13               
  611.       fadein 12,126
  612.       cfree 126
  613.       window
  614.       return                           
  615.    endif
  616. goto ask                               
  617.  
  618. uparrow:                               
  619.     if @cnt==0                          
  620.         set cnt @ttl-1                   
  621.     else    
  622.         set cnt @cnt-1                   
  623.     endif
  624.     goto proc                           
  625. dnarrow:
  626.     if @cnt==@ttl-1                     
  627.         set cnt 0                        
  628.     else
  629.         set cnt @cnt+1                   
  630.     endif
  631. proc:
  632.     gosub display2                      
  633.     gosub display                       
  634.     goto ask                            
  635.  
  636. out:                                   
  637.    exit
  638.  
  639. display:                               
  640.     set t @cnt-@ttl                     
  641.     dataskip @t                         
  642.     set y ((@ttl*@mh)-(@mh*@cnt)        
  643.     window 10 @y-@mh @wide @y           
  644.     color @hot                           
  645.     text @                              
  646.     dataskip -1-@t                      
  647. return
  648.  
  649. display2:                              
  650.     set t @z-@ttl
  651.     dataskip @t
  652.     set y (@ttl*@mh)-(@mh*@z)
  653.     window 10 @y-@mh @wide @y
  654.     color @txt
  655.     text @
  656.     dataskip -1-@t
  657. return
  658.  
  659. menucheck2:
  660. if @m_call!=0
  661.     set m_call 0
  662.     pload @1 1
  663.     pfade 5,1
  664.     palette 1
  665.    setpage 0,1
  666.    pfade 0,1
  667.    setpage 0,0
  668.    pfree 1
  669. endif
  670. return
  671.  
  672. fadein:
  673. cfade @1 ("c"$@2)->xoff ("c"$@2)->yoff @2 @3 @4
  674. return
  675.  
  676. fon:
  677. if @1==1
  678.     fload berl24b.set 1
  679.    color 4,32
  680.    set center on
  681.    font 1
  682.    fstyle 8,4
  683.    fgaps 2,10,0
  684. endif
  685. if @1==2
  686.     fload berl18.set 2
  687.    color 4,31
  688.    set left on
  689.    font 2
  690.    fstyle 8,4
  691.    fgaps 1,7,-4
  692. endif
  693. if @1==3
  694.     font 3
  695.     color 15,0
  696.     set left on
  697.     fstyle 8,1
  698.    fgaps 1,3
  699. endif
  700. return
  701.  
  702. init:
  703. video s
  704. color 0
  705. clearscr
  706. global mod_count 0         ;pointer to next module in data.dat
  707. global cnt 0               ;indice of current routine
  708. global pcnt 0              ;prior value of cnt
  709. global rnt ""              ;name of current routine
  710. global ttl 0               ;total number of routines
  711. global m_call 0       ;menu visited flag
  712. global skip 0           ;to be set to 1 if now wait needed in main loop
  713. global rm 24           ;default right margin
  714. fload normal.fnt 3
  715. return
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.