ScummVM API documentation
livingbooks_constants.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 MOHAWK_LIVINGBOOKS_CONSTANTS_H
23#define MOHAWK_LIVINGBOOKS_CONSTANTS_H
24
25namespace Mohawk {
26
27/* Some disambiguations:
28 * _soundMode is a priority (see LBItem::getSoundPriority), not a kLBControlMode.
29 * _controlMode (item flags) is unrelated to kLBControlMode (the menu screens).
30 * LBProxyItem::_page shadows LBItem::_page (preexisting, intentional-looking, untouched).
31 */
32
33// Engine Debug Flags
34enum {
35 kDebugCode = 1,
36};
37
38#define LBKEY_MOD_CTRL 1
39#define LBKEY_MOD_ALT 2
40#define LBKEY_MOD_SHIFT 4
41enum NodeState {
42 kLBNodeDone = 0,
43 kLBNodeRunning = 1,
44 kLBNodeWaiting = 2
45};
46
47enum LBMode {
48 kLBIntroMode = 1,
49 kLBControlMode = 2,
50 kLBCreditsMode = 3,
51 kLBPreviewMode = 4,
52 kLBReadMode = 5,
53 kLBPlayMode = 6
54};
55
56enum {
57 kLBPhaseInit = 0x0,
58 kLBPhaseIntro = 0x1,
59 kLBPhaseMain = 0x2,
60 kLBPhaseNone = 0x7fff,
61 kLBPhaseLoad = 0xfffe,
62 kLBPhaseCreate = 0xffff
63};
64
65// automatic modes used in _timingMode
66enum {
67 kLBAutoNone = 0,
68 kLBAutoIntro = 1,
69 kLBAutoUserIdle = 2,
70 kLBAutoMain = 3,
71 kLBAutoSync = 4,
72 kLBAutoInit = 5,
73 kLBAutoCreate = 6,
74 kLBAutoLoad = 7
75};
76
77// control modes used in _controlMode
78enum {
79 kLBControlNone = 0,
80 kLBControlHideMouse = 1,
81 kLBControlPauseItems = 2
82};
83
84enum {
85 kLBStaticTextItem = 0x1,
86 kLBPictureItem = 0x2,
87 kLBEditTextItem = 0x14,
88 kLBLiveTextItem = 0x15,
89 kLBAnimationItem = 0x40,
90 kLBSoundItem = 0x41,
91 kLBGroupItem = 0x42,
92 kLBMovieItem = 0x43,
93 kLBPaletteAItem = 0x44, // unused?
94 kLBPaletteItem = 0x45,
95 kLBProxyItem = 0x46,
96 kLBMiniGameItem = 666, // EVIL!!!!
97 kLBXDataFileItem = 0x3e9,
98 kLBDiscDectectorItem = 0xfa1
99};
100
101enum {
102 // no 0x1?
103 kLBAnimOpNotify = 0x2,
104 kLBAnimOpSetTempo = 0x3,
105 // no 0x4?
106 kLBAnimOpMoveTo = 0x5,
107 kLBAnimOpWait = 0x6,
108 kLBAnimOpSetCel = 0x7,
109 kLBAnimOpSleepUntil = 0x8,
110 kLBAnimOpDrawMode = 0x9,
111 kLBAnimOpPlaySound = 0xa,
112 kLBAnimOpWaitForSound = 0xb,
113 kLBAnimOpReleaseSound = 0xc,
114 kLBAnimOpResetSound = 0xd,
115 kLBAnimOpSetTempoDiv = 0xe,
116 kLBAnimOpDelay = 0xf
117};
118
119enum {
120 kLBEventPhaseInit = 0,
121 kLBEventPhaseIntro = 1,
122 kLBEventMouseDown = 2,
123 kLBEventStarted = 3,
124 kLBEventDone = 4,
125 kLBEventMouseUp = 5,
126 kLBEventPhaseMain = 6,
127 kLBEventNotified = 7,
128 kLBEventDragStart = 8,
129 kLBEventDragMove = 9,
130 kLBEventDragEnd = 0xa,
131 kLBEventRolloverBegin = 0xb,
132 kLBEventRolloverMove = 0xc,
133 kLBEventRolloverEnd = 0xd,
134 kLBEventMouseUpIn = 0xe,
135 kLBEventMouseUpOut = 0xf,
136 kLBEventMouseTrackIn = 0x10,
137 kLBEventMouseTrackMove = 0x11,
138 kLBEventMouseTrackMoveIn = 0x12,
139 kLBEventMouseTrackMoveOut = 0x13,
140 kLBEventMouseTrackOut = 0x14,
141 kLBEventFocusBegin = 0x15,
142 kLBEventFocusEnd = 0x16,
143 kLBEventInit = 0x17,
144 kLBEventLoad = 0x1a,
145 kLBEventListLoad = 0x1b,
146 kLBEventPhaseCreate = 0xff
147};
148
149enum {
150 kLBGroupData = 0x64,
151 kLBLiveTextData = 0x65,
152 kLBMsgListScript = 0x66,
153 kLBNotifyScript = 0x67,
154 kLBSetPlayInfo = 0x68,
155 kLBSetRandomLoc = 0x69, // unused?
156 kLBSetDrag = 0x6a, // unused?
157 kLBSetDrawMode = 0x6b,
158 kLBSetFont = 0x6c, // unused?
159 kLBSetOneShot = 0x6d, // unused?
160 kLBSetPlayPhase = 0x6e,
161 // from here, 2.x+
162 kLBSetKeyNotify = 0x6f,
163 kLBCommand = 0x70,
164 kLBPaletteAData = 0x71, // unused?
165 kLBPaletteXData = 0x72,
166 kLBDisable = 0x73, // unused?
167 kLBEnable = 0x74, // unused?
168 kLBSetNotVisible = 0x75,
169 kLBSetVisible = 0x76, // unused?
170 kLBGlobalDisable = 0x77,
171 kLBGlobalEnable = 0x78, // unused?
172 kLBGlobalSetNotVisible = 0x79,
173 kLBGlobalSetVisible = 0x7a, // unused?
174 kLBSetAmbient = 0x7b,
175 kLBSetDragParams = 0x7c,
176 kLBSetKeyEvent = 0x7d,
177 kLBSetRolloverData = 0x7e,
178 kLBSetParent = 0x7f,
179 kLBSetHitTest = 0x80,
180 // from here, rugrats
181 kLBUnknown194 = 0x194
182};
183
184enum {
185 kLBOpNone = 0x0,
186 kLBOpXShow = 0x1,
187 kLBOpTogglePlay = 0x2,
188 kLBOpSetNotVisible = 0x3,
189 kLBOpSetVisible = 0x4,
190 kLBOpDestroy = 0x5,
191 kLBOpRewind = 0x6,
192 kLBOpStop = 0x7,
193 kLBOpDisable = 0x8,
194 kLBOpEnable = 0x9,
195 // (no 0xa)
196 kLBOpGlobalSetNotVisible = 0xb,
197 kLBOpGlobalSetVisible = 0xc,
198 kLBOpGlobalDisable = 0xd,
199 kLBOpGlobalEnable = 0xe,
200 kLBOpSeekToEnd = 0xf,
201 // (no 0x10)
202 kLBOpMute = 0x11,
203 kLBOpUnmute = 0x12,
204 kLBOpLoad = 0x13,
205 kLBOpPreload = 0x14,
206 kLBOpUnload = 0x15,
207 kLBOpSeekToNext = 0x16,
208 kLBOpSeekToPrev = 0x17,
209 kLBOpDragBegin = 0x18,
210 kLBOpDragEnd = 0x19,
211 kLBOpScriptDisable = 0x1a,
212 kLBOpScriptEnable = 0x1b,
213 kLBOpUnknown1C = 0x1c,
214 kLBOpSendExpression = 0x1d,
215 kLBOpJumpUnlessExpression = 0xfffb,
216 kLBOpBreakExpression = 0xfffc,
217 kLBOpJumpToExpression = 0xfffd,
218 kLBOpRunSubentries = 0xfffe,
219 kLBOpRunData = 0xffff
220};
221
222enum {
223 kLBNotifyGUIAction = 1,
224 kLBNotifyGoToControls = 2,
225 kLBNotifyChangePage = 3,
226 kLBNotifyGotoQuit = 4,
227 kLBNotifyIntroDone = 5,
228 kLBNotifyChangeMode = 6,
229 kLBNotifyCursorChange = 7,
230 kLBNotifyPrintPage = 0xc,
231 kLBNotifyQuit = 0xd
232};
233
234enum {
235 kTargetTypeExpression = 0x3f3f,
236 kTargetTypeCode = 0xfffe,
237 kTargetTypeName = 0xffff
238};
239
240} // End of namespace Mohawk
241
242#endif
Definition: bitmap.h:32