记录一种特殊自定义 Spine 包装格式,作为简要技术记录,不提供工具、素材,仅进行结果记录。

两种格式

格式
TJSA / TJSP 合并格式
TJFS 分体格式

TJSA / TJSP 格式

其头部:

1
2
3
4
5
6
7
8
9
[4B magic "TJSA"/"TJSP"]
[4B version = 1]
[varint string hash]
[varint string version, 如 "3.5.35"]
[f32 width]
[f32 height]
[1B nonessential]
[若 nonessential: f32 fps][string imagesPath]
[标准 Spine 3.5 SkeletonBinary payload]

tjsa_parser.parse_standard_payload 负责读取标准二进制载荷,sub_702BC0 / sub_704ED8 区域可看到 bones / slots / constraints / skins / events / animations 的顺序读取。

TJFS 格式

1
2
3
.skel  骨架索引
.SK 皮肤分片
.an 动画分片
  • .SK 分片:parse_sk 结构为 [TJFS][skin_index][group_count][groups][attachments][an catalog]
  • .an 分片结构为 [TJFS][hash][name][readAnimation payload][BE duration f32]
  • 合并:skel_to_json 把骨架、皮肤、动画合并成单一 JSON

至此,最核心的自定义 Spine 可回归标准 3.5 格式。