+ if (SaveLocationPerMachine)\r
+ {\r
+ LocationList = LocationList.Where(l => l.MachineName != Environment.MachineName).ToList();\r
+ LocationList.Add(new LocationPerMachine\r
+ {\r
+ MachineName = Environment.MachineName,\r
+ Location = Location,\r
+ Zoom = Zoom,\r
+ ListLocation = ShipList.Location,\r
+ ListSize = ShipList.Size,\r
+ ListFromGroup = ListFormGroup\r
+ });\r
+ }\r
+ else\r
+ {\r
+ LocationList = new List<LocationPerMachine>();\r
+ }\r
+ ConvertPath(StripBaseDir);\r
+ var serializer = new XmlSerializer(typeof(Config));\r
+ using (var file = File.CreateText(ConfigFile + ".tmp"))\r
+ serializer.Serialize(file, this);\r
+ File.Copy(ConfigFile + ".tmp", ConfigFile, true);\r
+ File.Delete(ConfigFile + ".tmp");\r
+ ConvertPath(PrependBaseDir);\r
+ }\r
+\r
+ private void ConvertPath(Func<string, string> func)\r
+ {\r
+ DebugLogFile = func(DebugLogFile);\r
+ Log.OutputDir = func(Log.OutputDir);\r
+ for (var i = 0; i < Sounds.Files.Length; i++)\r
+ Sounds.Files[i] = func(Sounds.Files[i]);\r