Phase N.0 setup for the WorldBuilder migration. Replaces the local read-only clone of Chorizite/WorldBuilder at references/WorldBuilder/ with a git submodule pointing at our fork (github.com/eriknihlen/WorldBuilder.git, branch acdream). Changes: - .gitignore: exempt references/WorldBuilder from the references/ ignore rule so the submodule can be tracked. - .gitmodules (new): submodule entry tracking acdream branch on fork. - src/AcDream.Core/AcDream.Core.csproj: add ProjectReference to WorldBuilder.Shared and Chorizite.OpenGLSDLBackend so we can call TerrainUtils, SceneryHelpers, etc. from our Core code. Build green, all 93 scenery/terrain tests pass. The 8 pre-existing DispatcherToMovement test failures are unrelated and exist on main. Notes for users picking up this branch on main: - After merge, the existing local clone at references/WorldBuilder may need to be removed before `git submodule update --init` will populate the submodule. - Working on the fork happens via `cd references/WorldBuilder && git checkout acdream && <changes> && git push`. To pull upstream Chorizite/WorldBuilder fixes: `git remote add upstream https://github.com/Chorizite/WorldBuilder.git && git fetch upstream && git merge upstream/master`. Next: Phase N.1 — replace SceneryGenerator algorithm calls with WB's SceneryHelpers + TerrainUtils. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
30 lines
1.6 KiB
XML
30 lines
1.6 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<TargetFramework>net10.0</TargetFramework>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<Nullable>enable</Nullable>
|
|
<LangVersion>latest</LangVersion>
|
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<PackageReference Include="BCnEncoder.Net" Version="2.2.1" />
|
|
<PackageReference Include="Chorizite.DatReaderWriter" Version="2.1.7" />
|
|
<PackageReference Include="Serilog" Version="4.0.2" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute">
|
|
<_Parameter1>AcDream.Core.Tests</_Parameter1>
|
|
</AssemblyAttribute>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\AcDream.Plugin.Abstractions\AcDream.Plugin.Abstractions.csproj" />
|
|
<!-- Phase N: WorldBuilder is acdream's rendering + dat-handling base.
|
|
See docs/architecture/worldbuilder-inventory.md for the inventory of
|
|
what we use from WB vs port from retail decomp ourselves.
|
|
WorldBuilder.Shared = stateless helpers (TerrainUtils, TerrainEntry, RegionInfo).
|
|
Chorizite.OpenGLSDLBackend = render managers + SceneryHelpers + ParticleEmitterRenderer
|
|
(full GL pipeline; we currently use only the stateless SceneryHelpers from it). -->
|
|
<ProjectReference Include="..\..\references\WorldBuilder\WorldBuilder.Shared\WorldBuilder.Shared.csproj" />
|
|
<ProjectReference Include="..\..\references\WorldBuilder\Chorizite.OpenGLSDLBackend\Chorizite.OpenGLSDLBackend.csproj" />
|
|
</ItemGroup>
|
|
</Project>
|