home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 126-150 / apd127 / 2 / 2.amosSourceCode next >
AMOS Source Code  |  1990-08-11  |  10KB  |  405 lines

  1. Screen Open 0,350,260,32,Lowres : Rem ---- Good Old RAMOS! 
  2. Break Off : Rem ---- Take this out so you can CRTL-C     
  3. '
  4. '                 Rob's Demo contribution for
  5. '                 the Cybornetics Mega-Effort. 
  6. '
  7. '                 These are basic text routines with 
  8. '                 pictures changing to the vu's. 
  9. '
  10. '                 All credits are in the text! 
  11. '
  12. '                 Written on 13/1/91.  
  13. '  
  14. '                 Updated on 3/2/91. 
  15. '
  16. '
  17. '
  18. Dim MESSAGE$(28) : Rem ---- The number of messages
  19. Global ROUTINE,MESSAGE$(),MESSAGE_NO,PIC_TURE
  20. MESSAGE_NO=1 : Rem ---- 
  21. PIC_TURE=1 : Rem   ---- Starting Values 
  22. ROUTINE=1 : Rem    ----  
  23. '
  24. SETUP
  25. MUZIK
  26. '
  27. Every 200 Proc CHECK_ROUTINE
  28. '
  29. Sprite 7,350,350,7
  30. '
  31. Sprite 8,70,160,10
  32. A$="A 0, (1,3)(2,3)(3,3)(4,3)(5,3)(6,3)(7,3)(8,3)(9,3)(10,3) ; "
  33. A$=A$+"L: M 7,0,2 ;J L"
  34. Amal 8,A$
  35. '
  36. Sprite 9,70,230,11
  37. B$="A 0, (11,3)(12,3)(13,3)(14,3)(15,3)(16,3)(17,3)(18,3)(19,3)(20,3) ; "
  38. B$=B$+"L: M 7,0,2 ;J L"
  39. Amal 9,B$
  40. '
  41. Amal On 
  42. '  
  43. Repeat 
  44.    If Vumeter(1)>50
  45.       CHANGE_PIC
  46.    End If 
  47. Until Mouse Key=1 : Rem ---- Waits for the mouse before ending 
  48. '
  49. FINISH
  50. '
  51. Procedure FINISH
  52.    Every Off 
  53.    For MUZ=63 To 0 Step -1
  54.       Wait 2
  55.       Mvolume MUZ : Rem ----   Fades the Muzik 
  56.    Next MUZ
  57.    BYE_ANIM
  58. End Proc
  59. '
  60. Procedure SETUP
  61.    '
  62.    ' ---- Screen 0 is used as the main screen 
  63.    ' ---- Screen 1 holds the pictures and logos 
  64.    ' ---- Screen 2 is where the messages are written  
  65.    ' ---- Screen 3 is the animation pictures
  66.    '
  67.    ' ---- This demo requires the Bocklin font to run
  68.    '
  69.    Screen 0 : Paper 0 : Hide On : Flash Off : Curs Off : Cls 
  70.    Screen Open 2,320,200,32,Lowres : Rem ---- messages  
  71.    Screen 2 : Paper 31 : Hide On : Curs Off : Cls : Screen Hide 2
  72.    Screen 2 : Ink 0,31, : Paper 31 : Cls 
  73.    Get Fonts 
  74.    Set Font 3 : Rem ---- That lovely Bocklin thingy
  75.    Set Text 2
  76.    Screen Hide 2
  77.    '
  78.    Unpack 8 To 3 : Rem ---- Animation bits
  79.    Screen Hide 3
  80.    Unpack 7 To 1 : Screen Hide 1 : Rem ---- Simpleton Picture 
  81.    Screen To Front 0 : Screen 0 : Get Palette 1
  82.    WOOSH
  83.    Screen Copy 1,1,1,125,248 To 0,20,9 : Rem ---- my Main Man!
  84.    SET_UP_MESSAGES
  85. End Proc
  86. '
  87. Procedure MUZIK
  88.    Music 1 : Rem ---- I can't remember what this does!
  89. End Proc
  90. '
  91. Procedure CHANGE_PIC
  92.    Screen 0 : Ink 31 : Bar 160,19 To 320,255 : Rem ---- clears the piccy bit
  93.    On PIC_TURE Proc PIC1,PIC2,PIC3,PIC4,PIC5,PIC6 : Rem ---- calls the relevant procedure
  94.    Add PIC_TURE,1,1 To 6
  95.    '
  96. End Proc
  97. '
  98. Procedure PIC1
  99.    Screen Copy 1,250,100,310,200 To 0,205,110
  100. End Proc
  101. '
  102. Procedure PIC2
  103.    Screen Copy 1,270,12,315,80 To 0,205,23
  104. End Proc
  105. '
  106. Procedure PIC3
  107.    Screen Copy 1,135,208,256,250 To 0,166,95
  108. End Proc
  109. '
  110. Procedure PIC4
  111.    Screen Copy 1,130,156,245,205 To 0,172,180
  112. End Proc
  113. '
  114. Procedure PIC5
  115.    Screen Copy 1,130,78,247,157 To 0,172,95
  116. End Proc
  117. '
  118. Procedure PIC6
  119.    Screen Copy 1,130,2,270,76 To 0,162,20
  120. End Proc
  121. '
  122. Procedure CHECK_ROUTINE
  123.    ' ---- this calls the procedure which calls the text wipe which calls an anim. 
  124.    On ROUTINE Proc ROUTE1,ROUTE2,ROUTE3,ROUTE4,ROUTE5,ROUTE6,ROUTE7
  125. End Proc
  126. '
  127. Procedure ROUTE1
  128.    TUNG
  129.    DROP_TEXT
  130. End Proc
  131. '
  132. Procedure ROUTE2
  133.    WINK
  134.    DROP_TEXT_II
  135. End Proc
  136. '
  137. Procedure ROUTE3
  138.    TUNG
  139.    DROP_TEXT_III
  140. End Proc
  141. '
  142. Procedure ROUTE4
  143.    WINK
  144.    DROP_TEXT_IV
  145. End Proc
  146. '
  147. Procedure ROUTE5
  148.    TUNG
  149.    DROP_TEXT_V
  150. End Proc
  151. '
  152. Procedure ROUTE6
  153.    WINK
  154.    DROP_TEXT_VI
  155. End Proc
  156. '
  157. Procedure ROUTE7
  158.    TUNG
  159.    DROP_TEXT_VII
  160. End Proc
  161. '
  162. Procedure DROP_TEXT
  163.    ' ---- wipe on from the left 
  164.    Screen 2 : Ink 0 : Paper 31 : Cls 
  165.    '
  166.    Text 1,12,MESSAGE$(MESSAGE_NO)
  167.    A=0
  168.    Repeat 
  169.       Screen Copy 2,A,4,A+1,15 To 0,A,0
  170.       Inc A
  171.    Until A=320
  172.    Inc MESSAGE_NO
  173.    If MESSAGE_NO=5 : Rem --- if it's the end of the messages. 
  174.       ROUTINE=2
  175.    End If 
  176.    Every On 
  177. End Proc
  178. '
  179. Procedure DROP_TEXT_II
  180.    ' ---- wipe on from the right
  181.    Screen 2 : Ink 0 : Paper 31 : Cls 
  182.    '
  183.    Text 1,12,MESSAGE$(MESSAGE_NO)
  184.    A=320
  185.    Repeat 
  186.       Screen Copy 2,A,4,A+1,15 To 0,A,0
  187.       Dec A
  188.    Until A=0
  189.    Inc MESSAGE_NO
  190.    If MESSAGE_NO=9 : Rem  ---- if it's the end of the messages. 
  191.       ROUTINE=3
  192.    End If 
  193.    Every On 
  194. End Proc
  195. '
  196. Procedure DROP_TEXT_III
  197.    ' ---- meet in the middle
  198.    Screen 2 : Ink 0 : Paper 31 : Cls 
  199.    Text 1,12,MESSAGE$(MESSAGE_NO)
  200.    A=320
  201.    B=0
  202.    Repeat 
  203.       Screen Copy 2,A,4,A+1,15 To 0,A,0
  204.       Screen Copy 2,B,4,B+1,15 To 0,B,0
  205.       Dec A
  206.       Inc B
  207.    Until A=150
  208.    Inc MESSAGE_NO
  209.    If MESSAGE_NO=13 : Rem ---- if it's the end of the messages.  
  210.       ROUTINE=4
  211.    End If 
  212.    Every On 
  213. End Proc
  214. '
  215. Procedure DROP_TEXT_IV
  216.    ' ---- go from the middle outwards 
  217.    Screen 2 : Ink 0 : Paper 31 : Cls 
  218.    Text 1,12,MESSAGE$(MESSAGE_NO)
  219.    A=150
  220.    B=150
  221.    Repeat 
  222.       Screen Copy 2,A,4,A+1,15 To 0,A,0
  223.       Screen Copy 2,B,4,B+1,15 To 0,B,0
  224.       Dec A
  225.       Inc B
  226.    Until A=0
  227.    Inc MESSAGE_NO
  228.    If MESSAGE_NO=17 : Rem ---- if it's the end of the messages.    
  229.       ROUTINE=5
  230.    End If 
  231.    Every On 
  232. End Proc
  233. '
  234. Procedure DROP_TEXT_V
  235.    ' ---- go from the middle and the edge.  ooerr.
  236.    Screen 2 : Ink 0 : Paper 31 : Cls 
  237.    '
  238.    Text 1,12,MESSAGE$(MESSAGE_NO)
  239.    A=150
  240.    B=150
  241.    C=0
  242.    D=320
  243.    Repeat 
  244.       Screen Copy 2,A,4,A+1,15 To 0,A,0
  245.       Screen Copy 2,B,4,B+1,15 To 0,B,0
  246.       Screen Copy 2,C,4,C+1,15 To 0,C,0
  247.       Screen Copy 2,D,4,D+1,15 To 0,D,0
  248.       Dec A
  249.       Inc B
  250.       Inc C
  251.       Dec D
  252.    Until A=55
  253.    Inc MESSAGE_NO
  254.    If MESSAGE_NO=21 : Rem ---- if it's the end of the messages.  
  255.       ROUTINE=6
  256.    End If 
  257.    Every On 
  258. End Proc
  259. '
  260. Procedure DROP_TEXT_VI
  261.    ' ---- come down from top
  262.    Screen 2 : Ink 0 : Paper 31 : Cls 
  263.    '
  264.    Text 1,12,MESSAGE$(MESSAGE_NO)
  265.    A=0
  266.    Repeat 
  267.       Screen Copy 2,0,A+4,320,A+5 To 0,0,A
  268.       For T=1 To 500 : Next T
  269.       Inc A
  270.    Until A=15
  271.    Inc MESSAGE_NO
  272.    If MESSAGE_NO=25 : Rem ---- if it's the end of the messages.  
  273.       ROUTINE=7
  274.    End If 
  275.    Every On 
  276. End Proc
  277. '
  278. Procedure DROP_TEXT_VII
  279.    ' ---- go up from bottom 
  280.    Screen 2 : Ink 0 : Paper 31 : Cls 
  281.    '
  282.    Text 1,12,MESSAGE$(MESSAGE_NO)
  283.    A=15
  284.    Repeat 
  285.       Screen Copy 2,0,A+4,320,A+5 To 0,0,A
  286.       For T=1 To 500 : Next T
  287.       Dec A
  288.    Until A=0
  289.    Inc MESSAGE_NO
  290.    If MESSAGE_NO=29 : Rem ---- if it's the end of the messages.  
  291.       ROUTINE=1 : MESSAGE_NO=1
  292.    End If 
  293.    Every On 
  294. End Proc
  295. '
  296. Procedure WINK
  297.    ' ---- winks his eye 
  298.    For A=4 To 132 Step 32
  299.       Screen Copy 3,A,13,A+24,36 To 0,81,48
  300.       Wait 1
  301.    Next A
  302.    Wait 2
  303.    For A=100 To 4 Step -32
  304.       Screen Copy 3,A,13,A+24,36 To 0,81,48 : Rem ---- next stage
  305.       Wait 1
  306.    Next A
  307.    Every On : Rem ---- continue loop 
  308. End Proc
  309. '
  310. Procedure TUNG
  311.    ' ---- sticks his tounge out at you
  312.    For A=176 To 272 Step 32
  313.       Screen Copy 3,A,16,A+25,41 To 0,69,100
  314.       Wait 2
  315.    Next A
  316.    Wait 2
  317.    For A=240 To 176 Step -32
  318.       Screen Copy 3,A,16,A+25,41 To 0,69,100
  319.       Wait 2
  320.    Next A
  321.    Screen Copy 1,50,92,82,124 To 0,69,100 : Rem ---- no tounge 
  322.    Every On 
  323. End Proc
  324. '
  325. Procedure BYE_ANIM
  326.    ' ---- shoots the catapault
  327.    Every Off 
  328.    Amal Off 
  329.    Sprite Off 
  330.    Screen 0 : Ink 31 : Bar 160,19 To 320,255
  331.    TUNG
  332.    Wait 30
  333.    Screen Copy 3,8,48,40,80 To 0,29,84 : Rem ---- finger 1
  334.    Wait 2
  335.    Screen Copy 3,137,50,190,96 To 0,30,86 : Rem ---- ball move 1 
  336.    Wait 2
  337.    Screen Copy 3,72,50,129,95 To 0,29,86
  338.    Wait 2
  339.    Sam Play 1
  340.    Screen Copy 3,80,120,280,250 To 0,140,100 : Rem ---- big ball
  341.    Wait 30
  342.    Every Off 
  343.    WINK
  344.    Every Off 
  345.    MEGA_WIPE
  346. End Proc
  347. '
  348. Procedure MEGA_WIPE
  349.    ' ---- that bit at the end where the screen fades
  350.    Ink 31
  351.    Music 1 : Mvolume 60
  352.    Tempo 25
  353.    Every Off 
  354.    For S=1 To 255
  355.       For T=S To 255 Step 11
  356.          Bar 1,T To 320,T+1
  357.       Next T
  358.    Next S
  359.    For VOL=60 To 0 Step -1
  360.       Mvolume VOL : Rem ---- Play the music at a ridiculous speed
  361.       Wait 1
  362.    Next VOL
  363. End Proc
  364. '
  365. Procedure SET_UP_MESSAGES
  366.    ' ---- define the message numbers
  367.    MESSAGE$(1)="  YO!  And welcome to Rob's bit in this demo.              "
  368.    MESSAGE$(2)="      Greetz to all members of Cybornetics!                "
  369.    MESSAGE$(3)="        Yo Matt! What else do you want???                  "
  370.    MESSAGE$(4)="     Shall we try a different text wipe???                 "
  371.    MESSAGE$(5)="         How about this then!  Not bad eh.                 "
  372.    MESSAGE$(6)="  ***  This demo was done by Rob of CYS ***                "
  373.    MESSAGE$(7)="            Thankz to Stew for the muzic!                  "
  374.    MESSAGE$(8)="  He done the music fo the whole mega-demo.                "
  375.    MESSAGE$(9)="  Yeah!!  Rave on dudes.  Who needs sprites???             "
  376.    MESSAGE$(10)="      This demo just keeps getting better.                 "
  377.    MESSAGE$(11)="        Cowabunga!  This is really Awesome!                "
  378.    MESSAGE$(12)="            Or it could go this way!!!!                    "
  379.    MESSAGE$(13)="       ooerr.  This is starting to bore me!                "
  380.    MESSAGE$(14)=" What shall I do now to liven thing up a bit?              "
  381.    MESSAGE$(15)="  What about some more interesting routines?               "
  382.    MESSAGE$(16)="         <<<  Ok!  Lets do it now!!!  >>>                  "
  383.    MESSAGE$(17)="     This is the last type of wipe I done!                 "
  384.    MESSAGE$(18)="     You can press the mouse button to quit                "
  385.    MESSAGE$(19)="  Contact us if you like our stuff. (please!)              "
  386.    MESSAGE$(20)="           Oh well, Here we go again....                   "
  387.    MESSAGE$(21)="        So! I Lied....  This is Well 'Ard                  "
  388.    MESSAGE$(22)="     Cybornetics are Taking on the WORLD !                 "
  389.    MESSAGE$(23)="        Did anyone Catch My Arnie Demo?                    "
  390.    MESSAGE$(24)="             Good wasn't it !!!!!!                         "
  391.    MESSAGE$(25)="  There are Rumours of a NEW Member Joining Us             "
  392.    MESSAGE$(26)="  Stay Tuned To our Demos for more Information             "
  393.    MESSAGE$(27)="    Now Honestly This is the last Wipe Type!               "
  394.    MESSAGE$(28)="             So Here we go Again!!!!!                      "
  395. End Proc
  396. '
  397. Procedure WOOSH
  398.    ' ---- the pretty coulours at the start
  399.    For CTR=$0 To $FFF Step $11
  400.       Colour FFF,CTR
  401.       For T=1 To 500
  402.       Next T
  403.    Next CTR
  404.    Screen 0 : Colour FFF,0 : Paper 31 : Cls 
  405. End Proc