home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / ADPro251-3.DMS / ADPro251-3.adf / ADProScripts.lha / ConvertANIM.adpro < prev    next >
Encoding:
Text File  |  1994-01-31  |  3.9 KB  |  206 lines

  1. /*
  2. ** ConvertANIM.adpro
  3. ** 
  4. ** $VER: ConvertANIM.adpro 1.4.0 (17.11.93)
  5. **
  6. ** The AREXX program will take an existing ANIM(Op-5 or Op-8) file and
  7. ** convert it to ANIM(Op-5 or Op-8).
  8. **
  9. ** This script requires ADPro v2.5.0 (or higher).
  10. **
  11. ** Copyright © 1993 ASDG, Incorporated
  12. ** All Rights Reserved
  13. */
  14.  
  15.  
  16. ADDRESS "ADPro"
  17. OPTIONS RESULTS
  18.  
  19. NL = '0A'X
  20. SQ = '27'X
  21. DQ = '22'X
  22. TRUE  = 1
  23. FALSE = 0
  24. TempDefaults = "T:TempADProDefaults"
  25.  
  26.  
  27. /*
  28. ** Save the current environment.
  29. */
  30.  
  31. SAVE_DEFAULTS TempDefaults
  32.  
  33.  
  34. PSTATUS "UNLOCKED"
  35.  
  36.  
  37. /*
  38. ** Select the file to convert.
  39. */
  40.  
  41. CALL "FREDSCRIPTS:FREDFunctions/GetAFile" '"Select Source ANIM"' '"ADPRO:"' '""""' TRUE
  42. srcanim = RESULT
  43. IF (srcanim = DQ||DQ) THEN DO
  44.     ADPRO_TO_FRONT
  45.     OKAY1 "No source filename specified."
  46.     CALL ErrorOut 10
  47. END
  48.  
  49. CALL "FREDSCRIPTS:FREDFunctions/GetAFile" '"Select Destination ANIM"' '"ADPRO:"' '""""' TRUE
  50. destanim = RESULT
  51. IF (destanim = DQ||DQ) THEN DO
  52.     ADPRO_TO_FRONT
  53.     OKAY1 "No destination filename specified."
  54.     CALL ErrorOut 10
  55. END
  56.  
  57. ADPRO_TO_FRONT
  58.  
  59. OKAYN '"ConvertANIM"' '"Save as ANIM-8 or ANIM-5"' '"ANIM-8|ANIM-5|Cancel"'
  60. AnimType = RC
  61.  
  62. IF (AnimType = 0) THEN DO
  63.     CALL ErrorOut 10
  64. END
  65. ELSE IF (AnimType = 1) THEN DO
  66.     ADPRO_TO_FRONT
  67.  
  68.     OKAYN '"ConvertANIM"' '"Choose compression option"' '"WORD|LONG|Cancel"'
  69.     CompCheck = RC
  70.  
  71.     IF (CompCheck = 0) THEN DO
  72.         CALL ErrorOut 10
  73.     END
  74.     ELSE IF (CompCheck = 1) THEN
  75.         CompType = "WORD"
  76.     ELSE IF (CompCheck = 2) THEN
  77.         CompType = "LONG"
  78. END
  79. ELSE IF (AnimType = 2) THEN
  80.     CompType = "BYTE"
  81.  
  82. ADPRO_TO_FRONT
  83.  
  84. OKAYN '"ConvertANIM"' '"Save frame options"' '"Image|Screen|Cancel"'
  85. OptCheck = RC
  86.  
  87. IF (OptCheck = 0) THEN DO
  88.     CALL ErrorOut 10
  89. END
  90. ELSE IF (OptCheck = 1) THEN
  91.     SaveType = "IMAGE"
  92. ELSE IF (OptCheck = 2) THEN
  93.     SaveType = "SCREEN"
  94.  
  95. ADPRO_TO_FRONT
  96.  
  97. OKAYN '"ConvertANIM"' '"Destination compression quality?"' '"Faster|Smaller|Cancel"'
  98. CheckQual = RC
  99.  
  100. IF (CheckQual = 0) THEN DO
  101.     CALL ErrorOut 10
  102. END
  103. ELSE IF (CheckQual = 1) THEN
  104.     CompQual = "FASTER"
  105. ELSE IF (CheckQual = 2) THEN
  106.     CompQual = "SMALLER"
  107.  
  108. LOADER "ANIM" srcanim "COUNT"
  109. NumFrames = ADPRO_RESULT
  110. IF (RC > 0) THEN DO
  111.     ADPRO_TO_FRONT
  112.     OKAY1 "Could not load specifed ANIM file."
  113.     CALL ErrorOut 10
  114. END
  115.  
  116.  
  117. /*
  118. ** Ask which frames to process.
  119. */
  120.  
  121. CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Starting frame"' 1 1 NumFrames TRUE
  122. StartFrame = RESULT
  123. IF (StartFrame = (1-1)) THEN
  124.     CALL ErrorOut 10
  125.  
  126. CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Ending frame"' NumFrames StartFrame NumFrames TRUE
  127. EndFrame = RESULT
  128. IF (EndFrame = (StartFrame-1)) THEN
  129.     CALL ErrorOut 10
  130.  
  131.  
  132. continue = FALSE
  133. framenum = StartFrame
  134. DO WHILE (continue = FALSE)
  135.     LOADER "ANIM" srcanim "FRAME" framenum
  136.     IF (RC > 0) THEN DO
  137.         ADPRO_TO_FRONT
  138.         OKAY1 "Could not load specifed ANIM file."
  139.         CALL ErrorOut 10
  140.     END
  141.  
  142.     SCREEN_TYPE
  143.     ScreenType = ADPRO_RESULT
  144.     SCREEN_TYPE ScreenType
  145.  
  146.     EXECUTE
  147.  
  148.     SAVER "ANIM" destanim SaveType "APPEND" CompQual CompType
  149.     IF (RC > 0) THEN DO
  150.         ADPRO_TO_FRONT
  151.         OKAY1 "Could not save specified ANIM."
  152.         CALL ErrorOut 10
  153.     END
  154.  
  155.     framenum = framenum + 1
  156.     IF (framenum > EndFrame) THEN
  157.         continue = TRUE
  158. END
  159.  
  160. SAVER "ANIM" destanim SaveType "QUIT"
  161. IF (RC ~= 0) THEN DO
  162.     ADPRO_TO_FRONT
  163.     OKAY1 "Error closing dest ANIM."
  164.     CALL ErrorOut 10
  165. END
  166.  
  167. CALL ErrorOut 0
  168.  
  169.  
  170. ErrorOut:
  171.     PARSE ARG ExitCode
  172.  
  173.     IF (EXISTS( srcanim )) & (ErrorCode ~= 0) THEN DO
  174.         LOADER "ANIM" srcanim "QUIT"
  175.         IF (RC ~= 0) THEN DO
  176.             ADPRO_TO_FRONT
  177.             OKAY1 "Error closing source ANIM:" || NL ||,
  178.                 srcanim || NL || NL ||,
  179.                 "You need to close it" || NL ||,
  180.                 "manually."
  181.         END
  182.     END
  183.  
  184.     IF (EXISTS( destanim )) & (ErrorCode ~= 0) THEN DO
  185.         SAVER "ANIM" destanim "IMAGE" "QUIT"
  186.         IF (RC ~= 0) THEN DO
  187.             ADPRO_TO_FRONT
  188.             OKAY1 "Error closing destination ANIM:" || NL ||,
  189.                 destanim || NL || NL ||,
  190.                 "You need to close it" || NL ||,
  191.                 "manually."
  192.         END
  193.     END
  194.  
  195.     IF (EXISTS( TempDefaults )) THEN DO
  196.         LOAD_DEFAULTS TempDefaults
  197.         IF (RC ~= 0) THEN DO
  198.             ADPRO_TO_FRONT
  199.             OKAY1 "Error restoring settings."
  200.         END
  201.  
  202.         ADDRESS COMMAND "Delete >NIL:" TempDefaults
  203.     END
  204.  
  205.     EXIT ExitCode
  206.