diff options
Diffstat (limited to 'engines/sword1')
-rw-r--r-- | engines/sword1/animation.cpp | 13 | ||||
-rw-r--r-- | engines/sword1/animation.h | 2 |
2 files changed, 8 insertions, 7 deletions
diff --git a/engines/sword1/animation.cpp b/engines/sword1/animation.cpp index 592cc2e565..a0072455ba 100644 --- a/engines/sword1/animation.cpp +++ b/engines/sword1/animation.cpp @@ -184,22 +184,23 @@ bool MoviePlayer::load(uint32 id) { if (SwordEngine::_systemVars.showText) { sprintf(fileName, "%s.txt", sequenceList[id]); if (f.open(fileName)) { - char line[240]; + Common::String line; int lineNo = 0; int lastEnd = -1; _movieTexts.clear(); - while (f.readLine_OLD(line, sizeof(line))) { + while (!f.eos() && !f.err()) { + line = f.readLine(); lineNo++; - if (line[0] == '#' || line[0] == 0) { + if (line.empty() || line[0] == '#') { continue; } - char *ptr = line; + const char *ptr = line.c_str(); // TODO: Better error handling - int startFrame = strtoul(ptr, &ptr, 10); - int endFrame = strtoul(ptr, &ptr, 10); + int startFrame = strtoul(ptr, (char **)&ptr, 10); + int endFrame = strtoul(ptr, (char **)&ptr, 10); while (*ptr && isspace(*ptr)) ptr++; diff --git a/engines/sword1/animation.h b/engines/sword1/animation.h index 6b74eb5833..2f38b197fe 100644 --- a/engines/sword1/animation.h +++ b/engines/sword1/animation.h @@ -66,7 +66,7 @@ public: uint16 _startFrame; uint16 _endFrame; char *_text; - MovieText(int startFrame, int endFrame, char *text) { + MovieText(int startFrame, int endFrame, const char *text) { _startFrame = startFrame; _endFrame = endFrame; _text = strdup(text); |