home *** CD-ROM | disk | FTP | other *** search
- /*
- ** SplitANIM.adpro
- **
- ** $VER: SplitANIM.adpro 1.2.0 (26.10.93)
- **
- ** This AREXX program will take an existing ANIM file and split it
- ** into two individual anims.
- **
- ** 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"
-
-
- /*
- ** Select the file to crop.
- */
-
- CALL "FREDSCRIPTS:FREDFunctions/GetAFile" '"Enter ANIM To Split Up"' '"ADPRO:"' '""""' TRUE
- IF (RESULT = DQ||DQ) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "No source ANIM specified."
- CALL ErrorOut 10
- END
- fname = RESULT
-
- ADPRO_TO_FRONT
-
- OKAYN '"SplitANIM"' '"Was this ANIM created with the Wrap-Up Option?"' '"Yes|No|Cancel"'
- IF (RC = 0) THEN DO
- CALL ErrorOut 10
- END
- ELSE IF (RC = 1) THEN
- wrap = 1
- ELSE IF (RC = 2) THEN
- wrap = 0
-
- ADPRO_TO_FRONT
-
- OKAYN '"SplitANIM"' '"Save the first ANIM with the WRAPUP option?"' '"Yes|No|Cancel"'
- IF (RC = 0) THEN DO
- CALL ErrorOut 10
- END
- ELSE IF (RC = 1) THEN
- wrap1 = 1
- ELSE IF (RC = 2) THEN
- wrap1 = 0
-
- ADPRO_TO_FRONT
-
- OKAYN '"SplitANIM"' '"Save the second ANIM with the WRAPUP option?"' '"Yes|No|Cancel"'
- IF (RC = 0) THEN DO
- CALL ErrorOut 10
- END
- ELSE IF (RC = 1) THEN
- wrap2 = 1
- ELSE IF (RC = 2) THEN
- wrap2 = 0
-
- LOADER "ANIM" fname "COUNT"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Can't find ANIM file."
- CALL ErrorOut 10
- END
-
- numframes = ADPRO_RESULT
- IF (wrap ~= 0) THEN
- numframes = numframes - 2
-
-
- CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Frame # to split at"' numframes 1 numframes TRUE
- IF (RESULT = (1-1)) THEN DO
- CALL ErrorOut 10
- END
- length1 = RESULT
-
-
- /*
- ** Get name of first ANIM.
- */
-
- CALL "FREDSCRIPTS:FREDFunctions/GetAFile" '"Name of first ANIM"' '"ADPRO:"' '""""' TRUE
- IF (RESULT = DQ||DQ) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "No ANIM specified."
- CALL ErrorOut 10
- END
- name1 = RESULT
-
- IF (EXISTS( name1 )) THEN DO
- ADPRO_TO_FRONT
-
- OKAYN '"SplitANIM"' '"Truncate existing ANIM?"' '"Start New File|Append To File|Cancel"'
- IF (RC = 0) THEN DO
- CALL ErrorOut 10
- END
- ELSE IF (RC = 1) THEN
- ADDRESS COMMAND "Delete >NIL:" name1
- END
-
-
- /*
- ** Get name of second ANIM.
- */
-
- CALL "FREDSCRIPTS:FREDFunctions/GetAFile" '"Name of second ANIM"' '"ADPRO:"' '""""' TRUE
- IF (RESULT = DQ||DQ) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "No ANIM specified."
- CALL ErrorOut 10
- END
- name2 = RESULT
-
- IF (EXISTS( name2 )) THEN DO
- ADPRO_TO_FRONT
-
- OKAYN '"SplitANIM"' '"Truncate existing ANIM?"' '"Start New File|Append To File|Cancel"'
- IF (RC = 0) THEN DO
- CALL ErrorOut 10
- END
- ELSE IF (RC = 1) THEN
- ADDRESS COMMAND "Delete >NIL:" name2
- END
-
- continue = 0
- num = 1
- DO WHILE (continue = 0)
- LOADER "ANIM" fname "FRAME" num
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error during load" || NL ||,
- "of frame " || num || "."
- CALL ErrorOut 10
- END
-
- IF (num <= length1) THEN DO
- SAVER "ANIM" name1 "APPEND" "IMAGE"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error writing frame " || num || NL ||,
- "of first ANIM."
- CALL ErrorOut 10
- END
- END
-
- IF (num = (length1 + 1)) & (wrap1 ~= 0) THEN DO
- SAVER "ANIM" name1 "WRAPUP" "IMAGE"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error wraping up first ANIM."
- CALL ErrorOut 10
- END
-
- SAVER "ANIM" name1 "QUIT" "IMAGE"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error closing up first ANIM."
- CALL ErrorOut 10
- END
- END
- ELSE IF (num = (length1 + 1)) & (wrap1 = 0) THEN DO
- SAVER "ANIM" name1 "QUIT" "IMAGE"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error closing up first ANIM."
- CALL ErrorOut 10
- END
- END
-
- IF (num > length1) THEN DO
- SAVER "ANIM" name2 "APPEND" "IMAGE"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error writing frame " || numframes - num || NL ||,
- "of second ANIM."
- CALL ErrorOut 10
- END
- END
-
- IF (num = numframes) & (wrap2 ~= 0) THEN DO
- SAVER "ANIM" name2 "WRAPUP" "IMAGE"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error wrapping up second ANIM."
- CALL ErrorOut 10
- END
-
- SAVER "ANIM" name2 "QUIT" "IMAGE"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error closing up second ANIM."
- CALL ErrorOut 10
- END
- END
- ELSE IF (num = numframes) & (wrap2 = 0) THEN DO
- SAVER "ANIM" name2 "QUIT" "IMAGE"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error closing up second ANIM."
- CALL ErrorOut 10
- END
- END
-
- num = num + 1
- IF (num > numframes) THEN
- continue = 1
- END
-
- CALL ErrorOut 0
-
-
- ErrorOut:
- PARSE ARG ExitCode
-
- IF (EXISTS( fname )) & (ErrorCode ~= 0) THEN DO
- LOADER "ANIM" fname "QUIT"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error closing source ANIM:" || NL ||,
- fname || NL || NL ||,
- "You need to close it" || NL ||,
- "manually."
- END
- END
-
- IF (EXISTS( name1 )) & (ErrorCode ~= 0) THEN DO
- SAVER "ANIM" name1 "IMAGE" "QUIT"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error closing dest ANIM 1:" || NL ||,
- name1 || NL || NL ||,
- "You need to close it" || NL ||,
- "manually."
- END
- END
-
- IF (EXISTS( name2 )) & (ErrorCode ~= 0) THEN DO
- SAVER "ANIM" name2 "IMAGE" "QUIT"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error closing dest ANIM 2:" || NL ||,
- name2 || 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
-