在WinXP上编译Doom3源码提示

Doom3 源码下载地址:
https://github.com/TTimo/doom3.gpl

官方的README写的很简略,以下是我在WinXP上编译Doom3遇到的问题和解决方法:

准备:
1. Microsoft Visual Studio 2010 旗舰版 + SP1
2. Microsoft DirectX SDK (June 2010)
3. Doom3原版游戏(非资料片,必须1.3.1版)

注意事项:
1. 安装完VS2010+SP1后,先删除C:\Documents and Settings\yourusername\Local Settings\Application Data\Microsoft\MSBuild\v4.0 下的文件:
Microsoft.Cpp.x64.user.props
Microsoft.Cpp.Win32.user.props
Microsoft.Cpp.Itanium.user.props
不这么做的话,编译会出现无数莫名错误...如:c:\program files\microsoft sdks\windows\v7.0a\include\ktmw32.h(192): error C2061: syntax error : identifier 'PTRANSACTION_NOTIFICATION'可能和预编译头文件有关。

2. 修改neo/sys/win32/win_input.cpp中的字符 '?   -> '?'

应该是文件编码问题,不过由于那几个国家的Input接口用不着,所以直接这么改没问题。


3. 修改neo/framework/FileSystem.cpp中
idCVar       idFileSystemLocal::fs_basepath( "fs_basepath", "", CVAR_SYSTEM | CVAR_INIT, "" );
->
idCVar       idFileSystemLocal: :fs_basepath( "fs_basepath", "H:\\yourfolder\\doom", CVAR_SYSTEM | CVAR_INIT, "" );
即:设定Doom3的basepath,以后资源文件等就从这里读取。
若不这么改,会找不到 default.cfg,并出现如下错误:
...
"build\Win32\Release\TypeInfo.exe"
:VCEnd" exited with code -1."
...

4. 修改DoomDLL的debugger command argument
set fs_basepath "H:\CSYSVN_Checkout\CSYRD\myResearch\doom3\doom"

5. 设置DoomDll项目DirectX include和lib路径。
(发现如果不设置好像Release也能编译过,但会跑到OpenGL里去,总之加一下吧...)

6. Doom3 source code提供了以下几个版本
Debug
Debug with inlines
Debug with inlines and memory log
Dedicated Debug
Dedicated Debug with inlines
Dedicated Release
Release
Release
默认是Dedicated Release,但是这个版本编译出来是不能运行 的。不过,可以spawn服务器。(Dedicated Release运行后有一个蓝色的命令行窗口,如果没有error信息的话,貌似可以spawn服务器。之前一直纠结于Dedicated Release跑不起来,浪费了不少时间...)
真正能运行的版本是Debug和Release

我这里的情况是:Release可以正常进入游戏,也可以打Trace;Debug版本也能进入游戏,不过Loading界面运行到一半会黑屏,具体原因未知。(不过问题不是非常大,大家跑起来后主要研究其代码架构,不是修BUG,等需要时再说吧! 今天又跑了一下发现又没问题了,可能是CDKEY的问题

7. 如何跳过CDKEY检测
修改neo/framework/Session.cpp
找到bool idSessionLocal::CDKeysAreValid( bool strict )
设置cdkey_state = CDKEY_OK

8. 发现Debug版本上,如果不关闭EmbedManifest会编译不过,不管他,关掉!

9. 如果要联网玩的话 命令行里一定要有 +set si_pure 0

最后,别忘了把资源文件拷贝到base目录下(就是你之前用fs_basepath指定的目录下的base目录),
资源文件列表:
default.cfg
game00.pk4
game01.pk4
game02.pk4
game03.pk4
pak000.pk4
pak001.pk4
pak002.pk4
pak003.pk4
pak004.pk4
pak005.pk4
pak006.pk4
pak007.pk4
pak008.pk4
另外,在MacOSX上,我也试过,相对简单直接用XCode编译就行了。


好了,到这里大家应该可以自己Debug Doom3了在WinXP上编译Doom3源码提示


更多的参考:
http://fabiensanglard.net/doom3_macosx/index.php
http://www.doom3world.org/phpbb2/viewtopic.php?f=40&t=25120&st=0&sk=t&sd=a&start=40

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值