标题: 关于 天下霸图的 一些修改
性别:未知-离线 upp

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 12
编号 402090
注册 2010-11-4


发表于 2010-11-12 10:16 资料 短消息 只看该作者
关于 天下霸图的 一些修改

一直在研究天下霸图这个游戏,看看能不能开发这个游戏的mod。 这个游戏是一款武林门派经营游戏,招收弟子,研发武功。如果解析各种文件成功,可以开发mod,他将比三国志等,更适合做例如 萌战 之类的mod,因为他的战争模式本身就是基于单人策略战棋类的(有具体的人物使用自己修炼的武功招数打斗,不是军队战斗来模拟)。

以往,由于 秋风五 等人的工作,对于 save 文件, 以及 武功, 物品的 data 文件已经比较完善,可以对人物的基本属性进行修改,并且从新 构造新的 武功树 和特效。也就有了备受赞扬的 揭谛2.0版。 但是一些小功能,如换头像,编辑剧本文本等还没有实现。 我对于这个游戏的 参与解析基本上力图实现这些功能。

首先, 对于 data文件夹下的 .mk文件,一直以来不清楚其构造。 事实上,其本身由 文本文档 稍加编码而成, 方法是 得到文本文件后, 在16进制文件模式下,对每个字 单位 做 +1 处理。从而显现成乱码。所以,一旦清楚其原理,就可以对其进行编辑,从而可以从新定制剧本文本内容,甚至修改 各个 城镇 和 总舵的名称。

[ 本帖最后由 upp 于 2010-11-12 11:46 编辑 ]


顶部
性别:未知-离线 upp

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 12
编号 402090
注册 2010-11-4


发表于 2010-11-12 10:38 资料 短消息 只看该作者
回复 #1 upp 的帖子

其次,对于 头像问题,  van 的 rpgviewer已经破解,但是并没有 做导入功能。 我也一直联系不上van太守。 只好自己研究。 头像问题 来源于 两个 文件, head.pic 与 head.ndx。 其中 head.ndx 是地址索引,在 16进制下很容易看出 给出了 每副头像的首地址。 如开始为 00 00 00 00 a8 85 00 00, 所以 第一副图片 起自地址 00 00 00 00, 第二副图片起自地址 00 00 85 a8。

下面 我们 对每一幅 图片进行分析:如第一副图片 起始 为:

00000000h: 00 00 00 00 75 00 8F 00 8F 00 02 00 10 00 F9 BF ; ....u.??....?
00000010h: 90 85 00 00 3C C9 8D 01 08 00                   ; 悈..<蓫...

起先为 00 00 00 00, 每幅图都如此,具体作用不清楚
随之 7500 8f00 表示 画布的 长与宽。 8f 00表示画布上的图片的 长。  02 00 作用不清楚。
10 00 很重要,改成其他值后无法显示图片,作用不清楚。
f9 bf 作用不清楚, 貌似 不是很重要,对图片无影响。
90 85 00 00 是 数据段的长度。
3c c9 8d 01 含义不清

下面开始数据方面。他的存储方式基本上就是 一行一行的画,只画有效的非透明的部分:
如例子 ,第一行数据如下:
00000018h: 08 00 00 00 DA 00 D0 66 AF 62 CF 66 CF 66 CF 62 ; ....?衒痓蟜蟜蟗
00000028h: AF 62 AF 62 AF 62 AF 62 AF 66 AF 62 AF 62 AF 62 ; 痓痓痓痓痜痓痓痓
00000038h: AF 62 AF 62 AF 66                               ; 痓痓痜.....

000000f0h: AF 62 AF 62 AF 62 A8 41                         ; 痓痓痓ˋ
开始08 00,表示行开始画的坐标,随后的 00 00 表示下移 0列, Da 00,  表示后面的 象素数据地址长度。随后 每个字节 如 d0 66等表示一个像素。

同理第二行:

000000f8h: 26 FF 01 00 DA 00 0A 4E E3 24 82 14 41 0C 42 0C ; &..?.N??A.B.
00000108h: 42 10 61 0C 42 10 42 0C 42 0C 61 0C 62 10 61 0C ; B.a.B.B.B.a.b.a.
00000118h: 41 0C 41 0C 41 0C                               ; A.A.A.

26 ff 表示 横坐标想左走 db 个坐标(带符号数!), 01 00 表示纵坐标 向下走一个,从而确定第二行起始地点。 DA 00 表示象素数据长度, 以此类推.....

[ 本帖最后由 upp 于 2010-11-12 11:44 编辑 ]


