public static ConfigNode CraftNode(CraftPreset preset)
        {
            ConfigNode node = new ConfigNode(craftPresetNodeName);

            if (!string.IsNullOrEmpty(preset.Name))
            {
                node.AddValue("name", preset.Name);
                if (!ReferenceEquals(preset.AsstPreset, null) && !string.IsNullOrEmpty(preset.AsstPreset.name))
                {
                    node.AddValue(craftAsstKey, preset.AsstPreset.name);
                }
                if (!ReferenceEquals(preset.SSASPreset, null) && !string.IsNullOrEmpty(preset.SSASPreset.name))
                {
                    node.AddValue(craftSSASKey, preset.SSASPreset.name);
                }
                if (!ReferenceEquals(preset.SASPreset, null) && !string.IsNullOrEmpty(preset.SASPreset.name))
                {
                    node.AddValue(craftSASKey, preset.SASPreset.name);
                }
                if (!ReferenceEquals(preset.RSASPreset, null) && !string.IsNullOrEmpty(preset.RSASPreset.name))
                {
                    node.AddValue(craftRSASKey, preset.RSASPreset.name);
                }
            }

            return(node);
        }
        public static void saveDefaults()
        {
            ConfigNode  node = new ConfigNode();
            CraftPreset cP   = instance.craftPresetDict[craftDefaultName];

            if (!ReferenceEquals(cP.AsstPreset, null))
            {
                node.AddNode(AsstPresetNode(cP.AsstPreset));
            }
            if (!ReferenceEquals(cP.SSASPreset, null))
            {
                node.AddNode(SSASPresetNode(cP.SSASPreset));
            }
            if (!ReferenceEquals(cP.SASPreset, null))
            {
                node.AddNode(SASPresetNode(cP.SASPreset));
            }
            if (!ReferenceEquals(cP.RSASPreset, null))
            {
                node.AddNode(RSASPresetNode(cP.RSASPreset));
            }

            node.AddNode(CraftNode(cP));
            node.Save(KSPUtil.ApplicationRootPath.Replace("\\", "/") + defaultsPath);
        }
        public static void saveDefaults()
        {
            ConfigNode  node = new ConfigNode();
            CraftPreset cP   = instance.craftPresetDict[craftDefaultName];

            if (cP.apPreset != null)
            {
                node.AddNode(APPresetNode(cP.apPreset));
            }

            node.AddNode(CraftNode(cP));
            node.Save(KSPUtil.ApplicationRootPath.Replace("\\", "/") + defaultsPath);
        }
        public static void saveDefaults()
        {
            ConfigNode  node = new ConfigNode();
            CraftPreset cP   = instance.craftPresetDict[craftDefaultName];

            if (cP.apPreset != null)
            {
                node.AddNode(APPresetNode(cP.apPreset));
            }

            node.AddNode(CraftNode(cP));
            Defaults.Save(node);
        }
        public static ConfigNode CraftNode(CraftPreset preset)
        {
            ConfigNode node = new ConfigNode(craftPresetNodeName);

            if (!string.IsNullOrEmpty(preset.Name))
            {
                node.AddValue("name", preset.Name);
                if (preset.apPreset != null && !string.IsNullOrEmpty(preset.apPreset.name))
                {
                    node.AddValue(craftAPKey, preset.apPreset.name);
                }
            }

            return(node);
        }
        public static void saveDefaults()
        {
            ConfigNode  node = new ConfigNode();
            CraftPreset cP   = instance.craftPresetList[craftDefault];

            if (cP.AsstPreset != null)
            {
                node.AddNode(PAPresetNode(cP.AsstPreset));
            }
            if (cP.SSASPreset != null)
            {
                node.AddNode(SASPresetNode(cP.SSASPreset));
            }
            if (cP.StockPreset != null)
            {
                node.AddNode(SASPresetNode(cP.StockPreset));
            }

            node.AddNode(CraftNode(cP));
            node.Save(KSPUtil.ApplicationRootPath.Replace("\\", "/") + defaultsPath);
        }
        public static ConfigNode CraftNode(CraftPreset preset)
        {
            ConfigNode node = new ConfigNode(craftPreset);

            if (!string.IsNullOrEmpty(preset.Name))
            {
                node.AddValue("name", preset.Name);
            }
            if (preset.AsstPreset != null && !string.IsNullOrEmpty(preset.AsstPreset.name))
            {
                node.AddValue(craftAsst, preset.AsstPreset.name);
            }
            if (preset.SSASPreset != null && !string.IsNullOrEmpty(preset.SSASPreset.name))
            {
                node.AddValue(craftSSAS, preset.SSASPreset.name);
            }
            if (preset.StockPreset != null && !string.IsNullOrEmpty(preset.StockPreset.name))
            {
                node.AddValue(craftStock, preset.StockPreset.name);
            }
            node.AddValue(craftSasMode, preset.SASMode.ToString());

            return(node);
        }
