aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMartin Kiewitz2010-02-07 12:00:06 +0000
committerMartin Kiewitz2010-02-07 12:00:06 +0000
commit749b0ea23735f01bc465d184bce51e611e98378f (patch)
treebe26563f4a78c61a08890aa6bf4685b8c6fea591 /engines
parentaa40d430914ac20d68eecdbe3ed29e2139b4eeea (diff)
downloadscummvm-rg350-749b0ea23735f01bc465d184bce51e611e98378f.tar.gz
scummvm-rg350-749b0ea23735f01bc465d184bce51e611e98378f.tar.bz2
scummvm-rg350-749b0ea23735f01bc465d184bce51e611e98378f.zip
SCI: added dummy assertpalette to GfxPalette, setting destination palette immediately on kPalVary(start) call
svn-id: r47953
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/kgraphics.cpp5
-rw-r--r--engines/sci/graphics/palette.cpp7
-rw-r--r--engines/sci/graphics/palette.h1
3 files changed, 10 insertions, 3 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp
index d3d16824e6..a007a9c145 100644
--- a/engines/sci/engine/kgraphics.cpp
+++ b/engines/sci/engine/kgraphics.cpp
@@ -688,10 +688,9 @@ reg_t kPalVary(EngineState *s, int argc, reg_t *argv) {
}
reg_t kAssertPalette(EngineState *s, int argc, reg_t *argv) {
- GuiResourceId viewId = argv[1].toUint16();
- // TODO: implement this
+ GuiResourceId paletteId = argv[1].toUint16();
- warning("kAssertPalette() called with viewId = %d", viewId);
+ s->_gfxPalette->kernelAssertPalette(paletteId);
return s->r_acc;
}
diff --git a/engines/sci/graphics/palette.cpp b/engines/sci/graphics/palette.cpp
index e716fd914a..f8b12d4eca 100644
--- a/engines/sci/graphics/palette.cpp
+++ b/engines/sci/graphics/palette.cpp
@@ -391,6 +391,10 @@ void GfxPalette::kernelAnimateSet() {
setOnScreen();
}
+void GfxPalette::kernelAssertPalette(GuiResourceId resourceId) {
+ warning("kAssertPalette %d", resourceId);
+}
+
// palVary
// init - only does, if palVaryOn == false
// target, start, new palette allocation
@@ -418,6 +422,9 @@ void GfxPalette::kernelAnimateSet() {
// need to save start and target-palette, when palVaryOn = true
void GfxPalette::startPalVary(uint16 paletteId, uint16 ticks) {
+ kernelSetFromResource(paletteId, true);
+ return;
+
if (_palVaryId >= 0) // another palvary is taking place, return
return;
diff --git a/engines/sci/graphics/palette.h b/engines/sci/graphics/palette.h
index efe27cb791..16b4d375d3 100644
--- a/engines/sci/graphics/palette.h
+++ b/engines/sci/graphics/palette.h
@@ -57,6 +57,7 @@ public:
int16 kernelFindColor(uint16 r, uint16 g, uint16 b);
bool kernelAnimate(byte fromColor, byte toColor, int speed);
void kernelAnimateSet();
+ void kernelAssertPalette(GuiResourceId resourceId);
void startPalVary(uint16 paletteId, uint16 ticks);
void togglePalVary(bool pause);