ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
enums.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 /*
23  * This code is based on the original source code of Lord Avalot d'Argent version 1.3.
24  * Copyright (c) 1994-1995 Mike, Mark and Thomas Thurman.
25  */
26 
27 #ifndef AVALANCHE_ENUMS_H
28 #define AVALANCHE_ENUMS_H
29 
30 namespace Avalanche {
31 
32 enum MonsterType { kMonsterTypeGhost, kMonsterTypeGlerk };
33 
34 enum Flavour { kFlavourEga, kFlavourBgi, kFlavourNatural, kFlavourTwo, kFlavourOne };
35 
36 enum Color {
37  kColorBlack = 0, kColorBlue, kColorGreen, kColorCyan, kColorRed,
38  kColorMagenta = 5, kColorBrown, kColorLightgray, kColorDarkgray, kColorLightblue,
39  kColorLightgreen = 10, kColorLightcyan, kColorLightred, kColorLightmagenta, kColorYellow,
40  kColorWhite = 15
41 };
42 
43 // CHECKME: kRoomBossKey is a guess
44 enum Room {
45  kRoomNowhere = 0, kRoomYours = 1, kRoomOutsideYours = 2, kRoomOutsideSpludwicks = 3,
46  kRoomYourHall = 5, kRoomMusicRoom = 7, kRoomOutsideArgentPub = 9, kRoomArgentRoad = 10,
47  kRoomWiseWomans = 11, kRoomSpludwicks = 12, kRoomInsideAbbey = 13, kRoomOutsideAbbey = 14,
48  kRoomAvvysGarden = 15, kRoomAylesOffice = 16, kRoomArgentPub = 19, kRoomBrummieRoad = 20,
49  kRoomBridge = 21, kRoomLusties = 22, kRoomLustiesRoom = 23, kRoomWestHall = 25,
50  kRoomEastHall = 26, kRoomOubliette = 27, kRoomGeidas = 28, kRoomCatacombs = 29,
51  kRoomEntranceHall = 40, kRoomRobins = 42, kRoomOutsideNottsPub = 46, kRoomNottsPub = 47,
52  kRoomOutsideDucks = 50, kRoomDucks = 51, kRoomOutsideCardiffCastle = 70, kRoomInsideCardiffCastle = 71,
53  kRoomBossKey = 98, kRoomMap = 99, kRoomDummy = 177 // Dummy room
54 };
55 
56 // Objects you can hold:
57 enum Object {
58  kObjectWine = 1, kObjectMoney, kObjectBodkin, kObjectPotion, kObjectChastity,
59  kObjectBolt, kObjectCrossbow, kObjectLute, kObjectBadge, kObjectMushroom,
60  kObjectKey, kObjectBell, kObjectPrescription, kObjectPen, kObjectInk,
61  kObjectClothes, kObjectHabit, kObjectOnion, kObjectDummy = 177
62 };
63 
64 // People who hang around this game.
65 enum People {
66  // Boys:
67  kPeopleAvalot = 150, kPeopleSpludwick = 151, kPeopleCrapulus = 152, kPeopleDrDuck = 153,
68  kPeopleMalagauche = 154, kPeopleFriarTuck = 155, kPeopleRobinHood = 156, kPeopleCwytalot = 157,
69  kPeopleDuLustie = 158, kPeopleDuke = 159, kPeopleDogfood = 160, kPeopleTrader = 161,
70  kPeopleIbythneth = 162, kPeopleAyles = 163, kPeoplePort = 164, kPeopleSpurge = 165,
71  kPeopleJacques = 166,
72  // Girls:
73  kPeopleArkata = 175, kPeopleGeida = 176, kPeopleInvisible = 177, kPeopleWisewoman = 178,
74  //
75  kPeoplePardon = 254, kPeopleNone = 0
76 };
77 
78 enum VerbCode {
79  kVerbCodeExam = 1, kVerbCodeOpen = 2, kVerbCodePause = 3, kVerbCodeGet = 4, kVerbCodeDrop = 5,
80  kVerbCodeInv = 6, kVerbCodeTalk = 7, kVerbCodeGive = 8, kVerbCodeDrink = 9, kVerbCodeLoad = 10,
81  kVerbCodeSave = 11, kVerbCodePay = 12, kVerbCodeLook = 13, kVerbCodeBreak = 14, kVerbCodeQuit = 15,
82  kVerbCodeSit = 16, kVerbCodeStand = 17, kVerbCodeGo = 18, kVerbCodeInfo = 19, kVerbCodeUndress = 20,
83  kVerbCodeWear = 21, kVerbCodePlay = 22, kVerbCodeRing = 23, kVerbCodeHelp = 24, kVerbCodeLarrypass = 25,
84  kVerbCodePhaon = 26, kVerbCodeBoss = 27, kVerbCodePee = 28, kVerbCodeCheat = 29, kVerbCodeMagic = 30,
85  kVerbCodeRestart = 31, kVerbCodeEat = 32, kVerbCodeListen = 33, kVerbCodeBuy = 34, kVerbCodeAttack = 35,
86  kVerbCodePasswd = 36, kVerbCodeDir = 37, kVerbCodeDie = 38, kVerbCodeScore = 39, kVerbCodePut = 40,
87  kVerbCodeKiss = 41, kVerbCodeClimb = 42, kVerbCodeJump = 43, kVerbCodeHiscores = 44, kVerbCodeWake = 45,
88  kVerbCodeHello = 46, kVerbCodeThanks = 47,
89  kVerbCodeSmartAlec = 249, kVerbCodeExpletive = 253, kVerbCodePardon = 254
90 };
91 
92 enum MouseCursor {
93  kCurUpArrow = 0, kCurScrewDriver = 1, kCurRightArrow = 2, kCurFletch = 3, kCurWait = 4, kCurHand = 5,
94  kCurCrosshair = 6, kCurIBeam = 7, kCurHelp = 8
95 };
96 
97 // Magic/portal constants:
98 enum Magics {
99  kMagicNothing, // Ignore it if this line is touched.
100  kMagicBounce, // Bounce off this line. Not valid for portals.
101  kMagicExclaim, // Put up a chain of scrolls.
102  kMagicTransport, // Enter new room.
103  kMagicUnfinished, // Unfinished connection.
104  kMagicSpecial, // Special function.
105  kMagicOpenDoor // Opening door.
106 };
107 
108 // Constants to replace the command characters from Pascal.
109 // For more information, see: https://github.com/marnanel/avalot/wiki/Scrolldrivers
110 enum ControlCharacter {
111  kControlSpeechBubble = 2, // ^B
112  kControlCenter = 3, // ^C
113  kControlToBuffer = 4, // ^D
114  kControlItalic = 6, // ^F
115  kControlBell = 7, // ^G
116  kControlBackspace = 8, // ^H
117  kControlInsertSpaces = 9, // ^I
118  kControlLeftJustified = 12, // ^L
119  kControlNewLine = 13, // ^M
120  kControlParagraph = 16, // ^P
121  kControlQuestion = 17, // ^Q
122  kControlRoman = 18, // ^R
123  kControlRegister = 19, // ^S
124  kControlNegative = 21, // ^U
125  kControlIcon = 22 // ^V
126 };
127 
128 static const int16 kScreenWidth = 640;
129 static const int16 kScreenHeight = 200;
130 
131 static const int16 kWalk = 3;
132 static const int16 kRun = 5;
133 
134 } // End of namespace Avalanche
135 
136 #endif // AVALANCHE_ENUMS_H
Definition: animation.h:32