[Parity][hud][S1][R][H] 迷你面板只有 6 个按钮,图标错位,自创"小站/储物箱"按钮,文本不走 tbl #636

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

来源审计项:hud#1 — [S1][R][H] 1. 迷你面板只有 6 个按钮,图标错位,自创"小站/储物箱"按钮,文本不走 tbl

  • 位置:src/client/ui/control-bar.ts:17(MiniPanelAction)、:36(MINIPANEL_BOUNDS)、:40-47(MINIPANEL_ITEMS)、:57-63 / :89-96(命中:floor((x-320)/27),结果夹到 0..5)、:191-204(绘制)、:269-273(提示);src/client/ui/hud-manager.ts:1670-1678(动作分派)
  • 代码:{ action: 'waypoint', labelZh: '小站/储物箱', labelEn: 'Waypoint / Stash', hotkey: 'V' };const bx = MINIPANEL_BOUNDS.x + 8 + i * 27;const frameIdx = i * 2 + (isHovered ? 1 : 0)
  • 原版:
    • D2Client 同时引用 Panel\minipanel 和 Panel\minipanel_s 两张图(V-bin:D2Client.dll 字符串表)。MPQ 中 minipanel.dc6 为 176×26,minipanel_s.dc6 为 156×26,两者正好差一个 20px 按钮;minipanelbtn.dc6 共 18 帧 20×20,即 9 组"常态/按下"(V-data)。由此推断多人版是 8 个按钮、每格 20px(单机版 7 个)。
    • 按钮图标顺序(逐帧目视 minipanelbtn):角色、物品栏、技能树、队伍、自动地图、消息记录、任务日志、游戏菜单,第 9 组是帮助。对应 tbl:minipanelchar "Character"、minipanelinv "Inventory"、minipaneltree "Skill Tree"、minipanelparty "Party Screen"、minipanelautomap "Automap"、minipanelmessage "Message Log"、minipanelquest "Quest Log"、minipanelmenubtn "Game Menu (Esc)"、minipanelHelp "Help";热键后缀用 minipanelspecial " (%s)";中央三角按钮的提示是 panelmini "Open Mini Panel" / panelcmini "Close Mini Panel"(V-data:ENG string.tbl)。
    • 原版没有"小站/储物箱"按钮。
  • 影响:web 按 i*2 取帧,第 4、5、6 个按钮分别显示"队伍""自动地图""消息记录"的图标,实际功能却是自动地图、任务、小站。队伍、消息记录、游戏菜单三个按钮缺失。按钮间距 27 与原版 20 不符。悬停时显示"按下"帧并加金色描边(原版第二帧是按下态,K-中)。提示文字中英文写死(CHI 下与原版 tbl 不同)。中央三角按钮没有提示。
  • 建议:按 minipanel / minipanel_s 的尺寸排 8 个(单机 7 个)20px 按钮;图标帧号 = 原版序号×2,按下时 +1;提示用上述 tbl 键,热键用 minipanelspecial 拼接;删除 waypoint 动作。
  • 已有 issue:—(#542 只涉及扩展档位的坐标偏移)
> **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 公认行为。 ### 来源审计项:`hud#1` — [S1][R][H] 1. 迷你面板只有 6 个按钮,图标错位,自创"小站/储物箱"按钮,文本不走 tbl - 位置:`src/client/ui/control-bar.ts:17`(`MiniPanelAction`)、`:36`(`MINIPANEL_BOUNDS`)、`:40-47`(`MINIPANEL_ITEMS`)、`:57-63` / `:89-96`(命中:`floor((x-320)/27)`,结果夹到 0..5)、`:191-204`(绘制)、`:269-273`(提示);`src/client/ui/hud-manager.ts:1670-1678`(动作分派) - 代码:`{ action: 'waypoint', labelZh: '小站/储物箱', labelEn: 'Waypoint / Stash', hotkey: 'V' }`;`const bx = MINIPANEL_BOUNDS.x + 8 + i * 27`;`const frameIdx = i * 2 + (isHovered ? 1 : 0)` - 原版: - D2Client 同时引用 `Panel\minipanel` 和 `Panel\minipanel_s` 两张图(V-bin:D2Client.dll 字符串表)。MPQ 中 `minipanel.dc6` 为 176×26,`minipanel_s.dc6` 为 156×26,两者正好差一个 20px 按钮;`minipanelbtn.dc6` 共 18 帧 20×20,即 9 组"常态/按下"(V-data)。由此推断多人版是 8 个按钮、每格 20px(单机版 7 个)。 - 按钮图标顺序(逐帧目视 `minipanelbtn`):角色、物品栏、技能树、队伍、自动地图、消息记录、任务日志、游戏菜单,第 9 组是帮助。对应 tbl:`minipanelchar "Character"`、`minipanelinv "Inventory"`、`minipaneltree "Skill Tree"`、`minipanelparty "Party Screen"`、`minipanelautomap "Automap"`、`minipanelmessage "Message Log"`、`minipanelquest "Quest Log"`、`minipanelmenubtn "Game Menu (Esc)"`、`minipanelHelp "Help"`;热键后缀用 `minipanelspecial " (%s)"`;中央三角按钮的提示是 `panelmini "Open Mini Panel"` / `panelcmini "Close Mini Panel"`(V-data:ENG string.tbl)。 - 原版没有"小站/储物箱"按钮。 - 影响:web 按 `i*2` 取帧,第 4、5、6 个按钮分别显示"队伍""自动地图""消息记录"的图标,实际功能却是自动地图、任务、小站。队伍、消息记录、游戏菜单三个按钮缺失。按钮间距 27 与原版 20 不符。悬停时显示"按下"帧并加金色描边(原版第二帧是按下态,K-中)。提示文字中英文写死(CHI 下与原版 tbl 不同)。中央三角按钮没有提示。 - 建议:按 `minipanel` / `minipanel_s` 的尺寸排 8 个(单机 7 个)20px 按钮;图标帧号 = 原版序号×2,按下时 +1;提示用上述 tbl 键,热键用 `minipanelspecial` 拼接;删除 `waypoint` 动作。 - 已有 issue:—(#542 只涉及扩展档位的坐标偏移)
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#636
No description provided.