aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNipun Garg2019-06-01 16:22:52 +0530
committerEugene Sandulenko2019-09-03 17:16:42 +0200
commit57fc376b48f5e567ddbadd3e4a6621f9c15e8c72 (patch)
treeecb88a89b2843a1f097925d94d981e5ead928c6c
parent006bf635ae4327e4f12900bf7bcf6ad06b180b98 (diff)
downloadscummvm-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.cpp31
-rw-r--r--engines/hdb/hdb.h1
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