aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics
diff options
context:
space:
mode:
authorColin Snover2017-02-27 10:11:46 -0600
committerColin Snover2017-04-23 13:07:25 -0500
commit168774c3c6bd942970b7bc35ebe7b5abdb535b5b (patch)
treeca0b4eaae4c7b5ea54b9d401fcf14d7d9b60bda7 /engines/sci/graphics
parentf711edc8764dabc0ec4d8621e34b005b89aa096f (diff)
downloadscummvm-rg350-168774c3c6bd942970b7bc35ebe7b5abdb535b5b.tar.gz
scummvm-rg350-168774c3c6bd942970b7bc35ebe7b5abdb535b5b.tar.bz2
scummvm-rg350-168774c3c6bd942970b7bc35ebe7b5abdb535b5b.zip
SCI32: Add kPlayVMD subop 27 (SetPlane)
Used by RAMA, when playing a video at the Hub Camp computer at the beginning of the game (room 1004).
Diffstat (limited to 'engines/sci/graphics')
-rw-r--r--engines/sci/graphics/video32.cpp9
-rw-r--r--engines/sci/graphics/video32.h5
2 files changed, 14 insertions, 0 deletions
diff --git a/engines/sci/graphics/video32.cpp b/engines/sci/graphics/video32.cpp
index 1759e8e722..44bb00bf87 100644
--- a/engines/sci/graphics/video32.cpp
+++ b/engines/sci/graphics/video32.cpp
@@ -919,6 +919,15 @@ void VMDPlayer::fillPalette(Palette &palette) const {
}
}
+void VMDPlayer::setPlane(const int16 priority, const reg_t planeId) {
+ _priority = priority;
+ if (planeId != NULL_REG) {
+ _plane = g_sci->_gfxFrameout->getPlanes().findByObject(planeId);
+ assert(_plane != nullptr);
+ _planeIsOwned = false;
+ }
+}
+
#pragma mark -
#pragma mark VMDPlayer - Palette
diff --git a/engines/sci/graphics/video32.h b/engines/sci/graphics/video32.h
index 751604fd47..ae4767c183 100644
--- a/engines/sci/graphics/video32.h
+++ b/engines/sci/graphics/video32.h
@@ -363,6 +363,11 @@ public:
*/
void ignorePalettes() { _ignorePalettes = true; }
+ /**
+ * Sets the plane and plane priority used to render video.
+ */
+ void setPlane(const int16 priority, const reg_t planeId);
+
private:
/**
* The location of the VMD plane, in game script