/* ** ConvertANIM.adpro ** ** $VER: ConvertANIM.adpro 1.4.0 (17.11.93) ** ** The AREXX program will take an existing ANIM(Op-5 or Op-8) file and ** convert it to ANIM(Op-5 or Op-8). ** ** This script requires ADPro v2.5.0 (or higher). ** ** Copyright © 1993 ASDG, Incorporated ** All Rights Reserved */ ADDRESS "ADPro" OPTIONS RESULTS NL = '0A'X SQ = '27'X DQ = '22'X TRUE = 1 FALSE = 0 TempDefaults = "T:TempADProDefaults" /* ** Save the current environment. */ SAVE_DEFAULTS TempDefaults PSTATUS "UNLOCKED" /* ** Select the file to convert. */ CALL "FREDSCRIPTS:FREDFunctions/GetAFile" '"Select Source ANIM"' '"ADPRO:"' '""""' TRUE srcanim = RESULT IF (srcanim = DQ||DQ) THEN DO ADPRO_TO_FRONT OKAY1 "No source filename specified." CALL ErrorOut 10 END CALL "FREDSCRIPTS:FREDFunctions/GetAFile" '"Select Destination ANIM"' '"ADPRO:"' '""""' TRUE destanim = RESULT IF (destanim = DQ||DQ) THEN DO ADPRO_TO_FRONT OKAY1 "No destination filename specified." CALL ErrorOut 10 END ADPRO_TO_FRONT OKAYN '"ConvertANIM"' '"Save as ANIM-8 or ANIM-5"' '"ANIM-8|ANIM-5|Cancel"' AnimType = RC IF (AnimType = 0) THEN DO CALL ErrorOut 10 END ELSE IF (AnimType = 1) THEN DO ADPRO_TO_FRONT OKAYN '"ConvertANIM"' '"Choose compression option"' '"WORD|LONG|Cancel"' CompCheck = RC IF (CompCheck = 0) THEN DO CALL ErrorOut 10 END ELSE IF (CompCheck = 1) THEN CompType = "WORD" ELSE IF (CompCheck = 2) THEN CompType = "LONG" END ELSE IF (AnimType = 2) THEN CompType = "BYTE" ADPRO_TO_FRONT OKAYN '"ConvertANIM"' '"Save frame options"' '"Image|Screen|Cancel"' OptCheck = RC IF (OptCheck = 0) THEN DO CALL ErrorOut 10 END ELSE IF (OptCheck = 1) THEN SaveType = "IMAGE" ELSE IF (OptCheck = 2) THEN SaveType = "SCREEN" ADPRO_TO_FRONT OKAYN '"ConvertANIM"' '"Destination compression quality?"' '"Faster|Smaller|Cancel"' CheckQual = RC IF (CheckQual = 0) THEN DO CALL ErrorOut 10 END ELSE IF (CheckQual = 1) THEN CompQual = "FASTER" ELSE IF (CheckQual = 2) THEN CompQual = "SMALLER" LOADER "ANIM" srcanim "COUNT" NumFrames = ADPRO_RESULT IF (RC > 0) THEN DO ADPRO_TO_FRONT OKAY1 "Could not load specifed ANIM file." CALL ErrorOut 10 END /* ** Ask which frames to process. */ CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Starting frame"' 1 1 NumFrames TRUE StartFrame = RESULT IF (StartFrame = (1-1)) THEN CALL ErrorOut 10 CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Ending frame"' NumFrames StartFrame NumFrames TRUE EndFrame = RESULT IF (EndFrame = (StartFrame-1)) THEN CALL ErrorOut 10 continue = FALSE framenum = StartFrame DO WHILE (continue = FALSE) LOADER "ANIM" srcanim "FRAME" framenum IF (RC > 0) THEN DO ADPRO_TO_FRONT OKAY1 "Could not load specifed ANIM file." CALL ErrorOut 10 END SCREEN_TYPE ScreenType = ADPRO_RESULT SCREEN_TYPE ScreenType EXECUTE SAVER "ANIM" destanim SaveType "APPEND" CompQual CompType IF (RC > 0) THEN DO ADPRO_TO_FRONT OKAY1 "Could not save specified ANIM." CALL ErrorOut 10 END framenum = framenum + 1 IF (framenum > EndFrame) THEN continue = TRUE END SAVER "ANIM" destanim SaveType "QUIT" IF (RC ~= 0) THEN DO ADPRO_TO_FRONT OKAY1 "Error closing dest ANIM." CALL ErrorOut 10 END CALL ErrorOut 0 ErrorOut: PARSE ARG ExitCode IF (EXISTS( srcanim )) & (ErrorCode ~= 0) THEN DO LOADER "ANIM" srcanim "QUIT" IF (RC ~= 0) THEN DO ADPRO_TO_FRONT OKAY1 "Error closing source ANIM:" || NL ||, srcanim || NL || NL ||, "You need to close it" || NL ||, "manually." END END IF (EXISTS( destanim )) & (ErrorCode ~= 0) THEN DO SAVER "ANIM" destanim "IMAGE" "QUIT" IF (RC ~= 0) THEN DO ADPRO_TO_FRONT OKAY1 "Error closing destination ANIM:" || NL ||, destanim || NL || NL ||, "You need to close it" || NL ||, "manually." END END IF (EXISTS( TempDefaults )) THEN DO LOAD_DEFAULTS TempDefaults IF (RC ~= 0) THEN DO ADPRO_TO_FRONT OKAY1 "Error restoring settings." END ADDRESS COMMAND "Delete >NIL:" TempDefaults END EXIT ExitCode