Difference between revisions of "FF8/FileFormat FMT"

From Final Fantasy Inside
< FF8
Jump to navigation Jump to search
my_wiki>Shard
m
m (8 revisions imported)
 
(2 intermediate revisions by 2 users not shown)
Line 8: Line 8:
 
Each sound header representing a valid sound file contains the following structure:
 
Each sound header representing a valid sound file contains the following structure:
  
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;"
+
{| class="wikitable"
! style="background:rgb(204,204,204)" | Offset
+
! Offset
! style="background:rgb(204,204,204)" | Size
+
! Size
! style="background:rgb(204,204,204)" | Data
+
! Data
 
|-
 
|-
 
| 0x00
 
| 0x00

Latest revision as of 05:24, 23 May 2019

Final Fantasy 8's sound effects are stored within two files. The audio.dat contains the actual wav files, compressed as 4-bit ADPCM. The audio.fmt file is a locator for sounds in the dat.

FMT File Structure

The FMT is headed by 4 bytes representing the number of sound file headers in the rest of the FMT file, then by a 36 byte header that isn't interesting.

Each sound header (beginning with the first at 0x28) either contains 70 bytes if it represents a valid sound file, or 38 bytes if it's a blank entry (those 38 bytes are all 0x0)

Each sound header representing a valid sound file contains the following structure:

Offset Size Data
0x00 4 bytes Size of wav file in the dat.
0x04 4 bytes Offset of wav file in the dat.
0x08 12 bytes Unknown. If first byte is 0, the other 11 are always 0. Probably some kind of looping metadata.
0x14 18 bytes Microsoft WAVFORMATEX header for the wav file.
0x26 2 bytes Samples per block
0x28 2 bytes Number of ADPCM coefficients (used for compression, should always be 7).
0x2A 28 bytes Standard Microsoft ADPCMCoefSets.