home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / ADPro251-3.DMS / ADPro251-3.adf / FREDScripts.lha / FREDSavers / SaveToFC24.fred < prev    next >
Encoding:
Text File  |  1994-01-31  |  4.9 KB  |  218 lines

  1. /*
  2. ** SaveToFC24.fred
  3. **
  4. ** $VER: SaveToFC24.fred 1.0.0 (31.10.93)
  5. **
  6. ** This program can be run from an InvokeADPro list to save images to
  7. ** the FC24 display board.  Including this program automatically
  8. ** causes a pre script to be executed as well (to select display settings).
  9. **
  10. ** Clips Imported:
  11. **    FREDFC24AmigaDisplay    -    1 for on, 0 for off
  12. **    FREDFC24BoardDisplay    -    1 for on, 0 for off
  13. **    FREDFC24BoardNum    -    Number of board to use
  14. **    FREDFC24Resolution    -    Display resolution to use
  15. **    FREDFC24DisplayFrom    -    Which FC24 buffer to display from
  16. **    FREDFC24ImageTo        -    Which FC24 buffer will be written
  17. **    FREDFC24SrcXOff        -    X Offset into source image
  18. **    FREDFC24SrcYOff        -    Y Offset into source image
  19. **    FREDFC24DestXOff    -    X Offset into destination buffer
  20. **    FREDFC24DestYOff    -    Y Offset into destination buffer
  21. **    FREDFC24DestWidth    -    Width in destination buffer
  22. **    FREDFC24DestHeight    -    Height in destination buffer
  23. **
  24. ** NOTE: Clip names are case sensitive.
  25. **
  26. ** This script requires FRED v1.4.0 (or higher) to run.  Also required is
  27. ** ADPro v2.5.0 (or higher).
  28. **
  29. ** Copyright © 1993 ASDG, Incorporated
  30. ** All Rights Reserved
  31. */
  32.  
  33.  
  34. ADDRESS "ADPro"
  35. OPTIONS RESULTS
  36.  
  37. PARSE ARG FrameNum FrameFName Length LoadFlag FirstCallSeq FirstCallCell
  38.  
  39. NL = '0A'X
  40. SQ = '27'X
  41. DQ = '22'X
  42. TRUE  = 1
  43. FALSE = 0
  44.  
  45.  
  46. /*
  47. ** Get the required clips.
  48. */
  49.  
  50. AmigaDisplay = GETCLIP( "FREDFC24AmigaDisplay" )
  51. IF (AmigaDisplay = "") THEN DO
  52.     ADPRO_TO_FRONT
  53.     OKAY1 "Required clip, FREDFC24AmigaDisplay," || NL ||,
  54.         "is not specified."
  55.     SCREEN_TO_FRONT "FRED"
  56.     EXIT 10
  57. END
  58.  
  59. BoardDisplay = GETCLIP( "FREDFC24BoardDisplay" )
  60. IF (BoardDisplay = "") THEN DO
  61.     ADPRO_TO_FRONT
  62.     OKAY1 "Required clip, FREDFC24BoardDisplay," || NL ||,
  63.         "is not specified."
  64.     SCREEN_TO_FRONT "FRED"
  65.     EXIT 10
  66. END
  67.  
  68. BoardNum = GETCLIP( "FREDFC24BoardNum" )
  69. IF (BoardNum = "") THEN DO
  70.     ADPRO_TO_FRONT
  71.     OKAY1 "Required clip, FREDFC24BoardNum," || NL ||,
  72.         "is not specified."
  73.     SCREEN_TO_FRONT "FRED"
  74.     EXIT 10
  75. END
  76.  
  77. Res = GETCLIP( "FREDFC24Resolution" )
  78. IF (Res = "") THEN DO
  79.     ADPRO_TO_FRONT
  80.     OKAY1 "Required clip, FREDFC24Resolution," || NL ||,
  81.         "is not specified."
  82.     SCREEN_TO_FRONT "FRED"
  83.     EXIT 10
  84. END
  85.  
  86. DisplayFrom = GETCLIP( "FREDFC24DisplayFrom" )
  87. IF (DisplayFrom = "") THEN DO
  88.     ADPRO_TO_FRONT
  89.     OKAY1 "Required clip, FREDFC24DisplayFrom," || NL ||,
  90.         "is not specified."
  91.     SCREEN_TO_FRONT "FRED"
  92.     EXIT 10
  93. END
  94.  
  95. ImageTo = GETCLIP( "FREDFC24ImageTo" )
  96. IF (ImageTo = "") THEN DO
  97.     ADPRO_TO_FRONT
  98.     OKAY1 "Required clip, FREDFC24ImageTo," || NL ||,
  99.         "is not specified."
  100.     SCREEN_TO_FRONT "FRED"
  101.     EXIT 10
  102. END
  103.  
  104. SrcXOff = GETCLIP( "FREDFC24SrcXOff" )
  105. IF (SrcXOff = "") THEN DO
  106.     ADPRO_TO_FRONT
  107.     OKAY1 "Required clip, FREDFC24SrcXOff," || NL ||,
  108.         "is not specified."
  109.     SCREEN_TO_FRONT "FRED"
  110.     EXIT 10
  111. END
  112.  
  113. SrcYOff = GETCLIP( "FREDFC24SrcYOff" )
  114. IF (SrcYOff = "") THEN DO
  115.     ADPRO_TO_FRONT
  116.     OKAY1 "Required clip, FREDFC24SrcYOff," || NL ||,
  117.         "is not specified."
  118.     SCREEN_TO_FRONT "FRED"
  119.     EXIT 10
  120. END
  121.  
  122. DestXOff = GETCLIP( "FREDFC24DestXOff" )
  123. IF (DestXOff = "") THEN DO
  124.     ADPRO_TO_FRONT
  125.     OKAY1 "Required clip, FREDFC24DestXOff," || NL ||,
  126.         "is not specified."
  127.     SCREEN_TO_FRONT "FRED"
  128.     EXIT 10
  129. END
  130.  
  131. DestYOff = GETCLIP( "FREDFC24DestYOff" )
  132. IF (DestYOff = "") THEN DO
  133.     ADPRO_TO_FRONT
  134.     OKAY1 "Required clip, FREDFC24DestYOff," || NL ||,
  135.         "is not specified."
  136.     SCREEN_TO_FRONT "FRED"
  137.     EXIT 10
  138. END
  139.  
  140. DestWidth = GETCLIP( "FREDFC24DestWidth" )
  141. IF (DestWidth = "") THEN DO
  142.     ADPRO_TO_FRONT
  143.     OKAY1 "Required clip, FREDFC24DestWidth," || NL ||,
  144.         "is not specified."
  145.     SCREEN_TO_FRONT "FRED"
  146.     EXIT 10
  147. END
  148.  
  149. DestHeight = GETCLIP( "FREDFC24DestHeight" )
  150. IF (DestHeight = "") THEN DO
  151.     ADPRO_TO_FRONT
  152.     OKAY1 "Required clip, FREDFC24DestHeight," || NL ||,
  153.         "is not specified."
  154.     SCREEN_TO_FRONT "FRED"
  155.     EXIT 10
  156. END
  157.  
  158.  
  159. /*
  160. ** See what type of data is loaded in ADPro/MorphPlus.
  161. */
  162.  
  163. CALL "FREDSCRIPTS:FREDFunctions/CheckForRawImageData" FALSE
  164. IF (RESULT ~= 0) THEN DO
  165.     CALL "FREDSCRIPTS:FREDFunctions/CheckForRenderedImageData" TRUE
  166.     IF (RESULT ~= 0) THEN
  167.         EXIT 10
  168.     ELSE
  169.         ScreenType = "IMAGE"
  170. END
  171. ELSE
  172.     ScreenType = "RAW"
  173.  
  174.  
  175. /*
  176. ** Image it to the display board.
  177. */
  178.  
  179. SAVER "FC24" "XXX" ScreenType,
  180.     "AMIGA" AmigaDisplay,
  181.     "BOARD" BoardDisplay,
  182.     "BOARD_NO" BoardNum,
  183.     "B_SIZE" Res,
  184.     "DISPLAY_FROM" DisplayFrom,
  185.     "IMAGE_TO" ImageTo,
  186.     "SET_SOX" SrcXOff,
  187.     "SET_SOY" SrcYOff,
  188.     "SET_DOX" DestXOff,
  189.     "SET_DOY" DestYOff,
  190.     "SET_DWX" DestWidth,
  191.     "SET_DWY" DestHeight,
  192.     "CLEAR",
  193.     "CENTER",
  194.     "IMAGE"
  195. IF (RC ~= 0) THEN DO
  196.     Why = ADPRO_RESULT
  197.     ADPRO_TO_FRONT
  198.     OKAY1 "FC24 save failed:" || NL || Why || NL ||,
  199.         "Argument Information:" || NL ||,
  200.         "Screen Type =" ScreenType || NL ||,
  201.         "Amiga Display =" AmigaDisplay || NL ||,
  202.         "Board Display =" BoardDisplay || NL ||,
  203.         "Board Number =" BoardNum || NL ||,
  204.         "Resolution ID =" Res || NL ||,
  205.         "Display From =" DisplayFrom || NL ||,
  206.         "Image To =" ImageTo || NL ||,
  207.         "Src X Off =" SrcXOff || NL ||,
  208.         "Src Y Off =" SrcYOff || NL ||,
  209.         "Dest X Off =" DestXOff || NL ||,
  210.         "Dest Y Off =" DestYOff || NL ||,
  211.         "Dest Width =" DestWidth || NL ||,
  212.         "Dest Height =" DestHeight
  213.     SCREEN_TO_FRONT "FRED"
  214.     EXIT 10
  215. END
  216.  
  217. EXIT 0
  218.