diff options
| author | Nipun Garg | 2019-06-01 16:22:52 +0530 |
|---|---|---|
| committer | Eugene Sandulenko | 2019-09-03 17:16:42 +0200 |
| commit | 57fc376b48f5e567ddbadd3e4a6621f9c15e8c72 (patch) | |
| tree | ecb88a89b2843a1f097925d94d981e5ead928c6c | |
| parent | 006bf635ae4327e4f12900bf7bcf6ad06b180b98 (diff) | |
| download | scummvm-rg350-57fc376b48f5e567ddbadd3e4a6621f9c15e8c72.tar.gz scummvm-rg350-57fc376b48f5e567ddbadd3e4a6621f9c15e8c72.tar.bz2 scummvm-rg350-57fc376b48f5e567ddbadd3e4a6621f9c15e8c72.zip | |
HDB: Load the logo screen and display it to screen
| -rw-r--r-- | engines/hdb/hdb.cpp | 31 | ||||
| -rw-r--r-- | engines/hdb/hdb.h | 1 |
2 files changed, 16 insertions, 16 deletions
diff --git a/engines/hdb/hdb.cpp b/engines/hdb/hdb.cpp index d9eff7efd3..86694ab90b 100644 --- a/engines/hdb/hdb.cpp +++ b/engines/hdb/hdb.cpp @@ -110,16 +110,19 @@ Common::Error HDBGame::run() { initGraphics(640, 480, &format); _console = new Console(); -// MPCEntry *titleScreen = fileMan->findFirstData("monkeylogoscreen", DataType::TYPE_PIC); -// debug("Hi"); - //Common::MemoryReadStream *stream = new Common::MemoryReadStream((byte *)titleScreen, titleScreen->ulength); - //if (titleScreen == NULL) { - //debug("titleScreen: NULL"); - //} - //else { - //debug("Works."); - //} - + + MPCEntry **titleMPC = fileMan->findFirstData("monkeylogoscreen", DataType::TYPE_PIC); + if (titleMPC == NULL) { + debug("The TitleScreen MPC entry can't be found."); + return Common::kReadingFailed; + } + MPCEntry *titleScreen = *titleMPC; + fileMan->seek(titleScreen->offset, SEEK_SET); + Common::SeekableReadStream *stream = fileMan->readStream(titleScreen->ulength); + + Picture *titlePic = new Picture; + Graphics::Surface surf = titlePic->load(stream); + while (!shouldQuit()) { Common::Event event; @@ -135,12 +138,8 @@ Common::Error HDBGame::run() { break; } } - - Graphics::Surface screen; - screen.create(640, 480, g_system->getScreenFormat()); - screen.drawLine(100, 100, 200, 200, 0xffffffff); - - g_system->copyRectToScreen(screen.getBasePtr(0, 0), screen.pitch, 0, 0, 640, 480); + + g_system->copyRectToScreen(surf.getBasePtr(0, 0), surf.pitch, 0, 0, surf.w, surf.h); g_system->updateScreen(); g_system->delayMillis(10); diff --git a/engines/hdb/hdb.h b/engines/hdb/hdb.h index dc7a7af705..39ab695835 100644 --- a/engines/hdb/hdb.h +++ b/engines/hdb/hdb.h @@ -37,6 +37,7 @@ #include "game.h" #include "file-manager.h" +#include "draw-manager.h" #define MAX_SNDCACHE_MEM 0x400000 // 4Mb of sounds in memory #define MAX_TILES_CACHED 3500 // Max no of tiles in memory at once |
