[Scummvm-git-logs] scummvm master -> da95daf7278e5e6c38e50cc2ce43921ef7548e03

alxpnv a04198622 at gmail.com
Thu Jun 17 12:40:22 UTC 2021


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

Summary:
670d8d85f4 ASYLUM: use Common::sort() for sorting graphics queue items
da95daf727 ASYLUM: remove Screen::takeScreenshot()


Commit: 670d8d85f4851ccd5f20c52f870a3de492344585
    https://github.com/scummvm/scummvm/commit/670d8d85f4851ccd5f20c52f870a3de492344585
Author: alxpnv (alxpnv22 at yahoo.com)
Date: 2021-06-17T15:40:10+03:00

Commit Message:
ASYLUM: use Common::sort() for sorting graphics queue items

Changed paths:
    engines/asylum/system/screen.cpp
    engines/asylum/system/screen.h


diff --git a/engines/asylum/system/screen.cpp b/engines/asylum/system/screen.cpp
index 3f4017de8c..e745edd9ee 100644
--- a/engines/asylum/system/screen.cpp
+++ b/engines/asylum/system/screen.cpp
@@ -696,9 +696,13 @@ void Screen::addGraphicToQueue(GraphicQueueItem const &item) {
 	_queueItems.push_back(item);
 }
 
