From 2f16dabe5786d3873dc80377a8d2c79d7439dab7 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 1 Sep 2016 18:47:04 +0200 Subject: DIRECTOR: Lingo: Implemented 'the colorQD' and 'the colorDepth' entities --- engines/director/director.cpp | 2 ++ engines/director/director.h | 3 +++ engines/director/frame.cpp | 2 +- engines/director/lingo/lingo-the.cpp | 10 ++++++++++ 4 files changed, 16 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3