王国地板砖研究 translate from fonter456

原作者eirco

王国的板砖构成原理
在官方地图编辑器里,板砖的名称是Section 1,Section 2这样的形式。个人猜测这与TNT文件是无关的,而是根据按TNT文件的文件名排序得出的结果,而且编辑器里板砖分类则是与数据文件的文件夹一致,所以这样的结论应该正确,等候实际测试验证。

接下来谈板砖的文件
两个,一个TNT,一个jpg。
jpg就不用多说了,是24位色的图片文件,分辨率大小要符合16个像素的倍数,例如256X256,256X512,1024X512等等。但是不符合行不行呢?貌似行,因为我发现一个512方的和一个256方的用同一幅256方的图片,但是那幅图片是全黑的,拉伸没问题,所以我估计就算分辨率不符合应该也行,系统可能会将其自动拉伸。

TNT是什么呢文件呢?其实就是一个16进制文件,用00~FF这256个数值代表高度,越大越高,所以地图从底到顶是256级,这个高度只包括地形,不包括天空。

TAK和TA一样,16像素为一最小格,512X512的面积就用32X32的格子代表。
使用数量是与格子数一致,32X32格就用32X32个00~FF。
然后会有两倍数量的FF和FC(有时有FB)混合的未明规则阵出现。作用不明,估计是类似TA的是否禁止通行之类的东西,但也可能是随机颠簸或速度干扰之类的东西。多数是以全部FF的出现。出现FC时是第一个阵夹杂有,第二个阵还是全FF的。

TNT还做的另一件事就是注明自身使用的是哪一幅jpg图像。注明方式是这样
例如图片名叫123456ab.jpg,那注明的就是ab563412,就是按两个两个的顺序倒过来。--!有点那个,这个搞了很久才弄明白,难道是故意不想让人知道?
注明用的数量:
512X512是32X32的阵
256X256是16X16的阵
总之就是在阵理不断重复ab563412,-
-!好浪费。这么浪费的原因是板砖的每个大格(看起来是16X64像素)都可以用不同的jpg图片的某个部分,通过这样生成TNT文件,表明板砖可以部分重叠。

最后讲一下整个TNT文件的分布
先是
固定的两种开头中的一种,@4444444或@444444t,大部分都是4,少数是t,原因不明,但估计有用。
@4444444
开头一点(00),中间3点(00),尾7点(00),共52点,
或者
@4444t
开头一点,@,14点,4,3点,4,11点,4,3点,4,3点,t,11点,一共还是52点。

这里有个假设,4代表低地,t代表高地,这样TAK的地图就有512级的高度,不过因为TAK地图编辑器不能查看地形,所以无法验证。

以512X512图片为例
【1】52点开头

【2】32X32格点

【3】32X64的FF与FC,FB等未明规则

【4】32X32的图片名称

【5】16X32的从00开始到0F(共16个数字),也就是16格,如果是256X256的图片呢,就是00到07,8格,数量是8X16

【6】80 00 00 00 80 00 00 00 固定的分界标志

【7】后面的就不知道作用了,但个人感觉好像是无用的,未测试。

所以我估计要做个地板砖的话我们可以复制一个同大小的TNT文件,改掉地形部分和图片名部分即可。地形部分我门拿TA的编辑器可以将地形高度输出为256级的灰度图片,用16进制方式打开图片就可以得到了高度的编码,问题不大。(注意,直接用16进制编辑器打开得到的代码是上下倒过来的,可以用画图先把图片上下翻转,保存再用16进制编辑器打开,在开头插入10个字节(32X32的),方便查看,在后面就可以看到地形的模样了)。但是TAK的程序是不认被修改过的文件的,必须使用MOD切换器才认, 不知道地图编辑器是否也是这样,暂时还不好测试。

另外:old文件估计是无用的,应该同名TNT文件的旧的版本,可能只是制作者备份用的忘记删除了。-_-!

顶贴是一种美德,顶顶顶!