quake3的脚本系统

来源:互联网 发布:淘宝1元 编辑:程序博客网 时间:2024/05/21 21:42

quake3使用虚拟机的方式或者共享库的方式,实现引擎和具体游戏的解耦。

引擎文件为quake3.exe

而游戏实现又分为client ,server,ui 三部分,格式及其实现方式为dll和qvm

 

引擎中和

客户端有关的函数前缀为CL

服务器有关的函数前缀为SV

UI有关的函数前缀为UI

 

游戏程序中和

客户端相关的函数前缀为CG

服务器相关的函数前缀为G

 

 

quake3的脚本系统以命令的方式实现。

 

命令存放在CBuf中,使用CBuf_AddText往命令BUF中添加命令。

 

使用CBuf_Execute批量执行CBuf中的命令。

 

命令使用Cmd_AddCommand添加到系统中,并绑定命令的相关函数,其中exec命令是把命令文件一般是cfg后缀的文件加载到CBuf中运行。

 

Cbuf_AddText ("exec default.cfg/n");

// skip the q3config.cfg if "safe" is on the command line
if ( !Com_SafeMode() )

{
        Cbuf_AddText ("exec q3config.cfg/n");
}

Cbuf_AddText ("exec autoexec.cfg/n");

Cbuf_Execute ();

 

这个是系统Com_Init()函数中最先执行的几个脚本文件。