在WinXP上编译Doom3源码提示 反编译so成源代码

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 SettingsyourusernameLocalSettingsApplication DataMicrosoftMSBuildv4.0 下的文件:
Microsoft.Cpp.x64.user.props
Microsoft.Cpp.Win32.user.props
Microsoft.Cpp.Itanium.user.props
不这么做的话,编译会出现无数莫名错误...如:c:program filesmicrosoftsdkswindowsv7.0aincludektmw32.h(192): error C2061: syntax error: identifier 'PTRANSACTION_NOTIFICATION'可能和预编译头文件有关。

2. 修改neo/sys/win32/win_input.cpp中的字符 '?-> '?'
应该是文件编码问题,不过由于那几个国家的Input接口用不着,所以直接这么改没问题。

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

4. 修改DoomDLL的debugger command argument
set fs_basepath"H:CSYSVN_CheckoutCSYRDmyResearchdoom3doom"

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服务器。(DedicatedRelease运行后有一个蓝色的命令行窗口,如果没有error信息的话,貌似可以spawn服务器。之前一直纠结于DedicatedRelease跑不起来,浪费了不少时间...)
真正能运行的版本是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源码提示 反编译so成源代码
更多的参考:
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

  

爱华网本文地址 » http://www.413yy.cn/a/25101013/156441.html

更多阅读

股票公式全解析:16 股票软件源码引入

股票公式全解析:[16]股票软件源码引入——简介我们上一篇文章主要说明了大智慧的源码引入的基本方法,大家在使用这个源码的时候一定要注意具体的设置,按照我的要求一步一步实现,源码的编写我会专门有一个介绍,现在我继续说明其他股票软件

在WinXP系统中批量制作VCF格式通讯录 vcf通讯录编辑器 乱码

在WinXP系统中批量制作VCF格式通讯录——简介 如何将CSV格式文件,转化成为手机需要的VCF格式,是很多手机玩家一直苦恼的问题,现在详细为大家讲解。 若对你有帮助,请在经验页面上点【投票】予以支持,或点击右方的【双箭头】来分享;想了解

Android 4.4 源码下载 android游戏源码

Android 4.4 源码下载——简介最新Android4.4源码于11月1日已经开放,Android迷们可以下载了,小编也在第一时间下载了源码,下面就把Android4.4源码下载的过程写个文档来记录,以帮助有需要的朋友们本经验说明: 小编的这个建议只适合于10.

声明:《在WinXP上编译Doom3源码提示 反编译so成源代码》为网友像是梦环绕爱分享!如侵犯到您的合法权益请联系我们删除