我的社区

自制关卡 => 古墓丽影自制关卡 => 主题发帖人为: maxchen 于 2011 八月 31, 09:51:37

标题: [另类]在LINUX下玩自制关卡
作者: maxchen2011 八月 31, 09:51:37
在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 编辑 ]
标题:
作者: 温柔一键2011 八月 31, 10:44:33
好麻烦,why要钟情于LINUX:Q
标题:
作者: maxchen2011 八月 31, 12:00:25
第一个是喜欢
第二个嘛,就是想着以后在工作上能在LINUX上发展
标题:
作者: 费茨2011 九月 01, 01:26:48
这个不错,有时间抄进分站里去:victory:
标题:
作者: sddcdx2011 九月 04, 21:48:40
天书啊!
LINUX胆寒:L