Esempio n. 1
0
        // This saves the settings to program configuration
        internal void SaveSettings()
        {
            //mxd
            General.Settings.WriteSetting("configurations." + settingskey + ".enabled", enabled);
            if (!changed)
            {
                return;
            }

            // Write to configuration
            General.Settings.WriteSetting("configurations." + settingskey + ".nodebuildersave", nodebuildersave);
            General.Settings.WriteSetting("configurations." + settingskey + ".nodebuildertest", nodebuildertest);

            //mxd. Test Engines
            General.Settings.WriteSetting("configurations." + settingskey + ".currentengineindex", currentEngineIndex);
            SaveTestEngines();

            //mxd. Custom linedef colors
            SaveLinedefColorPresets();

            General.Settings.WriteSetting("configurations." + settingskey + ".startmode", startmode);
            resources.WriteToConfig(General.Settings.Config, "configurations." + settingskey + ".resources");

            // Write filters to configuration
            General.Settings.DeleteSetting("configurations." + settingskey + ".thingsfilters");
            for (int i = 0; i < thingsfilters.Count; i++)
            {
                thingsfilters[i].WriteSettings(General.Settings.Config,
                                               "configurations." + settingskey + ".thingsfilters.filter" + i.ToString(CultureInfo.InvariantCulture));
            }

            // Write texturesets to configuration
            General.Settings.DeleteSetting("configurations." + settingskey + ".texturesets");             //mxd
            for (int i = 0; i < texturesets.Count; i++)
            {
                texturesets[i].WriteToConfig(General.Settings.Config,
                                             "configurations." + settingskey + ".texturesets.set" + i.ToString(CultureInfo.InvariantCulture));
            }

            // Write edit modes to configuration
            ListDictionary modeslist = new ListDictionary();
            int            index     = 0;

            foreach (KeyValuePair <string, bool> em in editmodes)
            {
                if (em.Value)
                {
                    modeslist.Add(MODE_ENABLED_KEY + index.ToString(CultureInfo.InvariantCulture), em.Key);
                }
                else
                {
                    modeslist.Add(MODE_DISABLED_KEY + index.ToString(CultureInfo.InvariantCulture), em.Key);
                }

                index++;
            }
            General.Settings.WriteSetting("configurations." + settingskey + ".editmodes", modeslist);
        }
Esempio n. 2
0
        // This saves the settings to program configuration
        internal void SaveSettings()
        {
            // Write to configuration
            General.Settings.WriteSetting("configurations." + settingskey + ".nodebuildersave", nodebuildersave);
            General.Settings.WriteSetting("configurations." + settingskey + ".nodebuildertest", nodebuildertest);
            General.Settings.WriteSetting("configurations." + settingskey + ".testprogram", testprogram);
            General.Settings.WriteSetting("configurations." + settingskey + ".testparameters", testparameters);
            General.Settings.WriteSetting("configurations." + settingskey + ".testshortpaths", testshortpaths);
            General.Settings.WriteSetting("configurations." + settingskey + ".customparameters", customparameters);
            General.Settings.WriteSetting("configurations." + settingskey + ".testskill", testskill);
            General.Settings.WriteSetting("configurations." + settingskey + ".startmode", startmode);
            resources.WriteToConfig(General.Settings.Config, "configurations." + settingskey + ".resources");

            // Write filters to configuration
            General.Settings.DeleteSetting("configurations." + settingskey + ".thingsfilters");
            for (int i = 0; i < thingsfilters.Count; i++)
            {
                thingsfilters[i].WriteSettings(General.Settings.Config,
                                               "configurations." + settingskey + ".thingsfilters.filter" + i.ToString(CultureInfo.InvariantCulture));
            }

            // Write texturesets to configuration
            for (int i = 0; i < texturesets.Count; i++)
            {
                texturesets[i].WriteToConfig(General.Settings.Config,
                                             "configurations." + settingskey + ".texturesets.set" + i.ToString(CultureInfo.InvariantCulture));
            }

            // Write filters to configuration
            ListDictionary modeslist = new ListDictionary();
            int            index     = 0;

            foreach (KeyValuePair <string, bool> em in editmodes)
            {
                if (em.Value)
                {
                    modeslist.Add(MODE_ENABLED_KEY + index.ToString(CultureInfo.InvariantCulture), em.Key);
                }
                else
                {
                    modeslist.Add(MODE_DISABLED_KEY + index.ToString(CultureInfo.InvariantCulture), em.Key);
                }

                index++;
            }
            General.Settings.WriteSetting("configurations." + settingskey + ".editmodes", modeslist);
        }
