Compile ArcFormats

This commit is contained in:
Crsky
2026-02-28 09:55:46 +08:00
parent 2a82e2e4e3
commit 9463157541
6 changed files with 171 additions and 45 deletions

View File

@@ -51,16 +51,79 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="Crc32C.NET, Version=1.0.5.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Crc32C.NET.1.0.5.0\lib\net20\Crc32C.NET.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.4.2.13, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.4.2\lib\netstandard2.0\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Win32.Registry, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Win32.Registry.4.7.0\lib\net461\Microsoft.Win32.Registry.dll</HintPath>
</Reference>
<Reference Include="NAudio, Version=2.2.1.0, Culture=neutral, PublicKeyToken=e279aa5131008a41, processorArchitecture=MSIL">
<HintPath>..\packages\NAudio.2.2.1\lib\net472\NAudio.dll</HintPath>
</Reference>
<Reference Include="NAudio.Asio, Version=2.2.1.0, Culture=neutral, PublicKeyToken=e279aa5131008a41, processorArchitecture=MSIL">
<HintPath>..\packages\NAudio.Asio.2.2.1\lib\netstandard2.0\NAudio.Asio.dll</HintPath>
</Reference>
<Reference Include="NAudio.Core, Version=2.2.1.0, Culture=neutral, PublicKeyToken=e279aa5131008a41, processorArchitecture=MSIL">
<HintPath>..\packages\NAudio.Core.2.2.1\lib\netstandard2.0\NAudio.Core.dll</HintPath>
</Reference>
<Reference Include="NAudio.Midi, Version=2.2.1.0, Culture=neutral, PublicKeyToken=e279aa5131008a41, processorArchitecture=MSIL">
<HintPath>..\packages\NAudio.Midi.2.2.1\lib\netstandard2.0\NAudio.Midi.dll</HintPath>
</Reference>
<Reference Include="NAudio.Wasapi, Version=2.2.1.0, Culture=neutral, PublicKeyToken=e279aa5131008a41, processorArchitecture=MSIL">
<HintPath>..\packages\NAudio.Wasapi.2.2.1\lib\netstandard2.0\NAudio.Wasapi.dll</HintPath>
</Reference>
<Reference Include="NAudio.WinForms, Version=2.2.1.0, Culture=neutral, PublicKeyToken=e279aa5131008a41, processorArchitecture=MSIL">
<HintPath>..\packages\NAudio.WinForms.2.2.1\lib\net472\NAudio.WinForms.dll</HintPath>
</Reference>
<Reference Include="NAudio.WinMM, Version=2.2.1.0, Culture=neutral, PublicKeyToken=e279aa5131008a41, processorArchitecture=MSIL">
<HintPath>..\packages\NAudio.WinMM.2.2.1\lib\netstandard2.0\NAudio.WinMM.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.4\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NVorbis, Version=0.10.5.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\NVorbis.0.10.5\lib\net45\NVorbis.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="Snappy.NET, Version=1.1.1.8, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Snappy.NET.1.1.1.8\lib\net45\Snappy.NET.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.6.1\lib\net462\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.Memory, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.6.3\lib\net462\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.6.1\lib\net462\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security.AccessControl, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.AccessControl.4.7.0\lib\net461\System.Security.AccessControl.dll</HintPath>
</Reference>
<Reference Include="System.Security.Principal.Windows, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Principal.Windows.4.7.0\lib\net461\System.Security.Principal.Windows.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.2\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Xaml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
@@ -68,6 +131,9 @@
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
<Reference Include="ZstdNet, Version=1.5.7.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ZstdNet.1.5.7\lib\netstandard2.0\ZstdNet.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Abel\ArcARC.cs" />
@@ -893,6 +959,7 @@
<EmbeddedResource Include="ScrPlayer\ImgControlTable2" />
<EmbeddedResource Include="ScrPlayer\ImgDeltaTable2" />
<EmbeddedResource Include="ScrPlayer\ImgControlTable32" />
<None Include="packages.config" />
<None Include="WebP\Alpha.cs" />
<None Include="WebP\Decoder.cs">
<SubType>Code</SubType>
@@ -1329,4 +1396,11 @@ exit 0</PreBuildEvent>
<PostBuildEvent>if not exist "$(TargetDir)\GameData" mkdir "$(TargetDir)\GameData"
xcopy "$(ProjectDir)\Resources\*" "$(TargetDir)\GameData\" /D /Y &gt;NUL</PostBuildEvent>
</PropertyGroup>
<Import Project="..\packages\ZstdNet.1.5.7\build\ZstdNet.targets" Condition="Exists('..\packages\ZstdNet.1.5.7\build\ZstdNet.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\ZstdNet.1.5.7\build\ZstdNet.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ZstdNet.1.5.7\build\ZstdNet.targets'))" />
</Target>
</Project>

