From 2dd96e044f46aed90ed1b6dbc682bc01f43e438c Mon Sep 17 00:00:00 2001 From: Matthew Stewart Date: Sat, 24 Feb 2018 13:59:08 -0500 Subject: STARTREK: Begin implementation of showText. Also started using SharedPtrs. --- engines/startrek/graphics.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'engines/startrek/graphics.cpp') 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 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 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 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 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 priStream = _vm->openFile(priFile); delete[] _priData; _priData = new byte[SCREEN_WIDTH*SCREEN_HEIGHT/2]; priStream->read(_priData, SCREEN_WIDTH*SCREEN_HEIGHT/2); } +SharedPtr Graphics::loadBitmap(Common::String basename) { + return SharedPtr(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); -- cgit v1.2.3