先剖析一下WindHorn工程。
1.CWHApp、CWHWindow和CWHDXGraphicWindow。Window程序窗口的创建。
CWHApp派生CWHWindow,CWHWindow又派生CWHDXGraphicWindow。CWHWindow类
中完成窗口的注册和创建。CWHDXGraphicWindow调用CWHWindow完成创建窗口功能,然后再调用CreateDXG()来初始化DirectX。
2.CWHDefProcess派生出CloginProcess、CcharacterProcess、CgameProcess三个类。
这三个类是客户端处理的核心类。
3. 全局变量:
CWHDXGraphicWindowg_xMainWnd 主窗口类。
CLoginProcess g_xLoginProc登录处理。
CCharacterProcess g_xChrSelProc角色选择处理。
CgameProcess g_xGameProc游戏逻辑处理。
4.代码分析:
1.首先从LoginGate.cpp WinMain分析:
g_xMainWnd定义为CWHDXGraphicWindow调用CWHWindow完成创建窗口功能,然后
调用DirectDrawEnumerateEx枚举显示设备,(执行回调函数DXGDriverEnumCallbackEx) 再调用CreateDXG()来初始化DirectX(创建DirectDraw对象, 取得独占和全屏模式, 设置显示模式等)。
g_xSound.InitMirSound创建CSound对象。
g_xSpriteInfo.SetInfo()
初始化声音,加载Socket库之后,进行CWHDefProcess*指针赋值(事件绑定)。g_bProcState变量反应了当前游戏的状态(登录,角色选择,游戏逻辑处理)。调用Load初始化一些 *** 作(登录,角色选择,游戏逻辑处理)。进行消息循环。
case _LOGIN_PROC:
g_xLoginProc.RenderScene(dwDelay)
case _CHAR_SEL_PROC:
g_xChrSelProc.RenderScene(dwDelay)
case _GAME_PROC:
g_xGameProc.RenderScene(dwDelay)
根据g_bProcState变量标志,选择显示相应的画面。
2.接收处理网络消息和接收处理窗口消息。
在不同的状态下(登录,角色选择,游戏逻辑处理),接收到的消息(网络,窗口消息)会分派到不同的函数中处理的。这里是用虚函数处理(调用子类方法,由实际的父类完成相应的处理)。
OnMessageReceive主要处理网络消息。DefMainWndProc则处理窗体消息(按键,重绘等),创建窗体类为CWHDXGraphicWindow,回调函数为:
MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) [Page]
if ( m_pxDefProcess )
m_pxDefProcess->DefMainWndProc(hWnd, uMsg, wParam, lParam)
else
return MainWndProcDXG(hWnd, uMsg, wParam, lParam)
m_pxDefProcess->DefMainWndProc调用父类的实际处理。
在WM_PAINT事件里: g_xClientSocket.ConnectToServer连接登陆服务器。
去下载个delphi 2007 基本都是用这个版本编译的
再安装 Raize JSocket 插件 这两个是必要的 如果它还使用了其他的插件 那需要再安装 要不然 你打开还是会报错。
然后 可以直接编译生成了。
如下:
0 比奇省
0122 宫殿
0110 研究院
0111 研究院
0112 研究院
0102 肉店
0108 药店
0109 药品屋
0104 书店
0107 会议室
0125 东方宫殿
0126 东方宫殿二楼
0103 商店
0105 首饰店
0106 服装店
0101 客栈
0100 厨房
0128 密室
0129 密室
0123 密室
0124 密室
0114 高级武士之家
01141 高级武士之家
01142 高级武士之家
0115 高级魔法师之家
01152 高级魔法师之家
0113 高级道士之家
01132 高级道士之家
0137 竞技之地
0139 竞技之家一楼
0135 密室
0134 密室
0133 密室
0119 药店
0118 入口
0121 兵营
0127 监狱
0130 密室
0131 密室
0136 边界旅馆
0132 边界书店
0138 旅馆一楼
0141 首饰店
0140 仓库
D021 沃玛寺庙入口
扩展资料:
目前比较常见的传奇服务器端就是传奇的,最先的传奇服务器端兴起是在2002年年中,由韩国开发的游戏 《传奇》源代码泄漏,同年9月,该游戏的私服在中国迅速蔓延,半年间,500多家私服同时运营,其中不少私服已逐渐形成规模。这致使《传奇》玩家被严重分流,收入下滑。
代理公司盛大苦不堪言,并因此以韩方无法解决技术困难而拒绝支付分成费用。最终《传奇》没落,中韩双方关系破裂。 后期的传奇服务端发展由传奇爱好者研发编写各种游戏引擎和游戏脚本编写的,很多网站上也有传奇私服服务端的下载。
在市场上,某些传奇版本实现的游戏功能堪比盛大公司运行的官方服务器。而且这些传奇版本的价格也能卖上不少的价格,少则几百,多则几千上万元。
参考资料:百度百科:传奇服务器端
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)