mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-24 21:21:05 +00:00
HOPKINS: Remove setParent() from MenuManager and ObjectsManager
This commit is contained in:
parent
56ae004475
commit
c5c7ced5ee
@ -520,8 +520,8 @@ int AnimationManager::loadSpriteBank(int idx, const Common::String &filename) {
|
||||
|
||||
int objectDataIdx = 0;
|
||||
for(objectDataIdx = 0; objectDataIdx <= 249; objectDataIdx++) {
|
||||
int width = _vm->_objectsManager.getWidth(fileDataPtr, objectDataIdx);
|
||||
int height = _vm->_objectsManager.getHeight(fileDataPtr, objectDataIdx);
|
||||
int width = _vm->_objectsManager->getWidth(fileDataPtr, objectDataIdx);
|
||||
int height = _vm->_objectsManager->getHeight(fileDataPtr, objectDataIdx);
|
||||
if (!width && !height)
|
||||
break;
|
||||
}
|
||||
@ -551,9 +551,9 @@ int AnimationManager::loadSpriteBank(int idx, const Common::String &filename) {
|
||||
int x2 = READ_LE_INT16(curOfsData + 4);
|
||||
int y2 = READ_LE_INT16(curOfsData + 6);
|
||||
|
||||
_vm->_objectsManager.setOffsetXY(_vm->_globals->Bank[idx]._data, objIdx, x1, y1, 0);
|
||||
_vm->_objectsManager->setOffsetXY(_vm->_globals->Bank[idx]._data, objIdx, x1, y1, 0);
|
||||
if (_vm->_globals->Bank[idx]._fileHeader == 2)
|
||||
_vm->_objectsManager.setOffsetXY(_vm->_globals->Bank[idx]._data, objIdx, x2, y2, 1);
|
||||
_vm->_objectsManager->setOffsetXY(_vm->_globals->Bank[idx]._data, objIdx, x2, y2, 1);
|
||||
}
|
||||
|
||||
_vm->_globals->freeMemory(ofsData);
|
||||
|
@ -530,7 +530,7 @@ void ComputerManager::readText(int idx) {
|
||||
* Display breakout when Games sub-menu is selected
|
||||
*/
|
||||
void ComputerManager::displayGamesSubMenu() {
|
||||
const byte *oldSpriteData = _vm->_objectsManager._sprite[0]._spriteData;
|
||||
const byte *oldSpriteData = _vm->_objectsManager->_sprite[0]._spriteData;
|
||||
uint oldSpeed = _vm->_globals->_speed;
|
||||
|
||||
_vm->_globals->_speed = 1;
|
||||
@ -562,7 +562,7 @@ void ComputerManager::displayGamesSubMenu() {
|
||||
_vm->_graphicsManager->resetDirtyRects();
|
||||
_breakoutSpr = _vm->_globals->freeMemory(_breakoutSpr);
|
||||
_breakoutLevel = (int16 *)_vm->_globals->freeMemory((byte *)_breakoutLevel);
|
||||
_vm->_objectsManager._sprite[0]._spriteData = oldSpriteData;
|
||||
_vm->_objectsManager->_sprite[0]._spriteData = oldSpriteData;
|
||||
|
||||
_vm->_soundManager.removeSample(1);
|
||||
_vm->_soundManager.removeSample(2);
|
||||
@ -619,8 +619,8 @@ void ComputerManager::setModeVGA256() {
|
||||
* Load new level
|
||||
*/
|
||||
void ComputerManager::newLevel() {
|
||||
_vm->_objectsManager.removeSprite(0);
|
||||
_vm->_objectsManager.removeSprite(1);
|
||||
_vm->_objectsManager->removeSprite(0);
|
||||
_vm->_objectsManager->removeSprite(1);
|
||||
++_breakoutLives;
|
||||
if (_breakoutLives > 11)
|
||||
_breakoutLives = 11;
|
||||
@ -643,13 +643,13 @@ void ComputerManager::newLevel() {
|
||||
_breakoutLevel = (int16 *)_vm->_fileManager->loadFile(file);
|
||||
displayBricks();
|
||||
|
||||
_vm->_objectsManager.addStaticSprite(_breakoutSpr, Common::Point(150, 192), 0, 13, 0, false, 0, 0);
|
||||
_vm->_objectsManager.addStaticSprite(_breakoutSpr, Common::Point(164, 187), 1, 14, 0, false, 0, 0);
|
||||
_vm->_objectsManager->addStaticSprite(_breakoutSpr, Common::Point(150, 192), 0, 13, 0, false, 0, 0);
|
||||
_vm->_objectsManager->addStaticSprite(_breakoutSpr, Common::Point(164, 187), 1, 14, 0, false, 0, 0);
|
||||
|
||||
_ballPosition = Common::Point(164, 187);
|
||||
_padPositionX = 150;
|
||||
_vm->_objectsManager.animateSprite(0);
|
||||
_vm->_objectsManager.animateSprite(1);
|
||||
_vm->_objectsManager->animateSprite(0);
|
||||
_vm->_objectsManager->animateSprite(1);
|
||||
|
||||
_vm->_eventsManager->mouseOn();
|
||||
_vm->_soundManager.playSample(3, 5);
|
||||
@ -727,8 +727,8 @@ void ComputerManager::playBreakout() {
|
||||
// Set up the racket and ball
|
||||
_vm->_eventsManager->mouseOff();
|
||||
_ballPosition = Common::Point(_padPositionX + 14, 187);
|
||||
_vm->_objectsManager.setSpriteY(1, 187);
|
||||
_vm->_objectsManager.setSpriteX(1, _ballPosition.x);
|
||||
_vm->_objectsManager->setSpriteY(1, 187);
|
||||
_vm->_objectsManager->setSpriteX(1, _ballPosition.x);
|
||||
|
||||
_vm->_graphicsManager->resetDirtyRects();
|
||||
_vm->_eventsManager->refreshScreenAndEvents();
|
||||
@ -741,9 +741,9 @@ void ComputerManager::playBreakout() {
|
||||
_padPositionX = 5;
|
||||
if (_padPositionX > 282)
|
||||
_padPositionX = 282;
|
||||
_vm->_objectsManager.setSpriteX(0, _padPositionX);
|
||||
_vm->_objectsManager.setSpriteX(1, _padPositionX + 14);
|
||||
_vm->_objectsManager.setSpriteY(1, 187);
|
||||
_vm->_objectsManager->setSpriteX(0, _padPositionX);
|
||||
_vm->_objectsManager->setSpriteX(1, _padPositionX + 14);
|
||||
_vm->_objectsManager->setSpriteY(1, 187);
|
||||
_vm->_eventsManager->refreshScreenAndEvents();
|
||||
} while (!_vm->shouldQuit() && _vm->_eventsManager->getMouseButton() != 1);
|
||||
|
||||
@ -761,7 +761,7 @@ void ComputerManager::playBreakout() {
|
||||
_padPositionX = 5;
|
||||
if (_padPositionX > 282)
|
||||
_padPositionX = 282;
|
||||
_vm->_objectsManager.setSpriteX(0, _padPositionX);
|
||||
_vm->_objectsManager->setSpriteX(0, _padPositionX);
|
||||
lastBreakoutEvent = moveBall();
|
||||
_vm->_eventsManager->refreshScreenAndEvents();
|
||||
} while (!_vm->shouldQuit() && !lastBreakoutEvent);
|
||||
@ -778,8 +778,8 @@ void ComputerManager::playBreakout() {
|
||||
|
||||
_vm->_graphicsManager->fadeOutBreakout();
|
||||
_vm->_eventsManager->mouseOn();
|
||||
_vm->_objectsManager.removeSprite(0);
|
||||
_vm->_objectsManager.removeSprite(1);
|
||||
_vm->_objectsManager->removeSprite(0);
|
||||
_vm->_objectsManager->removeSprite(1);
|
||||
if (_breakoutScore > _breakoutHiscore)
|
||||
getScoreName();
|
||||
if (displayHiscores() != 1)
|
||||
@ -1094,8 +1094,8 @@ int ComputerManager::moveBall() {
|
||||
if (_ballPosition.y > 194)
|
||||
retVal = 1;
|
||||
checkBallCollisions();
|
||||
_vm->_objectsManager.setSpriteX(1, _ballPosition.x);
|
||||
_vm->_objectsManager.setSpriteY(1, _ballPosition.y);
|
||||
_vm->_objectsManager->setSpriteX(1, _ballPosition.x);
|
||||
_vm->_objectsManager->setSpriteY(1, _ballPosition.y);
|
||||
if (!_breakoutBrickNbr)
|
||||
retVal = 2;
|
||||
return retVal;
|
||||
|
@ -311,8 +311,8 @@ void DialogsManager::showInventory() {
|
||||
return;
|
||||
|
||||
_vm->_graphicsManager->_scrollStatus = 1;
|
||||
_vm->_objectsManager._eraseVisibleCounter = 4;
|
||||
_vm->_objectsManager._visibleFl = false;
|
||||
_vm->_objectsManager->_eraseVisibleCounter = 4;
|
||||
_vm->_objectsManager->_visibleFl = false;
|
||||
for (int i = 0; i <= 1; i++) {
|
||||
inventAnim();
|
||||
_vm->_eventsManager->getMouseX();
|
||||
@ -359,8 +359,8 @@ void DialogsManager::showInventory() {
|
||||
|
||||
_inventX = _vm->_graphicsManager->_scrollOffset + 152;
|
||||
_inventY = 114;
|
||||
_inventWidth = _vm->_objectsManager.getWidth(_inventWin1, 0);
|
||||
_inventHeight = _vm->_objectsManager.getHeight(_inventWin1, 0);
|
||||
_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);
|
||||
int curPosY = 0;
|
||||
@ -372,7 +372,7 @@ void DialogsManager::showInventory() {
|
||||
int inventIdx = _vm->_globals->_inventory[inventCount];
|
||||
// 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);
|
||||
byte *obj = _vm->_objectsManager->loadObjectFromFile(inventIdx, false);
|
||||
_vm->_graphicsManager->restoreSurfaceRect(_vm->_graphicsManager->_vesaBuffer, obj, _inventX + curPosX + 6,
|
||||
curPosY + 120, _vm->_globals->_objectWidth, _vm->_globals->_objectHeight);
|
||||
_vm->_globals->freeMemory(obj);
|
||||
@ -396,10 +396,10 @@ void DialogsManager::showInventory() {
|
||||
int oldInventoryItem = newInventoryItem;
|
||||
newInventoryItem = _vm->_linesManager->checkInventoryHotspots(mousePosX, mousePosY);
|
||||
if (newInventoryItem != oldInventoryItem)
|
||||
_vm->_objectsManager.initBorder(newInventoryItem);
|
||||
_vm->_objectsManager->initBorder(newInventoryItem);
|
||||
if (_vm->_eventsManager->_mouseCursorId != 1 && _vm->_eventsManager->_mouseCursorId != 2 && _vm->_eventsManager->_mouseCursorId != 3 && _vm->_eventsManager->_mouseCursorId != 16) {
|
||||
if (mouseButton == 2) {
|
||||
_vm->_objectsManager.nextObjectIcon(newInventoryItem);
|
||||
_vm->_objectsManager->nextObjectIcon(newInventoryItem);
|
||||
if (_vm->_eventsManager->_mouseCursorId != 23)
|
||||
_vm->_eventsManager->changeMouseCursor(_vm->_eventsManager->_mouseCursorId);
|
||||
}
|
||||
@ -407,15 +407,15 @@ void DialogsManager::showInventory() {
|
||||
if (mouseButton == 1) {
|
||||
if (_vm->_eventsManager->_mouseCursorId == 1 || _vm->_eventsManager->_mouseCursorId == 2 || _vm->_eventsManager->_mouseCursorId == 3 || _vm->_eventsManager->_mouseCursorId == 16 || !_vm->_eventsManager->_mouseCursorId)
|
||||
break;
|
||||
_vm->_objectsManager.takeInventoryObject(_vm->_globals->_inventory[newInventoryItem]);
|
||||
_vm->_objectsManager->takeInventoryObject(_vm->_globals->_inventory[newInventoryItem]);
|
||||
if (_vm->_eventsManager->_mouseCursorId == 8)
|
||||
break;
|
||||
|
||||
_vm->_scriptManager._tempObjectFl = true;
|
||||
_vm->_globals->_saveData->_data[svLastObjectIndex] = _vm->_objectsManager._curObjectIndex;
|
||||
_vm->_globals->_saveData->_data[svLastObjectIndex] = _vm->_objectsManager->_curObjectIndex;
|
||||
_vm->_globals->_saveData->_data[svLastInventoryItem] = _vm->_globals->_inventory[newInventoryItem];
|
||||
_vm->_globals->_saveData->_data[svLastInvMouseCursor] = _vm->_eventsManager->_mouseCursorId;
|
||||
_vm->_objectsManager.OPTI_OBJET();
|
||||
_vm->_objectsManager->OPTI_OBJET();
|
||||
_vm->_scriptManager._tempObjectFl = false;
|
||||
|
||||
if (_vm->_soundManager._voiceOffFl) {
|
||||
@ -442,7 +442,7 @@ void DialogsManager::showInventory() {
|
||||
break;
|
||||
_vm->_eventsManager->refreshScreenAndEvents();
|
||||
if (_vm->_globals->_screenId >= 35 && _vm->_globals->_screenId <= 40)
|
||||
_vm->_objectsManager.handleSpecialGames();
|
||||
_vm->_objectsManager->handleSpecialGames();
|
||||
}
|
||||
} while (loopFl);
|
||||
|
||||
@ -451,7 +451,7 @@ void DialogsManager::showInventory() {
|
||||
_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->_objectsManager.BOBTOUS = true;
|
||||
_vm->_objectsManager->BOBTOUS = true;
|
||||
}
|
||||
|
||||
_inventWin1 = _vm->_globals->freeMemory(_inventWin1);
|
||||
@ -466,8 +466,8 @@ void DialogsManager::showInventory() {
|
||||
|
||||
_vm->_eventsManager->_mouseCursorId = 4;
|
||||
_vm->_eventsManager->changeMouseCursor(4);
|
||||
_vm->_objectsManager._oldBorderPos = Common::Point(0, 0);
|
||||
_vm->_objectsManager._borderPos = Common::Point(0, 0);
|
||||
_vm->_objectsManager->_oldBorderPos = Common::Point(0, 0);
|
||||
_vm->_objectsManager->_borderPos = Common::Point(0, 0);
|
||||
_vm->_globals->_disableInventFl = false;
|
||||
_vm->_graphicsManager->_scrollStatus = 0;
|
||||
}
|
||||
@ -479,41 +479,41 @@ void DialogsManager::inventAnim() {
|
||||
if (_vm->_globals->_disableInventFl)
|
||||
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->_objectsManager._eraseVisibleCounter;
|
||||
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->_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);
|
||||
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->addDirtyRect(_vm->_objectsManager._oldInventoryPosX, 27, _vm->_objectsManager._oldInventoryPosX + 48, 65);
|
||||
_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;
|
||||
_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->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->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->Affiche_Perfect(_vm->_graphicsManager->_vesaBuffer, _vm->_objectsManager->_headSprites, 832, 325, 0, 0, 0, false);
|
||||
_vm->_graphicsManager->addDirtyRect(532, 25, 560, 60);
|
||||
}
|
||||
}
|
||||
@ -571,20 +571,20 @@ void DialogsManager::showLoadGame() {
|
||||
slotNumber = searchSavegames();
|
||||
_vm->_eventsManager->refreshScreenAndEvents();
|
||||
} while (!_vm->shouldQuit() && (!slotNumber || _vm->_eventsManager->getMouseButton() != 1));
|
||||
_vm->_objectsManager._saveLoadFl = false;
|
||||
_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->_objectsManager.BOBTOUS = true;
|
||||
_vm->_objectsManager._saveLoadSprite = _vm->_globals->freeMemory(_vm->_objectsManager._saveLoadSprite);
|
||||
_vm->_objectsManager._saveLoadSprite2 = _vm->_globals->freeMemory(_vm->_objectsManager._saveLoadSprite2);
|
||||
_vm->_objectsManager._saveLoadX = 0;
|
||||
_vm->_objectsManager._saveLoadY = 0;
|
||||
_vm->_objectsManager->BOBTOUS = true;
|
||||
_vm->_objectsManager->_saveLoadSprite = _vm->_globals->freeMemory(_vm->_objectsManager->_saveLoadSprite);
|
||||
_vm->_objectsManager->_saveLoadSprite2 = _vm->_globals->freeMemory(_vm->_objectsManager->_saveLoadSprite2);
|
||||
_vm->_objectsManager->_saveLoadX = 0;
|
||||
_vm->_objectsManager->_saveLoadY = 0;
|
||||
|
||||
if (slotNumber != 7) {
|
||||
_vm->_saveLoadManager.loadGame(slotNumber);
|
||||
}
|
||||
|
||||
_vm->_objectsManager.changeObject(14);
|
||||
_vm->_objectsManager->changeObject(14);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -600,14 +600,14 @@ void DialogsManager::showSaveGame() {
|
||||
_vm->_eventsManager->refreshScreenAndEvents();
|
||||
} while (!_vm->shouldQuit() && (!slotNumber || _vm->_eventsManager->getMouseButton() != 1));
|
||||
|
||||
_vm->_objectsManager._saveLoadFl = false;
|
||||
_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->_objectsManager.BOBTOUS = true;
|
||||
_vm->_objectsManager._saveLoadSprite = _vm->_globals->freeMemory(_vm->_objectsManager._saveLoadSprite);
|
||||
_vm->_objectsManager._saveLoadSprite2 = _vm->_globals->freeMemory(_vm->_objectsManager._saveLoadSprite2);
|
||||
_vm->_objectsManager._saveLoadX = 0;
|
||||
_vm->_objectsManager._saveLoadY = 0;
|
||||
_vm->_objectsManager->BOBTOUS = true;
|
||||
_vm->_objectsManager->_saveLoadSprite = _vm->_globals->freeMemory(_vm->_objectsManager->_saveLoadSprite);
|
||||
_vm->_objectsManager->_saveLoadSprite2 = _vm->_globals->freeMemory(_vm->_objectsManager->_saveLoadSprite2);
|
||||
_vm->_objectsManager->_saveLoadX = 0;
|
||||
_vm->_objectsManager->_saveLoadY = 0;
|
||||
|
||||
if (slotNumber != 7) {
|
||||
// Since the original GUI doesn't support save names, use a default name
|
||||
@ -640,20 +640,20 @@ 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->_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);
|
||||
|
||||
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) {
|
||||
@ -691,10 +691,10 @@ void DialogsManager::showSaveLoad(SaveLoadMode mode) {
|
||||
}
|
||||
}
|
||||
|
||||
_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;
|
||||
_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;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -710,41 +710,41 @@ int DialogsManager::searchSavegames() {
|
||||
if (yp >= 112 && yp <= 198) {
|
||||
if (xp > _vm->_eventsManager->_startPos.x + 189 && xp < _vm->_eventsManager->_startPos.x + 318) {
|
||||
slotNumber = 1;
|
||||
_vm->_objectsManager._saveLoadX = 189;
|
||||
_vm->_objectsManager._saveLoadY = 111;
|
||||
_vm->_objectsManager->_saveLoadX = 189;
|
||||
_vm->_objectsManager->_saveLoadY = 111;
|
||||
} else if (xp > _vm->_graphicsManager->_scrollOffset + 322 && xp < _vm->_graphicsManager->_scrollOffset + 452) {
|
||||
slotNumber = 2;
|
||||
_vm->_objectsManager._saveLoadX = 322;
|
||||
_vm->_objectsManager._saveLoadY = 111;
|
||||
_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) {
|
||||
slotNumber = 3;
|
||||
_vm->_objectsManager._saveLoadX = 189;
|
||||
_vm->_objectsManager._saveLoadY = 202;
|
||||
_vm->_objectsManager->_saveLoadX = 189;
|
||||
_vm->_objectsManager->_saveLoadY = 202;
|
||||
} else if (xp > _vm->_graphicsManager->_scrollOffset + 322 && xp < _vm->_graphicsManager->_scrollOffset + 452) {
|
||||
slotNumber = 4;
|
||||
_vm->_objectsManager._saveLoadX = 322;
|
||||
_vm->_objectsManager._saveLoadY = 202;
|
||||
_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) {
|
||||
slotNumber = 5;
|
||||
_vm->_objectsManager._saveLoadX = 189;
|
||||
_vm->_objectsManager._saveLoadY = 293;
|
||||
_vm->_objectsManager->_saveLoadX = 189;
|
||||
_vm->_objectsManager->_saveLoadY = 293;
|
||||
} else if (xp > _vm->_graphicsManager->_scrollOffset + 322 && xp < _vm->_graphicsManager->_scrollOffset + 452) {
|
||||
slotNumber = 6;
|
||||
_vm->_objectsManager._saveLoadX = 322;
|
||||
_vm->_objectsManager._saveLoadY = 293;
|
||||
_vm->_objectsManager->_saveLoadX = 322;
|
||||
_vm->_objectsManager->_saveLoadY = 293;
|
||||
}
|
||||
} 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;
|
||||
_vm->_objectsManager->_saveLoadX = 0;
|
||||
_vm->_objectsManager->_saveLoadY = 0;
|
||||
} else {
|
||||
slotNumber = 0;
|
||||
_vm->_objectsManager._saveLoadX = 0;
|
||||
_vm->_objectsManager._saveLoadY = 0;
|
||||
_vm->_objectsManager->_saveLoadX = 0;
|
||||
_vm->_objectsManager->_saveLoadY = 0;
|
||||
}
|
||||
|
||||
return slotNumber;
|
||||
|
@ -393,7 +393,7 @@ void EventsManager::refreshScreenAndEvents() {
|
||||
}
|
||||
|
||||
if (!_vm->_globals->_linuxEndDemoFl)
|
||||
_vm->_objectsManager.displaySprite();
|
||||
_vm->_objectsManager->displaySprite();
|
||||
if (!_mouseFl) {
|
||||
updateCursor();
|
||||
} else if (_mouseCursorId == 23) {
|
||||
|
@ -260,7 +260,7 @@ void FontManager::box(int idx, int messageId, const Common::String &filename, in
|
||||
byte curChar = _tempText[curStrIdx];
|
||||
if (curChar <= 31)
|
||||
curChar = ' ';
|
||||
_vm->_globals->_boxWidth += _vm->_objectsManager.getWidth(_font, curChar - 32);
|
||||
_vm->_globals->_boxWidth += _vm->_objectsManager->getWidth(_font, curChar - 32);
|
||||
}
|
||||
|
||||
_vm->_globals->_boxWidth += 2;
|
||||
@ -316,7 +316,7 @@ void FontManager::box(int idx, int messageId, const Common::String &filename, in
|
||||
byte curChar2 = (curIdx >= (int)line.size()) ? '\0' : line.c_str()[curIdx];
|
||||
if (curChar2 <= 31)
|
||||
curChar2 = ' ';
|
||||
ptrc += _vm->_objectsManager.getWidth(_font, (byte)curChar2 - 32);
|
||||
ptrc += _vm->_objectsManager->getWidth(_font, (byte)curChar2 - 32);
|
||||
}
|
||||
_textSortArray[i] = ptrc;
|
||||
}
|
||||
@ -414,7 +414,7 @@ void FontManager::displayTextVesa(int xp, int yp, const Common::String &message,
|
||||
if (currChar >= 32) {
|
||||
charIndex = currChar - 32;
|
||||
_vm->_graphicsManager->displayFont(_vm->_graphicsManager->_vesaBuffer, _font, currentX, yp, currChar - 32, col);
|
||||
currentX += _vm->_objectsManager.getWidth(_font, charIndex);
|
||||
currentX += _vm->_objectsManager->getWidth(_font, charIndex);
|
||||
}
|
||||
}
|
||||
|
||||
@ -431,7 +431,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);
|
||||
xp += _vm->_objectsManager.getWidth(_font, characterIndex);
|
||||
xp += _vm->_objectsManager->getWidth(_font, characterIndex);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -466,13 +466,13 @@ void FontManager::renderTextDisplay(int xp, int yp, const Common::String &msg, i
|
||||
int charWidth;
|
||||
if (_vm->getPlatform() == Common::kPlatformOS2 || _vm->getPlatform() == Common::kPlatformBeOS) {
|
||||
if ((curChar >= 'A' && curChar <= 'Z') || (curChar >= 'a' && curChar <= 'z' && curChar != 'm' && curChar != 'w') || (curChar >= '0' && curChar <= '9') || curChar == '*' || (curChar >= 128 && curChar <= 168))
|
||||
charWidth = _vm->_objectsManager.getWidth(_font, printChar) - 1;
|
||||
charWidth = _vm->_objectsManager->getWidth(_font, printChar) - 1;
|
||||
else if (curChar == 'm' || curChar == 'w')
|
||||
charWidth = _vm->_objectsManager.getWidth(_font, printChar);
|
||||
charWidth = _vm->_objectsManager->getWidth(_font, printChar);
|
||||
else
|
||||
charWidth = 6;
|
||||
} else
|
||||
charWidth = _vm->_objectsManager.getWidth(_font, printChar);
|
||||
charWidth = _vm->_objectsManager->getWidth(_font, printChar);
|
||||
|
||||
int charStartPosX = charEndPosX;
|
||||
charEndPosX += charWidth;
|
||||
|
@ -244,10 +244,10 @@ void Globals::clearAll() {
|
||||
_answerBuffer = g_PTRNUL;
|
||||
SPRITE_ECRAN = g_PTRNUL;
|
||||
_saveData = (Savegame *)g_PTRNUL;
|
||||
_vm->_objectsManager._curObjectIndex = 0;
|
||||
_vm->_objectsManager->_curObjectIndex = 0;
|
||||
|
||||
_vm->_linesManager->clearAll();
|
||||
_vm->_objectsManager.clearAll();
|
||||
_vm->_objectsManager->clearAll();
|
||||
|
||||
_saveData = (Savegame *)malloc(sizeof(Savegame));
|
||||
memset(_saveData, 0, sizeof(Savegame));
|
||||
@ -378,7 +378,7 @@ void Globals::disableHiding() {
|
||||
|
||||
void Globals::B_CACHE_OFF(int idx) {
|
||||
assert(idx < 36);
|
||||
_vm->_objectsManager._bob[idx].field34 = true;
|
||||
_vm->_objectsManager->_bob[idx].field34 = true;
|
||||
}
|
||||
|
||||
void Globals::resetHidingUseCount(int idx) {
|
||||
@ -411,8 +411,8 @@ void Globals::loadHidingItems(const Common::String &file) {
|
||||
_hidingItem[i]._useCount = 0;
|
||||
} else {
|
||||
_hidingItem[i]._spriteData = spriteData;
|
||||
_hidingItem[i]._width = _vm->_objectsManager.getWidth(spriteData, _hidingItem[i]._spriteIndex);
|
||||
_hidingItem[i]._height = _vm->_objectsManager.getHeight(spriteData, _hidingItem[i]._spriteIndex);
|
||||
_hidingItem[i]._width = _vm->_objectsManager->getWidth(spriteData, _hidingItem[i]._spriteIndex);
|
||||
_hidingItem[i]._height = _vm->_objectsManager->getHeight(spriteData, _hidingItem[i]._spriteIndex);
|
||||
_hidingItem[i]._useCount = 1;
|
||||
}
|
||||
|
||||
|
@ -1062,7 +1062,7 @@ void GraphicsManager::Sprite_Vesa(byte *surface, const byte *spriteData, int xp,
|
||||
void GraphicsManager::endDisplayBob() {
|
||||
for (int idx = 1; idx <= 20; ++idx) {
|
||||
if (_vm->_globals->_animBqe[idx]._enabledFl)
|
||||
_vm->_objectsManager.hideBob(idx);
|
||||
_vm->_objectsManager->hideBob(idx);
|
||||
}
|
||||
|
||||
_vm->_eventsManager->refreshScreenAndEvents();
|
||||
@ -1070,7 +1070,7 @@ void GraphicsManager::endDisplayBob() {
|
||||
|
||||
for (int idx = 1; idx <= 20; ++idx) {
|
||||
if (_vm->_globals->_animBqe[idx]._enabledFl)
|
||||
_vm->_objectsManager.resetBob(idx);
|
||||
_vm->_objectsManager->resetBob(idx);
|
||||
}
|
||||
|
||||
for (int idx = 1; idx <= 29; ++idx) {
|
||||
@ -1085,7 +1085,7 @@ void GraphicsManager::endDisplayBob() {
|
||||
void GraphicsManager::displayAllBob() {
|
||||
for (int idx = 1; idx <= 20; ++idx) {
|
||||
if (_vm->_globals->_animBqe[idx]._enabledFl)
|
||||
_vm->_objectsManager.displayBob(idx);
|
||||
_vm->_objectsManager->displayBob(idx);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1225,8 +1225,8 @@ void GraphicsManager::displayRefreshRects() {
|
||||
}
|
||||
|
||||
void GraphicsManager::AFFICHE_SPEEDVGA(const byte *objectData, int xp, int yp, int idx, bool addSegment) {
|
||||
int width = _vm->_objectsManager.getWidth(objectData, idx);
|
||||
int height = _vm->_objectsManager.getHeight(objectData, idx);
|
||||
int width = _vm->_objectsManager->getWidth(objectData, idx);
|
||||
int height = _vm->_objectsManager->getHeight(objectData, idx);
|
||||
if (*objectData == 78) {
|
||||
Affiche_Perfect(_vesaScreen, objectData, xp + 300, yp + 300, idx, 0, 0, false);
|
||||
Affiche_Perfect(_vesaBuffer, objectData, xp + 300, yp + 300, idx, 0, 0, false);
|
||||
@ -1641,8 +1641,8 @@ void GraphicsManager::Affiche_Perfect(byte *surface, const byte *srcData, int xp
|
||||
* Fast Display
|
||||
*/
|
||||
void GraphicsManager::fastDisplay(const byte *spriteData, int xp, int yp, int spriteIndex, bool addSegment) {
|
||||
int width = _vm->_objectsManager.getWidth(spriteData, spriteIndex);
|
||||
int height = _vm->_objectsManager.getHeight(spriteData, spriteIndex);
|
||||
int width = _vm->_objectsManager->getWidth(spriteData, spriteIndex);
|
||||
int height = _vm->_objectsManager->getHeight(spriteData, spriteIndex);
|
||||
|
||||
if (*spriteData == 78) {
|
||||
Affiche_Perfect(_vesaScreen, spriteData, xp + 300, yp + 300, spriteIndex, 0, 0, false);
|
||||
@ -1787,8 +1787,8 @@ void GraphicsManager::initScreen(const Common::String &file, int mode, bool init
|
||||
dataP = _vm->_fileManager->loadFile(filename);
|
||||
|
||||
_vm->_globals->_answerBuffer = dataP;
|
||||
_vm->_objectsManager._forceZoneFl = true;
|
||||
_vm->_objectsManager._changeVerbFl = false;
|
||||
_vm->_objectsManager->_forceZoneFl = true;
|
||||
_vm->_objectsManager->_changeVerbFl = false;
|
||||
}
|
||||
|
||||
void GraphicsManager::NB_SCREEN(bool initPalette) {
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -152,9 +152,9 @@ public:
|
||||
Globals *_globals;
|
||||
GraphicsManager *_graphicsManager;
|
||||
LinesManager *_linesManager;
|
||||
MenuManager *_menuManager;
|
||||
ObjectsManager *_objectsManager;
|
||||
|
||||
MenuManager _menuManager;
|
||||
ObjectsManager _objectsManager;
|
||||
SaveLoadManager _saveLoadManager;
|
||||
ScriptManager _scriptManager;
|
||||
SoundManager _soundManager;
|
||||
|
@ -1085,11 +1085,11 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
|
||||
if (abs(fromX - destX) <= 4 && abs(fromY - clipDestY) <= 4)
|
||||
return (RouteItem *)g_PTRNUL;
|
||||
|
||||
if (_vm->_globals->_oldZoneNum > 0 && _vm->_objectsManager._zoneNum > 0 && _vm->_globals->_oldZoneNum == _vm->_objectsManager._zoneNum)
|
||||
if (_vm->_globals->_oldZoneNum > 0 && _vm->_objectsManager->_zoneNum > 0 && _vm->_globals->_oldZoneNum == _vm->_objectsManager->_zoneNum)
|
||||
return (RouteItem *)g_PTRNUL;
|
||||
}
|
||||
_vm->_globals->_checkDistanceFl = false;
|
||||
_vm->_globals->_oldZoneNum = _vm->_objectsManager._zoneNum;
|
||||
_vm->_globals->_oldZoneNum = _vm->_objectsManager->_zoneNum;
|
||||
_vm->_globals->_oldRouteFromX = fromX;
|
||||
_vm->_globals->_oldRouteDestX = destX;
|
||||
_vm->_globals->_oldRouteFromY = fromY;
|
||||
@ -2529,17 +2529,17 @@ int LinesManager::getMouseZone() {
|
||||
if ((_vm->_eventsManager->_mousePos.y + _vm->_eventsManager->_mouseOffset.y) > 19) {
|
||||
for (int bobZoneId = 0; bobZoneId <= 48; bobZoneId++) {
|
||||
int bobId = BOBZONE[bobZoneId];
|
||||
if (bobId && BOBZONE_FLAG[bobZoneId] && _vm->_objectsManager._bob[bobId]._bobMode && _vm->_objectsManager._bob[bobId]._frameIndex != 250 &&
|
||||
!_vm->_objectsManager._bob[bobId]._disabledAnimationFl && xp > _vm->_objectsManager._bob[bobId]._oldX &&
|
||||
xp < _vm->_objectsManager._bob[bobId]._oldWidth + _vm->_objectsManager._bob[bobId]._oldX && yp > _vm->_objectsManager._bob[bobId]._oldY) {
|
||||
if (yp < _vm->_objectsManager._bob[bobId]._oldHeight + _vm->_objectsManager._bob[bobId]._oldY) {
|
||||
if (bobId && BOBZONE_FLAG[bobZoneId] && _vm->_objectsManager->_bob[bobId]._bobMode && _vm->_objectsManager->_bob[bobId]._frameIndex != 250 &&
|
||||
!_vm->_objectsManager->_bob[bobId]._disabledAnimationFl && xp > _vm->_objectsManager->_bob[bobId]._oldX &&
|
||||
xp < _vm->_objectsManager->_bob[bobId]._oldWidth + _vm->_objectsManager->_bob[bobId]._oldX && yp > _vm->_objectsManager->_bob[bobId]._oldY) {
|
||||
if (yp < _vm->_objectsManager->_bob[bobId]._oldHeight + _vm->_objectsManager->_bob[bobId]._oldY) {
|
||||
if (ZONEP[bobZoneId]._spriteIndex == -1) {
|
||||
ZONEP[bobZoneId]._destX = 0;
|
||||
ZONEP[bobZoneId]._destY = 0;
|
||||
}
|
||||
if (!ZONEP[bobZoneId]._destX && !ZONEP[bobZoneId]._destY) {
|
||||
ZONEP[bobZoneId]._destX = _vm->_objectsManager._bob[bobId]._oldWidth + _vm->_objectsManager._bob[bobId]._oldX;
|
||||
ZONEP[bobZoneId]._destY = _vm->_objectsManager._bob[bobId]._oldHeight + _vm->_objectsManager._bob[bobId]._oldY + 6;
|
||||
ZONEP[bobZoneId]._destX = _vm->_objectsManager->_bob[bobId]._oldWidth + _vm->_objectsManager->_bob[bobId]._oldX;
|
||||
ZONEP[bobZoneId]._destY = _vm->_objectsManager->_bob[bobId]._oldHeight + _vm->_objectsManager->_bob[bobId]._oldY + 6;
|
||||
ZONEP[bobZoneId]._spriteIndex = -1;
|
||||
}
|
||||
return bobZoneId;
|
||||
@ -2815,18 +2815,18 @@ void LinesManager::checkZone() {
|
||||
|| _vm->_eventsManager->_startPos.x >= mouseX
|
||||
|| (mouseY = _vm->_graphicsManager->_scrollOffset + 54, mouseX >= mouseY)
|
||||
|| (mouseY = oldMouseY - 1, mouseY < 0 || mouseY > 59)) {
|
||||
if (_vm->_objectsManager._visibleFl)
|
||||
_vm->_objectsManager._eraseVisibleCounter = 4;
|
||||
_vm->_objectsManager._visibleFl = false;
|
||||
if (_vm->_objectsManager->_visibleFl)
|
||||
_vm->_objectsManager->_eraseVisibleCounter = 4;
|
||||
_vm->_objectsManager->_visibleFl = false;
|
||||
} else {
|
||||
_vm->_objectsManager._visibleFl = true;
|
||||
_vm->_objectsManager->_visibleFl = true;
|
||||
}
|
||||
if (_vm->_objectsManager._forceZoneFl) {
|
||||
if (_vm->_objectsManager->_forceZoneFl) {
|
||||
_vm->_globals->compteur_71 = 100;
|
||||
_vm->_globals->_oldMouseZoneId = -1;
|
||||
_vm->_globals->_oldMouseX = -200;
|
||||
_vm->_globals->_oldMouseY = -220;
|
||||
_vm->_objectsManager._forceZoneFl = false;
|
||||
_vm->_objectsManager->_forceZoneFl = false;
|
||||
}
|
||||
|
||||
_vm->_globals->compteur_71++;
|
||||
@ -2871,7 +2871,7 @@ void LinesManager::checkZone() {
|
||||
if (ZONEP[zoneId]._verbFl1 == 2) {
|
||||
_vm->_eventsManager->changeMouseCursor(16);
|
||||
_vm->_eventsManager->_mouseCursorId = 16;
|
||||
_vm->_objectsManager.setVerb(16);
|
||||
_vm->_objectsManager->setVerb(16);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -2880,16 +2880,16 @@ void LinesManager::checkZone() {
|
||||
_vm->_eventsManager->changeMouseCursor(4);
|
||||
}
|
||||
}
|
||||
_vm->_objectsManager._zoneNum = zoneId;
|
||||
_vm->_objectsManager->_zoneNum = zoneId;
|
||||
_vm->_globals->_oldMouseX = mouseX;
|
||||
_vm->_globals->_oldMouseY = oldMouseY;
|
||||
_vm->_globals->_oldMouseZoneId = zoneId;
|
||||
if (_vm->_globals->_freezeCharacterFl && (_vm->_eventsManager->_mouseCursorId == 4)) {
|
||||
if (zoneId != -1 && zoneId != 0)
|
||||
_vm->_objectsManager.handleRightButton();
|
||||
_vm->_objectsManager->handleRightButton();
|
||||
}
|
||||
if ((_vm->_globals->_cityMapEnabledFl && zoneId == -1) || !zoneId) {
|
||||
_vm->_objectsManager.setVerb(0);
|
||||
_vm->_objectsManager->setVerb(0);
|
||||
_vm->_eventsManager->_mouseCursorId = 0;
|
||||
_vm->_eventsManager->changeMouseCursor(0);
|
||||
}
|
||||
|
@ -37,12 +37,12 @@
|
||||
|
||||
namespace Hopkins {
|
||||
|
||||
void MenuManager::setParent(HopkinsEngine *vm) {
|
||||
enum MenuSelection { MENU_NONE = 0, PLAY_GAME = 1, LOAD_GAME = 2, OPTIONS = 3, INTRODUCTION = 4, QUIT = 5 };
|
||||
|
||||
MenuManager::MenuManager(HopkinsEngine *vm) {
|
||||
_vm = vm;
|
||||
}
|
||||
|
||||
enum MenuSelection { MENU_NONE = 0, PLAY_GAME = 1, LOAD_GAME = 2, OPTIONS = 3, INTRODUCTION = 4, QUIT = 5 };
|
||||
|
||||
int MenuManager::menu() {
|
||||
byte *spriteData = NULL;
|
||||
MenuSelection menuIndex;
|
||||
@ -55,7 +55,7 @@ int MenuManager::menu() {
|
||||
|
||||
result = 0;
|
||||
while (!g_system->getEventManager()->shouldQuit()) {
|
||||
_vm->_objectsManager._forestFl = false;
|
||||
_vm->_objectsManager->_forestFl = false;
|
||||
_vm->_eventsManager->_breakoutFl = false;
|
||||
_vm->_globals->_disableInventFl = true;
|
||||
_vm->_globals->_exitId = 0;
|
||||
@ -64,7 +64,7 @@ int MenuManager::menu() {
|
||||
_vm->_globals->_inventory[idx] = 0;
|
||||
|
||||
memset(_vm->_globals->_saveData, 0, 2000);
|
||||
_vm->_objectsManager.addObject(14);
|
||||
_vm->_objectsManager->addObject(14);
|
||||
memset(frameIndex, 0, sizeof(int) * ARRAYSIZE(frameIndex));
|
||||
|
||||
if (_vm->getPlatform() == Common::kPlatformOS2 || _vm->getPlatform() == Common::kPlatformBeOS)
|
||||
@ -79,13 +79,13 @@ int MenuManager::menu() {
|
||||
_vm->_graphicsManager->fadeInLong();
|
||||
|
||||
if (_vm->getPlatform() == Common::kPlatformOS2 || _vm->getPlatform() == Common::kPlatformBeOS)
|
||||
spriteData = _vm->_objectsManager.loadSprite("MENU.SPR");
|
||||
spriteData = _vm->_objectsManager->loadSprite("MENU.SPR");
|
||||
else if (_vm->_globals->_language == LANG_EN)
|
||||
spriteData = _vm->_objectsManager.loadSprite("MENUAN.SPR");
|
||||
spriteData = _vm->_objectsManager->loadSprite("MENUAN.SPR");
|
||||
else if (_vm->_globals->_language == LANG_FR)
|
||||
spriteData = _vm->_objectsManager.loadSprite("MENUFR.SPR");
|
||||
spriteData = _vm->_objectsManager->loadSprite("MENUFR.SPR");
|
||||
else if (_vm->_globals->_language == LANG_SP)
|
||||
spriteData = _vm->_objectsManager.loadSprite("MENUES.SPR");
|
||||
spriteData = _vm->_objectsManager->loadSprite("MENUES.SPR");
|
||||
|
||||
_vm->_eventsManager->mouseOn();
|
||||
_vm->_eventsManager->changeMouseCursor(0);
|
||||
|
@ -36,8 +36,7 @@ private:
|
||||
HopkinsEngine *_vm;
|
||||
|
||||
public:
|
||||
MenuManager() {}
|
||||
void setParent(HopkinsEngine *vm);
|
||||
MenuManager(HopkinsEngine *vm);
|
||||
|
||||
int menu();
|
||||
};
|
||||
|
@ -35,7 +35,9 @@
|
||||
|
||||
namespace Hopkins {
|
||||
|
||||
ObjectsManager::ObjectsManager() {
|
||||
ObjectsManager::ObjectsManager(HopkinsEngine *vm) {
|
||||
_vm = vm;
|
||||
|
||||
for (int i = 0; i < 6; ++i)
|
||||
Common::fill((byte *)&_sprite[i], (byte *)&_sprite[i] + sizeof(SpriteItem), 0);
|
||||
|
||||
@ -89,10 +91,6 @@ ObjectsManager::~ObjectsManager() {
|
||||
_vm->_globals->freeMemory(_headSprites);
|
||||
}
|
||||
|
||||
void ObjectsManager::setParent(HopkinsEngine *vm) {
|
||||
_vm = vm;
|
||||
}
|
||||
|
||||
void ObjectsManager::clearAll() {
|
||||
_forestFl = false;
|
||||
_forestSprite = _vm->_globals->freeMemory(_forestSprite);
|
||||
|
@ -164,10 +164,9 @@ public:
|
||||
bool BOBTOUS;
|
||||
bool OBSSEUL;
|
||||
|
||||
ObjectsManager();
|
||||
ObjectsManager(HopkinsEngine *vm);
|
||||
~ObjectsManager();
|
||||
|
||||
void setParent(HopkinsEngine *vm);
|
||||
void clearAll();
|
||||
|
||||
int getWidth(const byte *objectData, int idx);
|
||||
|
@ -148,8 +148,8 @@ Common::Error SaveLoadManager::saveGame(int slot, const Common::String &saveName
|
||||
for (int i = 0; i < 35; ++i)
|
||||
_vm->_globals->_saveData->_inventory[i] = _vm->_globals->_inventory[i];
|
||||
|
||||
_vm->_globals->_saveData->_mapCarPosX = _vm->_objectsManager._mapCarPosX;
|
||||
_vm->_globals->_saveData->_mapCarPosY = _vm->_objectsManager._mapCarPosY;
|
||||
_vm->_globals->_saveData->_mapCarPosX = _vm->_objectsManager->_mapCarPosX;
|
||||
_vm->_globals->_saveData->_mapCarPosY = _vm->_objectsManager->_mapCarPosY;
|
||||
|
||||
/* Create the savegame */
|
||||
Common::OutSaveFile *savefile = g_system->getSavefileManager()->openForSaving(_vm->generateSaveName(slot));
|
||||
@ -207,8 +207,8 @@ Common::Error SaveLoadManager::loadGame(int slot) {
|
||||
_vm->_globals->_exitId = _vm->_globals->_saveData->_data[svLastScreenId];
|
||||
_vm->_globals->_saveData->_data[svLastPrevScreenId] = 0;
|
||||
_vm->_globals->_screenId = 0;
|
||||
_vm->_objectsManager._mapCarPosX = _vm->_globals->_saveData->_mapCarPosX;
|
||||
_vm->_objectsManager._mapCarPosY = _vm->_globals->_saveData->_mapCarPosY;
|
||||
_vm->_objectsManager->_mapCarPosX = _vm->_globals->_saveData->_mapCarPosX;
|
||||
_vm->_objectsManager->_mapCarPosY = _vm->_globals->_saveData->_mapCarPosY;
|
||||
|
||||
return Common::kNoError;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -81,9 +81,9 @@ void TalkManager::startAnimatedCharacterDialogue(const Common::String &filename)
|
||||
_paletteBufferIdx = 20 * READ_LE_INT16((uint16 *)_characterBuffer + 42) + 110;
|
||||
_characterSprite = _vm->_fileManager->searchCat(spriteFilename, RES_SAN);
|
||||
if (_characterSprite) {
|
||||
_characterSprite = _vm->_objectsManager.loadSprite(spriteFilename);
|
||||
_characterSprite = _vm->_objectsManager->loadSprite(spriteFilename);
|
||||
} else {
|
||||
_characterSprite = _vm->_objectsManager.loadSprite("RES_SAN.RES");
|
||||
_characterSprite = _vm->_objectsManager->loadSprite("RES_SAN.RES");
|
||||
}
|
||||
|
||||
if (_vm->_graphicsManager->_lineNbr == SCREEN_WIDTH)
|
||||
@ -94,7 +94,7 @@ void TalkManager::startAnimatedCharacterDialogue(const Common::String &filename)
|
||||
if (!_vm->_graphicsManager->_lineNbr)
|
||||
_vm->_graphicsManager->_scrollOffset = 0;
|
||||
_vm->_graphicsManager->NB_SCREEN(true);
|
||||
_vm->_objectsManager.PERSO_ON = true;
|
||||
_vm->_objectsManager->PERSO_ON = true;
|
||||
searchCharacterPalette(_paletteBufferIdx, false);
|
||||
startCharacterAnim0(_paletteBufferIdx, false);
|
||||
initCharacterAnim();
|
||||
@ -132,7 +132,7 @@ void TalkManager::startAnimatedCharacterDialogue(const Common::String &filename)
|
||||
_vm->_saveLoadManager.load("TEMP.SCR", _vm->_graphicsManager->_vesaScreen);
|
||||
g_system->getSavefileManager()->removeSavefile("TEMP.SCR");
|
||||
|
||||
_vm->_objectsManager.PERSO_ON = false;
|
||||
_vm->_objectsManager->PERSO_ON = false;
|
||||
_vm->_eventsManager->_mouseCursorId = oldMouseCursorId;
|
||||
|
||||
_vm->_eventsManager->changeMouseCursor(oldMouseCursorId);
|
||||
@ -233,15 +233,15 @@ int TalkManager::dialogQuestion(bool animatedFl) {
|
||||
uint16 *bufPtr = (uint16 *)_characterBuffer + 48;
|
||||
int curVal = READ_LE_INT16(bufPtr);
|
||||
if (curVal != 0)
|
||||
_vm->_objectsManager.setBobAnimation(curVal);
|
||||
_vm->_objectsManager->setBobAnimation(curVal);
|
||||
if (curVal != 1)
|
||||
_vm->_objectsManager.setBobAnimation(READ_LE_INT16(bufPtr + 1));
|
||||
_vm->_objectsManager->setBobAnimation(READ_LE_INT16(bufPtr + 1));
|
||||
if (curVal != 2)
|
||||
_vm->_objectsManager.setBobAnimation(READ_LE_INT16(bufPtr + 2));
|
||||
_vm->_objectsManager->setBobAnimation(READ_LE_INT16(bufPtr + 2));
|
||||
if (curVal != 3)
|
||||
_vm->_objectsManager.setBobAnimation(READ_LE_INT16(bufPtr + 3));
|
||||
_vm->_objectsManager->setBobAnimation(READ_LE_INT16(bufPtr + 3));
|
||||
if (curVal != 4)
|
||||
_vm->_objectsManager.setBobAnimation(READ_LE_INT16(bufPtr + 4));
|
||||
_vm->_objectsManager->setBobAnimation(READ_LE_INT16(bufPtr + 4));
|
||||
} else {
|
||||
dialogWait();
|
||||
}
|
||||
@ -304,23 +304,23 @@ int TalkManager::dialogQuestion(bool animatedFl) {
|
||||
|
||||
int curVal = READ_LE_INT16(bufPtr);
|
||||
if (curVal != 0)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
|
||||
curVal = READ_LE_INT16(bufPtr + 1);
|
||||
if (curVal != 1)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
|
||||
curVal = READ_LE_INT16(bufPtr + 2);
|
||||
if (curVal != 2)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
|
||||
curVal = READ_LE_INT16(bufPtr + 3);
|
||||
if (curVal != 3)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
|
||||
curVal = READ_LE_INT16(bufPtr + 4);
|
||||
if (curVal != 4)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
} else {
|
||||
dialogTalk();
|
||||
}
|
||||
@ -357,23 +357,23 @@ int TalkManager::dialogAnswer(int idx, bool animatedFl) {
|
||||
uint16 *bufPtr = (uint16 *)_characterBuffer + 43;
|
||||
int curVal = READ_LE_INT16(bufPtr);
|
||||
if (curVal)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
|
||||
curVal = READ_LE_INT16(bufPtr + 1);
|
||||
if (curVal)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
|
||||
curVal = READ_LE_INT16(bufPtr + 2);
|
||||
if (curVal)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
|
||||
curVal = READ_LE_INT16(bufPtr + 3);
|
||||
if (curVal)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
|
||||
curVal = READ_LE_INT16(bufPtr + 4);
|
||||
if (curVal)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
} else {
|
||||
VISU_PARLE();
|
||||
}
|
||||
@ -409,23 +409,23 @@ int TalkManager::dialogAnswer(int idx, bool animatedFl) {
|
||||
uint16 *bufPtr = (uint16 *)_characterBuffer + 43;
|
||||
int curVal = READ_LE_INT16(bufPtr);
|
||||
if (curVal)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
|
||||
curVal = READ_LE_INT16(bufPtr + 1);
|
||||
if (curVal)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
|
||||
curVal = READ_LE_INT16(bufPtr + 2);
|
||||
if (curVal)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
|
||||
curVal = READ_LE_INT16(bufPtr + 3);
|
||||
if (curVal)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
|
||||
curVal = READ_LE_INT16(bufPtr + 4);
|
||||
if (curVal)
|
||||
_vm->_objectsManager.stopBobAnimation(curVal);
|
||||
_vm->_objectsManager->stopBobAnimation(curVal);
|
||||
} else {
|
||||
dialogEndTalk();
|
||||
}
|
||||
@ -481,19 +481,19 @@ void TalkManager::dialogWait() {
|
||||
void TalkManager::dialogTalk() {
|
||||
for (int idx = 26; idx <= 30; ++idx) {
|
||||
if (_vm->_globals->_animBqe[idx]._enabledFl)
|
||||
_vm->_objectsManager.hideBob(idx);
|
||||
_vm->_objectsManager->hideBob(idx);
|
||||
}
|
||||
|
||||
for (int idx = 26; idx <= 30; ++idx) {
|
||||
if (_vm->_globals->_animBqe[idx]._enabledFl)
|
||||
_vm->_objectsManager.resetBob(idx);
|
||||
_vm->_objectsManager->resetBob(idx);
|
||||
}
|
||||
}
|
||||
|
||||
void TalkManager::dialogEndTalk() {
|
||||
for (int idx = 21; idx <= 25; ++idx) {
|
||||
if (_vm->_globals->_animBqe[idx]._enabledFl)
|
||||
_vm->_objectsManager.hideBob(idx);
|
||||
_vm->_objectsManager->hideBob(idx);
|
||||
}
|
||||
|
||||
_vm->_eventsManager->refreshScreenAndEvents();
|
||||
@ -501,7 +501,7 @@ void TalkManager::dialogEndTalk() {
|
||||
|
||||
for (int idx = 21; idx <= 25; ++idx) {
|
||||
if (_vm->_globals->_animBqe[idx]._enabledFl)
|
||||
_vm->_objectsManager.resetBob(idx);
|
||||
_vm->_objectsManager->resetBob(idx);
|
||||
}
|
||||
}
|
||||
|
||||
@ -601,24 +601,24 @@ void TalkManager::VISU_PARLE() {
|
||||
}
|
||||
|
||||
void TalkManager::BOB_VISU_PARLE(int idx) {
|
||||
_vm->_objectsManager._priorityFl = true;
|
||||
if (!_vm->_objectsManager._bob[idx]._bobMode) {
|
||||
_vm->_objectsManager.resetBob(idx);
|
||||
_vm->_objectsManager->_priorityFl = true;
|
||||
if (!_vm->_objectsManager->_bob[idx]._bobMode) {
|
||||
_vm->_objectsManager->resetBob(idx);
|
||||
byte *bqeData = _vm->_globals->_animBqe[idx]._data;
|
||||
int newMode = READ_LE_INT16(bqeData + 2);
|
||||
if (!newMode)
|
||||
newMode = 1;
|
||||
if (READ_LE_INT16(bqeData + 24)) {
|
||||
_vm->_objectsManager._bob[idx]._isSpriteFl = true;
|
||||
_vm->_objectsManager._bob[idx]._zoomFactor = 0;
|
||||
_vm->_objectsManager._bob[idx]._flipFl = false;
|
||||
_vm->_objectsManager._bob[idx]._animData = _vm->_globals->_animBqe[idx]._data;
|
||||
_vm->_objectsManager._bob[idx]._bobMode = 10;
|
||||
_vm->_objectsManager->_bob[idx]._isSpriteFl = true;
|
||||
_vm->_objectsManager->_bob[idx]._zoomFactor = 0;
|
||||
_vm->_objectsManager->_bob[idx]._flipFl = false;
|
||||
_vm->_objectsManager->_bob[idx]._animData = _vm->_globals->_animBqe[idx]._data;
|
||||
_vm->_objectsManager->_bob[idx]._bobMode = 10;
|
||||
bqeData = _characterSprite;
|
||||
_vm->_objectsManager._bob[idx]._spriteData = _characterSprite;
|
||||
_vm->_objectsManager._bob[idx]._bobModeChange = newMode;
|
||||
_vm->_objectsManager._bob[idx].field20 = -1;
|
||||
_vm->_objectsManager._bob[idx].field22 = 0;
|
||||
_vm->_objectsManager->_bob[idx]._spriteData = _characterSprite;
|
||||
_vm->_objectsManager->_bob[idx]._bobModeChange = newMode;
|
||||
_vm->_objectsManager->_bob[idx].field20 = -1;
|
||||
_vm->_objectsManager->_bob[idx].field22 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -848,8 +848,8 @@ void TalkManager::REPONSE(int zone, int verb) {
|
||||
else if (opcodeType == 6) {
|
||||
// JUMP
|
||||
_vm->_globals->freeMemory(ptr);
|
||||
zoneObj = _vm->_objectsManager._jumpZone;
|
||||
verbObj = _vm->_objectsManager._jumpVerb;
|
||||
zoneObj = _vm->_objectsManager->_jumpZone;
|
||||
verbObj = _vm->_objectsManager->_jumpVerb;
|
||||
outerLoopFl = true;
|
||||
break;
|
||||
}
|
||||
@ -866,26 +866,26 @@ void TalkManager::REPONSE2(int zone, int verb) {
|
||||
return;
|
||||
|
||||
if (zone == 22 || zone == 23) {
|
||||
_vm->_objectsManager.setFlipSprite(0, false);
|
||||
_vm->_objectsManager.setSpriteIndex(0, 62);
|
||||
_vm->_objectsManager.SPACTION(_vm->_objectsManager._forestSprite, "2,3,4,5,6,7,8,9,10,11,12,-1,", 4, false);
|
||||
_vm->_objectsManager->setFlipSprite(0, false);
|
||||
_vm->_objectsManager->setSpriteIndex(0, 62);
|
||||
_vm->_objectsManager->SPACTION(_vm->_objectsManager->_forestSprite, "2,3,4,5,6,7,8,9,10,11,12,-1,", 4, false);
|
||||
if (zone == 22) {
|
||||
_vm->_objectsManager.lockAnimX(6, _vm->_objectsManager.getBobPosX(3));
|
||||
_vm->_objectsManager.lockAnimX(8, _vm->_objectsManager.getBobPosX(3));
|
||||
_vm->_objectsManager->lockAnimX(6, _vm->_objectsManager->getBobPosX(3));
|
||||
_vm->_objectsManager->lockAnimX(8, _vm->_objectsManager->getBobPosX(3));
|
||||
} else { // zone == 23
|
||||
_vm->_objectsManager.lockAnimX(6, _vm->_objectsManager.getBobPosX(4));
|
||||
_vm->_objectsManager.lockAnimX(8, _vm->_objectsManager.getBobPosX(4));
|
||||
_vm->_objectsManager->lockAnimX(6, _vm->_objectsManager->getBobPosX(4));
|
||||
_vm->_objectsManager->lockAnimX(8, _vm->_objectsManager->getBobPosX(4));
|
||||
}
|
||||
_vm->_objectsManager.stopBobAnimation(3);
|
||||
_vm->_objectsManager.stopBobAnimation(4);
|
||||
_vm->_objectsManager.setBobAnimation(6);
|
||||
_vm->_objectsManager->stopBobAnimation(3);
|
||||
_vm->_objectsManager->stopBobAnimation(4);
|
||||
_vm->_objectsManager->setBobAnimation(6);
|
||||
_vm->_soundManager.playSample(1);
|
||||
_vm->_objectsManager.SPACTION1(_vm->_objectsManager._forestSprite, "13,14,15,14,13,12,13,14,15,16,-1,", 4);
|
||||
_vm->_objectsManager->SPACTION1(_vm->_objectsManager->_forestSprite, "13,14,15,14,13,12,13,14,15,16,-1,", 4);
|
||||
do
|
||||
_vm->_eventsManager->refreshScreenAndEvents();
|
||||
while (_vm->_objectsManager.getBobAnimDataIdx(6) < 12);
|
||||
_vm->_objectsManager.stopBobAnimation(6);
|
||||
_vm->_objectsManager.setBobAnimation(8);
|
||||
while (_vm->_objectsManager->getBobAnimDataIdx(6) < 12);
|
||||
_vm->_objectsManager->stopBobAnimation(6);
|
||||
_vm->_objectsManager->setBobAnimation(8);
|
||||
|
||||
switch (_vm->_globals->_screenId) {
|
||||
case 35:
|
||||
@ -914,26 +914,26 @@ void TalkManager::REPONSE2(int zone, int verb) {
|
||||
_vm->_linesManager->disableZone(22);
|
||||
_vm->_linesManager->disableZone(23);
|
||||
} else if (zone == 20 || zone == 21) {
|
||||
_vm->_objectsManager.setFlipSprite(0, true);
|
||||
_vm->_objectsManager.setSpriteIndex(0, 62);
|
||||
_vm->_objectsManager.SPACTION(_vm->_objectsManager._forestSprite, "2,3,4,5,6,7,8,9,10,11,12,-1,", 4, true);
|
||||
_vm->_objectsManager->setFlipSprite(0, true);
|
||||
_vm->_objectsManager->setSpriteIndex(0, 62);
|
||||
_vm->_objectsManager->SPACTION(_vm->_objectsManager->_forestSprite, "2,3,4,5,6,7,8,9,10,11,12,-1,", 4, true);
|
||||
if (zone == 20) {
|
||||
_vm->_objectsManager.lockAnimX(5, _vm->_objectsManager.getBobPosX(1));
|
||||
_vm->_objectsManager.lockAnimX(7, _vm->_objectsManager.getBobPosX(1));
|
||||
_vm->_objectsManager->lockAnimX(5, _vm->_objectsManager->getBobPosX(1));
|
||||
_vm->_objectsManager->lockAnimX(7, _vm->_objectsManager->getBobPosX(1));
|
||||
} else { // zone == 21
|
||||
_vm->_objectsManager.lockAnimX(5, _vm->_objectsManager.getBobPosX(2));
|
||||
_vm->_objectsManager.lockAnimX(7, _vm->_objectsManager.getBobPosX(2));
|
||||
_vm->_objectsManager->lockAnimX(5, _vm->_objectsManager->getBobPosX(2));
|
||||
_vm->_objectsManager->lockAnimX(7, _vm->_objectsManager->getBobPosX(2));
|
||||
}
|
||||
_vm->_objectsManager.stopBobAnimation(1);
|
||||
_vm->_objectsManager.stopBobAnimation(2);
|
||||
_vm->_objectsManager.setBobAnimation(5);
|
||||
_vm->_objectsManager->stopBobAnimation(1);
|
||||
_vm->_objectsManager->stopBobAnimation(2);
|
||||
_vm->_objectsManager->setBobAnimation(5);
|
||||
_vm->_soundManager.playSample(1);
|
||||
_vm->_objectsManager.SPACTION1(_vm->_objectsManager._forestSprite, "13,14,15,14,13,12,13,14,15,16,-1,", 4);
|
||||
_vm->_objectsManager->SPACTION1(_vm->_objectsManager->_forestSprite, "13,14,15,14,13,12,13,14,15,16,-1,", 4);
|
||||
do
|
||||
_vm->_eventsManager->refreshScreenAndEvents();
|
||||
while (_vm->_objectsManager.getBobAnimDataIdx(5) < 12);
|
||||
_vm->_objectsManager.stopBobAnimation(5);
|
||||
_vm->_objectsManager.setBobAnimation(7);
|
||||
while (_vm->_objectsManager->getBobAnimDataIdx(5) < 12);
|
||||
_vm->_objectsManager->stopBobAnimation(5);
|
||||
_vm->_objectsManager->setBobAnimation(7);
|
||||
switch (_vm->_globals->_screenId) {
|
||||
case 35:
|
||||
indx = 200;
|
||||
@ -975,7 +975,7 @@ void TalkManager::animateObject(const Common::String &filename) {
|
||||
for (int i = 0; i <= 44; i++)
|
||||
_vm->_linesManager->BOBZONE[i] = 0;
|
||||
|
||||
_vm->_objectsManager._zoneNum = -1;
|
||||
_vm->_objectsManager->_zoneNum = -1;
|
||||
_vm->_eventsManager->_mouseCursorId = 4;
|
||||
_vm->_eventsManager->changeMouseCursor(0);
|
||||
_characterBuffer = _vm->_fileManager->searchCat(filename, RES_PER);
|
||||
@ -996,9 +996,9 @@ void TalkManager::animateObject(const Common::String &filename) {
|
||||
|
||||
_characterSprite = _vm->_fileManager->searchCat(spriteFilename, RES_SAN);
|
||||
if (_characterSprite)
|
||||
_characterSprite = _vm->_objectsManager.loadSprite(spriteFilename);
|
||||
_characterSprite = _vm->_objectsManager->loadSprite(spriteFilename);
|
||||
else
|
||||
_characterSprite = _vm->_objectsManager.loadSprite("RES_SAN.RES");
|
||||
_characterSprite = _vm->_objectsManager->loadSprite("RES_SAN.RES");
|
||||
|
||||
if (_vm->_graphicsManager->_lineNbr == SCREEN_WIDTH)
|
||||
_vm->_saveLoadManager.saveFile("TEMP.SCR", _vm->_graphicsManager->_vesaScreen, 307200);
|
||||
@ -1010,33 +1010,33 @@ void TalkManager::animateObject(const Common::String &filename) {
|
||||
_vm->_graphicsManager->NB_SCREEN(true);
|
||||
_paletteBufferIdx = 20 * READ_LE_INT16((uint16 *)_characterBuffer + 42) + 110;
|
||||
_vm->_graphicsManager->NB_SCREEN(true);
|
||||
_vm->_objectsManager.PERSO_ON = true;
|
||||
_vm->_objectsManager->PERSO_ON = true;
|
||||
searchCharacterPalette(_paletteBufferIdx, true);
|
||||
startCharacterAnim0(_paletteBufferIdx, false);
|
||||
byte *oldAnswerBufferPtr = _vm->_globals->_answerBuffer;
|
||||
_vm->_globals->_answerBuffer = g_PTRNUL;
|
||||
_vm->_globals->_freezeCharacterFl = true;
|
||||
_vm->_objectsManager.loadLinkFile(screenFilename);
|
||||
_vm->_objectsManager.PERSO_ON = true;
|
||||
_vm->_objectsManager->loadLinkFile(screenFilename);
|
||||
_vm->_objectsManager->PERSO_ON = true;
|
||||
_vm->_globals->_actionMoveTo = false;
|
||||
_vm->_objectsManager._zoneNum = -1;
|
||||
_vm->_objectsManager->_zoneNum = -1;
|
||||
initCharacterAnim();
|
||||
VISU_PARLE();
|
||||
dialogWait();
|
||||
_vm->_graphicsManager->initScreen(screenFilename, 2, true);
|
||||
_vm->_globals->_freezeCharacterFl = true;
|
||||
_vm->_objectsManager._forceZoneFl = true;
|
||||
_vm->_objectsManager._zoneNum = -1;
|
||||
_vm->_objectsManager->_forceZoneFl = true;
|
||||
_vm->_objectsManager->_zoneNum = -1;
|
||||
do {
|
||||
int mouseButton = _vm->_eventsManager->getMouseButton();
|
||||
if (mouseButton == 1)
|
||||
_vm->_objectsManager.handleLeftButton();
|
||||
_vm->_objectsManager->handleLeftButton();
|
||||
else if (mouseButton == 2)
|
||||
_vm->_objectsManager.handleRightButton();
|
||||
_vm->_objectsManager->handleRightButton();
|
||||
|
||||
_vm->_linesManager->checkZone();
|
||||
if (_vm->_globals->_actionMoveTo)
|
||||
_vm->_objectsManager.PARADISE();
|
||||
_vm->_objectsManager->PARADISE();
|
||||
_vm->_eventsManager->refreshScreenAndEvents();
|
||||
} while (!_vm->_globals->_exitId);
|
||||
dialogEndTalk();
|
||||
@ -1055,10 +1055,10 @@ void TalkManager::animateObject(const Common::String &filename) {
|
||||
|
||||
_vm->_globals->freeMemory(_vm->_globals->_answerBuffer);
|
||||
_vm->_globals->_answerBuffer = oldAnswerBufferPtr;
|
||||
_vm->_objectsManager._disableFl = true;
|
||||
_vm->_objectsManager.loadLinkFile(curScreenFilename);
|
||||
_vm->_objectsManager->_disableFl = true;
|
||||
_vm->_objectsManager->loadLinkFile(curScreenFilename);
|
||||
_vm->_graphicsManager->initScreen(curScreenFilename, 2, true);
|
||||
_vm->_objectsManager._disableFl = false;
|
||||
_vm->_objectsManager->_disableFl = false;
|
||||
_vm->_globals->_freezeCharacterFl = false;
|
||||
if (_vm->_globals->_exitId == 101)
|
||||
_vm->_globals->_exitId = 0;
|
||||
@ -1066,7 +1066,7 @@ void TalkManager::animateObject(const Common::String &filename) {
|
||||
_vm->_saveLoadManager.load("TEMP.SCR", _vm->_graphicsManager->_vesaScreen);
|
||||
g_system->getSavefileManager()->removeSavefile("TEMP.SCR");
|
||||
|
||||
_vm->_objectsManager.PERSO_ON = false;
|
||||
_vm->_objectsManager->PERSO_ON = false;
|
||||
_vm->_eventsManager->_mouseCursorId = 4;
|
||||
_vm->_eventsManager->changeMouseCursor(4);
|
||||
_vm->_graphicsManager->SETCOLOR3(253, 100, 100, 100);
|
||||
|
Loading…
x
Reference in New Issue
Block a user