HOPKINS: Some renaming and refactoring in Globals and LinesManager

This commit is contained in:
Strangerke 2013-02-21 08:23:38 +01:00
parent 8457c00457
commit 691f21da96
8 changed files with 63 additions and 62 deletions

View file

@ -188,7 +188,7 @@ void EventsManager::changeMouseCursor(int id) {
if (_mouseCursorId == 23)
return;
if (id == 4 && _mouseCursorId == 4 && _vm->_globals.NOMARCHE)
if (id == 4 && _mouseCursorId == 4 && _vm->_globals._freezeCharacterFl)
cursorId = 0;
if (cursorId == 25)
cursorId = 5;

View file

@ -127,7 +127,7 @@ Globals::Globals() {
_sortedDisplayCount = 0;
NOT_VERIF = false;
_characterType = 0;
GOACTION = false;
_actionMoveTo = false;
Compteur = 0;
_actionDirection = DIR_NONE;
@ -157,7 +157,7 @@ Globals::Globals() {
// Reset flags
_censorshipFl = false;
_disableInventFl = false;
NOMARCHE = false;
_freezeCharacterFl = false;
_optionDialogFl = false;
_cacheFl = false;
_introSpeechOffFl = false;

View file

@ -305,7 +305,9 @@ public:
int _oldRouteDestY;
int _oldZoneNum;
bool NOMARCHE;
bool _actionMoveTo;
bool _freezeCharacterFl;
int iRegul;
byte *BUF_ZONE;
BqeAnimItem _animBqe[35];
@ -324,7 +326,6 @@ public:
int Compteur;
int compteur_71;
Common::String FICH_ZONE;
bool GOACTION;
Common::String FICH_TEXTE;
Globals();

View file

@ -2051,7 +2051,7 @@ void HopkinsEngine::playEnding() {
_globals.iRegul = 1;
_soundManager.playSound(26);
_linesManager._route = (RouteItem *)g_PTRNUL;
_globals.NOMARCHE = true;
_globals._freezeCharacterFl = true;
_globals._exitId = 0;
_soundManager.loadSample(1, "SOUND90.WAV");
_graphicsManager.loadImage("IM100");
@ -2738,7 +2738,7 @@ void HopkinsEngine::OCEAN_HOME() {
void HopkinsEngine::OCEAN(int16 curExitId, Common::String backgroundFilename, Directions defaultDirection, int16 exit1, int16 exit2, int16 exit3, int16 exit4, int16 soundId) {
_globals._cityMapEnabledFl = false;
_graphicsManager._noFadingFl = false;
_globals.NOMARCHE = false;
_globals._freezeCharacterFl = false;
_globals._exitId = 0;
_globals._disableInventFl = true;
_soundManager.playSound(soundId);

View file

@ -1146,7 +1146,7 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
v126[i] = 1300;
}
if (PARC_PERS(fromX, fromY, clipDestX, clipDestY, -1, -1, 0) == 1)
if (characterRoute(fromX, fromY, clipDestX, clipDestY, -1, -1, 0) == 1)
return _bestRoute;
int v14 = 0;
@ -1321,7 +1321,7 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
v114 = v136[7];
}
int v55 = PARC_PERS(fromX, fromY, clipDestX, clipDestY, v115, v121, 0);
int v55 = characterRoute(fromX, fromY, clipDestX, clipDestY, v115, v121, 0);
if (v55 == 1)
return _bestRoute;
@ -1418,7 +1418,7 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
_bestRoute[v112].set(_lineItem[v110]._lineData[2 * v72], _lineItem[v110]._lineData[2 * v72 + 1], _lineItem[v110]._directionRouteInc);
v112++;
if (_lineItem[v110]._lineDataEndIdx > 30 && v72 == _lineItem[v110]._lineDataEndIdx / 2) {
int v78 = PARC_PERS(_lineItem[v110]._lineData[2 * v72], _lineItem[v110]._lineData[2 * v72 + 1], clipDestX, clipDestY, v110, v121, v112);
int v78 = characterRoute(_lineItem[v110]._lineData[2 * v72], _lineItem[v110]._lineData[2 * v72 + 1], clipDestX, clipDestY, v110, v121, v112);
if (v78 == 1)
return &_bestRoute[0];
if (v78 == 2 || MIRACLE(v119, v118, v110, v121, v112)) {
@ -1436,7 +1436,7 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
if (loopCond)
break;
int v79 = PARC_PERS(v119, v118, clipDestX, clipDestY, v116, v121, v112);
int v79 = characterRoute(v119, v118, clipDestX, clipDestY, v116, v121, v112);
if (v79 == 1)
return &_bestRoute[0];
if (v79 == 2 || MIRACLE(v119, v118, v116, v121, v112)) {
@ -1468,7 +1468,7 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
_bestRoute[v112].set(_lineItem[v117]._lineData[2 * dataIdx], _lineItem[v117]._lineData[2 * dataIdx + 1], _lineItem[v117]._directionRouteDec);
v112++;
if (_lineItem[v117]._lineDataEndIdx > 30 && dataIdx == _lineItem[v117]._lineDataEndIdx / 2) {
int v88 = PARC_PERS(v119, v118, clipDestX, clipDestY, v117, v121, v112);
int v88 = characterRoute(v119, v118, clipDestX, clipDestY, v117, v121, v112);
if (v88 == 1)
return &_bestRoute[0];
if (v88 == 2 || MIRACLE(v119, v118, v117, v121, v112)) {
@ -1484,7 +1484,7 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
if (loopCond)
break;
int v89 = PARC_PERS(v119, v118, clipDestX, clipDestY, v117, v121, v112);
int v89 = characterRoute(v119, v118, clipDestX, clipDestY, v117, v121, v112);
if (v89 == 1)
return &_bestRoute[0];
if (v89 == 2 || MIRACLE(v119, v118, v117, v121, v112)) {
@ -1510,14 +1510,14 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
v112 = _lineItem[v121].appendToRouteDec(v114, v120, _bestRoute, v112);
}
}
if (PARC_PERS(_bestRoute[v112 - 1]._x, _bestRoute[v112 - 1]._y, clipDestX, clipDestY, -1, -1, v112) != 1) {
if (characterRoute(_bestRoute[v112 - 1]._x, _bestRoute[v112 - 1]._y, clipDestX, clipDestY, -1, -1, v112) != 1) {
_bestRoute[v112].invalidate();
}
return &_bestRoute[0];
}
int LinesManager::PARC_PERS(int fromX, int fromY, int destX, int destY, int a5, int a6, int a7) {
int LinesManager::characterRoute(int fromX, int fromY, int destX, int destY, int a5, int a6, int a7) {
int v18;
int v19;
int v20;
@ -1553,11 +1553,9 @@ int LinesManager::PARC_PERS(int fromX, int fromY, int destX, int destY, int a5,
int v115;
int v117;
int collLineIdx;
int collDataIdx;
int collDataIdx = 0;
int v140;
int v141;
int v142;
int v143;
bool colResult = false;
int curX = fromX;
@ -1610,6 +1608,8 @@ int LinesManager::PARC_PERS(int fromX, int fromY, int destX, int destY, int a5,
int distX, v10, distY, v12, v13, v14;
int repeatFlag = 0;
int v143 = 0;
int v141 = 0;
for (;;) {
v111 = curX;
v109 = curY;
@ -2397,10 +2397,10 @@ bool LinesManager::PLAN_TEST(int paramX, int paramY, int a3, int a4, int a5) {
int lineIdxTestLeft;
int lineIdxTestRight;
int idxTestUp = TEST_LIGNE(paramX, paramY - 2, &v42, &lineIdxTestUp, &dataIdxTestUp);
int idxTestDown = TEST_LIGNE(paramX, paramY + 2, &v43, &lineIdxTestDown, &dataIdxTestDown);
int idxTestLeft = TEST_LIGNE(paramX - 2, paramY, &v44, &lineIdxTestLeft, &dataIdxTestLeft);
int idxTestRight = TEST_LIGNE(paramX + 2, paramY, &v45, &lineIdxTestRight, &dataIdxTestRight);
int idxTestUp = testLine(paramX, paramY - 2, &v42, &lineIdxTestUp, &dataIdxTestUp);
int idxTestDown = testLine(paramX, paramY + 2, &v43, &lineIdxTestDown, &dataIdxTestDown);
int idxTestLeft = testLine(paramX - 2, paramY, &v44, &lineIdxTestLeft, &dataIdxTestLeft);
int idxTestRight = testLine(paramX + 2, paramY, &v45, &lineIdxTestRight, &dataIdxTestRight);
if (idxTestUp == -1 && idxTestDown == -1 && idxTestLeft == -1 && idxTestRight == -1)
return false;
@ -2482,7 +2482,7 @@ bool LinesManager::PLAN_TEST(int paramX, int paramY, int a3, int a4, int a5) {
}
// Test line
int LinesManager::TEST_LIGNE(int paramX, int paramY, int *a3, int *foundLineIdx, int *foundDataIdx) {
int LinesManager::testLine(int paramX, int paramY, int *a3, int *foundLineIdx, int *foundDataIdx) {
int16 *lineData;
int lineDataEndIdx;
int collLineIdx;
@ -2616,7 +2616,7 @@ int LinesManager::MZONE() {
}
_currentSegmentId = 0;
for (int squareZoneId = 0; squareZoneId <= 99; squareZoneId++) {
if (ZONEP[squareZoneId]._enabledFl && _squareZone[squareZoneId]._enabledFl == 1
if (ZONEP[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)
@ -2633,7 +2633,7 @@ int LinesManager::MZONE() {
int colRes1 = 0;
for (int yCurrent = yp; yCurrent >= 0; --yCurrent) {
colRes1 = colision(xp, yCurrent);
colRes1 = checkCollision(xp, yCurrent);
if (colRes1 != -1 && ZONEP[colRes1]._enabledFl)
break;
}
@ -2643,7 +2643,7 @@ int LinesManager::MZONE() {
int colRes2 = 0;
for (int j = yp; j < _vm->_graphicsManager._maxY; ++j) {
colRes2 = colision(xp, j);
colRes2 = checkCollision(xp, j);
if (colRes2 != -1 && ZONEP[colRes1]._enabledFl)
break;
}
@ -2653,7 +2653,7 @@ int LinesManager::MZONE() {
int colRes3 = 0;
for (int k = xp; k >= 0; --k) {
colRes3 = colision(k, yp);
colRes3 = checkCollision(k, yp);
if (colRes3 != -1 && ZONEP[colRes1]._enabledFl)
break;
}
@ -2662,7 +2662,7 @@ int LinesManager::MZONE() {
int colRes4 = 0;
for (int xCurrent = xp; _vm->_graphicsManager._maxX > xCurrent; ++xCurrent) {
colRes4 = colision(xCurrent, yp);
colRes4 = checkCollision(xCurrent, yp);
if (colRes4 != -1 && ZONEP[colRes1]._enabledFl)
break;
}
@ -2677,7 +2677,7 @@ int LinesManager::MZONE() {
return result;
}
int LinesManager::colision(int xp, int yp) {
int LinesManager::checkCollision(int xp, int yp) {
if (_currentSegmentId <= 0)
return -1;
@ -2730,7 +2730,7 @@ int LinesManager::colision(int xp, int yp) {
// Square Zone
void LinesManager::CARRE_ZONE() {
for (int idx = 0; idx < 100; ++idx) {
_squareZone[idx]._enabledFl = 0;
_squareZone[idx]._enabledFl = false;
_squareZone[idx]._squareZoneFl = false;
_squareZone[idx]._left = 1280;
_squareZone[idx]._right = 0;
@ -2746,7 +2746,7 @@ void LinesManager::CARRE_ZONE() {
continue;
int carreZoneId = _zoneLine[idx]._bobZoneIdx;
_squareZone[carreZoneId]._enabledFl = 1;
_squareZone[carreZoneId]._enabledFl = true;
if (_squareZone[carreZoneId]._maxZoneLineIdx < idx)
_squareZone[carreZoneId]._maxZoneLineIdx = idx;
if (_squareZone[carreZoneId]._minZoneLineIdx > idx)
@ -2801,7 +2801,7 @@ void LinesManager::clearAll() {
}
for (int idx = 0; idx < 100; ++idx)
_squareZone[idx]._enabledFl = 0;
_squareZone[idx]._enabledFl = false;
// FIXME: Delete these somewhere
_vm->_linesManager.essai0 = new RouteItem[8334];
@ -2903,7 +2903,7 @@ void LinesManager::checkZone() {
if (_vm->_globals.compteur_71 <= 1)
return;
if (_vm->_globals.NOMARCHE || (_route == (RouteItem *)g_PTRNUL) || _vm->_globals.compteur_71 > 4) {
if (_vm->_globals._freezeCharacterFl || (_route == (RouteItem *)g_PTRNUL) || _vm->_globals.compteur_71 > 4) {
_vm->_globals.compteur_71 = 0;
int zoneId;
if (_vm->_globals._oldMouseX != mouseX || _vm->_globals._oldMouseY != oldMouseY) {
@ -2954,7 +2954,7 @@ void LinesManager::checkZone() {
_vm->_globals._oldMouseX = mouseX;
_vm->_globals._oldMouseY = oldMouseY;
_vm->_globals._oldMouseZoneId = zoneId;
if (_vm->_globals.NOMARCHE && (_vm->_eventsManager._mouseCursorId == 4)) {
if (_vm->_globals._freezeCharacterFl && (_vm->_eventsManager._mouseCursorId == 4)) {
if (zoneId != -1 && zoneId != 0)
_vm->_objectsManager.handleRightButton();
}

View file

@ -62,7 +62,7 @@ struct SegmentItem {
};
struct SquareZoneItem {
int _enabledFl;
bool _enabledFl;
int _left;
int _right;
int _top;
@ -130,19 +130,19 @@ private:
int checkInventoryHotspotsRow(int posX, int minZoneNum, bool lastRow);
void removeZoneLine(int idx);
void removeLine(int idx);
int checkCollision(int xp, int yp);
bool checkCollisionLine(int xp, int yp, int *foundDataIdx, int *foundLineIdx, int startLineIdx, int endLineIdx);
bool checkSmoothMove(int fromX, int fromY, int destX, int destY);
bool makeSmoothMove(int fromX, int fromY, int destX, int destY);
int characterRoute(int fromX, int fromY, int destX, int destY, int a5, int a6, int a7);
int testLine(int paramX, int paramY, int *a3, int *foundLineIdx, int *foundDataIdx);
int CALC_PROPRE(int idx);
int CONTOURNE1(int a1, int a2, int a3, int a4, int a5, RouteItem *route, int a8, int a9);
int CONTOURNE(int a1, int a2, int a3, int a4, int a5, RouteItem *route);
bool MIRACLE(int fromX, int fromY, int a3, int a4, int a5);
int GENIAL(int lineIdx, int dataIdx, int a3, int a4, int a5, int a6, int a7, RouteItem *route);
int PARC_PERS(int fromX, int fromY, int destX, int destY, int a5, int a6, int a7);
bool PLAN_TEST(int paramX, int paramY, int a3, int a4, int a5);
int TEST_LIGNE(int paramX, int paramY, int *a3, int *foundLineIdx, int *foundDataIdx);
int colision(int xp, int yp);
public:
RouteItem *_route;

View file

@ -1307,7 +1307,7 @@ void ObjectsManager::GOHOME() {
setSpriteIndex(0, _vm->_globals._oldDirection + 59);
_vm->_globals._actionDirection = DIR_NONE;
int zoneId;
if (_vm->_globals.GOACTION)
if (_vm->_globals._actionMoveTo)
zoneId = _vm->_globals._saveData->_data[svField2];
else
zoneId = _zoneNum;
@ -1525,7 +1525,7 @@ void ObjectsManager::GOHOME() {
if (newPosX == -1 && newPosY == -1) {
int zoneId;
if (_vm->_globals.GOACTION)
if (_vm->_globals._actionMoveTo)
zoneId = _vm->_globals._saveData->_data[svField2];
else
zoneId = _zoneNum;
@ -1741,7 +1741,7 @@ void ObjectsManager::handleCityMap() {
_vm->_globals._characterMaxPosY = 440;
_vm->_globals._cityMapEnabledFl = true;
_vm->_graphicsManager._noFadingFl = false;
_vm->_globals.NOMARCHE = false;
_vm->_globals._freezeCharacterFl = false;
_spritePtr = g_PTRNUL;
_vm->_globals._exitId = 0;
_vm->_globals.NOT_VERIF = true;
@ -1811,7 +1811,7 @@ void ObjectsManager::handleCityMap() {
_vm->_linesManager.checkZone();
GOHOME2();
if (_vm->_linesManager._route == (RouteItem *)g_PTRNUL && _vm->_globals.GOACTION)
if (_vm->_linesManager._route == (RouteItem *)g_PTRNUL && _vm->_globals._actionMoveTo)
PARADISE();
_vm->_eventsManager.VBL();
@ -1875,7 +1875,7 @@ void ObjectsManager::handleLeftButton() {
return;
}
}
if (_vm->_globals._cityMapEnabledFl && _vm->_globals.GOACTION) {
if (_vm->_globals._cityMapEnabledFl && _vm->_globals._actionMoveTo) {
_vm->_linesManager.checkZone();
if (_zoneNum <= 0)
return;
@ -1888,9 +1888,9 @@ void ObjectsManager::handleLeftButton() {
_vm->_linesManager.essai2[routeIdx].invalidate();;
}
if (_vm->_globals.GOACTION) {
if (_vm->_globals._actionMoveTo) {
_vm->_linesManager.checkZone();
_vm->_globals.GOACTION = false;
_vm->_globals._actionMoveTo = false;
_vm->_globals._saveData->_data[svField1] = 0;
_vm->_globals._saveData->_data[svField2] = 0;
}
@ -1903,7 +1903,7 @@ void ObjectsManager::handleLeftButton() {
destY = _vm->_linesManager.ZONEP[_zoneNum]._destY;
}
}
_vm->_globals.GOACTION = false;
_vm->_globals._actionMoveTo = false;
RouteItem *oldRoute = _vm->_linesManager._route;
_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
if (_forestFl && _zoneNum >= 20 && _zoneNum <= 23) {
@ -1930,7 +1930,7 @@ void ObjectsManager::handleLeftButton() {
}
}
} else {
if (!_vm->_globals.NOMARCHE && !_vm->_globals._cityMapEnabledFl) {
if (!_vm->_globals._freezeCharacterFl && !_vm->_globals._cityMapEnabledFl) {
_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(getSpriteX(0), getSpriteY(0), destX, destY);
if (_vm->_linesManager._route != (RouteItem *)g_PTRNUL)
_vm->_linesManager.PACOURS_PROPRE(_vm->_linesManager._route);
@ -1944,7 +1944,7 @@ void ObjectsManager::handleLeftButton() {
}
}
if (!_vm->_globals.NOMARCHE && _vm->_globals._cityMapEnabledFl)
if (!_vm->_globals._freezeCharacterFl && _vm->_globals._cityMapEnabledFl)
_vm->_linesManager._route = _vm->_linesManager.cityMapCarRoute(getSpriteX(0), getSpriteY(0), destX, destY);
if (_zoneNum != -1 && _zoneNum != 0) {
@ -1957,7 +1957,7 @@ void ObjectsManager::handleLeftButton() {
_vm->_globals._saveData->_data[svField1] = 6;
_vm->_globals._saveData->_data[svField2] = _zoneNum;
_vm->_globals._saveData->_data[svField3] = _curObjectIndex;
_vm->_globals.GOACTION = true;
_vm->_globals._actionMoveTo = true;
}
_vm->_fontManager.hideText(5);
_vm->_graphicsManager.SETCOLOR4(251, 100, 100, 100);
@ -2051,11 +2051,11 @@ void ObjectsManager::PARADISE() {
_vm->_eventsManager._mouseCursorId = 0;
_vm->_eventsManager.changeMouseCursor(0);
}
if (_vm->_globals.NOMARCHE && _vm->_eventsManager._mouseCursorId == 4) {
if (_vm->_globals._freezeCharacterFl && _vm->_eventsManager._mouseCursorId == 4) {
if (_zoneNum != -1 && _zoneNum != 0)
handleRightButton();
}
_vm->_globals.GOACTION = false;
_vm->_globals._actionMoveTo = false;
}
/**
@ -2089,7 +2089,7 @@ void ObjectsManager::clearScreen() {
_vm->_eventsManager._mouseSpriteId = 0;
_vm->_globals._saveData->_data[svField1] = 0;
_vm->_globals._saveData->_data[svField2] = 0;
_vm->_globals.GOACTION = false;
_vm->_globals._actionMoveTo = false;
_forceZoneFl = true;
_changeVerbFl = false;
_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
@ -2236,7 +2236,7 @@ void ObjectsManager::nextVerbIcon() {
for(;;) {
if (_vm->_eventsManager._mouseCursorId == 4) {
if (!_vm->_globals.NOMARCHE || _zoneNum == -1 || _zoneNum == 0)
if (!_vm->_globals._freezeCharacterFl || _zoneNum == -1 || _zoneNum == 0)
return;
++_vm->_eventsManager._mouseCursorId;
@ -3689,7 +3689,7 @@ void ObjectsManager::PERSONAGE(const Common::String &backgroundFile, const Commo
_vm->_globals.iRegul = 1;
_vm->_soundManager.playSound(soundNum);
_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
_vm->_globals.NOMARCHE = true;
_vm->_globals._freezeCharacterFl = true;
_vm->_globals._exitId = 0;
if (!backgroundFile.empty())
_vm->_graphicsManager.loadImage(backgroundFile);
@ -3744,7 +3744,7 @@ void ObjectsManager::PERSONAGE(const Common::String &backgroundFile, const Commo
handleRightButton();
_vm->_dialogsManager.testDialogOpening();
_vm->_linesManager.checkZone();
if (_vm->_globals.GOACTION)
if (_vm->_globals._actionMoveTo)
PARADISE();
if (!_vm->_globals._exitId)
_vm->_eventsManager.VBL();
@ -3776,7 +3776,7 @@ void ObjectsManager::PERSONAGE2(const Common::String &backgroundFile, const Comm
_vm->_dialogsManager._removeInventFl = false;
_vm->_globals._cityMapEnabledFl = false;
_vm->_graphicsManager._noFadingFl = false;
_vm->_globals.NOMARCHE = false;
_vm->_globals._freezeCharacterFl = false;
_vm->_globals._exitId = 0;
_vm->_globals.NOT_VERIF = true;
_vm->_soundManager.playSound(soundNum);
@ -3884,7 +3884,7 @@ void ObjectsManager::PERSONAGE2(const Common::String &backgroundFile, const Comm
_vm->_linesManager.checkZone();
if (_vm->_linesManager._route == (RouteItem *)g_PTRNUL
|| (GOHOME(), _vm->_linesManager._route == (RouteItem *)g_PTRNUL)) {
if (_vm->_globals.GOACTION)
if (_vm->_globals._actionMoveTo)
PARADISE();
}
handleSpecialGames();

View file

@ -1016,16 +1016,16 @@ void TalkManager::animateObject(const Common::String &a2) {
startCharacterAnim0(_paletteBufferIdx, false);
byte *oldAnswerBufferPtr = _vm->_globals._answerBuffer;
_vm->_globals._answerBuffer = g_PTRNUL;
_vm->_globals.NOMARCHE = true;
_vm->_globals._freezeCharacterFl = true;
_vm->_objectsManager.loadLinkFile(screenFilename);
_vm->_objectsManager.PERSO_ON = true;
_vm->_globals.GOACTION = false;
_vm->_globals._actionMoveTo = false;
_vm->_objectsManager._zoneNum = -1;
initCharacterAnim();
VISU_PARLE();
dialogWait();
_vm->_graphicsManager.initScreen(screenFilename, 2, true);
_vm->_globals.NOMARCHE = true;
_vm->_globals._freezeCharacterFl = true;
_vm->_objectsManager._forceZoneFl = true;
_vm->_objectsManager._zoneNum = -1;
do {
@ -1036,7 +1036,7 @@ void TalkManager::animateObject(const Common::String &a2) {
_vm->_objectsManager.handleRightButton();
_vm->_linesManager.checkZone();
if (_vm->_globals.GOACTION)
if (_vm->_globals._actionMoveTo)
_vm->_objectsManager.PARADISE();
_vm->_eventsManager.VBL();
} while (!_vm->_globals._exitId);
@ -1060,7 +1060,7 @@ void TalkManager::animateObject(const Common::String &a2) {
_vm->_objectsManager.loadLinkFile(curScreenFilename);
_vm->_graphicsManager.initScreen(curScreenFilename, 2, true);
_vm->_objectsManager._disableFl = false;
_vm->_globals.NOMARCHE = false;
_vm->_globals._freezeCharacterFl = false;
if (_vm->_globals._exitId == 101)
_vm->_globals._exitId = 0;