海盗王64位dx9客户端修改篇之五
在海盗王3.0客户都升级64位dx9版本的过程中,因为特效的问题,被卡壳了很久。
开始是精灵草的粒子效果、白银城的烟囱烟雾效果、篝火的效果、阳光透射效果、海浪效果等,修了很长的时间,才找到窍门弄好。
然后是精灵效果、角色阴影。这个也折腾了很久,试错了无数次才搞好。特别角色阴影问题,是着色器有问题,但是怎么改都不正确,没办法,只能改用另外一种方法更耗时的方法来渲染。
最后是伤害特效,满屏都是黑色框框,伤害数字严重花屏变形。反复改来改去也是不行,中间还彻底改坏了一次,不得不恢复到旧版本继续改。
今天中午休息的时候,思来想去,终于判断出问题的所在,是纹理的问题。经过跟踪调试,找到修改点,重新修改了一遍代码,终于把问题成功解决了。
至此,基本问题都已经全部修改完成,正常游戏是没问题了。
剩下的就是修补一些程序兼容问题了。
总结这段时间的修改历程,经历过太多太多的困难,屡次想放弃。没有任何人能请教,所有的问题只能靠自己硬磕。能坚持到现在,也是纯粹兴趣和运气使然,要不是当初修改lua是有意无意改正常了,估计到现在也是残品一个。
这是直接从3.0原版改过来的,使用vs2022编译,因此之前的所有服务端和lua等资源文件,都完美保留和兼容,能和32位的dx8版本共存互通的。
看了国内现在开着的那些3.0以上的版本,几乎都还是停留在使用vs2003的库dll,能升级到vs2022版本的还很少见,因此更不可能升级到dx9的64位了。
dx9的64位客户端带来的好处就是没有内存忧虑症,想载入多少资源就载入多少资源,不会再被卡壳在1.3G内存上,不会崩溃报错。
被大量的怪物围攻,特效和伤害依然显示正常:
角色阴影,精灵特效显示正常: