anchor.diff:    Button_BuildField.Down  := (gGameCursor.Mode = cmField);
     Button_BuildWine.Down   := (gGameCursor.Mode = cmWine);
   
  +  Label_HouseConstructionWood.Caption := '-';
  +  Label_HouseConstructionStone.Caption := '-';
  +
     for I := 1 to GUI_HOUSE_COUNT do
  -  if GUIHouseOrder[I] <> htNone then
  -    Button_Build[I].Down := (gGameCursor.Mode = cmHouses) and (gGameCursor.Tag1 = Byte(GUIHouseOrder[I]));
  +    if GUIHouseOrder[I] <> htNone then
  +    begin
  +      Button_Build[I].Down := (gGameCursor.Mode = cmHouses) and (gGameCursor.Tag1 = Byte(GUIHouseOrder[I]));
  +      if Button_Build[I].Down then
  +      begin
  +        Label_HouseConstructionWood.Caption  := IntToStr(gRes.Houses[GUIHouseOrder[I]].WoodCost);
  +        Label_HouseConstructionStone.Caption := IntToStr(gRes.Houses[GUIHouseOrder[I]].StoneCost);
  +      end;
  +    end;
  +
  +  if Button_BuildRoad.Down then
  +  begin
  +    Label_HouseConstructionWood.Caption  := '-';
  +    Label_HouseConstructionStone.Caption := '1';
  +  end else if Button_BuildField.Down then
  +  begin
  +    Label_HouseConstructionWood.Caption  := '-';
  +    Label_HouseConstructionStone.Caption := '-';
  +  end else if Button_BuildWine.Down then
  +  begin
  +    Label_HouseConstructionWood.Caption  := '1';
  +    Label_HouseConstructionStone.Caption := '-';
  +  end;
   end;
   
   
  
positive.code:   else
  
    for I := 1 to GUI_HOUSE_COUNT do
    if GUIHouseOrder[I] <> htNone then
    if Sender = Button_Build[I] then
    begin
      gGameCursor.Mode := cmHouses;
      gGameCursor.Tag1 := Byte(GUIHouseOrder[I]);
    end;
  
    Town_BuildRefresh;
  end;
  
negative.code: 
  implementation
  uses
    KM_ResTexts, KM_GameCursor, KM_Resource, KM_ResHouses, KM_ResFonts, KM_ResWares,
    KM_RenderUI, KM_Terrain, KM_Points, KM_ResKeys, KM_Utils;
  
  
  { TKMMapEdTownHouses }
  constructor TKMMapEdTownHouses.Create(aParent: TKMPanel);
  var
    I, Top: Integer;
  begin
    inherited Create;
  
  