build: make release restore reproducible

This commit is contained in:
Erik 2026-08-18 10:29:00 +02:00
parent b459e0cf0c
commit c38f6b8852
129 changed files with 16810 additions and 188 deletions

View file

@ -17,6 +17,8 @@ using DatReaderWriter.DBObjs;
using DatReaderWriter.Enums;
using DatReaderWriter.Options;
using DatReaderWriter.Types;
using AcDream.Content;
using AcDream.Core.Content;
using AcDream.Core.Meshing;
using SysEnv = System.Environment;
@ -25,9 +27,10 @@ string datDir = SysEnv.GetEnvironmentVariable("ACDREAM_DAT_DIR")
"Documents", "Asheron's Call");
Console.WriteLine($"datDir = {datDir}");
using var dats = new DatCollection(datDir, DatAccessType.Read);
using var datSource = new DatCollectionAdapter(dats);
uint[] gfxIds = { 0x01004C42u, 0x01004C44u };
foreach (uint gid in gfxIds) ProbeRain(dats, gid);
foreach (uint gid in gfxIds) ProbeRain(dats, datSource, gid);
// Phase 7c: also dump every sky surface we know to test the LUMINOUS flag.
// Two existing code comments contradict each other about whether Dereth's
@ -69,7 +72,7 @@ static void ProbeSkySurface(DatCollection dats, uint sid)
Console.WriteLine(string.Join("|", bits.Where(b => (t & b.mask) != 0).Select(b => b.n)));
}
static void ProbeRain(DatCollection dats, uint gid)
static void ProbeRain(DatCollection dats, IDatObjectSource datSource, uint gid)
{
Console.WriteLine();
Console.WriteLine($"================ GfxObj 0x{gid:X8} ================");
@ -145,7 +148,7 @@ static void ProbeRain(DatCollection dats, uint gid)
// ----- GfxObjMesh.Build() output -----
Console.WriteLine();
Console.WriteLine(" --- GfxObjMesh.Build() output ---");
var subs = GfxObjMesh.Build(go, dats);
var subs = GfxObjMesh.Build(go, datSource);
Console.WriteLine($" Submesh count: {subs.Count}");
int totalVerts = 0, totalIndices = 0;
for (int i = 0; i < subs.Count; i++)