예제 #1
0
        // Save button.
        private void button9_Click(object sender, EventArgs e)
        {
            VTankOptions.WriteOptions(options);
            SetChangeMade(false);

            this.Close();
        }
예제 #2
0
        public static VTankOptions readOptions(String fileName)
        {
            VTankOptions options = new VTankOptions();

            options.ServerAddress                       = ConfigurationManager.AppSettings.Get("ServerAddress");
            options.ServerPort                          = ConfigurationManager.AppSettings.Get("ServerPort");
            options.DefaultAccount                      = ConfigurationManager.AppSettings.Get("DefaultAccount");
            options.MapsFolder                          = ConfigurationManager.AppSettings.Get("MapsFolder");
            options.videoOptions.Resolution             = ConfigurationManager.AppSettings.Get("options.video.Resolution");
            options.videoOptions.Windowed               = ConfigurationManager.AppSettings.Get("options.video.Windowed");
            options.videoOptions.TextureQuality         = ConfigurationManager.AppSettings.Get("Toptions.video.TextureQuality");
            options.videoOptions.AntiAliasing           = ConfigurationManager.AppSettings.Get("options.video.AntiAliasing");
            options.audioOptions.ambientSound.Volume    = ConfigurationManager.AppSettings.Get("options.audio.ambientSound.Volume");
            options.audioOptions.ambientSound.Muted     = ConfigurationManager.AppSettings.Get("options.audio.ambientSound.Muted");
            options.audioOptions.backgroundSound.Volume = ConfigurationManager.AppSettings.Get("options.audio.backgroundSound.Volume");
            options.audioOptions.backgroundSound.Muted  = ConfigurationManager.AppSettings.Get("options.audio.backgroundSound.Muted");
            options.gamePlayOptions.ShowNames           = ConfigurationManager.AppSettings.Get("options.gameplay.ShowNames");
            options.gamePlayOptions.ProfanityFilter     = ConfigurationManager.AppSettings.Get("options.gameplay.ProfanityFilter");
            options.gamePlayOptions.InterfacePlugin     = ConfigurationManager.AppSettings.Get("options.gameplay.InterfacePlugin");
            options.keyBindings.Forward                 = ConfigurationManager.AppSettings.Get("options.keybindings.Forward");
            options.keyBindings.Backward                = ConfigurationManager.AppSettings.Get("options.keybindings.Backward");
            options.keyBindings.RotateLeft              = ConfigurationManager.AppSettings.Get("options.keybindings.RotateLeft");
            options.keyBindings.RotateRight             = ConfigurationManager.AppSettings.Get("options.keybindings.RotateRight");
            options.keyBindings.FirePrimary             = ConfigurationManager.AppSettings.Get("options.keybindings.FirePrimary");
            options.keyBindings.FireSecondary           = ConfigurationManager.AppSettings.Get("options.keybindings.FireSecondary");
            options.keyBindings.Menu                    = ConfigurationManager.AppSettings.Get("options.keybindings.Menu");
            options.keyBindings.Minimap                 = ConfigurationManager.AppSettings.Get("options.keybindings.Minimap");
            options.keyBindings.Score                   = ConfigurationManager.AppSettings.Get("options.keybindings.Score");
            options.keyBindings.Pointer                 = ConfigurationManager.AppSettings.Get("options.keybindings.Pointer");
            return(options);
        }
예제 #3
0
 public static void writeOptions(VTankOptions options)
 {
     ConfigurationManager.AppSettings.Set("ServerAddress", options.ServerAddress);
     ConfigurationManager.AppSettings.Set("ServerPort", options.ServerPort);
     ConfigurationManager.AppSettings.Set("DefaultAccount", options.DefaultAccount);
     ConfigurationManager.AppSettings.Set("MapsFolder", options.MapsFolder);
     ConfigurationManager.AppSettings.Set("options.video.Resolution", options.videoOptions.Resolution);
     ConfigurationManager.AppSettings.Set("options.video.Windowed", options.videoOptions.Windowed);
     ConfigurationManager.AppSettings.Set("Toptions.video.TextureQuality", options.videoOptions.TextureQuality);
     ConfigurationManager.AppSettings.Set("options.video.AntiAliasing", options.videoOptions.AntiAliasing);
     ConfigurationManager.AppSettings.Set("options.audio.ambientSound.Volume", options.audioOptions.ambientSound.Volume);
     ConfigurationManager.AppSettings.Set("options.audio.ambientSound.Muted", options.audioOptions.ambientSound.Muted);
     ConfigurationManager.AppSettings.Set("options.audio.backgroundSound.Volume", options.audioOptions.backgroundSound.Volume);
     ConfigurationManager.AppSettings.Set("options.audio.backgroundSound.Muted", options.audioOptions.backgroundSound.Muted);
     ConfigurationManager.AppSettings.Set("options.gameplay.ShowNames", options.gamePlayOptions.ShowNames);
     ConfigurationManager.AppSettings.Set("options.gameplay.ProfanityFilter", options.gamePlayOptions.ProfanityFilter);
     ConfigurationManager.AppSettings.Set("options.gameplay.InterfacePlugin", options.gamePlayOptions.InterfacePlugin);
     ConfigurationManager.AppSettings.Set("options.keybindings.Forward", options.keyBindings.Forward);
     ConfigurationManager.AppSettings.Set("options.keybindings.Backward", options.keyBindings.Backward);
     ConfigurationManager.AppSettings.Set("options.keybindings.RotateLeft", options.keyBindings.RotateLeft);
     ConfigurationManager.AppSettings.Set("options.keybindings.RotateRight", options.keyBindings.RotateRight);
     ConfigurationManager.AppSettings.Set("options.keybindings.FirePrimary", options.keyBindings.FirePrimary);
     ConfigurationManager.AppSettings.Set("options.keybindings.FireSecondary", options.keyBindings.FireSecondary);
     ConfigurationManager.AppSettings.Set("options.keybindings.Menu", options.keyBindings.Menu);
     ConfigurationManager.AppSettings.Set("options.keybindings.Minimap", options.keyBindings.Minimap);
     ConfigurationManager.AppSettings.Set("options.keybindings.Score", options.keyBindings.Score);
     ConfigurationManager.AppSettings.Set("options.keybindings.Pointer", options.keyBindings.Pointer);
 }
