diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/engine/kernel.h | 1 | ||||
-rw-r--r-- | engines/sci/engine/kernel_tables.h | 1 | ||||
-rw-r--r-- | engines/sci/engine/kgraphics32.cpp | 10 |
3 files changed, 11 insertions, 1 deletions
diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h index a2563b5a32..d9e42cb3ee 100644 --- a/engines/sci/engine/kernel.h +++ b/engines/sci/engine/kernel.h @@ -478,6 +478,7 @@ reg_t kPalVaryUnknown(EngineState *s, int argc, reg_t *argv); reg_t kPalVaryUnknown2(EngineState *s, int argc, reg_t *argv); // SCI2.1 Kernel Functions +reg_t kMorphOn(EngineState *s, int argc, reg_t *argv); reg_t kText(EngineState *s, int argc, reg_t *argv); reg_t kSave(EngineState *s, int argc, reg_t *argv); reg_t kAutoSave(EngineState *s, int argc, reg_t *argv); diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h index 53447ab907..b89797f348 100644 --- a/engines/sci/engine/kernel_tables.h +++ b/engines/sci/engine/kernel_tables.h @@ -697,7 +697,6 @@ static SciKernelMapEntry s_kernelMap[] = { // (inclusive) are set to 0 { MAP_CALL(SetPalStyleRange), SIG_EVERYWHERE, "ii", NULL, NULL }, - // MorphOn - used by SQ6, script 900, the datacorder reprogramming puzzle (from room 270) { MAP_CALL(MorphOn), SIG_EVERYWHERE, "", NULL, NULL }, // SCI3 Kernel Functions diff --git a/engines/sci/engine/kgraphics32.cpp b/engines/sci/engine/kgraphics32.cpp index a765fe842e..ddb6106c8c 100644 --- a/engines/sci/engine/kgraphics32.cpp +++ b/engines/sci/engine/kgraphics32.cpp @@ -728,6 +728,16 @@ reg_t kSetScroll(EngineState *s, int argc, reg_t *argv) { return kStub(s, argc, argv); } +// Used by SQ6, script 900, the datacorder reprogramming puzzle (from room 270) +reg_t kMorphOn(EngineState *s, int argc, reg_t *argv) { + // TODO: g_sci->_gfxManager->palMorphIsOn = true + // This function sets the palMorphIsOn flag which causes kFrameOut to use + // an alternative FrameOut function (GraphicsMgr::PalMorphFrameOut instead + // of GraphicsMgr::FrameOut). At the end of the frame, kFrameOut sets the + // palMorphIsOn flag back to false. + kStub(s, argc, argv); + return NULL_REG; + reg_t kPalVaryUnknown(EngineState *s, int argc, reg_t *argv) { // TODO: Unknown (seems to be SCI32 exclusive) return kStub(s, argc, argv); |