anchor.diff:    end;
   
   var
  -  A: TKMAnimLoop;
     I, Step: Integer;
     pngWidth, pngHeight, newWidth, newHeight: Word;
     pngBase, pngShad, pngTeam, pngCrop, pngCropMask: TKMCardinalArray;
  
positive.code:         begin
            //Background is black with alpha from the shadow mask
            if Length(pngShad) > 0 then
              pngCrop[I] := pngShad[Y*pngWidth + X] shl 24;
  
            //Death animations have semi-transparent white that we treat as shadows
            if (aAction = uaDie) and (pngCrop[I] > 0) then
              pngCrop[I] := pngCrop[I] or $FFFFFF;
  
            //Layer base sprite on top
            pngCrop[I] := BlendRGBA(pngCrop[I], pngBase[Y*pngWidth + X]);
  
negative.code:   KMDeleteFolder(dirShad);
    KMDeleteFolder(dirTeam);
  
    MakeInterpImages(RT, A, dirBase, ietBase);
    MakeInterpImages(RT, A, dirShad, ietShadows);
    MakeInterpImages(RT, A, dirTeam, ietTeamMask);
  
    StrList := TStringList.Create;
  
  