home *** CD-ROM | disk | FTP | other *** search
- /*
- ** FlipANIM.adpro
- **
- ** $VER: FlipANIM.adpro 1.3.1 (17.1.94)
- **
- ** This AREXX program will take an existing ANIM file and flip it
- ** horizontally, vertically, or both.
- **
- ** This script requires ADPro v2.5.0 (or higher).
- **
- ** Copyright © 1993-1994 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"
-
- CALL "FREDSCRIPTS:FREDFunctions/GetAFile" '"Enter ANIM To Flip"' '"ADPRO:"' '""""' TRUE
- IF (RESULT = DQ||DQ) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error, no source ANIM specified."
- CALL ErrorOut 10
- END
- SrcANIMFName = RESULT
-
- CALL "FREDSCRIPTS:FREDFunctions/GetAFile" '"Enter name of ANIM file to create"' '"ADPRO:"' '""""' TRUE
- IF (RESULT = DQ||DQ) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error, no dest ANIM specified."
- CALL ErrorOut 10
- END
- DestANIMFName = RESULT
-
- ADPRO_TO_FRONT
-
- OKAYN '"FlipANIM"' '"Flip horizontally?"' '"Flip|Don''t Flip|Cancel"'
- IF (RC = 0) THEN DO
- CALL ErrorOut 10
- END
- ELSE
- FlipHoriz = 2 - RC
-
- ADPRO_TO_FRONT
-
- OKAYN '"FlipANIM"' '"Flip vertically?"' '"Flip|Don''t Flip|Cancel"'
- IF (RC = 0) THEN DO
- CALL ErrorOut 10
- END
- ELSE
- FlipVert = 2 - RC
-
- IF (FlipHoriz = 0) & (FlipVert = 0) THEN DO
- ADDRESS COMMAND "Copy " SrcANIMFName DestANIMFName
- END
- ELSE DO
- IF (EXISTS( DestANIMFName )) THEN DO
- ADPRO_TO_FRONT
-
- OKAYN '"FlipANIM"' '"Truncate destination ANIM?"' '"Start New File|Append To File|Cancel"'
- IF (RC = 0) THEN DO
- CALL ErrorOut 10
- END
- ELSE IF (RC = 1) THEN DO
- IMAGE_TYPE
- ImageType = ADPRO_RESULT
- IF (WORD( ImageType, 1 ) = "NONE") 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"
- CALL ErrorOut 10
- END
- END
-
- IF (WORD( ImageType, 1 ) ~= "BITPLANE") THEN DO
- EXECUTE
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Unable to create temp rendered data."
- CALL ErrorOut 10
- END
- END
-
- SAVER "ANIM" DestANIMFName "IMAGE" "QUIT"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not close current ANIM file." || NL ||,
- "Argument Information:" || NL ||,
- "Filename = " || DestANIMFName || NL ||,
- "Type = " || "IMAGE" || NL ||,
- "Flags = " || "QUIT"
- CALL ErrorOut 10
- END
-
- ADDRESS COMMAND "Delete >NIL:" DestANIMFName
- END
- END
-
- LOADER "ANIM" SrcANIMFName "COUNT"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Can't find ANIM file."
- CALL ErrorOut 10
- END
-
- NumFrames = ADPRO_RESULT
-
-
- /*
- ** 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
-
-
- LOADER "ANIM" SrcANIMFName "FRAME" 1
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Cannot find source ANIM."
- CALL ErrorOut 10
- END
-
- PSTATUS "LOCKED"
-
- SCREEN_TYPE
- oldSType = ADPRO_RESULT
- SCREEN_TYPE ADPRO_RESULT
-
- CurrFrameNum = StartFrame
- continue = FALSE
- DO WHILE (continue = FALSE)
- LOADER "ANIM" SrcANIMFName "FRAME" CurrFrameNum
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error during load" || NL ||,
- "of frame " || CurrFrameNum || "."
- CALL ErrorOut 10
- END
-
- IF (FlipHoriz = TRUE) THEN DO
- OPERATOR "HORIZONTAL_FLIP"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error flipping horizontally."
- CALL ErrorOut 10
- END
- END
-
- IF (FlipVert = TRUE) THEN DO
- OPERATOR "VERTICAL_FLIP"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error flipping vertically."
- CALL ErrorOut 10
- END
- END
-
- EXECUTE
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error creating rendered data."
- CALL ErrorOut 10
- END
-
- SAVER "ANIM" DestANIMFName "APPEND" "IMAGE"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error during save" || NL ||,
- "of frame " || CurrFrameNum || "."
- CALL ErrorOut 10
- END
-
- CurrFrameNum = CurrFrameNum + 1
- IF (CurrFrameNum > EndFrame) THEN
- continue = TRUE
- END
-
- SAVER "ANIM" DestANIMFName "QUIT" "IMAGE"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error closing dest ANIM."
- CALL ErrorOut 10
- END
- END
-
- CALL ErrorOut 0
-
-
- ErrorOut:
- PARSE ARG ExitCode
-
- IF (EXISTS( SrcANIMFName )) & (ErrorCode ~= 0) THEN DO
- LOADER "ANIM" SrcANIMFName "QUIT"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error closing source ANIM:" || NL ||,
- SrcANIMFName || NL || NL ||,
- "You need to close it" || NL ||,
- "manually."
- END
- END
-
- IF (EXISTS( DestANIMFName )) & (ErrorCode ~= 0) THEN DO
- SAVER "ANIM" DestANIMFName "IMAGE" "QUIT"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Error closing dest ANIM:" || NL ||,
- DestANIMFName || 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
-