Skip to content

Prism v1.2.3

Latest

Choose a tag to compare

@Xuewu-awa Xuewu-awa released this 18 Oct 03:22

Prism v1.2.3

一张「未压缩」贴图修好了,顺手把贴图替换的两份代码合成了一份。

修好:未压缩贴图替换失败

现象:某些贴图(例如 KARDS 的 T_standard_ammo,看着就是一张普通插图)在桌面端点「替换」
会报 Could not detect a supported pixel format from the asset.,而原始预览完全正常。

原因有两层:

  • 这类贴图是 PF_B8G8R8A8(未压缩 32 位彩色),尺寸还不是 2 的幂(2090×2311),
    数据全部内联在 .uexp 里,没有 .ubulk;
  • 桌面端的替换其实是交给 UAssetCLI 子进程完成的,而 CLI 为了保持精简,自带了一份
    纹理解析代码 —— 那份副本里没有未压缩格式,也还留着「尺寸必须是 2 的幂」的老判断。
    于是主程序看得懂、能预览,CLI 一进去就抛异常。

现在 CLI 和主程序共用同一份解析代码:未压缩贴图直接按像素打包,PF_DXT1 用内置 BC1 编码,
两者都不再需要 astcenc / texconv。同类资产(非 2 的幂、没有 ubulk)也一并受益。

顺带

  • 替换失败时界面只显示一行原因,完整的 CLI 输出写进日志(之前整段堆栈会铺在替换项上);
  • 没有外部编码器时,不再拦掉本来就能内部编码的格式;
  • 纹理解析 / mip 回写只剩一份实现(UAssetTexture.Core),以后不会再出现
    「主程序能预览、CLI 替换不了」这种分叉;
  • 261 项自动化断言全绿,发布包冒烟测试通过。

安装

  • Windows:解压 zip,双击 Prism.Desktop.Desktop.exe
    (UAssetCLI/ 与 tools/ 要和它放在同一目录)
  • Android:直接覆盖安装 apk(versionCode 10 / versionName 1.2.3)