一个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第三方库


热门话题
在Maven的其他模块中看不到依赖模块中的java更改   http使用Java提交HTML表单数据,以检索从jsp应用程序下载的内容   因此,java JPA直接获取一个映射,而不是对象列表   java Dagger2:如何在多态性期间注入成员变量?   java如何在playFramework中重用控制器类的功能   java JavaMail到minecraft   java如何在RecyclerView滚动上下载更多Firebase对象?   PDFBOX org出现java Proc Groovy错误。阿帕奇。pdfbox。余弦。COSDocument finalize警告:警告:您没有关闭PDF文档   用java将英语翻译成本地语言   javascript不使用servlet将JSON对象传递给Java类   数据结构二进制搜索树泛型Java   如何在cmd中使用jar编译和执行java?   java如何用JPA连接表列?   java 2D Arraylist预测代码的输出   Java:“历史”对于cli命令,如何使输出“可编辑”?