aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula/converse.cpp
diff options
context:
space:
mode:
authorNicola Mettifogo2010-02-08 16:14:04 +0000
committerNicola Mettifogo2010-02-08 16:14:04 +0000
commitb658c61155ff189fe4381ba774993a69a3f572ea (patch)
treef1253fedfa1acdf0f4e71b13cfb78cc552809847 /engines/drascula/converse.cpp
parenta9a0fdc69474f0491aa2662cb83ff8b7661ebd1a (diff)
downloadscummvm-rg350-b658c61155ff189fe4381ba774993a69a3f572ea.tar.gz
scummvm-rg350-b658c61155ff189fe4381ba774993a69a3f572ea.tar.bz2
scummvm-rg350-b658c61155ff189fe4381ba774993a69a3f572ea.zip
Let ArjFile return a SeekableReadStream instead of implementing
the same interface itself. The caller is now responsible for deleting the returned streams. svn-id: r47994
Diffstat (limited to 'engines/drascula/converse.cpp')
-rw-r--r--engines/drascula/converse.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/engines/drascula/converse.cpp b/engines/drascula/converse.cpp
index 707ae55b63..0cd9794cc3 100644
--- a/engines/drascula/converse.cpp
+++ b/engines/drascula/converse.cpp
@@ -133,11 +133,11 @@ void DrasculaEngine::cleanupString(char *string) {
void DrasculaEngine::converse(int index) {
char fileName[20];
sprintf(fileName, "op_%d.cal", index);
- _arj.open(fileName);
- if (!_arj.isOpen())
+ Common::SeekableReadStream *stream = _arj.open(fileName);
+ if (!stream)
error("missing data file %s", fileName);
- int size = _arj.size();
+ int size = stream->size();
int game1 = kDialogOptionUnselected,
game2 = kDialogOptionUnselected,
game3 = kDialogOptionUnselected;
@@ -150,19 +150,19 @@ void DrasculaEngine::converse(int index) {
selectVerb(kVerbNone);
- getStringFromLine(_arj, size, phrase1);
- getStringFromLine(_arj, size, phrase2);
- getStringFromLine(_arj, size, phrase3);
- getStringFromLine(_arj, size, phrase4);
- getStringFromLine(_arj, size, sound1);
- getStringFromLine(_arj, size, sound2);
- getStringFromLine(_arj, size, sound3);
- getStringFromLine(_arj, size, sound4);
- getIntFromLine(_arj, size, &answer1);
- getIntFromLine(_arj, size, &answer2);
- getIntFromLine(_arj, size, &answer3);
-
- _arj.close();
+ getStringFromLine(stream, size, phrase1);
+ getStringFromLine(stream, size, phrase2);
+ getStringFromLine(stream, size, phrase3);
+ getStringFromLine(stream, size, phrase4);
+ getStringFromLine(stream, size, sound1);
+ getStringFromLine(stream, size, sound2);
+ getStringFromLine(stream, size, sound3);
+ getStringFromLine(stream, size, sound4);
+ getIntFromLine(stream, size, &answer1);
+ getIntFromLine(stream, size, &answer2);
+ getIntFromLine(stream, size, &answer3);
+
+ delete stream;
if (currentChapter == 2 && !strcmp(fileName, "op_5.cal") && flags[38] == 1 && flags[33] == 1) {
strcpy(phrase3, _text[405]);