diff --git a/engines/hdb/draw-manager.cpp b/engines/hdb/draw-manager.cpp index d8bfa3101c1..b39d3384846 100644 --- a/engines/hdb/draw-manager.cpp +++ b/engines/hdb/draw-manager.cpp @@ -102,6 +102,22 @@ Tile *DrawMan::getTile(int index) { return _tLookupArray[index].tData; } +int DrawMan::getTileIndex(const char *name) { + for (int i = 0; i < _numTiles; i++) { + if (_tLookupArray[i].filename == name) { + return i; + } + } + return -1; +} + +Picture *DrawMan::getPicture(const char *name) { + Common::SeekableReadStream *stream = g_hdb->_fileMan->findFirstData(name, TYPE_PIC); + Picture *picture = new Picture; + picture->load(stream); + return picture; +} + int DrawMan::isSky(int index) { if (!index) { return 0; diff --git a/engines/hdb/draw-manager.h b/engines/hdb/draw-manager.h index 3c061cce18c..3db0542856d 100644 --- a/engines/hdb/draw-manager.h +++ b/engines/hdb/draw-manager.h @@ -50,6 +50,8 @@ public: bool init(); Tile *getTile(int index); + int getTileIndex(const char *name); + Picture *getPicture(const char *name); int isSky(int skyIndex); private: