[Parity][render][S2][H][R] 瓦片:动画瓦片 10 fps 写死(原版约 7.8 fps);屋顶恒定 0.85 半透明;阴影 0.5 alpha;墙高兜底 40 #615

Closed
opened 2026-10-02 11:42:47 +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#15 — [S2][H][R] 瓦片:动画瓦片 10 fps 写死(原版约 7.8 fps);屋顶恒定 0.85 半透明;阴影 0.5 alpha;墙高兜底 40

  • 位置:src/client/scene/world-renderer.ts:1066-1071(animStep = floor(nowMs / 100),无 nowMs 时 tick / 2.5)、:1094(阴影 [1,1,1,0.5])、:1107(placement?.height ?? 40)、:1131(屋顶 [1,1,1,0.85])、:1053(清屏色 0.02,0.02,0.03)、:29(FEET_HEIGHT = 10,没有锚点时用)
  • 原版:
    • 动画瓦片每 tick 推进 nAnimationSpeed(8.8 定点)。该值来自 LvlPrestTxt.nAnimSpeed(D2Common/src/Drlg/DrlgPreset.cpp:1182),这个字段不从任何列读取(DataTbls/LevelsTbls.cpp:594-612 的字段表里没有偏移 0x24),所以为 0,按 DrlgDrlgAnim.cpp:165-168 回退到 80,即 25×80/256 ≈ 7.8 fps、128 ms/帧(证据:V-src DrlgDrlgAnim.cpp:104-131、:165-168)。
    • 屋顶:原版在玩家进入建筑时隐藏屋顶,在外面时屋顶不透明(K-中);0.85 没有出处。
    • 阴影 tile 用阴影绘制模式(K-中);0.5 没有出处。
  • 影响:
    • Act 4 熔岩、水面等动画瓦片快约 28%。
    • 屋顶在任何情况下都半透明(室外能看穿屋顶,室内又不消失)。
    • 阴影浓度不对。
  • 建议:动画瓦片按 80/256 帧/tick 推进;屋顶实现"进入即隐藏"并去掉 0.85;阴影用对应的 DrawMode;墙高缺失时报错。
  • 已有 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 公认行为。 ### 来源审计项:`render#15` — [S2][H][R] 瓦片:动画瓦片 10 fps 写死(原版约 7.8 fps);屋顶恒定 0.85 半透明;阴影 0.5 alpha;墙高兜底 40 - 位置:`src/client/scene/world-renderer.ts:1066-1071`(`animStep = floor(nowMs / 100)`,无 nowMs 时 `tick / 2.5`)、`:1094`(阴影 `[1,1,1,0.5]`)、`:1107`(`placement?.height ?? 40`)、`:1131`(屋顶 `[1,1,1,0.85]`)、`:1053`(清屏色 0.02,0.02,0.03)、`:29`(`FEET_HEIGHT = 10`,没有锚点时用) - 原版: - 动画瓦片每 tick 推进 `nAnimationSpeed`(8.8 定点)。该值来自 `LvlPrestTxt.nAnimSpeed`(`D2Common/src/Drlg/DrlgPreset.cpp:1182`),这个字段不从任何列读取(`DataTbls/LevelsTbls.cpp:594-612` 的字段表里没有偏移 0x24),所以为 0,按 `DrlgDrlgAnim.cpp:165-168` 回退到 **80**,即 25×80/256 ≈ 7.8 fps、128 ms/帧(证据:V-src `DrlgDrlgAnim.cpp:104-131`、`:165-168`)。 - 屋顶:原版在玩家进入建筑时隐藏屋顶,在外面时屋顶不透明(K-中);0.85 没有出处。 - 阴影 tile 用阴影绘制模式(K-中);0.5 没有出处。 - 影响: - Act 4 熔岩、水面等动画瓦片快约 28%。 - 屋顶在任何情况下都半透明(室外能看穿屋顶,室内又不消失)。 - 阴影浓度不对。 - 建议:动画瓦片按 80/256 帧/tick 推进;屋顶实现"进入即隐藏"并去掉 0.85;阴影用对应的 DrawMode;墙高缺失时报错。 - 已有 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#615
No description provided.