ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
setup.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 GOT_DATA_SETUP_H
23 #define GOT_DATA_SETUP_H
24 
25 #include "common/serializer.h"
26 
27 namespace Got {
28 
29 struct SetupFlags {
30  bool _flags[64] = {};
31  bool &f01 = _flags[0];
32  bool &f02 = _flags[1];
33  bool &f03 = _flags[2];
34  bool &f04 = _flags[3];
35  bool &f05 = _flags[4];
36  bool &f06 = _flags[5];
37  bool &f07 = _flags[6];
38  bool &f08 = _flags[7];
39  bool &f09 = _flags[8];
40  bool &f10 = _flags[9];
41  bool &f11 = _flags[10];
42  bool &f12 = _flags[11];
43  bool &f13 = _flags[12];
44  bool &f14 = _flags[13];
45  bool &f15 = _flags[14];
46  bool &f16 = _flags[15];
47  bool &f17 = _flags[16];
48  bool &f18 = _flags[17];
49  bool &f19 = _flags[18];
50  bool &f20 = _flags[19];
51  bool &f21 = _flags[20];
52  bool &f22 = _flags[21];
53  bool &f23 = _flags[22];
54  bool &f24 = _flags[23];
55  bool &f25 = _flags[24];
56  bool &f26 = _flags[25];
57  bool &f27 = _flags[26];
58  bool &f28 = _flags[27];
59  bool &f29 = _flags[28];
60  bool &f30 = _flags[29];
61  bool &f31 = _flags[30];
62  bool &f32 = _flags[31];
63  bool &f33 = _flags[32];
64  bool &f34 = _flags[33];
65  bool &f35 = _flags[34];
66  bool &f36 = _flags[35];
67  bool &f37 = _flags[36];
68  bool &f38 = _flags[37];
69  bool &f39 = _flags[38];
70  bool &f40 = _flags[39];
71  bool &f41 = _flags[40];
72  bool &f42 = _flags[41];
73  bool &f43 = _flags[42];
74  bool &f44 = _flags[43];
75  bool &f45 = _flags[44];
76  bool &f46 = _flags[45];
77  bool &f47 = _flags[46];
78  bool &f48 = _flags[47];
79  bool &f49 = _flags[48];
80  bool &f50 = _flags[49];
81  bool &f51 = _flags[50];
82  bool &f52 = _flags[51];
83  bool &f53 = _flags[52];
84  bool &f54 = _flags[53];
85  bool &f55 = _flags[54];
86  bool &f56 = _flags[55];
87  bool &f57 = _flags[56];
88  bool &f58 = _flags[57];
89  bool &f59 = _flags[58];
90  bool &f60 = _flags[59];
91  bool &f61 = _flags[60];
92  bool &f62 = _flags[61];
93  bool &f63 = _flags[62];
94  bool &f64 = _flags[63];
95 
96  SetupFlags() {}
97  virtual ~SetupFlags() {}
98  virtual void sync(Common::Serializer &s);
99  SetupFlags &operator=(const Got::SetupFlags &src);
100 };
101 
102 struct Setup : public SetupFlags {
103  byte _value[16] = {};
104  byte _filler1 = 0;
105  byte _game = 0; // Unused
106  byte _areaNum = 0; // 1,2,3
107  bool _speakerSound = false; // always disabled
108  bool _digitalSound = false; // true = enabled
109  bool _musicEnabled = false; // true = enabled
110  bool _slowMode = false; // true = slow mode (for slower 286's)
111  bool _scrollFlag = false; // true = scroll when changing from a room to the other
112  bool _bossDead[3] = {false, false, false};
113  byte _difficultyLevel = 0; // 0=easy, 1=normal, 2=hard
114  byte _gameOver = 0;
115  byte _filler2[19] = {};
116 
117  void sync(Common::Serializer &s) override;
118 };
119 
120 } // namespace Got
121 
122 #endif
Definition: serializer.h:79
Definition: setup.h:29
Definition: console.h:28
Definition: setup.h:102