/*
** SaveToDP4ANIM.fred
**
** $VER: SaveToDP4ANIM.fred 1.1.0 (24.10.93)
**
** This program can be run from an InvokeADPro list to save images directly to
** DPaint IV AGA's ANIM buffer.
**
** Clips Imported:
**	FREDDP4ANIMOverwrite		-	~0 if the current ANIM should be overwritten
**						0 if it should be appended to
**	FREDDP4ANIMFrameNum		-	Current DPaint frame number
**
** NOTE: Clip names are case sensitive.
**
** This script requires FRED v1.4.0 (or higher) to run.  Also required is
** ADPro v2.5.0 (or higher).
**
** Copyright © 1993 ASDG, Incorporated
** All Rights Reserved
*/


ADDRESS "ADPro"
OPTIONS RESULTS

PARSE ARG FrameNum FrameFName Length LoadFlag FirstCallSeq FirstCallCell

NL = '0A'X
SQ = '27'X
DQ = '22'X
TRUE  = 1
FALSE = 0


/*
** Get the required clips.  Error if any are missing.
*/

Overwrite = GETCLIP( "FREDDP4ANIMOverwrite" )
IF (Overwrite = "") THEN DO
	ADPRO_TO_FRONT
	OKAY1 "Required clip, FREDDP4ANIMOverwrite," || NL ||,
		"is not specified."
	SCREEN_TO_FRONT "FRED"
	EXIT 10
END

CurrDP4FrameNum = GETCLIP( "FREDDP4ANIMFrameNum" )
IF (CurrDP4FrameNum = "") THEN DO
	ADPRO_TO_FRONT
	OKAY1 "Required clip, FREDDP4ANIMFrameNum," || NL ||,
		"is not specified."
	SCREEN_TO_FRONT "FRED"
	EXIT 10
END


/*
** See what type of data is loaded in ADPro/MorphPlus.
*/

CALL "FREDSCRIPTS:FREDFunctions/CheckForRenderedImageData" TRUE
IF (RESULT ~= 0) THEN
	EXIT 10


/*
** Do the save.
*/

DO LoopCounter = 1 TO Length
/*	IF (Overwrite ~= 0) THEN
		SAVER "DPAINT" "XXX" "IMAGE" "FRAME" CurrDP4FrameNum "CHANGE"
	ELSE*/
		SAVER "DPAINT" "XXX" "IMAGE" "APPEND" "CHANGE"

	Why = ADPRO_RESULT
	IF (RC ~= 0) THEN DO
		ADPRO_TO_FRONT
		OKAY1 "DPaint ANIM save failed:" || NL || Why || NL ||,
			"Argument Information:" || NL ||,
			"Filename = " || FrameFName || NL ||,
			"ImageType = " || "IMAGE"
		SCREEN_TO_FRONT "FRED"
		EXIT 10
	END
END


/*
** Update the clips.
*/

SETCLIP( "FREDDP4ANIMFrameNum", CurrDP4FrameNum + 1 )

EXIT 0
