private IEnumerable<XElement> GetSaveElements()
{
yield return new XElement("DX9",
new XElement("StructureAddress", string.Join(",", DX9_StructureAddress.Select(x => x.ToString("X", CultureInfo.InvariantCulture)))),
new XElement("ZoomCurrent", DX9_ZoomCurrent.ToString("X", CultureInfo.InvariantCulture)),
new XElement("ZoomMax", DX9_ZoomMax.ToString("X", CultureInfo.InvariantCulture)),
new XElement("FovCurrent", DX9_FovCurrent.ToString("X", CultureInfo.InvariantCulture)),
new XElement("FovMax", DX9_FovMax.ToString("X", CultureInfo.InvariantCulture))
);
yield return new XElement("DX11",
new XElement("StructureAddress", string.Join(",", DX11_StructureAddress.Select(x => x.ToString("X", CultureInfo.InvariantCulture)))),
new XElement("ZoomCurrent", DX11_ZoomCurrent.ToString("X", CultureInfo.InvariantCulture)),
new XElement("ZoomMax", DX11_ZoomMax.ToString("X", CultureInfo.InvariantCulture)),
new XElement("FovCurrent", DX11_FovCurrent.ToString("X", CultureInfo.InvariantCulture)),
new XElement("FovMax", DX11_FovMax.ToString("X", CultureInfo.InvariantCulture))
);
yield return new XElement("LastUpdate", LastUpdate);
if ((Control.ModifierKeys & (Keys.Control | Keys.Alt | Keys.Shift)) != 0)
{
yield break;
}
yield return new XElement("AutoApply", AutoApply.ToString(CultureInfo.InvariantCulture));
yield return new XElement("DesiredZoom", DesiredZoom.ToString(CultureInfo.InvariantCulture));
yield return new XElement("DesiredFov", DesiredFov.ToString(CultureInfo.InvariantCulture));
yield return new XElement("OffsetUpdateLocation", OffsetUpdateLocation);
}