anchor.diff:      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
   
   { TKMResMapElements }
  -//Reading map elements properties and animation data
  -procedure TKMResMapElements.LoadFromFile(const FileName: string);
  +// Reading map elements properties and animation data
  +procedure TKMResMapElements.LoadFromFile(const aFileName: string);
   const
     ELEMENT_SIZE = 99; // Old size of TKMMapElement (before we have added our fields to it)
   var
     S: TMemoryStream;
     I: Integer;
   begin
  -  if not FileExists(FileName) then Exit;
  +  if not FileExists(aFileName) then Exit;
   
     S := TMemoryStream.Create;
  -  S.LoadFromFile(FileName);
  +  S.LoadFromFile(aFileName);
     for I := Low(gMapElements) to High(gMapElements) do
     begin
       S.Read(gMapElements[I], ELEMENT_SIZE);
  -    gMapElements[I].KillByRoad := TKMKillByRoad(OBJ_KILL_BY_ROADS[I]);
  +    gMapElements[I].KillByRoad := TKMKillByRoad(OBJ_KILL_BY_ROAD[I]);
     end;
     fCount := S.Size div ELEMENT_SIZE; //254 by default
     fCRC := Adler32CRC(S);
  
positive.code:     property Count: Integer read fCount;
      property CRC: Cardinal read fCRC;
  
      procedure LoadFromFile(const FileName: string);
      procedure SaveToFile(const FileName: string);
      procedure ExportToText(const FileName: string);
    end;
  
  
  
negative.code: implementation
  
  const
    // We use Byte instead of TKMKillByRoad to have a shorter table
    OBJ_KILL_BY_ROAD: array [Byte] of Byte {TKMKillByRoad} = (
      1, 2, 2, 2, 2, 2, 1, 1, 0, 0, 2, 2, 2, 1, 1, 1,
      1, 2, 2, 2, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
  