aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/gui_lok.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2009-08-11 16:18:43 +0000
committerJohannes Schickel2009-08-11 16:18:43 +0000
commit786024ebb649f68013bfed123c20d29e5e4c4e21 (patch)
treecc1e47552557fba7f5ba05e89b55f8cef2610460 /engines/kyra/gui_lok.cpp
parent57576e14cdc0949eee1921bba6b8c291ad07bac4 (diff)
downloadscummvm-rg350-786024ebb649f68013bfed123c20d29e5e4c4e21.tar.gz
scummvm-rg350-786024ebb649f68013bfed123c20d29e5e4c4e21.tar.bz2
scummvm-rg350-786024ebb649f68013bfed123c20d29e5e4c4e21.zip
Fix thumbnails for savegames made via the in-game GUI of Kyrandia 1 Amiga.
svn-id: r43278
Diffstat (limited to 'engines/kyra/gui_lok.cpp')
-rw-r--r--engines/kyra/gui_lok.cpp24
1 files changed, 22 insertions, 2 deletions
diff --git a/engines/kyra/gui_lok.cpp b/engines/kyra/gui_lok.cpp
index e60592fcd2..e9c71f511d 100644
--- a/engines/kyra/gui_lok.cpp
+++ b/engines/kyra/gui_lok.cpp
@@ -208,9 +208,29 @@ void GUI_LoK::createScreenThumbnail(Graphics::Surface &dst) {
uint8 *screen = new uint8[Screen::SCREEN_W*Screen::SCREEN_H];
if (screen) {
_screen->queryPageFromDisk("SEENPAGE.TMP", 0, screen);
-
uint8 screenPal[768];
- _screen->getRealPalette(2, screenPal);
+
+ if (_vm->gameFlags().platform == Common::kPlatformAmiga) {
+ _screen->getRealPalette(0, &screenPal[ 0]);
+ _screen->getRealPalette(1, &screenPal[96]);
+
+ // Set the interface palette text color to white
+ screenPal[96 + 16 * 3 + 0] = 0xFF;
+ screenPal[96 + 16 * 3 + 1] = 0xFF;
+ screenPal[96 + 16 * 3 + 2] = 0xFF;
+
+ if (_screen->isInterfacePaletteEnabled()) {
+ for (int y = 0; y < 64; ++y) {
+ for (int x = 0; x < 320; ++x) {
+ screen[(y + 136) * Screen::SCREEN_W + x] += 32;
+ }
+ }
+ }
+
+ } else {
+ _screen->getRealPalette(2, screenPal);
+ }
+
::createThumbnail(&dst, screen, Screen::SCREEN_W, Screen::SCREEN_H, screenPal);
}
delete[] screen;