public VideoOptionsWindow() { //Layout Anchor = global::Graphics.Orientation.Center; Size = new SlimDX.Vector2(500, 510); CreateTitle(Locale.Resource.VideoSettingsTitle); AddChild(new Label() { Anchor = textBoxOrientation, Background = null, Position = new SlimDX.Vector2(textBoxPositionX, textBoxPositionStartY + textBoxPositionOffset * 0), Size = textBoxSize, Text = Locale.Resource.VideoOverallVideo }); AddChild(overall = new StoneDropDownBar() { Anchor = dropBoxOrientation, Position = new SlimDX.Vector2(dropBoxPositionX, dropBoxPositionStartY + dropBoxPositionOffset * 0) }); Program.Instance.Tooltip.SetToolTip(overall, Locale.Resource.VideoOverallToolTip); //overall.AddItem(new DropDownItemVideoQuality(VideoQualities.Custom)); //overall.AddItem(new DropDownItemVideoQuality(VideoQualities.Low)); //if (Graphics.GraphicsDevice.SettingConverters.PixelShaderVersion.Major >= 3) //{ // overall.AddItem(new DropDownItemVideoQuality(VideoQualities.Medium)); // overall.AddItem(new DropDownItemVideoQuality(VideoQualities.High)); // overall.AddItem(new DropDownItemVideoQuality(VideoQualities.Ultra)); //} //overall.SelectedItem = new DropDownItemVideoQuality(videoSettings.VideoQuality); overall.Updateable = true; overall.Update += new Graphics.UpdateEventHandler(overall_Update); #region VideoSettings #region AnimationQuality AddChild(new Label() { Anchor = textBoxOrientation, Background = null, Position = new SlimDX.Vector2(textBoxPositionX, textBoxPositionStartY + textBoxPositionOffset * 1), Size = textBoxSize, Text = Locale.Resource.VideoAnimation }); AddChild(animation = new StoneDropDownBar() { Anchor = dropBoxOrientation, Position = new SlimDX.Vector2(dropBoxPositionX, dropBoxPositionStartY + dropBoxPositionOffset * 1) }); Program.Instance.Tooltip.SetToolTip(animation, Locale.Resource.VideoAnimationToolTip); //animation.AddItem(new DropDownItemAnimationQuality(Graphics.Renderer.Settings.AnimationQualities.Low)); //if (Graphics.GraphicsDevice.SettingConverters.PixelShaderVersion.Major >= 3) //{ // animation.AddItem(new DropDownItemAnimationQuality(Graphics.Renderer.Settings.AnimationQualities.Medium)); // animation.AddItem(new DropDownItemAnimationQuality(Graphics.Renderer.Settings.AnimationQualities.High)); //} //animation.SelectedItem = new DropDownItemAnimationQuality(videoSettings.Animations); #endregion #region AntiAliasing AddChild(new Label() { Anchor = textBoxOrientation, Background = null, Position = new SlimDX.Vector2(textBoxPositionX, textBoxPositionStartY + textBoxPositionOffset * 2), Size = textBoxSize, Text = Locale.Resource.VideoAntiAliasing }); AddChild(antiAliasing = new StoneDropDownBar() { Anchor = dropBoxOrientation, Position = new SlimDX.Vector2(dropBoxPositionX, dropBoxPositionStartY + dropBoxPositionOffset * 2), }); Program.Instance.Tooltip.SetToolTip(antiAliasing, Locale.Resource.VideoAntiAliasingToolTip); //foreach (var a in global::Graphics.GraphicsDevice.SettingConverters.AntiAliasingConverter.MultiSampleTypes) // antiAliasing.AddItem(new DropDownItem<SlimDX.Direct3D9.MultisampleType>(a)); //antiAliasing.SelectedItem = new DropDownItemAntiAliasing(videoSettings.AntiAliasing); #endregion #region LightingQuality AddChild(new Label() { Anchor = textBoxOrientation, Background = null, Position = new SlimDX.Vector2(textBoxPositionX, textBoxPositionStartY + textBoxPositionOffset * 3), Size = textBoxSize, Text = Locale.Resource.VideoLightingQuality }); AddChild(lightingQuality = new StoneDropDownBar() { Anchor = dropBoxOrientation, Position = new SlimDX.Vector2(dropBoxPositionX, dropBoxPositionStartY + dropBoxPositionOffset * 3), }); Program.Instance.Tooltip.SetToolTip(lightingQuality, Locale.Resource.VideoLightingToolTip); //lightingQuality.AddItem(new DropDownItemLightingQuality(Graphics.Renderer.Settings.LightingQualities.Low)); //if (Graphics.GraphicsDevice.SettingConverters.PixelShaderVersion.Major >= 3) //{ // lightingQuality.AddItem(new DropDownItemLightingQuality(Graphics.Renderer.Settings.LightingQualities.Medium)); // lightingQuality.AddItem(new DropDownItemLightingQuality(Graphics.Renderer.Settings.LightingQualities.High)); //} //lightingQuality.SelectedItem = new DropDownItemLightingQuality(videoSettings.Lighting); #endregion #region Resolution AddChild(new Label() { Anchor = textBoxOrientation, Background = null, Clickable = false, Position = new SlimDX.Vector2(textBoxPositionX, textBoxPositionStartY + textBoxPositionOffset * 4), Size = textBoxSize, Text = Locale.Resource.VideoResolution }); AddChild(resolution = new StoneDropDownBar() { Anchor = dropBoxOrientation, Position = new SlimDX.Vector2(dropBoxPositionX, dropBoxPositionStartY + dropBoxPositionOffset * 4), }); Program.Instance.Tooltip.SetToolTip(resolution, Locale.Resource.VideoResolutionToolTip); //if (videoSettings.WindowMode == global::Graphics.WindowMode.Fullscreen) //{ // foreach (var a in global::Graphics.GraphicsDevice.SettingConverters.ResolutionListConverter.Resolutions) // resolution.AddItem(a.ToString()); // resolution.SelectedItem = videoSettings.Resolution.ToString(); //} #endregion #region ShadowQuality AddChild(new Label() { Anchor = textBoxOrientation, Background = null, Position = new SlimDX.Vector2(textBoxPositionX, textBoxPositionStartY + textBoxPositionOffset * 5), Size = textBoxSize, Text = Locale.Resource.VideoShadowQuality }); AddChild(shadowQuality = new StoneDropDownBar() { Anchor = dropBoxOrientation, Position = new SlimDX.Vector2(dropBoxPositionX, dropBoxPositionStartY + dropBoxPositionOffset * 5), }); Program.Instance.Tooltip.SetToolTip(shadowQuality, Locale.Resource.VideoShadowsToolTip); //shadowQuality.AddItem(new DropDownItemShadowQuality(Graphics.Renderer.Settings.ShadowQualities.NoShadows)); //if (Graphics.GraphicsDevice.SettingConverters.PixelShaderVersion.Major >= 3) //{ // shadowQuality.AddItem(new DropDownItemShadowQuality(Graphics.Renderer.Settings.ShadowQualities.Lowest)); // shadowQuality.AddItem(new DropDownItemShadowQuality(Graphics.Renderer.Settings.ShadowQualities.Low)); // shadowQuality.AddItem(new DropDownItemShadowQuality(Graphics.Renderer.Settings.ShadowQualities.Medium)); // shadowQuality.AddItem(new DropDownItemShadowQuality(Graphics.Renderer.Settings.ShadowQualities.High)); // shadowQuality.AddItem(new DropDownItemShadowQuality(Graphics.Renderer.Settings.ShadowQualities.Highest)); //} //if (videoSettings.Shadows == Graphics.Renderer.Settings.ShadowQualities.NoShadows) // shadowQuality.SelectedItem = new DropDownItemShadowQuality(Graphics.Renderer.Settings.ShadowQualities.NoShadows); //else // shadowQuality.SelectedItem = new DropDownItemShadowQuality(videoSettings.Shadows); #endregion #region TerrainQuality AddChild(new Label() { Anchor = textBoxOrientation, Background = null, Position = new SlimDX.Vector2(textBoxPositionX, textBoxPositionStartY + textBoxPositionOffset * 6), Size = textBoxSize, Text = Locale.Resource.VideoTerrainQuality }); AddChild(terrainQuality = new StoneDropDownBar() { Anchor = dropBoxOrientation, Position = new SlimDX.Vector2(dropBoxPositionX, dropBoxPositionStartY + dropBoxPositionOffset * 6), }); Program.Instance.Tooltip.SetToolTip(terrainQuality, Locale.Resource.VideoTerrainToolTip); //terrainQuality.AddItem(new DropDownItemTerrainQuality(Graphics.Renderer.Settings.TerrainQualities.Low)); //if (Graphics.GraphicsDevice.SettingConverters.PixelShaderVersion.Major >= 3) //{ // terrainQuality.AddItem(new DropDownItemTerrainQuality(Graphics.Renderer.Settings.TerrainQualities.Medium)); // terrainQuality.AddItem(new DropDownItemTerrainQuality(Graphics.Renderer.Settings.TerrainQualities.High)); //} //terrainQuality.SelectedItem = new DropDownItemTerrainQuality(videoSettings.Terrain); #endregion #region TextureFiltering AddChild(new Label() { Anchor = textBoxOrientation, Background = null, Position = new SlimDX.Vector2(textBoxPositionX, textBoxPositionStartY + textBoxPositionOffset * 7), Size = textBoxSize, Text = Locale.Resource.VideoTextureFiltering }); AddChild(textureFiltering = new StoneDropDownBar() { Anchor = dropBoxOrientation, Position = new SlimDX.Vector2(dropBoxPositionX, dropBoxPositionStartY + dropBoxPositionOffset * 7), }); Program.Instance.Tooltip.SetToolTip(textureFiltering, Locale.Resource.VideoTextureFilterToolTip); //foreach (var tf in global::Graphics.GraphicsDevice.SettingConverters.TextureFilteringConverter.TextureFilteringTypesDict) // textureFiltering.AddItem(new DropDownItemTextureFiltering(tf.Key)); //textureFiltering.SelectedItem = new DropDownItemTextureFiltering(videoSettings.TextureFiltering.TextureFilter); #endregion #region VSync AddChild(new Label { Anchor = textBoxOrientation, Background = null, Position = new SlimDX.Vector2(textBoxPositionX, textBoxPositionStartY + textBoxPositionOffset * 8), Size = textBoxSize, Text = Locale.Resource.VideoVerticalSync }); AddChild(vSync = new StoneDropDownBar { Anchor = dropBoxOrientation, Position = new SlimDX.Vector2(dropBoxPositionX, dropBoxPositionStartY + dropBoxPositionOffset * 8), }); Program.Instance.Tooltip.SetToolTip(vSync, Locale.Resource.VideoVerticalSyncToolTip); //vSync.AddItem(new DropDownItemVerticalSync(Graphics.GraphicsDevice.VerticalSyncMode.Off)); //vSync.AddItem(new DropDownItemVerticalSync(Graphics.GraphicsDevice.VerticalSyncMode.On)); //vSync.SelectedItem = new DropDownItemVerticalSync(videoSettings.VerticalSync); #endregion #region WindowMode AddChild(new Label { Anchor = textBoxOrientation, Background = null, Position = new SlimDX.Vector2(textBoxPositionX, textBoxPositionStartY + textBoxPositionOffset * 9), Size = textBoxSize, Text = Locale.Resource.VideoWindowMode }); AddChild(windowMode = new StoneDropDownBar { Anchor = dropBoxOrientation, Position = new SlimDX.Vector2(dropBoxPositionX, dropBoxPositionStartY + dropBoxPositionOffset * 9), }); Program.Instance.Tooltip.SetToolTip(windowMode, Locale.Resource.VideoDisplayModeToolTip); //windowMode.AddItem(new DropDownItemWindowMode(WindowMode.Fullscreen)); //windowMode.AddItem(new DropDownItemWindowMode(WindowMode.FullscreenWindowed)); //windowMode.AddItem(new DropDownItemWindowMode(WindowMode.Windowed)); //windowMode.SelectedItem = new DropDownItemWindowMode(videoSettings.WindowMode); //if(videoSettings.WindowMode == WindowMode.Fullscreen) // resolution.Disabled = false; //else // resolution.Disabled = true; #endregion #endregion }
public AudioOptionsWindow(bool inGame) { Size = new SlimDX.Vector2(500, 400); audioSettings = new PublicAudioSettings(inGame); CreateTitle(Locale.Resource.SoundSettingsTitle); openedInGame = inGame; percentages = new List <string>(); percentages.Add("0%"); percentages.Add("10%"); percentages.Add("20%"); percentages.Add("30%"); percentages.Add("40%"); percentages.Add("50%"); percentages.Add("60%"); percentages.Add("70%"); percentages.Add("80%"); percentages.Add("90%"); percentages.Add("100%"); int i = 0; foreach (var v in typeof(PublicAudioSettings).GetProperties()) { if (v.IsDefined(typeof(VolumeControllerAttribute), false)) { Label t; AddChild(t = new Label { Anchor = textBoxOrientation, Background = null, Position = new SlimDX.Vector2(textBoxPositionX, textBoxPositionStartY + textBoxPositionOffset * i), Size = textBoxSize, }); StoneDropDownBar s; AddChild(s = new StoneDropDownBar { Anchor = dropBoxOrientation, Position = new SlimDX.Vector2(dropBoxPositionX, dropBoxPositionStartY + dropBoxPositionOffset * i) }); switch (v.Name) { case "MasterVolume": t.Text = Locale.Resource.SoundMasterVolume; Program.Instance.Tooltip.SetToolTip(s, Locale.Resource.AudioMasterToolTip); break; case "AmbientVolume": t.Text = Locale.Resource.SoundAmbientVolume; Program.Instance.Tooltip.SetToolTip(s, Locale.Resource.AudioAmbientToolTip); break; case "MusicVolume": t.Text = Locale.Resource.SoundMusicVolume; Program.Instance.Tooltip.SetToolTip(s, Locale.Resource.AudioMusicToolTip); break; case "SoundVolume": t.Text = Locale.Resource.SoundEffectsVolume; Program.Instance.Tooltip.SetToolTip(s, Locale.Resource.AudioSoundEffectsToolTip); break; default: break; } dropDownBars.Add(s); for (int j = 0; j < percentages.Count; j++) { s.AddItem(percentages[j]); } i++; if (audioSettings.AudioDevice.IsValid) { s.SelectedItem = "" + Math.Round((float)v.GetValue(audioSettings, null) * 100f) + "%"; } } } if (!inGame) { if (Program.Instance != null && Program.Instance.SoundManager != null) { var sm = Program.Instance.SoundManager; IEnumerable <AudioDevice> audioDevices = sm.AudioDeviceList; AddChild(new Label { Anchor = textBoxOrientation, Background = null, Position = new SlimDX.Vector2(textBoxPositionX, textBoxPositionStartY + textBoxPositionOffset * i), Size = textBoxSize, Text = Locale.Resource.SoundAudioDriver }); StoneDropDownBar t; AddChild(t = new StoneDropDownBar { Anchor = dropBoxOrientation, Font = new Graphics.Content.Font { Color = System.Drawing.Color.White, SystemFont = Fonts.SmallSystemFont }, Position = new SlimDX.Vector2(dropBoxPositionX, dropBoxPositionStartY + dropBoxPositionOffset * i) }); Program.Instance.Tooltip.SetToolTip(t, Locale.Resource.AudioDriverToolTip); dropDownBars.Add(t); foreach (var device in audioDevices) { t.AddItem(device); } i++; if (audioSettings.AudioDevice.IsValid) { t.SelectedItem = audioSettings.AudioDevice; } } } }