From ca597dbf50bbc5c43a07f306e2407dd314411077 Mon Sep 17 00:00:00 2001 From: Gregory Montoir Date: Sun, 25 Feb 2007 22:24:11 +0000 Subject: reduced code dup, Queen::LineReader -> SeekableReadStream::readLine svn-id: r25871 --- engines/queen/resource.cpp | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) (limited to 'engines/queen/resource.cpp') 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 -- cgit v1.2.3