diff options
| author | Filippos Karapetis | 2009-05-29 09:42:11 +0000 |
|---|---|---|
| committer | Filippos Karapetis | 2009-05-29 09:42:11 +0000 |
| commit | b242d05563069f70a39c863bd1f2b3ac962602cc (patch) | |
| tree | 95e9f23d325dbec4338b57b51284333953d8b3da /engines/sci/engine | |
| parent | c95e5fceeeefb1e52c6456224626680930ecbd84 (diff) | |
| download | scummvm-rg350-b242d05563069f70a39c863bd1f2b3ac962602cc.tar.gz scummvm-rg350-b242d05563069f70a39c863bd1f2b3ac962602cc.tar.bz2 scummvm-rg350-b242d05563069f70a39c863bd1f2b3ac962602cc.zip | |
- Fixed usage of kSetCursor in SCI1.1 games (e.g. when starting KQ6 floppy)
- Removed a static variable (vocab_version)
- vocab.996 is now freed after creating the class table in SCI1 games, like in SCI0 games
svn-id: r40979
Diffstat (limited to 'engines/sci/engine')
| -rw-r--r-- | engines/sci/engine/game.cpp | 2 | ||||
| -rw-r--r-- | engines/sci/engine/kgraphics.cpp | 11 |
2 files changed, 11 insertions, 2 deletions
diff --git a/engines/sci/engine/game.cpp b/engines/sci/engine/game.cpp index b8af8bdc34..b8cf1d8d32 100644 --- a/engines/sci/engine/game.cpp +++ b/engines/sci/engine/game.cpp @@ -265,6 +265,8 @@ int create_class_table_sci11(EngineState *s) { } } + s->resmgr->unlockResource(vocab996, 996, kResourceTypeVocab); + vocab996 = NULL; return 0; } diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp index a587f4eb87..b33b89577c 100644 --- a/engines/sci/engine/kgraphics.cpp +++ b/engines/sci/engine/kgraphics.cpp @@ -302,8 +302,15 @@ static gfx_color_t graph_map_color(EngineState *s, int color, int priority, int reg_t kSetCursor(EngineState *s, int funct_nr, int argc, reg_t *argv) { switch (argc) { - case 1 : // set cursor according to the first parameter - GFX_ASSERT(gfxop_set_pointer_cursor(s->gfx_state, SKPV(0))); + case 1 : + if (s->version < SCI_VERSION_1_1) { + // Pre-SCI1.1: set cursor according to the first parameter + GFX_ASSERT(gfxop_set_pointer_cursor(s->gfx_state, SKPV(0))); + } else { + // SCI1.1: Hide cursor + if (SKPV(0) == 0) + GFX_ASSERT(gfxop_set_pointer_cursor(s->gfx_state, GFXOP_NO_POINTER)); + } break; case 2 : if (s->version < SCI_VERSION_1_1) { |