+bool Screen::graphicQueueItemComparator(const GraphicQueueItem &item1, const GraphicQueueItem &item2) {
+	return item1.priority > item2.priority;
+}
+
 void Screen::drawGraphicsInQueue() {
 	// Sort by priority first
-	graphicsSelectionSort();
+	Common::sort(_queueItems.begin(), _queueItems.end(), &Screen::graphicQueueItemComparator);
 
 	for (Common::Array<GraphicQueueItem>::const_iterator i = _queueItems.begin(); i != _queueItems.end(); i++) {
 		const GraphicQueueItem *item = i;
@@ -718,31 +722,6 @@ void Screen::clearGraphicsInQueue() {
 	_queueItems.clear();
 }
 
-void Screen::graphicsSelectionSort() {
-	uint32 maxIdx;
-
-	if (!_queueItems.size())
-		return;
-
-	for (uint32 i = 0; i < _queueItems.size() - 1; i++) {
-		maxIdx = i;
-
-		for (uint32 j = i + 1; j < _queueItems.size(); j++)
-			if (_queueItems[j].priority > _queueItems[maxIdx].priority)
-				maxIdx = j;
-
-		if (i != maxIdx)
-			swapGraphicItem(i, maxIdx);
-	}
-}
-
-void Screen::swapGraphicItem(int32 item1, int32 item2) {
-	GraphicQueueItem temp;
-	temp = _queueItems[item1];
-	_queueItems[item1] = _queueItems[item2];
-	_queueItems[item2] = temp;
-}
-
 void Screen::deleteGraphicFromQueue(ResourceId resourceId) {
 	for (uint32 i = 0; i < _queueItems.size(); i++) {
 		if (_queueItems[i].resourceId == resourceId) {
diff --git a/engines/asylum/system/screen.h b/engines/asylum/system/screen.h
index ec585b5895..82d21efafd 100644
--- a/engines/asylum/system/screen.h
+++ b/engines/asylum/system/screen.h
@@ -175,8 +175,7 @@ private:
 	void stopPaletteFadeTimer();
 
 	// Graphic queue
-	void graphicsSelectionSort();
-	void swapGraphicItem(int32 item1, int32 item2);
+	static bool graphicQueueItemComparator(const GraphicQueueItem &item1, const GraphicQueueItem &item2);
 
 	// Misc
 	void clip(Common::Rect *source, Common::Rect *destination, int32 flags) const;


Commit: da95daf7278e5e6c38e50cc2ce43921ef7548e03
    https://github.com/scummvm/scummvm/commit/da95daf7278e5e6c38e50cc2ce43921ef7548e03
Author: alxpnv (alxpnv22 at yahoo.com)
Date: 2021-06-17T15:40:10+03:00

Commit Message:
ASYLUM: remove Screen::takeScreenshot()

Changed paths:
    engines/asylum/puzzles/puzzle.cpp
    engines/asylum/puzzles/puzzle.h
    engines/asylum/puzzles/vcr.cpp
    engines/asylum/resources/encounters.cpp
    engines/asylum/system/screen.cpp
    engines/asylum/system/screen.h
    engines/asylum/views/scene.cpp


diff --git a/engines/asylum/puzzles/puzzle.cpp b/engines/asylum/puzzles/puzzle.cpp
index 9b6ce637d0..1d2bd5eafb 100644
--- a/engines/asylum/puzzles/puzzle.cpp
+++ b/engines/asylum/puzzles/puzzle.cpp
@@ -78,29 +78,8 @@ bool Puzzle::handleEvent(const AsylumEvent &evt) {
 	return false;
 }
 
-bool Puzzle::key(const AsylumEvent &evt) {
-	switch (evt.kbd.keycode) {
-	default:
-		break;
-
-	case Common::KEYCODE_TAB:
-		getScreen()->takeScreenshot();
-		break;
-	}
-
-	return true;
-}
-
 bool Puzzle::keyExit(const AsylumEvent &evt) {
-	switch (evt.kbd.keycode) {
-	default:
-		_vm->switchEventHandler(getScene());
-		break;
-
-	case Common::KEYCODE_TAB:
-		getScreen()->takeScreenshot();
-		break;
-	}
+	_vm->switchEventHandler(getScene());
 
 	return true;
 }
diff --git a/engines/asylum/puzzles/puzzle.h b/engines/asylum/puzzles/puzzle.h
index 1a78c6428d..8d766dd8f6 100644
--- a/engines/asylum/puzzles/puzzle.h
+++ b/engines/asylum/puzzles/puzzle.h
@@ -58,7 +58,7 @@ protected:
 	virtual bool init(const AsylumEvent &evt) = 0;
 	virtual bool update(const AsylumEvent &evt) = 0;
 	virtual bool activate(const AsylumEvent &evt) { return true; }
-	virtual bool key(const AsylumEvent &evt);
+	virtual bool key(const AsylumEvent &evt) { return true; }
 	virtual bool mouseLeftUp(const AsylumEvent &evt) { return true; }
 	virtual bool mouseLeftDown(const AsylumEvent &evt) { return true; }
 	virtual bool mouseRightUp(const AsylumEvent &evt) { return true; }
diff --git a/engines/asylum/puzzles/vcr.cpp b/engines/asylum/puzzles/vcr.cpp
index 2bcae6b815..30ea03d3c7 100644
--- a/engines/asylum/puzzles/vcr.cpp
+++ b/engines/asylum/puzzles/vcr.cpp
@@ -110,19 +110,11 @@ bool PuzzleVCR::update(const AsylumEvent &evt)  {
 }
 
 bool PuzzleVCR::key(const AsylumEvent &evt) {
-	switch (evt.kbd.keycode) {
-	default:
-		getSound()->stop(getWorld()->graphicResourceIds[47]);
-		getScreen()->clearGraphicsInQueue();
-		getScreen()->clear();
-
-		_vm->switchEventHandler(getScene());
-		break;
+	getSound()->stop(getWorld()->graphicResourceIds[47]);
+	getScreen()->clearGraphicsInQueue();
+	getScreen()->clear();
 
-	case Common::KEYCODE_TAB:
-		getScreen()->takeScreenshot();
-		break;
-	}
+	_vm->switchEventHandler(getScene());
 
 	return true;
 }
diff --git a/engines/asylum/resources/encounters.cpp b/engines/asylum/resources/encounters.cpp
index bd84a893a1..3064bccd30 100644
--- a/engines/asylum/resources/encounters.cpp
+++ b/engines/asylum/resources/encounters.cpp
@@ -483,21 +483,12 @@ bool Encounter::update() {
 }
 
 bool Encounter::key(const AsylumEvent &evt) {
-	switch (evt.kbd.keycode) {
-	default:
-		break;
-
-	case Common::KEYCODE_TAB:
-		getScreen()->takeScreenshot();
-		break;
-
-	case Common::KEYCODE_ESCAPE:
+	if (evt.kbd.keycode == Common::KEYCODE_ESCAPE) {
 		if (!isSpeaking()
 		 && _isDialogOpen
 		 && !getSpeech()->getTextData()
 		 && !getSpeech()->getTextDataPos())
 			_shouldCloseDialog = true;
-		break;
 	}
 
 	return true;
diff --git a/engines/asylum/system/screen.cpp b/engines/asylum/system/screen.cpp
index e745edd9ee..1e07018b1e 100644
--- a/engines/asylum/system/screen.cpp
+++ b/engines/asylum/system/screen.cpp
@@ -246,10 +246,6 @@ void Screen::clip(Common::Rect *source, Common::Rect *destination, int32 flags)
 	}
 }
 
-void Screen::takeScreenshot() {
-	warning("[Screen::takeScreenshot] Screenshot function not implemented!");
-}
-
 //////////////////////////////////////////////////////////////////////////
 // Palette
 //////////////////////////////////////////////////////////////////////////
diff --git a/engines/asylum/system/screen.h b/engines/asylum/system/screen.h
index 82d21efafd..85ff8bcefb 100644
--- a/engines/asylum/system/screen.h
+++ b/engines/asylum/system/screen.h
@@ -91,7 +91,6 @@ public:
 	void copyBackBufferToScreen();
 	void setFlag(int16 val) { _flag = (val < -1) ? -1 : val; }
 	int16 getFlag() { return _flag; }
-	void takeScreenshot();
 
 	// Palette
 	void setPalette(ResourceId id);
diff --git a/engines/asylum/views/scene.cpp b/engines/asylum/views/scene.cpp
index bca67659c2..821152570d 100644
--- a/engines/asylum/views/scene.cpp
+++ b/engines/asylum/views/scene.cpp
@@ -489,10 +489,6 @@ bool Scene::key(const AsylumEvent &evt) {
 			getActor()->setLastScreenUpdate(_vm->screenUpdateCount);
 		}
 		break;
-
-	case Common::KEYCODE_TAB:
-		getScreen()->takeScreenshot();
-		break;
 	}
 
 	return true;




More information about the Scummvm-git-logs mailing list