public static void Init() { // log version Lib.Log("version " + Lib.Version()); // parse settings Settings.Parse(); // parse profile Profile.Parse(); // detect features Features.Detect(); // get configs from DB UrlDir.UrlFile root = null; foreach (UrlDir.UrlConfig url in GameDatabase.Instance.root.AllConfigs) { root = url.parent; break; } // inject MM patches on-the-fly, so that profile/features can be queried with NEEDS[] Inject(root, "Profile", Lib.UppercaseFirst(Settings.Profile)); if (Features.Reliability) Inject(root, "Feature", "Reliability"); if (Features.Deploy) Inject(root, "Feature", "Deploy"); if (Features.SpaceWeather) Inject(root, "Feature", "SpaceWeather"); if (Features.Automation) Inject(root, "Feature", "Automation"); if (Features.Science) Inject(root, "Feature", "Science"); if (Features.Radiation) Inject(root, "Feature", "Radiation"); if (Features.Shielding) Inject(root, "Feature", "Shielding"); if (Features.LivingSpace) Inject(root, "Feature", "LivingSpace"); if (Features.Comfort) Inject(root, "Feature", "Comfort"); if (Features.Poisoning) Inject(root, "Feature", "Poisoning"); if (Features.Pressure) Inject(root, "Feature", "Pressure"); if (Features.Humidity) Inject(root, "Feature", "Humidity"); if (Features.Habitat) Inject(root, "Feature", "Habitat"); if (Features.Supplies) Inject(root, "Feature", "Supplies"); }
public void Start() { // log version Lib.Log("Version : " + Lib.KerbalismVersion + " - Build : " + Lib.KerbalismDevBuild); Lib.Log("Forcing KSP to load resources..."); PartResourceLibrary.Instance.LoadDefinitions(); // parse settings Settings.Parse(); // parse profile Profile.Parse(); // detect features Features.Detect(); // get configs from DB UrlDir.UrlFile root = null; foreach (UrlDir.UrlConfig url in GameDatabase.Instance.root.AllConfigs) { root = url.parent; break; } // inject MM patches on-the-fly, so that profile/features can be queried with NEEDS[] Inject(root, "Profile", Lib.UppercaseFirst(Settings.Profile)); if (Features.Reliability) { Inject(root, "Feature", "Reliability"); } if (Features.Deploy) { Inject(root, "Feature", "Deploy"); } if (Features.SpaceWeather) { Inject(root, "Feature", "SpaceWeather"); } if (Features.Automation) { Inject(root, "Feature", "Automation"); } if (Features.Science) { Inject(root, "Feature", "Science"); } if (Features.Radiation) { Inject(root, "Feature", "Radiation"); } if (Features.Shielding) { Inject(root, "Feature", "Shielding"); } if (Features.LivingSpace) { Inject(root, "Feature", "LivingSpace"); } if (Features.Comfort) { Inject(root, "Feature", "Comfort"); } if (Features.Poisoning) { Inject(root, "Feature", "Poisoning"); } if (Features.Pressure) { Inject(root, "Feature", "Pressure"); } if (Features.Habitat) { Inject(root, "Feature", "Habitat"); } if (Features.Supplies) { Inject(root, "Feature", "Supplies"); } // inject harmony patches HarmonyInstance harmony = HarmonyInstance.Create("Kerbalism"); harmony.PatchAll(Assembly.GetExecutingAssembly()); var methods = harmony.GetPatchedMethods(); }
public void Start() { // log version Lib.Log("Version : " + Lib.KerbalismVersion + " - Build : " + Lib.KerbalismDevBuild); if (LocalHelpers.GenerateEnglishLoc) { LocalHelpers.GenerateLoc(); } if (LocalHelpers.UpdateNonEnglishLoc) { LocalHelpers.RegenerateNonEnglishLoc(); } Lib.Log("Forcing KSP to load resources..."); PartResourceLibrary.Instance.LoadDefinitions(); // parse settings Settings.Parse(); // parse profile Profile.Parse(); // detect features Features.Detect(); // get configs from DB UrlDir.UrlFile root = null; foreach (UrlDir.UrlConfig url in GameDatabase.Instance.root.AllConfigs) { root = url.parent; break; } // inject MM patches on-the-fly, so that profile/features can be queried with NEEDS[] Inject(root, "Profile", Lib.UppercaseFirst(Settings.Profile)); if (Features.Reliability) { Inject(root, "Feature", "Reliability"); } if (Features.Deploy) { Inject(root, "Feature", "Deploy"); } if (Features.SpaceWeather) { Inject(root, "Feature", "SpaceWeather"); } if (Features.Automation) { Inject(root, "Feature", "Automation"); } if (Features.Science) { Inject(root, "Feature", "Science"); } if (Features.Radiation) { Inject(root, "Feature", "Radiation"); } if (Features.Shielding) { Inject(root, "Feature", "Shielding"); } if (Features.LivingSpace) { Inject(root, "Feature", "LivingSpace"); } if (Features.Comfort) { Inject(root, "Feature", "Comfort"); } if (Features.Poisoning) { Inject(root, "Feature", "Poisoning"); } if (Features.Pressure) { Inject(root, "Feature", "Pressure"); } if (Features.Habitat) { Inject(root, "Feature", "Habitat"); } if (Features.Supplies) { Inject(root, "Feature", "Supplies"); } // inject harmony patches Harmony harmony = new Harmony("Kerbalism"); harmony.PatchAll(Assembly.GetExecutingAssembly()); var methods = harmony.GetPatchedMethods(); // register loading callbacks if (HighLogic.LoadedScene == GameScenes.LOADING) { GameEvents.OnPartLoaderLoaded.Add(SaveHabitatData); } }