From 900dc7ffc004d36ff02d38f0cc615098571c7b41 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 2 Jan 2015 01:46:58 +0100 Subject: ACCESS: MM - Implement setIconPalette for MM --- engines/access/martian/martian_game.cpp | 2 +- engines/access/martian/martian_resources.cpp | 10 +++++++++- engines/access/martian/martian_resources.h | 3 ++- engines/access/screen.cpp | 8 +++++++- engines/access/screen.h | 2 +- 5 files changed, 20 insertions(+), 5 deletions(-) (limited to 'engines') 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) -- cgit v1.2.3