Skip to content

v0.9.4 —— RabbitFX 洗清 · 跑通即自动撤回预警 · 湿润效果修复与旗袍的崩溃根因(#10 #11)

Choose a tag to compare

@jing-hy jing-hy released this 02 Oct 07:24
· 136 commits to main since this release

本版修复的反馈:#10 · mod问题 与 #11 · 湿润效果修复,UID mod问题2(同一批现象,见第 1 节);另有一条来自 QQ 群的「某个皮肤包导不进去」(第 3 节)。

一、修好了「跟湿润效果修复 / 庄方宜旗袍一起用就崩、或模型不出来」(#10 #11)

根因是我们自己造成的:0.9.2 之前,程序在生成「给游戏加载的那份 Mod 配置」时,会把 Mod 里要塞进游戏着色器的汇编文本误当成 ini 控制流,把其中的 endif 整行删掉(拿修复前的旧实现真跑,实测:RabbitFX.ini 的 endif 67 → 5(删 62 行)、湿润效果修复 11 行、庄方宜两份 CutoutMask.ini 各 4 行)。汇编不闭合 ⇒ 显卡着色器编译器当场崩(nvgpucomp64),或者让剔除遮罩失效、模型干脆不显示。

  • 生成逻辑在 0.9.2 已修;本版再补上自动体检:打开管理器时如果发现你那份「给游戏加载的配置」是被旧版本改坏的,会按你 Mod 库里的原件自动重新生成,并在自检里写清是哪个 Mod、为什么。
  • 你的 Mod 库一直是安全的:我们只改给游戏加载的那份副本,库里原件从来没有被改过(本版也把这条做成了明确的判定:万一是库里的原件受损,只如实报告、绝不自动改库)。

二、原来那 12 条「覆盖同一批资源」不是冲突,而且以后不会再报

「(重要前置)湿润效果修复」是个通用效果前置包(它给 25 个角色各配一张 wet_map),跟每个皮肤都有资源交集是它的设计使然,不是两个 Mod 抢资源。本版起:

  • 实测跑通过的组合,它的静态冲突提示会自动消失 —— 只要这套 Mod 真的进得去游戏(正常退出,或存活 ≥ 2 分钟),以后不再提示"覆盖同一批资源",自检里会写「另有 N 条…以前跑通过、已忽略」。
  • 同理,之前"这套组合以前崩过"的提示也会自动撤回:同一套组合后来跑通了,那条记忆就被移出,下次启动不再弹。

判据是"确实跑通"而不是"没检测到崩溃" —— 静默闪退(进去几十秒进程就没了)不算成功,记忆会留着,免得把有效预警误删掉。

三、某个皮肤包"导不进去"(QQ 群反馈)

一个名字里带 rabbitfx 的皮肤包(莱万汀 as 2B)导入后在界面上完全不出现 —— 它被误判成"依赖"藏起来了。本版修好归类判据(名字像依赖 且 自己不带换装资源,才算依赖包),真依赖包照旧不出现在 Mod 列表里。

四、RabbitFX 结案:不再自动屏蔽

上一个版本把 RabbitFX 列进了「已知有害依赖」并自动不加载。那个判断的依据,正是第 1 节那个我们自己的 bug 造出来的(它的着色器汇编被删了 62 行 endif)。修好之后实测:带着 RabbitFX 进游戏,渲染一切正常 ⇒ 本版移除这条禁令,它随皮肤正常按需加载。

五、其它修复

  • 崩溃判定的两条链路判据不一致:以前"正常退出"也可能被报成「崩溃判定:CrashSight 记录到异常」,还会连带挂上"Mod 资源冲突"的归因,把人引去折腾 Mod。现在统一为只有真的上传了崩溃转储才算崩,弹窗文案也改成「检测到崩溃(CrashSight 上传了崩溃转储)」/「未检测到崩溃(正常退出)」。
  • 公告与异常状态预警支持版本区间:每条公告可选 min_version / max_version —— 两个都不填 = 所有版本都能收到(安全预警走这条);两个都填同一个版本号 = 只有装了那个版本的人看得到。critical 预警同样受这个限制,避免老公告越积越多。
  • 清掉了遗留的探针:原来有两处「每帧」自增的诊断计数(MC_Probe.ini 与控制器产物 controller.ini 的 [Present]),改成每 5 秒记一次;并退役了一对早期排查专用的探针段。

已知问题

  • RTX 40 系及更早显卡用不了 DLSS5 神经渲染 —— 这是 NVIDIA 的支持范围问题(面板会显示「成功NR帧 0」+ 0xBAD00001),不是装坏了,等驱动放开即可用。
  • #5(问题合集)仍然开着:里面还有待复测的部分。
  • 库里若手动放过多份 RabbitFX:程序只启用其中一份(作者在发布页写死过"多个实例会导致异常行为与游戏崩溃")。