跳转到内容

添加/编辑模拟器定义

您可能想要编辑一个模拟器,或者向 mGalaxy 识别的系统列表中添加一个模拟器。最简单的方法是在论坛上提出申请,但如果您想自己动手完成,我们接下来会介绍具体的操作方法。这些教程将围绕创建一个模拟器展开,但如果您了解了其中的原理,您应该也能够在充分理解的情况下编辑一个模拟器。

模拟器列表位于文件“mGalaxy\Data\Definition\Emulators.xml”中。该文件需要用文本编辑器打开。以下是定义一个模拟器的方式:

在第一行中,有 2 个属性:

  • name:用于填写模拟器的名称。
  • hidden:其值可以是“true”或“false”,用于定义启动该模拟器时是否隐藏其界面(“true”表示不可见,“false”表示可见)。 有些模拟器支持这个功能,有些不支持,因此需要事先测试。

“Systems”标签中包含由该模拟器负责模拟的系统,具有以下属性:

  • name:与“Systems.xml”文件中定义的系统名称完全一致
  • option:如有需要,可填写附加信息
  • script:其值可以是“true”或“false”,用于定义是否希望通过脚本(“true”)启动该模拟器,或不通过脚本(“false”)启动。
  • cmd:发送给模拟器的命令行
  • extensions:该模拟器所支持的文件扩展名列表,以“|”分隔。

我们来更仔细地看一下命令行。 几乎所有模拟器都可以通过命令行启动。这些命令可以在模拟器的官方网站或说明文档中找到。

mGalaxy 正是利用了这一点,因此会向模拟器发送相应的请求,包括各种选项请求(例如“以全屏方式启动”),以及要启动的游戏的路径。

为了方便使用,最好的方法可能是先用一个批处理文件对模拟器进行测试……

……等一切都运行完美后,再替换掉需要替换的部分。

这个标签的值是一段文本,包含启动该模拟器所需的前提条件信息。

这段文本可以包含一些文本格式标签,例如:

不过,它不能包含任何 XML 语言保留的特殊符号。这些符号需要手动替换,或者借助在线工具进行替换,例如 https://codebeautify.org/xml-escape-unescape

一旦您的定义代码块准备就绪,将其复制到与其他定义相同的层级中。