aboutsummaryrefslogtreecommitdiff
path: root/engines/glk/magnetic/detection_tables.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/glk/magnetic/detection_tables.h')
-rw-r--r--engines/glk/magnetic/detection_tables.h80
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