⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 文件格式.txt

📁 jssm的原代码
💻 TXT
字号:
adrn_9.bin	图片地址文件
这个文件有若干个大小一样的块组成,
每个块长度80为字节,格式如下:
{
	long	序号;
	long	地址;		指明图片在数据文件中的起始位置
	long	块长度;		图片数据块的大小
	long	偏移量X;	显示图片时,横坐标偏移X
	long	偏移量Y;	显示图片时,纵坐标偏移Y
	long	图片宽度;
	long	图片高度;
	char	占地面积-东;	占地面积可能是用于画地图的时候计算物品的层次的,可以不管它,
	char	占地面积-南;	1就表示占1格
	char	标志;		用于地图,0表示障碍物,1表示可以走上去
	char	未知[45];
	long	地图编号;	在地图文件里的代号
}
魔力的GraphicInfo.bin每个块长度是40字节。 char 未知[5];

其中偏移量XY是用于图片定位的,比如X=-18,Y=-19,如果将图片显示在(100,100),那么实际
位置应该是(82,81),这样才可以和其它图片协调,在做人物动作gif的时候必须用这个参数来调整
每一帧的位置,否则动作是抖动的。

real_9.bin	图片数据文件
这个文件包含了所有图片的原始数据,每个数据块由数据头+数据组成,
每个数据头长度16字节,格式为:
{
	char	标志[2];	固定为"RD"
	short	未知;
	long	宽度;
	long	高度;
	long	块长度;	
}
后三项和地址文件中的一样,块长度包括了数据头的大小。
在数据头后面紧跟图像数据。

例如,要解开第10000个图片,首先在adrn_2.bin里定位到第10000条记录,根据地址在real_2.bin中
找到对应的数据块,就可以读出图片数据了。

spradrn_1.bin	角色动作地址文件
每个数据块大小12字节
{
	long	序号;
	long	地址;		指明在造型文件中的地址
	short	动作数目;	该角色的动作数,包括各个方向的
	short	未知;
}

spr_1.bin	角色动作数据文件
该文件存放了全部动作的图片序列,每个动作由数据头+若干序列号组成,
数据头长度12字节。
{
	char	未知[8];
	long	帧数;
}
有多少帧,后面就跟有多少个序列号,
每个序列号长10字节,
{
	long	图片号;
	char	未知[6];
}
图片号就是该帧所用的图片序号。

例如要解出340号角色的第20个动作,先在spradrn_1.bin中找到序号为340的数据块,读出地址和动作数,
然后根据地址在spr_1.bin中定位到对应的数据块,现在的位置是在第0个动作上,一次读到第20个去,
(每个动作的大小都由帧数决定)根据帧数读出每一帧的图片号,通过图片号解出对应的图片就行了。

其中未知的字段表示我还不知道用处的。

根据这些解出的图片数据不是位图格式,是用Run-Length算法压缩之后的数据,这类算法很简单,
我将几个标志字节说明一下:
标志
一字节	二字节	三字节	四字节
0n	String			长度为n的字符串(n<=0xF)
1n	m	String		长度为n*0x100+m的字符串
2x	y	z	String	长度为x*0x10000+y*0x100+z的字符串
8n	X			填充n个X(n<=0xF)
9n	X	m		填充n*0x100+m个X
Ax	X	y	z	填充x*0x10000+y*0x100+z个X
Cn				填充n个背景色(n<=0xF)
Dn	m			填充n*0x100+m个背景色
Ex	y	z		填充x*0x10000+y*0x100+z个背景色
比如,C9表示填充9个背景色,D1 10表示填充0x110个背景色,12 50表示后面跟着一个长度为0x250的字符串,
91 02 30则表示将0x02重复0x130遍。

以上文件格式在2.0也一样,不过文件名有变化,作相应修改就行了

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -