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