• Joined on 2026-05-11
troytt opened issue troytt/diablo2-web#16 2026-09-14 23:58:28 +00:00
[性能] 渲染主循环掉到 20 tps:零视口剔除(88.6% 白画)+ 图集页切换导致单帧最高 3077 次 draw call
troytt commented on issue troytt/diablo2-web#6 2026-09-14 23:57:30 +00:00
[功能] NPC:把城镇 NPC 画出来并可对话(凯恩 / 杰海因 / 赫拉铁力 / 拉祖克 / 尼拉塞克…)

追加:NPC 有立绘时不再叠加绿色占位方块

上一条修复把城镇 NPC 从 103 补到 889 之后暴露出一个渲染层面的旧问题:罗格营地一个分区会出现 19…

troytt pushed to main at troytt/diablo2-web 2026-09-14 23:56:51 +00:00
29b3a4aebd fix(render): NPC 有立绘时不再叠加绿色占位方块 (refs #6)
troytt commented on issue troytt/diablo2-web#6 2026-09-14 16:03:12 +00:00
[功能] NPC:把城镇 NPC 画出来并可对话(凯恩 / 杰海因 / 赫拉铁力 / 拉祖克 / 尼拉塞克…)

追加修复:城镇 NPC 大面积缺失(罗格营地只显示凯恩)

现象

罗格营地只渲染出德卡·凯恩一人,瓦瑞夫、查希、卡夏、阿卡拉、基德以及罗格…

troytt pushed to main at troytt/diablo2-web 2026-09-14 15:59:11 +00:00
e180520ef5 fix(npc): 补齐城镇 NPC 解析的收尾问题并加上回归护栏 (refs #6)
3cd4549332 fix: 修复非基底对象 NPC 丢失及其资源检索区分大小写的问题
451816d627 fix: 修复非基底对象 NPC 丢失问题
ad7ced6760 test: 修复三处跳过守卫,它们只在真实资源到位时才暴露
68c7890eee fix(packer): 修正 monsters 前缀长度,恢复全部 NPC 美术解析 (refs #6)
Compare 5 commits »
troytt reopened issue troytt/diablo2-web#6 2026-09-14 14:59:56 +00:00
[功能] NPC:把城镇 NPC 画出来并可对话(凯恩 / 杰海因 / 赫拉铁力 / 拉祖克 / 尼拉塞克…)
troytt opened issue troytt/diablo2-web#15 2026-09-14 14:40:11 +00:00
[地图生成/野外] 奶牛关(Moo Moo Farm / Level 39)内部景观缺失:退化为纯平地草坪,缺少牛圈 Corral、营地与水塘等专属预设
troytt closed issue troytt/diablo2-web#7 2026-09-14 13:28:54 +00:00
[Code Review] 整体代码质量、架构缺陷与技术债务全景审查报告
troytt commented on issue troytt/diablo2-web#7 2026-09-14 13:28:50 +00:00
[Code Review] 整体代码质量、架构缺陷与技术债务全景审查报告

已处理 — 代码审查母议题

本议题点出的三个其他议题未覆盖的实质缺陷已全部修复(提交以 refs #7 标注):

  1. **锁步 StateHash 遗漏背包 /…
troytt commented on issue troytt/diablo2-web#11 2026-09-14 13:28:46 +00:00
[代码质量/鲁棒性] 底层二进制解码过度依赖非空断言 !:缺失防御性越界校验与异常统一

已修复 — 边界检查读取器与领域错误 (a6ca337 → f52edd8)

新增 src/formats/reader.ts:FormatError / TruncatedDataError / InvalidFieldError 错误层次 + ByteReader…

troytt commented on issue troytt/diablo2-web#6 2026-09-14 13:28:39 +00:00
[功能] NPC:把城镇 NPC 画出来并可对话(凯恩 / 杰海因 / 赫拉铁力 / 拉祖克 / 尼拉塞克…)

已修复 — feat(scene): 衔接 NPC 数据至引擎层及交互面板验证 (7d8629c)

  • 新增 src/game/npc.ts:token → 显示名解析(DC→Deckard Cain、JE→Jerhyn、HR→…
troytt commented on issue troytt/diablo2-web#10 2026-09-14 13:28:35 +00:00
[架构重构] 场景系统架构割裂:抽离统一游戏世界领域层,消除 map-scene 沙盒与 act-scene 大地图割裂

已修复 — 抽取独立的 GameEngine 领域层 (98d6a6d → 6e6d8ed)

此前完整的玩法逻辑被困在 map-scene.ts 这个 fixture 沙盒里,真实的 5 幕世界 act-scene.ts…

troytt commented on issue troytt/diablo2-web#13 2026-09-14 13:28:31 +00:00
[音频/多媒体] MPQ ADPCM + Huffman 音频解码缺失:支持 572 个音频成员并接入 Web Audio API

已修复 — feat(mpq): 实现 ADPCM 与 Huffman 音频解码并接入 Web Audio (4d47a56)

  • 新增 src/mpq/huffman.ts + huffman-tables.ts(9 张表,逐张与 StormLib 对拍)、`a…
troytt commented on issue troytt/diablo2-web#8 2026-09-14 13:28:28 +00:00
[Bug] tbl.ts 字符串表解码器偏差:线性假想索引未对齐暗黑2官方哈希桶(Hash Table)键值格式

已修复 — fix(formats): 按官方哈希桶格式重写 tbl 解码器与编码器 (f4dd55b)

原实现按顺序表解析,与真实 .tbl 的哈希桶布局不符。现已按实际格式…

troytt commented on issue troytt/diablo2-web#14 2026-09-14 13:28:24 +00:00
[测试工程] 缺少现代化单元测试框架:引入 Vitest 规范化测试套件、覆盖率统计与持续集成

已修复 — test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (1a81693)

  • 新增 vitest.config.ts、npm test / test:watch / test:coverage。
  • 把原先…
troytt commented on issue troytt/diablo2-web#12 2026-09-14 13:28:20 +00:00
[工程化/环境] 测试与构建脚本执行强依赖特定 Node.js 运行时:引入 tsx 解决跨平台与 CI 无法运行 TypeScript 脚本

已修复 — chore(scripts): 使用 tsx 运行 TypeScript 脚本 (63b3962)

package.json 中所有 node scripts/*.ts 的调用已全部改为通过 tsx 运行,并把原先零散的…

troytt closed issue troytt/diablo2-web#12 2026-09-14 13:28:11 +00:00
[工程化/环境] 测试与构建脚本执行强依赖特定 Node.js 运行时:引入 tsx 解决跨平台与 CI 无法运行 TypeScript 脚本
troytt closed issue troytt/diablo2-web#14 2026-09-14 13:28:11 +00:00
[测试工程] 缺少现代化单元测试框架:引入 Vitest 规范化测试套件、覆盖率统计与持续集成
troytt closed issue troytt/diablo2-web#8 2026-09-14 13:28:11 +00:00
[Bug] tbl.ts 字符串表解码器偏差:线性假想索引未对齐暗黑2官方哈希桶(Hash Table)键值格式
troytt closed issue troytt/diablo2-web#13 2026-09-14 13:28:11 +00:00
[音频/多媒体] MPQ ADPCM + Huffman 音频解码缺失:支持 572 个音频成员并接入 Web Audio API