[Scummvm-cvs-logs] scummvm master -> ac338c3517d85156e83884164d378c3bf76851e5
Strangerke
Strangerke at scummvm.org
Sun Mar 24 22:57:32 CET 2013
This automated email contains information about 7 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
b8e504518e HOPKINS: Some renaming and refactoring in Globals
b46f2ccdc7 HOPKINS: Move 2 variables from Globals to ObjectsManager and LinesManager
aa141c4355 HOPKINS: Move 3 variables from Globals to ObjectsManager, make them private
ee3c0cc4fa Hopkins: Move hotspotTextColor to LinesMAnager, make it private
b0f0a6cd92 HOPKINS: Move two more variables to ObjectsManager, make them private
57abce19b1 HOPKINS: More refactoring of Globals
ac338c3517 HOPKINS: Some more refactoring in Globals
Commit: b8e504518ea77e8106d7dd8be087c5f51c8dff01
https://github.com/scummvm/scummvm/commit/b8e504518ea77e8106d7dd8be087c5f51c8dff01
Author: Strangerke (strangerke at scummvm.org)
Date: 2013-03-24T14:12:43-07:00
Commit Message:
HOPKINS: Some renaming and refactoring in Globals
Changed paths:
engines/hopkins/font.cpp
engines/hopkins/font.h
engines/hopkins/globals.cpp
engines/hopkins/globals.h
engines/hopkins/graphics.cpp
engines/hopkins/hopkins.cpp
engines/hopkins/objects.cpp
engines/hopkins/script.cpp
diff --git a/engines/hopkins/font.cpp b/engines/hopkins/font.cpp
index 0379e29..03b4e2e 100644
--- a/engines/hopkins/font.cpp
+++ b/engines/hopkins/font.cpp
@@ -84,6 +84,8 @@ void FontManager::clearAll() {
_tempText = g_PTRNUL;
_zoneText = g_PTRNUL;
+
+ _boxWidth = 240;
}
void FontManager::initData() {
@@ -160,7 +162,7 @@ void FontManager::box(int idx, int messageId, const Common::String &filename, in
error("Bad number for text");
_fontFixedWidth = 11;
- _vm->_globals->_boxWidth = 11 * _text[idx]._length;
+ _boxWidth = 11 * _text[idx]._length;
if (_text[idx]._textLoadedFl) {
int textType = _text[idx]._textType;
if (textType != 6 && textType != 1 && textType != 3 && textType != 5) {
@@ -254,29 +256,29 @@ void FontManager::box(int idx, int messageId, const Common::String &filename, in
if (bufSize && bufSize > textLength) {
_text[idx]._length = textLength;
- _vm->_globals->_boxWidth = 0;
+ _boxWidth = 0;
for (int curStrIdx = 0; curStrIdx < textLength + 1; curStrIdx++) {
byte curChar = _tempText[curStrIdx];
if (curChar <= 31)
curChar = ' ';
- _vm->_globals->_boxWidth += _vm->_objectsManager->getWidth(_font, curChar - 32);
+ _boxWidth += _vm->_objectsManager->getWidth(_font, curChar - 32);
}
- _vm->_globals->_boxWidth += 2;
- _text[idx]._pos.x = 320 - abs(_vm->_globals->_boxWidth / 2);
+ _boxWidth += 2;
+ _text[idx]._pos.x = 320 - abs(_boxWidth / 2);
textPosX = _vm->_eventsManager->_startPos.x + _text[idx]._pos.x;
lineCount = 1;
_text[idx]._lines[0] = Common::String((const char *)_tempText, textLength);
} else {
- if (!_vm->_globals->_boxWidth)
- _vm->_globals->_boxWidth = 240;
+ if (!_boxWidth)
+ _boxWidth = 240;
int tempTextIdx = 0;
int lineSize;
byte curChar;
do {
int curLineSize = 0;
- int ptrb = _vm->_globals->_boxWidth - 4;
+ int ptrb = _boxWidth - 4;
for (;;) {
lineSize = curLineSize;
do
@@ -330,12 +332,12 @@ void FontManager::box(int idx, int messageId, const Common::String &filename, in
for (int i = 0; i <= 19; i++) {
if (_textSortArray[i])
- _vm->_globals->_boxWidth = _textSortArray[i];
+ _boxWidth = _textSortArray[i];
}
if ((_text[idx]._textType < 2) || (_text[idx]._textType > 3)) {
int i;
- for (i = xp - _vm->_eventsManager->_startPos.x; _vm->_globals->_boxWidth + i > 638 && i > -2 && _text[idx]._textType; i -= 2)
+ for (i = xp - _vm->_eventsManager->_startPos.x; _boxWidth + i > 638 && i > -2 && _text[idx]._textType; i -= 2)
;
_text[idx]._pos.x = i;
textPosX = _vm->_eventsManager->_startPos.x + i;
@@ -345,7 +347,7 @@ void FontManager::box(int idx, int messageId, const Common::String &filename, in
}
int posX = textPosX;
int posY = yp;
- int saveWidth = _vm->_globals->_boxWidth + 10;
+ int saveWidth = _boxWidth + 10;
int saveHeight = (_fontFixedHeight + 1) * lineCount + 12;
if (_text[idx]._textType == 6) {
_text[idx]._pos.x = 315 - abs(saveWidth / 2);
diff --git a/engines/hopkins/font.h b/engines/hopkins/font.h
index e9483bb..93e807e 100644
--- a/engines/hopkins/font.h
+++ b/engines/hopkins/font.h
@@ -68,6 +68,7 @@ private:
int _index[4048];
byte *_tempText;
byte *_zoneText;
+ int _boxWidth;
void loadZoneText();
public:
diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp
index 79edddc..87efe99 100644
--- a/engines/hopkins/globals.cpp
+++ b/engines/hopkins/globals.cpp
@@ -107,13 +107,12 @@ Globals::Globals(HopkinsEngine *vm) {
_oldDirectionSpriteIdx = 59;
_lastDirection = DIR_NONE;
_curObjectFileNum = 0;
- _boxWidth = 0;
_objectWidth = _objectHeight = 0;
_catalogPos = 0;
_catalogSize = 0;
iRegul = 0;
_exitId = 0;
- PERSO = 0;
+ _characterSpriteBuf = 0;
_screenId = 0;
_prevScreenId = 0;
_characterMaxPosY = 0;
@@ -144,11 +143,11 @@ Globals::Globals(HopkinsEngine *vm) {
// Initialize pointers
for (int i = 0; i < 6; ++i)
_hidingItemData[i] = g_PTRNUL;
- SPRITE_ECRAN = NULL;
+ _levelSpriteBuf = NULL;
_saveData = NULL;
_answerBuffer = g_PTRNUL;
_objectDataBuf = NULL;
- PERSO = NULL;
+ _characterSpriteBuf = NULL;
_optionDialogSpr = NULL;
// Reset flags
@@ -176,11 +175,11 @@ Globals::Globals(HopkinsEngine *vm) {
Globals::~Globals() {
for (int idx = 0; idx < 6; ++idx)
_hidingItemData[idx] = freeMemory(_hidingItemData[idx]);
- freeMemory(SPRITE_ECRAN);
+ freeMemory(_levelSpriteBuf);
freeMemory((byte *)_saveData);
freeMemory(_answerBuffer);
freeMemory(_objectDataBuf);
- freeMemory(PERSO);
+ freeMemory(_characterSpriteBuf);
clearVBob();
@@ -229,8 +228,6 @@ void Globals::clearAll() {
initAnimBqe();
- _boxWidth = 0;
-
_vm->_fontManager->clearAll();
initVBob();
@@ -238,7 +235,7 @@ void Globals::clearAll() {
_curObjectFileNum = 0;
_vm->_dialogsManager->clearAll();
_answerBuffer = g_PTRNUL;
- SPRITE_ECRAN = g_PTRNUL;
+ _levelSpriteBuf = g_PTRNUL;
_saveData = (Savegame *)g_PTRNUL;
_vm->_objectsManager->_curObjectIndex = 0;
@@ -248,8 +245,6 @@ void Globals::clearAll() {
_saveData = (Savegame *)malloc(sizeof(Savegame));
memset(_saveData, 0, sizeof(Savegame));
- _boxWidth = 240;
-
_vm->_eventsManager->clearAll();
_objectDataBuf = g_PTRNUL;
diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h
index 84549fa..2a27d59 100644
--- a/engines/hopkins/globals.h
+++ b/engines/hopkins/globals.h
@@ -249,7 +249,6 @@ public:
int _objectWidth, _objectHeight;
int _screenId;
int _prevScreenId;
- int _boxWidth;
int _characterMaxPosY;
int _baseMapColor;
int _spriteSize[500];
@@ -301,12 +300,12 @@ public:
ObjectAuthIcon _objectAuthIcons[300];
int _curObjectFileNum;
byte *_objectDataBuf;
+ byte *_characterSpriteBuf;
Common::String _zoneFilename;
Common::String _textFilename;
+ byte *_levelSpriteBuf;
int iRegul;
- byte *SPRITE_ECRAN;
- byte *PERSO;
ListeItem Liste[6];
ListeItem Liste2[35];
BankItem Bank[8];
diff --git a/engines/hopkins/graphics.cpp b/engines/hopkins/graphics.cpp
index 9730fba..5c65e59 100644
--- a/engines/hopkins/graphics.cpp
+++ b/engines/hopkins/graphics.cpp
@@ -1745,13 +1745,13 @@ void GraphicsManager::initScreen(const Common::String &file, int mode, bool init
}
if (!mode) {
filename = file + ".spr";
- _vm->_globals->SPRITE_ECRAN = _vm->_globals->freeMemory(_vm->_globals->SPRITE_ECRAN);
+ _vm->_globals->_levelSpriteBuf = _vm->_globals->freeMemory(_vm->_globals->_levelSpriteBuf);
if (initializeScreen) {
- _vm->_globals->SPRITE_ECRAN = _vm->_fileManager->searchCat(filename, RES_SLI);
- if (_vm->_globals->SPRITE_ECRAN) {
- _vm->_globals->SPRITE_ECRAN = _vm->_fileManager->loadFile(filename);
+ _vm->_globals->_levelSpriteBuf = _vm->_fileManager->searchCat(filename, RES_SLI);
+ if (_vm->_globals->_levelSpriteBuf) {
+ _vm->_globals->_levelSpriteBuf = _vm->_fileManager->loadFile(filename);
} else {
- _vm->_globals->SPRITE_ECRAN = _vm->_fileManager->loadFile("RES_SLI.RES");
+ _vm->_globals->_levelSpriteBuf = _vm->_fileManager->loadFile("RES_SLI.RES");
}
}
}
diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp
index 76c085c..69c09aa 100644
--- a/engines/hopkins/hopkins.cpp
+++ b/engines/hopkins/hopkins.cpp
@@ -165,7 +165,7 @@ bool HopkinsEngine::runWin95Demo() {
_globals->_speed = 3;
_graphicsManager->fadeOutLong();
_globals->iRegul = 1;
- _globals->PERSO = _fileManager->loadFile("PERSO.SPR");
+ _globals->_characterSpriteBuf = _fileManager->loadFile("PERSO.SPR");
_globals->_characterType = 0;
_objectsManager->_mapCarPosX = _objectsManager->_mapCarPosY = 0;
memset(_globals->_saveData, 0, 2000);
@@ -182,7 +182,7 @@ bool HopkinsEngine::runWin95Demo() {
if (!_globals->_exitId) {
_globals->_exitId = _menuManager->menu();
if (_globals->_exitId == -1) {
- _globals->PERSO = _globals->freeMemory(_globals->PERSO);
+ _globals->_characterSpriteBuf = _globals->freeMemory(_globals->_characterSpriteBuf);
restoreSystem();
return false;
}
@@ -455,7 +455,7 @@ bool HopkinsEngine::runLinuxDemo() {
playIntro();
_globals->iRegul = 0;
- _globals->PERSO = _fileManager->loadFile("PERSO.SPR");
+ _globals->_characterSpriteBuf = _fileManager->loadFile("PERSO.SPR");
_globals->_characterType = 0;
_objectsManager->_mapCarPosX = _objectsManager->_mapCarPosY = 0;
memset(_globals->_saveData, 0, 2000);
@@ -470,7 +470,7 @@ bool HopkinsEngine::runLinuxDemo() {
if (_globals->_exitId == -1) {
if (!shouldQuit())
endLinuxDemo();
- _globals->PERSO = _globals->freeMemory(_globals->PERSO);
+ _globals->_characterSpriteBuf = _globals->freeMemory(_globals->_characterSpriteBuf);
restoreSystem();
}
}
@@ -819,7 +819,7 @@ bool HopkinsEngine::runFull() {
_graphicsManager->fadeOutLong();
}
_globals->iRegul = 0;
- _globals->PERSO = _fileManager->loadFile("PERSO.SPR");
+ _globals->_characterSpriteBuf = _fileManager->loadFile("PERSO.SPR");
_globals->_characterType = 0;
_objectsManager->_mapCarPosX = _objectsManager->_mapCarPosY = 0;
memset(_globals->_saveData, 0, 2000);
@@ -832,7 +832,7 @@ bool HopkinsEngine::runFull() {
if (!_globals->_exitId) {
_globals->_exitId = _menuManager->menu();
if (_globals->_exitId == -1) {
- _globals->PERSO = _globals->freeMemory(_globals->PERSO);
+ _globals->_characterSpriteBuf = _globals->freeMemory(_globals->_characterSpriteBuf);
restoreSystem();
return false;
}
@@ -1539,21 +1539,21 @@ bool HopkinsEngine::runFull() {
case 197:
case 198:
case 199:
- _globals->PERSO = _globals->freeMemory(_globals->PERSO);
+ _globals->_characterSpriteBuf = _globals->freeMemory(_globals->_characterSpriteBuf);
_globals->iRegul = 1;
_soundManager->stopSound();
_soundManager->playSound(23);
_globals->_exitId = handleBaseMap(); // Handles the base map (non-Windows)
//_globals->_exitId = WBASE(); // Handles the 3D Doom level (Windows)
_soundManager->stopSound();
- _globals->PERSO = _fileManager->loadFile("PERSO.SPR");
+ _globals->_characterSpriteBuf = _fileManager->loadFile("PERSO.SPR");
_globals->_characterType = 0;
_globals->iRegul = 0;
_graphicsManager->_lineNbr = SCREEN_WIDTH;
break;
}
}
- _globals->PERSO = _globals->freeMemory(_globals->PERSO);
+ _globals->_characterSpriteBuf = _globals->freeMemory(_globals->_characterSpriteBuf);
restoreSystem();
return true;
}
@@ -2058,7 +2058,7 @@ void HopkinsEngine::playUnderwaterBaseCutscene() {
}
void HopkinsEngine::playEnding() {
- _globals->PERSO = _globals->freeMemory(_globals->PERSO);
+ _globals->_characterSpriteBuf = _globals->freeMemory(_globals->_characterSpriteBuf);
_dialogsManager->disableInvent();
_globals->_disableInventFl = true;
_graphicsManager->_scrollOffset = 0;
@@ -2203,7 +2203,7 @@ void HopkinsEngine::playEnding() {
_globals->iRegul = 0;
_globals->_exitId = 300;
}
- _globals->PERSO = _fileManager->loadFile("PERSO.SPR");
+ _globals->_characterSpriteBuf = _fileManager->loadFile("PERSO.SPR");
_globals->_characterType = 0;
_globals->iRegul = 0;
}
@@ -2547,13 +2547,13 @@ void HopkinsEngine::handleOceanMouseEvents() {
case 1:
switch (_globals->_oceanDirection) {
case DIR_UP:
- _objectsManager->SPACTION(_globals->PERSO, "27,26,25,24,23,22,21,20,19,18,-1,", 6, false);
+ _objectsManager->SPACTION(_globals->_characterSpriteBuf, "27,26,25,24,23,22,21,20,19,18,-1,", 6, false);
break;
case DIR_RIGHT:
- _objectsManager->SPACTION(_globals->PERSO, "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,-1,", 6, false);
+ _objectsManager->SPACTION(_globals->_characterSpriteBuf, "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,-1,", 6, false);
break;
case DIR_DOWN:
- _objectsManager->SPACTION(_globals->PERSO, "9,10,11,12,13,14,15,16,17,18,-1,", 6, false);
+ _objectsManager->SPACTION(_globals->_characterSpriteBuf, "9,10,11,12,13,14,15,16,17,18,-1,", 6, false);
break;
default:
break;
@@ -2584,13 +2584,13 @@ void HopkinsEngine::handleOceanMouseEvents() {
case 2:
switch (_globals->_oceanDirection) {
case DIR_UP:
- _objectsManager->SPACTION(_globals->PERSO, "27,28,29,30,31,32,33,34,35,36,-1,", 6, false);
+ _objectsManager->SPACTION(_globals->_characterSpriteBuf, "27,28,29,30,31,32,33,34,35,36,-1,", 6, false);
break;
case DIR_DOWN:
- _objectsManager->SPACTION(_globals->PERSO, "9,8,7,6,5,4,3,2,1,0,-1,", 6, false);
+ _objectsManager->SPACTION(_globals->_characterSpriteBuf, "9,8,7,6,5,4,3,2,1,0,-1,", 6, false);
break;
case DIR_LEFT:
- _objectsManager->SPACTION(_globals->PERSO, "18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,-1,", 6, false);
+ _objectsManager->SPACTION(_globals->_characterSpriteBuf, "18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,-1,", 6, false);
break;
default:
break;
@@ -2636,10 +2636,10 @@ void HopkinsEngine::handleOceanMouseEvents() {
}
} while (oldX <= 235);
if (!displAnim)
- _objectsManager->SPACTION(_globals->PERSO, "36,35,34,33,32,31,30,29,28,27,-1,", 6, false);
+ _objectsManager->SPACTION(_globals->_characterSpriteBuf, "36,35,34,33,32,31,30,29,28,27,-1,", 6, false);
break;
case DIR_DOWN:
- _objectsManager->SPACTION(_globals->PERSO, "9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,-1,", 6, false);
+ _objectsManager->SPACTION(_globals->_characterSpriteBuf, "9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,-1,", 6, false);
break;
case DIR_LEFT:
oldX = _objectsManager->getSpriteX(0);
@@ -2659,7 +2659,7 @@ void HopkinsEngine::handleOceanMouseEvents() {
}
} while (oldX > 236);
if (!displAnim)
- _objectsManager->SPACTION(_globals->PERSO, "18,19,20,21,22,23,24,25,26,27,-1,", 6, false);
+ _objectsManager->SPACTION(_globals->_characterSpriteBuf, "18,19,20,21,22,23,24,25,26,27,-1,", 6, false);
break;
default:
break;
@@ -2670,7 +2670,7 @@ void HopkinsEngine::handleOceanMouseEvents() {
case 4:
switch (_globals->_oceanDirection) {
case DIR_UP:
- _objectsManager->SPACTION(_globals->PERSO, "27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,-1,", 6, false);
+ _objectsManager->SPACTION(_globals->_characterSpriteBuf, "27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,-1,", 6, false);
break;
case DIR_RIGHT:
oldX = _objectsManager->getSpriteX(0);
@@ -2690,7 +2690,7 @@ void HopkinsEngine::handleOceanMouseEvents() {
}
} while (oldX <= 235);
if (!displAnim)
- _objectsManager->SPACTION(_globals->PERSO, "0,1,2,3,4,5,6,7,8,9,-1,", 6, false);
+ _objectsManager->SPACTION(_globals->_characterSpriteBuf, "0,1,2,3,4,5,6,7,8,9,-1,", 6, false);
break;
case DIR_LEFT:
oldX = _objectsManager->getSpriteX(0);
@@ -2709,7 +2709,7 @@ void HopkinsEngine::handleOceanMouseEvents() {
if (oldX <= 236) {
if (!displAnim)
- _objectsManager->SPACTION(_globals->PERSO, "18,17,16,15,14,13,12,11,10,9,-1,", 6, false);
+ _objectsManager->SPACTION(_globals->_characterSpriteBuf, "18,17,16,15,14,13,12,11,10,9,-1,", 6, false);
break;
}
}
@@ -2749,7 +2749,7 @@ void HopkinsEngine::handleOceanMaze(int16 curExitId, Common::String backgroundFi
_globals->_exitId = 0;
_globals->_disableInventFl = true;
_soundManager->playSound(soundId);
- _globals->PERSO = _fileManager->loadFile("VAISSEAU.SPR");
+ _globals->_characterSpriteBuf = _fileManager->loadFile("VAISSEAU.SPR");
if (backgroundFilename.size())
_graphicsManager->loadImage(backgroundFilename);
@@ -2795,7 +2795,7 @@ void HopkinsEngine::handleOceanMaze(int16 curExitId, Common::String backgroundFi
break;
}
- _objectsManager->addStaticSprite(_globals->PERSO, Common::Point(_objectsManager->_characterPos.x, 110), 0, _objectsManager->_startSpriteIndex, 0, false, 0, 0);
+ _objectsManager->addStaticSprite(_globals->_characterSpriteBuf, Common::Point(_objectsManager->_characterPos.x, 110), 0, _objectsManager->_startSpriteIndex, 0, false, 0, 0);
_graphicsManager->SETCOLOR3(252, 100, 100, 100);
_graphicsManager->SETCOLOR3(253, 100, 100, 100);
_graphicsManager->SETCOLOR3(251, 100, 100, 100);
@@ -2836,7 +2836,7 @@ void HopkinsEngine::handleOceanMaze(int16 curExitId, Common::String backgroundFi
_graphicsManager->fadeOutLong();
_objectsManager->removeSprite(0);
_objectsManager->clearScreen();
- _globals->PERSO = _fileManager->loadFile("PERSO.SPR");
+ _globals->_characterSpriteBuf = _fileManager->loadFile("PERSO.SPR");
_globals->_characterType = 0;
}
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp
index c3e28bd..83c1158 100644
--- a/engines/hopkins/objects.cpp
+++ b/engines/hopkins/objects.cpp
@@ -2061,7 +2061,7 @@ void ObjectsManager::clearScreen() {
_vm->_linesManager->resetLastLine();
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
_vm->_globals->_answerBuffer = _vm->_globals->freeMemory(_vm->_globals->_answerBuffer);
- _vm->_globals->SPRITE_ECRAN = _vm->_globals->freeMemory(_vm->_globals->SPRITE_ECRAN);
+ _vm->_globals->_levelSpriteBuf = _vm->_globals->freeMemory(_vm->_globals->_levelSpriteBuf);
_vm->_eventsManager->_startPos.x = 0;
_vm->_eventsManager->_mouseSpriteId = 0;
_vm->_globals->_saveData->_data[svLastMouseCursor] = 0;
@@ -2108,9 +2108,9 @@ void ObjectsManager::changeCharacterHead(PlayerCharacter oldCharacter, PlayerCha
_vm->_globals->_saveData->_data[svField357] = 1;
loc = &_vm->_globals->_saveData->_realHopkins;
- _vm->_globals->PERSO = _vm->_fileManager->loadFile("PERSO.SPR");
+ _vm->_globals->_characterSpriteBuf = _vm->_fileManager->loadFile("PERSO.SPR");
_vm->_globals->_characterType = 0;
- addStaticSprite(_vm->_globals->PERSO, loc->_pos, 0, 64, loc->_zoomFactor, false, 34, 190);
+ addStaticSprite(_vm->_globals->_characterSpriteBuf, loc->_pos, 0, 64, loc->_zoomFactor, false, 34, 190);
animateSprite(0);
_vm->_globals->loadCharacterData();
} else if (oldCharacter == CHARACTER_HOPKINS && newCharacter == CHARACTER_SAMANTHA
@@ -2133,9 +2133,9 @@ void ObjectsManager::changeCharacterHead(PlayerCharacter oldCharacter, PlayerCha
_vm->_globals->_saveData->_data[svField357] = 0;
loc = &_vm->_globals->_saveData->_samantha;
- _vm->_globals->PERSO = _vm->_fileManager->loadFile("PSAMAN.SPR");
+ _vm->_globals->_characterSpriteBuf = _vm->_fileManager->loadFile("PSAMAN.SPR");
_vm->_globals->_characterType = 2;
- addStaticSprite(_vm->_globals->PERSO, loc->_pos, 0, 64, loc->_zoomFactor, false, 20, 127);
+ addStaticSprite(_vm->_globals->_characterSpriteBuf, loc->_pos, 0, 64, loc->_zoomFactor, false, 20, 127);
animateSprite(0);
_vm->_globals->loadCharacterData();
} else {
@@ -3204,7 +3204,7 @@ void ObjectsManager::sceneSpecialIni() {
animateSprite(0);
for (int i = 0; i <= 4; i++)
_vm->_eventsManager->refreshScreenAndEvents();
- VBOB(_vm->_globals->SPRITE_ECRAN, 5, 15, 28, 1);
+ VBOB(_vm->_globals->_levelSpriteBuf, 5, 15, 28, 1);
_vm->_fontManager->hideText(9);
bool displayedTxtFl = false;
if (!_vm->_soundManager->_textOffFl) {
@@ -3677,7 +3677,7 @@ void ObjectsManager::PERSONAGE(const Common::String &backgroundFile, const Commo
}
_vm->_eventsManager->mouseOn();
if (_vm->_globals->_screenId == 61) {
- addStaticSprite(_vm->_globals->PERSO, Common::Point(330, 418), 0, 60, 0, false, 34, 190);
+ addStaticSprite(_vm->_globals->_characterSpriteBuf, Common::Point(330, 418), 0, 60, 0, false, 34, 190);
animateSprite(0);
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
computeAndSetSpriteSize();
@@ -3774,29 +3774,29 @@ void ObjectsManager::PERSONAGE2(const Common::String &backgroundFile, const Comm
_vm->_graphicsManager->SETCOLOR3(254, 0, 0, 0);
if (_vm->_globals->_characterType) {
if (!_vm->_globals->_saveData->_data[svAlternateSpriteFl] && !_vm->_globals->_saveData->_data[svField356]) {
- _vm->_globals->PERSO = _vm->_fileManager->loadFile("PERSO.SPR");
+ _vm->_globals->_characterSpriteBuf = _vm->_fileManager->loadFile("PERSO.SPR");
_vm->_globals->_characterType = 0;
}
}
if (!_vm->_globals->_characterType && _vm->_globals->_saveData->_data[svAlternateSpriteFl] == 1) {
- _vm->_globals->PERSO = _vm->_fileManager->loadFile("HOPFEM.SPR");
+ _vm->_globals->_characterSpriteBuf = _vm->_fileManager->loadFile("HOPFEM.SPR");
_vm->_globals->_characterType = 1;
}
if (_vm->_globals->_characterType != 2 && _vm->_globals->_saveData->_data[svField356] == 1) {
- _vm->_globals->PERSO = _vm->_fileManager->loadFile("PSAMAN.SPR");
+ _vm->_globals->_characterSpriteBuf = _vm->_fileManager->loadFile("PSAMAN.SPR");
_vm->_globals->_characterType = 2;
}
_vm->_globals->loadCharacterData();
switch (_vm->_globals->_characterType) {
case 0:
- addStaticSprite(_vm->_globals->PERSO, _characterPos, 0, _startSpriteIndex, 0, false, 34, 190);
+ addStaticSprite(_vm->_globals->_characterSpriteBuf, _characterPos, 0, _startSpriteIndex, 0, false, 34, 190);
break;
case 1:
- addStaticSprite(_vm->_globals->PERSO, _characterPos, 0, _startSpriteIndex, 0, false, 28, 155);
+ addStaticSprite(_vm->_globals->_characterSpriteBuf, _characterPos, 0, _startSpriteIndex, 0, false, 28, 155);
break;
case 2:
- addStaticSprite(_vm->_globals->PERSO, _characterPos, 0, _startSpriteIndex, 0, false, 20, 127);
+ addStaticSprite(_vm->_globals->_characterSpriteBuf, _characterPos, 0, _startSpriteIndex, 0, false, 20, 127);
break;
}
_vm->_eventsManager->setMouseXY(_characterPos);
diff --git a/engines/hopkins/script.cpp b/engines/hopkins/script.cpp
index 373b28a..3731ad6 100644
--- a/engines/hopkins/script.cpp
+++ b/engines/hopkins/script.cpp
@@ -180,11 +180,11 @@ 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->_levelSpriteBuf, vbobPosX, READ_LE_INT16(dataP + 10), vbobFrameIndex);
} else if (vbobIdx == 51) {
_vm->_objectsManager->BOB_VIVANT(vbobFrameIndex);
} else if (vbobIdx != 50) {
- _vm->_objectsManager->VBOB(_vm->_globals->SPRITE_ECRAN, vbobIdx, vbobPosX, vbobPosY, vbobFrameIndex);
+ _vm->_objectsManager->VBOB(_vm->_globals->_levelSpriteBuf, vbobIdx, vbobPosX, vbobPosY, vbobFrameIndex);
if (moveChange)
moveChange /= _vm->_globals->_speed;
if (moveChange > 1) {
@@ -808,14 +808,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->_levelSpriteBuf, 513, 249, 1);
break;
case 23:
- _vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 249, 2);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 513, 249, 2);
playFl = false;
break;
case 34:
- _vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 249, 3);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 513, 249, 3);
playFl = false;
break;
}
@@ -954,7 +954,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
break;
case 56:
- _vm->_globals->PERSO = _vm->_fileManager->loadFile("HOPFEM.SPR");
+ _vm->_globals->_characterSpriteBuf = _vm->_fileManager->loadFile("HOPFEM.SPR");
_vm->_globals->_characterType = 1;
_vm->_globals->_saveData->_data[svAlternateSpriteFl] = 1;
_vm->_globals->loadCharacterData();
@@ -964,7 +964,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
break;
case 57:
- _vm->_globals->PERSO = _vm->_fileManager->loadFile("PERSO.SPR");
+ _vm->_globals->_characterSpriteBuf = _vm->_fileManager->loadFile("PERSO.SPR");
_vm->_globals->_characterType = 0;
_vm->_globals->_saveData->_data[svAlternateSpriteFl] = 0;
_vm->_globals->loadCharacterData();
@@ -1155,7 +1155,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->_levelSpriteBuf, 201, 14, 1);
_vm->_objectsManager->animateSprite(0);
_vm->_objectsManager->stopBobAnimation(11);
_vm->_objectsManager->stopBobAnimation(8);
@@ -1256,7 +1256,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->_levelSpriteBuf, 283, 160, 6);
_vm->_soundManager->removeSample(1);
}
if (_vm->_globals->_saveData->_data[svField183] == 2) {
@@ -1293,7 +1293,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->_levelSpriteBuf, 283, 161, 8);
_vm->_soundManager->removeSample(1);
}
break;
@@ -1302,11 +1302,11 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager->playSoundFile("SOUND52.WAV");
if (!_vm->_globals->_saveData->_data[svField186]) {
_vm->_animationManager->playSequence("CIB5A.SEQ", 1, 12, 1, false, false);
- _vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 0);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 155, 29, 0);
} else if (_vm->_globals->_saveData->_data[svField186] == 1) {
_vm->_animationManager->playSequence("CIB5C.SEQ", 1, 12, 1, false, false);
- _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->_levelSpriteBuf, 155, 29, 0);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 329, 87, 2);
}
break;
@@ -1314,11 +1314,11 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager->playSoundFile("SOUND52.WAV");
if (!_vm->_globals->_saveData->_data[svField186]) {
_vm->_animationManager->playSequence("CIB5B.SEQ", 1, 12, 1, false, false);
- _vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 5);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 155, 29, 5);
} else if (_vm->_globals->_saveData->_data[svField186] == 1) {
_vm->_animationManager->playSequence("CIB5D.SEQ", 1, 12, 1, false, false);
- _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->_levelSpriteBuf, 155, 29, 5);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 283, 160, 6);
}
break;
@@ -1326,11 +1326,11 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager->playSoundFile("SOUND52.WAV");
if (!_vm->_globals->_saveData->_data[svField184]) {
_vm->_animationManager->playSequence("CIB6A.SEQ", 1, 12, 1, false, false);
- _vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 0);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 155, 29, 0);
} else if (_vm->_globals->_saveData->_data[svField184] == 1) {
_vm->_animationManager->playSequence("CIB6C.SEQ", 1, 12, 1, false, false);
- _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->_levelSpriteBuf, 155, 29, 0);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 293, 139, 3);
}
break;
@@ -1338,11 +1338,11 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager->playSoundFile("SOUND52.WAV");
if (!_vm->_globals->_saveData->_data[svField184]) {
_vm->_animationManager->playSequence("CIB6B.SEQ", 1, 12, 1, false, false);
- _vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 155, 29, 5);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 155, 29, 5);
} else if (_vm->_globals->_saveData->_data[svField184] == 1) {
_vm->_animationManager->playSequence("CIB6D.SEQ", 1, 12, 1, false, false);
- _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->_levelSpriteBuf, 155, 29, 5);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 283, 161, 8);
}
break;
@@ -1376,7 +1376,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->_levelSpriteBuf, 830, 122, 0);
_vm->_objectsManager->stopBobAnimation(12);
_vm->_objectsManager->stopBobAnimation(10);
_vm->_objectsManager->setBobAnimation(11);
@@ -1808,7 +1808,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->_levelSpriteBuf, 18, 334, 0, false);
} while (_vm->_objectsManager->getBobAnimDataIdx(4) != 26);
_vm->_objectsManager->stopBobAnimation(4);
_vm->_objectsManager->animateSprite(0);
@@ -1944,7 +1944,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager->_specialSoundNum = 210;
_vm->_animationManager->playSequence2("SECRET1.SEQ", 1, 12, 1, true);
_vm->_soundManager->_specialSoundNum = 0;
- _vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 192, 152, 0);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 192, 152, 0);
_vm->_objectsManager->setBobAnimation(9);
_vm->_objectsManager->OBSSEUL = true;
_vm->_objectsManager->loadLinkFile("IM73a");
@@ -1996,7 +1996,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager->_specialSoundNum = 229;
_vm->_animationManager->playSequence("MUR.SEQ", 1, 12, 1, false, false);
_vm->_soundManager->_specialSoundNum = 0;
- _vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 340, 157, 2);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 340, 157, 2);
break;
case 230: {
@@ -2036,7 +2036,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->_levelSpriteBuf, 337, 154, 3);
_vm->_objectsManager->OBSSEUL = true;
_vm->_objectsManager->loadLinkFile("IM93c");
_vm->_objectsManager->OBSSEUL = false;
@@ -2118,22 +2118,22 @@ 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->_levelSpriteBuf, 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->_levelSpriteBuf, 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->_levelSpriteBuf, 296, 212, 4);
_vm->_globals->_saveData->_data[svField340] = 0;
break;
}
}
_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->_levelSpriteBuf, 27, 117, 1);
break;
}
@@ -2156,15 +2156,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->_levelSpriteBuf, 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->_levelSpriteBuf, 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->_levelSpriteBuf, 296, 212, 4);
_vm->_globals->_saveData->_data[svField340] = 0;
break;
}
@@ -2172,7 +2172,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->_levelSpriteBuf, 145, 166, 3);
break;
}
@@ -2194,22 +2194,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->_levelSpriteBuf, 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->_levelSpriteBuf, 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->_levelSpriteBuf, 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->_levelSpriteBuf, 296, 212, 5);
break;
}
@@ -2298,7 +2298,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->_levelSpriteBuf, 373, 191, 3);
_vm->_objectsManager->addStaticSprite(_vm->_objectsManager->_headSprites, samantha->_pos, 1, 3, samantha->_zoomFactor, false, 20, 127);
_vm->_objectsManager->animateSprite(1);
break;
@@ -2318,7 +2318,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->_levelSpriteBuf, 285, 379, 0);
_vm->_globals->_saveData->_data[svField399] = 1;
break;
@@ -2350,17 +2350,17 @@ int ScriptManager::handleOpcode(byte *dataP) {
break;
case 601:
- _vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 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->_levelSpriteBuf, 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->_levelSpriteBuf, 513, 163, 7, false);
_vm->_objectsManager->OPTI_ONE(3, 0, 16, 4);
_vm->_soundManager->_specialSoundNum = 199;
_vm->_graphicsManager->FADE_LINUX = 2;
@@ -2372,7 +2372,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
break;
case 604:
- _vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 513, 163, 7, false);
_vm->_objectsManager->OPTI_ONE(1, 0, 16, 4);
_vm->_soundManager->_specialSoundNum = 199;
_vm->_animationManager->playAnim("BOMBE2A.ANM", 50, 14, 500);
@@ -2383,7 +2383,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
break;
case 605:
- _vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 513, 163, 7, false);
_vm->_objectsManager->OPTI_ONE(5, 0, 16, 4);
_vm->_graphicsManager->fadeOutShort();
_vm->_soundManager->_specialSoundNum = 199;
@@ -2396,7 +2396,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
break;
case 606:
- _vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 513, 163, 7, false);
+ _vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 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);
Commit: b46f2ccdc72c9cc9a53e4cf07efd502f21cc144c
https://github.com/scummvm/scummvm/commit/b46f2ccdc72c9cc9a53e4cf07efd502f21cc144c
Author: Strangerke (strangerke at scummvm.org)
Date: 2013-03-24T14:12:44-07:00
Commit Message:
HOPKINS: Move 2 variables from Globals to ObjectsManager and LinesManager
Changed paths:
engines/hopkins/globals.cpp
engines/hopkins/globals.h
engines/hopkins/lines.cpp
engines/hopkins/lines.h
engines/hopkins/objects.cpp
engines/hopkins/objects.h
diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp
index 87efe99..9fdba0b 100644
--- a/engines/hopkins/globals.cpp
+++ b/engines/hopkins/globals.cpp
@@ -102,7 +102,6 @@ Globals::Globals(HopkinsEngine *vm) {
_linuxEndDemoFl = false;
_speed = 1;
- _oldFrameIndex = 0;
_oldDirection = DIR_NONE;
_oldDirectionSpriteIdx = 59;
_lastDirection = DIR_NONE;
@@ -169,7 +168,6 @@ Globals::Globals(HopkinsEngine *vm) {
_oldZoneNum = 0;
_oldMouseX = 0;
_oldMouseY = 0;
- _forceHideText = false;
}
Globals::~Globals() {
@@ -261,7 +259,7 @@ void Globals::loadCharacterData() {
_hopkinsItem[idx]._speedY = *srcP++;
}
- _oldFrameIndex = -1;
+ _vm->_objectsManager->resetOldFrameIndex();
_oldDirection = DIR_NONE;
}
diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h
index 2a27d59..3a84ddb 100644
--- a/engines/hopkins/globals.h
+++ b/engines/hopkins/globals.h
@@ -236,14 +236,12 @@ public:
bool _censorshipFl;
bool _introSpeechOffFl;
bool _hidingActiveFl;
- bool _forceHideText;
int _exitId;
Directions _oceanDirection;
Directions _oldDirection;
int _oldDirectionSpriteIdx;
int _actionDirection;
Directions _lastDirection;
- int _oldFrameIndex;
int _hotspotTextColor;
int _inventory[36];
int _objectWidth, _objectHeight;
diff --git a/engines/hopkins/lines.cpp b/engines/hopkins/lines.cpp
index f47a444..3571cbc 100644
--- a/engines/hopkins/lines.cpp
+++ b/engines/hopkins/lines.cpp
@@ -75,6 +75,7 @@ LinesManager::LinesManager(HopkinsEngine *vm) {
_currentSegmentId = 0;
_largeBuf = g_PTRNUL;
_zoneSkipCount = 0;
+ _forceHideText = false;
}
LinesManager::~LinesManager() {
@@ -2846,9 +2847,9 @@ void LinesManager::checkZone() {
_vm->_graphicsManager->SETCOLOR4(251, 100, 100, 100);
_vm->_eventsManager->_mouseCursorId = 4;
_vm->_eventsManager->changeMouseCursor(4);
- if (_vm->_globals->_forceHideText) {
+ if (_forceHideText) {
_vm->_fontManager->hideText(5);
- _vm->_globals->_forceHideText = false;
+ _forceHideText = false;
return;
}
}
@@ -2861,7 +2862,7 @@ void LinesManager::checkZone() {
if (_vm->_globals->_oldMouseZoneId != zoneId) {
_vm->_fontManager->initTextBuffers(5, ZONEP[zoneId]._messageId, _vm->_globals->_zoneFilename, 0, 430, 0, 0, 252);
_vm->_fontManager->showText(5);
- _vm->_globals->_forceHideText = true;
+ _forceHideText = true;
}
_vm->_globals->_hotspotTextColor += 25;
if (_vm->_globals->_hotspotTextColor > 100)
diff --git a/engines/hopkins/lines.h b/engines/hopkins/lines.h
index 2d0b3b0..ed7e2f0 100644
--- a/engines/hopkins/lines.h
+++ b/engines/hopkins/lines.h
@@ -106,6 +106,7 @@ class LinesManager {
private:
HopkinsEngine *_vm;
+ bool _forceHideText;
int _pathFindingMaxDepth;
SmoothItem _smoothRoute[4000];
Directions _smoothMoveDirection;
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp
index 83c1158..4b7a66a 100644
--- a/engines/hopkins/objects.cpp
+++ b/engines/hopkins/objects.cpp
@@ -75,6 +75,7 @@ ObjectsManager::ObjectsManager(HopkinsEngine *vm) {
_jumpVerb = 0;
_jumpZone = 0;
_oldSpriteIndex = 0;
+ _oldFrameIndex = 0;
_oldFlipFl = false;
_curObjectIndex = 0;
_forestFl = false;
@@ -1275,7 +1276,7 @@ void ObjectsManager::GOHOME() {
if (newPosX != -1 || newPosY != -1) {
_vm->_globals->_oldDirection = newDirection;
_vm->_globals->_oldDirectionSpriteIdx = newDirection + 59;
- _vm->_globals->_oldFrameIndex = 0;
+ _oldFrameIndex = 0;
_oldCharacterPosX = newPosX;
_oldCharacterPosY = newPosY;
} else {
@@ -1309,13 +1310,13 @@ void ObjectsManager::GOHOME() {
return;
}
if (_vm->_globals->_oldDirection == DIR_RIGHT) {
- if (_vm->_globals->_oldFrameIndex < 24 || _vm->_globals->_oldFrameIndex > 35) {
+ if (_oldFrameIndex < 24 || _oldFrameIndex > 35) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
oldFrameIdx = 24;
} else {
- int deltaX = _vm->_globals->_hopkinsItem[_vm->_globals->_oldFrameIndex]._speedX;
- int deltaY = _vm->_globals->_hopkinsItem[_vm->_globals->_oldFrameIndex]._speedY;
+ int deltaX = _vm->_globals->_hopkinsItem[_oldFrameIndex]._speedX;
+ int deltaY = _vm->_globals->_hopkinsItem[_oldFrameIndex]._speedY;
if (_sprite[0]._zoomFactor < 0) {
deltaX = _vm->_graphicsManager->zoomOut(deltaX, -_sprite[0]._zoomFactor);
@@ -1326,20 +1327,20 @@ void ObjectsManager::GOHOME() {
}
oldPosX = _oldCharacterPosX + deltaX;
oldPosY = _oldCharacterPosY + deltaY;
- oldFrameIdx = _vm->_globals->_oldFrameIndex + 1;
+ oldFrameIdx = _oldFrameIndex + 1;
if (oldFrameIdx > 35)
oldFrameIdx = 24;
}
_homeRateCounter = 5 / _vm->_globals->_speed;
}
if (_vm->_globals->_oldDirection == DIR_LEFT) {
- if (_vm->_globals->_oldFrameIndex < 24 || _vm->_globals->_oldFrameIndex > 35) {
+ if (_oldFrameIndex < 24 || _oldFrameIndex > 35) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
oldFrameIdx = 24;
} else {
- int deltaX = _vm->_globals->_hopkinsItem[_vm->_globals->_oldFrameIndex]._speedX;
- int deltaY = _vm->_globals->_hopkinsItem[_vm->_globals->_oldFrameIndex]._speedY;
+ int deltaX = _vm->_globals->_hopkinsItem[_oldFrameIndex]._speedX;
+ int deltaY = _vm->_globals->_hopkinsItem[_oldFrameIndex]._speedY;
if (_sprite[0]._zoomFactor < 0) {
deltaX = _vm->_graphicsManager->zoomOut(deltaX, -_sprite[0]._zoomFactor);
deltaY = _vm->_graphicsManager->zoomOut(deltaY, -_sprite[0]._zoomFactor);
@@ -1349,19 +1350,19 @@ void ObjectsManager::GOHOME() {
}
oldPosX = _oldCharacterPosX - deltaX;
oldPosY = _oldCharacterPosY - deltaY;
- oldFrameIdx = _vm->_globals->_oldFrameIndex + 1;
+ oldFrameIdx = _oldFrameIndex + 1;
if (oldFrameIdx > 35)
oldFrameIdx = 24;
}
_homeRateCounter = 5 / _vm->_globals->_speed;
}
if (_vm->_globals->_oldDirection == DIR_UP) {
- if (_vm->_globals->_oldFrameIndex > 11) {
+ if (_oldFrameIndex > 11) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
oldFrameIdx = 0;
} else {
- int deltaY = abs(_vm->_globals->_hopkinsItem[_vm->_globals->_oldFrameIndex]._speedY);
+ int deltaY = abs(_vm->_globals->_hopkinsItem[_oldFrameIndex]._speedY);
if (_sprite[0]._zoomFactor < 0) {
deltaY = _vm->_graphicsManager->zoomOut(deltaY, -_sprite[0]._zoomFactor);
} else if (_sprite[0]._zoomFactor > 0) {
@@ -1369,7 +1370,7 @@ void ObjectsManager::GOHOME() {
}
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY - deltaY;
- oldFrameIdx = _vm->_globals->_oldFrameIndex + 1;
+ oldFrameIdx = _oldFrameIndex + 1;
if (oldFrameIdx > 11)
oldFrameIdx = 0;
}
@@ -1377,12 +1378,12 @@ void ObjectsManager::GOHOME() {
}
if (_vm->_globals->_oldDirection == DIR_DOWN) {
- if (_vm->_globals->_oldFrameIndex < 48 || _vm->_globals->_oldFrameIndex > 59) {
+ if (_oldFrameIndex < 48 || _oldFrameIndex > 59) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
oldFrameIdx = 48;
} else {
- int deltaY = abs(_vm->_globals->_hopkinsItem[_vm->_globals->_oldFrameIndex]._speedY);
+ int deltaY = abs(_vm->_globals->_hopkinsItem[_oldFrameIndex]._speedY);
if (_sprite[0]._zoomFactor < 0) {
deltaY = _vm->_graphicsManager->zoomOut(deltaY, -_sprite[0]._zoomFactor);
} else if (_sprite[0]._zoomFactor > 0) {
@@ -1390,20 +1391,20 @@ void ObjectsManager::GOHOME() {
}
oldPosX = _oldCharacterPosX;
oldPosY = deltaY + _oldCharacterPosY;
- oldFrameIdx = _vm->_globals->_oldFrameIndex + 1;
+ oldFrameIdx = _oldFrameIndex + 1;
if (oldFrameIdx > 59)
oldFrameIdx = 48;
}
_homeRateCounter = 4 / _vm->_globals->_speed;
}
if (_vm->_globals->_oldDirection == DIR_UP_RIGHT) {
- if (_vm->_globals->_oldFrameIndex < 12 || _vm->_globals->_oldFrameIndex > 23) {
+ if (_oldFrameIndex < 12 || _oldFrameIndex > 23) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
oldFrameIdx = 12;
} else {
- int deltaX = _vm->_globals->_hopkinsItem[_vm->_globals->_oldFrameIndex]._speedX;
- int deltaY = _vm->_globals->_hopkinsItem[_vm->_globals->_oldFrameIndex]._speedY;
+ int deltaX = _vm->_globals->_hopkinsItem[_oldFrameIndex]._speedX;
+ int deltaY = _vm->_globals->_hopkinsItem[_oldFrameIndex]._speedY;
if (_sprite[0]._zoomFactor < 0) {
deltaX = _vm->_graphicsManager->zoomOut(deltaX, -_sprite[0]._zoomFactor);
deltaY = _vm->_graphicsManager->zoomOut(deltaY, -_sprite[0]._zoomFactor);
@@ -1414,20 +1415,20 @@ void ObjectsManager::GOHOME() {
}
oldPosX = deltaX + _oldCharacterPosX;
oldPosY = _oldCharacterPosY + deltaY;
- oldFrameIdx = _vm->_globals->_oldFrameIndex + 1;
+ oldFrameIdx = _oldFrameIndex + 1;
if (oldFrameIdx > 23)
oldFrameIdx = 12;
}
_homeRateCounter = 5 / _vm->_globals->_speed;
}
if (_vm->_globals->_oldDirection == DIR_UP_LEFT) {
- if (_vm->_globals->_oldFrameIndex < 12 || _vm->_globals->_oldFrameIndex > 23) {
+ if (_oldFrameIndex < 12 || _oldFrameIndex > 23) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
oldFrameIdx = 12;
} else {
- int deltaX = _vm->_globals->_hopkinsItem[_vm->_globals->_oldFrameIndex]._speedX;
- int deltaY = _vm->_globals->_hopkinsItem[_vm->_globals->_oldFrameIndex]._speedY;
+ int deltaX = _vm->_globals->_hopkinsItem[_oldFrameIndex]._speedX;
+ int deltaY = _vm->_globals->_hopkinsItem[_oldFrameIndex]._speedY;
if (_sprite[0]._zoomFactor < 0) {
deltaX = _vm->_graphicsManager->zoomOut(deltaX, -_sprite[0]._zoomFactor);
deltaY = _vm->_graphicsManager->zoomOut(deltaY, -_sprite[0]._zoomFactor);
@@ -1437,20 +1438,20 @@ void ObjectsManager::GOHOME() {
}
oldPosX = _oldCharacterPosX - deltaX;
oldPosY = _oldCharacterPosY + deltaY;
- oldFrameIdx = _vm->_globals->_oldFrameIndex + 1;
+ oldFrameIdx = _oldFrameIndex + 1;
if (oldFrameIdx > 23)
oldFrameIdx = 12;
}
_homeRateCounter = 5 / _vm->_globals->_speed;
}
if (_vm->_globals->_oldDirection == DIR_DOWN_RIGHT) {
- if (_vm->_globals->_oldFrameIndex < 36 || _vm->_globals->_oldFrameIndex > 47) {
+ if (_oldFrameIndex < 36 || _oldFrameIndex > 47) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
oldFrameIdx = 36;
} else {
- int deltaX = _vm->_globals->_hopkinsItem[_vm->_globals->_oldFrameIndex]._speedX;
- int deltaY = _vm->_globals->_hopkinsItem[_vm->_globals->_oldFrameIndex]._speedY;
+ int deltaX = _vm->_globals->_hopkinsItem[_oldFrameIndex]._speedX;
+ int deltaY = _vm->_globals->_hopkinsItem[_oldFrameIndex]._speedY;
if (_sprite[0]._zoomFactor < 0) {
deltaX = _vm->_graphicsManager->zoomOut(deltaX, -_sprite[0]._zoomFactor);
deltaY = _vm->_graphicsManager->zoomOut(deltaY, -_sprite[0]._zoomFactor);
@@ -1461,20 +1462,20 @@ void ObjectsManager::GOHOME() {
}
oldPosX = deltaX + _oldCharacterPosX;
oldPosY = _oldCharacterPosY + deltaY;
- oldFrameIdx = _vm->_globals->_oldFrameIndex + 1;
+ oldFrameIdx = _oldFrameIndex + 1;
if (oldFrameIdx > 47)
oldFrameIdx = 36;
}
_homeRateCounter = 5 / _vm->_globals->_speed;
}
if (_vm->_globals->_oldDirection == DIR_DOWN_LEFT) {
- if (_vm->_globals->_oldFrameIndex < 36 || _vm->_globals->_oldFrameIndex > 47) {
+ if (_oldFrameIndex < 36 || _oldFrameIndex > 47) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
oldFrameIdx = 36;
} else {
- int deltaX = _vm->_globals->_hopkinsItem[_vm->_globals->_oldFrameIndex]._speedX;
- int deltaY = _vm->_globals->_hopkinsItem[_vm->_globals->_oldFrameIndex]._speedY;
+ int deltaX = _vm->_globals->_hopkinsItem[_oldFrameIndex]._speedX;
+ int deltaY = _vm->_globals->_hopkinsItem[_oldFrameIndex]._speedY;
if (_sprite[0]._zoomFactor < 0) {
deltaX = _vm->_graphicsManager->zoomOut(deltaX, -_sprite[0]._zoomFactor);
deltaY = _vm->_graphicsManager->zoomOut(deltaY, -_sprite[0]._zoomFactor);
@@ -1485,7 +1486,7 @@ void ObjectsManager::GOHOME() {
}
oldPosX = _oldCharacterPosX - deltaX;
oldPosY = _oldCharacterPosY + deltaY;
- oldFrameIdx = _vm->_globals->_oldFrameIndex + 1;
+ oldFrameIdx = _oldFrameIndex + 1;
if (oldFrameIdx > 47)
oldFrameIdx = 36;
}
@@ -1560,7 +1561,7 @@ void ObjectsManager::GOHOME() {
}
_vm->_globals->_oldDirection = newDirection;
_vm->_globals->_oldDirectionSpriteIdx = newDirection + 59;
- _vm->_globals->_oldFrameIndex = oldFrameIdx;
+ _oldFrameIndex = oldFrameIdx;
_oldCharacterPosX = newPosX;
_oldCharacterPosY = newPosY;
}
diff --git a/engines/hopkins/objects.h b/engines/hopkins/objects.h
index 9e22a52..34764f5 100644
--- a/engines/hopkins/objects.h
+++ b/engines/hopkins/objects.h
@@ -92,6 +92,7 @@ private:
const byte *_oldSpriteData;
int _verb;
int _oldSpriteIndex;
+ int _oldFrameIndex;
bool _oldFlipFl;
int _curGestureFile;
byte *_gestureBuf;
@@ -241,6 +242,8 @@ public:
void OPTI_BOBON(int idx1, int idx2, int idx3, int anim1Idx, int anim2Idx, int anim3Idx);
void SPACTION1(byte *spriteData, const Common::String &animString, int speed);
void PARADISE();
+
+ void resetOldFrameIndex() { _oldFrameIndex = -1; }
};
} // End of namespace Hopkins
Commit: aa141c43552ac407cf3088c806b7fdbe192c9627
https://github.com/scummvm/scummvm/commit/aa141c43552ac407cf3088c806b7fdbe192c9627
Author: Strangerke (strangerke at scummvm.org)
Date: 2013-03-24T14:12:46-07:00
Commit Message:
HOPKINS: Move 3 variables from Globals to ObjectsManager, make them private
Changed paths:
engines/hopkins/globals.cpp
engines/hopkins/globals.h
engines/hopkins/objects.cpp
engines/hopkins/objects.h
engines/hopkins/script.cpp
diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp
index 9fdba0b..068c390 100644
--- a/engines/hopkins/globals.cpp
+++ b/engines/hopkins/globals.cpp
@@ -102,9 +102,6 @@ Globals::Globals(HopkinsEngine *vm) {
_linuxEndDemoFl = false;
_speed = 1;
- _oldDirection = DIR_NONE;
- _oldDirectionSpriteIdx = 59;
- _lastDirection = DIR_NONE;
_curObjectFileNum = 0;
_objectWidth = _objectHeight = 0;
_catalogPos = 0;
@@ -260,7 +257,7 @@ void Globals::loadCharacterData() {
}
_vm->_objectsManager->resetOldFrameIndex();
- _oldDirection = DIR_NONE;
+ _vm->_objectsManager->resetOldDirection();
}
void Globals::initAnimBqe() {
diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h
index 3a84ddb..a35f1a7 100644
--- a/engines/hopkins/globals.h
+++ b/engines/hopkins/globals.h
@@ -238,10 +238,7 @@ public:
bool _hidingActiveFl;
int _exitId;
Directions _oceanDirection;
- Directions _oldDirection;
- int _oldDirectionSpriteIdx;
int _actionDirection;
- Directions _lastDirection;
int _hotspotTextColor;
int _inventory[36];
int _objectWidth, _objectHeight;
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp
index 4b7a66a..b0170b2 100644
--- a/engines/hopkins/objects.cpp
+++ b/engines/hopkins/objects.cpp
@@ -85,6 +85,9 @@ ObjectsManager::ObjectsManager(HopkinsEngine *vm) {
_curGestureFile = 0;
_headSprites = NULL;
_homeRateCounter = 0;
+ _lastDirection = DIR_NONE;
+ _oldDirection = DIR_NONE;
+ _oldDirectionSpriteIdx = 59;
}
ObjectsManager::~ObjectsManager() {
@@ -1266,7 +1269,7 @@ void ObjectsManager::GOHOME() {
int oldPosY = 0;
int oldFrameIdx = 0;
_homeRateCounter = 0;
- if (_vm->_globals->_oldDirection == DIR_NONE) {
+ if (_oldDirection == DIR_NONE) {
computeAndSetSpriteSize();
newPosX = _vm->_linesManager->_route->_x;
newPosY = _vm->_linesManager->_route->_y;
@@ -1274,13 +1277,13 @@ void ObjectsManager::GOHOME() {
_vm->_linesManager->_route++;
if (newPosX != -1 || newPosY != -1) {
- _vm->_globals->_oldDirection = newDirection;
- _vm->_globals->_oldDirectionSpriteIdx = newDirection + 59;
+ _oldDirection = newDirection;
+ _oldDirectionSpriteIdx = newDirection + 59;
_oldFrameIndex = 0;
_oldCharacterPosX = newPosX;
_oldCharacterPosY = newPosY;
} else {
- setSpriteIndex(0, _vm->_globals->_oldDirection + 59);
+ setSpriteIndex(0, _oldDirection + 59);
_vm->_globals->_actionDirection = DIR_NONE;
int zoneId;
if (_vm->_globals->_actionMoveTo)
@@ -1292,7 +1295,7 @@ void ObjectsManager::GOHOME() {
setFlipSprite(0, false);
_homeRateCounter = 0;
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
- _vm->_globals->_oldDirection = DIR_NONE;
+ _oldDirection = DIR_NONE;
if (zoneId > 0) {
if (_vm->_linesManager->ZONEP[zoneId]._destX && _vm->_linesManager->ZONEP[zoneId]._destY && _vm->_linesManager->ZONEP[zoneId]._destY != 31) {
if (_vm->_linesManager->ZONEP[zoneId]._spriteIndex == -1) {
@@ -1309,7 +1312,7 @@ void ObjectsManager::GOHOME() {
_homeRateCounter = 0;
return;
}
- if (_vm->_globals->_oldDirection == DIR_RIGHT) {
+ if (_oldDirection == DIR_RIGHT) {
if (_oldFrameIndex < 24 || _oldFrameIndex > 35) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
@@ -1333,7 +1336,7 @@ void ObjectsManager::GOHOME() {
}
_homeRateCounter = 5 / _vm->_globals->_speed;
}
- if (_vm->_globals->_oldDirection == DIR_LEFT) {
+ if (_oldDirection == DIR_LEFT) {
if (_oldFrameIndex < 24 || _oldFrameIndex > 35) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
@@ -1356,7 +1359,7 @@ void ObjectsManager::GOHOME() {
}
_homeRateCounter = 5 / _vm->_globals->_speed;
}
- if (_vm->_globals->_oldDirection == DIR_UP) {
+ if (_oldDirection == DIR_UP) {
if (_oldFrameIndex > 11) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
@@ -1377,7 +1380,7 @@ void ObjectsManager::GOHOME() {
_homeRateCounter = 4 / _vm->_globals->_speed;
}
- if (_vm->_globals->_oldDirection == DIR_DOWN) {
+ if (_oldDirection == DIR_DOWN) {
if (_oldFrameIndex < 48 || _oldFrameIndex > 59) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
@@ -1397,7 +1400,7 @@ void ObjectsManager::GOHOME() {
}
_homeRateCounter = 4 / _vm->_globals->_speed;
}
- if (_vm->_globals->_oldDirection == DIR_UP_RIGHT) {
+ if (_oldDirection == DIR_UP_RIGHT) {
if (_oldFrameIndex < 12 || _oldFrameIndex > 23) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
@@ -1421,7 +1424,7 @@ void ObjectsManager::GOHOME() {
}
_homeRateCounter = 5 / _vm->_globals->_speed;
}
- if (_vm->_globals->_oldDirection == DIR_UP_LEFT) {
+ if (_oldDirection == DIR_UP_LEFT) {
if (_oldFrameIndex < 12 || _oldFrameIndex > 23) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
@@ -1444,7 +1447,7 @@ void ObjectsManager::GOHOME() {
}
_homeRateCounter = 5 / _vm->_globals->_speed;
}
- if (_vm->_globals->_oldDirection == DIR_DOWN_RIGHT) {
+ if (_oldDirection == DIR_DOWN_RIGHT) {
if (_oldFrameIndex < 36 || _oldFrameIndex > 47) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
@@ -1468,7 +1471,7 @@ void ObjectsManager::GOHOME() {
}
_homeRateCounter = 5 / _vm->_globals->_speed;
}
- if (_vm->_globals->_oldDirection == DIR_DOWN_LEFT) {
+ if (_oldDirection == DIR_DOWN_LEFT) {
if (_oldFrameIndex < 36 || _oldFrameIndex > 47) {
oldPosX = _oldCharacterPosX;
oldPosY = _oldCharacterPosY;
@@ -1505,13 +1508,13 @@ void ObjectsManager::GOHOME() {
zoneId = _vm->_globals->_saveData->_data[svLastZoneNum];
else
zoneId = _zoneNum;
- setSpriteIndex(0, _vm->_globals->_oldDirection + 59);
+ setSpriteIndex(0, _oldDirection + 59);
_vm->_globals->_actionDirection = DIR_NONE;
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
computeAndSetSpriteSize();
setFlipSprite(0, false);
_homeRateCounter = 0;
- _vm->_globals->_oldDirection = DIR_NONE;
+ _oldDirection = DIR_NONE;
_oldCharacterPosX = getSpriteX(0);
_oldCharacterPosY = getSpriteY(0);
@@ -1530,37 +1533,37 @@ void ObjectsManager::GOHOME() {
_homeRateCounter = 0;
return;
}
- if (_vm->_globals->_oldDirection != newDirection)
+ if (_oldDirection != newDirection)
break;
- if ((newDirection == DIR_RIGHT && newPosX >= oldPosX) || (_vm->_globals->_oldDirection == DIR_LEFT && newPosX <= oldPosX) ||
- (_vm->_globals->_oldDirection == DIR_UP && newPosY <= oldPosY) || (_vm->_globals->_oldDirection == DIR_DOWN && newPosY >= oldPosY) ||
- (_vm->_globals->_oldDirection == DIR_UP_RIGHT && newPosX >= oldPosX) || (_vm->_globals->_oldDirection == DIR_UP_LEFT && newPosX <= oldPosX) ||
- (_vm->_globals->_oldDirection == DIR_DOWN_RIGHT && newPosX >= oldPosX) || (_vm->_globals->_oldDirection == DIR_DOWN_LEFT && newPosX <= oldPosX))
+ if ((newDirection == DIR_RIGHT && newPosX >= oldPosX) || (_oldDirection == DIR_LEFT && newPosX <= oldPosX) ||
+ (_oldDirection == DIR_UP && newPosY <= oldPosY) || (_oldDirection == DIR_DOWN && newPosY >= oldPosY) ||
+ (_oldDirection == DIR_UP_RIGHT && newPosX >= oldPosX) || (_oldDirection == DIR_UP_LEFT && newPosX <= oldPosX) ||
+ (_oldDirection == DIR_DOWN_RIGHT && newPosX >= oldPosX) || (_oldDirection == DIR_DOWN_LEFT && newPosX <= oldPosX))
loopCond = true;
} while (!loopCond);
if (loopCond) {
computeAndSetSpriteSize();
- if ((_vm->_globals->_oldDirection == DIR_DOWN_LEFT) || (_vm->_globals->_oldDirection == DIR_LEFT) || (_vm->_globals->_oldDirection == DIR_UP_LEFT))
+ if ((_oldDirection == DIR_DOWN_LEFT) || (_oldDirection == DIR_LEFT) || (_oldDirection == DIR_UP_LEFT))
setFlipSprite(0, true);
- if ((_vm->_globals->_oldDirection == DIR_UP) || (_vm->_globals->_oldDirection == DIR_UP_RIGHT) || (_vm->_globals->_oldDirection == DIR_RIGHT) ||
- (_vm->_globals->_oldDirection == DIR_DOWN_RIGHT) || (_vm->_globals->_oldDirection == DIR_DOWN))
+ if ((_oldDirection == DIR_UP) || (_oldDirection == DIR_UP_RIGHT) || (_oldDirection == DIR_RIGHT) ||
+ (_oldDirection == DIR_DOWN_RIGHT) || (_oldDirection == DIR_DOWN))
setFlipSprite(0, false);
setSpriteX(0, newPosX);
setSpriteY(0, newPosY);
setSpriteIndex(0, oldFrameIdx);
} else {
- if ((_vm->_globals->_oldDirection == DIR_DOWN_LEFT) || (_vm->_globals->_oldDirection == DIR_LEFT) || (_vm->_globals->_oldDirection == DIR_UP_LEFT))
+ if ((_oldDirection == DIR_DOWN_LEFT) || (_oldDirection == DIR_LEFT) || (_oldDirection == DIR_UP_LEFT))
setFlipSprite(0, true);
- if ((_vm->_globals->_oldDirection == DIR_UP) || (_vm->_globals->_oldDirection == DIR_UP_RIGHT) || (_vm->_globals->_oldDirection == DIR_RIGHT) ||
- (_vm->_globals->_oldDirection == DIR_DOWN_RIGHT) || (_vm->_globals->_oldDirection == DIR_DOWN))
+ if ((_oldDirection == DIR_UP) || (_oldDirection == DIR_UP_RIGHT) || (_oldDirection == DIR_RIGHT) ||
+ (_oldDirection == DIR_DOWN_RIGHT) || (_oldDirection == DIR_DOWN))
setFlipSprite(0, false);
_homeRateCounter = 0;
}
- _vm->_globals->_oldDirection = newDirection;
- _vm->_globals->_oldDirectionSpriteIdx = newDirection + 59;
+ _oldDirection = newDirection;
+ _oldDirectionSpriteIdx = newDirection + 59;
_oldFrameIndex = oldFrameIdx;
_oldCharacterPosX = newPosX;
_oldCharacterPosY = newPosY;
@@ -1589,10 +1592,10 @@ void ObjectsManager::GOHOME2() {
++countColisionPixel;
if (countColisionPixel >= realSpeed) {
- _vm->_globals->_lastDirection = newDirection;
+ _lastDirection = newDirection;
setSpriteX(0, nexPosX);
setSpriteY(0, newPosY);
- switch (_vm->_globals->_lastDirection) {
+ switch (_lastDirection) {
case DIR_UP:
setSpriteIndex(0, 4);
break;
@@ -1613,7 +1616,7 @@ void ObjectsManager::GOHOME2() {
}
}
- switch (_vm->_globals->_lastDirection) {
+ switch (_lastDirection) {
case DIR_UP:
setSpriteIndex(0, 0);
break;
@@ -1887,13 +1890,13 @@ void ObjectsManager::handleLeftButton() {
if (_forestFl && _zoneNum >= 20 && _zoneNum <= 23) {
if (getSpriteY(0) > 374 && getSpriteY(0) <= 410) {
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
- setSpriteIndex(0, _vm->_globals->_oldDirectionSpriteIdx);
+ setSpriteIndex(0, _oldDirectionSpriteIdx);
_vm->_globals->_actionDirection = DIR_NONE;
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
computeAndSetSpriteSize();
setFlipSprite(0, false);
_homeRateCounter = 0;
- _vm->_globals->_oldDirection = DIR_NONE;
+ _oldDirection = DIR_NONE;
} else {
_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(getSpriteX(0), getSpriteY(0), getSpriteX(0), 390);
if (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL)
@@ -1902,7 +1905,7 @@ void ObjectsManager::handleLeftButton() {
_oldCharacterPosY = getSpriteY(0);
_homeRateCounter = 0;
if (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL || oldRoute == _vm->_linesManager->_route) {
- _vm->_globals->_oldDirection = DIR_NONE;
+ _oldDirection = DIR_NONE;
} else {
_vm->_linesManager->_route = oldRoute;
}
@@ -1916,7 +1919,7 @@ void ObjectsManager::handleLeftButton() {
_oldCharacterPosY = getSpriteY(0);
_homeRateCounter = 0;
if (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL || oldRoute == _vm->_linesManager->_route)
- _vm->_globals->_oldDirection = DIR_NONE;
+ _oldDirection = DIR_NONE;
else
_vm->_linesManager->_route = oldRoute;
}
@@ -2071,7 +2074,7 @@ void ObjectsManager::clearScreen() {
_forceZoneFl = true;
_changeVerbFl = false;
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
- _vm->_globals->_oldDirection = DIR_NONE;
+ _oldDirection = DIR_NONE;
_vm->_graphicsManager->resetDirtyRects();
}
@@ -3696,7 +3699,7 @@ void ObjectsManager::PERSONAGE(const Common::String &backgroundFile, const Commo
stopBobAnimation(3);
_vm->_globals->_checkDistanceFl = true;
_oldCharacterPosX = getSpriteX(0);
- _vm->_globals->_oldDirection = DIR_NONE;
+ _oldDirection = DIR_NONE;
_homeRateCounter = 0;
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(getSpriteX(0), getSpriteY(0), 330, 345);
@@ -3812,7 +3815,7 @@ void ObjectsManager::PERSONAGE2(const Common::String &backgroundFile, const Comm
_vm->_eventsManager->_mouseSpriteId = 4;
_oldCharacterPosX = _characterPos.x;
_oldCharacterPosY = _characterPos.y;
- _vm->_globals->_oldDirection = DIR_NONE;
+ _oldDirection = DIR_NONE;
_homeRateCounter = 0;
for (int idx = 0; idx < 5; ++idx)
diff --git a/engines/hopkins/objects.h b/engines/hopkins/objects.h
index 34764f5..b194749 100644
--- a/engines/hopkins/objects.h
+++ b/engines/hopkins/objects.h
@@ -93,6 +93,9 @@ private:
int _verb;
int _oldSpriteIndex;
int _oldFrameIndex;
+ int _oldDirectionSpriteIdx;
+ Directions _oldDirection;
+ Directions _lastDirection;
bool _oldFlipFl;
int _curGestureFile;
byte *_gestureBuf;
@@ -244,6 +247,7 @@ public:
void PARADISE();
void resetOldFrameIndex() { _oldFrameIndex = -1; }
+ void resetOldDirection() { _oldDirection = DIR_NONE; }
};
} // End of namespace Hopkins
diff --git a/engines/hopkins/script.cpp b/engines/hopkins/script.cpp
index 3731ad6..50a0a90 100644
--- a/engines/hopkins/script.cpp
+++ b/engines/hopkins/script.cpp
@@ -984,7 +984,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
case 59: {
_vm->_globals->_checkDistanceFl = true;
_vm->_objectsManager->_oldCharacterPosX = _vm->_objectsManager->getSpriteX(0);
- _vm->_globals->_oldDirection = DIR_NONE;
+ _vm->_objectsManager->resetOldDirection();
_vm->_objectsManager->resetHomeRateCounter();
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(_vm->_objectsManager->getSpriteX(0), _vm->_objectsManager->getSpriteY(0), 445, 332);
@@ -1102,7 +1102,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
case 81: {
_vm->_globals->_checkDistanceFl = true;
_vm->_objectsManager->_oldCharacterPosX = _vm->_objectsManager->getSpriteX(0);
- _vm->_globals->_oldDirection = DIR_NONE;
+ _vm->_objectsManager->resetOldDirection();
_vm->_objectsManager->resetHomeRateCounter();
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(_vm->_objectsManager->getSpriteX(0), _vm->_objectsManager->getSpriteY(0), 119, 268);
@@ -1419,7 +1419,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
case 105:
_vm->_globals->_checkDistanceFl = true;
_vm->_objectsManager->_oldCharacterPosX = _vm->_objectsManager->getSpriteX(0);
- _vm->_globals->_oldDirection = DIR_NONE;
+ _vm->_objectsManager->resetOldDirection();
_vm->_objectsManager->resetHomeRateCounter();
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
switch (_vm->_globals->_saveData->_data[svField253]) {
@@ -1666,7 +1666,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_globals->_introSpeechOffFl = false;
_vm->_globals->_checkDistanceFl = true;
_vm->_objectsManager->_oldCharacterPosX = _vm->_objectsManager->getSpriteX(0);
- _vm->_globals->_oldDirection = DIR_NONE;
+ _vm->_objectsManager->resetOldDirection();
_vm->_objectsManager->resetHomeRateCounter();
_vm->_globals->_checkDistanceFl = true;
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
@@ -1694,7 +1694,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_globals->_introSpeechOffFl = false;
_vm->_globals->_checkDistanceFl = true;
_vm->_objectsManager->_oldCharacterPosX = _vm->_objectsManager->getSpriteX(0);
- _vm->_globals->_oldDirection = DIR_NONE;
+ _vm->_objectsManager->resetOldDirection();
_vm->_objectsManager->resetHomeRateCounter();
_vm->_globals->_checkDistanceFl = true;
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
@@ -2006,7 +2006,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_globals->enableHiding();
_vm->_globals->_checkDistanceFl = true;
_vm->_objectsManager->_oldCharacterPosX = _vm->_objectsManager->getSpriteX(0);
- _vm->_globals->_oldDirection = DIR_NONE;
+ _vm->_objectsManager->resetOldDirection();
_vm->_objectsManager->resetHomeRateCounter();
_vm->_globals->_checkDistanceFl = true;
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
Commit: ee3c0cc4faa66b57bf82ee59dac9c3484b582b5d
https://github.com/scummvm/scummvm/commit/ee3c0cc4faa66b57bf82ee59dac9c3484b582b5d
Author: Strangerke (strangerke at scummvm.org)
Date: 2013-03-24T14:12:47-07:00
Commit Message:
Hopkins: Move hotspotTextColor to LinesMAnager, make it private
Changed paths:
engines/hopkins/globals.cpp
engines/hopkins/globals.h
engines/hopkins/lines.cpp
engines/hopkins/lines.h
diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp
index 068c390..93997ea 100644
--- a/engines/hopkins/globals.cpp
+++ b/engines/hopkins/globals.cpp
@@ -156,7 +156,6 @@ Globals::Globals(HopkinsEngine *vm) {
_baseMapColor = 50;
// Reset indexed variables
- _hotspotTextColor = 0;
_oldRouteFromX = 0;
_oldRouteFromY = 0;
_oldRouteDestX = 0;
diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h
index a35f1a7..1b63e72 100644
--- a/engines/hopkins/globals.h
+++ b/engines/hopkins/globals.h
@@ -239,7 +239,6 @@ public:
int _exitId;
Directions _oceanDirection;
int _actionDirection;
- int _hotspotTextColor;
int _inventory[36];
int _objectWidth, _objectHeight;
int _screenId;
diff --git a/engines/hopkins/lines.cpp b/engines/hopkins/lines.cpp
index 3571cbc..2cc86bd 100644
--- a/engines/hopkins/lines.cpp
+++ b/engines/hopkins/lines.cpp
@@ -75,6 +75,7 @@ LinesManager::LinesManager(HopkinsEngine *vm) {
_currentSegmentId = 0;
_largeBuf = g_PTRNUL;
_zoneSkipCount = 0;
+ _hotspotTextColor = 0;
_forceHideText = false;
}
@@ -2864,11 +2865,10 @@ void LinesManager::checkZone() {
_vm->_fontManager->showText(5);
_forceHideText = true;
}
- _vm->_globals->_hotspotTextColor += 25;
- if (_vm->_globals->_hotspotTextColor > 100)
- _vm->_globals->_hotspotTextColor = 0;
- _vm->_graphicsManager->SETCOLOR4(251, _vm->_globals->_hotspotTextColor, _vm->_globals->_hotspotTextColor,
- _vm->_globals->_hotspotTextColor);
+ _hotspotTextColor += 25;
+ if (_hotspotTextColor > 100)
+ _hotspotTextColor = 0;
+ _vm->_graphicsManager->SETCOLOR4(251, _hotspotTextColor, _hotspotTextColor, _hotspotTextColor);
if (_vm->_eventsManager->_mouseCursorId == 4) {
if (ZONEP[zoneId]._verbFl1 == 2) {
_vm->_eventsManager->changeMouseCursor(16);
diff --git a/engines/hopkins/lines.h b/engines/hopkins/lines.h
index ed7e2f0..82ad4a3 100644
--- a/engines/hopkins/lines.h
+++ b/engines/hopkins/lines.h
@@ -107,6 +107,7 @@ private:
HopkinsEngine *_vm;
bool _forceHideText;
+ int _hotspotTextColor;
int _pathFindingMaxDepth;
SmoothItem _smoothRoute[4000];
Directions _smoothMoveDirection;
Commit: b0f0a6cd92d922115916947929060096f91a19d5
https://github.com/scummvm/scummvm/commit/b0f0a6cd92d922115916947929060096f91a19d5
Author: Strangerke (strangerke at scummvm.org)
Date: 2013-03-24T14:12:48-07:00
Commit Message:
HOPKINS: Move two more variables to ObjectsManager, make them private
Changed paths:
engines/hopkins/dialogs.cpp
engines/hopkins/events.cpp
engines/hopkins/globals.cpp
engines/hopkins/globals.h
engines/hopkins/objects.cpp
engines/hopkins/objects.h
diff --git a/engines/hopkins/dialogs.cpp b/engines/hopkins/dialogs.cpp
index 281f3dd..712ee7b 100644
--- a/engines/hopkins/dialogs.cpp
+++ b/engines/hopkins/dialogs.cpp
@@ -396,7 +396,7 @@ void DialogsManager::showInventory() {
if (inventIdx && inventCount <= 29) {
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);
+ curPosY + 120, _vm->_objectsManager->getObjectWidth(), _vm->_objectsManager->getObjectHeight());
_vm->_globals->freeMemory(obj);
}
curPosX += 54;
diff --git a/engines/hopkins/events.cpp b/engines/hopkins/events.cpp
index 8e25539..1f42bf1 100644
--- a/engines/hopkins/events.cpp
+++ b/engines/hopkins/events.cpp
@@ -369,8 +369,8 @@ void EventsManager::refreshScreenAndEvents() {
width = _mouseSizeX;
height = _mouseSizeY;
if (_mouseCursorId == 23) {
- width = _vm->_globals->_objectWidth;
- height = _vm->_globals->_objectHeight;
+ width = _vm->_objectsManager->getObjectWidth();
+ height = _vm->_objectsManager->getObjectHeight();
} else {
if (_breakoutFl) {
if (xp < _vm->_graphicsManager->_minX)
@@ -492,14 +492,14 @@ void EventsManager::updateCursor() {
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;
+ _vm->_graphicsManager->_maxX = _vm->_objectsManager->getObjectWidth();
+ _vm->_graphicsManager->_maxY = _vm->_objectsManager->getObjectHeight();
int pitch = _vm->_graphicsManager->_lineNbr2;
- _vm->_graphicsManager->_lineNbr2 = _vm->_globals->_objectWidth;
+ _vm->_graphicsManager->_lineNbr2 = _vm->_objectsManager->getObjectWidth();
// Create the temporary cursor surface
- byte *cursorSurface = new byte[_vm->_globals->_objectHeight * _vm->_globals->_objectWidth];
- Common::fill(cursorSurface, cursorSurface + _vm->_globals->_objectHeight * _vm->_globals->_objectWidth, 0);
+ byte *cursorSurface = new byte[_vm->_objectsManager->getObjectHeight() * _vm->_objectsManager->getObjectWidth()];
+ Common::fill(cursorSurface, cursorSurface + _vm->_objectsManager->getObjectHeight() * _vm->_objectsManager->getObjectWidth(), 0);
if (_mouseCursorId != 23) {
// Draw standard cursor
@@ -535,7 +535,7 @@ void EventsManager::updateCursor() {
// Set the ScummVM cursor from the surface
CursorMan.replaceCursorPalette(cursorPalette, 0, PALETTE_SIZE - 1);
- CursorMan.replaceCursor(cursorSurface, _vm->_globals->_objectWidth, _vm->_globals->_objectHeight,
+ CursorMan.replaceCursor(cursorSurface, _vm->_objectsManager->getObjectWidth(), _vm->_objectsManager->getObjectHeight(),
xOffset, 0, 0, true);
// Delete the cursor surface and palette
diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp
index 93997ea..eff4c13 100644
--- a/engines/hopkins/globals.cpp
+++ b/engines/hopkins/globals.cpp
@@ -103,7 +103,6 @@ Globals::Globals(HopkinsEngine *vm) {
_linuxEndDemoFl = false;
_speed = 1;
_curObjectFileNum = 0;
- _objectWidth = _objectHeight = 0;
_catalogPos = 0;
_catalogSize = 0;
iRegul = 0;
diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h
index 1b63e72..5be467c 100644
--- a/engines/hopkins/globals.h
+++ b/engines/hopkins/globals.h
@@ -240,7 +240,6 @@ public:
Directions _oceanDirection;
int _actionDirection;
int _inventory[36];
- int _objectWidth, _objectHeight;
int _screenId;
int _prevScreenId;
int _characterMaxPosY;
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp
index b0170b2..5bf8342 100644
--- a/engines/hopkins/objects.cpp
+++ b/engines/hopkins/objects.cpp
@@ -88,6 +88,7 @@ ObjectsManager::ObjectsManager(HopkinsEngine *vm) {
_lastDirection = DIR_NONE;
_oldDirection = DIR_NONE;
_oldDirectionSpriteIdx = 59;
+ _objectWidth = _objectHeight = 0;
}
ObjectsManager::~ObjectsManager() {
@@ -130,8 +131,8 @@ byte *ObjectsManager::loadObjectFromFile(int objIndex, bool mode) {
int width = ObjectsManager::getWidth(_vm->_globals->_objectDataBuf, idx);
int height = ObjectsManager::getHeight(_vm->_globals->_objectDataBuf, idx);
- _vm->_globals->_objectWidth = width;
- _vm->_globals->_objectHeight = height;
+ _objectWidth = width;
+ _objectHeight = height;
if (mode) {
sprite_alone(_vm->_globals->_objectDataBuf, _vm->_eventsManager->_objectBuf, idx);
diff --git a/engines/hopkins/objects.h b/engines/hopkins/objects.h
index b194749..44cd4e7 100644
--- a/engines/hopkins/objects.h
+++ b/engines/hopkins/objects.h
@@ -86,6 +86,7 @@ class ObjectsManager {
private:
HopkinsEngine *_vm;
+ int _objectWidth, _objectHeight;
int _oldBorderSpriteIndex;
int _borderSpriteIndex;
byte *_spritePtr;
@@ -248,6 +249,8 @@ public:
void resetOldFrameIndex() { _oldFrameIndex = -1; }
void resetOldDirection() { _oldDirection = DIR_NONE; }
+ int getObjectWidth() { return _objectWidth; }
+ int getObjectHeight() { return _objectHeight; }
};
} // End of namespace Hopkins
Commit: 57abce19b1da832f1f108f6aff22e40649572f97
https://github.com/scummvm/scummvm/commit/57abce19b1da832f1f108f6aff22e40649572f97
Author: Strangerke (strangerke at scummvm.org)
Date: 2013-03-24T14:12:50-07:00
Commit Message:
HOPKINS: More refactoring of Globals
Changed paths:
engines/hopkins/globals.cpp
engines/hopkins/globals.h
engines/hopkins/lines.cpp
engines/hopkins/lines.h
engines/hopkins/objects.cpp
engines/hopkins/objects.h
diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp
index eff4c13..015ebb1 100644
--- a/engines/hopkins/globals.cpp
+++ b/engines/hopkins/globals.cpp
@@ -94,8 +94,6 @@ Globals::Globals(HopkinsEngine *vm) {
for (int i = 0; i < 36; ++i)
_inventory[i] = 0;
- for (int i = 0; i < 51; ++i)
- Common::fill((byte *)&_sortedDisplay[i], (byte *)&_sortedDisplay[i] + sizeof(SortItem), 0);
// Initialize fields
_language = LANG_EN;
@@ -118,7 +116,6 @@ Globals::Globals(HopkinsEngine *vm) {
_menuMusicOff = 0;
_menuTextOff = 0;
_menuDisplayType = 0;
- _sortedDisplayCount = 0;
_checkDistanceFl = false;
_characterType = 0;
_actionMoveTo = false;
@@ -159,10 +156,7 @@ Globals::Globals(HopkinsEngine *vm) {
_oldRouteFromY = 0;
_oldRouteDestX = 0;
_oldRouteDestY = 0;
- _oldMouseZoneId = 0;
_oldZoneNum = 0;
- _oldMouseX = 0;
- _oldMouseY = 0;
}
Globals::~Globals() {
diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h
index 5be467c..05e563f 100644
--- a/engines/hopkins/globals.h
+++ b/engines/hopkins/globals.h
@@ -245,16 +245,12 @@ public:
int _characterMaxPosY;
int _baseMapColor;
int _spriteSize[500];
- int _sortedDisplayCount;
- int _oldMouseZoneId;
- int _oldMouseX, _oldMouseY;
int _characterType;
uint _speed;
byte *_answerBuffer;
Savegame *_saveData;
Language _language;
HopkinsItem _hopkinsItem[70];
- SortItem _sortedDisplay[51];
CreditItem _creditsItem[200];
int _creditsLineNumb;
diff --git a/engines/hopkins/lines.cpp b/engines/hopkins/lines.cpp
index 2cc86bd..33a2c79 100644
--- a/engines/hopkins/lines.cpp
+++ b/engines/hopkins/lines.cpp
@@ -77,6 +77,9 @@ LinesManager::LinesManager(HopkinsEngine *vm) {
_zoneSkipCount = 0;
_hotspotTextColor = 0;
_forceHideText = false;
+ _oldMouseZoneId = 0;
+ _oldMouseX = 0;
+ _oldMouseY = 0;
}
LinesManager::~LinesManager() {
@@ -2826,9 +2829,9 @@ void LinesManager::checkZone() {
}
if (_vm->_objectsManager->_forceZoneFl) {
_zoneSkipCount = 100;
- _vm->_globals->_oldMouseZoneId = -1;
- _vm->_globals->_oldMouseX = -200;
- _vm->_globals->_oldMouseY = -220;
+ _oldMouseZoneId = -1;
+ _oldMouseX = -200;
+ _oldMouseY = -220;
_vm->_objectsManager->_forceZoneFl = false;
}
@@ -2839,12 +2842,12 @@ void LinesManager::checkZone() {
if (_vm->_globals->_freezeCharacterFl || (_route == (RouteItem *)g_PTRNUL) || _zoneSkipCount > 4) {
_zoneSkipCount = 0;
int zoneId;
- if (_vm->_globals->_oldMouseX != mouseX || _vm->_globals->_oldMouseY != oldMouseY) {
+ if (_oldMouseX != mouseX || _oldMouseY != oldMouseY) {
zoneId = getMouseZone();
} else {
- zoneId = _vm->_globals->_oldMouseZoneId;
+ zoneId = _oldMouseZoneId;
}
- if (_vm->_globals->_oldMouseZoneId != zoneId) {
+ if (_oldMouseZoneId != zoneId) {
_vm->_graphicsManager->SETCOLOR4(251, 100, 100, 100);
_vm->_eventsManager->_mouseCursorId = 4;
_vm->_eventsManager->changeMouseCursor(4);
@@ -2860,7 +2863,7 @@ void LinesManager::checkZone() {
ZONEP[zoneId]._verbFl5 || ZONEP[zoneId]._verbFl6 ||
ZONEP[zoneId]._verbFl7 || ZONEP[zoneId]._verbFl8 ||
ZONEP[zoneId]._verbFl9 || ZONEP[zoneId]._verbFl10) {
- if (_vm->_globals->_oldMouseZoneId != zoneId) {
+ if (_oldMouseZoneId != zoneId) {
_vm->_fontManager->initTextBuffers(5, ZONEP[zoneId]._messageId, _vm->_globals->_zoneFilename, 0, 430, 0, 0, 252);
_vm->_fontManager->showText(5);
_forceHideText = true;
@@ -2883,9 +2886,9 @@ void LinesManager::checkZone() {
}
}
_vm->_objectsManager->_zoneNum = zoneId;
- _vm->_globals->_oldMouseX = mouseX;
- _vm->_globals->_oldMouseY = oldMouseY;
- _vm->_globals->_oldMouseZoneId = zoneId;
+ _oldMouseX = mouseX;
+ _oldMouseY = oldMouseY;
+ _oldMouseZoneId = zoneId;
if (_vm->_globals->_freezeCharacterFl && (_vm->_eventsManager->_mouseCursorId == 4)) {
if (zoneId != -1 && zoneId != 0)
_vm->_objectsManager->handleRightButton();
diff --git a/engines/hopkins/lines.h b/engines/hopkins/lines.h
index 82ad4a3..3a4d615 100644
--- a/engines/hopkins/lines.h
+++ b/engines/hopkins/lines.h
@@ -123,6 +123,7 @@ private:
int _newRouteIdx;
int _newPosX;
int _newPosY;
+ int _oldMouseX, _oldMouseY;
byte *_largeBuf;
RouteItem *_testRoute0;
@@ -131,6 +132,7 @@ private:
LigneItem _lineItem[400];
RouteItem _bestRoute[8001];
int _zoneSkipCount;
+ int _oldMouseZoneId;
int checkInventoryHotspotsRow(int posX, int minZoneNum, bool lastRow);
void removeZoneLine(int idx);
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp
index 5bf8342..27689af 100644
--- a/engines/hopkins/objects.cpp
+++ b/engines/hopkins/objects.cpp
@@ -44,6 +44,10 @@ ObjectsManager::ObjectsManager(HopkinsEngine *vm) {
for (int i = 0; i < 36; ++i)
Common::fill((byte *)&_bob[i], (byte *)&_bob[i] + sizeof(BobItem), 0);
+ _sortedDisplayCount = 0;
+ for (int i = 0; i < 51; ++i)
+ Common::fill((byte *)&_sortedDisplay[i], (byte *)&_sortedDisplay[i] + sizeof(SortItem), 0);
+
_helicopterFl = false;
_priorityFl = false;
_oldBorderPos = Common::Point(0, 0);
@@ -300,7 +304,7 @@ void ObjectsManager::displaySprite() {
uint16 arr[50];
// Handle copying any background areas that text are going to be drawn on
- _vm->_globals->_sortedDisplayCount = 0;
+ _sortedDisplayCount = 0;
for (int idx = 0; idx <= 10; ++idx) {
if (_vm->_fontManager->_textList[idx]._enabledFl && _vm->_fontManager->_text[idx]._textType != 2) {
clipX = _vm->_fontManager->_textList[idx]._pos.x - 2;
@@ -356,64 +360,64 @@ void ObjectsManager::displaySprite() {
checkHidingItem();
}
- if (_priorityFl && _vm->_globals->_sortedDisplayCount) {
+ if (_priorityFl && _sortedDisplayCount) {
for (int i = 1; i <= 48; i++)
arr[i] = i;
do {
loopCondFl = false;
- for (int sortIdx = 1; sortIdx < _vm->_globals->_sortedDisplayCount; sortIdx++) {
- if (_vm->_globals->_sortedDisplay[arr[sortIdx]]._priority > _vm->_globals->_sortedDisplay[arr[sortIdx + 1]]._priority) {
+ for (int sortIdx = 1; sortIdx < _sortedDisplayCount; sortIdx++) {
+ if (_sortedDisplay[arr[sortIdx]]._priority > _sortedDisplay[arr[sortIdx + 1]]._priority) {
SWAP(arr[sortIdx], arr[sortIdx + 1]);
loopCondFl = true;
}
}
} while (loopCondFl);
- for (int sortIdx = 1; sortIdx < _vm->_globals->_sortedDisplayCount + 1; sortIdx++) {
+ for (int sortIdx = 1; sortIdx < _sortedDisplayCount + 1; sortIdx++) {
int idx = arr[sortIdx];
- switch (_vm->_globals->_sortedDisplay[idx]._sortMode) {
+ switch (_sortedDisplay[idx]._sortMode) {
case SORT_BOB:
- setBobInfo(_vm->_globals->_sortedDisplay[idx]._index);
+ setBobInfo(_sortedDisplay[idx]._index);
break;
case SORT_SPRITE:
- DEF_SPRITE(_vm->_globals->_sortedDisplay[idx]._index);
+ DEF_SPRITE(_sortedDisplay[idx]._index);
break;
case SORT_HIDING:
- displayHiding(_vm->_globals->_sortedDisplay[idx]._index);
+ displayHiding(_sortedDisplay[idx]._index);
break;
default:
break;
}
- _vm->_globals->_sortedDisplay[idx]._sortMode = SORT_NONE;
+ _sortedDisplay[idx]._sortMode = SORT_NONE;
}
} else {
- for (int idx = 1; idx < _vm->_globals->_sortedDisplayCount + 1; ++idx) {
- switch (_vm->_globals->_sortedDisplay[idx]._sortMode) {
+ for (int idx = 1; idx < _sortedDisplayCount + 1; ++idx) {
+ switch (_sortedDisplay[idx]._sortMode) {
case SORT_BOB:
- setBobInfo(_vm->_globals->_sortedDisplay[idx]._index);
+ setBobInfo(_sortedDisplay[idx]._index);
break;
case SORT_SPRITE:
- DEF_SPRITE(_vm->_globals->_sortedDisplay[idx]._index);
+ DEF_SPRITE(_sortedDisplay[idx]._index);
break;
case SORT_HIDING:
- displayHiding(_vm->_globals->_sortedDisplay[idx]._index);
+ displayHiding(_sortedDisplay[idx]._index);
break;
default:
break;
}
- _vm->_globals->_sortedDisplay[idx]._sortMode = SORT_NONE;
+ _sortedDisplay[idx]._sortMode = SORT_NONE;
}
}
// Reset the Sort array
for (int idx = 0; idx < 50; ++idx) {
- _vm->_globals->_sortedDisplay[idx]._sortMode = SORT_NONE;
- _vm->_globals->_sortedDisplay[idx]._index = 0;
- _vm->_globals->_sortedDisplay[idx]._priority = 0;
+ _sortedDisplay[idx]._sortMode = SORT_NONE;
+ _sortedDisplay[idx]._index = 0;
+ _sortedDisplay[idx]._priority = 0;
}
- _vm->_globals->_sortedDisplayCount = 0;
+ _sortedDisplayCount = 0;
_vm->_dialogsManager->drawInvent(_oldBorderPos, _oldBorderSpriteIndex, _borderPos, _borderSpriteIndex);
@@ -907,12 +911,12 @@ void ObjectsManager::computeSprite(int idx) {
// Before Sort
void ObjectsManager::beforeSort(SortMode sortMode, int index, int priority) {
- ++_vm->_globals->_sortedDisplayCount;
- assert (_vm->_globals->_sortedDisplayCount <= 48);
+ ++_sortedDisplayCount;
+ assert (_sortedDisplayCount <= 48);
- _vm->_globals->_sortedDisplay[_vm->_globals->_sortedDisplayCount]._sortMode = sortMode;
- _vm->_globals->_sortedDisplay[_vm->_globals->_sortedDisplayCount]._index = index;
- _vm->_globals->_sortedDisplay[_vm->_globals->_sortedDisplayCount]._priority = priority;
+ _sortedDisplay[_sortedDisplayCount]._sortMode = sortMode;
+ _sortedDisplay[_sortedDisplayCount]._index = index;
+ _sortedDisplay[_sortedDisplayCount]._priority = priority;
}
// Display BOB Anim
diff --git a/engines/hopkins/objects.h b/engines/hopkins/objects.h
index 44cd4e7..80dfb3a 100644
--- a/engines/hopkins/objects.h
+++ b/engines/hopkins/objects.h
@@ -101,6 +101,8 @@ private:
int _curGestureFile;
byte *_gestureBuf;
int _homeRateCounter;
+ int _sortedDisplayCount;
+ SortItem _sortedDisplay[51];
void sprite_alone(const byte *objectData, byte *sprite, int objIndex);
void removeObjectDataBuf();
Commit: ac338c3517d85156e83884164d378c3bf76851e5
https://github.com/scummvm/scummvm/commit/ac338c3517d85156e83884164d378c3bf76851e5
Author: Strangerke (strangerke at scummvm.org)
Date: 2013-03-24T14:56:06-07:00
Commit Message:
HOPKINS: Some more refactoring in Globals
Changed paths:
engines/hopkins/files.cpp
engines/hopkins/files.h
engines/hopkins/globals.cpp
engines/hopkins/globals.h
engines/hopkins/graphics.cpp
engines/hopkins/objects.cpp
engines/hopkins/objects.h
engines/hopkins/sound.cpp
engines/hopkins/talk.cpp
diff --git a/engines/hopkins/files.cpp b/engines/hopkins/files.cpp
index 78ff7b2..98cc344 100644
--- a/engines/hopkins/files.cpp
+++ b/engines/hopkins/files.cpp
@@ -35,6 +35,9 @@ namespace Hopkins {
FileManager::FileManager(HopkinsEngine *vm) {
_vm = vm;
+
+ _catalogPos = 0;
+ _catalogSize = 0;
}
/**
@@ -196,8 +199,8 @@ byte *FileManager::searchCat(const Common::String &file, CatMode mode) {
if (name == filename) {
// Found entry for file, so get it's details from the catalogue entry
const byte *pData = ptr + offsetVal;
- _vm->_globals->_catalogPos = READ_LE_UINT32(pData + 15);
- _vm->_globals->_catalogSize = READ_LE_UINT32(pData + 19);
+ _catalogPos = READ_LE_UINT32(pData + 15);
+ _catalogSize = READ_LE_UINT32(pData + 19);
matchFlag = true;
}
@@ -215,13 +218,13 @@ byte *FileManager::searchCat(const Common::String &file, CatMode mode) {
if (!f.open(secondaryFilename))
error("CHARGE_FICHIER");
- f.seek(_vm->_globals->_catalogPos);
+ f.seek(_catalogPos);
- byte *catData = _vm->_globals->allocMemory(_vm->_globals->_catalogSize);
+ byte *catData = _vm->_globals->allocMemory(_catalogSize);
if (catData == g_PTRNUL)
error("CHARGE_FICHIER");
- readStream(f, catData, _vm->_globals->_catalogSize);
+ readStream(f, catData, _catalogSize);
f.close();
result = catData;
} else {
diff --git a/engines/hopkins/files.h b/engines/hopkins/files.h
index 145c267..6d2904a 100644
--- a/engines/hopkins/files.h
+++ b/engines/hopkins/files.h
@@ -38,6 +38,9 @@ enum CatMode { RES_INI = 1, RES_REP = 2, RES_LIN = 3, RES_PER = 5,
class FileManager {
public:
+ uint32 _catalogPos;
+ uint32 _catalogSize;
+
HopkinsEngine *_vm;
FileManager(HopkinsEngine *vm);
diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp
index 015ebb1..a495a80 100644
--- a/engines/hopkins/globals.cpp
+++ b/engines/hopkins/globals.cpp
@@ -78,10 +78,8 @@ Globals::Globals(HopkinsEngine *vm) {
Common::fill((byte *)&Liste[i], (byte *)&Liste[i] + sizeof(ListeItem), 0);
for (int i = 0; i < 35; ++i)
Common::fill((byte *)&Liste2[i], (byte *)&Liste2[i] + sizeof(ListeItem), 0);
- for (int i = 0; i < 30; ++i) {
- Common::fill((byte *)&_lockedAnims[i], (byte *)&_lockedAnims[i] + sizeof(LockAnimItem), 0);
+ for (int i = 0; i < 30; ++i)
Common::fill((byte *)&VBob[i], (byte *)&VBob[i] + sizeof(VBobItem), 0);
- }
for (int i = 0; i < 300; ++i)
Common::fill((byte *)&_objectAuthIcons[i], (byte *)&_objectAuthIcons[i] + sizeof(ObjectAuthIcon), 0);
for (int i = 0; i < 25; ++i)
@@ -101,8 +99,6 @@ Globals::Globals(HopkinsEngine *vm) {
_linuxEndDemoFl = false;
_speed = 1;
_curObjectFileNum = 0;
- _catalogPos = 0;
- _catalogSize = 0;
iRegul = 0;
_exitId = 0;
_characterSpriteBuf = 0;
diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h
index 05e563f..c1725d5 100644
--- a/engines/hopkins/globals.h
+++ b/engines/hopkins/globals.h
@@ -50,11 +50,6 @@ struct ListeItem {
int _height;
};
-struct LockAnimItem {
- bool _enableFl;
- int _posX;
-};
-
struct VBobItem {
byte *_spriteData;
int _displayMode;
@@ -271,9 +266,6 @@ public:
byte *_optionDialogSpr;
bool _optionDialogFl;
- uint32 _catalogPos;
- uint32 _catalogSize;
- LockAnimItem _lockedAnims[30];
int _oldRouteFromX;
int _oldRouteFromY;
int _oldRouteDestX;
diff --git a/engines/hopkins/graphics.cpp b/engines/hopkins/graphics.cpp
index 5c65e59..14f23ad 100644
--- a/engines/hopkins/graphics.cpp
+++ b/engines/hopkins/graphics.cpp
@@ -310,7 +310,7 @@ void GraphicsManager::loadPCX640(byte *surface, const Common::String &file, byte
// Load PCX from within the PIC resource
if (!f.open("PIC.RES"))
error("Error opening PIC.RES.");
- f.seek(_vm->_globals->_catalogPos);
+ f.seek(_vm->_fileManager->_catalogPos);
} else {
// Load stand alone PCX file
if (!f.open(file))
@@ -1074,7 +1074,7 @@ void GraphicsManager::endDisplayBob() {
}
for (int idx = 1; idx <= 29; ++idx) {
- _vm->_globals->_lockedAnims[idx]._enableFl = false;
+ _vm->_objectsManager->_lockedAnims[idx]._enableFl = false;
}
for (int idx = 1; idx <= 20; ++idx) {
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp
index 27689af..cd8cc1b 100644
--- a/engines/hopkins/objects.cpp
+++ b/engines/hopkins/objects.cpp
@@ -44,6 +44,10 @@ ObjectsManager::ObjectsManager(HopkinsEngine *vm) {
for (int i = 0; i < 36; ++i)
Common::fill((byte *)&_bob[i], (byte *)&_bob[i] + sizeof(BobItem), 0);
+ for (int i = 0; i < 30; ++i) {
+ Common::fill((byte *)&_lockedAnims[i], (byte *)&_lockedAnims[i] + sizeof(LockAnimItem), 0);
+ }
+
_sortedDisplayCount = 0;
for (int i = 0; i < 51; ++i)
Common::fill((byte *)&_sortedDisplay[i], (byte *)&_sortedDisplay[i] + sizeof(SortItem), 0);
@@ -953,8 +957,8 @@ void ObjectsManager::displayBobAnim() {
byte *dataPtr = _bob[idx]._animData + 20;
int dataIdx = _bob[idx]._animDataIdx;
_bob[idx]._xp = READ_LE_INT16(dataPtr + 2 * dataIdx);
- if (_vm->_globals->_lockedAnims[idx]._enableFl)
- _bob[idx]._xp = _vm->_globals->_lockedAnims[idx]._posX;
+ if (_vm->_objectsManager->_lockedAnims[idx]._enableFl)
+ _bob[idx]._xp = _vm->_objectsManager->_lockedAnims[idx]._posX;
if ( PERSO_ON && idx > 20 )
_bob[idx]._xp += _vm->_eventsManager->_startPos.x;
@@ -986,8 +990,8 @@ void ObjectsManager::displayBobAnim() {
byte *bobData = _bob[idx]._animData + 20;
_bob[idx]._xp = READ_LE_INT16(bobData);
- if (_vm->_globals->_lockedAnims[idx]._enableFl)
- _bob[idx]._xp = _vm->_globals->_lockedAnims[idx]._posX;
+ if (_vm->_objectsManager->_lockedAnims[idx]._enableFl)
+ _bob[idx]._xp = _vm->_objectsManager->_lockedAnims[idx]._posX;
if (PERSO_ON && idx > 20)
_bob[idx]._xp += _vm->_eventsManager->_startPos.x;
@@ -3044,7 +3048,7 @@ void ObjectsManager::loadLinkFile(const Common::String &file) {
Common::File f;
Common::String filename = file + ".LNK";
byte *ptr = _vm->_fileManager->searchCat(filename, RES_LIN);
- size_t nbytes = _vm->_globals->_catalogSize;
+ size_t nbytes = _vm->_fileManager->_catalogSize;
if (ptr == g_PTRNUL) {
if (!f.open(filename))
error("Error opening file - %s", filename.c_str());
@@ -3652,8 +3656,8 @@ void ObjectsManager::handleForest(int screenId, int minX, int maxX, int minY, in
}
void ObjectsManager::lockAnimX(int idx, int x) {
- _vm->_globals->_lockedAnims[idx]._enableFl = true;
- _vm->_globals->_lockedAnims[idx]._posX = x;
+ _vm->_objectsManager->_lockedAnims[idx]._enableFl = true;
+ _vm->_objectsManager->_lockedAnims[idx]._posX = x;
}
/**
diff --git a/engines/hopkins/objects.h b/engines/hopkins/objects.h
index 80dfb3a..f43b09f 100644
--- a/engines/hopkins/objects.h
+++ b/engines/hopkins/objects.h
@@ -80,6 +80,11 @@ struct BobItem {
int _zoomOutFactor;
};
+struct LockAnimItem {
+ bool _enableFl;
+ int _posX;
+};
+
class HopkinsEngine;
class ObjectsManager {
@@ -167,6 +172,7 @@ public:
byte *_headSprites;
SpriteItem _sprite[6];
BobItem _bob[36];
+ LockAnimItem _lockedAnims[30];
bool PERSO_ON;
bool BOBTOUS;
diff --git a/engines/hopkins/sound.cpp b/engines/hopkins/sound.cpp
index 1605b03..246e611 100644
--- a/engines/hopkins/sound.cpp
+++ b/engines/hopkins/sound.cpp
@@ -528,8 +528,8 @@ bool SoundManager::mixVoice(int voiceId, int voiceMode, bool dispTxtFl) {
else if (_vm->_globals->_language == LANG_SP)
filename = "RES_VES.RES";
- catPos = _vm->_globals->_catalogPos;
- catLen = _vm->_globals->_catalogSize;
+ catPos = _vm->_fileManager->_catalogPos;
+ catLen = _vm->_fileManager->_catalogSize;
} else if (!_vm->_fileManager->searchCat(filename + ".APC", RES_VOI)) {
if (_vm->getPlatform() == Common::kPlatformOS2 || _vm->getPlatform() == Common::kPlatformBeOS)
filename = "ENG_VOI.RES";
@@ -541,8 +541,8 @@ bool SoundManager::mixVoice(int voiceId, int voiceMode, bool dispTxtFl) {
else if (_vm->_globals->_language == LANG_SP)
filename = "RES_VES.RES";
- catPos = _vm->_globals->_catalogPos;
- catLen = _vm->_globals->_catalogSize;
+ catPos = _vm->_fileManager->_catalogPos;
+ catLen = _vm->_fileManager->_catalogSize;
} else if (!_vm->_fileManager->searchCat(filename + ".RAW", RES_VOI)) {
if (_vm->getPlatform() == Common::kPlatformOS2 || _vm->getPlatform() == Common::kPlatformBeOS)
filename = "ENG_VOI.RES";
@@ -554,8 +554,8 @@ bool SoundManager::mixVoice(int voiceId, int voiceMode, bool dispTxtFl) {
else if (_vm->_globals->_language == LANG_SP)
filename = "RES_VES.RES";
- catPos = _vm->_globals->_catalogPos;
- catLen = _vm->_globals->_catalogSize;
+ catPos = _vm->_fileManager->_catalogPos;
+ catLen = _vm->_fileManager->_catalogSize;
} else {
if (!f.exists(filename + ".WAV")) {
if (!f.exists(filename + ".APC"))
diff --git a/engines/hopkins/talk.cpp b/engines/hopkins/talk.cpp
index 30148bd..562d96d 100644
--- a/engines/hopkins/talk.cpp
+++ b/engines/hopkins/talk.cpp
@@ -56,7 +56,7 @@ void TalkManager::startAnimatedCharacterDialogue(const Common::String &filename)
bool oldDisableInventFl = _vm->_globals->_disableInventFl;
_vm->_globals->_disableInventFl = true;
_characterBuffer = _vm->_fileManager->searchCat(filename, RES_PER);
- _characterSize = _vm->_globals->_catalogSize;
+ _characterSize = _vm->_fileManager->_catalogSize;
if (_characterBuffer == g_PTRNUL) {
_characterBuffer = _vm->_fileManager->loadFile(filename);
_characterSize = _vm->_fileManager->fileSize(filename);
@@ -156,7 +156,7 @@ void TalkManager::startStaticCharacterDialogue(const Common::String &filename) {
bool oldDisableInventFl = _vm->_globals->_disableInventFl;
_vm->_globals->_disableInventFl = true;
_characterBuffer = _vm->_fileManager->searchCat(filename, RES_PER);
- _characterSize = _vm->_globals->_catalogSize;
+ _characterSize = _vm->_fileManager->_catalogSize;
if (_characterBuffer == g_PTRNUL) {
_characterBuffer = _vm->_fileManager->loadFile(filename);
_characterSize = _vm->_fileManager->fileSize(filename);
@@ -976,7 +976,7 @@ void TalkManager::animateObject(const Common::String &filename) {
_vm->_eventsManager->_mouseCursorId = 4;
_vm->_eventsManager->changeMouseCursor(0);
_characterBuffer = _vm->_fileManager->searchCat(filename, RES_PER);
- _characterSize = _vm->_globals->_catalogSize;
+ _characterSize = _vm->_fileManager->_catalogSize;
if (_characterBuffer == g_PTRNUL) {
_characterBuffer = _vm->_fileManager->loadFile(filename);
_characterSize = _vm->_fileManager->fileSize(filename);
More information about the Scummvm-git-logs
mailing list