home *** CD-ROM | disk | FTP | other *** search
/ Fujiology Archive / fujiology_archive_v1_0.iso / !FALCON / LINEOUT / DELTA.ZIP / DELTASRC.ZIP / DELTA.SRC / ALPHA_P.S < prev    next >
Text File  |  2003-01-04  |  3KB  |  123 lines

  1. ;===========================================================================
  2. ; example part for inclusion in demo.s
  3. ;
  4. ; earx/lineout  2002
  5. ;
  6. ;---------------------------------------------------------------------------
  7.  
  8. ; This table must be first in the part!
  9.     DC.L    Alpha.init
  10.     DC.L    Alpha.start
  11.     DC.L    Alpha.stop
  12.  
  13.  
  14. Alpha.screenTable:
  15.     DC.L    0                ; dummy (required)
  16.     DC.L    Interfer.table            ; 01 used
  17.     DC.L    Water.table             ; 02 used (bug? prolly not!)
  18.     DC.L    BlurZoom.table            ; 03 used (bug?)
  19.     DC.L    DspWaves.table            ; 04 used (bug?)
  20.     DC.L    Plasma.table            ; 05 used (bug?)
  21.     DC.L    Flare.table            ; 06 used
  22.     DC.L    Lenses.table            ; 07 used
  23.     DC.L    RotoZoomer.table        ; 08 used (bug?)
  24.     DC.L    TunnelBlob.table        ; 09 used
  25.     DC.L    RayPlane.table            ; 0A used
  26.     DC.L    ZVoxel.table            ; 0B used
  27.     DC.L    Radial.table            ; 0C used
  28.     DC.L    ZSphere.table            ; 0D used
  29.     DC.L    Pinch.table            ; 0E used
  30.     DC.L    0                ; terminator (required)
  31.  
  32.  
  33. ; Initializes this part and returns references and statistics.
  34. ; OUTPUT:
  35. ; d0.l: =0: success, <0: error
  36. ; a0: screentable
  37. ; a1: sub fx count table (filled)
  38. Alpha.init:
  39.     lea    Alpha.screenTable,a0
  40.     bsr.l    initScreens
  41.     tst.l    d0
  42.     bmi.s    .error
  43.     move.w    d0,Alpha.screenCount
  44.  
  45.     lea    Alpha.screenTable,a0
  46.     lea    Alpha.countTable,a1
  47.     bsr.l    countSubFx
  48.  
  49.     lea    Alpha.screenTable,a0
  50.     lea    Alpha.countTable,a1
  51.  
  52.     clr.l    d0
  53. .error:    rts
  54.  
  55. ; Initializes this part for action. Starts the music, if any.
  56. ; OUTPUT:
  57. ; d0.l: >=0: #screens, <0: error
  58. Alpha.start:
  59.     lea    Alpha.modName,a0
  60.     bsr.l    playMod
  61.     tst.w    d0
  62.     bmi.s    .end
  63.  
  64. ; todo: remove tests
  65. ;    move.w    #$15,EarxPlay.position            ; blurzoom
  66. ;    move.w    #$1F,EarxPlay.position            ; water
  67. ;    move.w    #$24,EarxPlay.position            ; interfer
  68. ;    move.w    #$31,EarxPlay.position            ; zsphere
  69. ;    move.w    #$44,EarxPlay.position            ; zvoxel
  70. ;    move.w    #$72,EarxPlay.position            ; pinch
  71.  
  72.     move.w    Alpha.screenCount,d0
  73.  
  74. .end:    rts
  75.  
  76. ; Stops all music or other part specific background processes.
  77. Alpha.stop:
  78.     bsr.l    EarxPlay.stop
  79.     rts
  80.  
  81. ; screens..
  82.     INCLUDE    INTERFER.SO
  83.     TEXT
  84.     INCLUDE    WATER.SO
  85.     TEXT
  86.     INCLUDE    BLURZOO2.SO
  87.     TEXT
  88.     INCLUDE    DSPWAVES.SO
  89.     TEXT
  90.     INCLUDE    PLASMA.SO
  91.     TEXT
  92.     INCLUDE    FLARE.SO
  93.     TEXT
  94.     INCLUDE    LENSES.SO
  95.     TEXT
  96.     INCLUDE    ROTOZOOM.SO
  97.     TEXT
  98.     INCLUDE    TNLBLOB2.SO
  99.     TEXT
  100.     INCLUDE    RAYPLANE.SO
  101.     TEXT
  102.     INCLUDE    ZVOXEL.SO
  103.     TEXT
  104.     INCLUDE    RADIALT.SO
  105.     TEXT
  106.     INCLUDE    ZSPHERE.SO
  107.     TEXT
  108.     INCLUDE    PINCH.SO
  109.     TEXT
  110.  
  111.     DATA
  112.  
  113. Alpha.modName:
  114.     DC.B    "A.MOD",0
  115.     EVEN
  116.  
  117.     BSS
  118.  
  119. Alpha.screenCount:
  120.     DS.W    1                    ; #screens in part
  121. Alpha.countTable:
  122.     DS.B    128                    ; #events per screen
  123.