anchor.diff:    end;
   
   var
  -  transition: TStoneTransitionType;
  +  transition: TKMStoneTransitionType;
   begin
     transition := GetStoneTransitionType(aLoc.X,aLoc.Y + 1); //Check transition type by lower point (Y + 1)
   
  
positive.code:     end;
  
    var
      transition: TStoneTransitionType;
      bits, bitsDiag: Byte;
      terRot, repl: Integer;
    begin
  
negative.code:                 case terRot of
                    0,1:  Exit;
                    2,3:  begin
                            repl := WATER_DIAG_REPL[transition];
                            if repl <> NO_REPL then
                            begin
                              Land^[Y,X].BaseLayer.Terrain := repl;
                              Land^[Y,X].BaseLayer.Rotation := (terRot + WATER_DIAG_REPL_ROT[transition]) mod 4;
                            end
                            else
                            begin
                              Land^[Y,X].BaseLayer.Terrain := 192;
                              Land^[Y,X].BaseLayer.SetCorners([1]);
                              Land^[Y,X].LayersCnt := 1;
                              Land^[Y,X].Layer[0].Terrain := gRes.Sprites.GenTerrainTransitions[TRANSITIONS_TER_KINDS[transition],
                                                                                                mkSoft2, tmt2Diagonal, mstMain];
                              Land^[Y,X].Layer[0].Rotation := terRot;
                              Land^[Y,X].Layer[0].SetCorners([0,2,3]);
  