任务日志界面(Quest Log)没有正常显示原版任务图标(a1q1..a5q6.dc6) #140

Closed
opened 2026-09-21 02:00:12 +00:00 by troytt · 1 comment
Owner

问题描述

参考截图:https://screenshot-v2.corp.google.com/6rvc8kohmo96g
打开任务日志面板(快捷键 Q)时,上方 6 个任务插槽仅显示了文字“Q1 邪恶洞窟 已完成”等占位符,没有显示暗黑 2 原版的任务石雕图标(data\global\ui\Menu\a1q1.dc6 .. a5q6.dc6)。

根因分析

  1. scripts/pack-ui-assets.ts 仅打包了 questbackground.dc6 和 expquesttabs.dc6,漏掉了 data\global\ui\Menu\a1q1.dc6 至 a5q6.dc6 共 27 个任务的图标序列帧。
  2. src/ui/world-panels.ts 在绘制任务槽时未渲染任务图标纹理,仅用矩形和文字替代。

解决方案

  1. 在 scripts/pack-ui-assets.ts 中解码全部 27 个任务 DC6(Act 1~3 各 6 个、Act 4 共 3 个、Act 5 共 6 个:a1q1..a5q6.dc6),提取其完成态与进行态帧并打入预烘焙 UI 图集。
  2. 在 WorldPanelsHud.drawLeftDockPanel(kind === "quest")中,按当前选中的章节 Tab(Act I..V)渲染对应的原版任务图标至 6 个石槽内,并支持点击切换各章节任务详情。
### 问题描述 参考截图:https://screenshot-v2.corp.google.com/6rvc8kohmo96g 打开任务日志面板(快捷键 `Q`)时,上方 6 个任务插槽仅显示了文字“Q1 邪恶洞窟 已完成”等占位符,没有显示暗黑 2 原版的任务石雕图标(`data\global\ui\Menu\a1q1.dc6` .. `a5q6.dc6`)。 ### 根因分析 1. `scripts/pack-ui-assets.ts` 仅打包了 `questbackground.dc6` 和 `expquesttabs.dc6`,漏掉了 `data\global\ui\Menu\a1q1.dc6` 至 `a5q6.dc6` 共 27 个任务的图标序列帧。 2. `src/ui/world-panels.ts` 在绘制任务槽时未渲染任务图标纹理,仅用矩形和文字替代。 ### 解决方案 1. 在 `scripts/pack-ui-assets.ts` 中解码全部 27 个任务 DC6(Act 1~3 各 6 个、Act 4 共 3 个、Act 5 共 6 个:`a1q1..a5q6.dc6`),提取其完成态与进行态帧并打入预烘焙 UI 图集。 2. 在 `WorldPanelsHud.drawLeftDockPanel`(`kind === "quest"`)中,按当前选中的章节 Tab(Act I..V)渲染对应的原版任务图标至 6 个石槽内,并支持点击切换各章节任务详情。
Author
Owner

验证通过并已随提交 14443c6 修复关单

  1. 改动方案:

    • 在 src/ui/world-panels.ts 中接线 1~5 幕全部 27 个任务,渲染 72x86 的 DC6 原版任务图标(a1q1..a5q6)与 27 帧已完成金印(questdone.dc6)。
    • 针对第 4 幕只有 3 个任务的设定实施插槽安全保护,自动禁用第 4~6 插槽。
  2. 验证结果:

    • 27 个任务图标在活动与完成状态下均正确渲染,tests/ui-hud.test.ts 覆盖测试全绿。
### 验证通过并已随提交 14443c6 修复关单 1. **改动方案**: - 在 `src/ui/world-panels.ts` 中接线 1~5 幕全部 27 个任务,渲染 72x86 的 DC6 原版任务图标(`a1q1..a5q6`)与 27 帧已完成金印(`questdone.dc6`)。 - 针对第 4 幕只有 3 个任务的设定实施插槽安全保护,自动禁用第 4~6 插槽。 2. **验证结果**: - 27 个任务图标在活动与完成状态下均正确渲染,`tests/ui-hud.test.ts` 覆盖测试全绿。
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#140
No description provided.