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  * Copyright 2020 Google
22  *
23  */
24 #ifndef HADESCH_ENUMS_H
25 #define HADESCH_ENUMS_H
26 
27 namespace Hadesch {
28 enum {
29 	kHadeschDebugGeneral = 1 << 0,
30 	kHadeschDebugResources = 1 << 1,
31 	kHadeschDebugMessagingSystem = 1 << 2,
32 	kHadeschDebugDialogs = 1 << 3
33 };
34 
35 enum Gender {
36 	kFemale = 0,
37 	kMale = 1,
38 	// Make it 2, rather than -1, so that we can serialize it in one 1
39 	// byte.
40 	kUnknown = 2
41 };
42 
43 enum Quest {
44 	    kNoQuest,
45 	    kCreteQuest,
46 	    kTroyQuest,
47 	    kMedusaQuest,
48 	    kRescuePhilQuest,
49 	    kEndGame,
50 	    kNumQuests
51 };
52 
53 enum RoomId {
54 	kInvalidRoom = 0,
55 	kIntroRoom = 1,
56 	kOlympusRoom = 2,
57 	kWallOfFameRoom = 3,
58 	kSeriphosRoom = 4,
59 	kAthenaRoom = 5,
60 	kMedIsleRoom = 6,
61 	kMedusaPuzzle = 7,
62 	kArgoRoom = 8,
63 	kTroyRoom = 9,
64 	kCatacombsRoom = 10,
65 	kPriamRoom = 11,
66 	kTrojanHorsePuzzle = 12,
67 	kCreteRoom = 13,
68 	kMinosPalaceRoom = 14,
69 	kDaedalusRoom = 15,
70 	kMinotaurPuzzle = 16,
71 	kVolcanoRoom = 17,
72 	kRiverStyxRoom = 18,
73 	kHadesThroneRoom = 19,
74 	kFerrymanPuzzle = 20,
75 	kMonsterPuzzle = 21,
76 	kQuiz = 22,
77 	kCreditsRoom = 23,
78 	kOptionsRoom = 24,
79 	kNumRooms
80 };
81 
82 enum StatueId {
83 	kBacchusStatue = 0,
84 	kHermesStatue = 1,
85 	kZeusStatue = 2,
86 	kPoseidonStatue = 3,
87 	kAresStatue = 4,
88 	kAphroditeStatue = 5,
89 	kApolloStatue = 6,
90 	kArtemisStatue = 7,
91 	kDemeterStatue = 8,
92 	kAthenaStatue = 9,
93 	kHeraStatue = 10,
94 	kHephaestusStatue = 11,
95 	kNumStatues
96 };
97 
98 enum InventoryItem {
99 	kNone = 0,
100 	kStraw = 2,
101 	kStone = 3,
102 	kBricks = 4,
103 	kMessage = 5,
104 	kKey = 6,
105 	kDecree = 7,
106 	kWood = 8,
107 	kHornlessStatue1 = 9,
108 	kHornlessStatue2 = 10,
109 	kHornlessStatue3 = 11,
110 	kHornlessStatue4 = 12,
111 	kHornedStatue = 13,
112 	kCoin = 14,
113 	kPotion = 15,
114 	kShield = 16,
115 	kSword = 17,
116 	kBag = 18,
117 	kHelmet = 19,
118 	kSandals = 20,
119 	kTorch = 21
120 };
121 
122 // Also includes InventoryItem - 1
123 enum HeroBeltFrame {
124 	kLightning1 = 21,
125 	kLightning2 = 22,
126 	kLightning3 = 23,
127 	kNumberI = 24,
128 	kNumberII = 25,
129 	kNumberIII = 26,
130 	kQuestScroll = 27,
131 	kQuestScrollHighlighted = 28,
132 	kHadesScroll = 29,
133 	kHadesScrollHighlighted = 30,
134 	kOptionsButton = 31,
135 	kInactiveHints = 32,
136 	kActiveHints = 33,
137 	kBranchOfLife = 34,
138 	kReturnToWall = 35,
139 	kPowerOfWisdom = 38,
140 	kPowerOfStrength = 39,
141 	kPowerOfStealth = 40
142 };
143 
144 enum FateId {
145 	kLachesis,
146 	kAtropos,
147 	kClotho,
148 	kNumFates
149 };
150 
151 enum CatacombsPosition {
152 	kCatacombsLeft = 0,
153 	kCatacombsCenter = 1,
154 	kCatacombsRight = 2
155 };
156 
157 enum CatacombsPath {
158 	kCatacombsHelen = 0,
159 	kCatacombsGuards = 1,
160 	kCatacombsPainAndPanic = 2
161 };
162 
163 enum CatacombsLevel {
164 	kCatacombLevelSign,
165 	kCatacombLevelTorch,
166 	kCatacombLevelMusic
167 };
168 
169 enum HeroPower {
170 	kPowerNone = -1,
171 	kPowerStrength = 0,
172 	kPowerStealth = 1,
173 	kPowerWisdom = 2
174 };
175 }
176 
177 #endif
178