diff --git a/Filtration.ObjectModel/BlockItemBaseTypes/StringIntBlockItem.cs b/Filtration.ObjectModel/BlockItemBaseTypes/StringIntBlockItem.cs
new file mode 100644
index 0000000..405879c
--- /dev/null
+++ b/Filtration.ObjectModel/BlockItemBaseTypes/StringIntBlockItem.cs
@@ -0,0 +1,50 @@
+using System.Windows.Media;
+
+namespace Filtration.ObjectModel.BlockItemBaseTypes
+{
+ public abstract class StrIntBlockItem : BlockItemBase, IAudioVisualBlockItem
+ {
+ private string _value;
+ private int _secondValue;
+
+ protected StrIntBlockItem()
+ {
+ }
+
+ protected StrIntBlockItem(string value, int secondValue)
+ {
+ Value = value;
+ SecondValue = secondValue;
+ Value = value;
+ SecondValue = secondValue;
+ }
+
+ public override string OutputText => PrefixText + " " + Value + " " + SecondValue;
+
+ public override string SummaryText => string.Empty;
+ public override Color SummaryBackgroundColor => Colors.Transparent;
+ public override Color SummaryTextColor => Colors.Transparent;
+
+ public string Value
+ {
+ get { return _value; }
+ set
+ {
+ _value = value;
+ IsDirty = true;
+ OnPropertyChanged();
+ }
+ }
+
+ public int SecondValue
+ {
+ get { return _secondValue; }
+ set
+ {
+ _secondValue = value;
+ IsDirty = true;
+ OnPropertyChanged();
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Filtration.ObjectModel/BlockItemTypes/PositionalSoundBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/PositionalSoundBlockItem.cs
new file mode 100644
index 0000000..6b4eb3a
--- /dev/null
+++ b/Filtration.ObjectModel/BlockItemTypes/PositionalSoundBlockItem.cs
@@ -0,0 +1,22 @@
+using Filtration.ObjectModel.BlockItemBaseTypes;
+
+namespace Filtration.ObjectModel.BlockItemTypes
+{
+ public class PositionalSoundBlockItem : DualIntegerBlockItem
+ {
+ public PositionalSoundBlockItem()
+ {
+ Value = 1;
+ SecondValue = 79;
+ }
+
+ public PositionalSoundBlockItem(int value, int secondValue) : base(value, secondValue)
+ {
+ }
+
+ public override string PrefixText => "PlayAlertSoundPositional";
+ public override int MaximumAllowed => 1;
+ public override string DisplayHeading => "Play Positional Alert Sound";
+ public override int SortOrder => 18;
+ }
+}
diff --git a/Filtration.ObjectModel/BlockItemTypes/SoundBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/SoundBlockItem.cs
index a972a0a..2995394 100644
--- a/Filtration.ObjectModel/BlockItemTypes/SoundBlockItem.cs
+++ b/Filtration.ObjectModel/BlockItemTypes/SoundBlockItem.cs
@@ -2,15 +2,15 @@
namespace Filtration.ObjectModel.BlockItemTypes
{
- public class SoundBlockItem : DualIntegerBlockItem
+ public class SoundBlockItem : StrIntBlockItem
{
public SoundBlockItem()
{
- Value = 1;
+ Value = "1";
SecondValue = 79;
}
- public SoundBlockItem(int value, int secondValue) : base(value, secondValue)
+ public SoundBlockItem(string value, int secondValue) : base(value, secondValue)
{
}
diff --git a/Filtration.ObjectModel/Filtration.ObjectModel.csproj b/Filtration.ObjectModel/Filtration.ObjectModel.csproj
index 4ce6dcc..179468f 100644
--- a/Filtration.ObjectModel/Filtration.ObjectModel.csproj
+++ b/Filtration.ObjectModel/Filtration.ObjectModel.csproj
@@ -47,6 +47,7 @@
+
@@ -68,6 +69,7 @@
+
diff --git a/Filtration.Parser.Tests/Services/TestItemFilterBlockTranslator.cs b/Filtration.Parser.Tests/Services/TestItemFilterBlockTranslator.cs
index 0ee32fb..48b561e 100644
--- a/Filtration.Parser.Tests/Services/TestItemFilterBlockTranslator.cs
+++ b/Filtration.Parser.Tests/Services/TestItemFilterBlockTranslator.cs
@@ -1432,7 +1432,7 @@ namespace Filtration.Parser.Tests.Services
var expectedResult = "Show" + Environment.NewLine +
" PlayAlertSound 2 50";
- _testUtility.TestBlock.BlockItems.Add(new SoundBlockItem(2, 50));
+ _testUtility.TestBlock.BlockItems.Add(new SoundBlockItem("2", 50));
// Act
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
@@ -1573,7 +1573,7 @@ namespace Filtration.Parser.Tests.Services
_testUtility.TestBlock.BlockItems.Add(new BackgroundColorBlockItem(new Color { A = 255, R = 0, G = 0, B = 0 }));
_testUtility.TestBlock.BlockItems.Add(new BorderColorBlockItem(new Color { A = 255, R = 255, G = 1, B = 254 }));
_testUtility.TestBlock.BlockItems.Add(new FontSizeBlockItem(50));
- _testUtility.TestBlock.BlockItems.Add(new SoundBlockItem(6, 90));
+ _testUtility.TestBlock.BlockItems.Add(new SoundBlockItem("6", 90));
// Act
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
@@ -1609,7 +1609,7 @@ namespace Filtration.Parser.Tests.Services
var testInputString = "PlayAlertSound 7 280";
var testInputBlockItems = new ObservableCollection();
- var testInputBlockItem = new SoundBlockItem(12,30);
+ var testInputBlockItem = new SoundBlockItem("12",30);
testInputBlockItems.Add(testInputBlockItem);
// Act
@@ -1676,7 +1676,7 @@ namespace Filtration.Parser.Tests.Services
var testInputTextColorBlockItem = new TextColorBlockItem(Colors.Red);
var testInputBackgroundColorBlockItem = new BackgroundColorBlockItem(Colors.Blue);
var testInputBorderColorBlockItem = new BorderColorBlockItem(Colors.Yellow);
- var testInputSoundBlockItem = new SoundBlockItem(1, 1);
+ var testInputSoundBlockItem = new SoundBlockItem("1", 1);
testInputBlockItems.Add(testInputTextColorBlockItem);
testInputBlockItems.Add(testInputBackgroundColorBlockItem);
diff --git a/Filtration.Parser/Services/ItemFilterBlockTranslator.cs b/Filtration.Parser/Services/ItemFilterBlockTranslator.cs
index 323478e..1b147cc 100644
--- a/Filtration.Parser/Services/ItemFilterBlockTranslator.cs
+++ b/Filtration.Parser/Services/ItemFilterBlockTranslator.cs
@@ -140,19 +140,19 @@ namespace Filtration.Parser.Services
break;
}
case "ElderItem":
- {
- AddBooleanItemToBlockItems(block, trimmedLine);
- break;
+ {
+ AddBooleanItemToBlockItems(block, trimmedLine);
+ break;
}
- case "ShaperItem":
- {
- AddBooleanItemToBlockItems(block, trimmedLine);
- break;
+ case "ShaperItem":
+ {
+ AddBooleanItemToBlockItems(block, trimmedLine);
+ break;
}
- case "ShapedMap":
- {
- AddBooleanItemToBlockItems(block, trimmedLine);
- break;
+ case "ShapedMap":
+ {
+ AddBooleanItemToBlockItems(block, trimmedLine);
+ break;
}
case "Sockets":
{
@@ -217,36 +217,35 @@ namespace Filtration.Parser.Services
break;
}
case "PlayAlertSound":
+ case "PlayAlertSoundPositional":
{
// Only ever use the last PlayAlertSound item encountered as multiples aren't valid.
RemoveExistingBlockItemsOfType(block);
+ RemoveExistingBlockItemsOfType(block);
- var matches = Regex.Matches(trimmedLine, @"\s+(\d+)");
- switch (matches.Count)
- {
- case 1:
- if (matches[0].Success)
- {
- var blockItemValue = new SoundBlockItem
- {
- Value = Convert.ToInt16(matches[0].Value),
- SecondValue = 79
- };
- block.BlockItems.Add(blockItemValue);
- }
- break;
- case 2:
- if (matches[0].Success && matches[1].Success)
- {
- var blockItemValue = new SoundBlockItem
- {
- Value = Convert.ToInt16(matches[0].Value),
- SecondValue = Convert.ToInt16(matches[1].Value)
- };
- block.BlockItems.Add(blockItemValue);
- }
- break;
- }
+ var match = Regex.Match(trimmedLine, @"\S+\s+(\S+)\s+(\d+)?");
+
+ if (match.Success)
+ {
+ if (match.Groups.Count == 2)
+ {
+ var blockItemValue = new SoundBlockItem
+ {
+ Value = match.Groups[1].Value,
+ SecondValue = 79
+ };
+ block.BlockItems.Add(blockItemValue);
+ }
+ else if(match.Groups.Count == 3)
+ {
+ var blockItemValue = new SoundBlockItem
+ {
+ Value = match.Groups[1].Value,
+ SecondValue = Int16.Parse(match.Groups[2].Value)
+ };
+ block.BlockItems.Add(blockItemValue);
+ }
+ }
break;
}
}
@@ -373,9 +372,9 @@ namespace Filtration.Parser.Services
{
case "PlayAlertSound":
{
- var match = Regex.Match(line, @"\s+(\d+) (\d+)");
+ var match = Regex.Match(line, @"\s+(\S+) (\d+)");
if (!match.Success) break;
- blockItems.Add(new SoundBlockItem(Convert.ToInt16(match.Groups[1].Value), Convert.ToInt16(match.Groups[2].Value)));
+ blockItems.Add(new SoundBlockItem(match.Groups[1].Value, Convert.ToInt16(match.Groups[2].Value)));
break;
}
case "SetTextColor":
diff --git a/Filtration/Filtration.csproj b/Filtration/Filtration.csproj
index c056a2f..3e5a43e 100644
--- a/Filtration/Filtration.csproj
+++ b/Filtration/Filtration.csproj
@@ -1,531 +1,593 @@
-
-
-
-
- Debug
- AnyCPU
- {55E0A34C-E039-43D7-A024-A4045401CDDA}
- WinExe
- Properties
- Filtration
- Filtration
- v4.6.1
- 512
- {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- 4
- true
-
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
- Filtration.App
-
-
- Resources\filtration.ico
-
-
-
- ..\packages\AutoMapper.4.2.1\lib\net45\AutoMapper.dll
- True
-
-
- ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll
- True
-
-
- ..\packages\Castle.Windsor.3.3.0\lib\net45\Castle.Windsor.dll
-
-
- ..\packages\ControlzEx.2.1.2.3\lib\net45\ControlzEx.dll
- True
-
-
- ..\packages\Fluent.Ribbon.4.0.3.394\lib\net45\Fluent.dll
- True
-
-
- ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll
- True
-
-
- ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll
- True
-
-
- ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll
- True
-
-
- ..\packages\MahApps.Metro.1.2.4.0\lib\net45\MahApps.Metro.dll
- True
-
-
-
- ..\packages\NLog.4.3.7\lib\net45\NLog.dll
- True
-
-
-
-
- False
- ..\packages\WPFToolkit.3.5.50211.1\lib\System.Windows.Controls.Input.Toolkit.dll
-
-
- False
- ..\packages\WPFToolkit.3.5.50211.1\lib\System.Windows.Controls.Layout.Toolkit.dll
-
-
-
- ..\packages\ControlzEx.2.1.2.3\lib\net45\System.Windows.Interactivity.dll
- True
-
-
-
-
- 4.0
-
-
-
-
-
- ..\packages\WpfAnimatedGif.1.4.14\lib\net\WpfAnimatedGif.dll
- True
-
-
- False
- ..\packages\WPFToolkit.3.5.50211.1\lib\WPFToolkit.dll
-
-
- ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.dll
- True
-
-
- ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll
- True
-
-
- ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll
- True
-
-
- ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll
- True
-
-
- False
- libs\Xceed.Wpf.AvalonDock.Themes.VS2013.dll
-
-
- ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.DataGrid.dll
- True
-
-
- ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.Toolkit.dll
- True
-
-
-
-
- MSBuild:Compile
- Designer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- BlockItemControl.xaml
-
-
-
-
- EditableListBoxControl.xaml
-
-
- ItemPreviewControl.xaml
-
-
- ThemeComponentSelectionControl.xaml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- AvalonDockWorkspaceView.xaml
-
-
-
-
-
- SettingsPageView.xaml
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- MSBuild:Compile
- Designer
-
-
- BlockGroupBrowserView.xaml
-
-
-
- ItemFilterScriptView.xaml
-
-
- ItemFilterBlockView.xaml
-
-
- NumericFilterPredicateControl.xaml
-
-
- ItemFilterSectionView.xaml
-
-
- AboutWindow.xaml
-
-
-
-
-
- ReplaceColorsWindow.xaml
-
-
- BlockOutputPreviewView.xaml
-
-
- SectionBrowserView.xaml
-
-
- StartPageView.xaml
-
-
- UpdateAvailableView.xaml
-
-
-
-
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- MSBuild:Compile
- Designer
-
-
- App.xaml
- Code
-
-
-
- MainWindow.xaml
- Code
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
-
-
- Code
-
-
- True
- True
- Resources.resx
-
-
- True
- Settings.settings
- True
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
-
-
- PreserveNewest
-
-
- Always
-
-
- Designer
-
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
-
-
-
-
-
-
-
-
-
-
- PreserveNewest
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PreserveNewest
-
-
-
-
- PreserveNewest
-
-
-
-
- PreserveNewest
-
-
-
-
- PreserveNewest
-
-
-
-
- PreserveNewest
-
-
-
-
- PreserveNewest
-
-
-
-
- PreserveNewest
-
-
-
-
- PreserveNewest
-
-
-
-
- {8cb44f28-2956-4c2a-9314-72727262edd4}
- Filtration.Common
-
-
- {0f333344-7695-47b2-b0e6-172e4de74819}
- Filtration.Interface
-
-
- {4aac3beb-1dc1-483e-9d11-0e9334e80227}
- Filtration.ObjectModel
-
-
- {46383f20-02df-48b4-b092-9088fa4acd5a}
- Filtration.Parser.Interface
-
-
- {10a7c2bc-ec6f-4a38-bdda-e35935004c02}
- Filtration.Parser
-
-
- {41b8f5c2-65aa-42f0-a20b-6f95b13a9f48}
- Filtration.ThemeEditor
-
-
-
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+ {55E0A34C-E039-43D7-A024-A4045401CDDA}
+ WinExe
+ Properties
+ Filtration
+ Filtration
+ v4.6.1
+ 512
+ {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 4
+ true
+
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+ Filtration.App
+
+
+ Resources\filtration.ico
+
+
+
+ ..\packages\AutoMapper.4.2.1\lib\net45\AutoMapper.dll
+ True
+
+
+ ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll
+ True
+
+
+ ..\packages\Castle.Windsor.3.3.0\lib\net45\Castle.Windsor.dll
+
+
+ ..\packages\ControlzEx.2.1.2.3\lib\net45\ControlzEx.dll
+ True
+
+
+ ..\packages\Fluent.Ribbon.4.0.3.394\lib\net45\Fluent.dll
+ True
+
+
+ ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll
+ True
+
+
+ ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll
+ True
+
+
+ ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll
+ True
+
+
+ ..\packages\MahApps.Metro.1.2.4.0\lib\net45\MahApps.Metro.dll
+ True
+
+
+
+ ..\packages\NLog.4.3.7\lib\net45\NLog.dll
+ True
+
+
+
+
+ False
+ ..\packages\WPFToolkit.3.5.50211.1\lib\System.Windows.Controls.Input.Toolkit.dll
+
+
+ False
+ ..\packages\WPFToolkit.3.5.50211.1\lib\System.Windows.Controls.Layout.Toolkit.dll
+
+
+
+ ..\packages\ControlzEx.2.1.2.3\lib\net45\System.Windows.Interactivity.dll
+ True
+
+
+
+
+ 4.0
+
+
+
+
+
+ ..\packages\WpfAnimatedGif.1.4.14\lib\net\WpfAnimatedGif.dll
+ True
+
+
+ False
+ ..\packages\WPFToolkit.3.5.50211.1\lib\WPFToolkit.dll
+
+
+ ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.dll
+ True
+
+
+ ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll
+ True
+
+
+ ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll
+ True
+
+
+ ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll
+ True
+
+
+ False
+ libs\Xceed.Wpf.AvalonDock.Themes.VS2013.dll
+
+
+ ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.DataGrid.dll
+ True
+
+
+ ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.Toolkit.dll
+ True
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BlockItemControl.xaml
+
+
+
+
+ EditableListBoxControl.xaml
+
+
+ ItemPreviewControl.xaml
+
+
+ ThemeComponentSelectionControl.xaml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AvalonDockWorkspaceView.xaml
+
+
+
+
+
+ SettingsPageView.xaml
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+ Designer
+
+
+ BlockGroupBrowserView.xaml
+
+
+
+ ItemFilterScriptView.xaml
+
+
+ ItemFilterBlockView.xaml
+
+
+ NumericFilterPredicateControl.xaml
+
+
+ ItemFilterSectionView.xaml
+
+
+ AboutWindow.xaml
+
+
+
+
+
+ ReplaceColorsWindow.xaml
+
+
+ BlockOutputPreviewView.xaml
+
+
+ SectionBrowserView.xaml
+
+
+ StartPageView.xaml
+
+
+ UpdateAvailableView.xaml
+
+
+
+
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+ Designer
+
+
+ App.xaml
+ Code
+
+
+
+ MainWindow.xaml
+ Code
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
+
+
+
+ Code
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+ PreserveNewest
+
+
+ Always
+
+
+ Designer
+
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+
+
+
+
+ {8cb44f28-2956-4c2a-9314-72727262edd4}
+ Filtration.Common
+
+
+ {0f333344-7695-47b2-b0e6-172e4de74819}
+ Filtration.Interface
+
+
+ {4aac3beb-1dc1-483e-9d11-0e9334e80227}
+ Filtration.ObjectModel
+
+
+ {46383f20-02df-48b4-b092-9088fa4acd5a}
+ Filtration.Parser.Interface
+
+
+ {10a7c2bc-ec6f-4a38-bdda-e35935004c02}
+ Filtration.Parser
+
+
+ {41b8f5c2-65aa-42f0-a20b-6f95b13a9f48}
+ Filtration.ThemeEditor
+
+
+
+
+
+
+
+ False
+ Microsoft .NET Framework 4.6.1 %28x86 and x64%29
+ true
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+
+
+ -->
\ No newline at end of file
diff --git a/Filtration/Properties/Resources.Designer.cs b/Filtration/Properties/Resources.Designer.cs
index d95532d..e581ae9 100644
--- a/Filtration/Properties/Resources.Designer.cs
+++ b/Filtration/Properties/Resources.Designer.cs
@@ -1,164 +1,317 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace Filtration.Properties {
- using System;
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Filtration.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
-
- ///
- /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
- ///
- internal static System.IO.UnmanagedMemoryStream AlertSound1 {
- get {
- return ResourceManager.GetStream("AlertSound1", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
- ///
- internal static System.IO.UnmanagedMemoryStream AlertSound2 {
- get {
- return ResourceManager.GetStream("AlertSound2", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
- ///
- internal static System.IO.UnmanagedMemoryStream AlertSound3 {
- get {
- return ResourceManager.GetStream("AlertSound3", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
- ///
- internal static System.IO.UnmanagedMemoryStream AlertSound4 {
- get {
- return ResourceManager.GetStream("AlertSound4", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
- ///
- internal static System.IO.UnmanagedMemoryStream AlertSound5 {
- get {
- return ResourceManager.GetStream("AlertSound5", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
- ///
- internal static System.IO.UnmanagedMemoryStream AlertSound6 {
- get {
- return ResourceManager.GetStream("AlertSound6", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
- ///
- internal static System.IO.UnmanagedMemoryStream AlertSound7 {
- get {
- return ResourceManager.GetStream("AlertSound7", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
- ///
- internal static System.IO.UnmanagedMemoryStream AlertSound8 {
- get {
- return ResourceManager.GetStream("AlertSound8", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
- ///
- internal static System.IO.UnmanagedMemoryStream AlertSound9 {
- get {
- return ResourceManager.GetStream("AlertSound9", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized resource of type System.Byte[].
- ///
- internal static byte[] Fontin_SmallCaps {
- get {
- object obj = ResourceManager.GetObject("Fontin_SmallCaps", resourceCulture);
- return ((byte[])(obj));
- }
- }
-
- ///
- /// Looks up a localized resource of type System.Drawing.Bitmap.
- ///
- internal static System.Drawing.Bitmap groundtile {
- get {
- object obj = ResourceManager.GetObject("groundtile", resourceCulture);
- return ((System.Drawing.Bitmap)(obj));
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Filtration.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Filtration.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_01 {
+ get {
+ return ResourceManager.GetStream("AlertSound_01", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_02 {
+ get {
+ return ResourceManager.GetStream("AlertSound_02", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_03 {
+ get {
+ return ResourceManager.GetStream("AlertSound_03", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_04 {
+ get {
+ return ResourceManager.GetStream("AlertSound_04", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_05 {
+ get {
+ return ResourceManager.GetStream("AlertSound_05", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_06 {
+ get {
+ return ResourceManager.GetStream("AlertSound_06", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_07 {
+ get {
+ return ResourceManager.GetStream("AlertSound_07", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_08 {
+ get {
+ return ResourceManager.GetStream("AlertSound_08", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_09 {
+ get {
+ return ResourceManager.GetStream("AlertSound_09", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_10 {
+ get {
+ return ResourceManager.GetStream("AlertSound_10", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_11 {
+ get {
+ return ResourceManager.GetStream("AlertSound_11", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_12 {
+ get {
+ return ResourceManager.GetStream("AlertSound_12", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_13 {
+ get {
+ return ResourceManager.GetStream("AlertSound_13", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_14 {
+ get {
+ return ResourceManager.GetStream("AlertSound_14", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_15 {
+ get {
+ return ResourceManager.GetStream("AlertSound_15", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream AlertSound_16 {
+ get {
+ return ResourceManager.GetStream("AlertSound_16", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ internal static byte[] Fontin_SmallCaps {
+ get {
+ object obj = ResourceManager.GetObject("Fontin_SmallCaps", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap groundtile {
+ get {
+ object obj = ResourceManager.GetObject("groundtile", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream SH22Alchemy {
+ get {
+ return ResourceManager.GetStream("SH22Alchemy", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream SH22Blessed {
+ get {
+ return ResourceManager.GetStream("SH22Blessed", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream SH22Chaos {
+ get {
+ return ResourceManager.GetStream("SH22Chaos", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream SH22Divine {
+ get {
+ return ResourceManager.GetStream("SH22Divine", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream SH22Exalted {
+ get {
+ return ResourceManager.GetStream("SH22Exalted", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream SH22Fusing {
+ get {
+ return ResourceManager.GetStream("SH22Fusing", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream SH22General {
+ get {
+ return ResourceManager.GetStream("SH22General", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream SH22Mirror {
+ get {
+ return ResourceManager.GetStream("SH22Mirror", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream SH22Regal {
+ get {
+ return ResourceManager.GetStream("SH22Regal", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
+ ///
+ internal static System.IO.UnmanagedMemoryStream SH22Vaal {
+ get {
+ return ResourceManager.GetStream("SH22Vaal", resourceCulture);
+ }
+ }
+ }
+}
diff --git a/Filtration/Properties/Resources.resx b/Filtration/Properties/Resources.resx
index 4f30e8e..a8efc84 100644
--- a/Filtration/Properties/Resources.resx
+++ b/Filtration/Properties/Resources.resx
@@ -1,154 +1,205 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- ..\Resources\AlertSounds\AlertSound1.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\AlertSounds\AlertSound2.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\AlertSounds\AlertSound3.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\AlertSounds\AlertSound4.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\AlertSounds\AlertSound5.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\AlertSounds\AlertSound6.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\AlertSounds\AlertSound7.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\AlertSounds\AlertSound8.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\AlertSounds\AlertSound9.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\Fontin-SmallCaps.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\groundtile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ ..\Resources\AlertSounds\AlertSound_01.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_02.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_03.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_04.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_05.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_06.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_07.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_08.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_09.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_10.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_11.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_12.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_13.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_14.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_15.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\AlertSound_16.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\Fontin-SmallCaps.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\groundtile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\AlertSounds\SH22Alchemy.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\SH22Blessed.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\SH22Chaos.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\SH22Divine.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\SH22Exalted.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\SH22Fusing.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\SH22General.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\SH22Mirror.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\SH22Regal.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\AlertSounds\SH22Vaal.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
\ No newline at end of file
diff --git a/Filtration/Resources/AlertSounds/AlertSound1.wav b/Filtration/Resources/AlertSounds/AlertSound1.wav
deleted file mode 100644
index 4ae9006..0000000
Binary files a/Filtration/Resources/AlertSounds/AlertSound1.wav and /dev/null differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound2.wav b/Filtration/Resources/AlertSounds/AlertSound2.wav
deleted file mode 100644
index 0bd42cd..0000000
Binary files a/Filtration/Resources/AlertSounds/AlertSound2.wav and /dev/null differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound3.wav b/Filtration/Resources/AlertSounds/AlertSound3.wav
deleted file mode 100644
index 81997cf..0000000
Binary files a/Filtration/Resources/AlertSounds/AlertSound3.wav and /dev/null differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound4.wav b/Filtration/Resources/AlertSounds/AlertSound4.wav
deleted file mode 100644
index 94eb71c..0000000
Binary files a/Filtration/Resources/AlertSounds/AlertSound4.wav and /dev/null differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound5.wav b/Filtration/Resources/AlertSounds/AlertSound5.wav
deleted file mode 100644
index 5c393e8..0000000
Binary files a/Filtration/Resources/AlertSounds/AlertSound5.wav and /dev/null differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound6.wav b/Filtration/Resources/AlertSounds/AlertSound6.wav
deleted file mode 100644
index 1c24dbc..0000000
Binary files a/Filtration/Resources/AlertSounds/AlertSound6.wav and /dev/null differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound7.wav b/Filtration/Resources/AlertSounds/AlertSound7.wav
deleted file mode 100644
index 296957e..0000000
Binary files a/Filtration/Resources/AlertSounds/AlertSound7.wav and /dev/null differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound8.wav b/Filtration/Resources/AlertSounds/AlertSound8.wav
deleted file mode 100644
index b106182..0000000
Binary files a/Filtration/Resources/AlertSounds/AlertSound8.wav and /dev/null differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound9.wav b/Filtration/Resources/AlertSounds/AlertSound9.wav
deleted file mode 100644
index b1858e2..0000000
Binary files a/Filtration/Resources/AlertSounds/AlertSound9.wav and /dev/null differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_01.wav b/Filtration/Resources/AlertSounds/AlertSound_01.wav
new file mode 100644
index 0000000..6374b92
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_01.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_02.wav b/Filtration/Resources/AlertSounds/AlertSound_02.wav
new file mode 100644
index 0000000..65f613d
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_02.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_03.wav b/Filtration/Resources/AlertSounds/AlertSound_03.wav
new file mode 100644
index 0000000..3cd5def
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_03.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_04.wav b/Filtration/Resources/AlertSounds/AlertSound_04.wav
new file mode 100644
index 0000000..ad7337f
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_04.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_05.wav b/Filtration/Resources/AlertSounds/AlertSound_05.wav
new file mode 100644
index 0000000..9a08fb5
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_05.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_06.wav b/Filtration/Resources/AlertSounds/AlertSound_06.wav
new file mode 100644
index 0000000..a1b2018
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_06.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_07.wav b/Filtration/Resources/AlertSounds/AlertSound_07.wav
new file mode 100644
index 0000000..20b0b33
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_07.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_08.wav b/Filtration/Resources/AlertSounds/AlertSound_08.wav
new file mode 100644
index 0000000..f748b1a
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_08.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_09.wav b/Filtration/Resources/AlertSounds/AlertSound_09.wav
new file mode 100644
index 0000000..cc3e23d
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_09.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_10.wav b/Filtration/Resources/AlertSounds/AlertSound_10.wav
new file mode 100644
index 0000000..3025548
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_10.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_11.wav b/Filtration/Resources/AlertSounds/AlertSound_11.wav
new file mode 100644
index 0000000..20b8f47
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_11.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_12.wav b/Filtration/Resources/AlertSounds/AlertSound_12.wav
new file mode 100644
index 0000000..cdf6752
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_12.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_13.wav b/Filtration/Resources/AlertSounds/AlertSound_13.wav
new file mode 100644
index 0000000..9ec34aa
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_13.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_14.wav b/Filtration/Resources/AlertSounds/AlertSound_14.wav
new file mode 100644
index 0000000..5fc0381
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_14.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_15.wav b/Filtration/Resources/AlertSounds/AlertSound_15.wav
new file mode 100644
index 0000000..e612283
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_15.wav differ
diff --git a/Filtration/Resources/AlertSounds/AlertSound_16.wav b/Filtration/Resources/AlertSounds/AlertSound_16.wav
new file mode 100644
index 0000000..513dad1
Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_16.wav differ
diff --git a/Filtration/Resources/AlertSounds/SH22Alchemy.wav b/Filtration/Resources/AlertSounds/SH22Alchemy.wav
new file mode 100644
index 0000000..17678ec
Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Alchemy.wav differ
diff --git a/Filtration/Resources/AlertSounds/SH22Blessed.wav b/Filtration/Resources/AlertSounds/SH22Blessed.wav
new file mode 100644
index 0000000..9cfdcfc
Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Blessed.wav differ
diff --git a/Filtration/Resources/AlertSounds/SH22Chaos.wav b/Filtration/Resources/AlertSounds/SH22Chaos.wav
new file mode 100644
index 0000000..dd48006
Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Chaos.wav differ
diff --git a/Filtration/Resources/AlertSounds/SH22Divine.wav b/Filtration/Resources/AlertSounds/SH22Divine.wav
new file mode 100644
index 0000000..b78ed0a
Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Divine.wav differ
diff --git a/Filtration/Resources/AlertSounds/SH22Exalted.wav b/Filtration/Resources/AlertSounds/SH22Exalted.wav
new file mode 100644
index 0000000..d747dfc
Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Exalted.wav differ
diff --git a/Filtration/Resources/AlertSounds/SH22Fusing.wav b/Filtration/Resources/AlertSounds/SH22Fusing.wav
new file mode 100644
index 0000000..cced879
Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Fusing.wav differ
diff --git a/Filtration/Resources/AlertSounds/SH22General.wav b/Filtration/Resources/AlertSounds/SH22General.wav
new file mode 100644
index 0000000..da4782f
Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22General.wav differ
diff --git a/Filtration/Resources/AlertSounds/SH22Mirror.wav b/Filtration/Resources/AlertSounds/SH22Mirror.wav
new file mode 100644
index 0000000..2117a82
Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Mirror.wav differ
diff --git a/Filtration/Resources/AlertSounds/SH22Regal.wav b/Filtration/Resources/AlertSounds/SH22Regal.wav
new file mode 100644
index 0000000..e1b275d
Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Regal.wav differ
diff --git a/Filtration/Resources/AlertSounds/SH22Vaal.wav b/Filtration/Resources/AlertSounds/SH22Vaal.wav
new file mode 100644
index 0000000..9aa00b1
Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Vaal.wav differ
diff --git a/Filtration/UserControls/BlockItemControl.xaml b/Filtration/UserControls/BlockItemControl.xaml
index dbb8e2e..a73bb14 100644
--- a/Filtration/UserControls/BlockItemControl.xaml
+++ b/Filtration/UserControls/BlockItemControl.xaml
@@ -13,11 +13,11 @@
xmlns:views="clr-namespace:Filtration.Views"
mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=userControls:BlockItemControl}"
- d:DesignHeight="200" d:DesignWidth="160">
+ d:DesignHeight="200" d:DesignWidth="190">
-
+
diff --git a/Filtration/UserControls/BlockItemControl.xaml.cs b/Filtration/UserControls/BlockItemControl.xaml.cs
index 3026bc4..5af5c2f 100644
--- a/Filtration/UserControls/BlockItemControl.xaml.cs
+++ b/Filtration/UserControls/BlockItemControl.xaml.cs
@@ -82,7 +82,11 @@ namespace Filtration.UserControls
public ObservableCollection AvailableColors => PathOfExileColors.DefaultColors;
- public List SoundsAvailable => new List { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
+ public List SoundsAvailable => new List {
+ "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16",
+ "ShGeneral", "ShBlessed", "ShChaos", "ShDivine", "ShExalted", "ShMirror", "ShAlchemy",
+ "ShFusing", "ShRegal", "ShVaal"
+ };
private void OnSetBlockColorCommmand()
{
diff --git a/Filtration/ViewModels/ItemFilterBlockViewModel.cs b/Filtration/ViewModels/ItemFilterBlockViewModel.cs
index c39bf0a..2ddf404 100644
--- a/Filtration/ViewModels/ItemFilterBlockViewModel.cs
+++ b/Filtration/ViewModels/ItemFilterBlockViewModel.cs
@@ -201,7 +201,8 @@ namespace Filtration.ViewModels
typeof (BackgroundColorBlockItem),
typeof (BorderColorBlockItem),
typeof (FontSizeBlockItem),
- typeof (SoundBlockItem)
+ typeof (SoundBlockItem),
+ typeof (PositionalSoundBlockItem)
};
public bool BlockEnabled
@@ -242,7 +243,8 @@ namespace Filtration.ViewModels
public Color DisplayBorderColor => Block.DisplayBorderColor;
public double DisplayFontSize => Block.DisplayFontSize/1.8;
- public bool HasSound => Block.HasBlockItemOfType();
+ public bool HasSound => Block.HasBlockItemOfType() ||
+ Block.HasBlockItemOfType();
public bool HasAudioVisualBlockItems => AudioVisualBlockItems.Any();
@@ -350,11 +352,85 @@ namespace Filtration.ViewModels
return blockCount < blockItem.MaximumAllowed;
}
+ private string ComputeFilePartFromNumber(string identifier)
+ {
+ if (Int32.TryParse(identifier, out int x))
+ {
+ if (x <= 9)
+ {
+ return "AlertSound_0" + x + ".wav";
+ }
+ else
+ {
+ return "AlertSound_" + x + ".wav";
+ }
+ }
+
+ return "";
+ }
+
+ private string ComputeFilePartFromID(string identifier)
+ {
+ string filePart;
+ switch (identifier) {
+ case "ShGeneral":
+ filePart = "SH22General.wav";
+ break;
+ case "ShBlessed":
+ filePart = "SH22Blessed.wav";
+ break;
+ case "SH22Chaos":
+ filePart = "SH22Chaos.wav";
+ break;
+ case "ShDivine":
+ filePart = "SH22Divine.wav";
+ break;
+ case "ShExalted":
+ filePart = "SH22Exalted.wav";
+ break;
+ case "ShMirror":
+ filePart = "SH22Mirror.wav";
+ break;
+ case "ShAlchemy":
+ filePart = "SH22Alchemy.wav";
+ break;
+ case "ShFusing":
+ filePart = "SH22Fusing.wav";
+ break;
+ case "ShRegal":
+ filePart = "SH22Regal.wav";
+ break;
+ case "ShVaal":
+ filePart = "SH22Vaal.wav";
+ break;
+ default:
+ filePart = ComputeFilePartFromNumber(identifier);
+ break;
+ }
+
+ return filePart;
+ }
+
private void OnPlaySoundCommand()
{
- var soundUri = "Resources/AlertSounds/AlertSound" + BlockItems.OfType().First().Value + ".wav";
- _mediaPlayer.Open(new Uri(soundUri, UriKind.Relative));
- _mediaPlayer.Play();
+ var identifier = BlockItems.OfType().First().Value;
+ var prefix = "Resources/AlertSounds/";
+ var filePart = ComputeFilePartFromID(identifier);
+
+ if (filePart == "")
+ {
+ return;
+ }
+ else
+ {
+ _mediaPlayer.Open(new Uri(prefix + filePart, UriKind.Relative));
+ _mediaPlayer.Play();
+ }
+ }
+
+ private void OnPlayPositionalSoundCommand()
+ {
+
}
private void OnBlockItemChanged(object sender, EventArgs e)