Skip to content

资源文件

SunTY edited this page Mar 6, 2022 · 3 revisions

从DOS版转换

工程abc,用来转换之前的数据。

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

同时,会将初始进度转为sqlite3的数据库。

建议以Debug,手动执行此文件。

该文件中,名字,说明等文字的编码,初始存档为cp950(BIG5)。读入之后会转为65001。若使用数据库,则必定是65001。

图片

游戏的资源文件是以单个图片的形式放在resource的各个目录中的,每张图的偏移保存在index.ka中,格式为每张图两个16位整数,连续存放。

可以使用工具ConsoleImz.exe(https://github.com/scarsty/kys-more/tree/master/%E4%BF%AE%E6%94%B9%E5%99%A8/sfeconsole),将原dos版的grp/idx格式保存的图片转换为png文件的目录,例如使用以下命令行:

.\ConsoleImz.exe -rlew mmap.idx mmap.grp mmap
.\ConsoleImz.exe -rlew sdx smp smap
.\ConsoleImz.exe -rlew hdgrp.idx hdgrp.grp head
.\ConsoleImz.exe -rlew wdx wmp wmap

for /l %%i in (0, 1, 9) do ConsoleImz -rlew fight00%%i.idx fight00%%i.grp fight00%%i
for /l %%i in (10, 1, 99) do ConsoleImz -rlew fight0%%i.idx fight0%%i.grp fight0%%i
for /l %%i in (100, 1, 999) do ConsoleImz -rlew fight%%i.idx fight%%i.grp fight%%i

del f*\*_1.png
del f*\*_2.png
del f*\*_3.png
del f*\*_4.png
del f*\*_5.png
del f*\*_6.png
del f*\*_7.png
del f*\*_8.png
del f*\*_9.png

也可以将图片压缩为zip文件,游戏会先读取zip文件,如没有,则读取目录中的文件。

因此,发布游戏时应删除图片目录,避免文件过多,解压非常慢。而开发的时候,则应该只保留图片目录。

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

列表

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

升级经验列表levelup.txt即一个txt文件,格式很简单,打开查看就明白。

离队列表中,第一个数字为起始离队事件,之后是离队人物的列表。事件编排方式为:

离队起始事件+人物在离队列表中的顺序*2为离队事件。

剧情脚本

使用https://github.com/godka/sfe-kdef将旧格式事件转为lua脚本。此工具的对话文件格式仅能使用utf-8,请自己看着办。另外不支持注释,也不再继续更新。

Clone this wiki locally