public OptionsForm()
        {
            InitializeComponent();

            options = VTankOptions.ReadOptions();
            SetValues();
            SetChangeMade(false);
        }
Beispiel #2
0
        public static VTankOptions ReadOptions()
        {
            bool          doCommit = false;
            VTankOptions  options  = new VTankOptions();
            KeysConverter kc       = new KeysConverter();

            VideoOptions    defaultVideo = getDefaultVideoOptions();
            AudioOptions    defaultAudio = getDefaultAudioOptions();
            GamePlayOptions defaultGame  = getDefaultGamePlayOptions();
            KeyBindings     defaultKeys  = getDefaultKeyBindings();

            string filename = GetConfigFilePath();

            if (!File.Exists(filename))
            {
                doCommit = true;
            }
            Xmlconfig config = new Xmlconfig(filename, true);

            try
            {
                if (config.Settings.Name == "configuration")
                {
                    // Old configuration file. Port to new configuration type.
                    config.NewXml("xml");
                    doCommit = true;
                    ConvertFromLegacyConfig(config, filename);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Warning: Your old configuration settings have been lost due to an unforeseen error.",
                                "Old configuration settings lost!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            // Configure options.
            // Format: options.Key = Get(config, "Key", "DefaultValue");
            options.ServerAddress                       = Get(config, "ServerAddress", "glacier2a.cis.vtc.edu");
            options.ServerPort                          = Get(config, "ServerPort", "4063");
            options.DefaultAccount                      = Get(config, "DefaultAccount");
            options.MapsFolder                          = Get(config, "MapsFolder", "maps");
            options.videoOptions.Resolution             = Get(config, "options/video/Resolution", defaultVideo.Resolution);
            options.videoOptions.Windowed               = Get(config, "options/video/Windowed", defaultVideo.Windowed);
            options.videoOptions.TextureQuality         = Get(config, "options/video/TextureQuality", defaultVideo.TextureQuality);
            options.videoOptions.AntiAliasing           = Get(config, "options/video/AntiAliasing", defaultVideo.AntiAliasing);
            options.videoOptions.ShadingEnabled         = Get(config, "options/video/ShadingEnabled", defaultVideo.ShadingEnabled);
            options.audioOptions.ambientSound.Volume    = Get(config, "options/audio/ambientSound/Volume", defaultAudio.ambientSound.Volume);
            options.audioOptions.ambientSound.Muted     = Get(config, "options/audio/ambientSound/Muted", defaultAudio.ambientSound.Muted);
            options.audioOptions.backgroundSound.Volume = Get(config, "options/audio/backgroundSound/Volume", defaultAudio.backgroundSound.Volume);
            options.audioOptions.backgroundSound.Muted  = Get(config, "options/audio/backgroundSound/Muted", defaultAudio.backgroundSound.Muted);
            options.gamePlayOptions.ShowNames           = Get(config, "options/gameplay/ShowNames", defaultGame.ShowNames);
            options.gamePlayOptions.ProfanityFilter     = Get(config, "options/gameplay/ProfanityFilter", defaultGame.ProfanityFilter);
            options.gamePlayOptions.InterfacePlugin     = Get(config, "options/gameplay/InterfacePlugin", defaultGame.InterfacePlugin);
            options.keyBindings.Forward                 = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/Forward", defaultKeys.Forward.ToString()));
            options.keyBindings.Backward                = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/Backward", defaultKeys.Backward.ToString()));
            options.keyBindings.RotateLeft              = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/RotateLeft", defaultKeys.RotateLeft.ToString()));
            options.keyBindings.RotateRight             = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/RotateRight", defaultKeys.RotateRight.ToString()));
            //options.keyBindings.FirePrimary = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/FirePrimary", ""));
            //options.keyBindings.FireSecondary = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/FireSecondary", ""));
            options.keyBindings.Menu    = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/Menu", defaultKeys.Menu.ToString()));
            options.keyBindings.Minimap = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/Minimap", defaultKeys.Minimap.ToString()));
            options.keyBindings.Score   = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/Score", defaultKeys.Score.ToString()));
            options.keyBindings.Camera  = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/Camera", defaultKeys.Camera.ToString()));
            options.keyBindings.Pointer = Get(config, "options/keybindings/Pointer", defaultKeys.Pointer);

            if (doCommit)
            {
                WriteOptions(options);
            }

            return(options);
        }
Beispiel #3
0
        public static void WriteOptions(VTankOptions options)
        {
            KeysConverter kc       = new KeysConverter();
            string        filename = GetConfigFilePath();
            Xmlconfig     config   = new Xmlconfig();

            config.Settings["ServerAddress"].Value                        = options.ServerAddress;
            config.Settings["ServerPort"].Value                           = options.ServerPort;
            config.Settings["DefaultAccount"].Value                       = options.DefaultAccount;
            config.Settings["MapsFolder"].Value                           = options.MapsFolder;
            config.Settings["options/video/Resolution"].Value             = options.videoOptions.Resolution;
            config.Settings["options/video/Windowed"].Value               = options.videoOptions.Windowed;
            config.Settings["options/video/TextureQuality"].Value         = options.videoOptions.TextureQuality;
            config.Settings["options/video/AntiAliasing"].Value           = options.videoOptions.AntiAliasing;
            config.Settings["options/video/ShadingEnabled"].Value         = options.videoOptions.ShadingEnabled;
            config.Settings["options/audio/ambientSound/Volume"].Value    = options.audioOptions.ambientSound.Volume;
            config.Settings["options/audio/ambientSound/Muted"].Value     = options.audioOptions.ambientSound.Muted;
            config.Settings["options/audio/backgroundSound/Volume"].Value = options.audioOptions.backgroundSound.Volume;
            config.Settings["options/audio/backgroundSound/Muted"].Value  = options.audioOptions.backgroundSound.Muted;
            config.Settings["options/gameplay/ShowNames"].Value           = options.gamePlayOptions.ShowNames;
            config.Settings["options/gameplay/ProfanityFilter"].Value     = options.gamePlayOptions.ProfanityFilter;
            config.Settings["options/gameplay/InterfacePlugin"].Value     = options.gamePlayOptions.InterfacePlugin;
            config.Settings["options/keybindings/Forward"].Value          = kc.ConvertToString(options.keyBindings.Forward);
            config.Settings["options/keybindings/Backward"].Value         = kc.ConvertToString(options.keyBindings.Backward);
            config.Settings["options/keybindings/RotateLeft"].Value       = kc.ConvertToString(options.keyBindings.RotateLeft);
            config.Settings["options/keybindings/RotateRight"].Value      = kc.ConvertToString(options.keyBindings.RotateRight);
            //config.Settings["options/keybindings/FirePrimary"].Value = kc.ConvertToString(options.keyBindings.FirePrimary);
            //config.Settings["options/keybindings/FireSecondary"].Value = kc.ConvertToString(options.keyBindings.FireSecondary);
            config.Settings["options/keybindings/Menu"].Value    = kc.ConvertToString(options.keyBindings.Menu);
            config.Settings["options/keybindings/Minimap"].Value = kc.ConvertToString(options.keyBindings.Minimap);
            config.Settings["options/keybindings/Score"].Value   = kc.ConvertToString(options.keyBindings.Score);
            config.Settings["options/keybindings/Camera"].Value  = kc.ConvertToString(options.keyBindings.Camera);
            config.Settings["options/keybindings/Pointer"].Value = options.keyBindings.Pointer;

            /*if (!System.IO.File.Exists(filename))
             * {
             *  System.IO.FileStream stream = System.IO.File.Create(filename);
             *  stream.Close();
             * }
             *
             * ExeConfigurationFileMap map = new ExeConfigurationFileMap();
             * map.ExeConfigFilename = filename;
             *
             * Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(
             *  map, ConfigurationUserLevel.None);
             *
             * foreach (String key in ConfigurationManager.AppSettings.AllKeys)
             * {
             *  configuration.AppSettings.Settings[key].Value =
             *      ConfigurationManager.AppSettings[key];
             * }
             *
             * configuration.Save(ConfigurationSaveMode.Modified);
             *
             * ConfigurationManager.RefreshSection("appSettings");*/

            if (!config.Commit())
            {
                config.Save(filename);
            }
        }
        public static void WriteOptions(VTankOptions options)
        {
            KeysConverter kc = new KeysConverter();
            string filename = GetConfigFilePath();
            Xmlconfig config = new Xmlconfig();

            config.Settings["ServerAddress"].Value = options.ServerAddress;
            config.Settings["ServerPort"].Value = options.ServerPort;
            config.Settings["DefaultAccount"].Value = options.DefaultAccount;
            config.Settings["MapsFolder"].Value = options.MapsFolder;
            config.Settings["options/video/Resolution"].Value = options.videoOptions.Resolution;
            config.Settings["options/video/Windowed"].Value = options.videoOptions.Windowed;
            config.Settings["options/video/TextureQuality"].Value = options.videoOptions.TextureQuality;
            config.Settings["options/video/AntiAliasing"].Value = options.videoOptions.AntiAliasing;
            config.Settings["options/video/ShadingEnabled"].Value = options.videoOptions.ShadingEnabled;
            config.Settings["options/audio/ambientSound/Volume"].Value = options.audioOptions.ambientSound.Volume;
            config.Settings["options/audio/ambientSound/Muted"].Value = options.audioOptions.ambientSound.Muted;
            config.Settings["options/audio/backgroundSound/Volume"].Value = options.audioOptions.backgroundSound.Volume;
            config.Settings["options/audio/backgroundSound/Muted"].Value = options.audioOptions.backgroundSound.Muted;
            config.Settings["options/gameplay/ShowNames"].Value = options.gamePlayOptions.ShowNames;
            config.Settings["options/gameplay/ProfanityFilter"].Value = options.gamePlayOptions.ProfanityFilter;
            config.Settings["options/gameplay/InterfacePlugin"].Value = options.gamePlayOptions.InterfacePlugin;
            config.Settings["options/keybindings/Forward"].Value = kc.ConvertToString(options.keyBindings.Forward);
            config.Settings["options/keybindings/Backward"].Value = kc.ConvertToString(options.keyBindings.Backward);
            config.Settings["options/keybindings/RotateLeft"].Value = kc.ConvertToString(options.keyBindings.RotateLeft);
            config.Settings["options/keybindings/RotateRight"].Value = kc.ConvertToString(options.keyBindings.RotateRight);
            //config.Settings["options/keybindings/FirePrimary"].Value = kc.ConvertToString(options.keyBindings.FirePrimary);
            //config.Settings["options/keybindings/FireSecondary"].Value = kc.ConvertToString(options.keyBindings.FireSecondary);
            config.Settings["options/keybindings/Menu"].Value = kc.ConvertToString(options.keyBindings.Menu);
            config.Settings["options/keybindings/Minimap"].Value = kc.ConvertToString(options.keyBindings.Minimap);
            config.Settings["options/keybindings/Score"].Value = kc.ConvertToString(options.keyBindings.Score);
            config.Settings["options/keybindings/Camera"].Value = kc.ConvertToString(options.keyBindings.Camera);
            config.Settings["options/keybindings/Pointer"].Value = options.keyBindings.Pointer;

            /*if (!System.IO.File.Exists(filename))
            {
                System.IO.FileStream stream = System.IO.File.Create(filename);
                stream.Close();
            }

            ExeConfigurationFileMap map = new ExeConfigurationFileMap();
            map.ExeConfigFilename = filename;

            Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(
                map, ConfigurationUserLevel.None);

            foreach (String key in ConfigurationManager.AppSettings.AllKeys)
            {
                configuration.AppSettings.Settings[key].Value =
                    ConfigurationManager.AppSettings[key];
            }

            configuration.Save(ConfigurationSaveMode.Modified);

            ConfigurationManager.RefreshSection("appSettings");*/

            if (!config.Commit())
                config.Save(filename);
        }
        public static VTankOptions ReadOptions()
        {
            bool doCommit = false;
            VTankOptions options = new VTankOptions();
            KeysConverter kc = new KeysConverter();

            VideoOptions defaultVideo = getDefaultVideoOptions();
            AudioOptions defaultAudio = getDefaultAudioOptions();
            GamePlayOptions defaultGame = getDefaultGamePlayOptions();
            KeyBindings defaultKeys = getDefaultKeyBindings();

            string filename = GetConfigFilePath();
            if (!File.Exists(filename))
                doCommit = true;
            Xmlconfig config = new Xmlconfig(filename, true);
            try
            {
                if (config.Settings.Name == "configuration")
                {
                    // Old configuration file. Port to new configuration type.
                    config.NewXml("xml");
                    doCommit = true;
                    ConvertFromLegacyConfig(config, filename);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Warning: Your old configuration settings have been lost due to an unforeseen error.",
                    "Old configuration settings lost!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            // Configure options.
            // Format: options.Key = Get(config, "Key", "DefaultValue");
            options.ServerAddress = Get(config, "ServerAddress", "glacier2a.cis.vtc.edu");
            options.ServerPort = Get(config, "ServerPort", "4063");
            options.DefaultAccount = Get(config, "DefaultAccount");
            options.MapsFolder = Get(config, "MapsFolder", "maps");
            options.videoOptions.Resolution = Get(config, "options/video/Resolution", defaultVideo.Resolution);
            options.videoOptions.Windowed = Get(config, "options/video/Windowed", defaultVideo.Windowed);
            options.videoOptions.TextureQuality = Get(config, "options/video/TextureQuality", defaultVideo.TextureQuality);
            options.videoOptions.AntiAliasing = Get(config, "options/video/AntiAliasing", defaultVideo.AntiAliasing);
            options.videoOptions.ShadingEnabled = Get(config, "options/video/ShadingEnabled", defaultVideo.ShadingEnabled);
            options.audioOptions.ambientSound.Volume = Get(config, "options/audio/ambientSound/Volume", defaultAudio.ambientSound.Volume);
            options.audioOptions.ambientSound.Muted = Get(config, "options/audio/ambientSound/Muted", defaultAudio.ambientSound.Muted);
            options.audioOptions.backgroundSound.Volume = Get(config, "options/audio/backgroundSound/Volume", defaultAudio.backgroundSound.Volume);
            options.audioOptions.backgroundSound.Muted = Get(config, "options/audio/backgroundSound/Muted", defaultAudio.backgroundSound.Muted);
            options.gamePlayOptions.ShowNames = Get(config, "options/gameplay/ShowNames", defaultGame.ShowNames);
            options.gamePlayOptions.ProfanityFilter = Get(config, "options/gameplay/ProfanityFilter", defaultGame.ProfanityFilter);
            options.gamePlayOptions.InterfacePlugin = Get(config, "options/gameplay/InterfacePlugin", defaultGame.InterfacePlugin);
            options.keyBindings.Forward = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/Forward", defaultKeys.Forward.ToString()));
            options.keyBindings.Backward = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/Backward", defaultKeys.Backward.ToString()));
            options.keyBindings.RotateLeft = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/RotateLeft", defaultKeys.RotateLeft.ToString()));
            options.keyBindings.RotateRight = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/RotateRight", defaultKeys.RotateRight.ToString()));
            //options.keyBindings.FirePrimary = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/FirePrimary", ""));
            //options.keyBindings.FireSecondary = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/FireSecondary", ""));
            options.keyBindings.Menu = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/Menu", defaultKeys.Menu.ToString()));
            options.keyBindings.Minimap = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/Minimap", defaultKeys.Minimap.ToString()));
            options.keyBindings.Score = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/Score", defaultKeys.Score.ToString()));
            options.keyBindings.Camera = (Keys)kc.ConvertFromString(Get(config, "options/keybindings/Camera", defaultKeys.Camera.ToString()));
            options.keyBindings.Pointer = Get(config, "options/keybindings/Pointer", defaultKeys.Pointer);

            if (doCommit)
                WriteOptions(options);

            return options;
        }