anchor.diff:      if fDirection = gd_GoInside then
       begin
         KMUnit.PositionF := fDoor;
  -      if not fHouse.IsDestroyed then
  +      if (fHouse<>nil) and not fHouse.IsDestroyed then
           KMUnit.SetInHouse(fHouse);
       end
       else
  
positive.code: 
      fDoor := KMPointF(KMUnit.GetPosition.X, KMUnit.GetPosition.Y - fStep);
      fStreet := KMPoint(KMUnit.GetPosition.X, KMUnit.GetPosition.Y + 1 - round(fStep));
      if byte(fHouse.GetHouseType) in [1..length(HouseDAT)] then
        fDoor.X := fDoor.X + (HouseDAT[byte(fHouse.GetHouseType)].EntranceOffsetXpx/4)/CELL_SIZE_PX;
  
  
  
negative.code:     fLog.AssertToLog(false,'Dec doorway when not in use?');
      exit;
    end;
    if fHouse<>nil then dec(fHouse.DoorwayUse);
    fUsedDoorway := false;
  end;
  
  