游客:
注册
|
登录
会员
|
搜索
|
统计
|
帮助
轩辕春秋文化论坛
»
步步为营
» 三国志英杰传战场地图文件分析
兴唐传·瓦岗山异闻录(20150519版)发布
(2015-5-19)
论坛营运现状公告
(2014-8-10)
三国志12pk版下载
(2013-4-20)
《精忠报国岳飞传》制作组对外开放
(2013-1-16)
岳飞传解密剧本发布
(2011-4-12)
招募各版斑竹和网站管理技术人员
(2006-4-19)
<< 上一主题
|
下一主题 >>
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
|
开通个人空间
|
加入资讯
标题: 三国志英杰传战场地图文件分析
龙吟
白衣伯爵光禄大夫
★
组别
白衣卿相
级别
忠义校尉
功绩
247
帖子
214
编号
3497
注册
2003-12-18
#1
发表于 2012-1-19 13:25
资料
文集
短消息
只看该作者
三国志英杰传战场地图文件分析
三国志英杰传的战场地图文件存放于 HEXZMAP.R3 文件中,该文件是一个LS11压缩文件。经过解压缩后才能阅读地图格式。下面以解压缩后的文件为例,说明地图文件格式(解压缩后的文件可以在附件中下载)。
HEXZMAP.R3文件由五个部分构成
第一部分:文件头(长度16字节)(0X0~0X0F)
表示这是一个LS11压缩文件
第二部分:压缩用字典(长度256字节)(0X10~0X10F)
压缩用的字典
第三部分:战场索引(长度为(战场总数+1)×12+4字节)
原版的战场总数为58个,所以索引长度为59×12+4=712字节(0X110~0X3D7)
每个战场的索引为12字节,前4字节是压缩后的战场地图数据长度,中间4字节是未压缩的战场地图数据长度,最后4个字节是战场地图索引的位置
例如在解压缩后的第一关汜水关之战的战场地图文件索引中,前4字节和中间4字节都是00 00 08 C2,表示战场数据长度为0X08C2(2242)字节长,最后4字节是 00 00 03 D8 表示战场地图数据从文件偏移0X03D8(984)处开始。
最后一个战场索引指向的不是战场地图,而是战场的名称,参见第五部分。
第四部分:战场地图
战场地图是按战场索引找到的,例如汜水关的战场地图数据文件从0X03D8(984)字节开始,长度0X08C2(2242)字节,表示其数据存放在0X03D8~0X0C99(984~3225)处。
战场地图分为三个子部分:
第一子部分:地图宽度和高度
头两个字节是地图的大小。第一个字节是地图的横宽度×2,第二个字节是地图的纵高度×2
例如:汜水关之战的地图数据头两个字节(0X3D8~0X3D9或984~985)是 38 20,表示地图的宽度是28(0X38=56=28×2),高度是16(0X20=32=16×2)
根据地图的宽度和高度可以计算出地图的大小,如汜水关之战的地图大小就是28×16=448=0X1C0格
第二子部分:地图的显示数据
长度为地图大小×4,例如汜水关之战的地图显示数据长度为0X1C0×4=0X700=1792字节,位于0X3DA~0XAD9(986~2777)字节处。
英杰传的战场地图中,每格的大小是32×32像素,但在显示中,为了使地图的显示更加平滑,光荣公司将每格分成了四个小格,每小格16×16像素。例如汜水关之战,其按小格算的宽度和高度就是56×32,和头两个字节的内容完全吻合。
第二子部分的显示数据中每一个字节对应一个小格的显示内容,从上往下,从左往右排列。例如第1行第1列的小格的显示内容就是第1字节,第1行第2列是第2字节,第1行最后一列是第56字节(汜水关),第2行第1列是第57字节。
我们可以看到汜水关之战第1行第1列的值是A9,这是一个悬崖的图案,要找到这样的图案,请参考附件中的截图。
这个截图是一个256×256的图像文件。我们知道每个小格是16×16大小,所以这个BMP文件包含了所有的256种地形显示,分成16行16列。第一行从左到右是代码00-0F的图像,第二行是10-1F的图像,依此类推。例如A9就是第11行第10列的图像(一个悬崖)。
第三子部分:地图的战术数据
第二部分是地图的显示数据。事实上,我们都知道,在游戏中实际判断地形的是按照地图的战术数据。例如汜水关的地图实际上有28×16大小,只不过分成了56×32个小格显示而已。
所以这一个子不饿烦恼就是地图的战术数据。以汜水关为例,其地图大小是28×16=448格,所以其战术数据存放在2778~3225字节处。
地图数据从上向下,从左向右排列。一汜水关为例,头28字节是第1行的1~28列,然后是第2行、第3行,依此类推。
具体每一个地图的意义可以参考下面的说明:
00 平原 01 森林 02 山地 03 河流 04 桥梁 05 城墙 06 城池 07 草原
08 村庄 09 悬崖 0A 城门 0B 荒地 0C 栅栏 0D 鹿砦 0E 兵营 0F 粮仓
10 宝物库 11 房舍 12 火焰 13 浊流
第五部分:战场名称
战场索引中的最后一个索引(第59个索引)指向的是战场名称。在附件的HEXZMAP.R3中,偏移是0x2A102。
战场名称由58个战场名字构成,每个战场名字后用换行(0X0A)或者回车换行(0X0D,0X0A)分隔。最后附加一个文件结束符(0X1A)。
[
本帖最后由 龙吟 于 2012-1-20 00:19 编辑
]
附件
: [解压缩后的战场地图文件]
HEXZMAP.rar
(2012-1-20 00:19, 46.27 K)
该附件被下载次数 248
图片附件
: [地图显示的像素图]
rekomap.jpg
(2012-1-19 13:25, 61.69 K)
[广告]
真诚支持说岳,携手共创辉煌
龙吟
白衣伯爵光禄大夫
★
组别
白衣卿相
级别
忠义校尉
功绩
247
帖子
214
编号
3497
注册
2003-12-18
#2
发表于 2012-1-20 00:20
资料
文集
短消息
只看该作者
龙吟犯了错误,最后一组数据不是战场地图,而是战场名称。现在已经修正了帖子和附件。
[广告]
真诚支持说岳,携手共创辉煌
周瑜
栎阳侯谏议大夫
★
组别
翰林学士
级别
征西将军
好贴
10
功绩
943
帖子
4717
编号
1808
注册
2003-11-3
家族
瓦岗寨
#3
发表于 2012-1-20 01:47
资料
主页
文集
短消息
只看该作者
以前我也分析出来的,做了一个地图导出器,但是具体的算法却忘记了。
只记得地图分为两类,荒地和城池。两种地图对于相同代码的显示图形不同。
[
本帖最后由 周瑜 于 2012-1-19 09:49 编辑
]
[广告]
真诚支持说岳,携手共创辉煌
龙吟
白衣伯爵光禄大夫
★
组别
白衣卿相
级别
忠义校尉
功绩
247
帖子
214
编号
3497
注册
2003-12-18
#4
发表于 2012-1-20 05:40
资料
文集
短消息
只看该作者
我的目标不是制作地图导出程序,而是将地图编辑功能增加到剧本编辑器中,让下一个版本的剧本编辑器可以对战场地图进行编辑。目前的剧本编辑器开发计划是:
1.0 最初版
1.1 追加战场地图编辑功能
1.X 增加城市场景编辑功能
2.X 允许新增战斗,扩充剧情
3.X 允许加强版,增加新人物、新天赋、新道具、新兵种和新事件
不过3.X是太远期的目标,希望今年上半年能实现到2.X,可以让大家基于原始游戏设定设计英杰传的MOD
[广告]
真诚支持说岳,携手共创辉煌
WHITESHIP
★★
谏议大夫
组别
翰林学士
级别
征北将军
功绩
380
帖子
4210
编号
170977
注册
2007-6-3
家族
轩辕学院
#5
发表于 2012-1-23 15:19
资料
个人空间
短消息
只看该作者
龙吟研究英杰传有很多年了吧,如果把这些功能(3.X的其实还并不必要,不用着急)加进去,就剧本来说已经基本完善了。
已经可以做三国为主题的MOD了…………
如果FACEDAT.R3那个鬼畜文件能研究出来的话,那说不定就能突破三国题材的限制了。
[广告]
《精忠报国岳飞传完整版》火热发布
WHITESHIP
★★
谏议大夫
组别
翰林学士
级别
征北将军
功绩
380
帖子
4210
编号
170977
注册
2007-6-3
家族
轩辕学院
#6
发表于 2012-1-23 15:25
资料
个人空间
短消息
只看该作者
回复 #3 周瑜 的帖子
好像不是荒地和城池啊……徐州之战的荒地和城池就是共存的。
倒是“山地”和“荒地、山崖”似乎从来没共存过。地图的确可能是分为两类。
[广告]
安装Alexa工具条,提高轩辕排名,支持轩辕发展!
龙吟
白衣伯爵光禄大夫
★
组别
白衣卿相
级别
忠义校尉
功绩
247
帖子
214
编号
3497
注册
2003-12-18
#7
发表于 2012-2-2 02:07
资料
文集
短消息
只看该作者
大悲剧!电脑坏了,正在送修中。可怜我的战场编辑器就快要做好了,不知道还能不能修回来。如果不能修回来,就得从相当早的一个程序备份重新开始了。郁闷中,发个帖子抱怨一下。
[广告]
真诚支持说岳,携手共创辉煌
阿尔法孝直
(雀力日进)
闽国公
遂安军节度使
★★★★★★
组别
节度使
级别
卫将军
好贴
2
功绩
1796
帖子
6042
编号
19070
注册
2004-10-16
家族
轩辕雀党
#8
发表于 2012-2-2 02:09
资料
个人空间
短消息
只看该作者
如果是最坏的情况,那只能拆硬盘移到别的机了。
[广告]
真诚支持说岳,携手共创辉煌
WHITESHIP
★★
谏议大夫
组别
翰林学士
级别
征北将军
功绩
380
帖子
4210
编号
170977
注册
2007-6-3
家族
轩辕学院
#9
发表于 2012-2-2 17:29
资料
个人空间
短消息
只看该作者
伤不起,我有次重装系统也是文件没了,然后用EasyRecovery恢复过,如果不是图像文件的话,应该可以完全恢复的。
不知对修好的电脑是否适用。
[广告]
《精忠报国岳飞传完整版》火热发布
az19870504
组别
百姓
级别
在野武将
功绩
0
帖子
4
编号
457504
注册
2012-2-21
#10
发表于 2012-2-21 18:35
资料
短消息
只看该作者
回复 #1 龙吟 的帖子
发不了帖子....
[广告]
安装Alexa工具条,提高轩辕排名,支持轩辕发展!
投票
交易
悬赏
活动
正在浏览此帖的会员 - 共
1
人在线
轩辕春秋文化论坛
轩辕史话
> 炎黄春秋
> 我思我在
> 法律探讨
> 三国史话
春秋文艺
> 古典小说
> 诗词歌赋
> 现代文艺
> 韦编三绝
> 对联雅座
> 滴翠亭
> 藏经阁
> 双七钟社
> 笑书神侠
> 辕门射虎
> 虎帐点兵
游戏人生
> 同人战棋手游
> 三国戏英杰传
> 三国鼎立
> 轩辕公会
> 三国志12
> 英雄史诗
> 运筹帷幄
> 人间五十年
> 步步为营
> 游行天下
> 游戏贴图
轩辕工作室
> 兴唐传·瓦岗山异闻录
> 豪华曹操传
> 精忠报国岳飞传
> 《精忠报国岳飞传》制作组
> 大一统演义
> 曹操传MOD作品交流
> 东吴霸王传
> 封神英杰传
> 杨家将
> 吕布传
> 三国无双战略版
> 北宋志·赵匡胤传
> 战旗春秋
> 曹操传MOD制作交流
> 金庸群侠传MOD交流
> 风华录
> 设计与修改
怡情岁月
> 影音经典
> 动漫先锋
> 绘画摄影
> 情感轩辕
> 衣食住行
> 体坛动力
> 谈股论金
参政议政
> 迎宾阁
> 鸿胪寺
> 登闻鼓
> 监造府
当前时区 GMT+8, 现在时间是 2025-6-11 07:28
京ICP备2023018092号
轩辕春秋
2003-2023 www.xycq.org.cn
Powered by
Discuz!
5.0.0
2001-2006
Comsenz Inc.
Processed in 0.011395 second(s), 9 queries , Gzip enabled
TOP
清除 Cookies
-
联系我们
-
轩辕春秋
-
Archiver
-
WAP
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
基本概况
论坛排行
主题排行
发帖排行
积分排行
管理团队
管理统计