home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 61 / af061a.adf / Macros / Mix03.clssa < prev    next >
Text File  |  1993-05-03  |  2KB  |  92 lines

  1. /***********************************************************************
  2.  GADGET: "Pap-Rap" "2" AUTO TYP: "?"
  3.  
  4.  $DAT >>Mix03.clssa<< 01 May 1993 - (C) ProDAD Holger Burkarth
  5. ************************************************************************/
  6.  
  7. Options Results
  8. Address clariSSA
  9.  
  10.   FailAt 10
  11.   AltFail=RESULT
  12.  
  13.   DO FOREVER
  14.     Anims=""
  15.     GetAnimInfo Source_A
  16.     IF RESULT~='' THEN Anims=Anims||" Source_A "
  17.     GetAnimInfo Source_B
  18.     IF RESULT~='' THEN Anims=Anims||" Source_B "
  19.     GetAnimInfo Source_C
  20.     IF RESULT~='' THEN Anims=Anims||" Source_C "
  21.     GetAnimInfo Source_D
  22.     IF RESULT~='' THEN Anims=Anims||" Source_D "
  23.  
  24.     IF Anims~='' THEN DO
  25.       SelectAnim Anims "TITLE 'Select the Source Anim@for the Rap.' REQ"
  26.       IF rc~=0 THEN LEAVE
  27.       SelectAnim RESULT
  28.  
  29.       GetAnimInfo
  30.       PARSE VAR RESULT . "FRAMES" Max .
  31.       IF MAX >=2 THEN DO
  32.         GetArea
  33.         MerkeArea=RESULT
  34.         PARSE VAR RESULT "FROM" Start "TO" Ende .
  35.  
  36.         Normal=0
  37.         MSRequester "TITLE '*** Pap - Rap ***''Please Select Rap Mode'",
  38.                     "PTEXT 'Normal Rap''Dynamic Rap'"
  39.         IF RC~=0 THEN LEAVE
  40.         IF RESULT=1 THEN Normal=1
  41.  
  42.         IF Normal=0 THEN DO
  43.           Ver=170
  44.           INTRequest "'Extend The Anim' 'By How Much (1-1000%)?'" Ver
  45.           IF RC~=0 THEN LEAVE
  46.           Ver=MAX(1,MIN(1000,RESULT))
  47.  
  48.  
  49.           Sch=50
  50.           INTRequest "'Maximum Rap curve' 'as Percent of Length (1-99%)?'" Sch
  51.           IF RC~=0 THEN LEAVE
  52.           Sch=MAX(1,MIN(99,RESULT))
  53.  
  54.           z=0
  55.           Anz=(Ende-Start) * Ver/100
  56.           s=Sch/100
  57.           a=1/(s*s-s)
  58.           b=-a
  59.           DO UNTIL Anz<z
  60.             x=z/Anz
  61.             y= a*x*x + b*x
  62.             y=y*(Ende-Start) + Start
  63.  
  64.             SetArea FROM y TO y
  65.             Record AREA
  66.             IF RC~=0 THEN LEAVE
  67.             z=z+1
  68.           END
  69.  
  70.         END
  71.         ELSE DO
  72.           Record AREA
  73.           IF RC~=0 THEN LEAVE
  74.           SetArea TOGGLE
  75.           Record AREA
  76.           IF RC~=0 THEN LEAVE
  77.           SetArea TOGGLE
  78.           Record AREA
  79.           IF RC~=0 THEN LEAVE
  80.         END
  81.  
  82.         SetArea MerkeArea
  83.         SelectAnim MASTER
  84.         SSAControl DoDMO DDOAlloc
  85.  
  86.       END; ELSE Message '"Number of frames too low!"'
  87.     END; ELSE Message '"No Source Anim selected!"'
  88.     LEAVE
  89.   END
  90.   FailAt AltFail
  91. exit
  92.