[Scummvm-cvs-logs] scummvm master -> 34c57519489186ae62a28072199b247211c05161

lordhoto lordhoto at gmail.com
Wed Jun 13 04:16:09 CEST 2012


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:
34c5751948 KYRA: Reduce amount of updateScreen calls.


Commit: 34c57519489186ae62a28072199b247211c05161
    https://github.com/scummvm/scummvm/commit/34c57519489186ae62a28072199b247211c05161
Author: Johannes Schickel (lordhoto at scummvm.org)
Date: 2012-06-12T19:13:16-07:00

Commit Message:
KYRA: Reduce amount of updateScreen calls.

This fixes some slowdowns in Kyra2 with the OpenGL backend for me. Most of the
updateScreen calls saved were introduced by us implementing the original
behavior of hiding the mouse before drawing onto the screen and showing it
again afterwards, since the mouse cursor is not drawn on the game screen in our
implementation (and unlike in the original) this is not necessary.

Changed paths:
    engines/kyra/animator_hof.cpp
    engines/kyra/animator_mr.cpp
    engines/kyra/gui_hof.cpp
    engines/kyra/gui_lok.cpp
    engines/kyra/gui_mr.cpp
    engines/kyra/gui_v1.cpp
    engines/kyra/gui_v2.cpp
    engines/kyra/items_hof.cpp
    engines/kyra/items_lok.cpp
    engines/kyra/items_mr.cpp
    engines/kyra/items_v2.cpp
    engines/kyra/kyra_hof.cpp
    engines/kyra/kyra_lok.cpp
    engines/kyra/kyra_mr.cpp
    engines/kyra/kyra_v2.cpp
    engines/kyra/screen.cpp
    engines/kyra/screen_lok.cpp
    engines/kyra/script_hof.cpp
    engines/kyra/script_lok.cpp
    engines/kyra/script_mr.cpp
    engines/kyra/sequences_lok.cpp
    engines/kyra/text_hof.cpp
    engines/kyra/text_lok.cpp
    engines/kyra/text_mr.cpp



diff --git a/engines/kyra/animator_hof.cpp b/engines/kyra/animator_hof.cpp
index 5a2378f..5911250 100644
--- a/engines/kyra/animator_hof.cpp
+++ b/engines/kyra/animator_hof.cpp
@@ -104,9 +104,7 @@ void KyraEngine_HoF::refreshAnimObjects(int force) {
 		if (height + y > 143)
 			height -= height + y - 144;
 
-		_screen->hideMouse();
 		_screen->copyRegion(x, y, x, y, width, height, 2, 0, Screen::CR_NO_P_CHECK);
-		_screen->showMouse();
 
 		curObject->needRefresh = false;
 	}
diff --git a/engines/kyra/animator_mr.cpp b/engines/kyra/animator_mr.cpp
index 29fa3ab..83e774e 100644
--- a/engines/kyra/animator_mr.cpp
+++ b/engines/kyra/animator_mr.cpp
@@ -175,9 +175,7 @@ void KyraEngine_MR::refreshAnimObjects(int force) {
 			height -= height + y - (maxY + 1);
 
 		if (height > 0) {
-			_screen->hideMouse();
 			_screen->copyRegion(x, y, x, y, width, height, 2, 0, Screen::CR_NO_P_CHECK);
-			_screen->showMouse();
 		}
 
 		curObject->needRefresh = false;
@@ -209,9 +207,7 @@ void KyraEngine_MR::updateItemAnimations() {
 				nextFrame = true;
 				_screen->drawShape(2, getShapePtr(422 + i), 9, 0, 0, 0);
 				_screen->drawShape(2, getShapePtr(shpIdx), 9, 0, 0, 0);
-				_screen->hideMouse();
 				_screen->copyRegion(9, 0, _inventoryX[i], _inventoryY[i], 24, 20, 2, 0, Screen::CR_NO_P_CHECK);
-				_screen->showMouse();
 			}
 		}
 	}
