[Bug] tbl.ts 字符串表解码器偏差:线性假想索引未对齐暗黑2官方哈希桶(Hash Table)键值格式
已修复 —
已修复 — fix(formats): 按官方哈希桶格式重写 tbl 解码器与编码器 (f4dd55b)
原实现按顺序表解析,与真实 .tbl 的哈希桶布局不符。现已按实际格式…
[测试工程] 缺少现代化单元测试框架:引入 Vitest 规范化测试套件、覆盖率统计与持续集成
已修复 —
已修复 — test: 引入 Vitest 测试框架、覆盖率统计与 CI 流水线 (1a81693)
- 新增
vitest.config.ts、npm test/test:watch/test:coverage。 - 把原先…
[工程化/环境] 测试与构建脚本执行强依赖特定 Node.js 运行时:引入 tsx 解决跨平台与 CI 无法运行 TypeScript 脚本
已修复 —
已修复 — chore(scripts): 使用 tsx 运行 TypeScript 脚本 (63b3962)
package.json 中所有 node scripts/*.ts 的调用已全部改为通过 tsx 运行,并把原先零散的…
[工程化/环境] 测试与构建脚本执行强依赖特定 Node.js 运行时:引入 tsx 解决跨平台与 CI 无法运行 TypeScript 脚本
[测试工程] 缺少现代化单元测试框架:引入 Vitest 规范化测试套件、覆盖率统计与持续集成
[Bug] tbl.ts 字符串表解码器偏差:线性假想索引未对齐暗黑2官方哈希桶(Hash Table)键值格式
[音频/多媒体] MPQ ADPCM + Huffman 音频解码缺失:支持 572 个音频成员并接入 Web Audio API
[架构重构] 场景系统架构割裂:抽离统一游戏世界领域层,消除 map-scene 沙盒与 act-scene 大地图割裂
[功能] NPC:把城镇 NPC 画出来并可对话(凯恩 / 杰海因 / 赫拉铁力 / 拉祖克 / 尼拉塞克…)
[代码质量/鲁棒性] 底层二进制解码过度依赖非空断言 !:缺失防御性越界校验与异常统一
[功能] 纯随机/生成类地图无法生成:70 关随机迷宫 + 31 关野外(鲜血荒野等)全部缺失
Issue #2 解决方案与修复报告
提交 1cfef30 已合入 main 分支。npm run verify:generators 与 npm run typecheck 已全部通过:
- 随机迷宫 (DrlgType 1): 70/70…
[功能] 纯随机/生成类地图无法生成:70 关随机迷宫 + 31 关野外(鲜血荒野等)全部缺失
[功能] 绘制对象层:火把/火盆、木桶/木箱/篮子/箱子、尸体、武器架、传送点…(数据已进包,只差解码与绘制)
[功能] 绘制对象层:火把/火盆、木桶/木箱/篮子/箱子、尸体、武器架、传送点…(数据已进包,只差解码与绘制)
Issue #5 解决报告:对象层美术解码、图集打包与场景深度排序绘制完成
1. 根本原因排查
- 打包器仅解析未解码(
scripts/pack-act-assets.ts): …