NitroPatcher是一个基于NitroHelper的NDS ROM补丁工具。
其实质是通过替换NDS ROM所包含的文件来实现汉化、修改等功能。本工具支持Xdelta补丁。
替代《宝可梦》第四、第五世代汉化修正工具中的补丁应用工具。
应用补丁
GUI(图形化界面)
Windows版(WPF)
支持Windows平台。
需要.NET Framework 4.7或更高版本的运行时(Runtime)。Windows 10/11应该已经预装了.NET Framework 4.7。Windows 7可能需要安装 KB976932、KB4503548更新。
根据图形界面的提示操作即可,或者参照视频教程。
Windows/Android版(MAUI)
支持Windows/Android平台。
Windows平台需从Microsoft Store下载安装,需要Windows 10 17763.0或更高版本。
Android平台理论上最低支持Android 5.0(API 21),但仅在Android 12.0(API 31)上进行了测试。
根据图形界面的提示操作即可。
CLI(命令行界面)
支持Windows、Linux、macOS平台。
需要.NET 6.0 运行时(Runtime)。
用法:
NitroPatcherCli 原始ROM 补丁包 输出ROM
创建补丁
基本用法
使用ndstool分别提取原始ROM和修改后的ROM的文件系统,例如:
ndstool -x example.nds -9 "arm9.bin" -7 "arm7.bin" -y9 "overarm9.bin" -y7 "overarm7.bin" -d "data" -y "overlay" -t "banner.bin" -h "header.bin"
然后筛选出具有差异的文件,将所有文件打包为.zip
压缩包(需注意arm9.bin等文件需要在根目录下)。
额外功能
添加MD5校验码
可在补丁包的根目录下创建名为md5.txt
的文件,在文件中包含原始ROM的MD5校验码。在应用补丁时,补丁工具会自动计算原始ROM和修改后的ROM的MD5校验码,并与md5.txt
中的校验码进行比对。
如果有原始ROM有多个版本(例如,对未汉化的ROM和已汉化的ROM使用同一个补丁),可以在md5.txt
中添加多个校验码,每行一个。以“#”为首的行及空行会被忽略。
这里提供了一个示例。
使用Xdelta补丁
可以在补丁包的根目录下创建名为xdelta
的文件夹,然后计算原始ROM和修改后的ROM之间的差异,并将差异文件保存到xdelta
文件夹中。例如,若对data/some/sub/folder/pack.pak
这个文件计算了Xdelta补丁,则补丁位置应为xdelta/data/some/sub/folder/pack.pak
。
此功能对于ROM中包含较大文件(例如开发商自定义的打包格式)的情况非常有用。
这里提供了一个批量计算脚本。