View File

@@ -136,7 +136,7 @@ namespace GameRes.Formats
private static long GetDuration (IMFSourceReader reader)
{
var variantPtr = Marshal.AllocHGlobal (MarshalHelpers.SizeOf<PropVariant>());
var variantPtr = Marshal.AllocHGlobal (Marshal.SizeOf<PropVariant>());
try
{
int hResult = reader.GetPresentationAttribute (MediaFoundationInterop.MF_SOURCE_READER_MEDIASOURCE,
@@ -146,7 +146,7 @@ namespace GameRes.Formats
if (hResult != 0)
Marshal.ThrowExceptionForHR (hResult);
var variant = MarshalHelpers.PtrToStructure<PropVariant> (variantPtr);
var variant = Marshal.PtrToStructure<PropVariant> (variantPtr);
return (long)variant.Value;
}
finally

View File

@@ -849,5 +849,17 @@ namespace GameRes.Formats.Properties {
this["TIM2AlphaFormat"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string BELLDATATitle {
get {
return ((string)(this["BELLDATATitle"]));
}
set {
this["BELLDATATitle"] = value;
}
}
}
}

View File

@@ -209,5 +209,8 @@
<Setting Name="TIM2AlphaFormat" Type="System.String" Scope="User">
<Value Profile="(Default)">RGBA</Value>
</Setting>
<Setting Name="BELLDATATitle" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
</Settings>
</SettingsFile>

View File

@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="GameRes.Formats.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
<section name="GameRes.Formats.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<GameRes.Formats.Properties.Settings>
<setting name="NPAScheme" serializeAs="String">
<value/>
<value />
</setting>
<setting name="XP3Scheme" serializeAs="String">
<value/>
<value />
</setting>
<setting name="YPFKey" serializeAs="String">
<value>4294967295</value>
@@ -31,11 +31,8 @@
<setting name="SGFileNameEncoding" serializeAs="String">
<value>shift-jis</value>
</setting>
<setting name="ONSCompression" serializeAs="String">
<value>None</value>
</setting>
<setting name="AMIBaseArchive" serializeAs="String">
<value/>
<value />
</setting>
<setting name="AMIUseBaseArchive" serializeAs="String">
<value>False</value>
@@ -62,22 +59,22 @@
<value>8</value>
</setting>
<setting name="KCAPPassPhrase" serializeAs="String">
<value/>
<value />
</setting>
<setting name="KCAPScheme" serializeAs="String">
<value/>
<value />
</setting>
<setting name="WARCScheme" serializeAs="String">
<value/>
<value />
</setting>
<setting name="LPKScheme" serializeAs="String">
<value>Default</value>
</setting>
<setting name="NOAScheme" serializeAs="String">
<value/>
<value />
</setting>
<setting name="NOAPassPhrase" serializeAs="String">
<value/>
<value />
</setting>
<setting name="DPKKey1" serializeAs="String">
<value>65432</value>
@@ -86,37 +83,37 @@
<value>1139247708</value>
</setting>
<setting name="DPKLastScheme" serializeAs="String">
<value/>
<value />
</setting>
<setting name="MBLPassPhrase" serializeAs="String">
<value/>
<value />
</setting>
<setting name="ISFScheme" serializeAs="String">
<value/>
<value />
</setting>
<setting name="MCGLastKey" serializeAs="String">
<value>0</value>
</setting>
<setting name="RCTPassword" serializeAs="String">
<value/>
<value />
</setting>
<setting name="RCTTitle" serializeAs="String">
<value/>
<value />
</setting>
<setting name="NSAPassword" serializeAs="String">
<value/>
<value />
</setting>
<setting name="NSATitle" serializeAs="String">
<value/>
<value />
</setting>
<setting name="RPMScheme" serializeAs="String">
<value/>
<value />
</setting>
<setting name="QLIEScheme" serializeAs="String">
<value/>
<value />
</setting>
<setting name="YPFScheme" serializeAs="String">
<value/>
<value />
</setting>
<setting name="ZIPCompression" serializeAs="String">
<value>Optimal</value>
@@ -125,49 +122,49 @@
<value>932</value>
</setting>
<setting name="AZScriptScheme" serializeAs="String">
<value/>
<value />
</setting>
<setting name="AGSTitle" serializeAs="String">
<value/>
<value />
</setting>
<setting name="NCARCScheme" serializeAs="String">
<value/>
<value />
</setting>
<setting name="MEDScriptScheme" serializeAs="String">
<value/>
<value />
</setting>
<setting name="GALKey" serializeAs="String">
<value/>
<value />
</setting>
<setting name="MGPKTitle" serializeAs="String">
<value/>
<value />
</setting>
<setting name="BELLTitle" serializeAs="String">
<value/>
<value />
</setting>
<setting name="NPKScheme" serializeAs="String">
<value/>
<value />
</setting>
<setting name="TacticsArcPassword" serializeAs="String">
<value/>
<value />
</setting>
<setting name="TacticsArcTitle" serializeAs="String">
<value/>
<value />
</setting>
<setting name="GYUTitle" serializeAs="String">
<value/>
<value />
</setting>
<setting name="PAZTitle" serializeAs="String">
<value/>
<value />
</setting>
<setting name="EAGLSEncryption" serializeAs="String">
<value/>
<value />
</setting>
<setting name="FJSYSPassword" serializeAs="String">
<value/>
<value />
</setting>
<setting name="PCKTitle" serializeAs="String">
<value/>
<value />
</setting>
<setting name="RCTOverlayFrames" serializeAs="String">
<value>True</value>
@@ -179,7 +176,7 @@
<value>True</value>
</setting>
<setting name="ZIPPassword" serializeAs="String">
<value/>
<value />
</setting>
<setting name="OGGFixCrc" serializeAs="String">
<value>False</value>
@@ -194,10 +191,10 @@
<value>932</value>
</setting>
<setting name="LEAFTitle" serializeAs="String">
<value/>
<value />
</setting>
<setting name="SJDatTitle" serializeAs="String">
<value/>
<value />
</setting>
<setting name="AFAEncodingCP" serializeAs="String">
<value>932</value>
@@ -209,13 +206,28 @@
<value>932</value>
</setting>
<setting name="TIM2AlphaFormat" serializeAs="String">
<value>RGBA</value>
<value>RGBA</value>
</setting>
<setting name="BELLDATATitle" serializeAs="String">
<value />
</setting>
</GameRes.Formats.Properties.Settings>
</userSettings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/></startup>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /></startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.3.0" newVersion="6.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Crc32C.NET" version="1.0.5.0" targetFramework="net472" />
<package id="Microsoft.Win32.Registry" version="4.7.0" targetFramework="net472" />
<package id="NAudio" version="2.2.1" targetFramework="net472" />
<package id="NAudio.Asio" version="2.2.1" targetFramework="net472" />
<package id="NAudio.Core" version="2.2.1" targetFramework="net472" />
<package id="NAudio.Midi" version="2.2.1" targetFramework="net472" />
<package id="NAudio.Wasapi" version="2.2.1" targetFramework="net472" />
<package id="NAudio.WinForms" version="2.2.1" targetFramework="net472" />
<package id="NAudio.WinMM" version="2.2.1" targetFramework="net472" />
<package id="Newtonsoft.Json" version="13.0.4" targetFramework="net472" />
<package id="NVorbis" version="0.10.5" targetFramework="net472" />
<package id="SharpZipLib" version="1.4.2" targetFramework="net472" />
<package id="Snappy.NET" version="1.1.1.8" targetFramework="net472" />
<package id="System.Buffers" version="4.6.1" targetFramework="net472" />
<package id="System.Memory" version="4.6.3" targetFramework="net472" />
<package id="System.Numerics.Vectors" version="4.6.1" targetFramework="net472" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.1.2" targetFramework="net472" />
<package id="System.Security.AccessControl" version="4.7.0" targetFramework="net472" />
<package id="System.Security.Principal.Windows" version="4.7.0" targetFramework="net472" />
<package id="System.Threading.Tasks.Extensions" version="4.5.2" targetFramework="net472" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net472" />
<package id="ZstdNet" version="1.5.7" targetFramework="net472" />
</packages>