1 /* ScummVM - Graphic Adventure Engine 2 * 3 * ScummVM is the legal property of its developers, whose names 4 * are too numerous to list here. Please refer to the COPYRIGHT 5 * file distributed with this source distribution. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 2 10 * of the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 * 21 */ 22 23 #ifndef TINSEL_DETECTION_H 24 #define TINSEL_DETECTION_H 25 26 #include "engines/advancedDetector.h" 27 28 namespace Tinsel { 29 30 enum TinselGameID { 31 GID_DW1 = 0, 32 GID_DW2 = 1, 33 GID_NOIR = 2 34 }; 35 36 enum TinselGameFeatures { 37 GF_SCNFILES = 1 << 0, 38 GF_ENHANCED_AUDIO_SUPPORT = 1 << 1, 39 GF_ALT_MIDI = 1 << 2, // Alternate sequence in midi.dat file 40 41 // The GF_USE_?FLAGS values specify how many country flags are displayed 42 // in the subtitles options dialog. 43 // None of these defined -> 1 language, in ENGLISH.TXT 44 GF_USE_3FLAGS = 1 << 3, // French, German, Spanish 45 GF_USE_4FLAGS = 1 << 4, // French, German, Spanish, Italian 46 GF_USE_5FLAGS = 1 << 5 // All 5 flags 47 }; 48 49 /** 50 * The following is the ScummVM definitions of the various Tinsel versions: 51 * TINSEL_V0 - This was an early engine version that was only used in the Discworld 1 52 * demo. 53 * TINSEL_V1 - This was the engine version used by Discworld 1. Note that there were two 54 * major releases: an earlier version that used *.gra files, and a later one that 55 * used *.scn files, and contained certain script and engine bugfixes. In ScummVM, 56 * we treat both releases as 'Tinsel 1', since the engine fixes from the later 57 * version work equally well the earlier version data. 58 * TINSEL_V2 - This is the engine used for the Discworld 2 game. 59 */ 60 enum TinselEngineVersion { 61 TINSEL_V0 = 0, 62 TINSEL_V1 = 1, 63 TINSEL_V2 = 2, 64 TINSEL_V3 = 3 65 }; 66 67 struct TinselGameDescription { 68 ADGameDescription desc; 69 70 int gameID; 71 int gameType; 72 uint32 features; 73 uint16 version; 74 }; 75 76 } // End of namespace Tinsel 77 78 #endif // TINSEL_DETECTION_H 79