diff options
Diffstat (limited to 'engines/bladerunner/text_resource.cpp')
-rw-r--r-- | engines/bladerunner/text_resource.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/engines/bladerunner/text_resource.cpp b/engines/bladerunner/text_resource.cpp index 78a73f5e71..42d30038bc 100644 --- a/engines/bladerunner/text_resource.cpp +++ b/engines/bladerunner/text_resource.cpp @@ -30,7 +30,8 @@ namespace BladeRunner { -TextResource::TextResource(BladeRunnerEngine *vm) : _vm(vm) { +TextResource::TextResource(BladeRunnerEngine *vm) { + _vm = vm; _count = 0; _ids = nullptr; _offsets = nullptr; @@ -43,11 +44,11 @@ TextResource::~TextResource() { delete[] _strings; } -bool TextResource::open(const char *name) { - assert(strlen(name) <= 8); +bool TextResource::open(const Common::String &name) { + assert(name.size() <= 8); char resName[13]; - sprintf(resName, "%s.TR%s", name, _vm->_languageCode); + sprintf(resName, "%s.TR%s", name.c_str(), _vm->_languageCode); Common::ScopedPtr<Common::SeekableReadStream> s(_vm->getResourceStream(resName)); if (!s) return false; @@ -78,7 +79,7 @@ bool TextResource::open(const char *name) { s->read(_strings, remain); -#if 0 +#if BLADERUNNER_DEBUG_CONSOLE debug("\n%s\n----------------", resName); for (uint32 i = 0; i != (uint32)_count; ++i) { debug("%3d: %s", i, getText(i)); @@ -88,7 +89,7 @@ bool TextResource::open(const char *name) { return true; } -const char *TextResource::getText(uint32 id) { +const char *TextResource::getText(uint32 id) const { for (uint32 i = 0; i != _count; ++i) { if (_ids[i] == id) { return _strings + _offsets[i]; @@ -98,4 +99,8 @@ const char *TextResource::getText(uint32 id) { return ""; } +int TextResource::getCount() const { + return _count; +} + } // End of namespace BladeRunner |