ScummVM
scene_mr.cpp
Go to the documentation of this file.
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 #include "kyra/engine/kyra_mr.h"
26 #include "kyra/resource/resource.h"
27 
28 #include "common/system.h"
29 
30 namespace Kyra {
31 
32 void KyraEngine_MR::enterNewScene(uint16 sceneId, int facing, int unk1, int unk2, int unk3) {
34  _screen->hideMouse();
35 
36  showMessage(0, 0xF0, 0xF0);
37  if (_inventoryState)
38  hideInventory();
39 
43  }
44 
45  if (unk1) {
46  int x = _mainCharacter.x1;
47  int y = _mainCharacter.y1;
48 
49  switch (facing) {
50  case 0:
51  y -= 6;
52  break;
53 
54  case 2:
55  x = 343;
56  break;
57 
58  case 4:
59  y = 191;
60  break;
61 
62  case 6:
63  x = -24;
64  break;
65 
66  default:
67  break;
68  }
69 
70  moveCharacter(facing, x, y);
71  }
72 
73  uint32 waitUntilTimer = 0;
74  if (_lastMusicCommand != _sceneList[sceneId].sound) {
75  fadeOutMusic(60);
76  waitUntilTimer = _system->getMillis() + 60 * _tickLength;
77  }
78 
79  _chatAltFlag = false;
80 
81  if (!unk3) {
84  while (_emc->isValid(&_sceneScriptState))
86  }
87 
90 
91  _mainCharacter.sceneId = sceneId;
92  _sceneList[sceneId].flags &= ~1;
93  unloadScene();
94 
95  for (int i = 0; i < 4; ++i) {
98  }
100  loadScenePal();
101 
102  if (queryGameFlag(0x1D9)) {
103  char filename[20];
104  if (queryGameFlag(0x20D)) {
105  resetGameFlag(0x20D);
106  strcpy(filename, "COW1_");
107  } else if (queryGameFlag(0x20E)) {
108  resetGameFlag(0x20E);
109  strcpy(filename, "COW2_");
110  } else if (queryGameFlag(0x20F)) {
111  resetGameFlag(0x20F);
112  strcpy(filename, "COW3_");
113  } else if (queryGameFlag(0x20C)) {
114  resetGameFlag(0x20C);
115  strcpy(filename, "BOAT");
116  } else if (queryGameFlag(0x210)) {
117  resetGameFlag(0x210);
118  strcpy(filename, "JUNG");
119  }
120 
121  playVQA(filename);
122 
123  resetGameFlag(0x1D9);
124  }
125 
126  loadSceneMsc();
127  _sceneExit1 = _sceneList[sceneId].exit1;
128  _sceneExit2 = _sceneList[sceneId].exit2;
129  _sceneExit3 = _sceneList[sceneId].exit3;
130  _sceneExit4 = _sceneList[sceneId].exit4;
131 
132  while (_system->getMillis() < waitUntilTimer)
133  _system->delayMillis(10);
134 
135  initSceneScript(unk3);
136 
137  if (_overwriteSceneFacing) {
138  facing = _mainCharacter.facing;
139  _overwriteSceneFacing = false;
140  }
141 
142  enterNewSceneUnk1(facing, unk2, unk3);
144  _sceneScriptState.regs[3] = 1;
145  enterNewSceneUnk2(unk3);
146  if (queryGameFlag(0)) {
147  _showOutro = true;
148  _runFlag = false;
149  } else {
150  if (!--_enterNewSceneLock)
151  _unk5 = 0;
152 
154 
155  if (_itemInHand < 0) {
159  }
160 
161  Common::Point pos = getMousePos();
162  if (pos.y > 187)
163  setMousePos(pos.x, 179);
164  }
165  _screen->showMouse();
166 
167  _currentScene = sceneId;
168 }
169 
170 void KyraEngine_MR::enterNewSceneUnk1(int facing, int unk1, int unk2) {
171  int x = 0, y = 0;
172  int x2 = 0, y2 = 0;
173  bool needProc = true;
174 
175  if (_mainCharX == -1 && _mainCharY == -1) {
176  switch (facing+1) {
177  case 1: case 2: case 8:
178  x2 = _sceneEnterX3;
179  y2 = _sceneEnterY3;
180  break;
181 
182  case 3:
183  x2 = _sceneEnterX4;
184  y2 = _sceneEnterY4;
185  break;
186 
187  case 4: case 5: case 6:
188  x2 = _sceneEnterX1;
189  y2 = _sceneEnterY1;
190  break;
191 
192  case 7:
193  x2 = _sceneEnterX2;
194  y2 = _sceneEnterY2;
195  break;
196 
197  default:
198  x2 = y2 = -1;
199  }
200 
201  if (x2 >= 316)
202  x2 = 312;
203  if (y2 >= 185)
204  y2 = 183;
205  if (x2 <= 4)
206  x2 = 8;
207  }
208 
209  if (_mainCharX >= 0) {
210  x = x2 = _mainCharX;
211  needProc = false;
212  }
213 
214  if (_mainCharY >= 0) {
215  y = y2 = _mainCharY;
216  needProc = false;
217  }
218 
219  _mainCharX = _mainCharY = -1;
220 
221  if (unk1 && needProc) {
222  x = x2;
223  y = y2;
224 
225  switch (facing) {
226  case 0:
227  y2 = 191;
228  break;
229 
230  case 2:
231  x2 = -24;
232  break;
233 
234  case 4:
235  y2 = y - 4;
236  break;
237 
238  case 6:
239  x2 = 343;
240  break;
241 
242  default:
243  break;
244  }
245  }
246 
247  x2 &= ~3;
248  x &= ~3;
249  y2 &= ~1;
250  y &= ~1;
251 
252  _mainCharacter.facing = facing;
255  initSceneAnims(unk2);
256 
259  if (!unk2)
261 
262  if (unk1 && !unk2 && _mainCharacter.animFrame != 87)
263  moveCharacter(facing, x, y);
264 }
265 
267  _savedMouseState = -1;
268  if (_mainCharX == -1 && _mainCharY == -1 && !unk1) {
269  if (_mainCharacter.facing == 0xFF)
270  debugC(3, kDebugLevelSprites, "KyraEngine_MR::enterNewSceneUnk2(): Triggered WORKAROUND for invalid character facing");
274  }
275 
276  if (!unk1) {
277  runSceneScript4(0);
279  }
280 
281  _unk4 = 0;
282  _savedMouseState = -1;
283 }
284 
286  delete[] _sceneStrings;
287  _sceneStrings = 0;
289  freeSceneShapes();
290  freeSceneAnims();
291 }
292 
294  for (uint i = 0; i < ARRAYSIZE(_sceneShapes); ++i) {
295  delete[] _sceneShapes[i];
296  _sceneShapes[i] = 0;
297  }
298 }
299 
301  char filename[16];
302  _screen->copyPalette(2, 0);
304  strcat(filename, ".COL");
305 
306  _screen->loadBitmap(filename, 3, 3, 0);
307  _screen->getPalette(2).copy(_screen->getCPagePtr(3), 0, 144);
308  _screen->getPalette(2).fill(0, 1, 0);
309 
310  for (int i = 144; i <= 167; ++i) {
311  uint8 *palette = _screen->getPalette(2).getData() + i * 3;
312  palette[0] = palette[2] = 63;
313  palette[1] = 0;
314  }
315 
317 
319 }
320 
322  char filename[16];
324  strcat(filename, ".MSC");
325 
326  _res->exists(filename, true);
328  assert(stream);
329  int16 minY = 0, height = 0;
330  minY = stream->readSint16LE();
331  height = stream->readSint16LE();
332  delete stream;
333  stream = 0;
334  _maskPageMinY = minY;
335  _maskPageMaxY = minY + height - 1;
336 
338 
339  _screen->loadBitmap(filename, 5, 5, 0, true);
340 
341  // HACK
342  uint8 *data = new uint8[320*200];
343  _screen->copyRegionToBuffer(5, 0, 0, 320, 200, data);
344  _screen->clearPage(5);
345  _screen->copyBlockToPage(5, 0, _maskPageMinY, 320, height, data);
346  delete[] data;
347 
348 }
349 
351  const SceneDesc &scene = _sceneList[_mainCharacter.sceneId];
352 
353  char filename[16];
354  strcpy(filename, scene.filename1);
355  strcat(filename, ".DAT");
356 
357  _res->exists(filename, true);
359  assert(stream);
360  stream->seek(2, SEEK_CUR);
361 
362  byte scaleTable[15];
363  stream->read(scaleTable, 15);
364  stream->read(_sceneDatPalette, 45);
365  stream->read(_sceneDatLayerTable, 15);
366  int16 shapesCount = stream->readSint16LE();
367 
368  for (int i = 0; i < 15; ++i)
369  _scaleTable[i] = (uint16(scaleTable[i]) << 8) / 100;
370 
371  if (shapesCount > 0) {
372  strcpy(filename, scene.filename1);
373  strcat(filename, "9.CPS");
374  _screen->loadBitmap(filename, 3, 3, 0);
375  int pageBackUp = _screen->_curPage;
376  _screen->_curPage = 2;
377  for (int i = 0; i < shapesCount; ++i) {
378  int16 x = stream->readSint16LE();
379  int16 y = stream->readSint16LE();
380  int16 w = stream->readSint16LE();
381  int16 h = stream->readSint16LE();
382  _sceneShapeDescs[i].drawX = stream->readSint16LE();
383  _sceneShapeDescs[i].drawY = stream->readSint16LE();
384  _sceneShapes[i] = _screen->encodeShape(x, y, w, h, 0);
385  assert(_sceneShapes[i]);
386  }
387  _screen->_curPage = pageBackUp;
388  }
389  delete stream;
390  stream = 0;
391 
392  strcpy(filename, scene.filename1);
393  strcat(filename, ".CPS");
394  _screen->loadBitmap(filename, 3, 3, 0);
395 
397  _sceneEnterX1 = 160;
398  _sceneEnterY1 = 0;
399  _sceneEnterX2 = 296;
400  _sceneEnterY2 = 93;
401  _sceneEnterX3 = 160;
402  _sceneEnterY3 = 171;
403  _sceneEnterX4 = 24;
404  _sceneEnterY4 = 93;
405  _sceneMinX = 0;
406  _sceneMaxX = 319;
407 
409  strcpy(filename, scene.filename2);
410  strcat(filename, ".EMC");
411  _res->exists(filename, true);
413 
414  strcpy(filename, scene.filename2);
415  strcat(filename, ".");
417 
418  runSceneScript8();
421  _sceneScriptState.regs[5] = unk1;
422  while (_emc->isValid(&_sceneScriptState))
424 
425  _screen->copyRegionToBuffer(3, 0, 0, 320, 200, _gamePlayBuffer);
426 
427  for (int i = 0; i < 10; ++i) {
429  _emc->start(&_sceneSpecialScripts[i], i+9);
431  }
432 
433  _sceneEnterX1 &= ~3;
434  _sceneEnterY1 &= ~1;
435  _sceneEnterX2 &= ~3;
436  _sceneEnterY2 &= ~1;
437  _sceneEnterX3 &= ~3;
438  _sceneEnterY3 &= ~1;
439  _sceneEnterX4 &= ~3;
440  _sceneEnterY4 &= ~1;
441 }
442 
444  for (int i = 0; i < 67; ++i)
445  _animObjects[i].enabled = false;
446 
447  AnimObj *obj = &_animObjects[0];
448 
449  if (_mainCharacter.animFrame != 87 && !unk1) {
450  if (_mainCharacter.facing == 0xFF)
451  debugC(3, kDebugLevelSprites, "KyraEngine_MR::initSceneAnims(): Triggered WORKAROUND for invalid character facing");
453  }
454 
455  obj->enabled = true;
456  obj->xPos1 = _mainCharacter.x1;
457  obj->yPos1 = _mainCharacter.y1;
460  obj->xPos2 = _mainCharacter.x1;
461  obj->yPos2 = _mainCharacter.y1;
463  obj->xPos3 = obj->xPos2 += (_malcolmShapeXOffset * _charScale) >> 8;
464  obj->yPos3 = obj->yPos2 += (_malcolmShapeYOffset * _charScale) >> 8;
467  obj->needRefresh = true;
468  _animList = 0;
469 
470  for (int i = 0; i < 16; ++i) {
471  const SceneAnim &anim = _sceneAnims[i];
472  obj = &_animObjects[i+1];
473  obj->enabled = false;
474  obj->needRefresh = false;
475 
476  if (anim.flags & 1) {
477  obj->enabled = true;
478  obj->needRefresh = true;
479  }
480 
481  obj->specialRefresh = (anim.flags & 0x20) ? 1 : 0;
482  obj->flags = (anim.flags & 0x10) ? 0x800 : 0;
483  if (anim.flags & 2)
484  obj->flags |= 1;
485 
486  obj->xPos1 = anim.x;
487  obj->yPos1 = anim.y;
488 
489  if ((anim.flags & 4) && anim.shapeIndex != -1)
490  obj->shapePtr = _sceneShapes[anim.shapeIndex];
491  else
492  obj->shapePtr = 0;
493 
494  if (anim.flags & 8) {
495  obj->shapeIndex3 = anim.shapeIndex;
496  obj->animNum = i;
497  } else {
498  obj->shapeIndex3 = 0xFFFF;
499  obj->animNum = 0xFFFF;
500  }
501 
502  obj->xPos3 = obj->xPos2 = anim.x2;
503  obj->yPos3 = obj->yPos2 = anim.y2;
504  obj->width = anim.width;
505  obj->height = anim.height;
506  obj->width2 = obj->height2 = anim.specialSize;
507 
508  if (anim.flags & 1) {
509  if (_animList)
511  else
513  }
514  }
515 
516  if (_animList)
518  else
520 
521  for (int i = 0; i < 50; ++i) {
522  obj = &_animObjects[i+17];
523  const ItemDefinition &item = _itemList[i];
524  if (item.id != kItemNone && item.sceneId == _mainCharacter.sceneId) {
525  obj->xPos1 = item.x;
526  obj->yPos1 = item.y;
528  obj->shapePtr = 0;
529  obj->shapeIndex1 = obj->shapeIndex2 = item.id + 248;
530  obj->xPos2 = item.x;
531  obj->yPos2 = item.y;
532 
533  int scale = getScale(obj->xPos1, obj->yPos1);
534  const uint8 *shape = getShapePtr(obj->shapeIndex1);
535  obj->xPos3 = obj->xPos2 -= (_screen->getShapeScaledWidth(shape, scale) >> 1);
536  obj->yPos3 = obj->yPos2 -= _screen->getShapeScaledHeight(shape, scale) - 1;
537  obj->enabled = true;
538  obj->needRefresh = true;
539 
540  if (_animList)
542  else
544  } else {
545  obj->enabled = false;
546  obj->needRefresh = false;
547  }
548  }
549 
550  for (int i = 0; i < 67; ++i)
551  _animObjects[i].needRefresh = _animObjects[i].enabled;
552 
553  restorePage3();
554  drawAnimObjects();
555  _screen->hideMouse();
556  initSceneScreen(unk1);
557  _screen->showMouse();
559 }
560 
562  _screen->copyBlockToPage(2, 0, 188, 320, 12, _interfaceCommandLine);
563 
564  if (_unkSceneScreenFlag1) {
565  _screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0, Screen::CR_NO_P_CHECK);
566  return;
567  }
568 
569  if (_noScriptEnter) {
570  _screen->getPalette(0).fill(0, 144, 0);
571  if (!_wasPlayingVQA)
573  }
574 
575  _screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0, Screen::CR_NO_P_CHECK);
576 
577  if (_noScriptEnter) {
578  if (!_wasPlayingVQA)
580  _screen->getPalette(0).copy(_screen->getPalette(2), 0, 144);
581  if (_wasPlayingVQA) {
582  _screen->fadeFromBlack(0x3C);
583  _wasPlayingVQA = false;
584  }
585  }
586 
587  updateCharPal(0);
589 
590  if (!_menuDirectlyToLoad) {
592  _sceneScriptState.regs[5] = unk1;
593 
594  while (_emc->isValid(&_sceneScriptState))
596  }
597 }
598 
599 int KyraEngine_MR::trySceneChange(int *moveTable, int unk1, int updateChar) {
600  bool running = true;
601  bool unkFlag = false;
602  int changedScene = 0;
603  const int *moveTableStart = moveTable;
604  _unk4 = 0;
605 
606  while (running && !shouldQuit()) {
607  if (*moveTable >= 0 && *moveTable <= 7) {
609  unkFlag = true;
610  } else {
611  if (*moveTable == 8) {
612  running = false;
613  } else {
614  ++moveTable;
615  unkFlag = false;
616  }
617  }
618 
619  if (checkSceneChange()) {
620  running = false;
621  changedScene = 1;
622  }
623 
624  if (unk1) {
625  // Notice that we can't use KyraEngine_MR's skipFlag handling
626  // here, since Kyra3 allows disabling of skipFlag support
627  if (KyraEngine_v2::skipFlag()) {
628  resetSkipFlag(false);
629  running = false;
630  _unk4 = 1;
631  }
632  }
633 
634  if (!unkFlag || !running)
635  continue;
636 
637  int ret = 0;
638  if (moveTable == moveTableStart || moveTable[1] == 8)
639  ret = updateCharPos(0, 0);
640  else
641  ret = updateCharPos(moveTable, 0);
642 
643  if (ret)
644  ++moveTable;
645 
646  delay(10, true);
647  }
648 
649  if (updateChar)
651 
654 
655  return changedScene;
656 }
657 
659  const SceneDesc &curScene = _sceneList[_mainCharacter.sceneId];
660  int charX = _mainCharacter.x1, charY = _mainCharacter.y1;
661  int facing = 0;
662  int process = 0;
663 
664  if (_screen->getLayer(charX, charY) == 1 && _savedMouseState == -7) {
665  facing = 0;
666  process = 1;
667  } else if (charX >= 316 && _savedMouseState == -6) {
668  facing = 2;
669  process = 1;
670  } else if (charY >= 186 && _savedMouseState == -5) {
671  facing = 4;
672  process = 1;
673  } else if (charX <= 4 && _savedMouseState == -4) {
674  facing = 6;
675  process = 1;
676  }
677 
678  if (!process)
679  return 0;
680 
681  uint16 newScene = 0xFFFF;
682  switch (facing) {
683  case 0:
684  newScene = curScene.exit1;
685  break;
686 
687  case 2:
688  newScene = curScene.exit2;
689  break;
690 
691  case 4:
692  newScene = curScene.exit3;
693  break;
694 
695  case 6:
696  newScene = curScene.exit4;
697  break;
698 
699  default:
700  newScene = _mainCharacter.sceneId;
701  }
702 
703  if (newScene == 0xFFFF)
704  return 0;
705 
706  enterNewScene(newScene, facing, 1, 1, 0);
707  return 1;
708 }
710  if (y > 187 && _savedMouseState > -4)
711  return 0;
712  if (_deathHandler >= 0)
713  return 0;
714 
716  _sceneScriptState.regs[1] = x;
717  _sceneScriptState.regs[2] = y;
718  _sceneScriptState.regs[3] = 0;
720 
722  while (_emc->isValid(&_sceneScriptState))
724 
725  return _sceneScriptState.regs[3];
726 }
727 
731  _sceneScriptState.regs[3] = 0;
733 
735  while (_emc->isValid(&_sceneScriptState))
737 
738  return _sceneScriptState.regs[3];
739 }
740 
743  _sceneScriptState.regs[5] = unk1;
744  _sceneScriptState.regs[3] = 0;
745  _noStartupChat = false;
746 
748  while (_emc->isValid(&_sceneScriptState))
750 
751  if (_sceneScriptState.regs[3])
752  _noStartupChat = true;
753 }
754 
757  while (_emc->isValid(&_sceneScriptState))
759 }
760 
762  static const uint8 widthTable[] = { 1, 1, 1, 1, 1, 2, 4, 6, 8 };
763 
764  if ((_pathfinderFlag & 2) && x >= 320)
765  return false;
766  if ((_pathfinderFlag & 4) && y >= 188)
767  return false;
768  if ((_pathfinderFlag & 8) && x < 0)
769  return false;
770  if (y > 187)
771  return false;
772 
773  uint width = widthTable[getScale(x, y) >> 5];
774 
775  if (y < 0)
776  y = 0;
777  x -= width >> 1;
778  if (x < 0)
779  x = 0;
780  int x2 = x + width;
781  if (x2 > 320)
782  x2 = 320;
783 
784  for (; x < x2; ++x) {
785  if (y < _maskPageMinY || y > _maskPageMaxY)
786  return false;
787 
788  if (!_screen->getShapeFlag1(x, y))
789  return false;
790  }
791 
792  return true;
793 }
794 
795 } // End of namespace Kyra
Kyra::KyraEngine_MR::restorePage3
void restorePage3() override
Definition: animator_mr.cpp:31
Kyra::KyraEngine_v2::_showOutro
bool _showOutro
Definition: kyra_v2.h:89
Kyra::KyraEngine_v2::AnimObj::width
int16 width
Definition: kyra_v2.h:117
Kyra
This is the namespace of the Kyra engine.
Definition: chargen.cpp:37
Kyra::KyraEngine_MR::animSetupPaletteEntry
void animSetupPaletteEntry(AnimObj *anim) override
Definition: animator_mr.cpp:70
Kyra::SoundDigital_MR::stopSound
void stopSound(int channel)
Stop the playback of a sound in the given channel.
Definition: sound_digital_mr.cpp:209
Kyra::KyraEngine_v2::SceneAnim::flags
uint16 flags
Definition: kyra_v2.h:200
Kyra::KyraEngine_MR::freeSceneShapes
void freeSceneShapes()
Definition: scene_mr.cpp:293
Kyra::KyraEngine_v1::_mouseState
int _mouseState
Definition: kyra_v1.h:348
Kyra::KyraEngine_v2::_sceneScriptState
EMCState _sceneScriptState
Definition: kyra_v2.h:192
Kyra::KyraEngine_v2::AnimObj::shapeIndex2
uint16 shapeIndex2
Definition: kyra_v2.h:114
Kyra::KyraEngine_v1::_deathHandler
int8 _deathHandler
Definition: kyra_v1.h:316
Common::SeekableReadStream
Interface for a seekable & readable data stream.
Definition: stream.h:569
Kyra::KyraEngine_MR::fadeOutMusic
void fadeOutMusic(int ticks)
Definition: kyra_mr.cpp:432
Kyra::KyraEngine_MR::getScale
int getScale(int x, int y) override
Definition: kyra_mr.cpp:1218
Kyra::KyraEngine_v2::SceneDesc
Definition: kyra_v2.h:165
Kyra::EMCInterpreter::start
bool start(EMCState *script, int function)
Definition: script.cpp:155
Kyra::KyraEngine_MR::_menuDirectlyToLoad
bool _menuDirectlyToLoad
Definition: kyra_mr.h:98
Kyra::KyraEngine_v2::SceneAnim
Definition: kyra_v2.h:199
Kyra::KyraEngine_v1::_mouseY
int _mouseY
Definition: kyra_v1.h:276
Kyra::KyraEngine_MR::SceneShapeDesc::drawX
int drawX
Definition: kyra_mr.h:375
Glk::Level9::scale
int scale
Definition: level9_main.cpp:117
Kyra::KyraEngine_v2::Character::y2
int16 y2
Definition: kyra_v2.h:326
Kyra::KyraEngine_v1::setMousePos
void setMousePos(int x, int y)
Definition: kyra_v1.cpp:225
Kyra::KyraEngine_v2::SceneDesc::exit4
uint16 exit4
Definition: kyra_v2.h:169
Kyra::KyraEngine_MR::loadSceneMsc
void loadSceneMsc()
Definition: scene_mr.cpp:321
Kyra::EMCInterpreter::init
void init(EMCState *scriptState, const EMCData *data)
Definition: script.cpp:147
Kyra::KyraEngine_v2::AnimObj::width2
int16 width2
Definition: kyra_v2.h:118
Kyra::KyraEngine_v2::AnimObj::yPos1
int16 yPos1
Definition: kyra_v2.h:109
Kyra::Screen::showMouse
void showMouse()
Definition: screen.cpp:2984
Kyra::KyraEngine_MR::SceneShapeDesc::drawY
int drawY
Definition: kyra_mr.h:375
Kyra::KyraEngine_v2::initAnimList
AnimObj * initAnimList(AnimObj *list, AnimObj *entry)
Definition: animator_v2.cpp:39
Kyra::KyraEngine_v2::Character::y3
int16 y3
Definition: kyra_v2.h:327
Kyra::KyraEngine_v2::Character::animFrame
uint16 animFrame
Definition: kyra_v2.h:322
Common::ReadStream::readSint16LE
FORCEINLINE int16 readSint16LE()
Read a signed 16-bit word stored in little endian (LSB first) order from the stream and return it.
Definition: stream.h:419
Kyra::KyraEngine_v2::AnimObj::specialRefresh
uint16 specialRefresh
Definition: kyra_v2.h:106
kyra_mr.h
Kyra::KyraEngine_MR::checkSceneChange
int checkSceneChange()
Definition: scene_mr.cpp:658
Kyra::EMCInterpreter::run
bool run(EMCState *script)
Definition: script.cpp:181
x
x
Definition: soft_render_surface.inl:123
Kyra::KyraEngine_MR::lineIsPassable
bool lineIsPassable(int x, int y) override
Definition: scene_mr.cpp:761
Kyra::KyraEngine_v1::getOppositeFacingDirection
int getOppositeFacingDirection(int dir)
Definition: scene_v1.cpp:252
Kyra::KyraEngine_v2::_charScale
int _charScale
Definition: kyra_v2.h:332
Kyra::KyraEngine_v2::_mainCharX
int _mainCharX
Definition: kyra_v2.h:331
Kyra::KyraEngine_v2::_animObjects
AnimObj * _animObjects
Definition: kyra_v2.h:124
Common::SeekableReadStream::seek
virtual bool seek(int32 offset, int whence=SEEK_SET)=0
Sets the stream position indicator for the stream.
process
bool process
Definition: action.cpp:686
Kyra::KyraEngine_v2::_sceneScriptData
EMCData _sceneScriptData
Definition: kyra_v2.h:191
Kyra::KyraEngine_v1::_emc
EMCInterpreter * _emc
Definition: kyra_v1.h:268
Kyra::KyraEngine_v2::ItemDefinition
Definition: kyra_v2.h:285
Engine::shouldQuit
static bool shouldQuit()
Return whether the ENGINE should quit respectively should return to the launcher.
Definition: engine.cpp:791
Kyra::Screen::encodeShape
uint8 * encodeShape(int x, int y, int w, int h, int flags)
Definition: screen.cpp:2647
Kyra::KyraEngine_MR::refreshAnimObjects
void refreshAnimObjects(int force) override
Definition: animator_mr.cpp:142
Kyra::KyraEngine_v2::AnimObj::xPos3
int16 xPos3
Definition: kyra_v2.h:116
Kyra::KyraEngine_v2::_unkSceneScreenFlag1
bool _unkSceneScreenFlag1
Definition: kyra_v2.h:361
Engine::_system
OSystem * _system
Definition: engine.h:62
Kyra::KyraEngine_v2::SceneDesc::exit2
uint16 exit2
Definition: kyra_v2.h:169
Kyra::KyraEngine_v2::_mainCharacter
Character _mainCharacter
Definition: kyra_v2.h:330
Kyra::KyraEngine_v2::AnimObj::yPos3
int16 yPos3
Definition: kyra_v2.h:116
Kyra::KyraEngine_MR::initSceneScreen
void initSceneScreen(int unk1)
Definition: scene_mr.cpp:561
Kyra::KyraEngine_v2::Character::x3
int16 x3
Definition: kyra_v2.h:327
Common::Point::x
int16 x
The horizontal part of the point.
Definition: rect.h:38
Kyra::KyraEngine_v2::Character::sceneId
uint16 sceneId
Definition: kyra_v2.h:318
Kyra::KyraEngine_MR::_enterNewSceneLock
int _enterNewSceneLock
Definition: kyra_mr.h:346
height
uint16 height
Definition: thumbnail.cpp:41
Kyra::KyraEngine_v2::getShapePtr
uint8 * getShapePtr(int index) const
Definition: kyra_v2.cpp:191
Kyra::KyraEngine_v2::AnimObj::yPos2
int16 yPos2
Definition: kyra_v2.h:115
Kyra::KyraEngine_v2::_runFlag
bool _runFlag
Definition: kyra_v2.h:88
Kyra::KyraEngine_MR::unloadScene
void unloadScene()
Definition: scene_mr.cpp:285
Kyra::KyraEngine_v2::_specialExitCount
int _specialExitCount
Definition: kyra_v2.h:181
uint32
unsigned int uint32
Definition: cdtypes.h:26
Kyra::KyraEngine_v2::_pathfinderFlag
int _pathfinderFlag
Definition: kyra_v2.h:268
Kyra::KyraEngine_v2::Character::x2
int16 x2
Definition: kyra_v2.h:326
Kyra::KyraEngine_v2::Character::x1
int16 x1
Definition: kyra_v2.h:325
Kyra::KyraEngine_v2::_sceneList
SceneDesc * _sceneList
Definition: kyra_v2.h:174
Kyra::KyraEngine_v2::_overwriteSceneFacing
bool _overwriteSceneFacing
Definition: kyra_v2.h:185
Kyra::KyraEngine_MR::_noStartupChat
bool _noStartupChat
Definition: kyra_mr.h:358
Kyra::KyraEngine_v2::moveCharacter
void moveCharacter(int facing, int x, int y)
Definition: kyra_v2.cpp:198
Kyra::KyraEngine_v2::AnimObj::shapeIndex3
uint16 shapeIndex3
Definition: kyra_v2.h:113
Kyra::KyraEngine_v1::resetGameFlag
int resetGameFlag(int flag)
Definition: kyra_v1.cpp:527
Kyra::KyraEngine_MR::runSceneScript2
int runSceneScript2()
Definition: scene_mr.cpp:728
Kyra::KyraEngine_MR::_gamePlayBuffer
uint8 * _gamePlayBuffer
Definition: kyra_mr.h:192
Kyra::KyraEngine_MR::_screen
Screen_MR * _screen
Definition: kyra_mr.h:82
Kyra::KyraEngine_v2::updateCharPos
int updateCharPos(int *table, int force=0)
Definition: kyra_v2.cpp:234
Kyra::KyraEngine_v1::_opcodes
Common::Array< const Opcode * > _opcodes
Definition: kyra_v1.h:328
Kyra::KyraEngine_v2::_animList
AnimObj * _animList
Definition: kyra_v2.h:131
Kyra::KyraEngine_v2::_itemInHand
int _itemInHand
Definition: kyra_v2.h:299
Kyra::KyraEngine_v2::_gameShapes
ShapeMap _gameShapes
Definition: kyra_v2.h:256
Kyra::KyraEngine_v2::_sceneSpecialScriptsTimer
uint32 _sceneSpecialScriptsTimer[10]
Definition: kyra_v2.h:218
Kyra::KyraEngine_v2::SceneAnim::height
int16 height
Definition: kyra_v2.h:203
width
uint16 width
Definition: thumbnail.cpp:41
Kyra::KyraEngine_v2::_sceneEnterX2
int _sceneEnterX2
Definition: kyra_v2.h:179
Kyra::KyraEngine_MR::_maskPageMaxY
int _maskPageMaxY
Definition: kyra_mr.h:363
Kyra::Palette::copy
void copy(const Palette &source, int firstCol=0, int numCols=-1, int dstStart=-1)
Copy data from another palette.
Definition: screen.cpp:3887
Kyra::Screen::clearPage
void clearPage(int pageNum)
Definition: screen.cpp:557
Kyra::KyraEngine_MR::_sceneMinX
int _sceneMinX
Definition: kyra_mr.h:362
Kyra::KyraEngine_v2::ItemDefinition::x
int16 x
Definition: kyra_v2.h:288
Kyra::KyraEngine_v1::_lastMusicCommand
int16 _lastMusicCommand
Definition: kyra_v1.h:361
Kyra::KyraEngine_MR::setCommandLineRestoreTimer
void setCommandLineRestoreTimer(int secs)
Definition: timer_mr.cpp:91
Kyra::KyraEngine_v2::SceneAnim::x
int16 x
Definition: kyra_v2.h:201
Kyra::KyraEngine_v1::queryGameFlag
int queryGameFlag(int flag) const
Definition: kyra_v1.cpp:522
Kyra::KyraEngine_v1::_res
Resource * _res
Definition: kyra_v1.h:263
Kyra::KyraEngine_v1::getMousePos
Common::Point getMousePos()
Definition: kyra_v1.cpp:214
Kyra::KyraEngine_v2::_unk5
int _unk5
Definition: kyra_v2.h:360
Kyra::KyraEngine_MR::resetSkipFlag
void resetSkipFlag(bool removeEvent=true) override
Definition: kyra_mr.cpp:1366
Kyra::KyraEngine_v2::ItemDefinition::sceneId
uint16 sceneId
Definition: kyra_v2.h:287
Kyra::KyraEngine_v2::SceneAnim::y2
int16 y2
Definition: kyra_v2.h:202
uint8
unsigned char uint8
Definition: cdtypes.h:28
Kyra::KyraEngine_v2::AnimObj::height
int16 height
Definition: kyra_v2.h:117
Kyra::KyraEngine_v2::SceneDesc::filename1
char filename1[10]
Definition: kyra_v2.h:166
Kyra::KyraEngine_MR::_soundDigital
SoundDigital_MR * _soundDigital
Definition: kyra_mr.h:83
Kyra::KyraEngine_MR::_sceneStrings
uint8 * _sceneStrings
Definition: kyra_mr.h:275
Kyra::KyraEngine_v1::skipFlag
virtual bool skipFlag() const
Definition: kyra_v1.cpp:496
Kyra::KyraEngine_v2::delay
void delay(uint32 time, bool update=false, bool isMainLoop=false) override
Definition: kyra_v2.cpp:149
Kyra::KyraEngine_v2::_sceneEnterX1
int _sceneEnterX1
Definition: kyra_v2.h:179
Kyra::KyraEngine_v2::SceneDesc::exit1
uint16 exit1
Definition: kyra_v2.h:169
Kyra::KyraEngine_v2::_savedMouseState
int _savedMouseState
Definition: kyra_v2.h:300
Kyra::KyraEngine_v2::SceneDesc::exit3
uint16 exit3
Definition: kyra_v2.h:169
Kyra::Screen::getCPagePtr
const uint8 * getCPagePtr(int pageNum) const
Definition: screen.cpp:545
Kyra::KyraEngine_v1::sound
Sound * sound()
Definition: kyra_v1.h:199
Kyra::KyraEngine_v2::SceneAnim::width
int16 width
Definition: kyra_v2.h:203
Kyra::KyraEngine_v2::SceneAnim::x2
int16 x2
Definition: kyra_v2.h:202
Kyra::KyraEngine_v2::_sceneEnterY1
int _sceneEnterY1
Definition: kyra_v2.h:179
Kyra::KyraEngine_MR::_musicSoundChannel
int _musicSoundChannel
Definition: kyra_mr.h:112
Common::ReadStream::read
virtual uint32 read(void *dataPtr, uint32 dataSize)=0
Read data from the stream.
Kyra::KyraEngine_v2::AnimObj::height2
int16 height2
Definition: kyra_v2.h:118
Kyra::KyraEngine_MR::updateCharacterAnim
void updateCharacterAnim(int charId) override
Definition: animator_mr.cpp:233
Kyra::KyraEngine_v2::_sceneExit3
uint16 _sceneExit3
Definition: kyra_v2.h:178
Kyra::KyraEngine_v2::SceneAnim::y
int16 y
Definition: kyra_v2.h:201
Kyra::KyraEngine_v2::_sceneAnims
SceneAnim _sceneAnims[16]
Definition: kyra_v2.h:210
Kyra::KyraEngine_MR::_characterFrameTable
static const uint8 _characterFrameTable[]
Definition: kyra_mr.h:388
Kyra::KyraEngine_MR::enterNewSceneUnk2
void enterNewSceneUnk2(int unk1)
Definition: scene_mr.cpp:266
Kyra::KyraEngine_MR::_wasPlayingVQA
bool _wasPlayingVQA
Definition: kyra_mr.h:658
Kyra::KyraEngine_v2::_sceneEnterX4
int _sceneEnterX4
Definition: kyra_v2.h:179
Kyra::KyraEngine_MR::initSceneAnims
void initSceneAnims(int unk1)
Definition: scene_mr.cpp:443
Kyra::KyraEngine_v2::SceneDesc::flags
uint8 flags
Definition: kyra_v2.h:170
OSystem::delayMillis
virtual void delayMillis(uint msecs)=0
Delay/sleep for the specified amount of milliseconds.
Kyra::KyraEngine_MR::showMessage
void showMessage(const char *string, uint8 c0, uint8 c1)
Definition: gui_mr.cpp:105
Kyra::KyraEngine_MR::initSceneScript
void initSceneScript(int unk1)
Definition: scene_mr.cpp:350
Kyra::KyraEngine_v2::_sceneExit1
uint16 _sceneExit1
Definition: kyra_v2.h:178
Kyra::Palette::fill
void fill(int firstCol, int numCols, uint8 value)
Fill the given indexes with the given component value.
Definition: screen.cpp:3881
Kyra::KyraEngine_MR::_maskPageMinY
int _maskPageMinY
Definition: kyra_mr.h:363
debugC
void debugC(int level, uint32 debugChannels, const char *s,...)
Print a debug message to the text console (stdout), but only if the gDebugLevel equals at least the s...
Definition: debug.cpp:205
OSystem::getMillis
virtual uint32 getMillis(bool skipRecord=false)=0
Get the number of milliseconds since the program was started.
Kyra::KyraEngine_v2::AnimObj::flags
uint16 flags
Definition: kyra_v2.h:108
Kyra::KyraEngine_MR::loadScenePal
void loadScenePal()
Definition: scene_mr.cpp:300
Kyra::KyraEngine_v2::AnimObj::enabled
bool enabled
Definition: kyra_v2.h:104
Kyra::EMCInterpreter::isValid
bool isValid(EMCState *script)
Definition: script.cpp:175
Neverhood::x2
int16 x2
Definition: module1400_sprites.cpp:667
Kyra::KyraEngine_MR::_noScriptEnter
bool _noScriptEnter
Definition: kyra_mr.h:342
Kyra::KyraEngine_MR::_sceneDatLayerTable
int8 _sceneDatLayerTable[15]
Definition: kyra_mr.h:369
Kyra::KyraEngine_v2::AnimObj::shapeIndex1
uint16 shapeIndex1
Definition: kyra_v2.h:111
Kyra::Screen::fadeFromBlack
void fadeFromBlack(int delay=0x54, const UpdateFunctor *upFunc=0)
Definition: screen.cpp:754
int16
signed short int16
Definition: cdtypes.h:30
Kyra::KyraEngine_MR::hideInventory
void hideInventory()
Definition: gui_mr.cpp:240
Kyra::Screen::setScreenPalette
virtual void setScreenPalette(const Palette &pal)
Definition: screen.cpp:891
uint
unsigned int uint
Definition: scummsys.h:440
Kyra::KyraEngine_v2::Character::facing
uint8 facing
Definition: kyra_v2.h:321
Kyra::Screen::copyBlockToPage
void copyBlockToPage(int pageNum, int x, int y, int w, int h, const uint8 *src)
Definition: screen.cpp:1058
Kyra::KyraEngine_MR::_fadeOutMusicChannel
int _fadeOutMusicChannel
Definition: kyra_mr.h:113
Kyra::Screen_v2::getShapeScaledWidth
int getShapeScaledWidth(const uint8 *shpFile, int scale)
Definition: screen_v2.cpp:215
Kyra::KyraEngine_v2::_sceneEnterY3
int _sceneEnterY3
Definition: kyra_v2.h:179
Common::Point
Simple class for handling both 2D position and size.
Definition: rect.h:37
Kyra::KyraEngine_v2::_specialSceneScriptState
bool _specialSceneScriptState[10]
Definition: kyra_v2.h:215
screen_mr.h
Kyra::KyraEngine_MR::malcolmSceneStartupChat
void malcolmSceneStartupChat()
Definition: text_mr.cpp:599
Kyra::kItemNone
Constant for invalid item.
Definition: item.h:36
Kyra::KyraEngine_MR::enterNewScene
void enterNewScene(uint16 scene, int facing, int unk1, int unk2, int unk3) override
Definition: scene_mr.cpp:32
Kyra::EMCInterpreter::load
bool load(const char *filename, EMCData *data, const Common::Array< const Opcode * > *opcodes)
Definition: script.cpp:98
Kyra::SoundDigital_MR::isPlaying
bool isPlaying(int channel)
Checks if a given channel is playing a sound.
Definition: sound_digital_mr.cpp:197
Kyra::KyraEngine_v2::SceneDesc::filename2
char filename2[10]
Definition: kyra_v2.h:167
Kyra::KyraEngine_MR::playVQA
void playVQA(const char *name)
Definition: kyra_mr.cpp:363
Kyra::KyraEngine_v2::Character::y1
int16 y1
Definition: kyra_v2.h:325
Kyra::KyraEngine_MR::_currentChapter
int _currentChapter
Definition: kyra_mr.h:508
Kyra::Screen_v2::getShapeScaledHeight
int getShapeScaledHeight(const uint8 *shpFile, int scale)
Definition: screen_v2.cpp:222
Kyra::KyraEngine_MR::_interfaceCommandLine
uint8 * _interfaceCommandLine
Definition: kyra_mr.h:228
Kyra::KyraEngine_MR::_currentTalkFile
int _currentTalkFile
Definition: kyra_mr.h:338
Kyra::Resource::createReadStream
Common::SeekableReadStream * createReadStream(const Common::String &file)
Definition: resource.cpp:337
Kyra::KyraEngine_MR::_sceneDatPalette
int8 _sceneDatPalette[45]
Definition: kyra_mr.h:368
Kyra::KyraEngine_MR::runSceneScript4
void runSceneScript4(int unk1)
Definition: scene_mr.cpp:741
Kyra::Screen_MR::getShapeFlag1
byte getShapeFlag1(int x, int y) override
Definition: screen_mr.cpp:63
Kyra::KyraEngine_v2::_sceneEnterX3
int _sceneEnterX3
Definition: kyra_v2.h:179
Kyra::KyraEngine_v2::_unk4
int _unk4
Definition: kyra_v2.h:360
Kyra::KyraEngine_MR::_malcolmShapeXOffset
int _malcolmShapeXOffset
Definition: kyra_mr.h:323
Kyra::Screen::updateScreen
void updateScreen()
Definition: screen.cpp:339
Common::fill
signed char * fill(signed char *first, signed char *last, Value val)
Definition: algorithm.h:83
Kyra::KyraEngine_v2::_sceneEnterY2
int _sceneEnterY2
Definition: kyra_v2.h:179
Kyra::KyraEngine_MR::setNextIdleAnimTimer
void setNextIdleAnimTimer()
Definition: timer_mr.cpp:97
Kyra::KyraEngine_MR::_malcolmShapeYOffset
int _malcolmShapeYOffset
Definition: kyra_mr.h:323
Common::Point::y
int16 y
The vertical part of the point.
Definition: rect.h:39
Graphics::palette
static const byte palette[]
Definition: macwindowmanager.cpp:40
Kyra::KyraEngine_MR::_sceneShapes
uint8 * _sceneShapes[20]
Definition: kyra_mr.h:333
system.h
Kyra::Palette::getData
uint8 * getData()
Gets raw access to the palette.
Definition: screen.h:339
Kyra::KyraEngine_v2::_sceneExit4
uint16 _sceneExit4
Definition: kyra_v2.h:178
y
y
Definition: soft_render_surface.inl:124
Kyra::KyraEngine_v2::_characterShapeFile
int _characterShapeFile
Definition: kyra_v2.h:263
Kyra::KyraEngine_v1::_tickLength
uint16 _tickLength
Definition: kyra_v1.h:312
Kyra::Screen::_curPage
int _curPage
Definition: screen.h:539
Kyra::KyraEngine_v2::AnimObj::xPos1
int16 xPos1
Definition: kyra_v2.h:109
Kyra::KyraEngine_MR::loadLanguageFile
int loadLanguageFile(const char *file, uint8 *&buffer)
Definition: kyra_mr.cpp:1234
Kyra::KyraEngine_v2::_currentScene
uint16 _currentScene
Definition: kyra_v2.h:176
Kyra::KyraEngine_MR::runSceneScript8
void runSceneScript8()
Definition: scene_mr.cpp:755
Kyra::KyraEngine_v2::_specialExitTable
uint16 _specialExitTable[25]
Definition: kyra_v2.h:182
Kyra::KyraEngine_v2::refreshAnimObjectsIfNeed
void refreshAnimObjectsIfNeed()
Definition: animator_v2.cpp:115
Kyra::KyraEngine_MR::snd_playWanderScoreViaMap
void snd_playWanderScoreViaMap(int track, int force) override
Definition: kyra_mr.cpp:404
Kyra::KyraEngine_MR::_paletteOverlay
uint8 * _paletteOverlay
Definition: kyra_mr.h:505
Kyra::Screen::setShapePages
void setShapePages(int page1, int page2, int minY=-1, int maxY=201)
Definition: screen.cpp:3002
Kyra::KyraEngine_v2::_sceneExit2
uint16 _sceneExit2
Definition: kyra_v2.h:178
Kyra::KyraEngine_MR::trySceneChange
int trySceneChange(int *moveTable, int unk1, int unk2) override
Definition: scene_mr.cpp:599
Kyra::KyraEngine_MR::_sceneShapeDescs
SceneShapeDesc _sceneShapeDescs[20]
Definition: kyra_mr.h:377
Kyra::EMCInterpreter::unload
void unload(EMCData *data)
Definition: script.cpp:135
Kyra::Screen::copyPalette
void copyPalette(const int dst, const int src)
Definition: screen.cpp:3062
Kyra::KyraEngine_v2::SceneDesc::sound
uint8 sound
Definition: kyra_v2.h:171
Kyra::Screen::getPalette
Palette & getPalette(int num)
Definition: screen.cpp:3057
Kyra::KyraEngine_MR::_chatAltFlag
bool _chatAltFlag
Definition: kyra_mr.h:441
Kyra::KyraEngine_v2::AnimObj::animNum
uint16 animNum
Definition: kyra_v2.h:112
Kyra::KyraEngine_v2::_mainCharY
int _mainCharY
Definition: kyra_v2.h:331
Kyra::KyraEngine_v2::SceneAnim::shapeIndex
int16 shapeIndex
Definition: kyra_v2.h:205
Kyra::EMCState::regs
int16 regs[30]
Definition: script.h:58
Kyra::KyraEngine_v2::ItemDefinition::y
uint8 y
Definition: kyra_v2.h:289
Kyra::KyraEngine_v1::_mouseX
int _mouseX
Definition: kyra_v1.h:276
Kyra::KyraEngine_v2::AnimObj
Definition: kyra_v2.h:101
Kyra::KyraEngine_MR::runSceneScript1
int runSceneScript1(int x, int y)
Definition: scene_mr.cpp:709
Kyra::KyraEngine_MR::_scaleTable
int _scaleTable[15]
Definition: kyra_mr.h:382
uint16
unsigned short uint16
Definition: cdtypes.h:27
Kyra::KyraEngine_v2::freeSceneAnims
void freeSceneAnims()
Definition: scene_v2.cpp:29
Kyra::KyraEngine_v2::SceneAnim::specialSize
uint16 specialSize
Definition: kyra_v2.h:204
Kyra::Screen::hideMouse
void hideMouse()
Definition: screen.cpp:2979
resource.h
Kyra::Screen::copyRegion
void copyRegion(int x1, int y1, int x2, int y2, int w, int h, int srcPage, int dstPage, int flags=0)
Definition: screen.cpp:961
if
if(!(yy_init))
Definition: lingo-lex.cpp:1069
Kyra::Screen::setMouseCursor
virtual void setMouseCursor(int x, int y, const byte *shape)
Definition: screen.cpp:3009
Kyra::KyraEngine_v2::_itemList
ItemDefinition * _itemList
Definition: kyra_v2.h:296
Kyra::KyraEngine_MR::_costPalBuffer
uint8 * _costPalBuffer
Definition: kyra_mr.h:504
Kyra::KyraEngine_MR::updateCharPal
void updateCharPal(int unk1)
Definition: kyra_mr.cpp:833
Kyra::KyraEngine_v2::AnimObj::shapePtr
uint8 * shapePtr
Definition: kyra_v2.h:110
Kyra::KyraEngine_v2::AnimObj::xPos2
int16 xPos2
Definition: kyra_v2.h:115
Kyra::KyraEngine_MR::_inventoryState
bool _inventoryState
Definition: kyra_mr.h:244
sound_digital_mr.h
Kyra::KyraEngine_v2::_sceneSpecialScripts
EMCState _sceneSpecialScripts[10]
Definition: kyra_v2.h:217
Kyra::Screen_MR::getLayer
int getLayer(int x, int y) override
Definition: screen_mr.cpp:35
Kyra::KyraEngine_MR::enterNewSceneUnk1
void enterNewSceneUnk1(int facing, int unk1, int unk2)
Definition: scene_mr.cpp:170
Kyra::Screen_v2::generateOverlay
uint8 * generateOverlay(const Palette &pal, uint8 *buffer, int color, uint weight, int maxColor=-1)
Definition: screen_v2.cpp:39
filename
Common::String filename
Definition: action.cpp:1197
Kyra::KyraEngine_v2::addToAnimListSorted
AnimObj * addToAnimListSorted(AnimObj *list, AnimObj *entry)
Definition: animator_v2.cpp:44
Kyra::KyraEngine_MR::drawAnimObjects
void drawAnimObjects() override
Definition: animator_mr.cpp:81
Kyra::KyraEngine_v2::AnimObj::needRefresh
uint16 needRefresh
Definition: kyra_v2.h:105
Kyra::KyraEngine_v2::ItemDefinition::id
Item id
Definition: kyra_v2.h:286
Kyra::Screen::CR_NO_P_CHECK
Definition: screen.h:364
Kyra::KyraEngine_v2::_sceneEnterY4
int _sceneEnterY4
Definition: kyra_v2.h:179
Kyra::KyraEngine_MR::openTalkFile
void openTalkFile(int file)
Definition: kyra_mr.cpp:692
Kyra::kDebugLevelSprites
debug level for "Sprites" functions
Definition: kyra_v1.h:150
Kyra::Screen::copyRegionToBuffer
void copyRegionToBuffer(int pageNum, int x, int y, int w, int h, uint8 *dest)
Definition: screen.cpp:1021
Kyra::Resource::exists
bool exists(const char *file, bool errorOutOnFail=false)
Definition: resource.cpp:308
Kyra::KyraEngine_MR::_sceneMaxX
int _sceneMaxX
Definition: kyra_mr.h:362
Kyra::Screen::loadBitmap
virtual void loadBitmap(const char *filename, int tempPage, int dstPage, Palette *pal, bool skip=false)
Definition: screen.cpp:3214