Skip to content

v2.2.2

Choose a tag to compare

@strawberry0321 strawberry0321 released this 12 Sep 07:09
· 8 commits to main since this release

2.2.2

修一个"新建对话页点立绘,语音响、立绘不动;在设定里换立绘包也不变,聊一句才变"的问题。

原因:和 2.2.1 是同一类 —— 页面繁忙时浏览器会饿死优先级最低的图片请求。
语音上次已经改走 fetch(高优先级,实测 1–3ms),但立绘当时还是
new Image() 预载 + onload 才换 src:请求卡在那里,onload 一直不来,
于是"换图"这件事被推迟到下一次消息、连接松开之后才落地。设定面板换包也一样 ——
配置存下来了,只是画面在等一个迟迟不到的图片加载。

改了什么

  • 立绘不再等图片加载:先按原 URL 直连渲染兜底,再用 fetch 拿到的 blob: 覆盖;
    布局也改成立刻重排(盒子几何本来就来自 /api/next 的数据,不该等解码)
  • 对话框底图、设定图标一并走同一条字节缓存路径(同一个病根)
  • 每个图位用 artToken 认领,迟到的 blob 不会覆盖更新的图
  • 取不到字节时退回原来的直连方式,不会白屏、不会静音

验证

新增 scripts/sprite-starve-probe.mjs:在无头浏览器里把所有非 blob: 的图片源
一律拦下不落地
,再用真实指针事件点立绘、真实下拉框换立绘包,从 canvas 读回画面颜色。

boot         src=blob:…  画面=a1(包内默认)  尺寸/裁切=441.188px / -44.1187px
click        src=blob:…  画面=a2(换了)      尺寸/裁切=441.188px / -44.1187px
pack-switch  src=blob:…  画面=b1(新包)      尺寸/裁切=352.95px / 0px
直接图片请求被饿死:5 次

同一个探针跑修复前的源码:三行全是"画面=空",连尺寸都不动 —— 正是报告里的症状。
verify.mjs 165 项(新增一组,覆盖这条链路)。

安装

下载下面的 dsh-gal.tgz(不带版本号的那个,永远指向最新版):

dsh plugin --profile desktop add C:\path\to\dsh-gal.tgz

该指令是适配DSH Desktop的,网页端安装见主页(依旧建议直接交给dsh安装,没那么多繁琐步骤)
装完重启 DSH Desktop,然后刷新页面。已经在用旧版的直接装这个覆盖,配置和素材包都保留。

角色素材包

mashiro-pack.zip(精简版,推荐)/ mashiro-pack-full.zip(完整版:原台词过于伤感,不建议使用)
noir-pack.zip
karuha-pack.zip
角色图片见首页底部角色介绍(持续更新ing)
如果遇到台词翻译不对或内容错误可以自行打开音效包的script.csv文件,直接修改即可,想对立绘和音效进行添加,直接拖拽进sprites和voices文件夹,删除则直接删除即可(台词表可删可不删,不影响)