Example #8
0
        public static void loadPresetsFromFile()
        {
            APPreset asstDefault = null;

            foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(apPresetNodeName))
            {
                if (node == null)
                    continue;

                List<double[]> gains = new List<double[]>();
                gains.Add(controllerGains(node.GetNode(hdgCtrlr), AsstList.HdgBank));
                gains.Add(controllerGains(node.GetNode(yawCtrlr), AsstList.BankToYaw));
                gains.Add(controllerGains(node.GetNode(aileronCtrlr), AsstList.Aileron));
                gains.Add(controllerGains(node.GetNode(rudderCtrlr), AsstList.Rudder));
                gains.Add(controllerGains(node.GetNode(altCtrlr), AsstList.Altitude));
                gains.Add(controllerGains(node.GetNode(vertCtrlr), AsstList.VertSpeed));
                gains.Add(controllerGains(node.GetNode(elevCtrlr), AsstList.Elevator));
                gains.Add(controllerGains(node.GetNode(speedCtrlr), AsstList.Speed));
                gains.Add(controllerGains(node.GetNode(accelCtrlr), AsstList.Acceleration));
                gains.Add(controllerGains(node.GetNode(cdiCtrlr), AsstList.CdiVelocity));

                string name = node.GetValue("name");
                if (name == apDefaultName)
                    asstDefault = new APPreset(gains, name);
                else if (!instance.APPresetList.Any(p => p.name == name))
                    instance.APPresetList.Add(new APPreset(gains, name));
            }

            /*
            foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(sasPresetNodeName))
            {
                if (node == null || node.GetValue("stock") == "false")
                    continue;

                List<double[]> gains = new List<double[]>();
                gains.Add(controllerSASGains(node.GetNode(elevCtrlr), SASList.Pitch));
                gains.Add(controllerSASGains(node.GetNode(aileronCtrlr), SASList.Bank));
                gains.Add(controllerSASGains(node.GetNode(rudderCtrlr), SASList.Hdg));

                string name = node.GetValue("name");
                if (name == SASDefaultName)
                    SASDefault = new SASPreset(gains, name);
                else if (!instance.SASPresetList.Any(p => p.name == name))
                    instance.SASPresetList.Add(new SASPreset(gains, name));
            }
            */

            foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(craftPresetNodeName))
            {
                if (node == null || instance.craftPresetDict.ContainsKey(node.GetValue("name")))
                    continue;

                string name = node.GetValue("name");
                if (name == craftDefaultName)
                    instance.craftPresetDict.Add(craftDefaultName,
                        new CraftPreset(craftDefaultName, asstDefault));
                else
                {
                    CraftPreset cP = new CraftPreset(name,
                                            instance.APPresetList.FirstOrDefault(p => p.name == node.GetValue(craftAPKey)));

                    instance.craftPresetDict.Add(cP.Name, cP);
                }
            }
        }
