[Parity][map][S3][F] 自动地图图集加载按多个 URL 猜测并吞错,绘制时静默跳过缺失的图集或帧 #630

Closed
opened 2026-10-02 11:42:48 +00:00 by troytt · 0 comments
Owner

1.13c 客户端保真度审计立项(基准快照:7bd1090 / main @ 77a20c7)

证据标记说明:V-data = 1.13c MPQ 数据表 (.txt / animdata.d2 / .tbl / pal.pl2);V-src = D2MOO 逆向源码;V-bin = 1.13c DLL 反汇编;K = 1.13c 公认行为。

来源审计项:map#11 — [S3][F] 自动地图图集加载按多个 URL 猜测并吞错,绘制时静默跳过缺失的图集或帧

位置:

  • src/client/ui/minimap.ts:694-731(loadAtlases):
    • 依次尝试 4 个候选 URL(703-708),catch {} 吞掉错误(723-725)。
    • 返回值 loadedCount 在 main.ts:251-253 被忽略,.catch(reportMissingArt) 永远不会触发。
  • minimap.ts:977-985:if (!sheetMeta || !atlasHandle) continue;帧越界或缺失时 continue。
  • minimap.ts:1359-1378(resolveAtlasHandle):没有 gl 时伪造 handle(测试桩混入生产代码)。
  • minimap.ts:1194:stash.label || stash.name || 'Stash',英文兜底。
  • minimap.ts:1033、1442:options?.levelId ?? level.levelId ?? 1、level.levelId ?? 1。

原版: 缺少 DC6 会直接报错(K,中)。

影响: 资源缺失时自动地图静默变空,问题被掩盖。

建议: 只用 manifest 给出的唯一路径;任何一张 sheet 失败就 reportMissingArt 或抛错;删除伪造 handle 和英文兜底。

已有 issue: —

> **1.13c 客户端保真度审计立项**(基准快照:`7bd1090` / `main @ 77a20c7`) > 证据标记说明:`V-data` = 1.13c MPQ 数据表 (`.txt` / `animdata.d2` / `.tbl` / `pal.pl2`);`V-src` = D2MOO 逆向源码;`V-bin` = 1.13c DLL 反汇编;`K` = 1.13c 公认行为。 ### 来源审计项:`map#11` — [S3][F] 自动地图图集加载按多个 URL 猜测并吞错,绘制时静默跳过缺失的图集或帧 **位置:** - `src/client/ui/minimap.ts:694-731`(`loadAtlases`): - 依次尝试 4 个候选 URL(703-708),`catch {}` 吞掉错误(723-725)。 - 返回值 `loadedCount` 在 `main.ts:251-253` 被忽略,`.catch(reportMissingArt)` 永远不会触发。 - `minimap.ts:977-985`:`if (!sheetMeta || !atlasHandle) continue`;帧越界或缺失时 `continue`。 - `minimap.ts:1359-1378`(`resolveAtlasHandle`):没有 `gl` 时伪造 handle(测试桩混入生产代码)。 - `minimap.ts:1194`:`stash.label || stash.name || 'Stash'`,英文兜底。 - `minimap.ts:1033`、`1442`:`options?.levelId ?? level.levelId ?? 1`、`level.levelId ?? 1`。 **原版:** 缺少 DC6 会直接报错(K,中)。 **影响:** 资源缺失时自动地图静默变空,问题被掩盖。 **建议:** 只用 manifest 给出的唯一路径;任何一张 sheet 失败就 `reportMissingArt` 或抛错;删除伪造 handle 和英文兜底。 **已有 issue:** —
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: troytt/diablo2-web#630
No description provided.