private RenderSettings GetRenderSettings()
{
var rs = new RenderSettings();
rs.InputFile = tbInput.Text;
if (cbOutputPNG.Checked) {
rs.SavePNG=true;
rs.PNGQuality = (int)nudCompression.Value;
}
if (rbCustomFilename.Checked) rs.OutputFile = tbCustomOutput.Text;
if (cbOutputJPG.Checked) {
rs.SaveJPEG=true;
rs.JPEGCompression= (int)nudEncodingQuality.Value;
}
if (cbModConfig.Checked)
rs.ModConfig = tbModConfig.Text;
else if (!string.IsNullOrWhiteSpace(tbMixDir.Text) && tbMixDir.Text != FindMixDir(rbEngineAuto.Checked || rbEngineRA2.Checked || rbEngineYR.Checked))
rs.MixFilesDirectory = tbMixDir.Text;
if (cbEmphasizeOre.Checked) rs.MarkOreFields = true;
if (cbTiledStartPositions.Checked) rs.StartPositionMarking = StartPositionMarking.Tiled;
if (cbSquaredStartPositions.Checked) rs.StartPositionMarking = StartPositionMarking.Squared;
if (rbEngineRA2.Checked) rs.Engine = EngineType.RedAlert2;
else if (rbEngineYR.Checked) rs.Engine = EngineType.YurisRevenge;
else if (rbEngineTS.Checked) rs.Engine = EngineType.TiberianSun;
else if (rbEngineFS.Checked) rs.Engine = EngineType.Firestorm;
if (rbSizeLocal.Checked) rs.SizeMode = SizeMode.Local;
else if (rbSizeFullmap.Checked) rs.SizeMode = SizeMode.Full;
if (rbPreferSoftwareRendering.Checked) rs.PreferOSMesa = true;
if (cbReplacePreview.Checked) {
rs.GeneratePreviewPack = true;
if (cbMarkersType.Text == "None")
rs.PreviewMarkers = PreviewMarkersType.None;
else if (cbMarkersType.Text == "Squared")
rs.PreviewMarkers = PreviewMarkersType.Squared;
else if (cbMarkersType.Text == "Aro")
rs.PreviewMarkers = PreviewMarkersType.Aro;
else if (cbMarkersType.Text == "Bittah")
rs.PreviewMarkers = PreviewMarkersType.Bittah;
}
if (cbOutputThumbnail.Checked) {
var wh = tbThumbDimensions.Text.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).ToList();
int w, h;
if (wh.Count == 2 && int.TryParse(wh[0], out w) && int.TryParse(wh[1], out h)) {
rs.ThumbnailConfig = "";
if (cbPreserveThumbAspect.Checked)
rs.ThumbnailConfig += "+";
rs.ThumbnailConfig += string.Format("({0},{1})", w, h);
}
}
return rs;
}