Example #9
0
        public static ConfigNode CraftNode(CraftPreset preset)
        {
            ConfigNode node = new ConfigNode(craftPresetNodeName);
            if (!string.IsNullOrEmpty(preset.Name))
            {
                node.AddValue("name", preset.Name);
                if (preset.apPreset != null && !string.IsNullOrEmpty(preset.apPreset.name))
                    node.AddValue(craftAPKey, preset.apPreset.name);
            }

            return node;
        }
        public static void loadPresetsFromFile()
        {
            AsstPreset asst = null;
            SASPreset  SSAS = null, stock = null;

            foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(asstPreset))
            {
                if (node == null)
                {
                    continue;
                }

                List <double[]> gains = new List <double[]>();
                gains.Add(controllerGains(node.GetNode(hdgCtrlr), PIDList.HdgBank));
                gains.Add(controllerGains(node.GetNode(yawCtrlr), PIDList.HdgYaw));
                gains.Add(controllerGains(node.GetNode(aileronCtrlr), PIDList.Aileron));
                gains.Add(controllerGains(node.GetNode(rudderCtrlr), PIDList.Rudder));
                gains.Add(controllerGains(node.GetNode(altCtrlr), PIDList.Altitude));
                gains.Add(controllerGains(node.GetNode(vertCtrlr), PIDList.VertSpeed));
                gains.Add(controllerGains(node.GetNode(elevCtrlr), PIDList.Elevator));
                gains.Add(controllerGains(node.GetNode(throttleCtrlr), PIDList.Throttle));

                if (node.GetValue("name") != craftDefault && !instance.PAPresetList.Any(p => p.name == node.GetValue("name")))
                {
                    instance.PAPresetList.Add(new AsstPreset(gains, node.GetValue("name")));
                }
                else if (node.GetValue("name") == asstDefault)
                {
                    asst = new AsstPreset(gains, node.GetValue("name"));
                }
            }

            foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(sasPreset))
            {
                if (node == null)
                {
                    continue;
                }

                List <double[]> gains = new List <double[]>();
                gains.Add(controllerSASGains(node.GetNode(elevCtrlr), SASList.Pitch));
                gains.Add(controllerSASGains(node.GetNode(aileronCtrlr), SASList.Roll));
                gains.Add(controllerSASGains(node.GetNode(rudderCtrlr), SASList.Yaw));

                if ((node.GetValue("name") != ssasDefault && node.GetValue("name") != stockDefault) && !instance.SASPresetList.Any(p => p.name == node.GetValue("name")))
                {
                    instance.SASPresetList.Add(new SASPreset(gains, node.GetValue("name"), bool.Parse(node.GetValue("stock"))));
                }
                else
                {
                    if (node.GetValue("name") == ssasDefault)
                    {
                        SSAS = new SASPreset(gains, node.GetValue("name"), false);
                    }
                    else if (node.GetValue("name") == stockDefault)
                    {
                        stock = new SASPreset(gains, node.GetValue("name"), true);
                    }
                }
            }

            foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(craftPreset))
            {
                if (node == null || instance.craftPresetList.ContainsKey(node.GetValue("name")))
                {
                    continue;
                }

                bool bStock;
                bool.TryParse(node.GetValue(craftSasMode), out bStock);

                if (node.GetValue("name") == craftDefault)
                {
                    instance.craftPresetList.Add(craftDefault, new CraftPreset(craftDefault, asst, SSAS, stock, bStock));
                }
                else
                {
                    CraftPreset cP = new CraftPreset(node.GetValue("name"),
                                                     instance.PAPresetList.FirstOrDefault(p => p.name == node.GetValue(craftAsst)),
                                                     instance.SASPresetList.FirstOrDefault(p => p.name == node.GetValue(craftSSAS)),
                                                     instance.SASPresetList.FirstOrDefault(p => p.name == node.GetValue(craftStock)),
                                                     bStock);

                    instance.craftPresetList.Add(cP.Name, cP);
                }
            }
        }
        public static void loadPresetsFromFile()
        {
            APPreset asstDefault = null;

            foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(apPresetNodeName))
            {
                if (node == null)
                {
                    continue;
                }

                List <double[]> gains = new List <double[]>();
                gains.Add(controllerGains(node.GetNode(hdgCtrlr), AsstList.HdgBank));
                gains.Add(controllerGains(node.GetNode(yawCtrlr), AsstList.BankToYaw));
                gains.Add(controllerGains(node.GetNode(aileronCtrlr), AsstList.Aileron));
                gains.Add(controllerGains(node.GetNode(rudderCtrlr), AsstList.Rudder));
                gains.Add(controllerGains(node.GetNode(altCtrlr), AsstList.Altitude));
                gains.Add(controllerGains(node.GetNode(vertCtrlr), AsstList.VertSpeed));
                gains.Add(controllerGains(node.GetNode(elevCtrlr), AsstList.Elevator));
                gains.Add(controllerGains(node.GetNode(speedCtrlr), AsstList.Speed));
                gains.Add(controllerGains(node.GetNode(accelCtrlr), AsstList.Acceleration));
                gains.Add(controllerGains(node.GetNode(cdiCtrlr), AsstList.CdiVelocity));

                string name = node.GetValue("name");
                if (name == apDefaultName)
                {
                    asstDefault = new APPreset(gains, name);
                }
                else if (!instance.APPresetList.Any(p => p.name == name))
                {
                    instance.APPresetList.Add(new APPreset(gains, name));
                }
            }

            /*
             * foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(sasPresetNodeName))
             * {
             *  if (node == null || node.GetValue("stock") == "false")
             *      continue;
             *
             *  List<double[]> gains = new List<double[]>();
             *  gains.Add(controllerSASGains(node.GetNode(elevCtrlr), SASList.Pitch));
             *  gains.Add(controllerSASGains(node.GetNode(aileronCtrlr), SASList.Bank));
             *  gains.Add(controllerSASGains(node.GetNode(rudderCtrlr), SASList.Hdg));
             *
             *  string name = node.GetValue("name");
             *  if (name == SASDefaultName)
             *      SASDefault = new SASPreset(gains, name);
             *  else if (!instance.SASPresetList.Any(p => p.name == name))
             *      instance.SASPresetList.Add(new SASPreset(gains, name));
             * }
             */

            foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(craftPresetNodeName))
            {
                if (node == null || instance.craftPresetDict.ContainsKey(node.GetValue("name")))
                {
                    continue;
                }

                string name = node.GetValue("name");
                if (name == craftDefaultName)
                {
                    instance.craftPresetDict.Add(craftDefaultName,
                                                 new CraftPreset(craftDefaultName, asstDefault));
                }
                else
                {
                    CraftPreset cP = new CraftPreset(name,
                                                     instance.APPresetList.FirstOrDefault(p => p.name == node.GetValue(craftAPKey)));

                    instance.craftPresetDict.Add(cP.Name, cP);
                }
            }
        }
        public static void loadPresetsFromFile()
        {
            AsstPreset asstDefault = null;
            SASPreset  SASDefault  = null;
            SSASPreset SSASDefault = null;
            RSASPreset RSASDefault = null;

            foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(asstPresetNodeName))
            {
                if (ReferenceEquals(node, null))
                {
                    continue;
                }

                List <double[]> gains = new List <double[]>();
                gains.Add(controllerGains(node.GetNode(hdgCtrlr), AsstList.HdgBank));
                gains.Add(controllerGains(node.GetNode(yawCtrlr), AsstList.BankToYaw));
                gains.Add(controllerGains(node.GetNode(aileronCtrlr), AsstList.Aileron));
                gains.Add(controllerGains(node.GetNode(rudderCtrlr), AsstList.Rudder));
                gains.Add(controllerGains(node.GetNode(altCtrlr), AsstList.Altitude));
                gains.Add(controllerGains(node.GetNode(vertCtrlr), AsstList.VertSpeed));
                gains.Add(controllerGains(node.GetNode(elevCtrlr), AsstList.Elevator));
                gains.Add(controllerGains(node.GetNode(speedCtrlr), AsstList.Speed));
                gains.Add(controllerGains(node.GetNode(accelCtrlr), AsstList.Acceleration));

                string name = node.GetValue("name");
                if (name == asstDefaultName)
                {
                    asstDefault = new AsstPreset(gains, name);
                }
                else if (!instance.AsstPresetList.Any(p => p.name == name))
                {
                    instance.AsstPresetList.Add(new AsstPreset(gains, name));
                }
            }

            foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(sasPresetNodeName))
            {
                if (ReferenceEquals(node, null) || node.GetValue("stock") == "false")
                {
                    continue;
                }

                List <double[]> gains = new List <double[]>();
                gains.Add(controllerSASGains(node.GetNode(elevCtrlr), SASList.Pitch));
                gains.Add(controllerSASGains(node.GetNode(aileronCtrlr), SASList.Bank));
                gains.Add(controllerSASGains(node.GetNode(rudderCtrlr), SASList.Hdg));

                string name = node.GetValue("name");
                if (name == SASDefaultName)
                {
                    SASDefault = new SASPreset(gains, name);
                }
                else if (!instance.SASPresetList.Any(p => p.name == name))
                {
                    instance.SASPresetList.Add(new SASPreset(gains, name));
                }
            }

            foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(ssasPresetNodeName))
            {
                if (ReferenceEquals(node, null))
                {
                    continue;
                }

                List <double[]> gains = new List <double[]>();
                gains.Add(controllerSASGains(node.GetNode(elevCtrlr), SASList.Pitch));
                gains.Add(controllerSASGains(node.GetNode(aileronCtrlr), SASList.Bank));
                gains.Add(controllerSASGains(node.GetNode(rudderCtrlr), SASList.Hdg));

                string name = node.GetValue("name");
                if (name == ssasDefaultName)
                {
                    SSASDefault = new SSASPreset(gains, name);
                }
                else if (!instance.SSASPresetList.Any(p => p.name == name))
                {
                    instance.SSASPresetList.Add(new SSASPreset(gains, name));
                }
            }

            foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(rsasPresetNodeName))
            {
                if (ReferenceEquals(node, null))
                {
                    continue;
                }

                List <double[]> gains = new List <double[]>();
                gains.Add(controllerSASGains(node.GetNode(elevCtrlr), SASList.Pitch));
                gains.Add(controllerSASGains(node.GetNode(aileronCtrlr), SASList.Bank));
                gains.Add(controllerSASGains(node.GetNode(rudderCtrlr), SASList.Hdg));

                string name = node.GetValue("name");
                if (name == RSASDefaultName)
                {
                    RSASDefault = new RSASPreset(gains, name);
                }
                else if (!instance.RSASPresetList.Any(p => p.name == name))
                {
                    instance.RSASPresetList.Add(new RSASPreset(gains, name));
                }
            }

            foreach (ConfigNode node in GameDatabase.Instance.GetConfigNodes(craftPresetNodeName))
            {
                if (ReferenceEquals(node, null) || instance.craftPresetDict.ContainsKey(node.GetValue("name")))
                {
                    continue;
                }

                string name = node.GetValue("name");
                if (name == craftDefaultName)
                {
                    instance.craftPresetDict.Add(craftDefaultName, new CraftPreset(craftDefaultName, asstDefault, SSASDefault, SASDefault, RSASDefault));
                }
                else
                {
                    CraftPreset cP = new CraftPreset(name,
                                                     instance.AsstPresetList.FirstOrDefault(p => p.name == node.GetValue(craftAsstKey)),
                                                     instance.SSASPresetList.FirstOrDefault(p => p.name == node.GetValue(craftSSASKey)),
                                                     instance.SASPresetList.FirstOrDefault(p => p.name == node.GetValue(craftSASKey)),
                                                     instance.RSASPresetList.FirstOrDefault(p => p.name == node.GetValue(craftRSASKey)));

                    instance.craftPresetDict.Add(cP.Name, cP);
                }
            }
        }
        public static ConfigNode CraftNode(CraftPreset preset)
        {
            ConfigNode node = new ConfigNode(craftPresetNodeName);
            if (!string.IsNullOrEmpty(preset.Name))
            {
                node.AddValue("name", preset.Name);
                if (!ReferenceEquals(preset.AsstPreset, null) && !string.IsNullOrEmpty(preset.AsstPreset.name))
                    node.AddValue(craftAsstKey, preset.AsstPreset.name);
                if (!ReferenceEquals(preset.SSASPreset, null) && !string.IsNullOrEmpty(preset.SSASPreset.name))
                    node.AddValue(craftSSASKey, preset.SSASPreset.name);
                if (!ReferenceEquals(preset.SASPreset, null) && !string.IsNullOrEmpty(preset.SASPreset.name))
                    node.AddValue(craftSASKey, preset.SASPreset.name);
                if (!ReferenceEquals(preset.RSASPreset, null) && !string.IsNullOrEmpty(preset.RSASPreset.name))
                    node.AddValue(craftRSASKey, preset.RSASPreset.name);
            }

            return node;
        }