home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 61 / af061a.adf / Macros / LoadAnim.clssa < prev    next >
Text File  |  1993-05-01  |  4KB  |  151 lines

  1. /***********************************************************************
  2.  GADGET: "'Load Anim'" "7" AUTO TYP: "?"
  3.  
  4.  $DAT >>LoadAnim.clssa<< 01 May 1993 - (C) ProDAD Holger Burkarth
  5. ************************************************************************/
  6.  
  7. Options RESULTS
  8. Address clariSSA
  9.  
  10.   FailAt 11
  11.   AltFail=RESULT
  12.  
  13.   GetPref
  14.   MerkePref=RESULT
  15.   IF FIND(RESULT,"LaceCompensation")>0 THEN PV=1
  16.   ELSE                                      PV=0
  17.  
  18.   DO FOREVER
  19.     DO FOREVER
  20.       WorkAnim="Source_A"
  21.       IF TestReg(WorkAnim)=0 THEN LEAVE
  22.       WorkAnim="Source_B"
  23.       IF TestReg(WorkAnim)=0 THEN LEAVE
  24.       WorkAnim="Source_C"
  25.       IF TestReg(WorkAnim)=0 THEN LEAVE
  26.       WorkAnim="Source_D"
  27.       IF TestReg(WorkAnim)=0 THEN LEAVE
  28.       WorkAnim=""
  29.       LEAVE
  30.     END
  31.  
  32.     IF WorkAnim="" THEN DO
  33.       SelectAnim "Source_A Source_B Source_C Source_D",
  34.                  "TITLE 'Select an Anim to work with'",
  35.                  "REQ"
  36.       IF RC > 1 THEN LEAVE
  37.       WorkAnim=RESULT
  38.       CloseAnim WorkAnim
  39.       IF RC > 1 THEN LEAVE
  40.     END
  41.  
  42.     Mode=1
  43.     GetAnimInfo Master
  44.     IF RESULT~="" THEN DO
  45.       MSRequester "TITLE '*** Load Old Anim ***''MASTER buffer is already in use.'",
  46.                   "PTEXT 'Attach animation to MASTER buffer?''Create New MASTER?'"
  47.       IF RC~=0 THEN LEAVE
  48.       Mode=0
  49.       IF RESULT=2 THEN DO
  50.         Mode=1
  51.         CloseAnim Master
  52.         IF RC~=0 THEN LEAVE
  53.       END
  54.     END
  55.  
  56.     SetBasicscreen Front
  57.     FileSelect "TITLE '*** Load Old Anim ***' PTEXT 'Load'"
  58.     Datei=RESULT
  59.     IF RC~=0 THEN LEAVE
  60.  
  61.     GetFileInfo "NAME" Datei
  62.     IF RC~=0 THEN LEAVE
  63.     PARSE VAR RESULT ."ID" AnimID . "FORMAT" ex ey et "VIEWMODE" eViewMode "FRAMES" frames .
  64.  
  65.     IF frames = 1 THEN DO
  66.       MSRequester "TITLE 'You have selected Single Framet.''Single frames are handled by a different macro.'",
  67.                   "'This macro is only for animations.'",
  68.                   "PTEXT '..Ok'"
  69.       LEAVE
  70.     END
  71.  
  72.     IF Mode=1 THEN DO
  73.       LaMode=3
  74.       IF FIND(eViewMode,"LACE")<1 THEN DO
  75.         IF PV=1 THEN DO
  76.           MSRequester "TITLE '*** Load Old Anim ***''Animation does not contain LACE => CANNOT BE PLAYED BACK''FORMAT: "ex ey et eViewMode "'",
  77.                       "PTEXT 'Convert to LACE and Restore Proportions''Convert to LACE''Load normally'"
  78.           IF RC~=0 THEN LEAVE
  79.           LaMode=RESULT
  80.           IF      LaMode=1 THEN SetPref LaceCompensation ON
  81.           ELSE IF LaMode=2 THEN SetPref LaceCompensation OFF
  82.         END; ELSE DO
  83.           MSRequester "TITLE '*** Load Old Anim ***''Animation does not contain LACE => CANNOT BE PLAYED BACK''FORMAT: "ex ey et eViewMode "'",
  84.                       "PTEXT 'Convert to LACE and Restore Proportions''Load normally'"
  85.           IF RC~=0 THEN LEAVE
  86.           LaMode=RESULT
  87.           IF LaMode=2 THEN LaMode=3
  88.         END
  89.       END
  90.  
  91.       IF LaMode<3 THEN DO
  92.         OpenAnim MASTER "FORMAT" ex ey*2 et "VIEWMODE" eViewMode LACE
  93.         IF RC~=0 THEN LEAVE
  94.       END
  95.  
  96.     END
  97.     IF Mode=0 THEN DO
  98.       IF PV=1 THEN DO
  99.         GetAnimInfo Master
  100.         PARSE VAR RESULT . "FORMAT" mx my mt "VIEWMODE" mViewMode "FRAMES" .
  101.         IF FIND(mViewMode,"LACE")>0 THEN DO
  102.           IF FIND(eViewMode,"LACE")<1 THEN DO
  103.             MSRequester "TITLE '*** Load Old Anim ***''MASTER-Anim contains LACE,''Newly loaded animation DOES NOT contain LACE'' '",
  104.                         "'>>Frame proportions have changed<<'' '",
  105.                         "'MASTER FORMAT: "mx my mt mViewMode "'",
  106.                         "'Frame FORMAT: "ex ey et eViewMode "'",
  107.                         "PTEXT 'Convert to LACE and Restore Proportions''Convert to LACE'"
  108.             IF RC~=0 THEN LEAVE
  109.             IF      RESULT=1 THEN SetPref LaceCompensation ON
  110.             ELSE IF RESULT=2 THEN SetPref LaceCompensation OFF
  111.           END
  112.         END
  113.       END
  114.     END
  115.     LoadAnim WorkAnim "NAME" Datei
  116.     IF RC~=0 THEN LEAVE
  117.  
  118.     PP=0
  119.     IF AnimID~="SSA" THEN PP=1
  120.     GetAnimInfo MASTER
  121.     IF RESULT~="" THEN PP=1
  122.  
  123.     IF PP>0 THEN Record "AREA"
  124.     ELSE SwapAnim WorkAnim Master
  125.  
  126.     CloseAnim WorkAnim
  127.     SelectAnim Master
  128.  
  129.     LEAVE
  130.   END
  131.  
  132.   SetPref MerkePref
  133.   FailAt AltFail
  134. exit
  135.  
  136.  
  137.  
  138.  
  139.  
  140. TestReg: procedure
  141. DO
  142.   ARG Reg
  143.  
  144.   GetAnimInfo Reg
  145.   IF RESULT~="" THEN RETURN(1)
  146.  
  147.   RETURN (0)
  148. END
  149.  
  150.  
  151.