aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics
diff options
context:
space:
mode:
authorMatthew Hoops2010-08-04 17:50:09 +0000
committerMatthew Hoops2010-08-04 17:50:09 +0000
commit642b03fb44a19109d8f098174fdfa326d2ae5ee5 (patch)
tree961de07b14e1e7e67d6844b1a999102dccb2bc4d /engines/sci/graphics
parente5ffc7847cb70f792b4658aa032959949e849669 (diff)
downloadscummvm-rg350-642b03fb44a19109d8f098174fdfa326d2ae5ee5.tar.gz
scummvm-rg350-642b03fb44a19109d8f098174fdfa326d2ae5ee5.tar.bz2
scummvm-rg350-642b03fb44a19109d8f098174fdfa326d2ae5ee5.zip
SCI: Add kDisplay workarounds for the Hero's Quest demo
svn-id: r51742
Diffstat (limited to 'engines/sci/graphics')
-rw-r--r--engines/sci/graphics/paint16.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/engines/sci/graphics/paint16.cpp b/engines/sci/graphics/paint16.cpp
index 0685d96073..4551e9dafc 100644
--- a/engines/sci/graphics/paint16.cpp
+++ b/engines/sci/graphics/paint16.cpp
@@ -459,8 +459,8 @@ void GfxPaint16::kernelGraphRedrawBox(Common::Rect rect) {
#define SCI_DISPLAY_WIDTH 106
#define SCI_DISPLAY_SAVEUNDER 107
#define SCI_DISPLAY_RESTOREUNDER 108
-#define SCI_DISPLAY_DUMMY1 114 // used in longbow-demo, not supported in sierra sci - no parameters
-#define SCI_DISPLAY_DUMMY2 115 // used in longbow-demo, not supported in sierra sci - has 1 parameter
+#define SCI_DISPLAY_DUMMY1 114 // used in longbow demo/qfg1 ega demo, not supported in sierra sci - no parameters
+#define SCI_DISPLAY_DUMMY2 115 // used in longbow demo, not supported in sierra sci - has 1 parameter
#define SCI_DISPLAY_DONTSHOWBITS 121
reg_t GfxPaint16::kernelDisplay(const char *text, int argc, reg_t *argv) {
@@ -531,15 +531,16 @@ reg_t GfxPaint16::kernelDisplay(const char *text, int argc, reg_t *argv) {
break;
// 2 Dummy functions, longbow-demo is using those several times but sierra sci doesn't support them at all
+ // The Quest for Glory 1 EGA demo also calls kDisplay(114)
case SCI_DISPLAY_DUMMY1:
case SCI_DISPLAY_DUMMY2:
- if (!((g_sci->getGameId() == GID_LONGBOW) && (g_sci->isDemo())))
- error("Unknown kDisplay argument %X", displayArg.offset);
+ if (!g_sci->isDemo() || (g_sci->getGameId() != GID_LONGBOW && g_sci->getGameId() != GID_QFG1))
+ error("Unknown kDisplay argument %d", displayArg.offset);
if (displayArg.offset == SCI_DISPLAY_DUMMY2) {
if (argc) {
argc--; argv++;
} else {
- error("No parameter left for kDisplay(0x73)");
+ error("No parameter left for kDisplay(115)");
}
}
break;