一个www.romhacking.net数据创建和更新检查器。
rhdndat的Python项目详细描述
rhdndat在同一目录中找到三个(rom file, softpatch file, version file),使用version检查romhacking.net更新,并在stdout或文件上为每个软补丁的结果创建一个clrmamepro条目。
最后一个是一个特殊情况,以识别带有恢复补丁的硬补丁rom。
版本文件名为version,后面有一个版本号行和一个romhacking.net url行,重复。这些对应于每一个黑客或翻译。
如果没有补丁文件,但存在一个版本文件,扩展名匹配,并且使用的是不使用ROM的ROM,该文件将被假定为可缓存的,可以通过传递。在正常操作期间,对于所有roms,rhdndat在rom文件中存储扩展属性user.rom.md5、user.rom.crc32和user.rom.sha1,这些校验和引用“修补”文件,即使修补程序是软修补程序。
这使得rhdndat更快,只需在版本文件修改后或使用-x选项后再次进行校验和。
预期的工作流程是:
- rhdnet dir romtype -t
- 检查是否有任何更新,然后更新此处的修补程序和版本文件
然后两个选项之一:
- rhdnet dir romtype -s
- 如果只想更新已更改版本文件目录的扩展属性
- rhdnet dir romtype -o hackdat -d nointroxml
- 如果要创建或更新追溯黑客数据并采用原始名称 来自nointro xml(仅用于翻译)
在路径或同一目录上需要翻转(如果尝试使用IPS、BPS)和xdelta3(如果尝试使用xdelta),除非在Windows操作系统上。
在windows上,rhdndat只检查版本,没有可选参数,不需要flips/xdelta。
参数:
rhdndat[-h][-o输出文件][-dxml文件][-i][-x][-s][-t]搜索路径rom类型
- 位置参数:
-search-path directory tree to search for (rom, patches and version) files -rom-type extension (without dot) of roms to find patches for - 可选参数:
-h, --help show this help message and exit -o output-file if omitted writes to stdout, if not empty merge entries, to override a entry, a new entry must list the same romhacking urls as the older entry -d xml-file normally the name is from the romhacking.net hack page, but this option picks up the game names from from this clrmamepro .xml and the rom checksum (including if a revert patch is available)
this allows adding unknown roms without a patch, which can’t normally be added for safety, albeit with the romhacking page name (the dat blacklists the false unknowns, such as music tracks in cd games)
it’s your responsibility to use a dat that matches the game/set you’re scanning to avoid false unknowns
-i don’t allow roms with unknown original name to be added even if the patches have a romhacking.net hack page, requires -d -x recalculate the extended attributes of all rom files even if the version file is unchanged, useful for silent updates, the easy way to redo the checksums of files without version files -s do not progress beyond setting the extended attributes, exclusive option, except for -x -t only test version numbers against remote version, works without a patch present, exclusive option
内存要求
这个工具使用命名的fifo文件来计算需要修补的校验和,因此不会消耗太多内存。但是,对于isos等大型rom的补丁,应该确保使用的是xdelta而不是bps,因为flips试图将整个文件读入内存以创建或应用补丁。
安装
rhdndat需要python 3.5或更高版本。
The source for this project is available here。
通过安装[PyPI]中的rhdndat或安装[github]中的最新主机,可以在最新的Linux计算机上使用PIP3安装该项目,但您必须在路径(或当前目录)中提供自己的翻转和xdelta可执行文件,以支持IPS、BPS和xdelta。这取决于您的发行版,但您可以在文档末尾的站点上获取和构建它们。
[PyPI] | ^{tt15}$ |
[github] | ^{tt16}$ |
如果您的操作系统没有将linux中的pip3 install dir~/.local/bin-添加到路径中,rhdndat可能无法执行
学分
Alcaro for helpful comments and for flips | https://github.com/Alcaro/Flips |
xdelta for being fast and useful | http://xdelta.org/ |
romhacking.net for being a awesome resource | http://www.romhacking.net/ |