HOPKINS: Remove setParent() from GraphicsManager

This commit is contained in:
Strangerke 2013-03-20 07:36:06 +01:00
parent 852e65bd02
commit 6a446ff9d1
16 changed files with 1205 additions and 1207 deletions

View File

@ -59,7 +59,7 @@ void AnimationManager::playAnim(const Common::String &filename, uint32 rate1, ui
_vm->_eventsManager->mouseOff();
bool hasScreenCopy = false;
byte *screenP = _vm->_graphicsManager._vesaScreen;
byte *screenP = _vm->_graphicsManager->_vesaScreen;
Common::String tmpStr;
// The Windows 95 demo only contains the interlaced version of the BOMBE1 and BOMBE2 videos
@ -73,37 +73,37 @@ void AnimationManager::playAnim(const Common::String &filename, uint32 rate1, ui
error("File not found - %s", tmpStr.c_str());
f.skip(6);
f.read(_vm->_graphicsManager._palette, 800);
f.read(_vm->_graphicsManager->_palette, 800);
f.skip(4);
size_t nbytes = f.readUint32LE();
f.skip(14);
f.read(screenP, nbytes);
if (_clearAnimationFl) {
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager.clearScreen();
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager->lockScreen();
_vm->_graphicsManager->clearScreen();
_vm->_graphicsManager->unlockScreen();
}
if (_vm->_graphicsManager.WinScan / 2 > SCREEN_WIDTH) {
if (_vm->_graphicsManager->WinScan / 2 > SCREEN_WIDTH) {
hasScreenCopy = true;
screenCopy = _vm->_globals->allocMemory(307200);
memcpy(screenCopy, screenP, 307200);
}
if (NO_SEQ) {
if (hasScreenCopy)
memcpy(screenCopy, _vm->_graphicsManager._vesaBuffer, 307200);
_vm->_graphicsManager.setPaletteVGA256(_vm->_graphicsManager._palette);
memcpy(screenCopy, _vm->_graphicsManager->_vesaBuffer, 307200);
_vm->_graphicsManager->setPaletteVGA256(_vm->_graphicsManager->_palette);
} else {
_vm->_graphicsManager.setPaletteVGA256(_vm->_graphicsManager._palette);
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager->setPaletteVGA256(_vm->_graphicsManager->_palette);
_vm->_graphicsManager->lockScreen();
if (hasScreenCopy)
_vm->_graphicsManager.m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
else
_vm->_graphicsManager.m_scroll16(screenP, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager->m_scroll16(screenP, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager.addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager->updateScreen();
}
_vm->_eventsManager->_rateCounter = 0;
_vm->_eventsManager->_escKeyFl = false;
@ -148,19 +148,19 @@ void AnimationManager::playAnim(const Common::String &filename, uint32 rate1, ui
if (!_vm->_eventsManager->_escKeyFl) {
_vm->_eventsManager->_rateCounter = 0;
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager->lockScreen();
if (hasScreenCopy) {
if (*screenP != kByteStop) {
_vm->_graphicsManager.copyWinscanVbe3(screenP, screenCopy);
_vm->_graphicsManager.m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->copyWinscanVbe3(screenP, screenCopy);
_vm->_graphicsManager->m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
}
} else if (*screenP != kByteStop) {
_vm->_graphicsManager.copyVideoVbe16(screenP);
_vm->_graphicsManager->copyVideoVbe16(screenP);
}
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager.addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager->updateScreen();
_vm->_soundManager.checkSoundEnd();
}
}
@ -182,11 +182,11 @@ void AnimationManager::playAnim(const Common::String &filename, uint32 rate1, ui
_vm->_soundManager.checkSoundEnd();
}
if (_vm->_graphicsManager.FADE_LINUX == 2 && !hasScreenCopy) {
if (_vm->_graphicsManager->FADE_LINUX == 2 && !hasScreenCopy) {
screenCopy = _vm->_globals->allocMemory(307200);
f.seek(6);
f.read(_vm->_graphicsManager._palette, 800);
f.read(_vm->_graphicsManager->_palette, 800);
f.skip(4);
nbytes = f.readUint32LE();
f.skip(14);
@ -205,20 +205,20 @@ void AnimationManager::playAnim(const Common::String &filename, uint32 rate1, ui
f.read(screenP, READ_LE_UINT32(imageStr + 8));
if (*screenP != kByteStop)
_vm->_graphicsManager.copyWinscanVbe3(screenP, screenCopy);
_vm->_graphicsManager->copyWinscanVbe3(screenP, screenCopy);
}
_vm->_graphicsManager.fadeOutDefaultLength(screenCopy);
_vm->_graphicsManager->fadeOutDefaultLength(screenCopy);
screenCopy = _vm->_globals->freeMemory(screenCopy);
}
if (hasScreenCopy) {
if (_vm->_graphicsManager.FADE_LINUX == 2)
_vm->_graphicsManager.fadeOutDefaultLength(screenCopy);
if (_vm->_graphicsManager->FADE_LINUX == 2)
_vm->_graphicsManager->fadeOutDefaultLength(screenCopy);
screenCopy = _vm->_globals->freeMemory(screenCopy);
}
_vm->_graphicsManager.FADE_LINUX = 0;
_vm->_graphicsManager->FADE_LINUX = 0;
f.close();
_vm->_graphicsManager._skipVideoLockFl = false;
_vm->_graphicsManager->_skipVideoLockFl = false;
_vm->_eventsManager->mouseOn();
}
@ -239,58 +239,58 @@ void AnimationManager::playAnim2(const Common::String &filename, uint32 rate1, u
bool hasScreenCopy = false;
while (!_vm->shouldQuit()) {
memcpy(_vm->_graphicsManager._oldPalette, _vm->_graphicsManager._palette, 769);
memcpy(_vm->_graphicsManager->_oldPalette, _vm->_graphicsManager->_palette, 769);
if (_vm->_graphicsManager._lineNbr == SCREEN_WIDTH)
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager._vesaScreen, 307200);
else if (_vm->_graphicsManager._lineNbr == (SCREEN_WIDTH * 2))
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager._vesaScreen, 614400);
if (_vm->_graphicsManager->_lineNbr == SCREEN_WIDTH)
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager->_vesaScreen, 307200);
else if (_vm->_graphicsManager->_lineNbr == (SCREEN_WIDTH * 2))
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager->_vesaScreen, 614400);
if (!_vm->_graphicsManager._lineNbr)
_vm->_graphicsManager._scrollOffset = 0;
if (!_vm->_graphicsManager->_lineNbr)
_vm->_graphicsManager->_scrollOffset = 0;
screenP = _vm->_graphicsManager._vesaScreen;
screenP = _vm->_graphicsManager->_vesaScreen;
if (!f.open(filename))
error("Error opening file - %s", filename.c_str());
f.skip(6);
f.read(_vm->_graphicsManager._palette, 800);
f.read(_vm->_graphicsManager->_palette, 800);
f.skip(4);
size_t nbytes = f.readUint32LE();
f.skip(14);
f.read(screenP, nbytes);
_vm->_graphicsManager.clearPalette();
oldScrollPosX = _vm->_graphicsManager._scrollPosX;
_vm->_graphicsManager.setScreenWidth(SCREEN_WIDTH);
_vm->_graphicsManager.scrollScreen(0);
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager.clearScreen();
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager->clearPalette();
oldScrollPosX = _vm->_graphicsManager->_scrollPosX;
_vm->_graphicsManager->setScreenWidth(SCREEN_WIDTH);
_vm->_graphicsManager->scrollScreen(0);
_vm->_graphicsManager->lockScreen();
_vm->_graphicsManager->clearScreen();
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager._maxX = SCREEN_WIDTH;
if (_vm->_graphicsManager.WinScan / 2 > SCREEN_WIDTH) {
_vm->_graphicsManager->_maxX = SCREEN_WIDTH;
if (_vm->_graphicsManager->WinScan / 2 > SCREEN_WIDTH) {
hasScreenCopy = true;
screenCopy = _vm->_globals->allocMemory(307200);
memcpy(screenCopy, screenP, 307200);
}
if (NO_SEQ) {
if (hasScreenCopy)
memcpy(screenCopy, _vm->_graphicsManager._vesaBuffer, 307200);
_vm->_graphicsManager.setPaletteVGA256(_vm->_graphicsManager._palette);
memcpy(screenCopy, _vm->_graphicsManager->_vesaBuffer, 307200);
_vm->_graphicsManager->setPaletteVGA256(_vm->_graphicsManager->_palette);
} else {
_vm->_graphicsManager.setPaletteVGA256(_vm->_graphicsManager._palette);
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager->setPaletteVGA256(_vm->_graphicsManager->_palette);
_vm->_graphicsManager->lockScreen();
if (hasScreenCopy)
_vm->_graphicsManager.m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
else
_vm->_graphicsManager.m_scroll16(screenP, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->m_scroll16(screenP, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager.addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager->updateScreen();
}
_vm->_eventsManager->_rateCounter = 0;
_vm->_eventsManager->_escKeyFl = false;
@ -328,19 +328,19 @@ void AnimationManager::playAnim2(const Common::String &filename, uint32 rate1, u
}
_vm->_eventsManager->_rateCounter = 0;
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager->lockScreen();
if (*screenP != kByteStop) {
if (hasScreenCopy) {
_vm->_graphicsManager.copyWinscanVbe3(screenP, screenCopy);
_vm->_graphicsManager.m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->copyWinscanVbe3(screenP, screenCopy);
_vm->_graphicsManager->m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
} else {
_vm->_graphicsManager.copyVideoVbe16(screenP);
_vm->_graphicsManager->copyVideoVbe16(screenP);
}
}
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager.addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager->updateScreen();
_vm->_soundManager.checkSoundEnd();
}
@ -352,12 +352,12 @@ void AnimationManager::playAnim2(const Common::String &filename, uint32 rate1, u
}
}
_vm->_graphicsManager._skipVideoLockFl = false;
_vm->_graphicsManager->_skipVideoLockFl = false;
f.close();
if (_vm->_graphicsManager.FADE_LINUX == 2 && !hasScreenCopy) {
if (_vm->_graphicsManager->FADE_LINUX == 2 && !hasScreenCopy) {
f.seek(6);
f.read(_vm->_graphicsManager._palette, 800);
f.read(_vm->_graphicsManager->_palette, 800);
f.skip(4);
size_t nbytes = f.readUint32LE();
f.skip(14);
@ -376,46 +376,46 @@ void AnimationManager::playAnim2(const Common::String &filename, uint32 rate1, u
f.read(screenP, READ_LE_UINT32(imageStr + 8));
if (*screenP != kByteStop)
_vm->_graphicsManager.copyWinscanVbe3(screenP, ptra);
_vm->_graphicsManager->copyWinscanVbe3(screenP, ptra);
}
_vm->_graphicsManager.fadeOutDefaultLength(ptra);
_vm->_graphicsManager->fadeOutDefaultLength(ptra);
ptra = _vm->_globals->freeMemory(ptra);
}
if (hasScreenCopy) {
if (_vm->_graphicsManager.FADE_LINUX == 2)
_vm->_graphicsManager.fadeOutDefaultLength(screenCopy);
if (_vm->_graphicsManager->FADE_LINUX == 2)
_vm->_graphicsManager->fadeOutDefaultLength(screenCopy);
_vm->_globals->freeMemory(screenCopy);
}
_vm->_graphicsManager.FADE_LINUX = 0;
_vm->_graphicsManager->FADE_LINUX = 0;
_vm->_saveLoadManager.load("TEMP.SCR", _vm->_graphicsManager._vesaScreen);
_vm->_saveLoadManager.load("TEMP.SCR", _vm->_graphicsManager->_vesaScreen);
g_system->getSavefileManager()->removeSavefile("TEMP.SCR");
memcpy(_vm->_graphicsManager._palette, _vm->_graphicsManager._oldPalette, 769);
_vm->_graphicsManager.clearPalette();
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager.clearScreen();
_vm->_graphicsManager.unlockScreen();
memcpy(_vm->_graphicsManager->_palette, _vm->_graphicsManager->_oldPalette, 769);
_vm->_graphicsManager->clearPalette();
_vm->_graphicsManager->lockScreen();
_vm->_graphicsManager->clearScreen();
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager._scrollPosX = oldScrollPosX;
_vm->_graphicsManager.scrollScreen(oldScrollPosX);
if (_vm->_graphicsManager._largeScreenFl) {
_vm->_graphicsManager.setScreenWidth(2 * SCREEN_WIDTH);
_vm->_graphicsManager._maxX = 2 * SCREEN_WIDTH;
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager.m_scroll16(_vm->_graphicsManager._vesaBuffer, _vm->_eventsManager->_startPos.x, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->_scrollPosX = oldScrollPosX;
_vm->_graphicsManager->scrollScreen(oldScrollPosX);
if (_vm->_graphicsManager->_largeScreenFl) {
_vm->_graphicsManager->setScreenWidth(2 * SCREEN_WIDTH);
_vm->_graphicsManager->_maxX = 2 * SCREEN_WIDTH;
_vm->_graphicsManager->lockScreen();
_vm->_graphicsManager->m_scroll16(_vm->_graphicsManager->_vesaBuffer, _vm->_eventsManager->_startPos.x, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
} else {
_vm->_graphicsManager.setScreenWidth(SCREEN_WIDTH);
_vm->_graphicsManager._maxX = SCREEN_WIDTH;
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager.clearScreen();
_vm->_graphicsManager.m_scroll16(_vm->_graphicsManager._vesaBuffer, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->setScreenWidth(SCREEN_WIDTH);
_vm->_graphicsManager->_maxX = SCREEN_WIDTH;
_vm->_graphicsManager->lockScreen();
_vm->_graphicsManager->clearScreen();
_vm->_graphicsManager->m_scroll16(_vm->_graphicsManager->_vesaBuffer, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
}
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager.addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager->addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager.fadeInShort();
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->fadeInShort();
_vm->_graphicsManager->updateScreen();
_vm->_eventsManager->mouseOn();
}
@ -620,51 +620,51 @@ void AnimationManager::playSequence(const Common::String &file, uint32 rate1, ui
if (!NO_COUL) {
_vm->_eventsManager->refreshScreenAndEvents();
if (_vm->_graphicsManager._lineNbr == SCREEN_WIDTH)
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager._vesaScreen, 307200);
else if (_vm->_graphicsManager._lineNbr == (SCREEN_WIDTH * 2))
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager._vesaScreen, 614400);
if (!_vm->_graphicsManager._lineNbr)
_vm->_graphicsManager._scrollOffset = 0;
if (_vm->_graphicsManager->_lineNbr == SCREEN_WIDTH)
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager->_vesaScreen, 307200);
else if (_vm->_graphicsManager->_lineNbr == (SCREEN_WIDTH * 2))
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager->_vesaScreen, 614400);
if (!_vm->_graphicsManager->_lineNbr)
_vm->_graphicsManager->_scrollOffset = 0;
}
byte *screenP = _vm->_graphicsManager._vesaScreen;
byte *screenP = _vm->_graphicsManager->_vesaScreen;
Common::File f;
if (!f.open(file))
error("Error opening file - %s", file.c_str());
f.skip(6);
f.read(_vm->_graphicsManager._palette, 800);
f.read(_vm->_graphicsManager->_palette, 800);
f.skip(4);
size_t nbytes = f.readUint32LE();
f.skip(14);
f.read(screenP, nbytes);
byte *screenCopy = NULL;
if (_vm->_graphicsManager.WinScan / 2 > SCREEN_WIDTH) {
if (_vm->_graphicsManager->WinScan / 2 > SCREEN_WIDTH) {
hasScreenCopy = true;
screenCopy = _vm->_globals->allocMemory(307200);
memcpy(screenCopy, screenP, 307200);
}
if (NO_SEQ) {
if (hasScreenCopy)
memcpy(screenCopy, _vm->_graphicsManager._vesaBuffer, 307200);
memcpy(screenCopy, _vm->_graphicsManager->_vesaBuffer, 307200);
if (!_vm->getIsDemo()) {
_vm->_graphicsManager.SETCOLOR3(252, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(253, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(251, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(254, 0, 0, 0);
_vm->_graphicsManager->SETCOLOR3(252, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR3(253, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR3(251, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR3(254, 0, 0, 0);
}
_vm->_graphicsManager.setPaletteVGA256(_vm->_graphicsManager._palette);
_vm->_graphicsManager->setPaletteVGA256(_vm->_graphicsManager->_palette);
} else {
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager->lockScreen();
if (hasScreenCopy)
_vm->_graphicsManager.m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
else
_vm->_graphicsManager.m_scroll16(screenP, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager->m_scroll16(screenP, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager.addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager->updateScreen();
}
bool skipFl = false;
if (_vm->getIsDemo()) {
@ -685,7 +685,7 @@ void AnimationManager::playSequence(const Common::String &file, uint32 rate1, ui
}
} else {
if (NO_COUL)
_vm->_graphicsManager.fadeInDefaultLength(screenP);
_vm->_graphicsManager->fadeInDefaultLength(screenP);
_vm->_eventsManager->_rateCounter = 0;
_vm->_eventsManager->_escKeyFl = false;
_vm->_soundManager.loadAnimSound();
@ -734,19 +734,19 @@ void AnimationManager::playSequence(const Common::String &file, uint32 rate1, ui
break;
_vm->_eventsManager->_rateCounter = 0;
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager->lockScreen();
if (hasScreenCopy) {
if (*screenP != kByteStop) {
_vm->_graphicsManager.copyWinscanVbe(screenP, screenCopy);
_vm->_graphicsManager.m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->copyWinscanVbe(screenP, screenCopy);
_vm->_graphicsManager->m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
}
} else if (*screenP != kByteStop) {
_vm->_graphicsManager.copyVideoVbe16a(screenP);
_vm->_graphicsManager->copyVideoVbe16a(screenP);
}
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager.addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager->updateScreen();
_vm->_soundManager.checkSoundEnd();
}
}
@ -767,11 +767,11 @@ void AnimationManager::playSequence(const Common::String &file, uint32 rate1, ui
if (!skipFl)
_vm->_eventsManager->_rateCounter = 0;
_vm->_graphicsManager._skipVideoLockFl = false;
_vm->_graphicsManager->_skipVideoLockFl = false;
f.close();
if (!NO_COUL) {
_vm->_saveLoadManager.load("TEMP.SCR", _vm->_graphicsManager._vesaScreen);
_vm->_saveLoadManager.load("TEMP.SCR", _vm->_graphicsManager->_vesaScreen);
g_system->getSavefileManager()->removeSavefile("TEMP.SCR");
_vm->_eventsManager->_mouseFl = true;
@ -795,19 +795,19 @@ void AnimationManager::playSequence2(const Common::String &file, uint32 rate1, u
return;
_vm->_eventsManager->_mouseFl = false;
screenP = _vm->_graphicsManager._vesaScreen;
screenP = _vm->_graphicsManager->_vesaScreen;
if (!f.open(file))
error("File not found - %s", file.c_str());
f.skip(6);
f.read(_vm->_graphicsManager._palette, 800);
f.read(_vm->_graphicsManager->_palette, 800);
f.skip(4);
size_t nbytes = f.readUint32LE();
f.skip(14);
f.read(screenP, nbytes);
if (_vm->_graphicsManager.WinScan / 2 > SCREEN_WIDTH) {
if (_vm->_graphicsManager->WinScan / 2 > SCREEN_WIDTH) {
multiScreenFl = true;
screenCopy = _vm->_globals->allocMemory(307200);
memcpy((void *)screenCopy, screenP, 307200);
@ -815,20 +815,20 @@ void AnimationManager::playSequence2(const Common::String &file, uint32 rate1, u
if (NO_SEQ) {
if (multiScreenFl) {
assert(screenCopy != NULL);
memcpy((void *)screenCopy, _vm->_graphicsManager._vesaBuffer, 307200);
memcpy((void *)screenCopy, _vm->_graphicsManager->_vesaBuffer, 307200);
}
_vm->_graphicsManager.setPaletteVGA256(_vm->_graphicsManager._palette);
_vm->_graphicsManager->setPaletteVGA256(_vm->_graphicsManager->_palette);
} else {
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager.setPaletteVGA256(_vm->_graphicsManager._palette);
_vm->_graphicsManager->lockScreen();
_vm->_graphicsManager->setPaletteVGA256(_vm->_graphicsManager->_palette);
if (multiScreenFl)
_vm->_graphicsManager.m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
else
_vm->_graphicsManager.m_scroll16(screenP, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager->m_scroll16(screenP, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager.addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager->updateScreen();
}
_vm->_eventsManager->_rateCounter = 0;
_vm->_eventsManager->_escKeyFl = false;
@ -864,19 +864,19 @@ void AnimationManager::playSequence2(const Common::String &file, uint32 rate1, u
}
_vm->_eventsManager->_rateCounter = 0;
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager->lockScreen();
if (multiScreenFl) {
if (*screenP != kByteStop) {
_vm->_graphicsManager.copyWinscanVbe(screenP, screenCopy);
_vm->_graphicsManager.m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->copyWinscanVbe(screenP, screenCopy);
_vm->_graphicsManager->m_scroll16A(screenCopy, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
}
} else if (*screenP != kByteStop) {
_vm->_graphicsManager.copyVideoVbe16a(screenP);
_vm->_graphicsManager->copyVideoVbe16a(screenP);
}
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager.addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->addRefreshRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
_vm->_graphicsManager->updateScreen();
_vm->_soundManager.checkSoundEnd();
}
}
@ -891,11 +891,11 @@ void AnimationManager::playSequence2(const Common::String &file, uint32 rate1, u
_vm->_eventsManager->_rateCounter = 0;
if (_vm->_graphicsManager.FADE_LINUX == 2 && !multiScreenFl) {
if (_vm->_graphicsManager->FADE_LINUX == 2 && !multiScreenFl) {
byte *ptra = _vm->_globals->allocMemory(307200);
f.seek(6);
f.read(_vm->_graphicsManager._palette, 800);
f.read(_vm->_graphicsManager->_palette, 800);
f.skip(4);
size_t nbytes = f.readUint32LE();
f.skip(14);
@ -913,17 +913,17 @@ void AnimationManager::playSequence2(const Common::String &file, uint32 rate1, u
f.read(screenP, READ_LE_UINT32(imageStr + 8));
if (*screenP != kByteStop)
_vm->_graphicsManager.copyWinscanVbe(screenP, ptra);
_vm->_graphicsManager->copyWinscanVbe(screenP, ptra);
}
_vm->_graphicsManager.fadeOutDefaultLength(ptra);
_vm->_graphicsManager->fadeOutDefaultLength(ptra);
ptra = _vm->_globals->freeMemory(ptra);
}
if (multiScreenFl) {
if (_vm->_graphicsManager.FADE_LINUX == 2)
_vm->_graphicsManager.fadeOutDefaultLength(screenCopy);
if (_vm->_graphicsManager->FADE_LINUX == 2)
_vm->_graphicsManager->fadeOutDefaultLength(screenCopy);
_vm->_globals->freeMemory(screenCopy);
}
_vm->_graphicsManager.FADE_LINUX = 0;
_vm->_graphicsManager->FADE_LINUX = 0;
f.close();
_vm->_eventsManager->_mouseFl = true;

View File

@ -71,12 +71,12 @@ void ComputerManager::setVideoMode() {
* Sets up Textual entry mode
*/
void ComputerManager::setTextMode() {
_vm->_graphicsManager.clearPalette();
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager.clearScreen();
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager->clearPalette();
_vm->_graphicsManager->lockScreen();
_vm->_graphicsManager->clearScreen();
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager._lineNbr = SCREEN_WIDTH;
_vm->_graphicsManager->_lineNbr = SCREEN_WIDTH;
_vm->_fontManager->_font = _vm->_globals->freeMemory(_vm->_fontManager->_font);
Common::String filename = "STFONT.SPR";
@ -87,8 +87,8 @@ void ComputerManager::setTextMode() {
_vm->_fontManager->_fontFixedWidth = 8;
_vm->_fontManager->_fontFixedHeight = 8;
_vm->_graphicsManager.loadImage("WINTEXT");
_vm->_graphicsManager.fadeInLong();
_vm->_graphicsManager->loadImage("WINTEXT");
_vm->_graphicsManager->fadeInLong();
loadMenu();
_vm->_eventsManager->_mouseFl = false;
}
@ -97,8 +97,8 @@ void ComputerManager::setTextMode() {
* Clear the screen
*/
void ComputerManager::clearScreen() {
_vm->_graphicsManager.loadImage("WINTEXT");
_vm->_graphicsManager.fadeInLong();
_vm->_graphicsManager->loadImage("WINTEXT");
_vm->_graphicsManager->fadeInLong();
}
/**
@ -125,7 +125,7 @@ void ComputerManager::setTextPosition(int yp, int xp) {
*/
void ComputerManager::showComputer(ComputerEnum mode) {
_vm->_eventsManager->_escKeyFl = false;
_vm->_graphicsManager.resetDirtyRects();
_vm->_graphicsManager->resetDirtyRects();
setVideoMode();
setTextColor(4);
setTextPosition(2, 4);
@ -258,10 +258,10 @@ void ComputerManager::showComputer(ComputerEnum mode) {
}
}
}
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager.clearScreen();
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->lockScreen();
_vm->_graphicsManager->clearScreen();
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager->updateScreen();
restoreFBIRoom();
} else {
// Password doesn't match - Access Denied
@ -271,11 +271,11 @@ void ComputerManager::showComputer(ComputerEnum mode) {
_vm->_eventsManager->refreshScreenAndEvents();
_vm->_eventsManager->delay(1000);
memset(_vm->_graphicsManager._vesaBuffer, 0, 307199);
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager.clearScreen();
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager.updateScreen();
memset(_vm->_graphicsManager->_vesaBuffer, 0, 307199);
_vm->_graphicsManager->lockScreen();
_vm->_graphicsManager->clearScreen();
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager->updateScreen();
restoreFBIRoom();
_vm->_eventsManager->mouseOff();
}
@ -285,7 +285,7 @@ void ComputerManager::showComputer(ComputerEnum mode) {
else // Free access or Samantha
_vm->_globals->_exitId = 14;
_vm->_graphicsManager.resetDirtyRects();
_vm->_graphicsManager->resetDirtyRects();
}
static const char _englishText[] =
@ -423,14 +423,14 @@ void ComputerManager::displayMessage(int xp, int yp, int textIdx) {
_inputBuf[textIndex--] = 0;
x1 -= _vm->_fontManager->_fontFixedWidth;
x2 = x1 + 2 * _vm->_fontManager->_fontFixedWidth;
_vm->_graphicsManager.Copy_Mem(_vm->_graphicsManager._vesaScreen, x1, yp, 3 * _vm->_fontManager->_fontFixedWidth, 12, _vm->_graphicsManager._vesaBuffer, x1, yp);
_vm->_graphicsManager.addDirtyRect(x1, yp, x2, yp + 12);
_vm->_graphicsManager->Copy_Mem(_vm->_graphicsManager->_vesaScreen, x1, yp, 3 * _vm->_fontManager->_fontFixedWidth, 12, _vm->_graphicsManager->_vesaBuffer, x1, yp);
_vm->_graphicsManager->addDirtyRect(x1, yp, x2, yp + 12);
_vm->_fontManager->displayTextVesa(x1, yp, "_", 252);
}
if (mappedChar != '*') {
char newChar = mappedChar;
_vm->_graphicsManager.Copy_Mem(_vm->_graphicsManager._vesaScreen, x1, yp, _vm->_fontManager->_fontFixedWidth, 12, _vm->_graphicsManager._vesaBuffer, x1, yp);
_vm->_graphicsManager.addDirtyRect(x1, yp, _vm->_fontManager->_fontFixedWidth + x1, yp + 12);
_vm->_graphicsManager->Copy_Mem(_vm->_graphicsManager->_vesaScreen, x1, yp, _vm->_fontManager->_fontFixedWidth, 12, _vm->_graphicsManager->_vesaBuffer, x1, yp);
_vm->_graphicsManager->addDirtyRect(x1, yp, _vm->_fontManager->_fontFixedWidth + x1, yp + 12);
_inputBuf[textIndex] = newChar;
Common::String charString = Common::String::format("%c_", newChar);
@ -441,8 +441,8 @@ void ComputerManager::displayMessage(int xp, int yp, int textIdx) {
_vm->_eventsManager->refreshScreenAndEvents();
} while (textIndex != textIdx && curChar != 13);
_vm->_graphicsManager.Copy_Mem(_vm->_graphicsManager._vesaScreen, x1, yp, _vm->_fontManager->_fontFixedWidth, 12, _vm->_graphicsManager._vesaBuffer, x1, yp);
_vm->_graphicsManager.addDirtyRect(x1, yp, _vm->_fontManager->_fontFixedWidth + x1, yp + 12);
_vm->_graphicsManager->Copy_Mem(_vm->_graphicsManager->_vesaScreen, x1, yp, _vm->_fontManager->_fontFixedWidth, 12, _vm->_graphicsManager->_vesaBuffer, x1, yp);
_vm->_graphicsManager->addDirtyRect(x1, yp, _vm->_fontManager->_fontFixedWidth + x1, yp + 12);
_vm->_eventsManager->refreshScreenAndEvents();
_inputBuf[textIndex] = 0;
@ -545,9 +545,9 @@ void ComputerManager::displayGamesSubMenu() {
_ballRightFl = false;
_ballUpFl = false;
_breakoutLevelNbr = 0;
_vm->_graphicsManager._minY = 0;
_vm->_graphicsManager._maxX = 320;
_vm->_graphicsManager._maxY = 200;
_vm->_graphicsManager->_minY = 0;
_vm->_graphicsManager->_maxX = 320;
_vm->_graphicsManager->_maxY = 200;
_vm->_soundManager.loadSample(1, "SOUND37.WAV");
_vm->_soundManager.loadSample(2, "SOUND38.WAV");
_vm->_soundManager.loadSample(3, "SOUND39.WAV");
@ -556,10 +556,10 @@ void ComputerManager::displayGamesSubMenu() {
setModeVGA256();
newLevel();
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->updateScreen();
playBreakout();
_vm->_graphicsManager.resetDirtyRects();
_vm->_graphicsManager->resetDirtyRects();
_breakoutSpr = _vm->_globals->freeMemory(_breakoutSpr);
_breakoutLevel = (int16 *)_vm->_globals->freeMemory((byte *)_breakoutLevel);
_vm->_objectsManager._sprite[0]._spriteData = oldSpriteData;
@ -572,9 +572,9 @@ void ComputerManager::displayGamesSubMenu() {
setVideoMode();
setTextColor(15);
clearScreen();
_vm->_graphicsManager._maxX = 680;
_vm->_graphicsManager._minY = 0;
_vm->_graphicsManager._maxY = 460;
_vm->_graphicsManager->_maxX = 680;
_vm->_graphicsManager->_minY = 0;
_vm->_graphicsManager->_maxY = 460;
}
/**
@ -608,11 +608,11 @@ void ComputerManager::loadHiscore() {
* VGA 256 col
*/
void ComputerManager::setModeVGA256() {
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager.clearScreen();
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager.clearPalette();
_vm->_graphicsManager.setScreenWidth(320);
_vm->_graphicsManager->lockScreen();
_vm->_graphicsManager->clearScreen();
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager->clearPalette();
_vm->_graphicsManager->setScreenWidth(320);
}
/**
@ -624,7 +624,7 @@ void ComputerManager::newLevel() {
++_breakoutLives;
if (_breakoutLives > 11)
_breakoutLives = 11;
_vm->_graphicsManager.loadVgaImage("CASSEF.PCX");
_vm->_graphicsManager->loadVgaImage("CASSEF.PCX");
displayLives();
_breakoutLevel = (int16 *)_vm->_globals->freeMemory((byte *)_breakoutLevel);
@ -678,25 +678,25 @@ void ComputerManager::displayBricks() {
switch (cellType) {
case 1:
_vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 21);
_vm->_graphicsManager->AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 21);
break;
case 2:
_vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 22);
_vm->_graphicsManager->AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 22);
break;
case 3:
_vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 17);
_vm->_graphicsManager->AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 17);
break;
case 4:
_vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 20);
_vm->_graphicsManager->AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 20);
break;
case 5:
_vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 19);
_vm->_graphicsManager->AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 19);
break;
case 6:
_vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 18);
_vm->_graphicsManager->AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 18);
break;
case 31:
_vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 23);
_vm->_graphicsManager->AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellTop, 23);
break;
}
}
@ -709,12 +709,12 @@ void ComputerManager::displayBricks() {
*/
void ComputerManager::displayLives() {
for (int i = 0, xp = 10; i <= 11; i++, xp += 7)
_vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, xp, 10, 15);
_vm->_graphicsManager->AFFICHE_SPEEDVGA(_breakoutSpr, xp, 10, 15);
for (int i = 0, xp = 10; i < _breakoutLives - 1; i++, xp += 7)
_vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, xp, 10, 14);
_vm->_graphicsManager->AFFICHE_SPEEDVGA(_breakoutSpr, xp, 10, 14);
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->updateScreen();
}
/**
@ -730,9 +730,9 @@ void ComputerManager::playBreakout() {
_vm->_objectsManager.setSpriteY(1, 187);
_vm->_objectsManager.setSpriteX(1, _ballPosition.x);
_vm->_graphicsManager.resetDirtyRects();
_vm->_graphicsManager->resetDirtyRects();
_vm->_eventsManager->refreshScreenAndEvents();
_vm->_graphicsManager.fadeInBreakout();
_vm->_graphicsManager->fadeInBreakout();
// Wait for mouse press to start playing
do {
@ -776,7 +776,7 @@ void ComputerManager::playBreakout() {
continue;
}
_vm->_graphicsManager.fadeOutBreakout();
_vm->_graphicsManager->fadeOutBreakout();
_vm->_eventsManager->mouseOn();
_vm->_objectsManager.removeSprite(0);
_vm->_objectsManager.removeSprite(1);
@ -797,7 +797,7 @@ void ComputerManager::playBreakout() {
}
if (lastBreakoutEvent != 2)
return;
_vm->_graphicsManager.fadeOutBreakout();
_vm->_graphicsManager->fadeOutBreakout();
newLevel();
}
}
@ -807,14 +807,14 @@ void ComputerManager::playBreakout() {
* @return The selected button index: 1 = Game, 2 = Quit
*/
int ComputerManager::displayHiscores() {
_vm->_graphicsManager.resetDirtyRects();
_vm->_graphicsManager->resetDirtyRects();
loadHiscore();
_vm->_graphicsManager.loadVgaImage("HISCORE.PCX");
_vm->_graphicsManager->loadVgaImage("HISCORE.PCX");
byte *ptr = _vm->_fileManager->loadFile("ALPHA.SPR");
_vm->_graphicsManager.SETCOLOR3(252, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(253, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(251, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(254, 0, 0, 0);
_vm->_graphicsManager->SETCOLOR3(252, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR3(253, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR3(251, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR3(254, 0, 0, 0);
int yp;
int xp;
@ -832,8 +832,8 @@ int ComputerManager::displayHiscores() {
displayHiscoreLine(ptr, 9 * i + 199, yp, _score[scoreIndex]._score[i]);
}
_vm->_graphicsManager.fadeInBreakout();
_vm->_graphicsManager.resetDirtyRects();
_vm->_graphicsManager->fadeInBreakout();
_vm->_graphicsManager->resetDirtyRects();
int buttonIndex = 0;
do {
_vm->_eventsManager->refreshEvents();
@ -849,7 +849,7 @@ int ComputerManager::displayHiscores() {
} while (!buttonIndex && !_vm->shouldQuit());
_vm->_eventsManager->mouseOff();
_vm->_graphicsManager.fadeOutBreakout();
_vm->_graphicsManager->fadeOutBreakout();
_vm->_globals->freeMemory(ptr);
return buttonIndex;
}
@ -858,13 +858,13 @@ int ComputerManager::displayHiscores() {
* Display a screen to enter player name in the case of a new hiscore
*/
void ComputerManager::getScoreName() {
_vm->_graphicsManager.loadVgaImage("NAME.PCX");
_vm->_graphicsManager.SETCOLOR3(252, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(253, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(251, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(254, 0, 0, 0);
_vm->_graphicsManager->loadVgaImage("NAME.PCX");
_vm->_graphicsManager->SETCOLOR3(252, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR3(253, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR3(251, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR3(254, 0, 0, 0);
byte *ptr = _vm->_fileManager->loadFile("ALPHA.SPR");
_vm->_graphicsManager.fadeInBreakout();
_vm->_graphicsManager->fadeInBreakout();
for (int strPos = 0; strPos <= 4; strPos++) {
displayHiscoreLine(ptr, 9 * strPos + 140, 78, 1);
@ -892,7 +892,7 @@ void ComputerManager::getScoreName() {
for (int i = scoreLen, scorePos = 8; i >= 0; i--) {
_score[5]._score.setChar(score[i], scorePos--);
}
_vm->_graphicsManager.fadeOutBreakout();
_vm->_graphicsManager->fadeOutBreakout();
_vm->_globals->freeMemory(ptr);
saveScore();
}
@ -941,7 +941,7 @@ void ComputerManager::displayScoreChar(int charPos, int charDisp) {
if (charDisp >= '0' && charDisp <= '9')
idx = charDisp - 45;
_vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, xp, 11, idx);
_vm->_graphicsManager->AFFICHE_SPEEDVGA(_breakoutSpr, xp, 11, idx);
}
/**
@ -1010,7 +1010,7 @@ void ComputerManager::displayHiscoreLine(byte *objectData, int x, int y, int cur
idx = curChar - 'A' + 10;
else if (curChar == 1)
idx = 37;
_vm->_graphicsManager.AFFICHE_SPEEDVGA(objectData, x, y, idx);
_vm->_graphicsManager->AFFICHE_SPEEDVGA(objectData, x, y, idx);
}
/**
@ -1183,7 +1183,7 @@ void ComputerManager::checkBallCollisions() {
_vm->_soundManager.playSample(2, 6);
} else {
_vm->_soundManager.playSample(1, 5);
_vm->_graphicsManager.AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellUp, 16);
_vm->_graphicsManager->AFFICHE_SPEEDVGA(_breakoutSpr, cellLeft, cellUp, 16);
switch (cellType) {
case 1:
_breakoutScore += 10;

View File

@ -40,7 +40,7 @@ bool Debugger::cmd_DirtyRects(int argc, const char **argv) {
DebugPrintf("%s: [on | off]\n", argv[0]);
return true;
} else {
_vm->_graphicsManager._showDirtyRects = !strcmp(argv[1], "on");
_vm->_graphicsManager->_showDirtyRects = !strcmp(argv[1], "on");
return false;
}
}

View File

@ -72,7 +72,7 @@ void DialogsManager::showOptionsDialog() {
_vm->_globals->_optionDialogSpr = _vm->_fileManager->loadFile(filename);
_vm->_globals->_optionDialogFl = true;
int scrollOffset = _vm->_graphicsManager._scrollOffset;
int scrollOffset = _vm->_graphicsManager->_scrollOffset;
bool doneFlag = false;
do {
if (_vm->_eventsManager->getMouseButton()) {
@ -196,45 +196,45 @@ void DialogsManager::showOptionsDialog() {
if (mousePos.x >= scrollOffset + 355 && mousePos.y > 285 && mousePos.x <= scrollOffset + 490 && mousePos.y <= 310)
doneFlag = true;
if (mousePos.x >= scrollOffset + 300 && mousePos.y > 194 && mousePos.x <= scrollOffset + 358 && mousePos.y <= 219) {
switch (_vm->_graphicsManager._scrollSpeed) {
switch (_vm->_graphicsManager->_scrollSpeed) {
case 1:
_vm->_graphicsManager._scrollSpeed = 2;
_vm->_graphicsManager->_scrollSpeed = 2;
break;
case 2:
_vm->_graphicsManager._scrollSpeed = 4;
_vm->_graphicsManager->_scrollSpeed = 4;
break;
case 4:
_vm->_graphicsManager._scrollSpeed = 8;
_vm->_graphicsManager->_scrollSpeed = 8;
break;
case 8:
_vm->_graphicsManager._scrollSpeed = 16;
_vm->_graphicsManager->_scrollSpeed = 16;
break;
case 16:
_vm->_graphicsManager._scrollSpeed = 32;
_vm->_graphicsManager->_scrollSpeed = 32;
break;
case 32:
_vm->_graphicsManager._scrollSpeed = 48;
_vm->_graphicsManager->_scrollSpeed = 48;
break;
case 48:
_vm->_graphicsManager._scrollSpeed = 64;
_vm->_graphicsManager->_scrollSpeed = 64;
break;
case 64:
_vm->_graphicsManager._scrollSpeed = 128;
_vm->_graphicsManager->_scrollSpeed = 128;
break;
case 128:
_vm->_graphicsManager._scrollSpeed = 160;
_vm->_graphicsManager->_scrollSpeed = 160;
break;
case 160:
_vm->_graphicsManager._scrollSpeed = 320;
_vm->_graphicsManager->_scrollSpeed = 320;
break;
case 320:
_vm->_graphicsManager._scrollSpeed = 1;
_vm->_graphicsManager->_scrollSpeed = 1;
break;
}
}
// Values are blocked, thus handling the zone is useless
//if (mousePos.x >= _vm->_graphicsManager.ofscroll + 348 && mousePos.y > 248 && mousePos.x <= _vm->_graphicsManager.ofscroll + 394 && mousePos.y <= 273)
//if (mousePos.x >= _vm->_graphicsManager->ofscroll + 348 && mousePos.y > 248 && mousePos.x <= _vm->_graphicsManager->ofscroll + 394 && mousePos.y <= 273)
// _vm->_globals->_speed = 2;
if ( mousePos.x < scrollOffset + 165 || mousePos.x > scrollOffset + 496
@ -256,7 +256,7 @@ void DialogsManager::showOptionsDialog() {
_vm->_globals->_menuDisplayType = 9;
switch (_vm->_graphicsManager._scrollSpeed) {
switch (_vm->_graphicsManager->_scrollSpeed) {
case 1:
_vm->_globals->_menuScrollSpeed = 12;
break;
@ -298,9 +298,9 @@ void DialogsManager::showOptionsDialog() {
_vm->_eventsManager->refreshScreenAndEvents();
} while (!doneFlag);
_vm->_graphicsManager.copySurface(_vm->_graphicsManager._vesaScreen, scrollOffset + 164,
107, 335, 215, _vm->_graphicsManager._vesaBuffer, scrollOffset + 164, 107);
_vm->_graphicsManager.addDirtyRect(scrollOffset + 164, 107, scrollOffset + 498, 320);
_vm->_graphicsManager->copySurface(_vm->_graphicsManager->_vesaScreen, scrollOffset + 164,
107, 335, 215, _vm->_graphicsManager->_vesaBuffer, scrollOffset + 164, 107);
_vm->_graphicsManager->addDirtyRect(scrollOffset + 164, 107, scrollOffset + 498, 320);
_vm->_globals->_optionDialogSpr = _vm->_globals->freeMemory(_vm->_globals->_optionDialogSpr);
_vm->_globals->_optionDialogFl = false;
@ -310,7 +310,7 @@ void DialogsManager::showInventory() {
if (_removeInventFl || _inventDisplayedFl || _vm->_globals->_disableInventFl)
return;
_vm->_graphicsManager._scrollStatus = 1;
_vm->_graphicsManager->_scrollStatus = 1;
_vm->_objectsManager._eraseVisibleCounter = 4;
_vm->_objectsManager._visibleFl = false;
for (int i = 0; i <= 1; i++) {
@ -327,7 +327,7 @@ void DialogsManager::showInventory() {
_vm->_eventsManager->_curMouseButton = 0;
_vm->_eventsManager->_mouseButton = 0;
_vm->_globals->_disableInventFl = true;
_vm->_graphicsManager.SETCOLOR4(251, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR4(251, 100, 100, 100);
Common::String filename;
if (_vm->getPlatform() == Common::kPlatformOS2 || _vm->getPlatform() == Common::kPlatformBeOS)
@ -357,12 +357,12 @@ void DialogsManager::showInventory() {
_inventBuf2 = _vm->_fileManager->loadFile("INVENT2.SPR");
_inventX = _vm->_graphicsManager._scrollOffset + 152;
_inventX = _vm->_graphicsManager->_scrollOffset + 152;
_inventY = 114;
_inventWidth = _vm->_objectsManager.getWidth(_inventWin1, 0);
_inventHeight = _vm->_objectsManager.getHeight(_inventWin1, 0);
_vm->_graphicsManager.Affiche_Perfect(_vm->_graphicsManager._vesaBuffer, _inventWin1, _inventX + 300, 414, 0, 0, 0, false);
_vm->_graphicsManager->Affiche_Perfect(_vm->_graphicsManager->_vesaBuffer, _inventWin1, _inventX + 300, 414, 0, 0, 0, false);
int curPosY = 0;
int inventCount = 0;
for (int inventLine = 1; inventLine <= 5; inventLine++) {
@ -373,7 +373,7 @@ void DialogsManager::showInventory() {
// The last two zones are not reserved for the inventory: Options and Save/Load
if (inventIdx && inventCount <= 29) {
byte *obj = _vm->_objectsManager.loadObjectFromFile(inventIdx, false);
_vm->_graphicsManager.restoreSurfaceRect(_vm->_graphicsManager._vesaBuffer, obj, _inventX + curPosX + 6,
_vm->_graphicsManager->restoreSurfaceRect(_vm->_graphicsManager->_vesaBuffer, obj, _inventX + curPosX + 6,
curPosY + 120, _vm->_globals->_objectWidth, _vm->_globals->_objectHeight);
_vm->_globals->freeMemory(obj);
}
@ -381,7 +381,7 @@ void DialogsManager::showInventory() {
};
curPosY += 38;
}
_vm->_graphicsManager.copySurfaceRect(_vm->_graphicsManager._vesaBuffer, _inventWin1, _inventX, _inventY, _inventWidth, _inventHeight);
_vm->_graphicsManager->copySurfaceRect(_vm->_graphicsManager->_vesaBuffer, _inventWin1, _inventX, _inventY, _inventWidth, _inventHeight);
_vm->_eventsManager->_curMouseButton = 0;
int newInventoryItem = 0;
@ -449,8 +449,8 @@ void DialogsManager::showInventory() {
_vm->_fontManager->hideText(9);
if (_inventDisplayedFl) {
_inventDisplayedFl = false;
_vm->_graphicsManager.copySurface(_vm->_graphicsManager._vesaScreen, _inventX, 114, _inventWidth, _inventHeight, _vm->_graphicsManager._vesaBuffer, _inventX, 114);
_vm->_graphicsManager.addDirtyRect(_inventX, 114, _inventX + _inventWidth, _inventWidth + 114);
_vm->_graphicsManager->copySurface(_vm->_graphicsManager->_vesaScreen, _inventX, 114, _inventWidth, _inventHeight, _vm->_graphicsManager->_vesaBuffer, _inventX, 114);
_vm->_graphicsManager->addDirtyRect(_inventX, 114, _inventX + _inventWidth, _inventWidth + 114);
_vm->_objectsManager.BOBTOUS = true;
}
@ -469,7 +469,7 @@ void DialogsManager::showInventory() {
_vm->_objectsManager._oldBorderPos = Common::Point(0, 0);
_vm->_objectsManager._borderPos = Common::Point(0, 0);
_vm->_globals->_disableInventFl = false;
_vm->_graphicsManager._scrollStatus = 0;
_vm->_graphicsManager->_scrollStatus = 0;
}
/**
@ -480,41 +480,41 @@ void DialogsManager::inventAnim() {
return;
if (_vm->_objectsManager._eraseVisibleCounter && !_vm->_objectsManager._visibleFl) {
_vm->_graphicsManager.copySurface(_vm->_graphicsManager._vesaScreen, _vm->_objectsManager._oldInventoryPosX, 27, 48, 38,
_vm->_graphicsManager._vesaBuffer, _vm->_objectsManager._oldInventoryPosX, 27);
_vm->_graphicsManager.addDirtyRect(_vm->_objectsManager._oldInventoryPosX, 27, _vm->_objectsManager._oldInventoryPosX + 48, 65);
_vm->_graphicsManager->copySurface(_vm->_graphicsManager->_vesaScreen, _vm->_objectsManager._oldInventoryPosX, 27, 48, 38,
_vm->_graphicsManager->_vesaBuffer, _vm->_objectsManager._oldInventoryPosX, 27);
_vm->_graphicsManager->addDirtyRect(_vm->_objectsManager._oldInventoryPosX, 27, _vm->_objectsManager._oldInventoryPosX + 48, 65);
--_vm->_objectsManager._eraseVisibleCounter;
}
if (_vm->_objectsManager._visibleFl) {
if (_vm->_objectsManager._oldInventoryPosX <= 1)
_vm->_objectsManager._oldInventoryPosX = 2;
_vm->_graphicsManager.copySurface(_vm->_graphicsManager._vesaScreen, _vm->_objectsManager._oldInventoryPosX, 27, 48, 38,
_vm->_graphicsManager._vesaBuffer, _vm->_objectsManager._oldInventoryPosX, 27);
_vm->_graphicsManager->copySurface(_vm->_graphicsManager->_vesaScreen, _vm->_objectsManager._oldInventoryPosX, 27, 48, 38,
_vm->_graphicsManager->_vesaBuffer, _vm->_objectsManager._oldInventoryPosX, 27);
_vm->_graphicsManager.addDirtyRect(_vm->_objectsManager._oldInventoryPosX, 27, _vm->_objectsManager._oldInventoryPosX + 48, 65);
int newOffset = _vm->_graphicsManager._scrollOffset + 2;
_vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _inventoryIcons, newOffset + 300, 327, 0);
_vm->_graphicsManager.addDirtyRect(newOffset, 27, newOffset + 45, 62);
_vm->_graphicsManager->addDirtyRect(_vm->_objectsManager._oldInventoryPosX, 27, _vm->_objectsManager._oldInventoryPosX + 48, 65);
int newOffset = _vm->_graphicsManager->_scrollOffset + 2;
_vm->_graphicsManager->Sprite_Vesa(_vm->_graphicsManager->_vesaBuffer, _inventoryIcons, newOffset + 300, 327, 0);
_vm->_graphicsManager->addDirtyRect(newOffset, 27, newOffset + 45, 62);
_vm->_objectsManager._oldInventoryPosX = newOffset;
}
if (_vm->_globals->_saveData->_data[svField357] == 1) {
if (_vm->_globals->_saveData->_data[svField353] == 1)
_vm->_graphicsManager.Affiche_Perfect(_vm->_graphicsManager._vesaBuffer, _vm->_objectsManager._headSprites, 832, 325, 0, 0, 0, false);
_vm->_graphicsManager->Affiche_Perfect(_vm->_graphicsManager->_vesaBuffer, _vm->_objectsManager._headSprites, 832, 325, 0, 0, 0, false);
if (_vm->_globals->_saveData->_data[svField355] == 1)
_vm->_graphicsManager.Affiche_Perfect(_vm->_graphicsManager._vesaBuffer, _vm->_objectsManager._headSprites, 866, 325, 1, 0, 0, false);
_vm->_graphicsManager.addDirtyRect(532, 25, 560, 60);
_vm->_graphicsManager.addDirtyRect(566, 25, 594, 60);
_vm->_graphicsManager->Affiche_Perfect(_vm->_graphicsManager->_vesaBuffer, _vm->_objectsManager._headSprites, 866, 325, 1, 0, 0, false);
_vm->_graphicsManager->addDirtyRect(532, 25, 560, 60);
_vm->_graphicsManager->addDirtyRect(566, 25, 594, 60);
}
if (_vm->_globals->_saveData->_data[svField356] == 1) {
_vm->_graphicsManager.Affiche_Perfect(_vm->_graphicsManager._vesaBuffer, _vm->_objectsManager._headSprites, 832, 325, 0, 0, 0, false);
_vm->_graphicsManager.addDirtyRect(532, 25, 560, 60);
_vm->_graphicsManager->Affiche_Perfect(_vm->_graphicsManager->_vesaBuffer, _vm->_objectsManager._headSprites, 832, 325, 0, 0, 0, false);
_vm->_graphicsManager->addDirtyRect(532, 25, 560, 60);
}
if (_vm->_globals->_saveData->_data[svField354] == 1) {
_vm->_graphicsManager.Affiche_Perfect(_vm->_graphicsManager._vesaBuffer, _vm->_objectsManager._headSprites, 832, 325, 0, 0, 0, false);
_vm->_graphicsManager.addDirtyRect(532, 25, 560, 60);
_vm->_graphicsManager->Affiche_Perfect(_vm->_graphicsManager->_vesaBuffer, _vm->_objectsManager._headSprites, 832, 325, 0, 0, 0, false);
_vm->_graphicsManager->addDirtyRect(532, 25, 560, 60);
}
}
@ -537,19 +537,19 @@ void DialogsManager::testDialogOpening() {
showInventory();
break;
case KEY_OPTIONS:
_vm->_graphicsManager._scrollStatus = 1;
_vm->_graphicsManager->_scrollStatus = 1;
showOptionsDialog();
_vm->_graphicsManager._scrollStatus = 0;
_vm->_graphicsManager->_scrollStatus = 0;
break;
case KEY_LOAD:
_vm->_graphicsManager._scrollStatus = 1;
_vm->_graphicsManager->_scrollStatus = 1;
showLoadGame();
_vm->_graphicsManager._scrollStatus = 0;
_vm->_graphicsManager->_scrollStatus = 0;
break;
case KEY_SAVE:
_vm->_graphicsManager._scrollStatus = 1;
_vm->_graphicsManager->_scrollStatus = 1;
showSaveGame();
_vm->_graphicsManager._scrollStatus = 0;
_vm->_graphicsManager->_scrollStatus = 0;
break;
default:
break;
@ -572,8 +572,8 @@ void DialogsManager::showLoadGame() {
_vm->_eventsManager->refreshScreenAndEvents();
} while (!_vm->shouldQuit() && (!slotNumber || _vm->_eventsManager->getMouseButton() != 1));
_vm->_objectsManager._saveLoadFl = false;
_vm->_graphicsManager.copySurface(_vm->_graphicsManager._vesaScreen, _vm->_eventsManager->_startPos.x + 183, 60, 274, 353, _vm->_graphicsManager._vesaBuffer, _vm->_eventsManager->_startPos.x + 183, 60);
_vm->_graphicsManager.addDirtyRect(_vm->_eventsManager->_startPos.x + 183, 60, 457, 413);
_vm->_graphicsManager->copySurface(_vm->_graphicsManager->_vesaScreen, _vm->_eventsManager->_startPos.x + 183, 60, 274, 353, _vm->_graphicsManager->_vesaBuffer, _vm->_eventsManager->_startPos.x + 183, 60);
_vm->_graphicsManager->addDirtyRect(_vm->_eventsManager->_startPos.x + 183, 60, 457, 413);
_vm->_objectsManager.BOBTOUS = true;
_vm->_objectsManager._saveLoadSprite = _vm->_globals->freeMemory(_vm->_objectsManager._saveLoadSprite);
_vm->_objectsManager._saveLoadSprite2 = _vm->_globals->freeMemory(_vm->_objectsManager._saveLoadSprite2);
@ -601,8 +601,8 @@ void DialogsManager::showSaveGame() {
} while (!_vm->shouldQuit() && (!slotNumber || _vm->_eventsManager->getMouseButton() != 1));
_vm->_objectsManager._saveLoadFl = false;
_vm->_graphicsManager.copySurface(_vm->_graphicsManager._vesaScreen, _vm->_eventsManager->_startPos.x + 183, 60, 274, 353, _vm->_graphicsManager._vesaBuffer, _vm->_eventsManager->_startPos.x + 183, 60);
_vm->_graphicsManager.addDirtyRect(_vm->_eventsManager->_startPos.x + 183, 60, _vm->_eventsManager->_startPos.x + 457, 413);
_vm->_graphicsManager->copySurface(_vm->_graphicsManager->_vesaScreen, _vm->_eventsManager->_startPos.x + 183, 60, 274, 353, _vm->_graphicsManager->_vesaBuffer, _vm->_eventsManager->_startPos.x + 183, 60);
_vm->_graphicsManager->addDirtyRect(_vm->_eventsManager->_startPos.x + 183, 60, _vm->_eventsManager->_startPos.x + 457, 413);
_vm->_objectsManager.BOBTOUS = true;
_vm->_objectsManager._saveLoadSprite = _vm->_globals->freeMemory(_vm->_objectsManager._saveLoadSprite);
_vm->_objectsManager._saveLoadSprite2 = _vm->_globals->freeMemory(_vm->_objectsManager._saveLoadSprite2);
@ -642,18 +642,18 @@ void DialogsManager::showSaveLoad(SaveLoadMode mode) {
_vm->_objectsManager._saveLoadSprite = _vm->_objectsManager.loadSprite(filename);
_vm->_objectsManager._saveLoadSprite2 = _vm->_objectsManager.loadSprite("SAVE2.SPR");
_vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_objectsManager._saveLoadSprite, _vm->_eventsManager->_startPos.x + 483, 360, 0);
_vm->_graphicsManager->Sprite_Vesa(_vm->_graphicsManager->_vesaBuffer, _vm->_objectsManager._saveLoadSprite, _vm->_eventsManager->_startPos.x + 483, 360, 0);
if (_vm->_globals->_language == LANG_FR) {
if (mode == MODE_SAVE)
_vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_objectsManager._saveLoadSprite, _vm->_eventsManager->_startPos.x + 525, 375, 1);
_vm->_graphicsManager->Sprite_Vesa(_vm->_graphicsManager->_vesaBuffer, _vm->_objectsManager._saveLoadSprite, _vm->_eventsManager->_startPos.x + 525, 375, 1);
else if (mode == MODE_LOAD)
_vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_objectsManager._saveLoadSprite, _vm->_eventsManager->_startPos.x + 515, 375, 2);
_vm->_graphicsManager->Sprite_Vesa(_vm->_graphicsManager->_vesaBuffer, _vm->_objectsManager._saveLoadSprite, _vm->_eventsManager->_startPos.x + 515, 375, 2);
} else {
if (mode == MODE_SAVE)
_vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_objectsManager._saveLoadSprite, _vm->_eventsManager->_startPos.x + 535, 372, 1);
_vm->_graphicsManager->Sprite_Vesa(_vm->_graphicsManager->_vesaBuffer, _vm->_objectsManager._saveLoadSprite, _vm->_eventsManager->_startPos.x + 535, 372, 1);
else if (mode == MODE_LOAD)
_vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_objectsManager._saveLoadSprite, _vm->_eventsManager->_startPos.x + 539, 372, 2);
_vm->_graphicsManager->Sprite_Vesa(_vm->_graphicsManager->_vesaBuffer, _vm->_objectsManager._saveLoadSprite, _vm->_eventsManager->_startPos.x + 539, 372, 2);
}
for (int slotNumber = 1; slotNumber <= 6; ++slotNumber) {
@ -666,22 +666,22 @@ void DialogsManager::showSaveLoad(SaveLoadMode mode) {
switch (slotNumber) {
case 1:
_vm->_graphicsManager.restoreSurfaceRect(_vm->_graphicsManager._vesaBuffer, thumb, _vm->_eventsManager->_startPos.x + 190, 112, 128, 87);
_vm->_graphicsManager->restoreSurfaceRect(_vm->_graphicsManager->_vesaBuffer, thumb, _vm->_eventsManager->_startPos.x + 190, 112, 128, 87);
break;
case 2:
_vm->_graphicsManager.restoreSurfaceRect(_vm->_graphicsManager._vesaBuffer, thumb, _vm->_eventsManager->_startPos.x + 323, 112, 128, 87);
_vm->_graphicsManager->restoreSurfaceRect(_vm->_graphicsManager->_vesaBuffer, thumb, _vm->_eventsManager->_startPos.x + 323, 112, 128, 87);
break;
case 3:
_vm->_graphicsManager.restoreSurfaceRect(_vm->_graphicsManager._vesaBuffer, thumb, _vm->_eventsManager->_startPos.x + 190, 203, 128, 87);
_vm->_graphicsManager->restoreSurfaceRect(_vm->_graphicsManager->_vesaBuffer, thumb, _vm->_eventsManager->_startPos.x + 190, 203, 128, 87);
break;
case 4:
_vm->_graphicsManager.restoreSurfaceRect(_vm->_graphicsManager._vesaBuffer, thumb, _vm->_eventsManager->_startPos.x + 323, 203, 128, 87);
_vm->_graphicsManager->restoreSurfaceRect(_vm->_graphicsManager->_vesaBuffer, thumb, _vm->_eventsManager->_startPos.x + 323, 203, 128, 87);
break;
case 5:
_vm->_graphicsManager.restoreSurfaceRect(_vm->_graphicsManager._vesaBuffer, thumb, _vm->_eventsManager->_startPos.x + 190, 294, 128, 87);
_vm->_graphicsManager->restoreSurfaceRect(_vm->_graphicsManager->_vesaBuffer, thumb, _vm->_eventsManager->_startPos.x + 190, 294, 128, 87);
break;
case 6:
_vm->_graphicsManager.restoreSurfaceRect(_vm->_graphicsManager._vesaBuffer, thumb, _vm->_eventsManager->_startPos.x + 323, 294, 128, 87);
_vm->_graphicsManager->restoreSurfaceRect(_vm->_graphicsManager->_vesaBuffer, thumb, _vm->_eventsManager->_startPos.x + 323, 294, 128, 87);
break;
}
@ -691,7 +691,7 @@ void DialogsManager::showSaveLoad(SaveLoadMode mode) {
}
}
_vm->_graphicsManager.copySurfaceRect(_vm->_graphicsManager._vesaBuffer, _vm->_objectsManager._saveLoadSprite, _vm->_eventsManager->_startPos.x + 183, 60, 274, 353);
_vm->_graphicsManager->copySurfaceRect(_vm->_graphicsManager->_vesaBuffer, _vm->_objectsManager._saveLoadSprite, _vm->_eventsManager->_startPos.x + 183, 60, 274, 353);
_vm->_objectsManager._saveLoadFl = true;
_vm->_objectsManager._saveLoadX = 0;
_vm->_objectsManager._saveLoadY = 0;
@ -704,7 +704,7 @@ int DialogsManager::searchSavegames() {
int xp = _vm->_eventsManager->getMouseX();
int yp = _vm->_eventsManager->getMouseY();
_vm->_graphicsManager._scrollOffset = _vm->_eventsManager->_startPos.x;
_vm->_graphicsManager->_scrollOffset = _vm->_eventsManager->_startPos.x;
int slotNumber = 0;
if (yp >= 112 && yp <= 198) {
@ -712,32 +712,32 @@ int DialogsManager::searchSavegames() {
slotNumber = 1;
_vm->_objectsManager._saveLoadX = 189;
_vm->_objectsManager._saveLoadY = 111;
} else if (xp > _vm->_graphicsManager._scrollOffset + 322 && xp < _vm->_graphicsManager._scrollOffset + 452) {
} else if (xp > _vm->_graphicsManager->_scrollOffset + 322 && xp < _vm->_graphicsManager->_scrollOffset + 452) {
slotNumber = 2;
_vm->_objectsManager._saveLoadX = 322;
_vm->_objectsManager._saveLoadY = 111;
}
} else if (yp >= 203 && yp <= 289) {
if (xp > _vm->_graphicsManager._scrollOffset + 189 && xp < _vm->_graphicsManager._scrollOffset + 318) {
if (xp > _vm->_graphicsManager->_scrollOffset + 189 && xp < _vm->_graphicsManager->_scrollOffset + 318) {
slotNumber = 3;
_vm->_objectsManager._saveLoadX = 189;
_vm->_objectsManager._saveLoadY = 202;
} else if (xp > _vm->_graphicsManager._scrollOffset + 322 && xp < _vm->_graphicsManager._scrollOffset + 452) {
} else if (xp > _vm->_graphicsManager->_scrollOffset + 322 && xp < _vm->_graphicsManager->_scrollOffset + 452) {
slotNumber = 4;
_vm->_objectsManager._saveLoadX = 322;
_vm->_objectsManager._saveLoadY = 202;
}
} else if (yp >= 294 && yp <= 380) {
if (xp > _vm->_graphicsManager._scrollOffset + 189 && xp < _vm->_graphicsManager._scrollOffset + 318) {
if (xp > _vm->_graphicsManager->_scrollOffset + 189 && xp < _vm->_graphicsManager->_scrollOffset + 318) {
slotNumber = 5;
_vm->_objectsManager._saveLoadX = 189;
_vm->_objectsManager._saveLoadY = 293;
} else if (xp > _vm->_graphicsManager._scrollOffset + 322 && xp < _vm->_graphicsManager._scrollOffset + 452) {
} else if (xp > _vm->_graphicsManager->_scrollOffset + 322 && xp < _vm->_graphicsManager->_scrollOffset + 452) {
slotNumber = 6;
_vm->_objectsManager._saveLoadX = 322;
_vm->_objectsManager._saveLoadY = 293;
}
} else if (yp >= 388 && yp <= 404 && xp > _vm->_graphicsManager._scrollOffset + 273 && xp < _vm->_graphicsManager._scrollOffset + 355) {
} else if (yp >= 388 && yp <= 404 && xp > _vm->_graphicsManager->_scrollOffset + 273 && xp < _vm->_graphicsManager->_scrollOffset + 355) {
slotNumber = 7;
_vm->_objectsManager._saveLoadX = 0;
_vm->_objectsManager._saveLoadY = 0;

View File

@ -219,7 +219,7 @@ void EventsManager::checkForNextFrameCounter() {
if ((milli - _priorFrameTime) >= GAME_FRAME_TIME) {
++_gameCounter;
_priorFrameTime = milli;
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->updateScreen();
// Signal the ScummVM debugger
_vm->_debugger->onFrame();
@ -368,24 +368,24 @@ void EventsManager::refreshScreenAndEvents() {
height = _vm->_globals->_objectHeight;
} else {
if (_breakoutFl) {
if (xp < _vm->_graphicsManager._minX)
xp = _vm->_graphicsManager._minX;
if (_mousePos.y < _vm->_graphicsManager._minY)
yp = _vm->_graphicsManager._minY;
if (_mouseSizeX + xp >= _vm->_graphicsManager._maxX)
width = _mouseSizeX - (_mouseSizeX + xp - _vm->_graphicsManager._maxX);
if (yp + _mouseSizeY >= _vm->_graphicsManager._maxY)
height = _vm->_graphicsManager._maxY - yp;
if (xp < _vm->_graphicsManager->_minX)
xp = _vm->_graphicsManager->_minX;
if (_mousePos.y < _vm->_graphicsManager->_minY)
yp = _vm->_graphicsManager->_minY;
if (_mouseSizeX + xp >= _vm->_graphicsManager->_maxX)
width = _mouseSizeX - (_mouseSizeX + xp - _vm->_graphicsManager->_maxX);
if (yp + _mouseSizeY >= _vm->_graphicsManager->_maxY)
height = _vm->_graphicsManager->_maxY - yp;
} else {
if (xp < _vm->_graphicsManager._minX)
xp = _vm->_graphicsManager._minX - mouseWidth;
if (xp < _vm->_graphicsManager->_minX)
xp = _vm->_graphicsManager->_minX - mouseWidth;
mouseHeight = (int16)mouseHeight;
if (_mousePos.y < _vm->_graphicsManager._minY - mouseHeight)
yp = _vm->_graphicsManager._minY - mouseHeight;
if (_mouseSizeX + xp >= _vm->_graphicsManager._maxX)
width = _mouseSizeX - (_mouseSizeX + xp - _vm->_graphicsManager._maxX - mouseWidth);
if (yp + _mouseSizeY >= mouseHeight + _vm->_graphicsManager._maxY)
height = _vm->_graphicsManager._maxY - mouseHeight - yp;
if (_mousePos.y < _vm->_graphicsManager->_minY - mouseHeight)
yp = _vm->_graphicsManager->_minY - mouseHeight;
if (_mouseSizeX + xp >= _vm->_graphicsManager->_maxX)
width = _mouseSizeX - (_mouseSizeX + xp - _vm->_graphicsManager->_maxX - mouseWidth);
if (yp + _mouseSizeY >= mouseHeight + _vm->_graphicsManager->_maxY)
height = _vm->_graphicsManager->_maxY - mouseHeight - yp;
}
right = xp + width;
bottom = yp + height;
@ -397,18 +397,18 @@ void EventsManager::refreshScreenAndEvents() {
if (!_mouseFl) {
updateCursor();
} else if (_mouseCursorId == 23) {
if (yp < _vm->_graphicsManager._maxY && xp < _vm->_graphicsManager._maxX) {
if (width + xp > _vm->_graphicsManager._maxX)
width = _vm->_graphicsManager._maxX - xp;
if (yp + height > _vm->_graphicsManager._maxY)
height = _vm->_graphicsManager._maxY - yp;
if (yp < _vm->_graphicsManager->_maxY && xp < _vm->_graphicsManager->_maxX) {
if (width + xp > _vm->_graphicsManager->_maxX)
width = _vm->_graphicsManager->_maxX - xp;
if (yp + height > _vm->_graphicsManager->_maxY)
height = _vm->_graphicsManager->_maxY - yp;
if (width > 1 && height > 1) {
updateCursor();
}
}
} else if (yp < _vm->_graphicsManager._maxY && xp < _vm->_graphicsManager._maxX && width > 1 && height > 1) {
} else if (yp < _vm->_graphicsManager->_maxY && xp < _vm->_graphicsManager->_maxX && width > 1 && height > 1) {
updateCursor();
_vm->_graphicsManager.addDirtyRect(xp, yp, right, bottom);
_vm->_graphicsManager->addDirtyRect(xp, yp, right, bottom);
}
_vm->_globals->_speed = 2;
@ -442,39 +442,39 @@ void EventsManager::refreshScreenAndEvents() {
} while (!_vm->shouldQuit() && _vm->_globals->iRegul == 3 && _rateCounter <= 15);
_vm->_globals->_speed = 2;
_rateCounter = 0;
if (!_vm->_graphicsManager._largeScreenFl || _vm->_graphicsManager._scrollStatus == 1) {
_vm->_graphicsManager.displayDirtyRects();
if (!_vm->_graphicsManager->_largeScreenFl || _vm->_graphicsManager->_scrollStatus == 1) {
_vm->_graphicsManager->displayDirtyRects();
} else {
if (_vm->_graphicsManager._scrollStatus != 2) {
if (getMouseX() > _vm->_graphicsManager._scrollPosX + 620)
_vm->_graphicsManager._scrollPosX += _vm->_graphicsManager._scrollSpeed;
if (getMouseX() < _vm->_graphicsManager._scrollPosX + 10)
_vm->_graphicsManager._scrollPosX -= _vm->_graphicsManager._scrollSpeed;
if (_vm->_graphicsManager->_scrollStatus != 2) {
if (getMouseX() > _vm->_graphicsManager->_scrollPosX + 620)
_vm->_graphicsManager->_scrollPosX += _vm->_graphicsManager->_scrollSpeed;
if (getMouseX() < _vm->_graphicsManager->_scrollPosX + 10)
_vm->_graphicsManager->_scrollPosX -= _vm->_graphicsManager->_scrollSpeed;
}
if (_vm->_graphicsManager._scrollPosX < 0)
_vm->_graphicsManager._scrollPosX = 0;
if (_vm->_graphicsManager._scrollPosX > SCREEN_WIDTH)
_vm->_graphicsManager._scrollPosX = SCREEN_WIDTH;
if (_vm->_graphicsManager._oldScrollPosX == _vm->_graphicsManager._scrollPosX) {
_vm->_graphicsManager.displayDirtyRects();
if (_vm->_graphicsManager->_scrollPosX < 0)
_vm->_graphicsManager->_scrollPosX = 0;
if (_vm->_graphicsManager->_scrollPosX > SCREEN_WIDTH)
_vm->_graphicsManager->_scrollPosX = SCREEN_WIDTH;
if (_vm->_graphicsManager->_oldScrollPosX == _vm->_graphicsManager->_scrollPosX) {
_vm->_graphicsManager->displayDirtyRects();
} else {
_vm->_fontManager->hideText(9);
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager.m_scroll16(_vm->_graphicsManager._vesaBuffer, _vm->_graphicsManager._scrollPosX, 20, SCREEN_WIDTH, 440, 0, 20);
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager->lockScreen();
_vm->_graphicsManager->m_scroll16(_vm->_graphicsManager->_vesaBuffer, _vm->_graphicsManager->_scrollPosX, 20, SCREEN_WIDTH, 440, 0, 20);
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager.resetRefreshRects();
_vm->_graphicsManager.addRefreshRect(0, 20, SCREEN_WIDTH, SCREEN_HEIGHT - 20);
_vm->_graphicsManager->resetRefreshRects();
_vm->_graphicsManager->addRefreshRect(0, 20, SCREEN_WIDTH, SCREEN_HEIGHT - 20);
_vm->_graphicsManager.resetDirtyRects();
_vm->_graphicsManager->resetDirtyRects();
_startPos.x = _vm->_graphicsManager._scrollPosX;
_vm->_graphicsManager._scrollOffset = _vm->_graphicsManager._scrollPosX;
_vm->_graphicsManager._scrollPosX = _vm->_graphicsManager._scrollPosX;
_startPos.x = _vm->_graphicsManager->_scrollPosX;
_vm->_graphicsManager->_scrollOffset = _vm->_graphicsManager->_scrollPosX;
_vm->_graphicsManager->_scrollPosX = _vm->_graphicsManager->_scrollPosX;
}
_vm->_graphicsManager._oldScrollPosX = _vm->_graphicsManager._scrollPosX;
_startPos.x = _vm->_graphicsManager._scrollPosX;
_vm->_graphicsManager._scrollOffset = _vm->_graphicsManager._scrollPosX;
_vm->_graphicsManager->_oldScrollPosX = _vm->_graphicsManager->_scrollPosX;
_startPos.x = _vm->_graphicsManager->_scrollPosX;
_vm->_graphicsManager->_scrollOffset = _vm->_graphicsManager->_scrollPosX;
}
_curMouseButton = _mouseButton;
_mouseButton = 0;
@ -484,13 +484,13 @@ void EventsManager::refreshScreenAndEvents() {
void EventsManager::updateCursor() {
// Backup the current sprite clipping bounds and reset them
Common::Rect clipBounds(_vm->_graphicsManager._minX, _vm->_graphicsManager._minY,
_vm->_graphicsManager._maxX, _vm->_graphicsManager._maxY);
_vm->_graphicsManager._minX = _vm->_graphicsManager._minY = 0;
_vm->_graphicsManager._maxX = _vm->_globals->_objectWidth;
_vm->_graphicsManager._maxY = _vm->_globals->_objectHeight;
int pitch = _vm->_graphicsManager._lineNbr2;
_vm->_graphicsManager._lineNbr2 = _vm->_globals->_objectWidth;
Common::Rect clipBounds(_vm->_graphicsManager->_minX, _vm->_graphicsManager->_minY,
_vm->_graphicsManager->_maxX, _vm->_graphicsManager->_maxY);
_vm->_graphicsManager->_minX = _vm->_graphicsManager->_minY = 0;
_vm->_graphicsManager->_maxX = _vm->_globals->_objectWidth;
_vm->_graphicsManager->_maxY = _vm->_globals->_objectHeight;
int pitch = _vm->_graphicsManager->_lineNbr2;
_vm->_graphicsManager->_lineNbr2 = _vm->_globals->_objectWidth;
// Create the temporary cursor surface
byte *cursorSurface = new byte[_vm->_globals->_objectHeight * _vm->_globals->_objectWidth];
@ -498,24 +498,24 @@ void EventsManager::updateCursor() {
if (_mouseCursorId != 23) {
// Draw standard cursor
_vm->_graphicsManager.Sprite_Vesa(cursorSurface, _mouseCursor, 300, 300, _mouseSpriteId);
_vm->_graphicsManager->Sprite_Vesa(cursorSurface, _mouseCursor, 300, 300, _mouseSpriteId);
} else {
// Draw the active inventory object
_vm->_graphicsManager.Affiche_Perfect(cursorSurface, _objectBuf, 300, 300, 0, 0, 0, false);
_vm->_graphicsManager->Affiche_Perfect(cursorSurface, _objectBuf, 300, 300, 0, 0, 0, false);
}
// Reset the clipping bounds
_vm->_graphicsManager._minX = clipBounds.left;
_vm->_graphicsManager._minY = clipBounds.top;
_vm->_graphicsManager._maxX = clipBounds.right;
_vm->_graphicsManager._maxY = clipBounds.bottom;
_vm->_graphicsManager._lineNbr2 = pitch;
_vm->_graphicsManager->_minX = clipBounds.left;
_vm->_graphicsManager->_minY = clipBounds.top;
_vm->_graphicsManager->_maxX = clipBounds.right;
_vm->_graphicsManager->_maxY = clipBounds.bottom;
_vm->_graphicsManager->_lineNbr2 = pitch;
// Create a cursor palette
Graphics::PixelFormat pixelFormat = g_system->getScreenFormat();
byte *cursorPalette = new byte[3 * PALETTE_SIZE];
uint16 *paletteColors = (uint16 *)_vm->_graphicsManager.PAL_PIXELS;
uint16 *paletteColors = (uint16 *)_vm->_graphicsManager->PAL_PIXELS;
for (int i = 0; i < PALETTE_SIZE; i++) {
uint8 r, g, b;

View File

@ -172,14 +172,14 @@ void FontManager::box(int idx, int messageId, const Common::String &filename, in
} else {
int height = _text[idx]._height;
int width = _text[idx]._width;
_vm->_graphicsManager.restoreSurfaceRect(
_vm->_graphicsManager._vesaBuffer,
_vm->_graphicsManager->restoreSurfaceRect(
_vm->_graphicsManager->_vesaBuffer,
_text[idx]._textBlock,
xp,
yp,
_text[idx]._width,
_text[idx]._height);
_vm->_graphicsManager.addDirtyRect(xp, yp, xp + width, yp + height);
_vm->_graphicsManager->addDirtyRect(xp, yp, xp + width, yp + height);
}
} else {
int lineCount = 0;
@ -359,15 +359,15 @@ void FontManager::box(int idx, int messageId, const Common::String &filename, in
if (ptrd == g_PTRNUL)
error("Cutting a block for text box (%d)", size);
_vm->_graphicsManager.copySurfaceRect(_vm->_graphicsManager._vesaBuffer, ptrd, posX, posY, saveWidth, saveHeight);
_vm->_graphicsManager.Trans_bloc2(ptrd, _vm->_graphicsManager._colorTable, size);
_vm->_graphicsManager.restoreSurfaceRect(_vm->_graphicsManager._vesaBuffer, ptrd, posX, posY, saveWidth, saveHeight);
_vm->_graphicsManager->copySurfaceRect(_vm->_graphicsManager->_vesaBuffer, ptrd, posX, posY, saveWidth, saveHeight);
_vm->_graphicsManager->Trans_bloc2(ptrd, _vm->_graphicsManager->_colorTable, size);
_vm->_graphicsManager->restoreSurfaceRect(_vm->_graphicsManager->_vesaBuffer, ptrd, posX, posY, saveWidth, saveHeight);
_vm->_globals->freeMemory(ptrd);
_vm->_graphicsManager.drawHorizontalLine(_vm->_graphicsManager._vesaBuffer, posX, posY, saveWidth, (byte)-2);
_vm->_graphicsManager.drawHorizontalLine(_vm->_graphicsManager._vesaBuffer, posX, saveHeight + posY, saveWidth, (byte)-2);
_vm->_graphicsManager.drawVerticalLine(_vm->_graphicsManager._vesaBuffer, posX, posY, saveHeight, (byte)-2);
_vm->_graphicsManager.drawVerticalLine(_vm->_graphicsManager._vesaBuffer, saveWidth + posX, posY, saveHeight, (byte)-2);
_vm->_graphicsManager->drawHorizontalLine(_vm->_graphicsManager->_vesaBuffer, posX, posY, saveWidth, (byte)-2);
_vm->_graphicsManager->drawHorizontalLine(_vm->_graphicsManager->_vesaBuffer, posX, saveHeight + posY, saveWidth, (byte)-2);
_vm->_graphicsManager->drawVerticalLine(_vm->_graphicsManager->_vesaBuffer, posX, posY, saveHeight, (byte)-2);
_vm->_graphicsManager->drawVerticalLine(_vm->_graphicsManager->_vesaBuffer, saveWidth + posX, posY, saveHeight, (byte)-2);
}
_text[idx]._lineCount = lineCount;
int textPosY = posY + 5;
@ -393,7 +393,7 @@ void FontManager::box(int idx, int messageId, const Common::String &filename, in
_text[idx]._textBlock = ptre;
_text[idx]._width = blockWidth;
_text[idx]._height = blockHeight;
_vm->_graphicsManager.copySurfaceRect(_vm->_graphicsManager._vesaBuffer, _text[idx]._textBlock, posX, posY, _text[idx]._width, blockHeight);
_vm->_graphicsManager->copySurfaceRect(_vm->_graphicsManager->_vesaBuffer, _text[idx]._textBlock, posX, posY, _text[idx]._width, blockHeight);
}
_tempText = _vm->_globals->freeMemory(_tempText);
}
@ -413,12 +413,12 @@ void FontManager::displayTextVesa(int xp, int yp, const Common::String &message,
break;
if (currChar >= 32) {
charIndex = currChar - 32;
_vm->_graphicsManager.displayFont(_vm->_graphicsManager._vesaBuffer, _font, currentX, yp, currChar - 32, col);
_vm->_graphicsManager->displayFont(_vm->_graphicsManager->_vesaBuffer, _font, currentX, yp, currChar - 32, col);
currentX += _vm->_objectsManager.getWidth(_font, charIndex);
}
}
_vm->_graphicsManager.addDirtyRect(xp, yp, currentX, yp + 12);
_vm->_graphicsManager->addDirtyRect(xp, yp, currentX, yp + 12);
}
/**
@ -430,7 +430,7 @@ void FontManager::displayText(int xp, int yp, const Common::String &message, int
if (currentChar > 31) {
int characterIndex = currentChar - 32;
_vm->_graphicsManager.displayFont(_vm->_graphicsManager._vesaBuffer, _font, xp, yp, characterIndex, col);
_vm->_graphicsManager->displayFont(_vm->_graphicsManager->_vesaBuffer, _font, xp, yp, characterIndex, col);
xp += _vm->_objectsManager.getWidth(_font, characterIndex);
}
}
@ -457,7 +457,7 @@ void FontManager::renderTextDisplay(int xp, int yp, const Common::String &msg, i
break;
if (curChar >= 32) {
byte printChar = curChar - 32;
_vm->_graphicsManager.displayFont(_vm->_graphicsManager._vesaBuffer, _font, charEndPosX, yp, printChar, fontCol);
_vm->_graphicsManager->displayFont(_vm->_graphicsManager->_vesaBuffer, _font, charEndPosX, yp, printChar, fontCol);
// UGLY HACK: For some obscure reason, the BeOS and OS/2 versions use another font file, which doesn't have variable width.
// All the fonts have a length of 9, which results in completely broken text in the computer.
@ -476,7 +476,7 @@ void FontManager::renderTextDisplay(int xp, int yp, const Common::String &msg, i
int charStartPosX = charEndPosX;
charEndPosX += charWidth;
_vm->_graphicsManager.addDirtyRect(charStartPosX, yp, charEndPosX, yp + 12);
_vm->_graphicsManager->addDirtyRect(charStartPosX, yp, charEndPosX, yp + 12);
if (_vm->_eventsManager->_escKeyFl) {
_vm->_globals->iRegul = 1;
_vm->_eventsManager->refreshScreenAndEvents();

View File

@ -35,7 +35,9 @@
namespace Hopkins {
GraphicsManager::GraphicsManager() {
GraphicsManager::GraphicsManager(HopkinsEngine *vm) {
_vm = vm;
_lockCounter = 0;
_initGraphicsFl = false;
_screenWidth = _screenHeight = 0;
@ -75,20 +77,10 @@ GraphicsManager::GraphicsManager() {
Common::fill(&_colorTable[0], &_colorTable[PALETTE_EXT_BLOCK_SIZE], 0);
Common::fill(&_palette[0], &_palette[PALETTE_EXT_BLOCK_SIZE], 0);
Common::fill(&_oldPalette[0], &_oldPalette[PALETTE_EXT_BLOCK_SIZE], 0);
}
GraphicsManager::~GraphicsManager() {
_vm->_globals->freeMemory(_vesaScreen);
_vm->_globals->freeMemory(_vesaBuffer);
_vm->_globals->freeMemory(_screenBuffer);
}
void GraphicsManager::setParent(HopkinsEngine *vm) {
_vm = vm;
if (_vm->getIsDemo()) {
if (_vm->getPlatform() == Common::kPlatformLinux)
// CHECKME: Should be false?
// CHECKME: Should be false?
MANU_SCROLL = true;
else
MANU_SCROLL = false;
@ -99,6 +91,12 @@ void GraphicsManager::setParent(HopkinsEngine *vm) {
}
}
GraphicsManager::~GraphicsManager() {
_vm->_globals->freeMemory(_vesaScreen);
_vm->_globals->freeMemory(_vesaBuffer);
_vm->_globals->freeMemory(_screenBuffer);
}
void GraphicsManager::setGraphicalMode(int width, int height) {
if (!_initGraphicsFl) {
Graphics::PixelFormat pixelFormat16(2, 5, 6, 5, 0, 11, 5, 0, 0);

View File

@ -116,10 +116,9 @@ public:
bool MANU_SCROLL;
int FADE_LINUX;
public:
GraphicsManager();
GraphicsManager(HopkinsEngine *vm);
~GraphicsManager();
void setParent(HopkinsEngine *vm);
void lockScreen();
void unlockScreen();
void clearPalette();

File diff suppressed because it is too large Load Diff

View File

@ -150,8 +150,8 @@ public:
FileManager *_fileManager;
FontManager *_fontManager;
Globals *_globals;
GraphicsManager *_graphicsManager;
GraphicsManager _graphicsManager;
LinesManager _linesManager;
MenuManager _menuManager;
ObjectsManager _objectsManager;

View File

@ -140,11 +140,11 @@ int LinesManager::checkInventoryHotspots(int posX, int posY) {
hotspotId = checkInventoryHotspotsRow(posX, 19, false);
if (posY >= 268 && posY <= 306)
hotspotId = checkInventoryHotspotsRow(posX, 25, true);
if (posY >= 268 && posY <= 288 && posX >= _vm->_graphicsManager._scrollOffset + 424 && posX <= _vm->_graphicsManager._scrollOffset + 478)
if (posY >= 268 && posY <= 288 && posX >= _vm->_graphicsManager->_scrollOffset + 424 && posX <= _vm->_graphicsManager->_scrollOffset + 478)
hotspotId = 30;
if (posY >= 290 && posY <= 306 && posX >= _vm->_graphicsManager._scrollOffset + 424 && posX <= _vm->_graphicsManager._scrollOffset + 478)
if (posY >= 290 && posY <= 306 && posX >= _vm->_graphicsManager->_scrollOffset + 424 && posX <= _vm->_graphicsManager->_scrollOffset + 478)
hotspotId = 31;
if (posY < 114 || posY > 306 || posX < _vm->_graphicsManager._scrollOffset + 152 || posX > _vm->_graphicsManager._scrollOffset + 484)
if (posY < 114 || posY > 306 || posX < _vm->_graphicsManager->_scrollOffset + 152 || posX > _vm->_graphicsManager->_scrollOffset + 484)
hotspotId = 32;
return hotspotId;
@ -157,30 +157,30 @@ int LinesManager::checkInventoryHotspots(int posX, int posY) {
int LinesManager::checkInventoryHotspotsRow(int posX, int minZoneNum, bool lastRow) {
int result = minZoneNum;
if (posX >= _vm->_graphicsManager._scrollOffset + 158 && posX < _vm->_graphicsManager._scrollOffset + 208)
if (posX >= _vm->_graphicsManager->_scrollOffset + 158 && posX < _vm->_graphicsManager->_scrollOffset + 208)
return result;
if (posX >= _vm->_graphicsManager._scrollOffset + 208 && posX < _vm->_graphicsManager._scrollOffset + 266) {
if (posX >= _vm->_graphicsManager->_scrollOffset + 208 && posX < _vm->_graphicsManager->_scrollOffset + 266) {
result += 1;
return result;
}
if (posX >= _vm->_graphicsManager._scrollOffset + 266 && posX < _vm->_graphicsManager._scrollOffset + 320) {
if (posX >= _vm->_graphicsManager->_scrollOffset + 266 && posX < _vm->_graphicsManager->_scrollOffset + 320) {
result += 2;
return result;
}
if (posX >= _vm->_graphicsManager._scrollOffset + 320 && posX < _vm->_graphicsManager._scrollOffset + 370) {
if (posX >= _vm->_graphicsManager->_scrollOffset + 320 && posX < _vm->_graphicsManager->_scrollOffset + 370) {
result += 3;
return result;
}
if (posX >= _vm->_graphicsManager._scrollOffset + 370 && posX < _vm->_graphicsManager._scrollOffset + 424) {
if (posX >= _vm->_graphicsManager->_scrollOffset + 370 && posX < _vm->_graphicsManager->_scrollOffset + 424) {
result += 4;
return result;
}
if (!lastRow && posX >= _vm->_graphicsManager._scrollOffset + 424 && posX <= _vm->_graphicsManager._scrollOffset + 478) {
if (!lastRow && posX >= _vm->_graphicsManager->_scrollOffset + 424 && posX <= _vm->_graphicsManager->_scrollOffset + 478) {
result += 5;
return result;
}
@ -425,8 +425,8 @@ void LinesManager::initRoute() {
int curLineX = curLineData[2 * curDataIdx - 2];
int curLineY = curLineData[2 * curDataIdx - 1];
if (_vm->_graphicsManager._maxX == curLineX || _vm->_graphicsManager._maxY == curLineY ||
_vm->_graphicsManager._minX == curLineX || _vm->_graphicsManager._minY == curLineY ||
if (_vm->_graphicsManager->_maxX == curLineX || _vm->_graphicsManager->_maxY == curLineY ||
_vm->_graphicsManager->_minX == curLineX || _vm->_graphicsManager->_minY == curLineY ||
(lineX == curLineX && lineY == curLineY))
break;
if (lineIdx == MAX_LINES)
@ -947,7 +947,7 @@ int LinesManager::GENIAL(int lineIdx, int dataIdx, int fromX, int fromY, int des
lineIdxRight = foundLineIdx;
if (_vm->_graphicsManager._maxX <= curX || maxLineX <= curX)
if (_vm->_graphicsManager->_maxX <= curX || maxLineX <= curX)
break;
}
curX = destX;
@ -1104,8 +1104,8 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
clipDestX = 20;
if (clipDestY <= 19)
clipDestY = 20;
if (clipDestX > _vm->_graphicsManager._maxX - 10)
clipDestX = _vm->_graphicsManager._maxX - 10;
if (clipDestX > _vm->_graphicsManager->_maxX - 10)
clipDestX = _vm->_graphicsManager->_maxX - 10;
if (clipDestY > _vm->_globals->_characterMaxPosY)
clipDestY = _vm->_globals->_characterMaxPosY;
@ -1123,7 +1123,7 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
return _bestRoute;
int tmpDelta = 0;
for (int tmpY = clipDestY; tmpY < _vm->_graphicsManager._maxY; tmpY++, tmpDelta++) {
for (int tmpY = clipDestY; tmpY < _vm->_graphicsManager->_maxY; tmpY++, tmpDelta++) {
if (checkCollisionLine(clipDestX, tmpY, &collLineDataIdxArr[DIR_DOWN], &collLineIdxArr[DIR_DOWN], 0, _lastLine) && collLineIdxArr[DIR_DOWN] <= _lastLine)
break;
collLineDataIdxArr[DIR_DOWN] = 0;
@ -1132,7 +1132,7 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
deltaArr[DIR_DOWN] = tmpDelta;
tmpDelta = 0;
for (int tmpY = clipDestY; tmpY > _vm->_graphicsManager._minY; tmpY--, tmpDelta++) {
for (int tmpY = clipDestY; tmpY > _vm->_graphicsManager->_minY; tmpY--, tmpDelta++) {
if (checkCollisionLine(clipDestX, tmpY, &collLineDataIdxArr[DIR_UP], &collLineIdxArr[DIR_UP], 0, _lastLine) && collLineIdxArr[DIR_UP] <= _lastLine)
break;
collLineDataIdxArr[DIR_UP] = 0;
@ -1143,7 +1143,7 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
deltaArr[DIR_UP] = tmpDelta;
tmpDelta = 0;
for (int tmpX = clipDestX; tmpX < _vm->_graphicsManager._maxX; tmpX++) {
for (int tmpX = clipDestX; tmpX < _vm->_graphicsManager->_maxX; tmpX++) {
if (checkCollisionLine(tmpX, clipDestY, &collLineDataIdxArr[DIR_RIGHT], &collLineIdxArr[DIR_RIGHT], 0, _lastLine) && collLineIdxArr[DIR_RIGHT] <= _lastLine)
break;
collLineDataIdxArr[DIR_RIGHT] = 0;
@ -1157,7 +1157,7 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
deltaArr[DIR_RIGHT] = tmpDelta;
tmpDelta = 0;
for (int tmpX = clipDestX; tmpX > _vm->_graphicsManager._minX; tmpX--) {
for (int tmpX = clipDestX; tmpX > _vm->_graphicsManager->_minX; tmpX--) {
if (checkCollisionLine(tmpX, clipDestY, &collLineDataIdxArr[DIR_LEFT], &collLineIdxArr[DIR_LEFT], 0, _lastLine) && collLineIdxArr[DIR_LEFT] <= _lastLine)
break;
collLineDataIdxArr[DIR_LEFT] = 0;
@ -1213,7 +1213,7 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
}
tmpDelta = 0;
for (int tmpY = fromY; tmpY < _vm->_graphicsManager._maxY; tmpY++, tmpDelta++) {
for (int tmpY = fromY; tmpY < _vm->_graphicsManager->_maxY; tmpY++, tmpDelta++) {
if (checkCollisionLine(fromX, tmpY, &collLineDataIdxArr[DIR_DOWN], &collLineIdxArr[DIR_DOWN], 0, _lastLine) && collLineIdxArr[DIR_DOWN] <= _lastLine)
break;
collLineDataIdxArr[DIR_DOWN] = 0;
@ -1222,7 +1222,7 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
deltaArr[DIR_DOWN] = tmpDelta + 1;
tmpDelta = 0;
for (int tmpY = fromY; tmpY > _vm->_graphicsManager._minY; tmpY--) {
for (int tmpY = fromY; tmpY > _vm->_graphicsManager->_minY; tmpY--) {
if (checkCollisionLine(fromX, tmpY, &collLineDataIdxArr[DIR_UP], &collLineIdxArr[DIR_UP], 0, _lastLine) && collLineIdxArr[DIR_UP] <= _lastLine)
break;
collLineDataIdxArr[DIR_UP] = 0;
@ -1234,7 +1234,7 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
deltaArr[DIR_UP] = tmpDelta + 1;
tmpDelta = 0;
for (int tmpX = fromX; tmpX < _vm->_graphicsManager._maxX; tmpX++) {
for (int tmpX = fromX; tmpX < _vm->_graphicsManager->_maxX; tmpX++) {
if (checkCollisionLine(tmpX, fromY, &collLineDataIdxArr[DIR_RIGHT], &collLineIdxArr[DIR_RIGHT], 0, _lastLine) && collLineIdxArr[DIR_RIGHT] <= _lastLine)
break;
collLineDataIdxArr[DIR_RIGHT] = 0;
@ -1246,7 +1246,7 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
deltaArr[DIR_RIGHT] = tmpDelta + 1;
tmpDelta = 0;
for (int tmpX = fromX; tmpX > _vm->_graphicsManager._minX; tmpX--) {
for (int tmpX = fromX; tmpX > _vm->_graphicsManager->_minX; tmpX--) {
if (checkCollisionLine(tmpX, fromY, &collLineDataIdxArr[DIR_LEFT], &collLineIdxArr[DIR_LEFT], 0, _lastLine) && collLineIdxArr[DIR_LEFT] <= _lastLine)
break;
collLineDataIdxArr[DIR_LEFT] = 0;
@ -1985,13 +1985,13 @@ RouteItem *LinesManager::cityMapCarRoute(int x1, int y1, int x2, int y2) {
clipX2 = 15;
if (y2 <= 14)
clipY2 = 15;
if (clipX2 > _vm->_graphicsManager._maxX - 10)
clipX2 = _vm->_graphicsManager._maxX - 10;
if (clipX2 > _vm->_graphicsManager->_maxX - 10)
clipX2 = _vm->_graphicsManager->_maxX - 10;
if (clipY2 > 445)
clipY2 = 440;
int delta = 0;
for (delta = 0; clipY2 + delta < _vm->_graphicsManager._maxY; delta++) {
for (delta = 0; clipY2 + delta < _vm->_graphicsManager->_maxY; delta++) {
if (checkCollisionLine(clipX2, clipY2 + delta, &arrDataIdx[DIR_DOWN], &arrLineIdx[DIR_DOWN], 0, _lastLine) && arrLineIdx[DIR_DOWN] <= _lastLine)
break;
arrDataIdx[DIR_DOWN] = 0;
@ -1999,7 +1999,7 @@ RouteItem *LinesManager::cityMapCarRoute(int x1, int y1, int x2, int y2) {
}
arrDelta[DIR_DOWN] = delta;
for (delta = 0; clipY2 - delta > _vm->_graphicsManager._minY; delta++) {
for (delta = 0; clipY2 - delta > _vm->_graphicsManager->_minY; delta++) {
if (checkCollisionLine(clipX2, clipY2 - delta , &arrDataIdx[DIR_UP], &arrLineIdx[DIR_UP], 0, _lastLine) && arrLineIdx[DIR_UP] <= _lastLine)
break;
arrDataIdx[DIR_UP] = 0;
@ -2009,7 +2009,7 @@ RouteItem *LinesManager::cityMapCarRoute(int x1, int y1, int x2, int y2) {
}
arrDelta[DIR_UP] = delta;
for (delta = 0; clipX2 + delta < _vm->_graphicsManager._maxX; delta++) {
for (delta = 0; clipX2 + delta < _vm->_graphicsManager->_maxX; delta++) {
if (checkCollisionLine(clipX2 + delta, clipY2, &arrDataIdx[DIR_UP], &arrLineIdx[DIR_UP], 0, _lastLine) && arrLineIdx[DIR_UP] <= _lastLine)
break;
arrDataIdx[DIR_UP] = 0;
@ -2019,7 +2019,7 @@ RouteItem *LinesManager::cityMapCarRoute(int x1, int y1, int x2, int y2) {
}
arrDelta[DIR_UP] = delta;
for (delta = 0; clipX2 - delta > _vm->_graphicsManager._minX; delta++) {
for (delta = 0; clipX2 - delta > _vm->_graphicsManager->_minX; delta++) {
if (checkCollisionLine(clipX2 - delta, clipY2, &arrDataIdx[DIR_LEFT], &arrLineIdx[DIR_LEFT], 0, _lastLine) && arrLineIdx[DIR_LEFT] <= _lastLine)
break;
arrDataIdx[DIR_LEFT] = 0;
@ -2200,11 +2200,11 @@ bool LinesManager::makeSmoothMove(int fromX, int fromY, int destX, int destY) {
int realSpeedY = _vm->_globals->_hopkinsItem[hopkinsIdx]._speedY;
int spriteSize = _vm->_globals->_spriteSize[curY];
if (spriteSize < 0) {
realSpeedX = _vm->_graphicsManager.zoomOut(realSpeedX, -spriteSize);
realSpeedY = _vm->_graphicsManager.zoomOut(realSpeedY, -spriteSize);
realSpeedX = _vm->_graphicsManager->zoomOut(realSpeedX, -spriteSize);
realSpeedY = _vm->_graphicsManager->zoomOut(realSpeedY, -spriteSize);
} else if (spriteSize > 0) {
realSpeedX = _vm->_graphicsManager.zoomIn(realSpeedX, spriteSize);
realSpeedY = _vm->_graphicsManager.zoomIn(realSpeedY, spriteSize);
realSpeedX = _vm->_graphicsManager->zoomIn(realSpeedX, spriteSize);
realSpeedY = _vm->_graphicsManager->zoomIn(realSpeedY, spriteSize);
}
for (int i = 0; i < realSpeedX; i++) {
--curX;
@ -2234,11 +2234,11 @@ bool LinesManager::makeSmoothMove(int fromX, int fromY, int destX, int destY) {
int realSpeedY = _vm->_globals->_hopkinsItem[hopkinsIdx]._speedY;
int spriteSize = _vm->_globals->_spriteSize[curY];
if (spriteSize < 0) {
realSpeedX = _vm->_graphicsManager.zoomOut(realSpeedX, -spriteSize);
realSpeedY = _vm->_graphicsManager.zoomOut(realSpeedY, -spriteSize);
realSpeedX = _vm->_graphicsManager->zoomOut(realSpeedX, -spriteSize);
realSpeedY = _vm->_graphicsManager->zoomOut(realSpeedY, -spriteSize);
} else if (spriteSize > 0) {
realSpeedX = _vm->_graphicsManager.zoomIn(realSpeedX, spriteSize);
realSpeedY = _vm->_graphicsManager.zoomIn(realSpeedY, spriteSize);
realSpeedX = _vm->_graphicsManager->zoomIn(realSpeedX, spriteSize);
realSpeedY = _vm->_graphicsManager->zoomIn(realSpeedY, spriteSize);
}
for (int i = 0; i < realSpeedX; i++) {
++curX;
@ -2264,8 +2264,8 @@ bool LinesManager::makeSmoothMove(int fromX, int fromY, int destX, int destY) {
int smoothIdx = 0;
int stepCount = 0;
while (curX > destX && destY < curY) {
int realSpeedX = _vm->_graphicsManager.zoomOut(_vm->_globals->_hopkinsItem[hopkinsIdx]._speedX, 25);
int realSpeedY = _vm->_graphicsManager.zoomOut(_vm->_globals->_hopkinsItem[hopkinsIdx]._speedY, 25);
int realSpeedX = _vm->_graphicsManager->zoomOut(_vm->_globals->_hopkinsItem[hopkinsIdx]._speedX, 25);
int realSpeedY = _vm->_graphicsManager->zoomOut(_vm->_globals->_hopkinsItem[hopkinsIdx]._speedY, 25);
int oldY = curY;
for (int i = 0; i < realSpeedX; i++) {
--curX;
@ -2292,8 +2292,8 @@ bool LinesManager::makeSmoothMove(int fromX, int fromY, int destX, int destY) {
int stepCount = 0;
while (curX < destX && destY < curY) {
int oldY = curY;
int realSpeedX = _vm->_graphicsManager.zoomOut(_vm->_globals->_hopkinsItem[hopkinsIdx]._speedX, 25);
int realSpeedY = _vm->_graphicsManager.zoomOut(_vm->_globals->_hopkinsItem[hopkinsIdx]._speedY, 25);
int realSpeedX = _vm->_graphicsManager->zoomOut(_vm->_globals->_hopkinsItem[hopkinsIdx]._speedX, 25);
int realSpeedY = _vm->_graphicsManager->zoomOut(_vm->_globals->_hopkinsItem[hopkinsIdx]._speedY, 25);
for (int i = 0; i < realSpeedX; i++) {
++curX;
_smoothRoute[smoothIdx]._posX = curX;
@ -2473,9 +2473,9 @@ int LinesManager::CALC_PROPRE(int idx) {
int retVal = 25;
if (size < 0)
retVal = _vm->_graphicsManager.zoomOut(25, -size);
retVal = _vm->_graphicsManager->zoomOut(25, -size);
else if (size > 0)
retVal = _vm->_graphicsManager.zoomIn(25, size);
retVal = _vm->_graphicsManager->zoomIn(25, size);
return retVal;
}
@ -2578,7 +2578,7 @@ int LinesManager::getMouseZone() {
return -1;
int colRes2 = 0;
for (int j = yp; j < _vm->_graphicsManager._maxY; ++j) {
for (int j = yp; j < _vm->_graphicsManager->_maxY; ++j) {
colRes2 = checkCollision(xp, j);
if (colRes2 != -1 && ZONEP[colRes1]._enabledFl)
break;
@ -2597,7 +2597,7 @@ int LinesManager::getMouseZone() {
return -1;
int colRes4 = 0;
for (int xCurrent = xp; _vm->_graphicsManager._maxX > xCurrent; ++xCurrent) {
for (int xCurrent = xp; _vm->_graphicsManager->_maxX > xCurrent; ++xCurrent) {
colRes4 = checkCollision(xCurrent, yp);
if (colRes4 != -1 && ZONEP[colRes1]._enabledFl)
break;
@ -2817,7 +2817,7 @@ void LinesManager::checkZone() {
int oldMouseY = mouseY;
if (_vm->_globals->_cityMapEnabledFl
|| _vm->_eventsManager->_startPos.x >= mouseX
|| (mouseY = _vm->_graphicsManager._scrollOffset + 54, mouseX >= mouseY)
|| (mouseY = _vm->_graphicsManager->_scrollOffset + 54, mouseX >= mouseY)
|| (mouseY = oldMouseY - 1, mouseY < 0 || mouseY > 59)) {
if (_vm->_objectsManager._visibleFl)
_vm->_objectsManager._eraseVisibleCounter = 4;
@ -2846,7 +2846,7 @@ void LinesManager::checkZone() {
zoneId = _vm->_globals->_oldMouseZoneId;
}
if (_vm->_globals->_oldMouseZoneId != zoneId) {
_vm->_graphicsManager.SETCOLOR4(251, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR4(251, 100, 100, 100);
_vm->_eventsManager->_mouseCursorId = 4;
_vm->_eventsManager->changeMouseCursor(4);
if (_vm->_globals->_forceHideText) {
@ -2869,7 +2869,7 @@ void LinesManager::checkZone() {
_vm->_globals->_hotspotTextColor += 25;
if (_vm->_globals->_hotspotTextColor > 100)
_vm->_globals->_hotspotTextColor = 0;
_vm->_graphicsManager.SETCOLOR4(251, _vm->_globals->_hotspotTextColor, _vm->_globals->_hotspotTextColor,
_vm->_graphicsManager->SETCOLOR4(251, _vm->_globals->_hotspotTextColor, _vm->_globals->_hotspotTextColor,
_vm->_globals->_hotspotTextColor);
if (_vm->_eventsManager->_mouseCursorId == 4) {
if (ZONEP[zoneId]._verbFl1 == 2) {
@ -2879,7 +2879,7 @@ void LinesManager::checkZone() {
}
}
} else {
_vm->_graphicsManager.SETCOLOR4(251, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR4(251, 100, 100, 100);
_vm->_eventsManager->_mouseCursorId = 4;
_vm->_eventsManager->changeMouseCursor(4);
}

View File

@ -68,15 +68,15 @@ int MenuManager::menu() {
memset(frameIndex, 0, sizeof(int) * ARRAYSIZE(frameIndex));
if (_vm->getPlatform() == Common::kPlatformOS2 || _vm->getPlatform() == Common::kPlatformBeOS)
_vm->_graphicsManager.loadImage("MENU");
_vm->_graphicsManager->loadImage("MENU");
else if (_vm->_globals->_language == LANG_EN)
_vm->_graphicsManager.loadImage("MENUAN");
_vm->_graphicsManager->loadImage("MENUAN");
else if (_vm->_globals->_language == LANG_FR)
_vm->_graphicsManager.loadImage("MENUFR");
_vm->_graphicsManager->loadImage("MENUFR");
else if (_vm->_globals->_language == LANG_SP)
_vm->_graphicsManager.loadImage("MENUES");
_vm->_graphicsManager->loadImage("MENUES");
_vm->_graphicsManager.fadeInLong();
_vm->_graphicsManager->fadeInLong();
if (_vm->getPlatform() == Common::kPlatformOS2 || _vm->getPlatform() == Common::kPlatformBeOS)
spriteData = _vm->_objectsManager.loadSprite("MENU.SPR");
@ -120,11 +120,11 @@ int MenuManager::menu() {
if (menuIndex > MENU_NONE)
frameIndex[menuIndex - 1] = 1;
_vm->_graphicsManager.fastDisplay(spriteData, 230, 259, frameIndex[0]);
_vm->_graphicsManager.fastDisplay(spriteData, 230, 291, frameIndex[1] + 2);
_vm->_graphicsManager.fastDisplay(spriteData, 230, 322, frameIndex[2] + 4);
_vm->_graphicsManager.fastDisplay(spriteData, 230, 354, frameIndex[3] + 6);
_vm->_graphicsManager.fastDisplay(spriteData, 230, 386, frameIndex[4] + 8);
_vm->_graphicsManager->fastDisplay(spriteData, 230, 259, frameIndex[0]);
_vm->_graphicsManager->fastDisplay(spriteData, 230, 291, frameIndex[1] + 2);
_vm->_graphicsManager->fastDisplay(spriteData, 230, 322, frameIndex[2] + 4);
_vm->_graphicsManager->fastDisplay(spriteData, 230, 354, frameIndex[3] + 6);
_vm->_graphicsManager->fastDisplay(spriteData, 230, 386, frameIndex[4] + 8);
_vm->_eventsManager->refreshScreenAndEvents();
if (_vm->_eventsManager->getMouseButton() == 1 && menuIndex != MENU_NONE)
@ -132,7 +132,7 @@ int MenuManager::menu() {
} while (!selectionMade);
if (menuIndex > MENU_NONE) {
_vm->_graphicsManager.fastDisplay(spriteData, 230, 259 + 32 * (menuIndex - 1), 10 + (menuIndex - 1));
_vm->_graphicsManager->fastDisplay(spriteData, 230, 259 + 32 * (menuIndex - 1), 10 + (menuIndex - 1));
_vm->_eventsManager->refreshScreenAndEvents();
_vm->_eventsManager->delay(200);
}
@ -161,7 +161,7 @@ int MenuManager::menu() {
_vm->_globals->freeMemory(spriteData);
_vm->_globals->_disableInventFl = false;
_vm->_graphicsManager.fadeOutLong();
_vm->_graphicsManager->fadeOutLong();
return result;
}

File diff suppressed because it is too large Load Diff

View File

@ -228,13 +228,13 @@ bool SaveLoadManager::readSavegameHeader(int slot, hopkinsSavegameHeader &header
#define REDUCE_AMOUNT 80
void SaveLoadManager::createThumbnail(Graphics::Surface *s) {
int w = _vm->_graphicsManager.zoomOut(SCREEN_WIDTH, REDUCE_AMOUNT);
int h = _vm->_graphicsManager.zoomOut(SCREEN_HEIGHT - 40, REDUCE_AMOUNT);
int w = _vm->_graphicsManager->zoomOut(SCREEN_WIDTH, REDUCE_AMOUNT);
int h = _vm->_graphicsManager->zoomOut(SCREEN_HEIGHT - 40, REDUCE_AMOUNT);
Graphics::Surface thumb8;
thumb8.create(w, h, Graphics::PixelFormat::createFormatCLUT8());
_vm->_graphicsManager.reduceScreenPart(_vm->_graphicsManager._vesaBuffer, (byte *)thumb8.pixels,
_vm->_graphicsManager->reduceScreenPart(_vm->_graphicsManager->_vesaBuffer, (byte *)thumb8.pixels,
_vm->_eventsManager->_startPos.x, 20, SCREEN_WIDTH, SCREEN_HEIGHT - 40, 80);
// Convert the 8-bit pixel to 16 bit surface
@ -249,7 +249,7 @@ void SaveLoadManager::createThumbnail(Graphics::Surface *s) {
uint16 *lineDestP = destP;
for (int xp = 0; xp < w; ++xp)
*lineDestP++ = *(uint16 *)&_vm->_graphicsManager.PAL_PIXELS[*lineSrcP++ * 2];
*lineDestP++ = *(uint16 *)&_vm->_graphicsManager->PAL_PIXELS[*lineSrcP++ * 2];
// Move to the start of the next line
srcP += w;
@ -292,7 +292,7 @@ void SaveLoadManager::convertThumb16To8(Graphics::Surface *thumb16, Graphics::Su
byte paletteG[PALETTE_SIZE];
byte paletteB[PALETTE_SIZE];
for (int palIndex = 0; palIndex < PALETTE_SIZE; ++palIndex) {
uint16 p = READ_LE_UINT16(&_vm->_graphicsManager.PAL_PIXELS[palIndex * 2]);
uint16 p = READ_LE_UINT16(&_vm->_graphicsManager->PAL_PIXELS[palIndex * 2]);
pixelFormat16.colorToRGB(p, paletteR[palIndex], paletteG[palIndex], paletteB[palIndex]);
}

View File

@ -183,7 +183,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
int vbobPosX = READ_LE_INT16(dataP + 8);
int vbobPosY = READ_LE_INT16(dataP + 10);
if (vbobIdx == 52) {
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, vbobPosX, READ_LE_INT16(dataP + 10), vbobFrameIndex);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, vbobPosX, READ_LE_INT16(dataP + 10), vbobFrameIndex);
} else if (vbobIdx == 51) {
_vm->_objectsManager.BOB_VIVANT(vbobFrameIndex);
} else if (vbobIdx != 50) {
@ -546,25 +546,25 @@ int ScriptManager::handleOpcode(byte *dataP) {
case 13:
_vm->_eventsManager->_mouseButton = _vm->_eventsManager->_curMouseButton;
_vm->_globals->_disableInventFl = true;
_vm->_graphicsManager.fadeOutLong();
_vm->_graphicsManager->fadeOutLong();
_vm->_globals->disableHiding();
_vm->_objectsManager.removeSprite(0);
_vm->_fontManager->hideText(5);
_vm->_fontManager->hideText(9);
_vm->_graphicsManager.endDisplayBob();
_vm->_graphicsManager->endDisplayBob();
_vm->_objectsManager.clearScreen();
if ((_vm->getPlatform() == Common::kPlatformWindows) && _vm->getIsDemo()) {
_vm->_graphicsManager.fadeOutLong();
_vm->_graphicsManager->fadeOutLong();
} else {
_vm->_soundManager.playSoundFile("SOUND17.WAV");
_vm->_graphicsManager.FADE_LINUX = 2;
_vm->_graphicsManager->FADE_LINUX = 2;
_vm->_animationManager->playSequence2("HELICO.SEQ", 10, 4, 10);
}
_vm->_animationManager->loadAnim("otage");
_vm->_graphicsManager.loadImage("IM05");
_vm->_graphicsManager.displayAllBob();
_vm->_graphicsManager->loadImage("IM05");
_vm->_graphicsManager->displayAllBob();
for (int i = 0; i <= 4; i++) {
if (_vm->shouldQuit())
@ -574,27 +574,27 @@ int ScriptManager::handleOpcode(byte *dataP) {
}
_vm->_eventsManager->mouseOff();
_vm->_graphicsManager.fadeInDefaultLength(_vm->_graphicsManager._vesaBuffer);
_vm->_graphicsManager->fadeInDefaultLength(_vm->_graphicsManager->_vesaBuffer);
do {
if (_vm->shouldQuit())
return -1; // Exiting game
_vm->_eventsManager->refreshScreenAndEvents();
} while (_vm->_objectsManager.getBobAnimDataIdx(3) != 100);
_vm->_graphicsManager.fadeOutDefaultLength(_vm->_graphicsManager._vesaBuffer);
_vm->_graphicsManager.endDisplayBob();
_vm->_graphicsManager->fadeOutDefaultLength(_vm->_graphicsManager->_vesaBuffer);
_vm->_graphicsManager->endDisplayBob();
// If uncensored, rip the throat of the hostage
if (!_vm->_globals->_censorshipFl) {
_vm->_soundManager._specialSoundNum = 16;
_vm->_graphicsManager.FADE_LINUX = 2;
_vm->_graphicsManager->FADE_LINUX = 2;
_vm->_animationManager->playAnim("EGORGE.ANM", 50, 28, 500);
_vm->_soundManager._specialSoundNum = 0;
}
_vm->_animationManager->loadAnim("ASCEN");
_vm->_eventsManager->mouseOff();
_vm->_graphicsManager.loadImage("ASCEN");
_vm->_graphicsManager.displayAllBob();
_vm->_graphicsManager->loadImage("ASCEN");
_vm->_graphicsManager->displayAllBob();
for (int i = 0; i <= 4; i++) {
if (_vm->shouldQuit())
@ -604,21 +604,21 @@ int ScriptManager::handleOpcode(byte *dataP) {
}
_vm->_eventsManager->mouseOff();
_vm->_graphicsManager.fadeInDefaultLength(_vm->_graphicsManager._vesaBuffer);
_vm->_graphicsManager->fadeInDefaultLength(_vm->_graphicsManager->_vesaBuffer);
_vm->_objectsManager.SCI_OPTI_ONE(1, 0, 17, 3);
_vm->_graphicsManager.fadeOutDefaultLength(_vm->_graphicsManager._vesaBuffer);
_vm->_graphicsManager.endDisplayBob();
_vm->_graphicsManager->fadeOutDefaultLength(_vm->_graphicsManager->_vesaBuffer);
_vm->_graphicsManager->endDisplayBob();
if ((_vm->getPlatform() == Common::kPlatformWindows) && _vm->getIsDemo())
_vm->_soundManager.playSoundFile("SOUND17.WAV");
_vm->_soundManager._specialSoundNum = 14;
_vm->_graphicsManager.FADE_LINUX = 2;
_vm->_graphicsManager->FADE_LINUX = 2;
_vm->_animationManager->playSequence2("ASSOM.SEQ", 10, 4, 500);
_vm->_soundManager._specialSoundNum = 0;
if ((_vm->getPlatform() == Common::kPlatformWindows) && _vm->getIsDemo())
_vm->_graphicsManager.fadeOutLong();
_vm->_graphicsManager->fadeOutLong();
_vm->_globals->_disableInventFl = false;
_vm->_objectsManager._helicopterFl = true;
@ -707,9 +707,9 @@ int ScriptManager::handleOpcode(byte *dataP) {
break;
case 37:
_vm->_graphicsManager.FADE_LINUX = 2;
_vm->_graphicsManager->FADE_LINUX = 2;
_vm->_animationManager->playSequence2("corde.SEQ", 32, 32, 100);
_vm->_graphicsManager._noFadingFl = true;
_vm->_graphicsManager->_noFadingFl = true;
break;
case 38:
@ -719,12 +719,12 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager._specialSoundNum = 17;
_vm->_animationManager->playSequence("grenade.SEQ", 1, 32, 100);
_vm->_soundManager._specialSoundNum = 0;
_vm->_graphicsManager.FADE_LINUX = 2;
_vm->_graphicsManager->FADE_LINUX = 2;
_vm->_animationManager->playAnim("CREVE17.ANM", 24, 24, 200);
_vm->_soundManager.removeSample(1);
_vm->_soundManager.removeSample(2);
_vm->_soundManager.removeSample(3);
_vm->_graphicsManager._noFadingFl = true;
_vm->_graphicsManager->_noFadingFl = true;
break;
case 40:
@ -802,14 +802,14 @@ int ScriptManager::handleOpcode(byte *dataP) {
playFl = false;
break;
case 12:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 249, 1);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 249, 1);
break;
case 23:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 249, 2);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 249, 2);
playFl = false;
break;
case 34:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 249, 3);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 249, 3);
playFl = false;
break;
}
@ -892,17 +892,17 @@ int ScriptManager::handleOpcode(byte *dataP) {
break;
case 51: {
_vm->_graphicsManager.fadeOutLong();
_vm->_graphicsManager->fadeOutLong();
_vm->_globals->disableHiding();
_vm->_objectsManager.removeSprite(0);
_vm->_fontManager->hideText(5);
_vm->_fontManager->hideText(9);
_vm->_graphicsManager.endDisplayBob();
_vm->_graphicsManager.loadImage("IM20f");
_vm->_graphicsManager->endDisplayBob();
_vm->_graphicsManager->loadImage("IM20f");
_vm->_animationManager->loadAnim("ANIM20f");
_vm->_graphicsManager.displayAllBob();
_vm->_graphicsManager->displayAllBob();
_vm->_eventsManager->mouseOff();
_vm->_graphicsManager.fadeInLong();
_vm->_graphicsManager->fadeInLong();
_vm->_soundManager.loadWav("SOUND46.WAV", 1);
bool playFl = false;
for (;;) {
@ -918,8 +918,8 @@ int ScriptManager::handleOpcode(byte *dataP) {
break;
}
_vm->_objectsManager.stopBobAnimation(2);
_vm->_graphicsManager.fadeOutLong();
_vm->_graphicsManager._noFadingFl = true;
_vm->_graphicsManager->fadeOutLong();
_vm->_graphicsManager->_noFadingFl = true;
_vm->_globals->_exitId = 20;
break;
}
@ -1149,7 +1149,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
if (_vm->_objectsManager.getBobAnimDataIdx(8) == 32)
break;
}
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 201, 14, 1);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 201, 14, 1);
_vm->_objectsManager.animateSprite(0);
_vm->_objectsManager.stopBobAnimation(11);
_vm->_objectsManager.stopBobAnimation(8);
@ -1250,7 +1250,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
}
_vm->_objectsManager.stopBobAnimation(1);
_vm->_objectsManager.stopBobAnimation(2);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 283, 160, 6);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 283, 160, 6);
_vm->_soundManager.removeSample(1);
}
if (_vm->_globals->_saveData->_data[svField183] == 2) {
@ -1287,7 +1287,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
}
_vm->_objectsManager.stopBobAnimation(1);
_vm->_objectsManager.stopBobAnimation(3);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 283, 161, 8);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 283, 161, 8);
_vm->_soundManager.removeSample(1);
}
break;
@ -1296,12 +1296,12 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager.playSoundFile("SOUND52.WAV");
if (!_vm->_globals->_saveData->_data[svField186]) {
_vm->_animationManager->playSequence("CIB5A.SEQ", 1, 12, 1);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 0);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 0);
}
if (_vm->_globals->_saveData->_data[svField186] == 1) {
_vm->_animationManager->playSequence("CIB5C.SEQ", 1, 12, 1);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 0);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 329, 87, 2);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 0);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 329, 87, 2);
}
break;
@ -1309,12 +1309,12 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager.playSoundFile("SOUND52.WAV");
if (!_vm->_globals->_saveData->_data[svField186]) {
_vm->_animationManager->playSequence("CIB5B.SEQ", 1, 12, 1);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 5);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 5);
}
if (_vm->_globals->_saveData->_data[svField186] == 1) {
_vm->_animationManager->playSequence("CIB5D.SEQ", 1, 12, 1);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 5);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 283, 160, 6);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 5);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 283, 160, 6);
}
break;
@ -1322,12 +1322,12 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager.playSoundFile("SOUND52.WAV");
if (!_vm->_globals->_saveData->_data[svField184]) {
_vm->_animationManager->playSequence("CIB6A.SEQ", 1, 12, 1);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 0);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 0);
}
if (_vm->_globals->_saveData->_data[svField184] == 1) {
_vm->_animationManager->playSequence("CIB6C.SEQ", 1, 12, 1);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 0);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 293, 139, 3);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 0);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 293, 139, 3);
}
break;
@ -1335,12 +1335,12 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager.playSoundFile("SOUND52.WAV");
if (!_vm->_globals->_saveData->_data[svField184]) {
_vm->_animationManager->playSequence("CIB6B.SEQ", 1, 12, 1);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 5);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 5);
}
if (_vm->_globals->_saveData->_data[svField184] == 1) {
_vm->_animationManager->playSequence("CIB6D.SEQ", 1, 12, 1);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 5);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 283, 161, 8);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 5);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 283, 161, 8);
}
break;
@ -1374,7 +1374,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_eventsManager->refreshScreenAndEvents();
} while (_vm->_objectsManager.getBobAnimDataIdx(12) != 117);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 830, 122, 0);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 830, 122, 0);
_vm->_objectsManager.stopBobAnimation(12);
_vm->_objectsManager.stopBobAnimation(10);
_vm->_objectsManager.setBobAnimation(11);
@ -1803,7 +1803,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_eventsManager->refreshScreenAndEvents();
if (_vm->_objectsManager.getBobAnimDataIdx(4) == 18)
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 18, 334, 0, false);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 18, 334, 0, false);
} while (_vm->_objectsManager.getBobAnimDataIdx(4) != 26);
_vm->_objectsManager.stopBobAnimation(4);
_vm->_objectsManager.animateSprite(0);
@ -1940,7 +1940,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager._specialSoundNum = 210;
_vm->_animationManager->playSequence2("SECRET1.SEQ", 1, 12, 1);
_vm->_soundManager._specialSoundNum = 0;
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 192, 152, 0);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 192, 152, 0);
_vm->_objectsManager.setBobAnimation(9);
_vm->_objectsManager.OBSSEUL = true;
_vm->_objectsManager.loadLinkFile("IM73a");
@ -1949,10 +1949,10 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_animationManager->NO_SEQ = false;
_vm->_globals->setHidingUseCount(0);
_vm->_globals->setHidingUseCount(1);
_vm->_graphicsManager.SETCOLOR4(252, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR4(253, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR4(251, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR4(254, 0, 0, 0);
_vm->_graphicsManager->SETCOLOR4(252, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR4(253, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR4(251, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR4(254, 0, 0, 0);
break;
case 211:
@ -1963,8 +1963,8 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_animationManager->playSequence("SECRET2.SEQ", 1, 12, 100);
_vm->_soundManager._specialSoundNum = 0;
_vm->_animationManager->NO_SEQ = false;
_vm->_graphicsManager._noFadingFl = true;
_vm->_graphicsManager.fadeOutLong();
_vm->_graphicsManager->_noFadingFl = true;
_vm->_graphicsManager->fadeOutLong();
for (int i = 1; i <= 39; i++) {
if (_vm->shouldQuit())
@ -1973,10 +1973,10 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_eventsManager->refreshScreenAndEvents();
}
_vm->_graphicsManager.SETCOLOR4(252, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR4(253, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR4(251, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR4(254, 0, 0, 0);
_vm->_graphicsManager->SETCOLOR4(252, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR4(253, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR4(251, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR4(254, 0, 0, 0);
break;
case 215:
@ -1995,7 +1995,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager._specialSoundNum = 229;
_vm->_animationManager->playSequence("MUR.SEQ", 1, 12, 1);
_vm->_soundManager._specialSoundNum = 0;
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 340, 157, 2);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 340, 157, 2);
break;
case 230: {
@ -2035,7 +2035,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_objectsManager.setSpriteX(0, 476);
_vm->_objectsManager.setSpriteY(0, 278);
_vm->_objectsManager.animateSprite(0);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 337, 154, 3);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 337, 154, 3);
_vm->_objectsManager.OBSSEUL = true;
_vm->_objectsManager.loadLinkFile("IM93c");
_vm->_objectsManager.OBSSEUL = false;
@ -2092,9 +2092,9 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_globals->_introSpeechOffFl = true;
_vm->_talkManager.startAnimatedCharacterDialogue("HRADIO.PE2");
_vm->_globals->_introSpeechOffFl = false;
_vm->_graphicsManager.fadeOutLong();
_vm->_graphicsManager->fadeOutLong();
_vm->_objectsManager.stopBobAnimation(13);
_vm->_graphicsManager._noFadingFl = true;
_vm->_graphicsManager->_noFadingFl = true;
_vm->_globals->_exitId = 94;
break;
}
@ -2111,11 +2111,11 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager.playSoundFile("SOUND83.WAV");
_vm->_objectsManager.OPTI_ONE(vbobFrameIndex, 26, 50, 0);
if (_vm->_globals->_saveData->_data[svField341] == 1)
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 27, 117, 0);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 27, 117, 0);
if (_vm->_globals->_saveData->_data[svField341] == 2)
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 145, 166, 2);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 145, 166, 2);
if (_vm->_globals->_saveData->_data[svField341] == 3)
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 296, 212, 4);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 296, 212, 4);
if (_vm->_globals->_saveData->_data[svField341] == 1)
_vm->_globals->_saveData->_data[svField338] = 0;
if (_vm->_globals->_saveData->_data[svField341] == 2)
@ -2125,7 +2125,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
}
_vm->_soundManager.playSoundFile("SOUND83.WAV");
_vm->_objectsManager.OPTI_ONE(6, 0, 23, 0);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 27, 117, 1);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 27, 117, 1);
break;
}
@ -2148,15 +2148,15 @@ int ScriptManager::handleOpcode(byte *dataP) {
switch (_vm->_globals->_saveData->_data[svField341]) {
case 1:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 27, 117, 0);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 27, 117, 0);
_vm->_globals->_saveData->_data[svField338] = 0;
break;
case 2:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 145, 166, 2);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 145, 166, 2);
_vm->_globals->_saveData->_data[svField339] = 0;
break;
case 3:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 296, 212, 4);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 296, 212, 4);
_vm->_globals->_saveData->_data[svField340] = 0;
break;
}
@ -2164,7 +2164,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager.playSoundFile("SOUND83.WAV");
_vm->_objectsManager.OPTI_ONE(5, 0, 23, 0);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 145, 166, 3);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 145, 166, 3);
break;
}
@ -2186,22 +2186,22 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_objectsManager.OPTI_ONE(vbobFrameIndex, 26, 50, 0);
switch (_vm->_globals->_saveData->_data[svField341]) {
case 1:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 27, 117, 0);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 27, 117, 0);
_vm->_globals->_saveData->_data[svField338] = 0;
break;
case 2:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 145, 166, 2);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 145, 166, 2);
_vm->_globals->_saveData->_data[svField339] = 0;
break;
case 3:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 296, 212, 4);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 296, 212, 4);
_vm->_globals->_saveData->_data[svField340] = 0;
break;
}
}
_vm->_soundManager.playSoundFile("SOUND83.WAV");
_vm->_objectsManager.OPTI_ONE(4, 0, 23, 0);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 296, 212, 5);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 296, 212, 5);
break;
}
@ -2284,7 +2284,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_globals->_saveData->_data[svField356] = 0;
_vm->_globals->_saveData->_data[svField355] = 1;
_vm->_objectsManager._twoCharactersFl = true;
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 373, 191, 3);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 373, 191, 3);
_vm->_objectsManager.addStaticSprite(_vm->_objectsManager._headSprites, samantha->_pos, 1, 3, samantha->_zoomFactor, false, 20, 127);
_vm->_objectsManager.animateSprite(1);
break;
@ -2306,7 +2306,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_objectsManager.OPTI_ONE(5, 0, 6, 0);
_vm->_linesManager.ZONEP[4]._destX = 276;
_vm->_objectsManager.enableVerb(4, 19);
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 285, 379, 0);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 285, 379, 0);
_vm->_globals->_saveData->_data[svField399] = 1;
break;
@ -2314,83 +2314,83 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_objectsManager.removeSprite(0);
_vm->_objectsManager.OPTI_ONE(6, 0, 15, 0);
_vm->_objectsManager.PERSO_ON = true;
_vm->_graphicsManager.NB_SCREEN(true);
_vm->_graphicsManager->NB_SCREEN(true);
_vm->_animationManager->NO_SEQ = true;
_vm->_animationManager->playSequence2("TUNNEL.SEQ", 1, 18, 20);
_vm->_animationManager->NO_SEQ = false;
_vm->_graphicsManager._noFadingFl = true;
_vm->_graphicsManager.fadeOutLong();
_vm->_graphicsManager->_noFadingFl = true;
_vm->_graphicsManager->fadeOutLong();
_vm->_objectsManager.PERSO_ON = false;
_vm->_globals->_exitId = 100;
break;
case 600:
if (!_vm->getIsDemo()) {
_vm->_graphicsManager.FADE_LINUX = 2;
_vm->_graphicsManager._fadeDefaultSpeed = 1;
_vm->_graphicsManager->FADE_LINUX = 2;
_vm->_graphicsManager->_fadeDefaultSpeed = 1;
_vm->_animationManager->playAnim("BOMBE1A.ANM", 100, 18, 100);
}
_vm->_graphicsManager.loadImage("BOMBEB");
_vm->_graphicsManager.SETCOLOR3(252, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(253, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(251, 100, 100, 100);
_vm->_graphicsManager.SETCOLOR3(254, 0, 0, 0);
_vm->_graphicsManager.initScreen("BOMBE", 2, true);
_vm->_graphicsManager.fadeInShort();
_vm->_graphicsManager->loadImage("BOMBEB");
_vm->_graphicsManager->SETCOLOR3(252, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR3(253, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR3(251, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR3(254, 0, 0, 0);
_vm->_graphicsManager->initScreen("BOMBE", 2, true);
_vm->_graphicsManager->fadeInShort();
break;
case 601:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
_vm->_objectsManager.OPTI_ONE(2, 0, 16, 4);
break;
case 602:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
_vm->_objectsManager.OPTI_ONE(4, 0, 16, 4);
break;
case 603:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
_vm->_objectsManager.OPTI_ONE(3, 0, 16, 4);
_vm->_soundManager._specialSoundNum = 199;
_vm->_graphicsManager.FADE_LINUX = 2;
_vm->_graphicsManager->FADE_LINUX = 2;
_vm->_animationManager->playAnim("BOMBE2A.ANM", 50, 14, 500);
_vm->_soundManager._specialSoundNum = 0;
memset(_vm->_graphicsManager._vesaBuffer, 0, 614400);
_vm->_graphicsManager._noFadingFl = true;
memset(_vm->_graphicsManager->_vesaBuffer, 0, 614400);
_vm->_graphicsManager->_noFadingFl = true;
_vm->_globals->_exitId = 151;
break;
case 604:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
_vm->_objectsManager.OPTI_ONE(1, 0, 16, 4);
_vm->_soundManager._specialSoundNum = 199;
_vm->_animationManager->playAnim("BOMBE2A.ANM", 50, 14, 500);
_vm->_soundManager._specialSoundNum = 0;
_vm->_graphicsManager._noFadingFl = true;
memset(_vm->_graphicsManager._vesaBuffer, 0, 614400);
_vm->_graphicsManager->_noFadingFl = true;
memset(_vm->_graphicsManager->_vesaBuffer, 0, 614400);
_vm->_globals->_exitId = 151;
break;
case 605:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
_vm->_objectsManager.OPTI_ONE(5, 0, 16, 4);
_vm->_graphicsManager.fadeOutShort();
_vm->_graphicsManager->fadeOutShort();
_vm->_soundManager._specialSoundNum = 199;
_vm->_graphicsManager.FADE_LINUX = 2;
_vm->_graphicsManager->FADE_LINUX = 2;
_vm->_animationManager->playAnim("BOMBE2A.ANM", 50, 14, 500);
_vm->_soundManager._specialSoundNum = 0;
_vm->_graphicsManager._noFadingFl = true;
memset(_vm->_graphicsManager._vesaBuffer, 0, 614400);
_vm->_graphicsManager->_noFadingFl = true;
memset(_vm->_graphicsManager->_vesaBuffer, 0, 614400);
_vm->_globals->_exitId = 151;
break;
case 606:
_vm->_graphicsManager.fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
_vm->_objectsManager.OPTI_ONE(6, 0, 16, 4);
if ((_vm->getPlatform() != Common::kPlatformWindows) || !_vm->getIsDemo()) {
_vm->_animationManager->playAnim("BOMBE3A.ANM", 50, 14, 500);
memset(_vm->_graphicsManager._vesaBuffer, 0, 614400);
memset(_vm->_graphicsManager->_vesaBuffer, 0, 614400);
}
_vm->_globals->_exitId = 6;
break;
@ -2398,10 +2398,10 @@ int ScriptManager::handleOpcode(byte *dataP) {
case 607:
// Display bomb plan
if (!_vm->getIsDemo()) {
memcpy(_vm->_graphicsManager._oldPalette, _vm->_graphicsManager._palette, 769);
memcpy(_vm->_graphicsManager->_oldPalette, _vm->_graphicsManager->_palette, 769);
_vm->_animationManager->playAnim2("PLAN.ANM", 50, 10, 800);
}
_vm->_graphicsManager.resetDirtyRects();
_vm->_graphicsManager->resetDirtyRects();
break;
case 608:

View File

@ -55,7 +55,7 @@ void TalkManager::startAnimatedCharacterDialogue(const Common::String &filename)
_vm->_fontManager->hideText(5);
_vm->_fontManager->hideText(9);
_vm->_eventsManager->refreshScreenAndEvents();
_vm->_graphicsManager._scrollStatus = 1;
_vm->_graphicsManager->_scrollStatus = 1;
bool oldDisableInventFl = _vm->_globals->_disableInventFl;
_vm->_globals->_disableInventFl = true;
_characterBuffer = _vm->_fileManager->searchCat(filename, RES_PER);
@ -86,14 +86,14 @@ void TalkManager::startAnimatedCharacterDialogue(const Common::String &filename)
_characterSprite = _vm->_objectsManager.loadSprite("RES_SAN.RES");
}
if (_vm->_graphicsManager._lineNbr == SCREEN_WIDTH)
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager._vesaScreen, 307200);
else if (_vm->_graphicsManager._lineNbr == (SCREEN_WIDTH * 2))
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager._vesaScreen, 614400);
if (_vm->_graphicsManager->_lineNbr == SCREEN_WIDTH)
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager->_vesaScreen, 307200);
else if (_vm->_graphicsManager->_lineNbr == (SCREEN_WIDTH * 2))
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager->_vesaScreen, 614400);
if (!_vm->_graphicsManager._lineNbr)
_vm->_graphicsManager._scrollOffset = 0;
_vm->_graphicsManager.NB_SCREEN(true);
if (!_vm->_graphicsManager->_lineNbr)
_vm->_graphicsManager->_scrollOffset = 0;
_vm->_graphicsManager->NB_SCREEN(true);
_vm->_objectsManager.PERSO_ON = true;
searchCharacterPalette(_paletteBufferIdx, false);
startCharacterAnim0(_paletteBufferIdx, false);
@ -127,31 +127,31 @@ void TalkManager::startAnimatedCharacterDialogue(const Common::String &filename)
_vm->_globals->_introSpeechOffFl = false;
_characterBuffer = _vm->_globals->freeMemory(_characterBuffer);
_characterSprite = _vm->_globals->freeMemory(_characterSprite);
_vm->_graphicsManager.NB_SCREEN(false);
_vm->_graphicsManager->NB_SCREEN(false);
_vm->_saveLoadManager.load("TEMP.SCR", _vm->_graphicsManager._vesaScreen);
_vm->_saveLoadManager.load("TEMP.SCR", _vm->_graphicsManager->_vesaScreen);
g_system->getSavefileManager()->removeSavefile("TEMP.SCR");
_vm->_objectsManager.PERSO_ON = false;
_vm->_eventsManager->_mouseCursorId = oldMouseCursorId;
_vm->_eventsManager->changeMouseCursor(oldMouseCursorId);
_vm->_graphicsManager.SETCOLOR3(253, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR3(253, 100, 100, 100);
if (_vm->getIsDemo() == false)
_vm->_graphicsManager.SETCOLOR3(254, 0, 0, 0);
_vm->_graphicsManager->SETCOLOR3(254, 0, 0, 0);
_vm->_graphicsManager.initColorTable(145, 150, _vm->_graphicsManager._palette);
_vm->_graphicsManager.setPaletteVGA256(_vm->_graphicsManager._palette);
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager.m_scroll16(_vm->_graphicsManager._vesaScreen, _vm->_eventsManager->_startPos.x, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager.unlockScreen();
memcpy(_vm->_graphicsManager._vesaBuffer, _vm->_graphicsManager._vesaScreen, 614399);
_vm->_graphicsManager->initColorTable(145, 150, _vm->_graphicsManager->_palette);
_vm->_graphicsManager->setPaletteVGA256(_vm->_graphicsManager->_palette);
_vm->_graphicsManager->lockScreen();
_vm->_graphicsManager->m_scroll16(_vm->_graphicsManager->_vesaScreen, _vm->_eventsManager->_startPos.x, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->unlockScreen();
memcpy(_vm->_graphicsManager->_vesaBuffer, _vm->_graphicsManager->_vesaScreen, 614399);
_vm->_globals->_disableInventFl = oldDisableInventFl;
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->updateScreen();
for (int i = 0; i <= 4; i++)
_vm->_eventsManager->refreshScreenAndEvents();
_vm->_graphicsManager._scrollStatus = 0;
_vm->_graphicsManager->_scrollStatus = 0;
}
void TalkManager::startStaticCharacterDialogue(const Common::String &filename) {
@ -218,8 +218,8 @@ void TalkManager::startStaticCharacterDialogue(const Common::String &filename) {
_vm->_eventsManager->_mouseCursorId = oldMouseCursorId;
_vm->_eventsManager->changeMouseCursor(oldMouseCursorId);
_vm->_graphicsManager.initColorTable(145, 150, _vm->_graphicsManager._palette);
_vm->_graphicsManager.setPaletteVGA256(_vm->_graphicsManager._palette);
_vm->_graphicsManager->initColorTable(145, 150, _vm->_graphicsManager->_palette);
_vm->_graphicsManager->setPaletteVGA256(_vm->_graphicsManager->_palette);
// TODO: The original re-enables the mouse cursor here
_vm->_globals->_disableInventFl = oldDisableInventFl;
}
@ -467,8 +467,8 @@ void TalkManager::searchCharacterPalette(int startIdx, bool dark) {
else
_characterPalette[761] = 255;
_vm->_graphicsManager.setPaletteVGA256(_characterPalette);
_vm->_graphicsManager.initColorTable(145, 150, _characterPalette);
_vm->_graphicsManager->setPaletteVGA256(_characterPalette);
_vm->_graphicsManager->initColorTable(145, 150, _characterPalette);
}
void TalkManager::dialogWait() {
@ -642,7 +642,7 @@ void TalkManager::startCharacterAnim0(int startIdx, bool readOnlyFl) {
if (!READ_LE_INT16(&_characterAnim[2 * idx + 4]))
break;
if (_vm->_globals->_speed != 501)
_vm->_graphicsManager.fastDisplay(_characterSprite, _vm->_eventsManager->_startPos.x + READ_LE_INT16(&_characterAnim[2 * idx]),
_vm->_graphicsManager->fastDisplay(_characterSprite, _vm->_eventsManager->_startPos.x + READ_LE_INT16(&_characterAnim[2 * idx]),
READ_LE_INT16(&_characterAnim[2 * idx + 2]), _characterAnim[2 * idx + 8]);
idx += 5;
} while (_vm->_globals->_speed != 501);
@ -967,7 +967,7 @@ void TalkManager::animateObject(const Common::String &filename) {
_vm->_fontManager->hideText(5);
_vm->_fontManager->hideText(9);
_vm->_eventsManager->refreshScreenAndEvents();
_vm->_graphicsManager._scrollStatus = 1;
_vm->_graphicsManager->_scrollStatus = 1;
_vm->_linesManager.clearAllZones();
_vm->_linesManager.resetLines();
_vm->_globals->resetHidingItems();
@ -1000,16 +1000,16 @@ void TalkManager::animateObject(const Common::String &filename) {
else
_characterSprite = _vm->_objectsManager.loadSprite("RES_SAN.RES");
if (_vm->_graphicsManager._lineNbr == SCREEN_WIDTH)
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager._vesaScreen, 307200);
else if (_vm->_graphicsManager._lineNbr == (SCREEN_WIDTH * 2))
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager._vesaScreen, 614400);
if (_vm->_graphicsManager->_lineNbr == SCREEN_WIDTH)
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager->_vesaScreen, 307200);
else if (_vm->_graphicsManager->_lineNbr == (SCREEN_WIDTH * 2))
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager->_vesaScreen, 614400);
if (!_vm->_graphicsManager._lineNbr)
_vm->_graphicsManager._scrollOffset = 0;
_vm->_graphicsManager.NB_SCREEN(true);
if (!_vm->_graphicsManager->_lineNbr)
_vm->_graphicsManager->_scrollOffset = 0;
_vm->_graphicsManager->NB_SCREEN(true);
_paletteBufferIdx = 20 * READ_LE_INT16((uint16 *)_characterBuffer + 42) + 110;
_vm->_graphicsManager.NB_SCREEN(true);
_vm->_graphicsManager->NB_SCREEN(true);
_vm->_objectsManager.PERSO_ON = true;
searchCharacterPalette(_paletteBufferIdx, true);
startCharacterAnim0(_paletteBufferIdx, false);
@ -1023,7 +1023,7 @@ void TalkManager::animateObject(const Common::String &filename) {
initCharacterAnim();
VISU_PARLE();
dialogWait();
_vm->_graphicsManager.initScreen(screenFilename, 2, true);
_vm->_graphicsManager->initScreen(screenFilename, 2, true);
_vm->_globals->_freezeCharacterFl = true;
_vm->_objectsManager._forceZoneFl = true;
_vm->_objectsManager._zoneNum = -1;
@ -1046,7 +1046,7 @@ void TalkManager::animateObject(const Common::String &filename) {
_vm->_globals->_introSpeechOffFl = false;
_characterBuffer = _vm->_globals->freeMemory(_characterBuffer);
_characterSprite = _vm->_globals->freeMemory(_characterSprite);
_vm->_graphicsManager.NB_SCREEN(false);
_vm->_graphicsManager->NB_SCREEN(false);
_vm->_linesManager.clearAllZones();
_vm->_linesManager.resetLines();
_vm->_globals->resetHidingItems();
@ -1057,35 +1057,35 @@ void TalkManager::animateObject(const Common::String &filename) {
_vm->_globals->_answerBuffer = oldAnswerBufferPtr;
_vm->_objectsManager._disableFl = true;
_vm->_objectsManager.loadLinkFile(curScreenFilename);
_vm->_graphicsManager.initScreen(curScreenFilename, 2, true);
_vm->_graphicsManager->initScreen(curScreenFilename, 2, true);
_vm->_objectsManager._disableFl = false;
_vm->_globals->_freezeCharacterFl = false;
if (_vm->_globals->_exitId == 101)
_vm->_globals->_exitId = 0;
_vm->_saveLoadManager.load("TEMP.SCR", _vm->_graphicsManager._vesaScreen);
_vm->_saveLoadManager.load("TEMP.SCR", _vm->_graphicsManager->_vesaScreen);
g_system->getSavefileManager()->removeSavefile("TEMP.SCR");
_vm->_objectsManager.PERSO_ON = false;
_vm->_eventsManager->_mouseCursorId = 4;
_vm->_eventsManager->changeMouseCursor(4);
_vm->_graphicsManager.SETCOLOR3(253, 100, 100, 100);
_vm->_graphicsManager->SETCOLOR3(253, 100, 100, 100);
if (!_vm->getIsDemo())
_vm->_graphicsManager.SETCOLOR3(254, 0, 0, 0);
_vm->_graphicsManager->SETCOLOR3(254, 0, 0, 0);
_vm->_graphicsManager.initColorTable(145, 150, _vm->_graphicsManager._palette);
_vm->_graphicsManager.setPaletteVGA256(_vm->_graphicsManager._palette);
_vm->_graphicsManager.lockScreen();
_vm->_graphicsManager.m_scroll16(_vm->_graphicsManager._vesaScreen, _vm->_eventsManager->_startPos.x, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager.unlockScreen();
_vm->_graphicsManager.setPaletteVGA256(_vm->_graphicsManager._palette);
memcpy(_vm->_graphicsManager._vesaBuffer, _vm->_graphicsManager._vesaScreen, 614399);
_vm->_graphicsManager->initColorTable(145, 150, _vm->_graphicsManager->_palette);
_vm->_graphicsManager->setPaletteVGA256(_vm->_graphicsManager->_palette);
_vm->_graphicsManager->lockScreen();
_vm->_graphicsManager->m_scroll16(_vm->_graphicsManager->_vesaScreen, _vm->_eventsManager->_startPos.x, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0, 0);
_vm->_graphicsManager->unlockScreen();
_vm->_graphicsManager->setPaletteVGA256(_vm->_graphicsManager->_palette);
memcpy(_vm->_graphicsManager->_vesaBuffer, _vm->_graphicsManager->_vesaScreen, 614399);
_vm->_globals->_disableInventFl = false;
_vm->_graphicsManager.updateScreen();
_vm->_graphicsManager->updateScreen();
for (int i = 0; i <= 4; i++)
_vm->_eventsManager->refreshScreenAndEvents();
_vm->_graphicsManager._scrollStatus = 0;
_vm->_graphicsManager->_scrollStatus = 0;
}
} // End of namespace Hopkins