铁血丹心

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

[通用] 场景文件(Sn.grp)格式【作者:曾大虾、游泳的鱼】

[复制链接]
发表于 2008-6-15 20:42 | 显示全部楼层 |阅读模式

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

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

x
游戏中的地图分为大地图,内场景地图,战斗地图三类。
内场景的地图包括以下文件:
1、allsin.grp(初始化内场景地图构建文件)
2、allsinbk.grp(备份用内场景地图构建文件)【可以认为是场景临时文件】
3、s*.grp(存档用内场景地图构建文件)
4、相应的idx文件
5、贴图信息文件为sdx***和smp*** (或合并贴图SDX和SMP)

内场景构建文件:
allsin.grp是原始地图,即玩新游戏用的地图;
s*.grp当然就是存档的地图.
这两个文件格式一样,只是初始化和存档的关系。

S*.grp文件及allsin.grp结构
每个场景分6层图,每层图大小64×64。
前三层为:每两个字节存储1个贴图代码(贴图索引号×2),若无贴图用00 00填充。
1层:地面贴图代码数据
2层:建筑贴图代码数据(如花草、房子、树木、石头),如果这个位置代码为00 00表示人可以通过。【-1也表示该位置无建筑】
3层:空中贴图代码数据(如:挂在墙上的画、剑或摆放桌面的花瓶等挂或悬或摆在空中的事物)
第四层为:每两个字节在地图中相应位置(D*中相应场景事件描述的XY坐标)存储1个事件索引(D*中相应场景事件的顺序号),若无事件则用FF FF(-1)填充。
4层:场景事件数据
第五、六层为:使2、3层表现为凸出或凹陷,每两个字节存储1个海拔数据,若无海拔则用00 00填充。
5层:建筑海拔(2层y方向偏移),表示第2层图片在贴图时需要向上偏移象素数【也是人物贴图的偏移量】
6层:空中海拔(3层y方向偏移),表示第3层图片在贴图时需要向上偏移象素数

下面以allsin为例具体介绍文件的结构。

allsin.idx 占用400字节磁盘空间,每4个字节为1项,共100项(只有前84项有用,分别对应84个场景),每项指向allsin.grp对应的一个32位地址,其中每个地址长0xc000,即49152Byte。

因此allsin.grp共49152×100=4915200Byte
allsin.grp中每49152的内容(每1个场景)为6层地图信息,每张地图64*64, 每个贴图信息(贴图代码)为2个字节,依次存放。
即64*64*6*2=49152
在程序中可用数组SinData(63,63,5)表示一个场景数据

此文件从00地址开始每两个字节为一个贴图代码填充,其坐标为x,y值:
00000000h: AE 03 AE 03 AE 03 AE 03 AE 03 AE 03 AE 03 AE 03-贴图代码
坐标为x,y值:0,0 1,0 2,0 3,0 4,0 5,0 6,0 7,0
……
然后开始第二行
00000100h: AE 03 AE 03 AE 03 AE 03 AE 03 AE 03 AE 03 AE 03
坐标为x,y值:0,1 1,1 2,1 3,1 4,1 5,1 6,1 7,1

x最大为0~63,y最大为0~63

已知游戏中地图坐标x,y值,在allsin.grp中10进制开始地址值为:X×2+128×Y

第n个内场景地图引用的贴图文件为:sdx00n,和smp00n
关于贴图存储格式释疑请参见:“浅谈《金庸群侠传》的图片压缩格式”

S*.grp释义同上

关于贴图代码和贴图索引号

贴图索引号(“《金庸群侠传》Fish修改器”中每个贴图左上角数字)可用“《金庸群侠传》Fish修改器”-“地图贴图编辑”-“贴图编辑”查得
贴图代码 = 贴图索引号×2
贴图索引号=贴图代码÷2



【】内的为scarscc注释

[发帖际遇]: scarscc遭遇四大恶人,狼狈逃窜,丢失银两18.


[ 本帖最后由 scarscc 于 2008-7-1 13:29 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2008-6-15 20:47 | 显示全部楼层
学习ING,一般都用FISH,但不知原理……
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2008-6-15 21:42 | 显示全部楼层
好难好难,LZ的这个掌门不白当
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2008-6-15 22:19 | 显示全部楼层
这是以前冰蓝上的资料,我把论坛上目前缺少的资料补充完整。建立一个较完整的资料库。

[发帖际遇]: scarscc捡到土龙刀一把,冒充武林至尊,被谢逊追杀,损失银两13.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2008-6-16 09:48 | 显示全部楼层
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2008-6-16 18:03 | 显示全部楼层
看不明。。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-8-17 23:25 | 显示全部楼层
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-8-15 11:00 | 显示全部楼层
mark!!!!!!
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-11-21 20:47

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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