[Scummvm-cvs-logs] scummvm master -> 128fd022ab3131ff3848f6be3fe15807d77c97f7

Strangerke Strangerke at scummvm.org
Mon Mar 18 08:00:34 CET 2013


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
128fd022ab HOPKINS: More renaming, fix a memory leak


Commit: 128fd022ab3131ff3848f6be3fe15807d77c97f7
    https://github.com/scummvm/scummvm/commit/128fd022ab3131ff3848f6be3fe15807d77c97f7
Author: Strangerke (strangerke at scummvm.org)
Date: 2013-03-17T23:59:26-07:00

Commit Message:
HOPKINS: More renaming, fix a memory leak

Changed paths:
    engines/hopkins/hopkins.cpp
    engines/hopkins/lines.cpp



diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp
index 64a6c05..ac7a770 100644
--- a/engines/hopkins/hopkins.cpp
+++ b/engines/hopkins/hopkins.cpp
@@ -1742,9 +1742,9 @@ void HopkinsEngine::playIntro() {
 
 		Common::copy(&paletteData2[0], &paletteData2[PALETTE_BLOCK_SIZE], &_graphicsManager._palette[0]);
 
-		for (int i = 1, v12 = 4 * introIndex; i <= PALETTE_BLOCK_SIZE; i++) {
-			if (_graphicsManager._palette[i] > v12)
-				_graphicsManager._palette[i] -= v12;
+		for (int i = 1, maxPalVal = 4 * introIndex; i <= PALETTE_BLOCK_SIZE; i++) {
+			if (_graphicsManager._palette[i] > maxPalVal)
+				_graphicsManager._palette[i] -= maxPalVal;
 		}
 
 		_graphicsManager.setPaletteVGA256WithRefresh(_graphicsManager._palette, _graphicsManager._vesaBuffer);
diff --git a/engines/hopkins/lines.cpp b/engines/hopkins/lines.cpp
index 050fddc..42de5b7 100644
--- a/engines/hopkins/lines.cpp
+++ b/engines/hopkins/lines.cpp
@@ -95,6 +95,9 @@ LinesManager::LinesManager() {
 
 LinesManager::~LinesManager() {
 	_vm->_globals.freeMemory(_largeBuf);
+	_vm->_globals.freeMemory((byte *) _testRoute0);
+	_vm->_globals.freeMemory((byte *) _testRoute1);
+	_vm->_globals.freeMemory((byte *) _testRoute2);
 }
 
 void LinesManager::setParent(HopkinsEngine *vm) {
@@ -761,7 +764,6 @@ bool LinesManager::MIRACLE(int fromX, int fromY, int lineIdx, int destLineIdx, i
 
 int LinesManager::GENIAL(int lineIdx, int dataIdx, int fromX, int fromY, int destX, int destY, int routerIdx, RouteItem *route) {
 	int result = routerIdx;
-	int v80 = -1;
 	++_pathFindingMaxDepth;
 	if (_pathFindingMaxDepth > 10) {
 		warning("PathFinding - Max depth reached");
@@ -775,17 +777,17 @@ int LinesManager::GENIAL(int lineIdx, int dataIdx, int fromX, int fromY, int des
 	int curLineDataEndIdx;
 	bool loopCond = false;
 	for (;;) {
-		int v86 = startLineIdx - 1;
-		int v11 = 2 * _lineItem[startLineIdx - 1]._lineDataEndIdx;
+		int curLineIdx = startLineIdx - 1;
+		int endLineIdx = 2 * _lineItem[startLineIdx - 1]._lineDataEndIdx;
 
 		int16 *lineData = _lineItem[startLineIdx - 1]._lineData;
 		if (lineData == (int16 *)g_PTRNUL)
 			break;
-		while (lineData[v11 - 2] != lineX || lineY != lineData[v11 - 1]) {
-			--v86;
-			if (_lastLine - 1 != v86) {
-				v11 = 2 * _lineItem[v86]._lineDataEndIdx;
-				lineData = _lineItem[v86]._lineData;
+		while (lineData[endLineIdx - 2] != lineX || lineY != lineData[endLineIdx - 1]) {
+			--curLineIdx;
+			if (_lastLine - 1 != curLineIdx) {
+				endLineIdx = 2 * _lineItem[curLineIdx]._lineDataEndIdx;
+				lineData = _lineItem[curLineIdx]._lineData;
 				if (lineData != (int16 *)g_PTRNUL)
 					continue;
 			}
@@ -795,7 +797,7 @@ int LinesManager::GENIAL(int lineIdx, int dataIdx, int fromX, int fromY, int des
 		if (loopCond)
 			break;
 
-		startLineIdx = v86;
+		startLineIdx = curLineIdx;
 		lineX = lineData[0];
 		lineY = lineData[1];
 	}
@@ -861,13 +863,14 @@ int LinesManager::GENIAL(int lineIdx, int dataIdx, int fromX, int fromY, int des
 		bugLigIdx += 2;
 	}
 	bugLigIdx -= 2;
-	int v77 = 0;
+	int destDataIdx = 0;
+	int destLineIdx = -1;
 	int bufX = 0;
 	int bufY = 0;
-	for (int v89 = maxDist + 1; v89 > 0; v89--) {
+	for (int i = maxDist + 1; i > 0; i--) {
 		if (checkCollisionLine(_lineBuf[bugLigIdx], _lineBuf[bugLigIdx + 1], &foundDataIdx, &foundLineIdx, startLineIdx, endLineIdx) && _lastLine < foundLineIdx) {
-			v80 = foundLineIdx;
-			v77 = foundDataIdx;
+			destLineIdx = foundLineIdx;
+			destDataIdx = foundDataIdx;
 			bufX = _lineBuf[bugLigIdx];
 			bufY = _lineBuf[bugLigIdx + 1];
 			break;
@@ -965,55 +968,55 @@ int LinesManager::GENIAL(int lineIdx, int dataIdx, int fromX, int fromY, int des
 	if (bufX < fromX - 1 || bufX > fromX + 1 || bufY < fromY - 1 || bufY > fromY + 1) {
 		_newPosX = bufX;
 		_newPosY = bufY;
-		if (lineIdx < v80) {
-			int v43 = 0;
-			int v42 = lineIdx;
+		if (lineIdx < destLineIdx) {
+			int stepCount = 0;
+			int curLineIdx = lineIdx;
 			do {
-				if (v42 == startLineIdx - 1)
-					v42 = endLineIdx;
-				++v43;
-				--v42;
-				if (v42 == startLineIdx - 1)
-					v42 = endLineIdx;
-			} while (v80 != v42);
-			if (abs(v80 - lineIdx) == v43) {
+				if (curLineIdx == startLineIdx - 1)
+					curLineIdx = endLineIdx;
+				++stepCount;
+				--curLineIdx;
+				if (curLineIdx == startLineIdx - 1)
+					curLineIdx = endLineIdx;
+			} while (destLineIdx != curLineIdx);
+			if (abs(destLineIdx - lineIdx) == stepCount) {
 				if (dataIdx >  abs(_lineItem[lineIdx]._lineDataEndIdx / 2)) {
-					result = CONTOURNE(lineIdx, dataIdx, routerIdx, v80, v77, route);
+					result = CONTOURNE(lineIdx, dataIdx, routerIdx, destLineIdx, destDataIdx, route);
 				} else {
-					result = CONTOURNE1(lineIdx, dataIdx, routerIdx, v80, v77, route, startLineIdx, endLineIdx);
+					result = CONTOURNE1(lineIdx, dataIdx, routerIdx, destLineIdx, destDataIdx, route, startLineIdx, endLineIdx);
 				}
 			}
-			if (abs(v80 - lineIdx) < v43)
-				result = CONTOURNE(lineIdx, dataIdx, result, v80, v77, route);
-			if (v43 < abs(v80 - lineIdx))
-				result = CONTOURNE1(lineIdx, dataIdx, result, v80, v77, route, startLineIdx, endLineIdx);
-		}
-		if (lineIdx > v80) {
-			int v45 = abs(lineIdx - v80);
-			int v47 = lineIdx;
-			int v48 = 0;
+			if (abs(destLineIdx - lineIdx) < stepCount)
+				result = CONTOURNE(lineIdx, dataIdx, result, destLineIdx, destDataIdx, route);
+			if (stepCount < abs(destLineIdx - lineIdx))
+				result = CONTOURNE1(lineIdx, dataIdx, result, destLineIdx, destDataIdx, route, startLineIdx, endLineIdx);
+		}
+		if (lineIdx > destLineIdx) {
+			int destStepCount = abs(lineIdx - destLineIdx);
+			int curLineIdx = lineIdx;
+			int curStepCount = 0;
 			do {
-				if (v47 == endLineIdx + 1)
-					v47 = startLineIdx;
-				++v48;
-				++v47;
-				if (v47 == endLineIdx + 1)
-					v47 = startLineIdx;
-			} while (v80 != v47);
-			if (v45 == v48) {
+				if (curLineIdx == endLineIdx + 1)
+					curLineIdx = startLineIdx;
+				++curStepCount;
+				++curLineIdx;
+				if (curLineIdx == endLineIdx + 1)
+					curLineIdx = startLineIdx;
+			} while (destLineIdx != curLineIdx);
+			if (destStepCount == curStepCount) {
 				if (dataIdx > abs(_lineItem[lineIdx]._lineDataEndIdx / 2)) {
-					result = CONTOURNE1(lineIdx, dataIdx, result, v80, v77, route, startLineIdx, endLineIdx);
+					result = CONTOURNE1(lineIdx, dataIdx, result, destLineIdx, destDataIdx, route, startLineIdx, endLineIdx);
 				} else {
-					result = CONTOURNE(lineIdx, dataIdx, result, v80, v77, route);
+					result = CONTOURNE(lineIdx, dataIdx, result, destLineIdx, destDataIdx, route);
 				}
 			}
-			if (v45 < v48)
-				result = CONTOURNE(lineIdx, dataIdx, result, v80, v77, route);
-			if (v48 < v45)
-				result = CONTOURNE1(lineIdx, dataIdx, result, v80, v77, route, startLineIdx, endLineIdx);
+			if (destStepCount < curStepCount)
+				result = CONTOURNE(lineIdx, dataIdx, result, destLineIdx, destDataIdx, route);
+			if (curStepCount < destStepCount)
+				result = CONTOURNE1(lineIdx, dataIdx, result, destLineIdx, destDataIdx, route, startLineIdx, endLineIdx);
 		}
-		if (lineIdx == v80)
-			result = CONTOURNE(lineIdx, dataIdx, result, lineIdx, v77, route);
+		if (lineIdx == destLineIdx)
+			result = CONTOURNE(lineIdx, dataIdx, result, lineIdx, destDataIdx, route);
 		for(;;) {
 			if (!checkCollisionLine(_newPosX, _newPosY, &foundDataIdx, &foundLineIdx, _lastLine + 1, _linesNumb))
 				break;
@@ -1952,7 +1955,7 @@ int LinesManager::characterRoute(int fromX, int fromY, int destX, int destY, int
 				_newRouteIdx = curRouteIdx;
 				return 2;
 			}
-			// CHECKME: Checking essai0[0]._X might make more sense here?
+			// CHECKME: Checking essai0[0]._x might make more sense here?
 			if (_testRoute1[0]._x != -1 && foundLineIdx > collLineIdxRoute0 && collLineIdxRoute1 >= collLineIdxRoute0 && collLineIdxRoute2 >= collLineIdxRoute0 && endLineIdx <= collLineIdxRoute0) {
 				_newLineIdx = collLineIdxRoute0;
 				_newLineDataIdx = collDataIdxRoute0;
@@ -2491,7 +2494,7 @@ void LinesManager::PACOURS_PROPRE(RouteItem *route) {
 		if (oldDir != DIR_NONE && curDir != oldDir) {
 			int oldRouteIdx = routeIdx;
 			int routeCount = 0;
-			int v10 = CALC_PROPRE(route0Y);
+			int routeNum = CALC_PROPRE(route0Y);
 			int curRouteX = route[routeIdx]._x;
 			int curRouteY = route[routeIdx]._y;
 			while (curRouteX != -1 || curRouteY != -1) {
@@ -2503,7 +2506,7 @@ void LinesManager::PACOURS_PROPRE(RouteItem *route) {
 				curRouteX = route[routeIdx]._x;
 				curRouteY = route[routeIdx]._y;
 			}
-			if (routeCount < v10) {
+			if (routeCount < routeNum) {
 				int idx = oldRouteIdx;
 				for (int i = 0; i < routeCount; i++) {
 					route[idx]._dir = oldDir;
@@ -2737,19 +2740,18 @@ void LinesManager::clearAll() {
 	for (int idx = 0; idx < 100; ++idx)
 		_squareZone[idx]._enabledFl = false;
 
-	// FIXME: Delete these somewhere
-	_vm->_linesManager._testRoute0 = new RouteItem[8334];
-	_vm->_linesManager._testRoute1 = new RouteItem[8334];
-	_vm->_linesManager._testRoute2 = new RouteItem[8334];
-	if (!_vm->_linesManager._testRoute0)
-		_vm->_linesManager._testRoute0 = (RouteItem*)g_PTRNUL;
-	if (!_vm->_linesManager._testRoute1)
-		_vm->_linesManager._testRoute1 = (RouteItem*)g_PTRNUL;
-	if (!_vm->_linesManager._testRoute2)
-		_vm->_linesManager._testRoute2 = (RouteItem*)g_PTRNUL;
+	_testRoute0 = new RouteItem[8334];
+	_testRoute1 = new RouteItem[8334];
+	_testRoute2 = new RouteItem[8334];
+	if (!_testRoute0)
+		_testRoute0 = (RouteItem*)g_PTRNUL;
+	if (!_testRoute1)
+		_testRoute1 = (RouteItem*)g_PTRNUL;
+	if (!_testRoute2)
+		_testRoute2 = (RouteItem*)g_PTRNUL;
 	
 	_largeBuf = _vm->_globals.allocMemory(10000);
-	_vm->_linesManager._lineBuf = (int16 *)(_largeBuf);
+	_lineBuf = (int16 *)(_largeBuf);
 }
 
 /**






More information about the Scummvm-git-logs mailing list