查看: 92123|回复: 444

【原创】GM的自我修养----盛大Mir2新36字节地图格式研究

  [复制链接]

签到天数: 66 天

[LV.6]☆裁决☆

发表于 2014-2-2 01:26:42 | 显示全部楼层 |阅读模式
本文系传奇素材网Arthas殿下原创,转载请注明出处。

首先祝大家新年快乐。

好了废话不多说。盛大早在传奇归来国际版时就开始测试推出“新画面”版本时,默默的加入了第三种地图格式:36字节地图格式。新画面版本的画面细腻,动态感更漂亮,赢得了好评。随后热血传奇也更新了新画面,还加入了全新的资料片“神龙帝国”,但是,这些地图只有少量新引擎支持使用,这让大量使用老引擎、老登陆器的GM们怨声载道。

我们常用的地图编辑器是不能打开36字节地图的,如图
111.jpg

看过我在本站发表的“GM的自我修养”系列的朋友,都知道老地图分为12字节地图和14字节地图,这36字节地图多出来的22字节又是干什么用的呢?
首先想到的是,多出来的22字节可能是增加了每个要素的长度,比如原来表示Tiles地砖需要2个字节,现在用4个字节表示,其他的小地砖,OBJ也是类似。但是等我去验证的时候,发现并非如此。

www.cfabc.net
[hide=5000]
用UE打开神龙帝国龙飞城的地图sldg.map文件,文件头的前4个表示地图大小的字节为 30 02 58 02,根据高位在后的原理,应该是02 30 02 58即 长为16进制数(230)16 =(560)10,宽为(258)16=(600)10,即龙飞城地图为560X600=336000个坐标点的地图。

UE的右下角我们可以看到地图的文件大小为12096052字节,那么除开52个字节的文件头,(12096052-52)/336000=36,可见龙飞城地图格式是36字节的。
222.jpg

可以发现,文件里有大量连续的 00 00 00 00 00 00 00 00 00...,这和我预料的中间夹杂00 的情况截然不同,由此我猜测,这些多出来的00会不会是直接加在老14字节地图的基础上的呢,会不会多出来的22字节是预留的空字节呢,于是我用替换功能,把22个00替换为空,如图:
333.jpg

发现居然有387816个地方被替换,比336000还要多,可见每个地图的坐标点都增加了22个00。经过细心验证比对,发现这22个字节都是直接加在14个字节后面的,由此新36字节地图格式真相大白。
为了验证这个结果,我又测试了神龙地穴这张地图sldx.map,地图大小为50X50=2500,替换22个00的结果是2501,所以基本上可以断定,新增的22个00可能是盛大预留的字节了,或者说是抵制SF也说得通。

结论:


新36字节地图格式是由14字节地图格式+22个多余节00构成。


根据这个结论,我们就可以制作出UE的宏来删除这些多余的空字节了。
我把sldg.map文件切割为3部分,打开3个UE来分别打开其中一部分,再用宏来删除这些多余字节,再把转换好的结果合并在一起,就成了老引擎、老登陆器能识别的14字节地图了。

由于我切割文件大小不一样,3个部分花的时间不一样,前两个分别用了7小时,第三个用了10小时,当然3者是同时进行的。如果哪位会编程的人来转换地图格式,写出工具来处理估计是1秒钟的事情。。。我的办法比较笨,但是实在

好吧,我也不知道哪儿处理问题,切割出来的3个文件sldg_1和sldg_3都没问题,但是sldg_2出了问题,可能是我哪儿切出错了吧,所以等我哪天空了再把sldg_2重新转换一次,哎,又要等7个小时。

合并后,用地图编辑器能打开了,由于sldg_2转换错误,所以中间的有问题,不过还是把结果给大家看看吧,如图:
444_副本.jpg

555_副本.jpg

777_副本.jpg

小地图有点问题,不过方法是没错的,讲究看吧。
666_副本.jpg

www.cfabc.net
www.cfabc.net



点评

文章被采纳: 威望值+60 贡献值+60 素材币+200   发表于 2014-2-2 19:58

签到天数: 58 天

[LV.5]☆炼狱☆

发表于 2014-2-2 20:10:30 | 显示全部楼层
看看神作~~~~

签到天数: 40 天

[LV.5]☆炼狱☆

发表于 2014-2-2 20:13:18 | 显示全部楼层
大神级啊 造福下我们

签到天数: 5 天

[LV.2]◇乌木◇

发表于 2014-2-2 20:20:40 | 显示全部楼层
为何我下载了13周年客户端木有sldg.map 这个地图呢 是否需要跑到对应的地图 才会加载

该用户从未签到

发表于 2014-2-2 20:26:36 | 显示全部楼层
拜读楼主大作 受益匪浅

签到天数: 66 天

[LV.6]☆裁决☆

 楼主| 发表于 2014-2-2 20:41:33 | 显示全部楼层
独孤隐 发表于 2014-2-2 20:20
为何我下载了13周年客户端木有sldg.map 这个地图呢 是否需要跑到对应的地图 才会加载

是哦,客户端里没有的素材,你在游戏里去了,客户端就直接下载了。

签到天数: 96 天

[LV.6]☆裁决☆

发表于 2014-2-2 21:58:22 | 显示全部楼层
受益匪浅啊

签到天数: 123 天

[LV.7]★怒斩★

发表于 2014-2-3 08:43:16 | 显示全部楼层
向殿下学习!

签到天数: 1 天

[LV.1]◇木剑◇

发表于 2014-2-3 09:26:02 | 显示全部楼层
膜拜学习啊

签到天数: 84 天

[LV.6]☆裁决☆

发表于 2014-2-3 13:48:40 | 显示全部楼层
看看
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

关闭

站长推荐上一条 /1 下一条

光柱封号特效定制

联系QQ1985466803

地图等其它素材定制

联系QQ179331053

售后技术-下载失效

联系QQ2505099556

加入QQ新群

加入Q群230572444

补丁破解-补丁优化

联系QQ179331053
快速回复 返回顶部 返回列表