diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9b9bf5e..644fe48 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
# Mzinga Changelog #
+## next ##
+
+* Viewer: Add native ARM64 build (WinStore only)
+* Viewer: Updated Avalonia to 11.0.7
+* Viewer: Updated CommunityToolkit.Mvvm to 8.2.2
+* Viewer: Updated System.Reactive.Linq to 6.0.0
+
## v0.14.1 ##
* Viewer: Added UHP engine to title bar
diff --git a/LICENSE.md b/LICENSE.md
index 381bc21..705db08 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2015-2023 Jon Thysell
+Copyright (c) 2015-2024 Jon Thysell
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index d5b3b90..d0cc6ab 100644
--- a/README.md
+++ b/README.md
@@ -72,7 +72,7 @@ The Unpacked release provides loose, framework-dependent .NET 6 binaries.
Hive Copyright (c) 2016 Gen42 Games. Mzinga is in no way associated with or endorsed by Gen42 Games.
-Mzinga Copyright (c) 2015-2023 Jon Thysell.
+Mzinga Copyright (c) 2015-2024 Jon Thysell.
Avalonia Copyright (c) .NET Foundation and Contributors.
diff --git a/scripts/Licenses.txt b/scripts/Licenses.txt
index 54b7763..86abe51 100644
--- a/scripts/Licenses.txt
+++ b/scripts/Licenses.txt
@@ -10,7 +10,7 @@ Mzinga is in no way associated with or endorsed by Gen42 Games.
The MIT License (MIT)
-Copyright (c) 2015-2023 Jon Thysell
+Copyright (c) 2015-2024 Jon Thysell
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 6fec16f..8dd6ee6 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -3,7 +3,7 @@
Mzinga
Jon Thysell
Jon Thysell
- Copyright © 2015-2023 Jon Thysell
+ Copyright © 2015-2024 Jon Thysell
LICENSE.md
https://github.com/jonthysell/Mzinga
net6.0
@@ -19,7 +19,7 @@
- win-x86;win-x64
+ win-x86;win-x64;win-arm64
diff --git a/src/Mzinga.Viewer.Setup/license.rtf b/src/Mzinga.Viewer.Setup/license.rtf
index c84430e..2ab1610 100644
Binary files a/src/Mzinga.Viewer.Setup/license.rtf and b/src/Mzinga.Viewer.Setup/license.rtf differ
diff --git a/src/Mzinga.Viewer.WinStore/Mzinga.Viewer.WinStore.wapproj b/src/Mzinga.Viewer.WinStore/Mzinga.Viewer.WinStore.wapproj
index 061123f..6bd7898 100644
--- a/src/Mzinga.Viewer.WinStore/Mzinga.Viewer.WinStore.wapproj
+++ b/src/Mzinga.Viewer.WinStore/Mzinga.Viewer.WinStore.wapproj
@@ -20,6 +20,14 @@
Release
x64
+
+ Debug
+ ARM64
+
+
+ Release
+ ARM64
+
$(MSBuildExtensionsPath)\Microsoft\DesktopBridge\
@@ -34,7 +42,7 @@
False
False
True
- x86|x64
+ x86|x64|ARM64
0
SHA256
..\Mzinga.Viewer\Mzinga.Viewer.csproj
@@ -46,10 +54,16 @@
Always
+
+ Always
+
Always
-
+
+ Always
+
+
Always
@@ -117,8 +131,10 @@
True
Properties\PublishProfiles\WinStore.Release.x64.pubxml
Properties\PublishProfiles\WinStore.Release.x86.pubxml
+ Properties\PublishProfiles\WinStore.Release.ARM64.pubxml
Properties\PublishProfiles\WinStore.Debug.x64.pubxml
Properties\PublishProfiles\WinStore.Debug.x86.pubxml
+ Properties\PublishProfiles\WinStore.Debug.ARM64.pubxml
\ No newline at end of file
diff --git a/src/Mzinga.Viewer/Mzinga.Viewer.csproj b/src/Mzinga.Viewer/Mzinga.Viewer.csproj
index 36305b9..288b5aa 100644
--- a/src/Mzinga.Viewer/Mzinga.Viewer.csproj
+++ b/src/Mzinga.Viewer/Mzinga.Viewer.csproj
@@ -7,7 +7,7 @@
Mzinga.Viewer
Resources\icon.ico
TRACE;UPDATES
- AnyCPU;x86;x64
+ AnyCPU;x86;x64;arm64
@@ -45,15 +45,15 @@
-
-
-
-
+
+
+
+
-
-
+
+
diff --git a/src/Mzinga.Viewer/Properties/PublishProfiles/WinStore.Debug.ARM64.pubxml b/src/Mzinga.Viewer/Properties/PublishProfiles/WinStore.Debug.ARM64.pubxml
new file mode 100644
index 0000000..2755287
--- /dev/null
+++ b/src/Mzinga.Viewer/Properties/PublishProfiles/WinStore.Debug.ARM64.pubxml
@@ -0,0 +1,19 @@
+
+
+
+
+ Debug
+ ARM64
+ bin\ARM64\Debug (WinStore)
+ FileSystem
+ win-arm64
+ true
+ False
+ False
+ True
+ True
+ TRACE;INSTALLED
+
+
\ No newline at end of file
diff --git a/src/Mzinga.Viewer/Properties/PublishProfiles/WinStore.Release.ARM64.pubxml b/src/Mzinga.Viewer/Properties/PublishProfiles/WinStore.Release.ARM64.pubxml
new file mode 100644
index 0000000..1a9d9cf
--- /dev/null
+++ b/src/Mzinga.Viewer/Properties/PublishProfiles/WinStore.Release.ARM64.pubxml
@@ -0,0 +1,19 @@
+
+
+
+
+ Release
+ ARM64
+ bin\ARM64\Release (WinStore)
+ FileSystem
+ win-arm64
+ true
+ False
+ False
+ True
+ True
+ TRACE;INSTALLED
+
+
\ No newline at end of file
diff --git a/src/Mzinga.sln b/src/Mzinga.sln
index a38ba46..13d8450 100644
--- a/src/Mzinga.sln
+++ b/src/Mzinga.sln
@@ -22,70 +22,91 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
+ Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
+ Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{23C4244B-2965-41FB-9F35-BDCAE2AB2C7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{23C4244B-2965-41FB-9F35-BDCAE2AB2C7B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {23C4244B-2965-41FB-9F35-BDCAE2AB2C7B}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{23C4244B-2965-41FB-9F35-BDCAE2AB2C7B}.Debug|x64.ActiveCfg = Debug|Any CPU
{23C4244B-2965-41FB-9F35-BDCAE2AB2C7B}.Debug|x86.ActiveCfg = Debug|Any CPU
{23C4244B-2965-41FB-9F35-BDCAE2AB2C7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{23C4244B-2965-41FB-9F35-BDCAE2AB2C7B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {23C4244B-2965-41FB-9F35-BDCAE2AB2C7B}.Release|ARM64.ActiveCfg = Release|Any CPU
{23C4244B-2965-41FB-9F35-BDCAE2AB2C7B}.Release|x64.ActiveCfg = Release|Any CPU
{23C4244B-2965-41FB-9F35-BDCAE2AB2C7B}.Release|x86.ActiveCfg = Release|Any CPU
{36CC70C4-9BCE-4546-8C4F-B116D5086291}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{36CC70C4-9BCE-4546-8C4F-B116D5086291}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {36CC70C4-9BCE-4546-8C4F-B116D5086291}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{36CC70C4-9BCE-4546-8C4F-B116D5086291}.Debug|x64.ActiveCfg = Debug|Any CPU
{36CC70C4-9BCE-4546-8C4F-B116D5086291}.Debug|x86.ActiveCfg = Debug|Any CPU
{36CC70C4-9BCE-4546-8C4F-B116D5086291}.Release|Any CPU.ActiveCfg = Release|Any CPU
{36CC70C4-9BCE-4546-8C4F-B116D5086291}.Release|Any CPU.Build.0 = Release|Any CPU
+ {36CC70C4-9BCE-4546-8C4F-B116D5086291}.Release|ARM64.ActiveCfg = Release|Any CPU
{36CC70C4-9BCE-4546-8C4F-B116D5086291}.Release|x64.ActiveCfg = Release|Any CPU
{36CC70C4-9BCE-4546-8C4F-B116D5086291}.Release|x86.ActiveCfg = Release|Any CPU
{ADA152D0-9A37-4884-A3B0-61FA7790BD9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ADA152D0-9A37-4884-A3B0-61FA7790BD9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ADA152D0-9A37-4884-A3B0-61FA7790BD9C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{ADA152D0-9A37-4884-A3B0-61FA7790BD9C}.Debug|x64.ActiveCfg = Debug|Any CPU
{ADA152D0-9A37-4884-A3B0-61FA7790BD9C}.Debug|x86.ActiveCfg = Debug|Any CPU
{ADA152D0-9A37-4884-A3B0-61FA7790BD9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ADA152D0-9A37-4884-A3B0-61FA7790BD9C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ADA152D0-9A37-4884-A3B0-61FA7790BD9C}.Release|ARM64.ActiveCfg = Release|Any CPU
{ADA152D0-9A37-4884-A3B0-61FA7790BD9C}.Release|x64.ActiveCfg = Release|Any CPU
{ADA152D0-9A37-4884-A3B0-61FA7790BD9C}.Release|x86.ActiveCfg = Release|Any CPU
{BD3A0E3A-EB2A-409B-AF6E-F88FFBF34CC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BD3A0E3A-EB2A-409B-AF6E-F88FFBF34CC4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BD3A0E3A-EB2A-409B-AF6E-F88FFBF34CC4}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{BD3A0E3A-EB2A-409B-AF6E-F88FFBF34CC4}.Debug|x64.ActiveCfg = Debug|Any CPU
{BD3A0E3A-EB2A-409B-AF6E-F88FFBF34CC4}.Debug|x86.ActiveCfg = Debug|Any CPU
{BD3A0E3A-EB2A-409B-AF6E-F88FFBF34CC4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BD3A0E3A-EB2A-409B-AF6E-F88FFBF34CC4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BD3A0E3A-EB2A-409B-AF6E-F88FFBF34CC4}.Release|ARM64.ActiveCfg = Release|Any CPU
{BD3A0E3A-EB2A-409B-AF6E-F88FFBF34CC4}.Release|x64.ActiveCfg = Release|Any CPU
{BD3A0E3A-EB2A-409B-AF6E-F88FFBF34CC4}.Release|x86.ActiveCfg = Release|Any CPU
{A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Debug|ARM64.ActiveCfg = Debug|arm64
+ {A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Debug|ARM64.Build.0 = Debug|arm64
{A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Debug|x64.ActiveCfg = Debug|x64
{A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Debug|x64.Build.0 = Debug|x64
{A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Debug|x86.ActiveCfg = Debug|x86
{A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Debug|x86.Build.0 = Debug|x86
{A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Release|ARM64.ActiveCfg = Release|arm64
+ {A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Release|ARM64.Build.0 = Release|arm64
{A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Release|x64.ActiveCfg = Release|x64
{A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Release|x64.Build.0 = Release|x64
{A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Release|x86.ActiveCfg = Release|x86
{A6BF3A8F-1B7A-47C6-A0D7-D32D75FF4099}.Release|x86.Build.0 = Release|x86
{F53D8E90-0B0B-4439-B9A1-3246827D121F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F53D8E90-0B0B-4439-B9A1-3246827D121F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F53D8E90-0B0B-4439-B9A1-3246827D121F}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {F53D8E90-0B0B-4439-B9A1-3246827D121F}.Debug|ARM64.Build.0 = Debug|Any CPU
{F53D8E90-0B0B-4439-B9A1-3246827D121F}.Debug|x64.ActiveCfg = Debug|Any CPU
{F53D8E90-0B0B-4439-B9A1-3246827D121F}.Debug|x64.Build.0 = Debug|Any CPU
{F53D8E90-0B0B-4439-B9A1-3246827D121F}.Debug|x86.ActiveCfg = Debug|Any CPU
{F53D8E90-0B0B-4439-B9A1-3246827D121F}.Debug|x86.Build.0 = Debug|Any CPU
{F53D8E90-0B0B-4439-B9A1-3246827D121F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F53D8E90-0B0B-4439-B9A1-3246827D121F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F53D8E90-0B0B-4439-B9A1-3246827D121F}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {F53D8E90-0B0B-4439-B9A1-3246827D121F}.Release|ARM64.Build.0 = Release|Any CPU
{F53D8E90-0B0B-4439-B9A1-3246827D121F}.Release|x64.ActiveCfg = Release|Any CPU
{F53D8E90-0B0B-4439-B9A1-3246827D121F}.Release|x64.Build.0 = Release|Any CPU
{F53D8E90-0B0B-4439-B9A1-3246827D121F}.Release|x86.ActiveCfg = Release|Any CPU
{F53D8E90-0B0B-4439-B9A1-3246827D121F}.Release|x86.Build.0 = Release|Any CPU
{DC4AE50E-3437-4F60-803C-996FE6A191BA}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {DC4AE50E-3437-4F60-803C-996FE6A191BA}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {DC4AE50E-3437-4F60-803C-996FE6A191BA}.Debug|ARM64.Build.0 = Debug|ARM64
+ {DC4AE50E-3437-4F60-803C-996FE6A191BA}.Debug|ARM64.Deploy.0 = Debug|ARM64
{DC4AE50E-3437-4F60-803C-996FE6A191BA}.Debug|x64.ActiveCfg = Debug|x64
{DC4AE50E-3437-4F60-803C-996FE6A191BA}.Debug|x64.Build.0 = Debug|x64
{DC4AE50E-3437-4F60-803C-996FE6A191BA}.Debug|x64.Deploy.0 = Debug|x64
@@ -93,6 +114,9 @@ Global
{DC4AE50E-3437-4F60-803C-996FE6A191BA}.Debug|x86.Build.0 = Debug|x86
{DC4AE50E-3437-4F60-803C-996FE6A191BA}.Debug|x86.Deploy.0 = Debug|x86
{DC4AE50E-3437-4F60-803C-996FE6A191BA}.Release|Any CPU.ActiveCfg = Release|x86
+ {DC4AE50E-3437-4F60-803C-996FE6A191BA}.Release|ARM64.ActiveCfg = Release|ARM64
+ {DC4AE50E-3437-4F60-803C-996FE6A191BA}.Release|ARM64.Build.0 = Release|ARM64
+ {DC4AE50E-3437-4F60-803C-996FE6A191BA}.Release|ARM64.Deploy.0 = Release|ARM64
{DC4AE50E-3437-4F60-803C-996FE6A191BA}.Release|x64.ActiveCfg = Release|x64
{DC4AE50E-3437-4F60-803C-996FE6A191BA}.Release|x64.Build.0 = Release|x64
{DC4AE50E-3437-4F60-803C-996FE6A191BA}.Release|x64.Deploy.0 = Release|x64
@@ -100,11 +124,13 @@ Global
{DC4AE50E-3437-4F60-803C-996FE6A191BA}.Release|x86.Build.0 = Release|x86
{DC4AE50E-3437-4F60-803C-996FE6A191BA}.Release|x86.Deploy.0 = Release|x86
{EB905695-D35D-4B73-AE9C-DDFF734604F8}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {EB905695-D35D-4B73-AE9C-DDFF734604F8}.Debug|ARM64.ActiveCfg = Debug|x64
{EB905695-D35D-4B73-AE9C-DDFF734604F8}.Debug|x64.ActiveCfg = Debug|x64
{EB905695-D35D-4B73-AE9C-DDFF734604F8}.Debug|x64.Build.0 = Debug|x64
{EB905695-D35D-4B73-AE9C-DDFF734604F8}.Debug|x86.ActiveCfg = Debug|x86
{EB905695-D35D-4B73-AE9C-DDFF734604F8}.Debug|x86.Build.0 = Debug|x86
{EB905695-D35D-4B73-AE9C-DDFF734604F8}.Release|Any CPU.ActiveCfg = Release|x86
+ {EB905695-D35D-4B73-AE9C-DDFF734604F8}.Release|ARM64.ActiveCfg = Release|x64
{EB905695-D35D-4B73-AE9C-DDFF734604F8}.Release|x64.ActiveCfg = Release|x64
{EB905695-D35D-4B73-AE9C-DDFF734604F8}.Release|x64.Build.0 = Release|x64
{EB905695-D35D-4B73-AE9C-DDFF734604F8}.Release|x86.ActiveCfg = Release|x86