anchor.diff:  begin
     DoEnd := false;
   
  -{  if not fHasStarted then //Try to define Door and Street locations if aren't defined yet
  +  {if not fHasStarted then //Try to define Door and Street locations if aren't defined yet
       fHasStarted := DefineInOutLocations(KMUnit);
   
  -  if (not fHasStarted)and(fWaitingForPush) then exit; //Wait if we can't walk out yet (walking In is always ok)
  -   }
  +  if (not fHasStarted)and(fWaitingForPush) then exit;} //Wait if we can't walk out yet (walking In is always ok)
  +
     if not fHasStarted then //Set Door and Street locations
     begin
       fUsingDoorway := true; //By default we will use the doorway rather than a diagonal entrance
  
positive.code: 
    //if fUsingDoorway then inc(fHouse.DoorwayUse); //@Lewin: commented out since it's still crashing in Tutorial
    Result := true;
  end;
  
  
  procedure TUnitActionGoInOut.Execute(KMUnit: TKMUnit; out DoEnd: Boolean);
  
negative.code:     begin
        fWaitingForPush := false;
        KMUnit.Direction := KMGetDirection(KMPointRound(fDoor) ,fStreet);
        KMUnit.NextPosition := fStreet; //@Lewin: I don't like this part, Prev/Next should be different
        fTerrain.UnitWalk(KMUnit.GetPosition,KMUnit.NextPosition);
        if (KMUnit.GetHome<>nil)and(KMUnit.GetHome.GetHouseType=ht_Barracks) then //Unit home is barracks
          TKMHouseBarracks(KMUnit.GetHome).RecruitsInside:=TKMHouseBarracks(KMUnit.GetHome).RecruitsInside - 1;
  