home *** CD-ROM | disk | FTP | other *** search
- /*
- ** SaveAsANIM.fred.pre
- **
- ** $VER: SaveAsANIM.fred.pre 1.2.1 (17.1.94)
- **
- ** If the SaveAsANIM.fred script appears in the InvokeADPro list,
- ** this program will ask the user to enter the name of an ANIM file
- ** to be written. The name will be stuffed into a REXX clip.
- **
- ** If they fail to answer, the InvokeADPro list will be aborted.
- **
- ** Clips Exported:
- ** FREDANIMName - ANIM file user picked
- ** FREDANIMWrapOnFinish - ~0 if the user wants a WRAPUP
- ** - 0 if the user doesn't want a WRAPUP
- ** FREDANIMCompressMode - Compression mode
- ** FREDANIMCompressQuality - Compression quality
- ** FREDLockPalette - ~0 if we are to pick a new palette
- ** - 0 if we are to lock the palette
- **
- ** NOTE: Clip names are case sensitive.
- **
- ** This script requires FRED v1.4.0 (or higher) to run. Also required is
- ** ADPro v2.5.0 (or higher).
- **
- ** Copyright © 1992-1993 ASDG, Incorporated
- ** All Rights Reserved
- */
-
-
- ADDRESS "ADPro"
- OPTIONS RESULTS
-
- PARSE ARG NumberOfCells NumberOfFrames
-
- NL = '0A'X
- SQ = '27'X
- DQ = '22'X
- TRUE = 1
- FALSE = 0
-
-
- /*
- ** Get the ANIM filename, whether to wrap up the file, and if the ANIM
- ** should use the palette from the first frame.
- */
-
- CALL "FREDSCRIPTS:FREDFunctions/GetAFile" '"Select ANIM File"' '""""' '""""' TRUE
- ANIMFile = RESULT
- IF (ANIMFile = DQ||DQ) THEN
- EXIT 10
-
- ADPRO_TO_FRONT
-
- OKAYN '"SaveAsANIM.fred"' '"Wrap Up Automatically?"' '"Wrap Up File|Close File|Cancel"'
- IF (RC = 0) THEN DO
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- ELSE
- WrapOnFinish = 2 - RC
-
- ADPRO_TO_FRONT
-
- OKAYN '"SaveAsANIM.fred"' '"Lock Palette to First Frame?"' '"Locked|Unlocked|Cancel"'
- IF (RC = 0) THEN DO
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- ELSE
- LockPalette = 2 - RC
-
- ADPRO_TO_FRONT
-
- CompressType.1 = "BYTE"
- CompressType.2 = "WORD"
- CompressType.3 = "LONG"
-
- OKAYN '"SaveAsANIM.fred"' '"ANIM Compression"' '"BYTE|WORD|LONG|Cancel"'
- IF (RC = 0) THEN DO
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- ELSE
- CompressTypeStr = CompressType.RC
-
- ADPRO_TO_FRONT
-
- OKAYN '"SaveAsANIM.fred"' '"ANIM Optimization"' '"Faster Compression|Smaller File Size|Cancel"'
- IF (RC = 0) THEN DO
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- ELSE IF (RC = 1) THEN
- CompressQualStr = "FASTER"
- ELSE IF (RC = 2) THEN
- CompressQualStr = "SMALLER"
-
- IF (EXISTS( ANIMFile )) THEN DO
- ADPRO_TO_FRONT
-
- OKAYN '"SaveAsANIM.fred"' '"Truncate Existing File?"' '"Start New File|Append To File|Cancel"'
- IF (RC = 0) THEN DO
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- ELSE IF (RC = 1) THEN DO
- SCREEN_TO_FRONT "FRED"
-
- CALL "FREDSCRIPTS:FREDFunctions/CheckForImageData" FALSE
- IF (RESULT ~= 0) THEN DO
- LOADER "BACKDROP" "XXX" "WIDTH" 10 "HEIGHT" 10 "COLOR"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Unable to create temp image." || NL ||,
- "Argument Information:" || NL||,
- "Width = " || 10 || NL ||,
- "Height = " || 10 || NL ||,
- "Type = " || "COLOR"
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- END
-
- CALL "FREDSCRIPTS:FREDFunctions/CheckForRenderedImageData" FALSE
- IF (RESULT ~= 0) THEN DO
- EXECUTE
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Unable to create temp rendered data."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- END
-
- SAVER "ANIM" ANIMFile "IMAGE" "QUIT"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not close current ANIM file." || NL ||,
- "Argument Information:" || NL ||,
- "Filename = " || ANIMFile || NL ||,
- "Type = " || "IMAGE" || NL ||,
- "Flags = " || "QUIT"
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- ADDRESS COMMAND "Delete >NIL:" ANIMFile
- END
- END
-
- SCREEN_TO_FRONT "FRED"
-
-
- /*
- ** Update the clips.
- */
-
- SETCLIP( "FREDANIMName", ANIMFile )
- SETCLIP( "FREDANIMWrapOnFinish", WrapOnFinish )
- SETCLIP( "FREDANIMCompressMode", CompressTypeStr )
- SETCLIP( "FREDANIMCompressQuality", CompressQualStr )
- SETCLIP( "FREDLockPalette", LockPalette )
-
- EXIT 0
-