diff options
author | Matthew Stewart | 2018-02-24 13:59:08 -0500 |
---|---|---|
committer | Eugene Sandulenko | 2018-08-09 08:37:30 +0200 |
commit | 2dd96e044f46aed90ed1b6dbc682bc01f43e438c (patch) | |
tree | b0baea094d31ed729989c316750834f6a75c355e /engines/startrek/graphics.cpp | |
parent | 8cd5441959108b890d1433e70376c6cc1dd3bdb5 (diff) | |
download | scummvm-rg350-2dd96e044f46aed90ed1b6dbc682bc01f43e438c.tar.gz scummvm-rg350-2dd96e044f46aed90ed1b6dbc682bc01f43e438c.tar.bz2 scummvm-rg350-2dd96e044f46aed90ed1b6dbc682bc01f43e438c.zip |
STARTREK: Begin implementation of showText.
Also started using SharedPtrs.
Diffstat (limited to 'engines/startrek/graphics.cpp')
-rwxr-xr-x | engines/startrek/graphics.cpp | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/engines/startrek/graphics.cpp b/engines/startrek/graphics.cpp index 039f62ac4b..307efcb1b5 100755 --- a/engines/startrek/graphics.cpp +++ b/engines/startrek/graphics.cpp @@ -42,7 +42,7 @@ Graphics::Graphics(StarTrekEngine *vm) : _vm(vm), _egaMode(false) { if (_vm->getGameType() == GType_ST25 && _vm->getPlatform() == Common::kPlatformDOS) _font = new Font(_vm); - _backgroundImage = new Bitmap(_vm->openFile("DEMON0.BMP")); + _backgroundImage = new Bitmap(_vm->openFile("DEMON0.BMP").get()); _canvas = new Bitmap(SCREEN_WIDTH, SCREEN_HEIGHT); _numSprites = 0; @@ -67,15 +67,14 @@ void Graphics::loadEGAData(const char *filename) { if (!_egaData) _egaData = new byte[256]; - Common::SeekableReadStream *egaStream = _vm->openFile(filename); + SharedPtr<Common::SeekableReadStream> egaStream = _vm->openFile(filename); egaStream->read(_egaData, 256); - delete egaStream; } void Graphics::drawBackgroundImage(const char *filename) { // Draw an stjr BGD image (palette built-in) - Common::SeekableReadStream *imageStream = _vm->openFile(filename); + SharedPtr<Common::SeekableReadStream> imageStream = _vm->openFile(filename); byte *palette = new byte[256 * 3]; imageStream->read(palette, 256 * 3); @@ -96,7 +95,6 @@ void Graphics::drawBackgroundImage(const char *filename) { _vm->_system->updateScreen(); delete[] palette; - delete imageStream; } @@ -105,7 +103,7 @@ void Graphics::loadPalette(const Common::String &paletteName) { Common::String palFile = paletteName + ".PAL"; Common::String lutFile = paletteName + ".LUT"; - Common::SeekableReadStream *palStream = _vm->openFile(palFile.c_str()); + SharedPtr<Common::SeekableReadStream> palStream = _vm->openFile(palFile.c_str()); byte *palette = new byte[256 * 3]; palStream->read(palette, 256 * 3); @@ -117,26 +115,27 @@ void Graphics::loadPalette(const Common::String &paletteName) { _vm->_system->getPaletteManager()->setPalette(palette, 0, 256); delete[] palette; - delete palStream; // Load LUT file - Common::SeekableReadStream *lutStream = _vm->openFile(lutFile.c_str()); + SharedPtr<Common::SeekableReadStream> lutStream = _vm->openFile(lutFile.c_str()); delete[] _lutData; _lutData = new byte[256]; lutStream->read(_lutData, 256); - - delete lutStream; } void Graphics::loadPri(const char *priFile) { - Common::SeekableReadStream *priStream = _vm->openFile(priFile); + SharedPtr<Common::SeekableReadStream> priStream = _vm->openFile(priFile); delete[] _priData; _priData = new byte[SCREEN_WIDTH*SCREEN_HEIGHT/2]; priStream->read(_priData, SCREEN_WIDTH*SCREEN_HEIGHT/2); } +SharedPtr<Bitmap> Graphics::loadBitmap(Common::String basename) { + return SharedPtr<Bitmap>(new Bitmap(_vm->openFile(basename+".BMP").get())); +} + void Graphics::redrawScreen() { // TODO: get rid of _canvas for efficiency memcpy(_canvas->pixels, _backgroundImage->pixels, SCREEN_WIDTH*SCREEN_HEIGHT); |