26 lines
927 B
C#
26 lines
927 B
C#
namespace AcDream.Launcher.Core.Launching;
|
|
|
|
/// <summary>
|
|
/// The DAT/pak locations a completed install (LA9) records and every
|
|
/// session-config composition consumes for
|
|
/// <see cref="SessionContentDescriptor"/>. Integrity metadata is launcher-
|
|
/// local: it is verified before this record is admitted to the orchestrator
|
|
/// and is deliberately not copied into the host session-config contract.
|
|
/// </summary>
|
|
public sealed record LauncherInstallRecord(
|
|
string DatDirectory,
|
|
string PreparedAssetPath,
|
|
string PreparedAssetSha256 = "",
|
|
long PreparedAssetSize = 0,
|
|
uint BakeToolVersion = 0)
|
|
{
|
|
public const int CurrentRecordVersion = 1;
|
|
|
|
public int Version { get; init; } = CurrentRecordVersion;
|
|
|
|
public bool HasIntegrityMetadata =>
|
|
!string.IsNullOrEmpty(PreparedAssetSha256)
|
|
&& PreparedAssetSha256.Length == 64
|
|
&& PreparedAssetSize > 0
|
|
&& BakeToolVersion > 0;
|
|
}
|