Repository navigation
v1.1.2 — Windows 端补上 Oodle 运行时
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 全都拦不住 —— 用户看到的就是"点一下闪退"。
本版做了两件事:
- Windows 端按 Android 同样的方式接上 Oodle:
third_party/lib/win-x64/oo2core_9_win64.dll,构建与发布都自动复制到主程序旁边。两个平台的 Oodle 压缩现在都是开箱可用。 - 调用前探测 + 自动降级(v1.1.1 引入,本版保留):万一 Oodle 运行时不在,打包会自动改用不压缩并如实报告,而不是崩溃。探测按平台使用正确的库名(Windows
oo2core_9_win64.dll/ Androidliboodle-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-176: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。