private async void StartConvertButton_click(object sender, EventArgs e)
        {
            var progress = new Progress <String>(s => logBox.AppendText(s));

            Boolean useSpawnAsOrigin = UseSpawnAsOriginCheckBox.Checked;

            String fceDirectory      = Directory.GetParent(FortressCraftWorldPathInput.Text).FullName + Path.DirectorySeparatorChar;
            String mcDirectory       = Directory.GetParent(MinecraftWorldPathInput.Text).FullName + Path.DirectorySeparatorChar;
            String mcNamesToFCENames = MCToFCENamePathInput.Text;
            String terrainDataPath   = FortressCraftTerrainDataPathInput.Text;

            if (!File.Exists(mcNamesToFCENames))
            {
                MessageBox.Show("The specified Cube Mapping file could not be found.");
                return;
            }
            if (!File.Exists(terrainDataPath))
            {
                MessageBox.Show("The specified Terrain Data file could not be found.");
                return;
            }
            if (!Directory.Exists(mcDirectory))
            {
                MessageBox.Show("The specified Minecraft world could not be found.");
                return;
            }
            if (!Directory.Exists(fceDirectory))
            {
                MessageBox.Show("The specified FortressCraft world could not be found.");
                return;
            }

            var mapper    = new MinecraftMapper(useSpawnAsOrigin);
            var converter = new Converter(terrainDataPath, fceDirectory, mapper);

            StartConvertButton.Enabled = false;
            await Task.Factory.StartNew(() => converter.Begin(mcDirectory, mcNamesToFCENames, progress));

            StartConvertButton.Enabled = true;
        }
        private static void ProcessArguments(String[] args)
        {
            String  fceDirectory     = args[0];
            String  mcDirectory      = args[1];
            String  terrainDataPath  = args[2];
            String  nameMapPath      = args[3];
            Boolean useSpawnAsOrigin = !(args.Length > 4 && args[4] == "-o");

            var progress = new Progress <String>(Console.WriteLine);

            if (!File.Exists(nameMapPath))
            {
                MessageBox.Show("The specified Cube Mapping file could not be found.");
                return;
            }
            if (!File.Exists(terrainDataPath))
            {
                MessageBox.Show("The specified Terrain Data file could not be found. ");
                return;
            }
            if (!Directory.Exists(mcDirectory))
            {
                MessageBox.Show("The specified Minecraft world could not be found.");
                return;
            }
            if (!Directory.Exists(fceDirectory))
            {
                MessageBox.Show("The specified FortressCraft world could not be found.");
                return;
            }

            var mapper    = new MinecraftMapper(useSpawnAsOrigin);
            var converter = new Converter(terrainDataPath, fceDirectory, mapper);

            converter.Begin(mcDirectory, nameMapPath, progress);
        }