aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
authorJohannes Schickel2009-10-04 17:37:46 +0000
committerJohannes Schickel2009-10-04 17:37:46 +0000
commitfc4d7b7d1dc22170b8223ce723cce9a219d84c59 (patch)
treebfbc7e8bcc18639b7f26706200c674ab462bba4d /engines/kyra
parent975f1b75eaf0e1ce51a85d87285c140b06ab1b39 (diff)
downloadscummvm-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.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;
}