(一)运行需要的文件。
botlib 生成botlib.lib
cgame 生成cgamex86.dll
game 生成qagamex86.dll
q3_ui 生成ux86.dll
renderer 生成renderer.lib
splines 生成splines.lib
quake3 生成quake3.exe
cgame game q3_ui是3个DLL
每个DLL有一个vm_main函数。
int vmMain( int command, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11 )
每个VM中的LOAD次序:
VM_Create
Sys_LoadDll
每个VM有一个dllEntry和entryPoint
VM有两种接口:shared libs and qvm.
qvm文件保存在pak文件中。
(二)源代码树各目录的作用
lcc/the retargetable C compiler ( produces assembly to be turned into qvm bytecode by q3asm )
q3asm/assembly to qvm bytecode compiler
q3map/map compiler ( .map -> .bsp ) - this is the version that comes with Q3Radiant 200f
q3radiant/Q3Radiant map editor build 200f ( common/ and libs/ are support dirs for radiant
(三)pak文件
研究过pak文件的人都知道,pak文件有个特点:pakx.pak中x=0--9,x越大优先级越高
比如加上新地图,不用修改pak0.pak,打个包放在baseq3下即可
tga是一款游戏使用较早格式的图片,她比BMP,JPG的优势就是支持Alpha通道,这样可以轻松的制作出透明效果来;不过我现在觉得PNG比tga格式更好用一些,因为PNG压缩比很高,而且制作也很简单,如果注意一下,hge这款2D引擎使用的很多都是PNG格式的图片资源。dds也是一款支持Alpha通道的图片格式,而且N显卡对他支持硬件加速,不过制作比较麻烦,而且限制重重,所以我还是青睐使用PNG。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zlstone/archive/2009/10/09/4647416.aspx