diff options
Diffstat (limited to 'engines/glk/magnetic/detection_tables.h')
-rw-r--r-- | engines/glk/magnetic/detection_tables.h | 80 |
1 files changed, 55 insertions, 25 deletions
diff --git a/engines/glk/magnetic/detection_tables.h b/engines/glk/magnetic/detection_tables.h index 7476c34e0b..c0952d803d 100644 --- a/engines/glk/magnetic/detection_tables.h +++ b/engines/glk/magnetic/detection_tables.h @@ -27,17 +27,6 @@ namespace Glk { namespace Magnetic { -/** - * Game description - */ -struct MagneticGameDescription { - const char *const _gameId; - const char *const _extra; - const char *const _md5; - size_t _filesize; - Common::Language _language; -}; - const PlainGameDescriptor MAGNETIC_GAME_LIST[] = { { "magnetic", "Magnetic Scrolls Game" }, @@ -51,21 +40,62 @@ const PlainGameDescriptor MAGNETIC_GAME_LIST[] = { { nullptr, nullptr } }; -#define ENTRY0(ID, MD5, FILESIZE) { ID, nullptr, MD5, FILESIZE, Common::EN_ANY } -#define ENTRY1(ID, EXTRA, MD5, FILESIZE) { ID, EXTRA, MD5, FILESIZE, Common::EN_ANY } -#define TABLE_END_MARKER { nullptr, nullptr, nullptr, 0, Common::EN_ANY } +const GlkDetectionEntry MAGNETIC_GAMES[] = { + DT_ENTRY0("corruption", "313880cbe0f15bfa259ebaf228b4d0e9", 167466), + DT_ENTRY1("corruption", "Collection", "6fe35b357fa0311450d3a9c809e60ba8", 177185), + DT_ENTRY0("fish", "2efb8118f4cb9a36bb54646ce41a950e", 162858), + DT_ENTRY1("fish", "Collection", "cfe333306597d36c8aa3fc64f6be94ba", 172517), + DT_ENTRY0("guild", "bab78740d39ee5e058faf4912fdbf33d", 130858), + DT_ENTRY1("guild", "Collection", "36af907a4ec9db909148f308287586f1", 141766), + DT_ENTRY0("myth", "9c2a5272a9c0b1e173401ba4df32567a", 99370), + DT_ENTRY0("pawn", "4a7847980f9e942acd7aa51ea12a6586", 103466), + DT_ENTRY0("wonderland", "2cea8fccf42d570be8836416c2802613", 183916), + + DT_END_MARKER +}; + +const gms_game_table_t GMS_GAME_TABLE[] = { + {0x2100, 0x427e, "Corruption v1.11 (Amstrad CPC)"}, + {0x2100, 0x43a0, "Corruption v1.11 (Archimedes)"}, + {0x2100, 0x43a0, "Corruption v1.11 (DOS)"}, + {0x2100, 0x4336, "Corruption v1.11 (Commodore 64)"}, + {0x2100, 0x4222, "Corruption v1.11 (Spectrum +3)"}, + {0x2100, 0x4350, "Corruption v1.12 (Archimedes)"}, + {0x2500, 0x6624, "Corruption v1.12 (DOS, Magnetic Windows)"}, + + {0x2300, 0x3fa0, "Fish v1.02 (DOS)"}, + {0x2400, 0x4364, "Fish v1.03 (Spectrum +3)"}, + {0x2300, 0x3f72, "Fish v1.07 (Commodore 64)"}, + {0x2200, 0x3f9c, "Fish v1.08 (Archimedes)"}, + {0x2a00, 0x583a, "Fish v1.10 (DOS, Magnetic Windows)"}, + + {0x5000, 0x6c30, "Guild v1.0 (Amstrad CPC)"}, + {0x5000, 0x6cac, "Guild v1.0 (Commodore 64)"}, + {0x5000, 0x6d5c, "Guild v1.1 (DOS)"}, + {0x3300, 0x698a, "Guild v1.3 (Archimedes)"}, + {0x3200, 0x6772, "Guild v1.3 (Spectrum +3)"}, + {0x3400, 0x6528, "Guild v1.3 (DOS, Magnetic Windows)"}, + + {0x2b00, 0x488c, "Jinxter v1.05 (Commodore 64)"}, + {0x2c00, 0x4a08, "Jinxter v1.05 (DOS)"}, + {0x2c00, 0x487a, "Jinxter v1.05 (Spectrum +3)"}, + {0x2c00, 0x4a56, "Jinxter v1.10 (DOS)"}, + {0x2b00, 0x4924, "Jinxter v1.22 (Amstrad CPC)"}, + {0x2c00, 0x4960, "Jinxter v1.30 (Archimedes)"}, + + {0x1600, 0x3940, "Myth v1.0 (Commodore 64)"}, + {0x1500, 0x3a0a, "Myth v1.0 (DOS)"}, + + {0x3600, 0x42cc, "Pawn v2.3 (Amstrad CPC)"}, + {0x3600, 0x4420, "Pawn v2.3 (Archimedes)"}, + {0x3600, 0x3fb0, "Pawn v2.3 (Commodore 64)"}, + {0x3600, 0x4420, "Pawn v2.3 (DOS)"}, + {0x3900, 0x42e4, "Pawn v2.3 (Spectrum 128)"}, + {0x3900, 0x42f4, "Pawn v2.4 (Spectrum +3)"}, -const MagneticGameDescription MAGNETIC_GAMES[] = { - ENTRY0("corruption", "313880cbe0f15bfa259ebaf228b4d0e9", 167466), - ENTRY1("corruption", "Collection", "6fe35b357fa0311450d3a9c809e60ba8", 177185), - ENTRY0("fish", "2efb8118f4cb9a36bb54646ce41a950e", 162858), - ENTRY1("fish", "Collection", "cfe333306597d36c8aa3fc64f6be94ba", 172517), - ENTRY0("guild", "bab78740d39ee5e058faf4912fdbf33d", 130858), - ENTRY1("guild", "Collection", "36af907a4ec9db909148f308287586f1", 141766), - ENTRY0("myth", "9c2a5272a9c0b1e173401ba4df32567a", 99370), - ENTRY0("pawn", "4a7847980f9e942acd7aa51ea12a6586", 103466), - ENTRY0("wonderland", "2cea8fccf42d570be8836416c2802613", 183916), - TABLE_END_MARKER + {0x3900, 0x75f2, "Wonderland v1.21 (DOS, Magnetic Windows)"}, + {0x3900, 0x75f8, "Wonderland v1.27 (Archimedes)"}, + {0, 0, NULL} }; } // End of namespace Magnetic |