anchor.diff:      Radio_MapType.ItemIndex := 0;
       Radio_MapType.OnChange := MapTypeChanged;
   
  -    ColumnBox_SingleMaps := TKMColumnBox.Create(Panel_Single,
  +    ColumnBox_Maps := TKMColumnBox.Create(Panel_Single,
                                                     (aParent.Width + PAD_SIDE) div 2,
                                                     PAD_VERT + Radio_MapType.Height + 35,
                                                     Half,
                                                     aParent.Height - PAD_VERT*2 - Radio_MapType.Height - 15,
                                                     fnt_Metal, bsMenu);
  -    ColumnBox_SingleMaps.Anchors := [anTop, anBottom];
  -    ColumnBox_SingleMaps.SetColumns(fnt_Outline, ['', '', gResTexts[TX_MENU_MAP_TITLE], gResTexts[TX_MENU_MAP_SIZE]], [0, 50, 100, 380]);
  -    ColumnBox_SingleMaps.Columns[2].Font := fnt_Metal;
  -    ColumnBox_SingleMaps.Columns[2].HintFont := fnt_Grey;
  -    ColumnBox_SingleMaps.Columns[1].TextAlign := taCenter;
  -    ColumnBox_SingleMaps.Columns[3].TextAlign := taCenter;
  -    ColumnBox_SingleMaps.ItemHeight := 40;
  -    ColumnBox_SingleMaps.SearchColumn := 2;
  -    ColumnBox_SingleMaps.ShowLines := True;
  -    ColumnBox_SingleMaps.Header.Height := 40;
  -    ColumnBox_SingleMaps.Header.TextAlign := taCenter;
  -    ColumnBox_SingleMaps.Header.Columns[0].Glyph := MakePic(rxGui, 42);
  -    ColumnBox_SingleMaps.Header.Columns[1].Glyph := MakePic(rxGui, 31);
  -    ColumnBox_SingleMaps.OnColumnClick := ListSort;
  -    ColumnBox_SingleMaps.OnChange := ListClick;
  -    ColumnBox_SingleMaps.OnDoubleClick := StartClick;
  -
  -    Panel_SingleDesc := TKMPanel.Create(Panel_Single, PAD_SIDE, PAD_VERT, Half, aParent.Height - PAD_VERT*2);
  -    Panel_SingleDesc.Anchors := [anTop, anBottom];
  +    ColumnBox_Maps.Anchors := [anTop, anBottom];
  +    ColumnBox_Maps.SetColumns(fnt_Outline, ['', '', gResTexts[TX_MENU_MAP_TITLE], gResTexts[TX_MENU_MAP_SIZE]], [0, 50, 100, 380]);
  +    ColumnBox_Maps.Columns[2].Font := fnt_Metal;
  +    ColumnBox_Maps.Columns[2].HintFont := fnt_Grey;
  +    ColumnBox_Maps.Columns[1].TextAlign := taCenter;
  +    ColumnBox_Maps.Columns[3].TextAlign := taCenter;
  +    ColumnBox_Maps.ItemHeight := 40;
  +    ColumnBox_Maps.SearchColumn := 2;
  +    ColumnBox_Maps.ShowLines := True;
  +    ColumnBox_Maps.Header.Height := 40;
  +    ColumnBox_Maps.Header.TextAlign := taCenter;
  +    ColumnBox_Maps.Header.Columns[0].Glyph := MakePic(rxGui, 42);
  +    ColumnBox_Maps.Header.Columns[1].Glyph := MakePic(rxGui, 31);
  +    ColumnBox_Maps.OnColumnClick := ListSort;
  +    ColumnBox_Maps.OnChange := ListClick;
  +    ColumnBox_Maps.OnDoubleClick := StartClick;
  +
  +    Panel_Desc := TKMPanel.Create(Panel_Single, PAD_SIDE, PAD_VERT, Half, aParent.Height - PAD_VERT*2);
  +    Panel_Desc.Anchors := [anTop, anBottom];
   
         //Description
  -      Label_SingleTitle := TKMLabel.Create(Panel_SingleDesc, Half div 2, 0, '', fnt_Outline, taCenter);
  -      Memo_SingleDesc  := TKMMemo.Create(Panel_SingleDesc, 0, 20, Half, 300, fnt_Metal, bsMenu);
  -      Memo_SingleDesc.Anchors := [anTop, anBottom];
  -      Memo_SingleDesc.AutoWrap := True;
  +      Label_Title := TKMLabel.Create(Panel_Desc, Half div 2, 0, '', fnt_Outline, taCenter);
  +      Memo_Desc  := TKMMemo.Create(Panel_Desc, 0, 20, Half, 300, fnt_Metal, bsMenu);
  +      Memo_Desc.Anchors := [anTop, anBottom];
  +      Memo_Desc.AutoWrap := True;
   
         //Minimap preview
  -      B := TKMBevel.Create(Panel_SingleDesc, 0, 330, 195, 195);
  +      B := TKMBevel.Create(Panel_Desc, 0, 330, 195, 195);
         B.Anchors := [anLeft, anBottom];
  -      MinimapView_Single := TKMMinimapView.Create(Panel_SingleDesc, 2, 332, 191, 191);
  -      MinimapView_Single.Anchors := [anLeft, anBottom];
  -      MinimapView_Single.OnLocClick := MinimapLocClick;
  +      MinimapView := TKMMinimapView.Create(Panel_Desc, 2, 332, 191, 191);
  +      MinimapView.Anchors := [anLeft, anBottom];
  +      MinimapView.OnLocClick := MinimapLocClick;
   
         //Setup (loc and flag placed alongside just like in MP lobby)
         //Other setup settings can go below
  -      L := TKMLabel.Create(Panel_SingleDesc, 200, 330, 150, 20, gResTexts[TX_LOBBY_HEADER_STARTLOCATION], fnt_Metal, taLeft);
  +      L := TKMLabel.Create(Panel_Desc, 200, 330, 150, 20, gResTexts[TX_LOBBY_HEADER_STARTLOCATION], fnt_Metal, taLeft);
         L.Anchors := [anLeft, anBottom];
  -      DropBox_SingleLoc := TKMDropList.Create(Panel_SingleDesc, 200, 350, 150, 20, fnt_Metal, gResTexts[TX_MENU_MAP_LOCATION], bsMenu);
  -      DropBox_SingleLoc.Anchors := [anLeft, anBottom];
  -      DropBox_SingleLoc.OnChange := OptionsChange;
  -
  -      L := TKMLabel.Create(Panel_SingleDesc, 360, 330, 80, 20, gResTexts[TX_LOBBY_HEADER_FLAGCOLOR], fnt_Metal, taLeft);
  +      DropBox_Loc := TKMDropList.Create(Panel_Desc, 200, 350, 150, 20, fnt_Metal, gResTexts[TX_MENU_MAP_LOCATION], bsMenu);
  +      DropBox_Loc.Anchors := [anLeft, anBottom];
  +      DropBox_Loc.OnChange := OptionsChange;
  +
  +      L := TKMLabel.Create(Panel_Desc, 360, 330, 80, 20, gResTexts[TX_LOBBY_HEADER_FLAGCOLOR], fnt_Metal, taLeft);
         L.Anchors := [anLeft, anBottom];
  -      DropBox_SingleColor := TKMDropColumns.Create(Panel_SingleDesc, 360, 350, 80, 20, fnt_Grey, '', bsMenu);
  -      DropBox_SingleColor.Anchors := [anLeft, anBottom];
  -      DropBox_SingleColor.SetColumns(fnt_Outline, [''], [0]);
  -      DropBox_SingleColor.List.ShowHeader := False;
  -      DropBox_SingleColor.FadeImageWhenDisabled := False;
  -      DropBox_SingleColor.Add(MakeListRow([''], [$FFFFFFFF], [MakePic(rxGuiMain, 31)], 0));
  -      DropBox_SingleColor.OnChange := OptionsChange;
  +      DropBox_Color := TKMDropColumns.Create(Panel_Desc, 360, 350, 80, 20, fnt_Grey, '', bsMenu);
  +      DropBox_Color.Anchors := [anLeft, anBottom];
  +      DropBox_Color.SetColumns(fnt_Outline, [''], [0]);
  +      DropBox_Color.List.ShowHeader := False;
  +      DropBox_Color.FadeImageWhenDisabled := False;
  +      DropBox_Color.Add(MakeListRow([''], [$FFFFFFFF], [MakePic(rxGuiMain, 31)], 0));
  +      DropBox_Color.OnChange := OptionsChange;
   
         //Goals
  -      B := TKMBevel.Create(Panel_SingleDesc, 0, 530, Half, 30);
  +      B := TKMBevel.Create(Panel_Desc, 0, 530, Half, 30);
         B.Anchors := [anLeft, anBottom];
  -      L := TKMLabel.Create(Panel_SingleDesc, 4, 538, 190, 30, gResTexts[TX_MENU_WIN_CONDITION], fnt_Metal, taLeft);
  +      L := TKMLabel.Create(Panel_Desc, 4, 538, 190, 30, gResTexts[TX_MENU_WIN_CONDITION], fnt_Metal, taLeft);
         L.Anchors := [anLeft, anBottom];
  -      B := TKMBevel.Create(Panel_SingleDesc, 0, 560, Half, 30);
  +      B := TKMBevel.Create(Panel_Desc, 0, 560, Half, 30);
         B.Anchors := [anLeft, anBottom];
  -      L := TKMLabel.Create(Panel_SingleDesc, 4, 568, 190, 30, gResTexts[TX_MENU_DEFEAT_CONDITION], fnt_Metal, taLeft);
  +      L := TKMLabel.Create(Panel_Desc, 4, 568, 190, 30, gResTexts[TX_MENU_DEFEAT_CONDITION], fnt_Metal, taLeft);
         L.Anchors := [anLeft, anBottom];
         for I := 0 to MAX_UI_GOALS - 1 do
         begin
  -        Image_SingleVictGoal[I] := TKMImage.Create(Panel_SingleDesc, 200 + I*35, 530, 30, 30, 41);
  -        Image_SingleVictGoal[I].Anchors := [anLeft, anBottom];
  -        Image_SingleVictGoal[I].ImageCenter;
  -        Label_SingleVictGoal[I] := TKMLabel.Create(Panel_SingleDesc, 215 + I*35, 535, '', fnt_Grey, taCenter);
  -        Label_SingleVictGoal[I].Anchors := [anLeft, anBottom];
  -        Image_SingleVictGoalSt[I] := TKMImage.Create(Panel_SingleDesc, 217 + I*35, 545, 20, 20, 371, rxGui);
  -        Image_SingleVictGoalSt[I].Anchors := [anLeft, anBottom];
  -
  -        Image_SingleSurvGoal[I] := TKMImage.Create(Panel_SingleDesc, 200 + I*35, 560, 30, 30, 41);
  -        Image_SingleSurvGoal[I].Anchors := [anLeft, anBottom];
  -        Image_SingleSurvGoal[I].ImageCenter;
  -        Label_SingleSurvGoal[I] := TKMLabel.Create(Panel_SingleDesc, 215 + I*35, 565, '', fnt_Grey, taCenter);
  -        Label_SingleSurvGoal[I].Anchors := [anLeft, anBottom];
  -        Image_SingleSurvGoalSt[I] := TKMImage.Create(Panel_SingleDesc, 218 + I*35, 575, 20, 20, 44, rxGui);
  -        Image_SingleSurvGoalSt[I].Anchors := [anLeft, anBottom];
  +        Image_VictGoal[I] := TKMImage.Create(Panel_Desc, 200 + I*35, 530, 30, 30, 41);
  +        Image_VictGoal[I].Anchors := [anLeft, anBottom];
  +        Image_VictGoal[I].ImageCenter;
  +        Label_VictGoal[I] := TKMLabel.Create(Panel_Desc, 215 + I*35, 535, '', fnt_Grey, taCenter);
  +        Label_VictGoal[I].Anchors := [anLeft, anBottom];
  +        Image_VictGoalSt[I] := TKMImage.Create(Panel_Desc, 217 + I*35, 545, 20, 20, 371, rxGui);
  +        Image_VictGoalSt[I].Anchors := [anLeft, anBottom];
  +
  +        Image_SurvGoal[I] := TKMImage.Create(Panel_Desc, 200 + I*35, 560, 30, 30, 41);
  +        Image_SurvGoal[I].Anchors := [anLeft, anBottom];
  +        Image_SurvGoal[I].ImageCenter;
  +        Label_SurvGoal[I] := TKMLabel.Create(Panel_Desc, 215 + I*35, 565, '', fnt_Grey, taCenter);
  +        Label_SurvGoal[I].Anchors := [anLeft, anBottom];
  +        Image_SurvGoalSt[I] := TKMImage.Create(Panel_Desc, 218 + I*35, 575, 20, 20, 44, rxGui);
  +        Image_SurvGoalSt[I].Anchors := [anLeft, anBottom];
         end;
   
         //Alliances
  -      B := TKMBevel.Create(Panel_SingleDesc, 0, 590, Half, 20);
  +      B := TKMBevel.Create(Panel_Desc, 0, 590, Half, 20);
         B.Anchors := [anLeft, anBottom];
  -      L := TKMLabel.Create(Panel_SingleDesc, 4, 594, 190, 20, gResTexts[TX_MENU_ALLIES], fnt_Metal, taLeft);
  +      L := TKMLabel.Create(Panel_Desc, 4, 594, 190, 20, gResTexts[TX_MENU_ALLIES], fnt_Metal, taLeft);
         L.Anchors := [anLeft, anBottom];
  -      B := TKMBevel.Create(Panel_SingleDesc, 0, 610, Half, 20);
  +      B := TKMBevel.Create(Panel_Desc, 0, 610, Half, 20);
         B.Anchors := [anLeft, anBottom];
  -      L := TKMLabel.Create(Panel_SingleDesc, 4, 614, 190, 20, gResTexts[TX_MENU_ENEMIES], fnt_Metal, taLeft);
  +      L := TKMLabel.Create(Panel_Desc, 4, 614, 190, 20, gResTexts[TX_MENU_ENEMIES], fnt_Metal, taLeft);
         L.Anchors := [anLeft, anBottom];
         for I := 0 to MAX_HANDS - 1 do
         begin
  -        Image_SingleAllies[I] := TKMImage.Create(Panel_SingleDesc, 200 + I*22, 593, 50, 20, 81, rxGuiMain);
  -        Image_SingleAllies[I].Anchors := [anLeft, anBottom];
  -        Image_SingleEnemies[I] := TKMImage.Create(Panel_SingleDesc, 200 + I*22, 613, 50, 20, 81, rxGuiMain);
  -        Image_SingleEnemies[I].Anchors := [anLeft, anBottom];
  +        Image_Allies[I] := TKMImage.Create(Panel_Desc, 200 + I*22, 593, 50, 20, 81, rxGuiMain);
  +        Image_Allies[I].Anchors := [anLeft, anBottom];
  +        Image_Enemies[I] := TKMImage.Create(Panel_Desc, 200 + I*22, 613, 50, 20, 81, rxGuiMain);
  +        Image_Enemies[I].Anchors := [anLeft, anBottom];
         end;
   
  -    Button_SingleBack := TKMButton.Create(Panel_Single, 45, aParent.Height - PAD_VERT - 30, 220, 30, gResTexts[TX_MENU_BACK], bsMenu);
  -    Button_SingleBack.Anchors := [anLeft, anBottom];
  -    Button_SingleBack.OnClick := BackClick;
  +    Button_Back := TKMButton.Create(Panel_Single, 45, aParent.Height - PAD_VERT - 30, 220, 30, gResTexts[TX_MENU_BACK], bsMenu);
  +    Button_Back.Anchors := [anLeft, anBottom];
  +    Button_Back.OnClick := BackClick;
       Button_SingleStart := TKMButton.Create(Panel_Single, 270, aParent.Height - PAD_VERT - 30, 220, 30, gResTexts[TX_MENU_SINGLE_START_MAP], bsMenu);
       Button_SingleStart.Anchors := [anLeft, anBottom];
       Button_SingleStart.OnClick := StartClick;
  
positive.code: 
  procedure TKMMenuSingleMap.UpdateDropBoxes;
  begin
    if DropBox_SingleLoc.ItemIndex <> -1 then
      fSingleLoc := DropBox_SingleLoc.GetSelectedTag
    else
      fSingleLoc := -1;
  
    //Don't allow selecting separator
    if DropBox_SingleColor.ItemIndex = 1 then
      DropBox_SingleColor.ItemIndex := 0;
  
    if InRange(DropBox_SingleColor.ItemIndex, 0, DropBox_SingleColor.List.RowCount - 1) then
      fSingleColor := DropBox_SingleColor.List.Rows[DropBox_SingleColor.ItemIndex].Cells[0].Color;
  end;
  
  
  
negative.code:   //Clear all so that later we fill only used
    for I := 0 to MAX_UI_GOALS - 1 do
    begin
      Image_VictGoal[I].TexID := 0;
      Label_VictGoal[I].Caption := '';
      Image_VictGoalSt[I].Hide;
      Image_SurvGoal[I].TexID := 0;
      Label_SurvGoal[I].Caption := '';
      Image_SurvGoalSt[I].Hide;
    end;
    for I := 0 to MAX_HANDS - 1 do
    begin
      Image_Allies[I].Hide;
      Image_Enemies[I].Hide;
    end;
    Button_SingleStart.Disable;
  end;
  