Skip to content

Commit

Permalink
PINK: add loadTxt to ResourceMgr
Browse files Browse the repository at this point in the history
  • Loading branch information
voltya authored and sev- committed Jun 28, 2018
1 parent b682ecb commit 442f725
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 18 deletions.
40 changes: 24 additions & 16 deletions engines/pink/resource_mgr.cpp
Expand Up @@ -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;

Expand All @@ -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
6 changes: 4 additions & 2 deletions engines/pink/resource_mgr.h
Expand Up @@ -47,11 +47,13 @@ class ResourceMgr {
~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:
Expand Down

0 comments on commit 442f725

Please sign in to comment.