aboutsummaryrefslogtreecommitdiff
path: root/engines/queen/credits.cpp
diff options
context:
space:
mode:
authorGregory Montoir2007-02-25 22:24:11 +0000
committerGregory Montoir2007-02-25 22:24:11 +0000
commitca597dbf50bbc5c43a07f306e2407dd314411077 (patch)
tree43c20cdd4a3cec2c15e12788a5d271c8a4816cf2 /engines/queen/credits.cpp
parentc9f652dc1fb40f87d35a3700163b5e36dc6df0dd (diff)
downloadscummvm-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.cpp15
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;