ScummVM API documentation
detection.h
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 modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (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, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef MOHAWK_DETECTION_H
23 #define MOHAWK_DETECTION_H
24 
25 #include "engines/advancedDetector.h"
26 
27 namespace Mohawk {
28 
29 enum MohawkGameType {
30  GType_MYST,
31  GType_MAKINGOF,
32  GType_RIVEN,
33  GType_CSTIME,
34  GType_LIVINGBOOKSV1,
35  GType_LIVINGBOOKSV2,
36  GType_LIVINGBOOKSV3,
37  GType_LIVINGBOOKSV4,
38  GType_LIVINGBOOKSV5,
39  GType_ZOOMBINI,
40  GType_CSWORLD,
41  GType_CSAMTRAK,
42  GType_JAMESMATH,
43  GType_TREEHOUSE,
44  GType_1STDEGREE,
45  GType_CSUSA,
46  GType_ORLY,
47  GType_ALIENTALES,
48  GType_MATHSWORKSHOP,
49  GType_WRICAMACT,
50  GType_AMAZINGWRITING,
51 };
52 
53 #define GAMEOPTION_ME GUIO_GAMEOPTIONS1
54 #define GAMEOPTION_25TH GUIO_GAMEOPTIONS2
55 #define GAMEOPTION_DEMO GUIO_GAMEOPTIONS3
56 
57 enum MohawkGameFeatures {
58  GF_ME = (1 << 0), // Myst Masterpiece Edition
59  GF_25TH = (1 << 1), // Myst and Riven 25th Anniversary
60  GF_DVD = (1 << 2),
61  GF_DEMO = (1 << 3),
62  GF_LB_10 = (1 << 4) // very early Living Books 1.0 games
63 };
64 
66  ADGameDescription desc;
67 
68  uint8 gameType;
69  uint32 features;
70  const char *appName;
71 
72  uint32 sizeBuffer() const {
73  uint32 ret = desc.sizeBuffer();
74  ret += ADDynamicDescription::strSizeBuffer(appName);
75  return ret;
76  }
77 
78  void *toBuffer(void *buffer) {
79  buffer = desc.toBuffer(buffer);
80  buffer = ADDynamicDescription::strToBuffer(buffer, appName);
81  return buffer;
82  }
83 };
84 
85 } // End of namespace Mohawk
86 
87 #endif // MOHAWK_DETECTION_H
uint32 sizeBuffer() const
Definition: advancedDetector.h:220
Definition: advancedDetector.h:163
void * toBuffer(void *buffer)
Definition: advancedDetector.h:238
Definition: bitmap.h:32
Definition: detection.h:65