aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorwhiterandrek2018-06-02 22:22:56 +0300
committerEugene Sandulenko2018-06-28 23:51:32 +0200
commit442f725a5d2d36183fdc41d7b050beb4aa4fd8fa (patch)
treeb611e75d052f343659a6cf7b8090dcc933ef51d2 /engines
parentb682ecb0ea63906b0ad1f735031a9f800d535eb8 (diff)
downloadscummvm-rg350-442f725a5d2d36183fdc41d7b050beb4aa4fd8fa.tar.gz
scummvm-rg350-442f725a5d2d36183fdc41d7b050beb4aa4fd8fa.tar.bz2
scummvm-rg350-442f725a5d2d36183fdc41d7b050beb4aa4fd8fa.zip
PINK: add loadTxt to ResourceMgr
Diffstat (limited to 'engines')
-rw-r--r--engines/pink/resource_mgr.cpp40
-rw-r--r--engines/pink/resource_mgr.h6
2 files changed, 28 insertions, 18 deletions
diff --git a/engines/pink/resource_mgr.cpp b/engines/pink/resource_mgr.cpp
index d81c98b1f4..98792d23f7 100644
--- a/engines/pink/resource_mgr.cpp
+++ b/engines/pink/resource_mgr.cpp
@@ -48,14 +48,37 @@ void ResourceMgr::init(PinkEngine *game, Page *page) {
_resDescTable = orb->getResDescTable(objDesc);
}
+void ResourceMgr::clear() {
+ delete[] _resDescTable;
+ _resDescTable = nullptr;
+}
+
+CelDecoder *ResourceMgr::loadCEL(Common::String &name) {
+ CelDecoder *decoder = new CelDecoder();
+ decoder->loadStream(getResourceStream(name));
+ return decoder;
+}
+
Sound *ResourceMgr::loadSound(Common::String &name) {
return new Sound(_game->_mixer, getResourceStream(name));
}
+Common::String ResourceMgr::loadText(Common::String &name) {
+ Common::SeekableReadStream *stream = getResourceStream(name);
+ char *txt = new char[stream->size()];
+ Common::String str(txt, stream->size());
+ delete txt;
+ return str;
+}
+
static int resDescComp(const void *a, const void *b) {
return scumm_stricmp((char *) a, (char *) b);
}
+PinkEngine *ResourceMgr::getGame() const {
+ return _game;
+}
+
Common::SafeSeekableSubReadStream *ResourceMgr::getResourceStream(Common::String &name) {
Common::SeekableReadStream *stream;
@@ -69,22 +92,7 @@ Common::SafeSeekableSubReadStream *ResourceMgr::getResourceStream(Common::String
stream->seek(desc->offset);
return new Common::SafeSeekableSubReadStream(stream, desc->offset,
- desc->offset + desc->size);
-}
-
-PinkEngine *ResourceMgr::getGame() const {
- return _game;
-}
-
-CelDecoder *ResourceMgr::loadCEL(Common::String &name) {
- CelDecoder *decoder = new CelDecoder();
- decoder->loadStream(getResourceStream(name));
- return decoder;
-}
-
-void ResourceMgr::clear() {
- delete[] _resDescTable;
- _resDescTable = nullptr;
+ desc->offset + desc->size);
}
} // End of namespace Pink
diff --git a/engines/pink/resource_mgr.h b/engines/pink/resource_mgr.h
index 7cd3dc33a1..4b050eb3ae 100644
--- a/engines/pink/resource_mgr.h
+++ b/engines/pink/resource_mgr.h
@@ -47,11 +47,13 @@ public:
~ResourceMgr();
void init(PinkEngine *game, Page *page);
+
void clear();
- //Common::String loadText(Common::String &name);
- Sound *loadSound(Common::String &name);
CelDecoder *loadCEL(Common::String &name);
+ Sound *loadSound(Common::String &name);
+ Common::String loadText(Common::String &name);
+
PinkEngine *getGame() const;
private: