home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / ADPro251-3.DMS / ADPro251-3.adf / FREDScripts.lha / FREDSavers / SaveAsANIM.fred.pre < prev    next >
Encoding:
Text File  |  1994-01-31  |  3.7 KB  |  166 lines

  1. /*
  2. ** SaveAsANIM.fred.pre
  3. **
  4. ** $VER: SaveAsANIM.fred.pre 1.2.1 (17.1.94)
  5. **
  6. ** If the SaveAsANIM.fred script appears in the InvokeADPro list,
  7. ** this program will ask the user to enter the name of an ANIM file
  8. ** to be written.  The name will be stuffed into a REXX clip.
  9. **
  10. ** If they fail to answer, the InvokeADPro list will be aborted.
  11. **
  12. ** Clips Exported:
  13. **    FREDANIMName        -    ANIM file user picked
  14. **    FREDANIMWrapOnFinish    -    ~0 if the user wants a WRAPUP
  15. **                -    0 if the user doesn't want a WRAPUP
  16. **    FREDANIMCompressMode    -    Compression mode
  17. **    FREDANIMCompressQuality    -    Compression quality
  18. **    FREDLockPalette        -    ~0 if we are to pick a new palette
  19. **                -    0 if we are to lock the palette
  20. **
  21. ** NOTE: Clip names are case sensitive.
  22. **
  23. ** This script requires FRED v1.4.0 (or higher) to run.  Also required is
  24. ** ADPro v2.5.0 (or higher).
  25. **
  26. ** Copyright © 1992-1993 ASDG, Incorporated
  27. ** All Rights Reserved
  28. */
  29.  
  30.  
  31. ADDRESS "ADPro"
  32. OPTIONS RESULTS
  33.  
  34. PARSE ARG NumberOfCells NumberOfFrames
  35.  
  36. NL = '0A'X
  37. SQ = '27'X
  38. DQ = '22'X
  39. TRUE  = 1
  40. FALSE = 0
  41.  
  42.  
  43. /*
  44. ** Get the ANIM filename, whether to wrap up the file, and if the ANIM
  45. ** should use the palette from the first frame.
  46. */
  47.  
  48. CALL "FREDSCRIPTS:FREDFunctions/GetAFile" '"Select ANIM File"' '""""' '""""' TRUE
  49. ANIMFile = RESULT
  50. IF (ANIMFile = DQ||DQ) THEN
  51.     EXIT 10
  52.  
  53. ADPRO_TO_FRONT
  54.  
  55. OKAYN '"SaveAsANIM.fred"' '"Wrap Up Automatically?"' '"Wrap Up File|Close File|Cancel"'
  56. IF (RC = 0) THEN DO
  57.     SCREEN_TO_FRONT "FRED"
  58.     EXIT 10
  59. END
  60. ELSE
  61.     WrapOnFinish = 2 - RC
  62.  
  63. ADPRO_TO_FRONT
  64.  
  65. OKAYN '"SaveAsANIM.fred"' '"Lock Palette to First Frame?"' '"Locked|Unlocked|Cancel"'
  66. IF (RC = 0) THEN DO
  67.     SCREEN_TO_FRONT "FRED"
  68.     EXIT 10
  69. END
  70. ELSE
  71.     LockPalette = 2 - RC
  72.  
  73. ADPRO_TO_FRONT
  74.  
  75. CompressType.1  = "BYTE"
  76. CompressType.2  = "WORD"
  77. CompressType.3  = "LONG"
  78.  
  79. OKAYN '"SaveAsANIM.fred"' '"ANIM Compression"' '"BYTE|WORD|LONG|Cancel"'
  80. IF (RC = 0) THEN DO
  81.     SCREEN_TO_FRONT "FRED"
  82.     EXIT 10
  83. END
  84. ELSE
  85.     CompressTypeStr = CompressType.RC
  86.  
  87. ADPRO_TO_FRONT
  88.  
  89. OKAYN '"SaveAsANIM.fred"' '"ANIM Optimization"' '"Faster Compression|Smaller File Size|Cancel"'
  90. IF (RC = 0) THEN DO
  91.     SCREEN_TO_FRONT "FRED"
  92.     EXIT 10
  93. END
  94. ELSE IF (RC = 1) THEN
  95.     CompressQualStr = "FASTER"
  96. ELSE IF (RC = 2) THEN
  97.     CompressQualStr = "SMALLER"
  98.  
  99. IF (EXISTS( ANIMFile )) THEN DO
  100.     ADPRO_TO_FRONT
  101.  
  102.     OKAYN '"SaveAsANIM.fred"' '"Truncate Existing File?"' '"Start New File|Append To File|Cancel"'
  103.     IF (RC = 0) THEN DO
  104.         SCREEN_TO_FRONT "FRED"
  105.         EXIT 10
  106.     END
  107.     ELSE IF (RC = 1) THEN DO
  108.         SCREEN_TO_FRONT "FRED"
  109.  
  110.         CALL "FREDSCRIPTS:FREDFunctions/CheckForImageData" FALSE
  111.         IF (RESULT ~= 0) THEN DO
  112.             LOADER "BACKDROP" "XXX" "WIDTH" 10 "HEIGHT" 10 "COLOR"
  113.             IF (RC ~= 0) THEN DO
  114.                 ADPRO_TO_FRONT
  115.                 OKAY1 "Unable to create temp image." || NL ||,
  116.                     "Argument Information:" || NL||,
  117.                     "Width = " || 10 || NL ||,
  118.                     "Height = " || 10 || NL ||,
  119.                     "Type = " || "COLOR"
  120.                 SCREEN_TO_FRONT "FRED"
  121.                 EXIT 10
  122.             END
  123.         END
  124.  
  125.         CALL "FREDSCRIPTS:FREDFunctions/CheckForRenderedImageData" FALSE
  126.         IF (RESULT ~= 0) THEN DO
  127.             EXECUTE
  128.             IF (RC ~= 0) THEN DO
  129.                 ADPRO_TO_FRONT
  130.                 OKAY1 "Unable to create temp rendered data."
  131.                 SCREEN_TO_FRONT "FRED"
  132.                 EXIT 10
  133.             END
  134.         END
  135.  
  136.         SAVER "ANIM" ANIMFile "IMAGE" "QUIT"
  137.         IF (RC ~= 0) THEN DO
  138.             ADPRO_TO_FRONT
  139.             OKAY1 "Could not close current ANIM file." || NL ||,
  140.                 "Argument Information:" || NL ||,
  141.                 "Filename = " || ANIMFile || NL ||,
  142.                 "Type = " || "IMAGE" || NL ||,
  143.                 "Flags = " || "QUIT"
  144.             SCREEN_TO_FRONT "FRED"
  145.             EXIT 10
  146.         END
  147.  
  148.         ADDRESS COMMAND "Delete >NIL:" ANIMFile
  149.     END
  150. END
  151.  
  152. SCREEN_TO_FRONT "FRED"
  153.  
  154.  
  155. /*
  156. ** Update the clips.
  157. */
  158.  
  159. SETCLIP( "FREDANIMName", ANIMFile )
  160. SETCLIP( "FREDANIMWrapOnFinish", WrapOnFinish )
  161. SETCLIP( "FREDANIMCompressMode", CompressTypeStr )
  162. SETCLIP( "FREDANIMCompressQuality", CompressQualStr )
  163. SETCLIP( "FREDLockPalette", LockPalette )
  164.  
  165. EXIT 0
  166.