[Scummvm-cvs-logs] scummvm master -> 56ae0044750a6f4bbe936ba304e9f726fba70dad

Strangerke Strangerke at scummvm.org
Wed Mar 20 07:48:41 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:
56ae004475 HOPKINS: Remove setParent() from LinesManager


Commit: 56ae0044750a6f4bbe936ba304e9f726fba70dad
    https://github.com/scummvm/scummvm/commit/56ae0044750a6f4bbe936ba304e9f726fba70dad
Author: Strangerke (strangerke at scummvm.org)
Date: 2013-03-19T23:47:39-07:00

Commit Message:
HOPKINS: Remove setParent() from LinesManager

Changed paths:
    engines/hopkins/dialogs.cpp
    engines/hopkins/globals.cpp
    engines/hopkins/hopkins.cpp
    engines/hopkins/hopkins.h
    engines/hopkins/lines.cpp
    engines/hopkins/lines.h
    engines/hopkins/objects.cpp
    engines/hopkins/script.cpp
    engines/hopkins/talk.cpp



diff --git a/engines/hopkins/dialogs.cpp b/engines/hopkins/dialogs.cpp
index cc064dc..d189736 100644
--- a/engines/hopkins/dialogs.cpp
+++ b/engines/hopkins/dialogs.cpp
@@ -394,7 +394,7 @@ void DialogsManager::showInventory() {
 			int mousePosY = _vm->_eventsManager->getMouseY();
 			int mouseButton = _vm->_eventsManager->getMouseButton();
 			int oldInventoryItem = newInventoryItem;
-			newInventoryItem = _vm->_linesManager.checkInventoryHotspots(mousePosX, mousePosY);
+			newInventoryItem = _vm->_linesManager->checkInventoryHotspots(mousePosX, mousePosY);
 			if (newInventoryItem != oldInventoryItem)
 				_vm->_objectsManager.initBorder(newInventoryItem);
 			if (_vm->_eventsManager->_mouseCursorId != 1 && _vm->_eventsManager->_mouseCursorId != 2 && _vm->_eventsManager->_mouseCursorId != 3 && _vm->_eventsManager->_mouseCursorId != 16) {
diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp
index fb0dbf3..3d82081 100644
--- a/engines/hopkins/globals.cpp
+++ b/engines/hopkins/globals.cpp
@@ -246,7 +246,7 @@ void Globals::clearAll() {
 	_saveData = (Savegame *)g_PTRNUL;
 	_vm->_objectsManager._curObjectIndex = 0;
 
-	_vm->_linesManager.clearAll();
+	_vm->_linesManager->clearAll();
 	_vm->_objectsManager.clearAll();
 
 	_saveData = (Savegame *)malloc(sizeof(Savegame));
diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp
index a0eb41c..b86ac10 100644
--- a/engines/hopkins/hopkins.cpp
+++ b/engines/hopkins/hopkins.cpp
@@ -49,8 +49,8 @@ HopkinsEngine::HopkinsEngine(OSystem *syst, const HopkinsGameDescription *gameDe
 	_fontManager = new FontManager(this);
 	_globals = new Globals(this);
 	_graphicsManager = new GraphicsManager(this);
+	_linesManager = new LinesManager(this);
 
-	_linesManager.setParent(this);
 	_menuManager.setParent(this);
 	_objectsManager.setParent(this);
 	_saveLoadManager.setParent(this);
@@ -60,6 +60,7 @@ HopkinsEngine::HopkinsEngine(OSystem *syst, const HopkinsGameDescription *gameDe
 }
 
 HopkinsEngine::~HopkinsEngine() {
+	delete _linesManager;
 	delete _graphicsManager;
 	delete _globals;
 	delete _fontManager;
@@ -187,7 +188,7 @@ bool HopkinsEngine::runWin95Demo() {
 
 		switch (_globals->_exitId) {
 		case 1:
-			_linesManager.setMaxLineIdx(40);
+			_linesManager->setMaxLineIdx(40);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 2, true);
 			break;
@@ -226,7 +227,7 @@ bool HopkinsEngine::runWin95Demo() {
 				_graphicsManager->fadeOutLong();
 				_globals->_saveData->_data[svBankAttackAnimPlayedFl] = 1;
 			}
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 450;
 			_objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2, false);
 			break;
@@ -238,7 +239,7 @@ bool HopkinsEngine::runWin95Demo() {
 			break;
 
 		case 5:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 455;
 
 			if (_globals->_saveData->_data[svFreedHostageFl]) {
@@ -250,7 +251,7 @@ bool HopkinsEngine::runWin95Demo() {
 			break;
 
 		case 6:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 460;
 			_objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2, true);
 			break;
@@ -263,14 +264,14 @@ bool HopkinsEngine::runWin95Demo() {
 			break;
 
 		case 8:
-			_linesManager.setMaxLineIdx(15);
+			_linesManager->setMaxLineIdx(15);
 			_globals->_characterMaxPosY = 450;
 			_objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2, true);
 			break;
 
 		case 9:
 			_globals->_characterMaxPosY = 440;
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			if (_globals->_saveData->_data[svBombDisarmedFl])
 			  _objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10, true);
 			else
@@ -282,14 +283,14 @@ bool HopkinsEngine::runWin95Demo() {
 			break;
 
 		case 11:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 450;
 			_objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2, false);
 			break;
 
 		case 12:
 			_globals->_characterMaxPosY = 450;
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			if (_globals->_saveData->_data[svBombDisarmedFl]) {
 				if (_globals->_language == LANG_FR)
 					_graphicsManager->loadImage("ENDFR");
@@ -492,7 +493,7 @@ bool HopkinsEngine::runLinuxDemo() {
 			break;
 
 		case 1:
-			_linesManager.setMaxLineIdx(40);
+			_linesManager->setMaxLineIdx(40);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 1, true);
 			break;
@@ -534,7 +535,7 @@ bool HopkinsEngine::runLinuxDemo() {
 				_globals->_saveData->_data[svBankAttackAnimPlayedFl] = 1;
 			}
 
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 450;
 			_objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2, false);
 			break;
@@ -546,7 +547,7 @@ bool HopkinsEngine::runLinuxDemo() {
 			break;
 
 		case 5:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 455;
 			if (_globals->_saveData->_data[svFreedHostageFl] == 1)
 					_objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3, false);
@@ -555,7 +556,7 @@ bool HopkinsEngine::runLinuxDemo() {
 			break;
 
 		case 6:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 460;
 			_objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2, true);
 			break;
@@ -568,13 +569,13 @@ bool HopkinsEngine::runLinuxDemo() {
 			break;
 
 		case 8:
-			_linesManager.setMaxLineIdx(15);
+			_linesManager->setMaxLineIdx(15);
 			_globals->_characterMaxPosY = 450;
 			_objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2, true);
 			break;
 
 		case 9:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 440;
 
 			if (!_globals->_saveData->_data[svBombDisarmedFl])
@@ -588,13 +589,13 @@ bool HopkinsEngine::runLinuxDemo() {
 			break;
 
 		case 11:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 450;
 			_objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2, false);
 			break;
 
 		case 12:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 450;
 			if (_globals->_saveData->_data[svBombDisarmedFl])
 				_objectsManager.PERSONAGE2("IM12", "IM12", "ANIM12", "IM12", 1, false);
@@ -603,13 +604,13 @@ bool HopkinsEngine::runLinuxDemo() {
 			break;
 
 		case 13:
-			_linesManager.setMaxLineIdx(40);
+			_linesManager->setMaxLineIdx(40);
 			_globals->_characterMaxPosY = 440;
 			_objectsManager.PERSONAGE2("IM13", "IM13", "ANIM13", "IM13", 1, true);
 			break;
 
 		case 14:
-			_linesManager.setMaxLineIdx(40);
+			_linesManager->setMaxLineIdx(40);
 			_globals->_characterMaxPosY = 440;
 			_objectsManager.PERSONAGE2("IM14", "IM14", "ANIM14", "IM14", 1, true);
 			break;
@@ -619,7 +620,7 @@ bool HopkinsEngine::runLinuxDemo() {
 			break;
 
 		case 16:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 450;
 
 			if (_globals->_saveData->_data[svForestAvailableFl] == 1) {
@@ -630,13 +631,13 @@ bool HopkinsEngine::runLinuxDemo() {
 			break;
 
 		case 25:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 445;
 			_objectsManager.PERSONAGE2("IM25", "IM25", "ANIM25", "IM25", 30, true);
 			break;
 
 		case 26:
-			_linesManager.setMaxLineIdx(40);
+			_linesManager->setMaxLineIdx(40);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM26", "IM26", "ANIM26", "IM26", 30, true);
 
@@ -837,7 +838,7 @@ bool HopkinsEngine::runFull() {
 
 		switch (_globals->_exitId) {
 		case 1:
-			_linesManager.setMaxLineIdx(40);
+			_linesManager->setMaxLineIdx(40);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM01", "IM01", "ANIM01", "IM01", 1, true);
 			break;
@@ -892,7 +893,7 @@ bool HopkinsEngine::runFull() {
 
 				_globals->_saveData->_data[svBankAttackAnimPlayedFl] = 1;
 			}
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 450;
 			_objectsManager.PERSONAGE2("IM03", "IM03", "ANIM03", "IM03", 2, false);
 			break;
@@ -904,7 +905,7 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 5:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 455;
 			if (_globals->_saveData->_data[svFreedHostageFl] == 1)
 				_objectsManager.PERSONAGE2("IM05", "IM05A", "ANIM05B", "IM05", 3, false);
@@ -913,7 +914,7 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 6:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 460;
 			_objectsManager.PERSONAGE2("IM06", "IM06", "ANIM06", "IM06", 2, true);
 			break;
@@ -926,13 +927,13 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 8:
-			_linesManager.setMaxLineIdx(15);
+			_linesManager->setMaxLineIdx(15);
 			_globals->_characterMaxPosY = 450;
 			_objectsManager.PERSONAGE2("IM08", "IM08", "ANIM08", "IM08", 2, true);
 			break;
 
 		case 9:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 440;
 			if (_globals->_saveData->_data[svBombDisarmedFl])
 				_objectsManager.PERSONAGE2("IM09", "IM09", "ANIM09", "IM09", 10, true);
@@ -945,13 +946,13 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 11:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 450;
 			_objectsManager.PERSONAGE2("IM11", "IM11", "ANIM11", "IM11", 2, false);
 			break;
 
 		case 12:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 450;
 			if (_globals->_saveData->_data[svBombDisarmedFl])
 				_objectsManager.PERSONAGE2("IM12", "IM12", "ANIM12", "IM12", 1, false);
@@ -960,13 +961,13 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 13:
-			_linesManager.setMaxLineIdx(40);
+			_linesManager->setMaxLineIdx(40);
 			_globals->_characterMaxPosY = 440;
 			_objectsManager.PERSONAGE2("IM13", "IM13", "ANIM13", "IM13", 1, true);
 			break;
 
 		case 14:
-			_linesManager.setMaxLineIdx(40);
+			_linesManager->setMaxLineIdx(40);
 			_globals->_characterMaxPosY = 440;
 			_objectsManager.PERSONAGE2("IM14", "IM14", "ANIM14", "IM14", 1, true);
 			break;
@@ -979,7 +980,7 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 16:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 450;
 			if (_globals->_saveData->_data[svForestAvailableFl] == 1)
 				_objectsManager.PERSONAGE2("IM16", "IM16A", "ANIM16", "IM16", 7, true);
@@ -988,7 +989,7 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 17:
-			_linesManager.setMaxLineIdx(40);
+			_linesManager->setMaxLineIdx(40);
 			_globals->_characterMaxPosY = 440;
 			if (_globals->_saveData->_data[svHutBurningFl] == 1)
 				_objectsManager.PERSONAGE2("IM17", "IM17A", "ANIM17", "IM17", 11, true);
@@ -1019,7 +1020,7 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 18:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 450;
 			if (getPlatform() == Common::kPlatformLinux || getPlatform() == Common::kPlatformWindows)
 				_objectsManager.PERSONAGE2("IM18", "IM18", "ANIM18", "IM18", 29, false);
@@ -1028,7 +1029,7 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 19:
-			_linesManager.setMaxLineIdx(40);
+			_linesManager->setMaxLineIdx(40);
 			_globals->_characterMaxPosY = 440;
 			if (_globals->_saveData->_data[svHeavenGuardGoneFl])
 				_objectsManager.PERSONAGE2("IM19", "IM19A", "ANIM19", "IM19", 6, true);
@@ -1037,7 +1038,7 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 20:
-			_linesManager.setMaxLineIdx(10);
+			_linesManager->setMaxLineIdx(10);
 			_globals->_characterMaxPosY = 440;
 			_objectsManager.PERSONAGE2("IM20", "IM20", "ANIM20", "IM20", 6, true);
 			if (_globals->_exitId == 17) {
@@ -1058,19 +1059,19 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 22:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 445;
 			_objectsManager.PERSONAGE2("IM22", "IM22", "ANIM22", "IM22", 6, true);
 			break;
 
 		case 23:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 440;
 			_objectsManager.PERSONAGE2("IM23", "IM23", "ANIM23", "IM23", 6, true);
 			break;
 
 		case 24:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 450;
 			if (_globals->_saveData->_data[svCinemaDogGoneFl] == 1)
 				_objectsManager.PERSONAGE2("IM24", "IM24A", "ANIM24", "IM24", 1, true);
@@ -1079,7 +1080,7 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 25:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 445;
 			if (getPlatform() == Common::kPlatformLinux || getPlatform() == Common::kPlatformWindows)
 				_objectsManager.PERSONAGE2("IM25", "IM25", "ANIM25", "IM25", 30, true);
@@ -1088,7 +1089,7 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 26:
-			_linesManager.setMaxLineIdx(40);
+			_linesManager->setMaxLineIdx(40);
 			_globals->_characterMaxPosY = 435;
 			if (getPlatform() == Common::kPlatformLinux || getPlatform() == Common::kPlatformWindows)
 				_objectsManager.PERSONAGE2("IM26", "IM26", "ANIM26", "IM26", 30, true);
@@ -1097,7 +1098,7 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 27:
-			_linesManager.setMaxLineIdx(15);
+			_linesManager->setMaxLineIdx(15);
 			_globals->_characterMaxPosY = 440;
 			if (_globals->_saveData->_data[svPoolDogGoneFl] == 1)
 				_objectsManager.PERSONAGE2("IM27", "IM27A", "ANIM27", "IM27", 27, true);
@@ -1106,7 +1107,7 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 28:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 450;
 			if (_globals->_saveData->_data[svCinemaCurtainCond1] != 1 || _globals->_saveData->_data[svCinemaCurtainCond2] != 1)
 				_objectsManager.PERSONAGE2("IM28", "IM28", "ANIM28", "IM28", 1, false);
@@ -1115,13 +1116,13 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 29:
-			_linesManager.setMaxLineIdx(50);
+			_linesManager->setMaxLineIdx(50);
 			_globals->_characterMaxPosY = 445;
 			_objectsManager.PERSONAGE2("IM29", "IM29", "ANIM29", "IM29", 1, true);
 			break;
 
 		case 30:
-			_linesManager.setMaxLineIdx(15);
+			_linesManager->setMaxLineIdx(15);
 			_globals->_characterMaxPosY = 440;
 			_objectsManager.PERSONAGE2("IM30", "IM30", "ANIM30", "IM30", 24, false);
 			break;
@@ -1131,7 +1132,7 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 32:
-			_linesManager.setMaxLineIdx(20);
+			_linesManager->setMaxLineIdx(20);
 			_globals->_characterMaxPosY = 445;
 			_objectsManager.PERSONAGE2("IM32", "IM32", "ANIM32", "IM32", 2, true);
 			break;
@@ -1151,7 +1152,7 @@ bool HopkinsEngine::runFull() {
 		case 39:
 		case 40:
 		case 41: {
-			_linesManager.setMaxLineIdx(40);
+			_linesManager->setMaxLineIdx(40);
 			_globals->_characterMaxPosY = 435;
 			_globals->_disableInventFl = false;
 			_objectsManager._forestFl = true;
@@ -1176,55 +1177,55 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 51:
-			_linesManager.setMaxLineIdx(10);
+			_linesManager->setMaxLineIdx(10);
 			_globals->_characterMaxPosY = 440;
 			_objectsManager.PERSONAGE2("IM51", "IM51", "ANIM51", "IM51", 14, true);
 			break;
 
 		case 52:
-			_linesManager.setMaxLineIdx(15);
+			_linesManager->setMaxLineIdx(15);
 			_globals->_characterMaxPosY = 445;
 			_objectsManager.PERSONAGE2("IM52", "IM52", "ANIM52", "IM52", 14, true);
 			break;
 
 		case 54:
-			_linesManager.setMaxLineIdx(30);
+			_linesManager->setMaxLineIdx(30);
 			_globals->_characterMaxPosY = 440;
 			_objectsManager.PERSONAGE2("IM54", "IM54", "ANIM54", "IM54", 14, true);
 			break;
 
 		case 55:
-			_linesManager.setMaxLineIdx(30);
+			_linesManager->setMaxLineIdx(30);
 			_globals->_characterMaxPosY = 460;
 			_objectsManager.PERSONAGE2("IM55", "IM55", "ANIM55", "IM55", 14, false);
 			break;
 
 		case 56:
-			_linesManager.setMaxLineIdx(30);
+			_linesManager->setMaxLineIdx(30);
 			_globals->_characterMaxPosY = 440;
 			_objectsManager.PERSONAGE2("IM56", "IM56", "ANIM56", "IM56", 14, false);
 			break;
 
 		case 57:
-			_linesManager.setMaxLineIdx(30);
+			_linesManager->setMaxLineIdx(30);
 			_globals->_characterMaxPosY = 440;
 			_objectsManager.PERSONAGE2("IM57", "IM57", "ANIM57", "IM57", 14, true);
 			break;
 
 		case 58:
-			_linesManager.setMaxLineIdx(30);
+			_linesManager->setMaxLineIdx(30);
 			_globals->_characterMaxPosY = 440;
 			_objectsManager.PERSONAGE2("IM58", "IM58", "ANIM58", "IM58", 14, false);
 			break;
 
 		case 59:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 445;
 			_objectsManager.PERSONAGE2("IM59", "IM59", "ANIM59", "IM59", 21, false);
 			break;
 
 		case 60:
-			_linesManager.setMaxLineIdx(30);
+			_linesManager->setMaxLineIdx(30);
 			_globals->_characterMaxPosY = 440;
 			_objectsManager.PERSONAGE2("IM60", "IM60", "ANIM60", "IM60", 21, false);
 			break;
@@ -1236,67 +1237,67 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 62:
-			_linesManager.setMaxLineIdx(8);
+			_linesManager->setMaxLineIdx(8);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM62", "IM62", NULL, "IM62", 21, false);
 			break;
 
 		case 63:
-			_linesManager.setMaxLineIdx(30);
+			_linesManager->setMaxLineIdx(30);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM63", "IM63", "ANIM63", "IM63", 21, false);
 			break;
 
 		case 64:
-			_linesManager.setMaxLineIdx(30);
+			_linesManager->setMaxLineIdx(30);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM64", "IM64", "ANIM64", "IM64", 21, true);
 			break;
 
 		case 65:
-			_linesManager.setMaxLineIdx(30);
+			_linesManager->setMaxLineIdx(30);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM65", "IM65", "ANIM65", "IM65", 21, false);
 			break;
 
 		case 66:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 445;
 			_objectsManager.PERSONAGE2("IM66", "IM66", "ANIM66", "IM66", 21, false);
 			break;
 
 		case 67:
-			_linesManager.setMaxLineIdx(8);
+			_linesManager->setMaxLineIdx(8);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM67", "IM67", NULL, "IM67", 21, false);
 			break;
 
 		case 68:
-			_linesManager.setMaxLineIdx(8);
+			_linesManager->setMaxLineIdx(8);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM68", "IM68", "ANIM68", "IM68", 21, true);
 			break;
 
 		case 69:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 445;
 			_objectsManager.PERSONAGE2("IM69", "IM69", "ANIM69", "IM69", 21, false);
 			break;
 
 		case 70:
-			_linesManager.setMaxLineIdx(8);
+			_linesManager->setMaxLineIdx(8);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM70", "IM70", NULL, "IM70", 21, false);
 			break;
 
 		case 71:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 445;
 			_objectsManager.PERSONAGE2("IM71", "IM71", "ANIM71", "IM71", 21, false);
 			break;
 
 		case 73:
-			_linesManager.setMaxLineIdx(15);
+			_linesManager->setMaxLineIdx(15);
 			_globals->_characterMaxPosY = 445;
 			if (_globals->_saveData->_data[svSecondElevatorAvailableFl] == 1)
 				_objectsManager.PERSONAGE2("IM73", "IM73A", "ANIM73", "IM73", 21, true);
@@ -1369,7 +1370,7 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 93:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 445;
 			if (_globals->_saveData->_data[svEscapeLeftJailFl]) {
 				if (getPlatform() == Common::kPlatformLinux || getPlatform() == Common::kPlatformWindows)
@@ -1385,25 +1386,25 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 94:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 440;
 			_objectsManager.PERSONAGE2("IM94", "IM94", "ANIM94", "IM94", 19, true);
 			break;
 
 		case 95:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM95", "IM95", "ANIM95", "IM95", 19, false);
 			break;
 
 		case 96:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM96", "IM96", "ANIM96", "IM96", 19, false);
 			break;
 
 		case 97:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM97", "IM97", "ANIM97", "IM97", 19, false);
 			if (_globals->_exitId == 18) {
@@ -1421,13 +1422,13 @@ bool HopkinsEngine::runFull() {
 			break;
 
 		case 98:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM98", "IM98", "ANIM98", "IM98", 19, true);
 			break;
 
 		case 99:
-			_linesManager.setMaxLineIdx(5);
+			_linesManager->setMaxLineIdx(5);
 			_globals->_characterMaxPosY = 435;
 			_objectsManager.PERSONAGE2("IM99", "IM99", "ANIM99", "IM99", 19, true);
 			break;
@@ -2062,7 +2063,7 @@ void HopkinsEngine::playEnding() {
 	_globals->_cityMapEnabledFl = false;
 	_globals->iRegul = 1;
 	_soundManager.playSound(26);
-	_linesManager._route = (RouteItem *)g_PTRNUL;
+	_linesManager->_route = (RouteItem *)g_PTRNUL;
 	_globals->_freezeCharacterFl = true;
 	_globals->_exitId = 0;
 	_soundManager.loadSample(1, "SOUND90.WAV");
@@ -2768,13 +2769,13 @@ void HopkinsEngine::handleOceanMaze(int16 curExitId, Common::String backgroundFi
 		_objectsManager.loadLinkFile("ocean");
 
 	if (!exit1)
-		_linesManager.disableZone(1);
+		_linesManager->disableZone(1);
 	if (!exit2)
-		_linesManager.disableZone(2);
+		_linesManager->disableZone(2);
 	if (!exit3)
-		_linesManager.disableZone(3);
+		_linesManager->disableZone(3);
 	if (!exit4)
-		_linesManager.disableZone(4);
+		_linesManager->disableZone(4);
 
 	if (!_globals->_oceanDirection)
 		_globals->_oceanDirection = defaultDirection;
@@ -2806,7 +2807,7 @@ void HopkinsEngine::handleOceanMaze(int16 curExitId, Common::String backgroundFi
 	_graphicsManager->SETCOLOR3(251, 100, 100, 100);
 	_graphicsManager->SETCOLOR3(254, 0, 0, 0);
 	_objectsManager.animateSprite(0);
-	_linesManager._route = (RouteItem *)g_PTRNUL;
+	_linesManager->_route = (RouteItem *)g_PTRNUL;
 	_eventsManager->mouseOn();
 	_eventsManager->changeMouseCursor(4);
 
@@ -2822,7 +2823,7 @@ void HopkinsEngine::handleOceanMaze(int16 curExitId, Common::String backgroundFi
 		int mouseButton = _eventsManager->getMouseButton();
 		if (mouseButton && mouseButton == 1)
 			handleOceanMouseEvents();
-		_linesManager.checkZone();
+		_linesManager->checkZone();
 		setSubmarineSprites();
 
 		_eventsManager->refreshScreenAndEvents();
diff --git a/engines/hopkins/hopkins.h b/engines/hopkins/hopkins.h
index 3349f5d..1a3f60c 100644
--- a/engines/hopkins/hopkins.h
+++ b/engines/hopkins/hopkins.h
@@ -151,8 +151,8 @@ public:
 	FontManager *_fontManager;
 	Globals *_globals;
 	GraphicsManager *_graphicsManager;
+	LinesManager *_linesManager;
 
-	LinesManager _linesManager;
 	MenuManager _menuManager;
 	ObjectsManager _objectsManager;
 	SaveLoadManager _saveLoadManager;
diff --git a/engines/hopkins/lines.cpp b/engines/hopkins/lines.cpp
index 816f4f8..476477b 100644
--- a/engines/hopkins/lines.cpp
+++ b/engines/hopkins/lines.cpp
@@ -30,26 +30,9 @@
 
 namespace Hopkins {
 
+LinesManager::LinesManager(HopkinsEngine *vm) {
+	_vm = vm;
 
-int LigneItem::appendToRouteInc(int from, int to, RouteItem *route, int index) {
-	if (to == -1)
-		to = _lineDataEndIdx;
-
-	for (int i = from; i < to; ++i)
-		route[index++].set(_lineData[2*i], _lineData[2*i+1], _directionRouteInc);
-	return index;
-}
-int LigneItem::appendToRouteDec(int from, int to, RouteItem *route, int index) {
-	if (from == -1)
-		from = _lineDataEndIdx - 1;
-
-	for (int i = from; i > to; --i)
-		route[index++].set(_lineData[2*i], _lineData[2*i+1], _directionRouteDec);
-	return index;
-}
-
-
-LinesManager::LinesManager() {
 	for (int i = 0; i < MAX_LINES; ++i) {
 		Common::fill((byte *)&_zoneLine[i], (byte *)&_zoneLine[i] + sizeof(LigneZoneItem), 0);
 		Common::fill((byte *)&_lineItem[i], (byte *)&_lineItem[i] + sizeof(LigneItem), 0);
@@ -100,8 +83,21 @@ LinesManager::~LinesManager() {
 	_vm->_globals->freeMemory((byte *) _testRoute2);
 }
 
-void LinesManager::setParent(HopkinsEngine *vm) {
-	_vm = vm;
+int LigneItem::appendToRouteInc(int from, int to, RouteItem *route, int index) {
+	if (to == -1)
+		to = _lineDataEndIdx;
+
+	for (int i = from; i < to; ++i)
+		route[index++].set(_lineData[2*i], _lineData[2*i+1], _directionRouteInc);
+	return index;
+}
+int LigneItem::appendToRouteDec(int from, int to, RouteItem *route, int index) {
+	if (from == -1)
+		from = _lineDataEndIdx - 1;
+
+	for (int i = from; i > to; --i)
+		route[index++].set(_lineData[2*i], _lineData[2*i+1], _directionRouteDec);
+	return index;
 }
 
 /**
diff --git a/engines/hopkins/lines.h b/engines/hopkins/lines.h
index 5d31aa6..79dde89 100644
--- a/engines/hopkins/lines.h
+++ b/engines/hopkins/lines.h
@@ -157,9 +157,8 @@ public:
 	bool BOBZONE_FLAG[105];
 	ZonePItem ZONEP[106];
 
-	LinesManager();
+	LinesManager(HopkinsEngine *vm);
 	~LinesManager();
-	void setParent(HopkinsEngine *vm);
 	void clearAll();
 
 	void setMaxLineIdx(int idx);
diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp
index c9f04e0..362c9fe 100644
--- a/engines/hopkins/objects.cpp
+++ b/engines/hopkins/objects.cpp
@@ -1256,7 +1256,7 @@ void ObjectsManager::setFlipSprite(int idx, bool flipFl) {
 }
 
 void ObjectsManager::GOHOME() {
-	if (_vm->_linesManager._route == (RouteItem *)g_PTRNUL)
+	if (_vm->_linesManager->_route == (RouteItem *)g_PTRNUL)
 		return;
 
 	if (_vm->_globals->Compteur > 1) {
@@ -1274,10 +1274,10 @@ void ObjectsManager::GOHOME() {
 	_vm->_globals->Compteur = 0;
 	if (_vm->_globals->_oldDirection == DIR_NONE) {
 		computeAndSetSpriteSize();
-		newPosX = _vm->_linesManager._route->_x;
-		newPosY = _vm->_linesManager._route->_y;
-		newDirection = _vm->_linesManager._route->_dir;
-		_vm->_linesManager._route++;
+		newPosX = _vm->_linesManager->_route->_x;
+		newPosY = _vm->_linesManager->_route->_y;
+		newDirection = _vm->_linesManager->_route->_dir;
+		_vm->_linesManager->_route++;
 
 		if (newPosX != -1 || newPosY != -1) {
 			_vm->_globals->_oldDirection = newDirection;
@@ -1293,21 +1293,21 @@ void ObjectsManager::GOHOME() {
 				zoneId = _vm->_globals->_saveData->_data[svLastZoneNum];
 			else
 				zoneId = _zoneNum;
-			_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+			_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 			computeAndSetSpriteSize();
 			setFlipSprite(0, false);
 			_vm->_globals->Compteur = 0;
-			_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+			_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 			_vm->_globals->_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->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;
 					} else {
-						setSpriteIndex(0, _vm->_linesManager.ZONEP[zoneId]._spriteIndex);
-						_vm->_globals->_actionDirection = _vm->_linesManager.ZONEP[zoneId]._spriteIndex - 59;
+						setSpriteIndex(0, _vm->_linesManager->ZONEP[zoneId]._spriteIndex);
+						_vm->_globals->_actionDirection = _vm->_linesManager->ZONEP[zoneId]._spriteIndex - 59;
 					}
 				}
 			}
@@ -1500,10 +1500,10 @@ void ObjectsManager::GOHOME() {
 	}
 	bool loopCond = false;
 	do {
-		newPosX = _vm->_linesManager._route->_x;
-		newPosY = _vm->_linesManager._route->_y;
-		newDirection = (Directions)_vm->_linesManager._route->_dir;
-		_vm->_linesManager._route++;
+		newPosX = _vm->_linesManager->_route->_x;
+		newPosY = _vm->_linesManager->_route->_y;
+		newDirection = (Directions)_vm->_linesManager->_route->_dir;
+		_vm->_linesManager->_route++;
 
 		if (newPosX == -1 && newPosY == -1) {
 			int zoneId;
@@ -1513,7 +1513,7 @@ void ObjectsManager::GOHOME() {
 				zoneId = _zoneNum;
 			setSpriteIndex(0, _vm->_globals->_oldDirection + 59);
 			_vm->_globals->_actionDirection = DIR_NONE;
-			_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+			_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 			computeAndSetSpriteSize();
 			setFlipSprite(0, false);
 			_vm->_globals->Compteur = 0;
@@ -1522,14 +1522,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->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;
 					} else {
-						setSpriteIndex(0,  _vm->_linesManager.ZONEP[zoneId]._spriteIndex);
-						_vm->_globals->_actionDirection = _vm->_linesManager.ZONEP[zoneId]._spriteIndex - 59;
+						setSpriteIndex(0,  _vm->_linesManager->ZONEP[zoneId]._spriteIndex);
+						_vm->_globals->_actionDirection = _vm->_linesManager->ZONEP[zoneId]._spriteIndex - 59;
 					}
 				}
 			}
@@ -1573,7 +1573,7 @@ void ObjectsManager::GOHOME() {
 }
 
 void ObjectsManager::GOHOME2() {
-	if (_vm->_linesManager._route == (RouteItem *)g_PTRNUL)
+	if (_vm->_linesManager->_route == (RouteItem *)g_PTRNUL)
 		return;
 
 	int realSpeed = 2;
@@ -1585,10 +1585,10 @@ void ObjectsManager::GOHOME2() {
 	int countColisionPixel = 0;
 
 	for (;;) {
-		int nexPosX = _vm->_linesManager._route->_x;
-		int newPosY = _vm->_linesManager._route->_y;
-		Directions newDirection = (Directions)_vm->_linesManager._route->_dir;
-		_vm->_linesManager._route++;
+		int nexPosX = _vm->_linesManager->_route->_x;
+		int newPosY = _vm->_linesManager->_route->_y;
+		Directions newDirection = (Directions)_vm->_linesManager->_route->_dir;
+		_vm->_linesManager->_route++;
 
 		if ((nexPosX == -1) && (newPosY == -1))
 			break;
@@ -1636,7 +1636,7 @@ void ObjectsManager::GOHOME2() {
 		break;
 	}
 
-	_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+	_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 }
 
 /**
@@ -1644,21 +1644,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->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;
 	}
 
 	Common::File f;
@@ -1672,54 +1672,54 @@ void ObjectsManager::loadZone(const Common::String &file) {
 	do {
 		bobZoneIdx = READ_LE_INT16((uint16 *)ptr + bufId);
 		if (bobZoneIdx != -1) {
-			_vm->_linesManager.addZoneLine(
+			_vm->_linesManager->addZoneLine(
 			    zoneLineIdx,
 			    READ_LE_UINT16((uint16 *)ptr + bufId + 1),
 			    READ_LE_UINT16((uint16 *)ptr + bufId + 2),
 			    READ_LE_UINT16((uint16 *)ptr + bufId + 3),
 			    READ_LE_UINT16((uint16 *)ptr + bufId + 4),
 			    bobZoneIdx);
-			_vm->_linesManager.ZONEP[bobZoneIdx]._enabledFl = true;
+			_vm->_linesManager->ZONEP[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->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);
 		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->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];
 
 		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->ZONEP[i + 1]._messageId = READ_LE_UINT16(verbData + 2 * i);
 
 	_vm->_globals->freeMemory(ptr);
-	_vm->_linesManager.CARRE_ZONE();
+	_vm->_linesManager->CARRE_ZONE();
 }
 
 void ObjectsManager::handleCityMap() {
 	_vm->_dialogsManager->_inventFl = false;
 	_vm->_eventsManager->_gameKey = KEY_NONE;
-	_vm->_linesManager.setMaxLineIdx(1);
+	_vm->_linesManager->setMaxLineIdx(1);
 	_vm->_globals->_characterMaxPosY = 440;
 	_vm->_globals->_cityMapEnabledFl = true;
 	_vm->_graphicsManager->_noFadingFl = false;
@@ -1730,7 +1730,7 @@ void ObjectsManager::handleCityMap() {
 	_vm->_soundManager.playSound(31);
 	_vm->_globals->iRegul = 1;
 	_vm->_graphicsManager->loadImage("PLAN");
-	_vm->_linesManager.loadLines("PLAN.OB2");
+	_vm->_linesManager->loadLines("PLAN.OB2");
 	_vm->_globals->loadHidingItems("PLAN.CA2");
 	loadZone("PLAN.ZO2");
 	_spritePtr = _vm->_fileManager->loadFile("VOITURE.SPR");
@@ -1753,7 +1753,7 @@ void ObjectsManager::handleCityMap() {
 	_vm->_graphicsManager->scrollScreen(getSpriteX(0) - 320);
 	_vm->_graphicsManager->_scrollOffset = getSpriteX(0) - 320;
 	animateSprite(0);
-	_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+	_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 	_vm->_graphicsManager->SETCOLOR3(252, 100, 100, 100);
 	_vm->_graphicsManager->SETCOLOR3(253, 100, 100, 100);
 	_vm->_graphicsManager->SETCOLOR3(251, 100, 100, 100);
@@ -1792,10 +1792,10 @@ void ObjectsManager::handleCityMap() {
 				handleLeftButton();
 		}
 
-		_vm->_linesManager.checkZone();
+		_vm->_linesManager->checkZone();
 		GOHOME2();
 
-		if (_vm->_linesManager._route == (RouteItem *)g_PTRNUL && _vm->_globals->_actionMoveTo)
+		if (_vm->_linesManager->_route == (RouteItem *)g_PTRNUL && _vm->_globals->_actionMoveTo)
 			PARADISE();
 		_vm->_eventsManager->refreshScreenAndEvents();
 
@@ -1860,20 +1860,20 @@ void ObjectsManager::handleLeftButton() {
 		}
 	}
 	if (_vm->_globals->_cityMapEnabledFl && _vm->_globals->_actionMoveTo) {
-		_vm->_linesManager.checkZone();
+		_vm->_linesManager->checkZone();
 		if (_zoneNum <= 0)
 			return;
 		int routeIdx = 0;
 		do {
-			_vm->_linesManager._testRoute2[routeIdx] = _vm->_linesManager._route[routeIdx];
+			_vm->_linesManager->_testRoute2[routeIdx] = _vm->_linesManager->_route[routeIdx];
 			++routeIdx;
-		} while (_vm->_linesManager._route[routeIdx]._x != -1);
+		} while (_vm->_linesManager->_route[routeIdx]._x != -1);
 
-		_vm->_linesManager._testRoute2[routeIdx].invalidate();
+		_vm->_linesManager->_testRoute2[routeIdx].invalidate();
 	}
 
 	if (_vm->_globals->_actionMoveTo) {
-		_vm->_linesManager.checkZone();
+		_vm->_linesManager->checkZone();
 		_vm->_globals->_actionMoveTo = false;
 		_vm->_globals->_saveData->_data[svLastMouseCursor] = 0;
 		_vm->_globals->_saveData->_data[svLastZoneNum] = 0;
@@ -1882,54 +1882,54 @@ 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->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;
 		}
 	}
 	_vm->_globals->_actionMoveTo = false;
-	RouteItem *oldRoute = _vm->_linesManager._route;
-	_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+	RouteItem *oldRoute = _vm->_linesManager->_route;
+	_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 	if (_forestFl && _zoneNum >= 20 && _zoneNum <= 23) {
 		if (getSpriteY(0) > 374 && getSpriteY(0) <= 410) {
-			_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+			_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 			setSpriteIndex(0, _vm->_globals->_oldDirectionSpriteIdx);
 			_vm->_globals->_actionDirection = DIR_NONE;
-			_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+			_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 			computeAndSetSpriteSize();
 			setFlipSprite(0, false);
 			_vm->_globals->Compteur = 0;
 			_vm->_globals->_oldDirection = DIR_NONE;
 		} else {
-			_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(getSpriteX(0), getSpriteY(0), getSpriteX(0), 390);
-			if (_vm->_linesManager._route != (RouteItem *)g_PTRNUL)
-				_vm->_linesManager.PACOURS_PROPRE(_vm->_linesManager._route);
+			_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(getSpriteX(0), getSpriteY(0), getSpriteX(0), 390);
+			if (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL)
+				_vm->_linesManager->PACOURS_PROPRE(_vm->_linesManager->_route);
 			_oldCharacterPosX = getSpriteX(0);
 			_oldCharacterPosY = getSpriteY(0);
 			_vm->_globals->Compteur = 0;
-			if (_vm->_linesManager._route != (RouteItem *)g_PTRNUL || oldRoute == _vm->_linesManager._route) {
+			if (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL || oldRoute == _vm->_linesManager->_route) {
 				_vm->_globals->_oldDirection = DIR_NONE;
 			} else {
-				_vm->_linesManager._route = oldRoute;
+				_vm->_linesManager->_route = oldRoute;
 			}
 		}
 	} else {
 		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);
+			_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);
 			_oldCharacterPosX = getSpriteX(0);
 			_oldCharacterPosY = getSpriteY(0);
 			_vm->_globals->Compteur = 0;
-			if (_vm->_linesManager._route != (RouteItem *)g_PTRNUL || oldRoute == _vm->_linesManager._route)
+			if (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL || oldRoute == _vm->_linesManager->_route)
 				_vm->_globals->_oldDirection = DIR_NONE;
 			else
-				_vm->_linesManager._route = oldRoute;
+				_vm->_linesManager->_route = oldRoute;
 		}
 	}
 
 	if (!_vm->_globals->_freezeCharacterFl && _vm->_globals->_cityMapEnabledFl)
-		_vm->_linesManager._route = _vm->_linesManager.cityMapCarRoute(getSpriteX(0), getSpriteY(0), destX, destY);
+		_vm->_linesManager->_route = _vm->_linesManager->cityMapCarRoute(getSpriteX(0), getSpriteY(0), destX, destY);
 
 	if (_zoneNum != -1 && _zoneNum != 0) {
 		if (_vm->_eventsManager->_mouseCursorId == 23)
@@ -1949,7 +1949,7 @@ void ObjectsManager::handleLeftButton() {
 				&& _curObjectIndex == 20 && _zoneNum == 12
 				&& _vm->_eventsManager->_mouseCursorId == 23) {
 		// Special case for throwing darts at the switch in Purgatory - the player shouldn't move
-		_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+		_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 		getSpriteX(0);
 		getSpriteY(0);
 	}
@@ -2009,7 +2009,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->ZONEP[_zoneNum]._enabledFl) {
 			_zoneNum = -1;
 			_forceZoneFl = true;
 		}
@@ -2052,21 +2052,21 @@ void ObjectsManager::clearScreen() {
 	_vm->_fontManager->hideText(9);
 	_vm->_globals->clearVBob();
 	_vm->_animationManager->clearAnim();
-	_vm->_linesManager.clearAllZones();
-	_vm->_linesManager.resetLines();
+	_vm->_linesManager->clearAllZones();
+	_vm->_linesManager->resetLines();
 	_vm->_globals->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->BOBZONE_FLAG[i] = false;
 	}
 	_vm->_eventsManager->_mouseCursorId = 4;
 	_verb = 4;
 	_zoneNum = 0;
 	_forceZoneFl = true;
-	_vm->_linesManager.resetLinesNumb();
-	_vm->_linesManager.resetLastLine();
-	_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+	_vm->_linesManager->resetLinesNumb();
+	_vm->_linesManager->resetLastLine();
+	_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 	_vm->_globals->_answerBuffer = _vm->_globals->freeMemory(_vm->_globals->_answerBuffer);
 	_vm->_globals->SPRITE_ECRAN = _vm->_globals->freeMemory(_vm->_globals->SPRITE_ECRAN);
 	_vm->_eventsManager->_startPos.x = 0;
@@ -2076,7 +2076,7 @@ void ObjectsManager::clearScreen() {
 	_vm->_globals->_actionMoveTo = false;
 	_forceZoneFl = true;
 	_changeVerbFl = false;
-	_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+	_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 	_vm->_globals->_oldDirection = DIR_NONE;
 	_vm->_graphicsManager->resetDirtyRects();
 }
@@ -2093,7 +2093,7 @@ void ObjectsManager::changeCharacterHead(PlayerCharacter oldCharacter, PlayerCha
 	_vm->_graphicsManager->copySurface(_vm->_graphicsManager->_vesaScreen, 532, 25, 65, 40, _vm->_graphicsManager->_vesaBuffer, 532, 25);
 	_vm->_graphicsManager->addDirtyRect(532, 25, 597, 65);
 	_vm->_globals->_checkDistanceFl = true;
-	_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+	_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 
 	if (oldCharacter == CHARACTER_SAMANTHA && newCharacter == CHARACTER_HOPKINS
 		&& _vm->_globals->_saveData->_realHopkins._location == _vm->_globals->_screenId) {
@@ -2228,139 +2228,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->ZONEP[_zoneNum]._verbFl1 == 1)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 7) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl2 == 1)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl2 == 1)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 8) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl3 == 1)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl3 == 1)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 9) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl4 == 1)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl4 == 1)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 10) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl5 == 1)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl5 == 1)
 				return;
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 11) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl6 == 1)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl6 == 1)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 12) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl7 == 1)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl7 == 1)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 13) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl8 == 1)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl8 == 1)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 14) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl9 == 1)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl9 == 1)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 15) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl10 == 1)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl10 == 1)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 16) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl1 == 2)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl1 == 2)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 17) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl4 == 2)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl4 == 2)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 18) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl5 == 2)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl5 == 2)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 19) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl6 == 2)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl6 == 2)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 20) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl7 == 2)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl7 == 2)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 21) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl10 == 2)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl10 == 2)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 22) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl8 == 2)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl8 == 2)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 23) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl3 == 2)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl3 == 2)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 24) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl4 == 3)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl4 == 3)
 				return;
 
 			++_vm->_eventsManager->_mouseCursorId;
 		}
 
 		if (_vm->_eventsManager->_mouseCursorId == 25) {
-			if (_vm->_linesManager.ZONEP[_zoneNum]._verbFl9 == 2)
+			if (_vm->_linesManager->ZONEP[_zoneNum]._verbFl9 == 2)
 				return;
 		}
 		_vm->_eventsManager->_mouseCursorId = 4;
@@ -2663,14 +2663,14 @@ void ObjectsManager::handleSpecialGames() {
 			setBobAnimDataIdx(5, 0);
 			setBobAnimation(6);
 			_vm->_globals->_saveData->_data[svField261] = 2;
-			_vm->_linesManager.disableZone(15);
+			_vm->_linesManager->disableZone(15);
 			_vm->_soundManager.playSoundFile("SOUND75.WAV");
 		}
 		if (_vm->_globals->_saveData->_data[svField261] == 2 && getBobAnimDataIdx(6) == 6) {
 			stopBobAnimation(6);
 			setBobAnimDataIdx(6, 0);
 			setBobAnimation(7);
-			_vm->_linesManager.enableZone(14);
+			_vm->_linesManager->enableZone(14);
 			_vm->_globals->_saveData->_data[svField261] = 3;
 		}
 		_vm->_globals->_disableInventFl = false;
@@ -3099,18 +3099,18 @@ void ObjectsManager::loadLinkFile(const Common::String &file) {
 		}
 	}
 
-	_vm->_linesManager.resetLines();
+	_vm->_linesManager->resetLines();
 	for (size_t idx = 0; idx < nbytes - 3; idx++) {
 		if (READ_BE_UINT24(&ptr[idx]) == MKTAG24('O', 'B', '2')) {
 			byte *curDataPtr = &ptr[idx + 4];
 			int lineDataIdx = 0;
 			int curLineIdx = 0;
-			_vm->_linesManager.resetLinesNumb();
+			_vm->_linesManager->resetLinesNumb();
 			Directions curDirection;
 			do {
 				curDirection = (Directions)READ_LE_INT16(curDataPtr + 2 * lineDataIdx);
 				if (curDirection != DIR_NONE) {
-					_vm->_linesManager.addLine(
+					_vm->_linesManager->addLine(
 					    curLineIdx,
 					    curDirection,
 					    READ_LE_INT16(curDataPtr + 2 * lineDataIdx + 2),
@@ -3121,7 +3121,7 @@ void ObjectsManager::loadLinkFile(const Common::String &file) {
 				lineDataIdx += 5;
 				++curLineIdx;
 			} while (curDirection != DIR_NONE);
-			_vm->_linesManager.initRoute();
+			_vm->_linesManager->initRoute();
 		}
 	}
 
@@ -3131,34 +3131,34 @@ void ObjectsManager::loadLinkFile(const Common::String &file) {
 				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->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;
 				}
 
 				int curLineIdx = 0;
 				for (;;) {
 					int bobZoneId = READ_LE_INT16(curDataPtr + 2 * curDataIdx);
 					if (bobZoneId != -1) {
-						_vm->_linesManager.addZoneLine(
+						_vm->_linesManager->addZoneLine(
 						    curLineIdx,
 						    READ_LE_INT16(curDataPtr + 2 * curDataIdx + 2),
 						    READ_LE_INT16(curDataPtr + 2 * curDataIdx + 4),
 						    READ_LE_INT16(curDataPtr + 2 * curDataIdx + 6),
 						    READ_LE_INT16(curDataPtr + 2 * curDataIdx + 8),
 						    bobZoneId);
-						_vm->_linesManager.ZONEP[bobZoneId]._enabledFl = true;
+						_vm->_linesManager->ZONEP[bobZoneId]._enabledFl = true;
 					}
 					curDataIdx += 5;
 					++curLineIdx;
@@ -3166,32 +3166,32 @@ 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->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);
 					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->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];
 				}
 				int dep = 1010;
 				for (int i = 1; i <= 100; i++) {
-					_vm->_linesManager.ZONEP[i]._messageId = READ_LE_INT16(verbData + dep);
+					_vm->_linesManager->ZONEP[i]._messageId = READ_LE_INT16(verbData + dep);
 					dep += 2;
 				}
-				_vm->_linesManager.CARRE_ZONE();
+				_vm->_linesManager->CARRE_ZONE();
 			}
 		}
 	}
@@ -3262,22 +3262,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->BOBZONE_FLAG[20] = true;
+		_vm->_linesManager->BOBZONE_FLAG[21] = true;
+		_vm->_linesManager->BOBZONE_FLAG[22] = true;
+		_vm->_linesManager->BOBZONE_FLAG[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->ZONEP[20]._messageId = 30;
+		_vm->_linesManager->ZONEP[21]._messageId = 30;
+		_vm->_linesManager->ZONEP[22]._messageId = 30;
+		_vm->_linesManager->ZONEP[23]._messageId = 30;
 		for (int i = svField200; i <= svField214; i++) {
 			if (_vm->_globals->_saveData->_data[i] != 2)
 				_vm->_globals->_saveData->_data[i] = 0;
@@ -3335,42 +3335,42 @@ void ObjectsManager::disableVerb(int idx, int a2) {
 	switch (a2) {
 	case 6:
 	case 16:
-		_vm->_linesManager.ZONEP[idx]._verbFl1 = 0;
+		_vm->_linesManager->ZONEP[idx]._verbFl1 = 0;
 		break;
 	case 7:
-		_vm->_linesManager.ZONEP[idx]._verbFl2 = 0;
+		_vm->_linesManager->ZONEP[idx]._verbFl2 = 0;
 		break;
 	case 5:
 	case 8:
-		_vm->_linesManager.ZONEP[idx]._verbFl3 = 0;
+		_vm->_linesManager->ZONEP[idx]._verbFl3 = 0;
 		break;
 	case 9:
 	case 17:
 	case 24:
-		_vm->_linesManager.ZONEP[idx]._verbFl4 = 0;
+		_vm->_linesManager->ZONEP[idx]._verbFl4 = 0;
 		break;
 	case 10:
 	case 18:
-		_vm->_linesManager.ZONEP[idx]._verbFl5 = 0;
+		_vm->_linesManager->ZONEP[idx]._verbFl5 = 0;
 		break;
 	case 11:
 	case 19:
-		_vm->_linesManager.ZONEP[idx]._verbFl6 = 0;
+		_vm->_linesManager->ZONEP[idx]._verbFl6 = 0;
 		break;
 	case 12:
 	case 20:
-		_vm->_linesManager.ZONEP[idx]._verbFl7 = 0;
+		_vm->_linesManager->ZONEP[idx]._verbFl7 = 0;
 		break;
 	case 13:
 	case 22:
-		_vm->_linesManager.ZONEP[idx]._verbFl8 = 0;
+		_vm->_linesManager->ZONEP[idx]._verbFl8 = 0;
 	case 14:
 	case 21:
 	case 25:
-		_vm->_linesManager.ZONEP[idx]._verbFl9 = 0;
+		_vm->_linesManager->ZONEP[idx]._verbFl9 = 0;
 		break;
 	case 15:
-		_vm->_linesManager.ZONEP[idx]._verbFl10 = 0;
+		_vm->_linesManager->ZONEP[idx]._verbFl10 = 0;
 		break;
 	}
 	_changeVerbFl = true;
@@ -3379,64 +3379,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->ZONEP[idx]._verbFl3 = 2;
 		break;
 	case 6:
-		_vm->_linesManager.ZONEP[idx]._verbFl1 = 1;
+		_vm->_linesManager->ZONEP[idx]._verbFl1 = 1;
 		break;
 	case 7:
-		_vm->_linesManager.ZONEP[idx]._verbFl2 = 1;
+		_vm->_linesManager->ZONEP[idx]._verbFl2 = 1;
 		break;
 	case 8:
-		_vm->_linesManager.ZONEP[idx]._verbFl3 = 1;
+		_vm->_linesManager->ZONEP[idx]._verbFl3 = 1;
 		break;
 	case 9:
-		_vm->_linesManager.ZONEP[idx]._verbFl4 = 1;
+		_vm->_linesManager->ZONEP[idx]._verbFl4 = 1;
 		break;
 	case 10:
-		_vm->_linesManager.ZONEP[idx]._verbFl5 = 1;
+		_vm->_linesManager->ZONEP[idx]._verbFl5 = 1;
 		break;
 	case 11:
-		_vm->_linesManager.ZONEP[idx]._verbFl6 = 1;
+		_vm->_linesManager->ZONEP[idx]._verbFl6 = 1;
 		break;
 	case 12:
-		_vm->_linesManager.ZONEP[idx]._verbFl7 = 1;
+		_vm->_linesManager->ZONEP[idx]._verbFl7 = 1;
 		break;
 	case 13:
-		_vm->_linesManager.ZONEP[idx]._verbFl8 = 1;
+		_vm->_linesManager->ZONEP[idx]._verbFl8 = 1;
 		break;
 	case 14:
-		_vm->_linesManager.ZONEP[idx]._verbFl8 = 1;
+		_vm->_linesManager->ZONEP[idx]._verbFl8 = 1;
 		break;
 	case 15:
-		_vm->_linesManager.ZONEP[idx]._verbFl9 = 1;
+		_vm->_linesManager->ZONEP[idx]._verbFl9 = 1;
 		break;
 	case 16:
-		_vm->_linesManager.ZONEP[idx]._verbFl1 = 2;
+		_vm->_linesManager->ZONEP[idx]._verbFl1 = 2;
 		break;
 	case 17:
-		_vm->_linesManager.ZONEP[idx]._verbFl4 = 2;
+		_vm->_linesManager->ZONEP[idx]._verbFl4 = 2;
 		break;
 	case 18:
-		_vm->_linesManager.ZONEP[idx]._verbFl5 = 2;
+		_vm->_linesManager->ZONEP[idx]._verbFl5 = 2;
 		break;
 	case 19:
-		_vm->_linesManager.ZONEP[idx]._verbFl6 = 2;
+		_vm->_linesManager->ZONEP[idx]._verbFl6 = 2;
 		break;
 	case 20:
-		_vm->_linesManager.ZONEP[idx]._verbFl7 = 2;
+		_vm->_linesManager->ZONEP[idx]._verbFl7 = 2;
 		break;
 	case 21:
-		_vm->_linesManager.ZONEP[idx]._verbFl9 = 2;
+		_vm->_linesManager->ZONEP[idx]._verbFl9 = 2;
 		break;
 	case 22:
-		_vm->_linesManager.ZONEP[idx]._verbFl8 = 2;
+		_vm->_linesManager->ZONEP[idx]._verbFl8 = 2;
 		break;
 	case 24:
-		_vm->_linesManager.ZONEP[idx]._verbFl4 = 3;
+		_vm->_linesManager->ZONEP[idx]._verbFl4 = 3;
 		break;
 	case 25:
-		_vm->_linesManager.ZONEP[idx]._verbFl9 = 2;
+		_vm->_linesManager->ZONEP[idx]._verbFl9 = 2;
 		break;
 	}
 }
@@ -3668,7 +3668,7 @@ void ObjectsManager::PERSONAGE(const Common::String &backgroundFile, const Commo
 	_vm->_globals->_cityMapEnabledFl = false;
 	_vm->_globals->iRegul = 1;
 	_vm->_soundManager.playSound(soundNum);
-	_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+	_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 	_vm->_globals->_freezeCharacterFl = true;
 	_vm->_globals->_exitId = 0;
 	if (!backgroundFile.empty())
@@ -3688,7 +3688,7 @@ void ObjectsManager::PERSONAGE(const Common::String &backgroundFile, const Commo
 	if (_vm->_globals->_screenId == 61) {
 		addStaticSprite(_vm->_globals->PERSO, Common::Point(330, 418), 0, 60, 0, false, 34, 190);
 		animateSprite(0);
-		_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+		_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 		computeAndSetSpriteSize();
 	}
 	_vm->_graphicsManager->SETCOLOR3(252, 100, 100, 100);
@@ -3706,13 +3706,13 @@ void ObjectsManager::PERSONAGE(const Common::String &backgroundFile, const Commo
 		_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->_linesManager->_route = (RouteItem *)g_PTRNUL;
+		_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(getSpriteX(0), getSpriteY(0), 330, 345);
 		_vm->_globals->_checkDistanceFl = true;
 		do {
 			GOHOME();
 			_vm->_eventsManager->refreshScreenAndEvents();
-		} while (_vm->_linesManager._route != (RouteItem *)g_PTRNUL);
+		} while (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL);
 		setSpriteIndex(0, 64);
 	}
 	do {
@@ -3723,7 +3723,7 @@ void ObjectsManager::PERSONAGE(const Common::String &backgroundFile, const Commo
 		} else if (mouseButton == 2)
 			handleRightButton();
 		_vm->_dialogsManager->testDialogOpening();
-		_vm->_linesManager.checkZone();
+		_vm->_linesManager->checkZone();
 		if (_vm->_globals->_actionMoveTo)
 			PARADISE();
 		if (!_vm->_globals->_exitId)
@@ -3814,7 +3814,7 @@ void ObjectsManager::PERSONAGE2(const Common::String &backgroundFile, const Comm
 	computeAndSetSpriteSize();
 	animateSprite(0);
 	_vm->_globals->enableHiding();
-	_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+	_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 	computeAndSetSpriteSize();
 	sceneSpecialIni();
 	_vm->_eventsManager->_mouseSpriteId = 4;
@@ -3845,7 +3845,7 @@ void ObjectsManager::PERSONAGE2(const Common::String &backgroundFile, const Comm
 					int yp = _vm->_eventsManager->getMouseY();
 
 					if ((xCheck == xp) && (yCheck == yp)) {
-						_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+						_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 						PARADISE();
 						if (_vm->_globals->_exitId)
 							breakFlag = true;
@@ -3860,9 +3860,9 @@ void ObjectsManager::PERSONAGE2(const Common::String &backgroundFile, const Comm
 		}
 		if (!_vm->_globals->_exitId) {
 			_vm->_dialogsManager->testDialogOpening();
-			_vm->_linesManager.checkZone();
-			if (_vm->_linesManager._route == (RouteItem *)g_PTRNUL
-					|| (GOHOME(), _vm->_linesManager._route == (RouteItem *)g_PTRNUL)) {
+			_vm->_linesManager->checkZone();
+			if (_vm->_linesManager->_route == (RouteItem *)g_PTRNUL
+					|| (GOHOME(), _vm->_linesManager->_route == (RouteItem *)g_PTRNUL)) {
 				if (_vm->_globals->_actionMoveTo)
 					PARADISE();
 			}
diff --git a/engines/hopkins/script.cpp b/engines/hopkins/script.cpp
index 343b0fd..2b30c78 100644
--- a/engines/hopkins/script.cpp
+++ b/engines/hopkins/script.cpp
@@ -486,11 +486,11 @@ int ScriptManager::handleOpcode(byte *dataP) {
 		opcodeType = 2;
 		break;
 	case MKTAG24('Z', 'O', 'N'):
-		_vm->_linesManager.enableZone(READ_LE_INT16(dataP + 5));
+		_vm->_linesManager->enableZone(READ_LE_INT16(dataP + 5));
 		opcodeType = 1;
 		break;
 	case MKTAG24('Z', 'O', 'F'):
-		_vm->_linesManager.disableZone(READ_LE_INT16(dataP + 5));
+		_vm->_linesManager->disableZone(READ_LE_INT16(dataP + 5));
 		opcodeType = 1;
 		break;
 	case MKTAG24('E', 'X', 'I'):
@@ -753,8 +753,8 @@ int ScriptManager::handleOpcode(byte *dataP) {
 
 		case 46: {
 			_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->_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;
 			do {
 				if (_vm->shouldQuit())
@@ -762,7 +762,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
 
 				_vm->_objectsManager.GOHOME();
 				_vm->_eventsManager->refreshScreenAndEvents();
-			} while (_vm->_linesManager._route != (RouteItem *)g_PTRNUL);
+			} while (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL);
 			_vm->_objectsManager.removeSprite(0);
 			_vm->_globals->_checkDistanceFl = true;
 			_vm->_soundManager.loadSample(1, "SOUND44.WAV");
@@ -980,8 +980,8 @@ int ScriptManager::handleOpcode(byte *dataP) {
 			_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->_linesManager->_route = (RouteItem *)g_PTRNUL;
+			_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 445, 332);
 			_vm->_globals->_checkDistanceFl = true;
 			do {
 				if (_vm->shouldQuit())
@@ -989,7 +989,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
 
 				_vm->_objectsManager.GOHOME();
 				_vm->_eventsManager->refreshScreenAndEvents();
-			} while (_vm->_linesManager._route != (RouteItem *)g_PTRNUL);
+			} while (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL);
 			_vm->_objectsManager.removeSprite(0);
 			_vm->_objectsManager.setBobAnimation(7);
 			_vm->_objectsManager.setBobAnimDataIdx(7, 0);
@@ -1098,8 +1098,8 @@ int ScriptManager::handleOpcode(byte *dataP) {
 			_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->_linesManager->_route = (RouteItem *)g_PTRNUL;
+			_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 119, 268);
 			_vm->_globals->_checkDistanceFl = true;
 			do {
 				if (_vm->shouldQuit())
@@ -1107,7 +1107,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
 
 				_vm->_objectsManager.GOHOME();
 				_vm->_eventsManager->refreshScreenAndEvents();
-			} while (_vm->_linesManager._route != (RouteItem *)g_PTRNUL);
+			} while (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL);
 			_vm->_objectsManager.removeSprite(0);
 			_vm->_objectsManager.setBobAnimation(11);
 			_vm->_objectsManager.setBobAnimation(8);
@@ -1419,15 +1419,15 @@ int ScriptManager::handleOpcode(byte *dataP) {
 			_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 = (RouteItem *)g_PTRNUL;
 			if (_vm->_globals->_saveData->_data[svField253] == 1) {
-				_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 201, 294);
+				_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 201, 294);
 			}
 			if (_vm->_globals->_saveData->_data[svField253] == 2) {
-				_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 158, 338);
+				_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 158, 338);
 			}
 			if (_vm->_globals->_saveData->_data[svField253] > 2) {
-				_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 211, 393);
+				_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 211, 393);
 			}
 			_vm->_globals->_checkDistanceFl = true;
 			do {
@@ -1436,7 +1436,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
 
 				_vm->_objectsManager.GOHOME();
 				_vm->_eventsManager->refreshScreenAndEvents();
-			} while (_vm->_linesManager._route != (RouteItem *)g_PTRNUL);
+			} while (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL);
 			_vm->_objectsManager.removeSprite(0);
 			_vm->_objectsManager.setSpriteIndex(0, 60);
 			_vm->_soundManager.loadSample(1, "SOUND63.WAV");
@@ -1664,8 +1664,8 @@ int ScriptManager::handleOpcode(byte *dataP) {
 			_vm->_globals->_oldDirection = DIR_NONE;
 			_vm->_globals->Compteur = 0;
 			_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->_linesManager->_route = (RouteItem *)g_PTRNUL;
+			_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 361, 325);
 			_vm->_globals->_checkDistanceFl = true;
 			_vm->_objectsManager._zoneNum = -1;
 			do {
@@ -1674,7 +1674,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
 
 				_vm->_objectsManager.GOHOME();
 				_vm->_eventsManager->refreshScreenAndEvents();
-			} while (_vm->_linesManager._route != (RouteItem *)g_PTRNUL);
+			} while (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL);
 			_vm->_globals->_exitId = 59;
 			break;
 			}
@@ -1692,8 +1692,8 @@ int ScriptManager::handleOpcode(byte *dataP) {
 			_vm->_globals->_oldDirection = DIR_NONE;
 			_vm->_globals->Compteur = 0;
 			_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->_linesManager->_route = (RouteItem *)g_PTRNUL;
+			_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 361, 325);
 			_vm->_globals->_checkDistanceFl = true;
 			_vm->_objectsManager._zoneNum = -1;
 			do {
@@ -1702,7 +1702,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
 
 				_vm->_objectsManager.GOHOME();
 				_vm->_eventsManager->refreshScreenAndEvents();
-			} while (_vm->_linesManager._route != (RouteItem *)g_PTRNUL);
+			} while (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL);
 			_vm->_globals->_exitId = 59;
 			break;
 			}
@@ -1879,8 +1879,8 @@ int ScriptManager::handleOpcode(byte *dataP) {
 				_vm->_soundManager._specialSoundNum = 0;
 			}
 			_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->_linesManager->_route = (RouteItem *)g_PTRNUL;
+			_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 330, 418);
 			_vm->_globals->_checkDistanceFl = true;
 			_vm->_objectsManager._zoneNum = 0;
 			do {
@@ -1889,7 +1889,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
 
 				_vm->_objectsManager.GOHOME();
 				_vm->_eventsManager->refreshScreenAndEvents();
-			} while (_vm->_linesManager._route != (RouteItem *)g_PTRNUL);
+			} while (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL);
 			_vm->_objectsManager.setSpriteIndex(0, 64);
 			_vm->_globals->_exitId = _vm->_globals->_saveData->_data[svField401];
 			_vm->_globals->_disableInventFl = false;
@@ -1909,9 +1909,9 @@ int ScriptManager::handleOpcode(byte *dataP) {
 				_vm->_eventsManager->refreshScreenAndEvents();
 			} while (_vm->_objectsManager.getBobAnimDataIdx(1) != 9);
 			_vm->_objectsManager.stopBobAnimation(1);
-			_vm->_linesManager._route = (RouteItem *)g_PTRNUL;
+			_vm->_linesManager->_route = (RouteItem *)g_PTRNUL;
 			_vm->_globals->_checkDistanceFl = true;
-			_vm->_linesManager._route = _vm->_linesManager.PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 330, 314);
+			_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 330, 314);
 			_vm->_objectsManager._zoneNum = 0;
 			_vm->_globals->_checkDistanceFl = true;
 			do {
@@ -1920,7 +1920,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
 
 				_vm->_objectsManager.GOHOME();
 				_vm->_eventsManager->refreshScreenAndEvents();
-			} while (_vm->_linesManager._route != (RouteItem *)g_PTRNUL);
+			} while (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL);
 			_vm->_objectsManager.setSpriteIndex(0, 64);
 			_vm->_objectsManager.setBobAnimation(2);
 			_vm->_soundManager.playSoundFile("SOUND66.WAV");
@@ -2008,8 +2008,8 @@ int ScriptManager::handleOpcode(byte *dataP) {
 			_vm->_globals->_oldDirection = DIR_NONE;
 			_vm->_globals->Compteur = 0;
 			_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->_linesManager->_route = (RouteItem *)g_PTRNUL;
+			_vm->_linesManager->_route = _vm->_linesManager->PARCOURS2(_vm->_objectsManager.getSpriteX(0), _vm->_objectsManager.getSpriteY(0), 488, 280);
 			_vm->_globals->_checkDistanceFl = true;
 			do {
 				if (_vm->shouldQuit())
@@ -2017,7 +2017,7 @@ int ScriptManager::handleOpcode(byte *dataP) {
 
 				_vm->_objectsManager.GOHOME();
 				_vm->_eventsManager->refreshScreenAndEvents();
-			} while (_vm->_linesManager._route != (RouteItem *)g_PTRNUL);
+			} while (_vm->_linesManager->_route != (RouteItem *)g_PTRNUL);
 			_vm->_objectsManager.removeSprite(0);
 			bool playFl = false;
 			_vm->_objectsManager.setBobAnimation(7);
@@ -2304,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->ZONEP[4]._destX = 276;
 			_vm->_objectsManager.enableVerb(4, 19);
 			_vm->_graphicsManager->fastDisplay(_vm->_globals->SPRITE_ECRAN, 285, 379, 0);
 			_vm->_globals->_saveData->_data[svField399] = 1;
@@ -2465,7 +2465,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->ZONEP[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 a535352..6b5047d 100644
--- a/engines/hopkins/talk.cpp
+++ b/engines/hopkins/talk.cpp
@@ -911,8 +911,8 @@ void TalkManager::REPONSE2(int zone, int verb) {
 			break;
 		}
 		_vm->_globals->_saveData->_data[indx] = 2;
-		_vm->_linesManager.disableZone(22);
-		_vm->_linesManager.disableZone(23);
+		_vm->_linesManager->disableZone(22);
+		_vm->_linesManager->disableZone(23);
 	} else if (zone == 20 || zone == 21) {
 		_vm->_objectsManager.setFlipSprite(0, true);
 		_vm->_objectsManager.setSpriteIndex(0, 62);
@@ -958,8 +958,8 @@ void TalkManager::REPONSE2(int zone, int verb) {
 			break;
 		}
 		_vm->_globals->_saveData->_data[indx] = 2;
-		_vm->_linesManager.disableZone(21);
-		_vm->_linesManager.disableZone(20);
+		_vm->_linesManager->disableZone(21);
+		_vm->_linesManager->disableZone(20);
 	}
 }
 
@@ -968,12 +968,12 @@ void TalkManager::animateObject(const Common::String &filename) {
 	_vm->_fontManager->hideText(9);
 	_vm->_eventsManager->refreshScreenAndEvents();
 	_vm->_graphicsManager->_scrollStatus = 1;
-	_vm->_linesManager.clearAllZones();
-	_vm->_linesManager.resetLines();
+	_vm->_linesManager->clearAllZones();
+	_vm->_linesManager->resetLines();
 	_vm->_globals->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;
@@ -1034,7 +1034,7 @@ void TalkManager::animateObject(const Common::String &filename) {
 		else if (mouseButton == 2)
 			_vm->_objectsManager.handleRightButton();
 
-		_vm->_linesManager.checkZone();
+		_vm->_linesManager->checkZone();
 		if (_vm->_globals->_actionMoveTo)
 			_vm->_objectsManager.PARADISE();
 		_vm->_eventsManager->refreshScreenAndEvents();
@@ -1047,11 +1047,11 @@ void TalkManager::animateObject(const Common::String &filename) {
 	_characterBuffer = _vm->_globals->freeMemory(_characterBuffer);
 	_characterSprite = _vm->_globals->freeMemory(_characterSprite);
 	_vm->_graphicsManager->NB_SCREEN(false);
-	_vm->_linesManager.clearAllZones();
-	_vm->_linesManager.resetLines();
+	_vm->_linesManager->clearAllZones();
+	_vm->_linesManager->resetLines();
 	_vm->_globals->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;






More information about the Scummvm-git-logs mailing list