diff options
author | Filippos Karapetis | 2018-08-21 02:38:23 +0300 |
---|---|---|
committer | Filippos Karapetis | 2018-08-21 03:36:07 +0300 |
commit | 52ff27746fd85711d9d1dd4b2772feb8a153ffd5 (patch) | |
tree | 53cab07353fd9401c494899e6399bcc0072b70a1 /engines/sci/graphics | |
parent | 16aab5b2817e3d5f1be45124b12f32fd468d3c79 (diff) | |
download | scummvm-rg350-52ff27746fd85711d9d1dd4b2772feb8a153ffd5.tar.gz scummvm-rg350-52ff27746fd85711d9d1dd4b2772feb8a153ffd5.tar.bz2 scummvm-rg350-52ff27746fd85711d9d1dd4b2772feb8a153ffd5.zip |
SCI32: Fix fade-in for some screens in Hoyle 5
Diffstat (limited to 'engines/sci/graphics')
-rw-r--r-- | engines/sci/graphics/transitions32.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/engines/sci/graphics/transitions32.cpp b/engines/sci/graphics/transitions32.cpp index 43479a2505..cb48927c52 100644 --- a/engines/sci/graphics/transitions32.cpp +++ b/engines/sci/graphics/transitions32.cpp @@ -244,7 +244,19 @@ void GfxTransitions32::kernelSetShowStyle(const uint16 argc, const reg_t planeOb deleteShowStyle(findIteratorForPlane(planeObj)); } - return; + // Do not add kShowStyleNone types to the showStyles list. + // + // HACK: Hoyle 5 does a fade out in some screens, and then makes a + // kShowStyleNone call to enter the new screen, without a fade in, + // thus leaving the whole screen black. By removing ths return, + // the code for queuing the kShowStyleNone calls is enabled, and this + // wrong behavior is fixed, as the screen palette is restored in the + // processNone() call inside processShowStyle(). I wasn't able to find + // any other notable difference in the graphics code of the Hoyle 5 + // interpreter, and disabling this return has no other ill effects for + // this game, so this will suffice for now. + if (g_sci->getGameId() != GID_HOYLE5) + return; } if (createNewEntry) { |