diff options
author | Martin Kiewitz | 2010-02-07 12:00:06 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-02-07 12:00:06 +0000 |
commit | 749b0ea23735f01bc465d184bce51e611e98378f (patch) | |
tree | be26563f4a78c61a08890aa6bf4685b8c6fea591 /engines | |
parent | aa40d430914ac20d68eecdbe3ed29e2139b4eeea (diff) | |
download | scummvm-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.cpp | 5 | ||||
-rw-r--r-- | engines/sci/graphics/palette.cpp | 7 | ||||
-rw-r--r-- | engines/sci/graphics/palette.h | 1 |
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); |