diff options
-rw-r--r-- | engines/pink/resource_mgr.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/engines/pink/resource_mgr.cpp b/engines/pink/resource_mgr.cpp index 0981d8e167..8f807c2356 100644 --- a/engines/pink/resource_mgr.cpp +++ b/engines/pink/resource_mgr.cpp @@ -52,14 +52,14 @@ Sound *ResourceMgr::loadSound(Common::String &name) { return new Sound(_game->_mixer, getResourceStream(name)); } +static int resDescComp(const void *a, const void *b) { + return scumm_stricmp((char *) a, (char *) b); +} + Common::SafeSeekableSubReadStream *ResourceMgr::getResourceStream(Common::String &name) { Common::SeekableReadStream *stream; - ResourceDescription *desc; - for (uint i = 0; i < _resCount; ++i) { - if (name.compareToIgnoreCase(_resDescTable[i].name) == 0) - desc = &_resDescTable[i]; - } + ResourceDescription *desc = (ResourceDescription*) bsearch(name.c_str(), _resDescTable, _resCount, sizeof(ResourceDescription), resDescComp); if (desc->inBro) stream = _game->getBro(); |