Studio FBMOD containers
Studio labels its intermediate FBMOD as Frosty version six, using a legacy variant with a length-prefixed profile and no payload-table SHA-1. Other Frosty layouts also use version six, so the version word alone does not identify the variant. Measured Studio files read to their exact end and reproduce byte for byte. Observed
Little-endian integers.
| Offset | Size | Type | Field | Confidence | Notes |
|---|---|---|---|---|---|
| 0x0 | 8 | bytes | magic | Observed | FROSTY followed by bytes 00 01 |
| 0x8 | 4 | u32 = 6 | version | Observed | |
| 0xC | 8 | u64 | payload table offset | Observed | |
| 0x14 | 4 | u32 | payload count | Observed | |
| 0x18 | 1 | u8 | profile length | Observed | |
| 0x19 | profile length | bytes | profile | Observed |
The profile is followed by u32 game_version, six zero-terminated strings (title, author, category, version,
description and link), then u32 entry_count and the entries. The payload table has u64 offset, u64 size
pairs. Payloads use CAS framing and can be shared by index. Observed
An entry begins with u8 kind, i32 payload_index (-1 means none) and name. Payload-bearing entries add SHA-1,
decoded size, flags, handler and a user string. All entries carry bundle hashes. Resource entries additionally
store type, resource id and length-prefixed metadata; chunk entries store range start/end, logical offset/size,
h32, first mip and added-bundle hashes. Observed
| Kind | Entry | Confidence |
|---|---|---|
0 |
Embedded icon/screenshot | Sourced · FrostyToolsuite |
1 |
EBX | Sourced · FrostyToolsuite |
2 |
Resource | Sourced · FrostyToolsuite |
3 |
Chunk | Sourced · FrostyToolsuite |
Payload SHA-1 covers encoded bytes. The intermediate’s entries and bundle modifications are distinct from the native deployed TOC/CAS package. Observed