diff options
author | Gregory Montoir | 2007-02-25 22:24:11 +0000 |
---|---|---|
committer | Gregory Montoir | 2007-02-25 22:24:11 +0000 |
commit | ca597dbf50bbc5c43a07f306e2407dd314411077 (patch) | |
tree | 43c20cdd4a3cec2c15e12788a5d271c8a4816cf2 /engines/queen/resource.cpp | |
parent | c9f652dc1fb40f87d35a3700163b5e36dc6df0dd (diff) | |
download | scummvm-rg350-ca597dbf50bbc5c43a07f306e2407dd314411077.tar.gz scummvm-rg350-ca597dbf50bbc5c43a07f306e2407dd314411077.tar.bz2 scummvm-rg350-ca597dbf50bbc5c43a07f306e2407dd314411077.zip |
reduced code dup, Queen::LineReader -> SeekableReadStream::readLine
svn-id: r25871
Diffstat (limited to 'engines/queen/resource.cpp')
-rw-r--r-- | engines/queen/resource.cpp | 35 |
1 files changed, 12 insertions, 23 deletions
diff --git a/engines/queen/resource.cpp b/engines/queen/resource.cpp index a7e029f0ce..0319d90a3f 100644 --- a/engines/queen/resource.cpp +++ b/engines/queen/resource.cpp @@ -90,10 +90,6 @@ Resource::~Resource() { } ResourceEntry *Resource::resourceEntry(const char *filename) const { - if (filename[0] == 0 || strlen(filename) >= 14) { - uint8 *p = 0; - *p = 0x1234; - } assert(filename[0] && strlen(filename) < 14); Common::String entryName(filename); @@ -129,6 +125,18 @@ uint8 *Resource::loadFile(const char *filename, uint32 skipBytes, uint32 *size) return dstBuf; } +void Resource::loadTextFile(const char *filename, Common::StringList &stringList) { + debug(7, "Resource::loadTextFile('%s')", filename); + ResourceEntry *re = resourceEntry(filename); + assert(re != NULL); + seekResourceFile(re->bundle, re->offset); + char buf[512]; + Common::SeekableSubReadStream stream(&_resourceFile, re->offset, re->offset + re->size); + while (stream.readLine(buf, 512)) { + stringList.push_back(buf); + } +} + bool Resource::detectVersion(DetectedGameVersion *ver, Common::File *f) { memset(ver, 0, sizeof(DetectedGameVersion)); @@ -306,25 +314,6 @@ Common::File *Resource::findSound(const char *filename, uint32 *size) { return NULL; } -LineReader::LineReader(char *buffer, uint32 bufsize) : _buffer(buffer), _bufSize(bufsize), _current(0) { -} - -LineReader::~LineReader() { - delete[] _buffer; -} - -char *LineReader::nextLine() { - char *startOfLine = _buffer + _current; - char *curPos = startOfLine; - while (curPos < _buffer + _bufSize && *curPos++ != 0xd) ; - *(curPos - 1) = '\0'; // '\r' - if (curPos < _buffer + _bufSize) { - *curPos = '\0'; // '\n' - _current = (curPos - _buffer) + 1; - } - return startOfLine; -} - } // End of namespace Queen #ifdef PALMOS_68K |