home *** CD-ROM | disk | FTP | other *** search
- /*
- ** JoinANIMs.adpro
- **
- ** $VER: JoinANIMs.adpro 1.2.0 (23.10.93)
- **
- ** This AREXX program will take some existing ANIM files and join them
- ** into one composite ANIM.
- **
- ** This script requires ADPro v2.5.0 (or higher).
- **
- ** Copyright © 1990-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"
-
-
- /*
- ** Get the number of ANIMs to join.
- */
-
- CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"How many ANIMs to join"' 2 2 10 TRUE
- IF (RESULT = (2-1)) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "No number specified."
- CALL ErrorOut 10
- END
- numANIMS = RESULT
-
- num = 1
- continue = 0
- DO WHILE (continue = 0)
- string = "Enter ANIM # "num
-
- CALL "FREDSCRIPTS:FREDFunctions/GetAFile" '"'string'"' '"ADPRO:"' '""""' TRUE
- IF (RESULT = DQ||DQ) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error, no ANIM specified."
- CALL ErrorOut 10
- END
- fname.num = RESULT
-
- ADPRO_TO_FRONT
-
- OKAYN '"JoinANIM"' '"Was this ANIM created with the Wrap-Up option?"' '"Yes|No|Cancel"'
- WrapCheck = RC
-
- IF (WrapCheck = 0) THEN DO
- CALL ErrorOut 10
- END
- ELSE IF (WrapCheck = 1) THEN
- wrap.num = 1
- ELSE IF (WrapCheck = 2) THEN
- wrap.num = 0
-
- num = num + 1
- IF (num > numANIMS) THEN
- continue = 1
- END
-
-
- CALL "FREDSCRIPTS:FREDFunctions/GetAFile" '"Enter name of destination ANIM"' '"ADPRO:"' '""""' TRUE
- IF (RESULT = DQ||DQ) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error, no destination ANIM specified."
- CALL ErrorOut 10
- END
- destName = RESULT
-
- IF (EXISTS( destName )) THEN DO
- ADPRO_TO_FRONT
-
- OKAYN '"JoinANIM"' '"Truncate existing ANIM?"' '"Start New File|Append To File|Cancel"'
- TrunCheck = RC
-
- IF (TrunCheck = 0) THEN DO
- CALL ErrorOut 10
- END
- ELSE IF (TrunCheck = 1) THEN
- truncdest = 1
- ELSE IF (TrunCheck = 2) THEN
- truncdest = 0)
-
- IF (truncDest = 1) THEN
- ADDRESS COMMAND "Delete >NIL:" destName
- END
-
- ADPRO_TO_FRONT
-
- OKAYN '"JoinANIM"' '"Save dest. ANIM with Wrap-Up option?"' '"Wrap-Up|No Wrap-Up|Cancel"'
- DestWrapCheck = RC
-
- IF (DestWrapCheck = 0) THEN DO
- CALL ErrorOut 10
- END
- ELSE IF (DestWrapCheck = 1) THEN
- wrapDest = 1
- ELSE IF (DestWrapCheck = 2) THEN
- wrapDest = 0
-
- num = 1
- continue = 0
- DO WHILE (continue = 0)
- LOADER "ANIM" fname.num "COUNT"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Can't find ANIM file."
- CALL ErrorOut 10
- END
-
- numframes = ADPRO_RESULT
- IF (wrap.num ~= 0) THEN
- numframes = numframes - 2
-
- num2 = 1
- continue2 = 0
- DO WHILE (continue2 = 0)
- LOADER "ANIM" fname.num "FRAME" num2
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error during load." || NL ||,
- fname.num || NL ||,
- "frame # " || num2
- CALL ErrorOut 10
- END
-
- SAVER "ANIM" destName "APPEND" "IMAGE"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error writing frame " || num2 || NL ||,
- "of destination ANIM."
- CALL ErrorOut 10
- END
-
- num2 = num2 + 1
- IF (num2 > numframes) THEN
- continue2 = 1
- END
-
- num = num + 1
- IF (num > numANIMS) THEN
- continue = 1
- END
-
- IF (wrapDest ~= 0) THEN DO
- SAVER "ANIM" destName "WRAPUP" "IMAGE"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error wraping up destination ANIM."
- CALL ErrorOut 10
- END
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error closing up destination ANIM."
- CALL ErrorOut 10
- END
- END
-
- CALL ErrorOut 0
-
-
- ErrorOut:
- PARSE ARG ExitCode
-
- IF (ErrorCode ~= 0) THEN DO
- num = 1
- DO UNTIL (num > numANIMS)
- IF (EXISTS( fname.num )) THEN DO
- LOADER "ANIM" fname.num "QUIT"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error closing source ANIM:" || NL ||,
- fname.num || NL || NL ||,
- "You need to close it" || NL ||,
- "manually."
- END
- END
-
- num = num + 1
- END
-
- IF (EXISTS( destName )) THEN DO
- SAVER "ANIM" destName "IMAGE" "QUIT"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error closing dest ANIM:" || NL ||,
- destName || NL || NL ||,
- "You need to close it" || NL ||,
- "manually."
- END
- 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
-