diff options
| author | a1xd <[email protected]> | 2021-09-09 17:28:10 -0400 |
|---|---|---|
| committer | a1xd <[email protected]> | 2021-09-09 17:28:10 -0400 |
| commit | 1964548acbc56edb346d2e396eb0108010d869e1 (patch) | |
| tree | 1f709352d4ff564df385afd3cb8a341d52134644 | |
| parent | rename driver_settings (diff) | |
| download | rawaccel-1964548acbc56edb346d2e396eb0108010d869e1.tar.xz rawaccel-1964548acbc56edb346d2e396eb0108010d869e1.zip | |
port to .NET 5
dependency changes
- Newtonsoft.JSON
+ System.Windows.Forms.DataVisualization
+ System.Data.SqlClient (indirect, but was not added automatically by NuGet)
added ARM64 target
| -rw-r--r-- | converter/converter.vcxproj | 78 | ||||
| -rw-r--r-- | driver/driver.vcxproj | 115 | ||||
| -rw-r--r-- | grapher/AboutBox.cs | 6 | ||||
| -rw-r--r-- | grapher/App.config | 6 | ||||
| -rw-r--r-- | grapher/Form1.cs | 13 | ||||
| -rw-r--r-- | grapher/Models/Devices/DeviceIDManager.cs | 5 | ||||
| -rw-r--r-- | grapher/Models/Serialized/GUISettings.cs | 21 | ||||
| -rw-r--r-- | grapher/Models/Serialized/SettingsManager.cs | 7 | ||||
| -rw-r--r-- | grapher/grapher.csproj | 246 | ||||
| -rw-r--r-- | grapher/packages.config | 4 | ||||
| -rw-r--r-- | installer/installer.vcxproj | 89 | ||||
| -rw-r--r-- | rawaccel.sln | 63 | ||||
| -rw-r--r-- | uninstaller/uninstaller.vcxproj | 75 | ||||
| -rw-r--r-- | wrapper-deps/Class1.cs | 12 | ||||
| -rw-r--r-- | wrapper-deps/Properties/AssemblyInfo.cs | 36 | ||||
| -rw-r--r-- | wrapper-deps/packages.config | 4 | ||||
| -rw-r--r-- | wrapper-deps/wrapper-deps.csproj | 57 | ||||
| -rw-r--r-- | wrapper/wrapper.cpp | 356 | ||||
| -rw-r--r-- | wrapper/wrapper.vcxproj | 84 | ||||
| -rw-r--r-- | writer/App.config | 6 | ||||
| -rw-r--r-- | writer/Program.cs | 9 | ||||
| -rw-r--r-- | writer/Properties/AssemblyInfo.cs | 2 | ||||
| -rw-r--r-- | writer/packages.config | 4 | ||||
| -rw-r--r-- | writer/writer.csproj | 92 |
24 files changed, 769 insertions, 621 deletions
diff --git a/converter/converter.vcxproj b/converter/converter.vcxproj index 049dec7..56e94ef 100644 --- a/converter/converter.vcxproj +++ b/converter/converter.vcxproj @@ -1,10 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|ARM64"> + <Configuration>Debug</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> <ProjectConfiguration Include="Debug|x64"> <Configuration>Debug</Configuration> <Platform>x64</Platform> </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM64"> + <Configuration>Release</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> <ProjectConfiguration Include="Release|x64"> <Configuration>Release</Configuration> <Platform>x64</Platform> @@ -26,6 +34,13 @@ <CharacterSet>Unicode</CharacterSet> <CLRSupport>true</CLRSupport> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <CharacterSet>Unicode</CharacterSet> + <CLRSupport>true</CLRSupport> + </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> @@ -34,6 +49,14 @@ <CharacterSet>Unicode</CharacterSet> <CLRSupport>true</CLRSupport> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <WholeProgramOptimization>false</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + <CLRSupport>true</CLRSupport> + </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <ImportGroup Label="ExtensionSettings"> </ImportGroup> @@ -43,16 +66,28 @@ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> <PropertyGroup Label="UserMacros" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <LinkIncremental>false</LinkIncremental> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <LinkIncremental>false</LinkIncremental> + </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <LinkIncremental>false</LinkIncremental> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <LinkIncremental>false</LinkIncremental> + </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> <WarningLevel>Level3</WarningLevel> @@ -71,6 +106,24 @@ <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> </ResourceCompile> </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + <LanguageStandard>stdcpp17</LanguageStandard> + <AdditionalOptions>/Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation>DebugFull</GenerateDebugInformation> + </Link> + <ResourceCompile> + <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> + </ResourceCompile> + </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> <WarningLevel>Level3</WarningLevel> @@ -89,9 +142,28 @@ <OptimizeReferences>true</OptimizeReferences> <GenerateDebugInformation>true</GenerateDebugInformation> </Link> - <PostBuildEvent> - <Command>copy /Y "$(TargetPath)" "$(SolutionDir)signed\$(TargetFileName)"</Command> - </PostBuildEvent> + <ResourceCompile> + <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + <LanguageStandard>stdcpp17</LanguageStandard> + <AdditionalOptions>/Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> <ResourceCompile> <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> </ResourceCompile> diff --git a/driver/driver.vcxproj b/driver/driver.vcxproj index c2e4629..c87ec50 100644 --- a/driver/driver.vcxproj +++ b/driver/driver.vcxproj @@ -1,10 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|ARM64"> + <Configuration>Debug</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> <ProjectConfiguration Include="Debug|x64"> <Configuration>Debug</Configuration> <Platform>x64</Platform> </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM64"> + <Configuration>Release</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> <ProjectConfiguration Include="Release|x64"> <Configuration>Release</Configuration> <Platform>x64</Platform> @@ -32,6 +40,17 @@ <SpectreMitigation>Spectre</SpectreMitigation> <Driver_SpectreMitigation>Spectre</Driver_SpectreMitigation> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration"> + <TargetVersion>Windows7</TargetVersion> + <UseDebugLibraries>False</UseDebugLibraries> + <DriverTargetPlatform>Desktop</DriverTargetPlatform> + <DriverType>KMDF</DriverType> + <PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset> + <ConfigurationType>Driver</ConfigurationType> + <OverrideDefaultRuntimeLibrary>true</OverrideDefaultRuntimeLibrary> + <SpectreMitigation>Spectre</SpectreMitigation> + <Driver_SpectreMitigation>Spectre</Driver_SpectreMitigation> + </PropertyGroup> <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <TargetVersion>Windows7</TargetVersion> <UseDebugLibraries>True</UseDebugLibraries> @@ -41,6 +60,15 @@ <ConfigurationType>Driver</ConfigurationType> <Driver_SpectreMitigation>Spectre</Driver_SpectreMitigation> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration"> + <TargetVersion>Windows7</TargetVersion> + <UseDebugLibraries>True</UseDebugLibraries> + <DriverTargetPlatform>Desktop</DriverTargetPlatform> + <DriverType>KMDF</DriverType> + <PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset> + <ConfigurationType>Driver</ConfigurationType> + <Driver_SpectreMitigation>Spectre</Driver_SpectreMitigation> + </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <PropertyGroup> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> @@ -51,19 +79,35 @@ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + </ImportGroup> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + </ImportGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <TargetName>rawaccel</TargetName> <EnableInf2cat>false</EnableInf2cat> <TimeStampServer>http://timestamp.globalsign.com/scripts/timstamp.dll</TimeStampServer> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <TargetName>rawaccel</TargetName> + <EnableInf2cat>false</EnableInf2cat> + <TimeStampServer>http://timestamp.globalsign.com/scripts/timstamp.dll</TimeStampServer> + </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <TargetName>rawaccel</TargetName> <EnableInf2cat>false</EnableInf2cat> <TimeStampServer>http://timestamp.globalsign.com/scripts/timstamp.dll</TimeStampServer> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <TargetName>rawaccel</TargetName> + <EnableInf2cat>false</EnableInf2cat> + <TimeStampServer>http://timestamp.globalsign.com/scripts/timstamp.dll</TimeStampServer> + </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> <TreatWarningAsError>false</TreatWarningAsError> @@ -104,6 +148,46 @@ <FileDigestAlgorithm>sha256</FileDigestAlgorithm> </DriverSign> </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <ClCompile> + <TreatWarningAsError>false</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + <ExceptionHandling> + </ExceptionHandling> + <LanguageStandard>stdcpp17</LanguageStandard> + <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories);$(SolutionDir)\external;$(MSBuildThisFileDirectory)</AdditionalIncludeDirectories> + <RuntimeLibrary> + </RuntimeLibrary> + <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> + <CallingConvention>StdCall</CallingConvention> + <AssemblerOutput>AssemblyCode</AssemblerOutput> + <ExpandAttributedSource>false</ExpandAttributedSource> + <UseUnicodeForAssemblerListing>false</UseUnicodeForAssemblerListing> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <Optimization>MaxSpeed</Optimization> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> + <WholeProgramOptimization>false</WholeProgramOptimization> + <BufferSecurityCheck>true</BufferSecurityCheck> + <ControlFlowGuard>Guard</ControlFlowGuard> + <FloatingPointModel>Fast</FloatingPointModel> + </ClCompile> + <Link> + <LinkTimeCodeGeneration> + </LinkTimeCodeGeneration> + <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <IgnoreAllDefaultLibraries> + </IgnoreAllDefaultLibraries> + <AdditionalDependencies>%(AdditionalDependencies);$(KernelBufferOverflowLib);$(DDK_LIB_PATH)ntoskrnl.lib;$(DDK_LIB_PATH)hal.lib;$(DDK_LIB_PATH)wmilib.lib;$(KMDF_LIB_PATH)$(KMDF_VER_PATH)\WdfLdr.lib;$(KMDF_LIB_PATH)$(KMDF_VER_PATH)\WdfDriverEntry.lib;$(DDK_LIB_PATH)wdmsec.lib;$(DDK_LIB_PATH)libcntpr.lib</AdditionalDependencies> + </Link> + <ResourceCompile> + <AdditionalIncludeDirectories>$(SolutionDir)/common;$(UM_IncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ResourceCompile> + <DriverSign> + <FileDigestAlgorithm>sha256</FileDigestAlgorithm> + </DriverSign> + </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> <TreatWarningAsError>false</TreatWarningAsError> @@ -135,6 +219,37 @@ <AdditionalIncludeDirectories>$(SolutionDir)/common;$(UM_IncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ResourceCompile> </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <ClCompile> + <TreatWarningAsError>false</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + <ExceptionHandling> + </ExceptionHandling> + <AdditionalOptions>/Kernel %(AdditionalOptions)</AdditionalOptions> + <LanguageStandard>stdcpp17</LanguageStandard> + <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories);$(SolutionDir)\external;$(MSBuildThisFileDirectory)</AdditionalIncludeDirectories> + <RuntimeLibrary> + </RuntimeLibrary> + <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> + <FloatingPointModel>Fast</FloatingPointModel> + <CallingConvention>StdCall</CallingConvention> + <Optimization>MaxSpeed</Optimization> + <ControlFlowGuard>Guard</ControlFlowGuard> + <BufferSecurityCheck>true</BufferSecurityCheck> + </ClCompile> + <Link> + <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <IgnoreAllDefaultLibraries> + </IgnoreAllDefaultLibraries> + <AdditionalDependencies>%(AdditionalDependencies);$(KernelBufferOverflowLib);$(DDK_LIB_PATH)ntoskrnl.lib;$(DDK_LIB_PATH)hal.lib;$(DDK_LIB_PATH)wmilib.lib;$(KMDF_LIB_PATH)$(KMDF_VER_PATH)\WdfLdr.lib;$(KMDF_LIB_PATH)$(KMDF_VER_PATH)\WdfDriverEntry.lib;$(DDK_LIB_PATH)wdmsec.lib;$(DDK_LIB_PATH)libcntpr.lib</AdditionalDependencies> + </Link> + <DriverSign> + <FileDigestAlgorithm>sha256</FileDigestAlgorithm> + </DriverSign> + <ResourceCompile> + <AdditionalIncludeDirectories>$(SolutionDir)/common;$(UM_IncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ResourceCompile> + </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="driver.cpp" /> </ItemGroup> diff --git a/grapher/AboutBox.cs b/grapher/AboutBox.cs index 5547c59..5a22329 100644 --- a/grapher/AboutBox.cs +++ b/grapher/AboutBox.cs @@ -21,7 +21,7 @@ namespace grapher #region Assembly Attribute Accessors - public string AssemblyTitle + public static string AssemblyTitle { get { @@ -34,11 +34,11 @@ namespace grapher return titleAttribute.Title; } } - return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase); + return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().Location); } } - public string AssemblyVersion + public static string AssemblyVersion { get { diff --git a/grapher/App.config b/grapher/App.config deleted file mode 100644 index 56efbc7..0000000 --- a/grapher/App.config +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" ?> -<configuration> - <startup> - <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> - </startup> -</configuration>
\ No newline at end of file diff --git a/grapher/Form1.cs b/grapher/Form1.cs index c492a9b..66f4ce2 100644 --- a/grapher/Form1.cs +++ b/grapher/Form1.cs @@ -1,20 +1,7 @@ using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Data; using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows.Forms; -using System.Runtime.InteropServices; -using grapher.Models.Calculations; -using grapher.Models.Options; -using grapher.Models.Serialized; using grapher.Models; -using System.Reflection; -using System.Diagnostics; namespace grapher { diff --git a/grapher/Models/Devices/DeviceIDManager.cs b/grapher/Models/Devices/DeviceIDManager.cs index e0ee686..ff18718 100644 --- a/grapher/Models/Devices/DeviceIDManager.cs +++ b/grapher/Models/Devices/DeviceIDManager.cs @@ -1,10 +1,5 @@ using System; using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using System.Management; -using System.Text; -using System.Threading.Tasks; using System.Windows.Forms; namespace grapher.Models.Devices diff --git a/grapher/Models/Serialized/GUISettings.cs b/grapher/Models/Serialized/GUISettings.cs index e7b67ba..b7fe4de 100644 --- a/grapher/Models/Serialized/GUISettings.cs +++ b/grapher/Models/Serialized/GUISettings.cs @@ -1,11 +1,10 @@ -using Newtonsoft.Json; -using System; +using System; using System.IO; - +using System.Text.Json; +using System.Text.Json.Serialization; namespace grapher.Models.Serialized { [Serializable] - [JsonObject(ItemRequired = Required.Always)] public class GUISettings { #region Constructors @@ -17,22 +16,16 @@ namespace grapher.Models.Serialized #region Properties - [JsonProperty(Order = 1)] public int DPI { get; set; } - [JsonProperty(Order = 2)] public int PollRate { get; set; } - [JsonProperty(Order = 3)] public bool ShowLastMouseMove { get; set; } - [JsonProperty(Order = 4)] public bool ShowVelocityAndGain { get; set; } - [JsonProperty(Order = 5)] public bool AutoWriteToDriverOnStartup { get; set; } - [JsonProperty(Order = 6)] public bool StreamingMode { get; set; } #endregion Properties @@ -41,9 +34,7 @@ namespace grapher.Models.Serialized public override bool Equals(object obj) { - var other = obj as GUISettings; - - if (other == null) + if (obj is not GUISettings other) { return false; } @@ -73,7 +64,7 @@ namespace grapher.Models.Serialized public void Save() { - File.WriteAllText(Constants.GuiConfigFileName, JsonConvert.SerializeObject(this)); + File.WriteAllText(Constants.GuiConfigFileName, JsonSerializer.Serialize(this)); } public static GUISettings MaybeLoad() @@ -82,7 +73,7 @@ namespace grapher.Models.Serialized try { - settings = JsonConvert.DeserializeObject<GUISettings>( + settings = JsonSerializer.Deserialize<GUISettings>( File.ReadAllText(Constants.GuiConfigFileName)); } catch (Exception ex) diff --git a/grapher/Models/Serialized/SettingsManager.cs b/grapher/Models/Serialized/SettingsManager.cs index 3789c05..6db211f 100644 --- a/grapher/Models/Serialized/SettingsManager.cs +++ b/grapher/Models/Serialized/SettingsManager.cs @@ -1,11 +1,8 @@ -using Newtonsoft.Json; -using System; +using System; using System.IO; using System.Windows.Forms; using System.Threading; -using System.Text; -using System.Drawing; -using grapher.Models.Devices; +using System.Text.Json; using System.Collections.Generic; using System.Linq; diff --git a/grapher/grapher.csproj b/grapher/grapher.csproj index 9a9412b..f96fea7 100644 --- a/grapher/grapher.csproj +++ b/grapher/grapher.csproj @@ -1,217 +1,37 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProjectGuid>{EF67F71F-ABF5-4760-B50D-D1B9836DF01C}</ProjectGuid> +<Project Sdk="Microsoft.NET.Sdk"> + +<PropertyGroup> <OutputType>WinExe</OutputType> - <RootNamespace>grapher</RootNamespace> - <AssemblyName>rawaccel</AssemblyName> - <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> - <FileAlignment>512</FileAlignment> - <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> - <Deterministic>true</Deterministic> - <PublishUrl>publish\</PublishUrl> - <Install>true</Install> - <InstallFrom>Disk</InstallFrom> - <UpdateEnabled>false</UpdateEnabled> - <UpdateMode>Foreground</UpdateMode> - <UpdateInterval>7</UpdateInterval> - <UpdateIntervalUnits>Days</UpdateIntervalUnits> - <UpdatePeriodically>false</UpdatePeriodically> - <UpdateRequired>false</UpdateRequired> - <MapFileExtensions>true</MapFileExtensions> - <ApplicationRevision>0</ApplicationRevision> - <ApplicationVersion>1.0.0.%2a</ApplicationVersion> - <IsWebBootstrapper>false</IsWebBootstrapper> - <UseApplicationTrust>false</UseApplicationTrust> - <BootstrapperEnabled>true</BootstrapperEnabled> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> - <DebugSymbols>true</DebugSymbols> - <OutputPath>$(SolutionDir)$(Platform)\$(Configuration)\</OutputPath> - <DefineConstants>DEBUG;TRACE</DefineConstants> - <DebugType>full</DebugType> - <PlatformTarget>x64</PlatformTarget> - <LangVersion>7.3</LangVersion> - <ErrorReport>prompt</ErrorReport> - <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> - <Prefer32Bit>true</Prefer32Bit> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> + <TargetFramework>net5.0-windows</TargetFramework> + <Platforms>ARM64;x64</Platforms> + <UseWindowsForms>true</UseWindowsForms> + <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> + <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> <OutputPath>$(SolutionDir)$(Platform)\$(Configuration)\</OutputPath> - <DefineConstants>TRACE</DefineConstants> - <Optimize>true</Optimize> - <DebugType>pdbonly</DebugType> - <PlatformTarget>x64</PlatformTarget> - <LangVersion>7.3</LangVersion> - <ErrorReport>prompt</ErrorReport> - <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> - <Prefer32Bit>true</Prefer32Bit> - </PropertyGroup> - <PropertyGroup> + <GenerateAssemblyInfo>false</GenerateAssemblyInfo> <ApplicationIcon>mouse.ico</ApplicationIcon> - </PropertyGroup> - <ItemGroup> - <Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> - <HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> - </Reference> - <Reference Include="System" /> - <Reference Include="System.Core" /> - <Reference Include="System.Windows.Forms.DataVisualization" /> - <Reference Include="System.Xml.Linq" /> - <Reference Include="System.Data.DataSetExtensions" /> - <Reference Include="Microsoft.CSharp" /> - <Reference Include="System.Data" /> - <Reference Include="System.Deployment" /> - <Reference Include="System.Drawing" /> - <Reference Include="System.Net.Http" /> - <Reference Include="System.Windows.Forms" /> - <Reference Include="System.Xml" /> - </ItemGroup> - <ItemGroup> - <Compile Include="AboutBox.cs"> - <SubType>Form</SubType> - </Compile> - <Compile Include="AboutBox.Designer.cs"> - <DependentUpon>AboutBox.cs</DependentUpon> - </Compile> - <Compile Include="Constants\Constants.cs" /> - <Compile Include="DeviceMenuForm.cs"> - <SubType>Form</SubType> - </Compile> - <Compile Include="DeviceMenuForm.Designer.cs"> - <DependentUpon>DeviceMenuForm.cs</DependentUpon> - </Compile> - <Compile Include="Layouts\LUTLayout.cs" /> - <Compile Include="Layouts\MotivityLayout.cs" /> - <Compile Include="Layouts\JumpLayout.cs" /> - <Compile Include="Layouts\UnsupportedLayout.cs" /> - <Compile Include="MessageDialog.cs"> - <SubType>Form</SubType> - </Compile> - <Compile Include="MessageDialog.Designer.cs"> - <DependentUpon>MessageDialog.cs</DependentUpon> - </Compile> - <Compile Include="Models\AccelGUIFactory.cs" /> - <Compile Include="Models\Calculations\AccelCalculator.cs" /> - <Compile Include="Models\Calculations\AccelChartData.cs" /> - <Compile Include="Models\Calculations\Data\AccelDataCombined.cs" /> - <Compile Include="Models\Calculations\Data\AccelDataXYComponential.cs" /> - <Compile Include="Models\Calculations\Data\AccelDataXYDirectional.cs" /> - <Compile Include="Models\Calculations\Data\IAccelData.cs" /> - <Compile Include="Models\Charts\AccelCharts.cs" /> - <Compile Include="Models\AccelGUI.cs" /> - <Compile Include="Models\Charts\ChartState\ChartState.cs" /> - <Compile Include="Models\Charts\ChartState\ChartStateManager.cs" /> - <Compile Include="Models\Charts\ChartState\CombinedState.cs" /> - <Compile Include="Models\Charts\EstimatedPoints.cs" /> - <Compile Include="Models\Charts\ChartState\XYOneGraphState.cs" /> - <Compile Include="Models\Charts\ChartState\XYTwoGraphState.cs" /> - <Compile Include="Models\Devices\DeviceIDItem.cs" /> - <Compile Include="Models\Devices\DeviceIDManager.cs" /> - <Compile Include="Models\Mouse\MouseData.cs" /> - <Compile Include="Models\Mouse\MouseWatcher.cs" /> - <Compile Include="Models\Mouse\PointData.cs" /> - <Compile Include="Models\Options\AccelTypeOptions.cs" /> - <Compile Include="Models\Options\AccelOptionSet.cs" /> - <Compile Include="Models\Options\ActiveValueLabel.cs" /> - <Compile Include="Models\Options\ActiveValueLabelXY.cs" /> - <Compile Include="Models\Options\ApplyOptions.cs" /> - <Compile Include="Models\Charts\ChartXY.cs" /> - <Compile Include="Models\Fields\Field.cs" /> - <Compile Include="Models\Fields\FieldXY.cs" /> - <Compile Include="Form1.cs"> - <SubType>Form</SubType> - </Compile> - <Compile Include="Form1.Designer.cs"> - <DependentUpon>Form1.cs</DependentUpon> - </Compile> - <Compile Include="Layouts\ClassicLayout.cs" /> - <Compile Include="Layouts\DefaultLayout.cs" /> - <Compile Include="Layouts\LayoutBase.cs" /> - <Compile Include="Layouts\LinearLayout.cs" /> - <Compile Include="Layouts\NaturalLayout.cs" /> - <Compile Include="Layouts\OffLayout.cs" /> - <Compile Include="Layouts\PowerLayout.cs" /> - <Compile Include="Models\Options\CheckBoxOption.cs" /> - <Compile Include="Models\Options\Directionality\DirectionalityOptions.cs" /> - <Compile Include="Models\Options\LUT\LutApplyOptions.cs" /> - <Compile Include="Models\Options\IOption.cs" /> - <Compile Include="Models\Options\LUT\LUTPanelOptions.cs" /> - <Compile Include="Models\Options\OffsetOptions.cs" /> - <Compile Include="Models\Options\Option.cs" /> - <Compile Include="Layouts\OptionLayout.cs" /> - <Compile Include="Models\Options\OptionBase.cs" /> - <Compile Include="Models\Options\OptionXY.cs" /> - <Compile Include="Models\Options\TextOption.cs" /> - <Compile Include="Models\Serialized\GUISettings.cs" /> - <Compile Include="Models\Serialized\SettingsManager.cs" /> - <Compile Include="Program.cs" /> - <Compile Include="Properties\AssemblyInfo.cs" /> - <EmbeddedResource Include="AboutBox.resx"> - <DependentUpon>AboutBox.cs</DependentUpon> - <SubType>Designer</SubType> - </EmbeddedResource> - <EmbeddedResource Include="DeviceMenuForm.resx"> - <DependentUpon>DeviceMenuForm.cs</DependentUpon> - </EmbeddedResource> - <EmbeddedResource Include="Form1.resx"> - <DependentUpon>Form1.cs</DependentUpon> - </EmbeddedResource> - <EmbeddedResource Include="Properties\Resources.resx"> - <Generator>ResXFileCodeGenerator</Generator> - <LastGenOutput>Resources.Designer.cs</LastGenOutput> - <SubType>Designer</SubType> - </EmbeddedResource> - <Compile Include="Properties\Resources.Designer.cs"> - <AutoGen>True</AutoGen> - <DependentUpon>Resources.resx</DependentUpon> - </Compile> - <None Include="packages.config" /> - <None Include="Properties\Settings.settings"> - <Generator>SettingsSingleFileGenerator</Generator> - <LastGenOutput>Settings.Designer.cs</LastGenOutput> - </None> - <Compile Include="Properties\Settings.Designer.cs"> - <AutoGen>True</AutoGen> - <DependentUpon>Settings.settings</DependentUpon> - <DesignTimeSharedInput>True</DesignTimeSharedInput> - </Compile> - </ItemGroup> - <ItemGroup> - <None Include="App.config" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\wrapper\wrapper.vcxproj"> - <Project>{28a3656f-a1de-405c-b547-191c32ec555f}</Project> - <Name>wrapper</Name> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <Folder Include="Icon\" /> - <Folder Include="ReadMe\" /> - </ItemGroup> - <ItemGroup> - <BootstrapperPackage Include=".NETFramework,Version=v4.7.2"> - <Visible>False</Visible> - <ProductName>Microsoft .NET Framework 4.7.2 %28x86 and x64%29</ProductName> - <Install>true</Install> - </BootstrapperPackage> - <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> - <Visible>False</Visible> - <ProductName>.NET Framework 3.5 SP1</ProductName> - <Install>false</Install> - </BootstrapperPackage> - </ItemGroup> - <ItemGroup> - <Content Include="mouse.ico" /> - </ItemGroup> - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> - <PropertyGroup> - <PostBuildEvent>IF ($(ConfigurationName)) == (Debug) GOTO END -copy /Y "$(TargetPath)" "$(SolutionDir)signed\$(TargetFileName)" -:END</PostBuildEvent> - </PropertyGroup> + <ProduceReferenceAssembly>false</ProduceReferenceAssembly> + <AssemblyName>rawaccel</AssemblyName> +</PropertyGroup> + +<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <PlatformTarget>ARM64</PlatformTarget> +</PropertyGroup> +<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <PlatformTarget>ARM64</PlatformTarget> +</PropertyGroup> + +<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <PlatformTarget>x64</PlatformTarget> +</PropertyGroup> +<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <PlatformTarget>x64</PlatformTarget> +</PropertyGroup> + +<ItemGroup> + <PackageReference Include="System.Data.SqlClient" Version="4.8.2" /> + <PackageReference Include="System.Windows.Forms.DataVisualization" Version="1.0.0-prerelease.20110.1" /> + <ProjectReference Include="..\wrapper\wrapper.vcxproj" /> +</ItemGroup> + </Project>
\ No newline at end of file diff --git a/grapher/packages.config b/grapher/packages.config deleted file mode 100644 index a9de8b5..0000000 --- a/grapher/packages.config +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<packages> - <package id="Newtonsoft.Json" version="12.0.3" targetFramework="net472" /> -</packages>
\ No newline at end of file diff --git a/installer/installer.vcxproj b/installer/installer.vcxproj index fa18344..392afca 100644 --- a/installer/installer.vcxproj +++ b/installer/installer.vcxproj @@ -1,10 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|ARM64"> + <Configuration>Debug</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> <ProjectConfiguration Include="Debug|x64"> <Configuration>Debug</Configuration> <Platform>x64</Platform> </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM64"> + <Configuration>Release</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> <ProjectConfiguration Include="Release|x64"> <Configuration>Release</Configuration> <Platform>x64</Platform> @@ -24,6 +32,12 @@ <PlatformToolset>v142</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> @@ -31,6 +45,13 @@ <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <ImportGroup Label="ExtensionSettings"> </ImportGroup> @@ -40,17 +61,30 @@ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> <PropertyGroup Label="UserMacros" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <LinkIncremental>true</LinkIncremental> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <LinkIncremental>true</LinkIncremental> + </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <LinkIncremental>false</LinkIncremental> <EmbedManifest>true</EmbedManifest> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <LinkIncremental>false</LinkIncremental> + <EmbedManifest>true</EmbedManifest> + </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> <PrecompiledHeader> @@ -74,6 +108,29 @@ <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> </ResourceCompile> </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <ClCompile> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory)</AdditionalIncludeDirectories> + <LanguageStandard>stdcpplatest</LanguageStandard> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> + </Link> + <Manifest> + <AdditionalManifestFiles>install.manifest</AdditionalManifestFiles> + </Manifest> + <ResourceCompile> + <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> + </ResourceCompile> + </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> <PrecompiledHeader> @@ -98,10 +155,34 @@ <Manifest> <AdditionalManifestFiles>install.manifest</AdditionalManifestFiles> </Manifest> - <PostBuildEvent> - <Command> - </Command> - </PostBuildEvent> + <ResourceCompile> + <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <ClCompile> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level4</WarningLevel> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <LanguageStandard>stdcpplatest</LanguageStandard> + <InlineFunctionExpansion>Default</InlineFunctionExpansion> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <GenerateDebugInformation>true</GenerateDebugInformation> + <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> + </Link> + <Manifest> + <AdditionalManifestFiles>install.manifest</AdditionalManifestFiles> + </Manifest> <ResourceCompile> <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> </ResourceCompile> diff --git a/rawaccel.sln b/rawaccel.sln index 9b3978c..2300191 100644 --- a/rawaccel.sln +++ b/rawaccel.sln @@ -12,21 +12,16 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uninstaller", "uninstaller\uninstaller.vcxproj", "{A4097FF6-A6F0-44E8-B8D0-538D0FB75936}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wrapper", "wrapper\wrapper.vcxproj", "{28A3656F-A1DE-405C-B547-191C32EC555F}" - ProjectSection(ProjectDependencies) = postProject - {0695A19E-8B14-4DE7-AADF-97E5912B197C} = {0695A19E-8B14-4DE7-AADF-97E5912B197C} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "grapher", "grapher\grapher.csproj", "{EF67F71F-ABF5-4760-B50D-D1B9836DF01C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "writer", "writer\writer.csproj", "{28ACF254-E4EF-4A0E-9761-0FE22048D6FD}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "wrapper-deps", "wrapper-deps\wrapper-deps.csproj", "{0695A19E-8B14-4DE7-AADF-97E5912B197C}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "converter", "converter\converter.vcxproj", "{4C421992-9A27-4860-A40C-ADD76FBACE55}" ProjectSection(ProjectDependencies) = postProject {28A3656F-A1DE-405C-B547-191C32EC555F} = {28A3656F-A1DE-405C-B547-191C32EC555F} EndProjectSection EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "writer", "writer\writer.csproj", "{65CC7900-14C9-4A23-93DC-CD72659BDB63}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "grapher", "grapher\grapher.csproj", "{3325A504-5ED8-47B4-BE34-BA14D841C503}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution common\common.vcxitems*{24b4226f-1461-408f-a1a4-1371c97153ea}*SharedItemsImports = 9 @@ -37,42 +32,68 @@ Global common\common.vcxitems*{a4097ff6-a6f0-44e8-b8d0-538d0fb75936}*SharedItemsImports = 4 EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM64 = Debug|ARM64 Debug|x64 = Debug|x64 + Release|ARM64 = Release|ARM64 Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {60D6C942-AC20-4C05-A2BE-54B5C966534D}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {60D6C942-AC20-4C05-A2BE-54B5C966534D}.Debug|ARM64.Build.0 = Debug|ARM64 {60D6C942-AC20-4C05-A2BE-54B5C966534D}.Debug|x64.ActiveCfg = Debug|x64 {60D6C942-AC20-4C05-A2BE-54B5C966534D}.Debug|x64.Build.0 = Debug|x64 + {60D6C942-AC20-4C05-A2BE-54B5C966534D}.Release|ARM64.ActiveCfg = Release|ARM64 + {60D6C942-AC20-4C05-A2BE-54B5C966534D}.Release|ARM64.Build.0 = Release|ARM64 {60D6C942-AC20-4C05-A2BE-54B5C966534D}.Release|x64.ActiveCfg = Release|x64 {60D6C942-AC20-4C05-A2BE-54B5C966534D}.Release|x64.Build.0 = Release|x64 + {896950D1-520A-420A-B6B1-73014B92A68C}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {896950D1-520A-420A-B6B1-73014B92A68C}.Debug|ARM64.Build.0 = Debug|ARM64 {896950D1-520A-420A-B6B1-73014B92A68C}.Debug|x64.ActiveCfg = Debug|x64 {896950D1-520A-420A-B6B1-73014B92A68C}.Debug|x64.Build.0 = Debug|x64 + {896950D1-520A-420A-B6B1-73014B92A68C}.Release|ARM64.ActiveCfg = Release|ARM64 + {896950D1-520A-420A-B6B1-73014B92A68C}.Release|ARM64.Build.0 = Release|ARM64 {896950D1-520A-420A-B6B1-73014B92A68C}.Release|x64.ActiveCfg = Release|x64 {896950D1-520A-420A-B6B1-73014B92A68C}.Release|x64.Build.0 = Release|x64 + {A4097FF6-A6F0-44E8-B8D0-538D0FB75936}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A4097FF6-A6F0-44E8-B8D0-538D0FB75936}.Debug|ARM64.Build.0 = Debug|ARM64 {A4097FF6-A6F0-44E8-B8D0-538D0FB75936}.Debug|x64.ActiveCfg = Debug|x64 {A4097FF6-A6F0-44E8-B8D0-538D0FB75936}.Debug|x64.Build.0 = Debug|x64 + {A4097FF6-A6F0-44E8-B8D0-538D0FB75936}.Release|ARM64.ActiveCfg = Release|ARM64 + {A4097FF6-A6F0-44E8-B8D0-538D0FB75936}.Release|ARM64.Build.0 = Release|ARM64 {A4097FF6-A6F0-44E8-B8D0-538D0FB75936}.Release|x64.ActiveCfg = Release|x64 {A4097FF6-A6F0-44E8-B8D0-538D0FB75936}.Release|x64.Build.0 = Release|x64 + {28A3656F-A1DE-405C-B547-191C32EC555F}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {28A3656F-A1DE-405C-B547-191C32EC555F}.Debug|ARM64.Build.0 = Debug|ARM64 {28A3656F-A1DE-405C-B547-191C32EC555F}.Debug|x64.ActiveCfg = Debug|x64 {28A3656F-A1DE-405C-B547-191C32EC555F}.Debug|x64.Build.0 = Debug|x64 + {28A3656F-A1DE-405C-B547-191C32EC555F}.Release|ARM64.ActiveCfg = Release|ARM64 + {28A3656F-A1DE-405C-B547-191C32EC555F}.Release|ARM64.Build.0 = Release|ARM64 {28A3656F-A1DE-405C-B547-191C32EC555F}.Release|x64.ActiveCfg = Release|x64 {28A3656F-A1DE-405C-B547-191C32EC555F}.Release|x64.Build.0 = Release|x64 - {EF67F71F-ABF5-4760-B50D-D1B9836DF01C}.Debug|x64.ActiveCfg = Debug|x64 - {EF67F71F-ABF5-4760-B50D-D1B9836DF01C}.Debug|x64.Build.0 = Debug|x64 - {EF67F71F-ABF5-4760-B50D-D1B9836DF01C}.Release|x64.ActiveCfg = Release|x64 - {EF67F71F-ABF5-4760-B50D-D1B9836DF01C}.Release|x64.Build.0 = Release|x64 - {28ACF254-E4EF-4A0E-9761-0FE22048D6FD}.Debug|x64.ActiveCfg = Debug|x64 - {28ACF254-E4EF-4A0E-9761-0FE22048D6FD}.Debug|x64.Build.0 = Debug|x64 - {28ACF254-E4EF-4A0E-9761-0FE22048D6FD}.Release|x64.ActiveCfg = Release|x64 - {28ACF254-E4EF-4A0E-9761-0FE22048D6FD}.Release|x64.Build.0 = Release|x64 - {0695A19E-8B14-4DE7-AADF-97E5912B197C}.Debug|x64.ActiveCfg = Debug|x64 - {0695A19E-8B14-4DE7-AADF-97E5912B197C}.Debug|x64.Build.0 = Debug|x64 - {0695A19E-8B14-4DE7-AADF-97E5912B197C}.Release|x64.ActiveCfg = Release|x64 - {0695A19E-8B14-4DE7-AADF-97E5912B197C}.Release|x64.Build.0 = Release|x64 + {4C421992-9A27-4860-A40C-ADD76FBACE55}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {4C421992-9A27-4860-A40C-ADD76FBACE55}.Debug|ARM64.Build.0 = Debug|ARM64 {4C421992-9A27-4860-A40C-ADD76FBACE55}.Debug|x64.ActiveCfg = Debug|x64 {4C421992-9A27-4860-A40C-ADD76FBACE55}.Debug|x64.Build.0 = Debug|x64 + {4C421992-9A27-4860-A40C-ADD76FBACE55}.Release|ARM64.ActiveCfg = Release|ARM64 + {4C421992-9A27-4860-A40C-ADD76FBACE55}.Release|ARM64.Build.0 = Release|ARM64 {4C421992-9A27-4860-A40C-ADD76FBACE55}.Release|x64.ActiveCfg = Release|x64 {4C421992-9A27-4860-A40C-ADD76FBACE55}.Release|x64.Build.0 = Release|x64 + {65CC7900-14C9-4A23-93DC-CD72659BDB63}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {65CC7900-14C9-4A23-93DC-CD72659BDB63}.Debug|ARM64.Build.0 = Debug|ARM64 + {65CC7900-14C9-4A23-93DC-CD72659BDB63}.Debug|x64.ActiveCfg = Debug|x64 + {65CC7900-14C9-4A23-93DC-CD72659BDB63}.Debug|x64.Build.0 = Debug|x64 + {65CC7900-14C9-4A23-93DC-CD72659BDB63}.Release|ARM64.ActiveCfg = Release|ARM64 + {65CC7900-14C9-4A23-93DC-CD72659BDB63}.Release|ARM64.Build.0 = Release|ARM64 + {65CC7900-14C9-4A23-93DC-CD72659BDB63}.Release|x64.ActiveCfg = Release|x64 + {65CC7900-14C9-4A23-93DC-CD72659BDB63}.Release|x64.Build.0 = Release|x64 + {3325A504-5ED8-47B4-BE34-BA14D841C503}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {3325A504-5ED8-47B4-BE34-BA14D841C503}.Debug|ARM64.Build.0 = Debug|ARM64 + {3325A504-5ED8-47B4-BE34-BA14D841C503}.Debug|x64.ActiveCfg = Debug|x64 + {3325A504-5ED8-47B4-BE34-BA14D841C503}.Debug|x64.Build.0 = Debug|x64 + {3325A504-5ED8-47B4-BE34-BA14D841C503}.Release|ARM64.ActiveCfg = Release|ARM64 + {3325A504-5ED8-47B4-BE34-BA14D841C503}.Release|ARM64.Build.0 = Release|ARM64 + {3325A504-5ED8-47B4-BE34-BA14D841C503}.Release|x64.ActiveCfg = Release|x64 + {3325A504-5ED8-47B4-BE34-BA14D841C503}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/uninstaller/uninstaller.vcxproj b/uninstaller/uninstaller.vcxproj index 52e5583..47fdd30 100644 --- a/uninstaller/uninstaller.vcxproj +++ b/uninstaller/uninstaller.vcxproj @@ -1,10 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|ARM64"> + <Configuration>Debug</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> <ProjectConfiguration Include="Debug|x64"> <Configuration>Debug</Configuration> <Platform>x64</Platform> </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM64"> + <Configuration>Release</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> <ProjectConfiguration Include="Release|x64"> <Configuration>Release</Configuration> <Platform>x64</Platform> @@ -24,6 +32,12 @@ <PlatformToolset>v142</PlatformToolset> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> @@ -31,6 +45,13 @@ <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <ImportGroup Label="ExtensionSettings"> </ImportGroup> @@ -40,16 +61,28 @@ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> <PropertyGroup Label="UserMacros" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <LinkIncremental>true</LinkIncremental> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <LinkIncremental>true</LinkIncremental> + </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <LinkIncremental>false</LinkIncremental> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <LinkIncremental>false</LinkIncremental> + </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> <WarningLevel>Level4</WarningLevel> @@ -67,6 +100,23 @@ <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> </ResourceCompile> </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <ClCompile> + <WarningLevel>Level4</WarningLevel> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + <LanguageStandard>stdcpplatest</LanguageStandard> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> + </Link> + <ResourceCompile> + <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> + </ResourceCompile> + </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> <WarningLevel>Level3</WarningLevel> @@ -84,10 +134,27 @@ <GenerateDebugInformation>true</GenerateDebugInformation> <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> </Link> - <PostBuildEvent> - <Command> - </Command> - </PostBuildEvent> + <ResourceCompile> + <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + <LanguageStandard>stdcpplatest</LanguageStandard> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <GenerateDebugInformation>true</GenerateDebugInformation> + <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> + </Link> <ResourceCompile> <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> </ResourceCompile> diff --git a/wrapper-deps/Class1.cs b/wrapper-deps/Class1.cs deleted file mode 100644 index 397bd8f..0000000 --- a/wrapper-deps/Class1.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace wrapper_deps -{ - public class Class1 - { - } -} diff --git a/wrapper-deps/Properties/AssemblyInfo.cs b/wrapper-deps/Properties/AssemblyInfo.cs deleted file mode 100644 index 4e2bc26..0000000 --- a/wrapper-deps/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("wrapper-deps")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("wrapper-deps")] -[assembly: AssemblyCopyright("Copyright © 2020")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("0695a19e-8b14-4de7-aadf-97e5912b197c")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/wrapper-deps/packages.config b/wrapper-deps/packages.config deleted file mode 100644 index a9de8b5..0000000 --- a/wrapper-deps/packages.config +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<packages> - <package id="Newtonsoft.Json" version="12.0.3" targetFramework="net472" /> -</packages>
\ No newline at end of file diff --git a/wrapper-deps/wrapper-deps.csproj b/wrapper-deps/wrapper-deps.csproj deleted file mode 100644 index 35391b5..0000000 --- a/wrapper-deps/wrapper-deps.csproj +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProjectGuid>{0695A19E-8B14-4DE7-AADF-97E5912B197C}</ProjectGuid> - <OutputType>Library</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <RootNamespace>wrapper_deps</RootNamespace> - <AssemblyName>wrapper-deps</AssemblyName> - <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> - <FileAlignment>512</FileAlignment> - <Deterministic>true</Deterministic> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> - <DebugSymbols>true</DebugSymbols> - <OutputPath>bin\x64\Debug\</OutputPath> - <DefineConstants>DEBUG;TRACE</DefineConstants> - <DebugType>full</DebugType> - <PlatformTarget>x64</PlatformTarget> - <LangVersion>7.3</LangVersion> - <ErrorReport>prompt</ErrorReport> - <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> - <OutputPath>bin\x64\Release\</OutputPath> - <DefineConstants>TRACE</DefineConstants> - <Optimize>true</Optimize> - <DebugType>pdbonly</DebugType> - <PlatformTarget>x64</PlatformTarget> - <LangVersion>7.3</LangVersion> - <ErrorReport>prompt</ErrorReport> - <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> - </PropertyGroup> - <ItemGroup> - <Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> - <HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> - </Reference> - <Reference Include="System" /> - <Reference Include="System.Core" /> - <Reference Include="System.Xml.Linq" /> - <Reference Include="System.Data.DataSetExtensions" /> - <Reference Include="Microsoft.CSharp" /> - <Reference Include="System.Data" /> - <Reference Include="System.Net.Http" /> - <Reference Include="System.Xml" /> - </ItemGroup> - <ItemGroup> - <Compile Include="Class1.cs" /> - <Compile Include="Properties\AssemblyInfo.cs" /> - </ItemGroup> - <ItemGroup> - <None Include="packages.config" /> - </ItemGroup> - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> -</Project>
\ No newline at end of file diff --git a/wrapper/wrapper.cpp b/wrapper/wrapper.cpp index c0b3b22..9a7b5f7 100644 --- a/wrapper/wrapper.cpp +++ b/wrapper/wrapper.cpp @@ -10,9 +10,8 @@ using namespace System::Collections::Generic; using namespace System::Runtime::InteropServices; using namespace System::Reflection; using namespace System::Runtime::Serialization; -using namespace Newtonsoft::Json; -using namespace Newtonsoft::Json::Linq; - +using namespace System::Text::Json; +using namespace System::Text::Json::Serialization; namespace ra = rawaccel; ra::modifier_settings default_modifier_settings; @@ -34,13 +33,13 @@ public ref struct VersionHelper } }; -[JsonConverter(Converters::StringEnumConverter::typeid)] +[JsonConverter(JsonStringEnumConverter::typeid)] public enum class AccelMode { classic, jump, natural, motivity, power, lut, noaccel }; -[JsonConverter(Converters::StringEnumConverter::typeid)] +[JsonConverter(JsonStringEnumConverter::typeid)] public enum class ClassicCapMode { in_out, input, output }; @@ -49,7 +48,10 @@ generic <typename T> [StructLayout(LayoutKind::Sequential)] public value struct Vec2 { + [JsonInclude] T x; + + [JsonInclude] T y; }; @@ -58,87 +60,201 @@ public value struct AccelArgs { literal int MaxLutPoints = ra::LUT_POINTS_CAPACITY; + [JsonInclude] AccelMode mode; - [JsonProperty("Gain / Velocity")] + [JsonPropertyName("Gain / Velocity")] [MarshalAs(UnmanagedType::U1)] + [JsonInclude] bool gain; + [JsonInclude] double offset; + + [JsonInclude] double acceleration; + + [JsonInclude] double decayRate; + + [JsonInclude] double growthRate; + + [JsonInclude] double motivity; + + [JsonInclude] double exponentClassic; + + [JsonInclude] double scale; + + [JsonInclude] double weight; + + [JsonInclude] double exponentPower; + + [JsonInclude] double limit; + + [JsonInclude] double midpoint; + + [JsonInclude] double smooth; - [JsonProperty("Cap / Jump")] + [JsonInclude] + [JsonPropertyName("Cap / Jump")] Vec2<double> cap; - [JsonProperty("Cap mode")] + [JsonInclude] + [JsonPropertyName("Cap mode")] ClassicCapMode capMode; [JsonIgnore] int length; + [JsonInclude] [MarshalAs(UnmanagedType::ByValArray, SizeConst = ra::LUT_RAW_DATA_CAPACITY)] array<float>^ data; +}; + +public ref struct AccelArgsConverter : JsonConverter<AccelArgs> +{ + virtual void Write(Utf8JsonWriter^ writer, AccelArgs args, JsonSerializerOptions^ options) override + { + if (args.mode == AccelMode::lut) { + // data->Length must be fixed for interop, + // temporary resize avoids serializing a bunch of zeros + Array::Resize(args.data, args.length); + JsonSerializer::Serialize(writer, args, options); + Array::Resize(args.data, ra::LUT_RAW_DATA_CAPACITY); + } + else { + // data may be used internally in any mode, + // so hide it when it's not needed for deserialization + auto tmp = args.data; + args.data = Array::Empty<float>(); + JsonSerializer::Serialize(writer, args, options); + args.data = tmp; + } + } + + virtual AccelArgs Read(Utf8JsonReader% reader, Type^ type, JsonSerializerOptions^ options) override + { + AccelArgs args = JsonSerializer::Deserialize<AccelArgs>(reader, options); + + if (args.data == nullptr) args.data = Array::Empty<float>(); + + args.length = args.data->Length; + array<float>::Resize(args.data, ra::LUT_RAW_DATA_CAPACITY); + + return args; + } +}; + +public ref struct NullToEmptyStringConverter : JsonConverter<String^> +{ + virtual String^ Read(Utf8JsonReader% reader, Type^ type, JsonSerializerOptions^ options) override + { + String^ s = JsonSerializer::Deserialize<String^>(reader, options); + return s ? s : String::Empty; + } + + virtual void Write(Utf8JsonWriter^ writer, String^ s, JsonSerializerOptions^ options) override + { + JsonSerializer::Serialize(writer, s, options); + } - [OnDeserialized] - void OnDeserializedMethod(StreamingContext context) + property bool HandleNull { - // data->Length must match SizeConst when marshalling - length = data->Length; - array<float>::Resize(data, ra::LUT_RAW_DATA_CAPACITY); + virtual bool get() override { return true; } } }; -[JsonObject(ItemRequired = Required::Always)] +template <typename T> +public ref struct NullToDefaultRefClassConverter : JsonConverter<T^> +{ + virtual T^ Read(Utf8JsonReader% reader, Type^ type, JsonSerializerOptions^ options) override + { + T^ val = JsonSerializer::Deserialize<T^>(reader, options); + return val ? val : gcnew T(); + } + + virtual void Write(Utf8JsonWriter^ writer, T^ val, JsonSerializerOptions^ options) override + { + JsonSerializer::Serialize(writer, val, options); + } + + property bool HandleNull + { + virtual bool get() override { return true; } + } +}; + +template <typename T> +using NullToEmptyListConverter = NullToDefaultRefClassConverter<List<T>>; + [StructLayout(LayoutKind::Sequential, CharSet = CharSet::Unicode)] public ref struct Profile { + [JsonInclude] + [JsonConverter(NullToEmptyStringConverter::typeid)] [MarshalAs(UnmanagedType::ByValTStr, SizeConst = ra::MAX_NAME_LEN)] System::String^ name; - [JsonProperty("Whole/combined accel (set false for 'by component' mode)")] + [JsonInclude] + [JsonPropertyName("Whole/combined accel (set false for By-component mode)")] [MarshalAs(UnmanagedType::U1)] bool combineMagnitudes; + [JsonInclude] double lpNorm; - [JsonProperty("Stretches domain for horizontal vs vertical inputs")] + [JsonInclude] + [JsonPropertyName("Stretches domain for horizontal vs vertical inputs")] Vec2<double> domainXY; - [JsonProperty("Stretches accel range for horizontal vs vertical inputs")] + + [JsonInclude] + [JsonPropertyName("Stretches accel range for horizontal vs vertical inputs")] Vec2<double> rangeXY; - [JsonProperty("Sensitivity multiplier")] + [JsonInclude] + [JsonPropertyName("Sensitivity multiplier")] double sensitivity; - [JsonProperty("Y/X sensitivity ratio (vertical sens multiplier)")] + [JsonInclude] + [JsonPropertyName("Y/X sensitivity ratio (vertical sens multiplier)")] double yxSensRatio; - [JsonProperty("Whole or horizontal accel parameters")] + [JsonConverter(AccelArgsConverter::typeid)] + [JsonInclude] + [JsonPropertyName("Whole or horizontal accel parameters")] AccelArgs argsX; - [JsonProperty("Vertical accel parameters")] + + [JsonConverter(AccelArgsConverter::typeid)] + [JsonInclude] + [JsonPropertyName("Vertical accel parameters")] AccelArgs argsY; [JsonIgnore] double minimumSpeed; - [JsonProperty("Input Speed Cap")] + + [JsonInclude] + [JsonPropertyName("Input Speed Cap")] double maximumSpeed; - [JsonProperty("Negative directional multipliers")] + [JsonInclude] + [JsonPropertyName("Negative directional multipliers")] Vec2<double> directionalMultipliers; - [JsonProperty("Degrees of rotation")] + [JsonInclude] + [JsonPropertyName("Degrees of rotation")] double rotation; - [JsonProperty("Degrees of angle snapping")] + [JsonInclude] + [JsonPropertyName("Degrees of angle snapping")] double snap; Profile(ra::profile& args) @@ -150,45 +266,36 @@ public ref struct Profile Profile(default_modifier_settings.prof) {} }; -[JsonObject(ItemRequired = Required::Always)] [StructLayout(LayoutKind::Sequential)] public value struct DeviceConfig { + literal String^ dpiProperty = + "DPI (normalizes sens to 1000dpi and converts input speed unit (counts/ms to in/s)"; + literal String^ pollingRateProperty = + "Polling rate Hz (keep at 0 for automatic adjustment)"; + + [JsonInclude] [MarshalAs(UnmanagedType::U1)] bool disable; + [MarshalAs(UnmanagedType::U1)] - [JsonProperty(Required = Required::Default)] + [JsonInclude] bool setExtraInfo; - [JsonProperty("DPI (normalizes sens to 1000dpi and converts input speed unit: counts/ms -> in/s)")] + [JsonInclude] + [JsonPropertyName(dpiProperty)] int dpi; - [JsonProperty("Polling rate Hz (keep at 0 for automatic adjustment)")] + [JsonInclude] + [JsonPropertyName(pollingRateProperty)] int pollingRate; - - [ComponentModel::DefaultValue(ra::DEFAULT_TIME_MIN)] - [JsonProperty(Required = Required::Default)] + + [JsonInclude] double minimumTime; - [ComponentModel::DefaultValue(ra::DEFAULT_TIME_MAX)] - [JsonProperty(Required = Required::Default)] + [JsonInclude] double maximumTime; - bool ShouldSerializesetExtraInfo() - { - return setExtraInfo == true; - } - - bool ShouldSerializeminimumTime() - { - return minimumTime != ra::DEFAULT_TIME_MIN; - } - - bool ShouldSerializemaximumTime() - { - return maximumTime != ra::DEFAULT_TIME_MAX; - } - void Init(const ra::device_config& cfg) { disable = cfg.disable; @@ -200,19 +307,64 @@ public value struct DeviceConfig { } }; -[JsonObject(ItemRequired = Required::Always)] +public ref struct DeviceConfigConverter : JsonConverter<DeviceConfig> +{ + virtual DeviceConfig Read(Utf8JsonReader% reader, Type^ type, JsonSerializerOptions^ options) override + { + DeviceConfig cfg = JsonSerializer::Deserialize<DeviceConfig>(reader, options); + + if (cfg.maximumTime == 0) cfg.maximumTime = ra::DEFAULT_TIME_MAX; + if (cfg.minimumTime == 0) cfg.minimumTime = ra::DEFAULT_TIME_MIN; + + return cfg; + } + + virtual void Write(Utf8JsonWriter^ writer, DeviceConfig cfg, JsonSerializerOptions^ options) override + { + writer->WriteStartObject(); + + writer->WriteBoolean("disable", cfg.disable); + + if (cfg.setExtraInfo) { + writer->WriteBoolean("setExtraInfo", cfg.setExtraInfo); + } + + writer->WriteNumber(DeviceConfig::dpiProperty, cfg.dpi); + writer->WriteNumber(DeviceConfig::pollingRateProperty, cfg.pollingRate); + + if (cfg.minimumTime != ra::DEFAULT_TIME_MIN) { + writer->WriteNumber("minimumTime", cfg.minimumTime); + } + + if (cfg.maximumTime != ra::DEFAULT_TIME_MAX) { + writer->WriteNumber("maximumTime", cfg.maximumTime); + } + + writer->WriteEndObject(); + } +}; + + [StructLayout(LayoutKind::Sequential, CharSet = CharSet::Unicode)] public ref struct DeviceSettings { + [JsonInclude] + [JsonConverter(NullToEmptyStringConverter::typeid)] [MarshalAs(UnmanagedType::ByValTStr, SizeConst = ra::MAX_NAME_LEN)] String^ name; + [JsonInclude] + [JsonConverter(NullToEmptyStringConverter::typeid)] [MarshalAs(UnmanagedType::ByValTStr, SizeConst = ra::MAX_NAME_LEN)] String^ profile; + [JsonInclude] + [JsonConverter(NullToEmptyStringConverter::typeid)] [MarshalAs(UnmanagedType::ByValTStr, SizeConst = ra::MAX_DEV_ID_LEN)] String^ id; + [JsonInclude] + [JsonConverter(DeviceConfigConverter::typeid)] DeviceConfig config; DeviceSettings(ra::device_settings& args) @@ -470,21 +622,28 @@ public: }; -[JsonObject(ItemRequired = Required::Always)] public ref class DriverConfig { public: literal double WriteDelayMs = ra::WRITE_DELAY; - literal String^ Key = "Driver settings"; + initonly static JsonSerializerOptions^ DefaultOptions = DefaultSerializerOptions(); + [JsonInclude] + [JsonConverter(NullToEmptyStringConverter::typeid)] String^ version = RA_VER_STRING; + [JsonInclude] + [JsonConverter(DeviceConfigConverter::typeid)] DeviceConfig defaultDeviceConfig; + [JsonInclude] + [JsonConverter(NullToEmptyListConverter<Profile^>::typeid)] List<Profile^>^ profiles; - [NonSerialized] + [JsonIgnore] List<ManagedAccel^>^ accels; + [JsonInclude] + [JsonConverter(NullToEmptyListConverter<DeviceSettings^>::typeid)] List<DeviceSettings^>^ devices; void Activate() @@ -579,69 +738,22 @@ public: } } - JObject^ ToJObject() - { - auto dataQueue = gcnew Queue<array<float>^>(); - auto empty = Array::Empty<float>(); - - for each (auto prof in profiles) { - if (prof->argsX.mode == AccelMode::lut) { - // data->Length is fixed for interop, - // temporary resize avoids serializing a bunch of zeros - Array::Resize(prof->argsX.data, prof->argsX.length); - } - else { - // table data may be used internally in any mode, - // so hide it when it's not needed for deserialization - dataQueue->Enqueue(prof->argsX.data); - prof->argsX.data = empty; - } - - if (prof->argsY.mode == AccelMode::lut) { - Array::Resize(prof->argsY.data, prof->argsY.length); - } - else { - dataQueue->Enqueue(prof->argsY.data); - prof->argsY.data = empty; - } - } - - JObject^ jObject = JObject::FromObject(this); - String^ capModes = String::Join(" | ", Enum::GetNames(ClassicCapMode::typeid)); - String^ accelModes = String::Join(" | ", Enum::GetNames(AccelMode::typeid)); - jObject->AddFirst(gcnew JProperty("### Cap modes (applies to classic only) ###", capModes)); - jObject->AddFirst(gcnew JProperty("### Accel modes ###", accelModes)); - - for each (auto prof in profiles) { - if (prof->argsX.mode == AccelMode::lut) { - Array::Resize(prof->argsX.data, ra::LUT_RAW_DATA_CAPACITY); - } - else { - prof->argsX.data = dataQueue->Dequeue(); - } - - if (prof->argsY.mode == AccelMode::lut) { - Array::Resize(prof->argsY.data, ra::LUT_RAW_DATA_CAPACITY); - } - else { - prof->argsY.data = dataQueue->Dequeue(); - } - } - - return jObject; - } - String^ ToJSON() { - return ToJObject()->ToString(); + using namespace System::Text; + StringBuilder^ sb = gcnew StringBuilder(); + sb->AppendFormat( + "/*\n* Accel modes: {0}\n* Cap modes (classic only): {1}\n*/\n", + String::Join(" | ", Enum::GetNames(AccelMode::typeid)), + String::Join(" | ", Enum::GetNames(ClassicCapMode::typeid))); + sb->Append(JsonSerializer::Serialize(this, DefaultOptions)); + return sb->ToString(); } // returns (config, null) or (null, error message) static Tuple<DriverConfig^, String^>^ Convert(String^ json) { - auto jss = gcnew JsonSerializerSettings(); - jss->DefaultValueHandling = DefaultValueHandling::Populate; - auto cfg = JsonConvert::DeserializeObject<DriverConfig^>(json, jss); + auto cfg = JsonSerializer::Deserialize<DriverConfig^>(json, DefaultOptions); if (cfg == nullptr) throw gcnew JsonException("invalid JSON"); auto message = cfg->Errors(); @@ -673,9 +785,6 @@ public: } auto cfg = gcnew DriverConfig(); - cfg->profiles = gcnew List<Profile^>(); - cfg->accels = gcnew List<ManagedAccel^>(); - cfg->devices = gcnew List<DeviceSettings^>(); auto* byte_ptr = bytes.get(); ra::io_base* base_data = reinterpret_cast<ra::io_base*>(byte_ptr); @@ -704,9 +813,6 @@ public: static DriverConfig^ FromProfile(Profile^ prof) { auto cfg = gcnew DriverConfig(); - cfg->profiles = gcnew List<Profile^>(); - cfg->accels = gcnew List<ManagedAccel^>(); - cfg->devices = gcnew List<DeviceSettings^>(); cfg->profiles->Add(prof); cfg->accels->Add(gcnew ManagedAccel(prof)); @@ -729,7 +835,21 @@ public: } } -private: - DriverConfig() {} -}; + DriverConfig() + { + profiles = gcnew List<Profile^>(); + accels = gcnew List<ManagedAccel^>(); + devices = gcnew List<DeviceSettings^>(); + defaultDeviceConfig.Init(default_device_settings.config); + } +private: + static JsonSerializerOptions^ DefaultSerializerOptions() + { + JsonSerializerOptions^ options = gcnew JsonSerializerOptions(); + options->WriteIndented = true; + options->ReadCommentHandling = JsonCommentHandling::Skip; + options->AllowTrailingCommas = true; + return options; + } +}; diff --git a/wrapper/wrapper.vcxproj b/wrapper/wrapper.vcxproj index 256b978..2f59336 100644 --- a/wrapper/wrapper.vcxproj +++ b/wrapper/wrapper.vcxproj @@ -1,10 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|ARM64"> + <Configuration>Debug</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> <ProjectConfiguration Include="Debug|x64"> <Configuration>Debug</Configuration> <Platform>x64</Platform> </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM64"> + <Configuration>Release</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> <ProjectConfiguration Include="Release|x64"> <Configuration>Release</Configuration> <Platform>x64</Platform> @@ -13,24 +21,38 @@ <PropertyGroup Label="Globals"> <VCProjectVersion>16.0</VCProjectVersion> <ProjectGuid>{28A3656F-A1DE-405C-B547-191C32EC555F}</ProjectGuid> - <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> <Keyword>ManagedCProj</Keyword> <RootNamespace>wrapper</RootNamespace> <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> + <TargetFramework>net5.0</TargetFramework> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> <ConfigurationType>DynamicLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> <PlatformToolset>v142</PlatformToolset> - <CLRSupport>true</CLRSupport> + <CLRSupport>NetCore</CLRSupport> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <CLRSupport>NetCore</CLRSupport> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <ConfigurationType>DynamicLibrary</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <PlatformToolset>v142</PlatformToolset> - <CLRSupport>true</CLRSupport> + <CLRSupport>NetCore</CLRSupport> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <CLRSupport>NetCore</CLRSupport> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> @@ -42,22 +64,51 @@ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> <PropertyGroup Label="UserMacros" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <LinkIncremental>false</LinkIncremental> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <LinkIncremental>false</LinkIncremental> + </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <LinkIncremental>false</LinkIncremental> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <LinkIncremental>false</LinkIncremental> + </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> <WarningLevel>Level3</WarningLevel> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <LanguageStandard>stdcpp17</LanguageStandard> <FloatingPointModel>Fast</FloatingPointModel> + <DisableSpecificWarnings>4950;</DisableSpecificWarnings> + </ClCompile> + <Link> + <AdditionalDependencies> + </AdditionalDependencies> + </Link> + <ResourceCompile> + <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <LanguageStandard>stdcpp17</LanguageStandard> + <FloatingPointModel>Fast</FloatingPointModel> + <DisableSpecificWarnings>4950;</DisableSpecificWarnings> </ClCompile> <Link> <AdditionalDependencies> @@ -73,15 +124,28 @@ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <LanguageStandard>stdcpp17</LanguageStandard> <FloatingPointModel>Fast</FloatingPointModel> + <DisableSpecificWarnings>4950;</DisableSpecificWarnings> + </ClCompile> + <Link> + <AdditionalDependencies> + </AdditionalDependencies> + </Link> + <ResourceCompile> + <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <LanguageStandard>stdcpp17</LanguageStandard> + <FloatingPointModel>Fast</FloatingPointModel> + <DisableSpecificWarnings>4950;</DisableSpecificWarnings> </ClCompile> <Link> <AdditionalDependencies> </AdditionalDependencies> </Link> - <PostBuildEvent> - <Command>copy /Y "$(TargetPath)" "$(SolutionDir)signed\$(TargetFileName)" & -copy /Y "$(TargetDir)Newtonsoft.Json.dll" "$(SolutionDir)signed\Newtonsoft.Json.dll"</Command> - </PostBuildEvent> <ResourceCompile> <AdditionalIncludeDirectories>$(SolutionDir)/common;</AdditionalIncludeDirectories> </ResourceCompile> @@ -97,12 +161,6 @@ copy /Y "$(TargetDir)Newtonsoft.Json.dll" "$(SolutionDir)signed\Newtonsoft.Json. <ClCompile Include="wrapper.cpp" /> </ItemGroup> <ItemGroup> - <Reference Include="Newtonsoft.Json"> - <HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> - </Reference> - <Reference Include="System" /> - </ItemGroup> - <ItemGroup> <ResourceCompile Include="wrapper.rc" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> diff --git a/writer/App.config b/writer/App.config deleted file mode 100644 index 56efbc7..0000000 --- a/writer/App.config +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" ?> -<configuration> - <startup> - <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> - </startup> -</configuration>
\ No newline at end of file diff --git a/writer/Program.cs b/writer/Program.cs index 83daed1..1a27a11 100644 --- a/writer/Program.cs +++ b/writer/Program.cs @@ -1,9 +1,6 @@ -using Newtonsoft.Json; - -using System; -using System.Collections.Generic; +using System; using System.IO; -using System.Linq; +using System.Text.Json; using System.Windows.Forms; namespace writer @@ -12,7 +9,7 @@ namespace writer class Program { static readonly string DefaultPath = "settings.json"; - static readonly string Usage = + static readonly string Usage = $"Usage: {AppDomain.CurrentDomain.FriendlyName} <settings file path>\n"; static void Exit(string msg) diff --git a/writer/Properties/AssemblyInfo.cs b/writer/Properties/AssemblyInfo.cs index 7f47c6d..3fd84d1 100644 --- a/writer/Properties/AssemblyInfo.cs +++ b/writer/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; diff --git a/writer/packages.config b/writer/packages.config deleted file mode 100644 index a9de8b5..0000000 --- a/writer/packages.config +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<packages> - <package id="Newtonsoft.Json" version="12.0.3" targetFramework="net472" /> -</packages>
\ No newline at end of file diff --git a/writer/writer.csproj b/writer/writer.csproj index 1c4cca5..49768fd 100644 --- a/writer/writer.csproj +++ b/writer/writer.csproj @@ -1,75 +1,31 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> +<Project Sdk="Microsoft.NET.Sdk"> + <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProjectGuid>{28ACF254-E4EF-4A0E-9761-0FE22048D6FD}</ProjectGuid> <OutputType>WinExe</OutputType> - <RootNamespace>writer</RootNamespace> - <AssemblyName>writer</AssemblyName> - <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> - <FileAlignment>512</FileAlignment> - <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> - <Deterministic>true</Deterministic> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> - <DebugSymbols>true</DebugSymbols> - <OutputPath>$(SolutionDir)$(Platform)\$(Configuration)\</OutputPath> - <DefineConstants>DEBUG;TRACE</DefineConstants> - <DebugType>full</DebugType> - <PlatformTarget>x64</PlatformTarget> - <LangVersion>7.3</LangVersion> - <ErrorReport>prompt</ErrorReport> - <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> - <Prefer32Bit>true</Prefer32Bit> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> + <TargetFramework>net5.0-windows</TargetFramework> + <UseWindowsForms>true</UseWindowsForms> + <Platforms>ARM64;x64</Platforms> + <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> + <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> <OutputPath>$(SolutionDir)$(Platform)\$(Configuration)\</OutputPath> - <DefineConstants>TRACE</DefineConstants> - <Optimize>true</Optimize> - <DebugType>pdbonly</DebugType> - <PlatformTarget>x64</PlatformTarget> - <LangVersion>7.3</LangVersion> - <ErrorReport>prompt</ErrorReport> - <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> - <Prefer32Bit>true</Prefer32Bit> + <GenerateAssemblyInfo>false</GenerateAssemblyInfo> + <ProduceReferenceAssembly>false</ProduceReferenceAssembly> </PropertyGroup> - <PropertyGroup> - <StartupObject /> - </PropertyGroup> - <ItemGroup> - <Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> - <HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> - </Reference> - <Reference Include="System" /> - <Reference Include="System.Core" /> - <Reference Include="System.Windows.Forms" /> - <Reference Include="System.Xml.Linq" /> - <Reference Include="System.Data.DataSetExtensions" /> - <Reference Include="Microsoft.CSharp" /> - <Reference Include="System.Data" /> - <Reference Include="System.Net.Http" /> - <Reference Include="System.Xml" /> - </ItemGroup> + +<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <PlatformTarget>ARM64</PlatformTarget> +</PropertyGroup> +<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <PlatformTarget>ARM64</PlatformTarget> +</PropertyGroup> + +<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <PlatformTarget>x64</PlatformTarget> +</PropertyGroup> +<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <PlatformTarget>x64</PlatformTarget> +</PropertyGroup> <ItemGroup> - <Compile Include="Program.cs" /> - <Compile Include="Properties\AssemblyInfo.cs" /> + <ProjectReference Include="..\wrapper\wrapper.vcxproj" /> </ItemGroup> - <ItemGroup> - <None Include="App.config" /> - <None Include="packages.config" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\wrapper\wrapper.vcxproj"> - <Project>{28a3656f-a1de-405c-b547-191c32ec555f}</Project> - <Name>wrapper</Name> - </ProjectReference> - </ItemGroup> - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> - <PropertyGroup> - <PostBuildEvent>IF ($(ConfigurationName)) == (Debug) GOTO END -copy /Y "$(TargetPath)" "$(SolutionDir)signed\$(TargetFileName)" -:END</PostBuildEvent> - </PropertyGroup> </Project>
\ No newline at end of file |