CF Rez Manager 是一个 Windows WPF 工具,用于浏览、搜索、解包和重新打包 LithTech / CrossFire 的 .rez 资源包,也可以直接预览扫描目录里的散文件资源。
English documentation is available in README.en.md.
- Windows
- .NET 8 SDK 或 .NET 8 Runtime
dotnet build .\CFRezManager.csproj可以从 Visual Studio 运行,也可以启动构建后的程序:
bin\Debug\net8.0-windows\CFRezManager.exe
项目包含 GitHub Actions 发布流程。推送 v* 标签后会自动构建 Windows x64 自包含单文件包,并创建 GitHub Release。
git tag v1.0.0
git push origin main
git push origin v1.0.0- 启动程序。
- 选择包含
.rez文件或散文件资源的文件夹。 - 双击普通文件夹、REZ 包、REZ 内部目录或支持预览的文件进入或打开。
- 使用顶部面包屑导航返回上级或跳转到任意父级位置。
顶部语言选择框可以在 中文 和 English 之间切换。程序会记住语言、视图大小、扫描目录、打包目录、导出目录和保存位置。
搜索框会在首次输入时建立内存索引,之后可以快速筛选已经扫描到的文件、目录和 REZ 内部路径。多个关键词用空格分隔时,需要全部命中才会显示结果。
右下角 大小 滑条可以切换显示方式:较小时使用列表视图并显示路径和大小,较大时切回平铺图标视图。鼠标悬停在文件、目录或 REZ 项目上时,会显示类型、路径、大小、来源、MD5、偏移等信息。
- PNG、JPG、BMP、GIF、TIFF、DDS、TGA、DTX 图片会懒加载缩略图。
- DDS 支持 DXT1/DXT3/DXT5 块压缩纹理,也支持常见未压缩 RGB、RGBA 和亮度纹理。
- DTX 和 TGA 支持普通纹理、CrossFire 常见 LZMA 压缩纹理,以及部分缺失或错位 TGA 头的原始像素纹理。
- 常见图片格式支持普通文件和 LZMA 压缩文件预览。
- DDS、DTX、TGA 和常见图片格式可以打开原始尺寸预览窗口。图片不会被强制拉伸,过大时可以滚动查看。
- 图片预览窗口支持同目录/同列表内的上一张、下一张导航,可用按钮或左右方向键切换。
- WAV、OGG、MP3 音频支持元数据解析、波形缩略图和双击预览。
- 音频预览窗口支持上一首/下一首、播放/暂停/停止、进度拖动、音量调节,以及接近 PotPlayer 风格的动态频谱。
- OGG 会通过内置 Vorbis 解码路径转换为临时 WAV 后播放,避免 WPF 直接播放失败。
- 音频和资源缩略图会在角标显示
RAW、LZMA、DXT、TXT等存储/解码状态。 - SPR 支持 LithTech 动态精灵解析和动画预览。程序会读取 SPR 中记录的帧率和 DTX 帧路径,从同一个 REZ 包或已解包目录中加载 DTX 帧并自动播放;找不到帧时会回退到帧路径文本预览。
- LTC 支持缩略图和双击预览。内置解码器会处理普通 LTC、LZMA 压缩 LTC,以及 CrossFire 常见的
54 83 B2 E1头和外层 XOR。解码后的 LTA 文本可以直接查看;如果内容是 LithTech 模型,会尝试渲染模型缩略图并打开独立模型预览窗口。 - LTB 支持更多二进制 mesh 布局、mesh 表偏移和顶点布局变体,能直接预览更多 CrossFire 导出的模型。
- LTA 支持
lt-model模型文本,也支持world地图文本,polyhedron的点表和面索引会被转换为可预览网格。 - DAT 支持常见 CrossFire 地图和对象预览。LithTech world DAT v85 可以渲染地图模型缩略图并打开模型预览窗口;CrossFire 对象 DAT 会解码为文本预览,当前支持
Zoneman、EnvSound、MovePath和CameraAnimation。 - CFT、FCF、FXF、FXO、NAV、APF、REF、TXT 以及部分 WAVE 资源可以解码为可读文本或元数据预览,包含常见 LZMA 压缩形式。
- LZMA 压缩资源会在缩略图角标显示
LZMA。
- 鼠标左键点击模型窗口:进入自由视角。
- 鼠标移动:调整视角方向。
W/A/S/D:前后左右移动。Shift:加速移动。- 鼠标滚轮:沿当前视线方向前进或后退。
- 鼠标右键或
Esc:退出自由视角。 Reset View:重置相机位置和方向。
- 鼠标后退键:回到上一个浏览位置。
- 鼠标前进键:前进到下一个浏览位置。
- 按住鼠标左键拖动:框选可见文件或目录。
- 拖选时按住
Ctrl:切换选区。 - 拖选时按住
Shift:追加选区。
点击 全部导出... 可以导出当前扫描范围内所有 REZ 包中的全部文件。
只导出指定文件或目录:
- 选中一个文件、文件夹、REZ 包或 REZ 内部目录。
- 需要多选时,使用
Ctrl或Shift选择多个项目。 - 右键选中的项目。
- 选择
导出此项...或导出 N 个选中项...。 - 选择输出文件夹。
导出的文件会保留 REZ 内部目录结构。
点击 打包文件夹... 可以把普通 Windows 文件夹打包为新的 .rez 文件。
- 准备一个包含目标文件和子目录的文件夹。
- 点击
打包文件夹...。 - 选择源文件夹。
- 选择输出
.rez文件路径。
被选中文件夹的内容会成为新 REZ 包的根目录内容。程序会加密目录表,并重新计算每个文件的 MD5。
- 文件数据在 REZ 中直接存放。
- REZ 目录表由
RezCrypto负责解密和加密。 - 目录表中的文件 MD5 与原始文件数据的 MD5 一致。
- 重新打包时,文件名和目录名目前要求为 ASCII。
- 重新打包时,文件扩展名需要为 1 到 4 个字符。
- 从文件夹创建新 REZ 会保留内容和目录结构,但不会复制原包的字节级布局、偏移、时间戳或整包 MD5。
- 发布首个正式版
v1.0.0,将当前 REZ 浏览、搜索、解包、重新打包和多格式预览能力整理为稳定版本。 - SPR 动态精灵预览支持从 REZ 包和本地解包目录加载 DTX 帧,缩略图会优先使用真实帧画面,双击预览可自动播放动画。
- 图片/SPR 预览窗口支持上一项/下一项导航、播放/暂停和帧选择控件的中英文切换,语言变化后窗口文案会同步刷新。
- 本地散文件 SPR 也可以解析并查找相邻资源树中的帧文件,方便直接查看已解包资源。
- 音频预览窗口改为无系统标题栏样式,并调整频谱峰值下落动画,显示更贴近播放器视觉效果。
- 为程序加入应用图标,并更新中英文说明书与 GitHub Release 双语文案。
- 新增 DDS 缩略图和原始尺寸预览支持,覆盖 DXT1/DXT3/DXT5 块压缩纹理以及常见未压缩 RGB、RGBA、亮度纹理。
- 改进 DDS 纹理读取,能识别 mipmap 和 cubemap 数据长度,缩略图会按最大边长缩放以减少内存占用。
- 常见栅格图片新增 LZMA 压缩资源预览路径,并在缩略图角标和悬停信息中区分
RAW、LZMA、DXT等存储状态。 - 独立预览工具和模型/LTC 错误提示跟随保存的中英文语言设置。
- 模型预览自由视角改用 WPF 渲染帧驱动,移动更平滑,关闭窗口时也会正确释放刷新订阅。
- 更新中英文说明书和 GitHub Release 文案,并加入支持项目二维码。
- 新增散文件浏览支持,扫描目录里的资源也可以直接预览。
- 新增 WAV、OGG、MP3 音频元数据解析、波形缩略图、上一首/下一首导航和 PotPlayer 风格音频预览窗口。
- 新增 OGG 内置转换播放路径,并使用 NAudio/MediaFoundation 支持 MP3 频谱分析。
- 优化音频频谱绘制,改用
WriteableBitmap像素缓冲提升细格子频谱性能,并修正播放结束后悬浮峰值停在空中的问题。 - 新增更多 CrossFire 资源文本解码,包括 CFT/FCF/FXF/FXO/NAV/APF/REF 和 WAVE 头信息。
- 更新中英文说明书和 GitHub Release 文案。
- 扩展 LTB 二进制模型解析,支持更多 mesh 表位置、顶点布局、后置数据和 mesh 类型变体。
- 新增 LTA world/map 文本解析,可以把
polyhedron、pointlist和editpoly/f面索引转换为地图网格预览。 - 改进模型预览窗口,新增自由视角、WASD 移动、Shift 加速、滚轮移动和更稳定的视角重置。
- 改进图片预览窗口,支持上一张/下一张导航,并优化缩略图解码尺寸以保留原始比例。
- 修订中英文说明书和 GitHub Release 文案。
MainWindow.xaml/MainWindow.xaml.cs:WPF 界面和用户操作逻辑。RezArchiveReader.cs:读取和解包 REZ。RezArchiveWriter.cs:从文件夹打包生成新 REZ。RezCrypto.cs:REZ 目录表解密和加密逻辑。ExplorerItem.cs:程序内的文件夹、散文件和资源项目模型。LocalizedText.cs:独立预览工具和解码错误提示的中英文文案。PreviewTool.cs:独立预览工具入口。AudioMetadataDecoder.cs/AudioThumbnailRenderer.cs:音频元数据和波形缩略图渲染。AudioPreviewWindow.xaml/AudioPreviewWindow.xaml.cs:独立音频预览窗口和频谱绘制。AudioSpectrumAnalyzer.cs/OggVorbisWaveDecoder.cs:音频频谱分析和 OGG 转 WAV 播放转换。ResourceTextDecoder.cs:更多文本类 CrossFire 资源解码。DtxThumbnailDecoder.cs/TgaThumbnailDecoder.cs/DdsThumbnailDecoder.cs:图片和纹理预览解码。LithTechSpriteDecoder.cs/LithTechSpritePreviewLoader.cs:SPR 动态精灵解析和动画帧加载。CrossFireLtcDecoder.cs/LithTechLtcNativeDecoder.cs:LTC 文本和模型预览解码。LithTechModelDecoder.cs/LithTechModelThumbnailRenderer.cs/LithTechModelSceneBuilder.cs:LithTech 模型、LTB/LTA world 解析和渲染。CrossFireDatDecoder.cs/LithTechWorldDatDecoder.cs:DAT 对象文本和 LithTech world 地图预览解码。TextThumbnailRenderer.cs:文本类资源的缩略图渲染。VirtualizingWrapPanel.cs:虚拟化图标网格布局。
如果这个工具帮到了你,可以请我喝杯咖啡。


