troytt
|
6eaeab4619
|
feat(skills): authentic 1.13c Cast Overlay system and elemental spell animations (Fixes #386)
|
2026-09-23 03:53:57 +00:00 |
troytt
|
627af83e97
|
feat(skills): authentic 1.13c Fire Bolt projectile physics from Missiles.txt (Fixes #385)
|
2026-09-23 02:09:50 +00:00 |
troytt
|
f4dd55be6c
|
fix(formats): 按官方哈希桶格式重写 tbl 解码器与编码器 (fixes #8)
- 重构了 `src/formats/tbl.ts` 以正确读取 21字节魔数头与 17字节哈希桶节点
- 使用了 NUL 终止与正确的字节长度计算方式,修正之前错误的 UTF-16 假设
- 支持通过 `TextDecoder` 选择代码页 (默认为 windows-1252,支持 gbk 等 fallback)
- 暴露了原始的 O(1) 线性探测查询函数 `lookupTblFast` 和哈希函数 `tblHash`
- 对 `scripts/lib/tbl-writer.ts` 及其验证脚本进行了重写,以正确写入和校验哈希桶布局
- 增加了完整涵盖功能与越界校验的 vitest 单元测试,并在真实的 113c patchstring.tbl 下实现了 1169/1169 哈希全量验证通过
- 将测试文件加入项目目录
|
2026-09-14 12:30:07 +00:00 |
troytt
|
7a24a3f806
|
加入自产夹具美术(samples/fixtures,492 KB)
这些文件全部由仓库内脚本生成,无第三方版权问题:
node scripts/make-fixtures.ts samples/fixtures # DC6/调色板/文本表/期望网格
node scripts/make-map-fixtures.ts samples/fixtures # DT1/DS1/夹具 MPQ
入库后 clone 即可跑夹具相关的校验与页面(verify:all、map.html?data=samples/fixtures),
不必先拿到原版 MPQ。
.gitignore 相应调整:用 `samples/*` 而不是 `samples/`(git 不允许反选被整体排除的目录),
并单独放行 samples/fixtures/*.mpq(那个 MPQ 是我们自己生成的)。原版 MPQ、烘焙图集包
与第三方参考源码仍然不入库。
|
2026-09-13 18:27:16 +08:00 |