aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/kyra/gui_lol.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/engines/kyra/gui_lol.cpp b/engines/kyra/gui_lol.cpp
index d324a91ea4..b339cc0f2a 100644
--- a/engines/kyra/gui_lol.cpp
+++ b/engines/kyra/gui_lol.cpp
@@ -2524,7 +2524,19 @@ int GUI_LoL::runMenu(Menu &menu) {
void GUI_LoL::createScreenThumbnail(Graphics::Surface &dst) {
uint8 *screenPal = new uint8[768];
_screen->getRealPalette(1, screenPal);
- ::createThumbnail(&dst, _screen->getCPagePtr(7), Screen::SCREEN_W, Screen::SCREEN_H, screenPal);
+
+ if (_vm->gameFlags().platform == Common::kPlatformPC98) {
+ uint8 *screen = new uint8[Screen::SCREEN_W * Screen::SCREEN_H];
+ assert(screen);
+
+ _screen->copyRegionToBuffer(7, 0, 0, 320, 200, screen);
+ Screen_LoL::convertPC98Gfx(screen, Screen::SCREEN_W, Screen::SCREEN_H, Screen::SCREEN_W);
+ ::createThumbnail(&dst, screen, Screen::SCREEN_W, Screen::SCREEN_H, screenPal);
+ delete[] screen;
+ } else {
+ ::createThumbnail(&dst, _screen->getCPagePtr(7), Screen::SCREEN_W, Screen::SCREEN_H, screenPal);
+ }
+
delete[] screenPal;
}