anchor.diff:      Image_CampaignFlags[I].Visible := I < fCampaign.MapCount;
       Image_CampaignFlags[I].TexID   := MapPic[I <= fCampaign.UnlockedMap];
       Image_CampaignFlags[I].HighlightOnMouseOver := I <= fCampaign.UnlockedMap;
  +    Label_CampaignFlags[I].Visible := (I < fCampaign.MapCount) and (I <= fCampaign.UnlockedMap);
     end;
   
     //Place sites
  
positive.code:     //Pivot flags around Y=bottom X=middle, that's where the flag pole is
      Image_CampaignFlags[I].Left := fCampaign.Maps[I].Flag.X - Round((Image_CampaignFlags[I].Width/2)*(1-Panel_Campaign_Flags.Scale));
      Image_CampaignFlags[I].Top  := fCampaign.Maps[I].Flag.Y - Round(Image_CampaignFlags[I].Height   *(1-Panel_Campaign_Flags.Scale));
    end;
  
    //Select last map to play by 'clicking' last node
    Campaign_SelectMap(Image_CampaignFlags[fCampaign.UnlockedMap]);
  
    //When opening campaign screen set the scroll initial position properly
    //Player can move it later (to allow to select previous maps and look at camp map)
    Panel_CampScroll.Left := IfThen(fCampaign.Maps[fMapIndex].TextPos = bcBottomRight, Panel_Campaign.Width - Panel_CampScroll.Width, 0);
  end;
  
  
  
negative.code:       Image_CampaignFlags[I] := TKMImage.Create(Panel_Campaign_Flags, aParent.Width, aParent.Height, 23, 29, 10, rxGuiMain);
        Image_CampaignFlags[I].OnClick := Campaign_SelectMap;
        Image_CampaignFlags[I].Tag := I;
  
        Label_CampaignFlags[I] := TKMLabel.Create(Panel_Campaign_Flags, aParent.Width, aParent.Height, IntToStr(I+1), fnt_Mini, taCenter);
        Label_CampaignFlags[I].Hitable := False;
      end;
      for I := 0 to High(Image_CampaignSubNode) do
      begin
  