aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Kiewitz2009-10-20 19:56:37 +0000
committerMartin Kiewitz2009-10-20 19:56:37 +0000
commit35071a25b4d3d8f1c5464a5b704586c813349747 (patch)
tree8afe1145e03ccfe91f9d65eeee14b138a80466fc
parent0b04cbbdf6a3e83db0e1a94663b4403a4d41f9c3 (diff)
downloadscummvm-rg350-35071a25b4d3d8f1c5464a5b704586c813349747.tar.gz
scummvm-rg350-35071a25b4d3d8f1c5464a5b704586c813349747.tar.bz2
scummvm-rg350-35071a25b4d3d8f1c5464a5b704586c813349747.zip
SCI: kPalVary basic
svn-id: r45287
-rw-r--r--engines/sci/engine/kgraphics.cpp27
1 files changed, 26 insertions, 1 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp
index dc4cb3079e..7b09bc4a47 100644
--- a/engines/sci/engine/kgraphics.cpp
+++ b/engines/sci/engine/kgraphics.cpp
@@ -632,7 +632,32 @@ reg_t kPalette(EngineState *s, int argc, reg_t *argv) {
// This here is needed to make Pharkas work
reg_t kPalVary(EngineState *s, int argc, reg_t *argv) {
- warning("kPalVary() called parameters = %d", argc);
+ uint16 operation = argv[0].toUint16();
+
+ switch (operation) {
+ case 0: { // Init
+ GuiResourceId paletteId;
+ uint16 time;
+ if (argc == 3) {
+ paletteId = argv[1].toUint16();
+ time = argv[2].toUint16();
+ // forward call to SciGui
+ } else {
+ warning("kPalVary(init) called with unsupported argc %d", argc);
+ }
+ break;
+ }
+ case 3: { // DeInit
+ if (argc == 1) {
+ // forward call to SciGui
+ } else {
+ warning("kPalVary(deinit) called with unsupported argc %d", argc);
+ }
+ break;
+ }
+ default:
+ warning("kPalVary(%d), not implemented (argc = %d)", operation, argc);
+ }
return NULL_REG;
}