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

  1. /***********************************************************************
  2.  GADGET: "'Colour Flash'" "6" AUTO TYP: "?"
  3.  
  4.  $DAT >>ColourFlash.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.   GetArea
  14.   PARSE VAR RESULT . "FROM" From "TO" To .
  15.  
  16.   Number=To-From
  17.   IF Number>3 THEN DO
  18.  
  19.     DO FOREVER
  20.       GetAnimInfo
  21.       PARSE VAR RESULT . "FORMAT" x y t "VIEWMODE" ViewMode .
  22.       NumberColourn=2**t - 1
  23.  
  24.       COLRequest "Register 0 TITLE '*** Colour Flash ***'' ''Select a Colour Flash Colour.''Only Colour Values are''important here.'"
  25.       IF RC~=0 THEN LEAVE
  26.       BlitzColour=RESULT
  27.  
  28.       MSRequester "TITLE '*** Colour Flash ***''Select Reference Colour for Flash production and Flash Mode.'",
  29.                   "PTEXT 'Reference Colour free choice + Triangle Flash''Reference Colour free choice + increasing''Reference Colour free choice + decreasing' ",
  30.                         "'Reference Colour white + Triangle Flash''Reference Colour white + increasing''Reference Colour white + decreasing'"
  31.       IF RC~=0 THEN LEAVE
  32.       IF RESULT >3 THEN DO
  33.         BlitzMode=RESULT-3
  34.         RefR=255
  35.         RefG=255
  36.         RefB=255
  37.       END
  38.       ELSE DO
  39.         BlitzMode=RESULT
  40.         COLRequest "Register 0 TITLE '*** Colour Flash ***'' ''Select Reference Colour.''Only the Colour values''are important here'"
  41.         IF RC~=0 THEN LEAVE
  42.         RefColour=RESULT
  43.  
  44.         GetColor RefColour
  45.         PARSE VAR RESULT x RefR RefG RefB
  46.       END
  47.  
  48.       IF BlitzMode=1 THEN Number=Number/2
  49.       DO UNTIL From>To
  50.  
  51.         fa=(To-From)/Number
  52.         IF BlitzMode=1 THEN IF fa > 1 THEN fa=1-fa
  53.         IF BlitzMode=2 THEN fa=1-fa
  54.  
  55.         ViewFrame COPS From
  56.         IF RC~=0 THEN LEAVE
  57.         GetColor BlitzColour
  58.         PARSE VAR RESULT x r g b
  59.         r=r+(RefR-r)*fa
  60.         g=g+(RefG-g)*fa
  61.         b=b+(RefB-b)*fa
  62.         SetColor BlitzColour TRUNC(r) TRUNC(g) TRUNC(b)
  63.  
  64.         Record COPS
  65.         IF RC~=0 THEN LEAVE
  66.          From=From+1
  67.       END
  68.       LEAVE
  69.     END
  70.   END
  71.   ELSE Message "'For A Colour Flash Effect at''least 4 frames must be selected.'"
  72.  
  73.   FailAt AltFail
  74. exit
  75.