一个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从服务器中的jsp页面读取参数   java构造函数会话(字符串,int)不可见   在java中计算特定字符,但我的程序只读取单词中的第一个字符   在java中转换为json的Hashmap的Hashmap。当发送到jsp时,我用javascript解析它。但它在javascript中的解析不正确   JavaSpringDataREST并没有保存实体的所有字段   java如何通过inten共享图像   eclipse是Java所需要的。即使已定义,也要运行的类文件   rest MapStruct Java流   java在OpenJDK 11的源代码上运行DocumentationTool   比较两个ArrayList索引时的java IndexOutOfBoundsException   java为什么Spring验证器需要将错误对象传递给应用程序(富客户端)并由其处理?   java Android从sms垃圾邮件文件夹或列表中检索垃圾邮件号码   java从匿名类参数访问类的实例   java MethodHandle与通用非类返回筛选器?   指定队列顺序的java