예제 #4
0
        public OptionsForm()
        {
            InitializeComponent();

            options = VTankOptions.ReadOptions();
            SetValues();
            SetChangeMade(false);
        }
예제 #5
0
        /// <summary>
        /// Set the values of each component to what it is configured to.
        /// </summary>
        private void SetValues()
        {
            User32 helper = new User32();

            helper.FindValidDisplayModes();

            List <User32.DEVMODE> screens    = helper.AvailScrRes;
            List <object>         screenList = new List <object>(screens.Count);

            for (int i = 0; i < screens.Count; i++)
            {
                if (screens[i].dmPelsWidth < 800 || screens[i].dmPelsHeight < 600)
                {
                    // Too small: skip.
                    continue;
                }

                object format = (screens[i].dmPelsWidth + "x" + screens[i].dmPelsHeight);
                if (screenList.Contains(format))
                {
                    continue;
                }

                screenList.Add(format);
            }

            screenList.Sort(SortResolutions);

            // Video options:
            resolutionBox.Items.AddRange(screenList.ToArray());
            if (screenList.Contains(options.videoOptions.Resolution))
            {
                resolutionBox.SelectedItem = options.videoOptions.Resolution;
            }
            else
            {
                resolutionBox.SelectedItem = VTankOptions.getDefaultVideoOptions().Resolution;
            }

            checkBox1.Checked = !Boolean.Parse(options.videoOptions.Windowed);
            textureQualityBox.SelectedItem = options.videoOptions.TextureQuality;
            antialiasingBox.SelectedItem   = options.videoOptions.AntiAliasing;
            shadingSupportCheckbox.Checked = Boolean.Parse(options.videoOptions.ShadingEnabled);

            // Audio options:
            soundBar.Value            = int.Parse(options.audioOptions.ambientSound.Volume);
            soundMuteCheckbox.Checked = Boolean.Parse(
                options.audioOptions.ambientSound.Muted);
            soundBar.Enabled = !soundMuteCheckbox.Checked;

            bgMusicSlider.Value    = int.Parse(options.audioOptions.backgroundSound.Volume);
            bgMuteCheckbox.Checked = Boolean.Parse(
                options.audioOptions.backgroundSound.Muted);
            bgMusicSlider.Enabled = !bgMuteCheckbox.Checked;

            // Gameplay options:
            showPlayerNamesCheckbox.Checked = Boolean.Parse(
                options.gamePlayOptions.ShowNames);
            profanityFilterCheckbox.Checked = Boolean.Parse(
                options.gamePlayOptions.ProfanityFilter);
            interfacePluginBox.SelectedIndex = 0;

            // Control options:
            KeysConverter kc = new KeysConverter();

            forwardValue.Text     = kc.ConvertToString(options.keyBindings.Forward);
            backwardValue.Text    = kc.ConvertToString(options.keyBindings.Backward);
            rotateLeftValue.Text  = kc.ConvertToString(options.keyBindings.RotateLeft);
            rotateRightValue.Text = kc.ConvertToString(options.keyBindings.RotateRight);
            //firePrimaryValue.Text = kc.ConvertToString(options.keyBindings.FirePrimary);
            //fireSecondaryValue.Text = kc.ConvertToString(options.keyBindings.FireSecondary);
            menuValue.Text       = kc.ConvertToString(options.keyBindings.Menu);
            largeMapValue.Text   = kc.ConvertToString(options.keyBindings.Minimap);
            scoreboardValue.Text = kc.ConvertToString(options.keyBindings.Score);
            cameraValue.Text     = kc.ConvertToString(options.keyBindings.Camera);

            ImageList images = new ImageList();
            Dictionary <String, Icon> cursors = GetAvailableCursors();

            foreach (string key in cursors.Keys)
            {
                Icon icon = cursors[key];
                images.Images.Add(key, icon);
            }

            pointerBox.ImageList = images;

            int index = 0;

            foreach (string key in cursors.Keys)
            {
                pointerBox.Items.Add(new ImageComboBoxItem(key, index));
                if (options.keyBindings.Pointer == key)
                {
                    pointerBox.SelectedIndex = index;
                }
                ++index;
            }

            pointerBox.SelectedIndexChanged += new EventHandler(pointerBox_SelectedIndexChanged);
        }
예제 #6
0
 // Apply button.
 private void applyButton_Click(object sender, EventArgs e)
 {
     VTankOptions.WriteOptions(options);
     SetChangeMade(false);
 }