anchor.diff:  end;
   
   
  -procedure TKMMenuCampaign.Campaign_SelectMap(Sender: TObject);
  +procedure TKMMenuCampaign.SelectMap(aMapIndex: Byte);
   var
     I: Integer;
  -  Color: Cardinal;
  -begin
  -  if TKMControl(Sender).Tag > fCampaign.UnlockedMap then exit; //Skip closed maps
  -
  -  fMapIndex := TKMControl(Sender).Tag;
  +  color: Cardinal;
  +begin
  +  fMapIndex := aMapIndex;
   
     UpdateDifficultyLevel;
  -  
  +
     // Place highlight
     for I := 0 to High(Image_CampaignFlags) do
     begin
       Image_CampaignFlags[I].Highlight := (fMapIndex = I);
  -    Color := icLightGray2;
  +    color := icLightGray2;
       if I < fCampaign.MapCount then
  -      Color := DIFFICULTY_LEVELS_COLOR[fCampaign.MapsProgressData[I].BestCompleteDifficulty];
  -    Label_CampaignFlags[I].FontColor := Color;
  +      color := DIFFICULTY_LEVELS_COLOR[fCampaign.MapsProgressData[I].BestCompleteDifficulty];
  +    Label_CampaignFlags[I].FontColor := color;
     end;
   
     //Connect by sub-nodes
  
positive.code:     gVideoPlayer.SetCallback(PlayBriefingAudioTrack); // Start briefing audio after logo and intro videos
      gVideoPlayer.Play;
    end;
  end;
  
  procedure TKMMenuCampaign.BackClick(Sender: TObject);
  
negative.code: 
    Image_ScrollRestore.Hide;
    Panel_CampScroll.Show;
  end;
  
  
  // Flag was clicked on the Map
  procedure TKMMenuCampaign.Campaign_SelectMap(Sender: TObject);
  begin
    if TKMControl(Sender).Tag > fCampaign.UnlockedMap then Exit; //Skip closed maps
  
    SelectMap(TKMControl(Sender).Tag);
  
    // Play briefing
    PlayBriefingAudioTrack;
  end;
  
  procedure TKMMenuCampaign.PlayBriefingAudioTrack;
  begin
    gMusic.StopPlayingOtherFile; //Stop playing the previous briefing even if this one doesn't exist
    TKMAudio.PauseMusicToPlayFile(fCampaign.GetBreifingAudioFile(fMapIndex));
  end;
  
  