feat(render): implement Campaign AR and terrain fidelity
This commit is contained in:
parent
99cf26e00c
commit
7a5f96ede5
368 changed files with 50611 additions and 950 deletions
|
|
@ -1,4 +1,8 @@
|
|||
using AcDream.App.Settings;
|
||||
using AcDream.App.Plugins;
|
||||
using AcDream.App.Rendering.Gpu;
|
||||
using AcDream.App.Rendering.Packs;
|
||||
using AcDream.UI.Abstractions.Panels.Settings;
|
||||
using Silk.NET.Input;
|
||||
|
||||
namespace AcDream.App.Composition;
|
||||
|
|
@ -18,11 +22,22 @@ namespace AcDream.App.Composition;
|
|||
/// keybinds.json (not retail's <c>.keymap</c> format — register row AP-202).
|
||||
/// </summary>
|
||||
internal sealed record SettingsDevToolsResult(
|
||||
AcDream.UI.Abstractions.Settings.QualitySettings ResolvedQuality);
|
||||
AcDream.UI.Abstractions.Settings.QualitySettings ResolvedQuality)
|
||||
{
|
||||
internal RenderPackCatalogSource? RenderPacks { get; init; }
|
||||
|
||||
internal RenderPackSelectionSettings RenderPackSelection { get; init; } =
|
||||
RenderPackSelectionSettings.Retail;
|
||||
}
|
||||
|
||||
internal sealed record SettingsDevToolsDependencies(
|
||||
RuntimeSettingsController Settings,
|
||||
IRuntimeSettingsStartupTarget StartupTarget);
|
||||
IRuntimeSettingsStartupTarget StartupTarget)
|
||||
{
|
||||
internal BufferedRenderPackRegistry? RenderPacks { get; init; }
|
||||
|
||||
internal IGpuDevice? GpuDevice { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Production Phase 3: applies the resolved startup display/audio settings.
|
||||
|
|
@ -51,6 +66,19 @@ internal sealed class SettingsDevToolsCompositionPhase :
|
|||
ArgumentNullException.ThrowIfNull(content);
|
||||
|
||||
_dependencies.Settings.ApplyStartup(_dependencies.StartupTarget);
|
||||
return new SettingsDevToolsResult(_dependencies.Settings.ResolvedQuality);
|
||||
RenderPackCatalogSource? renderPacks = null;
|
||||
if (_dependencies.RenderPacks is { } registry
|
||||
&& _dependencies.GpuDevice is { } gpu)
|
||||
{
|
||||
renderPacks = new RenderPackCatalogSource(
|
||||
registry,
|
||||
RenderPackCapabilityResolver.Resolve(gpu.Capabilities));
|
||||
}
|
||||
|
||||
return new SettingsDevToolsResult(_dependencies.Settings.ResolvedQuality)
|
||||
{
|
||||
RenderPacks = renderPacks,
|
||||
RenderPackSelection = _dependencies.Settings.Display.RenderPack,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue