[Parity][motion-input][S2][R] 世界视图中心恒为 (w/2, h/2),打开左/右面板时不平移 #596

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

来源审计项:motion-input#17 — [S2][R] 17. 世界视图中心恒为 (w/2, h/2),打开左/右面板时不平移

  • 位置:view/scene-source.ts:288-297、:320-323(相机左上角 = 玩家 − (w/2, h/2));view/viewport-profile.ts:286-320(subTileToScreen / screenToSubTile 以 (w/2, h/2) 为原点)、:191-198(playAreaCenter.y = (h − 48) / 2,和实际相机的 h/2 不一致,而且没有被使用)
  • 代码:y: playerWorld.y - profile.height / 2
  • 原版:打开单侧面板时,游戏视野会向没被遮挡的半屏平移,让角色位于可见一半的中央(K-中/高)。仓库里 ui/minimap.ts:172-175、:216-223 对 automap 用了 ±160 的平移和 centerY = (H−48)/2(代码注释声称来自 D2Client 0x6fb102a0..0x6fb10378,未复核)。世界视图的纵向中心到底是 h/2 还是 (h−48)/2,待确认。
  • 影响:打开背包或角色面板时,角色和周围视野被面板挡住一半;点击时的世界坐标换算也随之不同。
  • 建议:逆向 D2Client 的视图偏移(面板打开时的 X 偏移和纵向中心),在 scene-source 和 screenToSubTile 中同步应用。
  • 已有 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 公认行为。 ### 来源审计项:`motion-input#17` — [S2][R] 17. 世界视图中心恒为 (w/2, h/2),打开左/右面板时不平移 - 位置:`view/scene-source.ts:288-297`、`:320-323`(相机左上角 = 玩家 − (w/2, h/2));`view/viewport-profile.ts:286-320`(`subTileToScreen` / `screenToSubTile` 以 (w/2, h/2) 为原点)、`:191-198`(`playAreaCenter.y = (h − 48) / 2`,和实际相机的 h/2 不一致,而且没有被使用) - 代码:`y: playerWorld.y - profile.height / 2` - 原版:打开单侧面板时,游戏视野会向没被遮挡的半屏平移,让角色位于可见一半的中央(K-中/高)。仓库里 `ui/minimap.ts:172-175`、`:216-223` 对 automap 用了 ±160 的平移和 centerY = (H−48)/2(代码注释声称来自 D2Client 0x6fb102a0..0x6fb10378,未复核)。世界视图的纵向中心到底是 h/2 还是 (h−48)/2,待确认。 - 影响:打开背包或角色面板时,角色和周围视野被面板挡住一半;点击时的世界坐标换算也随之不同。 - 建议:逆向 D2Client 的视图偏移(面板打开时的 X 偏移和纵向中心),在 scene-source 和 `screenToSubTile` 中同步应用。 - 已有 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#596
No description provided.