今天无聊研究起了舍友装在我电脑上穿越火线,暂且放开CF的性能低效,在低端机器上运行速率十分不客观,还有那一般的画质,...客观地去研究一个游戏的结构,文件组成是一个程序猿好的习惯. CF的图形渲染采用DirectX,版本的话根据CF根目录下的DLL判断应该是DX9,并且支持采用Vista以及Win7下的WDDM(Windows Display Driver Model)的DX9Ex.
命令行下进入CF根目录键入以下命令
dir /o /b >dir.txt
下面是根目录下的文件夹
backup <--备份文件夹
config <--配置文件保存目录,主要应该是Login程序的UI
data <--存放Login程序的UI资源
KeyCrypt <--按照名字推断应该是输入密码时的键盘保护,内有驱动程序KeyCrypt.sys
PCMLoader <--QQ软件管家相关
report <--储存报告文件,应该是上传错误所用,有内存dump文件,errlog,和屏幕截图
rez <--游戏主要资源目录,包含了游戏的纹理,UI贴图,人物,枪械,地图模型等!
Tenio <--腾讯io? TenQQAccount.dll应该是负责和腾讯qq号码数据库联系的库,QQDownload.dll应该是腾讯的下载库
TenioCS <--应该是游戏负责网络传输的库,看后缀CS应该意指Client/Server
UpdateCenter <--顾名思义,升级中心
下面是根目录下的文件
atl71.dll <--atl链接库
atl80.dll <--atl链接库
BugTrap.dll <--某个bug的log记录库?看公司名不是microsoft和tencent
cache.cf
CEGUI.log <--懂的人看到这里就知道CF的UI是用CEGUI开源库的了,^_^(打算开学后研究OGRE和CEGUI)
cfrf.cfd
CFSelWorld.exe
CNWrapperLib.dll
CNWrapperLib.dll.manifest
crossfire.exe <--游戏主程序
CrossFire.ico
CShell.dll <--C外壳?or Client外壳?
CShell.dll.manifest
d3dx9_29.dll <--dx9动态链接库
D3DX9_42.dll <--dx9ex动态链接库
D3DX9_43.dll <--dx9ex动态链接库
data.ini
datafiles.zip
dlcore.dll <--控制文件下载(升级)的核心dll
Extract.dll <--不明
fmodex.dll <--FMOD音乐库!!!
FWatcher.dll <--不明
GdiPlus.dll <--GDI+库
iigw_client_api.dll <--这个以及下面几个大概都是储存Login时候用到的api,以及保护
iigwQQLoginAPI_dllLib.dll
KeyCrypt.sys
KEYCRYPT.VXD
launchcrossfire.exe
LTMsg.dll <--只保存了一些消息字符串信息
MFC71.dll <--这个以及下面几个都是mfc库
mfc80.dll
mfc80u.dll
mfcm80.dll
mfcm80u.dll
Microsoft.VC80.ATL.manifest
Microsoft.VC80.CRT.manifest
Microsoft.VC80.MFC.manifest
Microsoft.VC90.CRT.manifest
MiniObject.dll <--不明
mmog_data.tdr
mmog_data.xml
msvcm80.dll <--这个以及下面几个都是VC的运行时库
msvcp100.dll
MSVCP60.DLL
msvcp71.dll
msvcp80.dll
msvcp90.dll
msvcr100.dll
msvcr71.dll
msvcr80.dll
msvcr90.dll
Object.dll <--不明
pack_cf.dll <--这下面三个应该都是打补丁时用,应该是些解压和文件操作的api
patch.dat
PatchExpLib.dll
QQDL.exe
QQDLProxy.dll <--下载代理
qqdownload.dll <--下载主dll
qqgame.xml
QQLogin.exe <--QQ登陆程序,负责收集账号,密码,游戏区等登陆信息并与服务器取得联系
QRLauncher.exe
QRU.dll <--QuickReport DLL,看描述像是某游戏公司出品
RS.dll <--不明
selfupdate.exe <--自动升级
selfupdate_cf.exe
ServiceInstaller.exe
SndDrv.dll <--声音驱动
TC0001.DAT
TenCaptcha.dll <--不明
Tencentdl.exe
Tenio.ini
TenioCs.ini
TenioPath.ini
tenox.dat
Tenparty.dat
TenSLU.dll <--不明,我估计这个和下面(到TesSafe.sys为止)的这几个文件应该都是腾讯反外挂系统,因为以前研究过地下城的反外挂,一样是tessafe模块(很恶心)
TenSLX.dat
TenSLX.dll
TenSM.dll
TenTC.dll
TerSafe.dll
TesSafe.sys
tnproxy.dll <--代理?
TP0004.dll <--TencentProtect,这两个应该也是保护模块?
TP0005.dll
tpver.dat <--TencentProtect版本信息?
TR0001.dat
unins000.dat
unins000.exe
Uninstall.exe
V0.9.4.url
V1.0.2.url
V1.0.4.url
V1.0.7.url
V1.1.3.url
V1.3.1.url
V1.3.2.url
Verify.bmp
version.dat
version.ini
vqqsdl_cf.dll <--一样是qq的下载模块
穿越火线卸载.exe
访问官网.url
CF刚开始网上有说是虚幻引擎,如果虚幻能做出这种垃圾画质,那CF是一个十分失败的产品.
rez文件夹下的纹理贴图都没有加密,模型储存在rez文件内,文件头的信息是
RezMgr Version 1 Copyright (C) 1995 MONOLITH INC.
LithTech Resource File
网上搜索了一下,是Monolith公司的LithTech引擎,著名的产品有Fear2,实际效果还不错,有值得研究的地方
可查看Fear2的游戏视频:http://www.tudou.com/programs/view/Jn1J1bh3A44/?tid=-1
CF依然没有发挥引擎的强大之处