aboutsummaryrefslogtreecommitdiff
path: root/engines/zvision/text/string_manager.cpp
diff options
context:
space:
mode:
authorMarisa-Chan2014-07-12 21:38:11 +0000
committerMarisa-Chan2014-07-12 21:38:11 +0000
commit9dd9bfce808cacb90bdea1ee7cc371e698c1eca9 (patch)
tree50297cc8354c853f6a501eb7e7d9be35a191e079 /engines/zvision/text/string_manager.cpp
parent57857a1d768fc9b226326efe2294f73e847c816e (diff)
downloadscummvm-rg350-9dd9bfce808cacb90bdea1ee7cc371e698c1eca9.tar.gz
scummvm-rg350-9dd9bfce808cacb90bdea1ee7cc371e698c1eca9.tar.bz2
scummvm-rg350-9dd9bfce808cacb90bdea1ee7cc371e698c1eca9.zip
ZVISION: String manager only load text lines without parsing text styles.
Diffstat (limited to 'engines/zvision/text/string_manager.cpp')
-rw-r--r--engines/zvision/text/string_manager.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/engines/zvision/text/string_manager.cpp b/engines/zvision/text/string_manager.cpp
index cadfbf1f49..114f298505 100644
--- a/engines/zvision/text/string_manager.cpp
+++ b/engines/zvision/text/string_manager.cpp
@@ -22,6 +22,8 @@
#include "common/scummsys.h"
+#include "zvision/zvision.h"
+#include "zvision/core/search_manager.h"
#include "zvision/text/string_manager.h"
#include "zvision/fonts/truetype_font.h"
@@ -49,10 +51,25 @@ StringManager::~StringManager() {
void StringManager::initialize(ZVisionGameId gameId) {
if (gameId == GID_NEMESIS) {
// TODO: Check this hardcoded filename against all versions of Nemesis
- parseStrFile("nemesis.str");
+ loadStrFile("nemesis.str");
} else if (gameId == GID_GRANDINQUISITOR) {
// TODO: Check this hardcoded filename against all versions of Grand Inquisitor
- parseStrFile("inquis.str");
+ loadStrFile("inquis.str");
+ }
+}
+
+void StringManager::loadStrFile(const Common::String &fileName) {
+ Common::File file;
+ if (!_engine->getSearchManager()->openFile(file, fileName)) {
+ warning("%s does not exist. String parsing failed", fileName.c_str());
+ return;
+ }
+ uint lineNumber = 0;
+ while (!file.eos()) {
+ _lines[lineNumber] = readWideLine(file);
+
+ lineNumber++;
+ assert(lineNumber <= NUM_TEXT_LINES);
}
}
@@ -252,4 +269,8 @@ StringManager::TextStyle StringManager::getTextStyle(uint stringNumber) {
return _inGameText[stringNumber].fragments.front().style;
}
+const Common::String StringManager::getTextLine(uint stringNumber) {
+ return _lines[stringNumber];
+}
+
} // End of namespace ZVision