MTropolis MPL: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks |
imported>Ikskoks |
||
| Line 12: | Line 12: | ||
//header | // header (56 bytes) | ||
4 bytes - signature // always 01 00 A5 A5 | |||
4 bytes - ? | 4 bytes - unknown // 55 AA 00 00 (43605) | ||
4 bytes - | 2 bytes - nulls | ||
4 bytes - number of streams | |||
4 bytes - | 4 bytes - size of "struct 1"? // 14 | ||
struct 1 | |||
{ | |||
2 bytes (uint16) - unknown // 1002 | |||
2 bytes - nulls | |||
4 bytes - unknown (some offset?) | |||
4 bytes - unknown | |||
2 bytes - nulls | |||
} | |||
20 bytes - unknown | |||
struct 2 (stream header?) | |||
{ | |||
4 bytes (uint32) - number of streams | |||
4 bytes (uint32) - unknown | |||
} | |||
//stream table (34 bytes per entry) | // stream table (34 bytes per entry) | ||
number of streams * | number of streams * | ||
{ | { | ||
| Line 28: | Line 45: | ||
//??? | // ??? | ||
4 bytes - ? | 4 bytes - ? | ||
4 bytes - ? | 4 bytes - ? | ||
| Line 39: | Line 56: | ||
//file list (big endian) | // file list (big endian) | ||
4 bytes - ? | 4 bytes - ? | ||
2 bytes - filename length | 2 bytes - filename length | ||
| Line 48: | Line 65: | ||
x bytes - filename | x bytes - filename | ||
//data | // data | ||
number of file list entries * | number of file list entries * | ||
{ | { | ||
Revision as of 23:04, 26 March 2022
MPL
- Format Type : Archive
- Endian Order : Little Endian
- Signature : 01 00 A5 A5
Format Specifications
// MPL file format
// header (56 bytes)
4 bytes - signature // always 01 00 A5 A5
4 bytes - unknown // 55 AA 00 00 (43605)
2 bytes - nulls
4 bytes - size of "struct 1"? // 14
struct 1
{
2 bytes (uint16) - unknown // 1002
2 bytes - nulls
4 bytes - unknown (some offset?)
4 bytes - unknown
2 bytes - nulls
}
20 bytes - unknown
struct 2 (stream header?)
{
4 bytes (uint32) - number of streams
4 bytes (uint32) - unknown
}
// stream table (34 bytes per entry)
number of streams *
{
26 bytes - stream type
4 bytes - stream size
4 bytes - stream offset?
}
// ???
4 bytes - ?
4 bytes - ?
2 bytes - size of string
x bytes - string ("Startup segment")
2 bytes - size of string
x bytes - string ("BIGDEMOWIN:MUPPETS:DEMO:")
...
x bytes - string ("Macintosh 8bit")
// file list (big endian)
4 bytes - ?
2 bytes - filename length
1 byte - /x00
4 bytes - ?
4 bytes - file size
2 bytes - ?
x bytes - filename
// data
number of file list entries *
{
x bytes - data
}
Games
List of games using this file format:
- MindGym (PC) (*.MPL)
- Muppet Treasure Island (PC) (*.MPL)
- SPQR: The Empire's Darkest Hour (PC) (*.MPL)
- The Day The World Broke (PC) (*.MPL)
quickBMS Script
Not written yet.
Notes and Comments
- The games using MPL archives have been created using mTropolis Editor. In the game's final builds mTropolis Player (MTPLAY32.EXE) is used to read data from MPL archive.
- In "Muppet Treasure Island" game there is only one MPL archive called MTI1.MPL. It holds most of the game's data.
Compatible Programs
- Muppet Treasure Island MPL Tool (unfinished)
- mTropolis Editor (not available for public)
- mTropolis Player
See Also
- mTropolis (wikipedia)
- mTropolis (computinghistory.org.uk)
- www.mfactory.com/mtropolis/ (webarchive backup)
- www.mfactory.com - games made with mTropolis (webarchive backup)
Gallery
-
mTropolis Player (mTPlayer - mTropis Windows Player) used in Muppet Treasure Island