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:   Label_CampaignTitle.Caption := Format(gResTexts[TX_GAME_MISSION], [fMapIndex+1]);
    Label_CampaignText.Caption := fCampaign.MissionBriefing(fMapIndex);
  
    //Add offset from top and space on bottom to fit buttons
    Panel_CampScroll.Height := Label_CampaignText.Top + Label_CampaignText.TextSize.Y + 70;
    Panel_CampScroll.Top := Panel_Campaign.Height - Panel_CampScroll.Height;
  
    fGameApp.MusicLib.StopPlayingOtherFile; //Stop playing the previous breifing even if this one doesn't exist
    fGameApp.PauseMusicToPlayFile(fCampaign.BreifingAudioFile(fMapIndex));
  
negative.code:       Image_CampaignBG: TKMImage;
        Panel_Campaign_Flags: TKMPanel;
          Image_CampaignFlags: array[0..MAX_CAMP_MAPS - 1] of TKMImage;
          Label_CampaignFlags: array[0..MAX_CAMP_MAPS - 1] of TKMLabel;
          Image_CampaignSubNode: array[0..MAX_CAMP_NODES - 1] of TKMImage;
        Panel_CampScroll: TKMPanel;
          Image_ScrollTop, Image_Scroll, Image_ScrollClose: TKMImage;
          Label_CampaignTitle, Label_CampaignText: TKMLabel;
        Image_ScrollRestore: TKMImage;
        Button_CampaignStart, Button_CampaignBack: TKMButton;
    public
      constructor Create(aParent: TKMPanel; aOnPageChange: TGUIEventText);
  