[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