|
如何在Linux/FreeBSD下玩模拟器游戏(2) 你可以按照sample.dgenrc文件中给出的例子修改游戏杆的映射以适应你的要求,这是一个我的游戏杆设置的例子:
# joy_pad1_up = j0a1(-16384) 表示Player1的上方向设为游戏杆设备0的第1轴。
# 向的负方向,只有当该方向的轴向位置绝对值超过16384时,才认为该事件发生。
# 这个设置让你可以避免游戏杆传回的噪音信号干扰你对游戏主角的控制,对于。
# 飞行摇杆类的游戏杆(如Logitech WingMan 3D)是一个很有用的设置,轴向位置。
# 绝对值的取值范围是1~32767。
joy_pad1_up = j0a1(-16384) joy_pad1_down = j0a1(+16384) joy_pad1_left = j0a0(-16384) joy_pad1_right = j0a0(+16384)
# joy_pad1_a = j0b3表示Player1的A键被定义为游戏杆设备0的第3按钮。
joy_pad1_a = j0b3 joy_pad1_b = j0b0 joy_pad1_c = j0b1 joy_pad1_x = j0b2 joy_pad1_y = j0b6 joy_pad1_z = j0b7 joy_pad1_mode = j0b9 joy_pad1_start = j0b8
在Linux下,你可以通过jstest的输出以确定该如何填写配置项,一个类似于GXMAME的图形化前端会使这一工作简单许多,有谁对这个主意感兴趣吗?
这个PATCH可以在Linux下完美地支持各种游戏手柄,然而在FreeBSD上使用UHID手柄时却响应缓慢,这可能是FreeBSD的UHID驱动传回了大量的噪音信号导致的,但XMAME-0.70.1却能在这样的噪声信号下正常处理游戏杆输入,我是FreeBSD的忠实FANS,然而我并不在意FreeBSD的这些不是很"UNIX"的特性,个人认为与其继续修改模拟器以适应FreeBSD下的噪音环境,还不如修改FreeBSD的UHID驱动,毕竟一件这样的工作的有趣程度取决于对社会幸福总量的贡献:-D,如果你是FreeBSD的FANS,那么UHID驱动入口是个不错的开始,你可以在/usr/src/sys/dev/usb/uhid.c找到她。
XMAME
所有的MAME Fans请起立,注视这个LOGO并高呼3声MAME万岁.无需多说,著名的多街机模拟器MAME的UNIX平台版本,支持各种Unix的变体,甚至是PS2上的Linux! 她能够模拟自1975年起发行的超过4000个大型街机游戏。如果你尚不了解MAME为何物,那么,请先去www.mame.net朝圣。
不要去找RPM,DEB或是PORTS,我们需要的是最新的游戏列表和最好的游戏效果,况且,如果你只需要一个执行文件就能工作,那么有什么理由需要安装包呢?
这里的描述均基于xmame-0.70.1,你可以在x.mame.net找到最新发行版本的源代码包,解开压缩包。删除Makefile(这是一个指向makefile.unix的符号连接),然后将makefile.unix 拷贝成Makefile(在修改出现错误时有一个后备文件总是一件好事),我们剩下所有要做的就是修改Makefile文件以适应我们的系统。总体来说,Makefile选项是一目了然的。但在此之前,还是需要先解释一些背景知识以方便我们做出适当的选择。
XV,OpenGL(xgl),DGA,SVGALIB,SDL,GGI及其他.
XV
XV是X视频扩展的缩写,设计用于加速视频播放的X应用程序,她允许应用程序创建不依赖于当前显示模式色深度的视频缓冲区,并直接向视频缓冲区写入RGB或是YUV值,由视频硬件实现色彩空间转换和拉伸,这意味着,即使当前的显示色深度是256色,应用程序也能够以16bits或是32bits色深播放视频。她还可以在不需要root权限的情况下实现全屏播放,因此,这是我们的最佳选择之一。注意XFree86-4.0.2以后的版本才有XVideo支持,你可以通过执行"xvinfo"来了解你的显卡是否支持Xv扩展,你应当看到类似这样的输出:
X-Video Extension version 2.2
|