aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Kiewitz2010-06-18 13:02:48 +0000
committerMartin Kiewitz2010-06-18 13:02:48 +0000
commit919c348c5a739ed4cd85f7c38cb7cf10f86f3737 (patch)
tree683d6ca5f3bc8ceb663d43e92041ae82f813abad
parent543610d4d4a7458ac99e0126e03e96ab581adf68 (diff)
downloadscummvm-rg350-919c348c5a739ed4cd85f7c38cb7cf10f86f3737.tar.gz
scummvm-rg350-919c348c5a739ed4cd85f7c38cb7cf10f86f3737.tar.bz2
scummvm-rg350-919c348c5a739ed4cd85f7c38cb7cf10f86f3737.zip
SCI: pseudo-implemented 0x72 and 0x73 for kDisplay used by longbow-demo, although sierra sci doesn't support them at all
svn-id: r50016
-rw-r--r--engines/sci/graphics/paint16.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/engines/sci/graphics/paint16.cpp b/engines/sci/graphics/paint16.cpp
index a52fd304e2..f9ee3c3ae3 100644
--- a/engines/sci/graphics/paint16.cpp
+++ b/engines/sci/graphics/paint16.cpp
@@ -448,6 +448,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_DONTSHOWBITS 121
reg_t GfxPaint16::kernelDisplay(const char *text, int argc, reg_t *argv) {
@@ -513,8 +515,22 @@ reg_t GfxPaint16::kernelDisplay(const char *text, int argc, reg_t *argv) {
case SCI_DISPLAY_DONTSHOWBITS:
bRedraw = 0;
break;
+
+ // 2 Dummy functions, longbow-demo is using those several times but sierra sci doesn't support them at all
+ case SCI_DISPLAY_DUMMY1:
+ case SCI_DISPLAY_DUMMY2:
+ if (!((g_sci->getGameId() == "longbow") && (g_sci->isDemo())))
+ error("Unknown kDisplay argument %X", displayArg);
+ if (displayArg == SCI_DISPLAY_DUMMY2) {
+ if (argc) {
+ argc--; argv++;
+ } else {
+ error("No parameter left for kDisplay(0x73)");
+ }
+ }
+ break;
default:
- warning("Unknown kDisplay argument %X", displayArg);
+ error("Unknown kDisplay argument %X", displayArg);
break;
}
}