[Parity][hud][S2][H][R] 控制栏和生命法力球的悬停文本不走 tbl,提示框样式是自己设计的 #644

Closed
opened 2026-10-02 11:42:51 +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#10 — [S2][H][R] 10. 控制栏和生命法力球的悬停文本不走 tbl,提示框样式是自己设计的

  • 位置:src/client/ui/control-bar.ts:217-289(exp / stamina / run / statPlus / skillPlus / 迷你面板的提示和 drawMiniTooltip)、src/client/ui/globes.ts:159-178
  • 代码:`Experience: ${xp.toLocaleString()} / ${next.toLocaleString()} (${pct}%)`;`Stamina: … (${isRunning ? 'Running' : 'Walking'})`;Toggle Run/Walk (R) — Current: …;Unallocated Stat Points: … (Click to open Character Sheet A);`${isEn ? 'Life' : '生命'}: …`;w = Math.max(120, measure + 20)、fillRect(x, y, w, 24)、strokeStyle = '#8c7244'、font: 'fontexocet10', color: 'gold',y 固定为 518 或 502
  • 原版:tbl 中有 panelexp "Experience: %u / %u"、panelstamina "Stamina: %d / %d"、panelhealth "Life: %d / %d"、panelmana "Mana: %d / %d"、RunOn "Run" / RunOff "Walk"、strlvlup "New Stats"、strnewskl "New Skill"(V-data)。提示框由 D2Win_10124 绘制(参数由 #10129 / #10130 设置):宽 = 文本宽 + 8;高 = 行数 × 16(CHI 为 14)× nHeight/10;黑色 DRAWMODE_TRANS75 底,无描边;x 夹在 [0, 屏宽 − 宽],y 夹在 [高 − 5, 屏高 − 5];文字太高时从 font16 依次降到 font8、font6(V-src D2WinFont.cpp:590-699)。D2Client 调用时用的字体、颜色和锚点未核实。
  • 影响:所有 HUD 悬停提示的文字都与原版不同(多出百分比、千分位、"(Running)"、操作说明等内容),中文措辞也不同;框体尺寸、颜色、边框都不同。
  • 建议:文本统一用上述 tbl 格式化;提示框按 #10124 的规则绘制(可以抽成公共的 framed-text 函数)。
  • 已有 issue:—(#557 是大于 800×600 时不显示或偏移,不同)
> **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#10` — [S2][H][R] 10. 控制栏和生命法力球的悬停文本不走 tbl,提示框样式是自己设计的 - 位置:`src/client/ui/control-bar.ts:217-289`(exp / stamina / run / statPlus / skillPlus / 迷你面板的提示和 `drawMiniTooltip`)、`src/client/ui/globes.ts:159-178` - 代码:`` `Experience: ${xp.toLocaleString()} / ${next.toLocaleString()} (${pct}%)` ``;`` `Stamina: … (${isRunning ? 'Running' : 'Walking'})` ``;`Toggle Run/Walk (R) — Current: …`;`Unallocated Stat Points: … (Click to open Character Sheet A)`;`` `${isEn ? 'Life' : '生命'}: …` ``;`w = Math.max(120, measure + 20)`、`fillRect(x, y, w, 24)`、`strokeStyle = '#8c7244'`、`font: 'fontexocet10', color: 'gold'`,y 固定为 518 或 502 - 原版:tbl 中有 `panelexp "Experience: %u / %u"`、`panelstamina "Stamina: %d / %d"`、`panelhealth "Life: %d / %d"`、`panelmana "Mana: %d / %d"`、`RunOn "Run"` / `RunOff "Walk"`、`strlvlup "New Stats"`、`strnewskl "New Skill"`(V-data)。提示框由 `D2Win_10124` 绘制(参数由 #10129 / #10130 设置):宽 = 文本宽 + 8;高 = 行数 × 16(CHI 为 14)× nHeight/10;黑色 `DRAWMODE_TRANS75` 底,无描边;x 夹在 [0, 屏宽 − 宽],y 夹在 [高 − 5, 屏高 − 5];文字太高时从 font16 依次降到 font8、font6(V-src `D2WinFont.cpp:590-699`)。D2Client 调用时用的字体、颜色和锚点未核实。 - 影响:所有 HUD 悬停提示的文字都与原版不同(多出百分比、千分位、"(Running)"、操作说明等内容),中文措辞也不同;框体尺寸、颜色、边框都不同。 - 建议:文本统一用上述 tbl 格式化;提示框按 #10124 的规则绘制(可以抽成公共的 framed-text 函数)。 - 已有 issue:—(#557 是大于 800×600 时不显示或偏移,不同)
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#644
No description provided.