顶部
性别:未知-离线 upp

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 12
编号 402090
注册 2010-11-4


发表于 2010-11-12 10:45 资料 短消息 只看该作者
再有就是 象素 元素的构造 , 这里 以象素代码 D0 66 为例, 算出其 RGB 值方法如下

将 D0 66 展开 二进制 为 :11 01 00 00 01 10 01 10

则 算法为 ,先向左走三位(到尾从头来),然后在取 2个字节的值, 从而 红色 R 先走三位, 路过 110, 随之取八位代码 10 00 00 11,就是 83.然后 再加上3位, 取 8位 到末尾后从头再取, 就是 10 11 01 00, 就是B4, 同理我们可以得到 CD。

所以 RGB 代码 在 bmp 格式中为 83 b4 cd ff。

所以对于文件的导入,如果是24位的,肯定会有所失真,但可以近似处理 考虑 逆算法:

算法应当是,拿到 RGB(Red,Green,Blue)三个数以后, 展开成二进制。 把 红色 的最后两位变成蓝色的最高阶两位, 绿色的 最后三位 改成 红色的 最高阶的三位,蓝色的最后三位改成绿色的最高阶三位, 然后把它们串起来就可以得到在 pic文件中的表达了。
顶部
性别:未知-离线 upp

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 12
编号 402090
注册 2010-11-4


发表于 2010-11-12 11:02 资料 短消息 只看该作者
最后是 关于 人物行走 ,劈斩 等动画部分的修改, 主要问题是 men文件夹下的 manXXXX.pic 文件的 分析。
用Ultraedit可以看出 这个 是 前面 ndx 文件和 pic文件的 合体。 首先 给出 了文件所包含的 图数,随后给出了 每幅图的相对首地址。因为 图像数目已知,所以可以知道 数据部分开始的地址。

这个图像的存法是 把图像 看成 由象素组成的 长长的 一串。 中间透明的部分, 也就是 00 00, 如果有 X个, 就用 C0 X 来标识,从而 达到简化的目的。

例如 举 man0031.pic 为例。 代码如下

00001d84h: 01 01 8D 00 2A 00 00 00 60 00 00 00 C0 0F 00 00 ; ..?*...`...?..
00001d94h: 11 0D 00 00 EA 08 00 00 F8 FF FF FF 48 00 00 00 ; ....?..?H...
00001da4h: 44 00 24 04 C0 12 97 16 72 6D 6E 6D 6A 4C 66 2C ; D.$.??rmnmjLf,
00001db4h: 94 E5 C0 22 90 E6 7F 31 7F 10 7E CF 7A AE 72 6D ; 斿?愭1.~蟴畆m
00001dc4h: 6A 4C 62 2B 55 CA 8C A4 C0 20                   ; jLb+U蕦だ

开始 为 01 01 8d 00 含义不清
2a 00 00 00 60 00 00 00 为宽与长
c0 0f 00 00 含义不清,似乎不影响图片
11 0d 00 00,修改会导致图片扭曲,含义不清。
以下内容 至 24 02 含义不清
c0 12,  表示 起始 18 个 0 象素(Bmp代码为 00 00 00 00)
然后随之接下来象素 单元
直至 c0 20 表示再加上 32个 0 象素。 总体而言,这个文件没有解释太清楚,有些数据应当与图片无关,但是是 图片 中心,用于行走等动作,尚未解析出来。
顶部
性别:未知-离线 upp

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 12
编号 402090
注册 2010-11-4


发表于 2010-11-12 11:03 资料 短消息 只看该作者
最后感谢 Van 大大 的 rpgviewer, 另外 真诚希望 van大大 能够给予 关于 pic 文件 编码的指导。 我的邮箱是

zuitaoqin@gmail.com
顶部
性别:未知-离线 KYOKO
(★御姐控★)

唐国公
荆南节度使
★★

Rank: 22Rank: 22Rank: 22Rank: 22
柱国(正二品)
组别 节度使
级别 大将军
功绩 1456
帖子 65615
编号 32
注册 2003-8-19
来自 BWL


发表于 2010-11-12 13:37 资料 个人空间 短消息 只看该作者
很想玩,不过貌似bug很多。。有硬盘的完美版了吗?
顶部
性别:未知-离线 upp

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 12
编号 402090
注册 2010-11-4


发表于 2010-11-12 15:49 资料 短消息 只看该作者
还好,有几个bug还没有破解,基本可以避免。可以参考贴吧里的 这个 帖子

[url=http://tieba.baidu.com/f?kz=826608625]
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2024-12-21 22:28
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.009521 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP