aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins
diff options
context:
space:
mode:
authorStrangerke2013-03-30 11:31:38 +0100
committerStrangerke2013-03-30 11:31:38 +0100
commit3648790efb6c7178ceb31cbde644f20a7cb0ff5d (patch)
tree06484614facdeed283b200d0f8dbdc4aa40c6a8d /engines/hopkins
parent566ec81d8db163f2a1671d98b509e8ae08acfef9 (diff)
downloadscummvm-rg350-3648790efb6c7178ceb31cbde644f20a7cb0ff5d.tar.gz
scummvm-rg350-3648790efb6c7178ceb31cbde644f20a7cb0ff5d.tar.bz2
scummvm-rg350-3648790efb6c7178ceb31cbde644f20a7cb0ff5d.zip
HOPKINS: Some refactoring and renaming in LinesManager and ObjectsManager
Diffstat (limited to 'engines/hopkins')
-rw-r--r--engines/hopkins/lines.cpp70
-rw-r--r--engines/hopkins/lines.h8
-rw-r--r--engines/hopkins/objects.cpp289
-rw-r--r--engines/hopkins/objects.h5
-rw-r--r--engines/hopkins/script.cpp28
-rw-r--r--engines/hopkins/talk.cpp4
6 files changed, 195 insertions, 209 deletions
diff --git a/engines/hopkins/lines.cpp b/engines/hopkins/lines.cpp
index d48cd3ca7d..142b59918a 100644
--- a/engines/hopkins/lines.cpp
+++ b/engines/hopkins/lines.cpp
@@ -50,12 +50,12 @@ LinesManager::LinesManager(HopkinsEngine *vm) {
}
for (int i = 0; i < 105; ++i) {
- BOBZONE[i] = 0;
- BOBZONE_FLAG[i] = false;
+ _bobZone[i] = 0;
+ _bobZoneFl[i] = false;
}
for (int i = 0; i < 106; ++i)
- Common::fill((byte *)&ZONEP[i], (byte *)&ZONEP[i] + sizeof(ZonePItem), 0);
+ Common::fill((byte *)&_zone[i], (byte *)&_zone[i] + sizeof(ZoneItem), 0);
_linesNumb = 0;
_newLineIdx = 0;
@@ -202,8 +202,8 @@ void LinesManager::addZoneLine(int idx, int fromX, int fromY, int destX, int des
int16 *zoneData;
if (fromX == fromY && fromY == destX && fromY == destY) {
- BOBZONE_FLAG[bobZoneIdx] = true;
- BOBZONE[bobZoneIdx] = fromY;
+ _bobZoneFl[bobZoneIdx] = true;
+ _bobZone[bobZoneIdx] = fromY;
} else {
assert (idx <= MAX_LINES);
_zoneLine[idx]._zoneData = (int16 *)_vm->_globals->freeMemory((byte *)_zoneLine[idx]._zoneData);
@@ -2540,19 +2540,19 @@ int LinesManager::getMouseZone() {
int yp = _vm->_eventsManager->_mousePos.y + _vm->_eventsManager->_mouseOffset.y;
if ((_vm->_eventsManager->_mousePos.y + _vm->_eventsManager->_mouseOffset.y) > 19) {
for (int bobZoneId = 0; bobZoneId <= 48; bobZoneId++) {
- int bobId = BOBZONE[bobZoneId];
- if (bobId && BOBZONE_FLAG[bobZoneId] && _vm->_objectsManager->_bob[bobId]._bobMode && _vm->_objectsManager->_bob[bobId]._frameIndex != 250 &&
+ int bobId = _bobZone[bobZoneId];
+ if (bobId && _bobZoneFl[bobZoneId] && _vm->_objectsManager->_bob[bobId]._bobMode && _vm->_objectsManager->_bob[bobId]._frameIndex != 250 &&
!_vm->_objectsManager->_bob[bobId]._disabledAnimationFl && xp > _vm->_objectsManager->_bob[bobId]._oldX &&
xp < _vm->_objectsManager->_bob[bobId]._oldWidth + _vm->_objectsManager->_bob[bobId]._oldX && yp > _vm->_objectsManager->_bob[bobId]._oldY) {
if (yp < _vm->_objectsManager->_bob[bobId]._oldHeight + _vm->_objectsManager->_bob[bobId]._oldY) {
- if (ZONEP[bobZoneId]._spriteIndex == -1) {
- ZONEP[bobZoneId]._destX = 0;
- ZONEP[bobZoneId]._destY = 0;
+ if (_zone[bobZoneId]._spriteIndex == -1) {
+ _zone[bobZoneId]._destX = 0;
+ _zone[bobZoneId]._destY = 0;
}
- if (!ZONEP[bobZoneId]._destX && !ZONEP[bobZoneId]._destY) {
- ZONEP[bobZoneId]._destX = _vm->_objectsManager->_bob[bobId]._oldWidth + _vm->_objectsManager->_bob[bobId]._oldX;
- ZONEP[bobZoneId]._destY = _vm->_objectsManager->_bob[bobId]._oldHeight + _vm->_objectsManager->_bob[bobId]._oldY + 6;
- ZONEP[bobZoneId]._spriteIndex = -1;
+ if (!_zone[bobZoneId]._destX && !_zone[bobZoneId]._destY) {
+ _zone[bobZoneId]._destX = _vm->_objectsManager->_bob[bobId]._oldWidth + _vm->_objectsManager->_bob[bobId]._oldX;
+ _zone[bobZoneId]._destY = _vm->_objectsManager->_bob[bobId]._oldHeight + _vm->_objectsManager->_bob[bobId]._oldY + 6;
+ _zone[bobZoneId]._spriteIndex = -1;
}
return bobZoneId;
}
@@ -2560,7 +2560,7 @@ int LinesManager::getMouseZone() {
}
_currentSegmentId = 0;
for (int squareZoneId = 0; squareZoneId <= 99; squareZoneId++) {
- if (ZONEP[squareZoneId]._enabledFl && _squareZone[squareZoneId]._enabledFl
+ if (_zone[squareZoneId]._enabledFl && _squareZone[squareZoneId]._enabledFl
&& _squareZone[squareZoneId]._left <= xp && _squareZone[squareZoneId]._right >= xp
&& _squareZone[squareZoneId]._top <= yp && _squareZone[squareZoneId]._bottom >= yp) {
if (_squareZone[squareZoneId]._squareZoneFl)
@@ -2578,7 +2578,7 @@ int LinesManager::getMouseZone() {
int colRes1 = 0;
for (int yCurrent = yp; yCurrent >= 0; --yCurrent) {
colRes1 = checkCollision(xp, yCurrent);
- if (colRes1 != -1 && ZONEP[colRes1]._enabledFl)
+ if (colRes1 != -1 && _zone[colRes1]._enabledFl)
break;
}
@@ -2588,7 +2588,7 @@ int LinesManager::getMouseZone() {
int colRes2 = 0;
for (int j = yp; j < _vm->_graphicsManager->_maxY; ++j) {
colRes2 = checkCollision(xp, j);
- if (colRes2 != -1 && ZONEP[colRes1]._enabledFl)
+ if (colRes2 != -1 && _zone[colRes1]._enabledFl)
break;
}
@@ -2598,7 +2598,7 @@ int LinesManager::getMouseZone() {
int colRes3 = 0;
for (int k = xp; k >= 0; --k) {
colRes3 = checkCollision(k, yp);
- if (colRes3 != -1 && ZONEP[colRes1]._enabledFl)
+ if (colRes3 != -1 && _zone[colRes1]._enabledFl)
break;
}
if (colRes3 == -1)
@@ -2607,7 +2607,7 @@ int LinesManager::getMouseZone() {
int colRes4 = 0;
for (int xCurrent = xp; _vm->_graphicsManager->_maxX > xCurrent; ++xCurrent) {
colRes4 = checkCollision(xCurrent, yp);
- if (colRes4 != -1 && ZONEP[colRes1]._enabledFl)
+ if (colRes4 != -1 && _zone[colRes1]._enabledFl)
break;
}
if (colRes1 == colRes2 && colRes1 == colRes3 && colRes1 == colRes4)
@@ -2714,9 +2714,9 @@ void LinesManager::initSquareZones() {
void LinesManager::clearAll() {
for (int idx = 0; idx < 105; ++idx) {
- ZONEP[idx]._destX = 0;
- ZONEP[idx]._destY = 0;
- ZONEP[idx]._spriteIndex = 0;
+ _zone[idx]._destX = 0;
+ _zone[idx]._destY = 0;
+ _zone[idx]._spriteIndex = 0;
}
_testRoute0 = (RouteItem *)g_PTRNUL;
@@ -2798,18 +2798,18 @@ void LinesManager::resetLinesNumb() {
}
void LinesManager::enableZone(int idx) {
- if (BOBZONE[idx]) {
- BOBZONE_FLAG[idx] = true;
+ if (_bobZone[idx]) {
+ _bobZoneFl[idx] = true;
} else {
- ZONEP[idx]._enabledFl = true;
+ _zone[idx]._enabledFl = true;
}
}
void LinesManager::disableZone(int idx) {
- if (BOBZONE[idx]) {
- BOBZONE_FLAG[idx] = false;
+ if (_bobZone[idx]) {
+ _bobZoneFl[idx] = false;
} else {
- ZONEP[idx]._enabledFl = false;
+ _zone[idx]._enabledFl = false;
}
}
@@ -2858,13 +2858,13 @@ void LinesManager::checkZone() {
}
}
if (zoneId != -1) {
- if (ZONEP[zoneId]._verbFl1 || ZONEP[zoneId]._verbFl2 ||
- ZONEP[zoneId]._verbFl3 || ZONEP[zoneId]._verbFl4 ||
- ZONEP[zoneId]._verbFl5 || ZONEP[zoneId]._verbFl6 ||
- ZONEP[zoneId]._verbFl7 || ZONEP[zoneId]._verbFl8 ||
- ZONEP[zoneId]._verbFl9 || ZONEP[zoneId]._verbFl10) {
+ if (_zone[zoneId]._verbFl1 || _zone[zoneId]._verbFl2 ||
+ _zone[zoneId]._verbFl3 || _zone[zoneId]._verbFl4 ||
+ _zone[zoneId]._verbFl5 || _zone[zoneId]._verbFl6 ||
+ _zone[zoneId]._verbFl7 || _zone[zoneId]._verbFl8 ||
+ _zone[zoneId]._verbFl9 || _zone[zoneId]._verbFl10) {
if (_oldMouseZoneId != zoneId) {
- _vm->_fontManager->initTextBuffers(5, ZONEP[zoneId]._messageId, _vm->_globals->_zoneFilename, 0, 430, 0, 0, 252);
+ _vm->_fontManager->initTextBuffers(5, _zone[zoneId]._messageId, _vm->_globals->_zoneFilename, 0, 430, 0, 0, 252);
_vm->_fontManager->showText(5);
_forceHideText = true;
}
@@ -2873,7 +2873,7 @@ void LinesManager::checkZone() {
_hotspotTextColor = 0;
_vm->_graphicsManager->SETCOLOR4(251, _hotspotTextColor, _hotspotTextColor, _hotspotTextColor);
if (_vm->_eventsManager->_mouseCursorId == 4) {
- if (ZONEP[zoneId]._verbFl1 == 2) {
+ if (_zone[zoneId]._verbFl1 == 2) {
_vm->_eventsManager->changeMouseCursor(16);
_vm->_eventsManager->_mouseCursorId = 16;
_vm->_objectsManager->setVerb(16);
diff --git a/engines/hopkins/lines.h b/engines/hopkins/lines.h
index ef953824e9..656c0290cd 100644
--- a/engines/hopkins/lines.h
+++ b/engines/hopkins/lines.h
@@ -74,7 +74,7 @@ struct SquareZoneItem {
bool _squareZoneFl;
};
-struct ZonePItem {
+struct ZoneItem {
int _destX;
int _destY;
int _spriteIndex;
@@ -163,9 +163,9 @@ public:
RouteItem *_route;
RouteItem *_testRoute2;
- int BOBZONE[105];
- bool BOBZONE_FLAG[105];
- ZonePItem ZONEP[106];
+ int _bobZone[105];
+ bool _bobZoneFl[105];
+ ZoneItem _zone[106];
LinesManager(HopkinsEngine *vm);
~LinesManager();
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp
index 30c102f380..428fbf1178 100644
--- a/engines/hopkins/objects.cpp
+++ b/engines/hopkins/objects.cpp
@@ -115,7 +115,6 @@ ObjectsManager::ObjectsManager(HopkinsEngine *vm) {
_objectDataBuf = g_PTRNUL;
PERSO_ON = false;
BOBTOUS = false;
- OBSSEUL = false;
}
ObjectsManager::~ObjectsManager() {
@@ -1372,14 +1371,14 @@ void ObjectsManager::GOHOME() {
_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
_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) {
- _vm->_linesManager->ZONEP[zoneId]._destX = 0;
- _vm->_linesManager->ZONEP[zoneId]._destY = 0;
- _vm->_linesManager->ZONEP[zoneId]._spriteIndex = 0;
+ if (_vm->_linesManager->_zone[zoneId]._destX && _vm->_linesManager->_zone[zoneId]._destY && _vm->_linesManager->_zone[zoneId]._destY != 31) {
+ if (_vm->_linesManager->_zone[zoneId]._spriteIndex == -1) {
+ _vm->_linesManager->_zone[zoneId]._destX = 0;
+ _vm->_linesManager->_zone[zoneId]._destY = 0;
+ _vm->_linesManager->_zone[zoneId]._spriteIndex = 0;
} else {
- setSpriteIndex(0, _vm->_linesManager->ZONEP[zoneId]._spriteIndex);
- _vm->_globals->_actionDirection = _vm->_linesManager->ZONEP[zoneId]._spriteIndex - 59;
+ setSpriteIndex(0, _vm->_linesManager->_zone[zoneId]._spriteIndex);
+ _vm->_globals->_actionDirection = _vm->_linesManager->_zone[zoneId]._spriteIndex - 59;
}
}
}
@@ -1594,14 +1593,14 @@ void ObjectsManager::GOHOME() {
_oldCharacterPosY = getSpriteY(0);
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) {
- _vm->_linesManager->ZONEP[zoneId]._destX = 0;
- _vm->_linesManager->ZONEP[zoneId]._destY = 0;
- _vm->_linesManager->ZONEP[zoneId]._spriteIndex = 0;
+ if (_vm->_linesManager->_zone[zoneId]._destX && _vm->_linesManager->_zone[zoneId]._destY && _vm->_linesManager->_zone[zoneId]._destY != 31) {
+ if ( _vm->_linesManager->_zone[zoneId]._spriteIndex == -1) {
+ _vm->_linesManager->_zone[zoneId]._destX = 0;
+ _vm->_linesManager->_zone[zoneId]._destY = 0;
+ _vm->_linesManager->_zone[zoneId]._spriteIndex = 0;
} else {
- setSpriteIndex(0, _vm->_linesManager->ZONEP[zoneId]._spriteIndex);
- _vm->_globals->_actionDirection = _vm->_linesManager->ZONEP[zoneId]._spriteIndex - 59;
+ setSpriteIndex(0, _vm->_linesManager->_zone[zoneId]._spriteIndex);
+ _vm->_globals->_actionDirection = _vm->_linesManager->_zone[zoneId]._spriteIndex - 59;
}
}
}
@@ -1716,21 +1715,21 @@ void ObjectsManager::GOHOME2() {
*/
void ObjectsManager::loadZone(const Common::String &file) {
for (int i = 1; i <= 100; i++) {
- _vm->_linesManager->ZONEP[i]._destX = 0;
- _vm->_linesManager->ZONEP[i]._destY = 0;
- _vm->_linesManager->ZONEP[i]._spriteIndex = 0;
- _vm->_linesManager->ZONEP[i]._verbFl1 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl2 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl3 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl4 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl5 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl6 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl7 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl8 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl9 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl10 = 0;
- _vm->_linesManager->ZONEP[i]._messageId = 0;
- _vm->_linesManager->ZONEP[i]._enabledFl = false;
+ _vm->_linesManager->_zone[i]._destX = 0;
+ _vm->_linesManager->_zone[i]._destY = 0;
+ _vm->_linesManager->_zone[i]._spriteIndex = 0;
+ _vm->_linesManager->_zone[i]._verbFl1 = 0;
+ _vm->_linesManager->_zone[i]._verbFl2 = 0;
+ _vm->_linesManager->_zone[i]._verbFl3 = 0;
+ _vm->_linesManager->_zone[i]._verbFl4 = 0;
+ _vm->_linesManager->_zone[i]._verbFl5 = 0;
+ _vm->_linesManager->_zone[i]._verbFl6 = 0;
+ _vm->_linesManager->_zone[i]._verbFl7 = 0;
+ _vm->_linesManager->_zone[i]._verbFl8 = 0;
+ _vm->_linesManager->_zone[i]._verbFl9 = 0;
+ _vm->_linesManager->_zone[i]._verbFl10 = 0;
+ _vm->_linesManager->_zone[i]._messageId = 0;
+ _vm->_linesManager->_zone[i]._enabledFl = false;
}
Common::File f;
@@ -1751,38 +1750,38 @@ void ObjectsManager::loadZone(const Common::String &file) {
READ_LE_UINT16((uint16 *)ptr + bufId + 3),
READ_LE_UINT16((uint16 *)ptr + bufId + 4),
bobZoneIdx);
- _vm->_linesManager->ZONEP[bobZoneIdx]._enabledFl = true;
+ _vm->_linesManager->_zone[bobZoneIdx]._enabledFl = true;
}
bufId += 5;
++zoneLineIdx;
} while (bobZoneIdx != -1);
for (int i = 1; i <= 100; i++) {
- _vm->_linesManager->ZONEP[i]._destX = READ_LE_INT16((uint16 *)ptr + bufId);
- _vm->_linesManager->ZONEP[i]._destY = READ_LE_INT16((uint16 *)ptr + bufId + 1);
- _vm->_linesManager->ZONEP[i]._spriteIndex = READ_LE_INT16((uint16 *)ptr + bufId + 2);
+ _vm->_linesManager->_zone[i]._destX = READ_LE_INT16((uint16 *)ptr + bufId);
+ _vm->_linesManager->_zone[i]._destY = READ_LE_INT16((uint16 *)ptr + bufId + 1);
+ _vm->_linesManager->_zone[i]._spriteIndex = READ_LE_INT16((uint16 *)ptr + bufId + 2);
bufId += 3;
}
byte *verbData = (ptr + 10 * zoneLineIdx + 606);
bufId = 0;
for (int i = 1; i <= 100; i++) {
- _vm->_linesManager->ZONEP[i]._verbFl1 = verbData[bufId];
- _vm->_linesManager->ZONEP[i]._verbFl2 = verbData[bufId + 1];
- _vm->_linesManager->ZONEP[i]._verbFl3 = verbData[bufId + 2];
- _vm->_linesManager->ZONEP[i]._verbFl4 = verbData[bufId + 3];
- _vm->_linesManager->ZONEP[i]._verbFl5 = verbData[bufId + 4];
- _vm->_linesManager->ZONEP[i]._verbFl6 = verbData[bufId + 5];
- _vm->_linesManager->ZONEP[i]._verbFl7 = verbData[bufId + 6];
- _vm->_linesManager->ZONEP[i]._verbFl8 = verbData[bufId + 7];
- _vm->_linesManager->ZONEP[i]._verbFl9 = verbData[bufId + 8];
- _vm->_linesManager->ZONEP[i]._verbFl10 = verbData[bufId + 9];
+ _vm->_linesManager->_zone[i]._verbFl1 = verbData[bufId];
+ _vm->_linesManager->_zone[i]._verbFl2 = verbData[bufId + 1];
+ _vm->_linesManager->_zone[i]._verbFl3 = verbData[bufId + 2];
+ _vm->_linesManager->_zone[i]._verbFl4 = verbData[bufId + 3];
+ _vm->_linesManager->_zone[i]._verbFl5 = verbData[bufId + 4];
+ _vm->_linesManager->_zone[i]._verbFl6 = verbData[bufId + 5];
+ _vm->_linesManager->_zone[i]._verbFl7 = verbData[bufId + 6];
+ _vm->_linesManager->_zone[i]._verbFl8 = verbData[bufId + 7];
+ _vm->_linesManager->_zone[i]._verbFl9 = verbData[bufId + 8];
+ _vm->_linesManager->_zone[i]._verbFl10 = verbData[bufId + 9];
bufId += 10;
}
verbData += 1010;
for (int i = 0; i < 100; i++)
- _vm->_linesManager->ZONEP[i + 1]._messageId = READ_LE_UINT16(verbData + 2 * i);
+ _vm->_linesManager->_zone[i + 1]._messageId = READ_LE_UINT16(verbData + 2 * i);
_vm->_globals->freeMemory(ptr);
_vm->_linesManager->initSquareZones();
@@ -1954,9 +1953,9 @@ void ObjectsManager::handleLeftButton() {
if (_vm->_globals->_cityMapEnabledFl && (_vm->_eventsManager->_mouseCursorId != 4 || _zoneNum <= 0))
return;
if (_zoneNum != -1 && _zoneNum != 0) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._destX && _vm->_linesManager->ZONEP[_zoneNum]._destY && _vm->_linesManager->ZONEP[_zoneNum]._destY != 31) {
- destX = _vm->_linesManager->ZONEP[_zoneNum]._destX;
- destY = _vm->_linesManager->ZONEP[_zoneNum]._destY;
+ if (_vm->_linesManager->_zone[_zoneNum]._destX && _vm->_linesManager->_zone[_zoneNum]._destY && _vm->_linesManager->_zone[_zoneNum]._destY != 31) {
+ destX = _vm->_linesManager->_zone[_zoneNum]._destX;
+ destY = _vm->_linesManager->_zone[_zoneNum]._destY;
}
}
_vm->_globals->_actionMoveTo = false;
@@ -2081,7 +2080,7 @@ void ObjectsManager::PARADISE() {
_vm->_talkManager->REPONSE2(_vm->_globals->_saveData->_data[svLastZoneNum], _vm->_globals->_saveData->_data[svLastMouseCursor]);
}
_vm->_eventsManager->changeMouseCursor(4);
- if (_zoneNum != -1 && _zoneNum != 0 && !_vm->_linesManager->ZONEP[_zoneNum]._enabledFl) {
+ if (_zoneNum != -1 && _zoneNum != 0 && !_vm->_linesManager->_zone[_zoneNum]._enabledFl) {
_zoneNum = -1;
_forceZoneFl = true;
}
@@ -2129,8 +2128,8 @@ void ObjectsManager::clearScreen() {
resetHidingItems();
for (int i = 0; i <= 48; i++) {
- _vm->_linesManager->BOBZONE[i] = 0;
- _vm->_linesManager->BOBZONE_FLAG[i] = false;
+ _vm->_linesManager->_bobZone[i] = 0;
+ _vm->_linesManager->_bobZoneFl[i] = false;
}
_vm->_eventsManager->_mouseCursorId = 4;
_verb = 4;
@@ -2300,139 +2299,139 @@ void ObjectsManager::nextVerbIcon() {
if (_vm->_eventsManager->_mouseCursorId == 5 || _vm->_eventsManager->_mouseCursorId == 6) {
_vm->_eventsManager->_mouseCursorId = 6;
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl1 == 1)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl1 == 1)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 7) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl2 == 1)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl2 == 1)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 8) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl3 == 1)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl3 == 1)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 9) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl4 == 1)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl4 == 1)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 10) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl5 == 1)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl5 == 1)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 11) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl6 == 1)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl6 == 1)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 12) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl7 == 1)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl7 == 1)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 13) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl8 == 1)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl8 == 1)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 14) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl9 == 1)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl9 == 1)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 15) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl10 == 1)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl10 == 1)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 16) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl1 == 2)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl1 == 2)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 17) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl4 == 2)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl4 == 2)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 18) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl5 == 2)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl5 == 2)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 19) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl6 == 2)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl6 == 2)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 20) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl7 == 2)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl7 == 2)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 21) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl10 == 2)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl10 == 2)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 22) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl8 == 2)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl8 == 2)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 23) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl3 == 2)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl3 == 2)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 24) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl4 == 3)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl4 == 3)
return;
++_vm->_eventsManager->_mouseCursorId;
}
if (_vm->_eventsManager->_mouseCursorId == 25) {
- if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl9 == 2)
+ if (_vm->_linesManager->_zone[_zoneNum]._verbFl9 == 2)
return;
}
_vm->_eventsManager->_mouseCursorId = 4;
@@ -3102,7 +3101,7 @@ int ObjectsManager::getBobPosX(int idx) {
return _bob[idx]._xp;
}
-void ObjectsManager::loadLinkFile(const Common::String &file) {
+void ObjectsManager::loadLinkFile(const Common::String &file, bool skipDetails) {
Common::File f;
Common::String filename = file + ".LNK";
byte *ptr = _vm->_fileManager->searchCat(filename, RES_LIN);
@@ -3118,7 +3117,7 @@ void ObjectsManager::loadLinkFile(const Common::String &file) {
_vm->_fileManager->readStream(f, ptr, nbytes);
f.close();
}
- if (!OBSSEUL) {
+ if (!skipDetails) {
for (int idx = 0; idx < 500; ++idx)
_vm->_globals->_spriteSize[idx] = READ_LE_INT16((uint16 *)ptr + idx);
@@ -3187,26 +3186,26 @@ void ObjectsManager::loadLinkFile(const Common::String &file) {
}
}
- if (!OBSSEUL) {
+ if (!skipDetails) {
for (size_t idx = 0; idx < nbytes - 3; idx++) {
if (READ_BE_UINT24(&ptr[idx]) == MKTAG24('Z', 'O', '2')) {
byte *curDataPtr = &ptr[idx + 4];
int curDataIdx = 0;
for (int i = 1; i <= 100; i++) {
- _vm->_linesManager->ZONEP[i]._destX = 0;
- _vm->_linesManager->ZONEP[i]._destY = 0;
- _vm->_linesManager->ZONEP[i]._spriteIndex = 0;
- _vm->_linesManager->ZONEP[i]._verbFl1 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl2 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl3 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl4 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl5 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl6 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl7 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl8 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl9 = 0;
- _vm->_linesManager->ZONEP[i]._verbFl10 = 0;
- _vm->_linesManager->ZONEP[i]._messageId = 0;
+ _vm->_linesManager->_zone[i]._destX = 0;
+ _vm->_linesManager->_zone[i]._destY = 0;
+ _vm->_linesManager->_zone[i]._spriteIndex = 0;
+ _vm->_linesManager->_zone[i]._verbFl1 = 0;
+ _vm->_linesManager->_zone[i]._verbFl2 = 0;
+ _vm->_linesManager->_zone[i]._verbFl3 = 0;
+ _vm->_linesManager->_zone[i]._verbFl4 = 0;
+ _vm->_linesManager->_zone[i]._verbFl5 = 0;
+ _vm->_linesManager->_zone[i]._verbFl6 = 0;
+ _vm->_linesManager->_zone[i]._verbFl7 = 0;
+ _vm->_linesManager->_zone[i]._verbFl8 = 0;
+ _vm->_linesManager->_zone[i]._verbFl9 = 0;
+ _vm->_linesManager->_zone[i]._verbFl10 = 0;
+ _vm->_linesManager->_zone[i]._messageId = 0;
}
int curLineIdx = 0;
@@ -3220,7 +3219,7 @@ void ObjectsManager::loadLinkFile(const Common::String &file) {
READ_LE_INT16(curDataPtr + 2 * curDataIdx + 6),
READ_LE_INT16(curDataPtr + 2 * curDataIdx + 8),
bobZoneId);
- _vm->_linesManager->ZONEP[bobZoneId]._enabledFl = true;
+ _vm->_linesManager->_zone[bobZoneId]._enabledFl = true;
}
curDataIdx += 5;
++curLineIdx;
@@ -3228,29 +3227,29 @@ void ObjectsManager::loadLinkFile(const Common::String &file) {
break;
}
for (int i = 1; i <= 100; i++) {
- _vm->_linesManager->ZONEP[i]._destX = READ_LE_INT16(curDataPtr + 2 * curDataIdx);
- _vm->_linesManager->ZONEP[i]._destY = READ_LE_INT16(curDataPtr + 2 * curDataIdx + 2);
- _vm->_linesManager->ZONEP[i]._spriteIndex = READ_LE_INT16(curDataPtr + 2 * curDataIdx + 4);
+ _vm->_linesManager->_zone[i]._destX = READ_LE_INT16(curDataPtr + 2 * curDataIdx);
+ _vm->_linesManager->_zone[i]._destY = READ_LE_INT16(curDataPtr + 2 * curDataIdx + 2);
+ _vm->_linesManager->_zone[i]._spriteIndex = READ_LE_INT16(curDataPtr + 2 * curDataIdx + 4);
curDataIdx += 3;
}
byte *verbData = ptr + idx + (10 * curLineIdx + 606) + 4;
for (int i = 1; i <= 100; i++) {
int j = (i - 1) * 10;
- _vm->_linesManager->ZONEP[i]._verbFl1 = verbData[j];
- _vm->_linesManager->ZONEP[i]._verbFl2 = verbData[j + 1];
- _vm->_linesManager->ZONEP[i]._verbFl3 = verbData[j + 2];
- _vm->_linesManager->ZONEP[i]._verbFl4 = verbData[j + 3];
- _vm->_linesManager->ZONEP[i]._verbFl5 = verbData[j + 4];
- _vm->_linesManager->ZONEP[i]._verbFl6 = verbData[j + 5];
- _vm->_linesManager->ZONEP[i]._verbFl7 = verbData[j + 6];
- _vm->_linesManager->ZONEP[i]._verbFl8 = verbData[j + 7];
- _vm->_linesManager->ZONEP[i]._verbFl9 = verbData[j + 8];
- _vm->_linesManager->ZONEP[i]._verbFl10 = verbData[j + 9];
+ _vm->_linesManager->_zone[i]._verbFl1 = verbData[j];
+ _vm->_linesManager->_zone[i]._verbFl2 = verbData[j + 1];
+ _vm->_linesManager->_zone[i]._verbFl3 = verbData[j + 2];
+ _vm->_linesManager->_zone[i]._verbFl4 = verbData[j + 3];
+ _vm->_linesManager->_zone[i]._verbFl5 = verbData[j + 4];
+ _vm->_linesManager->_zone[i]._verbFl6 = verbData[j + 5];
+ _vm->_linesManager->_zone[i]._verbFl7 = verbData[j + 6];
+ _vm->_linesManager->_zone[i]._verbFl8 = verbData[j + 7];
+ _vm->_linesManager->_zone[i]._verbFl9 = verbData[j + 8];
+ _vm->_linesManager->_zone[i]._verbFl10 = verbData[j + 9];
}
int dep = 1010;
for (int i = 1; i <= 100; i++) {
- _vm->_linesManager->ZONEP[i]._messageId = READ_LE_INT16(verbData + dep);
+ _vm->_linesManager->_zone[i]._messageId = READ_LE_INT16(verbData + dep);
dep += 2;
}
_vm->_linesManager->initSquareZones();
@@ -3324,22 +3323,22 @@ void ObjectsManager::sceneSpecialIni() {
case 39:
case 40:
case 41:
- _vm->_linesManager->BOBZONE[20] = 1;
- _vm->_linesManager->BOBZONE[21] = 2;
- _vm->_linesManager->BOBZONE[22] = 3;
- _vm->_linesManager->BOBZONE[23] = 4;
- _vm->_linesManager->BOBZONE_FLAG[20] = true;
- _vm->_linesManager->BOBZONE_FLAG[21] = true;
- _vm->_linesManager->BOBZONE_FLAG[22] = true;
- _vm->_linesManager->BOBZONE_FLAG[23] = true;
+ _vm->_linesManager->_bobZone[20] = 1;
+ _vm->_linesManager->_bobZone[21] = 2;
+ _vm->_linesManager->_bobZone[22] = 3;
+ _vm->_linesManager->_bobZone[23] = 4;
+ _vm->_linesManager->_bobZoneFl[20] = true;
+ _vm->_linesManager->_bobZoneFl[21] = true;
+ _vm->_linesManager->_bobZoneFl[22] = true;
+ _vm->_linesManager->_bobZoneFl[23] = true;
enableVerb(20, 5);
enableVerb(21, 5);
enableVerb(22, 5);
enableVerb(23, 5);
- _vm->_linesManager->ZONEP[20]._messageId = 30;
- _vm->_linesManager->ZONEP[21]._messageId = 30;
- _vm->_linesManager->ZONEP[22]._messageId = 30;
- _vm->_linesManager->ZONEP[23]._messageId = 30;
+ _vm->_linesManager->_zone[20]._messageId = 30;
+ _vm->_linesManager->_zone[21]._messageId = 30;
+ _vm->_linesManager->_zone[22]._messageId = 30;
+ _vm->_linesManager->_zone[23]._messageId = 30;
for (int i = svField200; i <= svField214; i++) {
if (_vm->_globals->_saveData->_data[i] != 2)
_vm->_globals->_saveData->_data[i] = 0;
@@ -3397,42 +3396,42 @@ void ObjectsManager::disableVerb(int idx, int a2) {
switch (a2) {
case 6:
case 16:
- _vm->_linesManager->ZONEP[idx]._verbFl1 = 0;
+ _vm->_linesManager->_zone[idx]._verbFl1 = 0;
break;
case 7:
- _vm->_linesManager->ZONEP[idx]._verbFl2 = 0;
+ _vm->_linesManager->_zone[idx]._verbFl2 = 0;
break;
case 5:
case 8:
- _vm->_linesManager->ZONEP[idx]._verbFl3 = 0;
+ _vm->_linesManager->_zone[idx]._verbFl3 = 0;
break;
case 9:
case 17:
case 24:
- _vm->_linesManager->ZONEP[idx]._verbFl4 = 0;
+ _vm->_linesManager->_zone[idx]._verbFl4 = 0;
break;
case 10:
case 18:
- _vm->_linesManager->ZONEP[idx]._verbFl5 = 0;
+ _vm->_linesManager->_zone[idx]._verbFl5 = 0;
break;
case 11:
case 19:
- _vm->_linesManager->ZONEP[idx]._verbFl6 = 0;
+ _vm->_linesManager->_zone[idx]._verbFl6 = 0;
break;
case 12:
case 20:
- _vm->_linesManager->ZONEP[idx]._verbFl7 = 0;
+ _vm->_linesManager->_zone[idx]._verbFl7 = 0;
break;
case 13:
case 22:
- _vm->_linesManager->ZONEP[idx]._verbFl8 = 0;
+ _vm->_linesManager->_zone[idx]._verbFl8 = 0;
case 14:
case 21:
case 25:
- _vm->_linesManager->ZONEP[idx]._verbFl9 = 0;
+ _vm->_linesManager->_zone[idx]._verbFl9 = 0;
break;
case 15:
- _vm->_linesManager->ZONEP[idx]._verbFl10 = 0;
+ _vm->_linesManager->_zone[idx]._verbFl10 = 0;
break;
}
_changeVerbFl = true;
@@ -3441,64 +3440,64 @@ void ObjectsManager::disableVerb(int idx, int a2) {
void ObjectsManager::enableVerb(int idx, int a2) {
switch (a2) {
case 5:
- _vm->_linesManager->ZONEP[idx]._verbFl3 = 2;
+ _vm->_linesManager->_zone[idx]._verbFl3 = 2;
break;
case 6:
- _vm->_linesManager->ZONEP[idx]._verbFl1 = 1;
+ _vm->_linesManager->_zone[idx]._verbFl1 = 1;
break;
case 7:
- _vm->_linesManager->ZONEP[idx]._verbFl2 = 1;
+ _vm->_linesManager->_zone[idx]._verbFl2 = 1;
break;
case 8:
- _vm->_linesManager->ZONEP[idx]._verbFl3 = 1;
+ _vm->_linesManager->_zone[idx]._verbFl3 = 1;
break;
case 9:
- _vm->_linesManager->ZONEP[idx]._verbFl4 = 1;
+ _vm->_linesManager->_zone[idx]._verbFl4 = 1;
break;
case 10:
- _vm->_linesManager->ZONEP[idx]._verbFl5 = 1;
+ _vm->_linesManager->_zone[idx]._verbFl5 = 1;
break;
case 11:
- _vm->_linesManager->ZONEP[idx]._verbFl6 = 1;
+ _vm->_linesManager->_zone[idx]._verbFl6 = 1;
break;
case 12:
- _vm->_linesManager->ZONEP[idx]._verbFl7 = 1;
+ _vm->_linesManager->_zone[idx]._verbFl7 = 1;
break;
case 13:
- _vm->_linesManager->ZONEP[idx]._verbFl8 = 1;
+ _vm->_linesManager->_zone[idx]._verbFl8 = 1;
break;
case 14:
- _vm->_linesManager->ZONEP[idx]._verbFl8 = 1;
+ _vm->_linesManager->_zone[idx]._verbFl8 = 1;
break;
case 15:
- _vm->_linesManager->ZONEP[idx]._verbFl9 = 1;
+ _vm->_linesManager->_zone[idx]._verbFl9 = 1;
break;
case 16:
- _vm->_linesManager->ZONEP[idx]._verbFl1 = 2;
+ _vm->_linesManager->_zone[idx]._verbFl1 = 2;
break;
case 17:
- _vm->_linesManager->ZONEP[idx]._verbFl4 = 2;
+ _vm->_linesManager->_zone[idx]._verbFl4 = 2;
break;
case 18:
- _vm->_linesManager->ZONEP[idx]._verbFl5 = 2;
+ _vm->_linesManager->_zone[idx]._verbFl5 = 2;
break;
case 19:
- _vm->_linesManager->ZONEP[idx]._verbFl6 = 2;
+ _vm->_linesManager->_zone[idx]._verbFl6 = 2;
break;
case 20:
- _vm->_linesManager->ZONEP[idx]._verbFl7 = 2;
+ _vm->_linesManager->_zone[idx]._verbFl7 = 2;
break;
case 21:
- _vm->_linesManager->ZONEP[idx]._verbFl9 = 2;
+ _vm->_linesManager->_zone[idx]._verbFl9 = 2;
break;
case 22:
- _vm->_linesManager->ZONEP[idx]._verbFl8 = 2;
+ _vm->_linesManager->_zone[idx]._verbFl8 = 2;
break;
case 24:
- _vm->_linesManager->ZONEP[idx]._verbFl4 = 3;
+ _vm->_linesManager->_zone[idx]._verbFl4 = 3;
break;
case 25:
- _vm->_linesManager->ZONEP[idx]._verbFl9 = 2;
+ _vm->_linesManager->_zone[idx]._verbFl9 = 2;
break;
}
}
diff --git a/engines/hopkins/objects.h b/engines/hopkins/objects.h
index 671ba01974..af42e03c1c 100644
--- a/engines/hopkins/objects.h
+++ b/engines/hopkins/objects.h
@@ -244,7 +244,6 @@ public:
bool PERSO_ON;
bool BOBTOUS;
- bool OBSSEUL;
ObjectsManager(HopkinsEngine *vm);
~ObjectsManager();
@@ -254,7 +253,7 @@ public:
int getWidth(const byte *objectData, int idx);
int getHeight(const byte *objectData, int idx);
byte *loadSprite(const Common::String &file);
- void loadLinkFile(const Common::String &file);
+ void loadLinkFile(const Common::String &file, bool OBSSEUL = false);
void addStaticSprite(const byte *spriteData, Common::Point pos, int idx, int spriteIndex, int zoomFactor, bool flipFl, int deltaX, int deltaY);
void animateSprite(int idx);
void removeSprite(int idx);
@@ -310,6 +309,7 @@ public:
void loadHidingItems(const Common::String &file);
void enableHidingBehavior();
void disableHidingBehavior();
+ void disableHidingItem(int idx);
void resetHomeRateCounter() { _homeRateCounter = 0; }
void resetOldFrameIndex() { _oldFrameIndex = -1; }
@@ -333,7 +333,6 @@ public:
void GOHOME();
void OPTI_BOBON(int idx1, int idx2, int idx3, int anim1Idx, int anim2Idx, int anim3Idx);
void PARADISE();
- void disableHidingItem(int idx);
};
} // End of namespace Hopkins
diff --git a/engines/hopkins/script.cpp b/engines/hopkins/script.cpp
index 198376135b..a0744bc9ae 100644
--- a/engines/hopkins/script.cpp
+++ b/engines/hopkins/script.cpp
@@ -948,9 +948,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_objectsManager->stopBobAnimation(1);
_vm->_objectsManager->OPTI_ONE(15, 0, 12, 0);
_vm->_objectsManager->stopBobAnimation(15);
- _vm->_objectsManager->OBSSEUL = true;
- _vm->_objectsManager->loadLinkFile("IM19a");
- _vm->_objectsManager->OBSSEUL = false;
+ _vm->_objectsManager->loadLinkFile("IM19a", true);
break;
case 56:
@@ -1093,9 +1091,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_objectsManager->stopBobAnimation(12);
_vm->_objectsManager->stopBobAnimation(4);
_vm->_objectsManager->animateSprite(0);
- _vm->_objectsManager->OBSSEUL = true;
- _vm->_objectsManager->loadLinkFile("IM27a");
- _vm->_objectsManager->OBSSEUL = false;
+ _vm->_objectsManager->loadLinkFile("IM27a", true);
break;
}
@@ -1199,9 +1195,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
} while (_vm->_objectsManager->getBobAnimDataIdx(5) != 6);
_vm->_objectsManager->stopBobAnimation(5);
_vm->_objectsManager->setBobAnimation(6);
- _vm->_objectsManager->OBSSEUL = true;
- _vm->_objectsManager->loadLinkFile("IM24a");
- _vm->_objectsManager->OBSSEUL = false;
+ _vm->_objectsManager->loadLinkFile("IM24a", true);
break;
case 86:
@@ -1946,9 +1940,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_soundManager->_specialSoundNum = 0;
_vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 192, 152, 0);
_vm->_objectsManager->setBobAnimation(9);
- _vm->_objectsManager->OBSSEUL = true;
- _vm->_objectsManager->loadLinkFile("IM73a");
- _vm->_objectsManager->OBSSEUL = false;
+ _vm->_objectsManager->loadLinkFile("IM73a", true);
_vm->_objectsManager->enableHidingBehavior();
_vm->_objectsManager->setHidingUseCount(0);
_vm->_objectsManager->setHidingUseCount(1);
@@ -2000,9 +1992,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
break;
case 230: {
- _vm->_objectsManager->OBSSEUL = true;
- _vm->_objectsManager->loadLinkFile("IM93a");
- _vm->_objectsManager->OBSSEUL = false;
+ _vm->_objectsManager->loadLinkFile("IM93a", true);
_vm->_objectsManager->enableHidingBehavior();
_vm->_globals->_checkDistanceFl = true;
_vm->_objectsManager->_oldCharacterPosX = _vm->_objectsManager->getSpriteX(0);
@@ -2037,9 +2027,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_objectsManager->setSpriteY(0, 278);
_vm->_objectsManager->animateSprite(0);
_vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 337, 154, 3);
- _vm->_objectsManager->OBSSEUL = true;
- _vm->_objectsManager->loadLinkFile("IM93c");
- _vm->_objectsManager->OBSSEUL = false;
+ _vm->_objectsManager->loadLinkFile("IM93c", true);
_vm->_objectsManager->enableHidingBehavior();
break;
}
@@ -2316,7 +2304,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
case 245:
_vm->_soundManager->playSoundFile("SOUND89.WAV");
_vm->_objectsManager->OPTI_ONE(5, 0, 6, 0);
- _vm->_linesManager->ZONEP[4]._destX = 276;
+ _vm->_linesManager->_zone[4]._destX = 276;
_vm->_objectsManager->enableVerb(4, 19);
_vm->_graphicsManager->fastDisplay(_vm->_globals->_levelSpriteBuf, 285, 379, 0);
_vm->_globals->_saveData->_data[svField399] = 1;
@@ -2475,7 +2463,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
opcodeType = 1;
break;
case MKTAG24('Z', 'C', 'H'):
- _vm->_linesManager->ZONEP[READ_LE_INT16(dataP + 5)]._messageId = READ_LE_INT16(dataP + 7);
+ _vm->_linesManager->_zone[READ_LE_INT16(dataP + 5)]._messageId = READ_LE_INT16(dataP + 7);
opcodeType = 1;
break;
case MKTAG24('J', 'U', 'M'):
diff --git a/engines/hopkins/talk.cpp b/engines/hopkins/talk.cpp
index 2929a49244..a9f2f678cf 100644
--- a/engines/hopkins/talk.cpp
+++ b/engines/hopkins/talk.cpp
@@ -970,7 +970,7 @@ void TalkManager::animateObject(const Common::String &filename) {
_vm->_objectsManager->resetHidingItems();
for (int i = 0; i <= 44; i++)
- _vm->_linesManager->BOBZONE[i] = 0;
+ _vm->_linesManager->_bobZone[i] = 0;
_vm->_objectsManager->_zoneNum = -1;
_vm->_eventsManager->_mouseCursorId = 4;
@@ -1048,7 +1048,7 @@ void TalkManager::animateObject(const Common::String &filename) {
_vm->_linesManager->resetLines();
_vm->_objectsManager->resetHidingItems();
for (int i = 0; i <= 44; i++)
- _vm->_linesManager->BOBZONE[i] = 0;
+ _vm->_linesManager->_bobZone[i] = 0;
_vm->_globals->freeMemory(_vm->_globals->_answerBuffer);
_vm->_globals->_answerBuffer = oldAnswerBufferPtr;