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 PRINCE_FLAGS_H 24 #define PRINCE_FLAGS_H 25 26 #include "common/scummsys.h" 27 28 namespace Prince { 29 30 class Flags { 31 public: 32 static int compareFlagDebug(const void *a, const void *b); 33 static const char *getFlagName(uint16 flagId); 34 35 enum Id { 36 FLAGA1 = 0x8000, 37 FLAGA2 = 0x8002, 38 FLAGA3 = 0x8004, 39 DESTX = 0x8006, 40 DESTY = 0x8008, 41 DESTD = 0x800A, 42 DwarfDone = 0x800C, 43 GRABARZCOUNTER = 0x800E, 44 KIERUNEK = 0x8010, 45 BACKFLAG1 = 0x8012, 46 BACKFLAG2 = 0x8014, 47 BACKFLAG3 = 0x8016, 48 BACKFLAG4 = 0x8018, 49 MACROFLAG1 = 0x801A, 50 MACROFLAG2 = 0x801C, 51 MACROFLAG3 = 0x801E, 52 HEROLDDONE = 0x8020, 53 BRIDGESET = 0x8022, 54 U_BT_1 = 0x8024, 55 U_BT_2 = 0x8026, 56 U_BT_3 = 0x8028, 57 U_BT_4 = 0x802A, 58 U_BT_5 = 0x802C, 59 U_BT_6 = 0x802E, 60 U_BT_7 = 0x8030, 61 U_BT_8 = 0x8032, 62 U_BT_9 = 0x8034, 63 U_BT_COUNTER = 0x8036, 64 ARIVALDALIVE = 0x8038, 65 TALKCHAR1 = 0x803A, 66 TalkType1 = 0x803C, 67 TALKROUT1 = 0x803E, 68 TALKROUT2 = 0x8042, 69 TALKROUT3 = 0x8046, 70 TALKROUT4 = 0x804A, 71 TALKANIM1 = 0x804E, 72 TALKANIM2 = 0x8050, 73 TALKCOLOR1 = 0x8052, 74 TALKCOLOR2 = 0x8054, 75 KapciuchTaken = 0x8056, 76 CurrentBeggarA = 0x8058, 77 TempKapc = 0x805A, 78 HomTaken = 0x805C, 79 WizardTalk = 0x805E, 80 SunlordTalk = 0x8060, 81 HermitTalk = 0x8062, 82 RunyMode = 0x8064, 83 FatMerchantTalk = 0x8066, 84 HotDogTalk = 0x8068, 85 ThiefTalk = 0x806A, 86 BeggarTalk = 0x806C, 87 // DwarfTalk = 0x806E, // Redefinition 88 MonkTalk = 0x8070, 89 BardTalk = 0x8072, 90 BarmanTalk = 0x8074, 91 LeftPlayerTalk = 0x8076, 92 OczySowy = 0x8078, 93 CzachySpeed1 = 0x807A, 94 CzachySpeed2 = 0x807C, 95 CzachySpeed3 = 0x807E, 96 CzachySlowDown1 = 0x8080, 97 CzachySlowDown2 = 0x8082, 98 CzachySlowDown3 = 0x8084, 99 FjordDane = 0x8086, 100 GKopany1 = 0x8088, 101 GKopany2 = 0x808A, 102 GKopany3 = 0x808C, 103 GKopany4 = 0x808E, 104 KnowGodWord = 0x8090, 105 TALKROUT21 = 0x8092, 106 TALKROUT22 = 0x8096, 107 TALKROUT23 = 0x809A, 108 TALKROUT24 = 0x809E, 109 TalkType2 = 0x80A2, 110 GrabarzTalk = 0x80A4, 111 LastTalker = 0x80A6, 112 MapaPustelniaEnabled = 0x80A8, 113 MapaTempleEnabled = 0x80AA, 114 MapaFjordEnabled = 0x80AC, 115 MapaSilmanionaEnabled = 0x80AE, 116 MapaKurhanEnabled = 0x80B0, 117 MapaDragonEnabled = 0x80B2, 118 MapaMillEnabled = 0x80B4, 119 DwarfRunning = 0x80B6, 120 DwarfTalk = 0x80B8, 121 CurseLift = 0x80BA, 122 KosciSwapped = 0x80BC, 123 BookStolen = 0x80BE, 124 MapaUsable = 0x80C0, 125 FjordBoss = 0x80C2, 126 FjordHotDog = 0x80C4, 127 FjordLewy = 0x80C6, 128 FjordPrawy = 0x80C8, 129 TalkArivald = 0x80CA, 130 ShootDone = 0x80CC, 131 ShootRunning = 0x80CE, 132 ShootKnow = 0x80D0, 133 MirrorKnow = 0x80D2, 134 Gar1stTime = 0x80D4, 135 KosciTaken = 0x80D6, 136 ArivGotSpell = 0x80D8, 137 BookGiven = 0x80DA, 138 Wywieszka = 0x80DC, 139 TalkSheila = 0x80DE, 140 TalkSheila2 = 0x80E0, 141 BackHuman = 0x80E2, 142 SkarbiecOpen = 0x80E4, 143 LustroTaken = 0x80E6, 144 GargoyleHom = 0x80E8, 145 GargoyleBroken = 0x80EA, 146 FjordDzien = 0x80EC, 147 GargoyleHom2 = 0x80EE, 148 RunMonstersRunning = 0x80F0, 149 FoundPaperInCoffin = 0x80F2, 150 KnowSunlord = 0x80F4, 151 KnowSunlordTalk = 0x80F6, 152 ArivaldCzyta = 0x80F8, 153 TelepX = 0x80FA, 154 TelepY = 0x80FC, 155 TelepDir = 0x80FE, 156 TelepRoom = 0x8100, 157 ListStolen = 0x8102, 158 WifeInDoor = 0x8104, 159 TalkWifeFlag = 0x8106, 160 LetterGiven = 0x8108, 161 LutniaTaken = 0x810A, 162 BardHomeOpen = 0x810C, 163 FjordNoMonsters = 0x810E, 164 ShandriaWallTalking = 0x8110, 165 ShandriaWallCounter = 0x8112, 166 ShandriaWallDone = 0x8114, 167 FutureDone = 0x8116, 168 TalkButch = 0x8118, 169 GotSzalik = 0x811A, 170 GotCzosnek = 0x811C, 171 BearDone = 0x811E, 172 NekrVisited = 0x8120, 173 SunRiddle = 0x8122, 174 PtaszekAway = 0x8124, 175 KotGadanie = 0x8126, 176 SzlafmycaTaken = 0x8128, 177 BabkaTalk = 0x812A, 178 SellerTalk = 0x812C, 179 CzosnekDone = 0x812E, 180 PriestCounter = 0x8130, 181 PriestGest1 = 0x8132, 182 PriestGest2 = 0x8134, 183 PriestGest3 = 0x8136, 184 PriestGest4 = 0x8138, 185 PriestAnim = 0x813A, 186 HolyWaterTaken = 0x813C, 187 AxeTaken = 0x813E, 188 BadylTaken1 = 0x8140, 189 BadylTaken2 = 0x8142, 190 BadylSharpened = 0x8144, 191 PorwanieSmoka = 0x8146, 192 ShopReOpen = 0x8148, 193 LuskaShown = 0x814A, 194 CudKnow = 0x814C, 195 VampireDead = 0x814E, 196 MapaVisible1 = 0x8150, 197 MapaVisible2 = 0x8152, 198 MapaVisible3 = 0x8154, 199 MapaVisible4 = 0x8156, 200 MapaVisible5 = 0x8158, 201 MapaVisible6 = 0x815A, 202 MapaVisible7 = 0x815C, 203 MapaVisible8 = 0x815E, 204 MapaVisible9 = 0x8160, 205 MapaX = 0x8162, 206 MapaY = 0x8164, 207 MapaD = 0x8166, 208 OldMapaX = 0x8168, 209 OldMapaY = 0x816A, 210 OldMapaD = 0x816C, 211 MovingBack = 0x816E, 212 MapaCount = 0x8170, 213 Pustelnia1st = 0x8172, 214 CzarnePole1st = 0x8174, 215 TalkArivNum = 0x8176, 216 Pfui = 0x8178, 217 MapaSunlordEnabled = 0x817A, 218 WebDone = 0x817C, 219 DragonDone = 0x817E, 220 KanPlay = 0x8180, 221 OldKanPlay = 0x8182, 222 LapkiWait = 0x8184, 223 WebNoCheck = 0x8186, 224 Perfumeria = 0x8188, 225 SmokNoCheck = 0x818A, 226 IluzjaBroken = 0x818C, 227 IluzjaWorking = 0x818E, 228 IluzjaCounter = 0x8190, 229 KurhanOpen1 = 0x8192, 230 KastetTaken = 0x8194, 231 KastetDown = 0x8196, 232 KurhanDone = 0x8198, 233 SkelCounter = 0x819A, 234 SkelDial1 = 0x819C, 235 SkelDial2 = 0x819E, 236 SkelDial3 = 0x81A0, 237 SkelDial4 = 0x81A2, 238 SameTalker = 0x81A4, 239 RunMonstersText = 0x81A6, 240 PiwnicaChecked = 0x81A8, 241 DragonTalked = 0x81AA, 242 ToldAboutBook = 0x81AC, 243 SilmanionaDone = 0x81AE, 244 ToldBookCount = 0x81B0, 245 SmrodNoCheck = 0x81B2, 246 RopeTaken = 0x81B4, 247 RopeTime = 0x81B6, 248 LaskaFree = 0x81B8, 249 ShanSmokTalked = 0x81BA, 250 SwordTaken = 0x81BC, 251 Mill1st = 0x81BE, 252 SawRat = 0x81C0, 253 KnowRat = 0x81C2, 254 DziuraTimer = 0x81C4, 255 LaskaInside = 0x81C6, 256 HoleBig = 0x81C8, 257 EnableWiedzmin = 0x81CA, 258 EnableTrucizna = 0x81CC, 259 KnowPoison = 0x81CE, 260 KufelTaken = 0x81D0, 261 BojkaEnabled = 0x81D2, 262 BitwaNot1st = 0x81D4, 263 BojkaTimer = 0x81D6, 264 BojkaGirl = 0x81D8, 265 Look1st = 0x81DA, 266 RatTaken = 0x81DC, 267 LaskaTalkedGr = 0x81DE, 268 RatusGivus = 0x81E0, 269 MamObole = 0x81E2, 270 Speed1st = 0x81E4, 271 SpeedTimer = 0x81E6, 272 ProveIt = 0x81E8, 273 Proven = 0x81EA, 274 ShowWoalka = 0x81EC, 275 PoisonTaken = 0x81EE, 276 HellOpened = 0x81F0, 277 HellNoCheck = 0x81F2, 278 TalAn1 = 0x81F4, 279 TalAn2 = 0x81F6, 280 TalAn3 = 0x81F8, 281 TalkDevilGuard = 0x81fA, 282 Sword1st = 0x81FC, 283 IluzjaNoCheck = 0x81FE, 284 RozdzielniaNumber = 0x8200, 285 JailChecked = 0x8202, 286 JailTalked = 0x8204, 287 TrickFailed = 0x8206, 288 WegielVisible = 0x8208, 289 WegielTimer1 = 0x820A, 290 RandomSample = 0x820C, 291 RandomSampleTimer = 0x820E, 292 SampleTimer = 0x8210, 293 ZonaSample = 0x8212, 294 HoleTryAgain = 0x8214, 295 TeleportTimer = 0x8216, 296 RozLezy = 0x8218, 297 UdkoTimer = 0x821A, 298 ZaworZatkany = 0x821C, 299 ZaworOpened = 0x821E, 300 DoorExploded = 0x8220, 301 SkoraTaken = 0x8222, 302 CiezkieByl = 0x8224, 303 MamWegiel = 0x8226, 304 SwiecaAway = 0x8228, 305 ITSAVE = 0x822A, 306 RozpadlSie = 0x822C, 307 WegielFullTimer = 0x822E, 308 WegielDown = 0x8230, 309 WegielDownTimer = 0x8232, 310 PaliSie = 0x8234, 311 DiabGuardTalked = 0x8236, 312 GuardsNoCheck = 0x8238, 313 TalkedPowloka = 0x823A, 314 JailOpen = 0x823C, 315 PrzytulTimer = 0x823E, 316 JailDone = 0x8240, 317 MamMonety = 0x8242, 318 LotTimer = 0x8244, 319 LotObj = 0x8246, 320 PtakTimer = 0x8248, 321 BookTimer = 0x824A, 322 BookGiba = 0x824C, 323 PtakLata = 0x824E, 324 Podej = 0x8250, 325 GotHint = 0x8252, 326 LawaLeci = 0x8254, 327 PowerKlik = 0x8258, 328 LucekBad = 0x825A, 329 LucekBad1st = 0x825C, 330 IntroDial1 = 0x825E, 331 IntroDial2 = 0x8260, 332 ItsOutro = 0x8262, 333 KamienComment = 0x8264, 334 KamienSkip = 0x8266, 335 TesterFlag = 0x8268, 336 RememberLine = 0x826A, 337 OpisLapek = 0x826C, 338 //OpisKamienia = 0x826E, // Redefinition 339 TalWait = 0x8270, 340 OpisKamienia = 0x8272, 341 JumpBox = 0x8274, 342 JumpBox1 = 0x8276, 343 JumpBox2 = 0x8278, 344 JumpBox3 = 0x827A, 345 SpecPiesek = 0x827C, 346 SpecPiesekCount = 0x827E, 347 SpecPiesekGadanie = 0x8282, 348 ZnikaFlag = 0x8284, 349 ZnikaTimer = 0x8286, 350 SowaTimer = 0x8288, 351 MamrotanieOff = 0x828A, 352 // System flags controlled by script 353 CURRMOB = 0x8400, 354 KOLOR = 0x8402, 355 MBFLAG = 0x8404, 356 MXFLAG = 0x8406, 357 MYFLAG = 0x8408, 358 SCROLLTYPE = 0x840A, 359 SCROLLVALUE = 0x840C, 360 SCROLLVALUE2 = 0x840E, 361 TALKEXITCODE = 0x8410, 362 SPECROUTFLAG1 = 0x8412, 363 SPECROUTFLAG2 = 0x8414, 364 SPECROUTFLAG3 = 0x8416, 365 TALKFLAGCODE = 0x8418, 366 CURRROOM = 0x841A, 367 Talker1Init = 0x841C, 368 Talker2Init = 0x841E, 369 RESTOREROOM = 0x8420, 370 INVALLOWED = 0x8422, 371 BOXSEL = 0x8424, 372 CURSEBLINK = 0x8426, 373 EXACTMOVE = 0x8428, 374 MOVEDESTX = 0x842A, 375 MOVEDESTY = 0x842C, 376 NOANTIALIAS = 0x842E, 377 ESCAPED = 0x8430, 378 ALLOW1OPTION = 0x8432, 379 VOICE_H_LINE = 0x8434, 380 VOICE_A_LINE = 0x8436, 381 VOICE_B_LINE = 0x8438, 382 VOICE_C_LINE = 0x843A, 383 NOHEROATALL = 0x843C, 384 MOUSEENABLED = 0x843E, 385 DIALINES = 0x8440, 386 //SELITEM = 0x8442, // Redefinition 387 SHANWALK = 0x8444, 388 SHANDOG = 0x8446, 389 GETACTIONBACK = 0x8448, 390 GETACTIONDATA = 0x844C, 391 GETACTION = 0x8450, 392 HEROFAST = 0x8452, 393 SELITEM = 0x8454, 394 LMOUSE = 0x8456, 395 MINMX = 0x8458, 396 MAXMX = 0x845A, 397 MINMY = 0x845C, 398 MAXMY = 0x845E, 399 TORX1 = 0x8460, 400 TORY1 = 0x8462, 401 TORX2 = 0x8464, 402 TORY2 = 0x8466, 403 POWER = 0x8468, 404 POWERENABLED = 0x846A, 405 FLCRESTORE = 0x846C, 406 NOCLSTEXT = 0x846E, 407 ESCAPED2 = 0x8470 408 }; 409 410 struct FlagDebug { 411 Id id; 412 char flagName[30]; 413 }; 414 415 static const int kFlagDebugAmount = 368; 416 static const FlagDebug _flagNames[kFlagDebugAmount]; 417 }; 418 419 } // End of namespace Prince 420 421 #endif 422