private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
string arg = (string)e.Argument;
CASCConfig config = _onlineMode ? CASCConfig.LoadOnlineStorageConfig(arg, "us") : CASCConfig.LoadLocalStorageConfig(arg);
if (_onlineMode)
{
using (SelectBuildForm sb = new SelectBuildForm(config))
{
var result = sb.ShowDialog();
if (result != DialogResult.OK || sb.SelectedIndex == -1)
{
e.Cancel = true;
return;
}
config.ActiveBuild = sb.SelectedIndex;
}
}
var casc = CASCHandler.OpenStorage(config, backgroundWorker1);
casc.Root.LoadListFile(Path.Combine(Application.StartupPath, "listfile.txt"), backgroundWorker1);
var fldr = casc.Root.SetFlags(Settings.Default.LocaleFlags, Settings.Default.ContentFlags);
casc.Root.MergeInstall(casc.Install);
e.Result = new object[] { casc, fldr };
}