炎龙骑士团吧 关注:10,589贴子:118,226
  • 3回复贴,共1

FIGANI.bat文件格式详解

只看楼主收藏回复

今天仔细的看了看PlayerLin版主共享的解析代码,才弄明白了FIGANI文件的具体格式。现列在下面也供以后参考。
(所有存储都采用Big Endian)
文件头信息:
[6 Bytes: 32 4c 4c 4c 4c 4c 固定的6个字节,不明白具体含义]
[4 Bytes * 408] 保存了一共408 个动画序列(每个角色分 防御、攻击、特技,一共136个角色)的起始地址(最后一个地址为文件的结尾地址)
每个动画序列格式:
动画序列头信息:
[1Byte 总帧数F] [1Byte 是否有远程] [1Byte 远程帧编号RF] [1Byte 空][4Bytes 空?]
每一帧的偏移量:
[4Byte * 总帧数F]
每一帧图片的格式:
帧头:
[2Bytes PosX] [2Bytes PosY] [1Byte 击中] [1Byte 音效] [1Byte 显示时长] [2Byte ???]
帧内容:使用RLE8算法压缩存储,采用1个控制位+后面N个数据位的格式。控制位分为四种情况:
0x11[6 bits N]: 空白N+1个像素
0x10[6 bits N]: 直接拷贝后面的N+1个Byte到N+1个像素
0x01[6 bits N]: 用后面的1个Byte填补2N+2个像素 (每次间隔跳过1个Byte)
0x00[6 bits N]: 用后面的1个Byte填补N+1个像素


IP属地:美国1楼2020-07-06 16:11回复
    那個,是 .DAT,不是.BAT,.BAT後綴是批次文件。跟.DAT(通常是做為資料數據二進位文件)是不一樣的東西...


    IP属地:中国台湾2楼2020-07-06 19:55
    收起回复
      2026-03-01 08:29:35
      广告
      不感兴趣
      开通SVIP免广告
      補充點東西。
      文件頭的6 bytes (是6個0x4C,應該沒有0x32才對) 可視為專屬格式的header signature.
      事實上所有二代所有*.DAT數據文件都是同樣的header signature,你可以把它視為就是二代遊戲數據文件包的標誌就是。外傳就沒有使用同樣的規格,而是又另外開發了一個虛擬(檔案)文件系統(Virtual File System,因此後綴名才會是VFS)
      但是,二代FIGANI.DAT的圖像數據格式仍有被繼承到外傳,成為*.CEL圖像數據規格(但我不確定是否100%一致,但初步看起來是差不多),而戰鬥圖則是用新的*.SAF單位格圖像動畫格式,後來漢堂在Windows平台的遊戲也是使用這個規格作為動畫圖儲存格式(.SF2)。


      IP属地:中国台湾3楼2020-07-06 20:13
      回复