fix #270 closeout: strip investigation probes; close the issue
User-verified: casting fixed (exhaustion-edge gate) and monster attack animations restored (spawn settle placement + lost-cell retry). Final session evidence: 14/15 spawn settles grounded; Falling-refusal spam collapsed 2,954 -> 15 transient pre-settle lines. Strips the [UM-ACT]/[MT-FAIL]/[SPAWN-PLACE]/[remote-edge] probes, the MotionInterpreter.DiagnosticGuid plumbing, and the two throwaway probe tests (motion-table attack sweep, vitae color dump - both findings are recorded in ISSUES/research). Complete Release suite: 10,030 passed / 5 skips / 0 failures. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
21b3a3f3d3
commit
bb1640f777
7 changed files with 3 additions and 263 deletions
|
|
@ -1,77 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using AcDream.App.UI.Layout;
|
||||
using DatReaderWriter;
|
||||
using DatReaderWriter.Options;
|
||||
using Xunit;
|
||||
|
||||
namespace AcDream.App.Tests.UI.Layout;
|
||||
|
||||
// THROWAWAY probe (#268): dump the authored 0x1B font-color arrays for the
|
||||
// character-panel footer labels so we can read retail's vitae parenthetical
|
||||
// color (AppendTextWithFont color index 3, gmSkillUI 0x0049b972). Delete
|
||||
// after the color constant is captured.
|
||||
public sealed class VitaeColorDumpProbe
|
||||
{
|
||||
[Fact]
|
||||
public void Dump_footer_font_color_arrays()
|
||||
{
|
||||
var datDir = Environment.GetEnvironmentVariable("ACDREAM_DAT_DIR")
|
||||
?? Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
"Documents", "Asheron's Call");
|
||||
if (!Directory.Exists(datDir)) return;
|
||||
|
||||
var sb = new StringBuilder();
|
||||
using var dats = new DatCollection(datDir, DatAccessType.Read);
|
||||
foreach (uint layoutId in new[] { 0x2100002Eu, 0x2100002Cu })
|
||||
{
|
||||
var root = LayoutImporter.ImportInfos(dats, layoutId);
|
||||
if (root is null) { sb.AppendLine($"layout {layoutId:X8}: NOT FOUND"); continue; }
|
||||
sb.AppendLine($"=== layout {layoutId:X8} ===");
|
||||
Walk(root, sb);
|
||||
}
|
||||
|
||||
var outPath = Path.Combine(AppContext.BaseDirectory, "vitae-color-dump.txt");
|
||||
File.WriteAllText(outPath, sb.ToString());
|
||||
// Also drop a copy next to the repo artifacts when resolvable.
|
||||
var repoCopy = Environment.GetEnvironmentVariable("ACDREAM_PROBE_OUT");
|
||||
if (!string.IsNullOrEmpty(repoCopy))
|
||||
File.WriteAllText(repoCopy, sb.ToString());
|
||||
}
|
||||
|
||||
private static void Walk(ElementInfo e, StringBuilder sb)
|
||||
{
|
||||
if (e.TryGetEffectiveProperty(0x1Bu, out var color))
|
||||
{
|
||||
if (color.Kind == UiPropertyKind.Array && color.ArrayValue.Count > 1)
|
||||
{
|
||||
sb.Append($"element {e.Id:X8} 0x1B array[{color.ArrayValue.Count}]:");
|
||||
for (int i = 0; i < color.ArrayValue.Count; i++)
|
||||
{
|
||||
var v = color.ArrayValue[i];
|
||||
if (v.Kind == UiPropertyKind.Color)
|
||||
{
|
||||
var c = v.ColorValue;
|
||||
sb.Append($" [{i}]=A{c.Alpha:D3},R{c.Red:D3},G{c.Green:D3},B{c.Blue:D3}");
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append($" [{i}]=kind:{v.Kind}");
|
||||
}
|
||||
}
|
||||
sb.AppendLine();
|
||||
}
|
||||
else if (color.Kind == UiPropertyKind.Color)
|
||||
{
|
||||
var c = color.ColorValue;
|
||||
sb.AppendLine(
|
||||
$"element {e.Id:X8} 0x1B single: A{c.Alpha:D3},R{c.Red:D3},G{c.Green:D3},B{c.Blue:D3}");
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var child in e.Children)
|
||||
Walk(child, sb);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue