Enable Linux builds: bundle all Decal DLLs and fix csproj paths

- Add missing DLLs to lib/: Decal.Interop.Filters, Decal.FileService,
  Decal.Interop.D3DService, Decal.Interop.Input, Decal, DecalNet, VCS5
- Convert all Windows-absolute HintPaths to relative lib\ paths
- Convert COM references (Decal, DecalNet) to regular assembly references
- Add Microsoft.NETFramework.ReferenceAssemblies for cross-platform builds
- Add AllowUnsafeBlocks and PlatformTarget to Release configuration
- Update Release DLL with character stats streaming feature

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
erik 2026-02-26 16:10:38 +00:00
parent 1fdae96262
commit 88600db779
9 changed files with 23 additions and 28 deletions

View file

@ -35,10 +35,12 @@
<DefineConstants>TRACE;VVS_REFERENCED;DECAL_INTEROP</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
<Reference Include="0Harmony">
<HintPath>..\..\..\..\Documents\Decal Plugins\UtilityBelt\0Harmony.dll</HintPath>
<HintPath>lib\0Harmony.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Costura, Version=5.7.0.0, Culture=neutral, processorArchitecture=MSIL">
@ -49,18 +51,18 @@
<EmbedInteropTypes>False</EmbedInteropTypes>
</Reference>
<Reference Include="Decal.FileService">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Decal 3.0\Decal.FileService.dll</HintPath>
<HintPath>lib\Decal.FileService.dll</HintPath>
</Reference>
<Reference Include="Decal.Interop.Core, Version=2.9.8.3, Culture=neutral, PublicKeyToken=481f17d392f1fb65, processorArchitecture=MSIL">
<Reference Include="Decal.Interop.Core">
<SpecificVersion>False</SpecificVersion>
<EmbedInteropTypes>False</EmbedInteropTypes>
<HintPath>..\..\..\..\..\..\Program Files (x86)\Decal 3.0\.NET 4.0 PIA\Decal.Interop.Core.DLL</HintPath>
<HintPath>lib\Decal.Interop.Core.DLL</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Decal.Interop.Filters, Version=2.9.8.3, Culture=neutral, PublicKeyToken=481f17d392f1fb65, processorArchitecture=MSIL">
<Reference Include="Decal.Interop.Filters">
<SpecificVersion>False</SpecificVersion>
<EmbedInteropTypes>False</EmbedInteropTypes>
<HintPath>..\..\..\..\..\..\Program Files (x86)\Decal 3.0\.NET 4.0 PIA\Decal.Interop.Filters.DLL</HintPath>
<HintPath>lib\Decal.Interop.Filters.DLL</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Decal.Interop.Inject, Version=2.9.8.3, Culture=neutral, PublicKeyToken=481f17d392f1fb65, processorArchitecture=MSIL">
@ -68,16 +70,16 @@
<EmbedInteropTypes>False</EmbedInteropTypes>
<HintPath>lib\Decal.Interop.Inject.dll</HintPath>
</Reference>
<Reference Include="Decal.Interop.D3DService, Version=2.9.8.3, Culture=neutral, PublicKeyToken=481f17d392f1fb65, processorArchitecture=MSIL">
<Reference Include="Decal.Interop.D3DService">
<SpecificVersion>False</SpecificVersion>
<EmbedInteropTypes>False</EmbedInteropTypes>
<HintPath>..\..\..\..\..\..\Program Files (x86)\Decal 3.0\.NET 4.0 PIA\Decal.Interop.D3DService.DLL</HintPath>
<HintPath>lib\Decal.Interop.D3DService.DLL</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Decal.Interop.Input">
<SpecificVersion>False</SpecificVersion>
<EmbedInteropTypes>False</EmbedInteropTypes>
<HintPath>..\..\..\..\..\..\Program Files (x86)\Decal 3.0\.NET 4.0 PIA\Decal.Interop.Input.DLL</HintPath>
<HintPath>lib\Decal.Interop.Input.DLL</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.Win32.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
@ -224,12 +226,12 @@
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="utank2-i, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
<Reference Include="utank2-i">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\utank2-i.dll</HintPath>
<HintPath>lib\utank2-i.dll</HintPath>
</Reference>
<Reference Include="VCS5">
<HintPath>..\..\..\..\..\..\Games\Decal Plugins\Virindi\VirindiChatSystem5\VCS5.dll</HintPath>
<HintPath>lib\VCS5.dll</HintPath>
</Reference>
<Reference Include="VirindiViewService">
<HintPath>lib\VirindiViewService.dll</HintPath>
@ -355,24 +357,17 @@
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<COMReference Include="Decal">
<Guid>{FF7F5F6D-34E0-4B6F-B3BB-8141DE2EF732}</Guid>
<VersionMajor>2</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<Reference Include="Decal">
<HintPath>lib\Decal.dll</HintPath>
<EmbedInteropTypes>False</EmbedInteropTypes>
</COMReference>
<COMReference Include="DecalNet">
<Guid>{572B87C4-93BD-46B3-A291-CD58181D25DC}</Guid>
<VersionMajor>2</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
</Reference>
<Reference Include="DecalNet">
<HintPath>lib\decalnet.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</Reference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="All" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\Fody.6.9.3\build\Fody.targets" Condition="Exists('..\packages\Fody.6.9.3\build\Fody.targets')" />

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.