From f633b02d62f0e2dc4aad3b9220d13f71aeaecdee Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 28 Sep 2015 08:10:37 -0400 Subject: SHERLOCK: RT: Fix palette corruption using Journal in Diogenes club --- engines/sherlock/tattoo/tattoo_user_interface.cpp | 4 +++- engines/sherlock/tattoo/tattoo_user_interface.h | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'engines/sherlock/tattoo') diff --git a/engines/sherlock/tattoo/tattoo_user_interface.cpp b/engines/sherlock/tattoo/tattoo_user_interface.cpp index 139497a8a4..623fb8dbf5 100644 --- a/engines/sherlock/tattoo/tattoo_user_interface.cpp +++ b/engines/sherlock/tattoo/tattoo_user_interface.cpp @@ -215,9 +215,10 @@ void TattooUserInterface::doJournal() { TattooJournal &journal = *(TattooJournal *)_vm->_journal; TattooScene &scene = *(TattooScene *)_vm->_scene; Screen &screen = *_vm->_screen; - byte lookupTable[PALETTE_COUNT]; + byte lookupTable[PALETTE_COUNT], lookupTable1[PALETTE_COUNT]; Common::copy(&_lookupTable[0], &_lookupTable[PALETTE_COUNT], &lookupTable[0]); + Common::copy(&_lookupTable1[0], &_lookupTable1[PALETTE_COUNT], &lookupTable1[0]); _menuMode = JOURNAL_MODE; journal.show(); @@ -229,6 +230,7 @@ void TattooUserInterface::doJournal() { screen.clear(); screen.setPalette(screen._cMap); Common::copy(&lookupTable[0], &lookupTable[PALETTE_COUNT], &_lookupTable[0]); + Common::copy(&lookupTable1[0], &lookupTable1[PALETTE_COUNT], &_lookupTable1[0]); // Restore the scene screen._backBuffer1.blitFrom(screen._backBuffer2); diff --git a/engines/sherlock/tattoo/tattoo_user_interface.h b/engines/sherlock/tattoo/tattoo_user_interface.h index c92ff21dd1..d89da4a6da 100644 --- a/engines/sherlock/tattoo/tattoo_user_interface.h +++ b/engines/sherlock/tattoo/tattoo_user_interface.h @@ -185,6 +185,9 @@ public: */ void doBgAnimEraseBackground(); + /** + * Draws overlays onto the scene. Basically, the smoke effects some scenes have + */ void drawMaskArea(bool mode); /** -- cgit v1.2.3