LipSync *ResourceLoader::loadLipSync(const char *filename) { Common::String fname = filename; fname.toLowercase(); LipSync *result; Block *b = getFileFromCache(fname.c_str()); if (!b) { b = getFileBlock(fname.c_str()); if (!b) return NULL; } result = new LipSync(filename, b->data(), b->len()); // Some lipsync files have no data if (result->isValid()) { putIntoCache(fname, b); _lipsyncs.push_back(result); } else { delete result; delete b; result = NULL; } return result; }
LipSync *ResourceLoader::loadLipSync(const Common::String &filename) { LipSync *result; Common::SeekableReadStream *stream; stream = openNewStreamFile(filename.c_str()); if(!stream) return NULL; result = new LipSync(filename, stream); // Some lipsync files have no data if (result->isValid()) _lipsyncs.push_back(result); else { delete result; result = NULL; } delete stream; return result; }