/* ** SaveAsCDXL.fred.pre ** ** $VER: SaveAsCDXL.fred.pre 1.0.0 (25.12.93) ** ** If the SaveAsCDXL.fred script appears in the InvokeADPro list, ** this program will ask the user to enter the name of an CDXL 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: ** FREDCDXLName - CDXL file user picked ** FREDCDXLInterleave - 1 if the user wants Interleaved frames ** - 2 if the user doesn't want Interleaved frames ** FREDCDXLSaveType - Save CDXL frames as RAW or IMAGE ** FREDLockPalette - ~0 if we are to pick a new palette ** - 0 if we are to lock the palette ** FREDCDXLAppend - 0 if appending to existing pan file ** 1 if starting new pan file ** ** 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 CDXL filename. */ CALL "FREDSCRIPTS:FREDFunctions/GetAFile" '"Select CDXL File"' '""""' '""""' TRUE CDXLFile = RESULT IF (CDXLFile = DQ||DQ) THEN EXIT 10 ADPRO_TO_FRONT /* ** Check to see if the user wants the CDXL frames to be interleaved or not. */ OKAYN '"SaveAsCDXL.fred.pre"' '"Interleave CDXL frames?"' '"Interleave|Non-Interleave|Cancel"' IF (RC = 0) THEN DO SCREEN_TO_FRONT "FRED" EXIT 10 END ELSE IF (RC = 1) THEN Inter = 1 ELSE IF (RC = 2) THEN Inter = 0 /* ** Check to see if frames are to be saved as RAW or IMAGE */ OKAYN '"SaveAsCDXL.fred.pre"' '"Choose save type"' '"RAW|IMAGE|Cancel"' IF (RC = 0) THEN DO SCREEN_TO_FRONT "FRED" EXIT 10 END ELSE IF (RC = 1) THEN SaveType = "RAW" ELSE IF (RC = 2) THEN SaveType = "IMAGE" /* ** See if user wants to lock the palette to the first frame */ OKAYN '"SaveAsCDXL.fred.pre"' '"Lock palette to first frame?"' '"YES|NO|Cancel"' IF (RC = 0) THEN DO SCREEN_TO_FRONT "FRED" EXIT 10 END ELSE IF (RC = 1) THEN LockPalette = 0 ELSE IF (RC = 2) THEN LockPalette = 1 Append = 1 IF (EXISTS( CDXLFile )) THEN DO ADPRO_TO_FRONT OKAYN '"SaveAsCDXL.fred.pre"' '"Truncate existing file?"' '"Append|Replace|Cancel"' IF (RC = 0) THEN DO FRED_TO_FRONT EXIT 10 END ELSE IF (RC = 1) THEN Append = 0 ELSE IF (RC = 2) THEN DO ADDRESS COMMAND "Delete >NIL:" CDXLFile Append = 1 END SCREEN_TO_FRONT "FRED" /* ** Update the clips. */ SETCLIP( "FREDCDXLName", CDXLFile ) SETCLIP( "FREDCDXLInterleave", Inter ) SETCLIP( "FREDCDXLSaveType", SaveType ) SETCLIP( "FREDCDXLLockPalette", LockPalette ) SETCLIP( "FREDCDXLAppend", Append) EXIT 0