Other Games
Myst and Riven aren't the only games to use the Mohawk format. In fact, many Broderbund based games use it. Here is a (partial) list of games known to use it:
- James Discovers Math
- James Explores Math
- Logical Journey of the Zoombinis (aka Zoombinis Logical Journey)
- Maggie's Barnyard Adventure
- The Treehouse
- Where in America is Carmen Sandiego? (The Great Amtrak Train Adventure)
- Where in the World is Carmen Sandiego? (Windows/Mac version)
Contents
Video
All the videos of the original games are QuickTime movies. The later Zoombinis release has Bink videos instead.
The audio codec is raw, signed, 16-bit data in Big Endian format. The video codec, however, is not standard. It has the FourCC 'Brod' and has description "CDToons". Neither QuickTime nor mplayer can play this codec and its format is unknown. Some videos still use Cinepak (like "The Chief" videos in Carmen Sandiego).
Game Specific Information
James Discovers/Explores Math
Resources
tANM
Animation?
tMFO
Logical Journey of the Zoombinis
Resources
\0SND
These are Mohawk Sounds. Note that they begin with a NULL character.
CURS
Cursor?
SCRB
SCRS
NODE
PATH
SHPL
SYSX
This appears to be a list of Adlib MIDI commands. There are only two resources in the game (which are found in MIDIMAP.DAT) and are 1 or 0xFFFF. They are identical.
Maggie's Barnyard Adventure
Resources
tCUR
Cursor?
BITL
SCRP
SPR#
Sprites?
VRSN
Version?
ANI
Animation? (Note: Ends in a space character)
SHP#
Common Resources
tBMP
Game bitmaps. However, they are not the same as Riven tBMP's! Here's what I figured out so far:
(Big Endian Order)
unsigned long | u0 |
unsigned long | u1 |
unsigned long | u2 |
unsigned long | data_size |
Following this is data_size - 12 bytes. u0 and u1 are normally close. u2 and data_size are normally close.
This is the same in all non-Riven (and non-Myst) games.
tWAV
This is a Mohawk Sounds resource. (Found in all but Logical Journey of the Zoombinis)
tPAL
This appears to be a palette. Here's what I've worked out so far.
(Big Endian Order)
unsigned short | u0 |
unsigned short | color_count |
Following that is color_count RGBA quads.
This is found in Where in the World is Carmen Sandiego?, Where in America is Carmen Sandiego? (The Great Amtrak Train Adventure), and The Treehouse.
tCNT
Unknown. The data size is always 4 and follows this format:
(Big Endian Order)
unsigned short | resource_id |
unsigned short | u0 |
resource_id appears to always equal the tCNT that this belongs to.
This is found in Where in the World is Carmen Sandiego?, Where in America is Carmen Sandiego? (The Great Amtrak Train Adventure), James Discovers Math, and James Explores Math.
tSCR
Unknown.
This is found in Where in the World is Carmen Sandiego?, Where in America is Carmen Sandiego? (The Great Amtrak Train Adventure), and The Treehouse.
STRL
This is a string list.
byte | string_count |
Following that is string_count NULL-terminated strings. This seems reminiscent of Riven's NAME resources.
This is found in Logical Journey of the Zoombinis, Where in the World is Carmen Sandiego?, and Where in America is Carmen Sandiego? (The Great Amtrak Train Adventure).
tBMH
This appears to be identical to the tBMP resources found in these games.
This is found in Where in the World is Carmen Sandiego?, Where in America is Carmen Sandiego? (The Great Amtrak Train Adventure), and The Treehouse.
tMID
This is a Mohawk MIDI resource.
This is found in Logical Journey of the Zoombinis, James Discovers Math, James Explores Math, and The Treehouse.
REGS
Unknown.
This is found in Logical Journey of the Zoombinis, and The Treehouse.
BYTS
This appears to be able to hold multiple things. In DATABASE.MHK, it holds database entries (one large null-terminated string), but elsewhere it appears to be something else.
This is found in Where in the World is Carmen Sandiego? and Where in America is Carmen Sandiego? (The Great Amtrak Train Adventure).
INTS
Unknown.
This is found in Where in the World is Carmen Sandiego? and Where in America is Carmen Sandiego? (The Great Amtrak Train Adventure).
BBOX
Some sort of boxes? It follows this format:
(Big Endian Order)
byte | rect_count |
And then, it has rect_count rects:
unsigned short | left |
unsigned short | top |
unsigned short | right |
unsigned short | bottom |
This is found in Where in the World is Carmen Sandiego? and Where in America is Carmen Sandiego? (The Great Amtrak Train Adventure).