aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2016-09-01 18:47:04 +0200
committerEugene Sandulenko2016-09-01 18:47:04 +0200
commit2f16dabe5786d3873dc80377a8d2c79d7439dab7 (patch)
treece7a801ece4af6232b8550825fe88f4be4f8e829
parent91cc02b0eebf17eaaaa410eb7469559ebc42a13d (diff)
downloadscummvm-rg350-2f16dabe5786d3873dc80377a8d2c79d7439dab7.tar.gz
scummvm-rg350-2f16dabe5786d3873dc80377a8d2c79d7439dab7.tar.bz2
scummvm-rg350-2f16dabe5786d3873dc80377a8d2c79d7439dab7.zip
DIRECTOR: Lingo: Implemented 'the colorQD' and 'the colorDepth' entities
-rw-r--r--engines/director/director.cpp2
-rw-r--r--engines/director/director.h3
-rw-r--r--engines/director/frame.cpp2
-rw-r--r--engines/director/lingo/lingo-the.cpp10
4 files changed, 16 insertions, 1 deletions
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 26b3387601..d921e11d59 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -70,6 +70,8 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
const Common::FSNode gameDataDir(ConfMan.get("path"));
SearchMan.addSubDirectoryMatching(gameDataDir, "data");
SearchMan.addSubDirectoryMatching(gameDataDir, "install");
+
+ _colorDepth = 8; // FIXME. Check if it is 8-bit
}
DirectorEngine::~DirectorEngine() {
diff --git a/engines/director/director.h b/engines/director/director.h
index f8207f49ce..d319f476df 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -96,6 +96,9 @@ public:
Common::RandomSource _rnd;
Graphics::MacWindowManager *_wm;
+public:
+ int _colorDepth;
+
protected:
virtual Common::Error run();
diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp
index 421336d133..342e524805 100644
--- a/engines/director/frame.cpp
+++ b/engines/director/frame.cpp
@@ -428,7 +428,7 @@ void Frame::renderSprites(Graphics::ManagedSurface &surface, bool renderTrail) {
warning("Cast id %d not found", _sprites[i]->_castId);
continue;
} else {
- warning("Getting cast id %d from shared cast");
+ warning("Getting cast id %d from shared cast", _sprites[i]->_castId);
cast = _vm->getSharedCasts()->getVal(_sprites[i]->_castId);
}
} else {
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 2bf6cfb724..bef2e50acf 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -225,6 +225,10 @@ void Lingo::setTheEntity(int entity, Datum &id, int field, Datum &d) {
_floatPrecisionFormat = Common::String::format("%%.%df", _floatPrecision);
warning("set to %d: %s", _floatPrecision, _floatPrecisionFormat.c_str());
break;
+ case kTheColorDepth:
+ _vm->_colorDepth = d.toInt();
+ warning("STUB: Set color depth to %d", _vm->_colorDepth);
+ break;
default:
warning("Unprocessed setting field %d of entity %d", field, entity);
}
@@ -361,6 +365,12 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
d.type = FLOAT;
d.u.f = sqrt(id.u.f);
break;
+ case kTheColorQD:
+ push(Datum(1));
+ break;
+ case kTheColorDepth:
+ push(Datum(_vm->_colorDepth));
+ break;
default:
warning("Unprocessed getting field %d of entity %d", field, entity);
d.type = VOID;