diff --git a/Daybreak/Controls/SnowfallOverlay.xaml b/Daybreak/Controls/SnowfallOverlay.xaml
index c2fd47d4..55ec298c 100644
--- a/Daybreak/Controls/SnowfallOverlay.xaml
+++ b/Daybreak/Controls/SnowfallOverlay.xaml
@@ -5,11 +5,19 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Daybreak.Controls"
xmlns:effects="clr-namespace:System.Windows.Media.Extensions.Effects;assembly=WpfExtended"
+ xmlns:converters="clr-namespace:Daybreak.Converters"
mc:Ignorable="d"
Loaded="UserControl_Loaded"
Unloaded="UserControl_Unloaded"
x:Name="_this"
d:DesignHeight="450" d:DesignWidth="800">
+
+
+
+
+
+
+
@@ -39,7 +47,9 @@
-
+
@@ -54,7 +64,9 @@
-
+
@@ -69,7 +81,9 @@
-
+
@@ -84,7 +98,9 @@
-
+
@@ -99,7 +115,9 @@
-
+
diff --git a/Daybreak/Controls/SnowfallOverlay.xaml.cs b/Daybreak/Controls/SnowfallOverlay.xaml.cs
index 42b84ca1..ab23c52d 100644
--- a/Daybreak/Controls/SnowfallOverlay.xaml.cs
+++ b/Daybreak/Controls/SnowfallOverlay.xaml.cs
@@ -27,6 +27,7 @@ public partial class SnowfallOverlay : UserControl
private double flakeSize4;
[GenerateDependencyProperty]
private double flakeSize5;
+
[GenerateDependencyProperty]
private double time;
@@ -111,7 +112,7 @@ private double GetNoise(double source)
{
var f = Frequencies[i];
var a = Amplitudes[i];
- returnValue += a * Math.Sin(f * source * Math.PI * 2);
+ returnValue += a * Math.Sin(f * source * Math.PI);
}
return returnValue / Divisor;
diff --git a/Daybreak/Converters/DoubleMultiplierConverter.cs b/Daybreak/Converters/DoubleMultiplierConverter.cs
new file mode 100644
index 00000000..13fd8df8
--- /dev/null
+++ b/Daybreak/Converters/DoubleMultiplierConverter.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Globalization;
+using System.Windows.Data;
+
+namespace Daybreak.Converters;
+public sealed class DoubleMultiplierConverter : IValueConverter
+{
+ public double Multiplier { get; set; }
+
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ if (value is not double d)
+ {
+ return value;
+ }
+
+ return d * this.Multiplier;
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+}
diff --git a/Daybreak/Daybreak.csproj b/Daybreak/Daybreak.csproj
index c1155fa3..2fe89760 100644
--- a/Daybreak/Daybreak.csproj
+++ b/Daybreak/Daybreak.csproj
@@ -13,7 +13,7 @@
preview
Daybreak.ico
true
- 0.9.8.146
+ 0.9.8.147
true
cfb2a489-db80-448d-a969-80270f314c46
True
diff --git a/Daybreak/Launch/MainWindow.xaml b/Daybreak/Launch/MainWindow.xaml
index 46f7be71..f8071740 100644
--- a/Daybreak/Launch/MainWindow.xaml
+++ b/Daybreak/Launch/MainWindow.xaml
@@ -81,16 +81,16 @@
? ValidLocations { get; init; }
+
+ private Event()
+ {
+ }
+
+ public static readonly Event Wintersday = new()
+ {
+ Name = "Wintersday",
+ ValidLocations = new List