M64py

M64py

我使用 Synaptic 从存储库安装了 mupen64plus。我喜欢这个模拟器(大部分情况下,TLOZ Ocarina of Time 上有几个图形故障),尤其是它在我的旧机器上的性能,但我不知道如何为自己配置控件。我尝试查看 Google Code 的指南这里但我找不到需要编辑的文件,带有密钥 ID 的链接不起作用,所以即使我能找到文件,我也无法更改任何内容。所以我需要的是带有密钥 ID 的资源以及在哪里可以找到需要编辑的文件。

我正在运行 Ubuntu 12.10 32 位。2GB RAM,Intel CORE 2 DUO @ 2.00GHz

这是问题的附加部分。M64py 是一个流行的选项。但是,它要求您输入所需的各种文件的路径。默认位置在哪里?包括 32 位系统和 64 位系统。(所需的文件是库文件、插件目录和数据目录。)

答案1

您可以使用配置文件配置控件。首选方法是使用具有控制器设置的前端。

M64py

M64py 是 Mupen64Plus 的 Qt 前端。可以从以下网址下载这里

它有一个控制器配置用户界面,如下图所示

你可以从这里配置控件,然后从这里启动游戏或者mupen64plus /path/to/rom在终端中实际运行

答案2

我自己无法为 mupen 运行 GUI,所以我最终弄清楚了如何配置它并在终端中运行它。我用来配置控制器的文件是:

~/.config/mupen64plus/mupen64plus.cfg

在那里,我找到了讨论操纵杆的区域,并通过反复试验得出,如果我在控制器上看到一个数字(按钮已编号),我会在配置文件中输入该数字减一,而对于我没有使用的按钮,我只需将其留空,如“”。我将保留我使用的代码:

    [Input-SDL-Control1]
    # Mupen64Plus SDL Input Plugin config parameter version number.  Please don't change
    version = 1
    # Specifies whether this controller is 'plugged in' to the simulated N64
    plugged = True
    # Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak
    plugin = 2
    # If True, then mouse buttons may be used with this controller
    mouse = False
    # Specifies which joystick is bound to this controller: -2=Keyboard/mouse, -1=Auto config, 0 or more= SDL Joystick number
    device = 1
    # SDL joystick name (name check disabled if this is empty string)
    name = "DragonRise Inc.   Generic   USB  Joystick  "
    # Scaling factor for mouse movements.  For X, Y axes.
    MouseSensitivity = "2.00,2.00"
    # The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0.  For X, Y axes.
    AnalogDeadzone = "4096,4096"
    # An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80).  For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
    AnalogPeak = "32768,32768"
    # Digital button configuration mappings
    DPad R = ""
    DPad L = ""
    DPad D = ""
    DPad U = ""
    Start = "button(9)"
    Z Trig = "button(6)"
    B Button = "button(1)"
    A Button = "button(0)"
    C Button R = "axis(3+)"
    C Button L = "axis(3+)"
    C Button D = "axis(4+)"
    C Button U = "axis(4+)"
    R Trig = "button(7)"
    L Trig = ""
    Mempak switch = ""
    Rumblepak switch = ""
    # Analog axis configuration mappings
    X Axis = "axis(0-,0+)"
    Y Axis = "axis(1-,1+)"

答案3

不幸的是,m64py 对我来说不是一个可行的解决方案,而且“反复试验”太麻烦了。这是一个任何当前运行 mupen64plus 的人(无论是否使用 gui)都应该能够使用的解决方案。

您将需要操纵杆校准工具jscal确定哪个按钮是哪个。有关帮助,请参阅Ubuntu 论坛 - 游戏与休闲 - 操作方法:Ubuntu 下的操纵杆/游戏手柄

假设您已完成设置并且您的操纵杆已正确校准,您需要做的就是运行jstest-gtk /dev/input/js0 &,其中js0是您当前正在测试的设备的校准文件。

您将看到一个带有编号轴和按钮的 GUI。它看起来像这样:

jscal 控制器和操纵杆按钮映射用于 mupen linux

现在您可以按下控制器上的按钮来查看它对应哪个轴或按钮。


将自定义控制器配置应用于 mupen

定位InputAutoCfg.ini
运行locate InputAutoCfg.ini。对我来说,这是在目录中/usr/share/games/mupen64plus/InputAutoCfg.ini

InputAutoCfg.ini在您喜欢的文本编辑器中打开。
vim /usr/share/games/mupen64plus/InputAutoCfg.ini

找到您的设备并编辑设置。
mupen64plus您可以通过从命令行终端运行并找到控制器的名称来 找出 mupen 正在使用哪个设备(控制器) 。

我的是Input: N64 Controller #1: Using auto-config with SDL joystick 0 ('Generic X-Box pad')。所以对我来说,设置位于 下[Generic X-Box pad]

保存/写入对文件的更改,下次运行时应实施更改mupen64plus

经过一些改变后,我的样子如下:

[Generic X-Box pad]
plugged = True
plugin = 2
mouse = False
AnalogDeadzone = "4096,4096"
AnalogPeak = "32768,32768"
DPad R = "hat(0 Right)"
DPad L = "hat(0 Left)"
DPad D = "hat(0 Down)"
DPad U = "hat(0 Up)"
Start = "button(7)"
Z Trig = "button(4)"
B Button = "button(2)"
A Button = "button(0)"
C Button R = "axis(3+)"
C Button L = "axis(3-)"
C Button D = "axis(4+)"
C Button U = "axis(4-)"
R Trig = "button(5)"
L Trig = "axis(2+)"
Mempak switch = "axis(5+)"
Rumblepak switch = "button(2)"
X Axis = "axis(0-,0+)"
Y Axis = "axis(1-,1+)"

使用jstest,您应该能够弄清楚如何配置InputAutoCfg.ini以使用输入事件词

有时查看 N64 控制器布局有助于确定您想要映射的参数。

N64 控制器按钮布局配置

答案4

刚刚尝试使用 mupen64plus 2.5.0 (manjaro/kde)。有一个配置文件

~/.config/mupen64plus/mupen64plus.cfg

但它在启动时会被覆盖mupen64plus。要编辑的文件实际上是

/usr/share/mupen64plus/InputAutoCfg.ini

启动时会读取此文件mupen64plus,并将使用的配置写入上面的 cfg 文件。打开 ROM 时,您可以在打印输出中看到 mupen 正在使用哪个控制器配置:

Input: N64 Controller #1: Using auto-config with SDL joystick 0 ('Generic X-Box pad')

因此,就我而言,我必须Generic X-Box pad在 中查找InputAutoCfg.ini。为了完整起见:对于我的 xbox 控制器,我找出了以下映射:

Button(0) = A
Button(1) = B
Button(2) = X
Button(3) = Y
button(4) = LB
button(5) = RB
button(6) = the small settings button (with the two rectangles) to the top
           left of the  topright of the left joystick
Button(7) = the three-line settings button to the upper left of X and Y
Button(8) = The "x-box button"  
hat (0 Up) = The "+" button, up
axis (5+) = RT

对于 Mario64 我最终改变了:

Z trig = axis(5+)
R Trig =
Start = button(8)

将开始键放在“x-box 按钮”上,将 Z 键放在 RT 上(不知何故,这么多年过去了,把 Z 键放在那个按钮上感觉“很合适”)。我确实尝试过安装mupen64plus-ui-python(从 requirements.txt 中删除 pyqt 的特定版本后,安装就正常了),但我看不到更改键映射的选项。

相关内容