quake3_hacking_1 搭建hacking环境

转载地址:http://www.cnblogs.com/vincent2600/archive/2011/09/12/2174056.html

如果不去读quake3代码,作为一个游戏程序员是说不过去的,现在去读还不晚,肯定会碰到很多问题,解决问题的过程就是练级。

hacking之前,首先是建立环境,运行调试环境。quake3是99年推出的,到现在已经十二年了,网上能找到一些关于quake3编译运行的只言片语
但都不可行,自己只有基于这些再加上自己试验,make it works!

 在开始之后,需以下几个文件.
 1.Quake 3 Demo版(我们需要里面的资源相关的东西)
 ftp://ftp.idsoftware.com/idstuff/quake3/win32/Q3ADemo.exe
 2.Quake 3 源代码
 ftp://ftp.idsoftware.com/idstuff/source/quake3-1.32b-source.zip
 3.Quake 3 发行版q3pointrelease_132.exe(单纯照其他网上的步骤,只使用demo资源始终要报错)
 
 进入正题.
 1.打开代码下/code/quake3.sln,直接编译,不出意外会报错:
   ui.def : error LNK2001: unresolved external symbol vmMain
   将solution configuration从Debug Alpha改为Debug,OK!
   
 2.关键这样还不是很好,因为这样直接把生成的quake3.exe拿去运行会有问题:
   打开"quake3"工程中的files.c,注释 第3263,3264,3266三行,如下
 // if ( FS_ReadFile( "default.cfg", NULL ) <= 0 ) {
 //   Com_Error( ERR_FATAL, "Couldn't load default.cfg" );
 //   bk001208 - SafeMode see below, FIXME?
 // }
 然后,将files.c中的tatic void FS_SetRestrictions()函数的全部内容注释,仅剩下如下的空壳函数
 static void FS_SetRestrictions( void ) {
 }
 
 3.安装Quake 3 Demo版的Q3ADemo.exe和Quake 3发行版q3pointrelease_132.exe,到C:盘的根目录,安装后分别为C:\3Ademo与C:\Quake III Arena,
   将C:/Q3Ademo/demoq3目录下的pak0.pk3文件复制到C:/Quake III Arena/baseq3 目录下
   
 4.接下来就是用vs进行跟踪调试的关键步骤: 
   change quake3 project property -> Linker -> output file C:\Quake III Arena\quake3.exe
   change quake3 project property -> Debugging -> Command $(TargetPath)
   change quake3 project property -> Debugging -> Command $(TargetDir)   //C:\Quake III Arena
   
 5.现在,前往金银岛的船已经好了,Let's Hack !


              |    |    | 
             )_)  )_)  )_) 
            )___))___))___)\ 
           )____)____)_____)\\ 
         _____|____|____|____\\\__ 
---------\                   /--------- 
  ^^^^^ ^^^^^ ^^^^  ^^^^^^^  ^^^^^    ^^^


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值