home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format 61
/
af061a.adf
/
Macros
/
LoadAnim.clssa
< prev
next >
Wrap
Text File
|
1993-05-01
|
4KB
|
151 lines
/***********************************************************************
GADGET: "'Load Anim'" "7" AUTO TYP: "?"
$DAT >>LoadAnim.clssa<< 01 May 1993 - (C) ProDAD Holger Burkarth
************************************************************************/
Options RESULTS
Address clariSSA
FailAt 11
AltFail=RESULT
GetPref
MerkePref=RESULT
IF FIND(RESULT,"LaceCompensation")>0 THEN PV=1
ELSE PV=0
DO FOREVER
DO FOREVER
WorkAnim="Source_A"
IF TestReg(WorkAnim)=0 THEN LEAVE
WorkAnim="Source_B"
IF TestReg(WorkAnim)=0 THEN LEAVE
WorkAnim="Source_C"
IF TestReg(WorkAnim)=0 THEN LEAVE
WorkAnim="Source_D"
IF TestReg(WorkAnim)=0 THEN LEAVE
WorkAnim=""
LEAVE
END
IF WorkAnim="" THEN DO
SelectAnim "Source_A Source_B Source_C Source_D",
"TITLE 'Select an Anim to work with'",
"REQ"
IF RC > 1 THEN LEAVE
WorkAnim=RESULT
CloseAnim WorkAnim
IF RC > 1 THEN LEAVE
END
Mode=1
GetAnimInfo Master
IF RESULT~="" THEN DO
MSRequester "TITLE '*** Load Old Anim ***''MASTER buffer is already in use.'",
"PTEXT 'Attach animation to MASTER buffer?''Create New MASTER?'"
IF RC~=0 THEN LEAVE
Mode=0
IF RESULT=2 THEN DO
Mode=1
CloseAnim Master
IF RC~=0 THEN LEAVE
END
END
SetBasicscreen Front
FileSelect "TITLE '*** Load Old Anim ***' PTEXT 'Load'"
Datei=RESULT
IF RC~=0 THEN LEAVE
GetFileInfo "NAME" Datei
IF RC~=0 THEN LEAVE
PARSE VAR RESULT ."ID" AnimID . "FORMAT" ex ey et "VIEWMODE" eViewMode "FRAMES" frames .
IF frames = 1 THEN DO
MSRequester "TITLE 'You have selected Single Framet.''Single frames are handled by a different macro.'",
"'This macro is only for animations.'",
"PTEXT '..Ok'"
LEAVE
END
IF Mode=1 THEN DO
LaMode=3
IF FIND(eViewMode,"LACE")<1 THEN DO
IF PV=1 THEN DO
MSRequester "TITLE '*** Load Old Anim ***''Animation does not contain LACE => CANNOT BE PLAYED BACK''FORMAT: "ex ey et eViewMode "'",
"PTEXT 'Convert to LACE and Restore Proportions''Convert to LACE''Load normally'"
IF RC~=0 THEN LEAVE
LaMode=RESULT
IF LaMode=1 THEN SetPref LaceCompensation ON
ELSE IF LaMode=2 THEN SetPref LaceCompensation OFF
END; ELSE DO
MSRequester "TITLE '*** Load Old Anim ***''Animation does not contain LACE => CANNOT BE PLAYED BACK''FORMAT: "ex ey et eViewMode "'",
"PTEXT 'Convert to LACE and Restore Proportions''Load normally'"
IF RC~=0 THEN LEAVE
LaMode=RESULT
IF LaMode=2 THEN LaMode=3
END
END
IF LaMode<3 THEN DO
OpenAnim MASTER "FORMAT" ex ey*2 et "VIEWMODE" eViewMode LACE
IF RC~=0 THEN LEAVE
END
END
IF Mode=0 THEN DO
IF PV=1 THEN DO
GetAnimInfo Master
PARSE VAR RESULT . "FORMAT" mx my mt "VIEWMODE" mViewMode "FRAMES" .
IF FIND(mViewMode,"LACE")>0 THEN DO
IF FIND(eViewMode,"LACE")<1 THEN DO
MSRequester "TITLE '*** Load Old Anim ***''MASTER-Anim contains LACE,''Newly loaded animation DOES NOT contain LACE'' '",
"'>>Frame proportions have changed<<'' '",
"'MASTER FORMAT: "mx my mt mViewMode "'",
"'Frame FORMAT: "ex ey et eViewMode "'",
"PTEXT 'Convert to LACE and Restore Proportions''Convert to LACE'"
IF RC~=0 THEN LEAVE
IF RESULT=1 THEN SetPref LaceCompensation ON
ELSE IF RESULT=2 THEN SetPref LaceCompensation OFF
END
END
END
END
LoadAnim WorkAnim "NAME" Datei
IF RC~=0 THEN LEAVE
PP=0
IF AnimID~="SSA" THEN PP=1
GetAnimInfo MASTER
IF RESULT~="" THEN PP=1
IF PP>0 THEN Record "AREA"
ELSE SwapAnim WorkAnim Master
CloseAnim WorkAnim
SelectAnim Master
LEAVE
END
SetPref MerkePref
FailAt AltFail
exit
TestReg: procedure
DO
ARG Reg
GetAnimInfo Reg
IF RESULT~="" THEN RETURN(1)
RETURN (0)
END