铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 3453|回复: 6

[通用] 大地图图象基本结构

 关闭 [复制链接]
发表于 2007-11-18 15:56 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
闲弄的,想了解的新手看看吧!


----------------------------------------------------------------------------
【原作者 金庸群侠之家 ilsese】

BUILDY.002,BUILDx.002,BUILDing.002的地址说明了贴图的位置,先加横坐标,再加纵坐标如0000003860描述的是(16,15)的图,
0000003862描述的是(17,15)的图,一直加下去。横坐标不变,纵坐标变1,地址相差3C0,如地址3860为(16,15),3C20为(16,16)
,3C1E为(15,16)。由此推得(0,0)的地址不是〈00〉,(0,2)的地址是180,如果是一个贴图一个地址的话,可用这个算出(X,Y)的地址:
(X,Y)=(Y-2)*3C0+X*2+180。大数据我没试过。

BUILDx.002保存的是横坐标,如地址3860,里面保存的是十六进制的〈10〉,也就是横坐标16。
BUILDY.002保存的是纵坐标,如地址3860,里面保存的是十六进制的〈0F〉,也就是纵坐标15。
BUILDing.002保存的是贴图代码,地址3860,里面保存的是十六进制的〈7C 08〉。
我们去到云鹤崖附近,注意云鹤崖小路左边带点雪的几棵数,它们就是就是由BUILDY.002,BUILDx.002,BUILDing.002中的地址3860描述。
将BUILDY.002,BUILDx.002,BUILDing.002任意一个文件中的3860地址改为0000,小雪树都不存在。
同理,地址3C1E描述的是小雪树左下方的四颗没雪的小数,其在BUILDY.002中为〈10〉,BUILDx.002为〈0F〉,BUILDing.002为〈8A 08〉。
于是推断云鹤崖地址应为34A6,果然如此。
上面的都是一个贴图占一个位置的情况。

一个贴图占几个位置的情况尚不明了,云鹤崖后面的左上方的山,居然由BUILDY.002,BUILDx.002中的地址1A52-1A58决定,BUILDx.002中
是4个0D,BUILDY.002中是四个0B,而在BUILDing.002中的地址却是295A,存为〈6734〉。

云鹤崖右边的山地址更多,分别在BUILDY.002,BUILDx.002中为21E8-21EC,25A8-25AE,2968-296E,2D28-2D2E中的15个相同的数决定(X中为〈17〉,
Y中为〈0C〉),这十几个数只要有一个存在,大山就会存在。在BUILDing.002中的地址是2D2E<6409>。

在BUILDing.002把原来的00改为另外的数,贴图不变,地址描述的大地图不能通过。
把地图上的东西改没后,地图变为雪地,仍然不能通过。
各位继续努力。
说错了,云鹤崖与X文件中的25A7,30E7,349E,34A6,2D1E,295E,的<13>有关,Y文件类同.BUILDING.002文件地址应与X,Y文件中最后一组的最后一个个有关.
云鹤崖后面的左上方的山也不止1A52-1A58,而是1A52-1A58+3C0,...1A52-1A58+3C0*N,最后到295A,与BUILDING.002中相同.

大贴图应该是看做一个整体,每个坐标都在地址中表示,但表示方式都是写其中心的位置,在BUILDING.002的地址就跟大贴图最右下角的坐标在BUILDX.002中的地址相同.
各位严正一下,应该没错了.

BUILDY.002,BUILDx.002,BUILDing.002所描述的坐标必须全部为0,人才能从上通过.
EARTH.002的地址和它们完全一样.
现在应该能改大地图了.


[ 本帖最后由 scarscc 于 2008-7-1 13:39 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-11-19 08:39 | 显示全部楼层
看不懂。。。。。。。。。。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2007-11-19 11:21 | 显示全部楼层

回复 #2 ronaldo_33333 的帖子

......
我感觉很简单易懂了。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-11-21 09:17 | 显示全部楼层
知道这个有什么意义吗?
等能修改大地图大小了再来通知我..........
恩,如果可以做无限大的大地图该有多好......
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2007-11-23 20:28 | 显示全部楼层

回复 #4 无名 的帖子

这倒不知能否更改,但dos下肯定是有限制了。
了解这只是一些基础知识,仅供参考。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-11-26 12:42 | 显示全部楼层
看不懂。。。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2008-7-1 13:33 | 显示全部楼层
【原作者 金庸群侠之家 曾大虾】

到目前为止我所知构成外景大地图有关的文件共五个如下:

一、图块文件两个:
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一样,同上。

[发帖际遇]: scarscc带小龙女去蒙地卡罗吃西餐喝红酒,被赵志敬撞见,破财消灾,花费银两25.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-5-19 08:03

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表