如何解包mhrise

首发b站 https://www.bilibili.com/read/cv11670696


如果愿意看英文的话,可以参考MHW Modding Discord的 MHR Modding wiki,那個更詳細。这里我偷懒只介绍关键步骤,不会如同wiki一样包含诸多介绍、解包手段以及更新。(主要是我如果跟wiki一样写那么详细那这篇教程就会永远咕咕下去)

wiki github repo:https://github.com/mhvuze/MonsterHunterRiseModding

背景介绍:
由于目前mhr只在switch平台发售,所以我们解包也要从switch的游戏镜像文件开始着手。你可以理解为使用了RE引擎的mhr文件一开始被套了一层switch镜像的壳儿。所以第一步我们就是要把switch的镜像文件拆开,这里需要由主机生产出来的密匙文件配合才可以进行。所以想解包你就要拿到这些“各种各样的资源”(这里不讨论也不提供方法与渠道)。并且配合hactool这类拆包程序进行拆包。

1. 拆switch镜像文件:
因为我比较怕麻烦。所以请大家自行搜索hactool拆包的教程吧(噗)
其实是因为hactool要打指令我猜不少人都不太喜欢。所以我这里推荐一个我自己经常用的拆包方法。那就是用ns模拟器ryujinx进行拆包。
网络上如何使用ryujinx游玩mhr的教程相对比较多。所以相对其他工具更容易上手。而当你可以在ryujinx上游玩mhr的时候,其实就代表了你已经具备了拆包mhr所必要的文件了。所以在拆包的第一步,就是“成功让ryujinx运行mhr”
Ryujinx安装
https://b23.tv/tais8q
Update、DLC安装和手柄、键盘设置
https://b23.tv/nFkkQm
总之,在各种各样的渠道收集到各种各样的文件,并且按照教程成功运行过mhr之后,我们就可以利用ryujinx来拆包mhr了,具体非常简单,如图:

对着游戏右键选单,在Extract Data下面选RomFS,然后他会让你选解包出来的文件存哪儿的。选好就可以等他解完了。(romFS是数据。exeFS里面则可以看作是.exe主程序。解包有些信息也需要从里面提取的。提取出来的东西可以先用nsnsotool解压再去研究)
提取完之后,这一堆文件就是我们要解包的RE引擎文件了


v3.0.0为止


2. 解包pak文件

这里,我们使用RETool进行解包

网址:https://residentevilmodding.boards.net/thread/10567/pak-tex-editing-tool
下载: www.fluffyquack.com/tools/REtool.rar

同时,我们需要一份.list文件目录去解包RE引擎的文件,不然解包出来的文件是没有文件名的,这不利于我们理解文件的作用。文件目录需要在运行游戏时的内存中、解包文件本身的引用里面解析出来。但好在有众多协作者用各种方法收集了大量的文件路径并整理了出来,大家可以在wiki里面下载:https://github.com/mhvuze/MonsterHunterRiseModding/blob/main/files/mhrise.list
mhrise.list以及RETool都下载好之后,把exe跟mhrise.list放在跟re_chunk同目录下。
新建一个txt档案,把以下内容复制黏贴进去

@setlocal enableextensions
@pushd %~dp0
.\REtool.exe -h mhrise.list -x -skipUnknowns %1
@popd
@pause

把这个txt的附档名重命名为.bat,这里我命名为extract-pak_test.bat
你想解包哪个pak档案,你就直接把档案往bat文件上面拖放就可以了
(要解很久的,直到命令行提示你按一下按键继续才算完)

一个个解包完之后就会看到以各个pak文件命名的文件夹

这些文件是按顺序载入的,其中会有冲突的文件,新的pak需要取代旧的pak(比如patch_005的文件要覆盖004的)所以如果你要最新并且完整的游戏文件你就要005覆盖004如此类推直到re_chunk_000.

上面我们说过.list文件里面的文件路径是“收集”回来的,所以其实不是所有文件路径都在里面,解包出来的文件并不是全部文件。未记载在.list文件目录里面的文件都会被我们“略过”不解出来。如果你还是想要解压这些没有文件名不在目录里面的文件,你可以把.bat命令里面的
-skipUnknowns
这个参数删除,这样就会把全部文件全解出来了


这些文件解包出来就直接放在根目录,文件名就是hash,但还是有附档名的


至此,解包就完成了。

3. 文件解析

.tex文件都是贴图文件,你可以下载asterisk做的程序把.tex转换成dds文件
https://github.com/AsteriskAmpersand/MHR_Tex_Chopper/releases
直接把tex拖放在exe上面就搞定了。dds文件可以用ps打开(要安装一些插件)

.user 文件里面基本上都是跟玩家直接相关的游戏数据(比如肉质啊武器数据啊乱七八糟的),一般我解包都是解这类文件。当然这些数据都是不能直接打开看的,需要你去分析文件结构再解析含义。文件结构以及含义解析可以参考mhrice的repo
https://github.com/wwylele/mhrice
在.user文件里面,有一块叫做rsz的子结构。很多其他类型的文件都会有rsz结构,而通常文件的重点都会在rsz结构里面,所以先把rsz结构理顺会比较好。

.rcol文件全都是碰撞文件,其中玩家重点关注的动作值就在.rcol里面。同样,.rcol里面也有rsz子结构。文件结构同样可以参考mhrice的repo

.motfsmv2 就是动画以及动作相关的文件,很多动作相关的参数(比如无敌帧)都在里面,同样也有rsz子结构,但里面的大概平均有1万多项不同结构长度不等的数据,解个p 靠大家了

.msg文件全是文本文件,可以用REngine_Text-Tool.解包
网址:https://zenhax.com/viewtopic.php?t=13337
默认拖进去是英文,打开cmd命令行输入
REngine_Text-Tool.exe 文件名.msg.17 zhCN
可以获得简体中文的文本。反正我置顶就有全文本直接下载就是了

4. mod
在目前情况下,我们要mod就只能进行“封包”类的魔改,把原文件封回去。不过好在mhr一般都预留了一个pak位置进行更新,比如v3.0.0的实际更新文件是005,那么我们魔改的文件封包回去改成006也会有效,这样就可以保证优先加载你魔改的文件了。(对,意思就是两个封好的mod是不能共存的,最好让玩家自己封包。)
封包的软件也在wiki有:https://github.com/mhvuze/MonsterHunterRiseModding/blob/main/files/RisePakPatch.zip
怎么封以及怎么使用mod我就不说了,我又不做mod
英文原文教程:
https://github.com/mhvuze/MonsterHunterRiseModding/wiki/Using-Custom-Files

合作授权:dtlnor

by 某个mh萌新 发布于 2021-06-11
打赏后可直接下载附件 赠人玫瑰 手留余香
默认
最新
1