批经历了些波折,总算是编译好了。这个是运行画面,现一个,呵呵。
1 首先是编译quake3.sln。其他的sln是辅助工程的,可以在需要时编译,我是每个都编译了,呵呵。修改代码就不用说了,我的机器是中文环境,源文件编码不一样,还是有些修改的。
2 编译之后,需要运行哪个installrelease.bat。运行这个批处理是为了生成三个VM,也就是游戏的界面和客户端。也可以使用dll版本的。但是由于我的环境是Demo版本,也就是受限环境,所以还是要生成这三个vm,供下一步使用。
我的路径设置:
运行时,使用vs2008自带的shell,要把D:Quake3quake3-vs2008Srccodewin32mod-sdk-setupbin,加入到path变量中。
在baseq3目录中,有三个vm文件:cgame.qvm,qagame.qvm,ui.qvm。我们需要这三个文件。如果是想使用dll版本,那么在调试的时候,就需要加入命令设置:
+set sv_pure 0 +set vm_game 0 +set vm_cgame 0
但是,这个设置对于Demo版本不起作用。
3 安装demo。我的安装路径是C:Q3Ademo。安装之后,找到pak0.pk3这个文件,大概45M。修改含有这个文件的目录名为demota。这也是Demo版本的要求。
4 用7-zip打开pak0.pk3文件,找到vm目录,用我们自己生成的文件替换这三个文件,就不会出现错误了。
5 修改d:Quake3Srccodeqcommonfiles.c,line203。DEMO_PAK_CHECKSUM这个值,是根据数据文件来确定的,源代码里面的值与我们修改之后的文件的值不对应,需要自己查看这个值,然后修改。怎么察看?哇,debug出错了吧,然后看call stack,然后看这个文件的line 2883,看到了吧,那个判断语句,会了吧,呵呵。
6 不好意思,最重要的调试参数,呵呵。+set fs_basepath d:quake3 +set fs_cdpath "C:Q3Ademo" + %1 %2 %3 %4 %5 %6 %7 %8 %9
这个是我用的,你可以根据自己的修改。
我把我修改过的代码放在共享文件里面了,呵呵。欢迎使用。有问题email我。