一个www.romhacking.net数据创建和更新检查器。

rhdndat的Python项目详细描述


rhdndat在同一目录中找到三个(rom file, softpatch file, version file),使用version检查romhacking.net更新,并在stdout或文件上为每个软补丁的结果创建一个clrmamepro条目。

软补丁文件名是:
rom filename - rom extension + patch extension
rom filename - rom extension + .reset.xdelta

最后一个是一个特殊情况,以识别带有恢复补丁的硬补丁rom。

版本文件名为version,后面有一个版本号行和一个romhacking.net url行,重复。这些对应于每一个黑客或翻译。

如果没有补丁文件,但存在一个版本文件,扩展名匹配,并且使用的是不使用ROM的ROM,该文件将被假定为可缓存的,可以通过传递。

在正常操作期间,对于所有roms,rhdndat在rom文件中存储扩展属性user.rom.md5user.rom.crc32user.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-pathdirectory tree to search for (rom, patches and version) files
-rom-typeextension (without dot) of roms to find patches for
可选参数:
-h, --helpshow this help message and exit
-o output-fileif 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

-idon’t allow roms with unknown original name to be added even if the patches have a romhacking.net hack page, requires -d
-xrecalculate 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
-sdo not progress beyond setting the extended attributes, exclusive option, except for -x
-tonly 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 flipshttps://github.com/Alcaro/Flips
xdelta for being fast and usefulhttp://xdelta.org/
romhacking.net for being a awesome resourcehttp://www.romhacking.net/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
来自控制器的java集合引用应用程序?   java无法插入到swagger 2.0文档中常见错误代码的html链接   循环中的java输入不匹配异常   java Spring批处理集成运行并行作业的远程分区   在Android中使用Gson在自定义类的ArrayList中读取java   C++规范化图像描述符OpenCV-java   java Andmore的Android软件包生成器失败,错误与sun/misc/BASE64Encoder相关   如何用java从多部分数据格式创建接收代码   java用文件填充数组   分页如何在Java代码中实现下一步按钮单击?   我们能用泛型参数动态调用Java接口方法吗?   java从另一个项目中定义的类调用静态方法需要为这两个项目添加库   反射:运行时类型信息是否存储在java中?   编写一个Java程序,允许用户输入自己的公式并进行计算   java Tomcat多个webapps文件夹   java比较两个xml文件并向第一个xml文件添加新标记   反射我能用正则表达式在java中找到类的方法吗?