// // Save settings to the module. // public void SaveSettings() { ResourceManager ResMan = ResourceManager.Instance; IResourceEntry Entry; GFFFile File; Stream ResStream; Entry = ResMan.GetEntry(new OEIResRef("CompilerSettings"), (ushort)ResTypes.ResGFF); // // If the settings file did not exist yet, create it in the module proper. // if (Entry == null || Entry is MissingResourceEntry) { Entry = NWN2Toolset.NWN2ToolsetMainForm.App.Module.Repository.CreateResource( new OEIResRef("CompilerSettings"), (ushort)ResTypes.ResGFF); } ResStream = Entry.GetStream(true); try { File = new GFFFile(); GFFStruct Settings = new GFFStruct(); GFFStructField SettingsField = new GFFStructField(); GFFIntField CompilerVersionField = new GFFIntField(); GFFByteField EnableExtensionsField = new GFFByteField(); GFFByteField EnableDebugSymbolsField = new GFFByteField(); CompilerVersionField.ValueInt = CompilerVersion; CompilerVersionField.StringLabel = "CompilerVersion"; EnableExtensionsField.ValueByte = (Byte)(EnableExtensions == true ? 1 : 0); EnableExtensionsField.StringLabel = "EnableExtensions"; EnableDebugSymbolsField.ValueByte = (Byte)(EnableDebugSymbols == true ? 1 : 0); EnableDebugSymbolsField.StringLabel = "EnableDbgSymbols"; Settings.Fields.Add(CompilerVersionField); Settings.Fields.Add(EnableExtensionsField); Settings.Fields.Add(EnableDebugSymbolsField); SettingsField.ValueStruct = Settings; SettingsField.StringLabel = "Settings"; File.TopLevelStruct.Fields.Add(SettingsField); File.Save(ResStream); } finally { Entry.Release(); } }