Skip to content

v1.1.2 — Windows 端补上 Oodle 运行时

Choose a tag to compare

@Xuewu-awa Xuewu-awa released this 05 Oct 14:26
· 28 commits to main since this release

UE4/UE5 .pak 工具链,Windows 桌面端与 Android 双端。基于 CUE4Parse,扩展自 kardswalker/Prism。

下载

平台 文件 说明
Windows Prism-Windows-x64.zip 自包含单文件版,无需安装 .NET 运行时
Android Prism-Android.zip 内含已签名 APK,arm64-v8a

解压后请保持目录完整 —— UAssetCLI/、tools/ 与 Oodle 运行时必须和主程序放在一起。

本版:Windows 端补上 Oodle 运行时

背景:Android 一直自带 Oodle(liboodle-data-shared.so 通过 AndroidNativeLibrary 打进 APK),但 Windows 端从来没有接过这条路 —— 仓库里没有任何构建机制产出 oo2core_9_win64.dll,它只在少数开发目录里被手工拷过,发布包一直缺它。

后果很严重:设置里勾选「替换时使用 Oodle 压缩」后,打包用的 Rust 库 repak_bind 按名字加载 Oodle 失败 → panic → abort 整个进程(Windows 上 0xC0000409)。这种终止发生在原生层,.NET 的 try/catch、AppDomain.UnhandledException 全都拦不住 —— 用户看到的就是"点一下闪退"。

本版做了两件事:

  1. Windows 端按 Android 同样的方式接上 Oodle:third_party/lib/win-x64/oo2core_9_win64.dll,构建与发布都自动复制到主程序旁边。两个平台的 Oodle 压缩现在都是开箱可用。
  2. 调用前探测 + 自动降级(v1.1.1 引入,本版保留):万一 Oodle 运行时不在,打包会自动改用不压缩并如实报告,而不是崩溃。探测按平台使用正确的库名(Windows oo2core_9_win64.dll / Android liboodle-data-shared.so)。

Oodle 属于 RAD Game Tools / Epic Games,受虚幻引擎 EULA 约束;相关说明见仓库内 third_party/README.md。

上一版(v1.1.1)的内容

  • 修复开启「Oodle 压缩」时闪退(探测 + 降级)
  • 设置页「信息」新增 Oodle 状态行

v1.1.0 的内容

  • 主题切换:跟随系统 / 浅色 / 深色。浅色主题在大屏上是一整片亮面,深色主题正文为纯白(15.1:1)
  • 只放大文字,不再整体缩放控件与间距
  • 宽屏两列布局 —— 设置页从"比窗口还高"变成"一屏看全"
  • 对比度修复 —— 卡片标题 2.5:1 → 5.4:1
  • 说明文字收进各页共用的「使用说明」浮层
  • app.manifest 补上 DPI 感知声明(高分屏不再位图拉伸)

安装

Windows:解压后运行 Prism.Desktop.Desktop.exe。

Android:安装 android/Prism-Android-Signed.apk。

签名说明:Android 包由 .NET Android 用调试证书签名(CN=Android Debug,SHA-1 76:DB:3A:E3:E2:5A:CB:6D:76:7B:22:34:E4:EA:98:53:B0:7D:E6:A3),与上一版一致,可直接覆盖安装并保留数据。调试证书仅适合自用与内部分发。

已知限制

  • 只支持 .pak;未实现 .utoc / .ucas。
  • 不内置映射文件,需从游戏中自行导入。
  • 需要 AES 密钥的 pak,请在设置页填入。
  • 跨格式转换需要映射文件(.usmap / .jmap);缺映射的贴图会被跳过并在明细里说明。
  • 本地化三路合并只在提供基准文件时生效。
  • 浏览页左侧列表宽度固定,还不能拖动调整。
  • 解包不需要 Oodle:只有解压 Oodle 压缩的条目时才用到,而多数 mod / 补丁 Pak 并非 Oodle 压缩。实测在不含 Oodle 运行时的环境里读取 Pak 完全正常。

校验

见 SHA256SUMS.txt。

许可

GPL-3.0,继承自上游。见仓库内 LICENSE 与 NOTICE。