Mohawk archive format
Contents
General layout
Mohawk archives are organized in chunks, and this is the chunk layout:
-  IFF chunk
- IFF header
 - RSRC header
 -  Resource dir
- Type table
 - Name tables (one for each resource type)
 - Resource tables (one for each resource type)
 - Resource name list
 - File table
 
 - Actual data (resource contents)
 
 
Note that the chunks may be found in a different order: never trust on them being at fixed locations, and use the offsets to reach them.
Every integer is in big-endian (Motorola) byte order.
IFF header
This is always at the beginning of the file.
| 4 bytes | chunk signature (MHWK), identifies Mohawk archive format | 
| unsigned long | file size in bytes, not counting this IFF header (that is, file size - 8) | 
RSRC header
I think this is actually the "Resource Dir header". Note that the Dir can be anywhere in file, but this header always follows the IFF Header.
| 4 bytes | chunk signature (RSRC) | 
| unsigned long | should be length of RSRC chunk (never bothered to check) | 
| unsigned long | total file size in bytes | 
| unsigned long | absolute offset of the Resource Dir | 
| unsigned short | offset in Resource Dir of the File Table | 
| unsigned short | File Table size in bytes | 
Type table
It lists resource types in the Mohawk file. This table is always at the beginning of the Resource Dir.
Header:
| unsigned short | offset in Resource Dir of the Resource Name List (maybe this should go with the RSRC Header) | 
| unsigned short | number of resource types in this file | 
Entry (one for each type):
| 4 bytes | resource type (tWAV, tBMP, NAME etc.) | 
| unsigned short | offset in Resource Dir of the Resource Table for this type | 
| unsigned short | offset in Resource Dir of the Name Table for this type | 
Name table
There is one name table for each resource type. Many types don't have resource names; usually only tBMP, tWAV and tMOV do. Each entry holds the name offset in the name list for a resource.
Header:
| unsigned short | number of name entries (can be zero) | 
Entry:
| unsigned short | offset of the name string in Name List | 
| unsigned short | resource index (equal to the resource's index in File Table) |