Difference between revisions of "Other Games"

From A look inside The Link @ wiki
Jump to: navigation, search
(basic outline of the QUES format (missing a lot of fields, however))
(Common Resources: updates on tBMP/tBMH/tPAL in other games)
Line 146: Line 146:
 
|unsigned long||u1
 
|unsigned long||u1
 
|-
 
|-
|unsigned long||u2
+
|unsigned long||uncompressed_size
 
|-
 
|-
|unsigned long||data_size
+
|unsigned long||compressed_size
 
|-  
 
|-  
 
|unsigned short||buffer_size
 
|unsigned short||buffer_size
 
|}
 
|}
  
Following this is ''data_size'' bytes. u0 and u1 are normally close. u2 and data_size are normally close. Following this seems to be LZSS compressed data using a buffer size of ''buffer_size'', perhaps similar to the encoding in [[Myst WDIB resources]].
+
Following this is ''compressed_size'' bytes. These bytes are LZSS compressed data using a buffer size of ''buffer_size'', perhaps similar to the encoding in [[Myst WDIB resources]]. ''uncompressed_size'' seems to chop off extra bytes left over from decoding. ''u0'' and ''u1'' must have something to do with width/height, though I've not figured it out yet. Perhaps an xor encryption to mask its true purpose. ''buffer_size'' also seems to always be 0x400.
 +
 
 +
The one thing still unknown is the "key" used for decoding. Myst uses the 0x42 key to add to its offsets. I think each game may use a different key. I am still looking into this.
 +
 
 +
The palette for the image is stored in a tPAL resource.
  
 
This is the same in all non-Riven (and non-Myst) games.
 
This is the same in all non-Riven (and non-Myst) games.
Line 161: Line 165:
  
 
==== tPAL ====
 
==== tPAL ====
This appears to be a palette. Here's what I've worked out so far. I believe this may be tied together with tBMH.
+
This is a palette. Here's what I've worked out so far. It's tied together with tBMP and tBMH.
  
 
(Big Endian Order)
 
(Big Endian Order)
Line 207: Line 211:
  
 
==== tBMH ====
 
==== tBMH ====
This appears to be identical to the tBMP resources found in these games. I believe this may be tied together with tPAL. I also think this may be sprites. The characters in Carmen Sandiego use different palettes on the same sprites to make the look of the person appear different. For example, the palette could change to change hair color, skin color, and clothing.
+
This appears to be identical to the tBMP resources.
  
 
This is found in ''Where in the World is Carmen Sandiego?'', ''Where in America is Carmen Sandiego? (The Great Amtrak Train Adventure)'', ''Green Eggs and Ham'', and ''The Treehouse''.
 
This is found in ''Where in the World is Carmen Sandiego?'', ''Where in America is Carmen Sandiego? (The Great Amtrak Train Adventure)'', ''Green Eggs and Ham'', and ''The Treehouse''.

Revision as of 14:08, 25 April 2009

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:

  • Green Eggs and Ham
  • In the 1st Degree
  • 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)

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 'QkBk' and has description "CDToons". Neither QuickTime nor mplayer/ffmpeg 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

Maggie's Barnyard Adventure

Resources

tCUR

Cursor?

In the 1st Degree

Resources

ASET

Unknown. Stands for asset (they are found in ASEETLI1.MHK and ASSETLI2.MHK).

ANSW

Answer?

CLIP

Video clip?

GADG

Gadget?

MBAR

Menu bar?

MENU

Menu?

MITM

QSET

This is a question set. This links questions together into sort of like a dialogue tree.

(Big Endian Order)

unsigned short count
unsigned short values[count]
  • count is the amount of values the follow.
  • values is an array which is probably a list of QUES/ANSW (need to check).

QUES

This is a question. It appears to hold data for the text as well as the sound clip associated with it.

(Big Endian Order)

unsigned short u0
unsigned short sound
unsigned short u1
unsigned short u2
unsigned short u3
unsigned short u4
unsigned short u5
unsigned short u6
unsigned short u7
unsigned short u8
unsigned short u8
char * string
  • u0 appears to always be 1. Possibly question count?
  • sound is the sound clip associated with this question.
  • u1 is unknown. Always 0?
  • u2 is unknown. Possibly the answer to this question?
  • u3 is unknown. It's usually 2.
  • u4 is unknown. It's usually 100.
  • u5 is unknown. It's usually 100.
  • u6 is unknown. It's usually 100.
  • u7 is unknown. Always 0?
  • u8 is unknown. Always 0?
  • u9 is unknown. Possibly the answer to this question?
  • string is the null-terminated string representing text for this question.

TAPE

THST

THTR

WITN

Witness?

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 uncompressed_size
unsigned long compressed_size
unsigned short buffer_size

Following this is compressed_size bytes. These bytes are LZSS compressed data using a buffer size of buffer_size, perhaps similar to the encoding in Myst WDIB resources. uncompressed_size seems to chop off extra bytes left over from decoding. u0 and u1 must have something to do with width/height, though I've not figured it out yet. Perhaps an xor encryption to mask its true purpose. buffer_size also seems to always be 0x400.

The one thing still unknown is the "key" used for decoding. Myst uses the 0x42 key to add to its offsets. I think each game may use a different key. I am still looking into this.

The palette for the image is stored in a tPAL resource.

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 is a palette. Here's what I've worked out so far. It's tied together with tBMP and tBMH.

(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), Green Eggs and Ham, In the 1st Degree, 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, Green Eggs and Ham, In the 1st Degree, 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), Green Eggs and Ham, 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.

This is found in Where in the World is Carmen Sandiego?, Where in America is Carmen Sandiego? (The Great Amtrak Train Adventure), Green Eggs and Ham, 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, In the 1st Degree, and The Treehouse.

REGS

Unknown.

This is found in Logical Journey of the Zoombinis, Green Eggs and Ham, 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).


ANI

Animation? (Note: Ends in a space character)

This is found in Maggie's Barnyard Adventure and Green Eggs and Ham.

BITL

This is found in Maggie's Barnyard Adventure and Green Eggs and Ham.

SCRP

This is found in Maggie's Barnyard Adventure and Green Eggs and Ham.

SPR#

Sprites? This is found in Maggie's Barnyard Adventure and Green Eggs and Ham.

VRSN

Version?

In Green Eggs and Ham, it contains these two bytes:

00 02

This is found in Maggie's Barnyard Adventure and Green Eggs and Ham.

SHP#

This is found in Maggie's Barnyard Adventure and Green Eggs and Ham.

SYSX

This appears to be a list of Adlib MIDI commands. There are only two resources in Zoombini (which are found in MIDIMAP.DAT) and are 1 or 0xFFFF. They are identical. In the 1st Degree has several more in MIDIMAP.DAT.