aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2015-01-02 01:46:58 +0100
committerStrangerke2015-01-02 01:46:58 +0100
commit900dc7ffc004d36ff02d38f0cc615098571c7b41 (patch)
treec6f2e9d3b6b73e2b1a8bdaa32ed860f620d26d17
parent539497f009e5c1137017023212055bde6975ae6b (diff)
downloadscummvm-rg350-900dc7ffc004d36ff02d38f0cc615098571c7b41.tar.gz
scummvm-rg350-900dc7ffc004d36ff02d38f0cc615098571c7b41.tar.bz2
scummvm-rg350-900dc7ffc004d36ff02d38f0cc615098571c7b41.zip
ACCESS: MM - Implement setIconPalette for MM
-rw-r--r--engines/access/martian/martian_game.cpp2
-rw-r--r--engines/access/martian/martian_resources.cpp10
-rw-r--r--engines/access/martian/martian_resources.h3
-rw-r--r--engines/access/screen.cpp8
-rw-r--r--engines/access/screen.h2
5 files changed, 20 insertions, 5 deletions
diff --git a/engines/access/martian/martian_game.cpp b/engines/access/martian/martian_game.cpp
index 8eea5d1a1c..5fe035962c 100644
--- a/engines/access/martian/martian_game.cpp
+++ b/engines/access/martian/martian_game.cpp
@@ -247,7 +247,7 @@ void MartianEngine::doCredits() {
_buffer2.copyFrom(*_screen);
_buffer1.copyFrom(*_screen);
_events->showCursor();
- _creditsStream = new Common::MemoryReadStream(DEMO_DATA, 180);
+ _creditsStream = new Common::MemoryReadStream(CREDIT_DATA, 180);
if (!showCredits()) {
_screen->copyFrom(_buffer2);
diff --git a/engines/access/martian/martian_resources.cpp b/engines/access/martian/martian_resources.cpp
index 22a0cf1135..f46232977a 100644
--- a/engines/access/martian/martian_resources.cpp
+++ b/engines/access/martian/martian_resources.cpp
@@ -724,7 +724,7 @@ const int SIDEOFFL[] = { 11, 6, 1, 4, 10, 6, 1, 4, 0, 0, 0, 0 };
const int SIDEOFFU[] = { 1, 2, 0, 2, 2, 1, 1, 0, 0, 0, 0, 0 };
const int SIDEOFFD[] = { 2, 0, 1, 1, 0, 1, 1, 1, 2, 0, 0, 0 };
-const byte DEMO_DATA[] = {
+const byte CREDIT_DATA[] = {
0x1F, 0x00, 0x49, 0x00, 0x00, 0x00, 0xB7, 0x00, 0x49, 0x00,
0x01, 0x00, 0x79, 0x00, 0x6F, 0x00, 0x02, 0x00, 0xFF, 0xFF,
0xEA, 0x01, 0x75, 0x00, 0x46, 0x00, 0x03, 0x00, 0x46, 0x00,
@@ -745,6 +745,14 @@ const byte DEMO_DATA[] = {
0x0B, 0x00, 0xFF, 0xFF, 0xF4, 0x01, 0xFF, 0xFF, 0xFF, 0xFF
};
+const byte ICON_DATA[] = {
+ 0x3F, 0x3F, 0x00, 0x00, 0x07, 0x16,
+ 0x00, 0x0A, 0x1A, 0x00, 0x0D, 0x1F,
+ 0x00, 0x11, 0x28, 0x00, 0x15, 0x30,
+ 0x00, 0x19, 0x39, 0x00, 0x1B, 0x3F,
+ 0x00, 0x2D, 0x3A
+};
+
} // End of namespace Martian
} // End of namespace Access
diff --git a/engines/access/martian/martian_resources.h b/engines/access/martian/martian_resources.h
index 67f8cb44a3..4a3f227455 100644
--- a/engines/access/martian/martian_resources.h
+++ b/engines/access/martian/martian_resources.h
@@ -50,7 +50,8 @@ extern const int SIDEOFFL[];
extern const int SIDEOFFU[];
extern const int SIDEOFFD[];
-extern const byte DEMO_DATA[];
+extern const byte CREDIT_DATA[];
+extern const byte ICON_DATA[];
} // End of namespace Martian
} // End of namespace Access
diff --git a/engines/access/screen.cpp b/engines/access/screen.cpp
index ec2a825ba8..b7a2d3d1db 100644
--- a/engines/access/screen.cpp
+++ b/engines/access/screen.cpp
@@ -113,7 +113,13 @@ void Screen::setInitialPalettte() {
}
void Screen::setManPalette() {
- Common::copy(_vm->_player->_manPal1 + 0x2A0, _vm->_player->_manPal1 + 0x2A0 + 0x42, _rawPalette + 672);
+ Common::copy(_vm->_screen->_manPal, _vm->_screen->_manPal + 0x42, _rawPalette + 672);
+}
+
+void Screen::setIconPalette() {
+ if (_vm->getGameID() == GType_MartianMemorandum) {
+ Common::copy(Martian::ICON_DATA, Martian::ICON_DATA + 0x1B, _rawPalette + 741);
+ }
}
void Screen::loadPalette(int fileNum, int subfile) {
diff --git a/engines/access/screen.h b/engines/access/screen.h
index dcf339a1d3..a3b55855e7 100644
--- a/engines/access/screen.h
+++ b/engines/access/screen.h
@@ -137,7 +137,7 @@ public:
/**
* Set icon palette
*/
- void setIconPalette() {}
+ void setIconPalette();
/**
* Set Tex palette (Martian Memorandum)