HDR
HDR is a file extension in FIFA and FIFA Manager games, which is used for audio files. It works as a header for DAT files.
Structure[edit | edit source]
Version 1[edit | edit source]
FIFA 07, FIFA 08, FIFA Manager 07, FIFA Manager 08
UINT16 type (0x3CB for player comments) INT16 sub ID (FIFA player ID for player comments), -1 if no ID assigned * UINT7 number of parameters UINT1 has cycle bits UINT8 number of samples UINT8 repeat queue size UINT8 offset multiplier (size of block), 0 = 256, 1 = 512, 2 = 1024, and so on UINT16 size of all samples in .dat file, divided by offset multiplier (blocks count) UINT16 number of subbanks #FOR number of samples UINT16 sample offset in .dat file, divided by offset multiplier (big-endian) UINT8[] parameters (count - number of parameters) #END FOR UINT8[] 4-byte alignment UINT32[] valid param mask (count - number of parameters) #IF has cycle bits UINT8 cycle length UINT1[] cycle bits (count - number of samples, runtime usage, always 0) UINT1[] 1-byte alignment #ENDIF #IF repeat queue size > 0 UINT8 repeat queue current index (runtime usage, always 0) UINT8[] repeat queue sample indices (count - repeat queue size, runtime usage, always -1) #ENDIF UINT8[] 4-byte alignment
* In case if ID is greater than 16-bit value, only lower 16 bits are stored in the file.
Version 2[edit | edit source]
FIFA 09, FIFA 10, FIFA Manager 13
UINT16 type (0x3CB for player comments) UINT7 number of parameters UINT1 has cycle bits UINT8 number of samples INT32 sub ID (FIFA player ID for player comments), -1 if no ID assigned UINT8 repeat queue size UINT8 offset multiplier (size of block), 0 = 256, 1 = 512, 2 = 1024, and so on UINT16 size of all samples in .dat file, divided by offset multiplier (blocks count) UINT32 number of subbanks #FOR number of samples UINT16 sample offset in .dat file, divided by offset multiplier (big-endian) UINT8[] parameters (count - number of parameters) #END FOR UINT8[] 4-byte alignment UINT32[] valid param mask (count - number of parameters) #IF has cycle bits UINT8 cycle length UINT1[] cycle bits (count - number of samples, runtime usage, always 0) UINT1[] 1-byte alignment #ENDIF #IF repeat queue size > 0 UINT8 repeat queue current index (runtime usage, always 0) UINT8[] repeat queue sample indices (count - repeat queue size, runtime usage, always -1) #ENDIF UINT8[] 4-byte alignment
Player commentaries[edit | edit source]
Player commentary samples have 1 parameter - sound tone:
0 - low tone 1 - high tone
Validation mask is following:
1 - file has low tone sounds 2 - file has high tone sounds