Esempio n. 3
0
        // This stores the map options in a configuration
        internal void WriteConfiguration(string settingsfile)
        {
            Configuration wadcfg;

            // Write resources to config
            resources.WriteToConfig(mapconfig, "resources");

            // Write grid settings
            General.Map.Grid.WriteToConfig(mapconfig, "grid");

            // Write scripts to config
            mapconfig.DeleteSetting("scripts");
            for (int i = 0; i < scriptfiles.Count; i++)
            {
                mapconfig.WriteSetting("scripts." + "file" + i.ToString(CultureInfo.InvariantCulture), scriptfiles[i]);
            }

            // Load the file or make a new file
            if (File.Exists(settingsfile))
            {
                wadcfg = new Configuration(settingsfile, true);
            }
            else
            {
                wadcfg = new Configuration(true);
            }

            // Write configuration type information
            wadcfg.WriteSetting("type", "Doom Builder Map Settings Configuration");
            wadcfg.WriteSetting("gameconfig", configfile);
            wadcfg.WriteSetting("strictpatches", General.Bool2Int(strictpatches));

            // Update the settings file with this map configuration
            wadcfg.WriteSetting("maps." + currentname, mapconfig.Root);

            // Save file
            wadcfg.SaveConfiguration(settingsfile);
        }
Esempio n. 4
0
        // This stores the map options in a configuration
        internal void WriteConfiguration(string settingsfile)
        {
            Configuration wadcfg;

            // Write resources to config
            resources.WriteToConfig(mapconfig, "resources");

            //mxd. Save selection groups
            General.Map.Map.WriteSelectionGroups(mapconfig);

            //mxd. Save Tag Labels
            if (tagLabels.Count > 0)
            {
                ListDictionary tagLabelsData = new ListDictionary();
                int            counter       = 1;

                foreach (KeyValuePair <int, string> group in tagLabels)
                {
                    ListDictionary data = new ListDictionary();
                    data.Add("tag", group.Key);
                    data.Add("label", group.Value);
                    tagLabelsData.Add("taglabel" + counter, data);
                    counter++;
                }

                mapconfig.WriteSetting("taglabels", tagLabelsData);
            }

            //mxd. Write Sector drawing options
            mapconfig.WriteSetting("defaultfloortexture", defaultfloortexture);
            mapconfig.WriteSetting("defaultceiltexture", defaultceiltexture);
            mapconfig.WriteSetting("defaulttoptexture", defaulttoptexture);
            mapconfig.WriteSetting("defaultwalltexture", defaultwalltexture);
            mapconfig.WriteSetting("defaultbottomtexture", defaultbottomtexture);
            mapconfig.WriteSetting("custombrightness", custombrightness);
            mapconfig.WriteSetting("customfloorheight", customfloorheight);
            mapconfig.WriteSetting("customceilheight", customceilheight);

            //mxd. Write Sector drawing overrides
            mapconfig.WriteSetting("overridefloortexture", overridefloortexture);
            mapconfig.WriteSetting("overrideceiltexture", overrideceiltexture);
            mapconfig.WriteSetting("overridetoptexture", overridetoptexture);
            mapconfig.WriteSetting("overridemiddletexture", overridemiddletexture);
            mapconfig.WriteSetting("overridebottomtexture", overridebottomtexture);
            mapconfig.WriteSetting("overridefloorheight", overridefloorheight);
            mapconfig.WriteSetting("overrideceilheight", overrideceilheight);
            mapconfig.WriteSetting("overridebrightness", overridebrightness);

            //mxd
            mapconfig.WriteSetting("uselongtexturenames", uselongtexturenames);
            mapconfig.WriteSetting("useresourcesinreadonlymode", useresourcesinreadonlymode);

            //mxd. Position and scale
            mapconfig.WriteSetting("viewpositionx", General.Map.Renderer2D.OffsetX);
            mapconfig.WriteSetting("viewpositiony", General.Map.Renderer2D.OffsetY);
            mapconfig.WriteSetting("viewscale", General.Map.Renderer2D.Scale);

            //mxd. Write script compiler
            if (!string.IsNullOrEmpty(scriptcompiler))
            {
                mapconfig.WriteSetting("scriptcompiler", scriptcompiler);
            }

            // Write grid settings
            General.Map.Grid.WriteToConfig(mapconfig, "grid");

            //mxd. Write script document settings to config
            int sdcounter = 0;

            mapconfig.DeleteSetting("scriptdocuments");
            foreach (ScriptDocumentSettings settings in scriptsettings.Values)
            {
                WriteScriptDocumentSettings(mapconfig, "scriptdocuments.document" + (sdcounter++), settings);
            }

            // Load the file or make a new file
            if (File.Exists(settingsfile))
            {
                wadcfg = new Configuration(settingsfile, true);
            }
            else
            {
                wadcfg = new Configuration(true);
            }

            // Write configuration type information
            wadcfg.WriteSetting("type", "Doom Builder Map Settings Configuration");
            wadcfg.WriteSetting("gameconfig", configfile);
            wadcfg.WriteSetting("strictpatches", General.Bool2Int(strictpatches));

            // Update the settings file with this map configuration
            wadcfg.WriteSetting("maps." + currentname, mapconfig.Root);

            // Save file
            wadcfg.SaveConfiguration(settingsfile);
        }