diff --git a/engines/kyra/gui_hof.cpp b/engines/kyra/gui_hof.cpp
index c1bfee0..36fbb0b 100644
--- a/engines/kyra/gui_hof.cpp
+++ b/engines/kyra/gui_hof.cpp
@@ -121,14 +121,12 @@ int KyraEngine_HoF::buttonInventory(Button *button) {
 	if (_itemInHand == kItemNone) {
 		if (item == kItemNone)
 			return 0;
-		_screen->hideMouse();
 		clearInventorySlot(inventorySlot, 0);
 		snd_playSoundEffect(0x0B);
 		setMouseCursor(item);
 		int string = (_lang == 1) ? getItemCommandStringPickUp(item) : 7;
 		updateCommandLineEx(item+54, string, 0xD6);
 		_itemInHand = (int16)item;
-		_screen->showMouse();
 		_mainCharacter.inventory[inventorySlot] = kItemNone;
 	} else {
 		if (_mainCharacter.inventory[inventorySlot] != kItemNone) {
@@ -137,23 +135,19 @@ int KyraEngine_HoF::buttonInventory(Button *button) {
 
 			item = _mainCharacter.inventory[inventorySlot];
 			snd_playSoundEffect(0x0B);
-			_screen->hideMouse();
 			clearInventorySlot(inventorySlot, 0);
 			drawInventoryShape(0, _itemInHand, inventorySlot);
 			setMouseCursor(item);
 			int string = (_lang == 1) ? getItemCommandStringPickUp(item) : 7;
 			updateCommandLineEx(item+54, string, 0xD6);
-			_screen->showMouse();
 			_mainCharacter.inventory[inventorySlot] = _itemInHand;
 			setHandItem(item);
 		} else {
 			snd_playSoundEffect(0x0C);
-			_screen->hideMouse();
 			drawInventoryShape(0, _itemInHand, inventorySlot);
 			_screen->setMouseCursor(0, 0, getShapePtr(0));
 			int string = (_lang == 1) ? getItemCommandStringInv(_itemInHand) : 8;
 			updateCommandLineEx(_itemInHand+54, string, 0xD6);
-			_screen->showMouse();
 			_mainCharacter.inventory[inventorySlot] = _itemInHand;
 			_itemInHand = kItemNone;
 		}
@@ -172,9 +166,7 @@ int KyraEngine_HoF::scrollInventory(Button *button) {
 	memcpy(src+5, dst, sizeof(Item)*5);
 	memcpy(dst, dst+5, sizeof(Item)*5);
 	memcpy(dst+5, temp, sizeof(Item)*5);
-	_screen->hideMouse();
 	_screen->copyRegion(0x46, 0x90, 0x46, 0x90, 0x71, 0x2E, 0, 2);
-	_screen->showMouse();
 	redrawInventory(2);
 	scrollInventoryWheel();
 	return 0;
@@ -199,9 +191,7 @@ int KyraEngine_HoF::findFreeVisibleInventorySlot() {
 void KyraEngine_HoF::removeSlotFromInventory(int slot) {
 	_mainCharacter.inventory[slot] = kItemNone;
 	if (slot < 10) {
-		_screen->hideMouse();
 		clearInventorySlot(slot, 0);
-		_screen->showMouse();
 	}
 }
 
@@ -223,15 +213,12 @@ bool KyraEngine_HoF::checkInventoryItemExchange(Item handItem, int slot) {
 
 		snd_playSoundEffect(0x68);
 		_mainCharacter.inventory[slot] = newItem;
-		_screen->hideMouse();
 		clearInventorySlot(slot, 0);
 		drawInventoryShape(0, newItem, slot);
 
 		if (removeItem)
 			removeHandItem();
 
-		_screen->showMouse();
-
 		if (_lang != 1)
 			updateCommandLineEx(newItem+54, 0x2E, 0xD6);
 
@@ -243,12 +230,10 @@ bool KyraEngine_HoF::checkInventoryItemExchange(Item handItem, int slot) {
 
 void KyraEngine_HoF::drawInventoryShape(int page, Item item, int slot) {
 	_screen->drawShape(page, getShapePtr(item+64), _inventoryX[slot], _inventoryY[slot], 0, 0);
-	_screen->updateScreen();
 }
 
 void KyraEngine_HoF::clearInventorySlot(int slot, int page) {
 	_screen->drawShape(page, getShapePtr(240+slot), _inventoryX[slot], _inventoryY[slot], 0, 0);
-	_screen->updateScreen();
 }
 
 void KyraEngine_HoF::redrawInventory(int page) {
@@ -256,7 +241,6 @@ void KyraEngine_HoF::redrawInventory(int page) {
 	_screen->_curPage = page;
 
 	const Item *inventory = _mainCharacter.inventory;
-	_screen->hideMouse();
 	for (int i = 0; i < 10; ++i) {
 		clearInventorySlot(i, page);
 		if (inventory[i] != kItemNone) {
@@ -264,7 +248,6 @@ void KyraEngine_HoF::redrawInventory(int page) {
 			drawInventoryShape(page, inventory[i], i);
 		}
 	}
-	_screen->showMouse();
 	_screen->updateScreen();
 
 	_screen->_curPage = pageBackUp;
@@ -277,17 +260,13 @@ void KyraEngine_HoF::scrollInventoryWheel() {
 	memcpy(_screenBuffer, _screen->getCPagePtr(2), 64000);
 	uint8 overlay[0x100];
 	_screen->generateOverlay(_screen->getPalette(0), overlay, 0, 50);
-	_screen->hideMouse();
 	_screen->copyRegion(0x46, 0x90, 0x46, 0x79, 0x71, 0x17, 0, 2, Screen::CR_NO_P_CHECK);
-	_screen->showMouse();
 	snd_playSoundEffect(0x25);
 
 	bool breakFlag = false;
 	for (int i = 0; i <= 6 && !breakFlag; ++i) {
 		if (movie.opened()) {
-			_screen->hideMouse();
 			movie.displayFrame(i % frames, 0, 0, 0, 0, 0, 0);
-			_screen->showMouse();
 			_screen->updateScreen();
 		}
 
@@ -355,9 +334,7 @@ int KyraEngine_HoF::bookButton(Button *button) {
 	_bookNewPage = _bookCurPage;
 
 	if (_screenBuffer) {
-		_screen->hideMouse();
 		memcpy(_screenBuffer, _screen->getCPagePtr(0), 64000);
-		_screen->showMouse();
 	}
 
 	_screen->copyPalette(2, 0);
@@ -382,9 +359,7 @@ int KyraEngine_HoF::bookButton(Button *button) {
 	restorePage3();
 
 	if (_screenBuffer) {
-		_screen->hideMouse();
 		_screen->copyBlockToPage(0, 0, 0, 320, 200, _screenBuffer);
-		_screen->showMouse();
 	}
 
 	setHandItem(_itemInHand);
@@ -471,7 +446,6 @@ void KyraEngine_HoF::showBookPage() {
 
 	int rightPageY = _bookPageYOffset[_bookCurPage+1];
 
-	_screen->hideMouse();
 	if (leftPage) {
 		bookDecodeText(leftPage);
 		bookPrintText(2, leftPage, 20, leftPageY+20, 0x31);
@@ -483,7 +457,6 @@ void KyraEngine_HoF::showBookPage() {
 		bookPrintText(2, rightPage, 176, rightPageY+20, 0x31);
 		delete[] rightPage;
 	}
-	_screen->showMouse();
 }
 
 void KyraEngine_HoF::bookLoop() {
@@ -517,10 +490,8 @@ void KyraEngine_HoF::bookLoop() {
 			loadBookBkgd();
 			showBookPage();
 			snd_playSoundEffect(0x64);
-			_screen->hideMouse();
 			_screen->copyRegion(0, 0, 0, 0, 0x140, 0xC8, 2, 0, Screen::CR_NO_P_CHECK);
 			_screen->updateScreen();
-			_screen->showMouse();
 		}
 		_system->delayMillis(10);
 	}
@@ -550,9 +521,7 @@ void KyraEngine_HoF::bookPrintText(int dstPage, const uint8 *str, int x, int y,
 	Screen::FontId oldFont = _screen->setFont(_flags.lang == Common::JA_JPN ? Screen::FID_SJIS_FNT : Screen::FID_BOOKFONT_FNT);
 	_screen->_charWidth = -2;
 
-	_screen->hideMouse();
 	_screen->printText((const char *)str, x, y, color, (_flags.lang == Common::JA_JPN) ? 0xf6 : 0);
-	_screen->showMouse();
 
 	_screen->_charWidth = 0;
 	_screen->setFont(oldFont);
@@ -679,9 +648,7 @@ int GUI_HoF::optionsButton(Button *button) {
 	_restartGame = false;
 	_reloadTemporarySave = false;
 
-	_screen->hideMouse();
 	updateButton(&_vm->_inventoryButtons[0]);
-	_screen->showMouse();
 
 	if (!_screen->isMouseVisible() && button)
 		return 0;
@@ -690,9 +657,7 @@ int GUI_HoF::optionsButton(Button *button) {
 
 	if (_vm->_mouseState < -1) {
 		_vm->_mouseState = -1;
-		_screen->hideMouse();
 		_screen->setMouseCursor(1, 1, _vm->getShapePtr(0));
-		_screen->showMouse();
 		return 0;
 	}
 
diff --git a/engines/kyra/gui_lok.cpp b/engines/kyra/gui_lok.cpp
index b4e5148..8e18ff9 100644
--- a/engines/kyra/gui_lok.cpp
+++ b/engines/kyra/gui_lok.cpp
@@ -48,19 +48,16 @@ int KyraEngine_LoK::buttonInventoryCallback(Button *caller) {
 			snd_playSoundEffect(0x36);
 			return 0;
 		} else {
-			_screen->hideMouse();
 			_screen->fillRect(_itemPosX[itemOffset], _itemPosY[itemOffset], _itemPosX[itemOffset] + 15, _itemPosY[itemOffset] + 15, _flags.platform == Common::kPlatformAmiga ? 19 : 12);
 			snd_playSoundEffect(0x35);
 			setMouseItem(inventoryItem);
 			updateSentenceCommand(_itemList[getItemListIndex(inventoryItem)], _takenList[0], 179);
 			_itemInHand = inventoryItem;
-			_screen->showMouse();
 			_currentCharacter->inventoryItems[itemOffset] = kItemNone;
 		}
 	} else {
 		if (inventoryItem != kItemNone) {
 			snd_playSoundEffect(0x35);
-			_screen->hideMouse();
 			_screen->fillRect(_itemPosX[itemOffset], _itemPosY[itemOffset], _itemPosX[itemOffset] + 15, _itemPosY[itemOffset] + 15, _flags.platform == Common::kPlatformAmiga ? 19 : 12);
 			_screen->drawShape(0, _shapes[216 + _itemInHand], _itemPosX[itemOffset], _itemPosY[itemOffset], 0, 0);
 			setMouseItem(inventoryItem);
@@ -69,16 +66,13 @@ int KyraEngine_LoK::buttonInventoryCallback(Button *caller) {
 				updateSentenceCommand(_itemList[getItemListIndex(inventoryItem)], _takenList[0], 179);
 			else
 				updateSentenceCommand(_itemList[getItemListIndex(inventoryItem)], _takenList[1], 179);
-			_screen->showMouse();
 			_currentCharacter->inventoryItems[itemOffset] = _itemInHand;
 			_itemInHand = inventoryItem;
 		} else {
 			snd_playSoundEffect(0x32);
-			_screen->hideMouse();
 			_screen->drawShape(0, _shapes[216 + _itemInHand], _itemPosX[itemOffset], _itemPosY[itemOffset], 0, 0);
 			_screen->setMouseCursor(1, 1, _shapes[0]);
 			updateSentenceCommand(_itemList[getItemListIndex(_itemInHand)], _placedList[0], 179);
-			_screen->showMouse();
 			_currentCharacter->inventoryItems[itemOffset] = _itemInHand;
 			_itemInHand = kItemNone;
 		}
diff --git a/engines/kyra/gui_mr.cpp b/engines/kyra/gui_mr.cpp
index e88b7fd..37526f9 100644
--- a/engines/kyra/gui_mr.cpp
+++ b/engines/kyra/gui_mr.cpp
@@ -104,7 +104,6 @@ int KyraEngine_MR::callbackButton3(Button *button) {
 
 void KyraEngine_MR::showMessage(const char *string, uint8 c0, uint8 c1) {
 	_shownMessage = string;
-	_screen->hideMouse();
 
 	restoreCommandLine();
 	_restoreCommandLine = false;
@@ -118,8 +117,6 @@ void KyraEngine_MR::showMessage(const char *string, uint8 c0, uint8 c1) {
 		_screen->updateScreen();
 		setCommandLineRestoreTimer(7);
 	}
-
-	_screen->showMouse();
 }
 
 void KyraEngine_MR::showMessageFromCCode(int string, uint8 c0, int) {
@@ -330,10 +327,8 @@ void KyraEngine_MR::drawMalcolmsMoodText() {
 		_screen->_curPage = 2;
 	}
 
-	_screen->hideMouse();
 	_screen->drawShape(_screen->_curPage, getShapePtr(432), 244, 189, 0, 0);
 	_text->printText(string, x, y+1, 0xFF, 0xF0, 0x00);
-	_screen->showMouse();
 	_screen->_curPage = pageBackUp;
 }
 
@@ -441,7 +436,6 @@ void KyraEngine_MR::redrawInventory(int page) {
 
 	int pageBackUp = _screen->_curPage;
 	_screen->_curPage = page;
-	_screen->hideMouse();
 
 	for (int i = 0; i < 10; ++i) {
 		clearInventorySlot(i, page);
@@ -451,7 +445,6 @@ void KyraEngine_MR::redrawInventory(int page) {
 		}
 	}
 
-	_screen->showMouse();
 	_screen->_curPage = pageBackUp;
 
 	if (page == 0 || page == 1)
@@ -489,14 +482,12 @@ int KyraEngine_MR::buttonInventory(Button *button) {
 		if (slotItem == kItemNone)
 			return 0;
 
-		_screen->hideMouse();
 		clearInventorySlot(slot, 0);
 		snd_playSoundEffect(0x0B, 0xC8);
 		setMouseCursor(slotItem);
 		updateItemCommand(slotItem, (_lang == 1) ? getItemCommandStringPickUp(slotItem) : 0, 0xFF);
 		_itemInHand = slotItem;
 		_mainCharacter.inventory[slot] = kItemNone;
-		_screen->showMouse();
 	} else if (_itemInHand == 27) {
 		if (_chatText)
 			return 0;
@@ -508,21 +499,17 @@ int KyraEngine_MR::buttonInventory(Button *button) {
 
 			snd_playSoundEffect(0x0B, 0xC8);
 
-			_screen->hideMouse();
 			clearInventorySlot(slot, 0);
 			drawInventorySlot(0, _itemInHand, slot);
 			setMouseCursor(slotItem);
 			updateItemCommand(slotItem, (_lang == 1) ? getItemCommandStringPickUp(slotItem) : 0, 0xFF);
 			_mainCharacter.inventory[slot] = _itemInHand;
 			_itemInHand = slotItem;
-			_screen->showMouse();
 		} else {
 			snd_playSoundEffect(0x0C, 0xC8);
-			_screen->hideMouse();
 			drawInventorySlot(0, _itemInHand, slot);
 			_screen->setMouseCursor(0, 0, getShapePtr(0));
 			updateItemCommand(_itemInHand, (_lang == 1) ? getItemCommandStringInv(_itemInHand) : 2, 0xFF);
-			_screen->showMouse();
 			_mainCharacter.inventory[slot] = _itemInHand;
 			_itemInHand = kItemNone;
 		}
@@ -624,22 +611,18 @@ int KyraEngine_MR::buttonShowScore(Button *button) {
 int KyraEngine_MR::buttonJesterStaff(Button *button) {
 	makeCharFacingMouse();
 	if (_itemInHand == 27) {
-		_screen->hideMouse();
 		removeHandItem();
 		snd_playSoundEffect(0x0C, 0xC8);
 		drawJestersStaff(1, 0);
 		updateItemCommand(27, 2, 0xFF);
 		setGameFlag(0x97);
-		_screen->showMouse();
 	} else if (_itemInHand == kItemNone) {
 		if (queryGameFlag(0x97)) {
-			_screen->hideMouse();
 			snd_playSoundEffect(0x0B, 0xC8);
 			setHandItem(27);
 			drawJestersStaff(0, 0);
 			updateItemCommand(27, 0, 0xFF);
 			resetGameFlag(0x97);
-			_screen->showMouse();
 		} else {
 			if (queryGameFlag(0x2F))
 				objectChat((const char *)getTableEntry(_cCodeFile, 20), 0, 204, 20);
@@ -1108,9 +1091,7 @@ int GUI_MR::redrawButtonCallback(Button *button) {
 	if (!_displayMenu)
 		return 0;
 
-	_screen->hideMouse();
 	_screen->drawBox(button->x + 1, button->y + 1, button->x + button->width - 1, button->y + button->height - 1, 0xD0);
-	_screen->showMouse();
 
 	return 0;
 }
@@ -1119,9 +1100,7 @@ int GUI_MR::redrawShadedButtonCallback(Button *button) {
 	if (!_displayMenu)
 		return 0;
 
-	_screen->hideMouse();
 	_screen->drawShadedBox(button->x, button->y, button->x + button->width, button->y + button->height, 0xD1, 0xCF);
-	_screen->showMouse();
 
 	return 0;
 }
@@ -1162,9 +1141,7 @@ int GUI_MR::quitGame(Button *caller) {
 int GUI_MR::optionsButton(Button *button) {
 	PauseTimer pause(*_vm->_timer);
 
-	_screen->hideMouse();
 	updateButton(&_vm->_mainButtonData[0]);
-	_screen->showMouse();
 
 	if (!_vm->_inventoryState && button && !_vm->_menuDirectlyToLoad)
 		return 0;
@@ -1179,9 +1156,7 @@ int GUI_MR::optionsButton(Button *button) {
 
 	if (_vm->_mouseState < -1) {
 		_vm->_mouseState = -1;
-		_screen->hideMouse();
 		_screen->setMouseCursor(1, 1, _vm->getShapePtr(0));
-		_screen->showMouse();
 		return 0;
 	}
 
diff --git a/engines/kyra/gui_v1.cpp b/engines/kyra/gui_v1.cpp
index f3459dd..cec6562 100644
--- a/engines/kyra/gui_v1.cpp
+++ b/engines/kyra/gui_v1.cpp
@@ -70,8 +70,6 @@ void GUI_v1::initMenuLayout(Menu &menu) {
 void GUI_v1::initMenu(Menu &menu) {
 	_menuButtonList = 0;
 
-	_screen->hideMouse();
-
 	int textX;
 	int textY;
 
@@ -192,7 +190,6 @@ void GUI_v1::initMenu(Menu &menu) {
 		updateMenuButton(scrollDownButton);
 	}
 
-	_screen->showMouse();
 	_screen->updateScreen();
 }
 
@@ -309,10 +306,8 @@ void GUI_v1::updateMenuButton(Button *button) {
 	if (!_displayMenu)
 		return;
 
-	_screen->hideMouse();
 	updateButton(button);
 	_screen->updateScreen();
-	_screen->showMouse();
 }
 
 void GUI_v1::updateButton(Button *button) {
@@ -340,12 +335,10 @@ int GUI_v1::redrawButtonCallback(Button *button) {
 	if (!_displayMenu)
 		return 0;
 
-	_screen->hideMouse();
 	if (_vm->gameFlags().platform == Common::kPlatformAmiga)
 		_screen->drawBox(button->x + 1, button->y + 1, button->x + button->width - 1, button->y + button->height - 1, 17);
 	else
 		_screen->drawBox(button->x + 1, button->y + 1, button->x + button->width - 1, button->y + button->height - 1, 0xF8);
-	_screen->showMouse();
 
 	return 0;
 }
@@ -354,12 +347,10 @@ int GUI_v1::redrawShadedButtonCallback(Button *button) {
 	if (!_displayMenu)
 		return 0;
 
-	_screen->hideMouse();
 	if (_vm->gameFlags().platform == Common::kPlatformAmiga)
 		_screen->drawShadedBox(button->x, button->y, button->x + button->width, button->y + button->height, 31, 18);
 	else
 		_screen->drawShadedBox(button->x, button->y, button->x + button->width, button->y + button->height, 0xF9, 0xFA);
-	_screen->showMouse();
 
 	return 0;
 }
diff --git a/engines/kyra/gui_v2.cpp b/engines/kyra/gui_v2.cpp
index 65f8bd4..1df4149 100644
--- a/engines/kyra/gui_v2.cpp
+++ b/engines/kyra/gui_v2.cpp
@@ -105,15 +105,11 @@ void GUI_v2::processButton(Button *button) {
 
 	switch (val1 - 1) {
 	case 0:
-		_screen->hideMouse();
 		_screen->drawShape(_screen->_curPage, dataPtr, x, y, button->dimTableIndex, 0x10);
-		_screen->showMouse();
 		break;
 
 	case 1:
-		_screen->hideMouse();
 		_screen->printText((const char *)dataPtr, x, y, val2, val3);
-		_screen->showMouse();
 		break;
 
 	case 3:
@@ -122,22 +118,16 @@ void GUI_v2::processButton(Button *button) {
 		break;
 
 	case 4:
-		_screen->hideMouse();
 		_screen->drawBox(x, y, x2, y2, val2);
-		_screen->showMouse();
 		break;
 
 	case 5:
-		_screen->hideMouse();
 		_screen->fillRect(x, y, x2, y2, val2, -1, true);
-		_screen->showMouse();
 		break;
 
 	default:
 		break;
 	}
-
-	_screen->updateScreen();
 }
 
 int GUI_v2::processButtonList(Button *buttonList, uint16 inputFlag, int8 mouseWheel) {
diff --git a/engines/kyra/items_hof.cpp b/engines/kyra/items_hof.cpp
index 711e1b8..ef2c50c 100644
--- a/engines/kyra/items_hof.cpp
+++ b/engines/kyra/items_hof.cpp
@@ -300,8 +300,6 @@ void KyraEngine_HoF::itemDropDown(int startX, int startY, int dstX, int dstY, in
 }
 
 void KyraEngine_HoF::exchangeMouseItem(int itemPos) {
-	_screen->hideMouse();
-
 	deleteItemAnimEntry(itemPos);
 
 	int itemId = _itemList[itemPos].id;
@@ -317,7 +315,6 @@ void KyraEngine_HoF::exchangeMouseItem(int itemPos) {
 		str2 = getItemCommandStringPickUp(itemId);
 
 	updateCommandLineEx(itemId + 54, str2, 0xD6);
-	_screen->showMouse();
 
 	runSceneScript6();
 }
@@ -331,7 +328,6 @@ bool KyraEngine_HoF::pickUpItem(int x, int y) {
 	if (_itemInHand >= 0) {
 		exchangeMouseItem(itemPos);
 	} else {
-		_screen->hideMouse();
 		deleteItemAnimEntry(itemPos);
 		int itemId = _itemList[itemPos].id;
 		_itemList[itemPos].id = kItemNone;
@@ -344,7 +340,6 @@ bool KyraEngine_HoF::pickUpItem(int x, int y) {
 
 		updateCommandLineEx(itemId + 54, str2, 0xD6);
 		_itemInHand = itemId;
-		_screen->showMouse();
 
 		runSceneScript6();
 	}
diff --git a/engines/kyra/items_lok.cpp b/engines/kyra/items_lok.cpp
index 2937038..b92cd61 100644
--- a/engines/kyra/items_lok.cpp
+++ b/engines/kyra/items_lok.cpp
@@ -163,17 +163,13 @@ void KyraEngine_LoK::placeItemInGenericMapScene(int item, int index) {
 }
 
 void KyraEngine_LoK::setHandItem(Item item) {
-	_screen->hideMouse();
 	setMouseItem(item);
 	_itemInHand = item;
-	_screen->showMouse();
 }
 
 void KyraEngine_LoK::removeHandItem() {
-	_screen->hideMouse();
 	_screen->setMouseCursor(1, 1, _shapes[0]);
 	_itemInHand = kItemNone;
-	_screen->showMouse();
 }
 
 void KyraEngine_LoK::setMouseItem(Item item) {
@@ -415,7 +411,6 @@ int KyraEngine_LoK::processItemDrop(uint16 sceneId, uint8 item, int x, int y, in
 }
 
 void KyraEngine_LoK::exchangeItemWithMouseItem(uint16 sceneId, int itemIndex) {
-	_screen->hideMouse();
 	_animator->animRemoveGameItem(itemIndex);
 	assert(sceneId < _roomTableSize);
 	Room *currentRoom = &_roomTable[sceneId];
@@ -432,7 +427,6 @@ void KyraEngine_LoK::exchangeItemWithMouseItem(uint16 sceneId, int itemIndex) {
 		updateSentenceCommand(_itemList[getItemListIndex(_itemInHand)], _takenList[0], 179);
 	else
 		updateSentenceCommand(_itemList[getItemListIndex(_itemInHand)], _takenList[1], 179);
-	_screen->showMouse();
 	clickEventHandler2();
 }
 
@@ -720,9 +714,7 @@ void KyraEngine_LoK::magicOutMouseItem(int animIndex, int itemPos) {
 		_itemInHand = kItemNone;
 	} else {
 		_characterList[0].inventoryItems[itemPos] = kItemNone;
-		_screen->hideMouse();
 		_screen->fillRect(_itemPosX[itemPos], _itemPosY[itemPos], _itemPosX[itemPos] + 15, _itemPosY[itemPos] + 15, _flags.platform == Common::kPlatformAmiga ? 19 : 12, 0);
-		_screen->showMouse();
 	}
 
 	_screen->showMouse();
@@ -793,9 +785,7 @@ void KyraEngine_LoK::magicInMouseItem(int animIndex, int item, int itemPos) {
 		_itemInHand = item;
 	} else {
 		_characterList[0].inventoryItems[itemPos] = item;
-		_screen->hideMouse();
 		_screen->drawShape(0, _shapes[216 + item], _itemPosX[itemPos], _itemPosY[itemPos], 0, 0);
-		_screen->showMouse();
 	}
 	_screen->showMouse();
 	_screen->_curPage = videoPageBackUp;
@@ -846,9 +836,7 @@ void KyraEngine_LoK::updatePlayerItemsForScene() {
 		++_itemInHand;
 		if (_itemInHand > 33)
 			_itemInHand = 33;
-		_screen->hideMouse();
 		_screen->setMouseCursor(8, 15, _shapes[216 + _itemInHand]);
-		_screen->showMouse();
 	}
 
 	bool redraw = false;
@@ -864,9 +852,7 @@ void KyraEngine_LoK::updatePlayerItemsForScene() {
 	}
 
 	if (redraw) {
-		_screen->hideMouse();
 		redrawInventory(0);
-		_screen->showMouse();
 	}
 
 	if (_itemInHand == 33)
@@ -884,7 +870,6 @@ void KyraEngine_LoK::updatePlayerItemsForScene() {
 void KyraEngine_LoK::redrawInventory(int page) {
 	int videoPageBackUp = _screen->_curPage;
 	_screen->_curPage = page;
-	_screen->hideMouse();
 	for (int i = 0; i < 10; ++i) {
 		_screen->fillRect(_itemPosX[i], _itemPosY[i], _itemPosX[i] + 15, _itemPosY[i] + 15, _flags.platform == Common::kPlatformAmiga ? 19 : 12, page);
 
@@ -893,7 +878,6 @@ void KyraEngine_LoK::redrawInventory(int page) {
 			_screen->drawShape(page, _shapes[216 + item], _itemPosX[i], _itemPosY[i], 0, 0);
 		}
 	}
-	_screen->showMouse();
 	_screen->_curPage = videoPageBackUp;
 	_screen->updateScreen();
 }
diff --git a/engines/kyra/items_mr.cpp b/engines/kyra/items_mr.cpp
index c731627..029f676 100644
--- a/engines/kyra/items_mr.cpp
+++ b/engines/kyra/items_mr.cpp
@@ -319,7 +319,6 @@ void KyraEngine_MR::exchangeMouseItem(int itemPos, int runScript) {
 		return;
 	}
 
-	_screen->hideMouse();
 	deleteItemAnimEntry(itemPos);
 
 	Item itemId = _itemList[itemPos].id;
@@ -335,7 +334,6 @@ void KyraEngine_MR::exchangeMouseItem(int itemPos, int runScript) {
 		str2 = getItemCommandStringPickUp(itemId);
 
 	updateItemCommand(itemId, str2, 0xFF);
-	_screen->showMouse();
 
 	if (runScript)
 		runSceneScript6();
@@ -350,7 +348,6 @@ bool KyraEngine_MR::pickUpItem(int x, int y, int runScript) {
 	if (_itemInHand >= 0) {
 		exchangeMouseItem(itemPos, runScript);
 	} else {
-		_screen->hideMouse();
 		deleteItemAnimEntry(itemPos);
 		Item itemId = _itemList[itemPos].id;
 		_itemList[itemPos].id = kItemNone;
@@ -363,7 +360,6 @@ bool KyraEngine_MR::pickUpItem(int x, int y, int runScript) {
 
 		updateItemCommand(itemId, itemString, 0xFF);
 		_itemInHand = itemId;
-		_screen->showMouse();
 
 		if (runScript)
 			runSceneScript6();
@@ -401,7 +397,6 @@ bool KyraEngine_MR::itemListMagic(Item handItem, int itemSlot) {
 
 		assert(animObjIndex != -1);
 
-		_screen->hideMouse();
 		snd_playSoundEffect(0x93, 0xC8);
 		for (int i = 109; i <= 141; ++i) {
 			_animObjects[animObjIndex].shapeIndex1 = i+248;
@@ -411,7 +406,6 @@ bool KyraEngine_MR::itemListMagic(Item handItem, int itemSlot) {
 
 		deleteItemAnimEntry(itemSlot);
 		_itemList[itemSlot].id = kItemNone;
-		_screen->showMouse();
 		return true;
 	}
 
@@ -440,7 +434,6 @@ bool KyraEngine_MR::itemListMagic(Item handItem, int itemSlot) {
 
 		_itemList[itemSlot].id = (int8)resItem;
 
-		_screen->hideMouse();
 		deleteItemAnimEntry(itemSlot);
 		addItemToAnimList(itemSlot);
 
@@ -448,7 +441,6 @@ bool KyraEngine_MR::itemListMagic(Item handItem, int itemSlot) {
 			removeHandItem();
 		else if (newItem != 0xFF)
 			setHandItem(newItem);
-		_screen->showMouse();
 
 		if (_lang != 1)
 			updateItemCommand(resItem, 3, 0xFF);
@@ -500,7 +492,6 @@ bool KyraEngine_MR::itemInventoryMagic(Item handItem, int invSlot) {
 
 		_mainCharacter.inventory[invSlot] = (int8)resItem;
 
-		_screen->hideMouse();
 		clearInventorySlot(invSlot, 0);
 		drawInventorySlot(0, resItem, invSlot);
 
@@ -508,7 +499,6 @@ bool KyraEngine_MR::itemInventoryMagic(Item handItem, int invSlot) {
 			removeHandItem();
 		else if (newItem != 0xFF)
 			setHandItem(newItem);
-		_screen->showMouse();
 
 		if (_lang != 1)
 			updateItemCommand(resItem, 3, 0xFF);
diff --git a/engines/kyra/items_v2.cpp b/engines/kyra/items_v2.cpp
index c191c2e..2145a2c 100644
--- a/engines/kyra/items_v2.cpp
+++ b/engines/kyra/items_v2.cpp
@@ -82,26 +82,19 @@ void KyraEngine_v2::resetItem(int index) {
 }
 
 void KyraEngine_v2::setHandItem(Item item) {
-	Screen *scr = screen();
-	scr->hideMouse();
-
 	if (item == kItemNone) {
 		removeHandItem();
 	} else {
 		setMouseCursor(item);
 		_itemInHand = item;
 	}
-
-	scr->showMouse();
 }
 
 void KyraEngine_v2::removeHandItem() {
 	Screen *scr = screen();
-	scr->hideMouse();
 	scr->setMouseCursor(0, 0, getShapePtr(0));
 	_itemInHand = kItemNone;
 	_mouseState = kItemNone;
-	scr->showMouse();
 }
 
 } // end of namesapce Kyra
diff --git a/engines/kyra/kyra_hof.cpp b/engines/kyra/kyra_hof.cpp
index 0ba173d..7fbecb7 100644
--- a/engines/kyra/kyra_hof.cpp
+++ b/engines/kyra/kyra_hof.cpp
@@ -419,8 +419,6 @@ void KyraEngine_HoF::startup() {
 	_screen->loadPalette("PALETTE.COL", _screen->getPalette(0));
 	_screen->loadBitmap("_PLAYFLD.CPS", 3, 3, 0);
 	_screen->copyPage(3, 0);
-	_screen->showMouse();
-	_screen->hideMouse();
 
 	clearAnimObjects();
 
@@ -784,20 +782,16 @@ void KyraEngine_HoF::updateMouse() {
 
 	if (type != 0 && _mouseState != type && _screen->isMouseVisible()) {
 		_mouseState = type;
-		_screen->hideMouse();
 		_screen->setMouseCursor(xOffset, yOffset, getShapePtr(shapeIndex));
-		_screen->showMouse();
 	}
 
 	if (type == 0 && _mouseState != _itemInHand && _screen->isMouseVisible()) {
 		if ((mouse.y > 145) || (mouse.x > 6 && mouse.x < 312 && mouse.y > 6 && mouse.y < 135)) {
 			_mouseState = _itemInHand;
-			_screen->hideMouse();
 			if (_itemInHand == kItemNone)
 				_screen->setMouseCursor(0, 0, getShapePtr(0));
 			else
 				_screen->setMouseCursor(8, 15, getShapePtr(_itemInHand+64));
-			_screen->showMouse();
 		}
 	}
 }
@@ -914,7 +908,6 @@ void KyraEngine_HoF::showMessageFromCCode(int id, int16 palIndex, int) {
 
 void KyraEngine_HoF::showMessage(const char *string, int16 palIndex) {
 	_shownMessage = string;
-	_screen->hideMouse();
 	_screen->fillRect(0, 190, 319, 199, 0xCF);
 
 	if (string) {
@@ -932,7 +925,6 @@ void KyraEngine_HoF::showMessage(const char *string, int16 palIndex) {
 	}
 
 	_fadeMessagePalette = false;
-	_screen->showMouse();
 }
 
 void KyraEngine_HoF::showChapterMessage(int id, int16 palIndex) {
@@ -1116,9 +1108,7 @@ int KyraEngine_HoF::getDrawLayer(int x, int y) {
 
 void KyraEngine_HoF::backUpPage0() {
 	if (_screenBuffer) {
-		_screen->hideMouse();
 		memcpy(_screenBuffer, _screen->getCPagePtr(0), 64000);
-		_screen->showMouse();
 	}
 }
 
diff --git a/engines/kyra/kyra_lok.cpp b/engines/kyra/kyra_lok.cpp
index ece4a0d..27bc2ad 100644
--- a/engines/kyra/kyra_lok.cpp
+++ b/engines/kyra/kyra_lok.cpp
@@ -454,10 +454,8 @@ void KyraEngine_LoK::mainLoop() {
 		if (_deathHandler != -1) {
 			snd_playWanderScoreViaMap(0, 1);
 			snd_playSoundEffect(49);
-			_screen->hideMouse();
 			_screen->setMouseCursor(1, 1, _shapes[0]);
 			removeHandItem();
-			_screen->showMouse();
 			_gui->buttonMenuCallback(0);
 			_deathHandler = -1;
 		}
@@ -706,7 +704,6 @@ int KyraEngine_LoK::processInputHelper(int xpos, int ypos) {
 	uint8 item = findItemAtPos(xpos, ypos);
 	if (item != 0xFF) {
 		if (_itemInHand == kItemNone) {
-			_screen->hideMouse();
 			_animator->animRemoveGameItem(item);
 			snd_playSoundEffect(53);
 			assert(_currentCharacter->sceneId < _roomTableSize);
@@ -717,7 +714,6 @@ int KyraEngine_LoK::processInputHelper(int xpos, int ypos) {
 			assert(_itemList && _takenList);
 			updateSentenceCommand(_itemList[getItemListIndex(item2)], _takenList[0], 179);
 			_itemInHand = item2;
-			_screen->showMouse();
 			clickEventHandler2();
 			return 1;
 		} else {
@@ -834,21 +830,17 @@ void KyraEngine_LoK::updateMousePointer(bool forceUpdate) {
 
 	if ((newMouseState && _mouseState != newMouseState) || (newMouseState && forceUpdate)) {
 		_mouseState = newMouseState;
-		_screen->hideMouse();
 		_screen->setMouseCursor(newX, newY, _shapes[shape]);
-		_screen->showMouse();
 	}
 
 	if (!newMouseState) {
 		if (_mouseState != _itemInHand || forceUpdate) {
 			if (mouse.y > 158 || (mouse.x >= 12 && mouse.x < 308 && mouse.y < 136 && mouse.y >= 12) || forceUpdate) {
 				_mouseState = _itemInHand;
-				_screen->hideMouse();
 				if (_itemInHand == kItemNone)
 					_screen->setMouseCursor(1, 1, _shapes[0]);
 				else
 					_screen->setMouseCursor(8, 15, _shapes[216 + _itemInHand]);
-				_screen->showMouse();
 			}
 		}
 	}
diff --git a/engines/kyra/kyra_mr.cpp b/engines/kyra/kyra_mr.cpp
index 39ed0d0..448e4ef 100644
--- a/engines/kyra/kyra_mr.cpp
+++ b/engines/kyra/kyra_mr.cpp
@@ -1298,7 +1298,6 @@ bool KyraEngine_MR::updateScore(int scoreId, int strId) {
 	setNextIdleAnimTimer();
 	_scoreFlagTable[scoreIndex] |= (1 << scoreBit);
 
-	_screen->hideMouse();
 	strcpy(_stringBuffer, (const char *)getTableEntry(_scoreFile, strId));
 	strcat(_stringBuffer, ":        ");
 
@@ -1308,7 +1307,6 @@ bool KyraEngine_MR::updateScore(int scoreId, int strId) {
 	if (count > 0)
 		scoreIncrease(count, _stringBuffer);
 
-	_screen->showMouse();
 	setNextIdleAnimTimer();
 	return true;
 }
diff --git a/engines/kyra/kyra_v2.cpp b/engines/kyra/kyra_v2.cpp
index 75b568a..848fb18 100644
--- a/engines/kyra/kyra_v2.cpp
+++ b/engines/kyra/kyra_v2.cpp
@@ -198,8 +198,6 @@ void KyraEngine_v2::moveCharacter(int facing, int x, int y) {
 	y &= ~1;
 	_mainCharacter.facing = facing;
 
-	Screen *scr = screen();
-	scr->hideMouse();
 	switch (facing) {
 	case 0:
 		while (_mainCharacter.y1 > y)
@@ -224,7 +222,6 @@ void KyraEngine_v2::moveCharacter(int facing, int x, int y) {
 	default:
 		break;
 	}
-	scr->showMouse();
 }
 
 void KyraEngine_v2::updateCharPosWithUpdate() {
diff --git a/engines/kyra/screen.cpp b/engines/kyra/screen.cpp
index 711fe15..4fd5985 100644
--- a/engines/kyra/screen.cpp
+++ b/engines/kyra/screen.cpp
@@ -1128,8 +1128,6 @@ void Screen::drawBox(int x1, int y1, int x2, int y2, int color) {
 
 void Screen::drawShadedBox(int x1, int y1, int x2, int y2, int color1, int color2) {
 	assert(x1 >= 0 && y1 >= 0);
-	hideMouse();
-
 	fillRect(x1, y1, x2, y1 + 1, color1);
 	fillRect(x2 - 1, y1, x2, y2, color1);
 
@@ -1137,8 +1135,6 @@ void Screen::drawShadedBox(int x1, int y1, int x2, int y2, int color1, int color
 	drawClippedLine(x1 + 1, y1 + 1, x1 + 1, y2 - 1, color2);
 	drawClippedLine(x1, y2 - 1, x2 - 1, y2 - 1, color2);
 	drawClippedLine(x1, y2, x2, y2, color2);
-
-	showMouse();
 }
 
 void Screen::drawClippedLine(int x1, int y1, int x2, int y2, int color) {
diff --git a/engines/kyra/screen_lok.cpp b/engines/kyra/screen_lok.cpp
index f32a898..f028f93 100644
--- a/engines/kyra/screen_lok.cpp
+++ b/engines/kyra/screen_lok.cpp
@@ -190,7 +190,6 @@ void Screen_LoK::copyBackgroundBlock(int x, int page, int flag) {
 	_curPage = page;
 
 	int curX = x;
-	hideMouse();
 	copyRegionToBuffer(_curPage, 8, 8, 8, height, ptr2);
 	for (int i = 0; i < 19; ++i) {
 		int tempX = curX + 1;
@@ -208,7 +207,6 @@ void Screen_LoK::copyBackgroundBlock(int x, int page, int flag) {
 			curX = curX % 38;
 		}
 	}
-	showMouse();
 	_curPage = oldVideoPage;
 }
 
diff --git a/engines/kyra/script_hof.cpp b/engines/kyra/script_hof.cpp
index b80b810..fca83ae 100644
--- a/engines/kyra/script_hof.cpp
+++ b/engines/kyra/script_hof.cpp
@@ -325,7 +325,6 @@ int KyraEngine_HoF::o2_drawShape(EMCState *script) {
 	if (modeFlag) {
 		_screen->drawShape(2, shp, x, y, 2, dsFlag ? 1 : 0);
 	} else {
-		_screen->hideMouse();
 		restorePage3();
 		_screen->drawShape(2, shp, x, y, 2, dsFlag ? 1 : 0);
 		memcpy(_gamePlayBuffer, _screen->getCPagePtr(3), 46080);
@@ -334,7 +333,6 @@ int KyraEngine_HoF::o2_drawShape(EMCState *script) {
 		flagAnimObjsForRefresh();
 		flagAnimObjsSpecialRefresh();
 		refreshAnimObjectsIfNeed();
-		_screen->showMouse();
 	}
 
 	return 0;
@@ -492,7 +490,6 @@ int KyraEngine_HoF::o2_drawSceneShape(EMCState *script) {
 	int y = stackPos(2);
 	int flag = (stackPos(3) != 0) ? 1 : 0;
 
-	_screen->hideMouse();
 	restorePage3();
 
 	_screen->drawShape(2, _sceneShapeTable[shape], x, y, 2, flag);
@@ -504,7 +501,6 @@ int KyraEngine_HoF::o2_drawSceneShape(EMCState *script) {
 	flagAnimObjsSpecialRefresh();
 	flagAnimObjsForRefresh();
 	refreshAnimObjectsIfNeed();
-	_screen->showMouse();
 	return 0;
 }
 
diff --git a/engines/kyra/script_lok.cpp b/engines/kyra/script_lok.cpp
index 8342bcc..db9e01c 100644
--- a/engines/kyra/script_lok.cpp
+++ b/engines/kyra/script_lok.cpp
@@ -157,7 +157,6 @@ int KyraEngine_LoK::o1_dropItemInScene(EMCState *script) {
 
 int KyraEngine_LoK::o1_drawAnimShapeIntoScene(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_LoK::o1_drawAnimShapeIntoScene(%p) (%d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3));
-	_screen->hideMouse();
 	_animator->restoreAllObjectBackgrounds();
 	int shape = stackPos(0);
 	int xpos = stackPos(1);
@@ -169,7 +168,6 @@ int KyraEngine_LoK::o1_drawAnimShapeIntoScene(EMCState *script) {
 	_animator->preserveAnyChangedBackgrounds();
 	_animator->flagAllObjectsForRefresh();
 	_animator->updateAllObjectShapes();
-	_screen->showMouse();
 	return 0;
 }
 
@@ -1298,7 +1296,6 @@ int KyraEngine_LoK::o1_drawItemShapeIntoScene(EMCState *script) {
 	if (onlyHidPage) {
 		_screen->drawShape(2, _shapes[216 + item], x, y, 0, flags);
 	} else {
-		_screen->hideMouse();
 		_animator->restoreAllObjectBackgrounds();
 		_screen->drawShape(2, _shapes[216 + item], x, y, 0, flags);
 		_screen->drawShape(0, _shapes[216 + item], x, y, 0, flags);
@@ -1306,7 +1303,6 @@ int KyraEngine_LoK::o1_drawItemShapeIntoScene(EMCState *script) {
 		_animator->preserveAnyChangedBackgrounds();
 		_animator->flagAllObjectsForRefresh();
 		_animator->updateAllObjectShapes();
-		_screen->showMouse();
 	}
 	return 0;
 }
diff --git a/engines/kyra/script_mr.cpp b/engines/kyra/script_mr.cpp
index afe11ab..22d0bc4 100644
--- a/engines/kyra/script_mr.cpp
+++ b/engines/kyra/script_mr.cpp
@@ -150,9 +150,7 @@ int KyraEngine_MR::o3_addItemToInventory(EMCState *script) {
 	if (slot >= 0) {
 		_mainCharacter.inventory[slot] = stackPos(0);
 		if (_inventoryState) {
-			_screen->hideMouse();
 			redrawInventory(0);
-			_screen->showMouse();
 		}
 	}
 	return slot;
@@ -330,7 +328,6 @@ int KyraEngine_MR::o3_drawSceneShape(EMCState *script) {
 	int shape = stackPos(0);
 	int flag = (stackPos(1) != 0) ? 1 : 0;
 
-	_screen->hideMouse();
 	restorePage3();
 
 	const int x = _sceneShapeDescs[shape].drawX;
@@ -344,7 +341,6 @@ int KyraEngine_MR::o3_drawSceneShape(EMCState *script) {
 
 	flagAnimObjsForRefresh();
 	refreshAnimObjectsIfNeed();
-	_screen->showMouse();
 	return 0;
 }
 
diff --git a/engines/kyra/sequences_lok.cpp b/engines/kyra/sequences_lok.cpp
index dd49d6f..e63d0a7 100644
--- a/engines/kyra/sequences_lok.cpp
+++ b/engines/kyra/sequences_lok.cpp
@@ -838,9 +838,7 @@ void KyraEngine_LoK::seq_fillFlaskWithWater(int item, int type) {
 	if (newItem == -1)
 		return;
 
-	_screen->hideMouse();
 	setMouseItem(newItem);
-	_screen->showMouse();
 	_itemInHand = newItem;
 
 	assert(_fullFlask);
diff --git a/engines/kyra/text_hof.cpp b/engines/kyra/text_hof.cpp
index 4a52d7d..06067d6 100644
--- a/engines/kyra/text_hof.cpp
+++ b/engines/kyra/text_hof.cpp
@@ -42,9 +42,7 @@ void TextDisplayer_HoF::restoreTalkTextMessageBkgd(int srcPage, int dstPage) {
 void TextDisplayer_HoF::restoreScreen() {
 	_vm->restorePage3();
 	_vm->drawAnimObjects();
-	_screen->hideMouse();
 	_screen->copyRegion(_talkCoords.x, _talkMessageY, _talkCoords.x, _talkMessageY, _talkCoords.w, _talkMessageH, 2, 0, Screen::CR_NO_P_CHECK);
-	_screen->showMouse();
 	_vm->flagAnimObjsForRefresh();
 	_vm->refreshAnimObjects(0);
 }
@@ -58,8 +56,6 @@ void TextDisplayer_HoF::printCustomCharacterText(const char *text, int x, int y,
 	int x1 = 0, x2 = 0;
 	calcWidestLineBounds(x1, x2, w, x);
 
-	_screen->hideMouse();
-
 	_talkCoords.x = x1;
 	_talkCoords.w = w+2;
 	_talkCoords.y = y;
@@ -78,7 +74,6 @@ void TextDisplayer_HoF::printCustomCharacterText(const char *text, int x, int y,
 	}
 
 	_screen->_curPage = curPageBackUp;
-	_screen->showMouse();
 }
 
 char *TextDisplayer_HoF::preprocessString(const char *str) {
@@ -248,8 +243,6 @@ void KyraEngine_HoF::objectChatInit(const char *str, int object, int vocHigh, in
 	restorePage3();
 	_text->backupTalkTextMessageBkgd(2, 2);
 
-	_screen->hideMouse();
-
 	_chatTextEnabled = textEnabled();
 	if (_chatTextEnabled) {
 		objectChatPrintText(str, object);
@@ -264,8 +257,6 @@ void KyraEngine_HoF::objectChatInit(const char *str, int object, int vocHigh, in
 	} else {
 		_chatVocHigh = _chatVocLow = -1;
 	}
-
-	_screen->showMouse();
 }
 
 void KyraEngine_HoF::objectChatPrintText(const char *str, int object) {
diff --git a/engines/kyra/text_lok.cpp b/engines/kyra/text_lok.cpp
index 62bdf18..a557940 100644
--- a/engines/kyra/text_lok.cpp
+++ b/engines/kyra/text_lok.cpp
@@ -296,10 +296,8 @@ void KyraEngine_LoK::characterSays(int vocFile, const char *chatStr, int8 charNu
 		_animator->restoreAllObjectBackgrounds();
 
 		_screen->copyRegion(12, _text->_talkMessageY, 12, 136, 296, _text->_talkMessageH, 2, 2);
-		_screen->hideMouse();
 
 		_text->printCharacterText(processedString, charNum, _characterList[charNum].x1);
-		_screen->showMouse();
 	}
 
 	if (chatDuration == -2)
@@ -317,10 +315,8 @@ void KyraEngine_LoK::characterSays(int vocFile, const char *chatStr, int8 charNu
 		_screen->copyRegion(12, 136, 12, _text->_talkMessageY, 296, _text->_talkMessageH, 2, 2);
 		_animator->preserveAllBackgrounds();
 		_animator->prepDrawAllObjects();
-		_screen->hideMouse();
 
 		_screen->copyRegion(12, _text->_talkMessageY, 12, _text->_talkMessageY, 296, _text->_talkMessageH, 2, 0);
-		_screen->showMouse();
 		_animator->flagAllObjectsForRefresh();
 		_animator->copyChangedObjectsForward(0);
 	}
@@ -332,7 +328,6 @@ void KyraEngine_LoK::characterSays(int vocFile, const char *chatStr, int8 charNu
 }
 
 void KyraEngine_LoK::drawSentenceCommand(const char *sentence, int color) {
-	_screen->hideMouse();
 	_screen->fillRect(8, 143, 311, 152, _flags.platform == Common::kPlatformAmiga ? 19 : 12);
 
 	if (_flags.platform == Common::kPlatformAmiga) {
@@ -354,7 +349,6 @@ void KyraEngine_LoK::drawSentenceCommand(const char *sentence, int color) {
 	}
 
 	_text->printText(sentence, 8, 143, 0xFF, _flags.platform == Common::kPlatformAmiga ? 19 : 12, 0);
-	_screen->showMouse();
 	setTextFadeTimerCountdown(15);
 	_fadeText = false;
 }
diff --git a/engines/kyra/text_mr.cpp b/engines/kyra/text_mr.cpp
index b680e9c..10b0880 100644
--- a/engines/kyra/text_mr.cpp
+++ b/engines/kyra/text_mr.cpp
@@ -145,9 +145,7 @@ void TextDisplayer_MR::printText(const char *str, int x, int y, uint8 c0, uint8
 void TextDisplayer_MR::restoreScreen() {
 	_vm->restorePage3();
 	_vm->drawAnimObjects();
-	_screen->hideMouse();
 	_screen->copyRegion(_talkCoords.x, _talkMessageY, _talkCoords.x, _talkMessageY, _talkCoords.w, _talkMessageH, 2, 0, Screen::CR_NO_P_CHECK);
-	_screen->showMouse();
 	_vm->flagAnimObjsForRefresh();
 	_vm->refreshAnimObjects(0);
 }
@@ -261,8 +259,6 @@ void KyraEngine_MR::objectChatInit(const char *str, int object, int vocHigh, int
 
 	restorePage3();
 
-	_screen->hideMouse();
-
 	_chatTextEnabled = textEnabled();
 	if (_chatTextEnabled) {
 		objectChatPrintText(str, object);
@@ -277,8 +273,6 @@ void KyraEngine_MR::objectChatInit(const char *str, int object, int vocHigh, int
 	} else {
 		_chatVocHigh = _chatVocLow = -1;
 	}
-
-	_screen->showMouse();
 }
 
 void KyraEngine_MR::objectChatPrintText(const char *str, int object) {






More information about the Scummvm-git-logs mailing list