【原作者 金庸群侠之家 曾大虾】
到目前为止我所知构成外景大地图有关的文件共五个如下:
一、图块文件两个:
MMAP.GRP 所有外景地图块
贴图号0~909:地面地表贴图
贴图号1001~1245和1348~1445为:地面上建筑、树木等贴图
贴图号2501~2552:主角站立、行走、站立观望的贴图
贴图号3501~3700:外景物品贴图
查看MMAP.GRP外景地图块可用“潮流”的《金庸群侠传多功能编辑器》mapdef1.37,选择“图像/贴图”-“贴图资源”-“MMAP.GRP”。
MMAP.IDX MMAP.GRP的索引文件
MMAP.IDX为MMAP.GRP外景地图块的地址索引(第一幅图为0~(1A4-1),第二幅图为1A4~(266-1),第三幅图为266~(40A-1)……)。
具体两者对应关系参见:“浅谈《金庸群侠传》的图片压缩格式”
代码算法:
BUILDING.002中河洛客栈为:
地址 代码
河洛 359CE E00A (10进制:2784)
在MMAP.GRP中河洛客栈贴图号(MMAP.GRP中图块的顺序号,可在多功能编辑器中查得)为:
第(10进制)1392幅图
贴图代码 = 贴图号×2
河洛客栈的代码为:1392×2=2784(16进制为:E0 0A)
同理代码算贴图号为其逆运算:贴图号=贴图代码÷2
二、大地图构建文件
1、地面树、山、房屋等建筑的贴图结构
下面三个文件对应关系参见:《大地图图象基本结构》
BUILDING.002 外景地图建筑贴图数据(树、山、房屋等)
BUILDX.002 外景地图建筑覆盖x坐标(一个建筑可能覆盖几个地块坐标)
BUILDY.002 外景地图建筑覆盖y坐标
2、地面的贴图结构
下面两个文件结构与BUILDING.002不同
EARTH.002 外景地图底层贴图数据(地面、江河湖海、雪地、沙漠等)
此文件从00地址开始每两个字节为一个贴图代码填充,其坐标为x,y值:
00000000h: 00 00 00 00 00 00 00 00 14 03 14 03 14 03 14 03-贴图代码
坐标为x,y值:0,0 1,0 2,0 3,0 4,0 5,0 6,0 7,0
00000010h: 14 03 14 03 14 03 14 03 14 03 14 03 14 03 14 03
坐标为x,y值:8,0 9,0 10,0 11,0 12,0 13,0 14,0 15,0
……
然后开始第二行
000003d0h: 14 03 14 03 14 03 14 03 14 03 14 03 14 03 14 03
坐标为x,y值:0,1 1,1 2,1 3,1 4,1 5,1 6,1 7,1
x最大为0~479,y最大为0~479
已知地图坐标x,y值,在EARTH.002中10进制开始地址值为:X×2+960×Y
SURFACE.002 外景地图表面贴图数据(道路,花花草草等)
SURFACE.002结构与EARTH.002一样,同上。