aboutsummaryrefslogtreecommitdiff
path: root/engines/pegasus
diff options
context:
space:
mode:
authorPaul Gilbert2014-03-01 17:28:24 -0500
committerPaul Gilbert2014-03-01 17:28:24 -0500
commit7880ae0b18c3e2a25ed1c4a2bc42e22066d1ff3e (patch)
tree96de4f3470bd9bcc81bbae82a3e1c59f523a8edf /engines/pegasus
parentbadb8d97444767b7d8fea0f877ac044249696a5f (diff)
parent2218d14fb5276724c757406d5ac1ec581160721b (diff)
downloadscummvm-rg350-7880ae0b18c3e2a25ed1c4a2bc42e22066d1ff3e.tar.gz
scummvm-rg350-7880ae0b18c3e2a25ed1c4a2bc42e22066d1ff3e.tar.bz2
scummvm-rg350-7880ae0b18c3e2a25ed1c4a2bc42e22066d1ff3e.zip
Merge branch 'master' into mads
Diffstat (limited to 'engines/pegasus')
-rw-r--r--engines/pegasus/cursor.cpp6
-rw-r--r--engines/pegasus/pegasus.cpp11
-rw-r--r--engines/pegasus/pegasus.h1
-rw-r--r--engines/pegasus/surface.cpp4
4 files changed, 17 insertions, 5 deletions
diff --git a/engines/pegasus/cursor.cpp b/engines/pegasus/cursor.cpp
index ad0d2c2d7d..602ae88068 100644
--- a/engines/pegasus/cursor.cpp
+++ b/engines/pegasus/cursor.cpp
@@ -28,7 +28,7 @@
#include "common/system.h"
#include "graphics/cursorman.h"
#include "graphics/surface.h"
-#include "graphics/decoders/pict.h"
+#include "image/pict.h"
#include "pegasus/cursor.h"
#include "pegasus/graphics.h"
@@ -148,7 +148,7 @@ void Cursor::loadCursorImage(CursorInfo &cursorInfo) {
Common::SeekableReadStream *pictStream = vm->_resFork->getResource(MKTAG('P', 'I', 'C', 'T'), cursorInfo.tag + 1000);
if (pictStream) {
- Graphics::PICTDecoder pict;
+ Image::PICTDecoder pict;
if (!pict.loadStream(*pictStream))
error("Failed to decode cursor PICT %d", cursorInfo.tag + 1000);
@@ -166,7 +166,7 @@ void Cursor::loadCursorImage(CursorInfo &cursorInfo) {
error("Failed to find color icon %d", cursorInfo.tag);
// PixMap section
- Graphics::PICTDecoder::PixMap pixMap = Graphics::PICTDecoder::readPixMap(*cicnStream);
+ Image::PICTDecoder::PixMap pixMap = Image::PICTDecoder::readPixMap(*cicnStream);
// Mask section
cicnStream->readUint32BE(); // mask baseAddr
diff --git a/engines/pegasus/pegasus.cpp b/engines/pegasus/pegasus.cpp
index 0148470cd5..c5edd34a01 100644
--- a/engines/pegasus/pegasus.cpp
+++ b/engines/pegasus/pegasus.cpp
@@ -431,6 +431,8 @@ void PegasusEngine::removeTimeBase(TimeBase *timeBase) {
bool PegasusEngine::loadFromStream(Common::SeekableReadStream *stream) {
// Dispose currently running stuff
+ lowerInventoryDrawerSync();
+ lowerBiochipDrawerSync();
useMenu(0);
useNeighborhood(0);
removeAllItemsFromInventory();
@@ -1460,6 +1462,15 @@ void PegasusEngine::throwAwayEverything() {
g_interface = 0;
}
+InputBits PegasusEngine::getInputFilter() {
+ InputBits filter = InputHandler::getInputFilter();
+
+ if (isPaused())
+ return filter & ~JMPPPInput::getItemPanelsInputFilter();
+
+ return filter;
+}
+
void PegasusEngine::processShell() {
checkCallBacks();
checkNotifications();
diff --git a/engines/pegasus/pegasus.h b/engines/pegasus/pegasus.h
index 59637e38df..fb66eb7586 100644
--- a/engines/pegasus/pegasus.h
+++ b/engines/pegasus/pegasus.h
@@ -272,6 +272,7 @@ private:
uint getNeighborhoodCD(const NeighborhoodID neighborhood) const;
uint _currentCD;
void initKeymap();
+ InputBits getInputFilter();
// Menu
GameMenu *_gameMenu;
diff --git a/engines/pegasus/surface.cpp b/engines/pegasus/surface.cpp
index cdcb3c6e79..cb1e2e7bcc 100644
--- a/engines/pegasus/surface.cpp
+++ b/engines/pegasus/surface.cpp
@@ -28,7 +28,7 @@
#include "common/stream.h"
#include "common/system.h"
#include "graphics/surface.h"
-#include "graphics/decoders/pict.h"
+#include "image/pict.h"
#include "video/video_decoder.h"
#include "pegasus/pegasus.h"
@@ -101,7 +101,7 @@ void Surface::getImageFromPICTResource(Common::MacResManager *resFork, uint16 id
}
bool Surface::getImageFromPICTStream(Common::SeekableReadStream *stream) {
- Graphics::PICTDecoder pict;
+ Image::PICTDecoder pict;
if (!pict.loadStream(*stream))
return false;