铁血丹心

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

[C++复刻] 游戏中的资源文件说明,以及数据转换工具abc

[复制链接]
发表于 2017-11-6 22:39 | 显示全部楼层 |阅读模式

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

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

x

在发布的源码中,除了主工程kys,还有另一个工程abc,用来转换之前的数据。

其中主要的功能是将存档的R部分扩展为原来的二倍。即所有的16位整数转为32位整数,表示范围从32767扩大到2^31-1~2.1e9,足够通常的数值使用。同时,原有的字串也扩展为之前的二倍长度,例如原来人物的名字有5个中文字符长度,实际上最多只能使用4个字,转换之后则可以使用9个字(并不是推荐你用9个字)。转换之后的文件名变为r?.grp32。

文件的文本编码,仅有初始存档为cp950(BIG5),这是向下兼容的需要,但是内部会使用cp936(GBK),存档被保存后也会转为cp936。

游戏的资源文件是以单个图片的形式放在resource的各个目录中的,每张图的偏移保存在index.ka中,格式为每张图两个16位整数,连续存放。没有打包之后的源码,因为ka觉得之前的设计不良,故暂且留空。

战斗贴图文件中,每个人的帧数,之前在hugebase(水浒)框架中使用fightframe.ka保存,现改用fightframe.txt保存。格式为动作索引(0~4),每方向数量。未写则视为0。

之前游戏使用的列表文件只保留了升级经验列表和离队列表,改用txt格式。

并非所有的文档都转为32位,这有一部分是为了节省资源的需要。

以上提到的数据,除了文本文件外均可以用真正的强强的新版upedit修改。

评分

参与人数 1声望 +12 收起 理由
winson7891 + 12 看不懂

查看全部评分

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-10 03:38 | 显示全部楼层
顶下..........................
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-11-18 11:56 | 显示全部楼层

参照着着c++复刻源码,想把引擎写一遍。可是地图绘制发生错误,比方上面道路小方块就对不齐。我发现,道路小方块不是36*18的,所以对不齐呀。还有,就是index.ka文件,我载入图片的时候没用到这个文件,是不是和这个有关,这个文件是图片偏移量?偏移量该怎么理解?我TextManager直接用的SDL_Texture,没有再封装个struct Texture,是不是因为偏移量,所以必须封装个struct存储偏移量,贴图位置才能正确。




本帖子中包含更多资源

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

x
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2017-11-18 12:44 | 显示全部楼层
entelecheia 发表于 2017-11-18 11:56
参照着着c++复刻源码,想把引擎写一遍。可是地图绘制发生错误,比方上面道路小方块就对不齐。我发现,道 ...

index.ka依次保存目录下每张图的偏移,每两个int16对应一张图。贴图时要减去这个值计算位置。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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