[Parity][render][S2][F] 玩家 clip 兜底:bl→gh、th/kk→a1、s1-s4/sq→sc、kb→gh,再退到 wl / nu;AnimData 对这些模式本来就有专用条目 #613

Closed
opened 2026-10-02 11:42:46 +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 公认行为。

来源审计项:render#13 — [S2][F] 玩家 clip 兜底:bl→gh、th/kk→a1、s1-s4/sq→sc、kb→gh,再退到 wl / nu;AnimData 对这些模式本来就有专用条目

  • 位置:src/client/scene/world-renderer.ts:229-244(PLAYER_HTH_FALLBACK_CLIP)、:493-497、:524-531(loop 默认按名字列表)
  • 代码:
    charArt.clips?.[requestedClipKey] ?? (fallbackHthKey !== undefined ? charArt.clips?.[fallbackHthKey] : undefined) ?? (isMoving ? charArt.clips?.wl : charArt.clips?.nu)
    
  • 原版:V-data animdata.d2 对所有职业都有这些模式的专用 HTH 条目,例如 SOBLHTH 5 帧、SOKKHTH 12 帧、SOTHHTH 20 帧、SOS1HTH 14 帧、PAKKHTH 12 帧、BABLHTH 4 帧、AIBLHTH 3 帧、AIKKHTH 13 帧、AIS2HTH 8 帧 / 速度 128(只有 AI 没有 THHTH)。注释里说的"没有专用 HTH DCC 时共用"在 1.13c 数据里不成立。kb、sq 这两个键本来就不会出现:PLR_MODES 里 KB 和 SQ 的 token 已经是 GH(plrmode.txt),属于死键。
  • 影响:烘焙包缺 BL / KK / TH / S1-S4 时会静默改播别的动作(格挡播受击、踢播攻击、技能播施法),帧数和节奏都不对。仓库没有 public/assets,无法确认烘焙包是否真的缺(待确认 #10)。
  • 建议:删掉这张别名表和 wl / nu 兜底,缺 clip 就 reportMissingArt,在烘焙端补齐。loop 属性取 AnimData 或 PlrMode 的定义,不要按名字列表推断。
  • 已有 issue:—(与 #540 同属"静默回退"类,但对象是玩家动作)
> **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 公认行为。 ### 来源审计项:`render#13` — [S2][F] 玩家 clip 兜底:bl→gh、th/kk→a1、s1-s4/sq→sc、kb→gh,再退到 wl / nu;AnimData 对这些模式本来就有专用条目 - 位置:`src/client/scene/world-renderer.ts:229-244`(`PLAYER_HTH_FALLBACK_CLIP`)、`:493-497`、`:524-531`(loop 默认按名字列表) - 代码: ```ts charArt.clips?.[requestedClipKey] ?? (fallbackHthKey !== undefined ? charArt.clips?.[fallbackHthKey] : undefined) ?? (isMoving ? charArt.clips?.wl : charArt.clips?.nu) ``` - 原版:V-data `animdata.d2` 对所有职业都有这些模式的专用 HTH 条目,例如 SOBLHTH 5 帧、SOKKHTH 12 帧、SOTHHTH 20 帧、SOS1HTH 14 帧、PAKKHTH 12 帧、BABLHTH 4 帧、AIBLHTH 3 帧、AIKKHTH 13 帧、AIS2HTH 8 帧 / 速度 128(只有 AI 没有 THHTH)。注释里说的"没有专用 HTH DCC 时共用"在 1.13c 数据里不成立。`kb`、`sq` 这两个键本来就不会出现:PLR_MODES 里 KB 和 SQ 的 token 已经是 GH(plrmode.txt),属于死键。 - 影响:烘焙包缺 BL / KK / TH / S1-S4 时会静默改播别的动作(格挡播受击、踢播攻击、技能播施法),帧数和节奏都不对。仓库没有 public/assets,无法确认烘焙包是否真的缺(待确认 #10)。 - 建议:删掉这张别名表和 wl / nu 兜底,缺 clip 就 `reportMissingArt`,在烘焙端补齐。loop 属性取 AnimData 或 PlrMode 的定义,不要按名字列表推断。 - 已有 issue:—(与 #540 同属"静默回退"类,但对象是玩家动作)
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#613
No description provided.