海盗王3.0客户端从32位升级64位之路

海盗王3.0原版的服务端之前升级成了64位,基本能无限使用内存,可以避免因为内存过大而闪退崩溃的问题,更是可以个gameserver开完全部地图。使用效果明显比32位的更加稳定可靠。
服务端改成功后,一直想将客户端也升级成64位,苦于没有足够的实力去实现,一直只是个梦想。
32位的客户端因为内存限制,但是资源又不断增加,很容易就跑满1.3G,会造成内存申请失败,然后就闪退崩溃,是个无解的问题。
后来看到有人成功将1.38的客户端升级成64位了,似乎看到了希望,于是就准备开始修改。
原版的3.0客户端是基于dx8的32位,因为dx8本身并不支持64位,因此只能升级到dx9,dx9原生支持64位。
开始请教了一下修改成功的大佬一些问题,然后进行慢慢修改。

一开始更换dx9时,源码直接报错3000多个,然后一个一个地改了。
中间遇到很多无法解决的问题,多次放弃,回头又拾起来,细想寻找解决方法。
从dx9接口,改到引擎代码,接着有改到客户端代码,再到改lua,改得整个人睡觉都恍惚发梦。很多解决方法还是梦中无意中想到的。
涉及的dx9知识,开始是一无所知,慢慢地一个一个去查资料,从接口数据类型,到着色器,到纹理,到字体,到模型数据,到渲染参数等,每一个都要去学习,才能知道怎么解决问题。
等学习完这一通后,已经对dx9也慢慢熟悉起来了。
等待到改完,最后0个错误,编译通过时,那是一种无法形容的成功愉悦。

能编译通过了,但是还是无法跑起来,有开始修改lua代码,更换64位lua库,顺带整合到客户端了,不带lua的dll了。

更换完lua后,加载模型又卡住了。是32位的模型数据,无法直接加载到64位中,需要进行结构体对位。结果又是一通折腾,把模型的数据结构又整了一通,终于解决。

终于可以进入游戏了,但是字体又显示成片的色块,场景物体全是白色,人物无法显示,又继续去折腾纹理、渲染方法等。

最后,人物终于出来了、场景物体也能显示了,但是还有特效、更换新64位音频库很多事情去做,还有很长的路。

在这个过程中,没有人能帮到自己,只有自己不停地去探索,用时间去慢慢学习,换取成功的结果。

当没人能帮的时候,只有靠自己,其他都是幻想。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
全网最精简的64位3.0客户端 :
只有1个Game.exe,全部编译进程序了。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XINGTECODE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值