?? 文件格式.txt
字號:
adrn_9.bin 圖片地址文件
這個文件有若干個大小一樣的塊組成,
每個塊長度80為字節(jié),格式如下:
{
long 序號;
long 地址; 指明圖片在數(shù)據文件中的起始位置
long 塊長度; 圖片數(shù)據塊的大小
long 偏移量X; 顯示圖片時,橫坐標偏移X
long 偏移量Y; 顯示圖片時,縱坐標偏移Y
long 圖片寬度;
long 圖片高度;
char 占地面積-東; 占地面積可能是用于畫地圖的時候計算物品的層次的,可以不管它,
char 占地面積-南; 1就表示占1格
char 標志; 用于地圖,0表示障礙物,1表示可以走上去
char 未知[45];
long 地圖編號; 在地圖文件里的代號
}
魔力的GraphicInfo.bin每個塊長度是40字節(jié)。 char 未知[5];
其中偏移量XY是用于圖片定位的,比如X=-18,Y=-19,如果將圖片顯示在(100,100),那么實際
位置應該是(82,81),這樣才可以和其它圖片協(xié)調,在做人物動作gif的時候必須用這個參數(shù)來調整
每一幀的位置,否則動作是抖動的。
real_9.bin 圖片數(shù)據文件
這個文件包含了所有圖片的原始數(shù)據,每個數(shù)據塊由數(shù)據頭+數(shù)據組成,
每個數(shù)據頭長度16字節(jié),格式為:
{
char 標志[2]; 固定為"RD"
short 未知;
long 寬度;
long 高度;
long 塊長度;
}
后三項和地址文件中的一樣,塊長度包括了數(shù)據頭的大小。
在數(shù)據頭后面緊跟圖像數(shù)據。
例如,要解開第10000個圖片,首先在adrn_2.bin里定位到第10000條記錄,根據地址在real_2.bin中
找到對應的數(shù)據塊,就可以讀出圖片數(shù)據了。
spradrn_1.bin 角色動作地址文件
每個數(shù)據塊大小12字節(jié)
{
long 序號;
long 地址; 指明在造型文件中的地址
short 動作數(shù)目; 該角色的動作數(shù),包括各個方向的
short 未知;
}
spr_1.bin 角色動作數(shù)據文件
該文件存放了全部動作的圖片序列,每個動作由數(shù)據頭+若干序列號組成,
數(shù)據頭長度12字節(jié)。
{
char 未知[8];
long 幀數(shù);
}
有多少幀,后面就跟有多少個序列號,
每個序列號長10字節(jié),
{
long 圖片號;
char 未知[6];
}
圖片號就是該幀所用的圖片序號。
例如要解出340號角色的第20個動作,先在spradrn_1.bin中找到序號為340的數(shù)據塊,讀出地址和動作數(shù),
然后根據地址在spr_1.bin中定位到對應的數(shù)據塊,現(xiàn)在的位置是在第0個動作上,一次讀到第20個去,
(每個動作的大小都由幀數(shù)決定)根據幀數(shù)讀出每一幀的圖片號,通過圖片號解出對應的圖片就行了。
其中未知的字段表示我還不知道用處的。
根據這些解出的圖片數(shù)據不是位圖格式,是用Run-Length算法壓縮之后的數(shù)據,這類算法很簡單,
我將幾個標志字節(jié)說明一下:
標志
一字節(jié) 二字節(jié) 三字節(jié) 四字節(jié)
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 + -