aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins
diff options
context:
space:
mode:
authorStrangerke2013-02-22 08:18:13 +0100
committerStrangerke2013-02-22 08:18:13 +0100
commitb0a55e7a4f8917c5d2811c721550d4f15bf71e2d (patch)
treeb2627aa5b2fa74f2b5379cd946f9c34fd7fd88dd /engines/hopkins
parent5d36b5fb6ea01dbff27e7c7ae67a4e8ddf02bf6e (diff)
downloadscummvm-rg350-b0a55e7a4f8917c5d2811c721550d4f15bf71e2d.tar.gz
scummvm-rg350-b0a55e7a4f8917c5d2811c721550d4f15bf71e2d.tar.bz2
scummvm-rg350-b0a55e7a4f8917c5d2811c721550d4f15bf71e2d.zip
HOPKINS: Renaming in LinesManager and Globals
Diffstat (limited to 'engines/hopkins')
-rw-r--r--engines/hopkins/globals.cpp2
-rw-r--r--engines/hopkins/globals.h2
-rw-r--r--engines/hopkins/lines.cpp360
-rw-r--r--engines/hopkins/lines.h2
-rw-r--r--engines/hopkins/objects.cpp10
-rw-r--r--engines/hopkins/script.cpp42
6 files changed, 207 insertions, 211 deletions
diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp
index c725b4f98a..4e5ea6a4c2 100644
--- a/engines/hopkins/globals.cpp
+++ b/engines/hopkins/globals.cpp
@@ -125,7 +125,7 @@ Globals::Globals() {
_menuTextOff = 0;
_menuDisplayType = 0;
_sortedDisplayCount = 0;
- NOT_VERIF = false;
+ _checkDistanceFl = false;
_characterType = 0;
_actionMoveTo = false;
Compteur = 0;
diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h
index 27a2fe4995..61fb3f880f 100644
--- a/engines/hopkins/globals.h
+++ b/engines/hopkins/globals.h
@@ -307,13 +307,13 @@ public:
bool _actionMoveTo;
bool _freezeCharacterFl;
+ bool _checkDistanceFl;
int iRegul;
byte *BUF_ZONE;
BqeAnimItem _animBqe[35];
byte *SPRITE_ECRAN;
byte *PERSO;
- bool NOT_VERIF;
ObjetWItem ObjetW[300];
int NUM_FICHIER_OBJ;
byte *ADR_FICHIER_OBJ;
diff --git a/engines/hopkins/lines.cpp b/engines/hopkins/lines.cpp
index 085e6b1856..8fa0f1febe 100644
--- a/engines/hopkins/lines.cpp
+++ b/engines/hopkins/lines.cpp
@@ -1091,24 +1091,24 @@ int LinesManager::GENIAL(int lineIdx, int dataIdx, int a3, int a4, int a5, int a
RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
int foundLineIdx;
int foundDataIdx;
- int v118 = 0;
- int v119 = 0;
+ int curLineY = 0;
+ int curLineX = 0;
int v126[9];
int v131[9];
- int v136[9];
- int v141[9];
+ int collLineDataIdxArr[9];
+ int collLineIdxArr[9];
int clipDestX = destX;
int clipDestY = destY;
- int v121 = 0;
- int v120 = 0;
- int v115 = 0;
- int v114 = 0;
+ int curLineIdx = 0;
+ int curLineDataIdx = 0;
+ int lineIdx = 0;
+ int lineDataIdx = 0;
Directions newDir = DIR_NONE;
int v111 = 0;
if (destY <= 24)
clipDestY = 25;
- if (!_vm->_globals.NOT_VERIF) {
+ if (!_vm->_globals._checkDistanceFl) {
if (abs(fromX - _vm->_globals._oldRouteFromX) <= 4 && abs(fromY - _vm->_globals._oldRouteFromY) <= 4 &&
abs(_vm->_globals._oldRouteDestX - destX) <= 4 && abs(_vm->_globals._oldRouteDestY - clipDestY) <= 4)
return (RouteItem *)g_PTRNUL;
@@ -1119,14 +1119,14 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
if (_vm->_globals._oldZoneNum > 0 && _vm->_objectsManager._zoneNum > 0 && _vm->_globals._oldZoneNum == _vm->_objectsManager._zoneNum)
return (RouteItem *)g_PTRNUL;
}
- _vm->_globals.NOT_VERIF = false;
+ _vm->_globals._checkDistanceFl = false;
_vm->_globals._oldZoneNum = _vm->_objectsManager._zoneNum;
_vm->_globals._oldRouteFromX = fromX;
_vm->_globals._oldRouteDestX = destX;
_vm->_globals._oldRouteFromY = fromY;
_vm->_globals._oldRouteDestY = clipDestY;
_pathFindingMaxDepth = 0;
- int v112 = 0;
+ int routeIdx = 0;
if (destX <= 19)
clipDestX = 20;
if (clipDestY <= 19)
@@ -1140,8 +1140,8 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
return (RouteItem *)g_PTRNUL;
for (int i = 0; i <= 8; ++i) {
- v141[i] = -1;
- v136[i] = 0;
+ collLineIdxArr[i] = -1;
+ collLineDataIdxArr[i] = 0;
v131[i] = 1300;
v126[i] = 1300;
}
@@ -1151,249 +1151,249 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
int v14 = 0;
for (int tmpY = clipDestY; tmpY < _vm->_graphicsManager._maxY; tmpY++, v14++) {
- if (checkCollisionLine(clipDestX, tmpY, &v136[5], &v141[5], 0, _lastLine) && v141[5] <= _lastLine)
+ if (checkCollisionLine(clipDestX, tmpY, &collLineDataIdxArr[5], &collLineIdxArr[5], 0, _lastLine) && collLineIdxArr[5] <= _lastLine)
break;
- v136[5] = 0;
- v141[5] = -1;
+ collLineDataIdxArr[5] = 0;
+ collLineIdxArr[5] = -1;
}
v131[5] = v14;
v14 = 0;
for (int tmpY = clipDestY; tmpY > _vm->_graphicsManager._minY; tmpY--, v14++) {
- if (checkCollisionLine(clipDestX, tmpY, &v136[1], &v141[1], 0, _lastLine) && v141[1] <= _lastLine)
+ if (checkCollisionLine(clipDestX, tmpY, &collLineDataIdxArr[1], &collLineIdxArr[1], 0, _lastLine) && collLineIdxArr[1] <= _lastLine)
break;
- v136[1] = 0;
- v141[1] = -1;
- if (v131[5] < v14 && v141[5] != -1)
+ collLineDataIdxArr[1] = 0;
+ collLineIdxArr[1] = -1;
+ if (v131[5] < v14 && collLineIdxArr[5] != -1)
break;
}
v131[1] = v14;
v14 = 0;
for (int tmpX = clipDestX; tmpX < _vm->_graphicsManager._maxX; tmpX++) {
- if (checkCollisionLine(tmpX, clipDestY, &v136[3], &v141[3], 0, _lastLine) && v141[3] <= _lastLine)
+ if (checkCollisionLine(tmpX, clipDestY, &collLineDataIdxArr[3], &collLineIdxArr[3], 0, _lastLine) && collLineIdxArr[3] <= _lastLine)
break;
- v136[3] = 0;
- v141[3] = -1;
+ collLineDataIdxArr[3] = 0;
+ collLineIdxArr[3] = -1;
++v14;
- if (v131[1] < v14 && v141[1] != -1)
+ if (v131[1] < v14 && collLineIdxArr[1] != -1)
break;
- if (v131[5] < v14 && v141[5] != -1)
+ if (v131[5] < v14 && collLineIdxArr[5] != -1)
break;
}
v131[3] = v14;
v14 = 0;
for (int tmpX = clipDestX; tmpX > _vm->_graphicsManager._minX; tmpX--) {
- if (checkCollisionLine(tmpX, clipDestY, &v136[7], &v141[7], 0, _lastLine) && v141[7] <= _lastLine)
+ if (checkCollisionLine(tmpX, clipDestY, &collLineDataIdxArr[7], &collLineIdxArr[7], 0, _lastLine) && collLineIdxArr[7] <= _lastLine)
break;
- v136[7] = 0;
- v141[7] = -1;
+ collLineDataIdxArr[7] = 0;
+ collLineIdxArr[7] = -1;
++v14;
- if (v131[1] < v14 && v141[1] != -1)
+ if (v131[1] < v14 && collLineIdxArr[1] != -1)
break;
- if (v131[5] < v14 && v141[5] != -1)
+ if (v131[5] < v14 && collLineIdxArr[5] != -1)
break;
- if (v131[3] < v14 && v141[3] != -1)
+ if (v131[3] < v14 && collLineIdxArr[3] != -1)
break;
}
v131[7] = v14;
- if (v141[1] < 0 || _lastLine < v141[1])
- v141[1] = -1;
- if (v141[3] < 0 || _lastLine < v141[3])
- v141[3] = -1;
- if (v141[5] < 0 || _lastLine < v141[5])
- v141[5] = -1;
- if (v141[7] < 0 || _lastLine < v141[7])
- v141[7] = -1;
- if (v141[1] < 0)
+ if (collLineIdxArr[1] < 0 || _lastLine < collLineIdxArr[1])
+ collLineIdxArr[1] = -1;
+ if (collLineIdxArr[3] < 0 || _lastLine < collLineIdxArr[3])
+ collLineIdxArr[3] = -1;
+ if (collLineIdxArr[5] < 0 || _lastLine < collLineIdxArr[5])
+ collLineIdxArr[5] = -1;
+ if (collLineIdxArr[7] < 0 || _lastLine < collLineIdxArr[7])
+ collLineIdxArr[7] = -1;
+ if (collLineIdxArr[1] < 0)
v131[1] = 1300;
- if (v141[3] < 0)
+ if (collLineIdxArr[3] < 0)
v131[3] = 1300;
- if (v141[5] < 0)
+ if (collLineIdxArr[5] < 0)
v131[5] = 1300;
- if (v141[7] < 0)
+ if (collLineIdxArr[7] < 0)
v131[7] = 1300;
- if (v141[1] == -1 && v141[3] == -1 && v141[5] == -1 && v141[7] == -1)
+ if (collLineIdxArr[1] == -1 && collLineIdxArr[3] == -1 && collLineIdxArr[5] == -1 && collLineIdxArr[7] == -1)
return (RouteItem *)g_PTRNUL;
- if (v141[5] != -1 && v131[1] >= v131[5] && v131[3] >= v131[5] && v131[7] >= v131[5]) {
- v121 = v141[5];
- v120 = v136[5];
- } else if (v141[1] != -1 && v131[5] >= v131[1] && v131[3] >= v131[1] && v131[7] >= v131[1]) {
- v121 = v141[1];
- v120 = v136[1];
- } else if (v141[3] != -1 && v131[1] >= v131[3] && v131[5] >= v131[3] && v131[7] >= v131[3]) {
- v121 = v141[3];
- v120 = v136[3];
- } else if (v141[7] != -1 && v131[5] >= v131[7] && v131[3] >= v131[7] && v131[1] >= v131[7]) {
- v121 = v141[7];
- v120 = v136[7];
+ if (collLineIdxArr[5] != -1 && v131[1] >= v131[5] && v131[3] >= v131[5] && v131[7] >= v131[5]) {
+ curLineIdx = collLineIdxArr[5];
+ curLineDataIdx = collLineDataIdxArr[5];
+ } else if (collLineIdxArr[1] != -1 && v131[5] >= v131[1] && v131[3] >= v131[1] && v131[7] >= v131[1]) {
+ curLineIdx = collLineIdxArr[1];
+ curLineDataIdx = collLineDataIdxArr[1];
+ } else if (collLineIdxArr[3] != -1 && v131[1] >= v131[3] && v131[5] >= v131[3] && v131[7] >= v131[3]) {
+ curLineIdx = collLineIdxArr[3];
+ curLineDataIdx = collLineDataIdxArr[3];
+ } else if (collLineIdxArr[7] != -1 && v131[5] >= v131[7] && v131[3] >= v131[7] && v131[1] >= v131[7]) {
+ curLineIdx = collLineIdxArr[7];
+ curLineDataIdx = collLineDataIdxArr[7];
}
for (int i = 0; i <= 8; ++i) {
- v141[i] = -1;
- v136[i] = 0;
+ collLineIdxArr[i] = -1;
+ collLineDataIdxArr[i] = 0;
v131[i] = 1300;
v126[i] = 1300;
}
v14 = 0;
for (int tmpY = fromY; tmpY < _vm->_graphicsManager._maxY; tmpY++, v14++) {
- if (checkCollisionLine(fromX, tmpY, &v136[5], &v141[5], 0, _lastLine) && v141[5] <= _lastLine)
+ if (checkCollisionLine(fromX, tmpY, &collLineDataIdxArr[5], &collLineIdxArr[5], 0, _lastLine) && collLineIdxArr[5] <= _lastLine)
break;
- v136[5] = 0;
- v141[5] = -1;
+ collLineDataIdxArr[5] = 0;
+ collLineIdxArr[5] = -1;
}
v131[5] = v14 + 1;
v14 = 0;
for (int tmpY = fromY; tmpY > _vm->_graphicsManager._minY; tmpY--) {
- if (checkCollisionLine(fromX, tmpY, &v136[1], &v141[1], 0, _lastLine) && v141[1] <= _lastLine)
+ if (checkCollisionLine(fromX, tmpY, &collLineDataIdxArr[1], &collLineIdxArr[1], 0, _lastLine) && collLineIdxArr[1] <= _lastLine)
break;
- v136[1] = 0;
- v141[1] = -1;
+ collLineDataIdxArr[1] = 0;
+ collLineIdxArr[1] = -1;
++v14;
- if (v141[5] != -1 && v14 > 80)
+ if (collLineIdxArr[5] != -1 && v14 > 80)
break;
}
v131[1] = v14 + 1;
v14 = 0;
for (int tmpX = fromX; tmpX < _vm->_graphicsManager._maxX; tmpX++) {
- if (checkCollisionLine(tmpX, fromY, &v136[3], &v141[3], 0, _lastLine) && v141[3] <= _lastLine)
+ if (checkCollisionLine(tmpX, fromY, &collLineDataIdxArr[3], &collLineIdxArr[3], 0, _lastLine) && collLineIdxArr[3] <= _lastLine)
break;
- v136[3] = 0;
- v141[3] = -1;
+ collLineDataIdxArr[3] = 0;
+ collLineIdxArr[3] = -1;
++v14;
- if ((v141[5] != -1 || v141[1] != -1) && (v14 > 100))
+ if ((collLineIdxArr[5] != -1 || collLineIdxArr[1] != -1) && (v14 > 100))
break;
}
v131[3] = v14 + 1;
v14 = 0;
for (int tmpX = fromX; tmpX > _vm->_graphicsManager._minX; tmpX--) {
- if (checkCollisionLine(tmpX, fromY, &v136[7], &v141[7], 0, _lastLine) && v141[7] <= _lastLine)
+ if (checkCollisionLine(tmpX, fromY, &collLineDataIdxArr[7], &collLineIdxArr[7], 0, _lastLine) && collLineIdxArr[7] <= _lastLine)
break;
- v136[7] = 0;
- v141[7] = -1;
+ collLineDataIdxArr[7] = 0;
+ collLineIdxArr[7] = -1;
++v14;
- if ((v141[5] != -1 || v141[1] != -1 || v141[3] != -1) && (v14 > 100))
+ if ((collLineIdxArr[5] != -1 || collLineIdxArr[1] != -1 || collLineIdxArr[3] != -1) && (v14 > 100))
break;
}
v131[7] = v14 + 1;
- if (v141[1] != -1)
- v126[1] = abs(v141[1] - v121);
+ if (collLineIdxArr[1] != -1)
+ v126[1] = abs(collLineIdxArr[1] - curLineIdx);
- if (v141[3] != -1)
- v126[3] = abs(v141[3] - v121);
+ if (collLineIdxArr[3] != -1)
+ v126[3] = abs(collLineIdxArr[3] - curLineIdx);
- if (v141[5] != -1)
- v126[5] = abs(v141[5] - v121);
+ if (collLineIdxArr[5] != -1)
+ v126[5] = abs(collLineIdxArr[5] - curLineIdx);
- if (v141[7] != -1)
- v126[7] = abs(v141[7] - v121);
+ if (collLineIdxArr[7] != -1)
+ v126[7] = abs(collLineIdxArr[7] - curLineIdx);
- if (v141[1] == -1 && v141[3] == -1 && v141[5] == -1 && v141[7] == -1)
+ if (collLineIdxArr[1] == -1 && collLineIdxArr[3] == -1 && collLineIdxArr[5] == -1 && collLineIdxArr[7] == -1)
error("Nearest point not found");
- if (v141[1] != -1 && v126[3] >= v126[1] && v126[5] >= v126[1] && v126[7] >= v126[1]) {
- v115 = v141[1];
+ if (collLineIdxArr[1] != -1 && v126[3] >= v126[1] && v126[5] >= v126[1] && v126[7] >= v126[1]) {
+ lineIdx = collLineIdxArr[1];
v111 = v131[1];
newDir = DIR_UP;
- v114 = v136[1];
- } else if (v141[5] != -1 && v126[3] >= v126[5] && v126[1] >= v126[5] && v126[7] >= v126[5]) {
- v115 = v141[5];
+ lineDataIdx = collLineDataIdxArr[1];
+ } else if (collLineIdxArr[5] != -1 && v126[3] >= v126[5] && v126[1] >= v126[5] && v126[7] >= v126[5]) {
+ lineIdx = collLineIdxArr[5];
v111 = v131[5];
newDir = DIR_DOWN;
- v114 = v136[5];
- } else if (v141[3] != -1 && v126[1] >= v126[3] && v126[5] >= v126[3] && v126[7] >= v126[3]) {
- v115 = v141[3];
+ lineDataIdx = collLineDataIdxArr[5];
+ } else if (collLineIdxArr[3] != -1 && v126[1] >= v126[3] && v126[5] >= v126[3] && v126[7] >= v126[3]) {
+ lineIdx = collLineIdxArr[3];
v111 = v131[3];
newDir = DIR_RIGHT;
- v114 = v136[3];
- } else if (v141[7] != -1 && v126[1] >= v126[7] && v126[5] >= v126[7] && v126[3] >= v126[7]) {
- v115 = v141[7];
+ lineDataIdx = collLineDataIdxArr[3];
+ } else if (collLineIdxArr[7] != -1 && v126[1] >= v126[7] && v126[5] >= v126[7] && v126[3] >= v126[7]) {
+ lineIdx = collLineIdxArr[7];
v111 = v131[7];
newDir = DIR_LEFT;
- v114 = v136[7];
+ lineDataIdx = collLineDataIdxArr[7];
}
- int v55 = characterRoute(fromX, fromY, clipDestX, clipDestY, v115, v121, 0);
+ int v55 = characterRoute(fromX, fromY, clipDestX, clipDestY, lineIdx, curLineIdx, 0);
if (v55 == 1)
return _bestRoute;
if (v55 == 2) {
- v115 = _newLineIdx;
- v114 = _newLineDataIdx;
- v112 = _newRouteIdx;
+ lineIdx = _newLineIdx;
+ lineDataIdx = _newLineDataIdx;
+ routeIdx = _newRouteIdx;
} else {
if (newDir == DIR_UP) {
for (int deltaY = 0; deltaY < v111; deltaY++) {
if (checkCollisionLine(fromX, fromY - deltaY, &foundDataIdx, &foundLineIdx, _lastLine + 1, _linesNumb) && _lastLine < foundLineIdx) {
- int v58 = GENIAL(foundLineIdx, foundDataIdx, fromX, fromY - deltaY, fromX, fromY - v111, v112, _bestRoute);
- if (v58 == -1) {
- _bestRoute[v112].invalidate();
+ int tmpRouteIdx = GENIAL(foundLineIdx, foundDataIdx, fromX, fromY - deltaY, fromX, fromY - v111, routeIdx, _bestRoute);
+ if (tmpRouteIdx == -1) {
+ _bestRoute[routeIdx].invalidate();
return &_bestRoute[0];
}
- v112 = v58;
+ routeIdx = tmpRouteIdx;
if (_newPosY != -1)
deltaY = fromY - _newPosY;
}
- _bestRoute[v112].set(fromX, fromY - deltaY, DIR_UP);
- v112++;
+ _bestRoute[routeIdx].set(fromX, fromY - deltaY, DIR_UP);
+ routeIdx++;
}
}
if (newDir == DIR_DOWN) {
for (int deltaY = 0; deltaY < v111; deltaY++) {
if (checkCollisionLine(fromX, deltaY + fromY, &foundDataIdx, &foundLineIdx, _lastLine + 1, _linesNumb)
&& _lastLine < foundLineIdx) {
- int v61 = GENIAL(foundLineIdx, foundDataIdx, fromX, deltaY + fromY, fromX, v111 + fromY, v112, &_bestRoute[0]);
- if (v61 == -1) {
- _bestRoute[v112].invalidate();
+ int tmpRouteIdx = GENIAL(foundLineIdx, foundDataIdx, fromX, deltaY + fromY, fromX, v111 + fromY, routeIdx, &_bestRoute[0]);
+ if (tmpRouteIdx == -1) {
+ _bestRoute[routeIdx].invalidate();
return &_bestRoute[0];
}
- v112 = v61;
+ routeIdx = tmpRouteIdx;
if (_newPosY != -1)
deltaY = _newPosY - fromY;
}
- _bestRoute[v112].set(fromX, fromY + deltaY, DIR_DOWN);
- v112++;
+ _bestRoute[routeIdx].set(fromX, fromY + deltaY, DIR_DOWN);
+ routeIdx++;
}
}
if (newDir == DIR_LEFT) {
for (int deltaX = 0; deltaX < v111; deltaX++) {
if (checkCollisionLine(fromX - deltaX, fromY, &foundDataIdx, &foundLineIdx, _lastLine + 1, _linesNumb) && _lastLine < foundLineIdx) {
- int v64 = GENIAL(foundLineIdx, foundDataIdx, fromX - deltaX, fromY, fromX - v111, fromY, v112, &_bestRoute[0]);
- if (v64 == -1) {
- _bestRoute[v112].invalidate();
+ int tmpRouteIdx = GENIAL(foundLineIdx, foundDataIdx, fromX - deltaX, fromY, fromX - v111, fromY, routeIdx, &_bestRoute[0]);
+ if (tmpRouteIdx == -1) {
+ _bestRoute[routeIdx].invalidate();
return &_bestRoute[0];
}
- v112 = v64;
+ routeIdx = tmpRouteIdx;
if (_newPosX != -1)
deltaX = fromX - _newPosX;
}
- _bestRoute[v112].set(fromX - deltaX, fromY, DIR_LEFT);
- v112++;
+ _bestRoute[routeIdx].set(fromX - deltaX, fromY, DIR_LEFT);
+ routeIdx++;
}
}
if (newDir == DIR_RIGHT) {
for (int deltaX = 0; deltaX < v111; deltaX++) {
if (checkCollisionLine(deltaX + fromX, fromY, &foundDataIdx, &foundLineIdx, _lastLine + 1, _linesNumb) && _lastLine < foundLineIdx) {
- int v67 = GENIAL(foundLineIdx, foundDataIdx, deltaX + fromX, fromY, v111 + fromX, fromY, v112, &_bestRoute[0]);
- if (v67 == -1) {
- _bestRoute[v112].invalidate();
+ int tmpRouteIdx = GENIAL(foundLineIdx, foundDataIdx, deltaX + fromX, fromY, v111 + fromX, fromY, routeIdx, &_bestRoute[0]);
+ if (tmpRouteIdx == -1) {
+ _bestRoute[routeIdx].invalidate();
return &_bestRoute[0];
}
- v112 = v67;
+ routeIdx = tmpRouteIdx;
if (_newPosX != -1)
deltaX = _newPosX - fromX;
}
- _bestRoute[v112].set(fromX + deltaX, fromY, DIR_RIGHT);
- v112++;
+ _bestRoute[routeIdx].set(fromX + deltaX, fromY, DIR_RIGHT);
+ routeIdx++;
}
}
}
@@ -1402,47 +1402,43 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
bool loopCond;
do {
loopCond = false;
- if (v115 < v121) {
- for (int i = v114; _lineItem[v115]._lineDataEndIdx > i; ++i) {
- v119 = _lineItem[v115]._lineData[2 * i];
- v118 = _lineItem[v115]._lineData[2 * i + 1];
- _bestRoute[v112].set(_lineItem[v115]._lineData[2 * i], _lineItem[v115]._lineData[2 * i + 1], _lineItem[v115]._directionRouteInc);
- v112++;
+ if (lineIdx < curLineIdx) {
+ for (int i = lineDataIdx; _lineItem[lineIdx]._lineDataEndIdx > i; ++i) {
+ curLineX = _lineItem[lineIdx]._lineData[2 * i];
+ curLineY = _lineItem[lineIdx]._lineData[2 * i + 1];
+ _bestRoute[routeIdx].set(_lineItem[lineIdx]._lineData[2 * i], _lineItem[lineIdx]._lineData[2 * i + 1], _lineItem[lineIdx]._directionRouteInc);
+ routeIdx++;
}
- for (int v116 = v115 + 1; v116 < v121; v116++) {
- int v72 = 0;
- int v110 = v116;
- for (int j = v116; _lineItem[j]._lineDataEndIdx > v72; j = v116) {
- v119 = _lineItem[v110]._lineData[2 * v72];
- v118 = _lineItem[v110]._lineData[2 * v72 + 1];
- _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 = characterRoute(_lineItem[v110]._lineData[2 * v72], _lineItem[v110]._lineData[2 * v72 + 1], clipDestX, clipDestY, v110, v121, v112);
+ for (int idx = lineIdx + 1; idx < curLineIdx; idx++) {
+ for (int dataIdx = 0; _lineItem[idx]._lineDataEndIdx > dataIdx; dataIdx++) {
+ curLineX = _lineItem[idx]._lineData[2 * dataIdx];
+ curLineY = _lineItem[idx]._lineData[2 * dataIdx + 1];
+ _bestRoute[routeIdx].set(_lineItem[idx]._lineData[2 * dataIdx], _lineItem[idx]._lineData[2 * dataIdx + 1], _lineItem[idx]._directionRouteInc);
+ routeIdx++;
+ if (_lineItem[idx]._lineDataEndIdx > 30 && dataIdx == _lineItem[idx]._lineDataEndIdx / 2) {
+ int v78 = characterRoute(_lineItem[idx]._lineData[2 * dataIdx], _lineItem[idx]._lineData[2 * dataIdx + 1], clipDestX, clipDestY, idx, curLineIdx, routeIdx);
if (v78 == 1)
return &_bestRoute[0];
- if (v78 == 2 || MIRACLE(v119, v118, v110, v121, v112)) {
- v115 = _newLineIdx;
- v114 = _newLineDataIdx;
- v112 = _newRouteIdx;
+ if (v78 == 2 || MIRACLE(curLineX, curLineY, idx, curLineIdx, routeIdx)) {
+ lineIdx = _newLineIdx;
+ lineDataIdx = _newLineDataIdx;
+ routeIdx = _newRouteIdx;
loopCond = true;
break;
}
}
- ++v72;
- v110 = v116;
}
if (loopCond)
break;
- int v79 = characterRoute(v119, v118, clipDestX, clipDestY, v116, v121, v112);
+ int v79 = characterRoute(curLineX, curLineY, clipDestX, clipDestY, idx, curLineIdx, routeIdx);
if (v79 == 1)
return &_bestRoute[0];
- if (v79 == 2 || MIRACLE(v119, v118, v116, v121, v112)) {
- v115 = _newLineIdx;
- v114 = _newLineDataIdx;
- v112 = _newRouteIdx;
+ if (v79 == 2 || MIRACLE(curLineX, curLineY, idx, curLineIdx, routeIdx)) {
+ lineIdx = _newLineIdx;
+ lineDataIdx = _newLineDataIdx;
+ routeIdx = _newRouteIdx;
loopCond = true;
break;
}
@@ -1450,31 +1446,31 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
if (loopCond)
continue;
- v114 = 0;
- v115 = v121;
+ lineDataIdx = 0;
+ lineIdx = curLineIdx;
}
- if (v115 > v121) {
- for (int dataIdx = v114; dataIdx > 0; dataIdx--) {
- v119 = _lineItem[v115]._lineData[2 * dataIdx];
- v118 = _lineItem[v115]._lineData[2 * dataIdx + 1];
+ if (lineIdx > curLineIdx) {
+ for (int dataIdx = lineDataIdx; dataIdx > 0; dataIdx--) {
+ curLineX = _lineItem[lineIdx]._lineData[2 * dataIdx];
+ curLineY = _lineItem[lineIdx]._lineData[2 * dataIdx + 1];
- _bestRoute[v112].set(_lineItem[v115]._lineData[2 * dataIdx], _lineItem[v115]._lineData[2 * dataIdx + 1], _lineItem[v115]._directionRouteDec);
- v112++;
+ _bestRoute[routeIdx].set(_lineItem[lineIdx]._lineData[2 * dataIdx], _lineItem[lineIdx]._lineData[2 * dataIdx + 1], _lineItem[lineIdx]._directionRouteDec);
+ routeIdx++;
}
- for (int v117 = v115 - 1; v117 > v121; v117--) {
+ for (int v117 = lineIdx - 1; v117 > curLineIdx; v117--) {
for (int dataIdx = _lineItem[v117]._lineDataEndIdx - 1; dataIdx > -1; dataIdx--) {
- v119 = _lineItem[v117]._lineData[2 * dataIdx];
- v118 = _lineItem[v117]._lineData[2 * dataIdx + 1];
- _bestRoute[v112].set(_lineItem[v117]._lineData[2 * dataIdx], _lineItem[v117]._lineData[2 * dataIdx + 1], _lineItem[v117]._directionRouteDec);
- v112++;
+ curLineX = _lineItem[v117]._lineData[2 * dataIdx];
+ curLineY = _lineItem[v117]._lineData[2 * dataIdx + 1];
+ _bestRoute[routeIdx].set(_lineItem[v117]._lineData[2 * dataIdx], _lineItem[v117]._lineData[2 * dataIdx + 1], _lineItem[v117]._directionRouteDec);
+ routeIdx++;
if (_lineItem[v117]._lineDataEndIdx > 30 && dataIdx == _lineItem[v117]._lineDataEndIdx / 2) {
- int v88 = characterRoute(v119, v118, clipDestX, clipDestY, v117, v121, v112);
+ int v88 = characterRoute(curLineX, curLineY, clipDestX, clipDestY, v117, curLineIdx, routeIdx);
if (v88 == 1)
return &_bestRoute[0];
- if (v88 == 2 || MIRACLE(v119, v118, v117, v121, v112)) {
- v115 = _newLineIdx;
- v114 = _newLineDataIdx;
- v112 = _newRouteIdx;
+ if (v88 == 2 || MIRACLE(curLineX, curLineY, v117, curLineIdx, routeIdx)) {
+ lineIdx = _newLineIdx;
+ lineDataIdx = _newLineDataIdx;
+ routeIdx = _newRouteIdx;
loopCond = true;
break;
}
@@ -1484,34 +1480,34 @@ RouteItem *LinesManager::PARCOURS2(int fromX, int fromY, int destX, int destY) {
if (loopCond)
break;
- int v89 = characterRoute(v119, v118, clipDestX, clipDestY, v117, v121, v112);
+ int v89 = characterRoute(curLineX, curLineY, clipDestX, clipDestY, v117, curLineIdx, routeIdx);
if (v89 == 1)
return &_bestRoute[0];
- if (v89 == 2 || MIRACLE(v119, v118, v117, v121, v112)) {
- v115 = _newLineIdx;
- v114 = _newLineDataIdx;
- v112 = _newRouteIdx;
+ if (v89 == 2 || MIRACLE(curLineX, curLineY, v117, curLineIdx, routeIdx)) {
+ lineIdx = _newLineIdx;
+ lineDataIdx = _newLineDataIdx;
+ routeIdx = _newRouteIdx;
loopCond = true;
break;
}
}
if (!loopCond) {
- v114 = _lineItem[v121]._lineDataEndIdx - 1;
- v115 = v121;
+ lineDataIdx = _lineItem[curLineIdx]._lineDataEndIdx - 1;
+ lineIdx = curLineIdx;
}
}
} while (loopCond);
- if (v115 == v121) {
- if (v114 <= v120) {
- v112 = _lineItem[v121].appendToRouteInc(v114, v120, _bestRoute, v112);
+ if (lineIdx == curLineIdx) {
+ if (lineDataIdx <= curLineDataIdx) {
+ routeIdx = _lineItem[curLineIdx].appendToRouteInc(lineDataIdx, curLineDataIdx, _bestRoute, routeIdx);
} else {
- v112 = _lineItem[v121].appendToRouteDec(v114, v120, _bestRoute, v112);
+ routeIdx = _lineItem[curLineIdx].appendToRouteDec(lineDataIdx, curLineDataIdx, _bestRoute, routeIdx);
}
}
- if (characterRoute(_bestRoute[v112 - 1]._x, _bestRoute[v112 - 1]._y, clipDestX, clipDestY, -1, -1, v112) != 1) {
- _bestRoute[v112].invalidate();
+ if (characterRoute(_bestRoute[routeIdx - 1]._x, _bestRoute[routeIdx - 1]._y, clipDestX, clipDestY, -1, -1, routeIdx) != 1) {
+ _bestRoute[routeIdx].invalidate();
}
return &_bestRoute[0];
@@ -2589,7 +2585,7 @@ void LinesManager::PACOURS_PROPRE(RouteItem *route) {
}
}
-int LinesManager::MZONE() {
+int LinesManager::getMouseZone() {
int result;
int xp = _vm->_eventsManager._mousePos.x + _vm->_eventsManager._mouseOffset.x;
@@ -2907,7 +2903,7 @@ void LinesManager::checkZone() {
_vm->_globals.compteur_71 = 0;
int zoneId;
if (_vm->_globals._oldMouseX != mouseX || _vm->_globals._oldMouseY != oldMouseY) {
- zoneId = MZONE();
+ zoneId = getMouseZone();
} else {
zoneId = _vm->_globals._oldMouseZoneId;
}
diff --git a/engines/hopkins/lines.h b/engines/hopkins/lines.h
index a42089a98b..3d07aea91c 100644
--- a/engines/hopkins/lines.h
+++ b/engines/hopkins/lines.h
@@ -171,8 +171,8 @@ public:
void enableZone(int idx);
void disableZone(int idx);
void checkZone();
+ int getMouseZone();
- int MZONE();
void CARRE_ZONE();
RouteItem *PARCOURS2(int fromX, int fromY, int destX, int destY);
void PACOURS_PROPRE(RouteItem *route);
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp
index e4ca428cd9..41b176c713 100644
--- a/engines/hopkins/objects.cpp
+++ b/engines/hopkins/objects.cpp
@@ -1744,7 +1744,7 @@ void ObjectsManager::handleCityMap() {
_vm->_globals._freezeCharacterFl = false;
_spritePtr = g_PTRNUL;
_vm->_globals._exitId = 0;
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_soundManager.playSound(31);
_vm->_globals.iRegul = 1;
_vm->_graphicsManager.loadImage("PLAN");
@@ -2108,7 +2108,7 @@ void ObjectsManager::changeCharacterHead(PlayerCharacter oldCharacter, PlayerCha
_changeHeadFl = true;
_vm->_graphicsManager.copySurface(_vm->_graphicsManager._vesaScreen, 532, 25, 65, 40, _vm->_graphicsManager._vesaBuffer, 532, 25);
_vm->_graphicsManager.addVesaSegment(532, 25, 597, 65);
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
if (oldCharacter == CHARACTER_SAMANTHA && newCharacter == CHARACTER_HOPKINS
@@ -3722,13 +3722,13 @@ void ObjectsManager::PERSONAGE(const Common::String &backgroundFile, const Commo
if (_vm->_globals._screenId == 61) {
_vm->_animationManager.playSequence("OUVRE.SEQ", 10, 4, 10);
stopBobAnimation(3);
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_oldCharacterPosX = getSpriteX(0);
_vm->_globals._oldDirection = DIR_NONE;
_vm->_globals.Compteur = 0;
_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(getSpriteX(0), getSpriteY(0), 330, 345);
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
do {
GOHOME();
_vm->_eventsManager.VBL();
@@ -3778,7 +3778,7 @@ void ObjectsManager::PERSONAGE2(const Common::String &backgroundFile, const Comm
_vm->_graphicsManager._noFadingFl = false;
_vm->_globals._freezeCharacterFl = false;
_vm->_globals._exitId = 0;
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_soundManager.playSound(soundNum);
_vm->_globals.iRegul = 1;
if (!backgroundFile.empty())
diff --git a/engines/hopkins/script.cpp b/engines/hopkins/script.cpp
index 5a1c302a2e..4d6d5d22c7 100644
--- a/engines/hopkins/script.cpp
+++ b/engines/hopkins/script.cpp
@@ -744,7 +744,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
break;
case 46: {
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 564, 420);
_vm->_objectsManager._zoneNum = -1;
@@ -756,7 +756,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_eventsManager.VBL();
} while (_vm->_linesManager._route != (RouteItem *)g_PTRNUL);
_vm->_objectsManager.removeSprite(0);
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_soundManager.loadSample(1, "SOUND44.WAV");
_vm->_soundManager.loadSample(2, "SOUND45.WAV");
_vm->_objectsManager.OPTI_BOBON(9, 10, -1, 0, 0, 0);
@@ -953,13 +953,13 @@ int ScriptManager::handleOpcode(byte *dataP) {
break;
case 59: {
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_objectsManager._oldCharacterPosX = _vm->_objectsManager.getSpriteX(0);
_vm->_globals._oldDirection = DIR_NONE;
_vm->_globals.Compteur = 0;
_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 445, 332);
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
do {
if (_vm->shouldQuit())
return -1; // Exiting game
@@ -1053,13 +1053,13 @@ int ScriptManager::handleOpcode(byte *dataP) {
}
case 81: {
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_objectsManager._oldCharacterPosX = _vm->_objectsManager.getSpriteX(0);
_vm->_globals._oldDirection = DIR_NONE;
_vm->_globals.Compteur = 0;
_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 119, 268);
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
do {
if (_vm->shouldQuit())
return -1; // Exiting game
@@ -1370,7 +1370,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
break;
case 105:
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_objectsManager._oldCharacterPosX = _vm->_objectsManager.getSpriteX(0);
_vm->_globals._oldDirection = DIR_NONE;
_vm->_globals.Compteur = 0;
@@ -1384,7 +1384,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
if (_vm->_globals._saveData->_data[svField253] > 2) {
_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 211, 393);
}
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
do {
if (_vm->shouldQuit())
return -1; // Exiting game
@@ -1617,14 +1617,14 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_globals._introSpeechOffFl = true;
_vm->_talkManager.startAnimatedCharacterDialogue("gred1.pe2");
_vm->_globals._introSpeechOffFl = false;
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_objectsManager._oldCharacterPosX = _vm->_objectsManager.getSpriteX(0);
_vm->_globals._oldDirection = DIR_NONE;
_vm->_globals.Compteur = 0;
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 361, 325);
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_objectsManager._zoneNum = -1;
do {
if (_vm->shouldQuit())
@@ -1645,14 +1645,14 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_globals._introSpeechOffFl = true;
_vm->_talkManager.startAnimatedCharacterDialogue("gbleu1.pe2");
_vm->_globals._introSpeechOffFl = false;
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_objectsManager._oldCharacterPosX = _vm->_objectsManager.getSpriteX(0);
_vm->_globals._oldDirection = DIR_NONE;
_vm->_globals.Compteur = 0;
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 361, 325);
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_objectsManager._zoneNum = -1;
do {
if (_vm->shouldQuit())
@@ -1822,10 +1822,10 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_animationManager.playSequence("SORT.SEQ", 10, 4, 10, true);
_vm->_soundManager._specialSoundNum = 0;
}
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 330, 418);
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_objectsManager._zoneNum = 0;
do {
if (_vm->shouldQuit())
@@ -1854,10 +1854,10 @@ int ScriptManager::handleOpcode(byte *dataP) {
} while (_vm->_objectsManager.getBobAnimDataIdx(1) != 9);
_vm->_objectsManager.stopBobAnimation(1);
_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 330, 314);
_vm->_objectsManager._zoneNum = 0;
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
do {
if (_vm->shouldQuit())
return -1; // Exiting game
@@ -1947,14 +1947,14 @@ int ScriptManager::handleOpcode(byte *dataP) {
_vm->_objectsManager.loadLinkFile("IM93a");
_vm->_objectsManager.OBSSEUL = false;
_vm->_globals.CACHE_ON();
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_objectsManager._oldCharacterPosX = _vm->_objectsManager.getSpriteX(0);
_vm->_globals._oldDirection = DIR_NONE;
_vm->_globals.Compteur = 0;
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 488, 280);
- _vm->_globals.NOT_VERIF = true;
+ _vm->_globals._checkDistanceFl = true;
do {
if (_vm->shouldQuit())
return -1; // Exiting game