diff options
author | Johannes Schickel | 2009-10-04 17:37:46 +0000 |
---|---|---|
committer | Johannes Schickel | 2009-10-04 17:37:46 +0000 |
commit | fc4d7b7d1dc22170b8223ce723cce9a219d84c59 (patch) | |
tree | bfbc7e8bcc18639b7f26706200c674ab462bba4d /engines/kyra | |
parent | 975f1b75eaf0e1ce51a85d87285c140b06ab1b39 (diff) | |
download | scummvm-rg350-fc4d7b7d1dc22170b8223ce723cce9a219d84c59.tar.gz scummvm-rg350-fc4d7b7d1dc22170b8223ce723cce9a219d84c59.tar.bz2 scummvm-rg350-fc4d7b7d1dc22170b8223ce723cce9a219d84c59.zip |
LoL PC98: Fix thumbnail generation via ingame menu.
svn-id: r44622
Diffstat (limited to 'engines/kyra')
-rw-r--r-- | engines/kyra/gui_lol.cpp | 14 |
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; } |