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/credits.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/credits.cpp')
-rw-r--r-- | engines/queen/credits.cpp | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/engines/queen/credits.cpp b/engines/queen/credits.cpp index a88c67e587..8e4a716a8c 100644 --- a/engines/queen/credits.cpp +++ b/engines/queen/credits.cpp @@ -30,14 +30,8 @@ namespace Queen { Credits::Credits(QueenEngine *vm, const char* filename) : - _vm(vm), _running(true), _count(0), _pause(0), _justify(0), _fontSize(0), _color(0), _zone(0) { - uint32 size; - char *buf = (char *)_vm->resource()->loadFile(filename, 0, &size); - _credits = new LineReader(buf, size); -} - -Credits::~Credits() { - delete _credits; + _vm(vm), _running(true), _count(0), _pause(0), _justify(0), _fontSize(0), _color(0), _zone(0), _lineNum(0) { + _vm->resource()->loadTextFile(filename, _credits); } void Credits::nextRoom() { @@ -62,8 +56,9 @@ void Credits::update() { if (-1 == _pause) return; - for (;;) { - const char *line = _credits->nextLine(); + while (_lineNum < _credits.size()) { + const char *line = _credits[_lineNum].c_str(); + ++_lineNum; if (0 == memcmp(line, "EN", 2)) { _running = false; |