anchor.diff:  procedure TCorpses.DelCorpse(AX, AY: Byte);
   var
     I: Byte;
  -  S: string;
  -  F: TIniFile;
   begin
     for I := 0 to CorpseMax - 1 do
     begin
       if (Ord(Map.Deep) <> FCorpse[I].Z) then Continue;
       if ((FCorpse[I].X = AX) and (FCorpse[I].Y = AY)) then
  -    begin
  -      F := TIniFile.Create(GetPath() + 'morgue.thi');
  -      try
  -        S := IntToStr(I);
  -        F.WriteInteger(S, 'X', 0);
  -        F.WriteInteger(S, 'Y', 0);
  -        F.WriteInteger(S, 'Z', 0);
  -        Exit;
  -      finally
  -        F.Free;
  -      end;
  -    end;
  +      Save(I, 0, 0, 0);
     end;
   end;
   
  
positive.code:   TCorpses = class
    private
      FCorpse: array [0..CorpseMax - 1] of TCorpse;
    public
      constructor Create;
      destructor Destroy; override;
  
negative.code: 
  { TCorpses }
  
  procedure TCorpses.Save(Index, AX, AY, AZ: Byte);
  var
    F: TIniFile;
    S: string;
  begin
    F := TIniFile.Create(GetPath() + 'morgue.thi');
    try
      S := IntToStr(Index);
      F.WriteInteger(S, 'X', AX);
      F.WriteInteger(S, 'Y', AY);
      F.WriteInteger(S, 'Z', AZ);
    finally
      F.Free;
    end;
  end;
  
  procedure TCorpses.Append;
  var
    F: TIniFile;
  