From d95e35e5c9ae4b488ae0317bfeb16e24a346f13e Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Wed, 21 Oct 2026 04:02:33 +0800 Subject: [PATCH] =?UTF-8?q?feat(tools):=20=E8=BE=B9=E7=95=8C=E5=AE=A1?= =?UTF-8?q?=E8=AE=A1=E8=BE=93=E5=87=BA=E5=B8=A6=E7=9B=AE=E5=BD=95=E5=AE=9A?= =?UTF-8?q?=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 3DTank/tools/audit_pt_boundaries.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/3DTank/tools/audit_pt_boundaries.js b/3DTank/tools/audit_pt_boundaries.js index c52c18b..d8ce3a4 100644 --- a/3DTank/tools/audit_pt_boundaries.js +++ b/3DTank/tools/audit_pt_boundaries.js @@ -134,7 +134,7 @@ function IsBoundary(Buf, At) { return false; } -function AuditPt(Body, Off, File, BitStart) { +function AuditPt(Body, Off, File, BitStart, Label) { if (Off + 4 > Body.length) return; const Buf = Body; const C = Buf.readInt32BE(Off); @@ -164,7 +164,7 @@ function AuditPt(Body, Off, File, BitStart) { continue; } const Codec = Tables.CodecByKey.get(Key); - const Where = File + ' 第 ' + (I + 1) + '/' + D + ' 项 ' + Id + '(' + Key + ')@' + At; + const Where = (Label || File) + ' 第 ' + (I + 1) + '/' + D + ' 项 ' + Id + '(' + Key + ')@' + At; if (!Codec) { Stats.Bad++; Bump(Key || ('未注册:' + Id), true, Where); @@ -232,7 +232,8 @@ function ScanFile(File) { } for (const R of (Decoded && Decoded.Records) || []) { if (String(R.MethodId) !== PT_METHOD || R.Bad || R.At === undefined || R.Consumed === undefined) continue; - AuditPt(Body, R.At + 16, path.basename(File), R.BitStart); + const Label = path.basename(path.dirname(File)) + '/' + path.basename(File); + AuditPt(Body, R.At + 16, path.basename(File), R.BitStart, Label); } } }