在LINUX系统下无法玩自制关卡,这个问题一直困扰着我。以前也折腾过,但还是没有结果。
最近要玩自制关卡,都是又重启回到WINDOWS上,比较麻烦,所以我又到Wine的网站去寻找答案
在发现几个无法游戏的报告后,我发现最近有人已经做了个补丁使自制关卡能在LINUX下运行
虽然没有WINDOWS上那么完美,但总比玩不了强多了
补丁如下:
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 16327e4..89531c4 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3312,7 +3312,7 @@ static HRESULT process_vertices_strided(struct wined3d_device *device, DWORD dwD
*
*/
- if( !doClip ||
+ if( !doClip &&
( (-rhw -eps < x) && (-rhw -eps < y) && ( -eps < z) &&
(x <= rhw + eps) && (y <= rhw + eps ) && (z <= rhw + eps) &&
( rhw > eps ) ) ) {
@@ -3353,11 +3353,7 @@ static HRESULT process_vertices_strided(struct wined3d_device *device, DWORD dwD
* undergoes a different calculation.
*/
TRACE("Vertex got clipped\n");
- x += rhw;
- y += rhw;
-
- x /= 2;
- y /= 2;
+ y /= -1;
/* Msdn mentions that Direct3D9 keeps a list of clipped vertices
* outside of the main vertex buffer memory. That needs some more
使用方法:
1.下载Wine-1.3.25的源代码,解压,路径例如是/home/max/down/wine-1.3.25
2.把上面的补丁保存到/home/max/down/wine.diff
3.cd /home/max/down/wine-1.3.25
4.patch -p1 < ../wine.diff
5../configure
6.make
7.sudo make install
这样,自制关卡所有的工具与游戏都能通过Wine在LINUX上运行了
[ 本帖最后由 maxchen 于 2011-8-31 09:52 编辑 ]
好麻烦,why要钟情于LINUX:Q
第一个是喜欢
第二个嘛,就是想着以后在工作上能在LINUX上发展
这个不错,有时间抄进分站里去:victory:
天书啊!
LINUX胆寒:L